{"version":3,"sources":["core/store/global/actions.ts","core/store/phases/reducers.ts","core/store/events/actions.ts","core/store/player/reducers.ts","core/store/events/reducers.ts","core/utils/api.ts","components/Collapsible.tsx","components/Alert.tsx","components/Title.tsx","components/Copy.tsx","components/SubHeading.tsx","components/Table.tsx","core/store/game/reducers.ts","core/store/bootstrap/actions.ts","core/store/element-types/reducers.ts","utils/locale.ts","theme.ts","core/store/entries/thunks.ts","core/store/player/actions.ts","i18n.ts","core/utils/datetime.ts","GlobalStyle.ts","core/store/global/reducers.ts","components/Utils.tsx","utils/keycloakPulse.ts","core/store/element-stats/reducers.ts","core/store/elements/actions.ts","core/store/teams/reducers.ts","core/store/elements/reducers.ts","core/store/chips/actions.ts","core/store/my-team/actions.ts","core/store/chips/reducers.ts","core/store/squad/actions.ts","core/store/squad/reducers.ts","core/store/squad/thunks.ts","core/utils/money.ts","img/icons/close.svg","components/Dialog.tsx","components/DialogHeading.tsx","components/Shirt.tsx","img/shirt-shadow.png","components/ElementShirt.tsx","components/FixtureForElement.tsx","components/Panel.tsx","components/tabs/TabPanel.tsx","components/tabs/Tab.tsx","components/tabs/Tabs.tsx","components/Tooltip.tsx","components/ElementDialog.tsx","img/logo-footer.svg","img/icons/social/facebook.svg","img/icons/social/instagram.svg","img/icons/social/linkedin.svg","img/icons/social/snapchat.svg","img/icons/social/tiktok.svg","img/icons/social/x.svg","img/icons/social/youtube.svg","components/Footer.tsx","img/fantasy-logo.svg","img/flags/gb.svg","img/flags/sa.svg","img/spl-logo.svg","img/header-pattern-bg.svg","img/player-composite-@1x.png","img/player-composite-@2x.png","img/sponsor-logo.svg","img/tagline.svg","core/hooks/useWindowSize.ts","core/hooks/usePriorityNav.ts","core/store/leagues/actions.ts","core/store/entries/reducers.ts","core/hooks/useDocumentEventHandler.ts","components/nav/Dropdown.tsx","components/nav/ListItem.tsx","components/nav/Navigation.tsx","components/GameHeader.tsx","components/PageAd.tsx","utils/chips.ts","core/store/my-team/reducers.ts","core/store/my-team/thunks.ts","core/store/urls/actions.ts","components/Flag.tsx","components/Footnote.tsx","img/icons/arrow-double-left.svg","img/icons/arrow-double-right.svg","img/icons/arrow-hyphen.svg","img/icons/arrow-left.svg","img/icons/arrow-right.svg","components/icons/Arrows.tsx","components/KeycloakEntryLinks.tsx","img/icons/down.svg","img/icons/new.svg","img/icons/same.svg","img/icons/up.svg","components/icons/Movement.tsx","components/leagues/Movement.tsx","components/Link.tsx","utils/events.ts","components/Result.tsx","components/leagues/CupSummaryScore.tsx","components/leagues/CupSummaryData.tsx","components/leagues/utils.ts","components/leagues/CupTypeRow.tsx","components/leagues/Styles.ts","components/leagues/MyLeagueCupSummary.tsx","components/LogoBar.tsx","components/TabHeading.tsx","components/tabs/EntryTab.tsx","components/tabs/EntryTabs.tsx","components/Entry.tsx","core/store/urls/thunks.ts","components/EntryHistory.tsx","components/EntryUnsubscribe.tsx","core/hooks/useFormHook.ts","components/player/utils.ts","components/player/DeleteAccountBox.tsx","components/EntryUpdate.tsx","core/store/elements/thunks.ts","core/store/fixtures/actions.ts","core/store/fixtures/reducers.ts","core/store/fixtures/thunks.ts","components/Badge.tsx","components/Fixture.tsx","components/Pager.tsx","components/Fixtures.tsx","components/FixturesWrapper.tsx","img/home/step-1@1x.jpg","img/home/step-1@2x.jpg","img/home/step-2@1x.jpg","img/home/step-2@2x.jpg","components/KeycloakLoginLinks.tsx","components/Login.tsx","components/status/EventInfo.tsx","components/status/EventStatusBar.tsx","components/BoldLink.tsx","img/icons/info.svg","img/icons/status.svg","components/ElementStatus.tsx","components/ElementDialogButton.tsx","components/ElementTable.tsx","components/status/StatusPanel.tsx","components/status/PlayerAvailability.tsx","core/store/dream-teams/actions.ts","core/store/dream-teams/reducers.ts","core/store/dream-teams/thunks.ts","components/team/ElementExplainDialog.tsx","components/team/valueForPlayedElement.tsx","img/rsl-pitch.svg","components/Pitch.tsx","components/status/StatusPitchElementData.tsx","components/status/StatusPitchElement.tsx","components/status/StatusFormation.tsx","components/status/StatusDreamTeam.tsx","img/icons/transfer-arrow-left.svg","img/icons/transfer-arrow-right.svg","components/status/TransfersPanel.tsx","components/status/Status.tsx","components/TriangleCard.tsx","components/Home.tsx","components/TransfersHistory.tsx","components/help/PlayerList.tsx","core/store/leagues/autoJoinPersistentStorage.ts","core/store/leagues/reducers.ts","core/store/leagues/thunks.ts","components/leagues/admin/EntrySelector.tsx","components/leagues/admin/AddBan.tsx","components/leagues/admin/ChangeAdmin.tsx","components/leagues/admin/ClassicDetails.tsx","components/leagues/admin/Code.tsx","components/leagues/admin/Delete.tsx","components/leagues/admin/RemoveBan.tsx","components/leagues/AdminClassic.tsx","components/leagues/admin/H2HDetails.tsx","components/leagues/AdminH2H.tsx","components/leagues/AutoJoin.tsx","components/leagues/Create.tsx","components/leagues/CreateClassic.tsx","components/leagues/CreateH2H.tsx","components/TextDivider.tsx","components/leagues/CreateJoin.tsx","components/leagues/CupNotStarted.tsx","components/leagues/Invite.tsx","components/leagues/Join.tsx","components/leagues/JoinLeagueError.tsx","components/leagues/errors.ts","components/leagues/JoinPrivate.tsx","components/leagues/JoinPublic.tsx","components/ButtonLink.tsx","components/leagues/H2HEntryFilter.tsx","components/leagues/H2HEventFilter.tsx","img/icons/cup.svg","components/leagues/H2HMatch.tsx","components/leagues/MatchesTable.tsx","components/leagues/StandingsHeading.tsx","components/leagues/MatchesCup.tsx","components/leagues/H2HNav.tsx","components/leagues/MatchesH2H.tsx","components/leagues/CupTypeTable.tsx","components/SubNav.tsx","components/leagues/LeaguesNav.tsx","components/leagues/MyCups.tsx","img/icons/cog.svg","components/DialogManager.tsx","components/LinkButton.tsx","components/leagues/MyLeagues.tsx","components/leagues/Renew.tsx","components/HelmetHead.tsx","components/leagues/HelmetHeadLeagues.tsx","components/leagues/StandingsRow.tsx","components/leagues/StandingsClassic.tsx","components/leagues/StandingsH2H.tsx","components/player/LoggedIn.tsx","components/player/Logout.tsx","components/player/PasswordReset.tsx","components/player/PasswordSet.tsx","core/store/regions/actions.ts","core/store/regions/reducers.ts","utils/residence.ts","components/player/PasswordChange.tsx","components/player/Register.tsx","core/store/regions/thunks.ts","components/player/VerifyDeleteOtp.tsx","components/squad/CreateEntryDialog.tsx","components/squad/helpers.ts","components/PageHeader.tsx","components/DeadlineBar.tsx","components/squad/SaveBar.tsx","components/squad/ScoreboardPanel.tsx","components/squad/Scoreboard.tsx","img/icons/remove.svg","components/PitchElementData.tsx","components/PlaceholderShirt.tsx","components/squad/SquadPitchElement.tsx","components/squad/PitchPlaceholder.tsx","components/squad/SquadPitchUnit.tsx","components/squad/CreateSquad.tsx","components/element-controls/ElementFilter.tsx","utils/stats.ts","components/element-controls/ElementSort.tsx","components/paginator/PaginatorButton.tsx","components/element-controls/Paginator.tsx","components/Media.tsx","components/ElementInTable.tsx","components/ElementListRow.tsx","components/squad/ElementList.tsx","components/squad/SquadBase.tsx","components/squad/SquadListTable.tsx","components/squad/SquadSelection.tsx","components/squad/ConfirmTransfersDialog.tsx","components/squad/TransfersListTable.tsx","components/squad/Transfers.tsx","components/stats/News.tsx","components/stats/Statistics.tsx","components/BoldLinkButton.tsx","components/team/DreamTeamTable.tsx","img/icons/sub.svg","img/icons/captain.svg","img/icons/vice-captain.svg","img/icons/x2.svg","components/team/TeamElementIcon.tsx","components/team/TeamPitchElement.tsx","components/team/PitchFormation.tsx","components/team/DreamTeam.tsx","img/icons/dreamteam.svg","img/icons/reload.svg","components/icons/DreamTeam.tsx","components/team/Bench.tsx","components/team/BenchUnit.tsx","components/team/EntryEventTable.tsx","components/team/EntryEvent.tsx","components/team/MyTeamTable.tsx","components/team/MyTeam.tsx","components/Routes.tsx","components/ServerError.tsx","components/leagues/AutoJoinDialog.tsx","components/App.tsx","core/store/cup/actions.ts","core/store/cup/reducers.ts","core/store/stats/actions.ts","core/store/stats/reducers.ts","core/store/urls/reducers.ts","core/store/winners/actions.ts","core/store/winners/reducers.ts","core/store/index.ts","core/configureStore.ts","serviceWorker.ts","index.tsx","utils/webView.ts","core/store/entries/actions.ts","core/store/bootstrap/thunks.ts","core/store/player/thunks.ts","components/Layout.tsx","components/Button.tsx","img/icons/arrow-down.svg","components/FieldRenderers.tsx","core/store/bootstrap/reducers.ts"],"names":["addServerError","createAction","deprecated","resolve","error","combineReducers","byId","state","arguments","length","undefined","action","type","getType","actions","newState","payload","forEach","et","id","getPhases","Object","keys","phases","map","p","getStartedPhases","createSelector","getFinishedEvents","events","lastFinishedEvent","filter","stop_event","getCurrentEvent","now","start_event","fetchEventStatus","createAsyncAction","data","addPlayer","loginError","failure","loginSuccess","success","passwordChangeError","passwordResetError","passwordSetError","playerUpdateError","registerError","watched","addWatched","indexOf","code","recoveryError","recoveryStatus","getPlayerData","player","getWatched","getLoginError","getPasswordChangeError","getPasswordSetError","getPlayerUpdateError","getRegisterError","getRecoveryError","getRecoveryStatus","event","currentEventStatus","getEventsById","getEvents","e","previousEvent","is_previous","currentEvent","is_current","getNextEvent","nextEvent","is_next","getFutureEvents","next","finished","getLastEvent","eventsById","ids","Number","Math","max","getCookie","name","cookieValue","document","cookie","split","trim","substring","decodeURIComponent","responseIsEmpty","response","contentLength","headers","get","status","parseInt","responseIsJSON","contentType","async","_api","url","dispatch","asyncActions","fetchArgs","successPayloadFormat","request","fetch","credentials","errorText","message","ok","statusText","badRequest","json","details","text","Error","apiGet","_apiDeletePostPut","method","body","JSON","stringify","apiPost","apiPut","apiDelete","StyledCollapsible","styled","div","withConfig","displayName","componentId","_ref","theme","space","Button","button","_ref2","_ref3","borders","_ref4","radii","_ref5","colors","white","_ref6","black","_ref7","fonts","base","_ref8","_ref9","blue","_ref10","CollapseIcon","CollapsibleContent","_ref11","_ref12","whiteGrey","_ref13","_ref14","lastId","Collapsible","_ref15","children","headingText","setId","useState","open","setOpen","useEffect","newId","_jsxs","_jsx","onClick","toggle","xmlns","viewBox","d","Copy","StyledAlert","props","book","textAlign","breakpoints","noRadius","css","primary","green","yellowLight","greyDarker1","AlertItem","AlertWrap","AlertGroup","Alert","Title","h2","impact","fontSizes","SubHeading","h3","variant","ScrollTable","em","Table","table","size","settings","total_players","getSettings","game","getTotalPlayers","addElementStats","elementStats","addElementTypes","elementTypes","addElements","elements","addEvents","addGameSettings","addPhases","addTeams","teams","addTotalPlayers","total","bootstrap","bootstrapMe","bootstrapStatic","getElementTypesById","getElementTypes","getElementTypesBySquadPosition","types","count","range","squad_select","lastType","nextType","thisType","isRTL","includes","i18n","language","darkPink","fantasy","greyLight","yellow","blueDark","difficulties","bg","color","elementStatus","greenDark","grey","greyDark","greyLight2","greyLight3","pink","greyDarker2","greyDarker3","blueDarker1","blueDarker2","blueDarker3","blueDarker4","secondary","social","facebook","twitter","google","tertiary","whiteBlue","light","bold","zIndex","clientMenu","dialog","menu","overlay","select","wrap","fetchEntrySummary","entryId","fetchEntryHistory","fetchEntryEventPicks","eventId","entry","updateEntry","fetchEntryTransfers","unsubscribeEntry","signature","login","logout","recover","register","playerUpdate","passwordChange","passwordReset","passwordSet","addToWatched","elementCode","removeFromWatched","addToWatchlist","removeFromWatchlist","lng","window","location","hostname","dateLocales","ar","on","moment","locale","setDefaultOptions","use","Backend","initReactI18next","init","ns","defaultNS","fallbackLng","debug","interpolation","escapeValue","initImmediate","localTimeZone","Intl","DateTimeFormat","resolvedOptions","timeZone","formatRawAsISO","raw","formatDateAsISO","dt","Date","utcToZonedTime","toISOString","formatRawAsLocalI18n","format","formatInTimeZone","formatDateAsLocalI18n","GlobalStyle","createGlobalStyle","serverError","getServerError","global","Ellipsis","ellipsis","UnstyledButton","VisuallyHidden","span","hideVisually","FetchAPI","uri","Accept","then","KC_TOKEN","KC_REFRESH_TOKEN","LOGIN_ERROR","queryStringParams","getIsWebView","keycloak","loginToFantasy","FetchPost","email","keycloakProfile","emailVerified","first_name","firstName","last_name","lastName","profile_id","ismID","attributes","ism_id","region","nationality","TagManager","dataLayer","user_email","hashed_email","replace","localStorage","setItem","fetchMe","FetchGet","console","getAccountUrl","createAccountUrl","getLogoutUrl","redirectUri","origin","createLogoutUrl","getLogoutUrlNoEntry","onUnauthenticatedUser","removeItem","refreshAccessToken","updateToken","token","refreshToken","catch","warn","createUrls","setUrls","authenticated","Promise","all","accountUrl","logoutUrl","logoutUrlNoEntry","currentState","createLoginUrl","createRegisterUrl","loginUrl","registerUrl","loadUserProfile","reducer","getElementStats","getElementStatsByIdentifier","stats","reduce","memo","stat","updateElementControls","controls","elementDialogShow","elementDialogHide","fetchElementSummary","fetchElementEventData","team","getTeamsById","getTeams","t","sort","a","b","localeCompare","formatNameForSearching","search","toLowerCase","c","index","bootstrapActions","element","search_name","web_name","maxCost","getUnavailable","elementActions","fixturesById","fixtures","eventDataById","explain","historyById","history","seasonHistoryById","history_past","getElementsById","getElement","elementId","getElements","getElementControls","getElementTypeFilterOptions","label","plural_name","value","getTeamFilterOptions","filterElements","filterString","watchedElements","filters","element_type","matches","match","key","getFilter","maxCostFromElements","now_cost","minCostFromElements","min","reduceElements","searchRegexp","safeValue","RegExp","getSafeSearchRegexp","ascendingSort","stringSort","sortElements","aSort","bSort","parseFloat","getElementsFromControls","filteredElements","minCost","getAverageCostByType","elCosts","getHistory","getHistoryById","getElementsEventDataById","getTotalsByType","sortBy","getFormation","totals","join","proposeAvailableChip","chipName","cancelProposedChip","cancelActiveChip","restoreCancelledChip","fetchChipState","saveChipTeam","saveChipTransfer","fetchMyTeam","saveMyTeam","substitutionStart","pick","possibleReplacements","substitutionStop","substitutionProcess","subsStart","changeCaptain","isVice","changeViceCaptain","potential","chips","someActiveOrProposed","status_for_entry","chip_type","some","getPotentialChips","getActiveChip","getActiveChipName","chip","getProposedChip","getProposedChipName","getAvailableChipNames","teamChipsHaveChanged","Boolean","getActiveOrProposedTeamChipName","getActiveOrProposedTransferChipName","getActiveOrProposedAllChipName","proposeElementInPosition","position","removeElementInPosition","resetLastChange","resetProposed","createSquad","makeTransfers","fetchTransfersLatest","defaultLastType","lastChange","proposed","myTeamActions","picksInSquadOrder","picks","elementsById","i","saved","transferState","chipActions","transfers","latestTransfers","getProposedPicks","squad","getSavedPicks","getLastChange","getTransferState","getSquadError","getSquadMode","getProposedElements","squad_squadsize","getProposedElementsById","obj","pos","getTransferPositionStatus","getToSpend","mode","posStatus","proposedChip","activeChip","values","toSpend","squad_total_spend","selling_price","bank","getTeamLimit","squad_team_limit","getTypesNeeded","needed","getCountByTeam","countByTeam","elementsByTeam","groupBy","teamId","getProposedTransfers","push","element_in","element_out","purchase_price","getErrors","teamLimit","errors","budgetExceeded","selected","needElements","overTeamLimit","noTransfersMade","toCreateEntryAPI","getNumberOfTransferChanges","positionStatus","s","getFreeTransfers","limit","made","getFreeTransfersRemaining","free","changes","getTransferCostsWithoutChip","overLimit","cost","getTransferCosts","freeChips","canAutocomplete","canReset","orderBy","proposeElement","getState","elementTypesByPosition","freePosition","find","savedPositions","savedPosition","proposedId","removeElement","restoreElement","integerToMoney","int","divisor","toFixed","_circle","_path","_path2","_extends","assign","bind","n","r","hasOwnProperty","call","apply","SvgClose","svgRef","title","titleId","width","height","fill","ref","cx","cy","stroke","ForwardRef","CloseLabel","StyledDialog","Overlay","rgba","StyledHeader","DialogButtonItem","isVisible","elem","offsetWidth","offsetHeight","getClientRects","StyledDialogBody","isPadded","DialogBody","className","defaultProps","FOCUSABLE_DEFAULT","Dialog","closeDialog","focusable","docref","useRef","focusReturn","activeElement","_docref$current","handleKeydown","docRef","current","focusedItem","focusableItems","Array","prototype","slice","querySelectorAll","numFocusableItems","focusedIndex","shiftKey","focus","preventDefault","handleTab","addEventListener","focusElement","querySelector","previousFocusedElement","removeEventListener","ReactDOM","createPortal","stopPropagation","target","currentTarget","handleOutsideMouseClick","role","getElementById","Header","CloseIcon","Body","StyledDialogHeading","DialogHeading","StyledShirt","img","hasShadow","Shirt","path","sizes","srcSet","src","alt","getElementShirtPath","elementType","teamCode","shirtMode","connect","teamsById","ui_use_special_shirts","ui_special_shirt_exclusions","FixtureForElement","fixture","team_h","team_a","short_name","FixturesForElement","delimiter","fragments","f","result","item","_Fragment","StyledPanel","StyledPanelHeader","PanelHeading","h4","StyledPanelFooter","Panel","_ref19","_ref16","_ref17","Footer","_ref18","TabPanel","Item","li","TabLink","Tab","link","href","TabListShared","TabList","ul","centered","Tabs","defaultSelected","locationHash","setSelected","initialSelected","React","Children","child","handleClick","panel","StyledTooltip","Tippy","TooltipLabel","Tooltip","content","arrow","placement","ElementHeaderWrap","ButtonWrap","Summary","Card","PlayerWrapper","BadgeWrapper","CardInfo","Img","HistoryTable","ElementHeader","ElementMoney","ElementInfo","ElementInfoItem","ElementInfoHeading","ElementInfoValue","TablesWrapper","NoData","TdBold","td","ConnectedDialog","withTranslation","added","setAdded","useDispatch","elementTypesById","useSelector","getFixturesWithBlanks","getFixtures","getFixturesById","nxt","lst","fixturesWithBlanks","expectedNextEventId","historyTotals","getHistoryTotals","statNames","h","isInteger","seasonHistory","getSeasonHistory","getSeasonHistoryById","reverse","useCallback","lastThreeHistory","firstThreeFixtures","elementFullname","second_name","elementCost","addElement","news","Box","m","mx","onError","team_code","singular_name","selected_by_percent","total_points","round","opponent_team","was_home","team_h_score","team_a_score","kickoff_time","dateTime","my","w","toUpperCase","transfers_balance","colSpan","px","season_name","start_cost","end_cost","renderWatchlistButton","_g","_defs","getElementDialog","SvgLogoFooter","clipPath","StyledFooter","footer","Inner","StyledBox","Logo","FooterLogo","ContentWrapper","Copyright","SocialIconsWrapper","SocialIcon","SocialMedia","icon","Facebook","Instagram","X","TikTok","YouTube","SnapChat","LinkedIn","_path3","_path4","_path5","_path6","_path7","useTranslation","pb","rel","SvgFantasyLogo","_style","SvgGb","xmlnsXlink","x","y","style","enableBackground","xmlSpace","xlinkHref","overflow","points","_defs2","SvgSa","_path8","_path9","_path10","_path11","_path12","_path13","_path14","_path15","_path16","_path17","_path18","_path19","_path20","_path21","_path22","_path23","_path24","_path25","_path26","_path27","_path28","_path29","_path30","_path31","_path32","_path33","_path34","_path35","_path36","_path37","_path38","_path39","_path40","_path41","_path42","_path43","_path44","_path45","_path46","_path47","_path48","_path49","_path50","SvgSplLogo","SvgSponsorLogo","fillRule","clipRule","SvgTagline","getSize","innerHeight","innerWidth","outerHeight","outerWidth","useWindowSize","windowSize","setWindowSize","handleResize","arraysEqual","usePriorityNav","links","offset","childrenWidths","setWidths","visibleLinks","setVisibleLinks","nonVisibleLinks","setNonVisibleLinks","oldLinks","setLinks","measuredRef","node","concat","getBoundingClientRect","left","right","useLayoutEffect","screen","filteredIndexedElements","newVisibleLinks","_","newNonVisibleLinks","createClassicLeague","createH2HLeague","joinPrivateLeague","joinPublicLeague","fetchClassicLeagueStandings","fetchH2HLeagueStandings","fetchH2HLeagueMatches","fetchClassicLeagueForAdmin","fetchH2HLeagueForAdmin","updateClassicLeague","updateH2HLeague","deleteLeague","banLeagueEntry","unbanLeagueEntry","fetchLeagueCode","regenerateLeagueCode","leaveLeague","fetchRenewableLeagues","renewRenewableLeague","deleteRenewableLeague","checkLeagueCode","setAutoJoinCode","clearAutoJoinCode","fetchLeagueEntries","fetchLeagueCupStatus","newLeague","leaguesKey","scoring","leagues","league","updatedEntry","classic","le","h2h","eventHistoryById","past","chipHistoryById","eventPicksById","transfersById","phaseStandingsById","phase","getEntry","entries","getEntryEventPicks","getPrivateClassicLeaguesForEntry","l","league_type","getPrivateClassicCupLeaguesForEntry","has_cup","getPrivateH2HLeaguesForEntry","getPublicClassicLeaguesForEntry","getPublicClassicCupLeaguesForEntry","getPublicH2HLeaguesForEntry","getSystemClassicLeaguesForEntry","getSystemClassicCupLeaguesForEntry","getLeagueForEntry","leagueId","getCupMatchesByLeagueId","cupMatches","cup_matches","useDocumentEventHandler","handler","eventHandler","MoreButton","NavLink","NavReachLink","Link","NavHyperLink","Dropdown","nativeEvent","stopImmediatePropagation","useRouter","to","LIStyled","ListItem","forwardRef","isDraft","getProps","isCurrent","isPartiallyCurrent","StyledNav","nav","StyledUL","NavigationLinks","_createElement","connector","urls","useContext","KeyCloakContext","started_event","direction","GameHeaderOuter","headerPattern","GameHeaderInner","PlayerImage","playerComposite1x","hiDPI","playerComposite2x","SplLink","FlagList","FlagItem","FlagLink","FlagStyles","StyledSAFlag","SAFlag","StyledGBFlag","GBFlag","HeaderLogo","ClientLogoStyles","StyledClientLogo","ClientLogo","FantasyLogoStyles","GameTitle","h1","StyledFantasyLogo","FantasyLogo","TagLineWrap","TitleSponsorWrap","SponsorWrap","Sponsor","SponsorLogo","SponsorTagline","GameHeader","Wrapper","Navigation","Tagline","StyledImage","AdWrap","PageAd","adType","allChipDetails","frush","description","pdbus","wildcard","uteam","getChipName","picksLastUpdated","picks_last_updated","picksProposed","subStatus","newPick","instigator","attrs","newPicks","subStart","newCaptain","attrMake","attrOther","oldCaptain","picksSaved","savingState","getMyPicksSaved","myTeam","getMyPicksProposed","getMyTeamSavingState","getMyStartersProposed","squad_squadplay","getMyStartingTotalsByType","getMyFormation","isSub","getMyPossibleReplacementsForPick","pick1","possibles","pick2","isLegalSwap","p1","p2","p1Type","p2Type","p1Sub","p2Sub","validSwap","squad_max_play","squad_min_play","sub_positions_locked","isMyTeamValid","every","hasMyTeamChanged","is_captain","is_vice_captain","toUpdateMyTeamAPI","checkGame","actionSubstitution","fetchURL","Flag","Footnote","SvgArrowDoubleLeft","SvgArrowDoubleRight","SvgArrowHyphen","SvgArrowLeft","SvgArrowRight","rtlStyles","ArrowLeft","ArrowLeftIcon","ArrowRight","ArrowRightIcon","ArrowLeftDouble","ArrowLeftDoubleIcon","ArrowRightDouble","ArrowRightDoubleIcon","ControlArrowRight","ControlArrowLeft","ArrowHyphen","ArrowHyphenIcon","KeycloakEntryLinks","endIcon","SvgDown","_rect","SvgNew","SvgSame","SvgUp","NewIcon","BaseNewIcon","SameIcon","BaseSameIcon","arrowStyling","BaseUpIcon","BaseDownIcon","StyledUpArrow","StyledDownArrow","Movement","lastRank","rank","LinkStyles","RouterLink","getIdFromEventName","eventName","_eventName$match","getEventShortName","StyledResult","Result","resultChar","CupSummaryScore","iAmOne","entry_1_entry","is_bye","entry_1_points","entry_2_points","EventCell","StatusCell","CupSummaryData","winner","cupEventNameId","getBroadcasterLeagues","systemClassicLeagues","broadcasterLeagueMatch","getFilteredSystemClassicLeagues","broadcasterLeagues","getCupUrl","cup_league","linkUrl","CupTypeRow","cupMatch","leagueName","cup_qualified","LeagueSummaryHeading","SummaryCupCol","th","SummaryRoundCol","SummaryStatusCol","LeagueSummaryTable","SelectWrap","SelectBox","MyLeagueCupSummary","scope","StyledLogoBar","justifyContent","LogoBar","TabHeadingOuter","isCentered","hasBorder","TabHeadingInner","isBlock","TabHeadingTitle","TabHeading","EntryTab","EntryTabs","selectedTab","setSelectedTab","EntryNameWrapper","EntryFullName","EntryName","DataListItem","DataListHeading","h5","DataListValue","MovementCell","Rank","Name","boldStyles","BoldText","StyledLink","StyledTdFixedWidth","MovementHead","RankHead","NameHead","Entry","Component","componentDidMount","this","mine","transfersState","render","privateClassicLeagues","publicClassicLeagues","privateH2HLeagues","publicH2HLeagues","totalPlayers","privateClassicCupLeagues","publicClassicCupLeagues","systemClassicCupLeagues","filteredSystemClassicLeagues","hasCupLeagues","broadcasterCupLeagues","filteredSystemCupLeagues","LeagueSummary","LeagueSummaryRow","leagueEntry","entry_last_rank","entry_rank","toLocaleString","player_first_name","player_last_name","player_region_iso_code_short","mt","summary_overall_points","summary_overall_rank","summary_event_points","as","last_deadline_total_transfers","last_deadline_value","last_deadline_bank","mapStateToProps","ownProps","fetchUrl","chipHistory","getEntryChipHistory","eventHistory","getEntryEventHistory","getEntrySeasonHistory","movementFromIndex","thisRank","overall_rank","Main","mb","eh","points_on_bench","event_transfers","event_transfers_cost","ch","time","sh","Secondary","EntryUnsubscribe","reduxDispatch","unsubscribeState","setUnsubscribeState","pre","doUnsubscribe","bad","useFormHook","initialStateObject","formState","updateFormState","newFormState","checked","updateColorState","hex","DeleteBox","onSubmit","null","navigate","StyledTitle","EntryUpdate","updateState","updateCheckboxState","updateSelectState","initState","favourite_team","least_favourite_team","entry_email","entry_language","spl","unavailable","languages","en","fave","leastFave","kit","FieldWrap","InputField","onChange","hint","maxLength","SelectField","tm","firstRoundDeadline","deadline_time","required","CheckboxField","DeleteAccountBox","EntryUpdateFetcher","updateElementControlsAndMaxCost","updateElementTypeControl","elementTypeId","showElementSummary","getElementSummary","fetchEventLive","addFixturesForEvent","addFixtures","addAllStatsForFixture","byEvent","eventSlice","allStatsById","getGroupedFixturesByEvent","fixturesByEvent","getFixturesByEvent","groupedFixturesByEvent","groups","currentGroup","kickoffDate","fixtureDate","startOfDay","isEqual","date","getFixturesForEvent","getFixturesForEventById","getFixturesForNextEventByTeam","getFixturesForEventByTeam","fetchFixtures","__","isHome","suffix","StyledBadge","Badge","isPresentation","imgProps","StyledFixture","isOpen","Teams","Team","TeamH","TeamA","TeamName","abbr","FixtureBadge","FixtureKOTime","FixtureScore","FixtureScoreTeam","_ref20","_ref21","_ref22","_ref23","_ref24","_ref25","started","Pager","EventPager","PagerItem","PagerButton","PagerButtonNext","PagerHeading","PagerItemNext","Deadline","Heading","Note","FixtureDay","FixtureTime","FixtureList","FixtureItem","FixtureButton","FixtureStatsWrap","FixtureStatsOuterList","FixtureStat","FixtureStatHeading","FixtureStatBody","_ref26","_ref27","_ref28","FixtureStatList","_ref29","_ref30","_ref31","FixtureStatItem","_ref32","_ref33","_ref34","_ref35","ElementButton","_ref36","_ref37","FixtureStatsForTeam","_ref38","showElementDialog","fs","FixtureStats","_ref39","statsByIdentifier","renderStats","identifier","_ref40","initialEventId","useLinks","setIsOpen","setEventId","changeEvent","newEventId","eventFixtureGroups","textTransform","startIcon","disabled","Trans","i18nKey","group","fixtureId","prevState","Fixture","FixturesWrapper","Fixtures","PromoText","KeycloakLoginLinks","Promo","PromoLeft","PromoRight","PromoHeading","userError","getItem","Flex","flexDirection","StyledEventInfo","InfoList","InfoItem","ItemHeading","ItemValueStat","ItemValueScore","ArrowLink","chip_plays","cp","chip_name","wildcards","num_played","average_entry_score","highest_scoring_entry","highest_score","transfers_made","most_captained","StatusBar","isFinished","EventStatusBar","eventStatus","BoldLinkStyles","StyledBoldLink","BoldLink","_circle2","SvgInfo","_polygon","SvgStatus","StyledInfo","Info","StyledStatus","Status","copnr","ElementStatus","chance_of_playing_next_round","StyledElementDialogButton","ElementTable","PrimaryCell","ElementRow","tr","ElementCell","StatusPanel","AvailabilityTable","StatusCol","ShirtCol","PlayerCol","PosCol","ClubCol","ShirtCell","ElementDialogButton","ElementShirt","singular_name_short","fetchOverallDreamTeam","fetchEventDreamTeam","byEventId","overall","getOverallDreamTeam","dreamTeams","getEventDreamTeam","getEventDreamTeamFormation","dreamTeamAsPickLight","multiplier","ExplainHeading","ExplainScore","elementsDataById","renderExplainFixture","elementData","valueForPlayerElement","initProps","unshift","Pitch","PitchSvg","PitchRow","PitchUnit","PitchElementWrap","StyledPitchElement","isRemoved","Controls","PrimaryControl","InfoControl","ElementName","ElementValue","StatusPitchElementData","StatusPitchElementWrap","StyledStatusPitchElement","StyledInfoControl","renderElementMenu","renderPickValue","StatusPitch","StatusPitchRow","StatusPitchUnit","FiveFourOne","generateProps","StatusPitchElement","FiveThreeTwo","FiveTwoThree","FourFiveOne","FourThreeThree","FourFourTwo","ThreeFourThree","ThreeFiveTwo","StatusFormation","formation","sharedTeamPitchElementProps","formations","StyledDreamTeam","PitchWrap","TopPlayerWrap","TopScorer","TopScorerHeading","TopScorerCard","TopScorerShirt","TopScorerData","TopScorerName","TopScorerPts","TopScorerTeam","StatusDreamTeam","elementForMenu","setElementForMenu","topPlayer","top_player","handleShowMenuForElement","renderDreamTeam","ElementExplainDialog","handleHideMenuForElement","SvgTransferArrowLeft","SvgTransferArrowRight","BodyArrowIn","BodyArrowOut","TransfersTable","ArrowCol","TransfersCol","isOut","transferStatus","inOut","StatusWrapper","StatusCols","StatusMain","StatusSecondary","EventInfo","TransfersPanel","PlayerAvailability","Description","StyledTriangleCard","highlight","BtnWrapper","BgImg","smSrc","mdSrc","Content","ContentInner","TriangleCard","lgSrc","desc","btnText","btnLink","newTab","Highlights","HighlightsFlexItem","HighlightsItem","TrackFacebook","fbq","isWide","Login","Step1x2","Step1","Step2x2","Step2","DialogButton","getLatestTransfers","transfersHistory","getTransfersForEntry","ElementListElement","ElementListTable","ElementListPosition","halfElements","ceil","firstHalfElements","secondHalfElements","display","localStorageKey","getInitialState","_window$localStorage2","getValue","classicStandingsById","produce","draft","_draft$data$league$id","_draft$data$league$id2","phaseId","newData","newEntriesByPage","standingsByPhaseAndPage","new_entries","page","standings","lastUpdatedData","last_updated_data","getH2HMatchesKey","h2hMatchesById","_draft$leagueId","byEntryEventPage","adminById","byCode","autoJoinCode","codesByLeagueId","createClassicLeagueError","createH2HLeagueError","cupStatusById","qualifying_league","h2hStandingsById","standingsByPage","entriesById","entriesErrorById","joinPrivateLeagueSuccess","joinPrivateLeagueError","joinPublicLeagueError","renewableById","rl","updateClassicLeagueError","updateH2HLeagueError","getLeagueAdmin","getCode","getRenewableLeagues","getCreateClassicLeagueError","getCreateH2HLeagueError","getJoinPrivateLeagueError","getJoinPublicLeagueError","getClassicLeague","leagueData","getJoinPrivateLeagueSuccess","addEntryToTopOfNewEntries","newEntries","entry_name","joined_time","ne","getActiveEntryInLeague","activeToClassicStanding","event_total","last_rank","player_name","rank_sort","activeToH2HStanding","division","matches_drawn","matches_lost","matches_played","matches_won","points_for","getH2HLeague","getH2HStandings","activeEntry","results","cs","getH2HMatches","_state$leagues$h2hMat","getLeagueEntries","getLeagueCupStatus","pageNewEntries","pageStandings","setCode","setValue","_window$localStorage","clearCode","_window$localStorage3","clearValue","EntrySelector","handleChange","searchChange","Downshift","selection","onInputValueChange","debounce","itemToString","getInputProps","getItemProps","getLabelProps","getMenuProps","highlightedIndex","selectedItem","SearchField","backgroundColor","fontWeight","EntrySelectorWrapper","excluded","setEntries","lastSearch","setLastSearch","searchMatches","encodeURIComponent","setEntry","apiDataFromState","admin_entry","updateAdmin","setState","closed","codePrivacy","code_privacy","startEvent","privacyOptions","updateLeague","remove","confirm","bans","leagueNumber","Code","ClassicDetails","AddBan","RemoveBan","ChangeAdmin","Delete","koRounds","ko_rounds","maxEntries","max_entries","maximumKoRounds","remainingEvents","league_max_ko_rounds_private_h2h","minimumSize","pow","validStartingEvents","league_max_size_private_h2h","num","minimumSizeKoRounds","H2HDetails","AutoJoin","setTimeout","Create","non_field_errors","maxPrivateEntries","league_join_private_max","TextDivider","CreateJoin","StyledMain","StyledSubheading","StyledParagraph","CupNotStarted","cupStatus","qualification_event","cupEventNameIdPlus","has_byes","qualification_numbers","qualification_event_plus","qualification_numbers_div","qualification_numbers_min","qualification_numbers_plus","LeagueInvite","LeagueInviteCode","strong","Hr","hr","fetchCode","codeToCopy","inviteMessage","emailText","emailBody","emailSubject","encodedEmailSubject","encodeURI","joinUrl","isCopied","setCopied","useClipboard","successDuration","isCopiedUrl","setCopiedUrl","isCopiedEmail","setCopiedEmail","onDoubleClick","line","maxPrivateLeagues","maxPublicLeagues","league_join_public_max","JoinLeagueError","getErrorMessage","getErrorType","hasJoinedPrivate","joinPublicLeagueClassic","joinPublicLeagueH2H","publicLeagueMax","maxSizePublicClassic","league_max_size_public_classic","maxSizePublicH2H","league_max_size_public_h2h","leagueJoinPublicMax","ButtonLinkStyles","StyledButtonLink","ButtonLink","H2HEntryFilter","handleFilterChange","leagueEntries","H2HEventFilter","eId","SvgCup","CupWinner","StyledCup","CupBase","MatchesScore","inProgress","MatchesScoreTeam","StyledStatusRow","StyledMatchRow","MatchesEntryStyles","MatchesEntry1","MatchesEntry2","MatchesScoreWrap","ByeScore","KONameRow","KONameCell","KOName","isFinal","WinnerStatus","isCup","winnerName","entry_1_name","entry_2_name","tiebreak","StatusRow","H2HMatch","selectedEntry","showEvent","isAllMine","cupEventNameIdMinus","knockout_name","entry_2_entry","entry_2_player_name","entry_1_player_name","matchEntry","matchEvent","StyledMatchesTable","MatchesRoundColRound","MatchesRoundColEntry","MatchesRoundColEntry1","MatchesRoundColScore","MatchesTable","StyledFlex","ButtonWrapper","entryInLeague","isAdmin","entry_can_admin","isEntryInLeague","showInviteBtn","showJoinBtn","MatchesCup","query","qs","parse","ignoreQueryPrefix","entryNumber","eventNumber","pageMatches","page_matches","buildMatchesUrl","myLeagueEntry","didNotQualify","notStarted","largeCupEvent","fetchMatches","is_large","cupStartText","StandingsHeading","defaultEntry","eventNumberMinus","has_next","getLeagueUrl","NavList","NavItem","rest","H2HNav","defaultEntryParam","pathname","useLocation","defaultEntryNumber","default_entry","isPlayerInLeague","leagueEntriesError","getLeagueEntriesError","getH2HNewEntries","isLargeLeague","useMemo","_leagueEntriesError$b","_leagueEntriesError$b2","showEntry","CupCol","RoundCol","MyCupsTable","CupTypeTable","SubNav","LeaguesNav","NavContainer","MyCups","flex","pt","entryName","SvgCog","DialogManager","constructor","showDialog","handleShow","handleHide","LinkButton","ActionBar","ActionBarItem","ActionList","MyLeaguesTable","LeagueCol","MovementCol","RankCol","OptionsCol","MenuCopy","Cog","BaseCog","leave","LeagueTypeTable","LeagueMenuDialog","entry_can_leave","entry_can_invite","destroy","renew","mr","HelmetHead","Helmet","HelmetHeadLeagues","StandingsRow","page_new_entries","page_standings","getClassicNewEntries","getClassicStandings","buildLink","InlineSelectField","ls","alignItems","LoggedIn","Redirect","noThrow","Logout","handleLogout","PasswordReset","setEmail","submitted","setSumbitted","PasswordSet","uidb64","passwordSetErrors","initialToken","newPassword1","setNewPassword1","newPassword2","setNewPassword2","setErrors","validate","serverErrors","new_password1","new_password2","onBlur","FieldFeedback","addRegions","getRegions","regions","fetchResidences","_fetch","PasswordChange","passwordChangeErrors","oldPassword","setOldPassword","password","setPassword","old_password","DOBFieldset","fieldset","DOBFieldsetInner","DOBLegend","legend","DOBCol","_state$residenceData","_state$residenceData2","_state$residenceData3","updateError","doBootstrap","updatePlayer","fetchRegionData","errorsTxt","EDob","EEmail","EFName","ELName","EPass","EPassLength","EValidEmail","EValidPass","ERegion","EGender","EValidDob","months","birthDay","date_of_birth","birthMonth","birthYear","errorEmail","errorFName","errorLName","errorPass","emailSPL","email_spl","errorRegion","residenceData","residences","residence","residenceCity","gender","errorGender","formDisabled","errorDob","getMode","dirty","fetchData","handleDobBlur","year","month","day","isValid","today","birthDate","age","getFullYear","getMonth","getDate","update","buttonText","handleServerErrors","formattedErrors","saudiResi","reg","intResidenceUn","intResidence","intResidenceCitiesUn","intResidenceCities","scrollTo","RSL","hasErrors","getSaudiRegions","saudi","getIntRegions","noSaudi","RadioGroup","defaultOptionIndex","options","labelVisbility","defaultValue","getRequiredFields","VerifyDeleteOtp","setToken","FetchPut","terms_agreed","requiredFields","errorCode","getCodeFromError","reload","StyledPageHeader","PageHeader","StyledDeadlineBar","DeadlineBar","deadlineISO","deadlineLocal","SaveBar","StyledScoreboardPanel","Value","isError","isSuccess","ScoreboardPanel","heading","CostScoreboardUnit","CostButtonWrap","Basic","autoPick","currencyDivisor","isBudgetExceeded","isNeedElements","proposedElements","reset","py","pl","ml","pr","ExplainChipDialog","transferCosts","Cost","activeChipName","availableChipNames","freeTransfersRemaining","proposedChipName","cancelChip","proposeChip","unlimitChip","wildCardChip","flexWrap","Scoreboard","scoreboard","typesByPosition","averageCostByType","elementsOwned","failures","typesNeeded","avgToSpend","weightingFactor","invalidTeams","choice","shuffle","form","log","savedPicks","SvgRemove","PitchElementData","PlaceholderShirt","StyledRemove","Remove","actionMe","elementValue","shirtProps","StyledPlaceholder","Abbr","Span","PitchPlaceholder","mapDispatchToProps","removePitchElement","restorePitchElement","showElementType","showSidebar","SquadPitchElement","StyledPitchWrapper","PlayerActions","ScoreBoardWrapper","listTable","submitDialog","positionForMenu","setPositionForMenu","renderElementValueForPosition","latestAction","playerName","canEnter","sharedPitchElementProps","submitButtonText","positionsByElementType","SquadPitchUnit","positions","renderElementDialog","sharedSquadListTableProps","renderMenu","handleRemoveElement","handleRestoreElement","elementTypeFilterOptions","filterTeams","o","_stats","getStats","event_points","minutes","goals_scored","assists","clean_sheets","goals_conceded","own_goals","penalties_saved","penalties_missed","yellow_cards","red_cards","saves","attacking_bonus","defending_bonus","key_passes","clearances_blocks_interceptions","winning_goals","dreamteam_count","value_form","value_season","points_per_game","transfers_in","transfers_out","transfers_in_event","transfers_out_event","cost_change_start","cost_change_start_fall","cost_change_event","cost_change_event_fall","allStatsDetails","getStatDetails","handleSortChange","sortOptions","defaultSortOptions","getStatNames","isSmall","HiddenLabel","PaginatorButton","Paginator","setPage","totalPages","StyledMedia","centred","Media","MenuButton","StyledElementListRow","isProposed","ElementListStatCell","ElementListRow","ElementInTable","Form","ElementsShown","ElementTableHeadStyles","ElementListBlank","ElementListPrice","ElementListStat","ElementTypeButton","hideRef","hideSidebar","proposedElementsById","updateControls","updateControlsAndMaxCost","paginateAndGroup","pageSize","start","ElementFilter","ElementSort","proposedElement","roomInSquad","alert","handleAddElement","PusherWrap","Pusher","isSidebarVisible","PusherSecondary","setIsSidebarVisible","showRef","createRef","handleShowSidebar","onTransitionEnd","CreateSquad","ElementList","handleHideSidebar","ScrollWrapper","FlexElementCell","FilterElTypeButton","SquadListElement","SquadListCost","SquadListSelected","SquadListPoints","SquadListFixture","SquadListRow","fixturesForNextEventByTeam","SquadSelection","Register","SquadBase","listTableProps","SquadListTable","CreateEntryDialog","availableChips","freeTransfers","wildcardAvailable","unlimitAvaliable","costs","SquadListStatus","SquadListPrice","SquadListForm","TransfersListRow","elementState","Transfers","TransfersListTable","ConfirmTransfersDialog","NewsStatus","NewsElement","NewsNews","NewsCell","FieldCols","FieldCol","StatsStatus","StatsElement","StatsCost","StatsSel","StatsForm","StatsPts","StatsExtra","ElementNameButton","statName","paginate","extraStat","statDetail","String","StyledBoldLinkButton","BoldLinkButton","StatsTable","DreamTeamRow","dataById","SvgSub","SvgCaptain","_g2","SvgViceCaptain","SvgX2","StyledCaptain","Captain","StyledViceCaptain","ViceCaptain","StyledX2","x2","StyledSub","Sub","ElementIconWrap","DreamTeamWrap","TeamElementIcon","TeamPitchElement","substitute","DTScoreboardWrapper","DTScoreboard","DTScoreboardPanel","DTScoreboardHeading","DTScoreboardValue","TopPlayer","TopPlayerData","PitchWrapper","getOverallDreamTeamFormation","NotFound","PitchFormation","DreamTeamTable","SvgDreamteam","SvgReload","DreamTeam","BaseDreamTeam","Bench","StyledBenchUnit","BenchUnitHeading","EntryEventRow","PointsScoreboardWrap","PointsScoreboard","ScoreboardPrimary","PrimaryPanel","chipPlayed","PrimaryHeading","PrimaryValue","ReloadButton","Reload","BaseReload","ReloadButtonText","ScoreboardSecondary","SecondaryPanel","SecondaryItem","SecondaryHeading","SecondaryValue","DreamTeamLinkIcon","_ref41","DreamTeamLink","ReachLink","_ref42","_ref43","_ref44","ChipStatus","_ref45","_ref46","_ref47","_ref48","_ref49","_ref50","initialEntryId","pickForMenu","setPickForMenu","entryData","getEntryEventFormation","getEntryEventPoints","elementsEventDataById","handleShowMenuForPickElement","in_dreamteam","active_chip","benchHeading","fetchDataAndFixtures","entry_history","BenchUnit","EntryEventTable","automatic_subs","handleHideMenuForPick","MyTeamStatus","MyTeamCpt","MyTeamElement","MyTeamPos","MyTeamForm","MyTeamRD","MyTeamPts","MyTeamFix","MyTeamRow","chipInPlayName","ChipList","ChipItem","Chip","ChipHeading","ChipLink","ChipLinkArrow","chipAllPlayName","changed","chipsChanged","valid","renderChipAction","played_by_entry","_renderPickValue","chipDetails","getAllChipDetails","MyTeamTable","renderUnlimitChipAction","startMax","AccountRecovery","lazy","Help","Rules","Terms","Prizes","OnRouteChangeWorker","componentDidUpdate","prevProps","OnRouteChange","Location","PlayerRoute","RecoveryRoute","EntryRoute","Suspense","fallback","Loading","Router","Home","MyTeam","MyLeagues","Renew","CreateClassic","CreateH2H","Join","JoinPrivate","JoinPublic","AdminClassic","AdminH2H","Invite","StandingsClassic","StandingsH2H","MatchesH2H","EntryHistory","EntryEvent","TransfersHistory","Statistics","News","PlayerList","from","default","HomeOrHelp","renderError","ServerError","ConfirmBtnWrapper","LeagueName","AutoJoinDialog","getAutoJoinCode","joinedPrivateLeagueSuccess","getLeagueFromCode","confirmJoinLeague","profile","App","bootstrapped","setProfile","Keycloak","process","realm","clientId","onTokenExpired","onAuthError","onAuthLogout","onReady","checkLoginIframe","useKeycloak","userId","tagManagerArgs","gtmId","loggedIn","initialize","_ThemeProvider","lang","dir","Provider","Routes","ElementDialog","AppContainer","bootstrapApp","componentDidCatch","errorInfo","Sentry","setExtras","getBootstrapped","fetchEntryCupDetail","byEntryId","cupDetail","cup","idsFromSummary","cup_status","fetchBestClassicPrivateLeagues","fetchMostValuableTeams","bestClassicPrivateLeagues","mostValuableTeams","byURL","last_fetched","getTime","fetchEventWinners","fetchPhaseWinners","byPhase","enableAllPlugins","rootReducer","winners","configureStore","initialState","middlewares","thunkMiddleware","enhancer","composeWithDevTools","applyMiddleware","createStore","dsn","environment","integrations","ignoreErrors","maxBreadcrumbs","tracesSampleRate","profilesSampleRate","store","navigator","serviceWorker","ready","registration","unregister","URLSearchParams","has","fetchEntryPhaseStandings","staticRequest","dynamicRequest","staticData","meData","element_stats","element_types","game_settings","lastBootstrap","getBootstrapTime","timeNow","REFRESH_MINUTES","postData","accountRecovery","btnVariations","baseBtn","home","fullwidth","xs","sm","lg","flexVariations","flexStart","flexEnd","spaceBetween","StyledBtn","Base","hasicon","startIconProp","endIconProp","commonProps","marginInlineEnd","marginInlineStart","tabIndex","fieldStyles","padding","border","borderRadius","fontFamily","fontSize","borderColor","FieldLabel","Hint","Input","input","ArrowDown","InlineSelectWrap","Select","InlineSelect","SearchWrap","SearchIcon","SearchInput","LabelHint","htmlFor","InlineLabel","readonly","readOnly","Checkbox","CheckboxText","hasLogo","LogoImg","logo","hideLabel","labelStyles","Fieldset","Radio","RadioText","StyledFieldFeedback","defaultChecked","loading","times","browser","server"],"mappings":"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","file":"static/js/main.e7055eb3.chunk.js","sourcesContent":["import { deprecated } from \"typesafe-actions\";\nimport { IServerError } from \"./types\";\n\nconst createAction = deprecated.createAction;\n\nexport const addServerError = createAction(\n \"ADD_SERVER_ERROR\",\n (resolve) => (error: IServerError) => resolve(error)\n);\n","import { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport * as actions from \"../bootstrap/actions\";\nimport { getCurrentEvent, getFinishedEvents } from \"../events/reducers\";\nimport { IPhase, IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n byId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addPhases):\n const newState: { [key: string]: IPhase } = {};\n action.payload.forEach((et) => {\n newState[et.id] = et;\n });\n return newState;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getPhasesById = (state: RootState) => state.phases.byId;\n\nexport const getPhases = (state: RootState) =>\n Object.keys(state.phases.byId).map((p) => state.phases.byId[p]);\n\nexport const getFinishedPhases = createSelector(\n getPhases,\n getFinishedEvents,\n (phases, events) => {\n if (!events.length) {\n return [];\n }\n const lastFinishedEvent = events[events.length - 1];\n return phases.filter((p) => p.stop_event <= lastFinishedEvent.id);\n }\n);\n\nexport const getStartedPhases = createSelector(\n getPhases,\n getCurrentEvent,\n (phases, now) => {\n if (!now) {\n return [];\n }\n return phases.filter((p) => p.start_event <= now.id);\n }\n);\n","import { createAsyncAction } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { IEventStatusData } from \"./types\";\n\nexport const fetchEventStatus = createAsyncAction(\n \"FETCH_EVENT_STATUS_START\",\n \"FETCH_EVENT_STATUS_SUCCESS\",\n \"FETCH_EVENT_STATUS_FAILURE\"\n)();\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"..\";\nimport { addPlayer, addWatched } from \"../bootstrap/actions\";\nimport * as actions from \"./actions\";\nimport { IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n data: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(addPlayer):\n return action.payload;\n default:\n return state;\n }\n },\n loginError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.login.failure):\n return action.payload;\n default:\n return null;\n }\n },\n loginSuccess: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.login.success):\n return action.type;\n default:\n return null;\n }\n },\n passwordChangeError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.passwordChange.failure):\n return action.payload;\n default:\n return null;\n }\n },\n passwordResetError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.passwordReset.failure):\n return action.payload;\n default:\n return null;\n }\n },\n passwordSetError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.passwordSet.failure):\n return action.payload;\n default:\n return null;\n }\n },\n playerUpdateError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.playerUpdate.failure):\n return action.payload;\n default:\n return null;\n }\n },\n registerError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.register.failure):\n return action.payload;\n default:\n return null;\n }\n },\n watched: (state = [], action: RootAction) => {\n switch (action.type) {\n case getType(addWatched):\n return action.payload;\n case getType(actions.addToWatched):\n return state.indexOf(action.payload) === -1\n ? [...state, action.payload]\n : state;\n case getType(actions.removeFromWatched):\n return state.filter((code) => code !== action.payload);\n default:\n return state;\n }\n },\n recoveryError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.recover.failure):\n return action.payload;\n default:\n return state;\n }\n },\n recoveryStatus: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.recover.success):\n return action.payload;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getPlayerData = (state: RootState) => state.player.data;\n\nexport const getWatched = (state: RootState) => state.player.watched;\n\nexport const getLoginError = (state: RootState) => state.player.loginError;\n\nexport const getPasswordChangeError = (state: RootState) =>\n state.player.passwordChangeError;\n\nexport const getPasswordResetError = (state: RootState) =>\n state.player.passwordResetError;\n\nexport const getPasswordSetError = (state: RootState) =>\n state.player.passwordSetError;\n\nexport const getPlayerUpdateError = (state: RootState) =>\n state.player.playerUpdateError;\n\nexport const getRegisterError = (state: RootState) =>\n state.player.registerError;\n\nexport const getLoginSuccess = (state: RootState) => state.player.loginSuccess;\n\nexport const getRecoveryError = (state: RootState) =>\n state.player.recoveryError;\n\nexport const getRecoveryStatus = (state: RootState) =>\n state.player.recoveryStatus;\n","import { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport * as actions from \"../bootstrap/actions\";\nimport { IEvent, IState } from \"./types\";\nimport { fetchEventStatus } from \"./actions\";\n\n// State Reducer\nexport default combineReducers({\n byId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addEvents):\n const newState: { [key: string]: IEvent } = {};\n action.payload.forEach((event) => {\n newState[event.id] = event;\n });\n return newState;\n default:\n return state;\n }\n },\n currentEventStatus: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(fetchEventStatus.success):\n return action.payload;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getEventsById = (state: RootState) => state.events.byId;\n\nexport const getEvents = (state: RootState) =>\n Object.keys(state.events.byId).map((e) => state.events.byId[e]);\n\nexport const getPreviousEvent = createSelector(getEvents, (events) => {\n const previousEvent = events.filter((e) => e.is_previous);\n return previousEvent.length ? previousEvent[0] : null;\n});\n\nexport const getCurrentEvent = createSelector(getEvents, (events) => {\n const currentEvent = events.filter((e) => e.is_current);\n return currentEvent.length ? currentEvent[0] : null;\n});\n\nexport const getNextEvent = createSelector(getEvents, (events) => {\n const nextEvent = events.filter((e) => e.is_next);\n\n return nextEvent.length ? nextEvent[0] : null;\n});\n\nexport const getNextNEvents = (n: number = 3) =>\n createSelector(\n getEventsById,\n getNextEvent,\n\n (all, nxt) => {\n const events: IEvent[] = [];\n if (nxt) {\n for (let step = 0; step < n; step++) {\n if (all[nxt.id + step]) {\n events.push(all[nxt.id + step]);\n }\n }\n }\n\n return events;\n }\n );\n\nexport const getFutureEvents = createSelector(\n getEvents,\n getNextEvent,\n (events, next) => (next ? events.filter((e) => e.id >= next.id) : [])\n);\n\nexport const getFinishedEvents = createSelector(getEvents, (events) =>\n events.filter((e) => e.finished)\n);\n\nexport const getLastEvent = createSelector(getEventsById, (eventsById) => {\n const ids = Object.keys(eventsById).map((id) => Number(id));\n if (!ids.length) {\n return null;\n }\n return eventsById[Math.max(...ids)];\n});\n\nexport const getCurrentEventStatus = (state: RootState) =>\n state.events.currentEventStatus;\n","import { Dispatch } from \"redux\";\nimport { IError, RootAction } from \"../store\";\nimport { addServerError } from \"../store/global/actions\";\n\nexport const getCookie = (name: string): string => {\n let cookieValue = \"\";\n if (document.cookie && document.cookie !== \"\") {\n for (let cookie of document.cookie.split(\";\")) {\n cookie = cookie.trim();\n if (cookie.substring(0, name.length + 1) === `${name}=`) {\n cookieValue = decodeURIComponent(cookie.substring(name.length + 1));\n break;\n }\n }\n }\n return cookieValue;\n};\n\nconst responseIsEmpty = (response: Response) => {\n const contentLength = response.headers.get(\"content-length\");\n return (\n response.status === 204 ||\n (contentLength && parseInt(contentLength, 10) === 0)\n );\n};\n\nconst responseIsJSON = (response: Response) => {\n const contentType = response.headers.get(\"content-type\");\n return contentType && contentType.indexOf(\"application/json\") !== -1;\n};\n\n// TODO - Type this better\ninterface IAsyncActions {\n request: any;\n failure: any;\n success: any;\n}\n\nasync function _api(\n url: string,\n dispatch: Dispatch,\n asyncActions: IAsyncActions,\n fetchArgs: RequestInit,\n successPayloadFormat?: {}\n): Promise {\n let response;\n try {\n dispatch(asyncActions.request());\n response = await fetch(`/api/${url}`, {\n ...fetchArgs,\n credentials: \"same-origin\",\n });\n } catch (e) {\n // Network error\n const error: IError = { errorText: e.message, url };\n dispatch(asyncActions.failure(error));\n throw e;\n }\n if (!response.ok) {\n // Not 2xx\n const error: IError = { statusText: response.statusText, url };\n if (response.status === 400) {\n error.badRequest = await response.json();\n } else {\n // Non 400 errors are handled globally\n dispatch(\n addServerError({\n code: response.status,\n details: await response.text(),\n })\n );\n }\n dispatch(asyncActions.failure(error));\n throw new Error(response.statusText);\n }\n const data = responseIsJSON(response)\n ? responseIsEmpty(response)\n ? {}\n : await response.json()\n : responseIsEmpty(response)\n ? \"\"\n : await response.json();\n dispatch(\n asyncActions.success(\n successPayloadFormat\n ? {\n ...successPayloadFormat,\n data,\n }\n : data\n )\n );\n return data as T;\n}\n\nexport async function apiGet(\n url: string,\n dispatch: Dispatch,\n asyncActions: IAsyncActions,\n successPayloadFormat?: {}\n): Promise {\n return _api(url, dispatch, asyncActions, {}, successPayloadFormat);\n}\n\nasync function _apiDeletePostPut(\n method: \"DELETE\" | \"POST\" | \"PUT\",\n url: string,\n data: object,\n dispatch: Dispatch,\n asyncActions: IAsyncActions,\n successPayloadFormat?: {}\n): Promise {\n return _api(\n url,\n dispatch,\n asyncActions,\n {\n body: JSON.stringify(data),\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRFToken\": getCookie(\"csrftoken\"),\n },\n method,\n },\n successPayloadFormat\n );\n}\n\nexport async function apiPost(\n url: string,\n data: object,\n dispatch: Dispatch,\n asyncActions: IAsyncActions,\n successPayloadFormat?: {}\n): Promise {\n return _apiDeletePostPut(\n \"POST\",\n url,\n data,\n dispatch,\n asyncActions,\n successPayloadFormat\n );\n}\n\nexport async function apiPut(\n url: string,\n data: object,\n dispatch: Dispatch,\n asyncActions: IAsyncActions,\n successPayloadFormat?: {}\n): Promise {\n return _apiDeletePostPut(\n \"PUT\",\n url,\n data,\n dispatch,\n asyncActions,\n successPayloadFormat\n );\n}\n\nexport async function apiDelete(\n url: string,\n data: object,\n dispatch: Dispatch,\n asyncActions: IAsyncActions,\n successPayloadFormat?: {}\n): Promise {\n return _apiDeletePostPut(\n \"DELETE\",\n url,\n data,\n dispatch,\n asyncActions,\n successPayloadFormat\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport styled from \"styled-components/macro\";\nimport Copy from \"./Copy\";\n\nconst StyledCollapsible = styled.div`\n margin-bottom: ${({ theme }) => theme.space[2]};\n\n > h5 {\n margin: 0;\n }\n`;\n\nconst Button = styled.button`\n display: flex;\n align-items: flex-start;\n width: 100%;\n padding: ${({ theme }) => theme.space[2]};\n border: ${({ theme }) => theme.borders[2]};\n border-radius: ${({ theme }) => theme.radii[1]};\n background-color: ${({ theme }) => theme.colors.white};\n color: ${({ theme }) => theme.colors.black};\n font-family: ${({ theme }) => theme.fonts.base};\n font-size: 1.4rem;\n text-align: start;\n\n :hover {\n font-weight: bold;\n border: ${({ theme }) => theme.borders[3]};\n padding: 9px;\n }\n\n svg {\n fill: ${({ theme }) => theme.colors.blue};\n }\n\n &[aria-expanded=\"true\"] {\n svg {\n transform: rotate(180deg);\n }\n border-bottom-right-radius: 0px;\n border-bottom-left-radius: 0px;\n font-weight: bold;\n border: ${({ theme }) => theme.borders[3]};\n padding: 9px;\n }\n`;\n\nconst CollapseIcon = styled.div`\n width: 14px;\n margin-inline-end: 10px;\n flex-shrink: 0;\n`;\n\nconst CollapsibleContent = styled.div`\n padding: ${({ theme }) => theme.space[2]};\n background-color: ${({ theme }) => theme.colors.whiteGrey};\n border-bottom-right-radius: ${({ theme }) => theme.radii[1]};\n border-bottom-left-radius: ${({ theme }) => theme.radii[1]};\n\n &[aria-hidden] {\n display: none;\n }\n\n &[aria-hidden=\"false\"] {\n display: block;\n }\n`;\n\n// Used to generate unique ids for collapsible content / aria controls\nlet lastId = 0;\nconst newId = (prefix = \"ism-id\") => `${prefix}${++lastId}`;\n\ninterface IProps {\n headingText: string;\n}\n\nconst Collapsible: React.FC = ({ children, headingText }) => {\n const [id, setId] = useState(\"\");\n const [open, setOpen] = useState(false);\n\n const toggle = () => setOpen(!open);\n\n useEffect(() => {\n setId(newId(\"ism-collapsible-\"));\n }, []);\n\n return (\n \n
\n \n \n \n \n \n \n {headingText}\n \n
\n \n {children}\n \n
\n );\n};\n\nexport default Collapsible;\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\nconst StyledAlert = styled.div`\n padding: 0.75rem 1.25rem;\n border: 1px solid transparent;\n border-radius: 0;\n font-family: ${(props) => props.theme.fonts.book};\n text-align: ${(props) => props.textAlign};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n border-radius: ${(props) => (props.noRadius ? 0 : props.theme.radii[1])};\n }\n\n ${(props) =>\n props.type === \"error\" &&\n css`\n background-color: ${props.theme.colors.error};\n color: ${props.theme.colors.white};\n `}\n\n ${(props) =>\n props.type === \"success\" &&\n css`\n background-color: ${props.theme.colors.primary};\n color: ${props.theme.colors.green};\n `}\n\n ${(props) =>\n props.type === \"warning\" &&\n css`\n background-color: ${props.theme.colors.yellowLight};\n color: ${props.theme.colors.primary};\n `}\n\n ${(props) =>\n props.type === \"info\" &&\n css`\n background-color: ${props.theme.colors.greyDarker1};\n color: ${props.theme.colors.primary};\n `}\n\n ${(props) =>\n props.type === \"transparent\" &&\n css`\n background-color: ${props.theme.colors.white};\n color: ${props.theme.colors.primary};\n text-align: start;\n `}\n`;\n\nexport const AlertItem = styled.p`\n margin-top: ${(props) => props.theme.space[1]};\n margin-bottom: ${(props) => props.theme.space[1]};\n color: currentColor;\n`;\n\nexport const AlertWrap = styled.div`\n margin: ${(props) => props.theme.space[2]} 0;\n`;\n\nexport const AlertGroup = styled.div`\n margin-top: ${({ theme }) => theme.space[3]};\n margin-bottom: ${({ theme }) => theme.space[3]};\n`;\n\ninterface IStyleProps {\n type: \"error\" | \"success\" | \"warning\" | \"info\" | \"transparent\";\n textAlign?: \"start\" | \"center\";\n noRadius?: boolean;\n}\n\ninterface IProps extends IStyleProps {\n children: React.ReactNode;\n}\n\nconst Alert: React.FC = ({\n children,\n textAlign = \"center\",\n type,\n noRadius = false,\n}) => (\n \n {children}\n \n);\n\nexport default Alert;\n","import styled from \"styled-components/macro\";\n\nconst Title = styled.h2`\n margin: 0;\n color: ${({ theme }) => theme.colors.black};\n font-family: ${({ theme }) => theme.fonts.impact};\n font-size: 1.6rem;\n font-weight: bold;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n font-size: ${({ theme }) => theme.fontSizes[7]};\n }\n`;\n\nexport default Title;\n","import styled from \"styled-components/macro\";\n\nconst Copy = styled.div`\n margin: 0 ${({ theme }) => theme.space[2]};\n\n h4,\n h5,\n p,\n ul,\n ol,\n table {\n margin-bottom: ${({ theme }) => theme.space[2]};\n }\n\n h4 {\n margin-top: 14px;\n font-size: 16px;\n font-weight: 600;\n }\n\n h6 {\n margin-bottom: ${({ theme }) => theme.space[1]};\n }\n\n h3 {\n margin-bottom: 18px;\n }\n\n ul,\n ol {\n margin-top: 0;\n margin-bottom: ${({ theme }) => theme.space[2]};\n padding-inline-start: 4rem;\n }\n\n ul li {\n list-style-type: disc;\n margin-bottom: ${({ theme }) => theme.space[2]};\n }\n\n ol li {\n list-style-type: decimal;\n }\n`;\n\nexport default Copy;\n","import styled, { css } from \"styled-components/macro\";\n\ninterface ISubHeadingProps {\n variant?: string;\n}\n\nconst SubHeading = styled.h3`\n margin: 0;\n color: ${({ theme }) => theme.colors.black};\n font-family: ${({ theme }) => theme.fonts.impact};\n font-size: 1.6rem;\n font-weight: bold;\n\n ${(props) =>\n props.variant === \"light\" &&\n css`\n color: ${({ theme }) => theme.colors.white}; ;\n `}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n font-size: ${({ theme }) => theme.fontSizes[3]};\n }\n`;\n\nexport default SubHeading;\n","import { em } from \"polished\";\nimport styled, { css } from \"styled-components/macro\";\n\ninterface IProps {\n size?: string;\n}\n\nexport const ScrollTable = styled.div`\n @media (max-width: ${em(\"480px\")}) {\n /* @media (max-width: ${({ theme }) => theme.breakpoints[4]}) { */\n overflow-x: auto;\n\n table {\n width: 48rem;\n }\n }\n`;\n\nconst Table = styled.table`\n width: 100%;\n border-collapse: collapse;\n border-width: 0 1px;\n border-style: solid;\n font-size: ${({ theme }) => theme.fontSizes[2]};\n border-color: transparent;\n\n th,\n td {\n border-bottom: 1px solid ${({ theme }) => theme.colors.whiteGrey};\n font-weight: bold;\n\n ${({ size }) =>\n size === \"lg\" &&\n css`\n padding: ${({ theme }) => `${theme.space[3]} ${theme.space[2]}`};\n `}\n }\n td {\n padding: ${({ theme }) => `${theme.space[2]}`};\n }\n\n th {\n padding: ${({ theme }) => `${theme.space[1]} ${theme.space[2]}`};\n border: 1px solid ${({ theme }) => theme.colors.primary};\n background-color: ${({ theme }) => theme.colors.primary};\n color: ${({ theme }) => theme.colors.white};\n text-align: start;\n text-wrap: wrap;\n\n @media (max-width: ${({ theme }) => theme.breakpoints[4]}) {\n word-wrap: none;\n }\n }\n\n tr {\n background-color: ${({ theme }) => theme.colors.white};\n }\n`;\n\nexport default Table;\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"..\";\nimport * as actions from \"../bootstrap/actions\";\nimport { IState } from \"./types\";\n\nexport default combineReducers({\n settings: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addGameSettings):\n return action.payload;\n default:\n return state;\n }\n },\n total_players: (state = 0, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addTotalPlayers):\n return action.payload;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getSettings = (state: RootState) => state.game.settings;\n\nexport const getTotalPlayers = (state: RootState) => state.game.total_players;\n","import { createAsyncAction, deprecated } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { IElementStat } from \"../element-stats/types\";\nimport { IElementType } from \"../element-types/types\";\nimport { IElement } from \"../elements/types\";\nimport { IEvent } from \"../events/types\";\nimport { ISettings } from \"../game/types\";\nimport { IPhase } from \"../phases/types\";\nimport { IPlayer } from \"../player/types\";\nimport { ITeam } from \"../teams/types\";\n\nconst createAction = deprecated.createAction;\n\n// Action Creators\nexport const addElementStats = createAction(\"ADD_ELEMENT_STATS\", (resolve) => {\n return (elementStats: IElementStat[]) => resolve(elementStats);\n});\n\nexport const addElementTypes = createAction(\"ADD_ELEMENT_TYPES\", (resolve) => {\n return (elementTypes: IElementType[]) => resolve(elementTypes);\n});\n\nexport const addElements = createAction(\"ADD_ELEMENTS\", (resolve) => {\n return (elements: IElement[]) => resolve(elements);\n});\n\nexport const addEvents = createAction(\"ADD_EVENTS\", (resolve) => {\n return (events: IEvent[]) => resolve(events);\n});\n\nexport const addGameSettings = createAction(\"ADD_GAME_SETTINGS\", (resolve) => {\n return (settings: ISettings) => resolve(settings);\n});\n\nexport const addPhases = createAction(\"ADD_PHASES\", (resolve) => {\n return (phases: IPhase[]) => resolve(phases);\n});\n\nexport const addPlayer = createAction(\"ADD_PLAYER\", (resolve) => {\n return (data: IPlayer | null) => resolve(data);\n});\n\nexport const addWatched = createAction(\"ADD_WATCHED\", (resolve) => {\n return (watched: number[]) => resolve(watched);\n});\n\nexport const addTeams = createAction(\"ADD_TEAMS\", (resolve) => {\n return (teams: ITeam[]) => resolve(teams);\n});\n\nexport const addTotalPlayers = createAction(\"ADD_TOTAL_PLAYERS\", (resolve) => {\n return (total: number) => resolve(total);\n});\n\nexport const bootstrap = createAsyncAction(\n \"BOOTSTRAP_START\",\n \"BOOTSTRAP_SUCCESS\",\n \"BOOTSTRAP_FAILURE\"\n)();\n\nexport const bootstrapMe = createAsyncAction(\n \"BOOTSTRAP_ME_START\",\n \"BOOTSTRAP_ME_SUCCESS\",\n \"BOOTSTRAP_ME_FAILURE\"\n)();\n\nexport const bootstrapStatic = createAsyncAction(\n \"BOOTSTRAP_STATIC_START\",\n \"BOOTSTRAP_STATIC_SUCCESS\",\n \"BOOTSTRAP_STATIC_FAILURE\"\n)();\n","import range from \"lodash/range\";\nimport { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"..\";\nimport * as actions from \"../bootstrap/actions\";\nimport { getSettings } from \"../game/reducers\";\nimport { IElementType, IElementTypesBySquadPosition, IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n byId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addElementTypes):\n const newState: { [key: string]: IElementType } = {};\n action.payload.forEach((et) => {\n newState[et.id] = et;\n });\n return newState;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getElementTypesById = (state: RootState) =>\n state.elementTypes.byId;\n\nexport const getElementTypes = (state: RootState) =>\n Object.keys(state.elementTypes.byId).map((et) => state.elementTypes.byId[et]);\n\nexport const getElementTypesBySquadPosition = createSelector(\n getElementTypes,\n getSettings,\n (types) => {\n const data: IElementTypesBySquadPosition = {};\n\n // First pass to set types by position\n let count = 1;\n types.forEach((et) => {\n range(et.squad_select).forEach(() => {\n data[count] = { lastType: null, nextType: null, thisType: et };\n count++;\n });\n });\n\n // Second pass to set last and next types which help with rendering\n count = 1;\n types.forEach((et) => {\n range(et.squad_select).forEach(() => {\n if (data[count - 1]) {\n data[count].lastType = data[count - 1].thisType;\n }\n if (data[count + 1]) {\n data[count].nextType = data[count + 1].thisType;\n }\n count++;\n });\n });\n\n return data;\n }\n);\n","import i18n from \"../i18n\";\n\nexport const isRTL = () => {\n const rtlLanguages = [\"ar\"];\n return rtlLanguages.includes(i18n.language);\n};\n","// my-theme.ts\nimport { em } from \"polished\";\nimport { DefaultTheme } from \"styled-components\";\n\nconst black = \"#242424\";\nconst blue = \"#0050ff\";\nconst darkPink = \"#e90052\";\nconst fantasy = \"#00ff87\";\nconst greyLight = \"#dadada\";\nconst lightBlue = \"#00aac2\";\nconst primary = \"#131924\";\nconst yellow = \"#ffd600\";\nconst whiteGrey = \"#e8e8ea\";\nconst green = \"#a4ff01\";\n\nconst theme: DefaultTheme = {\n borders: [\n `1px solid ${greyLight}`,\n `1px solid ${whiteGrey}`,\n `1px solid ${black}`,\n `2px solid ${black}`,\n `3px solid ${primary}`,\n ],\n breakpoints: [\n em(\"400px\"),\n em(\"610px\"),\n em(\"700px\"),\n em(\"900px\"),\n em(\"1024px\"),\n em(\"1220px\"),\n ],\n colors: {\n black,\n blue,\n blueDark: \"#0037af\",\n darkPink,\n difficulties: {\n 1: {\n bg: \"#257d5a\",\n color: \"white\",\n },\n 2: {\n bg: \"#00ff86\",\n color: \"black\",\n },\n 3: {\n bg: \"#ebebe4\",\n color: \"black\",\n },\n 4: {\n bg: \"#ff005a\",\n color: \"white\",\n },\n 5: {\n bg: \"#861d46\",\n color: \"white\",\n },\n },\n elementStatus: {\n 0: {\n bg: \"#c0020d\",\n color: \"white\",\n },\n 25: {\n bg: \"#d44401\",\n color: \"white\",\n },\n 50: {\n bg: \"#ffab1b\",\n color: black,\n },\n 75: {\n bg: \"#ffe65b\",\n color: black,\n },\n },\n elementTypes: {\n 1: {\n bg: yellow,\n color: primary,\n },\n 2: {\n bg: fantasy,\n color: primary,\n },\n 3: {\n bg: blue,\n color: primary,\n },\n 4: {\n bg: darkPink,\n color: \"white\",\n },\n },\n error: \"#e02200\",\n fantasy,\n green,\n greenDark: \"#93e400\",\n grey: \"#e7e7e7\",\n greyDark: \"#535353\",\n greyLight,\n greyLight2: \"#c9ced6\",\n greyLight3: \"#f7f7f7\",\n pink: \"#ff2882\",\n primary,\n greyDarker1: \"#e5e5e5\",\n greyDarker2: \"#e0e0e0\",\n greyDarker3: \"#6E6E6E\",\n blueDarker1: \"#3069a5\",\n blueDarker2: \"#004986\",\n blueDarker3: \"#14253c\",\n blueDarker4: \"#161619\",\n secondary: lightBlue,\n social: {\n facebook: {\n bg: \"#3b5998\",\n color: \"white\",\n },\n twitter: {\n bg: \"#00aced\",\n color: \"white\",\n },\n google: {\n bg: \"white\",\n color: \"rgba(0, 0, 0, 0.54)\",\n },\n },\n success: \"#14af4f\",\n tertiary: \"#d2eff9\",\n text: black,\n white: \"#fff\",\n whiteBlue: \"#f2f9fa\",\n whiteGrey,\n yellow,\n yellowLight: \"#fff59c\",\n },\n fontSizes: [\n \"1.2rem\",\n \"1.3rem\",\n \"1.4rem\",\n \"1.6rem\",\n \"1.8rem\",\n \"2rem\",\n \"2.4rem\",\n \"2.6rem\",\n ],\n fonts: {\n base: '\"ExpoArabic Medium\", Helvetica, Arial, sans-serif',\n impact: '\"ExpoArabic SemiBold\", Helvetica, Arial, sans-serif',\n light: '\"ExpoArabic Light\", Helvetica, Arial, sans-serif',\n bold: '\"ExpoArabic Bold\", Helvetica, Arial, sans-serif',\n book: '\"ExpoArabic Book\", Helvetica, Arial, sans-serif',\n },\n radii: [\"2px\", \"5px\", \"10px\", \"50px\"],\n space: [\"0\", \"0.5rem\", \"1rem\", \"1.5rem\", \"2rem\", \"2.5rem\", \"3rem\"],\n zIndex: {\n clientMenu: 7000,\n dialog: 9000,\n menu: 6000,\n overlay: 8000,\n select: {\n select: 50,\n wrap: 40,\n },\n },\n};\n\nexport default theme;\n","import { ThunkResult } from \"..\";\nimport { apiGet, apiPost, apiPut } from \"../../utils/api\";\nimport { bootstrap } from \"../bootstrap/thunks\";\nimport * as actions from \"./actions\";\nimport { IUpdateEntryData } from \"./types\";\n\nexport const fetchEntrySummary =\n (entryId: number): ThunkResult =>\n async (dispatch) => {\n try {\n await apiGet(`entry/${entryId}/`, dispatch, actions.fetchEntrySummary, {\n id: entryId,\n });\n } catch (e) {\n return;\n }\n };\n\nexport const fetchEntryHistory =\n (entryId: number): ThunkResult =>\n async (dispatch) => {\n try {\n await apiGet(\n `entry/${entryId}/history/`,\n dispatch,\n actions.fetchEntryHistory,\n {\n id: entryId,\n }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchEntryEventPicks =\n (entryId: number, eventId: number): ThunkResult =>\n async (dispatch) => {\n try {\n await apiGet(\n `entry/${entryId}/event/${eventId}/picks/`,\n dispatch,\n actions.fetchEntryEventPicks,\n {\n entry: entryId,\n event: eventId,\n }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const updateEntry =\n (data: IUpdateEntryData): ThunkResult> =>\n async (dispatch) => {\n await apiPut(\"entry-update/\", data, dispatch, actions.updateEntry);\n dispatch(bootstrap());\n };\n\nexport const fetchEntryTransfers =\n (entryId: number): ThunkResult =>\n async (dispatch) => {\n try {\n await apiGet(\n `entry/${entryId}/transfers/`,\n dispatch,\n actions.fetchEntryTransfers,\n { id: entryId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchEntryPhaseStandings =\n (entryId: number, phaseId: number): ThunkResult =>\n async (dispatch) => {\n try {\n await apiGet(\n `entry/${entryId}/phase/${phaseId}/standings/`,\n dispatch,\n actions.fetchEntryPhaseStandings,\n { entry: entryId, phase: phaseId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const unsubscribeEntry =\n (signature: string): ThunkResult> =>\n async (dispatch) => {\n await apiPost(\n \"entry/unsubscribe/\",\n { signature },\n dispatch,\n actions.unsubscribeEntry\n );\n dispatch(bootstrap());\n };\n","import { createAsyncAction, deprecated } from \"typesafe-actions\";\nimport { IError } from \"..\";\n\nconst createAction = deprecated.createAction;\n\nexport const login = createAsyncAction(\n \"LOGIN_START\",\n \"LOGIN_SUCCESS\",\n \"LOGIN_FAILURE\"\n)();\n\nexport const logout = createAsyncAction(\n \"LOGOUT_START\",\n \"LOGOUT_SUCCESS\",\n \"LOGOUT_FAILURE\"\n)();\n\nexport const recover = createAsyncAction(\n \"RECOVER_START\",\n \"RECOVER_SUCCESS\",\n \"RECOVER_FAILURE\"\n)();\n\nexport const register = createAsyncAction(\n \"REGISTER_START\",\n \"REGISTER_SUCCESS\",\n \"REGISTER_FAILURE\"\n)();\n\nexport const playerUpdate = createAsyncAction(\n \"PLAYER_UPDATE_START\",\n \"PLAYER_UPDATE_SUCCESS\",\n \"PLAYER_UPDATE_FAILURE\"\n)();\n\nexport const passwordChange = createAsyncAction(\n \"PASSWORD_CHANGE_START\",\n \"PASSWORD_CHANGE_SUCCESS\",\n \"PASSWORD_CHANGE_FAILURE\"\n)();\n\nexport const passwordReset = createAsyncAction(\n \"PASSWORD_RESET_START\",\n \"PASSWORD_RESET_SUCCESS\",\n \"PASSWORD_RESET_FAILURE\"\n)();\n\nexport const passwordSet = createAsyncAction(\n \"PASSWORD_SET_START\",\n \"PASSWORD_SET_SUCCESS\",\n \"PASSWORD_SET_FAILURE\"\n)();\n\nexport const addToWatched = createAction(\n \"ADD_TO_WATCHED\",\n (resolve) => (elementCode: number) => resolve(elementCode)\n);\n\nexport const removeFromWatched = createAction(\n \"REMOVE_FROM_WATCHED\",\n (resolve) => (elementCode: number) => resolve(elementCode)\n);\n\nexport const addToWatchlist = createAsyncAction(\n \"ADD_TO_WATCHLIST_START\",\n \"ADD_TO_WATCHLIST_SUCCESS\",\n \"ADD_TO_WATCHLIST_FAILURE\"\n)();\n\nexport const removeFromWatchlist = createAsyncAction(\n \"REMOVE_FROM_WATCHLIST_START\",\n \"REMOVE_FROM_WATCHLIST_SUCCESS\",\n \"REMOVE_FROM_WATCHLIST_FAILURE\"\n)();\n","import { setDefaultOptions } from \"date-fns\";\nimport { ar } from \"date-fns/locale\";\nimport i18n from \"i18next\";\nimport Backend from \"i18next-xhr-backend\";\nimport moment from \"moment\";\nimport \"moment/locale/ar\";\nimport { initReactI18next } from \"react-i18next\";\n\nconst lng = window.location.hostname.substring(0, 3) === \"en.\" ? \"en\" : \"ar\";\nexport const dateLocales: Record = {\n ar,\n};\n// Update moment and date-fns locale\ni18n.on(\"languageChanged\", function (lng: any) {\n moment.locale(lng);\n setDefaultOptions({ locale: dateLocales[lng] });\n});\n\ni18n\n .use(Backend)\n .use(initReactI18next)\n .init({\n ns: [\"common\"],\n defaultNS: \"common\",\n lng,\n fallbackLng: \"en\", // to stop trying to fetch dev transations\n debug: true,\n interpolation: {\n escapeValue: false, // react already safe from xss as escaped by default\n },\n initImmediate: false, // makes the language code accessible in components\n });\n\nexport default i18n;\n","import { Locale } from \"date-fns\";\nimport { formatInTimeZone, utcToZonedTime } from \"date-fns-tz\";\nimport moment from \"moment\";\nimport \"moment-timezone\";\n\nconst localTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\nexport const formatDateObjAsDate = (dt: Date) =>\n formatInTimeZone(dt, localTimeZone, \"d MMM\");\n\nexport const formatDateAsISO = (dt: Date) =>\n utcToZonedTime(dt, localTimeZone).toISOString();\n\nexport const formatDateAsLocal = (dt: Date, format: string = \"E d MMM HH:mm\") =>\n formatInTimeZone(dt, localTimeZone, format);\n\nexport const formatDateAsLocalI18n = (\n dt: Date,\n locale: Locale,\n format: string = \"E d MMM HH:mm\"\n) => formatInTimeZone(dt, localTimeZone, format, { locale });\n\nexport const formatDateAsTime = (dt: Date) =>\n formatInTimeZone(dt, localTimeZone, \"HH:mm\");\n\nexport const formatRawAsDate = (raw: string) =>\n formatDateObjAsDate(new Date(raw));\n\nexport const formatRawAsISO = (raw: string) => formatDateAsISO(new Date(raw));\n\nexport const formatRawAsLocal = (raw: string, format?: string) =>\n formatDateAsLocal(new Date(raw), format);\n\nexport const formatRawAsLocalI18n = (\n raw: string,\n locale: Locale,\n format?: string\n) => formatDateAsLocalI18n(new Date(raw), locale, format);\n\nexport const formatRawAsTime = (raw: string) => formatDateAsTime(new Date(raw));\n\nconst tzBlockList = [\n \"Africa/Asmera\",\n \"Africa/Timbuktu\",\n \"America/Argentina/ComodRivadavia\",\n \"America/Atka\",\n \"America/Buenos_Aires\",\n \"America/Catamarca\",\n \"America/Coral_Harbour\",\n \"America/Cordoba\",\n \"America/Ensenada\",\n \"America/Fort_Wayne\",\n \"America/Indianapolis\",\n \"America/Jujuy\",\n \"America/Knox_IN\",\n \"America/Louisville\",\n \"America/Mendoza\",\n \"America/Montreal\",\n \"America/Porto_Acre\",\n \"America/Rosario\",\n \"America/Santa_Isabel\",\n \"America/Shiprock\",\n \"America/Virgin\",\n \"Antarctica/South_Pole\",\n \"Asia/Ashkhabad\",\n \"Asia/Calcutta\",\n \"Asia/Chongqing\",\n \"Asia/Chungking\",\n \"Asia/Dacca\",\n \"Asia/Harbin\",\n \"Asia/Istanbul\",\n \"Asia/Kashgar\",\n \"Asia/Katmandu\",\n \"Asia/Macao\",\n \"Asia/Rangoon\",\n \"Asia/Saigon\",\n \"Asia/Tel_Aviv\",\n \"Asia/Thimbu\",\n \"Asia/Ujung_Pandang\",\n \"Asia/Ulan_Bator\",\n \"Atlantic/Faeroe\",\n \"Atlantic/Jan_Mayen\",\n \"Australia/ACT\",\n \"Australia/Canberra\",\n \"Australia/Canberra\",\n \"Australia/LHI\",\n \"Australia/NSW\",\n \"Australia/North\",\n \"Australia/Queensland\",\n \"Australia/South\",\n \"Australia/Tasmania\",\n \"Australia/Victoria\",\n \"Australia/West\",\n \"Australia/Yancowinna\",\n \"Brazil/Acre\",\n \"Brazil/DeNoronha\",\n \"Brazil/East\",\n \"Brazil/West\",\n \"Canada/Saskatchewan\",\n \"Canada/Yukon\",\n \"Chile/Continental\",\n \"Chile/EasterIsland\",\n \"Europe/Belfast\",\n \"Europe/Nicosia\",\n \"Europe/Tiraspol\",\n \"Mexico/BajaNorte\",\n \"Mexico/BajaSur\",\n \"Mexico/General\",\n \"Pacific/Johnston\",\n \"Pacific/Ponape\",\n \"Pacific/Samoa\",\n \"Pacific/Truk\",\n \"Pacific/Yap\",\n \"US/Aleutian\",\n \"US/East-Indiana\",\n \"US/Indiana-Starke\",\n \"US/Michigan\",\n \"US/Pacific\",\n];\nexport const getValidTimeZones = () =>\n moment.tz.names().filter((tz) => {\n if (tz === \"UTC\") {\n return true;\n }\n if (tz.indexOf(\"/\") === -1) {\n return false;\n }\n if (tz.indexOf(\"Etc/\") === 0) {\n return false;\n }\n if (tzBlockList.indexOf(tz) > -1) {\n return false;\n }\n return true;\n });\n\nexport const getDefaultTZ = () => {\n const valid = getValidTimeZones();\n const guess = moment.tz.guess();\n return valid.indexOf(guess) > -1 ? guess : \"UTC\";\n};\n\nexport default formatDateAsLocal;\n","import { createGlobalStyle } from \"styled-components/macro\";\nimport theme from \"./theme\";\n\nconst GlobalStyle = createGlobalStyle`\n html {\n\t\tfont-family: ${theme.fonts.base};\n\t\tfont-size: 62.5%;\n\t\tline-height: normal;\n\t\t-webkit-font-smoothing: antialiased;\n }\n\n body {\n \tmargin: 0;\n\t\tcolor: ${theme.colors.black};\n font-size: ${theme.fontSizes[2]};\n }\n\n\t.ism {\n\t\tbox-sizing: border-box;\n\t\tfont-family: ${theme.fonts.base};\n\n\t\t*, *::before, *::after {\n\t\t\tbox-sizing: inherit;\n\t\t}\n\n\t\tp {\n\t\t\tline-height: 1.6;\n\t\t\tfont-size: 14px;\n\t\t}\n\n\t\tinput[type=\"search\"] {\n\t\t\tbox-sizing: inherit;\n\t\t}\n\t}\n`;\n\nexport default GlobalStyle;\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"..\";\nimport * as actions from \"./actions\";\nimport { IState } from \"./types\";\n\nexport default combineReducers({\n serverError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addServerError):\n return action.payload;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getServerError = (state: RootState) => state.global.serverError;\n","import { ellipsis, hideVisually } from \"polished\";\nimport styled from \"styled-components/macro\";\n\nexport const Ellipsis = styled.div`\n ${ellipsis()}\n`;\n\nexport const UnstyledButton = styled.button`\n display: block;\n width: 100%;\n padding: 0;\n border: 0;\n background-color: transparent;\n font-family: ${({ theme }) => theme.fonts.base};\n line-height: 1;\n cursor: pointer;\n`;\n\nexport const VisuallyHidden = styled.span`\n ${hideVisually}\n`;\n\nexport const FetchAPI = async (\n uri: string,\n data: Record,\n method: string\n) => {\n return fetch(`/api/${uri}`, {\n method,\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: method === \"GET\" ? undefined : JSON.stringify(data),\n }).then((response) => {\n if (!response.ok) {\n // create error object and reject if not a 2xx response code\n throw response;\n }\n return response;\n });\n};\n\nexport const FetchPost = async (uri: string, data: Record) =>\n FetchAPI(uri, data, \"POST\");\n\nexport const FetchPut = async (uri: string, data: Record) =>\n FetchAPI(uri, data, \"PUT\");\n\nexport const FetchGet = async (uri: string, data: Record) =>\n FetchAPI(uri, data, \"GET\");\n","import TagManager from \"@sooro-io/react-gtm-module\";\nimport { useState } from \"react\";\nimport { FetchGet, FetchPost } from \"../components/Utils\";\nimport { IPlayer } from \"../types\";\nimport { getIsWebView } from \"./webView\";\n\n// ===== Constants ========================================================== //\n\nconst KC_TOKEN = \"kc_token\";\nconst KC_REFRESH_TOKEN = \"kc_refreshToken\";\nconst LOGIN_ERROR = \"kc_loginError\";\nconst queryStringParams = getIsWebView() ? \"?webview=1\" : \"\";\n\n// ===== Variables ========================================================== //\n\nlet keycloak: any;\n\n// ===== Types ============================================================== //\n\nexport type KeycloakProfile = any;\n\n// ===== Fantasy ============================================================ //\n\nconst loginToFantasy = async (keycloakProfile: any): Promise => {\n try {\n await FetchPost(\"sso/login/\", {\n email: keycloakProfile.email,\n emailVerified: keycloakProfile.emailVerified,\n first_name: keycloakProfile.firstName,\n last_name: keycloakProfile.lastName,\n profile_id: keycloakProfile.id,\n ismID: keycloakProfile.attributes.ism_id,\n locale: keycloakProfile.attributes.locale,\n region: keycloakProfile.attributes.nationality,\n }).then(() => {\n TagManager.dataLayer({\n dataLayer: {\n event: \"login\",\n user_email: keycloakProfile.email,\n hashed_email: \"\",\n },\n });\n });\n window.location.replace(`/${queryStringParams}`);\n } catch (error: any) {\n window.localStorage.setItem(LOGIN_ERROR, error);\n }\n};\n\nconst fetchMe = async (): Promise<{ player: IPlayer | null }> => {\n try {\n const response = await FetchGet(\"me/\", {});\n return await response.json();\n } catch (error) {\n console.error(\"Fetch player profile failed\", error);\n return { player: null };\n }\n};\n\n// ===== Custom URLs ======================================================== //\n\n// Get the account URL.\nasync function getAccountUrl(): Promise {\n try {\n const url = await keycloak.createAccountUrl();\n return url + queryStringParams + \"asodij/sd\";\n } catch (error) {\n console.error(\"Failed to get Account URL:\", error);\n throw error;\n }\n}\n\n// Get the logout URL.\nasync function getLogoutUrl(): Promise {\n try {\n const redirectUri = `${window.location.origin}/player/logout/${queryStringParams}`;\n return await keycloak.createLogoutUrl({ redirectUri });\n } catch (error) {\n console.error(\"Failed to get Logout URL:\", error);\n throw error;\n }\n}\n\nasync function getLogoutUrlNoEntry(): Promise {\n try {\n const redirectUri = `${window.location.origin}/${queryStringParams}`;\n return await keycloak.createLogoutUrl({ redirectUri });\n } catch (error) {\n console.error(\"Failed to get LogoutNoEntry URL:\", error);\n throw error;\n }\n}\n\n// ===== Callbacks ========================================================== //\n\n// To be executed when a user is known to be unauthenticated.\nfunction onUnauthenticatedUser() {\n window.localStorage.removeItem(KC_TOKEN);\n window.localStorage.removeItem(KC_REFRESH_TOKEN);\n}\n\n// To be executed whenever the user's access token expires and needs refreshing.\nfunction refreshAccessToken() {\n keycloak\n .updateToken()\n .then(() => {\n window.localStorage.setItem(KC_TOKEN, keycloak.token);\n window.localStorage.setItem(KC_REFRESH_TOKEN, keycloak.refreshToken);\n })\n .catch((error: any) => {\n console.warn(\"failed to update token\", error);\n onUnauthenticatedUser();\n });\n}\n\nfunction createUrls(\n setUrls: (fn: (currentState: Object) => Object) => void,\n authenticated: boolean\n) {\n // Get appropriate URLs based on the authentication state.\n if (authenticated) {\n Promise.all([getAccountUrl(), getLogoutUrl(), getLogoutUrlNoEntry()])\n .then(([accountUrl, logoutUrl, logoutUrlNoEntry]) => {\n setUrls((currentState: KeycloakUrls) => ({\n ...currentState,\n accountUrl,\n logoutUrl,\n logoutUrlNoEntry,\n }));\n })\n .catch((error) => console.error(\"Failed to create login URLs:\", error));\n } else {\n Promise.all([keycloak.createLoginUrl(), keycloak.createRegisterUrl()])\n .then(([loginUrl, registerUrl]) => {\n setUrls((currentState: KeycloakUrls) => ({\n ...currentState,\n loginUrl,\n registerUrl,\n }));\n })\n .catch((error) =>\n console.error(\"Failed to create registration URLs:\", error)\n );\n }\n}\n\n// ===== Hook =============================================================== //\n\nexport type KeycloakUrls = {\n loginUrl?: string;\n registerUrl?: string;\n accountUrl?: string;\n logoutUrl?: string;\n logoutUrlNoEntry?: string;\n};\n\nexport function useKeycloak(): {\n keycloak: any;\n profile: KeycloakProfile;\n urls: KeycloakUrls;\n} {\n const [profile, setProfile] = useState<{}>({});\n const [urls, setUrls] = useState({} as KeycloakUrls);\n /**\n * If any of the following are true, there's nothing to be done:\n *\n * - There's no Keycloak Adapter available.\n * - The Keycloak Adapter has already been initialised.\n */\n if (keycloak || !(window as any).Keycloak) {\n return { keycloak, profile, urls };\n }\n\n /**\n * Create a new instance of the Keycloak Adapter. This is shared across\n * all usages of this hook.\n */\n keycloak = new (window as any).Keycloak({\n url: process.env.REACT_APP_SSO_URL,\n realm: process.env.REACT_APP_SSO_REALM,\n clientId: process.env.REACT_APP_SSO_CLIENT_ID,\n });\n\n // Attach callbacks to be executed after initialisation.\n keycloak.onTokenExpired = refreshAccessToken;\n keycloak.onAuthError = () => {\n onUnauthenticatedUser();\n createUrls(setUrls, false);\n };\n keycloak.onAuthLogout = onUnauthenticatedUser;\n keycloak.onReady = async function (authenticated: boolean) {\n window.localStorage.removeItem(LOGIN_ERROR);\n\n Promise.all([fetchMe(), loadUserProfile()])\n .then(\n ([body, keycloakProfile]: [\n { player: IPlayer | null },\n { email: string }\n ]) => {\n /**\n * Login to Fantasy if the user is logged in to Pulselive ID\n * (Keycloak) and the user is not yet logged-in to Fantasy OR\n * the user is logged in to Fantasy as a user that's different\n * to the Pulselive ID (Keycloak) user.\n */\n if (authenticated) {\n if (!body.player || body.player.email !== keycloakProfile.email) {\n loginToFantasy(keycloakProfile);\n }\n setProfile(keycloakProfile);\n return;\n }\n\n /**\n * Redirect to logout if user is not authenticated with Pulselive ID\n * (Keycloak).\n */\n if (\n !window.location.pathname.includes(\"player/logout\") &&\n !authenticated &&\n body.player\n ) {\n onUnauthenticatedUser();\n window.location.replace(`/player/logout/${queryStringParams}`);\n return;\n }\n }\n )\n\n .catch((error) => {\n console.error(\"Failed to fetch user profile:\", error);\n });\n\n if (authenticated) {\n window.localStorage.setItem(KC_TOKEN, keycloak.token);\n window.localStorage.setItem(KC_REFRESH_TOKEN, keycloak.refreshToken);\n } else {\n window.localStorage.removeItem(KC_TOKEN);\n window.localStorage.removeItem(KC_REFRESH_TOKEN);\n }\n createUrls(setUrls, authenticated);\n };\n\n try {\n // Initialise the Keycloak Adapter.\n keycloak.init({\n token: window.localStorage.getItem(KC_TOKEN),\n refreshToken: window.localStorage.getItem(KC_REFRESH_TOKEN),\n checkLoginIframe: false,\n });\n } catch (error: any) {\n console.error(\"Failed to initialize adapter:\", error);\n }\n\n return { keycloak, profile, urls };\n}\n\nconst loadUserProfile = async () => {\n try {\n return await keycloak.loadUserProfile();\n } catch (error) {\n console.error(\"Failed to load keycloak user profile:\", error);\n return null;\n }\n};\n","import { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport * as actions from \"../bootstrap/actions\";\nimport { IState } from \"./types\";\n\n// State Reducer\nconst reducer = (state: IState = [], action: RootAction) => {\n switch (action.type) {\n case getType(actions.addElementStats):\n return action.payload;\n default:\n return state;\n }\n};\nexport default reducer;\n\n// State Selectors\nexport const getElementStats = (state: RootState) => state.elementStats;\n\nexport const getElementStatsByIdentifier = createSelector(\n getElementStats,\n (stats) => stats.reduce((memo, stat) => ({ ...memo, [stat.name]: stat }), {})\n);\n","import { createAsyncAction, deprecated } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport {\n IElementControls,\n IElementEventRaw,\n IElementSummaryData,\n} from \"./types\";\n\nconst createAction = deprecated.createAction;\n\nexport const updateElementControls = createAction(\n \"UPDATE_ELEMENT_CONTROLS\",\n (resolve) => {\n return (controls: IElementControls) => resolve(controls);\n }\n);\n\nexport const elementDialogShow = createAction(\n \"ELEMENT_DIALOG_SHOW\",\n (resolve) => (id: number) => resolve(id)\n);\n\nexport const elementDialogHide = createAction(\n \"ELEMENT_DIALOG_HIDE\",\n (resolve) => () => resolve()\n);\n\nexport const fetchElementSummary = createAsyncAction(\n \"FETCH_ELEMENT_SUMMARY_START\",\n \"FETCH_ELEMENT_SUMMARY_SUCCESS\",\n \"FETCH_ELEMENT_SUMMARY_FAILURE\"\n)();\n\nexport const fetchElementEventData = createAsyncAction(\n \"FETCH_ELEMENT_EVENT_DATA_START\",\n \"FETCH_ELEMENT_EVENT_DATA_SUCCESS\",\n \"FETCH_ELEMENT_EVENT_DATA_FAILURE\"\n)();\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport * as actions from \"../bootstrap/actions\";\nimport { IState, ITeam } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n byId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addTeams):\n const newState: { [key: string]: ITeam } = {};\n action.payload.forEach((team) => {\n newState[team.id] = team;\n });\n return newState;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getTeamsById = (state: RootState) => state.teams.byId;\n\nexport const getTeams = (state: RootState) =>\n Object.keys(state.teams.byId)\n .map((t) => state.teams.byId[t])\n .sort((a, b) => a.name.localeCompare(b.name));\n","import range from \"lodash/range\";\nimport sortBy from \"lodash/sortBy\";\nimport { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { ISelectOption, RootAction, RootState } from \"../\";\nimport * as bootstrapActions from \"../bootstrap/actions\";\nimport { getElementTypes } from \"../element-types/reducers\";\nimport * as elementActions from \"../elements/actions\";\nimport { getLastEvent, getNextEvent } from \"../events/reducers\";\nimport { getWatched } from \"../player/reducers\";\nimport { getTeams } from \"../teams/reducers\";\nimport {\n IElement,\n IElementFixture,\n IElementFixtureBlank,\n IState,\n} from \"./types\";\nimport { getElementStats } from \"../element-stats/reducers\";\n\nexport const formatNameForSearching = (name: string): string => {\n const search = name.toLowerCase();\n const from = \"ąàáäâãåæăćčĉęèéëêĝĥìíïîĵłľńňòóöőôõðøśșşšŝťțţŭùúüűûñÿýçżźž.\";\n const to = \"aaaaaaaaaccceeeeeghiiiijllnnoooooooossssstttuuuuuunyyczzz \";\n return search.replace(/.{1}/g, (c) => {\n const index = from.indexOf(c);\n return index === -1 ? c : to[index];\n });\n};\n\n// State Reducer\nexport default combineReducers({\n byId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(bootstrapActions.addElements):\n const newState: { [key: string]: IElement } = {};\n action.payload.forEach((element) => {\n newState[element.id] = {\n ...element,\n search_name: formatNameForSearching(element.web_name),\n };\n });\n return newState;\n default:\n return state;\n }\n },\n\n controls: (\n state = {\n filter: \"\",\n search: \"\",\n sort: \"total_points\",\n maxCost: 0,\n getUnavailable: true,\n },\n action: RootAction\n ) => {\n switch (action.type) {\n case getType(elementActions.updateElementControls):\n return action.payload;\n default:\n return state;\n }\n },\n\n dialog: (state = 0, action: RootAction) => {\n switch (action.type) {\n case getType(elementActions.elementDialogShow):\n return action.payload;\n case getType(elementActions.elementDialogHide):\n return 0;\n default:\n return state;\n }\n },\n\n fixturesById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(elementActions.fetchElementSummary.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data.fixtures,\n };\n default:\n return state;\n }\n },\n\n eventDataById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(elementActions.fetchElementEventData.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data.elements.reduce(\n (memo, data) => ({\n ...memo,\n [data.id]: { explain: data.explain, stats: data.stats },\n }),\n {}\n ),\n };\n default:\n return state;\n }\n },\n\n historyById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(elementActions.fetchElementSummary.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data.history,\n };\n default:\n return state;\n }\n },\n\n seasonHistoryById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(elementActions.fetchElementSummary.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data.history_past,\n };\n default:\n return state;\n }\n },\n});\n\n// State Selectors and helper functions\nexport const getElementsById = (state: RootState) => state.elements.byId;\n\nexport const getElement = (\n state: RootState,\n elementId: number\n): IElement | undefined => getElementsById(state)[elementId];\n\nexport const getElements = (state: RootState) =>\n Object.keys(state.elements.byId).map((e) => state.elements.byId[e]);\n\nexport const getElementControls = (state: RootState) => state.elements.controls;\n\nexport const getElementCount = createSelector(\n getElements,\n (elements) => elements.length\n);\n\nexport const getElementTypeFilterOptions = createSelector(\n getElementTypes,\n (types): ISelectOption[] =>\n types.map((et) => ({\n label: et.plural_name,\n value: `et_${et.id}`,\n }))\n);\n\nexport const getTeamFilterOptions = createSelector(\n getTeams,\n (teams): ISelectOption[] =>\n teams.map((t) => ({\n label: t.name,\n value: `te_${t.id}`,\n }))\n);\n\nexport const getFilterOptions = createSelector(\n getElementTypeFilterOptions,\n getTeamFilterOptions,\n (types, teams) => [...types, ...teams]\n);\n\nexport const getFilter = (filter: string) => {\n const filters = {\n element_type: 0,\n team: 0,\n };\n const filterRegexp = /^(te|et)_(\\d+)$/;\n const matches = filter.match(filterRegexp);\n if (matches) {\n const key = matches[1];\n const value = parseInt(matches[2], 10);\n switch (key) {\n case \"te\":\n filters.team = value;\n break;\n case \"et\":\n filters.element_type = value;\n break;\n default:\n break;\n }\n }\n return filters;\n};\n\nexport const getSafeSearchRegexp = (search: string) => {\n const safeValue = formatNameForSearching(search).replace(\n /[-/\\\\^$*+?.()|[\\]{}]/g,\n \"\\\\$&\"\n );\n return new RegExp(`(^${safeValue}| ${safeValue})`);\n};\n\nexport const filterElements = (\n elements: IElement[],\n filterString: string,\n watched: number[]\n) => {\n if (filterString === \"wl\") {\n return watchedElements(elements, watched);\n }\n const filter = getFilter(filterString);\n return elements.filter((e) => {\n if (!filterString) {\n return false;\n }\n if (filter.team && filter.team !== e.team) {\n return false;\n }\n if (filter.element_type && filter.element_type !== e.element_type) {\n return false;\n }\n return true;\n });\n};\n\nexport const watchedElements = (elements: IElement[], watched: number[]) =>\n elements.filter((e) => watched.indexOf(e.code) > -1);\n\nexport const maxCostFromElements = (elements: IElement[]) =>\n elements.length\n ? elements.reduce(\n (max, e) => (e.now_cost > max ? e.now_cost : max),\n elements[0].now_cost\n )\n : 0;\n\nexport const minCostFromElements = (elements: IElement[]) =>\n elements.length\n ? elements.reduce(\n (min, e) => (e.now_cost < min ? e.now_cost : min),\n elements[0].now_cost\n )\n : 0;\n\nexport const reduceElements = (\n elements: IElement[],\n search: string,\n maxCost: number\n) => {\n const searchRegexp = getSafeSearchRegexp(search);\n return elements.filter((e) => {\n if (search && !e.search_name.match(searchRegexp)) {\n return false;\n }\n if (maxCost && e.now_cost > maxCost) {\n return false;\n }\n return true;\n });\n};\n\nconst ascendingSort: Array = [\"chance_of_playing_next_round\"];\n\nconst stringSort: Array = [\"news_added\"];\n\nexport const sortElements = (elements: IElement[], sort: keyof IElement) =>\n elements.sort((a, b) => {\n let aSort, bSort;\n if (stringSort.indexOf(sort) > -1) {\n aSort = a[sort] || \"\";\n bSort = b[sort] || \"\";\n } else {\n // sort value must be either a float represented as a string or a number\n // all bets are off if not ...\n aSort = a[sort] || 0;\n bSort = b[sort] || 0;\n if (typeof aSort === \"string\" && typeof bSort === \"string\") {\n aSort = parseFloat(aSort);\n bSort = parseFloat(bSort);\n }\n }\n\n if (ascendingSort.indexOf(sort) > -1) {\n bSort = [aSort, (aSort = bSort)][0];\n }\n\n // Descending stat order\n if (aSort !== bSort) {\n return aSort > bSort ? -1 : 1;\n }\n\n // Ascending team order\n if (a.team !== b.team) {\n return a.team > b.team ? 1 : -1;\n }\n\n // Ascending element type order\n if (a.element_type !== b.element_type) {\n return a.element_type > b.element_type ? 1 : -1;\n }\n\n // Finally ascending id\n return a.id > b.id ? 1 : -1;\n });\n\nexport const getElementsFromControls = createSelector(\n getElements,\n getElementControls,\n getWatched,\n (elements, controls, watched) => {\n const filteredElements = filterElements(\n elements.filter((e) => controls.getUnavailable || e.status !== \"u\"),\n controls.filter,\n watched\n );\n\n return {\n data: sortElements(\n reduceElements(filteredElements, controls.search, controls.maxCost),\n controls.sort\n ),\n maxCost: maxCostFromElements(filteredElements),\n minCost: minCostFromElements(filteredElements),\n };\n }\n);\n\nexport const getAverageCostByType = createSelector(getElements, (elements): {\n [key: string]: number;\n} => {\n const elCosts: {\n [key: string]: {\n total: number;\n count: number;\n };\n } = {};\n elements.forEach((e) => {\n if (!elCosts[e.element_type]) {\n elCosts[e.element_type] = { total: 0, count: 0 };\n }\n elCosts[e.element_type].total += e.now_cost;\n elCosts[e.element_type].count++;\n });\n return Object.keys(elCosts).reduce(\n (memo, et) => ({\n ...memo,\n [et]: elCosts[et].total / elCosts[et].count,\n }),\n {}\n );\n});\n\nexport const getElementDialog = (state: RootState) => state.elements.dialog;\n\nexport const getFixturesById = (state: RootState) =>\n state.elements.fixturesById;\n\nexport const getFixtures = (state: RootState, elementId: number) => {\n const fixturesById = getFixturesById(state);\n return fixturesById[elementId] || [];\n};\n\nexport const getFixturesWithBlanks = (state: RootState, elementId: number) => {\n const fixtures = getFixtures(state, elementId);\n const nxt = getNextEvent(state);\n const lst = getLastEvent(state);\n\n // No more events so just return any fixtures\n if (!nxt) {\n return fixtures;\n }\n\n // Pad out any blank events\n const fixturesWithBlanks: Array = [];\n let expectedNextEventId = nxt.id;\n fixtures.forEach((f) => {\n // TBA fixtures are at the end\n if (!f.event) {\n fixturesWithBlanks.push(f);\n return;\n }\n if (f.event > expectedNextEventId) {\n range(expectedNextEventId, f.event).map((i) =>\n fixturesWithBlanks.push({ code: null, event: i })\n );\n }\n fixturesWithBlanks.push(f);\n expectedNextEventId = f.event + 1;\n });\n\n // Also need to consider missing fixture until the last event\n if (lst && lst.id >= expectedNextEventId) {\n range(expectedNextEventId, lst.id + 1).map((i) =>\n fixturesWithBlanks.push({ code: null, event: i })\n );\n }\n\n return fixturesWithBlanks;\n};\n\nexport const getHistoryById = (state: RootState) => state.elements.historyById;\n\nexport const getHistory = (state: RootState, elementId: number) => {\n const historyById = getHistoryById(state);\n return historyById[elementId] || [];\n};\n\nexport const getHistoryTotals = (state: RootState, elementId: number) => {\n const statNames = [\n ...getElementStats(state).map((s) => s.name),\n \"total_points\",\n ];\n const totals: Record = statNames.reduce(\n (memo, n) => ({ ...memo, [n]: 0 }),\n {}\n );\n getHistory(state, elementId).forEach((h) => {\n statNames.forEach((s) => {\n totals[s] = Number(totals[s]) + Number(h[s]);\n });\n });\n statNames.forEach((s) => {\n if (!Number.isInteger(totals[s])) {\n totals[s] = Number(totals[s]).toFixed(1);\n }\n });\n return totals;\n};\n\nexport const getSeasonHistoryById = (state: RootState) =>\n state.elements.seasonHistoryById;\n\nexport const getSeasonHistory = (state: RootState, elementId: number) => {\n const seasonHistoryById = getSeasonHistoryById(state);\n return seasonHistoryById[elementId] || [];\n};\n\nexport const getElementsEventDataById = (state: RootState, eventId: number) =>\n state.elements.eventDataById[eventId] || null;\n\nexport const getTotalsByType = (elements: IElement[]) =>\n sortBy(elements, \"element_type\").reduce>(\n (memo, e) => ({\n ...memo,\n [e.element_type]: memo[e.element_type] ? memo[e.element_type] + 1 : 1,\n }),\n {}\n );\n\nexport const getFormation = (elements: IElement[]) => {\n const totals = getTotalsByType(elements);\n return sortBy(Object.keys(totals), (et) => Number(et))\n .map((et) => totals[et])\n .join(\"-\");\n};\n","import { createAsyncAction, deprecated } from \"typesafe-actions\";\nimport { IMyTeamData } from \"../my-team/types\";\nimport { IElementsById } from \"../elements/types\";\nimport { IError } from \"..\";\n\nconst createAction = deprecated.createAction;\n\nexport const proposeAvailableChip = createAction(\n \"PROPOSE_AVAILABLE_CHIP\",\n (resolve) => (chipName: string) => resolve(chipName)\n);\n\nexport const cancelProposedChip = createAction(\n \"CANCEL_PROPOSED_CHIP\",\n (resolve) => (chipName: string) => resolve(chipName)\n);\n\nexport const cancelActiveChip = createAction(\n \"CANCEL_ACTIVE_CHIP\",\n (resolve) => (chipName: string) => resolve(chipName)\n);\n\nexport const restoreCancelledChip = createAction(\n \"RESTORE_CANCELLED_CHIP\",\n (resolve) => (chipName: string) => resolve(chipName)\n);\n\nexport const fetchChipState = createAsyncAction(\n \"FETCH_CHIP_STATE_START\",\n \"FETCH_CHIP_STATE_SUCCESS\",\n \"FETCH_CHIP_STATE_FAILURE\"\n)();\n\nexport const saveChipTeam = createAsyncAction(\n \"SAVE_CHIP_TEAM_START\",\n \"SAVE_CHIP_TEAM_SUCCESS\",\n \"SAVE_CHIP_TEAM_FAILURE\"\n)();\n\nexport const saveChipTransfer = createAsyncAction(\n \"SAVE_CHIP_TRANSFER_START\",\n \"SAVE_CHIP_TRANSFER_SUCCESS\",\n \"SAVE_CHIP_TRANSFER_FAILURE\"\n)();\n","import { createAsyncAction, deprecated } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { IElementsById } from \"../elements/types\";\nimport { IMyTeamData, IPickProposed } from \"./types\";\n\nconst createAction = deprecated.createAction;\n\nexport const fetchMyTeam = createAsyncAction(\n \"FETCH_MY_TEAM_START\",\n \"FETCH_MY_TEAM_SUCCESS\",\n \"FETCH_MY_TEAM_FAILURE\"\n)();\n\nexport const saveMyTeam = createAsyncAction(\n \"SAVE_MY_TEAM_START\",\n \"SAVE_MY_TEAM_SUCCESS\",\n \"SAVE_MY_TEAM_FAILURE\"\n)();\n\nexport const substitutionStart = createAction(\n \"SUBSTITUTION_START\",\n (resolve) => {\n return (pick: IPickProposed, possibleReplacements: IPickProposed[]) =>\n resolve({ pick, possibleReplacements });\n }\n);\n\nexport const substitutionStop = createAction(\n \"SUBSTITUTION_STOP\",\n (resolve) => () => resolve()\n);\n\nexport const substitutionProcess = createAction(\n \"SUBSTITUTION_PROCESS\",\n (resolve) => (pick: IPickProposed, subsStart: number) =>\n resolve({ pick, subsStart })\n);\n\nexport const changeCaptain = createAction(\n \"CHANGE_CAPTAIN\",\n (resolve) => (elementId: number) => resolve({ elementId, isVice: false })\n);\n\nexport const changeViceCaptain = createAction(\n \"CHANGE_VICE_CAPTAIN\",\n (resolve) => (elementId: number) => resolve({ elementId, isVice: true })\n);\n","import { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport { fetchMyTeam, saveMyTeam } from \"../my-team/actions\";\nimport * as actions from \"./actions\";\nimport { IPotentialChip, IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n potential: (state = [], action: RootAction) => {\n switch (action.type) {\n case getType(fetchMyTeam.success):\n case getType(saveMyTeam.success):\n case getType(actions.saveChipTeam.success):\n case getType(actions.fetchChipState.success):\n return action.payload.data.chips;\n\n case getType(actions.proposeAvailableChip): {\n if (someActiveOrProposed(state)) {\n return state;\n }\n return state.map((c) => ({\n ...c,\n status_for_entry:\n c.name === action.payload &&\n c.status_for_entry.match(/^(available|unavailable)$/)\n ? \"proposed\"\n : c.status_for_entry,\n }));\n }\n\n case getType(actions.cancelProposedChip): {\n return state.map((c) => ({\n ...c,\n status_for_entry:\n c.name === action.payload && c.status_for_entry === \"proposed\"\n ? \"available\"\n : c.status_for_entry,\n }));\n }\n\n case getType(actions.cancelActiveChip):\n return state.map((c) => ({\n ...c,\n status_for_entry:\n c.name === action.payload &&\n c.status_for_entry === \"active\" &&\n c.chip_type === \"team\"\n ? \"cancelled\"\n : c.status_for_entry,\n }));\n\n case getType(actions.restoreCancelledChip): {\n if (someActiveOrProposed(state)) {\n return state;\n }\n return state.map((c) => ({\n ...c,\n status_for_entry:\n c.name === action.payload && c.status_for_entry === \"cancelled\"\n ? \"active\"\n : c.status_for_entry,\n }));\n }\n\n default:\n return state;\n }\n },\n});\n\nconst someActiveOrProposed = (chips: IPotentialChip[]) =>\n chips.some(\n (c) => c.status_for_entry === \"active\" || c.status_for_entry === \"proposed\"\n );\n\n// State Selectors / Helpers\nexport const getPotentialChips = (state: RootState) => state.chips.potential;\n\nexport const getPlayedChips = createSelector(getPotentialChips, (chips) =>\n chips.filter((c) => c.status_for_entry === \"played\")\n);\n\nexport const getActiveChip = createSelector(getPotentialChips, (chips) => {\n const matches = chips.filter((c) => c.status_for_entry === \"active\");\n return matches.length ? matches[0] : null;\n});\n\nexport const getActiveChipName = createSelector(getActiveChip, (chip) =>\n chip ? chip.name : \"\"\n);\n\nexport const getProposedChip = createSelector(getPotentialChips, (chips) => {\n const matches = chips.filter((c) => c.status_for_entry === \"proposed\");\n return matches.length ? matches[0] : null;\n});\n\nexport const getProposedChipName = createSelector(getProposedChip, (chip) =>\n chip ? chip.name : \"\"\n);\n\n// This is most relevent for transfer chips. On team chips we have to consider\n// unavailable as well as they can become 'available' if an active chip is\n// cancelled\nexport const getAvailableChipNames = createSelector(\n getPotentialChips,\n (chips) =>\n chips.filter((c) => c.status_for_entry === \"available\").map((c) => c.name)\n);\n\nexport const teamChipsHaveChanged = createSelector(getPotentialChips, (chips) =>\n chips.some(\n (c) =>\n c.chip_type === \"team\" &&\n Boolean(c.status_for_entry.match(/^(cancelled|proposed)$/))\n )\n);\n\nexport const getActiveOrProposedTeamChipName = createSelector(\n getPotentialChips,\n (chips) =>\n chips.reduce(\n (memo, c) =>\n c.chip_type === \"team\" &&\n c.status_for_entry.match(/^(active|proposed)$/)\n ? c.name\n : memo,\n null\n )\n);\n\nexport const getActiveOrProposedTransferChipName = createSelector(\n getPotentialChips,\n (chips) =>\n chips.reduce(\n (memo, c) =>\n c.chip_type === \"transfer\" &&\n c.status_for_entry.match(/^(active|proposed)$/)\n ? c.name\n : memo,\n null\n )\n);\n\nexport const getActiveOrProposedAllChipName = createSelector(\n getPotentialChips,\n (chips) =>\n chips.reduce(\n (memo, c) =>\n c.status_for_entry.match(/^(active|proposed)$/) ? c.name : memo,\n null\n )\n);\n","import { createAsyncAction, deprecated } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { ITransfer } from \"../entries/types\";\nimport { IProposedPicks } from \"./types\";\n\nconst createAction = deprecated.createAction;\n\nexport const proposeElementInPosition = createAction(\n \"PROPOSE_ELEMENT_IN_POSITION\",\n (resolve) => {\n return (element: number, position: number) =>\n resolve({ element, position });\n }\n);\n\nexport const removeElementInPosition = createAction(\n \"REMOVE_ELEMENT_IN_POSITION\",\n (resolve) => {\n return (element: number, position: number) =>\n resolve({ element, position });\n }\n);\n\nexport const resetLastChange = createAction(\"RESET_LAST_CHANGE\", (resolve) => {\n return () => resolve();\n});\n\nexport const resetProposed = createAction(\"RESET_PROPOSED\", (resolve) => {\n return (data: IProposedPicks = {}) => resolve(data);\n});\n\nexport const createSquad = createAsyncAction(\n \"CREATE_SQUAD_START\",\n \"CREATE_SQUAD_SUCCESS\",\n \"CREATE_SQUAD_FAILURE\"\n)();\n\nexport const makeTransfers = createAsyncAction(\n \"MAKE_TRANSFERS_START\",\n \"MAKE_TRANSFERS_SUCCESS\",\n \"MAKE_TRANSFERS_FAILURE\"\n)();\n\nexport const fetchTransfersLatest = createAsyncAction(\n \"FETCH_TRANSFERS_LATEST_START\",\n \"FETCH_TRANSFERS_LATEST_SUCCESS\",\n \"FETCH_TRANSFERS_LATEST_FAILURE\"\n)();\n","import groupBy from \"lodash/groupBy\";\nimport orderBy from \"lodash/orderBy\";\nimport range from \"lodash/range\";\nimport values from \"lodash/values\";\nimport { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"..\";\nimport { getActiveChipName, getProposedChipName } from \"../chips/reducers\";\nimport { getElementTypes } from \"../element-types/reducers\";\nimport { getElementsById } from \"../elements/reducers\";\nimport { IElementsById } from \"../elements/types\";\nimport { getSettings } from \"../game/reducers\";\nimport * as myTeamActions from \"../my-team/actions\";\nimport * as chipActions from \"../chips/actions\";\nimport { IPick } from \"../my-team/types\";\nimport { getTeams } from \"../teams/reducers\";\nimport * as actions from \"./actions\";\nimport {\n ILastChange,\n IProposedElements,\n IProposedElementsById,\n ISquadErrors,\n IState,\n ITransfersData,\n SquadMode,\n} from \"./types\";\n\n// State Reducer\nconst defaultLastType: ILastChange = { type: \"none\", element: 0 };\nexport default combineReducers({\n lastChange: (state = defaultLastType, action: RootAction) => {\n switch (action.type) {\n case getType(actions.proposeElementInPosition):\n return {\n element: action.payload.element,\n type: \"addition\",\n };\n case getType(actions.removeElementInPosition):\n return {\n element: action.payload.element,\n type: \"removal\",\n };\n case getType(actions.resetLastChange):\n case getType(actions.resetProposed):\n return defaultLastType;\n default:\n return state;\n }\n },\n proposed: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.proposeElementInPosition):\n return {\n ...state,\n [action.payload.position]: action.payload.element,\n };\n case getType(actions.removeElementInPosition):\n const newState = { ...state };\n if (\n newState[action.payload.position] &&\n newState[action.payload.position] === action.payload.element\n ) {\n delete newState[action.payload.position];\n }\n return newState;\n case getType(actions.resetProposed):\n return action.payload;\n case getType(myTeamActions.fetchMyTeam.success):\n case getType(myTeamActions.saveMyTeam.success):\n return picksInSquadOrder(\n action.payload.data.picks,\n action.payload.elementsById\n ).reduce>(\n (memo, p, i) => ({ ...memo, [i + 1]: p.element }),\n {}\n );\n\n default:\n return state;\n }\n },\n saved: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(myTeamActions.fetchMyTeam.success):\n case getType(myTeamActions.saveMyTeam.success):\n return picksInSquadOrder(\n action.payload.data.picks,\n action.payload.elementsById\n ).reduce>(\n (memo, p, i) => ({ ...memo, [i + 1]: p }),\n {}\n );\n\n default:\n return state;\n }\n },\n transferState: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(myTeamActions.fetchMyTeam.success):\n case getType(chipActions.fetchChipState.success):\n return action.payload.data.transfers;\n default:\n return state;\n }\n },\n latestTransfers: (state = [], action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchTransfersLatest.success):\n return action.payload;\n default:\n return state;\n }\n },\n error: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.createSquad.failure):\n case getType(actions.makeTransfers.failure):\n return action.payload;\n default:\n return null;\n }\n },\n});\n\n// State Selectors / Helper Functions\nexport const getProposedPicks = (state: RootState) => state.squad.proposed;\n\nexport const getSavedPicks = (state: RootState) => state.squad.saved;\n\nexport const getLastChange = (state: RootState) => state.squad.lastChange;\n\nexport const getTransferState = (state: RootState) => state.squad.transferState;\n\nexport const getLatestTransfers = (state: RootState) =>\n state.squad.latestTransfers;\n\nexport const getSquadError = (state: RootState) => state.squad.error;\n\nexport const getSquadMode = createSelector(\n getSavedPicks,\n (picks): SquadMode => (Object.keys(picks).length ? \"transfers\" : \"selection\")\n);\n\nexport const getProposedElements = createSelector(\n getProposedPicks,\n getSettings,\n getElementsById,\n (picks, settings, elementsById) => {\n const data: IProposedElements = {};\n if (settings) {\n range(1, settings.squad_squadsize + 1).forEach((id) => {\n if (picks[id]) {\n data[id] = elementsById[picks[id]];\n }\n });\n }\n return data;\n }\n);\n\nexport const getProposedElementsById = createSelector(\n getProposedElements,\n (elements) =>\n Object.keys(elements).reduce((obj, pos) => {\n obj[elements[pos].id] = {\n ...elements[pos],\n position: parseInt(pos, 10),\n };\n return obj;\n }, {})\n);\n\n// Returns removed, original or replaced for each squad position\nexport const getTransferPositionStatus = createSelector(\n getSavedPicks,\n getProposedPicks,\n (saved, proposed) =>\n Object.keys(saved).reduce<\n Record\n >(\n (memo, pos) => ({\n ...memo,\n [pos]: !proposed[pos]\n ? \"removed\"\n : saved[pos].element === proposed[pos]\n ? \"original\"\n : \"replaced\",\n }),\n {}\n )\n);\n\nexport const getToSpend = createSelector(\n getSquadMode,\n getProposedElements,\n getSavedPicks,\n getTransferPositionStatus,\n getSettings,\n getTransferState,\n getProposedChipName,\n getActiveChipName,\n (\n mode,\n proposed,\n saved,\n posStatus,\n settings,\n transferState,\n proposedChip,\n activeChip\n ) => {\n if (settings) {\n if (mode === \"selection\") {\n return values(proposed).reduce(\n (toSpend, e) => toSpend - e.now_cost,\n settings.squad_total_spend\n );\n } else if (mode === \"transfers\" && transferState !== null) {\n if (proposedChip === \"rich\" || activeChip === \"rich\") {\n return 1000000;\n }\n\n return Object.keys(saved).reduce((toSpend, pos) => {\n if (posStatus[pos] === \"removed\") {\n toSpend += saved[pos].selling_price;\n } else if (posStatus[pos] === \"replaced\") {\n toSpend += saved[pos].selling_price - proposed[pos].now_cost;\n }\n return toSpend;\n }, transferState.bank);\n }\n }\n return 0;\n }\n);\n\nexport const getTeamLimit = createSelector(\n getSettings,\n getProposedChipName,\n getActiveChipName,\n (settings, proposedChip, activeChip) => {\n if (settings) {\n return proposedChip === \"uteam\" || activeChip === \"uteam\"\n ? settings.squad_squadsize\n : settings.squad_team_limit;\n }\n return 0; // Only temporary (if at all) whilst settings are loaded\n }\n);\n\nexport const getTypesNeeded = createSelector(\n getProposedElements,\n getElementTypes,\n getSettings,\n (elements, types) => {\n let needed: { [id: string]: number } = {};\n needed = types.reduce(\n (memo, et) => ({ ...memo, [et.id]: et.squad_select }),\n {}\n );\n values(elements).forEach((e) => {\n needed[e.element_type]--;\n });\n return needed;\n }\n);\n\nexport const getCountByTeam = createSelector(\n getProposedElements,\n getTeams,\n (elements, teams) => {\n const countByTeam: { [id: string]: number } = teams.reduce(\n (memo, t) => ({ ...memo, [t.id]: 0 }),\n {}\n );\n const elementsByTeam = groupBy(elements, \"team\");\n Object.keys(elementsByTeam).forEach((teamId) => {\n countByTeam[teamId] = elementsByTeam[teamId].length;\n });\n return countByTeam;\n }\n);\n\nexport const getProposedTransfers = createSelector(\n getProposedElements,\n getSavedPicks,\n (elements, picks) => {\n const data: Array = [];\n Object.keys(picks).forEach((i) => {\n if (elements[i] && elements[i].id !== picks[i].element) {\n data.push({\n element_in: elements[i].id,\n element_out: picks[i].element,\n purchase_price: elements[i].now_cost,\n selling_price: picks[i].selling_price,\n });\n }\n });\n return data;\n }\n);\n\nexport const getErrors = createSelector(\n getProposedElements,\n getSettings,\n getToSpend,\n getTeamLimit,\n getCountByTeam,\n getProposedTransfers,\n getSquadMode,\n (elements, settings, toSpend, teamLimit, countByTeam, transfers, mode) => {\n const errors: ISquadErrors = {};\n if (!settings) {\n return errors;\n }\n const needed = settings.squad_squadsize;\n\n if (toSpend < 0) {\n errors.budgetExceeded = -toSpend;\n }\n\n const selected = Object.keys(elements).length;\n if (selected !== needed) {\n errors.needElements = needed - selected;\n }\n\n Object.keys(countByTeam).forEach((teamId) => {\n if (countByTeam[teamId] > teamLimit) {\n if (!errors.overTeamLimit) {\n errors.overTeamLimit = [];\n }\n errors.overTeamLimit.push(parseInt(teamId, 10));\n }\n });\n\n if (mode === \"transfers\") {\n if (!transfers.length) {\n errors.noTransfersMade = true;\n } else {\n delete errors.noTransfersMade;\n }\n }\n\n return errors;\n }\n);\n\nexport const toCreateEntryAPI = createSelector(\n getProposedElements,\n (elements) =>\n values(elements).map((e) => ({\n element: e.id,\n purchase_price: e.now_cost,\n }))\n);\n\nexport const getNumberOfTransferChanges = createSelector(\n getTransferPositionStatus,\n (positionStatus) =>\n values(positionStatus).reduce(\n (count, s) => (s === \"original\" ? count : count + 1),\n 0\n )\n);\n\nexport const getFreeTransfers = createSelector(\n getTransferState,\n (transferState) => {\n if (!transferState || transferState.limit === null) {\n return 0;\n }\n return Math.max(transferState.limit - transferState.made, 0);\n }\n);\n\nexport const getFreeTransfersRemaining = createSelector(\n getFreeTransfers,\n getNumberOfTransferChanges,\n (free, changes) => Math.max(free - changes, 0)\n);\n\nexport const getTransferCostsWithoutChip = createSelector(\n getTransferState,\n getNumberOfTransferChanges,\n (transferState, changes) => {\n if (!transferState || transferState.limit === null) {\n return 0;\n }\n const overLimit = -(\n Math.max(transferState.limit - transferState.made, 0) - changes\n );\n return overLimit > 0 ? overLimit * transferState.cost : 0;\n }\n);\n\nexport const getTransferCosts = createSelector(\n getTransferCostsWithoutChip,\n getActiveChipName,\n getProposedChipName,\n (cost, activeChip, proposedChip) => {\n const freeChips = [\"wildcard\", \"freehit\", \"rich\", \"uteam\"];\n if (activeChip && freeChips.indexOf(activeChip) > -1) {\n return 0;\n }\n if (proposedChip && freeChips.indexOf(proposedChip) > -1) {\n return 0;\n }\n return cost;\n }\n);\n\nexport const canAutocomplete = createSelector(getErrors, (errors) =>\n Boolean(\n errors.needElements && !errors.budgetExceeded && !errors.overTeamLimit\n )\n);\n\nexport const canReset = createSelector(\n getSquadMode,\n getProposedElements,\n getNumberOfTransferChanges,\n (mode, proposed, changes) =>\n Boolean(mode === \"selection\" ? Object.keys(proposed).length : changes)\n);\n\nconst picksInSquadOrder = (picks: IPick[], elementsById: IElementsById) =>\n orderBy(picks, [\n (p) => elementsById[p.element].element_type,\n (p) => p.element,\n ]);\n","import { navigate } from \"@reach/router\";\nimport shuffle from \"lodash/shuffle\";\nimport values from \"lodash/values\";\nimport { ThunkResult } from \"..\";\nimport { apiPost, apiGet } from \"../../utils/api\";\nimport { bootstrap } from \"../bootstrap/thunks\";\nimport { cancelProposedChip } from \"../chips/actions\";\nimport {\n getProposedChip,\n getProposedChipName,\n getActiveOrProposedTransferChipName,\n} from \"../chips/reducers\";\nimport { getElementTypesBySquadPosition } from \"../element-types/reducers\";\nimport {\n getAverageCostByType,\n getElement,\n getElements,\n} from \"../elements/reducers\";\nimport { getNextEvent } from \"../events/reducers\";\nimport { getSettings } from \"../game/reducers\";\nimport { getPlayerData } from \"../player/reducers\";\nimport {\n getCountByTeam,\n getProposedElements,\n getProposedTransfers,\n getSavedPicks,\n getToSpend,\n getTransferCostsWithoutChip,\n getTypesNeeded,\n toCreateEntryAPI,\n} from \"../squad/reducers\";\nimport * as actions from \"./actions\";\nimport { resetProposed } from \"./actions\";\nimport { ICreateEntryData } from \"./types\";\n\nexport const proposeElement =\n (elementId: number): ThunkResult =>\n (dispatch, getState) => {\n const element = getElement(getState(), elementId);\n const proposed = getProposedElements(getState());\n const saved = getSavedPicks(getState());\n const elementTypesByPosition = getElementTypesBySquadPosition(getState());\n if (!element || !elementTypesByPosition) {\n return false;\n }\n\n // Element must not already be selected\n if (values(proposed).indexOf(element) > -1) {\n return false;\n }\n\n // Can we find a free position based on type?\n const freePosition = Object.keys(elementTypesByPosition).find((pos) => {\n return (\n elementTypesByPosition[pos].thisType.id === element.element_type &&\n !proposed[pos]\n );\n });\n if (!freePosition) {\n return false;\n }\n let position = Number(freePosition);\n\n // TODO - Look at bulk dispatching these with new react-redux\n const savedPositions = Object.keys(saved).filter(\n (p) => saved[p].element === elementId\n );\n // We already have this element\n if (savedPositions.length) {\n const savedPosition = Number(savedPositions[0]);\n // In a different position\n if (savedPosition !== position) {\n const proposedId =\n proposed[savedPosition] && proposed[savedPosition].id;\n // Someone is in saved position so remove them and put in this position\n if (proposedId) {\n dispatch(actions.removeElementInPosition(proposedId, savedPosition));\n dispatch(actions.proposeElementInPosition(proposedId, position));\n }\n position = savedPosition;\n }\n }\n dispatch(actions.proposeElementInPosition(element.id, position));\n return true;\n };\n\nexport const removeElement =\n (position: number): ThunkResult =>\n (dispatch, getState) => {\n const proposed = getProposedElements(getState());\n if (!proposed[position]) {\n return false;\n }\n dispatch(actions.removeElementInPosition(proposed[position].id, position));\n return true;\n };\n\nexport const restoreElement =\n (position: number): ThunkResult =>\n (dispatch, getState) => {\n const saved = getSavedPicks(getState());\n if (!saved[position]) {\n return false;\n }\n dispatch(\n actions.proposeElementInPosition(saved[position].element, position)\n );\n // If proposing wildcard and no transfer costs cancel it\n if (\n getProposedChipName(getState()) === \"wildcard\" &&\n getTransferCostsWithoutChip(getState()) === 0\n ) {\n dispatch(cancelProposedChip(\"wildcard\"));\n }\n return true;\n };\n\nexport const reset = (): ThunkResult => (dispatch, getState) => {\n const savedPicks = getSavedPicks(getState());\n dispatch(\n resetProposed(\n Object.keys(savedPicks).reduce>(\n (memo, i) => ({ ...memo, [i]: savedPicks[i].element }),\n {}\n )\n )\n );\n // Cancel any proposed transfer chips\n const chip = getProposedChip(getState());\n if (chip && chip.chip_type === \"transfer\") {\n dispatch(cancelProposedChip(chip.name));\n }\n};\n\nexport const autoComplete =\n (): ThunkResult => (dispatch, getState) => {\n const typesByPosition = getElementTypesBySquadPosition(getState());\n const settings = getSettings(getState());\n if (!settings || !typesByPosition) {\n return false;\n }\n const averageCostByType = getAverageCostByType(getState());\n const proposed = getProposedElements(getState());\n const elementsOwned = values(proposed)\n .map((e) => e.id)\n .concat(values(getSavedPicks(getState())).map((p) => p.element));\n const countByTeam = getCountByTeam(getState());\n let failures = 0;\n\n Object.keys(typesByPosition).forEach((pos) => {\n if (!proposed[pos]) {\n const typesNeeded = getTypesNeeded(getState());\n const avgToSpend = Object.keys(typesNeeded).reduce(\n (memo, et) => memo + typesNeeded[et] * averageCostByType[et],\n 0\n );\n const weightingFactor = getToSpend(getState()) / avgToSpend;\n const invalidTeams = Object.keys(countByTeam)\n .filter((id) => countByTeam[id] >= settings.squad_team_limit)\n .map((id) => parseInt(id, 10));\n const possibles = getElements(getState()).filter(\n (e) =>\n // Correct type\n e.element_type === typesByPosition[pos].thisType.id &&\n // Cheap enough\n e.now_cost <=\n averageCostByType[typesByPosition[pos].thisType.id] *\n weightingFactor &&\n // Don't have\n elementsOwned.indexOf(e.id) === -1 &&\n // Available\n e.status === \"a\" &&\n // Within team limit\n invalidTeams.indexOf(e.team) === -1\n );\n if (possibles.length) {\n const choice = shuffle(possibles).sort(\n (a, b) =>\n parseFloat(b.form) - parseFloat(a.form) || b.now_cost - a.now_cost\n )[0];\n dispatch(\n actions.proposeElementInPosition(choice.id, parseInt(pos, 10))\n );\n elementsOwned.push(choice.id);\n countByTeam[choice.team]++;\n } else {\n failures++;\n }\n }\n });\n return !failures;\n };\n\nexport const createEntry =\n (data: ICreateEntryData): ThunkResult> =>\n async (dispatch, getState) => {\n try {\n await apiPost(\n \"entry-create/\",\n { ...data, picks: toCreateEntryAPI(getState()) },\n dispatch,\n actions.createSquad\n );\n } catch (e) {\n return;\n }\n await dispatch(bootstrap());\n navigate(\"/my-team\");\n };\n\nexport const makeTransfers =\n (): ThunkResult> => async (dispatch, getState) => {\n const nextEvent = getNextEvent(getState());\n const player = getPlayerData(getState());\n if (!nextEvent || !player || !player.entry) {\n return;\n }\n try {\n await apiPost(\n \"transfers/\",\n {\n chip: getActiveOrProposedTransferChipName(getState()),\n entry: player.entry,\n event: nextEvent.id,\n transfers: getProposedTransfers(getState()),\n },\n dispatch,\n actions.makeTransfers\n );\n } catch (e) {\n return;\n }\n navigate(\"/my-team\");\n };\n\nexport const fetchLatestTransfers =\n (): ThunkResult => async (dispatch, getState) => {\n const player = getPlayerData(getState());\n if (!player || !player.entry) {\n return;\n }\n try {\n await apiGet(\n `entry/${player.entry}/transfers-latest/`,\n dispatch,\n actions.fetchTransfersLatest\n );\n } catch (e) {\n return;\n }\n };\n","import { IElementBase } from \"../store/elements/types\";\n\nexport const isMoneyStat = (stat: any): boolean => {\n const moneyStats: Array = [\n \"cost_change_event\",\n \"cost_change_event_fall\",\n \"cost_change_start\",\n \"cost_change_start_fall\",\n \"now_cost\",\n ];\n return moneyStats.indexOf(stat) > -1;\n};\n\nexport const integerToMoney = (int: number, divisor: number) =>\n (int / divisor).toFixed(1);\n\nexport const integerToMoneyFloat = (int: number, divisor: number) =>\n int / divisor;\n\nexport const moneyToInteger = (money: string, divisor: number) =>\n Math.round(parseFloat(money) * divisor);\n","var _circle, _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgClose(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 21,\n viewBox: \"0 0 21 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 10.5,\n cy: 10.5,\n r: 10,\n fill: \"#131924\",\n stroke: \"white\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.4257 7.182C17.0115 6.59621 17.0115 5.64646 16.4257 5.06068C15.8399 4.47489 14.8901 4.47489 14.3043 5.06068L5.06092 14.3041C4.47514 14.8899 4.47514 15.8396 5.06092 16.4254C5.64671 17.0112 6.59646 17.0112 7.18224 16.4254L16.4257 7.182Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.18175 5.06066C6.59597 4.47487 5.64622 4.47487 5.06043 5.06066C4.47465 5.64645 4.47465 6.59619 5.06043 7.18198L14.072 16.1936C14.6578 16.7794 15.6076 16.7794 16.1934 16.1936C16.7792 15.6078 16.7792 14.6581 16.1934 14.0723L7.18175 5.06066Z\",\n fill: \"white\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgClose);\nexport default __webpack_public_path__ + \"static/media/close.570e37d1.svg\";\nexport { ForwardRef as ReactComponent };","import { hideVisually, rgba } from \"polished\";\nimport * as React from \"react\";\nimport { useEffect, useRef } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport styled, { css } from \"styled-components/macro\";\nimport { ReactComponent as CloseIcon } from \"../img/icons/close.svg\";\nimport \"./OverflowScrolling.css\";\n\nconst CloseLabel = styled.span`\n ${hideVisually}\n`;\n\nconst Button = styled.button`\n flex: 1 1 0%;\n order: 2;\n margin: 0;\n padding-inline-end: ${({ theme }) => theme.space[1]};\n border: 0;\n background-color: transparent;\n cursor: pointer;\n text-align: end;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding-inline-end: ${({ theme }) => theme.space[2]};\n }\n`;\n\n// https://css-tricks.com/considerations-styling-modal/\n// 1. commented out height to see if we can be more flexible\n\nconst StyledDialog = styled.dialog`\n z-index: ${(props) => props.theme.zIndex.dialog};\n max-width: 90%;\n /* height: 400px; [1] */\n max-height: 90%;\n padding: 0;\n border: 0;\n border-radius: ${(props) => props.theme.radii[2]};\n /* Ugly hack to deal with sub-pixel rounding in chrome bug causing blurry content with transform */\n width: 640px;\n background-color: ${(props) => props.theme.colors.white};\n color: currentColor;\n overflow-y: auto;\n`;\n\nconst Overlay = styled.div`\n position: fixed;\n z-index: ${(props) => props.theme.zIndex.overlay};\n top: 0;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n background-color: ${rgba(\"black\", 0.5)};\n`;\n\nconst StyledHeader = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n margin: ${({ theme }) =>\n `${theme.space[2]} ${theme.space[2]} ${theme.space[0]}`};\n border-radius: ${({ theme }) => theme.radii[0]};\n background-color: ${({ theme }) => theme.colors.green};\n`;\n\nexport const DialogButtonItem = styled.div`\n margin-bottom: ${({ theme }) => theme.space[2]};\n\n &:last-child {\n margin-bottom: 0;\n }\n`;\n\ninterface IDialogHeaderProps {\n children: React.ReactNode;\n closeDialog: () => void;\n}\n\nconst DialogHeader = ({ children, closeDialog }: IDialogHeaderProps) => (\n \n {children}\n \n \n);\n\nconst isVisible = (elem: HTMLElement) =>\n !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);\n\ninterface IDialogBodyProps {\n children: any;\n isPadded?: boolean;\n}\n\nconst StyledDialogBody = styled.div`\n max-height: calc(90vh - 128px);\n overflow-y: auto;\n ${(props) =>\n props.isPadded &&\n css`\n padding: ${props.theme.space[4]} ${props.theme.space[2]};\n `};\n`;\n\nconst DialogBody = ({ children, isPadded }: IDialogBodyProps) => (\n \n {children}\n \n);\n\nDialogBody.defaultProps = {\n isPadded: true,\n};\n\ninterface IDialogProps {\n children: any;\n closeDialog: (\n e:\n | React.MouseEvent\n | React.MouseEvent\n | KeyboardEvent\n ) => void;\n focusable?: string;\n}\n\nconst FOCUSABLE_DEFAULT =\n \"a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]\";\n\nconst Dialog = ({\n children,\n closeDialog,\n focusable = FOCUSABLE_DEFAULT,\n}: IDialogProps) => {\n const docref = useRef(null);\n const focusReturn = useRef(\n document.activeElement as HTMLElement\n );\n\n useEffect(() => {\n const handleTab = (e: KeyboardEvent) => {\n const docRef = docref.current;\n const focusedItem = document.activeElement;\n if (docRef) {\n const focusableItems = Array.prototype.slice\n .call(docRef.querySelectorAll(focusable))\n .filter(isVisible);\n const numFocusableItems = focusableItems.length;\n const focusedIndex = focusableItems.indexOf(focusedItem);\n if (!e.shiftKey && focusedIndex === numFocusableItems - 1) {\n // Moving past last focusable item so focus first\n focusableItems[0].focus();\n e.preventDefault();\n } else if (e.shiftKey && focusedIndex === 0) {\n // Moving before first focusable item so focus last\n focusableItems[numFocusableItems - 1].focus();\n e.preventDefault();\n }\n }\n };\n\n const handleKeydown = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") {\n closeDialog(e);\n } else if (e.key === \"9\") {\n handleTab(e);\n }\n };\n\n document.addEventListener(\"keydown\", handleKeydown);\n const focusElement = docref.current?.querySelector(\n focusable\n ) as HTMLElement;\n focusElement?.focus();\n const previousFocusedElement = focusReturn.current;\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeydown);\n previousFocusedElement?.focus();\n };\n }, [closeDialog, focusable]);\n\n const handleOutsideMouseClick = (e: React.MouseEvent) => {\n if (e.target === e.currentTarget) {\n closeDialog(e);\n e.stopPropagation();\n }\n };\n\n // https://github.com/facebook/react/issues/11387\n return ReactDOM.createPortal(\n {\n e.stopPropagation();\n handleOutsideMouseClick(e);\n }}\n role=\"presentation\"\n >\n \n
\n {children}\n
\n
\n ,\n document.getElementById(\"root-dialog\") as HTMLElement\n );\n};\n\nDialog.Header = DialogHeader;\nDialog.Body = DialogBody;\n\nexport default Dialog;\n","import React from \"react\";\nimport styled from \"styled-components/macro\";\n\ninterface IProps {\n children: React.ReactNode;\n}\n\nconst StyledDialogHeading = styled.div`\n flex: 0 0 72%;\n padding: ${({ theme }) => theme.space[2]};\n color: ${({ theme }) => theme.colors.primary};\n font-family: ${({ theme }) => theme.fonts.impact};\n font-size: ${({ theme }) => theme.fontSizes[4]};\n line-height: 26px;\n font-weight: bold;\n`;\n\nconst DialogHeading: React.FC = ({ children }) => {\n return {children};\n};\n\nexport default DialogHeading;\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport { ITeam } from \"../core/store/teams/types\";\nimport shadow from \"../img/shirt-shadow.png\";\n\nconst StyledShirt = styled.img`\n display: inline-block;\n margin: auto;\n vertical-align: middle;\n\n ${(props) =>\n props.hasShadow &&\n css`\n padding-bottom: 0.6rem;\n background: url(${shadow}) no-repeat center bottom;\n background-size: contain;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n padding-bottom: 0.7rem;\n background-size: 44px 8px;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n padding-bottom: 0.9rem;\n background-size: 55px 10px;\n }\n `}\n`;\n\ninterface IProps {\n path: string;\n sizes: string;\n team?: ITeam;\n}\n\ninterface IStyledProps {\n hasShadow?: boolean;\n}\n\ntype Props = IProps & IStyledProps;\n\nconst Shirt: React.FC = ({ hasShadow, path, sizes, team }) => {\n return (\n \n \n \n \n );\n};\n\nexport default Shirt;\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKcAAAAfCAYAAACCj930AAAE1UlEQVR4nO2c63LUMAyFlaXADAzv/7a7/AAX7ek5ujhOm+2imYxt2ZHt+Itkpyzbrx8/7b/cyWZmt79pR8Y93XtvzX6eRl4+egALpAvRUTY3SI/sC8W/GAb5h5VHgHPWk417j2y/WjpAMU/tx6/mgs/ytBCfBc4MispDn63r9L1SIigyYBSQFZs4Hza/UwD7HnCu8F4VXVSerYt0WZsKYNXybJ0vVyBWAEdtD5Oj4JxZTKZjEFV0URuVKl2lnAlbSAXYbTLttNmI3ozvVRWE6mVctt9dBWc3nCrPlUGV6aI2mZ0ojfKZVLxelCqdaqPaKXtoG8FVsDGwfX43oLNwdmBU5SjNwMIrqsvasT5ZyuaidEO6YGaQKR27onZZf5gibOyAqmCdhrQKJ54K2QC6IbgL3SVotzXbYZ9sPGr8qhxJJYRXPaS6rpN1kX0cz0g7sKrnlEKbwVldnE207XrADDYELytXAe3MdYUoj1rxph1Ar8U6r4v68nUIKM6l4jmVDTOL4VQLohYu8og+3wGQ5THtQMnGG831KMn6q4T/KqRXkSrdjKcNIRPz8utA70U4o4emFjMD0ewPPCNlUGYQRmAqONmYHkWiF6fiVRlsClKWXoQNBqQfBxsnmxfWUf0LVDKpeMqRKkAYPBF0l6Q+85Zq7J9B8LkzSC92D5QvMxg9kAO6Ddp5GK/GAcu8pw/5KbwvFi9gxVuOtHJlXpGVI48Zhe1nkTF35s1YeUDoYdxE3qcezAvYRe/p+45AVDBvZnbbs+f8KDARUIP8s4qHwZf9QQfBvIANDwu2GzbUNgPrGKAV7/pqCwfXlSoQCmjMqzoWsrtjeAZR0SOLNFm5arszRmbrTvbCWX0LsD3bJym7eFrdO4ZnlSgEZ2Wz+Dl31qDaNgzrkfHItat7MM8AxfDj8yoU+VDx7F5UneDVN83ud1Clx/4QaAV4yM2X71+/mdUPRaPMdBWJoM7ylTd4ZkyPLuz5KKDwhJ6d4BHG7Pvnqoj3elr3Crag6JVwA8w6Gbbwutm/Aw2eJkcevaQ/IF1dOTq9m719iT4LrCoERx4O8xGMCuYMyGirVvWYd/oXUCpAsY51tgV5BNSf4MfkEbbstF79vFTZ0J9VsggSXZ2P7hnQHSjVuFVZ6eifL9FTKiO418MBRSfzcV2JTn2wZ3XZR/mxP63AquD1shfkNJTZ2+cYeccISgbY7J8rjwAyrYsORBGkyijzmgjqSKNPGOyKPGTnH3yoPnF8FuhQshdZ6ZQ39Pmup+zWVSBUIM4AGYF6J5XTOhqrLsTQ4/7S26h4V6arQHdJ7ke9Gheb84wHZQu5Es4MrtUQVl4+Jhhlpcx+SvIdZfU4GQapz1fAVfmsnOWjFPOszKTiLVVazXfKzAZLozybD9NvSZtQ9v5MI/Oq6u3CQePbVA2vM5B1QngHRj+nyDtki78n7Xi8DoQduCpAl2T1D9yiwfiFjfYnCtRKOcureysQzoRyJdH8K3UVsLI9YLRWs3VL5T1/t64mlXlb3AIwO1WYFGB79pRZ28pidrxVBbIVcL0bhErO8J8qzHrbyEZl010FcKXHHDIbJvfawvvKh5OPkDPAGUn1wVX2uqtsr5KjoOhAd1owzc4PZ1X2PmS2mLtOmg2Jtil7vOLDy2+kvEzFwgQiDAAAAABJRU5ErkJggg==\"","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { RootState } from \"../core/store\";\nimport { getElementsById } from \"../core/store/elements/reducers\";\nimport { IElementsById } from \"../core/store/elements/types\";\nimport Shirt from \"./Shirt\";\nimport { getSettings } from \"../core/store/game/reducers\";\nimport { ISettings } from \"../core/store/game/types\";\nimport { getTeamsById } from \"../core/store/teams/reducers\";\nimport { ITeamsById } from \"../core/store/teams/types\";\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n settings: ISettings | null;\n teamsById: ITeamsById;\n}\ninterface IOwnProps {\n elementId: number;\n hasShadow?: boolean;\n sizes: string;\n}\n\ntype Props = IPropsFromState & IOwnProps;\n\nexport const getElementShirtPath = (\n elementType: number,\n teamCode: number,\n shirtMode: string\n) => {\n const suffix = elementType === 1 ? `_${elementType}` : \"\";\n return `${process.env.PUBLIC_URL}/dist/img/shirts/${shirtMode}/shirt_${teamCode}${suffix}`;\n};\n\nconst ElementShirt: React.FC = ({\n elementId,\n elementsById,\n hasShadow,\n settings,\n sizes,\n teamsById,\n}) => {\n const element = elementsById[elementId];\n const team = teamsById[element.team];\n\n let shirtMode = \"standard\";\n if (settings && settings.ui_use_special_shirts) {\n if (settings.ui_special_shirt_exclusions.indexOf(element.code) === -1) {\n shirtMode = \"special\";\n }\n }\n\n return (\n \n );\n};\n\nconst mapStateToProps = (state: RootState) => ({\n elementsById: getElementsById(state),\n teamsById: getTeamsById(state),\n settings: getSettings(state),\n});\n\nexport default connect(mapStateToProps)(ElementShirt);\n","import React from \"react\";\nimport { IElement, IElementFixture } from \"../core/store/elements/types\";\nimport { IFixture } from \"../core/store/fixtures/types\";\nimport { ITeamsById } from \"../core/store/teams/types\";\n\ninterface IProps {\n fixture: IFixture | IElementFixture;\n element: IElement;\n teamsById: ITeamsById;\n}\n\nconst FixtureForElement: React.FC = ({\n fixture,\n element,\n teamsById,\n}) => {\n const isHome = element.team === fixture.team_h;\n return isHome ? (\n {teamsById[fixture.team_a].short_name} (H)\n ) : (\n {teamsById[fixture.team_h].short_name} (A)\n );\n};\n\nexport default FixtureForElement;\n\ninterface IMultiProps {\n delimiter?: React.ReactNode;\n fixtures: IFixture[];\n element: IElement;\n teamsById: ITeamsById;\n}\n\nexport const FixturesForElement: React.FC = ({\n delimiter = \", \",\n fixtures,\n element,\n teamsById,\n}) => {\n const fragments = fixtures.map((f) => (\n \n ));\n return fragments.length\n ? fragments.reduce((result, item) => (\n <>\n {result}\n {delimiter}\n {item}\n \n ))\n : null;\n};\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\nconst StyledPanel = styled.div`\n padding: ${({ theme }) => theme.space[1]};\n border: 1px solid ${({ theme }) => theme.colors.black};\n border-radius: ${({ theme }) => theme.radii[1]};\n background-color: ${({ theme }) => theme.colors.white};\n`;\n\nconst StyledPanelHeader = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: ${({ theme }) => theme.space[2]} ${({ theme }) => theme.space[2]};\n border-radius: ${({ theme }) => `${theme.radii[1]} ${theme.radii[1]} 0 0`};\n background-color: ${({ theme }) => theme.colors.blue};\n color: ${({ theme }) => theme.colors.white};\n\n ${(props) =>\n props.variant === \"secondary\" &&\n css`\n border-radius: ${({ theme }) => theme.radii[1]};\n background-color: ${({ theme }) => theme.colors.green};\n color: ${({ theme }) => theme.colors.black};\n text-transform: uppercase;\n `}\n`;\n\nconst PanelHeading = styled.h4`\n flex: 1;\n margin: 0;\n font-size: 14px;\n line-height: 20px;\n color: inherit;\n font-family: ${({ theme }) => theme.fonts.base};\n`;\n\nconst StyledPanelFooter = styled.div`\n padding: ${({ theme }) => `${theme.space[3]} ${theme.space[2]}`};\n border-top: 1px solid ${({ theme }) => theme.colors.whiteGrey};\n text-align: center;\n`;\n\ninterface IPanelHeaderProps {\n title?: React.ReactNode;\n children?: React.ReactNode;\n variant?: string;\n}\n\nconst PanelHeader: React.FC = ({\n children,\n title,\n variant,\n}) => (\n \n {title}\n {children}\n \n);\n\ninterface IPanelBodyProps {\n children: React.ReactNode;\n}\n\nconst PanelBody: React.FC = ({ children }) => (\n
{children}
\n);\n\ninterface IPanelFooterProps {\n children: React.ReactNode;\n}\n\nconst PanelFooter: React.FC = ({ children }) => (\n {children}\n);\n\ninterface IPanelProps {\n children?: React.ReactNode;\n}\n\nconst Panel = ({ children }: IPanelProps) => {\n return {children};\n};\n\nPanel.Header = PanelHeader;\nPanel.Body = PanelBody;\nPanel.Footer = PanelFooter;\n\nexport default Panel;\n","import * as React from \"react\";\n\nexport interface ITabPanel {\n children: React.ReactNode;\n label: React.ReactNode;\n link: string;\n}\n\nconst TabPanel: React.FC = ({ children }) =>
{children}
;\n\nexport default TabPanel;\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\nconst Item = styled.li`\n flex: 1;\n`;\n\nexport const TabLink = styled.a`\n display: block;\n padding: 0.7rem ${({ theme }) => theme.space[2]};\n border-radius: 2px;\n background-color: transparent;\n color: inherit;\n font-family: ${({ theme }) => theme.fonts.base};\n font-size: ${({ theme }) => theme.fontSizes[0]};\n font-weight: bold;\n text-align: center;\n text-decoration: none;\n transition: all 0.2s;\n\n ${(props) =>\n props.selected &&\n css`\n border-radius: ${({ theme }) => theme.radii[0]};\n background-color: ${({ theme }) => theme.colors.blue};\n color: ${({ theme }) => theme.colors.white};\n `}\n`;\n\ninterface IStyleProps {\n selected: boolean;\n}\n\ninterface IProps {\n index: number;\n label: React.ReactNode;\n link: string;\n onClick: (index: number) => void;\n}\n\ntype Props = IStyleProps & IProps;\n\nconst Tab: React.FC = ({ index, label, link, onClick, selected }) => {\n const handleOnClick = (e: React.SyntheticEvent) => {\n e.preventDefault();\n onClick(index);\n };\n\n return (\n \n \n {label}\n \n \n );\n};\n\nexport default Tab;\n","import React, { useEffect, useState } from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport Tab from \"./Tab\";\nimport { ITabPanel } from \"./TabPanel\";\n\ninterface ITabListProps {\n centered?: boolean;\n}\n\nexport const TabListShared = css`\n display: flex;\n align-items: center;\n padding: 0;\n border-radius: 8px;\n list-style-type: none;\n background-color: ${({ theme }) => theme.colors.white};\n`;\n\nconst TabList = styled.ul`\n display: flex;\n align-items: center;\n margin: 0;\n padding: 3px;\n border: 1px solid ${({ theme }) => theme.colors.blue};\n border-radius: ${({ theme }) => theme.radii[0]};\n background-color: ${({ theme }) => theme.colors.white};\n list-style-type: none;\n\n ${({ centered }) =>\n centered === true &&\n css`\n width: 70%;\n margin: 0 auto;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 35%;\n }\n `}\n`;\n\ninterface IProps {\n children: Array>;\n defaultSelected?: number;\n locationHash?: string;\n centered?: boolean;\n}\n\nconst Tabs: React.FC = ({\n centered = false,\n children,\n defaultSelected = 0,\n locationHash = \"\",\n}) => {\n const [selected, setSelected] = useState(defaultSelected);\n\n useEffect(() => {\n let initialSelected = selected;\n if (locationHash) {\n React.Children.forEach(children, (child, index) => {\n const panel = child as React.ReactElement;\n if (`#${panel.props.link}` === locationHash) {\n initialSelected = index;\n }\n });\n }\n setSelected(initialSelected);\n }, [locationHash, selected, children]);\n\n const handleClick = (index: number) => {\n setSelected(index);\n };\n\n return (\n <>\n \n {React.Children.map(children, (child, index) => {\n const panel = child as React.ReactElement;\n return (\n \n );\n })}\n \n {children[selected]}\n \n );\n};\n\nexport default Tabs;\n","import Tippy from \"@tippy.js/react\";\nimport * as React from \"react\";\nimport styled from \"styled-components/macro\";\n\nconst StyledTooltip = styled(Tippy)`\n padding: ${({ theme }) => theme.space[1]} ${({ theme }) => theme.space[2]};\n background-color: white;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);\n\n .tippy-backdrop {\n background-color: white;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);\n }\n .tippy-content {\n color: ${({ theme }) => theme.colors.black};\n font-size: 1.4rem;\n }\n\n /* Styling the arrow for different placements */\n &[x-placement^=\"top\"] {\n .tippy-arrow {\n border-top-color: white;\n }\n }\n\n &[x-placement^=\"bottom\"] {\n .tippy-arrow {\n border-bottom-color: white;\n }\n }\n`;\n\nexport const TooltipLabel = styled.span`\n text-decoration: underline dotted;\n`;\n\ninterface IProps {\n content: string;\n children: React.ReactElement;\n}\n\nconst Tooltip: React.FC = ({ children, content }) => {\n // We wrap in a span to stop issues with google translate\n return (\n {content}}\n arrow={true}\n placement=\"top\"\n >\n {children}\n \n );\n};\n\nexport default Tooltip;\n","import * as React from \"react\";\nimport { useCallback, useEffect } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { connect, useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../core/store\";\nimport { getElementStats } from \"../core/store/element-stats/reducers\";\nimport { getElementTypesById } from \"../core/store/element-types/reducers\";\nimport { elementDialogHide } from \"../core/store/elements/actions\";\nimport {\n getElement,\n getElementDialog,\n getFixturesWithBlanks,\n getHistory,\n getHistoryTotals,\n getSeasonHistory,\n} from \"../core/store/elements/reducers\";\nimport {\n IElement,\n IElementFixture,\n IElementFixtureBlank,\n IElementHistory,\n} from \"../core/store/elements/types\";\nimport { getPlayerData, getWatched } from \"../core/store/player/reducers\";\nimport {\n addToWatchlist,\n removeFromWatchlist,\n} from \"../core/store/player/thunks\";\nimport { proposeElement } from \"../core/store/squad/thunks\";\nimport { getTeamsById } from \"../core/store/teams/reducers\";\nimport { formatRawAsLocalI18n } from \"../core/utils/datetime\";\nimport { integerToMoney } from \"../core/utils/money\";\nimport { dateLocales } from \"../i18n\";\nimport Alert from \"./Alert\";\nimport Button from \"./Button\";\nimport Dialog from \"./Dialog\";\nimport DialogHeading from \"./DialogHeading\";\nimport { getElementShirtPath } from \"./ElementShirt\";\nimport FixtureForElement from \"./FixtureForElement\";\nimport \"./OverflowScrolling.css\";\nimport Panel from \"./Panel\";\nimport SubHeading from \"./SubHeading\";\nimport Table from \"./Table\";\nimport TabPanel from \"./tabs/TabPanel\";\nimport Tabs from \"./tabs/Tabs\";\nimport Tooltip, { TooltipLabel } from \"./Tooltip\";\n\nconst ElementHeaderWrap = styled.div`\n flex: 0 0 calc(90% - 0.5rem);\n order: 1;\n padding: ${({ theme }) => `${theme.space[2]} 0 `};\n`;\n\nconst ButtonWrap = styled.div`\n flex: 0 0 100%;\n order: 3;\n padding: ${({ theme }) => `${theme.space[2]} 0 `};\n background-color: ${({ theme }) => theme.colors.white};\n`;\n\nconst Summary = styled.div`\n padding: ${({ theme }) => theme.space[3]};\n`;\n\nconst Card = styled.div`\n padding: 2px;\n background-color: white;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n }\n`;\n\nconst PlayerWrapper = styled.div`\n order: 0;\n width: 50%;\n padding: 30px;\n box-sizing: border-box;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: auto;\n padding: 15px;\n }\n`;\n\nconst BadgeWrapper = styled.div`\n width: 50%;\n order: 1;\n padding: 30px;\n box-sizing: border-box;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n order: 3;\n width: auto;\n padding: 10px;\n }\n`;\n\nconst CardInfo = styled.div`\n order: 3;\n width: 100%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex: 1 0 auto;\n order: 1;\n width: auto;\n }\n`;\nconst Img = styled.img`\n display: block;\n margin: auto;\n max-width: 120px;\n width: 100%;\n height: auto;\n`;\n\nconst ScrollTable = styled.div`\n overflow-x: auto;\n width: 100%;\n /* We're adding this in OverflowScrolling.css\n\t * because the property gets removed from the\n\t * styled component on test */\n /* -webkit-overflow-scrolling: touch; */\n`;\n\nconst HistoryTable = styled(Table)`\n white-space: nowrap;\n`;\n\nconst ElementHeader = styled.div`\n display: flex;\n align-content: center;\n justify-content: space-between;\n line-height: 1;\n`;\n\nconst ElementMoney = styled.span`\n margin: auto 0;\n color: ${({ theme }) => theme.colors.primary};\n font-size: 18px;\n font-weight: bold;\n font-family: ${({ theme }) => theme.fonts.impact};\n line-height: 1;\n`;\n\nconst ElementInfo = styled.ul`\n margin: 0;\n padding: 0;\n list-style-type: none;\n`;\n\nconst ElementInfoItem = styled.li`\n display: flex;\n align-items: center;\n justify-content: space-between;\n color: white;\n border-bottom: 1px solid #f2f2f2;\n`;\n\nconst ElementInfoHeading = styled.h3`\n margin: 0;\n padding: 10px;\n width: 50%;\n font-size: 14px;\n line-height: 1;\n color: #242424;\n`;\n\nconst ElementInfoValue = styled.div`\n padding: 10px;\n width: 50%;\n font-size: 14px;\n line-height: 1;\n color: ${({ theme }) => theme.colors.primary};\n`;\n\nconst TablesWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: ${({ theme }) => theme.space[3]};\n margin-top: ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex-direction: row;\n > div {\n flex: 1;\n }\n }\n`;\n\nconst NoData = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1 0 auto;\n min-height: 108px;\n background-color: #efefef;\n text-align: center;\n`;\n\nconst TdBold = styled.td`\n font-weight: 800;\n color: ${({ theme }) => theme.colors.black};\n`;\n\ninterface IElementFixtureFPL extends IElementFixture {\n difficulty: number;\n}\n\ninterface IOwnProps {\n element: IElement;\n}\n\ntype Props = IOwnProps & WithTranslation;\n\nconst ElementDialog: React.FC = ({ element, i18n, t }) => {\n const [added, setAdded] = React.useState(false);\n\n const dispatch = useDispatch();\n\n const elementTypesById = useSelector(getElementTypesById);\n const fixtures = useSelector(\n (state: RootState) =>\n getFixturesWithBlanks(state, element.id) as Array<\n IElementFixtureFPL | IElementFixtureBlank\n >\n );\n const history = useSelector((state: RootState) =>\n getHistory(state, element.id)\n );\n const historyTotals = useSelector((state: RootState) =>\n getHistoryTotals(state, element.id)\n );\n const player = useSelector(getPlayerData);\n const seasonHistory = useSelector((state: RootState) =>\n getSeasonHistory(state, element.id).slice().reverse()\n );\n const stats = useSelector(getElementStats);\n const teamsById = useSelector(getTeamsById);\n const watched = useSelector(getWatched);\n\n const addToWatched = (elementCode: number) =>\n dispatch(addToWatchlist(elementCode));\n const closeDialog = useCallback(\n () => dispatch(elementDialogHide()),\n [dispatch]\n );\n const removeFromWatched = (elementCode: number) =>\n dispatch(removeFromWatchlist(elementCode));\n\n useEffect(() => {\n return () => {\n closeDialog();\n };\n }, [closeDialog]);\n\n const addElement = (elementId: number) => {\n dispatch(proposeElement(elementId));\n closeDialog();\n };\n\n const renderWatchlistButton = () => {\n if (!player || !player.entry) {\n return null;\n }\n const inWatched = watched.indexOf(element.code) > -1;\n if (inWatched) {\n return added ? (\n

\n {t(\n \"elementDialog.watchlist.view\",\n \"View your watchlist on the transfers page\"\n )}\n

\n ) : (\n {\n removeFromWatched(element.code);\n }}\n width={1}\n >\n {t(\"elementDialog.watchlist.remove\", \"Remove from Watchlist\")}\n \n );\n }\n return (\n {\n setAdded(true);\n addToWatched(element.code);\n }}\n width={1}\n >\n {t(\"elementDialog.watchlist.add\", \"Add to Watchlist\")}\n \n );\n };\n\n // Only get the last three in the history\n const lastThreeHistory = history.slice(-3);\n const firstThreeFixtures = fixtures.slice(0, 3);\n // Element info\n const elementType = elementTypesById[element.element_type];\n const elementFullname = `${element.first_name} ${element.second_name}`;\n const elementCost = `${integerToMoney(element.now_cost, 10)}M SAR`;\n\n return (\n \n \n \n \n {elementFullname}\n {elementCost}\n \n \n\n \n addElement(element.id)}\n >\n {t(\"elementDialog.addPlayerCTA\", \"Add player\")}\n \n \n \n \n {element.news && (\n \n {element.news}\n \n )}\n \n \n \n \n \n \n {\n e.currentTarget.src = `${getElementShirtPath(\n element.element_type,\n teamsById[element.team].code,\n \"standard\"\n )}-110.png`;\n }}\n />\n \n \n {\n e.currentTarget.src = `${getElementShirtPath(\n element.element_type,\n teamsById[element.team].code,\n \"standard\"\n )}-110.png`;\n }}\n />\n \n \n \n \n \n {t(\"elementDialog.tabs.summary.position\", \"Position\")}\n :\n \n \n {elementType.singular_name}\n \n \n \n \n {t(\"elementDialog.tabs.summary.value\", \"Value\")}:\n \n {elementCost}\n \n \n \n {t(\n \"elementDialog.tabs.summary.selectedBy\",\n \"Selected by\"\n )}\n :\n \n \n {element.selected_by_percent}%\n \n \n \n \n {t(\n \"elementDialog.tabs.summary.totalScore\",\n \"Total score\"\n )}\n :\n \n \n {element.total_points}\n \n \n \n \n \n\n \n \n \n {lastThreeHistory.length === 0 ? (\n \n {t(\n \"elementDialog.tabs.summary.recentMatches.noData\",\n \"No recent matches\"\n )}\n \n ) : (\n \n \n \n \n \n \n \n \n \n {lastThreeHistory.map((h: IElementHistory) => {\n return (\n \n {h.round}\n \n {teamsById[h.opponent_team].short_name} (\n {h.was_home\n ? t(\n \"elementDialog.tabs.history.homeShort\",\n \"H\"\n )\n : t(\n \"elementDialog.tabs.history.awayShort\",\n \"A\"\n )}\n ){\" \"}\n {h.team_h_score !== null &&\n `${h.team_h_score} - ${h.team_a_score}`}\n \n {h.total_points}\n \n );\n })}\n \n
\n \n \n {t(\n \"elementDialog.tabs.summary.recentMatches.roundLabel\",\n \"RD\"\n )}\n \n \n \n {t(\n \"elementDialog.tabs.summary.recentMatches.opponent\",\n \"Opponent\"\n )}\n \n {t(\n \"elementDialog.tabs.summary.recentMatches.points\",\n \"Points\"\n )}\n
\n )}\n
\n \n \n {firstThreeFixtures.length === 0 ? (\n \n {t(\n \"elementDialog.tabs.summary.upcoming.noData\",\n \"No upcoming matches\"\n )}\n \n ) : (\n \n \n \n \n \n \n \n \n \n {firstThreeFixtures.map((fixture) =>\n fixture.code ? (\n \n {fixture.event}\n \n \n \n \n {fixture.kickoff_time ? (\n \n ) : (\n \n \n \n {t(\n \"elementDialog.tabs.summary.upcoming.tbcShort\",\n \"TBC\"\n )}\n \n \n \n )}\n \n \n ) : (\n \n {fixture.event}\n \n {t(\n \"elementDialog.tabs.summary.upcoming.none\",\n \"None\"\n )}\n \n \n \n )\n )}\n \n
\n \n \n {t(\n \"elementDialog.tabs.summary.upcoming.roundLabel\",\n \"RD\"\n )}\n \n \n \n {t(\n \"elementDialog.tabs.summary.upcoming.opponent\",\n \"Opponent\"\n )}\n \n {t(\n \"elementDialog.tabs.summary.upcoming.date\",\n \"Date\"\n )}\n
\n )}\n
\n
\n
\n \n\n \n \n {history.length ? (\n \n \n \n \n \n \n \n {t(\"elementDialog.tabs.history.roundShort\", \"RD\")}\n \n \n {t(\n \"elementDialog.tabs.history.opponentShort\",\n \"OPP\"\n )}\n \n \n {t(\n \"elementDialog.tabs.history.pointsShort\",\n \"PTS\"\n )}\n \n {stats.map((s) => (\n \n \n {s.label\n .split(\" \")\n .map((w) => w[0])\n .join(\"\")\n .toUpperCase()}\n \n \n ))}\n \n {t(\n \"elementDialog.tabs.history.netTransfersShort\",\n \"NT\"\n )}\n \n \n {t(\n \"elementDialog.tabs.history.selectedByShort\",\n \"SB\"\n )}\n \n M SAR\n \n \n \n {history.map((h) => (\n \n {h.round}\n \n {teamsById[h.opponent_team].short_name} (\n {h.was_home\n ? t(\n \"elementDialog.tabs.history.homeShort\",\n \"H\"\n )\n : t(\n \"elementDialog.tabs.history.awayShort\",\n \"A\"\n )}\n ){\" \"}\n {h.team_h_score !== null &&\n `${h.team_h_score} - ${h.team_a_score}`}\n \n {h.total_points}\n {stats.map((s) => (\n {h[s.name]}\n ))}\n {h.transfers_balance}\n {h.selected}\n M SAR{integerToMoney(h.value, 10)}\n \n ))}\n \n \n {t(\"elementDialog.tabs.history.totals\", \"Totals\")}\n \n {historyTotals.total_points}\n {stats.map((s) => (\n {historyTotals[s.name]}\n ))}\n  \n  \n  \n \n \n \n \n \n ) : (\n \n

\n {t(\n \"elementDialog.tabs.history.noData\",\n \"Data will appear here once the season is underway.\"\n )}\n

\n
\n )}\n
\n\n {seasonHistory && seasonHistory.length > 0 && (\n <>\n \n \n {t(\n \"elementDialog.tabs.history.previousSeasons\",\n \"Previous Seasons\"\n )}\n \n \n \n \n \n \n \n \n {t(\"elementDialog.tabs.history.season\", \"Season\")}\n \n \n \n TP\n \n \n {stats.map((s) => (\n \n \n \n {s.label\n .split(\" \")\n .map((w) => w[0])\n .join(\"\")\n .toUpperCase()}\n \n \n \n ))}\n \n \n M SARS\n \n \n \n \n M SARE\n \n \n \n \n \n {seasonHistory.map((h) => (\n \n {h.season_name}\n {h.total_points}\n {stats.map((s) => (\n {h[s.name]}\n ))}\n M SAR{integerToMoney(h.start_cost, 10)}\n M SAR{integerToMoney(h.end_cost, 10)}\n \n ))}\n \n \n \n \n \n )}\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n {fixtures.map((fixture) =>\n fixture.code ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n )\n )}\n \n
{t(\"elementDialog.tabs.schedule.date\", \"Date\")}\n {t(\"elementDialog.tabs.schedule.roundShort\", \"RD\")}\n \n {t(\n \"elementDialog.tabs.schedule.opponent\",\n \"Opponent\"\n )}\n
\n {fixture.kickoff_time ? (\n \n ) : (\n \n \n \n {t(\n \"elementDialog.tabs.schedule.tbcShort\",\n \"TBC\"\n )}\n \n \n \n )}\n {fixture.event}\n \n
 {fixture.event}\n {t(\"elementDialog.tabs.schedule.none\", \"None\")}\n
\n
\n
\n \n
\n
\n \n {renderWatchlistButton()}\n \n
\n
\n );\n};\n\nexport { ElementDialog as ElementDialogTest };\n\nconst ConnectedDialog = withTranslation()(ElementDialog);\n\n/* tslint:disable:max-classes-per-file */\ninterface IContainerProps {\n element: IElement | undefined;\n}\n\nconst ElementDialogContainer: React.FC = ({ element }) => {\n return element ? : null;\n};\n\nexport default connect((state: RootState): IContainerProps => {\n const elementId = getElementDialog(state);\n return {\n element: getElement(state, elementId),\n };\n})(ElementDialogContainer);\n","var _g, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgLogoFooter(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 135,\n height: 144,\n viewBox: \"0 0 135 144\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"SPL Logo\",\n clipPath: \"url(#clip0_1598_3629)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M66.647 38.6115C57.1391 44.0735 47.7588 49.4607 38.2718 54.9102C36.6891 52.6844 35.1624 50.5376 33.4519 48.1333C39.769 39.3396 47.6844 32.1211 56.4711 25.6238C59.8669 29.9563 63.198 34.2084 66.6484 38.6101L66.647 38.6115Z\",\n fill: \"#6699CC\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_2\",\n d: \"M96.0536 54.7843C86.5512 49.3791 77.0783 43.9877 67.6237 38.6088C68.7195 36.2059 69.7986 33.8361 70.9913 31.2214C81.8463 32.1641 92.1261 35.2715 102.277 39.4254C100.156 44.6562 98.1135 49.7002 96.0536 54.7843Z\",\n fill: \"#6699CC\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_3\",\n d: \"M67.4356 104.93C77.0446 99.4516 86.547 94.0325 96.163 88.5498C97.7823 90.7811 99.3903 92.9958 101.066 95.306C94.6392 104.188 87.003 111.772 77.9272 118.15C74.4263 113.74 70.9646 109.379 67.4342 104.93H67.4356Z\",\n fill: \"#FF3233\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_4\",\n d: \"M66.9866 104.951C65.7925 107.51 64.6531 109.952 63.4043 112.626C52.451 111.472 42.0099 108.501 31.8298 104.138C34.0076 98.8454 36.1067 93.7419 38.2368 88.5637C47.8444 94.0395 57.3818 99.4766 66.9852 104.951H66.9866Z\",\n fill: \"#FF3233\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_5\",\n d: \"M96.5854 55.5637C99.2964 55.3297 101.944 55.1014 104.644 54.8674C109.21 64.6729 111.939 74.8715 113.034 85.5851C107.575 86.3478 102.085 87.116 96.5911 87.88C96.5868 77.1693 96.5869 66.4613 96.5869 55.5623L96.5854 55.5637Z\",\n fill: \"#FF9933\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_6\",\n d: \"M21.0969 57.7755C26.7251 57.017 32.2466 56.2723 37.865 55.5151V88.1941C35.1723 88.4447 32.4571 88.698 29.676 88.9568C25.0651 79.0392 22.1956 68.7243 21.0983 57.7755H21.0969Z\",\n fill: \"#66CC33\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_7\",\n d: \"M49.0343 130.182C48.741 126.04 48.466 122.148 48.184 118.171C59.2411 119.096 70.2013 120.012 81.2037 120.933V124.056C70.8973 127.876 60.2191 129.944 49.0343 130.181V130.182Z\",\n fill: \"#FF3233\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_8\",\n d: \"M7.05383 85.4023C10.4145 83.1364 13.7358 80.8955 17.102 78.624C21.8953 88.5181 26.6493 98.3333 31.437 108.215C30.5544 108.717 29.6956 109.207 28.7948 109.72C20.1329 102.848 12.8532 94.83 7.05383 85.4023Z\",\n fill: \"#66CC33\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_9\",\n d: \"M109.548 116.389C105.852 114.621 102.345 112.945 98.8389 111.267C105.044 102.39 111.228 93.5455 117.483 84.5981C118.238 85.0148 118.966 85.4176 119.999 85.9879C118.206 96.6308 114.623 106.737 109.547 116.387L109.548 116.389Z\",\n fill: \"#FF9933\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_10\",\n d: \"M117.789 64.5995C113.076 54.8826 108.345 45.1325 103.601 35.3505C104.471 34.8577 105.205 34.4411 106.026 33.9746C114.656 40.7322 121.763 48.7728 127.513 58.0634C124.241 60.2629 121.058 62.4014 117.789 64.5995Z\",\n fill: \"#FF9933\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_11\",\n d: \"M14.5272 57.3865C16.3514 46.5719 20.0754 36.466 25.2812 26.7588C29.0404 28.579 32.6087 30.3078 36.271 32.0809C29.9188 41.0532 23.6058 49.9687 17.2396 58.9603C16.3949 58.4703 15.5824 57.9983 14.5272 57.3865Z\",\n fill: \"#66CC33\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_12\",\n d: \"M85.273 13.5387C85.5817 17.3231 85.8833 21.023 86.2075 24.9983C75.271 24.226 64.4385 23.4605 53.568 22.6923V19.935C63.7018 16.0275 74.1976 13.8889 85.273 13.5374V13.5387Z\",\n fill: \"#6699CC\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_13\",\n d: \"M2.77266 81.0159H1.39894C0.308663 70.6872 -0.245595 60.3668 0.105201 49.8969C1.67817 49.4387 3.21466 48.9916 4.97565 48.4795C4.23618 59.4062 3.50652 70.1848 2.77406 81.0173L2.77266 81.0159Z\",\n fill: \"#66CC33\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_14\",\n d: \"M43.6895 131.621C43.4973 131.886 43.3036 132.15 43.0805 132.457C33.4519 128.453 24.1965 123.707 15.1642 118.353C15.5304 116.873 15.9051 115.361 16.2769 113.862C25.3667 119.756 34.5183 125.693 43.6909 131.621H43.6895Z\",\n fill: \"#FF9933\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_15\",\n d: \"M26.603 21.722C26.4402 21.4092 26.2761 21.0936 26.1301 20.8126C34.5408 14.5575 43.3051 8.94049 52.4777 3.91455C53.648 4.98867 54.7972 6.04341 55.8973 7.05386C46.1901 11.9151 36.4548 16.7888 26.603 21.722Z\",\n fill: \"#6699CC\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_16\",\n d: \"M119.901 25.0895C119.481 26.7657 119.099 28.2883 118.695 29.8995C109.408 23.8465 100.248 17.8765 91.0414 11.8748C91.2911 11.49 91.5044 11.1619 91.7542 10.7771C101.495 14.8673 110.822 19.6621 119.901 25.0895Z\",\n fill: \"#66CC33\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_17\",\n d: \"M78.278 136.678C88.2869 131.808 98.1036 127.033 107.999 122.219C108.221 122.613 108.411 122.951 108.643 123.362C100.151 129.595 91.242 135.112 81.9221 140.115C80.7097 138.971 79.5128 137.843 78.2766 136.678H78.278Z\",\n fill: \"#FF3233\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_18\",\n d: \"M134.54 93.191C133.093 93.6311 131.762 94.0367 130.086 94.5475C130.716 83.6955 131.334 73.0401 131.957 62.2989C132.239 62.2851 132.55 62.2699 132.967 62.2505C134.151 72.5543 134.526 82.8332 134.539 93.191H134.54Z\",\n fill: \"#FF9933\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_19\",\n d: \"M3.80688 106.871C4.2994 106.349 4.86769 105.747 5.37284 105.213C6.00147 105.78 6.59642 106.316 7.27977 106.933C6.59221 107.456 5.95235 107.945 5.30128 108.441C4.97153 108.095 4.4285 107.524 3.80688 106.872V106.871Z\",\n fill: \"#FF9933\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_20\",\n d: \"M5.42046 38.5867C4.7764 37.9527 4.17584 37.3617 3.61316 36.808C4.246 36.1118 4.85498 35.4446 5.50185 34.7332C6.16555 35.4626 6.73104 36.0827 7.35124 36.7637C6.72683 37.352 6.11925 37.9264 5.41906 38.5867H5.42046Z\",\n fill: \"#66CC33\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_21\",\n d: \"M128.742 38.5409C128.223 37.9873 127.622 37.345 126.984 36.6654C127.585 36.1145 128.224 35.5248 128.929 34.8784C129.484 35.5027 130.064 36.1519 130.719 36.8855C130.085 37.417 129.476 37.9264 128.742 38.5409Z\",\n fill: \"#66CC33\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_22\",\n d: \"M67.3136 140.225C67.9576 140.898 68.5386 141.504 69.1447 142.138C68.5077 142.724 67.8636 143.316 67.1199 144.001C66.525 143.38 65.9553 142.783 65.3267 142.126C65.9707 141.51 66.5937 140.915 67.3136 140.225Z\",\n fill: \"#FF3233\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_23\",\n d: \"M68.9848 1.59327C68.307 2.17739 67.6784 2.71999 67.0891 3.22798C66.5615 2.63832 66.0563 2.07358 65.4628 1.41056C66.0858 0.919174 66.6906 0.443017 67.2504 0.00146484C67.7093 0.423639 68.3365 0.999456 68.9848 1.59465V1.59327Z\",\n fill: \"#6699CC\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_24\",\n d: \"M127.266 106.865C127.823 106.35 128.38 105.835 128.957 105.304C129.507 105.858 130.019 106.373 130.646 107.004C130.036 107.46 129.418 107.92 128.787 108.392C128.424 108.022 127.855 107.444 127.267 106.865H127.266Z\",\n fill: \"#FF9933\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_25\",\n d: \"M57.6793 61.9114C57.8547 61.9114 58.0287 61.9114 58.2041 61.9114C61.6826 61.9155 65.1625 61.8698 68.641 61.9391C71.6943 62 73.7837 63.7288 74.4628 66.5843C74.9848 68.7727 74.6074 70.8462 73.1452 72.647C72.1855 73.8291 70.8917 74.4119 69.3889 74.5724C67.9507 74.7275 66.5054 74.6887 65.0615 74.6928C64.9717 74.6928 64.8777 74.6665 64.7654 74.7247V81.3646H61.1045V65.0064C60.9852 64.915 60.8618 64.9566 60.7467 64.9566C60.2865 64.9566 59.8234 64.9801 59.3702 64.8887C58.4904 64.7129 57.8449 64.0125 57.6695 63.0713C57.553 62.447 57.5502 62.2159 57.6779 61.91L57.6793 61.9114ZM64.8131 71.5688C64.8552 71.5743 64.8987 71.5868 64.9436 71.5868C66.0016 71.5868 67.0624 71.631 68.1162 71.5757C69.2991 71.5134 70.2042 70.9708 70.6392 69.8358C70.9128 69.1229 70.9577 68.3755 70.8777 67.6183C70.7177 66.1234 69.7369 65.142 68.2313 65.0133C67.1859 64.9233 66.1349 64.9621 65.0868 64.9801C64.9984 64.9815 64.9029 64.9829 64.8117 65.0673V71.5688H64.8131Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_26\",\n d: \"M43.7949 79.085C44.4979 78.2392 45.17 77.4309 45.8547 76.6059C46.0778 76.7914 46.2757 76.9644 46.4834 77.125C47.3449 77.7935 48.2359 78.4137 49.3262 78.6739C50.3688 78.9216 51.3987 78.9715 52.3809 78.4358C53.6677 77.734 54.0297 76.0329 52.6854 75.0196C52.1438 74.6113 51.5629 74.268 50.9525 73.9718C49.9492 73.4846 48.9319 73.0237 47.9469 72.506C46.8734 71.9412 45.8477 71.2921 45.1405 70.2788C43.3304 67.6891 44.3 64.5871 46.5633 63.1102C47.7013 62.3683 48.953 61.971 50.3169 61.935C52.1929 61.8852 54.0704 61.9032 55.9478 61.9129C56.0461 61.9129 56.1527 61.8977 56.2734 61.989C56.4081 62.3323 56.352 62.7074 56.2565 63.0742C55.9829 64.1317 55.1508 65.1699 53.5386 65.174C52.5269 65.1768 51.5138 65.1671 50.5021 65.1851C49.8173 65.1975 49.1845 65.383 48.6316 65.8066C47.4516 66.7104 47.836 68.2289 48.7228 68.7881C49.6798 69.3916 50.7069 69.8373 51.7355 70.2885C52.7416 70.7301 53.728 71.2145 54.6485 71.8097C56.4811 72.996 57.3454 74.6778 57.1714 76.8315C57.003 78.9009 55.9521 80.4262 54.0479 81.3204C52.6461 81.9793 51.1518 82.2423 49.5956 82.0222C47.6901 81.7509 45.9684 81.0685 44.5287 79.7798C44.2804 79.557 44.0432 79.3217 43.7935 79.085H43.7949Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_27\",\n d: \"M74.7602 61.9681C74.8669 61.8961 74.9904 61.9183 75.1068 61.9183C76.7359 61.9169 78.365 61.9155 79.9941 61.921C80.1864 61.921 80.38 61.9446 80.5694 61.9778C81.2668 62.0968 81.7004 62.5342 81.7958 63.2208C81.8267 63.4436 81.8435 63.672 81.8449 63.8976C81.8533 68.3242 81.8575 72.7508 81.8632 77.1774C81.8632 77.421 81.8561 77.666 81.9024 77.9083C81.9502 78.1574 82.068 78.3111 82.3515 78.3374C82.5535 78.3553 82.7542 78.3678 82.9562 78.3678C84.1251 78.3678 85.2939 78.3678 86.4628 78.3678C87.323 78.3678 87.4212 78.2695 87.4254 77.4127C87.4268 77.1525 87.4254 76.8923 87.4254 76.6113H90.6892C90.7046 76.7276 90.7355 76.8424 90.7341 76.9573C90.7243 77.9069 90.779 78.8592 90.7046 79.8073C90.6176 80.9119 90.1321 81.3632 89.0012 81.4199C88.8089 81.4296 88.6153 81.431 88.4216 81.431C85.7893 81.431 83.1569 81.431 80.5245 81.4282C80.2116 81.4282 79.9001 81.4282 79.5886 81.3798C78.7635 81.2524 78.3973 80.905 78.2766 80.0842C78.2359 79.8073 78.2079 79.5291 78.2079 79.2468C78.2121 74.8838 78.2107 70.5195 78.2107 66.1566C78.2107 65.9033 78.2023 65.6514 78.17 65.3981C78.1377 65.1475 78.0016 65.0313 77.7588 65.0091C77.401 64.9773 77.0404 64.9704 76.6882 64.9081C75.1601 64.6382 74.4614 63.1986 74.7602 61.9695V61.9681Z\",\n fill: \"white\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1598_3629\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 134.54,\n height: 144,\n fill: \"white\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogoFooter);\nexport default __webpack_public_path__ + \"static/media/logo-footer.94ca42a3.svg\";\nexport { ForwardRef as ReactComponent };","export default __webpack_public_path__ + \"static/media/facebook.416f169a.svg\";","export default __webpack_public_path__ + \"static/media/instagram.cb832fb5.svg\";","export default __webpack_public_path__ + \"static/media/linkedin.27ffd3f1.svg\";","export default __webpack_public_path__ + \"static/media/snapchat.409d651e.svg\";","export default __webpack_public_path__ + \"static/media/tiktok.3cdbec41.svg\";","export default __webpack_public_path__ + \"static/media/x.dea6a3d3.svg\";","export default __webpack_public_path__ + \"static/media/youtube.0b55ece7.svg\";","import { size } from \"polished\";\nimport { useTranslation } from \"react-i18next\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport Facebook from \"../img/icons/social/facebook.svg\";\nimport Instagram from \"../img/icons/social/instagram.svg\";\nimport LinkedIn from \"../img/icons/social/linkedin.svg\";\nimport SnapChat from \"../img/icons/social/snapchat.svg\";\nimport TikTok from \"../img/icons/social/tiktok.svg\";\nimport X from \"../img/icons/social/x.svg\";\nimport YouTube from \"../img/icons/social/youtube.svg\";\nimport { ReactComponent as FooterLogo } from \"../img/logo-footer.svg\";\n\nconst StyledFooter = styled.footer`\n padding-top: ${({ theme }) => theme.space[6]};\n padding-bottom: ${({ theme }) => theme.space[0]};\n background-color: ${({ theme }) => theme.colors.blueDarker4};\n font-family: ${({ theme }) => theme.fonts.light};\n font-size: ${({ theme }) => theme.fontSizes[2]};\n font-weight: 600;\n`;\n\nconst Inner = styled.div`\n display: flex;\n flex-direction: column;\n max-width: 1220px;\n margin: 0 auto;\n padding: 0 ${({ theme }) => theme.space[6]};\n`;\n\nconst StyledBox = styled(Box)`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n margin-inline-start: 0;\n }\n`;\n\nconst Logo = styled(FooterLogo)`\n ${size(135)}\n`;\n\nconst ContentWrapper = styled.div`\n display: flex;\n flex-direction: column-reverse;\n justify-content: center;\n align-items: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n flex-direction: row;\n justify-content: space-between;\n }\n`;\n\nconst Copyright = styled.div`\n color: ${({ theme }) => theme.colors.greyLight2};\n text-align: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n text-align: start;\n }\n`;\n\nconst SocialIconsWrapper = styled.ul`\n display: flex;\n justify-content: center;\n align-items: center;\n gap: ${({ theme }) => theme.space[4]};\n padding: 0;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n justify-content: start;\n gap: ${({ theme }) => theme.space[6]};\n }\n\n > li {\n list-style: none;\n }\n`;\n\nconst SocialIcon = styled.img`\n width: 2.6rem;\n height: 2.6rem;\n cursor: pointer;\n`;\n\nconst SocialMedia = [\n {\n name: \"Facebook\",\n icon: Facebook,\n link: \"https://www.facebook.com/spl/\",\n },\n {\n name: \"Instagram\",\n icon: Instagram,\n link: \"https://www.instagram.com/spl_en/\",\n },\n {\n name: \"X\",\n icon: X,\n link: \"https://twitter.com/SPL_EN\",\n },\n {\n name: \"TikTok\",\n icon: TikTok,\n link: \"https://www.tiktok.com/@spl\",\n },\n {\n name: \"Youtube\",\n icon: YouTube,\n link: \"https://www.youtube.com/@-saudiproleague\",\n },\n {\n name: \"Snapchat\",\n icon: SnapChat,\n link: \"https://www.snapchat.com/add/spl\",\n },\n {\n name: \"Linkedin\",\n icon: LinkedIn,\n link: \"https://www.linkedin.com/company/saudi-pro-league/\",\n },\n];\n\nconst Footer = () => {\n const { t } = useTranslation();\n\n return (\n \n \n \n \n \n \n \n

\n {t(\n \"footer.copyright\",\n \"All rights are reserved Saudi Pro League Portal © 2025\"\n )}\n

\n
\n \n {SocialMedia.map((item, name) => (\n
  • \n \n \n \n
  • \n ))}\n
    \n
    \n
    \n
    \n );\n};\n\nexport default Footer;\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgFantasyLogo(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 248,\n height: 41,\n viewBox: \"0 0 248 41\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.979492 40.26V1.62H28.6295V8.37999H9.31949V19.07H26.5795L27.4795 25.83H9.31949V40.27H0.979492V40.26Z\",\n fill: \"#A4FF01\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.2893 40.77L56.1593 32.48H38.9593L36.0593 40.27H27.4893L42.8093 1.79997L52.6293 0.839966L67.5693 39.77L59.2893 40.79V40.77ZM41.5193 25.7H53.6793L47.6593 9.43997L41.5193 25.7Z\",\n fill: \"#A4FF01\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.3986 14.11V40.26H70.8486V1.60999H79.0186L98.1586 27.35V2.06998L105.709 1.10999V40.27H97.5986L78.4086 14.12V14.1L78.3986 14.11Z\",\n fill: \"#A4FF01\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M121.37 40.26V8.36999H109.21V1.60999H141.79L140.83 8.36999H129.65V40.26H121.37Z\",\n fill: \"#A4FF01\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M168.709 40.77L165.589 32.48H148.389L145.489 40.27H136.919L152.239 1.79997L162.059 0.839966L176.999 39.77L168.719 40.79V40.77H168.709ZM150.939 25.7H163.099L157.079 9.43997L150.939 25.7Z\",\n fill: \"#A4FF01\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M179.159 30.4299C181.059 31.5999 183.229 32.4999 185.659 33.1399C188.099 33.7699 190.359 34.0799 192.449 34.0799C197.469 34.0799 199.999 32.6399 199.999 29.7599C199.999 28.8599 199.619 28.05 198.869 27.34C198.099 26.65 197.139 26.0499 195.959 25.6099C194.769 25.1699 193.429 24.7099 191.949 24.2499C190.469 23.7899 189.019 23.2499 187.559 22.5999C186.099 21.9499 184.779 21.2199 183.589 20.3899C182.399 19.5699 181.419 18.4299 180.679 17.0099C179.929 15.5899 179.549 13.9599 179.549 12.0899C179.549 8.38995 180.869 5.61995 183.499 3.79995C186.129 1.97995 189.439 1.06995 193.469 1.06995C198.009 1.06995 202.749 2.06995 207.659 4.07995L206.759 11.4099C202.409 9.02995 198.359 7.81995 194.599 7.81995C192.509 7.81995 190.899 8.08995 189.749 8.60995C188.599 9.14995 188.019 10.1599 188.019 11.6799C188.019 12.8499 188.729 13.8299 190.149 14.6399C191.569 15.4299 193.269 16.1199 195.289 16.7099C197.299 17.3099 199.299 17.9999 201.309 18.8199C203.319 19.6299 205.029 20.8899 206.449 22.5999C207.869 24.3099 208.579 26.4199 208.579 28.9699C208.579 33.0199 207.139 36.01 204.269 37.95C201.389 39.89 197.849 40.8499 193.649 40.8499C188.279 40.8499 183.469 39.85 179.229 37.84V30.45L179.169 30.41L179.159 30.4299Z\",\n fill: \"#A4FF01\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M232.709 28.22V40.28H224.369V28.11L210.239 2.07999L218.579 1.12L228.739 20.34L238.669 1.63999H247.469L232.709 28.25V28.23V28.22Z\",\n fill: \"#A4FF01\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFantasyLogo);\nexport default __webpack_public_path__ + \"static/media/fantasy-logo.468d5551.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGb(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 1200 700.14\",\n style: {\n enableBackground: \"new 0 0 1200 700.14\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{clip-path:url(#SVGID_00000118397977001958196810000014754366941194579116_);fill:#FFFFFF;}\\n\\t.st1{clip-path:url(#SVGID_00000118397977001958196810000014754366941194579116_);fill:#BD0034;}\\n\\t.st2{clip-path:url(#SVGID_00000118397977001958196810000014754366941194579116_);fill:#1A237B;}\\n\")), /*#__PURE__*/React.createElement(\"g\", {\n id: \"UNITED_KINGDOM_2_\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_1_\",\n y: 0.09,\n width: 1200,\n height: 699.96\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000135653306904161478690000002342409774254301374_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_1_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"rect\", {\n y: 0.09,\n style: {\n clipPath: \"url(#SVGID_00000135653306904161478690000002342409774254301374_)\",\n fill: \"#FFFFFF\"\n },\n width: 1200,\n height: 699.96\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000135653306904161478690000002342409774254301374_)\",\n fill: \"#BD0034\"\n },\n points: \" 803.49,253.16 1200,31.2 1200,0.09 1172.66,0.09 720.57,253.16 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000135653306904161478690000002342409774254301374_)\",\n fill: \"#BD0034\"\n },\n points: \" 784.78,461.02 1200,693.38 1200,646.94 867.74,461.02 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000135653306904161478690000002342409774254301374_)\",\n fill: \"#BD0034\"\n },\n points: \"0,53.37 355.2,253.16 438.2,253.16 0,6.9 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000135653306904161478690000002342409774254301374_)\",\n fill: \"#BD0034\"\n },\n points: \" 419.38,461.02 0,696 0,700.05 75.77,700.05 502.41,461.02 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000135653306904161478690000002342409774254301374_)\",\n fill: \"#1A237B\"\n },\n points: \" 1117.88,0.09 697.73,0.09 697.73,235.39 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000135653306904161478690000002342409774254301374_)\",\n fill: \"#1A237B\"\n },\n points: \"512.22,0.09 93.75,0.09 512.22,235.39 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000135653306904161478690000002342409774254301374_)\",\n fill: \"#1A237B\"\n },\n points: \"1200,253.16 1200,92.58 914.98,253.16 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000135653306904161478690000002342409774254301374_)\",\n fill: \"#1A237B\"\n },\n points: \"1200,619.88 1200,461.02 914.98,461.02 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000135653306904161478690000002342409774254301374_)\",\n fill: \"#1A237B\"\n },\n points: \" 117.49,700.05 512.22,700.05 512.22,478.86 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000135653306904161478690000002342409774254301374_)\",\n fill: \"#1A237B\"\n },\n points: \" 697.73,700.05 1093.71,700.05 697.73,478.86 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000135653306904161478690000002342409774254301374_)\",\n fill: \"#1A237B\"\n },\n points: \"0,461.02 0,627.04 294.94,461.02 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000135653306904161478690000002342409774254301374_)\",\n fill: \"#1A237B\"\n },\n points: \"0,253.16 294.94,253.16 0,86.89 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000135653306904161478690000002342409774254301374_)\",\n fill: \"#BD0034\"\n },\n points: \"549.34,0.09 549.34,294.74 0,294.74 0,419.53 549.34,419.53 549.34,700.05 660.62,700.05 660.62,419.53 1200,419.53 1200,294.74 660.62,294.74 660.62,0.09 \"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGb);\nexport default __webpack_public_path__ + \"static/media/gb.f61a7bc0.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _defs, _defs2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgSa(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 1200 700.14\",\n style: {\n enableBackground: \"new 0 0 1200 700.14\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{clip-path:url(#SVGID_00000008839000309777081210000005141548485698178950_);fill:#3D9635;}\\n\\t.st1{clip-path:url(#SVGID_00000008839000309777081210000005141548485698178950_);}\\n\\t.st2{clip-path:url(#SVGID_00000109751540130968578960000013716837184014241458_);fill:#FFFFFF;}\\n\")), /*#__PURE__*/React.createElement(\"g\", {\n id: \"SAUDI_ARABIA_4_\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_1_\",\n y: 0,\n width: 1200,\n height: 700.14\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000078027116581283042470000015984017213242322823_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_1_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"rect\", {\n y: 0,\n style: {\n clipPath: \"url(#SVGID_00000078027116581283042470000015984017213242322823_)\",\n fill: \"#3D9635\"\n },\n width: 1200,\n height: 700.14\n }), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n clipPath: \"url(#SVGID_00000078027116581283042470000015984017213242322823_)\"\n }\n }, _defs2 || (_defs2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000128464466212735763420000012288792360472178871_\",\n y: 0,\n width: 1200,\n height: 700.14\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000087408683142315920970000001158328128104936846_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000128464466212735763420000012288792360472178871_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M339.63,198.46 c-1.19,16.34-2.69,45.25,11.21,48.19c16.79,1.54,7.54-28.49,13.58-33.94c1.15-2.65,3.28-2.65,3.46,0.7v25.56 c-0.11,8.24,5.31,10.61,9.57,12.29c4.4-0.28,7.33-0.14,9.04,4.19c0.73,14.67,1.39,29.33,2.06,44c0,0,10.26,3.07,10.75-24.72 c0.45-16.34-3.25-29.89-1.08-33.1c0.07-3.07,4.02-3.35,6.84-1.68c4.4,3.07,6.35,6.84,13.16,5.31 c10.4-2.93,16.58-7.82,16.76-15.92c-0.59-7.54-1.43-15.22-4.68-22.76c0.45-1.4-2.06-4.89-1.54-6.29c1.85,2.94,4.64,2.65,5.27,0 c-1.71-5.86-4.47-11.31-8.91-13.83c-3.7-3.21-9.15-2.51-11.1,4.33c-0.8,7.54,2.86,16.9,8.55,24.44 c1.19,2.93,2.83,7.82,2.1,12.29c-3,1.54-5.97,0.98-8.48-1.67c0,0-8.34-6.29-8.34-7.54c2.23-14.11,0.52-15.78-0.7-19.69 c-0.84-5.31-3.46-7.13-5.48-10.62c-2.06-2.37-4.86-2.37-6.18,0c-3.66,6.29-1.99,19.83,0.67,25.98c1.85,5.59,4.82,9.08,3.46,9.08 c-1.15,3.21-3.49,2.38-5.2-1.25c-2.45-7.54-2.86-18.86-2.86-23.88c-0.77-6.29-1.61-19.69-5.73-23.18 c-2.51-3.35-6.28-1.68-7.61,1.54c-0.24,6.14-0.24,12.43,0.42,18.16c2.9,10.05,3.7,18.99,5.13,29.33c0.35,13.83-7.96,6-7.61-0.98 c1.96-8.8,1.36-22.9-0.28-26.39c-1.36-3.63-2.97-4.47-6.32-3.77c-2.66-0.28-9.39,7.12-11.28,19.41c0,0-1.64,6.28-2.3,12.01 c-0.98,6.29-5.13,10.75-8.03-0.98C345.36,214.52,343.86,193.57,339.63,198.46\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M385.3,265.5 c-14.84,7.4-29.23,14.11-43.82,21.09c0.59-9.92,20.88-27.8,34.67-28.07C385.16,258.8,382.86,262.01,385.3,265.5\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M441.13,173.04 c-0.84,0-1.74,0.56-2.79,0.84c-3.56,0.98-6.98,4.19-5.87,10.2c4.23,25.7,6.91,45.25,11.14,70.81c0.73,3.07-1.85,6.98-5.06,6.7 c-5.55-3.77-6.91-11.45-16.34-11.03c-6.84,0.14-14.63,7.54-15.64,14.66c-1.05,5.73-1.5,11.87,0,16.76 c4.85,5.86,10.68,5.17,15.64,3.91c4.12-1.68,7.58-5.87,9.04-4.89l0,0l0,0c0.91,1.68-0.14,15.08-19.52,25.28 c-11.97,5.31-21.44,6.7-26.57-3.07c-3.11-6.14,0.24-29.33-7.51-24.02c-23.08,59.49,53.98,67.88,62.61,2.51 c0.56-1.82,2.3-3.63,3.49-3.21c0.59,0.28,0.98,0.98,1.12,2.37c-1.78,59.08-59.57,62.99-69.38,44.55 c-2.51-4.47-3.21-14.11-3.46-19.97c-0.45-3.63-1.36-5.72-2.37-6.56c-2.34-1.67-5.48,2.94-6.18,10.89 c-0.98,6.43-0.7,8.24-0.7,14.25c3.07,46.93,77.52,26.82,89.66-11.87c5.94-19.97-0.14-34.91,1.88-36.87c0,0,0.04,0,0.11,0 c0,0,0,0,0.07,0h0.07c0.07,0,0.18-0.14,0.18-0.14c7.54,7.96,17.81,0.98,20.11-1.68c1.05-1.4,3.42-2.23,5.17-0.56 c5.73,4.19,15.85,2.23,17.95-5.03c1.19-7.13,2.24-14.53,2.52-22.21c-3.84,1.12-6.84,2.1-8.03,3.35c-0.28,0.28-0.53,0.7-0.6,1.12 c-0.28,1.95-0.59,4.19-0.94,6.28c0,0.14-0.14,0.42-0.18,0.56c-0.14,0.28-0.45,0.42-0.73,0.56c-1.33,0.84-3.56,0.28-3.77-1.68 c-1.74-7.96-9.08-9.22-13.55,3.35c-3.07,2.51-8.45,2.93-9.04-0.56c0.77-8.52-2.69-9.64-9.5-5.72 c-2.17-16.76-4.4-32.68-6.6-49.44c2.9,0,5.41,2.1,8.07-1.12c-2.83-8.8-8.76-26.68-12.12-28.35h-0.07 c-0.14-0.14-0.35-0.42-0.53-0.56c0,0-0.14,0-0.21-0.14c-0.07,0-0.14,0-0.21,0c-0.14-0.14-0.35-0.14-0.39-0.28 C441.76,173.04,441.45,172.9,441.13,173.04 M420.43,264.8c1.43-0.14,3.18,0.42,4.09,2.51c0.63,1.82,0,3.63-0.84,4.47l0,0 c0,0,0,0-0.07,0c-0.59,0.98-2.55,0.56-4.02,0.56c-1.78,0-2.62-0.42-3.63-1.82c-0.52-1.54,0.94-3.07,1.64-4.33c0,0,0,0,0.07,0 c0.07,0,0.14-0.28,0.24-0.42C418.51,265.36,419.38,264.94,420.43,264.8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M493.02,171.65 c-1.96,0.14-3.74,0.7-5.2,1.4c-3.81,3.77-4.72,9.5-1.75,13.27c2.94,1.26,5.87,4.33,3.88,5.87c-8.24,8.8-29.81,23.6-30.9,26.39 l0,0v0.14l0,0l0,0c0.07,0,0.07,0.14,0.07,0.14h0.07h0.04l0,0h0.07c1.12,0.84,14.56,0.84,16.1,0.14v-0.14h0.04l0,0 c4.64-1.68,26.6-26.82,26.6-26.82c-1.08-0.98-2.2-1.68-3.31-2.66c-1.22-0.98-1.12-2.1,0-3.07c5.41-3.21,3.73-10.2,0.9-13.41 C497.24,171.79,495.01,171.51,493.02,171.65 M492.01,179.33c1.36-0.14,2.93,1.25,3.73,2.93c0.88,1.82,0.42,3.63-0.91,4.05 c-1.4,0.28-3.18-0.98-4.09-2.79c-0.87-1.96-0.38-3.77,1.01-4.05C491.83,179.47,491.86,179.33,492.01,179.33\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M343.02,307.68 c-8.21,13.13-8.94,32.68-4.4,38.55c2.41,2.79,6.36,4.05,9.32,3.07c5.13-2.23,7.44-12.71,6.18-16.48 c-1.71-2.8-3.07-3.21-4.82-0.84c-3.59,7.26-5.13,2.23-5.44-1.96c-0.59-7.82,0.17-14.94,0.98-20.67 C345.74,303.63,344.83,305.3,343.02,307.68\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M694.48,286.73 c-7.89-17.18-18.92-34.08-22.41-40.5c-3.53-6.56-29.96-44.83-33.87-49.3c-8.62-10.2,13.97,4.33-2.86-16.06 c-6.35-5.45-6.74-5.73-12.15-10.2c-2.59-1.96-9.22-5.31-10.3,0.28c-0.63,5.17-0.31,7.96,0.56,12.15 c0.66,2.79,4.75,7.68,6.77,10.33c26.85,36.03,50.63,72.35,73.57,118.16C697.42,309.91,696.65,289.66,694.48,286.73\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M659.64,343.99 c-1.61,1.67,3.81,9.36,10.89,9.22c11.77-1.26,22.17-7.96,31.74-25.42c2.55-4.05,7.12-12.71,7.26-19.55 c0.84-39.53-1.99-70.25-7.92-98.89c-0.42-2.79-0.17-6,0.28-6.84c0.77-0.98,3.35,0,4.71-2.23c2.06-2.1-5.31-19.13-9.5-25.7 c-1.5-2.94-2.03-4.89-4.51,0.28c-2.59,4.33-4.37,11.87-4.12,18.71c5.62,38.83,7.33,73.05,11.07,111.87 c0.25,3.77-0.24,9.36-2.76,11.45C687.5,326.68,674.13,338.55,659.64,343.99\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M818.86,343.71 c-8.52,4.89-8.52,10.62-1.61,10.75c11.8-1.39,25.74-2.37,35.37-16.9c2.55-4.05,5.58-15.08,5.69-21.79 c0.91-39.53-0.49-78.21-6.39-106.84c-0.39-2.65-1.71-9.08-1.19-10.05c0.8-1.82,4.61,0.28,5.9-1.96 c2.1-1.96-9.85-17.46-14.11-24.02c-1.43-2.93-1.96-4.89-4.44,0.42c-2.65,4.19-3.49,11.87-2.44,18.58 c6.21,42.32,10.89,83.24,11.83,120.67c-0.49,3.63-0.7,5.58-2.37,9.91c-3.63,4.89-7.78,10.75-11.52,13.55 C829.68,338.82,821.51,341.62,818.86,343.71\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M825.14,305.87 c-0.14-9.92,0.28-18.44-0.14-25.84c-0.31-7.26-3.74-35.06-4.78-40.92c-1.15-6.01-2.34-14.95-3.94-22.07 c-0.59-2.79-1.99-11.73-1.47-12.57c0.63-1.96,3.35,0.14,4.57-2.23c1.99-2.1-6.67-24.58-11.14-31.01 c-1.54-2.93-4.47-1.96-7.96,2.8c-3.39,3.07-2.13,10.05-0.87,16.76c8.48,44.13,14.81,90.36,13.44,132.54 C812.36,326.81,825.28,312.57,825.14,305.87\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M762.71,251.12 c-5.34-0.14-16.51-10.34-19.76-16.34c-1.22-3.49-0.35-6.84,0.63-8.8c1.99-1.26,5.03-2.79,7.26-1.26c0,0,2.37,3.21,1.92,3.63 c2.9,1.39,4.15,0.56,4.47-0.7c0.18-1.96-0.91-3.21-0.91-5.45c1.22-6.29,8.31-7.12,11-3.21c1.95,2.37,2.69,7.4,2.97,10.89 c-0.07,1.81-2.9-0.28-4.51,0.14c-1.68,0.42-2.03,2.23-2.17,3.91C763.27,238.54,762.78,245.67,762.71,251.12\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M664.46,316.9 c1.5-13.55-0.49-40.92-0.63-48.88c-0.49-18.72-3.63-54.89-5.03-60.9c-1.68-11.45,4.64,1.26,3.74-5.45 c-2.03-11.31-8.31-19-15.75-29.47c-2.37-3.35-2.27-4.05-6.01,0.84c-4.05,9.22-0.52,15.64,0.49,22.9 c5.34,23.47,8.48,45.11,9.91,66.48c1.47,21.37,1.92,48.05,0.59,70.67C655.8,333.1,662.22,326.54,664.46,316.9\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M843.3,295.25 c-9.32-15.78-23.54-34.22-27.31-40.5c-3.81-6.29-35.83-53.21-39.84-57.4c-11.73-12.15,5.38-1.96-2.2-11.59 c-6.46-6.98-8.38-9.22-13.86-13.41c-2.72-1.68-4.43-5.17-5.34,0.56c-0.35,5.17-0.77,11.03-0.42,15.36c0,2.51,2.44,6.84,4.68,9.5 c28.25,34.92,59.29,77.52,84.15,122.21C846.72,318.29,845.5,298.04,843.3,295.25\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M729.68,481.14 h-0.07c-8.28,2.1-8.03,10.75-2.66,14.52c-87.67,0-222.2-1.39-250.94-1.39c-16.2,0-67.21-1.96-68.16-1.96 c10.89,15.92,26.78,19.14,47.49,19.55c38.97,0,219.31-0.42,270.56-0.42c-3.63,6.42,0.35,16.76,3.25,18.71 c0.07,0,0.14,0.14,0.21,0.14c0.11,0.14,0.18,0.14,0.31,0.14h0.14c3.42,0.84,4.92-1.68,6.11-3.35 c5.41,0.42,36.45,0.84,39.35-0.14l0,0c1.92,2.8,3.88,5.45,7.51,5.03c6.39-1.4,11.42-2.1,11.63-15.08c0,0-0.66-22.07-15.19-20.67 c-3.46,0.42-13.06,1.39-13.06,1.39c-11.17-1.25-19.41-1.39-31.95-1.96c1.19-1.39,3.17-7.4,0.7-9.5c-0.63-0.56-1.61-0.84-3-0.84 l0,0h-0.14l0,0h-0.1c-0.07,0-0.21-0.14-0.28-0.28c0,0-0.04,0-0.04-0.14c-0.63-0.7-1.01-3.07-1.4-3.77h-0.07l0,0h-0.14H729.68 L729.68,481.14 M735.61,512.71c0,0,0,0,0.07,0c12.71,0.56,24.72,0.14,37.57,0.7c2.02,1.82,0.98,5.73-0.35,6.42 c0,0.14-0.14,0.14-0.18,0.14h-0.14c-0.14,0-0.21,0-0.21,0c-4.16-0.14-6.53-0.14-10.69-0.28c0-0.28-0.14-0.42-0.14-0.7 c-1.01-2.93-8.1-2.65-9.81-0.28h-0.07l-0.07,0.14c-0.04,0-0.04,0.14-0.1,0.28c0,0,0,0.14,0,0.28c-0.07,0.14-0.07,0.28-0.07,0.42 c-5.62,0.56-10.65-0.14-16.34-0.56C733.52,517.32,733.69,513.69,735.61,512.71\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M507.89,185.05 c-8.52,24.3,4.92,51.12,14.21,48.6c6.74,2.65,10.96-10.19,13.75-24.16c1.92-3.91,3.32-4.33,4.29-2.37 c-0.28,18.72,1.33,22.91,6.11,28.49c10.72,8.24,19.59,1.12,20.22,0.28c0.7-0.56,8.35-8.24,8.35-8.24 c1.78-1.96,4.26-2.1,6.95-0.28c2.48,2.23,2.16,6.29,7.61,8.94c4.54,1.96,14.32,0.56,16.62-3.49c3.07-5.17,3.74-6.98,5.13-8.94 c2.23-2.93,5.9-1.68,5.9-0.7c-0.31,1.67-2.41,3.21-1.05,6.14c2.65,1.96,3.25,0.7,4.82,0.28c5.41-2.65,9.5-14.38,9.5-14.38 c0.18-4.47-2.23-4.05-3.91-3.07c-2.02,1.25-2.16,1.67-4.26,2.93c-2.62,0.28-7.79,2.1-10.27-1.82 c-2.65-4.75-2.65-11.45-4.68-16.2c0-0.28-3.42-7.4-0.21-7.96c1.57,0.28,4.99,1.26,5.58-1.67c1.71-2.8-3.63-10.89-7.26-14.81 c-3.21-3.49-7.61-3.91-11.8-0.42c-2.93,2.65-2.55,5.86-3.14,8.66c-0.73,3.35-0.52,7.4,2.83,11.73 c2.97,5.86,8.38,13.41,6.56,23.88c0,0-3.17,5.03-8.66,4.47c-2.24-0.56-6-1.54-8-16.06c-1.43-11.17,0.42-26.82-4.33-33.94 c-1.71-4.47-2.9-8.8-7.05-1.12c-1.19,2.93-5.86,7.4-2.44,16.62c2.79,5.87,3.98,15.22,2.65,25.84c-1.92,3.07-2.37,4.05-4.96,7.12 c-3.63,3.77-7.5,2.79-10.51,1.39c-2.86-1.95-5.03-2.93-6.29-8.8c0.18-9.64,0.67-25.28-1.05-28.63 c-2.51-5.31-6.81-3.35-8.59-1.82c-8.8,7.96-13.17,21.51-15.75,32.26c-2.44,7.82-5.06,5.59-6.84,2.37 C513.55,212.15,513.23,179.75,507.89,185.05\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M536.7,235.47 c-0.04,0.14-0.11,0.14-0.25,0.14l-0.07,0.14c-0.56,0.28-1.29,1.26-2.76,2.37c-2.55,2.94-2.9,4.89-2.76,10.48 c0.1,0.7,4.68,13.41,8.62,22.49c2.62,9.5,5.1,20.11,3.28,30.31c-6.11,13.41-18.58,25.28-30.55,31.84 c-6.15,1.96-11.35,1.39-12.75,0v-0.14c-3.59-2.23-3.66-6.43-3.45-7.27l0,0h0.07c10.06-7.12,21.68-12.71,30.73-31.7 c2.62-7.26,3.46-11.59,0.84-22.9c-1.08-4.05-2.44-7.54-5.24-10.48c0,0,0.07,0,0.07-0.14c1.71-0.84,6.15,2.51,6.88,0.42 c-1.08-5.45-4.72-12.57-8.8-16.2c-3.63-3.35-7.51-3.63-10.86-0.7c-3.67,2.1-4.44,9.5-2.72,16.06c1.99,4.75,7.4,5.59,11.25,15.36 v0.14c0.07,0.56,1.25,7.4-0.67,10.2c-1.57,4.89-21.61,20.67-23.01,21.51l-0.14,0.14c0,0,0,0,0,0.14h-0.07h-0.04l0,0h-0.07l0,0 h-0.07c0-0.14-0.07-0.14-0.07-0.14c0-0.42,0.14-1.53,0-3.21c-0.07-2.79,1.12-9.5,1.05-10.75l0,0h-0.07v-0.14h-0.07 c-6.56,4.33-8.8,17.46-10.02,21.37c-16.76,11.45-35.75,20.11-46.72,31.98c-5.72,8.8,39.35-10.34,44.55-12.57 c0.07,0,0.14,0,0.21,0.14c0.98,0.98,0.98,4.75,4.02,8.24c4.71,6.43,14.63,10.34,24.3,7.96c16.24-5.87,25.59-17.04,35.19-29.33 c1.33-1.95,3.49-3.49,5.41-1.95c6.53,14.66,25.42,25,49.83,26.11c5.62-6.84,2.97-10.33,0.66-11.59 c-0.73-0.56-12.15-5.03-13.89-9.5c-1.08-4.05,1.57-7.68,7.05-10.48c15.61-1.82,31.08-4.05,45.98-8.8 c0.11-5.03,3.07-12.57,5.03-15.78c1.39-2.23,2.27-2.51,2.62-2.79c0,0,0.07,0,0.07-0.14l0,0c0.07,0,0.07,0,0.07,0v-0.14 c0,0,0-0.14-0.07-0.28l-2.59-1.54l-49.97-0.28c-0.59-0.14-1.08-0.56-1.39-0.7h-0.04c0-0.14,0-0.14,0-0.14h-0.07l-0.07-0.14 h-0.07v-0.14l0,0l0,0l0,0v-0.14l0,0l0,0v-0.14l0,0l0,0l0,0c0-0.14,0.07-0.14,0.07-0.14c0.24-0.42,0.87-0.7,1.57-0.98 c12.01-1.54,33.17-5.03,34.53-25.56c-0.18-10.62-4.47-17.46-17.56-19.41c-9.57,0.84-16.38,10.05-15.33,20.25 c-0.42,2.65,0.98,8.1-1.81,8.66c-18.4,1.82-38.44,13.27-39.18,21.51h-0.04l0,0h-0.14h-0.07l-0.14,0.14c0,0,0,0-0.04,0h-0.07 h-0.07h-0.07l-0.21-0.14c-1.19-0.28-2.72-2.23-2.44-5.03c-0.7-14.25-5.38-30.31-12.64-42.74c-2.55-2.65-3.7-3.63-4.47-3.77 h-0.07h-0.14h-0.07l0,0H536.7 M609.74,253.77c1.19-0.14,2.59,0.14,3.91,0.98c2.02,1.12,3.21,2.79,3.07,4.19v0.14v0.14h-0.07 c0,0.14-0.07,0.14-0.07,0.14v0.14c-0.1,0-0.17,0.14-0.31,0.28c-0.98,0.98-3.11,0.84-5.23-0.42c-1.95-1.12-3.18-2.94-3.07-4.05 v-0.14c0.07-0.28,0.14-0.42,0.21-0.42c0.07-0.14,0.07-0.14,0.14-0.28l0,0c0.07-0.14,0.1-0.14,0.24-0.28 C608.8,253.91,609.32,253.77,609.74,253.77 M563.27,295.95c0.14,0,0.35,0,0.53,0h0.07c5.55,1.54,13.79,1.68,20.92,2.37 c5.8,0.42,8.66,4.89,3.25,6.84c-5.34,1.82-10.51,3.21-10.51,11.03c0.66,3.77,0.56,5.87-0.07,6.7c0,0.14-0.14,0.28-0.21,0.28 c0,0,0,0,0,0.14h-0.03h-0.07v0.14h-0.14c-0.07,0-0.18,0.14-0.24,0.14c-0.07,0.14-0.21,0.14-0.21,0.14 c-1.33,0.14-3.18-1.26-4.61-1.82c-3.21-2.51-12.54-8.1-13.86-20.53C557.89,298.6,559.99,296.23,563.27,295.95\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M402.62,185.34 c5.8,2.65,16.58,1.53,16.13-7.68c0-0.84-0.18-3.63-0.24-4.33c-1.12-2.79-4.4-2.23-5.1,0.7c-0.24,0.84,0.35,2.37-0.45,2.93 c-0.52,0.42-2.34,0.14-2.3-2.37c0-0.84-0.56-1.82-0.94-2.23c-0.31-0.28-0.56-0.42-1.29-0.42c-0.77,0.14-0.77,0.28-1.12,0.98 c-0.28,0.7-0.45,1.4-0.45,2.1c-0.14,0.98-0.52,1.26-1.19,1.4c-0.66,0-0.52,0.14-1.19-0.28c-0.31-0.42-0.84-0.56-0.84-1.25 c0-0.56-0.14-1.82-0.28-2.23c-0.35-0.42-0.84-0.7-1.43-0.84c-3.18,0-3.39,3.63-3.18,5.03 C398.46,177.09,398.36,183.52,402.62,185.34\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M571.44,256.84 c5.76,2.65,19.45,1.12,16.17-7.82c0-0.84-0.21-3.63-0.35-4.33c-1.15-2.79-4.33-2.1-5.1,0.7c-0.17,0.98,0.45,2.52-0.38,3.07 c-0.49,0.42-2.34,0-2.31-2.51c0-0.84-0.56-1.68-0.94-2.1c-0.35-0.28-0.56-0.42-1.29-0.42c-0.77,0.14-0.77,0.28-1.22,0.98 c-0.14,0.56-0.42,1.26-0.42,2.1c-0.1,0.98-0.45,1.26-1.15,1.4c-0.7,0-0.49,0.14-1.15-0.28c-0.38-0.42-0.84-0.56-0.84-1.25 s-0.11-1.82-0.39-2.23c-0.28-0.42-0.8-0.7-1.39-0.84c-3.11,0-3.28,3.63-3.18,5.03C567.32,248.46,567.18,254.89,571.44,256.84\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M669.9,227.23 c5.73,2.66,16.55,1.4,16.1-7.82c0-0.7-0.17-3.49-0.24-4.33c-1.22-2.65-4.47-2.1-5.1,0.84c-0.28,0.84,0.31,2.37-0.52,2.8 c-0.42,0.56-2.31,0.28-2.23-2.38c0-0.7-0.56-1.67-0.94-2.23c-0.31-0.14-0.56-0.14-1.25-0.14c-0.77,0-0.77,0.14-1.22,0.84 c-0.21,0.7-0.45,1.39-0.45,2.23c-0.07,0.84-0.42,1.12-1.15,1.25c-0.7,0-0.59,0.14-1.12-0.28c-0.38-0.28-0.84-0.56-0.84-1.25 c0-0.7-0.21-1.82-0.39-2.37c-0.35-0.28-0.84-0.42-1.39-0.56c-3.14,0-3.39,3.63-3.18,4.89 C665.75,218.99,665.61,225.42,669.9,227.23\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M720.84,301.4 c-10.02,11.31-5.62,30.03-3.35,34.08c3.35,6.56,6.01,10.89,12.4,14.11c5.94,4.47,10.47,1.68,12.99-1.4 c5.86-6.14,6-21.65,8.73-24.72c1.99-5.72,6.81-4.75,9.18-2.23c2.37,3.21,5.06,5.45,8.42,7.27c5.48,4.75,12.08,5.72,18.54,1.25 c4.47-2.37,7.37-5.72,9.88-12.01c2.97-7.82,1.36-49.58,0.73-70.67c-0.28-1.68-5.69-29.05-5.69-29.33s-0.77-13.97-1.33-17.18 c-0.14-1.39-0.45-1.81,0.94-1.67c1.47,1.39,1.61,1.53,2.55,1.81c1.47,0.28,2.79-2.23,1.92-4.61 c-4.54-8.38-9.18-16.9-13.76-25.14c-1.05-1.25-2.51-2.37-4.29,0.14c-1.64,1.54-3.42,4.05-3.35,7.54 c0.42,6,1.47,12.15,1.85,18.16c1.85,10.19,3.67,20.53,5.52,30.87c1.71,21.92,2.2,42.04,3.91,63.96 c-0.28,9.22-3.11,21.65-5.94,22.76c0,0-4.02,2.51-6.81-0.14c-2.06-0.84-10.09-13.41-10.09-13.41c-4.12-3.77-6.88-2.79-9.81,0 c-8.1,7.82-11.66,22.35-17.18,32.4c-1.47,2.23-5.45,4.19-9.85-0.14C715.64,317.74,722.28,295.81,720.84,301.4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M672.49,173.32 c5.14,2.1,8.76,12.43,7.58,17.6c-1.05,6.29-3.74,13.27-5.72,12.29c-2.1-0.84,1.43-6.29-0.56-12.01 c-1.22-3.77-8.2-10.47-7.47-12.57C664.84,174.44,669.31,172.49,672.49,173.32\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M737.47,307.68 c1.08-12.43-0.73-20.25-1.08-27.65c-0.31-7.26-8.27-67.18-9.95-72.77c-1.96-10.47,7.79-1.39,6.67-7.54 c-3.35-7.68-11.73-18.99-14.32-25.7c-1.67-2.94-0.98-5.45-4.54-0.7c-3.21,10.75-4.4,19.41-3.18,26.26 c8.48,44.13,17.14,84.36,15.82,126.26C730.87,325.83,735.47,316.76,737.47,307.68\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M825.53,188.13 c4.82,2.51,7.54,15.5,7.02,19.27c-0.91,6.85-3.39,14.25-5.2,13.27c-1.92-0.84,0.38-10.19-0.56-12.99 c-1.12-4.05-7.47-11.46-6.81-13.69C818.68,189.38,822.76,187.43,825.53,188.13\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M476.08,283.94 c4.44,1.67,7.13,11.31,6.6,14.11c-0.91,5.03-3.28,10.34-4.96,9.78c-1.88-0.7,0.39-7.54-0.56-9.64 c-0.35-5.17-6.6-7.82-6.46-10.05C469.52,284.08,473.25,283.38,476.08,283.94\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M355.83,170.11 c6.63,1.96,7.02,11.73,6.6,14.66c-0.91,5.17-3.28,10.75-5.03,10.06c-1.74-0.56-0.04-7.68-0.94-9.92 c-0.94-3.21-6.56-8.66-5.9-10.33C349.27,171.09,353.07,169.41,355.83,170.11\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M486.91,216.2 c-5.14,2.66-7.06,10.89-3.88,15.78c2.9,4.05,7.64,2.52,8.24,2.52c4.99,0.7,7.96-9.36,7.96-9.36s0.14-2.79-5.73,2.52 c-2.51,0.56-2.83-0.42-3.49-1.82c-0.49-2.65-0.42-5.17,0.77-7.82C491.69,215.5,489.77,214.39,486.91,216.2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M525.07,166.34 c-2.52,1.68-7.65,6.98-7.75,13.13c-0.21,3.35-0.84,3.35,1.39,5.58c1.68,2.38,3.32,2.1,6.56,0.28c1.85-1.26,2.48-2.23,3.14-4.47 c0.8-3.91-4.08,1.81-4.75-2.52c-1.05-4.05,2.06-5.58,5.06-9.64C528.81,166.06,528.74,164.24,525.07,166.34\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M555.9,171.79 c-1.12,2.51-2.45,15.22-2.23,15.22c-0.91,3.77,4.02,5.45,6.18,0.56c3.32-8.94,3.32-12.71,3.49-16.62 C562.36,165.22,558.45,165.5,555.9,171.79\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M749.89,270.53 c0.7-0.56,27.34-19.55,27.34-19.55c2.72-0.98,2.13,9.78,0.91,9.64c0.49,2.23-26.33,20.39-28.25,19.69 C748.6,281.14,747.28,272.9,749.89,270.53\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M774.23,270.39 c4.75,2.37,6.6,16.06,6.07,19.83c0.18,7.26-4.54,13.13-6.35,12.29c-1.96-0.98,0.21-9.08-0.7-12.01 c-1.12-4.05-5.13-11.6-4.44-13.83C767.49,272.06,771.37,269.55,774.23,270.39\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M615.57,329.61 c1.82-2.65,7.58-6.56,7.58-6.56c2.76-1.39,5.38,0.98,5.17,0.98c0.45,2.51-1.64,5.03-0.98,8.52c0.53,1.4,0.98,3.07,3.56,2.38 c4.29-3.35,8.17-3.63,12.4-3.63c3.32,0,3.35,5.58,1.36,5.58c-7.82,1.68-11.38,3.91-16.93,6.01c-2.66,1.54-4.89-0.42-4.89-0.7 c0-0.14-1.53-1.4-0.49-4.89c0.24-2.8-0.91-4.33-3.28-4.19c-1.78,1.12-3.32,1.67-4.19-0.28 C614.56,331.28,614.42,330.45,615.57,329.61\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000087408683142315920970000001158328128104936846_)\",\n fill: \"#FFFFFF\"\n },\n d: \"M802.31,337.01 c1.12,1.54,1.92,2.8-0.07,5.17c-1.92,1.82-3.18,2.65-5.1,4.47c-0.84,1.53-1.39,3.77,1.26,4.47c4.96,1.39,16.51-6.01,16.51-6.29 c1.96-1.26,1.29-4.05,1.08-4.05c-1.08-1.25-3.49-0.56-5.13-0.56c-0.84,0-3.39-0.56-2.16-2.65c1.01-1.54,1.39-2.37,2.1-4.05 c0.73-1.82,0.14-2.93-2.76-3.91c-2.79-0.56-3.94-0.14-7.12,0c-1.71,0.42-2.3,1.26-2.62,3.21 C798.39,335.89,800.31,335.75,802.31,337.01\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSa);\nexport default __webpack_public_path__ + \"static/media/sa.89a9638e.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _path36, _path37, _path38, _path39, _path40, _path41, _path42, _path43, _path44, _path45, _path46, _path47, _path48, _path49, _path50;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgSplLogo(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 111,\n height: 98,\n viewBox: \"0 0 111 98\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.1173 23.3449L92.4829 24.319L100.361 52.0605L110.102 47.588C104.647 33.2641 95.1258 23.3449 95.1258 23.3449H95.1088H95.1173Z\",\n fill: \"#A4FF01\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.00847896 48.6808C5.4636 63.0048 14.9846 72.9239 14.9846 72.9239L17.619 71.9498L9.74129 44.2083L0 48.6808H0.0169579H0.00847896Z\",\n fill: \"#A4FF01\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.9801 0.889176C66.8599 -1.53344 53.5271 1.75319 53.5271 1.75319L53.0527 4.53157L80.9891 11.5707L81.9971 0.889176H81.9801Z\",\n fill: \"#A4FF01\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.0711 97.1076C43.1913 99.5302 56.5242 96.2436 56.5242 96.2436L56.9985 93.4652L29.0622 86.4261L28.0542 97.1076H28.0711Z\",\n fill: \"#A4FF01\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.4325 8.12324L26.6907 1.91423C17.0257 13.7986 13.2139 27.0213 13.2139 27.0213L15.3739 28.8256L35.4325 8.12324Z\",\n fill: \"#A4FF01\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.4312 90.3651L83.1729 96.5741C92.8379 84.6898 96.6497 71.467 96.6497 71.467L94.4897 69.6628L74.4312 90.3651Z\",\n fill: \"#A4FF01\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.6379 46.9443C49.0106 46.2751 49.2054 45.4196 49.2054 44.3607C49.2054 43.6746 49.0953 43.0901 48.8836 42.5904C48.6718 42.0821 48.3923 41.6501 48.0365 41.2689C47.6977 40.8962 47.2911 40.5997 46.8506 40.371C46.4101 40.1423 45.9612 39.9644 45.4868 39.8543C44.9193 39.7273 44.2162 39.6256 43.4115 39.5748C42.5983 39.524 41.7512 39.4901 40.8618 39.4901C40.3451 39.4901 39.8369 39.4901 39.371 39.524C38.8966 39.524 38.49 39.5578 38.1512 39.5748C37.7276 39.5917 37.338 39.6087 37.0161 39.6256V56.9905H40.8957V50.0954H41.7089L46.5626 56.9905H51.2553L45.5546 49.5278C46.2237 49.2991 46.8082 48.9603 47.3588 48.5198C47.8162 48.1471 48.2398 47.6219 48.6125 46.9612L48.6464 46.9443H48.6379ZM44.6143 47.0883C44.2416 47.5965 43.835 47.9015 43.3945 48.0201C43.1997 48.0709 43.0049 48.1048 42.8439 48.1132C42.6661 48.1302 42.3696 48.1471 41.9461 48.1471H41.1329C41.0482 48.1471 40.9889 48.1471 40.938 48.1132V41.7263C40.938 41.7263 41.0821 41.7263 41.1837 41.6925H41.9969C43.0218 41.6925 43.8011 41.9381 44.3517 42.404C44.9023 42.8784 45.1819 43.7085 45.1819 44.8774C45.1819 45.8685 45.004 46.6224 44.6313 47.1222L44.6143 47.0883Z\",\n fill: \"#A4FF01\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.0326 54.1445C58.482 54.4494 57.6858 54.6019 56.6948 54.6019C56.1103 54.6019 55.5766 54.568 55.1361 54.4918C54.6787 54.4071 54.2891 54.3308 53.9672 54.2292C53.5945 54.119 53.2726 53.9835 53.01 53.8395L52.146 56.4061C52.5356 56.5501 53.01 56.6857 53.5267 56.7958C53.9672 56.8974 54.5178 56.9906 55.1531 57.0753C55.7884 57.16 56.5168 57.2024 57.3639 57.2024C59.4223 57.2024 60.9979 56.745 62.0906 55.8386C63.1748 54.9238 63.7339 53.6108 63.7339 51.8574C63.7339 51.2729 63.6661 50.7392 63.5221 50.2818C63.3781 49.8244 63.1833 49.4009 62.9038 49.0282C62.6242 48.6555 62.3023 48.2997 61.8957 47.9693C61.4891 47.6474 61.0148 47.334 60.4811 47.0121L58.499 45.8771C58.1771 45.6992 57.8806 45.5382 57.6181 45.3858C57.3555 45.2418 57.1437 45.0808 56.9658 44.9114C56.7879 44.742 56.6609 44.5726 56.5592 44.3947C56.466 44.2168 56.4322 43.9881 56.4322 43.7255C56.4322 43.3867 56.4999 43.0902 56.6439 42.8784C56.7879 42.6497 56.9828 42.4719 57.2284 42.3448C57.4741 42.2177 57.7621 42.1161 58.0755 42.0653C58.3974 41.9975 58.7447 41.9806 59.1004 41.9806C59.6341 41.9806 60.1254 42.0144 60.532 42.0907C60.9386 42.1754 61.2943 42.2347 61.5738 42.3194C61.8957 42.4126 62.1922 42.5311 62.4379 42.6413L63.2849 40.0577C62.98 39.9306 62.6073 39.8121 62.1837 39.7189C61.811 39.6342 61.3197 39.5579 60.7522 39.4902C60.1847 39.4055 59.4731 39.3716 58.6599 39.3716C56.7456 39.3716 55.2801 39.7951 54.2298 40.6252C53.1879 41.4723 52.6712 42.726 52.6712 44.3947C52.6712 44.9792 52.7559 45.5128 52.8999 45.9533C53.0608 46.4107 53.2726 46.8173 53.5691 47.1731C53.8655 47.5289 54.1874 47.8592 54.5771 48.1472C54.9667 48.4437 55.3733 48.7147 55.8307 48.9773L58.1517 50.3072C58.4736 50.5021 58.7531 50.6799 58.9988 50.8409C59.2275 51.0018 59.4223 51.1628 59.5494 51.3322C59.6934 51.4931 59.795 51.671 59.8543 51.8658C59.9221 52.0607 59.9559 52.2894 59.9559 52.535C59.9559 53.2974 59.6764 53.8226 59.1089 54.1275H59.0581L59.0326 54.1445Z\",\n fill: \"#A4FF01\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.5122 39.5494V56.9991H75.6177V54.4324H69.5951V39.5579H65.5207L65.5122 39.5494Z\",\n fill: \"#A4FF01\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.2822 20.6513L69.0865 24.8951L73.2795 22.9807L71.4752 18.7369L67.2822 20.6597V20.6513ZM69.6709 23.3788L68.7646 21.2357L70.8907 20.2616L71.7971 22.4047L69.6709 23.3788Z\",\n fill: \"#A4FF01\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.5327 19.6857V19.8636L40.2871 21.3629L41.9728 21.6255L42.2523 19.9314L40.5666 19.6688L40.5327 19.6857ZM40.7784 19.7874H40.7106V19.8382H40.6429H40.6937V19.7874H40.7784ZM40.6175 19.9483L40.4226 21.1681L40.6175 19.9314V19.9483ZM41.8542 21.49L40.4057 21.2613L41.8542 21.473V21.49ZM40.6683 19.7704H40.6175H40.6852H40.6683Z\",\n fill: \"#A4FF01\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.6576 13.8154C42.6576 13.8154 42.6237 13.8323 42.5898 13.8493L42.6407 13.8154H42.6576Z\",\n fill: \"#A4FF01\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.7595 13.5614L42.6494 13.6715C42.6494 13.6715 42.7341 13.6038 42.7595 13.5614Z\",\n fill: \"#A4FF01\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.5638 18.0592C46.5638 18.0592 46.53 18.0761 46.4961 18.0931L46.5469 18.0592H46.5638Z\",\n fill: \"#A4FF01\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.4407 24.8613C36.3475 24.8274 36.2628 24.7935 36.1611 24.7342C36.1781 24.7342 36.195 24.7681 36.212 24.785C36.2628 24.8189 36.3136 24.8359 36.356 24.8528H36.4068L36.4407 24.8697V24.8613Z\",\n fill: \"#A4FF01\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.1641 23.8363C31.1641 23.8363 31.1302 23.8702 31.1133 23.8871L31.1641 23.8532V23.8363Z\",\n fill: \"#A4FF01\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M49.1219 21.3629C49.0542 21.3459 48.9779 21.3459 48.9102 21.329C49.0033 21.329 49.088 21.3459 49.1897 21.3967C49.1897 21.3967 49.1558 21.3798 49.1389 21.3629H49.1219Z\",\n fill: \"#A4FF01\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.8695 13.4936H42.8018L42.8526 13.5105L42.8695 13.4936Z\",\n fill: \"#A4FF01\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.6149 18.0931C45.6149 18.0931 45.598 18.0931 45.5811 18.0762C45.5811 18.0762 45.598 18.0762 45.6149 18.0931Z\",\n fill: \"#A4FF01\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.3892 22.9723H36.4569L37.431 16.9073C37.431 16.9073 37.3972 16.8903 37.3802 16.8734L36.4061 22.9892L36.3892 22.9723Z\",\n fill: \"#A4FF01\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.8809 15.7213V15.7382H38.9317L38.8809 15.7213Z\",\n fill: \"#A4FF01\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.2286 17.0257V16.958H38.1777V17.0257H38.2286Z\",\n fill: \"#A4FF01\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.5342 24.5224H37.6019C37.6019 24.5224 37.6189 24.5055 37.6358 24.4716H37.568C37.568 24.4716 37.5511 24.4885 37.5342 24.5224Z\",\n fill: \"#A4FF01\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.3701 24.912H44.4209L44.4379 24.8612L44.3871 24.8442L44.3701 24.912Z\",\n fill: \"#A4FF01\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.6282 19.5417L32.4932 26.2759V26.386H32.544V26.2759L33.696 19.4485C33.696 19.4485 33.6452 19.4993 33.6282 19.5163V19.5502V19.5417ZM32.5525 26.2759H32.5016V26.3267V26.2589H32.5694L32.5525 26.2759Z\",\n fill: \"#A4FF01\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.0101 27.1229L32.5527 27.0552V27.1229L32.9932 27.1907L33.0101 27.1229Z\",\n fill: \"#A4FF01\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.4761 26.4028H32.4931V26.3351H32.4253V26.3859L32.4761 26.4028Z\",\n fill: \"#A4FF01\"\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M49.5962 22.7096C49.5454 22.7943 49.4861 22.8705 49.4014 22.9383C49.4014 22.9383 49.5454 22.7943 49.5962 22.7096Z\",\n fill: \"#A4FF01\"\n })), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.0303 25.1493V25.1662H45.0981L45.0303 25.1493Z\",\n fill: \"#A4FF01\"\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.3538 36.9743C24.2098 36.7456 24.0573 36.5508 23.9133 36.356H23.8286C23.9726 36.5677 24.1336 36.7795 24.286 37.0082C24.3538 37.1098 24.4131 37.203 24.4809 37.3216H24.5656C24.4809 37.2115 24.4216 37.076 24.3369 36.9658L24.3538 36.9828V36.9743Z\",\n fill: \"#A4FF01\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.3188 62.9455C26.3188 62.9455 26.285 62.9116 26.268 62.8947C26.0054 62.5982 25.6497 62.1492 25.26 61.5902H25.1753C25.5819 62.1747 25.9546 62.649 26.2172 62.954C26.2172 62.954 26.2511 62.9878 26.268 63.0048C26.268 62.9878 26.285 62.954 26.3019 62.937H26.3188V62.9455Z\",\n fill: \"#A4FF01\"\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.6655 62.0052C26.5215 62.361 26.386 62.6744 26.2759 62.9031C26.2928 62.9201 26.3098 62.937 26.3267 62.9539C26.4368 62.7083 26.5893 62.4033 26.7333 62.0306C26.818 61.8189 26.8942 61.6071 26.9789 61.3615C26.9451 61.3615 26.9281 61.3614 26.8942 61.3784C26.8095 61.6071 26.7502 61.8189 26.6655 61.9968V62.0137V62.0052Z\",\n fill: \"#A4FF01\"\n })), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.7445 53.9666C19.7445 53.9666 19.7445 54.0174 19.7275 54.0513C20.473 54.7713 21.3878 55.3219 22.3958 55.6268V55.559C21.3878 55.2541 20.4814 54.695 19.7445 53.9835V53.9666Z\",\n fill: \"#A4FF01\"\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.3526 55.9825C24.6576 55.9825 24.988 55.9656 25.2929 55.9148C25.996 55.8131 26.6567 55.6014 27.2581 55.3303V55.2032C26.6567 55.4997 25.996 55.6945 25.2929 55.7877C24.988 55.8386 24.6745 55.8555 24.3696 55.8555C24.1748 55.8555 23.963 55.8555 23.7682 55.8216C23.5903 55.8216 23.4293 55.7877 23.2515 55.7538V55.8809C23.4124 55.9148 23.5734 55.9317 23.7597 55.9487C23.9545 55.9656 24.1663 55.9825 24.3781 55.9825H24.3611H24.3526Z\",\n fill: \"#A4FF01\"\n })), _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.9729 37.5589C21.9729 37.5589 21.9898 37.508 22.0068 37.4742C21.9729 37.4742 21.9559 37.4741 21.922 37.4911C21.922 37.525 21.9051 37.5419 21.8882 37.5758C21.9221 37.5758 21.939 37.5758 21.9729 37.5589Z\",\n fill: \"#A4FF01\"\n })), _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.2261 49.6803L24.243 49.7142L24.26 49.7312H24.2769L24.2261 49.6803Z\",\n fill: \"#A4FF01\"\n })), _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.1668 49.0874C24.1668 49.0874 24.1668 49.1213 24.1499 49.1213V49.0705L24.1668 49.0874Z\",\n fill: \"#A4FF01\"\n })), _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.1723 34.6364L55.1016 20.2447L80.0308 34.6703L85.7485 20.4395L85.3927 20.2786C71.8989 13.8239 58.2696 13.2564 58.2357 13.2394L55.0846 20.2447L45.6313 8.1655L45.3094 8.3942C32.9846 16.8818 25.6744 28.3935 25.6574 28.4104L30.1554 34.6364L14.9844 36.7964L15.0183 37.1861C16.1872 52.1114 22.4894 64.216 22.5063 64.2414L30.1384 63.4621V34.6279H30.1723V34.6364ZM32.1375 33.027L32.0698 33.0608L32.002 33.1117L31.5022 33.4081L31.4345 33.442L31.3667 33.4759L31.2989 33.5098L31.2312 33.5606L31.2989 33.5267L31.3667 33.4929L31.4514 32.9592L31.3497 33.4929L31.4175 33.459L31.4853 33.4251L31.985 33.1286L32.0782 32.595L32.146 32.5611L32.0782 32.6119L31.985 33.1456L32.0528 33.1117L32.1206 33.0778L32.2222 32.5441L33.0863 27.3855L32.2053 32.5272L33.0693 27.3855L32.2053 32.5441L32.1121 33.0778L32.146 33.027H32.1375ZM27.6904 26.5723C27.6904 26.5723 27.7074 26.5384 27.7243 26.5215C27.7243 26.5215 27.7073 26.5554 27.6904 26.5723L32.2985 27.2245L31.3243 33.027L30.418 33.5437L26.5384 28.1648C26.7332 27.8683 27.1229 27.3177 27.6904 26.5723ZM27.7243 26.5045L32.3069 27.1568L27.7412 26.5045L32.3239 27.1568H32.3917V27.106H32.3408H32.4086V27.1737H32.4594V27.1229V27.233V27.1652H32.3493L27.7666 26.513L27.7328 26.4961L27.7243 26.5045ZM32.3662 27.0382V26.9704L32.451 26.5299H32.3832L28.1478 25.9285C28.1478 25.9285 28.1817 25.8946 28.1987 25.8777C28.1987 25.8777 28.1648 25.9116 28.1478 25.9285L32.3832 26.5299H32.451V26.4791V26.5469L32.3662 26.9874V27.0551V27.0382ZM27.8005 26.3859L31.9596 26.9874L27.8005 26.4029V26.3859ZM28.241 25.8015L32.4001 26.4029V26.3521L28.2749 25.7676L32.4171 26.3521H32.4848V26.2843L33.6199 19.5501C33.6199 19.5501 33.6707 19.4993 33.6877 19.4823L32.5356 26.3097V26.3775H32.5865V26.3097L33.7554 19.3976C33.7554 19.3976 33.8062 19.3468 33.8401 19.3129C34.018 19.1181 34.2129 18.9233 34.4077 18.7284C34.2129 18.9233 34.035 19.1181 33.8401 19.3129C33.8401 19.3129 33.7893 19.3637 33.7554 19.3976L32.5865 26.3097V26.3775H32.6373H32.5695V26.4961H32.6204H32.5526V26.3944H32.5018V26.4452V26.3775V26.4283H32.3917L28.2325 25.8269L28.2495 25.793L28.241 25.8015ZM29.7996 23.8702C29.9944 24.0311 30.2231 24.1158 30.4688 24.1158C30.6636 24.1158 30.8585 24.048 31.0363 23.9379L31.0872 23.904C31.0872 23.904 31.121 23.8702 31.138 23.8532C31.3836 23.6414 31.5276 23.345 31.5276 23.04C31.5276 22.8283 31.4599 22.5995 31.3328 22.4217C31.282 22.3539 31.2396 22.3115 31.1719 22.2438C31.8834 21.4136 32.6796 20.5327 33.5437 19.6263L32.4255 26.2589L28.3342 25.6744C28.7577 25.1238 29.2405 24.5224 29.8081 23.8363V23.8702H29.7996ZM31.0024 22.4555C31.0024 22.4555 31.0363 22.4217 31.0363 22.4047C31.0363 22.4047 31.0024 22.4386 31.0024 22.4555C30.6297 22.8791 30.2909 23.2857 29.9606 23.6753C30.2825 23.2857 30.6467 22.8791 31.0024 22.4555ZM30.9516 22.4217C30.9516 22.4217 30.8669 22.3539 30.8076 22.337C30.8585 22.3539 30.9008 22.3878 30.9516 22.4217ZM30.9516 23.7092C31.0617 23.6245 31.1465 23.5313 31.1973 23.4127C31.1465 23.5229 31.0533 23.6245 30.9516 23.7092ZM29.8166 23.5483C29.8166 23.5483 29.9013 23.6499 29.9436 23.6753C29.8928 23.6414 29.8504 23.5906 29.8166 23.5483C29.7827 23.5144 29.7827 23.4805 29.7657 23.4381C29.7827 23.472 29.7996 23.5229 29.8166 23.5483ZM29.7149 23.616C29.7149 23.616 29.8166 23.7261 29.8759 23.777C29.8759 23.777 29.7573 23.6753 29.7149 23.616C29.698 23.5821 29.681 23.5483 29.6641 23.5144C29.6641 23.5483 29.698 23.5821 29.7149 23.616ZM29.9944 23.8617C29.9944 23.8617 30.0876 23.9125 30.1384 23.9294C30.1893 23.9464 30.2316 23.9294 30.2994 23.9464C30.2486 23.9464 30.1893 23.9464 30.1384 23.9294C30.0876 23.9125 30.0453 23.8786 29.9944 23.8617ZM30.7737 22.1845C30.7737 22.1845 30.7229 22.1675 30.689 22.1506C30.689 22.1506 30.7399 22.1675 30.7737 22.1845H30.7907C30.8415 22.2014 30.8839 22.2353 30.9347 22.2522C30.9855 22.2861 31.0194 22.3031 31.0617 22.3454C31.0617 22.3454 31.0787 22.3115 31.0956 22.2946C31.0956 22.2946 31.0787 22.3285 31.0617 22.3454C31.0617 22.3454 30.977 22.2777 30.9347 22.2607C30.9855 22.2946 31.0194 22.3285 31.0617 22.3624C31.1126 22.4132 31.1634 22.464 31.2058 22.5064C31.2227 22.5233 31.2396 22.5572 31.2566 22.5911C31.2566 22.5572 31.2227 22.5403 31.2058 22.5064C31.1549 22.4386 31.1126 22.3962 31.0617 22.3624C31.0279 22.3285 30.977 22.2946 30.9347 22.2607C30.8839 22.2268 30.833 22.2099 30.7907 22.193H30.7737C30.7737 22.193 30.7229 22.193 30.689 22.176C30.689 22.176 30.7399 22.176 30.7737 22.193V22.176V22.1845ZM31.265 22.481C31.3921 22.6588 31.4599 22.8537 31.4599 23.0654C31.4599 22.8706 31.3921 22.6588 31.265 22.481ZM31.3497 23.3788C31.3667 23.3111 31.3667 23.2518 31.3667 23.184C31.3667 23.184 31.3667 23.3111 31.3497 23.3788ZM31.0533 23.8702C31.0533 23.8702 31.0871 23.8363 31.1041 23.8193C31.0871 23.8193 31.0702 23.8532 31.0533 23.8702H31.0194C31.0194 23.8702 31.0363 23.8702 31.0533 23.8532V23.8702ZM31.0024 23.904L31.0194 23.8871H31.0024V23.904ZM34.4924 18.6522C34.4924 18.6522 34.5432 18.6014 34.5601 18.5844C34.5432 18.6014 34.5093 18.6353 34.4924 18.6522ZM33.2726 26.5215H33.3234H33.2557V26.5892H33.3234L40.5997 27.6311L40.8623 27.665L40.6167 27.6311L33.3404 26.5892H33.2726V26.6401V26.5299V26.5215ZM40.9216 27.6565H40.8539L40.676 27.6227L40.8539 27.6396H40.9216V27.6565ZM40.9471 27.538H40.9809H40.9301H40.9471ZM32.434 27.0297L32.5187 26.5892H32.5695V26.5384V26.6062H32.5187L32.434 27.0467V27.0297ZM32.451 26.4622H32.3832L31.4938 26.3351L32.4001 26.4622H32.4679H32.451ZM33.1455 27.3093H33.2133L33.7046 27.394L33.2133 27.3262H33.1455V27.3093ZM36.4406 30.0707C36.2289 29.7912 35.9239 29.6472 35.5936 29.6472C35.3818 29.6472 35.1531 29.7149 34.9583 29.8589C34.6787 30.0707 34.5178 30.3926 34.5178 30.7229C34.5178 30.8669 34.5686 31.0194 34.611 31.1465L32.3408 32.4679L33.1879 27.4278L39.524 28.3342L36.4406 30.1215V30.0707ZM34.7634 31.1126C34.7634 31.1126 34.7465 31.0787 34.7295 31.0448C34.6787 30.9262 34.6449 30.8161 34.6449 30.706C34.6449 30.8161 34.6787 30.9516 34.7295 31.0448C34.7295 31.0448 34.7465 31.0787 34.7634 31.1126ZM34.6703 31.0956C34.6194 30.9686 34.5686 30.8331 34.5686 30.706C34.5686 30.8331 34.6025 30.9855 34.6703 31.0956ZM34.6533 30.6552C34.6533 30.4773 34.7211 30.2994 34.8312 30.1469C34.8312 30.1639 34.7973 30.1808 34.7804 30.1978C34.7804 30.1978 34.7973 30.1808 34.7973 30.1639C34.7973 30.1639 34.8143 30.1639 34.8143 30.13C34.7041 30.274 34.6533 30.4519 34.6364 30.6382L34.6533 30.6552ZM35.907 29.8081C35.907 29.8081 36.0002 29.8589 36.051 29.8759C36.0679 29.8759 36.0849 29.9098 36.1018 29.9267C36.1018 29.9267 36.0679 29.8928 36.051 29.8759C36.0002 29.842 35.9493 29.825 35.907 29.8081ZM35.026 29.9352C35.026 29.9352 35.0769 29.9013 35.0938 29.9013C35.1446 29.8843 35.1785 29.8505 35.2209 29.8335C35.2547 29.8335 35.3056 29.7996 35.331 29.7827C35.331 29.7827 35.2463 29.8166 35.2209 29.8335C35.17 29.8505 35.1362 29.8674 35.0938 29.9013C35.0599 29.9013 35.043 29.9352 35.0091 29.9521C34.9921 29.9521 34.9752 29.986 34.9583 30.0029C34.9752 29.986 34.9921 29.9521 35.0091 29.9352H35.026ZM35.7206 29.7742C35.7206 29.7742 35.619 29.7403 35.5766 29.7403C35.5766 29.7403 35.6698 29.7573 35.7206 29.7742ZM36.322 30.1385C36.322 30.1385 36.2543 30.0876 36.2373 30.0538C36.2373 30.0538 36.3051 30.1046 36.322 30.1385ZM34.9752 29.8928C34.7804 30.0368 34.6533 30.2486 34.5856 30.4773C34.6364 30.2486 34.7634 30.0368 34.9752 29.8928C35.1531 29.7657 35.3649 29.698 35.5597 29.698C35.3479 29.698 35.1531 29.7657 34.9752 29.8928ZM36.3051 30.1554C36.3051 30.1554 36.3898 30.2825 36.3983 30.3502C36.3644 30.2825 36.3305 30.2232 36.3051 30.1554ZM32.2646 32.4933L33.1286 27.4024L32.2561 32.4933H32.273H32.2646ZM35.026 31.3752C35.026 31.3752 34.9074 31.282 34.8651 31.2142C34.9159 31.282 34.9667 31.3244 35.026 31.3752L35.0938 31.3413C35.0938 31.3413 34.9667 31.2396 34.9159 31.1804C34.882 31.1295 34.8482 31.0702 34.8312 31.0194C34.7804 30.9178 34.7634 30.8246 34.7634 30.7145C34.7634 30.4688 34.8736 30.2232 35.0853 30.0622C35.1361 30.0283 35.1954 29.9945 35.2632 29.9606C35.1954 29.9945 35.1531 30.0114 35.0853 30.0622C34.8736 30.2232 34.7634 30.4688 34.7634 30.7145C34.7634 30.8076 34.7973 30.9262 34.8312 31.0194C34.8312 31.0194 34.882 31.1295 34.9159 31.1804C34.9667 31.2481 35.0345 31.2905 35.0938 31.3413L36.3644 30.6128C36.3644 30.6128 36.3475 30.4858 36.3136 30.418C36.3305 30.4858 36.3475 30.5451 36.3644 30.6128L35.0938 31.3413L35.026 31.3752ZM36.6016 30.4858L36.5508 30.5196L36.4999 30.5535C36.4999 30.5027 36.483 30.4688 36.466 30.4265C36.466 30.4773 36.4999 30.5112 36.4999 30.5535L36.5508 30.5196C36.5169 30.3926 36.483 30.2401 36.3898 30.13C36.4745 30.2401 36.5169 30.3926 36.5508 30.5196C36.5169 30.3756 36.483 30.2401 36.3898 30.13C36.4745 30.2401 36.5169 30.3926 36.5508 30.5196L36.6016 30.4858ZM44.9876 25.6405L44.8774 25.7083L44.7927 25.7591L44.3692 26.0048L44.3014 26.0386L44.2337 26.0725L44.1828 26.1064L44.1151 26.1403L41.091 27.8768L41.0233 27.9107L40.9555 27.9446L40.8877 27.9784L40.82 28.0293L40.5743 28.1733L40.4896 28.2241L39.8204 28.1224L39.7357 28.1733L33.2387 27.2415H33.1709V27.2245L33.2387 27.2584L39.7357 28.1817L39.8204 28.1309L33.2557 27.1907H33.0947V27.2415H33.027V27.2923H33.0778V27.3431V27.2754H33.01V27.3431L32.5526 27.2754V27.2245V27.2923L32.9931 27.3601V27.2415L32.5526 27.1737H32.5018H32.5695V27.1229H32.5187H32.5865L33.027 27.1907V27.2415H33.0778V27.1907H33.2387L39.8035 28.1309L40.4727 28.2326L40.5574 28.1817L40.803 28.0377L40.8708 28.0038L40.9386 27.97L41.0063 27.9361V27.826H40.9725H41.0233L41.0063 27.9276V27.826V27.9361L41.0741 27.9022L44.0981 26.1572C43.988 26.0895 43.8694 25.9963 43.7932 25.8777L40.8708 27.5718L33.3658 26.4961H33.2557V26.5469V26.4791H33.3658L34.7295 18.4743C35.4326 17.7797 36.1611 17.0428 36.9404 16.3143C36.9743 16.4414 37.0251 16.5938 37.1014 16.7039C37.1691 16.8056 37.2454 16.8649 37.347 16.9327C37.347 16.9327 37.3809 16.9496 37.3978 16.9665V16.8988C37.3978 16.8988 37.3639 16.8818 37.347 16.8649C37.3639 16.8649 37.3809 16.8818 37.3978 16.8988V16.831C37.3978 16.831 37.4486 16.848 37.4656 16.8649C37.4656 16.8649 37.4995 16.8818 37.5164 16.8988C37.5164 16.8988 37.5164 16.8818 37.4995 16.8818H37.5164C37.5164 16.8818 37.4825 16.8649 37.4656 16.8479V16.9157C37.4656 16.9157 37.4995 16.9327 37.5164 16.9496C37.5164 16.9496 37.4825 16.9327 37.4656 16.9157V16.8479C37.4656 16.8479 37.4486 16.831 37.4148 16.8141V16.9411L36.4406 23.0061V23.0739C36.4406 23.0739 36.3898 23.0739 36.3729 23.0908C36.2882 23.1247 36.195 23.1586 36.1272 23.2179C36.2119 23.1501 36.2882 23.1247 36.3729 23.0908C36.3898 23.0908 36.4237 23.0908 36.4406 23.0739V23.0061H36.3898C36.2966 23.04 36.178 23.0908 36.0933 23.1501C35.8138 23.3619 35.6529 23.6838 35.6529 24.0142C35.6529 24.2259 35.7206 24.4546 35.8477 24.6325C36.0594 24.912 36.3644 25.056 36.6947 25.056C36.8896 25.056 37.0844 24.9883 37.2623 24.8782L37.3131 24.8443C37.3131 24.8443 37.2792 24.8612 37.2623 24.8782C37.2792 24.8782 37.2962 24.8782 37.3131 24.8443L37.3639 24.8104C37.4317 24.7426 37.491 24.6833 37.5418 24.6156H37.4741C37.4741 24.6156 37.3809 24.7172 37.3301 24.7596C37.3301 24.7596 37.4402 24.6579 37.4741 24.6156H37.5418L43.6492 25.5558C43.6831 25.649 43.7339 25.7506 43.7932 25.8353C43.8779 25.9455 43.988 26.0471 44.0981 26.1149L44.1659 26.081C44.0388 26.0132 43.9202 25.9201 43.844 25.8015C43.9287 25.9285 44.0388 26.0132 44.1659 26.081L44.2167 26.0471C44.2167 26.0471 44.1998 26.0471 44.1828 26.0302H44.2167L44.2845 25.9963C44.1574 25.9285 44.0219 25.8523 43.9287 25.7168C43.9287 25.7168 43.8779 25.6151 43.844 25.5728C43.844 25.5558 43.8101 25.5219 43.8101 25.505C43.8101 25.4881 43.8101 25.4711 43.7932 25.4372H43.7424V25.4881V25.3779V25.4288H43.7932C43.7932 25.4288 43.7932 25.4626 43.8101 25.4965C43.8101 25.5135 43.8271 25.5473 43.844 25.5643C43.844 25.5643 43.8948 25.6575 43.9287 25.7083C43.8948 25.6575 43.8779 25.6151 43.844 25.5643C43.844 25.5643 43.8948 25.6575 43.9287 25.7083C44.0219 25.8353 44.1405 25.9201 44.2845 25.9878C44.1574 25.9201 44.0219 25.8438 43.9287 25.7083C44.0219 25.8353 44.1405 25.9201 44.2845 25.9878L44.3523 25.9539L44.7758 25.7083L44.8605 25.6575L44.1913 25.5643L43.8694 25.5135C43.8694 25.5135 43.8525 25.4796 43.8355 25.4457C43.8355 25.4626 43.8525 25.4796 43.8694 25.5135L44.1913 25.5643L44.8605 25.6575L44.9706 25.5897L45.0045 25.3779H45.0723L45.1061 25.1323V25.2L45.0892 25.2678V25.361L45.0723 25.3779H45.0045L44.9706 25.5728L44.9876 25.6236V25.6405ZM49.7481 14.8404L49.8159 14.4169L49.7481 14.8235V14.8404ZM49.206 21.4645C49.206 21.4645 49.2399 21.4645 49.2568 21.4814C49.2568 21.4814 49.2229 21.4814 49.206 21.4645ZM49.2737 23.1247H49.3076L49.2737 23.1417C49.2737 23.1417 49.1467 23.2094 49.062 23.2348C49.1297 23.201 49.206 23.184 49.2737 23.1417C49.2737 23.1417 49.3245 23.1247 49.3415 23.1078C49.3415 23.1078 49.3076 23.1247 49.2907 23.1417L49.2737 23.1247ZM42.7937 13.5105C42.7937 13.5105 42.7767 13.5274 42.7598 13.5444C42.7598 13.5444 42.7767 13.5105 42.7937 13.4936V13.5105ZM42.7937 13.6206C42.7937 13.6206 42.692 13.7307 42.6496 13.7816C42.6327 13.7816 42.6158 13.8154 42.5988 13.8324H42.5649C42.5649 13.8324 42.548 13.8663 42.5311 13.8663C42.5311 13.8663 42.5649 13.8493 42.5988 13.8324C42.5988 13.8324 42.6327 13.7985 42.6496 13.7816C42.7174 13.7307 42.7598 13.6799 42.7937 13.6206ZM42.9038 12.7397H42.9546V12.8498V12.799H42.9038V12.8328V12.782H42.9546V12.7312H42.9038C42.9038 12.7312 42.9038 12.6973 42.8868 12.6634C42.8868 12.6804 42.8868 12.6973 42.9038 12.7312V12.7397ZM48.7147 21.3798H48.7485H48.6977V21.4306H48.7824H48.6215H48.6892V21.3798H48.7401H48.7062H48.7231H48.7147ZM49.206 21.4814C49.206 21.4814 49.1721 21.4814 49.1551 21.4645C49.1721 21.4645 49.189 21.4645 49.206 21.4814ZM49.2737 21.5322C49.2737 21.5322 49.3076 21.5661 49.3245 21.5661C49.3076 21.5661 49.2907 21.5322 49.2737 21.5322ZM49.7142 22.4725C49.7142 22.4725 49.6973 22.5657 49.6803 22.6334V22.6504C49.6634 22.7012 49.6295 22.752 49.6125 22.7944C49.5617 22.8791 49.5024 22.9553 49.4177 23.0231C49.4177 23.0231 49.3838 23.057 49.3669 23.057H49.4008V23.04H49.3669L49.333 23.0908H49.2991H49.35V23.0739C49.35 23.0739 49.3161 23.0739 49.2822 23.1078C49.1382 23.201 48.9773 23.2518 48.8248 23.2518C48.9857 23.2518 49.1467 23.201 49.2822 23.1078C49.2822 23.1078 49.333 23.0908 49.35 23.0739C49.35 23.0739 49.3838 23.04 49.4008 23.04C49.4008 23.04 49.5448 22.896 49.5956 22.8113C49.6295 22.7605 49.6464 22.7097 49.6634 22.6673V22.6504C49.6803 22.5995 49.6973 22.5487 49.6973 22.5064L49.6295 22.5403C49.6295 22.5403 49.6464 22.4132 49.6464 22.3454C49.6464 22.1675 49.5956 21.9897 49.4855 21.8372C49.4516 21.7864 49.4177 21.7525 49.3754 21.7271C49.3754 21.7271 49.4601 21.8118 49.4855 21.8372C49.5956 21.9812 49.6464 22.1591 49.6464 22.3454C49.6464 22.4132 49.6464 22.4725 49.6295 22.5403L49.6973 22.5064L49.7142 22.4725ZM48.4012 23.2348C48.2403 23.1671 48.0963 23.057 47.9946 22.913C47.8676 22.7351 47.7998 22.5403 47.7998 22.3285C47.7998 22.0151 47.9438 21.7271 48.2064 21.5322C48.2911 21.4645 48.3674 21.4306 48.469 21.4052C48.3843 21.4391 48.2911 21.4729 48.2064 21.5322C47.9438 21.7271 47.7998 22.0405 47.7998 22.3285C47.7998 22.5233 47.8676 22.7351 47.9946 22.913C48.1048 23.057 48.2403 23.1756 48.4012 23.2348ZM42.5903 13.8154C42.5903 13.8154 42.5565 13.8324 42.5395 13.8493C42.5395 13.8493 42.5734 13.8324 42.5903 13.8154ZM41.2605 13.6545C41.2266 13.6206 41.2266 13.5698 41.1927 13.5444C41.2096 13.5783 41.2266 13.6291 41.2605 13.6545ZM41.2943 12.5533C41.4214 12.4432 41.5569 12.3415 41.684 12.2314C41.5569 12.3246 41.4214 12.4432 41.2943 12.5533ZM41.7009 12.2145H41.7179H41.684C41.6332 12.2314 41.5993 12.2484 41.5569 12.2823C41.54 12.2823 41.5061 12.3161 41.4892 12.3331C41.5061 12.3331 41.54 12.2992 41.5569 12.2823C41.6078 12.2653 41.6416 12.2314 41.684 12.2145H41.7009ZM42.5819 12.3077C42.4209 12.1975 42.243 12.1298 42.0652 12.1298C41.9381 12.1298 41.8195 12.1637 41.6924 12.2145C41.8026 12.1637 41.9381 12.1298 42.0482 12.1298C42.2261 12.1298 42.4209 12.1975 42.5649 12.3077H42.5819ZM42.9546 13.4089C42.9546 13.4089 42.9546 13.4427 42.9376 13.4766C42.9376 13.4766 42.9377 13.4427 42.9546 13.4258C42.9546 13.4258 42.9546 13.4597 42.9376 13.4936C42.9376 13.4936 42.9377 13.4597 42.9546 13.4258V13.4089ZM42.7598 13.5105C42.7598 13.5105 42.7767 13.4766 42.7937 13.4597H42.8614C42.8614 13.4597 42.8445 13.4936 42.8275 13.5105C42.8275 13.5105 42.8445 13.4766 42.8614 13.4597H42.7937C42.7937 13.4597 42.7767 13.4936 42.7598 13.5105ZM41.54 13.8409C41.54 13.8409 41.523 13.8239 41.5061 13.807C41.5061 13.807 41.523 13.8239 41.54 13.8409ZM41.2435 13.5274C41.2435 13.5274 41.2774 13.5783 41.2943 13.6121C41.2943 13.6291 41.3282 13.646 41.3452 13.663C41.3452 13.646 41.3113 13.6291 41.2943 13.6121C41.2774 13.5952 41.2604 13.5613 41.2435 13.5444V13.5274ZM41.5485 13.8493L41.5315 13.8324H41.5485V13.8493ZM41.3367 13.5698C41.2266 13.4258 41.1757 13.2479 41.1757 13.0616C41.1757 12.782 41.3028 12.5279 41.5315 12.367C41.3028 12.5448 41.1757 12.8074 41.1757 13.0616C41.1757 13.2394 41.2266 13.4173 41.3367 13.5698ZM42.8445 12.7566C42.8445 12.7566 42.8445 12.7905 42.8614 12.8244C42.8614 12.8244 42.8614 12.7905 42.8445 12.7566ZM42.9461 13.1632C42.9461 13.1632 42.9292 13.3241 42.8953 13.3919C42.9292 13.3072 42.9292 13.2479 42.9461 13.1632ZM42.9631 13.0023V12.9514H42.9122V13.0361C42.9122 13.1463 42.8784 13.2818 42.8275 13.375C42.8784 13.2648 42.9122 13.1463 42.9122 13.0361V12.8752V12.943H42.9631V13.0107V13.0023ZM42.0059 13.358V13.4089V13.3411V13.358ZM41.955 13.3241L41.972 13.2733V13.3241H41.955ZM42.0482 13.5359L42.6158 13.6206L42.0313 13.5359H42.0482ZM42.7513 13.4427C42.7513 13.4427 42.7682 13.4089 42.7852 13.3919C42.7852 13.4089 42.7682 13.4258 42.7513 13.4427ZM41.5993 12.4178C41.7433 12.3161 41.9042 12.2568 42.0736 12.2568C41.9127 12.2568 41.7518 12.3077 41.5993 12.4178ZM42.0736 13.8663C41.828 13.8663 41.5823 13.7561 41.4383 13.5444C41.5993 13.7561 41.828 13.8663 42.0736 13.8663ZM42.7089 13.5698L42.1414 13.4851V13.4343L42.7428 13.5274L42.1414 13.4427V13.4936L42.692 13.5783C42.692 13.5783 42.7089 13.5444 42.7259 13.5274C42.7259 13.5274 42.709 13.5613 42.692 13.5783L42.7089 13.5613V13.5698ZM42.9715 12.7736H42.9038C42.9038 12.7736 42.8868 12.7397 42.8699 12.7227C42.8699 12.7227 42.9038 12.7736 42.9038 12.7905H42.9715V12.7736ZM42.7937 12.4601C42.7937 12.4601 42.8106 12.4771 42.8275 12.494C42.8275 12.494 42.8106 12.4771 42.7937 12.4601ZM41.1673 12.9176C41.1673 12.9176 41.1503 13.0107 41.1503 13.0616C41.1503 13.0107 41.1503 12.9599 41.1673 12.9176ZM42.5311 13.7985C42.5311 13.7985 42.5649 13.7816 42.5988 13.7646C42.5819 13.7646 42.5649 13.7816 42.548 13.7985H42.5311ZM42.7259 13.6545C42.7259 13.6545 42.7598 13.6206 42.7767 13.6037C42.7767 13.6037 42.7428 13.6376 42.7259 13.6545ZM42.7767 13.5867C42.7767 13.5867 42.7936 13.5529 42.8106 13.5359C42.8106 13.5529 42.7936 13.5698 42.7767 13.5867ZM49.3415 21.6169C49.3415 21.6169 49.3246 21.6169 49.3076 21.6C49.3076 21.6 49.3245 21.6 49.3415 21.6169ZM49.3923 21.6508C49.3923 21.6508 49.4262 21.6847 49.4431 21.7017C49.4262 21.7017 49.4093 21.6678 49.3923 21.6508ZM49.3923 21.5831C49.3923 21.5831 49.4262 21.6 49.4431 21.6169C49.4431 21.6169 49.5363 21.7186 49.5871 21.7779C49.6973 21.9388 49.7481 22.1167 49.765 22.3031V22.2522C49.765 22.2014 49.765 22.1506 49.7481 22.1082C49.7481 22.0744 49.7311 22.0235 49.7142 21.9981C49.7142 22.032 49.7481 22.0828 49.7481 22.1082C49.7481 22.1591 49.765 22.2099 49.765 22.2522V22.32C49.765 22.1421 49.6973 21.9642 49.5871 21.7948C49.5363 21.7271 49.4855 21.6847 49.4431 21.6339C49.4262 21.6339 49.4093 21.6 49.3923 21.6V21.5831ZM49.638 21.8626C49.638 21.8626 49.6041 21.8118 49.5871 21.7779C49.6041 21.8118 49.621 21.8287 49.638 21.8626ZM49.494 21.8626C49.494 21.8626 49.4431 21.8118 49.4093 21.7779L49.2822 22.5233L48.3419 22.3962L48.469 21.6339C48.469 21.6339 48.4013 21.6678 48.3589 21.6847C48.3589 21.6847 48.4266 21.6508 48.469 21.6339V21.5661C48.469 21.5661 48.5198 21.5322 48.5537 21.5322C48.5537 21.5322 48.5029 21.5661 48.486 21.5661V21.6339C48.486 21.6339 48.5198 21.6169 48.5368 21.6C48.5368 21.6 48.4859 21.6169 48.469 21.6339L48.3419 22.3962L49.2822 22.5233L49.4093 21.7779C49.4093 21.7779 49.4601 21.8287 49.494 21.8626ZM48.5876 23.1671C48.6723 23.184 48.7486 23.2179 48.8333 23.2179C48.7486 23.2179 48.6723 23.201 48.5876 23.1671C48.4097 23.1163 48.2657 23.0061 48.1302 22.8537C48.2403 23.0146 48.4097 23.1163 48.5876 23.1671ZM49.4347 23.04C49.4347 23.04 49.4008 23.0739 49.3838 23.0908C49.3838 23.0908 49.4177 23.057 49.4347 23.04ZM47.9269 22.3115C47.9269 22.1337 47.9946 21.9727 48.1048 21.8033C47.9946 21.9473 47.9438 22.1252 47.9269 22.3115ZM48.4436 21.5153C48.4436 21.5153 48.3928 21.5322 48.3758 21.5492C48.3589 21.5492 48.342 21.5661 48.325 21.5831C48.342 21.5831 48.3589 21.5661 48.3758 21.5492C48.3928 21.5492 48.4266 21.5322 48.4436 21.5153ZM48.0539 22.8367C48.0539 22.8367 48.0709 22.8876 48.0878 22.9045C48.0878 22.8876 48.0709 22.8537 48.0539 22.8367ZM48.7062 23.2603C48.7062 23.2603 48.6215 23.2603 48.5961 23.2433C48.63 23.2433 48.6808 23.2433 48.7062 23.2603ZM49.35 21.7525C49.35 21.7525 49.3161 21.7355 49.2991 21.7186C49.3161 21.7186 49.333 21.7355 49.35 21.7525ZM48.6045 21.6085L48.4775 22.3285L48.5876 21.6085H48.6045ZM48.613 21.4729C48.613 21.4729 48.5791 21.4729 48.5622 21.4899H48.613V21.4729ZM48.5114 21.5068V21.5746C48.5114 21.5746 48.4012 21.6254 48.3504 21.6593C48.1217 21.8372 47.9946 22.0998 47.9946 22.3624C47.9946 22.0828 48.1217 21.8287 48.3504 21.6593C48.4012 21.6254 48.4436 21.6085 48.5114 21.5746V21.5068C48.5114 21.5068 48.5622 21.4899 48.5791 21.4729C48.5622 21.4729 48.5283 21.4899 48.5114 21.5068ZM49.1128 23.3111C49.1128 23.3111 49.0281 23.3111 48.9857 23.328C49.0365 23.328 49.0704 23.328 49.1128 23.3111ZM49.2907 21.5407C49.2907 21.5407 49.2568 21.5407 49.2568 21.5238C49.2568 21.5238 49.2907 21.5238 49.2907 21.5407ZM49.1636 21.4899C49.1636 21.4899 49.1975 21.4899 49.2144 21.5068V21.5746V21.5238C49.2144 21.5238 49.0365 21.4729 48.9518 21.456C48.9518 21.456 49.0958 21.456 49.1636 21.4899C49.0704 21.456 48.9688 21.4221 48.8587 21.4221C48.9518 21.4221 49.0704 21.4391 49.1636 21.4899ZM43.0732 13.5529C43.0732 13.5529 43.0732 13.5867 43.0562 13.6037C43.0562 13.6037 43.0562 13.5698 43.0732 13.5529ZM43.141 12.9091L48.0963 13.6291L43.141 12.926V12.9091ZM42.98 12.7651C42.98 12.7651 42.9292 12.655 42.8953 12.6041C42.9292 12.655 42.9631 12.7143 42.98 12.7651C42.98 12.7651 42.9461 12.6973 42.9122 12.655C42.9122 12.6211 42.8953 12.5872 42.8614 12.5703C42.8445 12.5364 42.7936 12.5194 42.7767 12.4855C42.7767 12.4855 42.8445 12.5364 42.8614 12.5703C42.8783 12.6041 42.8953 12.6211 42.9122 12.655C42.9292 12.6888 42.9631 12.7227 42.98 12.7651ZM42.6581 12.3754C42.6581 12.3754 42.6242 12.3415 42.6073 12.3246C42.6242 12.3246 42.6412 12.3585 42.6581 12.3754ZM41.3452 12.6211C41.4129 12.5194 41.4722 12.4432 41.5739 12.3585C41.4807 12.4263 41.4129 12.5194 41.3452 12.6211ZM42.7089 13.8239C42.7089 13.8239 42.6751 13.8578 42.6581 13.8747C42.6581 13.8747 42.692 13.8409 42.7089 13.8239L42.6751 13.79C42.6751 13.79 42.6412 13.8239 42.6242 13.8409C42.6242 13.8409 42.6581 13.807 42.6751 13.79L42.7089 13.8239C42.7089 13.8239 42.7937 13.7562 42.8191 13.7138C42.8191 13.7138 42.8529 13.6799 42.8699 13.663C42.8699 13.663 42.836 13.6969 42.8191 13.7138C42.7852 13.7646 42.7344 13.7985 42.7089 13.8239ZM48.6215 21.4137C48.6215 21.4137 48.5876 21.4306 48.5537 21.4306C48.5707 21.4306 48.5876 21.4306 48.6215 21.4137ZM49.3669 21.5746C49.3669 21.5746 49.4008 21.5915 49.4177 21.6085C49.4008 21.6085 49.3838 21.5915 49.3669 21.5746ZM42.9207 12.5194C42.9207 12.5194 43.0224 12.6804 43.0393 12.7651C43.0054 12.6804 42.9715 12.6041 42.9207 12.5194ZM41.7518 12.1298C41.7518 12.1298 41.6416 12.1806 41.5908 12.2145C41.6416 12.1806 41.7009 12.1467 41.7518 12.1298ZM38.067 15.086C38.1771 15.086 38.2788 15.103 38.372 15.1369C39.2529 14.3576 40.1593 13.5613 41.1164 12.782C41.1503 12.7481 41.1842 12.7312 41.2096 12.6973C41.2435 12.6126 41.2943 12.5533 41.3367 12.4855C41.2859 12.5533 41.2435 12.6295 41.2096 12.6973C41.2096 12.6973 41.1419 12.7481 41.1164 12.782C41.0826 12.8921 41.0487 12.9938 41.0487 13.1039C41.0487 13.3157 41.1164 13.5444 41.2435 13.7223C41.4553 14.0018 41.7602 14.1458 42.0906 14.1458C42.2854 14.1458 42.4802 14.078 42.6581 13.9679C42.6751 13.9679 42.692 13.951 42.7259 13.934L42.7767 13.9002C42.8445 13.8324 42.9038 13.7731 42.9546 13.7053H42.8868C42.8868 13.7053 42.9038 13.6714 42.9207 13.6545H42.853C42.853 13.6545 42.836 13.6884 42.8191 13.7053C42.8191 13.6884 42.836 13.6714 42.853 13.6545H42.9207C42.9207 13.6545 42.9038 13.6884 42.8868 13.7053H42.9546L49.6464 14.6625L49.6803 14.6964L48.5622 21.3628C48.4521 21.3967 48.3504 21.4475 48.2572 21.5238C47.9777 21.7355 47.8168 22.0574 47.8168 22.3878C47.8168 22.5995 47.8845 22.8283 48.0116 23.0061C48.1048 23.1501 48.2572 23.2518 48.4012 23.328L45.6906 24.8866C45.6906 24.8866 45.6398 24.7596 45.589 24.6918C45.5212 24.5902 45.445 24.5309 45.3433 24.4631L46.3175 18.3473C46.3175 18.3473 46.4615 18.2795 46.5462 18.2371C46.5462 18.2371 46.597 18.2202 46.6139 18.2033L46.6648 18.1694C46.9104 17.9576 47.0544 17.6527 47.0544 17.3562C47.0544 17.1444 46.9866 16.9157 46.8596 16.7378C46.6478 16.4583 46.3429 16.3143 46.0125 16.3143C45.8007 16.3143 45.572 16.3821 45.3772 16.5261C45.284 16.5938 45.2163 16.6701 45.1485 16.7717L39.0411 15.8484C39.0073 15.7552 38.9564 15.6536 38.8971 15.5519C38.7701 15.3571 38.5752 15.247 38.3635 15.1792C38.2703 15.1453 38.1517 15.1284 38.0585 15.1284L38.0755 15.0776L38.067 15.086ZM45.6483 24.912L45.5974 24.9459C45.5974 24.9459 45.5636 24.8782 45.5466 24.8443C45.5636 24.8782 45.5805 24.912 45.5974 24.9459C45.5974 24.912 45.5636 24.8782 45.5466 24.8443C45.5636 24.8782 45.5805 24.912 45.5974 24.9459L45.6483 24.912C45.716 25.0391 45.7414 25.1746 45.7414 25.3017C45.7414 25.1746 45.7076 25.0222 45.6483 24.912ZM45.5466 24.9798C45.5466 24.9798 45.4958 24.8697 45.4619 24.8189C45.4958 24.8697 45.5297 24.929 45.5466 24.9798ZM45.157 25.4965V25.4288H45.1061H45.1739V25.3779V25.505L45.157 25.4881V25.4965ZM44.293 26.1149C44.293 26.1149 44.2591 26.081 44.2421 26.0641C44.2591 26.0641 44.276 26.0979 44.293 26.1149ZM37.635 24.6495H37.5672C37.5672 24.6495 37.5503 24.6833 37.5334 24.7003C37.4995 24.7511 37.4487 24.785 37.4232 24.8104C37.4232 24.8104 37.3894 24.8443 37.3724 24.8443C37.3724 24.8443 37.3893 24.8273 37.4063 24.8104C37.4063 24.8104 37.3894 24.8443 37.3724 24.8612C37.3555 24.8612 37.3385 24.8782 37.3216 24.8951C37.3385 24.8951 37.3555 24.8951 37.3724 24.8612L37.3385 24.8104C37.3385 24.8104 37.3046 24.8273 37.2877 24.8443C37.2877 24.8443 37.3385 24.8273 37.3555 24.8104L37.3894 24.8612C37.3894 24.8612 37.4232 24.8273 37.4402 24.8104H37.4571C37.5079 24.7765 37.5418 24.7426 37.5672 24.7003C37.5672 24.6833 37.5842 24.6664 37.6011 24.6495C37.6011 24.6495 37.5672 24.6833 37.5503 24.7003C37.5503 24.7003 37.5842 24.6664 37.6011 24.6495H37.5334C37.5334 24.6495 37.4995 24.6833 37.4825 24.7003C37.4825 24.7003 37.4317 24.7511 37.3978 24.768C37.3978 24.768 37.4486 24.7172 37.4825 24.7003C37.4825 24.7003 37.5164 24.6664 37.5334 24.6495C37.5334 24.6495 37.5503 24.6156 37.5672 24.5986C37.5672 24.5986 37.5503 24.6325 37.5334 24.6495H37.6604H37.6265H37.635ZM36.5423 23.1501V23.0824L37.5164 17.0343L36.5592 23.0824V23.1501H36.5423ZM37.6435 17.0343C37.6435 17.0343 37.6096 17.0174 37.5926 17.0004C37.5926 17.0004 37.6265 17.0174 37.6435 17.0343ZM37.7282 16.9835V16.9327C37.7282 16.9327 37.6943 16.9157 37.6774 16.8988C37.6943 16.8988 37.7112 16.9157 37.7282 16.9327V17.0004V16.9835ZM37.6181 16.8564C37.6181 16.8564 37.5842 16.8225 37.5672 16.8225V16.7548L37.7282 15.7637L37.5672 16.7717C37.5672 16.7717 37.6011 16.7887 37.6181 16.8056C37.6011 16.8056 37.5842 16.7887 37.5672 16.7717V16.8395C37.5672 16.8395 37.5842 16.8564 37.6011 16.8734L37.6181 16.8564ZM37.491 16.8395C37.491 16.8395 37.5249 16.8734 37.5418 16.8734C37.5418 16.8734 37.5079 16.8395 37.491 16.8395ZM37.491 16.9072C37.491 16.9072 37.347 16.7971 37.2962 16.7124C37.347 16.7971 37.4232 16.8564 37.491 16.9072ZM38.3635 15.1708C38.5752 15.2385 38.7701 15.3486 38.8971 15.5265C38.7701 15.3486 38.5752 15.2216 38.3635 15.1708ZM45.2332 16.7802C45.2332 16.7802 45.2501 16.7463 45.2671 16.7294C45.2671 16.7463 45.2502 16.7632 45.2332 16.7802ZM46.6309 18.127H46.5631C46.5631 18.127 46.4361 18.1948 46.3683 18.2287C46.3683 18.2287 46.3174 18.2456 46.3005 18.2456C46.3005 18.2456 46.3513 18.2287 46.3683 18.2117C46.3683 18.2117 46.4953 18.144 46.5462 18.1101H46.6139V18.0931L46.6309 18.127ZM45.572 24.7003C45.572 24.7003 45.6398 24.8104 45.6568 24.8782C45.6229 24.8104 45.6059 24.768 45.572 24.7003C45.5212 24.6156 45.445 24.5563 45.3772 24.5055C45.3772 24.5055 45.5212 24.6325 45.572 24.7003ZM45.1146 25.2678H44.7927V25.3356H44.9028V25.3864H45.0638V25.4203L44.9198 25.4033V25.3525H44.8097V25.3017H45.0384L45.0892 25.3186H45.14L45.1231 25.2678H45.1146ZM45.1654 25.3949V25.344V25.4118V25.3949ZM44.9367 25.3017H45.1146V25.3186H44.9367V25.3017ZM43.8525 25.3017C43.8525 25.1831 43.8694 25.0899 43.9202 24.9883V24.9375C43.9202 24.9375 43.9203 24.9036 43.9372 24.8697C43.9372 24.8866 43.9372 24.9036 43.9202 24.9375V24.9883C43.8864 25.0899 43.8525 25.1831 43.8525 25.2848V25.3017ZM37.779 24.5902C37.779 24.5902 37.7621 24.624 37.7451 24.641H37.6774C37.6774 24.641 37.6943 24.6071 37.7112 24.5902C37.7112 24.5732 37.7282 24.5563 37.7451 24.5393H37.6943C37.6943 24.5393 37.6774 24.5732 37.6604 24.5902C37.6604 24.5902 37.6604 24.5563 37.6943 24.5393C37.6943 24.5393 37.6943 24.5732 37.6604 24.5902C37.6604 24.5732 37.6773 24.5563 37.6943 24.5393H37.7451C37.7451 24.5393 37.7282 24.5732 37.7112 24.5902H37.779ZM37.4317 24.8951C37.4317 24.8951 37.4656 24.8612 37.4825 24.8443L37.4317 24.8951C37.4317 24.8951 37.3978 24.912 37.3639 24.929C37.3809 24.929 37.3978 24.912 37.4317 24.8951ZM36.5846 23.201H36.6354C36.6354 23.201 36.6016 23.201 36.5846 23.2179V23.201ZM37.5757 17.0258C37.5757 17.0258 37.6096 17.0428 37.6265 17.0597C37.6265 17.0597 37.5926 17.0428 37.5757 17.0258ZM38.8717 15.823C38.8717 15.823 38.8887 15.8569 38.9056 15.8908C38.9056 15.8908 38.8887 15.8569 38.8717 15.823ZM37.5418 16.831C37.5418 16.831 37.4317 16.7294 37.3978 16.6701C37.2962 16.543 37.2538 16.3905 37.2369 16.2465C37.2538 16.3905 37.3047 16.543 37.3978 16.6701C37.4487 16.7378 37.491 16.7802 37.5418 16.831ZM37.5418 15.4333C37.5418 15.4333 37.5757 15.3825 37.5926 15.3656C37.6096 15.3486 37.6435 15.3317 37.6774 15.3148C37.6774 15.3148 37.6265 15.3486 37.5926 15.3656C37.5757 15.3656 37.5588 15.3995 37.5418 15.4333C37.5588 15.4164 37.5757 15.3995 37.5926 15.3825C37.5757 15.3825 37.5588 15.4164 37.5418 15.4333ZM38.9903 15.7722C38.9903 15.7722 38.9903 15.823 39.0073 15.8399C39.0073 15.8399 39.0072 15.7891 38.9903 15.7722H38.9225C38.9225 15.7722 38.9564 15.823 38.9564 15.8399C38.9564 15.823 38.9395 15.7891 38.9225 15.7722C38.9056 15.7213 38.8717 15.6705 38.8378 15.6282C38.7108 15.4333 38.499 15.3317 38.2872 15.2893C38.2872 15.2893 38.3381 15.2893 38.355 15.3063C38.3381 15.3063 38.3042 15.2893 38.2872 15.2893C38.499 15.3232 38.7108 15.4333 38.8378 15.6282C38.8717 15.679 38.8887 15.7298 38.9225 15.7722H38.9903ZM39.075 15.7722C39.075 15.7722 39.075 15.8061 39.092 15.823C39.092 15.8061 39.092 15.7891 39.075 15.7722ZM45.3603 16.7802C45.3603 16.7802 45.3942 16.7463 45.3942 16.7294H45.4619C45.4619 16.7294 45.5466 16.6447 45.589 16.6192C45.5381 16.6531 45.4958 16.7039 45.4619 16.7294C45.4619 16.7294 45.428 16.7632 45.4111 16.7802C45.4111 16.7802 45.445 16.7463 45.4619 16.7294H45.3942C45.3942 16.7294 45.3603 16.7632 45.3433 16.7802H45.3603ZM45.3942 16.7294C45.3942 16.7294 45.4958 16.6192 45.572 16.5684C45.6059 16.5515 45.6229 16.5345 45.6568 16.5176C45.6229 16.5176 45.6059 16.5345 45.572 16.5515C45.5043 16.6023 45.4619 16.6531 45.4111 16.7124L45.3942 16.7294ZM47.0968 17.3138C47.0968 17.424 47.0798 17.5256 47.029 17.6188C47.0629 17.5171 47.0968 17.407 47.0968 17.3138ZM46.3852 18.2117V18.2626V18.1948C46.3852 18.1948 46.4191 18.1948 46.453 18.1778C46.4361 18.1778 46.4022 18.2117 46.3852 18.2117ZM45.3942 24.3869C45.3942 24.3869 45.3772 24.3699 45.3603 24.353C45.3603 24.353 45.3942 24.3699 45.4111 24.3869H45.3942ZM45.3094 24.48C45.3094 24.48 45.2925 24.4631 45.2586 24.4462C45.2756 24.4462 45.2925 24.4631 45.3094 24.48ZM45.2417 24.5139C45.2417 24.5139 45.2586 24.5139 45.2756 24.5309C45.2756 24.5309 45.2586 24.5309 45.2417 24.5139ZM44.7673 24.8528V24.9036L44.8859 24.9205H44.7673H44.8351L44.8012 25.1323L44.8351 24.9713V24.9205H44.7673V24.8528ZM43.9033 24.8358C43.9033 24.8358 43.9203 24.8019 43.9372 24.785H43.8694C43.8694 24.785 43.8525 24.8019 43.8355 24.8358H43.9033C43.9033 24.8358 43.9033 24.8697 43.8864 24.9036C43.8864 24.9036 43.8864 24.8697 43.9033 24.8358H43.8355L37.8552 23.9294V23.8786V23.9464L43.8355 24.8612C43.8355 24.8612 43.8525 24.8273 43.8694 24.8104H43.9372C43.9372 24.8104 43.9203 24.8443 43.9033 24.8612V24.8443V24.8358ZM37.6519 24.4631C37.6519 24.4631 37.6689 24.4292 37.6858 24.4123H37.635C37.635 24.4123 37.6181 24.4462 37.6011 24.4631C37.6011 24.4631 37.5842 24.497 37.5672 24.5139C37.5672 24.497 37.5842 24.48 37.6011 24.4631C37.6011 24.4462 37.6181 24.4292 37.635 24.3953C37.635 24.3953 37.6689 24.2683 37.6858 24.1836C37.6858 24.2513 37.6689 24.3276 37.635 24.3953H37.6858C37.6858 24.3953 37.6858 24.3784 37.7028 24.3614C37.7028 24.3614 37.7028 24.3784 37.6858 24.3953C37.6858 24.4123 37.6689 24.4292 37.6519 24.4462V24.4631ZM37.3301 24.8358L37.347 24.8189H37.3301V24.8358ZM37.1861 24.9205C37.1861 24.9205 37.1014 24.9544 37.0759 24.9713C37.1098 24.9713 37.1607 24.9375 37.1861 24.9205C37.2369 24.9036 37.2708 24.8866 37.3131 24.8528C37.2792 24.8697 37.2284 24.9036 37.1861 24.9205ZM36.9065 24.9883H36.8388C36.7879 24.9883 36.7456 24.9713 36.6947 24.9544C36.7456 24.9544 36.7964 24.9883 36.8388 24.9883H36.9065H36.8726C36.8726 24.9883 36.9743 24.9883 37.0336 24.9713C36.9827 24.9713 36.9319 24.9883 36.8726 24.9883H36.9065ZM36.5169 24.9375C36.5169 24.9375 36.4237 24.8866 36.3729 24.8697C36.3559 24.8697 36.339 24.8358 36.322 24.8189C36.322 24.8189 36.3559 24.8528 36.3729 24.8697C36.3559 24.8697 36.339 24.8358 36.322 24.8189C36.4067 24.8866 36.4999 24.9205 36.6016 24.9459H36.5508L36.5169 24.929V24.9375ZM36.8388 24.9375C36.5762 24.9375 36.3051 24.8104 36.1357 24.5817C36.2966 24.8104 36.5592 24.9375 36.8388 24.9375ZM36.5677 23.184C36.5677 23.184 36.5169 23.2179 36.4999 23.2179C36.5169 23.2179 36.5508 23.184 36.5677 23.184ZM36.7795 23.0146H36.8472C36.9743 23.0146 37.0929 23.0485 37.2199 23.0993C37.1098 23.0485 36.9743 23.0146 36.8472 23.0146H36.7795ZM38.2788 16.9496H38.2279H38.2957H38.2788ZM38.9564 15.8738C38.9564 15.8738 38.9564 15.8399 38.9395 15.8061C38.9395 15.823 38.9395 15.8399 38.9564 15.8738ZM45.3094 16.7632C45.3094 16.7632 45.2756 16.7971 45.2756 16.8141C45.2756 16.7971 45.3094 16.7802 45.3094 16.7632ZM45.4026 16.831C45.4026 16.831 45.4196 16.7971 45.4365 16.7802C45.4365 16.7802 45.4196 16.8141 45.4026 16.831ZM45.4196 16.7209C45.4196 16.7209 45.5043 16.6362 45.5466 16.6108C45.7076 16.5007 45.8854 16.4498 46.0633 16.4498C46.3259 16.4498 46.58 16.5599 46.7579 16.8056C46.8088 16.8734 46.8426 16.9496 46.8681 17.0174C46.8342 16.9327 46.8003 16.8734 46.7579 16.8056C46.597 16.5769 46.3344 16.4498 46.0633 16.4498C45.8854 16.4498 45.7076 16.5007 45.5466 16.6108C45.4958 16.6447 45.4619 16.6955 45.4196 16.7209ZM46.3767 16.4244C46.3767 16.4244 46.4699 16.4752 46.5208 16.4922C46.4699 16.4583 46.4276 16.4414 46.3767 16.4244H46.3598C46.309 16.4075 46.2497 16.3905 46.1989 16.3736C46.2497 16.3736 46.309 16.3905 46.3598 16.4244H46.3767ZM46.9443 17.0597C46.9443 17.0597 46.9273 16.975 46.9104 16.9496C46.8935 16.8988 46.8765 16.8649 46.8426 16.8395C46.8426 16.8056 46.8257 16.7887 46.7918 16.7548C46.7749 16.7209 46.741 16.7039 46.7071 16.687C46.741 16.7209 46.7749 16.7378 46.7918 16.7717C46.8088 16.8056 46.8257 16.8225 46.8426 16.8564C46.8596 16.8903 46.8935 16.9411 46.9104 16.9665C46.9104 17.0004 46.9443 17.0512 46.9443 17.0767V17.0597ZM46.5377 16.5091C46.5377 16.5091 46.5716 16.543 46.5885 16.5599C46.5885 16.5599 46.5716 16.543 46.5546 16.5261L46.5377 16.5091ZM46.5716 16.543C46.5716 16.543 46.5208 16.5091 46.5038 16.4922C46.5208 16.4922 46.5546 16.5261 46.5716 16.543ZM46.7495 16.7039C46.7495 16.7039 46.7833 16.7378 46.7833 16.7548C46.8935 16.9157 46.9443 17.0936 46.9612 17.2715C46.9612 17.0936 46.8935 16.8988 46.7833 16.7548C46.7833 16.7378 46.7495 16.7209 46.7325 16.7039H46.7495ZM46.9612 17.3054C46.9612 17.568 46.8511 17.8136 46.6394 17.9915C46.6394 17.9915 46.7833 17.8644 46.8342 17.7797C46.868 17.7289 46.885 17.6781 46.9019 17.6357V17.6188C46.9189 17.568 46.9358 17.5087 46.9528 17.4578C46.9528 17.4578 46.9358 17.568 46.9019 17.6188V17.6357C46.885 17.6865 46.8511 17.7374 46.8342 17.7797C46.7833 17.8644 46.7241 17.9407 46.6394 18.0084C46.8511 17.8306 46.9612 17.568 46.9612 17.3054ZM45.2756 24.336V24.4038C45.2756 24.4038 45.2417 24.4038 45.2247 24.3869V24.4377C45.2247 24.4377 45.2586 24.4377 45.2756 24.4546C45.2756 24.4546 45.2417 24.4546 45.2247 24.4377C45.2078 24.4377 45.1909 24.4377 45.157 24.4207C45.157 24.4207 45.1909 24.4207 45.2247 24.4377V24.3869C45.2247 24.3869 45.2755 24.4038 45.2925 24.4207C45.2925 24.4207 45.2586 24.3869 45.2417 24.3869C45.2417 24.3869 45.2755 24.4038 45.2925 24.4207V24.353L45.2756 24.336ZM44.1574 24.7426H44.0304C44.0304 24.7426 44.0134 24.7765 43.9965 24.7935C43.9965 24.7935 44.0134 24.7596 44.0304 24.7426H44.1574L44.3692 24.7935L44.1574 24.7596V24.7426ZM44.1236 24.7935H44.0558C44.0558 24.7935 44.0388 24.8273 44.0219 24.8443C44.0219 24.8443 44.0388 24.8104 44.0558 24.7935H44.1236C44.1236 24.7935 44.1405 24.7596 44.1574 24.7426C44.1574 24.7426 44.1405 24.7765 44.1236 24.7935ZM44.0134 24.8443C44.0134 24.8443 44.0134 24.8782 43.9965 24.8782C43.9965 24.8782 43.9965 24.8443 44.0134 24.8443ZM44.0134 24.7342H43.9457C43.9457 24.7342 43.9287 24.768 43.9118 24.785C43.9118 24.785 43.9287 24.7511 43.9457 24.7342H44.0134C44.0134 24.7342 44.0473 24.7003 44.0473 24.6833C44.0473 24.6833 44.0134 24.7172 43.9965 24.7342C43.9965 24.7342 44.0134 24.7003 44.0304 24.6833C44.0304 24.6833 44.0134 24.7172 43.9965 24.7342H44.0134ZM43.9033 24.7172C43.9033 24.7172 43.8864 24.7511 43.8694 24.768C43.8694 24.768 43.8864 24.7342 43.9033 24.7172ZM37.7451 24.0565C37.7451 24.1073 37.7451 24.1582 37.7282 24.2005C37.7282 24.2005 37.7451 24.0989 37.7451 24.0565ZM37.5249 24.4462C37.5249 24.4462 37.5418 24.4123 37.5588 24.3953C37.6096 24.3106 37.6096 24.2174 37.6265 24.1158C37.6265 24.2174 37.6096 24.3106 37.5588 24.3953C37.5588 24.4123 37.5418 24.4292 37.5249 24.4462ZM36.7456 23.0824H36.8303C36.9573 23.0824 37.0759 23.1163 37.203 23.1671C37.2199 23.1671 37.2369 23.1671 37.2707 23.184C37.2877 23.184 37.3047 23.201 37.3216 23.2179C37.3047 23.2179 37.2877 23.201 37.2707 23.184C37.2538 23.184 37.2369 23.184 37.203 23.1671C37.0929 23.1163 36.9573 23.0824 36.8303 23.0824H36.7456H36.6947H36.7625H36.7456ZM38.2195 17.0174V16.9665H38.2703V16.8988L38.3381 16.543L38.6938 16.5938H38.7616C38.7616 16.5938 38.7785 16.5769 38.7955 16.5599C38.7955 16.5599 38.7785 16.5938 38.7616 16.6108C38.7616 16.6108 38.7785 16.5769 38.7955 16.5599C38.7955 16.5599 38.7785 16.5938 38.7616 16.6108H38.6938L38.3381 16.5599L38.2872 16.9157V16.9835H38.2364V17.0343L38.2195 17.0174ZM38.8548 16.4668H38.9056C38.9056 16.4668 38.8887 16.5007 38.8717 16.5176C38.8717 16.5176 38.8887 16.4837 38.9056 16.4498C38.9056 16.4498 38.9056 16.4837 38.8887 16.5007C38.8887 16.4837 38.8887 16.4668 38.9056 16.4498H38.8548V16.4668ZM45.2078 16.9242C45.2078 16.9242 45.2078 16.9581 45.1908 16.992C45.1908 16.975 45.1909 16.9581 45.2078 16.9242ZM46.3767 17.1021L46.2158 18.1101L46.3937 17.1021H46.3767ZM46.6224 18C46.6224 18 46.5885 18.0338 46.5716 18.0508C46.5716 18.0508 46.6055 18.0169 46.6224 18C46.6224 18 46.6055 18 46.6055 18.0169L46.6224 18ZM46.1819 18.3642L45.2247 24.336C45.2247 24.336 45.1909 24.336 45.157 24.3191V24.3869C45.157 24.3869 45.0892 24.3869 45.0638 24.3699C45.0977 24.3699 45.1316 24.3699 45.157 24.3869C45.0638 24.336 44.9622 24.336 44.8605 24.3191C44.9622 24.3191 45.0553 24.336 45.157 24.3869V24.3191C45.157 24.3191 45.1909 24.3191 45.2247 24.336L46.1819 18.3642ZM44.0558 24.7087C44.0558 24.7087 44.0388 24.7426 44.0219 24.7596C44.0219 24.7596 44.0388 24.7257 44.0558 24.7087ZM37.2369 23.2772C37.2369 23.2772 37.2708 23.2941 37.2877 23.3111V23.4381C37.2877 23.4381 37.3047 23.4551 37.3216 23.472V23.4043C37.3216 23.4043 37.3555 23.4381 37.3724 23.4551C37.3724 23.4551 37.3385 23.4212 37.3216 23.4043V23.472C37.3216 23.472 37.2877 23.4551 37.2707 23.4381V23.3111C37.2707 23.3111 37.2369 23.2772 37.2199 23.2772C37.203 23.2772 37.1861 23.2772 37.1522 23.2603C37.1522 23.2603 37.186 23.2603 37.2199 23.2772H37.2369ZM38.2788 17.1783V17.1105H38.3296V17.1783H38.2788ZM38.2957 17.0767V17.0936V17.0428C38.2957 17.0428 38.3296 17.0428 38.3465 17.0258V16.9581C38.3465 16.9581 38.3974 16.9411 38.4143 16.9242C38.4143 16.9242 38.3635 16.9581 38.3465 16.9581V17.0258H38.2957V17.0767ZM38.8802 16.6023H38.948C38.948 16.6023 38.9649 16.5684 38.9818 16.5515H39.0496C39.0496 16.5515 39.0496 16.5176 39.0666 16.5007C39.0666 16.5007 39.0665 16.5345 39.0496 16.5684C39.0496 16.5684 39.0327 16.6023 39.0157 16.6192C39.0157 16.6192 39.0327 16.5854 39.0496 16.5684H38.9818C38.9818 16.5684 38.9649 16.6023 38.948 16.6192H38.8802V16.6023ZM46.0549 18.127C46.0549 18.127 46.1226 18.127 46.165 18.1101C46.165 18.1101 46.0972 18.127 46.0549 18.127C45.9448 18.127 45.8261 18.0931 45.716 18.0423C45.8092 18.0931 45.9278 18.127 46.0549 18.127ZM44.4539 24.3784C44.3692 24.4123 44.293 24.4462 44.2082 24.5055C44.2082 24.5055 44.3692 24.4123 44.4539 24.3784C44.3692 24.4123 44.276 24.4462 44.2082 24.4885C44.293 24.4377 44.3692 24.3869 44.4539 24.3614C44.4539 24.3614 44.5047 24.3445 44.5217 24.3445C44.5047 24.3445 44.4708 24.3445 44.4539 24.3614H44.5047C44.5047 24.3614 44.4708 24.3614 44.4539 24.3784ZM44.3268 24.5055C44.3268 24.5055 44.276 24.5393 44.2421 24.5563C44.276 24.5393 44.293 24.5224 44.3268 24.5055ZM37.8468 23.76C37.8129 23.6584 37.7621 23.5652 37.7028 23.4636C37.635 23.3619 37.5588 23.3026 37.4571 23.2348L38.4313 17.119C38.4313 17.119 38.5752 17.0512 38.66 17.0089L38.7108 16.975L38.7616 16.9411C38.7616 16.9411 38.8887 16.8141 38.9395 16.7463L45.0469 17.6696C45.0807 17.7628 45.1316 17.8814 45.1908 17.9576C45.2586 18.0593 45.3349 18.1186 45.4365 18.1863L44.4624 24.3022C44.3692 24.336 44.2506 24.3869 44.1659 24.4462C44.0727 24.5139 44.005 24.5902 43.9372 24.6918L37.8298 23.7685L37.8468 23.7516V23.76ZM37.796 23.8109C37.796 23.8109 37.7959 23.76 37.779 23.7431C37.779 23.7431 37.779 23.7939 37.796 23.8109ZM37.7451 23.8617C37.7451 23.8617 37.7451 23.8278 37.7282 23.8109V23.8617H37.7451ZM37.2453 23.3873C37.2453 23.3873 37.2115 23.3704 37.1945 23.3534C37.0929 23.3026 36.9658 23.2687 36.8557 23.2687C36.9658 23.2687 37.0844 23.3026 37.1945 23.3534C37.1945 23.3534 37.2284 23.3704 37.2453 23.3873V23.3196C37.2453 23.3196 37.2284 23.3196 37.2115 23.3026C37.2284 23.3026 37.2454 23.3026 37.2623 23.3196V23.3873H37.2453ZM36.9404 23.1756C37.0336 23.1756 37.1352 23.1925 37.2199 23.2433C37.2199 23.2433 37.2538 23.2433 37.2877 23.2603C37.2877 23.2603 37.2538 23.2603 37.2199 23.2433C37.2199 23.2433 37.0421 23.1925 36.9404 23.1756ZM37.3978 23.4043V23.3365C37.3978 23.3365 37.3639 23.3026 37.347 23.2857V23.3534C37.347 23.3534 37.3809 23.3704 37.3978 23.3873C37.3978 23.3873 37.3639 23.3704 37.347 23.3534V23.2264C37.347 23.2264 37.3809 23.2433 37.3978 23.2603C37.3978 23.2603 37.3809 23.2433 37.347 23.2264V23.2941C37.347 23.2941 37.3809 23.3111 37.3978 23.328V23.4127V23.4043ZM37.6435 23.7261C37.6435 23.7261 37.6096 23.6245 37.5757 23.5991C37.6096 23.6499 37.6265 23.6838 37.6435 23.7261ZM37.7112 23.7261C37.7112 23.7261 37.6604 23.5991 37.6096 23.5313C37.5588 23.4636 37.5164 23.4212 37.4656 23.3704C37.4656 23.3704 37.4317 23.3365 37.4148 23.3196C37.4148 23.3196 37.4486 23.3534 37.4656 23.3534C37.4656 23.3534 37.5757 23.4466 37.6096 23.5144C37.6604 23.5821 37.6774 23.6414 37.7112 23.7092C37.7112 23.7261 37.7451 23.76 37.7451 23.777C37.7451 23.777 37.7282 23.7261 37.7112 23.7092V23.7261ZM37.4656 23.2857C37.4656 23.2857 37.6096 23.4127 37.6604 23.4805C37.6774 23.5144 37.6943 23.5483 37.7112 23.5652C37.7112 23.5313 37.6774 23.4974 37.6604 23.4805C37.6096 23.3958 37.5334 23.3365 37.4656 23.2857ZM37.6943 23.8363C37.6943 23.8363 37.6943 23.8024 37.6774 23.7685H37.6096C37.6096 23.7685 37.5926 23.7177 37.5757 23.7007C37.5757 23.7007 37.5418 23.633 37.5249 23.5991C37.5418 23.633 37.5588 23.6669 37.5757 23.7007C37.5757 23.7007 37.5927 23.7516 37.6096 23.7685H37.6774C37.6774 23.7685 37.6773 23.8024 37.6943 23.8363ZM38.3635 16.992C38.3635 16.992 38.3974 16.992 38.4143 16.975C38.4143 16.975 38.3804 16.975 38.3635 16.992ZM38.5414 16.7632C38.5414 16.7632 38.5922 16.7463 38.6091 16.7294C38.6091 16.7294 38.5583 16.7463 38.5414 16.7632ZM38.6091 16.7294C38.6091 16.7294 38.66 16.6785 38.6938 16.6447C38.6938 16.6447 38.643 16.6955 38.6091 16.7294ZM38.8378 16.6785C38.8378 16.6785 38.8717 16.6447 38.8887 16.6277C38.8887 16.6277 38.8548 16.6616 38.8378 16.6785ZM38.948 16.6277C38.948 16.6277 38.9649 16.5938 38.9818 16.5769C38.9818 16.5938 38.9649 16.6108 38.948 16.6277ZM45.1485 17.6188C45.1485 17.6188 45.1485 17.568 45.1315 17.551C45.1315 17.568 45.1316 17.6018 45.1485 17.6188H45.2163C45.2163 17.6188 45.2163 17.5849 45.1993 17.568C45.1993 17.568 45.2163 17.6018 45.2163 17.6188C45.2501 17.6865 45.2671 17.7458 45.3094 17.8136C45.3603 17.8814 45.4026 17.9237 45.4534 17.9746C45.4026 17.9237 45.3349 17.8729 45.3094 17.8136C45.2586 17.7458 45.2417 17.6865 45.2163 17.6188C45.2163 17.6188 45.2502 17.7035 45.284 17.7374C45.284 17.7713 45.3179 17.7882 45.3349 17.8221C45.3857 17.8898 45.428 17.9322 45.4958 17.983C45.4958 17.983 45.5297 18.0169 45.5466 18.0338C45.5466 18.0338 45.5127 18 45.4958 18V18.0677C45.4958 18.0677 45.5297 18.0847 45.5466 18.1016C45.5466 18.1016 45.5636 18.1186 45.5805 18.1355C45.5636 18.1355 45.5466 18.1186 45.5297 18.1016C45.5127 18.1016 45.4958 18.0847 45.4788 18.0677V18C45.4788 18 45.3687 17.8898 45.3179 17.8221C45.301 17.8051 45.284 17.7713 45.2671 17.7374C45.2501 17.7035 45.2163 17.6527 45.1993 17.6188H45.1315H45.1485ZM38.4736 16.9242C38.4736 16.9242 38.5583 16.8903 38.6007 16.8564H38.6176C38.6176 16.8564 38.6515 16.8395 38.6684 16.8225C38.6515 16.8225 38.6346 16.8395 38.6176 16.8564H38.6007C38.6007 16.8564 38.516 16.9072 38.4736 16.9242ZM38.6684 16.8141C38.6684 16.8141 38.6345 16.831 38.6007 16.8479C38.6176 16.8479 38.6345 16.848 38.6515 16.8141H38.6684ZM38.7023 16.7971C38.7023 16.7971 38.6854 16.8141 38.6684 16.831L38.7023 16.8818H38.6854L38.7193 16.8649L38.6854 16.8141C38.6854 16.8141 38.7023 16.7971 38.7193 16.7802L38.7023 16.7971ZM38.8971 16.6616L38.7531 16.8056C38.7531 16.8056 38.8633 16.7039 38.8971 16.6616ZM45.5805 18.0423C45.5805 18.0423 45.6144 18.0423 45.6313 18.0762C45.6313 18.0762 45.5975 18.0762 45.5805 18.0593V18.0423ZM45.5805 17.9915C45.5805 17.9915 45.6144 18.0084 45.6313 18.0254C45.6144 18.0254 45.5975 18.0084 45.5805 17.9915ZM45.6822 18.1186C45.6822 18.1186 45.6991 18.1186 45.716 18.1355H45.733C45.7838 18.1524 45.8431 18.1694 45.8939 18.1863H46.021H45.877C45.877 18.1863 45.7668 18.1694 45.716 18.1355H45.6652L45.6822 18.1186ZM45.6144 18.0931C45.6144 18.0931 45.6483 18.0931 45.6652 18.1101C45.6483 18.1101 45.6313 18.1101 45.6144 18.0931ZM45.4704 17.8136C45.4704 17.8136 45.5043 17.8475 45.5212 17.8644C45.5043 17.8644 45.4873 17.8306 45.4704 17.8136ZM45.5212 17.9237C45.5212 17.9237 45.5551 17.9407 45.572 17.9576C45.5551 17.9576 45.5382 17.9407 45.5212 17.9237ZM45.2756 17.4663L45.6483 17.5171L45.2925 17.4663H45.2756ZM45.2247 17.5341C45.2247 17.5341 45.2417 17.5849 45.2586 17.6018H45.3264L45.4873 17.6357L45.3264 17.6188H45.2586C45.2586 17.6188 45.2247 17.568 45.2247 17.5341ZM45.6144 18.1524C45.6144 18.1524 45.6483 18.1524 45.6822 18.1694C45.7923 18.2202 45.9278 18.2541 46.0549 18.2541C45.9278 18.2541 45.8092 18.2202 45.6822 18.1694C45.6652 18.1694 45.6483 18.1694 45.6144 18.1524ZM45.6313 18.0847C45.6313 18.0847 45.6652 18.1016 45.6822 18.1186C45.6822 18.1186 45.6483 18.1016 45.6313 18.0847ZM38.7785 16.6531C38.7785 16.6531 38.6938 16.7378 38.6684 16.7632C38.6684 16.7632 38.7531 16.6955 38.7785 16.6531ZM45.6059 17.9491C45.6059 17.9491 45.572 17.9322 45.5551 17.9153C45.5551 17.9153 45.589 17.9322 45.6059 17.9491ZM38.7277 16.5684H38.7955C38.7955 16.5684 38.8124 16.5345 38.8294 16.5176C38.8294 16.5345 38.8124 16.5515 38.7955 16.5684H38.7277C38.7277 16.5684 38.6938 16.6023 38.6769 16.6192C38.6769 16.6192 38.6261 16.6701 38.5922 16.687C38.5922 16.687 38.5583 16.7209 38.5414 16.7378C38.5244 16.7378 38.5075 16.7548 38.4736 16.7717C38.4736 16.7717 38.4058 16.8056 38.3889 16.8225C38.3889 16.8225 38.4567 16.7887 38.4736 16.7717C38.4905 16.7717 38.5244 16.7548 38.5414 16.7378C38.5583 16.7378 38.5753 16.7039 38.5922 16.687C38.6261 16.6701 38.643 16.6362 38.6769 16.6192C38.6769 16.6192 38.7108 16.5854 38.7277 16.5684ZM37.2623 23.0908C37.2623 23.0908 37.2284 23.0739 37.2115 23.057C37.2115 23.057 37.2454 23.057 37.2623 23.0908ZM37.2623 23.1586C37.2623 23.1586 37.2792 23.1756 37.2962 23.1925C37.2962 23.1925 37.2623 23.1756 37.2453 23.1586H37.2623ZM37.1352 23.1586C37.1352 23.1586 37.1183 23.1586 37.1014 23.1417C37.1014 23.1417 37.1183 23.1417 37.1352 23.1586ZM37.0844 23.1417H37.0336H37.1014H37.0844ZM44.3861 24.3784C44.3861 24.3784 44.437 24.3445 44.4539 24.3445C44.437 24.3445 44.4031 24.3614 44.3861 24.3784C44.3861 24.3784 44.2591 24.4292 44.1913 24.4716C44.2591 24.4207 44.3184 24.4038 44.3861 24.3784ZM44.2252 24.5224C44.2252 24.5224 44.3184 24.4716 44.3692 24.4377C44.3861 24.4377 44.42 24.4038 44.437 24.4038C44.42 24.4038 44.3861 24.4207 44.3692 24.4377C44.3184 24.4546 44.276 24.4885 44.2252 24.5224C44.2083 24.5224 44.1913 24.5563 44.1574 24.5732C44.1744 24.5563 44.1913 24.5393 44.2082 24.5224H44.2252ZM44.5217 24.3276C44.5217 24.3276 44.4878 24.3276 44.4708 24.3445C44.4708 24.3445 44.5047 24.3445 44.5217 24.3276ZM46.2751 18.0593C46.2751 18.0593 46.2412 18.0593 46.2243 18.0762C46.2412 18.0762 46.2582 18.0762 46.2751 18.0593ZM46.3683 17.9491C46.3683 17.9491 46.436 17.9153 46.4614 17.8983C46.4614 17.8983 46.3937 17.9322 46.3683 17.9491ZM46.5123 17.9491C46.5123 17.9491 46.4784 17.9661 46.4445 17.983C46.4445 17.983 46.4953 17.9661 46.5123 17.9491ZM45.4534 16.6785L46.4614 16.8395L45.4534 16.6955V16.6785ZM46.2497 18.0084L46.4276 16.9496L46.2666 18.0084H46.2497ZM45.2163 16.8141C45.2163 16.8141 45.2163 16.7802 45.2332 16.7632C45.2332 16.7632 45.2332 16.7971 45.2163 16.8141ZM39.1258 16.0517C39.1258 16.1534 39.092 16.2635 39.0581 16.3567C39.092 16.255 39.1258 16.1618 39.1258 16.0517ZM37.2453 23.0908C37.2453 23.0908 37.2115 23.0908 37.1776 23.0739C37.0675 23.0231 36.9319 22.9892 36.8049 22.9892C36.9319 22.9892 37.0505 23.0231 37.1776 23.0739C37.1776 23.0739 37.2115 23.0739 37.2453 23.0908ZM44.4539 24.4546C44.4539 24.4546 44.4031 24.4716 44.3861 24.4885L44.3523 24.6495L44.3861 24.5055C44.3861 24.5055 44.437 24.4885 44.4539 24.4716V24.4546ZM44.9028 24.2598C44.9028 24.2598 45.013 24.2767 45.0638 24.3106C45.013 24.2937 44.9537 24.2767 44.9028 24.2598ZM46.3513 18.0677C46.3513 18.0677 46.453 18.0169 46.4784 18C46.4784 18 46.3937 18.0508 46.3513 18.0677ZM45.2925 16.7632H45.3603C45.3603 16.7632 45.3433 16.7971 45.3264 16.8141C45.3264 16.7971 45.3433 16.7802 45.3603 16.7632H45.2925C45.2925 16.7632 45.2756 16.7971 45.2586 16.8141C45.2586 16.8141 45.2417 16.848 45.2247 16.8649H45.1739C45.1739 16.8649 45.1909 16.831 45.2078 16.7971C45.2078 16.7971 45.1909 16.831 45.1739 16.8479H45.2247C45.2247 16.8479 45.2417 16.8141 45.2586 16.7802C45.2586 16.7632 45.2755 16.7463 45.2925 16.7294V16.7632ZM45.2078 16.7632H45.14C45.14 16.7632 45.1231 16.7802 45.1061 16.7971C45.1061 16.7971 45.1231 16.7632 45.14 16.7463H45.2078V16.7632ZM45.1061 16.8141C45.1061 16.8141 45.1061 16.848 45.0892 16.8818C45.0384 16.992 45.0214 17.1105 45.0045 17.2207C45.0045 17.1105 45.0384 16.975 45.0723 16.8818C45.0723 16.8649 45.0723 16.848 45.0892 16.8141C45.0892 16.8141 45.1062 16.7971 45.1231 16.7632C45.1231 16.7632 45.1061 16.7971 45.0892 16.8141H45.1061ZM36.2712 23.3365C36.0425 23.5144 35.9155 23.777 35.9155 24.0396C35.9155 23.76 36.0425 23.5059 36.2712 23.3365C36.322 23.3026 36.3644 23.2857 36.4152 23.2518C36.4152 23.2518 36.466 23.2179 36.483 23.2179C36.483 23.2179 36.4322 23.2348 36.4152 23.2518C36.3644 23.2687 36.322 23.3026 36.2712 23.3365ZM36.4322 23.1756C36.4322 23.1756 36.3813 23.1925 36.3644 23.2094C36.3813 23.2094 36.3983 23.1925 36.4322 23.1756ZM36.4745 23.3111V23.2433C36.4745 23.2433 36.4237 23.2603 36.4067 23.2772C36.4067 23.2772 36.322 23.3111 36.2797 23.345C36.3305 23.3111 36.3729 23.2941 36.4067 23.2772C36.4067 23.2772 36.4576 23.2433 36.4745 23.2433V23.3111ZM37.7621 23.9803V23.9125H37.7112V23.9633V23.8956H37.7621V23.9803ZM44.0134 24.9205C44.0134 24.9205 44.0304 24.8866 44.0473 24.8697C44.0473 24.8697 44.0642 24.8358 44.0812 24.8189L44.3268 24.8528V24.785V24.8358L44.0812 24.8019C44.0812 24.8019 44.0642 24.8358 44.0473 24.8528C44.0473 24.8697 44.0304 24.8866 44.0134 24.9036C43.9626 24.9883 43.9626 25.0815 43.9457 25.1831C43.9457 25.0815 43.9626 24.9883 44.0134 24.9036V24.9205ZM44.3692 24.9205H44.3184H44.3861H44.3692ZM44.5471 24.9375L44.6403 24.9544L44.5471 24.9205V24.9375ZM44.5301 25.0052V25.1069H44.5132V25.0052H44.5301ZM44.5979 25.1831H44.437V25.1662H44.5979V25.1831ZM44.5979 25.1831H44.6487H44.581L44.42 25.1492H44.581L44.5979 25.1831ZM44.4708 24.8528V24.9798H44.42L44.3861 25.1916L44.42 24.9629V24.8951H44.4708V24.8443V24.8528ZM44.3523 24.8019V24.7342L44.3861 24.5393C44.3861 24.5393 44.42 24.5224 44.4539 24.5055C44.437 24.5055 44.42 24.5224 44.3861 24.5393L44.3523 24.7342V24.8019ZM44.6996 24.3445H44.6148H44.8435H44.6996ZM46.5546 18.0847L46.5377 18.0338L46.5716 18.0847H46.5546ZM46.5546 18.0169H46.5208V18.0338L46.5546 18V18.0169ZM45.0638 16.8141C45.0638 16.8141 45.0807 16.7802 45.0977 16.7802C45.0977 16.7802 45.0807 16.8141 45.0638 16.8141ZM37.5164 15.3995C37.3978 15.4842 37.3046 15.5943 37.2538 15.7044C37.3216 15.5943 37.3978 15.4757 37.5164 15.3995ZM37.5164 15.5096C37.3555 15.6536 37.2708 15.8315 37.2538 16.0263C37.2708 15.8315 37.3639 15.6366 37.5164 15.5096ZM37.8214 15.5773C37.9145 15.4757 38.0162 15.3995 38.1263 15.2978C38.0331 15.3995 37.9315 15.4757 37.8214 15.5773L38.7277 15.7213L37.8044 15.5773H37.8214ZM38.7023 15.5265C38.7023 15.5265 38.7362 15.5604 38.7531 15.5773C38.7531 15.5604 38.7192 15.5435 38.7023 15.5265ZM37.1776 16.1618C37.1776 16.1618 37.2115 16.1279 37.2284 16.111C37.2284 16.111 37.1945 16.1449 37.1776 16.1618ZM38.0331 16.8903C38.0331 16.8903 38.1009 16.8903 38.1432 16.8734C38.1432 16.8734 38.0755 16.8903 38.0331 16.8903ZM38.1009 16.992H38.1178H38.0331H38.1009ZM37.8214 16.9581C37.8214 16.9581 37.9484 16.992 38.0162 16.992C37.9484 16.992 37.8891 16.975 37.8214 16.9581ZM35.8562 23.904C35.8562 23.904 35.8223 24.0057 35.8223 24.048V24.1327C35.8223 24.1836 35.8223 24.2344 35.8392 24.2767C35.8392 24.3106 35.8562 24.3615 35.8731 24.3869C35.89 24.4377 35.907 24.4716 35.9409 24.497C35.9409 24.5309 35.9748 24.5478 35.9917 24.5817C35.9917 24.5986 36.0256 24.6156 36.0425 24.6325C36.0425 24.6156 36.0086 24.5986 35.9917 24.5817C35.9917 24.5986 36.0256 24.6156 36.0425 24.6325C36.0425 24.6325 36.0086 24.5986 35.9917 24.5817C35.9748 24.5478 35.9578 24.5309 35.9409 24.497C35.9409 24.5309 35.9578 24.5478 35.9917 24.5817C36.0086 24.6156 36.0595 24.6325 36.0764 24.6664C36.0764 24.6664 36.0086 24.6156 35.9917 24.5817C35.9748 24.5478 35.9578 24.5309 35.9409 24.497C35.9239 24.4631 35.89 24.4123 35.8731 24.3869C35.8731 24.353 35.8392 24.3022 35.8392 24.2767C35.8392 24.2259 35.8223 24.1751 35.8223 24.1327V24.048C35.8223 23.9972 35.8392 23.9464 35.8562 23.904ZM37.203 24.768C37.203 24.768 37.059 24.8528 36.9743 24.8697C37.059 24.8528 37.1183 24.8019 37.203 24.768ZM37.2199 24.6833C37.0759 24.785 36.915 24.8443 36.7456 24.8443C36.4999 24.8443 36.2543 24.7342 36.0933 24.5224C36.2543 24.7342 36.483 24.8443 36.7456 24.8443C36.9065 24.8443 37.0675 24.7935 37.2199 24.6833C37.2199 24.6833 37.2538 24.6495 37.2707 24.6325C37.2707 24.6325 37.2369 24.6664 37.2199 24.6833ZM37.7112 24.4546C37.7112 24.4546 37.7112 24.4885 37.6943 24.5055C37.6943 24.5055 37.7112 24.4716 37.7112 24.4546ZM43.7339 25.2509C43.7339 25.1408 43.7678 25.0222 43.8017 24.912C43.7508 25.0222 43.7339 25.1408 43.7339 25.2509ZM43.8609 25.2509C43.8609 25.1408 43.8948 25.0052 43.9457 24.8951C43.8948 25.0052 43.8609 25.1238 43.8609 25.2509ZM45.0638 25.1492H45.0299V25.1662V25.1323L45.1231 24.5309C45.1231 24.5309 45.0892 24.5139 45.0723 24.497C44.9706 24.4462 44.8436 24.4123 44.7334 24.4123C44.6996 24.4123 44.6657 24.4123 44.6233 24.4292L44.5725 24.7087V24.7765L44.6741 24.7935L44.8012 24.8104H44.869L44.8181 25.0899L44.852 24.8951V24.8273H44.6741L44.564 24.7935H44.4962V24.8612V24.8104H44.4454H44.5132H44.581V24.7426L44.6318 24.4631V24.3953H44.7419C44.852 24.3953 44.9537 24.4292 45.0469 24.4631C44.9537 24.4292 44.8351 24.3953 44.7419 24.3953H44.6403V24.4631C44.6403 24.4631 44.708 24.4462 44.7419 24.4462C44.852 24.4462 44.9706 24.48 45.0807 24.5309V24.4631C45.0807 24.4631 45.1146 24.4631 45.1146 24.48C45.1146 24.48 45.0807 24.48 45.0807 24.4631V24.5309C45.0807 24.5309 45.1146 24.5478 45.1315 24.5647L45.0384 25.1662H45.0892L45.0723 25.1492H45.0638ZM45.1908 24.5139V24.5817L45.0977 25.1323L45.1824 24.5817V24.5139C45.1824 24.5139 45.2163 24.5309 45.2332 24.5478C45.2332 24.5478 45.1993 24.5309 45.1824 24.5139H45.1993H45.1908ZM46.6224 18.0254C46.6224 18.0254 46.5885 18.0593 46.5716 18.0593C46.5716 18.0593 46.6055 18.0254 46.6224 18.0084V18.0254ZM38.7785 15.5181C38.7108 15.4164 38.6345 15.3571 38.5329 15.2893L38.5159 15.2724C38.4651 15.2385 38.4143 15.2216 38.372 15.2046C38.4228 15.2216 38.4736 15.2555 38.5159 15.2724C38.6091 15.3402 38.7108 15.4164 38.7955 15.5181H38.7785ZM38.0331 15.1284H37.9654C37.9145 15.1284 37.8468 15.1284 37.8044 15.1623C37.7536 15.1623 37.7197 15.1962 37.6943 15.2131C37.6773 15.2131 37.6435 15.23 37.6265 15.247C37.6435 15.247 37.6773 15.23 37.6943 15.2131C37.7282 15.2131 37.779 15.1792 37.8044 15.1623C37.8552 15.1623 37.9145 15.1453 37.9654 15.1284H38.0331C38.1009 15.1284 38.1602 15.1284 38.2279 15.1453C38.1602 15.1453 38.1009 15.1284 38.0331 15.1284ZM37.4825 15.3063C37.4825 15.3063 37.4317 15.3741 37.3978 15.4079C37.4317 15.3741 37.4486 15.3402 37.4825 15.3063C37.4825 15.3063 37.5164 15.3063 37.5164 15.2893C37.5164 15.2893 37.4825 15.2893 37.4825 15.3063ZM37.2877 15.5181C37.2877 15.5181 37.2538 15.5519 37.2369 15.5689C37.2369 15.5519 37.2708 15.535 37.2877 15.5181C37.1776 15.6621 37.1268 15.8399 37.1098 16.0263C37.1098 15.8484 37.1776 15.6705 37.2877 15.5181C37.2877 15.535 37.2538 15.5519 37.2369 15.5689C37.203 15.6197 37.186 15.6705 37.1691 15.7129V15.7298C37.1522 15.7806 37.1352 15.8399 37.1183 15.8908C37.1183 15.9416 37.1014 15.9839 37.1014 16.0348V16.1025V16.0178C37.1014 15.967 37.1013 15.9162 37.1183 15.8738C37.1183 15.8738 37.1352 15.7552 37.1691 15.7129V15.6959C37.186 15.6451 37.2199 15.5943 37.2369 15.5519C37.2369 15.535 37.2708 15.5181 37.2877 15.5011V15.5181ZM37.2199 16.5261C37.2199 16.5261 37.2369 16.5769 37.2707 16.6108C37.2877 16.6447 37.3216 16.6616 37.3555 16.6955C37.3216 16.6616 37.3046 16.6447 37.2707 16.6108C37.2538 16.5769 37.2369 16.5599 37.2199 16.5261ZM37.5926 16.8818V16.9327C37.5926 16.9327 37.6265 16.9327 37.6435 16.9496C37.6265 16.9496 37.6096 16.9496 37.5757 16.9327V16.8818H37.5926ZM35.7714 23.7939C35.8223 23.5991 35.9324 23.4043 36.0933 23.2772C35.9324 23.4212 35.8138 23.5991 35.7714 23.7939ZM35.7376 24.0226C35.7376 24.1158 35.7376 24.2174 35.7884 24.3191C35.8392 24.4123 35.8731 24.5139 35.9324 24.5986C35.8646 24.5139 35.8223 24.4207 35.7884 24.3191C35.7545 24.2174 35.7376 24.1243 35.7376 24.0226C35.7376 23.7939 35.8223 23.5652 35.9663 23.3704C35.8223 23.5483 35.7376 23.777 35.7376 24.0226ZM37.2623 24.8528H37.2792V24.8358H37.2623V24.8528ZM37.6181 24.5732C37.6181 24.5732 37.6181 24.5902 37.6011 24.6071C37.6011 24.6071 37.6011 24.5902 37.6181 24.5732ZM43.7424 25.505C43.7424 25.505 43.7424 25.5558 43.7593 25.5728C43.7593 25.5728 43.7593 25.5219 43.7424 25.505ZM43.7763 25.5728C43.7763 25.5728 43.7762 25.5219 43.7593 25.505C43.7593 25.505 43.7593 25.5558 43.7763 25.5728ZM43.9711 25.8015C43.9711 25.8015 43.988 25.8184 44.005 25.8353C44.005 25.8353 43.988 25.8184 43.9711 25.8015ZM43.7593 25.3864V25.3186H43.6915V25.3695V25.3017H43.7593V25.3864ZM45.5127 24.8951C45.5127 24.8951 45.4619 24.785 45.428 24.7342C45.3941 24.6833 45.3433 24.6495 45.3179 24.6071C45.301 24.6071 45.284 24.5732 45.2671 24.5563C45.2671 24.5563 45.301 24.5902 45.3179 24.6071V24.5224V24.5902C45.3179 24.5902 45.4026 24.6749 45.428 24.7172C45.4619 24.768 45.4958 24.8273 45.5127 24.8782C45.5127 24.912 45.5297 24.9459 45.5466 24.9798C45.5466 24.9459 45.5297 24.912 45.5127 24.8782V24.8951ZM38.0416 15.0691C38.1263 15.0691 38.2195 15.0691 38.3042 15.103C38.4058 15.1369 38.5159 15.1708 38.6007 15.23C38.5075 15.1623 38.4058 15.1284 38.3042 15.103C38.3042 15.103 38.2703 15.1369 38.2534 15.1538C38.2872 15.1538 38.3211 15.1708 38.3381 15.1877C38.3042 15.1877 38.2703 15.1708 38.2534 15.1538C38.2534 15.1538 38.2872 15.1199 38.3042 15.103C38.2195 15.086 38.1432 15.0691 38.0416 15.0691ZM36.9827 16.0602C36.9827 16.0602 36.9828 15.9331 36.9997 15.8654C36.9997 15.9331 36.9827 15.9924 36.9827 16.0602ZM43.9965 25.5219C43.9965 25.5219 44.0134 25.5728 44.0304 25.5897C44.0304 25.5897 43.9965 25.5389 43.9965 25.5219ZM49.6125 22.9977L49.5194 23.0654L49.4093 23.1332L49.1128 23.2941L45.7838 25.2085L45.716 25.2424L45.6483 25.2763L45.5805 25.3102L45.5127 25.361L45.5805 25.3271L45.6483 25.2932L45.716 25.2593L45.7838 25.2255C45.7838 25.0815 45.733 24.9459 45.6822 24.8019C45.7499 24.929 45.7838 25.0815 45.7838 25.2255L49.1128 23.3111L49.4093 23.1501L49.5194 23.0824V23.0485H49.4855C49.4855 23.0485 49.4685 23.0654 49.4516 23.0824C49.4516 23.0824 49.4685 23.0654 49.4855 23.0485L49.5024 23.0824L49.5956 23.0146C49.7735 22.8367 49.8752 22.608 49.8921 22.3624V22.2777C49.8921 22.0659 49.8243 21.8372 49.6973 21.6593C49.6295 21.5746 49.5533 21.4984 49.4686 21.4306L50.4427 15.6282L50.3919 15.5604L49.4008 21.3967V21.4475C49.4008 21.4475 49.4347 21.4645 49.4516 21.4814C49.5194 21.5322 49.5787 21.5915 49.6464 21.6762C49.7735 21.8372 49.8243 22.032 49.8243 22.2268C49.8243 22.032 49.7566 21.8372 49.6464 21.6762C49.5956 21.5915 49.5363 21.5492 49.4516 21.4814C49.4347 21.4814 49.4177 21.4645 49.4008 21.4475C49.4008 21.4475 49.3669 21.4137 49.35 21.4137V21.3459C49.35 21.3459 49.3161 21.3289 49.2991 21.312C49.2822 21.312 49.2653 21.312 49.2314 21.2951C49.1213 21.2442 48.9857 21.2104 48.8587 21.2104C48.9857 21.2104 49.1213 21.2442 49.2483 21.2951C49.2483 21.2951 49.2822 21.2951 49.3161 21.312C49.3161 21.312 49.3499 21.3289 49.3669 21.3459C49.3669 21.3459 49.3838 21.3459 49.4008 21.3628C49.4008 21.3628 49.3838 21.3628 49.3669 21.3459V21.4137C49.3669 21.4137 49.3838 21.4306 49.4008 21.4475V21.3798L50.3919 15.5435L50.4427 15.6112L53.8987 20.016L49.8836 22.3285C49.8667 22.5741 49.7735 22.8028 49.5871 22.9807L49.6041 22.9977H49.6125ZM67.0706 26.6909L64.0466 24.9544L63.0555 24.3869C63.1487 24.2937 63.2334 24.1751 63.3351 24.065L57.3717 20.6174C59.5656 20.1769 62.1322 21.4306 64.1313 23.0231C63.8857 23.3789 63.6146 23.7177 63.3351 24.048C63.2419 24.1582 63.1572 24.2598 63.0555 24.3699L64.0466 24.9375L67.0706 26.6739V26.6909ZM84.461 22.625C84.461 22.625 84.3339 22.7097 84.2492 22.7351C84.1391 22.7859 84.0205 22.8367 83.9104 22.8791C81.5725 23.76 78.7009 22.4386 76.4731 20.6682C77.0745 19.8212 77.7691 19.008 78.523 18.3303C78.1334 18.1863 77.7268 18.0508 77.3371 17.9068C76.4138 18.8301 75.6006 19.8889 74.9653 20.8969C77.1084 22.8283 80.3865 24.768 83.3598 24.2174C83.5207 24.1836 83.6816 24.1327 83.8595 24.0904C83.6986 24.1412 83.5376 24.192 83.3598 24.2174L81.4962 28.8848C79.6581 26.513 75.9733 25.7337 73.1187 25.7168C72.9069 26.8857 72.7799 28.241 72.8392 29.5709C72.8392 29.7319 72.8561 29.8928 72.873 30.0792L74.0759 30.7822C74.042 30.6043 74.0251 30.4434 74.0081 30.2655C73.898 29.1728 73.9234 28.0208 74.059 26.9111C76.8373 27.089 79.8105 28.0293 80.9795 30.1808L79.6496 33.5098L74.0166 30.257C74.0335 30.4349 74.0674 30.5959 74.0844 30.7738L72.8815 30.0707C72.8815 29.9098 72.8646 29.7488 72.8476 29.5625L69.4509 27.5973C69.4509 27.5973 69.4848 27.5295 69.5017 27.4871C69.7643 26.801 69.434 26.0556 68.7902 25.793C68.2057 25.5643 67.5704 25.793 67.2485 26.3182L64.3431 24.641C64.8259 24.0396 65.2833 23.4212 65.656 22.8198C63.2842 20.6598 59.5148 18.5251 56.3044 19.7788L58.7694 14.2813C60.4296 17.0936 64.4532 17.9915 67.5196 18.0084C67.6805 17.1614 67.7822 16.2211 67.8161 15.2724C68.8918 15.5011 70.0269 15.7806 71.2298 16.0856C71.4246 16.1364 71.6363 16.1872 71.8312 16.2465L72.1869 17.1105L71.8312 16.2635C71.6363 16.2126 71.4246 16.1618 71.2298 16.1025C71.1959 16.1534 71.162 16.2042 71.145 16.2635C70.8825 16.9496 71.2128 17.695 71.8566 17.9576C72.5258 18.2202 73.2712 17.8729 73.5253 17.1952C73.5761 17.0512 73.61 16.8988 73.61 16.7548C73.483 16.7209 73.3305 16.6701 73.2034 16.6362C73.3305 16.6701 73.466 16.7209 73.61 16.7548C74.8298 17.1105 76.0835 17.5002 77.3625 17.9407C77.7522 18.0677 78.1418 18.2202 78.5484 18.3642C80.5644 19.0927 82.6567 19.9398 84.732 20.9139L83.9188 22.9299C84.0374 22.8791 84.1475 22.8452 84.2576 22.7859C84.3254 22.752 84.4017 22.7012 84.4694 22.6758V22.625H84.461ZM66.681 15.0098C66.681 15.6112 66.6302 16.2126 66.5539 16.7971C63.9704 16.6192 61.2089 15.8061 59.896 13.951C61.2598 14.095 63.6485 14.4084 66.664 15.0098H66.681ZM58.7185 13.4173C58.8371 13.4173 59.0912 13.4512 59.5148 13.4851C59.0912 13.4512 58.8202 13.4173 58.7185 13.4173ZM78.8872 17.9915C78.6416 17.8898 78.3959 17.8136 78.1418 17.7289C78.3875 17.8136 78.6331 17.9068 78.8872 17.9915ZM77.6844 17.568C76.5832 17.1952 75.5244 16.8564 74.4655 16.5261C75.5244 16.8395 76.5917 17.1783 77.6844 17.551V17.568ZM72.3055 15.9077C72.0599 15.8399 71.8312 15.7806 71.594 15.7129C71.8227 15.7806 72.0683 15.8399 72.3055 15.9077ZM68.0787 14.8828C69.1544 15.1115 70.2895 15.391 71.4754 15.6959C70.2895 15.3825 69.1544 15.1284 68.0787 14.8828ZM57.1853 16.687L58.4814 13.7731C58.4814 13.7731 58.4983 13.8239 58.5152 13.8409C58.5152 13.8239 58.4983 13.79 58.4814 13.7731L57.1853 16.687ZM49.3415 13.5359L48.7401 13.4512L43.0562 12.638H42.9885C42.9885 12.638 43.0054 12.6719 43.0054 12.6888C43.0054 12.6888 42.9885 12.638 42.9715 12.6211C42.9376 12.5364 42.9038 12.4601 42.8445 12.3754C42.6497 12.1128 42.3616 11.9688 42.0482 11.9688C41.9805 11.9688 41.9042 11.9858 41.8365 12.0027C41.7094 12.0366 41.5739 12.0874 41.4468 12.1637C41.5569 12.079 41.6925 12.0366 41.8365 12.0027C41.8365 12.0027 41.9635 11.9688 42.0482 11.9688C42.3616 11.9688 42.6497 12.1128 42.8445 12.3754C42.8953 12.4601 42.9461 12.5364 42.9715 12.6211H43.0393C43.0054 12.5194 42.9546 12.4432 42.8953 12.3415C42.6835 12.062 42.3786 11.918 42.0482 11.918C42.0143 11.918 41.9635 11.918 41.9381 11.935C43.0732 11.0371 44.2421 10.1476 45.4788 9.28363L48.7231 13.4427L49.3245 13.5274H49.3415V13.5359ZM31.0872 22.3962C31.138 22.4471 31.1803 22.481 31.2142 22.5403C31.3243 22.6843 31.3752 22.8621 31.3752 23.0485C31.3752 23.2941 31.2651 23.5398 31.0702 23.7177V23.7346L31.0194 23.7516C31.0194 23.7516 30.9855 23.7685 30.9516 23.7854C30.8076 23.8701 30.6551 23.9294 30.4942 23.9294C30.6551 23.9294 30.7992 23.8786 30.9516 23.7854C30.9686 23.7854 31.0025 23.7685 31.0194 23.7516L31.0702 23.7177C31.2651 23.5398 31.3752 23.3111 31.3752 23.0485C31.3752 22.8706 31.3243 22.6927 31.2142 22.5403C31.1803 22.4894 31.1295 22.4386 31.0872 22.3962ZM29.8081 23.5652C29.8081 23.5652 29.9013 23.6753 29.9521 23.7261C29.9013 23.6753 29.8589 23.6245 29.8081 23.5652C29.7573 23.4974 29.7234 23.4381 29.7149 23.3704C29.7149 23.3704 29.7657 23.4974 29.8081 23.5652ZM29.6641 23.4212C29.6641 23.4212 29.698 23.489 29.7149 23.5229C29.7149 23.5229 29.681 23.4551 29.6641 23.4212ZM29.6471 23.472C29.681 23.5229 29.698 23.5821 29.7318 23.633C29.7827 23.7007 29.842 23.76 29.8928 23.8109C29.8928 23.8109 29.8928 23.8278 29.8759 23.8447C29.8759 23.8447 29.8758 23.8278 29.8928 23.8109C29.825 23.76 29.7742 23.7007 29.7318 23.633C29.698 23.5821 29.6641 23.5229 29.6471 23.472ZM29.6302 23.472C29.6302 23.472 29.5963 23.5059 29.5794 23.5229C29.5624 23.5567 29.5455 23.5737 29.5116 23.6076C29.5286 23.5737 29.5455 23.5567 29.5794 23.5229C29.5794 23.5229 29.6133 23.489 29.6302 23.472ZM28.3342 25.7506C28.3342 25.7506 28.3681 25.7168 28.385 25.6998C28.385 25.6998 28.3511 25.7337 28.3342 25.7506ZM27.8429 26.4029L32.3578 27.0551H32.4255L32.3578 27.0382L27.8429 26.3859V26.4029ZM29.5286 35.187H29.6217L29.6895 35.17H29.5286V35.187ZM29.4438 38.5075C29.4438 38.5075 29.41 38.4567 29.393 38.4228C29.41 38.4567 29.4269 38.4736 29.4438 38.5075ZM29.4269 35.6105H29.2999V35.6444L29.3507 36.8981C29.1389 36.6524 28.9271 36.4237 28.6984 36.2035C28.5544 36.0595 28.3935 35.9239 28.2241 35.7969L29.2914 35.6529V35.619H29.4184L29.4269 35.6105ZM29.41 35.2548H29.6387V35.4665V35.2378H29.41V35.2548ZM28.1224 35.8053C28.3003 35.9494 28.4613 36.1018 28.6391 36.2458C28.4782 36.0849 28.3003 35.9409 28.1224 35.8053ZM29.3591 38.2449C29.3591 38.2449 29.3591 38.2618 29.3761 38.2788C29.3761 38.2788 29.41 38.3296 29.4269 38.3635C29.4269 38.3635 29.393 38.3127 29.3761 38.2788C29.3761 38.2788 29.3761 38.2618 29.3591 38.2449C29.3591 38.2449 29.3253 38.1941 29.3083 38.1771C29.3083 38.1941 29.3422 38.228 29.3591 38.2449ZM29.5031 38.355C29.5031 38.355 29.4693 38.3042 29.4693 38.2873C29.4693 38.2873 29.4693 38.2534 29.4523 38.2534L29.4184 37.1776C29.4184 37.1776 29.3846 37.1437 29.3676 37.1268V37.0251C29.3676 37.0251 29.3507 37.0082 29.3337 36.9912C29.3337 36.9912 29.3507 37.0082 29.3676 37.0251V37.1268C29.3676 37.1268 29.4015 37.1607 29.4184 37.1776L29.4523 38.2534C29.4523 38.2534 29.4523 38.2703 29.4693 38.2873C29.4693 38.2873 29.5031 38.3381 29.5031 38.355H29.7657V38.2703V38.3381H29.5031V38.355ZM29.4693 37.2792C29.5794 37.4063 29.681 37.5588 29.7742 37.6858C29.6726 37.5418 29.5794 37.4063 29.4777 37.2792H29.4608H29.4693ZM26.6316 35.5851H26.7417L27.521 35.4581H27.6142L27.7158 35.4242C27.7158 35.4242 27.8005 35.4919 27.8429 35.5258C27.8429 35.5258 27.8937 35.5766 27.9276 35.5936C27.9276 35.5936 27.8768 35.5428 27.8429 35.5258H27.7497C27.7497 35.5258 27.8005 35.5766 27.8344 35.5936H27.7412C27.7412 35.5936 27.7921 35.6444 27.8259 35.6613C27.8937 35.7122 27.953 35.763 28.0208 35.8053C28.0208 35.8053 27.8937 35.7037 27.8259 35.6613C27.8259 35.6613 27.7751 35.6105 27.7412 35.5936L26.6824 35.6275C26.6824 35.6275 26.6485 35.6105 26.6316 35.6105V35.5766H26.5807C26.5807 35.5766 26.5977 35.5766 26.6146 35.5936C26.6146 35.5936 26.5977 35.5936 26.5807 35.5766H26.6316V35.5936V35.5851ZM22.6673 36.1526H22.752L22.8367 36.1357L23.5059 36.0341H23.5906L23.6584 36.0171H23.5906L23.5059 36.0341L22.8367 36.1357C22.9299 36.2458 23.0315 36.3644 23.1417 36.5084C23.2348 36.6185 23.3195 36.7541 23.4212 36.8811C23.3195 36.7541 23.2264 36.6185 23.1417 36.5084H23.0569C23.2348 36.7371 23.4297 36.9997 23.6245 37.3047H23.5398C23.5398 37.3047 23.5737 37.3555 23.5737 37.3724H23.7346C23.7346 37.3724 23.7007 37.3216 23.6838 37.2877C23.8786 37.2877 24.0734 37.2877 24.2513 37.3216C24.0565 37.3047 23.8786 37.2877 23.6838 37.2877C23.7007 37.3047 23.7177 37.3385 23.7346 37.3724C23.7346 37.3724 23.7685 37.4232 23.7854 37.4402C23.9125 37.635 24.0311 37.8298 24.1581 38.0416H24.209C24.4377 38.0586 24.6664 38.1094 24.8951 38.1517C24.8951 38.1687 24.929 38.2026 24.929 38.2364C24.929 38.2364 24.9628 38.2873 24.9628 38.3211C25.5134 39.363 26.0047 40.6167 26.2165 42.0144V42.0991V42.0313C26.0217 40.6336 25.5219 39.38 24.9628 38.3381C24.7172 38.2873 24.4716 38.2449 24.2344 38.211C24.8527 39.2868 25.4203 40.6167 25.632 42.0991C25.4203 40.5998 24.8527 39.2699 24.2344 38.1941H24.1497C24.768 39.2699 25.3525 40.5998 25.5643 42.0991V42.1668V42.116C25.3525 40.6167 24.768 39.2699 24.1497 38.211C24.1497 38.1941 24.1158 38.1602 24.1158 38.1433C24.1158 38.1433 24.0819 38.0924 24.065 38.0755C24.065 38.0755 24.0988 38.1263 24.1158 38.1433C24.1158 38.1433 24.1497 38.1941 24.1497 38.211H24.2344C24.48 38.228 24.7257 38.2788 24.9628 38.3381C24.9628 38.3042 24.929 38.2873 24.929 38.2534C24.929 38.2534 24.8951 38.2026 24.8951 38.1687C24.6664 38.1178 24.4377 38.084 24.209 38.0586H24.1581C24.0311 37.8468 23.9125 37.652 23.7854 37.4571C23.7854 37.4571 23.7516 37.4063 23.7346 37.3894H23.5737C23.5737 37.3894 23.6075 37.4402 23.6245 37.4571C23.6245 37.4571 23.5906 37.4063 23.5737 37.3894C23.2941 37.3894 23.04 37.4063 22.7605 37.4571C23.04 37.4233 23.2941 37.4063 23.5737 37.3894C23.5737 37.3724 23.5398 37.3385 23.5398 37.3216C23.2772 37.3216 23.0231 37.3385 22.7605 37.3724C22.4979 37.4063 22.2438 37.4741 21.9981 37.5334C21.9981 37.5673 21.9812 37.5842 21.9642 37.6181C21.9642 37.652 21.9473 37.6689 21.9303 37.7028C21.9303 37.7028 21.9473 37.652 21.9642 37.6181C21.9304 37.6181 21.9134 37.6181 21.8795 37.635C21.8795 37.6011 21.8965 37.5842 21.9134 37.5503C21.8795 37.5503 21.8626 37.5503 21.8287 37.5672C21.8287 37.6011 21.8118 37.6181 21.7948 37.652C21.7948 37.652 21.8118 37.6011 21.8287 37.5672C21.8626 37.5672 21.8795 37.5673 21.9134 37.5503C21.9473 37.5334 21.9642 37.5503 21.9896 37.5334C22.0574 37.3385 22.1167 37.1607 22.1845 36.9828C22.2353 36.8557 22.2861 36.7371 22.3285 36.6439C22.3962 36.483 22.4555 36.3221 22.5233 36.1865H22.6334L22.6504 36.1526H22.6673ZM29.3591 44.0727C29.3591 44.0727 29.3422 44.0558 29.3253 44.0389C29.3253 44.0389 29.2744 44.005 29.2575 43.988C28.4443 43.3019 27.4702 42.8021 26.4113 42.5226C26.4113 42.3786 26.3775 42.2261 26.3605 42.0821V41.9551C26.1657 40.5913 25.6913 39.3546 25.1577 38.3296C27.2669 38.8802 28.9271 40.6252 29.2321 42.8699C29.266 43.1156 29.2829 43.3612 29.2829 43.5984C29.2829 43.7254 29.2829 43.861 29.266 43.988C29.2829 44.005 29.3168 44.0219 29.3337 44.0389C29.3676 43.6661 29.3507 43.2934 29.2999 42.9207C29.3507 43.3104 29.3507 43.6831 29.3337 44.0389C29.3337 44.0389 29.3507 44.0558 29.3676 44.0727H29.3507H29.3591ZM29.3591 50.3665C28.6307 49.782 27.7497 49.3584 26.8264 49.1297C27.9191 48.5283 28.7916 47.6304 29.3761 46.5801V50.3665H29.3591ZM25.2339 49.7312L25.2509 49.7481C25.2509 49.7481 25.2678 49.782 25.2847 49.782C25.4626 49.782 25.6236 49.782 25.8015 49.7989C27.1822 49.926 28.4358 50.5443 29.3422 51.4931V53.67C28.9525 54.0936 28.5121 54.4832 28.0293 54.7966C28.0293 54.8136 28.0292 54.8474 28.0462 54.8644C28.0462 54.8474 28.0462 54.8136 28.0293 54.7966C27.6227 53.3481 26.9535 52.0945 26.3266 51.1542C25.937 50.5867 25.5812 50.1123 25.2847 49.7905C25.2847 49.7905 25.2678 49.7566 25.2509 49.7566L25.2339 49.7396C25.2339 49.7396 25.217 49.7227 25.2 49.7057C25.2 49.7057 25.217 49.7227 25.2339 49.7396V49.7312ZM29.3422 54.8729V59.032C29.0034 59.3877 28.5968 59.7181 28.1563 59.9722C28.241 59.5317 28.3173 59.0743 28.3681 58.5915C28.402 58.2696 28.4189 57.9223 28.4189 57.5835C28.4189 57.143 28.385 56.7025 28.3342 56.2536V56.1265C28.3172 55.9825 28.2834 55.83 28.2495 55.686C28.6561 55.4573 29.0288 55.1778 29.3676 54.8898V54.8051C29.0288 55.11 28.6391 55.3896 28.2325 55.6352V55.5675C28.2325 55.5675 28.1817 55.5844 28.1648 55.6013C28.1648 55.6013 28.1309 55.6183 28.097 55.6352C28.097 55.6352 28.1309 55.6183 28.1648 55.6013C28.1309 55.4065 28.0801 55.2117 28.0208 55.0169C28.0208 55.0169 28.0208 54.966 28.0038 54.9491C27.9869 54.9491 27.9699 54.966 27.9361 54.983C27.9361 54.9999 27.9361 55.0338 27.953 55.0507C27.953 55.0507 27.9191 55.0507 27.9022 55.0677C27.9022 55.0677 27.9361 55.0677 27.953 55.0507C27.953 55.0338 27.953 54.9999 27.9361 54.983C27.7751 55.0846 27.6142 55.1778 27.4363 55.2625C27.5972 55.1778 27.7751 55.0846 27.9361 54.983C27.9361 54.966 27.9361 54.9322 27.9191 54.9152C27.5125 53.4667 26.8433 52.2131 26.2165 51.2728C25.8099 50.6545 25.4203 50.1632 25.1238 49.8413H25.0391C24.9459 49.8413 24.8443 49.8413 24.7426 49.8582C24.7426 49.8582 24.7426 49.8752 24.7257 49.8921C24.7257 49.8921 24.6579 50.0192 24.6156 50.1039C25.2932 50.8662 26.7417 52.7213 27.377 55.11C26.7248 52.7213 25.2848 50.8662 24.6156 50.1039C24.6664 50.0192 24.7003 49.9599 24.7087 49.8921C24.7087 49.8921 24.7087 49.8582 24.7257 49.8582C24.8188 49.8582 24.9205 49.8413 25.0221 49.8413H25.1831C25.1831 49.8413 25.1831 49.8243 25.1662 49.8074C25.1662 49.8074 25.1661 49.8243 25.1831 49.8413H25.0984C25.3949 50.1801 25.776 50.6545 26.1826 51.2728C26.8179 52.2131 27.4786 53.4667 27.8852 54.9152C27.8852 54.9322 27.8852 54.966 27.9022 54.983C27.9191 54.983 27.9361 54.966 27.97 54.9491C27.97 54.9491 28.0038 54.9322 28.0208 54.9152C28.0208 54.9152 27.9869 54.9322 27.97 54.9491C27.97 54.966 27.9699 54.9999 27.9869 55.0169C28.0377 55.2117 28.0885 55.4065 28.1309 55.6013C28.1478 55.6013 28.1817 55.5844 28.1987 55.5675V55.6352C28.6052 55.3896 28.978 55.1185 29.3337 54.8051V54.8898C29.4777 54.7627 29.6133 54.6272 29.7573 54.5002C29.6302 54.6272 29.4777 54.7797 29.3337 54.8898L29.3168 54.8729H29.3422ZM26.5977 63.3605C26.5977 63.3605 26.4706 63.2334 26.3351 63.081C26.4452 63.208 26.5469 63.3097 26.5977 63.3605ZM26.369 63.0386C26.369 63.0386 26.3351 63.0047 26.3182 62.9878C26.3182 63.0047 26.3012 63.0386 26.2843 63.0555C26.2843 63.0725 26.2673 63.0894 26.2504 63.1064C26.2504 63.1233 26.2843 63.1403 26.3012 63.1572C26.2504 63.2758 26.1996 63.352 26.1742 63.4028V63.4367H26.1572V63.4706H26.1403V63.4367L26.1742 63.4028C26.1742 63.4028 26.2589 63.2588 26.3012 63.1572C26.3012 63.1572 26.2673 63.1233 26.2504 63.1064C26.2504 63.1064 26.2673 63.0725 26.2843 63.0555C26.2843 63.0386 26.2504 63.0217 26.2334 63.0047C26.2334 63.0217 26.2165 63.0555 26.1996 63.0725C26.1996 63.0555 26.2165 63.0217 26.2334 63.0047C25.9709 62.6913 25.5812 62.2424 25.1916 61.6409H25.2763C25.5558 61.6409 25.8099 61.624 26.0895 61.5901C26.369 61.5562 26.6231 61.4969 26.8857 61.4292C26.9196 61.4292 26.9365 61.4292 26.9704 61.4122C26.9704 61.3784 26.9873 61.3614 27.0043 61.3275C27.0043 61.3275 26.9874 61.3784 26.9704 61.4122C27.0043 61.4122 27.0212 61.4122 27.0551 61.3953C27.0551 61.3953 27.0043 61.3953 26.9704 61.4122C26.8857 61.6579 26.8095 61.8866 26.7248 62.0814C26.5808 62.4541 26.4283 62.7845 26.3182 63.0132C26.3351 63.0301 26.352 63.0471 26.369 63.064V63.0471V63.0386ZM26.0725 63.4791L26.0895 63.4452L26.0556 63.496L26.0725 63.4791ZM22.625 63.7925C22.625 63.7925 22.4809 63.7417 22.4132 63.7078C22.4809 63.7417 22.5572 63.7756 22.625 63.7925ZM22.447 63.8094C22.447 63.8094 22.4979 63.8264 22.5148 63.8264C22.4979 63.8264 22.464 63.8264 22.447 63.8094ZM24.2683 61.5139C24.2683 61.5139 24.3021 61.5647 24.3191 61.5816C24.3191 61.5816 24.2852 61.5308 24.2683 61.5139ZM18.8724 54.4747C18.8724 54.4747 18.8386 54.39 18.8386 54.3562C18.8386 54.39 18.8724 54.4409 18.8724 54.4747ZM17.8051 46.4869C17.8051 46.4869 17.8221 46.5377 17.839 46.5716C17.839 46.5377 17.8729 46.5208 17.8729 46.4869C17.8729 46.4699 17.9068 46.4361 17.9068 46.4191C17.9068 46.4022 17.8898 46.3683 17.8729 46.3344C17.8729 46.3175 17.856 46.2836 17.839 46.2666C17.839 46.2836 17.8559 46.3175 17.8729 46.3344C17.8729 46.3683 17.8898 46.3852 17.9068 46.4191C18.0169 46.2074 18.1355 45.9956 18.2626 45.8008C18.2626 45.7669 18.2456 45.7499 18.2287 45.7161C18.2287 45.6991 18.2625 45.6652 18.2795 45.6483C18.2795 45.6313 18.2795 45.6144 18.2626 45.5975C18.2626 45.6144 18.2625 45.6313 18.2795 45.6483C18.2795 45.6652 18.2456 45.6991 18.2287 45.7161C18.2287 45.7499 18.2456 45.7669 18.2626 45.8008C18.1355 45.9956 18.0169 46.2074 17.9068 46.4191C17.9745 46.5462 18.0338 46.6648 18.1185 46.7749C18.0508 46.6648 17.9745 46.5292 17.9068 46.4191C17.9068 46.453 17.8729 46.4699 17.8729 46.5038C17.8729 46.5038 17.839 46.5546 17.839 46.5716C17.839 46.5546 17.8221 46.5208 17.8051 46.4869ZM20.7614 38.7786C20.7614 38.7786 20.8122 38.7447 20.8461 38.7277C20.8122 38.7277 20.7953 38.7616 20.7614 38.7786C19.3298 39.5748 18.3218 40.9386 17.9661 42.5057C18.3049 40.9471 19.3298 39.5748 20.7614 38.7786ZM21.0748 37.8383C21.1256 37.6943 21.168 37.5418 21.2019 37.4148C21.151 37.5588 21.1087 37.6943 21.0748 37.8383C21.1087 37.8383 21.1256 37.8214 21.1595 37.8044C21.1256 37.8044 21.1087 37.8214 21.0748 37.8383C21.0748 37.8553 21.0748 37.8891 21.0579 37.9061C21.0579 37.8891 21.0579 37.8553 21.0748 37.8383ZM22.2607 36.6524C22.2099 36.7456 22.176 36.8642 22.1336 36.9574C22.1845 36.8472 22.2183 36.7456 22.2607 36.6524C22.2607 36.6524 22.2946 36.5677 22.3115 36.5254C22.2946 36.5762 22.2776 36.6101 22.2607 36.6524ZM24.0819 38.1771C24.7172 39.2699 25.3186 40.6336 25.5304 42.1584C25.5304 42.1584 25.5304 42.3024 25.5473 42.3701V42.4972V42.4294C25.4203 42.4125 25.2847 42.3955 25.1577 42.3786C25.2847 42.3786 25.4203 42.4125 25.5473 42.4294V42.3617C25.4203 42.3447 25.2847 42.3278 25.1577 42.3108C24.929 42.2939 24.7003 42.277 24.48 42.277C24.1412 42.277 23.7854 42.2939 23.4381 42.3447C22.7266 42.4464 22.0405 42.6412 21.4221 42.9123C21.4221 42.8445 21.3882 42.7683 21.3882 42.7005C21.3204 42.26 21.3035 41.8365 21.3035 41.4129C21.3035 41.0911 21.3035 40.7776 21.3543 40.4727C21.4221 39.7527 21.5492 39.092 21.7101 38.4736C22.0828 38.3466 22.4725 38.228 22.8791 38.1771C23.1586 38.1433 23.4127 38.1263 23.6753 38.1263C23.8024 38.1263 23.9548 38.1263 24.0819 38.1433V38.1602V38.1771ZM26.3605 42.5819C26.3605 42.5819 26.4113 42.5819 26.4283 42.5988V42.6666C27.4702 42.9631 28.4274 43.4628 29.2406 44.1659C29.2575 44.1829 29.2744 44.1998 29.3083 44.2167C29.2744 44.4454 29.2405 44.6742 29.1982 44.9029C29.1982 44.9367 29.1982 44.9537 29.1813 44.9876C29.1813 44.9876 29.1812 44.9367 29.1982 44.9029C29.249 44.6742 29.2998 44.4624 29.3083 44.2167C29.2914 44.1998 29.2744 44.1829 29.2406 44.1659C29.2236 44.3946 29.1728 44.6233 29.122 44.8351C29.1728 44.6064 29.2151 44.3946 29.2406 44.1659C28.4274 43.4798 27.4871 42.9631 26.4283 42.6666V42.5988C26.4283 42.5988 26.3775 42.5988 26.3605 42.5819V42.6497V42.5226V42.5904V42.5819ZM29.3507 46.453C28.9102 47.3001 28.2918 48.0285 27.5295 48.613C28.2918 48.0285 28.9271 47.3001 29.3507 46.453ZM29.1389 45.0553C28.6391 46.8935 27.1737 48.4182 25.2254 48.9773C27.1567 48.4097 28.6391 46.8935 29.1389 45.0553C29.122 45.0384 29.105 45.0215 29.0881 45.0045C28.5968 46.8427 27.1398 48.3504 25.2085 48.9264C25.632 48.0031 26.2335 46.3937 26.4113 44.4709C26.4452 44.149 26.4622 43.8017 26.4622 43.4628C27.4702 43.7763 28.3596 44.3099 29.0965 45.0215C29.1135 45.0384 29.1304 45.0553 29.1474 45.0723C29.1643 45.0892 29.1812 45.1062 29.1982 45.1231C29.1982 45.1062 29.1982 45.0723 29.2151 45.0553C29.2151 45.0553 29.2151 45.1062 29.1982 45.1231C29.249 45.1739 29.2998 45.2163 29.3422 45.2671C29.3422 45.2671 29.249 45.1655 29.1982 45.1231C29.1982 45.1231 29.1643 45.0892 29.1474 45.0723V45.0553H29.1389ZM25.0476 49.7735C25.0476 49.7735 25.0137 49.7396 24.9967 49.7227C24.9629 49.7227 24.929 49.7227 24.9036 49.7396C24.9375 49.7396 24.9713 49.7396 24.9967 49.7227H24.8019V49.6719L24.768 49.7227H24.9628C24.912 49.6719 24.8782 49.621 24.8527 49.5956C24.8358 49.6464 24.8019 49.6803 24.8019 49.6973L24.7511 49.6634C24.7511 49.6634 24.7172 49.7142 24.7172 49.7312L24.6494 49.6973V49.7142L24.6156 49.7481C24.6156 49.7481 24.5054 49.7481 24.4377 49.765H24.6156L24.6494 49.7142L24.7003 49.7481C24.7003 49.7481 24.7003 49.7312 24.7341 49.6973L24.8019 49.7312C24.8019 49.7312 24.8358 49.6634 24.8527 49.6295C24.8866 49.6634 24.9374 49.7142 24.9628 49.7566C24.9628 49.7735 24.9967 49.7905 25.0137 49.8074C25.0306 49.8243 25.0476 49.8413 25.0645 49.8582C25.0645 49.8582 25.0306 49.8243 25.0137 49.8074L25.0476 49.7735ZM27.5295 55.9232V55.991C27.7073 55.9063 27.8852 55.8131 28.0631 55.7115C28.0801 55.7115 28.097 55.6945 28.1309 55.6776C28.1309 55.6776 28.097 55.6945 28.0631 55.7115C27.8852 55.8046 27.7073 55.9063 27.5295 55.991V56.0588C27.5295 56.1265 27.5464 56.1858 27.5633 56.2536C27.5633 56.2536 27.5464 56.1265 27.5295 56.0588V55.9317C27.5295 55.9317 27.4786 55.9486 27.4617 55.9656C27.4278 55.7708 27.377 55.5759 27.3347 55.3811C27.3177 55.3811 27.3008 55.398 27.2669 55.415C27.3177 55.6098 27.3516 55.8046 27.377 55.9995V56.0672C27.377 56.0672 27.394 56.1181 27.394 56.135C27.4109 56.135 27.4448 56.1181 27.4617 56.1011C27.4617 56.1689 27.4787 56.2197 27.4956 56.2621C27.4956 56.2621 27.4786 56.1519 27.4617 56.1011C27.4448 56.1011 27.4109 56.1181 27.394 56.135C27.394 56.2028 27.4278 56.279 27.4278 56.3468C27.4956 56.7872 27.5125 57.2108 27.5125 57.6343C27.5125 57.9562 27.5125 58.2696 27.4617 58.5746C27.3939 59.2607 27.2838 59.9045 27.1229 60.4974C26.7332 60.6414 26.3436 60.743 25.92 60.8023C25.6405 60.8362 25.3864 60.8532 25.1238 60.8532C24.9798 60.8532 24.8273 60.8532 24.6833 60.8362C24.065 59.7604 23.4805 58.4136 23.2857 56.9143C23.2857 56.8465 23.2856 56.7703 23.2687 56.7025C23.3958 56.7195 23.5313 56.7364 23.6584 56.7534C23.8871 56.7703 24.1158 56.7872 24.336 56.7872C24.6748 56.7872 25.0391 56.7703 25.3779 56.7195C26.0895 56.6263 26.7756 56.423 27.394 56.135V56.0079C26.7587 56.2875 26.0979 56.4992 25.3779 56.5924C26.0895 56.4908 26.7756 56.2875 27.394 56.0079C27.3601 55.8131 27.3092 55.6183 27.2838 55.4235C26.6824 55.7199 26.0132 55.9148 25.3186 56.0079C24.9967 56.0588 24.6833 56.0757 24.3784 56.0757C24.1666 56.0757 23.9718 56.0757 23.76 56.0418C23.5991 56.0418 23.4212 56.0079 23.2603 55.9741V55.6352C23.2603 55.3133 23.2603 54.9999 23.3111 54.695C23.4381 53.3143 23.8193 52.0775 24.1581 51.1796C24.3021 50.8239 24.4377 50.5105 24.5478 50.2902C24.5308 50.2733 24.5139 50.2563 24.497 50.2394C24.497 50.2394 24.5308 50.2733 24.5478 50.2902C25.2424 51.0865 26.6739 52.9415 27.2753 55.2964V55.3642C27.2753 55.3642 27.3092 55.3472 27.3431 55.3303C27.3262 55.3303 27.3092 55.3472 27.2753 55.3642V55.4319C27.2753 55.4319 27.3092 55.415 27.3431 55.398C27.3939 55.5929 27.4278 55.7877 27.4702 55.9825C27.4871 55.9825 27.521 55.9656 27.5379 55.9486C27.5041 55.7538 27.4532 55.559 27.4109 55.3642C27.4617 55.559 27.4956 55.7538 27.5379 55.9486L27.5295 55.9232ZM28.1478 60.0061C28.1478 60.0061 28.097 60.04 28.0631 60.0569C28.0631 60.0908 28.0631 60.1247 28.0462 60.1416C28.0462 60.1755 28.0462 60.2094 28.0293 60.2263C27.9784 60.4889 27.9191 60.7346 27.8514 60.9548C27.9191 60.7092 27.9784 60.4635 28.0293 60.2263C28.0293 60.1925 28.0292 60.1755 28.0462 60.1416C28.0123 60.1416 27.9784 60.1755 27.9615 60.1925C27.9615 60.2263 27.9615 60.2602 27.9445 60.2772C27.9445 60.2433 27.9445 60.2263 27.9615 60.1925C27.9615 60.1586 27.9615 60.1416 27.9784 60.1077C27.9784 60.1077 27.9784 60.1755 27.9615 60.1925C27.9954 60.1925 28.0292 60.1586 28.0462 60.1416C28.0462 60.1077 28.0462 60.0739 28.0631 60.0569C28.0631 60.0569 28.1139 60.023 28.1478 60.0061ZM27.809 61.1242C27.809 61.1242 27.7412 61.1581 27.7243 61.1581C27.5125 61.2513 27.2838 61.3191 27.0551 61.3868C27.0551 61.3699 27.0551 61.336 27.0721 61.3021C27.0721 61.3021 27.072 61.3529 27.0551 61.3868C27.2838 61.3191 27.5125 61.2428 27.7243 61.1581C27.7243 61.1581 27.7921 61.1242 27.809 61.1242C27.809 61.0904 27.809 61.0734 27.8259 61.0395C27.8259 61.0734 27.8259 61.0904 27.809 61.1242ZM26.9196 61.3699C26.9196 61.3699 26.9196 61.3191 26.9365 61.2852C26.9365 61.2852 26.9873 61.2852 27.0043 61.2682C26.9873 61.2682 26.9704 61.2682 26.9365 61.2852C26.9365 61.3191 26.9365 61.336 26.9196 61.3699ZM24.353 61.5478C24.353 61.5478 24.3191 61.4969 24.3021 61.48H24.2174C24.0904 61.2682 23.9718 61.0565 23.8447 60.8108C23.8108 60.8108 23.7939 60.8108 23.76 60.7939C23.76 60.76 23.7261 60.743 23.7261 60.7092C23.7261 60.7092 23.76 60.76 23.76 60.7939C23.7939 60.7939 23.8108 60.7939 23.8447 60.8108C23.9718 61.0395 24.0904 61.2682 24.2174 61.48H24.3021C24.1751 61.2682 24.0565 61.0565 23.9294 60.8278C23.9294 60.7939 23.8956 60.7769 23.8956 60.743C23.8617 60.743 23.8447 60.7431 23.8108 60.7261C23.8108 60.6922 23.777 60.6753 23.777 60.6414C23.7431 60.6414 23.7092 60.6414 23.6922 60.6245C23.6922 60.6583 23.7261 60.6753 23.7261 60.7092C23.7261 60.6922 23.6922 60.6583 23.6922 60.6414C22.5402 60.328 21.5153 59.6673 20.7868 58.7355C20.4141 57.7275 20.0075 56.5924 19.6009 55.3388C19.6009 55.3388 19.567 55.2286 19.5501 55.1778C19.5501 55.4573 19.5501 55.7453 19.584 56.0418C19.5501 55.7453 19.5331 55.4743 19.5501 55.1778C19.5331 55.11 19.5162 55.0507 19.4823 54.9999C19.4823 54.966 19.4654 54.9491 19.4484 54.9152C19.4484 54.9491 19.4654 54.966 19.4823 54.9999C19.4992 55.0677 19.5162 55.127 19.5501 55.1778C19.567 55.2456 19.584 55.2964 19.6009 55.3388V55.0338C20.431 55.7199 21.3882 56.2366 22.4386 56.5162C22.4386 56.6771 22.4725 56.8381 22.4894 57.0244C22.6842 58.3882 23.1417 59.608 23.6753 60.6329C23.7092 60.6329 23.7431 60.6329 23.76 60.6499C23.76 60.6499 23.7939 60.7007 23.7939 60.7346C23.8278 60.7346 23.8447 60.7346 23.8786 60.7515C23.8786 60.7854 23.9125 60.8023 23.9125 60.8362C24.0395 61.0649 24.1581 61.2936 24.2852 61.4885C24.3784 61.4885 24.48 61.5224 24.5817 61.5224C24.7257 61.5224 24.8697 61.5393 25.0221 61.5393C25.0221 61.5393 25.056 61.5732 25.073 61.6071C25.073 61.6071 25.1068 61.6579 25.1238 61.6918C25.1238 61.6918 25.0899 61.6409 25.073 61.6071C25.073 61.6071 25.0391 61.5562 25.0221 61.5393C24.8781 61.5393 24.7257 61.5393 24.5817 61.5224C24.48 61.5224 24.3868 61.4885 24.2852 61.4885C24.2852 61.5223 24.3191 61.5393 24.336 61.5562H24.353V61.5478ZM20.016 57.6258C20.016 57.6258 19.9821 57.5411 19.9651 57.5157C19.9651 57.5496 19.999 57.6004 20.016 57.6258ZM21.4475 59.5148C21.888 59.8875 22.3708 60.2009 22.896 60.4296C22.3623 60.2009 21.871 59.896 21.4475 59.5148ZM19.3976 54.7627C19.3976 54.7627 19.4484 54.8136 19.4823 54.8305C19.4823 54.8305 19.5162 54.8644 19.5501 54.8813C19.5501 54.8813 19.567 54.8983 19.584 54.9152C19.584 54.9152 19.567 54.8983 19.5501 54.8813C19.5331 54.8644 19.4992 54.8475 19.4823 54.8305C19.4654 54.8136 19.4315 54.7797 19.3976 54.7627ZM18.0169 44.42C17.983 44.1744 17.9661 43.9287 17.9661 43.6916C17.9661 43.5306 17.9661 43.3697 17.983 43.2172C18.1439 41.4468 19.1689 39.8628 20.7106 38.9734C20.6089 39.4308 20.5327 39.9306 20.4819 40.4388C20.448 40.7607 20.431 41.108 20.431 41.4468C20.431 41.9042 20.4649 42.3701 20.5242 42.8445C20.5412 43.0224 20.575 43.1833 20.6089 43.3527V43.4205C20.6089 43.4205 20.6597 43.4036 20.6767 43.3866V43.4544C20.7106 43.6492 20.7614 43.844 20.8207 44.0389C20.7699 43.844 20.7275 43.6492 20.6767 43.4544V43.3866C20.6767 43.3866 20.6259 43.4036 20.6089 43.4205V43.4883C20.6597 43.6831 20.7106 43.8779 20.7529 44.0727C20.7529 44.0727 20.7529 44.1236 20.7699 44.1405C20.7699 44.1405 20.7699 44.0897 20.7529 44.0727C20.7021 43.8779 20.6597 43.6831 20.6089 43.4883V43.4205C19.6856 43.9711 18.8894 44.725 18.288 45.5975C18.8894 44.7165 19.6687 43.9711 20.6089 43.4205V43.3527C19.6687 43.9033 18.8724 44.6487 18.271 45.5297C18.1439 45.1909 18.0423 44.8097 17.9915 44.437L18.0084 44.42H18.0169ZM20.8122 38.8294C20.8122 38.8294 20.88 38.7955 20.8969 38.7786C20.8969 38.7447 20.8969 38.7108 20.9139 38.6939C20.9139 38.7277 20.9139 38.7447 20.8969 38.7786C20.863 38.7786 20.8292 38.8124 20.8122 38.8294C20.8122 38.8633 20.8122 38.8802 20.7953 38.9141C20.7953 38.8802 20.7953 38.8463 20.8122 38.8294ZM23.6668 38.0501C23.3873 38.0501 23.1332 38.067 22.8537 38.1009C22.8198 38.1009 22.7689 38.1009 22.7435 38.1178C22.7774 38.1178 22.8282 38.1009 22.8537 38.1009C23.1332 38.067 23.4042 38.0501 23.6668 38.0501ZM21.6169 38.5414C21.6169 38.5414 21.6508 38.5414 21.6678 38.5244C21.6678 38.5244 21.6339 38.5244 21.6169 38.5414ZM21.2273 41.5993C21.2273 41.7772 21.2612 41.972 21.2781 42.1668C21.2781 41.972 21.2442 41.7772 21.2273 41.5993ZM21.3543 42.9631V43.0308C21.3543 43.0308 21.4052 43.0139 21.4221 42.997C22.0574 42.7174 22.7181 42.5057 23.4381 42.4125C22.7266 42.5141 22.0405 42.709 21.4221 42.997C21.4221 42.997 21.3713 43.0139 21.3543 43.0308C21.3543 43.0308 21.3035 43.0478 21.2866 43.0647C21.2866 43.0647 21.3374 43.0478 21.3543 43.0308V42.9631C21.3543 42.8953 21.3374 42.836 21.3205 42.7683C21.3205 42.836 21.3374 42.8953 21.3543 42.9631ZM25.5981 42.2177C25.5981 42.2177 25.5982 42.3278 25.6151 42.3786C25.6151 42.3278 25.6151 42.2685 25.5981 42.2177ZM25.6829 42.3955C25.8607 42.4294 26.0217 42.4633 26.1996 42.4972C26.0386 42.4633 25.8607 42.4125 25.6829 42.3955ZM25.6829 42.4633C25.8777 42.4972 26.0725 42.548 26.2843 42.5904C26.0894 42.5395 25.8946 42.4887 25.6829 42.4633V42.5311C25.6998 42.7259 25.7167 42.9207 25.7167 43.1325H25.649V43.2003H25.7167C25.7167 43.2003 25.7676 43.2003 25.7845 43.2172H25.6574V43.1494H25.7252C25.7252 42.9546 25.7083 42.7598 25.6913 42.548V42.4633H25.6829ZM26.352 42.6751C26.352 42.8868 26.369 43.0817 26.3859 43.2934C26.3859 43.0986 26.3859 42.8868 26.352 42.6751ZM25.0391 49.1128C25.0391 49.1128 24.9883 49.1128 24.9544 49.1297C24.9544 49.1128 24.9713 49.0789 24.9883 49.062C24.9883 49.0789 24.9713 49.1128 24.9544 49.1297C24.9883 49.1297 25.0052 49.1297 25.0391 49.1128C25.0391 49.1128 25.0391 49.0789 25.056 49.062C25.056 49.062 25.056 49.0959 25.0391 49.1128ZM24.7765 49.4855C24.7765 49.4855 24.7426 49.5533 24.7257 49.5702C24.7257 49.5872 24.7087 49.6041 24.6918 49.621C24.6918 49.621 24.7087 49.5872 24.7257 49.5702C24.7257 49.5533 24.7595 49.5194 24.7765 49.4855C24.7765 49.4855 24.7934 49.4516 24.8104 49.4177C24.8104 49.4347 24.7934 49.4686 24.7765 49.4855ZM24.6833 49.782V49.7481H24.7003V49.782H24.6833ZM24.6494 49.8497V49.8836C24.6494 49.8836 24.6495 49.9175 24.6156 49.9345C24.6156 49.9345 24.6156 49.9006 24.6325 49.8836V49.8497H24.7172V49.8159H24.7341V49.8497H24.6325H24.6494ZM24.6833 60.8701H24.768C24.768 60.8701 24.8019 60.9209 24.8189 60.9379C24.8189 60.9379 24.785 60.8871 24.768 60.8701H24.6833C24.6833 60.8701 24.6494 60.8193 24.6494 60.8023C24.6494 60.8023 24.6833 60.8532 24.6833 60.8701ZM27.521 56.3129V56.2451V56.3722V56.3044V56.3129ZM27.8937 56.3298L27.5972 56.3637C27.6481 56.7872 27.682 57.1938 27.682 57.6004C27.682 57.9223 27.682 58.2357 27.6311 58.5576C27.665 58.2527 27.682 57.9223 27.682 57.6004C27.682 57.1938 27.6481 56.7872 27.5972 56.3637L27.8937 56.3298ZM27.7497 60.9972C27.8175 60.7685 27.8768 60.5228 27.9276 60.2687C27.8598 60.5313 27.809 60.76 27.7497 60.9972ZM27.2753 60.5567C27.2076 60.8023 27.1483 61.0311 27.0805 61.2428C27.0466 61.2428 27.0297 61.2428 26.9958 61.2598C26.9958 61.2598 27.0466 61.2598 27.0805 61.2428C27.1483 61.0311 27.2076 60.8023 27.2753 60.5567C27.2753 60.5228 27.2753 60.5059 27.2923 60.472C27.2923 60.472 27.2923 60.5228 27.2753 60.5567ZM22.4216 56.3468C21.3628 56.0503 20.4056 55.5336 19.5924 54.8305C19.5755 54.8136 19.5586 54.7966 19.5247 54.7797C19.5416 54.7966 19.5585 54.8136 19.5924 54.8305C20.4056 55.5336 21.3628 56.0503 22.4216 56.3468C22.4216 56.135 22.4047 55.9402 22.3878 55.7284V55.6606C21.3798 55.3472 20.4564 54.7966 19.728 54.0851C19.728 54.119 19.728 54.1359 19.711 54.1698C19.711 54.1698 19.711 54.119 19.728 54.0851C19.728 54.0851 19.728 54.0343 19.7449 54.0004C20.2362 52.1284 21.7101 50.5698 23.6922 50.0192C23.6922 50.0192 23.6923 49.9853 23.7092 49.9683C23.7092 49.9683 23.7092 50.0022 23.6922 50.0192C23.2687 50.934 22.6334 52.5858 22.4555 54.5595C22.4216 54.8813 22.4047 55.2286 22.4047 55.5675V55.6945C22.4047 55.8893 22.4047 56.1011 22.4386 56.3129C22.4555 56.3129 22.4894 56.3129 22.5063 56.3298C22.4894 56.3298 22.4555 56.3298 22.4386 56.3129L22.4216 56.3468ZM19.0757 53.4837C19.0757 53.4837 19.0757 53.4328 19.0927 53.399C19.0927 53.399 19.0927 53.4498 19.0757 53.4837ZM22.1082 49.7566C22.1082 49.7566 22.0574 49.7905 22.0235 49.8074C22.0235 49.8074 22.0743 49.7735 22.1082 49.7566ZM20.8546 44.0982C20.8546 44.0982 20.8885 44.0812 20.9223 44.0643C21.0833 43.9626 21.2612 43.8694 21.4391 43.7678C21.456 43.7678 21.4899 43.7509 21.5068 43.7339C21.5068 43.7339 21.456 43.7509 21.4391 43.7678C21.2612 43.8525 21.0833 43.9457 20.9223 44.0643C20.9054 44.0643 20.8885 44.0812 20.8546 44.0982C20.8546 44.1151 20.8546 44.149 20.8715 44.1659C20.8885 44.1659 20.9054 44.149 20.9393 44.132C21.3459 45.5805 22.0066 46.8342 22.6419 47.7744C22.9045 48.1641 23.1501 48.4944 23.3534 48.7655C23.1247 48.486 22.8791 48.1641 22.6419 47.7744C22.0066 46.8342 21.3459 45.5805 20.9393 44.132C20.9223 44.132 20.9054 44.149 20.8715 44.1659C20.8546 44.1659 20.8376 44.1829 20.8207 44.1998C20.8376 44.1998 20.8546 44.1829 20.8715 44.1659C20.8715 44.149 20.8715 44.1151 20.8546 44.0982ZM21.3543 43.1071C21.3543 43.1071 21.3713 43.1918 21.3882 43.2341C21.3882 43.1833 21.3713 43.1494 21.3543 43.1071ZM26.3605 43.2934C26.3605 43.2934 26.3097 43.2934 26.2927 43.2765C26.2927 43.2765 26.3436 43.2765 26.3605 43.2934ZM25.0814 48.9519C25.0814 48.9519 25.0306 48.9519 25.0137 48.9688C25.0306 48.9688 25.0645 48.9688 25.0814 48.9519ZM24.9205 49.062C24.9205 49.062 24.9713 49.062 24.9883 49.045C24.9883 49.045 24.9883 49.0111 25.0052 48.9942C25.0052 48.9942 25.0052 49.0281 24.9883 49.045C24.9713 49.045 24.9374 49.045 24.9205 49.062ZM24.5139 49.206C24.5139 49.206 24.48 49.1721 24.48 49.1551H24.5647H24.5478V49.1382H24.5647L24.5986 49.189L24.6833 49.2568L24.6325 49.206L24.5986 49.1721L24.5647 49.1382H24.48C24.48 49.1382 24.5139 49.1721 24.5139 49.189C24.5478 49.2229 24.5647 49.2399 24.5817 49.2568C24.5817 49.2568 24.5478 49.2229 24.5139 49.189V49.206ZM24.6664 49.7905V49.7566H24.6833V49.7905H24.6664ZM24.5224 49.9175L24.4885 49.9853L24.4377 49.9345C24.4377 49.9345 24.4038 49.9006 24.3868 49.8836C24.3868 49.8836 24.4207 49.9175 24.4377 49.9345L24.4885 49.9853L24.5224 49.9175C24.5224 49.9175 24.5224 49.8836 24.5393 49.8836C24.5393 49.8836 24.5393 49.9175 24.5224 49.9175ZM23.1586 56.4992C23.1417 56.3044 23.1247 56.1096 23.1247 55.8978C23.1247 56.0926 23.1417 56.2875 23.1586 56.4992ZM19.4908 54.7289C19.5247 54.5002 19.5586 54.2714 19.6094 54.0427C19.5586 54.2714 19.5162 54.5002 19.4908 54.7289ZM22.2353 49.7735C22.2353 49.7735 22.3031 49.7735 22.337 49.7905C22.3708 49.7735 22.4047 49.7566 22.4301 49.7396C22.3962 49.7396 22.3623 49.7396 22.32 49.7227C22.3878 49.6888 22.4471 49.6549 22.5318 49.621C22.464 49.6549 22.4047 49.6719 22.32 49.7227C22.3539 49.7227 22.3878 49.7396 22.4301 49.7396C22.608 49.7735 22.8028 49.8074 22.9807 49.8243C23.1755 49.8413 23.3704 49.8582 23.5652 49.8582H23.777C23.777 49.8582 23.8108 49.7905 23.8278 49.7566C23.8278 49.7905 23.7939 49.8074 23.777 49.8582C23.777 49.8582 23.777 49.8752 23.76 49.8921C23.76 49.8921 23.76 49.8752 23.777 49.8582H23.5652C23.3704 49.8582 23.1755 49.8582 22.9807 49.8243C22.7859 49.8074 22.608 49.7735 22.4301 49.7396C22.3962 49.7396 22.3624 49.7735 22.337 49.7905C22.3031 49.7905 22.2692 49.7905 22.2353 49.7735C22.2014 49.7735 22.1845 49.7735 22.1506 49.7566H22.2353V49.7735ZM18.6945 46.3429C18.6945 46.3429 18.6606 46.3937 18.6606 46.4106C18.6606 46.4106 18.6945 46.3598 18.6945 46.3429ZM23.5483 43.0563C23.8701 43.0054 24.1835 42.9885 24.4885 42.9885C24.1835 42.9885 23.8532 43.0054 23.5483 43.0563C22.8537 43.1579 22.1845 43.3697 21.583 43.6407C22.1845 43.3527 22.8537 43.1494 23.5483 43.0563ZM21.6 43.7085C22.2014 43.412 22.8621 43.2172 23.5652 43.124C23.8278 43.0901 24.0819 43.0732 24.3445 43.0563C24.0819 43.0563 23.8278 43.0901 23.5652 43.124C22.8621 43.2257 22.2014 43.4374 21.6 43.7085V43.7763C22.2014 43.4798 22.8621 43.285 23.5652 43.1918C23.8701 43.141 24.1835 43.124 24.4885 43.124C24.6833 43.124 24.8951 43.124 25.0899 43.1579C25.2678 43.1579 25.4287 43.1918 25.6066 43.2257V43.4374C25.6066 43.7593 25.6066 44.0727 25.5558 44.3777C25.4287 45.7584 25.056 46.9951 24.7087 47.893C24.5647 48.2488 24.4292 48.5622 24.3191 48.7909C23.6245 47.9947 22.1929 46.1396 21.5915 43.7847V43.717L21.6 43.7085ZM24.6325 49.1043C24.6325 49.1043 24.6156 49.0874 24.5986 49.0704C24.7087 49.0704 24.8273 49.0535 24.9374 49.0366C24.8188 49.0366 24.7087 49.0366 24.5986 49.0704C24.5986 49.0704 24.6156 49.0874 24.6325 49.1043ZM24.1666 49.1721V49.206H24.1497V49.2399L24.1158 49.2737V49.2399H24.1327V49.206L24.1666 49.1721C24.1666 49.1721 24.1666 49.206 24.1497 49.206C24.065 49.206 23.9718 49.2399 23.8871 49.2568H23.76C23.76 49.2568 23.7431 49.2399 23.7261 49.2229C23.7261 49.2229 23.7431 49.2399 23.76 49.2568H23.8447C23.8447 49.2568 23.8109 49.2229 23.7939 49.206C23.7939 49.206 23.8278 49.2399 23.8447 49.2568H23.8956C23.9887 49.2399 24.0734 49.2229 24.1751 49.206C24.1751 49.206 24.1751 49.189 24.192 49.1721C24.192 49.1721 24.192 49.1382 24.209 49.1382C24.0819 49.1551 23.9633 49.1721 23.8532 49.206C23.9633 49.1721 24.0988 49.1551 24.209 49.1382V49.1043C24.0988 49.1043 23.9803 49.1213 23.8701 49.1213C23.8363 49.1213 23.7854 49.1382 23.76 49.1551C23.76 49.1551 23.7092 49.1551 23.6922 49.1721C23.6922 49.1721 23.7431 49.1721 23.76 49.1551C23.7939 49.1551 23.8447 49.1382 23.8701 49.1213C23.9803 49.1213 24.0988 49.1213 24.209 49.1043L24.2429 49.0535H24.3106C24.3106 49.0535 24.3445 49.0027 24.3445 48.9688C24.3445 48.9688 24.3614 49.0027 24.3784 49.0027C24.3784 49.0027 24.3614 48.9688 24.3445 48.9688C24.3445 49.0027 24.3106 49.0196 24.3106 49.0535H24.2429L24.209 49.1043V49.1382H24.192V49.189H24.2429H24.1751V49.1721H24.1666ZM24.3275 48.8502C24.3275 48.8502 24.3445 48.7994 24.3614 48.7824C24.3614 48.7824 24.3445 48.8333 24.3275 48.8502ZM24.3614 48.8502L24.3953 48.8841C24.3953 48.8841 24.3953 48.918 24.3784 48.918C24.3784 48.918 24.3784 48.8841 24.3953 48.8671L24.3614 48.8333V48.8502ZM24.2174 49.0789C24.2174 49.0789 24.2513 48.9942 24.2852 48.9688C24.2683 49.0196 24.2344 49.0535 24.2174 49.0789ZM24.3953 49.045C24.3953 49.045 24.3784 49.0959 24.3614 49.1128C24.3614 49.0959 24.3784 49.0789 24.3953 49.045ZM24.8358 47.9269C24.7426 48.1895 24.641 48.4013 24.5563 48.5791C24.641 48.3843 24.7341 48.1726 24.8358 47.9269C25.1746 47.029 25.5643 45.8008 25.6829 44.3946C25.7167 44.0219 25.7337 43.6492 25.7167 43.2596C25.7167 43.6492 25.7167 44.0219 25.6829 44.3946C25.5558 45.7923 25.1831 47.029 24.8358 47.9269ZM21.5407 43.844C22.176 46.2666 23.633 48.1556 24.336 48.918C23.6499 48.1387 22.176 46.2666 21.5407 43.844ZM23.7007 49.1806C23.7007 49.1806 23.7177 49.1975 23.7346 49.2144C23.7346 49.2144 23.7177 49.1975 23.7007 49.1806ZM18.7115 46.4191C18.7115 46.4191 18.7454 46.4699 18.7454 46.4869C18.7454 46.5038 18.7284 46.5377 18.7115 46.5546C18.7115 46.5546 18.7284 46.5038 18.7454 46.4869C18.7454 46.4699 18.7115 46.4361 18.7115 46.4191ZM23.1162 49.1975C22.2268 49.1128 21.3797 48.8248 20.6513 48.3843C21.3797 48.8417 22.2268 49.1128 23.1162 49.1975ZM24.0226 49.6549C24.0226 49.6549 24.0396 49.621 24.0565 49.5872C24.0565 49.6041 24.0396 49.621 24.0226 49.6549C24.0226 49.6549 23.9887 49.621 23.9718 49.6041C23.9718 49.6041 24.0057 49.638 24.0226 49.6549ZM24.5393 49.8836H24.4546H24.6156H24.5309H24.5393ZM24.4123 49.9514H24.3275C24.3275 49.9514 24.4377 50.0615 24.5054 50.1462C24.5054 50.1462 24.3784 50.0022 24.3275 49.9514L24.2937 49.9175C24.192 49.9345 24.1158 49.9514 24.0141 49.9683H23.9294C23.9294 49.9683 23.9464 49.9345 23.9633 49.9175C23.9633 49.9345 23.9464 49.9514 23.9294 49.9683H24.0311C24.1158 49.9514 24.209 49.9345 24.3106 49.9175L24.3445 49.9514H24.4292C24.4292 49.9514 24.5139 50.0361 24.5393 50.0785C24.5393 50.0785 24.4546 49.9768 24.4292 49.9514H24.4123ZM23.5398 50.8916C23.5398 50.8916 23.5398 50.8578 23.5567 50.8408C23.5567 50.8578 23.5567 50.8747 23.5398 50.8916ZM23.6753 49.9175C23.6753 49.9175 23.7685 49.8836 23.8193 49.8836C23.8193 49.8836 23.7261 49.9175 23.6753 49.9175C23.6075 49.9345 23.5313 49.9514 23.4635 49.9853C23.5313 49.9683 23.6075 49.9345 23.6753 49.9175ZM23.7685 49.9514C23.7685 49.9514 23.8193 49.9514 23.8532 49.9345C23.8532 49.9345 23.8024 49.9345 23.7685 49.9514ZM19.2028 53.4752C19.3468 53.6531 19.4993 53.814 19.6602 53.9834C19.6602 53.9496 19.6602 53.9326 19.6771 53.8987C20.1176 52.3232 21.2358 50.9679 22.7605 50.2563C21.2358 50.9848 20.1176 52.3232 19.6771 53.9157C19.6771 53.9496 19.6772 53.9665 19.6602 54.0004C19.4993 53.8394 19.3553 53.6785 19.2028 53.4921V53.4752ZM22.4979 55.6183C22.4979 55.2625 22.4979 54.9152 22.5487 54.5764C22.5148 54.9152 22.4979 55.2625 22.4979 55.6183ZM22.4979 55.7538C22.4979 55.7538 22.5487 55.7538 22.5656 55.7708C22.5656 55.7708 22.5148 55.7708 22.4979 55.7538ZM23.201 56.6263C23.04 56.5924 22.8621 56.5585 22.7012 56.5247C22.8621 56.5585 23.0231 56.6094 23.201 56.6263ZM23.1501 55.8301C22.9553 55.7962 22.7605 55.7453 22.5656 55.686C22.7605 55.7369 22.9553 55.7877 23.1501 55.8301ZM23.1501 55.7623C22.9553 55.7284 22.7605 55.6776 22.5656 55.6183C22.7605 55.6691 22.9553 55.7199 23.1501 55.7623ZM24.4631 50.1039C24.4631 50.1039 24.4631 50.07 24.48 50.053C24.48 50.053 24.48 50.0869 24.4631 50.1039ZM24.1412 49.7735C24.0734 49.7735 24.0311 49.7905 23.9633 49.8074C23.9633 49.8074 23.9125 49.8074 23.8786 49.8243C23.8786 49.8413 23.8617 49.8582 23.8447 49.8752C23.8447 49.8582 23.8617 49.8413 23.8786 49.8243C23.9125 49.8243 23.9294 49.8243 23.9633 49.8074C23.9633 49.8074 24.0734 49.7905 24.1412 49.7735ZM24.209 49.6465L24.1581 49.6973L24.1073 49.7481C24.1073 49.7481 24.0565 49.6973 24.0226 49.6634C24.0226 49.6634 24.0057 49.6465 23.9887 49.6295C23.9887 49.6295 24.0057 49.6465 24.0226 49.6634C24.0565 49.6973 24.0904 49.7312 24.1073 49.7481L24.1581 49.6973L24.209 49.6465C24.209 49.6465 24.1412 49.5787 24.0988 49.5363C24.0988 49.5024 24.1327 49.4686 24.1497 49.4516C24.1497 49.4686 24.1158 49.5024 24.0988 49.5363C24.1497 49.5872 24.1836 49.621 24.209 49.6465ZM24.0988 49.2737L24.1158 49.206L24.0988 49.2399L24.065 49.3246L24.0988 49.2737ZM24.0988 49.2568L24.1327 49.2737H24.1497L24.0988 49.2568ZM24.3106 49.1636C24.3106 49.1636 24.3784 49.1636 24.4038 49.1467C24.4038 49.1467 24.336 49.1467 24.3106 49.1636ZM24.6664 49.2144C24.6664 49.2144 24.6325 49.1806 24.6156 49.1636C24.6156 49.1636 24.6494 49.1975 24.6664 49.2144ZM24.7003 49.1636C24.7003 49.1636 24.6833 49.1467 24.6664 49.1297C24.6664 49.1297 24.6494 49.1128 24.6325 49.0959L24.5986 49.062H24.5139H24.5817L24.5478 49.0281H24.48L24.5139 49.062C24.5139 49.062 24.497 49.0281 24.48 49.0281H24.5478L24.4377 48.9095V48.8926C24.4377 48.8926 24.4038 48.8587 24.3868 48.8417C24.4038 48.8587 24.4207 48.8756 24.4377 48.8926C24.4885 48.9434 24.5224 48.9773 24.5478 49.0196C24.5139 48.9857 24.48 48.9349 24.4377 48.8926V48.9095L24.5478 49.0281L24.5817 49.062H24.5986L24.6325 49.1128C24.6325 49.1128 24.6494 49.1297 24.6664 49.1467C24.7511 49.1467 24.8443 49.1467 24.929 49.1297C24.8443 49.1297 24.7511 49.1297 24.6664 49.1467C24.6664 49.1467 24.6833 49.1636 24.7003 49.1806V49.1636ZM21.4645 43.0647C21.4645 43.0647 21.5576 43.0308 21.6085 43.0139C21.5576 43.0308 21.5153 43.0478 21.4645 43.0647ZM21.4645 43.7C21.2866 43.7847 21.1087 43.8779 20.9477 43.988C21.1087 43.8949 21.2866 43.7932 21.4645 43.7ZM20.863 44.1913C21.2696 45.6398 21.9303 46.8935 22.5656 47.8337C22.9214 48.3674 23.2602 48.8079 23.5398 49.1382C23.5398 49.1382 23.5737 49.1721 23.5906 49.189H23.5567H23.6076C23.6076 49.189 23.6414 49.2229 23.6414 49.2399C23.6075 49.2399 23.5737 49.2399 23.5567 49.2568C23.5567 49.2568 23.6245 49.2399 23.6414 49.2399C23.6414 49.2399 23.6076 49.206 23.6076 49.189H23.5567H23.5906C23.5906 49.189 23.5567 49.1551 23.5398 49.1382C23.3788 49.1382 23.2179 49.1382 23.0654 49.1213C21.2442 48.9603 19.6348 47.9184 18.7454 46.4022C19.2621 45.5212 19.9821 44.7589 20.8546 44.1913H20.863ZM18.3981 47.1476C18.4828 46.9358 18.576 46.741 18.6945 46.5292C18.576 46.7241 18.4828 46.9358 18.3981 47.1476C19.2875 48.4521 20.6682 49.3584 22.2607 49.6973C20.6851 49.3584 19.3044 48.4436 18.3981 47.1476C18.3981 47.1476 18.3811 47.1137 18.3642 47.0968C18.3642 47.0968 18.3811 47.1307 18.3981 47.1476ZM22.1845 49.8159C20.7699 50.5782 19.7025 51.8319 19.1943 53.3312C19.1943 53.3481 19.2282 53.382 19.2451 53.399C19.2282 53.382 19.2112 53.3481 19.1943 53.3312C19.711 51.8488 20.7868 50.5867 22.1845 49.8328V49.8159ZM22.5572 56.4992C22.5572 56.6602 22.5911 56.8127 22.608 56.9736C22.5911 56.8127 22.5741 56.6602 22.5572 56.4992ZM24.6156 60.76C24.6156 60.76 24.6156 60.7939 24.6325 60.8108C24.6325 60.8108 24.6325 60.7769 24.6156 60.76C24.3869 60.7431 24.1581 60.6922 23.9464 60.6499C24.1751 60.7007 24.3869 60.7431 24.6156 60.76ZM24.8443 60.9125C24.9713 61.1242 25.0899 61.3191 25.217 61.5139C25.0899 61.336 24.9713 61.1242 24.8443 60.9125ZM26.0132 60.8786C26.4198 60.8278 26.7925 60.7346 27.1483 60.599C27.1822 60.599 27.1991 60.5821 27.233 60.5652C27.1991 60.5652 27.1822 60.5821 27.1483 60.599C26.7925 60.7261 26.4029 60.8278 26.0132 60.8786ZM27.3431 60.3958C27.3431 60.3958 27.3092 60.3958 27.2753 60.4127C27.2923 60.4127 27.3092 60.4127 27.3431 60.3958ZM27.2584 60.4296C27.2584 60.4296 27.2584 60.4805 27.2415 60.5143C27.2415 60.5143 27.2415 60.4635 27.2584 60.4296ZM23.3111 56.5924C23.4381 56.6094 23.5737 56.6263 23.7007 56.6432C24.0565 56.6771 24.4292 56.6771 24.8019 56.6432C24.4292 56.6602 24.0565 56.6771 23.7007 56.6432C23.5737 56.6432 23.4381 56.6094 23.3111 56.5924ZM23.2264 54.6442C23.3534 53.2465 23.7346 52.0098 24.0904 51.1119C23.7515 52.0098 23.3619 53.238 23.2264 54.6442ZM24.5139 50.1208C24.5139 50.1208 24.5308 50.0869 24.5478 50.07C24.5478 50.0869 24.5308 50.1039 24.5139 50.1208ZM24.5309 50.0361C24.5309 50.0361 24.5139 50.0022 24.497 50.0022C24.497 50.0022 24.5139 50.0361 24.5309 50.0361C24.5309 50.0361 24.5478 50.053 24.5647 50.07C24.5647 50.07 24.5478 50.053 24.5309 50.0361ZM24.7765 49.7396H24.7257V49.7227H24.7765V49.7396ZM24.6156 49.7735C24.6156 49.7735 24.5224 49.7905 24.4716 49.8074C24.5224 49.8074 24.5732 49.7905 24.6156 49.7735ZM24.2767 49.7735L24.2598 49.7566L24.2259 49.7227L24.2767 49.7735ZM24.1751 49.3669L24.1243 49.333C24.1243 49.333 24.1242 49.3669 24.0904 49.4008C24.0904 49.4347 24.0565 49.4686 24.0226 49.5109C24.0226 49.494 23.9887 49.477 23.9718 49.4601C23.9718 49.477 23.9548 49.494 23.9379 49.5279C23.9379 49.5109 23.9548 49.477 23.9718 49.4601C23.9887 49.4093 24.0226 49.3754 24.0226 49.3669C24.0226 49.3669 23.9887 49.4347 23.9718 49.4601C23.9887 49.477 24.0057 49.494 24.0226 49.5109C24.0565 49.4601 24.0734 49.4093 24.0904 49.4008C24.0904 49.4008 24.1243 49.35 24.1243 49.333H24.192L24.1412 49.2992L24.209 49.333L24.2259 49.2992V49.333H24.209V49.2992H24.2259L24.2767 49.2144H24.192H24.4038C24.4546 49.2144 24.4885 49.1975 24.5309 49.1975C24.5309 49.1975 24.4462 49.2144 24.4038 49.2144H24.2767L24.2259 49.2992L24.192 49.35L24.1751 49.3669ZM24.8443 49.333C24.8443 49.333 24.8781 49.2822 24.8951 49.2314C24.912 49.1975 24.9459 49.1467 24.9628 49.1043C24.9459 49.1552 24.912 49.189 24.8951 49.2314C24.8781 49.2653 24.8612 49.2992 24.8443 49.333ZM26.369 43.3951C26.369 43.7509 26.369 44.0981 26.3182 44.437C26.352 44.0981 26.369 43.7509 26.369 43.3951ZM28.4951 44.4031C28.4951 44.4031 28.4613 44.3692 28.4274 44.3692C28.4443 44.3692 28.4612 44.4031 28.4951 44.4031ZM26.4368 43.285C26.4368 43.285 26.3859 43.285 26.369 43.268C26.369 43.268 26.4198 43.268 26.4368 43.285ZM20.6936 42.8106C20.7106 42.9546 20.7444 43.1156 20.7783 43.268C20.7444 43.124 20.7106 42.9715 20.6936 42.8106ZM18.3726 45.6568C18.3726 45.6568 18.3388 45.7076 18.3218 45.7245C18.3218 45.7245 18.3049 45.7584 18.288 45.7753C18.288 45.7753 18.3049 45.7415 18.3218 45.7245C18.3218 45.7076 18.3557 45.6737 18.3726 45.6568ZM18.2626 47.0883C18.2626 47.0883 18.2964 47.1391 18.3134 47.1561C18.3134 47.1391 18.3303 47.1052 18.3472 47.0883C18.3472 47.0883 18.3303 47.1391 18.3134 47.1561C18.3134 47.173 18.3473 47.2069 18.3642 47.2238C19.2536 48.4944 20.6259 49.4008 22.1675 49.7481C20.6259 49.3923 19.2621 48.4944 18.3642 47.2238C18.3642 47.2408 18.3472 47.2747 18.3303 47.2916C19.2197 48.5453 20.5581 49.4347 22.0828 49.7989C20.7021 50.5613 19.6433 51.798 19.1435 53.2634C19.1435 53.2973 19.1266 53.3143 19.1096 53.3481C19.1096 53.3143 19.1096 53.2973 19.1435 53.2634C19.0418 53.1364 18.9487 52.9839 18.864 52.8568C18.5421 51.7641 18.2286 50.5952 17.9237 49.3754C17.9237 49.2483 17.9237 49.1128 17.9407 48.9857C17.9915 48.4013 18.1355 47.8337 18.3472 47.2916C18.3472 47.2916 18.3303 47.2577 18.3134 47.2408C18.3134 47.2408 18.3303 47.2747 18.3472 47.2916C18.3472 47.2747 18.3642 47.2408 18.3811 47.2238C18.3811 47.2069 18.3472 47.173 18.3303 47.1561C18.3303 47.1561 18.2964 47.1052 18.2795 47.0883H18.2626ZM18.2287 47.1561C18.2287 47.1561 18.2625 47.2069 18.2795 47.2238C18.1694 47.5034 18.0846 47.7914 17.9999 48.0878C18.0677 47.7914 18.1609 47.5034 18.2795 47.2238C18.2795 47.2069 18.2456 47.173 18.2287 47.1561ZM18.8979 53.0601C18.3811 52.2808 18.0169 51.3829 17.8729 50.4088C17.9999 51.3829 18.3557 52.2808 18.8979 53.0601ZM19.0249 53.5176C19.0249 53.5176 19.0418 53.6023 19.0588 53.6277C19.0588 53.5768 19.0927 53.526 19.1096 53.5006C19.1096 53.5514 19.0757 53.6023 19.0588 53.6277C19.0588 53.5938 19.0419 53.543 19.0249 53.5176C18.9571 53.7124 18.9148 53.9072 18.8809 54.102C18.8978 54.119 18.9148 54.1529 18.9317 54.1698C18.9317 54.1698 18.9656 54.2206 18.9825 54.2376C18.9656 54.2206 18.9487 54.1867 18.9317 54.1698C18.9148 54.1529 18.8978 54.119 18.8809 54.102C18.9317 53.9072 18.9741 53.7124 19.0249 53.5176ZM25.1153 61.6325C24.9375 61.6325 24.7596 61.6325 24.5817 61.6155C24.7596 61.6155 24.9375 61.6325 25.1153 61.6325C25.2085 61.7765 25.3101 61.9289 25.4203 62.056C25.3271 61.9289 25.2255 61.7765 25.1153 61.6325ZM25.1492 61.5562C25.1492 61.5562 25.1831 61.5901 25.1831 61.624C25.1831 61.6071 25.1492 61.5901 25.1492 61.5562ZM26.9958 61.2936C26.9958 61.2936 27.0466 61.2936 27.0805 61.2767C27.0805 61.2767 27.0297 61.2767 26.9958 61.2936ZM28.2495 56.2366C28.3427 56.999 28.3426 57.7444 28.3003 58.4644C28.3681 57.7444 28.3511 56.999 28.2495 56.2366ZM28.2495 56.1096C28.2325 55.9656 28.1987 55.8301 28.1817 55.703C28.1648 55.703 28.1478 55.7199 28.1139 55.7369C28.1139 55.7369 28.1478 55.7199 28.1817 55.703C28.2156 55.8301 28.2325 55.9825 28.2495 56.1096ZM24.5817 50.1632C24.7087 50.3072 24.8866 50.5189 25.073 50.7646C24.8951 50.5359 24.7172 50.3241 24.5817 50.1632ZM25.1492 49.7227C25.1492 49.7227 25.0984 49.7227 25.0814 49.7396C25.0814 49.7396 25.1323 49.7396 25.1492 49.7227ZM25.1153 49.6719C25.1153 49.6719 25.0052 49.5448 24.9544 49.494C24.9374 49.477 24.9205 49.4601 24.9036 49.4432C24.9036 49.4601 24.9374 49.477 24.9544 49.494C25.0052 49.5448 25.056 49.6041 25.1153 49.6719ZM29.3845 45.0553C29.3845 45.0553 29.2999 44.9706 29.2744 44.9452C29.2744 44.9452 29.3591 45.0299 29.3845 45.0553ZM25.632 42.1245V42.1922H25.6998H25.649V42.1245H25.632ZM21.9303 37.6011C21.9303 37.6011 21.9134 37.652 21.8965 37.6858C21.8287 37.8976 21.7694 38.1263 21.7016 38.355C21.6678 38.355 21.6508 38.372 21.6169 38.3889C21.6169 38.4228 21.6169 38.4397 21.6 38.4736C21.6 38.5075 21.6 38.5244 21.583 38.5583C21.439 39.092 21.3374 39.6934 21.2781 40.3287C21.3459 39.6934 21.456 39.1089 21.583 38.5583C21.583 38.5244 21.583 38.5075 21.6 38.4736C21.6 38.4397 21.6 38.4228 21.6169 38.3889C21.6169 38.3889 21.6678 38.372 21.7016 38.355C21.7694 38.1263 21.8287 37.8976 21.8965 37.6858C21.8965 37.652 21.9134 37.635 21.9303 37.6011ZM21.0663 37.9738C21.0663 37.9738 21.1172 37.94 21.151 37.94C21.151 37.9061 21.1511 37.8891 21.168 37.8553C21.3798 37.7536 21.6084 37.6943 21.8372 37.6265C21.6084 37.6943 21.3798 37.7705 21.168 37.8553C21.168 37.8891 21.168 37.9061 21.151 37.94C21.1341 38.0077 21.1172 38.067 21.1002 38.1178C21.1172 38.0501 21.1341 37.9908 21.151 37.94C21.1172 37.94 21.0833 37.9738 21.0663 37.9738ZM17.9491 43.7763C17.9491 43.988 17.9661 44.1829 17.9999 44.3946C18.0508 44.8012 18.1609 45.1739 18.2964 45.5466C18.2964 45.5297 18.3303 45.4958 18.3472 45.4789C18.3472 45.4958 18.3134 45.5297 18.2964 45.5466C18.1694 45.1909 18.0508 44.8012 17.9999 44.3946C17.9661 44.1829 17.9491 43.9711 17.9491 43.7763ZM17.7882 49.5194C17.7882 49.8159 17.8051 50.1039 17.856 50.4003C17.9237 50.934 18.0677 51.4422 18.2626 51.9081C18.0677 51.4338 17.9407 50.934 17.856 50.4003C17.8221 50.1039 17.7882 49.8159 17.7882 49.5194ZM18.7454 53.8733C18.7454 53.8733 18.7623 53.958 18.7793 53.9919C18.7793 53.958 18.7623 53.9072 18.7454 53.8733ZM19.5416 56.0503C19.5077 55.7877 19.4908 55.542 19.4908 55.3049C19.4908 55.5505 19.5077 55.8131 19.5416 56.0503ZM20.9562 59.0235C20.9054 58.9727 20.8715 58.9134 20.8461 58.8626C20.8969 58.9134 20.9308 58.9727 20.9562 59.0235ZM24.2174 61.4461C24.2174 61.4461 24.1836 61.3953 24.1836 61.3784C24.1836 61.3953 24.2174 61.4292 24.2174 61.4461ZM25.1238 62.649C25.0391 62.5388 24.9459 62.4033 24.8612 62.2762C24.9628 62.4033 25.0391 62.5388 25.1238 62.649ZM27.1568 62.9115C27.0721 63.0725 27.0128 63.2334 26.945 63.352C27.0128 63.225 27.0721 63.0725 27.1568 62.9115ZM29.3676 60.1162V62.6828L27.2245 62.8946C27.2076 62.9454 27.1737 62.9878 27.1568 63.0386C27.1737 62.9878 27.2076 62.9539 27.2245 62.8946C27.4363 62.4033 27.6989 61.768 27.9191 60.9887C27.9191 60.9548 27.9191 60.9379 27.9361 60.904C27.9361 60.9379 27.9361 60.9548 27.9191 60.9887C28.4358 60.76 28.9271 60.455 29.3676 60.0908V60.1077V60.1162ZM28.1478 60.0993C28.1478 60.0993 28.1478 60.0485 28.1648 60.0146C28.1648 60.0146 28.1648 60.0823 28.1478 60.0993ZM28.1648 60.0146C28.5714 59.7859 28.9271 59.4979 29.249 59.1675C28.9271 59.4894 28.5544 59.7689 28.1648 60.0146ZM27.9869 54.8136C27.9869 54.8136 28.0208 54.7797 28.0377 54.7797C28.0208 54.7797 28.0038 54.8136 27.9869 54.8136ZM28.8678 47.1052C28.3003 47.9184 27.5379 48.5876 26.64 49.0535C27.5295 48.5791 28.3003 47.9015 28.8678 47.1052ZM29.7911 45.6059C29.7911 45.6059 29.7573 45.572 29.7403 45.5382C29.7403 45.5551 29.7742 45.572 29.7911 45.6059ZM29.7064 45.4111C29.7064 45.4111 29.7064 45.428 29.7234 45.445C29.7234 45.445 29.7234 45.428 29.7064 45.4111C29.7064 45.428 29.7064 45.4619 29.6895 45.4958C29.6895 45.5128 29.7234 45.5297 29.7403 45.5636C29.7403 45.5636 29.7403 45.6144 29.7234 45.6483C29.7234 45.6313 29.6895 45.6144 29.6725 45.5805C29.6725 45.5805 29.6556 45.5636 29.6556 45.5466C29.6556 45.5466 29.6726 45.5636 29.6895 45.5805C29.6895 45.5975 29.7234 45.6144 29.7403 45.6483C29.7403 45.6313 29.7403 45.5975 29.7573 45.5636C29.7573 45.5466 29.7234 45.5297 29.7064 45.4958C29.6133 45.3688 29.4947 45.2502 29.3845 45.1231C29.4947 45.2332 29.5963 45.3688 29.7064 45.4958C29.7064 45.4619 29.7064 45.445 29.7234 45.4111C29.7573 45.3264 29.7742 45.2502 29.8081 45.1824C29.8081 45.1824 29.7573 45.3433 29.7234 45.4111H29.7064ZM25.0814 38.1433C25.488 38.2449 25.8777 38.4058 26.2504 38.5837C25.8777 38.4058 25.505 38.2449 25.0814 38.1433ZM29.3507 42.7428C29.1728 41.5908 28.6561 40.5828 27.9022 39.7866C28.6476 40.5828 29.1728 41.6078 29.3507 42.7428ZM29.2999 42.8868V42.8191H29.3676V42.8021H29.2999V42.8868ZM24.9798 38.1263C24.9798 38.1263 25.0137 38.1771 25.0137 38.211C25.0475 38.211 25.0645 38.211 25.0984 38.228C25.1153 38.228 25.1492 38.228 25.1662 38.2449C25.1492 38.2449 25.1153 38.2449 25.0984 38.228C25.0645 38.228 25.0475 38.228 25.0137 38.211C25.0137 38.2449 25.0476 38.2618 25.0476 38.2957C25.0476 38.2957 25.0137 38.2449 25.0137 38.211C24.9798 38.211 24.9629 38.211 24.929 38.1941C24.9629 38.1941 24.9798 38.1941 25.0137 38.211C25.0137 38.1771 24.9798 38.1602 24.9798 38.1263C24.8527 37.8976 24.7172 37.6689 24.6071 37.4571C24.7341 37.6689 24.8697 37.8807 24.9798 38.1263ZM19.3298 36.6016H19.4908L21.5661 36.2797H21.6508L21.7355 36.2628H21.6508C21.5831 36.4068 21.5407 36.5592 21.4729 36.7202C21.5407 36.5592 21.6 36.4068 21.6508 36.2628H21.5661C21.4983 36.4068 21.456 36.5592 21.3882 36.7202C21.456 36.5592 21.5068 36.4068 21.5661 36.2797L19.4908 36.5762L18.8555 36.9828C18.8555 36.9828 18.7454 37.0675 18.6945 37.1098L21.3882 36.7202C21.2612 37.0421 21.1256 37.4148 21.0155 37.8214C21.0155 37.8553 20.9986 37.8722 20.9986 37.9061C20.9986 37.94 20.9986 37.9569 20.9816 37.9908C20.9816 37.9569 20.9816 37.94 20.9986 37.9061C20.9986 37.8722 21.0155 37.8553 21.0325 37.8214C18.8894 38.7616 17.407 40.7692 17.2037 43.0732C17.2037 43.2511 17.1698 43.4459 17.1698 43.6238C17.1698 43.9033 17.1868 44.1913 17.2376 44.4709C17.3308 45.14 17.5341 45.7753 17.8221 46.3598C17.8221 46.3259 17.856 46.309 17.856 46.2751C17.856 46.2582 17.8898 46.2243 17.8898 46.2074C17.7797 45.9786 17.695 45.733 17.6103 45.4789C17.695 45.7245 17.7713 45.9702 17.8898 46.2074C18 45.9956 18.1185 45.7838 18.2456 45.589C18.1016 45.1993 17.983 44.8097 17.9407 44.3862C17.9068 44.1236 17.8898 43.8779 17.8898 43.6407C17.8898 43.4798 17.8898 43.3188 17.9068 43.1494C17.9068 43.3104 17.8898 43.4713 17.8898 43.6407C17.8898 43.8864 17.9068 44.149 17.9407 44.3862C18.0084 44.8097 18.1016 45.2163 18.2456 45.589C18.1185 45.7838 17.983 45.9956 17.8898 46.2074C17.8898 46.2074 17.856 46.2582 17.856 46.2921C17.856 46.309 17.8729 46.3429 17.8898 46.3768C17.8898 46.3768 17.8729 46.3259 17.856 46.2921C17.856 46.3259 17.8221 46.3429 17.8221 46.3768C17.6781 46.6732 17.5425 46.9782 17.4493 47.2831C17.4493 47.334 17.4663 47.3678 17.4832 47.4102C17.4832 47.461 17.5002 47.4949 17.5171 47.5372C17.6188 47.9947 17.7289 48.4436 17.8221 48.901C17.7119 48.4606 17.6103 48.0031 17.5171 47.5372C17.424 47.8422 17.3562 48.1726 17.3054 48.4775C17.3562 48.1556 17.4155 47.8422 17.5171 47.5372C17.5171 47.4864 17.5002 47.4525 17.4832 47.4102C17.4832 47.3594 17.4663 47.3255 17.4493 47.2831C16.9919 45.2163 16.5854 43.0054 16.2973 40.7014L16.4413 40.2948C16.8649 39.092 17.7882 37.7875 18.7115 37.1268H18.5844C17.7373 37.8129 16.8988 38.9649 16.4583 40.0746C16.8988 38.9564 17.7204 37.796 18.5844 37.1437H18.7115C18.7115 37.1437 18.8216 37.0336 18.8724 36.9997L19.5077 36.5931H19.3637V36.6101H19.2197L18.8301 36.8896C18.8301 36.8896 18.7962 36.9235 18.7793 36.9235C18.7793 36.9235 18.8301 36.8896 18.847 36.8896L19.2367 36.627H19.3976L19.3298 36.6101V36.6016ZM17.9661 40.7183C18.2287 40.227 18.5505 39.7781 18.9402 39.3884C19.3298 38.9988 19.7534 38.6261 20.2362 38.3296C19.7534 38.6261 19.3298 38.9819 18.9402 39.3884C18.5505 39.795 18.2287 40.2355 17.9661 40.7183ZM16.0178 40.1593H16.1957L16.3566 40.1085H16.1957L16.0178 40.1593ZM17.5764 37.1522C17.5764 37.1522 17.5256 37.203 17.5086 37.2369H17.4155C17.4155 37.2369 17.3646 37.2877 17.3477 37.3047C17.3477 37.3047 17.3985 37.2538 17.4155 37.2369L17.5086 37.203C17.5086 37.203 17.5595 37.1522 17.5764 37.1183V37.1522ZM16.1957 40.1932C16.1957 40.2779 16.2126 40.3372 16.2296 40.4219C16.2296 40.3372 16.2126 40.2779 16.1957 40.1932ZM16.3058 40.1762H16.3905L16.4413 40.1593H16.3143V40.1762H16.3058ZM17.4748 37.1861C17.4748 37.1861 17.5256 37.1352 17.5425 37.1014C17.5256 37.1183 17.4917 37.1522 17.4748 37.1861ZM16.0009 37.4656V37.5334H16.0856L17.2376 37.3724C16.8649 37.779 16.543 38.2534 16.2465 38.7362L16.0856 37.5334H16.0178V37.4063V37.491L16.0009 37.4741V37.4656ZM16.1957 40.1L16.0348 40.1169H16.1957C16.1618 39.8205 16.1279 39.5663 16.094 39.2868C16.1279 39.5663 16.1618 39.8205 16.1957 40.1ZM15.5604 37.1861H15.6282L15.6959 37.1691L15.9246 37.1352H15.9924L16.0602 37.1183L17.7458 36.8727H17.8644L17.9745 36.8388L18.6098 36.7541H18.6776L18.7454 36.7371H18.6183L17.983 36.8218C17.8898 36.9065 17.7882 36.9997 17.6865 37.0844C17.7797 36.9912 17.8814 36.9065 17.983 36.8218H17.8729V36.8388H17.7543L16.0686 37.1014L16.1025 37.3131H16.0348L15.967 37.3301L15.9331 37.1183L15.7044 37.1522H15.6366L15.6705 37.4487L15.6366 37.1691H15.5689L15.6027 37.364L15.5689 37.1861H15.5604ZM15.7552 39.9221C15.8484 39.6595 15.967 39.4139 16.094 39.1767C15.967 39.4223 15.8484 39.6849 15.7552 39.9221ZM17.2206 48.2318C17.2206 48.2318 17.2376 48.3166 17.2545 48.342C17.2545 48.3081 17.2376 48.2573 17.2206 48.2318ZM18.9741 54.6272C18.9741 54.678 19.008 54.7289 19.0249 54.7712C19.0249 54.7204 18.991 54.678 18.9741 54.6272ZM20.7275 59.6842C20.448 58.9811 20.1769 58.2018 19.8635 57.3632C20.16 58.2103 20.448 58.9896 20.7275 59.6842C20.7444 59.735 20.7614 59.7859 20.7953 59.8282C20.8122 59.879 20.8292 59.9299 20.8461 59.9553C21.0579 60.1332 21.2696 60.311 21.4983 60.472C22.3115 61.0395 23.2518 61.4122 24.2598 61.5647C24.3614 61.7087 24.4377 61.8612 24.5393 61.9882C24.8443 62.4457 25.1407 62.8353 25.4033 63.1403L22.7689 63.4028C22.5572 62.9624 22.0828 61.9374 21.5068 60.4635C21.2781 60.3026 21.0663 60.1416 20.8546 59.9468C20.8546 59.9468 20.8207 59.8452 20.8038 59.8197C20.7868 59.7689 20.7699 59.7266 20.736 59.6757V59.6927L20.7275 59.6842ZM25.9878 63.5045L26.0217 63.4537V63.4367L26.0556 63.369C26.0556 63.369 26.1403 63.208 26.1996 63.0894C26.1318 63.1996 26.0895 63.3012 26.0556 63.369L26.0217 63.4367L26.0556 63.4537H26.0725L26.0047 63.4367L25.9709 63.5214L25.9878 63.5045ZM26.6485 63.3181C26.6485 63.3181 26.5045 63.1741 26.3859 63.0386C26.513 63.1826 26.6146 63.2843 26.6485 63.3181ZM29.7573 59.7096C29.6302 59.8367 29.4777 59.9722 29.3337 60.0823C29.4777 59.9637 29.6133 59.8367 29.7573 59.7096ZM29.7573 53.2888V53.399C29.6302 53.5599 29.4777 53.7378 29.3337 53.8903C29.4777 53.7293 29.6302 53.5684 29.7573 53.399V53.2888C29.7573 53.2888 29.7403 53.3058 29.7234 53.3227C29.7234 53.3227 29.7403 53.3058 29.7573 53.2888ZM26.6231 49.2399C26.2843 49.4177 25.9116 49.5617 25.5389 49.6803C25.4542 49.6973 25.3949 49.7142 25.3101 49.7481C25.3101 49.7481 25.4542 49.7142 25.5389 49.6803C25.9116 49.5702 26.2843 49.4177 26.6231 49.2399ZM29.7573 50.8408C29.6302 50.7138 29.4777 50.5782 29.3337 50.4681C28.5714 49.8497 27.6819 49.4262 26.6993 49.1975C26.6655 49.1975 26.6485 49.2314 26.6146 49.2483C26.6485 49.2483 26.6655 49.2144 26.6993 49.1975C26.6655 49.1975 26.6316 49.1975 26.5977 49.1806C26.5638 49.1806 26.5299 49.1806 26.5045 49.1636C26.4706 49.1636 26.4368 49.1975 26.4113 49.2144C26.2335 49.1806 26.0386 49.1467 25.8607 49.1297C25.6659 49.1128 25.4711 49.0959 25.2763 49.0959C25.4711 49.0959 25.6659 49.0959 25.8607 49.1297C26.0556 49.1467 26.2335 49.1806 26.4113 49.2144C26.4452 49.2144 26.4791 49.1806 26.5045 49.1636C26.5045 49.1636 26.5723 49.1636 26.5977 49.1806C26.6316 49.1806 26.6655 49.1806 26.6993 49.1975C27.6735 49.4262 28.5629 49.8497 29.3337 50.4681C29.4777 50.5782 29.6133 50.7138 29.7573 50.8408ZM29.3676 44.1236C29.3676 43.9796 29.3845 43.8271 29.3845 43.6661C29.3845 43.8101 29.3846 43.9626 29.3676 44.1236ZM29.7573 42.0482C29.6641 41.6586 29.5116 41.3028 29.3337 40.9471C29.5116 41.2859 29.6471 41.6671 29.7573 42.0482ZM29.7573 41.5908C29.6471 41.2689 29.4947 40.9386 29.3337 40.6506C28.3765 38.8972 26.6062 37.6774 24.5732 37.3978H24.4885C24.4885 37.3978 24.5224 37.4487 24.5393 37.4656C24.5393 37.4656 24.5054 37.4148 24.4885 37.3978C24.4207 37.2962 24.3614 37.1861 24.2937 37.0844C24.1327 36.8388 23.9887 36.627 23.8363 36.4322H23.921C23.8193 36.2882 23.7261 36.1526 23.6245 36.0425L26.3351 35.6529H26.4622L26.5553 35.619H26.3266L23.616 36.0256C23.7092 36.1357 23.8108 36.2712 23.9125 36.3983L26.9619 35.9578H27.0551C26.9619 35.8901 26.8772 35.8477 26.7756 35.7969C26.8688 35.8477 26.9535 35.8985 27.0551 35.9409H26.9619C27.3346 36.1865 27.7073 36.4576 28.0631 36.8049C28.5459 37.2792 28.9864 37.8129 29.3253 38.3635V40.6082C29.4862 40.9047 29.6302 41.2266 29.7488 41.5485L29.7318 41.5824L29.7573 41.5908Z\",\n fill: \"#A4FF01\"\n })), _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.7178 36.1103H22.6331L22.523 36.1442C22.4552 36.2712 22.3959 36.4237 22.3281 36.6016L22.9634 36.4999C23.1413 36.7286 23.3361 36.9743 23.5309 37.2792H23.6157C23.4208 36.9828 23.226 36.7286 23.0481 36.4999H23.1329C23.0227 36.3559 22.9211 36.2204 22.8279 36.1103H22.7347H22.7178Z\",\n fill: \"#A4FF01\"\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.9257 37.0759L15.8579 37.0928L15.8918 37.3046L15.9596 37.2876L15.9257 37.0759Z\",\n fill: \"#A4FF01\"\n })), _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.9935 37.0759H15.9258L15.9597 37.2876H16.0274L15.9935 37.0759Z\",\n fill: \"#A4FF01\"\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.6227 35.4156C27.6227 35.4156 27.7074 35.4664 27.7498 35.5003H27.843C27.843 35.5003 27.7583 35.4325 27.7159 35.3987H27.6143V35.4156H27.6227Z\",\n fill: \"#A4FF01\"\n })), _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.6226 35.4156H27.5294L26.7501 35.5257H26.623V35.5766C26.623 35.5766 26.6569 35.5935 26.6739 35.5935L27.7327 35.5596H27.8343C27.8343 35.5596 27.7835 35.5088 27.7496 35.4919C27.6988 35.458 27.6649 35.4241 27.6226 35.4072H27.6395L27.6226 35.4156ZM27.1482 35.5257H27.648V35.5088H27.1482V35.5257Z\",\n fill: \"#A4FF01\"\n })), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M80.0132 62.6404L94.7437 60.5396L94.7098 60.15C93.5748 45.6651 87.4504 33.9332 87.4335 33.8993L80.0132 34.6448V62.6319V62.6404ZM94.0322 58.5406C93.9136 57.7104 93.7187 56.9311 93.4477 56.2196C93.5409 56.9142 93.6256 57.6511 93.7103 58.3627C92.3126 57.6003 91.1606 56.6347 90.2966 55.4826C89.2716 54.1189 88.6363 52.5094 88.3822 50.7221C89.8561 51.4675 91.0928 52.4586 92.0331 53.6784C92.6176 54.4408 93.0919 55.2878 93.4307 56.2196C93.7103 56.9481 93.9051 57.7274 94.0152 58.5406H94.0322ZM91.5926 45.4957C91.6434 45.6736 91.6858 45.8684 91.7366 46.0632C91.6858 45.8854 91.6434 45.6905 91.5926 45.4957ZM91.2707 45.8854C91.5333 46.8256 91.7874 47.7997 92.0331 48.8332L90.0848 47.3338L91.2538 45.8854H91.2707ZM92.5667 49.2398C92.5159 49.011 92.4566 48.8162 92.4058 48.5875C92.4566 48.7993 92.5159 49.011 92.5667 49.2398ZM89.1107 38.1008C89.009 38.2448 88.9328 38.4142 88.8481 38.5582C89.2039 39.4815 89.5935 40.5573 90.0001 41.7432C90.0933 41.5822 90.178 41.4213 90.2797 41.2434C90.1865 40.9469 90.0848 40.6589 89.9747 40.3794C89.7799 39.8288 89.585 39.2867 89.3902 38.8039C89.5681 39.2952 89.7629 39.8288 89.9747 40.3794C90.0679 40.6589 90.1695 40.9469 90.2797 41.2434C90.1949 41.4044 90.1018 41.5822 90.0001 41.7432C89.4156 42.7173 88.6363 43.6322 87.6622 44.4453C87.4843 42.5564 87.7639 40.8199 88.4754 39.2613C88.594 39.0156 88.721 38.7869 88.8481 38.5582C88.9328 38.3973 89.026 38.2533 89.1107 38.1008ZM86.5102 35.0598C85.7817 36.3304 85.1803 37.6773 84.7229 39.0749C83.9605 37.8043 83.0626 36.6523 82.0631 35.5765C82.8085 35.5765 83.537 35.5257 84.2909 35.4325C85.0363 35.3478 85.7648 35.2208 86.5017 35.0598H86.5187H86.5102ZM80.8772 47.9522L81.4108 48.3588L80.8772 49.028V47.9522ZM80.4536 53.9495C80.5807 53.7038 80.7332 53.4751 80.8772 53.2549V50.5188L82.7323 48.2233L80.8772 46.7917V44.691C80.7332 44.5809 80.5977 44.4792 80.4536 44.3691C80.5807 44.4792 80.7332 44.5978 80.8772 44.691C81.6565 45.2755 82.5374 45.7837 83.4946 46.1903L84.1892 46.4868L84.1384 45.7244C84.1384 45.5296 84.1045 45.3348 84.0876 45.1399C83.8419 43.09 83.1304 41.235 81.9614 39.6594C81.6395 39.2189 81.2753 38.8123 80.8857 38.4396V39.8203C81.0043 39.9474 81.1144 40.0829 81.2245 40.21C82.2494 41.5738 82.8847 43.1832 83.1389 44.9705C82.3087 44.547 81.5633 44.0472 80.9026 43.4712C80.7586 43.3442 80.6231 43.2256 80.4791 43.0985C80.6061 43.2256 80.7586 43.3611 80.8857 43.4712V35.6697C82.3172 37.0674 83.537 38.6768 84.4772 40.4472L85.0278 41.506L85.3243 40.354C85.7987 38.5497 86.5441 36.8387 87.4843 35.2631C87.3911 35.0514 87.3064 34.8904 87.2556 34.7549C87.3234 34.8819 87.3996 35.0514 87.4843 35.2631C87.713 35.7714 88.0349 36.5168 88.4246 37.457C88.4754 37.5587 88.5093 37.6857 88.5516 37.7789C88.5008 37.6688 88.4669 37.5502 88.4246 37.457C88.1281 37.9144 87.874 38.3803 87.6453 38.8716C86.8321 40.642 86.5271 42.6411 86.7643 44.7588C86.7813 44.9705 86.8151 45.1823 86.8575 45.3941L86.9845 46.1395L87.586 45.699C88.7211 44.8689 89.6443 43.9286 90.3813 42.8867C90.5761 43.5051 90.7709 44.1404 90.9827 44.8011L88.8058 47.4863L92.3973 50.2478C92.626 51.2727 92.8378 52.3316 93.0326 53.4073C92.9479 53.3057 92.8886 53.1956 92.8039 53.0939C91.6011 51.5522 89.9916 50.3494 88.0434 49.5023L87.3403 49.2059L87.3911 49.9682C87.3911 50.1631 87.425 50.3579 87.442 50.5527C87.6876 52.6026 88.3992 54.4577 89.5681 56.0332C90.627 57.4478 92.05 58.6168 93.8204 59.4639C93.8204 59.5825 93.8373 59.7095 93.8543 59.8196L90.8641 60.2432C89.3394 58.7947 88.0349 57.1005 87.0438 55.237L86.4933 54.1782L86.1968 55.3302C85.6631 57.397 84.7822 59.3453 83.6302 61.1072L83.52 61.2851L80.8687 61.6578V60.7599C82.1817 59.6248 83.2066 58.3034 83.8927 56.8041C84.7059 55.0337 85.0109 53.0346 84.7737 50.9169C84.7568 50.7052 84.7229 50.4934 84.6721 50.2816L84.545 49.5362L83.9436 49.9767C82.656 50.9169 81.6395 52.0097 80.8772 53.2125C80.7332 53.4412 80.5807 53.6869 80.4536 53.9325H80.4367L80.4536 53.9495ZM85.0024 60.6667C85.7309 59.3961 86.3323 58.0493 86.7897 56.6516C87.5521 57.9222 88.45 59.0742 89.4495 60.15C88.7041 60.15 87.9756 60.2008 87.2217 60.294C86.4763 60.3787 85.7478 60.5058 85.0109 60.6667H84.994H85.0024ZM80.4367 59.9043C80.5807 59.7773 80.7078 59.6418 80.8603 59.5147V55.237C80.8603 55.237 80.8941 55.1353 80.9111 55.093C81.5294 53.6784 82.5035 52.3739 83.8334 51.2558C84.0113 53.1447 83.7403 54.8812 83.0203 56.4398C82.5205 57.558 81.7666 58.5829 80.8433 59.4978C80.7162 59.6248 80.5638 59.7603 80.4198 59.8874L80.4367 59.9043ZM91.2538 60.6413L94.3117 60.2008C94.3117 60.0568 94.2778 59.9043 94.2778 59.7434C94.2778 59.8874 94.3117 60.0399 94.3117 60.2008L91.2538 60.6413Z\",\n fill: \"#A4FF01\"\n })), _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M77.4473 72.9748L79.7343 73.1866L80.1579 70.9249L77.8708 70.6962L77.4473 72.9748Z\",\n fill: \"#A4FF01\"\n })), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M77.1252 67.1892L74.8381 66.9604L74.4146 69.2391L76.7186 69.4508L77.1252 67.1892Z\",\n fill: \"#A4FF01\"\n })), _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.6309 67.7229L83.1815 67.7737L81.0215 64.7835L80.1744 63.6146L80.0728 64.1652L80.9198 65.3511L82.6224 67.7229H82.6309Z\",\n fill: \"#A4FF01\"\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M84.4868 68.8665L79.9888 62.6405L55.0596 77.0322L64.4959 89.0945L64.8178 88.8658C77.1427 80.3782 84.4529 68.8665 84.4868 68.8495V68.8665ZM78.0405 76.7019C81.9879 72.3734 84.1479 69.1206 84.1479 69.1121C84.1479 69.1121 81.9709 72.3818 78.0405 76.7019ZM70.2306 75.9565L80.0396 68.5277L83.4533 68.8495L83.6481 69.1121C83.7159 69.0105 83.7583 68.9343 83.7922 68.9004V68.8665H83.8091L83.7922 68.9004C83.7922 68.9004 83.7074 69.0105 83.6481 69.1121C83.0806 69.9423 80.9545 72.9155 77.5238 76.6426L70.2306 75.9395V75.9565ZM58.685 75.9056L60.2437 75.0077L64.0724 72.7969L65.2583 72.1108L69.5783 69.6034L70.7642 68.9173L79.7601 63.7163L80.082 64.1568L80.1836 63.5893L81.0307 64.7582L83.1907 67.7653L83.987 68.858V68.8919H84.0039V68.858H83.987L83.1907 67.7653L82.6401 67.7145L80.5309 67.5197L80.9375 65.3427L80.0905 64.1737L79.4382 67.7484L69.6292 75.1602L70.7642 68.9173L69.5783 69.6034L68.4602 75.7786L64.6569 75.4228L65.2583 72.1023L64.0724 72.7884L63.615 75.3296L60.2352 75.0077L58.6766 75.9056L63.4202 76.363L62.734 80.1156L58.1853 79.6751L56.3048 77.2694L58.6766 75.9056H58.685ZM68.1383 77.5489L67.5877 80.5899L64.5213 80.2934L68.1637 77.5489H68.1468H68.1383ZM63.9199 79.5141L64.4705 76.4732L67.5538 76.7696L63.9199 79.5141ZM59.0916 80.8271L62.5646 81.149L61.9632 84.4864L59.1001 80.8271H59.0831H59.0916ZM66.0884 87.5105C66.1816 87.4427 66.2832 87.3834 66.3679 87.3156L66.4781 86.7142C65.8936 87.1547 65.3091 87.5782 64.6908 88.0018L62.8103 85.5961L63.6065 81.2676L67.4098 81.6233L66.4865 86.7142L66.3764 87.3156C66.2832 87.3834 66.1816 87.4427 66.0969 87.5105H66.0884ZM71.6113 83.0718C71.9671 82.7584 72.3228 82.4365 72.6701 82.1316L72.1195 82.0808C70.7558 83.3175 69.2903 84.5711 67.7148 85.7909L68.4602 81.7419L72.1111 82.0808C72.4499 81.7673 72.8057 81.4455 73.136 81.1405L68.6381 80.717L69.3242 76.956L76.6514 77.6591C75.5925 78.7772 74.4236 79.9546 73.1445 81.1575C72.8057 81.4709 72.4668 81.7928 72.1195 82.0977L72.6701 82.1485C72.3313 82.4535 71.9755 82.7838 71.6113 83.0888V83.0718Z\",\n fill: \"#A4FF01\"\n })), _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.3271 73.9912L42.9383 73.7117L42.6927 73.9065V73.9912H42.7096V74.0421V73.9319L42.6758 73.8218L42.6419 73.6609V73.627L40.6259 72.2971L39.5585 72.17L38.9741 73.0764L38.6691 75.516L38.8809 75.7955L38.7369 75.8294L38.5759 75.8633H38.5421L37.2291 77.9301L37.1021 79.0059L37.9915 79.5904L40.3802 79.8699L40.5411 79.7428L40.6259 79.6751V79.7852L40.6767 79.9461V79.98L42.6927 81.3099L43.76 81.437V81.4031H43.777L44.3445 80.5221L44.6494 78.0826L44.4377 77.8031L44.5817 77.7692L44.7426 77.7353H44.7765L46.0894 75.6684L46.2165 74.5927L45.3271 74.0082V73.9912ZM42.7605 74.0421L42.6165 74.1691V74.059L42.5487 73.8303L42.5995 74.059V74.1691L42.7774 74.0421H42.7605ZM43.6414 78.3367L43.4127 80.1579L43.2687 80.4036L43.0061 80.3697L41.5153 79.3786L41.2357 77.8623L41.151 77.9301L40.0583 78.8365L38.2879 78.6247L38.0762 78.4807L38.1101 78.2012L39.1011 76.6595L40.5496 76.363L39.6433 75.211L39.872 73.3898L40.016 73.1442L40.2786 73.1781L41.7694 74.1691L42.0489 75.6854L43.2179 74.7112L44.9883 74.923L45.2 75.067L45.1661 75.3466L44.1751 76.8882L42.7266 77.1847L43.6329 78.3367H43.6414ZM43.4805 80.1918L43.7261 78.3198L43.4974 80.1918H43.4805ZM43.6584 81.3099V81.276H43.7261H43.6922V81.3099H43.6584ZM37.9915 79.5057L37.1444 78.9381L37.9915 79.4887V79.5057Z\",\n fill: \"#A4FF01\"\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.7897 83.8595C51.7897 83.8595 51.561 83.8595 51.1205 83.8256C51.5441 83.8595 51.7897 83.8595 51.7897 83.8595L52.1625 84.0204L55.051 77.0575L30.1556 63.5637L24.9292 77.7097L25.285 77.8707C38.7364 83.8341 52.1286 84.0374 52.1625 84.0458L51.7897 83.8849V83.851V83.8595ZM46.5803 78.4298L47.656 76.5408L51.6711 79.0312L52.6114 77.5149L51.6711 79.0396L47.656 76.5493L46.5803 78.4382V78.4213V78.4298ZM51.3747 83.419L51.5356 83.1395L51.8321 80.378L47.1732 79.8613L47.3511 78.6924L47.9356 77.6674L51.9168 80.1408L53.3907 77.786L53.4754 77.0999L54.026 77.4133L51.5272 83.4444H51.3831V83.4275L51.3747 83.419ZM48.2744 73.9911V73.8132H48.2913V73.9911H48.2744ZM50.4175 75.4227L51.5102 75.5497L50.409 75.4227H50.4259H50.4175ZM32.0785 74.3299L36.0258 76.9135L32.0954 74.3299H32.0785ZM28.0972 78.1333L28.2582 77.7267C28.597 77.6759 28.9104 77.4472 29.0375 77.0914C29.0883 76.9813 29.1052 76.8457 29.1052 76.7356C29.1052 76.329 28.8596 75.9563 28.4699 75.8123C28.3514 75.7615 28.2412 75.7446 28.1311 75.7446C27.7245 75.7446 27.3518 76.0071 27.1909 76.4137C27.14 76.5323 27.1231 76.6594 27.1231 76.7695C27.1231 77.0152 27.2248 77.2269 27.3688 77.4048L27.2247 77.7945C26.8012 77.6166 26.3777 77.4387 25.9541 77.2608L26.4878 75.8123L26.437 75.897L26.4878 75.8293L27.3179 74.5925C27.9363 73.6862 28.6987 72.9831 29.5881 72.5426L29.9777 72.3478L29.8168 71.9412C29.5372 71.272 29.4102 70.5436 29.4102 69.7981C29.4102 69.5017 29.4271 69.1967 29.478 68.9002L29.7236 67.1129L30.6045 64.7581L31.8751 65.4442L31.6634 66.0287C31.3246 66.0795 31.0112 66.3082 30.8841 66.664C30.8333 66.7741 30.8163 66.9096 30.8163 67.0197C30.8163 67.4263 31.062 67.799 31.4516 67.943C31.5702 67.9939 31.6803 68.0108 31.7904 68.0108C32.197 68.0108 32.5698 67.7482 32.7307 67.3416C32.7815 67.2315 32.7984 67.096 32.7984 66.9859C32.7984 66.7402 32.6968 66.5284 32.5528 66.3506C32.5528 66.3506 32.5528 66.3167 32.5359 66.3167C32.5359 66.3167 32.5359 66.3506 32.5528 66.3506L32.7307 65.8762L38.6432 69.0781L37.7792 70.3911L33.8319 67.8245L32.3072 70.1539L31.9344 72.9153L36.5764 73.5506L36.3816 74.7196L35.7632 75.7276L31.8497 73.1441L30.3081 75.4735L29.9184 78.2349L34.5773 78.9041L34.3825 80.3187C32.3495 79.7173 30.2572 79.0058 28.1142 78.1587L28.0972 78.1418V78.1333ZM27.2671 76.4222C27.3942 76.0664 27.7415 75.8208 28.0972 75.8038C27.7415 75.8208 27.4026 76.0495 27.2671 76.4222ZM28.4699 75.8547C28.5377 75.8716 28.5631 75.9224 28.6139 75.9563C28.5631 75.9224 28.5208 75.8716 28.4699 75.8547ZM26.2591 75.9563L26.3099 75.9902V75.8462L26.4878 74.7281L26.3438 75.8462V75.9902H26.3269L26.276 75.9563H26.2591ZM27.4111 73C27.4111 73 27.4619 72.9662 27.4789 72.9492C27.4789 72.9492 27.589 72.8476 27.6398 72.8052L28.5462 70.3487C28.597 70.8739 28.6732 71.3906 28.8427 71.8819C28.8427 71.8819 28.8765 71.865 28.8935 71.848C28.8935 71.848 28.8596 71.865 28.8427 71.8819C28.4022 72.1445 28.0125 72.4495 27.6398 72.8052C27.6398 72.8052 27.5297 72.9069 27.4789 72.9492C27.4619 72.9662 27.428 72.9831 27.4111 73C27.4111 73 27.3772 73.017 27.3772 73.0339C27.3772 73.0339 27.4111 73.017 27.4111 73ZM29.7321 71.9582C29.4525 71.272 29.3085 70.5266 29.3085 69.7642C29.3085 70.5436 29.4525 71.2805 29.7321 71.9582ZM28.6478 70.0692C28.6817 70.7045 28.7749 71.3059 28.9697 71.8904C28.7749 71.3059 28.6648 70.7045 28.6478 70.0692ZM28.9104 71.9073C28.4191 72.1869 27.9871 72.5426 27.5805 72.9323C27.9871 72.5257 28.4276 72.1869 28.9104 71.9073ZM27.5297 73.0593L26.7165 75.2702L26.6233 75.5328L27.301 74.5248L26.6318 75.5328L26.725 75.2702L27.5382 73.0593H27.5212H27.5297ZM32.6629 67.3077C32.5359 67.6635 32.1886 67.9092 31.8328 67.9261C32.1886 67.9092 32.5274 67.6805 32.6629 67.3077C32.6968 67.223 32.7138 67.1299 32.7307 67.0452C32.7307 67.1299 32.6968 67.223 32.6629 67.3077ZM31.6549 66.0202L31.7227 66.0371H31.6549V66.0202ZM31.7396 66.1218C31.7396 66.1218 31.6719 66.1388 31.621 66.1557C31.6549 66.1557 31.6888 66.1388 31.7396 66.1218ZM31.5109 67.816C31.1721 67.6889 30.9603 67.3586 30.9603 67.0197C30.9603 66.9181 30.9773 66.808 31.0281 66.7063C30.9942 66.808 30.9603 66.9181 30.9603 67.0197C30.9603 67.3755 31.1721 67.7059 31.5109 67.8329V67.816ZM31.477 66.2066C31.477 66.2066 31.5109 66.1896 31.5278 66.1896C31.5278 66.1896 31.494 66.2066 31.477 66.2066ZM32.4512 66.3844V66.3506H32.4342V66.3844H32.4512ZM32.502 66.3506C32.502 66.3506 32.502 66.3675 32.5189 66.3844C32.5189 66.3844 32.5189 66.3675 32.502 66.3506ZM30.469 75.5243L31.9175 73.3304L35.8479 75.914L31.9344 73.3304L30.486 75.5243H30.469ZM37.8554 70.569L38.7788 69.1374L37.8385 70.569H37.8554ZM40.9727 69.8744L40.9049 69.8235L40.9727 69.8574V69.8744ZM28.0972 70.3911C28.2412 70.264 28.3937 70.1285 28.5377 70.0014C28.4106 70.1454 28.2412 70.264 28.0972 70.3911ZM27.4111 72.2631L28.0125 70.6537C28.1904 70.5097 28.3683 70.3403 28.5462 70.1624C28.5631 70.1454 28.597 70.1285 28.6139 70.1115C28.6139 70.1115 28.5631 70.1454 28.5462 70.1624C28.5462 70.2301 28.5462 70.2725 28.5631 70.3403C28.5631 70.3403 28.5631 70.2301 28.5462 70.1624C28.3852 70.3403 28.2073 70.4843 28.0125 70.6537L27.4111 72.2631L27.3603 72.3902L27.3095 72.5172C27.3264 72.6951 27.3603 72.873 27.3772 73.0678C27.3772 72.8899 27.3264 72.6951 27.3095 72.5172L27.3603 72.3902L27.4111 72.2631ZM26.6149 74.4231L26.5217 74.7027L26.42 74.9822L26.5217 74.6857L26.6149 74.4062V74.4231ZM34.4079 80.7507C34.4079 80.7507 34.3571 80.7507 34.3401 80.7338C32.2902 80.1324 30.1471 79.3954 27.9871 78.5399C27.9702 78.5399 27.9532 78.5229 27.9194 78.506L28.0633 78.1163C28.0633 78.1163 28.0125 78.1163 27.9956 78.0994L27.8516 78.4891C27.6398 78.4044 27.428 78.3281 27.2163 78.2265C27.1993 78.2265 27.1824 78.2095 27.1485 78.1926C27.1316 78.1926 27.1146 78.1756 27.0807 78.1587C26.5301 77.93 25.988 77.7013 25.4374 77.4641L26.1151 75.6429L25.4459 77.4641C25.9965 77.7097 26.5301 77.9385 27.0892 78.1587C27.1062 78.1587 27.1401 78.1756 27.157 78.1926C27.1739 78.1926 27.1909 78.2095 27.2247 78.2265C27.4365 78.3112 27.6483 78.4044 27.86 78.4891L28.0041 78.0994C28.0041 78.0994 28.0549 78.1163 28.0718 78.1163L27.9278 78.506C27.9278 78.506 27.9617 78.506 27.9956 78.5229C30.1556 79.3869 32.2987 80.0985 34.3486 80.7168C34.3486 80.7168 34.3994 80.7168 34.4164 80.7338C34.4164 80.7338 34.5434 80.7677 34.6281 80.8016C34.6281 80.8016 34.5011 80.7677 34.4164 80.7338L34.3994 80.7507H34.4079ZM46.521 83.3512C46.3431 83.3343 46.1652 83.3004 45.9873 83.2665C46.1652 83.3004 46.3431 83.3173 46.521 83.3512ZM46.6819 83.3851C46.7327 83.3851 46.7751 83.3851 46.8259 83.4021C46.7751 83.4021 46.7327 83.4021 46.6819 83.3851ZM48.4692 83.6138C48.4692 83.6138 48.5624 83.6138 48.6132 83.6308C48.6132 83.6308 48.7064 83.6308 48.7572 83.6477H48.6132C48.5624 83.6477 48.5116 83.6477 48.4692 83.6308V83.6138ZM50.1549 83.7748H50.0702L50.3158 83.3851C49.6975 83.3343 48.9012 83.2581 47.944 83.1395L45.7501 81.7926L45.1657 82.7498L44.937 83.1225C43.4292 82.8769 41.7011 82.5719 39.8376 82.1653C39.6258 82.1145 39.4141 82.0637 39.2023 82.0213C38.406 81.8434 37.5929 81.6317 36.7543 81.4199C37.6013 81.6486 38.4145 81.8434 39.2023 82.0213C39.4141 82.0722 39.6258 82.123 39.8376 82.1653C41.6927 82.5719 43.4122 82.8938 44.937 83.1225L45.1657 82.7498C42.599 82.3432 39.448 81.7249 35.9919 80.7846C35.9241 80.7677 35.8648 80.7507 35.7971 80.7338L35.2634 80.3611L35.5768 78.1502L30.918 77.481L31.1636 75.7869L32.1039 74.3554L32.07 74.4062L31.1636 75.77L30.918 77.4641L35.5768 78.1333L35.2634 80.3441L35.7971 80.7168C35.7971 80.7168 35.9241 80.7507 35.9919 80.7677L35.3227 80.3103L35.6277 78.0825L30.9688 77.4133L31.1975 75.8038L32.0869 74.4401L36.0343 77.0406L37.254 75.0415L37.6606 72.729L32.9848 72.0767L33.1966 70.4504L34.086 69.0866L38.0334 71.6532L39.2701 69.7642L40.168 69.8744L48.1135 74.1859L47.9864 75.2787L50.714 75.6006L52.5691 76.6086L52.4674 77.4556L51.6034 78.8364L47.5883 76.329L46.4363 78.362L46.0974 80.6745L50.7902 81.1912L50.6123 82.8176L50.3074 83.3258L50.0617 83.7155H50.2227H50.1379L50.1549 83.7663V83.7748ZM50.985 83.8425C50.7732 83.8425 50.5107 83.8086 50.2227 83.7748C50.5191 83.7917 50.7732 83.8256 50.985 83.8425Z\",\n fill: \"#A4FF01\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSplLogo);\nexport default __webpack_public_path__ + \"static/media/spl-logo.2c19dcd9.svg\";\nexport { ForwardRef as ReactComponent };","export default __webpack_public_path__ + \"static/media/header-pattern-bg.ea88db46.svg\";","export default __webpack_public_path__ + \"static/media/player-composite-@1x.7acceb16.png\";","export default __webpack_public_path__ + \"static/media/player-composite-@2x.0db652d8.png\";","var _path, _path2, _path3, _path4;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgSponsorLogo(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 111,\n height: 50,\n viewBox: \"0 0 111 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M37.8165 16.2274C40.8531 16.1947 43.6997 16.7642 46.1311 18.6731C48.2302 20.3213 49.318 22.5318 49.5972 25.1974C50.1268 30.235 47.7568 34.061 44.4788 37.4627C42.7764 39.2295 40.8726 40.8021 39.0587 42.4605C38.7459 42.7468 38.4218 43.0198 37.8175 43.5484H50.1943V49.907H26.9335C26.9549 48.4429 26.9335 46.9807 26.9457 45.4399L39.023 33.5355C40.1753 32.3443 41.0167 30.7145 41.5944 29.1359C42.8449 25.726 41.0464 22.131 35.9934 22.4685C33.5927 22.629 31.5212 23.6739 29.4313 25.1105C28.7269 23.3426 28.0142 21.6709 27.4334 19.9532C27.4334 19.9532 30.2033 16.483 37.8154 16.2264L37.8165 16.2274Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M60.0783 50V0H74.774L85.2031 37.522L95.5482 0H110.327V50H100.228V21.675L92.7569 50H77.5684L70.2599 21.7578V50H60.0783Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.907 0H30.1112L17.3643 50H9.29819L22.907 0Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.94053 33.0672H11.1458V0H4.80348L0 2.40174V8.43626L3.87919 6.8351L3.94053 33.0672Z\",\n fill: \"white\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSponsorLogo);\nexport default __webpack_public_path__ + \"static/media/sponsor-logo.4d3a6987.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgTagline(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 86,\n height: 25,\n viewBox: \"0 0 86 25\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.328 2.444V10.16C2.328 10.232 2.352 10.256 2.412 10.256H6.06C6.132 10.256 6.168 10.292 6.168 10.364V10.892C6.168 10.964 6.132 11 6.06 11H1.572C1.5 11 1.464 10.964 1.464 10.892V2.444C1.464 2.372 1.5 2.336 1.572 2.336H2.22C2.292 2.336 2.328 2.372 2.328 2.444ZM9.52331 6.296H12.3913C12.4513 6.296 12.4993 6.332 12.4993 6.404V6.932C12.4993 7.004 12.4513 7.04 12.3913 7.04H9.52331V10.16C9.52331 10.232 9.54731 10.256 9.60731 10.256H13.2553C13.3153 10.256 13.3633 10.292 13.3633 10.364V10.892C13.3633 10.964 13.3153 11 13.2553 11H8.76731C8.69531 11 8.65931 10.964 8.65931 10.892V2.444C8.65931 2.372 8.69531 2.336 8.76731 2.336H13.2553C13.3153 2.336 13.3633 2.372 13.3633 2.444V2.972C13.3633 3.044 13.3153 3.08 13.2553 3.08H9.60731C9.54731 3.08 9.52331 3.104 9.52331 3.176V6.296ZM18.3146 11H17.6666C17.5946 11 17.5586 10.964 17.5586 10.892V3.176C17.5586 3.104 17.5346 3.08 17.4746 3.08H15.3026C15.2306 3.08 15.1946 3.044 15.1946 2.972V2.444C15.1946 2.372 15.2306 2.336 15.3026 2.336H20.6786C20.7506 2.336 20.7866 2.372 20.7866 2.444V2.972C20.7866 3.044 20.7506 3.08 20.6786 3.08H18.5066C18.4466 3.08 18.4226 3.104 18.4226 3.176V10.892C18.4226 10.964 18.3866 11 18.3146 11ZM24.5739 3.728L24.8259 1.112C24.8379 0.943999 24.8979 0.872 25.0659 0.872H25.6179C25.7739 0.872 25.8579 0.956 25.8219 1.112L25.0779 3.74C25.0539 3.812 25.0299 3.848 24.9579 3.848H24.6579C24.5979 3.848 24.5739 3.812 24.5739 3.728ZM29.9693 10.628C29.9213 10.604 29.8973 10.556 29.9213 10.508L30.1733 9.92C30.2093 9.848 30.2453 9.836 30.3173 9.86C30.8213 10.088 31.3133 10.304 32.2253 10.304C33.2453 10.304 33.8573 9.764 33.8573 8.912C33.8573 8.084 33.5213 7.676 32.1053 6.92C30.5093 6.08 30.0413 5.432 30.0413 4.388C30.0413 3.272 30.8333 2.252 32.4053 2.252C33.3053 2.252 33.9413 2.348 34.6013 2.624C34.6733 2.66 34.6853 2.708 34.6613 2.768L34.4213 3.32C34.3973 3.38 34.3493 3.404 34.2893 3.38C33.6893 3.14 33.2093 3.02 32.4773 3.02C31.4093 3.02 30.9533 3.656 30.9533 4.352C30.9533 5.024 31.1333 5.408 32.4773 6.104C34.1813 7.004 34.7812 7.544 34.7812 8.852C34.7812 10.1 33.9293 11.084 32.2613 11.084C31.2773 11.084 30.6533 10.976 29.9693 10.628ZM45.4999 7.256V10.892C45.4999 10.964 45.4639 11 45.3919 11H44.7439C44.6719 11 44.6359 10.964 44.6359 10.892V2.444C44.6359 2.372 44.6719 2.336 44.7439 2.336H46.7719C48.5119 2.336 49.5559 3.068 49.5559 4.784C49.5559 6.512 48.4999 7.256 46.7599 7.256H45.4999ZM45.4999 6.512H46.7359C47.9959 6.512 48.6199 6.056 48.6199 4.796C48.6199 3.536 47.9959 3.08 46.7359 3.08H45.5959C45.5239 3.08 45.4999 3.104 45.4999 3.176V6.512ZM52.6952 2.444V10.16C52.6952 10.232 52.7192 10.256 52.7792 10.256H56.4272C56.4992 10.256 56.5352 10.292 56.5352 10.364V10.892C56.5352 10.964 56.4992 11 56.4272 11H51.9392C51.8672 11 51.8312 10.964 51.8312 10.892V2.444C51.8312 2.372 51.8672 2.336 51.9392 2.336H52.5872C52.6592 2.336 52.6952 2.372 52.6952 2.444ZM62.3865 8.084L61.1385 3.164L59.9025 8.084H62.3865ZM59.7105 8.84L59.1825 10.916C59.1705 10.964 59.1345 11 59.0745 11H58.4625C58.3905 11 58.3545 10.94 58.3785 10.868L60.5985 2.396C60.6105 2.348 60.6345 2.336 60.6825 2.336H61.6545C61.7025 2.336 61.7265 2.36 61.7385 2.396L63.9345 10.844C63.9585 10.928 63.9225 11 63.8385 11H63.2025C63.1305 11 63.1065 10.964 63.0945 10.916L62.5665 8.84H59.7105ZM68.7778 7.172V10.892C68.7778 10.964 68.7418 11 68.6698 11H68.0218C67.9498 11 67.9138 10.964 67.9138 10.892V7.172L65.5138 2.516C65.4538 2.408 65.5138 2.336 65.6098 2.336H66.3178C66.3658 2.336 66.4138 2.36 66.4258 2.396L68.3818 6.344L70.3378 2.396C70.3498 2.36 70.3858 2.336 70.4338 2.336H71.1178C71.2018 2.336 71.2498 2.42 71.2138 2.492L68.7778 7.172ZM4.02 21.172V24.892C4.02 24.964 3.984 25 3.912 25H3.264C3.192 25 3.156 24.964 3.156 24.892V21.172L0.756 16.516C0.696 16.408 0.756 16.336 0.852 16.336H1.56C1.608 16.336 1.656 16.36 1.668 16.396L3.624 20.344L5.58 16.396C5.592 16.36 5.628 16.336 5.676 16.336H6.36C6.444 16.336 6.492 16.42 6.456 16.492L4.02 21.172ZM12.0193 22.084L10.7713 17.164L9.53531 22.084H12.0193ZM9.34331 22.84L8.81531 24.916C8.80331 24.964 8.76731 25 8.70731 25H8.09531C8.02331 25 7.98731 24.94 8.01131 24.868L10.2313 16.396C10.2433 16.348 10.2673 16.336 10.3153 16.336H11.2873C11.3353 16.336 11.3593 16.36 11.3713 16.396L13.5673 24.844C13.5913 24.928 13.5553 25 13.4713 25H12.8353C12.7633 25 12.7393 24.964 12.7273 24.916L12.1993 22.84H9.34331ZM16.7186 16.444V24.16C16.7186 24.232 16.7426 24.256 16.8026 24.256H20.4506C20.5226 24.256 20.5586 24.292 20.5586 24.364V24.892C20.5586 24.964 20.5226 25 20.4506 25H15.9626C15.8906 25 15.8546 24.964 15.8546 24.892V16.444C15.8546 16.372 15.8906 16.336 15.9626 16.336H16.6106C16.6826 16.336 16.7186 16.372 16.7186 16.444ZM23.9139 16.444V24.16C23.9139 24.232 23.9379 24.256 23.9979 24.256H27.6459C27.7179 24.256 27.7539 24.292 27.7539 24.364V24.892C27.7539 24.964 27.7179 25 27.6459 25H23.1579C23.0859 25 23.0499 24.964 23.0499 24.892V16.444C23.0499 16.372 23.0859 16.336 23.1579 16.336H23.8059C23.8779 16.336 23.9139 16.372 23.9139 16.444ZM33.6053 22.084L32.3573 17.164L31.1213 22.084H33.6053ZM30.9293 22.84L30.4013 24.916C30.3893 24.964 30.3533 25 30.2933 25H29.6813C29.6093 25 29.5732 24.94 29.5973 24.868L31.8173 16.396C31.8293 16.348 31.8533 16.336 31.9013 16.336H32.8733C32.9213 16.336 32.9453 16.36 32.9573 16.396L35.1533 24.844C35.1773 24.928 35.1413 25 35.0573 25H34.4213C34.3493 25 34.3253 24.964 34.3133 24.916L33.7853 22.84H30.9293ZM48.1519 23.236V16.444C48.1519 16.372 48.1879 16.336 48.2599 16.336H48.8119C48.8719 16.336 48.9079 16.372 48.9079 16.444V24.892C48.9079 24.964 48.8719 25 48.8119 25H48.2239C48.1159 25 48.0799 24.976 48.0559 24.904L45.3919 18.1V24.892C45.3919 24.964 45.3439 25 45.2839 25H44.7439C44.6719 25 44.6359 24.964 44.6359 24.892V16.444C44.6359 16.372 44.6719 16.336 44.7439 16.336H45.3199C45.4279 16.336 45.4639 16.36 45.4879 16.432L48.1519 23.236ZM52.6952 20.296H55.5632C55.6232 20.296 55.6712 20.332 55.6712 20.404V20.932C55.6712 21.004 55.6232 21.04 55.5632 21.04H52.6952V24.16C52.6952 24.232 52.7192 24.256 52.7792 24.256H56.4272C56.4872 24.256 56.5352 24.292 56.5352 24.364V24.892C56.5352 24.964 56.4872 25 56.4272 25H51.9392C51.8672 25 51.8312 24.964 51.8312 24.892V16.444C51.8312 16.372 51.8672 16.336 51.9392 16.336H56.4272C56.4872 16.336 56.5352 16.372 56.5352 16.444V16.972C56.5352 17.044 56.4872 17.08 56.4272 17.08H52.7792C52.7192 17.08 52.6952 17.104 52.6952 17.176V20.296ZM59.8905 16.444V24.16C59.8905 24.232 59.9145 24.256 59.9745 24.256H63.6225C63.6945 24.256 63.7305 24.292 63.7305 24.364V24.892C63.7305 24.964 63.6945 25 63.6225 25H59.1345C59.0625 25 59.0265 24.964 59.0265 24.892V16.444C59.0265 16.372 59.0625 16.336 59.1345 16.336H59.7825C59.8545 16.336 59.8905 16.372 59.8905 16.444ZM69.5818 22.084L68.3338 17.164L67.0978 22.084H69.5818ZM66.9058 22.84L66.3778 24.916C66.3658 24.964 66.3298 25 66.2698 25H65.6578C65.5858 25 65.5498 24.94 65.5738 24.868L67.7938 16.396C67.8058 16.348 67.8298 16.336 67.8778 16.336H68.8498C68.8978 16.336 68.9218 16.36 68.9338 16.396L71.1298 24.844C71.1538 24.928 71.1178 25 71.0338 25H70.3978C70.3258 25 70.3018 24.964 70.2898 24.916L69.7618 22.84H66.9058ZM76.7771 22.084L75.5291 17.164L74.2931 22.084H76.7771ZM74.1011 22.84L73.5731 24.916C73.5611 24.964 73.5251 25 73.4651 25H72.8531C72.7811 25 72.7451 24.94 72.7691 24.868L74.9891 16.396C75.0011 16.348 75.0251 16.336 75.0731 16.336H76.0451C76.0931 16.336 76.1171 16.36 76.1291 16.396L78.3251 24.844C78.3491 24.928 78.3131 25 78.2291 25H77.5931C77.5211 25 77.4971 24.964 77.4851 24.916L76.9571 22.84H74.1011ZM80.7204 16.336H82.4724C84.5124 16.336 85.1724 17.2 85.1724 18.532C85.1724 19.42 84.7404 20.248 83.4444 20.62C84.7404 20.968 85.3164 21.736 85.3164 22.864C85.3164 24.184 84.6204 25 82.6044 25H80.7204C80.6484 25 80.6124 24.964 80.6124 24.892V16.444C80.6124 16.372 80.6484 16.336 80.7204 16.336ZM82.5684 17.08H81.5724C81.5004 17.08 81.4764 17.104 81.4764 17.176V20.296H82.1244C83.5044 20.296 84.2604 19.672 84.2604 18.544C84.2604 17.56 83.6844 17.08 82.5684 17.08ZM81.4764 21.04V24.16C81.4764 24.232 81.5004 24.256 81.5604 24.256H82.6524C83.9004 24.256 84.3804 23.752 84.3804 22.804C84.3804 21.736 83.7564 21.04 82.1124 21.04H81.4764Z\",\n fill: \"white\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgTagline);\nexport default __webpack_public_path__ + \"static/media/tagline.5cefa9a8.svg\";\nexport { ForwardRef as ReactComponent };","import { useState, useEffect } from \"react\";\n\n// https://github.com/rehooks/window-size/blob/master/index.js\nconst getSize = () => {\n return {\n innerHeight: window.innerHeight,\n innerWidth: window.innerWidth,\n outerHeight: window.outerHeight,\n outerWidth: window.outerWidth,\n };\n};\n\nconst useWindowSize = () => {\n let [windowSize, setWindowSize] = useState(getSize());\n\n const handleResize = () => {\n setWindowSize(getSize());\n };\n\n useEffect(() => {\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n return windowSize;\n};\n\nexport default useWindowSize;\n","import React from \"react\";\n\nimport { INavLink } from \"./types\";\nimport useWindowSize from \"./useWindowSize\";\n\ntype Props = {\n links: INavLink[];\n offset?: number; //px\n isRTL?: boolean;\n};\n\nfunction arraysEqual(a: Array, b: Array): boolean {\n if (a === b) return true;\n if (a == null || b == null) return false;\n if (a.length !== b.length) return false;\n\n for (var i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\nconst usePriorityNav = ({ links, offset = 0, isRTL = false }: Props) => {\n const windowSize = useWindowSize();\n const [childrenWidths, setWidths] = React.useState([]);\n const [visibleLinks, setVisibleLinks] = React.useState(links);\n const [nonVisibleLinks, setNonVisibleLinks] = React.useState([]);\n const [oldLinks, setLinks] = React.useState(links);\n // If the links have changed then we need to reset everything to force\n // the nav to be re-calculated\n if (oldLinks.length && oldLinks !== links) {\n setWidths([]);\n setVisibleLinks(links);\n setNonVisibleLinks([]);\n setLinks(links);\n }\n\n /**\n * Calc cumulative widths of ref elements\n *\n * Refs are non null on mount using callback\n * Callback is then only called afterwards\n * when an item is unmounted or remounted.\n */\n const measuredRef = React.useCallback(\n (node: HTMLLIElement) => {\n if (node !== null && childrenWidths.length !== links.length) {\n setWidths((childrenWidths) => {\n return isRTL\n ? childrenWidths.concat(node.getBoundingClientRect().left + offset)\n : childrenWidths.concat(\n node.getBoundingClientRect().right + offset\n );\n });\n }\n },\n [childrenWidths.length, links.length, offset, isRTL]\n );\n\n /**\n * Compute visible and non visible ref elements\n */\n React.useLayoutEffect(() => {\n // called first before childrenWidths are computed\n if (childrenWidths.length === 0) {\n return;\n }\n\n // After orientation change window.screen.width\n // can be smaller than windowSize.innerWidth,\n // so select smallest of two.\n const width =\n window.screen.width < windowSize.innerWidth\n ? window.screen.width\n : windowSize.innerWidth;\n\n const filteredIndexedElements = childrenWidths.filter(\n (e) => e < width - offset\n );\n const newVisibleLinks = links.filter(\n (_, i) => i < filteredIndexedElements.length\n );\n const newNonVisibleLinks = links.filter(\n (_, i) => i >= filteredIndexedElements.length\n );\n\n // only update links if they are different to previous visible links\n const areEqual =\n arraysEqual(visibleLinks, newVisibleLinks) &&\n arraysEqual(nonVisibleLinks, newNonVisibleLinks);\n if (!areEqual) {\n setVisibleLinks(newVisibleLinks);\n setNonVisibleLinks(newNonVisibleLinks);\n }\n }, [\n childrenWidths,\n windowSize.innerWidth,\n links,\n visibleLinks,\n nonVisibleLinks,\n offset,\n ]);\n\n return [measuredRef, visibleLinks, nonVisibleLinks] as [\n typeof measuredRef,\n INavLink[],\n INavLink[]\n ];\n};\n\nexport default usePriorityNav;\n","import { createAsyncAction, deprecated } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { ILeagueEntry } from \"../entries/types\";\nimport {\n IClassicStandingsAPIData,\n IEntryInLeague,\n IH2HMatchesData,\n IH2HStandingsAPIData,\n ILeague,\n ILeagueAdmin,\n ILeagueCode,\n ILeagueCupStatus,\n IRenewableLeague,\n} from \"./types\";\n\nconst createAction = deprecated.createAction;\n\n// Action Creators\nexport const createClassicLeague = createAsyncAction(\n \"CREATE_CLASSIC_LEAGUE_START\",\n \"CREATE_CLASSIC_LEAGUE_SUCCESS\",\n \"CREATE_CLASSIC_LEAGUE_FAILURE\"\n)();\n\nexport const createH2HLeague = createAsyncAction(\n \"CREATE_H2H_LEAGUE_START\",\n \"CREATE_H2H_LEAGUE_SUCCESS\",\n \"CREATE_H2H_LEAGUE_FAILURE\"\n)();\n\nexport const joinPrivateLeague = createAsyncAction(\n \"JOIN_PRIVATE_LEAGUE_START\",\n \"JOIN_PRIVATE_LEAGUE_SUCCESS\",\n \"JOIN_PRIVATE_LEAGUE_FAILURE\"\n)();\n\nexport const joinPublicLeague = createAsyncAction(\n \"JOIN_PUBLIC_LEAGUE_START\",\n \"JOIN_PUBLIC_LEAGUE_SUCCESS\",\n \"JOIN_PUBLIC_LEAGUE_FAILURE\"\n)();\n\nexport const fetchClassicLeagueStandings = createAsyncAction(\n \"FETCH_CLASSIC_LEAGUE_STANDINGS_START\",\n \"FETCH_CLASSIC_LEAGUE_STANDINGS_SUCCESS\",\n \"FETCH_CLASSIC_LEAGUE_STANDINGS_FAILURE\"\n)();\n\nexport const fetchH2HLeagueStandings = createAsyncAction(\n \"FETCH_H2H_LEAGUE_STANDINGS_START\",\n \"FETCH_H2H_LEAGUE_STANDINGS_SUCCESS\",\n \"FETCH_H2H_LEAGUE_STANDINGS_FAILURE\"\n)();\n\nexport const fetchH2HLeagueMatches = createAsyncAction(\n \"FETCH_H2H_LEAGUE_MATCHES_START\",\n \"FETCH_H2H_LEAGUE_MATCHES_SUCCESS\",\n \"FETCH_H2H_LEAGUE_MATCHES_FAILURE\"\n)<\n void,\n { entryId: number; eventId: number; leagueId: number; data: IH2HMatchesData },\n IError\n>();\n\nexport const fetchClassicLeagueForAdmin = createAsyncAction(\n \"FETCH_CLASSIC_LEAGUE_FOR_ADMIN_START\",\n \"FETCH_CLASSIC_LEAGUE_FOR_ADMIN_SUCCESS\",\n \"FETCH_CLASSIC_LEAGUE_FOR_ADMIN_FAILURE\"\n)();\n\nexport const fetchH2HLeagueForAdmin = createAsyncAction(\n \"FETCH_H2H_LEAGUE_FOR_ADMIN_START\",\n \"FETCH_H2H_LEAGUE_FOR_ADMIN_SUCCESS\",\n \"FETCH_H2H_LEAGUE_FOR_ADMIN_FAILURE\"\n)();\n\nexport const updateClassicLeague = createAsyncAction(\n \"UPDATE_CLASSIC_LEAGUE_START\",\n \"UPDATE_CLASSIC_LEAGUE_SUCCESS\",\n \"UPDATE_CLASSIC_LEAGUE_FAILURE\"\n)();\n\nexport const updateH2HLeague = createAsyncAction(\n \"UPDATE_H2H_LEAGUE_START\",\n \"UPDATE_H2H_LEAGUE_SUCCESS\",\n \"UPDATE_H2H_LEAGUE_FAILURE\"\n)();\n\nexport const deleteLeague = createAsyncAction(\n \"DELETE_LEAGUE_START\",\n \"DELETE_LEAGUE_SUCCESS\",\n \"DELETE_LEAGUE_FAILURE\"\n)();\n\nexport const banLeagueEntry = createAsyncAction(\n \"BAN_LEAGUE_ENTRY_START\",\n \"BAN_LEAGUE_ENTRY_SUCCESS\",\n \"BAN_LEAGUE_ENTRY_FAILURE\"\n)();\n\nexport const unbanLeagueEntry = createAsyncAction(\n \"UNBAN_LEAGUE_ENTRY_START\",\n \"UNBAN_LEAGUE_ENTRY_SUCCESS\",\n \"UNBAN_LEAGUE_ENTRY_FAILURE\"\n)();\n\nexport const fetchLeagueCode = createAsyncAction(\n \"FETCH_LEAGUE_CODE_START\",\n \"FETCH_LEAGUE_CODE_SUCCESS\",\n \"FETCH_LEAGUE_CODE_FAILURE\"\n)();\n\nexport const regenerateLeagueCode = createAsyncAction(\n \"REGENERATE_LEAGUE_CODE_START\",\n \"REGENERATE_LEAGUE_CODE_SUCCESS\",\n \"REGENERATE_LEAGUE_CODE_FAILURE\"\n)();\n\nexport const leaveLeague = createAsyncAction(\n \"LEAVE_LEAGUE_START\",\n \"LEAVE_LEAGUE_SUCCESS\",\n \"LEAVE_LEAGUE_FAILURE\"\n)();\n\nexport const fetchRenewableLeagues = createAsyncAction(\n \"FETCH_RENEWABLE_LEAGUES_START\",\n \"FETCH_RENEWABLE_LEAGUES_SUCCESS\",\n \"FETCH_RENEWABLE_LEAGUES_FAILURE\"\n)();\n\nexport const renewRenewableLeague = createAsyncAction(\n \"RENEW_RENEWABLE_LEAGUE_START\",\n \"RENEW_RENEWABLE_LEAGUE_SUCCESS\",\n \"RENEW_RENEWABLE_LEAGUE_FAILURE\"\n)();\n\nexport const deleteRenewableLeague = createAsyncAction(\n \"DELETE_RENEWABLE_LEAGUE_START\",\n \"DELETE_RENEWABLE_LEAGUE_SUCCESS\",\n \"DELETE_RENEWABLE_LEAGUE_FAILURE\"\n)();\n\nexport const checkLeagueCode = createAsyncAction(\n \"CHECK_LEAGUE_CODE_START\",\n \"CHECK_LEAGUE_CODE_SUCCESS\",\n \"CHECK_LEAGUE_CODE_FAILURE\"\n)();\n\nexport const setAutoJoinCode = createAction(\n \"SET_AUTO_JOIN_CODE\",\n (resolve) => (code: string) => resolve(code)\n);\n\nexport const clearAutoJoinCode = createAction(\n \"CLEAR_AUTO_JOIN_CODE\",\n (resolve) => () => resolve()\n);\n\nexport const fetchLeagueEntries = createAsyncAction(\n \"FETCH_LEAGUE_ENTRIES_START\",\n \"FETCH_LEAGUE_ENTRIES_SUCCESS\",\n \"FETCH_LEAGUE_ENTRIES_FAILURE\"\n)();\n\nexport const fetchLeagueCupStatus = createAsyncAction(\n \"FETCH_LEAGUE_CUP_STATUS_START\",\n \"FETCH_LEAGUE_CUP_STATUS_SUCCESS\",\n \"FETCH_LEAGUE_CUP_STATUS_FAILURE\"\n)();\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport {\n getElementsById,\n getElementsEventDataById,\n getFormation,\n} from \"../elements/reducers\";\nimport { getSettings } from \"../game/reducers\";\nimport {\n deleteLeague,\n joinPrivateLeague,\n leaveLeague,\n} from \"../leagues/actions\";\nimport { getTeamsById } from \"../teams/reducers\";\nimport * as actions from \"./actions\";\nimport { IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n byId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEntrySummary.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data,\n };\n case getType(joinPrivateLeague.success): {\n const newLeague = action.payload.data;\n const leaguesKey = newLeague.scoring === \"c\" ? \"classic\" : \"h2h\";\n const entry = state[action.payload.entry];\n\n if (entry) {\n const isAlreadyInLeague = entry.leagues[leaguesKey].some(\n (league) => league.id === newLeague.id\n );\n\n if (!isAlreadyInLeague) {\n const updatedEntry = {\n ...entry,\n leagues: {\n ...entry.leagues,\n [leaguesKey]: entry.leagues[leaguesKey].concat([newLeague]),\n },\n };\n\n return {\n ...state,\n [action.payload.entry]: updatedEntry,\n };\n }\n }\n return state;\n }\n case getType(deleteLeague.success):\n case getType(leaveLeague.success): {\n const newState = { ...state };\n const entry = newState[action.payload.entry];\n if (entry) {\n entry.leagues.classic = entry.leagues.classic.filter(\n (le) => le.id !== action.payload.league\n );\n entry.leagues.h2h = entry.leagues.h2h.filter(\n (le) => le.id !== action.payload.league\n );\n }\n return newState;\n }\n default:\n return state;\n }\n },\n eventHistoryById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEntryHistory.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data.current,\n };\n default:\n return state;\n }\n },\n seasonHistoryById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEntryHistory.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data.past,\n };\n default:\n return state;\n }\n },\n chipHistoryById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEntryHistory.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data.chips,\n };\n default:\n return state;\n }\n },\n eventPicksById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEntryEventPicks.success):\n return {\n ...state,\n [action.payload.entry]: {\n ...state[action.payload.entry],\n [action.payload.event]: action.payload.data,\n },\n };\n default:\n return state;\n }\n },\n transfersById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEntryTransfers.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data,\n };\n default:\n return state;\n }\n },\n phaseStandingsById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEntryPhaseStandings.success):\n return {\n ...state,\n [action.payload.entry]: {\n ...state[action.payload.entry],\n [action.payload.phase]: action.payload.data,\n },\n };\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getEntry = (state: RootState, entryId: number) =>\n state.entries.byId[entryId] || null;\n\nexport const getEntryEventHistory = (state: RootState, entryId: number) =>\n state.entries.eventHistoryById[entryId] || [];\n\nexport const getEntrySeasonHistory = (state: RootState, entryId: number) =>\n state.entries.seasonHistoryById[entryId] || [];\n\nexport const getEntryChipHistory = (state: RootState, entryId: number) =>\n state.entries.chipHistoryById[entryId] || [];\n\nexport const getEntryEventPicks = (\n state: RootState,\n entryId: number,\n eventId: number\n) => {\n if (\n !state.entries.eventPicksById[entryId] ||\n !state.entries.eventPicksById[entryId][eventId]\n ) {\n return null;\n }\n return state.entries.eventPicksById[entryId][eventId];\n};\n\nexport const getEntryEventPoints = (\n state: RootState,\n entryId: number,\n eventId: number\n) => {\n const data = getEntryEventPicks(state, entryId, eventId);\n const elementsEventDataById = getElementsEventDataById(state, eventId);\n if (!data || !elementsEventDataById) {\n return 0;\n }\n return data.picks.reduce(\n (total, p) =>\n total +\n elementsEventDataById[p.element].stats.total_points * p.multiplier,\n 0\n );\n};\n\nexport const getEntryEventFormation = (\n state: RootState,\n entryId: number,\n eventId: number\n) => {\n const data = getEntryEventPicks(state, entryId, eventId);\n const elementsById = getElementsById(state);\n const settings = getSettings(state);\n if (!data || !elementsById || !settings) {\n return \"\";\n }\n return getFormation(\n data.picks\n .slice(0, settings.squad_squadplay)\n .map((p) => elementsById[p.element])\n );\n};\n\nexport const getPrivateClassicLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry\n ? entry.leagues.classic.filter((l) => l.league_type === \"x\")\n : [];\n};\n\nexport const getPrivateClassicCupLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry\n ? entry.leagues.classic.filter(\n (l) => l.league_type === \"x\" && l.has_cup === true\n )\n : [];\n};\n\nexport const getPrivateH2HLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry ? entry.leagues.h2h.filter((l) => l.league_type === \"x\") : [];\n};\n\nexport const getPublicClassicLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry\n ? entry.leagues.classic.filter((l) => l.league_type === \"c\")\n : [];\n};\n\nexport const getPublicClassicCupLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry\n ? entry.leagues.classic.filter(\n (l) => l.league_type === \"c\" && l.has_cup === true\n )\n : [];\n};\n\nexport const getPublicH2HLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry ? entry.leagues.h2h.filter((l) => l.league_type === \"c\") : [];\n};\n\nexport const getSystemClassicLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry\n ? entry.leagues.classic.filter((l) => l.league_type === \"s\")\n : [];\n};\n\nexport const getSystemClassicCupLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry\n ? entry.leagues.classic.filter(\n (l) => l.league_type === \"s\" && l.has_cup === true\n )\n : [];\n};\n\nexport const getLeagueForEntry = (\n state: RootState,\n entryId: number,\n leagueId: number\n) => {\n const entry = getEntry(state, entryId);\n if (entry) {\n const classic = entry.leagues.classic.filter((l) => l.id === leagueId);\n if (classic.length) {\n return classic[0];\n }\n const h2h = entry.leagues.h2h.filter((l) => l.id === leagueId);\n if (h2h.length) {\n return h2h[0];\n }\n }\n return null;\n};\n\nexport const getCupMatchesByLeagueId = (state: RootState, entryId: number) => {\n const entry = getEntry(state, entryId);\n if (entry) {\n const cupMatches = entry.leagues.cup_matches;\n if (cupMatches.length > 0) {\n return cupMatches.reduce(\n (memo, match) => ({ ...memo, [match.league]: match }),\n {}\n );\n }\n return null;\n }\n return null;\n};\n\nexport const getTransfersForEntry = (state: RootState, entryId: number) =>\n state.entries.transfersById[entryId] || [];\n\nexport const getFanLeagueDetails = (state: RootState, entryId: number) => {\n const fanLeagueMatch = /^team-(\\d+)$/;\n const teamsById = getTeamsById(state);\n const systemClassicLeagues = getSystemClassicLeaguesForEntry(state, entryId);\n\n // Please note the \"!\" non-null assertion operator on the filter\n const fanLeagues = systemClassicLeagues.filter((l) =>\n l.short_name!.match(fanLeagueMatch)\n );\n\n if (fanLeagues.length) {\n return {\n league: fanLeagues[0],\n team: teamsById[fanLeagues[0].short_name!.match(fanLeagueMatch)![1]],\n };\n }\n\n return null;\n};\n\nexport const getPhaseStandingsForEntry = (state: RootState, entryId: number) =>\n state.entries.phaseStandingsById[entryId];\n\nexport const getPhaseStandingsForEntryPhase = (\n state: RootState,\n entryId: number,\n phaseId: number\n) => state.entries.phaseStandingsById[entryId]?.[phaseId];\n\nexport const getPhaseStandingsForEntryPhaseLeague = (\n state: RootState,\n entryId: number,\n phaseId: number,\n leagueId: number\n) =>\n state.entries.phaseStandingsById[entryId]?.[phaseId]?.find(\n (ps) => ps.league_id === leagueId\n );\n","import { useEffect } from \"react\";\n\ntype HookProps = {\n event: string;\n handler: (e: any) => void;\n};\n\n// register event listener on mount on document\n// and fires handler on captured click\nconst useDocumentEventHandler = ({ event, handler }: HookProps) => {\n useEffect(() => {\n const eventHandler = (e: Event) => {\n handler(e);\n };\n\n document.addEventListener(event, eventHandler);\n return () => {\n document.removeEventListener(event, eventHandler);\n };\n }, [event, handler]);\n};\n\nexport default useDocumentEventHandler;\n","import { Link } from \"@reach/router\";\nimport React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport { INavLink } from \"../../core/hooks/types\";\nimport useDocumentEventHandler from \"../../core/hooks/useDocumentEventHandler\";\nimport \"./Dropdown.css\";\n\nconst MoreButton = styled.button`\n position: relative;\n display: flex;\n align-items: center;\n margin: 0;\n padding: 0 1.8rem;\n border: 0;\n border-radius: 2px 2px 0 0;\n border-radius: ${({ theme }) => `${theme.radii[1]} ${theme.radii[1]} 0 0`};\n background-color: ${({ theme }) => theme.colors.blue};\n color: white;\n font-size: 1.4rem;\n font-weight: bold;\n line-height: 4.7rem;\n transition: all 0.2s;\n cursor: pointer;\n text-align: center;\n text-decoration: none;\n\n ::after {\n content: \"\";\n background-image: url('data:image/svg+xml,');\n display: inline-block;\n width: 18px;\n height: 16px;\n margin-inline-start: ${({ theme }) => theme.space[1]};\n margin-top: -2px;\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center center;\n vertical-align: middle;\n }\n`;\n\nconst NavLink = css`\n display: block;\n padding: 0 1.8rem;\n background-color: ${({ theme }) => theme.colors.primary};\n color: white;\n font-size: 1.4rem;\n line-height: 4.7rem;\n text-align: center;\n text-decoration: none;\n transition: all 0.2s;\n cursor: pointer;\n\n :hover {\n background-color: ${({ theme }) => theme.colors.blue};\n }\n`;\n\nconst NavReachLink = styled(Link)`\n ${NavLink}\n`;\n\nconst NavHyperLink = styled.a`\n ${NavLink}\n`;\n\ntype Props = {\n text: string;\n links: INavLink[];\n};\n\nconst Dropdown: React.FunctionComponent = ({ text, links }) => {\n const [open, setOpen] = React.useState(false);\n useDocumentEventHandler({ event: \"click\", handler: () => setOpen(false) });\n const toggleOpen = (e: React.SyntheticEvent) => {\n e.nativeEvent.stopImmediatePropagation();\n setOpen((open) => !open);\n };\n\n return (\n \n \n {text}\n \n
      \n {links.map((link) => (\n
    • \n {link.useRouter ? (\n {link.text}\n ) : (\n \n {link.text}\n \n )}\n
    • \n ))}\n
    \n
    \n );\n};\n\nexport default Dropdown;\n","import { Link } from \"@reach/router\";\nimport React from \"react\";\nimport styled from \"styled-components\";\nimport { INavLink } from \"../../core/hooks/types\";\nimport \"./ListItem.css\";\n\nconst LIStyled = styled.li`\n margin-inline-end: ${({ theme }) => theme.space[1]};\n list-style-type: none;\n display: inline-block;\n vertical-align: middle;\n`;\n\nconst ListItem = React.forwardRef(\n ({ useRouter, text, href, rel, isDraft, target }, ref) => {\n return (\n \n {useRouter ? (\n {\n return {\n className: `ism-nav__tab ${\n href === \"/\"\n ? isCurrent\n ? \"active\"\n : \"\"\n : isPartiallyCurrent\n ? \"active\"\n : \"\"\n }`,\n };\n }}\n >\n {text}\n \n ) : (\n \n {text}\n \n )}\n \n );\n }\n);\n\nexport default ListItem;\n","import React, { useContext } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect, ConnectedProps } from \"react-redux\";\nimport styled, { css } from \"styled-components\";\nimport { INavLink } from \"../../core/hooks/types\";\nimport usePriorityNav from \"../../core/hooks/usePriorityNav\";\nimport { RootState } from \"../../core/store\";\nimport { getEntry } from \"../../core/store/entries/reducers\";\nimport {\n getCurrentEvent,\n getNextEvent,\n} from \"../../core/store/events/reducers\";\nimport { getServerError } from \"../../core/store/global/reducers\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { isRTL } from \"../../utils/locale\";\nimport { getIsWebView } from \"../../utils/webView\";\nimport { KeyCloakContext } from \"../App\";\nimport Dropdown from \"./Dropdown\";\nimport ListItem from \"./ListItem\";\n\nconst StyledNav = styled.nav`\n white-space: nowrap;\n z-index: 2;\n ${getIsWebView() &&\n css`\n margin-top: ${({ theme }) => theme.space[2]};\n `}\n`;\n\nconst StyledUL = styled.ul`\n vertical-align: middle;\n font-size: 0;\n padding: 0;\n display: flex;\n`;\n\nconst NavigationLinks: React.FC<{ links: INavLink[] }> = ({ links }) => {\n const { t } = useTranslation();\n const [measuredRef, visibleLinks, nonVisibleLinks] = usePriorityNav({\n links,\n offset: isRTL() ? 120 : 60,\n });\n\n return (\n \n \n {visibleLinks.map((link) => (\n \n ))}\n {!!nonVisibleLinks.length && (\n \n )}\n \n \n );\n};\n\nconst mapStateToProps = (state: RootState) => {\n const player = getPlayerData(state);\n const currentEvent = getCurrentEvent(state);\n const nextEvent = getNextEvent(state);\n const serverError = getServerError(state);\n const entry = player && player.entry ? getEntry(state, player.entry) : null;\n\n return {\n player,\n currentEvent,\n nextEvent,\n serverError,\n entry,\n };\n};\n\nconst connector = connect(mapStateToProps);\n\ntype PropsFromRedux = ConnectedProps;\n\nconst Navigation: React.FC = ({\n player,\n currentEvent,\n nextEvent,\n serverError,\n entry,\n}) => {\n const { t } = useTranslation();\n let links: INavLink[] = [];\n const useRouter = !serverError;\n const {\n urls: { logoutUrl },\n } = useContext(KeyCloakContext);\n\n if (player && player.entry) {\n // Logged in with entry\n links = [\n {\n useRouter,\n href: \"/\",\n text: currentEvent\n ? t(\"navigation.status\", \"Status\")\n : t(\"navigation.home\", \"Home\"),\n },\n ];\n if (nextEvent) {\n links.push({\n useRouter,\n href: \"/my-team\",\n text: t(\"navigation.myTeam\", \"Pick Team\"),\n });\n }\n // If the entry has started ...\n if (currentEvent && entry && entry.started_event <= currentEvent.id) {\n links.push({\n useRouter,\n href: `/entry/${player.entry}/event/${currentEvent.id}`,\n text: t(\"navigation.points\", \"Points\"),\n });\n }\n links.push(\n {\n useRouter,\n href: \"/transfers\",\n text: t(\"navigation.transfers\", \"Transfers\"),\n },\n {\n useRouter,\n href: \"/leagues\",\n text: t(\"navigation.leagues\", \"Leagues\"),\n },\n {\n useRouter,\n href: \"/fixtures\",\n text: t(\"navigation.fixtures\", \"Fixtures\"),\n },\n {\n useRouter,\n href: \"/statistics\",\n text: t(\"navigation.statistics\", \"Statistics\"),\n }\n );\n if (!getIsWebView()) {\n links.push({\n useRouter,\n href: \"/prizes\",\n text: t(\"navigation.prizes\", \"Prizes\"),\n });\n }\n links.push({\n useRouter,\n href: \"/help\",\n text: t(\"navigation.help\", \"Help\"),\n });\n if (!getIsWebView()) {\n links.push({\n useRouter: false,\n href: logoutUrl || \"\",\n text: t(\"navigation.signOut\", \"Sign out\"),\n });\n }\n } else if (player) {\n // Logged in, no entry\n links = [\n { useRouter, href: \"/\", text: t(\"navigation.home\", \"Home\") },\n {\n useRouter,\n href: \"/squad-selection\",\n text: t(\"navigation.squadSelection\", \"Squad Selection\"),\n },\n { useRouter, href: \"/help\", text: t(\"navigation.help\", \"Help\") },\n ];\n if (!getIsWebView()) {\n links.push({\n useRouter: false,\n href: logoutUrl || \"\",\n text: t(\"navigation.signOut\", \"Sign out\"),\n });\n }\n } else {\n // Logged Out\n links = [{ useRouter, href: \"/\", text: t(\"navigation.home\", \"Home\") }];\n if (!getIsWebView()) {\n links.push({\n useRouter,\n href: \"/prizes\",\n text: t(\"navigation.prizes\", \"Prizes\"),\n });\n }\n links.push(\n { useRouter, href: \"/help\", text: t(\"navigation.help\", \"Help\") },\n {\n useRouter,\n href: \"/statistics\",\n text: t(\"navigation.statistics\", \"Statistics\"),\n }\n );\n }\n return ;\n};\n\nexport { Navigation as NavigationTest };\n\nexport default connector(Navigation);\n","import { hiDPI, hideVisually, size } from \"polished\";\nimport { useTranslation } from \"react-i18next\";\nimport styled, { css } from \"styled-components/macro\";\nimport { ReactComponent as FantasyLogo } from \"../img/fantasy-logo.svg\";\nimport { ReactComponent as GBFlag } from \"../img/flags/gb.svg\";\nimport { ReactComponent as SAFlag } from \"../img/flags/sa.svg\";\nimport headerPattern from \"../img/header-pattern-bg.svg\";\nimport playerComposite1x from \"../img/player-composite-@1x.png\";\nimport playerComposite2x from \"../img/player-composite-@2x.png\";\nimport { ReactComponent as ClientLogo } from \"../img/spl-logo.svg\";\nimport { ReactComponent as SponsorLogo } from \"../img/sponsor-logo.svg\";\nimport { ReactComponent as Tagline } from \"../img/tagline.svg\";\nimport { isRTL } from \"../utils/locale\";\nimport { getIsWebView } from \"../utils/webView\";\nimport { Wrapper } from \"./Layout\";\nimport Navigation from \"./nav/Navigation\";\n\nconst direction = isRTL() ? `to left` : `to right`;\n\nconst GameHeaderOuter = styled.div`\n display: flex;\n justify-content: center;\n width: 100%;\n height: 140px;\n background: url(${headerPattern}),\n linear-gradient(\n ${direction},\n ${({ theme }) => theme.colors.primary} 65%,\n ${({ theme }) => theme.colors.green} 65% 100%\n );\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n height: 230px;\n background: url(${headerPattern}),\n linear-gradient(\n ${direction},\n ${({ theme }) => theme.colors.primary} 65%,\n ${({ theme }) => theme.colors.green} 65% 100%\n );\n }\n`;\n\nconst GameHeaderInner = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 90%;\n max-width: 1220px;\n`;\n\nconst PlayerImage = styled.div`\n position: absolute;\n bottom: 0;\n left: ${isRTL() && `-15px`};\n right: ${!isRTL() && `-15px`};\n width: 100%;\n height: 130px;\n background-image: url(${playerComposite1x});\n background-size: contain;\n background-repeat: no-repeat;\n background-position: ${isRTL() ? `100% 0` : `100% 0`};\n transform: ${isRTL() ? `scaleX(-1)` : `scaleX(1)`};\n\n ${hiDPI(2)} {\n background-image: url(${playerComposite2x});\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n left: ${isRTL() && `0px`};\n right: ${!isRTL() && `0px`};\n height: 235px;\n\n ${hiDPI(2)} {\n background-image: url(${playerComposite2x});\n }\n }\n`;\n\nconst SplLink = isRTL()\n ? \"https://www.spl.com.sa/ar\"\n : \"https://www.spl.com.sa/en\";\n\nconst FlagList = styled.ul`\n position: absolute;\n top: 15px;\n left: ${!isRTL() && `0`};\n right: ${isRTL() && `0`};\n display: flex;\n gap: 1rem;\n margin: 0;\n padding: 0;\n list-style-type: none;\n z-index: 1;\n`;\n\nconst FlagItem = styled.li`\n display: inherit;\n padding-inline-end: 1rem;\n vertical-align: middle;\n line-height: 1;\n\n :not(:last-child) {\n border-inline-end: 1px solid white;\n }\n`;\n\nconst FlagLink = styled.a`\n display: inherit;\n`;\n\nconst FlagStyles = css`\n ${size(13, 20)}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n ${size(17, 28)}\n }\n`;\n\nconst StyledSAFlag = styled(SAFlag)`\n ${FlagStyles}\n`;\n\nconst StyledGBFlag = styled(GBFlag)`\n ${FlagStyles}\n`;\n\nconst HeaderLogo = styled.div`\n z-index: 1;\n display: flex;\n align-items: center;\n gap: 4px;\n margin-top: 40px;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n gap: 20px;\n margin-top: 60px;\n }\n`;\n\nconst ClientLogoStyles = css`\n ${size(41, 53)}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n ${size(98, 110)}\n }\n`;\n\nconst StyledClientLogo = styled(ClientLogo)`\n ${ClientLogoStyles}\n`;\n\nconst FantasyLogoStyles = css`\n ${size(27, 90)}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n ${size(40, 210)}\n }\n`;\n\nconst GameTitle = styled.h1`\n margin: 0;\n\n @media (max-width: ${(props) => props.theme.breakpoints[3]}) {\n height: 27px;\n }\n`;\n\nconst StyledFantasyLogo = styled(FantasyLogo)`\n ${FantasyLogoStyles}\n margin: 0;\n`;\n\nconst TagLineWrap = styled.div`\n @media (max-width: ${(props) => props.theme.breakpoints[3]}) {\n ${hideVisually()};\n }\n`;\n\nconst TitleSponsorWrap = styled.div`\n display: flex;\n flex-direction: column;\n\n @media (min-width: ${(props) => props.theme.breakpoints[3]}) {\n margin-top: ${({ theme }) => theme.space[4]};\n }\n`;\n\nconst SponsorWrap = styled.div`\n display: flex;\n align-items: center;\n gap: 4px;\n`;\n\nconst Sponsor = styled(SponsorLogo)`\n ${size(15, 30)}\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n ${size(15, 40)}\n }\n`;\n\nconst SponsorTagline = styled.h2`\n margin: 0;\n color: ${({ theme }) => theme.colors.white};\n font-size: ${({ theme }) => theme.fontSizes[0]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n font-size: ${({ theme }) => theme.fontSizes[2]};\n }\n`;\n\nconst GameHeader = () => {\n const { t } = useTranslation();\n\n if (getIsWebView()) {\n return (\n \n \n \n \n );\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {t(\"gameHeader.sponsorTagline\", \"Presented by\")}\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default GameHeader;\n","import styled from \"styled-components\";\n\nconst StyledImage = styled.img`\n width: 100%;\n height: 50px;\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n height: 100px;\n }\n`;\n\nconst AdWrap = styled.div`\n display: flex;\n justify-content: center;\n margin-top: ${({ theme }) => theme.space[4]};\n`;\n\ninterface IProps {\n adType: string;\n}\n\nconst PageAd = ({ adType }: IProps) => {\n return (\n \n \n \n );\n};\n\nexport default PageAd;\n","import { TFunction } from \"i18next\";\n\nexport type ChipName = \"frush\" | \"2capt\" | \"pdbus\" | \"wildcard\" | \"uteam\";\n\ninterface IChipDetails {\n description: string;\n name: string;\n}\n\nconst allChipDetails = (t: TFunction): Record => ({\n frush: {\n name: t(\"chips.frush.name\", \"Attack! Attack!\"),\n description: t(\n \"chips.frush.description\",\n \"All forwards get double points.\"\n ),\n },\n \"2capt\": {\n name: t(\"chips.2capt.name\", \"Two Captains\"),\n description: t(\n \"chips.2capt.description\",\n \"Both your Captain and Vice Captain score double points.\"\n ),\n },\n pdbus: {\n name: t(\"chips.pdbus.name\", \"Park The Bus\"),\n description: t(\n \"chips.pdbus.description\",\n \"Double points for all defenders\"\n ),\n },\n wildcard: {\n name: t(\"chips.wildcard.name\", \"Wildcard\"),\n description: t(\n \"chips.wildcard.description\",\n \"Make unlimited free transfers.\"\n ),\n },\n uteam: {\n name: t(\"chips.unlimit.name\", \"Loan Rangers\"),\n description: t(\n \"chips.unlimit.description\",\n \"Make unlimited free transfers and choose how many players you want from a specific team for a single round. At the next deadline your squad is returned to how it was at the start of the Round.\"\n ),\n },\n});\n\nexport const getChipName = (name: ChipName, t: TFunction) =>\n allChipDetails(t)[name].name;\n\nexport const getChipDetails = (name: ChipName, t: TFunction) =>\n allChipDetails(t)[name];\n\nexport const getAllChipDetails = (t: TFunction) => allChipDetails(t);\n","import sortBy from \"lodash/sortBy\";\nimport { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport { getElementTypesById } from \"../element-types/reducers\";\nimport {\n getElementsById,\n getFormation,\n getTotalsByType,\n} from \"../elements/reducers\";\nimport { getSettings } from \"../game/reducers\";\nimport { ISettings } from \"../game/types\";\nimport * as actions from \"./actions\";\nimport { IPickProposed, IState, SubStatus } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n picksLastUpdated: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchMyTeam.success):\n case getType(actions.saveMyTeam.success):\n return action.payload.data.picks_last_updated;\n default:\n return state;\n }\n },\n picksProposed: (state = [], action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchMyTeam.success):\n case getType(actions.saveMyTeam.success):\n return sortBy(action.payload.data.picks, \"position\").map((e) => ({\n ...e,\n elementType: action.payload.elementsById[e.element].element_type,\n subStatus: \"\" as SubStatus,\n }));\n\n case getType(actions.substitutionStart):\n return state.map((p) => {\n const newPick = { ...p };\n if (p === action.payload.pick) {\n newPick.subStatus = \"instigator\";\n } else if (action.payload.possibleReplacements.indexOf(p) > -1) {\n newPick.subStatus = \"target\";\n } else {\n newPick.subStatus = \"invalid\";\n }\n return newPick;\n });\n\n case getType(actions.substitutionStop):\n return state.map((p) => ({ ...p, subStatus: \"\" as SubStatus }));\n\n case getType(actions.substitutionProcess): {\n // Find the pick who instigated the substitution\n const instigator = state.reduce(\n (memo, p) => (p.subStatus === \"instigator\" ? p : memo),\n null\n );\n if (!instigator) {\n return state;\n }\n\n // Swap positions / captain data and reset subStatus\n const attrs: Array = [\n \"position\",\n \"is_captain\",\n \"is_vice_captain\",\n ];\n const target = action.payload.pick;\n const newPicks = state.map((p) => {\n const newPick = { ...p };\n // See https://github.com/microsoft/TypeScript/issues/31663 for\n // explanation for use of 'as any'\n if (p.element === instigator.element) {\n attrs.forEach((a) => ((newPick[a] as any) = target[a]));\n } else if (p.element === target.element) {\n attrs.forEach((a) => ((newPick[a] as any) = instigator[a]));\n }\n newPick.subStatus = \"\";\n return newPick;\n });\n\n // Order by position, factoring in elementType for starters\n const subStart = action.payload.subsStart;\n newPicks.sort((a, b) => {\n if (a.position < subStart && b.position < subStart) {\n return (\n a.elementType * 99 +\n a.position -\n (b.elementType * 99 + b.position)\n );\n }\n return a.position - b.position;\n });\n\n // Reset position based on index and return\n return newPicks.map((p, index) => {\n const newPick = { ...p };\n newPick.position = index + 1;\n return newPick;\n });\n }\n\n case getType(actions.changeCaptain):\n case getType(actions.changeViceCaptain): {\n const newCaptain = state.reduce(\n (memo, p) => (p.element === action.payload.elementId ? p : memo),\n null\n );\n const attrMake = action.payload.isVice\n ? \"is_vice_captain\"\n : \"is_captain\";\n const attrOther = action.payload.isVice\n ? \"is_captain\"\n : \"is_vice_captain\";\n\n if (!newCaptain || newCaptain[attrMake]) {\n return state;\n }\n const oldCaptain = state.reduce(\n (memo, p) => (p[attrMake] ? p : memo),\n null\n );\n\n return state.map((p) => {\n const newPick = { ...p };\n if (p.element === action.payload.elementId) {\n newPick[attrMake] = true;\n newPick[attrOther] = false;\n } else {\n newPick[attrMake] = false;\n // Handle case of roles being swapped\n if (\n oldCaptain &&\n oldCaptain.element === p.element &&\n newCaptain[attrOther]\n ) {\n newPick[attrOther] = true;\n }\n }\n return newPick;\n });\n }\n\n default:\n return state;\n }\n },\n picksSaved: (state = [], action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchMyTeam.success):\n case getType(actions.saveMyTeam.success):\n return sortBy(action.payload.data.picks, \"position\");\n default:\n return state;\n }\n },\n savingState: (state, action: RootAction) => {\n switch (action.type) {\n case getType(actions.saveMyTeam.success):\n return \"saved\";\n case getType(actions.saveMyTeam.request):\n return \"saving\";\n default:\n return \"\";\n }\n },\n});\n\n// State Selectors / Helpers\nexport const getMyPicksLastUpdated = (state: RootState) =>\n state.myTeam.picksLastUpdated;\n\nexport const getMyPicksSaved = (state: RootState) => state.myTeam.picksSaved;\n\nexport const getMyPicksProposed = (state: RootState) =>\n state.myTeam.picksProposed;\n\nexport const getMyTeamSavingState = (state: RootState) =>\n state.myTeam.savingState;\n\nexport const getMyStartersProposed = createSelector(\n getMyPicksProposed,\n getSettings,\n (picks, settings) => picks.slice(0, settings ? settings.squad_squadplay : 0)\n);\n\nexport const getMySubsProposed = createSelector(\n getMyPicksProposed,\n getSettings,\n (picks, settings) =>\n picks.slice(\n settings ? settings.squad_squadplay : picks.length,\n picks.length\n )\n);\n\nexport const getMyStartingTotalsByType = createSelector(\n getMyStartersProposed,\n getElementsById,\n (picks, elements) => getTotalsByType(picks.map((p) => elements[p.element]))\n);\n\nexport const getMyFormation = createSelector(\n getMyStartersProposed,\n getElementsById,\n (picks, elements) => getFormation(picks.map((p) => elements[p.element]))\n);\n\nexport const isSub = (state: RootState, pick: IPickProposed) => {\n const settings = getSettings(state) as ISettings;\n return pick.position > settings.squad_squadplay;\n};\n\nexport const isLegalSwap = (\n state: RootState,\n p1: IPickProposed,\n p2: IPickProposed,\n totals: Record\n): boolean => {\n const elementsById = getElementsById(state);\n const elementTypesById = getElementTypesById(state);\n const p1Type = elementsById[p1.element].element_type;\n const p2Type = elementsById[p2.element].element_type;\n const p1Sub = isSub(state, p1);\n const p2Sub = isSub(state, p2);\n // const locks = getPositionTypeLocks(state);\n let validSwap = false;\n\n // Swapping starters disallowed\n if (!p1Sub && !p2Sub) {\n return false;\n }\n\n // Swapping self disallowed\n if (p1.element === p2.element) {\n return false;\n }\n\n // Can always swap like for like\n if (p1Type === p2Type) {\n return true;\n }\n\n // Can swap subs unless positions locked\n if (p1Sub && p2Sub) {\n validSwap = true;\n } else if (p1Sub) {\n // Bringing p1 in, p2 out\n validSwap =\n totals[p1Type] < elementTypesById[p1Type].squad_max_play &&\n totals[p2Type] > elementTypesById[p2Type].squad_min_play;\n } else {\n // Bringing p2 in, p1 out\n validSwap =\n totals[p2Type] < elementTypesById[p2Type].squad_max_play &&\n totals[p1Type] > elementTypesById[p1Type].squad_min_play;\n }\n\n // Check any subs are allowed to be in their new positions\n if (\n p2Sub && // p1 becoinng a sub\n elementTypesById[p1Type].sub_positions_locked.length && // locked type\n elementTypesById[p1Type].sub_positions_locked.indexOf(p2.position) === -1\n ) {\n return false;\n }\n if (\n p1Sub && // p2 becoming a sub\n elementTypesById[p2Type].sub_positions_locked.length && // locked type\n elementTypesById[p2Type].sub_positions_locked.indexOf(p1.position) === -1\n ) {\n return false;\n }\n\n return validSwap;\n};\n\nexport const getMyPossibleReplacementsForPick = (\n state: RootState,\n pick1: IPickProposed\n) => {\n const possibles: IPickProposed[] = [];\n const totals = getMyStartingTotalsByType(state);\n getMyPicksProposed(state).forEach((pick2) => {\n if (isLegalSwap(state, pick1, pick2, totals)) {\n possibles.push(pick2);\n }\n });\n return possibles;\n};\n\nexport const isMyTeamValid = createSelector(getMyPicksProposed, (proposed) =>\n proposed.every((p) => p.subStatus === \"\")\n);\n\nexport const hasMyTeamChanged = createSelector(\n getMyPicksSaved,\n getMyPicksProposed,\n (saved, proposed) =>\n saved.some(\n (p, i) =>\n p.element !== proposed[i].element ||\n p.is_captain !== proposed[i].is_captain ||\n p.is_vice_captain !== proposed[i].is_vice_captain\n )\n);\n\nexport const toUpdateMyTeamAPI = createSelector(getMyPicksProposed, (picks) =>\n picks.map((p) => ({\n element: p.element,\n position: p.position,\n is_captain: p.is_captain,\n is_vice_captain: p.is_vice_captain,\n }))\n);\n\nexport const toUpdateChipAPI = createSelector(getMyPicksSaved, (picks) =>\n picks.map((p) => ({\n element: p.element,\n position: p.position,\n is_captain: p.is_captain,\n is_vice_captain: p.is_vice_captain,\n }))\n);\n","import { ThunkResult } from \"..\";\nimport { apiGet, apiPost } from \"../../utils/api\";\nimport { checkGame } from \"../bootstrap/thunks\";\nimport { getActiveOrProposedTeamChipName } from \"../chips/reducers\";\nimport { getElementsById } from \"../elements/reducers\";\nimport { getSettings } from \"../game/reducers\";\nimport { getPlayerData } from \"../player/reducers\";\nimport * as actions from \"./actions\";\nimport {\n getMyPicksProposed,\n getMyPossibleReplacementsForPick,\n toUpdateMyTeamAPI,\n} from \"./reducers\";\nimport { IMyTeamData, IPickProposed } from \"./types\";\n\nexport const fetchMyTeam =\n (): ThunkResult> => async (dispatch, getState) => {\n dispatch(checkGame());\n const player = getPlayerData(getState());\n if (player && player.entry) {\n try {\n await apiGet(\n `my-team/${player.entry}/`,\n dispatch,\n actions.fetchMyTeam,\n { elementsById: getElementsById(getState()) }\n );\n } catch (e) {\n return;\n }\n }\n };\n\nexport const actionSubstitution =\n (elementId: number): ThunkResult =>\n (dispatch, getState) => {\n const pick = getMyPicksProposed(getState()).reduce(\n (memo: IPickProposed | null, p) => (p.element === elementId ? p : memo),\n null\n );\n const settings = getSettings(getState());\n if (pick && settings) {\n if (pick.subStatus === \"\") {\n dispatch(\n actions.substitutionStart(\n pick,\n getMyPossibleReplacementsForPick(getState(), pick)\n )\n );\n } else if (pick.subStatus === \"instigator\") {\n dispatch(actions.substitutionStop());\n } else if (pick.subStatus === \"target\") {\n dispatch(\n actions.substitutionProcess(pick, settings.squad_squadplay + 1)\n );\n }\n }\n };\n\nexport const saveMyTeam =\n (): ThunkResult> => async (dispatch, getState) => {\n try {\n const player = getPlayerData(getState());\n if (!player || !player.entry) {\n return;\n }\n await apiPost(\n `my-team/${player.entry}/`,\n {\n chip: getActiveOrProposedTeamChipName(getState()),\n picks: toUpdateMyTeamAPI(getState()),\n },\n dispatch,\n actions.saveMyTeam,\n { elementsById: getElementsById(getState()) }\n );\n } catch (e) {\n // TODO - there ae no expected errors\n return;\n }\n };\n","import { createAsyncAction } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { IURLResponse } from \"./types\";\n\nexport const fetchURL = createAsyncAction(\n \"FETCH_URL_START\",\n \"FETCH_URL_SUCCESS\",\n \"FETCHURL_FAILURE\"\n)();\n","import * as React from \"react\";\n\ninterface IProps {\n code: string;\n}\n\nconst Flag: React.FC = ({ code }) => {\n const flagPath = `${process.env.PUBLIC_URL}/img/flags`;\n\n return \"\";\n};\n\nexport default Flag;\n","import styled from \"styled-components/macro\";\n\nconst Footnote = styled.p`\n font-size: 1.2rem;\n`;\n\nexport default Footnote;\n","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgArrowDoubleLeft(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 27,\n height: 18,\n viewBox: \"0 0 27 18\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.75 15.9194L25.75 2.08062C25.75 1.24212 24.7801 0.775944 24.1253 1.29976L15.4761 8.21914C14.9757 8.61946 14.9757 9.38055 15.4761 9.78087L24.1253 16.7002C24.7801 17.2241 25.75 16.7579 25.75 15.9194Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.75 15.9194L11.75 2.08062C11.75 1.24212 10.7801 0.775944 10.1253 1.29976L1.47609 8.21914C0.975681 8.61946 0.97568 9.38055 1.47609 9.78087L10.1253 16.7002C10.7801 17.2241 11.75 16.7579 11.75 15.9194Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowDoubleLeft);\nexport default __webpack_public_path__ + \"static/media/arrow-double-left.fe55be40.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgArrowDoubleRight(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 27,\n height: 18,\n viewBox: \"0 0 27 18\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.24999 2.08062L1.25 15.9194C1.25 16.7579 2.21993 17.2241 2.87469 16.7002L11.5239 9.78086C12.0243 9.38054 12.0243 8.61945 11.5239 8.21913L2.87469 1.29975C2.21992 0.775943 1.24999 1.24212 1.24999 2.08062Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.25 2.08062L15.25 15.9194C15.25 16.7579 16.2199 17.2241 16.8747 16.7002L25.5239 9.78086C26.0243 9.38054 26.0243 8.61945 25.5239 8.21913L16.8747 1.29975C16.2199 0.775943 15.25 1.24212 15.25 2.08062Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowDoubleRight);\nexport default __webpack_public_path__ + \"static/media/arrow-double-right.cf14bc2e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgArrowHyphen(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 2,\n viewBox: \"0 0 22 2\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 1C0 0.447715 0.447715 0 1 0H21C21.5523 0 22 0.447715 22 1C22 1.55228 21.5523 2 21 2H1C0.447716 2 0 1.55228 0 1Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowHyphen);\nexport default __webpack_public_path__ + \"static/media/arrow-hyphen.c93aa6da.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgArrowLeft(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 25,\n viewBox: \"0 0 15 25\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.5 23.7546L14.5 1.24536C14.5 0.379591 13.4746 -0.0771012 12.831 0.502069L0.325883 11.7567C-0.115497 12.154 -0.115497 12.8461 0.325883 13.2433L12.831 24.4979C13.4746 25.0771 14.5 24.6204 14.5 23.7546Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowLeft);\nexport default __webpack_public_path__ + \"static/media/arrow-left.e9bbc51f.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgArrowRight(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 25,\n viewBox: \"0 0 15 25\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.49999 1.24536L0.499999 23.7546C0.499999 24.6204 1.52544 25.0771 2.16896 24.4979L14.6741 13.2433C15.1155 12.846 15.1155 12.1539 14.6741 11.7567L2.16895 0.502069C1.52543 -0.0771012 0.49999 0.379593 0.49999 1.24536Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowRight);\nexport default __webpack_public_path__ + \"static/media/arrow-right.866272a4.svg\";\nexport { ForwardRef as ReactComponent };","import { size } from \"polished\";\nimport styled, { css } from \"styled-components/macro\";\nimport { ReactComponent as ArrowLeftDoubleIcon } from \"../../img/icons/arrow-double-left.svg\";\nimport { ReactComponent as ArrowRightDoubleIcon } from \"../../img/icons/arrow-double-right.svg\";\nimport { ReactComponent as ArrowHyphenIcon } from \"../../img/icons/arrow-hyphen.svg\";\nimport { ReactComponent as ArrowLeftIcon } from \"../../img/icons/arrow-left.svg\";\nimport { ReactComponent as ArrowRightIcon } from \"../../img/icons/arrow-right.svg\";\nimport { isRTL } from \"../../utils/locale\";\n\ninterface IArrow {\n color?: string;\n}\n\nconst rtlStyles =\n isRTL() &&\n css`\n transform: scaleX(-1);\n `;\n\nexport const ArrowLeft = styled(ArrowLeftIcon)`\n color: ${(props: any) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n ${rtlStyles}\n`;\n\nexport const ArrowRight = styled(ArrowRightIcon)`\n color: ${(props: any) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n ${rtlStyles}\n`;\n\nexport const ArrowLeftDouble = styled(ArrowLeftDoubleIcon)`\n color: ${(props: any) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n ${rtlStyles}\n`;\n\nexport const ArrowRightDouble = styled(ArrowRightDoubleIcon)`\n color: ${(props: any) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n ${rtlStyles}\n`;\n\nexport const ControlArrowRight = styled(ArrowRight)`\n ${size(\"16px\")};\n margin-inline-start: 0.5rem;\n vertical-align: middle;\n color: ${(props: any) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n ${rtlStyles}\n`;\n\nexport const ControlArrowLeft = styled(ArrowLeft)`\n ${size(\"16px\")};\n margin-inline-end: 0.5rem;\n vertical-align: middle;\n color: ${(props: any) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n ${rtlStyles}\n`;\n\nexport const ArrowHyphen = styled(ArrowHyphenIcon)`\n vertical-align: middle;\n color: ${(props: any) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n`;\n","import { useContext } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Box } from \"rebass/styled-components\";\nimport { getIsWebView } from \"../utils/webView\";\nimport { KeyCloakContext } from \"./App\";\nimport Button from \"./Button\";\nimport { ControlArrowRight } from \"./icons/Arrows\";\n\nexport const KeycloakEntryLinks = () => {\n const { t } = useTranslation();\n const {\n urls: { accountUrl, logoutUrl },\n } = useContext(KeyCloakContext);\n\n if (getIsWebView()) {\n return null;\n }\n\n return (\n <>\n \n }\n >\n {t(\"manageAccount\", \"Manage account\")}\n \n \n \n }\n >\n {t(\"signOut\", \"Sign out\")}\n \n \n \n );\n};\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgDown(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"16px\",\n height: \"16px\",\n viewBox: \"-7 9 16 16\",\n enableBackground: \"new -7 9 16 16\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"down\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Down_league\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"1,23 9,16 9,11 -7,11 -7,16 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDown);\nexport default __webpack_public_path__ + \"static/media/down.4848e94e.svg\";\nexport { ForwardRef as ReactComponent };","var _rect;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgNew(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"New_in_league\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"16px\",\n height: \"16px\",\n viewBox: \"0 0 16 16\",\n enableBackground: \"new 0 0 16 16\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"new\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n y: 6,\n width: 16,\n height: 4\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgNew);\nexport default __webpack_public_path__ + \"static/media/new.567bfff9.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgSame(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"16px\",\n height: \"16px\",\n viewBox: \"-7 9 16 16\",\n enableBackground: \"new -7 9 16 16\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"same\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Non_mover\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"7,17 0,9 -5,9 -5,25 0,25 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSame);\nexport default __webpack_public_path__ + \"static/media/same.e0ae0653.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgUp(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"16px\",\n height: \"16px\",\n viewBox: \"-7 9 16 16\",\n enableBackground: \"new -7 9 16 16\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"up\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Up_league\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"1,11 -7,18 -7,23 9,23 9,18 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgUp);\nexport default __webpack_public_path__ + \"static/media/up.4b566bbe.svg\";\nexport { ForwardRef as ReactComponent };","import { size } from \"polished\";\nimport styled, { css } from \"styled-components/macro\";\nimport { ReactComponent as BaseDownIcon } from \"../../img/icons/down.svg\";\nimport { ReactComponent as BaseNewIcon } from \"../../img/icons/new.svg\";\nimport { ReactComponent as BaseSameIcon } from \"../../img/icons/same.svg\";\nimport { ReactComponent as BaseUpIcon } from \"../../img/icons/up.svg\";\nimport { isRTL } from \"../../utils/locale\";\n\nconst rtlStyles =\n isRTL() &&\n css`\n transform: scaleX(-1);\n `;\n\nexport const NewIcon = styled(BaseNewIcon)`\n ${size(12)}\n fill: ${({ theme }) => theme.colors.greyDarker3};\n`;\n\nexport const SameIcon = styled(BaseSameIcon)`\n ${size(10)}\n fill: ${({ theme }) => theme.colors.greyDarker3};\n ${rtlStyles}\n`;\n\nexport const UpIcon = styled(BaseUpIcon)`\n ${size(12)}\n fill: ${({ theme }) => theme.colors.success};\n`;\n\nexport const DownIcon = styled(BaseDownIcon)`\n ${size(12)}\n fill: ${({ theme }) => theme.colors.error};\n`;\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport { NewIcon, SameIcon } from \"../icons/Movement\";\n\nconst ARROW_SIZE = 6;\n\nconst arrowStyling = css`\n width: 0;\n height: 0;\n border-inline-start: ${ARROW_SIZE}px solid transparent;\n border-inline-end: ${ARROW_SIZE}px solid transparent;\n`;\n\nconst StyledUpArrow = styled.div`\n ${arrowStyling};\n border-bottom: ${ARROW_SIZE}px solid ${({ theme }) => theme.colors.success};\n`;\n\nconst StyledDownArrow = styled.div`\n ${arrowStyling};\n border-top: ${ARROW_SIZE}px solid ${({ theme }) => theme.colors.error};\n`;\n\ninterface IProps {\n lastRank: number | null;\n rank: number | null;\n}\n\nconst Movement: React.FC = ({ lastRank, rank }) => {\n if (lastRank === 0 || rank === 0 || lastRank === null || rank === null) {\n return ;\n }\n if (rank === lastRank) {\n return ;\n }\n if (rank > lastRank) {\n return ;\n }\n if (rank < lastRank) {\n return ;\n }\n return null;\n};\n\nexport default Movement;\n","import styled, { css } from \"styled-components/macro\";\nimport { Link as RouterLink } from \"@reach/router\";\n\nconst LinkStyles = css`\n color: ${({ theme }) => theme.colors.blue};\n text-decoration: none;\n\n :hover {\n text-decoration: underline;\n }\n`;\n\nexport const Hyperlink = styled.a`\n ${LinkStyles}\n`;\n\nconst Link = styled(RouterLink)`\n ${LinkStyles}\n`;\n\nexport default Link;\n","import i18n from \"i18next\";\n\nexport const getShortNameFromId = (event: number, idOnly = false) => {\n const prefix = idOnly ? \"\" : i18n.t(\"events.shortName\", \"RD\");\n return `${prefix}${event}`;\n};\n\nexport const getEventShortName = (eventName: string) =>\n eventName.match(/\\d+/g)?.join(\".\");\n\nexport const getIdFromEventName = (eventName: string) =>\n Number(getEventShortName(eventName));\n","import React from \"react\";\nimport styled from \"styled-components/macro\";\n\nconst StyledResult = styled.span`\n font-family: ${({ theme }) => theme.fonts.base};\n display: inline-block;\n width: 3rem;\n height: 3rem;\n margin-inline-end: ${({ theme }) => theme.space[1]};\n border-radius: 100%;\n background-color: ${({ theme }) => theme.colors.primary};\n color: white;\n font-size: 1.4rem;\n line-height: 3rem;\n text-align: center;\n vertical-align: middle;\n`;\n\ninterface IOwnProps {\n resultChar: string;\n}\n\nconst Result: React.FC = ({ resultChar }) => (\n \n {resultChar}\n \n);\n\nexport default Result;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport { getCurrentEvent } from \"../../core/store/events/reducers\";\nimport { IH2HMatch } from \"../../core/store/leagues/types\";\n\nconst CupSummaryScore: React.FC<{\n match: IH2HMatch;\n entryId: number;\n}> = ({ match, entryId }) => {\n const { t } = useTranslation();\n const iAmOne = entryId === match.entry_1_entry;\n const now = useSelector(getCurrentEvent);\n const started = now ? match.event <= now.id : null;\n\n if (!started) {\n return <> ;\n }\n\n if (match.is_bye) {\n return {t(\"cupSummaryScore.bye\", \"BYE\")};\n }\n\n return iAmOne ? (\n \n {match.entry_1_points}-{match.entry_2_points}\n \n ) : (\n \n {match.entry_2_points}-{match.entry_1_points}\n \n );\n};\n\nexport default CupSummaryScore;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { getEventsById } from \"../../core/store/events/reducers\";\nimport { IH2HMatch } from \"../../core/store/leagues/types\";\nimport { getIdFromEventName } from \"../../utils/events\";\nimport Result from \"../Result\";\nimport CupSummaryScore from \"./CupSummaryScore\";\n\nconst EventCell = styled.td`\n text-align: center;\n`;\n\nconst StatusCell = styled.td`\n text-align: center;\n`;\n\nconst CupSummaryData: React.FC<{\n match: IH2HMatch;\n entryId: number;\n}> = ({ match, entryId }) => {\n const { t } = useTranslation();\n const resultChar =\n match.winner === entryId\n ? t(\"CupSummaryData.W\", \"W\")\n : match.winner\n ? t(\"CupSummaryData.L\", \"L\")\n : \"\";\n const eventsById = useSelector(getEventsById);\n const cupEventNameId = match.event\n ? getIdFromEventName(eventsById[match.event].name)\n : 0;\n return (\n <>\n {cupEventNameId}\n \n {match.winner ? (\n \n ) : (\n \n )}\n \n \n );\n};\n\nexport default CupSummaryData;\n","import { ILeagueEntry } from \"../../core/store/entries/types\";\n\nexport const getLeagueUrl = (\n id: number,\n scoring: string,\n defaultEntry?: number\n) =>\n scoring === \"h\"\n ? `/leagues/${id}/matches/${scoring}${\n defaultEntry ? `?default_entry=${defaultEntry}` : \"\"\n }`\n : `/leagues/${id}/standings/${scoring}`;\n\nexport const getBroadcasterLeagues = (systemClassicLeagues: ILeagueEntry[]) => {\n // Extract any broadcaster leagues\n const broadcasterLeagueMatch = /^brd-/;\n // Please note the \"!\" non-null assertion operator on the filter\n return systemClassicLeagues.filter((l) =>\n l.short_name!.match(broadcasterLeagueMatch)\n );\n};\n\nexport const getFilteredSystemClassicLeagues = (\n systemClassicLeagues: ILeagueEntry[],\n broadcasterLeagues: ILeagueEntry[]\n) =>\n systemClassicLeagues.filter(\n (l) => !broadcasterLeagues.length || broadcasterLeagues.indexOf(l) === -1\n );\n\nexport const getCupUrl = (\n leagueId: number,\n cup_league: number | null,\n entryId?: number\n) => {\n const linkUrl = `/leagues/${leagueId}/cup`;\n if (!cup_league) {\n return `${linkUrl}-not-started`;\n }\n if (entryId) {\n return `${linkUrl}?entry=${entryId}`;\n }\n return linkUrl;\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { ILeagueEntry } from \"../../core/store/entries/types\";\nimport { IH2HMatch } from \"../../core/store/leagues/types\";\nimport Link from \"../Link\";\nimport CupSummaryData from \"./CupSummaryData\";\nimport { getCupUrl } from \"./utils\";\n\ninterface ICupTypeRowProps {\n cupMatch: IH2HMatch | null;\n entryId: number;\n league: ILeagueEntry;\n}\nconst CupTypeRow: React.FC = ({\n cupMatch,\n entryId,\n league,\n}) => {\n const { t } = useTranslation();\n return (\n \n \n \n {t(\"cupTypeRow.link\", \"{{ leagueName }} cup\", {\n leagueName: league.name,\n })}\n \n \n {cupMatch && league.cup_qualified ? (\n \n ) : (\n <>\n  \n  \n \n )}\n \n );\n};\n\nexport default CupTypeRow;\n","import styled from \"styled-components/macro\";\nimport Table from \"../Table\";\n\nexport const PrimaryWrap = styled.div`\n background-color: ${({ theme }) => theme.colors.primary};\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n padding: ${({ theme }) => `${theme.space[2]} ${theme.space[2]} 0`};\n }\n`;\n\nexport const LeagueSummaryHeading = styled.h4`\n margin: 0 0 1rem;\n padding: 1.3rem 0;\n border-top: 1px solid ${({ theme }) => theme.colors.primary};\n font-family: ${({ theme }) => theme.fonts.base};\n font-size: 1.3rem;\n`;\n\nexport const SummaryCupCol = styled.th`\n width: 49%;\n`;\n\nexport const SummaryRoundCol = styled.th`\n width: 24%;\n`;\n\nexport const SummaryStatusCol = styled.th`\n width: 27%;\n`;\n\nexport const LeagueSummaryTable = styled(Table)`\n table-layout: fixed;\n margin-bottom: ${({ theme }) => theme.space[3]};\n\n /* Have to do this because of Table td specificity */\n ${SummaryCupCol} {\n text-align: center;\n }\n`;\n\nexport const SelectWrap = styled.div`\n margin: ${({ theme }) => `${theme.space[4]} ${theme.space[2]}`};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n display: flex;\n justify-content: space-between;\n }\n`;\n\nexport const SelectBox = styled.div`\n margin-bottom: ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 49%;\n }\n`;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState } from \"../../core/store\";\nimport { getCupMatchesByLeagueId } from \"../../core/store/entries/reducers\";\nimport {\n CupMatchesByLeagueId,\n ILeagueEntry,\n} from \"../../core/store/entries/types\";\nimport { VisuallyHidden } from \"../Utils\";\nimport CupTypeRow from \"./CupTypeRow\";\nimport {\n LeagueSummaryHeading,\n LeagueSummaryTable,\n SummaryCupCol,\n SummaryRoundCol,\n SummaryStatusCol,\n} from \"./Styles\";\n\ninterface IProps {\n entryId: number;\n leagues: ILeagueEntry[];\n title: string;\n}\n\nconst MyLeagueCupSummary: React.FC = ({ entryId, leagues, title }) => {\n const cupMatches: CupMatchesByLeagueId | null = useSelector(\n (state: RootState) =>\n entryId ? getCupMatchesByLeagueId(state, entryId) : null\n );\n const { t } = useTranslation();\n\n return (\n \n {title}\n \n \n \n \n \n {t(\"myLeagueCupSummary.cup\", \"Cup\")}\n \n \n \n \n {t(\"myLeagueCupSummary.round\", \"Round\")}\n \n \n \n \n {t(\"myLeagueCupSummary.status\", \"Status\")}\n \n \n \n \n \n {leagues.map((l) => (\n \n ))}\n \n \n \n );\n};\n\nexport default MyLeagueCupSummary;\n","import React from \"react\";\nimport styled from \"styled-components\";\ninterface ILogoProps {\n justifyContent: string;\n}\n\nconst StyledLogoBar = styled.div`\n display: flex;\n align-items: center;\n justify-content: ${({ justifyContent }) => justifyContent};\n padding: ${({ theme }) => `${theme.space[2]} 0 0`};\n background-color: ${({ theme }) => theme.colors.white};\n background-position: left center;\n background-repeat: no-repeat;\n background-size: contain;\n`;\n\ninterface IProps {\n children: React.ReactNode;\n justifyContent?: string;\n}\n\nconst LogoBar: React.FC = ({\n children,\n justifyContent = \"center\",\n ...props\n}) => {\n return (\n \n {children}\n \n );\n};\n\nexport default LogoBar;\n","import React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\nconst TabHeadingOuter = styled.div`\n border-top-left-radius: ${({ theme }) => theme.radii[1]};\n border-top-right-radius: ${({ theme }) => theme.radii[1]};\n background-color: ${({ theme }) => theme.colors.blue};\n color: ${({ theme }) => theme.colors.white};\n ${(props) =>\n props.isCentered &&\n css`\n text-align: center;\n `}\n\n ${(props) =>\n props.hasBorder &&\n css`\n border-top: 1px solid ${({ theme }) => theme.colors.blueDark};\n `}\n`;\n\nconst TabHeadingInner = styled.div`\n display: inline-block;\n padding: 0 ${({ theme }) => theme.space[1]};\n border-top-left-radius: ${({ theme }) => theme.radii[1]};\n border-top-right-radius: ${({ theme }) => theme.radii[1]};\n background-color: ${({ theme }) => theme.colors.blue};\n color: ${({ theme }) => theme.colors.white};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n ${(props) =>\n props.isBlock &&\n css`\n display: block;\n `}\n }\n`;\n\nconst TabHeadingTitle = styled.h3`\n font-size: ${({ theme }) => theme.fontSizes[1]};\n`;\n\ninterface IOwnProps {\n title: React.ReactNode;\n}\n\ninterface ITabHeadingOuter {\n hasBorder?: boolean;\n isCentered?: boolean;\n}\n\ninterface ITabHeadingInner {\n isBlock?: boolean;\n}\n\ntype Props = IOwnProps & ITabHeadingOuter & ITabHeadingInner;\n\nconst TabHeading: React.FC = ({\n hasBorder = false,\n isBlock = false,\n isCentered = false,\n title,\n}) => (\n \n \n {title}\n \n \n);\n\nexport default TabHeading;\n","import React from \"react\";\nimport styled from \"styled-components/macro\";\nimport { TabLink } from \"./Tab\";\n\nconst Item = styled.li`\n flex: 1;\n`;\n\ninterface IStyleProps {\n selected: boolean;\n}\n\ninterface IProps {\n key: number;\n index: number;\n label: React.ReactNode;\n link: string;\n onClick: (index: number) => void;\n}\n\ntype Props = IStyleProps & IProps;\n\nconst EntryTab: React.FC = ({\n index,\n label,\n link,\n onClick,\n selected,\n}) => {\n const onTabClick = (e: React.SyntheticEvent) => {\n e.preventDefault();\n onClick(index);\n };\n return (\n \n \n {label}\n \n \n );\n};\n\nexport default EntryTab;\n","import React, { useState } from \"react\";\nimport styled from \"styled-components/macro\";\nimport EntryTab from \"./EntryTab\";\nimport { ITabPanel } from \"./TabPanel\";\nimport { TabListShared } from \"./Tabs\";\n\nconst TabList = styled.ul`\n ${TabListShared}\n padding: 2px;\n border: 1.5px solid ${({ theme }) => theme.colors.blue};\n border-radius: ${({ theme }) => theme.radii[0]};\n`;\n\ninterface IProps {\n children: Array>;\n}\n\nconst EntryTabs: React.FC = ({ children }) => {\n const [selectedTab, setSelectedTab] = useState(0);\n\n const handleClick = (index: number) => {\n setSelectedTab(index);\n };\n\n return (\n
    \n \n {React.Children.map(children, (child, index) => {\n const panel = child;\n return (\n \n );\n })}\n \n {children[selectedTab]}\n
    \n );\n};\n\nexport default EntryTabs;\n","import { Link as RouterLink } from \"@reach/router\";\nimport React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../core/store\";\nimport {\n getEntry,\n getPrivateClassicCupLeaguesForEntry,\n getPrivateClassicLeaguesForEntry,\n getPrivateH2HLeaguesForEntry,\n getPublicClassicCupLeaguesForEntry,\n getPublicClassicLeaguesForEntry,\n getPublicH2HLeaguesForEntry,\n getSystemClassicCupLeaguesForEntry,\n getSystemClassicLeaguesForEntry,\n} from \"../core/store/entries/reducers\";\nimport { fetchEntrySummary } from \"../core/store/entries/thunks\";\nimport { IEntry, ILeagueEntry } from \"../core/store/entries/types\";\nimport { getCurrentEvent } from \"../core/store/events/reducers\";\nimport { IEvent } from \"../core/store/events/types\";\nimport { getTotalPlayers } from \"../core/store/game/reducers\";\nimport { fetchMyTeam } from \"../core/store/my-team/thunks\";\nimport { ITransferState } from \"../core/store/my-team/types\";\nimport { getPlayerData } from \"../core/store/player/reducers\";\nimport { getTransferState } from \"../core/store/squad/reducers\";\nimport { getTeamsById } from \"../core/store/teams/reducers\";\nimport { ITeamsById } from \"../core/store/teams/types\";\nimport { fetchURL } from \"../core/store/urls/thunks\";\nimport { integerToMoney } from \"../core/utils/money\";\nimport Button from \"./Button\";\nimport Flag from \"./Flag\";\n// import { kitFromEntry } from \"./EntryUpdate\";\nimport Footnote from \"./Footnote\";\nimport { ControlArrowRight } from \"./icons/Arrows\";\nimport { KeycloakEntryLinks } from \"./KeycloakEntryLinks\";\nimport Movement from \"./leagues/Movement\";\nimport MyLeagueCupSummary from \"./leagues/MyLeagueCupSummary\";\nimport { LeagueSummaryTable } from \"./leagues/Styles\";\nimport {\n getBroadcasterLeagues,\n getFilteredSystemClassicLeagues,\n} from \"./leagues/utils\";\nimport Link from \"./Link\";\nimport LogoBar from \"./LogoBar\";\nimport Panel from \"./Panel\";\nimport TabHeading from \"./TabHeading\";\nimport Table from \"./Table\";\nimport EntryTabs from \"./tabs/EntryTabs\";\nimport TabPanel from \"./tabs/TabPanel\";\nimport { VisuallyHidden } from \"./Utils\";\n\nconst EntryNameWrapper = styled.div`\n padding: ${({ theme }) => theme.space[2]};\n border: 1px solid ${({ theme }) => theme.colors.black};\n border-radius: ${({ theme }) => theme.radii[1]};\n`;\n\nconst EntryFullName = styled.h2`\n margin-top: 0;\n margin-bottom: ${({ theme }) => `${theme.space[1]}`};\n font-family: ${({ theme }) => theme.fonts.impact};\n font-size: 20px;\n color: ${({ theme }) => theme.colors.black};\n line-height: 24px;\n`;\n\nconst EntryName = styled.h3`\n margin-top: 0;\n margin-bottom: 0;\n padding-inline-end: ${({ theme }) => `${theme.space[1]}`};\n font-family: ${({ theme }) => theme.fonts.book};\n font-size: 17px;\n font-weight: normal;\n color: ${({ theme }) => theme.colors.black};\n line-height: 20px;\n`;\n\nconst DataListItem = styled.li`\n display: flex;\n align-items: center;\n padding: ${({ theme }) => theme.space[2]} 0;\n border-top: 1px solid ${({ theme }) => theme.colors.grey};\n font-size: ${({ theme }) => theme.fontSizes[1]};\n`;\n\nconst DataListHeading = styled.h5`\n flex: 1 0 65%;\n padding: 0 ${({ theme }) => theme.space[2]};\n`;\n\nconst DataListValue = styled.div`\n flex: 1 0 35%;\n padding: 0 ${({ theme }) => theme.space[2]};\n`;\n\nconst MovementCell = styled.td`\n width: 16%;\n`;\n\nconst Rank = styled.td`\n width: 30%;\n font-weight: 800;\n`;\n\nconst Name = styled.td`\n width: 54%;\n overflow-wrap: break-word;\n hyphens: auto;\n`;\n\nconst linkToLeague = (l: ILeagueEntry) =>\n `/leagues/${l.id}/standings/${l.scoring}`;\n\nconst boldStyles = css`\n color: ${({ theme }) => theme.colors.primary};\n font-weight: bold;\n`;\n\nconst BoldText = styled.span`\n ${boldStyles}\n`;\n\nconst StyledLink = styled(Link)`\n ${boldStyles}\n`;\n\nconst StyledTdFixedWidth = styled.td`\n width: 33%;\n`;\ninterface ILeagueSummaryProps {\n title: React.ReactNode;\n leagues: ILeagueEntry[];\n}\n\ninterface IRowProps {\n leagueEntry: ILeagueEntry;\n}\n\nconst MovementHead = styled.th`\n width: 16%;\n`;\n\nconst RankHead = styled.th`\n width: 30%;\n`;\n\nconst NameHead = styled.th`\n width: 54%;\n`;\n\ninterface IPropsFromState {\n entry: IEntry | null;\n mine: Boolean;\n now: IEvent | null;\n privateClassicLeagues: ILeagueEntry[];\n privateH2HLeagues: ILeagueEntry[];\n publicClassicLeagues: ILeagueEntry[];\n publicH2HLeagues: ILeagueEntry[];\n systemClassicLeagues: ILeagueEntry[];\n teamsById: ITeamsById;\n totalPlayers: number;\n transfersState: ITransferState | null;\n privateClassicCupLeagues: ILeagueEntry[];\n publicClassicCupLeagues: ILeagueEntry[];\n systemClassicCupLeagues: ILeagueEntry[];\n}\n\ninterface IPropsFromDispatch {\n fetchEntrySummary: (entryId: number) => void;\n fetchMyTeam: () => void;\n fetchUrl: (url: string) => void;\n}\n\ninterface IOwnProps {\n entryId: number;\n}\n\ntype Props = IPropsFromState & IPropsFromDispatch & IOwnProps & WithTranslation;\n\nclass Entry extends React.Component {\n public componentDidMount() {\n if (this.props.mine && !this.props.transfersState) {\n this.props.fetchMyTeam();\n }\n if (!this.props.entry) {\n this.props.fetchEntrySummary(this.props.entryId);\n }\n }\n\n public render() {\n const {\n entry,\n privateClassicLeagues,\n publicClassicLeagues,\n privateH2HLeagues,\n publicH2HLeagues,\n systemClassicLeagues,\n totalPlayers,\n transfersState,\n mine = false,\n t,\n privateClassicCupLeagues,\n publicClassicCupLeagues,\n systemClassicCupLeagues,\n } = this.props;\n\n if (!entry) {\n return null;\n }\n // const kit = kitFromEntry(entry);\n\n // Split broadcaster leagues out from system classic leagues\n const broadcasterLeagues = getBroadcasterLeagues(systemClassicLeagues);\n const filteredSystemClassicLeagues = getFilteredSystemClassicLeagues(\n systemClassicLeagues,\n broadcasterLeagues\n );\n\n const hasCupLeagues =\n privateClassicCupLeagues.length > 0 ||\n publicClassicCupLeagues.length > 0 ||\n systemClassicCupLeagues.length > 0;\n\n // Split broadcaster cup leagues out from system classic cup leagues\n const broadcasterCupLeagues = getBroadcasterLeagues(\n systemClassicCupLeagues\n );\n const filteredSystemCupLeagues = getFilteredSystemClassicLeagues(\n systemClassicCupLeagues,\n broadcasterCupLeagues\n );\n const LeagueSummary: React.FC = ({\n leagues,\n title,\n }) => (\n
    \n \n \n \n \n \n \n \n \n {t(\"myTeam.leagueSummary.movement\", \"Movement\")}\n \n \n \n {t(\"myTeam.leagueSummary.rank\", \"Rank\")}\n \n \n {t(\"myTeam.leagueSummary.league\", \"League\")}\n \n \n \n \n {leagues.map((l) => (\n \n ))}\n \n \n
    \n );\n\n const LeagueSummaryRow: React.FC = ({ leagueEntry }) => (\n \n \n \n \n \n {leagueEntry.entry_rank\n ? leagueEntry.entry_rank.toLocaleString()\n : null}\n \n \n \n {leagueEntry.name}\n \n \n \n );\n\n return (\n \n \n \n {entry.player_first_name} {entry.player_last_name}\n \n\n \n {entry.name}\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {t(\"myTeam.overallPoints\", \"Overall Points\")}:\n {entry.summary_overall_points}\n
    {t(\"myTeam.overallRank\", \"Overall Rank\")}:\n \n {entry.summary_overall_rank &&\n entry.summary_overall_rank.toLocaleString()}\n \n
    {t(\"myTeam.totalPlayers\", \"Total Players\")}:\n {totalPlayers.toLocaleString()}\n
    {t(\"myTeam.roundPoints\", \"Round Points\")}:\n {entry.summary_event_points}\n
    \n
    \n \n \n {t(\"myTeam.viewRoundHistory\", \"View Round history\")}\n \n \n
    \n
    \n \n \n \n \n \n \n {broadcasterLeagues.length > 0 && (\n \n )}\n {privateClassicLeagues.length > 0 && (\n \n )}\n {privateH2HLeagues.length > 0 && (\n \n )}\n {publicClassicLeagues.length > 0 && (\n \n )}\n {publicH2HLeagues.length > 0 && (\n \n )}\n \n \n \n {hasCupLeagues ? (\n <>\n {privateClassicCupLeagues.length > 0 && (\n \n )}\n {publicClassicCupLeagues.length > 0 && (\n \n )}\n {filteredSystemCupLeagues.length > 0 && (\n \n )}\n {broadcasterCupLeagues.length > 0 && (\n \n )}\n \n ) : (\n \n

    \n {t(\n \"myTeam.none\",\n \"None of your leagues have a cup yet.\"\n )}\n

    \n
    \n )}\n
    \n
    \n
    \n
    \n
    \n\n \n \n \n\n {mine && transfersState && (\n \n \n \n \n \n \n \n \n \n {transfersState.made}\n \n \n \n \n \n \n {entry.last_deadline_total_transfers +\n transfersState.made}\n \n \n \n \n
    {t(\"myTeam.roundTransfers\", \"Round transfers\")}:
    {t(\"myTeam.totalTransfers\", \"Total transfers\")}:
    \n
    \n \n \n {t(\"myTeam.viewTransferHistory\", \"View transfer history\")}\n \n \n \n \n \n \n \n \n \n {integerToMoney(transfersState.value, 10)}\n \n \n \n \n \n \n \n {integerToMoney(transfersState.bank, 10)}\n \n \n \n \n
    {t(\"myTeam.squadValue\", \"Squad value\")}:
    {t(\"myTeam.inTheBank\", \"In the bank\")}:
    \n
    \n
    \n
    \n )}\n {!mine && (\n \n \n \n {t(\"myTeam.transfersAndFinance\", \"Transfers and Finance\")}{\" \"}\n *\n \n }\n />\n \n

    \n

      \n \n \n {t(\"myTeam.totalTransfers\", \"Total transfers\")}:\n \n \n {entry.last_deadline_total_transfers}\n \n \n
    \n
    \n \n \n {t(\"myTeam.viewTransferHistory\", \"View transfer history\")}\n \n \n \n
      \n \n \n {t(\"myTeam.squadValue\", \"Squad value\")}:\n \n \n {entry.last_deadline_value !== null &&\n entry.last_deadline_bank !== null\n ? `M SAR${integerToMoney(\n entry.last_deadline_value -\n entry.last_deadline_bank,\n 10\n )}`\n : \"-\"}\n \n \n \n \n {t(\"myTeam.inTheBank\", \"In the bank\")}:\n \n \n {entry.last_deadline_bank !== null\n ? `M SAR${integerToMoney(entry.last_deadline_bank, 10)}`\n : \"-\"}\n \n \n
    \n \n * Values at the last deadline\n \n
    \n
    \n
    \n )}\n {mine && (\n \n \n \n \n {mine && (\n \n \n }\n >\n {t(\"teamDetails\", \"Team details\")}\n \n \n \n \n )}\n \n \n \n )}\n
    \n );\n }\n}\n\nexport { Entry as EntryTest };\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: IOwnProps\n): IPropsFromState => {\n const player = getPlayerData(state);\n const entryId = ownProps.entryId;\n\n return {\n entry: getEntry(state, entryId),\n mine: Boolean(player && player.entry && player.entry === entryId),\n now: getCurrentEvent(state),\n privateClassicLeagues: getPrivateClassicLeaguesForEntry(state, entryId),\n privateClassicCupLeagues: getPrivateClassicCupLeaguesForEntry(\n state,\n entryId\n ),\n privateH2HLeagues: getPrivateH2HLeaguesForEntry(state, entryId),\n publicClassicLeagues: getPublicClassicLeaguesForEntry(state, entryId),\n publicH2HLeagues: getPublicH2HLeaguesForEntry(state, entryId),\n systemClassicLeagues: getSystemClassicLeaguesForEntry(state, entryId),\n teamsById: getTeamsById(state),\n transfersState: getTransferState(state),\n totalPlayers: getTotalPlayers(state),\n publicClassicCupLeagues: getPublicClassicCupLeaguesForEntry(state, entryId),\n systemClassicCupLeagues: getSystemClassicCupLeaguesForEntry(state, entryId),\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchEntrySummary: (entryId) => dispatch(fetchEntrySummary(entryId)),\n fetchMyTeam: () => dispatch(fetchMyTeam()),\n fetchUrl: (url) => dispatch(fetchURL(url)),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(Entry)\n);\n","import { ThunkResult } from \"..\";\nimport { apiGet } from \"../../utils/api\";\nimport * as actions from \"./actions\";\nimport { IURLResponse } from \"./types\";\n\nexport const fetchURL =\n (url: string): ThunkResult> =>\n async (dispatch) => {\n // We should do some rate limiting here and don't fetch if we have received\n // the url data in the last 60(?) seconds\n // Another enhancement is to handle the 'empty' response, trying again\n // after 3(?) seconds could be a solution.\n try {\n await apiGet(\n `get-url/?url=${url}`,\n dispatch,\n actions.fetchURL,\n { url }\n );\n } catch (e) {\n return;\n }\n };\n","import { RouteComponentProps } from \"@reach/router\";\nimport React, { useEffect } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState } from \"../core/store\";\nimport {\n getEntry,\n getEntryChipHistory,\n getEntryEventHistory,\n getEntrySeasonHistory,\n} from \"../core/store/entries/reducers\";\nimport {\n fetchEntryHistory,\n fetchEntrySummary,\n} from \"../core/store/entries/thunks\";\nimport { formatRawAsLocalI18n } from \"../core/utils/datetime\";\nimport { integerToMoney } from \"../core/utils/money\";\nimport { dateLocales } from \"../i18n\";\nimport { ChipName, getChipName } from \"../utils/chips\";\nimport Entry from \"./Entry\";\nimport { Main, Secondary, Wrapper } from \"./Layout\";\nimport Link from \"./Link\";\nimport Panel from \"./Panel\";\nimport SubHeading from \"./SubHeading\";\nimport Table, { ScrollTable } from \"./Table\";\nimport Title from \"./Title\";\nimport Movement from \"./leagues/Movement\";\n\ntype OwnProps = RouteComponentProps<{ entryId: string }>;\n\ntype Props = OwnProps & WithTranslation;\n\nconst EntryHistory: React.FC = ({ entryId, i18n, t }) => {\n const dispatch = useDispatch();\n\n const chipHistory = useSelector((state: RootState) =>\n getEntryChipHistory(state, Number(entryId))\n );\n const entry = useSelector((state: RootState) =>\n getEntry(state, Number(entryId))\n );\n const eventHistory = useSelector((state: RootState) =>\n getEntryEventHistory(state, Number(entryId))\n );\n\n const seasonHistory = useSelector((state: RootState) =>\n getEntrySeasonHistory(state, Number(entryId))\n );\n\n useEffect(() => {\n dispatch(fetchEntryHistory(Number(entryId)));\n dispatch(fetchEntrySummary(Number(entryId)));\n }, [dispatch, entryId]);\n\n const movementFromIndex = (index: number): React.ReactNode => {\n const thisRank = eventHistory[index].overall_rank;\n const lastRank = index === 0 ? null : eventHistory[index - 1].overall_rank;\n return ;\n };\n\n if (!entry) {\n return null;\n }\n return (\n \n
    \n \n {t(\"entryHistory.title\", \"Entry History\")}\n \n\n \n \n \n {t(\"entryHistory.thisSeason\", \"This Season\")}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {eventHistory.map((eh, i) => (\n \n \n \n \n \n \n \n \n \n \n \n \n ))}\n \n
    RDGPPBGRTMTCOPORM SAR#
    \n \n RD{eh.event}\n \n {eh.points}{eh.points_on_bench}{eh.rank ? eh.rank.toLocaleString() : \"-\"}{eh.event_transfers}{eh.event_transfers_cost}{eh.total_points}\n {eh.overall_rank\n ? eh.overall_rank.toLocaleString()\n : \"-\"}\n {integerToMoney(eh.value, 10)}{movementFromIndex(i)}
    \n
    \n
    \n
    \n\n \n \n {t(\"entryHistory.chips\", \"Chips\")}\n \n \n \n \n \n \n \n \n \n \n \n {chipHistory.map((ch, i) => (\n \n \n \n \n \n ))}\n \n
    {t(\"entryHistory.date\", \"Date\")}{t(\"entryHistory.name\", \"Name\")}{t(\"entryHistory.active\", \"Active\")}
    \n {formatRawAsLocalI18n(\n ch.time,\n dateLocales[i18n.language]\n )}\n {getChipName(ch.name as ChipName, t)}\n \n RD{ch.event}\n \n
    \n
    \n
    \n\n \n \n \n {t(\"entryHistory.previousSeasons\", \"Previous Seasons\")}\n \n \n \n \n \n \n \n \n \n \n \n \n {seasonHistory.map((sh) => (\n \n \n \n \n \n ))}\n \n
    {t(\"entryHistory.season\", \"Season\")}{t(\"entryHistory.points\", \"Points\")}{t(\"entryHistory.Rank\", \"Rank\")}
    {sh.season_name}{sh.total_points}{sh.rank}
    \n
    \n
    \n
    \n \n \n \n
    \n );\n};\n\nexport { EntryHistory as EntryHistoryTest };\n\nexport default withTranslation()(EntryHistory);\n","import { RouteComponentProps } from \"@reach/router\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch } from \"react-redux\";\nimport { Box } from \"rebass\";\nimport { ThunkDispatch } from \"../core/store\";\nimport { unsubscribeEntry } from \"../core/store/entries/thunks\";\nimport Button from \"./Button\";\nimport Copy from \"./Copy\";\nimport { Main, Wrapper } from \"./Layout\";\nimport Title from \"./Title\";\n\ntype OwnProps = RouteComponentProps<{ signature: string }>;\n\nconst EntryUnsubscribe: React.FC = ({ signature }) => {\n const { t } = useTranslation();\n const reduxDispatch = useDispatch();\n\n const [unsubscribeState, setUnsubscribeState] =\n React.useState<\"pre\" | \"ok\" | \"bad\">(\"pre\");\n\n const doUnsubscribe = () => {\n reduxDispatch(unsubscribeEntry(signature!))\n .then(() => setUnsubscribeState(\"ok\"))\n .catch(() => setUnsubscribeState(\"bad\"));\n };\n\n const body = {\n pre: (\n <>\n

    \n {t(\n \"entryUnsubscribe.Explain\",\n \"Unsubscribe from all emails about your Fantasy RSL team.\"\n )}\n

    \n {\n \n }\n \n ),\n bad: (\n

    \n {t(\n \"entryUnsubscribe.bad\",\n \"There was a problem with the newsletter unsubscribe. Please try again or contact fantasy@...... .\"\n )}\n

    \n ),\n ok: (\n

    \n {t(\n \"entryUnsubscribe.ok\",\n \"You have successfully unsubscribed from the newsletter.\"\n )}\n

    \n ),\n };\n\n return (\n \n
    \n \n {t(\"entryUnsubscribe.Title\", \"Unsubscribe\")}\n \n {body[unsubscribeState]}\n
    \n
    \n );\n};\n\nexport default EntryUnsubscribe;\n","import { useState } from \"react\";\n\nexport function useFormHook(initialStateObject: T) {\n const [formState, updateFormState] = useState(initialStateObject);\n\n // event handler\n const updateState = (event: React.FormEvent) => {\n const { id, value } = event.currentTarget;\n const newFormState = {\n ...formState,\n [id]: value,\n };\n updateFormState(newFormState);\n };\n\n const updateCheckboxState = (event: React.FormEvent) => {\n const { id, checked } = event.currentTarget;\n const newFormState = {\n ...formState,\n [id]: checked,\n };\n updateFormState(newFormState);\n };\n\n // color change handler\n const updateColorState = (name: string, hex: string) => {\n const newFormState = {\n ...formState,\n [name]: hex,\n };\n updateFormState(newFormState);\n };\n\n const updateSelectState = (event: React.ChangeEvent) => {\n const { id, value } = event.currentTarget;\n const newFormState = {\n ...formState,\n [id]: value,\n };\n updateFormState(newFormState);\n };\n\n return [\n formState,\n updateState,\n updateCheckboxState,\n updateColorState,\n updateSelectState,\n ] as [\n typeof formState,\n typeof updateState,\n typeof updateCheckboxState,\n typeof updateColorState,\n typeof updateSelectState\n ];\n}\n\nexport default useFormHook;\n","export const FetchAPI = async (\n uri: string,\n data: Record,\n method: string\n) => {\n await fetch(`/api/${uri}`, {\n method,\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(data),\n });\n};\n\nexport const FetchPost = async (uri: string, data: Record) =>\n FetchAPI(uri, data, \"POST\");\n\nexport const FetchPut = async (uri: string, data: Record) =>\n FetchAPI(uri, data, \"PUT\");\n","import { navigate } from \"@reach/router\";\nimport { useTranslation } from \"react-i18next\";\nimport { Box } from \"rebass/styled-components\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { FetchPost } from \"./utils\";\n\nconst DeleteBox = () => {\n const { t } = useTranslation();\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n FetchPost(\"player/action-delete-send/\", { null: \"null\" }).then(() =>\n navigate(\"/player/verify-otp-delete\")\n );\n };\n\n return (\n \n \n

    \n \n {t(\n \"deleteBox.sendOtp.p1\",\n \"Would you like to delete your account?\"\n )}\n \n

    \n

    \n {t(\n \"deleteBox.sendOtp.p2\",\n \"To delete your account, we need to send a code to your registered email address.\"\n )}\n

    \n

    \n {t(\n \"deleteBox.sendOtp.p3\",\n \"Please note once you complete the deletion, there is no way of getting your account back.\"\n )}\n

    \n
    \n \n \n \n
    \n
    \n
    \n );\n};\n\nexport default DeleteBox;\n","import { navigate } from \"@reach/router\";\nimport React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components\";\nimport useFormHook from \"../core/hooks/useFormHook\";\nimport { RootState, ThunkDispatch } from \"../core/store\";\nimport { getEntry } from \"../core/store/entries/reducers\";\nimport { fetchEntrySummary, updateEntry } from \"../core/store/entries/thunks\";\nimport { IEntry, IUpdateEntryData } from \"../core/store/entries/types\";\nimport { getEvents } from \"../core/store/events/reducers\";\nimport { IEvent } from \"../core/store/events/types\";\nimport { getPlayerData } from \"../core/store/player/reducers\";\nimport { ILoggedInPlayer, IPlayer } from \"../core/store/player/types\";\nimport { getTeams } from \"../core/store/teams/reducers\";\nimport { ITeam } from \"../core/store/teams/types\";\nimport { formatRawAsLocalI18n } from \"../core/utils/datetime\";\nimport { dateLocales } from \"../i18n\";\nimport Button from \"./Button\";\nimport {\n CheckboxField,\n FieldWrap,\n InputField,\n SelectField,\n} from \"./FieldRenderers\";\nimport { Main, Wrapper } from \"./Layout\";\nimport SubHeading from \"./SubHeading\";\nimport Title from \"./Title\";\nimport DeleteAccountBox from \"./player/DeleteAccountBox\";\n\nconst StyledTitle = styled(Title)`\n font-size: ${({ theme }) => theme.fontSizes[7]};\n`;\n\nexport type ShirtValues = \"plain\" | \"stripes\" | \"hoops\";\n\nexport type SockValues = \"plain\" | \"hoops\";\n\nexport type SponsorValues =\n | \"none\"\n | \"pl-kicks\"\n | \"pl-primary-stars\"\n | \"rainbow-laces\"\n | \"sky-ocean-rescue\"\n | \"no-racism\";\n\ntype KitState = {\n \"ism-sponsor-logo\": SponsorValues;\n \"ism-shirt-style\": ShirtValues;\n \"ism-sock-style\": SockValues;\n \"ism-shirt-color\": string;\n \"ism-shirt-style-color\": string;\n \"ism-sleeve-color\": string;\n \"ism-short-color\": string;\n \"ism-sock-color\": string;\n \"ism-sock-style-color\": string;\n};\n\nexport type FormState = KitState & {\n \"ism-team-name\": string;\n \"ism-fav-club\": number;\n \"ism-least-fav-club\": number;\n \"ism-email\": boolean;\n \"ism-language\": string;\n};\n\nexport const initState = (entry: IEntry, player: IPlayer): FormState => ({\n \"ism-shirt-style\": \"plain\",\n \"ism-sponsor-logo\": \"none\",\n \"ism-sock-style\": \"plain\",\n \"ism-shirt-color\": \"#E1E1E1\",\n \"ism-sleeve-color\": \"#E1E1E1\",\n \"ism-short-color\": \"#E1E1E1\",\n \"ism-sock-color\": \"#E1E1E1\",\n \"ism-shirt-style-color\": \"#E1E1E1\",\n \"ism-sock-style-color\": \"#E1E1E1\",\n \"ism-team-name\": entry.name,\n \"ism-fav-club\": entry.favourite_team || -1,\n \"ism-least-fav-club\": entry.least_favourite_team || -1,\n \"ism-email\": player.entry_email ? true : false,\n \"ism-language\": player.entry_language || \"\",\n});\ntype Props = {\n entry: IEntry;\n player: IPlayer;\n events: IEvent[];\n teams: ITeam[];\n updateEntry: (data: IUpdateEntryData) => void;\n};\n\nconst EntryUpdate: React.FunctionComponent = ({\n entry,\n events,\n player,\n teams,\n updateEntry,\n}) => {\n const [\n formState,\n updateState,\n updateCheckboxState,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n updateColorState,\n updateSelectState,\n ] = useFormHook(initState(entry, player));\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n const fave = Number(formState[\"ism-fav-club\"]);\n const leastFave = Number(formState[\"ism-least-fav-club\"]);\n updateEntry({\n name: formState[\"ism-team-name\"],\n kit: \"\",\n favourite_team: fave === -1 ? null : fave,\n least_favourite_team: leastFave === -1 ? null : leastFave,\n email: formState[\"ism-email\"],\n language: formState[\"ism-language\"],\n });\n };\n // filterTeams\n const spl = teams\n .filter((team) => team.unavailable === false)\n .sort((a, b) => a.name.localeCompare(b.name));\n const { i18n, t } = useTranslation();\n const languages: { [key: string]: string } = {\n en: t(\"entryUpdate.languageEn\", \"English\"),\n ar: t(\"entryUpdate.languageAr\", \"Arabic\"),\n };\n return (\n \n
    \n \n
    \n \n \n {t(\"entryUpdate.myDetails\", \"My Details\")}\n \n \n \n \n {t(\"entryUpdate.teamDetails\", \"Team Details\")}\n \n \n \n \n \n \n

    \n {t(\n \"entryUpdate.p1\",\n \"Please think carefully before entering your team name. Teams with names that are deemed inappropriate or offensive may result in your account being deleted. Please refer to the Terms & Conditions of entry for more information.\"\n )}\n

    \n
    \n \n \n {t(\"entryUpdate.favouriteClubHeading\", \"Favourite Club\")}\n \n \n \n \n \n\n \n {spl.map((tm) => (\n \n {tm.name}\n \n ))}\n \n\n \n {t(\"createEntryDialog.none\", \"None\")}\n \n \n \n \n

    \n {t(\n \"entryUpdate.p2\",\n \"Choose your favourite RSL club if you would like to be entered into a supporters league. If you do not select an option before {{ firstRoundDeadline }}, you will not be entered into a supporters league.\",\n {\n firstRoundDeadline: formatRawAsLocalI18n(\n events[0].deadline_time,\n dateLocales[i18n.language]\n ),\n }\n )}\n

    \n
    \n \n \n {t(\"entryUpdate.leastfavouriteClubHeadingn\", \"Secondary Club\")}\n \n \n \n \n \n\n \n {spl.map((tm) => (\n \n {tm.name}\n \n ))}\n \n\n \n {t(\"createEntryDialog.none\", \"None\")}\n \n \n \n\n \n {t(\n \"entryUpdate.newsletter.title\",\n \"Subscribe To Email Newsletters\"\n )}\n \n \n \n \n \n \n {Object.keys(languages).map((key, index) => (\n \n {languages[key]}\n \n ))}\n \n \n \n \n \n
    \n
    \n \n
    \n
    \n );\n};\n\nexport { EntryUpdate as EntryUpdateTest };\n\nconst EntryUpdateFetcher = () => {\n const dispatch = useDispatch();\n\n const player = useSelector(getPlayerData) as ILoggedInPlayer;\n const entry = useSelector((state: RootState) =>\n getEntry(state, player.entry)\n );\n const events = useSelector(getEvents);\n const teams = useSelector(getTeams);\n\n const handleUpdateEntry = async (data: IUpdateEntryData) => {\n await dispatch(updateEntry(data))\n .then(() => navigate(\"/my-team\"))\n .catch(() => {});\n };\n\n useEffect(() => {\n dispatch(fetchEntrySummary(player.entry));\n }, [dispatch, player.entry]);\n\n return entry ? (\n \n ) : null;\n};\n\nexport default EntryUpdateFetcher;\n","import { ThunkResult } from \"..\";\nimport { apiGet } from \"../../utils/api\";\nimport * as actions from \"./actions\";\nimport {\n filterElements,\n getElementControls,\n getElements,\n getElementTypeFilterOptions,\n maxCostFromElements,\n} from \"./reducers\";\nimport { IElementControls } from \"./types\";\nimport { getWatched } from \"../player/reducers\";\n\nexport const updateElementControlsAndMaxCost =\n (controls: IElementControls): ThunkResult =>\n (dispatch, getState) => {\n const elements = getElements(getState());\n dispatch(\n actions.updateElementControls({\n ...controls,\n maxCost: maxCostFromElements(\n filterElements(elements, controls.filter, getWatched(getState()))\n ),\n })\n );\n };\n\nexport const updateElementTypeControl =\n (elementTypeId: number): ThunkResult =>\n (dispatch, getState) => {\n dispatch(\n updateElementControlsAndMaxCost({\n ...getElementControls(getState()),\n filter: getElementTypeFilterOptions(getState())[elementTypeId - 1]\n .value,\n })\n );\n };\n\nexport const getElementSummary =\n (elementId: number): ThunkResult =>\n async (dispatch) => {\n try {\n await apiGet(\n `element-summary/${elementId}/`,\n dispatch,\n actions.fetchElementSummary,\n { id: elementId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const showElementSummary =\n (elementId: number): ThunkResult =>\n async (dispatch) => {\n dispatch(actions.elementDialogShow(elementId));\n dispatch(getElementSummary(elementId));\n };\n\nexport const fetchEventLive =\n (eventId: number): ThunkResult =>\n async (dispatch) => {\n try {\n await apiGet(\n `event/${eventId}/live/`,\n dispatch,\n actions.fetchElementEventData,\n {\n id: eventId,\n }\n );\n } catch (e) {\n return;\n }\n };\n","import { createAsyncAction } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { IFixture, IFixtureAllStats } from \"./types\";\n\n// Action Creators\nexport const addFixturesForEvent = createAsyncAction(\n \"ADD_FIXTURES_EVENT_START\",\n \"ADD_FIXTURES_EVENT_SUCCESS\",\n \"ADD_FIXTURES_EVENT_FAILURE\"\n)();\n\nexport const addFixtures = createAsyncAction(\n \"ADD_FIXTURES_START\",\n \"ADD_FIXTURES_SUCCESS\",\n \"ADD_FIXTURES_FAILURE\"\n)();\n\nexport const addAllStatsForFixture = createAsyncAction(\n \"ADD_ALL_STATS_FOR_FIXTURE_START\",\n \"ADD_ALL_STATS_FOR_FIXTURE_SUCCESS\",\n \"ADD_ALL_STATS_FOR_FIXTURE_FAILURE\"\n)();\n","import { startOfDay } from \"date-fns\";\nimport { utcToZonedTime } from \"date-fns-tz\";\nimport { isEqual } from \"lodash\";\nimport { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport { IElement } from \"../elements/types\";\nimport { getNextEvent } from \"../events/reducers\";\nimport { getTeamsById } from \"../teams/reducers\";\nimport * as actions from \"./actions\";\nimport {\n FixturesByEvent,\n IFixture,\n IFixtureGroup,\n IFixturesForEventByTeam,\n IGroupedFixturesByEvent,\n IState,\n} from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n byEvent: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addFixturesForEvent.success):\n return {\n ...state,\n [action.payload.event]: action.payload.data,\n };\n case getType(actions.addFixtures.success): {\n const eventSlice: FixturesByEvent = {};\n action.payload.forEach((f) => {\n if (f.event) {\n if (!eventSlice[f.event]) {\n eventSlice[f.event] = [];\n }\n eventSlice[f.event].push(f);\n }\n });\n return {\n ...state,\n ...eventSlice,\n };\n }\n default:\n return state;\n }\n },\n allStatsById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addAllStatsForFixture.success):\n return {\n ...state,\n [action.payload.fixture]: action.payload.data,\n };\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getFixturesByEvent = (state: RootState) => state.fixtures.byEvent;\n\nexport const getGroupedFixturesByEvent = (state: RootState) => {\n const fixturesByEvent = getFixturesByEvent(state);\n const groupedFixturesByEvent: IGroupedFixturesByEvent = {};\n\n Object.keys(fixturesByEvent).forEach((eventId) => {\n const fixtures = fixturesByEvent[eventId];\n const groups: IFixtureGroup[] = [];\n let currentGroup: IFixtureGroup | null = null;\n fixtures.forEach((fixture: IFixture) => {\n if (fixture.kickoff_time) {\n const kickoffDate = new Date(fixture.kickoff_time);\n const fixtureDate = startOfDay(\n utcToZonedTime(\n kickoffDate,\n Intl.DateTimeFormat().resolvedOptions().timeZone\n )\n );\n if (currentGroup == null || !isEqual(fixtureDate, currentGroup.date)) {\n currentGroup = {\n date: fixtureDate,\n fixtures: [],\n };\n groups.push(currentGroup);\n }\n currentGroup.fixtures.push({ kickoffDate, ...fixture });\n }\n });\n groupedFixturesByEvent[eventId] = groups;\n });\n return groupedFixturesByEvent;\n};\n\nexport const getFixturesForEvent = (state: RootState, eventId: number) =>\n state.fixtures.byEvent[eventId] || [];\n\nexport const getFixturesForEventById = (state: RootState, eventId: number) => {\n const fixtures = getFixturesForEvent(state, eventId);\n if (!fixtures.length) {\n return null;\n }\n return fixtures.reduce((memo, f) => ({ ...memo, [f.id]: f }), {});\n};\n\nexport const getFixturesForEventByTeam = (\n state: RootState,\n eventId: number\n) => {\n const data: IFixturesForEventByTeam = Object.keys(getTeamsById(state)).reduce(\n (memo, id) => ({\n ...memo,\n [id]: [],\n }),\n {}\n );\n getFixturesForEvent(state, eventId).forEach((f) => {\n data[f.team_h].push(f);\n data[f.team_a].push(f);\n });\n return data;\n};\n\nexport const getFixturesForNextEventByTeam = (state: RootState) => {\n const nextEvent = getNextEvent(state);\n return getFixturesForEventByTeam(state, nextEvent ? nextEvent.id : 0);\n};\n\nexport const getElementFixtureOpponent = createSelector(\n [\n (state) => state.teams.byId,\n (_: RootState, element: IElement) => element,\n (_: RootState, __: IElement, fixture) => fixture,\n ],\n (teamsById, element, fixture) => {\n const isHome = element.team === fixture.team_h;\n const neutralIds: number[] = [];\n const suffix =\n neutralIds.indexOf(fixture.id) > -1 ? \"(N)\" : isHome ? \"(H)\" : \"(A)\";\n const oppTeam = isHome\n ? teamsById[fixture.team_a]\n : teamsById[fixture.team_h];\n return `${oppTeam.short_name} ${suffix}`;\n }\n);\n\nexport const getElementEventOpponents = (\n state: RootState,\n element: IElement,\n fixtures: IFixture[]\n) =>\n fixtures.map((f: IFixture) => getElementFixtureOpponent(state, element, f));\n\nexport const getAllStatsForFixture = (state: RootState, fixtureId: number) =>\n state.fixtures.allStatsById[fixtureId] || null;\n","import { ThunkResult } from \"..\";\nimport { apiGet } from \"../../utils/api\";\nimport * as actions from \"./actions\";\nimport { IFixture, IFixtureAllStats } from \"./types\";\n\nexport const fetchFixtures =\n (eventId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `fixtures/?event=${eventId}`,\n dispatch,\n actions.addFixturesForEvent,\n { event: eventId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchFixturesFuture =\n (): ThunkResult> => async (dispatch) => {\n try {\n await apiGet(\n `fixtures/?future=1`,\n dispatch,\n actions.addFixtures\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchFixtureAllStats =\n (fixtureId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `fixture/${fixtureId}/stats/`,\n dispatch,\n actions.addAllStatsForFixture,\n { fixture: fixtureId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchFixturesPhase =\n (phaseId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `fixtures/?phase=${phaseId}`,\n dispatch,\n actions.addFixtures\n );\n } catch (e) {\n return;\n }\n };\n","import * as React from \"react\";\nimport { ITeam } from \"../core/store/teams/types\";\nimport styled from \"styled-components/macro\";\n\nconst StyledBadge = styled.img`\n width: 100%;\n display: inline-block;\n vertical-align: middle;\n`;\n\nconst badgePath = `${process.env.PUBLIC_URL}/dist/img/badges`;\nconst prefix = \"badge_\";\n\ninterface IProps {\n isPresentation?: boolean;\n sizes: string;\n team: ITeam;\n}\n\nconst Badge: React.FC = ({ isPresentation, sizes, team }) => {\n const code = team.code || 0;\n const path = `${badgePath}/${prefix}${code}`;\n\n const imgProps = {\n alt: team.name,\n role: \"\",\n sizes,\n src: `${path}-50.png`,\n srcSet: `${path}-50.png 40w, ${path}-100.png 80w`,\n };\n\n if (isPresentation) {\n imgProps.alt = \"\";\n imgProps.role = \"presentation\";\n }\n\n return ;\n};\n\nexport default Badge;\n","import { formatInTimeZone } from \"date-fns-tz\";\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState } from \"../core/store\";\nimport { IGroupFixture } from \"../core/store/fixtures/types\";\nimport { getTeamsById } from \"../core/store/teams/reducers\";\nimport { ITeamsById } from \"../core/store/teams/types\";\nimport { formatRawAsISO } from \"../core/utils/datetime\";\nimport Badge from \"./Badge\";\n\nconst StyledFixture = styled.div`\n overflow: auto;\n border: ${({ theme }) => theme.borders[2]};\n border-radius: ${({ theme }) => theme.radii[1]};\n padding: 1px 0;\n background-color: ${({ theme }) => theme.colors.white};\n color: ${({ theme }) => theme.colors.primary};\n\n ${(props) =>\n props.isOpen &&\n css`\n padding: 0px;\n border: ${({ theme }) => theme.borders[3]};\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n `}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n position: relative;\n }\n`;\n\nconst Teams = styled.div`\n display: flex;\n margin: 0.7rem 0;\n align-items: center;\n`;\n\nconst Team = styled.div`\n flex: 1 1 calc(50% - (6.6rem / 2));\n text-align: start;\n`;\n\nconst TeamH = styled(Team)`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n text-align: end;\n`;\n\nconst TeamA = styled(Team)`\n display: flex;\n align-items: center;\n justify-content: flex-start;\n`;\n\nconst TeamName = styled.abbr`\n vertical-align: middle;\n font-family: ${({ theme }) => theme.fonts.impact};\n font-weight: bold;\n font-size: 18px;\n text-decoration: none;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n &:after {\n content: attr(title);\n }\n span {\n display: none;\n }\n }\n`;\n\nconst FixtureBadge = styled.div`\n display: inline-block;\n margin-inline-end: 0.6rem;\n margin-inline-start: 0.6rem;\n width: 40px;\n height: 40px;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n margin-inline-end: 0.8rem;\n margin-inline-start: 0.8rem;\n }\n`;\n\nconst FixtureKOTime = styled.time`\n flex: 1 0 6.6rem;\n display: inline-block;\n margin: 0 ${({ theme }) => `${theme.space[2]}`};\n padding: 1rem 1.6rem 0.8rem;\n border: ${({ theme }) => theme.borders[2]};\n border-radius: ${({ theme }) => theme.radii[0]};\n background-color: ${({ theme }) => theme.colors.white};\n font-family: ${({ theme }) => theme.fonts.impact};\n font-size: ${({ theme }) => theme.fontSizes[1]};\n font-weight: bold;\n color: ${({ theme }) => theme.colors.primary};\n line-height: 1.1;\n text-align: center;\n`;\n\nconst FixtureScore = styled.div`\n flex: 1 0 6.6rem;\n display: flex;\n padding: 0.4rem;\n background-color: ${({ theme }) => theme.colors.white};\n`;\n\nconst FixtureScoreTeam = styled.span`\n flex: 1;\n padding: 0.7rem 1rem;\n border-start-end-radius: ${({ theme }) => theme.radii[0]};\n border-end-end-radius: ${({ theme }) => theme.radii[0]};\n font-family: ${({ theme }) => theme.fonts.impact};\n font-size: 1.8rem;\n line-height: 1;\n text-align: center;\n color: ${({ theme }) => theme.colors.white};\n background-color: ${({ theme }) => theme.colors.primary};\n\n :first-child {\n border-inline-end: 2px solid white;\n border-end-start-radius: ${({ theme }) => theme.radii[0]};\n border-start-start-radius: ${({ theme }) => theme.radii[0]};\n }\n`;\n\ninterface IPropsFromState {\n teamsById: ITeamsById;\n}\n\ninterface IOwnProps {\n fixture: IGroupFixture;\n}\n\ninterface IStyledFixtureProps {\n isOpen?: boolean;\n}\n\ntype Props = IPropsFromState & IOwnProps & IStyledFixtureProps;\n\nconst Fixture: React.FC = ({ fixture, teamsById, isOpen }) => {\n return (\n \n \n \n \n {teamsById[fixture.team_h].short_name}\n \n \n \n \n \n {fixture.started && fixture.team_h_score !== null ? (\n \n {fixture.team_h_score}\n {fixture.team_a_score}\n \n ) : fixture.kickoff_time ? (\n \n {formatInTimeZone(\n fixture.kickoffDate,\n Intl.DateTimeFormat().resolvedOptions().timeZone,\n \"HH:mm\"\n )}\n \n ) : (\n -\n )}\n \n \n \n \n \n {teamsById[fixture.team_a].short_name}\n \n \n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n teamsById: getTeamsById(state),\n});\n\nexport default connect(mapStateToProps)(Fixture);\n","import styled from \"styled-components/macro\";\n\nexport const Pager = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nexport const EventPager = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nexport const PagerItem = styled.div`\n flex: 1;\n padding: 0 ${(props) => props.theme.space[2]};\n`;\n\nexport const PagerButton = styled.div`\n flex-basis: 49%;\n padding: 0 ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n flex-basis: 39%;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex-basis: 33%;\n }\n`;\n\nexport const PagerButtonNext = styled(PagerButton)`\n margin-inline-start: 0;\n`;\n\nexport const PagerHeading = styled.h3`\n flex-basis: 28%;\n font-size: 1.4rem;\n text-align: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n font-size: 2rem;\n\n margin: 5px;\n padding: 1.1rem 1rem;\n }\n`;\n\nexport const PagerItemNext = styled(PagerItem)`\n margin-inline-start: auto;\n text-align: end;\n`;\n","import { format } from \"date-fns\";\nimport * as React from \"react\";\nimport { Trans, WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport { ThunkDispatch } from \"../core/store\";\nimport { getElementStatsByIdentifier } from \"../core/store/element-stats/reducers\";\nimport { IElementStat } from \"../core/store/element-stats/types\";\nimport { getElementsById } from \"../core/store/elements/reducers\";\nimport { showElementSummary } from \"../core/store/elements/thunks\";\nimport { IElementsById } from \"../core/store/elements/types\";\nimport {\n getCurrentEvent,\n getEventsById,\n getNextEvent,\n} from \"../core/store/events/reducers\";\nimport { getGroupedFixturesByEvent } from \"../core/store/fixtures/reducers\";\nimport { fetchFixtures } from \"../core/store/fixtures/thunks\";\nimport { IFixtureStat, IFixtureStats } from \"../core/store/fixtures/types\";\n\nimport { useEffect, useState } from \"react\";\nimport { formatRawAsISO, formatRawAsLocalI18n } from \"../core/utils/datetime\";\nimport { dateLocales } from \"../i18n\";\nimport Button from \"./Button\";\nimport Fixture from \"./Fixture\";\nimport { Pager, PagerButton, PagerButtonNext } from \"./Pager\";\nimport { ArrowHyphen } from \"./icons/Arrows\";\n\nconst Deadline = styled.h2`\n margin: ${({ theme }) => theme.space[2]};\n font-size: ${({ theme }) => theme.fontSizes[3]};\n text-align: center;\n font-family: ${({ theme }) => theme.fonts.impact};\n text-transform: uppercase;\n font-weight: 600;\n`;\n\nconst Heading = styled.h3`\n margin: ${({ theme }) => theme.space[2]};\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme }) => theme.colors.primary};\n font-size: 2.4rem;\n font-family: ${({ theme }) => theme.fonts.impact};\n`;\n\nconst Note = styled.p`\n color: #6c6c6c;\n text-align: center;\n`;\n\nconst FixtureDay = styled.h4`\n margin: 0;\n padding: ${({ theme }) => `${theme.space[1]} ${theme.space[2]}`};\n font-size: ${({ theme }) => theme.fontSizes[1]};\n text-align: center;\n`;\n\nconst FixtureTime = styled.time`\n font-weight: bold;\n color: ${({ theme }) => theme.colors.primary};\n`;\n\nconst FixtureList = styled.ul`\n margin: 0;\n padding: 0;\n font-size: 1.1rem;\n list-style: none;\n`;\n\nconst FixtureItem = styled.li`\n margin-bottom: ${({ theme }) => theme.space[2]};\n padding: 0;\n font-size: 1.1rem;\n list-style: none;\n`;\n\nconst FixtureButton = styled.button`\n width: 100%;\n padding: 0;\n border: 0;\n background-color: transparent;\n text-align: start;\n cursor: pointer;\n\n ${(props) =>\n props.isOpen &&\n css`\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n `}\n`;\n\nconst FixtureStatsWrap = styled.div`\n display: ${(props) => (props.isOpen ? \"block\" : \"none\")};\n border-top: 2px solid ${({ theme }) => theme.colors.whiteGrey};\n border-end-start-radius: ${({ theme }) => theme.radii[2]};\n border-end-end-radius: ${({ theme }) => theme.radii[2]};\n padding: ${({ theme }) => `${theme.space[2]} 5%`};\n background-color: ${({ theme }) => theme.colors.whiteGrey};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[0]}) {\n padding-inline-end: 15%;\n padding-inline-start: 15%;\n }\n`;\n\nconst FixtureStatsOuterList = styled.ul`\n list-style: none;\n padding: 0;\n`;\n\nconst FixtureStat = styled.li`\n margin-bottom: ${({ theme }) => theme.space[4]};\n border-end-start-radius: ${({ theme }) => theme.radii[1]};\n border-end-end-radius: ${({ theme }) => theme.radii[1]};\n background-color: white;\n`;\n\nconst FixtureStatHeading = styled.h5`\n margin: 0;\n padding: ${({ theme }) => `${theme.space[1]} ${theme.space[2]}`};\n border-end-start-radius: ${({ theme }) => theme.radii[0]};\n border-end-end-radius: ${({ theme }) => theme.radii[0]};\n background-color: ${({ theme }) => theme.colors.primary};\n color: white;\n font-size: ${({ theme }) => theme.fontSizes[0]};\n text-align: center;\n`;\n\nconst FixtureStatBody = styled.div`\n display: flex;\n padding-top: ${({ theme }) => theme.space[2]};\n padding-bottom: ${({ theme }) => theme.space[2]};\n border-end-start-radius: ${({ theme }) => theme.radii[1]};\n border-end-end-radius: ${({ theme }) => theme.radii[1]};\n`;\n\nconst FixtureStatList = styled.ul`\n flex: 1;\n padding-inline-end: ${({ theme }) => theme.space[2]};\n padding-inline-start: ${({ theme }) => theme.space[2]};\n\n :first-child {\n border-inline-end: 1px dotted ${({ theme }) => theme.colors.blue};\n text-align: end;\n }\n`;\n\nconst FixtureStatItem = styled.li`\n padding-top: ${({ theme }) => theme.space[1]};\n padding-bottom: ${({ theme }) => theme.space[1]};\n border-bottom: 1px solid ${({ theme }) => theme.colors.whiteGrey};\n font-size: ${({ theme }) => theme.fontSizes[2]};\n list-style: none;\n\n :last-child {\n border-bottom: 0;\n }\n`;\n\nconst ElementButton = styled.button`\n background-color: transparent;\n padding: 0;\n border: 0;\n color: ${({ theme }) => theme.colors.black};\n font-size: ${({ theme }) => theme.fontSizes[2]};\n\n :hover {\n text-decoration: underline;\n cursor: pointer;\n }\n`;\n\ninterface IFixtureStatsForTeamProps {\n elementsById: IElementsById;\n showElementDialog: (elementId: number) => void;\n stats: IFixtureStat[];\n}\n\nconst FixtureStatsForTeam: React.FC = ({\n elementsById,\n showElementDialog,\n stats,\n}) => (\n \n {stats\n .filter((fs) => elementsById[fs.element])\n .map((fs) => (\n \n showElementDialog(fs.element)}>\n {elementsById[fs.element].web_name}\n {\" \"}\n ({fs.value})\n \n ))}\n \n);\n\ninterface IFixtureStatsProps {\n elementsById: IElementsById;\n showElementDialog: (elementId: number) => void;\n stats: IFixtureStats[];\n statsByIdentifier: Record;\n}\n\ninterface IStyledFixtureStatsProps {\n isOpen?: boolean;\n}\n\ntype FixtureStatProps = IFixtureStatsProps & IStyledFixtureStatsProps;\n\nconst FixtureStats: React.FC = ({\n elementsById,\n isOpen = false,\n showElementDialog,\n stats,\n statsByIdentifier,\n}) => {\n // Our render stats should contain only stats with data and a maximum\n // of 5 per team of BPS\n const renderStats = stats\n .filter((stat) => stat.h.length || stat.a.length)\n .map((stat) =>\n stat.identifier === \"bps\"\n ? {\n identifier: stat.identifier,\n h: stat.h.slice(0, 5),\n a: stat.a.slice(0, 5),\n }\n : stat\n );\n return (\n \n \n {renderStats.map((stat) => (\n \n \n {statsByIdentifier[stat.identifier].label}\n \n \n \n \n \n \n ))}\n \n \n );\n};\n\ninterface IOwnProps {\n eventId?: number;\n useLinks?: boolean;\n}\n\ntype Props = IOwnProps & WithTranslation;\ndeclare global {\n interface Window {\n postscribe: any;\n }\n}\n\nconst Fixtures: React.FC = ({\n eventId: initialEventId,\n i18n,\n t,\n useLinks,\n}) => {\n const dispatch = useDispatch();\n\n const currentEvent = useSelector(getCurrentEvent);\n const elementsById = useSelector(getElementsById);\n const eventsById = useSelector(getEventsById);\n const groupedFixturesByEvent = useSelector(getGroupedFixturesByEvent);\n const nextEvent = useSelector(getNextEvent);\n const statsByIdentifier = useSelector(getElementStatsByIdentifier);\n\n const [isOpen, setIsOpen] = useState>({});\n const [eventId, setEventId] = useState(() => {\n if (initialEventId) {\n return initialEventId;\n } else if (nextEvent) {\n return nextEvent.id;\n } else if (currentEvent) {\n return currentEvent.id;\n }\n return 0;\n });\n\n useEffect(() => {\n dispatch(fetchFixtures(eventId));\n }, [dispatch, eventId]);\n\n const showElementDialog = (elementId: number) =>\n dispatch(showElementSummary(elementId));\n\n const changeEvent = (newEventId: number) => {\n setEventId(newEventId);\n dispatch(fetchFixtures(newEventId));\n };\n\n const toggle = (fixtureId: number) => {\n setIsOpen((prevState) => ({\n ...prevState,\n [fixtureId]: !prevState[fixtureId],\n }));\n };\n\n const event = eventsById[eventId];\n if (!event) {\n return null;\n }\n\n const eventFixtureGroups = groupedFixturesByEvent[eventId] || [];\n return (\n
    \n
    \n \n {event.name} -{\" \"}\n \n \n \n {t(\"fixtures.title\", \"Fixtures\")}\n \n
    \n \n {eventsById[eventId - 1] && (\n \n {useLinks ? (\n changeEvent(eventId - 1)}\n variant=\"secondary\"\n textTransform=\"upperCase\"\n justifyContent=\"flexStart\"\n startIcon={}\n >\n {t(\"fixtures.previous\", \"Previous\")}\n \n ) : (\n changeEvent(eventId - 1)}\n variant=\"secondary\"\n justifyContent=\"flexStart\"\n textTransform=\"upperCase\"\n startIcon={}\n >\n {t(\"fixtures.previous\", \"Previous\")}\n \n )}\n \n )}\n {eventsById[eventId + 1] && (\n \n {useLinks ? (\n changeEvent(eventId + 1)}\n variant=\"secondary\"\n textTransform=\"upperCase\"\n justifyContent=\"flexEnd\"\n endIcon={}\n >\n {t(\"fixtures.next\", \"Next\")}\n \n ) : (\n changeEvent(eventId + 1)}\n disabled={!eventsById[eventId + 1]}\n variant=\"secondary\"\n textTransform=\"upperCase\"\n justifyContent=\"flexEnd\"\n endIcon={}\n >\n {t(\"fixtures.next\", \"Next\")}\n \n )}\n \n )}\n \n
    \n
    \n \n \n \n All times are shown in your local time\n \n \n \n {eventFixtureGroups.map((group) => (\n \n \n \n {format(group.date, \"EEEE d MMMM yyyy\")}\n \n \n \n {group.fixtures.map((f) => (\n \n {f.started && f.team_h_score !== null ? (\n \n toggle(f.id)}\n isOpen={isOpen[f.id]}\n >\n \n \n \n \n ) : (\n \n \n \n )}\n \n ))}\n \n \n ))}\n
    \n );\n};\n\nexport { Fixtures as FixturesTest };\n\nexport default withTranslation()(Fixtures);\n","import { RouteComponentProps } from \"@reach/router\";\nimport React from \"react\";\nimport Fixtures from \"./Fixtures\";\nimport { Main, Wrapper } from \"./Layout\";\n\nconst FixturesWrapper: React.FC> = ({\n eventId = 0,\n}) => (\n \n
    \n \n
    \n
    \n);\n\nexport default FixturesWrapper;\n","export default __webpack_public_path__ + \"static/media/step-1@1x.2bf43e81.jpg\";","export default __webpack_public_path__ + \"static/media/step-1@2x.c4e1e9f4.jpg\";","export default __webpack_public_path__ + \"static/media/step-2@1x.1d41228e.jpg\";","export default __webpack_public_path__ + \"static/media/step-2@2x.301ef9b2.jpg\";","import { useContext } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components\";\nimport { getIsWebView } from \"../utils/webView\";\nimport { KeyCloakContext } from \"./App\";\nimport Button from \"./Button\";\n\nconst PromoText = styled.p`\n color: ${({ theme }) => theme.colors.white};\n`;\nexport const KeycloakLoginLinks = () => {\n const { t } = useTranslation();\n\n const {\n urls: { loginUrl, registerUrl },\n } = useContext(KeyCloakContext);\n if (getIsWebView()) {\n return null;\n }\n if (!loginUrl || !registerUrl) {\n return null;\n }\n return (\n <>\n \n \n \n \n {t(\"login.orn\", \"Or\")}\n \n \n \n \n \n );\n};\n","import React, { useContext } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { connect, ConnectedProps } from \"react-redux\";\nimport { Box, Flex } from \"rebass/styled-components\";\nimport styled from \"styled-components\";\nimport { RootState } from \"../core/store\";\nimport { getLoginError, getPlayerData } from \"../core/store/player/reducers\";\nimport { getIsWebView } from \"../utils/webView\";\nimport Alert from \"./Alert\";\nimport { KeyCloakContext } from \"./App\";\nimport Copy from \"./Copy\";\nimport { KeycloakLoginLinks } from \"./KeycloakLoginLinks\";\n\nconst Promo = styled.div`\n margin: ${({ theme }) => `0 ${theme.space[4]} 6rem ${theme.space[4]} `};\n padding: ${({ theme }) => theme.space[2]};\n border-radius: ${({ theme }) => theme.radii[2]};\n background-color: ${({ theme }) => theme.colors.primary};\n text-align: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n display: flex;\n align-items: flex-end;\n justify-content: space-between;\n align-items: center;\n padding: 3rem;\n text-align: start;\n }\n`;\n\nconst PromoLeft = styled.div`\n margin: ${({ theme }) => theme.space[4]} 0;\n text-align: inherit;\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex: 0 0 calc(70% - 1rem);\n margin: 0;\n padding-inline-end: ${({ theme }) => theme.space[4]};\n }\n`;\n\nconst PromoRight = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex: 0 0 calc(30% - 1rem);\n align-self: center;\n > a {\n text-transform: capitalize;\n }\n }\n`;\n\nconst PromoHeading = styled.h3`\n margin: 0;\n font-size: 2.1rem;\n font-family: ${({ theme }) => theme.fonts.impact};\n color: ${({ theme }) => theme.colors.green};\n`;\n\nconst PromoText = styled.p`\n color: ${({ theme }) => theme.colors.white};\n`;\n\nconst mapState = (state: RootState) => ({\n player: getPlayerData(state),\n error: getLoginError(state),\n});\n\nconst connector = connect(mapState);\n\ntype PropsFromRedux = ConnectedProps;\nconst LOGIN_ERROR = \"kc_loginError\";\nconst userError = localStorage.getItem(LOGIN_ERROR);\n\nconst Login: React.FC = ({ error, player }) => {\n const { t } = useTranslation();\n const {\n urls: { logoutUrlNoEntry },\n } = useContext(KeyCloakContext);\n if (error) {\n return (\n \n \n {t(\"login.incorrectDetails\", \"Incorrect login details\")}\n \n \n );\n }\n if (player && player.id) {\n return (\n \n \n

    \n {t(\n \"login.loggedInAs\",\n \"You are logged in as {{firstName}} {{lastName}}\",\n {\n firstName: player.first_name,\n lastName: player.last_name,\n }\n )}\n

    \n
    \n
    \n );\n }\n\n return (\n <>\n {userError && logoutUrlNoEntry && (\n \n \n
    \n {t(\n \"login.error\",\n \"There was a problem with your account, please contact the support team\"\n )}\n
    \n {logoutUrlNoEntry && !getIsWebView() && (\n
    \n \n Please logout and try again.\n \n
    \n )}\n
    \n
    \n )}\n \n \n \n \n \n {t(\"login.promo.heading\", \"Play RSL Fantasy\")}\n \n \n \n \n {t(\n \"login.promo.paragraph\",\n \"Who really is the best at RSL? Challenge your friends in Fantasy RSL and have the chance to win both honour and great prizes every round!\"\n )}\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default connector(Login);\n","import { Link } from \"@reach/router\";\nimport { ellipsis } from \"polished\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { IElementsById } from \"../../core/store/elements/types\";\nimport { getEntry } from \"../../core/store/entries/reducers\";\nimport { fetchEntrySummary } from \"../../core/store/entries/thunks\";\nimport { IEntry } from \"../../core/store/entries/types\";\nimport { getCurrentEvent } from \"../../core/store/events/reducers\";\nimport { IEvent } from \"../../core/store/events/types\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { IPlayer } from \"../../core/store/player/types\";\nimport { ControlArrowRight } from \"../icons/Arrows\";\n\nconst StyledEventInfo = styled.div`\n margin-bottom: 2rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n margin-top: 4rem;\n }\n`;\n\nconst InfoList = styled.ul`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 0.75rem;\n padding: 0 10px;\n`;\n\nconst InfoItem = styled.li`\n flex: 1 0 33.3%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 106px;\n padding: 15px 10px 10px 10px;\n border: ${({ theme }) => theme.borders[4]};\n border-radius: ${({ theme }) => theme.radii[2]};\n list-style-type: none;\n background-color: ${({ theme }) => theme.colors.white};\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n flex: 1;\n height: auto;\n }\n`;\n\nconst ItemHeading = styled.h4`\n margin: 0;\n padding: 0.5rem;\n font-weight: normal;\n color: ${({ theme }) => theme.colors.primary};\n`;\n\nconst ItemValueStat = styled.div`\n ${ellipsis()};\n font-size: 1.8rem;\n padding-bottom: 1.5rem;\n color: ${({ theme }) => theme.colors.blue};\n`;\n\nconst ItemValueScore = styled.div`\n ${ellipsis()};\n font-size: 4rem;\n color: ${({ theme }) => theme.colors.blue};\n`;\n\nconst ArrowLink = styled(Link)`\n text-decoration: none;\n color: ${({ theme }) => theme.colors.blue};\n\n :hover {\n text-decoration: underline;\n }\n`;\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n entry: IEntry | null;\n now: IEvent | null;\n player: IPlayer;\n}\n\ninterface IPropsFromDispatch {\n fetchEntrySummary: (entryId: number) => void;\n}\n\ntype Props = IPropsFromState & IPropsFromDispatch;\n\nconst EventInfo: React.FC = ({ elementsById, entry, now, player }) => {\n const { t } = useTranslation();\n\n if (!now || !entry) {\n return null;\n }\n const matches = now.chip_plays.filter((cp) => cp.chip_name === \"wildcard\");\n const wildcards = matches.length ? matches[0].num_played : \"-\";\n return (\n \n \n {entry.started_event <= now.id && (\n \n {t(\"eventInfo.yourScore\", \"Your score\")}\n \n \n {entry.summary_event_points}\n \n \n \n \n )}\n \n \n {t(\"eventInfo.averageScore\", \"Average score\")}\n \n {now.average_entry_score || \"-\"}\n \n \n \n {t(\"eventInfo.highestScore\", \"Highest score\")}\n \n \n {now.highest_scoring_entry ? (\n \n {now.highest_score}\n \n \n ) : (\n \"-\"\n )}\n \n \n {now.id > 1 && (\n \n \n {t(\"eventInfo.transfersMade\", \"Transfers Made\")}\n \n \n {now.transfers_made ? now.transfers_made.toLocaleString() : \"-\"}\n \n \n )}\n \n \n {t(\"eventInfo.wildcardsPlayed\", \"Wildcards Played\")}\n \n \n {wildcards === null ? \"-\" : wildcards.toLocaleString()}\n \n \n \n \n {t(\"eventInfo.mostCaptained\", \"Most Captained\")}\n \n \n {now.most_captained\n ? elementsById[now.most_captained].web_name\n : \"-\"}\n \n \n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => {\n const player = getPlayerData(state) as IPlayer;\n const entryId = player.entry || 0;\n const now = getCurrentEvent(state) as IEvent;\n return {\n elementsById: getElementsById(state),\n entry: getEntry(state, entryId),\n now,\n player,\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchEntrySummary: (entryId) => dispatch(fetchEntrySummary(entryId)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(EventInfo);\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { getCurrentEvent } from \"../../core/store/events/reducers\";\n\nconst StatusBar = styled.div`\n padding: ${({ theme }) => theme.space[2]};\n border-radius: 0;\n background-color: ${(props) =>\n props.isFinished ? props.theme.colors.error : props.theme.colors.green};\n font-family: ${({ theme }) => theme.fonts.impact};\n font-size: ${({ theme }) => theme.fontSizes[5]};\n font-weight: bold;\n color: ${(props) =>\n props.isFinished ? props.theme.colors.white : props.theme.colors.primary};\n text-align: center;\n line-height: 1.3;\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n border-radius: ${({ theme }) => theme.radii[1]};\n }\n`;\ninterface IStatusBar {\n isFinished: boolean;\n}\n\nconst EventStatusBar: React.FC = () => {\n const { t } = useTranslation();\n const now = useSelector(getCurrentEvent);\n if (!now) {\n return null;\n }\n const eventStatus = now.finished\n ? t(\"statusBar.complete\", \"complete\")\n : t(\"statusBar.live\", \"live\");\n\n return (\n \n {t(\"statusBar.eventStatus\", \"Round is {{ isFinished }}\", {\n isFinished: eventStatus,\n })}\n \n );\n};\n\nexport default EventStatusBar;\n","import { Link } from \"@reach/router\";\nimport * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport { ControlArrowRight } from \"./icons/Arrows\";\n\nconst BoldLinkStyles = css`\n display: inline-flex;\n align-items: center;\n font-size: ${({ theme }) => theme.fontSizes[1]};\n color: ${({ theme }) => theme.colors.blue};\n text-decoration: none;\n text-transform: uppercase;\n font-weight: 600;\n ${(props) =>\n props.variant === \"light\" &&\n css`\n color: ${({ theme }) => theme.colors.white}; ;\n `}\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\nconst StyledBoldHyperlink = styled.a`\n ${BoldLinkStyles}\n`;\n\nconst StyledBoldLink = styled(Link)`\n ${BoldLinkStyles}\n`;\n\ninterface IBoldLinkStyleProps {\n variant?: string;\n}\ninterface IBoldLinkProps {\n children: React.ReactNode;\n to: string;\n}\n\ninterface IBoldHyperlinkProps {\n children: React.ReactNode;\n href: string;\n}\n\nexport const BoldHyperlink: React.FC = ({\n children,\n href,\n}) => (\n \n {children}\n \n \n);\n\ntype IProps = IBoldLinkStyleProps & IBoldLinkProps;\n\nconst BoldLink: React.FC = ({ children, to, variant }) => (\n \n {children}\n \n \n);\n\nexport default BoldLink;\n","var _circle, _circle2, _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgInfo(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 22,\n viewBox: \"0 0 21 22\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 10.5,\n cy: 11,\n r: 10,\n fill: \"#131924\",\n stroke: \"white\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 10.5,\n cy: 6,\n r: 1.5,\n fill: \"#ffffff\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 10C12 9.17157 11.3284 8.5 10.5 8.5C9.67157 8.5 9 9.17157 9 10V16C9 16.8284 9.67157 17.5 10.5 17.5C11.3284 17.5 12 16.8284 12 16V10Z\",\n fill: \"#ffffff\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgInfo);\nexport default __webpack_public_path__ + \"static/media/info.a759a23b.svg\";\nexport { ForwardRef as ReactComponent };","var _polygon, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgStatus(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"32px\",\n height: \"32px\",\n viewBox: \"0 0 32 32\",\n style: {\n enableBackground: \"new 0 0 32 32\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"icon_triangle_1_\",\n points: \"0,32 16,4 32,32 \"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"symbol_i\",\n fill: \"currentColor\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 13.5,\n y: 12.4,\n width: 5,\n height: 10.7\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 13.5,\n y: 25.6,\n width: 5,\n height: 3.8\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgStatus);\nexport default __webpack_public_path__ + \"static/media/status.5cee4a4d.svg\";\nexport { ForwardRef as ReactComponent };","import { size } from \"polished\";\nimport * as React from \"react\";\nimport styled from \"styled-components/macro\";\nimport { IElement } from \"../core/store/elements/types\";\nimport { ReactComponent as Info } from \"../img/icons/info.svg\";\nimport { ReactComponent as Status } from \"../img/icons/status.svg\";\n\nconst StyledInfo = styled(Info)`\n ${size(14)}\n display: block;\n margin: auto;\n\n .box {\n fill: ${({ theme }) => theme.colors.white};\n }\n\n .icon {\n fill: ${({ theme }) => theme.colors.blue};\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n ${size(16)}\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${size(20)}\n }\n`;\n\nconst StyledStatus = styled(Status)<{ copnr: number }>`\n ${size(14)}\n display: block;\n margin: auto;\n fill: ${(props) => props.theme.colors.elementStatus[props.copnr].bg};\n color: ${(props) => props.theme.colors.elementStatus[props.copnr].color};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n ${size(16)}\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${size(20)}\n }\n`;\n\ninterface IProps {\n element: IElement;\n}\n\nconst ElementStatus: React.FC = ({ element }) => {\n const copnr = element.chance_of_playing_next_round as number;\n return element.news ? : ;\n};\n\nexport default ElementStatus;\n","import * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../core/store\";\nimport { getElementsById } from \"../core/store/elements/reducers\";\nimport { showElementSummary } from \"../core/store/elements/thunks\";\nimport { IElementsById } from \"../core/store/elements/types\";\nimport ElementStatus from \"./ElementStatus\";\nimport { useTranslation } from \"react-i18next\";\n\nconst StyledElementDialogButton = styled.button`\n display: block;\n width: 100%;\n padding: 1.3rem 14%;\n border: 0;\n background-color: ${({ theme }) => theme.colors.white};\n line-height: 1;\n cursor: pointer;\n\n ${({ variant }) =>\n variant === \"pitch\" &&\n css`\n padding: 0;\n background-color: transparent;\n `}\n`;\n\ninterface IPropsFromDispatch {\n showElementDialog: (elementId: number) => void;\n}\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n}\n\ninterface IOwnProps {\n elementId: number;\n}\n\ninterface IStyledProps {\n variant?: \"list\" | \"pitch\";\n}\n\ntype Props = IPropsFromDispatch & IPropsFromState & IOwnProps & IStyledProps;\n\nconst ElementDialogButton: React.FC = ({\n elementId,\n elementsById,\n showElementDialog,\n variant = \"pitch\",\n}) => {\n const { t } = useTranslation();\n return (\n showElementDialog(elementId)}\n title={t(\"viewInfoTitle\", \"View player information\")}\n variant={variant}\n >\n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementsById: getElementsById(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n});\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ElementDialogButton);\n","import styled, { css } from \"styled-components/macro\";\nimport Table from \"./Table\";\nimport { SubStatus } from \"../core/store/my-team/types\";\nimport { rgba } from \"polished\";\n\ninterface IProps {\n elementType?: number;\n}\n\nexport const ElementTable = styled(Table)`\n width: 100%;\n white-space: nowrap;\n table-layout: fixed;\n background-color: white;\n border-collapse: collapse;\n\n th,\n td {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n\n thead th {\n border: 1px solid ${({ theme }) => theme.colors.primary};\n background-color: ${({ theme }) => theme.colors.primary};\n color: ${({ theme }) => theme.colors.white};\n }\n`;\n\nexport const PrimaryCell = styled.td`\n position: relative;\n text-align: center;\n`;\n\nexport const PrimaryCellLined = styled(PrimaryCell)`\n ::after {\n content: \"\";\n position: absolute;\n top: 1rem;\n left: 0;\n bottom: 1rem;\n display: block;\n width: 2px;\n background: ${({ theme }) => theme.colors.whiteGrey};\n }\n`;\n\ninterface IElementRowProps {\n variant?: SubStatus;\n}\n\nexport const ElementRow = styled.tr`\n td:first-child {\n padding: 0.2rem;\n }\n\n ${(props) =>\n props.variant === \"instigator\" &&\n css`\n background-color: ${rgba(\"yellow\", 0.6)};\n `}\n\n ${(props) =>\n props.variant === \"target\" &&\n css`\n background-color: ${rgba(\"#f60\", 0.6)};\n `}\n\n ${(props) =>\n props.variant === \"invalid\" &&\n css`\n opacity: 0.6;\n `}\n`;\n\ninterface IElementCellProps {\n bold?: boolean;\n}\n\nexport const ElementCell = styled.td`\n position: relative;\n`;\n","import React from \"react\";\nimport styled from \"styled-components/macro\";\n\nconst StyledPanel = styled.div`\n padding: ${({ theme }) => theme.space[1]};\n border: 1px solid ${({ theme }) => theme.colors.black};\n border-radius: ${({ theme }) => theme.radii[1]};\n background-color: ${({ theme }) => theme.colors.white};\n`;\n\nconst StyledPanelHeader = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: ${({ theme }) => theme.space[2]};\n border-radius: ${({ theme }) => `${theme.radii[1]} ${theme.radii[1]} 0 0`};\n background-color: ${({ theme }) => theme.colors.blue};\n`;\n\ninterface IPanelHeaderProps {\n children: React.ReactNode;\n link?: React.ReactNode;\n}\n\nconst StatusPanelHeader: React.FC = ({ children, link }) => (\n \n {children}\n {link}\n \n);\n\ninterface IPanelBodyProps {\n children: React.ReactNode;\n}\n\nconst StatusPanelBody: React.FC = ({ children }) => (\n
    {children}
    \n);\n\ninterface IPanelProps {\n children?: React.ReactNode;\n}\n\nconst StatusPanel = ({ children }: IPanelProps) => {\n return {children};\n};\n\nStatusPanel.Header = StatusPanelHeader;\nStatusPanel.Body = StatusPanelBody;\n\nexport default StatusPanel;\n","import React, { useEffect } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { getElementTypesById } from \"../../core/store/element-types/reducers\";\nimport {\n getElementControls,\n getElementsFromControls,\n} from \"../../core/store/elements/reducers\";\nimport { updateElementControlsAndMaxCost } from \"../../core/store/elements/thunks\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport BoldLink from \"../BoldLink\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementShirt from \"../ElementShirt\";\nimport { ElementRow, ElementTable, PrimaryCell } from \"../ElementTable\";\nimport SubHeading from \"../SubHeading\";\nimport { Ellipsis } from \"../Utils\";\nimport StatusPanel from \"./StatusPanel\";\n\nconst AvailabilityTable = styled(ElementTable)`\n th:not(:nth-child(3)) {\n text-align: center;\n }\n`;\n\nconst StatusCol = styled.th`\n width: 12%;\n`;\n\nconst ShirtCol = styled.th`\n width: 16%;\n`;\n\nconst PlayerCol = styled.th`\n width: 36%;\n`;\n\nconst PosCol = styled.th`\n width: 20%;\n`;\n\nconst ClubCol = styled.th`\n width: 20%;\n`;\n\nconst ShirtCell = styled.td`\n text-align: end;\n`;\n\ntype Props = WithTranslation;\n\nconst PlayerAvailability: React.FC = ({ t }) => {\n const dispatch = useDispatch();\n\n const controls = useSelector(getElementControls);\n const elements = useSelector(getElementsFromControls);\n const elementTypesById = useSelector(getElementTypesById);\n const teamsById = useSelector(getTeamsById);\n\n useEffect(() => {\n dispatch(\n updateElementControlsAndMaxCost({\n ...controls,\n filter: \"all\",\n sort: \"news_added\",\n search: \"\",\n })\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n {t(\"playerAvailability.more\", \"more\")}\n \n }\n >\n \n {t(\"playerAvailability.heading\", \"Player Availability\")}\n \n \n \n \n \n \n  \n  \n {t(\"playerAvailability.player\", \"Player\")}\n {t(\"playerAvailability.postitionShort\", \"Pos\")}\n {t(\"playerAvailability.club\", \"Club\")}\n \n \n \n {elements.data.slice(0, 16).map((e) => (\n \n \n \n \n \n \n \n \n {e.web_name}\n \n \n {elementTypesById[e.element_type].singular_name_short}\n \n {teamsById[e.team].short_name}\n \n ))}\n \n \n \n \n );\n};\n\nexport default withTranslation()(PlayerAvailability);\n","import { createAsyncAction } from \"typesafe-actions\";\nimport { IDreamTeamData } from \"./types\";\nimport { IError } from \"..\";\n\nexport const fetchOverallDreamTeam = createAsyncAction(\n \"FETCH_OVERALL_DREAM_TEAM_START\",\n \"FETCH_OVERALL_DREAM_TEAM_SUCCESS\",\n \"FETCH_OVERALL_DREAM_TEAM_FAILURE\"\n)();\n\nexport const fetchEventDreamTeam = createAsyncAction(\n \"FETCH_EVENT_DREAM_TEAM_START\",\n \"FETCH_EVENT_DREAM_TEAM_SUCCESS\",\n \"FETCH_EVENT_DREAM_TEAM_FAILURE\"\n)();\n","import { combineReducers } from \"redux\";\nimport { RootAction, RootState } from \"..\";\nimport { IState, IDreamTeamElement } from \"./types\";\nimport * as actions from \"./actions\";\nimport { getType } from \"typesafe-actions\";\nimport { getElementsById, getFormation } from \"../elements/reducers\";\n\n// State Reducer\nexport default combineReducers({\n byEventId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEventDreamTeam.success):\n return {\n ...state,\n [action.payload.event]: action.payload.data,\n };\n default:\n return state;\n }\n },\n overall: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchOverallDreamTeam.success):\n return action.payload;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getOverallDreamTeam = (state: RootState) =>\n state.dreamTeams.overall;\n\nexport const getEventDreamTeam = (state: RootState, eventId: number) => {\n if (!state.dreamTeams.byEventId || !state.dreamTeams.byEventId[eventId]) {\n return null;\n }\n return state.dreamTeams.byEventId[eventId];\n};\n\nexport const getOverallDreamTeamFormation = (state: RootState) => {\n const data = getOverallDreamTeam(state);\n const elementsById = getElementsById(state);\n if (!data || !elementsById) {\n return \"\";\n }\n return getFormation(data.team.map((p) => elementsById[p.element]));\n};\n\nexport const getEventDreamTeamFormation = (\n state: RootState,\n eventId: number\n) => {\n const data = getEventDreamTeam(state, eventId);\n const elementsById = getElementsById(state);\n if (!data || !elementsById) {\n return \"\";\n }\n return getFormation(data.team.map((p) => elementsById[p.element]));\n};\n\nexport const dreamTeamAsPickLight = (team: IDreamTeamElement[]) => {\n return team.map((e) => ({\n element: e.element,\n position: e.position,\n is_captain: false,\n is_vice_captain: false,\n multiplier: 1,\n }));\n};\n","import { ThunkResult } from \"..\";\nimport { apiGet } from \"../../utils/api\";\nimport { IDreamTeamData } from \"./types\";\nimport * as actions from \"./actions\";\n\nexport const fetchOverallDreamTeam =\n (): ThunkResult> => async (dispatch) => {\n try {\n await apiGet(\n \"dream-team/\",\n dispatch,\n actions.fetchOverallDreamTeam\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchEventDreamTeam =\n (event: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `dream-team/${event}/`,\n dispatch,\n actions.fetchEventDreamTeam,\n { event }\n );\n } catch (e) {\n return;\n }\n };\n","import * as React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport { getElementStatsByIdentifier } from \"../../core/store/element-stats/reducers\";\nimport { IElementStat } from \"../../core/store/element-stats/types\";\nimport {\n getElementsById,\n getElementsEventDataById,\n} from \"../../core/store/elements/reducers\";\nimport { showElementSummary } from \"../../core/store/elements/thunks\";\nimport { IElementExplain } from \"../../core/store/elements/types\";\nimport { getFixturesForEventById } from \"../../core/store/fixtures/reducers\";\nimport { IFixture } from \"../../core/store/fixtures/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport Button from \"../Button\";\nimport Dialog, { DialogButtonItem } from \"../Dialog\";\nimport DialogHeading from \"../DialogHeading\";\nimport Table from \"../Table\";\n\nconst ExplainHeading = styled.h3`\n font-size: ${({ theme }) => theme.fontSizes[3]};\n text-align: center;\n`;\n\nconst ExplainScore = styled.span`\n margin: 0 ${({ theme }) => theme.space[1]};\n padding: ${({ theme }) => theme.space[1]};\n background-color: ${({ theme }) => theme.colors.primary};\n color: white;\n`;\n\ninterface IOwnProps {\n closeDialog: () => void;\n elementId: number;\n eventId: number;\n}\n\ntype Props = IOwnProps & WithTranslation;\n\nconst ElementExplainDialog: React.FC = ({\n closeDialog,\n elementId,\n eventId,\n t,\n}) => {\n const dispatch = useDispatch();\n\n const elementsById = useSelector(getElementsById);\n const elementsDataById = useSelector((state: RootState) =>\n getElementsEventDataById(state, eventId)\n );\n const fixturesById: Record | null = useSelector(\n (state: RootState) => getFixturesForEventById(state, eventId)\n );\n const statsByIdentifier: Record = useSelector(\n getElementStatsByIdentifier\n );\n const teamsById = useSelector(getTeamsById);\n\n const showElementDialog = (elementId: number) => {\n dispatch(showElementSummary(elementId));\n closeDialog();\n };\n\n const renderExplainFixture = (explain: IElementExplain) => {\n const elementData = elementsDataById![elementId];\n const fixture = fixturesById && fixturesById[explain.fixture];\n if (!elementData || !fixture) {\n return null;\n }\n if (!fixture.started) {\n return null;\n }\n return (\n <>\n \n \n {teamsById[fixture.team_h].short_name}\n \n {fixture.team_h_score}-{fixture.team_a_score}\n \n {teamsById[fixture.team_a].short_name}\n \n \n \n \n \n \n \n \n \n \n \n \n {explain.stats.map((stat) => (\n \n \n \n \n \n ))}\n \n
    {t(\"elementExplainDialog.stat\", \"Statistic\")}{t(\"elementExplainDialog.value\", \"Value\")}{t(\"elementExplainDialog.points\", \"Points\")}
    {statsByIdentifier[stat.identifier].label}{stat.value}{stat.points}
    \n
    \n \n );\n };\n\n const element = elementsById[elementId];\n if (!element || !fixturesById || !elementsDataById) {\n return null;\n }\n return (\n \n \n {`${element.first_name} ${element.second_name}`}\n \n\n \n {elementsDataById[element.id].explain.map((e) => (\n \n {renderExplainFixture(e)}\n \n ))}\n
    \n \n showElementDialog(element.id)}\n width={1}\n >\n {t(\"elementExplainDialog.info\", \"View Information\")}\n \n \n
    \n
    \n
    \n );\n};\n\nexport { ElementExplainDialog as ElementExplainDialogTest };\n\nexport default withTranslation()(ElementExplainDialog);\n","import React from \"react\";\nimport { IFixture } from \"../../core/store/fixtures/types\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport {\n IElementsEventDataById,\n IElementsById,\n} from \"../../core/store/elements/types\";\nimport FixtureForElement from \"../FixtureForElement\";\nimport { IPickLight } from \"../../core/store/entries/types\";\n\nconst valueForPlayerElement =\n (initProps: {\n elementsById: IElementsById;\n elementsDataById: IElementsEventDataById | null;\n fixturesById: Record | null;\n teamsById: ITeamsById;\n }) =>\n (pick: IPickLight) => {\n if (!initProps.elementsDataById || !initProps.fixturesById) {\n return null;\n }\n const element = initProps.elementsById[pick.element];\n const elementData = initProps.elementsDataById[element.id];\n const fragments: React.ReactNode[] = [];\n let started = 0;\n elementData.explain.forEach((e) => {\n const fixture = initProps.fixturesById![e.fixture];\n if (!fixture.started) {\n fragments.push(\n \n );\n } else {\n started++;\n }\n });\n if (started) {\n fragments.unshift(\n elementData.stats.total_points * Math.max(pick.multiplier, 1)\n );\n }\n return fragments.length ? (\n fragments.reduce((result, item) => (\n <>\n {result}\n {\", \"}\n {item}\n \n ))\n ) : (\n -\n );\n };\n\nexport default valueForPlayerElement;\n","export default __webpack_public_path__ + \"static/media/rsl-pitch.79d0d8a9.svg\";","import { Flex } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport { SubStatus } from \"../core/store/my-team/types\";\nimport { rgba } from \"polished\";\nimport PitchSvg from \"../img/rsl-pitch.svg\";\n\nconst Pitch = styled.div`\n min-height: 330px;\n background-image: url(${PitchSvg});\n background-repeat: no-repeat;\n background-position: center;\n background-size: 516px 330px;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n min-height: 524px;\n background-size: 820px 524px;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n min-height: 690px;\n background-size: 1080px 690px;\n }\n`;\n\nexport const ElementRow = styled(Flex)`\n max-width: 410px;\n margin: auto;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n max-width: 620px;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n max-width: none;\n }\n`;\n\nexport const PitchRow = styled(ElementRow)`\n padding-bottom: 0.5rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n padding-bottom: 2.8rem;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n padding-bottom: 4.5rem;\n }\n`;\n\nexport const PitchUnit = styled.div`\n flex: 1;\n min-height: 7.2rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n min-height: 9.6rem;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n min-height: 11.6rem;\n }\n`;\n\nexport const PitchElementWrap = styled.div`\n margin: 0 0.2rem;\n padding: 0.4rem 0;\n border-radius: 0.4rem;\n align-items: stretch;\n ${(props) =>\n (props.variant === \"instigator\" || props.variant === \"target\") &&\n css`\n transition: all 0.15s;\n box-shadow: 0 0 0.6rem 0 rgba(0, 0, 0, 0.4);\n `}\n\n ${(props) =>\n props.variant === \"instigator\" &&\n css`\n background-color: ${rgba(props.theme.colors.white, 0.6)};\n `}\n\n ${(props) =>\n props.variant === \"target\" &&\n css`\n background-color: ${rgba(props.theme.colors.primary, 0.4)};\n `}\n\n ${(props) =>\n props.variant === \"invalid\" &&\n css`\n opacity: 0.6;\n `}\n`;\n\nexport const StyledPitchElement = styled.div`\n position: relative;\n width: 6.4rem;\n margin: auto;\n padding-inline-end: 0.3rem;\n padding-inline-start: 0.3rem;\n text-align: center;\n opacity: ${(props) => (props.isRemoved ? \"0.8\" : \"1\")};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n width: 10.5rem;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 14rem;\n padding-inline-end: 1rem;\n padding-inline-start: 1rem;\n }\n`;\n\nexport const Controls = styled.div`\n display: none;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n display: block;\n }\n`;\n\nexport const PrimaryControl = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n position: absolute;\n top: 0;\n left: 10px;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n left: 20px;\n }\n`;\n\nexport const InfoControl = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n position: absolute;\n top: 0;\n right: 10px;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n right: 20px;\n }\n`;\n\ninterface IWrapStyleProps {\n variant?: SubStatus;\n}\n\ninterface IPitchElementStyleProps {\n isRemoved?: boolean;\n}\n\nexport default Pitch;\n","import React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport { IElement } from \"../../core/store/elements/types\";\n\nexport const ElementName = styled.div`\n padding: 0.1rem 0.2rem;\n background-color: ${({ theme }) => theme.colors.blue};\n color: ${({ theme }) => theme.colors.white};\n color: white;\n font-size: 1rem;\n font-weight: 800;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n\n ${(props) =>\n props.element.news &&\n props.element.chance_of_playing_next_round !== null &&\n css`\n background-color: ${props.theme.colors.elementStatus[\n props.element.chance_of_playing_next_round\n ].bg};\n color: ${props.theme.colors.elementStatus[\n props.element.chance_of_playing_next_round\n ].color};\n `}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding-top: 0.4rem;\n padding-bottom: 0.4rem;\n font-size: ${({ theme }) => theme.fontSizes[0]};\n }\n`;\n\nexport const ElementValue = styled.div`\n padding: 0.2rem;\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n background-color: ${({ theme }) => theme.colors.white};\n color: ${({ theme }) => theme.colors.blueDarker3};\n font-size: 1rem;\n font-weight: 800;\n`;\n\ninterface IStyledProps {\n element: IElement;\n}\n\ninterface IProps {\n value: React.ReactNode;\n}\n\ntype Props = IStyledProps & IProps;\n\nconst StatusPitchElementData: React.FC = ({ element, value }) => (\n
    \n {element.web_name}\n {value}\n
    \n);\n\nexport default StatusPitchElementData;\n","import * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { showElementSummary } from \"../../core/store/elements/thunks\";\nimport { IElementsById } from \"../../core/store/elements/types\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementShirt from \"../ElementShirt\";\nimport { Controls } from \"../Pitch\";\nimport { UnstyledButton } from \"../Utils\";\nimport StatusPitchElementData from \"./StatusPitchElementData\";\n\nexport const StatusPitchElementWrap = styled.div`\n margin: 0 0.2rem;\n padding: 0.4rem 0;\n border-radius: 0.4rem;\n align-items: stretch;\n`;\n\nexport const StyledStatusPitchElement = styled.div`\n position: relative;\n width: 6rem;\n margin: auto;\n padding-inline-end: 0.3rem;\n padding-inline-start: 0.3rem;\n text-align: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 7rem;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 10.5rem;\n }\n`;\n\nconst StyledInfoControl = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n position: absolute;\n top: 0;\n right: 5px;\n }\n`;\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n}\n\ninterface IPropsFromDispatch {\n showElementDialog: (elementId: number) => void;\n}\n\ninterface IOwnProps {\n pick: IPickLight;\n renderElementMenu: () => void;\n renderPickValue: (pick: IPickLight) => React.ReactNode;\n}\n\ntype Props = IPropsFromState & IPropsFromDispatch & IOwnProps;\n\nconst Squad: React.FC = ({\n pick,\n elementsById,\n renderElementMenu,\n renderPickValue,\n}) => {\n const element = elementsById[pick.element];\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementsById: getElementsById(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Squad);\n","import * as React from \"react\";\nimport styled from \"styled-components/macro\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport PitchSvg from \"../../img/rsl-pitch.svg\";\nimport StatusPitchElement from \"./StatusPitchElement\";\n\nconst StatusPitch = styled.div`\n min-height: 330px;\n background-image: url(${PitchSvg});\n background-repeat: no-repeat;\n background-position: center;\n background-size: 516px 330px;\n background-color: ${({ theme }) => theme.colors.greyLight3};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n min-height: 524px;\n background-size: 820px 524px;\n }\n`;\n\nconst StatusPitchRow = styled.div`\n display: flex;\n max-width: 410px;\n margin: auto;\n padding-bottom: 0.5rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n max-width: 620px;\n padding-bottom: 2.8rem;\n }\n`;\n\nconst StatusPitchUnit = styled.div`\n flex: 1;\n min-height: 7.2rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n min-height: 9.6rem;\n }\n`;\n\ninterface IFormationProps {\n generateProps: (i: number) => {\n pick: IPickLight;\n renderElementMenu: () => void;\n renderPickValue: (pick: IPickLight) => React.ReactNode;\n };\n}\n\nconst FiveFourOne: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst FiveThreeTwo: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst FiveTwoThree: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst FourFiveOne: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst FourThreeThree: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst FourFourTwo: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst ThreeFourThree: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst ThreeFiveTwo: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\ninterface IProps {\n chipName: string | null;\n formation: string;\n picks: IPickLight[];\n renderDreamTeam: (pick: IPickLight) => React.ReactNode;\n renderElementMenu: (element: number) => void;\n renderPickValue: (pick: IPickLight) => React.ReactNode;\n}\n\ninterface IFormations {\n [key: string]: React.ReactNode;\n}\n\nconst StatusFormation: React.FC = ({\n formation,\n picks,\n renderElementMenu,\n renderPickValue,\n}) => {\n const sharedTeamPitchElementProps = (i: number) => ({\n pick: picks[i],\n renderElementMenu: () => renderElementMenu(picks[i].element),\n renderPickValue,\n });\n const formations: IFormations = {\n \"1-5-4-1\": ,\n \"1-5-3-2\": ,\n \"1-5-2-3\": ,\n \"1-4-5-1\": ,\n \"1-4-4-2\": ,\n \"1-4-3-3\": ,\n \"1-3-5-2\": ,\n \"1-3-4-3\": ,\n };\n return {formations[formation]};\n};\n\nexport default StatusFormation;\n","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\n// import styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport {\n dreamTeamAsPickLight,\n getEventDreamTeam,\n getEventDreamTeamFormation,\n} from \"../../core/store/dream-teams/reducers\";\nimport { fetchEventDreamTeam } from \"../../core/store/dream-teams/thunks\";\nimport {\n getElementsById,\n getElementsEventDataById,\n} from \"../../core/store/elements/reducers\";\nimport { fetchEventLive } from \"../../core/store/elements/thunks\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport { getCurrentEvent } from \"../../core/store/events/reducers\";\nimport { getFixturesForEventById } from \"../../core/store/fixtures/reducers\";\nimport { fetchFixtures } from \"../../core/store/fixtures/thunks\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport ElementShirt from \"../ElementShirt\";\nimport SubHeading from \"../SubHeading\";\nimport ElementExplainDialog from \"../team/ElementExplainDialog\";\nimport valueForPlayerElement from \"../team/valueForPlayedElement\";\nimport { UnstyledButton } from \"../Utils\";\nimport StatusFormation from \"./StatusFormation\";\n\nconst StyledDreamTeam = styled.div`\n background-color: ${({ theme }) => theme.colors.greyLight3};\n border: ${({ theme }) => theme.borders[2]};\n border-radius: ${({ theme }) => theme.radii[1]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n display: flex;\n align-items: center;\n }\n`;\n\nconst PitchWrap = styled.div`\n padding-top: ${({ theme }) => theme.space[4]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex: 0 0 66.66%;\n }\n`;\n\nconst TopPlayerWrap = styled.div`\n padding: ${({ theme }) => `${theme.space[4]} ${theme.space[2]}`};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex: 0 0 33.33%;\n }\n`;\n\nconst TopScorer = styled.div`\n text-align: center;\n`;\n\nconst TopScorerHeading = styled.h4`\n margin: 0 0 ${({ theme }) => theme.space[3]};\n color: ${({ theme }) => theme.colors.primary};\n font-family: ${({ theme }) => theme.fonts.impact};\n font-size: 2rem;\n text-transform: uppercase;\n`;\n\nconst TopScorerCard = styled.div`\n display: inline-block;\n`;\n\nconst TopScorerShirt = styled.div`\n padding: ${({ theme }) => `${theme.space[2]} 3rem`};\n background-color: white;\n border: 1px solid ${({ theme }) => theme.colors.blue};\n border-top-left-radius: ${({ theme }) => theme.radii[1]};\n border-top-right-radius: ${({ theme }) => theme.radii[1]};\n`;\n\nconst TopScorerData = styled.div`\n font-size: ${({ theme }) => theme.fontSizes[2]};\n font-weight: bold;\n`;\n\nconst TopScorerName = styled.div`\n padding: 0.6rem ${({ theme }) => theme.space[1]};\n border-left: 1px solid ${({ theme }) => theme.colors.blue};\n border-right: 1px solid ${({ theme }) => theme.colors.blue};\n\n background-color: ${({ theme }) => theme.colors.white};\n color: ${({ theme }) => theme.colors.primary};\n`;\n\nconst TopScorerPts = styled.div`\n padding: 0.5rem ${({ theme }) => theme.space[1]};\n background-color: ${({ theme }) => theme.colors.blue};\n color: ${({ theme }) => theme.colors.white}; ;\n`;\n\nconst TopScorerTeam = styled.div`\n padding: 0.5rem;\n border: 1px solid ${({ theme }) => theme.colors.blue};\n border-radius: 0 0 5px 5px;\n background-color: white;\n color: color: ${({ theme }) => theme.colors.primary};\n`;\n\nconst StatusDreamTeam: React.FC = () => {\n const { t } = useTranslation();\n const [elementForMenu, setElementForMenu] = useState(0);\n const now = useSelector(getCurrentEvent);\n const data = useSelector((state: RootState) =>\n now ? getEventDreamTeam(state, now.id) : null\n );\n const formation = useSelector((state: RootState) =>\n now ? getEventDreamTeamFormation(state, now.id) : null\n );\n const elementsById = useSelector(getElementsById);\n const elementsDataById = useSelector((state: RootState) =>\n now ? getElementsEventDataById(state, now.id) : null\n );\n const fixturesById = useSelector((state: RootState) =>\n now ? getFixturesForEventById(state, now.id) : null\n );\n const teamsById = useSelector(getTeamsById);\n\n const reduxDispatch = useDispatch();\n useEffect(() => {\n if (now) {\n const eventId = now.id;\n reduxDispatch(fetchEventDreamTeam(eventId));\n reduxDispatch(fetchEventLive(eventId));\n reduxDispatch(fetchFixtures(eventId));\n }\n }, [elementForMenu, now, reduxDispatch]);\n\n if (!data || !formation || !now) {\n return null;\n }\n const picks = dreamTeamAsPickLight(data.team);\n const topPlayer = elementsById[data.top_player.id];\n\n const handleShowMenuForElement = (element: number) => {\n setElementForMenu(element);\n };\n\n const handleHideMenuForElement = () => {\n setElementForMenu(0);\n };\n\n // Create a new function on each render as data could have changed and\n // need to ensure a render of connected subcomponents\n const renderPickValue = now\n ? valueForPlayerElement({\n elementsById,\n elementsDataById,\n fixturesById,\n teamsById,\n })\n : (pick: IPickLight) => {\n const elementData = data.team.filter((e) => e.element === pick.element);\n return elementData.length ? elementData[0].points : null;\n };\n\n return (\n
    \n \n \n {t(\"statusDreamTeam.heading\", \"{{ eventName }} Dream Team\", {\n eventName: now.name,\n })}\n \n \n \n \n null}\n renderElementMenu={handleShowMenuForElement}\n renderPickValue={renderPickValue}\n />\n \n \n \n \n {t(\"statusDreamTeam.topScorer\", \"{{ eventName }} Top Scorer\", {\n eventName: now.name,\n })}\n \n \n handleShowMenuForElement(topPlayer.id)}\n >\n \n \n \n \n {topPlayer.web_name}\n {data.top_player.points}\n \n {teamsById[topPlayer.team].short_name}\n \n \n \n \n \n \n \n\n {elementForMenu ? (\n \n ) : null}\n
    \n );\n};\n\nexport default StatusDreamTeam;\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgTransferArrowLeft(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 9,\n height: 13,\n viewBox: \"0 0 9 13\",\n fill: \"#FF2700\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 10.81L8 2.18996C8 1.33304 6.99264 0.873048 6.34507 1.43427L1.37195 5.74431C0.911857 6.14306 0.911858 6.85694 1.37195 7.25569L6.34507 11.5657C6.99264 12.127 8 11.667 8 10.81Z\",\n fill: \"#FF2700\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgTransferArrowLeft);\nexport default __webpack_public_path__ + \"static/media/transfer-arrow-left.79162504.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgTransferArrowRight(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 9,\n height: 13,\n viewBox: \"0 0 9 13\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 2.18996L1 10.81C1 11.667 2.00736 12.127 2.65493 11.5657L7.62805 7.25569C8.08814 6.85694 8.08814 6.14306 7.62805 5.74431L2.65493 1.43427C2.00736 0.873047 0.999999 1.33304 1 2.18996Z\",\n fill: \"#0050FF\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgTransferArrowRight);\nexport default __webpack_public_path__ + \"static/media/transfer-arrow-right.09b4181c.svg\";\nexport { ForwardRef as ReactComponent };","import orderBy from \"lodash/orderBy\";\nimport { size } from \"polished\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport { getElementTypesById } from \"../../core/store/element-types/reducers\";\nimport { IElementTypesById } from \"../../core/store/element-types/types\";\nimport { getElements } from \"../../core/store/elements/reducers\";\nimport { IElement } from \"../../core/store/elements/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport { ReactComponent as ArrowLeft } from \"../../img/icons/transfer-arrow-left.svg\";\nimport { ReactComponent as ArrowRight } from \"../../img/icons/transfer-arrow-right.svg\";\nimport BoldLink from \"../BoldLink\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport { ElementRow, ElementTable, PrimaryCell } from \"../ElementTable\";\nimport SubHeading from \"../SubHeading\";\nimport { Ellipsis } from \"../Utils\";\nimport StatusPanel from \"./StatusPanel\";\nimport { isRTL } from \"../../utils/locale\";\n\nconst rtlStyles =\n isRTL() &&\n css`\n transform: scaleX(-1);\n `;\n\nconst BodyArrowIn = styled(ArrowRight)`\n ${size(12)};\n fill: #2fab2f;\n ${rtlStyles}\n`;\n\nconst BodyArrowOut = styled(ArrowLeft)`\n ${size(12)};\n fill: #de0f0f;\n ${rtlStyles}\n`;\n\nconst TransfersTable = styled(ElementTable)`\n th:not(:nth-child(4)) {\n text-align: center;\n }\n`;\n\nconst StatusCol = styled.th`\n width: 12%;\n`;\n\nconst ArrowCol = styled.th`\n width: 10%;\n`;\n\nconst PosCol = styled.th`\n width: 14%;\n text-align: center;\n`;\n\nconst ClubCol = styled.th`\n width: 16%;\n`;\n\nconst PlayerCol = styled.th`\n width: 32%;\n`;\n\nconst TransfersCol = styled.th`\n width: 16%;\n`;\n\ninterface IPropsFromState {\n elements: IElement[];\n elementTypesById: IElementTypesById;\n teamsById: ITeamsById;\n}\n\ninterface IOwnProps {\n isOut?: boolean;\n}\n\ntype Props = IPropsFromState & IOwnProps;\n\nconst TransfersPanel: React.FC = ({\n elements,\n elementTypesById,\n isOut,\n teamsById,\n}) => {\n const { t } = useTranslation();\n const stat = isOut ? \"transfers_out_event\" : \"transfers_in_event\";\n const transferStatus = isOut\n ? t(\"transfersPanel.out\", \"Out\")\n : t(\"transfersPanel.in\", \"In\");\n return (\n \n \n {t(\"transfersPanel.more\", \"More\")}\n \n }\n >\n \n {t(\"transfersPanel.heading\", \"Top Transfers {{ inOut }}\", {\n inOut: transferStatus,\n })}\n \n \n \n \n \n \n  \n  \n {t(\"transfersPanel.postitionShort\", \"Pos\")}\n {t(\"transfersPanel.player\", \"Player\")}\n {t(\"transfersPanel.club\", \"Club\")}\n  \n \n \n \n {orderBy(elements, [stat], [\"desc\"])\n .slice(0, 5)\n .map((e) => (\n \n \n \n \n \n {isOut ? : }\n \n \n {elementTypesById[e.element_type].singular_name_short}\n \n \n {e.web_name}\n \n {teamsById[e.team].short_name}\n {e[stat]}\n \n ))}\n \n \n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elements: getElements(state),\n elementTypesById: getElementTypesById(state),\n teamsById: getTeamsById(state),\n});\n\nexport default connect(mapStateToProps)(TransfersPanel);\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { getCurrentEvent } from \"../../core/store/events/reducers\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport Title from \"../Title\";\nimport EventInfo from \"./EventInfo\";\nimport EventStatusBar from \"./EventStatusBar\";\nimport PlayerAvailability from \"./PlayerAvailability\";\nimport StatusDreamTeam from \"./StatusDreamTeam\";\nimport TransfersPanel from \"./TransfersPanel\";\n\nconst StatusWrapper = styled.div`\n max-width: 1220px;\n margin: 0 auto;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n padding-inline-end: ${({ theme }) => theme.space[2]};\n padding-inline-start: ${({ theme }) => theme.space[2]};\n }\n`;\n\nconst StatusCols = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n display: flex;\n justify-content: space-between;\n }\n`;\n\nconst StatusMain = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex: 0 0 66.66%;\n }\n`;\n\nconst StatusSecondary = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex: 0 0 30%;\n }\n`;\n\nconst Status: React.FC = () => {\n const now = useSelector(getCurrentEvent);\n const player = useSelector(getPlayerData);\n const { t } = useTranslation();\n\n if (!now || !player) {\n return null;\n }\n\n return (\n \n \n

    \n {t(\n \"status.loggedIn\",\n \"You are logged in as {{ first_name }} {{ last_name }}\",\n {\n first_name: `${player.first_name}`,\n last_name: ` ${player.last_name}`,\n }\n )}\n

    \n \n {t(\"status.title\", \" {{ name }} Status \", {\n name: now.name,\n })}\n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n );\n};\n\nexport default Status;\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport Button from \"./Button\";\n\ninterface SProps {\n lgSrc?: string;\n mdSrc: string;\n smSrc: string;\n reverse?: boolean;\n}\n\ninterface SVGProps {\n reverse?: boolean;\n highlight?: boolean;\n}\n\nconst Title = styled.h3`\n margin: 0;\n font-size: 20px;\n color: inherit;\n font-family: ${({ theme }) => theme.fonts.impact};\n margin-bottom: ${({ theme }) => theme.space[1]};\n`;\n\nconst Description = styled.p`\n margin-top: 0;\n font-size: 14px;\n color: inherit;\n margin-bottom: 0;\n`;\n\nconst StyledTriangleCard = styled.div`\n position: relative;\n display: flex;\n height: 100%;\n width: 100%;\n min-height: 230px;\n border-radius: ${({ theme }) => theme.radii[2]};\n background-color: ${({ theme }) => theme.colors.green};\n\n ${({ reverse }) =>\n reverse === true &&\n css`\n flex-direction: row-reverse;\n `}\n\n ${({ highlight }) =>\n highlight === true &&\n css`\n min-height: 320px;\n background-color: #005b6d;\n\n ${Title} {\n font-size: 26px;\n line-height: 32px;\n }\n `}\n`;\n\nconst BtnWrapper = styled.div`\n width: 100%;\n margin-top: ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 40%;\n }\n`;\n\nconst BgImg = styled.div`\n display: none;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n position: relative;\n min-height: 230px;\n width: 50%;\n display: flex;\n align-items: center;\n border-start-end-radius: ${({ theme }) => theme.radii[2]};\n border-end-end-radius: ${({ theme }) => theme.radii[2]};\n background-color: ${({ theme }) => theme.colors.grey};\n background-image: url(${({ smSrc }) => smSrc});\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n background-image: url(${({ mdSrc }) => mdSrc});\n }\n`;\n\nconst Content = styled.div`\n position: relative;\n z-index: 1;\n width: 100%;\n display: flex;\n align-items: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 50%;\n }\n`;\n\nconst ContentInner = styled.div`\n position: relative;\n z-index: 1;\n padding: ${({ theme }) => `${theme.space[4]} ${theme.space[6]}`};\n color: ${({ theme }) => theme.colors.black};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding: ${({ theme }) => theme.space[4]};\n }\n\n ${({ highlight }) =>\n highlight === true &&\n css`\n color: ${({ theme }) => theme.colors.white};\n `}\n\n button {\n margin-top: ${({ theme }) => theme.space[1]};\n }\n`;\n\ninterface IProps {\n title: string;\n desc: string;\n lgSrc?: string;\n mdSrc: string;\n smSrc: string;\n btnText?: string;\n btnLink?: string;\n reverse?: boolean;\n highlight?: boolean;\n}\n\nconst TriangleCard = ({\n lgSrc,\n mdSrc,\n smSrc,\n title,\n desc,\n btnText,\n btnLink,\n reverse,\n highlight,\n}: IProps) => (\n \n \n \n {title}\n {desc}\n {btnText && (\n \n \n \n )}\n \n \n \n \n);\n\nexport default TriangleCard;\n","import { Link, RouteComponentProps } from \"@reach/router\";\nimport React, { useEffect } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { getCurrentEvent } from \"../core/store/events/reducers\";\nimport { getPlayerData } from \"../core/store/player/reducers\";\n// Highlight images\nimport Step1 from \"../img/home/step-1@1x.jpg\";\nimport Step1x2 from \"../img/home/step-1@2x.jpg\";\nimport Step2 from \"../img/home/step-2@1x.jpg\";\nimport Step2x2 from \"../img/home/step-2@2x.jpg\";\n// import pitch from \"../img/home/pitch.jpg\";\n// import pitch2x from \"../img/home/pitch@2x.jpg\";\nimport Button from \"./Button\";\nimport { Main, Wrapper } from \"./Layout\";\nimport Login from \"./Login\";\nimport Status from \"./status/Status\";\nimport TriangleCard from \"./TriangleCard\";\n\nconst Highlights = styled.div`\n display: flex;\n flex-direction: column;\n margin: ${({ theme }) => theme.space[4]} ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n flex-direction: row;\n justify-content: space-between;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n margin-inline-start: ${({ theme }) => theme.space[4]};\n margin-inline-end: ${({ theme }) => theme.space[4]};\n }\n`;\n\n//\n \n\n \n \n \n \n )}\n\n {player && player.entry && (\n <>\n \n \n \n\n \n \n \n \n )}\n\n {!player && (\n <>\n \n \n \n\n \n \n \n \n )}\n \n \n \n );\n};\n\nexport { Home as HomeTest };\n\nexport default withTranslation()(Home);\n","import { RouteComponentProps } from \"@reach/router\";\nimport moment from \"moment\";\nimport * as React from \"react\";\nimport { useEffect } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../core/store\";\nimport { getElementsById } from \"../core/store/elements/reducers\";\nimport { showElementSummary } from \"../core/store/elements/thunks\";\nimport { getTransfersForEntry } from \"../core/store/entries/reducers\";\nimport {\n fetchEntrySummary,\n fetchEntryTransfers,\n} from \"../core/store/entries/thunks\";\nimport { getPlayerData } from \"../core/store/player/reducers\";\nimport { getLatestTransfers } from \"../core/store/squad/reducers\";\nimport { fetchLatestTransfers } from \"../core/store/squad/thunks\";\nimport Entry from \"./Entry\";\nimport { Main, Secondary, Wrapper } from \"./Layout\";\nimport Panel from \"./Panel\";\nimport Table from \"./Table\";\nimport Title from \"./Title\";\n\nconst DialogButton = styled.button`\n padding: 0;\n border: 0;\n background-color: transparent;\n font-size: inherit;\n text-decoration: none;\n text-align: start;\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\ntype Props = RouteComponentProps<{ entryId: string }> & WithTranslation;\n\nconst TransfersHistory: React.FC = ({ entryId, t }) => {\n const dispatch = useDispatch();\n\n const player = useSelector(getPlayerData);\n const mine =\n player && player.entry && player.entry === Number(entryId) ? true : false;\n\n const elementsById = useSelector(getElementsById);\n const latestTransfers = useSelector((state: RootState) =>\n mine ? getLatestTransfers(state) : []\n );\n const transfersHistory = useSelector((state: RootState) =>\n getTransfersForEntry(state, Number(entryId))\n );\n\n useEffect(() => {\n dispatch(fetchEntrySummary(Number(entryId)));\n dispatch(fetchEntryTransfers(Number(entryId)));\n if (mine) {\n dispatch(fetchLatestTransfers());\n }\n }, [dispatch, entryId, mine]);\n\n return (\n \n
    \n \n {t(\"transfersHistory.title\", \"Transfers\")}\n \n {transfersHistory.length || latestTransfers.length ? (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n {latestTransfers.concat(transfersHistory).map((t) => (\n \n \n \n \n \n \n ))}\n \n
    {t(\"transfersHistory.time\", \"Time\")}{t(\"transfersHistory.in\", \"In\")}{t(\"transfersHistory.out\", \"Out\")}{t(\"transfersHistory.active\", \"Active\")}
    {moment(t.time).format(\"D MMM HH:mm\")}\n \n dispatch(\n showElementSummary(\n elementsById[t.element_in].id\n )\n )\n }\n >\n {elementsById[t.element_in].web_name}\n \n \n \n dispatch(\n showElementSummary(\n elementsById[t.element_out].id\n )\n )\n }\n >\n {elementsById[t.element_out].web_name}\n \n {`RD${t.event}`}
    \n
    \n
    \n \n

    \n {t(\n \"transfersHistory.p1\",\n \"If you are not logged in or are viewing another player's team then you will only be able to view transfers up to the last deadline.\"\n )}\n

    \n
    \n \n ) : (\n \n {t(\n \"transfersHistory.p2\",\n \"No transfers have been made yet for this team.\"\n )}\n \n )}\n
    \n \n \n \n
    \n );\n};\n\nexport default withTranslation()(TransfersHistory);\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { getElements } from \"../../core/store/elements/reducers\";\nimport { getElementTypes } from \"../../core/store/element-types/reducers\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { RootState } from \"../../core/store\";\nimport { ITeam, ITeamsById } from \"../../core/store/teams/types\";\nimport { IElement } from \"../../core/store/elements/types\";\nimport { IElementType } from \"../../core/store/element-types/types\";\nimport { RouteComponentProps } from \"@reach/router\";\nimport { integerToMoney } from \"../../core/utils/money\";\nimport { Wrapper, Main } from \"../Layout\";\nimport Table from \"../Table\";\nimport SubHeading from \"../SubHeading\";\n\ninterface IElementListElementProps {\n element: IElement;\n team: ITeam;\n}\nconst ElementListElement: React.FC = ({\n element,\n team,\n}) => (\n \n {element.web_name}\n {team.name}\n {element.total_points}\n SAR{integerToMoney(element.now_cost, 10)}\n \n);\n\ninterface IElementListTableProps {\n elements: IElement[];\n teamsById: ITeamsById;\n}\nconst ElementListTable: React.FC = ({\n elements,\n teamsById,\n}) => (\n \n \n \n \n \n \n \n \n \n \n {elements.map((element) => (\n \n ))}\n \n
    PlayerTeamPointsCost
    \n);\n\ninterface IElementListPositionProps {\n elements: IElement[];\n elementType: IElementType;\n teamsById: ITeamsById;\n}\nconst ElementListPosition: React.FC = ({\n elements,\n elementType,\n teamsById,\n}) => {\n const halfElements = Math.ceil(elements.length / 2);\n const firstHalfElements = elements.slice(0, halfElements);\n const secondHalfElements = elements.slice(halfElements, elements.length);\n return (\n \n
    \n {elementType.plural_name}\n
    \n \n \n
    \n
    \n
    \n );\n};\n\ninterface IPropsFromState {\n elements: IElement[];\n elementTypes: IElementType[];\n teamsById: ITeamsById;\n}\n\ntype Props = RouteComponentProps & IPropsFromState;\n\nconst PlayerList: React.FC = ({ elements, elementTypes, teamsById }) => (\n
    \n {elementTypes.map((et) => (\n e.element_type === et.id)\n .sort((a, b) => b.now_cost - a.now_cost)}\n elementType={et}\n key={et.id}\n teamsById={teamsById}\n />\n ))}\n
    \n);\n\nexport { PlayerList as PlayerListTest };\n\nconst mapStateToProps = (state: RootState) => ({\n elements: getElements(state),\n elementTypes: getElementTypes(state),\n teamsById: getTeamsById(state),\n});\n\nexport default connect(mapStateToProps)(PlayerList);\n","export const localStorageKey = \"autoJoinCode\";\n\nexport const setValue = (key: string, value: string) =>\n window.localStorage?.setItem(localStorageKey, value);\nexport const getValue = (key: string) => window.localStorage?.getItem(key);\nexport const clearValue = (key: string) => window.localStorage?.removeItem(key);\n\nexport const getInitialState = () => getValue(localStorageKey) || null;\n","import produce from \"immer\";\nimport { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport { getEntry } from \"../entries/reducers\";\nimport { IEntry, ILeagueEntry } from \"../entries/types\";\nimport { getPlayerData } from \"../player/reducers\";\nimport * as actions from \"./actions\";\nimport { getInitialState } from \"./autoJoinPersistentStorage\";\nimport {\n IClassicStanding,\n IH2HStanding,\n INewEntry,\n IRenewableLeague,\n IState,\n} from \"./types\";\n\nconst classicStandingsById = produce(\n (draft: IState[\"classicStandingsById\"], action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchClassicLeagueStandings.success): {\n const { data, phaseId } = action.payload;\n const newData = {\n league: data.league,\n newEntriesByPage: draft[data.league.id]?.newEntriesByPage || {},\n standingsByPhaseAndPage:\n draft[data.league.id]?.standingsByPhaseAndPage || {},\n };\n newData[\"newEntriesByPage\"][data.new_entries.page] = data.new_entries;\n if (!newData[\"standingsByPhaseAndPage\"][phaseId]) {\n newData[\"standingsByPhaseAndPage\"][phaseId] = {};\n }\n newData[\"standingsByPhaseAndPage\"][phaseId][data.standings.page] = {\n ...data.standings,\n lastUpdatedData: data.last_updated_data,\n };\n draft[data.league.id] = newData;\n break;\n }\n case getType(actions.deleteLeague.success): {\n if (draft[action.payload.league]) {\n delete draft[action.payload.league];\n }\n }\n }\n },\n {}\n);\n\nconst getH2HMatchesKey = (entryId: number, eventId: number, page: number) =>\n `${entryId}-${eventId}-${page}`;\n\nconst h2hMatchesById = produce(\n (draft: IState[\"h2hMatchesById\"], action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchH2HLeagueMatches.success): {\n const { data, entryId, eventId, leagueId } = action.payload;\n const key = getH2HMatchesKey(entryId, eventId, data.page);\n const newData = {\n byEntryEventPage: draft[leagueId]?.byEntryEventPage || {},\n };\n newData[\"byEntryEventPage\"][key] = data;\n draft[leagueId] = newData;\n break;\n }\n }\n },\n {}\n);\n\n// State Reducer\nexport default combineReducers({\n adminById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.createClassicLeague.success):\n case getType(actions.fetchClassicLeagueForAdmin.success):\n case getType(actions.updateClassicLeague.success):\n case getType(actions.createH2HLeague.success):\n case getType(actions.fetchH2HLeagueForAdmin.success):\n case getType(actions.updateH2HLeague.success):\n return {\n ...state,\n [action.payload.id]: action.payload,\n };\n case getType(actions.deleteLeague.success): {\n const newState = { ...state };\n if (newState[action.payload.league]) {\n delete newState[action.payload.league];\n }\n return newState;\n }\n default:\n return state;\n }\n },\n byCode: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.checkLeagueCode.success): {\n return {\n ...state,\n [action.payload.code]: action.payload.data,\n };\n }\n default:\n return state;\n }\n },\n autoJoinCode: (state = getInitialState(), action: RootAction) => {\n switch (action.type) {\n case getType(actions.setAutoJoinCode):\n return action.payload;\n case getType(actions.clearAutoJoinCode):\n return null;\n default:\n return state;\n }\n },\n classicStandingsById,\n codesByLeagueId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchLeagueCode.success):\n case getType(actions.regenerateLeagueCode.success):\n return {\n ...state,\n [action.payload.league]: action.payload.data.code,\n };\n case getType(actions.deleteLeague.success): {\n const newState = { ...state };\n if (newState[action.payload.league]) {\n delete newState[action.payload.league];\n }\n return newState;\n }\n default:\n return state;\n }\n },\n createClassicLeagueError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.createClassicLeague.failure):\n return action.payload;\n default:\n return null;\n }\n },\n createH2HLeagueError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.createH2HLeague.failure):\n return action.payload;\n default:\n return null;\n }\n },\n cupStatusById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchLeagueCupStatus.success):\n return {\n ...state,\n [action.payload.qualifying_league]: action.payload,\n };\n default:\n return state;\n }\n },\n h2hMatchesById,\n h2hStandingsById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchH2HLeagueStandings.success): {\n const data = action.payload;\n const s = state[data.league.id];\n return {\n ...state,\n [data.league.id]: {\n league: data.league,\n newEntriesByPage: {\n ...(s ? s.newEntriesByPage : {}),\n [data.new_entries.page]: data.new_entries,\n },\n standingsByPage: {\n ...(s ? s.standingsByPage : {}),\n [data.standings.page]: data.standings,\n },\n },\n };\n }\n case getType(actions.deleteLeague.success): {\n const newState = { ...state };\n if (newState[action.payload.league]) {\n delete newState[action.payload.league];\n }\n return newState;\n }\n default:\n return state;\n }\n },\n entriesById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchLeagueEntries.success): {\n return {\n ...state,\n [action.payload.leagueId]: action.payload.data,\n };\n }\n default:\n return state;\n }\n },\n entriesErrorById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchLeagueEntries.failure): {\n if (action.payload.url) {\n const match = action.payload.url.match(/^league\\/(\\d+)\\/entries\\/$/);\n if (match) {\n return {\n ...state,\n [match[1]]: action.payload,\n };\n }\n }\n return state;\n }\n default:\n return state;\n }\n },\n joinPrivateLeagueSuccess: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.joinPrivateLeague.success):\n return action.payload.data.id;\n default:\n return null;\n }\n },\n joinPrivateLeagueError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.joinPrivateLeague.failure):\n return action.payload;\n default:\n return null;\n }\n },\n joinPublicLeagueError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.joinPublicLeague.failure):\n return action.payload;\n default:\n return null;\n }\n },\n renewableById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchRenewableLeagues.success): {\n const newState: Record = {};\n action.payload.forEach((rl) => {\n newState[rl.id] = rl;\n });\n return newState;\n }\n case getType(actions.deleteRenewableLeague.success):\n case getType(actions.renewRenewableLeague.success): {\n const newState = { ...state };\n delete newState[action.payload.id];\n return newState;\n }\n default:\n return state;\n }\n },\n updateClassicLeagueError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.updateClassicLeague.failure):\n return action.payload;\n default:\n return null;\n }\n },\n updateH2HLeagueError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.updateH2HLeague.failure):\n return action.payload;\n default:\n return null;\n }\n },\n});\n\n// State Selectors and Helpers\nexport const getLeagueAdmin = (state: RootState, leagueId: number) =>\n state.leagues.adminById[leagueId] || null;\n\nexport const getCode = (state: RootState, leagueId: number) =>\n state.leagues.codesByLeagueId[leagueId] || null;\n\nexport const getRenewableLeagues = (state: RootState) =>\n Object.values(state.leagues.renewableById);\n\nexport const getCreateClassicLeagueError = (state: RootState) =>\n state.leagues.createClassicLeagueError;\n\nexport const getCreateH2HLeagueError = (state: RootState) =>\n state.leagues.createH2HLeagueError;\n\nexport const getJoinPrivateLeagueError = (state: RootState) =>\n state.leagues.joinPrivateLeagueError;\n\nexport const getJoinPublicLeagueError = (state: RootState) =>\n state.leagues.joinPublicLeagueError;\n\nexport const getUpdateClassicLeagueError = (state: RootState) =>\n state.leagues.updateClassicLeagueError;\n\nexport const getUpdateH2HLeagueError = (state: RootState) =>\n state.leagues.updateH2HLeagueError;\n\nexport const getClassicLeague = (state: RootState, leagueId: number) => {\n const leagueData = state.leagues.classicStandingsById[leagueId];\n return leagueData ? leagueData.league : null;\n};\n\nexport const getJoinPrivateLeagueSuccess = (state: RootState) =>\n typeof state.leagues.joinPrivateLeagueSuccess === \"number\";\n\nconst addEntryToTopOfNewEntries = (newEntries: INewEntry[], entry: IEntry) => [\n {\n entry: entry.id,\n entry_name: entry.name,\n player_first_name: entry.player_first_name,\n player_last_name: entry.player_last_name,\n joined_time: \"\", // We don't have so leave as a string\n },\n ...newEntries.filter((ne) => ne.entry !== entry.id),\n];\n\nexport const getActiveEntryInLeague = (\n state: RootState,\n leagueId: number,\n scoring: \"classic\" | \"h2h\"\n) => {\n const player = getPlayerData(state);\n if (player && player.entry) {\n const entry = getEntry(state, player.entry);\n if (entry) {\n const matches = entry.leagues[scoring].filter((l) => l.id === leagueId);\n if (matches.length) {\n return {\n entry,\n league: matches[0],\n };\n }\n }\n }\n return null;\n};\n\nconst activeToClassicStanding = (\n entry: IEntry,\n league: ILeagueEntry\n): IClassicStanding => ({\n entry: entry.id,\n entry_name: entry.name,\n event_total: entry.summary_event_points || 0,\n last_rank: league.entry_last_rank || 0,\n player_name: `${entry.player_first_name} ${entry.player_last_name}`,\n rank: league.entry_rank || 0,\n rank_sort: 0, // Need to add this\n total: entry.summary_overall_points || 0, // Needs to be league\n});\n\nconst activeToH2HStanding = (\n entry: IEntry,\n league: ILeagueEntry\n): IH2HStanding => ({\n division: 0,\n entry: entry.id,\n entry_name: entry.name,\n last_rank: league.entry_last_rank || 0,\n matches_drawn: 0,\n matches_lost: 0,\n matches_played: 0,\n matches_won: 0,\n player_name: `${entry.player_first_name} ${entry.player_last_name}`,\n points_for: 0,\n rank: league.entry_rank || 0,\n rank_sort: 0,\n total: 0,\n});\n\n// TODO - getClassicNewEntries and getH2HNewEntries are almost the same,\n// refactor.\nexport const getClassicNewEntries = (\n state: RootState,\n leagueId: number,\n page: number\n) => {\n const leagueData = state.leagues.classicStandingsById[leagueId];\n if (\n leagueData &&\n leagueData.newEntriesByPage[page] &&\n leagueData.league.league_type !== \"s\"\n ) {\n if (page === 1) {\n const activeEntry = getActiveEntryInLeague(state, leagueId, \"classic\");\n if (activeEntry && !activeEntry.league.entry_rank) {\n return {\n ...leagueData.newEntriesByPage[page],\n results: addEntryToTopOfNewEntries(\n leagueData.newEntriesByPage[page].results,\n activeEntry.entry\n ),\n };\n }\n }\n return leagueData.newEntriesByPage[page];\n }\n return null;\n};\n\nexport const getClassicStandings = (\n state: RootState,\n leagueId: number,\n phaseId: number,\n page: number\n) => {\n const leagueData = state.leagues.classicStandingsById[leagueId];\n if (\n leagueData &&\n leagueData.standingsByPhaseAndPage[phaseId] &&\n leagueData.standingsByPhaseAndPage[phaseId][page]\n ) {\n const standings = leagueData.standingsByPhaseAndPage[phaseId][page];\n const activeEntry = getActiveEntryInLeague(state, leagueId, \"classic\");\n // This needs some thought. We have hardcoded phase 1 as this data is\n // only for the overall phase but we should be fetching this data via\n // an api call - issue 789\n if (\n phaseId === 1 &&\n standings.results.length &&\n activeEntry &&\n activeEntry.league.entry_rank\n ) {\n if (!standings.results.some((cs) => cs.entry === activeEntry.entry.id)) {\n return {\n ...standings,\n results:\n activeEntry.league.entry_rank <= standings.results[0].rank\n ? [\n activeToClassicStanding(\n activeEntry.entry,\n activeEntry.league\n ),\n ...standings.results,\n ]\n : [\n ...standings.results,\n activeToClassicStanding(\n activeEntry.entry,\n activeEntry.league\n ),\n ],\n };\n }\n }\n return standings;\n }\n return null;\n};\n\nexport const getH2HLeague = (state: RootState, leagueId: number) => {\n const leagueData = state.leagues.h2hStandingsById[leagueId];\n return leagueData ? leagueData.league : null;\n};\n\nexport const getH2HNewEntries = (\n state: RootState,\n leagueId: number,\n page: number\n) => {\n const leagueData = state.leagues.h2hStandingsById[leagueId];\n if (leagueData && leagueData.newEntriesByPage[page]) {\n // Only add on 1st page and if we have some newEntries\n if (page === 1 && leagueData.newEntriesByPage[page].results.length) {\n const activeEntry = getActiveEntryInLeague(state, leagueId, \"h2h\");\n if (activeEntry && !activeEntry.league.entry_rank) {\n return {\n ...leagueData.newEntriesByPage[page],\n results: addEntryToTopOfNewEntries(\n leagueData.newEntriesByPage[page].results,\n activeEntry.entry\n ),\n };\n }\n }\n return leagueData.newEntriesByPage[page];\n }\n return null;\n};\n\nexport const getH2HStandings = (\n state: RootState,\n leagueId: number,\n page: number\n) => {\n const leagueData = state.leagues.h2hStandingsById[leagueId];\n if (leagueData && leagueData.standingsByPage[page]) {\n const standings = leagueData.standingsByPage[page];\n const activeEntry = getActiveEntryInLeague(state, leagueId, \"h2h\");\n if (\n activeEntry &&\n activeEntry.league.entry_rank &&\n standings.results.length\n ) {\n if (!standings.results.some((cs) => cs.entry === activeEntry.entry.id)) {\n return {\n ...standings,\n results:\n activeEntry.league.entry_rank <= standings.results[0].rank\n ? [\n activeToH2HStanding(activeEntry.entry, activeEntry.league),\n ...standings.results,\n ]\n : [\n ...standings.results,\n activeToH2HStanding(activeEntry.entry, activeEntry.league),\n ],\n };\n }\n }\n return standings;\n }\n return null;\n};\n\nexport const getH2HMatches = (\n state: RootState,\n leagueId: number,\n entryId: number,\n eventId: number,\n page: number\n) => {\n const key = getH2HMatchesKey(entryId, eventId, page);\n return state.leagues.h2hMatchesById[leagueId]?.byEntryEventPage[key] || null;\n};\n\nexport const getLeagueFromCode = (state: RootState, code: string) =>\n state.leagues.byCode[code] || null;\n\nexport const getAutoJoinCode = (state: RootState) => state.leagues.autoJoinCode;\n\nexport const getLeagueEntries = (state: RootState, leagueId: number) =>\n state.leagues.entriesById[leagueId] || null;\n\nexport const getLeagueEntriesError = (state: RootState, leagueId: number) =>\n state.leagues.entriesErrorById[leagueId] || null;\n\nexport const getAllLeagueCupStatus = (state: RootState) =>\n state.leagues.cupStatusById;\n\nexport const getLeagueCupStatus = (state: RootState, leagueId: number) =>\n state.leagues.cupStatusById[leagueId] || null;\n","import { navigate } from \"@reach/router\";\nimport { ThunkResult } from \"..\";\nimport { apiDelete, apiGet, apiPost, apiPut } from \"../../utils/api\";\nimport { getPlayerData } from \"../player/reducers\";\nimport * as actions from \"./actions\";\nimport {\n IBanEntryData,\n ICreateClassicLeagueData,\n ICreateH2HLeagueData,\n IJoinPrivateLeagueData,\n IJoinPublicLeagueData,\n IUpdateClassicLeagueData,\n IUpdateH2HLeagueData,\n} from \"./types\";\nimport {\n localStorageKey,\n setValue,\n clearValue,\n} from \"./autoJoinPersistentStorage\";\n\nexport const createClassicLeague =\n (data: ICreateClassicLeagueData): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\n \"leagues-classic/\",\n data,\n dispatch,\n actions.createClassicLeague\n );\n } catch (e) {\n return;\n }\n navigate(\"/leagues\");\n };\n\nexport const createH2HLeague =\n (data: ICreateH2HLeagueData): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\"leagues-h2h/\", data, dispatch, actions.createH2HLeague);\n } catch (e) {\n return;\n }\n navigate(\"/leagues\");\n };\n\nexport const fetchClassicLeagueForAdmin =\n (leagueId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `leagues-classic/${leagueId}/`,\n dispatch,\n actions.fetchClassicLeagueForAdmin\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchH2HLeagueForAdmin =\n (leagueId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `leagues-h2h/${leagueId}/`,\n dispatch,\n actions.fetchH2HLeagueForAdmin\n );\n } catch (e) {\n return;\n }\n };\n\nexport const updateClassicLeague =\n (\n leagueId: number,\n data: IUpdateClassicLeagueData\n ): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPut(\n `leagues-classic/${leagueId}/`,\n data,\n dispatch,\n actions.updateClassicLeague\n );\n } catch (e) {\n return;\n }\n navigate(\"/leagues\");\n };\n\nexport const updateH2HLeague =\n (leagueId: number, data: IUpdateH2HLeagueData): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPut(\n `leagues-h2h/${leagueId}/`,\n data,\n dispatch,\n actions.updateH2HLeague\n );\n } catch (e) {\n return;\n }\n navigate(\"/leagues\");\n };\n\nexport const banLeagueEntry =\n (leagueId: number, data: IBanEntryData): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\n `league/${leagueId}/bans/ban/`,\n data,\n dispatch,\n actions.banLeagueEntry\n );\n } catch (e) {\n return;\n }\n navigate(\"/leagues\");\n };\n\nexport const unbanLeagueEntry =\n (leagueId: number, data: IBanEntryData): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\n `league/${leagueId}/bans/unban/`,\n data,\n dispatch,\n actions.unbanLeagueEntry\n );\n } catch (e) {\n return;\n }\n navigate(\"/leagues\");\n };\n\nexport const joinPrivateLeague =\n (data: IJoinPrivateLeagueData): ThunkResult> =>\n async (dispatch, getState) => {\n const player = getPlayerData(getState());\n if (player && player.entry) {\n try {\n await apiPost(\n \"leagues-private/join/\",\n data,\n dispatch,\n actions.joinPrivateLeague,\n {\n entry: player.entry,\n }\n );\n } catch (e) {\n return;\n }\n }\n };\n\nexport const joinPublicLeague =\n (data: IJoinPublicLeagueData): ThunkResult> =>\n async (dispatch, getState) => {\n const player = getPlayerData(getState());\n if (player && player.entry) {\n try {\n await apiPost(\n \"leagues-public/join/\",\n data,\n dispatch,\n actions.joinPublicLeague,\n {\n entry: player.entry,\n }\n );\n } catch (e) {\n return;\n }\n }\n navigate(\"/leagues\");\n };\n\nexport const fetchLeagueCode =\n (leagueId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `league/${leagueId}/code/`,\n dispatch,\n actions.fetchLeagueCode,\n { league: leagueId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const regenerateLeagueCode =\n (leagueId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\n `league/${leagueId}/code/regenerate/`,\n {},\n dispatch,\n actions.regenerateLeagueCode,\n { league: leagueId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const leaveLeague =\n (leagueId: number): ThunkResult> =>\n async (dispatch, getState) => {\n const player = getPlayerData(getState());\n if (player && player.entry) {\n try {\n await apiPost(\n `league/${leagueId}/leave/`,\n {},\n dispatch,\n actions.leaveLeague,\n { entry: player.entry, league: leagueId }\n );\n } catch (e) {\n return;\n }\n }\n };\n\nexport const deleteLeague =\n (leagueId: number): ThunkResult> =>\n async (dispatch, getState) => {\n const player = getPlayerData(getState());\n if (player && player.entry) {\n try {\n // TODO - Change endpoint to handle all types of league\n await apiPost(\n `leagues-private/delete/`,\n { league: leagueId },\n dispatch,\n actions.deleteLeague,\n { entry: player.entry, league: leagueId }\n );\n } catch (e) {\n return;\n }\n navigate(\"/leagues\");\n }\n };\n\nexport const fetchRenewableLeagues =\n (): ThunkResult> => async (dispatch) =>\n apiGet(`leagues-renewable/`, dispatch, actions.fetchRenewableLeagues);\n\nexport const renewRenewableLeague =\n (id: number): ThunkResult> =>\n async (dispatch) =>\n apiPost(\n `leagues-renewable/${id}/renew/`,\n {},\n dispatch,\n actions.renewRenewableLeague,\n { id }\n );\n\nexport const deleteRenewableLeague =\n (id: number): ThunkResult> =>\n async (dispatch) =>\n apiDelete(\n `leagues-renewable/${id}/`,\n {},\n dispatch,\n actions.deleteRenewableLeague,\n { id }\n );\n\nexport const fetchClassicLeagueStandings =\n (\n leagueId: number,\n pageNewEntries: number,\n pageStandings: number,\n phaseId: number\n ): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `leagues-classic/${leagueId}/standings/` +\n `?page_new_entries=${pageNewEntries}&page_standings=${pageStandings}` +\n `&phase=${phaseId}`,\n dispatch,\n actions.fetchClassicLeagueStandings,\n { phaseId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchH2HLeagueStandings =\n (\n leagueId: number,\n pageNewEntries: number,\n pageStandings: number\n ): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `leagues-h2h/${leagueId}/standings/` +\n `?page_new_entries=${pageNewEntries}&page_standings=${pageStandings}`,\n dispatch,\n actions.fetchH2HLeagueStandings\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchH2HLeagueMatches = (\n leagueId: number,\n entryId: number,\n eventId: number,\n page: number\n): ThunkResult> => {\n let url = `leagues-h2h-matches/league/${leagueId}/?page=${page}`;\n if (entryId) {\n url += `&entry=${entryId}`;\n }\n if (eventId) {\n url += `&event=${eventId}`;\n }\n return async (dispatch) => {\n try {\n await apiGet(url, dispatch, actions.fetchH2HLeagueMatches, {\n entryId,\n eventId,\n leagueId,\n });\n } catch (e) {\n return;\n }\n };\n};\n\nexport const checkLeagueCode =\n (code: string): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\n `league/code-check/`,\n { code },\n dispatch,\n actions.checkLeagueCode,\n {\n code,\n }\n );\n } catch (e) {\n dispatch(clearCode());\n }\n };\n\nexport const setCode =\n (code: string): ThunkResult =>\n (dispatch) => {\n setValue(localStorageKey, code);\n dispatch(actions.setAutoJoinCode(code));\n };\n\nexport const clearCode = (): ThunkResult => (dispatch) => {\n clearValue(localStorageKey);\n dispatch(actions.clearAutoJoinCode());\n};\n\nexport const fetchLeagueEntries =\n (leagueId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `league/${leagueId}/entries/`,\n dispatch,\n actions.fetchLeagueEntries,\n {\n leagueId,\n }\n );\n } catch (e) {\n // Error will be in store and available via a selector\n return;\n }\n };\n\nexport const fetchLeagueCupStatus =\n (leagueId: number): ThunkResult> =>\n async (dispatch) =>\n apiGet(\n `league/${leagueId}/cup-status/`,\n dispatch,\n actions.fetchLeagueCupStatus\n );\n","import Downshift from \"downshift\";\nimport debounce from \"lodash/debounce\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { SearchField } from \"../../FieldRenderers\";\n\ninterface IEntry {\n entry: number;\n player_name: string;\n entry_name: string;\n}\n\ninterface IEntrySelectorProps {\n entries: IEntry[];\n handleChange: (selectedItem: any) => void;\n searchChange: (value: string) => any;\n}\n\nconst EntrySelector: React.FC = ({\n entries,\n handleChange,\n searchChange,\n}) => {\n const { t } = useTranslation();\n\n return (\n handleChange(Number(selection.entry))}\n onInputValueChange={debounce(searchChange, 400)}\n itemToString={(item) => (item ? item.player_name : \"\")}\n >\n {({\n getInputProps,\n getItemProps,\n getLabelProps,\n getMenuProps,\n isOpen,\n highlightedIndex,\n selectedItem,\n }) => (\n
    \n \n
      \n {isOpen\n ? entries.map((item, index) => (\n \n {item.player_name} ({item.entry_name})\n \n ))\n : null}\n
    \n
    \n )}\n \n );\n};\n\ninterface IProps {\n excluded?: number[];\n handleChange: (selectedItem: any) => void;\n leagueId: number;\n}\n\nconst EntrySelectorWrapper: React.FC = ({\n excluded = [],\n handleChange,\n leagueId,\n}) => {\n const [entries, setEntries] = useState([]);\n const [lastSearch, setLastSearch] = useState(\"\");\n\n const searchChange = async (value: string) => {\n // If the search term has been cleared, clear any state\n if (!value.length) {\n handleChange(0);\n setEntries([]);\n setLastSearch(\"\");\n }\n\n // We are only interested in first name searches\n const searchMatches = value.match(/^(.*?) /);\n if (searchMatches && searchMatches[1] !== lastSearch) {\n const response = await fetch(\n `/api/league/${leagueId}/search-entries/?search=${encodeURIComponent(\n searchMatches[1]\n )}`\n );\n setLastSearch(searchMatches[1]);\n if (response.ok) {\n const entries: IEntry[] = await response.json();\n setEntries(entries.filter((e) => excluded.indexOf(e.entry) === -1));\n }\n }\n };\n\n return (\n \n );\n};\n\nexport default EntrySelectorWrapper;\n","import React, { useState } from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { useDispatch } from \"react-redux\";\nimport { banLeagueEntry } from \"../../../core/store/leagues/thunks\";\nimport {\n IBanEntryData,\n IPrivateLeagueAdmin,\n} from \"../../../core/store/leagues/types\";\nimport Button from \"../../Button\";\nimport { FieldWrap } from \"../../FieldRenderers\";\nimport SubHeading from \"../../SubHeading\";\nimport EntrySelector from \"./EntrySelector\";\n\ninterface IOwnProps {\n league: IPrivateLeagueAdmin;\n}\n\ntype Props = IOwnProps & WithTranslation;\n\nconst AddBan: React.FC = ({ league, t }) => {\n const dispatch = useDispatch();\n const [entry, setEntry] = useState(0);\n\n const handleEntryChange = (entryId: number) => {\n setEntry(entryId);\n };\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n dispatch(banLeagueEntry(league.id, apiDataFromState()));\n };\n\n const apiDataFromState = (): IBanEntryData => ({\n entry,\n });\n\n const disabled = !entry;\n return (\n <>\n {t(\"addBan.title\", \"Add league suspensions\")}\n

    \n {t(\n \"addBan.description\",\n \"Search for the player you wish to suspend from this league. Once the player has been suspended they will be unable to rejoin the league again.\"\n )}\n

    \n
    \n \n \n \n \n \n \n
    \n \n );\n};\n\nexport { AddBan as AddBanTest };\n\nexport default withTranslation()(AddBan);\n","import React, { useState } from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { IPrivateLeagueAdmin } from \"../../../core/store/leagues/types\";\nimport Button from \"../../Button\";\nimport { FieldWrap } from \"../../FieldRenderers\";\nimport SubHeading from \"../../SubHeading\";\nimport EntrySelector from \"./EntrySelector\";\n\ninterface IOwnProps {\n updateAdmin: (entryId: number) => void;\n league: IPrivateLeagueAdmin;\n}\n\ntype Props = IOwnProps & WithTranslation;\n\nconst ChangeAdmin: React.FC = ({ league, t, updateAdmin }) => {\n const [entry, setEntry] = useState(0);\n\n const handleEntryChange = (entryId: number) => {\n setEntry(entryId);\n };\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n updateAdmin(entry);\n };\n\n const disabled = !entry;\n return (\n <>\n \n {t(\"changeAdmin.title\", \"Change league administrator\")}\n \n
    \n \n \n \n \n \n \n
    \n \n );\n};\n\nexport default withTranslation()(ChangeAdmin);\n","import React, { useState } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getEvents } from \"../../../core/store/events/reducers\";\nimport { updateClassicLeague } from \"../../../core/store/leagues/thunks\";\nimport {\n IPrivateLeagueAdmin,\n IUpdateClassicLeagueData,\n LeagueCodePrivacy,\n} from \"../../../core/store/leagues/types\";\nimport Button from \"../../Button\";\nimport {\n CheckboxField,\n FieldWrap,\n InputField,\n SelectField,\n} from \"../../FieldRenderers\";\nimport SubHeading from \"../../SubHeading\";\n\ninterface IOwnProps {\n league: IPrivateLeagueAdmin;\n}\ninterface IState {\n codePrivacy: LeagueCodePrivacy;\n closed: boolean;\n name: string;\n startEvent: number;\n}\n\ntype Props = IOwnProps & WithTranslation;\n\nconst ClassicDetails: React.FC = ({ league, t }) => {\n const dispatch = useDispatch();\n const [state, setState] = useState({\n closed: league.closed,\n codePrivacy: league.code_privacy,\n name: league.name,\n startEvent: league.start_event,\n });\n\n const events = useSelector(getEvents);\n\n const requiredFields: Array = [\n \"codePrivacy\",\n \"name\",\n \"startEvent\",\n ];\n\n const privacyOptions: { [key: string]: string } = {\n a: \"All game players\",\n l: \"League members\",\n p: \"League administrator\",\n };\n\n const apiDataFromState = (): IUpdateClassicLeagueData => ({\n admin_entry: league.admin_entry,\n closed: state.closed,\n code_privacy: state.codePrivacy,\n name: state.name,\n start_event: state.startEvent,\n });\n\n const updateLeague = (leagueId: number, data: IUpdateClassicLeagueData) =>\n dispatch(updateClassicLeague(leagueId, data));\n\n const handleNameChange = (e: React.FormEvent) =>\n setState({ ...state, name: e.currentTarget.value });\n\n const handleCodePrivacyChange = (e: React.FormEvent) =>\n setState({\n ...state,\n codePrivacy: e.currentTarget.value as LeagueCodePrivacy,\n });\n\n const handleStartEventChange = (e: React.FormEvent) =>\n setState({ ...state, startEvent: parseInt(e.currentTarget.value, 10) });\n\n const handleClosedChange = (e: React.FormEvent) =>\n setState({ ...state, closed: e.currentTarget.checked ? true : false });\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n updateLeague(league.id, apiDataFromState());\n };\n\n const disabled = requiredFields.some((e) => !state[e]);\n return (\n <>\n {t(\"classicDetails.title\", \"League details\")}\n
    \n \n \n \n \n \n {Object.keys(privacyOptions).map((p) => (\n \n ))}\n \n \n \n \n {events.map((e) => (\n \n {e.name}\n \n ))}\n \n \n \n \n \n \n \n \n
    \n \n );\n};\n\nexport { ClassicDetails as ClassicDetailsTest };\n\nexport default withTranslation()(ClassicDetails);\n","import React, { useEffect } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState } from \"../../../core/store\";\nimport { getCode } from \"../../../core/store/leagues/reducers\";\nimport {\n fetchLeagueCode,\n regenerateLeagueCode,\n} from \"../../../core/store/leagues/thunks\";\nimport { IPrivateLeagueAdmin } from \"../../../core/store/leagues/types\";\nimport Button from \"../../Button\";\n\ninterface IOwnProps {\n league: IPrivateLeagueAdmin;\n}\n\ntype Props = IOwnProps & WithTranslation;\n\nconst Code: React.FC = ({ league, t }) => {\n const dispatch = useDispatch();\n\n const code = useSelector((state: RootState) => getCode(state, league.id));\n\n useEffect(() => {\n if (!league.closed) {\n dispatch(fetchLeagueCode(league.id));\n }\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n if (league.closed) {\n return null;\n }\n\n return (\n <>\n

    \n {t(\"leagues.code\", \"League code\")}: {code}\n

    \n \n \n \n \n );\n};\n\nexport { Code as CodeTest };\n\nexport default withTranslation()(Code);\n","import React from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch } from \"react-redux\";\nimport { deleteLeague } from \"../../../core/store/leagues/thunks\";\nimport { IPrivateLeagueAdmin } from \"../../../core/store/leagues/types\";\nimport Button from \"../../Button\";\nimport SubHeading from \"../../SubHeading\";\n\ninterface IOwnProps {\n league: IPrivateLeagueAdmin;\n}\n\ntype Props = IOwnProps & WithTranslation;\n\nconst Delete: React.FC = ({ league, t }) => {\n const dispatch = useDispatch();\n\n const remove = (leagueId: number) => {\n if (window.confirm(\"Are you sure you want to delete this league?\")) {\n dispatch(deleteLeague(leagueId));\n }\n };\n return (\n <>\n {t(\"delete.title\", \"Delete league\")}\n

    \n {t(\n \"delete.description\",\n \"To delete the league, click on the button below. The players entered in the league will still exist and can enter other leagues if desired.\"\n )}\n

    \n \n \n );\n};\n\nexport { Delete as DeleteTest };\n\nexport default withTranslation()(Delete);\n","import React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { useDispatch } from \"react-redux\";\nimport { unbanLeagueEntry } from \"../../../core/store/leagues/thunks\";\nimport { IPrivateLeagueAdmin } from \"../../../core/store/leagues/types\";\nimport Button from \"../../Button\";\nimport SubHeading from \"../../SubHeading\";\n\ninterface IOwnProps {\n league: IPrivateLeagueAdmin;\n}\n\ntype Props = IOwnProps & WithTranslation;\n\nconst RemoveBan: React.FC = ({ league, t }) => {\n const dispatch = useDispatch();\n\n if (!league.bans.length) {\n return null;\n }\n\n return (\n <>\n \n {t(\"removeBan.title\", \"Remove league suspensions\")}\n \n

    \n {t(\n \"removeBan.description\",\n \"If a player has a suspension removed, they will need to join the league again.\"\n )}\n

    \n
      \n {league.bans.map((b) => (\n
    • \n {b.player_name}\n \n dispatch(unbanLeagueEntry(league.id, { entry: b.entry }))\n }\n >\n {t(\"removeBan.suspendPlayer\", \"Remove suspension\")}\n \n
    • \n ))}\n
    \n \n );\n};\n\nexport { RemoveBan as RemoveBanTest };\n\nexport default withTranslation()(RemoveBan);\n","import { RouteComponentProps } from \"@reach/router\";\nimport React, { useEffect } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState } from \"../../core/store\";\nimport { getLeagueAdmin } from \"../../core/store/leagues/reducers\";\nimport {\n fetchClassicLeagueForAdmin,\n updateClassicLeague,\n} from \"../../core/store/leagues/thunks\";\nimport {\n IPrivateLeagueAdmin,\n IUpdateClassicLeagueData,\n} from \"../../core/store/leagues/types\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\nimport AddBan from \"./admin/AddBan\";\nimport ChangeAdmin from \"./admin/ChangeAdmin\";\nimport ClassicDetails from \"./admin/ClassicDetails\";\nimport Code from \"./admin/Code\";\nimport Delete from \"./admin/Delete\";\nimport RemoveBan from \"./admin/RemoveBan\";\n\ntype Props = RouteComponentProps<{ leagueId: string }> & WithTranslation;\n\nconst AdminClassic: React.FC = ({ leagueId, t }) => {\n const dispatch = useDispatch();\n\n const leagueNumber =\n leagueId && parseInt(leagueId, 10) ? parseInt(leagueId, 10) : 0;\n const league = useSelector((state: RootState) =>\n leagueNumber\n ? (getLeagueAdmin(state, leagueNumber) as IPrivateLeagueAdmin)\n : null\n );\n\n const updateLeague = (leagueId: number, data: IUpdateClassicLeagueData) =>\n dispatch(updateClassicLeague(leagueId, data));\n\n useEffect(() => {\n if (leagueNumber) {\n dispatch(fetchClassicLeagueForAdmin(leagueNumber));\n }\n }, [dispatch, leagueNumber]);\n\n if (!league) {\n return null;\n }\n return (\n \n
    \n \n {t(\"leagues.adminTitle\", \"League Administration\")}\n \n \n \n \n \n \n \n \n \n \n \n \n updateLeague(league.id, {\n admin_entry: entryId,\n closed: league.closed,\n code_privacy: league.code_privacy,\n name: league.name,\n start_event: league.start_event,\n })\n }\n />\n \n \n \n \n \n
    \n
    \n );\n};\n\nexport { AdminClassic as AdminClassicTest };\n\nexport default withTranslation()(AdminClassic);\n","import range from \"lodash/range\";\nimport React, { useState } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { getFutureEvents } from \"../../../core/store/events/reducers\";\nimport { getSettings } from \"../../../core/store/game/reducers\";\nimport { ISettings } from \"../../../core/store/game/types\";\nimport { updateH2HLeague } from \"../../../core/store/leagues/thunks\";\nimport {\n IPrivateLeagueAdmin,\n IUpdateH2HLeagueData,\n LeagueCodePrivacy,\n} from \"../../../core/store/leagues/types\";\nimport Button from \"../../Button\";\nimport {\n CheckboxField,\n FieldWrap,\n InputField,\n SelectField,\n} from \"../../FieldRenderers\";\nimport SubHeading from \"../../SubHeading\";\n\ninterface IOwnProps {\n league: IPrivateLeagueAdmin;\n started: boolean;\n}\n\ninterface IState {\n codePrivacy: LeagueCodePrivacy;\n closed: boolean;\n koRounds: number;\n maxEntries: number;\n name: string;\n startEvent: number;\n}\n\ntype Props = IOwnProps & WithTranslation;\n\nconst H2HDetails: React.FC = ({ league, started, t }) => {\n const dispatch = useDispatch();\n const [state, setState] = useState({\n closed: league.closed,\n codePrivacy: league.code_privacy,\n koRounds: league.ko_rounds || 0,\n maxEntries: league.max_entries || 0,\n name: league.name,\n startEvent: league.start_event,\n });\n\n const events = useSelector(getFutureEvents);\n const settings = useSelector(getSettings) as ISettings;\n\n const requiredFields: Array = [\n \"codePrivacy\",\n \"name\",\n \"startEvent\",\n ];\n\n const privacyOptions: { [key: string]: string } = {\n a: \"All game players\",\n l: \"League members\",\n p: \"League administrator\",\n };\n\n const maximumKoRounds = () => {\n const remainingEvents = events.length;\n if (remainingEvents <= 1) {\n return 0;\n }\n return Math.min(\n settings.league_max_ko_rounds_private_h2h,\n remainingEvents - 1\n );\n };\n\n const minimumSize = (koRounds: number) =>\n state.koRounds ? Math.pow(2, koRounds) : 2;\n\n const validStartingEvents = (koRounds: number) =>\n koRounds ? events.slice(0, -koRounds) : events;\n\n const apiDataFromState = (): IUpdateH2HLeagueData => ({\n admin_entry: league.admin_entry,\n closed: state.closed,\n code_privacy: state.codePrivacy,\n ko_rounds: state.koRounds || null,\n max_entries: state.maxEntries || null,\n name: state.name,\n start_event: state.startEvent,\n });\n\n const handleNameChange = (e: React.FormEvent) =>\n setState({ ...state, name: e.currentTarget.value });\n\n const handleCodePrivacyChange = (e: React.FormEvent) =>\n setState({\n ...state,\n codePrivacy: e.currentTarget.value as LeagueCodePrivacy,\n });\n\n const handleStartEventChange = (e: React.FormEvent) =>\n setState({ ...state, startEvent: parseInt(e.currentTarget.value, 10) });\n\n const handleClosedChange = (e: React.FormEvent) =>\n setState({ ...state, closed: e.currentTarget.checked ? true : false });\n\n const handleMaxEntriesChange = (e: React.FormEvent) =>\n setState({ ...state, maxEntries: parseInt(e.currentTarget.value, 10) });\n\n const handleKoRoundsChange = (e: React.FormEvent) => {\n const koRounds = parseInt(e.currentTarget.value, 10);\n const minimumSizeKoRounds = minimumSize(koRounds);\n const events = validStartingEvents(koRounds);\n setState({\n ...state,\n koRounds,\n maxEntries: state.maxEntries\n ? Math.max(minimumSizeKoRounds, state.maxEntries)\n : 0,\n startEvent: Math.min(events[events.length - 1].id, state.startEvent),\n });\n };\n\n const updateLeague: (leagueId: number, data: IUpdateH2HLeagueData) => void = (\n leagueId,\n data\n ) => dispatch(updateH2HLeague(leagueId, data));\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n updateLeague(league.id, apiDataFromState());\n };\n\n const disabled = requiredFields.some((e) => !state[e]);\n return (\n <>\n {t(\"h2hDetails.details\", \"League details\")}\n
    \n \n \n \n {!started && (\n <>\n \n \n {Object.keys(privacyOptions).map((p) => (\n \n {privacyOptions[p]}\n \n ))}\n \n \n \n \n {validStartingEvents(state.koRounds).map((e) => (\n \n {e.name}\n \n ))}\n \n \n \n \n \n {range(\n minimumSize(state.koRounds),\n settings.league_max_size_private_h2h + 1\n ).map((num) => (\n \n {num}\n \n ))}\n \n \n {maximumKoRounds() > 0 && (\n \n \n {range(1, maximumKoRounds() + 1).map((num) => (\n \n {num}\n \n ))}\n \n )}\n \n \n \n \n )}\n \n \n \n \n \n );\n};\n\nexport { H2HDetails as H2HDetailsTest };\n\nexport default withTranslation()(H2HDetails);\n","import { RouteComponentProps } from \"@reach/router\";\nimport React, { useEffect } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState } from \"../../core/store\";\nimport { getCurrentEvent } from \"../../core/store/events/reducers\";\nimport { getLeagueAdmin } from \"../../core/store/leagues/reducers\";\nimport {\n fetchH2HLeagueForAdmin,\n updateH2HLeague,\n} from \"../../core/store/leagues/thunks\";\nimport {\n IPrivateLeagueAdmin,\n IUpdateH2HLeagueData,\n} from \"../../core/store/leagues/types\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\nimport AddBan from \"./admin/AddBan\";\nimport ChangeAdmin from \"./admin/ChangeAdmin\";\nimport Code from \"./admin/Code\";\nimport Delete from \"./admin/Delete\";\nimport H2HDetails from \"./admin/H2HDetails\";\nimport RemoveBan from \"./admin/RemoveBan\";\n\ntype Props = RouteComponentProps<{ leagueId: string }> & WithTranslation;\n\nconst AdminClassic: React.FC = ({ leagueId, t }) => {\n const dispatch = useDispatch();\n const leagueNumber =\n leagueId && parseInt(leagueId, 10) ? parseInt(leagueId, 10) : 0;\n const league = useSelector((state: RootState) =>\n leagueNumber\n ? (getLeagueAdmin(state, leagueNumber) as IPrivateLeagueAdmin)\n : null\n );\n const now = useSelector(getCurrentEvent);\n\n const updateLeague: (leagueId: number, data: IUpdateH2HLeagueData) => void = (\n leagueId,\n data\n ) => dispatch(updateH2HLeague(leagueId, data));\n\n useEffect(() => {\n if (leagueNumber) {\n dispatch(fetchH2HLeagueForAdmin(leagueNumber));\n }\n }, [dispatch, leagueNumber]);\n\n if (!league) {\n return null;\n }\n\n const started = Boolean(now && now.id >= league.start_event);\n return (\n \n
    \n \n {t(\"leagues.adminTitle\", \"League Administration\")}\n {!started && }\n \n \n \n {!started && (\n \n \n \n )}\n {!started && (\n \n \n \n )}\n {!started && (\n \n \n updateLeague(league.id, {\n admin_entry: entryId,\n closed: league.closed,\n code_privacy: league.code_privacy,\n ko_rounds: league.ko_rounds,\n max_entries: league.max_entries,\n name: league.name,\n start_event: league.start_event,\n })\n }\n />\n \n )}\n {!started && (\n \n \n \n )}\n \n
    \n
    \n );\n};\n\nexport { AdminClassic as AdminClassicTest };\n\nexport default withTranslation()(AdminClassic);\n","import React, { useEffect } from \"react\";\nimport { RouteComponentProps, navigate } from \"@reach/router\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { ThunkDispatch } from \"../../core/store\";\nimport { setCode, clearCode } from \"../../core/store/leagues/thunks\";\n\n// AutoJoin component simply stores the code in local storage and redirects\n// the user somewhere sensible.\n\ntype OwnProps = RouteComponentProps<{ code: string }>;\n\nconst AutoJoin: React.FC = ({ code }) => {\n const player = useSelector(getPlayerData);\n const reduxDispatch = useDispatch();\n useEffect(() => {\n code ? reduxDispatch(setCode(code)) : reduxDispatch(clearCode());\n });\n const next =\n player && player.entry ? \"/my-team\" : player ? \"/squad-selection\" : \"/\";\n\n // Need this to make sure LocationProvider is ready\n setTimeout(() => {\n return navigate(next, {\n replace: true,\n });\n }, 0);\n return
    ;\n};\n\nexport default AutoJoin;\n","import { Link } from \"@reach/router\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Box } from \"rebass/styled-components\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport SubHeading from \"../SubHeading\";\nimport Title from \"../Title\";\nimport { ControlArrowRight } from \"../icons/Arrows\";\n\nconst Create: React.FC = () => {\n const { t } = useTranslation();\n return (\n \n
    \n \n \n {t(\"createLeagues.title\", \"Choose a league type to create\")}\n \n \n \n {t(\"createLeagues.classic.title\", \"Classic scoring\")}\n \n

    \n {t(\n \"createLeagues.classic.p1\",\n \"In a league with classic scoring, teams are ranked based on their total points in the game. You can join or leave a league with classic scoring at any point during the season.\"\n )}\n

    \n }\n to=\"classic\"\n >\n {t(\"createLeagues.classic.button\", \"Create classic league & cup\")}\n \n
    \n \n \n {t(\"createLeagues.h2H.title\", \"Head-to-Head scoring\")}\n \n

    \n {t(\n \"createLeagues.h2H.p1\",\n \"In a league with head-to-head scoring, every team plays a match against another team in the league each Round. The match result is based on the Round score of each team minus any transfer points spent preparing for the Round.\"\n )}\n

    \n

    \n {t(\n \"createLeagues.h2H.p2\",\n \"The Head-to-Head schedule is generated at the start of the league's first Round. Once the schedule has been generated the league is locked and teams will not be able to join or leave.\"\n )}\n

    \n
    \n \n }\n to=\"h2h\"\n >\n {t(\"createLeagues.h2H.button\", \"Create head-to-head league\")}\n \n \n
    \n
    \n
    \n );\n};\n\nexport default Create;\n","import React, { useState } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getEvents } from \"../../core/store/events/reducers\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { getCreateClassicLeagueError } from \"../../core/store/leagues/reducers\";\nimport { createClassicLeague } from \"../../core/store/leagues/thunks\";\nimport { ICreateClassicLeagueData } from \"../../core/store/leagues/types\";\nimport Button from \"../Button\";\nimport Collapsible from \"../Collapsible\";\nimport Copy from \"../Copy\";\nimport { FieldWrap, InputField, SelectField } from \"../FieldRenderers\";\nimport { Main, Wrapper } from \"../Layout\";\nimport SubHeading from \"../SubHeading\";\nimport Title from \"../Title\";\n\ninterface IState {\n name: string;\n startEvent: number;\n}\n\ntype Props = WithTranslation;\n\nconst CreateClassic: React.FC = ({ t }) => {\n const dispatch = useDispatch();\n const [state, setState] = useState({\n name: \"\",\n startEvent: 1,\n });\n\n const error = useSelector(getCreateClassicLeagueError);\n const events = useSelector(getEvents);\n const settings = useSelector(getSettings);\n\n const requiredFields: Array = [\"name\", \"startEvent\"];\n\n const apiDataFromState = (): ICreateClassicLeagueData => ({\n name: state.name,\n start_event: state.startEvent,\n });\n\n const handleNameChange = (e: React.FormEvent) =>\n setState({ ...state, name: e.currentTarget.value });\n\n const handleStartEventChange = (e: React.FormEvent) =>\n setState({ ...state, startEvent: parseInt(e.currentTarget.value, 10) });\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n dispatch(createClassicLeague(apiDataFromState()));\n };\n\n const disabled = requiredFields.some((e) => !state[e]);\n return (\n \n
    \n \n \n {t(\"createClassic.title\", \"Create a new classic league & cup\")}\n \n {error ? (\n error.badRequest &&\n error.badRequest.non_field_errors &&\n error.badRequest.non_field_errors[0].code ===\n \"max_private_entries\" ? (\n

    \n {t(\n \"createClassic.error\",\n \"You may only enter {{ maxPrivateEntries }} private leagues\",\n {\n maxPrivateEntries:\n settings && settings.league_join_private_max,\n }\n )}\n

    \n ) : (\n

    {JSON.stringify(error)}

    \n )\n ) : (\n \"\"\n )}\n
    \n \n \n \n \n \n {events.map((e) => (\n \n {e.name}\n \n ))}\n \n \n \n \n \n {t(\"createClassic.theCup\", \"The Cup\")}\n

    \n {t(\n \"createClassic.theCupExplain\",\n \"League cups are now included in Private Classic Leagues. The League Cups will start in the second half of the season dependent on the size of your league and will conclude in Round 30.\"\n )}\n

    \n \n

    \n {t(\n \"createClassic.theCupHowExplain\",\n \"In the first round of the cup each qualifying team will be randomly drawn against another. The winner (the team with the highest Round score minus any transfer points), will progress to the second round of the cup and another random draw. The loser will be eliminated from the cup. This process continues until the final round of the cup when there will only be two teams remaining.\"\n )}\n

    \n

    \n {t(\n \"createClassic.theCupHowExplain1\",\n \"In the case of a draw, then the following tie-breaks will be applied until a winner is found:\"\n )}\n

    \n
      \n
    1. \n {t(\n \"createClassic.theCupHowExplain2\",\n \"Most goals scored in the round\"\n )}\n
    2. \n
    3. \n {t(\n \"createClassic.theCupHowExplain3\",\n \"Fewest goals conceded in the round\"\n )}\n
    4. \n
    5. \n {t(\"createClassic.theCupHowExplain4\", \"Virtual coin toss\")}\n
    6. \n
    \n \n \n
    \n
    \n
    \n );\n};\n\nexport { CreateClassic as CreateClassicTest };\n\nexport default withTranslation()(CreateClassic);\n","import range from \"lodash/range\";\nimport React, { useState } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getFutureEvents } from \"../../core/store/events/reducers\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport { getCreateH2HLeagueError } from \"../../core/store/leagues/reducers\";\nimport { createH2HLeague } from \"../../core/store/leagues/thunks\";\nimport { ICreateH2HLeagueData } from \"../../core/store/leagues/types\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { FieldWrap, InputField, SelectField } from \"../FieldRenderers\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\n\ninterface IState {\n koRounds: number;\n maxEntries: number;\n name: string;\n startEvent: number;\n}\n\ntype Props = WithTranslation;\n\nconst CreateH2H: React.FC = ({ t }) => {\n const dispatch = useDispatch();\n const error = useSelector(getCreateH2HLeagueError);\n const events = useSelector(getFutureEvents);\n const settings = useSelector(getSettings) as ISettings;\n\n const requiredFields: Array = [\"name\", \"startEvent\"];\n\n const [state, setState] = useState({\n koRounds: 0,\n maxEntries: 0,\n name: \"\",\n startEvent: events.length ? events[0].id : 1,\n });\n\n const maximumKoRounds = () => {\n const remainingEvents = events.length;\n if (remainingEvents <= 1) {\n return 0;\n }\n return Math.min(\n settings.league_max_ko_rounds_private_h2h,\n remainingEvents - 1\n );\n };\n\n const minimumSize = (koRounds: number) =>\n state.koRounds ? Math.pow(2, koRounds) : 2;\n\n const validStartingEvents = (koRounds: number) =>\n koRounds ? events.slice(0, -koRounds) : events;\n\n const apiDataFromState = (): ICreateH2HLeagueData => ({\n ko_rounds: state.koRounds || null,\n max_entries: state.maxEntries || null,\n name: state.name,\n start_event: state.startEvent,\n });\n\n const handleNameChange = (e: React.FormEvent) =>\n setState({ ...state, name: e.currentTarget.value });\n\n const handleStartEventChange = (e: React.FormEvent) =>\n setState({ ...state, startEvent: parseInt(e.currentTarget.value, 10) });\n\n const handleMaxEntriesChange = (e: React.FormEvent) =>\n setState({ ...state, maxEntries: parseInt(e.currentTarget.value, 10) });\n\n const handleKoRoundsChange = (e: React.FormEvent) => {\n const koRounds = parseInt(e.currentTarget.value, 10);\n const minimumSizeKoRounds = minimumSize(koRounds);\n const events = validStartingEvents(koRounds);\n setState({\n ...state,\n koRounds,\n maxEntries: state.maxEntries\n ? Math.max(minimumSizeKoRounds, state.maxEntries)\n : 0,\n startEvent: Math.min(events[events.length - 1].id, state.startEvent),\n });\n };\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n dispatch(createH2HLeague(apiDataFromState()));\n };\n\n if (!events.length) {\n return null;\n }\n const disabled = requiredFields.some((e) => !state[e]);\n return (\n \n
    \n \n \n {t(\"createH2H.title\", \"Create a new head-to-head league\")}\n \n {error ? (\n error.badRequest &&\n error.badRequest.non_field_errors &&\n error.badRequest.non_field_errors[0].code ===\n \"max_private_entries\" ? (\n

    \n {t(\n \"createH2H.errors.maxPrivateEntry\",\n \"You may only enter {{ maxPrivateEntries }} private leagues\",\n {\n maxPrivateEntries:\n settings && settings.league_join_private_max,\n }\n )}\n

    \n ) : (\n

    {JSON.stringify(error)}

    \n )\n ) : (\n \"\"\n )}\n
    \n \n \n \n \n \n {validStartingEvents(state.koRounds).map((e) => (\n \n {e.name}\n \n ))}\n \n \n \n \n \n {range(\n minimumSize(state.koRounds),\n settings.league_max_size_private_h2h + 1\n ).map((num) => (\n \n {num}\n \n ))}\n \n \n {maximumKoRounds() > 0 && (\n \n \n \n {range(1, maximumKoRounds() + 1).map((num) => (\n \n {num}\n \n ))}\n \n \n )}\n \n \n \n
    \n
    \n
    \n
    \n );\n};\n\nexport { CreateH2H as CreateH2HTest };\n\nexport default withTranslation()(CreateH2H);\n","import { rgba } from \"polished\";\nimport styled from \"styled-components/macro\";\n\nconst TextDivider = styled.div`\n margin: ${({ theme }) => theme.space[4]} ${({ theme }) => theme.space[2]};\n font-size: ${({ theme }) => theme.fontSizes[0]};\n text-align: center;\n text-transform: lowercase;\n overflow: hidden;\n\n ::before,\n ::after {\n content: \"\";\n position: relative;\n display: inline-block;\n width: 50%;\n height: 1px;\n background-color: ${rgba(\"black\", 0.1)};\n vertical-align: middle;\n }\n\n ::before {\n right: ${({ theme }) => theme.space[2]};\n margin-inline-start: -50%;\n }\n\n ::after {\n left: ${({ theme }) => theme.space[2]};\n margin-inline-end: -50%;\n }\n`;\n\nexport default TextDivider;\n","import { Link } from \"@reach/router\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Box } from \"rebass\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport SubHeading from \"../SubHeading\";\nimport TextDivider from \"../TextDivider\";\nimport Title from \"../Title\";\nimport { ControlArrowRight } from \"../icons/Arrows\";\n\nconst CreateJoin: React.FC = () => {\n const { t } = useTranslation();\n return (\n \n
    \n \n \n {t(\"createJoin.title\", \"Create and join leagues\")}\n \n {t(\"createJoin.joinLeague.title\", \"Join a League & cup\")}\n \n

    \n {t(\n \"createJoin.joinLeague.p1\",\n \"Join a private or public league to compete against friends and other game players.\"\n )}\n

    \n }\n to=\"../join\"\n >\n {t(\"createJoin.joinLeague.button\", \"Join a league & cup\")}\n \n {t(\"createJoin.or\", \"or\")}\n \n {t(\"createJoin.createLeague.title\", \"Create a new league & cup\")}\n \n

    \n {t(\n \"createJoin.createLeague.p1\",\n \"Create a private league to compete against friends.\"\n )}\n

    \n }\n to=\"../create\"\n >\n {t(\"createJoin.createLeague.button\", \"Create a league & cup\")}\n \n
    \n
    \n
    \n
    \n );\n};\n\nexport default CreateJoin;\n","import { RouteComponentProps } from \"@reach/router\";\nimport React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getEventsById } from \"../../core/store/events/reducers\";\nimport { getLeagueCupStatus } from \"../../core/store/leagues/reducers\";\nimport { fetchLeagueCupStatus } from \"../../core/store/leagues/thunks\";\nimport { getIdFromEventName } from \"../../utils/events\";\nimport BoldLink from \"../BoldLink\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport SubHeading from \"../SubHeading\";\nimport Title from \"../Title\";\n\nconst StyledMain = styled(Main)`\n width: 100%;\n padding: ${({ theme }) => `${theme.space[4]} ${theme.space[2]}`};\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding: ${({ theme }) => `${theme.space[8]} ${theme.space[4]}`};\n }\n`;\n\nconst StyledSubheading = styled(SubHeading)`\n margin: ${({ theme }) => `${theme.space[8]} ${theme.space[0]}`};\n`;\n\nconst StyledParagraph = styled.p`\n padding-top: ${({ theme }) => theme.space[4]};\n`;\n\ntype OwnProps = RouteComponentProps<{ leagueId: string }>;\n\nconst CupNotStarted: React.FC = ({ leagueId }) => {\n const leagueNumber = Number(leagueId!) || 0;\n const { t } = useTranslation();\n\n const cupStatus = useSelector((state: RootState) =>\n leagueNumber ? getLeagueCupStatus(state, leagueNumber) : null\n );\n const eventsById = useSelector(getEventsById);\n\n const cupEventNameId = useSelector((state: RootState) =>\n cupStatus?.qualification_event\n ? getIdFromEventName(eventsById[cupStatus.qualification_event].name)\n : null\n );\n const cupEventNameIdPlus = useSelector((state: RootState) =>\n cupStatus?.qualification_event\n ? getIdFromEventName(eventsById[cupStatus.qualification_event + 1].name)\n : null\n );\n\n const reduxDispatch = useDispatch();\n\n useEffect(() => {\n leagueNumber &&\n !cupStatus &&\n reduxDispatch(fetchLeagueCupStatus(leagueNumber));\n }, [leagueNumber, cupStatus, reduxDispatch]);\n\n if (!cupStatus) {\n return null;\n }\n\n return (\n \n \n \n {cupStatus.name}\n\n \n \n {t(\"cupNotStarted.standings\", \"View league standings\")}\n \n \n\n {cupStatus.qualification_event ? (\n <>\n \n {t(\n \"cupNotStarted.starts\",\n \"The Cup is scheduled to start in RD {{ round }}\",\n { round: cupEventNameIdPlus }\n )}\n \n {cupStatus.has_byes ? (\n <>\n

    \n {t(\n \"cupNotStarted.fixtures\",\n \"Fixtures will be determined at the end of Round {{ round }}\",\n { round: cupEventNameId }\n )}{\" \"}\n {cupStatus.qualification_numbers > 2 && (\n <>\n {t(\n \"cupNotStarted.qualify1\",\n \"If there are {{ qualification_numbers }} teams in the associated league, then each team will have an opponent in Round {{ qualification_event }}.\",\n {\n qualification_numbers:\n cupStatus.qualification_numbers,\n qualification_event: cupEventNameIdPlus,\n }\n )}\n {cupStatus.qualification_numbers === 4 &&\n t(\n \"cupNotStarted.qualify2\",\n \"If there are 3 teams in the league, 1 team will receive a bye in Round {{ qualification_event_plus }} based on their score in Round {{ qualification_event_plus }}\",\n {\n qualification_event_plus: cupEventNameIdPlus,\n qualification_event: cupEventNameId,\n }\n )}{\" \"}\n {t(\n \"cupNotStarted.qualify3\",\n \"If there are between {{ qualification_numbers_div }} and {{ qualification_numbers_min }} teams in the league, some teams will receive a bye in Round {{ qualification_numbers_plus }} based on their score in Round {{ qualification_event }}\",\n {\n qualification_numbers_div:\n cupStatus.qualification_numbers / 2 + 1,\n qualification_numbers_min:\n cupStatus.qualification_numbers - 1,\n qualification_numbers_plus: cupEventNameIdPlus,\n qualification_event: cupEventNameId,\n }\n )}\n \n )}\n

    \n\n

    \n {t(\n \"cupNotStarted.qualify4\",\n \"The starting round of the cup is determined by the number of teams in the associated league and the final will be contested in Round 30.\"\n )}\n

    \n

    \n {t(\n \"cupNotStarted.qualify5\",\n \"You will not be entered into the cup if you have joined the league after the Round prior to the cup starting.\"\n )}\n

    \n\n \n {t(\"cupNotStarted.qualify6\", \"How the cup works\")}\n \n

    \n {t(\n \"cupNotStarted.qualify7\",\n \"Each team will be randomly drawn against another unless they have received a bye. The winner (the team with the highest Round score minus any transfer points), will progress to the process continues until the final round when the two remaining teams contest the cup final. If a cup match is drawn, then the following tie-breaks will be applied until a winner is found:\"\n )}\n

    \n
      \n
    1. \n {t(\n \"cupNotStarted.qualify8\",\n \"Most goals scored in the Round\"\n )}\n
    2. \n
    3. \n {t(\n \"cupNotStarted.qualify9\",\n \"Fewest goals conceded in the Round\"\n )}\n
    4. \n
    5. {t(\"cupNotStarted.qualify10\", \"Virtual coin toss\")}
    6. \n
    \n \n ) : (\n <>\n

    \n {t(\n \"cupNotStarted.qualify11\",\n \"The top {{qualification_numbers}} ranked managers in Round {{qualification_event}} will be entered into the first round of the cup in Round {{qualification_numbers_plus}}. The final will be contested in Round 30.\",\n {\n qualification_numbers: cupStatus.qualification_numbers,\n qualification_event: cupEventNameId,\n qualification_numbers_plus: cupEventNameIdPlus,\n }\n )}\n

    \n\n \n {t(\"cupNotStarted.qualify12\", \"How the cup works\")}\n \n

    \n {t(\n \"cupNotStarted.qualify13\",\n \"Each qualifying team will be randomly drawn against another in the first round. The winner (the team with the highest Round score minus any transfer points), will progress to the second round and another random draw, the losers are out! This process continues until the final round when the two remaining teams contest the cup final. If a cup match is drawn, then the following tie-breaks will be applied until a winner is found:\"\n )}\n

    \n
      \n
    1. \n {t(\n \"cupNotStarted.qualify14\",\n \"Most goals scored in the Round\"\n )}\n
    2. \n
    3. \n {t(\n \"cupNotStarted.qualify15\",\n \"Fewest goals conceded in the Round\"\n )}\n
    4. \n
    5. {t(\"cupNotStarted.qualify16\", \"Virtual coin toss\")}
    6. \n
    \n \n )}\n \n ) : (\n \n {t(\n \"cupNotStarted.qualify17\",\n \"There is no information available for this cup yet.\"\n )}\n \n )}\n
    \n
    \n
    \n );\n};\n\nexport default CupNotStarted;\n","import { RouteComponentProps } from \"@reach/router\";\nimport { TFunction } from \"i18next\";\nimport React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport useClipboard from \"react-use-clipboard\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getLeagueForEntry } from \"../../core/store/entries/reducers\";\nimport { fetchEntrySummary } from \"../../core/store/entries/thunks\";\nimport { ILeagueEntry } from \"../../core/store/entries/types\";\nimport { getCode } from \"../../core/store/leagues/reducers\";\nimport { fetchLeagueCode } from \"../../core/store/leagues/thunks\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { ILoggedInPlayer } from \"../../core/store/player/types\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\nimport { ControlArrowRight } from \"../icons/Arrows\";\n\nconst LeagueInvite = styled.div`\n margin-bottom: ${({ theme }) => theme.space[4]};\n padding: ${({ theme }) => theme.space[2]};\n background-color: ${({ theme }) => theme.colors.primary};\n color: ${({ theme }) => theme.colors.white};\n font-size: ${({ theme }) => theme.space[3]};\n text-align: center;\n`;\n\nconst LeagueInviteCode = styled.strong`\n margin-inline-start: ${({ theme }) => theme.space[1]};\n color: ${({ theme }) => theme.colors.yellow};\n`;\n\nconst Hr = styled.hr`\n border: 0;\n height: 1px;\n margin-top: 23px;\n margin-bottom: 23px;\n background-color: ${({ theme }) => theme.colors.grey};\n`;\n\nconst inviteMessage = (code: string, leagueName: string, t: TFunction) => [\n t(\"invite.inviteMsg1\", \"Hi\"),\n t(\"invite.inviteMsg2\", \"I've created a league called {{leagueName}}.\", {\n leagueName: leagueName,\n }),\n `${window.location.origin}/leagues/auto-join/${code}`,\n t(\n \"invite.inviteMsg3\",\n \"You shouldn't need the league code, but just in case here it is: {{code}}\",\n {\n code: code,\n }\n ),\n t(\"invite.inviteMsg4\", \"Enjoy the game!\"),\n];\n\ntype OwnProps = RouteComponentProps<{ leagueId: string }>;\n\ninterface IPropsFromState {\n code: string | null;\n entryId: number;\n leagueNumber: number;\n league: ILeagueEntry | null;\n}\n\ninterface IPropsFromDispatch {\n fetchCode: (leagueId: number) => void;\n fetchEntrySummary: (entryId: number) => void;\n}\n\ntype Props = OwnProps & IPropsFromState & IPropsFromDispatch;\n\nconst Invite: React.FC = ({\n code,\n league,\n leagueNumber,\n entryId,\n fetchCode,\n fetchEntrySummary,\n}) => {\n const { t } = useTranslation();\n const codeToCopy = code ? code : \"\";\n const leagueName = league ? league.name : \"\";\n const message = inviteMessage(codeToCopy, leagueName, t);\n const emailText = message ? message.join(\"\\n\\n\") : \"\";\n const emailBody = encodeURIComponent(emailText);\n const emailSubject = t(\"invite.emailSubject\", \"Play RSL Fantasy\");\n const encodedEmailSubject = encodeURI(emailSubject);\n const joinUrl = `${window.location.origin}/leagues/auto-join/${code}`;\n const [isCopied, setCopied] = useClipboard(codeToCopy, {\n successDuration: 500,\n });\n const [isCopiedUrl, setCopiedUrl] = useClipboard(joinUrl, {\n successDuration: 500,\n });\n const [isCopiedEmail, setCopiedEmail] = useClipboard(emailText, {\n successDuration: 500,\n });\n\n useEffect(() => {\n if (leagueNumber) {\n fetchCode(leagueNumber);\n }\n\n fetchEntrySummary(entryId);\n }, [leagueNumber, entryId, fetchCode, fetchEntrySummary]);\n\n if (!codeToCopy || !leagueNumber || !league) {\n return null;\n }\n\n return (\n \n
    \n \n \n \n {t(\"invite.title\", \"Invite players to join\")} {leagueName}\n \n \n \n {t(\"invite.codeToJoin\", \"Code to join this league\")}:\n \n {isCopied ? t(\"invite.copied\", \"Copied!\") : codeToCopy}\n \n \n\n \n\n
    \n\n

    \n {t(\n \"invite.description1\",\n \"When you click the link below, the link will attempt to open your default email program and start a new email.\"\n )}\n

    \n\n

    \n {t(\n \"invite.description2\",\n \"If you do not have a default email program, like Outlook or Mail, enabled on your computer, clicking the link may not result in any action or you may be prompted to set up an email program.\"\n )}\n

    \n\n \n (window.location.href = `mailto:?to=&subject=${encodedEmailSubject}&body=${emailBody}`)\n }\n >\n {t(\"invite.byEmailButton\", \"Share league code by email\")}{\" \"}\n \n \n\n
    \n\n

    \n {t(\n \"invite.description3\",\n \"If you use a browser based webmail application, like Gmail or Yahoo!, you can copy and paste the text below:\"\n )}\n

    \n\n \n {message.map((line) => (\n

    {line}

    \n ))}\n
    \n \n \n \n
    \n
    \n
    \n );\n};\n\nexport { Invite as InviteTest };\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: OwnProps\n): IPropsFromState => {\n const player = getPlayerData(state) as ILoggedInPlayer; // enforced by EntryRoute\n const entry = player.entry;\n const leagueNumber =\n ownProps.leagueId && parseInt(ownProps.leagueId, 10)\n ? parseInt(ownProps.leagueId, 10)\n : 0;\n return {\n code: leagueNumber ? getCode(state, leagueNumber) : null,\n league: leagueNumber ? getLeagueForEntry(state, entry, leagueNumber) : null,\n leagueNumber,\n entryId: entry,\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchCode: (leagueId: number) => dispatch(fetchLeagueCode(leagueId)),\n fetchEntrySummary: (entryId: number) => dispatch(fetchEntrySummary(entryId)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Invite);\n","import { Link } from \"@reach/router\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState } from \"../../core/store\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport SubHeading from \"../SubHeading\";\nimport Title from \"../Title\";\nimport { ControlArrowRight } from \"../icons/Arrows\";\n\ninterface IPropsFromState {\n settings: ISettings | null;\n}\n\nconst Join: React.FC = ({ settings }) => {\n const { t } = useTranslation();\n if (!settings) {\n return null;\n }\n return (\n \n
    \n \n {t(\"join.title\", \"Choose a league type to join\")}\n

    \n {t(\n \"join.p1\",\n \"You can join up to {{ maxPrivateLeagues }} private leagues and {{ maxPublicLeagues }} public leagues.\",\n {\n maxPrivateLeagues: settings.league_join_private_max,\n maxPublicLeagues: settings.league_join_public_max,\n }\n )}\n

    \n \n \n {t(\"join.private.title\", \"Private leagues & cups\")}\n \n

    \n {t(\n \"join.private.p1\",\n \"Join a private league if somebody has given you a league code to enter.\"\n )}\n

    \n\n }\n to=\"private\"\n >\n {t(\"join.private.button\", \"Join private league & cup\")}\n \n
    \n {t(\"join.public.title\", \"Public leagues\")}\n

    \n {t(\n \"join.public.p1\",\n \"Join a public league to play against a small, randomly selected group of other game players.\"\n )}\n

    \n \n }\n to=\"public\"\n >\n {t(\"join.public.button\", \"Join public league\")}\n \n \n
    \n
    \n
    \n );\n};\n\nexport { Join as JoinTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n settings: getSettings(state),\n});\n\nexport default connect(mapStateToProps)(Join);\n","import { TFunction } from \"i18next\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { ISettings } from \"../../core/store/game/types\";\n\ninterface IProps {\n error: string;\n settings: ISettings;\n}\n\nconst JoinLeagueError: React.FC = ({ error, settings }) => {\n const { t } = useTranslation();\n const getErrorMessage = (\n error: string,\n settings: ISettings,\n t: TFunction\n ) => {\n switch (error) {\n case \"max_length\": {\n return t(\n \"joinPrivate.errors.maxLength\",\n \"Invalid code entered. Please check the code.\"\n );\n }\n case \"invalid\": {\n return t(\n \"joinPrivate.errors.invalid\",\n \"Invalid code entered. Please check the code and confirm with the league administrator if you are still having problems.\"\n );\n }\n case \"league_closed\": {\n return t(\n \"joinPrivate.errors.leagueClosed\",\n \"This league is closed to new entries.\"\n );\n }\n case \"already_joined\": {\n return t(\n \"joinPrivate.errors.alreadyJoined\",\n \"You are already entered in this league.\"\n );\n }\n case \"entry_banned\": {\n return t(\n \"joinPrivate.errors.entryBanned\",\n \"The creator of this league has banned you from entering.\"\n );\n }\n case \"max_private_entries\": {\n return t(\n \"joinPrivate.errors.maxPrivate\",\n \"You are in the maximum number of {{ maxPrivateEntries }} private leagues. Before you can join a new league you will need to leave one of these leagues.\",\n {\n maxPrivateEntries: settings.league_join_private_max,\n }\n );\n }\n case \"public_league_max_exceeded\": {\n return `You may only enter ${settings.league_join_public_max} public leagues`;\n }\n default:\n return error;\n }\n };\n return

    {getErrorMessage(error, settings, t)}

    ;\n};\n\nexport default JoinLeagueError;\n","import { IError } from \"../../core/store\";\n\nexport const getErrorType = (errors: IError | null) => {\n if (errors) {\n if (errors.badRequest) {\n if (errors.badRequest.non_field_errors) {\n return errors.badRequest.non_field_errors[0].code;\n }\n if (errors.badRequest.code) {\n return errors.badRequest.code[0].code;\n }\n }\n return JSON.stringify(errors);\n }\n return \"\";\n};\n","import { navigate } from \"@reach/router\";\nimport React, { useState } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport {\n getJoinPrivateLeagueError,\n getJoinPrivateLeagueSuccess,\n} from \"../../core/store/leagues/reducers\";\nimport { joinPrivateLeague } from \"../../core/store/leagues/thunks\";\nimport { IJoinPrivateLeagueData } from \"../../core/store/leagues/types\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { FieldWrap, InputField } from \"../FieldRenderers\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\nimport JoinLeagueError from \"./JoinLeagueError\";\nimport { getErrorType } from \"./errors\";\n\ntype Props = WithTranslation;\n\nconst JoinPrivate: React.FC = ({ t }) => {\n const dispatch = useDispatch();\n const [code, setCode] = useState(\"\");\n\n const error = getErrorType(useSelector(getJoinPrivateLeagueError));\n const hasJoinedPrivate = useSelector(getJoinPrivateLeagueSuccess);\n const settings = useSelector(getSettings) as ISettings;\n\n const apiDataFromState = (): IJoinPrivateLeagueData => ({\n code,\n });\n\n const handleCodeChange = (e: React.FormEvent) =>\n setCode(e.currentTarget.value);\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n dispatch(joinPrivateLeague(apiDataFromState()));\n };\n\n const disabled = !code;\n\n if (hasJoinedPrivate) {\n navigate(\"/leagues\");\n return null;\n }\n\n return (\n \n
    \n \n {t(\"joinPrivate.title\", \"Join private league & cup\")}\n {error && (\n \n \n {settings && (\n \n )}\n \n \n )}\n \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n );\n};\n\nexport { JoinPrivate as JoinPrivateTest };\n\nexport default withTranslation()(JoinPrivate);\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { IError, RootState, ThunkDispatch } from \"../../core/store\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport { getJoinPublicLeagueError } from \"../../core/store/leagues/reducers\";\nimport { joinPublicLeague } from \"../../core/store/leagues/thunks\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport SubHeading from \"../SubHeading\";\nimport Title from \"../Title\";\n\ninterface IPropsFromState {\n error: IError | null;\n settings: ISettings;\n}\n\ninterface IPropsFromDispatch {\n joinPublicLeagueClassic: () => void;\n joinPublicLeagueH2H: () => void;\n}\n\ntype Props = IPropsFromState & IPropsFromDispatch;\n\nconst JoinPublic: React.FC = ({\n error,\n joinPublicLeagueClassic,\n joinPublicLeagueH2H,\n settings,\n}) => {\n const { t } = useTranslation();\n return (\n \n
    \n \n {t(\"joinPublic.title\", \"Join public league\")}\n {error ? (\n error.badRequest &&\n error.badRequest.non_field_errors &&\n error.badRequest.non_field_errors[0].code ===\n \"public_league_max_exceeded\" ? (\n \n \n {t(\n \"joinPublic.error\",\n \"You may only enter {{ publicLeagueMax }} public leagues\",\n { publicLeagueMax: settings.league_join_public_max }\n )}\n \n \n ) : (\n

    {JSON.stringify(error)}

    \n )\n ) : (\n \"\"\n )}\n \n

    \n {t(\n \"joinPublic.p1\",\n \"Public leagues allow you to compete against {{ maxSizePublicClassic }} randomly assigned game players in a classic league and up to {{ maxSizePublicH2H }} in head-to-head leagues. You can join up to {{ leagueJoinPublicMax }} public leagues.\",\n {\n maxSizePublicClassic: settings.league_max_size_public_classic,\n maxSizePublicH2H: settings.league_max_size_public_h2h,\n leagueJoinPublicMax: settings.league_join_public_max,\n }\n )}\n

    \n

    \n \n {t(\n \"joinPublic.p2\",\n \"Note, you can't remove your team from a public league after the league has started, once the challenge is on there's no quitting.\"\n )}\n \n

    \n
    \n\n \n \n {t(\"joinPublic.classic.title\", \"Classic scoring\")}\n \n

    \n {t(\n \"joinPublic.classic.p1\",\n \"In a league with classic scoring, teams are ranked based on their total points in the game. You can join or leave a league with classic scoring at any point during the season\"\n )}\n

    \n \n
    \n \n {t(\"joinPublic.h2H.button\", \"Head-to-Head scoring\")}\n \n

    \n {t(\n \"joinPublic.h2H.p1\",\n \"In a league with head-to-head scoring, every team plays a match against another team in the league each Round. The match result is based on the Round score of each team minus any transfer points spent preparing for the Round.\"\n )}\n

    \n \n \n \n
    \n
    \n
    \n );\n};\n\nexport { JoinPublic as JoinPublicTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n error: getJoinPublicLeagueError(state),\n settings: getSettings(state) as ISettings,\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n joinPublicLeagueClassic: () => dispatch(joinPublicLeague({ scoring: \"c\" })),\n joinPublicLeagueH2H: () => dispatch(joinPublicLeague({ scoring: \"h\" })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(JoinPublic);\n","import { Link } from \"@reach/router\";\nimport * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\ninterface IArrowProps {\n variant?: string;\n disabled?: boolean;\n justifyContent?: string;\n}\n\nconst ButtonLinkStyles = css`\n display: flex;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n gap: ${({ theme }) => theme.space[1]};\n padding: ${({ theme }) => theme.space[3]};\n border: 0;\n border-radius: 4px;\n font-size: ${({ theme }) => theme.fontSizes[2]};\n background-color: ${({ theme }) => theme.colors.primary};\n color: ${({ theme }) => theme.colors.green};\n text-decoration: none;\n\n ${(props) =>\n props.variant === \"secondary\" &&\n css`\n background: ${({ theme }) => theme.colors.green};\n color: ${({ theme }) => theme.colors.primary};\n text-transform: uppercase;\n `}\n ${(props) =>\n props.justifyContent === \"flexStart\" &&\n css`\n justify-content: flex-start;\n `}\n ${(props) =>\n props.justifyContent === \"flexEnd\" &&\n css`\n justify-content: flex-end;\n `};\n`;\n\nexport const ButtonHyperlink = styled.a`\n ${ButtonLinkStyles}\n`;\n\nconst StyledButtonLink = styled(Link)`\n ${ButtonLinkStyles}\n`;\n\nexport const ButtonLinkCenter = styled.span`\n flex: 1;\n text-align: center;\n`;\n\ninterface IProps {\n onClick?: () => void;\n to: string;\n children: React.ReactNode;\n variant?: string;\n disabled?: boolean;\n justifyContent?: string;\n}\n\ntype Props = IProps;\n\nconst ButtonLink: React.FC = ({\n children,\n onClick,\n to,\n variant = \"primary\",\n disabled = false,\n justifyContent,\n}) => (\n \n {children}\n \n);\n\nexport default ButtonLink;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { IEntryInLeague } from \"../../core/store/leagues/types\";\nimport { SelectField } from \"../FieldRenderers\";\nimport { SelectBox } from \"./Styles\";\n\ninterface IProps {\n entryId: number;\n handleFilterChange: (e: React.ChangeEvent) => void;\n leagueEntries: IEntryInLeague[];\n}\n\nconst H2HEntryFilter: React.FC = ({\n entryId,\n handleFilterChange,\n leagueEntries,\n}) => {\n const { t } = useTranslation();\n return (\n \n \n \n {leagueEntries\n .sort((a, b) => a.entry_name.localeCompare(b.entry_name))\n .map((e) => (\n \n ))}\n \n \n );\n};\n\nexport default H2HEntryFilter;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport { getEvents } from \"../../core/store/events/reducers\";\nimport { SelectField } from \"../FieldRenderers\";\nimport { SelectBox } from \"./Styles\";\n\ninterface IProps {\n eventId: number;\n handleFilterChange: (e: React.ChangeEvent) => void;\n startEvent: number | null;\n}\n\nconst H2HEventFilter: React.FC = ({\n eventId,\n handleFilterChange,\n startEvent,\n}) => {\n const { t } = useTranslation();\n const events = useSelector(getEvents);\n\n if (!startEvent) {\n return null;\n }\n return (\n \n \n \n {events\n .filter((e) => e.id >= startEvent)\n .map((e) => (\n \n ))}\n \n \n );\n};\n\nexport default H2HEventFilter;\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgCup(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 14,\n viewBox: \"0 0 16 14\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 2V0H3v2H0v2a3 3 0 0 0 3.9 2.862A5 5 0 0 0 7 8.899v3.1H6a2 2 0 0 0-2 2h8a2 2 0 0 0-2-2H9v-3.1a5.003 5.003 0 0 0 3.1-2.037A3 3 0 0 0 16 4V2h-3ZM3 5.813A1.815 1.815 0 0 1 1.187 4V3H3v1c0 .628.116 1.229.327 1.782-.106.019-.216.03-.327.03v.001ZM14.813 4a1.815 1.815 0 0 1-2.14 1.783A4.994 4.994 0 0 0 13 4.001v-1h1.813v1V4Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgCup);\nexport default __webpack_public_path__ + \"static/media/cup.57c1dacc.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport {\n getCurrentEvent,\n getEventsById,\n} from \"../../core/store/events/reducers\";\nimport { IH2HMatch } from \"../../core/store/leagues/types\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { ReactComponent as CupBase } from \"../../img/icons/cup.svg\";\nimport { getIdFromEventName } from \"../../utils/events\";\nimport Alert from \"../Alert\";\nimport Link from \"../Link\";\n\nconst CupWinner = styled.span`\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nconst StyledCup = styled(CupBase)`\n color: #dbaf13;\n margin-inline-end: 0.6rem;\n`;\n\ninterface IStyledMatchRow {\n inProgress: boolean;\n mine: boolean;\n}\n\ninterface IMatchesScore {\n inProgress: boolean;\n}\n\nconst MatchesScore = styled.div`\n display: flex;\n border: 1px solid #efebf0;\n border-radius: ${({ theme }) => theme.radii[0]};\n background-color: white;\n color: ${({ theme }) => theme.colors.primary};\n\n ${(props) =>\n props.inProgress &&\n css`\n border: 0;\n background-color: ${({ theme }) => theme.colors.blueDarker2};\n color: white;\n\n td {\n > a {\n color: inherit;\n }\n }\n `}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 80%;\n margin: auto;\n }\n`;\n\nconst MatchesScoreTeam = styled.span`\n width: 50%;\n padding: 0.2rem;\n font-family: ${({ theme }) => theme.fonts.base};\n font-size: 1.3rem;\n line-height: 1;\n text-align: center;\n\n :first-child {\n border-right: 1px solid #e2e2e2;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding: ${({ theme }) => theme.space[1]};\n font-size: 1.8rem;\n }\n`;\n\nconst StyledStatusRow = styled.tr`\n td {\n padding-top: 0;\n border-top: 0 !important;\n }\n`;\n\nconst StyledMatchRow = styled.tr`\n ~ ${StyledStatusRow} td {\n border-top: 0;\n }\n\n ${(props) =>\n props.mine &&\n css`\n td {\n background-color: ${({ theme }) => theme.colors.primary};\n color: white;\n > a {\n color: inherit;\n }\n }\n `}\n`;\n\nconst MatchesEntryStyles = css`\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n`;\n\nconst MatchesEntry1 = styled.td`\n ${MatchesEntryStyles}\n text-align: end;\n`;\n\nconst MatchesEntry2 = styled.td`\n ${MatchesEntryStyles}\n`;\n\nconst StatusCell = styled.td`\n white-space: normal;\n text-align: center;\n`;\n\nconst MatchesScoreWrap = styled.td`\n text-align: center;\n white-space: nowrap;\n`;\n\nconst ByeScore = styled.div`\n display: inline-block;\n padding: 0.3rem;\n background-color: ${({ theme }) => theme.colors.grey};\n color: white;\n font-family: ${({ theme }) => theme.fonts.base};\n font-size: ${({ theme }) => theme.fontSizes[0]};\n text-transform: uppercase;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n padding: 0.4rem 1.7rem;\n font-size: ${({ theme }) => theme.fontSizes[4]};\n }\n`;\n\nconst KONameRow = styled.tr`\n td {\n padding-bottom: 0;\n }\n + tr td {\n border-top: 0;\n }\n`;\n\nconst KONameCell = styled.td`\n text-align: center;\n`;\n\ninterface IStyledKONameCell {\n isFinal: boolean;\n}\n\nconst KOName = styled.span`\n font-size: 1.1rem;\n\n ${(props) =>\n props.isFinal &&\n css`\n font-family: ${({ theme }) => theme.fonts.base};\n `}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n font-size: 1.3rem;\n }\n`;\n\nconst WinnerStatus: React.FC<{ isCup: boolean; match: IH2HMatch }> = ({\n isCup,\n match,\n}) => {\n const { t } = useTranslation();\n const eventsById = useSelector(getEventsById);\n const cupEventNameId = match.event\n ? getIdFromEventName(eventsById[match.event].name)\n : 0;\n if (!match.winner) {\n return null;\n }\n const winnerName =\n match.winner === match.entry_1_entry\n ? match.entry_1_name\n : match.entry_2_name;\n\n return (\n <>\n {match.tiebreak && (\n \n \n {t(\"h2hMatch.tie\", \"Tie-break - {{winnerName}} progressed\", {\n winnerName: winnerName,\n })}{\" \"}\n {match.tiebreak === \"goals_scored\" &&\n t(\"h2hMatch.tie1\", \"on most goals scored\")}\n {match.tiebreak === \"goals_conceded\" &&\n t(\"h2hMatch.tie2\", \"on fewest goals conceded\")}\n {match.tiebreak === \"default\" &&\n t(\"h2hMatch.tie3\", \"by virtual coin toss\")}\n \n \n )}\n {isCup && cupEventNameId === 34 && (\n \n \n \n {winnerName}\n \n \n )}\n \n );\n};\n\nconst StatusRow: React.FC<{ children: React.ReactNode }> = ({ children }) => (\n \n  \n {children}\n \n);\n\ninterface IH2HMatchRow {\n selectedEntry: number;\n isCup: boolean;\n showEvent?: boolean;\n started?: boolean;\n match: IH2HMatch;\n isAllMine: boolean;\n}\n\nconst H2HMatch: React.FC = ({\n selectedEntry,\n showEvent = false,\n started = false,\n match,\n isAllMine = false,\n isCup,\n}) => {\n const { t } = useTranslation();\n const player = useSelector(getPlayerData);\n const now = useSelector(getCurrentEvent);\n const inProgress = now?.id === match.event && !match.winner ? true : false;\n const eventsById = useSelector(getEventsById);\n const cupEventNameId = useSelector((state: RootState) =>\n match.event ? getIdFromEventName(eventsById[match.event].name) : null\n );\n const cupEventNameIdMinus = cupEventNameId ? cupEventNameId - 1 : 0;\n\n return (\n <>\n {match.knockout_name ? (\n \n  \n \n \n {match.knockout_name}\n \n \n \n ) : null}\n \n {showEvent && {cupEventNameId}}\n {/* Lots of duplication here but can't think of a clean way around it */}\n {selectedEntry === match.entry_2_entry ? (\n <>\n \n {match.entry_2_entry && started ? (\n \n {match.entry_2_name}\n
    \n {match.entry_2_player_name}\n \n ) : (\n \n {match.entry_2_name}\n
    \n {match.entry_2_player_name}\n \n )}\n
    \n \n {match.is_bye ? (\n {t(\"h2hEventFilter.score\", \"N/A\")}\n ) : (\n \n {started ? (\n <>\n \n {match.entry_2_points}\n \n \n {match.entry_1_points}\n \n \n ) : (\n <>\n -\n -\n \n )}\n \n )}\n \n \n {match.entry_1_entry ? (\n started ? (\n \n {match.entry_1_name}\n
    \n {match.entry_1_player_name}\n \n ) : (\n \n {match.entry_1_name}\n
    \n {match.entry_1_player_name}\n \n )\n ) : (\n <> \n )}\n
    \n \n ) : (\n <>\n \n {match.entry_1_entry && started ? (\n \n {match.entry_1_name}\n
    \n {match.entry_1_player_name}\n \n ) : (\n \n {match.entry_1_name}\n
    \n {match.entry_1_player_name}\n \n )}\n
    \n \n {match.is_bye ? (\n {t(\"h2hEventFilter.score2\", \"N/A\")}\n ) : (\n \n {started ? (\n <>\n \n {match.entry_1_points}\n \n \n {match.entry_2_points}\n \n \n ) : (\n <>\n -\n -\n \n )}\n \n )}\n \n \n {match.entry_2_entry ? (\n started ? (\n \n {match.entry_2_name}\n
    \n {match.entry_2_player_name}\n \n ) : (\n \n {match.entry_2_name}\n
    \n {match.entry_2_player_name}\n \n )\n ) : (\n <> \n )}\n
    \n \n )}\n \n {match.is_bye && (\n \n \n {t(\n \"h2hEventFilter.isbye\",\n \"{{matchEntry}} progressed with a bye due to their Round {{matchEvent}} score\",\n {\n matchEntry: match.entry_1_name,\n matchEvent: cupEventNameIdMinus,\n }\n )}\n \n \n )}\n {match.winner && }\n \n );\n};\n\nexport default H2HMatch;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { getCurrentEvent } from \"../../core/store/events/reducers\";\nimport { IH2HMatch } from \"../../core/store/leagues/types\";\nimport Table from \"../Table\";\nimport H2HMatch from \"./H2HMatch\";\n\nconst StyledMatchesTable = styled(Table)`\n table-layout: fixed;\n white-space: nowrap;\n\n /* Have to override Table td border to include tiebrake inside match border-bottom */\n td {\n border-top: 1px solid ${({ theme }) => theme.colors.grey};\n border-bottom: 0;\n }\n\n tr:last-child td {\n border-bottom: 1px solid ${({ theme }) => theme.colors.grey};\n }\n`;\n\nconst MatchesRoundColRound = styled.th`\n width: 10%;\n`;\n\nconst MatchesRoundColEntry = styled.th`\n width: 32%;\n`;\n\nconst MatchesRoundColEntry1 = styled.th`\n width: 32%;\n\n ${StyledMatchesTable} & {\n text-align: end;\n }\n`;\n\nexport const MatchesRoundColScore = styled.th`\n width: 21%;\n`;\n\ninterface IProps {\n selectedEntry: number;\n isCup?: boolean;\n isAllMine?: boolean;\n matches: IH2HMatch[] | null;\n}\n\nconst MatchesTable: React.FC = ({\n selectedEntry,\n isAllMine = false,\n isCup = false,\n matches,\n}) => {\n const { t } = useTranslation();\n const now = useSelector(getCurrentEvent);\n\n if (!matches) {\n return null;\n }\n\n return (\n \n \n \n \n {t(\"matchesTable.rd\", \"RD\")}\n \n \n {t(\"matchesTable.team1\", \"Team\")}\n \n  \n \n {t(\"matchesTable.team2\", \"Team\")}\n \n \n \n \n {matches.map((m) => (\n \n ))}\n \n \n );\n};\n\nexport default MatchesTable;\n","import { RouteComponentProps, navigate } from \"@reach/router\";\nimport React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { Flex } from \"rebass\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport {\n getActiveEntryInLeague,\n getCode,\n} from \"../../core/store/leagues/reducers\";\nimport {\n fetchLeagueCode,\n joinPrivateLeague,\n setCode,\n} from \"../../core/store/leagues/thunks\";\nimport {\n IJoinPrivateLeagueData,\n ILeague,\n} from \"../../core/store/leagues/types\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { IPlayer } from \"../../core/store/player/types\";\nimport Button from \"../Button\";\nimport ButtonLink from \"../ButtonLink\";\nimport Title from \"../Title\";\nimport { ControlArrowRight } from \"../icons/Arrows\";\n\nconst StyledHeader = styled.div`\n padding-inline-start: ${({ theme }) => theme.space[2]};\n padding-inline-end: ${({ theme }) => theme.space[2]};\n`;\n\nconst StyledFlex = styled(Flex)`\n flex-direction: column;\n gap: 2rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n flex-direction: row;\n }\n`;\n\nconst ButtonWrapper = styled.div``;\n\ntype OwnProps = RouteComponentProps<{\n type: string;\n league: ILeague | null;\n leagueNumber: number;\n}>;\n\ninterface IPropsFromState {\n entryInLeague: any | null;\n leagueNumber: number;\n code: string | null;\n player: IPlayer | null;\n}\n\ninterface IPropsFromDispatch {\n fetchCode: (leagueId: number) => void;\n joinPrivateLeague: (data: IJoinPrivateLeagueData) => void;\n}\n\ntype Props = OwnProps & IPropsFromState & IPropsFromDispatch;\n\nconst StandingsHeading: React.FC = ({\n code,\n player,\n fetchCode,\n league,\n leagueNumber,\n entryInLeague,\n}) => {\n const { t } = useTranslation();\n const isAdmin =\n entryInLeague &&\n entryInLeague.league &&\n entryInLeague.league.entry_can_admin;\n const isEntryInLeague = entryInLeague && entryInLeague.league;\n const reduxDispatch = useDispatch();\n\n useEffect(() => {\n if (\n !isEntryInLeague &&\n league &&\n league.code_privacy === \"a\" &&\n leagueNumber\n ) {\n fetchCode(leagueNumber);\n }\n }, [league, isAdmin, isEntryInLeague, leagueNumber, fetchCode]);\n\n let showInviteBtn = false;\n let showJoinBtn = false;\n\n if (league && !league.closed) {\n if (isAdmin) {\n showInviteBtn = true;\n } else {\n if (league) {\n if (isEntryInLeague) {\n if (league.code_privacy === \"a\") {\n showInviteBtn = true;\n }\n if (league.code_privacy === \"l\") {\n showInviteBtn = true;\n }\n }\n\n if (!isEntryInLeague) {\n if (league.code_privacy === \"a\") {\n showJoinBtn = true;\n }\n }\n }\n }\n }\n\n return (\n \n \n {league && league.name}\n \n {showInviteBtn && (\n \n {t(\n \"standingsHeading.inviteButton\",\n \"Invite people to join this league\"\n )}\n \n \n )}\n\n {code && showJoinBtn && (\n \n player && player.entry\n ? reduxDispatch(setCode(code))\n : navigate(`/leagues/auto-join/${code}`)\n }\n >\n {t(\"standingsHeading.joinButton\", \"Join this league\")}\n \n )}\n \n \n \n );\n};\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: OwnProps\n): IPropsFromState => {\n const leagueNumber = ownProps.leagueNumber || 0;\n const entryInLeague = getActiveEntryInLeague(\n state,\n leagueNumber,\n ownProps.type === \"classic\" ? \"classic\" : \"h2h\"\n );\n\n return {\n leagueNumber,\n entryInLeague: entryInLeague,\n player: getPlayerData(state),\n code: leagueNumber ? getCode(state, leagueNumber) : null,\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchCode: (leagueNumber: number) => dispatch(fetchLeagueCode(leagueNumber)),\n joinPrivateLeague: (data: IJoinPrivateLeagueData) => {\n dispatch(joinPrivateLeague(data));\n },\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(StandingsHeading);\n","import { navigate, RouteComponentProps } from \"@reach/router\";\nimport qs from \"qs\";\nimport React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getEntry, getLeagueForEntry } from \"../../core/store/entries/reducers\";\nimport { fetchEntrySummary } from \"../../core/store/entries/thunks\";\nimport {\n getCurrentEvent,\n getEventsById,\n} from \"../../core/store/events/reducers\";\nimport {\n getClassicLeague,\n getH2HMatches,\n getLeagueCupStatus,\n getLeagueEntries,\n} from \"../../core/store/leagues/reducers\";\nimport {\n fetchClassicLeagueStandings,\n fetchH2HLeagueMatches,\n fetchLeagueCupStatus,\n fetchLeagueEntries,\n} from \"../../core/store/leagues/thunks\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { getIdFromEventName } from \"../../utils/events\";\nimport Alert from \"../Alert\";\nimport BoldLink from \"../BoldLink\";\nimport ButtonLink from \"../ButtonLink\";\nimport Copy from \"../Copy\";\nimport { Main, Secondary, Wrapper } from \"../Layout\";\nimport { Pager, PagerItem, PagerItemNext } from \"../Pager\";\nimport SubHeading from \"../SubHeading\";\nimport H2HEntryFilter from \"./H2HEntryFilter\";\nimport H2HEventFilter from \"./H2HEventFilter\";\nimport MatchesTable from \"./MatchesTable\";\nimport StandingsHeading from \"./StandingsHeading\";\nimport { SelectWrap } from \"./Styles\";\nimport { getLeagueUrl } from \"./utils\";\n\ntype OwnProps = RouteComponentProps<{ leagueId: string }>;\n\nconst MatchesCup: React.FC = ({ location, leagueId }) => {\n const { t } = useTranslation();\n const leagueNumber = Number(leagueId!) || 0;\n const query = qs.parse(location!.search, {\n ignoreQueryPrefix: true,\n });\n const entryNumber = Number(query.entry) || 0;\n const eventNumber = Number(query.event) || 0;\n const pageMatches = Number(query.page_matches) || 1;\n\n const buildMatchesUrl = (\n leagueNumber: number,\n eventNumber: number,\n entryNumber: number,\n pageMatches: number\n ) => {\n let url = `/leagues/${leagueNumber}/cup?page_matches=${pageMatches}`;\n if (entryNumber) {\n url += `&entry=${entryNumber}`;\n }\n if (eventNumber) {\n url += `&event=${eventNumber}`;\n }\n return url;\n };\n\n const player = useSelector(getPlayerData);\n const eventsById = useSelector(getEventsById);\n\n const cupStatus = useSelector((state: RootState) =>\n leagueNumber ? getLeagueCupStatus(state, leagueNumber) : null\n );\n\n const entry = useSelector((state: RootState) =>\n entryNumber ? getEntry(state, entryNumber) : null\n );\n\n const leagueEntry = useSelector((state: RootState) =>\n entry ? getLeagueForEntry(state, entry.id, leagueNumber) : null\n );\n\n const myLeagueEntry = useSelector((state: RootState) =>\n player?.entry ? getLeagueForEntry(state, player.entry, leagueNumber) : null\n );\n\n const now = useSelector(getCurrentEvent);\n\n const league = useSelector((state: RootState) =>\n leagueNumber ? getClassicLeague(state, leagueNumber) : null\n );\n\n const matches = useSelector((state: RootState) =>\n cupStatus?.league\n ? getH2HMatches(\n state,\n cupStatus.league,\n entryNumber,\n eventNumber,\n pageMatches\n )\n : null\n );\n\n const leagueEntries = useSelector((state: RootState) =>\n cupStatus?.league ? getLeagueEntries(state, cupStatus.league) : null\n );\n\n const didNotQualify = leagueEntry && leagueEntry.cup_qualified === false;\n const notStarted = leagueEntry && leagueEntry.cup_qualified === null;\n // Event where we can show entries for large cups\n const largeCupEvent = 24;\n\n const reduxDispatch = useDispatch();\n\n // Can we fetch matches?\n const canFetchMatches = () => {\n if (!cupStatus) {\n return false;\n }\n // Asking for a specific entry is fine as long as qualified\n if (entryNumber) {\n return leagueEntry?.cup_qualified;\n }\n // Can always request a cup that isn't large\n if (!cupStatus.is_large) {\n return true;\n }\n // Asking for a late event in a large league is fine\n if (eventNumber >= largeCupEvent) {\n return true;\n }\n // We are able to show the current round or first round draw\n if (now && now.id >= largeCupEvent && cupStatus.qualification_event) {\n navigate(\n buildMatchesUrl(\n leagueNumber,\n Math.max(now.id, cupStatus.qualification_event + 1),\n 0,\n 1\n ),\n {\n replace: true,\n }\n );\n }\n // We are able to show the logged in entry. We are safe to use non null\n // assertion on player.entry if myLeagueEntry\n else if (myLeagueEntry && myLeagueEntry?.cup_qualified) {\n navigate(buildMatchesUrl(leagueNumber, 0, player!.entry!, 1), {\n replace: true,\n });\n }\n return false;\n };\n const fetchMatches = canFetchMatches();\n\n // API calls ...\n\n // This is currently the 'best' way to get a league which is needed by\n // child components for things like name\n useEffect(() => {\n leagueNumber &&\n !league &&\n reduxDispatch(fetchClassicLeagueStandings(leagueNumber, 1, 1, 1));\n }, [league, leagueNumber, reduxDispatch]);\n\n // Get any requested entry if different to the logged in entry as there\n // is a chance we won't have it\n useEffect(() => {\n entryNumber &&\n player?.entry !== entryNumber &&\n reduxDispatch(fetchEntrySummary(entryNumber));\n }, [entryNumber, player, reduxDispatch]);\n\n // Get the cup status for the parent league\n useEffect(() => {\n leagueNumber && reduxDispatch(fetchLeagueCupStatus(leagueNumber));\n }, [leagueNumber, reduxDispatch]);\n\n // Get a list of league entries for filtering. We need to know the cup\n // status before we can do this\n useEffect(() => {\n cupStatus &&\n cupStatus.league &&\n !cupStatus.is_large &&\n reduxDispatch(fetchLeagueEntries(cupStatus.league));\n }, [cupStatus, reduxDispatch]);\n\n const cupEventNameIdPlus = cupStatus?.qualification_event\n ? getIdFromEventName(eventsById[cupStatus.qualification_event + 1].name)\n : 0;\n\n // Get the list of matches.\n useEffect(() => {\n cupStatus &&\n cupStatus.league &&\n fetchMatches &&\n reduxDispatch(\n fetchH2HLeagueMatches(\n cupStatus.league,\n entryNumber,\n eventNumber,\n pageMatches\n )\n );\n }, [\n cupStatus,\n fetchMatches,\n entryNumber,\n eventNumber,\n pageMatches,\n reduxDispatch,\n ]);\n\n // We are still waiting for required data so delay rendering ...\n if (!cupStatus || !now || !league || (entryNumber && !entry)) {\n return null;\n }\n\n const cupStartText =\n now.id === cupStatus.qualification_event\n ? t(\"matchesCup.willStart\", \"will start\")\n : t(\"matchesCup.started\", \"started\");\n\n // This function wil be called if there are no matches, it attempts to\n // work out why!\n const getNoMatchesMessage = () => {\n if (eventNumber && eventNumber > now.id) {\n return t(\n \"matchesCup.cupMatches.end\",\n \"Cup matches for round {{ eventNumber }} will be available at the end of round {{eventNumberMinus}}\",\n {\n eventNumber: eventNumber,\n eventNumberMinus: eventNumber - 1,\n }\n );\n }\n if (cupStatus.is_large && now.id < largeCupEvent) {\n return t(\n \"matchesCup.cupMatches.after\",\n \"Cup matches will be available after round {{largeCupEvent}}\",\n {\n largeCupEvent: largeCupEvent,\n }\n );\n }\n if (notStarted || cupStatus.qualification_event === now.id) {\n return t(\n \"matchesCup.cupMatches.draw\",\n \"The draw for the first round is yet to be made\"\n );\n }\n if (entryNumber && eventNumber) {\n return t(\n \"matchesCup.cupMatches.eliminated\",\n \"This team has been eliminated\"\n );\n }\n return \"\";\n };\n\n const handleEntryFilterChange = (e: React.ChangeEvent) =>\n navigate(\n buildMatchesUrl(\n leagueNumber,\n eventNumber,\n Number(e.currentTarget.value),\n 1\n )\n );\n\n const handleEventFilterChange = (e: React.ChangeEvent) => {\n if (e.currentTarget.value) {\n return navigate(\n buildMatchesUrl(\n leagueNumber,\n Number(e.currentTarget.value),\n entryNumber,\n 1\n )\n );\n }\n return navigate(buildMatchesUrl(leagueNumber, 0, entryNumber, 1));\n };\n\n return (\n \n
    \n \n \n \n {t(\"matchesCup.leagueLink\", \"View league standings\")}\n \n \n {didNotQualify ? (\n \n \n {t(\"matchesCup.notQf\", \"This team did not qualify for the cup.\")}{\" \"}\n \n {t(\"matchesCup.viewMatches\", \"View cup matches\")}\n \n \n \n ) : (\n <>\n \n {!cupStatus.is_large && leagueEntries && (\n \n )}\n {cupStatus.qualification_event &&\n cupEventNameIdPlus &&\n !notStarted &&\n (!cupStatus.is_large || now.id >= largeCupEvent) && (\n \n )}\n \n {matches && matches.results.length ? (\n \n ) : (\n \n {getNoMatchesMessage()}\n \n )}\n \n )}\n {cupStatus.qualification_event && (\n \n {t(\n \"matchesCup.cupStart\",\n \"The cup {{ cupStartText }} in RD {{cupStatus}}\",\n {\n cupStartText: cupStartText,\n cupStatus: cupEventNameIdPlus,\n }\n )}\n \n )}\n \n \n {t(\"matchesCup.how\", \"How the cup works\")}\n

    \n {t(\n \"matchesCup.explain1\",\n \"Each qualifying team will be randomly drawn against another in the first round. The winner (the team with the highest Round score minus any transfer points), will progress to the second round and another random draw, the losers are out! This process continues until the final round when the two remaining teams contest the cup final.\"\n )}\n

    \n

    \n {t(\n \"matchesCup.explain2\",\n \"If a cup match is drawn, then the following tie-breaks will be applied until a winner is found:\"\n )}\n

    \n
      \n
    1. \n {t(\"matchesCup.explain3\", \"Most goals scored in the Round\")}\n
    2. \n
    3. \n {t(\"matchesCup.explain4\", \"Fewest goals conceded in the Round\")}\n
    4. \n
    5. {t(\"matchesCup.explain5\", \"Virtual coin toss\")}
    6. \n
    \n
    \n
    \n {matches && (\n \n \n \n {pageMatches > 1 && (\n \n {t(\"matchesCup.previews\", \"Previous\")}\n \n )}\n \n \n {matches.has_next && (\n \n {t(\"matchesCup.next\", \"Next\")}\n \n )}\n \n \n \n )}\n
    \n \n <>\n \n
    \n );\n};\n\nexport default MatchesCup;\n","import { Link } from \"@reach/router\";\nimport React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\nconst NavList = styled.ul`\n margin: ${({ theme }) => theme.space[2]};\n display: flex;\n background-color: ${({ theme }) => theme.colors.primary};\n border: 2px solid ${({ theme }) => theme.colors.primary};\n border-radius: 3px;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n margin-inline-end: 20%;\n margin-inline-start: 20%;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[5]}) {\n margin-inline-end: 30%;\n margin-inline-start: 30%;\n }\n`;\n\nconst NavItem = styled.li`\n flex: 1;\n :not(:last-child) {\n border-right: 2px solid white;\n }\n`;\n\n// TODO - This stops isCurrent being passed to Link but doesn't have\n// any type checking\nconst NavLink = styled(({ isCurrent, ...rest }) => )`\n display: block;\n padding: ${({ theme }) => theme.space[2]};\n color: white;\n font-family: ${({ theme }) => theme.fonts.bold};\n text-decoration: none;\n text-align: center;\n\n ${(props) =>\n props.isCurrent &&\n css`\n background-color: white;\n color: ${({ theme }) => theme.colors.black};\n `}\n`;\n\ninterface IProps {\n defaultEntry?: number;\n leagueId: number;\n eventId: number;\n}\n\nconst H2HNav: React.FC = ({ eventId, leagueId, defaultEntry }) => {\n const defaultEntryParam = defaultEntry ? `default_entry=${defaultEntry}` : \"\";\n const links = [\n {\n href: `/leagues/${leagueId}/matches/h`,\n qs: `?event=${eventId}` + (defaultEntryParam && `&${defaultEntryParam}`),\n text: \"Matches\",\n },\n {\n href: `/leagues/${leagueId}/standings/h`,\n qs: defaultEntryParam && `?${defaultEntryParam}`,\n text: \"Standings\",\n },\n ];\n return (\n \n );\n};\n\nexport default H2HNav;\n","import { navigate, RouteComponentProps, useLocation } from \"@reach/router\";\nimport qs from \"qs\";\nimport React, { useCallback, useEffect, useMemo } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState } from \"../../core/store\";\nimport { getCurrentEvent } from \"../../core/store/events/reducers\";\nimport {\n getActiveEntryInLeague,\n getH2HLeague,\n getH2HMatches,\n getH2HNewEntries,\n getH2HStandings,\n getLeagueEntries,\n getLeagueEntriesError,\n} from \"../../core/store/leagues/reducers\";\nimport {\n fetchH2HLeagueMatches,\n fetchH2HLeagueStandings,\n fetchLeagueEntries,\n} from \"../../core/store/leagues/thunks\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport Alert from \"../Alert\";\nimport ButtonLink from \"../ButtonLink\";\nimport { Main, Secondary, Wrapper } from \"../Layout\";\nimport { Pager, PagerItem, PagerItemNext } from \"../Pager\";\nimport H2HEntryFilter from \"./H2HEntryFilter\";\nimport H2HEventFilter from \"./H2HEventFilter\";\nimport H2HNav from \"./H2HNav\";\nimport MatchesTable from \"./MatchesTable\";\nimport StandingsHeading from \"./StandingsHeading\";\nimport { SelectWrap } from \"./Styles\";\n\ntype Props = RouteComponentProps<{\n leagueId: string;\n}> &\n WithTranslation;\n\nconst MatchesH2H: React.FC = ({ leagueId, t }) => {\n const dispatch = useDispatch();\n const location = useLocation();\n\n // Get league id from path\n const leagueNumber = parseInt(leagueId!, 10) || 0;\n // Get entry id from query string\n const query = qs.parse(location.search, {\n ignoreQueryPrefix: true,\n });\n\n const defaultEntryNumber = parseInt(query.default_entry as string, 10) || 0;\n const entryNumber = parseInt(query.entry as string, 10) || 0;\n const now = useSelector(getCurrentEvent);\n const eventNumber = query.event\n ? parseInt(query.event as string, 10)\n : now?.id || 0;\n const pageMatches = parseInt(query.page_matches as string, 10) || 1;\n const isPlayerInLeague = Boolean(\n useSelector((state: RootState) =>\n getActiveEntryInLeague(state, leagueNumber, \"h2h\")\n )\n );\n const league = useSelector((state: RootState) =>\n getH2HLeague(state, leagueNumber)\n );\n const leagueEntries = useSelector((state: RootState) =>\n getLeagueEntries(state, leagueNumber)\n );\n const leagueEntriesError = useSelector((state: RootState) =>\n getLeagueEntriesError(state, leagueNumber)\n );\n const matches = useSelector((state: RootState) =>\n leagueNumber\n ? getH2HMatches(\n state,\n leagueNumber,\n entryNumber,\n eventNumber,\n pageMatches\n )\n : null\n );\n const newEntries = useSelector((state: RootState) =>\n getH2HNewEntries(state, leagueNumber, 1)\n );\n const player = useSelector(getPlayerData);\n const standings = useSelector((state: RootState) =>\n getH2HStandings(state, leagueNumber, 1)\n );\n\n const isLargeLeague = useMemo(() => {\n return (\n leagueEntriesError?.badRequest?.non_field_errors[0]?.code ===\n \"large_leagues_forbidden\"\n );\n }, [leagueEntriesError]);\n\n const buildMatchesUrl = useCallback(\n (\n leagueNumber: number,\n eventNumber: number,\n entryNumber: number,\n pageMatches: number\n ) => {\n let url = `/leagues/${leagueNumber}/matches/h?page_matches=${pageMatches}`;\n if (entryNumber) url += `&entry=${entryNumber}`;\n if (now?.id && eventNumber !== now.id) url += `&event=${eventNumber}`;\n return url;\n },\n [now]\n );\n\n useEffect(() => {\n if (leagueNumber) {\n // Have to fetch standings to get league\n dispatch(fetchH2HLeagueStandings(leagueNumber, 1, 1));\n // We could look at delaying these calls as they are pointless for\n // unstarted h2h leagues at the cost of some complexity as we may have\n // to wait for league to be available. As a 'good enough' we don't do\n // them before the season starts ...\n if (now) {\n dispatch(fetchLeagueEntries(leagueNumber));\n dispatch(\n fetchH2HLeagueMatches(\n leagueNumber,\n entryNumber,\n eventNumber,\n pageMatches\n )\n );\n }\n }\n }, [leagueNumber, now, entryNumber, eventNumber, pageMatches, dispatch]);\n\n useEffect(() => {\n if (isLargeLeague) {\n // As isPlayerInLeague we must have a player and an entry\n const showEntry =\n defaultEntryNumber || (isPlayerInLeague ? player!.entry! : 0);\n navigate(buildMatchesUrl(leagueNumber, 0, showEntry, pageMatches), {\n replace: true,\n });\n }\n }, [\n isLargeLeague,\n leagueEntriesError,\n defaultEntryNumber,\n isPlayerInLeague,\n player,\n leagueNumber,\n pageMatches,\n buildMatchesUrl,\n ]);\n\n const handleEntryFilterChange = (e: React.ChangeEvent) =>\n navigate(\n buildMatchesUrl(\n leagueNumber,\n eventNumber,\n parseInt(e.currentTarget.value, 10),\n 1\n )\n );\n\n const handleEventFilterChange = (e: React.ChangeEvent) =>\n navigate(\n buildMatchesUrl(\n leagueNumber,\n parseInt(e.currentTarget.value, 10),\n entryNumber,\n 1\n )\n );\n\n if (!league || !newEntries) {\n return null;\n }\n // If we have new entries then switch to dedicated page\n if (!now || newEntries.results.length) {\n navigate(`/leagues/${league.id}/new-entries/h`, { replace: true });\n }\n if (!matches) {\n return null;\n }\n // Handle the edge case between rollover and matches being created ...\n if (\n now &&\n now.id === league.start_event &&\n standings &&\n !standings.results.length\n ) {\n return (\n \n
    \n \n \n

    \n {t(\n \"matchesH2h.explain1\",\n \"Matches are currently being generated, please check back later.\"\n )}\n

    \n
    \n
    \n
    \n );\n }\n\n return (\n \n
    \n \n \n <>\n {now && (\n \n )}\n {leagueEntries && (\n \n \n \n \n )}\n {isLargeLeague && (\n \n \n {t(\n \"matchesH2h.explain2\",\n \"In head-to-head leagues with more than 512 teams only matches for a single team can be viewed.\"\n )}\n \n \n )}\n {now && (\n \n )}\n \n \n \n {pageMatches > 1 && (\n \n {t(\"matchesH2h.previews\", \"Previous\")}\n \n )}\n \n \n {matches.has_next && (\n \n {t(\"matchesH2h.next\", \"Next\")}\n \n )}\n \n \n \n \n \n
    \n \n <>\n \n
    \n );\n};\n\nexport default withTranslation()(MatchesH2H);\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport {\n getCupMatchesByLeagueId,\n getEntry,\n} from \"../../core/store/entries/reducers\";\nimport {\n CupMatchesByLeagueId,\n ILeagueEntry,\n} from \"../../core/store/entries/types\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport Panel from \"../Panel\";\nimport Table from \"../Table\";\nimport { VisuallyHidden } from \"../Utils\";\nimport CupTypeRow from \"./CupTypeRow\";\n\nconst CupCol = styled.th`\n width: 56%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 72%;\n }\n`;\n\nconst RoundCol = styled.th`\n width: 22%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 12%;\n }\n`;\n\nconst StatusCol = styled.th`\n width: 22%;\n text-align: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 16%;\n }\n`;\n\nconst MyCupsTable = styled(Table)`\n table-layout: fixed;\n\n th,\n td {\n padding-inline-start: 0.5rem;\n padding-inline-end: 0.5rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding-inline-start: 1rem;\n padding-inline-end: 1rem;\n }\n }\n\n /* Have to do this because of Table td specificity */\n ${StatusCol} {\n text-align: center;\n }\n`;\n\ninterface IProps {\n leagues: ILeagueEntry[] | null;\n title: string;\n}\n\nconst CupTypeTable: React.FC = ({ leagues, title }) => {\n const { t } = useTranslation();\n const player = useSelector(getPlayerData);\n const entry = useSelector((state: RootState) =>\n player?.entry ? getEntry(state, player.entry) : null\n );\n\n const cupMatches: CupMatchesByLeagueId | null = useSelector(\n (state: RootState) =>\n entry ? getCupMatchesByLeagueId(state, entry.id) : null\n );\n\n if (!leagues || !entry) {\n return null;\n }\n\n return (\n \n \n \n \n \n \n {t(\"cupTypeTable.cup\", \"Cup\")}\n \n \n {t(\"cupTypeTable.round\", \"Round\")}\n \n \n \n \n {t(\"cupTypeTable.status\", \"Status\")}\n \n \n \n \n \n {leagues.map((l) => (\n \n ))}\n \n \n \n \n );\n};\n\nexport default CupTypeTable;\n","import { Link } from \"@reach/router\";\nimport React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\nconst NavList = styled.ul`\n display: flex;\n margin: ${({ theme }) => theme.space[2]};\n padding-inline-start: 0;\n padding: 0.2rem;\n border: 2px solid ${({ theme }) => theme.colors.blue};\n border-radius: 3px;\n background-color: ${({ theme }) => theme.colors.white};\n list-style-type: none;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n margin-inline-end: 20%;\n margin-inline-start: 20%;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[5]}) {\n margin-inline-end: 30%;\n margin-inline-start: 30%;\n }\n`;\n\nconst NavItem = styled.li`\n flex: 1;\n`;\n\n// TODO - This stops isCurrent being passed to Link but doesn't have\n// any type checking\nconst NavLink = styled(({ isCurrent, ...rest }) => )`\n display: block;\n padding: ${({ theme }) => theme.space[2]};\n color: ${({ theme }) => theme.colors.primary};\n font-size: 1.5rem;\n text-decoration: none;\n text-align: center;\n\n ${(props) =>\n props.isCurrent &&\n css`\n border-radius: ${({ theme }) => theme.radii[0]};\n background-color: ${({ theme }) => theme.colors.blue};\n color: ${({ theme }) => theme.colors.white};\n font-weight: bold;\n `}\n`;\n\ninterface ILinks {\n href: string;\n text: string;\n}\n\ninterface ISubNav {\n links: ILinks[];\n}\n\nconst SubNav: React.FC = ({ links }) => (\n \n);\n\nexport default SubNav;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport SubNav from \"../SubNav\";\n\nconst LeaguesNav: React.FC = () => {\n const { t } = useTranslation();\n const links = [\n { href: \"/leagues\", text: t(\"leaguesNav.news\", \"Leagues\") },\n { href: \"/leagues/cups\", text: t(\"leaguesNav.cups\", \"Cups\") },\n ];\n return ;\n};\n\nexport default LeaguesNav;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport {\n getEntry,\n getPrivateClassicCupLeaguesForEntry,\n getPublicClassicCupLeaguesForEntry,\n getSystemClassicCupLeaguesForEntry,\n} from \"../../core/store/entries/reducers\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport ButtonLink from \"../ButtonLink\";\nimport Copy from \"../Copy\";\nimport { Main, Secondary, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\nimport { ControlArrowRight } from \"../icons/Arrows\";\nimport CupTypeTable from \"./CupTypeTable\";\nimport LeaguesNav from \"./LeaguesNav\";\nimport {\n getBroadcasterLeagues,\n getFilteredSystemClassicLeagues,\n} from \"./utils\";\n\nconst NavContainer = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n width: calc(100% / 3 * 2);\n }\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: calc(100% / 4 * 3);\n }\n`;\n\nconst ButtonWrap = styled(Box)`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n width: 50%;\n }\n`;\n\nconst MyCups: React.FC = () => {\n const player = useSelector(getPlayerData);\n const entry = useSelector((state: RootState) =>\n player?.entry ? getEntry(state, player.entry) : null\n );\n const privateClassicLeagues = useSelector((state: RootState) =>\n entry ? getPrivateClassicCupLeaguesForEntry(state, entry.id) : []\n );\n const publicClassicLeagues = useSelector((state: RootState) =>\n entry ? getPublicClassicCupLeaguesForEntry(state, entry.id) : []\n );\n const systemClassicLeagues = useSelector((state: RootState) =>\n entry ? getSystemClassicCupLeaguesForEntry(state, entry.id) : []\n );\n\n const { t } = useTranslation();\n\n if (!entry) {\n return null;\n }\n\n const hasCupLeagues =\n privateClassicLeagues.length > 0 ||\n publicClassicLeagues.length > 0 ||\n systemClassicLeagues.length > 0;\n\n const broadcasterLeagues = getBroadcasterLeagues(systemClassicLeagues);\n const filteredSystemClassicLeagues = getFilteredSystemClassicLeagues(\n systemClassicLeagues,\n broadcasterLeagues\n );\n\n return (\n <>\n \n \n \n {t(\"myCups.title\", \"Leagues & Cups - {{ entryName }}\", {\n entryName: entry.name,\n })}\n \n \n \n \n \n \n \n
    \n {hasCupLeagues ? (\n <>\n {privateClassicLeagues.length > 0 && (\n \n \n \n )}\n {publicClassicLeagues.length > 0 && (\n \n \n \n )}\n {filteredSystemClassicLeagues.length > 0 && (\n \n \n \n )}\n {broadcasterLeagues.length > 0 && (\n \n \n \n )}\n \n ) : (\n \n

    \n {t(\"myCups.noCups\", \"None of your leagues have a cup yet.\")}\n

    \n \n \n \n {t(\"myCups.button\", \"Create and Join New Leagues & Cups\")}\n \n \n \n \n
    \n )}\n
    \n \n
    \n \n );\n};\n\nexport default MyCups;\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgCog(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M24,10.295858 L24,13.7651471 C24,13.8898242 23.9583351,14.0095008 23.8750052,14.124177 C23.7916753,14.2388532 23.6873464,14.3065255 23.5620182,14.3271939 L20.6711387,14.7652304 C20.473147,15.327944 20.2701554,15.8019835 20.0621641,16.1873489 C20.4268155,16.708059 20.9841257,17.4267856 21.7340944,18.3435286 C21.8380901,18.4682057 21.8900879,18.5985499 21.8900879,18.7345612 C21.8900879,18.8705725 21.8430899,18.9902492 21.7490938,19.0935911 C21.4677722,19.4789566 20.952127,20.0413368 20.2021582,20.7807317 C19.4521895,21.5201267 18.9625432,21.8898242 18.7332194,21.8898242 C18.608558,21.8898242 18.4732303,21.8428202 18.3272364,21.7488124 L16.1713262,20.0616718 C15.7126786,20.3010251 15.2386984,20.4990416 14.7493854,20.6557213 C14.5827257,22.072506 14.431732,23.0412534 14.2964043,23.5619635 C14.2237407,23.8539878 14.0364151,24 13.7344277,24 L10.2655723,24 C10.1195784,24 9.991917,23.955663 9.88258823,23.8669889 C9.77325945,23.7783149 9.71326195,23.6663055 9.70259573,23.5309609 L9.26461397,20.6557213 C8.75396858,20.4890408 8.28532144,20.296358 7.85867256,20.0776731 L5.65576434,21.7498125 C5.55176868,21.8438203 5.42144077,21.8908242 5.26478063,21.8908242 C5.11878672,21.8908242 4.98845881,21.8334861 4.87379693,21.7188099 C3.56118495,20.5313776 2.70188742,19.6563047 2.29590434,19.0935911 C2.2232407,18.9895825 2.18690888,18.8699058 2.18690888,18.7345612 C2.18690888,18.6098842 2.22857381,18.4902075 2.31190367,18.3755313 C2.46789717,18.1568464 2.73355277,17.8104842 3.10887046,17.3364447 C3.48418816,16.8624052 3.76550977,16.4950413 3.9528353,16.2343529 C3.67151369,15.7136428 3.45785592,15.1979332 3.31186201,14.6872239 L0.452981126,14.2651888 C0.317653431,14.2445204 0.208324653,14.179515 0.124994792,14.0701725 C0.0416649306,13.9608301 0,13.8384865 0,13.7031419 L0,10.2338528 C0,10.1091758 0.0416649306,9.98949912 0.124994792,9.8748229 C0.208324653,9.76014668 0.307320528,9.69247437 0.421982417,9.67180598 L3.32786134,9.23376948 C3.47385526,8.7543962 3.6768468,8.27535628 3.93683597,7.79664972 C3.52018666,7.20260022 2.96287655,6.48387366 2.26490563,5.64047004 C2.16090996,5.51579298 2.10891213,5.39078257 2.10891213,5.26543879 C2.10891213,5.16143012 2.15591017,5.04175348 2.24990625,4.90640887 C2.52056164,4.53171098 3.03354027,3.97166431 3.78884213,3.22626886 C4.54414399,2.48087341 5.03645681,2.10850904 5.26578059,2.10917576 C5.40110829,2.10917576 5.53643598,2.1611801 5.67176368,2.26518877 L7.82767385,3.93732811 C8.2863214,3.69797483 8.76030165,3.49995833 9.2496146,3.34327861 C9.41627432,1.92649387 9.56726803,0.957746479 9.70259573,0.43703642 C9.77525936,0.145678807 9.96258489,0 10.2645723,0 L13.7334278,0 C13.8794217,0 14.007083,0.0443370281 14.1164118,0.133011084 C14.2257406,0.22168514 14.2857381,0.333694475 14.2964043,0.469039087 L14.7343861,3.34427869 C15.2450315,3.51095925 15.7136786,3.70364197 16.1403275,3.92232686 L18.359235,2.25018752 C18.4532311,2.15617968 18.5782259,2.10917576 18.7342194,2.10917576 C18.8695471,2.10917576 18.999875,2.1611801 19.1252031,2.26518877 C20.4691471,3.50462539 21.3284446,4.3900325 21.7030957,4.92141012 C21.7757593,5.0047504 21.8120912,5.11942662 21.8120912,5.26543879 C21.8120912,5.39011584 21.7704262,5.50979248 21.6870964,5.62446871 C21.5311029,5.8431536 21.2654473,6.18951579 20.8901296,6.6635553 C20.5148119,7.1375948 20.2334903,7.50495875 20.0461647,7.76564714 C20.3168201,8.2863572 20.5304779,8.79673306 20.687138,9.29677473 L23.5460189,9.73481123 C23.6813466,9.75547962 23.7906754,9.82048504 23.8740052,9.92982749 C23.9573351,10.0391699 23.999,10.1615135 23.999,10.2968581 L24,10.295858 Z M16,12 C16,10.896 15.6093333,9.95333333 14.828,9.172 C14.0466667,8.39066667 13.104,8 12,8 C10.896,8 9.95333333,8.39066667 9.172,9.172 C8.39066667,9.95333333 8,10.896 8,12 C8,13.104 8.39066667,14.0466667 9.172,14.828 C9.95333333,15.6093333 10.896,16 12,16 C13.104,16 14.0466667,15.6093333 14.828,14.828 C15.6093333,14.0466667 16,13.104 16,12 Z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgCog);\nexport default __webpack_public_path__ + \"static/media/cog.47b424f1.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from \"react\";\n\ninterface IDialogProps {\n render: (\n showDialog: boolean,\n handleHide: () => void,\n handleShow: () => void\n ) => React.ReactNode;\n}\n\ninterface IDialogState {\n readonly showDialog: boolean;\n}\n\nclass DialogManager extends React.Component {\n public readonly state: Readonly = { showDialog: false };\n\n public handleShow = () => {\n this.setState({ showDialog: true });\n };\n\n public handleHide = () => {\n this.setState({ showDialog: false });\n };\n\n public render() {\n return (\n <>\n {this.props.render(\n this.state.showDialog,\n this.handleShow,\n this.handleHide\n )}\n \n );\n }\n}\n\nexport default DialogManager;\n","import styled from \"styled-components/macro\";\n\nconst LinkButton = styled.button`\n display: inline-flex;\n align-items: center;\n padding: 0;\n border: 0;\n background-color: transparent;\n color: ${({ theme }) => theme.colors.blueDarker3};\n font-family: inherit;\n font-size: inherit;\n text-align: start;\n cursor: pointer;\n\n :hover {\n text-decoration: underline;\n }\n`;\n\nexport default LinkButton;\n","import { Link as RouterLink } from \"@reach/router\";\nimport { hideVisually, size } from \"polished\";\nimport React, { useEffect } from \"react\";\nimport {\n useTranslation,\n WithTranslation,\n withTranslation,\n} from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport {\n getEntry,\n getPrivateClassicLeaguesForEntry,\n getPrivateH2HLeaguesForEntry,\n getPublicClassicLeaguesForEntry,\n getPublicH2HLeaguesForEntry,\n getSystemClassicLeaguesForEntry,\n} from \"../../core/store/entries/reducers\";\nimport { fetchEntrySummary } from \"../../core/store/entries/thunks\";\nimport { ILeagueEntry } from \"../../core/store/entries/types\";\nimport { leaveLeague } from \"../../core/store/leagues/thunks\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { ILoggedInPlayer } from \"../../core/store/player/types\";\nimport { ReactComponent as BaseCog } from \"../../img/icons/cog.svg\";\nimport Button from \"../Button\";\nimport Dialog, { DialogButtonItem } from \"../Dialog\";\nimport DialogHeading from \"../DialogHeading\";\nimport DialogManager from \"../DialogManager\";\nimport { Main, Secondary, Wrapper } from \"../Layout\";\nimport Link from \"../Link\";\nimport LinkButton from \"../LinkButton\";\nimport Panel from \"../Panel\";\nimport SubHeading from \"../SubHeading\";\nimport Table from \"../Table\";\nimport { ControlArrowRight } from \"../icons/Arrows\";\nimport LeaguesNav from \"./LeaguesNav\";\nimport Movement from \"./Movement\";\n\nconst ActionBar = styled.ul`\n list-style-type: none;\n padding: 0;\n margin: 0;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n display: flex;\n flex-direction: row-reverse; // remove when we reinstate the Renew Leagues btn (#4850)\n }\n`;\n\nconst ActionBarItem = styled.li`\n padding: ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n flex: 1;\n }\n`;\n\nconst ActionList = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n text-align: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n margin: 0 auto;\n }\n`;\n\nconst MyLeaguesTable = styled(Table)`\n table-layout: fixed;\n\n th,\n td {\n padding-inline-start: 0.5rem;\n padding-inline-end: 0.5rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding-inline-start: 1rem;\n padding-inline-end: 1rem;\n }\n }\n`;\n\nconst LeagueCol = styled.th`\n width: 40%;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 36%;\n }\n`;\n\nconst MovementCol = styled.th`\n width: 8%;\n`;\n\nconst RankCol = styled.th`\n width: 24%;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 18%;\n }\n`;\n\nconst OptionsCol = styled.th`\n width: 10%;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 20%;\n }\n`;\n\nconst MenuCopy = styled.span`\n margin-inline-start: ${({ theme }) => theme.space[1]};\n\n @media (max-width: ${({ theme }) => theme.breakpoints[2]}) {\n ${hideVisually}\n }\n`;\n\nconst Cog = styled(BaseCog)`\n ${size(14)};\n`;\n\ntype Props = WithTranslation;\n\nconst MyLeagues: React.FC = ({ t }) => {\n const dispatch = useDispatch();\n\n const player = useSelector(getPlayerData) as ILoggedInPlayer;\n const entry = useSelector((state: RootState) =>\n getEntry(state, player.entry)\n );\n const privateClassicLeagues = useSelector((state: RootState) =>\n getPrivateClassicLeaguesForEntry(state, player.entry)\n );\n const privateH2HLeagues = useSelector((state: RootState) =>\n getPrivateH2HLeaguesForEntry(state, player.entry)\n );\n const publicClassicLeagues = useSelector((state: RootState) =>\n getPublicClassicLeaguesForEntry(state, player.entry)\n );\n const publicH2HLeagues = useSelector((state: RootState) =>\n getPublicH2HLeaguesForEntry(state, player.entry)\n );\n const systemClassicLeagues = useSelector((state: RootState) =>\n getSystemClassicLeaguesForEntry(state, player.entry)\n );\n\n const leave = (leagueId: number) => {\n if (\n window.confirm(\n t(\n \"myLeagues.confirmLeave\",\n \"Are you sure you want to leave this league?\"\n )\n )\n ) {\n dispatch(leaveLeague(leagueId));\n }\n };\n\n useEffect(() => {\n dispatch(fetchEntrySummary(player.entry));\n }, [dispatch, player.entry]);\n\n if (!entry) {\n return null;\n }\n return (\n \n
    \n \n \n \n \n \n {entry.name}\n \n \n \n \n }\n >\n {t(\n \"myLeagues.createJoinButton\",\n \"Create and join new leagues & cups\"\n )}\n \n \n\n \n }\n >\n {t(\"myLeagues.renewButton\", \"Renew your leagues\")}\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n );\n};\n\nexport { MyLeagues as MyLeaguesTest };\n\nexport default withTranslation()(MyLeagues);\n\ninterface ILeagueTypeTableProps {\n leagues: ILeagueEntry[];\n leave: (leagueId: number) => void;\n title: React.ReactNode;\n}\n\nconst LeagueTypeTable: React.FC = ({\n leagues,\n leave,\n title,\n}) => {\n const { t } = useTranslation();\n return (\n \n \n \n \n \n \n {t(\"myLeagues.th.league\", \"League\")}\n  \n {t(\"myLeagues.th.currentRank\", \"Current Rank\")}\n {t(\"myLeagues.th.lastRank\", \"Last Rank\")}\n  \n \n \n \n {leagues.map((l) => (\n \n \n \n {l.name}\n \n \n \n \n \n {l.entry_rank ? l.entry_rank.toLocaleString() : \"-\"}\n \n {l.entry_last_rank ? l.entry_last_rank.toLocaleString() : \"-\"}\n \n \n (\n <>\n \n \n \n {t(\"myLeagues.optionsLink\", \"Options\")}\n \n \n {showDialog && (\n \n )}\n \n )}\n />\n \n \n ))}\n \n \n \n \n );\n};\n\ninterface ILeagueMenuDialogProps {\n handleHide: () => void;\n leagueEntry: ILeagueEntry;\n leave: (leagueId: number) => void;\n}\n\nconst LeagueMenuDialog: React.FC = ({\n handleHide,\n leagueEntry,\n leave,\n}) => {\n const { t } = useTranslation();\n return (\n \n \n {leagueEntry.name}\n \n \n \n \n }\n to={`/leagues/${leagueEntry.id}/standings/${leagueEntry.scoring}`}\n >\n {t(\"myLeagues.menuDialog.standings\", \"Standings\")}\n \n \n {leagueEntry.entry_can_leave && (\n \n }\n onClick={() => {\n leave(leagueEntry.id);\n handleHide();\n }}\n >\n {t(\"myLeagues.menuDialog.leave\", \"Leave league\")}\n \n \n )}\n {leagueEntry.entry_can_admin && (\n \n }\n to={`/leagues/${leagueEntry.id}/admin/${leagueEntry.scoring}`}\n >\n {t(\"myLeagues.menuDialog.admin\", \"Administer\")}\n \n \n )}\n {leagueEntry.entry_can_invite && (\n \n }\n to={`/leagues/${leagueEntry.id}/invite`}\n >\n {t(\"myLeagues.menuDialog.invite\", \"Invite friends\")}\n \n \n )}\n \n \n \n );\n};\n","import React, { useEffect } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box, Flex } from \"rebass/styled-components\";\nimport { getRenewableLeagues } from \"../../core/store/leagues/reducers\";\nimport {\n deleteRenewableLeague,\n fetchRenewableLeagues,\n renewRenewableLeague,\n} from \"../../core/store/leagues/thunks\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport SubHeading from \"../SubHeading\";\nimport Title from \"../Title\";\n\ntype Props = WithTranslation;\n\nconst Renew: React.FC = ({ t }) => {\n const dispatch = useDispatch();\n\n const leagues = useSelector(getRenewableLeagues);\n\n const destroy = async (id: number) => dispatch(deleteRenewableLeague(id));\n const renew = async (id: number) => dispatch(renewRenewableLeague(id));\n\n useEffect(() => {\n dispatch(fetchRenewableLeagues());\n }, [dispatch]);\n\n return (\n \n
    \n \n {t(\"renew.title\", \"Renew your leagues\")}\n

    \n {t(\n \"renew.p1\",\n \"Choose whether you wish to renew or delete last season's private leagues.\"\n )}\n

    \n

    \n {t(\n \"renew.p2\",\n \"All players from last season will automatically be entered into the renewed league(s) when they join the game.\"\n )}\n

    \n\n {leagues.length ? (\n
      \n {leagues.map((l) => (\n
    • \n {l.name}\n \n \n \n \n \n \n \n \n
    • \n ))}\n
    \n ) : (\n \n {t(\"renew.none\", \"You have no leagues to renew.\")}\n \n )}\n
    \n
    \n
    \n );\n};\n\nexport { Renew as RenewTest };\n\nexport default withTranslation()(Renew);\n","import React from \"react\";\nimport { Helmet } from \"react-helmet\";\n\ninterface IProps {\n description: string;\n title: string;\n}\n\nconst HelmetHead: React.FC = ({ description, title }) => {\n return (\n \n {title}\n \n \n );\n};\n\nexport default HelmetHead;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport HelmetHead from \"../HelmetHead\";\n\nconst HelmetHeadLeagues: React.FC = () => {\n const { t } = useTranslation();\n return (\n <>\n \n \n );\n};\n\nexport default HelmetHeadLeagues;\n","import styled, { css } from \"styled-components/macro\";\n\ninterface IProps {\n mine: boolean;\n}\n\nconst StandingsRow = styled.tr`\n ${(props) =>\n props.mine &&\n css`\n td {\n background-color: ${({ theme }) => theme.colors.green};\n color: ${({ theme }) => theme.colors.primary};\n > a {\n color: ${({ theme }) => theme.colors.blue};\n }\n }\n `}\n`;\nexport default StandingsRow;\n","import { navigate, RouteComponentProps, useLocation } from \"@reach/router\";\nimport qs from \"qs\";\nimport React, { useEffect } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box, Flex } from \"rebass/styled-components\";\nimport styled from \"styled-components\";\nimport { RootState } from \"../../core/store\";\nimport {\n getCurrentEvent,\n getEventsById,\n} from \"../../core/store/events/reducers\";\nimport {\n getClassicLeague,\n getClassicNewEntries,\n getClassicStandings,\n} from \"../../core/store/leagues/reducers\";\nimport { fetchClassicLeagueStandings } from \"../../core/store/leagues/thunks\";\nimport { getStartedPhases } from \"../../core/store/phases/reducers\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { formatRawAsLocalI18n } from \"../../core/utils/datetime\";\nimport { dateLocales } from \"../../i18n\";\nimport Alert from \"../Alert\";\nimport BoldLink from \"../BoldLink\";\nimport ButtonLink from \"../ButtonLink\";\nimport { InlineSelectField } from \"../FieldRenderers\";\nimport { ControlArrowLeft, ControlArrowRight } from \"../icons/Arrows\";\nimport { Main, Secondary, Wrapper } from \"../Layout\";\nimport Link from \"../Link\";\nimport { Pager, PagerItem, PagerItemNext } from \"../Pager\";\nimport Panel from \"../Panel\";\nimport SubHeading from \"../SubHeading\";\nimport Table from \"../Table\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\nimport HelmetHeadLeagues from \"./HelmetHeadLeagues\";\nimport Movement from \"./Movement\";\nimport StandingsHeading from \"./StandingsHeading\";\nimport StandingsRow from \"./StandingsRow\";\nimport { getCupUrl } from \"./utils\";\n\nconst StyledBox = styled(Box)`\n margin-inline-end: 0.5rem;\n`;\n\ntype Props = RouteComponentProps<{ leagueId: string }> & WithTranslation;\n\nconst StandingsClassic: React.FC = ({ i18n, leagueId, t }) => {\n const dispatch = useDispatch();\n const location = useLocation();\n\n // Get league id from path\n const leagueNumber = parseInt(leagueId!, 10) || 0;\n\n // Get phase and page numbers from query string\n const query = qs.parse(location!.search, {\n ignoreQueryPrefix: true,\n });\n const pageNewEntries = parseInt(query.page_new_entries as string, 10) || 1;\n const pageStandings = parseInt(query.page_standings as string, 10) || 1;\n\n const now = useSelector(getCurrentEvent);\n const league = useSelector((state: RootState) =>\n getClassicLeague(state, leagueNumber)\n );\n const newEntries = useSelector((state: RootState) =>\n getClassicNewEntries(state, leagueNumber, pageNewEntries)\n );\n const phase = parseInt(query.phase as string, 10) || 1;\n const phases = useSelector(getStartedPhases);\n const player = useSelector(getPlayerData);\n const eventsById = useSelector(getEventsById);\n const standings = useSelector((state: RootState) =>\n getClassicStandings(state, leagueNumber, phase, pageStandings)\n );\n\n useEffect(() => {\n if (leagueNumber) {\n dispatch(\n fetchClassicLeagueStandings(\n leagueNumber,\n pageNewEntries,\n pageStandings,\n phase\n )\n );\n }\n }, [dispatch, leagueNumber, phase, pageNewEntries, pageStandings]);\n\n const buildLink = (\n phase: number,\n pageNewEntries: number,\n pageStandings: number\n ) => {\n return `/leagues/${\n league!.id\n }/standings/c?phase=${phase}&page_new_entries=${pageNewEntries}&page_standings=${pageStandings}`;\n };\n\n const handleChange = (e: React.FormEvent) =>\n navigate(buildLink(parseInt(e.currentTarget.value, 10), 1, 1));\n\n if (!league) {\n return null;\n }\n\n const started = now && league.start_event <= now.id;\n return (\n <>\n \n \n
    \n \n {league.has_cup && (\n \n \n {league.cup_league\n ? t(\"standingClassic.matches\", \"View cup matches\")\n : t(\"standingClassic.info\", \"View cup info\")}\n \n \n )}\n {league.start_event > 1 && (\n \n \n {started\n ? t(\n \"standingClassic.started\",\n \"League scoring started in {{startEvent}}\",\n { startEvent: eventsById[league.start_event].name }\n )\n : t(\n \"standingClassic.starting\",\n \"League scoring will start in {{startEvent}}\",\n { startEvent: eventsById[league.start_event].name }\n )}\n \n \n )}\n \n
    \n \n {phases.map((p) => (\n \n {p.name}\n \n ))}\n \n \n
    \n {standings && standings.lastUpdatedData && (\n \n {t(\n \"standingClassic.lastUpdate\",\n \"Last updated: {{ lastUpdatedData }} (local time)\",\n {\n lastUpdatedData: formatRawAsLocalI18n(\n standings.lastUpdatedData,\n dateLocales[i18n.language]\n ),\n }\n )}\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n {standings &&\n standings.results.map((ls) => (\n \n \n \n \n \n \n ))}\n \n
    {t(\"standingClassic.rank\", \"Rank\")}\n {t(\"standingClassic.team\", \"Team & Manager\")}\n \n \n \n {t(\"standingClassic.rd\", \"RD\")}\n \n \n \n \n \n {t(\"standingClassic.tot\", \"TOT\")}\n \n \n
    \n \n {ls.rank}\n \n \n \n {now ? (\n \n {ls.entry_name}\n \n ) : (\n {ls.entry_name}\n )}\n
    \n {ls.player_name}\n
    {ls.event_total}{ls.total}
    \n
    \n
    \n {standings && (\n \n \n {pageStandings > 1 && (\n \n {t(\"standingClassic.previews\", \"Previous\")}\n \n )}\n \n \n {standings.has_next && (\n \n {t(\"standingClassic.next\", \"Next\")}\n \n )}\n \n \n )}\n {newEntries && newEntries.results.length > 0 && (\n <>\n \n \n {t(\"standingClassic.new\", \"New entries\")}\n \n \n \n \n \n \n \n \n \n \n \n \n {newEntries.results.map((ne) => (\n \n \n \n \n ))}\n \n
    \n {t(\"standingClassic.team1\", \"Team\")}\n \n {t(\"standingClassic.manager1\", \"Manager\")}\n
    {ne.entry_name}\n \n {ne.player_first_name} {ne.player_last_name}\n \n
    \n
    \n
    \n \n \n {pageNewEntries > 1 && (\n \n \n {t(\"standingClassic.previews1\", \"Previous\")}\n \n )}\n \n \n {newEntries.has_next && (\n \n \n {t(\"standingClassic.next1\", \"Next\")}\n \n \n \n )}\n \n \n \n )}\n
    \n \n <>\n \n
    \n \n );\n};\n\nexport { StandingsClassic as StandingClassicTest };\n\nexport default withTranslation()(StandingsClassic);\n","import { RouteComponentProps, useLocation } from \"@reach/router\";\nimport qs from \"qs\";\nimport React, { useEffect } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box, Flex } from \"rebass/styled-components\";\nimport { RootState } from \"../../core/store\";\nimport { getCurrentEvent } from \"../../core/store/events/reducers\";\nimport {\n getH2HLeague,\n getH2HStandings,\n} from \"../../core/store/leagues/reducers\";\nimport { fetchH2HLeagueStandings } from \"../../core/store/leagues/thunks\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport ButtonLink from \"../ButtonLink\";\nimport { Main, Secondary, Wrapper } from \"../Layout\";\nimport Link from \"../Link\";\nimport { Pager, PagerItem, PagerItemNext } from \"../Pager\";\nimport Panel from \"../Panel\";\nimport Table, { ScrollTable } from \"../Table\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\nimport { ControlArrowLeft, ControlArrowRight } from \"../icons/Arrows\";\nimport H2HNav from \"./H2HNav\";\nimport HelmetHeadLeagues from \"./HelmetHeadLeagues\";\nimport Movement from \"./Movement\";\nimport StandingsHeading from \"./StandingsHeading\";\nimport StandingsRow from \"./StandingsRow\";\n\ntype Props = RouteComponentProps<{ leagueId: string }> & WithTranslation;\n\nconst StandingsH2H: React.FC = ({ leagueId, t }) => {\n const dispatch = useDispatch();\n const location = useLocation();\n\n // Get league id from path\n const leagueNumber = parseInt(leagueId!, 10) || 0;\n // Get page numbers from query string\n const query = qs.parse(location!.search, {\n ignoreQueryPrefix: true,\n });\n\n const defaultEntryNumber = parseInt(query.default_entry as string, 10) || 0;\n const league = useSelector((state: RootState) =>\n getH2HLeague(state, leagueNumber)\n );\n\n const pageNewEntries = parseInt(query.page_new_entries as string, 10) || 1;\n const pageStandings = parseInt(query.page_standings as string, 10) || 1;\n const now = useSelector(getCurrentEvent);\n const player = useSelector(getPlayerData);\n const standings = useSelector((state: RootState) =>\n getH2HStandings(state, leagueNumber, pageStandings)\n );\n\n useEffect(() => {\n if (leagueNumber) {\n dispatch(\n fetchH2HLeagueStandings(leagueNumber, pageNewEntries, pageStandings)\n );\n }\n }, [dispatch, leagueNumber, pageNewEntries, pageStandings]);\n\n const buildLink = (pageStandings: number) => {\n return `/leagues/${league!.id}/standings/h?page_standings=${pageStandings}`;\n };\n\n if (!league) {\n return null;\n }\n return (\n \n \n
    \n \n {standings && standings.results[0] && now && (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {standings &&\n standings.results.map((ls) => (\n \n \n \n \n \n \n \n \n \n ))}\n \n
    {t(\"standingH2h.rank\", \"Rank\")}\n {t(\"standingH2h.team\", \"Team & Manager\")}\n \n \n {t(\"standingH2h.win\", \"W\")}\n \n \n \n \n {t(\"standingH2h.draw\", \"D\")}\n \n \n \n \n \n {t(\"standingH2h.loose\", \"L\")}\n \n \n {t(\"standingH2h.score\", \"Score\")}\n \n \n {t(\"standingH2h.pts\", \"Pts\")}\n \n \n
    \n \n {ls.rank}\n \n \n \n {ls.entry ? (\n \n {ls.entry_name}\n \n ) : (\n {ls.entry_name}\n )}\n
    \n {ls.player_name}\n
    {ls.matches_won}{ls.matches_drawn}{ls.matches_lost}{ls.points_for}{ls.total}
    \n
    \n
    \n
    \n {standings && standings.results.length > 0 && (\n \n \n \n {pageStandings > 1 && (\n \n \n {t(\"standingH2h.previews\", \"Previous\")}\n \n )}\n \n \n {standings.has_next && (\n \n {t(\"standingH2h.next\", \"Next\")}\n \n \n )}\n \n \n \n )}\n
    \n \n <>\n \n
    \n );\n};\n\nexport { StandingsH2H as StandingH2HTest };\n\nexport default withTranslation()(StandingsH2H);\n","import React from \"react\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { useSelector } from \"react-redux\";\nimport { Redirect, RouteComponentProps } from \"@reach/router\";\n\nconst LoggedIn: React.FC = () => {\n const player = useSelector(getPlayerData);\n if (!player) {\n return ;\n } else if (!player.entry) {\n return ;\n }\n return ;\n};\n\nexport default LoggedIn;\n","import { RouteComponentProps } from \"@reach/router\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { logout } from \"../../core/store/player/thunks\";\nimport { getIsWebView } from \"../../utils/webView\";\n\nconst Logout: React.FC = () => {\n const dispatch = useDispatch();\n\n const handleLogout = async () => dispatch(logout());\n\n useEffect(() => {\n (async () => {\n if (getIsWebView()) {\n await handleLogout().then(() => window.location.replace(\"/?webview=1\"));\n } else {\n await handleLogout().then(() => window.location.replace(\"/\"));\n }\n })();\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n return
    ;\n};\n\nexport default Logout;\n","import { RouteComponentProps } from \"@reach/router\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch } from \"react-redux\";\nimport { Box } from \"rebass\";\nimport { ThunkDispatch } from \"../../core/store\";\nimport { passwordReset } from \"../../core/store/player/thunks\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { InputField } from \"../FieldRenderers\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\n\nconst PasswordReset: React.FC = () => {\n const reduxDispatch = useDispatch();\n const { t } = useTranslation();\n const [email, setEmail] = useState(\"\");\n const [submitted, setSumbitted] = useState(false);\n\n async function handleSubmit(e: React.FormEvent) {\n e.preventDefault();\n try {\n await reduxDispatch(passwordReset({ email }));\n } catch (e) {\n return;\n }\n setSumbitted(true);\n }\n\n if (submitted) {\n return (\n \n
    \n \n {t(\"passwordReset.sentTitle\", \"Password reset sent\")}\n \n \n

    \n {t(\n \"passwordReset.sentExplain\",\n \"We've emailed you instructions for setting your password to the email address you submitted. You should receive it shortly.\"\n )}\n

    \n
    \n
    \n
    \n );\n }\n\n return (\n \n
    \n \n {t(\"passwordReset.title\", \"Password reset\")}\n \n \n

    \n {t(\n \"passwordReset.explain\",\n \"Forgotten your password? Enter your e-mail address below, and we'll e-mail instructions for setting a new one.\"\n )}\n

    \n
    \n \n ) =>\n setEmail(e.currentTarget.value)\n }\n />\n \n \n \n \n
    \n
    \n
    \n
    \n );\n};\n\nexport default PasswordReset;\n","import { RouteComponentProps } from \"@reach/router\";\nimport values from \"lodash/values\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass\";\nimport { ThunkDispatch } from \"../../core/store\";\nimport { getPasswordSetError } from \"../../core/store/player/reducers\";\nimport { passwordSet } from \"../../core/store/player/thunks\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport ButtonLink from \"../ButtonLink\";\nimport Copy from \"../Copy\";\nimport { FieldFeedback, InputField } from \"../FieldRenderers\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\n\ninterface IErrors {\n newPassword1: string;\n newPassword2: string;\n}\n\nconst PasswordSet: React.FC<\n RouteComponentProps<{\n uidb64: string;\n token: string;\n }>\n> = ({ uidb64, token }) => {\n const passwordSetErrors = useSelector(getPasswordSetError);\n const reduxDispatch = useDispatch();\n const { t } = useTranslation();\n const [initialToken] = useState(token);\n const [newPassword1, setNewPassword1] = useState(\"\");\n const [newPassword2, setNewPassword2] = useState(\"\");\n const [submitted, setSumbitted] = useState(false);\n const [errors, setErrors] = useState({\n newPassword1: \"\",\n newPassword2: \"\",\n });\n\n if (submitted) {\n return (\n \n
    \n \n \n {t(\"passwordReset.completeTitle\", \"Password reset sent\")}\n \n \n \n

    \n {t(\n \"passwordReset.completeText\",\n \"Your password has been set. You may go ahead and log in now.\"\n )}\n

    \n \n \n {t(\"passwordSet.completeLogin\", \"Log in\")}\n \n \n
    \n
    \n
    \n );\n }\n\n if (!initialToken || !uidb64) {\n return (\n \n
    \n \n \n {t(\"passwordReset.errorMissingTitle\", \"Error validating link\")}\n \n \n \n

    \n {t(\n \"passwordReset.errorMissingText\",\n \"There was a problem with the password reset URL. Please try clicking the link again or cut and paste it from your email application.\"\n )}\n

    \n
    \n
    \n
    \n );\n }\n\n async function handleSubmit(e: React.FormEvent) {\n e.preventDefault();\n try {\n await reduxDispatch(\n passwordSet({\n new_password1: newPassword1,\n new_password2: newPassword2,\n uidb64: uidb64 as string,\n token: initialToken as string,\n })\n );\n } catch (e) {\n return;\n }\n setSumbitted(true);\n }\n\n // Errors which can be picked up by the UI\n const validate = () => {\n const errors: IErrors = {\n newPassword1: \"\",\n newPassword2: \"\",\n };\n if (newPassword1.length <= 6) {\n errors.newPassword1 = t(\n \"passwordSet.hintPassword1\",\n \"Minimum 6 characters\"\n );\n }\n if (newPassword2.length && newPassword1 !== newPassword2) {\n errors.newPassword2 = t(\n \"passwordSet.errorMatch\",\n \"Please make sure the passwords match.\"\n );\n }\n setErrors(errors);\n };\n\n // Obvious errors should be picked up by the UI but just in case we should\n // show them. Better en errors than none ...\n const serverErrors =\n passwordSetErrors && passwordSetErrors.badRequest\n ? values(passwordSetErrors.badRequest).map((e) => e[0].message)\n : [];\n\n const disabled = newPassword1.length < 6 || newPassword1 !== newPassword2;\n\n return (\n \n
    \n \n {t(\"passwordSet.title\", \"Enter new password\")}\n \n {serverErrors.length > 0 && (\n \n {values(serverErrors).map((r) => (\n

    {r}

    \n ))}\n
    \n )}\n \n

    \n {t(\n \"passwordSet.explain\",\n \"Please enter your new password twice so we can verify you typed it in correctly.\"\n )}\n

    \n
    \n \n ) =>\n setNewPassword1(e.currentTarget.value)\n }\n onBlur={validate}\n hint={t(\"passwordSet.hintPassword1\", \"Minimum 6 characters\")}\n />\n \n {errors.newPassword1 && (\n {errors.newPassword1}\n )}\n \n ) =>\n setNewPassword2(e.currentTarget.value)\n }\n onBlur={validate}\n />\n \n {errors.newPassword2 && (\n {errors.newPassword2}\n )}\n \n \n \n
    \n
    \n
    \n
    \n );\n};\n\nexport default PasswordSet;\n","import { createAsyncAction } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { IRegion } from \"./types\";\n\n// Action Creators\nexport const addRegions = createAsyncAction(\n \"ADD_REGIONS_START\",\n \"ADD_REGIONS_SUCCESS\",\n \"ADD_REGIONS_FAILURE\"\n)();\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport * as actions from \"./actions\";\nimport { IRegion, IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n byId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addRegions.success):\n const newState: { [key: string]: IRegion } = {};\n action.payload.forEach((team) => {\n newState[team.id] = team;\n });\n return newState;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getRegionsById = (state: RootState) => state.regions.byId;\n\nexport const getRegions = (state: RootState) =>\n Object.keys(state.regions.byId).map((r) => state.regions.byId[r]);\n","async function _fetch(url: string) {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return await response.json();\n}\nexport interface IResidence {\n code: number;\n id: number;\n name: string;\n iso_code_short: string;\n iso_code_long: string;\n}\n\n// Residences\nexport async function fetchResidences(): Promise {\n const textUrl = \"api/residences/\";\n return _fetch(textUrl);\n}\n","import { navigate } from \"@reach/router\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass\";\nimport { ThunkDispatch } from \"../../core/store\";\nimport { bootstrap } from \"../../core/store/bootstrap/thunks\";\nimport { getPasswordChangeError } from \"../../core/store/player/reducers\";\nimport { passwordChange } from \"../../core/store/player/thunks\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { FieldFeedback, InputField } from \"../FieldRenderers\";\nimport { Main } from \"../Layout\";\nimport Title from \"../Title\";\n\ninterface IErrors {\n oldPassword: string;\n password: string;\n}\n\nconst PasswordChange: React.FC = () => {\n const passwordChangeErrors = useSelector(getPasswordChangeError);\n const reduxDispatch = useDispatch();\n const { t } = useTranslation();\n const [oldPassword, setOldPassword] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [errors, setErrors] = useState({\n password: \"\",\n oldPassword: \"\",\n });\n\n async function handleSubmit(e: React.FormEvent) {\n e.preventDefault();\n try {\n await reduxDispatch(\n passwordChange({\n old_password: oldPassword,\n password,\n })\n );\n } catch (e) {\n return;\n }\n await reduxDispatch(bootstrap());\n navigate(\"/\");\n }\n\n // Errors which can be picked up by the UI\n const validate = () => {\n if (password.length <= 6) {\n errors.password = t(\n \"passwordChange.hintPassword\",\n \"Minimum 6 characters\"\n );\n }\n setErrors(errors);\n };\n\n const disabled = password.length < 6 || !oldPassword.length;\n\n return (\n
    \n \n {t(\"passwordChange.title\", \"Change password\")}\n \n {passwordChangeErrors && (\n \n {t(\"passwordChange.error\", \"Error updating password.\")}\n \n )}\n \n
    \n \n ) =>\n setOldPassword(e.currentTarget.value)\n }\n />\n \n \n ) =>\n setPassword(e.currentTarget.value)\n }\n onBlur={validate}\n hint={t(\"passwordChange.hintPassword\", \"Minimum 6 characters\")}\n />\n \n {errors.password && {errors.password}}\n \n \n \n
    \n
    \n
    \n );\n};\n\nexport default PasswordChange;\n","import { navigate, RouteComponentProps } from \"@reach/router\";\nimport range from \"lodash/range\";\nimport sortBy from \"lodash/sortBy\";\nimport values from \"lodash/values\";\nimport moment from \"moment\";\nimport React, { useEffect, useState } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { bootstrap } from \"../../core/store/bootstrap/thunks\";\nimport {\n getPlayerData,\n getPlayerUpdateError,\n getRegisterError,\n} from \"../../core/store/player/reducers\";\nimport { playerUpdate, register } from \"../../core/store/player/thunks\";\nimport { getRegions } from \"../../core/store/regions/reducers\";\nimport { fetchRegions } from \"../../core/store/regions/thunks\";\nimport { IPlayer } from \"../../types\";\n\nimport TagManager from \"@sooro-io/react-gtm-module\";\nimport { fetchResidences, IResidence } from \"../../utils/residence\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport {\n CheckboxField,\n FieldFeedback,\n InputField,\n RadioGroup,\n SelectField,\n} from \"../FieldRenderers\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\nimport DeleteAccountBox from \"./DeleteAccountBox\";\nimport PasswordChange from \"./PasswordChange\";\n\nconst DOBFieldset = styled.fieldset`\n margin: 0;\n padding: 0;\n border: 0;\n`;\n\nconst DOBFieldsetInner = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n display: flex;\n align-items: flex-end;\n justify-content: space-between;\n margin-top: ${({ theme }) => theme.space[2]};\n margin-left: -${({ theme }) => theme.space[2]};\n margin-right: -${({ theme }) => theme.space[2]};\n }\n`;\n\nconst DOBLegend = styled.legend`\n display: block;\n padding: 0;\n margin-bottom: ${({ theme }) => theme.space[1]};\n color: ${({ theme }) => theme.colors.white};\n font-size: 1.5rem;\n font-weight: bold;\n cursor: pointer;\n`;\n\nconst DOBCol = styled.div`\n margin-top: ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: calc(100% / 3);\n margin-top: 0;\n padding-left: ${({ theme }) => theme.space[2]};\n padding-right: ${({ theme }) => theme.space[2]};\n }\n`;\ninterface IState {\n email: string;\n firstName: string;\n lastName: string;\n password: string;\n errorEmail: string;\n errorFName: string;\n errorLName: string;\n errorPass: string;\n region: number;\n residences: any | null;\n residenceData: any | null;\n residenceCity: number | null;\n emailSPL: boolean;\n errorRegion: string;\n gender: string;\n errorGender: string;\n formDisabled: boolean;\n errorDob: string;\n birthDay: number;\n birthMonth: number;\n birthYear: number;\n}\n\ntype Props = RouteComponentProps & WithTranslation;\n\nconst Register: React.FC = ({ t }) => {\n const dispatch = useDispatch();\n const player = useSelector(getPlayerData) as IPlayer | null;\n const registerError = useSelector(getRegisterError);\n const updateError = useSelector(getPlayerUpdateError);\n const regions = useSelector(getRegions);\n\n const doBootstrap = () => dispatch(bootstrap());\n const registerPlayer = (data: any) => dispatch(register(data));\n const updatePlayer = (data: any) => dispatch(playerUpdate(data));\n const fetchRegionData = () => dispatch(fetchRegions());\n\n const errorsTxt: { [key: string]: string } = {\n EDob: t(\"register.errors.dob\", \"Date of birth not valid\"),\n EEmail: t(\"register.errors.email\", \"An email is required\"),\n EFName: t(\"register.errors.fname\", \"First name is required\"),\n ELName: t(\"register.errors.lname\", \"Last name is required\"),\n EPass: t(\"register.errors.pass\", \"A password is required\"),\n EPassLength: t(\n \"register.errors.passLength\",\n \"Password too short, minimum 6 characters\"\n ),\n EValidEmail: t(\n \"register.errors.validEmail\",\n \"This Email address is already registered\"\n ),\n EValidPass: t(\"register.errors.validPass\", \"Password not valid\"),\n ERegion: t(\"register.errors.regionn\", \"Nationality is required\"),\n EGender: t(\"register.errors.gender\", \"A gender choice is required\"),\n EValidDob: t(\n \"register.errors.validDobn\",\n \"A correct date of birth is required\"\n ),\n };\n\n const months: { [key: string]: string } = {\n 1: t(\"months.janShort\", \"Jan\"),\n 2: t(\"months.febShort\", \"Feb\"),\n 3: t(\"months.marShort\", \"Mar\"),\n 4: t(\"months.aprShort\", \"Apr\"),\n 5: t(\"months.mayShort\", \"May\"),\n 6: t(\"months.junShort\", \"Jun\"),\n 7: t(\"months.julShort\", \"Jul\"),\n 8: t(\"months.augShort\", \"Aug\"),\n 9: t(\"months.sepShort\", \"Sep\"),\n 10: t(\"months.octShort\", \"Oct\"),\n 11: t(\"months.novShort\", \"Nov\"),\n 12: t(\"months.decShort\", \"Dec\"),\n };\n\n const [state, setState] = useState({\n birthDay:\n player && player.date_of_birth\n ? Number(player.date_of_birth.split(\"-\")[2])\n : 0,\n birthMonth:\n player && player.date_of_birth\n ? Number(player.date_of_birth.split(\"-\")[1])\n : 0,\n birthYear:\n player && player.date_of_birth\n ? Number(player.date_of_birth.split(\"-\")[0])\n : 0,\n email:\n player && player.email.indexOf(\"@ismfgsocial\") === -1 ? player.email : \"\",\n errorEmail: \"\",\n errorFName: \"\",\n errorLName: \"\",\n errorPass: \"\",\n firstName: player ? player.first_name : \"\",\n lastName: player ? player.last_name : \"\",\n password: \"\",\n emailSPL: player ? player.email_spl : false,\n errorRegion: \"\",\n region: player ? player.region : 0,\n residenceData: null,\n residences:\n player && player.residence && player.residence >= 240\n ? 185\n : player && player.residence && player.residence < 240\n ? player.residence\n : 0,\n residenceCity:\n player && player.residence && player.residence >= 240\n ? player.residence\n : null,\n gender: player ? player.gender : \"\",\n errorGender: \"\",\n formDisabled: false,\n errorDob: \"\",\n });\n\n const getMode = () => {\n if (!player) {\n return \"register\";\n }\n return player.dirty ? \"confirm\" : \"update\";\n };\n\n const getRequiredFields: () => Array = () => {\n switch (getMode()) {\n case \"register\":\n return [\n \"birthDay\",\n \"birthMonth\",\n \"birthYear\",\n \"email\",\n \"firstName\",\n \"lastName\",\n \"password\",\n \"region\",\n \"gender\",\n ];\n case \"confirm\":\n return [\n \"birthDay\",\n \"birthMonth\",\n \"birthYear\",\n \"email\",\n \"firstName\",\n \"lastName\",\n \"region\",\n \"gender\",\n ];\n case \"update\":\n return [\n \"birthDay\",\n \"birthMonth\",\n \"birthYear\",\n \"email\",\n \"firstName\",\n \"lastName\",\n \"gender\",\n \"region\",\n ];\n }\n };\n\n const apiDataFromState = () => {\n switch (getMode()) {\n case \"register\":\n return {\n date_of_birth: `${state.birthYear}-${state.birthMonth}-${state.birthDay}`,\n email: state.email,\n first_name: state.firstName,\n last_name: state.lastName,\n password: state.password,\n region: state.region,\n email_spl: state.emailSPL,\n gender: state.gender,\n residence:\n state.residenceCity && state.residenceCity > 0\n ? state.residenceCity\n : state.residences,\n };\n case \"confirm\":\n return {\n date_of_birth: `${state.birthYear}-${state.birthMonth}-${state.birthDay}`,\n email: state.email,\n first_name: state.firstName,\n last_name: state.lastName,\n region: state.region,\n email_spl: state.emailSPL,\n gender: state.gender,\n residence:\n state.residenceCity && state.residenceCity > 0\n ? state.residenceCity\n : state.residences,\n };\n case \"update\":\n return {\n date_of_birth: `${state.birthYear}-${state.birthMonth}-${state.birthDay}`,\n email: state.email,\n first_name: state.firstName,\n last_name: state.lastName,\n region: state.region,\n email_spl: state.emailSPL,\n gender: state.gender,\n residence:\n state.residenceCity && state.residenceCity > 0\n ? state.residenceCity\n : state.residences,\n };\n }\n };\n\n const handleBirthDayChange = (e: React.FormEvent) =>\n setState({\n ...state,\n birthDay: parseInt(e.currentTarget.value, 10),\n });\n\n const handleBirthMonthChange = (e: React.FormEvent) =>\n setState({\n ...state,\n birthMonth: parseInt(e.currentTarget.value, 10),\n });\n\n const handleBirthYearChange = (e: React.FormEvent) =>\n setState({\n ...state,\n birthYear: parseInt(e.currentTarget.value, 10),\n });\n\n const handleEmailChange = (e: React.FormEvent) =>\n setState({\n ...state,\n email: e.currentTarget.value,\n formDisabled: false,\n });\n\n const handleFirstNameChange = (e: React.FormEvent) =>\n setState({\n ...state,\n firstName: e.currentTarget.value,\n });\n\n const handleLastNameChange = (e: React.FormEvent) =>\n setState({\n ...state,\n lastName: e.currentTarget.value,\n });\n\n const handleGenderChange = (e: React.FormEvent) =>\n setState({\n ...state,\n gender: e.currentTarget.value,\n });\n\n const handlePasswordChange = (e: React.FormEvent) =>\n setState({\n ...state,\n password: e.currentTarget.value,\n formDisabled: false,\n });\n\n const handleRegionChange = (e: React.FormEvent) =>\n setState({\n ...state,\n region: parseInt(e.currentTarget.value, 10),\n });\n\n const handleemailSPLChange = (e: React.FormEvent) =>\n setState({\n ...state,\n emailSPL: e.currentTarget.checked ? true : false,\n });\n\n const handleResidenceChange = (e: React.FormEvent) => {\n setState({\n ...state,\n residences: parseInt(e.currentTarget.value, 10),\n });\n setState({\n ...state,\n residenceCity: 0,\n });\n };\n const handleResidenceCityChange = (e: React.FormEvent) =>\n setState({\n ...state,\n residenceCity: parseInt(e.currentTarget.value, 10),\n });\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n setState({ ...state, formDisabled: true });\n const mode = getMode();\n\n if (mode === \"register\") {\n try {\n registerPlayer(apiDataFromState());\n } catch (e) {\n window.scrollTo(0, 0); // To see error if failure ...\n return;\n }\n doBootstrap();\n TagManager.dataLayer({\n dataLayer: {\n event: \"sign_up\",\n user_email: state.email,\n first_name: state.firstName,\n last_name: state.lastName,\n region: state.region,\n gender: state.gender,\n RSL: true,\n },\n });\n navigate(\"/squad-selection\");\n } else if (mode === \"confirm\") {\n try {\n updatePlayer(apiDataFromState());\n } catch (e) {\n window.scrollTo(0, 0); // To see error if failure ...\n return;\n }\n doBootstrap();\n navigate(\"/squad-selection\");\n } else if (mode === \"update\") {\n try {\n updatePlayer(apiDataFromState());\n } catch (e) {\n window.scrollTo(0, 0); // To see error if failure ...\n return;\n }\n doBootstrap();\n // Maybe this should be back to my team, maybe our LoggedIn component\n navigate(\"/\");\n }\n setState({ ...state, formDisabled: false });\n };\n\n useEffect(() => {\n const fetchData = async () => {\n fetchRegionData();\n await fetchResidences().then((data) => {\n setState({ ...state, residenceData: data });\n });\n };\n\n fetchData();\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n const getSaudiRegions = () => {\n const regs = regions;\n const saudi = regs.filter((reg) => reg.code === 185);\n return sortBy(saudi, [\"name\"]);\n };\n\n const getIntRegions = () => {\n const regs = regions;\n const noSaudi = regs.filter((reg) => reg.code !== 185);\n return sortBy(noSaudi, [\"name\"]);\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const getSaudiResidenceCities = () => {\n const regs = regions;\n const saudi = regs.filter((reg) => reg.code > 185);\n return sortBy(saudi, [\"name\"]);\n };\n\n const handleFirstnameBlur = (e: React.FormEvent) => {\n if (!e.currentTarget.value) {\n setState({ ...state, errorFName: errorsTxt.EFName });\n } else {\n setState({ ...state, errorFName: \"\" });\n }\n };\n\n const handleLastnameBlur = (e: React.FormEvent) => {\n if (!e.currentTarget.value) {\n setState({ ...state, errorLName: errorsTxt.ELName });\n } else {\n setState({ ...state, errorLName: \"\" });\n }\n };\n\n const handlePasswordBlur = (e: React.FormEvent) => {\n if (!e.currentTarget.value) {\n setState({ ...state, errorPass: errorsTxt.EPass });\n } else {\n if (e.currentTarget.value.length < 6) {\n setState({ ...state, errorPass: errorsTxt.EPassLength });\n } else {\n setState({ ...state, errorPass: \"\" });\n }\n }\n };\n\n const handleDobBlur = (e: React.FormEvent) => {\n const year = state.birthYear;\n const month = state.birthMonth;\n const day = state.birthDay;\n if (year > 0 && month > 0 && day > 0) {\n if (moment(new Date(year, month - 1, day)).isValid()) {\n const today = new Date();\n const birthDate = new Date(year, month - 1, day);\n let age = today.getFullYear() - birthDate.getFullYear();\n const m = today.getMonth() - birthDate.getMonth();\n if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {\n age--;\n }\n if (age < 15) {\n setState({ ...state, errorDob: errorsTxt.EDob, formDisabled: true });\n } else {\n setState({ ...state, errorDob: \"\", formDisabled: false });\n }\n } else {\n setState({ ...state, errorDob: errorsTxt.EDob, formDisabled: true });\n }\n }\n };\n\n const handleEmailBlur = (e: React.FormEvent) => {\n if (!e.currentTarget.value) {\n setState({ ...state, errorEmail: errorsTxt.EEmail });\n } else {\n setState({ ...state, errorEmail: \"\" });\n }\n };\n\n const handleRegionBlur = (e: React.FormEvent) => {\n if (!e.currentTarget.value || e.currentTarget.value === \"0\") {\n setState({ ...state, errorRegion: errorsTxt.ERegion });\n } else {\n setState({ ...state, errorRegion: \"\" });\n }\n };\n\n const handleServerErrors = () => {\n const errors = getMode() === \"register\" ? registerError : updateError;\n const formattedErrors = [];\n if (errors) {\n if (\n errors.badRequest &&\n errors.badRequest.password &&\n errors.badRequest.password[0].code === \"invalid\"\n ) {\n formattedErrors.push(errorsTxt.EValidPass);\n }\n if (\n errors.badRequest &&\n errors.badRequest.email &&\n errors.badRequest.email[0].code === \"duplicate\"\n ) {\n formattedErrors.push(errorsTxt.EValidEmail);\n }\n if (\n errors.badRequest &&\n errors.badRequest.email &&\n errors.badRequest.email[0].code === \"blank\"\n ) {\n formattedErrors.push(errorsTxt.EEmail);\n }\n if (\n errors.badRequest &&\n errors.badRequest.password &&\n errors.badRequest.password[0].code === \"blank\"\n ) {\n formattedErrors.push(errorsTxt.EPass);\n }\n if (\n errors.badRequest &&\n errors.badRequest.last_name &&\n errors.badRequest.last_name[0].code === \"blank\"\n ) {\n formattedErrors.push(errorsTxt.EFName);\n }\n if (\n errors.badRequest &&\n errors.badRequest.last_name &&\n errors.badRequest.last_name[0].code === \"blank\"\n ) {\n formattedErrors.push(errorsTxt.ELName);\n }\n if (\n errors.badRequest &&\n errors.badRequest.date_of_birth &&\n errors.badRequest.date_of_birth[0].code === \"invalid\"\n ) {\n formattedErrors.push(errorsTxt.EValidDob);\n }\n if (\n errors.badRequest &&\n errors.badRequest.region &&\n errors.badRequest.region[0].code === \"does_not_exist\"\n ) {\n formattedErrors.push(errorsTxt.ERegion);\n }\n\n return formattedErrors;\n }\n };\n\n const isFormDisabled = () => {\n const requiredFieldsMissing = getRequiredFields().some((e) => !state[e]);\n return requiredFieldsMissing || state.formDisabled;\n };\n\n const mode = getMode();\n const title = {\n register: t(\"register.title.registration\", \"Registration\"),\n confirm: t(\"register.title.confirm\", \"Confirm your details\"),\n update: t(\"register.title.update\", \"Confirm your details\"),\n };\n const buttonText = {\n register: t(\"register.label.register\", \"Register\"),\n confirm: t(\"register.label.confirm\", \"Update\"),\n update: t(\"register.label.update\", \"Update\"),\n };\n const errors = handleServerErrors();\n const saudiResi = state.residenceData?.filter(\n (reg: IResidence) => reg.code === 185\n );\n const intResidenceUn = state.residenceData?.filter(\n (reg: IResidence) => reg.code !== 185 && reg.code < 240\n );\n const intResidence = sortBy(intResidenceUn, [\"name\"]);\n\n const intResidenceCitiesUn = state.residenceData?.filter(\n (reg: IResidence) => reg.code > 239\n );\n const intResidenceCities = sortBy(intResidenceCitiesUn, [\"name\"]);\n\n const residenceCity =\n state.residenceData && state.residences && state.residences === 185\n ? true\n : false;\n return (\n \n
    \n \n {title[mode]}\n

    \n {t(\n \"register.required\",\n \"Fields marked with an asterisk (*) are required.\"\n )}\n

    \n
    \n\n {errors && {values(errors).map((r) => r)}}\n \n
    \n \n \n {state.errorEmail && (\n {state.errorEmail}\n )}\n \n {mode === \"register\" && (\n \n \n {state.errorPass && (\n {state.errorPass}\n )}\n \n )}\n \n \n {state.errorFName && (\n {state.errorFName}\n )}\n \n \n \n {state.errorLName && (\n {state.errorLName}\n )}\n \n \n {state.errorRegion && (\n {state.errorRegion}\n )}\n \n \n \n {values(getSaudiRegions()).map((r) => (\n \n {r.name}\n \n ))}\n \n \n {values(getIntRegions()).map((r) => (\n \n {r.name}\n \n ))}\n \n \n \n \n \n \n \n \n \n {t(\"register.label.dob\", \"Date of birth\")}\n \n \n {t(\n \"register.hint.dob\",\n \"The game is only available to individuals aged 15 and over\"\n )}\n \n \n \n \n \n {t(\"register.label.day\", \"Day\")}\n \n {range(1, 32).map((d) => (\n \n {d}\n \n ))}\n \n \n \n \n \n {t(\"register.label.month\", \"Month\")}\n \n {Object.keys(months).map((m) => (\n \n {months[m]}\n \n ))}\n \n \n \n \n \n {t(\"register.label.year\", \"Year\")}\n \n {range(new Date().getFullYear() - 15, 1900).map((y) => (\n \n {y}\n \n ))}\n \n \n \n {state.errorDob && (\n {state.errorDob}\n )}\n \n \n \n \n \n \n {values(saudiResi).map((r) => (\n \n {r.name}\n \n ))}\n \n \n {values(intResidence).map((r) => (\n \n {r.name}\n \n ))}\n \n \n \n {residenceCity && (\n \n \n \n {values(intResidenceCities).map((r) => (\n \n {r.name}\n \n ))}\n \n \n )}\n \n

    \n {t(\n \"register.emailText\",\n \"Receive information and newsletter from\"\n )}\n

    \n \n
    \n \n \n \n
    \n
    \n {mode === \"update\" && player && }\n {mode === \"update\" && player && }\n
    \n
    \n );\n};\n\nexport { Register as RegisterTest };\n\nexport default withTranslation()(Register);\n","import { ThunkResult } from \"..\";\nimport { apiGet } from \"../../utils/api\";\nimport * as actions from \"./actions\";\nimport { IRegion } from \"./types\";\n\nexport const fetchRegions =\n (): ThunkResult> => async (dispatch) => {\n try {\n await apiGet(\"regions/\", dispatch, actions.addRegions);\n } catch (e) {\n return;\n }\n };\n","import { Link, RouteComponentProps, navigate } from \"@reach/router\";\nimport React, { useState } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { ThunkDispatch } from \"../../core/store\";\nimport { bootstrap } from \"../../core/store/bootstrap/thunks\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { InputField } from \"../FieldRenderers\";\nimport { Main, Wrapper } from \"../Layout\";\nimport SubHeading from \"../SubHeading\";\nimport Title from \"../Title\";\nimport { FetchPut } from \"./utils\";\n\nconst VerifyDeleteOtp: React.FC = () => {\n const reduxDispatch = useDispatch();\n const { t } = useTranslation();\n const [token, setToken] = useState(\"\");\n const player = useSelector(getPlayerData);\n if (!player) {\n navigate(\"../\");\n }\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n FetchPut(\"player/action-delete-verify/\", { token }).then(async () => {\n try {\n await reduxDispatch(bootstrap());\n } catch (e) {\n return;\n }\n });\n };\n return (\n \n
    \n \n \n {t(\"verifyDeleteOtp.title\", \"Delete Your Account\")}\n \n {t(\"mergCode.subheading\", \"Enter Code\")}\n

    \n {t(\n \"verifyDeleteOtp.intro\",\n \"To complete the account deletion, please enter the 6-digit code sent to your registered email address and click 'Submit code'.\"\n )}\n

    \n \n
    \n ) =>\n setToken(e.currentTarget.value)\n }\n required={false}\n />\n \n \n \n \n
    \n \n

    \n \n Didn't get the code? If you do not see the email in your inbox,{\" \"}\n check your “junk mail” folder or “spam” folder. We make every{\" \"}\n effort to ensure these emails are delivered. If you still don't{\" \"}\n receive the code, click here to send\n it again.\n \n

    \n
    \n
    \n
    \n
    \n );\n};\n\nexport default VerifyDeleteOtp;\n","import { Link } from \"@reach/router\";\nimport React, { useState } from \"react\";\nimport { Trans, WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { getNextEvent } from \"../../core/store/events/reducers\";\nimport { getSquadError } from \"../../core/store/squad/reducers\";\nimport { createEntry } from \"../../core/store/squad/thunks\";\nimport { ICreateEntryData } from \"../../core/store/squad/types\";\nimport { getTeams } from \"../../core/store/teams/reducers\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Dialog from \"../Dialog\";\nimport DialogHeading from \"../DialogHeading\";\nimport {\n CheckboxField,\n FieldWrap,\n InputField,\n SelectField,\n} from \"../FieldRenderers\";\nimport { getCodeFromError } from \"./helpers\";\n\ninterface IOwnProps {\n handleHide: () => void;\n}\n\ninterface IState extends ICreateEntryData {\n favourite_team: number;\n least_favourite_team: number;\n}\n\ntype Props = IOwnProps & WithTranslation;\n\nconst CreateEntryDialog: React.FC = ({ handleHide, i18n, t }) => {\n const dispatch = useDispatch();\n const [state, setState] = useState({\n email: false,\n favourite_team: 0,\n least_favourite_team: 0,\n name: \"\",\n terms_agreed: false,\n language: i18n.language,\n });\n\n const error = useSelector(getSquadError);\n const nextEvent = useSelector(getNextEvent);\n const teams = useSelector(getTeams);\n\n const requiredFields: Array = [\n \"favourite_team\",\n \"name\",\n \"terms_agreed\",\n \"language\",\n ];\n\n const apiDataFromState = () => ({\n email: state.email,\n favourite_team: state.favourite_team > 0 ? state.favourite_team : null,\n least_favourite_team:\n state.least_favourite_team > 0 ? state.least_favourite_team : null,\n name: state.name,\n terms_agreed: state.terms_agreed,\n language: i18n.language,\n });\n\n const handleEmailChange = (e: React.FormEvent) =>\n setState({ ...state, email: e.currentTarget.checked ? true : false });\n\n const handleFaveChange = (e: React.FormEvent) =>\n setState({ ...state, favourite_team: parseInt(e.currentTarget.value, 10) });\n\n const handleLeastFaveChange = (e: React.FormEvent) =>\n setState({\n ...state,\n least_favourite_team: parseInt(e.currentTarget.value, 10),\n });\n\n const handleNameChange = (e: React.FormEvent) =>\n setState({ ...state, name: e.currentTarget.value });\n\n const handleTermsChange = (e: React.FormEvent) =>\n setState({\n ...state,\n terms_agreed: e.currentTarget.checked ? true : false,\n });\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n if (isValid()) {\n dispatch(createEntry(apiDataFromState()));\n }\n };\n\n const isValid = () => requiredFields.every((e) => Boolean(state[e]));\n\n // filterTeams\n const spl = teams\n .filter((team) => team.unavailable === false)\n .sort((a, b) => a.name.localeCompare(b.name));\n\n const errorCode = getCodeFromError(error);\n if (error) {\n const handledErrorCodes = [\"price_changed\"];\n if (handledErrorCodes.indexOf(errorCode) === -1) {\n window.location.reload();\n return null;\n }\n }\n if (!nextEvent) {\n return (\n \n \n {t(\"createEntryDialog.over\", \"Game over\")}\n \n \n

    \n {t(\n \"createEntryDialog.finished\",\n \"This game has now finished. Thanks for your interest, come back soon to select your squad for next season's game.\"\n )}\n

    \n
    \n
    \n );\n }\n\n return (\n \n \n \n {t(\"createEntryDialog.enterSquad\", \"Enter squad\")}\n \n \n\n \n
    \n \n \n \n \n \n \n\n \n {spl.map((tm) => (\n \n {tm.name}\n \n ))}\n \n\n \n \n \n \n \n \n {t(\"createEntryDialog.chooseAClubLeast\", \"Choose a club\")}...\n \n\n \n {spl.map((tm) => (\n \n {tm.name}\n \n ))}\n \n\n \n {t(\"createEntryDialog.none\", \"None\")}\n \n \n \n \n \n \n \n \n I'm over the age of 15 and agree to the SPL\n Terms and conditions.\n \n }\n onChange={handleTermsChange}\n checked={state.terms_agreed}\n />\n \n {errorCode && (\n \n \n {errorCode === \"price_changed\" &&\n t(\n \"createEntryDialog.unable\",\n \"Unable to enter squad as player prices have changed. Please refresh the page and try again.\"\n )}\n \n \n )}\n \n
    \n
    \n
    \n );\n};\n\nexport { CreateEntryDialog as CreateEntryDialogTest };\n\nexport default withTranslation()(CreateEntryDialog);\n","// Look for errors we potentally can handle\nexport const getCodeFromError = (error: any) => {\n let errorCode = \"\";\n if (error && error.badRequest) {\n const e = error.badRequest;\n if (e.transfers && e.transfers.length) {\n for (let i = 0; i < e.transfers.length; i++) {\n if (\n e.transfers[i].non_field_errors &&\n e.transfers[i].non_field_errors.length\n ) {\n errorCode = e.transfers[i].non_field_errors[0].code;\n break;\n }\n }\n } else if (e.non_field_errors && e.non_field_errors.length) {\n errorCode = e.non_field_errors[0].code;\n } else if (e.picks && e.picks.length) {\n for (let i = 0; i < e.picks.length; i++) {\n if (e.picks[i].purchase_price && e.picks[i].purchase_price.length) {\n errorCode = e.picks[i].purchase_price[0].code;\n break;\n }\n }\n }\n }\n return errorCode || \"\";\n};\n","import * as React from \"react\";\nimport styled from \"styled-components/macro\";\nimport Title from \"./Title\";\n\nconst StyledPageHeader = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\ninterface IProps {\n children: React.ReactNode;\n title: React.ReactNode;\n}\n\nconst PageHeader: React.FC = ({ children, title }) => (\n \n {title}\n {children}\n \n);\n\nexport default PageHeader;\n","import React from \"react\";\nimport styled from \"styled-components/macro\";\n\nconst StyledDeadlineBar = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n padding: ${({ theme }) => theme.space[2]};\n border-radius: 0;\n background-color: ${({ theme }) => theme.colors.primary};\n font-size: 1.8rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n border-radius: ${({ theme }) => theme.radii[1]};\n }\n`;\n\nconst Heading = styled.h3`\n margin-top: 0;\n margin-bottom: 0;\n line-height: 1;\n color: ${({ theme }) => theme.colors.white};\n font-size: inherit;\n`;\n\nconst Deadline = styled.time`\n margin-inline-start: 0.4rem;\n line-height: 1;\n color: ${({ theme }) => theme.colors.white};\n font-weight: bold;\n`;\n\ninterface IProps {\n deadlineISO: string;\n deadlineLocal: string;\n headingText: string;\n}\n\nconst DeadlineBar: React.FC = ({\n deadlineISO,\n deadlineLocal,\n headingText,\n}) => (\n \n {headingText}:\n  \n {deadlineLocal}\n \n);\n\nexport default DeadlineBar;\n","import styled from \"styled-components/macro\";\n\nconst SaveBar = styled.div`\n margin-top: ${({ theme }) => theme.space[4]};\n margin-bottom: ${({ theme }) => theme.space[4]};\n padding-inline-end: ${({ theme }) => theme.space[2]};\n padding-inline-start: ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n margin-inline-end: 30%;\n margin-inline-start: 30%;\n }\n`;\n\nexport default SaveBar;\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\nconst StyledScoreboardPanel = styled.div`\n padding: ${(props) => props.theme.space[2]} 0;\n text-align: center;\n`;\n\nconst Heading = styled.h3`\n margin: 0;\n color: ${({ theme }) => theme.colors.black};\n font-size: 1.4rem;\n font-weight: 400;\n`;\n\nconst Value = styled.div`\n color: ${({ theme }) => theme.colors.blue};\n font-size: 2.3rem;\n font-weight: bold;\n\n ${(props) =>\n props.isError &&\n css`\n color: ${props.theme.colors.error};\n `}\n\n ${(props) =>\n props.isSuccess &&\n css`\n color: ${props.theme.colors.blue};\n `}\n`;\n\ninterface IScoreboardPanel {\n heading: string;\n value: string;\n}\n\ninterface IValue {\n isError?: boolean;\n isSuccess?: boolean;\n}\n\ntype Props = IScoreboardPanel & IValue;\n\nexport const ScoreboardPanel: React.FC = ({\n heading,\n isError,\n isSuccess,\n value,\n}) => (\n \n {heading}\n \n {value}\n \n \n);\n","import * as React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box, Flex } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport {\n cancelProposedChip,\n proposeAvailableChip,\n} from \"../../core/store/chips/actions\";\nimport {\n getActiveChipName,\n getAvailableChipNames,\n getPotentialChips,\n getProposedChipName,\n} from \"../../core/store/chips/reducers\";\nimport { IPotentialChip } from \"../../core/store/chips/types\";\nimport { getElementTypesBySquadPosition } from \"../../core/store/element-types/reducers\";\nimport { IElementTypesBySquadPosition } from \"../../core/store/element-types/types\";\nimport {\n canAutocomplete,\n canReset,\n getErrors,\n getFreeTransfersRemaining,\n getProposedElements,\n getToSpend,\n getTransferCosts,\n} from \"../../core/store/squad/reducers\";\nimport { autoComplete, reset } from \"../../core/store/squad/thunks\";\nimport { IProposedElements, ISquadErrors } from \"../../core/store/squad/types\";\nimport { integerToMoney } from \"../../core/utils/money\";\nimport { ChipName, getChipName } from \"../../utils/chips\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Dialog from \"../Dialog\";\nimport DialogHeading from \"../DialogHeading\";\nimport DialogManager from \"../DialogManager\";\nimport { ScoreboardPanel } from \"./ScoreboardPanel\";\n\nconst CostScoreboardUnit = styled.div`\n flex: 1 0 50%;\n padding: 0 ${({ theme }) => theme.space[2]};\n\n :nth-child(4) > div {\n border-bottom-width: 0;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n flex: 1 0 25%;\n\n :nth-child(3) > div {\n border-bottom-width: 0;\n }\n\n :nth-child(4) > div {\n border-bottom-width: 1px;\n }\n }\n`;\n\nconst CostButtonWrap = styled.div`\n margin-top: 1rem;\n margin-bottom: 2rem;\n`;\n\ninterface IBasicProps {\n autoPick: () => void;\n canAutocomplete: boolean;\n canReset: boolean;\n currencyDivisor: number;\n elementTypesByPosition: IElementTypesBySquadPosition;\n isBudgetExceeded: boolean;\n isNeedElements: boolean;\n proposedElements: IProposedElements;\n reset: () => void;\n toSpend: number;\n}\n\nconst Basic: React.FC = ({\n autoPick,\n canAutocomplete,\n canReset,\n currencyDivisor,\n elementTypesByPosition,\n isBudgetExceeded,\n isNeedElements,\n proposedElements,\n reset,\n toSpend,\n}) => {\n const { t } = useTranslation();\n return (\n
    \n \n \n \n {t(\"scoreboard.autoPick\", \"Auto Pick\")}\n \n \n \n \n {t(\"reset\", \"Reset\")}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n );\n};\n\ninterface IExplainChipDialogProps {\n chip: string;\n handleHide: () => void;\n transferCosts: number;\n}\n\nconst ExplainChipDialog: React.FC = ({\n chip,\n handleHide,\n transferCosts,\n}) => {\n const { t } = useTranslation();\n return (\n \n \n \n {chip === \"wildcard\" && t(\"squad.playWildcardText\", \"Play Wildcard\")}\n {chip === \"uteam\" && t(\"squad.playUnlimitText\", \"Play Loan Rangers\")}\n \n \n \n \n {transferCosts ? (\n <>\n

    \n {chip === \"wildcard\" &&\n t(\n \"squad.wildcardText1\",\n \"You are now proposing to play your wildcard. Unlimited transfers can be made this Round without points deduction.\"\n )}\n {chip === \"uteam\" &&\n t(\n \"squad.unlimitText1\",\n \"You are now proposing to play your Loan Rangers chip. Unlimited transfers with as many players you want from a specific team can be picked this Round without points deduction.\"\n )}\n

    \n

    \n {chip === \"wildcard\" &&\n t(\n \"squad.wildcardText2\",\n \"Your wildcard will not be activated until you confirm your transfers.\"\n )}\n {chip === \"uteam\" &&\n t(\n \"squad.unlimitText2\",\n \"Your Loan Rangers chip will not be activated until you confirm your transfers\"\n )}\n

    \n \n ) : (\n

    \n {chip === \"wildcard\" &&\n t(\n \"squad.wildcardText3\",\n \"To activate your wildcard you must be making enough proposed transfers that points will be deducted.\"\n )}\n {chip === \"uteam\" &&\n t(\n \"squad.unlimitText3\",\n \"To activate your Loan Rangers chip you must be making enough proposed transfers that points will be deducted.\"\n )}\n

    \n )}\n
    \n
    \n
    \n );\n};\n\ninterface ICostProps {\n activeChipName: string;\n availableChipNames: string[];\n autoPick: () => void;\n canAutocomplete: boolean;\n canReset: boolean;\n currencyDivisor: number;\n freeTransfersRemaining: number;\n isBudgetExceeded: boolean;\n proposedChipName: string;\n reset: () => void;\n toSpend: number;\n transferCosts: number;\n cancelChip: (chip: string) => void;\n proposeChip: (chip: string) => void;\n chips: IPotentialChip[];\n}\n\nconst Cost: React.FC = ({\n activeChipName,\n availableChipNames,\n autoPick,\n canAutocomplete,\n canReset,\n currencyDivisor,\n freeTransfersRemaining,\n isBudgetExceeded,\n proposedChipName,\n reset,\n toSpend,\n transferCosts,\n cancelChip,\n proposeChip,\n chips,\n}) => {\n const { t } = useTranslation();\n const unlimitChip = chips.filter((c) => c.name === \"uteam\")[0];\n const wildCardChip = chips.filter((c) => c.name === \"wildcard\")[0];\n return (\n <>\n \n \n \n \n {t(\"scoreboard.cost.autoPick\", \"Auto Pick\")}\n \n \n \n \n \n \n {t(\"scoreboard.cost.reset\", \"Reset\")}\n \n \n \n\n {activeChipName ? (\n \n \n \n ) : wildCardChip.status_for_entry === \"played\" ? (\n \n \n \n ) : wildCardChip.status_for_entry === \"active\" ? (\n \n \n \n ) : proposedChipName === \"wildcard\" ? (\n \n \n \n \n \n ) : (\n (\n <>\n \n \n \n {t(\"squad.playWildcardTest\", \"Play Wildcard\")}\n \n \n \n {showDialog && (\n {\n handleHide();\n if (transferCosts) {\n proposeChip(\"wildcard\");\n }\n }}\n transferCosts={transferCosts}\n />\n )}\n \n )}\n />\n )}\n\n {activeChipName ? (\n <> \n ) : unlimitChip.status_for_entry === \"played\" ? (\n \n \n \n ) : unlimitChip.status_for_entry === \"active\" ? (\n \n \n \n ) : proposedChipName === \"uteam\" ? (\n \n \n \n \n \n ) : (\n (\n <>\n \n \n \n {t(\"squad.playUnlimitText\", \"Play Loan Rangers\")}\n \n \n \n {showDialog && (\n {\n handleHide();\n if (transferCosts) {\n proposeChip(\"uteam\");\n }\n }}\n transferCosts={transferCosts}\n />\n )}\n \n )}\n />\n )}\n \n \n \n \n \n \n 0}\n />\n \n \n \n \n \n \n );\n};\n\ninterface IOwnProps {\n scoreboard: string;\n}\n\ninterface IPropsFromState {\n activeChipName: string;\n availableChipNames: string[];\n canAutocomplete: boolean;\n canReset: boolean;\n currencyDivisor: number;\n elementTypesByPosition: IElementTypesBySquadPosition | null;\n errors: ISquadErrors;\n freeTransfersRemaining: number;\n proposedChipName: string;\n proposedElements: IProposedElements;\n toSpend: number;\n transferCosts: number;\n chips: IPotentialChip[];\n}\n\ninterface IPropsFromDispatch {\n autoPick: () => void;\n reset: () => void;\n cancelChip: (chip: string) => void;\n proposeChip: (chip: string) => void;\n}\n\ntype Props = IOwnProps & IPropsFromState & IPropsFromDispatch;\n\nclass Scoreboard extends React.Component {\n public render() {\n const {\n elementTypesByPosition,\n errors,\n proposedElements,\n scoreboard,\n ...rest\n } = this.props;\n if (!elementTypesByPosition) {\n return null;\n }\n const isNeedElements = Boolean(errors.needElements);\n const isBudgetExceeded = Boolean(errors.budgetExceeded);\n switch (scoreboard) {\n case \"basic\":\n return (\n \n );\n case \"cost\":\n return ;\n default:\n return null;\n }\n }\n}\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n activeChipName: getActiveChipName(state),\n availableChipNames: getAvailableChipNames(state),\n canAutocomplete: canAutocomplete(state),\n canReset: canReset(state),\n currencyDivisor: 10,\n elementTypesByPosition: getElementTypesBySquadPosition(state),\n errors: getErrors(state),\n freeTransfersRemaining: getFreeTransfersRemaining(state),\n proposedChipName: getProposedChipName(state),\n proposedElements: getProposedElements(state),\n toSpend: getToSpend(state),\n transferCosts: getTransferCosts(state),\n chips: getPotentialChips(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n autoPick: () => {\n if (!dispatch(autoComplete())) {\n // We should do something :-)\n window.console.log(\"Failed to autocomplete\");\n }\n },\n cancelChip: (chip: string) => dispatch(cancelProposedChip(chip)),\n proposeChip: (chip: string) => dispatch(proposeAvailableChip(chip)),\n reset: () => dispatch(reset()),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Scoreboard);\n","var _circle, _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgRemove(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 22,\n viewBox: \"0 0 21 22\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 10.5,\n cy: 11.4329,\n r: 10,\n fill: \"#131924\",\n stroke: \"white\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.4257 8.11492C17.0115 7.52913 17.0115 6.57939 16.4257 5.9936C15.8399 5.40781 14.8901 5.40781 14.3043 5.9936L5.06092 15.237C4.47514 15.8228 4.47514 16.7726 5.06092 17.3583C5.64671 17.9441 6.59646 17.9441 7.18224 17.3583L16.4257 8.11492Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.18175 5.99358C6.59597 5.4078 5.64622 5.4078 5.06043 5.99358C4.47465 6.57937 4.47465 7.52912 5.06043 8.1149L14.072 17.1265C14.6578 17.7123 15.6076 17.7123 16.1934 17.1265C16.7792 16.5407 16.7792 15.591 16.1934 15.0052L7.18175 5.99358Z\",\n fill: \"white\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgRemove);\nexport default __webpack_public_path__ + \"static/media/remove.cdc28dda.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport { IElement } from \"../core/store/elements/types\";\n\nexport const ElementName = styled.div`\n padding: 0.1rem 0.2rem;\n background-color: ${({ theme }) => theme.colors.blue};\n color: ${({ theme }) => theme.colors.white};\n color: white;\n font-size: 1rem;\n font-weight: 800;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n\n ${(props) =>\n props.element.news &&\n props.element.chance_of_playing_next_round !== null &&\n css`\n background-color: ${props.theme.colors.elementStatus[\n props.element.chance_of_playing_next_round\n ].bg};\n color: ${props.theme.colors.elementStatus[\n props.element.chance_of_playing_next_round\n ].color};\n `}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n padding-top: 0.2rem;\n padding-bottom: 0.2rem;\n font-size: ${({ theme }) => theme.fontSizes[0]};\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n padding-top: 0.4em;\n padding-bottom: 0.4em;\n font-size: ${({ theme }) => theme.fontSizes[1]};\n }\n`;\n\nexport const ElementValue = styled.div`\n padding: 0 0.2rem;\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n background-color: ${({ theme }) => theme.colors.white};\n color: ${({ theme }) => theme.colors.blueDarker3};\n font-size: 1rem;\n font-weight: 800;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n padding-top: 0.2rem;\n padding-bottom: 0.2rem;\n font-size: ${({ theme }) => theme.fontSizes[0]};\n }\n`;\n\ninterface IStyledProps {\n element: IElement;\n}\n\ninterface IProps {\n value: React.ReactNode;\n}\n\ntype Props = IStyledProps & IProps;\n\nconst PitchElementData: React.FC = ({ element, value }) => (\n
    \n {element.web_name}\n {value}\n
    \n);\n\nexport default PitchElementData;\n","import React from \"react\";\nimport Shirt from \"./Shirt\";\n\ninterface IProps {\n elementType?: number;\n hasShadow?: boolean;\n sizes: string;\n}\n\nconst PlaceholderShirt: React.FC = ({\n elementType,\n hasShadow,\n sizes,\n}) => {\n const suffix = elementType === 1 ? `_${elementType}` : \"\";\n return (\n \n );\n};\n\nexport default PlaceholderShirt;\n","import { size } from \"polished\";\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { showElementSummary } from \"../../core/store/elements/thunks\";\nimport { IElementsById } from \"../../core/store/elements/types\";\nimport { ReactComponent as Remove } from \"../../img/icons/remove.svg\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementShirt from \"../ElementShirt\";\nimport {\n Controls,\n InfoControl,\n PitchElementWrap,\n PrimaryControl,\n StyledPitchElement,\n} from \"../Pitch\";\nimport PitchElementData from \"../PitchElementData\";\nimport PlaceholderShirt from \"../PlaceholderShirt\";\nimport { UnstyledButton } from \"../Utils\";\n\nconst StyledRemove = styled(Remove)`\n ${size(14)}\n display: block;\n fill: #e9ff03;\n color: #e50012;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n ${size(16)}\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${size(20)}\n }\n`;\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n}\n\ninterface IPropsFromDispatch {\n showElementDialog: (elementId: number) => void;\n}\n\ninterface IOwnProps {\n actionMe: () => void;\n elementId: number;\n elementValue: React.ReactNode;\n renderElementMenu: () => void;\n}\n\ninterface IStyleProps {\n isRemoved?: boolean;\n}\ntype Props = IPropsFromState & IPropsFromDispatch & IOwnProps & IStyleProps;\n\nconst SquadPitchElement: React.FC = ({\n actionMe,\n elementId,\n elementsById,\n elementValue,\n isRemoved,\n renderElementMenu,\n}) => {\n const element = elementsById[elementId];\n const shirtProps = {\n hasShadow: true,\n sizes: \"(min-width: 1024px) 55px, (min-width: 610px) 44px, 33px\",\n };\n\n return (\n \n \n \n {isRemoved ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementsById: getElementsById(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SquadPitchElement);\n","import { rgba } from \"polished\";\nimport * as React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport styled from \"styled-components/macro\";\nimport { IElementType } from \"../../core/store/element-types/types\";\nimport { PitchElementWrap } from \"../Pitch\";\nimport PlaceholderShirt from \"../PlaceholderShirt\";\n\nconst StyledPlaceholder = styled.button`\n display: block;\n width: 6.4rem;\n margin: auto;\n padding: 0 0.3rem;\n border: 0;\n background-color: transparent;\n text-align: center;\n line-height: 1;\n cursor: pointer;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n width: 10.5rem;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 14rem;\n font-size: ${({ theme }) => theme.fontSizes[1]};\n padding-inline-end: 1rem;\n padding-inline-start: 1rem;\n }\n`;\n\nconst Title = styled.div`\n padding: 0.1rem 0.2rem;\n background-color: ${rgba(\"#035f1d\", 0.8)};\n color: white;\n font-size: 1rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n padding-top: 0.2em;\n padding-bottom: 0.2em;\n font-size: ${({ theme }) => theme.fontSizes[0]};\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n padding-top: 0.4em;\n padding-bottom: 0.4em;\n font-size: ${({ theme }) => theme.fontSizes[1]};\n }\n`;\n\nconst Abbr = styled.abbr`\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n text-decoration: none;\n text-transform: lowercase;\n ::after {\n content: attr(title);\n }\n }\n`;\n\nconst Span = styled.span`\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n display: none;\n }\n`;\n\ninterface IProps {\n elementType: IElementType | null;\n onClick: () => void;\n}\n\nconst PitchPlaceholder: React.FC = ({ elementType, onClick }) => {\n const { t } = useTranslation();\n if (!elementType) {\n return null;\n }\n return (\n \n \n \n \n {t(\"add\", \"Add\")}{\" \"}\n <Abbr title={elementType.singular_name}>\n <Span>{elementType.singular_name_short}</Span>\n </Abbr>\n \n \n \n );\n};\n\nexport default PitchPlaceholder;\n","import { RouteComponentProps } from \"@reach/router\";\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getElementTypesBySquadPosition } from \"../../core/store/element-types/reducers\";\nimport { IElementTypesBySquadPosition } from \"../../core/store/element-types/types\";\nimport {\n showElementSummary,\n updateElementTypeControl,\n} from \"../../core/store/elements/thunks\";\nimport {\n getProposedElements,\n getSavedPicks,\n} from \"../../core/store/squad/reducers\";\nimport { removeElement, restoreElement } from \"../../core/store/squad/thunks\";\nimport { IProposedElements, ISavedPicks } from \"../../core/store/squad/types\";\nimport SquadPitchElement from \"./SquadPitchElement\";\nimport PitchPlaceholder from \"./PitchPlaceholder\";\n\ninterface IPropsFromState {\n elementTypesByPosition: IElementTypesBySquadPosition | null;\n proposedElements: IProposedElements;\n savedPicks: ISavedPicks;\n}\n\ninterface IPropsFromDispatch {\n removePitchElement: (position: number) => void;\n restorePitchElement: (position: number) => void;\n showElementDialog: (elementId: number) => void;\n showElementType: (elementTypeId: number) => void;\n}\n\ninterface IOwnProps {\n pos: number;\n elementValue: React.ReactNode;\n renderElementMenu: (pos: number) => void;\n showSidebar: () => void;\n}\n\ntype Props = RouteComponentProps &\n IPropsFromState &\n IPropsFromDispatch &\n IOwnProps;\n\nconst SquadPitchUnit: React.FC = ({\n elementTypesByPosition,\n elementValue,\n proposedElements,\n pos,\n renderElementMenu,\n removePitchElement,\n restorePitchElement,\n savedPicks,\n showElementType,\n}) => {\n if (!elementTypesByPosition) {\n return null;\n }\n return (\n <>\n {proposedElements[pos] ? (\n {\n removePitchElement(pos);\n }}\n elementId={proposedElements[pos].id}\n elementValue={elementValue}\n renderElementMenu={() => renderElementMenu(pos)}\n />\n ) : savedPicks[pos] ? (\n {\n restorePitchElement(pos);\n }}\n elementId={savedPicks[pos].element}\n elementValue={elementValue}\n renderElementMenu={() => renderElementMenu(pos)}\n isRemoved={true}\n />\n ) : (\n \n showElementType(elementTypesByPosition[pos].thisType.id)\n }\n />\n )}\n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementTypesByPosition: getElementTypesBySquadPosition(state),\n proposedElements: getProposedElements(state),\n savedPicks: getSavedPicks(state),\n});\n\nconst mapDispatchToProps = (\n dispatch: ThunkDispatch,\n ownProps: IOwnProps\n): IPropsFromDispatch => ({\n removePitchElement: (position) => {\n dispatch(removeElement(position));\n },\n restorePitchElement: (position) => {\n dispatch(restoreElement(position));\n },\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n showElementType: (elementTypeId) => {\n dispatch(updateElementTypeControl(elementTypeId));\n ownProps.showSidebar();\n },\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SquadPitchUnit);\n","import * as React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { Trans, WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport {\n showElementSummary,\n updateElementTypeControl,\n} from \"../../core/store/elements/thunks\";\nimport { IElement } from \"../../core/store/elements/types\";\nimport { getNextEvent } from \"../../core/store/events/reducers\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { IPick } from \"../../core/store/my-team/types\";\nimport { resetLastChange } from \"../../core/store/squad/actions\";\nimport {\n getErrors,\n getLastChange,\n getProposedElements,\n getSavedPicks,\n getSquadMode,\n} from \"../../core/store/squad/reducers\";\nimport { removeElement, restoreElement } from \"../../core/store/squad/thunks\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport {\n formatRawAsISO,\n formatRawAsLocalI18n,\n} from \"../../core/utils/datetime\";\nimport { integerToMoney } from \"../../core/utils/money\";\nimport { dateLocales } from \"../../i18n\";\nimport Alert, { AlertWrap } from \"../Alert\";\nimport Button from \"../Button\";\nimport DeadlineBar from \"../DeadlineBar\";\nimport Dialog, { DialogButtonItem } from \"../Dialog\";\nimport DialogHeading from \"../DialogHeading\";\nimport DialogManager from \"../DialogManager\";\nimport Pitch, { PitchRow, PitchUnit } from \"../Pitch\";\nimport TabPanel from \"../tabs/TabPanel\";\nimport Tabs from \"../tabs/Tabs\";\nimport SaveBar from \"./SaveBar\";\nimport Scoreboard from \"./Scoreboard\";\nimport SquadPitchUnit from \"./SquadPitchUnit\";\n\nconst StyledPitchWrapper = styled(Box)`\n border: 1px solid ${({ theme }) => theme.colors.primary};\n border-radius: ${({ theme }) => theme.radii[2]};\n`;\n\nconst PlayerActions = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n margin: 0 auto;\n }\n`;\n\nconst ScoreBoardWrapper = styled.div`\n margin: ${({ theme }) => `${theme.space[4]} 0`};\n padding: ${({ theme }) => theme.space[2]} 0;\n border-top: ${({ theme }) => theme.borders[2]};\n border-bottom: ${({ theme }) => theme.borders[2]};\n border-radius: 0;\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n border: ${({ theme }) => theme.borders[2]};\n border-radius: ${({ theme }) => theme.radii[2]};\n padding: ${({ theme }) => theme.space[2]};\n }\n`;\n\n//TODO: Move IListTableProps somewhere more abstract?\nexport interface IListTableProps {\n elementType: number;\n key: string;\n positions: number[];\n renderElementDialog: (element: IElement) => void;\n renderElementMenu: (position: number) => void;\n}\n\ninterface IOwnProps {\n listTable: (listTableProps: IListTableProps) => void;\n scoreboard: string;\n showSidebar: () => void;\n submitDialog: (handleHide: () => void) => React.ReactNode;\n}\n\ntype Props = IOwnProps & WithTranslation;\n\nconst CreateSquad: React.FC = ({\n i18n,\n listTable,\n scoreboard,\n showSidebar,\n submitDialog,\n t,\n}) => {\n const dispatch = useDispatch();\n\n const currencyDivisor = 10;\n const elementsById = useSelector(getElementsById);\n const errors = useSelector(getErrors);\n const lastChange = useSelector(getLastChange);\n const mode = useSelector(getSquadMode);\n const nextEvent = useSelector(getNextEvent);\n const proposedElements = useSelector(getProposedElements);\n const savedPicks = useSelector(getSavedPicks);\n const settings = useSelector(getSettings);\n const teamsById = useSelector(getTeamsById);\n\n const [positionForMenu, setPositionForMenu] = useState(0);\n\n const handleShowMenuForElement = (position: number) =>\n setPositionForMenu(position);\n\n const handleHideMenuForElement = () => setPositionForMenu(0);\n\n const handleRemoveElement = (position: number) => {\n handleHideMenuForElement();\n dispatch(removeElement(position));\n };\n\n const handleRestoreElement = (position: number) => {\n handleHideMenuForElement();\n dispatch(restoreElement(position));\n };\n\n const showElementType = (elementTypeId: number) => {\n handleHideMenuForElement();\n dispatch(updateElementTypeControl(elementTypeId));\n showSidebar();\n };\n\n const showDialog = (element: IElement) => {\n dispatch(showElementSummary(element.id));\n handleHideMenuForElement();\n };\n\n const renderMenu = () => {\n let element: IElement | undefined;\n let mode: \"remove\" | \"restore\" | undefined;\n if (proposedElements[positionForMenu]) {\n element = proposedElements[positionForMenu];\n mode = \"remove\";\n } else if (savedPicks[positionForMenu]) {\n element = elementsById[savedPicks[positionForMenu].element];\n mode = \"restore\";\n }\n if (!mode || !element) {\n return null;\n }\n return (\n \n \n \n {`${element.first_name} ${element.second_name}`}\n \n \n \n \n {mode === \"remove\" ? (\n \n handleRemoveElement(positionForMenu)}\n width={1}\n >\n {t(\"createSquad.removePlayer\", \"Remove player\")}\n \n \n ) : mode === \"restore\" ? (\n <>\n \n handleRestoreElement(positionForMenu)}\n width={1}\n >\n {t(\"createSquad.restorePlayer\", \"Restore player\")}\n \n \n \n showElementType(element!.element_type)}\n width={1}\n >\n {t(\"createSquad.replacePlayer\", \"Select replacement\")}\n \n \n \n ) : (\n \"\"\n )}\n \n showDialog(element as IElement)}\n width={1}\n >\n {t(\"createSquad.viewInformation\", \"View Information\")}\n \n \n \n \n \n );\n };\n\n const renderElementValueForPosition = (pos: number) => {\n const element: IElement = proposedElements[pos];\n const pick: IPick | undefined = savedPicks[pos];\n // Initial element selection (squad selection)\n if (!pick && element) {\n return integerToMoney(element.now_cost, currencyDivisor);\n }\n // Removed element (transfers)\n if (pick && !element) {\n return integerToMoney(pick.selling_price, currencyDivisor);\n }\n // Original element (transfers)\n if (pick && element && pick.element === element.id) {\n return integerToMoney(pick.selling_price, currencyDivisor);\n }\n // Replaced element (transfers)\n if (pick && element && pick.element !== element.id) {\n return integerToMoney(element.now_cost, currencyDivisor);\n }\n return null;\n };\n\n useEffect(() => {\n dispatch(resetLastChange());\n }, [dispatch]);\n\n let latestAction: React.ReactNode = null;\n if (lastChange.type === \"addition\") {\n latestAction = (\n \n \n \n {{ playerName: elementsById[lastChange.element].web_name }}\n {\" \"}\n has been added to your squad.\n \n \n );\n } else if (lastChange.type === \"removal\") {\n latestAction = (\n \n \n \n {{ playerName: elementsById[lastChange.element].web_name }}\n {\" \"}\n has been removed from your squad.\n \n \n );\n }\n\n // Button enablers\n const canEnter = !Boolean(Object.keys(errors).length);\n\n // Helper functions to generate props used by multiple component instances\n const sharedPitchElementProps = (pos: number) => ({\n pos,\n renderElementMenu: handleShowMenuForElement,\n elementValue: renderElementValueForPosition(pos),\n showSidebar,\n });\n\n const sharedSquadListTableProps = (\n pos: number[],\n elementType: number,\n key: string\n ) => ({\n elementType,\n key,\n positions: pos,\n renderElementDialog: showDialog,\n renderElementMenu: handleShowMenuForElement,\n });\n\n const submitButtonText = {\n selection: t(\"createSquad.enterSquad\", \"Enter Squad\"),\n transfers: t(\"createSquad.makeTransfers\", \"Make Transfers\"),\n };\n\n const positionsByElementType: {\n [index: string]: number[];\n } = {\n 1: [1, 2],\n 2: [3, 4, 5, 6, 7],\n 3: [8, 9, 10, 11, 12],\n 4: [13, 14, 15],\n };\n\n return (\n
    \n {settings && (\n \n

    \n {t(\n \"createSquad.help\",\n \"Select a maximum of {{ teamLimit }} players from a single team or 'Auto Pick' if you're short of time.\",\n { teamLimit: settings.squad_team_limit }\n )}\n

    \n
    \n )}\n \n {nextEvent && (\n \n )}\n \n \n {errors.overTeamLimit && (\n \n \n {t(\n \"createSquad.errors.overTeamLimit\",\n \"Too many players selected from\"\n )}{\" \"}\n \n {errors.overTeamLimit\n .map((team) => teamsById[team].name)\n .join(\", \")}\n \n \n \n )}\n {latestAction && {latestAction}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {Object.keys(positionsByElementType).map((et) =>\n listTable(\n sharedSquadListTableProps(\n positionsByElementType[et],\n parseInt(et, 10),\n et\n )\n )\n )}\n \n \n \n \n \n {/* */}\n {renderMenu()}\n (\n <>\n \n \n {submitButtonText[mode]}\n \n \n {showDialog && submitDialog(handleHide)}\n \n )}\n />\n
    \n );\n};\n\nexport default withTranslation()(CreateSquad);\n","import React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport {\n getElementControls,\n getElementTypeFilterOptions,\n} from \"../../core/store/elements/reducers\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { getTeams } from \"../../core/store/teams/reducers\";\nimport { FieldWrap, SelectField } from \"../FieldRenderers\";\n\ntype Props = WithTranslation & {\n handleFilterChange: (e: React.ChangeEvent) => void;\n};\n\nconst ElementFilter: React.FC = ({ handleFilterChange, t }) => {\n const controls = useSelector(getElementControls);\n const elementTypeFilterOptions = useSelector(getElementTypeFilterOptions);\n const player = useSelector(getPlayerData);\n const teams = useSelector(getTeams);\n\n // filterTeams\n const filterTeams = teams\n .filter((team: any) => team.unavailable === false)\n .sort((a, b) => a.name.localeCompare(b.name));\n\n return (\n \n \n \n \n {player && player.entry && (\n \n )}\n \n \n {elementTypeFilterOptions.map((o) => (\n \n {o.label}\n \n ))}\n \n \n {filterTeams.map((o) => (\n \n {o.name}\n \n ))}\n \n \n \n );\n};\n\nexport { ElementFilter as ElementFilterTest };\n\nexport default withTranslation()(ElementFilter);\n","import { TFunction } from \"i18next\";\n\ninterface IStatDetails {\n description: string;\n label: string;\n}\n\nconst allStatsDetails = (\n t: TFunction\n): Record => ({\n total_points: {\n description: t(\n \"stats.total_points.description\",\n \"Total points earned this season.\"\n ),\n label: t(\"stats.total_points.label\", \"Total points\"),\n },\n event_points: {\n description: t(\n \"stats.round_points.description\",\n \"Total points earned in the latest round.\"\n ),\n label: t(\"stats.round_points.label\", \"Round points\"),\n },\n now_cost: {\n description: t(\n \"stats.now_cost.description\",\n \"Current buying price in the transfer market.\"\n ),\n label: t(\"stats.now_cost.label\", \"Price\"),\n },\n selected_by_percent: {\n description: t(\n \"stats.selected_by_percent.description\",\n \"The percentage of overall Fantasy managers who currently own the player.\"\n ),\n label: t(\"stats.selected_by_percent.label\", \"Team selected by %\"),\n },\n minutes: {\n description: t(\n \"stats.minutes.description\",\n \"Total minutes played this season.\"\n ),\n label: t(\"stats.minutes.label\", \"Minutes played\"),\n },\n goals_scored: {\n description: t(\n \"stats.goals_scored.description\",\n \"Total goals scored this season.\"\n ),\n label: t(\"stats.goals_scored.label\", \"Goals scored\"),\n },\n assists: {\n description: t(\n \"stats.assists.description\",\n \"Total goal assists – awarded to the player from the goalscoring team who makes the final pass before a goal is scored, including own goals.\"\n ),\n label: t(\"stats.assists.label\", \"Assists\"),\n },\n clean_sheets: {\n description: t(\n \"stats.clean_sheets.description\",\n \"Total clean sheets – awarded to players who do not concede a goal and have played at least 60 minutes.\"\n ),\n label: t(\"stats.clean_sheets.label\", \"Clean sheets\"),\n },\n goals_conceded: {\n description: t(\n \"stats.goals_conceded.description\",\n \"Total number of goals conceded by a team while the player has been on the pitch.\"\n ),\n label: t(\"stats.goals_conceded.label\", \"Goals conceded\"),\n },\n own_goals: {\n description: t(\n \"stats.own_goals.description\",\n \"Awarded to a player who puts the ball into his own team’s goal.\"\n ),\n label: t(\"stats.own_goals.label\", \"Own goals\"),\n },\n penalties_saved: {\n description: t(\n \"stats.penalties_saved.description\",\n \"Awarded to a goalkeeper who touches the ball when saving a penalty.\"\n ),\n label: t(\"stats.penalties_saved.label\", \"Penalties saved\"),\n },\n penalties_missed: {\n description: t(\n \"stats.penalties_missed.description\",\n \"Awarded to a player who takes a penalty but does not score from the penalty spot.\"\n ),\n label: t(\"stats.penalties_missed.label\", \"Penalties missed\"),\n },\n yellow_cards: {\n description: t(\n \"stats.yellow_cards.description\",\n \"Total yellow cards this season.\"\n ),\n label: t(\"stats.yellow_cards.label\", \"Yellow cards\"),\n },\n red_cards: {\n description: t(\n \"stats.red_cards.description\",\n \"Total red cards this season.\"\n ),\n label: t(\"stats.red_cards.label\", \"Red cards\"),\n },\n saves: {\n description: t(\n \"stats.saves.description\",\n \"Total times a goalkeeper has saved a shot on goal.\"\n ),\n label: t(\"stats.saves.label\", \"Saves\"),\n },\n attacking_bonus: {\n description: t(\n \"stats.attackingBonus.description\",\n \"Bonus points are awarded for attacking, positive actions in a match.\"\n ),\n label: t(\"stats.attackingBonus.label\", \"Attacking Bonus points\"),\n },\n defending_bonus: {\n description: t(\n \"stats.defendingBonus.description\",\n \"Players score extra points for good defending.\"\n ),\n label: t(\"stats.defendingBonus.label\", \"Defending Bonus points\"),\n },\n key_passes: {\n description: t(\n \"stats.keyPasses.description\",\n \"A key pass is one that leads to a shot at goal.\"\n ),\n label: t(\"stats.keyPasses.label\", \"Key passes\"),\n },\n clearances_blocks_interceptions: {\n description: t(\n \"stats.CBI.description\",\n \"Total number of clearances away from the defensive area, blocked shots, interceptions of passes and recoveries.\"\n ),\n label: t(\"stats.CBI.label\", \"Defensive actions\"),\n },\n winning_goals: {\n description: t(\n \"stats.WinGoals.description\",\n \"For scoring the winning goal.\"\n ),\n label: t(\"stats.WinGoals.label\", \"Winning goals\"),\n },\n form: {\n description: t(\n \"stats.form.description\",\n \"Form is a player’s average score per match, calculated from all matches played by his club in the last 30 days.\"\n ),\n label: t(\"stats.form.label\", \"Form\"),\n },\n dreamteam_count: {\n description: t(\n \"stats.dreamteam_count.description\",\n \"The number of times a player has been selected in a Round Dream Team. Players with the most points in a Round in a valid formation earn a place in the Dream Team.\"\n ),\n label: t(\"stats.dreamteam_count.label\", \"Times in Dream Team\"),\n },\n value_form: {\n description: t(\n \"stats.value_form.description\",\n \"Player’s form divided by player’s value.\"\n ),\n label: t(\"stats.value_form.label\", \"Value (form)\"),\n },\n value_season: {\n description: t(\n \"stats.value_season.description\",\n \"Player’s total points divided by player’s value.\"\n ),\n label: t(\"stats.value_season.label\", \"Value (season)\"),\n },\n points_per_game: {\n description: t(\n \"stats.points_per_game.description\",\n \"Player’s total points divided by player’s number of matches.\"\n ),\n label: t(\"stats.points_per_game.label\", \"Points per match\"),\n },\n transfers_in: {\n description: t(\n \"stats.transfers_in.description\",\n \"Total number of times a player has been transferred in to a team this season.\"\n ),\n label: t(\"stats.transfers_in.label\", \"Transfers in\"),\n },\n transfers_out: {\n description: t(\n \"stats.transfers_out.description\",\n \"Total number of times a player has been transferred out of a team this season.\"\n ),\n label: t(\"stats.transfers_out.label\", \"Transfers out\"),\n },\n transfers_in_event: {\n description: t(\n \"stats.transfers_in_event.description\",\n \"Total number of times a player has been transferred in to a team this Round.\"\n ),\n label: t(\"stats.transfers_in_event.label\", \"Transfers in (round)\"),\n },\n transfers_out_event: {\n description: t(\n \"stats.transfers_out_event.description\",\n \"Total number of times a player has been transferred out of a team this Round.\"\n ),\n label: t(\"stats.transfers_out_event.label\", \"Transfers out (round)\"),\n },\n cost_change_start: {\n description: t(\n \"stats.cost_change_start.description\",\n \"How much a player’s price has increased since the start of the season.\"\n ),\n label: t(\"stats.cost_change_start.label\", \"Price rise\"),\n },\n cost_change_start_fall: {\n description: t(\n \"stats.cost_change_start_fall.description\",\n \"How much a player price has fallen since the start of the season.\"\n ),\n label: t(\"stats.cost_change_start_fall.label\", \"Price fall\"),\n },\n cost_change_event: {\n description: t(\n \"stats.cost_change_event.description\",\n \"How much a player’s price has increased this Round.\"\n ),\n label: t(\"stats.cost_change_event.label\", \"Price rise (round)\"),\n },\n cost_change_event_fall: {\n description: t(\n \"stats.cost_change_event_fall.description\",\n \"How much a player’s price has fallen this Round.\"\n ),\n label: t(\"stats.cost_change_event_fall.label\", \"Price fall (round)\"),\n },\n});\n\nlet _stats: Record = {};\n\nconst getStats = (t: TFunction) => {\n if (!Object.keys(_stats).length) {\n _stats = allStatsDetails(t);\n }\n return _stats;\n};\n\nexport const getStatDetails = (name: string, t: TFunction) => {\n const stats = getStats(t);\n return stats[name] ? stats[name] : null;\n};\n\nexport const getStatNames = (t: TFunction) => Object.keys(getStats(t));\n","import React from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport { getElementControls } from \"../../core/store/elements/reducers\";\nimport { IElement } from \"../../core/store/elements/types\";\nimport { getStatDetails, getStatNames } from \"../../utils/stats\";\nimport { FieldWrap, SelectField } from \"../FieldRenderers\";\n\ninterface ISortOption {\n label: string;\n value: keyof IElement;\n}\n\ntype Props = {\n handleSortChange: (e: React.ChangeEvent) => void;\n sortOptions?: ISortOption[];\n} & WithTranslation;\n\nconst ElementSort: React.FC = ({ handleSortChange, sortOptions, t }) => {\n const controls = useSelector(getElementControls);\n\n const defaultSortOptions: ISortOption[] = getStatNames(t).map((s) => ({\n label: getStatDetails(s, t)!.label,\n value: s,\n }));\n\n const options = sortOptions ?? defaultSortOptions;\n\n return (\n \n \n {options.map((o) => (\n \n {o.label}\n \n ))}\n \n \n );\n};\n\nexport { ElementSort as ElementSortTest };\n\nexport default withTranslation()(ElementSort);\n","import { hideVisually, size } from \"polished\";\nimport * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\nconst Button = styled.button`\n ${size(42)};\n border: none;\n border-radius: ${({ theme }) => theme.radii[1]};\n background-color: ${({ theme }) => theme.colors.primary};\n color: ${({ theme }) => theme.colors.green};\n cursor: pointer;\n > svg {\n vertical-align: middle;\n }\n\n ${(props) =>\n props.disabled &&\n css`\n background-color: ${props.theme.colors.greyLight};\n color: ${props.theme.colors.whiteGrey};\n `}\n\n ${(props) =>\n props.isSmall &&\n css`\n ${size(38)};\n `}\n`;\n\nconst HiddenLabel = styled.span`\n ${hideVisually}\n`;\n\ninterface IStyledProps {\n disabled?: boolean;\n isSmall?: boolean;\n}\n\ninterface IProps {\n actionMe: () => void;\n children: React.ReactNode;\n label: string;\n}\n\ntype Props = IProps & IStyledProps;\n\nconst PaginatorButton: React.FC = ({\n actionMe,\n children,\n disabled,\n isSmall,\n label,\n}) => (\n \n {children}\n {label}\n \n);\n\nexport default PaginatorButton;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Flex } from \"rebass/styled-components\";\nimport { IElement } from \"../../core/store/elements/types\";\nimport {\n ArrowLeft,\n ArrowLeftDouble,\n ArrowRight,\n ArrowRightDouble,\n} from \"../icons/Arrows\";\nimport PaginatorButton from \"../paginator/PaginatorButton\";\n\nexport const paginate = (\n elements: IElement[],\n page: number,\n pageSize: number\n) => {\n const start = (page - 1) * pageSize;\n return {\n data: elements.slice(start, start + pageSize),\n totalPages: Math.ceil(elements.length / pageSize),\n };\n};\n\ninterface IProps {\n page: number;\n setPage: (page: number) => void;\n totalPages: number;\n}\n\nconst Paginator: React.FunctionComponent = ({\n page,\n setPage,\n totalPages,\n}) => {\n const { t } = useTranslation();\n return (\n \n setPage(1)}\n label={t(\"paginator.first\", \"First\")}\n disabled={page === 1}\n isSmall={true}\n >\n \n \n setPage(page - 1)}\n label={t(\"paginator.previous\", \"Previous\")}\n disabled={page === 1}\n >\n \n \n
    \n {page} of {totalPages}\n
    \n setPage(page + 1)}\n label={t(\"paginator.next\", \"Next\")}\n disabled={page === totalPages}\n >\n \n \n setPage(totalPages)}\n label={t(\"paginator.last\", \"Last\")}\n disabled={page === totalPages}\n isSmall={true}\n >\n \n \n
    \n );\n};\n\nexport default Paginator;\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\nconst StyledMedia = styled.div`\n display: flex;\n ${(props) =>\n props.centred &&\n css`\n align-items: center;\n `}\n`;\n\nconst Img = styled.div`\n margin-inline-end: ${({ theme }) => theme.space[2]};\n`;\n\nconst Body = styled.div`\n flex: 1;\n /* For ElementInTable webname ellipsis */\n max-width: 100%;\n overflow: hidden;\n`;\n\ninterface IStyledMediaProps {\n centred: boolean | undefined;\n}\n\ninterface IMediaProps {\n img: React.ReactNode;\n centred?: boolean;\n children: React.ReactNode;\n}\n\nconst Media: React.FC = ({ img, centred, children }) => (\n \n {img}\n {children}\n \n);\n\nMedia.defaultProps = {\n centred: false,\n};\n\nexport default Media;\n","import { ellipsis } from \"polished\";\nimport * as React from \"react\";\nimport styled from \"styled-components/macro\";\nimport { IElement } from \"../core/store/elements/types\";\nimport { ITeam } from \"../core/store/teams/types\";\nimport Media from \"./Media\";\nimport ElementShirt from \"./ElementShirt\";\nimport { connect } from \"react-redux\";\nimport { getElementTypesById } from \"../core/store/element-types/reducers\";\nimport { RootState } from \"../core/store\";\nimport { IElementTypesById } from \"../core/store/element-types/types\";\n\nconst MenuButton = styled.button`\n ${ellipsis()};\n width: 100%;\n padding: 0;\n border: 0;\n background-color: transparent;\n color: inherit;\n font-family: ${({ theme }) => theme.fonts.base};\n font-weight: bold;\n text-align: start;\n cursor: pointer;\n`;\n\nconst Name = styled.div`\n ${ellipsis()};\n color: ${({ theme }) => theme.colors.primary};\n\n :hover {\n text-decoration: underline;\n }\n`;\n\nconst Team = styled.div`\n margin-inline-end: ${({ theme }) => theme.space[2]};\n font-size: ${({ theme }) => theme.fontSizes[1]};\n`;\n\ninterface IPropsFromState {\n elementTypesById: IElementTypesById;\n}\n\ninterface IOwnProps {\n element: IElement;\n renderElementMenu: () => void;\n team: ITeam;\n}\n\ntype Props = IPropsFromState & IOwnProps;\n\nconst ElementInTable: React.FC = ({\n element,\n elementTypesById,\n renderElementMenu,\n team,\n}) => {\n const Shirt = ;\n return (\n \n \n {element.web_name}\n {team.short_name}\n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementTypesById: getElementTypesById(state),\n});\n\nexport default connect(mapStateToProps)(ElementInTable);\n","import { rgba } from \"polished\";\nimport * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport { IElement } from \"../core/store/elements/types\";\nimport { ITeam } from \"../core/store/teams/types\";\nimport { integerToMoney, isMoneyStat } from \"../core/utils/money\";\nimport ElementDialogButton from \"./ElementDialogButton\";\nimport ElementInTable from \"./ElementInTable\";\nimport { ElementCell, ElementRow } from \"./ElementTable\";\n\nconst StyledElementListRow = styled(ElementRow)`\n ${(props) =>\n props.isProposed &&\n css`\n td,\n button {\n color: ${rgba(\"black\", 0.6)};\n }\n\n img {\n opacity: 0.6;\n }\n `}\n`;\n\nconst ElementListStatCell = styled.td`\n font-weight: bold;\n`;\n\ninterface IStyledProps {\n isProposed: boolean;\n}\n\ninterface IProps extends IStyledProps {\n currencyDivisor: number;\n element: IElement;\n renderElementDialog: () => void;\n renderElementMenu: () => void;\n sort: React.ReactText;\n team: ITeam;\n}\n\nconst ElementListRow: React.FC = ({\n currencyDivisor,\n element,\n isProposed,\n renderElementMenu,\n sort,\n team,\n}) => (\n \n \n \n \n \n \n \n \n {integerToMoney(element.now_cost, currencyDivisor)}\n \n \n {isMoneyStat(sort)\n ? integerToMoney(element[sort] as number, currencyDivisor)\n : element[sort]}\n \n \n);\n\nexport default ElementListRow;\n","import groupBy from \"lodash/groupBy\";\nimport range from \"lodash/range\";\nimport * as React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { Trans, withTranslation, WithTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box, Flex } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport {\n getElementTypes,\n getElementTypesById,\n} from \"../../core/store/element-types/reducers\";\nimport { updateElementControls } from \"../../core/store/elements/actions\";\nimport {\n getElementControls,\n getElementsFromControls,\n} from \"../../core/store/elements/reducers\";\nimport {\n showElementSummary,\n updateElementControlsAndMaxCost,\n updateElementTypeControl,\n} from \"../../core/store/elements/thunks\";\nimport { IElement, IElementControls } from \"../../core/store/elements/types\";\nimport {\n getProposedElementsById,\n getTypesNeeded,\n} from \"../../core/store/squad/reducers\";\nimport { proposeElement, removeElement } from \"../../core/store/squad/thunks\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { integerToMoney } from \"../../core/utils/money\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Dialog, { DialogButtonItem } from \"../Dialog\";\nimport DialogHeading from \"../DialogHeading\";\nimport ElementFilter from \"../element-controls/ElementFilter\";\nimport ElementSort from \"../element-controls/ElementSort\";\nimport Paginator from \"../element-controls/Paginator\";\nimport ElementListRow from \"../ElementListRow\";\nimport { ElementTable } from \"../ElementTable\";\nimport { FieldWrap, SearchField, SelectField } from \"../FieldRenderers\";\nimport { ControlArrowLeft } from \"../icons/Arrows\";\nimport Panel from \"../Panel\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\n\nconst Form = styled.form`\n padding: 0 ${({ theme }) => theme.space[2]};\n`;\n\nconst ElementsShown = styled.p`\n margin: ${({ theme }) => theme.space[2]} 0;\n text-align: center;\n\n strong {\n color: ${({ theme }) => theme.colors.primary};\n }\n`;\n\nconst ElementTableHeadStyles = css`\n &&& {\n border: 1px solid ${({ theme }) => theme.colors.blue};\n background-color: ${({ theme }) => theme.colors.blue};\n }\n`;\n\nconst ElementListBlank = styled.th`\n ${ElementTableHeadStyles}\n`;\n\nconst ElementListElement = styled.th`\n ${ElementTableHeadStyles}\n width: 46%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 45%;\n }\n`;\n\nconst ElementListPrice = styled.th`\n ${ElementTableHeadStyles}\n width: 22%;\n font-size: ${({ theme }) => theme.fontSizes[1]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 25%;\n }\n`;\n\nconst ElementListStat = styled.th`\n ${ElementTableHeadStyles}\n width: 22%;\n font-size: ${({ theme }) => theme.fontSizes[1]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 18%;\n }\n`;\n\nconst ElementTypeButton = styled.span`\n padding: 0;\n border: 0;\n background-color: transparent;\n color: currentColor;\n font-size: ${({ theme }) => theme.fontSizes[1]};\n cursor: pointer;\n font-family: ${({ theme }) => theme.fonts.base};\n`;\n\nconst ButtonWrap = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n display: none;\n }\n`;\n\nconst PlayerActions = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n margin: 0 auto;\n }\n`;\n\ninterface IOwnProps {\n hideRef: React.RefObject;\n hideSidebar: () => void;\n}\n\ntype Props = IOwnProps & WithTranslation;\n\nconst ElementList: React.FC = ({ hideRef, hideSidebar, t }) => {\n const dispatch = useDispatch();\n const [elementForMenu, setElementForMenu] = useState(null);\n const [page, setPage] = useState(1);\n\n const controls = useSelector(getElementControls);\n const currencyDivisor = 10;\n const elementTypes = useSelector(getElementTypes);\n const elementTypesById = useSelector(getElementTypesById);\n const elements = useSelector(getElementsFromControls);\n const proposedElementsById = useSelector(getProposedElementsById);\n const teamsById = useSelector(getTeamsById);\n const typesNeeded = useSelector(getTypesNeeded);\n\n const updateControls = (controls: IElementControls) =>\n dispatch(updateElementControls(controls));\n const updateControlsAndMaxCost = (controls: IElementControls) =>\n dispatch(updateElementControlsAndMaxCost(controls));\n\n const handleAddElement = (elementId: number) => {\n dispatch(proposeElement(elementId));\n hideSidebar();\n handleHideMenuForElement();\n };\n\n const handleRemoveElement = (position: number) => {\n dispatch(removeElement(position));\n handleHideMenuForElement();\n };\n\n const handleFilterChange = (e: React.ChangeEvent) => {\n setPage(1);\n updateControlsAndMaxCost({\n ...controls,\n filter: e.target.value,\n });\n };\n\n const handleSortChange = (e: React.ChangeEvent) => {\n setPage(1);\n updateControls({\n ...controls,\n sort: e.target.value,\n });\n };\n\n const handleSearchChange = (e: React.ChangeEvent) => {\n setPage(1);\n updateControls({\n ...controls,\n search: e.target.value,\n });\n };\n\n const handleMaxCostChange = (e: React.ChangeEvent) => {\n setPage(1);\n updateControls({\n ...controls,\n maxCost: Number(e.target.value),\n });\n };\n\n const handleShowMenuForElement = (element: IElement) =>\n setElementForMenu(element);\n\n const handleHideMenuForElement = () => {\n setElementForMenu(null);\n };\n\n const showDialog = (element: IElement) => {\n dispatch(showElementSummary(element.id));\n handleHideMenuForElement();\n };\n\n useEffect(() => {\n updateControlsAndMaxCost({\n ...controls,\n filter: \"all\",\n sort: \"total_points\",\n search: \"\",\n getUnavailable: false,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const paginateAndGroup = (elements: IElement[], pageSize: number) => {\n const start = (page - 1) * pageSize;\n return {\n data: groupBy(elements.slice(start, start + pageSize), \"element_type\"),\n totalPages: Math.ceil(elements.length / pageSize),\n };\n };\n\n const renderMenu = () => {\n const element = elementForMenu;\n\n if (!element) {\n return null;\n }\n\n const proposedElement = proposedElementsById[element.id];\n const roomInSquad = typesNeeded[element.element_type];\n\n let alert = null;\n if (!roomInSquad) {\n alert = (\n \n {t(\n \"elementList.errors.maxElementType\",\n \"You already have the maximum number of {{ position }}\",\n {\n position: elementTypesById[element.element_type].plural_name,\n }\n )}\n \n );\n } else if (proposedElement) {\n alert = (\n \n \n {{ playerName: element.web_name }} is already in\n your squad.\n \n \n );\n }\n\n return (\n \n \n \n \n {`${element.first_name} ${element.second_name}`}\n \n \n \n {alert && alert}\n\n \n \n \n {proposedElement ? (\n handleRemoveElement(proposedElement.position)}\n width={1}\n >\n {t(\"elementList.removePlayer\", \"Remove player\")}\n \n ) : (\n handleAddElement(element.id)}\n disabled={Boolean(!roomInSquad)}\n width={1}\n >\n {t(\"elementList.addPlayer\", \"Add player\")}\n \n )}\n \n \n showDialog(element)}\n width={1}\n >\n {t(\"viewInformation\", \"View information\")}\n \n \n \n \n \n );\n };\n\n const { data, totalPages } = paginateAndGroup(elements.data, 30);\n return (\n \n \n \n \n }\n >\n {t(\"back\", \"Back\")}\n \n \n \n
    e.preventDefault()}>\n \n \n \n \n \n \n \n {range(elements.maxCost, elements.minCost - 1, -5).map((cost) => (\n \n {integerToMoney(cost, 10)}\n \n ))}\n \n \n \n \n \n {{ length: elements.data.length }} players shown\n \n \n {elementTypes.map(\n (et) =>\n data[et.id] && (\n \n \n \n  \n \n dispatch(updateElementTypeControl(et.id))}\n >\n {et.plural_name}\n \n \n \n \n M SAR\n \n \n P\n \n \n \n {data[et.id].map((e) => (\n handleShowMenuForElement(e)}\n renderElementDialog={() => showDialog(e)}\n team={teamsById[e.team]}\n currencyDivisor={currencyDivisor}\n sort={controls.sort}\n />\n ))}\n \n \n )\n )}\n {renderMenu()}\n \n
    \n );\n};\n\nexport default withTranslation()(ElementList);\n","import React, { useState } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { Box } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport Button from \"../Button\";\nimport Fixtures from \"../Fixtures\";\nimport { ControlArrowRight } from \"../icons/Arrows\";\nimport { Main, Wrapper } from \"../Layout\";\nimport PageAd from \"../PageAd\";\nimport PageHeader from \"../PageHeader\";\nimport CreateSquad, { IListTableProps } from \"./CreateSquad\";\nimport ElementList from \"./ElementList\";\n\nconst PusherWrap = styled.div`\n overflow-x: hidden;\n`;\n\nconst Pusher = styled.div`\n position: relative;\n transition: all 300ms;\n\n ${(props) =>\n props.isSidebarVisible &&\n css`\n transform: translate3d(-100%, 0, 0);\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n transform: none;\n }\n `}\n`;\n\nconst PusherSecondary = styled.div`\n position: absolute;\n top: 0;\n width: 100%;\n height: 100%;\n transform: translate3d(100%, 0, 0);\n overflow-y: auto;\n margin-bottom: 2rem;\n padding-top: 2rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n position: static;\n transform: none;\n width: calc(100% / 3);\n padding-inline-end: 1rem;\n padding-inline-start: 1rem;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 25%;\n }\n`;\n\nconst ButtonWrap = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n display: none;\n }\n`;\n\ninterface IOwnProps {\n listTable: (listTableProps: IListTableProps) => void;\n scoreboard: string;\n submitDialog: (handleHide: () => void) => React.ReactNode;\n title: React.ReactNode;\n}\n\ntype Props = IOwnProps & WithTranslation;\n\ninterface IState {\n isSidebarVisible: boolean;\n}\n\nconst SquadBase: React.FC = ({\n listTable,\n scoreboard,\n submitDialog,\n title,\n t,\n}) => {\n const [isSidebarVisible, setIsSidebarVisible] = useState(false);\n\n const showRef = React.createRef();\n const hideRef = React.createRef();\n\n const handleShowSidebar = () => setIsSidebarVisible(true);\n const handleHideSidebar = () => setIsSidebarVisible(false);\n const handleTransitionEnd = (e: React.TransitionEvent) => {\n // Just handle the Pusher transition\n if (e.target === e.currentTarget) {\n isSidebarVisible ? hideRef.current!.focus() : showRef.current!.focus();\n }\n };\n\n return (\n \n \n \n
    \n \n \n \n }\n variant=\"tertiary\"\n >\n {t(\"squadBase.playerList\", \"Player List\")}\n \n \n \n \n \n \n \n \n \n
    \n \n \n \n
    \n \n
    \n );\n};\n\nexport default withTranslation()(SquadBase);\n","import * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getElementTypesBySquadPosition } from \"../../core/store/element-types/reducers\";\nimport { IElementTypesBySquadPosition } from \"../../core/store/element-types/types\";\nimport { updateElementTypeControl } from \"../../core/store/elements/thunks\";\nimport { getFixturesForNextEventByTeam } from \"../../core/store/fixtures/reducers\";\nimport { IFixturesForEventByTeam } from \"../../core/store/fixtures/types\";\nimport { getProposedElements } from \"../../core/store/squad/reducers\";\nimport { IProposedElements } from \"../../core/store/squad/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport { integerToMoney } from \"../../core/utils/money\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementInTable from \"../ElementInTable\";\nimport { ElementCell, ElementRow, ElementTable } from \"../ElementTable\";\nimport { FixturesForElement } from \"../FixtureForElement\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ScrollWrapper = styled.div`\n overflow-x: auto;\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n overflow-x: visible;\n }\n`;\n\nconst FlexElementCell = styled(ElementCell)`\n display: flex;\n align-items: center;\n`;\n\nconst FilterElTypeButton = styled.button`\n padding: 10px 0 9px;\n border: 0;\n background-color: transparent;\n font-size: 1.3rem;\n white-space: normal;\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\nconst SquadListElement = styled.th`\n width: 40%;\n`;\n\nconst SquadListCost = styled.th`\n width: 15%;\n`;\n\nconst SquadListSelected = styled.th`\n width: 15%;\n`;\n\nconst SquadListPoints = styled.th`\n width: 15%;\n`;\n\nconst SquadListFixture = styled.th`\n width: 15%;\n`;\n\ninterface ISquadListRowProps {\n elementTypesByPosition: IElementTypesBySquadPosition | null;\n fixturesForNextEventByTeam: IFixturesForEventByTeam;\n proposedElements: IProposedElements;\n pos: number;\n renderElementMenu: (position: number) => void;\n showElementType: (elementTypeId: number) => void;\n teamsById: ITeamsById;\n}\n\nconst SquadListRow: React.FC = ({\n elementTypesByPosition,\n proposedElements,\n pos,\n renderElementMenu,\n showElementType,\n teamsById,\n fixturesForNextEventByTeam,\n}) => {\n const { t } = useTranslation();\n\n if (!elementTypesByPosition) {\n return null;\n }\n\n const element = proposedElements[pos];\n return (\n \n {element ? (\n <>\n \n
    \n \n
    \n renderElementMenu(pos)}\n element={element}\n team={teamsById[element.team]}\n />\n
    \n {integerToMoney(element.now_cost, 10)}\n {element.selected_by_percent}\n {element.total_points}\n \n }\n fixtures={fixturesForNextEventByTeam[element.team]}\n element={element}\n teamsById={teamsById}\n />\n \n \n ) : (\n <>\n \n \n showElementType(elementTypesByPosition[pos].thisType.id)\n }\n >\n {t(\"squad.selectElement\", \"Select {{position}}\", {\n position: elementTypesByPosition[pos].thisType.singular_name,\n })}\n \n \n \n )}\n
    \n );\n};\n\ninterface IPropsFromState {\n elementTypesByPosition: IElementTypesBySquadPosition | null;\n fixturesForNextEventByTeam: IFixturesForEventByTeam;\n proposedElements: IProposedElements;\n teamsById: ITeamsById;\n}\n\ninterface IPropsFromDispatch {\n showElementType: (elementTypeId: number) => void;\n}\n\ninterface ISquadListTableProps {\n elementType: number;\n positions: number[];\n renderElementMenu: (pos: number) => void;\n}\n\ntype Props = IPropsFromState & IPropsFromDispatch & ISquadListTableProps;\n\nconst SquadListTable: React.SFC = ({\n elementType,\n elementTypesByPosition,\n positions,\n ...rest\n}) => {\n const { t } = useTranslation();\n\n if (!elementTypesByPosition) {\n return null;\n }\n return (\n \n \n \n \n \n {elementTypesByPosition[positions[0]].thisType.plural_name}\n \n \n \n M SAR\n \n \n \n \n \n {t(\"squadListTabel.label.selectedPct\", \"VAL\")}\n \n \n \n \n \n \n {t(\"squadListTabel.label.totalPoints\", \"TP\")}\n \n \n \n \n \n \n {t(\"squadListTabel.label.fixtureNext\", \"Mot\")}\n \n \n \n \n \n \n {positions.map((p) => (\n \n ))}\n \n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementTypesByPosition: getElementTypesBySquadPosition(state),\n fixturesForNextEventByTeam: getFixturesForNextEventByTeam(state),\n proposedElements: getProposedElements(state),\n teamsById: getTeamsById(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n showElementType: (elementTypeId) =>\n dispatch(updateElementTypeControl(elementTypeId)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SquadListTable);\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport Register from \"../player/Register\";\nimport CreateEntryDialog from \"./CreateEntryDialog\";\nimport SquadBase from \"./SquadBase\";\nimport SquadListTable from \"./SquadListTable\";\n\nconst SquadSelection = () => {\n const { t } = useTranslation();\n const player = useSelector(getPlayerData);\n if (!player || player.dirty) {\n return ;\n }\n return (\n }\n scoreboard=\"basic\"\n submitDialog={(handleHide) => (\n \n )}\n title={t(\"squad.title\", \"Squad Selection\")}\n />\n );\n};\n\nexport default SquadSelection;\n","import { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport {\n cancelProposedChip,\n proposeAvailableChip,\n} from \"../../core/store/chips/actions\";\nimport {\n getActiveChipName,\n getAvailableChipNames,\n getProposedChipName,\n} from \"../../core/store/chips/reducers\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { IElementsById } from \"../../core/store/elements/types\";\nimport { getNextEvent } from \"../../core/store/events/reducers\";\nimport { IEvent } from \"../../core/store/events/types\";\nimport { ITransferState } from \"../../core/store/my-team/types\";\nimport {\n getFreeTransfers,\n getProposedTransfers,\n getTransferCosts,\n getTransferState,\n} from \"../../core/store/squad/reducers\";\nimport { makeTransfers } from \"../../core/store/squad/thunks\";\nimport { ITransfersData } from \"../../core/store/squad/types\";\nimport { formatRawAsLocalI18n } from \"../../core/utils/datetime\";\nimport { dateLocales } from \"../../i18n\";\nimport Alert, { AlertGroup, AlertItem } from \"../Alert\";\nimport Button from \"../Button\";\nimport Dialog, { DialogButtonItem } from \"../Dialog\";\nimport DialogHeading from \"../DialogHeading\";\nimport Table from \"../Table\";\n\ninterface IOwnProps {\n handleHide: () => void;\n}\n\ninterface IPropsFromState {\n activeChip: string;\n elementsById: IElementsById;\n freeTransfers: number;\n nextEvent: IEvent | null;\n proposedChip: string;\n transferCosts: number;\n transfers: ITransfersData[];\n transferState: ITransferState | null;\n wildcardAvailable: boolean;\n unlimitAvaliable: boolean;\n}\n\ninterface IPropsFromDispatch {\n makeTransfers: () => void;\n cancelChip: (chip: string) => void;\n proposeChip: (chip: string) => void;\n}\n\ntype Props = IOwnProps & IPropsFromState & IPropsFromDispatch;\n\nconst ConfirmTransfersDialog = ({\n freeTransfers,\n handleHide,\n elementsById,\n makeTransfers,\n nextEvent,\n proposedChip,\n transferCosts,\n transfers,\n transferState,\n wildcardAvailable,\n unlimitAvaliable,\n cancelChip,\n proposeChip,\n}: Props) => {\n const { i18n, t } = useTranslation();\n if (!nextEvent || !transferState) {\n return null;\n }\n return (\n \n \n \n {t(\"confirmTransfers.heading\", \"Confirm Transfers\")}\n \n \n \n \n \n \n \n \n \n \n \n \n \n {transfers.map((t, index) => (\n \n \n \n \n \n ))}\n \n \n \n \n \n
    {t(\"confirmTransfers.out\", \"Out\")}{t(\"confirmTransfers.in\", \"In\")}{t(\"confirmTransfers.cost\", \"Cost\")}
    {elementsById[t.element_out].web_name}{elementsById[t.element_in].web_name}\n {transferCosts && index >= freeTransfers\n ? transferState.cost\n : 0}{\" \"}\n pts\n
    \n {t(\"confirmTransfers.totalCost\", \"Total cost\")}{transferCosts} pts
    \n
    \n \n {transferCosts > 0 ? (\n \n \n \n {t(\n \"confirmTransfers.transferAlert\",\n \"These transfers will be active for {{name}} ({{time}}) and will deduct {{costs}}pts from your score!\",\n {\n name: nextEvent.name,\n time: formatRawAsLocalI18n(\n nextEvent.deadline_time,\n dateLocales[i18n.language]\n ),\n costs: transferCosts,\n }\n )}\n \n \n {wildcardAvailable && proposedChip !== \"uteam\" && (\n \n \n {t(\n \"confirmTransfers.playYourWildcard\",\n \"Play your wildcard to make unlimited free transfers this Round.\"\n )}\n \n \n \n \n \n )}\n \n ) : (\n \n \n \n {t(\n \"confirmTransfers.theseTransfersWill\",\n \"These transfers will be active for {{name}} ({{time}})\",\n {\n name: nextEvent.name,\n time: formatRawAsLocalI18n(\n nextEvent.deadline_time,\n dateLocales[i18n.language]\n ),\n }\n )}\n \n \n {proposedChip === \"wildcard\" && (\n \n \n \n {t(\n \"confirmTransfers.youAreProposingWildcard\",\n \"You are proposing to play your wildcard!\"\n )}\n \n \n \n {t(\n \"confirmTransfers.cancelYourWildcard\",\n \"Cancel your wildcard if you would prefer to spend points on these transfers.\"\n )}\n \n \n \n )}\n {proposedChip === \"uteam\" && (\n \n \n \n {t(\n \"confirmTransfers.proposingUnlimit\",\n \"You are proposing to play your Loan Rangers chip! This allows you to make unlimited free transfers and choose how many players you want from a specific team for a single round. At the next deadline, your squad is returned to how it was at the start of the round.\"\n )}\n \n \n \n {t(\n \"confirmTransfers.cancelYourUnlimit\",\n \"Cancel Loan Rangers chip if you would prefer not to do this.\"\n )}\n \n {\n cancelChip(\"uteam\");\n return handleHide();\n }}\n width={1}\n >\n {t(\"confirmTransfers.cancelUnlimit\", \"Cancel Loan Rangers\")}\n \n \n )}\n \n )}\n \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n );\n};\n\nexport { ConfirmTransfersDialog as ConfirmTransfersDialogTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => {\n const availableChips = getAvailableChipNames(state);\n return {\n activeChip: getActiveChipName(state),\n elementsById: getElementsById(state),\n freeTransfers: getFreeTransfers(state),\n nextEvent: getNextEvent(state),\n proposedChip: getProposedChipName(state),\n transferCosts: getTransferCosts(state),\n transferState: getTransferState(state),\n transfers: getProposedTransfers(state),\n wildcardAvailable: availableChips.indexOf(\"wildcard\") > -1,\n unlimitAvaliable: availableChips.indexOf(\"uteam\") > -1,\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n makeTransfers: () => dispatch(makeTransfers()),\n cancelChip: (chip: string) => dispatch(cancelProposedChip(chip)),\n proposeChip: (chip: string) => dispatch(proposeAvailableChip(chip)),\n});\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ConfirmTransfersDialog);\n","import * as React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport { getElementTypesBySquadPosition } from \"../../core/store/element-types/reducers\";\nimport { IElementTypesBySquadPosition } from \"../../core/store/element-types/types\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { IElement, IElementsById } from \"../../core/store/elements/types\";\nimport { getFixturesForNextEventByTeam } from \"../../core/store/fixtures/reducers\";\nimport { IFixturesForEventByTeam } from \"../../core/store/fixtures/types\";\nimport {\n getProposedElements,\n getSavedPicks,\n} from \"../../core/store/squad/reducers\";\nimport { IProposedElements, ISavedPicks } from \"../../core/store/squad/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport { integerToMoney } from \"../../core/utils/money\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementInTable from \"../ElementInTable\";\nimport { ElementCell, ElementRow, ElementTable } from \"../ElementTable\";\nimport { FixturesForElement } from \"../FixtureForElement\";\nimport { ScrollTable } from \"../Table\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\n\nconst SquadListStatus = styled.th`\n width: 7%;\n`;\n\nconst SquadListElement = styled.th`\n width: 28%;\n`;\n\nconst SquadListPrice = styled.th`\n width: 11%;\n`;\n\nconst SquadListForm = styled.th`\n width: 8%;\n`;\n\nconst SquadListPoints = styled.th`\n width: 9%;\n`;\n\nconst SquadListFixture = styled.th`\n width: 15%;\n`;\n\ninterface ISquadListRowProps {\n elementsById: IElementsById;\n elementTypesByPosition: IElementTypesBySquadPosition | null;\n fixturesForNextEventByTeam: IFixturesForEventByTeam;\n proposedElements: IProposedElements;\n pos: number;\n renderElementMenu: (position: number) => void;\n savedPicks: ISavedPicks;\n teamsById: ITeamsById;\n}\n\nconst TransfersListRow: React.FC = ({\n elementsById,\n elementTypesByPosition,\n fixturesForNextEventByTeam,\n proposedElements,\n pos,\n renderElementMenu,\n savedPicks,\n teamsById,\n}) => {\n if (!elementTypesByPosition) {\n return null;\n }\n\n let element = proposedElements[pos];\n // TODO - We need a visual indicator of the row elementState, in the past we\n // have rendered the '0' shirt instead of the regular one\n let elementState: \"original\" | \"removed\" | \"replaced\" = \"original\";\n if (!element) {\n element = elementsById[savedPicks[pos].element];\n elementState = \"removed\";\n } else if (element.id !== savedPicks[pos].element) {\n elementState = \"replaced\";\n }\n\n return (\n \n \n \n \n \n renderElementMenu(pos)}\n element={element}\n team={teamsById[element.team]}\n />\n \n {integerToMoney(element.now_cost, 10)}\n {elementState === \"replaced\" ? (\n <>\n {integerToMoney(element.now_cost, 10)}\n {integerToMoney(element.now_cost, 10)}\n \n ) : (\n <>\n {integerToMoney(savedPicks[pos].selling_price, 10)}\n {integerToMoney(savedPicks[pos].purchase_price, 10)}\n \n )}\n {element.form}\n {element.total_points}\n \n }\n fixtures={fixturesForNextEventByTeam[element.team]}\n element={element}\n teamsById={teamsById}\n />\n \n \n );\n};\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n elementTypesByPosition: IElementTypesBySquadPosition | null;\n fixturesForNextEventByTeam: IFixturesForEventByTeam;\n proposedElements: IProposedElements;\n savedPicks: ISavedPicks;\n teamsById: ITeamsById;\n}\n\ninterface IOwnProps {\n elementType: number;\n positions: number[];\n renderElementDialog: (element: IElement) => void;\n renderElementMenu: (pos: number) => void;\n}\n\ntype Props = IPropsFromState & IOwnProps & WithTranslation;\n\nconst TransfersListTable: React.SFC = ({\n t,\n elementType,\n elementTypesByPosition,\n positions,\n ...rest\n}) => {\n if (!elementTypesByPosition) {\n return null;\n }\n return (\n \n \n \n \n  \n \n {elementTypesByPosition[positions[0]].thisType.plural_name}\n \n \n \n \n {t(\"squadListTabel.label.currentPrice\", \"CP\")}\n \n \n \n \n \n \n {t(\"squadListTabel.label.sellingPrice\", \"SP\")}\n \n \n \n \n \n \n {t(\"squadListTabel.label.purchasePrice\", \"PP\")}\n \n \n \n \n \n \n {t(\"squadListTabel.label.form\", \"F\")}\n \n \n \n \n \n \n {t(\"squadListTabel.label.totalPoints\", \"TP\")}\n \n \n \n \n \n \n {t(\"transferListTable.label.fixtureNext\", \"Fix\")}\n \n \n \n \n \n \n {positions.map((p) => (\n \n ))}\n \n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementsById: getElementsById(state),\n elementTypesByPosition: getElementTypesBySquadPosition(state),\n fixturesForNextEventByTeam: getFixturesForNextEventByTeam(state),\n proposedElements: getProposedElements(state),\n savedPicks: getSavedPicks(state),\n teamsById: getTeamsById(state),\n});\n\nexport default withTranslation()(connect(mapStateToProps)(TransfersListTable));\n","import { RouteComponentProps } from \"@reach/router\";\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { fetchMyTeam } from \"../../core/store/my-team/thunks\";\nimport { ITransferState } from \"../../core/store/my-team/types\";\nimport { getTransferState } from \"../../core/store/squad/reducers\";\nimport ConfirmTransfersDialog from \"./ConfirmTransfersDialog\";\nimport SquadBase from \"./SquadBase\";\nimport TransfersListTable from \"./TransfersListTable\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\n\ninterface IPropsFromState {\n transfersState: ITransferState | null;\n}\n\ninterface IPropsFromDispatch {\n fetchMyTeam: () => void;\n}\n\ntype Props = RouteComponentProps &\n IPropsFromState &\n IPropsFromDispatch &\n WithTranslation;\n\nclass Transfers extends React.Component {\n public componentDidMount() {\n this.props.fetchMyTeam();\n }\n\n public render() {\n // Don't render until we know what transfers staate we need to render ...\n if (!this.props.transfersState) {\n return null;\n }\n const scoreboard =\n this.props.transfersState.status === \"cost\" ? \"cost\" : \"basic\";\n const { t } = this.props;\n return (\n (\n \n )}\n scoreboard={scoreboard}\n submitDialog={(handleHide) => (\n \n )}\n title={t(\"transfers.title\", \"Transfers\")}\n />\n );\n }\n}\n\nexport { Transfers as TransfersTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n transfersState: getTransferState(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchMyTeam: () => dispatch(fetchMyTeam()),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(Transfers)\n);\n","import { RouteComponentProps } from \"@reach/router\";\nimport React, { useEffect } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { updateElementControls } from \"../../core/store/elements/actions\";\nimport {\n getElementControls,\n getElementsFromControls,\n} from \"../../core/store/elements/reducers\";\nimport { updateElementControlsAndMaxCost } from \"../../core/store/elements/thunks\";\nimport { IElementControls } from \"../../core/store/elements/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementInTable from \"../ElementInTable\";\nimport { ElementRow, ElementTable } from \"../ElementTable\";\nimport { FieldCol, FieldCols } from \"../FieldRenderers\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\nimport ElementFilter from \"../element-controls/ElementFilter\";\nimport ElementSort from \"../element-controls/ElementSort\";\n\nconst NewsStatus = styled.th`\n width: 10%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 6%;\n }\n`;\n\nconst NewsElement = styled.th`\n width: 39%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 38%;\n }\n`;\n\nconst NewsNews = styled.th`\n width: 51%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 56%;\n }\n`;\n\nconst NewsCell = styled.td`\n white-space: normal;\n`;\n\ntype Props = RouteComponentProps & WithTranslation;\n\nconst News: React.FC = ({ t }) => {\n const dispatch = useDispatch();\n\n const controls = useSelector(getElementControls);\n const elements = useSelector(getElementsFromControls);\n const teamsById = useSelector(getTeamsById);\n\n const updateControls = (controls: IElementControls) =>\n dispatch(updateElementControls(controls));\n\n const handleFilterChange = (e: React.ChangeEvent) => {\n updateControls({\n ...controls,\n filter: e.target.value,\n });\n };\n\n const handleSortChange = (e: React.ChangeEvent) => {\n updateControls({\n ...controls,\n sort: e.target.value,\n });\n };\n\n useEffect(() => {\n dispatch(\n updateElementControlsAndMaxCost({\n ...controls,\n filter: \"all\",\n sort: \"news_added\",\n })\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <>\n \n
    \n \n {t(\"news.title\", \"Player Availability\")}\n \n
    \n \n \n \n \n \n \n \n \n
    \n \n \n \n  \n {t(\"news.playerCol\", \"Player\")}\n {t(\"news.newsCol\", \"News\")}\n \n \n \n {elements.data\n .filter((e) => e.news)\n .map((e) => (\n \n \n \n \n \n {\n window.console.log(\"not needed\");\n }}\n element={e}\n team={teamsById[e.team]}\n />\n \n {e.news}\n \n ))}\n \n \n
    \n
    \n \n );\n};\n\nexport { News as NewsTest };\n\nexport default withTranslation()(News);\n","import { RouteComponentProps } from \"@reach/router\";\nimport { ellipsis } from \"polished\";\nimport React, { useEffect, useState } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { updateElementControls } from \"../../core/store/elements/actions\";\nimport {\n getElementControls,\n getElementsFromControls,\n} from \"../../core/store/elements/reducers\";\nimport {\n showElementSummary,\n updateElementControlsAndMaxCost,\n} from \"../../core/store/elements/thunks\";\nimport { IElement, IElementControls } from \"../../core/store/elements/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { integerToMoney } from \"../../core/utils/money\";\nimport { getStatDetails } from \"../../utils/stats\";\nimport Alert from \"../Alert\";\nimport ElementFilter from \"../element-controls/ElementFilter\";\nimport ElementSort from \"../element-controls/ElementSort\";\nimport Paginator, { paginate } from \"../element-controls/Paginator\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementShirt from \"../ElementShirt\";\nimport { ElementRow, ElementTable } from \"../ElementTable\";\nimport { FieldCol, FieldCols } from \"../FieldRenderers\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Media from \"../Media\";\nimport Panel from \"../Panel\";\nimport { ScrollTable } from \"../Table\";\nimport Title from \"../Title\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\n\nconst StatsStatus = styled.th`\n width: 10%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 7%;\n }\n`;\n\nconst StatsElement = styled.th`\n width: 40%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 38%;\n }\n`;\n\nconst StatsCost = styled.th`\n width: 10%;\n font-size: ${({ theme }) => theme.fontSizes[1]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 11%;\n }\n`;\n\nconst StatsSel = styled.th`\n width: 10%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 11%;\n }\n`;\n\nconst StatsForm = styled.th`\n width: 10%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 11%;\n }\n`;\n\nconst StatsPts = styled.th`\n width: 10%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 11%;\n }\n`;\n\nconst StatsExtra = styled.th`\n width: 10%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 11%;\n }\n`;\n\nconst ElementNameButton = styled.button`\n ${ellipsis()};\n width: 100%;\n padding: 0;\n border: 0;\n background-color: transparent;\n color: inherit;\n font-family: ${({ theme }) => theme.fonts.base};\n font-weight: bold;\n text-align: start;\n cursor: pointer;\n`;\n\nconst Name = styled.div`\n ${ellipsis()};\n color: ${({ theme }) => theme.colors.primary};\n\n :hover {\n text-decoration: underline;\n }\n`;\n\nconst Team = styled.div`\n margin-inline-end: ${({ theme }) => theme.space[2]};\n font-size: ${({ theme }) => theme.fontSizes[1]};\n`;\n\ntype Props = RouteComponentProps<{ statName?: string }> & WithTranslation;\n\nconst Statistics: React.FC = ({ statName, t }) => {\n const dispatch = useDispatch();\n const [page, setPage] = useState(1);\n\n const controls = useSelector(getElementControls);\n const currencyDivisor = 10;\n const elements = useSelector(getElementsFromControls);\n const teamsById = useSelector(getTeamsById);\n\n const updateControls = (controls: IElementControls) =>\n dispatch(updateElementControls(controls));\n\n const handleFilterChange = (e: React.ChangeEvent) => {\n setPage(1);\n updateControls({\n ...controls,\n filter: e.target.value,\n });\n };\n\n const handleSortChange = (e: React.ChangeEvent) => {\n setPage(1);\n updateControls({\n ...controls,\n sort: e.target.value,\n });\n };\n\n const defaultStats: Array = [\n \"now_cost\",\n \"selected_by_percent\",\n \"form\",\n \"total_points\",\n ];\n\n useEffect(() => {\n dispatch(\n updateElementControlsAndMaxCost({\n ...controls,\n filter: \"all\",\n sort: statName || \"total_points\",\n search: \"\",\n })\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { data, totalPages } = paginate(elements.data, page, 30);\n const extraStat =\n defaultStats.indexOf(controls.sort) === -1 ? controls.sort : \"\";\n const statDetail = getStatDetails(String(controls.sort), t);\n\n return (\n \n
    \n \n {t(\"statistics.title\", \"Statistics\")}\n \n
    \n \n \n \n \n \n \n \n \n
    \n \n \n {statDetail ? statDetail.description : \"\"}\n \n \n \n \n \n \n \n  \n \n {t(\"statistics.player\", \"Player\")}\n \n {t(\"statistics.currency\", \"M SAR\")}\n \n \n \n {t(\"statistics.selectedByShort\", \"Sel.\")}\n \n \n \n {t(\"statistics.form\", \"Form\")}\n \n \n \n {t(\"statistics.totalPointsShort\", \"TP.\")}\n \n \n \n {extraStat ? ** : null}\n \n \n \n {data.map((e) => (\n \n \n \n \n \n dispatch(showElementSummary(e.id))}\n >\n }\n centred={true}\n >\n {e.web_name}\n {teamsById[e.team].short_name}\n \n \n \n {integerToMoney(e.now_cost, currencyDivisor)}\n {e.selected_by_percent}%\n {e.form}\n {e.total_points}\n {extraStat ? {e[extraStat]} : null}\n \n ))}\n \n \n \n \n \n \n \n
    \n
    \n );\n};\n\nexport { Statistics as StatisticsTest };\n\nexport default withTranslation()(Statistics);\n","import * as React from \"react\";\nimport styled from \"styled-components/macro\";\n\ninterface IStyledProps {\n ref?: any;\n}\n\ninterface IProps {\n children: React.ReactNode;\n onClick?: () => void;\n}\n\ntype Props = IStyledProps & IProps;\n\nconst StyledBoldLinkButton = styled.button`\n display: inline-flex;\n align-items: center;\n padding: 0;\n border: 0;\n background-color: transparent;\n font-size: inherit;\n text-decoration: none;\n text-align: start;\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\nconst BoldLinkButton: React.ForwardRefExoticComponent = React.forwardRef(\n ({ children, ...rest }, ref) => (\n \n {children}\n \n )\n);\n\nexport default BoldLinkButton;\n","import * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport { getElementStats } from \"../../core/store/element-stats/reducers\";\nimport { IElementStat } from \"../../core/store/element-stats/types\";\nimport { getElementTypesById } from \"../../core/store/element-types/reducers\";\nimport { IElementTypesById } from \"../../core/store/element-types/types\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport {\n IElement,\n IElementsById,\n IElementsEventDataById,\n} from \"../../core/store/elements/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementInTable from \"../ElementInTable\";\nimport Table from \"../Table\";\n\nconst ScrollTable = styled.div`\n overflow-x: auto;\n width: 100%;\n`;\n\nconst StatsTable = styled(Table)`\n white-space: nowrap;\n`;\n\ninterface IDreamTeamRowProps {\n data: Record;\n element: IElement;\n elementTypesById: IElementTypesById;\n renderElementMenu: (index: number) => void;\n stats: ReadonlyArray;\n teamsById: ITeamsById;\n}\n\nconst DreamTeamRow: React.FC = ({\n data,\n element,\n renderElementMenu,\n stats,\n teamsById,\n}) => (\n \n \n \n \n \n renderElementMenu(element.id)}\n element={element}\n team={teamsById[element.team]}\n />\n \n {data.total_points}\n {stats.map((s) => (\n {data[s.name]}\n ))}\n \n);\n\ninterface IOwnProps {\n dataById: IElementsEventDataById;\n elements: number[];\n renderElementMenu: (index: number) => void;\n}\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n elementTypesById: IElementTypesById;\n stats: ReadonlyArray;\n teamsById: ITeamsById;\n}\n\ntype Props = IOwnProps & IPropsFromState;\n\nconst DreamTeamTable: React.FC = ({\n dataById,\n elements,\n elementsById,\n stats,\n ...rest\n}) => {\n return (\n \n \n \n \n  \n Player\n TP\n {stats.map((s) => (\n \n \n {s.label\n .split(\" \")\n .map((w) => w[0])\n .join(\"\")\n .toUpperCase()}\n \n \n ))}\n \n \n \n {elements.map((e) => (\n \n ))}\n \n \n \n );\n};\n\nexport { DreamTeamTable as DreamTeamTableTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => {\n return {\n elementsById: getElementsById(state),\n elementTypesById: getElementTypesById(state),\n stats: getElementStats(state),\n teamsById: getTeamsById(state),\n };\n};\n\nexport default connect(mapStateToProps)(DreamTeamTable);\n","var _circle, _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgSub(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 22,\n viewBox: \"0 0 21 22\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 10.5,\n cy: 11.3658,\n r: 10,\n fill: \"#131924\",\n stroke: \"white\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.8102 10.1516H3.81016H2.41016L6.61016 5.86584L10.8102 10.1516Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.0102 12.5801L17.0102 12.5801L18.4102 12.5801L14.2102 16.8658L10.0102 12.5801Z\",\n fill: \"white\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSub);\nexport default __webpack_public_path__ + \"static/media/sub.6be5d4f3.svg\";\nexport { ForwardRef as ReactComponent };","var _circle, _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgCaptain(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n role: \"img\",\n focusable: \"false\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Captain\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 12,\n \"aria-hidden\": \"true\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.0769667,14.370341 C14.4472145,15.2780796 13.4066319,15.8124328 12.3019667,15.795341 C10.4380057,15.795341 8.92696674,14.284302 8.92696674,12.420341 C8.92696674,10.55638 10.4380057,9.045341 12.3019667,9.045341 C13.3988206,9.06061696 14.42546,9.58781014 15.0769667,10.470341 L17.2519667,8.295341 C15.3643505,6.02401882 12.1615491,5.35094208 9.51934028,6.67031017 C6.87713147,7.98967826 5.49079334,10.954309 6.17225952,13.8279136 C6.8537257,16.7015182 9.42367333,18.7279285 12.3769667,18.720341 C14.2708124,18.7262708 16.0646133,17.8707658 17.2519667,16.395341 L15.0769667,14.370341 Z\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgCaptain);\nexport default __webpack_public_path__ + \"static/media/captain.f6918bb5.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _g2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgViceCaptain(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Element Icon vice captain\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon_circle\",\n \"data-name\": \"icon circle\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16,\n cy: 16,\n r: 16\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"symbol_vice\",\n \"data-name\": \"symbol vice\",\n fill: \"currentColor\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25,8.5l-6.1,16H13.2L7,8.5h4.2L16,21.4,20.8,8.5H25Z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgViceCaptain);\nexport default __webpack_public_path__ + \"static/media/vice-captain.0c8a5676.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _g2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgX2(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon_circle\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16,\n cy: 16,\n r: 16\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"currentColor\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.5,16.7l-3.4-5h3.1l1.9,3l1.9-3h3l-3.4,5l3.6,5.2H12L10,18.7l-2.1,3.2h-3L8.5,16.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.5,19.6l4.4-3.6c1.7-1.4,2.3-2.1,2.3-3.2c0-1.1-0.7-1.7-1.8-1.7c-1,0-1.7,0.6-2.7,1.8l-2.1-1.7c1.3-1.8,2.6-2.8,5-2.8 c2.8,0,4.6,1.6,4.6,4.1v0c0,2.2-1.1,3.3-3.5,5.1l-2.2,1.7h5.8v2.5h-9.8V19.6z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgX2);\nexport default __webpack_public_path__ + \"static/media/x2.b18573cb.svg\";\nexport { ForwardRef as ReactComponent };","import { size } from \"polished\";\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { IElementsById } from \"../../core/store/elements/types\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport { ReactComponent as Captain } from \"../../img/icons/captain.svg\";\nimport { ReactComponent as ViceCaptain } from \"../../img/icons/vice-captain.svg\";\nimport { ReactComponent as x2 } from \"../../img/icons/x2.svg\";\n\nconst StyledCaptain = styled(Captain)`\n ${size(14)};\n color: white;\n\n ${(props) =>\n props.variant === \"2capt\" &&\n css`\n color: black;\n fill: #fac101;\n `}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n ${size(16)}\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${size(20)}\n }\n`;\n\nconst StyledViceCaptain = styled(ViceCaptain)`\n ${size(14)};\n color: white;\n\n ${(props) =>\n props.variant === \"2capt\" &&\n css`\n color: black;\n fill: #fac101;\n `}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n ${size(16)}\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${size(20)}\n }\n`;\n\nconst StyledX2 = styled(x2)`\n ${size(14)};\n color: #131924;\n fill: #e6eeff;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n ${size(16)}\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${size(20)}\n }\n`;\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n settings: ISettings | null;\n}\n\ninterface IOwnProps {\n chipName: string | null;\n pick: IPickLight;\n}\n\ninterface IStyledCaptainProps {\n variant?: string;\n}\n\ntype Props = IPropsFromState & IOwnProps & IStyledCaptainProps;\n\nconst TeamElementIcon: React.FC = ({\n chipName,\n elementsById,\n pick,\n settings,\n}) => {\n if (settings && pick.position > settings.squad_squadplay) return null;\n\n if (!chipName || chipName === \"wildcard\" || chipName === \"uteam\") {\n if (pick.is_captain) return ;\n if (pick.is_vice_captain) return ;\n }\n\n if (chipName === \"2capt\") {\n if (pick.is_captain) return ;\n if (pick.is_vice_captain) return ;\n }\n\n const element = elementsById[pick.element];\n\n if (chipName === \"pdbus\" && element.element_type === 2) {\n return ;\n }\n\n return null;\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementsById: getElementsById(state),\n settings: getSettings(state),\n});\n\nexport default connect(mapStateToProps)(TeamElementIcon);\n","import { size } from \"polished\";\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { showElementSummary } from \"../../core/store/elements/thunks\";\nimport { IElementsById } from \"../../core/store/elements/types\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport { ReactComponent as Sub } from \"../../img/icons/sub.svg\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementShirt from \"../ElementShirt\";\nimport {\n Controls,\n InfoControl,\n PitchElementWrap,\n PrimaryControl,\n StyledPitchElement,\n} from \"../Pitch\";\nimport PitchElementData from \"../PitchElementData\";\nimport { UnstyledButton } from \"../Utils\";\nimport TeamElementIcon from \"./TeamElementIcon\";\n\nconst StyledSub = styled(Sub)`\n ${size(14)}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n ${size(16)}\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${size(20)}\n }\n`;\n\nconst ElementIconWrap = styled.span`\n position: absolute;\n top: 22%;\n right: 0;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n right: 10px;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n right: 20px;\n }\n`;\n\nconst DreamTeamWrap = styled.div`\n position: absolute;\n top: 44%;\n right: 0;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n right: 10px;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n right: 20px;\n }\n`;\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n settings: ISettings | null;\n}\n\ninterface IPropsFromDispatch {\n showElementDialog: (elementId: number) => void;\n}\n\ninterface IOwnProps {\n actionMe: () => void;\n chipName: string | null;\n pick: IPickLight;\n renderDreamTeam: (pick: IPickLight) => React.ReactNode;\n renderElementMenu: () => void;\n renderPickValue: (pick: IPickLight) => React.ReactNode;\n}\n\ntype Props = IPropsFromState & IPropsFromDispatch & IOwnProps;\n\nconst TeamPitchElement: React.FC = ({\n actionMe,\n chipName,\n pick,\n elementsById,\n renderElementMenu,\n renderPickValue,\n renderDreamTeam,\n settings,\n}) => {\n if (!settings) return null;\n\n const element = elementsById[pick.element];\n\n return (\n \n \n \n \n \n \n \n {actionMe && typeof pick.subStatus !== \"undefined\" && (\n \n \n \n \n \n )}\n \n \n \n \n\n \n \n \n\n {renderDreamTeam(pick)}\n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementsById: getElementsById(state),\n settings: getSettings(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(TeamPitchElement);\n","import * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport { ThunkDispatch } from \"../../core/store\";\nimport { actionSubstitution } from \"../../core/store/my-team/thunks\";\nimport Pitch, { PitchRow, PitchUnit } from \"../Pitch\";\nimport TeamPitchElement from \"./TeamPitchElement\";\nimport { IPickLight } from \"../../core/store/entries/types\";\n\ninterface IFormationProps {\n generateProps: (i: number) => {\n actionMe: () => void;\n chipName: string | null;\n pick: IPickLight;\n renderDreamTeam: (pick: IPickLight) => React.ReactNode;\n renderElementMenu: () => void;\n renderPickValue: (pick: IPickLight) => React.ReactNode;\n };\n}\n\nconst FiveFourOne: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst FiveThreeTwo: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst FiveTwoThree: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst FourFiveOne: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst FourThreeThree: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst FourFourTwo: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst ThreeFourThree: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst ThreeFiveTwo: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\ninterface IPropsFromDispatch {\n substitute: (elementId: number) => void;\n}\n\ninterface IProps {\n chipName: string | null;\n formation: string;\n picks: IPickLight[];\n renderDreamTeam: (pick: IPickLight) => React.ReactNode;\n renderElementMenu: (element: number) => void;\n renderPickValue: (pick: IPickLight) => React.ReactNode;\n}\n\ntype Props = IPropsFromDispatch & IProps;\n\ninterface IFormations {\n [key: string]: React.ReactNode;\n}\n\nconst PitchFormation: React.FC = ({\n chipName,\n formation,\n substitute,\n picks,\n renderDreamTeam,\n renderElementMenu,\n renderPickValue,\n}) => {\n const sharedTeamPitchElementProps = (i: number) => ({\n actionMe: () => substitute(picks[i].element),\n chipName,\n pick: picks[i],\n renderDreamTeam,\n renderElementMenu: () => renderElementMenu(picks[i].element),\n renderPickValue,\n });\n const formations: IFormations = {\n \"1-5-4-1\": ,\n \"1-5-3-2\": ,\n \"1-5-2-3\": ,\n \"1-4-5-1\": ,\n \"1-4-4-2\": ,\n \"1-4-3-3\": ,\n \"1-3-5-2\": ,\n \"1-3-4-3\": ,\n };\n return {formations[formation]};\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n substitute: (elementId) => dispatch(actionSubstitution(elementId)),\n});\n\nexport default connect(null, mapDispatchToProps)(PitchFormation);\n","import { RouteComponentProps } from \"@reach/router\";\nimport { useEffect, useState } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport {\n dreamTeamAsPickLight,\n getEventDreamTeam,\n getEventDreamTeamFormation,\n getOverallDreamTeam,\n getOverallDreamTeamFormation,\n} from \"../../core/store/dream-teams/reducers\";\nimport {\n fetchEventDreamTeam,\n fetchOverallDreamTeam,\n} from \"../../core/store/dream-teams/thunks\";\nimport {\n getElementsById,\n getElementsEventDataById,\n} from \"../../core/store/elements/reducers\";\nimport {\n fetchEventLive,\n showElementSummary,\n} from \"../../core/store/elements/thunks\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport {\n getCurrentEvent,\n getEventsById,\n} from \"../../core/store/events/reducers\";\nimport { getFixturesForEventById } from \"../../core/store/fixtures/reducers\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport BoldLink from \"../BoldLink\";\nimport BoldLinkButton from \"../BoldLinkButton\";\nimport ButtonLink from \"../ButtonLink\";\nimport ElementShirt from \"../ElementShirt\";\nimport Fixtures from \"../Fixtures\";\nimport { ControlArrowLeft, ControlArrowRight } from \"../icons/Arrows\";\nimport { Main, Secondary, Wrapper } from \"../Layout\";\nimport Media from \"../Media\";\nimport {\n EventPager,\n PagerButton,\n PagerButtonNext,\n PagerHeading,\n} from \"../Pager\";\nimport { NotFound } from \"../Routes\";\nimport SubHeading from \"../SubHeading\";\nimport TabPanel from \"../tabs/TabPanel\";\nimport Tabs from \"../tabs/Tabs\";\nimport Title from \"../Title\";\nimport DreamTeamTable from \"./DreamTeamTable\";\nimport ElementExplainDialog from \"./ElementExplainDialog\";\nimport PitchFormation from \"./PitchFormation\";\nimport valueForPlayerElement from \"./valueForPlayedElement\";\n\nconst DTScoreboardWrapper = styled.div`\n margin: ${({ theme }) => theme.space[4]} 0;\n padding: ${({ theme }) => theme.space[2]};\n border: ${({ theme }) => theme.borders[2]};\n border-radius: ${({ theme }) => theme.radii[2]};\n`;\n\nconst DTScoreboard = styled.div`\n display: flex;\n`;\n\nconst DTScoreboardPanel = styled.div`\n flex: 1;\n margin: ${({ theme }) => theme.space[2]};\n padding: ${({ theme }) => theme.space[2]};\n border: ${({ theme }) => theme.borders[3]};\n border-radius: ${({ theme }) => theme.radii[2]};\n background-color: white;\n text-align: center;\n`;\n\nconst DTScoreboardHeading = styled.h3`\n margin: ${({ theme }) => theme.space[1]};\n font-size: ${({ theme }) => theme.fontSizes[4]};\n`;\n\nconst DTScoreboardValue = styled.div`\n position: relative;\n color: ${({ theme }) => theme.colors.blue};\n font-size: 4rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n padding-top: 0.6rem;\n padding-bottom: 1rem;\n }\n`;\n\nconst TopPlayer = styled.div`\n display: inline-block;\n`;\n\nconst TopPlayerData = styled.div`\n text-align: start;\n`;\n\nconst PitchWrapper = styled(Box)`\n border: ${({ theme }) => theme.borders[2]};\n border-radius: ${({ theme }) => theme.radii[2]};\n`;\n\ntype Props = RouteComponentProps<{ eventId?: string }> & WithTranslation;\n\nconst DreamTeam: React.FC = ({ eventId, t }) => {\n const dispatch = useDispatch();\n const [elementForMenu, setElementForMenu] = useState(0);\n\n const data = useSelector((state: RootState) =>\n eventId\n ? getEventDreamTeam(state, Number(eventId))\n : getOverallDreamTeam(state)\n );\n const elementsById = useSelector(getElementsById);\n const elementsDataById = useSelector((state: RootState) =>\n getElementsEventDataById(state, Number(eventId))\n );\n const event = useSelector(getEventsById)[Number(eventId)];\n const fixturesById = useSelector((state: RootState) =>\n getFixturesForEventById(state, Number(eventId))\n );\n const formation = useSelector((state: RootState) =>\n eventId\n ? getEventDreamTeamFormation(state, Number(eventId))\n : getOverallDreamTeamFormation(state)\n );\n const now = useSelector(getCurrentEvent);\n const teamsById = useSelector(getTeamsById);\n\n const showElementDialog = (elementId: number) =>\n dispatch(showElementSummary(elementId));\n\n const handleShowMenuForElement = (element: number) => {\n setElementForMenu(element);\n };\n\n const handleHideMenuForElement = () => {\n setElementForMenu(0);\n };\n\n useEffect(() => {\n if (event) {\n dispatch(fetchEventDreamTeam(event.id));\n dispatch(fetchEventLive(event.id));\n } else {\n dispatch(fetchOverallDreamTeam());\n }\n }, [dispatch, event]);\n\n if (!now) {\n return ;\n }\n if (!data) {\n return null;\n }\n const picks = dreamTeamAsPickLight(data.team);\n const topPlayer = elementsById[data.top_player.id];\n\n // For the overall team we just show the standard element dialog as there\n // is no explain\n if (elementForMenu && !event) {\n showElementDialog(elementForMenu);\n }\n\n // Create a new function on each render as data could have changed and\n // need to ensure a render of connected subcomponents\n const renderPickValue = event\n ? valueForPlayerElement({\n elementsById,\n elementsDataById,\n fixturesById,\n teamsById,\n })\n : (pick: IPickLight) => {\n const elementData = data.team.filter((e) => e.element === pick.element);\n return elementData.length ? elementData[0].points : null;\n };\n return (\n \n
    \n \n {t(\"dreamTeam.dt\", \"Dream Team\")}\n \n {/* ROUND PAGER */}\n \n {event ? (\n \n {event.name}\n {(event.id > 1 || event.id < now.id) && (\n \n {event.id > 1 && (\n \n \n \n {t(\"dreamTeam.prev\", \"Previous\")}\n \n \n )}\n {event.id < now.id && (\n \n \n {t(\"dreamTeam.next\", \"Next\")}\n \n \n \n )}\n \n )}\n \n ) : (\n \n {t(\"dreamTeam.overall\", \"Overall\")}\n \n )}\n {/* SCOREBOARD */}\n\n \n \n \n \n {t(\"dreamTeam.topPlayer\", \"Top Player\")}\n \n \n showElementDialog(topPlayer.id)}\n >\n {topPlayer.web_name}\n \n \n \n \n \n \n }\n centred={true}\n >\n \n
    {teamsById[topPlayer.team].short_name}
    \n
    \n {data.top_player.points}{\" \"}\n {t(\"dreamTeam.points\", \"Points\")}\n
    \n
    \n \n
    \n
    \n
    \n \n \n {t(\"dreamTeam.totalPoints\", \"Total Points\")}\n \n \n {data.team.reduce((total, e) => total + e.points, 0)}\n \n {event ? (\n \n {t(\"dreamTeam.overall\", \"Overall\")}\n \n ) : (\n \n {t(\"dreamTeam.round\", \"Round\")}\n \n )}\n \n
    \n
    \n
    \n {/* TEAM */}\n \n \n \n \n \n null}\n renderElementMenu={handleShowMenuForElement}\n renderPickValue={renderPickValue}\n />\n \n \n \n \n e.element)}\n renderElementMenu={handleShowMenuForElement}\n dataById={elementsDataById}\n />\n \n \n \n \n \n {event && elementForMenu ? (\n \n ) : null}\n {event && }\n
    \n \n  \n \n
    \n );\n};\n\nexport { DreamTeam as DreamTeamTest };\n\nexport default withTranslation()(DreamTeam);\n","var _g, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgDreamteam(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1185_132416)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.5 16C31.5 24.5604 24.5604 31.5 16 31.5C7.43959 31.5 0.5 24.5604 0.5 16C0.5 7.43959 7.43959 0.5 16 0.5C24.5604 0.5 31.5 7.43959 31.5 16Z\",\n fill: \"white\",\n stroke: \"#0050FF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.13 26L16 21.5L9.75 26L11.88 18.5L6 13.63L13.5 13.38L16 6L18.5 13.5L26 13.75L20 18.5L22.13 26Z\",\n fill: \"#0050FF\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1185_132416\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n fill: \"white\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDreamteam);\nexport default __webpack_public_path__ + \"static/media/dreamteam.93b01913.svg\";\nexport { ForwardRef as ReactComponent };","var _polygon, _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgReload(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Non_mover\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"16px\",\n height: \"16px\",\n viewBox: \"0 0 16 16\",\n enableBackground: \"new 0 0 16 16\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Reload\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"7,16 11,16 16,11 11,6 7,6 12,11 \"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.3,0L16,0v3H6.3C4.5,3,3,4.5,3,6.2s1.5,3.2,3.3,3.2h7.2v3H6.3C2.9,12.4,0,9.6,0,6.2S2.8,0,6.3,0z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgReload);\nexport default __webpack_public_path__ + \"static/media/reload.0ae64c38.svg\";\nexport { ForwardRef as ReactComponent };","import { size } from \"polished\";\nimport styled from \"styled-components/macro\";\nimport { ReactComponent as BaseDreamTeam } from \"../../img/icons/dreamteam.svg\";\n\nconst DreamTeam = styled(BaseDreamTeam)`\n ${size(14)};\n color: white;\n fill: #005baa;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n ${size(16)}\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${size(20)}\n }\n`;\n\nexport default DreamTeam;\n","import styled from \"styled-components/macro\";\n\nconst Bench = styled.div`\n margin-bottom: 3rem;\n background: linear-gradient(#afafaf, #e0e0e0);\n );\n`;\n\nexport default Bench;\n","import * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { ThunkDispatch } from \"../../core/store\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport { actionSubstitution } from \"../../core/store/my-team/thunks\";\nimport TeamPitchElement from \"./TeamPitchElement\";\n\nconst StyledBenchUnit = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n padding-top: ${({ theme }) => theme.space[1]};\n`;\n\nconst BenchUnitHeading = styled.h3`\n order: 2;\n margin: 0.2rem 0;\n color: #61605c;\n font-size: ${({ theme }) => theme.fontSizes[0]};\n text-align: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n font-size: ${({ theme }) => theme.fontSizes[3]};\n }\n`;\n\ninterface IPropsFromDispatch {\n substitute: (elementId: number) => void;\n}\n\ninterface IProps {\n chipName: string | null;\n heading: React.ReactNode;\n pick: IPickLight;\n renderDreamTeam: (pick: IPickLight) => React.ReactNode;\n renderElementMenu: (pick: IPickLight) => void;\n renderPickValue: (element: IPickLight) => React.ReactNode;\n substitute: (elementId: number) => void;\n}\n\ntype Props = IPropsFromDispatch & IProps;\n\nconst BenchUnit: React.FC = ({\n chipName,\n heading,\n pick,\n renderDreamTeam,\n renderElementMenu,\n renderPickValue,\n substitute,\n}) => (\n \n {heading}\n substitute(pick.element)}\n chipName={chipName}\n pick={pick}\n renderDreamTeam={renderDreamTeam}\n renderElementMenu={() => renderElementMenu(pick)}\n renderPickValue={renderPickValue}\n />\n \n);\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n substitute: (elementId) => dispatch(actionSubstitution(elementId)),\n});\n\nexport default connect(null, mapDispatchToProps)(BenchUnit);\n","import * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport { getElementStats } from \"../../core/store/element-stats/reducers\";\nimport { IElementStat } from \"../../core/store/element-stats/types\";\nimport { getElementTypesById } from \"../../core/store/element-types/reducers\";\nimport { IElementTypesById } from \"../../core/store/element-types/types\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport {\n IElement,\n IElementEventStats,\n IElementsById,\n IElementsEventDataById,\n} from \"../../core/store/elements/types\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementInTable from \"../ElementInTable\";\nimport { ElementRow } from \"../ElementTable\";\nimport Table from \"../Table\";\nimport TeamElementIcon from \"./TeamElementIcon\";\n\nconst ScrollTable = styled.div`\n overflow-x: auto;\n width: 100%;\n`;\n\nconst StatsTable = styled(Table)`\n white-space: nowrap;\n`;\n\ninterface IEntryEventRowProps {\n chipName: string | null;\n data: IElementEventStats;\n pick: IPickLight;\n element: IElement;\n elementTypesById: IElementTypesById;\n renderElementMenu: (index: number) => void;\n stats: ReadonlyArray;\n teamsById: ITeamsById;\n}\n\nconst EntryEventRow: React.FC = ({\n chipName,\n data,\n pick,\n element,\n renderElementMenu,\n stats,\n teamsById,\n}) => (\n \n \n \n \n \n \n \n \n renderElementMenu(pick.element)}\n element={element}\n team={teamsById[element.team]}\n />\n \n {data.total_points * Math.max(pick.multiplier, 1)}\n {stats.map((s) => (\n {data[s.name]}\n ))}\n \n);\n\ninterface IOwnProps {\n chipName: string | null;\n dataById: IElementsEventDataById | null;\n picks: IPickLight[];\n renderElementMenu: (index: number) => void;\n title: string;\n}\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n elementTypesById: IElementTypesById;\n stats: ReadonlyArray;\n teamsById: ITeamsById;\n}\n\ntype Props = IOwnProps & IPropsFromState;\n\nconst EntryEventTable: React.FC = ({\n dataById,\n elementsById,\n picks,\n stats,\n title,\n ...rest\n}) => {\n if (!dataById) {\n return null;\n }\n return (\n \n \n \n \n  \n  \n {title}\n TP\n {stats.map((s) => (\n \n \n {s.label\n .split(\" \")\n .map((w) => w[0])\n .join(\"\")\n .toUpperCase()}\n \n \n ))}\n \n \n \n {picks.map((p) => (\n \n ))}\n \n \n \n );\n};\n\nexport { EntryEventTable as EntryEventTableTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => {\n return {\n elementsById: getElementsById(state),\n elementTypesById: getElementTypesById(state),\n stats: getElementStats(state),\n teamsById: getTeamsById(state),\n };\n};\n\nexport default connect(mapStateToProps)(EntryEventTable);\n","import { Link as ReachLink, RouteComponentProps } from \"@reach/router\";\nimport range from \"lodash/range\";\nimport { hideVisually, size } from \"polished\";\nimport * as React from \"react\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport {\n getElementsById,\n getElementsEventDataById,\n} from \"../../core/store/elements/reducers\";\nimport { fetchEventLive } from \"../../core/store/elements/thunks\";\nimport {\n getEntry,\n getEntryEventFormation,\n getEntryEventPicks,\n getEntryEventPoints,\n} from \"../../core/store/entries/reducers\";\nimport {\n fetchEntryEventPicks,\n fetchEntrySummary,\n} from \"../../core/store/entries/thunks\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport {\n getCurrentEvent,\n getEventsById,\n} from \"../../core/store/events/reducers\";\nimport { getFixturesForEventById } from \"../../core/store/fixtures/reducers\";\nimport { fetchFixtures } from \"../../core/store/fixtures/thunks\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { IPlayer } from \"../../core/store/player/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ReactComponent as BaseDreamTeam } from \"../../img/icons/dreamteam.svg\";\nimport { ReactComponent as BaseReload } from \"../../img/icons/reload.svg\";\nimport { ChipName, getChipName } from \"../../utils/chips\";\nimport { isRTL } from \"../../utils/locale\";\nimport ButtonLink from \"../ButtonLink\";\nimport Entry from \"../Entry\";\nimport Fixtures from \"../Fixtures\";\nimport { ArrowHyphen, ControlArrowRight } from \"../icons/Arrows\";\nimport DreamTeam from \"../icons/DreamTeam\";\nimport { Main, Secondary, Wrapper } from \"../Layout\";\nimport Link from \"../Link\";\nimport PageAd from \"../PageAd\";\nimport {\n EventPager,\n PagerButton,\n PagerButtonNext,\n PagerHeading,\n} from \"../Pager\";\nimport Panel from \"../Panel\";\nimport { ElementRow } from \"../Pitch\";\nimport { NotFound } from \"../Routes\";\nimport Table from \"../Table\";\nimport TabPanel from \"../tabs/TabPanel\";\nimport Tabs from \"../tabs/Tabs\";\nimport Title from \"../Title\";\nimport Bench from \"./Bench\";\nimport BenchUnit from \"./BenchUnit\";\nimport ElementExplainDialog from \"./ElementExplainDialog\";\nimport EntryEventTable from \"./EntryEventTable\";\nimport PitchFormation from \"./PitchFormation\";\nimport valueForPlayerElement from \"./valueForPlayedElement\";\n\nconst PointsScoreboardWrap = styled.div`\n border: ${({ theme }) => theme.borders[2]};\n border-radius: ${({ theme }) => theme.radii[2]};\n margin: ${({ theme }) => theme.space[2]} 0;\n padding: ${({ theme }) => theme.space[3]} ${({ theme }) => theme.space[1]} 0;\n`;\n\nconst StyledPitchWrapper = styled(Box)`\n border: 1px solid ${({ theme }) => theme.colors.primary};\n border-radius: ${({ theme }) => theme.radii[2]};\n`;\n\nconst PointsScoreboard = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: stretch;\n padding: ${({ theme }) => theme.space[2]} 0;\n margin: 0 ${({ theme }) => theme.space[2]};\n`;\n\nconst ScoreboardPrimary = styled.div`\n flex: 0 0 38%;\n padding-inline-end: ${({ theme }) => theme.space[2]};\n padding-inline-start: ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n flex: 0 0 34%;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex-basis: calc(22% - ${({ theme }) => theme.space[1]});\n margin-bottom: 0;\n }\n`;\n\ninterface IPrimaryPanelProps {\n chipPlayed?: boolean;\n}\n\nconst PrimaryPanel = styled.div`\n position: relative;\n border-radius: ${({ theme }) => theme.space[3]};\n color: ${({ theme }) => theme.colors.white};\n background-color: ${({ theme }) => theme.colors.blue};\n text-align: center;\n\n ${(props) =>\n props.chipPlayed &&\n css`\n padding-top: 2rem;\n padding-bottom: 1.8rem;\n `}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding-top: 1rem;\n padding-bottom: 1rem;\n margin-bottom: 0;\n }\n`;\n\nconst PrimaryHeading = styled.h4`\n margin: 0;\n padding: 1.5rem;\n font-size: ${({ theme }) => theme.fontSizes[1]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding-top: 0.8rem;\n padding-bottom: 0.7rem;\n }\n`;\n\nconst PrimaryValue = styled.div`\n padding-top: ${({ theme }) => theme.space[3]};\n color: ${({ theme }) => theme.colors.white};\n font-size: 3rem;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n font-size: 4rem;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding-bottom: 0.3rem;\n }\n`;\n\nconst ReloadButton = styled.button`\n position: absolute;\n top: 40%;\n right: ${isRTL() && `0`};\n left: ${!isRTL() && `0`};\n transform: ${isRTL()\n ? `translateY(-50%) scaleX(-1) `\n : `translateY(-50%) scaleX(1) `};\n padding: ${({ theme }) => theme.space[1]};\n border: 0;\n border-radius: ${({ theme }) => theme.radii[0]};\n background-color: ${({ theme }) => theme.colors.primary};\n line-height: 0;\n cursor: pointer;\n`;\n\nconst Reload = styled(BaseReload)`\n fill: white;\n`;\n\nconst ReloadButtonText = styled.span`\n ${hideVisually()}\n`;\n\nconst ScoreboardSecondary = styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n`;\n\nconst SecondaryPanel = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 2rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n }\n`;\n\nconst SecondaryItem = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n overflow: auto;\n border: 3px solid black;\n border-radius: ${({ theme }) => theme.radii[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex-basis: 45%;\n margin: 0;\n }\n`;\n\nconst SecondaryHeading = styled.h4`\n margin-top: 1.7rem;\n margin-bottom: 1.7rem;\n font-family: ${({ theme }) => theme.fonts.base};\n font-size: ${({ theme }) => theme.fontSizes[1]};\n font-weight: normal;\n`;\n\nconst SecondaryValue = styled.div`\n padding-bottom: 0.7rem;\n font-size: ${({ theme }) => theme.fontSizes[5]};\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n font-size: ${({ theme }) => theme.fontSizes[6]};\n }\n color: ${({ theme }) => theme.colors.blue};\n`;\n\nconst DreamTeamWrap = styled.div`\n width: 40%;\n margin: 0 auto ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n width: 25%;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n width: 30%;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 20%;\n }\n`;\n\nconst DreamTeamLinkIcon = styled(BaseDreamTeam)`\n ${size(16)}\n margin-inline-end: ${({ theme }) => theme.space[1]};\n`;\n\nconst DreamTeamLink = styled(ReachLink)`\n display: flex;\n align-items: center;\n justify-content: space-around;\n border-radius: ${({ theme }) => theme.radii[1]};\n padding: 0.6rem;\n background-color: ${({ theme }) => theme.colors.primary};\n color: ${({ theme }) => theme.colors.green};\n text-decoration: none;\n`;\n\nconst ChipStatus = styled.div`\n padding: ${({ theme }) => theme.space[2]};\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${({ theme }) => theme.space[1]};\n }\n border-radius: 5px;\n background-color: ${({ theme }) => theme.colors.primary};\n color: ${({ theme }) => theme.colors.white};\n font-size: 1.1rem;\n font-weight: bold;\n text-align: center;\n`;\n\ntype OwnProps = RouteComponentProps<{ entryId: string; eventId: string }>;\n\ntype Props = OwnProps & WithTranslation;\n\nconst EntryEvent: React.FC = ({\n entryId: initialEntryId,\n eventId: initialEventId,\n t,\n}) => {\n const dispatch = useDispatch();\n const [pickForMenu, setPickForMenu] = useState(null);\n\n const entryId = Number(initialEntryId);\n const eventId = Number(initialEventId);\n const player = useSelector(getPlayerData) as IPlayer;\n const elementsById = useSelector(getElementsById);\n const elementsDataById = useSelector((state: RootState) =>\n getElementsEventDataById(state, eventId)\n );\n const entry = useSelector((state: RootState) => getEntry(state, entryId));\n const entryData = useSelector((state: RootState) =>\n getEntryEventPicks(state, entryId, eventId)\n );\n const event = useSelector(\n (state: RootState) => getEventsById(state)[eventId]\n );\n const fixturesById = useSelector((state: RootState) =>\n getFixturesForEventById(state, eventId)\n );\n const formation = useSelector((state: RootState) =>\n getEntryEventFormation(state, entryId, eventId)\n );\n const mine = Boolean(player && player.entry && player.entry === entryId);\n const now = useSelector((state: RootState) => getCurrentEvent(state));\n const points = useSelector((state: RootState) =>\n getEntryEventPoints(state, entryId, eventId)\n );\n const settings = useSelector(getSettings) as ISettings;\n const teamsById = useSelector(getTeamsById);\n\n const handleShowMenuForPickElement = (element: number) => {\n const matches = entryData!.picks.filter((p) => p.element === element);\n if (matches.length) {\n setPickForMenu(matches[0]);\n }\n };\n\n const handleHideMenuForPick = () => {\n setPickForMenu(null);\n };\n\n const renderDreamTeam = (pick: IPickLight) =>\n elementsDataById &&\n elementsDataById[pick.element] &&\n elementsDataById[pick.element].stats.in_dreamteam ? (\n \n \n \n ) : null;\n\n const fetchDataAndFixtures = () => {\n fetchData();\n dispatch(fetchFixtures(eventId));\n };\n\n const fetchData = useCallback(() => {\n dispatch(fetchEntrySummary(entryId));\n dispatch(fetchEntryEventPicks(entryId, eventId));\n dispatch(fetchEventLive(eventId));\n }, [dispatch, entryId, eventId]);\n\n useEffect(() => {\n fetchData();\n }, [entryId, eventId, fetchData]);\n\n // Handle unknown and unstarted events\n if (!now || !event || event.id > now.id) {\n return ;\n }\n if (!entry || !entryData) {\n return null;\n }\n\n const chipName = entryData.active_chip\n ? getChipName(entryData.active_chip as ChipName, t)\n : \"\";\n\n // Create a new function on each render as data could have changed and\n // need to ensure a render of connected subcomponents\n const renderPickValue = valueForPlayerElement({\n elementsById,\n elementsDataById,\n fixturesById,\n teamsById,\n });\n const benchHeading: Record = {\n 11: (\n \n {t(\"entryEvent.goalkeeper.abbr\", \"GK\")}\n \n ),\n 12: \"1\",\n 13: \"2\",\n 14: \"3\",\n };\n\n // Handle events before the entry started\n return (\n \n
    \n \n \n {t(\"entryEvent.title\", \"Points\")} - {entry.name}\n \n \n\n {/* ROUND PAGER */}\n \n \n {(event.id > entry.started_event || event.id < now.id) && (\n \n {event.id > entry.started_event && (\n \n \n \n {t(\"entryEvent.prev\", \"Previous\")}\n \n \n )}\n \n {event.name}\n \n {event.id < now.id && (\n \n \n {t(\"entryEvent.next\", \"Next\")}\n \n \n \n )}\n {/* Also need to check isn't last event */}\n {mine && event.id === now.id && (\n \n \n {t(\"entryEvent.next\", \"Next\")}\n \n \n \n )}\n \n )}\n \n\n {/* SCOREBOARD */}\n\n \n \n \n \n \n \n {t(\"entryEvent.average\", \"Average Pts\")}\n \n \n {event.average_entry_score || \"-\"}\n \n \n \n \n {t(\"entryEvent.highest\", \"Highest Pts\")}\n \n \n {event.highest_scoring_entry ? (\n \n {event.highest_score || \"???\"}\n \n ) : (\n \"-\"\n )}\n \n \n \n \n \n \n \n {points}\n {!event.finished && (\n \n \n {t(\"entryEvent.reload\", \"Reload Points\")}\n \n \n \n )}\n \n \n {event.finished\n ? t(\"entryEvent.finalPoints\", \"Final Points\")\n : t(\"entryEvent.latestPoints\", \"Latest Points\")}\n \n {chipName && (\n \n {t(\n \"entryEvent.ChipStatus.played\",\n \"{{ chipName }} played\",\n {\n chipName: chipName,\n }\n )}\n \n )}\n \n \n \n \n \n \n {t(\"entryEvent.rank\", \"RD Rank\")}\n \n \n {entryData.entry_history.rank\n ? entryData.entry_history.rank.toLocaleString()\n : \"-\"}\n \n \n \n \n {t(\"entryEvent.transfers\", \"Transfers\")}\n \n \n \n {entryData.entry_history.event_transfers}\n {\" \"}\n {entryData.entry_history.event_transfers_cost\n ? `(-${entryData.entry_history.event_transfers_cost} pts)`\n : \"\"}\n \n \n \n \n \n \n \n \n {t(\"entryEvent.dreamTeam\", \"Dream Team\")}\n \n \n \n \n \n\n {/* TEAM */}\n \n \n \n \n \n \n \n \n {range(\n settings.squad_squadplay,\n settings.squad_squadsize\n ).map((i) => (\n \n handleShowMenuForPickElement(\n entryData.picks[i].element\n )\n }\n renderPickValue={renderPickValue}\n />\n ))}\n \n \n \n \n \n \n \n \n \n \n \n \n \n {entryData.automatic_subs.length > 0 && (\n \n \n \n\n \n \n \n \n \n \n \n \n {entryData.automatic_subs.map((s) => (\n \n \n \n \n ))}\n \n
    {t(\"entryEvent.autoSubs.playerOut\", \"Player out\")}{t(\"entryEvent.autoSubs.playerIn\", \"Player in\")}
    {elementsById[s.element_out].web_name}{elementsById[s.element_in].web_name}
    \n
    \n
    \n )}\n {pickForMenu && (\n \n )}\n \n \n \n \n
    \n \n \n \n
    \n );\n};\n\nexport { EntryEvent as EntryEventTest };\n\nexport default withTranslation()(EntryEvent);\n","import * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport { getActiveOrProposedTeamChipName } from \"../../core/store/chips/reducers\";\nimport { getElementTypesById } from \"../../core/store/element-types/reducers\";\nimport { IElementTypesById } from \"../../core/store/element-types/types\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { IElement, IElementsById } from \"../../core/store/elements/types\";\nimport { getFixturesForNextEventByTeam } from \"../../core/store/fixtures/reducers\";\nimport { IFixturesForEventByTeam } from \"../../core/store/fixtures/types\";\nimport { IPickProposed } from \"../../core/store/my-team/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementInTable from \"../ElementInTable\";\nimport { ElementCell, ElementRow, ElementTable } from \"../ElementTable\";\nimport { FixturesForElement } from \"../FixtureForElement\";\nimport { ScrollTable } from \"../Table\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\nimport TeamElementIcon from \"./TeamElementIcon\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\n\nconst MyTeamStatus = styled.th`\n width: 6%;\n`;\n\nconst MyTeamCpt = styled.th`\n width: 4%;\n`;\n\nconst MyTeamElement = styled.th`\n width: 32%;\n`;\n\nconst MyTeamPos = styled.th`\n width: 12%;\n`;\n\nconst MyTeamForm = styled.th`\n width: 10%;\n`;\n\nconst MyTeamRD = styled.th`\n width: 10%;\n`;\n\nconst MyTeamPts = styled.th`\n width: 12%;\n`;\n\nconst MyTeamFix = styled.th`\n width: 14%;\n`;\n\ninterface IMyTeamRowProps {\n chipInPlayName: string | null;\n pick: IPickProposed;\n element: IElement;\n elementTypesById: IElementTypesById;\n fixturesForNextEventByTeam: IFixturesForEventByTeam;\n renderElementMenu: (index: number) => void;\n teamsById: ITeamsById;\n}\n\nconst MyTeamRow: React.FC = ({\n chipInPlayName,\n pick,\n element,\n elementTypesById,\n fixturesForNextEventByTeam,\n renderElementMenu,\n teamsById,\n}) => (\n \n \n \n \n \n \n \n \n renderElementMenu(pick.element)}\n element={element}\n team={teamsById[element.team]}\n />\n \n {elementTypesById[element.element_type].singular_name_short}\n {element.form}\n {element.event_points}\n {element.total_points}\n \n }\n fixtures={fixturesForNextEventByTeam[element.team]}\n element={element}\n teamsById={teamsById}\n />\n \n \n);\n\ninterface IOwnProps {\n picks: IPickProposed[];\n renderElementMenu: (index: number) => void;\n title: string;\n}\n\ninterface IPropsFromState {\n chipInPlayName: string | null;\n elementsById: IElementsById;\n elementTypesById: IElementTypesById;\n fixturesForNextEventByTeam: IFixturesForEventByTeam;\n teamsById: ITeamsById;\n}\n\ntype Props = IOwnProps & IPropsFromState & WithTranslation;\n\nconst MyTeamTable: React.FC = ({\n t,\n elementsById,\n picks,\n title,\n ...rest\n}) => {\n return (\n \n \n \n \n  \n  \n {title}\n \n \n \n {t(\"myTeamTable.postitionShort\", \"Pos\")}\n \n \n \n {t(\"myTeamTable.form\", \"Form\")}\n \n \n \n {t(\"myTeamTable.roundPointsShort\", \"RD\")}\n \n \n \n \n \n \n {t(\"myTeamTable.totalPointsShort\", \"TP\")}\n \n \n \n \n \n \n {t(\"myTeamTable.fixtureNextRoundShort\", \"Fix\")}\n \n \n \n \n \n \n {picks.map((p) => (\n \n ))}\n \n \n \n );\n};\n\nexport { MyTeamTable as MyTeamTableTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => {\n return {\n chipInPlayName: getActiveOrProposedTeamChipName(state),\n elementsById: getElementsById(state),\n elementTypesById: getElementTypesById(state),\n fixturesForNextEventByTeam: getFixturesForNextEventByTeam(state),\n teamsById: getTeamsById(state),\n };\n};\n\nexport default withTranslation()(connect(mapStateToProps)(MyTeamTable));\n","import { range } from \"lodash\";\nimport { size } from \"polished\";\nimport { Trans, WithTranslation, withTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport {\n cancelActiveChip,\n cancelProposedChip,\n proposeAvailableChip,\n restoreCancelledChip,\n} from \"../../core/store/chips/actions\";\nimport {\n getActiveChip,\n getActiveOrProposedAllChipName,\n getActiveOrProposedTeamChipName,\n getPotentialChips,\n teamChipsHaveChanged,\n} from \"../../core/store/chips/reducers\";\nimport { IPotentialChip } from \"../../core/store/chips/types\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { showElementSummary } from \"../../core/store/elements/thunks\";\nimport { IElement, IElementsById } from \"../../core/store/elements/types\";\nimport { getEntry } from \"../../core/store/entries/reducers\";\nimport { fetchEntrySummary } from \"../../core/store/entries/thunks\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport { getNextEvent } from \"../../core/store/events/reducers\";\nimport { getFixturesForNextEventByTeam } from \"../../core/store/fixtures/reducers\";\nimport { IFixturesForEventByTeam } from \"../../core/store/fixtures/types\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport {\n changeCaptain,\n changeViceCaptain,\n} from \"../../core/store/my-team/actions\";\nimport {\n getMyFormation,\n getMyPicksProposed,\n getMyTeamSavingState,\n hasMyTeamChanged,\n isMyTeamValid,\n} from \"../../core/store/my-team/reducers\";\nimport {\n actionSubstitution,\n fetchMyTeam,\n saveMyTeam,\n} from \"../../core/store/my-team/thunks\";\nimport { IPickProposed } from \"../../core/store/my-team/types\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { ILoggedInPlayer } from \"../../core/store/player/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport {\n formatRawAsISO,\n formatRawAsLocalI18n,\n} from \"../../core/utils/datetime\";\nimport { ReactComponent as ArrowRight } from \"../../img/icons/arrow-right.svg\";\nimport { ChipName, getAllChipDetails } from \"../../utils/chips\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport DeadlineBar from \"../DeadlineBar\";\nimport Dialog, { DialogButtonItem } from \"../Dialog\";\nimport DialogHeading from \"../DialogHeading\";\nimport DialogManager from \"../DialogManager\";\nimport Entry from \"../Entry\";\nimport { FixturesForElement } from \"../FixtureForElement\";\nimport Fixtures from \"../Fixtures\";\nimport { Main, Secondary, Wrapper } from \"../Layout\";\nimport Link from \"../Link\";\nimport { ElementRow } from \"../Pitch\";\nimport DreamTeam from \"../icons/DreamTeam\";\n// import ShirtSoonAlert from \"../ShirtSoonAlert\";\nimport { useEffect, useState } from \"react\";\nimport { dateLocales } from \"../../i18n\";\nimport { isRTL } from \"../../utils/locale\";\nimport PageAd from \"../PageAd\";\nimport Title from \"../Title\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\nimport SaveBar from \"../squad/SaveBar\";\nimport TabPanel from \"../tabs/TabPanel\";\nimport Tabs from \"../tabs/Tabs\";\nimport Bench from \"./Bench\";\nimport BenchUnit from \"./BenchUnit\";\nimport MyTeamTable from \"./MyTeamTable\";\nimport PitchFormation from \"./PitchFormation\";\n\nconst StyledPitchWrapper = styled(Box)`\n border: 1px solid ${({ theme }) => theme.colors.primary};\n border-radius: ${({ theme }) => theme.radii[2]};\n`;\n\nconst ChipList = styled.ul`\n display: flex;\n flex-direction: column;\n align-items: baseline;\n margin: ${({ theme }) => theme.space[4]} 0 3.5rem;\n padding: 10px 10px 20px;\n list-style-type: none;\n border-top: 1px solid ${({ theme }) => theme.colors.primary};\n border-bottom: 1px solid ${({ theme }) => theme.colors.primary};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n flex-direction: row;\n border: 1px solid ${({ theme }) => theme.colors.primary};\n border-radius: ${({ theme }) => theme.radii[1]};\n }\n`;\n\nconst ChipItem = styled.li`\n flex: 1;\n width: 100%;\n padding-inline-end: ${({ theme }) => theme.space[1]};\n padding-inline-start: ${({ theme }) => theme.space[1]};\n`;\n\nconst Chip = styled.div`\n text-align: center;\n`;\n\nconst ChipHeading = styled.h3`\n display: inline-block;\n margin-bottom: 1.5rem;\n color: ${({ theme }) => theme.colors.primary};\n font-family: ${({ theme }) => theme.fonts.impact};\n font-size: 1.8rem;\n font-weight: 600;\n text-align: center;\n`;\n\nconst ChipLink = styled(Link)`\n position: relative;\n display: block;\n width: 100%;\n padding: 0.6rem 2.7rem 0.5rem;\n border-radius: 4px;\n background-color: ${({ theme }) => theme.colors.grey};\n color: #333;\n\n :hover {\n text-decoration: none;\n }\n`;\n\nconst ChipLinkArrow = styled(ArrowRight)`\n ${size(10)};\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n fill: currentColor;\n cursor: pointer;\n ${isRTL()\n ? css`\n left: ${({ theme }) => theme.space[2]};\n transform: translateY(-50%) scaleX(-1);\n `\n : css`\n right: ${({ theme }) => theme.space[2]};\n `}\n`;\n\nconst renderPickValue =\n (initProps: {\n elementsById: IElementsById;\n fixturesForNextEventByTeam: IFixturesForEventByTeam;\n teamsById: ITeamsById;\n }) =>\n (pick: IPickLight) => {\n const element = initProps.elementsById[pick.element];\n return (\n \n );\n };\n\nconst PlayerActions = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n margin: 0 auto;\n }\n`;\n\ntype Props = WithTranslation;\n\nconst MyTeam: React.FC = ({ i18n, t }) => {\n const dispatch = useDispatch();\n const [pickForMenu, setPickForMenu] = useState(null);\n\n const player = useSelector(getPlayerData) as ILoggedInPlayer;\n\n const activeChip = useSelector(getActiveChip);\n const chipInPlayName = useSelector(getActiveOrProposedTeamChipName);\n const chipAllPlayName = useSelector(getActiveOrProposedAllChipName);\n const changed = useSelector(hasMyTeamChanged);\n const chips = useSelector(getPotentialChips);\n const chipsChanged = useSelector(teamChipsHaveChanged);\n const elementsById = useSelector(getElementsById);\n const entry = useSelector((state: RootState) =>\n getEntry(state, player.entry)\n );\n const fixturesForNextEventByTeam = useSelector(getFixturesForNextEventByTeam);\n const formation = useSelector(getMyFormation);\n const nextEvent = useSelector(getNextEvent);\n const picks = useSelector(getMyPicksProposed);\n const savingState = useSelector(getMyTeamSavingState);\n const settings = useSelector(getSettings) as ISettings;\n const teamsById = useSelector(getTeamsById);\n const valid = useSelector(isMyTeamValid);\n\n const handleShowMenuForPickElement = (element: number) => {\n const matches = picks.filter((p) => p.element === element);\n if (matches.length) {\n setPickForMenu(matches[0]);\n }\n };\n\n const handleHideMenuForPick = () => {\n setPickForMenu(null);\n };\n\n const renderDreamTeam = (pick: IPickLight) =>\n elementsById[pick.element].in_dreamteam ? (\n \n \n \n ) : null;\n\n const action = (\n type: \"substitute\" | \"makeCaptain\" | \"makeViceCaptain\",\n element: number\n ) => {\n handleHideMenuForPick();\n switch (type) {\n case \"substitute\":\n dispatch(actionSubstitution(element));\n break;\n case \"makeCaptain\":\n dispatch(changeCaptain(element));\n break;\n case \"makeViceCaptain\":\n dispatch(changeViceCaptain(element));\n break;\n }\n };\n\n const showDialog = (element: IElement) => {\n dispatch(showElementSummary(element.id));\n handleHideMenuForPick();\n };\n\n const renderMenu = () => {\n const pick = pickForMenu;\n if (!pick) {\n return null;\n }\n const element = elementsById[pick.element];\n const status = pick.subStatus;\n const startMax = settings.squad_squadplay;\n return (\n \n \n \n {`${element.first_name} ${element.second_name}`}\n \n \n \n \n {status.match(/^(target|)$/) && (\n \n action(\"substitute\", pick.element)}\n width={1}\n variant=\"primary\"\n >\n {t(\"myTeam.menuDialog.switch\", \"Switch\")}\n \n \n )}\n {status === \"instigator\" && (\n \n action(\"substitute\", pick.element)}\n width={1}\n variant=\"primary\"\n >\n {t(\"myTeam.menuDialog.cancel\", \"Cancel\")}\n \n \n )}\n {!status && pick.position <= startMax && !pick.is_captain && (\n \n action(\"makeCaptain\", pick.element)}\n width={1}\n variant=\"primary\"\n >\n {t(\"myTeam.menuDialog.makeCaptain\", \"Make Captain\")}\n \n \n )}\n {!status && pick.position <= startMax && !pick.is_vice_captain && (\n \n action(\"makeViceCaptain\", pick.element)}\n width={1}\n variant=\"primary\"\n >\n {t(\"myTeam.menuDialog.makeViceCaptain\", \"Make Vice Captain\")}\n \n \n )}\n \n showDialog(element)}\n width={1}\n variant=\"primary\"\n >\n {t(\"myTeam.menuDialog.viewInfo\", \"View Information\")}\n \n \n \n \n \n );\n };\n\n useEffect(() => {\n dispatch(fetchMyTeam());\n dispatch(fetchEntrySummary(player.entry));\n }, [dispatch, player.entry]);\n\n const renderChipAction = (c: IPotentialChip) => {\n switch (c.status_for_entry) {\n case \"available\":\n case \"unavailable\":\n return (\n dispatch(proposeAvailableChip(c.name))}\n disabled={Boolean(chipInPlayName)}\n width={1}\n variant=\"secondary\"\n >\n {t(\"myTeam.play\", \"Play\")}\n \n );\n case \"proposed\":\n return (\n dispatch(cancelProposedChip(c.name))}\n width={1}\n >\n {t(\"myTeam.cancel\", \"Cancel\")}\n \n );\n case \"active\":\n return (\n dispatch(cancelActiveChip(c.name))}\n width={1}\n >\n {t(\"myTeam.cancel\", \"Cancel\")}\n \n );\n case \"cancelled\":\n return (\n dispatch(restoreCancelledChip(c.name))}\n disabled={Boolean(chipInPlayName)}\n width={1}\n >\n {t(\"myTeam.restore\", \"Restore\")}\n \n );\n case \"played\":\n if (!entry) {\n return (\n <>\n
    {t(\"myTeam.played\", \"Played\")}
    \n
    {`${t(\"myTeam.round\", \"Round\")} ${\n c.played_by_entry[0]\n }`}
    \n \n );\n }\n return (\n \n
    \n
    {t(\"myTeam.played\", \"Played\")}
    \n
    {`${t(\"myTeam.round\", \"Round\")} ${\n c.played_by_entry[0]\n }`}
    \n \n
    \n
    \n );\n default:\n return \"\";\n }\n };\n\n const renderUnlimitChipAction = (c: IPotentialChip) => {\n switch (c.status_for_entry) {\n case \"available\":\n case \"unavailable\":\n return (\n (\n <>\n \n {t(\"myTeam.play\", \"Play\")}\n \n {showDialog && (\n \n \n \n {t(\"myTeam.chips.unlimit.name\", \"Loan Rangers\")}\n \n \n \n \n

    \n {t(\n \"myTeam.chips.unlimit.dialog.p1\",\n \"The Loan Rangers chip is played when confirming your transfers and can be used once a season.\"\n )}\n

    \n

    \n {t(\n \"myTeam.chips.unlimit.dialog.p2\",\n \"It allows you to make unlimited free transfers and choose how many players you want from a specific team for a single round. At the next deadline, your squad is returned to how it was at the start of the round.\"\n )}\n

    \n

    \n \n Please note: Loan Rangers{\" \"}\n cannot be cancelled once\n confirmed.\n \n

    \n
    \n
    \n
    \n )}\n \n )}\n />\n );\n case \"active\":\n return ;\n case \"played\":\n if (!entry) {\n return (\n <>\n
    {t(\"myTeam.active\", \"Active\")}
    \n
    {`${t(\"myTeam.round\", \"Round\")} ${\n c.played_by_entry[0]\n }`}
    \n \n );\n }\n return (\n \n
    \n
    {t(\"myTeam.played\", \"Played\")}
    \n
    {`${t(\"myTeam.round\", \"Round\")} ${\n c.played_by_entry[0]\n }`}
    \n \n
    \n
    \n );\n default:\n return \"\";\n }\n };\n\n if (!entry || !picks.length) {\n return null;\n }\n // Create a new function on each render as fixtures could have changed and\n // need to ensure a render of connected subcomponents\n const _renderPickValue = renderPickValue({\n elementsById,\n teamsById,\n fixturesForNextEventByTeam,\n });\n const benchHeading: Record = {\n 11: (\n \n GK\n \n ),\n 12: \"1\",\n 13: \"2\",\n 14: \"3\",\n };\n\n const unlimitChip = chips.filter((c) => c.name === \"uteam\")[0];\n const chipDetails = getAllChipDetails(t);\n return (\n <>\n \n
    \n \n {t(\"myTeam.title\", \"My Team\")}\n \n {nextEvent && (\n \n )}\n \n \n {t(\n \"myTeam.alerts.captain\",\n \"To change your captain use the menu which appears when clicking on a player's shirt.\"\n )}\n \n \n \n \n \n \n \n \n \n \n {range(\n settings.squad_squadplay,\n settings.squad_squadsize\n ).map((i) => (\n \n handleShowMenuForPickElement(picks[i].element)\n }\n renderDreamTeam={renderDreamTeam}\n renderPickValue={_renderPickValue}\n />\n ))}\n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* */}\n {activeChip && activeChip.chip_type === \"transfer\" ? (\n \n \n

    \n {t(\"myTeam.alerts.transferChip\", \"{{ chipName }} Active\", {\n chipName: chipDetails[activeChip.name as ChipName].name,\n })}\n

    \n
    \n
    \n ) : (\n \n {chips\n .filter((c) => [\"2capt\", \"pdbus\"].indexOf(c.name) > -1)\n .map((c) => (\n \n \n \n \n {chipDetails[c.name as ChipName].name}\n \n \n {renderChipAction(c)}\n \n \n ))}\n {unlimitChip && (\n \n \n \n \n {chipDetails[unlimitChip.name as ChipName].name}\n \n \n {renderUnlimitChipAction(unlimitChip)}\n \n \n )}\n \n )}\n {savingState === \"saved\" ? (\n \n \n {t(\"myTeam.alerts.teamSaved\", \"Your team has been saved.\")}\n \n \n ) : (\n \n dispatch(saveMyTeam())}\n disabled={\n (!changed && !chipsChanged) ||\n !valid ||\n savingState === \"saving\"\n }\n width={1}\n >\n {t(\"myTeam.saveTeam\", \"Save Your Team\")}\n \n \n )}\n {renderMenu()}\n \n \n \n \n
    \n \n \n \n
    \n \n );\n};\n\nexport { MyTeam as MyTeamTest };\n\nexport default withTranslation()(MyTeam);\n","import {\n Location,\n Redirect,\n RouteComponentProps,\n Router,\n WindowLocation,\n} from \"@reach/router\";\nimport React, { Suspense, lazy } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { ConnectedComponent, connect } from \"react-redux\";\nimport { RootState } from \"../core/store\";\nimport { getPlayerData } from \"../core/store/player/reducers\";\nimport { IPlayer } from \"../core/store/player/types\";\nimport { Loading } from \"./App\";\nimport Copy from \"./Copy\";\nimport EntryHistory from \"./EntryHistory\";\nimport EntryUnsubscribe from \"./EntryUnsubscribe\";\nimport EntryUpdate from \"./EntryUpdate\";\nimport FixturesWrapper from \"./FixturesWrapper\";\nimport Home from \"./Home\";\nimport { Main, Wrapper } from \"./Layout\";\nimport Login from \"./Login\";\n\nimport TransfersHistory from \"./TransfersHistory\";\nimport PlayerList from \"./help/PlayerList\";\nimport AdminClassic from \"./leagues/AdminClassic\";\nimport AdminH2H from \"./leagues/AdminH2H\";\nimport AutoJoin from \"./leagues/AutoJoin\";\nimport Create from \"./leagues/Create\";\nimport CreateClassic from \"./leagues/CreateClassic\";\nimport CreateH2H from \"./leagues/CreateH2H\";\nimport CreateJoin from \"./leagues/CreateJoin\";\nimport CupNotStarted from \"./leagues/CupNotStarted\";\nimport Invite from \"./leagues/Invite\";\nimport Join from \"./leagues/Join\";\nimport JoinPrivate from \"./leagues/JoinPrivate\";\nimport JoinPublic from \"./leagues/JoinPublic\";\nimport MatchesCup from \"./leagues/MatchesCup\";\nimport MatchesH2H from \"./leagues/MatchesH2H\";\nimport MyCups from \"./leagues/MyCups\";\nimport MyLeagues from \"./leagues/MyLeagues\";\nimport Renew from \"./leagues/Renew\";\nimport StandingsClassic from \"./leagues/StandingsClassic\";\nimport StandingsH2H from \"./leagues/StandingsH2H\";\nimport LoggedIn from \"./player/LoggedIn\";\nimport Logout from \"./player/Logout\";\nimport PasswordReset from \"./player/PasswordReset\";\nimport PasswordSet from \"./player/PasswordSet\";\nimport Register from \"./player/Register\";\nimport VerifyDeleteOtp from \"./player/VerifyDeleteOtp\";\nimport SquadSelection from \"./squad/SquadSelection\";\nimport Transfers from \"./squad/Transfers\";\nimport News from \"./stats/News\";\nimport Statistics from \"./stats/Statistics\";\nimport DreamTeam from \"./team/DreamTeam\";\nimport EntryEvent from \"./team/EntryEvent\";\nimport MyTeam from \"./team/MyTeam\";\nconst AccountRecovery = lazy(() => import(\"./AccountRecovery\"));\nconst Help = lazy(() => import(\"./help/Help\"));\nconst Rules = lazy(() => import(\"./help/Rules\"));\nconst Terms = lazy(() => import(\"./help/Terms\"));\nconst Prizes = lazy(() => import(\"./Prizes\"));\n\ninterface IRouteChangeProps {\n action: () => void;\n}\n\ninterface IRouteChangeWorkerProps {\n location: WindowLocation;\n}\n\ntype RouteChangeProps = IRouteChangeProps & IRouteChangeWorkerProps;\n\nclass OnRouteChangeWorker extends React.Component {\n componentDidUpdate(prevProps: RouteChangeProps) {\n if (this.props.location.pathname !== prevProps.location.pathname) {\n this.props.action();\n }\n }\n\n render() {\n return null;\n }\n}\n\nconst OnRouteChange: React.FC = ({ action }) => (\n \n {({ location }) => (\n \n )}\n \n);\n\ninterface IProtectedRouteProps extends RouteComponentProps {\n as: React.ComponentType | ConnectedComponent;\n player: IPlayer | null;\n}\n\ninterface IPropsFromState {\n player: IPlayer | null;\n}\n\nconst PlayerRoute: React.FC = ({\n as: Component,\n player,\n ...rest\n}) => {\n if (player && !player.entry) {\n return ;\n } else if (player && player.dirty) {\n return ;\n } else {\n return (\n \n
    \n \n
    \n
    \n );\n }\n};\n\nconst RecoveryRoute: React.FC = ({\n as: Component,\n player,\n ...rest\n}) => {\n if (!player) {\n return (\n \n
    \n \n
    \n
    \n );\n } else {\n return ;\n }\n};\n\nconst EntryRoute: React.FC = ({\n as: Component,\n player,\n ...rest\n}) => {\n if (player && player.entry && !player.dirty) {\n return ;\n } else if (player && player.dirty) {\n return ;\n } else {\n return (\n \n
    \n \n
    \n
    \n );\n }\n};\n\nexport const NotFound: React.FC = () => {\n const { t } = useTranslation();\n return (\n \n
    \n \n

    {t(\"routes.notFound.title\", \"Page not found\")}

    \n

    \n {t(\n \"routes.notFound.text\",\n \"Sorry, but the page you were looking for can't be found.\"\n )}\n

    \n
    \n
    \n
    \n );\n};\n\nconst Routes: React.FC = ({ player }) => {\n return (\n }>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n window.scrollTo(0, 0)} />\n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n player: getPlayerData(state),\n});\n\nexport default connect(mapStateToProps)(Routes);\n","import { TFunction } from \"i18next\";\nimport * as React from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { IServerError } from \"../core/store/global/types\";\nimport Copy from \"./Copy\";\nimport { Main, Wrapper } from \"./Layout\";\n\ninterface IProps {\n error: IServerError;\n}\n\nconst HomeOrHelp = () => (\n

    \n \n You can return to the home page and try again or{\" \"}\n contact us for further help.\n \n

    \n);\n\nconst renderError = (e: IServerError, t: TFunction) => {\n switch (e.code) {\n case 401:\n case 403:\n return (\n \n

    \n {t(\"serverError.permissionDenied.title\", \"Permission denied\")}\n

    \n

    \n {t(\n \"serverError.permissionDenied.text\",\n \"Sorry, but you don't have permission to perform the request action.\"\n )}\n

    \n \n
    \n );\n case 404:\n return (\n \n

    {t(\"serverError.notFound.title\", \"Page not found\")}

    \n

    \n {t(\n \"serverError.notFound.text\",\n \"Sorry, but the page you were looking for can't be found.\"\n )}\n

    \n \n
    \n );\n case 502:\n case 503:\n case 504:\n return e.details.match(/being updated/) ? (\n \n

    \n {t(\"serverError.updating.title\", \"The game is being updated.\")}\n

    \n

    \n {t(\n \"serverError.updating.text\",\n \"Please try again later when the updated scores / teams will be available.\"\n )}\n

    \n
    \n ) : (\n \n

    {t(\"serverError.unavailable.title\", \"Unavailable\")}

    \n

    \n {t(\n \"serverError.unavailable.text1\",\n \"Sorry, but we are unable to load the requested page at this time.\"\n )}\n

    \n

    \n {t(\n \"serverError.unavailable.text2\",\n \"Please try again in a few minutes.\"\n )}\n

    \n
    \n );\n default:\n return (\n \n

    {t(\"serverError.default.title\", \"Error\")}

    \n

    \n {t(\n \"serverError.default.text\",\n \"Sorry, but there has been an unexpected error processing your request.\"\n )}\n

    \n \n
    \n );\n }\n};\n\nconst ServerError: React.FC = ({ error }) => {\n const { t } = useTranslation();\n return (\n \n
    {renderError(error, t)}
    \n
    \n );\n};\n\nexport default ServerError;\n","import { navigate } from \"@reach/router\";\nimport React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box, Flex } from \"rebass\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport {\n getActiveEntryInLeague,\n getAutoJoinCode,\n getJoinPrivateLeagueError,\n getJoinPrivateLeagueSuccess,\n getLeagueFromCode,\n} from \"../../core/store/leagues/reducers\";\nimport {\n checkLeagueCode,\n clearCode,\n joinPrivateLeague,\n} from \"../../core/store/leagues/thunks\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Dialog from \"../Dialog\";\nimport { getErrorType } from \"./errors\";\nimport JoinLeagueError from \"./JoinLeagueError\";\n\nconst ConfirmBtnWrapper = styled.div`\n display: inline-block;\n margin-inline-end: ${({ theme }) => theme.space[3]};\n`;\n\nconst LeagueName = styled.div`\n padding: ${({ theme }) => theme.space[2]};\n background-color: ${({ theme }) => theme.colors.blueDarker2};\n color: ${({ theme }) => theme.colors.white};\n font-family: ${({ theme }) => theme.fonts.impact};\n text-transform: uppercase;\n font-size: 24px;\n font-weight: 600;\n line-height: 1;\n`;\n\nconst AutoJoinDialog: React.FC = () => {\n const { t } = useTranslation();\n const reduxDispatch = useDispatch();\n const code = useSelector((state: RootState) => getAutoJoinCode(state));\n const player = useSelector(getPlayerData);\n const error = useSelector((state: RootState) =>\n getErrorType(getJoinPrivateLeagueError(state))\n );\n const settings = useSelector((state: RootState) => getSettings(state));\n const joinedPrivateLeagueSuccess = useSelector((state: RootState) =>\n getJoinPrivateLeagueSuccess(state)\n );\n\n // Most important part, if it returns null, nothing renders\n const league = useSelector((state: RootState) =>\n code ? getLeagueFromCode(state, code) : null\n );\n\n // Check if entry is already apart of the league\n const isPlayerInLeague = useSelector((state: RootState) =>\n league\n ? getActiveEntryInLeague(\n state,\n league.id,\n league.scoring === \"c\" ? \"classic\" : \"h2h\"\n )\n : null\n );\n\n // If we have a code, try and fetch the associated league. If there is an\n // issue fetching the league clear the code from local storage so we don't\n // try again\n useEffect(() => {\n // If you're logged in check the code\n // You might be logged out and we don't want a 403 forbidden\n if (player && player.entry && code) {\n reduxDispatch(checkLeagueCode(code));\n }\n }, [player, code, reduxDispatch]);\n\n const handleHide = () => {\n reduxDispatch(clearCode());\n };\n\n const confirmJoinLeague = (code: string) => {\n reduxDispatch(joinPrivateLeague({ code }));\n };\n\n if (joinedPrivateLeagueSuccess && code && league) {\n handleHide();\n navigate(`/leagues/${league.id}/standings/${league.scoring}`);\n return null;\n }\n\n return league ? (\n \n \n \n {t(\"AutoJoinDialog.title\", \"Join League\")}\n {league && `: ${league.name}`}\n \n \n \n {isPlayerInLeague && (\n <>\n \n \n {t(\n \"AutoJoinDialog.errors.alreadyJoined\",\n \"You are already in this league\"\n )}\n \n \n \n )}\n {!isPlayerInLeague && (\n <>\n {error ? (\n <>\n \n \n {settings && (\n \n )}\n \n \n \n ) : (\n <>\n \n

    \n {t(\n \"AutoJoinDialog.confirmText\",\n \"Please press confirm to join league: {{leagueName}}\",\n { leagueName: league.name }\n )}\n

    \n
    \n \n {code && (\n \n \n \n )}\n \n \n \n )}\n \n )}\n
    \n
    \n ) : null;\n};\n\nexport default AutoJoinDialog;\n","import * as Sentry from \"@sentry/browser\";\nimport TagManager from \"@sooro-io/react-gtm-module\";\nimport * as React from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { ThemeProvider } from \"styled-components/macro\";\nimport GlobalStyle from \"../GlobalStyle\";\nimport { RootState, ThunkDispatch } from \"../core/store\";\nimport { getBootstrapped } from \"../core/store/bootstrap/reducers\";\nimport { bootstrap } from \"../core/store/bootstrap/thunks\";\nimport { getServerError } from \"../core/store/global/reducers\";\nimport { IServerError } from \"../core/store/global/types\";\nimport \"../fonts.css\";\nimport i18n from \"../i18n\";\nimport theme from \"../theme\";\nimport {\n KeycloakProfile,\n KeycloakUrls,\n useKeycloak,\n} from \"../utils/keycloakPulse\";\nimport { isRTL } from \"../utils/locale\";\nimport { getIsWebView } from \"../utils/webView\";\nimport ElementDialog from \"./ElementDialog\";\nimport Footer from \"./Footer\";\nimport GameHeader from \"./GameHeader\";\nimport { Main, Wrapper } from \"./Layout\";\nimport PageAd from \"./PageAd\";\nimport Routes from \"./Routes\";\nimport ServerError from \"./ServerError\";\nimport AutoJoinDialog from \"./leagues/AutoJoinDialog\";\n\ninterface IProps {\n bootstrapped: boolean;\n serverError: IServerError | null;\n}\n\nexport const Loading: React.FC = () => {\n const { t } = useTranslation();\n return (\n \n
    \n {t(\"loading\", \"Loading\")} ...\n
    \n
    \n );\n};\nexport const KeyCloakContext = React.createContext<{\n profile: KeycloakProfile;\n urls: KeycloakUrls;\n}>({\n profile: {},\n urls: {},\n});\n\nconst App: React.FC = ({ bootstrapped, serverError }) => {\n const { profile, urls } = useKeycloak();\n\n React.useEffect(() => {\n const userId = profile?.id;\n const tagManagerArgs = {\n gtmId: process.env.REACT_APP_GTM_ENV_ID!,\n dataLayer: {\n userId: userId || \"\",\n loggedIn: userId ? true : false,\n },\n };\n TagManager.initialize(tagManagerArgs);\n }, [profile]);\n\n return (\n \n \n \n }>\n \n \n {i18n.t(\"app.gameName\", \"RSL Fantasy\")}\n \n \n \n
    \n \n\n \n {serverError ? (\n \n ) : bootstrapped ? (\n \n ) : (\n \n )}\n {!getIsWebView() &&
    }\n \n \n
    \n
    \n
    \n
    \n
    \n );\n};\n\ninterface IContainerPropsFromState {\n bootstrapped: boolean;\n serverError: IServerError | null;\n}\n\ninterface IState {\n eventId: string | null;\n error: Error | null;\n}\n\ninterface IContainerPropsFromDispatch {\n bootstrapApp: () => Promise;\n}\ntype ContainerProps = IContainerPropsFromState & IContainerPropsFromDispatch;\nclass AppContainer extends React.Component {\n public state: IState = { error: null, eventId: null };\n\n public componentDidMount() {\n this.props.bootstrapApp();\n }\n\n public componentDidCatch(error: Error | null, errorInfo: {}) {\n this.setState({ error });\n if (process.env.REACT_APP_SENTRY_ENVIRONMENT) {\n Sentry.withScope((scope) => {\n scope.setExtras(errorInfo);\n const eventId = Sentry.captureException(error);\n this.setState({ eventId });\n });\n }\n }\n\n public render() {\n // JS Error\n if (this.state.error) {\n // Can't reliably use any of our components, eg Button. This should\n //probably be in Norwegian can't use react to do it though ...\n return (\n <>\n

    Error

    \n

    We're sorry - something's gone wrong.

    \n {process.env.REACT_APP_SENTRY_ENVIRONMENT && (\n <>\n

    \n Our team has been notified, but click here to fill out a report.\n

    \n \n Sentry.showReportDialog({\n eventId: this.state.eventId as string,\n })\n }\n >\n Report feedback\n \n \n )}\n \n );\n }\n // All OK - Render App\n return (\n \n );\n }\n}\n\nconst mapStateToProps = (state: RootState): IContainerPropsFromState => ({\n bootstrapped: getBootstrapped(state),\n serverError: getServerError(state),\n});\n\nconst mapDispatchToProps = (\n dispatch: ThunkDispatch\n): IContainerPropsFromDispatch => ({\n bootstrapApp: () => dispatch(bootstrap()),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(AppContainer);\n","import { createAsyncAction } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { ICupDetailData } from \"./types\";\n\nexport const fetchEntryCupDetail = createAsyncAction(\n \"FETCH_ENTRY_CUP_DETAIL_START\",\n \"FETCH_ENTRY_CUP_DETAIL_SUCCESS\",\n \"FETCH_ENTRY_CUP_DETAIL_FAILURE\"\n)();\n","import sortBy from \"lodash/sortBy\";\nimport { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport { fetchEntrySummary } from \"../entries/actions\";\nimport * as actions from \"./actions\";\nimport { IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n byEntryId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(fetchEntrySummary.success): {\n // If we aready have some data, we make sure we keep the matches which\n // aren't in the summary\n const entryId = action.payload.id;\n const cupDetail = action.payload.data.leagues.cup;\n const newState = { ...state };\n newState[entryId] = cupDetail;\n if (!state[entryId]) {\n return newState;\n }\n const idsFromSummary = newState[entryId].matches.map((m) => m.id);\n state[entryId].matches.forEach((m) => {\n if (idsFromSummary.indexOf(m.id) === -1) {\n newState[entryId].matches.push(m);\n }\n });\n return newState;\n }\n\n case getType(actions.fetchEntryCupDetail.success): {\n const newState = { ...state };\n newState[action.payload.id] = {\n matches: action.payload.data.cup_matches,\n status: action.payload.data.cup_status,\n };\n return newState;\n }\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getCupDetailForEntry = (state: RootState, entryId: number) => {\n const detail = state.cup.byEntryId[entryId];\n if (!detail) {\n return null;\n }\n return {\n ...detail,\n matches: sortBy(detail.matches, \"event\"),\n };\n};\n","import { createAsyncAction } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { IBestLeague, IMostValuableTeam } from \"./types\";\n\nexport const fetchBestClassicPrivateLeagues = createAsyncAction(\n \"FETCH_BEST_CLASSIC_PRIVATE_LEAGUES_START\",\n \"FETCH_BEST_CLASSIC_PRIVATE_LEAGUES_SUCCESS\",\n \"FETCH_BEST_CLASSIC_PRIVATE_LEAGUES_FAILURE\"\n)();\n\nexport const fetchMostValuableTeams = createAsyncAction(\n \"FETCH_MOST_VALUABLE_TEAMS_START\",\n \"FETCH_MOST_VALUABLE_TEAMS_SUCCESS\",\n \"FETCH_MOST_VALUABLE_TEAMS_FAILURE\"\n)();\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport * as actions from \"./actions\";\nimport { IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n bestClassicPrivateLeagues: (state = [], action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchBestClassicPrivateLeagues.success):\n return action.payload;\n default:\n return state;\n }\n },\n mostValuableTeams: (state = [], action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchMostValuableTeams.success):\n return action.payload;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getBestClassicPrivateLeagues = (state: RootState) =>\n state.stats.bestClassicPrivateLeagues;\n\nexport const getMostValuableTeams = (state: RootState) =>\n state.stats.mostValuableTeams;\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport * as actions from \"./actions\";\nimport { IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n byURL: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchURL.success):\n return {\n ...state,\n [action.payload.url]: {\n ...action.payload.data,\n last_fetched: Math.round(new Date().getTime() / 1000),\n },\n };\n default:\n return state;\n }\n },\n});\n\n// State Selectors\n\n// We leave it up to the caller to parse the content based on the conent_type.\n// If used by a lot of games we could create helpers\nexport const getURL = (state: RootState, url: string) =>\n state.urls.byURL[url] || null;\n","import { createAsyncAction } from \"typesafe-actions\";\nimport { IWinner } from \"./types\";\nimport { IError } from \"..\";\n\nexport const fetchEventWinners = createAsyncAction(\n \"FETCH_EVENT_WINNERS_START\",\n \"FETCH_EVENT_WINNERS_SUCCESS\",\n \"FETCH_EVENT_WINNERS_FAILURE\"\n)();\n\nexport const fetchPhaseWinners = createAsyncAction(\n \"FETCH_PHASE_WINNERS_START\",\n \"FETCH_PHASE_WINNERS_SUCCESS\",\n \"FETCH_PHASE_WINNERS_FAILURE\"\n)();\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport * as actions from \"./actions\";\nimport { IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n byEvent: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEventWinners.success):\n return {\n ...state,\n [action.payload.event]: action.payload.data,\n };\n default:\n return state;\n }\n },\n byPhase: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchPhaseWinners.success):\n return {\n ...state,\n [action.payload.phase]: action.payload.data,\n };\n\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getWinnersByEvent = (state: RootState) => state.winners.byEvent;\n\nexport const getEventWinners = (state: RootState, eventId: number) =>\n getWinnersByEvent(state)[eventId] || [];\n\nexport const getWinnersByPhase = (state: RootState) => state.winners.byPhase;\n\nexport const getPhaseWinners = (state: RootState, phaseId: number) =>\n getWinnersByPhase(state)[phaseId] || [];\n","import { enableAllPlugins } from \"immer\";\nimport { combineReducers } from \"redux\";\nimport { ThunkAction, ThunkDispatch as BaseThunkDispatch } from \"redux-thunk\";\nimport { ActionType, deprecated, StateType } from \"typesafe-actions\";\nimport * as bootstrapActions from \"./bootstrap/actions\";\nimport bootstrap from \"./bootstrap/reducers\";\nimport * as chipActions from \"./chips/actions\";\nimport chips from \"./chips/reducers\";\nimport * as cupActions from \"./cup/actions\";\nimport cup from \"./cup/reducers\";\nimport * as dreamTeamActions from \"./dream-teams/actions\";\nimport dreamTeams from \"./dream-teams/reducers\";\nimport elementStats from \"./element-stats/reducers\";\nimport elementTypes from \"./element-types/reducers\";\nimport * as elementActions from \"./elements/actions\";\nimport elements from \"./elements/reducers\";\nimport * as entryActions from \"./entries/actions\";\nimport entries from \"./entries/reducers\";\nimport * as eventsActions from \"./events/actions\";\nimport events from \"./events/reducers\";\nimport * as fixtureActions from \"./fixtures/actions\";\nimport fixtures from \"./fixtures/reducers\";\nimport game from \"./game/reducers\";\nimport * as globalActions from \"./global/actions\";\nimport global from \"./global/reducers\";\nimport * as leagueActions from \"./leagues/actions\";\nimport leagues from \"./leagues/reducers\";\nimport * as myTeamActions from \"./my-team/actions\";\nimport myTeam from \"./my-team/reducers\";\nimport phases from \"./phases/reducers\";\nimport * as playerActions from \"./player/actions\";\nimport player from \"./player/reducers\";\nimport * as regionActions from \"./regions/actions\";\nimport regions from \"./regions/reducers\";\nimport * as squadActions from \"./squad/actions\";\nimport squad from \"./squad/reducers\";\nimport * as statsActions from \"./stats/actions\";\nimport stats from \"./stats/reducers\";\nimport teams from \"./teams/reducers\";\nimport * as urlActions from \"./urls/actions\";\nimport urls from \"./urls/reducers\";\nimport * as winnersActions from \"./winners/actions\";\nimport winners from \"./winners/reducers\";\n\nenableAllPlugins();\n\nconst createAction = deprecated.createAction;\n\n// This is an action which does nothing! Useful for setting initial state in\n// tests\nexport const noAction = createAction(\"NoActionRequired\");\n\nconst actions = {\n bootstrapActions,\n chipActions,\n cupActions,\n dreamTeamActions,\n elementActions,\n entryActions,\n eventsActions,\n fixtureActions,\n globalActions,\n leagueActions,\n myTeamActions,\n noAction,\n playerActions,\n regionActions,\n squadActions,\n statsActions,\n urlActions,\n winnersActions,\n};\n\nexport type RootAction = ActionType;\n\nconst rootReducer = combineReducers({\n bootstrap,\n chips,\n cup,\n dreamTeams,\n elementStats,\n elementTypes,\n elements,\n entries,\n events,\n fixtures,\n game,\n global,\n leagues,\n myTeam,\n phases,\n player,\n regions,\n squad,\n stats,\n teams,\n urls,\n winners,\n});\n\nexport type RootState = StateType;\n\nexport type ThunkDispatch = BaseThunkDispatch;\n\nexport type ThunkResult = ThunkAction;\n\nexport interface ISelectOption {\n label: string;\n value: string;\n}\n\nexport interface IError {\n errorText?: string;\n statusText?: string;\n badRequest?: {\n [key: string]: Array<{ code: string; message: string }>;\n };\n url?: string;\n}\n\nexport type SavingState = \"\" | \"saving\" | \"saved\";\n\nexport default rootReducer;\n","import { applyMiddleware, createStore } from \"redux\";\nimport { composeWithDevTools } from \"redux-devtools-extension\";\nimport thunkMiddleware from \"redux-thunk\";\nimport rootReducer from \"./store\";\n\nconst configureStore = (initialState?: object) => {\n const middlewares = [thunkMiddleware];\n const enhancer = composeWithDevTools(applyMiddleware(...middlewares));\n const store = createStore(rootReducer, initialState!, enhancer);\n return store;\n};\n\nexport default configureStore;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === \"localhost\" ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === \"[::1]\" ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ninterface IConfig {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n}\n\nexport function register(config?: IConfig) {\n if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener(\"load\", () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n // console.log(\n // \"This web app is being served cache-first by a service \" +\n // \"worker. To learn more, visit http://bit.ly/CRA-PWA\"\n // );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: IConfig) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === \"installed\") {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n // console.log(\n // \"New content is available and will be used when all \" +\n // \"tabs for this page are closed. See http://bit.ly/CRA-PWA.\"\n // );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n // console.log(\"Content is cached for offline use.\");\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n // console.error(\"Error during service worker registration:\", error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: IConfig) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get(\"content-type\");\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf(\"javascript\") === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n // console.log(\n // \"No internet connection found. App is running in offline mode.\"\n // );\n });\n}\n\nexport function unregister() {\n if (\"serviceWorker\" in navigator) {\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister();\n });\n }\n}\n","import * as Sentry from \"@sentry/browser\";\nimport ReactDOM from \"react-dom\";\nimport { Provider } from \"react-redux\";\nimport App from \"./components/App\";\nimport configureStore from \"./core/configureStore\";\nimport \"./i18n\";\nimport * as serviceWorker from \"./serviceWorker\";\n\nif (process.env.REACT_APP_SENTRY_ENVIRONMENT) {\n Sentry.init({\n dsn: \"https://5989fdf4d706b78ebd5e45fe2a7f7785@o118622.ingest.sentry.io/4506111474991105\",\n environment: process.env.REACT_APP_SENTRY_ENVIRONMENT,\n integrations: [\n new Sentry.BrowserProfilingIntegration(),\n new Sentry.BrowserTracing(),\n ],\n ignoreErrors: [/gtag is not defined/],\n maxBreadcrumbs: 50,\n tracesSampleRate: 0.000002,\n profilesSampleRate: 0.000002,\n });\n}\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\")\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: http://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","// Return true if the webview query param exists on the URL\nexport const getIsWebView = () => {\n const webview =\n new URLSearchParams(document.location.search).has(\"webview\") ||\n document.getElementById(\"webview\")\n ? true\n : false;\n return webview;\n};\n","import { createAsyncAction } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport {\n IEntry,\n IEntryChipHistory,\n IEntryEvent,\n IEntryEventHistory,\n IEntryPhaseStanding,\n IEntrySeasonHistory,\n ITransfer,\n} from \"./types\";\n\nexport const fetchEntrySummary = createAsyncAction(\n \"FETCH_ENTRY_SUMMARY_START\",\n \"FETCH_ENTRY_SUMMARY_SUCCESS\",\n \"FETCH_ENTRY_SUMMARY_FAILURE\"\n)();\n\nexport const fetchEntryHistory = createAsyncAction(\n \"FETCH_ENTRY_HISTORY_START\",\n \"FETCH_ENTRY_HISTORY_SUCCESS\",\n \"FETCH_ENTRY_HISTORY_FAILURE\"\n)<\n void,\n {\n id: number;\n data: {\n current: IEntryEventHistory[];\n past: IEntrySeasonHistory[];\n chips: IEntryChipHistory[];\n };\n },\n IError\n>();\n\nexport const fetchEntryEventPicks = createAsyncAction(\n \"FETCH_ENTRY_EVENT_PICKS_START\",\n \"FETCH_ENTRY_EVENT_PICKS_SUCCESS\",\n \"FETCH_ENTRY_EVENT_PICKS_FAILURE\"\n)();\n\nexport const updateEntry = createAsyncAction(\n \"UPDATE_ENTRY_START\",\n \"UPDATE_ENTRY_SUCCESS\",\n \"UPDATE_ENTRY_FAILURE\"\n)();\n\nexport const fetchEntryTransfers = createAsyncAction(\n \"FETCH_ENTRY_TRANSFERS_START\",\n \"FETCH_ENTRY_TRANSFERS_SUCCESS\",\n \"FETCH_ENTRY_TRANSFERS_FAILURE\"\n)();\n\nexport const fetchEntryPhaseStandings = createAsyncAction(\n \"FETCH_ENTRY_PHASE_STANDINGS_START\",\n \"FETCH_ENTRY_PHASE_STANDINGS_SUCCESS\",\n \"FETCH_ENTRY_PHASE_STANDINGS_FAILURE\"\n)<\n void,\n { entry: number; phase: number; data: IEntryPhaseStanding[] },\n IError\n>();\n\nexport const unsubscribeEntry = createAsyncAction(\n \"UNSUBSCRIBE_ENTRY_START\",\n \"UNSUBSCRIBE_ENTRY_SUCCESS\",\n \"UNSUBSCRIBE_ENTRY_FAILURE\"\n)();\n","import { ThunkResult } from \"..\";\nimport { apiGet } from \"../../utils/api\";\nimport { IElementStat } from \"../element-stats/types\";\nimport { IElementType } from \"../element-types/types\";\nimport { IElement } from \"../elements/types\";\nimport { IEvent } from \"../events/types\";\nimport { ISettings } from \"../game/types\";\nimport { IPhase } from \"../phases/types\";\nimport { IPlayer } from \"../player/types\";\nimport { ITeam } from \"../teams/types\";\nimport * as actions from \"./actions\";\nimport { timeNow, getBootstrapTime } from \"./reducers\";\nimport { fetchEntrySummary } from \"../entries/thunks\";\n\nexport const bootstrap = (): ThunkResult> => async (dispatch) => {\n dispatch(actions.bootstrap.request());\n\n const staticRequest = apiGet<{\n element_stats: IElementStat[];\n element_types: IElementType[];\n elements: IElement[];\n events: IEvent[];\n game_settings: ISettings;\n phases: IPhase[];\n teams: ITeam[];\n total_players: number;\n }>(\"bootstrap-static/\", dispatch, actions.bootstrapStatic);\n\n const dynamicRequest = apiGet<{ player: IPlayer | null; watched: number[] }>(\n \"me/\",\n dispatch,\n actions.bootstrapMe\n );\n\n await Promise.all([staticRequest, dynamicRequest])\n .then(([staticData, meData]) => {\n if (meData.player && meData.player.entry) {\n // If the player has an entry then fetch their summary. This is done\n // asynchronously, users of `getEntry` should be prepared to handle\n // null and delay rendering as necessary\n dispatch(fetchEntrySummary(meData.player.entry));\n }\n dispatch(actions.addElementStats(staticData.element_stats));\n dispatch(actions.addElementTypes(staticData.element_types));\n dispatch(actions.addElements(staticData.elements));\n dispatch(actions.addEvents(staticData.events));\n dispatch(actions.addGameSettings(staticData.game_settings));\n dispatch(actions.addPhases(staticData.phases));\n dispatch(actions.addTeams(staticData.teams));\n dispatch(actions.addTotalPlayers(staticData.total_players));\n dispatch(actions.addPlayer(meData.player));\n dispatch(actions.addWatched(meData.watched));\n dispatch(actions.bootstrap.success({}));\n })\n .catch((e) => {\n dispatch(actions.bootstrap.failure(e.message));\n });\n};\n\nexport const checkGame =\n (): ThunkResult> => async (dispatch, getState) => {\n const REFRESH_MINUTES = 10;\n const lastBootstrap = getBootstrapTime(getState());\n if (lastBootstrap && timeNow() - lastBootstrap > REFRESH_MINUTES * 60) {\n dispatch(bootstrap());\n }\n };\n","import { ThunkResult } from \"..\";\nimport { apiDelete, apiGet, apiPost, apiPut } from \"../../utils/api\";\nimport { bootstrap } from \"../bootstrap/thunks\";\nimport * as actions from \"./actions\";\nimport {\n ILoginData,\n IPasswordChangeData,\n IPasswordResetData,\n IPasswordSetData,\n} from \"./types\";\n\nexport const login =\n (postData: ILoginData): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\"player/login/\", postData, dispatch, actions.login);\n } catch (e) {\n return;\n }\n dispatch(bootstrap());\n };\n\nexport const logout = (): ThunkResult> => (dispatch) =>\n apiGet(\"player/logout/\", dispatch, actions.logout);\n\nexport const register =\n (postData: {}): ThunkResult> =>\n (dispatch) =>\n apiPost(\"player/create/\", postData, dispatch, actions.register);\n\nexport const playerUpdate =\n (postData: {}): ThunkResult> =>\n (dispatch) =>\n apiPut(\"player/update/\", postData, dispatch, actions.playerUpdate);\n\nexport const passwordChange =\n (postData: IPasswordChangeData): ThunkResult> =>\n (dispatch) =>\n apiPut(\n \"player/password-change/\",\n postData,\n dispatch,\n actions.passwordChange\n );\n\nexport const passwordReset =\n (postData: IPasswordResetData): ThunkResult> =>\n (dispatch) =>\n apiPost(\n \"player/password-reset/\",\n postData,\n dispatch,\n actions.passwordReset\n );\n\nexport const passwordSet =\n (postData: IPasswordSetData): ThunkResult> =>\n (dispatch) =>\n apiPut(\"player/password-set/\", postData, dispatch, actions.passwordSet);\n\nexport const addToWatchlist =\n (elementCode: number): ThunkResult> =>\n async (dispatch) => {\n dispatch(actions.addToWatched(elementCode));\n return apiPost(\n `watchlist/${elementCode}/`,\n {},\n dispatch,\n actions.addToWatchlist\n );\n };\n\nexport const removeFromWatchlist =\n (elementCode: number): ThunkResult> =>\n async (dispatch) => {\n dispatch(actions.removeFromWatched(elementCode));\n return apiDelete(\n `watchlist/${elementCode}/`,\n {},\n dispatch,\n actions.removeFromWatchlist\n );\n };\n\nexport const accountRecovery =\n (postData: ILoginData): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\"player/recovery/\", postData, dispatch, actions.recover);\n } catch (e) {\n return;\n }\n dispatch(bootstrap());\n };\n","import styled from \"styled-components/macro\";\n\nexport const Wrapper = styled.div`\n max-width: 1220px;\n min-height: 0;\n min-width: 0;\n margin: 0 auto;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n display: flex;\n }\n`;\n\ninterface IMainProps {\n isWide?: boolean;\n}\n\nexport const Main = styled.div`\n padding-top: 2rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n width: ${(props) => (props.isWide ? \"100%\" : \"calc(100% / 3 * 2)\")};\n padding-inline-end: 1rem;\n padding-inline-start: 1rem;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: ${(props) => (props.isWide ? \"100%\" : \"calc(100% / 4 * 3)\")};\n }\n`;\n\nexport const Secondary = styled.div`\n padding-top: 2rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n width: calc(100% / 3);\n padding-inline-end: 1rem;\n padding-inline-start: 1rem;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: calc(100% / 4 * 1);\n }\n`;\n","import * as React from \"react\";\nimport { Button as Base } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\n\nexport interface IButtonStyledProps {\n disabled?: boolean;\n fullwidth?: string; // \"true\"\n variant?: string; //\"primary\" | \"secondary\" | \"link\" | \"home\";\n size?: string; // \"sm\" || \"md\" || \"lg\"\n hasicon: string; // \"true\" || \"\",\n justifyContent?: string;\n textTransform?: string;\n}\n\nconst btnVariations = {\n baseBtn: css`\n display: inline-block;\n padding: 1.5rem 1.2rem;\n border: 0;\n background-color: ${({ theme }) => theme.colors.primary};\n font-family: ${({ theme }) => theme.fonts.base};\n font-size: ${({ theme }) => theme.fontSizes[3]};\n font-weight: bold;\n color: ${({ theme }) => theme.colors.white};\n line-height: 1;\n border-radius: 4px;\n box-sizing: border-box;\n cursor: pointer;\n transition: all 250ms linear;\n text-decoration: none;\n font-weight: bold;\n &:hover {\n background-color: ${({ theme }) => theme.colors.blueDark};\n }\n `,\n primary: css`\n background-color: ${({ theme }) => theme.colors.blue};\n color: ${({ theme }) => theme.colors.white};\n &:hover {\n background-color: ${({ theme }) => theme.colors.blueDark};\n }\n `,\n secondary: css`\n background-color: ${({ theme }) => theme.colors.green};\n color: ${({ theme }) => theme.colors.primary};\n &:hover {\n background-color: ${({ theme }) => theme.colors.greenDark};\n }\n `,\n tertiary: css`\n background-color: ${({ theme }) => theme.colors.primary};\n color: ${({ theme }) => theme.colors.green};\n &:hover {\n background-color: ${({ theme }) => theme.colors.blueDark};\n }\n `,\n\n home: css`\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n &:hover {\n background-color: transparent;\n }\n `,\n link: css`\n background-color: transparent;\n\n &:hover {\n background-color: transparent;\n }\n `,\n fullwidth: css`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n `,\n xs: css`\n font-size: 1.2rem;\n padding: 0.8rem;\n `,\n sm: css`\n font-size: 1.4rem;\n padding: 1rem;\n `,\n lg: css`\n padding: 1.6rem;\n `,\n};\n\nconst flexVariations = {\n flexStart: css`\n justify-content: flex-start;\n `,\n flexEnd: css`\n justify-content: flex-end;\n `,\n spaceBetween: css`\n justify-content: space-between;\n `,\n};\n\nexport const StyledBtn = styled(Base)`\n ${btnVariations.baseBtn};\n ${({ variant }) => variant === \"primary\" && btnVariations.primary};\n ${({ variant }) => variant === \"secondary\" && btnVariations.secondary};\n ${({ variant }) => variant === \"tertiary\" && btnVariations.tertiary};\n ${({ variant }) => variant === \"link\" && btnVariations.link};\n ${({ variant }) => variant === \"home\" && btnVariations.home};\n ${({ fullwidth }) => fullwidth === \"true\" && btnVariations.fullwidth}\n ${({ size }) => size === \"xs\" && btnVariations.xs}\n ${({ size }) => size === \"sm\" && btnVariations.sm}\n ${({ size }) => size === \"lg\" && btnVariations.lg}\n ${({ fullwidth, hasicon }) =>\n fullwidth === \"true\" && hasicon === \"true\" && flexVariations.spaceBetween};\n\n ${({ fullwidth, hasicon, justifyContent }) =>\n fullwidth === \"true\" &&\n hasicon === \"true\" &&\n justifyContent === \"flexStart\" &&\n flexVariations.flexStart};\n\n ${({ fullwidth, hasicon, justifyContent }) =>\n fullwidth === \"true\" &&\n hasicon === \"true\" &&\n justifyContent === \"flexEnd\" &&\n flexVariations.flexEnd}\n\n ${({ disabled, theme }) =>\n disabled &&\n css`\n background-color: ${theme.colors.grey};\n color: ${theme.colors.greyDark};\n cursor: auto;\n\n &:hover {\n background-color: ${theme.colors.grey};\n color: ${theme.colors.greyDark};\n cursor: not-allowed;\n pointer-events: all !important;\n }\n `}\n \n ${({ textTransform }) =>\n textTransform === \"upperCase\" &&\n css`\n text-transform: uppercase;\n `}\n`;\n\ninterface IProps {\n onClick?: () => void;\n type?: \"button\" | \"submit\" | \"reset\";\n width?: number;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n ref: React.RefObject;\n children: React.ReactNode;\n disabled?: boolean;\n variant?: string;\n size?: string;\n // Need to clean this part up\n to?: string;\n href?: string;\n as?: any;\n tabIndex?: number;\n role?: string;\n target?: string;\n newTab?: boolean;\n rel?: string;\n justifyContent?: string;\n textTransform?: string;\n}\n\ntype Props = IProps;\n\nconst Button = React.forwardRef(\n (\n {\n as,\n width = 0,\n children,\n disabled = false,\n variant,\n type = \"button\",\n startIcon: startIconProp,\n endIcon: endIconProp,\n newTab = false,\n ...props\n }: Props,\n ref?: React.Ref\n ) => {\n const commonProps = {\n ref,\n disabled,\n variant,\n fullwidth: width === 1 ? \"true\" : \"undefined\",\n hasicon: !(startIconProp || endIconProp) ? \"\" : \"true\",\n };\n\n const startIcon = startIconProp && (\n {startIconProp}\n );\n\n const endIcon = endIconProp && (\n {endIconProp}\n );\n\n // If it has a \"href\" prop we assume it's wants to be an anchor\n // Or it could be a Link component but you can use the prop.as for this as={Link}\n if (props.href || props.to) {\n if (disabled) {\n props.tabIndex = -1;\n props.role = \"button\";\n }\n\n if (newTab) {\n props.target = \"_blank\";\n props.rel = \"noopener noreferrer\";\n }\n\n return (\n \n {startIcon}\n {children}\n {endIcon}\n \n );\n }\n\n return (\n \n {startIcon}\n {children}\n {endIcon}\n \n );\n }\n);\n\nexport default Button;\n","export default __webpack_public_path__ + \"static/media/arrow-down.5ff80440.svg\";","import { hideVisually, size } from \"polished\";\nimport * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport ArrowDown from \"../img/icons/arrow-down.svg\";\nimport theme from \"../theme\";\nimport { isRTL } from \"../utils/locale\";\n\nexport const FieldWrap = styled.div`\n margin-bottom: ${theme.space[4]};\n position: relative;\n z-index: 1;\n`;\n\nconst fieldStyles = {\n display: \"block\",\n width: \"100%\",\n padding: theme.space[2],\n border: theme.borders[2],\n borderRadius: theme.radii[0],\n color: theme.colors.black,\n fontFamily: theme.fonts.base,\n fontSize: \"16px\",\n\n \":hover, :focus\": {\n borderColor: `${theme.colors.blueDark}`,\n },\n};\n\ninterface ILabelProps {\n labelVisbility?: boolean;\n}\n\nexport const FieldLabel = styled.label`\n display: block;\n margin-bottom: ${theme.space[1]};\n color: ${theme.colors.black};\n font-family: ${theme.fonts.book};\n font-size: 1.5rem;\n font-weight: bold;\n cursor: pointer;\n\n ${({ labelVisbility }) => labelVisbility === false && hideVisually};\n`;\n\nconst Hint = styled.span`\n margin-bottom: ${theme.space[1]};\n display: block;\n color: ${theme.colors.black};\n font-weight: 100;\n font-size: 14px;\n`;\n\ninterface InputProps {\n hasErrors?: boolean;\n required?: boolean;\n}\n\nexport const Input = styled.input`\n ${fieldStyles}\n ${(props) =>\n props.hasErrors &&\n css`\n border-color: ${theme.colors.error};\n\n &:focus {\n border-color: ${theme.colors.error};\n }\n `}\n box-sizing: border-box;\n`;\n\nexport const SelectWrap = styled.div`\n position: relative;\n z-index: ${theme.zIndex.select.wrap};\n border: none;\n border-radius: ${theme.radii[0]};\n background-color: white;\n\n :hover {\n border-color: ${theme.colors.blueDark};\n }\n\n ::after {\n content: \"\";\n background: url(${ArrowDown}) no-repeat;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n width: 14px;\n height: 8px;\n background-size: contain;\n ${isRTL()\n ? css`\n left: ${(props) => props.theme.space[2]};\n `\n : css`\n right: ${(props) => props.theme.space[2]};\n `};\n }\n`;\n\n// Unable to extend SelectWrap for some reason\nconst InlineSelectWrap = styled.div`\n position: relative;\n display: inline-block;\n z-index: ${theme.zIndex.select.wrap};\n border: none;\n border-radius: ${theme.radii[0]};\n :hover {\n border-color: ${theme.colors.blueDark};\n }\n ::after {\n content: \"\";\n background: url(${ArrowDown}) no-repeat;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n width: 14px;\n height: 8px;\n background-size: contain;\n ${isRTL()\n ? css`\n left: ${(props) => props.theme.space[2]};\n `\n : css`\n right: ${(props) => props.theme.space[2]};\n `};\n }\n`;\n\nexport const Select = styled.select`\n ${fieldStyles}\n position: relative;\n z-index: ${theme.zIndex.select.select};\n border: ${theme.borders[2]};\n border-radius: ${theme.radii[0]};\n background: none;\n appearance: none;\n cursor: pointer;\n\n ::-ms-expand {\n display: none; /* [1] */\n }\n`;\n\nconst InlineSelect = styled(Select)`\n display: inline-block;\n width: auto;\n padding-inline-end: 40px;\n`;\n\nconst SearchWrap = styled.div`\n position: relative;\n`;\n\nconst SearchIcon = styled.span`\n ${size(\"17px\")}\n content: \"\";\n background-size: contain;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n background-repeat: no-repeat;\n background-image: url('data:image/svg+xml;utf8,');\n ${isRTL()\n ? css`\n left: ${(props) => props.theme.space[2]};\n `\n : css`\n right: ${(props) => props.theme.space[2]};\n `};\n`;\n\nconst SearchInput = styled(Input)`\n /* stylelint-disable property-no-vendor-prefix */\n -webkit-appearance: textfield;\n\n &:focus + ${SearchIcon} {\n display: none;\n }\n`;\n\nexport const FieldCols = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n display: flex;\n }\n`;\n\nexport const FieldCol = styled.div`\n padding-inline-end: ${({ theme }) => theme.space[2]};\n padding-inline-start: ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n flex: 1;\n }\n`;\n\ninterface ILabelHintProps {\n hint?: React.ReactNode;\n id: string;\n label: React.ReactNode;\n required?: boolean;\n labelVisbility?: boolean;\n}\n\ninterface IFieldProps extends ILabelHintProps {\n name?: string;\n value?: string | number;\n}\n\ninterface IInputProps extends IFieldProps {\n maxLength?: number;\n onChange?: (e: React.ChangeEvent) => void;\n onBlur?: (e: React.ChangeEvent) => void;\n type?: string;\n disabled?: boolean;\n readonly?: boolean;\n hasErrors?: boolean;\n required?: boolean;\n}\n\nexport const LabelHint: React.FC = ({\n id,\n label,\n hint,\n required = true,\n labelVisbility = true,\n}) => (\n \n {`${label}${required ? \"*\" : \"\"}`}\n {hint && {hint}}\n \n);\n\nconst InlineLabel: React.FC = ({\n id,\n label,\n required = true,\n labelVisbility = true,\n}) => (\n \n {`${label}${required && \"*\"}`}\n \n);\n\nexport const InputField: React.FC = ({\n hint,\n id,\n label,\n maxLength,\n name,\n onBlur,\n onChange,\n type,\n value,\n required = true,\n hasErrors,\n disabled = false,\n readonly = false,\n labelVisbility = true,\n}) => (\n <>\n \n \n \n);\n\ninterface ISearchProps extends IFieldProps {\n onChange?: (e: React.ChangeEvent) => void;\n}\n\nexport const SearchField: React.FC = ({\n hint,\n id,\n label,\n name,\n onChange,\n required = true,\n value,\n ...rest\n}) => (\n <>\n \n \n \n \n \n \n);\n\ninterface INumberProps extends IFieldProps {\n ariaValueMax?: number;\n ariaValueMin?: number;\n ariaValueNow?: number;\n max?: string | number;\n min?: string | number;\n onChange?: (e: React.ChangeEvent) => void;\n step?: string | number;\n}\n\nexport const NumberField: React.FC = ({\n ariaValueMax,\n ariaValueMin,\n ariaValueNow,\n hint,\n id,\n label,\n max = \"\",\n min = \"\",\n name,\n onChange,\n step = \"\",\n value,\n required = true,\n}) => (\n <>\n \n \n \n);\n\nconst Checkbox = styled.input`\n ${hideVisually()};\n\n :hover + span::before {\n border-color: ${(props) => props.theme.colors.primary};\n border-radius: ${(props) => props.theme.radii[0]};\n background-image: url('data:image/svg+xml;utf8,');\n }\n\n :focus + span {\n outline: -webkit-focus-ring-color auto 5px;\n }\n\n :checked + span::before {\n background-color: ${(props) => props.theme.colors.primary};\n border-radius: ${(props) => props.theme.radii[0]};\n background-image: url('data:image/svg+xml;utf8,');\n }\n`;\n\ninterface ICheckboxText {\n hasLogo?: boolean;\n}\n\nconst CheckboxText = styled.span`\n display: inline-block;\n position: relative;\n line-height: 1.6;\n ${isRTL()\n ? css`\n padding: 6px 42px 6px 0;\n `\n : css`\n padding: 6px 0 6px 42px;\n `};\n\n ::before {\n content: \"\";\n position: absolute;\n top: 50%;\n width: 30px;\n height: 30px;\n transform: translateY(-50%);\n border: ${theme.borders[0]};\n background-repeat: no-repeat;\n background-size: contain;\n vertical-align: middle;\n ${isRTL()\n ? css`\n right: 0;\n `\n : css`\n left: 0;\n `};\n }\n\n ${({ hasLogo }) =>\n hasLogo &&\n css`\n display: flex;\n align-items: center;\n `}\n`;\n\ninterface ICheckboxProps {\n checked?: boolean;\n id: string;\n label: React.ReactNode;\n name?: string;\n onChange?: (e: React.FormEvent) => void;\n logo?: any;\n hideLabel?: boolean;\n}\n\nconst LogoImg = styled.img`\n height: 29px;\n width: auto;\n max-width: 100%;\n`;\n\nexport const CheckboxField: React.SFC = ({\n id,\n onChange,\n label,\n checked,\n logo,\n hideLabel = false,\n}) => {\n let labelStyles = {};\n if (hideLabel) {\n labelStyles = hideVisually;\n }\n\n return (\n
    \n \n
    \n );\n};\n\nCheckboxField.defaultProps = {\n checked: false,\n};\n\nexport const Fieldset = styled.fieldset`\n padding: 0;\n border: 0;\n`;\n\ninterface ILabelLegendProps {\n children: React.ReactNode;\n legend: string;\n}\n\nexport const LabelLegend: React.SFC = ({\n children,\n legend,\n}) => (\n
    \n \n {legend}\n \n {children}\n
    \n);\n\nconst Radio = styled.input`\n ${hideVisually()};\n\n &:hover + span::before {\n background-color: #e5e5e5;\n box-shadow: 0 0 0 0.2rem ${(props) => props.theme.colors.blueDark};\n }\n\n &:focus + span {\n outline: -webkit-focus-ring-color auto 5px;\n }\n\n &:checked + span::before {\n box-shadow: 0 0 0 0.2rem ${(props) => props.theme.colors.blueDark};\n background-color: ${(props) => props.theme.colors.blue};\n }\n`;\n\nconst RadioText = styled.span`\n display: inline-block;\n position: relative;\n line-height: 1.6;\n ${isRTL()\n ? css`\n padding: 6px 42px 6px 0;\n `\n : css`\n padding: 6px 0 6px 42px;\n `};\n\n &::before {\n /* [1] */\n display: inline-block;\n position: absolute;\n top: 50%;\n width: 23px;\n height: 23px;\n transform: translateY(-50%);\n border: 5px solid white;\n border-radius: 50%;\n box-shadow: 0 0 0 2px #e5e5e5;\n content: \"\";\n vertical-align: middle;\n ${isRTL()\n ? css`\n right: 0;\n `\n : css`\n left: 0;\n `};\n }\n`;\n\nconst StyledFieldFeedback = styled.p`\n color: ${theme.colors.error};\n margin-top: 0;\n`;\n\ninterface IOptions {\n checked?: boolean;\n id: string;\n label: string;\n onChange?: (e: React.FormEvent) => void;\n value: string;\n}\ninterface IRadioGroupProps {\n defaultOptionIndex?: number;\n legend: React.ReactNode;\n name: string;\n options: IOptions[];\n onChange?: (e: React.FormEvent) => void;\n required?: boolean;\n}\n\nexport const RadioGroup: React.SFC = ({\n defaultOptionIndex,\n legend,\n name,\n options,\n onChange,\n required = true,\n}) => (\n
    \n \n \n {legend}\n {required ? \"*\" : \"\"}\n \n \n {options.map((o, index) => (\n
    \n \n
    \n ))}\n
    \n);\n\ninterface ISelectProps extends IFieldProps {\n children: React.ReactNode;\n onBlur?: (e: React.ChangeEvent) => void;\n onChange?: (e: React.ChangeEvent) => void;\n required?: boolean;\n labelVisbility?: boolean;\n}\n\nexport const SelectField: React.FC = ({\n children,\n hint,\n id,\n label,\n onBlur,\n onChange,\n value,\n labelVisbility = true,\n required = true,\n}) => (\n <>\n \n \n \n \n \n);\n\nexport const InlineSelectField: React.FC = ({\n children,\n id,\n label,\n onChange,\n value,\n}) => (\n <>\n \n \n \n {children}\n \n \n \n);\n\ninterface IFieldFeedback {\n children: React.ReactNode;\n}\n\nexport const FieldFeedback: React.FC = ({ children }) => (\n {children}\n);\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport * as actions from \"./actions\";\nimport { IState } from \"./types\";\n\nexport const timeNow = () => Math.round(new Date().getTime() / 1000);\n\n// State Reducer\nexport default combineReducers({\n loading: (state = false, action) => {\n switch (action.type) {\n case getType(actions.bootstrap.request):\n return true;\n case getType(actions.bootstrap.failure):\n case getType(actions.bootstrap.success):\n return false;\n default:\n return state;\n }\n },\n\n times: (state = { browser: null, server: null }, action) => {\n switch (action.type) {\n case getType(actions.bootstrap.success):\n return {\n browser: timeNow(),\n server: null,\n };\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getBootstrapped = (state: RootState) =>\n Boolean(state.bootstrap.times.browser);\n\nexport const getBootstrapTime = (state: RootState) =>\n state.bootstrap.times.browser;\n"],"sourceRoot":""}