{"version":3,"sources":["appComponents/Dropdown/styled.ts","appComponents/Dashboard/Memberships/styled.ts","appComponents/Dashboard/Memberships/index.tsx","components/Field/index.js","utils/index.js","appComponents/utils.ts","components/requireAuth.jsx","assets/calculationsIcons/FinalRejected.jsx","assets/calculationsIcons/Progress.jsx","assets/calculationsIcons/Rejected.jsx","assets/calculationsIcons/Review.jsx","assets/calculationsIcons/Submitted.jsx","assets/calculationsIcons/Valid.jsx","assets/calculationsIcons/Verified.jsx","config/style.js","routes/Documentation/index.jsx","components/Button/Button.styled.jsx","state/company/company.actions.js","assets/icons/search.svg","appComponents/Dashboard/RoleSelector/styled.ts","appComponents/Dashboard/RoleSelector/index.tsx","components/Input/Input.styled.js","components/Input/Input.jsx","routes/GlobalStyle.styled.jsx","state/auth/auth.reducer.js","state/company/company.reducer.js","state/mercure/mercure.reducer.js","state/sidebar/sidebar.reducer.js","state/user/user.reducer.js","state/index.js","appComponents/LinkButton/index.tsx","components/ProtectedRoute/index.tsx","components/RenderHTML.jsx","hooks/useCompany.ts","assets/icons/close.svg","routes/Dashboard.styled.jsx","assets/alert.svg","components/Footer/Footer.styled.jsx","components/Footer/Footer.jsx","components/SwitchToggle/SwitchToggle.styled.jsx","components/SwitchToggle/SwitchToggle.jsx","services/calculations.js","assets/success.svg","state/sidebar/sidebar.types.js","services/profiles.js","assets/no-data-2.svg","assets/icons/input-clear.svg","state/auth/auth.service.js","services/network.js","hooks/useMemberships.tsx","services/companies.js","services/users.js","fonts/IBMPlexMono-Regular.ttf","fonts/ReadexPro-VariableFont_HEXP,wght.ttf","components/Field/field.styled.js","assets/memberships.svg","assets/icons/alert-error.svg","assets/icons/chevron-down-white.svg","assets/icons/tools.svg","assets/icons/user.svg","state/auth/auth.types.js","assets/icons/apps.svg","assets/icons/arrow-right-top.svg","assets/icons/plus.svg","assets/calculationsIcons/review.svg","assets/search.svg","assets/login.svg","i18n/i18n.js","i18n/en/index.js","i18n/de/index.js","i18n/nl/index.js","routes/Auth/Login/Login.styled.jsx","config/toast.jsx","services/countries.js","services/EnvironmentalProfile.js","services/folders.js","services/imports.js","services/inputs.js","services/lifeCycleStages.js","services/locations.js","services/methods.js","utils/calculationProcess.js","services/realtime_and_progress.js","services/reviews.js","services/Supplier.js","services/WasteScenario.js","services/versions.js","services/standardunits.js","services/index.js","components/Splash/Loading.jsx","state/mercure/mercure.types.js","apps/guards.ts","routes/RethinkDashboard.styled.jsx","apps/index.tsx","components/Global.styled.js","context/RollbarContext.tsx","appComponents/Dropdown/index.tsx","appComponents/Dropdown/hooks.ts","appComponents/AppHeader/components/AppMenu/AppLink/styled.ts","appComponents/AppHeader/components/AppMenu/AppLink/index.tsx","assets/icons/logo.svg","appComponents/AppHeader/components/AppMenu/styled.ts","assets/icons/book-icon.svg","assets/icons/chat.svg","webpack:///./src/assets/icons/chevron-down-white.svg?706e","appComponents/Divider/styled.ts","appComponents/AppHeader/components/AppMenu/index.tsx","appComponents/AppHeader/components/Nav/styled.ts","appComponents/AppHeader/components/Nav/index.tsx","appComponents/AppHeader/components/Search/styled.ts","appComponents/AppHeader/components/Search/index.tsx","appComponents/AppHeader/components/UserMenu/styled.ts","appComponents/AppHeader/useHeaderData.ts","appComponents/AppHeader/components/UserMenu/UserMenuItem.tsx","appComponents/AppHeader/components/UserMenu/UserMenuAccordion.tsx","appComponents/AppHeader/components/UserMenu/index.tsx","appComponents/AppHeader/styled.ts","appComponents/AppHeader/index.tsx","layout/SuiteLayout/index.tsx","assets/logo.svg","state/auth/auth.actions.js","routes/Auth/Login/Login.jsx","routes/Auth/Logout/Logout.jsx","routes/Auth/MaintenanceMode.tsx","routes/NotFound.jsx","appComponents/Dashboard/Companies/styled.ts","appComponents/Dashboard/Companies/index.tsx","appComponents/Input/styled.ts","appComponents/Input/index.tsx","routes/RethinkDashboard.jsx","hooks/useDebounce.ts","hooks/useTokenRefresher.jsx","serviceWorker.js","index.tsx","state/user/user.actions.js","assets/icons/info.svg","components/Field/field.jsx","appComponents/Avatar/styled.ts","appComponents/Avatar/index.tsx","state/company/company.types.js","state/user/user.types.js","appComponents/ContentLoader/index.tsx","appComponents/Loader/styled.tsx","context/SuiteLayoutContext.tsx","assets/icons/chevron-down.svg","appComponents/LinkButton/styled.ts","services/permissions.ts"],"names":["Arrow","styled","div","theme","palette","clay","DropDown","variant","elevation","light","align","Toggle","button","offset","withTitle","css","Wrapper","OptionButton","Link","OptionLink","OptionsHeading","OptionFooter","CollectionsToggle","MembershipsList","MembershipGroup","Name","span","AllMemberships","memberships","title","skipRouteChange","t","useTranslation","navigate","useNavigate","changeMembership","useCurrentMembership","map","group","key","id","Avatar","company","name","roles","m","RoleSelector","onClick","membership","role","destination","Object","entries","RethinkSuiteLayerGuards","find","layer","some","perm","permissions","onMembershipSelected","Field","isReady","loaders","_","entry","loading","status","has","useQuery","search","useLocation","useMemo","URLSearchParams","downloadFile","url","fileName","setLoading","versionedApi","get","headers","Authorization","store","getState","auth","userToken","user","selectedMembership","view","responseType","removeNibeHeaders","then","async","saveAs","data","catch","error","console","alertToast","finally","showFile","replace","window","URL","createObjectURL","response","isReference","element","inputName","description","environmentalProfile","supplier","netAmount","pxToRem","px","AsideRowPadding","requireAuth","ChildComponent","props","location","email","useSelector","state","userId","dispatch","useDispatch","useLayoutEffect","users","getMe","result","getUser","to","pathname","from","FinalRejected","color","fill","height","viewBox","width","xmlns","d","Progress","Rejected","Review","Submitted","Valid","Verified","YELLOW","DARK_BLUE","LIGHT_BLUE","GREY","black","opacity","backdrop","purple","500","100","green","50","300","yellow","petrol","orange","blue","200","400","700","800","red","statusStyle","Draft","icon","finalRejected","text","buttonBackgroundColor","backgroundColor","progress","iconColor","Incomplete","valid","submitted","review","verified","rejected","Completed","footerHeight","paddingRows","AsideWidth","InputHeight","InputWidth","FormWidth","MAX_WIDTH","NAV_HEIGHT","DocumentationUrl","Documentation","useEffect","whiteButton","underlineButton","styledSelect","StyledButton","styling","BaseLinkStyles","rounded","Icon","i","left","getCompany","usersList","type","types","clear","module","exports","CardContainer","Role","Options","img","alt","src","membershipsSvg","InputContainer","FileInputWrapper","FileInputRequirementsLine","FileStrip","Input","input","ref","innerRef","translation","hideShowIcon","containerStyle","isVisible","setIsVisible","useState","fileInputValue","value","undefined","i18n","keyPrefix","locale","language","onDrop","useCallback","acceptedFiles","onChange","getRootProps","getInputProps","isDragActive","isDragAccept","isDragReject","useDropzone","accept","split","reduce","a","c","e","preventDefault","acceptedExtensions","mime","getExtension","filter","includes","push","sort","style","autoComplete","maxSizeInMb","hideExtensions","length","Intl","ListFormat","format","ext","defaultValue","moment","viewIcon","defaultProps","required","disabled","readOnly","placeholder","FormInput","withLabels","memo","Container","TitleContainer","Bar","ItemWrapper","ItemsContainer","ViewModeContainer","Expand","NavLink","ProfileName","h1","ProfileTitle","GridWrapper","Header","p","Data","size","isGrey","form","WrapperInput","selected","h2","Label","label","LabelText","OverviewRows","SearchIcon","baseFont","select","details","summary","AsideTitle","AsideInfo","SimpleRow","blueBackground","expand","expanded","RowContainer","border","LinksWrapper","FormWrapper","FormActions","FormNav","ul","FormContainer","section","TitleBar","RadioWrapper","Background","main","Description","HeaderTitle","SectionTitile","SectionWrapper","AlignItems","Option","isClickable","NameTitle","h3","DetailsInfo","SectionDivider","alert","imageRight","Img","GroupFields","GroupFieldsRow","GroupFieldsHeader","GroupFieldsDivider","Download","SidebarFiltersTitle","EpicSectionSubTitle","EpicScenariosTableWrapper","EpicScenariosSubTableWrapper","LogsList","LogsItem","li","EpicScenarioCustomHeader","items","EpicTableContentColumns","EpicTableHeading","EpicEPDContentGrid","TitleWithStatusDot","initialState","refreshToken","process","tokenRefreshState","action","payload","selectedCompany","importTopic","updateMercure","importEnvTopic","updateEnvMercure","importCalculationTopic","updateCalculationMercure","importPdisTopic","updatePdisMercure","calculationRealTimeResultsTopic","updateCalculationRealTimeResults","mercure","isHidden","sidebar","membershipSize","recentMembershipIds","slice","enableReduxDevTools","persistConfig","storage","whitelist","blacklist","authPersistConfig","userPersistConfig","mercurePersistConfig","sidebarPersistConfig","rootReducer","combineReducers","persistReducer","formReducer","persistedReducer","createStore","compose","applyMiddleware","reduxThunk","persistor","persistStore","LinkButton","as","href","children","fullWidth","ProtectedRoute","requireOneOf","require","behavior","authorized","fallback","usePermissions","allMemberships","useAllMembershipsWithPermissions","hasPermission","permission","every","log","MembershipSelector","GoBack","relative","Fallback","useSetHeaderConfig","availableRoles","forEach","matching","Article","article","className","html","dangerouslySetInnerHTML","__html","useCompany","companyIdParam","Number","useSWR","params","dedupingInterval","focusThrottleInterval","isSelf","companyId","isLoading","fetcher","startsWith","totalItems","nextPage","useCompanies","skip","onError","onSuccess","swrConfig","stringifiedParams","JSON","stringify","getKey","index","previousPage","query","parse","set","siblingsOf","delete","v","k","toString","useSWRInfinite","revalidateAll","swr","flatMap","loadNextPage","setSize","s","companyMiddleware","useSWRNext","fetcherFn","config","res","includeCompany","includeAllCompaniesOption","includesSelf","useCompaniesForDropdown2","options","includeCurrentCompany","currentSearchTerm","onSearch","allCompaniesOption","toLowerCase","useMiddleware","original","initialSize","revalidateFirstPage","use","loadMore","StyledWrapper","StyledContainer","StyledTitle","StyledSection","UpdateAndNotificationSection","empty","StyledColumn","UpdateRow","$alert","EmptyListMessage","ItemsHeader","ItemsSecondaryContainer","AnnouncementsRowSecondary","AnnouncementsRow","StyledTop","NoDataWrapper","NoDataWrapperSecondary","LinksRow","StyledFooter","Anchor","YEAR","Date","getFullYear","databases","useAsync","versions","globalDB","clientDB","isArray","versionName","SwitchToggle","checked","htmlFor","ToggleField","hydraMember","paginatedMember","all","network","errorToast","err","getByRef","triggerCalculation","calculation","post","getExtended","calc","witExtras","clone","shouldFetch","r","template","Promise","getByFolder","productName","getNextPageByFolder","owner","bulk","reviews","complete","other","copy","calculations","folder","decline","remove","i18next","move","purchase","refuse","reject","download","resubmit","submit","reviewer","create","patchNullValues","except","keys","endsWith","save","patch","fileHeader","deleteSensativeAnalysisImageFile","uploadAllocationImageFile","deleteAllocationImageFile","uploadSensativeAnalysisImageFile","deleteProductImageFile","deleteProductFlowImageFile","deleteProductDescriptionImageFile","deleteProductPerformanceFile","deleteProductionProcessImageFile","deleteProductionProcessFile","deleteConstructionProcessImageFile","deleteConstructionProcessFile","deleteConstructionWasteFile","uploadProductImageFile","uploadProductFlowImageFile","uploadProductDescriptionImageFile","uploadProductPerformanceFile","uploadProductionProcessImageFile","uploadProductionProcessFile","uploadConstructionProcessImageFile","uploadConstructionProcessFile","uploadConstructionWasteFile","inputs","Accept","inputId","removeInput","saveInput","verb","usages","usage","removeUsage","usageId","saveUsage","copyInput","createReport","getReport","Error","getReportRef","getAllSfpsForDropdown","getTemplates","deleteTemplates","copyTemplate","templates","createTemplate","getTemplateDetail","saveTemplate","getTemplateCalculations","HIDE_SIDEBAR","this","visible","getNextPageProfiles","allSections","getNextPageAllSections","getProfileById","environmentalProfileEffects","getSectionById","getOwnerById","getAllWasteScenarios","getNextPageWasteScenarios","getWasteScenarioById","getNextPageTransport","profile","transport","transportById","cache","waste","resolve","_extends","assign","target","arguments","source","prototype","hasOwnProperty","call","apply","_ref","createElement","clipPath","_ref2","SvgNoData2","svgRef","ForwardRef","forwardRef","stroke","strokeLinecap","SvgInputClear","login","password","username","crossdomain","msg","request","verifyToken","token","reset","pw","cacheAdapter","throttleAdapterEnhancer","cacheAdapterEnhancer","axios","defaults","adapter","threshold","baseConfig","baseURL","versionedConfig","api","epicApi","requestInterceptor","req","overrideMembership","responseErrorInterceptor","extractData","originalRequest","_retry","subscription","subscribe","interceptors","dontParse","userMembershipsFetcher","usersService","getUserMemberships","useUserMemberships","String","revalidateOnFocus","isPaused","useMemberships","mutate","useSWRConfig","setMembership","roleName","keepOnMembershipSwitch","revalidate","populateCache","nav","clearSelectedMembership","usePermissionsFetcher","getPermissions","useHasPermission","useHasAtLeastOnePermission","userPermissions","allRolesAndPermissionsFetcher","revalidateIfStale","arr","item","unshift","companies","getAll","conf","noItemsPerPage","itemsPerPage","createCompany","editCompany","put","uploadCompanyLogo","uploadPublisherAutographs","personNumber","deleteCompany","editUser","getNextPage","createUser","createUserAutograph","getUserAutograph","deleteUserAutograph","deleteUser","createUserMembership","updateUserMembership","deleteUserMembership","WYSIWYG_EDITOR_DESIRED_WIDTH","FieldWrapper","Hint","GlobalLabel","MaxWidth","fullInputWidth","ReadOnlyLabel","ErrorContainer","HintWrapper","ExpandForm","InputWrapper","StyledLabel","ContentWrapper","LOGIN","LOGOUT","REFRESH_DONE","REFRESH_REQUESTED","REFRESH_LOADING","REFRESH_FAILED","resources","en","methods","de","nl","initReactI18next","init","lng","fallbackLng","interpolation","escapeValue","reportingLanguages","LoginBg","MessageContainer","ButtonContainer","StyledLink","StyledError","StyledSubTitle","RememberWrapper","Text","LinkTo","content","link","display","alignItems","fontSize","successIcon","marginRight","routeName","styleToast","closeButton","closeIcon","right","position","toast","POSITION","TOP_RIGHT","message","success","violations","propertyPath","violationMessage","messageKey","exists","networkErrorToast","networkErr","countries","toPairs","getWasteRegions","getWasteRegionById","getWasteScenarios","getWasteProfiles","allFlat","keyBy","useEnvironmentalProfile","parent","getById","update","moveInto","calculationId","folderId","imports","getImportFile","getImport","getImportValidate","getImportedFile","getImportCanceled","importSuppliers","envImports","getEnvImport","getEnvImportValidate","getEnvImportedFile","getEnvImportCanceled","importEnv","importEnvironmentalProfiles","importFile","getCalculationsImports","getCalculationImport","importCalculation","getCalculationImportValidate","getCalculationImportedFile","getCalculationImportCanceled","getPdisImports","getPdisImport","importPdis","getPdisImportValidate","getPdisImportedFile","getPdisImportCanceled","getNextPageInputs","getPdis","copyPdis","predefinedInputSets","deletePdis","deletePdisUsage","createPdis","editPdis","getPdisDetail","getPdisUsages","page","pdis","flat","getPdisUsage","saveUsagePdis","getPdisUsedCalculations","getPdisInputs","limit","i18nIsoCountries","getNextPageLocations","add","countriesList","editLocation","createLocation","suppliers","getSuppliers","getNextPageSuppliers","deleteSupplier","deleteLocation","getSubstantiationFile","uploadSubstantiationFile","deleteSubstantiationFile","createSupplier","editSupplier","transports","suppliersWithTransports","suppliersTemp","supplierResult","supplierValue","getNextPageSuppliersWithTransports","deleteTransport","editTransport","createTransportForSupplier","functionalunits","productTypes","deprecated","uri","warn","profiles","editMethod","mapSubtotals","totals","subtotals","Production","Construction","forOwn","realtimeResults","top","total","overall","getOne","getReviewers","getSupplierById","useSupplier","useWasteScenario","versionsError","public","getNextPageVersions","allAnnouncements","getNextPageAnnouncements","getAnnouncementById","createAnnouncement","editAnnouncement","deleteAnnouncement","calculationsApi","inputsApi","folders","foldersApi","locations","locationsApi","countriesApi","methodsApi","revisionsApi","usersApi","profilesApi","EnvironmentalProfile","EnvironmentalProfileApi","Supplier","SupplierApi","companiesApi","realtime","realtimeApi","importsApi","lifeCycleStages","lifeCycleStagesApi","Loading","justifyContent","NoContent","NoContentSecondary","CustomNoContent","textAlign","Placeholder","renderChildren","uniqueId","SET_TOPIC","SET_UPDATE_MERCURE","SET_ENV_TOPIC","SET_UPDATE_ENV_MERCURE","SET_CALCULATION_TOPIC","SET_UPDATE_CALCULATION_MERCURE","SET_PDIS_TOPIC","SET_UPDATE_PDIS_MERCURE","SET_CALCULATION_REAL_TIME_RESULTS_TOPIC","SET_UPDATE_CALCULATION_REAL_TIME_RESULTS","lca","ccf","share","admin","management","MembershipsContainer","MajorContainer","DashboardTop","Title","h4","List","RethinkSuiteLayers","entryPoint","React","lazy","noPermissionPage","default","Preview","primary","Style","medium","FontGlobalStyles","createGlobalStyle","IBMPlexMonoRegular","ReadexPro","textColor","rollbarConfig","accessToken","REACT_APP_ROLLBAR_ACCESS_TOKEN","environment","REACT_APP_ROLLBAR_ENVIRONMENT","RollbarContextProvider","ErrorBoundary","RollbarUserTracker","userDetails","memoized","membershipId","membershipRoleId","membershipRoleName","membershipCompanyId","membershipCompanyName","useRollbarPerson","useRollbarContext","Dropdown","isOpened","handleOpen","toggleTitle","toggleComponent","dropDownRef","useRef","opened","setIsOpened","elementRef","handleClickOutside","event","current","contains","document","addEventListener","removeEventListener","useDetectOutsideClick","onMouseEnter","ChevronDown","AppItemLogo","AppItem","AppItemName","AppItemTitle","AppLink","subTitle","appColor","transform","SvgLogo","MenuToggle","MenuLogo","Logo","MenuDropdown","MenuLink","fillRule","clipRule","strokeLinejoin","SvgBookIcon","SvgChat","SvgChevronDownWhite","Divider","AppMenu","appName","availableApps","secondary","app","Fragment","encodeURIComponent","SubNavToggle","Nav","it","chevronDown","SearchContainer","SearchInput","Search","searchValue","setSearchValue","onSubmit","stopPropagation","searchIcon","Cta","Inner","CtaList","CtaListButton","CtaListItem","MenuBottom","MenuLinkBase","MenuButton","DividerStyled","noMembershipApp","apps","settingsIcon","userIcon","useHeaderData","allMembershipsWithRoles","headerConfig","useSuiteLayoutContext","allMembershipsData","sortedMemberships","currentApp","sub","hidden","searchBar","callToAction","availableMemberships","onChangeMembership","UserMenuItem","handleClick","handleClose","chevronDownWhite","UserMenuAccordion","expandedIndex","setExpandedIndex","ROLES_WITH_ALL_MEMBERSHIPS_BUTTON","UserMenu","goToAllMemberships","withAllMembershipsButton","appsIcon","logoutIcon","HeaderWrapper","header","CtaRow","AppHeader","plusIcon","SuiteLayout","SuiteLayoutContext","logout","Login","h","emailField","createRef","passwordField","errorMessage","setErrorMessage","didSubmit","setSubmit","isChecked","setIsChecked","persist","cb","apiLogin","authActions","marginBottom","Footer","Logout","companyActions","sessionStorageBypassFetcher","sessionStorage","getItem","MaintenanceModeAwareWrapper","bypass","NotFound","Companies","companyListing","isReachingEnd","loadingIndicator","alignContent","InputLabel","InputError","InputHelperText","InputElement","isSearch","helperText","MembershipSelectorPage","clearInput","setClearInput","membershipsLoading","membershipFilterValue","setMembershipFilterValue","companyFilterValue","setCompanyFilterValue","canViewChildCompaniesPermission","debouncedCompanyFilterValue","delay","debouncedValue","setDebouncedValue","timeout","setTimeout","clearTimeout","useDebounce","parentCompany","allowWithoutSelectedMembership","membershipView","onFocus","handleInputChange","inputText","trim","TokenRefreshRequestHandler","history","pushState","useTokenRefresher","Boolean","hostname","match","Forgot","Reset","SuiteLayerRoutes","EntryPoint","path","Component","WrapperRoute","router","createBrowserRouter","createRoutesFromElements","RethinkSuite","render","getElementById","navigator","serviceWorker","ready","registration","unregister","updateLocale","changeLanguage","companyAdmin","superAdmin","reviewerAdmin","autographImage","_ref3","SvgInfo","Comp","count","translationName","meta","fallbackLabel","hasLabel","hasHint","hint","renderHint","hide","active","renderLabel","labelStyle","wrapperStyle","touched","custom","ReadOnlyField","translatedLabel","translationParams","hasName","InputView","maxWidth","AvatarContainer","round","UPDATE","SELECTED_COMPANY","CLEAR","GET_USER","UPDATE_USER","SET_USER_MEMBERSHIP","ContentLoader","lines","noPadding","Array","LoaderStyled","LoaderWrapperStyled","InfiniteScrollLoadingIndicatorContainer","InfiniteScrollLoadingIndicator","Loader","DEFAULT_HEADER_CONFIG","createContext","setHeaderConfig","breadCrumbIdReplacements","_setBreadCrumbIdReplacements","useContext","deps","appPath","useResolvedPath","memoizedData","useReplaceBreadCrumbForCurrentPath","ids","overridePath","idParam","indexOf","stringified","parsed","old","SuiteLayoutContextProvider","contextValue","Provider","SecondaryLinkStyles","StyledLinkButton"],"mappings":"0HAAA,qUAGO,MAAMA,EAAQC,IAAOC,GAAwC;;;sBAG9C,EAAGC,WAAYA,EAAMC,QAAQC,KAAK;;;;;EAO3CC,EAAWL,IAAOC,GAK5B;;;;;aAKU,EAAGK,aAA2B,YAAZA,EAAwB,IAAM;gBAC7C,EAAGJ,WAAYA,EAAMK,UAAUC;sBACzB,EAAGN,WAAYA,EAAMC,QAAQC,KAAK;mBACrC,EAAGE,aAA2B,cAAZA,EAA0B,MAAQ;;SAE9D,EAAGA,aAA2B,YAAZA,EAAwB,OAAS;UAClD,EAAGG,WAAuB,SAAVA,EAAmB,IAAM;WACxC,EAAGA,WAAuB,UAAVA,EAAoB,OAAS;;;;;;;;;;;;;;;;;;EAoB3CC,EAASV,IAAOW,MAG1B;;;;;;;;;;;;eAYY,EAAGC,YAAyB,UAAXA,EAAqB,OAAS;gBAC9C,EAAGA,YAAyB,UAAXA,EAAqB,OAAS;;IAE3D,EAAGC,eAAgBA,GAChBC,GAAI;;;;;;;;;;;;;EAeEC,EAAUf,IAAOC,GAAI;;;;;MAK5BI;;;;;;;KAODK;;;;;;;;;;;EAaQM,EAAehB,YAAOiB,IAAM;;;;;;;;;;;;;;;;EAkB5BC,EAAalB,IAAOW,MAAO;;;;;;;;;;;;;;;;;EAmB3BQ,EAAiBnB,IAAOC,GAAI;;;;;;;EAS5BmB,EAAepB,IAAOC,GAAI;;;;;EAM1BoB,EAAoBrB,IAAOC,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iJC/JrC,MAAMqB,EAAkBtB,IAAOC,GAAI;;;;;EAO7BsB,EAAkBvB,IAAOC,GAAI;;;;;;;;EAU7BuB,EAAOxB,IAAOyB,IAAK;;;;ECHnBC,EAAiB,EAC5BC,cACAC,QACAC,sBAMA,MAAM,EAAEC,GAAMC,cACRC,EAAWC,eAEX,iBAAEC,GAAqBC,cAa7B,OAAOR,EACL,oCACIC,GACA,kBAAC,EAAD,KACGA,GAGJD,EAAYS,IAAKC,GAChB,kBAAC,EAAD,CAAmBC,IAAKD,EAAME,IAC5B,kBAACC,EAAA,EAAD,CACEZ,MAAOS,EAAMI,QAAQC,OAEvB,kBAAC,EAAD,KACGL,EAAMM,MAAMP,IAAKQ,GAChB,kBAACC,EAAA,EAAD,eACEP,IAAKM,EAAE,QACHA,EAFN,CAGEE,QAAS,IA5BM,EAACC,EAAuCC,KAAsD,IAAD,EAExH,GADAd,EAAiBa,EAAYC,GACzBnB,EACF,OAEF,MAAMoB,EAAW,UAAGC,OAAOC,QAAQC,KAChCC,KAAKC,GAASA,EAAM,GAAGC,KAAKC,GAAQR,EAAKS,YAAYD,YADvC,aAAG,EAC8C,GAElExB,EAAU,IAAGiB,IAoBcS,CAAqBrB,EAAOO,WAQvD,kBAAC,EAAD,KAASd,EAAE,4B,iCClEf,wHAIe6B,MAAf,G,iCCJA,6QAUO,MAAMC,EAAUC,IAAYC,IAAEP,KAAKM,EAASE,IACjD,MAAM,QAAEC,EAAF,OAAWC,GAAWF,EAC5B,MAAe,kBAAXE,IACW,YAAXA,GACW,UAAXA,IACAH,IAAEI,IAAIH,EAAO,WAAmBC,EAC7BD,MAGF,SAASI,IACd,MAAM,OAAEC,GAAWC,cACnB,OAAOC,kBAAQ,IAAM,IAAIC,gBAAgBH,GAAS,CAACA,IAU9C,MAAMI,EAAe,CAACC,EAAKC,EAAW,KAAMC,KAAvB,6BAAsCC,IAAaC,IAAIJ,EAAK,CACtFK,QAAS,CACPC,cAAgB,WAAD,OAAUC,UAAV,IAAUA,KAAV,UAAUA,IAAOC,kBAAjB,iBAAU,EAAmBC,YAA7B,aAAU,EAAyBC,WAClD,wBAAkBH,UAAlB,IAAkBA,KAAlB,UAAkBA,IAAOC,kBAAzB,iBAAkB,EAAmBG,YAArC,iBAAkB,EAAyBC,0BAA3C,iBAAkB,EAA6C5C,eAA/D,aAAkB,EAAsDF,GACxE,mBAAayC,UAAb,IAAaA,KAAb,UAAaA,IAAOC,kBAApB,iBAAa,EAAmBG,YAAhC,iBAAa,EAAyBC,0BAAtC,aAAa,EAA6CC,MAE5DC,aAAc,OACdC,mBAAmB,IAClBC,KAAKC,SAAcC,iBAAOC,EAAMlB,IAChCmB,MAAOC,IACNC,QAAQD,MAAMA,GACdE,YAAW,uCAAmC,WAE/CC,QAAQ,KACHtB,GAAYA,GAAW,MAMlBuB,EAAYzB,IAAD,6BAASG,IAAaC,IAAIJ,EAAI0B,QAAQ,QAAS,UAAW,CAChFZ,aAAc,OACdC,mBAAmB,EACnBV,QAAS,CACPC,cAAgB,WAAD,OAAUC,UAAV,IAAUA,KAAV,UAAUA,IAAOC,kBAAjB,iBAAU,EAAmBC,YAA7B,aAAU,EAAyBC,WAClD,wBAAkBH,UAAlB,IAAkBA,KAAlB,UAAkBA,IAAOC,kBAAzB,iBAAkB,EAAmBG,YAArC,iBAAkB,EAAyBC,0BAA3C,iBAAkB,EAA6C5C,eAA/D,aAAkB,EAAsDF,GACxE,mBAAayC,UAAb,IAAaA,KAAb,UAAaA,IAAOC,kBAApB,iBAAa,EAAmBG,YAAhC,iBAAa,EAAyBC,0BAAtC,aAAa,EAA6CC,QAE3DG,KAAKC,SAAkBU,OAAOC,IAAIC,gBAAgBC,KAExCC,EAAcC,GAA8B,oBAAZA,EAEhCC,EAAY,EACvBC,cACAC,uBACAC,WACAC,eACK,OACHH,GAAe,UACK,OAApBC,QAAoB,IAApBA,OAAA,EAAAA,EAAsBlE,MAAQ,OAAD,OAAMkE,QAAN,IAAMA,OAAN,EAAMA,EAAsBlE,MAAS,UAC1D,OAARmE,QAAQ,IAARA,OAAA,EAAAA,EAAUnE,MAAQ,OAAD,OAAMmE,QAAN,IAAMA,OAAN,EAAMA,EAAUnE,MAAS,WACxCoE,GAAa,Q,iCCxEnB,+EAEO,MAAMC,EAAWC,GAAkBA,EAAK,GAAP,MAE3BC,EAAkBnG,GAAI;eACpBiG,EAAQ,SAASA,EAAQ;oCCLxC,6FASO,MAAMG,EAAeC,GACCC,IACzB,MAAM,SAAEC,GAAaD,GACf,UAAEjC,EAAF,MAAamC,GAAUC,YAAYC,GAASA,EAAMtC,OAChD3C,GAAIkF,GAAWF,YAAYC,GAASA,EAAMpC,MAC5CsC,EAAWC,cAWjB,OATAC,0BAAgB,KAMVzC,GAJF0C,IAAMC,QACHrC,KAAKsC,GAAUA,GAAUC,YAAQ,CAACD,GAAST,IAC3C7B,KAAKiC,IAGT,CAACA,EAAUD,EAAQH,EAAOnC,IAExBA,EACAsC,EAEE,kBAACN,EAAmBC,GAFP,kBAAC,IAAD,MADG,kBAAC,IAAD,CAAUa,GAAI,CAAEC,SAAU,SAAUV,MAAO,CAAEW,KAAMd,Q,olBCb/De,MAVO,EAAGC,WAAUjB,KACjC,uCAAKkB,KAAK,OAAOC,OAAO,KAAKC,QAAQ,YAAYC,MAAM,KAAKC,MAAM,8BAAiCtB,GACjG,0BAEEuB,EAAE,oxBACFL,KAAMD,GAAS,aCKNO,MAVE,EAAGP,WAAUjB,KAC5B,uCAAKkB,KAAK,OAAOC,OAAO,KAAKC,QAAQ,YAAYC,MAAM,KAAKC,MAAM,8BAAiCtB,GACjG,0BAEEuB,EAAE,waACFL,KAAMD,GAAS,aCKNQ,MAVE,EAAGR,WAAUjB,KAC5B,uCAAKkB,KAAK,OAAOC,OAAO,KAAKC,QAAQ,YAAYC,MAAM,KAAKC,MAAM,8BAAiCtB,GACjG,0BAEEuB,EAAE,wzBACFL,KAAMD,GAAS,aCKNS,MAVA,EAAGT,WAAUjB,KAC1B,uCAAKkB,KAAK,OAAOC,OAAO,KAAKC,QAAQ,YAAYC,MAAM,KAAKC,MAAM,8BAAiCtB,GACjG,0BAEEuB,EAAE,6zCACFL,KAAMD,GAAS,aCKNU,MAVG,EAAGV,WAAUjB,KAC7B,uCAAKkB,KAAK,OAAOC,OAAO,KAAKC,QAAQ,YAAYC,MAAM,KAAKC,MAAM,8BAAiCtB,GACjG,0BAEEuB,EAAE,+WACFL,KAAMD,GAAS,aCUNW,MAfD,EAAGX,WAAUjB,KACzB,uCAAKkB,KAAK,OAAOC,OAAO,KAAKC,QAAQ,YAAYC,MAAM,KAAKC,MAAM,8BAAiCtB,GACjG,0BAEEuB,EAAE,4MACFL,KAAMD,GAAS,YAEjB,0BAEEM,EAAE,8FACFL,KAAMD,GAAS,aCDNY,MATE,EAAGZ,WAAUjB,KAC5B,uCAAKkB,KAAK,OAAOC,OAAO,KAAKC,QAAQ,YAAYC,MAAM,KAAKC,MAAM,8BAAiCtB,GACjG,0BACEuB,EAAE,4FACFL,KAAMD,GAAS,aCId,MAAMa,EAAS,UAETC,EAAY,UAEZC,EAAa,UAIbC,EAAO,UAEPC,EAASC,GAAa,cAAaA,KACnCC,EAAWF,EAAM,IAEjBnJ,EAAU,CACrBsJ,OAAQ,CACNC,IAAK,yBACLC,IAAK,yBAEPC,MAAO,CACLC,GAAI,0BACJH,IAAK,yBACLI,IAAK,0BAEPC,OAAQ,CACNF,GAAI,yBACJH,IAAK,qBACLI,IAAK,wBAEPE,OAAQ,CACNN,IAAK,2BACLC,IAAK,0BAEPM,OAAQ,CACNH,IAAK,wBAEPI,KAAM,CACJL,GAAI,yBACJM,IAAK,wBACLL,IAAK,yBACLH,IAAK,0BAEPvJ,KAAM,CACJuJ,IAAK,sBACLQ,IAAK,uBACLL,IAAK,sBACLM,IAAK,wBACLV,IAAK,sBACLW,IAAK,yBACLC,IAAK,qBAEPC,IAAK,CACHT,IAAK,oBACLM,IAAK,sBACLP,GAAI,wBAYKW,EAAc,CACzBC,MAAO,CACLlI,GAAI,QACJ8F,MAAO,UACPqC,KAAMC,EACNC,KAAM,SAERhC,SAAU,CACRrG,GAAI,cACJsI,sBAAuB,UACvBC,gBAAiB,UACjBzC,MAAO,QACPqC,KAAMK,EACNC,UAAW,QACXJ,KAAM,eAERK,WAAY,CACV1I,GAAI,aACJsI,sBAAuB,UACvBH,KAAMK,EACNC,UAAW,MACXJ,KAAM,aACNvC,MAAO,OAETW,MAAO,CACLzG,GAAI,QACJ8F,MAAO,UACPqC,KAAMQ,EACNN,KAAM,SAER7B,UAAW,CACTxG,GAAI,YACJ8F,MAAO,UACPqC,KAAMS,EACNP,KAAM,aAER9B,OAAQ,CACNvG,GAAI,YACJ8F,MAAO,UACPqC,KAAMU,EACNR,KAAM,aAER3B,SAAU,CACR1G,GAAI,WACJ8F,MAAO,UACPqC,KAAMW,EACNT,KAAM,YAER/B,SAAU,CACRtG,GAAI,WACJ8F,MAAO,UACPqC,KAAMY,EACNV,KAAM,YAERxC,cAAe,CACb7F,GAAI,WACJ8F,MAAO,UACPqC,KAAMC,EACNC,KAAM,kBAERW,UAAW,CACThJ,GAAI,YACJ8F,MAAO,UACPqC,KAAMW,EACNT,KAAM,cAKGY,EAAe,OAGfC,EAAc,eAGdC,EAAa,WACbC,EAAc,SACdC,EAAa,QACbC,EAAY,OAGZC,EAAY,SAGZC,EAAa,Q,iCC/J1B,+EAEO,MAAMC,EAAmB,+HAEnBC,EAAgB,KAC3BC,oBAAU,KACR9F,OAAOiB,SAAW2E,GACjB,IACI,O,iCCRT,mKAKO,MAAMG,EAAcrL,GAAI;;;;WAIpBqI;;EAIEiD,EAAkBtL,GAAI;;;;WAIxB,EAAGuH,WAAaA,GAASc;;;;;;;;;EAWvBkD,EAAevL,GAAI;;;gBAGhB,EAAGZ,WAAYA,EAAMC,QAAQ+J,KAAK;;;;;;;;;;;;EAcrCoC,EAAetM,IAAOW,MAAO;;;gBAG1BwI;;;;;;;;;;;;;;;;;;;;;;;IAuBX/B,GAA4B,WAAlBA,EAAMmF,SAAwBF;IACzC,EAAGE,aAA0B,UAAZA,GAAuBC;IACxC,EAAGC,UAASvM,WAAYuM,GAAW3L,GAAI;;kBAEzBZ,EAAMK,UAAUC;;;;;;IAM9B,EAAG+L,aAA0B,cAAZA,GAA2BH;EAGnCM,EAAO1M,IAAO2M,CAAE;;;IAGzB,EAAGC,WAAYA,GAAQ9L,GAAI;IAC3B,EAAG8L,UAAWA,GAAQ9L,GAAI;oCCxF9B,gFAEO,MAAM+L,EAAcC,GAAcpF,IACnCoF,GACFpF,EAAS,CACPqF,KAAMC,OAYCC,EAAQ,CAAEF,KAAMC,M,oBCjB7BE,EAAOC,QAAU,IAA0B,oC,gHCEpC,MAAMC,EAAgBpN,IAAOW,MAAO;;;;;;;;;;;;;;;EAiB9B0M,EAAOrN,IAAOC,GAAI;;;EAKlBqN,EAAUtN,IAAOuN,GAAI;;EClBrB1K,EAAe,EAAGyC,OAAMxC,aACnC,kBAAC,EAAD,CACEA,QAASA,GACT,kBAAC,EAAD,KAASwC,GACT,kBAAC,EAAD,CAAWkI,IAAI,OAAOC,IAAKC,Q,6KCRxB,MAAMC,EAAiB3N,IAAOC,IAAV,kFAAGD,CAAH,kQAwBd4N,EAAmB5N,IAAOC,IAAV,oFAAGD,CAAH,0MAahB6N,EAA4B7N,IAAOC,IAAV,6FAAGD,CAAH,4JAazB8N,EAAY9N,IAAOC,IAAV,6EAAGD,CAAH,yUAwBT+N,EAAQ/N,IAAOgO,MAAV,yEAAGhO,CAAH,6QAGI,EAAGE,YAAH,aAAe,UAAAA,EAAMC,eAAN,eAAeC,KAAK,OAAQ,WAItD,EAAGF,YAAH,aAAe,UAAAA,EAAMC,eAAN,eAAeC,KAAK,OAAQ,QAWzC,EAAGF,YAAH,aAAe,UAAAA,EAAMC,eAAN,eAAeC,KAAK,OAAQ,QAGpD,EAAG0F,QAAOiH,UAAWjH,GACT,WAATiH,GACAjM,GAAI;;MAGP,EAAGiM,UAAoB,aAATA,GACXjM,GAAI;;MAGP,EAAGgF,WAAYA,GACZhF,GAAI;;OCzELiN,EAAQ,EACZxL,KACAG,OACAuL,MACAC,WAAWD,EACXlB,OACAoB,cACAH,QACAI,eACAC,oBACGjH,MACE,IAAD,EACJ,MAAOkH,EAAWC,GAAgBC,oBAAS,GACrC9H,EAAYhE,GAAQH,EAIpBkM,EAA2B,SAAT1B,EAAmB,CAAE2B,WAAOC,GAAc,MAE5D,KAAEC,EAAF,EAAQ9M,GAAMC,iBAAe4M,EAAW,CAAEE,UAAW,eAGrDC,EAASF,EAAKG,SAEdC,EAASC,sBAAYC,IAEzBlB,EAAMmB,SAASD,IACd,CAAClB,KACE,aACJoB,EADI,cACUC,EADV,aACyBC,EADzB,aAEJC,EAFI,aAGJC,GACEC,YAAY,CACdT,SACAU,OAAM,UAAEtI,EAAMsI,cAAR,aAAE,EAAcC,MAAM,KAAKC,OAAO,CAACC,EAAGC,KAAJ,IAAgBD,EAAG,CAACC,GAAI,KAAO,MAGzE,GAAa,SAAT/C,EAAiB,CAAC,IAAD,MACnB,aAAIiB,EAAMU,aAAV,aAAI,EAAc,GAChB,OACE,kBAAC,EAAD,KACGV,EAAMU,MAAM,GAAGhM,KAChB,4BACEI,QAASiN,IACPA,EAAEC,iBACFhC,EAAMmB,cAASR,IAEjB5B,KAAK,UACL,kBAAC,IAAD,QAOR,IAAIkD,GAAqB,UAAA7I,EAAMsI,cAAN,eAAcC,MAAM,KAAKvN,IAAIQ,GAAKsN,IAAKC,aAAavN,IAAIwN,OAAOL,KAAOA,KAAM,GAKrG,OAJIE,EAAmBI,SAAS,SAASJ,EAAmBK,KAAK,OAEjEL,EAAqBA,EAAmBM,OAIpC,kBAAC,EAAD,CAAkBC,MAAOnC,GACvB,kBAAC,EAAuBe,IACtB,kBAAC,EAAD,eACE7M,GAAImE,EACJhE,KAAMgE,EACNqG,KAAMuB,EAAY,OAASvB,GACvB3F,EACA4G,EACAS,EANN,CAOER,IAAKC,GAAYD,EACjBwC,aAAa,gBACC,SAAT1D,EAAkBsC,IAAkB,KAG1CC,EACC,oCACGC,IAAiBzN,EAAE,iBAAmB,sBACtC0N,IAAiB1N,EAAE,iBAAoB,oCAG1C,UAAAkM,EAAMU,aAAN,eAAc,IACZ,oCACGV,EAAMU,MAAM,GAAGhM,KAChB,6BACA,yEACA,4BAAQI,QAAS,IAAMkL,EAAMmB,cAASR,GAAY5B,KAAK,UAAvD,MAEAjL,EAAE,SAAW,sCAGrB,kBAAC,EAAD,KACGA,EAAE,kBAAmB,CAAE4O,YAAatJ,EAAMsJ,eAAmB,oBAAmBtJ,EAAMsJ,iBACtF,KACCtJ,EAAMuJ,gBAAkBV,EAAmBW,OAAS,GACpD,oCACG9O,EAAE,wBAAyB,CAC1BmO,mBAAoB,IAAIY,KAAKC,WAAWhC,GACrCiC,OAAOd,KAEXA,EAAmB7N,IAAI4O,GACtB,0BAAM1O,IAAK0O,GACRlP,EAAG,iBAAgBkP,EAAO,CAAEC,aAAc,QAMlDnP,EAAE,OAAQ,CAAEmP,aAAc,OAQrC,OACE,kBAAC,EAAD,CAAkBT,MAAOnC,GACvB,kBAAC,EAAD,eACE9L,GAAImE,EACJhE,KAAMgE,EACNqG,KAAMuB,EAAY,OAASvB,GACvB3F,EACA4G,EACAS,EANN,CAOER,IAAKC,GAAYD,EACjBwC,aAAa,iBACH,OAALzC,QAAK,IAALA,OAAA,EAAAA,EAAOU,QAAS,CAAEA,MAAgB,SAAT3B,EAAkBmE,IAAOlD,EAAMU,OAAOqC,OAAO,cAAgB/C,EAAMU,SAGzF,aAAT3B,IAAwBqB,GACvB,4BAAQtL,QArHO,IAAMyL,GAAcD,GAqHJvB,KAAK,UAClC,yBAAKS,IAAI,gBAAgBC,IAAK0D,MAC7B7C,GAAa,kCAOxBP,EAAMqD,aAAe,CACnBrE,KAAM,OACNrK,UAAMiM,EACN0C,UAAU,EACVC,UAAU,EACVC,UAAU,EACVC,iBAAa7C,EACbD,WAAOC,EACP8B,aAAc,MAeT,MAAMgB,EAAYC,YAAW3D,GAErB4D,mBAAK5D,I,iCCxMpB,w/DAiBO,MAAM6D,EAAY5R,IAAOC,GAAI;;;;;;;EASvB4R,EAAiB7R,IAAOC,GAAI;;;;;;;;;;eAU1B,EAAGC,WAAYA,EAAMC,QAAQC,KAAK;;;;;eAKlC,EAAGF,WAAYA,EAAMC,QAAQC,KAAK;;;;EAMpC0R,EAAM9R,IAAOC,GAAI;;;;;;;EASjB8R,EAAc/R,IAAOC,GAAI;;;;;;EAQzB+R,EAAiBhS,IAAOC,GAAI;;EAI5BgS,EAAoBjS,YAAO4R,EAAW;;;;EAUtCM,GAJalS,YAAOmS,IAAS;;EAIpBnS,IAAOC,GAAI;;;;;;GAQpBmS,EAAcpS,IAAOqS,EAAG;;;;;EAOxBC,EAAetS,IAAOC,GAAI;;;;WAI5B,EAAGC,MAAO4B,KAAQA,EAAE3B,QAAQC,KAAK;;EAI/BmS,EAAcvS,IAAOC,GAAI;;;;;;EAQzBuS,EAASxS,IAAOyS,CAAE;;;EAKlBC,EAAO1S,IAAOyS,CAAE;eACd,EAAGE,UAAWA,GAAQ;WAC1B,EAAGC,YAAcA,EAAS,UAAYzJ;EAGpCpI,EAAUf,IAAO6S,IAAK,GA8BtBC,GA5BkB9S,IAAOC,GAAI;;;EAKXD,IAAOC,GAAI;;;;;;;;;;sBAUnBmH,GAAWA,EAAM2L,SAAW,QAAU;;EAItC/S,IAAOgT,EAAG;;;;;;;EASLhT,IAAOC,GAAI;;GAI1BgT,EAAQjT,IAAOkT,KAAM;;;;WAIvB,EAAG7K,QAAOnI,WAAYmI,GAASnI,EAAMC,QAAQC,KAAK;;EAIhD+S,EAAYnT,IAAOgT,EAAG;;;;EAgEtBI,GA1DYpT,IAAOgO,KAAM;;;;;;oBAMlBqF;;;iBAGH,EAAGnT,MAAO4B,KAAQA,EAAEwR;;;;;;;;;;;;;;EAgBftT,IAAOuT,MAAO;;;;;;;;;iBASnB,EAAGrT,MAAO4B,KAAQA,EAAEwR;;;;;;;;;EAWPtT,IAAOC,GAAI;;EAIrBD,IAAOwT,OAAQ;;;EAKXxT,IAAOyT,OAAQ;;EAIXzT,IAAOC,GAAI;;;8BAGT8L;;;;;;;GASjB2H,EAAa1T,IAAOqS,EAAG;;;;;;EAQvBsB,EAAY3T,YAAO0T,EAAY;;;EA4C/BE,GAvCc5T,IAAOC,GAAI;;;;;;;;;;;;;;EAgBbD,YAAOmS,IAAS;;;EAKtBnS,IAAOC,GAAI;;;;;gBAKd,EAAG4T,oBAAsBA,EAAiB,UAAY;;oBAElD,EAAGC,YAAcA,EAAS,SAAW;;;;;;;;;EAWhC9T,IAAOC,GAAI;;;;oBAIhB,EAAG6T,YAAcA,EAAS,SAAW;;;;uBAIlC,EAAGA,YAAcA,EAAS,SAAW;uBACrC,EAAGC,cAAgBA,EAAW,SAAW;gBAChD,EAAGF,oBAAsBA,EAAiB,UAAY;;mBAEnD,EAAGE,cAAgBA,EAAW,eAAiB;;;;;;GAQrDC,EAAehU,IAAOC,GAAI;;;;;;;;;IASnCmH,GAASA,EAAM6M,QAAUnT,GAAI;;;;;IAK7B,EAAGiT,cAAeA,GAAYjT,GAAI;;;;;;EAQzBoT,EAAelU,IAAOC,GAAI;;;;;;;;;;;;;;;;;;;;;;EAgC1BkU,GARiBnU,IAAOuN,GAAI;;EAIlBvN,IAAOyS,CAAE;;EAILzS,IAAOC,GAAI;;;;;;GAQzBmU,EAAcpU,IAAOC,GAAI;;;;;;;;;;;;;EAezBoU,EAAUrU,IAAOsU,EAAG;;;;;;;;;;;;;;;;;;;;;;;;iBAwBhBvN,YAAQ;;;;;;EAQZwN,EAAgBvU,IAAOwU,OAAQ;WACjC3I;iCACsBE;;;;;;;;;;;;;iBAahBH;;;;;mBAKEA;;;;;;;;;;;;;;EAgBN6I,EAAWzU,IAAOqS,EAAG;;;;;;;EASrBqC,EAAe1U,IAAOC,GAAI;;;;EAW1B0U,GALiB3U,IAAOC,GAAI;;;EAKfD,IAAO4U,IAAK;GAGzBC,EAAc7U,IAAOC,GAAI;;WAE3B,EAAGC,WAAYA,EAAMC,QAAQC,KAAK;;;;EAMhC0U,EAAc9U,IAAOC,GAAI;;;;;;;gBAOtB8L;;;;;;;;;;;EAaHgJ,EAAgB/U,IAAOC,GAAI;;;;;;;;;;;;;;;;;aAiB3B,EAAGC,WAAYA,EAAMC,QAAQC,KAAK;;;EAKlC4U,EAAiBhV,IAAOC,GAAI;;EAI5BgV,EAAajV,IAAOC,GAAI;;;EAKxBiV,EAASlV,IAAOC,GAAI;;;;;aAKnBmH,GAAWA,EAAM+N,YAAc,EAAI;YACpC/N,GAAWA,EAAM+N,YAAc,UAAY;;;kBAGrC/N,GAAWA,EAAM+N,YAAc9L,IAAO;;;;;;;;;;;EA0B5C+L,GAbapV,IAAOC,GAAI;aACxBwL;;;;EAMezL,IAAOC,GAAI;;;;EAMdD,IAAOqV,EAAG;;;;WAIxBlM;GAGEmM,EAActV,IAAOyS,CAAE;;;WAGzB,EAAGvS,MAAO4B,KAAQA,EAAE3B,QAAQC,KAAK;;EAkB/BmV,GAdUvV,IAAOyS,CAAE;;;;EAMFzS,IAAOC,GAAI;;;0BAGfuV;;yBAED,EAAGC,gBAAkBA,EAAa,UAAY;EAGzCzV,IAAOC,GAAI;;;;;;;;GAU5ByV,EAAM1V,IAAOuN,GAAI;;EAIjBoI,EAAc3V,IAAOC,GAAI;EAGzB2V,EAAiB5V,IAAOC,GAAI;;;;EAM5B4V,EAAoB7V,IAAOC,GAAI;;eAE7B8G,YAAQ;;aAEVA,YAAQ;EAGR+O,GAAqB9V,IAAOC,GAAI;;;;EAMhC8V,GAAW/V,IAAOC,GAAI;;;;;;;;;;;EAatByM,GAAO1M,IAAOuN,GAAI;;EAIlByI,GAAsBhW,IAAOgT,EAAG;;;;;;;;;;;;;;;EAiBhCiD,GAAsBjW,IAAOqV,EAAG;;;;;;EAQhCa,GAA4BlW,IAAOC,GAAI;;;;;;;EASvCkW,GAA+BnW,IAAOC,GAAI;;;;;;;;;;;;;;;;;;;;EAuB1CmW,GAAWpW,IAAOsU,EAAG;;;;;;;;;EAUrB+B,GAAWrW,IAAOsW,EAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BrBC,GAA2BvW,IAAOC,GAAI;;kCAEjB,EAAGuW,QAAQ,KAAQA;;;;;;;;;EAWxCC,GAA0BzW,IAAOC,GAAI;;;;;;;;;;;;;;;;;;EAoBrCyW,GAAmB1W,IAAOC,GAAI;;;;;;;;;;GAY9B0W,GAAqB3W,YAAO4R,EAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BvCgF,GAAqB5W,IAAOC,GAAI;;;;;;;;;;;;;;;sKCnzB7C,MAAM4W,EAAe,CACnBvP,MAAO,KACPnC,UAAW,KACX2R,aAAc,KACdhI,OAAQiI,KACRC,kBAAmB,QAgDN9R,MA7CF,CAACsC,EAAQqP,EAAcI,KAClC,OAAQA,EAAOlK,MACb,KAAKC,IACH,OAAOiK,EAAOC,QAGhB,KAAKlK,IACH,MAAO,IACFxF,EACHwP,kBAA+C,YAA5BxP,EAAMwP,kBACrBxP,EAAMwP,kBAAoB,aAIlC,KAAKhK,IACH,MAAO,IACFxF,EACHwP,kBAAmB,WAIvB,KAAKhK,IACH,MAAO,IACFxF,EACHwP,kBAAmB,UAIvB,KAAKhK,IACH,MAAO,IACFxF,KACAyP,EAAOC,QACVF,kBAAmB,QAIvB,KAAKhK,IACH,MAAO,IAAK6J,GAGd,QACE,OAAOrP,I,QClCE/E,MAbC,CAAC+E,EAFI,KAEkByP,KACrC,OAAQA,EAAOlK,MACb,KAAKC,IACH,MAAO,IAAKiK,EAAOC,QAASC,gBAAiBF,EAAOE,iBAEtD,KAAKnK,IACH,MAAO,IAAKxF,EAAO2P,gBAAiBF,EAAOE,iBAE7C,KAAKnK,IAAa,OAVD,KAWjB,QAAS,OAAOxF,I,QCXpB,MAAMqP,EAAe,CACnBO,YAAa,KACbC,cAAe,KACfC,eAAgB,KAChBC,iBAAkB,KAClBC,uBAAwB,KACxBC,yBAA0B,KAC1BC,gBAAiB,KACjBC,kBAAmB,KACnBC,gCAAiC,KACjCC,iCAAkC,MAwErBC,MArEC,CAACtQ,EAAQqP,EAAcI,KACrC,OAAQA,EAAOlK,MACb,KAAKC,IACH,MAAO,IACFxF,EACH4P,YAAaH,EAAOC,QACpBI,eAAgB,KAChBE,uBAAwB,KACxBI,gCAAiC,MAGrC,KAAK5K,IACH,MAAO,IAAKxF,EAAO6P,cAAeJ,EAAOC,SAE3C,KAAKlK,IACH,MAAO,IACFxF,EACH8P,eAAgBL,EAAOC,QACvBE,YAAa,KACbI,uBAAwB,KACxBI,gCAAiC,MAGrC,KAAK5K,IACH,MAAO,IAAKxF,EAAO+P,iBAAkBN,EAAOC,SAE9C,KAAKlK,IACH,MAAO,IACFxF,EACHgQ,uBAAwBP,EAAOC,QAC/BE,YAAa,KACbE,eAAgB,KAChBM,gCAAiC,MAGrC,KAAK5K,IACH,MAAO,IAAKxF,EAAOiQ,yBAA0BR,EAAOC,SAEtD,KAAKlK,IACH,MAAO,IACFxF,EACHkQ,gBAAiBT,EAAOC,QACxBE,YAAa,KACbE,eAAgB,KAChBE,uBAAwB,KACxBI,gCAAiC,MAGrC,KAAK5K,IACH,MAAO,IAAKxF,EAAOmQ,kBAAmBV,EAAOC,SAE/C,KAAKlK,IACH,MAAO,IACFxF,EACHgQ,uBAAwB,KACxBJ,YAAa,KACbE,eAAgB,KAChBM,gCAAiCX,EAAOC,SAE5C,KAAKlK,IACH,MAAO,IACFxF,EACHqQ,iCAAkCZ,EAAOC,SAE7C,QACE,OAAO1P,I,SC9Eb,MAAMqP,EAAe,CACnBkB,UAAU,GAcGC,MAXC,CAACxQ,EAAQqP,EAAcI,KACrC,OAAQA,EAAOlK,MACf,KAAKC,IACH,MAAO,IAAKxF,EAAOuQ,UAAWvQ,EAAMuQ,UAGtC,QACE,OAAOvQ,I,QCXX,MAAMqP,EAAe,CACnBvP,MAAO,KACPwH,OAAQiI,KACRkB,eAAgB,EAChBC,oBAAqB,IA0BR9S,MAvBF,CAACoC,EAAQqP,EAAcI,KAClC,OAAQA,EAAOlK,MACf,KAAKC,IACL,KAAKA,IACH,MAAO,IAAKxF,KAAUyP,EAAOC,SAE/B,KAAKlK,IAA4B,IAAD,IAC9B,MAAO,IACFxF,KACAyP,EAAOC,QACVgB,qBAAqB,UAAAjB,EAAOC,QAAQ7R,0BAAf,eAAmC9C,IAAK,CAC3D0U,EAAOC,QAAQ7R,mBAAmB9C,OAC9B,UAAAiF,EAAM0Q,2BAAN,eACA9H,OAAO7N,GAAMA,IAAO0U,EAAOC,QAAQ7R,mBAAmB9C,MAAO,IACjE4V,MAAM,EAAG,GAAK3Q,EAAM0Q,qBAI1B,QACE,OAAO1Q,ICbX,MAAM4Q,GAAsBrB,EAGtBsB,EAAgB,CACpB/V,IAAK,OACLgW,YAGAC,UAAW,CACT,OACA,QAGFC,UAAW,CACT,UACA,eACA,SAIEC,EAAoB,CACxBnW,IAAK,OACLgW,YACAC,UAAW,CACT,QACA,cAIEG,EAAoB,CACxBpW,IAAK,OACLgW,YACAC,UAAW,CACT,KACA,UAIEI,EAAuB,CAC3BrW,IAAK,UACLgW,YACAC,UAAW,CACT,cACA,kBAIEK,EAAuB,CAC3BtW,IAAK,UACLgW,YACAC,UAAW,CACT,cAIEM,EAAcC,YAAgB,CAClC5T,KAAM6T,YAAeN,EAAmBvT,GACxCE,KAAM2T,YAAeL,EAAmBtT,GACxC0S,QAASiB,YAAeJ,EAAsBb,GAC9CE,QAASe,YAAeH,EAAsBZ,GAC9CvV,UACAoQ,KAAMmG,MAGFC,EAAmBF,YAAeV,EAAeQ,GAEjD7T,EAAQkU,YACZD,EACAb,EAAsBe,YACpBC,YAAgBC,KAChBjB,GAAuBA,KACrBe,YAAQC,YAAgBC,OAGxBC,EAAYC,YAAavU,I,iCCzF/B,8DAgBO,MAAMwU,EAAa,EACxBC,KAAK,IACLC,OACA5W,UACA6W,WACAC,aAAY,EACZtZ,UAAU,UACV+H,QAAQ,aACLjB,KAEQ,MAAPqS,EAEA,kBAAC,IAAD,eACEG,UAAWA,EACXF,KAAMA,EACN5W,QAASA,EACTxC,QAASA,GACL8G,GACHuS,GAML,kBAAC,IAAD,eACEtR,MAAOA,EACPuR,UAAWA,EACX9W,QAASA,EACTxC,QAASA,GACL8G,GACHuS,I,iCC9CP,sHAiCO,MAAME,EAAiB,EAC5BC,eAAcC,UAASC,WAAW,UAAWL,WAAUM,aAAYC,eAEnE,MAAM,YAAEzW,EAAF,mBAAe4B,GAAuB8U,cACtCC,EAAiBC,cAEvB,IAAIC,GAAgB,EASpB,GAR0B,mBAAfL,EACTK,EAAgBL,EACPH,EACTQ,EAAgBR,EAAavW,KAAKgX,GAAU,OAAI9W,QAAJ,IAAIA,OAAJ,EAAIA,EAAc8W,IACrDR,IACTO,EAAgBP,EAAQS,MAAMD,GAAU,OAAI9W,QAAJ,IAAIA,OAAJ,EAAIA,EAAc8W,KAGvDlV,IAAuB5B,IAAiB2W,EAC3C,OAAO,kBAAC,IAAD,MAGT,IAAKE,EAEH,OADAvU,QAAQ0U,IAAI,2BAA4BV,GAChCC,GACN,IAAK,oBACH,OACE,kBAACU,EAAD,CACER,SAAUA,EACVH,QAASA,EACTD,aAAcA,IAGpB,QAAS,OAAO,kBAACa,EAAD,MAIpB,OAAQhB,GAAY,kBAAC,IAAD,OAGhBgB,EAAS,IAAM,kBAAC,IAAD,CAAUC,SAAS,OAAOzU,SAAO,EAAC8B,GAAG,OAEpDyS,EAAqB,EAAGX,UAASD,eAAcI,SAAUW,MAC7D,MAAMlZ,EAAc0Y,eACd,EAAEvY,GAAMC,cACd+Y,YAAmB,MAEnB,MAAMC,EAAiBzW,kBAAQ,KAC7B,IAAK3C,EACH,OAAO,KAET,MAAMoG,EAAS,GAef,OAbApG,EAAYqZ,QAAQjY,IAClB,MAAMkY,EAAWlY,EAAWJ,MAAMyN,OAChCpN,IAAqB,OAAZ8W,QAAY,IAAZA,OAAA,EAAAA,EAAcvW,KAAKjB,GAAOU,EAAKS,YAAYnB,OAA3C,OACNyX,QADM,IACNA,OADM,EACNA,EAASS,MAAMlY,GAAOU,EAAKS,YAAYnB,MAExC2Y,EAASrK,QACX7I,EAAOuI,KAAK,IACPvN,EACHJ,MAAOsY,MAKNlT,GACN,CAACpG,EAAaoY,EAASD,IAE1B,OAAIiB,GAA4C,IAA1BA,EAAenK,OAC5BiK,EAAW,kBAACA,EAAD,MAAe,kBAACF,EAAD,MAKjC,kBAAC,IAAD,CAAa9W,QAAS,CAAC,CAAEG,SAAU+W,KACjC,kBAAC,IAAD,KACE,kBAAC,IAAD,CACEpZ,YAAaoZ,GAAkB,GAC/BlZ,iBAAe,EACfD,MAAOE,EAAE,4DAOnB+X,EAAec,OAASA,G,iCCrHxB,4BAIA,MAAMO,EAJN,KAIgBlb,EAAOmb,OAAQ;;;;;;;;;;;;;;;;;;;;;;;4BAuBH/R;;;;;;;;;qCASSA;;;;;;;;EAUrC8R,EAAQ9J,aAAe,CACrBgK,UAAW,kBAOEzJ,mBAJI,EAAGgI,WAAU0B,UAASjU,KACvC,kBAAC8T,EAAD,eAASI,wBAAyB,CAAEC,OAAQF,GAAQ1B,IAAgBvS,M,iCCnDtE,yJAYO,MAAMoU,EAAcC,IAA4C,IAAD,IACpE,MAAM,mBAAEpW,GAAuBlD,cACzBI,EAAKmZ,OAA0B,SAAnBD,EAAA,OAA4BpW,QAA5B,IAA4BA,GAA5B,UAA4BA,EAAoB5C,eAAhD,aAA4B,EAA6BF,GAAKkZ,GAE1E7V,EAAO+V,aACO,OAAlBtW,QAAkB,IAAlBA,OAAA,EAAAA,EAAoB9C,KAAMA,EAAK,CAAC,UAAWA,EAAZ,OAAgB8C,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAoB9C,IAAM,KAGxEqZ,GAAsBhX,IAAaC,IAAK,cAAa+W,EAAO,IAC7D,CAAEC,iBAAkB,KAAOC,sBAAuB,MAGpD,MAAO,CACLlW,OACAmW,OAA2B,SAAnBN,GAA6BlZ,IAAOmZ,OAAM,OAACrW,QAAD,IAACA,GAAD,UAACA,EAAoB5C,eAArB,aAAC,EAA6BF,IAChFyZ,UAAWzZ,EACX0Z,UAAWrW,EAAKqW,YAIdC,EAAWzX,GAAgBG,IAAaC,IAAIJ,EAAI0X,WAAW,MAAQ1X,EAAI0T,MAAM,GAAK1T,GAAKgB,KAAK,EAEhG,eAAgBG,EAEhB,aAAcN,EAEd,mBAAoB8W,MAN4E,CAShGxW,KAAMA,EAAKxD,IAAIuG,IAAC,IAAUA,EAAGuK,MAAOvK,EAAEjG,KAAMgM,MAAO/F,EAAEjG,QAErD0Z,aACAC,SAAQ,OAAE/W,QAAF,IAAEA,OAAF,EAAEA,EAAO,cACjBb,SAeW6X,EAAe,CAACV,GAC3BW,OAAMC,UAASC,YAAWC,aAOxB,MAAQ,IAAD,MAET,MAAMC,EAAoBC,KAAKC,UAAUjB,GACnCkB,EAAS7N,sBAAY,CAAC8N,EAAeC,KAEzC,GAAIA,EAAc,OAAOA,EAAaX,SACtC,GAAIU,EAAQ,EAAG,OAAO,KAEtB,MAAME,EAAQ,IAAI1Y,gBAAgBqY,KAAKM,MAAMP,IACxCM,EAAMpY,IAAI,iBACboY,EAAME,IAAI,eAAgB,MAG5B,MAAMC,EAAa1B,OAAOuB,EAAMpY,IAAI,eAQpC,OAPAoY,EAAMI,OAAO,cACbJ,EAAMjC,QAAQ,CAACsC,EAAGC,KACXD,GACHL,EAAMI,OAAOE,KAGjBN,EAAM1M,OACC6M,EAAc,cAAaA,cAAuBH,EAAMO,aAAgB,cAAaP,EAAMO,YACjG,CAACb,IAEE/W,EAAO6X,YACXX,EACAZ,EACA,CACEL,iBAAkB,IAClBC,sBAAuB,IACvB4B,eAAe,KAEXjB,GAAa,CAAEA,gBACfD,GAAW,CAAEA,cACbE,GAAa,KAIrB,MAAO,CACLiB,IAAK/X,EACLqW,UAAWrW,EAAKqW,UAChBrW,KAAI,OAAEA,QAAF,IAAEA,GAAF,UAAEA,EAAMA,YAAR,aAAE,EAAYgY,QAAQjV,GAAKA,EAAE/C,MACjCwW,WAAU,OAAExW,QAAF,IAAEA,GAAF,UAAEA,EAAMA,YAAR,iBAAE,EAAa,UAAf,aAAE,EAAiBwW,WAC7ByB,aAAc,IAAMjY,EAAKkY,QAAQC,GAAKA,EAAI,KAIxCC,EAAiCC,GAAe,CAAC3b,EAAK4b,EAAWC,KAAY,IAAD,QAChF,MAAMC,EAAMH,EAAW3b,EAAK4b,EAAWC,GAGvC,OAAKA,EAAOE,gBAAmBF,EAAOG,0BAC/B,IACFF,EAEHxY,MAAOwY,EAAIxY,OAAL,UAAawY,EAAIxY,YAAjB,aAAa,EAAW,GAAG2Y,cAAeH,EAAIxY,KAAO,CACzD,IAEE,UAAGwY,EAAIxY,YAAP,aAAG,EAAW,GACdA,KAAM,IAEAuY,EAAOG,0BAA4B,CAACH,EAAOG,2BAA6B,MAExEH,EAAOE,eAAiB,CAACF,EAAOE,gBAAkB,MAEtD,UAAGD,EAAIxY,YAAP,aAAG,EAAW,GAAGA,MACnB2Y,cAAc,MAGhB,UAAGH,EAAIxY,YAAP,aAAG,EAAUuS,MAAM,KAlBiDiG,GAuB7DI,EAA2B,CACtC5C,EACA6C,KACI,IAAD,EACH,MAAM,0BAAEH,EAAF,sBAA6BI,GAA0BD,GAAW,IACjEE,EAAmBC,GAAYpQ,oBAAuB,OAANoN,QAAM,IAANA,OAAA,EAAAA,EAAQlZ,OAAkB,IACjFwJ,oBAAU,KACR0S,EAAShD,EAAOlZ,MAAkB,KACjC,CAACkZ,EAAOlZ,OAEX,MAAM,mBAAE2C,GAAuBlD,cACzBM,EAAO,OAAG4C,QAAH,IAAGA,OAAH,EAAGA,EAAoB5C,SAE9B,EAAEX,GAAMC,cACR8c,EAAqBva,kBAAQ,KACjC,IAAKga,EAA2B,OAAO,KAEvC,MAAMpL,EAAQpR,EAAE,OAChB,OAAM6c,IAAsBzL,EAAM4L,cAC/BzO,SAASsO,EAAkBG,eAAyB,KAEhD,CAAEvc,GAAI,MAAOG,KAAMwQ,IACzB,CAACyL,EAAmBL,EAA2Bxc,IAE5Cid,EAAiBL,KAChBC,IAAD,OACClc,QADD,IACCA,GADD,UACCA,EAASC,YADV,aACC,EAAeoc,cAAczO,SAASsO,EAAkBG,oBACvDD,EAEFG,EAAW1C,EAAa,IACzBV,EACHlZ,KAAMic,GAAqB/C,EAAOlZ,MACjC,CACD6Z,MAAa,OAAPkC,QAAO,IAAPA,OAAA,EAAAA,EAASlC,QAAQ,EACvBG,UAAW,CACTuC,YAAa,EACbC,qBAAqB,EACrBC,IAAKJ,EAAgB,CAACf,QAAqBrP,EAE3C0P,eAAgBK,GAAyBjc,EACzC6b,0BAA2BO,KAI/B,MAAO,IACFG,EAASrB,IACZyB,SAAU,IAAMJ,EAASrB,IAAIG,QAAQC,GAAKA,EAAI,GAC9Ca,c,oBC7LJ1R,EAAOC,QAAU,IAA0B,mC,iCCA3C,6lBAKO,MAAMkS,EAAgBrf,IAAOC,GAAI;;;;;;EAQ3Bqf,EAAkBtf,IAAOC,GAAI;eAC3B6L;;;EAKFyT,EAAcvf,IAAOqS,EAAG;;;;;;aAMxB,EAAGnS,WAAYA,EAAMC,QAAQC,KAAK;;EAUlCof,GANUxf,IAAOC,GAAI;;;;EAMLD,IAAOC,GAAI;;;;;GAO3Bwf,EAA+Bzf,IAAOC,GAAI;;;;;;;IAOnD,EAAG8T,WAAU2L,YAAa3L,GAAY2L,IAAU5e,GAAI;;;;;;;IAOpDwe;;;;;;;;;;;;EAcSK,EAAe3f,IAAOC,GAAI;;;;EAM1B2f,EAAY5f,YAAOiB,IAAM;;;;;;sBAMhB,EAAG4e,YAAcA,EAAS,UAAY;;;;;kBAK1C,EAAG3f,WAAYA,EAAMK,UAAUC;;;;aAIpC,EAAGN,WAAYA,EAAMC,QAAQC,KAAK;;;;aAIlC,EAAGF,WAAYA,EAAMC,QAAQC,KAAK;;;;;aAKlC,EAAGF,WAAYA,EAAMC,QAAQC,KAAK;;;;;eAKhC,EAAGyf,YAAcA,EAAS,QAAU;;EAItC7N,EAAiBhS,IAAOC,GAAI;;;;;;;SAOhC,EAAG0S,OAAO,QAAqB,OAATA,EAAgB,MAAQ;;;EAK1CmN,EAAmB9f,IAAOC,GAAI;;;;;EAO9B8f,EAAc/f,IAAOC,GAAI;;;;;;;;;;;;;;;EAiBzB+f,EAA0BhgB,YAAOiB,IAAM;;;;;;;;;;;;;;;;;;;;;;;aAuBvC,EAAGf,WAAYA,EAAMC,QAAQC,KAAK;;;;;;;;;;;;;;;;;;;;EAsBlC6f,EAA4BjgB,YAAOiB,IAAM;;;;;;;;;;;;;;;aAezC,EAAGf,WAAYA,EAAMC,QAAQC,KAAK;;;;EAMlC8f,EAAmBlgB,YAAOiB,IAAM;;;;;;;;aAQhC,EAAGf,WAAYA,EAAMC,QAAQC,KAAK;;;;;EAOlC+f,EAAYngB,IAAOC,GAAI;;;;EAgBvBmgB,GAVyBpgB,IAAOC,GAAI;;EAIlBD,IAAOC,GAAI;;;;EAMbD,IAAOC,GAAI;;;;;;;;;GAW3BogB,EAAyBrgB,IAAOC,GAAI;;;;;;;;;;;;;;;;EAkBpCqgB,EAAWtgB,IAAOC,GAAI;;;uBC/QnCiN,EAAOC,QAAU,IAA0B,mC,4GCIpC,MAAMyE,EAAY5R,IAAOC,GAAI;eACrB6L;;;;;;;;EAUFyU,EAAevgB,IAAOC,GAAI,GAE1Bqf,EAAkBtf,IAAOC,GAAI;;IAErCmH,GAAyB,kBAAfA,EAAM2F,MAA4B;;;;;EAOpCsS,EAAgBrf,IAAOC,GAAI;;;;;EAO3B0f,EAAe3f,IAAOC,GAAI;;;EAK1BugB,EAASxgB,IAAO6P,CAAE;;;;EC7BzB4Q,GAAO,IAAIC,MAAOC,cAkDThP,mBAhDA,EAAGnB,QAAQ,KAAMzD,OAAO,SACrC,MAAQxK,GAAIyZ,GAAczU,YAAYC,GAASA,EAAM/E,SAAW,KAC1D,QACJuB,EACA+D,OAAQ6Y,GACNC,YAAS,IAAM7E,GAAa8E,IAASjc,IAAImX,GAAY,CAACA,KACnD+E,EAAUC,GAAald,IAAEmd,QAAQL,IAAcA,GAAc,GAEpE,OACE,kBAAC,EAAD,CAAgBpQ,MAAOA,GACrB,kBAAC,EAAD,KACE,kBAAC,EAAD,KAEE,kBAAC,EAAD,MACIxM,GACA,kBAAC,EAAD,KACG+c,GACC,6BACE,oDACA,8BAAOA,EAASG,cAInBF,GACC,6BACE,2DACA,8BAAOA,EAASE,eAMxB,kBAAC,EAAD,CAAmBnU,KAAMA,GACvB,8BACI,aAAY0T,YACd,kBAAC,EAAD,CACE/G,KAAK,+CADP,4C,sGC5ChB,MAEazG,EAAQjT,IAAOkT,MAAV,4EAAGlT,CAAH,yDAMLe,EAAUf,IAAOC,IAAV,8EAAGD,CAAH,yoBARL,GAyCDuI,GACDA,GAQW,EAAGrI,WAAYA,EAAMC,QAAQ+J,KAAK,KAIhC,EAAGhK,WAAYA,EAAMC,QAAQ+J,KAAK,MCpDtDiX,EAAe,EACnBC,UAASlO,QAAOlF,WAAU5G,KAE1B,kBAAC,EAAD,KACG8L,GACC,kBAAC,EAAD,CAASmO,QAAQ,SACdnO,GAIL,2BAAOkI,UAAU,SAASiG,QAASja,EAAM7E,KAAN,OAAYyL,QAAZ,IAAYA,OAAZ,EAAYA,EAAOzL,KAAM,SAC1D,yCAAO6e,QAASA,IAAO,OAAIpT,QAAJ,IAAIA,OAAJ,EAAIA,EAAOU,OAAOnM,GAAG,QAAQwK,KAAK,YAAe3F,EAAW4G,IACnF,0BAAMoN,UAAU,mBAKPzJ,mBAAKwP,GAEb,MAAMG,EAAc5P,YAAWyP,I,iCCvBtC,itFAQA,MAAMI,EAAc,EAAG,eAAgB3b,KAAWA,EAErC4b,EAAkB,EAC7B,eAAgB5b,EAChB,aAAcN,EACd,mBAAoB8W,MAHS,CAK7BxW,OACAyW,SAAU/W,GAAQA,EAAK,cACvB8W,eAOWqF,EAAO7F,GAAW8F,IAC5B7c,IAAI,gBAAiB,CAAE+W,WACvBnW,KAAK+b,GACL3b,MAAM8b,KAEI9c,EAAOtC,GAAOmf,IACxB7c,IAAK,iBAAgBtC,GACrBsD,MAAO+b,IACND,YAAWC,GACJ,OAEEC,EAAW5T,GAAOA,GAAOyT,IACnC7c,IAAK,8BAAkCoJ,GACvCpI,MAAM8b,KAEIG,EAAqBC,GAAeL,IAAQM,KAAK,+BAAgC,CAC5FD,YAAaA,EAAY,SAGdE,EAAe1f,GAAOsC,EAAItC,GACpCkD,KAAKC,UACJ,IAAKwc,EAAM,MAAO,CAAEpc,OAAO,GAE3B,MAAMqc,EAAYre,IAAEse,MAAMF,GACpBG,EAAc,GAUA,IAAD,GARfH,EAAK7a,UACPgb,EAAY/R,KACVoR,IACG7c,IAAK,8BAAkCqd,EAAK7a,UAC5C5B,KAAM6c,GAAM,CAAC,WAAYA,KAI5BJ,EAAKK,WACPF,EAAY/R,KACVoR,IACG7c,IAAK,+BAAD,UAAmCqd,EAAKK,gBAAxC,aAAmC,EAAgB,SACvD9c,KAAM6c,GAAM,CAAC,WAAYA,KAIhC,MAAM1c,QAAa4c,QAAQf,IAAIY,GAM/B,OAJAve,IAAEkX,QAAQpV,EAAM,EAAEtD,EAAKoM,MACrByT,EAAU7f,GAAOoM,IAGZyT,IAGEM,EAAc,CAACtE,EAAS,MAAQ,IAAD,EAC1C,MAAMuE,EAAW,OAAGvE,QAAH,IAAGA,GAAH,UAAGA,EAAQvC,cAAX,aAAG,EAAiB,sBAEnB,IAAD,EAAb8G,IACF,OAAOvE,QAAP,IAAOA,IAAP,UAAOA,EAAQvC,cAAf,cAAO,EAAiB,uBACxBuC,EAAOvC,OAAO,sBAAwB8G,GAGxC,OAAOhB,IACJ7c,IAAI,gBAAiBsZ,GACrB1Y,KAAK+b,GACL3b,MAAM8b,MAGEgB,EAAuBle,GAAQid,IACzC7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAK+b,GACL3b,MAAM8b,KAEIkB,EAAO,CAClBnT,OAASoT,GAAYpB,IAClBM,KAAK,gCAAiC,CAAEc,YACxCrd,KAAKsC,IACJ/B,YAAW,WAAY,WAChB+B,IAERlC,MAAM8b,KAEToB,SAAU,CAACD,EAASE,IAAUtB,IAC3BM,KAAK,iCAAkC,CAAEc,aAAYE,IACrDvd,KAAKsC,IACJ/B,YAAW,YAAa,WACjB+B,IAERlC,MAAM8b,KAETsB,KAAM,CAACC,EAAcC,IAAWzB,IAC7BM,KAAK,mCAAoC,CAAEkB,eAAcC,WACzD1d,KAAK,IAAMO,YAAW,UAAW,YACjCH,MAAM8b,KAETyB,QAAS,CAACN,EAASE,IAAUtB,IAC1BM,KAAK,iCAAkC,CAAEc,aAAYE,IACrDvd,KAAKsC,IACJ/B,YAAW,WAAY,WAChB+B,IAERlC,MAAM8b,KAET0B,OAASH,IACP,MAAM/E,EAAS,CAAEvC,OAAQ,CAAEgH,MAAO,SAClC,OAA4B,IAAxBM,EAAatS,OA1GN,EAACrO,EAAI4b,IAAWuD,IAC5BrE,OAAQ,iBAAgB9a,EAAM4b,GAC9BtY,MAAM8b,KAwGiC0B,CAAOH,EAAa,GAAGvT,MAAM,KAAK,GAAIwO,GACrEuD,IACJM,KAAK,qCAAsC,CAAEkB,gBAAgB/E,GAC7D1Y,KAAK,IAAMO,YAAWsd,IAAQxhB,EAAE,gDAAiD,YACjF+D,MAAM8b,MAGX4B,KAAM,CAACL,EAAcC,IAAWzB,IAC7BM,KAAK,mCAAoC,CAAEkB,eAAcC,WACzD1d,KAAK,IAAMO,YAAW,SAAU,YAChCH,MAAM8b,KAET6B,SAAWN,GAAiBxB,IACzBM,KAAK,uCAAwC,CAAEkB,iBAC/Czd,KAAK,IAAMO,YAAW,aAAc,YACpCH,MAAM+b,GAAOD,YAAWC,EAAK,sDAEhC6B,OAAQ,CAACX,EAASE,IAAUtB,IACzBM,KAAK,8BAA+B,CAAEc,aAAYE,IAClDvd,KAAKsC,IACJ/B,YAAW,iBAAkB,WACtB+B,IAERlC,MAAM8b,KAET+B,OAAQ,CAACZ,EAASE,IAAUtB,IACzBM,KAAK,gCAAiC,CAAEc,aAAYE,IACpDvd,KAAKsC,IACJ/B,YAAW,mBAAoB,WACxB+B,IAERlC,MAAM8b,KAETgC,SAAU,CAACT,EAAcnS,IAAW2Q,IACjCM,KAAK,kCAAmC,CAAEkB,eAAcnS,WACxDtL,KAAK,IAAMO,YAAW,mDAAoD,YAC1EH,MAAMC,IACL,MAAM8b,EAAM,CAAE9b,SAAQA,MAAMS,SAASX,KAAK,qBAE1C,MADAI,YAAW4b,EAAK,SACV9b,IAGV8d,SAAWd,GAAYpB,IACpBM,KAAK,kCAAmC,CAAEc,YAC1Crd,KAAK,IAAMO,YAAW,0BAA2B,YACjDH,MAAM8b,KAETkC,OAAQ,CAACf,EAASgB,IAAapC,IAC5BM,KAAK,gCAAiC,CAAEc,UAASgB,aACjDre,KAAK,IAAMO,YAAW,uBAAwB,YAC9CH,MAAM8b,MAGEoC,EAAU7M,GAAYwK,IAAQM,KAAK,gBAAiB9K,GAASzR,KAAM6c,IAC9Etc,YAAW,iDAAkD,WACtDsc,IAGH0B,EAAkB,CAAC9M,EAAS+M,KAChC,MAAMlc,EAAS,IAAKmP,GAUpB,OATAhU,OAAOghB,KAAKnc,GAAQiT,QAAQuC,IACR,OAAdxV,EAAOwV,IACJ0G,GAAWA,EAAO5T,SAASkN,IAC5BA,EAAE4G,SAAS,SACX5G,EAAE4G,SAAS,UACX5G,EAAE4G,SAAS,aACN,gCAAN5G,IAAqCxV,EAAOwV,GAAK,MAGjDxV,GAGIqc,EAAO,CAAC7hB,EAAI2U,IAAYwK,IAClC2C,MACE,iBAAgB9hB,EACjByhB,EAAgB9M,GAChB,CAAEoN,WAAY,CAAE,eAAgB,kCAEjC7e,KAAM6c,IACLtc,YAAW,4BAA6B,WACjCsc,IAGEiC,EAAmC9f,GAAOid,IACpDrE,OAAQ,8BAAkC5Y,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACpEnd,KAAK,IAAMO,YAAW,6DAA8D,YACpFH,MAAM8b,KAEI6C,EAA6BtN,GAAYwK,IACnDM,KAAK,iBAAkB9K,EAAS,CAC/B0E,OAAQ,CAAEgH,MAAO,QAAU0B,WAAY,CAAE,eAAgB,yBAE1D7e,KAAKsC,IACJ/B,YAAW,8BAA+B,WACnC+B,IAERlC,MAAM,IAAMG,YAAW,uDAAmD,UAEhEye,EAA4BhgB,GAAOid,IAC7CrE,OAAQ,8BAAkC5Y,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACpEnd,KAAK,IAAMO,YAAW,6BAA8B,YACpDH,MAAM8b,KAEI+C,EAAmC,CAACniB,EAAI2U,IAAYwK,IAC9DM,KAAM,iBAAgBzf,+BAAiC2U,GACvDrR,MAAM8b,KAEIgD,EAA0BpiB,GAAOmf,IAC3CrE,OAAQ,iBAAgB9a,sBACxBkD,KAAK,IAAMO,YAAW,4BAA6B,YACnDH,MAAM8b,KAEIiD,EAA8BriB,GAAOmf,IAC/CrE,OAAQ,iBAAgB9a,0BACxBkD,KAAK,IAAMO,YAAW,4BAA6B,YACnDH,MAAM8b,KAEIkD,EAAqCtiB,GAAOmf,IACtDrE,OAAQ,iBAAgB9a,iCACxBkD,KAAK,IAAMO,YAAW,4BAA6B,YACnDH,MAAM8b,KAEImD,EAAgCviB,GAAOmf,IACjDrE,OAAQ,iBAAgB9a,4BACxBkD,KAAK,IAAMO,YAAW,4BAA6B,YACnDH,MAAM8b,KAEIoD,EAAoCxiB,GAAOmf,IACrDrE,OAAQ,iBAAgB9a,gCACxBkD,KAAK,IAAMO,YAAW,4BAA6B,YACnDH,MAAM8b,KAEIqD,EAA+BziB,GAAOmf,IAChDrE,OAAQ,iBAAgB9a,2BACxBkD,KAAK,IAAMO,YAAW,4BAA6B,YACnDH,MAAM8b,KAEIsD,EAAsC1iB,GAAOmf,IACvDrE,OAAQ,iBAAgB9a,kCACxBkD,KAAK,IAAMO,YAAW,4BAA6B,YACnDH,MAAM8b,KAEIuD,EAAiC3iB,GAAOmf,IAClDrE,OAAQ,iBAAgB9a,6BACxBkD,KAAK,IAAMO,YAAW,4BAA6B,YACnDH,MAAM8b,KAEIwD,EAA+B5iB,GAAOmf,IAChDrE,OAAQ,iBAAgB9a,2BACxBkD,KAAK,IAAMO,YAAW,4BAA6B,YACnDH,MAAM8b,KAEIyD,EAAyB,CAAC7iB,EAAI2U,IAAYwK,IACpDM,KAAM,iBAAgBzf,qBAAuB2U,GAC7CrR,MAAM8b,KAEI0D,EAA6B,CAAC9iB,EAAI2U,IAAYwK,IACxDM,KAAM,iBAAgBzf,yBAA2B2U,GACjDrR,MAAM8b,KAEI2D,EAAoC,CAAC/iB,EAAI2U,IAAYwK,IAC/DM,KAAM,iBAAgBzf,gCAAkC2U,GACxDrR,MAAM8b,KAEI4D,EAA+B,CAAChjB,EAAI2U,IAAYwK,IAC1DM,KAAM,iBAAgBzf,2BAA6B2U,GACnDrR,MAAM8b,KAEI6D,EAAmC,CAACjjB,EAAI2U,IAAYwK,IAC9DM,KAAM,iBAAgBzf,+BAAiC2U,GACvDrR,MAAM8b,KAEI8D,EAA8B,CAACljB,EAAI2U,IAAYwK,IACzDM,KAAM,iBAAgBzf,0BAA4B2U,GAClDrR,MAAM8b,KAEI+D,EAAqC,CAACnjB,EAAI2U,IAAYwK,IAChEM,KAAM,iBAAgBzf,iCAAmC2U,GACzDrR,MAAM8b,KAEIgE,EAAgC,CAACpjB,EAAI2U,IAAYwK,IAC3DM,KAAM,iBAAgBzf,4BAA8B2U,GACpDrR,MAAM8b,KAEIiE,EAA8B,CAACrjB,EAAI2U,IAAYwK,IACzDM,KAAM,iBAAgBzf,0BAA4B2U,GAClDrR,MAAM8b,KAEIkE,EAAS,CAACtjB,EAAIqZ,IAAW8F,IACnC7c,IAAK,iBAAgBtC,WAAa,CAAEqZ,SAAQ9W,QAAS,CAAEghB,OAAQ,yBAC/DrgB,KAAK+b,GACL3b,MAAM8b,KAEI3T,EAAS+X,GAAYrE,IAC/B7c,IAAK,WAAUkhB,GACflgB,MAAM8b,KAEIqE,EAAeD,GAAYrE,IACrCrE,OAAQ,WAAU0I,GAClBlgB,MAAM8b,KAEIsE,EAAY,CAAC/O,EAAS6O,KACjC,MAAOG,EAAMzhB,GAAOshB,EAAU,CAAC,MAAQ,WAAUA,GAAa,CAAC,OAAQ,WAEvE,OAAOrE,IAAQwE,GAAMzhB,EAAKyS,GACvBzR,KAAK6c,IACAyD,EAAS/f,YAAW,kCAAmC,WACtDA,YAAW,kCAAmC,WAC5Csc,IAERzc,MAAM8b,MAGEwE,EAAS5jB,GAAMA,GAAMmf,IAC/B7c,IAAK,yBAAwBtC,kCAC7BkD,KAAK8b,GACL1b,MAAM8b,KAEIyE,EAAQ7jB,GAAMA,GAAMmf,IAC9B7c,IAAK,iCAAgCtC,GACrCsD,MAAM8b,KAEI0E,EAAeC,GAAY5E,IACrCrE,OAAQ,iCAAgCiJ,GACxCzgB,MAAM8b,KAEI4E,EAAY,CAACrP,EAAS6O,KACjC,MAAOG,EAAMzhB,GAAOshB,EAChB,CAAC,MAAQ,iCAAgCA,GACzC,CAAC,OAAQ,iCAEb,OAAOrE,IAAQwE,GAAMzhB,EAAKyS,GAASrR,MAAM8b,MAG9B6E,EAAajkB,GAAOmf,IAC9BM,KAAM,WAAUzf,UAChBkD,KAAK,IAAMO,YAAW,6BAA8B,YACpDH,MAAM8b,KAEI8E,EAAgB7K,GAAW8F,IACrCM,KAAK,WAAYpG,GACjB/V,MAAM8b,KAEI+E,EAAY,CAACnkB,EAAIqZ,IAAW8F,IACtC7c,IAAK,YAAWtC,EAAMqZ,GACtBnW,KAAK2Y,IACJ,GAAmB,YAAZ,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAK5W,OACP,MAAM,IAAImf,MAEZ,OAAOvI,IAERvY,MAAM,KACLG,YAAWsd,IAAQxhB,EAAE,8DAA+D,SAC7E,OAGE8kB,GAAe,CAACrkB,EAAIqZ,IAAW8F,IACzC7c,IAAK,8BAAkCtC,EAAMqZ,GAC7C/V,MAAM8b,KAEIkF,GAAyBjL,GAAW8F,IAC9C7c,IAAI,0BAA2B,CAAE+W,WACjCnW,KAAK+b,GACL3b,MAAM8b,KAEImF,GAAgBlL,GAAW8F,IACrC7c,IAAI,aAAc,CAAE+W,WACpBnW,KAAK+b,GACL3b,MAAM8b,KAEIoF,GAAmBxkB,GAAOmf,IACpCrE,OAAQ,cAAa9a,GACrBkD,KAAKsC,IACJ/B,YAAWsd,IAAQxhB,EAAE,+CAAgD,WAC9DiG,IAERlC,MAAM8b,KAEIqF,GAAezkB,GAAMmf,IAC/BM,KAAK,gCAAiC,CAAEiF,UAAW,CAAC1kB,KACpDkD,KAAK,IAAMO,YAAW,UAAW,YACjCH,MAAM8b,KAEIuF,GAAkBtL,GAAW8F,IACvCM,KAAK,aAAcpG,GACnBnW,KAAKsC,IACJ/B,YAAWsd,IAAQxhB,EAAE,+CAAgD,WAC9DiG,IAERlC,MAAM8b,KAEIwF,GAAqB5kB,GAAOmf,IACtC7c,IAAK,cAAatC,GAClBsD,MAAM8b,KAEIyF,GAAe,CAAC7kB,EAAI2U,IAAYwK,IAC1C2C,MACE,cAAa9hB,EACdyhB,EAAgB9M,EAAS,CAAC,YAAa,aACvC,CAAEoN,WAAY,CAAE,eAAgB,kCAEjC7e,KAAM6c,IACLtc,YAAWsd,IAAQxhB,EAAE,+CAAgD,WAC9DwgB,IAGE+E,GAA0B,CAAC9kB,EAAIqZ,IAAW8F,IACpD7c,IAAK,cAAatC,iBAAmB,CAAEqZ,WACvCnW,KAAK+b,GACL3b,MAAM8b,M,oBCnbTzU,EAAOC,QAAU,IAA0B,qC,iCCA3C,kCAAO,MAAMma,EAAe,gB,iCCA5B,uyBAKA,MAAM9F,EAAkB,EACtB,eAAgB5b,EAChB,aAAcN,EACd,mBAAoB8W,MAHE,CAKtB,eACE,OAAOmL,KAAK3hB,MAEd,qBACE,OAAO2hB,KAAK3hB,MAEdA,OACAyW,SAAU/W,GAAQA,EAAK,cACvB8W,eAGWqF,EAAO7F,GAAW8F,IAC5B7c,IAAI,0BAA2B,CAAE+W,OAAQ,IAAKA,EAAQ4L,SAAS,KAC/D/hB,KAAK+b,GACL3b,MAAO+b,GAAQD,YAAWC,IAEhB6F,EAAuBhjB,GAAQid,IACzC7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAK+b,GACL3b,MAAO+b,GAAQD,YAAWC,IAEhB8F,EAAe9L,GAAW8F,IACpC7c,IAAI,YAAa,CAAE+W,WACnBnW,KAAM6c,IAAD,CACJ,eACE,OAAOiF,KAAK3hB,MAEdA,KAAM9B,IAAE1B,IAAIkgB,EAAE,gBAAkB9N,IAAD,IAC1BA,EACHtB,MAAOsB,EAAQ9R,KACfgM,MAAO8F,EAAQ9R,QAEjB2Z,SAAUiG,EAAE,eAAiBA,EAAE,cAAc,cAC7ClG,WAAYkG,EAAE,uBAEfzc,MAAO+b,GAAQD,YAAWC,IAEhB+F,EAA0BljB,GAAQid,IAC5C7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAM6c,IAAD,CACJ,eACE,OAAOiF,KAAK3hB,MAEdA,KAAM9B,IAAE1B,IAAIkgB,EAAE,gBAAkB9N,IAAD,IAC1BA,EACHtB,MAAOsB,EAAQ9R,KACfgM,MAAO8F,EAAQ9R,QAEjB2Z,SAAUiG,EAAE,eAAiBA,EAAE,cAAc,cAC7ClG,WAAYkG,EAAE,uBAEfzc,MAAO+b,GAAQD,YAAWC,IAEhBgG,EAAkBhM,GAAW8F,IACvC7c,IAAK,2BAA0B+W,EAAOrZ,IACtCsD,MAAO+b,GAAQD,YAAWC,IAEhBiG,EAA8B,EAAGtlB,QAASmf,IACpD7c,IAAK,aAAYtC,aACjBsD,MAAO+b,GAAQD,YAAWC,IAEhBkG,EAAiB,EAAGvlB,QAASmf,IACvC7c,IAAK,aAAYtC,GACjBsD,MAAO+b,GAAQD,YAAWC,IAEhBmG,EAAe,EAAGxlB,QAASmf,IACrC7c,IAAK,cAAatC,GAClBsD,MAAO+b,GAAQD,YAAWC,IAEhBoG,EAAwBpM,GAAW8F,IAC7C7c,IAAI,mBAAoB,CAAE+W,OAAQ,IAAKA,EAAQ4L,SAAS,KAAU/hB,KAAK+b,GACvE3b,MAAO+b,GAAQD,YAAWC,IAEhBqG,EAA6BxjB,GAAQid,IAC/C7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAK+b,GACL3b,MAAO+b,GAAQD,YAAWC,IAEhBsG,EAAwBtM,GAAW8F,IAC7C7c,IAAK,oBAAmB+W,EAAOrZ,IAC/BsD,MAAO+b,GAAQD,YAAWC,IAEhBuG,EAAwB1jB,GAAQid,IAC1C7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAM6c,IAAD,CACJ,wBACE,OAAOiF,KAAK3hB,MAEdA,KAAM9B,IAAE1B,IAAIkgB,EAAE,gBAAkB8F,IAAD,CAAgB1Z,MAAO0Z,EAAQ7lB,GAAI2Q,MAAOkV,EAAQ1lB,QACjF2Z,SAAUiG,EAAE,eAAiBA,EAAE,cAAc,cAC7ClG,WAAYkG,EAAE,uBAEfzc,MAAO+b,GAAQD,YAAWC,IAEhByG,EAAazM,GAAW8F,IAClC7c,IAAI,sBAAuB,CAAE+W,WAC7BnW,KAAM6c,IAAD,CACJ,wBACE,OAAOiF,KAAK3hB,MAEdA,KAAM9B,IAAE1B,IAAIkgB,EAAE,gBAAkB8F,IAAD,IAC1BA,EACH1Z,MAAO0Z,EAAQ7lB,GACf2Q,MAAOkV,EAAQ1lB,QAEjB2Z,SAAUiG,EAAE,eAAiBA,EAAE,cAAc,cAC7ClG,WAAYkG,EAAE,uBAEfzc,MAAO+b,GAAQD,YAAWC,IAEhB0G,EAAiB/lB,GAAOmf,IAClC7c,IAAK,uBAAsBtC,EAAM,CAAEgmB,OAAO,IAC1C1iB,MAAO+b,GAAQD,YAAWC,IAEhB4G,EAAQ,IAAM9G,IACxB7c,IAAI,iBAAkB,CAAE0jB,OAAO,IAC/B1iB,MAAO+b,GAAQD,YAAWC,IAEhBiB,EAAO,IAAML,QAAQiG,QAAQ,O,iCChI1C,+DAASC,IAA2Q,OAA9PA,EAAWxlB,OAAOylB,QAAU,SAAUC,GAAU,IAAK,IAAIjc,EAAI,EAAGA,EAAIkc,UAAUjY,OAAQjE,IAAK,CAAE,IAAImc,EAASD,UAAUlc,GAAI,IAAK,IAAIrK,KAAOwmB,EAAc5lB,OAAO6lB,UAAUC,eAAeC,KAAKH,EAAQxmB,KAAQsmB,EAAOtmB,GAAOwmB,EAAOxmB,IAAY,OAAOsmB,IAA2BM,MAAM3B,KAAMsB,WAIhT,IAAIM,EAAoB,IAAMC,cAAc,IAAK,CAC/CC,SAAU,2BACI,IAAMD,cAAc,OAAQ,CAC1CzgB,EAAG,mrCACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,qWACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,gWACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,2HACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,mnBACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,wZACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,oaACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,wSACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,gSACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,mFACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,2jBACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,8QACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,oOACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,+RACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,ySACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,iLACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,uZACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,2aACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,8WACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,4VACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,kLACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,svBACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,giBACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,8oDACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,kGACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,+jBACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,kSACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,i7BACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,gsBACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,gZACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,6kCACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,mHACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,oJACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,yYACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,iNACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,8yBACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,iNACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,maACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,+qCACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,0JACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,wuBACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,mLACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,yjBACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,yQACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,4qBACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,+WACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,kLACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,wjBACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,oOACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,0IACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,4WACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,4IACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,8WACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,wTACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,2lCACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,iQACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,8sBACHL,KAAM,YACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,8WACHL,KAAM,aAGJghB,EAAqB,IAAMF,cAAc,OAAQ,KAAmB,IAAMA,cAAc,WAAY,CACtG7mB,GAAI,qBACU,IAAM6mB,cAAc,OAAQ,CAC1C3gB,MAAO,IACPF,OAAQ,IACRD,KAAM,YAGR,MAAMihB,EAAa,EACjBC,SACA5nB,WACGwF,KACc,IAAMgiB,cAAc,MAAOV,EAAS,CACrDjgB,MAAO,IACPF,OAAQ,IACRC,QAAS,cACTF,KAAM,OACN2F,IAAKub,GACJpiB,GAAQxF,EAAqB,IAAMwnB,cAAc,QAAS,KAAMxnB,GAAS,KAAMunB,EAAMG,GAElFG,EAA0B,IAAMC,WAAW,CAACtiB,EAAO6G,IAAqB,IAAMmb,cAAcG,EAAYb,EAAS,CACrHc,OAAQvb,GACP7G,KACY,K,iCC7Mf,+DAASshB,IAA2Q,OAA9PA,EAAWxlB,OAAOylB,QAAU,SAAUC,GAAU,IAAK,IAAIjc,EAAI,EAAGA,EAAIkc,UAAUjY,OAAQjE,IAAK,CAAE,IAAImc,EAASD,UAAUlc,GAAI,IAAK,IAAIrK,KAAOwmB,EAAc5lB,OAAO6lB,UAAUC,eAAeC,KAAKH,EAAQxmB,KAAQsmB,EAAOtmB,GAAOwmB,EAAOxmB,IAAY,OAAOsmB,IAA2BM,MAAM3B,KAAMsB,WAIhT,IAAIM,EAAoB,IAAMC,cAAc,OAAQ,CAClDzgB,EAAG,mCACHghB,OAAQ,UACRC,cAAe,UAGbN,EAAqB,IAAMF,cAAc,OAAQ,CACnDzgB,EAAG,mCACHghB,OAAQ,UACRC,cAAe,UAGjB,MAAMC,EAAgB,EACpBL,SACA5nB,WACGwF,KACc,IAAMgiB,cAAc,MAAOV,EAAS,CACrDjgB,MAAO,GACPF,OAAQ,GACRC,QAAS,YACTF,KAAM,OACN2F,IAAKub,GACJpiB,GAAQxF,EAAqB,IAAMwnB,cAAc,QAAS,KAAMxnB,GAAS,KAAMunB,EAAMG,GAElFG,EAA0B,IAAMC,WAAW,CAACtiB,EAAO6G,IAAqB,IAAMmb,cAAcS,EAAenB,EAAS,CACxHc,OAAQvb,GACP7G,KACY,K,iCC/Bf,+FAMA,MAIa0iB,EAAQ,CAACxiB,EAAOyiB,IAAarI,IACvCM,KAAM,0CAA+C,CAAEgI,SAAU1iB,EAAOyiB,YAAY,CACnFE,aAAa,EACbnlB,QAAS,CACPghB,OAAQ,wCACR,eAAgB,sBAGnBjgB,MAAM,KACLG,YAAWsd,IAAQxhB,EAAE,mBAbZooB,KACX,MAAM,IAAIvD,MAAMuD,IAaPtI,CAAI,oBAGFmI,EAAW,CACtBI,QAAU7iB,GAAUoa,IAAQM,KAAK,oBAAqB,CAAE1a,UAExD8iB,YAAcC,GAAU3I,IAAQM,KAAK,eAAgB,CAAEqI,UAEvDC,MAAO,CAACC,EAAIF,IAAU3I,IACnBM,KAAK,kBAAmB,CAAEqI,QAAON,SAAUQ,IAC3C9kB,KAAK,IAAMO,YAAW,mCAAoC,c,+BC9B/D,6JASA,MAAMwkB,EAAeC,YACnBC,YAAqBC,IAAMC,SAASC,SACpC,CAAEC,UAAW,MAGTC,EAAa,CACjBC,QAAU,kCACVf,aAAa,EACbnlB,QAAS,CACPghB,OAAQ,wCACR,eAAgB,qBAIPmF,EAAkB,IAC1BF,EACHC,QAAU,iCAGCpmB,EAAe+lB,IAAM5G,OAAOkH,GAC5BC,EAAMP,IAAM5G,OAAOgH,GACnBI,EAAUR,IAAM5G,OAAO,IAC/BgH,EACHC,QAASjU,2CAGLqU,EAAsBC,IAAS,IAAD,IAClC,MAAM,KACJnmB,EADI,KAEJE,EAFI,QAGJ3C,GACEuC,IAAMC,YACJ,UAAEE,GAAcD,EAChBG,EAAqBgmB,EAAIC,qBAAJ,OAA0BlmB,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAMC,qBACnD9C,GAAIyZ,GAAcvZ,GAAW,GAEe,IAAD,IAA/C4C,KAAsB,OAACgmB,QAAD,IAACA,OAAD,EAACA,EAAK7lB,qBAC9B6lB,EAAIvmB,QAAU,IACTumB,EAAIvmB,QACP,wBAAkBO,QAAlB,IAAkBA,GAAlB,UAAkBA,EAAoB5C,eAAtC,aAAkB,EAA6BF,GAC/C,mBAAa8C,QAAb,IAAaA,OAAb,EAAaA,EAAoBC,KACjC,qBAAeD,QAAf,IAAeA,GAAf,UAAeA,EAAoBD,YAAnC,aAAe,EAA0B7C,GACzC,2BAAqB8C,QAArB,IAAqBA,OAArB,EAAqBA,EAAoB9C,KAmC7C,OAvBA,OAAI8oB,QAAJ,IAAIA,OAAJ,EAAIA,EAAK/G,cACP+G,EAAIvmB,QAAU,IAAKumB,EAAIvmB,WAAYumB,EAAI/G,aAGrCnf,IACFkmB,EAAIvmB,QAAQC,cAAiB,UAASI,GAGpC6W,KAAa,UAACqP,EAAIzP,cAAL,aAAC,EAAYgH,SAC5ByI,EAAIzP,OAAS,IACRyP,EAAIzP,OACPgH,MAAO5G,IAIgB,UAAtB,UAAAqP,EAAIzP,cAAJ,eAAYgH,eACRyI,EAAIzP,OAAOgH,MAGhByI,EAAI9C,QACN8C,EAAIR,QAAUL,GAGTa,GAQHE,EAA4BC,GAAgB9lB,UAAkB,IAAD,IACjE,MAAM+lB,EAAe,OAAG3lB,QAAH,IAAGA,OAAH,EAAGA,EAAOqY,OAC/B,GAAgC,OAAvB,OAALrY,QAAK,IAALA,GAAA,UAAAA,EAAOS,gBAAP,eAAiBtC,UAAmBwnB,EAAgBC,UACnD,OAACD,QAAD,IAACA,GAAD,UAACA,EAAiBhnB,WAAlB,aAAC,EAAsB4L,SAAS,gBAAgB,CAAC,IAAD,EACnDob,EAAgBC,QAAS,EACzB1mB,IAAM0C,SAAS,CAAEqF,KAAMC,MAgBvB,UAd+B,IAAIwV,QAASiG,IAC1C,MAAMkD,EAAe3mB,IAAM4mB,UAAU,KACnC,MAAM,kBAAE5U,GAAsBhS,IAAMC,WAAWC,KAErB,SAAtB8R,GACF2U,IACAlD,GAAQ,IACuB,WAAtBzR,IACT2U,IACAlD,GAAQ,QAMZ,MAAM3iB,EAIR,OADA2lB,EAAgB3mB,QAAQC,cAAiB,WAAD,UAAUC,IAAMC,WAAWC,YAA3B,aAAU,EAAuBC,WAClEwlB,IAAMc,GACVhmB,KAAK2Y,GAAQoN,EAAcpN,EAAIxY,KAAOwY,GAE3C,MAAMtY,GAGRlB,EAAainB,aAAa1B,QAAQhL,IAAIiM,GACtCF,EAAIW,aAAa1B,QAAQhL,IAAIiM,GAC7BD,EAAQU,aAAa1B,QAAQhL,IAAIiM,GAEjCxmB,EAAainB,aAAatlB,SAAS4Y,IAzCN5Y,GACvBA,EAAS4X,OAAO2N,UAAkBvlB,EAC/BA,EAASX,KAuC0C2lB,GAAyB,IACrFL,EAAIW,aAAatlB,SAAS4Y,IAAImD,GAAKA,EAAGiJ,KACtCJ,EAAQU,aAAatlB,SAAS4Y,IAAImD,GAAKA,EAAGiJ,KAE3B3mB,O,gCCtIf,wSAYA,MAAMmnB,EAA0BnQ,GAAsBoQ,IACnDC,mBAAmBrQ,EAAO,GAAI,CAC7BA,OAAQgB,KAAKM,MAAMtB,EAAO,KACzBA,EAAO,IAAInW,KAAK6c,GAAKA,EAAEza,OAEfqkB,EAAqB,CAChC3pB,EACAqZ,EAAmD,CAAE,sBAAuB,OAC5EpW,IACGmW,YAAQpZ,EAAY,CAAC,mBAAoB4pB,OAAO5pB,GAAKqa,KAAKC,UAAU,IACpEjB,EACHxW,KAAM7C,IAGJiD,GALc,KAKMumB,EAAwB,CAC9CK,mBAAmB,EACnBC,SAAU,KAAO9pB,IAEN+pB,EAAiB,KAC5B,MAAM,GACJ/pB,GAGEgF,YAAY,EAAGnC,UAAWA,GAE9B,OAAO8mB,EAAmBC,OAAO5pB,QAAKoM,GAAW,IAGtCxM,EAAuB,KAClC,MAAM,mBACJkD,GAGEkC,YAAY,EAAGnC,UAAWA,GACxBsC,EAAWC,eAEX,OAAE4kB,GAAWC,cACbtqB,EAAmB+M,sBAAY,CACnClM,EACAC,EACiBD,EAAWJ,MAAM,MAGlC+E,EAAS+kB,YAAc,IAClB1pB,EACHC,OACA0pB,SAAU1pB,EAAKN,KACf4C,KAAMtC,EAAKsC,QAENinB,EACJjqB,IAASA,GAAsB,kBAARA,KAAoB,2BAA4BA,KAAOA,EAAIqqB,4BACnFhe,EACA,CAAEie,YAAY,EAAMC,eAAe,KAEpC,CAACnlB,EAAU6kB,IAERO,EAAM7qB,cAYZ,MAAO,CACLC,mBACA6qB,wBAZ8B9d,sBAAY,KAC1C6d,EAAI,KACJplB,EAAS+kB,YAAc,OACvBF,EACGjqB,GAAkBA,GAAsB,kBAARA,GAAoB,2BAA4BA,IAAQA,EAAIqqB,4BAC7Fhe,EACA,CAAEie,YAAY,EAAMC,eAAe,KAEpC,CAACnlB,EAAU6kB,EAAQO,IAKpBznB,mBAAoBA,IAKlB2nB,EAAwB,IAAMC,2BACvB9S,EAAiB,KAC5B,MAAM,mBAAE9U,GAAuBlD,IAM/B,MAAO,CACLkD,qBACA5B,YAPkBkY,YAAQtW,EAA4B,CAAC,cAAeA,EAAmB9C,IAA1C,KAA+CyqB,EAAuB,CACrHZ,mBAAmB,EACnBvQ,iBAA+B,MAKNjW,OAIhBsnB,EAAoB3S,IAC/B,MAAM,YAAE9W,GAAgB0W,IAExB,OAAkB,OAAX1W,QAAW,IAAXA,OAAA,EAAAA,EAAc8W,MAAe,GAGzB4S,EAA8B1pB,IACzC,MAAQA,YAAa2pB,GAAoBjT,IAEzC,OAAO1W,EAAYF,KAAKkP,GAAC,OAAI2a,QAAJ,IAAIA,OAAJ,EAAIA,EAAkB3a,KAG3C4a,EAAgC3nB,OAClC/D,iBACC6gB,QAAQf,IACX9f,EAAYS,IAAIsD,UAAA,IACX9C,EACHD,YAAa6f,QAAQf,IAAI7e,EAAED,MAAMP,IAAIsD,UAAA,IAChC1C,EACHS,kBAAmBwpB,yBAAe,IAAKrqB,EAAG0C,KAAMtC,EAAKsC,eAK9C+U,EAAmC,KAC9C,MAAQzU,KAAMjE,GAAgB2qB,KAExB,KAAE1mB,GAAS+V,YAAQha,EAAqB,CAAEW,IAAK,wBAAyBX,cAAagrB,wBAAwB,GAA5E,KAAoFU,EAA+B,CACxJjB,mBAAmB,EACnBkB,mBAAmB,IAGrB,OAAO1nB,I,iCCtIT,oUASA,MAAM4b,EAAkB,EACtB,eAAgB5b,EAChB,aAAcN,EACd,mBAAoB8W,MAEpB,MAAMmR,EAAMzpB,IAAE1B,IAAIwD,EAAM4nB,IAAI,IACvBA,EACHta,MAAOsa,EAAK9qB,KACZgM,MAAO8e,EAAK9qB,QAKd,OAFA6qB,EAAIE,QAAQ,CAAEva,MAAO,MAAOxE,MAAO,QAE3B,CACNgf,UAAWH,EACX3nB,KAAM2nB,EACNlR,SAAU/W,GAAQA,EAAK,cACvB8W,eAISuR,EAASxP,IACpB,MAAMyP,EAAOzP,GAAU,GACjBvC,EAAS9X,IAAEe,IAAIsZ,EAAQ,UAO7B,OANAyP,EAAKhS,OAAS,CACZgH,MAAO,UAAWhH,IAEhB,OAACA,QAAD,IAACA,OAAD,EAACA,EAAQiS,gBACJD,EAAKhS,OAAOiS,uBAAuBD,EAAKhS,OAAOiS,eAD3BD,EAAKhS,OAAOkS,aAAe,SAGjDpM,IACJ7c,IAAI,aAAc+oB,GAClBnoB,KAAK+b,GACL3b,MAAO+b,GAAQD,YAAWC,KAGlBmM,EAAiB7W,GAAYwK,IACvCM,KAAK,aAAc9K,GACnBzR,KAAK,IAAMO,YAAW,gCAAiC,YACvDH,MAAO+b,GAAQD,YAAWC,IAEhBoM,EAAc,CAACzrB,EAAI2U,IAAYwK,IACzCuM,IAAK,cAAa1rB,EAAM2U,GACxBzR,KAAK,IAAMO,YAAW,gCAAiC,YACvDH,MAAO+b,GAAQD,YAAWC,IAEhBsM,EAAqBhX,GAAYwK,IAC3CM,KAAK,iBAAkB9K,EAAS,CAC/B0E,OAAQ,CAAEgH,MAAO,QAAU0B,WAAY,CAAE,eAAgB,yBAE1D7e,KAAKsC,IACJ/B,YAAW,sCAAuC,WAC3C+B,IAERlC,MAAM8b,KAEIwM,EAA4B,CAACjX,EAASkX,IAAiB1M,IACjEM,KAAK,iBAAkB9K,EAAS,CAC/B0E,OAAQ,CAAEgH,MAAO,QAAU0B,WAAY,CAAE,eAAgB,yBAE1D7e,KAAKsC,IACJ/B,YAAY,+BAA8BooB,4BAAwC,WAC3ErmB,IAERlC,MAAM8b,KAEI0M,EAAiB9rB,GAAOmf,IAClCrE,OAAQ,cAAa9a,GACrBkD,KAAK,IAAMO,YAAW,gCAAiC,YACvDH,MAAM8b,M,iCC9ET,oqBAIA,MAAMH,EAAkB,EACtB,eAAgB5b,EAChB,aAAcN,EACd,mBAAoB8W,MAHE,CAKtB,YACE,OAAOmL,KAAK3hB,MAEdA,OACAyW,SAAQ,OAAE/W,QAAF,IAAEA,OAAF,EAAEA,EAAO,cACjB8W,eAGWpU,EAAWzF,GAAOmf,IAAQ7c,IAAK,UAAStC,GAAMsD,MAAO+b,GAAQD,YAAWC,IAExE0M,EAAW,CAAC/rB,EAAI2U,IAAYwK,IACtCuM,IAAK,UAAS1rB,EAAM2U,GACpBzR,KAAK,IAAMO,YAAW,qBAAsB,YAC5CH,MAAO+b,GAAQD,YAAWC,IAEhB+L,EAAUxP,GAAWuD,IAC/B7c,IAAI,SAAUsZ,GACd1Y,KAAK+b,GACL3b,MAAO+b,GAAQD,YAAWC,IAEhB2M,EAAe9pB,GAAQid,IACjC7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAK+b,GACL3b,MAAO+b,GAAQD,YAAWC,IAEhB4M,EAActX,GAAYwK,IACpCM,KAAK,SAAU9K,GACfzR,KAAKiJ,IACJ1I,YAAW,6BAA8B,WAClC0I,IAER7I,MAAOC,IACN,MAAM,IAAI6gB,MAAM7gB,KAGP2oB,EAAuBvX,GAAYwK,IAC7CM,KAAK,iBAAkB9K,EAAS,CAC/B0E,OAAQ,CAAEgH,MAAO,QAAU0B,WAAY,CAAE,eAAgB,yBAE1D7e,KAAKsC,IACJ/B,YAAW,wCAAyC,WAC7C+B,IAERlC,MAAM8b,KAEI+M,EAAoBjqB,GAAQid,IACtC7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjE/c,MAAM8b,KAEIgN,EAAuBlqB,GAAQid,IACzC7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAK,IAAMO,YAAW,uCAAwC,YAC9DH,MAAO+b,GAAQD,YAAWC,IAEhBgN,EAAcrsB,GAAOmf,IAC/BrE,OAAQ,UAAS9a,GACjBkD,KAAK,IAAMO,YAAW,6BAA8B,YACpDH,MAAO+b,GAAQD,YAAWC,IAEhB9Z,EAAQ,IAAM4Z,IACxB7c,IAAI,MAAO,CAAE+W,OAAQ,CAAEgH,MAAO,UAC9B/c,MAAO+b,GAAQD,YAAWC,IAEhBqK,EAAqB,CAAC1pB,EAAI4b,EAAQ3Y,KAC7C,MAAMoW,EAASuC,GAAU,CAAEvC,OAAQ,CAAExW,KAAM7C,IAI3C,MAHiC,mBAAtBiD,IACToW,EAAOpW,kBAAoBA,GAEtBkc,IACJ7c,IAAI,eAAgB+W,GACpBnW,KAAK+b,IAGGqN,EAAwBjT,GAAW8F,IAC7CM,KAAK,eAAgBpG,GACrBnW,KAAKsC,IACJ/B,YAAW,mCAAoC,WACxC+B,IAGE+mB,EAAuB,CAACvsB,EAAIqZ,IAAW8F,IACjDuM,IAAK,gBAAe1rB,EAAMqZ,GAC1BnW,KAAKsC,IACJ/B,YAAW,mCAAoC,WACxC+B,IAGEgnB,EAAwBxsB,GAAOmf,IACzCrE,OAAQ,gBAAe9a,GACvBkD,KAAK,IAAMO,YAAW,mCAAoC,YAC1DH,MAAO+b,GAAQD,YAAWC,K,oBCnG7B1U,EAAOC,QAAU,IAA0B,iD,oBCA3CD,EAAOC,QAAU,IAA0B,8D,odCKpC,MAAM6hB,EAA+B,IAE/BC,EAAejvB,IAAOC,IAAV,gFAAGD,CAAH,qHAqBZkvB,GAJelvB,IAAOC,IAAV,gFAAGD,CAAH,mBACV4L,KAGK5L,IAAOyS,EAAV,wEAAGzS,CAAH,iPAqBJiT,EAAQjT,YAAOmvB,KAAV,yEAAGnvB,CAAH,uIAgBLovB,EAAWpvB,IAAOC,IAAV,4EAAGD,CAAH,mBACN,EAAGqvB,oBAAsBA,EAAiBzjB,IAAgBojB,EAAF,MAG1DM,EAAgBtvB,YAAOiT,GAAV,iFAAGjT,CAAH,wCAKbuvB,EAAiBvvB,IAAOC,IAAV,kFAAGD,CAAH,sDAMdwvB,EAAcxvB,IAAOC,IAAV,+EAAGD,CAAH,yIAYXyvB,EAAazvB,IAAOC,IAAV,8EAAGD,CAAH,iDASV0vB,EAAe1vB,IAAOC,IAAV,gFAAGD,CAAH,4TA4BrBivB,GASSU,EAAc3vB,IAAOyS,EAAV,gFAAGzS,CAAH,0DAMX4vB,EAAiB5vB,IAAOyS,EAAV,mFAAGzS,CAAH,yC,oBChJ3BkN,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,gD,oBCA3CD,EAAOC,QAAU,IAA0B,mC,oBCA3CD,EAAOC,QAAU,IAA0B,kC,gCCA3C,4MAAO,MAAM0iB,EAAQ,QACRC,EAAS,SAETC,EAAe,eACfC,EAAoB,kBACpBC,EAAkB,kBAClBC,EAAiB,kB,oBCN9BhjB,EAAOC,QAAU,IAA0B,kC,oBCA3CD,EAAOC,QAAU,IAA0B,6C,oBCA3CD,EAAOC,QAAU,IAA0B,kC,oBCA3CD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,mC,u1wQCWpC,MAAMgjB,EAAY,CACvBC,GCTa,CACbjiB,Y,OACAkiB,Q,QDQAC,GEVa,CACbniB,Y,OACAkiB,Q,QFSAE,GGXa,CACbpiB,Y,OACAkiB,Q,SHYFzhB,IACGuQ,IAAIqR,KACJC,KAAK,CACJN,YACAO,IAAK1rB,IAAMC,WAAWG,KAAK0J,OAC3B6hB,YAAa,CAAC,KAAM,MAEpBC,cAAe,CACbC,aAAa,KAInB3f,SAActC,IAAKG,UAEZ,MAAM+hB,EAAqBhvB,GAAK,CACrC,CACE4M,MAAO,KACPwE,MAAOpR,EAAE,OAEX,CACE4M,MAAO,KACPwE,MAAOpR,EAAE,OAEX,CACE4M,MAAO,KACPwE,MAAOpR,EAAE,S,gCI1Cb,2ZAMO,MAAMwd,EAAkBtf,IAAOC,GAAI;;;;;;;;0BAQhB8wB;;;;EAMbpjB,EAAiB3N,IAAO6S,IAAK;;;yBAGjBrH;;;;;;;;;;;;EAcZwlB,EAAmBhxB,IAAOC,GAAI;;;;;;;EAgB9BgxB,GAPUjxB,IAAOC,GAAI;gBAClBiJ;;;;EAMelJ,IAAOC,GAAI;;;;;;;;;;;;;;;;;;;;;;GAwB7BixB,EAAalxB,IAAOyB,IAAK;WAC3B,EAAGvB,WAAYA,EAAMC,QAAQC,KAAK;;;;;;;;EAoBhC+wB,GAVcnxB,IAAOyS,CAAE;;;;;;;;EAUTzS,IAAOyS,CAAE;;;;;GAsBvBkN,GAfY3f,IAAOuN,GAAI;;;EAKbvN,IAAOuN,GAAI;;;;;;;;EAUNvN,IAAOC,GAAI;;;;;;;;;;;;;GAe1Bsf,EAAcvf,IAAOqS,EAAG;;;;;;;;;;;;;;EAgBxB+e,EAAiBpxB,IAAOyS,CAAE;;;;;EAO1B4e,EAAkBrxB,IAAOC,GAAI;;;;;;;;EAU7BqxB,EAAOtxB,IAAOyS,CAAE;;;;EAMNzS,IAAOC,GAAI;;;;;;;wEC9KlC,sOAeA,MAAMsxB,EAASvxB,YAAOiB,IAAM;;EAItBuwB,EAAU,CAAC5mB,EAAMmC,EAAM0kB,IAC3B,yBAAKjhB,MAAO,CAAEkhB,QAAS,OAAQC,WAAY,SAAUC,SAAU,YAC7D,yBACEpkB,IAAI,OACJC,IAAc,YAATV,EAAqB8kB,IAAcrc,IACxChF,MAAO,CAAEshB,YAAa,UAEvBL,EACG,kBAACF,EAAD,CAAQtpB,GAAI,CAAEC,SAAQ,OAAEupB,QAAF,IAAEA,OAAF,EAAEA,EAAMxpB,GAAIT,MAAO,CAAEuqB,UAAS,OAAEN,QAAF,IAAEA,OAAF,EAAEA,EAAMM,aAAgBnnB,GAC5E,2BAAIA,IAINonB,EAAa,MACjBC,YAAa,IAAM,yBAAKzkB,IAAI,OAAOC,IAAKykB,MACxC9W,UAAWta,cAAI,CACb2H,MAAO,QACP0pB,MAAO,WAETC,SAAUC,IAAMC,SAASC,YAGdvsB,EAAa,CAACwsB,EAASzlB,EAAM0kB,IAAmB,YAAT1kB,EAChDslB,IAAMI,QAAQjB,EAAQgB,EAASzlB,EAAM0kB,GAAOO,KAC5CK,IAAMvsB,MAAM0rB,EAAQgB,EAASzlB,EAAM0kB,GAAOO,KAEjCrQ,EAAa,CAACC,EAAK4Q,KAAa,IAAD,YAC1C,UAAI5Q,QAAJ,IAAIA,GAAJ,UAAIA,EAAKrb,gBAAT,iBAAI,EAAeX,YAAnB,aAAI,EAAsB,qBACxB,OAAOI,EAAWsd,IAAQxhB,EAAE8f,EAAIrb,SAASX,KAAK,sBAAuB,SAEvE,IAAK4sB,IAAD,OAAY5Q,QAAZ,IAAYA,GAAZ,UAAYA,EAAKrb,gBAAjB,iBAAY,EAAeX,YAA3B,iBAAY,EAAqB8sB,kBAAjC,iBAAY,EAAkC,UAA9C,aAAY,EAAsCC,cAAc,CAClE,MAAM,aAAEA,EAAcH,QAASI,GAAqBhR,EAAIrb,SAASX,KAAK8sB,WAAW,GAE3EG,EAAc,GAAD,OAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAcxsB,QAAQ,IAAK,OAA9B,OAAqCysB,QAArC,IAAqCA,OAArC,EAAqCA,EAAkBzsB,QAAQ,IAAK,MAEvF,GAAImd,IAAQwP,OAAOD,GACjB,OAAO7sB,EAAWsd,IAAQxhB,EAAE+wB,GAAa,SAG7C,OAAO7sB,EAAWwsB,GAAW,QAAS,UAG3BO,EAAqBC,IAAgB,IAAD,MAC/C,MAAMJ,EAAgB,UAAGI,EAAWzsB,gBAAd,iBAAG,EAAqBX,YAAxB,iBAAG,EAA2B8sB,kBAA9B,aAAG,EAAwC,GAAGF,QAEpE,OAAO7Q,EAAWqR,EAAYJ,K,82LC7DhC,MAAMrR,EAAc,EAAG,eAAgB3b,KAAWA,EAErCf,EAAM,IAAM6c,IACtB7c,IAAI,cACJY,KAAK8b,GACL9b,KAAKwtB,GAAanvB,IAAEovB,QAAQD,IAElBE,EAAkB,IAAMzR,IAClC7c,IAAI,uBAAwB,CAC3B+W,OAAQ,CACNkS,aAAc,UAGjBroB,KAAK8b,GAEK6R,EAAsB3uB,GAAQid,IACxC7c,IAAK,8BAAkCJ,GAE7B4uB,EAAoBlV,GAAUuD,IACxC7c,IAAI,mBAAoBsZ,GACxB1Y,KAAK8b,GAEK+R,EAAmB,IAAM5R,IACnC7c,IAAI,mBACJY,KAAK8b,G,mBCjBR,MAAMC,EAAkB,EACtB,eAAgB5b,EAChB,aAAcN,EACd,mBAAoB8W,MAHE,CAKtBxW,OACAyW,SAAU/W,GAAQA,EAAK,cACvB8W,eAOWqF,EAAMtD,GAAUuD,IAC1B7c,IAAI,0BAA2BsZ,GAC/B1Y,KAAK+b,GACL3b,MAAO+b,GAAQD,YAAWC,IAEhB2R,EAAUpV,GAAUuD,IAC9B7c,IAAI,0BAA2B,IAAKsZ,EAAQoK,OAAO,IACnD9iB,KAAK3B,IAAE8Z,SACPnY,KAAM6c,GAAMxe,IAAE0vB,MAAMlR,EAAG,OACvBzc,MAAO+b,GAAQD,YAAWC,IAEhBgG,EAAiB,CAACrlB,EAAI4b,IAAW5b,GAAMmf,IACjD7c,IAAK,2BAA0BtC,EAAM4b,GACrCtY,MAAO+b,GAAQD,YAAWC,IAMhB6R,EAA2BlxB,GAAOse,YAC7C+G,EACA,CAACrlB,ICvCGgf,EAAc,EAAG,eAAgB3b,KAAWA,EAErCf,EAAM,CAAC+oB,EAAO,MACzB,MAAMzP,EAASra,IAAEse,MAAMwL,GAIvB,OAFK9pB,IAAEI,IAAIia,EAAQ,wBAAwBra,IAAEqZ,IAAIgB,EAAQ,sBAAuB,MAEzEuD,IAAQ7c,IAAI,WAAYsZ,GAAQtY,MAAO+b,GAAQD,YAAWC,KAGtDmC,EAAUne,IACrB,MAAMsR,EAAUpT,IAAEse,MAAMxc,GAGxB,OAFIsR,EAAQwc,SAAQxc,EAAQwc,OAAU,cAAaxc,EAAQwc,QAEpDhS,IAAQM,KAAK,WAAY9K,GAASrR,MAAO+b,GAAQD,YAAWC,KAGxD+R,EAAWpxB,GAAOmf,IAAQ7c,IAAK,YAAWtC,GAAMsD,MAAO+b,GAAQD,YAAWC,IAE1EgS,EAAS,CAACrxB,EAAI2U,IAAYwK,IACpCuM,IAAK,YAAW1rB,EAAM2U,GACtBzR,KAAK8b,GACL1b,MAAO+b,GAAQD,YAAWC,IAEhByB,EAAU9gB,GAAOmf,IAAQrE,OAAQ,YAAW9a,GAAMsD,MAAO+b,GAAQD,YAAWC,IAE5EiS,EAAW,CAACC,EAAeC,IAAarS,IAClDuM,IAAK,iBAAgB6F,EAAiB,CAAE3Q,OAAQ4Q,IAChDtuB,KAAK,IAAM4sB,YAAM,SAAU,YAC3BxsB,MAAO+b,GAAQD,YAAWC,IChCvBJ,EAAkB,EACtB,eAAgBwS,EAChB,aAAc1uB,EACd,mBAAoB8W,MAHE,CAKtB4X,UACA3X,SAAU/W,GAAQA,EAAK,cACvB8W,eAGW6X,EAAiBxvB,GAAQid,IACnC7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjE/c,QAEUmuB,EAAWpY,GAAW8F,IAChC7c,IAAI,oBAAqB,CAAE+W,WAC3BnW,KAAK+b,GACL3b,QAEUquB,EAAa3xB,GAAOmf,IAC9B7c,IAAK,qBAAoBtC,GACzBsD,QAEUsuB,EAAqB5xB,GAAOmf,IACtC7c,IAAK,qBAAoBtC,cACzBsD,QAEUuuB,EAAmB7xB,GAAOmf,IACpC7c,IAAK,qBAAoBtC,YACzBsD,QAEUwuB,EAAqB9xB,GAAOmf,IACtC7c,IAAK,qBAAoBtC,YACzBsD,QAEU0oB,EAAe9pB,GAAQid,IACjC7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAK+b,GACL3b,MAAO+b,GAAQD,YAAWC,IAEhB0S,EAAmBpd,GAAYwK,IACzCM,KAAK,oBAAqB9K,GAC1BrR,QAEU0uB,EAAc3Y,GAAW8F,IACnC7c,IAAI,eAAgB,CAAE+W,WACtBnW,KAAK+b,GACL3b,QAEU2uB,EAAgBjyB,GAAOmf,IACjC7c,IAAK,gBAAetC,GACpBsD,QAEU4uB,EAAwBlyB,GAAOmf,IACzC7c,IAAK,gBAAetC,cACpBsD,QAEU6uB,EAAsBnyB,GAAOmf,IACvC7c,IAAK,gBAAetC,YACpBsD,QAEU8uB,EAAwBpyB,GAAOmf,IACzC7c,IAAK,gBAAetC,YACpBsD,QAEU+uB,GAAa1d,GAAYwK,IACnCM,KAAK,eAAgB9K,GACrBrR,QAEUgvB,GAA+B3d,GAAYwK,IACrDM,KAAK,YAAa9K,GAClBzR,KAAK,IAAMO,YAAW,gDAAiD,YACvEH,QAEUivB,GAAc5d,GAAYwK,IACpCM,KAAK,iBAAkB9K,EAAS,CAC/B0E,OAAQ,CAAEgH,MAAO,QAAU0B,WAAY,CAAE,eAAgB,yBAE1Dze,QAEUkvB,GAA0BnZ,GAAW8F,IAC/C7c,IAAI,mBAAoB,CAAE+W,WAC1BnW,KAAK+b,GACL3b,MAAM8b,KAEIqT,GAAwBzyB,GAAOmf,IACzC7c,IAAK,oBAAmBtC,GACxBsD,QAEUovB,GAAqB/d,GAAYwK,IAC3CM,KAAK,mBAAoB9K,GACzBrR,QAEUqvB,GAAgC3yB,GAAOmf,IACjD7c,IAAK,oBAAmBtC,cACxBsD,QAEUsvB,GAA8B5yB,GAAOmf,IAC/C7c,IAAK,oBAAmBtC,YACxBsD,QAEUuvB,GAAgC7yB,GAAOmf,IACjD7c,IAAK,oBAAmBtC,YACxBsD,QAEUwvB,GAAkBzZ,GAAW8F,IACvC7c,IAAI,gBAAiB,CAAE+W,WACvBnW,KAAK+b,GACL3b,MAAM8b,KAEI2T,GAAiB/yB,GAAOmf,IAClC7c,IAAK,iBAAgBtC,GACrBsD,QAEU0vB,GAAcre,GAAYwK,IACpCM,KAAK,gBAAiB9K,GACtBrR,QAEU2vB,GAAyBjzB,GAAOmf,IAC1C7c,IAAK,iBAAgBtC,cACrBsD,QAEU4vB,GAAuBlzB,GAAOmf,IACxC7c,IAAK,iBAAgBtC,YACrBsD,QAEU6vB,GAAyBnzB,GAAOmf,IAC1C7c,IAAK,iBAAgBtC,YACrBsD,Q,aC7HH,MAAM0b,GAAc,EAAG,eAAgB3b,KAAWA,EAE5C4b,GAAkB,EACtB,eAAgB5b,EAChB,aAAcN,EACd,mBAAoB8W,MAHE,CAKtBxW,OACAyW,SAAU/W,GAAQA,EAAK,cACvB8W,eAGWuZ,GAAqBlxB,GAAQid,IACvC7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAK+b,IACL3b,MAAM8b,KAEIE,GAAW5T,GAAOA,GAAOyT,IACnC7c,IAAK,8BAAkCoJ,GACvCpI,MAAM8b,KAEIkE,GAAUtjB,GAAOmf,IAC3B7c,IAAK,iBAAgBtC,WAAa,CAAEuC,QAAS,CAAEghB,OAAQ,sBACvDjgB,MAAM8b,KAEI3T,GAAS+X,GAAYrE,IAC/B7c,IAAK,WAAUkhB,GACflgB,MAAM8b,KAEIqE,GAAeD,GAAYrE,IACrCrE,OAAQ,WAAU0I,GAClBlgB,MAAM8b,KAEIsE,GAAY,CAAC/O,EAAS6O,KACjC,MAAOG,EAAMzhB,GAAOshB,EAAU,CAAC,MAAQ,WAAUA,GAAa,CAAC,OAAQ,WAEvE,OAAOrE,IAAQwE,GAAMzhB,EAAKyS,GACvBrR,MAAM8b,MAGEwE,GAAS5jB,GAAMA,GAAMmf,IAC/B7c,IAAK,yBAAwBtC,kCAC7BkD,KAAK8b,IACL1b,MAAM8b,KAEIyE,GAAQ7jB,GAAMA,GAAMmf,IAC9B7c,IAAK,iCAAgCtC,GACrCsD,MAAM8b,KAEI0E,GAAeC,GAAY5E,IACrCrE,OAAQ,iCAAgCiJ,GACxCzgB,MAAM8b,KAEI4E,GAAY,CAACrP,EAAS6O,KACjC,MAAOG,EAAMzhB,GAAOshB,EAChB,CAAC,MAAQ,iCAAgCA,GACzC,CAAC,OAAQ,iCAEb,OAAOrE,IAAQwE,GAAMzhB,EAAKyS,GAASrR,MAAM8b,MAG9BiU,GAAWha,GAAW8F,IAChC7c,IAAI,yBAA0B,CAAE+W,WAChCnW,KAAK+b,IACL3b,MAAM8b,KAEIkU,GAAWtzB,GAAMmf,IAC3BM,KAAK,4CAA6C,CAAE8T,oBAAqB,CAACvzB,KAC1EkD,KAAK,IAAMO,YAAW,UAAW,YACjCH,MAAM8b,KAEIoU,GAAcxzB,GAAOmf,IAC/BrE,OAAQ,0BAAyB9a,GACjCkD,KAAKsC,IACJ/B,YAAWsd,KAAQxhB,EAAE,2DAA4D,WAC1EiG,IAERlC,MAAM8b,KAEIqU,GAAmBzzB,GAAOmf,IACpCrE,OAAQ,gCAA+B9a,GACvCkD,KAAKsC,IACJ/B,YAAWsd,KAAQxhB,EAAE,iEAAkE,WAChFiG,IAERlC,MAAM8b,KAEI4M,GAAe9pB,GAAQid,IACjC7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAK+b,IACL3b,MAAM8b,KAEIsU,GAAcra,GAAW8F,IACnCM,KAAK,yBAA0BpG,GAC/BnW,KAAKsC,IACJ/B,YAAWsd,KAAQxhB,EAAE,2DAA4D,WAC1EiG,IAGEmuB,GAAW,CAAC3zB,EAAIqZ,IAAW8F,IACrCuM,IAAK,0BAAyB1rB,EAAMqZ,GACpCnW,KAAKsC,IACJ/B,YAAWsd,KAAQxhB,EAAE,0DAA2D,WACzEiG,IAGEouB,GAAiB5zB,GAAOmf,IAClC7c,IAAK,0BAAyBtC,GAC9BsD,MAAM8b,KAEIyU,GAAiB7zB,GAAOmf,IAClC7c,IAAK,iBAAgBtC,gCAAkC,CACtDqZ,OAAQ,CACNkS,aAAc,IACduI,KAAM,KAGT5wB,KAAKC,UACJ,MAAME,EAAO4b,GAAgBpD,GAE7B,MAAO,IACFxY,EACHigB,OAAQjgB,EAAKA,KAAKxD,IAAIk0B,GAAQA,EAAKzQ,OAAOzjB,IAAIuK,IAAC,IAAUA,EAAG2pB,WAAUC,UAGzE1wB,MAAM8b,KAEI6U,GAAgBj0B,GAAOmf,IACjC7c,IAAK,gCAA+BtC,GACpCsD,MAAM8b,KAEI8U,GAAgB,CAACvf,EAAS6O,KACrC,MAAOG,EAAMzhB,GAAOshB,EAChB,CAAC,MAAQ,gCAA+BA,GACxC,CAAC,OAAQ,gCAEb,OAAOrE,IAAQwE,GAAMzhB,EAAKyS,GAASrR,MAAM8b,MAG9B+U,GAA0B,CAACn0B,EAAIqZ,IAAW8F,IACpD7c,IAAK,0BAAyBtC,gCAAkC,CAAEqZ,WAClEnW,KAAK+b,IACL3b,MAAM8b,KAEIgV,GAAiBp0B,GAAOmf,IAClC7c,IAAK,0BAAyBtC,YAC9BkD,KAAK+b,IACL3b,MAAM8b,KCrJIgM,GAAU/R,GAAW8F,IAAQ7c,IAAI,qBAAsB,CAClE+W,OAAQ,IACHA,EACHgb,MAAO,GACP,cAAe,SAGhBnxB,KAAK2Y,GAAG,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAM,iBAClBvY,MAAM8b,K,cCNTkV,kBAAgC9c,EAAQ,MAExC8c,kBAAgC9c,EAAQ,MAExC,MAAM6H,GAAM,KAAQ,MAAM,IAAI+E,MAAM,8BAE9BnF,GAAkB,EACtB,eAAgB5b,EAChB,aAAcN,EACd,mBAAoB8W,MAHE,CAKtB,gBAAkB,OAAOmL,KAAK3hB,MAC9B,gBAAkB,OAAO2hB,KAAK3hB,MAC9BA,OACAyW,SAAU/W,GAAQA,EAAK,cACvB8W,eAIWqF,GAAO7F,GAAW8F,IAC5B7c,IAAI,aAAc,CAAE+W,WACpBnW,KAAK+b,IACL3b,MAAM+b,IAEIkV,GAAwBryB,GAAQid,IAC1C7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAK+b,IACL3b,MAAM+b,IAEImV,GAAM7f,GAAWwK,IAC3BM,KAAK,aAAc9K,GAET+b,GAAY,KACvB,MAAM+D,EAAgBH,YAA0B,MAChD,OAAO/yB,IAAE1B,IAAI40B,EAAe,CAAC9jB,EAAOxE,KAAR,CAAqBA,QAAOwE,YAI7CrO,GAAMtC,GAAMmf,IACtB7c,IAAK,cAAatC,GAClBsD,MAAM+b,IAEIqV,GAAe,CAAC10B,EAAI2U,IAAYwK,IAC1CuM,IAAK,cAAa1rB,EAAM2U,GACxBzR,KAAK,IAAMO,YAAW,iCAAkC,YAE9CkxB,GAAiBhgB,GAAWwK,IACtCM,KAAK,aAAc9K,GACnBzR,KAAK,IAAMO,YAAW,iCAAkC,YAG9CmxB,GAAY,CAAChZ,EAAS,KAAOuD,IACvC7c,IAAI,aAAc,IAAKsZ,EAAQoK,OAAO,IACtC9iB,KAAK+b,IACL/b,KAAK,EAAGG,UAAWA,GACnBC,MAAM+b,IAEI/a,GAAWtE,GAAMmf,IAC3B7c,IAAK,cAAatC,GAClBsD,MAAM+b,IAEIwV,GAAgBxb,GAAW8F,IACrC7c,IAAI,aAAc,CAAE+W,WACpBnW,KAAK+b,IACL3b,MAAM+b,IAEIyV,GAAwB5yB,GAAQid,IAC1C7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAK+b,IACL3b,MAAM+b,IAEI0V,GAAkB/0B,GAAOmf,IACnCrE,OAAQ,cAAa9a,GACrBkD,KAAK,IAAMO,YAAW,iCAAkC,YACxDH,MAAOC,GAAU6b,YAAW7b,IAElByxB,GAAkBh1B,GAAOmf,IACnCrE,OAAQ,cAAa9a,GACrBkD,KAAK,IAAMO,YAAW,iCAAkC,YACxDH,MAAOC,GAAU6b,YAAW7b,IAElB0xB,GAAyB/yB,GAAQid,IAC3C7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjE/c,MAAM+b,IAEI6V,GAA4BvgB,GAAYwK,IAClDM,KAAK,iBAAkB9K,EAAS,CAC/B0E,OAAQ,CAAEgH,MAAO,QAAU0B,WAAY,CAAE,eAAgB,yBAE1D7e,KAAKsC,IACJ/B,YAAW,qDAAsD,WAC1D+B,IAERlC,MAAM+b,IAEI8V,GAA4BjzB,GAAQid,IAC9CrE,OAAQ,8BAAkC5Y,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACpE/c,MAAM+b,IAEI+V,GAAkBzgB,GAAYwK,IACxCM,KAAK,aAAc9K,GACnBzR,KAAK,IAAMO,YAAW,iCAAkC,YAE9C4xB,GAAe,CAACr1B,EAAI2U,IAAYwK,IAC1CuM,IAAK,cAAa1rB,EAAM2U,GACxBzR,KAAK,IAAMO,YAAW,iCAAkC,YAE9C6xB,GAAcjc,GAAW8F,IACnC7c,IAAI,cAAe,CAAE+W,WACrBnW,KAAK+b,IACL3b,MAAM+b,IAEIkW,GAA2Blc,GAAW8F,IAChD7c,IAAI,aAAc,CAAE+W,WACpBnW,KAAKC,UACJ,MAAMqyB,QAAsBvV,QACzBf,IACC3d,IAAE1B,IAAIkgB,EAAE,gBAAiB5c,UACvB,MAAMsyB,EAAiBC,EAEvB,OADAD,EAAeH,iBAAmBA,GAAW,CAAEhxB,SAAQ,OAAEoxB,QAAF,IAAEA,OAAF,EAAEA,EAAe11B,KACjEy1B,KAIb,MAAO,CACLb,UAAWrzB,IAAEsM,OAAO2nB,EAAeha,IAAC,aAAK,OAADA,QAAC,IAADA,GAAA,UAAAA,EAAG8Z,kBAAH,eAAejnB,QAAS,IAChEyL,SAAUiG,EAAE,eAAiBA,EAAE,cAAc,cAC7ClG,WAAYkG,EAAE,uBAGjBzc,MAAM+b,IAEIsW,GAAsCzzB,GAAQid,IACxD7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAKC,UAAA,CACJyxB,gBAAiB3U,QAAQf,IAAI3d,IAAE1B,IAAIkgB,EAAE,gBAAiB5c,UACpD,MAAMsyB,EAAiBC,EAEvB,OADAD,EAAeH,iBAAmBA,GAAW,CAAEhxB,SAAQ,OAAEoxB,QAAF,IAAEA,OAAF,EAAEA,EAAe11B,KACjEy1B,KAET3b,SAAUiG,EAAE,eAAiBA,EAAE,cAAc,iBAE9Czc,MAAM+b,IAEIuW,GAAkB51B,GAAMmf,IAClCrE,OAAQ,eAAc9a,GACtBkD,KAAK,IAAMO,YAAW,kCAAmC,YACzDH,MAAM+b,IAEIwW,GAAgB,CAAC71B,EAAI2U,IAAYwK,IAC3CuM,IAAK,eAAc1rB,EAAM2U,GACzBzR,KAAK6c,IACJtc,YAAW,kCAAmC,WACvCsc,IAERzc,MAAM+b,IAEIyW,GAA8BnhB,GAAYwK,IACpDM,KAAK,cAAe9K,GACpBzR,KAAK6c,IACJtc,YAAW,kCAAmC,WACvCsc,IAERzc,MAAM+b,ICpKHL,GAAc,EAAG,eAAgB3b,KAAWA,EAC5C4b,GAAkB,EACtB,eAAgB5b,EAChB,aAAcN,EACd,mBAAoB8W,MAHE,CAKtBiU,QAASvsB,IAAE1B,IAAIwD,EAAM0X,IAAC,IAAUA,EAAGpK,MAAOoK,EAAE5a,KAAMgM,MAAO4O,EAAE/a,MAC3DqD,OACAyW,SAAU/W,GAAQA,EAAK,cACvB8W,eAGIwF,GAAM,KAAQ,MAAM,IAAI+E,MAAM,4BAMvBlF,GAAMtD,GAAUuD,IAC1B7c,IAAI,WAAYsZ,GAChB1Y,KAAK+b,IACL3b,MAAM+b,IAEI2M,GAAe9pB,GAAQid,IACjC7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAM4qB,IAAD,CACJA,QAASA,EAAQ,gBACjBhU,SAAUgU,EAAQ,eAAiBA,EAAQ,cAAc,cACzDjU,WAAYiU,EAAQ,uBAErBxqB,MAAM+b,IAEI/c,GAAMtC,GAAMmf,IACtB7c,IAAK,YAAWtC,EAAM,CAAEgmB,OAAO,IAC/B1iB,MAAM+b,IAEI0W,GAAkBna,GAAUuD,IACtC7c,IAAI,oBAAqBsZ,GACzB1Y,KAAK8b,IACL1b,MAAM+b,IAEI2W,GAAepa,GAAUuD,IACnC7c,IAAI,iBAAkBsZ,GACtBtY,MAAM,KAAM2yB,OA9BIC,EA8BO,iBA7BxB1yB,QAAQ2yB,KAAM,gBAAeD,0BACtBjW,QAAQiG,QAAQ,IAFNgQ,QAgCNE,GAAW,IAAMjX,IAC3B7c,IAAI,sBAAuB,CAAE0jB,OAAO,EAAM3M,OAAQ,CAAEkS,aAAc,OAClEroB,KAAK8b,IACL1b,MAAM+b,IAEIgX,GAAa,CAACr2B,EAAI2U,IAAYwK,IACxCuM,IAAK,YAAW1rB,EAAM2U,GACtBzR,KAAK,IAAMO,YAAW,+BAAgC,YACtDH,MAAM+b,I,oBCxDF,MAAMiX,GAAgBC,IAC3B,MAAMC,EAAY,CAChBC,WAAY,EACZC,aAAc,EACd,YAAa,EACb,cAAe,GA8BjB,OA3BAn1B,IAAEo1B,OAAOJ,EAAQ,CAACpqB,EAAOpM,KACvB,OAAQA,GACN,IAAK,KACL,IAAK,KACL,IAAK,KACHy2B,EAAUC,YAActqB,EACxB,MACF,IAAK,KACL,IAAK,KACHqqB,EAAUE,cAAgBvqB,EAC1B,MACF,IAAK,KACL,IAAK,KACL,IAAK,KACHqqB,EAAU,cAAgBrqB,EAC1B,MACF,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,IACHqqB,EAAU,gBAAkBrqB,KAM3B5K,IAAEovB,QAAQ6F,ICjCbvX,GAAkB,EACtB,eAAgB5b,EAChB,aAAcN,EACd,mBAAoB8W,MAHE,CAKtBxW,OACAyW,SAAU/W,GAAQA,EAAK,cACvB8W,eAYWrR,GAAW,CAAC+oB,EAAe3V,IAThB,EAAC2V,EAAe3V,IAAWuD,IAChD7c,IAAK,iBAAgBivB,YAAyB3V,GAC9C1Y,KAAK6c,GACCA,GAAkB,kBAANA,EACVA,EADiC,CAAE,eAAgB,CAAC,GAAI,GAAI,MAGpE7c,KAAK+b,IACL/b,KAAK,EAAGG,UAAWA,GAE6BuzB,CAAgBrF,EAAe3V,GAC/E1Y,KAAK6c,IACJ,MAAO8W,EAAKpW,EAAOqW,GAAS/W,EAC5B,MAAO,CACLU,QACAqW,QACAC,QAASD,EAAMA,MACfN,UAAWF,GAAaQ,GACxBD,SC7BA5X,GAAkB,EACtB,eAAgB5b,EAChB,aAAcN,EACd,mBAAoB8W,MAHE,CAKtB,cACE,OAAOmL,KAAK3hB,MAEdA,OACAyW,SAAU/W,EAAK,cACf8W,eAGWmS,GAAe9pB,GAAQid,IACjC7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAK+b,IAEK3c,GAAO+W,GAAW8F,IAC5B7c,IAAI,WAAY+W,GAChBnW,KAAK+b,IAEK+X,GAASh3B,GAAMmf,IACzB7c,IAAK,YAAWtC,EAAM,CAAEgmB,OAAO,IAC/B9iB,KAAK,EAAG2F,YAAaA,GAEXouB,GAAerb,GAAUuD,IACnC7c,IAAI,aAAc,IAAKsZ,IACvB1Y,KAAK2Y,IAAG,uBAAIoD,GAAgBpD,UAApB,aAAI,EAAsBxY,OCpB/B2b,GAAc,EAAG,eAAgB3b,KAAWA,EAMrCwxB,GAAejZ,GAAUuD,IACnC7c,IAAI,aAAcsZ,GAClB1Y,KAAK8b,IACL1b,MAAO+b,GAAQD,YAAWC,IAEhB6X,GAAkB,CAACl3B,EAAI4b,IAAW5b,GAAMmf,IAClD7c,IAAK,cAAatC,EAAM4b,GACxBtY,MAAO+b,GAAQD,YAAWC,IAMhB8X,GAAen3B,GAAOse,YACjC4Y,GACA,CAACl3B,I,cCrBH,MAAMgf,GAAc,EAAG,eAAgB3b,KAAWA,EAMrCytB,GAAoBlV,GAAUuD,IACxC7c,IAAI,mBAAoBsZ,GACxB1Y,KAAK8b,IACL1b,MAAO+b,GAAQD,YAAWC,IAEhBsG,GAAuB,CAAC3lB,EAAI4b,IAAW5b,GAAMmf,IACvD7c,IAAK,oBAAmBtC,EAAM4b,GAC9BtY,MAAO+b,GAAQD,YAAWC,IAMhB+X,GAAoBp3B,GAAOse,YACtCqH,GACA,CAAC3lB,ICxBGq3B,GAAgB7pB,IACpB/J,YAAW,wCAAyC,SAC7C+J,GAiFM,QACb0R,IArDa,CAACmM,EAAMnrB,KACpB,MAAM0b,EAASra,IAAEse,MAAMwL,GAMvB,OAJK9pB,IAAEI,IAAIia,EAAQ,iBACjBra,IAAEqZ,IAAIgB,EAAQ,eAAgB,QAGzBuD,IACJ7c,IAAI,YAAasZ,GACjB1Y,KAAKsC,IAAM,CACV+Y,SAAUhd,IAAEsM,OAAOrI,EAAO,gBAAiBuV,GACrCA,EAAEuc,OAAevc,EAAEuc,OACnBvc,EAAEsF,MAActF,EAAEsF,QAAUngB,GAAW6a,EAAEsF,MAAM,SAAWngB,EACvD6a,EAAEuc,QAEXxd,SAAUtU,EAAO,eAAiBA,EAAO,cAAc,iBAExDlC,MAAM+zB,KAqCT/0B,IAVkBmX,GAAc0F,IAC/B7c,IAAI,YAAa,CAAE+W,OAAQ,CAAEgH,MAAO,QAAU2F,OAAO,IACrD9iB,KAAK,EAAG,eAAgBqb,KAAe,CACtChd,IAAET,KAAKyd,EAAU,UACjBhd,IAAET,KAAKyd,EAAUxD,GAAKA,EAAEsF,QAAU5G,KAEnCnW,MAAM+zB,IAKPE,oBAnC2Br1B,GAAQid,IAClC7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAKsC,IAAM,CACV+Y,SAAU/Y,EAAO,gBACjBsU,SAAUtU,EAAO,eAAiBA,EAAO,cAAc,iBAExDlC,MAAM+zB,IA8BPjG,QAlFepxB,GAAOmf,IACrB7c,IAAK,aAAYtC,GACjBsD,MAAM+zB,IAiFPG,iBA7BwBne,GAAW8F,IAClC7c,IAAI,iBAAkB,CAAE+W,WACxBnW,KAAKsC,IAAM,CACV+Y,SAAU/Y,EAAO,gBACjBsU,SAAUtU,EAAO,eAAiBA,EAAO,cAAc,iBAExDlC,MAAM+zB,IAwBPI,yBAtBgCv1B,GAAQid,IACvC7c,IAAK,8BAAkCJ,EAAO,CAAEmX,OAAQ,CAAEgH,MAAO,UACjEnd,KAAKsC,IAAM,CACV+Y,SAAU/Y,EAAO,gBACjBsU,SAAUtU,EAAO,eAAiBA,EAAO,cAAc,iBAExDlC,MAAM+zB,IAiBPK,oBAjF2B13B,GAAOmf,IACjC7c,IAAK,kBAAiBtC,GACtBsD,MAAM+zB,IAgFPM,mBA9E0Bte,GAAW8F,IACpCM,KAAK,iBAAkBpG,GACvBnW,KAAKsC,IACJ/B,YAAW,qCAAsC,WAC1C+B,IAERlC,MAAM+zB,IAyEPO,iBAvEuB,CAAC53B,EAAIqZ,IAAW8F,IACtCuM,IAAK,kBAAiB1rB,EAAMqZ,GAC5BnW,KAAK,IAAMO,YAAW,qCAAsC,YAC5DH,MAAM+zB,IAqEPQ,mBAnE0B73B,GAAOmf,IAChCrE,OAAQ,kBAAiB9a,GACzBkD,KAAK,IAAMO,YAAW,qCAAsC,YAC5DH,MAAM+zB,KCjCT,MAAMrY,GAAc,EAAG,eAAgB3b,KAAWA,EAEnC,WAAM8b,IAClB7c,IAAI,kBAAmB,CAAE0jB,OAAO,IAChC9iB,KAAK8b,ICcD,MAAM2B,GAAemX,EACfxU,GAASyU,EACTC,GAAUC,EACVC,GAAYC,EACZzH,GAAY0H,EACZtK,GAAUuK,EACV9X,GAAU+X,EACVhzB,GAAQizB,GACRnC,GAAWoC,GACXC,GAAuBC,EACvBC,GAAWC,EAEXzN,GAAY0N,EACZC,GAAWC,EACXtH,GAAUuH,EAEVC,GAAkBC,G,gCCpC/B,wPAUA,MAAM16B,EAAUf,IAAOC,GAAI;;;;;;;;;;;;;;;;;EAsBdy7B,EAAWt0B,GACtB,yBACEoJ,MAAO,CACLjI,OAAQ,qBACRE,MAAO,OACPipB,QAAS,OACTC,WAAY,SACZgK,eAAgB,WAElB,kBAAC,IAAD,eAAQhpB,KAAMvL,EAAMuL,MAAQ,MAAUvL,KAI7Bw0B,EACX,kBAAC76B,EAAD,KACE,8CAIS86B,EAAqB,EAAGj6B,WACnC,kBAAC,IAAD,KACE,8BAAOA,GAAS,mBAChB,kBAAC,IAAD,OAIJi6B,EAAmBzqB,aAAe,CAChCxP,MAAO,kBAGF,MAAMk6B,EAAkB,EAAGniB,cAChC,kBAAC5Y,EAAD,KACE,uBAAGyP,MAAO,CAAEurB,UAAW,WAAapiB,IAI3BqiB,EAAcrqB,eAAK,EAC9B9N,UAAS8V,WAAUnJ,QAAOyrB,iBAAgBlvB,OAAO,aAE7CnJ,YAAQC,GACH2C,YAAYmT,GAAYA,IAAaA,EAI5C,yBACErX,IAAKwB,IAAEo4B,SAAS,eAChB1rB,MAAO,CACL/H,MAAO,OACPF,OAAQ,OACRmpB,QAAS,UACNlhB,IAEJyrB,GACC,yBAAKzrB,MAAO,CAAEkhB,QAAS,SACpBlrB,YAAYmT,GAAYA,IAAaA,GAG1C,kBAAC,IAAD,CAAQ5M,KAAMA,O,sDCzFpB,oVAAO,MAAMovB,EAAY,YACZC,EAAqB,qBACrBC,EAAgB,gBAChBC,EAAyB,yBACzBC,EAAwB,wBACxBC,EAAiC,iCACjCC,EAAiB,iBACjBC,EAA0B,0BAE1BC,EAA0C,0CAC1CC,EAA2C,4C,gCCRxD,kCAGO,MAAMx5B,EAA0B,CACrCy5B,IAAK,CAAC,gCAAiC,gCAEvCC,IAAK,CAAC,+BAENC,MAAO,CAAC,yBAERC,MAAO,CAAC,gBAAiB,yBAEzBC,WAAY,CAAC,yB,gCCdf,qLAEyBj9B,IAAOC,GAAI;;;;;;;;EAUbD,IAAOC,GAAI;;;;;;;;;;;EAV3B,MAuBMi9B,EAAuBl9B,IAAOC,GAAI;;;;;;;EA0BlCk9B,GAjBkBn9B,IAAOC,GAAI;;;;;EAOXD,IAAOC,GAAI;;;;;;;;EAUZD,IAAOC,GAAI;;;;;;;;;;GAuC5Bm9B,GA3BWp9B,IAAOyB,IAAK;;EAIbzB,IAAOyB,IAAK;;;;;EAOLzB,IAAOyB,IAAK;;;EAKtBzB,IAAOyB,IAAK;;;;EAMZzB,IAAOC,GAAI;;;EAKHD,IAAOC,GAAI;;;;;;;;;;;GAiD1Bo9B,GApCmBr9B,IAAOC,GAAI;;;gBAG3B,EAAG0S,OAAO,QAAqB,OAATA,EAAgB,QAAU;;;;;EAOnC3S,IAAOC,GAAI;;;;;;;;;;;;;;EAgBjBD,IAAOuN,GAAI;;EAIHvN,IAAOC,GAAI;;;;EAMrBD,IAAOs9B,EAAG;;;;GAMlBC,EAAOv9B,IAAOC,GAAI;;;;;4KC7IxB,MAAMu9B,EAAqB,CAChCR,MAAO,CACLljB,aAAc1W,IAAwB45B,MACtCS,WAAYC,IAAMC,KAAK,IAAM,2EAC7BC,iBAAkB,MAEpBf,IAAK,CACH/iB,aAAc1W,IAAwBy5B,IACtCY,WAAYC,IAAMC,KAAK,IAAM,2EAC7BC,iBAAkB,MAEpBd,IAAK,CACHhjB,aAAc1W,IAAwB05B,IACtCW,WAAYC,IAAMC,KAAK,IAAM,2EAC7BC,iBAAkBF,IAAMC,KAAK,IAAM,+BAA+Bl4B,KAAK7C,IAAC,CAAOi7B,QAASj7B,EAAEk7B,aAE5Fb,WAAY,CACVnjB,aAAc1W,IAAwB65B,WACtCQ,WAAYC,IAAMC,KAAK,IAAM,6DAC7BC,iBAAkB,MAEpBb,MAAO,CACLjjB,aAAc1W,IAAwB25B,MACtCU,WAAYC,IAAMC,KAAK,IAAM,2EAC7BC,iBAAkB,O,kECjBf,MAAM19B,EAAQ,CAEnB69B,QAASC,IAET79B,QAAS69B,IAGT1qB,SAAW,8LAIX/S,UAAW,CACTC,MAAO,6BACPy9B,OAAQ,gCAICC,EAAmBC,GAAkB;;;6CAGLC;;;;;eAK9BC;KAGAF,SAAkB;;;;mBAIdj+B,EAAMoT;;;;;;;;;;aAUZ0qB;;;;;;;;;;;;;;;;;eAiBE,EAAG99B,MAAO4B,KAAQA,EAAE3B,QAAQyJ,MAAM;mBAC9B,EAAG1J,MAAO4B,KAAQA,EAAEw8B;mBACpB,EAAGp+B,MAAO4B,KAAQA,EAAEwR;;;;;wBAKf,EAAGpT,MAAO4B,KAAQA,EAAE3B,QAAQC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAgDjC49B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsClB7xB;;;QAGEA;;;;;MAKFC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEChKN,MAAMmyB,EAAgB,CACpBC,YAAaznB,ivBAAY0nB,gCAAkC,GAC3DC,YAAa3nB,ivBAAY4nB,+BAAiC,IAG/CC,EAAyB,EACpCjlB,cAKA,kBAAC,IAAD,CAAUwE,OAAQogB,GAChB,kBAACM,EAAA,EAAD,KAAgBllB,IAGPmlB,EAAqB,KAEhC,MAAMC,EAAcx3B,YAAY,EAAGnC,UAAWA,IACxC,GAAE7C,EAAF,MAAM+E,EAAN,KAAa5E,GAASq8B,GAAe,IACrC,mBAAE15B,GAAuBlD,cAEzB68B,EAAW16B,kBAAQ,KAAO,IAAD,QAC7B,OAAK/B,GAAO+E,GAAUjC,EACf,CACL9C,KACAG,OACA4E,QACA23B,aAAc55B,EAAmB9C,GACjC28B,iBAAgB,UAAE75B,EAAmBrC,YAArB,aAAE,EAAyBT,GAC3C48B,mBAAkB,UAAE95B,EAAmBrC,YAArB,aAAE,EAAyBN,KAC7C08B,oBAAmB,UAAE/5B,EAAmB5C,eAArB,aAAE,EAA4BF,GACjD88B,sBAAqB,UAAEh6B,EAAmB5C,eAArB,aAAE,EAA4BC,MATJ,MAWhD,CAACH,EAAI+E,EAAO5E,EAAM2C,IAErBi6B,YAAiBN,GAAY,IAE7B,MAAM33B,EAAWhD,cAIjB,OAFAk7B,YAAkBl4B,EAASa,UAEpB,M,8BCvBF,MAAMs3B,EAAoC,EAC/CC,YAAW,EACXC,aACAC,cACAC,kBACAn/B,QAAQ,OACRG,SAAS,QACTN,UAAU,UACV+H,QAAQ,UACRsR,eAEA,MAAMkmB,EAAcC,iBAAuB,OACrC,OAAEC,EAAF,YAAUC,GC9BmB,EACnCC,EACAppB,KAEA,MAAOkpB,EAAQC,GAAexxB,mBAAkBqI,GAiBhD,OAfA3K,oBAAU,KACR,MAAMg0B,EAAsBC,KAEd,OAAVF,QAAU,IAAVA,OAAA,EAAAA,EAAYG,WACRH,EAAWG,QAAQC,SAASF,EAAMvX,SAEtCoX,GAAY,IAIhB,OADAM,SAASC,iBAAiB,YAAaL,GAChC,KACLI,SAASE,oBAAoB,YAAaN,KAE3C,CAACD,IAEG,CACLF,SACAC,gBDO8BS,CAAsBZ,EAAaJ,GAE7Dp4B,EAAWhD,cAgBjB,OAdA6H,oBAAU,KACR8zB,GAAY,IACX,CAAC34B,EAAU24B,IAEd9zB,oBAAU,KACR8zB,EAAYP,IACX,CAACA,EAAUO,IAEd9zB,oBAAU,KACJwzB,GACFA,EAAWK,IAEZ,CAACA,EAAQL,IAGV,kBAAC,IAAD,CAAWzxB,IAAK4xB,GACd,kBAAC,IAAD,CACEj/B,OAAQA,EACRkC,QAAS,IAAMk9B,EAAax4B,IAAWA,GACvCk5B,aAAc,IAAMV,EAAax4B,IAAWA,GAC5C3G,YAAa8+B,GACZA,EACC,oCACGA,EACD,yBAAKnyB,IAAI,GAAGC,IAAKkzB,OAGnBf,GAGJ,kBAAC,IAAD,CACEn/B,MAAOA,EACP4H,MAAOA,EACPzH,OAAQA,EACRN,QAASA,GACI,cAAZA,GAA2B,kBAAC,IAAD,CAAS+H,MAAOA,IAC3CsR,K,qBE/EF,MAAMinB,EAAc5gC,IAAOC,GAAuB;;;;sBAInC,EAAGoI,WAAYA;;EAIxBw4B,EAAU7gC,IAAOC,GAAI;;;;;EAOrB6gC,EAAc9gC,IAAOC,GAAI;;;EAKzB8gC,EAAe/gC,IAAOC,GAAI;;;EChB1B+gC,EAKR,EACHtnB,OAAM9X,QAAOq/B,WAAUC,cAEvB,kBAAC,IAAD,CAASj5B,GAAIyR,GACX,kBAAC,EAAD,KACE,kBAAC,EAAD,CAAerR,MAAO64B,IACtB,6BACE,kBAAC,EAAD,KAAgBt/B,GACfq/B,GAAY,kBAAC,EAAD,KAAiBA,MCnBtC,SAASvY,IAA2Q,OAA9PA,EAAWxlB,OAAOylB,QAAU,SAAUC,GAAU,IAAK,IAAIjc,EAAI,EAAGA,EAAIkc,UAAUjY,OAAQjE,IAAK,CAAE,IAAImc,EAASD,UAAUlc,GAAI,IAAK,IAAIrK,KAAOwmB,EAAc5lB,OAAO6lB,UAAUC,eAAeC,KAAKH,EAAQxmB,KAAQsmB,EAAOtmB,GAAOwmB,EAAOxmB,IAAY,OAAOsmB,IAA2BM,MAAM3B,KAAMsB,WAIhT,IAAIM,EAAoB,IAAMC,cAAc,IAAK,CAC/CC,SAAU,2BACI,IAAMD,cAAc,OAAQ,CAC1CzgB,EAAG,sVACHL,KAAM,iBACS,IAAM8gB,cAAc,OAAQ,CAC3CzgB,EAAG,oMACHL,KAAM,kBAGJghB,EAAqB,IAAMF,cAAc,OAAQ,KAAmB,IAAMA,cAAc,WAAY,CACtG7mB,GAAI,qBACU,IAAM6mB,cAAc,OAAQ,CAC1C3gB,MAAO,GACPF,OAAQ,KACRD,KAAM,eACN64B,UAAW,4BAGb,MAAMC,EAAU,EACd5X,SACA5nB,WACGwF,KACc,IAAMgiB,cAAc,MAAOV,EAAS,CACrDjgB,MAAO,GACPF,OAAQ,GACRC,QAAS,YACTF,KAAM,OACN2F,IAAKub,GACJpiB,GAAQxF,EAAqB,IAAMwnB,cAAc,QAAS,KAAMxnB,GAAS,KAAMunB,EAAMG,GAElFG,EAA0B,IAAMC,WAAW,CAACtiB,EAAO6G,IAAqB,IAAMmb,cAAcgY,EAAS1Y,EAAS,CAClHc,OAAQvb,GACP7G,KACY,ICjCR,MAAMi6B,EAAarhC,IAAOC,GAAqB;;;;;;;;;sBAShC,EAAGoI,WAAYA;WAC1B,EAAGA,WAAuB,YAAVA,GAAiC,YAAVA,EAAsB,OAAS;;;;;;aAMpE,EAAGA,WAAuB,YAAVA,GAAiC,YAAVA,EAAsB,OAAS;WACxE,EAAGA,WAAuB,YAAVA,GAAiC,YAAVA,EAAsB,OAAS;;;;;;EAQpEi5B,EAAWthC,YAAOuhC,EAAM;;;;;;;EASxBC,EAAexhC,IAAOC,GAAI;sBACjB,EAAGC,WAAYA,EAAMC,QAAQC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4D3CqhC,GAzBczhC,IAAOC,GAAuB;;;;sBAInC,EAAGoI,WAAYA;;EAIdrI,IAAOC,GAAI;;;;;EAOPD,IAAOC,GAAI;;;EAKVD,IAAOC,GAAI;;;EAKfD,YAAOiB,IAAM;;;;;;;;;;;;;;;GCpGrC,SAAS,KAA2Q,OAA9P,GAAWiC,OAAOylB,QAAU,SAAUC,GAAU,IAAK,IAAIjc,EAAI,EAAGA,EAAIkc,UAAUjY,OAAQjE,IAAK,CAAE,IAAImc,EAASD,UAAUlc,GAAI,IAAK,IAAIrK,KAAOwmB,EAAc5lB,OAAO6lB,UAAUC,eAAeC,KAAKH,EAAQxmB,KAAQsmB,EAAOtmB,GAAOwmB,EAAOxmB,IAAY,OAAOsmB,IAA2BM,MAAM3B,KAAMsB,WAIhT,IAAI,GAAoB,IAAMO,cAAc,IAAK,CAC/C7mB,GAAI,eACU,IAAM6mB,cAAc,OAAQ,CAC1C7mB,GAAI,cACJm/B,SAAU,UACVC,SAAU,UACVh5B,EAAG,yKACHghB,OAAQ,eACRC,cAAe,QACfgY,eAAgB,UACD,IAAMxY,cAAc,OAAQ,CAC3C7mB,GAAI,gBACJm/B,SAAU,UACVC,SAAU,UACVh5B,EAAG,6GACHghB,OAAQ,eACRC,cAAe,QACfgY,eAAgB,WAGlB,MAAMC,GAAc,EAClBrY,SACA5nB,WACGwF,KACc,IAAMgiB,cAAc,MAAO,GAAS,CACrD3gB,MAAO,GACPF,OAAQ,GACRC,QAAS,YACTF,KAAM,OACN2F,IAAKub,GACJpiB,GAAQxF,EAAqB,IAAMwnB,cAAc,QAAS,KAAMxnB,GAAS,KAAM,IAE5E,GAA0B,IAAM8nB,WAAW,CAACtiB,EAAO6G,IAAqB,IAAMmb,cAAcyY,GAAa,GAAS,CACtHrY,OAAQvb,GACP7G,KACY,ICvCf,SAAS,KAA2Q,OAA9P,GAAWlE,OAAOylB,QAAU,SAAUC,GAAU,IAAK,IAAIjc,EAAI,EAAGA,EAAIkc,UAAUjY,OAAQjE,IAAK,CAAE,IAAImc,EAASD,UAAUlc,GAAI,IAAK,IAAIrK,KAAOwmB,EAAc5lB,OAAO6lB,UAAUC,eAAeC,KAAKH,EAAQxmB,KAAQsmB,EAAOtmB,GAAOwmB,EAAOxmB,IAAY,OAAOsmB,IAA2BM,MAAM3B,KAAMsB,WAIhT,IAAI,GAAoB,IAAMO,cAAc,OAAQ,CAClDzgB,EAAG,sgCACHL,KAAM,UAGR,MAAMw5B,GAAU,EACdtY,SACA5nB,WACGwF,KACc,IAAMgiB,cAAc,MAAO,GAAS,CACrD3gB,MAAO,GACPF,OAAQ,GACRC,QAAS,YACTF,KAAM,OACN2F,IAAKub,GACJpiB,GAAQxF,EAAqB,IAAMwnB,cAAc,QAAS,KAAMxnB,GAAS,KAAM,IAE5E,GAA0B,IAAM8nB,WAAW,CAACtiB,EAAO6G,IAAqB,IAAMmb,cAAc0Y,GAAS,GAAS,CAClHtY,OAAQvb,GACP7G,KACY,ICxBf,SAAS,KAA2Q,OAA9P,GAAWlE,OAAOylB,QAAU,SAAUC,GAAU,IAAK,IAAIjc,EAAI,EAAGA,EAAIkc,UAAUjY,OAAQjE,IAAK,CAAE,IAAImc,EAASD,UAAUlc,GAAI,IAAK,IAAIrK,KAAOwmB,EAAc5lB,OAAO6lB,UAAUC,eAAeC,KAAKH,EAAQxmB,KAAQsmB,EAAOtmB,GAAOwmB,EAAOxmB,IAAY,OAAOsmB,IAA2BM,MAAM3B,KAAMsB,WAIhT,IAAI,GAAoB,IAAMO,cAAc,OAAQ,CAClDzgB,EAAG,eACHghB,OAAQ,OACRC,cAAe,UAGjB,MAAMmY,GAAsB,EAC1BvY,SACA5nB,WACGwF,KACc,IAAMgiB,cAAc,MAAO,GAAS,CACrD9gB,KAAM,OACNE,QAAS,YACTyF,IAAKub,GACJpiB,GAAQxF,EAAqB,IAAMwnB,cAAc,QAAS,KAAMxnB,GAAS,KAAM,IAE5E,GAA0B,IAAM8nB,WAAW,CAACtiB,EAAO6G,IAAqB,IAAMmb,cAAc2Y,GAAqB,GAAS,CAC9HvY,OAAQvb,GACP7G,KACY,ICrBR,MAAM46B,GAAUhiC,IAAOC,GAA4C;;;sBAGpD,EAAGoI,QAAQ,QAASnI,YACtC,OAAQmI,GACN,IAAK,QACH,MAAO,OACT,IAAK,OACH,OAAOnI,EAAMC,QAAQC,KAAK,KAC5B,QACE,MAAO;ECGF6hC,GAIR,EACHC,UAAS75B,QAAO85B,oBAEhB,MAAM,EAAErgC,GAAMC,cACd,OACE,kBAACy9B,EAAD,CACEI,gBACE,kBAAC,EAAD,CAAcv3B,MAAOA,GACnB,kBAAC,EAAD,CAAYI,MAAO,KACnB,kBAAC,GAAD,CAAaA,MAAO,KACnBy5B,GAAWpgC,EAAG,iBAAgBogC,aAGnC,kBAAC,EAAD,KACGh/B,OAAOghB,KAAKie,GAAevxB,OAAS,EAAI,6BAAM9O,EAAE,wBAAgC,KAChFoB,OAAOghB,KAAKie,GAAe/xB,OAAO9N,IAAG,cAAI,UAAC6/B,EAAc7/B,UAAf,aAAC,EAAoB8/B,aAC5DhgC,IAAKE,IACJ,MAAM+/B,EAAMF,EAAc7/B,GAC1B,OAAO+/B,GACL,kBAAC,IAAMC,SAAP,CAAgBhgC,IAAK+/B,EAAI3oB,MACvB,kBAACsnB,EAAD,CACEE,SAAUmB,EAAIh6B,MACdqR,KAAM2oB,EAAI3oB,KACVunB,SAAUn/B,EAAG,iBAAgBugC,EAAI3/B,iBACjCd,MAAOE,EAAG,iBAAgBugC,EAAI3/B,mBAKvCQ,OAAOghB,KAAKie,GAAevxB,OAAS,EAAI,kBAACoxB,GAAD,MAAc,KACtD9+B,OAAOghB,KAAKie,GAAe/xB,OAAO9N,IAAG,uBAAI6/B,EAAc7/B,UAAlB,aAAI,EAAoB8/B,YAAWhgC,IAAKE,IAC5E,MAAM+/B,EAAMF,EAAc7/B,GAC1B,OAAO+/B,GACL,kBAAC,EAAD,CAAY//B,IAAKA,EAAK2F,GAAIo6B,EAAI3oB,MAC5B,yBAAKlM,IAAI,GAAGC,IAAK40B,EAAI33B,OACpB5I,EAAG,iBAAgBugC,EAAI3/B,iBAI7BQ,OAAOghB,KAAKie,GAAevxB,OAAS,EAAI,kBAACoxB,GAAD,MAAc,KACvD,kBAAC,EAAD,CAAYvoB,GAAG,IAAIC,KAAM1N,IAAkB4c,OAAO,UAChD,kBAAC,GAAD,MACA,6BACG9mB,EAAE,qCACH,8BAAOA,EAAE,2CAGb,kBAAC,EAAD,CAAY2X,GAAG,IAAIC,KAAO,wCAAuC6oB,mBAAmBzgC,EAAE,kCACpF,kBAAC,GAAD,MACA,6BACGA,EAAE,4BACH,8BAAOA,EAAE,qCCpER0gC,GAAexiC,IAAOC,GAAI;;;;EAyB1BwiC,IAnBSziC,IAAOC,GAAI;;;;;;;;;;;;;;;;;EAmBdD,IAAO8sB,GAAI;;;;;;;;;;;IAW1B0V;;aAES,EAAGtiC,WAAYA,EAAMC,QAAQC,KAAK;;;;;;;;;;;;GC/BlCqiC,GAAM,EAAGjsB,WACpB,kBAAC,GAAD,YACGA,QADH,IACGA,OADH,EACGA,EAAOpU,IAAKsgC,IAAD,YAAS,UAAWA,EAC9B,kBAAClD,EAAD,CACEl9B,IAAKogC,EAAG9gC,MACRnB,MAAM,QACNm/B,gBACE,kBAAC,GAAD,KACG8C,EAAG9gC,MACJ,yBAAK4L,IAAI,GAAGC,IAAKk1B,IAAal6B,MAAO,MAGzCnI,QAAQ,aATV,UAUGoiC,EAAGlsB,aAVN,aAUG,EAAUpU,IAAKorB,GACd,kBAAC,IAAD,CAASlrB,IAAKkrB,EAAK9T,KAAMzR,GAAIulB,EAAK9T,MAAO8T,EAAK5rB,WAG9C8gC,GACJ,kBAAC,IAAD,CAASpgC,IAAKogC,EAAGhpB,KAAMzR,GAAIy6B,EAAGhpB,MAC3BgpB,EAAG9gC,U,yBC1BL,MAAMghC,GAAkB5iC,IAAO6S,IAAK;;;;;;sBAMrB,EAAG3S,WAAYA,EAAMC,QAAQ+J,KAAK;;;;;;;;;wBAShC,EAAGhK,WAAYA,EAAMC,QAAQ+J,KAAK;;;;;;;;;;;;;;;;;EAmB7C24B,GAAc7iC,IAAOgO,KAAM;;;;;;;;;;aAU3B,EAAG9N,WAAYA,EAAMC,QAAQC,KAAK;;ECnClC0iC,GAA0B,EAAGtxB,cAAaoN,eACrD,MAAOmkB,EAAaC,GAAkBx0B,mBAAS,IAM/C,OACE,kBAAC,GAAD,CAAmBy0B,SAAWlzB,IAC5BA,EAAEC,iBAAkBD,EAAEmzB,kBACtBtkB,EAASmkB,GACTC,EAAe,MAEf,4BAAQj2B,KAAK,UACX,yBAAKS,IAAI,GAAGC,IAAK01B,QAEnB,kBAAC,GAAD,CACEh0B,SAdgBY,IACpBizB,EAAejzB,EAAE6Y,OAAOla,QAcpB8C,YAAaA,EACbzE,KAAK,SACL2B,MAAOq0B,M,aC1BR,MAAMriC,GAASV,IAAOC,GAAI;;;;;;;;;;;;;;;;;;EAoBpBmjC,GAAMpjC,IAAOW,MAAO;;;;;;;;;;;;;;;;;;;;;;EAwBpB0iC,GAAQrjC,IAAOC,GAAI;;;EAKnBqjC,GAAUtjC,IAAOC,GAAI;;;;;;;;EAUrBsjC,GAAgBvjC,IAAOW,MAA+B;;;;;;;;;;;;;;;;;IAiB/D,EAAGoS,cAAeA,GACfjS,GAAI;;;EAKE0iC,GAAcxjC,IAAOC,GAA2B;;;sBAGvC,EAAG8T,cAAgBA,EAAW,UAAY;;;;;MAK1DuvB;;;;;;;;;;QAUE,EAAGvvB,cAAeA,GACfjT,GAAI;;;;;EAOF2iC,GAAazjC,IAAOC,GAAI;;;;EAMxByjC,GAAe5iC,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BnB2gC,GAAWzhC,YAAOiB,IAA2C;IACtEyiC;;WAEO,EAAGr7B,QAAQ,UAAWnI,WAAuB,YAAVmI,EACrCnI,EAAMC,QAAQC,KAAK,KAArB,cACEF,EAAMC,QAAQoK,IAAI,KAApB;;;;;;;;;;EAYMo5B,GAAa3jC,IAAOW,MAAO;IACpC+iC;;;;;EAOSE,GAAgB5jC,YAAOgiC,GAAS;;8EChK7C,MAAM6B,GAGG,UAGHC,GAAiB,CACrBjH,IAAK,CACHn6B,KAAM,MACNd,MAAO,MACPyG,MAAO,UACPqR,KAAM,OACNunB,SAAU,yBAEZnE,IAAK,CACHp6B,KAAM,MACNd,MAAO,MACPyG,MAAO,UACPqR,KAAM,OACNunB,SAAU,0CAEZhE,WAAY,CACVv6B,KAAM,aACNd,MAAO,wBACPyG,MAAO,UACPqR,KAAM,cACN0oB,WAAW,EACX13B,KAAMq5B,MAER/G,MAAO,CACLt6B,KAAM,QACNd,MAAO,QACPyG,MAAO,UACPqR,KAAM,SACN0oB,WAAW,EACX13B,KAAMs5B,MAERjH,MAAO,CACLr6B,KAAM,QACNd,MAAO,QACPyG,MAAO,UACPqR,KAAM,WAIGuqB,GAAgB,KAC3B,MAAM,SAAE/7B,GAAa7D,cACfg+B,EAAMn6B,EAASyH,MAAM,KAAKS,OAAQqC,KAAQA,GAAG,GAG7C2H,EAAiBkS,cACjB4X,EAA0B7pB,eAC1B,mBAAEhV,EAAF,iBAAsBnD,EAAtB,wBAAwC6qB,GAA4B5qB,eAEpE,aAAEgiC,GAAiBC,eAEnBC,EAAkB,OAAGjqB,QAAH,IAAGA,OAAH,EAAGA,EAAgBxU,KAGrCsS,EAA4C3Q,YAAYwW,IAAC,uBAAIA,EAAE3Y,YAAN,aAAI,EAAQ8S,sBAErEosB,EAAoBhgC,kBAAQ,IAC3B+/B,GAAuBnsB,EACrB,IACFA,EAAoB0F,QAAQrb,GAAM8hC,EAAmBhhC,KAAKT,GAAKA,EAAEL,KAAOA,IAAO,OAC/E8hC,EAAmBj0B,OAAOxN,IAAMsV,EAAoB7H,SAASzN,EAAEL,MAHZ8hC,EAKvD,CAACA,EAAoBnsB,IACxB,OAAO5T,kBACL,wBAAQe,EAQJ,CACFk/B,WAAY,CACVl8B,OAAO,UAAAy7B,GAAKzB,UAAL,eAAWh6B,QAASy7B,GAAK9G,MAAM30B,MACtC3F,KAAI,UAAEohC,GAAKzB,UAAP,aAAE,EAAW3/B,MAEnBy/B,cAAe,IACV2B,GACH/G,OAA8B,OAAvBmH,QAAuB,IAAvBA,OAAA,EAAAA,EAAyB3gC,KAC9BX,GAAKA,EAAED,MAAMY,KAAK+e,GAAKlf,IAAwB25B,MAAMx5B,KAAKkP,GAAK6P,EAAE7e,YAAYgP,OAC3EqxB,GAAK/G,WAAQpuB,EACjBquB,OAA8B,OAAvBkH,QAAuB,IAAvBA,OAAA,EAAAA,EAAyB3gC,KAC9BX,GAAKA,EAAED,MAAMY,KAAK+e,GAAKlf,IAAwB45B,MAAMz5B,KAAKkP,GAAK6P,EAAE7e,YAAYgP,OAC3EqxB,GAAK9G,WAAQruB,GAEnB6H,MAAO2tB,EAAa3tB,MAAMoH,QAAS8kB,IACjC,GAAI,UAAWA,EAAI,CACjB,MAAM8B,EAAM9B,EAAGlsB,MAAMpG,OAAOzD,IAAMA,EAAE83B,QAEpC,OAAsB,IAAfD,EAAI5zB,OAAe,GAAsB,IAC3C8xB,EACHlsB,MAAOguB,GAIX,OAAO9B,EAAG+B,OAAS,GAAsB/B,IAE3CgC,UACCP,EAAaO,UACdC,cAAc,UAAAR,EAAaQ,oBAAb,mBAA2BnuB,aAA3B,eAAkCjT,KAAKoJ,IAAMA,EAAE83B,SACzDN,EAAaQ,kBAAeh2B,EAChCtJ,qBACAu/B,qBAAsBN,GAAqB,GAC3CO,mBAAoB3iC,EACpB6qB,2BAzC2B,CAC3BwX,WAAY,CACV7hC,UAAMiM,EACNtG,MAAOw7B,IAET1B,cAAe,GACf0C,mBAAoB3iC,EACpB6qB,4BAoCF,CACEuX,EACAjC,EAAKngC,EACLiiC,EACA9+B,EACA0nB,EACAmX,KCzHOY,GAAe,EAC1BC,cACAC,cACAjiC,aACAgR,eAOA,MAAM,mBAAE1O,EAAF,mBAAsBw/B,GAAuBZ,KAEnD,OACE,kBAAC,GAAD,CAAelwB,SAAUA,GACvB,6BACE,kBAAC,GAAD,CAAOzR,IAAKS,EAAW,OAAQD,QAASiiC,EAAah4B,KAAK,UACxD,kBAACvK,GAAA,EAAD,CAAQmQ,KAAK,OAAO/Q,MAAOmB,EAAWN,QAAQC,OAC9C,yBAAK8K,IAAI,GAAGC,IAAKw3B,KAAkBx8B,MAAO,MAE5C,kBAAC,GAAD,KACG1F,EAAWJ,MAAMP,IAAKY,IAAD,aACpB,kBAAC,GAAD,CACEV,IAAKU,EAAK,OACVF,QAAS,KACP+hC,EAAmB9hC,EAAYC,GAC/BgiC,KAEFjyB,UAA4B,OAAlB1N,QAAkB,IAAlBA,GAAA,UAAAA,EAAoBrC,YAApB,eAA2B,WAA3B,OAAsCA,QAAtC,IAAsCA,OAAtC,EAAsCA,EAAO,QACvD+J,KAAK,UACJ/J,EAAKsC,YChCP4/B,GAAoB,EAC/BN,uBACAI,kBAKA,MAAOG,EAAeC,GAAoB52B,qBAE1C,OACE,kBAAC,GAAD,KACGo2B,EAAqBxiC,IAAI,CAACW,EAAYga,IACrC,kBAAC+nB,GAAD,CACExiC,IAAKS,EAAW,OAChBgR,SAAUoxB,IAAkBpoB,EAC5BgoB,YAAa,KACXK,EAAiBD,IAAkBpoB,EAAQ,KAAOA,IAEpDioB,YAAaA,EACbjiC,WAAYA,O,8CCVtB,MAAMsiC,GAAoC,CACxC,qBACA,uBACA,4BAGWC,GAAW,EACtBV,uBACAv/B,qBACAkgC,yBAUK,IAAD,EACJ,MAAOxF,EAAQC,GAAetC,IAAMlvB,UAAS,GACvCg3B,GAA+C,OAApBZ,QAAoB,IAApBA,OAAA,EAAAA,EAAsBh0B,QAAS,GAC7Dg0B,EAAqBvhC,KAAKT,GAAKA,EAAED,MAAMU,KACxCif,GAAK+iB,GAAkCh1B,SAASiS,EAAE5f,SAE9C,EAAEZ,GAAMC,cACd,OACE,kBAACy9B,EAAD,CACE/+B,MAAM,QACNi/B,WAAYM,EACZP,SAAUM,EACVH,gBACE,kBAAC,GAAD,KACE,kBAACp9B,GAAA,EAAD,CAAQ0Q,OAAyB,OAAlB7N,QAAkB,IAAlBA,OAAA,EAAAA,EAAoBC,OAAQ,GAAIqN,KAAK,OAAO/Q,MAAK,OAAEyD,QAAF,IAAEA,GAAF,UAAEA,EAAoB5C,eAAtB,aAAE,EAA6BC,OAC/F,yBAAK8K,IAAI,GAAGC,IAAKk1B,QAGrB,oCACE,kBAACuC,GAAD,CACEN,qBAAoB,OAAEA,QAAF,IAAEA,OAAF,EAAEA,EAAsBzsB,MAAM,EAAG,GACrD6sB,YAAa,IAAMhF,GAAY,KAEjC,kBAAC,GAAD,MACCwF,GACC,kBAAC,GAAD,CAAc1iC,QAASyiC,EAAoBx4B,KAAK,UAC9C,yBAAKS,IAAI,GAAGC,IAAKg4B,OAChB3jC,EAAE,oBAGP,kBAAC,GAAD,KACE,kBAAC,GAAD,CAAYmG,GAAG,uBAAuBnG,EAAE,mBACxC,kBAAC,GAAD,CAAYmG,GAAG,uBAAuBnG,EAAE,6BACxC,kBAAC,GAAD,CAAiBuG,MAAM,SACvB,kBAAC,GAAD,CAAYA,MAAM,YAAYJ,GAAG,WAC9BnG,EAAE,UACH,yBAAK0L,IAAI,GAAGC,IAAKi4B,YCrEhBC,GAAgB3lC,IAAO4lC,MAAO;;;;;;;;EAU9BxC,GAAMpjC,IAAOC,GAAI;sBACR,EAAGC,WAAYA,EAAMC,QAAQ+J,KAAK;;;;;;;;;;EAY3C27B,GAAS7lC,IAAOC,GAAI;;;;;;;;2BCV1B,MAAM6lC,GAAY,KAAO,IAAD,EAC7B,MAAM,WACJvB,EADI,cAEJpC,EAFI,UAGJuC,EAHI,aAIJC,EAJI,mBAKJt/B,EALI,qBAMJu/B,EANI,wBAOJ7X,EAPI,MAQJvW,GACEytB,KACJ,OACE,kBAAC,GAAD,KACE,0BAAMzS,QAAS+S,EAAWl8B,MAAO3F,KAAK,gBAEtC,kBAACu/B,GAAD,CACEC,QAASqC,EAAW7hC,KACpBy/B,cAAeA,EACf95B,MAAOk8B,EAAWl8B,QAEpB,kBAAC,GAAD,CAAKmO,MAAOA,IAEZ,kBAAC,GAAD,KACGkuB,GACC,kBAAC5B,GAAD,CAAQlkB,SAAU8lB,EAAU9lB,SAAUpN,YAAakzB,EAAUlzB,cAE9DmzB,GACC,kBAACnF,EAAD,CACE/+B,MAAM,QACN4H,MAAM,YACNu3B,gBACE,kBAAC,GAAD,KACE,yBAAKpyB,IAAI,GAAGC,IAAKs4B,OAChBpB,EAAa/iC,OAGlBtB,QAAQ,aATV,UAUGqkC,EAAanuB,aAVhB,aAUG,EAAoBpG,OAAOzD,IAAMA,EAAE83B,QAAU93B,EAAE+M,MAE7CtX,IAAIorB,GAAQ,kBAAC,IAAD,CAAMlrB,IAAKkrB,EAAK9T,KAAMzR,GAAIulB,EAAK9T,MAAO8T,EAAK5rB,SAG7DyD,GACC,kBAACigC,GAAD,CACEV,qBAAsBA,EACtBW,mBAAoBxY,EACpB1nB,mBAAoBA,OCxDnB2gC,GAAc,EAAGrsB,cAC5B,kBAACssB,GAAA,EAAD,KACE,kBAACH,GAAD,MACCnsB,G,cCRL,SAAS,KAA2Q,OAA9P,GAAWzW,OAAOylB,QAAU,SAAUC,GAAU,IAAK,IAAIjc,EAAI,EAAGA,EAAIkc,UAAUjY,OAAQjE,IAAK,CAAE,IAAImc,EAASD,UAAUlc,GAAI,IAAK,IAAIrK,KAAOwmB,EAAc5lB,OAAO6lB,UAAUC,eAAeC,KAAKH,EAAQxmB,KAAQsmB,EAAOtmB,GAAOwmB,EAAOxmB,IAAY,OAAOsmB,IAA2BM,MAAM3B,KAAMsB,WAIhT,IAAI,GAAoB,IAAMO,cAAc,IAAK,CAC/CC,SAAU,UACV/gB,KAAM,QACQ,IAAM8gB,cAAc,OAAQ,CAC1CzgB,EAAG,oFACY,IAAMygB,cAAc,OAAQ,CAC3CzgB,EAAG,wUACY,IAAMygB,cAAc,OAAQ,CAC3CzgB,EAAG,qHACY,IAAMygB,cAAc,OAAQ,CAC3CzgB,EAAG,uDACY,IAAMygB,cAAc,OAAQ,CAC3CzgB,EAAG,wOACY,IAAMygB,cAAc,OAAQ,CAC3CzgB,EAAG,wLACY,IAAMygB,cAAc,OAAQ,CAC3CzgB,EAAG,yLAGD,GAAqB,IAAMygB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,WAAY,CACtG7mB,GAAI,KACU,IAAM6mB,cAAc,OAAQ,CAC1C9gB,KAAM,OACNK,EAAG,gCAGL,MAAM,GAAU,EACd6gB,SACA5nB,WACGwF,KACc,IAAMgiB,cAAc,MAAO,GAAS,CACrD9gB,KAAM,OACNE,QAAS,YACTyF,IAAKub,GACJpiB,GAAQxF,EAAqB,IAAMwnB,cAAc,QAAS,KAAMxnB,GAAS,KAAM,GAAM,IAElF,GAA0B,IAAM8nB,WAAW,CAACtiB,EAAO6G,IAAqB,IAAMmb,cAAc,GAAS,GAAS,CAClHI,OAAQvb,GACP7G,KACY,Q,iDCxCR,MAgBM8+B,GAAS,CAAEn5B,KAAMC,M,aCoFfm5B,OAvFD,KACZ,MAAM,EAAErkC,GAAMC,cACR2F,EAAWC,cACXy+B,EAAInkC,cACJokC,EAAaC,sBACbC,EAAgBD,uBACfE,EAAcC,GAAmBj4B,mBAAS,KAC1Ck4B,EAAWC,GAAan4B,oBAAS,IAGjCo4B,EAAWC,GAAgBr4B,oBAAS,GAmB3C,OACE,kBAAC,KAAD,KACE,kBAAC,KAAD,CAAkBy0B,SAnBJlzB,IAChBA,EAAEC,iBACF,MAAMkH,EAAU,CACd5P,MAAO++B,EAAWjG,QAAQ1xB,MAC1Bqb,SAAUwc,EAAcnG,QAAQ1xB,MAChCo4B,QAASF,GAIX,OADAD,GAAU,GACHj/B,EDlCU,GAAGJ,QAAOyiB,YAAYgd,IAAOr/B,GAAYs/B,aAAS1/B,EAAOyiB,GAC3EtkB,KAAKG,IACJ,MAAM,MAAEykB,EAAF,aAASvT,GAAiBlR,EAWhC,OAVA8B,EAAS,CACPqF,KAAMC,KACNkK,QAAS,CACP5P,QACAnC,UAAWklB,EACXvT,kBAIAiwB,GAAIA,EAAGnhC,GACJA,ICqBSqhC,CAAkB/vB,IAC/BzR,KAAK,IAAM2gC,EAAE,MACbvgC,MAAM,KACL4gC,EAAgB3kC,EAAE,sBAClB6kC,GAAU,OAOV,kBAAC,KAAD,KACE,kBAAC,KAAD,KACG7kC,EAAE,WACH,kBAAC,GAAD,OAGF,kBAACiM,GAAA,EAAD,CACE0C,aAAa,QACb3K,MAAO0gC,EACPjkC,GAAG,QACH2L,SAAUm4B,EACV70B,YAAa1P,EAAE,iBACfuP,UAAQ,EACRb,MAAO,CAAE02B,aAAc,UACvBn6B,KAAK,UAGP,kBAACgB,GAAA,EAAD,CACE0C,aAAa,WACb3K,MAAO0gC,EACPjkC,GAAG,WACH2L,SAAUq4B,EACV/0B,YAAa1P,EAAE,YACfuP,UAAQ,EACRtE,KAAK,aAGP,kBAAC,KAAD,KACE,kBAAC,KAAD,KACGy5B,GACC,kBAAC,KAAD,KAAgBA,GAElB,kBAAC,KAAD,KACE,kBAAC,IAAD,CAAMv+B,GAAG,WAAWnG,EAAE,sBAI1B,kBAAC0X,GAAA,EAAD,CAAYC,GAAG,SAASnI,UAAWo1B,EAAW35B,KAAK,UACpCjL,EAAZ4kC,EAAc,QAAa,gBAIhC,kBAAC,KAAD,KACE,kBAACvlB,GAAA,EAAD,CAAcC,QAASwlB,EAAWz3B,SAAU,IAAM03B,GAAcD,KAEhE,kBAAC,KAAD,KAAS9kC,EAAE,2BAIf,kBAACqlC,GAAA,EAAD,S,4BClEOC,OArBA,KACb,MAAM1/B,EAAWC,eACX,OAAE4kB,GAAWC,eAgBnB,OAdAkR,IAAM91B,gBACJ,KACEF,EAASu/B,IACTv/B,EAAS2/B,MACT3/B,EAAS+kB,aAAc,OACvBF,EACE,KAAM,OACN5d,EACA,CAAEie,YAAY,EAAOC,eAAe,KAGxC,CAACnlB,EAAU6kB,IAGN,kBAAC,IAAD,CAAUtkB,GAAG,YCpBtB,MAEMq/B,GAA8B5hC,SAA6D,SAAjD6hC,eAAeC,QAAQ,sBAE1DC,GAA8B,EACzC9tB,eAEA,MAAQ/T,KAAM8hC,GAAW/rB,aAAO,oBAAqB2rB,GAA6B,CAAEjb,SAAU,KAAM,IACpG,OAAyE1S,GCN5DguB,OARE,IACf,8BACE,wBAAIn3B,MAAO,CAAEnI,MAAO,MAAOupB,SAAU,SAArC,wB,6BCFG,MAAMrwB,GAAkBvB,IAAOC,GAAI;;;;;;;;ECW7B2nC,GAAY,EACvBC,qBAIK,IAAD,MACJ,MAAM,iBAAE3lC,GAAqBC,cACvBH,EAAWC,cAEX0b,EAAG,OAAGkqB,QAAH,IAAGA,OAAH,EAAGA,EAAgBlqB,IAE5B,OACE,kBAAC,KAAD,CACEmqB,gBAAe,OAACnqB,QAAD,IAACA,GAAD,UAACA,EAAK/X,YAAN,iBAAC,GAAe,OAAH+X,QAAG,IAAHA,OAAA,EAAAA,EAAK/X,KAAKgL,QAAS,UAAhC,aAAC,EAAmCyL,UACnD0rB,iBACE,yBAAKv3B,MAAO,CACVkhB,QAAS,OAAQsW,aAAc,SAAUrM,eAAgB,SAAUpzB,OAAQ,SAE3E,kBAAC,KAAD,CAAQoK,KAAK,QAGjBgL,IAAKkqB,EAAelqB,KACpB,2CAEGA,QAFH,IAEGA,GAFH,UAEGA,EAAK/X,YAFR,aAEG,EAAWgY,QAAQjV,GAAKA,EAAE/C,MAAMxD,IAAKQ,GACpCA,GACE,kBAAC,GAAD,CAAmBN,IAAKM,EAAEL,IACxB,kBAACC,GAAA,EAAD,CAAQZ,MAAOgB,EAAEF,OACjB,kBAACG,GAAA,EAAD,eACEP,IAAKM,EAAE,QACHA,EAFN,CAGEE,QAAS4C,gBACDxD,EACJ,CAEEO,QAAS,CACPF,GAAE,OAAEK,QAAF,IAAEA,OAAF,EAAEA,EAAGL,GACPG,KAAI,OAAEE,QAAF,IAAEA,OAAF,EAAEA,EAAGF,KACT,aAAOE,QAAP,IAAOA,OAAP,EAAOA,EAAI,QAEb8pB,SAAU,cACVpnB,KAAM,SACN4N,MAAO,SACPxE,MAAO,UAET,CACEhM,KAAM,cACN4C,KAAM,WAGHtD,EAAS,SAElBsD,KAAK,oB,cC/Dd,MAAMqI,GAAiB3N,IAAOC,GAAI;;;;;WAK9B,EAAGC,WAAYA,EAAMC,QAAQC,KAAK;EAGhC6nC,GAAajoC,IAAOkT,KAAM;;EAI1Bg1B,GAAaloC,IAAOyB,IAAK;;EAIzB0mC,GAAkBnoC,IAAOyB,IAAK;;;EAK9BiuB,GAAe1vB,IAAOC,GAAI;;;;;;;;;EAW1BmoC,GAAepoC,IAAOgO,KAA2B;;sBAExC,EAAG9N,WAAYA,EAAMC,QAAQC,KAAK;;;;WAI7C,EAAGF,WAAYA,EAAMC,QAAQC,KAAK;;;;;;;;;;;;;;IAczC,EAAGioC,cAAeA,GAAYvnC,GAAI;;;EC1CzBiN,GAA8B,EACzCmF,QAAOo1B,aAAYxiC,WAAUsB,KAE7B,kBAAC,GAAD,KACG8L,GAAS,kBAAC,GAAD,KAAeA,GACzB,kBAAC,GAAD,KACkB,WAAf9L,EAAM2F,MAAqB,yBAAKS,IAAI,SAASC,IAAK01B,OACnD,kBAAC,GAAD,iBAAoB/7B,EAApB,CAA2BihC,SAAyB,WAAfjhC,EAAM2F,SAE5Cu7B,GAAc,kBAAC,GAAD,KAAoBA,GAClCxiC,GAAS,kBAAC,GAAD,KAAeA,I,2BCF7B,MA4IayiC,GAAyBrhC,YA5Ib,KAAO,IAAD,EAC7B,MAAM,EAAEpF,GAAMC,cACR2F,EAAWC,eACV6gC,EAAYC,GAAiBj6B,mBAAS,MACvC4L,EAAiBC,eACjB,mBAAEhV,GAAuBlD,cACzBumC,GAAsBtuB,GAErBuuB,EAAuBC,GAA4Bp6B,mBAAS,KAC5Dq6B,EAAoBC,GAAyBt6B,mBAAS,IAEvDu6B,GAAmC1jC,IAAD,OAAuB+U,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAgB/W,KAAKT,GAAKA,EAAED,MAAMY,KAAK+e,GAAKA,EAAE7e,YAAY,kCAEnHulC,EC1BmB,EAAIt6B,EAAUu6B,KACvC,MAAOC,EAAgBC,GAAqB36B,mBAAYE,GAYxD,OAVAxC,oBAAU,KACR,MAAMk9B,EAAUC,WAAW,KACzBF,EAAkBz6B,IACjBu6B,GAAS,KAEZ,MAAO,KACLK,aAAaF,KAEd,CAAC16B,EAAOu6B,IAEJC,GDa6BK,CAAYV,EAAoB,KAC9DhB,EAAiBvrB,aAAa,CAClC,cAAe,MACfktB,cAAa,OAAET,QAAF,IAAEA,GAAF,UAAEA,EAAiCtmC,eAAnC,aAAE,EAA0CF,GACzDG,KAAMsmC,GACL,CACDzsB,MAAOwsB,EACPU,gCAAgC,IAG5BC,EAAc,OAAGrkC,QAAH,IAAGA,OAAH,EAAGA,EAAoBC,KAE3C4G,oBAAU,KACqC,IAAD,IACkC,QADzEw9B,GAAmBhB,GACS,KAAb,OAAdtuB,QAAc,IAAdA,OAAA,EAAAA,EAAgBxJ,SAAqD,KAArC,UAAAwJ,EAAe,UAAf,mBAAmBzX,aAAnB,eAA0BiO,SAC5DlJ,EACE+kB,aAAc,IACTrS,EAAe,GAClBsS,SAAQ,UAAEtS,EAAe,UAAjB,iBAAE,EAAmBzX,MAAM,UAA3B,aAAE,EAA6BD,KACvC4C,KAAI,UAAE8U,EAAe,UAAjB,iBAAE,EAAmBzX,MAAM,UAA3B,aAAE,EAA6B2C,SA+B1C,CAAC8U,EAAgBsvB,EAAgBhB,IAEpC,MAAMiB,EAAU,IAAMlB,EAAc,MAE9BmB,EAAoB,CAAC75B,EAAGhD,KAC5B,MAAM88B,EAAY95B,EAAE6Y,OAAOla,OAAS,GACvB,SAAT3B,EACF67B,EAAyBiB,EAAUC,QAEnChB,EAAsBe,EAAUC,SAI9BnoC,EAAc2C,kBAClB,IAAOqkC,EAAqB,OACxBvuB,QADwB,IACxBA,OADwB,EACxBA,EAAgBhK,OAAQxN,IAAD,sBAAOA,QAAP,IAAOA,GAAP,UAAOA,EAAGH,eAAV,iBAAO,EAAYC,YAAnB,aAAO,EAAkBoc,cAAczO,SAAhC,OAC9Bs4B,QAD8B,IAC9BA,OAD8B,EAC9BA,EAAuB7pB,iBACvB1E,EACJ,CAACA,EAAgBuuB,IAGnB,OACE,kBAAC,IAAD,CAAa9kC,QAAS,GAAI6kC,IACvBtuB,IAAgC,OAAdA,QAAc,IAAdA,OAAA,EAAAA,EAAgBxJ,SAAU,IAAMm4B,EACjD,kBAAC,KAAD,KACE,kBAAC,KAAD,CACEpnC,YAAaA,EACbC,MAAOE,EAAE,0DAIb,kBAAC,KAAD,KACE,6BACE,kBAAC,KAAD,KACE,kBAAC,KAAD,KAAUA,EAAE,qBACZ,kBAAC,GAAD,iBACM0mC,EADN,CAEEjmC,GAAG,OACHG,KAAK,OACLyM,SAAWY,GAAM65B,EAAkB75B,EAAG,QACtC45B,QAASA,EACTn4B,YAAa1P,EAAE,kBACfiL,KAAK,aAGT,kBAAC,KAAD,KACE,kBAAC,KAAD,CAAgBpL,YAAaA,QAG9BonC,GACD,6BACE,kBAAC,IAAD,CAAallC,QAAS,IACpB,kBAAC,KAAD,KACE,kBAAC,KAAD,KAAU/B,EAAE,iCACZ,kBAAC,GAAD,iBACM0mC,EADN,CAEEjmC,GAAG,UACHG,KAAK,UACLyM,SAAWY,GAAM65B,EAAkB75B,EAAG,WACtC45B,QAASA,EACTn4B,YAAa1P,EAAE,kBACfiL,KAAK,aAGT,kBAAC,KAAD,KACE,kBAAC66B,GAAD,CAAWC,eAAgBA,W,0CE9ItC,MA4BMkC,GAA6B,KA5BT,MAC/B,MAAM,aAAEjzB,EAAF,kBAAgBE,GAAsBzP,YAAaC,GAAUA,EAAMtC,MACnEwC,EAAWC,cAEjBuE,oBAAU,KACJ4K,GAAsC,cAAtBE,IAClBtP,EAAS,CAAEqF,KAAMkjB,OACjBtF,KAAM3I,KACH,4CACD,CAAElL,iBACFrR,KAAK2Y,IAAG,eAAI1W,EAAS,CACrBqF,KAAMgjB,KACN7Y,QAAS,CACP/R,UAAS,OAAEiZ,QAAF,IAAEA,GAAF,UAAEA,EAAKxY,YAAP,aAAE,EAAWykB,MACtBvT,aAAY,OAAEsH,QAAF,IAAEA,GAAF,UAAEA,EAAKxY,YAAP,aAAE,EAAWkR,kBAEzBjR,MAAMkK,IAAM,IAAD,EACb,GAA4B,OAAvB,OAADA,QAAC,IAADA,GAAA,UAAAA,EAAGxJ,gBAAH,eAAatC,QACf,OAAOmC,OAAO4jC,QAAQC,UAAU,GAAI,GAAI,WAI1C,MAFAlkC,QAAQD,MAAMiK,GACdrI,EAAS,CAAEqF,KAAMmjB,OACXngB,MAGT,CAACrI,EAAUoP,EAAcE,KAI5BkzB,GAEO,MCxBWC,QACW,cAA7B/jC,OAAOiB,SAAS+iC,UAEkB,UAA7BhkC,OAAOiB,SAAS+iC,UAEhBhkC,OAAOiB,SAAS+iC,SAASC,MAC1B,2DCqBN,MAAMC,GAAS3M,eAAK,IAAM,gCACpB4M,GAAQ5M,eAAK,IAAM,gCAEnB6M,GAAmBtjC,YAAY,IACnC,kBAAC,IAAD,KACGhE,OAAOC,QAAQq6B,GACbp7B,IAAI,EAAEE,GAAOwX,eAAc2jB,WAAYgN,EAAY7M,uBAClD,kBAAC,IAAD,CAAOt7B,IAAKA,EAAKmE,QAAS,kBAACoT,EAAA,EAAD,CAAgBG,SAAS,oBAAoBE,SAAU0jB,EAAkB9jB,aAAcA,KAC/G,kBAAC,IAAD,CAAOrT,QAAS,kBAACgkC,EAAD,MAAgBC,KAAO,IAAGpoC,UAIhD,kBAAC,IAAD,CAAOmE,QAAS,kBAAC8hC,GAAD,MAA4BmC,KAAK,KAEjD,kBAAC,IAAD,CACEC,UAAW1+B,IACXy+B,KAAK,kBAGP,kBAAC,IAAD,CAAOC,UAAWhD,GAAU+C,KAAK,QAK/BE,GAAe,IACnB,oCACE,kBAAC,IAAD,MACA,kBAAC,IAAD,OAIEC,GAASC,YAAoBC,YACjC,kBAAC,IAAD,CAAOtkC,QAAS,kBAACmkC,GAAD,OACd,kBAAC,IAAD,CAAOD,UAAWxE,GAAOuE,KAAK,WAC9B,kBAAC,IAAD,CAAOC,UAAWvD,GAAQsD,KAAK,YAC/B,kBAAC,IAAD,CAAOC,UAAWL,GAAQI,KAAK,YAC/B,kBAAC,IAAD,CAAOC,UAAWJ,GAAOG,KAAK,oBAC9B,kBAAC,IAAD,CACEjkC,QACE,kBAACu/B,GAAD,KACE,kBAAClH,EAAD,MACA,kBAAC,WAAD,CAAU5kB,SAAU,kBAACwhB,EAAA,EAAD,OAClB,kBAAC8O,GAAD,QAINE,KAAK,UAMEM,GACX,oCACE,kBAAC9M,EAAD,MACA,kBAACU,EAAD,KACE,kBAAC,IAAD,CAAe1+B,MAAOA,GACpB,kBAACunC,GAAD,KACE,kBAAC,IAAD,CAAUziC,MAAOA,MACf,kBAAC,IAAD,CAAahB,QAAS,kBAAC03B,EAAA,EAAD,MAAapiB,UAAWA,MAC5C,kBAACywB,GAAD,MAEA,kBAAC,WAAD,CAAU7vB,SAAU,kBAACwhB,EAAA,EAAD,OAElB,kBAAC,IAAD,CAAgBmP,OAAQA,SAOhC,kBAAC,EAAD,SAKRI,iBAAOD,GAAc1K,SAAS4K,eAAe,SDWvC,kBAAmBC,WACrBA,UAAUC,cAAcC,MAAM5lC,KAAM6lC,IAClCA,EAAaC,gB,gCEjInB,2JAQA,MAAMC,EAAe18B,IACnBwU,IAAQmoB,eAAe38B,EAAQ8S,IAC7B,GAAIA,EAAK,MAAM,IAAI+E,MAAM,gCAG3BzV,SAAcpC,IAGH9G,EAAU,CAAC8E,EAAWxF,EAAO6P,IAAoBzP,IAE5D,MAAMtC,EAAOtB,IAAET,KAAKyJ,EAAW4B,IAAK,aAAU,OAALA,QAAK,IAALA,GAAA,UAAAA,EAAOpH,aAAP,eAAcnB,QAAQ,OAAK,KAAK2Y,kBAAhC,OAAkDxX,QAAlD,IAAkDA,OAAlD,EAAkDA,EAAOwX,kBAE5F,OACJhQ,EADI,KACIpM,EADJ,GACUH,EADV,SACcynB,EADd,aAEJ0hB,EAFI,WAEUC,EAFV,SAEsB7nB,EAFtB,cAEgC8nB,EAFhC,eAE+CC,EAF/C,UAE+Dne,GACjEtoB,GAAQ,GAEZomC,EAAa18B,GAERqI,GAAiBzP,EAASmF,YAAWC,IAE1CpF,EAAS,CACPqF,KAAMC,IACNkK,QAAS,CACP8S,WACA1iB,MAAO0iB,EACPlb,SACApM,OACAH,KACAmpC,eACAC,aACA7nB,WACA8nB,gBACAC,iBACAne,gBAKOY,EAAYpX,KACvB,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAASpI,SAAQ08B,EAAat0B,EAAQpI,QAEnC,CACL/B,KAAMC,IACNkK,YAISuV,EAAiBpnB,IAAD,CAC3B0H,KAAMC,IACNkK,QAAS,CAAE7R,yB,kKC1Db,SAASqjB,IAA2Q,OAA9PA,EAAWxlB,OAAOylB,QAAU,SAAUC,GAAU,IAAK,IAAIjc,EAAI,EAAGA,EAAIkc,UAAUjY,OAAQjE,IAAK,CAAE,IAAImc,EAASD,UAAUlc,GAAI,IAAK,IAAIrK,KAAOwmB,EAAc5lB,OAAO6lB,UAAUC,eAAeC,KAAKH,EAAQxmB,KAAQsmB,EAAOtmB,GAAOwmB,EAAOxmB,IAAY,OAAOsmB,IAA2BM,MAAM3B,KAAMsB,WAIhT,IAAIM,EAAoB,IAAMC,cAAc,OAAQ,CAClDzgB,EAAG,gBACHghB,OAAQ,UACRC,cAAe,UAGbN,EAAqB,IAAMF,cAAc,OAAQ,CACnDsY,SAAU,UACVC,SAAU,UACVh5B,EAAG,8MACHL,KAAM,YAGJwjC,EAAqB,IAAM1iB,cAAc,OAAQ,CACnDsY,SAAU,UACVC,SAAU,UACVh5B,EAAG,8MACHghB,OAAQ,YAGV,MAAMoiB,EAAU,EACdviB,SACA5nB,WACGwF,KACc,IAAMgiB,cAAc,MAAOV,EAAS,CACrDjgB,MAAO,GACPF,OAAQ,GACRC,QAAS,YACTF,KAAM,OACN2F,IAAKub,GACJpiB,GAAQxF,EAAqB,IAAMwnB,cAAc,QAAS,KAAMxnB,GAAS,KAAMunB,EAAMG,EAAOwiB,GAEzFriB,EAA0B,IAAMC,WAAW,CAACtiB,EAAO6G,IAAqB,IAAMmb,cAAc2iB,EAASrjB,EAAS,CAClHc,OAAQvb,GACP7G,KACY,Q,iBClBR,MAAMsK,EAAcs6B,GACCr6B,eACxB,EACEjP,OACAupC,QACAC,kBACA3pC,KACA4L,cACAwL,WACA3L,QACAm+B,OACAC,gBAAgB,QAEbppB,MACE,IAAD,MACJ,MAAM,EAAElhB,GAAMC,cACR2E,EAAYhE,IAAI,OAAIsL,QAAJ,IAAIA,OAAJ,EAAIA,EAAOtL,OAAQH,EACnC6E,EAAQ4b,EAEd,IAAIqpB,EAAQ,iBAAGl+B,QAAH,IAAGA,OAAH,EAAGA,EAAa+E,aAAhB,QACNpR,EAAK4E,EAAF,UAAqByd,SAAS,UACjCioB,EACAtqC,EAAK4E,EAAF,UAELwlC,GAAmBD,IAASI,EAAWvqC,EAAKoqC,EAAF,SAA2BD,IAEzE,MAAMK,EAAO,iBAAGn+B,QAAH,IAAGA,OAAH,EAAGA,EAAao+B,YAAhB,QACPzqC,EAAK4E,EAAF,SAAoByd,SAAS,SAChC,KACAriB,EAAK4E,EAAF,SAEH8lC,EAAaF,GACjB,kBAAC,IAAD,CAAMG,KAAI,OAAEN,QAAF,IAAEA,OAAF,EAAEA,EAAMO,QAChB,kBAAC,IAAD,CAAMrxB,KAAMixB,KAKVK,EAAcN,GAClB,kBAAC,IAAD,wBAAWjlC,QAAX,IAAWA,OAAX,EAAWA,EAAOwlC,WAAlB,CAA8BvrB,QAAS3a,IACpC2lC,EACAC,GAAW,kBAAC,EAAD,QACX,OAACllC,QAAD,IAACA,OAAD,EAACA,EAAOioB,iBACP,kBAAC,IAAD,KACGmd,IAKHh7B,EAAcpK,EAAMoK,cAAN,iBACdrD,QADc,IACdA,OADc,EACdA,EAAaqD,mBADC,QAEZ1P,EAAK4E,EAAF,gBAA2Byd,SAAS,qBACvCxV,EACA7M,EAAK4E,EAAF,iBAUX,OARIsH,IAAO5G,EAAM4G,MAAQA,GACrBm+B,IAAM/kC,EAAM+kC,KAAOA,GACnBzlC,IACFU,EAAM1E,KAAOgE,EACbU,EAAM7E,GAAKmE,GAET8K,IAAapK,EAAMoK,YAAcA,GAGnC,kBAAC,IAAD,OACMpK,QADN,IACMA,OADN,EACMA,EAAOylC,aACX,kBAAC,IAAD,KAAQF,GAER,kBAAC,IAAD,CAAcvxB,WAAe,OAAJ+wB,QAAI,IAAJA,OAAA,EAAAA,EAAMW,WAAN,OAAiBX,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAMrmC,OAAQ,UAAY,IAClE,kBAAC,IAAD,CAAUupB,eAAc,OAAEjoB,QAAF,IAAEA,OAAF,EAAEA,EAAOioB,gBAC/B,kBAAC2c,EAAS5kC,EAAQuS,MAGnB,OAACvS,QAAD,IAACA,OAAD,EAACA,EAAOioB,iBAEP,kBAAC,IAAD,MACQ,OAALjoB,QAAK,IAALA,OAAA,EAAAA,EAAO2lC,UAAP,OACI3lC,QADJ,IACIA,OADJ,EACIA,EAAO2lC,aAKb,OAAJZ,QAAI,IAAJA,OAAA,EAAAA,EAAMW,WAAN,OAAiBX,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAMrmC,QACtB,kBAAC,IAAD,MAAqB,OAAJqmC,QAAI,IAAJA,OAAA,EAAAA,EAAMW,WAAN,OAAiBX,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAMrmC,WAUvCknC,EAAgBr7B,eAC3B,EACEjP,OACAuqC,kBACA1qC,KACA4L,cACAwL,WACA3L,QACAm+B,OACAe,uBAEGlqB,MACE,IAAD,EACJ,MAAM,EAAElhB,GAAMC,cACR2E,EAAYhE,IAAI,OAAIsL,QAAJ,IAAIA,OAAJ,EAAIA,EAAOtL,OAAQH,EACnC6E,EAAQ4b,EAQd,MAAMmqB,EAAO,iBAAGh/B,QAAH,IAAGA,OAAH,EAAGA,EAAazL,YAAhB,QACPZ,EAAK4E,EAAF,QAAoBwmC,GAAmB/oB,SAAS,SANhDriB,EAAK4E,EAAF,SAAqBwmC,GAAmB/oB,SAAS,UACvD,KACAriB,EAAK4E,EAAF,SAAqBwmC,GAMxBprC,EAAK4E,EAAF,QAAoBwmC,GAEvBP,GAAeQ,KAAaF,IAChC,kBAAC,IAAD,wBAAmB7lC,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAOwlC,WAA1B,CAAsCvrB,QAAS3a,GAAaumC,IACzDE,GAAWF,GAUhB,OANIj/B,IAAO5G,EAAM4G,MAAQA,GACrBtH,IACFU,EAAM1E,KAAOgE,EACbU,EAAM7E,GAAKmE,GAIX,kBAAC,IAAD,OAAkBU,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAOylC,aACvB,kBAAC,IAAD,KAAQF,GAER,kBAAC,IAAD,KAAehzB,MAeVyzB,GANqBz7B,eAAK,EAAGjP,OAAM8K,MAAKC,SACnD,kBAACu/B,EAAD,CAAetqC,KAAMA,GAClB+K,EAAM,yBAAKD,IAAKA,EAAKC,IAAKA,EAAK+C,MAAO,CAAE68B,SAAU,OAAY,MAI1C,EAAGn6B,QAAOyG,cACjC,yBAAKnJ,MAAO,CAAE02B,aAAc,WAC1B,kBAAC,IAAD,KAAch0B,GACd,kBAAC,IAAD,KAAiByG,KAINjI,MAAW,EAAGiI,cAAeA,I,sGClLrC,MAAM2zB,EAAkBttC,IAAOC,GAAI;;;;;;;;;;;;;;;ECY7BuC,GDKcxC,IAAOuN,GAAsB;;;WAG5CnG,GAAUA,EAAMuL;YACfvL,GAAUA,EAAMuL;;ECTP,EACpBA,OAAO,OAAQ/Q,QAAOsR,WAEtB,kBAAC,EAAD,KACE,kBAAC,IAAD,CAAaxQ,KAAMd,EAAO2rC,OAAK,EAAC56B,KAAMA,IACtC,8BAAOO,GAAStR,M,gCCnBpB,sGAAO,MAAM4rC,EAAS,cACTC,EAAmB,mBACnBC,EAAQ,iB,gCCFrB,sGAAO,MAAMC,EAAW,WACXC,EAAc,cACdC,EAAsB,uB,iJCC5B,MAAMC,EAGR,EAAGC,QAAQ,EAAGC,eACjB,kBAACjtC,EAAD,CAASitC,UAAWA,GACjBC,MAAM9lC,KAAK,CAAEyI,OAAQm9B,IAAS3rC,IAAI,CAAC0B,EAAG6I,IACrC,kBAACiF,EAAD,CAAWtP,IAAKqK,EAAE6Q,eAKlBzc,EAAUf,IAAOC,GAA6B;;;;;;IAMhD,EAAG+tC,eAAgBA,GACf;EAKFp8B,EAAY5R,IAAOC,GAAI;;;;;;;;;;;;;;;;;;;;;;;;ECpBhBiuC,EAAeluC,IAAOC,GAA4B;;;;aAIlD,EAAG0S,OAAO,QAAqB,OAATA,EAAgB,OAAS;cAC9C,EAAGA,OAAO,QAAqB,OAATA,EAAgB,OAAS;;YAEjD,EAAGA,OAAO,QAAqB,OAATA,EAAgB,OAAS;;;;;;2BAMhC,EAAGzS,WAAYA,EAAMC,QAAQ+J,KAAK;kBAC3C,EAAGyI,OAAO,QAAqB,OAATA,EAAgB,MAAQ;;;;;;;;;;;;;;;;;;;;;;;;EA0B1Dw7B,EAAsBnuC,IAAOC,GAAI;;;;;;;;;;;;EAcjCmuC,EAA0CpuC,IAAOC,GAAI;;;;;EAO9CouC,EAAiC,IAC5C,kBAACD,EAAD,KACE,kBAACE,EAAD,CAAQ37B,KAAK,QAIJ27B,EAKR,EACH37B,OAAO,KAAM5F,OAAO,UAAWghC,QAAQ,EAAGC,aAAY,KAEzC,OAATr7B,EACK,kBAACu7B,EAAD,CAAcv7B,KAAMA,IAGhB,YAAT5F,EACK,kBAAC+gC,EAAD,CAAeC,MAAOA,EAAOC,UAAWA,IAI/C,kBAACG,EAAD,CAAqB/yB,UAAU,UAC7B,kBAAC,IAAD,MACA,kBAAC8yB,EAAD,CAAcv7B,KAAMA,M,gCC5F1B,mKA0BA,MAAM47B,EAAsC,CAAE/3B,MAAO,IAE/CyvB,EAAqBvI,IAAM8Q,cAM9B,CACDrK,aAAcoK,EACdE,gBAAiB,IAAM,KACvBC,yBAA0B,GAC1BC,6BAA8B,IAAM,OAGzBvK,EAAwB,IAAMwK,qBAAW3I,GAEzCnrB,EAAqB,CAACqD,EAA6B0wB,KAAsB,IAAD,EACnF,MAAM,gBAAEJ,GAAoBrK,IACtB0K,EAAO,UAAGC,YAAgB,WAAnB,aAAG,EAAqB7mC,SAG/B8mC,EAAe1qC,kBAAQ,IAAM6Z,EAAQ0wB,GAAQ,IAEnD3iC,oBAAU,KAINuiC,EAHGO,EAGa,IACXA,EACHx4B,MAAOw4B,EAAax4B,MAAMpU,IAAIsgC,GACxB,SAAUA,EACLA,EAAGhpB,KAAKyC,WAAW,KAAOumB,EAAK,IACjCA,EACHhpB,KAAO,GAAEo1B,KAAWpM,EAAGhpB,QAGpB,IACFgpB,EACHlsB,MAAOksB,EAAGlsB,MAAMpU,IAAIoiC,GAAQA,EAAI9qB,KAAKyC,WAAW,KAAOqoB,EAAO,IACzDA,EACH9qB,KAAO,GAAEo1B,KAAWtK,EAAI9qB,YAfhB60B,IAqBjB,CAACS,EAAcP,EAAiBK,KAGxBG,EAAqC,CAChDC,EACAzwB,EAA8E,MAE9E,MAAM,6BAAEkwB,GAAiCvK,IACnC/8B,EAAWhD,cAEX6D,EAAWuW,EAAQ0wB,eACrB1wB,EAAQ2wB,SAAW/nC,EAASa,SAASmnC,QAAS,GAAE5wB,EAAQ2wB,UAAc,EACtE/nC,EAASa,SAASiQ,MAAM,EAAG9Q,EAASa,SAASmnC,QAAS,GAAE5wB,EAAQ2wB,SAAajjB,OAAO1N,EAAQ2wB,SAASx+B,QACrG,OACDvJ,EAASa,SACNqU,EAAOkC,EAAQlC,OAAQ,EAEvB+yB,EAAc1yB,KAAKC,UAAUqyB,GACnChjC,oBAAU,KACR,GAAIqQ,EACF,OAEF,MAAMgzB,EAAwC3yB,KAAKM,MAAMoyB,GAAe,QACxEX,EAA6Ba,IAC3B,IAAKD,EAAQ,CACX,MAAMxnC,EAAS,IACVynC,GAGL,cADOznC,EAAOG,GACPH,EAET,MAAO,IACFynC,EACH,CAACtnC,GAAWqnC,MAWf,CAACD,EAAapnC,EAAUymC,EAA8BpyB,KAG9CkzB,EAA6B,EAAG91B,eAC3C,MAAOwqB,EAAcsK,GAAmB/Q,IAAMlvB,SAAuB,CAAEgI,MAAO,MACvEk4B,EACLC,GAAgCjR,IAAMlvB,SAAwC,IAE1EkhC,EAAeprC,kBACnB,MACE6/B,eAAcsK,kBAAiBC,2BAA0BC,iCAE3D,CACExK,EACAsK,EACAC,EACAC,IAGJ,OACE,kBAAC1I,EAAmB0J,SAApB,CAA6BjhC,MAAOghC,GACjC/1B,K,mBC1IPzM,EAAOC,QAAU,IAA0B,0C,gCCA3C,iHAEO,MAAMX,EAAiB1L,GAAI;;;;;;;;;;;;;;;;;;;;;EAuBrB8uC,EAAsB9uC,GAAI;;;;;;;;;;;;;;;;;;;;;;EAwB1B+uC,EAAmB7vC,IAAO6P,CAGpC;IACC,EAAGvP,aAA2B,YAAZA,EAAwBkM,EAAiBojC;;IAE3D,EAAGh2B,eAAgBA,GAChB9Y,GAAI;;;EAKEwL,EAAetM,IAAOW,MAIhC;IACC,EAAGL,aAA2B,YAAZA,EAAwBkM,EAAiBojC;;;;;IAK3D,EAAGh2B,eAAgBA,GAChB9Y,GAAI;;;;IAIP,EAAGuH,WAAsB,WAAVA,GACZvH,GAAI;eACI,EAAGZ,WAAYA,EAAMC,QAAQoK,IAAI;;;;;;mCC1EhD,iEAEO,MAAM0iB,EAAkBlqB,GAA4BmoB,IAAIrmB,IAA8C,eAAgB,CAE3HymB,mBAAoBvoB,IAEnB0C,KAAK2Y,GAAOA,EAAIxY,KAAKA,KAAKnC,e","file":"static/js/main.a8e8b4cd.chunk.js","sourcesContent":["import { Link } from 'react-router-dom';\nimport styled, { css } from 'styled-components';\n\nexport const Arrow = styled.div<{ color: 'primary' | 'secondary' }>`\n width: 10px;\n height: 10px;\n background-color: ${({ theme }) => theme.palette.clay[800]};\n position: absolute;\n top: -4px;\n right: 16px;\n transform: rotate(45deg);\n`;\n\nexport const DropDown = styled.div<{\n align: 'left' | 'right';\n offset?: 'small' | 'large';\n variant: 'primary' | 'secondary';\n color: 'primary' | 'secondary';\n}>`\n display: inline-flex;\n flex-direction: column;\n position: relative;\n min-width: 240px;\n padding: ${({ variant }) => (variant === 'primary' ? '0' : '8px 0')};\n box-shadow: ${({ theme }) => theme.elevation.light};\n background-color: ${({ theme }) => theme.palette.clay[800]};\n border-radius: ${({ variant }) => (variant === 'secondary' ? '4px' : '0')};\n position: absolute;\n top: ${({ variant }) => (variant === 'primary' ? '100%' : 'calc(100% + 7px)')};\n left: ${({ align }) => (align === 'left' ? '0' : 'auto')};\n right: ${({ align }) => (align === 'right' ? '-6px' : 'auto')};\n z-index: 2;\n opacity: 0;\n visibility: hidden;\n transition: 250ms;\n\n > a {\n color: #fff;\n padding: 11px 16px;\n white-space: nowrap;\n font-size: 12px;\n line-height: 18px;\n transition: 100ms;\n\n &:hover {\n font-weight: 500;\n }\n }\n`;\n\nexport const Toggle = styled.button<{\n offset?: 'small' | 'large';\n withTitle?: boolean;\n}>`\n display: inline-flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n font-weight: 400;\n font-size: 1rem;\n line-height: 24px;\n border: 0;\n background-color: transparent;\n padding: 0;\n cursor: pointer;\n min-width: ${({ offset }) => (offset === 'large' ? '34px' : '24px')};\n min-height: ${({ offset }) => (offset === 'large' ? '34px' : '24px')};\n\n ${({ withTitle }) => withTitle\n && css`\n min-height: auto;\n min-height: auto;\n `}\n\n img {\n width: 12px;\n }\n\n &:after {\n content: \"\";\n transition: 250ms;\n }\n`;\n\nexport const Wrapper = styled.div`\n display: inline-flex;\n position: relative;\n\n &:hover {\n ${DropDown} {\n opacity: 1;\n visibility: visible;\n }\n }\n\n /* &:hover {\n ${Toggle} {\n &:after {\n position: absolute;\n left: -6px;\n right: -6px;\n bottom: 0;\n top: 0;\n background-color: rgba(0, 0, 0, 0.05);\n }\n }\n } */\n`;\n\nexport const OptionButton = styled(Link)`\n border: 0;\n background-color: transparent;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 16px;\n font-size: 12px;\n line-height: 18px;\n cursor: pointer;\n font-weight: 400;\n width: 100%;\n\n &:hover {\n background-color: #f4f8fa;\n }\n`;\n\nexport const OptionLink = styled.button`\n border: 0;\n background-color: transparent;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 16px 10px 16px;\n font-size: 12px;\n line-height: 18px;\n cursor: pointer;\n width: 100%;\n\n color: #1854d9;\n\n &:hover {\n background-color: #f4f8fa;\n }\n`;\n\nexport const OptionsHeading = styled.div`\n padding: 12px 16px 10px 16px;\n line-height: 18px;\n border-bottom: 1px solid #efeeec;\n font-size: 11px;\n color: #aaaaaa;\n font-weight: 400;\n`;\n\nexport const OptionFooter = styled.div`\n font-size: 12px;\n line-height: 18px;\n border-top: 1px solid #efeeec;\n font-weight: 400;\n`;\nexport const CollectionsToggle = styled.div`\n border-radius: 3px;\n min-width: 31px;\n height: 22px;\n display: flex;\n align-items: center;\n font-size: 10px;\n justify-content: center;\n background-color: transparent;\n color: #aaaaaa;\n\n svg {\n opacity: 0;\n }\n\n svg * {\n stroke: #aaaaaa;\n }\n\n &:hover {\n color: #1854d9;\n background: #f3f6fd;\n\n svg {\n opacity: 1;\n }\n\n svg * {\n stroke: #1854d9;\n }\n }\n`;\n","import styled from 'styled-components';\n\nexport const MembershipsList = styled.div`\n display: flex;\n flex-direction: column;\n gap: 4px;\n width: 100%;\n`;\n\nexport const MembershipGroup = styled.div`\n background-color: #ffffff;\n border-radius: 8px;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 16px 20px;\n gap: 16px;\n`;\n\nexport const Name = styled.span`\n font-size: 14px;\n line-height: 24px;\n margin-bottom: 8px;\n`;\n","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\n\nimport { useNavigate } from 'react-router-dom';\n\nimport { Avatar } from 'appComponents/Avatar';\nimport { RoleSelector } from 'appComponents/Dashboard/RoleSelector';\nimport { RethinkSuiteLayerGuards } from 'apps/guards';\nimport { useAllMembershipsWithPermissions, useCurrentMembership } from 'hooks/useMemberships';\n\nimport * as S from './styled';\n\ntype MembershipsWithPermissions = NonNullable>;\ntype MembershipWithPermissions = MembershipsWithPermissions[number];\n\nexport const AllMemberships = ({\n memberships,\n title,\n skipRouteChange,\n}: {\n memberships: MembershipsWithPermissions;\n title?: string;\n skipRouteChange?: boolean\n}) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n\n const { changeMembership } = useCurrentMembership();\n\n const onMembershipSelected = (membership: MembershipWithPermissions, role: MembershipWithPermissions['roles'][number]) => {\n changeMembership(membership, role);\n if (skipRouteChange) {\n return;\n }\n const destination = Object.entries(RethinkSuiteLayerGuards)\n .find(layer => layer[1].some(perm => role.permissions[perm]))?.[0];\n\n navigate(`/${destination}`);\n };\n\n return memberships ? (\n <>\n { title && (\n \n {title}\n \n ) }\n {memberships.map((group) => (\n \n \n \n {group.roles.map((m) => (\n onMembershipSelected(group, m)}\n />\n ))}\n \n \n ))}\n \n ) : (\n {t('no active memberships')}\n );\n};\n","import Field from './field';\n\nexport { withLabels, ReadOnlyField, InputView } from './field';\n\nexport default Field;\n","import { saveAs } from 'file-saver';\n\nimport _ from 'lodash';\nimport React, { useMemo } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nimport { alertToast } from 'config/toast';\nimport { versionedApi } from 'services/network';\nimport { store } from 'state';\n\nexport const isReady = loaders => !_.some(loaders, entry => {\n const { loading, status } = entry;\n if (status === 'not-requested') return true;\n if (status === 'loading') return true;\n if (status === 'error') return false;\n if (_.has(entry, 'loading')) return loading; // success\n return entry;\n});\n\nexport function useQuery() {\n const { search } = useLocation();\n return useMemo(() => new URLSearchParams(search), [search]);\n}\n\n/**\n *\n * @param {string} url\n * @param {string | null | undefined} fileName\n * @param {unknown | undefined} [setLoading]\n * @returns\n */\nexport const downloadFile = (url, fileName = null, setLoading) => versionedApi.get(url, {\n headers: {\n Authorization: `Bearer ${store?.getState()?.auth?.userToken}`,\n 'Nibe-CompanyId': store?.getState()?.user?.selectedMembership?.company?.id,\n 'Nibe-View': store?.getState()?.user?.selectedMembership?.view,\n },\n responseType: 'blob',\n removeNibeHeaders: true,\n}).then(async data => saveAs(data, fileName))\n .catch((error) => {\n console.error(error);\n alertToast('The file couldn’t be downloaded', 'error');\n })\n .finally(() => {\n if (setLoading) setLoading(false);\n });\n\n/**\n * use this when you need to show an image, because it requires headers\n */\nexport const showFile = (url) => versionedApi.get(url.replace('http:', 'https:'), {\n responseType: 'blob',\n removeNibeHeaders: true,\n headers: {\n Authorization: `Bearer ${store?.getState()?.auth?.userToken}`,\n 'Nibe-CompanyId': store?.getState()?.user?.selectedMembership?.company?.id,\n 'Nibe-View': store?.getState()?.user?.selectedMembership?.view,\n },\n}).then(async response => window.URL.createObjectURL(response));\n\nexport const isReference = element => typeof element === 'function';\n\nexport const inputName = ({\n description,\n environmentalProfile,\n supplier,\n netAmount,\n}) => `\n ${description || ''}\n ${environmentalProfile?.name ? ` | ${environmentalProfile?.name}` : ''}\n ${supplier?.name ? ` | ${supplier?.name}` : ''}\n | ${netAmount || ''}\n`;\n\nexport const bold = (companyName, view) => React.createElement(\n 'span',\n {\n // eslint-disable-next-line max-len\n dangerouslySetInnerHTML: { __html: `
${companyName} |
${view}
`${px / 16}rem`;\n\nexport const AsideRowPadding = css`\n padding: 0 ${pxToRem(24)} 0 ${pxToRem(32)};\n`;\n","import React, { useLayoutEffect } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { Navigate } from 'react-router-dom';\n\nimport { users } from 'services';\n\nimport { Loading } from 'components/Splash/Loading';\nimport { getUser } from 'state/user/user.actions';\n\nexport const requireAuth = (ChildComponent) => {\n const ComposedComponent = (props) => {\n const { location } = props;\n const { userToken, email } = useSelector(state => state.auth);\n const { id: userId } = useSelector(state => state.user);\n const dispatch = useDispatch();\n\n useLayoutEffect(() => {\n function fetchUser() {\n users.getMe()\n .then(result => result && getUser([result], email))\n .then(dispatch);\n }\n if (userToken) fetchUser();\n }, [dispatch, userId, email, userToken]);\n\n if (!userToken) return ;\n if (!userId) return ;\n\n return ;\n };\n\n return ComposedComponent;\n};\n\n/**\n * @deprecated use named export instead\n */\nexport default requireAuth;\n","import React from 'react';\n\nconst FinalRejected = ({ color, ...props }) => (\n \n \n \n);\n\nexport default FinalRejected;\n","import React from 'react';\n\nconst Progress = ({ color, ...props }) => (\n \n \n \n);\n\nexport default Progress;\n","import React from 'react';\n\nconst Rejected = ({ color, ...props }) => (\n \n \n \n);\n\nexport default Rejected;\n","import React from 'react';\n\nconst Review = ({ color, ...props }) => (\n \n \n \n);\n\nexport default Review;\n","import React from 'react';\n\nconst Submitted = ({ color, ...props }) => (\n \n \n \n);\n\nexport default Submitted;\n","import React from 'react';\n\nconst Valid = ({ color, ...props }) => (\n \n \n \n \n);\n\nexport default Valid;\n","import React from 'react';\n\nconst Verified = ({ color, ...props }) => (\n \n \n \n);\n\nexport default Verified;\n","// SVGs\nimport finalRejected from 'assets/calculationsIcons/FinalRejected';\nimport progress from 'assets/calculationsIcons/Progress';\nimport rejected from 'assets/calculationsIcons/Rejected';\nimport review from 'assets/calculationsIcons/Review';\nimport submitted from 'assets/calculationsIcons/Submitted';\nimport valid from 'assets/calculationsIcons/Valid';\nimport verified from 'assets/calculationsIcons/Verified';\n\n// COLORS\nexport const YELLOW = '#FECF07';\nexport const SKY = '#19b5ff';\nexport const DARK_BLUE = '#202538';\nexport const DARK_BLUE_400 = '#333950';\nexport const LIGHT_BLUE = '#F4F8FA';\nexport const BLUE = '#5885A4';\nexport const MOSTARD = '#DCB40B';\nexport const RED = '#BD5230';\nexport const GREY = '#F4F8FA';\nexport const GREEN = '#70876E';\nexport const black = (opacity) => `rgba(0,0,0,${opacity})`;\nexport const backdrop = black(0.4);\n\nexport const palette = {\n purple: {\n 500: 'hsl(266, 69.7%, 36.3%)',\n 100: 'hsl(266, 100%, 95.8%)',\n },\n green: {\n 50: 'hsla(115, 100%, 95%, 1)',\n 500: 'hsl(118, 42.9%, 27.5%)',\n 300: 'hsl(114, 76.5%, 47.9%)',\n },\n yellow: {\n 50: 'hsla(48, 100%, 93%, 1)',\n 500: 'hsl(50, 100%, 50%)',\n 300: 'hsl(42, 100%, 44.5%)',\n },\n petrol: {\n 500: 'hsl(204.5, 58.9%, 41.4%)',\n 100: 'hsl(204, 55.6%, 91.2%)',\n },\n orange: {\n 300: 'hsl(18, 100%, 40.2%)',\n },\n blue: {\n 50: 'hsl(222, 71.4%, 97.3%)',\n 200: 'hsl(221, 100%, 91.5%)',\n 300: 'hsl(221, 80.1%, 47.3%)',\n 100: 'hsl(216, 41.9%, 93.9%)',\n },\n clay: {\n 100: 'hsl(0, 9.1%, 97.8%)',\n 200: 'hsla(40, 9%, 93%, 1)',\n 300: 'hsla(0, 0%, 92%, 1)',\n 400: 'hsl(40, 14.9%, 72.4%)',\n 500: 'hsla(0, 0%, 67%, 1)',\n 700: 'hsl(226, 15.7%, 16.3%)',\n 800: 'hsl(0, 0%, 10.8%)',\n },\n red: {\n 300: 'hsl(0, 100%, 50%)',\n 400: 'hsl(0, 100%, 32.1%)',\n 50: 'hsl(0, 100%, 94.8%)',\n },\n};\n\nexport const DashboardButton = {\n background: '#FDFEFF',\n color: '#202538',\n border: '1px solid #E8EDEF',\n fontWeight: 500,\n boxShadow: '0px 0px 4px rgba(0, 0, 0, 0.1)',\n};\n\nexport const statusStyle = {\n Draft: {\n id: 'draft',\n color: '#dee3e2',\n icon: finalRejected,\n text: 'Draft',\n },\n Progress: {\n id: 'in-progress',\n buttonBackgroundColor: '#70876E',\n backgroundColor: '#5885A4',\n color: 'white',\n icon: progress,\n iconColor: 'white',\n text: 'In progress',\n },\n Incomplete: {\n id: 'incomplete',\n buttonBackgroundColor: '#FFE2D6',\n icon: progress,\n iconColor: 'red',\n text: 'Incomplete',\n color: 'red',\n },\n Valid: {\n id: 'valid',\n color: '#51864C',\n icon: valid,\n text: 'Valid',\n },\n Submitted: {\n id: 'submitted',\n color: '#5885A4',\n icon: submitted,\n text: 'Submitted',\n },\n Review: {\n id: 'in-review',\n color: '#336282',\n icon: review,\n text: 'In review',\n },\n Verified: {\n id: 'verified',\n color: '#51864C',\n icon: verified,\n text: 'Verified',\n },\n Rejected: {\n id: 'rejected',\n color: '#BD5230',\n icon: rejected,\n text: 'Rejected',\n },\n FinalRejected: {\n id: 'declined',\n color: '#BF2E00',\n icon: finalRejected,\n text: 'Final Rejected',\n },\n Completed: {\n id: 'completed',\n color: '#51864C',\n icon: verified,\n text: 'Completed',\n },\n};\n\n// Footer Height\nexport const footerHeight = '6rem';\n\n// Padding Overview rows\nexport const paddingRows = '1rem 1.25rem';\n\n// Sizes\nexport const AsideWidth = '16.75rem';\nexport const InputHeight = '2.5rem';\nexport const InputWidth = '715px';\nexport const FormWidth = 'auto';\n\n// MAX WIDTH\nexport const MAX_WIDTH = '1280px';\n\n// Navs heigth\nexport const NAV_HEIGHT = '4rem';\n\nexport const styledButton = {\n background: 'white',\n color: DARK_BLUE,\n border: '1px solid #E2E2D2',\n height: '2.81rem',\n minWidth: '11.5rem',\n boxShadow: '0 0 4px rgba(0, 0, 0, 0.1)',\n textAlign: 'center',\n};\n\nexport const styledButtonForHeaderInViews = {\n background: 'white',\n color: DARK_BLUE,\n height: '2.81rem',\n minWidth: '9.0625rem',\n textAlign: 'center',\n border: '1px solid #FFFFFF',\n boxSizing: 'border-box',\n boxShadow: '0 0 4px rgba(0, 0, 0, 0.1)',\n borderRadius: '2px',\n marginLeft: '2.3rem',\n};\n","import { useEffect } from 'react';\n\nexport const DocumentationUrl = 'https://nibesustainability.sharepoint.com/:f:/s/RETHiNKdocumentation/Eu-BsKGYZTVDmMuaB_Tk4ikBcmq3_okoOIq_9FYk0uAkAQ?e=a4XA6d';\n\nexport const Documentation = () => {\n useEffect(() => {\n window.location = DocumentationUrl;\n }, []);\n return null;\n};\n","import styled, { css } from 'styled-components';\n\nimport { BaseLinkStyles } from 'appComponents/LinkButton/styled';\nimport { DARK_BLUE } from 'config/style';\n\nexport const whiteButton = css`\n font-style: normal;\n border: 1px solid #e2e2d2;\n background: #fafaf5;\n color: ${DARK_BLUE};\n margin-right: 10px;\n`;\n\nexport const underlineButton = css`\n background-color: transparent;\n text-decoration: underline;\n border: 0;\n color: ${({ color }) => (color || DARK_BLUE)};\n font-weight: 400;\n border-radius: 4px;\n &:hover,\n &:focus {\n outline: none;\n box-shadow: none;\n background-color: #eee;\n }\n`;\n\nexport const styledSelect = css`\n font-size: .75rem;\n color: #fff;\n background: ${({ theme }) => theme.palette.blue[300]};\n border: 0;\n padding: 0 1.1rem;\n border-radius: 4px;\n text-align: center;\n font-weight: 500;\n min-height: 40px;\n min-width: 5rem;\n\n &:hover, &:focus {\n background-color: #0F3EA6;\n }\n`;\n\nexport const StyledButton = styled.button`\n padding: .68rem 1.25rem;\n cursor: pointer;\n background: ${DARK_BLUE};\n color: white;\n font-size: 0.75rem;\n border: none;\n font-weight: normal;\n min-width: 5rem;\n\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n flex: 0 0 auto;\n\n &:disabled {\n opacity: .45;\n cursor: not-allowed;\n }\n\n > div {\n flex: 0 1 100%;\n }\n\n ${(props) => props.styling === 'select' && styledSelect};\n ${({ styling }) => styling === 'white' && BaseLinkStyles};\n ${({ rounded, theme }) => rounded && css`\n background-color : white;\n box-shadow: ${theme.elevation.light};\n\n &:hover, &:focus {\n background-color: white;\n }\n `};\n ${({ styling }) => styling === 'underline' && underlineButton};\n`;\n\nexport const Icon = styled.i`\n flex: 0 0 auto;\n display: inline-flex;\n ${({ left }) => !left && css`margin-left: .75em;`};\n ${({ left }) => left && css`margin-right: .75em;`};\n`;\n","import * as types from './company.types';\n\nexport const getCompany = (usersList) => dispatch => {\n if (usersList) {\n dispatch({\n type: types.UPDATE,\n });\n }\n};\n\nexport const selectCompany = company => dispatch => {\n dispatch({\n type: types.SELECTED_COMPANY,\n selectedCompany: company,\n });\n};\n\nexport const clear = { type: types.CLEAR };\n","module.exports = __webpack_public_path__ + \"static/media/search.fa7e85a0.svg\";","import styled from 'styled-components';\n\nexport const CardContainer = styled.button`\n height: 48px;\n border: 1px solid #eaeaea;\n display: flex;\n background-color: transparent;\n justify-content: space-between;\n align-items: center;\n padding: 16px;\n cursor: pointer;\n border-radius: 4px;\n width: 100%; cursor: pointer;\n\n img {\n width: 18px;\n }\n`;\n\nexport const Role = styled.div`\n font-size: 12px;\n line-height: 18px;\n`;\n\nexport const Options = styled.img`\n\n`;\n","import React from 'react';\n\nimport membershipsSvg from 'assets/memberships.svg';\n\nimport * as S from './styled';\n\nexport const RoleSelector = ({ view, onClick }: {view: string; onClick: () => void}) => (\n \n {view}\n \n \n);\n","import styled, { css } from 'styled-components/macro';\n\nexport const InputContainer = styled.div`\n font-size: 0.85rem;\n position: relative;\n width: 100%;\n button {\n cursor: pointer;\n position: absolute;\n top: 1rem;\n right: 1rem;\n border: none;\n background: none;\n\n span {\n height: 1px;\n width: 1.1rem;\n background-color: #262D38;\n position: absolute;\n transform: rotate(150deg);\n left: -1px;\n top: 34%;\n }\n }\n`;\n\nexport const FileInputWrapper = styled.div`\n height: 119px;\n border-radius: 4px;\n border: 1px dashed var(--clay-500, #aaa);\n background: var(--White, #FFF);\n background: white;\n padding-top: 14px;\n padding-left: 16px;\n color: var(--blue-300, #1854D9);\n cursor: pointer;\n\n`;\n\nexport const FileInputRequirementsLine = styled.div`\n color: var(--clay-500, #aaa);\n font-family: 'Poppins';\n font-size: 10px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px;\n margin-top: 8px;\n span {\n display: block;\n }\n`;\n\nexport const FileStrip = styled.div`\n border-radius: 8px;\n border: 1px solid var(--clay-300, #EAEAEA);\n background: var(--White, #FFF);\n display: flex;\n padding: 15px 16px;\n\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 18px;\n\n display: flex;\n justify-content: space-between;\n button {\n border: none;\n background: none;\n height: 18px;\n cursor: pointer;\n display: flex;\n align-items: center;\n }\n`;\n\nexport const Input = styled.input`\n font-size: 0.75rem;\n padding: 0.625rem 1rem;\n border: 1px solid ${({ theme }) => theme.palette?.clay[300] || '#EAEAEA'};\n border-radius: 4px;\n width: 100%;\n min-height: 40px;\n color: ${({ theme }) => theme.palette?.clay[800] || '#aaa'};\n background-color: white;\n\n :focus, :hover {\n border: 1px solid rgba(24, 84, 217, 0.3);\n }\n :disabled {\n border-color: transparent;\n }\n\n ::placeholder {\n color: ${({ theme }) => theme.palette?.clay[500] || '#aaa'};\n }\n\n ${({ error, type }) => error\n && type !== 'submit'\n && css`\n border-bottom: 3px solid #ff4d03;\n `};\n ${({ type }) => type === 'password'\n && css`\n padding-right: 2.1rem;\n `};\n ${({ error }) => error\n && css`\n color: #ec0a0a;\n `};\n`;\n","import mime from 'mime';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport React, { memo, useCallback, useState } from 'react';\n\nimport { useDropzone } from 'react-dropzone';\n\nimport { useTranslation } from 'react-i18next';\n\nimport viewIcon from 'assets/calculationsIcons/review.svg';\nimport { ReactComponent as ClearIcon } from 'assets/icons/input-clear.svg';\nimport { withLabels } from 'components/Field';\n\nimport * as S from './Input.styled';\n\nconst inputTypes = [\n 'color',\n 'date',\n 'datetime-local',\n 'email',\n 'hidden',\n 'image',\n 'month',\n 'number',\n 'password',\n 'search',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n 'file',\n];\n\nconst Input = ({\n id,\n name,\n ref,\n innerRef = ref,\n type,\n translation,\n input,\n hideShowIcon,\n containerStyle,\n ...props\n}) => {\n const [isVisible, setIsVisible] = useState(false);\n const inputName = name || id;\n\n const viewPassword = () => setIsVisible(!isVisible);\n\n const fileInputValue = (type === 'file') ? { value: undefined } : null;\n\n const { i18n, t } = useTranslation(undefined, { keyPrefix: 'fileUpload' });\n\n // Can't use useSelector here otherwise this crashes if an input is used in a modal. See EPD-2016\n const locale = i18n.language;\n\n const onDrop = useCallback(acceptedFiles => {\n // Do something with the files\n input.onChange(acceptedFiles);\n }, [input]);\n const {\n getRootProps, getInputProps, isDragActive,\n isDragAccept,\n isDragReject,\n } = useDropzone({\n onDrop,\n accept: props.accept?.split(',').reduce((a, c) => ({ ...a, [c]: [] }), {}),\n });\n\n if (type === 'file') {\n if (input.value?.[0]) {\n return (\n \n {input.value[0].name}\n {\n e.preventDefault();\n input.onChange(undefined);\n }}\n type=\"button\">\n \n\n \n \n );\n }\n\n let acceptedExtensions = props.accept?.split(',').map(m => mime.getExtension(m)).filter(e => !!e) || [];\n if (acceptedExtensions.includes('jpeg')) acceptedExtensions.push('jpg');\n\n acceptedExtensions = acceptedExtensions.sort();\n\n return (\n (\n \n \n \n {/* eslint-disable-next-line no-nested-ternary */}\n {isDragActive ? (\n <>\n {isDragAccept && (t('dragAccepted') || 'Drop the file here')}\n {isDragReject && (t('dragRejected') || ('File type not accepted, sorry!'))}\n \n ) : (\n input.value?.[0] ? (\n <>\n {input.value[0].name}\n
\n Click to replace, or drag another file\n \n \n ) : t('hint') || 'Drag and drop files here or upload'\n )}\n
\n \n {t('maxFileSizeHint', { maxSizeInMb: props.maxSizeInMb }) || `Max file size is ${props.maxSizeInMb}MB.`}\n {' '}\n {!props.hideExtensions && acceptedExtensions.length > 0 && (\n <>\n {t('supportedFileTypesInt', {\n acceptedExtensions: new Intl.ListFormat(locale)\n .format(acceptedExtensions),\n })}\n {acceptedExtensions.map(ext => (\n \n {t(`extensionHint.${ext}`, { defaultValue: '' })}\n \n ))}\n \n )}\n\n {t('test', { defaultValue: '' })}\n\n \n
\n )\n );\n }\n\n return (\n \n \n\n {type === 'password' && !hideShowIcon && (\n \n )}\n \n );\n};\n\nInput.defaultProps = {\n type: 'text',\n name: undefined,\n required: false,\n disabled: false,\n readOnly: false,\n placeholder: undefined,\n value: undefined,\n autoComplete: 'on',\n};\n\nInput.propTypes = {\n type: PropTypes.oneOf(inputTypes),\n required: PropTypes.bool,\n readOnly: PropTypes.bool,\n disabled: PropTypes.bool,\n name: PropTypes.string,\n placeholder: PropTypes.string,\n id: PropTypes.string.isRequired,\n autoComplete: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n\nexport const FormInput = withLabels(Input);\n\nexport default memo(Input);\n","import { NavLink } from 'react-router-dom';\nimport styled, { css } from 'styled-components';\n\nimport { pxToRem } from 'appComponents/utils';\nimport alert from 'assets/alert.svg';\nimport SearchIcon from 'assets/search.svg';\nimport {\n NAV_HEIGHT,\n FormWidth,\n InputWidth,\n GREY,\n DARK_BLUE,\n paddingRows,\n} from 'config/style';\n\nexport { ReadOnlyField } from 'components/Field';\n\nexport const Container = styled.div`\n background: white;\n padding: 1.875rem;\n overflow-y: auto;\n height: 100%;\n border-radius: 8px;\n max-height: calc(100% - 4rem);\n`;\n\nexport const TitleContainer = styled.div`\n font-size: 0.875rem;\n padding: 1.5rem 0 0.75rem;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 32px;\n a {\n\n &:not([color]){\n color: ${({ theme }) => theme.palette.clay[500]};\n line-height: 24px;\n }\n\n &.active {\n color: ${({ theme }) => theme.palette.clay[800]};\n font-weight: 500;\n }\n }\n`;\n\nexport const Bar = styled.div`\n padding: 1.5rem 0 1.875rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 0.875rem;\n font-weight: 500;\n`;\n\nexport const ItemWrapper = styled.div`\n margin-bottom: 2rem;\n\n h2 {\n margin-bottom: 8px;\n }\n`;\n\nexport const ItemsContainer = styled.div`\n display: flex;\n`;\n\nexport const ViewModeContainer = styled(Container)`\n display: flex;\n flex-direction: column;\n width: 100%;\n`;\n\nexport const StyledLink = styled(NavLink)`\n font-weight: normal;\n`;\n\nexport const Expand = styled.div`\n cursor: pointer;\n display: flex;\n align-items: center;\n font-size: 0.75rem;\n flex: 1;\n`;\n\nexport const ProfileName = styled.h1`\n font-weight: 500;\n font-size: 0.875rem;\n line-height: 24px;\n padding-top: 24px;\n`;\n\nexport const ProfileTitle = styled.div`\n font-weight: 400;\n font-size: 12px;\n line-height: 18px;\n color: ${({ theme: t }) => t.palette.clay[800]};\n margin-top: 4px;\n`;\n\nexport const GridWrapper = styled.div`\n display: grid;\n grid-template-columns: 0.5fr 2fr 0.5fr 0.5fr;\n width: 100%;\n border-bottom: 1px solid #e4e4e4;\n padding: 1.56rem 2.5rem;\n`;\n\nexport const Header = styled.p`\n font-weight: 500;\n font-size: 0.75rem;\n`;\n\nexport const Data = styled.p`\n font-size: ${({ size }) => size || '.75rem'};\n color: ${({ isGrey }) => (isGrey ? '#a8a8a8' : DARK_BLUE)};\n`;\n\nexport const Wrapper = styled.form``;\n\nexport const StyledContainer = styled.div`\n margin: 2.31rem 4.68rem;\n min-height: calc(100vh - 64px);\n`;\n\nexport const ButtonContainer = styled.div`\n color: white;\n width: 100%;\n cursor: pointer;\n font-style: normal;\n font-weight: normal;\n font-size: 14px;\n line-height: 21px;\n text-decoration-line: underline;\n padding: 0.563rem 9.625rem 0.5rem 1.063rem;\n background-color: ${(props) => (props.selected ? 'black' : 'lightgray')};\n margin-top: 0.93rem;\n`;\n\nexport const Section = styled.h2`\n font-style: normal;\n font-weight: 500;\n font-size: 18px;\n line-height: 27px;\n color: #000000;\n margin-top: 1.68rem;\n`;\n\nexport const WrapperInput = styled.div`\n width: 100%;\n`;\n\nexport const Label = styled.label`\n font-weight: 400;\n font-size: 0.75rem;\n margin-bottom: 8px;\n color: ${({ color, theme }) => color || theme.palette.clay[800]};\n display: block;\n`;\n\nexport const LabelText = styled.h2`\n font-size: 0.675rem;\n margin-bottom: 1.25rem;\n font-weight: 600;\n`;\n\nexport const SearchBar = styled.input`\n width: 21.7rem;\n color: rgba(0, 0, 0, 0.3);\n border: 1px solid #e4e4e4;\n border-radius: 2px;\n padding: 0.61rem 11.03rem 0.61rem 1.02rem;\n background: url(${SearchIcon}) no-repeat;\n background-position: 95% 50%;\n background-image: rgba(29, 29, 29, 0.7);\n font-family: ${({ theme: t }) => t.baseFont};\n font-style: normal;\n font-weight: normal;\n font-size: 14px;\n line-height: 21px;\n margin-top: 0.55rem;\n\n :focus, :hover {\n border: 1px solid rgba(24, 84, 217, 0.30);\n }\n\n &:focus {\n outline: none;\n }\n`;\n\nexport const Select = styled.select`\n margin-top: 0.58rem;\n width: 21.7rem;\n border: 1px solid #e4e4e4;\n appearance: none;\n border-radius: 0;\n padding: 0.61rem 11.03rem 0.61rem 1.02rem;\n background-color: #ffffff;\n color: rgba(0, 0, 0, 0.3);\n font-family: ${({ theme: t }) => t.baseFont};\n font-style: normal;\n font-weight: normal;\n font-size: 14px;\n line-height: 21px;\n\n &:focus {\n outline: none;\n }\n`;\n\nexport const PanelContainer = styled.div`\n margin-right: \"7.25rem\";\n`;\n\nexport const List = styled.details`\n background: #eaeaea;\n margin-top: 0.87rem;\n`;\n\nexport const ListItem = styled.summary`\n padding: 0.75rem 3.62rem 1rem 2rem;\n`;\n\nexport const OverviewRows = styled.div`\n overflow-y: auto;\n /* overflow-y: auto;\n height: calc(100vh - (2 * ${NAV_HEIGHT}) - 4rem); */\n\n table {\n th:first-of-type {\n padding-left: 1.25rem !important;\n }\n }\n`;\n\nexport const AsideTitle = styled.h1`\n padding: 1.5rem 1.5rem 1.5rem 2rem;\n display: flex;\n align-items: center;\n font-weight: 500;\n font-size: 0.875rem;\n`;\n\nexport const AsideInfo = styled(AsideTitle)`\n font-weight: 400;\n font-size: 12px;\n`;\n\nexport const AsideHeader = styled.div`\n padding: 1.5rem 1.5rem 1.5rem 2rem;\n font-size: 0.625rem;\n h1 {\n font-size: 0.875rem;\n line-height: normal;\n margin-bottom: 0;\n font-weight: 500;\n }\n\n div {\n font-size: 0.625rem;\n margin-bottom: 8px;\n }\n`;\n\nexport const AsideLink = styled(NavLink)`\n background-color: white;\n color: inherit;\n`;\n\nexport const Row = styled.div`\n box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);\n min-height: 4.7rem;\n font-size: 0.875rem;\n margin-bottom: 1.1rem;\n background: ${({ blueBackground }) => (blueBackground ? '#FAFAF8' : 'white')};\n display: flex;\n flex-direction: ${({ expand }) => (expand ? 'column' : 'row')};\n justify-content: space-between;\n align-items: stretch;\n padding: 0 1.37rem;\n\n a {\n width: 100%;\n align-self: center;\n }\n`;\n\nexport const SimpleRow = styled.div`\n min-height: 4.7rem;\n font-size: 0.875rem;\n display: flex;\n flex-direction: ${({ expand }) => (expand ? 'column' : 'row')};\n justify-content: space-between;\n align-items: stretch;\n cursor: pointer;\n margin: 0 -1.37rem ${({ expand }) => (expand ? '1.1rem' : '0')};\n margin: 0 -1.37rem ${({ expanded }) => (expanded ? '1.1rem' : '0')};\n background: ${({ blueBackground }) => (blueBackground ? '#FAFAF8' : 'white')};\n padding: 0 1rem;\n border-radius: ${({ expanded }) => (expanded ? '8px 8px 0 0 ' : '8px')};\n\n a {\n width: 100%;\n align-self: center;\n }\n`;\n\nexport const RowContainer = styled.div`\n min-height: 4rem;\n font-size: 0.875rem;\n margin-bottom: 1rem;\n padding: 0 1.37rem;\n border-radius: 8px;\n display: flex;\n flex-direction: column;\n border: 1px solid transparent;\n ${props => props.border && css`\n border-radius: 8px;\n border: 1px solid var(--clay-200, #EFEEEC);\n `}\n\n ${({ expanded }) => expanded && css`\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);\n border: 1px solid var(--clay-200, #EFEEEC);\n border-radius: 8px;\n `}\n\n`;\n\nexport const LinksWrapper = styled.div`\n display: flex;\n flex-direction: column;\n font-size: 0.75rem;\n gap: 12px;\n padding: 0 1.5rem 0 2rem;\n // min-height: 4rem;\n margin-bottom: 48px;\n\n a {\n display: flex;\n align-items: center;\n gap: 2px;\n\n &:hover {\n font-weight: 500;\n }\n svg {\n width: 14px;\n height: auto;\n }\n }\n`;\n\nexport const ArrowSelection = styled.img`\n margin-right: 8px;\n`;\n\nexport const Details = styled.p`\n font-size: 0.875rem;\n`;\n\nexport const FormWrapper = styled.div`\n display: grid;\n grid-template-columns: repeat(12, 1fr);\n align-items: start;\n position: relative;\n gap: 16px;\n`;\n\nexport const FormActions = styled.div`\n display: flex;\n position: sticky;\n flex-wrap: wrap;\n top: 70px;\n grid-column: 9 / 13;\n margin-left: auto;\n grid-row: 1;\n gap: 6px;\n\n > button + button {\n padding: 0;\n }\n`;\n\nexport const FormNav = styled.ul`\n display: flex;\n padding: 20px 10px 20px 20px;\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n border-radius: 8px;\n background: var(--white, #FFF);\n grid-column: 1 / 3;\n min-width: 228px;\n max-width: 238px;\n\n box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.10);\n margin: 0;\n list-style: none;\n display: flex;\n flex-direction: column;\n position: sticky;\n top: 70px;\n\n button {\n border: none;\n background: none;\n cursor: pointer;\n font-size: ${pxToRem(12)};\n font-weight: 400;\n display: block;\n text-align: left;\n transition: 100ms;\n }\n`;\n\nexport const FormContainer = styled.section`\n width: ${FormWidth};\n min-height: calc(100vh - 4 * ${NAV_HEIGHT});\n display: flex;\n grid-column: 3 / 10;\n grid-row: 1;\n\n &:last-of-type {\n padding-bottom: 40vh;\n }\n\n & + & {\n grid-row: 2;\n }\n > header {\n min-width: ${InputWidth};\n margin: 0 auto;\n }\n\n > form,> div {\n //max-width: ${InputWidth};\n max-width: 715px;\n width: 100%;\n /* display: flex;\n flex-direction: column; */\n // gap: 16px;\n padding-bottom: 2rem;\n margin: 0 auto;\n\n p {\n font-size: 0.75rem;\n margin-top: 4px;\n }\n }\n`;\n\nexport const TitleBar = styled.h1`\n padding: 1.25rem 0.5rem 0.75rem;\n font-size: 0.875rem;\n font-weight: 500;\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\n\nexport const RadioWrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n`;\n\nexport const ButtonsWrapper = styled.div`\n display: flex;\n align-items: center;;\n`;\n\nexport const Background = styled.main`\n`;\n\nexport const Description = styled.div`\n margin-bottom: 16px;\n color: ${({ theme }) => theme.palette.clay[500]};\n font-size: 0.75rem;\n font-weight: 100;\n max-width: 680px;\n`;\n\nexport const HeaderTitle = styled.div`\n padding: 1.5rem 0 0.75rem;\n font-weight: 500;\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n font-size: 0.875rem;\n min-height: ${NAV_HEIGHT};\n position: sticky;\n top: 0;\n background-color: hsl(0,9.1%,97.8%);\n z-index: 100;\n\n > div {\n display: flex;\n align-items: center;\n gap: 2rem;\n }\n`;\n\nexport const SectionTitile = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 4px;\n font-size: 0.875rem;\n font-weight: 500;\n\n h4 {\n font-weight: 600;\n font-size: 14px;\n line-height: 24px;\n margin-right: 10px;\n margin-bottom: 1rem;\n }\n\n legend {\n font-weight: 100;\n color: ${({ theme }) => theme.palette.clay[500]};\n font-size: 0.75rem;\n }\n`;\n\nexport const SectionWrapper = styled.div`\n margin-bottom: 3.75rem;\n`;\n\nexport const AlignItems = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const Option = styled.div`\n display: flex;\n align-items: center;\n padding: 10px 20px;\n transition: 0.3s;\n opacity: ${(props) => (props.isClickable ? 1 : 0.3)};\n cursor: ${(props) => (props.isClickable ? 'pointer' : 'auto')};\n\n &:hover {\n background: ${(props) => (props.isClickable ? GREY : 'none')};\n }\n\n div {\n min-width: 25px;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 0.5rem;\n }\n`;\n\nexport const PaddingRow = styled.div`\n padding: ${paddingRows};\n padding-top: 1.3rem;\n padding-bottom: 1.3rem;\n border-bottom: 1px solid #e4e4e4;\n`;\n\nexport const ItemsWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\n\nexport const NameTitle = styled.h3`\n font-size: 0.75rem;\n margin-bottom: 4px;\n font-weight: 600;\n color: ${DARK_BLUE};\n`;\n\nexport const DetailsInfo = styled.p`\n font-size: 0.625rem;\n font-weight: normal;\n color: ${({ theme: t }) => t.palette.clay[500]};\n margin-bottom: 16px;\n`;\n\nexport const SubText = styled.p`\n font-size: 0.75rem;\n font-weight: normal;\n color: #a8a8a8;\n`;\n\nexport const AlertContainer = styled.div`\n background: #fff6d0;\n border: 1px solid #ffce01;\n background-image: url(${alert});\n background-repeat: no-repeat;\n background-position: ${({ imageRight }) => (imageRight ? '98% 50%' : '3% 50%')};\n`;\n\nexport const SectionDivider = styled.div`\n :not(:last-child) {\n height: 1px;\n width: 100%;\n background: #e4e4e4;\n margin-top: -1rem;\n margin-bottom: 2rem;\n }\n`;\n\nexport const Img = styled.img`\n cursor: pointer;\n`;\n\nexport const GroupFields = styled.div`\n`;\n\nexport const GroupFieldsRow = styled.div`\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 20px;\n`;\n\nexport const GroupFieldsHeader = styled.div`\n font-weight: 500;\n font-size: ${pxToRem(14)};\n color: #202538;\n padding: ${pxToRem(16)} 0;\n`;\n\nexport const GroupFieldsDivider = styled.div`\n min-height: 1px;\n background: #e4e4e4;\n margin: 1rem 0;\n`;\n\nexport const Download = styled.div`\n cursor: pointer;\n text-decoration-line: underline;\n font-size: 0.875rem;\n font-weight: normal;\n margin-top: 9px;\n box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);\n padding: 12px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nexport const Icon = styled.img`\n transform: rotate(90deg);\n`;\n\nexport const SidebarFiltersTitle = styled.h2`\n font-weight: 500;\n font-size: 0.875rem;\n line-height: 1.5rem;\n margin: 0;\n display: flex;\n flex-direction: column;\n margin-bottom: 12px;\n\n span {\n margin-top: 4px;\n font-weight: 400;\n font-size: 0.75rem;\n line-height: normal;\n }\n`;\n\nexport const EpicSectionSubTitle = styled.h3`\n font-size: 10px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px;\n color: #aaaaaa;\n`;\n\nexport const EpicScenariosTableWrapper = styled.div`\n padding: 0 1rem;\n table {\n td:first-of-type {\n padding-left: 0 !important;\n }\n }\n`;\n\nexport const EpicScenariosSubTableWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 10px;\n background-color: hsl(0,9.1%,97.8%);\n\n > div:not(:last-child) > div {\n margin-bottom: 0;\n }\n\n table {\n td {\n font-weight: 400;\n }\n\n tr {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n }\n }\n`;\n\n// EPIC\nexport const LogsList = styled.ul`\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 8px;\n max-width: 446px;\n margin: 0 auto;\n width: 100%;\n justify-content: flex-start;\n`;\nexport const LogsItem = styled.li`\n padding: 18px 18px 22px 46px;\n border-radius: 8px;\n background: #FFF;\n display: flex;\n flex-direction: column;\n gap: 10px;\n position: relative;\n font-size: 12px;\n width: 100%;\n\n > header {\n display: flex;\n justify-content: space-between;\n font-size: 10px;\n color: #aaa;\n }\n\n svg {\n position: absolute;\n left: 16px;\n top: 14px;\n\n &.error * {\n stroke: red;\n }\n }\n`;\nexport const EpicScenarioCustomHeader = styled.div`\n display: grid;\n grid-template-columns: repeat(${({ items = 3 }) => items}, 1fr);\n align-items: center;\n font-weight: 400;\n font-size: 12px;\n margin: 0 0 16px;\n position: sticky;\n top: 0;\n background-color: hsl(0,9.1%,97.8%);\n padding: 8px 0;\n`;\n\nexport const EpicTableContentColumns = styled.div`\n columns: 2;\n width: 50%;\n font-size: 12px;\n font-weight: 400;\n padding-bottom: 1rem;\n\n > div {\n display: flex;\n gap: 16px;\n\n > div:first-of-type {\n width: 30px;\n }\n }\n span {\n color: #aaaaaa;\n }\n`;\n\nexport const EpicTableHeading = styled.div`\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n flex: 1 1 100%;\n font-weight: 400;\n\n > span:last-child:not(:first-child) {\n position: relative;\n left: 34px;\n }\n `;\n\nexport const EpicEPDContentGrid = styled(Container)`\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 32px;\n font-weight: 400;\n min-height: 40vh;\n\n > div {\n display: flex;\n flex-direction: column;\n gap: 8px;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n }\n\n ul {\n list-style-position: inside;\n margin: 8px 0;\n }\n\n h4 {\n font-size: 12px;\n font-style: normal;\n font-weight: 600;\n line-height: 18px;\n }\n `;\n\nexport const TitleWithStatusDot = styled.div`\n position: relative;\n padding-left: 28px;\n\n &::before {\n content: \"\";\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background-color: #2DD81D;\n position: absolute;\n left:0;\n top: 10px;\n transform: translateY(-50%);\n }\n`;\n","import * as types from './auth.types';\n\nconst initialState = {\n email: null,\n userToken: null,\n refreshToken: null,\n locale: process.env.REACT_APP_DEFAULT_LANG,\n tokenRefreshState: 'done',\n};\n\nconst auth = (state = initialState, action) => {\n switch (action.type) {\n case types.LOGIN: {\n return action.payload;\n }\n\n case types.REFRESH_REQUESTED: {\n return {\n ...state,\n tokenRefreshState: state.tokenRefreshState === 'loading'\n ? state.tokenRefreshState : 'requested',\n };\n }\n\n case types.REFRESH_LOADING: {\n return {\n ...state,\n tokenRefreshState: 'loading',\n };\n }\n\n case types.REFRESH_FAILED: {\n return {\n ...state,\n tokenRefreshState: 'failed',\n };\n }\n\n case types.REFRESH_DONE: {\n return {\n ...state,\n ...action.payload,\n tokenRefreshState: 'done',\n };\n }\n\n case types.LOGOUT: {\n return { ...initialState };\n }\n\n default:\n return state;\n }\n};\n\nexport default auth;\n","import * as types from './company.types';\n\nconst initialState = null;\n\nconst company = (state = initialState, action) => {\n switch (action.type) {\n case types.UPDATE: {\n return { ...action.payload, selectedCompany: action.selectedCompany };\n }\n case types.SELECTED_COMPANY: {\n return { ...state, selectedCompany: action.selectedCompany };\n }\n case types.CLEAR: return initialState;\n default: return state;\n }\n};\n\nexport default company;\n","import * as types from './mercure.types';\n\nconst initialState = {\n importTopic: null,\n updateMercure: null,\n importEnvTopic: null,\n updateEnvMercure: null,\n importCalculationTopic: null,\n updateCalculationMercure: null,\n importPdisTopic: null,\n updatePdisMercure: null,\n calculationRealTimeResultsTopic: null,\n updateCalculationRealTimeResults: null,\n};\n\nconst mercure = (state = initialState, action) => {\n switch (action.type) {\n case types.SET_TOPIC: {\n return {\n ...state,\n importTopic: action.payload,\n importEnvTopic: null,\n importCalculationTopic: null,\n calculationRealTimeResultsTopic: null,\n };\n }\n case types.SET_UPDATE_MERCURE: {\n return { ...state, updateMercure: action.payload };\n }\n case types.SET_ENV_TOPIC: {\n return {\n ...state,\n importEnvTopic: action.payload,\n importTopic: null,\n importCalculationTopic: null,\n calculationRealTimeResultsTopic: null,\n };\n }\n case types.SET_UPDATE_ENV_MERCURE: {\n return { ...state, updateEnvMercure: action.payload };\n }\n case types.SET_CALCULATION_TOPIC: {\n return {\n ...state,\n importCalculationTopic: action.payload,\n importTopic: null,\n importEnvTopic: null,\n calculationRealTimeResultsTopic: null,\n };\n }\n case types.SET_UPDATE_CALCULATION_MERCURE: {\n return { ...state, updateCalculationMercure: action.payload };\n }\n case types.SET_PDIS_TOPIC: {\n return {\n ...state,\n importPdisTopic: action.payload,\n importTopic: null,\n importEnvTopic: null,\n importCalculationTopic: null,\n calculationRealTimeResultsTopic: null,\n };\n }\n case types.SET_UPDATE_PDIS_MERCURE: {\n return { ...state, updatePdisMercure: action.payload };\n }\n case types.SET_CALCULATION_REAL_TIME_RESULTS_TOPIC:\n return {\n ...state,\n importCalculationTopic: null,\n importTopic: null,\n importEnvTopic: null,\n calculationRealTimeResultsTopic: action.payload,\n };\n case types.SET_UPDATE_CALCULATION_REAL_TIME_RESULTS:\n return {\n ...state,\n updateCalculationRealTimeResults: action.payload,\n };\n default:\n return state;\n }\n};\n\nexport default mercure;\n","import * as types from './sidebar.types';\n\nconst initialState = {\n isHidden: false,\n};\n\nconst sidebar = (state = initialState, action) => {\n switch (action.type) {\n case types.HIDE_SIDEBAR: {\n return { ...state, isHidden: !state.isHidden };\n }\n\n default:\n return state;\n }\n};\n\nexport default sidebar;\n","import * as types from './user.types';\n\nconst initialState = {\n email: null,\n locale: process.env.REACT_APP_DEFAULT_LANG,\n membershipSize: 0,\n recentMembershipIds: [],\n};\n\nconst user = (state = initialState, action) => {\n switch (action.type) {\n case types.UPDATE_USER:\n case types.GET_USER: {\n return { ...state, ...action.payload };\n }\n case types.SET_USER_MEMBERSHIP: {\n return {\n ...state,\n ...action.payload,\n recentMembershipIds: action.payload.selectedMembership?.id ? [\n action.payload.selectedMembership.id,\n ...(state.recentMembershipIds\n ?.filter(id => id !== action.payload.selectedMembership.id) || []),\n ].slice(0, 5) : state.recentMembershipIds,\n };\n }\n\n default:\n return state;\n }\n};\n\nexport default user;\n","import {\n combineReducers, createStore, applyMiddleware, compose,\n} from 'redux';\nimport { reducer as formReducer } from 'redux-form';\nimport { persistStore, persistReducer } from 'redux-persist';\nimport storage from 'redux-persist/lib/storage';\nimport reduxThunk from 'redux-thunk';\n// import autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';\n\nimport auth from './auth/auth.reducer';\nimport company from './company/company.reducer';\nimport mercure from './mercure/mercure.reducer';\nimport sidebar from './sidebar/sidebar.reducer';\nimport user from './user/user.reducer';\n\nconst enableReduxDevTools = process.env.NODE_ENV !== 'production'\n && window.__REDUX_DEVTOOLS_EXTENSION__; // eslint-disable-line no-underscore-dangle\n\nconst persistConfig = {\n key: 'root',\n storage,\n // stateReconciler: autoMergeLevel2,\n // Whitelist (Save Specific Reducers)\n whitelist: [\n 'auth',\n 'user',\n ],\n // Blacklist (Don't Save Specific Reducers)\n blacklist: [\n 'company',\n 'calculations',\n 'form',\n ],\n};\n\nconst authPersistConfig = {\n key: 'auth',\n storage,\n whitelist: [\n 'email',\n 'userToken',\n ],\n};\n\nconst userPersistConfig = {\n key: 'user',\n storage,\n whitelist: [\n 'id',\n 'email',\n ],\n};\n\nconst mercurePersistConfig = {\n key: 'mercure',\n storage,\n whitelist: [\n 'importTopic',\n 'updateMercure',\n ],\n};\n\nconst sidebarPersistConfig = {\n key: 'sidebar',\n storage,\n whitelist: [\n 'routeName',\n ],\n};\n\nconst rootReducer = combineReducers({\n auth: persistReducer(authPersistConfig, auth),\n user: persistReducer(userPersistConfig, user),\n mercure: persistReducer(mercurePersistConfig, mercure),\n sidebar: persistReducer(sidebarPersistConfig, sidebar),\n company,\n form: formReducer,\n});\n\nconst persistedReducer = persistReducer(persistConfig, rootReducer);\n\nconst store = createStore(\n persistedReducer,\n enableReduxDevTools ? compose(\n applyMiddleware(reduxThunk),\n enableReduxDevTools && enableReduxDevTools(),\n ) : compose(applyMiddleware(reduxThunk)),\n);\n\nconst persistor = persistStore(store);\n\nexport {\n store,\n persistor,\n};\n","import React from 'react';\n\nimport * as S from './styled';\n\ntype LinkButtonProps = {\n as: 'a' | 'button';\n variant?: 'primary' | 'secondary';\n type?: 'button' | 'submit'\n href?: string;\n onClick?: () => void;\n children: React.ReactNode;\n fullWidth?: boolean;\n color?: 'primary' | 'danger';\n disabled?: boolean\n};\n\nexport const LinkButton = ({\n as = 'a',\n href,\n onClick,\n children,\n fullWidth = false,\n variant = 'primary',\n color = 'primary',\n ...props\n}: LinkButtonProps) => {\n if (as === 'a') {\n return (\n \n {children}\n \n );\n }\n\n return (\n \n {children}\n \n );\n};\n","import React, { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Navigate, Outlet } from 'react-router-dom';\n\nimport { AllMemberships } from 'appComponents/Dashboard/Memberships';\nimport { Loader } from 'appComponents/Loader/styled';\nimport { Placeholder } from 'components/Splash/Loading';\nimport { useSetHeaderConfig } from 'context/SuiteLayoutContext';\nimport { useAllMembershipsWithPermissions, usePermissions } from 'hooks/useMemberships';\nimport { MembershipsContainer } from 'routes/RethinkDashboard.styled';\nimport { AccessControlListKey } from 'types/AccessControlLists';\n\nexport type ProtectedRouteProps = {\n /**\n * Require at least one permission of the array to be granted, takes precedence over require\n */\n requireOneOf?: AccessControlListKey[]\n /**\n * Require all permissions in the array to be granted.\n */\n require?: AccessControlListKey[]\n behavior?: 'go back' | 'select membership'\n /**\n * When behavior is set to 'select membership', if no membership applies, render this fallback. Otherwise, goes back.\n */\n fallback?: React.ComponentType | null\n children?: React.ReactNode\n /**\n * If true, immediately deny access to the route, regardless of permissions. Takes precedence over require and requireOneOf\n */\n authorized?: boolean\n}\n\nexport const ProtectedRoute = ({\n requireOneOf, require, behavior = 'go back', children, authorized, fallback,\n}: ProtectedRouteProps) => {\n const { permissions, selectedMembership } = usePermissions();\n const allMemberships = useAllMembershipsWithPermissions();\n\n let hasPermission = false;\n if (typeof authorized === 'boolean') {\n hasPermission = authorized;\n } else if (requireOneOf) {\n hasPermission = requireOneOf.some(permission => permissions?.[permission]);\n } else if (require) {\n hasPermission = require.every(permission => permissions?.[permission]);\n }\n\n if ((selectedMembership && !permissions) || !allMemberships) {\n return ;\n }\n\n if (!hasPermission) {\n console.log('Does not have permission', require);\n switch (behavior) {\n case 'select membership':\n return (\n \n );\n default: return ;\n }\n }\n\n return (children || ) as JSX.Element;\n};\n\nconst GoBack = () => ;\n\nconst MembershipSelector = ({ require, requireOneOf, fallback: Fallback }: Pick) => {\n const memberships = useAllMembershipsWithPermissions();\n const { t } = useTranslation();\n useSetHeaderConfig(null);\n\n const availableRoles = useMemo(() => {\n if (!memberships) {\n return null;\n }\n const result = [] as typeof memberships;\n\n memberships.forEach(membership => {\n const matching = membership.roles.filter(\n role => (requireOneOf?.some(key => role.permissions[key])\n || require?.every(key => role.permissions[key])),\n );\n if (matching.length) {\n result.push({\n ...membership,\n roles: matching,\n });\n }\n });\n\n return result;\n }, [memberships, require, requireOneOf]);\n\n if (availableRoles && availableRoles.length === 0) {\n return Fallback ? : ;\n }\n\n return (\n // @ts-expect-error not typed\n \n \n \n \n \n );\n};\n\nProtectedRoute.GoBack = GoBack;\n","import { LIGHT_BLUE } from 'config/style';\nimport React, { memo } from 'react';\nimport styled from 'styled-components';\n\nconst Article = styled.article`\n ul {\n margin-inline-start: 20px;\n }\n ol {\n margin-inline-start: 20px;\n }\n\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n\n figure {\n margin-left: 0;\n margin-right: 0;\n table {\n width: 100%;\n border-collapse: collapse;\n \n th {\n background-color: ${LIGHT_BLUE};\n padding: 8px;\n text-align: left;\n white-space: nowrap;\n font-weight: 600;\n }\n\n tbody {\n tr {\n border-bottom: 1px solid ${LIGHT_BLUE};\n td {\n padding: 8px;\n }\n }\n }\n }\n }\n`;\n\nArticle.defaultProps = {\n className: 'with-p-margins',\n};\n\nconst RenderHTML = ({ children, html, ...props }) => (\n
\n);\n\nexport default memo(RenderHTML);\n","import {\n useCallback, useEffect, useMemo, useState,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport useSWR, { Middleware } from 'swr';\n\nimport useSWRInfinite, { SWRInfiniteConfiguration } from 'swr/infinite';\n\nimport { versionedApi } from 'services/network';\n\nimport { useCurrentMembership } from './useMemberships';\n\nexport const useCompany = (companyIdParam: number | 'mine' | null) => {\n const { selectedMembership } = useCurrentMembership();\n const id = Number(companyIdParam === 'mine' ? selectedMembership?.company?.id : companyIdParam);\n\n const data = useSWR(\n selectedMembership?.id && id ? ['company', id, selectedMembership?.id] : null,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (params: unknown[]) => versionedApi.get(`/companies/${params[1]}`),\n { dedupingInterval: 15000, focusThrottleInterval: 60000 },\n );\n\n return {\n data,\n isSelf: companyIdParam === 'mine' || id === Number(selectedMembership?.company?.id),\n companyId: id,\n isLoading: data.isLoading,\n };\n};\n\nconst fetcher = (url: string) => versionedApi.get(url.startsWith('/2') ? url.slice(2) : url).then(({\n // @ts-expect-error old api client automatically gives response\n 'hydra:member': data,\n // @ts-expect-error same\n 'hydra:view': view,\n // @ts-expect-error same\n 'hydra:totalItems': totalItems,\n}) => (({\n // @ts-expect-error dropdown needs these\n data: data.map(d => ({ ...d, label: d.name, value: d.name })),\n\n totalItems,\n nextPage: view?.['hydra:next'],\n url,\n}) as {nextPage: string,\n totalItems: number, data: CompanyDetails[]}));\n\n type Params = {\n reviewCompany?: boolean,\n operator?: boolean,\n itemsPerPage?: number\n name?: string,\n isCorp?: boolean,\n corporation?: number\n 'order[name]'?: 'asc' | 'desc'\n siblingsOf?: number\n }\n\nexport const useCompanies = (params: Params, {\n skip, onError, onSuccess, swrConfig,\n}: {\n skip?: boolean\n onSuccess?: (data: Awaited>[], key: string) => void,\n onError?: () => void,\n allowWithoutSelectedMembership?: boolean\n swrConfig?: SWRInfiniteConfiguration\n} = {}) => {\n // const canViewCompanies = permissions?.['company.company_childs.view'] || (allowWithoutSelectedMembership && !permissions);\n const stringifiedParams = JSON.stringify(params);\n const getKey = useCallback((index: number, previousPage: {nextPage?: string}) => {\n // if (!canViewCompanies) return null;\n if (previousPage) return previousPage.nextPage;\n if (index > 0) return null;\n\n const query = new URLSearchParams(JSON.parse(stringifiedParams));\n if (!query.get('itemsPerPage')) {\n query.set('itemsPerPage', '15');\n }\n\n const siblingsOf = Number(query.get('siblingsOf'));\n query.delete('siblingsOf');\n query.forEach((v, k) => {\n if (!v) {\n query.delete(k);\n }\n });\n query.sort();\n return siblingsOf ? `/companies/${siblingsOf}/siblings?${query.toString()}` : `/companies?${query.toString()}`;\n }, [stringifiedParams]);\n\n const data = useSWRInfinite(\n getKey,\n fetcher,\n {\n dedupingInterval: 5000,\n focusThrottleInterval: 30000,\n revalidateAll: true,\n // isPaused: () => skip || false,\n ...(onSuccess && { onSuccess }),\n ...(onError && { onError }),\n ...(swrConfig || {}),\n },\n );\n\n return {\n swr: data,\n isLoading: data.isLoading,\n data: data?.data?.flatMap(d => d.data),\n totalItems: data?.data?.[0]?.totalItems,\n loadNextPage: () => data.setSize(s => s + 1),\n };\n};\n// @ts-expect-error not typed\nconst companyMiddleware: Middleware = (useSWRNext) => (key, fetcherFn, config) => {\n const res = useSWRNext(key, fetcherFn, config);\n\n // @ts-expect-error custom prop\n if (!config.includeCompany && !config.includeAllCompaniesOption) return res;\n return {\n ...res,\n // @ts-expect-error not typed\n data: !res.data || res.data?.[0].includesSelf ? res.data : [\n {\n // @ts-expect-error not typed\n ...res.data?.[0],\n data: [\n // @ts-expect-error not typed\n ...(config.includeAllCompaniesOption ? [config.includeAllCompaniesOption] : []),\n // @ts-expect-error not typed\n ...(config.includeCompany ? [config.includeCompany] : []),\n // @ts-expect-error not typed\n ...res.data?.[0].data],\n includesSelf: true,\n },\n // @ts-expect-error not typed\n ...res.data?.slice(1),\n ],\n };\n};\n\nexport const useCompaniesForDropdown2 = (\n params: Params,\n options?: {skip?: boolean, includeCurrentCompany?: boolean, includeAllCompaniesOption?: boolean},\n) => {\n const { includeAllCompaniesOption, includeCurrentCompany } = options || {};\n const [currentSearchTerm, onSearch] = useState(params?.name as string || '');\n useEffect(() => {\n onSearch(params.name as string || '');\n }, [params.name]);\n\n const { selectedMembership } = useCurrentMembership();\n const company = selectedMembership?.company;\n\n const { t } = useTranslation();\n const allCompaniesOption = useMemo(() => {\n if (!includeAllCompaniesOption) return null;\n\n const label = t('all');\n if (!!currentSearchTerm && !label.toLowerCase()\n .includes(currentSearchTerm.toLowerCase())) { return null; }\n\n return { id: 'all', name: label };\n }, [currentSearchTerm, includeAllCompaniesOption, t]);\n\n const useMiddleware = (includeCurrentCompany\n && (!currentSearchTerm\n || company?.name?.toLowerCase().includes(currentSearchTerm.toLowerCase())))\n || (!!allCompaniesOption);\n\n const original = useCompanies({\n ...params,\n name: currentSearchTerm || params.name as string,\n }, {\n skip: options?.skip || false,\n swrConfig: {\n initialSize: 1,\n revalidateFirstPage: false,\n use: useMiddleware ? [companyMiddleware] : undefined,\n // @ts-expect-error this is used in middleware\n includeCompany: includeCurrentCompany && company,\n includeAllCompaniesOption: allCompaniesOption,\n },\n });\n\n return {\n ...original.swr,\n loadMore: () => original.swr.setSize(s => s + 1),\n onSearch,\n };\n};\n\n// Autogenerated type defs here:\nexport interface CompanyDetails {\n '@context': string\n '@id': string\n '@type': string\n id: number\n name: string\n country: string\n city: string\n postalCode: string\n address: string\n memberships: string[]\n license: number\n logoImage: LogoImage\n reviewerCosts: boolean\n reviewCompany: boolean\n expertUserAddOn: boolean\n protected: boolean\n companyLicenses: CompanyLicense[]\n createdAt: string\n corporation: boolean\n parentCompany: ParentCompany\n relatedCorporation: string\n nibeCustomerNumber: string\n publisher: boolean\n operator: boolean\n publisherNamePerson1: string\n publisherFunctionPerson1: string\n publisherAutographPerson1: PublisherAutographPerson1\n publisherNamePerson2: string\n publisherFunctionPerson2: string\n publisherAutographPerson2: PublisherAutographPerson2\n language: string,\n}\n\nexport interface LogoImage {\n '@id': string\n '@type': string\n id: number\n contentUrl: string\n filePath: string\n createdAt: string\n lastModifiedAt: string\n}\n\nexport interface CompanyLicense {\n '@type': string\n id: number\n license: License\n}\n\nexport interface License {\n '@type': string\n id: number\n code: string\n name: string\n type: string\n description: string\n canShow: boolean\n roles: Role[]\n}\n\nexport interface Role {\n '@id': string\n '@type': string\n id: number\n name: string\n permissionsAllowed: any[][]\n view: string\n}\n\nexport interface ParentCompany {\n '@id': string\n '@type': string\n id: number\n name: string\n memberships: string[]\n license: number\n expertUserAddOn: boolean\n protected: boolean\n companyLicenses: CompanyLicense2[]\n createdAt: string\n corporation: boolean\n parentCompany: ParentCompany2\n relatedCorporation: string\n publisher: boolean\n operator: boolean\n}\n\nexport interface CompanyLicense2 {\n '@type': string\n id: number\n license: License2\n}\n\nexport interface License2 {\n '@type': string\n id: number\n code: string\n name: string\n type: string\n description: string\n canShow: boolean\n roles: Role2[]\n}\n\nexport interface Role2 {\n '@id': string\n '@type': string\n id: number\n name: string\n permissionsAllowed: any[][]\n view: string\n}\n\nexport interface ParentCompany2 {\n '@id': string\n '@type': string\n id: number\n name: string\n memberships: string[]\n license: number\n expertUserAddOn: boolean\n protected: boolean\n companyLicenses: CompanyLicense3[]\n createdAt: string\n corporation: boolean\n publisher: boolean\n operator: boolean\n}\n\nexport interface CompanyLicense3 {\n '@type': string\n id: number\n license: License3\n}\n\nexport interface License3 {\n '@type': string\n id: number\n code: string\n name: string\n type: string\n description: string\n canShow: boolean\n roles: Role3[]\n}\n\nexport interface Role3 {\n '@id': string\n '@type': string\n id: number\n name: string\n permissionsAllowed: any[][]\n view: string\n}\n\nexport interface PublisherAutographPerson1 {\n '@id': string\n '@type': string\n id: number\n contentUrl: string\n filePath: string\n createdAt: string\n lastModifiedAt: string\n}\n\nexport interface PublisherAutographPerson2 {\n '@id': string\n '@type': string\n id: number\n contentUrl: string\n filePath: string\n createdAt: string\n lastModifiedAt: string\n}\n","module.exports = __webpack_public_path__ + \"static/media/close.be38c0c6.svg\";","import { Link } from 'react-router-dom';\nimport styled, { css } from 'styled-components';\n\nimport { MAX_WIDTH } from 'config/style';\n\nexport const StyledWrapper = styled.div`\n min-height: calc(100vh - 64px);\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n overflow: hidden;\n`;\n\nexport const StyledContainer = styled.div`\n max-width: ${MAX_WIDTH};\n width: 100%;\n margin: 0 auto;\n`;\n\nexport const StyledTitle = styled.h1`\n font-size: 1rem;\n font-weight: 500;\n margin: 0;\n\n span {\n color: ${({ theme }) => theme.palette.clay[500]};\n }\n`;\n\nexport const Wrapper = styled.div`\n display: flex;\n gap: 20px;\n margin-bottom: 8px;\n`;\n\nexport const StyledSection = styled.div`\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 40px 0;\n`;\n\nexport const UpdateAndNotificationSection = styled.div`\n background-color: #faf9f9;\n padding: 32px 0;\n margin-top: auto;\n flex: 1;\n display: flex;\n\n ${({ expanded, empty }) => (expanded || empty) && css`\n\n > div > div > h1 + div {\n max-height: calc(100vh - 650px);\n }\n `}\n\n ${StyledContainer} {\n display: flex;\n gap: 120px;\n\n > div {\n flex: 1.3;\n\n &:first-child {\n flex-grow: 2;\n }\n }\n }\n`;\n\nexport const StyledColumn = styled.div`\n display: flex;\n flex-direction: column;\n gap: 16px;\n`;\n\nexport const UpdateRow = styled(Link)`\n padding: 1rem 20px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n border-radius: 8px;\n background-color: ${({ $alert }) => ($alert ? '#FFCE01' : '#fff')};\n min-height: 140px;\n font-size: 12px;\n\n /* &:hover {\n box-shadow: ${({ theme }) => theme.elevation.light};\n } */\n\n .date {\n color: ${({ theme }) => theme.palette.clay[500]};\n font-size: 10px;\n }\n .name {\n color: ${({ theme }) => theme.palette.clay[800]};\n font-size: 12px;\n font-weight: 500;\n }\n .description {\n color: ${({ theme }) => theme.palette.clay[800]};\n font-size: 12px;\n }\n\n /* img {\n display: ${({ $alert }) => ($alert ? 'block' : 'none')};\n } */\n`;\n\nexport const ItemsContainer = styled.div`\n font-size: 14px;\n font-weight: normal;\n margin-bottom: 8px;\n display: flex;\n flex-direction: column;\n max-height: calc(100vh - 545px);\n gap: ${({ size = 'sm' }) => (size === 'sm' ? '8px' : '16px')};\n overflow: auto;\n position: relative;\n`;\n\nexport const EmptyListMessage = styled.div`\n color: #aaaaaa;\n display: block;\n margin: auto 0;\n font-size: 14px;\n`;\n\nexport const ItemsHeader = styled.div`\n font-weight: normal;\n display: grid;\n grid-template-columns: 3fr 1fr 1fr 1fr 30px;\n padding: 0 18px 12px 18px;\n font-size: 0.625rem;\n align-items: center;\n position: sticky;\n top: 0;\n background-color: #FAFAF8;\n\n >div:first-child {\n position: relative;\n left: -18px;\n }\n`;\n\nexport const ItemsSecondaryContainer = styled(Link)`\n font-weight: normal;\n display: grid;\n grid-template-columns: 3fr 1fr 1fr 1fr 30px;\n padding: 18px;\n background-color: #fff;\n border-radius: 8px;\n font-size: 0.625rem;\n align-items: center;\n\n &:last-of-type {\n margin-bottom: 12px;\n }\n\n .title {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 300px;\n font-size: 0.75rem;\n }\n\n .sm {\n color: ${({ theme }) => theme.palette.clay[500]};\n font-weight: 400;\n margin-top: 4px;\n font-size: 0.625rem;\n }\n\n .date {\n color: #E3A100;\n display: flex;\n align-items: center;\n gap: 4px;\n\n &.expired {\n color: #A50808;\n\n svg * {\n stroke: #A50808;\n }\n }\n }\n`;\n\nexport const AnnouncementsRowSecondary = styled(Link)`\n padding: 18px;\n border-radius: 8px;\n background: #fff;\n display: flex;\n flex-direction: column;\n gap: 10px;\n width: 100%;\n min-width: 400px;\n\n .title {\n font-size: 0.75rem;\n }\n\n .date {\n color: ${({ theme }) => theme.palette.clay[500]};\n font-weight: 400;\n font-size: 0.625rem;\n }\n`;\n\nexport const AnnouncementsRow = styled(Link)`\n padding-right: 1rem;\n\n .title {\n font-size: 0.75rem;\n }\n\n .date {\n color: ${({ theme }) => theme.palette.clay[500]};\n font-weight: 400;\n margin-top: 4px;\n font-size: 0.625rem;\n }\n`;\n\nexport const StyledTop = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n`;\n\nexport const NotificationsContainer = styled.div`\n border-bottom: 1px solid #ebebeb;\n`;\n\nexport const FooterContainer = styled.div`\n margin-bottom: 5rem;\n border-top: 1px solid #e4e4e4;\n padding-top: 1.625rem;\n`;\n\nexport const NoDataWrapper = styled.div`\n display: flex;\n gap: 40px;\n align-items: center;\n\n span {\n font-size: 12px;\n color: #aaaaaa;\n }\n`;\n\nexport const NoDataWrapperSecondary = styled.div`\n padding: 1.25rem 0.5rem 0.75rem;\n min-height: 80%;\n\n span {\n font-size: 14px;\n color: #aaaaaa;\n }\n gap: 50px;\n display: flex;\n flex-direction: column;\n\n svg {\n display: block;\n margin: auto;\n }\n`;\n\nexport const LinksRow = styled.div`\n display: flex;\n gap: 16px;\n`;\n","module.exports = __webpack_public_path__ + \"static/media/alert.8eb80831.svg\";","import styled from 'styled-components';\n\nimport { MAX_WIDTH } from 'config/style';\n\nexport const Container = styled.div`\n max-width: ${MAX_WIDTH};\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: space-between;\n color: #fff;\n font-size: 12px;\n font-weight: normal;\n`;\n\nexport const StyledFooter = styled.div``;\n\nexport const StyledContainer = styled.div`\n display: flex;\n ${(props) => props.type === 'space-between' && 'flex-direction: column;'} p:first-child {\n margin-bottom: 5px;\n }\n\n color: #fff;\n`;\n\nexport const StyledWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n`;\n\nexport const StyledColumn = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const Anchor = styled.a`\n color: #fff;\n font-size: 12px;\n font-weight: normal;\n`;\n","import _ from 'lodash';\nimport React, { memo } from 'react';\nimport { useAsync } from 'react-async-hook';\nimport { useSelector } from 'react-redux';\n\nimport { versions } from 'services';\n\nimport * as S from './Footer.styled';\n\nconst YEAR = new Date().getFullYear();\n\nconst Footer = ({ style = null, type = null }) => {\n const { id: companyId } = useSelector(state => state.company || {});\n const {\n loading,\n result: databases,\n } = useAsync(() => companyId && versions.get(companyId), [companyId]);\n const [globalDB, clientDB] = (_.isArray(databases) && databases) || [];\n\n return (\n \n \n \n\n \n {!loading && (\n \n {globalDB && (\n
\n Database version: \n {globalDB.versionName}\n
\n )}\n\n {clientDB && (\n
\n Client Database version: \n {clientDB.versionName}\n
\n )}\n
\n )}\n\n \n \n {`Copyright ${YEAR} NIBE | `}\n \n nibe-sustainability-experts.com\n \n \n \n
\n
\n
\n
\n );\n};\n\nexport default memo(Footer);\n","import styled from 'styled-components/macro';\n\nconst height = 22;\n\nexport const Label = styled.label`\n font-size: 0.75rem;\n margin-right: .5em;\n cursor: pointer;\n`;\n\nexport const Wrapper = styled.div`\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n\n .switch {\n position: relative;\n display: inline-block;\n width: 36px;\n height: ${height}px;\n line-height: 1;\n }\n\n .switch input {\n opacity: 0;\n width: 0;\n height: 0;\n }\n\n .slider {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #ccc;\n transition: .4s;\n }\n\n .slider:before {\n position: absolute;\n content: \"\";\n height: ${height - 4}px;\n width: ${height - 4}px;\n left: 2px;\n bottom: 2px;\n background-color: white;\n transition: .4s;\n }\n\n input:checked + .slider {\n background-color: ${({ theme }) => theme.palette.blue[300]};\n }\n\n input:focus + .slider {\n box-shadow: 0 0 1px ${({ theme }) => theme.palette.blue[300]};\n }\n\n input:checked + .slider:before {\n transform: translateX(14px);\n }\n\n /* Rounded sliders */\n .slider.round {\n border-radius: 34px;\n }\n\n .slider.round:before {\n border-radius: 50%;\n }\n`;\n","import { withLabels } from 'components/Field/field';\nimport React, { memo } from 'react';\nimport * as S from './SwitchToggle.styled';\n\nconst SwitchToggle = ({\n checked, label, input, ...props\n}) => (\n \n {label && (\n \n {label}\n \n )}\n\n \n \n);\n\nexport default memo(SwitchToggle);\n\nexport const ToggleField = withLabels(SwitchToggle);\n","/* eslint-disable no-param-reassign */\nimport i18next from 'i18next';\nimport _ from 'lodash';\n\nimport { alertToast, errorToast } from 'config/toast';\n\nimport network from './network';\n\nconst hydraMember = ({ 'hydra:member': data }) => data;\n\nexport const paginatedMember = ({\n 'hydra:member': data,\n 'hydra:view': view,\n 'hydra:totalItems': totalItems,\n}) => ({\n data,\n nextPage: view && view['hydra:next'],\n totalItems,\n});\n\nconst remove = (id, config) => network\n .delete(`/calculations/${id}`, config)\n .catch(errorToast);\n\nexport const all = (params) => network\n .get('/calculations', { params })\n .then(paginatedMember)\n .catch(errorToast);\n\nexport const get = (id) => network\n .get(`/calculations/${id}`)\n .catch((err) => {\n errorToast(err);\n return null;\n });\nexport const getByRef = ref => ref && network\n .get(`${process.env.REACT_APP_API_URL}${ref}`)\n .catch(errorToast);\n\nexport const triggerCalculation = calculation => network.post('/calculation_result_journals', {\n calculation: calculation['@id'],\n});\n\nexport const getExtended = (id) => get(id)\n .then(async (calc) => {\n if (!calc) return { error: true };\n\n const witExtras = _.clone(calc);\n const shouldFetch = [];\n\n if (calc.location) {\n shouldFetch.push(\n network\n .get(`${process.env.REACT_APP_API_URL}${calc.location}`)\n .then((r) => ['location', r]),\n );\n }\n\n if (calc.template) {\n shouldFetch.push(\n network\n .get(`${process.env.REACT_APP_API_URL}${calc.template?.['@id']}`)\n .then((r) => ['template', r]),\n );\n }\n\n const data = await Promise.all(shouldFetch);\n\n _.forEach(data, ([key, value]) => {\n witExtras[key] = value;\n });\n\n return witExtras;\n });\n\nexport const getByFolder = (config = {}) => {\n const productName = config?.params?.['order[productName]'];\n\n if (productName) {\n delete config?.params?.['order[productName]'];\n config.params['order[productName]'] = productName;\n }\n\n return network\n .get('/calculations', config)\n .then(paginatedMember)\n .catch(errorToast);\n};\n\nexport const getNextPageByFolder = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(paginatedMember)\n .catch(errorToast);\n\nexport const bulk = {\n accept: (reviews) => network\n .post('/group_actions/accept_reviews', { reviews })\n .then(result => {\n alertToast('Accepted', 'success');\n return result;\n })\n .catch(errorToast),\n\n complete: (reviews, other) => network\n .post('/group_actions/approve_reviews', { reviews, ...other })\n .then(result => {\n alertToast('Approved!', 'success');\n return result;\n })\n .catch(errorToast),\n\n copy: (calculations, folder) => network\n .post('/group_actions/copy_calculations', { calculations, folder })\n .then(() => alertToast('Copied!', 'success'))\n .catch(errorToast),\n\n decline: (reviews, other) => network\n .post('/group_actions/decline_reviews', { reviews, ...other })\n .then(result => {\n alertToast('Declined', 'success');\n return result;\n })\n .catch(errorToast),\n\n remove: (calculations) => {\n const config = { params: { owner: 'none' } };\n if (calculations.length === 1) return remove(calculations[0].split('/')[3], config);\n return network\n .post('/group_actions/delete_calculations', { calculations }, config)\n .then(() => alertToast(i18next.t('Calculations have been deleted with success!'), 'success'))\n .catch(errorToast);\n },\n\n move: (calculations, folder) => network\n .post('/group_actions/move_calculations', { calculations, folder })\n .then(() => alertToast('Moved!', 'success'))\n .catch(errorToast),\n\n purchase: (calculations) => network\n .post('/group_actions/purchase_calculations', { calculations })\n .then(() => alertToast('Purchased!', 'success'))\n .catch(err => errorToast(err, 'Insufficient credits to purchase this calculation')),\n\n refuse: (reviews, other) => network\n .post('/group_actions/deny_reviews', { reviews, ...other })\n .then(result => {\n alertToast('Denied reviews', 'success');\n return result;\n })\n .catch(errorToast),\n\n reject: (reviews, other) => network\n .post('/group_actions/reject_reviews', { reviews, ...other })\n .then(result => {\n alertToast('Rejected reviews', 'success');\n return result;\n })\n .catch(errorToast),\n\n download: (calculations, format) => network\n .post('/group_actions/report_downloads', { calculations, format })\n .then(() => alertToast(\"We've sent you an email with your download link.\", 'success'))\n .catch(error => {\n const err = { error }.error.response.data['hydra:description'];\n alertToast(err, 'error');\n throw error;\n }),\n\n resubmit: (reviews) => network\n .post('/group_actions/resubmit_reviews', { reviews })\n .then(() => alertToast('Re-submitted to review!', 'success'))\n .catch(errorToast),\n\n submit: (reviews, reviewer) => network\n .post('/group_actions/submit_reviews', { reviews, reviewer })\n .then(() => alertToast('Submitted to review!', 'success'))\n .catch(errorToast),\n};\n\nexport const create = (payload) => network.post('/calculations', payload).then((r) => {\n alertToast('The calculation has been created successfully!', 'success');\n return r;\n});\n\nconst patchNullValues = (payload, except) => {\n const result = { ...payload };\n Object.keys(result).forEach(k => {\n if (result[k] === null\n && (!except || !except.includes(k))\n && !k.endsWith('File')\n && !k.endsWith('Image')\n && !k.endsWith('template')\n && k !== 'predefinedConstructionWaste') result[k] = '';\n });\n\n return result;\n};\n\nexport const save = (id, payload) => network\n .patch(\n `/calculations/${id}`,\n patchNullValues(payload),\n { fileHeader: { 'Content-Type': 'application/merge-patch+json' } },\n )\n .then((r) => {\n alertToast('Calculation data updated!', 'success');\n return r;\n });\n\nexport const deleteSensativeAnalysisImageFile = url => network\n .delete(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(() => alertToast('Calculation sensitive analysis image deleted with success!', 'success'))\n .catch(errorToast);\n\nexport const uploadAllocationImageFile = (payload) => network\n .post('/media_objects', payload, {\n params: { owner: 'none' }, fileHeader: { 'Content-Type': 'multipart/form-data' },\n })\n .then(result => {\n alertToast('File uploaded with success!', 'success');\n return result;\n })\n .catch(() => alertToast('The file couldn’t be uploaded (try another one)', 'error'));\n\nexport const deleteAllocationImageFile = url => network\n .delete(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(() => alertToast('File deleted with success!', 'success'))\n .catch(errorToast);\n\nexport const uploadSensativeAnalysisImageFile = (id, payload) => network\n .post(`/calculations/${id}/sensativeanalysisimagefile`, payload)\n .catch(errorToast);\n\nexport const deleteProductImageFile = (id) => network\n .delete(`/calculations/${id}/productimagefile`)\n .then(() => alertToast('Calculation data updated!', 'success'))\n .catch(errorToast);\n\nexport const deleteProductFlowImageFile = (id) => network\n .delete(`/calculations/${id}/productflowimagefile`)\n .then(() => alertToast('Calculation data updated!', 'success'))\n .catch(errorToast);\n\nexport const deleteProductDescriptionImageFile = (id) => network\n .delete(`/calculations/${id}/productdescriptionimagefile`)\n .then(() => alertToast('Calculation data updated!', 'success'))\n .catch(errorToast);\n\nexport const deleteProductPerformanceFile = (id) => network\n .delete(`/calculations/${id}/productperformancefile`)\n .then(() => alertToast('Calculation data updated!', 'success'))\n .catch(errorToast);\n\nexport const deleteProductionProcessImageFile = (id) => network\n .delete(`/calculations/${id}/productionprocessimagefile`)\n .then(() => alertToast('Calculation data updated!', 'success'))\n .catch(errorToast);\n\nexport const deleteProductionProcessFile = (id) => network\n .delete(`/calculations/${id}/productionprocessfile`)\n .then(() => alertToast('Calculation data updated!', 'success'))\n .catch(errorToast);\n\nexport const deleteConstructionProcessImageFile = (id) => network\n .delete(`/calculations/${id}/constructionprocessimagefile`)\n .then(() => alertToast('Calculation data updated!', 'success'))\n .catch(errorToast);\n\nexport const deleteConstructionProcessFile = (id) => network\n .delete(`/calculations/${id}/constructionprocessfile`)\n .then(() => alertToast('Calculation data updated!', 'success'))\n .catch(errorToast);\n\nexport const deleteConstructionWasteFile = (id) => network\n .delete(`/calculations/${id}/constructionwastefile`)\n .then(() => alertToast('Calculation data updated!', 'success'))\n .catch(errorToast);\n\nexport const uploadProductImageFile = (id, payload) => network\n .post(`/calculations/${id}/productimagefile`, payload)\n .catch(errorToast);\n\nexport const uploadProductFlowImageFile = (id, payload) => network\n .post(`/calculations/${id}/productflowimagefile`, payload)\n .catch(errorToast);\n\nexport const uploadProductDescriptionImageFile = (id, payload) => network\n .post(`/calculations/${id}/productdescriptionimagefile`, payload)\n .catch(errorToast);\n\nexport const uploadProductPerformanceFile = (id, payload) => network\n .post(`/calculations/${id}/productperformancefile`, payload)\n .catch(errorToast);\n\nexport const uploadProductionProcessImageFile = (id, payload) => network\n .post(`/calculations/${id}/productionprocessimagefile`, payload)\n .catch(errorToast);\n\nexport const uploadProductionProcessFile = (id, payload) => network\n .post(`/calculations/${id}/productionprocessfile`, payload)\n .catch(errorToast);\n\nexport const uploadConstructionProcessImageFile = (id, payload) => network\n .post(`/calculations/${id}/constructionprocessimagefile`, payload)\n .catch(errorToast);\n\nexport const uploadConstructionProcessFile = (id, payload) => network\n .post(`/calculations/${id}/constructionprocessfile`, payload)\n .catch(errorToast);\n\nexport const uploadConstructionWasteFile = (id, payload) => network\n .post(`/calculations/${id}/constructionwastefile`, payload)\n .catch(errorToast);\n\nexport const inputs = (id, params) => network\n .get(`/calculations/${id}/inputs`, { params, headers: { Accept: 'application/ld+json' } })\n .then(paginatedMember)\n .catch(errorToast);\n\nexport const input = (inputId) => network\n .get(`/inputs/${inputId}`)\n .catch(errorToast);\n\nexport const removeInput = (inputId) => network\n .delete(`/inputs/${inputId}`)\n .catch(errorToast);\n\nexport const saveInput = (payload, inputId) => {\n const [verb, url] = inputId ? ['put', `/inputs/${inputId}`] : ['post', '/inputs'];\n\n return network[verb](url, payload)\n .then(r => {\n if (inputId) alertToast('Calculation input data updated!', 'success');\n else alertToast('Calculation input data created!', 'success');\n return r;\n })\n .catch(errorToast);\n};\n\nexport const usages = id => id && network\n .get(`/product_calculations/${id}/semi_finished_product_usages`)\n .then(hydraMember)\n .catch(errorToast);\n\nexport const usage = id => id && network\n .get(`/semi_finished_product_usages/${id}`)\n .catch(errorToast);\n\nexport const removeUsage = (usageId) => network\n .delete(`/semi_finished_product_usages/${usageId}`)\n .catch(errorToast);\n\nexport const saveUsage = (payload, inputId) => {\n const [verb, url] = inputId\n ? ['put', `/semi_finished_product_usages/${inputId}`]\n : ['post', '/semi_finished_product_usages'];\n\n return network[verb](url, payload).catch(errorToast);\n};\n\nexport const copyInput = (id) => network\n .post(`/inputs/${id}/copy`)\n .then(() => alertToast('Input copied with success!', 'success'))\n .catch(errorToast);\n\nexport const createReport = (params) => network\n .post('/reports', params)\n .catch(errorToast);\n\nexport const getReport = (id, params) => network\n .get(`/reports/${id}`, params)\n .then(res => {\n if (res?.state === 'failed') {\n throw new Error();\n }\n return res;\n })\n .catch(() => {\n alertToast(i18next.t('There was an error accessing the report, please try again.'), 'error');\n return null;\n });\n\nexport const getReportRef = (id, params) => network\n .get(`${process.env.REACT_APP_API_URL}${id}`, params)\n .catch(errorToast);\n\nexport const getAllSfpsForDropdown = (params) => network\n .get('/semi_finished_products', { params })\n .then(paginatedMember)\n .catch(errorToast);\n\nexport const getTemplates = (params) => network\n .get('/templates', { params })\n .then(paginatedMember)\n .catch(errorToast);\n\nexport const deleteTemplates = (id) => network\n .delete(`/templates/${id}`)\n .then(result => {\n alertToast(i18next.t('The template has been deleted successfully!'), 'success');\n return result;\n })\n .catch(errorToast);\n\nexport const copyTemplate = id => network\n .post('/group_actions/copy_templates', { templates: [id] })\n .then(() => alertToast('Copied!', 'success'))\n .catch(errorToast);\n\nexport const createTemplate = (params) => network\n .post('/templates', params)\n .then(result => {\n alertToast(i18next.t('The template has been created successfully!'), 'success');\n return result;\n })\n .catch(errorToast);\n\nexport const getTemplateDetail = (id) => network\n .get(`/templates/${id}`)\n .catch(errorToast);\n\nexport const saveTemplate = (id, payload) => network\n .patch(\n `/templates/${id}`,\n patchNullValues(payload, ['publisher', 'operator']),\n { fileHeader: { 'Content-Type': 'application/merge-patch+json' } },\n )\n .then((r) => {\n alertToast(i18next.t('The template has been updated successfully!'), 'success');\n return r;\n });\n\nexport const getTemplateCalculations = (id, params) => network\n .get(`/templates/${id}/calculations`, { params })\n .then(paginatedMember)\n .catch(errorToast);\n","module.exports = __webpack_public_path__ + \"static/media/success.68ede0cf.svg\";","export const HIDE_SIDEBAR = 'HIDE_SIDEBAR';\n","import _ from 'lodash';\nimport { errorToast } from 'config/toast';\n\nimport network from './network';\n\nconst paginatedMember = ({\n 'hydra:member': data,\n 'hydra:view': view,\n 'hydra:totalItems': totalItems,\n}) => ({\n get profiles() {\n return this.data;\n },\n get wastescenarios() {\n return this.data;\n },\n data,\n nextPage: view && view['hydra:next'],\n totalItems,\n});\n\nexport const all = (params) => network\n .get('/environmental_profiles', { params: { ...params, visible: true } })\n .then(paginatedMember)\n .catch((err) => errorToast(err));\n\nexport const getNextPageProfiles = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(paginatedMember)\n .catch((err) => errorToast(err));\n\nexport const allSections = (params) => network\n .get('/sections', { params })\n .then((r) => ({\n get sections() {\n return this.data;\n },\n data: _.map(r['hydra:member'], (section) => ({\n ...section,\n label: section.name,\n value: section.name,\n })),\n nextPage: r['hydra:view'] && r['hydra:view']['hydra:next'],\n totalItems: r['hydra:totalItems'],\n }))\n .catch((err) => errorToast(err));\n\nexport const getNextPageAllSections = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then((r) => ({\n get sections() {\n return this.data;\n },\n data: _.map(r['hydra:member'], (section) => ({\n ...section,\n label: section.name,\n value: section.name,\n })),\n nextPage: r['hydra:view'] && r['hydra:view']['hydra:next'],\n totalItems: r['hydra:totalItems'],\n }))\n .catch((err) => errorToast(err));\n\nexport const getProfileById = (params) => network\n .get(`/environmental_profiles/${params.id}`)\n .catch((err) => errorToast(err));\n\nexport const environmentalProfileEffects = ({ id }) => network\n .get(`/profiles/${id}/effects`)\n .catch((err) => errorToast(err));\n\nexport const getSectionById = ({ id }) => network\n .get(`/sections/${id}`)\n .catch((err) => errorToast(err));\n\nexport const getOwnerById = ({ id }) => network\n .get(`/companies/${id}`)\n .catch((err) => errorToast(err));\n\nexport const getAllWasteScenarios = (params) => network\n .get('/waste_scenarios', { params: { ...params, visible: true } }).then(paginatedMember)\n .catch((err) => errorToast(err));\n\nexport const getNextPageWasteScenarios = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(paginatedMember)\n .catch((err) => errorToast(err));\n\nexport const getWasteScenarioById = (params) => network\n .get(`/waste_scenarios/${params.id}`)\n .catch((err) => errorToast(err));\n\nexport const getNextPageTransport = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then((r) => ({\n get transportprofiles() {\n return this.data;\n },\n data: _.map(r['hydra:member'], (profile) => ({ value: profile.id, label: profile.name })),\n nextPage: r['hydra:view'] && r['hydra:view']['hydra:next'],\n totalItems: r['hydra:totalItems'],\n }))\n .catch((err) => errorToast(err));\n\nexport const transport = (params) => network\n .get('/transport_profiles', { params })\n .then((r) => ({\n get transportprofiles() {\n return this.data;\n },\n data: _.map(r['hydra:member'], (profile) => ({\n ...profile,\n value: profile.id,\n label: profile.name,\n })),\n nextPage: r['hydra:view'] && r['hydra:view']['hydra:next'],\n totalItems: r['hydra:totalItems'],\n }))\n .catch((err) => errorToast(err));\n\nexport const transportById = (id) => network\n .get(`/transport_profiles/${id}`, { cache: true })\n .catch((err) => errorToast(err));\n\nexport const waste = () => network\n .get('/wasteprofiles', { cache: true })\n .catch((err) => errorToast(err));\n\nexport const bulk = () => Promise.resolve(null);\n// Note: at current date, it doesn't exist in API.\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_10628_30693)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M127.728 252.902C115.284 252.902 102.933 251.247 91.3246 247.859C67.6269 240.945 49.9437 227.805 40.1877 209.858C32.8487 196.358 29.3799 178.882 30.6743 161.915C32.0073 144.424 38.3954 129.73 48.2029 121.603C58.4547 113.105 69.3205 115.722 81.9035 118.754C95.5103 122.032 110.933 125.747 130.437 117.323C152.969 107.59 160.276 89.386 166.722 73.326C172.189 59.7035 176.911 47.9408 189.951 45.8589C205.482 43.3805 218.41 46.2188 228.379 54.2941C242.951 66.0999 251.282 89.1662 253.139 122.851C255.708 169.462 231.543 215.172 193.004 236.594C173.719 247.314 150.582 252.902 127.732 252.904L127.728 252.902ZM64.392 116.823C58.927 116.823 53.771 118.224 48.8061 122.338C39.1982 130.301 32.9346 144.753 31.6209 161.988C30.3416 178.776 33.7674 196.058 41.0227 209.401C50.6564 227.12 68.142 240.103 91.5908 246.943C124.287 256.482 162.969 252.195 192.542 235.758C230.768 214.508 254.738 169.156 252.188 122.903C250.346 89.4981 242.134 66.6645 227.78 55.0354C218.028 47.1369 205.348 44.3654 190.099 46.8007C177.589 48.7985 172.962 60.3284 167.602 73.6816C161.087 89.914 153.703 108.31 130.81 118.2C111.015 126.752 95.4309 122.995 81.6802 119.683C75.539 118.204 69.8142 116.825 64.3942 116.825L64.392 116.823Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M189.318 178.46C189.129 178.46 188.951 178.345 188.876 178.158C183.926 165.697 167.273 163.262 167.106 163.238C166.846 163.201 166.663 162.962 166.7 162.699C166.734 162.438 166.975 162.255 167.234 162.292C167.408 162.315 184.604 164.822 189.758 177.804C189.855 178.05 189.737 178.326 189.492 178.425C189.434 178.449 189.374 178.46 189.316 178.46H189.318Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M165.914 186.436C165.897 186.436 165.882 186.436 165.865 186.433C165.603 186.408 165.414 186.173 165.44 185.91C166.674 173.807 159.868 165.854 159.799 165.774C159.625 165.576 159.647 165.274 159.844 165.1C160.042 164.925 160.342 164.945 160.516 165.145C160.587 165.227 167.664 173.494 166.387 186.007C166.361 186.252 166.155 186.436 165.914 186.436Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.9931 232.165C94.9177 231.073 88.6992 211.655 88.6992 211.655L76.4146 220.456L89.884 238.631L95.9931 232.167V232.165Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M89.884 239.107C89.884 239.107 89.8647 239.107 89.8561 239.107C89.7166 239.098 89.5878 239.029 89.502 238.915L76.0325 220.741C75.9573 220.637 75.9251 220.508 75.9445 220.381C75.9638 220.254 76.0346 220.142 76.1376 220.066L88.4223 211.265C88.5468 211.176 88.7035 211.153 88.8473 211.2C88.9911 211.248 89.1049 211.362 89.1499 211.506C91.5261 218.926 95.5767 231.004 96.3301 231.829C96.4997 232.014 96.5082 232.31 96.3365 232.493L90.2275 238.956C90.1373 239.051 90.0128 239.105 89.8819 239.105L89.884 239.107ZM77.0864 220.562L89.9291 237.889L95.3963 232.105C93.9839 229.499 89.7424 216.45 88.448 212.422L77.0864 220.56V220.562Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.854 256.719L82.0237 256.669C87.4287 256.637 92.4558 253.88 95.4052 249.331L103.483 236.488C105.715 232.939 104.466 228.239 100.774 226.269C97.4015 224.469 93.8683 222.717 93.0419 222.797C91.3611 222.959 90.6828 230.941 90.6828 230.941L83.4039 231.223C83.4039 231.223 79.8085 246.236 76.6445 247.943C74.3391 249.186 72.7292 251.012 71.6474 252.678C70.514 254.423 71.7783 256.732 73.854 256.721V256.719Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.676 253.992C74.4442 253.992 74.2424 253.822 74.2059 253.585C74.1673 253.324 74.3455 253.081 74.6052 253.042L85.7801 251.352C88.1541 250.992 90.2255 249.6 91.4576 247.531L101.332 230.969C101.467 230.743 101.759 230.67 101.984 230.805C102.21 230.941 102.283 231.234 102.147 231.461L92.2733 248.023C90.8931 250.337 88.577 251.895 85.9196 252.296L74.7447 253.986C74.7211 253.99 74.6954 253.992 74.6739 253.992H74.676Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.4716 241.536C88.4309 241.536 88.3879 241.529 88.3471 241.519L82.1201 239.816C81.8668 239.747 81.7165 239.484 81.7852 239.23C81.8539 238.975 82.1158 238.825 82.3691 238.894L88.5961 240.596C88.8494 240.665 88.9997 240.928 88.931 241.182C88.873 241.396 88.682 241.534 88.4716 241.534V241.536Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M85.2285 244.747C85.1898 244.747 85.1533 244.743 85.1147 244.734L80.9397 243.708C80.6843 243.646 80.5276 243.387 80.5898 243.131C80.6521 242.874 80.9139 242.719 81.1651 242.779L85.3401 243.805C85.5955 243.868 85.7522 244.126 85.69 244.383C85.6363 244.6 85.4431 244.747 85.2285 244.747Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.0733 228.461L39.8117 242.848L32.2495 240.062L45.397 221.653L54.0733 228.461Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.8119 243.327C39.7561 243.327 39.7024 243.318 39.6487 243.296L32.0865 240.508C31.947 240.456 31.8397 240.342 31.7967 240.2C31.7538 240.057 31.7774 239.902 31.8654 239.781L45.0151 221.372C45.0902 221.267 45.2061 221.196 45.3328 221.178C45.4637 221.159 45.5903 221.196 45.6934 221.275L54.3697 228.083C54.477 228.167 54.5435 228.295 54.5521 228.43C54.5607 228.566 54.5113 228.7 54.4147 228.797L40.151 243.184C40.0609 243.277 39.9385 243.325 39.814 243.325L39.8119 243.327ZM33.0009 239.829L39.6895 242.294L53.3608 228.504L45.498 222.334L33.0031 239.827L33.0009 239.829Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.3174 240.598C44.3174 240.598 45.0064 246.719 43.8366 252.128C43.2141 255.012 40.6253 257.038 37.6889 257.038H2.68322C0.180363 257.038 -0.953006 253.902 0.963848 252.288C7.1888 247.053 18.6384 239.057 32.7154 236.71L36.6414 242.228L44.3152 240.596L44.3174 240.598Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.6252 252.684H4.34665C4.08477 252.684 3.87012 252.471 3.87012 252.206C3.87012 251.941 4.08262 251.727 4.34665 251.727H40.6252C40.8871 251.727 41.1017 251.941 41.1017 252.206C41.1017 252.471 40.8892 252.684 40.6252 252.684Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.591 246.212C24.4042 246.212 24.2261 246.1 24.1509 245.917L22.2298 241.241C22.1289 240.997 22.2448 240.717 22.4874 240.618C22.7299 240.519 23.009 240.633 23.1077 240.876L25.0289 245.553C25.1298 245.796 25.0139 246.077 24.7713 246.176C24.7133 246.199 24.6511 246.212 24.591 246.212Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.2758 247.443C18.0761 247.443 17.8894 247.316 17.825 247.115L16.4362 242.896C16.3525 242.646 16.4899 242.376 16.7389 242.292C16.9879 242.208 17.2562 242.346 17.3399 242.596L18.7287 246.816C18.8103 247.066 18.675 247.335 18.426 247.419C18.3767 247.436 18.3251 247.443 18.2779 247.443H18.2758Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M129.573 127.775C129.573 127.775 64.3852 120.157 45.002 137.004C25.6189 153.85 75.6009 226.295 75.6009 226.295L91.408 214.526L76.4144 163.322L136.674 146.141L129.573 127.775Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M165.451 161.119C155.982 164.137 139.04 168.037 115.359 167.714C108.632 167.621 102.42 171.354 99.363 177.373C92.3482 191.183 77.1679 216.049 52.4377 232.167L40.6274 225.777L70.7712 157.65C73.5231 151.43 78.6705 146.594 85.0349 144.251L144.777 122.256C144.777 122.256 163.302 117.058 172.384 133.661C174.007 136.626 177.018 131.325 177.735 133.717C180.195 141.919 173.582 158.529 165.448 161.119H165.451Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.1471 188.912C57.0827 188.912 57.0162 188.899 56.9539 188.871C56.7135 188.763 56.6062 188.481 56.7135 188.242L70.3354 157.456C73.1238 151.154 78.4214 146.178 84.8696 143.803L113.481 133.269C113.73 133.178 114 133.305 114.09 133.553C114.18 133.801 114.054 134.075 113.807 134.165L85.1959 144.699C78.9881 146.986 73.8879 151.775 71.2026 157.844L57.5807 188.63C57.5013 188.808 57.3274 188.914 57.145 188.914L57.1471 188.912Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.053 215.377C72.935 215.377 72.8148 215.332 72.7225 215.243C72.5336 215.06 72.5271 214.758 72.7096 214.569C75.4314 211.728 78.1081 208.674 80.6689 205.498C80.8342 205.293 81.1326 205.261 81.3365 205.427C81.5404 205.593 81.5726 205.892 81.4073 206.099C78.8293 209.297 76.1333 212.37 73.3943 215.232C73.302 215.329 73.1775 215.379 73.0509 215.379L73.053 215.377Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.0404 206.276C80.9352 206.276 80.83 206.241 80.742 206.17C80.5381 206.004 80.5059 205.705 80.6712 205.498C81.9355 203.929 83.189 202.308 84.3975 200.677C84.5542 200.466 84.8526 200.42 85.063 200.58C85.2733 200.737 85.3163 201.037 85.1596 201.248C83.9425 202.888 82.6825 204.521 81.4096 206.099C81.3151 206.215 81.1777 206.276 81.0404 206.276Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M114.762 74.9122C114.762 74.9122 109.029 127.183 70.5288 130.603L114.762 131.234C114.762 131.234 131.14 97.9117 131.806 84.9378C132.471 71.964 114.762 74.9122 114.762 74.9122Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M114.762 131.711H114.756L70.5224 131.079C70.2691 131.075 70.0631 130.874 70.0545 130.62C70.0459 130.366 70.2348 130.15 70.4881 130.127C90.1503 128.381 101.007 113.472 106.653 101.274C112.794 88.0024 114.277 74.9898 114.29 74.8605C114.314 74.6471 114.475 74.4769 114.685 74.4424C115.084 74.3756 124.534 72.8627 129.453 77.272C131.497 79.1039 132.448 81.6922 132.28 84.9615C131.617 97.8858 115.859 130.079 115.187 131.443C115.108 131.607 114.943 131.708 114.76 131.708L114.762 131.711ZM76.112 130.204L114.468 130.752C116.025 127.549 130.711 97.0259 131.332 84.912C131.484 81.9444 130.638 79.6147 128.822 77.9832C124.75 74.3303 116.933 75.1061 115.19 75.3324C114.9 77.563 113.14 89.5196 107.514 101.675C100.245 117.377 89.4634 127.137 76.1099 130.204H76.112Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M169.559 41.6931C162.089 39.9302 158.974 39.9065 131.825 40.8935C125.19 41.1349 117.806 51.5636 117.027 58.1841C119.137 64.5353 128.358 93.8191 111.366 118.316C108.956 121.793 105.678 125.605 101.177 129.258C103.705 131.312 107.634 133.982 112.91 135.555C121.67 138.167 126.074 135.344 133.132 135.555C151.805 136.113 158.652 156.994 170.712 154.372C173.931 153.671 178.201 151.15 182.202 142.691C184.471 135.676 186.489 127.439 187.611 118.131C190.657 92.8967 185.673 71.8864 181.221 58.6992C179.899 54.5355 178.364 43.7706 169.559 41.6931Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M168.602 155.081C163.645 155.081 159.528 151.391 154.855 147.202C149.165 142.1 142.717 136.32 133.12 136.034C130.617 135.958 128.408 136.277 126.274 136.588C122.441 137.141 118.476 137.715 112.775 136.014C108.546 134.754 104.543 132.605 100.879 129.631C100.767 129.54 100.703 129.405 100.703 129.26C100.703 129.116 100.767 128.98 100.879 128.889C104.794 125.711 108.19 122.062 110.976 118.045C126.498 95.6682 120.062 68.8347 116.574 58.3371C116.553 58.2703 116.544 58.1992 116.553 58.1302C117.317 51.639 124.763 40.6737 131.806 40.4194C159.402 39.4151 162.233 39.4754 169.666 41.2297C177.527 43.0853 179.762 51.4838 181.097 56.5009C181.309 57.2983 181.492 57.988 181.672 58.5548C188.324 78.2505 190.481 98.3168 188.082 118.189C187.077 126.508 185.25 134.801 182.651 142.84C182.644 142.859 182.638 142.878 182.627 142.898C179.347 149.831 175.372 153.848 170.808 154.841C170.051 155.005 169.314 155.083 168.595 155.083L168.602 155.081ZM132.37 135.066C132.626 135.066 132.886 135.07 133.147 135.077C143.09 135.374 149.676 141.279 155.489 146.488C160.647 151.111 165.099 155.102 170.613 153.904C174.868 152.979 178.618 149.146 181.76 142.512C184.336 134.542 186.145 126.318 187.141 118.071C189.524 98.3405 187.38 78.4164 180.773 58.85C180.584 58.2531 180.397 57.5548 180.182 56.7445C178.901 51.9321 176.756 43.8805 169.452 42.1543C162.134 40.428 159.322 40.3677 131.845 41.3676C125.274 41.6069 118.309 51.9342 117.514 58.1324C121.054 68.8369 127.476 95.9268 111.759 118.586C109.031 122.519 105.73 126.103 101.937 129.249C105.378 131.956 109.115 133.922 113.047 135.094C118.551 136.734 122.237 136.202 126.141 135.637C128.095 135.355 130.11 135.064 132.375 135.064L132.37 135.066Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.703 80.7677C109.703 80.7677 117.034 44.3676 129.685 41.3504L123.84 88.899L109.703 80.7677Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.842 89.3774C123.761 89.3774 123.679 89.3558 123.606 89.3149L109.469 81.1836C109.291 81.0823 109.199 80.8754 109.24 80.675C109.542 79.1772 116.778 43.9409 129.578 40.887C129.836 40.8245 130.089 40.984 130.151 41.2405C130.211 41.4969 130.054 41.7534 129.799 41.8159C118.223 44.5766 111.023 76.8583 110.242 80.5284L123.46 88.1296L124.422 80.3043C124.454 80.0435 124.695 79.8582 124.952 79.8884C125.214 79.9207 125.399 80.1599 125.366 80.4207L124.317 88.9571C124.297 89.1166 124.201 89.2545 124.057 89.3257C123.991 89.3601 123.918 89.3752 123.845 89.3752L123.842 89.3774Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M147.285 24.2732L146.383 36.8613C146.184 38.4992 145.009 39.8483 143.419 40.2642L139.014 41.4172L141.871 43.6025C148.206 48.4451 156.981 49.4386 163.326 44.6068L167.849 41.3073L162.377 39.9345C160.806 39.581 159.597 37.3332 159.31 35.7428L156.893 19.0858L147.283 24.2753L147.285 24.2732Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M153.696 48.2727C149.584 48.2727 145.314 46.8309 141.586 43.9797L138.729 41.7944C138.585 41.6844 138.514 41.4991 138.55 41.3202C138.587 41.1414 138.72 40.9991 138.896 40.9517L143.301 39.7987C144.711 39.4302 145.737 38.2535 145.913 36.8009L146.813 24.2365C146.823 24.0728 146.918 23.9284 147.061 23.8508L156.672 18.6612C156.809 18.588 156.972 18.5858 157.109 18.6548C157.249 18.7237 157.343 18.8574 157.367 19.0125L159.784 35.6695C160.033 37.0531 161.111 39.1565 162.484 39.4647L167.967 40.8396C168.145 40.8849 168.282 41.0293 168.319 41.2125C168.355 41.3957 168.28 41.581 168.132 41.6888L163.611 44.9883C160.728 47.1843 157.275 48.2705 153.701 48.2705L153.696 48.2727ZM140.081 41.6306L142.161 43.2211C148.787 48.2856 157.178 48.6886 163.04 44.2232L166.745 41.5185L162.263 40.3935C160.4 39.9754 159.14 37.469 158.844 35.8225L156.521 19.825L147.74 24.5663L146.858 36.8936C146.632 38.7621 145.329 40.2556 143.539 40.7233L140.081 41.6284V41.6306Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M133.038 6.75201C136.052 5.15075 133.626 10.1377 143.539 1.52367C147.486 -1.90729 147.628 4.49774 148.656 3.60983C152.447 0.33404 152.314 0.441797 154.707 0.0237023C156.291 -0.252154 158.41 1.94176 159.039 4.01715C159.87 6.75847 158.056 8.39852 158.674 14.7109C159.11 19.144 160.499 21.3228 159.226 22.5814C157.94 23.8551 155.845 22.2969 154.334 23.5814C152.38 25.243 154.611 28.9412 153.166 31.5618C152.256 33.2148 149.268 35.1587 142.983 35.0079C141.963 34.9842 141.102 34.2299 140.935 33.217C140.723 31.9196 140.463 30.2774 140.345 28.689C139.782 21.1202 141.405 18.6052 139.806 17.3121C137.357 15.3294 133.195 19.0211 131.428 17.282C129.593 15.4738 128.908 8.94161 133.034 6.74985L133.038 6.75201Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M148.034 10.9954L147.909 13.0622C147.851 14.0363 147.858 15.0126 147.933 15.9867C148.074 17.8121 148.293 20.9543 148.283 22.7215C148.268 25.3184 140.27 25.827 140.27 25.827L139.254 24.6934L138.316 24.7322C138.134 24.7408 137.949 24.7107 137.788 24.6245C137.385 24.4133 137.183 23.9779 137.254 23.5598C137.632 21.2646 138.295 16.2001 137.561 12.2627C137.561 12.2627 142.008 8.63774 148.034 10.9954Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M140.267 26.3055C140.132 26.3055 140.003 26.2473 139.913 26.1481L139.048 25.1826L138.333 25.2128C138.054 25.2257 137.788 25.1697 137.565 25.0533C136.99 24.7516 136.676 24.1223 136.779 23.4866C137.116 21.4478 137.818 16.2798 137.088 12.3553C137.056 12.1829 137.12 12.0084 137.256 11.8963C137.445 11.7411 141.989 8.12482 148.201 10.5536C148.394 10.6291 148.514 10.8209 148.504 11.0278L148.379 13.0945C148.321 14.0449 148.33 15.0061 148.403 15.9522C148.538 17.713 148.763 20.9327 148.753 22.728C148.735 25.6244 141.703 26.2171 140.295 26.3055C140.284 26.3055 140.274 26.3055 140.265 26.3055H140.267ZM139.254 24.2171C139.389 24.2171 139.518 24.2753 139.608 24.3745L140.467 25.3357C143.586 25.1051 147.795 24.1676 147.806 22.7193C147.817 20.9586 147.593 17.769 147.458 16.0234C147.381 15.032 147.372 14.0277 147.435 13.0342L147.538 11.3187C142.678 9.57737 139.005 11.8165 138.08 12.4696C138.728 16.3466 138.138 21.1073 137.722 23.6374C137.683 23.8659 137.799 24.0921 138.007 24.2021C138.082 24.2409 138.181 24.2602 138.295 24.2559L139.233 24.2171C139.233 24.2171 139.246 24.2171 139.252 24.2171H139.254Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M149.438 17.3682C149.438 17.3682 149.732 12.3963 151.953 13.0234C154.173 13.6527 153.711 19.116 149.438 17.3682Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M127.674 135.585H40.2733C38.1847 135.585 36.4889 133.883 36.4889 131.786V130.467H131.458V131.786C131.458 133.883 129.762 135.585 127.674 135.585Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M127.674 136.064H40.2734C37.9251 136.064 36.0146 134.146 36.0146 131.786V130.467C36.0146 130.204 36.2272 129.989 36.4912 129.989H131.46C131.722 129.989 131.937 130.202 131.937 130.467V131.786C131.937 134.144 130.026 136.064 127.676 136.064H127.674ZM36.9656 130.945V131.788C36.9656 133.62 38.451 135.111 40.2734 135.111H127.674C129.498 135.111 130.984 133.62 130.984 131.788V130.945H36.9656Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.4867 130.56H90.8283L73.5638 79.5349C72.5313 77.938 70.7304 76.9703 68.7963 76.9703H22.8584C20.7741 76.9703 19.4325 79.0005 20.1129 80.7935C20.3834 81.5069 20.6753 82.2116 20.9115 82.9357L36.4867 130.56Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.8287 131.036H36.4871C36.281 131.036 36.0986 130.905 36.0363 130.708L20.4611 83.0823C20.2958 82.5758 20.0961 82.065 19.9051 81.5715C19.8257 81.3689 19.7463 81.1642 19.669 80.9616C19.2933 79.9703 19.4329 78.8474 20.0446 77.9574C20.6843 77.0264 21.7103 76.4919 22.8587 76.4919H68.7946C70.9024 76.4919 72.8343 77.5328 73.9613 79.2742C73.9827 79.3065 73.9999 79.3431 74.0128 79.3798L91.2773 130.405C91.3267 130.551 91.3031 130.711 91.2129 130.836C91.1228 130.961 90.979 131.036 90.8266 131.036H90.8287ZM36.8327 130.081H90.1654L73.1327 79.744C72.1775 78.3043 70.559 77.4445 68.7946 77.4445H22.8587C22.0259 77.4445 21.2853 77.8281 20.8281 78.4962C20.3945 79.1276 20.2936 79.9228 20.5576 80.6189C20.6328 80.8194 20.7122 81.0198 20.7895 81.2224C20.987 81.7288 21.1909 82.2525 21.3647 82.7827L36.8327 130.079V130.081Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.6536 103.075C57.3018 105.233 56.3123 107.44 54.4427 108.006C52.5752 108.573 50.536 107.282 49.8877 105.125C49.2395 102.968 50.229 100.761 52.0986 100.194C53.9661 99.6272 56.0053 100.918 56.6536 103.075Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M187 90.1338C187 90.1338 184.334 124.032 176.791 136.868C167.782 152.195 122.335 131.551 122.335 131.551L117.051 128.547C113.475 126.515 109.216 126.079 105.305 127.346L96.7681 130.111C96.7681 130.111 103.819 121.622 109.815 118.377C112.627 116.855 116.271 118.295 119.35 120.252C124.647 123.62 130.876 125.2 137.144 125.012L155.222 124.474C158.258 124.383 160.746 122.025 161.01 118.987L163.733 80.8582L187 90.1338Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M163.016 143.031C146.714 143.031 123.488 132.598 122.14 131.986L116.817 128.963C113.367 127.002 109.224 126.577 105.451 127.801L96.9119 130.566C96.7122 130.631 96.4911 130.555 96.3709 130.379C96.2529 130.202 96.2636 129.969 96.401 129.805C96.6908 129.456 103.579 121.209 109.587 117.957C112.111 116.59 115.482 117.228 119.603 119.849C124.722 123.105 130.778 124.721 137.129 124.536L155.207 123.997C158.002 123.913 160.29 121.743 160.535 118.948L163.259 80.8259C163.27 80.675 163.351 80.5371 163.48 80.4552C163.609 80.3733 163.768 80.3603 163.907 80.4164L187.174 89.692C187.367 89.7696 187.489 89.9636 187.472 90.1726C187.362 91.5605 184.712 124.329 177.199 137.111C174.646 141.454 169.353 143.031 163.014 143.031H163.016ZM109.806 126.159C112.403 126.159 114.988 126.825 117.285 128.131L122.569 131.135C122.982 131.32 167.689 151.411 176.381 136.624C183.374 124.726 186.184 94.0777 186.495 90.4463L164.158 81.5413L161.482 119.021C161.196 122.308 158.511 124.853 155.235 124.95L137.157 125.489C130.612 125.685 124.375 124.012 119.094 120.655C116.475 118.989 112.777 117.314 110.04 118.797C105.586 121.206 100.467 126.64 98.2513 129.129L105.159 126.892C106.672 126.4 108.241 126.159 109.806 126.159Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M191.226 92.5303C191.226 92.5303 194.073 70.686 190.934 62.9943C183.613 45.0508 172.421 42.5357 170.63 41.9991L160.312 86.3537L191.226 92.5282V92.5303Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M191.226 93.0066C191.196 93.0066 191.164 93.0045 191.134 92.998L160.219 86.8236C160.093 86.7977 159.983 86.7223 159.912 86.6145C159.844 86.5068 159.82 86.3731 159.85 86.2482L161.956 77.1923C162.016 76.9358 162.272 76.7764 162.527 76.8367C162.782 76.8971 162.941 77.1535 162.881 77.41L160.887 85.9852L190.818 91.9635C191.215 88.649 193.289 70.02 190.494 63.1775C187.328 55.4148 181.333 45.5335 170.757 42.5357L170.493 42.4603C170.242 42.3849 170.098 42.1198 170.173 41.8676C170.248 41.6155 170.51 41.4711 170.765 41.5465L171.016 41.6176C179.678 44.0723 186.718 51.4019 191.374 62.8155C194.525 70.5373 191.814 91.6985 191.698 92.595C191.681 92.7265 191.61 92.845 191.505 92.9204C191.424 92.9786 191.327 93.0088 191.228 93.0088L191.226 93.0066Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M244.655 300.522H152.73C147.211 300.522 143.084 295.438 144.196 290.011L158.142 221.946C159.314 216.222 164.332 212.114 170.154 212.114H249.002L244.653 300.524L244.655 300.522Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M244.656 301H152.73C149.957 301 147.362 299.763 145.608 297.604C143.854 295.444 143.172 292.642 143.73 289.914L157.676 221.849C158.889 215.931 164.137 211.636 170.154 211.636H249.002C249.133 211.636 249.258 211.689 249.348 211.784C249.438 211.879 249.485 212.006 249.479 212.138L245.13 300.547C245.117 300.802 244.909 301.002 244.656 301.002V301ZM170.154 212.59C164.586 212.59 159.73 216.564 158.607 222.04L144.661 290.106C144.161 292.552 144.775 295.065 146.346 296.998C147.918 298.933 150.245 300.043 152.732 300.043H244.205L248.506 212.588H170.156L170.154 212.59Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M256.425 300.522H238.585C233.066 300.522 228.939 295.438 230.051 290.011L245.411 215.041C245.761 213.336 247.255 212.112 248.987 212.112H253.574C255.476 212.112 257.06 213.577 257.215 215.48L263.498 292.815C263.835 296.966 260.57 300.522 256.423 300.522H256.425Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M256.425 301H238.585C235.812 301 233.217 299.763 231.463 297.604C229.712 295.444 229.027 292.642 229.585 289.914L244.946 214.944C245.338 213.026 247.038 211.636 248.988 211.636H253.575C255.708 211.636 257.516 213.308 257.69 215.444L263.972 292.778C264.144 294.888 263.423 296.994 261.993 298.55C260.564 300.108 258.533 301 256.423 301H256.425ZM248.99 212.59C247.489 212.59 246.18 213.661 245.877 215.138L230.517 290.108C230.016 292.554 230.63 295.065 232.202 297C233.773 298.935 236.1 300.045 238.585 300.045H256.425C258.297 300.045 260.027 299.285 261.296 297.903C262.564 296.522 263.178 294.729 263.026 292.856L256.743 215.521C256.61 213.879 255.219 212.59 253.577 212.59H248.99Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M232.131 248.32H160.155C159.893 248.32 159.679 248.107 159.679 247.842C159.679 247.577 159.891 247.363 160.155 247.363H232.131C234.052 247.363 235.705 246.053 236.147 244.174L242.492 217.284C242.552 217.028 242.81 216.868 243.063 216.929C243.318 216.989 243.477 217.247 243.415 217.504L237.07 244.393C236.525 246.704 234.492 248.316 232.129 248.316L232.131 248.32Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M204.352 247.842L202.337 256.007C202.01 257.389 200.782 258.365 199.368 258.365H185.113C183.561 258.365 182.436 256.88 182.852 255.378L184.941 247.844H204.354L204.352 247.842Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M199.368 258.841H185.113C184.222 258.841 183.404 258.434 182.865 257.723C182.326 257.012 182.155 256.111 182.393 255.251L184.482 247.717C184.54 247.51 184.726 247.368 184.941 247.368H204.354C204.5 247.368 204.638 247.434 204.73 247.551C204.82 247.667 204.852 247.818 204.816 247.96L202.8 256.126C202.422 257.725 201.012 258.846 199.37 258.846L199.368 258.841ZM185.302 248.32L183.31 255.505C183.151 256.076 183.265 256.673 183.623 257.145C183.979 257.617 184.522 257.887 185.113 257.887H199.368C200.568 257.887 201.598 257.068 201.873 255.898L203.745 248.32H185.302Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M225.562 294.162H149.101C148.839 294.162 148.624 293.948 148.624 293.683C148.624 293.418 148.837 293.205 149.101 293.205H225.562C225.824 293.205 226.039 293.418 226.039 293.683C226.039 293.948 225.826 294.162 225.562 294.162Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M188.318 209.024H182.35C180.738 209.024 179.431 210.336 179.431 211.954H191.239C191.239 210.336 189.932 209.024 188.32 209.024H188.318Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M191.237 212.431H179.429C179.167 212.431 178.952 212.217 178.952 211.954C178.952 210.075 180.474 208.545 182.348 208.545H188.315C190.187 208.545 191.711 210.075 191.711 211.954C191.711 212.217 191.499 212.431 191.235 212.431H191.237ZM179.95 211.476H190.715C190.494 210.351 189.502 209.5 188.317 209.5H182.35C181.165 209.5 180.174 210.351 179.952 211.476H179.95Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M236.151 209.024H230.183C228.571 209.024 227.264 210.336 227.264 211.954H239.072C239.072 210.336 237.765 209.024 236.153 209.024H236.151Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M239.073 212.431H227.265C227.003 212.431 226.788 212.217 226.788 211.954C226.788 210.075 228.312 208.545 230.184 208.545H236.151C238.023 208.545 239.547 210.075 239.547 211.954C239.547 212.217 239.335 212.431 239.071 212.431H239.073ZM227.786 211.476H238.551C238.33 210.351 237.338 209.5 236.153 209.5H230.186C229.001 209.5 228.009 210.351 227.788 211.476H227.786Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M234.593 208.864L235.554 203.129C236.237 199.063 233.504 195.763 229.454 195.763H193.665C189.614 195.763 185.776 199.06 185.093 203.129L184.132 208.864H186.871L187.62 204.401C188.15 201.235 191.138 198.668 194.291 198.668H227.857C231.01 198.668 233.135 201.235 232.605 204.401L231.856 208.864H234.595H234.593Z\",\n fill: \"#FAFAF8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M234.592 209.342H231.854C231.714 209.342 231.581 209.28 231.491 209.174C231.401 209.067 231.362 208.924 231.386 208.786L232.135 204.323C232.371 202.918 232.047 201.606 231.225 200.629C230.42 199.675 229.224 199.149 227.857 199.149H194.291C191.366 199.149 188.584 201.541 188.09 204.483L187.341 208.946C187.302 209.177 187.105 209.345 186.873 209.345H184.134C183.994 209.345 183.861 209.282 183.771 209.177C183.681 209.069 183.642 208.927 183.666 208.789L184.628 203.054C185.345 198.774 189.402 195.291 193.667 195.291H229.458C231.54 195.291 233.373 196.104 234.616 197.582C235.883 199.086 236.385 201.086 236.028 203.213L235.067 208.948C235.028 209.179 234.831 209.347 234.599 209.347L234.592 209.342ZM232.416 208.388H234.191L235.086 203.05C235.395 201.203 234.97 199.478 233.886 198.192C232.826 196.933 231.252 196.239 229.454 196.239H193.662C189.839 196.239 186.205 199.364 185.561 203.207L184.692 208.386H186.467L187.15 204.319C187.716 200.937 190.919 198.188 194.289 198.188H227.855C229.507 198.188 230.961 198.834 231.95 200.006C232.957 201.2 233.356 202.789 233.073 204.476L232.418 208.383L232.416 208.388Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M227.677 193.388H196.238C194.972 193.388 193.772 194.418 193.557 195.692L193.096 198.448C192.883 199.72 193.738 200.752 195.004 200.752H226.442C227.709 200.752 228.909 199.72 229.123 198.448L229.585 195.692C229.797 194.42 228.943 193.388 227.677 193.388Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M226.442 201.231H195.004C194.255 201.231 193.594 200.935 193.141 200.399C192.681 199.853 192.499 199.134 192.626 198.371L193.087 195.614C193.336 194.125 194.749 192.914 196.236 192.914H227.674C228.423 192.914 229.084 193.209 229.537 193.746C229.997 194.291 230.179 195.011 230.05 195.774L229.589 198.53C229.338 200.019 227.925 201.231 226.44 201.231H226.442ZM196.238 193.867C195.195 193.867 194.203 194.722 194.027 195.772L193.566 198.528C193.484 199.009 193.594 199.453 193.868 199.78C194.137 200.099 194.54 200.274 195.004 200.274H226.442C227.485 200.274 228.477 199.418 228.653 198.369L229.115 195.612C229.196 195.132 229.089 194.688 228.812 194.36C228.544 194.041 228.14 193.867 227.674 193.867H196.236H196.238Z\",\n fill: \"#0B0F2F\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M238.418 294.162C238.253 294.162 238.092 294.076 238.004 293.92C237.873 293.692 237.954 293.399 238.182 293.27L250.265 286.358V217.396C250.265 217.133 250.477 216.918 250.741 216.918C251.005 216.918 251.218 217.131 251.218 217.396V286.634C251.218 286.806 251.125 286.964 250.977 287.048L238.654 294.097C238.579 294.14 238.499 294.16 238.42 294.16L238.418 294.162Z\",\n fill: \"#0B0F2F\"\n}));\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_10628_30693\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n width: 264,\n height: 301,\n fill: \"white\"\n})));\n\nconst SvgNoData2 = ({\n svgRef,\n title,\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 264,\n height: 301,\n viewBox: \"0 0 264 301\",\n fill: \"none\",\n ref: svgRef\n}, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref, _ref2);\n\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgNoData2, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/no-data-2.f8195f46.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2713 11.7712L4.72879 4.22873\",\n stroke: \"#AAAAAA\",\n strokeLinecap: \"round\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2712 4.22873L4.72874 11.7712\",\n stroke: \"#AAAAAA\",\n strokeLinecap: \"round\"\n});\n\nconst SvgInputClear = ({\n svgRef,\n title,\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 17,\n height: 16,\n viewBox: \"0 0 17 16\",\n fill: \"none\",\n ref: svgRef\n}, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref, _ref2);\n\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgInputClear, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/input-clear.a56d0f74.svg\";\nexport { ForwardRef as ReactComponent };","import i18next from 'i18next';\n\nimport network from 'services';\n\nimport { alertToast } from 'config/toast';\n\nconst err = (msg) => {\n throw new Error(msg);\n};\n\nexport const login = (email, password) => network\n .post(`${process.env.REACT_APP_API_URL}/login_check`, { username: email, password }, {\n crossdomain: true,\n headers: {\n Accept: 'application/ld+json, application/json',\n 'Content-Type': 'application/json',\n },\n })\n .catch(() => {\n alertToast(i18next.t('User not found'));\n return err('User not found');\n });\n\nexport const password = {\n request: (email) => network.post('/password_request', { email }),\n\n verifyToken: (token) => network.post('/token_check', { token }),\n\n reset: (pw, token) => network\n .post('/password_reset', { token, password: pw })\n .then(() => alertToast('Password was reset with success!', 'success')),\n};\n","/* eslint-disable no-underscore-dangle */\nimport axios from 'axios';\nimport { cacheAdapterEnhancer, throttleAdapterEnhancer } from 'axios-extensions';\n\nimport * as types from 'state/auth/auth.types';\n\nimport { store } from '../state/index';\n/* import { isUsingProxy } from './proxy'; */\n\nconst cacheAdapter = throttleAdapterEnhancer(\n cacheAdapterEnhancer(axios.defaults.adapter), // defaults: { maxAge: FIVE_MINUTES, max: 100 }\n { threshold: 4000 }, // 4s in milliseconds\n);\n\nconst baseConfig = {\n baseURL: `${process.env.REACT_APP_API_URL}/api`,\n crossdomain: true,\n headers: {\n Accept: 'application/ld+json, application/json',\n 'Content-Type': 'application/json',\n },\n};\n\nexport const versionedConfig = {\n ...baseConfig,\n baseURL: `${process.env.REACT_APP_API_URL}/${process.env.REACT_APP_API_VERSION}`,\n};\n\nexport const versionedApi = axios.create(versionedConfig);\nexport const api = axios.create(baseConfig);\nexport const epicApi = axios.create({\n ...baseConfig,\n baseURL: process.env.REACT_APP_SHARE_DOMAIN,\n});\n\nconst requestInterceptor = (req) => {\n const {\n auth,\n user,\n company,\n } = store.getState();\n const { userToken } = auth;\n const selectedMembership = req.overrideMembership || user?.selectedMembership;\n const { id: companyId } = company || {};\n\n if (selectedMembership && !req?.removeNibeHeaders) {\n req.headers = {\n ...req.headers,\n 'Nibe-CompanyId': selectedMembership?.company?.id,\n 'Nibe-View': selectedMembership?.view,\n 'Nibe-UserId': selectedMembership?.user?.id,\n 'Nibe-MembershipId': selectedMembership?.id,\n };\n }\n\n /* if (isUsingProxy(req?.url)) {\n req.baseURL = process.env.REACT_APP_MOCK_API_URL;\n req.url = req.url?.replace(\n `${process.env.REACT_APP_API_URL}/${process.env.REACT_APP_API_VERSION}`,\n process.env.REACT_APP_MOCK_API_URL\n );\n } */\n\n if (req?.fileHeader) {\n req.headers = { ...req.headers, ...req.fileHeader };\n }\n\n if (userToken) {\n req.headers.Authorization = `Bearer ${userToken}`;\n }\n\n if (companyId && !req.params?.owner) {\n req.params = {\n ...req.params,\n owner: companyId,\n };\n }\n\n if ((req.params?.owner === 'none')) {\n delete req.params.owner;\n }\n\n if (req.cache) {\n req.adapter = cacheAdapter;\n }\n\n return req;\n};\n\nconst responseInterceptor = (response) => {\n if (response.config.dontParse) return response;\n return response.data;\n};\n// eslint-disable-next-line consistent-return\nconst responseErrorInterceptor = (extractData) => async (error) => {\n const originalRequest = error?.config;\n if (error?.response?.status === 401 && !originalRequest._retry\n && !originalRequest?.url?.includes('login_check')) {\n originalRequest._retry = true;\n store.dispatch({ type: types.REFRESH_REQUESTED });\n\n const isTokenRefreshed = await new Promise((resolve) => {\n const subscription = store.subscribe(() => {\n const { tokenRefreshState } = store.getState().auth;\n\n if (tokenRefreshState === 'done') {\n subscription();\n resolve(true);\n } else if (tokenRefreshState === 'failed') {\n subscription();\n resolve(false);\n }\n });\n });\n\n if (!isTokenRefreshed) {\n throw error;\n }\n\n originalRequest.headers.Authorization = `Bearer ${store.getState().auth?.userToken}`;\n return axios(originalRequest)\n .then(res => (extractData ? res.data : res));\n }\n throw error;\n};\n\nversionedApi.interceptors.request.use(requestInterceptor);\napi.interceptors.request.use(requestInterceptor);\nepicApi.interceptors.request.use(requestInterceptor);\n\nversionedApi.interceptors.response.use(responseInterceptor, responseErrorInterceptor(true));\napi.interceptors.response.use(r => r, responseErrorInterceptor());\nepicApi.interceptors.response.use(r => r, responseErrorInterceptor());\n\nexport default versionedApi;\n","import { useCallback } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useNavigate } from 'react-router-dom';\nimport useSWR, { useSWRConfig } from 'swr';\n\nimport { users as usersService } from 'services';\n\nimport { getPermissions } from 'services/permissions';\nimport { setMembership } from 'state/user/user.actions';\nimport { AccessControlListKey } from 'types/AccessControlLists';\nimport { Membership, MembershipRole } from 'types/Membership';\n\nconst userMembershipsFetcher = (params: unknown[]) => usersService\n .getUserMemberships(params[1], {\n params: JSON.parse(params[2] as string),\n }, params[3]).then(r => r.users as (Membership)[]);\n\nexport const useUserMemberships = (\n id: string | number,\n params: {'order[company.name]'?: 'asc' | 'desc'} = { 'order[company.name]': 'asc' },\n removeNibeHeaders: boolean | undefined = undefined,\n) => useSWR(!id ? null : ['user memberships', String(id), JSON.stringify({\n ...params,\n user: id,\n // Api already returns data in company (with roles) format. old impl parses it into the other structure\n\n}), removeNibeHeaders], userMembershipsFetcher, {\n revalidateOnFocus: false,\n isPaused: () => !id,\n});\nexport const useMemberships = () => {\n const {\n id,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n } = useSelector(({ user }) => user);\n\n return useUserMemberships(String(id), undefined, true);\n};\n\nexport const useCurrentMembership = () => {\n const {\n selectedMembership,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n } = useSelector(({ user }) => user);\n const dispatch = useDispatch();\n\n const { mutate } = useSWRConfig();\n const changeMembership = useCallback((\n membership: Membership,\n role:\n MembershipRole = membership.roles[0],\n ) => {\n // UNTESTED, check nav.jsx for legacy impl.\n dispatch(setMembership({\n ...membership,\n role,\n roleName: role.name,\n view: role.view,\n }));\n return mutate(\n (key) => (key && typeof key === 'object' && 'keepOnMembershipSwitch' in key ? !key.keepOnMembershipSwitch : true),\n undefined,\n { revalidate: true, populateCache: true },\n );\n }, [dispatch, mutate]);\n\n const nav = useNavigate();\n\n const clearSelectedMembership = useCallback(() => {\n nav('/');\n dispatch(setMembership(null));\n mutate(\n (key: unknown) => (key && typeof key === 'object' && 'keepOnMembershipSwitch' in key && !key.keepOnMembershipSwitch),\n undefined,\n { revalidate: true, populateCache: true },\n );\n }, [dispatch, mutate, nav]);\n\n return {\n changeMembership,\n clearSelectedMembership,\n selectedMembership: selectedMembership as null | Membership & {\n role: MembershipRole, view: string, value: string, label: unknown},\n };\n};\n\nconst usePermissionsFetcher = () => getPermissions();\nexport const usePermissions = () => {\n const { selectedMembership } = useCurrentMembership();\n const permissions = useSWR(!selectedMembership ? null : ['permissions', selectedMembership.id], usePermissionsFetcher, {\n revalidateOnFocus: false,\n dedupingInterval: /* 10 min */ 1000 * 60 * 10,\n });\n\n return {\n selectedMembership,\n permissions: permissions.data,\n };\n};\n\nexport const useHasPermission = (permission: AccessControlListKey) => {\n const { permissions } = usePermissions();\n\n return permissions?.[permission] || false;\n};\n\nexport const useHasAtLeastOnePermission = (permissions: AccessControlListKey[]) => {\n const { permissions: userPermissions } = usePermissions();\n\n return permissions.some(p => userPermissions?.[p]);\n};\n\nconst allRolesAndPermissionsFetcher = async (\n { memberships }: {key: string, memberships: Membership[]},\n) => Promise.all(\n memberships.map(async (m) => ({\n ...m,\n roles: await Promise.all(m.roles.map(async role => ({\n ...role,\n permissions: await getPermissions({ ...m, view: role.view }),\n }))),\n })),\n);\n\nexport const useAllMembershipsWithPermissions = () => {\n const { data: memberships } = useMemberships();\n\n const { data } = useSWR(!memberships ? null : { key: 'all roles permissions', memberships, keepOnMembershipSwitch: true }, allRolesAndPermissionsFetcher, {\n revalidateOnFocus: false,\n revalidateIfStale: false,\n });\n\n return data;\n};\n","import _ from 'lodash';\n\n// import { errorToast } from 'utils';\nimport { alertToast, errorToast } from 'config/toast';\n\nimport network from './network';\n\n// const errorToast = alertToast('Companies.js Error', 'error');\n\nconst paginatedMember = ({\n 'hydra:member': data,\n 'hydra:view': view,\n 'hydra:totalItems': totalItems,\n}) => {\n const arr = _.map(data, item => ({\n ...item,\n label: item.name,\n value: item.name,\n }));\n\n arr.unshift({ label: 'All', value: 'all' });\n\n return ({\n companies: arr,\n data: arr,\n nextPage: view && view['hydra:next'],\n totalItems,\n });\n};\n\nexport const getAll = config => {\n const conf = config || {};\n const params = _.get(config, 'params');\n conf.params = {\n owner: 'none', ...params,\n };\n if (!params?.noItemsPerPage) conf.params.itemsPerPage = 99999999;\n else if (conf.params.noItemsPerPage) delete conf.params.noItemsPerPage;\n\n return network\n .get('/companies', conf)\n .then(paginatedMember)\n .catch((err) => errorToast(err));\n};\n\nexport const createCompany = (payload) => network\n .post('/companies', payload)\n .then(() => alertToast('Company created with success!', 'success'))\n .catch((err) => errorToast(err));\n\nexport const editCompany = (id, payload) => network\n .put(`/companies/${id}`, payload)\n .then(() => alertToast('Company updated with success!', 'success'))\n .catch((err) => errorToast(err));\n\nexport const uploadCompanyLogo = (payload) => network\n .post('/media_objects', payload, {\n params: { owner: 'none' }, fileHeader: { 'Content-Type': 'multipart/form-data' },\n })\n .then(result => {\n alertToast('Company logo uploaded with success!', 'success');\n return result;\n })\n .catch(errorToast);\n\nexport const uploadPublisherAutographs = (payload, personNumber) => network\n .post('/media_objects', payload, {\n params: { owner: 'none' }, fileHeader: { 'Content-Type': 'multipart/form-data' },\n })\n .then(result => {\n alertToast(`Publisher autograph (person ${personNumber}) uploaded with success!`, 'success');\n return result;\n })\n .catch(errorToast);\n\nexport const deleteCompany = (id) => network\n .delete(`/companies/${id}`)\n .then(() => alertToast('Company deleted with success!', 'success'))\n .catch(errorToast);\n","import { alertToast, errorToast } from 'config/toast';\n\nimport network from './network';\n\nconst paginatedMember = ({\n 'hydra:member': data,\n 'hydra:view': view,\n 'hydra:totalItems': totalItems,\n}) => ({\n get users() {\n return this.data;\n },\n data,\n nextPage: view?.['hydra:next'],\n totalItems,\n});\n\nexport const getUser = (id) => network.get(`/users/${id}`).catch((err) => errorToast(err));\n\nexport const editUser = (id, payload) => network\n .put(`/users/${id}`, payload)\n .then(() => alertToast('User data updated!', 'success'))\n .catch((err) => errorToast(err));\n\nexport const getAll = (config) => network\n .get('/users', config)\n .then(paginatedMember)\n .catch((err) => errorToast(err));\n\nexport const getNextPage = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(paginatedMember)\n .catch((err) => errorToast(err));\n\nexport const createUser = (payload) => network\n .post('/users', payload)\n .then(value => {\n alertToast('User created with success!', 'success');\n return value;\n })\n .catch((error) => {\n throw new Error(error);\n });\n\nexport const createUserAutograph = (payload) => network\n .post('/media_objects', payload, {\n params: { owner: 'none' }, fileHeader: { 'Content-Type': 'multipart/form-data' },\n })\n .then(result => {\n alertToast('User autograph uploaded with success!', 'success');\n return result;\n })\n .catch(errorToast);\n\nexport const getUserAutograph = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .catch(errorToast);\n\nexport const deleteUserAutograph = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(() => alertToast('User autograph deleted with success!', 'success'))\n .catch((err) => errorToast(err));\n\nexport const deleteUser = (id) => network\n .delete(`/users/${id}`)\n .then(() => alertToast('User deleted with success!', 'success'))\n .catch((err) => errorToast(err));\n\nexport const getMe = () => network\n .get('/me', { params: { owner: 'none' } })\n .catch((err) => errorToast(err));\n\nexport const getUserMemberships = (id, config, removeNibeHeaders) => {\n const params = config || { params: { user: id } };\n if (typeof removeNibeHeaders === 'boolean') {\n params.removeNibeHeaders = removeNibeHeaders;\n }\n return network\n .get('/memberships', params)\n .then(paginatedMember);\n};\n\nexport const createUserMembership = (params) => network\n .post('/memberships', params)\n .then(result => {\n alertToast('Membership created with success!', 'success');\n return result;\n });\n\nexport const updateUserMembership = (id, params) => network\n .put(`/memberships/${id}`, params)\n .then(result => {\n alertToast('Membership updated with success!', 'success');\n return result;\n });\n\nexport const deleteUserMembership = (id) => network\n .delete(`/memberships/${id}`)\n .then(() => alertToast('Membership deleted with success!', 'success'))\n .catch((err) => errorToast(err));\n","module.exports = __webpack_public_path__ + \"static/media/IBMPlexMono-Regular.cb46f1f1.ttf\";","module.exports = __webpack_public_path__ + \"static/media/ReadexPro-VariableFont_HEXP,wght.3c83e886.ttf\";","import styled from 'styled-components/macro';\nimport { InputWidth } from 'config/style';\n\nimport { Label as GlobalLabel } from '../../routes/GlobalStyle.styled';\n\nexport const WYSIWYG_EDITOR_DESIRED_WIDTH = 715;\n\nexport const FieldWrapper = styled.div`\n margin-bottom: 0;\n width: 100%;\n\n label:empty {\n display: none;\n }\n\n label {\n label {\n margin: 0;\n }\n }\n margin-top: 16px;\n margin-bottom: 16px;\n`;\n\nexport const LabelWrapper = styled.div`\n max-width: ${InputWidth};\n`;\n\nexport const Hint = styled.p`\n padding: 1rem;\n width: 100%;\n font-style: normal;\n font-weight: normal;\n font-size: 12px;\n line-height: 21px;\n color: #fff;\n\n &:after {\n content: '';\n position: absolute;\n width: 10px;\n height: 10px;\n right: 19px;\n background-color: #000;\n transform: rotate(45deg);\n bottom: -5px;\n }\n`;\n\nexport const Label = styled(GlobalLabel)`\n display: inline-flex;\n align-items: center;\n position: relative;\n gap: 4px;\n\n svg {\n cursor: pointer;\n\n &:hover + div {\n opacity: 1;\n visibility: visible;\n }\n }\n`;\n\nexport const MaxWidth = styled.div`\n max-width: ${({ fullInputWidth }) => (fullInputWidth ? InputWidth : `${WYSIWYG_EDITOR_DESIRED_WIDTH}px`)};\n`;\n\nexport const ReadOnlyLabel = styled(Label)`\n font-size: 0.75rem;\n font-weight: 600;\n`;\n\nexport const ErrorContainer = styled.div`\n color: #CD3E00;\n font-size: 0.675rem;\n margin-top: 4px;\n`;\n\nexport const HintWrapper = styled.div`\n position: absolute;\n right: -1rem;\n bottom: 32px;\n background-color: #000;\n color: #fff;\n min-width: 400px;\n visibility: hidden;\n opacity: 0;\n z-index: 999;\n`;\n\nexport const ExpandForm = styled.div`\n width: auto!important;\n\n label label {\n margin: 0;\n }\n\n`;\n\nexport const InputWrapper = styled.div`\n display: flex;\n align-items: center;\n position: relative;\n width: 100%;\n font-size: 0.75rem;\n font-weight: normal;\n font-weight: 400;\n\n & > * {\n width: 100%;\n flex-shrink: 0;\n }\n\n &.invalid {\n input, textarea {\n border-color: rgba(205, 62, 0, 0.3);\n }\n\n > svg {\n position: absolute;\n right: 16px;\n width: 14px;\n top: 13px;\n }\n }\n\n // radio buttons\n ${FieldWrapper} {\n margin-bottom: 8px;\n\n &:last-child {\n margin-top: 0;\n }\n }\n`;\n\nexport const StyledLabel = styled.p`\n font-size: 0.75rem;\n margin-bottom: 8px;\n font-weight: 500;\n`;\n\nexport const ContentWrapper = styled.p`\n font-weight: 100;\n font-size: 0.75rem;\n`;\n","module.exports = __webpack_public_path__ + \"static/media/memberships.f02453b3.svg\";","module.exports = __webpack_public_path__ + \"static/media/alert-error.85dfb35a.svg\";","module.exports = __webpack_public_path__ + \"static/media/chevron-down-white.66881fff.svg\";","module.exports = __webpack_public_path__ + \"static/media/tools.c7c2ee5c.svg\";","module.exports = __webpack_public_path__ + \"static/media/user.09485436.svg\";","export const LOGIN = 'LOGIN';\nexport const LOGOUT = 'LOGOUT';\n\nexport const REFRESH_DONE = 'REFRESH_DONE';\nexport const REFRESH_REQUESTED = 'REFRESH_REQUEST';\nexport const REFRESH_LOADING = 'REFRESH_LOADING';\nexport const REFRESH_FAILED = 'REFRESH_FAILED';\n","module.exports = __webpack_public_path__ + \"static/media/apps.740f59d5.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrow-right-top.38396271.svg\";","module.exports = __webpack_public_path__ + \"static/media/plus.1a01c694.svg\";","module.exports = __webpack_public_path__ + \"static/media/review.73b641cf.svg\";","module.exports = __webpack_public_path__ + \"static/media/search.5f8297f6.svg\";","module.exports = __webpack_public_path__ + \"static/media/login.2908125b.svg\";","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport * as moment from 'moment';\nimport 'moment/locale/nl';\n\nimport { store } from 'state';\n\nimport en from './en';\nimport de from './de';\nimport nl from './nl';\n\nexport const resources = {\n en,\n de,\n nl,\n};\n\ni18n\n .use(initReactI18next) // passes i18n down to react-i18next\n .init({\n resources,\n lng: store.getState().user.locale,\n fallbackLng: ['en', 'nl'],\n\n interpolation: {\n escapeValue: false, // react already safes from XSS\n },\n });\n\nmoment.locale(i18n.language);\n\nexport const reportingLanguages = t => [\n {\n value: 'en',\n label: t('en'),\n },\n {\n value: 'nl',\n label: t('nl'),\n },\n {\n value: 'de',\n label: t('de'),\n },\n];\n","import en from './en.json';\nimport methods from './methods-en.json';\n\nexport default {\n translation: en,\n methods,\n};\n","import de from './de.json';\nimport methods from './methods-de.json';\n\nexport default {\n translation: de,\n methods,\n};\n","import nl from './nl.json';\nimport methods from './methods-nl.json';\n\nexport default {\n translation: nl,\n methods,\n};\n","import styled from 'styled-components';\n\nimport LoginBg from 'assets/login.svg';\n\nimport { YELLOW, footerHeight } from 'config/style';\n\nexport const StyledContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-height: 100vh;\n color: #fff;\n background: #262D38;\n background-image: url(${LoginBg});\n background-repeat: no-repeat;\n background-position: right;\n background-size: auto 110%;\n`;\n\nexport const InputContainer = styled.form`\n width: 60%;\n max-width: 380px;\n height: calc(100vh - ${footerHeight});\n margin: 0 auto;\n\n @media (max-width: 768px) {\n width: 100%;\n padding: 0 1rem;\n }\n\n input {\n height: 48px;\n font-family: 'ReadexPro';\n }\n`;\n\nexport const MessageContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: 16px;\n width: 100%;\n margin-bottom: 1.5rem;\n font-family: 'ReadexPro';\n`;\n\nexport const Wrapper = styled.div`\n background: ${YELLOW};\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const ButtonContainer = styled.div`\n font-size: 14px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: stretch;\n margin-top: 4px;\n\n button {\n background-color: #BFF90B;\n height: 40px;\n text-transform: uppercase;\n color: #262D38;\n font-weight: 700;\n font-family: 'ReadexPro';\n\n &:hover,\n &:focus,\n &:active {\n background-color: #BFF90B;\n }\n }\n`;\n\nexport const StyledLink = styled.span`\n color: ${({ theme }) => theme.palette.clay[500]};\n font-weight: normal;\n align-self: flex-start;\n\n a {\n font-size: 10px;\n color: inherit;\n }\n`;\n\nexport const WelcomeText = styled.p`\n color: black;\n font-weight: 500;\n font-size: 30px;\n line-height: 38px;\n width: 390px;\n text-align: center;\n font-family: 'ReadexPro';\n`;\n\nexport const StyledError = styled.p`\n color: #ff0000;\n font-weight: normal;\n font-size: 14px;\n display: block;\n`;\n\nexport const StyledImg = styled.img`\n margin-bottom: 4.18rem;\n align-self: flex-start;\n`;\n\nexport const HeroImg = styled.img`\n height: 100%;\n min-width: 100%;\n background-repeat: no-repeat;\n background-size: cover;\n max-height: 100vh;\n object-fit: cover;\n object-position: top left;\n`;\n\nexport const StyledColumn = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n input {\n width: 100%;\n }\n\n label label {\n color: white;\n }\n`;\n\nexport const StyledTitle = styled.h1`\n font-weight: 500;\n font-size: 1.25rem;\n line-height: 40px;\n margin-bottom: 3.125rem;\n display: flex;\n gap: 4px;\n align-items: center;\n text-transform: uppercase;\n font-family: 'ReadexPro';\n\n svg {\n width: 90px;\n }\n`;\n\nexport const StyledSubTitle = styled.p`\n font-weight: normal;\n font-size: 14px;\n line-height: 21px;\n margin-bottom: 1.5rem;\n`;\n\nexport const RememberWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 2rem;\n margin-top: 1rem;\n\n display: none;\n`;\n\nexport const Text = styled.p`\n font-weight: normal;\n font-size: 12px;\n line-height: 18px;\n`;\n\nexport const Success = styled.div`\n display: flex;\n align-items: center;\n\n img {\n margin-right: 10px;\n }\n`;\n","import 'react-toastify/dist/ReactToastify.css';\nimport './toast.css';\nimport { css } from 'glamor';\nimport i18next from 'i18next';\nimport React from 'react';\nimport { Link } from 'react-router-dom';\nimport { toast } from 'react-toastify';\n\n// icons\nimport styled from 'styled-components';\n\nimport alert from 'assets/icons/alert-error.svg';\nimport closeIcon from 'assets/icons/close.svg';\nimport successIcon from 'assets/success.svg';\n\nconst LinkTo = styled(Link)`\n text-decoration: none;\n`;\n\nconst content = (text, type, link) => (\n
\n \n {link\n ? {text}\n :

{text}

}\n
\n);\n\nconst styleToast = () => ({\n closeButton: () => \"icon\",\n className: css({\n width: '26rem',\n right: '6.5rem',\n }),\n position: toast.POSITION.TOP_RIGHT,\n});\n\nexport const alertToast = (message, type, link) => (type === 'success'\n ? toast.success(content(message, type, link), styleToast())\n : toast.error(content(message, type, link), styleToast()));\n\nexport const errorToast = (err, message) => {\n if (err?.response?.data?.['hydra:description']) {\n return alertToast(i18next.t(err.response.data['hydra:description']), 'error');\n }\n if (!message && err?.response?.data?.violations?.[0]?.propertyPath) {\n const { propertyPath, message: violationMessage } = err.response.data.violations[0];\n\n const messageKey = `${propertyPath?.replace('.', '')}.${violationMessage?.replace('.', '')}`;\n\n if (i18next.exists(messageKey)) {\n return alertToast(i18next.t(messageKey), 'error');\n }\n }\n return alertToast(message || 'Error', 'error');\n};\n\nexport const networkErrorToast = (networkErr) => {\n const violationMessage = networkErr.response?.data?.violations?.[0].message;\n\n return errorToast(networkErr, violationMessage);\n};\n","import _ from 'lodash';\nimport network from './network';\n\nconst hydraMember = ({ 'hydra:member': data }) => data;\n\nexport const get = () => network\n .get('/countries')\n .then(hydraMember)\n .then(countries => _.toPairs(countries));\n\nexport const getWasteRegions = () => network\n .get('/waste_scenario_sets', {\n params: {\n itemsPerPage: 999999,\n },\n })\n .then(hydraMember);\n\nexport const getWasteRegionById = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`);\n\nexport const getWasteScenarios = config => network\n .get('/waste_scenarios', config)\n .then(hydraMember);\n\nexport const getWasteProfiles = () => network\n .get('/waste_profiles')\n .then(hydraMember);\n","import _ from 'lodash';\nimport { useAsync } from 'react-async-hook';\nimport { errorToast } from 'config/toast';\n\nimport network from './network';\n\n/**\n * Helpers\n*/\n\nconst paginatedMember = ({\n 'hydra:member': data,\n 'hydra:view': view,\n 'hydra:totalItems': totalItems,\n}) => ({\n data,\n nextPage: view && view['hydra:next'],\n totalItems,\n});\n\n/**\n * Network\n*/\n\nexport const all = config => network\n .get('/environmental_profiles', config)\n .then(paginatedMember)\n .catch((err) => errorToast(err));\n\nexport const allFlat = config => network\n .get('/environmental_profiles', { ...config, cache: true })\n .then(_.flatMap)\n .then((r) => _.keyBy(r, 'id'))\n .catch((err) => errorToast(err));\n\nexport const getProfileById = (id, config) => id && network\n .get(`/environmental_profiles/${id}`, config)\n .catch((err) => errorToast(err));\n\n/**\n * Hooks\n*/\n\nexport const useEnvironmentalProfile = (id) => useAsync(\n getProfileById,\n [id],\n);\n","import _ from 'lodash';\n// import { errorToast } from 'utils';\nimport { alertToast as toast, errorToast } from 'config/toast';\n\nimport network from './network';\n\nconst hydraMember = ({ 'hydra:member': data }) => data;\n\nexport const get = (conf = {}) => {\n const config = _.clone(conf);\n\n if (!_.has(config, 'params.itemsPerPage')) _.set(config, 'params.itemsPerPage', 9999);\n\n return network.get('/folders', config).catch((err) => errorToast(err));\n};\n\nexport const create = (data) => {\n const payload = _.clone(data);\n if (payload.parent) payload.parent = `/2/folders/${payload.parent}`;\n\n return network.post('/folders', payload).catch((err) => errorToast(err));\n};\n\nexport const getById = (id) => network.get(`/folders/${id}`).catch((err) => errorToast(err));\n\nexport const update = (id, payload) => network\n .put(`/folders/${id}`, payload)\n .then(hydraMember)\n .catch((err) => errorToast(err));\n\nexport const remove = (id) => network.delete(`/folders/${id}`).catch((err) => errorToast(err));\n\nexport const moveInto = (calculationId, folderId) => network\n .put(`/calculations/${calculationId}`, { folder: folderId })\n .then(() => toast('Moved!', 'success'))\n .catch((err) => errorToast(err));\n","import { alertToast, errorToast } from 'config/toast';\nimport network from './network';\n\nconst paginatedMember = ({\n 'hydra:member': imports,\n 'hydra:view': view,\n 'hydra:totalItems': totalItems,\n}) => ({\n imports,\n nextPage: view && view['hydra:next'],\n totalItems,\n});\n\nexport const getImportFile = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .catch();\n\nexport const imports = (params) => network\n .get('/supplier_imports', { params })\n .then(paginatedMember)\n .catch();\n\nexport const getImport = (id) => network\n .get(`/supplier_imports/${id}`)\n .catch();\n\nexport const getImportValidate = (id) => network\n .get(`/supplier_imports/${id}/validate`)\n .catch();\n\nexport const getImportedFile = (id) => network\n .get(`/supplier_imports/${id}/import`)\n .catch();\n\nexport const getImportCanceled = (id) => network\n .get(`/supplier_imports/${id}/cancel`)\n .catch();\n\nexport const getNextPage = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(paginatedMember)\n .catch((err) => errorToast(err));\n\nexport const importSuppliers = (payload) => network\n .post('/supplier_imports', payload)\n .catch();\n\nexport const envImports = (params) => network\n .get('/epd_imports', { params })\n .then(paginatedMember)\n .catch();\n\nexport const getEnvImport = (id) => network\n .get(`/epd_imports/${id}`)\n .catch();\n\nexport const getEnvImportValidate = (id) => network\n .get(`/epd_imports/${id}/validate`)\n .catch();\n\nexport const getEnvImportedFile = (id) => network\n .get(`/epd_imports/${id}/import`)\n .catch();\n\nexport const getEnvImportCanceled = (id) => network\n .get(`/epd_imports/${id}/cancel`)\n .catch();\n\nexport const importEnv = (payload) => network\n .post('/epd_imports', payload)\n .catch();\n\nexport const importEnvironmentalProfiles = (payload) => network\n .post('/versions', payload)\n .then(() => alertToast('Environmental profiles imported with success!', 'success'))\n .catch();\n\nexport const importFile = (payload) => network\n .post('/media_objects', payload, {\n params: { owner: 'none' }, fileHeader: { 'Content-Type': 'multipart/form-data' },\n })\n .catch();\n\nexport const getCalculationsImports = (params) => network\n .get('/product_imports', { params })\n .then(paginatedMember)\n .catch(errorToast);\n\nexport const getCalculationImport = (id) => network\n .get(`/product_imports/${id}`)\n .catch();\n\nexport const importCalculation = (payload) => network\n .post('/product_imports', payload)\n .catch();\n\nexport const getCalculationImportValidate = (id) => network\n .get(`/product_imports/${id}/validate`)\n .catch();\n\nexport const getCalculationImportedFile = (id) => network\n .get(`/product_imports/${id}/import`)\n .catch();\n\nexport const getCalculationImportCanceled = (id) => network\n .get(`/product_imports/${id}/cancel`)\n .catch();\n\nexport const getPdisImports = (params) => network\n .get('/pdis_imports', { params })\n .then(paginatedMember)\n .catch(errorToast);\n\nexport const getPdisImport = (id) => network\n .get(`/pdis_imports/${id}`)\n .catch();\n\nexport const importPdis = (payload) => network\n .post('/pdis_imports', payload)\n .catch();\n\nexport const getPdisImportValidate = (id) => network\n .get(`/pdis_imports/${id}/validate`)\n .catch();\n\nexport const getPdisImportedFile = (id) => network\n .get(`/pdis_imports/${id}/import`)\n .catch();\n\nexport const getPdisImportCanceled = (id) => network\n .get(`/pdis_imports/${id}/cancel`)\n .catch();\n","import i18next from 'i18next';\n\nimport { alertToast, errorToast } from 'config/toast';\n\nimport network from './network';\n\nconst hydraMember = ({ 'hydra:member': data }) => data;\n\nconst paginatedMember = ({\n 'hydra:member': data,\n 'hydra:view': view,\n 'hydra:totalItems': totalItems,\n}) => ({\n data,\n nextPage: view && view['hydra:next'],\n totalItems,\n});\n\nexport const getNextPageInputs = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(paginatedMember)\n .catch(errorToast);\n\nexport const getByRef = ref => ref && network\n .get(`${process.env.REACT_APP_API_URL}${ref}`)\n .catch(errorToast);\n\nexport const inputs = (id) => network\n .get(`/calculations/${id}/inputs`, { headers: { Accept: 'application/json' } })\n .catch(errorToast);\n\nexport const input = (inputId) => network\n .get(`/inputs/${inputId}`)\n .catch(errorToast);\n\nexport const removeInput = (inputId) => network\n .delete(`/inputs/${inputId}`)\n .catch(errorToast);\n\nexport const saveInput = (payload, inputId) => {\n const [verb, url] = inputId ? ['put', `/inputs/${inputId}`] : ['post', '/inputs'];\n\n return network[verb](url, payload)\n .catch(errorToast);\n};\n\nexport const usages = id => id && network\n .get(`/product_calculations/${id}/semi_finished_product_usages`)\n .then(hydraMember)\n .catch(errorToast);\n\nexport const usage = id => id && network\n .get(`/semi_finished_product_usages/${id}`)\n .catch(errorToast);\n\nexport const removeUsage = (usageId) => network\n .delete(`/semi_finished_product_usages/${usageId}`)\n .catch(errorToast);\n\nexport const saveUsage = (payload, inputId) => {\n const [verb, url] = inputId\n ? ['put', `/semi_finished_product_usages/${inputId}`]\n : ['post', '/semi_finished_product_usages'];\n\n return network[verb](url, payload).catch(errorToast);\n};\n\nexport const getPdis = (params) => network\n .get('/predefined_input_sets', { params })\n .then(paginatedMember)\n .catch(errorToast);\n\nexport const copyPdis = id => network\n .post('/group_actions/copy_predefined_input_sets', { predefinedInputSets: [id] })\n .then(() => alertToast('Copied!', 'success'))\n .catch(errorToast);\n\nexport const deletePdis = (id) => network\n .delete(`/predefined_input_sets/${id}`)\n .then(result => {\n alertToast(i18next.t('The predefined input set has been deleted successfully!'), 'success');\n return result;\n })\n .catch(errorToast);\n\nexport const deletePdisUsage = (id) => network\n .delete(`/predefined_input_set_usages/${id}`)\n .then(result => {\n alertToast(i18next.t('The predefined input set usage has been deleted successfully!'), 'success');\n return result;\n })\n .catch(errorToast);\n\nexport const getNextPage = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(paginatedMember)\n .catch(errorToast);\n\nexport const createPdis = (params) => network\n .post('/predefined_input_sets', params)\n .then(result => {\n alertToast(i18next.t('The predefined input set has been created successfully!'), 'success');\n return result;\n });\n\nexport const editPdis = (id, params) => network\n .put(`/predefined_input_sets/${id}`, params)\n .then(result => {\n alertToast(i18next.t('The predefined input set has been edited successfully!'), 'success');\n return result;\n });\n\nexport const getPdisDetail = (id) => network\n .get(`/predefined_input_sets/${id}`)\n .catch(errorToast);\n\nexport const getPdisUsages = (id) => network\n .get(`/calculations/${id}/predefined_input_set_usages`, {\n params: {\n itemsPerPage: 5000,\n page: 1,\n },\n })\n .then(async res => {\n const data = paginatedMember(res);\n\n return {\n ...data,\n inputs: data.data.map(pdis => pdis.inputs.map(i => ({ ...i, pdis }))).flat(),\n };\n })\n .catch(errorToast);\n\nexport const getPdisUsage = (id) => network\n .get(`/predefined_input_set_usages/${id}`)\n .catch(errorToast);\n\nexport const saveUsagePdis = (payload, inputId) => {\n const [verb, url] = inputId\n ? ['put', `/predefined_input_set_usages/${inputId}`]\n : ['post', '/predefined_input_set_usages'];\n\n return network[verb](url, payload).catch(errorToast);\n};\n\nexport const getPdisUsedCalculations = (id, params) => network\n .get(`/predefined_input_sets/${id}/predefined_input_set_usages`, { params })\n .then(paginatedMember)\n .catch(errorToast);\n\nexport const getPdisInputs = (id) => network\n .get(`/predefined_input_sets/${id}/inputs`)\n .then(paginatedMember)\n .catch(errorToast);\n","import { errorToast } from 'config/toast';\n\nimport network from './network';\n\nexport const getAll = (params) => network.get('/life_cycle_stages', {\n params: {\n ...params,\n limit: 50,\n 'order[code]': 'asc',\n },\n})\n .then(res => res?.['hydra:member'])\n .catch(errorToast);\n","import _ from 'lodash';\nimport { alertToast, errorToast } from 'config/toast';\n\nimport * as i18nIsoCountries from 'i18n-iso-countries';\nimport network from './network';\n\ni18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/en.json'));\n\ni18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/en.json'));\n\nconst err = () => { throw new Error('Failed to fetch Locations'); };\n\nconst paginatedMember = ({\n 'hydra:member': data,\n 'hydra:view': view,\n 'hydra:totalItems': totalItems,\n}) => ({\n get locations() { return this.data; },\n get suppliers() { return this.data; },\n data,\n nextPage: view && view['hydra:next'],\n totalItems,\n});\n\n// List\nexport const all = (params) => network\n .get('/locations', { params })\n .then(paginatedMember)\n .catch(err);\n\nexport const getNextPageLocations = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(paginatedMember)\n .catch(err);\n\nexport const add = payload => network\n .post('/locations', payload);\n\nexport const countries = () => {\n const countriesList = i18nIsoCountries.getNames('en');\n return _.map(countriesList, (label, value) => ({ value, label }));\n};\n\n// One\nexport const get = id => network\n .get(`/locations/${id}`)\n .catch(err);\n\nexport const editLocation = (id, payload) => network\n .put(`/locations/${id}`, payload)\n .then(() => alertToast('Location updated with success!', 'success'));\n\nexport const createLocation = payload => network\n .post('/locations', payload)\n .then(() => alertToast('Location created with success!', 'success'));\n\n// Suppliers\nexport const suppliers = (config = {}) => network\n .get('/suppliers', { ...config, cache: true })\n .then(paginatedMember)\n .then(({ data }) => data)\n .catch(err);\n\nexport const supplier = id => network\n .get(`/suppliers/${id}`)\n .catch(err);\n\nexport const getSuppliers = (params) => network\n .get('/suppliers', { params })\n .then(paginatedMember)\n .catch(err);\n\nexport const getNextPageSuppliers = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(paginatedMember)\n .catch(err);\n\nexport const deleteSupplier = (id) => network\n .delete(`/suppliers/${id}`)\n .then(() => alertToast('Supplier deleted with success!', 'success'))\n .catch((error) => errorToast(error));\n\nexport const deleteLocation = (id) => network\n .delete(`/locations/${id}`)\n .then(() => alertToast('Location deleted with success!', 'success'))\n .catch((error) => errorToast(error));\n\nexport const getSubstantiationFile = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .catch(err);\n\nexport const uploadSubstantiationFile = (payload) => network\n .post('/media_objects', payload, {\n params: { owner: 'none' }, fileHeader: { 'Content-Type': 'multipart/form-data' },\n })\n .then(result => {\n alertToast('Supplier substantiation file updated with success!', 'success');\n return result;\n })\n .catch(err);\n\nexport const deleteSubstantiationFile = (url) => network\n .delete(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .catch(err);\n\nexport const createSupplier = (payload) => network\n .post('/suppliers', payload)\n .then(() => alertToast('Supplier created with success!', 'success'));\n\nexport const editSupplier = (id, payload) => network\n .put(`/suppliers/${id}`, payload)\n .then(() => alertToast('Supplier updated with success!', 'success'));\n\nexport const transports = (params) => network\n .get('/transports', { params })\n .then(paginatedMember)\n .catch(err);\n\nexport const suppliersWithTransports = (params) => network\n .get('/suppliers', { params })\n .then(async r => {\n const suppliersTemp = await Promise\n .all(\n _.map(r['hydra:member'], async supplierValue => {\n const supplierResult = supplierValue;\n supplierResult.transports = await transports({ supplier: supplierValue?.id });\n return supplierResult;\n }),\n );\n\n return {\n suppliers: _.filter(suppliersTemp, s => s?.transports?.length > 0),\n nextPage: r['hydra:view'] && r['hydra:view']['hydra:next'],\n totalItems: r['hydra:totalItems'],\n };\n })\n .catch(err);\n\nexport const getNextPageSuppliersWithTransports = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(async r => ({\n suppliers: await Promise.all(_.map(r['hydra:member'], async supplierValue => {\n const supplierResult = supplierValue;\n supplierResult.transports = await transports({ supplier: supplierValue?.id });\n return supplierResult;\n })),\n nextPage: r['hydra:view'] && r['hydra:view']['hydra:next'],\n }))\n .catch(err);\n\nexport const deleteTransport = id => network\n .delete(`/transports/${id}`)\n .then(() => alertToast('Transport deleted with success!', 'success'))\n .catch(err);\n\nexport const editTransport = (id, payload) => network\n .put(`/transports/${id}`, payload)\n .then(r => {\n alertToast('Transport created with success!', 'success');\n return r;\n })\n .catch(err);\n\nexport const createTransportForSupplier = (payload) => network\n .post('/transports', payload)\n .then(r => {\n alertToast('Transport created with success!', 'success');\n return r;\n })\n .catch(err);\n","import { alertToast } from 'config/toast';\nimport _ from 'lodash';\n\nimport network from './network';\n\nconst hydraMember = ({ 'hydra:member': data }) => data;\nconst paginatedMember = ({\n 'hydra:member': data,\n 'hydra:view': view,\n 'hydra:totalItems': totalItems,\n}) => ({\n methods: _.map(data, v => ({ ...v, label: v.name, value: v.id })),\n data,\n nextPage: view && view['hydra:next'],\n totalItems,\n});\n\nconst err = () => { throw new Error('Failed to fetch methods'); };\nconst deprecated = uri => {\n console.warn(`the endpoint ${uri} has been deprecated.`);\n return Promise.resolve([]);\n};\n\nexport const all = config => network\n .get('/methods', config)\n .then(paginatedMember)\n .catch(err);\n\nexport const getNextPage = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then((methods) => ({\n methods: methods['hydra:member'],\n nextPage: methods['hydra:view'] && methods['hydra:view']['hydra:next'],\n totalItems: methods['hydra:totalItems'],\n }))\n .catch(err);\n\nexport const get = id => network\n .get(`/methods/${id}`, { cache: true })\n .catch(err);\n\nexport const functionalunits = config => network\n .get('/functional_units', config)\n .then(hydraMember)\n .catch(err);\n\nexport const productTypes = config => network\n .get('/product_types', config)\n .catch(() => deprecated('/product_types'));\n\nexport const profiles = () => network\n .get('/transport_profiles', { cache: true, params: { itemsPerPage: 200 } })\n .then(hydraMember)\n .catch(err);\n\nexport const editMethod = (id, payload) => network\n .put(`/methods/${id}`, payload)\n .then(() => alertToast('Method updated with success!', 'success'))\n .catch(err);\n","import _ from 'lodash';\n\nexport const mapSubtotals = (totals) => {\n const subtotals = {\n Production: 0,\n Construction: 0,\n 'Use stage': 0,\n 'End of life': 0,\n };\n\n _.forOwn(totals, (value, key) => {\n switch (key) {\n case 'A1':\n case 'A2':\n case 'A3':\n subtotals.Production += value;\n break;\n case 'A4':\n case 'A5':\n subtotals.Construction += value;\n break;\n case 'B1':\n case 'B2':\n case 'B3':\n subtotals['Use stage'] += value;\n break;\n case 'C1':\n case 'C2':\n case 'C3':\n case 'C4':\n case 'D':\n subtotals['End of life'] += value;\n break;\n default: break;\n }\n });\n\n return _.toPairs(subtotals);\n};\n","import { mapSubtotals } from 'utils/calculationProcess';\n\nimport network from './network';\n\nconst paginatedMember = ({\n 'hydra:member': data,\n 'hydra:view': view,\n 'hydra:totalItems': totalItems,\n}) => ({\n data,\n nextPage: view && view['hydra:next'],\n totalItems,\n});\n\nconst realtimeResults = (calculationId, config) => network\n .get(`/calculations/${calculationId}/results`, config)\n .then(r => {\n if (!r || typeof r === 'string') return { 'hydra:member': [[], [], []] };\n return r;\n })\n .then(paginatedMember)\n .then(({ data }) => data);\n\nexport const progress = (calculationId, config) => realtimeResults(calculationId, config)\n .then(r => {\n const [top, other, total] = r;\n return {\n other,\n total,\n overall: total.total,\n subtotals: mapSubtotals(total),\n top,\n };\n });\n","import network from './network';\n\nconst paginatedMember = ({\n 'hydra:member': data,\n 'hydra:view': view,\n 'hydra:totalItems': totalItems,\n}) => ({\n get reviews() {\n return this.data;\n },\n data,\n nextPage: view['hydra:next'],\n totalItems,\n});\n\nexport const getNextPage = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(paginatedMember);\n\nexport const get = (params) => network\n .get('/reviews', params)\n .then(paginatedMember);\n\nexport const getOne = id => network\n .get(`/reviews/${id}`, { cache: true })\n .then(({ review }) => review);\n\nexport const getReviewers = config => network\n .get('/companies', { ...config })\n .then(res => paginatedMember(res)?.data);\n","import { useAsync } from 'react-async-hook';\nimport { errorToast } from 'config/toast';\n\nimport network from './network';\n\n/**\n * Helpers\n*/\n\nconst hydraMember = ({ 'hydra:member': data }) => data;\n\n/**\n * Network\n*/\n\nexport const getSuppliers = config => network\n .get('/suppliers', config)\n .then(hydraMember)\n .catch((err) => errorToast(err));\n\nexport const getSupplierById = (id, config) => id && network\n .get(`/suppliers/${id}`, config)\n .catch((err) => errorToast(err));\n\n/**\n * Hooks\n*/\n\nexport const useSupplier = (id) => useAsync(\n getSupplierById,\n [id],\n);\n","import { useAsync } from 'react-async-hook';\nimport { errorToast } from 'config/toast';\n\nimport network from './network';\n\n/**\n * Helpers\n*/\n\nconst hydraMember = ({ 'hydra:member': data }) => data;\n\n/**\n * Network\n*/\n\nexport const getWasteScenarios = config => network\n .get('/waste_scenarios', config)\n .then(hydraMember)\n .catch((err) => errorToast(err));\n\nexport const getWasteScenarioById = (id, config) => id && network\n .get(`/waste_scenarios/${id}`, config)\n .catch((err) => errorToast(err));\n\n/**\n * Hooks\n*/\n\nexport const useWasteScenario = (id) => useAsync(\n getWasteScenarioById,\n [id],\n);\n","import _ from 'lodash';\n\nimport network from 'services';\n\nimport { alertToast } from 'config/toast';\n\nconst versionsError = e => {\n alertToast('Failed to fetch database version data', 'alert');\n return e;\n};\n\nconst getById = (id) => network\n .get(`/versions/${id}`)\n .catch(versionsError);\n\nconst getAnnouncementById = (id) => network\n .get(`/announcements/${id}`)\n .catch(versionsError);\n\nconst createAnnouncement = (params) => network\n .post('/announcements', params)\n .then(result => {\n alertToast('Announcement created with success!', 'success');\n return result;\n })\n .catch(versionsError);\n\nconst editAnnouncement = (id, params) => network\n .put(`/announcements/${id}`, params)\n .then(() => alertToast('Announcement updated with success!', 'success'))\n .catch(versionsError);\n\nconst deleteAnnouncement = (id) => network\n .delete(`/announcements/${id}`)\n .then(() => alertToast('Announcement deleted with success!', 'success'))\n .catch(versionsError);\n\nconst getAll = (conf, company) => {\n const config = _.clone(conf);\n\n if (!_.has(config, 'params.owner')) {\n _.set(config, 'params.owner', 'none');\n }\n\n return network\n .get('/versions', config)\n .then(result => ({\n versions: _.filter(result['hydra:member'], v => {\n if (v.public) return v.public;\n if (v.owner) return v.owner === company || v.owner['@id'] === company;\n return v.public;\n }),\n nextPage: result['hydra:view'] && result['hydra:view']['hydra:next'],\n }))\n .catch(versionsError);\n};\n\nconst getNextPageVersions = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(result => ({\n versions: result['hydra:member'],\n nextPage: result['hydra:view'] && result['hydra:view']['hydra:next'],\n }))\n .catch(versionsError);\n\nconst allAnnouncements = (params) => network\n .get('/announcements', { params })\n .then(result => ({\n versions: result['hydra:member'],\n nextPage: result['hydra:view'] && result['hydra:view']['hydra:next'],\n }))\n .catch(versionsError);\n\nconst getNextPageAnnouncements = (url) => network\n .get(`${process.env.REACT_APP_API_URL}${url}`, { params: { owner: 'none' } })\n .then(result => ({\n versions: result['hydra:member'],\n nextPage: result['hydra:view'] && result['hydra:view']['hydra:next'],\n }))\n .catch(versionsError);\n\nconst getVersion = (companyId) => network\n .get('/versions', { params: { owner: 'none' }, cache: true })\n .then(({ 'hydra:member': versions }) => [\n _.find(versions, 'public'),\n _.find(versions, v => v.owner === companyId),\n ])\n .catch(versionsError);\n\nexport default {\n all: getAll,\n get: getVersion,\n getNextPageVersions,\n getById,\n allAnnouncements,\n getNextPageAnnouncements,\n getAnnouncementById,\n createAnnouncement,\n editAnnouncement,\n deleteAnnouncement,\n};\n","import network from './network';\n\nconst hydraMember = ({ 'hydra:member': data }) => data;\n\nexport default () => network\n .get('/standard_units', { cache: true })\n .then(hydraMember);\n","import * as calculationsApi from './calculations';\nimport * as companiesApi from './companies';\nimport * as countriesApi from './countries';\nimport * as EnvironmentalProfileApi from './EnvironmentalProfile';\nimport * as foldersApi from './folders';\nimport * as importsApi from './imports';\nimport * as inputsApi from './inputs';\nimport * as lifeCycleStagesApi from './lifeCycleStages';\nimport * as locationsApi from './locations';\nimport * as methodsApi from './methods';\nimport * as permissionsApi from './permissions';\nimport * as profilesApi from './profiles';\nimport * as realtimeApi from './realtime_and_progress';\nimport * as revisionsApi from './reviews';\nimport * as SupplierApi from './Supplier';\nimport * as usersApi from './users';\nimport * as WasteScenarioApi from './WasteScenario';\n\nexport { default as versions } from './versions';\nexport { default as standardunits } from './standardunits';\nexport const calculations = calculationsApi;\nexport const inputs = inputsApi;\nexport const folders = foldersApi;\nexport const locations = locationsApi;\nexport const countries = countriesApi;\nexport const methods = methodsApi;\nexport const reviews = revisionsApi;\nexport const users = usersApi;\nexport const profiles = profilesApi;\nexport const EnvironmentalProfile = EnvironmentalProfileApi;\nexport const Supplier = SupplierApi;\nexport const WasteScenario = WasteScenarioApi;\nexport const companies = companiesApi;\nexport const realtime = realtimeApi;\nexport const imports = importsApi;\nexport const permissions = permissionsApi;\nexport const lifeCycleStages = lifeCycleStagesApi;\n\nexport { default } from './network';\n","import _ from 'lodash';\nimport React, { memo } from 'react';\nimport styled from 'styled-components';\n\nimport { Loader } from 'appComponents/Loader/styled';\nimport { ReactComponent as NoDataIcon } from 'assets/no-data-2.svg';\nimport { NoDataWrapperSecondary } from 'routes/Dashboard.styled';\n\nimport { isReady, isReference } from 'utils';\n\nconst Wrapper = styled.div`\n display: flex;\n height: 100%;\n position: relative;\n overflow: hidden;\n justify-content: center;\n align-items: center;\n img {\n width: auto;\n height: 10rem;\n max-width: 100%;\n display: block;\n }\n p {\n font-size: 14px;\n color: #a8a8a8;\n }\n`;\n\n/**\n * @deprecated\n */\nexport const Loading = (props) => (\n \n \n
\n);\n\nexport const NoContent = (\n \n

No items found

\n
\n);\n\nexport const NoContentSecondary = ({ title }) => (\n \n {title || 'No items found '}\n \n \n);\n\nNoContentSecondary.defaultProps = {\n title: 'No items found',\n};\n\nexport const CustomNoContent = ({ children }) => (\n \n

{children}

\n
\n);\n\nexport const Placeholder = memo(({\n loaders, children, style, renderChildren, type = 'spinner',\n}) => {\n if (isReady(loaders)) {\n return isReference(children) ? children() : children;\n }\n\n return (\n \n {renderChildren && (\n
\n {isReference(children) ? children() : children}\n
\n )}\n \n \n );\n});\n","export const SET_TOPIC = 'SET_TOPIC';\nexport const SET_UPDATE_MERCURE = 'SET_UPDATE_MERCURE';\nexport const SET_ENV_TOPIC = 'SET_ENV_TOPIC';\nexport const SET_UPDATE_ENV_MERCURE = 'SET_UPDATE_ENV_MERCURE';\nexport const SET_CALCULATION_TOPIC = 'SET_CALCULATION_TOPIC';\nexport const SET_UPDATE_CALCULATION_MERCURE = 'SET_UPDATE_CALCULATION_MERCURE';\nexport const SET_PDIS_TOPIC = 'SET_PDIS_TOPIC';\nexport const SET_UPDATE_PDIS_MERCURE = 'SET_UPDATE_PDIS_MERCURE';\n\nexport const SET_CALCULATION_REAL_TIME_RESULTS_TOPIC = 'SET_CALCULATION_REAL_TIME_RESULTS_TOPIC';\nexport const SET_UPDATE_CALCULATION_REAL_TIME_RESULTS = 'SET_UPDATE_CALCULATION_REAL_TIME_RESULTS';\n","import { AccessControlListKey } from 'types/AccessControlLists';\n\n/**\n * Minimal permissions (one of) required to access a given layer.\n */\nexport const RethinkSuiteLayerGuards = {\n lca: ['calculation.company_self.view', 'review.company_childs.accept'] as AccessControlListKey[],\n\n ccf: ['footprint.company_self.view'] as AccessControlListKey[],\n\n share: ['epd.company_self.view'] as AccessControlListKey[],\n\n admin: ['method.*.edit', 'announcement.*.create'] as AccessControlListKey[],\n\n management: ['user.user_self.edit'] as AccessControlListKey[],\n\n} as const;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n background-color: #f4f8fa;\n`;\n\nexport const Wrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n background-color: #ffffff;\n padding: 21px 40px 35px 43px;\n border: 1px solid #ffffff;\n box-sizing: border-box;\n box-shadow: 0 0 10px rgba(57, 57, 57, 0.2);\n border-radius: 2px;\n`;\n\nexport const MembershipsContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: 8px;\n width: 100%;\n max-width: 446px;\n margin: auto;\n`;\n\nexport const MembershipsList = styled.div`\n display: flex;\n flex-direction: column;\n gap: 4px;\n width: 100%;\n`;\n\nexport const MembershipGroup = styled.div`\n background: #ffffff;\n border-radius: 8px;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 16px 20px;\n gap: 16px;\n`;\n\nexport const MajorContainer = styled.div`\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n padding: 48px 30px;\n margin-bottom: 38px;\n gap: 60px;\n max-width: 1380px;\n margin: 0 auto;\n`;\n\nexport const UserName = styled.span`\n font-weight: bold;\n`;\n\nexport const SignOut = styled.span`\n font-size: 14px;\n line-height: 21px;\n text-decoration: underline;\n cursor: pointer;\n`;\n\nexport const MembershipName = styled.span`\n font-size: 14px;\n line-height: 21px;\n`;\n\nexport const Name = styled.span`\n font-size: 14px;\n line-height: 24px;\n margin-bottom: 8px;\n`;\n\nexport const Role = styled.div`\n font-size: 12px;\n line-height: 18px;\n`;\n\nexport const DashboardTop = styled.div`\n display: grid;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n grid-template-columns: repeat(4, 1fr);\n gap: 20px;\n\n > div:last-child {\n grid-column: 4 / 5;\n }\n`;\n\nexport const CompanyContainer = styled.div`\n background: #FFFFFF;\n border-radius: 8px;\n min-height: ${({ size = 'sm' }) => (size === 'sm' ? '128px' : '336px')};\n padding: 16px 20px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n`;\n\nexport const CardContainer = styled.div`\n height: 48px;\n border: 1px solid #eaeaea;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px;\n cursor: pointer;\n border-radius: 4px;\n width: 100%;\n\n img {\n width: 18px;\n }\n`;\n\nexport const Options = styled.img`\n cursor: pointer;\n`;\n\nexport const FooterContainer = styled.div`\n margin-bottom: 2rem;\n border-top: 1px solid #e4e4e4;\n padding-top: 1.625rem;\n`;\n\nexport const Title = styled.h4`\n font-weight: 500;\n font-size: 14px;\n margin: 0;\n`;\n\nexport const List = styled.div`\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n grid-template-rows: auto;\n gap: 20px;\n`;\n","import React from 'react';\n\nimport { RethinkSuiteLayerGuards } from './guards';\n\nexport const RethinkSuiteLayers = {\n admin: {\n requireOneOf: RethinkSuiteLayerGuards.admin,\n entryPoint: React.lazy(() => import('./admin')),\n noPermissionPage: null,\n },\n lca: {\n requireOneOf: RethinkSuiteLayerGuards.lca,\n entryPoint: React.lazy(() => import('./lca')),\n noPermissionPage: null,\n },\n ccf: {\n requireOneOf: RethinkSuiteLayerGuards.ccf,\n entryPoint: React.lazy(() => import('./ccf')),\n noPermissionPage: React.lazy(() => import('./ccf/routes/Preview').then(m => ({ default: m.Preview }))),\n },\n management: {\n requireOneOf: RethinkSuiteLayerGuards.management,\n entryPoint: React.lazy(() => import('./management')),\n noPermissionPage: null,\n },\n share: {\n requireOneOf: RethinkSuiteLayerGuards.share,\n entryPoint: React.lazy(() => import('./share')),\n noPermissionPage: null,\n },\n} as const;\n","import { createGlobalStyle } from 'styled-components/macro';\n\nimport { whiteButton, underlineButton } from 'components/Button/Button.styled';\n\nimport * as Style from 'config/style';\nimport 'react-toastify/dist/ReactToastify.min.css';\n\nimport IBMPlexMonoRegular from '../fonts/IBMPlexMono-Regular.ttf';\n\nimport ReadexPro from '../fonts/ReadexPro-VariableFont_HEXP,wght.ttf';\n\nexport const theme = {\n // Colors\n primary: Style.YELLOW,\n\n palette: Style.palette,\n\n // Typography\n baseFont: `'Poppins', -apple-system, BlinkMacSystemFont,\n Roboto,\"Helvetica Neue\", Arial, \"Noto Sans\",sans-serif,\n \"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\"`,\n\n elevation: {\n light: '0 0 8px rgba(0, 0, 0, 0.1)',\n medium: '0 0 16px rgba(0, 0, 0, 0.1)',\n },\n};\n\nexport const FontGlobalStyles = createGlobalStyle`\n @font-face {\n font-family: \"IBM-Plex-Mono\";\n src: local(\"IBMPlexMono-Regular\"), url(${IBMPlexMonoRegular}) format(\"truetype\");\n }\n\n @font-face {\n font-family: \"ReadexPro\";\n src: url(${ReadexPro}) format(\"truetype\");\n }`;\n\nexport default createGlobalStyle`\n * {\n padding: 0;\n box-sizing: border-box;\n font-family: ${theme.baseFont};\n }\n\n :not(.ck, .with-p-margins) > * {\n margin: 0;\n }\n\n\n a {\n text-decoration: none;\n color: ${Style.DARK_BLUE};\n\n &:hover {\n text-decoration: none;\n }\n }\n\n\n *:focus {\n outline: none;\n }\n\n :root, html, body {\n height: 100%;\n }\n\n :root, html, body, #root {\n --theme: ${({ theme: t }) => t.palette.green[500]};\n --textColor: ${({ theme: t }) => t.textColor};\n font-family: ${({ theme: t }) => t.baseFont};\n position: relative;\n display: flex;\n flex-direction: column;\n flex: 0 1 100%;\n background-color: ${({ theme: t }) => t.palette.clay[200]};\n }\n\n html {\n body {\n padding-right: 0 !important;\n }\n }\n\n a:hover:not(.button) {\n text-decoration: inherit;\n }\n\n fieldset {\n border: 0;\n }\n\n .ReactModal__Overlay {\n opacity: 0;\n z-index: 998;\n transition: opacity 200ms ease-in-out;\n will-change: opacity;\n }\n\n .ReactModal__Overlay--after-open{\n opacity: 1;\n will-change: opacity;\n }\n\n .ReactModal__Overlay--before-close{\n opacity: 0;\n will-change: opacity;\n }\n\n .ReactModal__Content {\n overflow-y: auto;\n z-index: 999;\n max-height: 90vh;\n transform: translate3d(0, 100%, 0);\n transition: transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n\n .ReactModal__Content--after-open {\n will-change: transform;\n transform: translate3d(0, 0, 0);\n }\n\n .swal-overlay {\n background-color: ${Style.backdrop};\n will-change: opacity;\n }\n\n .swal-content {\n margin: 0;\n padding: 0;\n &:last-child {\n margin: 0;\n }\n }\n\n .swal-modal.swal-modal.swal-modal {\n box-shadow: 0 2px 5px rgba(57, 57, 57, 0.4);\n background: #ffffff;\n min-width: 10vw;\n padding: 24px 32px;\n border-radius: 8px;\n text-align: left;\n animation: none;\n transition: opacity .1s;\n will-change: opacity;\n width: auto;\n margin: 0;\n }\n\n .swal-title {\n text-align: left;\n }\n\n .swal-button {\n padding: .75rem 1.25rem;\n font-size: 14px;\n border: 1pt solid transparent;\n border-radius: 0;\n }\n\n .swal-button--confirm:not([disabled]) {\n ${whiteButton}\n\n &.swal-button--danger {\n ${whiteButton}\n }\n }\n\n .swal-button--cancel:not([disabled]) {\n ${underlineButton}\n }\n\n .pulse {\n will-change: opacity;\n opacity: 1;\n animation-name: pulse;\n animation-duration: .5s;\n animation-direction: alternate;\n animation-iteration-count: infinite;\n }\n\n @keyframes pulse {\n from { opacity: 1; }\n to { opacity: .1; }\n }\n\n .infinite-scroll-component {\n //EPD-706\n overflow: visible !important;\n }\n\n /* ::-webkit-scrollbar {\n width: 8px;\n } */\n\n /* ::-webkit-scrollbar-track {\n background: transparent !important;\n width: 18px;\n } */\n\n /* ::-webkit-scrollbar-thumb {\n border-radius: 10px;\n background: rgba(195, 188, 174, 0.5);\n } */\n`;\n","import {\n ErrorBoundary, Provider, useRollbarContext, useRollbarPerson,\n} from '@rollbar/react';\n\nimport React, { useMemo } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { useLocation } from 'react-router-dom';\n\nimport { useCurrentMembership } from 'hooks/useMemberships';\n\nconst rollbarConfig = {\n accessToken: process.env.REACT_APP_ROLLBAR_ACCESS_TOKEN || '',\n environment: process.env.REACT_APP_ROLLBAR_ENVIRONMENT || '',\n};\n\nexport const RollbarContextProvider = ({\n children,\n}: React.PropsWithChildren) => (\n // if (!rollbarConfig.accessToken || !rollbarConfig.environment) {\n // return children as JSX.Element;\n // }\n \n {children}\n \n);\nexport const RollbarUserTracker = () => {\n // @ts-expect-error not typed\n const userDetails = useSelector(({ user }) => user);\n const { id, email, name } = userDetails || {};\n const { selectedMembership } = useCurrentMembership();\n\n const memoized = useMemo(() => {\n if (!id || !email || !selectedMembership) return null;\n return {\n id,\n name,\n email,\n membershipId: selectedMembership.id,\n membershipRoleId: selectedMembership.role?.id,\n membershipRoleName: selectedMembership.role?.name,\n membershipCompanyId: selectedMembership.company?.id,\n membershipCompanyName: selectedMembership.company?.name,\n };\n }, [id, email, name, selectedMembership]);\n\n useRollbarPerson(memoized || {});\n\n const location = useLocation();\n\n useRollbarContext(location.pathname);\n\n return null;\n};\n","import React, {\n Dispatch, SetStateAction, useEffect, useRef,\n} from 'react';\n\nimport { useLocation } from 'react-router-dom';\n\nimport { useDetectOutsideClick } from './hooks';\nimport * as S from './styled';\nimport ChevronDown from '../../assets/icons/chevron-down.svg';\n\ninterface DropdownBasicProps {\n isOpened?: boolean;\n handleOpen?: Dispatch>;\n align?: 'left' | 'right';\n offset?: 'small' | 'large';\n variant?: 'primary' | 'secondary';\n color?: 'primary' | 'secondary';\n}\n\ninterface DropdownWithTitleProps extends DropdownBasicProps {\n toggleTitle?: string;\n}\n\ninterface DropdownWithToggleComponentProps extends DropdownBasicProps {\n toggleComponent?: React.ReactNode;\n}\n\ntype DropDownProps = DropdownWithTitleProps & DropdownWithToggleComponentProps;\n\nexport const Dropdown: React.FC = ({\n isOpened = false,\n handleOpen,\n toggleTitle,\n toggleComponent,\n align = 'left',\n offset = 'large',\n variant = 'primary',\n color = 'primary',\n children,\n}) => {\n const dropDownRef = useRef(null);\n const { opened, setIsOpened } = useDetectOutsideClick(dropDownRef, isOpened);\n\n const location = useLocation();\n\n useEffect(() => {\n setIsOpened(false);\n }, [location, setIsOpened]);\n\n useEffect(() => {\n setIsOpened(isOpened);\n }, [isOpened, setIsOpened]);\n\n useEffect(() => {\n if (handleOpen) {\n handleOpen(opened);\n }\n }, [opened, handleOpen]);\n\n return (\n \n setIsOpened((state) => !state)}\n onMouseEnter={() => setIsOpened((state) => !state)}\n withTitle={!!toggleTitle}>\n {toggleTitle ? (\n <>\n {toggleTitle}\n \"\"\n \n ) : (\n toggleComponent\n )}\n \n \n {variant === 'secondary' && }\n {children}\n \n \n );\n};\n","import {\n Dispatch, SetStateAction, useEffect, useState,\n} from 'react';\n\nimport type React from 'react';\n\ntype UseDetectOutsideClickType = {\n opened: boolean;\n setIsOpened: Dispatch>;\n};\n\nexport const useDetectOutsideClick = (\n elementRef: React.RefObject,\n initialState: boolean,\n): UseDetectOutsideClickType => {\n const [opened, setIsOpened] = useState(initialState);\n\n useEffect(() => {\n const handleClickOutside = (event: Event): void => {\n if (\n elementRef?.current\n && !elementRef.current.contains(event.target as HTMLElement)\n ) {\n setIsOpened(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [elementRef]);\n\n return {\n opened,\n setIsOpened,\n };\n};\n","import styled from 'styled-components';\n\nexport const AppItemLogo = styled.div<{ color: string }>`\n width: 40px;\n height: 40px;\n border-radius: 4px;\n background-color: ${({ color }) => color};\n flex-shrink: 0;\n`;\n\nexport const AppItem = styled.div`\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 16px 0;\n`;\n\nexport const AppItemName = styled.div`\n font-size: 14px;\n line-height: 20px;\n`;\n\nexport const AppItemTitle = styled.div`\n font-size: 10px;\n color: rgba(255, 255, 255, 0.6);\n`;\n","import React from 'react';\n\nimport { NavLink } from 'react-router-dom';\n\nimport * as S from './styled';\n\nexport const AppLink: React.FC<{\n href: string;\n title: string;\n subTitle?: string;\n appColor: string;\n}> = ({\n href, title, subTitle, appColor,\n}) => (\n \n \n \n
\n {title}\n {subTitle && {subTitle}}\n
\n
\n
\n);\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_12621_50887)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.30478 17.7H12.8618L9.56127 12.0481C11.4422 10.9008 12.5924 8.84406 12.5827 6.59251C12.5682 3.09963 9.73549 0.300049 6.32041 0.300049H0V3.42647H6.34783C8.05134 3.42647 9.48545 4.79985 9.52578 6.54299C9.56773 8.33894 8.15136 9.81302 6.40591 9.81302H0V17.7H3.05535V12.9394H6.05746C6.42849 12.9394 6.7721 13.1441 6.956 13.4743L9.30478 17.7Z\",\n fill: \"currentColor\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.0898 0.300049V17.7H29.0002V0.300049H15.0898ZM22.1539 9.51589L25.3254 14.8691H21.9716L18.4936 8.99922L21.9716 3.12934H25.3254L22.1539 8.48255C21.9652 8.79949 21.9652 9.19731 22.1539 9.51589Z\",\n fill: \"currentColor\"\n}));\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_12621_50887\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n width: 29,\n height: 17.4,\n fill: \"currentColor\",\n transform: \"translate(0 0.300049)\"\n})));\n\nconst SvgLogo = ({\n svgRef,\n title,\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 29,\n height: 18,\n viewBox: \"0 0 29 18\",\n fill: \"none\",\n ref: svgRef\n}, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref, _ref2);\n\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgLogo, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/logo.64f95200.svg\";\nexport { ForwardRef as ReactComponent };","import { Link } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { ReactComponent as Logo } from '../../../../assets/icons/logo.svg';\n\nexport const MenuToggle = styled.div<{color: string}>`\n display: flex;\n align-items: center;\n justify-content: flex-start;\n text-align: left;\n font-family: \"ReadexPro\";\n padding: 22px 24px;\n height: 64px;\n min-width: 242px;\n background-color: ${({ color }) => color};\n color: ${({ color }) => (color === '#FFD600' || color === '#BFF90B' ? '#000' : '#fff')};\n font-weight: 600;\n font-size: 12px;\n line-height: 18px;\n\n svg path {\n stroke: ${({ color }) => (color === '#FFD600' || color === '#BFF90B' ? '#000' : '#fff')};\n fill: ${({ color }) => (color === '#FFD600' || color === '#BFF90B' ? '#000' : '#fff')};\n }\n\n svg + svg path {\n fill: none;\n }\n`;\n\nexport const MenuLogo = styled(Logo)`\n width: 20px !important;\n margin-right: 10px;\n\n + svg {\n margin-right: 4px;\n }\n`;\n\nexport const MenuDropdown = styled.div`\n background-color: ${({ theme }) => theme.palette.clay[800]};\n padding: 16px 24px 8px 16px;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 352px;\n color: rgba(255, 255, 255, 0.6);\n font-weight: 400;\n font-size: 12px;\n line-height: 18px;\n\n a {\n display: flex;\n color: #fff;\n position: relative;\n\n &:after {\n transition: 250ms linear;\n }\n\n &:hover {\n &:after {\n content: '';\n position: absolute;\n left: -8px;\n right: -8px;\n bottom: 4px;\n top: 4px;\n background-color: rgba(255, 255, 255, 0.1);\n border-radius: 4px;\n }\n }\n }\n`;\n\nexport const AppItemLogo = styled.div<{ color: string }>`\n width: 40px;\n height: 40px;\n border-radius: 4px;\n background-color: ${({ color }) => color};\n flex-shrink: 0;\n`;\n\nexport const AppItem = styled.div`\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 16px 0;\n`;\n\nexport const AppItemName = styled.div`\n font-size: 14px;\n line-height: 20px;\n`;\n\nexport const AppItemTitle = styled.div`\n font-size: 10px;\n color: rgba(255, 255, 255, 0.6);\n`;\n\nexport const MenuLink = styled(Link)`\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 16px 0;\n font-weight: 600;\n font-size: 12px;\n line-height: 18px;\n\n span {\n display: block;\n color: rgba(255, 255, 255, 0.5);\n font-weight: normal;\n font-size: 10px;\n }\n`;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"g\", {\n id: \"book-opened\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Rectangle 2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 20C12 20 12 6 12 6C12 6 9.99998 4 7.99998 4C5.99998 4 2.99998 6 2.99998 6C2.99998 6 2.99998 20 2.99998 20C2.99998 20 5.99997 18 7.99998 18C9.99999 18 12 20 12 20Z\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Rectangle 2_2\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 20C12 20 12 6 12 6C12 6 14 4 16 4C18 4 21 6 21 6C21 6 21 20 21 20C21 20 18 18 16 18C14 18 12 20 12 20Z\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}));\n\nconst SvgBookIcon = ({\n svgRef,\n title,\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n}, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref);\n\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgBookIcon, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/book-icon.0e261189.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.82388 18.59L8.95321 18.107C8.83515 18.0754 8.7096 18.0881 8.60028 18.1428L8.82388 18.59ZM4 21.002L3.50503 20.9312C3.47872 21.1153 3.55678 21.2988 3.70764 21.4076C3.85851 21.5163 4.05727 21.5323 4.22361 21.4492L4 21.002ZM4.65323 16.4293L5.1482 16.5001C5.17225 16.3317 5.10909 16.1627 4.98053 16.0514L4.65323 16.4293ZM12 19.502C17.6891 19.502 22.5 15.7947 22.5 11.002H21.5C21.5 15.0457 17.3566 18.502 12 18.502V19.502ZM8.69456 19.073C9.73485 19.3516 10.8463 19.502 12 19.502V18.502C10.9331 18.502 9.90864 18.3629 8.95321 18.107L8.69456 19.073ZM4.22361 21.4492L9.04749 19.0372L8.60028 18.1428L3.77639 20.5547L4.22361 21.4492ZM4.15825 16.3586L3.50503 20.9312L4.49497 21.0727L5.1482 16.5001L4.15825 16.3586ZM1.5 11.002C1.5 13.2659 2.589 15.3033 4.32593 16.8073L4.98053 16.0514C3.42358 14.7032 2.5 12.9274 2.5 11.002H1.5ZM12 2.50195C6.31089 2.50195 1.5 6.20918 1.5 11.002H2.5C2.5 6.95817 6.64341 3.50195 12 3.50195V2.50195ZM22.5 11.002C22.5 6.20918 17.6891 2.50195 12 2.50195V3.50195C17.3566 3.50195 21.5 6.95817 21.5 11.002H22.5Z\",\n fill: \"white\"\n});\n\nconst SvgChat = ({\n svgRef,\n title,\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 25,\n viewBox: \"0 0 24 25\",\n fill: \"none\",\n ref: svgRef\n}, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref);\n\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgChat, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/chat.85d9871c.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m3 5 3 3 3-3\",\n stroke: \"#fff\",\n strokeLinecap: \"round\"\n});\n\nconst SvgChevronDownWhite = ({\n svgRef,\n title,\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n fill: \"none\",\n viewBox: \"0 0 12 12\",\n ref: svgRef\n}, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref);\n\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgChevronDownWhite, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/chevron-down-white.66881fff.svg\";\nexport { ForwardRef as ReactComponent };","import styled from 'styled-components';\n\nexport const Divider = styled.div<{ color?: 'white' | 'light' | 'dark' }>`\n height: 1px;\n opacity: 0.2;\n background-color: ${({ color = 'light', theme }) => {\n switch (color) {\n case 'light':\n return '#fff';\n case 'dark':\n return theme.palette.clay[800];\n default:\n return '#fff';\n }\n }};\n`;\n","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\n\nimport { DocumentationUrl } from 'routes/Documentation';\n\nimport { AppLink } from './AppLink';\nimport * as S from './styled';\nimport { ReactComponent as BookIcon } from '../../../../assets/icons/book-icon.svg';\nimport { ReactComponent as ChatIcon } from '../../../../assets/icons/chat.svg';\nimport { ReactComponent as ChevronDown } from '../../../../assets/icons/chevron-down-white.svg';\nimport { Divider } from '../../../Divider/styled';\nimport { Dropdown } from '../../../Dropdown';\nimport { AppsType } from '../../types';\n\nexport const AppMenu: React.FC<{\n appName?: AppsType['name'];\n availableApps: Partial;\n color: string;\n}> = ({\n appName, color, availableApps,\n}) => {\n const { t } = useTranslation();\n return (\n \n \n \n {appName && t(`layerSwitcher.${appName}.title`)}\n \n )}>\n \n {Object.keys(availableApps).length > 0 ?
{t('layerSwitcher.title')}
: null}\n {Object.keys(availableApps).filter(key => !availableApps[key]?.secondary)\n .map((key) => {\n const app = availableApps[key];\n return app && (\n \n \n \n );\n })}\n {Object.keys(availableApps).length > 0 ? : null}\n {Object.keys(availableApps).filter(key => availableApps[key]?.secondary).map((key) => {\n const app = availableApps[key];\n return app && (\n \n \"\"\n {t(`layerSwitcher.${app.name}.title`)}\n \n );\n })}\n {Object.keys(availableApps).length > 0 ? : null}\n \n \n
\n {t('layerSwitcher.documentation.title')}\n {t('layerSwitcher.documentation.subTitle')}\n
\n
\n \n \n
\n {t('layerSwitcher.help.title')}\n {t('layerSwitcher.help.subTitle')}\n
\n
\n\n
\n \n );\n};\n","import styled from 'styled-components';\n\nexport const SubNavToggle = styled.div`\n display: flex;\n align-items: center;\n gap: 4px;\n`;\n\nexport const SubNav = styled.div`\n padding: 8px 0px;\n display: flex;\n flex-direction: column;\n white-space: nowrap;\n\n a {\n color: #fff;\n padding: 12px 16px;\n display: block;\n transition: color 250ms;\n line-height: normal;\n\n &:hover {\n color: rgba(255, 255, 255, 1);\n }\n }\n`;\n\nexport const Nav = styled.nav`\n display: flex;\n align-items: center;\n gap: 24px;\n padding: 24px;\n margin-right: auto;\n\n a {\n font-family: \"ReadexPro\";\n }\n\n ${SubNavToggle}, > a {\n font-size: 12px;\n color: ${({ theme }) => theme.palette.clay[800]};\n position: relative;\n cursor: pointer;\n font-family: \"ReadexPro\";\n display: flex;\n gap: 4px;\n text-transform: capitalize;\n\n &.active {\n font-weight: 500;\n }\n }\n`;\n","import React from 'react';\nimport { NavLink } from 'react-router-dom';\n\nimport type { useHeaderData } from '../../useHeaderData';\n\nimport * as S from './styled';\nimport chevronDown from '../../../../assets/icons/chevron-down.svg';\nimport { Dropdown } from '../../../Dropdown';\n\nexport const Nav = ({ items }: {items: ReturnType['items']}) => (\n \n {items?.map((it) => ('items' in it ? (\n \n {it.title}\n \"\"\n \n )}\n variant=\"secondary\">\n {it.items?.map((item) => (\n {item.title}\n ))}\n \n ) : !!it && (\n \n {it.title}\n \n )))}\n \n);\n","import styled from 'styled-components';\n\nexport const SearchContainer = styled.form`\n display: flex;\n align-items: center;\n border-radius: 4px;\n padding: 5px;\n height: 40px;\n background-color: ${({ theme }) => theme.palette.blue[50]};\n width: 190px;\n padding-left: 46px;\n position: relative;\n transition: 150ms;\n border: 1px solid transparent;\n\n &:hover,\n &:focus-within {\n border: 1px solid ${({ theme }) => theme.palette.blue[300]};\n }\n\n button {\n position: absolute;\n left: 20px;\n top: 7px;\n border: 0;\n background-color: transparent;\n padding: 5px;\n display: flex;\n cursor: pointer;\n\n img {\n width: 16px;\n }\n }\n`;\n\nexport const SearchInput = styled.input`\n border: none;\n flex: 1;\n font-size: 12px;\n background-color: transparent;\n\n ::-webkit-input-placeholder,\n ::-moz-placeholder,\n ::-ms-input-placeholder,\n ::placeholder {\n color: ${({ theme }) => theme.palette.clay[500]};\n }\n`;\n","import React, { ChangeEvent, FC, useState } from 'react';\n\nimport searchIcon from 'assets/icons/search.svg';\n\nimport * as S from './styled';\n\ninterface SearchProps {\n placeholder: string;\n onSearch: (t: string) => void;\n}\n\nexport const Search: FC = ({ placeholder, onSearch }) => {\n const [searchValue, setSearchValue] = useState('');\n\n const handleChange = (e: ChangeEvent) => {\n setSearchValue(e.target.value);\n };\n\n return (\n {\n e.preventDefault(); e.stopPropagation();\n onSearch(searchValue);\n setSearchValue('');\n }}>\n \n \n \n );\n};\n","import { Link } from 'react-router-dom';\nimport styled, { css } from 'styled-components';\n\nimport { Divider } from 'appComponents/Divider/styled';\n\nexport const Toggle = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 500;\n font-size: 12px;\n height: 64px;\n\n div {\n font-size: 12px;\n }\n\n > div {\n display: flex;\n justify-content: space-between;\n gap: 16px;\n font-weight: 500;\n }\n`;\n\nexport const Cta = styled.button`\n background-color: transparent;\n color: #fff;\n padding: 8px 0;\n align-self: center;\n display: flex;\n align-items: center;\n justify-content: space-between;\n text-align: left;\n gap: 4px;\n border: 0;\n width: 100%;\n cursor: pointer;\n font-weight: 600;\n\n div {\n font-size: 12px;\n }\n\n img {\n width: 12px;\n }\n`;\n\nexport const Inner = styled.div`\n margin: 8px;\n min-width: 340px;\n`;\n\nexport const CtaList = styled.div`\n display: flex;\n max-height: 0;\n overflow: hidden;\n transition: 250ms linear;\n flex-direction: column;\n gap: 4px;\n padding: 0 0 0 52px;\n`;\n\nexport const CtaListButton = styled.button<{ selected?: boolean }>`\n font-weight: 400;\n font-size: 12px;\n line-height: 18px;\n border: 0;\n background-color: transparent;\n padding: 0;\n cursor: pointer;\n width: 100%;\n text-align: left;\n color: #fff;\n opacity: 0.5;\n\n &:hover {\n opacity: 1;\n }\n\n ${({ selected }) => selected\n && css`\n opacity: 1;\n `}\n`;\n\nexport const CtaListItem = styled.div<{ expanded: boolean }>`\n display: flex;\n gap: 16px;\n background-color: ${({ expanded }) => (expanded ? '#373C50' : 'transparent')};\n border-radius: 2px;\n padding: 0 8px;\n\n &:hover {\n ${CtaList} {\n padding: 0 0 8px 52px;\n max-height: 150px;\n }\n }\n\n > div {\n flex-grow: 1;\n\n img {\n ${({ expanded }) => expanded\n && css`\n transform: rotate(180deg);\n `}\n }\n }\n`;\n\nexport const MenuBottom = styled.div`\n display: flex;\n flex-direction: column;\n background-color: #fff;\n`;\n\nexport const MenuLinkBase = css`\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 16px 24px;\n font-weight: 600;\n font-size: 12px;\n line-height: 18px;\n position: relative;\n\n &:after {\n transition: 250ms linear;\n }\n\n &:hover {\n &:after {\n content: '';\n position: absolute;\n left: 10px;\n right: 10px;\n bottom: 7px;\n top: 7px;\n background-color: rgba(255, 255, 255, 0.1);\n border-radius: 4px;\n }\n }\n`;\n\nexport const MenuLink = styled(Link)<{ color?: 'primary' | 'secondary' }>`\n ${MenuLinkBase};\n background-color: #fff;\n color: ${({ color = 'primary', theme }) => (color === 'primary'\n ? `${theme.palette.clay[800]} !important`\n : `${theme.palette.red[400]} !important`)};\n font-weight: 400;\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-family: \"ReadexPro\";\n\n &:hover {\n text-decoration: underline !important;\n }\n`;\n\nexport const MenuButton = styled.button`\n ${MenuLinkBase};\n background-color: transparent;\n border: 0;\n color: #fff;\n cursor: pointer;\n`;\n\nexport const DividerStyled = styled(Divider)`\n margin: 0 16px;\n`;\n","import { useMemo } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useLocation } from 'react-router-dom';\n\nimport { RethinkSuiteLayerGuards } from 'apps/guards';\nimport { useSuiteLayoutContext } from 'context/SuiteLayoutContext';\nimport { useAllMembershipsWithPermissions, useCurrentMembership, useMemberships } from 'hooks/useMemberships';\n\nimport { AppsType } from './types';\nimport settingsIcon from '../../assets/icons/tools.svg';\nimport userIcon from '../../assets/icons/user.svg';\n\nconst noMembershipApp = {\n title: '',\n href: '',\n color: '#262D38',\n};\n\nconst apps: AppsType = {\n lca: {\n name: 'lca',\n title: 'LCA',\n color: '#28B56B',\n href: '/lca',\n subTitle: 'Life Cycle Assessment',\n },\n ccf: {\n name: 'ccf',\n title: 'CCF',\n color: '#1B6D40',\n href: '/ccf',\n subTitle: 'Organizational Environmental Footprint',\n },\n management: {\n name: 'management',\n title: 'Management & Settings',\n color: '#262D38',\n href: '/management',\n secondary: true,\n icon: settingsIcon,\n },\n admin: {\n name: 'admin',\n title: 'Admin',\n color: '#8399A5',\n href: '/admin',\n secondary: true,\n icon: userIcon,\n },\n share: {\n name: 'share',\n title: 'SHARE',\n color: '#BFF90B',\n href: '/share',\n },\n};\n\nexport const useHeaderData = () => {\n const { pathname } = useLocation();\n const app = pathname.split('/').filter((p) => !!p)[0];\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const allMemberships = useMemberships();\n const allMembershipsWithRoles = useAllMembershipsWithPermissions();\n const { selectedMembership, changeMembership, clearSelectedMembership } = useCurrentMembership();\n\n const { headerConfig } = useSuiteLayoutContext();\n\n const allMembershipsData = allMemberships?.data;\n\n // @ts-expect-error state isn't typed\n const recentMembershipIds: number[] | undefined = useSelector(s => s.user?.recentMembershipIds);\n\n const sortedMemberships = useMemo(() => {\n if (!allMembershipsData || !recentMembershipIds) return allMembershipsData;\n return [\n ...recentMembershipIds.flatMap(id => allMembershipsData.find(m => m.id === id) || []),\n ...allMembershipsData.filter(m => !recentMembershipIds.includes(m.id)),\n ];\n }, [allMembershipsData, recentMembershipIds]);\n return useMemo(\n () => (!selectedMembership ? {\n currentApp: {\n name: undefined,\n color: noMembershipApp.color,\n },\n availableApps: {} as AppsType,\n onChangeMembership: changeMembership,\n clearSelectedMembership,\n } : {\n currentApp: {\n color: apps[app]?.color || apps.admin.color,\n name: apps[app]?.name as unknown as AppsType['name'] | undefined,\n },\n availableApps: {\n ...apps,\n share: allMembershipsWithRoles?.some(\n m => m.roles.some(r => RethinkSuiteLayerGuards.share.some(p => r.permissions[p])),\n ) ? apps.share : undefined,\n admin: allMembershipsWithRoles?.some(\n m => m.roles.some(r => RethinkSuiteLayerGuards.admin.some(p => r.permissions[p])),\n ) ? apps.admin : undefined,\n },\n items: headerConfig.items.flatMap((it) => {\n if ('items' in it) {\n const sub = it.items.filter(i => !i.hidden);\n\n return sub.length === 0 ? [] as (typeof it)[] : {\n ...it,\n items: sub,\n } as typeof it;\n }\n\n return it.hidden ? [] as (typeof it)[] : it;\n }) as typeof headerConfig.items,\n searchBar:\n headerConfig.searchBar,\n callToAction: headerConfig.callToAction?.items?.some(i => !i.hidden)\n ? headerConfig.callToAction : undefined,\n selectedMembership,\n availableMemberships: sortedMemberships || [],\n onChangeMembership: changeMembership,\n clearSelectedMembership,\n }),\n [\n sortedMemberships,\n app, changeMembership,\n headerConfig,\n selectedMembership,\n clearSelectedMembership,\n allMembershipsWithRoles,\n ],\n );\n};\n","import React from 'react';\n\nimport { Avatar } from 'appComponents/Avatar';\nimport { Membership } from 'types/Membership';\n\nimport * as S from './styled';\nimport chevronDownWhite from '../../../../assets/icons/chevron-down-white.svg';\nimport { useHeaderData } from '../../useHeaderData';\n\nexport const UserMenuItem = ({\n handleClick,\n handleClose,\n membership,\n expanded,\n}: {\n handleClick: () => void;\n handleClose: () => void;\n membership: Membership;\n expanded: boolean;\n}) => {\n const { selectedMembership, onChangeMembership } = useHeaderData();\n\n return (\n \n
\n \n \n \"\"\n \n \n {membership.roles.map((role) => (\n {\n onChangeMembership(membership, role);\n handleClose();\n }}\n selected={selectedMembership?.role?.['@id'] === role?.['@id']}\n type=\"button\">\n {role.view}\n \n ))}\n \n
\n
\n );\n};\n","import React, { useState } from 'react';\n\nimport { Membership } from 'types/Membership';\n\nimport * as S from './styled';\nimport { UserMenuItem } from './UserMenuItem';\n\nexport const UserMenuAccordion = ({\n availableMemberships,\n handleClose,\n}: {\n availableMemberships: Membership[];\n handleClose: () => void;\n}) => {\n const [expandedIndex, setExpandedIndex] = useState();\n\n return (\n \n {availableMemberships.map((membership, index) => (\n {\n setExpandedIndex(expandedIndex === index ? null : index);\n }}\n handleClose={handleClose}\n membership={membership}\n />\n ))}\n \n );\n};\n","import React from 'react';\n\nimport { useTranslation } from 'react-i18next';\n\nimport { Avatar } from 'appComponents/Avatar';\nimport { Dropdown } from 'appComponents/Dropdown';\n\nimport { Membership, MembershipRole } from 'types/Membership';\n\nimport * as S from './styled';\nimport { UserMenuAccordion } from './UserMenuAccordion';\n\nimport appsIcon from '../../../../assets/icons/apps.svg';\nimport logoutIcon from '../../../../assets/icons/arrow-right-top.svg';\nimport chevronDown from '../../../../assets/icons/chevron-down.svg';\n\nconst ROLES_WITH_ALL_MEMBERSHIPS_BUTTON = [\n 'ROLE_GENERAL_ADMIN',\n 'ROLE_CORPORATE_ADMIN',\n 'ROLE_CORPORATE_EPD_ADMIN',\n];\n\nexport const UserMenu = ({\n availableMemberships,\n selectedMembership,\n goToAllMemberships,\n}: {\n availableMemberships: Membership[];\n selectedMembership: Membership & {\n role: MembershipRole;\n view: string;\n value: string;\n label: unknown;\n };\n goToAllMemberships: () => void;\n}) => {\n const [opened, setIsOpened] = React.useState(false);\n const withAllMembershipsButton = availableMemberships?.length > 5\n || availableMemberships.find(m => m.roles.find(\n r => ROLES_WITH_ALL_MEMBERSHIPS_BUTTON.includes(r.name),\n ));\n const { t } = useTranslation();\n return (\n \n \n \"\"\n \n )}>\n <>\n setIsOpened(false)}\n />\n \n {withAllMembershipsButton && (\n \n \"\"\n {t('All Memberships')}\n \n )}\n \n {t('nav.My Account')}\n {t('nav.Company and settings')}\n \n \n {t('Logout')}\n \"\"\n \n \n \n \n );\n};\n","import styled from 'styled-components';\n\nexport const HeaderWrapper = styled.header`\n height: 64px;\n background-color: white;\n display: flex;\n justify-content: space-between;\n padding-right: 32px;\n position: relative;\n z-index: 101;\n`;\n\nexport const Cta = styled.div`\n background-color: ${({ theme }) => theme.palette.blue[300]};\n color: #fff;\n padding: 12px 28px;\n border-radius: 4px;\n align-self: center;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n height: 40px;\n font-size: 0.75rem;\n`;\n\nexport const CtaRow = styled.div`\n align-self: center;\n display: flex;\n align-items: center;\n gap: 24px;\n a {\n font-family: \"ReadexPro\";\n }\n`;\n","import React from 'react';\n\nimport { Link } from 'react-router-dom';\n\nimport { Dropdown } from 'appComponents/Dropdown';\n\nimport { AppMenu } from './components/AppMenu';\nimport { Nav } from './components/Nav';\nimport { Search } from './components/Search';\n\nimport { UserMenu } from './components/UserMenu';\nimport * as S from './styled';\nimport { useHeaderData } from './useHeaderData';\nimport plusIcon from '../../assets/icons/plus.svg';\n\nexport const AppHeader = () => {\n const {\n currentApp,\n availableApps,\n searchBar,\n callToAction,\n selectedMembership,\n availableMemberships,\n clearSelectedMembership,\n items,\n } = useHeaderData();\n return (\n \n \n\n \n