{"version":3,"sources":["webpack://@lemon8/webapp-seo/../lib/context.ts","webpack://@lemon8/webapp-seo/../lib/hooks.tsx","webpack://@lemon8/webapp-seo/../lib/components.tsx","webpack://@lemon8/webapp-seo/../index.ts","webpack://@lemon8/webapp-seo/./node_modules/.pnpm/jotai@2.3.1_@types+react@18.2.60_react@18.2.0/node_modules/jotai/index.js","webpack://@lemon8/webapp-seo/./node_modules/.pnpm/jotai@2.3.1_@types+react@18.2.60_react@18.2.0/node_modules/jotai/react.js","webpack://@lemon8/webapp-seo/./node_modules/.pnpm/jotai@2.3.1_@types+react@18.2.60_react@18.2.0/node_modules/jotai/react/utils.js","webpack://@lemon8/webapp-seo/./node_modules/.pnpm/jotai@2.3.1_@types+react@18.2.60_react@18.2.0/node_modules/jotai/utils.js","webpack://@lemon8/webapp-seo/./node_modules/.pnpm/jotai@2.3.1_@types+react@18.2.60_react@18.2.0/node_modules/jotai/vanilla.js","webpack://@lemon8/webapp-seo/./node_modules/.pnpm/jotai@2.3.1_@types+react@18.2.60_react@18.2.0/node_modules/jotai/vanilla/utils.js","webpack://@lemon8/webapp-seo/./node_modules/.pnpm/react-i18next@11.18.6_i18next@21.10.0_react-dom@18.2.0_react@18.2.0/node_modules/react-i18next/dist/es/unescape.js","webpack://@lemon8/webapp-seo/./node_modules/.pnpm/react-i18next@11.18.6_i18next@21.10.0_react-dom@18.2.0_react@18.2.0/node_modules/react-i18next/dist/es/context.js"],"names":["DataRouterContext","React","DataRouterStateContext","AwaitContext","NavigationContext","LocationContext","RouteContext","outlet","matches","isDataRoute","RouteErrorContext","useHref","to","_temp","relative","useInRouterContext","invariant","basename","navigator","hash","pathname","search","useResolvedPath","joinedPathname","joinPaths","createHref","useLocation","location","useNavigationType","useContext","navigationType","useMatch","pattern","useMemo","matchPath","navigateEffectWarning","useIsomorphicLayoutEffect","cb","static","useNavigate","useNavigateStable","useNavigateUnstable","dataRouterContext","locationPathname","routePathnamesJson","JSON","stringify","getPathContributingMatches","map","match","pathnameBase","activeRef","current","options","go","path","resolveTo","parse","replace","push","state","OutletContext","useOutletContext","useOutlet","context","Provider","value","useParams","routeMatch","length","params","_temp2","useRoutes","routes","locationArg","useRoutesImpl","dataRouterState","parentMatches","parentParams","parentPathname","parentPathnameBase","parentRoute","route","locationFromContext","_parsedLocationArg$pa","parsedLocationArg","parsePath","startsWith","remainingPathname","slice","matchRoutes","renderedMatches","_renderMatches","Object","assign","encodeLocation","_extends","key","NavigationType","DefaultErrorComponent","error","useRouteError","message","isRouteErrorResponse","status","statusText","Error","stack","lightgrey","preStyles","padding","backgroundColor","codeStyles","devInfo","style","fontStyle","defaultErrorElement","RenderErrorBoundary","constructor","props","revalidation","getDerivedStateFromError","getDerivedStateFromProps","componentDidCatch","errorInfo","console","render","routeContext","children","component","RenderedRoute","_ref","staticContext","errorElement","ErrorBoundary","_deepestRenderedBoundaryId","id","_dataRouterState2","_dataRouterState","errors","errorIndex","findIndex","m","Math","min","reduceRight","index","concat","getChildren","Component","element","DataRouterHook","DataRouterStateHook","getDataRouterConsoleError","hookName","useDataRouterContext","ctx","useDataRouterState","useRouteContext","useCurrentRouteId","thisRoute","useRouteId","UseRouteId","useNavigation","UseNavigation","navigation","useRevalidator","UseRevalidator","revalidate","router","useMatches","loaderData","UseMatches","data","handle","useLoaderData","UseLoaderData","routeId","useRouteLoaderData","UseRouteLoaderData","useActionData","UseActionData","values","actionData","_state$errors","UseRouteError","useAsyncValue","_data","useAsyncError","_error","blockerId","useBlocker","shouldBlock","UseBlocker","blockerKey","setBlockerKey","useState","blockerFunction","useCallback","arg","currentLocation","nextLocation","historyAction","stripBasename","useEffect","String","deleteBlocker","getBlocker","blockers","has","get","IDLE_BLOCKER","UseNavigateStable","navigate","fromRouteId","alreadyWarned","warningOnce","cond","START_TRANSITION","startTransitionImpl","RouterProvider","fallbackElement","future","setStateImpl","v7_startTransition","setState","newState","subscribe","n","opts","preventScrollReset","Router","initialized","DataRoutes","_ref2","undefined","MemoryRouter","_ref3","initialEntries","initialIndex","historyRef","useRef","createMemoryHistory","v5Compat","history","action","useLayoutEffect","listen","createElement","Navigate","_ref4","jsonPath","Outlet","Route","_props","_ref5","basenameProp","locationProp","staticProp","navigationContext","locationContext","trailingPathname","Routes","_ref6","createRoutesFromChildren","Await","_ref7","resolve","AwaitErrorBoundary","ResolveAwait","AwaitRenderStatus","neverSettledPromise","Promise","promise","pending","success","defineProperty","renderError","reject","catch","_tracked","then","AbortedDeferredError","_ref8","toRender","parentPath","Children","forEach","isValidElement","treePath","type","Fragment","apply","join","caseSensitive","loader","hasErrorBoundary","shouldRevalidate","lazy","renderMatches","mapRouteProperties","updates","createMemoryRouter","createRouter","v7_prependBasename","hydrationData","initialize","vanilla","react","k","exports","ReactExports","StoreContext","useStore","store","storeRef","isPromiseLike","x","use","v","e","useAtomValue","atom","_useReducer","prev","nextValue","_useReducer$","valueFromReducer","storeFromReducer","atomFromReducer","rerender","delay","unsub","useSetAtom","setAtom","_len","args","_key","useAtom","react$1","utils","useResetAtom","anAtom","resetAtom","useReducerAtom","reducer","_useAtom","dispatch","useAtomCallback","callback","set","_unsupportedIterableToArray","o","minLen","_arrayLikeToArray","arr","len","i","arr2","_createForOfIteratorHelperLoose","allowArrayLike","it","hydratedMap","useHydrateAtoms","hydratedSet","getHydratedSet","_iterator","_step","_step$value","utils$1","keyCount","read","write","config","hasInitialValue","isActuallyWritableAtom","cancelPromiseMap","registerCancelPromise","cancel","cancelPromise","next","resolvePromise","rejectPromise","isEqualAtomValue","a","b","isEqualAtomError","hasPromiseAtomValue","isEqualPromiseAtomValue","returnAtomValue","atomState","createStore","atomStateMap","mountedMap","pendingMap","storeListenersRev2","mountedAtoms","getAtomState","setAtomState","prevAtomState","_next","updateDependencies","nextAtomState","nextDependencies","dependencies","changed","aState","setAtomValue","setAtomValueOrPromise","valueOrPromise","abortPromise","continuePromise","settled","mountDependencies","setAtomError","readAtomState","force","s","isSync","getter","_aState","controller","setSelf","writeAtom","_controller","readAtom","addAtom","mounted","mountAtom","canUnmountAtom","delAtom","unmountAtom","recomputeDependents","dependencyMap","dirtyMap","loop1","dependent","loop2","dirtyCount","_dependencyMap$get","isChanged","writeAtomState","setter","r","_len3","_key3","flushed","flushPending","_len2","_key2","result","_len4","_key4","initialDependent","_getAtomState","_","aMounted","onUnmount","_len5","_key5","_mountedMap$get","prevDependencies","depSet","listener","subscribeAtom","listeners","defaultStore","getDefaultStore","RESET","atomWithReset","initialValue","update","atomWithReducer","atomFamily","initializeAtom","areEqual","shouldRemove","atoms","createAtom","param","item","newAtom","_iterator2","_step2","_step2$value","fn","_iterator3","_step3","_step3$value","getCached$2","c","cache1$4","memo3","create","dep1","dep2","dep3","cache2","cache3","selectAtom","selector","equalityFn","EMPTY","selectValue","prevSlice","derivedAtom","cache1$3","memo1$1","deepFreeze","obj","propNames","name","freezeAtom","frozenAtom","_get","freezeAtomCreator","origRead","getCached$1","cache1$2","memo2$1","cacheKeyForEmptyKeyExtractor","isWritable","isFunction","splitAtom","arrAtom","keyExtractor","mappingCache","getMapping","mapping","prevMapping","atomList","keyList","cachedAtom","mappingAtom","currArr","prevItem","nextItem","splittedAtom","_index","_arr","index1","index2","_arr2","atomWithDefault","getDefault","overwrittenAtom","overwritten","prevValue","createJSONStorage","getStringStorage","lastStr","lastValue","storage","_getStringStorage$get","_getStringStorage","str","_unused","newValue","_getStringStorage2","_getStringStorage3","storageEventCallback","_newValue","_unused2","defaultStorage","atomWithStorage","unstable_options","getOnInit","baseAtom","resolvedValue","atomWithObservable","getObservable","returnResultData","observableResultAtom","_observable$Symbol$ob","_observable","observable","itself","makePending","initialResult","setResult","lastResult","subscription","timer","isNotMounted","start","d","resultAtom","observableAtom","_get2","cache1$1","memo1","LOADING","loadable","loadableCache","refreshAtom","cached","getCached","cache1","memo2","defaultFallback","unwrap","fallback","promiseErrorCache","promiseResultCache","promiseAndValueAtom","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","text","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread","target","source","defaultOptions","i18nInstance","I18nContext","setDefaults","getDefaults","ReportNamespaces","namespaces","_this","ns","setI18n","instance","getI18n","initReactI18next","composeInitialProps","ForComponent","i18nInitialProps","getInitialProps","componentsInitialProps","i18n","ret","initialI18nStore","l"],"mappings":";;;;;;;;;uOAyEO,MAAMA,EACXC,gBAAoD,IAAI,EAK7CC,EAAyBD,gBAEpC,IAAI,EAKOE,EAAeF,gBAA2C,IAAI,EAoC9DG,EAAoBH,gBAC/B,IACF,EAWaI,EAAkBJ,gBAC7B,IACF,EAYaK,EAAeL,gBAAwC,CAClEM,OAAQ,KACRC,QAAS,CAAC,EACVC,YAAa,EACf,CAAC,EAMYC,EAAoBT,gBAAyB,IAAI,EC1GvD,SAASU,GACdC,EAAMC,EAEE,IADR,CAAEC,UAA6C,EAACD,IAAA,OAAG,CAAC,EAACA,EAGnDE,EAAmB,I,EADrBC,MAAU,EAAD,EAOT,GAAI,CAAEC,WAAUC,WAAU,EAAIjB,aAAiBG,CAAiB,EAC5D,CAAEe,OAAMC,WAAUC,QAAO,EAAIC,GAAgBV,EAAI,CAAEE,UAAS,CAAC,EAE7DS,EAAiBH,EAMrB,OAAIH,IAAa,MACfM,EACEH,IAAa,IAAMH,G,EAAWO,MAAU,CAACP,EAAUG,CAAQ,CAAC,GAGzDF,EAAUO,WAAW,CAAEL,SAAUG,EAAgBF,SAAQF,MAAK,CAAC,CACxE,CAOO,SAASJ,GAA8B,CAC5C,OAAOd,aAAiBI,CAAe,GAAK,IAC9C,CAYO,SAASqB,IAAwB,CACtC,OACEX,EAAmB,I,EADrBC,MAAU,EAAD,EAOFf,aAAiBI,CAAe,EAAEsB,QAC3C,CAQO,SAASC,IAAoC,CAClD,OAAO3B,MAAM4B,WAAWxB,CAAe,EAAEyB,cAC3C,CASO,SAASC,GAGdC,EAA+D,CAE7DjB,EAAmB,GADrBC,iBAAU,EAAD,EAOT,GAAI,CAAEI,U,EAAaM,GAAY,EAC/B,OAAOzB,MAAMgC,QACX,IAAMC,UAA0BF,EAASZ,CAAQ,EACjD,CAACA,EAAUY,CAAO,CACpB,CACF,CAUA,MAAMG,GACJ,KAIF,SAASC,GACPC,EACA,CACepC,aAAiBG,CAAiB,EAAEkC,QAKjDrC,kBAAsBoC,CAAE,CAE5B,CAQO,SAASE,IAAgC,CAC9C,GAAI,CAAE9B,aAAY,EAAIR,aAAiBK,CAAY,EAGnD,OAAOG,EAAc+B,GAAkB,EAAIC,GAAoB,CACjE,CAEA,SAASA,IAAwC,CAE7C1B,EAAmB,I,EADrBC,MAAU,EAAD,EAOT,IAAI0B,EAAoBzC,aAAiBD,CAAiB,EACtD,CAAEiB,WAAUC,WAAU,EAAIjB,aAAiBG,CAAiB,EAC5D,CAAEI,SAAQ,EAAIP,aAAiBK,CAAY,EAC3C,CAAEc,SAAUuB,C,EAAqBjB,GAAY,EAE7CkB,EAAqBC,KAAKC,W,EAC5BC,MAA2BvC,CAAO,EAAEwC,IAAKC,GAAUA,EAAMC,YAAY,CACvE,EAEIC,EAAYlD,SAAa,EAAK,EAClCmC,UAA0B,IAAM,CAC9Be,EAAUC,QAAU,EACtB,CAAC,EAEgCnD,cAC/B,SAACW,EAAiByC,EAAkC,CAKlD,GALgBA,IAAwB,SAAxBA,EAA2B,CAAC,GAKxC,CAACF,EAAUC,QAAS,OAExB,GAAI,OAAOxC,GAAO,SAAU,CAC1BM,EAAUoC,GAAG1C,CAAE,EACf,MACF,CAEA,IAAI2C,G,EAAOC,MACT5C,EACAiC,KAAKY,MAAMb,CAAkB,EAC7BD,EACAU,EAAQvC,WAAa,MACvB,EAQI4B,GAAqB,MAAQzB,IAAa,MAC5CsC,EAAKnC,SACHmC,EAAKnC,WAAa,IACdH,G,EACAO,MAAU,CAACP,EAAUsC,EAAKnC,QAAQ,CAAC,IAGxCiC,EAAQK,QAAUxC,EAAUwC,QAAUxC,EAAUyC,MACjDJ,EACAF,EAAQO,MACRP,CACF,CACF,EACA,CACEpC,EACAC,EACA0B,EACAD,EACAD,CAAiB,CAErB,CAGF,CAEA,MAAMmB,GAAgB5D,gBAA6B,IAAI,EAOhD,SAAS6D,IAA+C,CAC7D,OAAO7D,aAAiB4D,EAAa,CACvC,CAQO,SAASE,GAAUC,EAA8C,CACtE,IAAIzD,EAASN,aAAiBK,CAAY,EAAEC,OAC5C,OAAIA,GAEAN,gBAAC4D,GAAcI,SAAQ,CAACC,MAAOF,CAAQ,EAAEzD,CAA+B,CAI9E,CAQO,SAAS4D,IAId,CACA,GAAI,CAAE3D,SAAQ,EAAIP,aAAiBK,CAAY,EAC3C8D,EAAa5D,EAAQA,EAAQ6D,OAAS,GAC1C,OAAOD,EAAcA,EAAWE,OAAiB,CAAC,CACpD,CAOO,SAAShD,GACdV,EAAM2D,EAEA,IADN,CAAEzD,UAA6C,EAACyD,IAAA,OAAG,CAAC,EAACA,EAEjD,CAAE/D,SAAQ,EAAIP,aAAiBK,CAAY,EAC3C,CAAEc,SAAUuB,C,EAAqBjB,GAAY,EAE7CkB,EAAqBC,KAAKC,W,EAC5BC,MAA2BvC,CAAO,EAAEwC,IAAKC,GAAUA,EAAMC,YAAY,CACvE,EAEA,OAAOjD,UACL,K,EACEuD,MACE5C,EACAiC,KAAKY,MAAMb,CAAkB,EAC7BD,EACA7B,IAAa,MACf,EACF,CAACF,EAAIgC,EAAoBD,EAAkB7B,CAAQ,CACrD,CACF,CAUO,SAAS0D,EACdC,EACAC,EAC2B,CAC3B,OAAOC,EAAcF,EAAQC,CAAW,CAC1C,CAGO,SAASC,EACdF,EACAC,EACAE,EAC2B,CAEzB7D,EAAmB,I,EADrBC,MAAU,EAAD,EAOT,GAAI,CAAEE,WAAU,EAAIjB,aAAiBG,CAAiB,EAClD,CAAEI,QAASqE,CAAc,EAAI5E,aAAiBK,CAAY,EAC1D8D,EAAaS,EAAcA,EAAcR,OAAS,GAClDS,EAAeV,EAAaA,EAAWE,OAAS,CAAC,EACjDS,EAAiBX,EAAaA,EAAWhD,SAAW,IACpD4D,EAAqBZ,EAAaA,EAAWlB,aAAe,IAC5D+B,EAAcb,GAAcA,EAAWc,MAqCvCC,EAAsBzD,GAAY,EAElCC,EACJ,GAAI+C,EAAa,KAAAU,GACf,IAAIC,GACF,OAAOX,GAAgB,U,EAAWY,MAAUZ,CAAW,EAAIA,EAG3DM,IAAuB,OAAGI,GACxBC,GAAkBjE,WAAQ,YAA1BgE,GAA4BG,WAAWP,CAAkB,K,EAF7DhE,MAAU,EAAD,EASTW,EAAW0D,EACb,MACE1D,EAAWwD,EAGb,IAAI/D,GAAWO,EAASP,UAAY,IAChCoE,GACFR,IAAuB,IACnB5D,GACAA,GAASqE,MAAMT,EAAmBX,MAAM,GAAK,IAE/C7D,I,EAAUkF,MAAYjB,EAAQ,CAAErD,SAAUoE,EAAkB,CAAC,EAkB7DG,GAAkBC,EACpBpF,IACEA,GAAQwC,IAAKC,IACX4C,OAAOC,OAAO,CAAC,EAAG7C,GAAO,CACvBqB,OAAQuB,OAAOC,OAAO,CAAC,EAAGhB,EAAc7B,GAAMqB,MAAM,EACpDlD,U,EAAUI,MAAU,CAClBwD,EAEA9D,EAAU6E,eACN7E,EAAU6E,eAAe9C,GAAM7B,QAAQ,EAAEA,SACzC6B,GAAM7B,QAAQ,CACnB,EACD8B,aACED,GAAMC,eAAiB,IACnB8B,G,EACAxD,MAAU,CACRwD,EAEA9D,EAAU6E,eACN7E,EAAU6E,eAAe9C,GAAMC,YAAY,EAAE9B,SAC7C6B,GAAMC,YAAY,CACvB,CACT,CAAC,CACH,EACF2B,EACAD,CACF,EAKA,OAAIF,GAAeiB,GAEf1F,gBAACI,EAAgB4D,SAAQ,CACvBC,MAAO,CACLvC,SAAQqE,EAAA,CACN5E,SAAU,IACVC,OAAQ,GACRF,KAAM,GACNyC,MAAO,KACPqC,IAAK,SAAS,EACXtE,CAAQ,EAEbG,eAAgBoE,QAClB,CAAE,EAEDP,EACuB,EAIvBA,EACT,CAEA,SAASQ,GAAwB,CAC/B,IAAIC,EAAQC,GAAc,EACtBC,G,EAAUC,MAAqBH,CAAK,EACjCA,EAAMI,OAAUJ,MAAMK,WACzBL,aAAiBM,MACjBN,EAAME,QACNzD,KAAKC,UAAUsD,CAAK,EACpBO,EAAQP,aAAiBM,MAAQN,EAAMO,MAAQ,KAC/CC,EAAY,yBACZC,EAAY,CAAEC,QAAS,SAAUC,gBAAiBH,C,EAClDI,EAAa,CAAEF,QAAS,UAAWC,gBAAiBH,C,EAEpDK,EAAU,KAmBd,OACEhH,2BAAA,KACEA,gBAAI,yCAAiC,EACrCA,gBAAA,MAAIiH,MAAO,CAAEC,UAAW,QAAS,CAAE,EAAEb,CAAY,EAChDK,EAAQ1G,gBAAA,OAAKiH,MAAOL,CAAU,EAAEF,CAAW,EAAI,KAC/CM,CACD,CAEN,CAEA,MAAMG,EAAsBnH,gBAACkG,EAAqB,IAAE,EAgB7C,MAAMkB,UAA4BpH,WAGvC,CACAqH,YAAYC,EAAiC,CAC3C,MAAMA,CAAK,EACX,KAAK3D,MAAQ,CACXjC,SAAU4F,EAAM5F,SAChB6F,aAAcD,EAAMC,aACpBpB,MAAOmB,EAAMnB,K,CAEjB,CAEA,OAAOqB,yBAAyBrB,EAAY,CAC1C,MAAO,CAAEA,MAAOA,C,CAClB,CAEA,OAAOsB,yBACLH,EACA3D,EACA,CASA,OACEA,EAAMjC,WAAa4F,EAAM5F,UACxBiC,EAAM4D,eAAiB,QAAUD,EAAMC,eAAiB,OAElD,CACLpB,MAAOmB,EAAMnB,MACbzE,SAAU4F,EAAM5F,SAChB6F,aAAcD,EAAMC,Y,EAQjB,CACLpB,MAAOmB,EAAMnB,OAASxC,EAAMwC,MAC5BzE,SAAUiC,EAAMjC,SAChB6F,aAAcD,EAAMC,cAAgB5D,EAAM4D,Y,CAE9C,CAEAG,kBAAkBvB,EAAYwB,EAAgB,CAC5CC,QAAQzB,MACN,wDACAA,EACAwB,CACF,CACF,CAEAE,QAAS,CACP,OAAO,KAAKlE,MAAMwC,MAChBnG,gBAACK,EAAa2D,SAAQ,CAACC,MAAO,KAAKqD,MAAMQ,YAAa,EACpD9H,gBAACS,EAAkBuD,SAAQ,CACzBC,MAAO,KAAKN,MAAMwC,MAClB4B,SAAU,KAAKT,MAAMU,SAAU,CAChC,CACoB,EAEvB,KAAKV,MAAMS,QAEf,CACF,CAQA,SAASE,EAAaC,EAAwD,IAAvD,CAAEJ,eAAc9E,QAAO+E,UAA6B,EAACG,EACtEzF,EAAoBzC,aAAiBD,CAAiB,EAI1D,OACE0C,GACAA,EAAkBJ,QAClBI,EAAkB0F,gBACjBnF,EAAMiC,MAAMmD,cAAgBpF,EAAMiC,MAAMoD,iBAEzC5F,EAAkB0F,cAAcG,2BAA6BtF,EAAMiC,MAAMsD,IAIzEvI,gBAACK,EAAa2D,SAAQ,CAACC,MAAO6D,CAAa,EACxCC,CACoB,CAE3B,CAEO,SAASpC,EACdpF,EACAqE,EACAD,EAC2B,KAAA6D,EAC3B,GAHA5D,IAA2B,SAA3BA,EAA8B,CAAC,GAC/BD,IAA4C,SAA5CA,EAA+C,MAE3CpE,GAAW,KAAM,KAAAkI,EACnB,IAAAA,EAAI9D,IAAe,MAAf8D,EAAiBC,OAGnBnI,EAAUoE,EAAgBpE,YAE1B,QAAO,IAEX,CAEA,IAAImF,EAAkBnF,EAGlBmI,GAAMF,EAAG7D,IAAA6D,cAAiBE,OAC9B,GAAIA,GAAU,KAAM,CAClB,IAAIC,EAAajD,EAAgBkD,UAC9BC,GAAMA,EAAE5D,MAAMsD,KAAMG,iBAASG,EAAE5D,MAAMsD,IACxC,EAEEI,GAAc,I,EADhB5H,MAAU,EAAD,EAMT2E,EAAkBA,EAAgBF,MAChC,EACAsD,KAAKC,IAAIrD,EAAgBtB,OAAQuE,EAAa,CAAC,CACjD,CACF,CAEA,OAAOjD,EAAgBsD,YAAY,CAAC1I,EAAQ0C,EAAOiG,IAAU,CAC3D,IAAI9C,EAAQnD,EAAMiC,MAAMsD,GAAKG,GAAM,YAANA,EAAS1F,EAAMiC,MAAMsD,IAAM,KAEpDH,EAAuC,KACvCzD,IACFyD,EAAepF,EAAMiC,MAAMmD,cAAgBjB,GAE7C,IAAI5G,GAAUqE,EAAcsE,OAAOxD,EAAgBF,MAAM,EAAGyD,EAAQ,CAAC,CAAC,EAClEE,GAAcA,IAAM,CACtB,IAAIpB,GACJ,OAAI5B,EACF4B,GAAWK,EACFpF,EAAMiC,MAAMmE,UAOrBrB,GAAW/H,gBAACgD,EAAMiC,MAAMmE,UAAS,IAAE,EAC1BpG,EAAMiC,MAAMoE,QACrBtB,GAAW/E,EAAMiC,MAAMoE,QAEvBtB,GAAWzH,EAGXN,gBAACiI,EAAa,CACZjF,MAAOA,EACP8E,aAAc,CACZxH,SACAC,WACAC,YAAamE,GAAmB,I,EAElCoD,SAAUA,EAAS,CACpB,C,EAML,OAAOpD,IACJ3B,EAAMiC,MAAMoD,eAAiBrF,EAAMiC,MAAMmD,cAAgBa,IAAU,GACpEjJ,gBAACoH,EAAmB,CAClB1F,SAAUiD,EAAgBjD,SAC1B6F,aAAc5C,EAAgB4C,aAC9BS,UAAWI,EACXjC,MAAOA,EACP4B,SAAUoB,GAAY,EACtBrB,aAAc,CAAExH,OAAQ,KAAMC,WAASC,YAAa,EAAK,CAAE,CAC5D,EAED2I,GAAY,C,EAEb,IAAiC,CACtC,CAAC,IAEIG,GAAc,SAAdA,EAAc,CAAdA,EAAc,wBAAdA,EAAc,gCAAdA,EAAc,kCAAdA,MAAc,SAMdC,GAAmB,SAAnBA,EAAmB,CAAnBA,EAAmB,wBAAnBA,EAAmB,8BAAnBA,EAAmB,8BAAnBA,EAAmB,8BAAnBA,EAAmB,8BAAnBA,EAAmB,wCAAnBA,EAAmB,wBAAnBA,EAAmB,gCAAnBA,EAAmB,gCAAnBA,EAAmB,0BAAnBA,MAAmB,KAaxB,SAASC,EACPC,EACA,CACA,OAAUA,EAAQ,4FACpB,CAEA,SAASC,EAAqBD,EAA0B,CACtD,IAAIE,EAAM3J,aAAiBD,CAAiB,EAC5C,OAAU4J,I,EAAV5I,MAAU,EAAD,EACF4I,CACT,CAEA,SAASC,EAAmBH,EAA+B,CACzD,IAAI9F,EAAQ3D,aAAiBC,CAAsB,EACnD,OAAU0D,I,EAAV5C,MAAU,EAAD,EACF4C,CACT,CAEA,SAASkG,EAAgBJ,EAA+B,CACtD,IAAIxE,EAAQjF,aAAiBK,CAAY,EACzC,OAAU4E,I,EAAVlE,MAAU,EAAD,EACFkE,CACT,CAGA,SAAS6E,EAAkBL,EAA+B,CACxD,IAAIxE,EAAQ4E,EAAgBJ,CAAQ,EAChCM,EAAY9E,EAAM1E,QAAQ0E,EAAM1E,QAAQ6D,OAAS,GACrD,OACE2F,EAAU9E,MAAMsD,K,EADlBxH,MAAU,EAAD,EAIFgJ,EAAU9E,MAAMsD,EACzB,CAKO,SAASyB,GAAa,CAC3B,OAAOF,EAAkBP,EAAoBU,UAAU,CACzD,CAMO,SAASC,GAAgB,CAE9B,OADYN,EAAmBL,EAAoBY,aAAa,EACnDC,UACf,CAMO,SAASC,GAAiB,CAC/B,IAAI5H,EAAoBiH,EAAqBJ,EAAegB,cAAc,EACtE3G,EAAQiG,EAAmBL,EAAoBe,cAAc,EACjE,MAAO,CACLC,WAAY9H,EAAkB+H,OAAOD,WACrC5G,MAAOA,EAAM4D,Y,CAEjB,CAMO,SAASkD,GAAa,CAC3B,GAAI,CAAElK,UAASmK,YAAW,EAAId,EAC5BL,EAAoBoB,UACtB,EACA,OAAO3K,UACL,IACEO,EAAQwC,IAAKC,GAAU,CACrB,GAAI,CAAE7B,WAAUkD,QAAO,EAAIrB,EAI3B,MAAO,CACLuF,GAAIvF,EAAMiC,MAAMsD,GAChBpH,WACAkD,SACAuG,KAAMF,EAAW1H,EAAMiC,MAAMsD,IAC7BsC,OAAQ7H,EAAMiC,MAAM4F,M,CAExB,CAAC,EACH,CAACtK,EAASmK,CAAU,CACtB,CACF,CAKO,SAASI,GAAyB,CACvC,IAAInH,EAAQiG,EAAmBL,EAAoBwB,aAAa,EAC5DC,EAAUlB,EAAkBP,EAAoBwB,aAAa,EAEjE,GAAIpH,EAAM+E,QAAU/E,EAAM+E,OAAOsC,IAAY,KAAM,CACjDpD,QAAQzB,MACuD6E,6DAAO,GACtE,EACA,MACF,CACA,OAAOrH,EAAM+G,WAAWM,EAC1B,CAKO,SAASC,EAAmBD,EAA0B,CAE3D,OADYpB,EAAmBL,EAAoB2B,kBAAkB,EACxDR,WAAWM,EAC1B,CAKO,SAASG,GAAyB,CACvC,IAAIxH,EAAQiG,EAAmBL,EAAoB6B,aAAa,EAGhE,OADYpL,MAAM4B,WAAWvB,CAAY,GACzCU,iBAAU,EAAD,EAEF6E,OAAOyF,QAAO1H,iBAAO2H,aAAc,CAAC,CAAC,EAAE,EAChD,CAOO,SAASlF,IAAyB,KAAAmF,EACvC,IAAIpF,EAAQnG,aAAiBS,CAAiB,EAC1CkD,EAAQiG,EAAmBL,EAAoBiC,aAAa,EAC5DR,EAAUlB,EAAkBP,EAAoBiC,aAAa,EAIjE,OAAIrF,KAKJoF,EAAO5H,EAAM+E,SAAN6C,cAAeP,GACxB,CAKO,SAASS,IAAyB,CACvC,IAAIxH,EAAQjE,aAAiBE,CAAY,EACzC,OAAO+D,GAAK,YAALA,EAAOyH,KAChB,CAKO,SAASC,IAAyB,CACvC,IAAI1H,EAAQjE,aAAiBE,CAAY,EACzC,OAAO+D,GAAK,YAALA,EAAO2H,MAChB,CAEA,IAAIC,GAAY,EAQT,SAASC,GAAWC,EAAiD,CAC1E,GAAI,CAAEvB,SAAQxJ,UAAS,EAAI0I,EAAqBJ,EAAe0C,UAAU,EACrErI,EAAQiG,EAAmBL,EAAoByC,UAAU,EAEzD,CAACC,EAAYC,CAAa,EAAIlM,MAAMmM,SAAS,EAAE,EAC/CC,EAAkBpM,MAAMqM,YACzBC,GAAQ,CACP,GAAI,OAAOP,GAAgB,WACzB,MAAO,CAAC,CAACA,EAEX,GAAI/K,IAAa,IACf,OAAO+K,EAAYO,CAAG,EAMxB,GAAI,CAAEC,kBAAiBC,eAAcC,eAAc,EAAIH,EACvD,OAAOP,EAAY,CACjBQ,gBAAexG,EAAA,GACVwG,EAAe,CAClBpL,SACEuL,cAAcH,EAAgBpL,SAAUH,CAAQ,GAChDuL,EAAgBpL,Q,CACnB,EACDqL,aAAYzG,EAAA,GACPyG,EAAY,CACfrL,SACEuL,cAAcF,EAAarL,SAAUH,CAAQ,GAC7CwL,EAAarL,Q,CAChB,EACDsL,eACF,CAAC,CACH,EACA,CAACzL,EAAU+K,CAAW,CACxB,EAIA/L,aAAM2M,UAAU,IAAM,CACpB,IAAI3G,EAAM4G,OAAO,EAAEf,EAAS,EAC5BK,SAAclG,CAAG,EACV,IAAMwE,EAAOqC,cAAc7G,CAAG,CACvC,EAAG,CAACwE,CAAM,CAAC,EAMXxK,MAAM2M,UAAU,IAAM,CAChBV,IAAe,IACjBzB,EAAOsC,WAAWb,EAAYG,CAAe,C,EAE9C,CAAC5B,EAAQyB,EAAYG,CAAe,CAAC,EAIjCH,GAActI,EAAMoJ,SAASC,IAAIf,CAAU,EAC9CtI,EAAMoJ,SAASE,IAAIhB,CAAU,EAC7BiB,YACN,CAMA,SAAS3K,IAAsC,CAC7C,GAAI,CAAEiI,QAAO,EAAId,EAAqBJ,EAAe6D,iBAAiB,EAClE5E,EAAKuB,EAAkBP,EAAoB4D,iBAAiB,EAE5DjK,EAAYlD,SAAa,EAAK,EAClCmC,UAA0B,IAAM,CAC9Be,EAAUC,QAAU,EACtB,CAAC,EAEgCnD,cAC/B,SAACW,EAAiByC,EAAkC,CAAlCA,IAAwB,SAAxBA,EAA2B,CAAC,GAKvCF,EAAUC,UAEX,OAAOxC,GAAO,SAChB6J,EAAO4C,SAASzM,CAAE,EAElB6J,EAAO4C,SAASzM,EAAEoF,EAAA,CAAIsH,YAAa9E,C,EAAOnF,CAAO,CAAE,EAEvD,EACA,CAACoH,EAAQjC,CAAE,CACb,CAGF,CAEA,MAAM+E,GAAyC,CAAC,EAEhD,SAASC,GAAYvH,EAAawH,EAAenH,EAAiB,CAC5D,CAACmH,GAAQ,CAACF,GAActH,KAC1BsH,GAActH,GAAO,GAGzB,CC57BA,MAAMyH,GAAmB,kBACnBC,IAAsB1N,iBAAMyN,IAK3B,SAASE,GAAczF,EAIc,IAJb,CAC7B0F,kBACApD,SACAqD,QACmB,EAAC3F,EAGhB,CAACvE,EAAOmK,CAAY,EAAI9N,WAAewK,EAAO7G,KAAK,EACnD,CAAEoK,oBAAmB,EAAIF,GAAU,CAAC,EACpCG,EAAWhO,cACZiO,GAA0B,CACzBF,GAAsBL,GAClBA,GAAoB,IAAMI,EAAaG,CAAQ,CAAC,EAChDH,EAAaG,CAAQ,CAC3B,EACA,CAACH,EAAcC,CAAkB,CACnC,EACA/N,kBAAsB,IAAMwK,EAAO0D,UAAUF,CAAQ,EAAG,CAACxD,EAAQwD,CAAQ,CAAC,EAE1E,IAAI/M,EAAYjB,UAAc,KACrB,CACLwB,WAAYgJ,EAAOhJ,WACnBsE,eAAgB0E,EAAO1E,eACvBzC,GAAK8K,GAAM3D,EAAO4C,SAASe,CAAC,EAC5BzK,KAAMA,CAAC/C,EAAIgD,GAAOyK,KAChB5D,EAAO4C,SAASzM,EAAI,CAClBgD,SACA0K,mBAAoBD,mBAAMC,kBAC5B,CAAC,EACH5K,QAASA,CAAC9C,EAAIgD,GAAOyK,KACnB5D,EAAO4C,SAASzM,EAAI,CAClB8C,QAAS,GACTE,SACA0K,mBAAoBD,mBAAMC,kB,CAC3B,C,GAEJ,CAAC7D,CAAM,CAAC,EAEPxJ,EAAWwJ,EAAOxJ,UAAY,IAE9ByB,EAAoBzC,UACtB,KAAO,CACLwK,SACAvJ,YACAoB,OAAQ,GACRrB,U,GAEF,CAACwJ,EAAQvJ,EAAWD,CAAQ,CAC9B,EAQA,OACEhB,2BACEA,qBAACD,EAAkBiE,SAAQ,CAACC,MAAOxB,CAAkB,EACnDzC,gBAACC,EAAuB+D,SAAQ,CAACC,MAAON,CAAM,EAC5C3D,gBAACsO,GAAM,CACLtN,SAAUA,EACVU,SAAUiC,EAAMjC,SAChBG,eAAgB8B,EAAM8I,cACtBxL,UAAWA,C,EAEV0C,EAAM4K,YACLvO,gBAACwO,GAAU,CAAChK,OAAQgG,EAAOhG,OAAQb,MAAOA,C,CAAQ,EAElDiK,CAEI,CACuB,CACP,EAC3B,IACD,CAEN,CAEA,SAASY,GAAUC,EAMW,IANV,CAClBjK,SACAb,OAIF,EAAC8K,EACC,OAAO/J,EAAcF,EAAQkK,OAAW/K,CAAK,CAC/C,CAeO,SAASgL,GAAYC,EAMc,IANb,CAC3B5N,WACA+G,WACA8G,iBACAC,eACAjB,QACiB,EAACe,EACdG,EAAa/O,MAAMgP,OAAM,EACzBD,EAAW5L,SAAW,OACxB4L,EAAW5L,QAAU8L,oBAAoB,CACvCJ,iBACAC,eACAI,SAAU,EACZ,CAAC,GAGH,IAAIC,EAAUJ,EAAW5L,QACrB,CAACQ,EAAOmK,CAAY,EAAI9N,MAAMmM,SAAS,CACzCiD,OAAQD,EAAQC,OAChB1N,SAAUyN,EAAQzN,QACpB,CAAC,EACG,CAAEqM,oBAAmB,EAAIF,GAAU,CAAC,EACpCG,EAAWhO,MAAMqM,YAClB4B,IAA6D,CAC5DF,GAAsBL,GAClBA,GAAoB,IAAMI,EAAaG,EAAQ,CAAC,EAChDH,EAAaG,EAAQ,CAC3B,EACA,CAACH,EAAcC,CAAkB,CACnC,EAEA/N,aAAMqP,gBAAgB,IAAMF,EAAQG,OAAOtB,CAAQ,EAAG,CAACmB,EAASnB,CAAQ,CAAC,EAGvEhO,MAAAuP,cAACjB,GAAM,CACLtN,SAAUA,EACV+G,SAAUA,EACVrG,SAAUiC,EAAMjC,SAChBG,eAAgB8B,EAAMyL,OACtBnO,UAAWkO,CAAQ,CACpB,CAEL,CAkBO,SAASK,GAAQC,EAKA,IALC,CACvB9O,KACA8C,UACAE,QACA9C,UACa,EAAC4O,EAEZ3O,EAAmB,GADrBC,iBAAU,EAAD,EAcT,GAAI,CAAER,SAAQ,EAAIP,MAAM4B,WAAWvB,CAAY,EAC3C,CAAEc,SAAUuB,C,EAAqBjB,GAAY,EAC7C2L,EAAW9K,GAAY,EAIvBgB,EAAOC,UACT5C,EACAmC,kCAA2BvC,CAAO,EAAEwC,IAAKC,GAAUA,EAAMC,YAAY,EACrEP,EACA7B,IAAa,MACf,EACI6O,EAAW9M,KAAKC,UAAUS,CAAI,EAElCtD,aAAM2M,UACJ,IAAMS,EAASxK,KAAKY,MAAMkM,CAAQ,EAAG,CAAEjM,UAASE,QAAO9C,UAAS,CAAC,EACjE,CAACuM,EAAUsC,EAAU7O,EAAU4C,EAASE,CAAK,CAC/C,EAEO,IACT,CAWO,SAASgM,GAAOrI,EAA+C,CACpE,OAAOxD,GAAUwD,EAAMvD,OAAO,CAChC,CA+CO,SAAS6L,GAAMC,EAA+C,CACnE9O,iBAAU,EAAD,CAKX,CAoBO,SAASuN,GAAMwB,EAOqB,IAPpB,CACrB9O,SAAU+O,EAAe,IACzBhI,WAAW,KACXrG,SAAUsO,EACVnO,iBAAiBoE,SACjBhF,YACAoB,OAAQ4N,EAAa,EACV,EAACH,EAEThP,EAAmB,I,EADtBC,MAAU,EAAD,EAQT,IAAIC,EAAW+O,EAAatM,QAAQ,OAAQ,GAAG,EAC3CyM,EAAoBlQ,UACtB,KAAO,CAAEgB,WAAUC,YAAWoB,OAAQ4N,C,GACtC,CAACjP,EAAUC,EAAWgP,CAAU,CAClC,EAEI,OAAOD,GAAiB,WAC1BA,G,EAAe3K,MAAU2K,CAAY,GAGvC,GAAI,CACF7O,WAAW,IACXC,SAAS,GACTF,OAAO,GACPyC,SAAQ,KACRqC,OAAM,SACR,EAAIgK,EAEAG,GAAkBnQ,UAAc,IAAM,CACxC,IAAIoQ,I,EAAmB1D,MAAcvL,EAAUH,CAAQ,EAEvD,OAAIoP,IAAoB,KACf,KAGF,CACL1O,SAAU,CACRP,SAAUiP,GACVhP,SACAF,OACAyC,SACAqC,M,EAEFnE,gB,CAEJ,EAAG,CAACb,EAAUG,EAAUC,EAAQF,EAAMyC,GAAOqC,GAAKnE,CAAc,CAAC,EASjE,OAAIsO,IAAmB,KACd,KAIPnQ,gBAACG,EAAkB6D,SAAQ,CAACC,MAAOiM,CAAkB,EACnDlQ,gBAACI,EAAgB4D,SAAQ,CAAC+D,SAAUA,EAAU9D,MAAOkM,EAAgB,CAAE,CAC7C,CAEhC,CAaO,SAASE,GAAMC,EAGqB,IAHpB,CACrBvI,WACArG,UACW,EAAC4O,EACZ,OAAO/L,EAAUgM,GAAyBxI,CAAQ,EAAGrG,CAAQ,CAC/D,CAgBO,SAAS8O,GAAKC,EAAkD,IAAjD,CAAE1I,WAAUK,eAAcsI,SAAoB,EAACD,EACnE,OACEzQ,gBAAC2Q,GAAkB,CAACD,QAASA,EAAStI,aAAcA,C,EAClDpI,gBAAC4Q,GAAc7I,MAAuB,CACpB,CAExB,CAAC,IAWI8I,IAAiB,SAAjBA,EAAiB,CAAjBA,IAAiB,qBAAjBA,IAAiB,qBAAjBA,IAAiB,mBAAjBA,QAAiB,KAMtB,MAAMC,GAAsB,IAAIC,QAAQ,IAAM,CAAC,CAAC,EAEhD,MAAMJ,WAA2B3Q,WAG/B,CACAqH,YAAYC,EAAgC,CAC1C,MAAMA,CAAK,EACX,KAAK3D,MAAQ,CAAEwC,MAAO,I,CACxB,CAEA,OAAOqB,yBAAyBrB,EAAY,CAC1C,MAAO,CAAEA,O,CACX,CAEAuB,kBAAkBvB,EAAYwB,EAAgB,CAC5CC,QAAQzB,MACN,mDACAA,EACAwB,CACF,CACF,CAEAE,QAAS,CACP,GAAI,CAAEE,WAAUK,eAAcsI,S,EAAY,KAAKpJ,MAE3C0J,EAAiC,KACjCzK,EAA4BsK,GAAkBI,QAElD,GAAI,EAAEP,aAAmBK,SAEvBxK,EAASsK,GAAkBK,QAC3BF,EAAUD,QAAQL,QAAQ,EAC1B9K,OAAOuL,eAAeH,EAAS,WAAY,CAAE/D,IAAKA,IAAM,EAAK,CAAC,EAC9DrH,OAAOuL,eAAeH,EAAS,QAAS,CAAE/D,IAAKA,IAAMyD,CAAQ,CAAC,UACrD,KAAK/M,MAAMwC,MAAO,CAE3BI,EAASsK,GAAkB1K,MAC3B,IAAIiL,EAAc,KAAKzN,MAAMwC,MAC7B6K,EAAUD,QAAQM,OAAO,EAAEC,MAAM,IAAM,CAAC,CAAC,EACzC1L,OAAOuL,eAAeH,EAAS,WAAY,CAAE/D,IAAKA,IAAM,EAAK,CAAC,EAC9DrH,OAAOuL,eAAeH,EAAS,SAAU,CAAE/D,IAAKA,IAAMmE,CAAY,CAAC,CACrE,MAAYV,EAA2Ba,UAErCP,EAAUN,EACVnK,EACEyK,EAAQpF,SAAW8C,OACfmC,GAAkB1K,MAClB6K,EAAQtF,QAAUgD,OAClBmC,GAAkBK,QAClBL,GAAkBI,UAGxB1K,EAASsK,GAAkBI,QAC3BrL,OAAOuL,eAAeT,EAAS,WAAY,CAAEzD,IAAKA,IAAM,EAAK,CAAC,EAC9D+D,EAAUN,EAAQc,KACf5G,GACChF,OAAOuL,eAAeT,EAAS,QAAS,CAAEzD,IAAKA,IAAMrC,C,CAAM,EAC5DzE,GACCP,OAAOuL,eAAeT,EAAS,SAAU,CAAEzD,IAAKA,IAAM9G,CAAM,CAAC,CACjE,GAGF,GACEI,IAAWsK,GAAkB1K,OAC7B6K,EAAQpF,kBAAkB6F,KAG1B,MAAMX,GAGR,GAAIvK,IAAWsK,GAAkB1K,OAAS,CAACiC,EAEzC,MAAM4I,EAAQpF,OAGhB,GAAIrF,IAAWsK,GAAkB1K,MAE/B,OAAOnG,gBAACE,EAAa8D,SAAQ,CAACC,MAAO+M,EAASjJ,SAAUK,CAAa,CAAE,EAGzE,GAAI7B,IAAWsK,GAAkBK,QAE/B,OAAOlR,gBAACE,EAAa8D,SAAQ,CAACC,MAAO+M,EAASjJ,SAAUA,CAAS,CAAE,EAIrE,MAAMiJ,CACR,CACF,CAMA,SAASJ,GAAYc,EAIlB,IAJmB,CACpB3J,UAGF,EAAC2J,EACK9G,EAAOa,GAAc,EACrBkG,EAAW,OAAO5J,GAAa,WAAaA,EAAS6C,CAAI,EAAI7C,EACjE,OAAO/H,2BAAG2R,MAAW,CACvB,CAaO,SAASpB,GACdxI,EACA6J,EACe,CADfA,IAAoB,SAApBA,EAAuB,CAAC,GAExB,IAAIpN,EAAwB,CAAC,EAE7BxE,aAAM6R,SAASC,QAAQ/J,EAAU,CAACsB,EAASJ,IAAU,CACnD,GAAI,CAACjJ,MAAM+R,eAAe1I,CAAO,EAG/B,OAGF,IAAI2I,EAAW,CAAC,GAAGJ,EAAY3I,CAAK,EAEpC,GAAII,EAAQ4I,OAASjS,MAAMkS,SAAU,CAEnC1N,EAAOd,KAAKyO,MACV3N,EACA+L,GAAyBlH,EAAQ/B,MAAMS,SAAUiK,CAAQ,CAC3D,EACA,MACF,CAGE3I,EAAQ4I,OAASrC,IADnB7O,iBAAU,EAAD,EAQP,CAACsI,EAAQ/B,MAAM2B,OAAS,CAACI,EAAQ/B,MAAMS,UADzChH,iBAAU,EAAD,EAKT,IAAIkE,EAAqB,CACvBsD,GAAIc,EAAQ/B,MAAMiB,IAAMyJ,EAASI,KAAK,GAAG,EACzCC,cAAehJ,EAAQ/B,MAAM+K,cAC7BhJ,QAASA,EAAQ/B,MAAM+B,QACvBD,UAAWC,EAAQ/B,MAAM8B,UACzBH,MAAOI,EAAQ/B,MAAM2B,MACrB3F,KAAM+F,EAAQ/B,MAAMhE,KACpBgP,OAAQjJ,EAAQ/B,MAAMgL,OACtBlD,OAAQ/F,EAAQ/B,MAAM8H,OACtBhH,aAAciB,EAAQ/B,MAAMc,aAC5BC,cAAegB,EAAQ/B,MAAMe,cAC7BkK,iBACElJ,EAAQ/B,MAAMe,eAAiB,MAC/BgB,EAAQ/B,MAAMc,cAAgB,KAChCoK,iBAAkBnJ,EAAQ/B,MAAMkL,iBAChC3H,OAAQxB,EAAQ/B,MAAMuD,OACtB4H,KAAMpJ,EAAQ/B,MAAMmL,I,EAGlBpJ,EAAQ/B,MAAMS,WAChB9C,EAAM8C,SAAWwI,GACflH,EAAQ/B,MAAMS,SACdiK,CACF,GAGFxN,EAAOd,KAAKuB,CAAK,CACnB,CAAC,EAEMT,CACT,CAKO,SAASkO,GACdnS,EAC2B,CAC3B,OAAOoF,EAAepF,CAAO,CAC/B,CC/dA,SAASoS,GAAmB1N,EAAoB,CAC9C,IAAI2N,EAAgE,CAGlEL,iBAAkBtN,EAAMoD,eAAiB,MAAQpD,EAAMmD,cAAgB,I,EAGzE,OAAInD,EAAMmE,WAURxD,OAAOC,OAAO+M,EAAS,CACrBvJ,QAASrJ,gBAAoBiF,EAAMmE,SAAS,EAC5CA,UAAWsF,MACb,CAAC,EAGCzJ,EAAMoD,eAURzC,OAAOC,OAAO+M,EAAS,CACrBxK,aAAcpI,gBAAoBiF,EAAMoD,aAAa,EACrDA,cAAeqG,MACjB,CAAC,EAGIkE,CACT,CAEO,SAASC,GACdrO,EACA4J,EAOa,CACb,OAAO0E,aAAa,CAClB9R,SAAUoN,iBAAMpN,SAChB6M,OAAM9H,EAAA,GACDqI,iBAAMP,OAAM,CACfkF,mBAAoB,E,CACrB,EACD5D,QAASF,oBAAoB,CAC3BJ,eAAgBT,iBAAMS,eACtBC,aAAcV,iBAAMU,YACtB,CAAC,EACDkE,cAAe5E,iBAAM4E,cACrBxO,SACAmO,qBACF,CAAC,EAAEM,WAAW,CAChB,C,kBCtRA,IAAIC,EAAU,EAAQ,KAAe,EACjCC,EAAQ,EAAQ,KAAa,EAIjC,OAAO,KAAKD,CAAO,EAAE,QAAQ,SAAUE,EAAG,CACrCA,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKC,EAASD,CAAC,GAAG,OAAO,eAAeC,EAASD,EAAG,CAC3G,WAAY,GACZ,IAAK,UAAY,CAAE,OAAOF,EAAQE,EAAI,CACvC,CAAC,CACF,CAAC,EACD,OAAO,KAAKD,CAAK,EAAE,QAAQ,SAAUC,EAAG,CACnCA,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKC,EAASD,CAAC,GAAG,OAAO,eAAeC,EAASD,EAAG,CAC3G,WAAY,GACZ,IAAK,UAAY,CAAE,OAAOD,EAAMC,EAAI,CACrC,CAAC,CACF,CAAC,C,mBChBD,IAAIE,EAAe,EAAQ,KAAO,EAC9BJ,EAAU,EAAQ,KAAe,EAEjCK,EAAeD,EAAa,cAAc,MAAS,EACnDE,GAAW,SAAkBpQ,EAAS,CACxC,IAAIqQ,EAAQH,EAAa,WAAWC,CAAY,EAChD,OAAQnQ,GAAW,KAAO,OAASA,EAAQ,QAAUqQ,GAASP,EAAQ,gBAAgB,CACxF,EACIlP,GAAW,SAAkBkE,EAAM,CACrC,IAAIH,EAAWG,EAAK,SAClBuL,EAAQvL,EAAK,MACXwL,EAAWJ,EAAa,OAAO,EACnC,MAAI,CAACG,GAAS,CAACC,EAAS,UACtBA,EAAS,QAAUR,EAAQ,YAAY,GAElCI,EAAa,cAAcC,EAAa,SAAU,CACvD,MAAOE,GAASC,EAAS,OAC3B,EAAG3L,CAAQ,CACb,EAEI4L,GAAgB,SAAuBC,EAAG,CAC5C,OAAO,OAAQA,GAAK,KAAO,OAASA,EAAE,OAAU,UAClD,EACIC,GAAMP,EAAa,KAAO,SAAUtC,EAAS,CAC/C,GAAIA,EAAQ,SAAW,UACrB,MAAMA,EACD,GAAIA,EAAQ,SAAW,YAC5B,OAAOA,EAAQ,MACV,MAAIA,EAAQ,SAAW,WACtBA,EAAQ,QAEdA,EAAQ,OAAS,UACjBA,EAAQ,KAAK,SAAU8C,EAAG,CACxB9C,EAAQ,OAAS,YACjBA,EAAQ,MAAQ8C,CAClB,EAAG,SAAUC,EAAG,CACd/C,EAAQ,OAAS,WACjBA,EAAQ,OAAS+C,CACnB,CAAC,EACK/C,EAEV,EACA,SAASgD,GAAaC,EAAM7Q,EAAS,CACnC,IAAIqQ,EAAQD,GAASpQ,CAAO,EACxB8Q,EAAcZ,EAAa,WAAW,SAAUa,EAAM,CACtD,IAAIC,EAAYX,EAAM,IAAIQ,CAAI,EAC9B,OAAI,OAAO,GAAGE,EAAK,GAAIC,CAAS,GAAKD,EAAK,KAAOV,GAASU,EAAK,KAAOF,EAC7DE,EAEF,CAACC,EAAWX,EAAOQ,CAAI,CAChC,EAAG,OAAW,UAAY,CACxB,MAAO,CAACR,EAAM,IAAIQ,CAAI,EAAGR,EAAOQ,CAAI,CACtC,CAAC,EACDI,EAAeH,EAAY,GAC3BI,EAAmBD,EAAa,GAChCE,EAAmBF,EAAa,GAChCG,EAAkBH,EAAa,GAC/BI,EAAWP,EAAY,GACrBjQ,EAAQqQ,GACRC,IAAqBd,GAASe,IAAoBP,KACpDQ,EAAS,EACTxQ,EAAQwP,EAAM,IAAIQ,CAAI,GAExB,IAAIS,EAAQtR,GAAW,KAAO,OAASA,EAAQ,MAC/C,OAAAkQ,EAAa,UAAU,UAAY,CACjC,IAAIqB,EAAQlB,EAAM,IAAIQ,EAAM,UAAY,CACtC,GAAI,OAAOS,GAAU,SAAU,CAC7B,WAAWD,EAAUC,CAAK,EAC1B,MACF,CACAD,EAAS,CACX,CAAC,EACD,OAAAA,EAAS,EACFE,CACT,EAAG,CAAClB,EAAOQ,EAAMS,CAAK,CAAC,EACvBpB,EAAa,cAAcrP,CAAK,EACzB0P,GAAc1P,CAAK,EAAI4P,GAAI5P,CAAK,EAAIA,CAC7C,CAEA,SAAS2Q,GAAWX,EAAM7Q,EAAS,CACjC,IAAIqQ,EAAQD,GAASpQ,CAAO,EACxByR,EAAUvB,EAAa,YAAY,UAAY,CAIjD,QAASwB,EAAO,UAAU,OAAQC,EAAO,IAAI,MAAMD,CAAI,EAAGE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQ,UAAUA,GAEzB,OAAOvB,EAAM,IAAI,MAAMA,EAAO,CAACQ,CAAI,EAAE,OAAOc,CAAI,CAAC,CACnD,EAAG,CAACtB,EAAOQ,CAAI,CAAC,EAChB,OAAOY,CACT,CAEA,SAASI,GAAQhB,EAAM7Q,EAAS,CAC9B,MAAO,CAAC4Q,GAAaC,EAAM7Q,CAAO,EAAGwR,GAAWX,EAAM7Q,CAAO,CAAC,CAChE,CAEAiQ,EAAQ,SAAWrP,GACnBqP,EAAQ,QAAU4B,GAClB5B,EAAQ,aAAeW,GACvBX,EAAQ,WAAauB,GACrBvB,EAAQ,SAAWG,E,mBCrGnB,IAAI0B,EAAU,EAAQ,KAAO,EACzB/B,EAAQ,EAAQ,KAAa,EAC7BgC,EAAQ,EAAQ,KAAqB,EACrCjC,GAAU,EAAQ,KAAe,EAErC,SAASkC,GAAaC,EAAQjS,EAAS,CACrC,IAAIyR,EAAU1B,EAAM,WAAWkC,EAAQjS,CAAO,EAC1CkS,EAAYJ,EAAQ,YAAY,UAAY,CAC9C,OAAOL,EAAQM,EAAM,KAAK,CAC5B,EAAG,CAACN,CAAO,CAAC,EACZ,OAAOS,CACT,CAEA,SAASC,GAAeF,EAAQG,EAASpS,EAAS,CAChD,IAAIqS,EAAWtC,EAAM,QAAQkC,EAAQjS,CAAO,EAC1CO,EAAQ8R,EAAS,GACjBzH,EAAWyH,EAAS,GAClBC,EAAWR,EAAQ,YAAY,SAAU9F,EAAQ,CACnDpB,EAAS,SAAUmG,EAAM,CACvB,OAAOqB,EAAQrB,EAAM/E,CAAM,CAC7B,CAAC,CACH,EAAG,CAACpB,EAAUwH,CAAO,CAAC,EACtB,MAAO,CAAC7R,EAAO+R,CAAQ,CACzB,CAEA,SAASC,GAAgBC,EAAUxS,EAAS,CAC1C,IAAIiS,EAASH,EAAQ,QAAQ,UAAY,CACvC,OAAOhC,GAAQ,KAAK,KAAM,SAAUjG,EAAK4I,EAAK,CAC5C,QAASf,EAAO,UAAU,OAAQC,EAAO,IAAI,MAAMD,EAAO,EAAIA,EAAO,EAAI,CAAC,EAAGE,EAAO,EAAGA,EAAOF,EAAME,IAClGD,EAAKC,EAAO,GAAK,UAAUA,GAE7B,OAAOY,EAAS,MAAM,OAAQ,CAAC3I,EAAK4I,CAAG,EAAE,OAAOd,CAAI,CAAC,CACvD,CAAC,CACH,EAAG,CAACa,CAAQ,CAAC,EACb,OAAOzC,EAAM,WAAWkC,EAAQjS,CAAO,CACzC,CAEA,SAAS0S,GAA4BC,EAAGC,EAAQ,CAC9C,GAAI,EAACD,EACL,IAAI,OAAOA,GAAM,SAAU,OAAOE,GAAkBF,EAAGC,CAAM,EAC7D,IAAI7H,EAAI,OAAO,UAAU,SAAS,KAAK4H,CAAC,EAAE,MAAM,EAAG,EAAE,EAErD,GADI5H,IAAM,UAAY4H,EAAE,cAAa5H,EAAI4H,EAAE,YAAY,MACnD5H,IAAM,OAASA,IAAM,MAAO,OAAO,MAAM,KAAK4H,CAAC,EACnD,GAAI5H,IAAM,aAAe,2CAA2C,KAAKA,CAAC,EAAG,OAAO8H,GAAkBF,EAAGC,CAAM,EACjH,CACA,SAASC,GAAkBC,EAAKC,EAAK,EAC/BA,GAAO,MAAQA,EAAMD,EAAI,UAAQC,EAAMD,EAAI,QAC/C,QAASE,EAAI,EAAGC,EAAO,IAAI,MAAMF,CAAG,EAAGC,EAAID,EAAKC,IAAKC,EAAKD,GAAKF,EAAIE,GACnE,OAAOC,CACT,CACA,SAASC,GAAgCP,EAAGQ,EAAgB,CAC1D,IAAIC,EAAK,OAAO,QAAW,aAAeT,EAAE,OAAO,WAAaA,EAAE,cAClE,GAAIS,EAAI,OAAQA,EAAKA,EAAG,KAAKT,CAAC,GAAG,KAAK,KAAKS,CAAE,EAC7C,GAAI,MAAM,QAAQT,CAAC,IAAMS,EAAKV,GAA4BC,CAAC,IAAMQ,GAAkBR,GAAK,OAAOA,EAAE,QAAW,SAAU,CAChHS,IAAIT,EAAIS,GACZ,IAAIJ,EAAI,EACR,OAAO,UAAY,CACjB,OAAIA,GAAKL,EAAE,OAAe,CACxB,KAAM,EACR,EACO,CACL,KAAM,GACN,MAAOA,EAAEK,IACX,CACF,CACF,CACA,MAAM,IAAI,UAAU;AAAA,mFAAuI,CAC7J,CAEA,IAAIK,EAAc,IAAI,QACtB,SAASC,EAAgBrL,EAAQjI,EAAS,CAGxC,QAFIqQ,EAAQN,EAAM,SAAS/P,CAAO,EAC9BuT,EAAcC,EAAenD,CAAK,EAC7BoD,EAAYP,GAAgCjL,CAAM,EAAGyL,EAAO,EAAEA,EAAQD,EAAU,GAAG,MAAO,CACjG,IAAIE,EAAcD,EAAM,MACtB7C,EAAO8C,EAAY,GACnB9S,EAAQ8S,EAAY,IAClB,CAACJ,EAAY,IAAI1C,CAAI,GAAK7Q,GAAW,MAAQA,EAAQ,2BACvDuT,EAAY,IAAI1C,CAAI,EACpBR,EAAM,IAAIQ,EAAMhQ,CAAK,EAEzB,CACF,CACA,IAAI2S,EAAiB,SAAwBnD,EAAO,CAClD,IAAIkD,EAAcF,EAAY,IAAIhD,CAAK,EACvC,OAAKkD,IACHA,EAAc,IAAI,QAClBF,EAAY,IAAIhD,EAAOkD,CAAW,GAE7BA,CACT,EAEAtD,EAAQ,gBAAkBsC,GAC1BtC,EAAQ,gBAAkBqD,EAC1BrD,EAAQ,eAAiBkC,GACzBlC,EAAQ,aAAe+B,E,mBC/FvB,IAAID,EAAQ,EAAQ,KAAqB,EACrC6B,EAAU,EAAQ,KAAmB,EAIzC,OAAO,KAAK7B,CAAK,EAAE,QAAQ,SAAU/B,EAAG,CACnCA,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKC,EAASD,CAAC,GAAG,OAAO,eAAeC,EAASD,EAAG,CAC3G,WAAY,GACZ,IAAK,UAAY,CAAE,OAAO+B,EAAM/B,EAAI,CACrC,CAAC,CACF,CAAC,EACD,OAAO,KAAK4D,CAAO,EAAE,QAAQ,SAAU5D,EAAG,CACrCA,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKC,EAASD,CAAC,GAAG,OAAO,eAAeC,EAASD,EAAG,CAC3G,WAAY,GACZ,IAAK,UAAY,CAAE,OAAO4D,EAAQ5D,EAAI,CACvC,CAAC,CACF,CAAC,C,iBChBD,IAAI6D,EAAW,EACf,SAAShD,EAAKiD,EAAMC,EAAO,CACzB,IAAInR,EAAM,QAAS,EAAEiR,EACjBG,EAAS,CACX,SAAU,UAAoB,CAC5B,OAAOpR,CACT,CACF,EACA,OAAI,OAAOkR,GAAS,WAClBE,EAAO,KAAOF,GAEdE,EAAO,KAAOF,EACdE,EAAO,KAAO,SAAUnK,EAAK,CAC3B,OAAOA,EAAImK,CAAM,CACnB,EACAA,EAAO,MAAQ,SAAUnK,EAAK4I,GAAKvJ,EAAK,CACtC,OAAOuJ,GAAIuB,EAAQ,OAAO9K,GAAQ,WAAaA,EAAIW,EAAImK,CAAM,CAAC,EAAI9K,CAAG,CACvE,GAEE6K,IACFC,EAAO,MAAQD,GAEVC,CACT,CAEA,SAAStB,EAA4BC,EAAGC,EAAQ,CAC9C,GAAI,EAACD,EACL,IAAI,OAAOA,GAAM,SAAU,OAAOE,EAAkBF,EAAGC,CAAM,EAC7D,IAAI7H,EAAI,OAAO,UAAU,SAAS,KAAK4H,CAAC,EAAE,MAAM,EAAG,EAAE,EAErD,GADI5H,IAAM,UAAY4H,EAAE,cAAa5H,EAAI4H,EAAE,YAAY,MACnD5H,IAAM,OAASA,IAAM,MAAO,OAAO,MAAM,KAAK4H,CAAC,EACnD,GAAI5H,IAAM,aAAe,2CAA2C,KAAKA,CAAC,EAAG,OAAO8H,EAAkBF,EAAGC,CAAM,EACjH,CACA,SAASC,EAAkBC,EAAKC,EAAK,EAC/BA,GAAO,MAAQA,EAAMD,EAAI,UAAQC,EAAMD,EAAI,QAC/C,QAASE,EAAI,EAAGC,EAAO,IAAI,MAAMF,CAAG,EAAGC,EAAID,EAAKC,IAAKC,EAAKD,GAAKF,EAAIE,GACnE,OAAOC,CACT,CACA,SAASC,GAAgCP,EAAGQ,EAAgB,CAC1D,IAAIC,EAAK,OAAO,QAAW,aAAeT,EAAE,OAAO,WAAaA,EAAE,cAClE,GAAIS,EAAI,OAAQA,EAAKA,EAAG,KAAKT,CAAC,GAAG,KAAK,KAAKS,CAAE,EAC7C,GAAI,MAAM,QAAQT,CAAC,IAAMS,EAAKV,EAA4BC,CAAC,IAAMQ,GAAkBR,GAAK,OAAOA,EAAE,QAAW,SAAU,CAChHS,IAAIT,EAAIS,GACZ,IAAIJ,EAAI,EACR,OAAO,UAAY,CACjB,OAAIA,GAAKL,EAAE,OAAe,CACxB,KAAM,EACR,EACO,CACL,KAAM,GACN,MAAOA,EAAEK,IACX,CACF,CACF,CACA,MAAM,IAAI,UAAU;AAAA,mFAAuI,CAC7J,CAEA,IAAIiB,GAAkB,SAAyBpD,EAAM,CACnD,MAAO,SAAUA,CACnB,EACIqD,GAAyB,SAAgCrD,EAAM,CACjE,MAAO,CAAC,CAACA,EAAK,KAChB,EACIsD,GAAmB,IAAI,QACvBC,GAAwB,SAA+BxG,EAASyG,EAAQ,CAC1EF,GAAiB,IAAIvG,EAASyG,CAAM,EACpCzG,EAAQ,MAAM,UAAY,CAAC,CAAC,EAAE,QAAQ,UAAY,CAChD,OAAOuG,GAAiB,OAAOvG,CAAO,CACxC,CAAC,CACH,EACI0G,GAAgB,SAAuB1G,EAAS2G,EAAM,CACxD,IAAIF,EAASF,GAAiB,IAAIvG,CAAO,EACrCyG,IACFF,GAAiB,OAAOvG,CAAO,EAC/ByG,EAAOE,CAAI,EAEf,EACIC,GAAiB,SAAwB5G,EAAS/M,EAAO,CAC3D+M,EAAQ,OAAS,YACjBA,EAAQ,MAAQ/M,CAClB,EACI4T,EAAgB,SAAuB7G,EAAS+C,EAAG,CACrD/C,EAAQ,OAAS,WACjBA,EAAQ,OAAS+C,CACnB,EACIJ,EAAgB,SAAuBC,EAAG,CAC5C,OAAO,OAAQA,GAAK,KAAO,OAASA,EAAE,OAAU,UAClD,EACIkE,EAAmB,SAA0BC,EAAGC,EAAG,CACrD,MAAO,MAAOD,GAAK,MAAOC,GAAK,OAAO,GAAGD,EAAE,EAAGC,EAAE,CAAC,CACnD,EACIC,EAAmB,SAA0BF,EAAGC,EAAG,CACrD,MAAO,MAAOD,GAAK,MAAOC,GAAK,OAAO,GAAGD,EAAE,EAAGC,EAAE,CAAC,CACnD,EACIE,EAAsB,SAA6BH,EAAG,CACxD,MAAO,MAAOA,GAAKA,EAAE,aAAa,OACpC,EACII,EAA0B,SAAiCJ,EAAGC,EAAG,CACnE,MAAO,MAAOD,GAAK,MAAOC,GAAKD,EAAE,EAAE,MAAQA,EAAE,EAAE,OAASC,EAAE,EAAE,IAC9D,EACII,EAAkB,SAAyBC,EAAW,CACxD,GAAI,MAAOA,EACT,MAAMA,EAAU,EAElB,OAAOA,EAAU,CACnB,EACIC,EAAc,UAAuB,CACvC,IAAIC,EAAe,IAAI,QACnBC,EAAa,IAAI,QACjBC,EAAa,IAAI,IACjBC,EACAC,GAKAC,EAAe,SAAsB3E,EAAM,CAC7C,OAAOsE,EAAa,IAAItE,CAAI,CAC9B,EACI4E,GAAe,SAAsB5E,EAAMoE,EAAW,CAIxD,IAAIS,EAAgBP,EAAa,IAAItE,CAAI,EAKzC,GAJAsE,EAAa,IAAItE,EAAMoE,CAAS,EAC3BI,EAAW,IAAIxE,CAAI,GACtBwE,EAAW,IAAIxE,EAAM6E,CAAa,EAEhCA,GAAiBZ,EAAoBY,CAAa,EAAG,CACvD,IAAIC,EAAQ,MAAOV,EAAYA,EAAU,aAAa,QAAUA,EAAU,EAAI,QAAQ,QAAQA,EAAU,CAAC,EAAI,QAAQ,OAAOA,EAAU,CAAC,EACvIX,GAAcoB,EAAc,EAAGC,CAAK,CACtC,CACF,EACIC,GAAqB,SAA4B/E,EAAMgF,EAAeC,EAAkB,CAC1F,IAAIC,EAAe,IAAI,IACnBC,EAAU,GACdF,EAAiB,QAAQ,SAAUG,EAAQtB,EAAG,CACxC,CAACsB,GAAUtB,IAAM9D,IACnBoF,EAASJ,GAEPI,IACFF,EAAa,IAAIpB,EAAGsB,CAAM,EACtBJ,EAAc,EAAE,IAAIlB,CAAC,IAAMsB,IAC7BD,EAAU,IAKhB,CAAC,GACGA,GAAWH,EAAc,EAAE,OAASE,EAAa,QACnDF,EAAc,EAAIE,EAEtB,EACIG,GAAe,SAAsBrF,EAAMhQ,EAAOiV,EAAkB,CACtE,IAAIJ,EAAgBF,EAAa3E,CAAI,EACjCgF,EAAgB,CAClB,GAAIH,GAAiB,KAAO,OAASA,EAAc,IAAM,IAAI,IAC7D,EAAG7U,CACL,EAIA,GAHIiV,GACFF,GAAmB/E,EAAMgF,EAAeC,CAAgB,EAEtDJ,GAAiBhB,EAAiBgB,EAAeG,CAAa,GAAKH,EAAc,IAAMG,EAAc,EACvG,OAAOH,EAET,GAAIA,GAAiBZ,EAAoBY,CAAa,GAAKZ,EAAoBe,CAAa,GAAKd,EAAwBW,EAAeG,CAAa,EAAG,CACtJ,GAAIH,EAAc,IAAMG,EAAc,EACpC,OAAOH,EAEPG,EAAc,EAAIH,EAAc,CAEpC,CACA,OAAAD,GAAa5E,EAAMgF,CAAa,EACzBA,CACT,EACIM,GAAwB,SAA+BtF,EAAMuF,EAAgBN,EAAkBO,EAAc,CAC/G,GAAI9F,EAAc6F,CAAc,EAAG,CACjC,IAAIE,EACA1I,EAAU,IAAI,QAAQ,SAAUN,EAASW,EAAQ,CACnD,IAAIsI,EAAU,GACdH,EAAe,KAAK,SAAU1F,EAAG,CAC/B,GAAI,CAAC6F,EAAS,CACZA,EAAU,GACV,IAAIb,EAAgBF,EAAa3E,CAAI,EACjCgF,EAAgBK,GAAarF,EAAMjD,EAASkI,CAAgB,EAChEtB,GAAe5G,EAAS8C,CAAC,EACzBpD,EAAQoD,CAAC,GACJgF,GAAiB,KAAO,OAASA,EAAc,KAAOG,EAAc,GACvEW,EAAkB3F,EAAMgF,EAAeH,GAAiB,KAAO,OAASA,EAAc,CAAC,CAE3F,CACF,EAAG,SAAU/E,EAAG,CACd,GAAI,CAAC4F,EAAS,CACZA,EAAU,GACV,IAAIb,EAAgBF,EAAa3E,CAAI,EACjCgF,EAAgBK,GAAarF,EAAMjD,EAASkI,CAAgB,EAChErB,EAAc7G,EAAS+C,CAAC,EACxB1C,EAAO0C,CAAC,GACH+E,GAAiB,KAAO,OAASA,EAAc,KAAOG,EAAc,GACvEW,EAAkB3F,EAAMgF,EAAeH,GAAiB,KAAO,OAASA,EAAc,CAAC,CAE3F,CACF,CAAC,EACDY,EAAkB,SAAyB/B,EAAM,CAC1CgC,IACHA,EAAU,GACVhC,EAAK,KAAK,SAAU7D,EAAG,CACrB,OAAO8D,GAAe5G,EAAS8C,CAAC,CAClC,EAAG,SAAUC,EAAG,CACd,OAAO8D,EAAc7G,EAAS+C,CAAC,CACjC,CAAC,EACDrD,EAAQiH,CAAI,EAEhB,CACF,CAAC,EACD,OAAA3G,EAAQ,KAAOwI,EACfxI,EAAQ,OAAS,UACjBwG,GAAsBxG,EAAS,SAAU2G,EAAM,CACzCA,GACF+B,EAAgB/B,CAAI,EAEtB8B,GAAgB,MAAgBA,EAAa,CAC/C,CAAC,EACMH,GAAarF,EAAMjD,EAASkI,CAAgB,CACrD,CACA,OAAOI,GAAarF,EAAMuF,EAAgBN,CAAgB,CAC5D,EACIW,GAAe,SAAsB5F,EAAM9N,EAAO+S,EAAkB,CACtE,IAAIJ,EAAgBF,EAAa3E,CAAI,EACjCgF,EAAgB,CAClB,GAAIH,GAAiB,KAAO,OAASA,EAAc,IAAM,IAAI,IAC7D,EAAG3S,CACL,EAIA,OAHI+S,GACFF,GAAmB/E,EAAMgF,EAAeC,CAAgB,EAEtDJ,GAAiBb,EAAiBa,EAAeG,CAAa,GAAKH,EAAc,IAAMG,EAAc,EAChGH,GAETD,GAAa5E,EAAMgF,CAAa,EACzBA,EACT,EACIa,GAAgB,SAASA,EAAc7F,EAAM8F,EAAO,CACtD,IAAI1B,EAAYO,EAAa3E,CAAI,EACjC,GAAI,CAAC8F,GAAS1B,IACRG,EAAW,IAAIvE,CAAI,GAGnB,MAAM,KAAKoE,EAAU,CAAC,EAAE,MAAM,SAAUnQ,EAAM,CAChD,IAAI6P,EAAI7P,EAAK,GACX8R,EAAI9R,EAAK,GACX,OAAO6P,IAAM9D,GAAQ6F,EAAc/B,CAAC,IAAMiC,CAC5C,CAAC,GACC,OAAO3B,EAGX,IAAIa,EAAmB,IAAI,IACvBe,EAAS,GACTC,EAAS,SAAgBnC,EAAG,CAC9B,GAAIA,IAAM9D,EAAM,CACd,IAAIkG,EAAUvB,EAAab,CAAC,EAC5B,GAAIoC,EACF,OAAAjB,EAAiB,IAAInB,EAAGoC,CAAO,EACxB/B,EAAgB+B,CAAO,EAEhC,GAAI9C,GAAgBU,CAAC,EACnB,OAAAmB,EAAiB,IAAInB,EAAG,MAAS,EAC1BA,EAAE,KAEX,MAAM,IAAI,MAAM,cAAc,CAChC,CACA,IAAIsB,EAASS,EAAc/B,CAAC,EAC5B,OAAAmB,EAAiB,IAAInB,EAAGsB,CAAM,EACvBjB,EAAgBiB,CAAM,CAC/B,EACIe,EACAC,EACAjX,EAAU,CACZ,IAAI,QAAS,CACX,OAAKgX,IACHA,EAAa,IAAI,iBAEZA,EAAW,MACpB,EACA,IAAI,SAAU,CAIZ,MAAI,CAACC,GAAW/C,GAAuBrD,CAAI,IACzCoG,EAAU,UAAmB,CAI3B,GAAI,CAACJ,EAAQ,CACX,QAASnF,EAAO,UAAU,OAAQC,EAAO,IAAI,MAAMD,CAAI,EAAGE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQ,UAAUA,GAEzB,OAAOsF,EAAU,MAAM,OAAQ,CAACrG,CAAI,EAAE,OAAOc,CAAI,CAAC,CACpD,CACF,GAEKsF,CACT,CACF,EACA,GAAI,CACF,IAAIb,EAAiBvF,EAAK,KAAKiG,EAAQ9W,CAAO,EAC9C,OAAOmW,GAAsBtF,EAAMuF,EAAgBN,EAAkB,UAAY,CAC/E,IAAIqB,EACJ,OAAQA,EAAcH,IAAe,KAAO,OAASG,EAAY,MAAM,CACzE,CAAC,CACH,OAASpU,EAAP,CACA,OAAO0T,GAAa5F,EAAM9N,EAAO+S,CAAgB,CACnD,QAAE,CACAe,EAAS,EACX,CACF,EACIO,GAAW,SAAkBvG,EAAM,CACrC,OAAOmE,EAAgB0B,GAAc7F,CAAI,CAAC,CAC5C,EACIwG,GAAU,SAAiBxG,EAAM,CACnC,IAAIyG,EAAUlC,EAAW,IAAIvE,CAAI,EACjC,OAAKyG,IACHA,EAAUC,EAAU1G,CAAI,GAEnByG,CACT,EACIE,GAAiB,SAAwB3G,EAAMyG,EAAS,CAC1D,MAAO,CAACA,EAAQ,EAAE,OAAS,CAACA,EAAQ,EAAE,MAAQA,EAAQ,EAAE,OAAS,GAAKA,EAAQ,EAAE,IAAIzG,CAAI,EAC1F,EACI4G,GAAU,SAAiB5G,EAAM,CACnC,IAAIyG,EAAUlC,EAAW,IAAIvE,CAAI,EAC7ByG,GAAWE,GAAe3G,EAAMyG,CAAO,GACzCI,EAAY7G,CAAI,CAEpB,EACI8G,GAAsB,SAA6B9G,EAAM,CAC3D,IAAI+G,EAAgB,IAAI,IACpBC,EAAW,IAAI,QACfC,EAAQ,SAASA,EAAMnD,EAAG,CAC5B,IAAI2C,EAAUlC,EAAW,IAAIT,CAAC,EAC9B2C,GAAW,MAAgBA,EAAQ,EAAE,QAAQ,SAAUS,EAAW,CAC5DA,IAAcpD,IAChBiD,EAAc,IAAIG,GAAYH,EAAc,IAAIG,CAAS,GAAK,IAAI,KAAO,IAAIpD,CAAC,CAAC,EAC/EkD,EAAS,IAAIE,GAAYF,EAAS,IAAIE,CAAS,GAAK,GAAK,CAAC,EAC1DD,EAAMC,CAAS,EAEnB,CAAC,CACH,EACAD,EAAMjH,CAAI,EACV,IAAImH,EAAQ,SAASA,EAAMrD,EAAG,CAC5B,IAAI2C,EAAUlC,EAAW,IAAIT,CAAC,EAC9B2C,GAAW,MAAgBA,EAAQ,EAAE,QAAQ,SAAUS,EAAW,CAChE,GAAIA,IAAcpD,EAAG,CACnB,IAAIsD,EAAaJ,EAAS,IAAIE,CAAS,EAIvC,GAHIE,GACFJ,EAAS,IAAIE,EAAW,EAAEE,CAAU,EAElC,CAACA,EAAY,CACf,IAAIC,EACAC,EAAY,CAAC,GAAGD,EAAqBN,EAAc,IAAIG,CAAS,IAAM,MAAQG,EAAmB,MACrG,GAAIC,EAAW,CACb,IAAIzC,EAAgBF,EAAauC,CAAS,EACtClC,EAAgBa,GAAcqB,EAAW,EAAI,EACjDI,EAAY,CAACzC,GAAiB,CAAChB,EAAiBgB,EAAeG,CAAa,CAC9E,CACKsC,GACHP,EAAc,QAAQ,SAAUhB,GAAG,CACjC,OAAOA,GAAE,OAAOmB,CAAS,CAC3B,CAAC,CAEL,CACAC,EAAMD,CAAS,CACjB,CACF,CAAC,CACH,EACAC,EAAMnH,CAAI,CACZ,EACIuH,GAAiB,SAASA,EAAevH,EAAM,CAmCjD,QAlCIgG,EAAS,GACTC,EAAS,SAAgBnC,EAAG,CAC9B,OAAOK,EAAgB0B,GAAc/B,CAAC,CAAC,CACzC,EACI0D,EAAS,SAAgB1D,EAAG,CAE9B,QADI2D,EACKC,EAAQ,UAAU,OAAQ5G,EAAO,IAAI,MAAM4G,EAAQ,EAAIA,EAAQ,EAAI,CAAC,EAAGC,EAAQ,EAAGA,EAAQD,EAAOC,IACxG7G,EAAK6G,EAAQ,GAAK,UAAUA,GAE9B,GAAI7D,IAAM9D,EAAM,CACd,GAAI,CAACoD,GAAgBU,CAAC,EACpB,MAAM,IAAI,MAAM,mBAAmB,EAErC,IAAIe,GAAgBF,EAAab,CAAC,EAC9BkB,GAAgBM,GAAsBxB,EAAGhD,EAAK,EAAE,GAChD,CAAC+D,IAAiB,CAAChB,EAAiBgB,GAAeG,EAAa,IAClE8B,GAAoBhD,CAAC,CAEzB,MACE2D,EAAIF,EAAe,MAAM,OAAQ,CAACzD,CAAC,EAAE,OAAOhD,CAAI,CAAC,EAEnD,GAAI,CAACkF,EACH,IAAI4B,GAAUC,EAAa,EAU7B,OAAOJ,CACT,EACSK,EAAQ,UAAU,OAAQhH,EAAO,IAAI,MAAMgH,EAAQ,EAAIA,EAAQ,EAAI,CAAC,EAAGC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGjH,EAAKiH,EAAQ,GAAK,UAAUA,GAE9B,IAAIC,EAAShI,EAAK,MAAM,MAAMA,EAAM,CAACiG,EAAQuB,CAAM,EAAE,OAAO1G,CAAI,CAAC,EACjE,OAAAkF,EAAS,GACFgC,CACT,EACI3B,EAAY,SAAmBrG,EAAM,CACvC,QAASiI,EAAQ,UAAU,OAAQnH,EAAO,IAAI,MAAMmH,EAAQ,EAAIA,EAAQ,EAAI,CAAC,EAAGC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGpH,EAAKoH,EAAQ,GAAK,UAAUA,GAE9B,IAAIF,EAAST,GAAe,MAAM,OAAQ,CAACvH,CAAI,EAAE,OAAOc,CAAI,CAAC,EACzD8G,EAAUC,EAAa,EAS3B,OAAOG,CACT,EACItB,EAAY,SAASA,EAAU1G,EAAMmI,EAAkB,CACzD,IAAIC,GACHA,EAAgBzD,EAAa3E,CAAI,IAAM,MAAgBoI,EAAc,EAAE,QAAQ,SAAUC,EAAGvE,EAAG,CAC9F,IAAIwE,EAAW/D,EAAW,IAAIT,CAAC,EAC3BwE,EACFA,EAAS,EAAE,IAAItI,CAAI,EAEf8D,IAAM9D,GACR0G,EAAU5C,EAAG9D,CAAI,CAGvB,CAAC,EACD6F,GAAc7F,CAAI,EAClB,IAAIyG,EAAU,CACZ,EAAG,IAAI,IAAI0B,GAAoB,CAACA,CAAgB,CAAC,EACjD,EAAG,IAAI,GACT,EAKA,GAJA5D,EAAW,IAAIvE,EAAMyG,CAAO,EAIxBpD,GAAuBrD,CAAI,GAAKA,EAAK,QAAS,CAChD,IAAIuI,EAAYvI,EAAK,QAAQ,UAAY,CACvC,QAASwI,EAAQ,UAAU,OAAQ1H,EAAO,IAAI,MAAM0H,CAAK,EAAGC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF3H,EAAK2H,GAAS,UAAUA,GAE1B,OAAOpC,EAAU,MAAM,OAAQ,CAACrG,CAAI,EAAE,OAAOc,CAAI,CAAC,CACpD,CAAC,EACGyH,IACF9B,EAAQ,EAAI8B,EAEhB,CACA,OAAO9B,CACT,EACII,EAAc,SAASA,EAAY7G,EAAM,CAC3C,IAAI0I,EACAH,GAAaG,EAAkBnE,EAAW,IAAIvE,CAAI,IAAM,KAAO,OAAS0I,EAAgB,EACxFH,GACFA,EAAU,EAEZhE,EAAW,OAAOvE,CAAI,EAItB,IAAIoE,EAAYO,EAAa3E,CAAI,EAC7BoE,IACEH,EAAoBG,CAAS,GAC/BX,GAAcW,EAAU,CAAC,EAE3BA,EAAU,EAAE,QAAQ,SAAUiE,EAAGvE,EAAG,CAClC,GAAIA,IAAM9D,EAAM,CACd,IAAIyG,EAAUlC,EAAW,IAAIT,CAAC,EAC1B2C,IACFA,EAAQ,EAAE,OAAOzG,CAAI,EACjB2G,GAAe7C,EAAG2C,CAAO,GAC3BI,EAAY/C,CAAC,EAGnB,CACF,CAAC,EAIL,EACI6B,EAAoB,SAA2B3F,EAAMoE,EAAWuE,EAAkB,CACpF,IAAIC,EAAS,IAAI,IAAIxE,EAAU,EAAE,KAAK,CAAC,EACvCuE,GAAoB,MAAgBA,EAAiB,QAAQ,SAAUN,EAAGvE,EAAG,CAC3E,GAAI8E,EAAO,IAAI9E,CAAC,EAAG,CACjB8E,EAAO,OAAO9E,CAAC,EACf,MACF,CACA,IAAI2C,EAAUlC,EAAW,IAAIT,CAAC,EAC1B2C,IACFA,EAAQ,EAAE,OAAOzG,CAAI,EACjB2G,GAAe7C,EAAG2C,CAAO,GAC3BI,EAAY/C,CAAC,EAGnB,CAAC,EACD8E,EAAO,QAAQ,SAAU9E,EAAG,CAC1B,IAAI2C,EAAUlC,EAAW,IAAIT,CAAC,EAC1B2C,EACFA,EAAQ,EAAE,IAAIzG,CAAI,EACTuE,EAAW,IAAIvE,CAAI,GAC5B0G,EAAU5C,EAAG9D,CAAI,CAErB,CAAC,CACH,EACI6H,EAAe,UAAwB,CAKzC,QAJID,EAIGpD,EAAW,MAAM,CACtB,IAAIxH,EAAU,MAAM,KAAKwH,CAAU,EACnCA,EAAW,MAAM,EACjBxH,EAAQ,QAAQ,SAAUxC,EAAO,CAC/B,IAAIwF,EAAOxF,EAAM,GACfqK,EAAgBrK,EAAM,GACpB4J,EAAYO,EAAa3E,CAAI,EACjC,GAAIoE,EAAW,CACTA,EAAU,KAAOS,GAAiB,KAAO,OAASA,EAAc,IAClEc,EAAkB3F,EAAMoE,EAAWS,GAAiB,KAAO,OAASA,EAAc,CAAC,EAErF,IAAI4B,EAAUlC,EAAW,IAAIvE,CAAI,EAC7ByG,GAAW,EAAE5B,GAAiB,CAACZ,EAAoBY,CAAa,IAAMhB,EAAiBgB,EAAeT,CAAS,GAAKJ,EAAiBa,EAAeT,CAAS,KAC/JqC,EAAQ,EAAE,QAAQ,SAAUoC,EAAU,CACpC,OAAOA,EAAS,CAClB,CAAC,CAKL,CAGF,CAAC,CACH,CAIF,EACIC,EAAgB,SAAuB9I,EAAM6I,EAAU,CACzD,IAAIpC,EAAUD,GAAQxG,CAAI,EACtB4H,EAAUC,EAAa,EACvBkB,EAAYtC,EAAQ,EACxB,OAAAsC,EAAU,IAAIF,CAAQ,EASf,UAAY,CACjBE,EAAU,OAAOF,CAAQ,EACzBjC,GAAQ5G,CAAI,CAQd,CACF,EA4CA,MAAO,CACL,IAAKuG,GACL,IAAKF,EACL,IAAKyC,CACP,CACF,EACIE,EAQAC,EAAkB,UAA2B,CAC/C,OAAKD,IAIHA,EAAe3E,EAAY,GAEtB2E,CACT,EAEA5J,EAAQ,KAAOY,EACfZ,EAAQ,YAAciF,EACtBjF,EAAQ,gBAAkB6J,C,mBC3oB1B,IAAIhK,EAAU,EAAQ,KAAe,EAEjCiK,EAAQ,OAAO,EAEnB,SAASC,EAAcC,EAAc,CACnC,IAAIhI,EAASnC,EAAQ,KAAKmK,EAAc,SAAUpQ,EAAK4I,EAAKyH,EAAQ,CAClE,IAAIlJ,EAAY,OAAOkJ,GAAW,WAAaA,EAAOrQ,EAAIoI,CAAM,CAAC,EAAIiI,EACrEzH,EAAIR,EAAQjB,IAAc+I,EAAQE,EAAejJ,CAAS,CAC5D,CAAC,EACD,OAAOiB,CACT,CAEA,SAASkI,GAAgBF,EAAc7H,EAAS,CAC9C,IAAIH,EAASnC,EAAQ,KAAKmK,EAAc,SAAUpQ,EAAK4I,EAAKzG,EAAQ,CAClE,OAAOyG,EAAIR,EAAQG,EAAQvI,EAAIoI,CAAM,EAAGjG,CAAM,CAAC,CACjD,CAAC,EACD,OAAOiG,CACT,CAEA,SAASS,GAA4BC,EAAGC,EAAQ,CAC9C,GAAI,EAACD,EACL,IAAI,OAAOA,GAAM,SAAU,OAAOE,GAAkBF,EAAGC,CAAM,EAC7D,IAAI7H,EAAI,OAAO,UAAU,SAAS,KAAK4H,CAAC,EAAE,MAAM,EAAG,EAAE,EAErD,GADI5H,IAAM,UAAY4H,EAAE,cAAa5H,EAAI4H,EAAE,YAAY,MACnD5H,IAAM,OAASA,IAAM,MAAO,OAAO,MAAM,KAAK4H,CAAC,EACnD,GAAI5H,IAAM,aAAe,2CAA2C,KAAKA,CAAC,EAAG,OAAO8H,GAAkBF,EAAGC,CAAM,EACjH,CACA,SAASC,GAAkBC,EAAKC,EAAK,EAC/BA,GAAO,MAAQA,EAAMD,EAAI,UAAQC,EAAMD,EAAI,QAC/C,QAASE,EAAI,EAAGC,EAAO,IAAI,MAAMF,CAAG,EAAGC,EAAID,EAAKC,IAAKC,EAAKD,GAAKF,EAAIE,GACnE,OAAOC,CACT,CACA,SAASC,GAAgCP,EAAGQ,EAAgB,CAC1D,IAAIC,EAAK,OAAO,QAAW,aAAeT,EAAE,OAAO,WAAaA,EAAE,cAClE,GAAIS,EAAI,OAAQA,EAAKA,EAAG,KAAKT,CAAC,GAAG,KAAK,KAAKS,CAAE,EAC7C,GAAI,MAAM,QAAQT,CAAC,IAAMS,EAAKV,GAA4BC,CAAC,IAAMQ,GAAkBR,GAAK,OAAOA,EAAE,QAAW,SAAU,CAChHS,IAAIT,EAAIS,GACZ,IAAIJ,EAAI,EACR,OAAO,UAAY,CACjB,OAAIA,GAAKL,EAAE,OAAe,CACxB,KAAM,EACR,EACO,CACL,KAAM,GACN,MAAOA,EAAEK,IACX,CACF,CACF,CACA,MAAM,IAAI,UAAU;AAAA,mFAAuI,CAC7J,CAEA,SAASoH,GAAWC,EAAgBC,EAAU,CAC5C,IAAIC,EAAe,KACfC,EAAQ,IAAI,IACZC,EAAa,SAASA,EAAWC,EAAO,CAC1C,IAAIC,EACJ,GAAIL,IAAa,OACfK,EAAOH,EAAM,IAAIE,CAAK,MAEtB,SAASjH,EAAYP,GAAgCsH,CAAK,EAAG9G,EAAO,EAAEA,EAAQD,EAAU,GAAG,MAAO,CAChG,IAAIE,EAAcD,EAAM,MACtB9Q,EAAM+Q,EAAY,GAClB9S,EAAQ8S,EAAY,GACtB,GAAI2G,EAAS1X,EAAK8X,CAAK,EAAG,CACxBC,EAAO9Z,EACP,KACF,CACF,CAEF,GAAI8Z,IAAS,OACX,GAAIJ,GAAgB,MAAQA,EAAaI,EAAK,GAAID,CAAK,EACrDD,EAAW,OAAOC,CAAK,MAEvB,QAAOC,EAAK,GAGhB,IAAIC,EAAUP,EAAeK,CAAK,EAClC,OAAAF,EAAM,IAAIE,EAAO,CAACE,EAAS,KAAK,IAAI,CAAC,CAAC,EAC/BA,CACT,EACA,OAAAH,EAAW,OAAS,SAAUC,EAAO,CACnC,GAAIJ,IAAa,OACfE,EAAM,OAAOE,CAAK,MAElB,SAASG,EAAa3H,GAAgCsH,CAAK,EAAGM,EAAQ,EAAEA,EAASD,EAAW,GAAG,MAAO,CACpG,IAAIE,EAAeD,EAAO,MACxBlY,EAAMmY,EAAa,GACrB,GAAIT,EAAS1X,EAAK8X,CAAK,EAAG,CACxBF,EAAM,OAAO5X,CAAG,EAChB,KACF,CACF,CAEJ,EACA6X,EAAW,gBAAkB,SAAUO,EAAI,CAEzC,GADAT,EAAeS,EACX,EAACT,EACL,QAASU,EAAa/H,GAAgCsH,CAAK,EAAGU,EAAQ,EAAEA,EAASD,EAAW,GAAG,MAAO,CACpG,IAAIE,EAAeD,EAAO,MACxBtY,EAAMuY,EAAa,GACnBta,EAAQsa,EAAa,GACnBZ,EAAa1Z,EAAM,GAAI+B,CAAG,GAC5B4X,EAAM,OAAO5X,CAAG,CAEpB,CACF,EACO6X,CACT,CAEA,IAAIW,GAAc,SAAmBC,EAAG5V,EAAGuK,EAAG,CAC5C,OAAQvK,EAAE,IAAIuK,CAAC,EAAIvK,EAAIA,EAAE,IAAIuK,EAAGqL,EAAE,CAAC,GAAG,IAAIrL,CAAC,CAC7C,EACIsL,GAAW,IAAI,QACfC,EAAQ,SAAeC,EAAQC,EAAMC,EAAMC,EAAM,CACnD,IAAIC,EAASR,GAAY,UAAY,CACnC,OAAO,IAAI,OACb,EAAGE,GAAUG,CAAI,EACbI,EAAST,GAAY,UAAY,CACnC,OAAO,IAAI,OACb,EAAGQ,EAAQF,CAAI,EACf,OAAON,GAAYI,EAAQK,EAAQF,CAAI,CACzC,EACA,SAASG,EAAW7J,EAAQ8J,EAAUC,EAAY,CAChD,OAAIA,IAAe,SACjBA,EAAa,OAAO,IAEfT,EAAM,UAAY,CACvB,IAAIU,EAAQ,OAAO,EACfC,EAAc,SAAqBpX,EAAM,CAC3C,IAAIjE,EAAQiE,EAAK,GACfqX,EAAYrX,EAAK,GACnB,GAAIqX,IAAcF,EAChB,OAAOF,EAASlb,CAAK,EAEvB,IAAIuB,EAAQ2Z,EAASlb,EAAOsb,CAAS,EACrC,OAAOH,EAAWG,EAAW/Z,CAAK,EAAI+Z,EAAY/Z,CACpD,EACIga,EAActM,EAAQ,KAAK,SAAUjG,EAAK,CAC5C,IAAIkH,EAAOlH,EAAIuS,CAAW,EACtBvb,EAAQgJ,EAAIoI,CAAM,EACtB,OAAIpR,aAAiB,SAAWkQ,aAAgB,QACvC,QAAQ,IAAI,CAAClQ,EAAOkQ,CAAI,CAAC,EAAE,KAAKmL,CAAW,EAE7CA,EAAY,CAACrb,EAAOkQ,CAAI,CAAC,CAClC,CAAC,EACD,OAAAqL,EAAY,KAAOH,EACZG,CACT,EAAGnK,EAAQ8J,EAAUC,CAAU,CACjC,CAEA,IAAIK,EAAW,IAAI,QACfC,EAAU,SAAed,EAAQC,EAAM,CACzC,OAAQY,EAAS,IAAIZ,CAAI,EAAIY,EAAWA,EAAS,IAAIZ,EAAMD,EAAO,CAAC,GAAG,IAAIC,CAAI,CAChF,EACIc,EAAa,SAASA,EAAWC,EAAK,CACxC,GAAI,SAAOA,GAAQ,UAAYA,IAAQ,MACvC,QAAO,OAAOA,CAAG,EAEjB,QADIC,EAAY,OAAO,oBAAoBD,CAAG,EACrC/I,EAAYP,GAAgCuJ,CAAS,EAAG/I,EAAO,EAAEA,EAAQD,EAAU,GAAG,MAAO,CACpG,IAAIiJ,EAAOhJ,EAAM,MACb7S,EAAQ2b,EAAIE,GAChBH,EAAW1b,CAAK,CAClB,CACA,OAAO2b,EACT,EACA,SAASG,EAAW1K,EAAQ,CAC1B,OAAOqK,EAAQ,UAAY,CACzB,IAAIM,EAAa9M,EAAQ,KAAK,SAAUjG,EAAK,CAC3C,OAAO0S,EAAW1S,EAAIoI,CAAM,CAAC,CAC/B,EAAG,SAAU4K,EAAMpK,EAAKvJ,EAAK,CAC3B,OAAOuJ,EAAIR,EAAQ/I,CAAG,CACxB,CAAC,EACD,OAAO0T,CACT,EAAG3K,CAAM,CACX,CACA,SAAS6K,EAAkBrC,EAAY,CACrC,OAAO,UAAY,CACjB,IAAIxI,EAASwI,EAAW,MAAM,OAAQ,SAAS,EAC3CsC,EAAW9K,EAAO,KACtB,OAAAA,EAAO,KAAO,SAAUpI,EAAK7J,EAAS,CACpC,OAAOuc,EAAWQ,EAASlT,EAAK7J,CAAO,CAAC,CAC1C,EACOiS,CACT,CACF,CAEA,IAAI+K,EAAc,SAAmB3B,EAAG5V,EAAGuK,EAAG,CAC5C,OAAQvK,EAAE,IAAIuK,CAAC,EAAIvK,EAAIA,EAAE,IAAIuK,EAAGqL,EAAE,CAAC,GAAG,IAAIrL,CAAC,CAC7C,EACIiN,EAAW,IAAI,QACfC,EAAU,SAAe1B,EAAQC,EAAMC,EAAM,CAC/C,IAAIE,EAASoB,EAAY,UAAY,CACnC,OAAO,IAAI,OACb,EAAGC,EAAUxB,CAAI,EACjB,OAAOuB,EAAYxB,EAAQI,EAAQF,CAAI,CACzC,EACIyB,EAA+B,CAAC,EAChCC,EAAa,SAAoBvM,EAAM,CACzC,MAAO,CAAC,CAACA,EAAK,KAChB,EACIwM,EAAa,SAAoB7M,EAAG,CACtC,OAAO,OAAOA,GAAM,UACtB,EACA,SAAS8M,EAAUC,EAASC,EAAc,CACxC,OAAON,EAAQ,UAAY,CACzB,IAAIO,EAAe,IAAI,QACnBC,EAAa,SAASA,EAAW5K,EAAK/B,EAAM,CAC9C,IAAI4M,EAAUF,EAAa,IAAI3K,CAAG,EAClC,GAAI6K,EACF,OAAOA,EAET,IAAIC,EAAc7M,GAAQ0M,EAAa,IAAI1M,CAAI,EAC3C8M,EAAW,CAAC,EACZC,EAAU,CAAC,EACf,OAAAhL,EAAI,QAAQ,SAAU6H,EAAM9U,EAAO,CACjC,IAAIjD,EAAM4a,EAAeA,EAAa7C,CAAI,EAAI9U,EAC9CiY,EAAQjY,GAASjD,EACjB,IAAImb,EAAaH,GAAeA,EAAY,SAASA,EAAY,QAAQ,QAAQhb,CAAG,GACpF,GAAImb,EAAY,CACdF,EAAShY,GAASkY,EAClB,MACF,CACA,IAAIjK,EAAO,SAAcjK,EAAK,CAC5B,IAAIkH,GAAOlH,EAAImU,CAAW,EACtBC,GAAUpU,EAAI0T,CAAO,EACrBI,GAAUD,EAAWO,GAASlN,IAAQ,KAAO,OAASA,GAAK,GAAG,EAC9DlL,GAAQ8X,GAAQ,QAAQ,QAAQ/a,CAAG,EACvC,GAAIiD,GAAQ,GAAKA,IAASoY,GAAQ,OAAQ,CACxC,IAAIC,GAAWpL,EAAI4K,EAAW5K,CAAG,EAAE,QAAQ,QAAQlQ,CAAG,GACtD,GAAIsb,GACF,OAAOA,GAET,MAAM,IAAI,MAAM,yCAAyC,CAC3D,CACA,OAAOD,GAAQpY,GACjB,EACIkO,EAAQ,SAAelK,EAAK4I,GAAKyH,GAAQ,CAC3C,IAAInJ,GAAOlH,EAAImU,CAAW,EACtBlL,GAAMjJ,EAAI0T,CAAO,EACjBI,GAAUD,EAAW5K,GAAK/B,IAAQ,KAAO,OAASA,GAAK,GAAG,EAC1DlL,GAAQ8X,GAAQ,QAAQ,QAAQ/a,CAAG,EACvC,GAAIiD,GAAQ,GAAKA,IAASiN,GAAI,OAC5B,MAAM,IAAI,MAAM,0CAA0C,EAE5D,IAAIqL,GAAWd,EAAWnD,EAAM,EAAIA,GAAOpH,GAAIjN,GAAM,EAAIqU,GACzDzH,GAAI8K,EAAS,CAAC,EAAE,OAAOzK,GAAI,MAAM,EAAGjN,EAAK,EAAG,CAACsY,EAAQ,EAAGrL,GAAI,MAAMjN,GAAQ,CAAC,CAAC,CAAC,CAC/E,EACAgY,EAAShY,GAASuX,EAAWG,CAAO,EAAIzN,EAAQ,KAAKgE,EAAMC,CAAK,EAAIjE,EAAQ,KAAKgE,CAAI,CACvF,CAAC,EACG8J,GAAeA,EAAY,QAAQ,SAAWE,EAAQ,QAAUF,EAAY,QAAQ,MAAM,SAAUpN,EAAGwC,EAAG,CAC5G,OAAOxC,IAAMsN,EAAQ9K,EACvB,CAAC,EACC2K,EAAUC,EAEVD,EAAU,CACR,IAAK7K,EACL,SAAU+K,EACV,QAASC,CACX,EAEFL,EAAa,IAAI3K,EAAK6K,CAAO,EACtBA,CACT,EACIK,EAAclO,EAAQ,KAAK,SAAUjG,EAAK,CAC5C,IAAIkH,EAAOlH,EAAImU,CAAW,EACtBlL,EAAMjJ,EAAI0T,CAAO,EACjBI,EAAUD,EAAW5K,EAAK/B,GAAQ,KAAO,OAASA,EAAK,GAAG,EAC9D,OAAO4M,CACT,CAAC,EAIDK,EAAY,KAAO,OACnB,IAAII,EAAehB,EAAWG,CAAO,EAAIzN,EAAQ,KAAK,SAAUjG,EAAK,CACnE,OAAOA,EAAImU,CAAW,EAAE,QAC1B,EAAG,SAAUnU,EAAK4I,EAAKzG,EAAQ,CAC7B,OAAQA,EAAO,KAAM,CACnB,IAAK,SACH,CACE,IAAInG,EAAQgE,EAAIuU,CAAY,EAAE,QAAQpS,EAAO,IAAI,EACjD,GAAInG,GAAS,EAAG,CACd,IAAIiN,EAAMjJ,EAAI0T,CAAO,EACrB9K,EAAI8K,EAAS,CAAC,EAAE,OAAOzK,EAAI,MAAM,EAAGjN,CAAK,EAAGiN,EAAI,MAAMjN,EAAQ,CAAC,CAAC,CAAC,CACnE,CACA,KACF,CACF,IAAK,SACH,CACE,IAAIwY,EAASrS,EAAO,OAASnC,EAAIuU,CAAY,EAAE,QAAQpS,EAAO,MAAM,EAAInC,EAAIuU,CAAY,EAAE,OAC1F,GAAIC,GAAU,EAAG,CACf,IAAIC,EAAOzU,EAAI0T,CAAO,EACtB9K,EAAI8K,EAAS,CAAC,EAAE,OAAOe,EAAK,MAAM,EAAGD,CAAM,EAAG,CAACrS,EAAO,KAAK,EAAGsS,EAAK,MAAMD,CAAM,CAAC,CAAC,CACnF,CACA,KACF,CACF,IAAK,OACH,CACE,IAAIE,EAAS1U,EAAIuU,CAAY,EAAE,QAAQpS,EAAO,IAAI,EAC9CwS,EAASxS,EAAO,OAASnC,EAAIuU,CAAY,EAAE,QAAQpS,EAAO,MAAM,EAAInC,EAAIuU,CAAY,EAAE,OAC1F,GAAIG,GAAU,GAAKC,GAAU,EAAG,CAC9B,IAAIC,EAAQ5U,EAAI0T,CAAO,EACnBgB,EAASC,EACX/L,EAAI8K,EAAS,CAAC,EAAE,OAAOkB,EAAM,MAAM,EAAGF,CAAM,EAAGE,EAAM,MAAMF,EAAS,EAAGC,CAAM,EAAG,CAACC,EAAMF,EAAO,EAAGE,EAAM,MAAMD,CAAM,CAAC,CAAC,EAErH/L,EAAI8K,EAAS,CAAC,EAAE,OAAOkB,EAAM,MAAM,EAAGD,CAAM,EAAG,CAACC,EAAMF,EAAO,EAAGE,EAAM,MAAMD,EAAQD,CAAM,EAAGE,EAAM,MAAMF,EAAS,CAAC,CAAC,CAAC,CAEzH,CACA,KACF,CACJ,CACF,CAAC,EAAIzO,EAAQ,KAAK,SAAUjG,EAAK,CAC/B,OAAOA,EAAImU,CAAW,EAAE,QAC1B,CAAC,EACD,OAAOI,CACT,EAAGb,EAASC,GAAgBL,CAA4B,CAC1D,CAEA,SAASuB,EAAgBC,EAAY,CACnC,IAAI1C,EAAQ,OAAO,EACf2C,EAAkB9O,EAAQ,KAAKmM,CAAK,EAIpChK,EAASnC,EAAQ,KAAK,SAAUjG,EAAK7J,EAAS,CAChD,IAAI6e,EAAchV,EAAI+U,CAAe,EACrC,OAAIC,IAAgB5C,EACX4C,EAEFF,EAAW9U,EAAK7J,CAAO,CAChC,EAAG,SAAU6J,EAAK4I,EAAKyH,EAAQ,CAC7B,GAAIA,IAAWH,EACbtH,EAAImM,EAAiB3C,CAAK,UACjB,OAAO/B,GAAW,WAAY,CACvC,IAAI4E,EAAYjV,EAAIoI,CAAM,EAC1BQ,EAAImM,EAAiB1E,EAAO4E,CAAS,CAAC,CACxC,MACErM,EAAImM,EAAiB1E,CAAM,CAE/B,CAAC,EACD,OAAOjI,CACT,CAEA,IAAI1B,GAAgB,SAAuBC,EAAG,CAC5C,OAAO,OAAQA,GAAK,KAAO,OAASA,EAAE,OAAU,UAClD,EACA,SAASuO,EAAkBC,EAAkB,CAC3C,IAAIC,EACAC,EACAC,EAAU,CACZ,QAAS,SAAiBvc,EAAKqX,EAAc,CAC3C,IAAImF,EAAuBC,EACvBjf,EAAQ,SAAekf,EAAK,CAE9B,GADAA,EAAMA,GAAO,GACTL,IAAYK,EAAK,CACnB,GAAI,CACFJ,EAAY,KAAK,MAAMI,CAAG,CAC5B,OAASC,EAAP,CACA,OAAOtF,CACT,CACAgF,EAAUK,CACZ,CACA,OAAOJ,CACT,EACII,GAAOF,GAAyBC,EAAoBL,EAAiB,IAAM,KAAO,OAASK,EAAkB,QAAQzc,CAAG,IAAM,KAAOwc,EAAwB,KACjK,OAAI7O,GAAc+O,CAAG,EACZA,EAAI,KAAKlf,CAAK,EAEhBA,EAAMkf,CAAG,CAClB,EACA,QAAS,SAAiB1c,EAAK4c,EAAU,CACvC,IAAIC,EACJ,OAAQA,EAAqBT,EAAiB,IAAM,KAAO,OAASS,EAAmB,QAAQ7c,EAAK,KAAK,UAAU4c,CAAQ,CAAC,CAC9H,EACA,WAAY,SAAoB5c,EAAK,CACnC,IAAI8c,EACJ,OAAQA,EAAqBV,EAAiB,IAAM,KAAO,OAASU,EAAmB,WAAW9c,CAAG,CACvG,CACF,EACA,OAAI,OAAO,QAAW,aAAe,OAAO,OAAO,kBAAqB,aACtEuc,EAAQ,UAAY,SAAUvc,EAAK4P,EAAUyH,EAAc,CACzD,GAAI,EAAE+E,EAAiB,YAAa,OAAO,SACzC,OAAO,UAAY,CAAC,EAEtB,IAAIW,EAAuB,SAA8BhP,EAAG,CAC1D,GAAIA,EAAE,cAAgBqO,EAAiB,GAAKrO,EAAE,MAAQ/N,EAAK,CACzD,IAAIgd,EACJ,GAAI,CACFA,EAAY,KAAK,MAAMjP,EAAE,UAAY,EAAE,CACzC,OAASkP,EAAP,CACAD,EAAY3F,CACd,CACAzH,EAASoN,CAAS,CACpB,CACF,EACA,cAAO,iBAAiB,UAAWD,CAAoB,EAChD,UAAY,CACjB,OAAO,oBAAoB,UAAWA,CAAoB,CAC5D,CACF,GAEKR,CACT,CACA,IAAIW,GAAiBf,EAAkB,UAAY,CACjD,OAAO,OAAO,QAAW,YAAc,OAAO,aAAe,MAC/D,CAAC,EACD,SAASgB,GAAgBnd,EAAKqX,EAAckF,EAASa,EAAkB,CACjEb,IAAY,SACdA,EAAUW,IAEZ,IAAIG,EAAYD,GAAoB,KAAO,OAASA,EAAiB,mBACjEE,EAAWpQ,EAAQ,KAAKmQ,EAAYd,EAAQ,QAAQvc,EAAKqX,CAAY,EAAIA,CAAY,EAIzFiG,EAAS,QAAU,SAAUzO,EAAS,CAC/BwO,GACHxO,EAAQ0N,EAAQ,QAAQvc,EAAKqX,CAAY,CAAC,EAE5C,IAAI1I,EACJ,OAAI4N,EAAQ,YACV5N,EAAQ4N,EAAQ,UAAUvc,EAAK6O,EAASwI,CAAY,GAE/C1I,CACT,EACA,IAAIU,EAASnC,EAAQ,KAAK,SAAUjG,EAAK,CACvC,OAAOA,EAAIqW,CAAQ,CACrB,EAAG,SAAUrW,EAAK4I,EAAKyH,EAAQ,CAC7B,IAAIlJ,EAAY,OAAOkJ,GAAW,WAAaA,EAAOrQ,EAAIqW,CAAQ,CAAC,EAAIhG,EACvE,OAAIlJ,IAAc+I,GAChBtH,EAAIyN,EAAUjG,CAAY,EACnBkF,EAAQ,WAAWvc,CAAG,GAE3BoO,aAAqB,QAChBA,EAAU,KAAK,SAAUmP,EAAe,CAC7C,OAAA1N,EAAIyN,EAAUC,CAAa,EACpBhB,EAAQ,QAAQvc,EAAKud,CAAa,CAC3C,CAAC,GAEH1N,EAAIyN,EAAUlP,CAAS,EAChBmO,EAAQ,QAAQvc,EAAKoO,CAAS,EACvC,CAAC,EACD,OAAOiB,CACT,CAEA,SAASmO,GAAmBC,EAAergB,EAAS,CAClD,IAAIsgB,EAAmB,SAA0BzH,EAAQ,CACvD,GAAI,MAAOA,EACT,MAAMA,EAAO,EAEf,OAAOA,EAAO,CAChB,EACI0H,EAAuBzQ,EAAQ,KAAK,SAAUjG,EAAK,CACrD,IAAI2W,EAAuBC,EACvBC,EAAaL,EAAcxW,CAAG,EAC9B8W,GAAUH,GAAyBC,EAAcC,GAAY,OAAO,cAAgB,KAAO,OAASF,EAAsB,KAAKC,CAAW,EAC1IE,IACFD,EAAaC,GAEf,IAAIrT,EACAsT,EAAc,UAAuB,CACvC,OAAO,IAAI,QAAQ,SAAUtI,GAAG,CAC9BhL,EAAUgL,EACZ,CAAC,CACH,EACIuI,EAAgB7gB,GAAW,iBAAkBA,EAAU,CACzD,EAAG,OAAOA,EAAQ,cAAiB,WAAaA,EAAQ,aAAa,EAAIA,EAAQ,YACnF,EAAI4gB,EAAY,EACZE,EACAC,EACArH,EAAW,SAAkBb,GAAQ,CACvCkI,EAAalI,GACbvL,GAAW,MAAgBA,EAAQuL,EAAM,EACzCiI,GAAa,MAAgBA,EAAUjI,EAAM,CAC/C,EACImI,EACAC,EACAC,EAAe,UAAwB,CACzC,MAAO,CAACJ,CACV,EACIK,EAAQ,UAAiB,CACvBH,IACF,aAAaC,CAAK,EAClBD,EAAa,YAAY,GAE3BA,EAAeN,EAAW,UAAU,CAClC,KAAM,SAAcU,GAAG,CACrB,OAAO1H,EAAS,CACd,EAAG0H,EACL,CAAC,CACH,EACA,MAAO,SAAezQ,GAAG,CACvB,OAAO+I,EAAS,CACd,EAAG/I,EACL,CAAC,CACH,EACA,SAAU,UAAoB,CAAC,CACjC,CAAC,EACGuQ,EAAa,GAAKlhB,GAAW,MAAQA,EAAQ,mBAC/CihB,EAAQ,WAAW,UAAY,CACzBD,IACFA,EAAa,YAAY,EACzBA,EAAe,OAEnB,EAAGhhB,EAAQ,gBAAgB,EAE/B,EACAmhB,EAAM,EACN,IAAIE,EAAavR,EAAQ,KAAKiR,GAAcF,CAAa,EAIzD,OAAAQ,EAAW,QAAU,SAAUnH,GAAQ,CACrC,OAAA4G,EAAY5G,GACR6G,GACF7G,GAAO6G,CAAU,EAEfC,EACF,aAAaC,CAAK,EAElBE,EAAM,EAED,UAAY,CACjBL,EAAY,OACRE,IACFA,EAAa,YAAY,EACzBA,EAAe,OAEnB,CACF,EACO,CAACK,EAAYX,EAAYE,EAAaO,EAAOD,CAAY,CAClE,CAAC,EAIGI,EAAiBxR,EAAQ,KAAK,SAAUjG,EAAK,CAC/C,IAAIgT,EAAOhT,EAAI0W,CAAoB,EACjCc,EAAaxE,EAAK,GAChBhE,EAAShP,EAAIwX,CAAU,EAC3B,OAAIxI,aAAkB,QACbA,EAAO,KAAKyH,CAAgB,EAE9BA,EAAiBzH,CAAM,CAChC,EAAG,SAAUhP,EAAK4I,EAAKjL,EAAM,CAC3B,IAAI+Z,EAAQ1X,EAAI0W,CAAoB,EAClCc,EAAaE,EAAM,GACnBb,EAAaa,EAAM,GACnBX,EAAcW,EAAM,GACpBJ,EAAQI,EAAM,GACdL,EAAeK,EAAM,GACvB,GAAI,SAAUb,EACRQ,EAAa,IACfzO,EAAI4O,EAAYT,EAAY,CAAC,EAC7BO,EAAM,GAERT,EAAW,KAAKlZ,CAAI,MAEpB,OAAM,IAAI,MAAM,2BAA2B,CAE/C,CAAC,EACD,OAAO8Z,CACT,CAEA,IAAIE,GAAW,IAAI,QACfC,GAAQ,SAAejG,EAAQC,EAAM,CACvC,OAAQ+F,GAAS,IAAI/F,CAAI,EAAI+F,GAAWA,GAAS,IAAI/F,EAAMD,EAAO,CAAC,GAAG,IAAIC,CAAI,CAChF,EACIiG,GAAU,CACZ,MAAO,SACT,EACA,SAASC,GAAS1P,EAAQ,CACxB,OAAOwP,GAAM,UAAY,CACvB,IAAIG,EAAgB,IAAI,QACpBC,EAAc/R,EAAQ,KAAK,CAAC,EAI5BsM,EAActM,EAAQ,KAAK,SAAUjG,EAAK/E,EAAM,CAClD,IAAImS,EAAUnS,EAAK,QACnB+E,EAAIgY,CAAW,EACf,IAAIhhB,EACJ,GAAI,CACFA,EAAQgJ,EAAIoI,CAAM,CACpB,OAASlP,EAAP,CACA,MAAO,CACL,MAAO,WACP,MAAOA,CACT,CACF,CACA,GAAI,EAAElC,aAAiB,SACrB,MAAO,CACL,MAAO,UACP,KAAMA,CACR,EAEF,IAAI+M,EAAU/M,EACVihB,EAASF,EAAc,IAAIhU,CAAO,EACtC,OAAIkU,IAGJF,EAAc,IAAIhU,EAAS8T,EAAO,EAClC9T,EAAQ,KAAK,SAAUpG,EAAM,CAC3Boa,EAAc,IAAIhU,EAAS,CACzB,MAAO,UACP,KAAMpG,CACR,CAAC,CACH,EAAG,SAAUzE,EAAO,CAClB6e,EAAc,IAAIhU,EAAS,CACzB,MAAO,WACP,MAAO7K,CACT,CAAC,CACH,CAAC,EAAE,QAAQkU,CAAO,EACXyK,GACT,EAAG,SAAU7E,EAAMpK,EAAK,CACtBA,EAAIoP,EAAa,SAAUxG,EAAG,CAC5B,OAAOA,EAAI,CACb,CAAC,CACH,CAAC,EAID,OAAOvL,EAAQ,KAAK,SAAUjG,EAAK,CACjC,OAAOA,EAAIuS,CAAW,CACxB,CAAC,CACH,EAAGnK,CAAM,CACX,CAEA,IAAI8P,GAAY,SAAmB1G,EAAG5V,EAAGuK,EAAG,CAC1C,OAAQvK,EAAE,IAAIuK,CAAC,EAAIvK,EAAIA,EAAE,IAAIuK,EAAGqL,EAAE,CAAC,GAAG,IAAIrL,CAAC,CAC7C,EACIgS,GAAS,IAAI,QACbC,GAAQ,SAAezG,EAAQC,EAAMC,EAAM,CAC7C,IAAIE,EAASmG,GAAU,UAAY,CACjC,OAAO,IAAI,OACb,EAAGC,GAAQvG,CAAI,EACf,OAAOsG,GAAUvG,EAAQI,EAAQF,CAAI,CACvC,EACIwG,GAAkB,UAA2B,CAEjD,EACA,SAASC,GAAOlQ,EAAQmQ,EAAU,CAChC,OAAIA,IAAa,SACfA,EAAWF,IAEND,GAAM,UAAY,CACvB,IAAII,EAAoB,IAAI,QACxBC,EAAqB,IAAI,QACzBT,EAAc/R,EAAQ,KAAK,CAAC,EAI5ByS,EAAsBzS,EAAQ,KAAK,SAAUjG,EAAK/E,EAAM,CAC1D,IAAImS,EAAUnS,EAAK,QACnB+E,EAAIgY,CAAW,EACf,IAAI9Q,EAAOlH,EAAI0Y,CAAmB,EAC9B3U,EAAU/D,EAAIoI,CAAM,EACxB,GAAI,EAAErE,aAAmB,SACvB,MAAO,CACL,EAAGA,CACL,EAEF,GAAIA,KAAamD,GAAQ,KAAO,OAASA,EAAK,GAAI,CAChD,GAAIsR,EAAkB,IAAIzU,CAAO,EAC/B,MAAMyU,EAAkB,IAAIzU,CAAO,EAErC,GAAI0U,EAAmB,IAAI1U,CAAO,EAChC,MAAO,CACL,EAAGA,EACH,EAAG0U,EAAmB,IAAI1U,CAAO,CACnC,CAEJ,CAQA,OAPIA,KAAamD,GAAQ,KAAO,OAASA,EAAK,IAC5CnD,EAAQ,KAAK,SAAU8C,EAAG,CACxB,OAAO4R,EAAmB,IAAI1U,EAAS8C,CAAC,CAC1C,EAAG,SAAUC,EAAG,CACd,OAAO0R,EAAkB,IAAIzU,EAAS+C,CAAC,CACzC,CAAC,EAAE,QAAQsG,CAAO,EAEhBlG,GAAQ,MAAOA,EACV,CACL,EAAGnD,EACH,EAAGwU,EAASrR,EAAK,CAAC,CACpB,EAEK,CACL,EAAGnD,EACH,EAAGwU,EAAS,CACd,CACF,EAAG,SAAUvF,EAAMpK,EAAK,CACtBA,EAAIoP,EAAa,SAAUxG,EAAG,CAC5B,OAAOA,EAAI,CACb,CAAC,CACH,CAAC,EACD,OAAAkH,EAAoB,KAAO,OAIpBzS,EAAQ,KAAK,SAAUjG,EAAK,CACjC,IAAItJ,EAAQsJ,EAAI0Y,CAAmB,EACnC,MAAI,MAAOhiB,EACFA,EAAM,EAERA,EAAM,CACf,EAAG0R,EAAO,KAAK,CACjB,EAAGA,EAAQmQ,CAAQ,CACrB,CAEAnS,EAAQ,MAAQ8J,EAChB9J,EAAQ,WAAamK,GACrBnK,EAAQ,gBAAkByO,EAC1BzO,EAAQ,mBAAqBmQ,GAC7BnQ,EAAQ,gBAAkBkK,GAC1BlK,EAAQ,cAAgB+J,EACxB/J,EAAQ,gBAAkB8P,GAC1B9P,EAAQ,kBAAoB8O,EAC5B9O,EAAQ,WAAa0M,EACrB1M,EAAQ,kBAAoB6M,EAC5B7M,EAAQ,SAAW0R,GACnB1R,EAAQ,WAAa6L,EACrB7L,EAAQ,UAAYqN,EACpBrN,EAAQ,OAASkS,E,0HCltBbK,GAAkB,oGAClBC,GAAe,CACjB,QAAS,IACT,QAAS,IACT,OAAQ,IACR,QAAS,IACT,OAAQ,IACR,QAAS,IACT,SAAU,IACV,QAAS,IACT,SAAU,IACV,QAAS,IACT,SAAU,IACV,SAAU,IACV,SAAU,OACV,SAAU,OACV,QAAS,OACT,SAAU,OACV,WAAY,SACZ,UAAW,SACX,SAAU,IACV,QAAS,GACX,EAEIC,GAAqB,SAA4Bjd,EAAG,CACtD,OAAOgd,GAAahd,EACtB,EAEW,GAAW,SAAkBkd,EAAM,CAC5C,OAAOA,EAAK,QAAQH,GAAiBE,EAAkB,CACzD,EC1BA,SAASE,GAAQC,EAAQC,EAAgB,CAAE,IAAIC,EAAO,OAAO,KAAKF,CAAM,EAAG,GAAI,OAAO,sBAAuB,CAAE,IAAIG,EAAU,OAAO,sBAAsBH,CAAM,EAAOC,IAAkBE,EAAUA,EAAQ,OAAO,SAAUC,GAAK,CAAE,OAAO,OAAO,yBAAyBJ,EAAQI,EAAG,EAAE,UAAY,CAAC,GAAKF,EAAK,KAAK,MAAMA,EAAMC,CAAO,CAAG,CAAE,OAAOD,CAAM,CAExV,SAASG,GAAcC,EAAQ,CAAE,QAASnQ,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CAAE,IAAIoQ,EAAS,UAAUpQ,IAAM,KAAO,UAAUA,GAAK,CAAC,EAAOA,EAAI,EAAK4P,GAAQ,OAAOQ,CAAM,EAAG,EAAI,EAAE,QAAQ,SAAUxgB,EAAK,E,EAAE,KAAgBugB,EAAQvgB,EAAKwgB,EAAOxgB,EAAI,CAAG,CAAC,EAAc,OAAO,0BAA6B,OAAO,iBAAiBugB,EAAQ,OAAO,0BAA0BC,CAAM,CAAC,EAAYR,GAAQ,OAAOQ,CAAM,CAAC,EAAE,QAAQ,SAAUxgB,EAAK,CAAE,OAAO,eAAeugB,EAAQvgB,EAAK,OAAO,yBAAyBwgB,EAAQxgB,CAAG,CAAC,CAAG,CAAC,CAAK,CAAE,OAAOugB,CAAQ,CAIrhB,IAAIE,EAAiB,CACnB,SAAU,kBACV,cAAe,GACf,oBAAqB,GACrB,2BAA4B,GAC5B,mBAAoB,GACpB,2BAA4B,CAAC,KAAM,SAAU,IAAK,GAAG,EACrD,YAAa,GACb,SAAU,EACZ,EACIC,EACOC,G,EAAc,kBAAc,EAChC,SAASC,GAAc,CAC5B,IAAIxjB,EAAU,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,CAAC,EACnFqjB,EAAiBH,GAAcA,GAAc,CAAC,EAAGG,CAAc,EAAGrjB,CAAO,CAC3E,CACO,SAASyjB,GAAc,CAC5B,OAAOJ,CACT,CACO,IAAIK,EAAmB,UAAY,CACxC,SAASA,GAAmB,E,EAC1B,KAAgB,KAAMA,CAAgB,EAEtC,KAAK,eAAiB,CAAC,CACzB,CAEA,O,EAAA,KAAaA,EAAkB,CAAC,CAC9B,IAAK,oBACL,MAAO,SAA2BC,EAAY,CAC5C,IAAIC,EAAQ,KAEZD,EAAW,QAAQ,SAAUE,GAAI,CAC1BD,EAAM,eAAeC,MAAKD,EAAM,eAAeC,IAAM,GAC5D,CAAC,CACH,CACF,EAAG,CACD,IAAK,oBACL,MAAO,UAA6B,CAClC,OAAO,OAAO,KAAK,KAAK,cAAc,CACxC,CACF,CAAC,CAAC,EAEKH,CACT,EAAE,EACK,SAASI,EAAQC,EAAU,CAChCT,EAAeS,CACjB,CACO,SAASC,GAAU,CACxB,OAAOV,CACT,CACO,IAAIW,EAAmB,CAC5B,KAAM,WACN,KAAM,SAAcF,EAAU,CAC5BP,EAAYO,EAAS,QAAQ,KAAK,EAClCD,EAAQC,CAAQ,CAClB,CACF,EACO,SAASG,EAAoBC,EAAc,CAChD,OAAO,SAAU5d,EAAK,CACpB,OAAO,IAAI,QAAQ,SAAU+G,EAAS,CACpC,IAAI8W,EAAmBC,EAAgB,EAEnCF,EAAa,gBACfA,EAAa,gBAAgB5d,CAAG,EAAE,KAAK,SAAU+d,GAAwB,CACvEhX,EAAQ4V,GAAcA,GAAc,CAAC,EAAGoB,EAAsB,EAAGF,CAAgB,CAAC,CACpF,CAAC,EAED9W,EAAQ8W,CAAgB,CAE5B,CAAC,CACH,CACF,CACO,SAASC,GAAkB,CAChC,IAAIE,EAAOP,EAAQ,EACfL,EAAaY,EAAK,iBAAmBA,EAAK,iBAAiB,kBAAkB,EAAI,CAAC,EAClFC,EAAM,CAAC,EACPC,EAAmB,CAAC,EACxB,OAAAF,EAAK,UAAU,QAAQ,SAAUG,GAAG,CAClCD,EAAiBC,IAAK,CAAC,EACvBf,EAAW,QAAQ,SAAUE,EAAI,CAC/BY,EAAiBC,IAAGb,GAAMU,EAAK,kBAAkBG,GAAGb,CAAE,GAAK,CAAC,CAC9D,CAAC,CACH,CAAC,EACDW,EAAI,iBAAmBC,EACvBD,EAAI,gBAAkBD,EAAK,SACpBC,CACT,C","file":"50-c8d1f63459c4d70487c5.js","sourcesContent":["import * as React from \"react\";\nimport type {\n AgnosticRouteMatch,\n AgnosticIndexRouteObject,\n AgnosticNonIndexRouteObject,\n History,\n Location,\n RelativeRoutingType,\n Router,\n StaticHandlerContext,\n To,\n TrackedPromise,\n LazyRouteFunction,\n} from \"@remix-run/router\";\nimport type { Action as NavigationType } from \"@remix-run/router\";\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nexport interface IndexRouteObject {\n caseSensitive?: AgnosticIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticIndexRouteObject[\"path\"];\n id?: AgnosticIndexRouteObject[\"id\"];\n loader?: AgnosticIndexRouteObject[\"loader\"];\n action?: AgnosticIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticIndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction;\n}\n\nexport interface NonIndexRouteObject {\n caseSensitive?: AgnosticNonIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticNonIndexRouteObject[\"path\"];\n id?: AgnosticNonIndexRouteObject[\"id\"];\n loader?: AgnosticNonIndexRouteObject[\"loader\"];\n action?: AgnosticNonIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticNonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticNonIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticNonIndexRouteObject[\"handle\"];\n index?: false;\n children?: RouteObject[];\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction;\n}\n\nexport type RouteObject = IndexRouteObject | NonIndexRouteObject;\n\nexport type DataRouteObject = RouteObject & {\n children?: DataRouteObject[];\n id: string;\n};\n\nexport interface RouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends RouteObject = RouteObject\n> extends AgnosticRouteMatch {}\n\nexport interface DataRouteMatch extends RouteMatch {}\n\nexport interface DataRouterContextObject extends NavigationContextObject {\n router: Router;\n staticContext?: StaticHandlerContext;\n}\n\nexport const DataRouterContext =\n React.createContext(null);\nif (__DEV__) {\n DataRouterContext.displayName = \"DataRouter\";\n}\n\nexport const DataRouterStateContext = React.createContext<\n Router[\"state\"] | null\n>(null);\nif (__DEV__) {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\n\nexport const AwaitContext = React.createContext(null);\nif (__DEV__) {\n AwaitContext.displayName = \"Await\";\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\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 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 interface Navigator {\n createHref: History[\"createHref\"];\n // Optional for backwards-compat with Router/HistoryRouter usage (edge case)\n encodeLocation?: History[\"encodeLocation\"];\n go: History[\"go\"];\n push(to: To, state?: any, opts?: NavigateOptions): void;\n replace(to: To, state?: any, opts?: NavigateOptions): void;\n}\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\nexport interface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n isDataRoute: boolean;\n}\n\nexport const RouteContext = React.createContext({\n outlet: null,\n matches: [],\n isDataRoute: false,\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\nexport const RouteErrorContext = React.createContext(null);\n\nif (__DEV__) {\n RouteErrorContext.displayName = \"RouteError\";\n}\n","import * as React from \"react\";\nimport type {\n Blocker,\n BlockerFunction,\n Location,\n ParamParseKey,\n Params,\n Path,\n PathMatch,\n PathPattern,\n RelativeRoutingType,\n Router as RemixRouter,\n RevalidationState,\n To,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n UNSAFE_invariant as invariant,\n isRouteErrorResponse,\n joinPaths,\n matchPath,\n matchRoutes,\n parsePath,\n resolveTo,\n stripBasename,\n IDLE_BLOCKER,\n UNSAFE_getPathContributingMatches as getPathContributingMatches,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\n\nimport type {\n NavigateOptions,\n RouteContextObject,\n RouteMatch,\n RouteObject,\n DataRouteMatch,\n} from \"./context\";\nimport {\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n RouteErrorContext,\n AwaitContext,\n} from \"./context\";\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/hooks/use-href\n */\nexport function useHref(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): 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 component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname =\n pathname === \"/\" ? basename : 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 .\n *\n * @see https://reactrouter.com/hooks/use-in-router-context\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/hooks/use-location\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 component.`\n );\n\n return React.useContext(LocationContext).location;\n}\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/hooks/use-navigation-type\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/hooks/use-match\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | 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 component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(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\nconst navigateEffectWarning =\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`;\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(\n cb: Parameters[0]\n) {\n let isStatic = React.useContext(NavigationContext).static;\n if (!isStatic) {\n // We should be able to get rid of this once react 18.3 is released\n // See: https://github.com/facebook/react/pull/26395\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(cb);\n }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/hooks/use-navigate\n */\nexport function useNavigate(): NavigateFunction {\n let { isDataRoute } = React.useContext(RouteContext);\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\n\nfunction useNavigateUnstable(): 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 component.`\n );\n\n let dataRouterContext = React.useContext(DataRouterContext);\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 getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our history listener yet\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 options.relative === \"path\"\n );\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history (but only if we're not in a data router,\n // otherwise it'll prepend the basename inside of the router).\n // If this is a root navigation, then we navigate to the raw basename\n // which allows the basename to have full control over the presence of a\n // trailing slash on root links\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\"\n ? basename\n : joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state,\n options\n );\n },\n [\n basename,\n navigator,\n routePathnamesJson,\n locationPathname,\n dataRouterContext,\n ]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(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/hooks/use-outlet-context\n */\nexport function useOutletContext(): 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 to render child routes.\n *\n * @see https://reactrouter.com/hooks/use-outlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\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/hooks/use-params\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\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/hooks/use-resolved-path\n */\nexport function useResolvedPath(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () =>\n resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\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 to render their child route's\n * element.\n *\n * @see https://reactrouter.com/hooks/use-routes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nexport function useRoutesImpl(\n routes: RouteObject[],\n locationArg?: Partial | string,\n dataRouterState?: RemixRouter[\"state\"]\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 component.`\n );\n\n let { navigator } = React.useContext(NavigationContext);\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 under a \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 // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) 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 to .`\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 \\`\\` 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\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 matches[matches.length - 1].route.Component !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" ` +\n `does not have an element or Component. This means it will render an with a ` +\n `null value by default resulting in an \"empty\" page.`\n );\n }\n\n let renderedMatches = _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathname).pathname\n : match.pathname,\n ]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathnameBase).pathname\n : match.pathnameBase,\n ]),\n })\n ),\n parentMatches,\n dataRouterState\n );\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return (\n \n {renderedMatches}\n \n );\n }\n\n return renderedMatches;\n}\n\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error)\n ? `${error.status} ${error.statusText}`\n : error instanceof Error\n ? error.message\n : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n\n let devInfo = null;\n if (__DEV__) {\n console.error(\n \"Error handled by React Router default ErrorBoundary:\",\n error\n );\n\n devInfo = (\n <>\n

💿 Hey developer 👋

\n

\n You can provide a way better UX than this when your app throws errors\n by providing your own ErrorBoundary or{\" \"}\n errorElement prop on your route.\n

\n \n );\n }\n\n return (\n <>\n

Unexpected Application Error!

\n

{message}

\n {stack ?
{stack}
: null}\n {devInfo}\n \n );\n}\n\nconst defaultErrorElement = ;\n\ntype RenderErrorBoundaryProps = React.PropsWithChildren<{\n location: Location;\n revalidation: RevalidationState;\n error: any;\n component: React.ReactNode;\n routeContext: RouteContextObject;\n}>;\n\ntype RenderErrorBoundaryState = {\n location: Location;\n revalidation: RevalidationState;\n error: any;\n};\n\nexport class RenderErrorBoundary extends React.Component<\n RenderErrorBoundaryProps,\n RenderErrorBoundaryState\n> {\n constructor(props: RenderErrorBoundaryProps) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error,\n };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error: error };\n }\n\n static getDerivedStateFromProps(\n props: RenderErrorBoundaryProps,\n state: RenderErrorBoundaryState\n ) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (\n state.location !== props.location ||\n (state.revalidation !== \"idle\" && props.revalidation === \"idle\")\n ) {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation,\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error || state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation,\n };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n return this.state.error ? (\n \n \n \n ) : (\n this.props.children\n );\n }\n}\n\ninterface RenderedRouteProps {\n routeContext: RouteContextObject;\n match: RouteMatch;\n children: React.ReactNode | null;\n}\n\nfunction RenderedRoute({ routeContext, match, children }: RenderedRouteProps) {\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (\n dataRouterContext &&\n dataRouterContext.static &&\n dataRouterContext.staticContext &&\n (match.route.errorElement || match.route.ErrorBoundary)\n ) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n\n return (\n \n {children}\n \n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = [],\n dataRouterState: RemixRouter[\"state\"] | null = null\n): React.ReactElement | null {\n if (matches == null) {\n if (dataRouterState?.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches as DataRouteMatch[];\n } else {\n return null;\n }\n }\n\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id]\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for errors on route IDs: ${Object.keys(\n errors\n ).join(\",\")}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error = match.route.id ? errors?.[match.route.id] : null;\n // Only data routers handle errors\n let errorElement: React.ReactNode | null = null;\n if (dataRouterState) {\n errorElement = match.route.errorElement || defaultErrorElement;\n }\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children: React.ReactNode;\n if (error) {\n children = errorElement;\n } else if (match.route.Component) {\n // Note: This is a de-optimized path since React won't re-use the\n // ReactElement since it's identity changes with each new\n // React.createElement call. We keep this so folks can use\n // `` in `` but generally `Component`\n // usage is only advised in `RouterProvider` when we can convert it to\n // `element` ahead of time.\n children = ;\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return (\n \n );\n };\n // Only wrap in an error boundary within data router usages when we have an\n // ErrorBoundary/errorElement on this route. Otherwise let it bubble up to\n // an ancestor ErrorBoundary/errorElement\n return dataRouterState &&\n (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? (\n \n ) : (\n getChildren()\n );\n }, null as React.ReactElement | null);\n}\n\nenum DataRouterHook {\n UseBlocker = \"useBlocker\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n}\n\nenum DataRouterStateHook {\n UseBlocker = \"useBlocker\",\n UseLoaderData = \"useLoaderData\",\n UseActionData = \"useActionData\",\n UseRouteError = \"useRouteError\",\n UseNavigation = \"useNavigation\",\n UseRouteLoaderData = \"useRouteLoaderData\",\n UseMatches = \"useMatches\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n UseRouteId = \"useRouteId\",\n}\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\nfunction useRouteContext(hookName: DataRouterStateHook) {\n let route = React.useContext(RouteContext);\n invariant(route, getDataRouterConsoleError(hookName));\n return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName: DataRouterStateHook) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `${hookName} can only be used on routes that contain a unique \"id\"`\n );\n return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nexport function useRouteId() {\n return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nexport function useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nexport function useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return {\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation,\n };\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nexport function useMatches() {\n let { matches, loaderData } = useDataRouterState(\n DataRouterStateHook.UseMatches\n );\n return React.useMemo(\n () =>\n matches.map((match) => {\n let { pathname, params } = match;\n // Note: This structure matches that created by createUseMatchesMatch\n // in the @remix-run/router , so if you change this please also change\n // that :) Eventually we'll DRY this up\n return {\n id: match.route.id,\n pathname,\n params,\n data: loaderData[match.route.id] as unknown,\n handle: match.route.handle as unknown,\n };\n }),\n [matches, loaderData]\n );\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nexport function useLoaderData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n\n if (state.errors && state.errors[routeId] != null) {\n console.error(\n `You cannot \\`useLoaderData\\` in an errorElement (routeId: ${routeId})`\n );\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nexport function useRouteLoaderData(routeId: string): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nexport function useActionData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useActionData must be used inside a RouteContext`);\n\n return Object.values(state?.actionData || {})[0];\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nexport function useRouteError(): unknown {\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return state.errors?.[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor value\n */\nexport function useAsyncValue(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._data;\n}\n\n/**\n * Returns the error from the nearest ancestor value\n */\nexport function useAsyncError(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._error;\n}\n\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nexport function useBlocker(shouldBlock: boolean | BlockerFunction): Blocker {\n let { router, basename } = useDataRouterContext(DataRouterHook.UseBlocker);\n let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n\n let [blockerKey, setBlockerKey] = React.useState(\"\");\n let blockerFunction = React.useCallback(\n (arg) => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n\n // If they provided us a function and we've got an active basename, strip\n // it from the locations we expose to the user to match the behavior of\n // useLocation\n let { currentLocation, nextLocation, historyAction } = arg;\n return shouldBlock({\n currentLocation: {\n ...currentLocation,\n pathname:\n stripBasename(currentLocation.pathname, basename) ||\n currentLocation.pathname,\n },\n nextLocation: {\n ...nextLocation,\n pathname:\n stripBasename(nextLocation.pathname, basename) ||\n nextLocation.pathname,\n },\n historyAction,\n });\n },\n [basename, shouldBlock]\n );\n\n // This effect is in charge of blocker key assignment and deletion (which is\n // tightly coupled to the key)\n React.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n\n // This effect handles assigning the blockerFunction. This is to handle\n // unstable blocker function identities, and happens only after the prior\n // effect so we don't get an orphaned blockerFunction in the router with a\n // key of \"\". Until then we just have the IDLE_BLOCKER.\n React.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n\n // Prefer the blocker from `state` not `router.state` since DataRouterContext\n // is memoized so this ensures we update on blocker state updates\n return blockerKey && state.blockers.has(blockerKey)\n ? state.blockers.get(blockerKey)!\n : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable(): NavigateFunction {\n let { router } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our router subscriber yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n router.navigate(to, { fromRouteId: id, ...options });\n }\n },\n [router, id]\n );\n\n return navigate;\n}\n\nconst alreadyWarned: Record = {};\n\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n","import * as React from \"react\";\nimport type {\n TrackedPromise,\n InitialEntry,\n Location,\n MemoryHistory,\n Router as RemixRouter,\n To,\n LazyRouteFunction,\n RelativeRoutingType,\n RouterState,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n AbortedDeferredError,\n createMemoryHistory,\n UNSAFE_invariant as invariant,\n parsePath,\n resolveTo,\n stripBasename,\n UNSAFE_warning as warning,\n UNSAFE_getPathContributingMatches as getPathContributingMatches,\n} from \"@remix-run/router\";\n\nimport type {\n DataRouteObject,\n IndexRouteObject,\n RouteMatch,\n RouteObject,\n Navigator,\n NonIndexRouteObject,\n} from \"./context\";\nimport {\n LocationContext,\n NavigationContext,\n DataRouterContext,\n DataRouterStateContext,\n AwaitContext,\n RouteContext,\n} from \"./context\";\nimport {\n useAsyncValue,\n useInRouterContext,\n useNavigate,\n useOutlet,\n useRoutes,\n _renderMatches,\n useRoutesImpl,\n useLocation,\n} from \"./hooks\";\n\nexport interface FutureConfig {\n v7_startTransition: boolean;\n}\n\nexport interface RouterProviderProps {\n fallbackElement?: React.ReactNode;\n router: RemixRouter;\n future?: FutureConfig;\n}\n\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n fallbackElement,\n router,\n future,\n}: RouterProviderProps): React.ReactElement {\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/)\n let [state, setStateImpl] = React.useState(router.state);\n let { v7_startTransition } = future || {};\n let setState = React.useCallback(\n (newState: RouterState) => {\n v7_startTransition && startTransitionImpl\n ? startTransitionImpl(() => setStateImpl(newState))\n : setStateImpl(newState);\n },\n [setStateImpl, v7_startTransition]\n );\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n\n let navigator = React.useMemo((): Navigator => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: (n) => router.navigate(n),\n push: (to, state, opts) =>\n router.navigate(to, {\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n replace: (to, state, opts) =>\n router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n };\n }, [router]);\n\n let basename = router.basename || \"/\";\n\n let dataRouterContext = React.useMemo(\n () => ({\n router,\n navigator,\n static: false,\n basename,\n }),\n [router, navigator, basename]\n );\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a