{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/config/apiUrls.ts","webpack:///./app/config/routePathes.ts","webpack:///./app/config/serverConfig.ts","webpack:///./app/config/settings.ts","webpack:///./app/config/store/selectors.ts","webpack:///./app/config/utils.ts","webpack:///./app/constants/contentTypes.ts","webpack:///./app/constants/imageSizes.ts","webpack:///./app/front/staticServerRendering/AnalyticsInjector/siteAnalyticsInjector.tsx","webpack:///./app/front/staticServerRendering/LightboxInjector/SiteLightBoxInjector/SiteLightBoxInjector.tsx","webpack:///./app/front/staticServerRendering/articleBlogsReadMoreHandler/articleBlogsReadMoreHandler.tsx","webpack:///./app/front/staticServerRendering/articleBlogsReadMoreHandler/siteArticleBlogsReadMoreHandler.tsx","webpack:///./app/front/staticServerRendering/contactParagraphInjection.ts","webpack:///./app/front/staticServerRendering/frontImage.ts","webpack:///./app/front/staticServerRendering/stockLinksInjector/SiteStockLinksInjector.tsx","webpack:///./app/front/staticServerRendering/stockLinksInjector/stockLinkInlineInfo.tsx","webpack:///./app/front/staticServerRendering/stockPopUp.tsx","webpack:///./app/front/staticServerRendering/stockPopUpMobile.tsx","webpack:///./app/global/components/contentEditable.tsx","webpack:///./app/global/components/copyButton/copyButton.tsx","webpack:///./app/global/components/linkSettings/interfaces.ts","webpack:///./app/global/components/siteSettingsHOC.tsx","webpack:///./app/global/paywall/authOperations.ts","webpack:///./app/global/paywall/paywallApiUrls.ts","webpack:///./app/global/paywall/paywallInterfaces.ts","webpack:///./app/global/paywall/paywallUtils.ts","webpack:///./app/global/paywall/useAuth.tsx","webpack:///./app/global/paywall/usePurchase.ts","webpack:///./app/textEditor/components/colorPicker.tsx","webpack:///./app/textEditor/components/premiumFlag/siteArticlePremiumCutter.tsx","webpack:///./app/textEditor/components/toolbarButton.tsx","webpack:///./app/textEditor/constants/linkProperties.tsx","webpack:///./app/utils/idGenerator.ts","webpack:///./app/utils/isMobile.ts","webpack:///./app/utils/network/axiosDateTransformer.ts","webpack:///./app/utils/stringEnum.ts","webpack:///./app/widgets/commonComponents/base/CalcalistShareMenu.tsx","webpack:///./app/widgets/commonComponents/base/floatingColorPicker.tsx","webpack:///./app/widgets/commonComponents/base/injectPageComponentaContext.tsx","webpack:///./app/widgets/commonComponents/base/multiImagesFrontScroller.tsx","webpack:///./app/widgets/commonComponents/base/multiImagesScrollPerItem.tsx","webpack:///./app/widgets/commonComponents/base/richInput.tsx","webpack:///./app/widgets/commonComponents/inline/3dCarousel/ThreeDCarousel.tsx","webpack:///./app/widgets/commonComponents/inline/dateDisplay/ctechDateDisplay.tsx","webpack:///./app/widgets/commonComponents/inline/dateDisplay/dateDisplay.tsx","webpack:///./app/widgets/commonComponents/inline/frontCopyButton/frontCopyButton.tsx","webpack:///./app/widgets/commonComponents/inline/galleryPaging/galleryPaging.tsx","webpack:///./app/widgets/commonComponents/inline/hyperLink.tsx","webpack:///./app/widgets/commonComponents/inline/imageSlider/imageSlider.tsx","webpack:///./app/widgets/commonComponents/inline/marketingSign/marketingSign.tsx","webpack:///./app/widgets/commonComponents/inline/marketingSign/mutamMarketingSign.tsx","webpack:///./app/widgets/commonComponents/inline/payWallHavak/payWallHavak.tsx","webpack:///./app/widgets/commonComponents/inline/renderReactAtSite.tsx","webpack:///./app/widgets/commonComponents/inline/siteSimpleImage.tsx","webpack:///./app/widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay.tsx","webpack:///./app/widgets/commonComponents/inline/toggleSwitch/toggleSwitch.tsx","webpack:///./app/widgets/commonDataObjects/dataObjectBase.ts","webpack:///./app/widgets/commonDataObjects/interfaces.ts","webpack:///./app/widgets/commonDataObjects/linkedItemsVideoSettings.ts","webpack:///./app/widgets/dataObjectFacrories.ts","webpack:///./app/widgets/defaultDateFormatOptionsBySite.ts","webpack:///./app/widgets/defenitions/InfinityArticle/components/infiniteArticleItem.tsx","webpack:///./app/widgets/defenitions/InfinityArticle/components/infinityArticleComponenta.tsx","webpack:///./app/widgets/defenitions/article/articleMagazineChapterMenu/articleMagazineChapterMenu.tsx","webpack:///./app/widgets/defenitions/article/articleMagazineTopStory/renders/articleMagazineNagishButton.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleBlog/components/blogPostsSorter.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleBottomShareComponenta/articleBottomShareComponent.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleBottomShareComponenta/siteArticleSocialBottomShare1280.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/addCommentFormWrapper.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/addCommentFormYnetUI.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/articleCommentWrapper.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/articleCommentYnetUi.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/articleCommentsTopTabWrapper.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/articleCommentsTopTabYnetUi.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/blogsSpotimScriptInjector.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/calcalistCommets/calcalistAddCommentFormUI.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/calcalistCommets/calcalistArticleCommentUI.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/calcalistCommets/commentsTabUI.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/grid1280ArticleCommentsTopTabUi.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/mutamArticleCommentsPropsWrapper.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/premiumAddCommentFormUI.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/premiumArticleCommentUI.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/premiumArticleCommentsTopTabUI.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/spotimScriptInjector.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/translations.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/ynet1280Comments/mutamAddCommentFormUI.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/ynet1280Comments/mutamArticleCalcalistCommentAppUI.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/ynet1280Comments/mutamArticleCalcalistCommentTopTabUI.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/ynet1280Comments/mutamArticleCommentAppUI.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/ynet1280Comments/mutamArticleCommentTopTabUI.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/ynet1280Comments/mutamArticleCommentsCalcalistPopup.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/ynet1280Comments/mutamArticleCommentsPopup.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/ynet1280Comments/mutamCalcalistAddCommentFormUI.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/ynet1280Comments/ynetAddCommentFormUI1280.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/ynet1280Comments/ynetArticleCommentAppUI.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/ynet1280Comments/ynetArticleCommentTopTabApp.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/ynet1280Comments/ynetArticleCommentUI1280.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleComments/ynet1280Comments/ynetArticleCommentsTopTabUI1280.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleHeaderComponenta/SiteArticleHeaderMobileShare.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleHeaderComponenta/articleHeaderShareComponenta.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleHeaderComponenta/articleMobileHeaderShareComopnent.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleHotUpdate/components/articleHotUpdateComponent.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleHotUpdate/components/articleHotUpdateItem.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleImageGalleryComponenta/articleImageSliderGalleryComponenta.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleImagesFullScreenGallery/articleImagesFullScreenGallery.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleImagesFullScreenGallery/articleImagesFullScreenGalleryFront.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleImagesFullScreenGallery/articleImagesFullScreenGalleryImageCounter.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleImagesFullScreenGallery/articleImagesFullScreenGalleryMain.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleImagesFullScreenGallery/articleImagesFullScreenGalleryMobile.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleImagesGallery/SiteArticleImagesGallery.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleImagesGallery/articleGalleryView.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleImagesGallery/mobileArticleImagesGallery.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleRecipeComponenta/components/ingredientListItem.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleRecipeComponenta/components/ingredientsSection.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleRecipeTimer/components/timerComponenta.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleSideShareComponenta/articleSideShareComponent.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleSideShareComponenta/translations.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleSocialShare1280Component/articleDropdownShareComponenta.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleSocialShare1280Component/articleSocialShareNew1280.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleSocialShare1280Component/siteArticleSocialShare1280.tsx","webpack:///./app/widgets/defenitions/article/componentas/articleVerticalSocialShareComponent/siteArticleVerticalSocialShare.tsx","webpack:///./app/widgets/defenitions/article/componentas/calcalistArticlePodcastTopStoryCoponenta/components/calcalistPodcastShareMenu.tsx","webpack:///./app/widgets/defenitions/article/componentas/calcalistArticlePodcastTopStoryCoponenta/components/podcastPlayerControls.tsx","webpack:///./app/widgets/defenitions/article/componentas/calcalistArticlePodcastTopStoryCoponenta/components/podcastPlayerControlsComponent.tsx","webpack:///./app/widgets/defenitions/article/componentas/premium/componentas/premiumArticleHeaderComponenta/premiumArticleHeaderShareButtons.tsx","webpack:///./app/widgets/defenitions/article/componentas/premium/componentas/premiumArticleTitleImageComponenta/sitePremiumArticleTitleImageComponenta.tsx","webpack:///./app/widgets/defenitions/article/componentas/premium/componentas/premiumHeader/premiumHeader.tsx","webpack:///./app/widgets/defenitions/article/componentas/premium/componentas/premiumMutamHeader/premiumMutamHeader.tsx","webpack:///./app/widgets/defenitions/article/componentas/premium/componentas/premiumMutamHeader/yplusMutamSideMenu.tsx","webpack:///./app/widgets/defenitions/article/componentas/premium/componentas/ynetPremiumLogin/ynetPremiumLoginBase.tsx","webpack:///./app/widgets/defenitions/article/componentas/premium/componentas/ynetPremiumLogin/ynetPremiumLoginDesktop.tsx","webpack:///./app/widgets/defenitions/article/componentas/premium/componentas/ynetPremiumLogin/ynetPremiumLoginMobile.tsx","webpack:///./app/widgets/defenitions/article/componentas/premium/utils.ts","webpack:///./app/widgets/defenitions/articleImageTagPrice/component/articleImagePriceTagPointsComponent.tsx","webpack:///./app/widgets/defenitions/articleNewsletter/components/articleNewsletterWrapper.tsx","webpack:///./app/widgets/defenitions/articleRecipeRating/siteArticleRecipeRatingComponenta.tsx","webpack:///./app/widgets/defenitions/articleVideo/siteArticleVideoComponentaShareButtons.tsx","webpack:///./app/widgets/defenitions/blogsAutoFeed/blogsAutoFeedUtils.tsx","webpack:///./app/widgets/defenitions/blogsAutoFeed/components/blogAutoFeedItem.tsx","webpack:///./app/widgets/defenitions/blogsAutoFeed/components/blogAutoFeedItemsContainer.tsx","webpack:///./app/widgets/defenitions/blogsAutoFeed/components/blogsArticleVideoAppComponenta.tsx","webpack:///./app/widgets/defenitions/blogsAutoFeed/components/blogsAutoFeedComponent.tsx","webpack:///./app/widgets/defenitions/blogsAutoFeed/components/loader/loader.tsx","webpack:///./app/widgets/defenitions/breakingNews/components/SiteBreakingNewsComponenta.tsx","webpack:///./app/widgets/defenitions/breakingNews/components/arrowsWithAnimation/arrows.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/desktop/premiumCalcalistPaywallDesktop.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/desktop/premiumCalcalistPaywallDesktopSignUp.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/desktop/premiumCalcalistPaywallDesktopSignin.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/desktop/signin/premiumCalcalistPaywallDesktopSigninEmail.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/desktop/signin/premiumCalcalistPaywallDesktopSigninFinish.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/desktop/signin/premiumCalcalistPaywallDesktopSigninPassword.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/desktop/signup/premiumCalcalistPaywallDesktopSignupConfirmTerms.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/desktop/signup/premiumCalcalistPaywallDesktopSignupEmail.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/desktop/signup/premiumCalcalistPaywallDesktopSignupFinish.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/desktop/signup/premiumCalcalistPaywallDesktopSignupPassword.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/mobile/premiumCalcalistPaywallMobile.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/mobile/premiumCalcalistPaywallMobileLogin.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/mobile/premiumCalcalistPaywallMobileSignup.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/mobile/signin/premiumCalcalistPaywallMobileLoginEmail.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/mobile/signin/premiumCalcalistPaywallMobileLoginFinish.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/mobile/signin/premiumCalcalistPaywallMobileLoginPassword.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/mobile/signup/premiumCalcalistPaywallMobileSignupConfirmTerms.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/mobile/signup/premiumCalcalistPaywallMobileSignupEmail.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/mobile/signup/premiumCalcalistPaywallMobileSignupFinish.tsx","webpack:///./app/widgets/defenitions/calcalist/calcalistPaywallForms/mobile/signup/premiumCalcalistPaywallMobileSignupPassword.tsx","webpack:///./app/widgets/defenitions/calcalist/components/articleMutamHeaderShareComponent.tsx","webpack:///./app/widgets/defenitions/calcalist/components/calcalistArticleActions.tsx","webpack:///./app/widgets/defenitions/calcalist/components/calcalistArticleStockRecommend/components/calcalistStockRecommendationPoints.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/articleBlogHeader/components/siteArticleBlogHeaderComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/articleCarousel/components/carousel.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/articleCommercialVideo/components/articleCommercialVideoPlayer.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/articleHeadlines/components/articleHeadlinesItemCalcalist.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/articleHeadlines/components/articleHeadlinesItemMutamCalcalist.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/articleHeadlines/components/articleHeadlinesMoreView.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/articleHeadlines/components/calcalistArticleHeadlinesList.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/articleHeadlines/components/calcalistLoadMore.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/articleImageGallery/components/articleImageSlider.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/articleImageGallery/components/calcalistArticleGalleryMobile.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/articleImageGallery/components/popUpGalleryMutam.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/buzz/componentas/buzzItem.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/buzz/componentas/buzzItemsList.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/buzz/componentas/siteCalcalistBuzzComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/buzz/componentas/siteMobileCalcalistBuzzComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistLoginArea/calcalistLoginComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistMobileNavigation/components/calcalistMobileNavigationComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistNewsLetter/components/calcalistNewsLetterComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistNewsLetter/components/calcalistNewsLetterItem.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistNewsLetterNative/components/calcalistNewsLetterNativeComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistNewsLetterNative/components/calcalistNewsLetterNativeItem.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistNewsLetterNative/components/calcalistNewsLetterNativeRegisterPopup.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallCheckhout/components/desktop/calcalistPaywallCheckoutComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallCheckhout/components/desktop/calcalistPaywallCheckoutPaymentDetails.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallCheckhout/components/desktop/calcalistPaywallCheckoutPaymentFinish.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallCheckhout/components/desktop/calcalistPaywallCheckoutPersonalDetails.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallCheckhout/components/desktop/calcalistPaywallCheckoutPlans.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallCheckhout/components/desktop/multiStepProgressbar/calcalistPaywallCheckoutMultiStepsProgressbar.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallCheckhout/components/mobile/calcalistPaywallCheckoutMobileComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallCheckhout/components/mobile/calcalistPaywallCheckoutMobilePaymentDetails.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallCheckhout/components/mobile/calcalistPaywallCheckoutMobilePaymentFinish.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallCheckhout/components/mobile/calcalistPaywallCheckoutMobilePersonalDetails.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallCheckhout/components/mobile/calcalistPaywallCheckoutMobilePlans.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallHeader/calcalistPaywallLoginComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallMyAccount/components/calcalistPaywallMyAccountComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallMyAccount/components/calcalistPaywallMyAccountDesktopTabs.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallMyAccount/components/calcalistPaywallMyAccountPersonalDetails.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPaywallMyAccount/components/calcalistPaywallMyAccountpLastPurchases.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPodcastPopupPlayer/calcalistDetachedPlayer.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPodcastPopupPlayer/calcalistPodcastPlayer.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistPodcastPopupPlayer/calcalistPodcastPopupPlayer.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistTv/components/calcalistTvFront.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistTv/components/calcalistTvMobile.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistTwentyFourSevenWide/components/calcalistTwentyFourSevenWideMobile.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistUserAuth/components/calcalistUserAuthComponentaWrapper.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistWideBuzz/components/calcalistWideBuzzMobileComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/calcalistWidePhoto/components/calcalistWidePhotoMobileComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/caricaturist/components/caricaturistMobileComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/cartoonArchive/components/calcalistCartoonActions.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/cartoonArchive/components/cartoonArchiveComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/cartoonArchive/components/cartoonArchiveComponentaMobile.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/cartoonArchive/components/cartoonArticleItemSlot.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/cartoonArchive/components/cartoonArticleList.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/cartoonArchive/components/mainArticleItem.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/categoryHeader/components/hamburgerMenuList/hamburgerButton.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/categoryHeader/components/leftSideMenuComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/categoryHeader/components/logo/logoComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/categoryHeader/components/mainNav/mainNavComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/categoryHeader/components/mutamHeader/categoryHeaderMutam.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/categoryHeader/components/mutamHeader/categoryHeaderMutamSideMenu.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/categoryHeader/components/searchInput/openSearchButton.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/categoryHeader/components/searchInput/searchArea.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/categoryHeader/components/siteCategoryHeaderComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/categoryHeader/components/stampaComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/commercial/components/commercialFrontComponentaMutam.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/commercial/components/commertialFrontComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/commericalTeaser/components/commertialTeaserFront.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/commericalTeaser/components/commertialTeaserMobile.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/footer/components/footerCalcalistContent.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/generalCommercialTeaser/components/generalCommercialTeaserFront.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/generalCommercialTeaser/components/generalCommercialTeaserMobile.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/generalMutamComps/calcalistMutamShareMenu.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/generalMutamComps/standardVideoSlotItemMutam.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/generalMutamComps/standartSlotItemMutam.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/hotArticles/components/hotArticleSlotListMutam.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/imageAndCaption/components/imageAndCaptionMutamItem.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/musafArchive/mainMusafItem.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/musafArchive/musafArticleItemSlot.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/musafArchive/musafArticleList.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/musafArchive/siteMusafArchiveComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/photoArchive/components/photoArchiveMainImage.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/photoArchive/components/photoArchiveSlotItem.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/photoArchive/components/sitePhotoArchiveComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/podcastArchive/components/podcastArchiveComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/podcastArchive/components/podcastArchiveItem.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/podcastArchive/components/podcastArchiveItemList.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/podcastCategory/components/podcastCategoryComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/podcastCategory/components/podcastCategoryItem.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/podcastCategory/components/podcastCategoryItemList.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/podcastCategory/components/podcastStandartSlotItemMutam.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/sideVideoGallery/components/frontSideVideoComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/sideVideoGallery/components/sideVideoMutamSlots.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/specialContent/components/calcalistSpecialContentFront.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/specialContent/components/calcalistSpecialContentItemFront.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/specialContent/components/calcalistSpecialContentItemMobile.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/specialContent/components/calcalistSpecialContentMobile.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/verticalVideoGallery/components/VideoGalleryVerticalItemMutam.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/verticalVideoGallery/components/calcalistVideoGalleryVerticalComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/verticalVideoGallery/components/calcalistVideoGalleryVerticalMutamComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/verticalVideoGallery/components/videoGalleryVerticalDesktop.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/verticalVideoGallery/components/videoGalleryVerticalItem.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/verticalVideoGallery/components/videoGalleryVerticalMutam.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/verticalVideoGallery/components/videoVerticalFeedItem.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/verticalVideoGallery/components/videoVerticalFeedItemMutam.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/video/mutamVideoItem.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/videoArchive/components/siteVideoArchiveComponenta.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/videoArchive/components/videoArchiveArticleItem.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/videoArchive/components/videoArchiveArticleList.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/videoArchive/components/videoArchiveChannelMenu.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/videoArchive/components/videoArchiveDatePickerMenu.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/videoArchive/components/videoArchiveMainItem.tsx","webpack:///./app/widgets/defenitions/calcalistWidgets/ynetFlashList/components/ynetFlashList.tsx","webpack:///./app/widgets/defenitions/ctechWidgets/ctechBottomShareButtons/articleBottomshareButtonsCtech.tsx","webpack:///./app/widgets/defenitions/ctechWidgets/ctechHeader/components/SearchComponenta.tsx","webpack:///./app/widgets/defenitions/ctechWidgets/ctechHeader/components/ctechHeaderMenu.tsx","webpack:///./app/widgets/defenitions/ctechWidgets/ctechHeader/components/ctechMenuList.tsx","webpack:///./app/widgets/defenitions/ctechWidgets/ctechHeader/components/siteMobileCtechHeaderComponenta.tsx","webpack:///./app/widgets/defenitions/ctechWidgets/ctechTwentyFourSevenWide/components/ctechTwentyFourSevenWideItem.tsx","webpack:///./app/widgets/defenitions/ctechWidgets/ctechTwentyFourSevenWide/components/siteCtechTwentyFourSevenWideComponenta.tsx","webpack:///./app/widgets/defenitions/ctechWidgets/ctechWideBuzz/components/ctechArticleItem.tsx","webpack:///./app/widgets/defenitions/ctechWidgets/ctechWideBuzz/components/ctechArticleList.tsx","webpack:///./app/widgets/defenitions/ctechWidgets/ctechWideBuzz/components/ctechChannelMenu.tsx","webpack:///./app/widgets/defenitions/ctechWidgets/ctechWideBuzz/components/ctechDatePickerMenu.tsx","webpack:///./app/widgets/defenitions/ctechWidgets/ctechWideBuzz/components/siteCtechWideBuzz.tsx","webpack:///./app/widgets/defenitions/ctechWidgets/ynetNews/components/ynetNewsComponenta.tsx","webpack:///./app/widgets/defenitions/ctechWidgets/ynetNews/components/ynetNewsSlotItem.tsx","webpack:///./app/widgets/defenitions/detachPlayer/detachedPlayer.tsx","webpack:///./app/widgets/defenitions/englishTicker/mobileTickerAutoView.tsx","webpack:///./app/widgets/defenitions/englishTicker/siteMobileTickerComponentaInside.tsx","webpack:///./app/widgets/defenitions/gallery/components/plainGallery.tsx","webpack:///./app/widgets/defenitions/googleSearch/components/googleSearchComponenta.tsx","webpack:///./app/widgets/defenitions/infinityHeadlines/components/InfinityHeadlinesList.tsx","webpack:///./app/widgets/defenitions/infinityHeadlines/components/InfinityHeadlinesView.tsx","webpack:///./app/widgets/defenitions/infinityHeadlines/components/infinityHeadlinesItemSlot.tsx","webpack:///./app/widgets/defenitions/infinityHeadlines/components/siteInfinityHeadlinesComponenta.tsx","webpack:///./app/widgets/defenitions/laishaWidgets/header/components/laishaMobileSubChannelHeader.tsx","webpack:///./app/widgets/defenitions/laishaWidgets/header/components/mobileLaishaHeaderComponenta.tsx","webpack:///./app/widgets/defenitions/magazineWidgets/magazineHeader/components/headerScrolledMenu.tsx","webpack:///./app/widgets/defenitions/magazineWidgets/magazineHeader/components/mainNavComponenta.tsx","webpack:///./app/widgets/defenitions/magazineWidgets/magazineHeader/components/siteMagazineHeadeMutamComponenta.tsx","webpack:///./app/widgets/defenitions/magazineWidgets/magazineHeader/components/siteMagazineHeaderComponenta.tsx","webpack:///./app/widgets/defenitions/magazineWidgets/magazineVerticalVideoGallery/components/magazineVideoGalleryVerticalComponenta.tsx","webpack:///./app/widgets/defenitions/magazineWidgets/magazineVerticalVideoGallery/components/magazineVideoGalleryVerticalMutamComponenta.tsx","webpack:///./app/widgets/defenitions/magazineWidgets/magazineVerticalVideoGallery/components/videoGalleryVerticalDesktop.tsx","webpack:///./app/widgets/defenitions/magazineWidgets/magazineVerticalVideoGallery/components/videoGalleryVerticalItem.tsx","webpack:///./app/widgets/defenitions/magazineWidgets/magazineVerticalVideoGallery/components/videoGalleryVerticalItemMutam.tsx","webpack:///./app/widgets/defenitions/magazineWidgets/magazineVerticalVideoGallery/components/videoGalleryVerticalMutam.tsx","webpack:///./app/widgets/defenitions/magazineWidgets/magazineVerticalVideoGallery/components/videoVerticalFeedItem.tsx","webpack:///./app/widgets/defenitions/magazineWidgets/magazineVerticalVideoGallery/components/videoVerticalFeedItemMutam.tsx","webpack:///./app/widgets/defenitions/mediaGallery/components/frontMediaGallery.tsx","webpack:///./app/widgets/defenitions/mediaGallery/components/mediaGalleryMobile.tsx","webpack:///./app/widgets/defenitions/multImagesLabels2/components/multiImagesLabelsFront.tsx","webpack:///./app/widgets/defenitions/multiArticleRotation/components/groupItemAtSite.tsx","webpack:///./app/widgets/defenitions/multiArticleRotation/components/groupsSite.tsx","webpack:///./app/widgets/defenitions/multiImages/components/multiImagesFront.tsx","webpack:///./app/widgets/defenitions/multiImages/components/multiImagesFrontItem.tsx","webpack:///./app/widgets/defenitions/multiImagesCommertial/components/multiImagesFront.tsx","webpack:///./app/widgets/defenitions/multiImagesSpecial/components/multiImagesSpecialFront.tsx","webpack:///./app/widgets/defenitions/multiImagesWithIframe/components/multiImagesWithFrameFront.tsx","webpack:///./app/widgets/defenitions/multiImagesWithLabels/components/multiImagesLabelsFront.tsx","webpack:///./app/widgets/defenitions/myNet/components/CityList.tsx","webpack:///./app/widgets/defenitions/mynetWidgets/articleSocialShareWidget/componentas/SiteMynetArticleSideShare.tsx","webpack:///./app/widgets/defenitions/mynetWidgets/footer/components/SiteMynetFooterComponenta.tsx","webpack:///./app/widgets/defenitions/mynetWidgets/header/components/mobileHeader/citiesMenu.tsx","webpack:///./app/widgets/defenitions/mynetWidgets/header/components/mobileHeader/mobileMenu.tsx","webpack:///./app/widgets/defenitions/mynetWidgets/header/components/mobileHeader/myNetSearchInput.tsx","webpack:///./app/widgets/defenitions/mynetWidgets/header/components/mobileHeader/siteMynetHeaderMobileComponenta.tsx","webpack:///./app/widgets/defenitions/mynetWidgets/header/components/siteMynetHeaderComponenta.tsx","webpack:///./app/widgets/defenitions/mynetWidgets/multiImages/multiImageMobile.tsx","webpack:///./app/widgets/defenitions/mynetWidgets/multiImagesMultiRows/components/multiImagesRowsFront.tsx","webpack:///./app/widgets/defenitions/mynetWidgets/ticker/components/flashList.tsx","webpack:///./app/widgets/defenitions/mynetWidgets/ticker/components/popUpContent.tsx","webpack:///./app/widgets/defenitions/mynetWidgets/ticker/components/popupView.tsx","webpack:///./app/widgets/defenitions/mynetWidgets/ticker/components/tickerItemSlot.tsx","webpack:///./app/widgets/defenitions/mynetWidgets/ticker/components/tickerPopUp.tsx","webpack:///./app/widgets/defenitions/newYnetWidgets/election/components/electionDateCounter.tsx","webpack:///./app/widgets/defenitions/newYnetWidgets/gallery/components/plainGallery.tsx","webpack:///./app/widgets/defenitions/newYnetWidgets/hotTagsComponenta/hotTagsComponenta.tsx","webpack:///./app/widgets/defenitions/newYnetWidgets/hotTagsComponenta/hotTagsFront.tsx","webpack:///./app/widgets/defenitions/newYnetWidgets/multiImagesGallery/components/multiImagesLabelsFront.tsx","webpack:///./app/widgets/defenitions/newYnetWidgets/tickerWar/components/flashList.tsx","webpack:///./app/widgets/defenitions/newYnetWidgets/tickerWar/components/tickerItemSlot.tsx","webpack:///./app/widgets/defenitions/newYnetWidgets/tickerWar/components/tickerWarView.tsx","webpack:///./app/widgets/defenitions/newYnetWidgets/ynetShops/component/ynetShopsGalleryComponenta.tsx","webpack:///./app/widgets/defenitions/newsLetter/components/newsLetterSignUpPopUp.tsx","webpack:///./app/widgets/defenitions/newsLetter/components/newsletterBox.tsx","webpack:///./app/widgets/defenitions/pplus/pplusCategoryLabel/pplusCategoryLabel.tsx","webpack:///./app/widgets/defenitions/pplus/pplusGallery/components/plainGallery.tsx","webpack:///./app/widgets/defenitions/pplus/pplusHeader/components/pplusFrontHeader.tsx","webpack:///./app/widgets/defenitions/pplus/pplusHeader/components/pplusMobileArticleHeader.tsx","webpack:///./app/widgets/defenitions/pplus/pplusHeader/components/pplusMobileHeader.tsx","webpack:///./app/widgets/defenitions/pplus/pplusLoadMore/components/loader/loader.tsx","webpack:///./app/widgets/defenitions/pplus/pplusLoadMore/components/pplusLoadMore.tsx","webpack:///./app/widgets/defenitions/pplus/pplusLoadMore/components/pplusLoadMoreItemSlot.tsx","webpack:///./app/widgets/defenitions/pplus/pplusLoadMore/components/pplusLoadMoreList.tsx","webpack:///./app/widgets/defenitions/pplus/pplusLoadMore/components/pplusLoadMoreView.tsx","webpack:///./app/widgets/defenitions/pplus/pplusShareMenu/pplusShareMenu.tsx","webpack:///./app/widgets/defenitions/radioWidgets/articleAudioPodcast/components/audioPodcastPlayer.tsx","webpack:///./app/widgets/defenitions/radioWidgets/articleAudioPodcast/components/signupForPodcast.tsx","webpack:///./app/widgets/defenitions/radioWidgets/audioNewsflash/radioNewsflashPlayer.tsx","webpack:///./app/widgets/defenitions/radioWidgets/dvrRadioPlayer/adsProgressBar.tsx","webpack:///./app/widgets/defenitions/radioWidgets/dvrRadioPlayer/dvrRadioPlayer.tsx","webpack:///./app/widgets/defenitions/radioWidgets/dvrRadioPlayer/liveProgressBar.tsx","webpack:///./app/widgets/defenitions/radioWidgets/dvrRadioPlayer/playbackProgressBar.tsx","webpack:///./app/widgets/defenitions/radioWidgets/floatingPlayer/LiveFloatingRadioPlayer.tsx","webpack:///./app/widgets/defenitions/radioWidgets/floatingPlayer/aodFloatingPlayer.tsx","webpack:///./app/widgets/defenitions/radioWidgets/floatingPlayer/aodFloatingPlayerMobileWeb.tsx","webpack:///./app/widgets/defenitions/radioWidgets/floatingPlayer/audioPlayButton.tsx","webpack:///./app/widgets/defenitions/radioWidgets/floatingPlayer/imaAd.tsx","webpack:///./app/widgets/defenitions/radioWidgets/floatingPlayer/imaAdTagBuilder.ts","webpack:///./app/widgets/defenitions/radioWidgets/floatingPlayer/podcastPlayerButton.tsx","webpack:///./app/widgets/defenitions/radioWidgets/floatingPlayer/simpleLiveFloatingPlayer.tsx","webpack:///./app/widgets/defenitions/radioWidgets/radioArticleLivePlayer/components/appRadioArticleLivePlayer.tsx","webpack:///./app/widgets/defenitions/radioWidgets/radioArticleLivePlayer/components/frontRadioArticleLivePlayer.tsx","webpack:///./app/widgets/defenitions/radioWidgets/radioArticleLivePlayer/components/mutamRadioArticleLivePlayer.tsx","webpack:///./app/widgets/defenitions/radioWidgets/radioHompage/components/frontRadioHompagePlayer.tsx","webpack:///./app/widgets/defenitions/radioWidgets/radioHompage/components/mutamRadioHomepagePlayer.tsx","webpack:///./app/widgets/defenitions/radioWidgets/radioHompage/components/radioHomepagePlayerComponenta.tsx","webpack:///./app/widgets/defenitions/radioWidgets/radioSchedule/components/radioScheduleComponent.tsx","webpack:///./app/widgets/defenitions/radioWidgets/radioSchedule/components/radioScheduleListRow/radioScheduleListItem.tsx","webpack:///./app/widgets/defenitions/radioWidgets/radioSchedule/components/radioScheduleListRow/radioScheduleListRow.tsx","webpack:///./app/widgets/defenitions/radioWidgets/radioSchedule/components/radioScheduleMediaBox/radioScheduleMediaBox.tsx","webpack:///./app/widgets/defenitions/radionas/audioPlayer/radionasAudioPlayer.tsx","webpack:///./app/widgets/defenitions/radionas/live/components/radionasVideoliveMutam.tsx","webpack:///./app/widgets/defenitions/radionas/magazineGallery/components/magazineGalleryImages.tsx","webpack:///./app/widgets/defenitions/radionas/multiImages/components/frontItemMobile.tsx","webpack:///./app/widgets/defenitions/radionas/multiImages/components/multiImagesFront.tsx","webpack:///./app/widgets/defenitions/radionas/multiImages/components/multiImagesFrontMobile.tsx","webpack:///./app/widgets/defenitions/radionas/multiImages/components/multiImagesItemFront.tsx","webpack:///./app/widgets/defenitions/radionas/nasArticleStory/articleStoryComponent.tsx","webpack:///./app/widgets/defenitions/radionas/newsFlash/components/newsFlashItem.tsx","webpack:///./app/widgets/defenitions/radionas/newsFlash/components/newsFlashListWrapper.tsx","webpack:///./app/widgets/defenitions/radionas/newsFlashHomepage/components/radionasFlashItem.tsx","webpack:///./app/widgets/defenitions/radionas/newsFlashHomepage/components/radionasNewsFlashHomepageComponent.tsx","webpack:///./app/widgets/defenitions/radionas/newsFlashHomepage/components/radionasNewsFlashItemsList.tsx","webpack:///./app/widgets/defenitions/radionas/radioHomepageTeaser/components/nasRadioHomepageTeaser.tsx","webpack:///./app/widgets/defenitions/radionas/radioHompage/components/nasRadioHomepageComponent.tsx","webpack:///./app/widgets/defenitions/radionas/radioSchedule/components/currentShowItem.tsx","webpack:///./app/widgets/defenitions/radionas/radioSchedule/components/dailyScheduleItem.tsx","webpack:///./app/widgets/defenitions/radionas/radioSchedule/components/nasRadioScheduleComopnent.tsx","webpack:///./app/widgets/defenitions/radionas/radioSchedule/components/nextShowsList.tsx","webpack:///./app/widgets/defenitions/radionas/radioSchedule/components/singleShowItem.tsx","webpack:///./app/widgets/defenitions/radionas/radionasHeader/components/headerScrolledMenu.tsx","webpack:///./app/widgets/defenitions/radionas/radionasHeader/components/mainNavComponenta.tsx","webpack:///./app/widgets/defenitions/radionas/radionasHeader/components/menuPopUpComponenta.tsx","webpack:///./app/widgets/defenitions/radionas/radionasHeader/components/siteMutamRadionasHeaderComponenta.tsx","webpack:///./app/widgets/defenitions/radionas/radionasHeader/components/siteRadionasHeaderComponenta.tsx","webpack:///./app/widgets/defenitions/radionas/redmail/components/extraDetails/extraDetails.tsx","webpack:///./app/widgets/defenitions/radionas/redmail/components/filesUpload/RedMailFileUploadYnet.tsx","webpack:///./app/widgets/defenitions/radionas/redmail/components/popUp/popUp.tsx","webpack:///./app/widgets/defenitions/radionas/redmail/components/redMailComponentaRadionas.tsx","webpack:///./app/widgets/defenitions/radionas/redmail/components/textArea/textArea.tsx","webpack:///./app/widgets/defenitions/radionas/simpleAudioPlayer/simpleAudioPlayer.tsx","webpack:///./app/widgets/defenitions/radionas/storiesAuto/components/storiesAutoComponenta.tsx","webpack:///./app/widgets/defenitions/radionas/storiesAuto/components/storiesAutoMobileComponenta.tsx","webpack:///./app/widgets/defenitions/radionas/storiesAuto/components/storiesAutoMobileSlotItem.tsx","webpack:///./app/widgets/defenitions/radionas/storiesAuto/components/storiesAutoSlotItem.tsx","webpack:///./app/widgets/defenitions/radionas/storiesAuto/components/storiesItem.tsx","webpack:///./app/widgets/defenitions/radionas/storiesAuto/components/storiesItemMobile.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGallery/components/VideoGalleryVerticalItemMutam.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGallery/components/radionasVideoGalleryVerticalComponenta.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGallery/components/radionasVideoGalleryVerticalMutamComponenta.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGallery/components/videoGalleryVerticalDesktop.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGallery/components/videoGalleryVerticalItem.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGallery/components/videoGalleryVerticalMutam.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGallery/components/videoVerticalFeedItem.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGallery/components/videoVerticalFeedItemMutam.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGalleryAuto/components/VideoVerticalFeedItemMutam.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGalleryAuto/components/videoGalleryVerticalAutoComponenta.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGalleryAuto/components/videoGalleryVerticalAutoMutamComponenta.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGalleryAuto/components/videoGalleryVerticalDesktop.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGalleryAuto/components/videoGalleryVerticalItem.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGalleryAuto/components/videoGalleryVerticalItemMutam.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGalleryAuto/components/videoGalleryVerticalMutam.tsx","webpack:///./app/widgets/defenitions/radionas/verticalVideoGalleryAuto/components/videoVerticalFeedItem.tsx","webpack:///./app/widgets/defenitions/radionas/videoPageMain/components/radionasVideoMainPage.tsx","webpack:///./app/widgets/defenitions/radionas/videoPageMain/components/videoMainPageMediaShare.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/components/Container.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/components/Header.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/components/Progress.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/components/ProgressArray.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/components/ProgressWrapper.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/components/SeeMore.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/components/Spinner.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/components/Story.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/context/Global.ts","webpack:///./app/widgets/defenitions/react-insta-stories/context/Progress.ts","webpack:///./app/widgets/defenitions/react-insta-stories/context/Stories.ts","webpack:///./app/widgets/defenitions/react-insta-stories/reactInstaStories.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/renderers/AutoPlayContent.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/renderers/Default.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/renderers/Image.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/renderers/Video.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/renderers/index.ts","webpack:///./app/widgets/defenitions/react-insta-stories/renderers/wrappers/withHeader.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/renderers/wrappers/withSeeMore.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/util/renderers.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/util/time.ts","webpack:///./app/widgets/defenitions/react-insta-stories/util/use-is-mounted.tsx","webpack:///./app/widgets/defenitions/react-insta-stories/util/usePreLoader.ts","webpack:///./app/widgets/defenitions/redMail/components/extraDetails/extraDetails.tsx","webpack:///./app/widgets/defenitions/redMail/components/filesUpload/RedMailFileUploadCalcalist.tsx","webpack:///./app/widgets/defenitions/redMail/components/filesUpload/RedMailFileUploadYnet.tsx","webpack:///./app/widgets/defenitions/redMail/components/popUp/popUp.tsx","webpack:///./app/widgets/defenitions/redMail/components/redMailComponentaCalcalist.tsx","webpack:///./app/widgets/defenitions/redMail/components/redMailComponentaYnet.tsx","webpack:///./app/widgets/defenitions/redMail/components/redMailSiteComponentaWrapper.tsx","webpack:///./app/widgets/defenitions/redMail/components/textArea/textArea.tsx","webpack:///./app/widgets/defenitions/siteWidgets.tsx","webpack:///./app/widgets/defenitions/taboola/taboolaComponenta.tsx","webpack:///./app/widgets/defenitions/taboola/taboolaComponentaGrid1280.tsx","webpack:///./app/widgets/defenitions/tagPageMain/tagListComponeta.tsx","webpack:///./app/widgets/defenitions/tagPageMain/tagsSearchComponenta.tsx","webpack:///./app/widgets/defenitions/ticker/components/flashList.tsx","webpack:///./app/widgets/defenitions/ticker/components/mobileTickerManualView.tsx","webpack:///./app/widgets/defenitions/ticker/components/popUpContent.tsx","webpack:///./app/widgets/defenitions/ticker/components/popupView.tsx","webpack:///./app/widgets/defenitions/ticker/components/tickerItemSlot.tsx","webpack:///./app/widgets/defenitions/ticker/components/tickerPopUp.tsx","webpack:///./app/widgets/defenitions/ticker/components/tickerPopUpTaboola.tsx","webpack:///./app/widgets/defenitions/tickerAuto/components/siteTickerAutoComponenta.tsx","webpack:///./app/widgets/defenitions/tickerAuto/components/tickerAutoView.tsx","webpack:///./app/widgets/defenitions/weather/components/citySelectorDropdown/DropDownItem.tsx","webpack:///./app/widgets/defenitions/weather/components/citySelectorDropdown/WeatherCitySelector.tsx","webpack:///./app/widgets/defenitions/weather/components/helpers/getWeatherCode.ts","webpack:///./app/widgets/defenitions/weather/components/helpers/isSubZero.ts","webpack:///./app/widgets/defenitions/weather/translations/SeaCodeTranslations.ts","webpack:///./app/widgets/defenitions/weather/translations/UiTranslation.ts","webpack:///./app/widgets/defenitions/weather/translations/weatherCodeTranslations.ts","webpack:///./app/widgets/defenitions/weather/translations/weatherIconTranslations.ts","webpack:///./app/widgets/defenitions/weatherMapYnet/components/WeatherMapExtendedComponents/WeatherAirPollutionMap.tsx","webpack:///./app/widgets/defenitions/weatherMapYnet/components/WeatherMapExtendedComponents/WeatherHumidityMap.tsx","webpack:///./app/widgets/defenitions/weatherMapYnet/components/WeatherMapExtendedComponents/WeatherPrecipitationMap.tsx","webpack:///./app/widgets/defenitions/weatherMapYnet/components/WeatherMapExtendedComponents/WeatherTemprMap.tsx","webpack:///./app/widgets/defenitions/weatherMapYnet/components/WeatherMapExtendedComponents/WeatherUvMap.tsx","webpack:///./app/widgets/defenitions/weatherMapYnet/components/WeatherMapExtendedComponents/WeatherWaveHeightMap.tsx","webpack:///./app/widgets/defenitions/weatherMapYnet/components/WeatherMapExtendedTab/WeatherMapExtendedTab.tsx","webpack:///./app/widgets/defenitions/weatherMapYnet/components/WeatherMapExtendedTab/WeatherTab.tsx","webpack:///./app/widgets/defenitions/yPlusLoadMore/components/YplusLoadMoreView.tsx","webpack:///./app/widgets/defenitions/yPlusLoadMore/components/loader/loader.tsx","webpack:///./app/widgets/defenitions/yPlusLoadMore/components/yplusLoadMore.tsx","webpack:///./app/widgets/defenitions/yPlusLoadMore/components/yplusLoadMoreItemSlot.tsx","webpack:///./app/widgets/defenitions/yPlusLoadMore/components/yplusLoadMoreList.tsx","webpack:///./app/widgets/defenitions/yPlusSubChannelHeader/components/mobileSubChannelHeader.tsx","webpack:///./app/widgets/defenitions/yPlusSubChannelHeader/components/searchInput.tsx","webpack:///./app/widgets/defenitions/yPlusSubChannelHeader/components/subChannelHeader.tsx","webpack:///./app/widgets/defenitions/ynet1280/articleConnectUs/appArticleContact.tsx","webpack:///./app/widgets/defenitions/ynet1280/articleConnectUs/messageToAuthorBox.tsx","webpack:///./app/widgets/defenitions/ynet1280/articleConnectUs/siteArticleContact.tsx","webpack:///./app/widgets/defenitions/ynet1280/articleHeadlinesAutoWidget/components/taboolaItem.tsx","webpack:///./app/widgets/defenitions/ynet1280/autoTickerRowWidget/autoTickerRowTranslations.ts","webpack:///./app/widgets/defenitions/ynet1280/autoTickerRowWidget/components/rowTickerItemSlot.tsx","webpack:///./app/widgets/defenitions/ynet1280/autoTickerRowWidget/components/rowTickerList.tsx","webpack:///./app/widgets/defenitions/ynet1280/autoTickerRowWidget/components/siteAutoTickerRowComponenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/autoTickerRowWidget/components/tickerAutoRowView.tsx","webpack:///./app/widgets/defenitions/ynet1280/autoTickerRowWidget/components/tickerAutoRowViewMobileWeb.tsx","webpack:///./app/widgets/defenitions/ynet1280/dynamicVerticalVideoGallery/components/dynamicVideoGalleryVerticalComponenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/dynamicVerticalVideoGallery/components/dynamicVideoGalleryVerticalDesktop.tsx","webpack:///./app/widgets/defenitions/ynet1280/dynamicVerticalVideoGallery/components/dynamicVideoGalleryVerticalItem.tsx","webpack:///./app/widgets/defenitions/ynet1280/dynamicVerticalVideoGallery/components/dynamicVideoGalleryVerticalItemMutam.tsx","webpack:///./app/widgets/defenitions/ynet1280/dynamicVerticalVideoGallery/components/dynamicVideoGalleryVerticalMutam.tsx","webpack:///./app/widgets/defenitions/ynet1280/dynamicVerticalVideoGallery/components/dynamicVideoGalleryVerticalMutamComponenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/dynamicVerticalVideoGallery/components/dynamicVideoVerticalFeedItem.tsx","webpack:///./app/widgets/defenitions/ynet1280/dynamicVerticalVideoGallery/components/dynamicVideoVerticalFeedItemMutam.tsx","webpack:///./app/widgets/defenitions/ynet1280/galleryWidget/components/plainGallery.tsx","webpack:///./app/widgets/defenitions/ynet1280/liveVideoPlayerMutam/components/liveVideoPlayer.tsx","webpack:///./app/widgets/defenitions/ynet1280/liveVideoPlayerMutam/components/liveVideoPlayerMutamComponenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/liveVideoPlayerMutameEng/components/liveVideoPlayer.tsx","webpack:///./app/widgets/defenitions/ynet1280/liveVideoPlayerMutameEng/components/liveVideoPlayerMutamComponentaEng.tsx","webpack:///./app/widgets/defenitions/ynet1280/magazineMultiImages/components/frontItem.tsx","webpack:///./app/widgets/defenitions/ynet1280/magazineMultiImages/components/multiMagazineFront.tsx","webpack:///./app/widgets/defenitions/ynet1280/marketingStrip/components/frontStripMarketingComponenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/multiArticleWidget/components/weatherMultiArticleItem.tsx","webpack:///./app/widgets/defenitions/ynet1280/multiArticlesSection/components/multiArticlesSectionFront.tsx","webpack:///./app/widgets/defenitions/ynet1280/multiArticlesSection/components/multiArticlesSectionItemFront.tsx","webpack:///./app/widgets/defenitions/ynet1280/multiImages/components/frontItem.tsx","webpack:///./app/widgets/defenitions/ynet1280/multiImages/components/mulitImagesFront.tsx","webpack:///./app/widgets/defenitions/ynet1280/multiImagesMagazinesYplus/components/frontItem.tsx","webpack:///./app/widgets/defenitions/ynet1280/multiImagesMagazinesYplus/components/frontItemMobile.tsx","webpack:///./app/widgets/defenitions/ynet1280/multiImagesMagazinesYplus/components/multiImagesYplusFrontMobile.tsx","webpack:///./app/widgets/defenitions/ynet1280/multiImagesMagazinesYplus/components/multiMagazineYplusFront.tsx","webpack:///./app/widgets/defenitions/ynet1280/multiImagesYplus/components/promotionYplus.tsx","webpack:///./app/widgets/defenitions/ynet1280/newsflashAndTwentyFourSeven/components/autoTickerDesktopView.tsx","webpack:///./app/widgets/defenitions/ynet1280/newsflashAndTwentyFourSeven/components/newsFlashAndTwentyFourSevenMobileComponenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/newsflashAndTwentyFourSeven/components/rowTickerItemSlot.tsx","webpack:///./app/widgets/defenitions/ynet1280/newsflashAndTwentyFourSeven/components/rowTickerList.tsx","webpack:///./app/widgets/defenitions/ynet1280/newsflashAndTwentyFourSeven/components/tickerSlotItem.tsx","webpack:///./app/widgets/defenitions/ynet1280/newsflashAndTwentyFourSeven/components/tickerSlotList.tsx","webpack:///./app/widgets/defenitions/ynet1280/newsflashAndTwentyFourSeven/components/twentyFourSevenSlotItem.tsx","webpack:///./app/widgets/defenitions/ynet1280/newsflashAndTwentyFourSeven/components/twentyFourSevenSlotList.tsx","webpack:///./app/widgets/defenitions/ynet1280/oneVideo/oneVideoGallery.tsx","webpack:///./app/widgets/defenitions/ynet1280/topStory/components/labelText.tsx","webpack:///./app/widgets/defenitions/ynet1280/twentyFourSeven/components/twentyFourSeven1280Componenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/twentyFourSeven/components/twentyFourSeven1280SlotItem.tsx","webpack:///./app/widgets/defenitions/ynet1280/twentyFourSeven/components/twentyFourSeven1280SlotList.tsx","webpack:///./app/widgets/defenitions/ynet1280/videoGalleryVerticalWidget/components/promoCarousel.tsx","webpack:///./app/widgets/defenitions/ynet1280/videoGalleryVerticalWidget/components/videoGalleryVerticalComponenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/videoGalleryVerticalWidget/components/videoGalleryVerticalDesktop.tsx","webpack:///./app/widgets/defenitions/ynet1280/videoGalleryVerticalWidget/components/videoGalleryVerticalItem.tsx","webpack:///./app/widgets/defenitions/ynet1280/videoGalleryVerticalWidget/components/videoGalleryVerticalItemMutam.tsx","webpack:///./app/widgets/defenitions/ynet1280/videoGalleryVerticalWidget/components/videoGalleryVerticalMutam.tsx","webpack:///./app/widgets/defenitions/ynet1280/videoGalleryVerticalWidget/components/videoGalleryVerticalMutamComponenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/videoGalleryVerticalWidget/components/videoVerticalFeedItem.tsx","webpack:///./app/widgets/defenitions/ynet1280/videoGalleryVerticalWidget/components/videoVerticalFeedItemMutam.tsx","webpack:///./app/widgets/defenitions/ynet1280/videoPageMain/components/videoMainPage.tsx","webpack:///./app/widgets/defenitions/ynet1280/videoPageMain/components/videoMainPageMediaShare.tsx","webpack:///./app/widgets/defenitions/ynet1280/yPlusWithPaper/components/promoBtn.tsx","webpack:///./app/widgets/defenitions/ynet1280/yPlusWithPaper/components/yplusWithPaperComponentaUpperSection.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetHeader/components/commercialHeaderButton.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetHeader/components/mainNavComponenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetHeader/components/menuPopUpComponenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetHeader/components/mutamComponents/fontSliderComponent.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetHeader/components/mutamComponents/headerScrolledMenu.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetHeader/components/mutamComponents/mainNavMutam.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetHeader/components/mutamComponents/siteMutamYnetHeaderComponenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetHeader/components/mutamComponents/ynetWeatherMutam.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetHeader/components/newSearchButton.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetHeader/components/newYnetWeatherComponenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetHeader/components/siteYnetHeaderComponenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetLive/components/adProgressBar.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetLive/components/ynetLiveAudioPlayButton.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetLive/components/ynetLiveComponenta.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetLive/components/ynetLiveFloatingPlayer.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetLive/translations.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetShops/components/ynetShops1280Gallery.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetShops/data/ynetshopsData.ts","webpack:///./app/widgets/defenitions/ynet1280/ynetTv/components/frontYnetVideo.tsx","webpack:///./app/widgets/defenitions/ynet1280/ynetTv/components/videoGalleryTab.tsx","webpack:///./app/widgets/defenitions/ynetFooter/components/aboutLinks/aboutLinks.tsx","webpack:///./app/widgets/defenitions/ynetFooter/components/channels/channels.tsx","webpack:///./app/widgets/defenitions/ynetFooter/components/creditLogos/creditLogos.tsx","webpack:///./app/widgets/defenitions/ynetFooter/components/footerLogos/footerLogos.tsx","webpack:///./app/widgets/defenitions/ynetFooter/components/sectionLabelWithUnderlineDecoration/sectionLabelWithUnderlineDecoration.tsx","webpack:///./app/widgets/defenitions/ynetFooter/components/socialLinks/socialLinks.tsx","webpack:///./app/widgets/defenitions/ynetFooter/components/toolsAndAbout/toolsAndAbout.tsx","webpack:///./app/widgets/defenitions/ynetFooter/components/toolsLinks/toolsLinks.tsx","webpack:///./app/widgets/defenitions/ynetFooter/components/ynetFooter.tsx","webpack:///./app/widgets/defenitions/ynetNewsHeader/components/esMobileMenu.tsx","webpack:///./app/widgets/defenitions/ynetNewsHeader/components/mobileHeader.tsx","webpack:///./app/widgets/defenitions/ynetNewsHeader/components/mobileMenu.tsx","webpack:///./app/widgets/defenitions/ynetNewsHeader/components/vestiMobileMenu.tsx","webpack:///./app/widgets/defenitions/ynetNewsHeader/components/ynetNewsMobileMenu.tsx","webpack:///./app/widgets/defenitions/ynetNewsSearch/components/ynetSearch/vestyCurrency.tsx","webpack:///./app/widgets/defenitions/ynetNewsSearch/components/ynetSearch/vestySocialButtons.tsx","webpack:///./app/widgets/defenitions/ynetNewsSearch/components/ynetSearch/ynetNewsSearch.tsx","webpack:///./app/widgets/defenitions/ynetNewsSearch/components/ynetSearch/ynetnewsSocialButtons.tsx","webpack:///./app/widgets/defenitions/ynetNewsSearch/components/ynetSearchForm/ynetSearchForm.tsx","webpack:///./app/widgets/defenitions/ynetNewsSearch/components/ynetWeather/ynetWeather.tsx","webpack:///./app/widgets/defenitions/ynetPlusFooter/components/yplusAccessibiltyButton.tsx","webpack:///./app/widgets/defenitions/ynetPlusHeader/components/circlePropgressBar.tsx","webpack:///./app/widgets/defenitions/ynetPlusHeader/components/headerFront.tsx","webpack:///./app/widgets/defenitions/ynetPlusHeader/components/menu.tsx","webpack:///./app/widgets/defenitions/ynetPlusHeader/components/mobileYplusTopStory.tsx","webpack:///./app/widgets/defenitions/ynetPlusHeader/components/newsLetterSendRequest.tsx","webpack:///./app/widgets/defenitions/ynetPlusHeader/components/nonStickyNavList.tsx","webpack:///./app/widgets/defenitions/ynetPlusHeader/components/ynetPlusMobileHeader.tsx","webpack:///./app/widgets/defenitions/ynetSearch/components/ynetPianoLogin/ynetPianoLogin.tsx","webpack:///./app/widgets/defenitions/ynetSearch/components/ynetPremiumLogin/LogoutPopupComponent.tsx","webpack:///./app/widgets/defenitions/ynetSearch/components/ynetPremiumLogin/ynetPremiumLogin.tsx","webpack:///./app/widgets/defenitions/ynetSearch/components/ynetSearch/ynetSearch.tsx","webpack:///./app/widgets/defenitions/ynetSearch/components/ynetSearchForm/ynetSearchForm.tsx","webpack:///./app/widgets/defenitions/ynetSearch/components/ynetWeather/cityNamesTranslator.tsx","webpack:///./app/widgets/defenitions/ynetSearch/components/ynetWeather/ynetWeather.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/linkedFlashWidget/components/linkedFlashItem.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/redMail/components/extraDetails/extraDetailsYnetnews.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/redMail/components/filesUpload/filesUploadYnetnews.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/redMail/components/popUp/popUpYnetnews.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/redMail/components/redMailComponentaYnetnews.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/redMail/components/textArea/textAreaYnetnews.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/redMail/redMailTranslations.ts","webpack:///./app/widgets/defenitions/ynetnews1280/siteHeader/components/mainNavComponenta.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/siteHeader/components/menuPopUpComponenta.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/siteHeader/components/mutamComponents/headerScrolledMenu.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/siteHeader/components/mutamComponents/mainNavMutam.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/siteHeader/components/mutamComponents/siteMutamYnetHeaderComponenta.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/siteHeader/components/mutamComponents/ynetShareButtons.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/siteHeader/components/mutamComponents/ynetWeatherMutam.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/siteHeader/components/newSearchButton.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/siteHeader/components/newYnetWeatherComponenta.tsx","webpack:///./app/widgets/defenitions/ynetnews1280/siteHeader/components/siteYnetHeaderComponenta.tsx","webpack:///./app/widgets/defenitions/yplusMultiImages/components/yplusItemFront.tsx","webpack:///./app/widgets/defenitions/yplusMultiImages/components/yplusMultiImagesFront.tsx","webpack:///./app/widgets/defenitions/yplusSearchResults/componentas/SiteSearchInput.tsx","webpack:///./app/widgets/defenitions/yplusSearchResults/componentas/SiteYplusSearchResultsWidgetComponenta.tsx","webpack:///./app/widgets/interfaces.ts","webpack:///./app/widgets/jsonSerializer/common/jsonHelperUtils.ts","webpack:///./app/widgets/siteWidgets/PikudHaorefAlerts/pikudHaOrefAlerts.tsx","webpack:///./app/widgets/siteWidgets/SiteArticleComments.tsx","webpack:///./app/widgets/siteWidgets/accordion/accordion.tsx","webpack:///./app/widgets/siteWidgets/accordion/accordionSection.tsx","webpack:///./app/widgets/siteWidgets/accordion/accordionSocialsShareComponenta.tsx","webpack:///./app/widgets/siteWidgets/formatDateDisplay.ts","webpack:///./app/widgets/siteWidgets/scrollToTopButton/SiteScrollToTopButton.tsx","webpack:///./app/widgets/siteWidgets/siteMedia.tsx","webpack:///./app/widgets/siteWidgets/siteMediaCarousel.tsx","webpack:///./app/widgets/siteWidgets/siteMediaMutamWrapper.tsx","webpack:///./app/widgets/siteWidgets/siteMobileMediaCarousel.tsx","webpack:///./app/widgets/siteWidgets/siteWidgetUtils.ts","webpack:///./app/widgets/siteWidgets/socialShareButtons/ArticleShareButtons/ArticleShareButtons.tsx","webpack:///./app/widgets/siteWidgets/socialShareButtons/facebook/facebookShareButton.tsx","webpack:///./app/widgets/siteWidgets/socialShareButtons/mail/mailShareButton.tsx","webpack:///./app/widgets/siteWidgets/socialShareButtons/twitter/twitterShareButton.tsx","webpack:///./app/widgets/siteWidgets/socialShareButtons/utils.ts","webpack:///./app/widgets/siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/genericInlineVideoPlayer/YITVideoJsForInline.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/genericInlineVideoPlayer/abroadBlockedVideo.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/genericInlineVideoPlayer/floatingVideoLivePlayer/floatingVideoLivePlayer.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/genericInlineVideoPlayer/flowPlayerForInline/flowPlayerForInline.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/genericInlineVideoPlayer/genericInlineVideoPlayer.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/genericInlineVideoPlayer/holaPlayerForInline/holaPlayerForInline.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/genericInlineVideoPlayer/videoJsForInline/videoJsAnalytics.ts","webpack:///./app/widgets/siteWidgets/videoPlayer/genericInlineVideoPlayer/videoJsForInline/videoJsForInline.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/genericInlineVideoPlayer/youtubePlayerForInline/youtubePlayerForInline.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/genericLightboxVideoPlayer/genericLightboxVideoPlayer.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/genericLightboxVideoPlayer/siteVideoLightbox.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/genericLightboxVideoPlayer/youtubePlayerForLightbox/youtubePlayerForLightbox.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/videoAnalytics.ts","webpack:///./app/widgets/siteWidgets/videoPlayer/videoPlayerAds.ts","webpack:///./app/widgets/siteWidgets/videoPlayer/videoPlayerUtils.ts","webpack:///./app/widgets/siteWidgets/videoPlayer/videoStickiness.ts","webpack:///./app/widgets/siteWidgets/videoPlayer/videojsStickiness.ts","webpack:///./app/widgets/siteWidgets/videoPlayer/ynetTvLightBoxPlayer.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/ynetTvPlayerUtils.ts","webpack:///./app/widgets/siteWidgets/videoPlayer/youtubePlayer/utils.ts","webpack:///./app/widgets/siteWidgets/videoPlayer/youtubePlayer/ynetTvYoutubeLightBoxPlayer.tsx","webpack:///./app/widgets/siteWidgets/videoPlayer/youtubeStickiness.ts","webpack:///./app/widgets/widgetsUtils.ts","webpack:///./app/front/staticServerRendering/stockLinksInjector/images/graph.png","webpack:///./app/front/staticServerRendering/stockLinksInjector/images/green_arrow.png","webpack:///./app/front/staticServerRendering/stockLinksInjector/images/red_arrow.png","webpack:///util (ignored)","webpack:///util (ignored)?06c9","webpack:///readable-stream (ignored)"],"names":[],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA;QACA;QACA;;;;;;;;;;;;;;;ACpJA;;AACA;;AAMA,IAAM,SAAS,GAAG,UAAlB;;AAGa,0BAAkB;AAAA,mBAAS,SAAT;AAAA,CAAlB;;AACA,uBAAe;AAAA,mBAAS,SAAT;AAAA,CAAf;;AACA,qBAAa;AAAA,mBAAS,SAAT;AAAA,CAAb;;AACA,sBAAc;AAAA,mBAAS,SAAT;AAAA,CAAd;;AACA,sBAAc;AAAA,mBAAS,SAAT;AAAA,CAAd;;AACA,uBAAe;AAAA,mBAAS,SAAT;AAAA,CAAf;;AACA,0BAAkB,UAAC,MAAD,EAAiB,MAAjB;AAAA,mBAAoD,SAApD,iCAAoF,MAApF,cAA8F,MAA9F;AAAA,CAAlB;;AACA,qBAAa,UAAC,UAAD;AAAA,mBAA2B,SAA3B,yBAAmD,UAAnD;AAAA,CAAb;;AACA,4BAAoB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,wCAAkE,UAAlE;AAAA,CAApB;;AACA,wBAAgB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,iCAA2D,UAA3D;AAAA,CAAhB;;AACA,yBAAiB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,gCAA0D,UAA1D;AAAA,CAAjB;;AACA,qBAAa,UAAC,UAAD;AAAA,mBAA2B,SAA3B,0BAAoD,UAApD;AAAA,CAAb;;AACA,8BAAsB,UAAC,QAAD;AAAA,mBAAyB,SAAzB,qCAA6D,QAA7D;AAAA,CAAtB;;AACA,6BAAqB,UAAC,QAAD;AAAA,mBAAyB,SAAzB,+CAAuE,QAAvE;AAAA,CAArB;;AACA,+BAAuB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,sCAAgE,UAAhE;AAAA,CAAvB;;AACA,kCAA0B,UAAC,UAAD;AAAA,mBAA2B,SAA3B,6CAAuE,UAAvE;AAAA,CAA1B;;AACA,6BAAqB,UAAC,UAAD;AAAA,mBAAqC,SAArC,iCAAqE,UAArE;AAAA,CAArB;;AACA,8BAAsB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,2CAAqE,UAArE;AAAA,CAAtB;;AACA,8BAAsB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,8BAAwD,UAAxD;AAAA,CAAtB;;AACA,yBAAiB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,gCAA0D,UAA1D;AAAA,CAAjB;;AACA,8BAAsB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,0CAAoE,UAApE;AAAA,CAAtB;;AACA,oCAA4B,UAAC,YAAD;AAAA,mBAA6B,SAA7B,qDAAiF,YAAjF;AAAA,CAA5B;;AACA,0BAAkB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,gCAA0D,UAA1D;AAAA,CAAlB;;AACA,0BAAkB;AAAA,mBAAS,SAAT;AAAA,CAAlB;;AACA,uBAAe,UAAC,IAAD,EAAe,MAAf;AAAA,mBAAqC,SAArC,2BAA+D,IAA/D,cAAuE,MAAvE;AAAA,CAAf;;AACA,qBAAa;AAAA,mBAAS,SAAT;AAAA,CAAb;;AACA,gCAAwB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,uCAAiE,UAAjE;AAAA,CAAxB;;AAEA,qCAA6B;AAAA,mBAAS,SAAT;AAAA,CAA7B;;AACA,6CAAqC;AAAA,mBAAS,SAAT;AAAA,CAArC;;AACA,uBAAe,UAAC,SAAD;AAAA,mBAA0B,SAA1B,gCAAyD,SAAzD;AAAA,CAAf;;AACA,yBAAiB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,6BAAuD,UAAvD;AAAA,CAAjB;;AACA,4BAAoB,UAAC,SAAD;AAAA,mBAA0B,SAA1B,iCAA0D,SAA1D;AAAA,CAApB;;AACA,6BAAqB,UAAC,SAAD;AAAA,mBAA0B,SAA1B,mCAA4D,SAA5D;AAAA,CAArB;;AACA,2BAAmB;AAAA,mBAAS,SAAT;AAAA,CAAnB;;AACA,4BAAoB;AAAA,mBAAS,SAAT;AAAA,CAApB;;AACA,wBAAgB;AAAA,mBAAS,SAAT;AAAA,CAAhB;;AACA,4BAAoB;AAAA,mBAAS,SAAT;AAAA,CAApB;;AACA,6BAAqB;AAAA,mBAAS,SAAT;AAAA,CAArB;;AACA,gCAAwB;AAAA,mBAAS,SAAT;AAAA,CAAxB;;AACA,sBAAc;AAAA,mBAAS,SAAT;AAAA,CAAd;;AACA,kBAAU;AAAA,MAAC,qBAAD,uEAAkC,KAAlC;AAAA,mBAA+C,SAA/C,uBAAqE,qBAAqB,GAAG,uBAAH,GAA6B,EAAvH;AAAA,CAAV;;AACA,sBAAc;AAAA,mBAAS,SAAT;AAAA,CAAd;;AACA,4BAAoB;AAAA,mBAAS,SAAT;AAAA,CAApB;;AACA,uBAAe;AAAA,mBAAS,SAAT;AAAA,CAAf;;AACA,qBAAa,UAAC,KAAD;AAAA,mBAAsB,SAAtB,kCAAuD,KAAvD;AAAA,CAAb;;AACA,yBAAiB,UAAC,SAAD;AAAA,mBAA0B,SAA1B,qCAA8D,SAA9D;AAAA,CAAjB;;AACA,0BAAkB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,wCAAkE,UAAlE;AAAA,CAAlB;;AACA,wBAAgB;AAAA,mBAAS,SAAT;AAAA,CAAhB;;AACA,wBAAgB;AAAA,mBAAS,SAAT;AAAA,CAAhB;;AACA,4BAAoB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,sBAAgD,UAAhD;AAAA,CAApB;;AACA,0BAAkB,UAAC,MAAD;AAAA,mBAAuB,SAAvB,+BAAqD,MAArD;AAAA,CAAlB;;AACA,6BAAqB,UAAC,SAAD;AAAA,mBAA0B,SAA1B,kCAA2D,SAA3D;AAAA,CAArB;;AACA,2BAAmB;AAAA,mBAAS,SAAT;AAAA,CAAnB;;AACA,4BAAoB;AAAA,mBAAS,SAAT;AAAA,CAApB;;AACA,wBAAgB,UAAC,MAAD;AAAA,mBAAuB,SAAvB;AAAA,CAAhB;;AACA,4BAAoB,UAAC,SAAD;AAAA,mBAA0B,SAA1B,wCAAiE,SAAjE;AAAA,CAApB;;AACA,4BAAoB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,0CAAoE,UAApE;AAAA,CAApB;;AACA,4BAAoB,UAAC,gBAAD;AAAA,mBAAiC,SAAjC,kCAAkE,gBAAlE;AAAA,CAApB;;AACA,kCAA0B;AAAA,mBAAS,SAAT;AAAA,CAA1B;;AACA,uBAAe;AAAA,mBAAS,SAAT;AAAA,CAAf;;AACA,wBAAgB,UAAC,SAAD;AAAA,mBAAyB,SAAzB,qCAA6D,SAA7D;AAAA,CAAhB;;AACA,8BAAsB;AAAA,mBAAS,SAAT;AAAA,CAAtB;;AAEA,sBAAc,UAAC,KAAD,EAAmC,MAAnC,EAAiE;AACxF,MAAI,GAAJ;AACA,MAAI,OAAO,GAAG,KAAd;;AACA,MAAI,OAAQ,KAAR,IAAkB,QAAtB,EAAgC;AAC5B,OAAG,GAAG,KAAN;AACH,GAFD,MAEO;AACH,QAAI,CAAC,4BAAD,IAAkB,CAAC,2CAAvB,EAAqD;AACjD,aAAO,8BAAiB,KAAjB,EAAwB,MAAxB,CAAP;AACH;;AACD,QAAI,CAAC,KAAL,EAAY;AACR,aAAO,EAAP;AACH;;AACD,QAAI,KAAK,CAAC,cAAV,EAA0B;AACtB,aAAO,KAAK,CAAC,cAAb;AACH,KAFD,MAEO,IAAI,KAAK,CAAC,CAAN,KAAY,SAAZ,IAAyB,KAAK,CAAC,CAAN,KAAY,SAArC,IAAkD,KAAK,CAAC,KAAN,KAAgB,SAAlE,IAA+E,KAAK,CAAC,MAAN,KAAiB,SAApG,EAA+G;AAClH,SAAG,GAAG,KAAK,CAAC,GAAZ;AACH,KAFM,MAEA;AACH,UAAI,CAAC,KAAK,CAAC,GAAX,EAAgB,OAAO,EAAP;AAChB,aAAO,GAAG,IAAV;AACA,SAAG,aAAM,SAAN,sCAA2C,KAAK,CAAC,GAAjD,CAAH;AACA,UAAI,KAAK,CAAC,MAAV,EAAkB,GAAG,sBAAe,KAAK,CAAC,MAArB,CAAH;;AAClB,UAAI,KAAK,CAAC,KAAN,IAAe,KAAK,CAAC,MAAzB,EAAiC;AAC7B,YAAM,SAAS,qBAAQ,KAAR,CAAf;AACA,YAAI,SAAS,CAAC,CAAV,IAAe,IAAnB,EAAyB,SAAS,CAAC,CAAV,GAAc,CAAd;AACzB,YAAI,SAAS,CAAC,CAAV,IAAe,IAAnB,EAAyB,SAAS,CAAC,CAAV,GAAc,CAAd;AACzB,WAAG,oBAAa,SAAS,CAAC,CAAvB,cAA4B,SAAS,CAAC,CAAtC,cAA2C,MAAM,CAAC,SAAS,CAAC,CAAX,CAAN,GAAsB,MAAM,CAAC,SAAS,CAAC,KAAX,CAAvE,cAA4F,MAAM,CAAC,SAAS,CAAC,CAAX,CAAN,GAAsB,MAAM,CAAC,SAAS,CAAC,MAAX,CAAxH,CAAH;AACH;;AACD,UAAI,KAAK,CAAC,aAAV,EAAyB;AACrB,WAAG,6BAAsB,KAAK,CAAC,aAA5B,CAAH;AACH;AACJ;AACJ;;AACD,MAAI,GAAG,IAAI,MAAP,KAAkB,MAAM,CAAC,CAAP,IAAY,MAAM,CAAC,CAArC,CAAJ,EAA6C;AACzC,QAAI,CAAC,OAAL,EAAc,GAAG,aAAM,SAAN,sCAA2C,GAA3C,CAAH;AACd,OAAG,sBAAe,MAAM,CAAC,CAAP,IAAY,EAA3B,cAAiC,MAAM,CAAC,CAAP,IAAY,EAA7C,CAAH;AACH;;AAED,SAAO,GAAG,IAAI,EAAd;AACH,CAtCY;;AAwCA,6BAAqB,UAAC,QAAD;AAAA,SAAsB,QAAtB;AAAA,CAArB;;AAEA,8BAAsB;AAAA,mBAAS,SAAT;AAAA,CAAtB;;AACA,yCAAiC,UAAC,SAAD;AAAA,mBAAoC,SAApC,+CAAkF,SAAlF;AAAA,CAAjC;;AACA,uBAAe;AAAA,mBAAS,SAAT;AAAA,CAAf;;AACA,sBAAc,UAAC,MAAD,EAAiB,SAAjB;AAAA,mBAA0C,SAA1C,mBAA4D,MAA5D,SAAqE,SAAS,mBAAY,SAAZ,MAA9E;AAAA,CAAd;;AACA,0BAAkB,UAAC,MAAD;AAAA,mBAAuB,SAAvB,wBAA8C,MAA9C;AAAA,CAAlB;;AACA,qBAAa,UAAC,MAAD;AAAA,mBAAuB,SAAvB,0BAAgD,MAAhD;AAAA,CAAb;;AACA,sBAAc,UAAC,MAAD;AAAA,mBAAuB,SAAvB,2BAAiD,MAAjD;AAAA,CAAd;;AACA,wBAAgB,UAAC,MAAD;AAAA,mBAAuB,SAAvB,6BAAmD,MAAnD;AAAA,CAAhB;;AACA,sBAAc,UAAC,MAAD;AAAA,mBAAuB,SAAvB,yBAA+C,MAA/C;AAAA,CAAd;;AACA,0CAAkC;AAAA,mBAAS,SAAT;AAAA,CAAlC;;AACA,+BAAuB,UAAC,MAAD;AAAA,mBAAuB,SAAvB,kCAAwD,MAAxD;AAAA,CAAvB;;AACA,4BAAoB;AAAA,mBAAS,SAAT;AAAA,CAApB;;AACA,mBAAW,UAAC,MAAD;AAAA,mBAAuB,SAAvB,wBAA8C,MAA9C;AAAA,CAAX;;AACA,0BAAkB,UAAC,MAAD;AAAA,mBAAuB,SAAvB,+BAAqD,MAArD;AAAA,CAAlB;;AAGA,sBAAc;AAAA,mBAAS,SAAT;AAAA,CAAd;;AAGA,qBAAa,UAAC,SAAD;AAAA,MAAoB,WAApB,uEAAkC,IAAlC;AAAA,mBAA8C,SAA9C,kCAA+E,SAA/E,SAA2F,WAAW,qBAAc,WAAd,MAAtG;AAAA,CAAb;;AACA,4BAAoB,UAAC,QAAD;AAAA,mBAAyB,SAAzB,iCAAyD,QAAzD;AAAA,CAApB;;AAEA,sBAAc;AAAA,mBAAS,SAAT;AAAA,CAAd;;AAEA,kBAAU,UAAC,MAAD;AAAA,mBAAuB,SAAvB,uBAA6C,MAA7C;AAAA,CAAV;;AACA,mBAAW;AAAA,mBAAS,SAAT;AAAA,CAAX;;AACA,oBAAY,UAAC,QAAD;AAAA,mBAAiB,SAAjB,kCAAkD,QAAlD;AAAA,CAAZ;;AAEA,6BAAqB;AAAA,mBAAS,SAAT;AAAA,CAArB;;AACA,4BAAoB;AAAA,mBAAS,SAAT;AAAA,CAApB;;AAEA,uBAAe;AAAA,mBAAS,SAAT;AAAA,CAAf;;AAEA,8BAAsB;AAAA,mBAAS,SAAT;AAAA,CAAtB;;AACA,6BAAqB,UAAC,YAAD;AAAA,mBAA6B,SAA7B,gDAA4E,YAA5E;AAAA,CAArB;;AACA,sBAAc,UAAC,YAAD;AAAA,mBAA6B,SAA7B,wCAAoE,YAApE;AAAA,CAAd;;AACA,oBAAY;AAAA,mBAAS,SAAT;AAAA,CAAZ;;AACA,oBAAY,UAAC,MAAD;AAAA,mBAAuB,SAAvB,gCAAsD,MAAM,GAAG,MAAH,GAAY,KAAxE;AAAA,CAAZ;;AACA,0BAAkB;AAAA,mBAAS,SAAT;AAAA,CAAlB;;AACA,mCAA2B;AAAA,mBAAS,SAAT;AAAA,CAA3B;;AACA,0BAAkB,UAAC,OAAD;AAAA,mBAAwB,SAAxB,2BAAkD,OAAlD;AAAA,CAAlB;;AACA,4BAAoB,UAAC,OAAD;AAAA,mBAAwB,SAAxB,2BAAkD,OAAlD;AAAA,CAApB;;AAEA,sBAAc,UAAC,OAAD;AAAA,mBAAwB,SAAxB,gCAAuD,OAAvD;AAAA,CAAd;;AACA,yBAAiB,UAAC,YAAD;AAAA,mBAA6B,SAA7B,kCAA8D,YAA9D;AAAA,CAAjB;;AACA,4BAAoB,UAAC,YAAD;AAAA,mBAA6B,SAA7B,qCAAiE,YAAjE;AAAA,CAApB;;AACA,iCAAyB,UAAC,aAAD;AAAA,mBAA8B,SAA9B,0CAAuE,aAAvE;AAAA,CAAzB;;AAEA,mCAA2B,UAAC,SAAD;AAAA,mBAA0B,SAA1B,uCAAgE,SAAhE;AAAA,CAA3B;;AACA,sBAAc,UAAC,OAAD;AAAA,mBAAwB,SAAxB,iCAAwD,OAAxD;AAAA,CAAd,C,CAEb;;;AACa,mBAAW,UAAC,MAAD;AAAA,mBAAuB,SAAvB,oCAA0D,MAA1D;AAAA,CAAX;;AACA,0BAAkB;AAAA,MAAC,UAAD,uEAAuB,KAAvB;AAAA,mBAAoC,SAApC,4CAA+E,UAAU,GAAG,YAAH,GAAkB,EAA3G;AAAA,CAAlB;;AACA,qBAAa,UAAC,MAAD;AAAA,mBAAuB,SAAvB,kCAAwD,MAAxD;AAAA,CAAb;;AACA,+BAAuB;AAAA,mBAAS,SAAT;AAAA,CAAvB;;AACA,mBAAW;AAAA,mBAAS,SAAT;AAAA,CAAX,C,CAEb;;;AACa,sBAAc;AAAA,mBAAS,SAAT;AAAA,CAAd;;AACA,yBAAiB,UAAC,MAAD;AAAA,mBAAuB,SAAvB,0BAAgD,MAAhD;AAAA,CAAjB;;AACA,2BAAmB,UAAC,MAAD;AAAA,mBAAuB,SAAvB,0BAAgD,MAAhD;AAAA,CAAnB;;AACA,uBAAe;AAAA,mBAAS,SAAT;AAAA,CAAf;;AACA,yBAAiB;AAAA,mBAAS,SAAT;AAAA,CAAjB;;AACA,0BAAkB;AAAA,mBAAS,SAAT;AAAA,CAAlB;;AACA,uBAAe;AAAA,mBAAS,SAAT;AAAA,CAAf;;AACA,oBAAY;AAAA,mBAAS,SAAT;AAAA,CAAZ;;AACA,oCAA4B;AAAA,mBAAS,SAAT;AAAA,CAA5B;;AACA,4BAAoB;AAAA,mBAAS,SAAT;AAAA,CAApB,C,CAEb;;;AACa,gCAAwB;AAAA,mBAAS,SAAT;AAAA,CAAxB;;AACA,gCAAwB;AAAA,mBAAS,SAAT;AAAA,CAAxB;;AACA,8BAAsB;AAAA,mBAAS,SAAT;AAAA,CAAtB;;AACA,+BAAuB,UAAC,OAAD;AAAA,mBAAwB,SAAxB,uCAA8D,OAA9D;AAAA,CAAvB;;AACA,iCAAyB;AAAA,mBAAS,SAAT;AAAA,CAAzB;;AACA,+BAAuB;AAAA,mBAAS,SAAT;AAAA,CAAvB;;AACA,oCAA4B,UAAC,OAAD;AAAA,mBAAwB,SAAxB,qCAA4D,OAA5D;AAAA,CAA5B;;AACA,8BAAsB,UAAC,MAAD;AAAA,mBAAuB,SAAvB,sCAA4D,MAA5D;AAAA,CAAtB;;AACA,8BAAsB;AAAA,mBAAS,SAAT;AAAA,CAAtB,C,CAEb;;;AACa,+BAAuB;AAAA,mBAAS,SAAT;AAAA,CAAvB;;AACA,4BAAoB;AAAA,mBAAS,SAAT;AAAA,CAApB;;AACA,yBAAiB;AAAA,mBAAS,SAAT;AAAA,CAAjB;;AACA,yBAAiB;AAAA,mBAAS,SAAT;AAAA,CAAjB;;AACA,4BAAoB;AAAA,MAAC,GAAD,uEAA6B,SAA7B;AAAA,mBAA8C,SAA9C,4CAAyF,GAAzF;AAAA,CAApB;;AACA,sBAAc;AAAA,mBAAS,SAAT;AAAA,CAAd;;AACA,4BAAoB;AAAA,mBAAS,SAAT;AAAA,CAApB,C,CAEb;;;AACa,2CAAmC,UAAC,OAAD;AAAA,mBAAwB,SAAxB,oDAA2E,OAA3E;AAAA,CAAnC;;AACA,sCAA8B;AAAA,mBAAS,SAAT;AAAA,CAA9B;;AACA,gCAAwB,UAAC,YAAD;AAAA,mBAA6B,SAA7B,yCAAqE,YAArE;AAAA,CAAxB,C,CAEb;;;AACa,uBAAe,UAAC,IAAD;AAAA,mBAAqB,SAArB,2CAA+D,IAA/D;AAAA,CAAf,C,CAEb;;;AACa,+BAAuB;AAAA,mBAAS,SAAT;AAAA,CAAvB;;AACA,+BAAuB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,sCAAgE,UAAhE;AAAA,CAAvB;;AACA,yBAAiB,UAAC,UAAD,EAAqB,SAArB,EAAwC,gBAAxC;AAAA,mBAAwE,SAAxE,+CAAsH,UAAtH,cAAoI,SAApI,cAAiJ,gBAAjJ;AAAA,CAAjB;;AACA,sBAAc,UAAC,UAAD,EAAqB,SAArB;AAAA,mBAA8C,SAA9C,+CAA4F,UAA5F,cAA0G,SAA1G;AAAA,CAAd;;AACA,8BAAsB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,sCAAgE,UAAhE;AAAA,CAAtB;;AACA,iCAAyB,UAAC,UAAD;AAAA,mBAA2B,SAA3B,sCAAgE,UAAhE;AAAA,CAAzB;;AACA,0BAAkB,UAAC,QAAD,EAAmB,IAAnB;AAAA,mBAAwC,SAAxC,mCAA0E,QAA1E,cAAsF,IAAI,GAAG,IAAH,GAAU,EAApG;AAAA,CAAlB;;AACA,6BAAqB,UAAC,QAAD;AAAA,mBAAyB,SAAzB,yDAAiF,QAAjF;AAAA,CAArB;;AACA,oCAA4B,UAAC,UAAD;AAAA,mBAA2B,SAA3B,4CAAsE,UAAtE;AAAA,CAA5B,C,CAEb;;;AACa,yBAAiB;AAAA,mBAAS,SAAT;AAAA,CAAjB;;AACA,6BAAqB;AAAA,mBAAS,SAAT;AAAA,CAArB,C,CAEb;;;AACa,+BAAuB,UAAC,QAAD;AAAA,mBAAyB,SAAzB,kDAA0E,QAA1E;AAAA,CAAvB;;AACA,+BAAuB,UAAC,QAAD;AAAA,mBAAyB,SAAzB,kDAA0E,QAA1E;AAAA,CAAvB,C,CAEb;;;AACa,kCAA0B,UAAC,IAAD;AAAA,mBAAqB,SAArB,uCAA2D,IAA3D;AAAA,CAA1B;;AACA,iCAAyB,UAAC,MAAD;AAAA,mBAAuB,SAAvB,6CAAmE,MAAnE;AAAA,CAAzB;;AACA,sCAA8B,UAAC,IAAD;AAAA,mBAAqB,SAArB,wCAA4D,IAA5D;AAAA,CAA9B;;AACA,wBAAgB,UAAC,MAAD;AAAA,mBAAuB,SAAvB,6CAAmE,MAAnE;AAAA,CAAhB;;AACA,2BAAmB,UAAC,MAAD;AAAA,mBAAuB,SAAvB,gDAAsE,MAAtE;AAAA,CAAnB;;AACA,4BAAoB,UAAC,MAAD;AAAA,mBAAuB,SAAvB,4CAAkE,MAAlE;AAAA,CAApB;;AACA,6BAAqB,UAAC,MAAD;AAAA,mBAAuB,SAAvB,6BAAmD,MAAnD;AAAA,CAArB;;AACA,yBAAiB,UAAC,IAAD;AAAA,0CAA4C,IAA5C;AAAA,CAAjB;;AACA,8BAAsB,UAAC,IAAD;AAAA,4CAA8C,IAA9C;AAAA,CAAtB;;AACA,2CAAmC;AAAA,mBAAS,SAAT;AAAA,CAAnC;;AACA,4BAAoB;AAAA,mBAAS,SAAT;AAAA,CAApB,C,CAKb;;;AACa,8BAAsB;AAAA,mBAAS,SAAT;AAAA,CAAtB;;AACA,6BAAqB;AAAA,mBAAS,SAAT;AAAA,CAArB,C,CAEb;;;AACa,0BAAkB,UAAC,MAAD;AAAA,mBAAuB,SAAvB,kCAAwD,MAAxD;AAAA,CAAlB;;AACA,iBAAS;AAAA,mBAAS,SAAT;AAAA,CAAT;;AACA,mBAAW,UAAC,IAAD;AAAA,mBAAqB,SAArB,gCAAoD,IAApD;AAAA,CAAX,C,CAEb;;;AACa,4BAAoB,UAAC,SAAD,EAAoB,kBAApB,EAAgD,gBAAhD;AAAA,mBAC9B,SAD8B,oDACqB,kBADrB,uBACoD,gBADpD,0BACoF,SADpF;AAAA,CAApB,C,CAGb;;;AACa,uCAA+B;AAAA,mBAAS,SAAT;AAAA,CAA/B;;AACA,iCAAyB;AAAA,mBAAS,SAAT;AAAA,CAAzB;;AACA,8BAAsB;AAAA,mBAAS,SAAT;AAAA,CAAtB,C;;;;;;;;;;;;;;AC5Qb;;AAGa,mBAAW,UAAX;AACA,6BAAqB,mBAArB;AACA,kBAAU,gBAAV;AACA,4BAAa,gBAAb;AACA,iBAAS,QAAT;AACA,gBAAQ,OAAR;AACA,eAAO,WAAP;AACA,uBAAe,qBAAf;AACA,kBAAU,KAAV;AACA,mBAAW,sBAAX;AACA,iCAAyB,kDAAzB;AACA,oBAAY,WAAZ;AACA,gBAAQ,OAAR;AACA;AACA,gBAAQ,OAAR;AACA,gBAAQ,OAAR;AACA,eAAO,MAAP;AACA,gBAAQ,OAAR;AACA,wBAAgB,cAAhB;AACA,uBAAe,aAAf;AACA,+BAAuB,qBAAvB;AACA,6BAAqB,eAArB;AACA,wBAAgB,eAAhB;AACA,+BAAuB,qBAAvB;AACA,gCAAwB,sBAAxB;AACA,uBAAe,aAAf;AACA,yBAAiB,eAAjB;AACA,yBAAiB,eAAjB;AACA,wBAAgB,cAAhB;AACA,eAAO,MAAP;AACA,oBAAY,cAAZ;AACA,oBAAY,WAAZ;AACA;AACA,kBAAU,SAAV;AACA,8BAAe,eAAf;AACA,mCAAoB,eAApB;AACA,gDAAiC,eAAjC;AACA,gBAAQ,OAAR;AACA,6BAAqB,kBAArB;AACA,kCAA0B,sBAA1B;AACA,2CAA4B,eAA5B;;AAEb,IAAM,yBAAyB,GAAG,SAA5B,yBAA4B,CAAC,IAAD;AAAA,SAAkB,IAAI,IAAI,IAAI,CAAC,UAAL,CAAgB,GAAhB,CAAR,GAA+B,IAA/B,GAAsC,MAAM,IAA9D;AAAA,CAAlC;;AAGA,IAAM,aAAa,GAAG,IAAI,KAAJ,YAAc,gBAAd,EAAtB;;AACA,SAAgB,iBAAhB,CAAkC,IAAlC,EAA8C;AAC1C,SAAO,aAAa,CAAC,KAAd,CAAoB,yBAAyB,CAAC,IAAD,CAA7C,CAAP;AACH;;AAFD;AAGA,IAAM,sBAAsB,GAAG,IAAI,KAAJ,YAAc,0BAAd,EAA/B;;AACA,SAAgB,0BAAhB,CAA2C,IAA3C,EAAuD;AACnD,SAAO,sBAAsB,CAAC,KAAvB,CAA6B,yBAAyB,CAAC,IAAD,CAAtD,CAAP;AACH;;AAFD;AAIA,IAAM,mBAAmB,GAAG,IAAI,KAAJ,YAAc,eAAd,EAA5B;;AACA,SAAgB,uBAAhB,CAAwC,IAAxC,EAAoD;AAChD,SAAO,mBAAmB,CAAC,KAApB,CAA0B,yBAAyB,CAAC,IAAD,CAAnD,CAAP;AACH;;AAFD;AAIA,IAAM,YAAY,GAAG,IAAI,KAAJ,YAAc,eAAd,EAArB;;AACA,SAAgB,WAAhB,CAA4B,SAA5B,EAA6C;AACzC,SAAO,YAAY,CAAC,OAAb,CAAqB;AAAE,aAAS,EAAT;AAAF,GAArB,CAAP;AACH;;AAFD;;AAGA,SAAgB,gBAAhB,CAAiC,IAAjC,EAA6C;AACzC,SAAO,YAAY,CAAC,KAAb,CAAmB,yBAAyB,CAAC,IAAD,CAA5C,CAAP;AACH;;AAFD;AAIA,IAAM,UAAU,GAAG,IAAI,KAAJ,YAAc,aAAd,EAAnB;;AACA,SAAgB,cAAhB,CAA+B,IAA/B,EAA2C;AACvC,SAAO,UAAU,CAAC,KAAX,CAAiB,yBAAyB,CAAC,IAAD,CAA1C,CAAP;AACH;;AAFD;AAGA,IAAM,SAAS,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,YAAvB,EAAlB;;AACA,SAAgB,QAAhB,CAAyB,MAAzB,EAAuC;AACnC,SAAO,SAAS,CAAC,OAAV,CAAkB;AAAE,UAAM,EAAN;AAAF,GAAlB,CAAP;AACH;;AAFD;;AAGA,SAAgB,aAAhB,CAA8B,IAA9B,EAA0C;AACtC,SAAO,SAAS,CAAC,KAAV,CAAgB,yBAAyB,CAAC,IAAD,CAAzC,CAAP;AACH;;AAFD;AAIA,IAAM,gBAAgB,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,oBAAvB,EAAzB;;AACA,SAAgB,eAAhB,CAAgC,MAAhC,EAA8C;AAC1C,SAAO,gBAAgB,CAAC,OAAjB,CAAyB;AAAE,UAAM,EAAN;AAAF,GAAzB,CAAP;AACH;;AAFD;AAIA,IAAM,YAAY,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,eAAvB,EAArB;;AACA,SAAgB,WAAhB,GAA2B;AACvB,oBAAW,aAAX,cAAoB,eAApB;AACH;;AAFD;;AAGA,SAAgB,gBAAhB,CAAiC,IAAjC,EAA6C;AACzC,SAAO,YAAY,CAAC,KAAb,CAAmB,yBAAyB,CAAC,IAAD,CAA5C,CAAP;AACH;;AAFD;AAIA,IAAM,aAAa,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,gBAAvB,EAAtB;;AACA,SAAgB,YAAhB,CAA6B,UAA7B,EAA+C;AAC3C,SAAO,aAAa,CAAC,OAAd,CAAsB;AAAE,cAAU,EAAV;AAAF,GAAtB,CAAP;AACH;;AAFD;;AAGA,SAAgB,iBAAhB,CAAkC,IAAlC,EAA8C;AAC1C,SAAO,aAAa,CAAC,KAAd,CAAoB,yBAAyB,CAAC,IAAD,CAA7C,CAAP;AACH;;AAFD;AAIA,IAAM,2BAA2B,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,8BAAvB,EAApC;;AACA,SAAgB,0BAAhB,CAA2C,wBAA3C,EAA2E;AACvE,SAAO,2BAA2B,CAAC,OAA5B,CAAoC;AAAE,4BAAwB,EAAxB;AAAF,GAApC,CAAP;AACH;;AAFD;;AAGA,SAAgB,+BAAhB,CAAgD,IAAhD,EAA4D;AACxD,SAAO,2BAA2B,CAAC,KAA5B,CAAkC,yBAAyB,CAAC,IAAD,CAA3D,CAAP;AACH;;AAFD;AAIA,IAAM,aAAa,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,kBAAvB,EAAtB;AACA,IAAM,eAAe,GAAG,IAAI,KAAJ,YAAc,aAAd,EAAxB;;AACA,SAAgB,eAAhB,GAA+B;AAC3B,SAAO,eAAe,CAAC,OAAhB,CAAwB,EAAxB,CAAP;AACH;;AAFD;;AAGA,SAAgB,YAAhB,CAA6B,MAA7B,EAA2C;AACvC,SAAO,aAAa,CAAC,OAAd,CAAsB;AAAE,UAAM,EAAN;AAAF,GAAtB,CAAP;AACH;;AAFD;;AAGA,SAAgB,iBAAhB,CAAkC,IAAlC,EAA8C;AAC1C,SAAO,aAAa,CAAC,KAAd,CAAoB,yBAAyB,CAAC,IAAD,CAA7C,CAAP;AACH;;AAFD;;AAGA,SAAgB,kBAAhB,CAAmC,IAAnC,EAA+C;AAC3C,SAAO,eAAe,CAAC,KAAhB,CAAsB,yBAAyB,CAAC,IAAD,CAA/C,CAAP;AACH;;AAFD;AAIA,IAAM,cAAc,GAAG,IAAI,KAAJ,YAAc,iBAAd,EAAvB;;AACA,SAAgB,kBAAhB,CAAmC,IAAnC,EAA+C;AAC3C,SAAO,cAAc,CAAC,KAAf,CAAqB,yBAAyB,CAAC,IAAD,CAA9C,CAAP;AACH;;AAFD;AAGA,IAAM,UAAU,GAAG,IAAI,KAAJ,YAAc,iBAAd,cAA2B,aAA3B,EAAnB;;AACA,SAAgB,cAAhB,CAA+B,IAA/B,EAA2C;AACvC,SAAO,UAAU,CAAC,KAAX,CAAiB,yBAAyB,CAAC,IAAD,CAA1C,CAAP;AACH;;AAFD;AAGA,IAAM,SAAS,GAAG,IAAI,KAAJ,YAAc,YAAd,EAAlB;;AACA,SAAgB,aAAhB,CAA8B,IAA9B,EAA0C;AACtC,SAAO,SAAS,CAAC,KAAV,CAAgB,yBAAyB,CAAC,IAAD,CAAzC,CAAP;AACH;;AAFD;AAIA,IAAM,UAAU,GAAG,IAAI,KAAJ,YAAc,aAAd,EAAnB;;AACA,SAAgB,gBAAhB,CAAiC,IAAjC,EAA6C;AACzC,SAAO,UAAU,CAAC,KAAX,CAAiB,yBAAyB,CAAC,IAAD,CAA1C,CAAP;AACH;;AAFD;AAIA,IAAM,YAAY,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,qBAAvB,EAArB;;AACA,SAAgB,iBAAhB,CAAkC,IAAlC,EAA8C;AAC1C,SAAO,YAAY,CAAC,KAAb,CAAmB,yBAAyB,CAAC,IAAD,CAA5C,CAAP;AACH;;AAFD;AAIA,IAAM,qBAAqB,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,oBAAvB,EAA9B;;AACA,SAAgB,0BAAhB,CAA2C,IAA3C,EAAuD;AACnD,SAAO,qBAAqB,CAAC,KAAtB,CAA4B,yBAAyB,CAAC,IAAD,CAArD,CAAP;AACH;;AAFD;AAGA,IAAM,4BAA4B,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,4BAAvB,EAArC;;AACA,SAAgB,iCAAhB,CAAkD,IAAlD,EAA8D;AAC1D,SAAO,4BAA4B,CAAC,KAA7B,CAAmC,yBAAyB,CAAC,IAAD,CAA5D,CAAP;AACH;;AAFD;AAIA,IAAM,0BAA0B,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,4BAAvB,cAA+C,0BAA/C,EAAnC;;AACA,SAAgB,+BAAhB,CAAgD,IAAhD,EAA4D;AACxD,SAAO,0BAA0B,CAAC,KAA3B,CAAiC,yBAAyB,CAAC,IAAD,CAA1D,CAAP;AACH;;AAFD;AAIA,IAAM,sBAAsB,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,qBAAvB,EAA/B;;AACA,SAAgB,2BAAhB,CAA4C,IAA5C,EAAwD;AACpD,SAAO,sBAAsB,CAAC,KAAvB,CAA6B,yBAAyB,CAAC,IAAD,CAAtD,CAAP;AACH;;AAFD;AAIA,IAAM,6BAA6B,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,4BAAvB,EAAtC;;AACA,SAAgB,6BAAhB,CAA8C,IAA9C,EAA0D;AACtD,SAAO,6BAA6B,CAAC,KAA9B,CAAoC,yBAAyB,CAAC,IAAD,CAA7D,CAAP;AACH;;AAFD;AAIA,IAAM,8BAA8B,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,6BAAvB,EAAvC;;AACA,SAAgB,8BAAhB,CAA+C,IAA/C,EAA2D;AACvD,SAAO,8BAA8B,CAAC,KAA/B,CAAqC,yBAAyB,CAAC,IAAD,CAA9D,CAAP;AACH;;AAFD;AAIA,IAAM,gBAAgB,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,oBAAvB,EAAzB;;AACA,SAAgB,gBAAhB,CAAiC,IAAjC,EAA6C;AACzC,SAAO,gBAAgB,CAAC,KAAjB,CAAuB,yBAAyB,CAAC,IAAD,CAAhD,CAAP;AACH;;AAFD;AAIA,IAAM,eAAe,GAAG,IAAI,KAAJ,YAAc,aAAd,cAAuB,aAAvB,EAAxB;;AACA,SAAgB,eAAhB,CAAgC,IAAhC,EAA4C;AACxC,SAAO,eAAe,CAAC,KAAhB,CAAsB,yBAAyB,CAAC,IAAD,CAA/C,CAAP;AACH;;AAFD;AAIA,IAAM,eAAe,GAAG,IAAI,KAAJ,YAAc,iBAAd,EAAxB;;AACA,SAAgB,wBAAhB,CAAyC,IAAzC,EAAqD;AACjD,SAAO,eAAe,CAAC,KAAhB,CAAsB,yBAAyB,CAAC,IAAD,CAA/C,CAAP;AACH;;AAFD;AAGA,IAAM,SAAS,GAAG,IAAI,KAAJ,YAAc,YAAd,EAAlB;;AACA,SAAgB,aAAhB,CAA8B,IAA9B,EAA0C;AACtC,SAAO,SAAS,CAAC,KAAV,CAAgB,yBAAyB,CAAC,IAAD,CAAzC,CAAP;AACH;;AAFD;AAIA,IAAM,aAAa,GAAG,IAAI,KAAJ,YAAc,YAAd,cAAsB,iBAAtB,EAAtB;;AACA,SAAgB,YAAhB,CAA6B,MAA7B,EAA2C;AACvC,SAAO,aAAa,CAAC,OAAd,CAAsB;AAAE,UAAM,EAAN;AAAF,GAAtB,CAAP;AACH;;AAFD;;AAGA,SAAgB,kBAAhB,CAAmC,IAAnC,EAA+C;AAC3C,SAAO,aAAa,CAAC,KAAd,CAAoB,yBAAyB,CAAC,IAAD,CAA7C,CAAP;AACH;;AAFD;AAIA,IAAM,UAAU,GAAG,IAAI,KAAJ,YAAc,kBAAd,EAAnB;;AACA,SAAgB,mBAAhB,CAAoC,IAApC,EAAgD;AAC5C,SAAO,UAAU,CAAC,KAAX,CAAiB,yBAAyB,CAAC,IAAD,CAA1C,CAAP;AACH;;AAFD;AAIA,IAAM,QAAQ,GAAG,IAAI,KAAJ,YAAc,iBAAd,EAAjB;;AACA,SAAgB,iBAAhB,CAAkC,IAAlC,EAA8C;AAC1C,SAAO,QAAQ,CAAC,KAAT,CAAe,yBAAyB,CAAC,IAAD,CAAxC,CAAP;AACH;;AAFD;AAIA,IAAM,aAAa,GAAG,IAAI,KAAJ,YAAc,sBAAd,EAAtB;;AACA,SAAgB,sBAAhB,CAAuC,IAAvC,EAAmD;AAC/C,SAAO,aAAa,CAAC,KAAd,CAAoB,yBAAyB,CAAC,IAAD,CAA7C,CAAP;AACH;;AAFD;AAIA,IAAM,wBAAwB,GAAG,IAAI,KAAJ,YAAc,mCAAd,EAAjC;;AACA,SAAgB,iCAAhB,CAAkD,IAAlD,EAA8D;AAC1D,SAAO,wBAAwB,CAAC,KAAzB,CAA+B,yBAAyB,CAAC,IAAD,CAAxD,CAAP;AACH;;AAFD;AAIA,IAAM,KAAK,GAAG,IAAI,KAAJ,YAAc,aAAd,EAAd;;AACA,SAAgB,cAAhB,CAA+B,IAA/B,EAA2C;AACvC,SAAO,KAAK,CAAC,KAAN,CAAY,yBAAyB,CAAC,IAAD,CAArC,CAAP;AACH;;AAFD;AAIA,IAAM,gBAAgB,GAAG,IAAI,KAAJ,YAAc,0BAAd,EAAzB;;AACA,SAAgB,mBAAhB,CAAoC,IAApC,EAAgD;AAC5C,SAAO,gBAAgB,CAAC,KAAjB,CAAuB,yBAAyB,CAAC,IAAD,CAAhD,CAAP;AACH;;AAFD;AAIA,IAAM,oBAAoB,GAAG,IAAI,KAAJ,YAAc,+BAAd,EAA7B;;AACA,SAAgB,0BAAhB,CAA2C,IAA3C,EAAuD;AACnD,SAAO,oBAAoB,CAAC,KAArB,CAA2B,yBAAyB,CAAC,IAAD,CAApD,CAAP;AACH;;AAFD;AAIA,IAAM,mBAAmB,GAAG,IAAI,KAAJ,YAAc,8BAAd,EAA5B;;AACA,SAAgB,2BAAhB,CAA4C,IAA5C,EAAwD;AACpD,SAAO,mBAAmB,CAAC,KAApB,CAA0B,yBAAyB,CAAC,IAAD,CAAnD,CAAP;AACH;;AAFD,kE;;;;;;;;;;;;;AChPA,IAAI,kBAAkB,GAAG,KAAzB;;AAKa,sBAAc;AAAA,SAAM,KAAN;AAAA,CAAd;;AACA,4BAAoB;AAAA,SAAM,MAAiB,GAAG,SAAH,GAAU,kBAAjC;AAAA,CAApB;;AAEA,6BAAqB;AAAA,SAAM,kBAAkB,GAAG,IAA3B;AAAA,CAArB;;AACA,+BAAuB;AAAA,SAAM,kBAAkB,GAAG,KAA3B;AAAA,CAAvB;;AAGb,IAAI,GAAG,GAAG,MAAoB,IAAI,KAAlC;;AAEA,SAAgB,0BAAhB,GAA0C;AACtC,SAAO,GAAG,IAAI,GAAG,CAAC,YAAJ,CAAiB,UAAjB,EAA6B,GAA7B,CAAiC,WAAjC,CAAd;AACH;;AAFD;;AAIA,SAAgB,mBAAhB,GAAmC;AAC/B,SAAQ,GAAG,IAAI,GAAG,CAAC,YAAJ,CAAiB,UAAjB,EAA6B,GAA7B,CAAiC,YAAjC,CAAR,IAA4D,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAM,CAAC,UAApG,IAAmH,KAA1H;AACH;;AAFD;;AAGA,SAAgB,WAAhB,GAA2B;AACvB,SAAQ,GAAG,IAAI,GAAG,CAAC,YAAJ,CAAiB,UAAjB,EAA6B,GAA7B,CAAiC,UAAjC,CAAR,IAA0D,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAM,CAAC,QAAlG,IAA+G,gBAAtH;AACH;;AAFD;;AAIA,SAAgB,0BAAhB,GAA0C;AACtC,SAAQ,GAAG,IAAI,GAAG,CAAC,YAAJ,CAAiB,UAAjB,EAA6B,GAA7B,CAAiC,yBAAjC,CAAR,IAAwE,EAA/E;AACH;;AAFD,gE;;;;;;;;;;;;;ACEA,IAAI,wBAAJ;AACA,IAAI,QAAQ,GAA2B,EAAvC;;AAEA,SAAgB,MAAhB,CAAuB,WAAvB,EAAiD;AAC7C,QAAM,CAAC,MAAP,CAAc,QAAd,EAAwB,WAAxB;;AACA,MAAI,wBAAJ,EAA8B;AAC1B,4BAAwB;AAC3B;AACJ;;AALD;;AAOA,SAAgB,gCAAhB,CAAiD,QAAjD,EAAwF;AACpF,0BAAwB,GAAG,QAA3B;AACH;;AAFD;AAIA,kBAAe,QAAf,C;;;;;;;;;;;;;;AC1CA,IAAM,UAAU,GAAG,SAAb,UAAa,CAAC,UAAD;AAAA,SAAqB,UAAU,CAAC,OAAhC;AAAA,CAAnB;;AACA,IAAM,4BAA4B,GAAG,SAA/B,4BAA+B,CAAC,UAAD;AAAA,SAAqB,UAAU,CAAC,UAAD,CAAV,CAAuB,yBAAvB,IAAoD;AAAE,YAAQ,EAAE;AAAZ,GAAzE;AAAA,CAArC;;AACa,6BAAqB,UAAC,UAAD;AAAA,SAA6B,4BAA4B,CAAC,UAAD,CAA5B,CAAyC,QAAtE;AAAA,CAArB,C;;;;;;;;;;;;;;ACFb;;AAIA;;AACA;;AAEa,gCAAwB,UAAC,UAAD,EAA+C;AAChF,QAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,UAAC,CAAD,EAAM;AACpC,QAAM,WAAW,GAAG,MAAM,CAAC,QAAP,CAAgB,QAApC;AACA,QAAM,WAAW,GAAG,WAAW,CAAC,KAAZ,CAAkB,+BAAlB,CAApB;;AACA,QAAI,WAAJ,EAAiB;AACb,UAAI,GAAJ;;AACA,cAAQ,WAAW,CAAC,CAAD,CAAnB;AACI,aAAK,UAAL;AACI,cAAM,SAAS,GAAG,WAAW,CAAC,CAAD,CAA7B;AACA,aAAG,GAAG,IAAI,CAAC,kBAAL,CAAwB,SAAxB,CAAN;AACA;;AACJ,aAAK,OAAL;AACI,cAAM,MAAM,GAAG,WAAW,CAAC,CAAD,CAA1B;AACA,aAAG,GAAG,IAAI,CAAC,oBAAL,CAA0B,MAA1B,CAAN;AACA;AARR;;AAUA,UAAI,GAAJ,EAAS;AACL;AACA;AACA;AACA;AACA,YAAI,GAAG,GAAG,IAAI,cAAJ,EAAV;AACA,WAAG,CAAC,IAAJ,CAAS,MAAT,EAAiB,GAAjB,EAAsB,KAAtB;AACA,WAAG,CAAC,gBAAJ,CAAqB,eAArB,EAAsC,wjGAAtC;AACA,WAAG,CAAC,gBAAJ,CAAqB,cAArB,EAAqC,gCAArC;AACA,YAAM,IAAI,GAAG;AAAE,cAAI,EAAE;AAAR,SAAb;AACA,WAAG,CAAC,IAAJ,CAAS,IAAI,CAAC,SAAL,CAAe,IAAf,CAAT;AACH;AACJ;AACJ,GA5BD;AA6BH,CA9BY;;AAiCA,4BAAoB,UAAC,IAAD,EAA6B;AAC1D,MAAM,cAAc,GAAqE,CACrF;AAAE,QAAI,EAAE,kBAAR;AAA4B,SAAK,EAAE,MAAM,CAAC;AAA1C,GADqF,EAErF;AAAE,QAAI,EAAE,kBAAR;AAA4B,SAAK,EAAE,MAAM,CAAC;AAA1C,GAFqF,EAGrF;AAAE,QAAI,EAAE,UAAR;AAAoB,SAAK,EAAE,MAAM,CAAC;AAAlC,GAHqF,EAIrF;AAAE,QAAI,EAAE,MAAR;AAAgB,SAAK,EAAE,MAAM,CAAC;AAA9B,GAJqF,EAKrF;AAAE,QAAI,EAAE,SAAR;AAAmB,SAAK,EAAE,MAAM,CAAC;AAAjC,GALqF,CAAzF;;AAOA,wBAA4B,cAA5B,eAA4C;AAAvC,QAAM,aAAa,GAAI,cAAJ,IAAnB;AACD,QAAM,MAAM,GAAG,aAAa,CAAC,KAAd,CAAoB,IAApB,CAAf;;AACA,QAAI,MAAJ,EAAY;AACR,UAAM,QAAQ,GAAG,CAAC,CAAC,MAAF,CAAS,MAAT,EAAiB,CAAjB,EAAoB,QAApB,EAAjB;;AACA,aAAO;AACH,YAAI,EAAE,aAAa,CAAC,IADjB;AAEH,UAAE,EAAE;AAFD,OAAP;AAIH;AACJ;AACJ,CAlBY;;AAoBA,8BAAsB,UAAC,IAAD,EAAiB;AAChD,MAAM,MAAM,GAAG,qCAAf;AACA,MAAM,WAAW,GAAG,IAAI,MAAJ,CAAW,MAAX,EAAmB,GAAnB,CAApB;AACA,SAAO,IAAI,GAAG,IAAI,CACb,OADS,CACD,SADC,EACU,GADV,EAET,OAFS,CAED,QAFC,EAES,GAFT,EAGT,OAHS,CAGD,WAHC,EAGY,EAHZ,CAAH,GAGqB,EAHhC;AAIH,CAPY;;AAWA,mCAA2B,UAAC,YAAD,EAAyB;AAC7D,SAAO,YAAY,IAAI,YAAY,CAAC,KAAb,CAAmB,CAAnB,EAAsB,CAAtB,CAAhB,IAA4C,IAAnD;AACH,CAFY;;AAIA,yBAAiB,UAAC,UAAD,EAAa,IAAb,EAAmB,EAAnB,EAAyB;AACnD,MAAM,IAAI,GAAG,+BAAmB,UAAnB,CAAb;AACA,MAAM,KAAK,GAAG,0BAAkB,IAAlB,CAAd;AACA,SAAO,KAAK,IAAI,KAAK,CAAC,IAAN,IAAc,IAAvB,IAA+B,KAAK,CAAC,EAAN,KAAa,EAAnD;AACH,CAJY,C;;;;;;;;;;;;;;;AC3Eb;;AAEa,uBAAe,wBACxB,SADwB,EAExB,UAFwB,EAGxB,aAHwB,EAIxB,aAJwB,EAKxB,YALwB,EAMxB,cANwB,EAOxB,cAPwB,EAQxB,KARwB,EASxB,MATwB,EAUxB,YAVwB,EAWxB,MAXwB,EAYxB,MAZwB,EAaxB,OAbwB,CAAf;AAkBA,4BAAoB,wBAC7B,qBAAa,WADgB,EAE7B,qBAAa,WAFgB,EAG7B,qBAAa,IAHgB,EAI7B,qBAAa,UAJgB,EAK7B,qBAAa,YALgB,CAApB,C;;;;;;;;;;;;;ACdb,IAAY,SAAZ;;AAAA,WAAY,SAAZ,EAAqB;AACjB;AACA;AACA;AACA;AACA;AACA;AACH,CAPD,EAAY,SAAS,GAAT,0CAAS,EAAT,CAAZ;;AASA,SAAgB,mBAAhB,CAAoC,IAApC,EAA4D;AACxD,MAAI,IAAI,CAAC,SAAT,EAAoB,OAAO,IAAI,CAAC,SAAZ,CADoC,CAExD;;AACA,MAAI,IAAI,CAAC,CAAL,IAAU,GAAd,EAAmB,OAAO,SAAS,CAAC,MAAjB;AACnB,MAAI,IAAI,CAAC,CAAL,IAAU,GAAd,EAAmB,OAAO,SAAS,CAAC,KAAjB;AACnB,MAAI,IAAI,CAAC,CAAL,IAAU,IAAd,EAAoB,OAAO,SAAS,CAAC,MAAjB;AACpB,SAAO,SAAS,CAAC,OAAjB;AACH;;AAPD,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;;AACA;;IAMa,qB;;;;;AAAb;AAAA;;AAAA;;;;AAUY,8BAAoB,UAAC,cAAD,EAA4B;AAAA,UAC3C,aAD2C,GACzB,MAAK,KADoB,CAC3C,aAD2C;AAEpD,UAAM,OAAO,GAAG,QAAQ,CAAC,sBAAT,CAAgC,aAAhC,EAA+C,CAA/C,CAAhB;;AACA,UAAI,cAAJ,EAAoB;AAChB,eAAO,CAAC,YAAR,CAAqB,uBAArB,EAA8C,MAA9C;AACH;AACJ,KANO;;AAQA;AAAA;AAAA;AAAA;AAAA,4BAA+B;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,4BACQ,MAAK,KADb,EAC3B,eAD2B,eAC3B,eAD2B,EACV,aADU,eACV,aADU;;AAGnC,kBAAI,OAAO,QAAP,IAAmB,WAAvB,EAAoC;AAC1B,uBAD0B,GAChB,QAAQ,CAAC,sBAAT,CAAgC,aAAhC,EAA+C,CAA/C,CADgB;AAEhC,mBAAG,CAAC,eAAD,EAAkB,UAAC,KAAD,EAAQ,IAAR,EAAgB;AACjC,yBAAO,CAAC,YAAR,sBAAmC,IAAnC,aAA8C,KAA9C;AACH,iBAFE,CAAH;AAIM,mBAN0B,GAMpB,4BAAU,MAAV,CANoB;AAOhC,uBAAO,CAAC,YAAR,CAAqB,gBAArB,EAAuC,GAAvC;AAEA,uBAAO,CAAC,YAAR,CAAqB,oBAArB,EAA2C,MAAM,CAAC,MAAlD;AACA,8CAAY,MAAK,iBAAjB;AAA2C;;AAbZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAA/B;;AAgBA,8BAAoB,YAAK;AAC9B,UAAG,MAAM,IAAI,MAAM,CAAC,SAAjB,IAA8B,MAAM,CAAC,SAAP,CAAiB,CAAjB,CAAjC,EAAsD;AACjD,aAAK,IAAI,QAAT,IAAqB,MAAM,CAAC,SAAP,CAAiB,CAAjB,CAArB,EAA0C;AAC1C,cAAI,UAAU,GAAG,iBAAiB,CAAC,QAAD,CAAlC;AACA,cAAI,CAAC,UAAL,EAAiB;AACjB,kBAAQ,CAAC,IAAT,CAAc,YAAd,CAA2B,gBAAgB,UAA3C,EAAuD,MAAM,CAAC,SAAP,CAAiB,CAAjB,EAAoB,QAApB,CAAvD;AACH;AACD;AAEH,KATO;;AAWA,+CAAqC,YAAK;AAC9C,UAAM,0BAA0B,GAAG,IAAI,KAAJ,CAAU,4BAAV,CAAnC;AACA,cAAQ,CAAC,aAAT,CAAuB,0BAAvB;AACH,KAHO;;AA7CZ;AAqDC;;;;wCAjDoB;AACb,WAAK,4BAAL;AACA,WAAK,iBAAL;AACA,WAAK,kCAAL;AACH;;;6BA0CY;AACT,aAAO,IAAP;AACH;;;;EApDsC,KAAK,CAAC,S;;AAE/B,uCAAiB,uBAAjB;AAFlB;AAuDA,IAAM,iBAAiB,GAAG;AACtB,qBAAmB,WADG;AAEtB,YAAU,SAFY;AAGtB,YAAU;AAHY,CAA1B,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9DA,mBAAO,CAAC,mCAAD,CAAP;;IAEa,wB;;;;;;;;;;;;;wCAGQ;AACb,UAAI,OAAO,QAAQ,CAAC,oBAAD,CAAf,KAA0C,UAA9C,EAA0D;AACtD,gBAAQ,CAAC,oBAAD,CAAR,GAAiC,UAAU,IAAV,EAAgB,KAAhB,EAAuB,MAAvB,EAA+B,WAA/B,EAA4C,aAA5C,EAA2D,EAA3D,EAAmF;AAAA,cAApB,YAAoB,uEAAL,KAAK;AAChH,cAAM,cAAc,GAAG,gBAAgB,aAAhB,GAAgC,GAAvD;AACA,cAAM,OAAO,GAAG,qBACV,gBADU,GAEV,0BAFU,GAGV,cAHU,GAIV,eAJU,GAKV,SALU,GAMV,UANU,GAOV,eAPN;AAQA,cAAM,aAAa,GACf,OAAO,GACL,cAFN;AAIA,cAAM,cAAc,GAChB,OAAO,GACL,oCAFN;AAGA,cAAM,eAAe,GACjB,OAAO,GACL,oBADF,GAEE,8BAHN;AAIA,cAAM,GAAG,GAAG,gBACN,cADM,GAEN,oBAFM,GAGN,oBAHM,GAIN,oBAJM,GAKN,yBALM,GAMN,qBANM,GAON,oBAPM,GAQN,MARM,GAQG,cAAc,CAAC,MAAD,CARjB,GAQ4B,KAR5B,GASN,OATM,GASI,eAAe,CAAC,KAAD,CATnB,GAS6B,KAT7B,GAUN,kBAVM,GAWN,YAXN;AAYA,cAAM,aAAa,GACf,GAAG,GACD,uBADF,GAEE,YAHN;AAIA,cAAM,WAAW,GACb,GAAG,GACD,yBADF,GAEE,cAHN;AAIA,cAAM,qBAAqB,GACvB,WAAW,GACT,YAFN;AAGA,cAAM,WAAW,GAAG,sDACd,kBADc,GAEd,iBAFN;AAIA,cAAM,QAAQ,GAAG,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAjB;AACA,kBAAQ,CAAC,YAAT,CAAsB,OAAtB,EAA+B,WAAW,GAAG,uBAAH,GAA6B,UAAvE;AACA,kBAAQ,CAAC,YAAT,CAAsB,OAAtB,EAA+B,WAAW,GAAG,cAAH,GAAoB,aAA9D;AACA,kBAAQ,CAAC,YAAT,CAAsB,OAAtB,EAA+B,YAAY,GAAG,eAAH,GAAqB,aAAhE;AACA,kBAAQ,CAAC,YAAT,CAAsB,MAAtB,EAA8B,QAA9B;AACA,cAAM,MAAM,GAAG,QAAQ,CAAC,aAAT,CAAuB,QAAvB,CAAf;AACA,gBAAM,CAAC,YAAP,CAAoB,KAApB,EAA2B,IAA3B;AACA,gBAAM,CAAC,YAAP,CAAoB,OAApB,EAA6B,KAA7B;AACA,gBAAM,CAAC,YAAP,CAAoB,QAApB,EAA8B,MAA9B;AACA,gBAAM,CAAC,YAAP,CAAoB,WAApB,EAAiC,IAAjC;AACA,gBAAM,CAAC,YAAP,CAAoB,OAApB,EAA6B,WAA7B;AACA,gBAAM,CAAC,YAAP,CAAoB,IAApB,EAA0B,oBAA1B;AACA,kBAAQ,CAAC,WAAT,CAAqB,MAArB;AACA,cAAI,QAAQ,GAAG,QAAQ,CAAC,aAAT,CAAuB,OAAvB,CAAf;AACA,kBAAQ,CAAC,IAAT,GAAgB,QAAhB;AACA,kBAAQ,CAAC,KAAT,GAAiB,GAAjB;AACA,kBAAQ,CAAC,YAAT,CAAsB,OAAtB,EAA+B,WAAW,GAAG,aAAH,GAAmB,WAA7D;AACA,kBAAQ,CAAC,YAAT,CAAsB,OAAtB,EAA+B,YAAY,GAAG,qBAAH,GAA2B,WAAtE;AACA,kBAAQ,CAAC,WAAT,CAAqB,QAArB;AACA,kBAAQ,CAAC,IAAT,CAAc,WAAd,CAA0B,QAA1B;AACA,kBAAQ,CAAC,YAAT,CAAsB,UAAtB,EAAkC,GAAlC;AACA,kBAAQ,CAAC,KAAT;AACA,cAAI,YAAY,GAAG,QAAQ,CAAC,gBAAT,CAA0B,iGAA1B,CAAnB;;AACA,kBAAQ,CAAC,aAAT,CAAuB,QAAvB,EAAiC,UAAjC,GAA8C,UAAU,CAAV,EAAW;AACrD,gBAAI,CAAC,CAAC,GAAF,KAAU,QAAd,EAAwB;AACpB,kBAAI,kBAAkB,GAAG,QAAQ,CAAC,aAAT,CAAuB,WAAvB,CAAzB;AACA,gCAAkB,CAAC,UAAnB,CAA8B,WAA9B,CAA0C,kBAA1C;AACA,sBAAQ,CAAC,cAAT,CAAwB,EAAxB,EAA4B,KAA5B;AACA,eAAC,CAAC,cAAF;AACH,aALD,MAMK,CAAC,CAAC,cAAF;AACR,WARD;;AASA,kBAAQ,CAAC,SAAT,GAAqB,UAAU,CAAV,EAAW;AAC5B,gBAAI,CAAC,CAAC,GAAF,KAAU,QAAd,EAAwB;AACpB,kBAAI,kBAAkB,GAAG,QAAQ,CAAC,aAAT,CAAuB,WAAvB,CAAzB;AACA,gCAAkB,CAAC,UAAnB,CAA8B,WAA9B,CAA0C,kBAA1C;AACA,sBAAQ,CAAC,cAAT,CAAwB,EAAxB,EAA4B,KAA5B;AACH,aAJD,MAKK,IAAI,CAAC,CAAC,OAAF,KAAc,CAAlB,EAAqB;AACtB,kBAAI,YAAY,CAAC,MAAb,GAAsB,CAA1B,EAA6B;AACzB,oBAAI,CAAC,CAAC,QAAN,EAAgB;AACZ,mCAAiB,CAAC,CAAD,EAAI,YAAJ,CAAjB;AACH,iBAFD,MAEO;AACH,kCAAgB,CAAC,CAAD,EAAI,YAAJ,CAAhB;AACH;AACJ,eAND,MAOK,CAAC,CAAC,cAAF;AACR;AACJ,WAhBD;;AAkBA,kBAAQ,CAAC,OAAT,GAAmB,UAAU,CAAV,EAAW;AAC1B,gBAAI,kBAAkB,GAAG,QAAQ,CAAC,aAAT,CAAuB,WAAvB,CAAzB;AACA,8BAAkB,CAAC,UAAnB,CAA8B,WAA9B,CAA0C,kBAA1C;AACA,oBAAQ,CAAC,cAAT,CAAwB,EAAxB,EAA4B,KAA5B;AACH,WAJD;AAKH,SAvGD;AAwGH;AAEJ;;;6BAEK;AACF,aAAO,IAAP;AACH;;;;EAnHyC,KAAK,CAAC,S;;AAClC,0CAAiB,0BAAjB;AADlB;;AAqHA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAG,SAAO,CAAC,MAAM,CAAC,UAAP,GAAoB,KAArB,IAA8B,CAArC;AAAwC,CAA7E;;AACA,IAAM,cAAc,GAAG,SAAjB,cAAiB,CAAC,MAAD,EAAW;AAAG,SAAO,CAAC,MAAM,CAAC,WAAP,GAAqB,MAAtB,IAAgC,CAAhC,GAAoC,EAA3C;AAA+C,CAApF;;AAIA,IAAM,iBAAiB,GAAG,SAApB,iBAAoB,CAAC,CAAD,EAAI,YAAJ,EAAoB;AAC1C,MAAI,QAAQ,CAAC,aAAT,KAA2B,YAAY,CAAC,CAAD,CAA3C,EAAgD;AAC5C,KAAC,CAAC,cAAF;AACA,gBAAY,CAAC,YAAY,CAAC,MAAb,GAAsB,CAAvB,CAAZ,CAAsC,KAAtC;AACH;AAEJ,CAND;;AAOA,IAAM,gBAAgB,GAAG,SAAnB,gBAAmB,CAAC,CAAD,EAAI,YAAJ,EAAoB;AACzC,MAAI,QAAQ,CAAC,aAAT,KAA2B,YAAY,CAAC,YAAY,CAAC,MAAb,GAAsB,CAAvB,CAA3C,EAAsE;AAClE,KAAC,CAAC,cAAF;AACA,gBAAY,CAAC,CAAD,CAAZ,CAAgB,KAAhB;AACH;AACJ,CALD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnIA;;IAIa,2B;;;;;;;;;;;;;6BAEI;AACT,aACG,oBAAC,iEAAD,EAAgC,IAAhC,CADH;AAGH;;;;EAN4C,KAAK,CAAC,S;;AACrC,6CAAiB,6BAAjB;AADlB,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJA,IAAM,MAAM,+5EAAZ;;IA+Da,+B;;;;;;;;;;;;;6BACI;AACT,aAAO;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA9B,QAAP;AACH;;;;EAHgD,KAAK,CAAC,S;;AAA3D,0E;;;;;;;;;;;;;;;AC1DA;;AAEa,4BAAoB,UAAC,WAAD,EAA6B;AACtD,MAAM,IAAI,GAAG,yBAAiB,WAAW,CAAC,WAA7B,EAA0C,WAAW,CAAC,SAAtD,CAAb;AACA,MAAI,CAAC,IAAL,EAAW;AACX,MAAM,QAAQ,GAAG,WAAW,CAAC,QAA7B;AACA,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAD,CAA/B;AACA,MAAM,iBAAiB,GAAG,QAAQ,CAAC,WAAD,CAAlC;AACA,MAAM,eAAe,GAAG,0BAAY,QAAZ,EAAxB;AAEA,gBAAc,CAAC,IAAf,CAAoB;AACZ,WAAO,0BAAY,QAAZ,EADK;AAEZ,YAAQ,kCAFI;AAGZ,YAAQ,eAHI;AAIZ,aAAS,CAJG;AAKZ,YAAQ,EALI;AAMZ,yBAAqB,EANT;AAOZ,oBAAgB,CACR;AACQ,gBAAU,CADlB;AAEQ,gBAAU,EAFlB;AAGQ,aAAO;AAHf,KADQ;AAPJ,GAApB;AAgBA,mBAAiB,CAAC,eAAD,CAAjB,GAAqC;AAC7B,QAAI,EAAE;AACE,eAAS,EAAE,gBADb;AAEE,oBAAc,EAAE;AACR,YAAI,EAAE;AACE,qBAAW,EAAE,IADf;AAEE,YAAE,EAAE,IAFN;AAGE,uBAAa,EAAE;AAHjB,SADE;AAMR,YAAI,EAAE;AANE,OAFlB;AAUE,0BAAoB,EAAE;AACd,uBAAe,EAAE,MADH;AAEd,sBAAc,EAAE,EAFF;AAGd,uBAAe,EAAE,EAHH;AAId,qBAAa,EAAE,EAJD;AAKd,oBAAY,EAAE;AALA;AAVxB,KADuB;AAmB7B,cAAU,EAAE,SAnBiB;AAoB7B,QAAI,EAAE;AApBuB,GAArC;AAsBP,CA9CY;;AA+CA,2BAAmB,UAAC,SAAD,EAAoB,SAApB,EAAwC;AAChE,MAAI,SAAS,IAAI,MAAb,IAAuB,SAAS,IAAI,OAAxC,EAAiD,OAAO,IAAP;AAEjD,MAAI,IAAI,gDAAyC,SAAzC,CAAR;;AAEA,MAAI,SAAS,CAAC,WAAV,GAAwB,UAAxB,CAAmC,OAAnC,CAAJ,EAAiD;AACzC,QAAI,GAAG,2BAAP;AACP;;AAED,SAAO,IAAP;AACP,CAVY,C;;;;;;;;;;;;;;;;;;ACrDb;;AACA;;AAEA,IAAM,iBAAiB,iEAClB,uBAAU,KADQ,EACA,OADA,uCAElB,uBAAU,MAFQ,EAEC,QAFD,uCAGlB,uBAAU,KAHQ,EAGA,OAHA,uCAIlB,uBAAU,MAJQ,EAIC,SAJD,uCAKlB,uBAAU,OALQ,EAKE,UALF,sBAAvB;AAQa,4BAAoB;AAC7B,OAAK,EAAE,qDADsB;AAE7B,KAAG,EAAE;AAFwB,CAApB;;AAKb,SAAgB,gBAAhB,CAAiC,KAAjC,EAA0D,IAA1D,EAAkF;AAC9E,MAAI,CAAC,IAAL,EAAW;AACP,QAAI,GAAG;AAAE,eAAS,EAAE,uBAAU;AAAvB,KAAP;AACH;;AACD,MAAI,GAAG,OAAO,CAAC,KAAD,EAAQ,IAAR,CAAd;AACA,MAAM,SAAS,GAAG,iCAAoB,IAApB,CAAlB;;AAEA,MAAI,KAAK,IAAI,KAAK,CAAC,aAAnB,EAAkC;AAC9B,QAAI,KAAK,CAAC,aAAN,CAAoB,QAApB,CAA6B,UAA7B,CAAJ,EAA8C;AAC1C,aAAO,KAAK,CAAC,aAAN,CAAoB,OAApB,CAA4B,YAA5B,aAA8C,iBAAiB,CAAC,SAAD,CAA/D,UAAP;AACH,KAFD,MAEO,IAAI,KAAK,CAAC,aAAN,CAAoB,QAApB,CAA6B,UAA7B,CAAJ,EAA8C;AACjD,aAAO,KAAK,CAAC,aAAN,CAAoB,OAApB,CAA4B,YAA5B,aAA8C,iBAAiB,CAAC,SAAD,CAA/D,UAAP;AACH,KAFM,MAEA;AACH,aAAO,KAAK,CAAC,aAAb;AACH;AACJ;;AACD,SAAO,eAAe,CAAC,IAAD,CAAtB;AACH;;AAjBD;;AAmBA,SAAgB,eAAhB,CAAgC,IAAhC,EAAwD;AACpD,MAAM,uBAAuB,GAAG,2CAAhC;AACA,MAAM,UAAU,GAAG,iCAAoB,IAApB,IAA4B,uBAAU,MAAzD;;AACA,MAAI,UAAJ,EAAgB;AACZ,WAAO,uBAAuB,CAAC,OAAxB,GAAkC,uBAAuB,CAAC,OAA1D,GAAoE,0BAAkB,GAA7F;AACH,GAFD,MAEO;AACH,WAAO,uBAAuB,CAAC,SAAxB,GAAoC,uBAAuB,CAAC,SAA5D,GAAwE,0BAAkB,KAAjG;AACH;AACJ;;AARD;;AAUA,SAAS,OAAT,CAAiB,KAAjB,EAA0C,IAA1C,EAAkE;AAC9D,MAAI,IAAI,CAAC,CAAL,IAAU,IAAI,CAAC,SAAf,IAA4B,CAAC,IAAI,CAAC,CAAtC,EAAyC;AACrC,WAAO,IAAP;AACH;;AACD,SAAO;AACH,KAAC,EAAE,IAAI,CAAC,CAAL,GAAS,KAAK,CAAC,KAAf,GAAuB,KAAK,CAAC,MAD7B;AAEH,KAAC,EAAE,IAAI,CAAC;AAFL,GAAP;AAIH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDD;;AACA;;AACA;;AACA;;AAEA,IAAM,QAAQ,GAAG,SAAX,QAAW,CAAC,EAAD;AAAA,kFAAkF,EAAlF;AAAA,CAAjB;;IAgBa,sB;;;;;AAAb;AAAA;;AAAA;;;AAGY;AAAA;AAAA;AAAA;AAAA,4BAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AACjB,uBADiB,GACH,MAAK,KADF,CACjB,SADiB;AAEnB,4BAFmB,GAEF,GAAG,CAAC,SAAD;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAY,iBAAM,OAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iCACd,KAAK,CAAC,GAAN,CAAU,QAAQ,CAAC,OAAD,CAAlB,CADc;;AAAA;AAC5B,+BAD4B;AAAA,2DAE3B,KAAK,CAAC,IAAN,CAAW,CAAX,CAF2B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAZ;;AAAA;AAAA;AAAA;AAAA,kBAFD;AAAA;AAAA,qBAOZ,OAAO,CAAC,GAAR,CAAY,cAAZ,CAPY;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAArB;AAHZ;AAmCC;;;;wCAtBoB;AAEb,UAAM,SAAS,GAAG,KAAK,kBAAL,EAAlB;;AACA,UAAI,SAAJ,EAAe;AACX,iBAAS,CAAC,IAAV,CAAe,WAAC;AAAA,iBACZ,OAAO,CAAC,CAAD,EAAI,UAAC,SAAD,EAAY,CAAZ,EAAiB;AACxB,gBAAI,iBAAiB,GAAG,QAAQ,CAAC,sBAAT,CAAgC,WAAhC,CAAxB;AACA,gBAAI,CAAC,SAAL,EAAgB;AAChB,gBAAM,GAAG,GAAG,SAAS,CAAC,GAAtB;AACA,6BAAiB,CAAC,CAAD,CAAjB,CAAqB,IAArB,GAA4B,GAA5B;AACA,gBAAI,SAAS,GAAG,QAAQ,CAAC,aAAT,CAAuB,MAAvB,CAAhB;AACA,qBAAS,CAAC,SAAV,GAAsB,4BAAtB;AACA,qBAAS,CAAC,SAAV,GAAsB,0CAAoB,SAApB,CAAtB;AACA,6BAAiB,CAAC,CAAD,CAAjB,CAAqB,qBAArB,CAA2C,UAA3C,EAAuD,SAAvD;AACH,WATM,CADK;AAAA,SAAhB;AAYH;AACJ;;;6BAEY;AACT,aAAO,IAAP;AACH;;;;EAlCuC,KAAK,CAAC,S;;AAChC,wCAAiB,wBAAjB;AADlB,wD;;;;;;;;;;;;;;;ACrBa,8BAAsB,UAAC,SAAD,EAAc;AAE7C,MAAM,QAAQ,GAAG,mBAAO,CAAC,uEAAD,CAAxB;;AAEA,MAAM,UAAU,GAAG,SAAS,CAAC,eAAV,GAA4B,CAA5B,GAAgC;AAC/C,OAAG,EAAE,mBAAO,CAAC,6EAAD,CADmC;AAE/C,kBAAc,EAAE,gBAF+B;AAG/C,uBAAmB,EAAE;AAH0B,GAAhC,GAOf;AACI,OAAG,EAAE,mBAAO,CAAC,2EAAD,CADhB;AAEI,kBAAc,EAAE,kBAFpB;AAGI,uBAAmB,EAAE;AAHzB,GAPJ;AAaA,sFAAyE,QAAzE,yCAA8G,SAAS,CAAC,SAAxH,+BAAsJ,UAAU,CAAC,cAAjK,kBAAuL,UAAU,CAAC,GAAlM,8CAAyO,UAAU,CAAC,mBAApP,gBAA6Q,SAAS,CAAC,eAAV,CAA0B,OAA1B,CAAkC,GAAlC,EAAuC,EAAvC,CAA7Q;AACH,CAlBY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAb,IAAM,YAAY,GAAG,mBAAO,CAAC,kDAAD,CAA5B;;AAGA,IAAa,UAAb;AAAA;AAAA;AAAA;;AADA;AAAA;;AAAA;;;;AAKY,+BAAqB,YAAK;AAC9B,UAAM,OAAO,GAAG,QAAQ,CAAC,aAAT,CAAuB,+BAAvB,CAAhB;;AACA,YAAK,UAAL,CAAgB,OAAhB;AACH,KAHO;;AAKJ,uBAAW,UAAC,OAAD,EAAuB;AACtC,aAAO,CAAC,SAAR,GAAoB,EAApB;AACA,aAAO,CAAC,KAAR,CAAc,IAAd,GAAmB,EAAnB;AACA,aAAO,CAAC,KAAR,CAAc,GAAd,GAAoB,EAApB;AACA,aAAO,CAAC,KAAR,CAAc,OAAd,GAAsB,MAAtB;AAEH,KANO;;AAVR;AAiEC;;AAhED;AAAA;AAAA,wCAgBqB;AAAA;;AACb,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAT,CAA0B,iBAA1B,CAAjB;AAD+B;AAAA;AAAA;;AAAA;AAAA;AAAA,gBAEtB,EAFsB;AAG3B,cAAE,CAAC,gBAAH,CAAoB,OAApB,EAA6B,UAAC,CAAD,EAAM;AAC/B,kBAAM,OAAO,GAAG,EAAE,CAAC,YAAH,CAAgB,SAAhB,CAAhB;AACA,kBAAM,QAAQ,GAAI,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAlB;AACA,sBAAQ,CAAC,SAAT,GAAmB,iBAAnB;AACA,sBAAQ,CAAC,SAAT,GAAqB,GAArB;AACA,kBAAM,SAAS,GAAG,QAAQ,CAAC,aAAT,CAAuB,QAAvB,CAAlB;AACA,uBAAS,CAAC,EAAV,aAAkB,OAAlB;AACA,uBAAS,CAAC,GAAV,GAAgB,2EAAhB;AACA,uBAAS,CAAC,KAAV,GAAkB,IAAlB;AACA,uBAAS,CAAC,SAAV,oEAEW,OAFX;AAUA,kBAAM,OAAO,GAAG,QAAQ,CAAC,aAAT,CAAuB,+BAAvB,CAAhB;AACA,qBAAO,CAAC,KAAR,CAAc,OAAd,GAAwB,OAAxB;AACA,kBAAM,GAAG,GAAG,EAAE,CAAC,qBAAH,GAA2B,GAA3B,GAA+B,GAA/B,GAAsC,EAAE,CAAC,qBAAH,GAA2B,GAA3B,GAAiC,GAAvE,GAA6E,EAAE,CAAC,qBAAH,GAA2B,GAA3B,GAA+B,EAAxH;AACA,kBAAM,IAAI,GAAE,EAAE,CAAC,qBAAH,GAA2B,IAA3B,GAAkC,GAA9C;AACA,qBAAO,CAAC,KAAR,CAAc,IAAd,GAAqB,IAAI,GAAG,IAA5B;AACA,qBAAO,CAAC,KAAR,CAAc,GAAd,GAAoB,GAAG,GAAI,IAA3B;AACA,kBAAM,MAAM,GAAG,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAf;AACA,oBAAM,CAAC,SAAP,GAAmB,sCAAnB;AACA,qBAAO,CAAC,MAAR,CAAe,QAAf;AACA,qBAAO,CAAC,MAAR,CAAe,MAAf;AACA,qBAAO,CAAC,MAAR,CAAe,SAAf;AACA,sBAAQ,CAAC,gBAAT,CAA0B,OAA1B,EAAmC,UAAC,CAAD,EAAM;AACrC,sBAAI,CAAC,UAAL,CAAgB,OAAhB;AACH,eAFD;AAGH,aAjCD;AAH2B;;AAE/B,+BAAe,QAAf,8HAAyB;AAAA;AAmCxB;AArC8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsClC;AACJ;AAxDL;AAAA;AAAA,6BA0DiB;AACT,aACI;AAAK,iBAAS,EAAC;AAAf,SAA6C,GAA7C,CADJ;AAIH;AA/DL;;AAAA;AAAA,EAAgC,KAAK,CAAC,SAAtC;;AACkB,4BAAiB,YAAjB;AADL,UAAU,eADtB,YACsB,GAAV,UAAU,CAAV;AAAA,gC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHb,IAAM,YAAY,GAAG,mBAAO,CAAC,kDAAD,CAA5B;;IAGa,gB;;;;;AAAb;AAAA;;AAAA;;;;AAMQ,uBAAW,UAAC,OAAD,EAAuB;AACtC,aAAO,CAAC,SAAR,GAAoB,EAApB;AACA,aAAO,CAAC,KAAR,CAAc,IAAd,GAAmB,EAAnB;AACA,aAAO,CAAC,KAAR,CAAc,GAAd,GAAoB,EAApB;AACA,aAAO,CAAC,aAAR,CAAsB,KAAtB,CAA4B,OAA5B,GAAoC,MAApC;AAEH,KANO;;AANR;AA6DC;;;;wCAhDoB;AAAA;;AACb,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAT,CAA0B,iBAA1B,CAAjB;AAD+B;AAAA;AAAA;;AAAA;AAAA;AAAA,gBAEtB,EAFsB;AAG3B,cAAE,CAAC,gBAAH,CAAoB,OAApB,EAA6B,UAAC,CAAD,EAAM;AAC/B,kBAAM,OAAO,GAAG,EAAE,CAAC,YAAH,CAAgB,SAAhB,CAAhB;AACA,kBAAM,QAAQ,GAAI,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAlB;AACA,sBAAQ,CAAC,SAAT,GAAmB,iBAAnB;AACA,sBAAQ,CAAC,SAAT,GAAqB,GAArB;AACA,kBAAM,SAAS,GAAG,QAAQ,CAAC,aAAT,CAAuB,QAAvB,CAAlB;AACA,uBAAS,CAAC,EAAV,aAAkB,OAAlB;AACA,uBAAS,CAAC,GAAV,GAAgB,2EAAhB;AACA,uBAAS,CAAC,KAAV,GAAkB,IAAlB;AACA,uBAAS,CAAC,SAAV,oEAEW,OAFX;AAUA,kBAAM,WAAW,GAAG,QAAQ,CAAC,aAAT,CAAuB,mBAAvB,CAApB;AACA,kBAAM,OAAO,GAAG,QAAQ,CAAC,aAAT,CAAuB,+BAAvB,CAAhB;AACA,yBAAW,CAAC,KAAZ,CAAkB,OAAlB,GAA4B,MAA5B;AACA,kBAAM,MAAM,GAAG,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAf;AACA,oBAAM,CAAC,SAAP,GAAmB,sCAAnB;AACA,qBAAO,CAAC,MAAR,CAAe,QAAf;AACA,qBAAO,CAAC,MAAR,CAAe,MAAf;AACA,qBAAO,CAAC,MAAR,CAAe,SAAf;AACA,sBAAQ,CAAC,gBAAT,CAA0B,OAA1B,EAAmC,UAAC,CAAD,EAAM;AACrC,sBAAI,CAAC,UAAL,CAAgB,OAAhB;AACH,eAFD;AAGA,yBAAW,CAAC,gBAAZ,CAA6B,OAA7B,EAAsC,UAAC,CAAD,EAAM;AACxC,sBAAI,CAAC,UAAL,CAAgB,OAAhB;AACH,eAFD;AAGH,aAjCD;AAH2B;;AAE/B,+BAAe,QAAf,8HAAyB;AAAA;AAmCxB;AArC8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsClC;AACJ;;;6BAEY;AACT,aACG;AAAK,iBAAS,EAAC;AAAf,SAAkC;AAAK,iBAAS,EAAC;AAAf,SAA6C,GAA7C,CAAlC,CADH;AAIH;;;;EA5DiC,KAAK,CAAC,S;;AAC1B,kCAAiB,kBAAjB;AADlB,4C;;;;;;;;;;ACHA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqBa,e;;;;;AACT;AAAA;;AAAA;;AACI;AACA,UAAK,UAAL,GAAkB,MAAK,UAAL,CAAgB,IAAhB,+BAAlB;AAFJ;AAGC;;;;6BAIY;AAAA;;AACL;AAAA,UAAE,OAAF,GAAe,EAAf,CAAE,OAAF;AAAA,UAAW,IAAX,GAAe,EAAf,CAAW,IAAX;AAAA,UAAiB,KAAjB,GAAiB,+BAAjB;;AAEJ,aAAO,KAAK,CAAC,aAAN,CACH,OAAO,IAAI,KADR,EACa,kBAET,KAFS,EAEJ;AACR,WAAG,EAAE,aAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,MAAL,GAAc,CAArB;AAAA,SADG;AAER,eAAO,EAAE,KAAK,UAFN;AAGR,cAAM,EAAE,KAAK,KAAL,CAAW,MAAX,IAAqB,KAAK,UAH1B;AAIR,eAAO,EAAE,KAAK,KAAL,CAAW,OAJZ;AAKR,uBAAe,EAAE,CAAC,KAAK,KAAL,CAAW,QALrB;AAMR,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV,SANjB;AAOR,iBAAS,EAAE,KAAK,KAAL,CAAW,SAPd;AAQR,eAAO,EAAE,KAAK,KAAL,CAAW,OARZ;AASR,iBAAS,EAAE,KAAK,KAAL,CAAW;AATd,OAFI,CADb,EAcH,KAAK,KAAL,CAAW,QAdR,CAAP;AAeH;;;0CAE4B,S,EAA+B;AACxD;AACA;AACA,aACI;AACA,SAAC,KAAK,MAAN,CACA;AADA,WAEI,SAAS,CAAC,IAAV,KAAmB,KAAK,MAAL,CAAY,SAA/B,IACG,SAAS,CAAC,IAAV,KAAmB,KAAK,KAAL,CAAW,IAHrC,CAIA;AAJA,WAKG,KAAK,KAAL,CAAW,QAAX,KAAwB,SAAS,CAAC,QALrC,IAMG,KAAK,KAAL,CAAW,SAAX,IAAwB,SAAS,CAAC,SANrC,IAOG,KAAK,KAAL,CAAW,KAAX,IAAoB,SAAS,CAAC;AATrC;AAWH;;;yCAEwB;AACrB,UAAI,KAAK,MAAL,IAAe,KAAK,KAAL,CAAW,IAAX,KAAoB,KAAK,MAAL,CAAY,SAAnD,EAA8D;AAC1D;AACA;AACA,aAAK,MAAL,CAAY,SAAZ,GAAwB,KAAK,KAAL,CAAW,IAAnC;AACH;AACJ;;;+BAEU,G,EAAG;AACV,UAAI,CAAC,KAAK,MAAV,EAAkB;AAClB,UAAI,IAAI,GAAG,KAAK,MAAL,CAAY,SAAvB;AACA,UAAI,SAAS,GAAG,KAAK,MAAL,CAAY,SAA5B;;AACA,UAAI,KAAK,KAAL,CAAW,QAAX,IAAuB,IAAI,KAAK,KAAK,QAAzC,EAAmD;AAC/C,WAAG,CAAC,MAAJ,GAAa;AAAE,eAAK,EAAE,IAAT;AAAe,mBAAS,EAAT;AAAf,SAAb;AACA,aAAK,KAAL,CAAW,QAAX,CAAoB,GAApB,EAAyB,GAAG,CAAC,MAAJ,CAAW,KAApC,EAA2C,GAAG,CAAC,MAAJ,CAAW,SAAtD;AACH;;AACD,WAAK,QAAL,GAAgB,IAAhB;AACH;;;;EA7DgC,KAAK,CAAC,S;;AAA3C,0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA,mBAAO,CAAC,mCAAD,CAAP;;IAUa,U;;;;;AAAb;AAAA;;AAAA;;;;AAGY,iCAAuB,UAAC,CAAD,EAAM;AACjC,OAAC,CAAC,eAAF;AACA,OAAC,CAAC,WAAF,CAAc,wBAAd;AACH,KAHO;;AAKA,4BAAkB,UAAC,CAAD,EAAI,EAAJ,EAAU;AAChC,UAAI,IAAI,GAAG,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAX;AACA,UAAI,CAAC,SAAL,GAAiB,cAAjB;AACA,UAAI,CAAC,YAAL,CAAkB,IAAlB,EAAwB,eAAxB;AACA;AAAE,cAAK,KAAL,CAAW,OAAX,IAAsB,QAAQ,CAAC,cAAT,CAAwB,EAAxB,EAA4B,WAA5B,CAAwC,IAAxC,CAAtB;AAAqE;;AACvE,YAAK,oBAAL,CAA0B,CAA1B;;AALgC,UAMxB,UANwB,GAMT,MAAK,KANI,CAMxB,UANwB;AAOhC,UAAI,SAAS,GAAG,QAAQ,CAAC,aAAT,CAAuB,UAAvB,CAAhB;AACA,eAAS,CAAC,SAAV,GAAsB,UAAtB;AACA,cAAQ,CAAC,IAAT,CAAc,WAAd,CAA0B,SAA1B;AACA,eAAS,CAAC,MAAV;AACA,cAAQ,CAAC,WAAT,CAAqB,MAArB;AACA,eAAS,CAAC,MAAV;AACH,KAbO;;AAeA,0BAAgB,UAAC,CAAD,EAAI,EAAJ,EAAU;AAC9B;AAAE,cAAK,KAAL,CAAW,OAAX,IAAsB,QAAQ,CAAC,cAAT,CAAwB,eAAxB,CAAtB,IAAkE,QAAQ,CAAC,cAAT,CAAwB,eAAxB,EAAyC,MAAzC,EAAlE;AAAqH;AAC1H,KAFO;;AAvBZ;AAiCC;;;;6BANS;AAAA;;AAAA,wBAC4C,KAAK,KADjD;AAAA,UACM,UADN,eACM,UADN;AAAA,UACkB,OADlB,eACkB,OADlB;AAAA,UAC2B,EAD3B,eAC2B,EAD3B;AAAA,UAC+B,QAD/B,eAC+B,QAD/B;AAEF,aACI;AAAQ,kBAAU,EAAE,oBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,aAAL,CAAmB,CAAnB,EAAsB,EAAtB,CAAP;AAAA,SAApB;AAAoD,gCAAiB,aAAjB,cAAoC,UAApC,CAApD;AAAsG,aAAK,YAAK,aAAL,cAAwB,UAAxB,CAA3G;AAAkJ,UAAE,EAAE,EAAtJ;AAA0J,iBAAS,iCAA0B,YAAY,GAAG,EAAH,GAAQ,OAA9C,cAAyD,OAAzD,CAAnK;AAAuO,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,eAAL,CAAqB,CAArB,EAAwB,EAAxB,CAAP;AAAA;AAAhP,SAAsR,QAAtR,CADJ;AAGH;;;;EAhC2B,KAAK,CAAC,S;;AAC3B,0BAAe;AAAE,SAAO,EAAE;AAAX,CAAf;AADX,gC;;;;;;;;;;;;;;;ACPA;;AACA;;AAGa,wBAAgB,wBACzB,4BAAa,IADY,EAEzB,4BAAa,OAFY,EAGzB,4BAAa,QAHY,EAIzB,4BAAa,YAJY,EAKzB,4BAAa,GALY,EAMzB,4BAAa,UANY,EAOzB,4BAAa,IAPY,EAQzB,4BAAa,IARY,EASzB,4BAAa,WATY,EAUzB,4BAAa,KAVY,CAAhB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNb;;AAwCa,0BAAkB,UAAC,aAAD;AAAA,SAA2C,2BAAiB,EAAG;;;AAC1F;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,iCA8BiB;AACT,cAAM,YAAY,GAAkB,MAAD,IAAgD,KAAK,OAAxF;;AACA,cAAI,aAAJ,EAAmB;AACf,mBAAO,oBAAC,iBAAD,EAAkB,kBAAK,KAAK,KAAV,EAAe;AAAE,0BAAY,EAAE;AAAhB,aAAf,CAAlB,CAAP;AACH,WAFD,MAEO;AACH,mBAAO,oBAAC,iBAAD,EAAkB,kBAAK,KAAK,KAAV,EAAqB,YAArB,CAAlB,CAAP;AACH;AACJ;AArCL;;AAAA;AAAA,MAAqB,KAAK,CAAC,SAA3B,GAEkB,kBAA4C;AACtD,WAAK,EAAE,uBAAU,IADqC;AAEtD,aAAO,EAAE,uBAAU,MAFmC;AAGtD,mBAAa,EAAE,uBAAU,IAH6B;AAItD,cAAQ,EAAE,uBAAU,MAJkC;AAKtD,kBAAY,EAAE,uBAAU,MAL8B;AAMtD,gBAAU,EAAE,uBAAU,IANgC;AAOtD,6BAAuB,EAAE,uBAAU,MAPmB;AAQtD,mCAA6B,EAAE,uBAAU,MARa;AAStD,SAAG,EAAE,uBAAU,MATuC;AAUtD,cAAQ,EAAE,uBAAU,MAVkC;AAWtD,uBAAiB,EAAE,uBAAU,IAXyB;AAYtD,gBAAU,EAAE,uBAAU,SAAV,CAAoB,CAAC,uBAAU,MAAX,EAAmB,uBAAU,IAA7B,CAApB,CAZ0C;AAatD,mBAAa,EAAE,uBAAU,IAb6B;AActD,cAAQ,EAAE,uBAAU,MAdkC;AAetD,kBAAY,EAAE,uBAAU,MAf8B;AAgBtD,mBAAa,EAAE,uBAAU,KAhB6B;AAiBtD,yBAAmB,EAAE,uBAAU,MAjBuB;AAkBtD,YAAM,EAAE,uBAAU,MAlBoC;AAmBtD,qBAAe,EAAE,uBAAU,MAnB2B;AAoBtD,aAAO,EAAE,uBAAU,MApBmC;AAqBtD,0BAAoB,EAAE,uBAAU,IArBsB;AAsBtD,0BAAoB,EAAE,uBAAU,IAtBsB;AAuBtD,mBAAa,EAAE,uBAAU,IAvB6B;AAwBtD,iBAAW,EAAE,uBAAU,MAxB+B;AAyBtD,0BAAoB,EAAE,uBAAU;AAzBsB,KAF9D,EAsCC,EAtCD;AAuCH,GAxC8B;AAAA,CAAlB;;IA0CA,sB;;;;;AAAb;AAAA;;AAAA;;;AACY,gCAAsB,KAAtB;;AAEA,iCAAuB,YAAK;AAChC,UAAI,CAAC,MAAK,mBAAV,EAA+B;AAC3B,cAAK,mBAAL,GAA2B,IAA3B;AACH;AACJ,KAJO;;AAMA,iCAAuB;AAAA,aAAM,MAAK,mBAAX;AAAA,KAAvB;;AATZ;AAgFC;;;;sCAvCyB;AAAA,wBAG6C,KAAK,KAHlD;AAAA,UACV,YADU,eACV,YADU;AAAA,UACI,KADJ,eACI,KADJ;AAAA,UACW,OADX,eACW,OADX;AAAA,UACoB,aADpB,eACoB,aADpB;AAAA,UACmC,QADnC,eACmC,QADnC;AAAA,UAC6C,YAD7C,eAC6C,YAD7C;AAAA,UAC2D,UAD3D,eAC2D,UAD3D;AAAA,UACuE,uBADvE,eACuE,uBADvE;AAAA,UACgG,6BADhG,eACgG,6BADhG;AAAA,UAC+H,GAD/H,eAC+H,GAD/H;AAAA,UACoI,QADpI,eACoI,QADpI;AAAA,UAC8I,UAD9I,eAC8I,UAD9I;AAAA,UAEd,iBAFc,eAEd,iBAFc;AAAA,UAEK,aAFL,eAEK,aAFL;AAAA,UAEoB,QAFpB,eAEoB,QAFpB;AAAA,UAE8B,aAF9B,eAE8B,aAF9B;AAAA,UAE6C,mBAF7C,eAE6C,mBAF7C;AAAA,UAEkE,MAFlE,eAEkE,MAFlE;AAAA,UAE0E,eAF1E,eAE0E,eAF1E;AAAA,UAE2F,OAF3F,eAE2F,OAF3F;AAAA,UAGd,aAHc,eAGd,aAHc;AAAA,UAGC,WAHD,eAGC,WAHD;AAAA,UAGc,oBAHd,eAGc,oBAHd;AAAA,UAGoC,IAHpC,eAGoC,IAHpC;AAIlB,aAAO;AACH,aAAK,EAAL,KADG;AAEH,eAAO,EAAP,OAFG;AAGH,qBAAa,EAAb,aAHG;AAIH,gBAAQ,EAAR,QAJG;AAKH,oBAAY,EAAZ,YALG;AAMH,kBAAU,EAAV,UANG;AAOH,+BAAuB,EAAvB,uBAPG;AAQH,qCAA6B,EAA7B,6BARG;AASH,WAAG,EAAH,GATG;AAUH,gBAAQ,EAAR,QAVG;AAWH,kBAAU,EAAV,UAXG;AAYH,yBAAiB,EAAjB,iBAZG;AAaH,qBAAa,EAAb,aAbG;AAcH,gBAAQ,EAAR,QAdG;AAeH,oBAAY,EAAZ,YAfG;AAgBH,qBAAa,EAAb,aAhBG;AAiBH,2BAAmB,EAAnB,mBAjBG;AAkBH,cAAM,EAAN,MAlBG;AAmBH,uBAAe,EAAf,eAnBG;AAoBH,eAAO,EAAP,OApBG;AAqBH,4BAAoB,EAAE,KAAK,oBArBxB;AAsBH,4BAAoB,EAAE,KAAK,oBAtBxB;AAuBH,qBAAa,EAAb,aAvBG;AAwBH,mBAAW,EAAX,WAxBG;AAyBH,4BAAoB,EAApB,oBAzBG;AA0BH,YAAI,EAAJ;AA1BG,OAAP;AA4BH;;;6BAEY;AACT,aACI;AAAK,UAAE,EAAC,gBAAR;AAAyB,iBAAS,EAAE,KAAK,KAAL,CAAW;AAA/C,SAAsD,KAAK,KAAL,CAAW,QAAjE,CADJ;AAGH;;;;EA/EuC,KAAK,CAAC,S;;AAWhC,2CAAiD;AAC3D,OAAK,EAAE,uBAAU,IAD0C;AAE3D,SAAO,EAAE,uBAAU,MAFwC;AAG3D,eAAa,EAAE,uBAAU,IAHkC;AAI3D,UAAQ,EAAE,uBAAU,MAJuC;AAK3D,cAAY,EAAE,uBAAU,MALmC;AAM3D,YAAU,EAAE,uBAAU,IANqC;AAO3D,yBAAuB,EAAE,uBAAU,MAPwB;AAQ3D,+BAA6B,EAAE,uBAAU,MARkB;AAS3D,KAAG,EAAE,uBAAU,MAT4C;AAU3D,UAAQ,EAAE,uBAAU,MAVuC;AAW3D,mBAAiB,EAAE,uBAAU,IAX8B;AAY3D,YAAU,EAAE,uBAAU,SAAV,CAAoB,CAAC,uBAAU,MAAX,EAAmB,uBAAU,IAA7B,CAApB,CAZ+C;AAa3D,eAAa,EAAE,uBAAU,IAbkC;AAc3D,UAAQ,EAAE,uBAAU,MAduC;AAe3D,cAAY,EAAE,uBAAU,MAfmC;AAgB3D,eAAa,EAAE,uBAAU,KAhBkC;AAiB3D,qBAAmB,EAAE,uBAAU,MAjB4B;AAkB3D,QAAM,EAAE,uBAAU,MAlByC;AAmB3D,iBAAe,EAAE,uBAAU,MAnBgC;AAoB3D,SAAO,EAAE,uBAAU,MApBwC;AAqB3D,sBAAoB,EAAE,uBAAU,IArB2B;AAsB3D,sBAAoB,EAAE,uBAAU,IAtB2B;AAuB3D,eAAa,EAAE,uBAAU,IAvBkC;AAwB3D,aAAW,EAAE,uBAAU,MAxBoC;AAyB3D,sBAAoB,EAAE,uBAAU,MAzB2B;AA0B3D,MAAI,EAAC,uBAAU;AA1B4C,CAAjD;AAXlB,wD;;;;;;;;;;;;;;;;;;;ACnFA;;AACA;;AAGa,oCAA4B,SAA5B,C,CAEb;;AACa;AAAA;AAAA;AAAA;AAAA,wBAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAClB,KAAK,CAAC,IAAN,CAAW,oCAAX,CADkB;;AAAA;AAExB,sBAAY,CAAC,UAAb,CAAwB,iCAAxB;;AAFwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAb;;AAKA,6CAAqC,YAAgC;AAChF,MAAM,eAAe,GAAG,YAAY,CAAC,OAAb,CAAqB,iCAArB,CAAxB;;AAEA,MAAI,CAAC,eAAL,EAAsB;AACpB,WAAO,IAAP;AACD;;AAED,SAAO,IAAI,CAAC,KAAL,CAAW,eAAX,CAAP;AACD,CARY,C,CAgBb;;;AACa;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAyB,kBAAO,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA,8CACpC,IAAI,OAAJ,CAAY,UAAC,OAAD,EAAY;AACtB,wBAAU,CAAC,KAAX,CACE;AAAA,uBACE,KAAK;AAAA;AAAA,wCAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iCACgB,UAAU,CAAC,OAAX,CAAmB,MAAM,CAAC,iBAA1B,EAA6C;AAAE,kCAAM,EAAN;AAAF,2BAA7C,CADhB;;AAAA;AACE,+BADF;AAEJ,iCAAO,CAAC,KAAD,CAAP;;AAFI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAD,IADP;AAAA,eADF;AAOD,aARD,CADoC;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAzB;;AAAA;AAAA;AAAA;AAAA,I;;;;;;;;;;;;;AC5Bb,IAAM,SAAS,GAAG,OAAlB,C,CAEA;;AACa,8BAAsB,UAAC,SAAD;AAAA,SAAuB,iBAAiB,WAAI,SAAJ,yBAAmC,SAAnC,CAAxC;AAAA,CAAtB;;AACA,iCAAyB,UAAC,SAAD;AAAA,SAAuB,iBAAiB,WAAI,SAAJ,6BAAuC,SAAvC,CAAxC;AAAA,CAAzB,C,CAEb;;;AACa,8BAAsB,UAAC,SAAD;AAAA,SAAuB,iBAAiB,WAAI,SAAJ,yBAAmC,SAAnC,CAAxC;AAAA,CAAtB;;AACA,iCAAyB,UAAC,SAAD;AAAA,SAAuB,iBAAiB,WAAI,SAAJ,6BAAuC,SAAvC,CAAxC;AAAA,CAAzB;;AACA,sCAA8B;AAAA,mBAAS,SAAT;AAAA,CAA9B;;AACA,qCAA6B;AAAA,mBAAS,SAAT;AAAA,CAA7B;;AACA,6CAAqC;AAAA,mBAAS,SAAT;AAAA,CAArC,C,CAEb;;;AACa,4BAAoB;AAAA,mBAAS,SAAT;AAAA,CAApB,C,CAEb;;;AACa,wCAAgC;AAAA,mBAAS,SAAT;AAAA,CAAhC;;AACA,qCAA6B;AAAA,mBAAS,SAAT;AAAA,CAA7B;;AACA,+BAAuB;AAAA,mBAAS,SAAT;AAAA,CAAvB;;AACA,gCAAwB,UAAC,KAAD,EAAgB,QAAhB;AAAA,mBAAwC,SAAxC,gDAAuF,KAAvF,cAAgG,QAAhG;AAAA,CAAxB,C,CAGb;;;AACa,qCAA6B;AAAA,mBAAS,SAAT;AAAA,CAA7B;;AAEb,SAAS,iBAAT,CAA2B,GAA3B,EAAwC,SAAxC,EAAyD;AACrD,MAAM,MAAM,GAAG,IAAI,GAAJ,CAAQ,GAAR,EAAa,QAAQ,CAAC,QAAT,CAAkB,IAA/B,CAAf;AACA,QAAM,CAAC,YAAP,CAAoB,GAApB,CAAwB,WAAxB,EAAqC,SAArC;AACA,SAAO,MAAM,CAAC,IAAd;AACH,C;;;;;;;;;;;;;AC/BD,IAAY,qBAAZ;;AAAA,WAAY,qBAAZ,EAAiC;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD,CAfD,EAAY,qBAAqB,GAArB,kEAAqB,EAArB,CAAZ;;AAiBA,IAAY,aAAZ;;AAAA,WAAY,aAAZ,EAAyB;AACvB;AACA;AACA;AACA;AACD,CALD,EAAY,aAAa,GAAb,kDAAa,EAAb,CAAZ;;AAQA,IAAY,yBAAZ;;AAAA,WAAY,yBAAZ,EAAqC;AACnC;AACA;AACA;AACA;AACD,CALD,EAAY,yBAAyB,GAAzB,0EAAyB,EAAzB,CAAZ,E;;;;;;;;;;;;;;ACxBA,SAAgB,cAAhB,GAA8B;AAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAb,CAAqB,SAArB,CAAb;;AACA,MAAG,IAAH,EAAS;AACL,WAAO,IAAI,CAAC,KAAL,CAAW,IAAX,CAAP;AACH;AACJ;;AALD;;AAOA,SAAgB,iBAAhB,GAAiC;AAC7B,cAAY,CAAC,UAAb,CAAwB,SAAxB;AACH;;AAFD,8C;;;;;;;;;;;;;;;;;;;;;;;;;ACRA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;AACA;;;;;AAKA;;;AAEA,IAAM,eAAe,GAAG,yBAAxB;AACA,IAAM,kBAAkB,GAAG,iCAA3B;;AAcA,IAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,KAAD,EAAkB;AACtC,MAAM,UAAU,GAAG,sJAAnB;AACA,SAAO,OAAO,KAAP,KAAiB,QAAjB,IAA6B,UAAU,CAAC,IAAX,CAAgB,KAAhB,CAApC;AACD,CAHD;;AAKa,6BAAqB,UAAC,IAAD;AAAA,SAA8B,YAAoB;AAAA,4BAChD,iBAAwB,IAAxB,CADgD;AAAA;AAAA,QAC3E,SAD2E;AAAA,QAChE,YADgE;;AAAA,6BAE1D,iBAAwB,kCAAc,KAAtC,CAF0D;AAAA;AAAA,QAE3E,IAF2E;AAAA,QAErE,OAFqE;;AAAA,6BAGxD,iBAAwB,IAAxB,CAHwD;AAAA;AAAA,QAG3E,KAH2E;AAAA,QAGpE,QAHoE;;AAAA,6BAI1B,iBAAsB,IAAtB,CAJ0B;AAAA;AAAA,QAI3E,oBAJ2E;AAAA,QAIrD,uBAJqD;;AAAA,6BAKxC,iBAAwB,IAAxB,CALwC;AAAA;AAAA,QAK3E,aAL2E;AAAA,QAK5D,gBAL4D;;AAQlF,QAAM,SAAS,GAAG,SAAZ,SAAY,CAAC,KAAD,EAAuB;AACvC,UAAM,SAAS,GAAG,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAlB;AACA,UAAM,MAAM,GAAG,SAAS,CAAC,OAAV,CAAkB,IAAlB,EAAwB,GAAxB,EAA6B,OAA7B,CAAqC,IAArC,EAA2C,GAA3C,CAAf;AACA,UAAM,WAAW,GAAG,kBAAkB,CACpC,IAAI,CAAC,MAAD,CAAJ,CACG,KADH,CACS,EADT,EAEG,GAFH,CAEO,WAAC;AAAA,eAAI,MAAM,CAAC,OAAO,CAAC,CAAC,UAAF,CAAa,CAAb,EAAgB,QAAhB,CAAyB,EAAzB,CAAR,EAAsC,KAAtC,CAA4C,CAAC,CAA7C,CAAV;AAAA,OAFR,EAGG,IAHH,CAGQ,EAHR,CADoC,CAAtC;AAMA,aAAO,IAAI,CAAC,KAAL,CAAW,WAAX,CAAP;AACD,KAVD;;AAYA,QAAM,qBAAqB,GAAG,SAAxB,qBAAwB,CAAC,QAAD,EAAqB;AACjD,aAAO,IAAI,IAAJ,CAAS,IAAI,CAAC,GAAL,KAAa,QAAQ,GAAG,IAAjC,CAAP;AACD,KAFD;;AAIA,QAAM,sBAAsB,GAAG,SAAzB,sBAAyB,CAAC,IAAD,EAAkC;AAC/D,UAAM,kBAAkB,GAAuB;AAAE,UAAE,EAAE,IAAI,CAAC,EAAL,IAAW,CAAC,CAAlB;AAAqB,cAAM,EAAE,IAAI,CAAC,MAAL,IAAe,EAA5C;AAAgD,mBAAW,EAAE,IAAI,CAAC,WAAL,IAAoB;AAAjF,OAA/C;AACA,wBAAkB,CAAC,kBAAD,CAAlB;AACD,KAHD;;AAKA,QAAM,kBAAkB,GAAG,SAArB,kBAAqB,CAAC,OAAD,EAAiB;AAC1C,kBAAY,CAAC,OAAb,CAAqB,0CAArB,EAAgD,IAAI,CAAC,SAAL,CAAe,OAAf,CAAhD;AACA,aAAO,CAAC,kCAAc,MAAf,CAAP;AACA,kBAAY,CAAC,IAAD,CAAZ;AACA,6BAAuB,CAAC,IAAD,CAAvB;AACA,sBAAgB,CAAC,IAAD,CAAhB;AACA,cAAQ,CAAC,IAAD,CAAR;AACD,KAPD;;AASA,QAAM,WAAW,GAAG,wBAAe;AACjC,eAAS;AAAA;AAAA;AAAA,gCAAE,iBAAO,QAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAEW,KAAK,CAAC,IAAN,CAA8C,8CAA9C,EAA6E;AAAE,mCAAe,EAAE,QAAQ,CAAC;AAA5B,mBAA7E,CAFX;;AAAA;AAED,qBAFC;AAGD,4BAHC,GAGY,GAAG,CAAC,IAAJ,CAAS,IAHrB;;AAAA,sBAKF,UAAU,CAAC,aALT;AAAA;AAAA;AAAA;;AAML,wCAAsB,CAAC,UAAD,CAAtB;AANK;;AAAA;AAUD,uBAVC,GAUO,UAAU,CAAC,KAVlB;AAWP,kCAAgB,CAAC,KAAD,CAAhB;AACA,yCAAuB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,UAAV,CAAtB,CAAvB;AACA,yBAAO,CAAC,kCAAc,aAAf,CAAP;AAbO;AAAA;;AAAA;AAAA;AAAA;AAeP,8BAAY,CAAC,0CAAsB,qBAAvB,CAAZ;;AAfO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,SADwB;AAmBjC,aAAO,EAAE,mBAAK;AACZ,oBAAY,CAAC,0CAAsB,qBAAvB,CAAZ;AACD;AArBgC,KAAf,CAApB;;AAwBA,QAAM,eAAe,GAAG,SAAlB,eAAkB,GAAK;AAC3B;AACA,iBAAW;AACZ,KAHD;;AAKA,QAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAGnB;AACC,sBAAc,CAAC,OAAf,CAAuB,IAAvB,CAA4B,IAA5B,CAAiC;AAChC,0BAAQ,EAAE,eADsB;AAEhC,6BAAW,EAAE,kBAFmB;AAGhC,uBAAK,EAAE,YAHyB;AAIhC,0BAAQ,EAAE;AAJsB,iBAAjC;AAJkB;AAAA,uBAW0B,MAAc,CAAC,OAAf,CAAuB,IAAvB,CAA4B,MAA5B,EAX1B;;AAAA;AAWb,wBAXa;AAaX,6BAbW,GAaO,QAbP,CAaX,aAbW;AAcX,oBAdW,GAcQ,aAdR,CAcX,IAdW,EAcL,QAdK,GAcQ,aAdR,CAcL,QAdK;;AAAA,sBAgBf,CAAC,IAAD,IAAS,CAAC,QAhBK;AAAA;AAAA;AAAA;;AAAA,sBAiBX,IAAI,KAAJ,CAAU,yCAAV,CAjBW;;AAAA;AAoBb,4BApBa,GAoBE,SAAS,CAAC,QAAD,CApBX;AAqBb,8BArBa,GAqBI,YAAY,IAAI,YAAY,CAAC,GArBjC;;AAAA,oBAuBd,cAvBc;AAAA;AAAA;AAAA;;AAAA,sBAwBX,IAAI,KAAJ,CAAU,sCAAV,CAxBW;;AAAA;AAAA;AAAA,uBA2BD,KAAK,CAAC,IAAN,CAA8C,6CAA9C,EAA4E;AAAE,iCAAe,EAAE;AAAnB,iBAA5E,CA3BC;;AAAA;AA2Bb,mBA3Ba;AA4Bb,uBA5Ba,GA4BH,GAAG,CAAC,IAAJ,IAAY,GAAG,CAAC,IAAJ,CAAS,IA5BlB;;AAAA,oBA8Bd,OA9Bc;AAAA;AAAA;AAAA;;AAAA,sBA+BX,IAAI,KAAJ,EA/BW;;AAAA;AAkCnB,oBAAK,MAAc,CAAC,OAAf,IAA2B,MAAc,CAAC,OAAf,CAAuB,IAAlD,IAA2D,MAAc,CAAC,OAAf,CAAuB,IAAvB,CAA4B,WAA5F,EAAyG;AACtG,wBAAc,CAAC,OAAf,CAAuB,IAAvB,CAA4B,WAA5B,CAAwC,KAAxC;AACF;;AApCkB,oBAsCd,OAAO,CAAC,aAtCM;AAAA;AAAA;AAAA;;AAuCjB,sCAAsB,CAAC,OAAD,CAAtB;AAvCiB;;AAAA;AA2CnB,gCAAgB,CAAC,OAAO,CAAC,KAAT,CAAhB;AACA,uCAAuB,CAAC,qBAAqB,CAAC,cAAD,CAAtB,CAAvB;AACA,uBAAO,CAAC,kCAAc,aAAf,CAAP;AA7CmB;AAAA;;AAAA;AAAA;AAAA;AA+CnB,4BAAY,CAAC,aAAM,OAAN,IAAiB,0CAAsB,oBAAxC,CAAZ;AA/CmB,kDAgDZ,KAhDY;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAH;;AAAA,sBAAd,cAAc;AAAA;AAAA;AAAA,OAApB;;AAoDA,QAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAG,kBAAO,OAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAClB,oBAAoB,IAAK,IAAI,CAAC,GAAL,KAAa,oBAAoB,CAAC,OAArB,EADpB;AAAA;AAAA;AAAA;;AAEpB,4BAAY,CAAC,0CAAsB,aAAvB,CAAZ;AAFoB;;AAAA;AAAA;AAAA;AAAA,uBAMG,KAAK,CAAC,IAAN,CAAgB,qDAAhB,EAAsD;AAAE,uBAAK,EAAE,aAAT;AAAwB,yBAAO,EAAP;AAAxB,iBAAtD,CANH;;AAAA;AAMd,wBANc;AAOpB,kCAAkB,CAAC,QAAQ,CAAC,IAAT,CAAc,IAAf,CAAlB;AAPoB;AAAA;;AAAA;AAAA;AAAA;AASpB,4BAAY,CAAC,aAAM,QAAN,IAAkB,aAAM,QAAN,CAAe,IAAjC,IAAyC,aAAM,QAAN,CAAe,IAAf,CAAoB,OAA7D,IAAwE,0CAAsB,wBAA/F,CAAZ;;AAToB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAH;;AAAA,sBAAf,eAAe;AAAA;AAAA;AAAA,OAArB;;AAaA,QAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAG,kBAAO,SAAP,EAA0B,WAA1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEhB,oBAFgB,GAEJ;AAAE,uBAAK,EAAE,SAAS,CAAC,IAAV;AAAT,iBAFI;;AAAA,sBAIlB,IAAI,KAAK,QAJS;AAAA;AAAA;AAAA;;AAAA,oBAKf,WALe;AAAA;AAAA;AAAA;;AAMlB,4BAAY,CAAC,0CAAsB,mBAAvB,CAAZ;AANkB,kDAOX,KAPW;;AAAA;AASpB,oBAAI,CAAC,WAAL,GAAmB,WAAnB;;AAToB;AAAA,oBAYjB,aAAa,CAAC,SAAD,CAZI;AAAA;AAAA;AAAA;;AAapB,4BAAY,CAAC,0CAAsB,aAAvB,CAAZ;AAboB,kDAcb,KAda;;AAAA;AAAA;AAAA,uBAiBO,wCAAuB,IAAvB,CAjBP;;AAAA;AAiBhB,8BAjBgB;AAAA;AAAA,uBAkBC,KAAK,CAAC,IAAN,CAAW,IAAI,KAAK,OAAT,GAAmB,qCAAoB,cAApB,CAAnB,GAAyD,qCAAoB,cAApB,CAApE,EAAyG,IAAzG,CAlBD;;AAAA;AAkBhB,wBAlBgB;;AAAA,qBAmBlB,QAAQ,CAAC,IAnBS;AAAA;AAAA;AAAA;;AAoBpB,wBAAQ,CAAC,SAAD,CAAR;AACA,uBAAO,CAAC,kCAAc,QAAf,CAAP;AACA,4BAAY,CAAC,IAAD,CAAZ;AAtBoB,kDAuBb,IAvBa;;AAAA;AAAA,kDAyBf,KAzBe;;AAAA;AAAA;AAAA;AA2BtB,uBAAO,CAAC,KAAR;AACA,4BAAY,CAAC,aAAM,QAAN,IAAkB,aAAM,QAAN,CAAe,IAAjC,IAAyC,aAAM,QAAN,CAAe,IAAf,CAAoB,OAA7D,IAAwE,0CAAsB,kBAA/F,CAAZ;AA5BsB,kDA6Bf,KA7Be;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAH;;AAAA,sBAAjB,iBAAiB;AAAA;AAAA;AAAA,OAAvB;;AAiCA,QAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAG,kBAAO,QAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAChB,KADgB;AAAA;AAAA;AAAA;;AAEnB,4BAAY,CAAC,0CAAsB,aAAvB,CAAZ;AAFmB,kDAGZ,KAHY;;AAAA;AAAA;AAAA;AAAA,uBAOU,wCAAuB,IAAI,GAAG,MAA9B,CAPV;;AAAA;AAOb,8BAPa;AAQb,wBARa,GAQF,IAAI,KAAK,QAAT,GAAoB,wCAAuB,cAAvB,CAApB,GAA6D,wCAAuB,cAAvB,CAR3D;AAAA;AAAA,uBASI,KAAK,CAAC,IAAN,CAAgB,QAAhB,EAA0B;AAAE,uBAAK,EAAL,KAAF;AAAS,0BAAQ,EAAR;AAAT,iBAA1B,CATJ;;AAAA;AASb,wBATa;;AAAA,qBAUf,QAAQ,CAAC,IAVM;AAAA;AAAA;AAAA;;AAWjB,kCAAkB,CAAC,QAAQ,CAAC,IAAT,CAAc,IAAf,CAAlB;AAXiB,kDAYV,IAZU;;AAAA;AAAA,kDAcZ,KAdY;;AAAA;AAAA;AAAA;AAgBnB,4BAAY,CAAC,aAAM,QAAN,IAAkB,aAAM,QAAN,CAAe,IAAjC,IAAyC,aAAM,QAAN,CAAe,IAAf,CAAoB,OAA7D,IAAwE,0CAAsB,qBAA/F,CAAZ;AAhBmB,kDAiBZ,KAjBY;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAH;;AAAA,sBAAd,cAAc;AAAA;AAAA;AAAA,OAApB;;AAoBA,QAAM,SAAS,GAAG,SAAZ,SAAY,GAAK;AACrB,kBAAY,CAAC,IAAD,CAAZ;AACA,aAAO,CAAC,kCAAc,KAAf,CAAP;AACA,cAAQ,CAAC,IAAD,CAAR;AACA,6BAAuB,CAAC,IAAD,CAAvB;AACA,sBAAgB,CAAC,IAAD,CAAhB;AACD,KAND;;AAQA,WAAO;AACL,eAAS,EAAT,SADK;AAEL,UAAI,EAAJ,IAFK;AAGL,oBAAc,EAAd,cAHK;AAIL,qBAAe,EAAf,eAJK;AAKL,qBAAe,EAAf,eALK;AAML,uBAAiB,EAAjB,iBANK;AAOL,oBAAc,EAAd,cAPK;AAQL,eAAS,EAAT;AARK,KAAP;AAUD,GA3MiC;AAAA,CAArB,C;;;;;;;;;;;;;;;;;;;;;;;;;;AClCb;;AACA;;AACA;;AACA;;AAMA,IAAY,cAAZ;;AAAA,WAAY,cAAZ,EAA0B;AACxB;AACA;AACA;AACA;AACA;AACA;AACD,CAPD,EAAY,cAAc,GAAd,oDAAc,EAAd,CAAZ;;AAca,sBAAc,UAAC,eAAD,EAA4B;AAAA,0BACT,iBAAyB,cAAc,CAAC,IAAxC,CADS;AAAA;AAAA,MAC9C,cAD8C;AAAA,MAC9B,iBAD8B;;AAAA,2BAE3B,iBAAwB,IAAxB,CAF2B;AAAA;AAAA,MAE9C,KAF8C;AAAA,MAEvC,QAFuC;;AAAA,2BAGjB,iBAAwB,IAAxB,CAHiB;AAAA;AAAA,MAG9C,UAH8C;AAAA,MAGlC,aAHkC;;AAKrD,MAAM,aAAa,GAAG,oBAAY,YAAK;AACrC,qBAAiB,CAAC,cAAc,CAAC,IAAhB,CAAjB;AACA,YAAQ,CAAC,IAAD,CAAR;AACA,iBAAa,CAAC,IAAD,CAAb;AACD,GAJqB,EAInB,EAJmB,CAAtB;AAMA,MAAM,uBAAuB,GAAG,oBAAY,UAAC,OAAD,EAAkC;AAC5E,QAAI,OAAO,CAAC,IAAR,KAAiB,iBAArB,EAAwC;AACtC,cAAQ,OAAO,CAAC,MAAhB;AACE,aAAK,SAAL;AACE,2BAAiB,CAAC,cAAc,CAAC,SAAhB,CAAjB;AACA;;AACF,aAAK,OAAL;AACE,2BAAiB,CAAC,cAAc,CAAC,KAAhB,CAAjB;AACA,kBAAQ,CAAC,8CAA0B,cAA3B,CAAR;AACA;;AACF,aAAK,QAAL;AACE,2BAAiB,CAAC,cAAc,CAAC,SAAhB,CAAjB;AACA;;AACF;AACE,2BAAiB,CAAC,cAAc,CAAC,KAAhB,CAAjB;AACA,kBAAQ,CAAC,8CAA0B,iBAA3B,CAAR;AAbJ;AAeD;AACF,GAlB+B,EAkB7B,EAlB6B,CAAhC;AAoBA,oBAAU,YAAK;AACb,QAAI,UAAJ,EAAgB;AACd;AACD;;AAED,QAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAErB,iCAAiB,CAAC,cAAc,CAAC,OAAhB,CAAjB;AACA,wBAAQ,CAAC,IAAD,CAAR;AAHqB;AAAA,uBAIE,KAAK,CAAC,IAAN,CAAkC,6CAAlC,EAAgE;AAAE,iCAAe,EAAf;AAAF,iBAAhE,CAJF;;AAAA;AAIf,wBAJe;AAKf,mBALe,GAKT,QAAQ,CAAC,IAAT,IAAiB,QAAQ,CAAC,IAAT,CAAc,IAA/B,IAAuC,QAAQ,CAAC,IAAT,CAAc,IAAd,CAAmB,GALjD;;AAAA,qBAMjB,GANiB;AAAA;AAAA;AAAA;;AAOnB,6BAAa,CAAC,GAAD,CAAb;AACA,iCAAiB,CAAC,cAAc,CAAC,SAAhB,CAAjB;AARmB;AAAA;;AAAA;AAAA,sBAUb,IAAI,KAAJ,CAAU,8CAA0B,gBAApC,CAVa;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAcrB,wBAAQ,CAAC,YAAI,OAAJ,IAAe,8CAA0B,aAA1C,CAAR;AACA,iCAAiB,CAAC,cAAc,CAAC,KAAhB,CAAjB;;AAfqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAH;;AAAA,sBAAhB,gBAAgB;AAAA;AAAA;AAAA,OAAtB;;AAmBA,QAAI,eAAJ,EAAqB;AACnB,sBAAgB;AACjB;AACF,GA3BD,EA2BG,CAAC,eAAD,EAAkB,UAAlB,CA3BH;AA6BA,oBAAU,YAAK;AACb,QAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,KAAD,EAAwB;AAC5C,UAAI,KAAK,CAAC,IAAN,IAAc,KAAK,CAAC,IAAN,CAAW,IAAX,KAAoB,iBAAtC,EAAyD;AACvD,+BAAuB,CAAC,KAAK,CAAC,IAAP,CAAvB;AACD;AACF,KAJD;;AAMA,UAAM,CAAC,gBAAP,CAAwB,SAAxB,EAAmC,aAAnC;AACA,WAAO,YAAK;AACV,YAAM,CAAC,mBAAP,CAA2B,SAA3B,EAAsC,aAAtC;AACD,KAFD;AAGD,GAXD,EAWG,CAAC,uBAAD,CAXH;AAaA,SAAO;AACL,kBAAc,EAAd,cADK;AAEL,cAAU,EAAV,UAFK;AAGL,SAAK,EAAL,KAHK;AAIL,iBAAa,EAAb;AAJK,GAAP;AAMD,CA/EY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBb,IAAI,YAAY,GAAG,mBAAO,CAAC,kDAAD,CAA1B;;AAiBA,IAAa,WAAb;AAAA;AAAA;AAAA;;AADA;AAAA;;AAAA;;;;AAEY,+BAAqB,YAAK;AAC9B,UAAI,MAAK,KAAL,CAAW,eAAf,EAAgC;AAC5B,cAAK,KAAL,CAAW,iBAAX;AACH;AACJ,KAJO;;AAFZ;AAyBC;;AAxBD;AAAA;AAAA,6BAOiB;AAAA,wBAC2F,KAAK,KADhG;AAAA,UACD,eADC,eACD,eADC;AAAA,UACgB,YADhB,eACgB,YADhB;AAAA,UAC8B,iBAD9B,eAC8B,iBAD9B;AAAA,UACiD,WADjD,eACiD,WADjD;AAAA,UAC8D,SAD9D,eAC8D,SAD9D;AAAA,UACyE,MADzE,eACyE,MADzE;AAAA,UACiF,KADjF,eACiF,KADjF;AAET,aACI;AAAK,iBAAS,EAAE,SAAhB;AAA2B,iBAAS,EAAE,iBAAtC;AAAyD,aAAK,EAAE;AAAhE,SACK,eAAe,GACZ,CAAC,CAAC,GAAF,CAAgB,YAAhB,EAA8B,WAAC;AAAA,eAC3B;AAAK,mBAAS,EAAC,cAAf;AACI,eAAK,EAAE;AAAE,4BAAgB,YAAK,CAAC,CAAC,KAAP;AAAlB,WADX;AAEI,qBAAW,EAAE,qBAAC,CAAD,EAAM;AAAG,aAAC,CAAC,cAAF;AAAoB,uBAAW,WAAI,MAAJ,cAAc,CAAC,CAAC,KAAhB,EAAX;AAAqC,WAFnF;AAGI,aAAG,EAAE,CAAC,CAAC;AAHX,WAIE,CAAC,CAAC,KAJJ,CAD2B;AAAA,OAA/B,CADY,GAOR,IARZ,CADJ;AAaH;AAtBL;;AAAA;AAAA,EAAiC,KAAK,CAAC,SAAvC;;AAAa,WAAW,eADvB,YACuB,GAAX,WAAW,CAAX;AAAA,kC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBb;;IAEa,wB;;;;;;;;;;;;;oCAGY;AACjB,YAAM,CAAC,UAAP,CAAkB,cAAlB;AACA,YAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,cADW;AAElB,gBAAQ,EAAE,eAFQ;AAGlB,cAAM,EAAE,cAHU;AAIlB,aAAK,EAAE;AAJW,OAAtB;AAMH;;;6BAEY;AAAA;;AAAA,UACF,QADE,GACU,KAAK,KADf,CACF,QADE;;AAET,UAAI,CAAC,4BAAL,EAAoB;AAChB,eACI;AAAK,mBAAS,EAAC,sBAAf;AAAsC,YAAE,EAAC;AAAzC,WACI;AAAK,mBAAS,EAAC;AAAf,UADJ,EAEI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC,eAAf;AAA+B,aAAG,EAAC,eAAnC;AAAmD,aAAG,EAAC,qEAAvD;AAA6H,gBAAM,EAAC,IAApI;AAAyI,eAAK,EAAC;AAA/I,UADJ,EAEI;AAAG,mBAAS,EAAC;AAAb,WAA8B;AAAQ,mBAAS,EAAC;AAAlB,WAA+B,wKAA/B,CAA9B,CAFJ,EAGI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC;AAAf,UADJ,EAEI;AAAK,mBAAS,EAAC,WAAf;AAA2B,aAAG,EAAC,eAA/B;AAA+C,aAAG,EAAC,wDAAnD;AAA4G,gBAAM,EAAC,IAAnH;AAAwH,eAAK,EAAC;AAA9H,UAFJ,EAGI;AAAM,mBAAS,EAAC;AAAhB,WAA6B,kHAA7B,CAHJ,CADJ,EAMI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC;AAAf,UADJ,EAEI;AAAK,mBAAS,EAAC,WAAf;AAA2B,aAAG,EAAC,eAA/B;AAA+C,aAAG,EAAC,wDAAnD;AAA4G,gBAAM,EAAC,IAAnH;AAAwH,eAAK,EAAC;AAA9H,UAFJ,EAGI;AAAM,mBAAS,EAAC;AAAhB,WAA6B,gJAA7B,CAHJ,CANJ,EAWI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC;AAAf,UADJ,EAEI;AAAK,mBAAS,EAAC,WAAf;AAA2B,aAAG,EAAC,eAA/B;AAA+C,aAAG,EAAC,wDAAnD;AAA4G,gBAAM,EAAC,IAAnH;AAAwH,eAAK,EAAC;AAA9H,UAFJ,EAGI;AAAM,mBAAS,EAAC;AAAhB,WAA6B,kKAA7B,CAHJ,CAXJ,CAHJ,EAoBI;AAAG,YAAE,EAAC,kBAAN;AAAyB,mBAAS,EAAC,qBAAnC;AAAyD,cAAI,EAAG,QAAQ,KAAG,SAAX,IAAuB,QAAQ,KAAG,QAAlC,IAA8C,QAAQ,KAAG,QAA1D,GAAsE,oDAAtE;AAA/D,WAA4R,sEAA5R,CApBJ,EAqBI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAG,mBAAS,EAAC,eAAb;AAA6B,YAAE,EAAC,eAAhC;AAAgD,iBAAO,EAAE;AAAA,mBAAM,KAAI,CAAC,aAAL,EAAN;AAAA;AAAzD,W,+EAAA,EAAsG,sEAAtG,CADJ,EAEI;AAAG,gBAAM,EAAC,QAAV;AAAmB,YAAE,EAAC,0BAAtB;AAAiD,cAAI,EAAG,QAAQ,KAAG,SAAX,IAAuB,QAAQ,KAAG,QAAlC,IAA+C,QAAQ,KAAG,QAA3D,GAAuE,gEAAvE,GAA0I,sCAAjM;AAAyO,iBAAO,EAAE;AAAA,mBAAM,iBAAN;AAAA;AAAlP,WAAyQ,mDAAzQ,CAFJ,CArBJ,CAFJ,CADJ;AA+BH,OAhCD,MAgCO,OAAO,IAAP;AACV;;;;EAjDyC,KAAK,CAAC,S;;AAClC,0CAAiB,0BAAjB;AADlB,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICSa,a;;;;;AAAb;AAAA;;AAAA;;;;AACY,wBAAc,eAAK,EAAG;AAC1B,WAAK,CAAC,cAAN;AACA,WAAK,CAAC,eAAN;;AACA,YAAK,KAAL,CAAW,OAAX,CAAmB,KAAnB;AACH,KAJO;;AADZ;AAsBC;;;;6BAhBgB;AAAA,wBAC8C,KAAK,KADnD;AAAA,UACD,KADC,eACD,KADC;AAAA,UACM,SADN,eACM,SADN;AAAA,UACiB,aADjB,eACiB,aADjB;AAAA,UACgC,KADhC,eACgC,KADhC;AAAA,UACuC,EADvC,eACuC,EADvC;AAET,aACI;AACI,mBAAW,EAAE,sBAAC,EAAG;AAAG,WAAC,CAAC,cAAF;AAAoB,WAAC,CAAC,eAAF;AAAqB,SADjE;AAEI,eAAO,EAAE,KAAK,WAFlB;AAGI,iBAAS,EAAE,SAHf;AAII,aAAK,EAAE,KAJX;AAKI,UAAE,EAAE,EALR;AAMI,aAAK,EAAE;AANX,SAQI;AAAK,iBAAS,EAAE;AAAhB,QARJ,EASK,KAAK,KAAL,CAAW,QAThB,CADJ;AAaH;;;;EArB8B,KAAK,CAAC,S;;AAAzC,sC;;;;;;;;;;;;;;;ACVA;;AAEa,uBAAe,CAAC,MAAD,EAAS,MAAT,EAAiB,SAAjB,EAA4B,SAA5B,CAAf;AAEA,2BAAmB,CAC5B;AAAE,OAAK,EAAE,MAAT;AAAiB,OAAK,EAAE,YAAE;AAA1B,CAD4B,EAE5B;AAAE,OAAK,EAAE,KAAT;AAAgB,OAAK,EAAE,UAAE;AAAzB,CAF4B,EAG5B;AAAE,OAAK,EAAE,UAAT;AAAqB,OAAK,EAAE,SAAE;AAA9B,CAH4B,CAAnB;AAMb,IAAM,cAAc,GAAkC;AAClD,MAAI,EAAE,2BAAc,YAD8B;AAElD,MAAI,EAAE;AAAE,MAAE,EAAE,EAAN;AAAU,eAAW,EAAE;AAAvB;AAF4C,CAAtD;AAKA,IAAM,oBAAoB,GAAyB;AAC/C,cAAY,EAAE,KADiC;AAE/C,eAAa,EAAE,GAFgC;AAG/C,gBAAc,EAAE,GAH+B;AAI/C,iBAAe,EAAE,EAJ8B;AAK/C,iBAAe,EAAE,qBAAa,CAAb;AAL8B,CAAnD;AAQa,oCAAiE;AAAE,gBAAc,EAAd,cAAF;AAAkB,sBAAoB,EAApB;AAAlB,CAAjE,C;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBb;;AACA,OAAO,CAAC,UAAR,CAAmB,kEAAnB;;AAMA,SAAS,gBAAT,GAAyB;AACrB,SAAO,OAAP;AACH;;AAED,SAAS,kBAAT,CAA4B,CAA5B,EAAqC;AACjC,SAAO,CAAC,CAAC,OAAF,CAAU,QAAV,EAAoB,WAAC;AAAA,WAAI,CAAC,IAAI,GAAL,GAAW,IAAX,GAAkB,IAAtB;AAAA,GAArB,CAAP;AACH;;IAEK,kB;;;;;;;;;+BAKa;AACX,aAAO,kBAAkB,CAAC,kBAAkB,CAAC,SAAnB,CAA6B,QAA7B,EAAD,CAAzB;AACH;;;iCALmB,e,EAA6B;AAC7C,wBAAkB,CAAC,SAAnB,GAA+B,eAA/B;AACH;;;;;;AAHc,+BAA0B,gBAAgB,EAA1C;;IASb,e;;;AAGF,6BAAgC;AAAA;;AADxB,qBAAY,CAAZ;;AACwB,sCAAjB,OAAiB;AAAjB,aAAiB;AAAA;;AAC5B,SAAK,GAAL,GAAW,OAAX;AACH;;;;+BAEO;AACJ,UAAI,KAAK,GAAL,CAAS,MAAT,IAAmB,CAAvB,EAA0B;AACtB,aAAK,GAAL,GAAW,CAAC,OAAD,CAAX;AACH;;AACD,UAAI,EAAE,GAAG,KAAK,GAAL,CAAS,KAAK,SAAd,CAAT;AACA,WAAK,SAAL;;AACA,UAAI,KAAK,SAAL,IAAkB,KAAK,GAAL,CAAS,MAA/B,EAAuC;AACnC,aAAK,SAAL,GAAiB,CAAjB;AACH;;AACD,aAAO,EAAP;AACH;;;;;AAGL;;;AACA,SAAgB,oBAAhB,GAAyD;AAAA,qCAAjB,OAAiB;AAAjB,WAAiB;AAAA;;AACrD,oBAAkB,CAAC,YAAnB,YAAoC,eAApC,EAAuD,OAAvD;AACH;;AAFD;AAIA;;AACa,sBAAc,IAAI,kBAAJ,EAAd,C;;;;;;;;;;;;;ACnDb,IAAM,gBAAgB,GAAG,GAAzB,C,CAA8B;;AAEjB,mBAAW,YAAK;AACzB,SAAO,MAAM,CAAC,UAAP,GAAoB,gBAA3B;AACH,CAFY,C;;;;;;;;;;;;;ACAb,IAAM,QAAQ,GAAG,iDAAjB;;AAEa,0CAAkC,YAAsD;AAAA,MAArD,aAAqD,uEAAN,EAAM;AACjG,MAAI,qBAAqB,GAAG,aAAa,CAAC,iBAAd,IAAmC,EAA/D,CADiG,CAChC;;AACjE,MAAM,CAAC,GAAG;AAAE,qBAAiB,EAAE;AAArB,GAAV;;AACA,MAAI,CAAC,KAAK,CAAC,OAAN,CAAc,qBAAd,CAAL,EAA2C;AACvC,yBAAqB,GAAG,CAAC,qBAAD,CAAxB;AACH;;AACD,MAAI,CAAC,GAAG,SAAS,iBAAT,CAA2B,IAA3B,EAAiC,OAAjC,EAA8C;AAClD;AACA,QAAI,OAAO,IAAP,KAAgB,QAApB,EAA8B;AAC1B,UAAI;AACA,YAAI,GAAG,IAAI,CAAC,KAAL,CAAW,IAAX,EAAiB,kBAAjB,CAAP;AACH,OAFD,CAEE,OAAO,CAAP,EAAU;AACR,eAAO,IAAP;AACH;AACJ;;AACD,WAAO,IAAP;AACH,GAVD;;AAWA,2BAAY,aAAZ,EAAyB;AAAE,qBAAiB,EAAE,CAAC,CAAD;AAArB,GAAzB,EAjBiG,CAkBjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACH,CAlCY;;AAoCA,qBAAa,UAAC,GAAD,EAAc,KAAd,EAA4B;AAElD,MAAI,OAAO,KAAP,KAAiB,QAAjB,IAA6B,QAAQ,CAAC,IAAT,CAAc,KAAd,CAAjC,EAAuD;AACnD,QAAI,QAAJ;;AACA,QAAI,CAAC,KAAK,CAAC,QAAN,CAAe,GAAf,CAAL,EAA0B;AACtB,cAAQ,aAAM,KAAN,MAAR;AACA,aAAO,CAAC,KAAR,CAAc,+BAAd,EAA+C,KAA/C;AACH,KAHD,MAIK,QAAQ,GAAG,KAAX;;AACL,WAAO,IAAI,IAAJ,CAAS,QAAT,CAAP;AACH;;AACD,SAAO,KAAP;AACH,CAZY,C;;;;;;;;CCxCb;;;;;;AAEA,SAAgB,UAAhB,GAA2D;AACvD,MAAM,MAAM,GAAQ,EAApB;;AADuD,oCAAX,MAAW;AAAX,UAAW;AAAA;;AAEvD,QAAM,CAAC,OAAP,CAAe,UAAC,KAAD;AAAA,WAAW,MAAM,CAAC,KAAD,CAAN,GAAgB,KAA3B;AAAA,GAAf;AACA,SAAO,MAAP;AACH;;AAJD,gC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFA,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;IAgBa,kB;;;;;AAIT,8BAAY,KAAZ,EAAiC;AAAA;;AAAA;;AAC7B,4FAAM,KAAN;AAMI;AAAA;AAAA;AAAA;AAAA,4BAAY;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,4BACW,MAAK,KADhB,EACR,KADQ,eACR,KADQ,EACD,EADC,eACD,EADC,EACG,GADH,eACG,GADH;AAEV,uBAFU,GAEE;AAAE,mBAAG,EAAE,GAAG,GAAG,GAAN,GAAY,EAAnB;AAAuB,qBAAK,EAAE;AAA9B,eAFF;AAAA;AAAA;AAAA,qBAMN,SAAS,CAAC,KAAV,CAAgB,SAAhB,CANM;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAQZ,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AARY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAZ;;AAYA,uBAAa,UAAC,KAAD,EAAoB;AAAA,UAC7B,gBAD6B,GACR,MAAK,KADG,CAC7B,gBAD6B;;AAErC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,KAAK,KAAK,SAAV,GAAsB,CAAC,gBAAvB,GAA0C;AAA9D,OAAd;AACH,KAHO;;AAjBJ,UAAK,KAAL,GAAa;AACT,sBAAgB,EAAE;AADT,KAAb;AAF6B;AAKhC;;;;6BAmBK;AAAA;;AAAA,UACM,gBADN,GAC2B,KAAK,KADhC,CACM,gBADN;AAAA,yBAE8E,KAAK,KAFnF;AAAA,UAEM,GAFN,gBAEM,GAFN;AAAA,UAEW,KAFX,gBAEW,KAFX;AAAA,UAEkB,KAFlB,gBAEkB,KAFlB;AAAA,UAEyB,SAFzB,gBAEyB,SAFzB;AAAA,UAEoC,WAFpC,gBAEoC,WAFpC;AAAA,UAEiD,MAFjD,gBAEiD,MAFjD;AAAA,UAEyD,EAFzD,gBAEyD,EAFzD;AAAA,UAE6D,YAF7D,gBAE6D,YAF7D;AAGF,UAAM,SAAS,GAAG,gBAAgB,GAAG,QAAH,GAAc,EAAhD;AACA,UAAM,KAAK,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAM,CAAC,QAAP,CAAgB,IAAhB,CAAqB,OAArB,CAA6B,OAA7B,KAAyC,CAAC,CAAzF;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,iBAAS,yBAAkB,SAAlB,CADb;AAEI,oBAAY,EAAE,WAAW,IAAI,CAAC,YAAhB,GAA+B;AAAA,iBAAM,MAAI,CAAC,UAAL,CAAgB,IAAhB,CAAN;AAAA,SAA/B,GAA6D,IAF/E;AAGI,oBAAY,EAAE,WAAW,IAAI,CAAC,YAAhB,GAA+B;AAAA,iBAAM,MAAI,CAAC,UAAL,CAAgB,KAAhB,CAAN;AAAA,SAA/B,GAA8D;AAHhF,SAKI;AACI,iBAAS,EAAC,mBADd;AAEI,eAAO,EAAE;AAAA,iBACL,CAAC,4BAAD,GACI,iCAAkB,GAAlB,EAAuB,KAAvB,EAA8B;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,oBAA9B,EAAoD,KAApD,CAAN;AAAA,WAA9B,EAAgG,oBAAhG,CADJ,GAGI,IAJC;AAAA;AAFb,QALJ,EAeI;AACI,iBAAS,EAAC,mBADd;AAEI,eAAO,EAAE;AAAA,iBACL,CAAC,4BAAD,GACI,gCAAiB,GAAjB,EAAsB;AAAA,mBAAM,iCAAkB,SAAlB,EAA6B,oBAA7B,EAAmD,KAAnD,CAAN;AAAA,WAAtB,EAAuF,oBAAvF,CADJ,GAGI,IAJC;AAAA;AAFb,QAfJ,EAyBK,SAAS,IACN;AACI,iBAAS,EAAC,qBADd;AAEI,eAAO,EAAE;AAAA,iBACL,CAAC,4BAAD,GACI,6BAAc,KAAd,EAAqB,SAArB,EAAgC,GAAhC,EAAqC;AAAA,mBAAM,iCAAkB,MAAlB,EAA0B,oBAA1B,EAAgD,KAAhD,CAAN;AAAA,WAArC,EAAmG,oBAAnG,CADJ,GAGI,IAJC;AAAA;AAFb,QA1BR,EAqCK,KAAK,IACF;AACI,iBAAS,EAAC,mBADd;AAEI,eAAO,EAAE;AAAA,iBACL,CAAC,4BAAD,GACI,iCAAkB,GAAlB,EAAuB;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,oBAA9B,EAAoD,KAApD,CAAN;AAAA,WAAvB,CADJ,GAGI,IAJC;AAAA;AAFb,QAtCR,EAiDK,CAAC,KAAK,IAAI,MAAV,KACG;AACI,iBAAS,EAAC,mBADd;AAEI,eAAO,EAAE;AAAA,iBACL,CAAC,4BAAD,GACI,iCAAkB,GAAlB,EAAuB;AAAA,mBAAM,iCAAkB,MAAlB,EAA0B,oBAA1B,EAAgD,KAAhD,CAAN;AAAA,WAAvB,EAAqF,oBAArF,CADJ,GAGI,IAJC;AAAA;AAFb,QAlDR,CADJ,EA+DK,KAAK,IAAI,YAAT,GACG;AAAG,YAAI,0BAAmB,EAAnB,CAAP;AAAgC,aAAK,EAAE,OAAvC;AAAgD,iBAAS,EAAC;AAA1D,QADH,GAGG;AACI,eAAO,EAAE,CAAC,YAAD,GAAgB;AAAA,iBAAM,MAAI,CAAC,UAAL,EAAN;AAAA,SAAhB,GAA0C,IADvD;AAEI,oBAAY,EAAE,WAAW,IAAI,CAAC,YAAhB,GAA+B;AAAA,iBAAM,MAAI,CAAC,UAAL,CAAgB,IAAhB,CAAN;AAAA,SAA/B,GAA6D,IAF/E;AAGI,oBAAY,EAAE,WAAW,IAAI,CAAC,YAAhB,GAA+B;AAAA,iBAAM,MAAI,CAAC,UAAL,CAAgB,KAAhB,CAAN;AAAA,SAA/B,GAA8D,IAHhF;AAII,iBAAS,+BAAwB,SAAxB,cAAqC,YAAY,GAAG,gBAAH,GAAsB,EAAvE;AAJb,QAlER,CADJ;AA4EH;;;;EA9GmC,KAAK,CAAC,S;;AAE5B,oCAAiB,oBAAjB;AAFlB,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AACA;;AACA;;IAiBa,mB;;;;;AACT,+BAAY,KAAZ,EAA2C;AAAA;;AAAA;;AACvC,6FAAM,KAAN;AAOI,0BAAgB,mBAAS,6BAAzB;;AAEA,+BAAqB,UAAC,MAAD,EAAW;AACpC,aAAO,CAAC,CAAC,GAAF,CAAM,MAAN,EAAc,WAAC;AAAA,eAAK;AACvB,eAAK,EAAE,CADgB;AAEvB,eAAK,EAAE;AAFgB,SAAL;AAAA,OAAf,CAAP;AAIH,KALO;;AAOA,wBAAc,UAAC,QAAD,EAA2B;AAAA,UACrC,YADqC,GACpB,MAAK,KADe,CACrC,YADqC;;AAE7C,UAAI,CAAC,YAAL,EAAmB;AAAE,eAAO,IAAP;AAAa;;AAElC,UAAM,IAAI,GAAG,MAAM,CAAC,YAAP,GAAsB,QAAtB,EAAb;AAEA,cAAQ,CAAC,WAAT,CAAqB,cAArB,EAAqC,KAArC,EAA4C,IAA5C;;AACA,UAAI,QAAQ,gBAAS,SAAT,CAAZ,EAA4C;AACxC,YAAM,SAAS,GAAG,MAAM,CAAC,YAAP,EAAlB;;AACA,YAAI,SAAS,CAAC,UAAd,EAA0B;AACtB,cAAM,KAAK,GAAG,SAAS,CAAC,UAAV,CAAqB,CAArB,CAAd;AACA,cAAM,eAAe,GAAQ,KAAK,CAAC,cAAN,CAAqB,UAAlD;;AACA,cAAI,eAAe,CAAC,QAAhB,KAA6B,MAA7B,IAAuC,eAAe,CAAC,KAAhB,CAAsB,mBAAtB,KAA8C,EAAzF,EAA6F;AACzF,gBAAM,MAAM,GAAG,eAAe,CAAC,UAA/B;;AACA,mBAAO,eAAe,CAAC,UAAvB,EAAmC;AAC/B,oBAAM,CAAC,YAAP,CAAoB,eAAe,CAAC,UAApC,EAAgD,eAAhD;AACH;;AACD,kBAAM,CAAC,WAAP,CAAmB,eAAnB;AACA,kBAAM,CAAC,SAAP;AACH;AACJ;AACJ,OAdD,MAeK;AACD,YAAM,cAAc,GAAG,yBAAU,QAAV,CAAvB,CADC,CAC2C;;AAC5C,YAAM,UAAS,GAAG,MAAM,CAAC,YAAP,EAAlB;;AACA,YAAI,UAAS,CAAC,UAAd,EAA0B;AACtB,cAAM,MAAK,GAAG,UAAS,CAAC,UAAV,CAAqB,CAArB,CAAd;;AACA,cAAM,aAAY,GAAG,MAAK,CAAC,aAAN,EAArB;;AACA,cAAM,IAAI,GAAG,QAAQ,CAAC,aAAT,CAAuB,MAAvB,CAAb;AACA,cAAI,CAAC,KAAL,CAAW,mBAAX,GAAiC,cAAjC;AACA,cAAI,CAAC,KAAL,CAAW,KAAX,GAAmB,cAAnB,CALsB,CAMtB;;AACA,cAAI,CAAC,SAAL,GAAiB,kBAAjB;AACA,cAAI,CAAC,WAAL,CAAiB,aAAjB;;AACA,gBAAK,CAAC,cAAN;;AACA,gBAAK,CAAC,UAAN,CAAiB,IAAjB;AACH;AACJ;;AACD,YAAK,mBAAL;;AACA,YAAK,QAAL,CAAc;AAAE,kCAA0B,EAAE;AAA9B,OAAd,EAvC6C,CAyC7C;;;AACA,cAAQ,CAAC,WAAT,CAAqB,MAArB,EAA6B,KAA7B,EAAoC,IAApC;AACA,cAAQ,CAAC,WAAT,CAAqB,MAArB,EAA6B,KAA7B,EAAoC,IAApC;AACH,KA5CO;;AA8CA,gCAAsB,YAAW;AACrC,YAAK,QAAL,CAAc;AAAE,4BAAoB,EAAE;AAAxB,OAAd;AACH,KAFO;;AAIA,gCAAsB,YAAW;AACrC,YAAK,QAAL,CAAc;AAAE,4BAAoB,EAAE;AAAxB,OAAd;AACH,KAFO;;AAIA,iCAAuB,UAAC,CAAD,EAAM;AAAA,UAC7B,oBAD6B,GACJ,MAAK,KADD,CAC7B,oBAD6B;AAEjC,OAAC,CAAC,eAAF;AACA,OAAC,CAAC,WAAF,CAAc,wBAAd;AACA,OAAC,CAAC,cAAF;AACA,0BAAoB,GAAG,MAAK,mBAAL,EAAH,GAAgC,MAAK,mBAAL,EAApD;AACH,KANO;;AAQA,wBAAc,UAAC,CAAD,EAAM;AACxB,OAAC,CAAC,eAAF;AACA,OAAC,CAAC,WAAF,CAAc,wBAAd;AACA,OAAC,CAAC,cAAF;AACA,cAAQ,CAAC,WAAT,CAAqB,MAArB,EAA6B,KAA7B,EAAoC,IAApC;;AACA,YAAK,QAAL,CAAc;AAAE,kCAA0B,EAAE;AAA9B,OAAd;AACH,KANO;;AA7EJ,UAAK,KAAL,GAAa;AACT,0BAAoB,EAAE,KADb;AAET,gCAA0B,EAAE;AAFnB,KAAb;AAFuC;AAM1C;;;;6BAgFK;AAAA;;AAAA,wBAC6C,KAAK,KADlD;AAAA,UACM,GADN,eACM,GADN;AAAA,UACW,MADX,eACW,MADX;AAAA,UACmB,IADnB,eACmB,IADnB;AAAA,UACyB,KADzB,eACyB,KADzB;AAAA,UACgC,QADhC,eACgC,QADhC;AAAA,wBAE2D,KAAK,KAFhE;AAAA,UAEM,0BAFN,eAEM,0BAFN;AAAA,UAEkC,oBAFlC,eAEkC,oBAFlC;AAGF,UAAM,KAAK,GAAG;AAAE,gBAAQ,EAAE,UAAZ;AAAwB,WAAG,EAAH,GAAxB;AAA6B,cAAM,EAAN,MAA7B;AAAqC,aAAK,EAAL,KAArC;AAA4C,YAAI,EAAJ;AAA5C,OAAd;;AACA,UAAI,CAAC,0BAAL,EAAiC;AAAE,eAAO,IAAP;AAAa;;AAChD,aACI;AAAK,iBAAS,EAAC,qBAAf;AAAqC,aAAK,EAAE;AAA5C,SACI;AAAK,iBAAS,EAAC;AAAf,SAEQ,QAAQ,IACR,oBAAC,6BAAD,EAAc;AACV,UAAE,EAAC,mBADO;AAEV,iBAAS,EAAE,EAFD;AAGV,eAAO,EAAE,KAAK,WAHJ;AAIV,qBAAa,EAAC,wBAJJ;AAKV,aAAK,EAAE,OAAE;AALC,OAAd,CAHR,EAYI,oBAAC,6BAAD,EAAc;AACV,UAAE,EAAC,8BADO;AAEV,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,oBAAL,CAA0B,CAA1B,CAAJ;AAAA,SAFA;AAGV,iBAAS,EAAE,EAHD;AAIV,qBAAa,EAAC,6BAJJ;AAKV,aAAK,EAAE,UAAE;AALC,OAAd,CAZJ,EAmBI;AACI,iBAAS,EAAC,iBADd;AAEI,mBAAW,EAAE,sBAAC,EAAG;AAAG,WAAC,CAAC,cAAF;AAAoB,WAAC,CAAC,eAAF;AAAqB,SAFjE;AAGI,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,oBAAL,CAA0B,CAA1B,CAAJ;AAAA;AAHd,QAnBJ,CADJ,EA2BK,oBAAoB,IAAI,oBAAC,yBAAD,EAAY;AACjC,iBAAS,EAAC,8BADuB;AAEjC,oBAAY,EAAE,KAAK,kBAAL,CAAwB,KAAK,aAA7B,CAFmB;AAGjC,uBAAe,EAAE,IAHgB;AAIjC,mBAAW,EAAE,0BAAK;AAAA,iBAAI,MAAI,CAAC,WAAL,CAAiB,KAAjB,CAAJ;AAAA,SAJe;AAKjC,yBAAiB,EAAE;AAAA,iBAAM,IAAN;AAAA,SALc;AAMjC,cAAM,EAAE,EANyB;AAOjC,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAP0B,OAAZ,CA3B7B,CADJ;AAuCH;;;;EAnIoC,KAAK,CAAC,S;;AAA/C,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA,6E,CAIA;;;AACa,sCAA8B;AAAA,SAAqD,UAAC,gBAAD,EAAoD;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,iCA2B/H;AACT,iBAAO,oBAAC,gBAAD,EAAiB,kBAAK,KAAK,OAAV,EAAuB,KAAK,KAA5B,CAAjB,CAAP;AACH;AA7B2I;;AAAA;AAAA,MAC5D,KAAK,CAAC,SADsD,GAG9H,kBAA2C;AACrD,YAAM,EAAE,uBAAU,MADmC;AAErD,kBAAY,EAAE,uBAAU,MAF6B;AAGrD,gBAAU,EAAE,uBAAU,IAH+B;AAIrD,cAAQ,EAAE,uBAAU,IAJiC;AAKrD,cAAQ,EAAE,uBAAU,IALiC;AAMrD,YAAM,EAAE,uBAAU,IANmC;AAOrD,kBAAY,EAAE,uBAAU,IAP6B;AAQrD,oBAAc,EAAE,uBAAU,IAR2B;AASrD,qBAAe,EAAE,uBAAU,IAT0B;AAUrD,oBAAc,EAAE,uBAAU,IAV2B;AAWrD,mCAA6B,EAAE,uBAAU,IAXY;AAYrD,6BAAuB,EAAE,uBAAU,IAZkB;AAarD,iCAA2B,EAAE,uBAAU,IAbc;AAcrD,eAAS,EAAE,uBAAU,IAdgC;AAerD,eAAS,EAAE,uBAAU,KAfgC;AAgBrD,eAAS,EAAE,uBAAU,IAhBgC;AAiBrD,YAAM,EAAE,uBAAU,IAjBmC;AAkBrD,gBAAU,EAAE,uBAAU,MAlB+B;AAmBrD,mBAAa,EAAE,uBAAU,KAnB4B;AAoBrD,wBAAkB,EAAE,uBAAU,IApBuB;AAqBrD,oBAAc,EAAE,uBAAU;AArB2B,KAHmF,E,EAAA;AA8B/I,GA9BsC;AAAA,CAA9B,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACQA,wBAAgB,UAAC,cAAD,EAAyB,UAAzB,EAA+C;AACxE,MAAM,eAAe,GAAG,UAAxB;AACA,MAAI,oBAAoB,GAAG,IAAI,CAAC,KAAL,CAAW,cAAc,GAAG,eAA5B,CAA3B;AACA,MAAI,WAAW,GAAG,oBAAoB,GAAG,eAAzC;AACA,MAAI,cAAc,GAAG,cAAc,GAAG,WAAtC;AACA,MAAI,UAAU,GAAG,cAAc,IAAI,oBAAoB,GAAG,CAA3B,CAA/B;AACA,SAAO,UAAP;AACH,CAPY;;IASA,mB;;;;;AACT,+BAAY,KAAZ,EAAwC;AAAA;;AAAA;;AACpC,6FAAM,KAAN;;AAsCI,oCAA0B,YAAK;AAAA,wBACqG,MAAK,KAD1G;AAAA,UAC3B,+CAD2B,eAC3B,+CAD2B;AAAA,UACsB,6BADtB,eACsB,6BADtB;AAAA,UACqD,8BADrD,eACqD,8BADrD;AAAA,UACqF,WADrF,eACqF,WADrF;AAAA,wBAEO,MAAK,KAFZ;AAAA,UAE3B,UAF2B,eAE3B,UAF2B;AAAA,UAEf,KAFe,eAEf,KAFe;AAAA,UAER,UAFQ,eAER,UAFQ;AAGnC,UAAM,uBAAuB,GAAG,UAAU,GAAG,+CAA7C;;AAEA,UAAI,6BAA6B,KAAK,CAAtC,EAAyC;AACrC,YAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,UAAnB,CAAtC;;AACA,YAAM,YAAW,GAAI,uBAAuB,IAAI,UAAU,GAAG,6BAAjB,CAAxB,GAA2E,+CAA/F;;AACA,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CAAE,YAAF,GAAgB,+CADnB;AAEV,uCAA6B,EAAE,CAFrB;AAGV,wCAA8B,EAAE,8BAA8B,GAAG;AAHvD,SAAd;;AAMA,eAAO,IAAP;AAEH;;AACD,UAAI,6BAA6B,GAAG,CAApC,EAAuC;AACnC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,WAAW,GAAG,KAAd,GAAsB,+CADzB;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAAhC,KAAsC,CAAtC,GAA0C,6BAA6B,GAAG,CAA1E,GAA8E,CAFnG;AAGV,wCAA8B,EAAE,8BAA8B,GAAG;AAHvD,SAAd;AAKH;AACJ,KAxBO;;AA0BA,qCAA2B,YAAK;AAAA,yBACoG,MAAK,KADzG;AAAA,UAC5B,8BAD4B,gBAC5B,8BAD4B;AAAA,UACI,6BADJ,gBACI,6BADJ;AAAA,UACmC,+CADnC,gBACmC,+CADnC;AAAA,UACoF,WADpF,gBACoF,WADpF;AAAA,UAE5B,KAF4B,GAElB,MAAK,KAFa,CAE5B,KAF4B;;AAGpC,UAAI,8BAA8B,KAAK,CAAvC,EAA0C;AACtC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CADH;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAFrD;AAGV,wCAA8B,EAAE;AAHtB,SAAd;;AAKA,eAAO,IAAP;AACH;;AACD,UAAI,8BAA8B,GAAG,CAArC,EAAwC;AACpC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,WAAW,GAAG,KAAd,GAAsB,+CADzB;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAFrD;AAGV,wCAA8B,EAAE,8BAA8B,GAAG,CAAjC,GAAqC,CAArC,GAAyC,8BAA8B,GAAG,CAA1E,GAA8E;AAHpG,SAAd;AAKH;AACJ,KAlBO;;AA/DJ,UAAK,KAAL,GAAa;AACT,mCAA6B,EAAE,IADtB;AAET,oCAA8B,EAAE,IAFvB;AAGT,iBAAW,EAAE,CAHJ;AAIT,qDAA+C,EAAE;AAJxC,KAAb;AAFoC;AAQvC;;;;yCAGwB;AAAA,yBACqB,KAAK,KAD1B;AAAA,UACb,UADa,gBACb,UADa;AAAA,UACD,UADC,gBACD,UADC;AAAA,UACW,KADX,gBACW,KADX;;AAGrB,UAAI,UAAU,GAAG,CAAjB,EAAoB;AAChB,aAAK,iBAAL,CAAuB,UAAvB,EAAmC,KAAnC,EAA0C,UAA1C;AACH;AACJ;;;6CAEqE;AAAA,UAA1C,UAA0C,QAA1C,UAA0C;AAAA,UAA9B,KAA8B,QAA9B,KAA8B;;AAElE,UAAI,KAAK,KAAL,CAAW,UAAX,KAA0B,UAA1B,IAAwC,KAAK,KAAL,CAAW,KAAX,KAAqB,KAAjE,EAAwE;AACpE,aAAK,iBAAL,CAAuB,UAAvB,EAAmC,KAAnC,EAA0C,KAAK,KAAL,CAAW,UAArD;AACH;AACJ;;;sCAGyB,Y,EAAsB,K,EAAe,U,EAAkB;AAC7E,UAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,UAAnB,CAAtC;AACA,UAAM,iBAAiB,GAAG,YAAY,GAAG,6BAAzC;AACA,UAAI,6BAAJ;;AACA,UAAI,iBAAiB,KAAK,CAA1B,EAA6B;AACzB,qCAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,YAAY,GAAG,6BAA1B,CAAhC;AACH,OAFD,MAGK;AAAE,qCAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,YAAY,GAAG,6BAA1B,IAA2D,CAA3F;AAA8F;;AACrG,UAAM,8BAA8B,GAAG,CAAvC;AACA,WAAK,QAAL,CAAc;AAAE,qCAA6B,EAA7B,6BAAF;AAAiC,sCAA8B,EAA9B,8BAAjC;AAAiE,uDAA+C,EAAE,sBAAc,KAAd,EAAqB,UAArB;AAAlH,OAAd;AACH;;;6BAiDY;AAAA;;AAAA,yBAC4B,KAAK,KADjC;AAAA,UACD,KADC,gBACD,KADC;AAAA,UACM,UADN,gBACM,UADN;AAAA,UACkB,KADlB,gBACkB,KADlB;AAAA,yBAE8E,KAAK,KAFnF;AAAA,UAED,8BAFC,gBAED,8BAFC;AAAA,UAE+B,6BAF/B,gBAE+B,6BAF/B;AAAA,UAE8D,WAF9D,gBAE8D,WAF9D;AAGT,UAAM,SAAS,GAAG,sBAAc,KAAd,EAAqB,UAArB,IAAmC,UAArD;AACA,UAAI,kBAAkB,GAAG,6BAA6B,KAAK,CAA3D;AACA,UAAI,mBAAmB,GAAG,8BAA8B,KAAK,CAA7D;AAEA,aAAQ;AAAK,iBAAS,EAAC;AAAf,SACH,mBAAmB,IAAI;AAAQ,iBAAS,YAAK,KAAK,GAAG,YAAH,GAAkB,aAA5B,cAAjB;AACpB,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,wBAAL,EAAP;AAAA,SADW;AAC2B,sBACpC;AAFS,QADpB,EAIJ;AAAK,iBAAS,EAAC,iBAAf;AAAiC,aAAK,EAAE,KAAK,GAAG;AAAE,wBAAc;AAAhB,SAAH,GAAmC;AAAE,yBAAe;AAAjB;AAAhF,SACK,KAAK,KAAL,CAAW,QADhB,CAJI,EAOH,kBAAkB,IAAI;AAAQ,iBAAS,YAAM,KAAK,GAAG,aAAH,GAAmB,YAA9B,cAAjB;AAAsE,sBAAc,aAApF;AAAkG,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,uBAAL,EAAP;AAAA;AAA3G,QAPnB,CAAR;AAUH;;;;EAxGoC,KAAK,CAAC,S;;AAA/C,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVa,+BAAuB,UAAC,KAAD,EAAQ,UAAR,EAAoB,WAApB,EAAmC;AACnE,MAAM,SAAS,GAAG,UAAU,GAAG,WAA/B;AACA,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,SAAnB,CAA7B;AACA,SAAO,oBAAP;AACH,CAJY;;IAOA,wB;;;;;AAET,oCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,kGAAM,KAAN;;AAOI,oCAA0B,YAAK;AAAA,wBACI,MAAK,KADT;AAAA,UAC3B,aAD2B,eAC3B,aAD2B;AAAA,UACZ,WADY,eACZ,WADY;AAAA,wBAEoB,MAAK,KAFzB;AAAA,UAE3B,UAF2B,eAE3B,UAF2B;AAAA,UAEf,KAFe,eAEf,KAFe;AAAA,UAER,UAFQ,eAER,UAFQ;AAAA,UAEI,WAFJ,eAEI,WAFJ;AAGnC,UAAM,uBAAuB,GAAG,UAAU,GAAG,WAA7C;AACA,UAAI,QAAQ,GAAG,aAAa,GAAG,CAA/B;AACA,UAAM,cAAc,GAAG,KAAK,GAAG,WAA/B;AACA,UAAM,iBAAiB,GAAG,uBAAuB,IAAI,cAAc,GAAG,6BAAqB,cAArB,EAAqC,UAArC,EAAiD,WAAjD,IAAgE,uBAArF,CAAjD;AACA,UAAM,cAAc,GAAG,WAAW,GAAG,uBAArC;AACA,UAAM,aAAa,GAAG,WAAW,GAAG,iBAApC;;AACA,UAAI,aAAa,GAAG,UAAU,GAAG,6BAAqB,cAArB,EAAqC,UAArC,EAAiD,WAAjD,CAAb,GAA6E,CAAjG,EAAoG;AAChG,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,cADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH,OALD,MAMK,IAAI,aAAa,KAAK,UAAU,GAAG,6BAAqB,cAArB,EAAqC,UAArC,EAAiD,WAAjD,CAAb,GAA6E,CAAnG,EAAsG;AACvG,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,aADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH;AAEJ,KAtBO;;AAwBA,qCAA2B,YAAK;AAAA,yBACG,MAAK,KADR;AAAA,UAC5B,aAD4B,gBAC5B,aAD4B;AAAA,UACb,WADa,gBACb,WADa;AAAA,yBAE6B,MAAK,KAFlC;AAAA,UAEhB,QAFgB,gBAE5B,UAF4B;AAAA,UAEN,KAFM,gBAEN,KAFM;AAAA,UAEC,UAFD,gBAEC,UAFD;AAAA,UAEa,WAFb,gBAEa,WAFb;AAGpC,UAAM,cAAc,GAAG,KAAK,GAAG,WAA/B;AACA,UAAM,uBAAuB,GAAG,UAAU,GAAG,WAA7C;AACA,UAAI,QAAQ,GAAG,aAAa,GAAG,CAA/B;AACA,UAAM,iBAAiB,GAAG,uBAAuB,IAAI,cAAc,GAAG,6BAAqB,cAArB,EAAqC,UAArC,EAAiD,WAAjD,IAAgE,uBAArF,CAAjD;AACA,UAAM,WAAW,GAAG,WAAW,GAAG,iBAAlC;AACA,UAAM,cAAc,GAAG,WAAW,GAAG,uBAArC;;AAEA,UAAI,aAAa,GAAG,CAApB,EAAuB;AACnB,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,cADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH,OALD,MAMK,IAAI,aAAa,KAAK,CAAtB,EAAyB;AAC1B,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH;AACJ,KAtBO;;AA9BJ,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE,CADN;AAET,iBAAW,EAAE;AAFJ,KAAb;AAFa;AAMhB;;;;6BAkDY;AAAA;;AAAA,yBACqD,KAAK,KAD1D;AAAA,UACD,KADC,gBACD,KADC;AAAA,UACM,UADN,gBACM,UADN;AAAA,UACkB,UADlB,gBACkB,UADlB;AAAA,UAC8B,WAD9B,gBAC8B,WAD9B;AAAA,UAC2C,KAD3C,gBAC2C,KAD3C;AAAA,yBAE8B,KAAK,KAFnC;AAAA,UAED,aAFC,gBAED,aAFC;AAAA,UAEc,WAFd,gBAEc,WAFd;AAGT,UAAI,oBAAoB,GAAG,KAAK,GAAG,aAAa,KAAK,UAAU,GAAG,6BAAqB,KAAK,GAAG,WAA7B,EAA0C,UAA1C,EAAsD,WAAtD,CAAlC,GAAuG,aAAa,KAAK,CAAzJ;AACA,UAAI,mBAAmB,GAAI,KAAK,GAAG,aAAa,KAAK,CAArB,GAAyB,aAAa,KAAK,UAAU,GAAG,6BAAqB,KAAK,GAAG,WAA7B,EAA0C,UAA1C,EAAsD,WAAtD,CAAxF;AACR,UAAM,KAAK,GAAI;AAAE,6BAAqB;AAAvB,OAAf;AACQ,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,gBAAQ,EAAE,CAAC,oBADf;AAEI,iBAAS,EAAC,sBAFd;AAEoC,sBACrB,cAHf;AAII,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,KAAK,GAAG,MAAI,CAAC,uBAAL,EAAH,GAAoC,MAAI,CAAC,wBAAL,EAAhD;AAAA;AAJb,QADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,iBAAf;AAAiC,aAAK,EAAE;AAAxC,SACK,KAAK,KAAL,CAAW,QADhB,CADJ,CANJ,EAUI;AACI,gBAAQ,EAAE,CAAC,mBADf;AACkC,sBACnB,aAFf;AAGI,iBAAS,EAAC,qBAHd;AAII,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,KAAK,GAAE,MAAI,CAAC,wBAAL,EAAF,GAAoC,MAAI,CAAC,uBAAL,EAAhD;AAAA;AAJb,QAVJ,CADJ;AAmBH;;;;EAnFyC,KAAK,CAAC,S;;AAApD,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AACA;;AACA;;IA2Ba,S;;;;;AACT,qBAAmB,KAAnB,EAAwB;AAAA;;AAAA;;AACpB,mFAAM,KAAN;;AAaI,oCAA0B,UAAC,CAAD,EAAmB,KAAnB,EAAkC,SAAlC,EAAwD;AACtF,YAAK,KAAL,CAAW,QAAX,CAAoB,KAApB,EAA2B,SAA3B;AACH,KAFO;;AAIA,sBAAY,UAAC,CAAD,EAAqB;AACrC,UAAI,CAAC,CAAC,OAAF,KAAc,EAAlB,EAAsB;AAClB,SAAC,CAAC,cAAF;AACA,SAAC,CAAC,eAAF;AACH;AACJ,KALO;;AAOA,yBAAe,YAAK;AACxB,UAAM,SAAS,GAAG,MAAM,CAAC,YAAP,EAAlB;;AACA,YAAK,QAAL,CAAc;AAAE,iBAAS,EAAT;AAAF,OAAd;AACH,KAHO;;AAKA,+BAAqB,YAAK;AAAA,UACtB,SADsB,GACR,MAAK,KADG,CACtB,SADsB;AAE9B,UAAI,2BAAJ;AACA,UAAI,cAAc,GAAmB;AAAE,WAAG,EAAE,CAAP;AAAU,YAAI,EAAE;AAAhB,OAArC;;AAEA,UAAI,SAAS,IAAI,SAAS,CAAC,UAAV,GAAuB,CAApC,IAAyC,MAAK,YAAlD,EAAgE;AAC5D,mCAA2B,GACvB,MAAK,YAAL,CAAkB,qBAAlB,EADJ;AAEA,YAAM,cAAc,GAAG,SAAS,CAAC,UAAV,CAAqB,CAArB,CAAvB;AACA,YAAM,aAAa,GAAG,cAAc,CAAC,qBAAf,EAAtB;AACA,YAAM,YAAY,GAAG,EAArB;AACA,YAAM,WAAW,GAAG,2BAA2B,CAAC,KAAhD,CAN4D,CAQ5D;;AACA,YAAM,eAAe,GAAG,WAAW,GAAG,YAAtC;AACA,YAAM,gBAAgB,GAAG,CAAzB,CAV4D,CAY5D;;AACA,YAAI,mBAAmB,GACnB,aAAa,CAAC,IAAd,GAAqB,2BAA2B,CAAC,IADrD;AAEA,2BAAmB,GAAG,IAAI,CAAC,GAAL,CAClB,gBADkB,EAElB,IAAI,CAAC,GAAL,CAAS,eAAT,EAA0B,mBAA1B,CAFkB,CAAtB;AAKA,sBAAc,GAAG;AACb,aAAG,EAAE,aAAa,CAAC,GAAd,GAAoB,2BAA2B,CAAC,GAAhD,GAAsD,EAD9C;AAEb,cAAI,EAAE;AAFO,SAAjB;AAIH;;AAED,aAAO,cAAP;AACH,KAhCO;;AAkCA,oBAAU,YAAK;AACnB,YAAK,QAAL,CAAc;AAAE,aAAK,EAAE;AAAT,OAAd;AACH,KAFO;;AAIA,mBAAS,YAAK;AAClB,YAAK,QAAL,CAAc;AAAE,aAAK,EAAE;AAAT,OAAd;AACH,KAFO;;AAIA,oBAAU,YAAK;AAAA,wBACU,MAAK,KADf;AAAA,UACX,SADW,eACX,SADW;AAAA,UACA,KADA,eACA,KADA;AAAA,wBAEe,MAAK,KAFpB;AAAA,UAEX,WAFW,eAEX,WAFW;AAAA,UAEE,QAFF,eAEE,QAFF;AAInB,UAAI,CAAC,SAAL,EAAgB,OAAO,IAAP;;AAChB,UAAM,mBAAmB,GAAG,MAAK,kBAAL,EAA5B;;AACA,aACI,CAAC,SAAS,CAAC,WAAX,IACA,WADA,IAEA,KAFA,IAGI,oBAAC,yCAAD,EAAoB;AAChB,oBAAY,EAAE,SADE;AAEhB,WAAG,EAAE,mBAAmB,CAAC,GAFT;AAGhB,YAAI,EAAE,mBAAmB,CAAC,IAHV;AAIhB,WAAG,EAAE,aAAC,IAAD;AAAA,iBAAU,MAAK,UAAL,GAAkB,IAA5B;AAAA,SAJW;AAKhB,gBAAQ,EAAE;AALM,OAApB,CAJR;AAaH,KAnBO;;AAqBA,oBAAU,UAAC,CAAD,EAAsB;AACpC,OAAC,CAAC,cAAF;AACA,UAAI,IAAI,GAAG,CAAC,CAAC,aAAF,CAAgB,OAAhB,CAAwB,YAAxB,CAAX;AACA,UAAI,IAAI,GAAG,QAAQ,CAAC,aAAT,CAAuB,MAAvB,CAAX;AACA,UAAI,CAAC,SAAL,GAAiB,IAAjB;AACA,cAAQ,CAAC,WAAT,CAAqB,YAArB,EAAmC,KAAnC,EAA0C,IAAI,CAAC,WAA/C;AAEA,aAAO,KAAP;AACH,KARO;;AA3FJ,QAAI,SAAJ;;AACA,QAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,eAAS,GAAG,MAAM,CAAC,YAAP,EAAZ;AACH;;AACD,UAAK,KAAL,GAAa;AACT,eAAS,EAAT;AADS,KAAb;AANoB;AASvB;;;;6BA8FY;AAAA;;AAAA,yBAUL,KAAK,KAVA;AAAA,UAEL,SAFK,gBAEL,SAFK;AAAA,UAGL,KAHK,gBAGL,KAHK;AAAA,UAIL,WAJK,gBAIL,WAJK;AAAA,UAKL,OALK,gBAKL,OALK;AAAA,UAML,OANK,gBAML,OANK;AAAA,UAOL,OAPK,gBAOL,OAPK;AAAA,UAQL,MARK,gBAQL,MARK;AAAA,UASL,QATK,gBASL,QATK;AAWT,UAAM,KAAK,GAAG,KAAK,KAAL,CAAW,KAAX,IAAoB,EAAlC;AACA,UAAM,mBAAmB,GAAG,UAAU,CAClC;AAAE,iBAAS,EAAE;AAAb,OADkC,EAElC;AACI,iBAAS,EACL,KAAK,KAAK,SAAV,IAAuB,KAAK,CAAC,MAAN,KAAiB,CAAxC,IAA6C;AAFrD,OAFkC,EAMlC,SANkC,EAOlC;AACI,eAAO,EAAE;AADb,OAPkC,CAAtC;;AAWA,UAAI,CAAC,4BAAL,EAAoB;AAChB,eACI,oBAAC,iCAAD,EAAgB;AACZ,iBAAO,EAAC,MADI;AAEZ,cAAI,EAAE,KAFM;AAGZ,eAAK,EAAE,KAHK;AAIZ,kBAAQ,EAAE,IAJE;AAKZ,kBAAQ,EAAE,IALE;AAKE,2BACC,OAAO,IAAI,EANd;AAOZ,mBAAS,EAAE,mBAPC;AAOkB,0BAChB,MAAM,IAAI,EARZ;AAQc,4BACV,QAAQ,IAAI;AAThB,SAAhB,CADJ;AAaH;;AACD,aACI;AACI,iBAAS,EAAE,mBADf;AAEI,WAAG,EAAE,aAAC,KAAD;AAAA,iBAAU,MAAI,CAAC,YAAL,GAAoB,KAA9B;AAAA,SAFT;AAGI,aAAK,EAAE;AAHX,SAKI,oBAAC,iCAAD,EAAgB;AACZ,eAAO,EAAC,MADI;AAEZ,YAAI,EAAE,KAFM;AAGZ,gBAAQ,EAAE,KAAK,uBAHH;AAIZ,iBAAS,EAAE;AAAA,iBAAM,MAAI,CAAC,YAAL,EAAN;AAAA,SAJC;AAKZ,cAAM,EAAE,KAAK,MALD;AAMZ,eAAO,EAAE,KAAK,OANF;AAOZ,eAAO,EAAE,KAAK,OAPF;AAQZ,iBAAS,EAAE,KAAK;AARJ,OAAhB,CALJ,EAeK,KAAK,OAAL,EAfL,CADJ;AAmBH;;;;EAjK0B,KAAK,CAAC,S;;AAArC,8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/BA;;AACA;;AAGA,SAAgB,cAAhB,CAA+B,KAA/B,EAAoC;AAAA,0BACE,iBAAS,CAAT,CADF;AAAA;AAAA,MAC3B,UAD2B;AAAA,MACf,aADe;;AAAA,2BAEM,iBAAS,CAAC,CAAV,CAFN;AAAA;AAAA,MAE3B,YAF2B;AAAA,MAEb,eAFa;;AAAA,2BAGN,iBAAS,EAAT,CAHM;AAAA;AAAA,MAG3B,MAH2B;AAAA,MAGnB,SAHmB;;AAAA,2BAIN,iBAAS,KAAT,CAJM;AAAA;AAAA,MAI3B,MAJ2B;AAAA,MAInB,SAJmB;;AAKlC,MAAI,WAAJ;AACA,MAAM,QAAQ,GAAG,+BAAa;AAC5B,gBAAY,EAAE;AAAA,aAAM,UAAU,EAAhB;AAAA,KADc;AAE5B,iBAAa,EAAE;AAAA,aAAM,SAAS,EAAf;AAAA,KAFa;AAG5B,gCAA4B,EAAE,IAHF;AAI5B,cAAU,EAAE;AAJgB,GAAb,CAAjB;AAMA,oBAAU,YAAK;AACb,QAAM,SAAS,GAAG,EAAlB,CADa,CAEb;;AACA,SAAK,CAAC,MAAN,CAAa,OAAb,CAAqB,UAAC,KAAD,EAAU;AAC7B,UAAM,WAAW,GAAG;AAClB,aAAK,EAAE,2BADW;AAElB,eAAO,EAAE;AAFS,OAApB;AAIA,eAAS,CAAC,IAAV,CAAe,WAAf;AACD,KAND;;AAOA,QAAI,KAAK,CAAC,MAAN,CAAa,MAAb,KAAwB,CAA5B,EAA+B;AAC7B,WAAK,CAAC,MAAN,CAAa,OAAb,CAAqB,UAAC,KAAD,EAAU;AAC7B,YAAM,WAAW,GAAG;AAClB,eAAK,EAAE,2BADW;AAElB,iBAAO,EAAE;AAFS,SAApB;AAIA,iBAAS,CAAC,IAAV,CAAe,WAAf;AACD,OAND;AAOD;;AACD,aAAS,CAAC,SAAD,CAAT;AACA,iBAAa,CAAC,SAAS,CAAC,MAAV,GAAmB,CAApB,CAAb;AACA,mBAAe,CAAC,CAAC,CAAF,CAAf,CArBa,CAsBb;;AACA,QAAI,YAAY,KAAK,CAAC,CAAtB,EAAyB;AACvB,gBAAU,CAAC,YAAK;AACd,kBAAU;;AACV,YAAI,KAAK,CAAC,QAAV,EAAoB;AAClB,qBAAW,GAAG,UAAU,CAAC,YAAK;AAC5B,sBAAU;AACX,WAFuB,EAErB,KAAK,CAAC,QAFe,CAAxB;AAGD;AACF,OAPS,EAOP,GAPO,CAAV;AAQD;AACF,GAjCD,EAiCG,CAAC,KAAK,CAAC,MAAP,CAjCH;AAkCA,oBAAU,YAAK;AACb,QAAI,YAAY,KAAK,CAAC,CAAtB,EAAyB;AACvB,gBAAU,CAAC,YAAK;AACd,kBAAU;AACX,OAFS,EAEP,GAFO,CAAV;AAGD;AACF,GAND,EAMG,CAAC,MAAD,EAAS,YAAT,CANH;;AASA,MAAM,UAAU,GAAG,SAAb,UAAa,GAAK;AACtB,QAAI,cAAJ;AACA,QAAI,cAAJ;AACA,QAAI,eAAe,GAAG,YAAtB;AAEA,QAAM,WAAW,GAAG,sBAApB;;AACA,QAAM,KAAK,sBAAO,MAAP,CAAX;;AACA,QAAI,UAAU,GAAG,CAAjB,EAAoB;AAClB,UAAI,eAAe,GAAG,UAAtB,EAAkC;AAChC,uBAAe;AAChB,OAFD,MAEO;AACL,uBAAe,GAAG,CAAlB;AACD;;AACD,UAAI,eAAe,GAAG,CAAtB,EAAyB;AACvB,sBAAc,GAAG,KAAK,CAAC,eAAe,GAAG,CAAnB,CAAtB;AACD,OAFD,MAEO;AACL,sBAAc,GAAG,KAAK,CAAC,UAAD,CAAtB;AACD;;AACD,UAAM,WAAW,GAAG,KAAK,CAAC,eAAD,CAAzB;;AACA,UAAI,eAAe,GAAG,UAAtB,EAAkC;AAChC,sBAAc,GAAG,KAAK,CAAC,eAAe,GAAG,CAAnB,CAAtB;AACD,OAFD,MAEO;AACL,sBAAc,GAAG,KAAK,CAAC,CAAD,CAAtB;AACD;;AAED,WAAK,CAAC,OAAN,CAAc,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC5B,YAAI,IAAI,CAAC,KAAL,CAAW,QAAX,CAAoB,aAApB,CAAJ,EAAwC;AACtC,cAAI,CAAC,KAAL,GAAa,2BAAb;AACD;;AACD,YAAI,IAAI,CAAC,KAAL,CAAW,QAAX,CAAoB,WAApB,CAAJ,EAAsC;AACpC,cAAI,CAAC,KAAL,GAAa,2BAAb;AACD;AACF,OAPD;AASA,oBAAc,CAAC,KAAf,GAAuB,yBAAvB;AACA,iBAAW,CAAC,KAAZ,GAAoB,WAApB;AACA,oBAAc,CAAC,KAAf,GAAuB,yBAAvB;AACA,eAAS,CAAC,KAAD,CAAT;AACA,qBAAe,CAAC,eAAD,CAAf;;AAEA,UAAI,QAAQ,CAAC,sBAAT,CAAgC,sBAAhC,EAAwD,MAAxD,GAAiE,CAArE,EAAwE;AACtE,kBAAU,CAAC,YAAK;AACd,cAAI,QAAQ,CAAC,sBAAT,CAAgC,sBAAhC,EAAwD,MAAxD,GAAiE,CAArE,EAAwE;AACtE,gBAAM,OAAM,GAAG,QAAQ,CAAC,sBAAT,CAAgC,sBAAhC,EAAwD,CAAxD,EAA2D,YAA1E;AACA,qBAAS,WAAI,OAAJ,QAAT;AACD;AACF,SALS,EAKP,GALO,CAAV;AAMD;;AACD,UAAI,KAAK,CAAC,QAAV,EAAoB;AAClB,oBAAY,CAAC,WAAD,CAAZ;AACA,mBAAW,GAAG,UAAU,CAAC,YAAK;AAC5B,oBAAU;AACX,SAFuB,EAErB,KAAK,CAAC,QAFe,CAAxB;AAGD;AACF,KA/CD,MA+CO,IAAI,KAAK,CAAC,CAAD,CAAL,IAAY,KAAK,CAAC,CAAD,CAAL,CAAS,KAAT,KAAmB,WAAnC,EAAgD;AACrD,WAAK,CAAC,CAAD,CAAL,CAAS,KAAT,GAAiB,WAAjB;AACA,eAAS,CAAC,KAAD,CAAT;AACA,qBAAe,CAAC,CAAD,CAAf;AACD;AACF,GA3DD;;AA4DA,MAAM,SAAS,GAAG,SAAZ,SAAY,GAAK;AACrB,QAAI,UAAU,GAAG,CAAjB,EAAoB;AAClB,UAAI,cAAJ;AACA,UAAI,cAAJ;AACA,UAAI,eAAe,GAAG,YAAtB;;AACA,UAAM,KAAK,sBAAO,MAAP,CAAX;;AACA,UAAI,eAAe,GAAG,CAAtB,EAAyB;AACvB,uBAAe;AAChB,OAFD,MAEO;AACL,uBAAe,GAAG,UAAlB;AACD;;AAED,UAAI,eAAe,GAAG,UAAtB,EAAkC;AAChC,sBAAc,GAAG,KAAK,CAAC,eAAe,GAAG,CAAnB,CAAtB;AACD,OAFD,MAEO;AACL,sBAAc,GAAG,KAAK,CAAC,CAAD,CAAtB;AACD;;AACD,UAAI,WAAW,GAAG,KAAK,CAAC,eAAD,CAAvB;;AACA,UAAI,eAAe,GAAG,CAAtB,EAAyB;AACvB,sBAAc,GAAG,KAAK,CAAC,eAAe,GAAG,CAAnB,CAAtB;AACD,OAFD,MAEO;AACL,sBAAc,GAAG,KAAK,CAAC,UAAD,CAAtB;AACD;;AACD,WAAK,CAAC,OAAN,CAAc,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC5B,YAAI,IAAI,CAAC,KAAL,CAAW,QAAX,CAAoB,aAApB,CAAJ,EAAwC;AACtC,cAAI,CAAC,KAAL,GAAa,2BAAb;AACD;;AACD,YAAI,IAAI,CAAC,KAAL,CAAW,QAAX,CAAoB,WAApB,CAAJ,EAAsC;AACpC,cAAI,CAAC,KAAL,GAAa,2BAAb;AACD;AACF,OAPD;AAQA,oBAAc,CAAC,KAAf,GAAuB,yBAAvB;AACA,iBAAW,CAAC,KAAZ,GAAoB,sBAApB;AACA,oBAAc,CAAC,KAAf,GAAuB,yBAAvB;AACA,eAAS,CAAC,KAAD,CAAT;AACA,qBAAe,CAAC,eAAD,CAAf;;AACA,UAAI,QAAQ,CAAC,sBAAT,CAAgC,sBAAhC,EAAwD,MAAxD,GAAiE,CAArE,EAAwE;AACtE,kBAAU,CAAC,YAAK;AACd,cAAI,QAAQ,CAAC,sBAAT,CAAgC,sBAAhC,EAAwD,MAAxD,GAAiE,CAArE,EAAwE;AACtE,gBAAM,QAAM,GAAG,QAAQ,CAAC,sBAAT,CAAgC,sBAAhC,EAAwD,CAAxD,EAA2D,YAA1E;AACA,qBAAS,WAAI,QAAJ,QAAT;AACD;AACF,SALS,EAKP,GALO,CAAV;AAMD;AACF;AACF,GA7CD;;AA+CA,MAAM,WAAW,GAAG,qBAAC,SAAD,EAAc;AAChC,QAAI,WAAW,oBAAa,SAAb,CAAf;;AACA,QAAI,CAAC,KAAK,CAAC,MAAX,EAAmB;AACjB,iBAAW,GAAG,iBAAd;AACD,KAFD,MAEO,IAAI,KAAK,CAAC,MAAN,IAAgB,CAAC,KAAK,CAAC,YAA3B,EAAyC;AAC9C,iBAAW,oBAAa,SAAb,eAAX;AACD;;AACD,WAAO,WAAP;AACD,GARD;;AAUA,SACE;AAAK,aAAS,EAAC,mBAAf;AAAmC,SAAK,EAAE;AAAE,YAAM,EAAN;AAAF;AAA1C,KAA0D,QAA1D,GACG,MAAM,IAAI,MAAM,CAAC,MAAP,GAAgB,CAA1B,IACI;AAAK,aAAS,EAAC;AAAf,KAED;AAAK,aAAS,EAAC;AAAf,KACG,MAAM,CAAC,GAAP,CAAW,UAAC,MAAD,EAAS,KAAT;AAAA,WACV;AAAK,eAAS,EAAE,MAAM,CAAC,KAAvB;AAA8B,SAAG,EAAE,KAAnC;AAAwC,oBAAc;AAAtD,OACE;AAAK,eAAS,EAAE,WAAW,CAAC,MAAD,CAA3B;AAAqC,aAAO,EAAE;AAA9C,OACE,iCACE;AAAG,eAAS,EAAC;AAAb,MADF,CADF,CADF,EAME;AAAK,eAAS,EAAE,WAAW,CAAC,OAAD,CAA3B;AAAsC,aAAO,EAAE;AAA/C,OACE,iCACE;AAAG,eAAS,EAAC;AAAb,MADF,CADF,CANF,EAYE;AAAK,eAAS,EAAC;AAAf,OACG,MAAM,CAAC,OADV,CAZF,CADU;AAAA,GAAX,CADH,CAFC,CAFP,CADF;AA6BD;;AAzMD;AA2MA,cAAc,CAAC,YAAf,GAA8B;AAC5B,UAAQ,EAAE,KADkB;AAE5B,UAAQ,EAAE,IAFkB;AAG5B,QAAM,EAAE,IAHoB;AAI5B,cAAY,EAAE;AAJc,CAA9B,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/MA;;AACA;;AACA;;IAIa,gB;;;;;AAAb;AAAA;;AAAA;;;;AAEY,qBAAW,YAAc;AAAA,UACrB,IADqB,GACZ,MAAK,KADO,CACrB,IADqB;AAE7B,UAAM,oBAAoB,GAAG,IAAI,IAAJ,CAAS,IAAT,CAA7B;AACA,UAAM,aAAa,GAAG,qCAAiB,oBAAjB,CAAtB;AACA,aAAO,aAAa,GAAG,CAAvB;AACH,KALO;;AAFZ;AAeC;;;;6BANgB;AAAA,UACD,IADC,GACQ,KAAK,KADb,CACD,IADC;AAGT,aAAQ;AAAM,iBAAS,EAAE,UAAU,CAAC,WAAD,EAAc;AAAE,iBAAO,CAAC,KAAK,QAAL;AAAV,SAAd;AAA3B,SAAyE,qDAAsC,IAAtC,EAA4C;AAAE,gBAAQ,EAAE,KAAK,QAAL,EAAZ;AAA6B,gBAAQ,EAAE,CAAC,KAAK,QAAL;AAAxC,OAA5C,CAAzE,CAAR;AAEH;;;;EAdiC,KAAK,CAAC,S;;AAA5C,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AAcA,IAAa,WAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,6BACiB;AAAA,wBAC+F,KAAK,KADpG;AAAA,UACD,IADC,eACD,IADC;AAAA,UACK,SADL,eACK,SADL;AAAA,UACgB,QADhB,eACgB,QADhB;AAAA,UAC0B,YAD1B,eAC0B,YAD1B;AAAA,UACwC,eADxC,eACwC,eADxC;AAAA,UACyD,cADzD,eACyD,cADzD;AAAA,UACyE,iBADzE,eACyE,iBADzE;AAET,UAAM,UAAU,GAAG,SAAS,GAAG,GAAH,GAAS,GAArC;AACD,UAAM,YAAY,GAAG,cAAc,GAAG,GAAH,GAAS,GAA5C;AACA,UAAM,eAAe,GAAG,iBAAiB,GAAG,GAAH,GAAS,GAAlD;AACA,UAAM,SAAS,GAAG,YAAY,GAAG,GAAH,GAAS,GAAvC;AACA,UAAM,UAAU,GAAG,eAAe,GAAI,GAAJ,GAAU,GAA5C;AACC,UAAI,eAAJ;;AACA,UAAI,KAAJ,EAAuB,EAAvB,MAGK;AACD,uBAAe,GAAG;AAAM,mBAAS,EAAC,aAAhB;AAA8B,kBAAQ,EAAE,cAAc,CAAC,IAAD,CAAtD;AAA4D,0BAAgB,QAAQ,IAAI;AAAxF,WAA6F,sCAAkB,cAAc,CAAC,IAAD,CAAhC,EAAwC,UAAxC,EAAoD,SAApD,EAA+D,UAA/D,EAA2E,YAA3E,EAAyF,eAAzF,CAA7F,CAAlB;AACH;;AACD,aAAQ,eAAR;AACH;AAhBL;;AAAA;AAAA,EAAiC,KAAK,CAAC,SAAvC;;AAAa,WAAW,eADvB,mCACuB,GAAX,WAAW,CAAX;AAAA;;AAmBb,SAAS,cAAT,CAAwB,IAAxB,EAA2C;AACvC,MAAI,CAAC,IAAL,EAAW,OAAO,SAAP;;AACX,MAAI,OAAO,IAAP,KAAgB,QAApB,EAA8B;AAC1B,WAAO,IAAP;AACH;;AACD,MAAI;AACA,WAAO,IAAI,CAAC,MAAL,EAAP;AACH,GAFD,CAEE,WAAK;AACH,QAAI,KAAJ,EAAkD,EAAlD,MAEO;AACH,aAAO,SAAP;AACH;AACJ;AACJ,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjDD;;IAgBa,e;;;;;AAKT,2BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,yFAAM,KAAN;AAMI;AAAA;AAAA;AAAA;AAAA,4BAAkB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,4BACa,MAAK,KADlB,EACd,KADc,eACd,KADc,EACP,GADO,eACP,GADO,EACF,UADE,eACF,UADE;AAGhB,wBAHgB,GAGH,GAAG,GAChB,GADgB,aAEb,MAAM,CAAC,QAAP,CAAgB,IAFH,0EAEuE,UAAU,cAAO,UAAP,IAAsB,EAFvG,CAHA;AAAA;;AAAA,oBAQd,SAAS,CAAC,SAAV,IAAuB,SAAS,CAAC,SAAV,CAAoB,SAR7B;AAAA;AAAA;AAAA;;AAAA;AAAA,qBASR,SAAS,CAAC,SAAV,CAAoB,SAApB,CAA8B,UAA9B,CATQ;;AAAA;AAUd,oBAAK,SAAL;;AAVc;AAAA;;AAAA;AAYd;AACM,sBAbQ,GAaG,QAAQ,CAAC,aAAT,CAAuB,UAAvB,CAbH;AAcd,sBAAQ,CAAC,KAAT,GAAiB,UAAjB;AACA,sBAAQ,CAAC,KAAT,CAAe,QAAf,GAA0B,UAA1B;AACA,sBAAQ,CAAC,KAAT,CAAe,IAAf,GAAsB,SAAtB;AACA,sBAAQ,CAAC,KAAT,CAAe,OAAf,GAAyB,GAAzB;AACA,sBAAQ,CAAC,YAAT,CAAsB,UAAtB,EAAkC,MAAlC;AACA,sBAAQ,CAAC,IAAT,CAAc,WAAd,CAA0B,QAA1B;AACA,sBAAQ,CAAC,MAAT;AACM,wBArBQ,GAqBK,QAAQ,CAAC,WAAT,CAAqB,MAArB,CArBL;;AAsBd,kBAAI,UAAJ,EAAgB;AACZ,sBAAK,SAAL;AACH,eAFD,MAEO;AACH,uBAAO,CAAC,KAAR,CAAc,sBAAd;AACH;;AACD,sBAAQ,CAAC,IAAT,CAAc,WAAd,CAA0B,QAA1B;;AA3Bc;AAAA;AAAA;;AAAA;AAAA;AAAA;AA8BlB,qBAAO,CAAC,KAAR,CAAc,8BAAd;;AA9BkB;AAiCtB,kBAAG,CAAC,GAAJ,EAAS,iCAAkB,UAAlB,EAA8B,OAA9B,EAAuC,KAAvC;;AAjCa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAlB;;AAoCA,sBAAY,YAAK;AACrB,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd,EAAwC,YAAK;AACzC,kBAAU,CAAC,YAAK;AACZ,gBAAK,QAAL,CAAc;AAAE,0BAAc,EAAE;AAAlB,WAAd;AACH,SAFS,EAEP,IAFO,CAAV;AAGH,OAJD;AAKH,KANO;;AAzCJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE;AADP,KAAb;AAFa;AAKhB;;;;6BA+CK;AAAA,yBAC8C,KAAK,KADnD;AAAA,UACM,QADN,gBACM,QADN;AAAA,UACgB,OADhB,gBACgB,OADhB;AAAA,UACyB,SADzB,gBACyB,SADzB;AAAA,UACoC,KADpC,gBACoC,KADpC;AAAA,UAEM,cAFN,GAEyB,KAAK,KAF9B,CAEM,cAFN;AAGF,UAAM,WAAW,GAAG,OAAO,GAAG,OAAH,GAAa,oBAAxC;AAEA,aACI,0CACK,cAAc,IACX;AAAK,iBAAS,EAAC,WAAf;AAA2B,aAAK,EAAE;AAAlC,SACK,SADL,CAFR,EAMI;AAAK,iBAAS,EAAE,WAAhB;AAA6B,eAAO,EAAE,KAAK;AAA3C,SACK,QADL,CANJ,CADJ;AAYH;;;;EA1EgC,KAAK,CAAC,S;;AAIzB,iCAAiB,iBAAjB;AAJlB,0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBA,mBAAO,CAAC,mCAAD,CAAP;;IAUa,a;;;;;;;;;;;;;6BACI;AAAA,wBACiC,KAAK,KADtC;AAAA,UACD,IADC,eACD,IADC;AAAA,UACK,QADL,eACK,QADL;AAAA,UACe,aADf,eACe,aADf;AAET,UAAI,CAAC,IAAL,EAAW,OAAO,IAAP;AACX,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,IAAI,CAAC,GAAL,CAAS,UAAC,CAAD,EAAI,CAAJ;AAAA,eAAU;AAAQ,aAAG,EAAE,CAAb;AAAgB,eAAK,EAAE,CAAC,CAAC,GAAG,CAAL,EAAQ,QAAR,EAAvB;AAAyC,wBAAc,CAAC,CAAC,GAAG,CAAL,EAAQ,QAAR,EAAvD;AAA2E,mBAAS,EAAE,aAAa,KAAK,CAAlB,GAAsB,UAAtB,GAAmC,EAAzH;AAA6H,iBAAO,EAAE;AAAA,mBAAM,QAAQ,CAAC,CAAD,CAAd;AAAA;AAAtI,WAA2J,CAAC,GAAG,CAA/J,CAAV;AAAA,OAAT,CADL,CADJ;AAKH;;;;EAT8B,KAAK,CAAC,S;;AAAzC,sC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA;;AAEA;;AAEA;;AACA;;AAmBA,IAAa,SAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,6BAEiB;AACH;AAAA,UAAE,IAAF,GAAoF,EAApF,CAAE,IAAF;AAAA,UAAQ,MAAR,GAAoF,EAApF,CAAQ,MAAR;AAAA,UAAgB,WAAhB,GAAoF,EAApF,CAAgB,WAAhB;AAAA,UAA6B,iCAA7B,GAAoF,EAApF,CAA6B,iCAA7B;AAAA,UAAgE,SAAhE,GAAoF,EAApF,CAAgE,SAAhE;AAAA,UAA2E,SAA3E,GAAoF,EAApF,CAA2E,SAA3E;AAAA,UAAsF,IAAtF,GAAsF,4GAAtF;;AACN,aAAO,oBAAC,wBAAD,EAAiB;AAAC,YAAI,EAAE;AAAP,SAAgB,IAAhB,EAAoB;AAAE,iBAAS,EAAE,SAAb;AAAwB,iBAAS,EAAE,SAAnC;AAA8C,mBAAW,EAAE,WAA3D;AAAwE,YAAI,EAAE,MAAM,CAAC,IAAD,EAAO,iCAAP;AAApF,OAApB,CAAjB,EAAqK,KAAK,KAAL,CAAW,QAAhL,CAAP;AACH;AALL;;AAAA;AAAA,EAA+B,KAAK,CAAC,SAArC;;AACW,yBAAe;AAAE,aAAW,EAAE;AAAf,CAAf;AADE,SAAS,eADrB,2DACqB,GAAT,SAAS,CAAT;AAAA;;AAeA,2BAAoE,gBAAwH;AAAA,MAArH,IAAqH,QAArH,IAAqH;AAAA,MAA/G,IAA+G,QAA/G,IAA+G;AAAA,MAAzG,UAAyG,QAAzG,UAAyG;AAAA,MAA7F,KAA6F,QAA7F,KAA6F;AAAA,MAAtF,SAAsF,QAAtF,SAAsF;AAAA,MAA3E,WAA2E,QAA3E,WAA2E;AAAA,MAA9D,QAA8D,QAA9D,QAA8D;AAAA,MAApD,SAAoD,QAApD,SAAoD;AAAA,MAAzC,UAAyC,QAAzC,UAAyC;AAAA,MAA7B,SAA6B,QAA7B,SAA6B;AAAA,MAAlB,YAAkB,QAAlB,YAAkB;AACrM,MAAM,WAAW,GAAI,UAAU,IAAI,UAAU,CAAC,aAA1B,IAA4C,CAAhE;AACA,MAAM,YAAY,GAAI,UAAU,IAAI,UAAU,CAAC,cAA1B,IAA6C,CAAlE;AACA,MAAM,YAAY,GAAI,UAAU,IAAI,UAAU,CAAC,YAA1B,GAA0C,UAAU,CAAC,YAArD,GAAoE,IAAzF;AACA,MAAM,aAAa,GAAI,UAAU,IAAI,UAAU,CAAC,eAAX,GAA6B,GAA5C,IAAoD,GAA1E;AACA,MAAM,gBAAgB,GAAI,UAAU,IAAI,UAAU,CAAC,eAA1B,IAA8C,SAAvE;AACA,MAAM,aAAa,GAAG,yBAAU,gBAAV,EAA4B,aAAa,CAAC,QAAd,EAA5B,CAAtB;AACA,MAAM,GAAG,GAAG,IAAI,GAAG,GAAH,GAAS,MAAzB;AACA,MAAM,EAAE,GAAG,IAAI,IAAI,0BAAY,QAAZ,EAAnB;AACA,MAAM,KAAK;AAAU,SAAK,EAAL,KAAV;AAAiB,aAAS,EAAT,SAAjB;AAA4B,kBAAc,SAA1C;AAAqD,MAAE,EAAF;AAArD,KAA4D,UAA5D,EAAsE;AAAE,sBAAkB,SAApB;AAA+B,oBAAgB,YAAY,IAAI;AAA/D,GAAtE,CAAX;AACA,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,IAAR,GAAe,IAApC;AACA,MAAI,gBAAgB,GAAG,EAAvB;;AACA,MAAI,QAAQ,KAAK,YAAjB,EAA+B;AAAA,gBACJ,IAAI,CAAC,IAAL,CAAU,aAAV,IAA2B,EADvB;AAAA,QACnB,UADmB,SACnB,UADmB;;AAAA,QAEnB,GAFmB,GAEZ,IAAI,CAAC,IAFO,CAEnB,EAFmB;AAG3B,oBAAgB,6BAAqB,GAArB,uBAAgC,UAAhC,QAAhB;AACH;;AAED,MAAI,CAAC,4BAAL,EAAoB;AAChB,QAAI,IAAJ,EAAU;AACN,UAAI,gBAAJ,EAAsB;AAClB,YAAI,MAAJ;;AACA,gBAAQ,YAAR;AACI,eAAK,UAAL;AACI,kBAAM,2CAAmC,IAAnC,iBAA6C,WAA7C,eAA6D,YAA7D,eAA8E,WAA9E,iBAA+F,aAA/F,mBAAmH,KAAK,CAAC,EAAzH,QAAN;AACA;;AACJ,eAAK,KAAL;AACI,kBAAM,2BAAmB,IAAnB,QAAN;AACA;;AACJ;AACI,kBAAM,sCAA8B,IAA9B,QAAN;AARR;;AAUA,aAAK,CAAC,IAAN,wBAA2B,gBAA3B,cAA+C,MAA/C;AACH,OAbD,MAaO;AACH,aAAK,CAAC,IAAN,GAAa,UAAU,CAAC,YAAX,KAA4B,UAA5B,sDAAoF,IAApF,iBAA8F,WAA9F,eAA8G,YAA9G,eAA+H,WAA/H,iBAAgJ,aAAhJ,mBAAoK,KAAK,CAAC,EAA1K,YAAoL,IAAjM;AACA,YAAM,MAAM,GAAG,UAAU,CAAC,YAAX,KAA4B,KAA5B,GAAoC,QAApC,GAA+C,MAA9D;;AACA,YAAI,MAAJ,EAAY;AACR,eAAK,CAAC,MAAN,GAAe,MAAf;AACH;AACJ;AACJ;AACJ;;AACD,SAAO,KAAK,CAAC,aAAN,CAAoB,GAApB,EAAyB,KAAzB,EAAgC,QAAhC,CAAP;AACH,CA3CY;;AAsDA,6BAAwE,iBAAiD;AAAA,MAA9C,IAA8C,SAA9C,IAA8C;AAAA,MAAxC,SAAwC,SAAxC,SAAwC;AAAA,MAA7B,QAA6B,SAA7B,QAA6B;AAAA,MAAnB,MAAmB,SAAnB,MAAmB;AAAA,MAAX,KAAW,SAAX,KAAW;AAClI,MAAM,GAAG,GAAG,CAAC,4BAAD,GAAiB,GAAjB,GAAuB,MAAnC;AACA,MAAM,KAAK,GAAQ;AAAE,QAAI,EAAJ,IAAF;AAAQ,aAAS,EAAT,SAAR;AAAmB,UAAM,EAAN,MAAnB;AAA2B,SAAK,EAAL;AAA3B,GAAnB;AACA,SAAO,KAAK,CAAC,aAAN,CAAoB,GAApB,EAAyB,KAAzB,EAAgC,QAAhC,CAAP;AACH,CAJY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7Fb;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAkBa,W;;;;;AAET,uBAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,qFAAM,KAAN;;AAgBI,8BAAoB,UAAC,CAAD,EAAwB;AAChD,UAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAH,CAAtB;;AACA,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAE;AAAf,OAAd;AAEH,KAJO;;AAfJ,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE,EADJ;AAET,mBAAa,EAAE;AAFN,KAAb;AAFa;AAMhB;;;;wCACuB;AACpB,UAAM,aAAa,GAAG,KAAK,WAAL,CAAiB,WAAvC;AACA,WAAK,QAAL,CAAc;AACV,qBAAa,EAAE;AADL,OAAd;AAGH;;;6BAYY;AAAA;;AAAA,wBACsF,KAAK,KAD3F;AAAA,UACD,WADC,eACD,WADC;AAAA,UACY,aADZ,eACY,aADZ;AAAA,UAC2B,SAD3B,eAC2B,SAD3B;AAAA,UACsC,SADtC,eACsC,SADtC;AAAA,UACiD,OADjD,eACiD,OADjD;AAAA,UAC0D,OAD1D,eAC0D,OAD1D;AAAA,UACmE,MADnE,eACmE,MADnE;AAAA,UAC2E,MAD3E,eAC2E,MAD3E;AAAA,wBAE8B,KAAK,KAFnC;AAAA,UAED,WAFC,eAED,WAFC;AAAA,UAEY,aAFZ,eAEY,aAFZ;AAGT,aACI;AAAK,iBAAS,EAAC,aAAf;AAA6B,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,WAAL,GAAmB,IAAvB;AAAA;AAArC,SACI,iCACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,SAAN;AAAiB,aAAK,EAAE,OAAxB;AAAiC,WAAG,EAAE;AAAtC,OAAhB,CADJ,EAEI;AAAK,iBAAS,+BAAwB,WAAW,GAAG,EAAd,GAAmB,SAAnB,GAA+B,QAAvD;AAAd,SAAmF,MAAnF,CAFJ,CADJ,EAMI;AAAK,iBAAS,EAAC,YAAf;AAA4B,aAAK,EAAE;AAAE,eAAK,YAAK,KAAK,KAAL,CAAW,WAAhB;AAAP;AAAnC,SACI;AAAK,UAAE,EAAC,gBAAR;AAAyB,aAAK,EAAE;AAAE,eAAK,YAAK,aAAL;AAAP;AAAhC,SACI,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,SAAN;AAAiB,aAAK,EAAE,OAAxB;AAAiC,WAAG,EAAE;AAAtC,OAAhB,CADJ,EAEI;AAAK,iBAAS,4BAAqB,WAAW,GAAG,EAAd,GAAmB,SAAnB,GAA+B,QAApD;AAAd,SAA+E,MAA/E,CAFJ,CADJ,CANJ,EAaK,aAAa,IAAI;AAAK,iBAAS,EAAC;AAAf,SAAqC,WAArC,CAbtB,EAcI;AAAO,YAAI,EAAC,OAAZ;AAAoB,WAAG,EAAC,GAAxB;AAA4B,WAAG,EAAC,KAAhC;AAAsC,aAAK,YAAK,KAAK,KAAL,CAAW,WAAhB,CAA3C;AAA0E,UAAE,EAAC,QAA7E;AACI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,iBAAL,CAAuB,CAAC,CAAC,MAAzB,CAAP;AAAA;AADd,QAdJ,CADJ,CADJ;AAqBH;;;;EAlD4B,KAAK,CAAC,S;;AAgBrB,6BAAiB,aAAjB;AAhBlB,kC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBA,mBAAO,CAAC,mCAAD,CAAP;;IAYa,a;;;;;;;;;;;;;6BACI;AAAA,wBACmD,KAAK,KADxD;AAAA,UACD,WADC,eACD,WADC;AAAA,UACY,oBADZ,eACY,oBADZ;AAAA,UACkC,YADlC,eACkC,YADlC;AAET,UAAM,IAAI,GAAE,YAAY,IAAK,OAAO,MAAP,KAAkB,WAAlB,IAAkC,MAAM,CAAC,YAA1D,IAA4E,EAAxF;AACA,UAAM,EAAE,GAAG,IAAI,CAAC,QAAL,CAAc,IAAd,CAAX;AACA,UAAM,EAAE,GAAG,IAAI,CAAC,QAAL,CAAc,IAAd,CAAX;AACA,UAAI,KAAJ;;AACA,UAAI,EAAJ,EAAQ;AACJ,aAAK,GAAG,2IAAR;AACH,OAFD,MAGK,IAAI,EAAJ,EAAQ;AACT,aAAK,GAAG,yIAAR;AACH,OAFI,MAGD;AACA,aAAK,GAAG,kIAAR;AACH;;AACD,UAAM,IAAI,GAAG,oBAAoB,KAAK,EAAzB,GAA8B,oBAA9B,GAAqD,KAAlE;AACA,aACI;AAAK,iBAAS,0BAAmB,WAAW,GAAG,WAAH,GAAiB,EAA/C;AAAd,SACK,IAAI,KAAK,EAAE,IAAI,EAAX,CAAJ,GACK;AAAK,iBAAS,EAAC;AAAf,QADL,GAEG;AAAK,WAAG,EAAC,gDAAT;AAA0D,iBAAS,EAAC;AAApE,QAHR,EAII;AAAK,iBAAS,EAAC;AAAf,SAA+B,kCAAO,IAAP,CAA/B,CAJJ,CADJ;AAQH;;;;EAzB8B,KAAK,CAAC,S;;AAAzC,sC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICHa,kB;;;;;AAET,8BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,4FAAM,KAAN;;AAMI,uBAAa,YAAK;AACtB,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE,CAAC,MAAK,KAAL,CAAW;AAAxB,OAAd;AACH,KAFO;;AALJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE;AADD,KAAb;AAFa;AAKhB;;;;6BAKY;AAAA,wBACqC,KAAK,KAD1C;AAAA,UACD,WADC,eACD,WADC;AAAA,UACY,oBADZ,eACY,oBADZ;AAAA,UAED,QAFC,GAEY,KAAK,KAFjB,CAED,QAFC;AAGT,UAAM,IAAI,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAjC,IAA2C,MAAM,CAAC,YAAP,CAAoB,KAApB,CAA0B,CAA1B,EAA6B,CAA7B,CAAxD;AACD,UAAI,KAAK,GAAG,kIAAZ;;AACC,UAAI,IAAI,KAAG,IAAX,EAAiB;AACb,aAAK,GAAG,2IAAR;AACH,OAFD,MAGI,IAAI,IAAI,KAAG,IAAX,EAAiB;AACjB,aAAK,GAAG,yIAAR;AACH;;AACD,UAAM,IAAI,GAAG,oBAAoB,KAAK,EAAzB,GAA8B,oBAA9B,GAAqD,KAAlE;AACA,aACI,0C,KAAA,EAAK;AAAK,iBAAS;AAAd,SAEC,IAAI,KAAG,IAAP,IAAe,IAAI,KAAG,IAAvB,GACK;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE,KAAK;AAA9C,QADL,GAEG;AAAK,WAAG,EAAC,gDAAT;AAA0D,iBAAS,EAAC,gBAApE;AAAqF,eAAO,EAAE,KAAK;AAAnG,QAJH,CAAL,EAMK,QAAQ,IAAI;AAAK,iBAAS,+BAAwB,WAAW,GAAG,UAAH,GAAgB,EAAnD;AAAd,SAAuE,kCAAO,IAAP,CAAvE,EACT;AAAQ,iBAAS,EAAC,eAAlB;AAAkC,eAAO,EAAE,KAAK;AAAhD,QADS,CANjB,CADJ;AAWH;;;;EAnCmC,KAAK,CAAC,S;;AAC5B,oCAAiB,oBAAjB;AADlB,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA,mBAAO,CAAC,mCAAD,CAAP;;IAca,mB;;;;;;;;;;;;;6BAII;AAAA,wBAC0D,KAAK,KAD/D;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,KADV,eACU,KADV;AAAA,UACiB,SADjB,eACiB,SADjB;AAAA,UAC4B,UAD5B,eAC4B,UAD5B;AAAA,UACwC,aADxC,eACwC,aADxC;AAET,UAAI,CAAC,cAAc,CAAC,KAAK,KAAN,CAAf,IAA+B,CAAC,SAApC,EAA+C,OAAO,IAAP;AAC/C,aACI;AAAK,iBAAS,sBAAe,SAAf,CAAd;AAA0C,aAAK,EAAE,KAAjD;AAAsD,wBAAgB,UAAU,IAAI,EAApF;AAAsF,2BAAoB,aAAa,IAAI;AAA3H,QADJ;AAGH;;;;EAVoC,KAAK,CAAC,S;;AAA/C;;AAaA,SAAS,OAAT,CAAiB,IAAjB,EAAuB,IAAvB,EAA2B;AACvB,MAAI,MAAM,GAAG,IAAI,IAAJ,CAAS,IAAT,CAAb;AACA,QAAM,CAAC,OAAP,CAAe,MAAM,CAAC,OAAP,KAAmB,IAAlC;AACA,SAAO,MAAP;AACH;;AAED,SAAgB,cAAhB,OAA0I;AAAA,MAAzG,iBAAyG,QAAzG,iBAAyG;AAAA,MAAtF,iBAAsF,QAAtF,iBAAsF;AACtI,MAAM,WAAW,GAAG,OAAO,iBAAP,KAA6B,QAA7B,GAAwC,IAAI,IAAJ,CAAS,iBAAT,CAAxC,GAAsE,iBAA1F;;AACA,MAAI,CAAC,WAAD,IAAgB,CAAC,QAAQ,CAAC,WAAD,CAAzB,IAAiD,CAAC,WAAW,CAAC,OAAlE,EAA2E;AAAE,WAAO,CAAP;AAAU;;AACvF,MAAI,iBAAJ,EAAuB;AACnB,QAAI,YAAY,GAAG,OAAO,CAAC,WAAD,EAAc,iBAAd,CAA1B;AACA,WAAO,MAAM,CAAC,YAAY,GAAG,IAAI,IAAJ,EAAhB,CAAb;AACH,GAHD,MAIK,OAAO,CAAP;AACR;;AARD,wC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCA;;AACA;;IAGa,iB;;;;;;;;;;;;;6BACI;AACT,UAAM,KAAK,GAAG,KAAK,CAAC,QAAN,CAAe,IAAf,CAAoB,KAAK,KAAL,CAAW,QAA/B,CAAd;;AACA,UAAI,kCAAJ,EAAyB;AACrB,YAAM,gBAAgB,GAAG,IAAI,CAAC,SAAL,CAAe,KAAK,CAAC,KAArB,CAAzB;AACA,YAAM,cAAc,GAAI,KAAK,CAAC,IAAN,CAAmB,cAAnB,IAAsC,KAAK,CAAC,IAAN,CAAmB,IAAjF;AACA,YAAM,QAAQ,GAAG,0BAAY,QAAZ,EAAjB;AACA,YAAM,MAAM,0CAAmC,QAAnC,gBAAiD,cAAjD,eAAoE,gBAApE,QAAZ;AACA,eACI,kCACI;AAAM,YAAE,EAAE;AAAV,WAAuB,KAAvB,CADJ,EAEI;AAAQ,iCAAuB,EAAE;AAAE,kBAAM,EAAE;AAAV;AAAjC,UAFJ,CADJ;AAMH,OAXD,MAWO;AACH,eAAO,KAAP;AACH;AACJ;;;;EAjBkC,KAAK,CAAC,S;;AAA7C,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJA;;AAKA,IAAa,eAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,6BACiB;AACH;AAAA,UAAE,YAAF,GAAmB,EAAnB,CAAE,YAAF;AAAA,UAAgB,GAAhB,GAAmB,EAAnB,CAAgB,GAAhB;AAAA,UAAqB,IAArB,GAAqB,mCAArB;;AACN,UAAI,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC,YAAhB,GAA+B,SAA9D;AACA,aAAO,6CAAS,IAAT,EAAa;AAAE,WAAG,EAAE,qBAAa,YAAb,EAA2B,GAA3B;AAAP,OAAb,EAAP;AACH;AALL;;AAAA;AAAA,EAAqC,KAAK,CAAC,SAA3C;;AAAa,eAAe,eAD3B,kCAAgB,IAAhB,CAC2B,GAAf,eAAe,CAAf;AAAA;;AASA,uBAAe,UAAC,YAAD,EAAuB,GAAvB,EAAsC;AAC9D,MAAI,MAAM,GAAG,GAAb;;AACA,MAAI,GAAG,IAAI,GAAG,CAAC,UAAJ,CAAe,GAAf,CAAX,EAAgC;AAC5B,UAAM,GAAG,CAAC,YAAY,IAAI,EAAjB,IAAuB,GAAhC;AACH;;AACD,SAAO,MAAP;AACH,CANY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdb,mBAAO,CAAC,mCAAD,CAAP;;AAEA;;AACA;;AAeA,IAAa,eAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,6BAEiB;AAAA,wBACkF,KAAK,KADvF;AAAA,UACD,IADC,eACD,IADC;AAAA,UACK,MADL,eACK,MADL;AAAA,UACa,aADb,eACa,aADb;AAAA,UAC4B,aAD5B,eAC4B,aAD5B;AAAA,UAC2C,YAD3C,eAC2C,YAD3C;AAAA,UACyD,QADzD,eACyD,QADzD;AAAA,UACmE,UADnE,eACmE,UADnE;;AAET,UAAM,UAAU,GAAG,KAAK,KAAL,CAAW,UAAX,IAA0B,UAAC,MAAD;AAAA,eAAY,IAAZ;AAAA,OAA7C;;AACA,UAAI,aAAJ,EAAmB,OAAO,oBAAC,qBAAD,EAAsB;AAC5C,YAAI,EAAE,2BAA2B,CAAC,IAAD,EAAO,UAAU,CAAC,MAAD,CAAjB,CADW;AAE5C,qBAAa,EAAE,aAF6B;AAG5C,oBAAY,EAAE,YAH8B;AAI5C,gBAAQ,EAAE,QAJkC;AAK5C,kBAAU,EAAE;AALgC,OAAtB,CAAP,CAAnB,KAOK,OAAO,IAAP;AACR;AAbL;;AAAA;AAAA,EAAqC,KAAK,CAAC,SAA3C;;AACW,+BAAe;AAAE,eAAa,EAAE;AAAjB,CAAf;AADE,eAAe,eAD3B,2DAC2B,GAAf,eAAe,CAAf;AAAA;;AAgBb,SAAgB,2BAAhB,CAA4C,IAA5C,EAAsE,OAAtE,EAA0F;AACtF,MAAI,IAAI,KAAK,WAAT,IAAwB,OAAxB,IAAmC,OAAO,CAAC,QAA/C,EAAyD,OAAO,OAAP;AACzD,MAAI,IAAI,KAAK,WAAT,IAAwB,OAAxB,IAAmC,OAAO,CAAC,WAA3C,IAA0D,OAAO,CAAC,WAAR,CAAoB,SAA9E,IAA2F,OAAO,CAAC,WAAR,CAAoB,SAApB,CAA8B,eAA7H,EAA8I,OAAO,OAAP;AAC9I,SAAO,IAAP;AACH;;AAJD;;IAca,qB;;;;;;;;;;;;;6BACI;AAAA,yBAC2D,KAAK,KADhE;AAAA,UACD,IADC,gBACD,IADC;AAAA,UACK,aADL,gBACK,aADL;AAAA,UACoB,YADpB,gBACoB,YADpB;AAAA,UACkC,QADlC,gBACkC,QADlC;AAAA,UAC4C,UAD5C,gBAC4C,UAD5C;AAGT,UAAM,KAAK,GAAG,UAAU,CAAC,WAAD,EAAc,aAAd,CAAxB;AACA,UAAM,KAAK,GAAG,UAAU,CAAC,WAAD,EAAc,aAAd,CAAxB;AACA,UAAI,IAAI,KAAK,OAAb,EAAsB,OAAO;AAAK,iBAAS,EAAE,KAAhB;AAAqB,wBAAgB,UAAU,IAAI,EAAnD;AAAqD;AAArD,SAAqE;AAAM,iBAAS,EAAC;AAAhB,QAArE,EAA+F,YAAY,IAAI;AAAM,iBAAS,EAAC;AAAhB,SAA4B,QAA5B,CAA/G,CAAP;AACtB,UAAI,IAAI,KAAK,OAAb,EAAsB,OAAO;AAAK,iBAAS,EAAE,KAAhB;AAAqB,wBAAgB,UAAU,IAAI;AAAnD,SAAuD;AAAM,iBAAS,EAAC;AAAhB,QAAvD,EAAiF,YAAY,IAAI;AAAM,iBAAS,EAAC;AAAhB,SAA4B,QAA5B,CAAjG,CAAP,CAAtB,KACK,OAAO,IAAP;AACR;;;;EATsC,KAAK,CAAC,S;;AAAjD;;IAYa,sB;;;;;;;;;;;;;6BACI;AAAA,UACD,IADC,GACQ,KAAK,KADb,CACD,IADC;AAET,UAAI,IAAI,KAAK,OAAb,EAAsB,OAAO;AAAM,iBAAS,EAAC,sBAAhB;AAAsC;AAAtC,QAAP,CAAtB,KACK,OAAO,IAAP;AAER;;;;EANuC,KAAK,CAAC,S;;AAAlD,wD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5DA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAOa,Y;;;;;;;;;;;;;6BACI;AAAA,wBAC4B,KAAK,KADjC;AAAA,UACD,OADC,eACD,OADC;AAAA,UACQ,eADR,eACQ,eADR;AAET,aACI;AAAQ,iBAAS,EAAC,cAAlB;AAAiC,eAAO,EAAE;AAA1C,SACI;AAAK,iBAAS,EAAE,UAAU,CAAC,iBAAD,EAAoB;AAAE,oBAAU;AAAZ,SAApB;AAA1B,SACI;AAAK,iBAAS,EAAE,UAAU,CAAC,WAAD,EAAc;AAAE,oBAAU;AAAZ,SAAd;AAA1B,QADJ,CADJ,CADJ;AAOH;;;;EAV6B,KAAK,CAAC,S;;AAAxC,oC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRA;;IAOsB,c;;;AAElB,0BAAY,IAAZ,EAAsB;AAAA;;AAClB,QAAI,IAAI,IAAI,IAAI,CAAC,iBAAjB,EAAoC;AAChC,WAAK,YAAL,GAAoB,IAAI,CAAC,iBAAzB;AACA;AACH;;AAED,QAAI,IAAI,IAAU,IAAK,CAAC,OAAN,GAAgB,KAAK,SAAnC,IAAgD,KAAK,oBAAL,EAApD,EAAiF;AAC7E,UAAI,GAAQ,KAAK,0BAAL,CAAqC,IAArC,CAAZ;AACH;;AACD,QAAI,IAAI,YAAY,cAApB,EAAoC;AAChC,WAAK,YAAL,GAAoB,IAAI,CAAC,YAAzB;AACH,KAFD,MAEO;AACH,WAAK,YAAL,GAAoB,KAAK,MAAL,CAAY,IAAZ,CAApB;AACH;AACJ;;;;6BAYY;AACT;AAAS,iBAAS,EAAE,KAAK,SAAzB;AAAoC,4BAAoB,EAAE,KAAK;AAA/D,SAAyF,KAAK,YAA9F;AACH;;;yCAEwB;AACrB,aAAO,CAAC,CAAC,KAAK,gCAAL,EAAD,CAAD,CAA2C,MAA3C,CAAkD,WAAC;AAAA,eAAI,CAAC,IAAI,CAAC,CAAC,UAAP,IAAqB,CAAC,CAAC,YAA3B;AAAA,OAAnD,EAA4F,QAA5F,CAAqG,CAAC,CAAC,OAAvG,EAAgH,KAAhH,EAAP;AACH;;;uDAEsC;AACnC,UAAI,eAAe,GAAG,KAAK,4BAAL,EAAtB;;AACA,WAAK,IAAM,GAAX,IAAkB,KAAK,YAAvB,EAAqC;AACjC,YAAM,IAAI,GAAG,KAAK,YAAL,CAAkB,GAAlB,CAAb;;AACA,YAAI,IAAI,YAAY,cAApB,EAAoC;AAChC,yBAAe,GAAG,eAAe,CAAC,MAAhB,CAAuB,IAAI,CAAC,gCAAL,EAAvB,CAAlB;AACH,SAFD,MAEO,IAAI,KAAK,CAAC,OAAN,CAAc,IAAd,CAAJ,EAAyB;AAAA;AAAA;AAAA;;AAAA;AAC5B,iCAAwB,IAAxB,8HAA8B;AAAA,kBAAnB,SAAmB;;AAC1B,kBAAI,SAAS,YAAY,cAAzB,EAAyC;AACrC,+BAAe,GAAG,eAAe,CAAC,MAAhB,CAAuB,SAAS,CAAC,gCAAV,EAAvB,CAAlB;AACH;AACJ;AAL2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAM/B;AACJ;;AACD,aAAO,eAAP;AACH;;;2CAE6B;AAC1B,aAAO,IAAP;AACH;;;2BAEgB,I,EAAkB;AAC/B,UAAI,CAAC,IAAL,EAAW;AACP,eAAO,KAAK,cAAL,EAAP;AACH;;AACD,UAAM,OAAO,GAAG,KAAK,iBAAL,CAAuB,IAAvB,CAAhB;AACA,+BAAa,KAAK,cAAL,EAAb,EAAgD,OAAhD;AACH;;;sCAEyB,I,EAAS;AAC/B,UAAI,CAAC,IAAD,IAAS,QAAO,IAAP,MAAgB,QAAzB,IAAqC,IAAI,YAAY,cAAzD,EAAyE,OAAO,IAAP;AAEzE,UAAM,OAAO,GAAG,EAAhB;;AACA,WAAK,IAAM,GAAX,IAAkB,IAAlB,EAAwB;AACpB,YAAI,GAAG,CAAC,UAAJ,CAAe,GAAf,CAAJ,EAAyB;AACrB;AACH;;AACD,YAAI,KAAK,GAAG,IAAI,CAAC,GAAD,CAAhB;;AACA,YAAI,EAAE,KAAK,YAAY,cAAnB,KAAsC,KAA1C,EAAiD;AAC7C,cAAI,KAAK,CAAC,sBAAD,CAAT,EAAmC;AAC/B,iBAAK,GAAG,oCAAc,KAAK,CAAC,sBAAD,CAAnB,EAA6C,sBAA7C,EAAqE,KAArE,CAAR;AACH,WAFD,MAEO,IAAI,KAAK,CAAC,OAAN,CAAc,KAAd,CAAJ,EAA0B;AAC7B,iBAAK,GAAG,CAAC,CAAC,GAAF,CAAM,KAAN,EAAa,cAAI;AAAA,qBAAK,IAAI,CAAC,sBAAD,CAAL,GAAiC,oCAAc,IAAI,CAAC,sBAAD,CAAlB,EAA4C,sBAA5C,EAAoE,IAApE,CAAjC,GAA6G,IAAjH;AAAA,aAAjB,CAAR;AACH;AACJ;;AACD,eAAO,CAAC,GAAD,CAAP,GAAe,KAAf;AACH;;AACD,aAAO,OAAP;AACH;;;4BAEW;AACR,UAAM,GAAG,GAAG,IAAZ;AACA,UAAM,OAAO,GAAG,EAAhB;;AACA,UAAI,EAAE,GAAG,YAAY,cAAjB,CAAJ,EAAsC;AAClC,6DAA8C,IAAI,CAAC,SAAL,CAAe,GAAf,CAA9C;AACH;;AACD,WAAK,IAAM,GAAX,IAAkB,GAAG,CAAC,YAAtB,EAAoC;AAChC,YAAI,KAAK,GAAG,GAAG,CAAC,GAAD,CAAf;;AACA,YAAI,KAAK,YAAY,cAArB,EAAqC;AACjC,eAAK,GAAG,KAAK,CAAC,KAAN,EAAR;AACH,SAFD,MAEO,IAAI,KAAK,CAAC,OAAN,CAAc,KAAd,CAAJ,EAA0B;AAC7B,eAAK,GAAG,CAAC,CAAC,GAAF,CAAM,KAAN,EAAa,WAAC;AAAA,mBAAK,CAAC,YAAY,cAAd,GAAgC,CAAC,CAAC,KAAF,EAAhC,GAA4C,CAAhD;AAAA,WAAd,CAAR;AACH;;AACD,eAAO,CAAC,GAAD,CAAP,GAAe,KAAf;AACH;;AACD,aAAO,KAAK,iBAAL,CAAuB,OAAvB,CAAP;AACH;;;4BAEiB,Y,EAA0B;AACxC,UAAI,OAAO,GAAG,KAAd;AADwC;AAAA;AAAA;;AAAA;AAExC,8BAAiB,CAAC,CAAC,OAAF,CAAU,YAAV,CAAjB,mIAA0C;AAAA,cAAjC,IAAiC;;AACtC,cAAI,KAAK,YAAL,CAAkB,IAAI,CAAC,CAAD,CAAtB,MAA+B,IAAI,CAAC,CAAD,CAAvC,EAA4C;AACxC,mBAAO,GAAG,IAAV;AACA;AACH;AACJ;AAPuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAQxC,UAAI,OAAJ,EAAa;AACT,eAAO,KAAK,iBAAL,CAAuB;AAAE,2BAAiB,EAAE,KAAK,YAAL,CAAkB,YAAlB;AAArB,SAAvB,CAAP;AACH;;AACD,aAAO,IAAP;AACH;;;iCAIoB,Y,EAA0B;AAC3C,+BAAa,KAAK,YAAlB,EAA4C,YAA5C;AACH;;;+CAEkC,I,EAAyB;AACxD,UAAI,UAAU,GAAG,IAAjB;AACA,UAAM,iBAAiB,GAAG,KAAK,oBAAL,EAA1B;;AACA,WAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAlB,EAA2B,CAAC,GAAG,iBAAiB,CAAC,MAAjD,EAAyD,CAAC,EAA1D,EAA8D;AAC1D,kBAAU,GAAG,iBAAiB,CAAC,CAAD,CAAjB,CAAqB,UAArB,CAAb;AACH;;AACD,aAAO,UAAP;AACH;;;wBA3GmB;AAAK,aAAO,CAAP;AAAU;;;wBAEJ;AAAK,aAAO,KAAK,WAAL,CAAiB,IAAxB;AAA8B;;;wBA4FhD;AAAK,aAAO,KAAK,YAAZ;AAA0B;;;;;;AAtHrD;;IAwIM,sB;;;;;;;;;;;;;sCAC0B,I,EAAS;AACjC,aAAO,IAAI,sBAAJ,CAA2B,IAA3B,CAAP;AACH;;;mDACqC;AAAK,aAAO,EAAP;AAAW;;;qCAE9B;AACpB,aAAO,EAAP;AACH;;;;EARgC,c;;;;;;;;;;;;;;;AC7IrC;;AACA;;AAWa,6BAAqB,wBAAW,WAAX,EAAwB,OAAxB,EAAiC,OAAjC,EAA0C,MAA1C,CAArB;AAMA,yBAAiB,wBAC1B,4BAAa,OADa,EAE1B,4BAAa,QAFa,EAG1B,4BAAa,GAHa,EAI1B,4BAAa,YAJa,EAK1B,4BAAa,IALa,EAM1B,4BAAa,UANa,EAO1B,4BAAa,IAPa,EAQ1B,4BAAa,IARa,EAS1B,4BAAa,WATa,EAU1B,4BAAa,KAVa,CAAjB;AAyFb,IAAY,iBAAZ;;AAAA,WAAY,iBAAZ,EAA6B;AACzB;AACA;AACA;AACH,CAJD,EAAY,iBAAiB,GAAjB,0DAAiB,EAAjB,CAAZ;;AAMA,IAAY,oBAAZ;;AAAA,WAAY,oBAAZ,EAAgC;AAC5B;AACA;AACA;AACH,CAJD,EAAY,oBAAoB,GAApB,gEAAoB,EAApB,CAAZ,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClHA;;AACA;;AAGA,IAAa,uBAAuB,4BAApC;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,uCAIuB,eAJvB,EAI+C;AACvC,aAAO,KAAK,OAAL,CAAa;AAAE,uBAAe,EAAf;AAAF,OAAb,CAAP;AACH;AANL;AAAA;AAAA,oCAUoB,YAVpB,EAUyC;AACjC,aAAO,KAAK,OAAL,CAAa;AAAE,oBAAY,EAAZ;AAAF,OAAb,CAAP;AACH;AAZL;AAAA;AAAA,8BAgBc,MAhBd,EAgB6B;AACrB,aAAO,KAAK,OAAL,CAAa;AAAE,cAAM,EAAN;AAAF,OAAb,CAAP;AACH;AAlBL;AAAA;AAAA,sCAmBgC,IAnBhC,EAmByC;AACjC,aAAO,IAAI,yBAAJ,CAA4B,IAA5B,CAAP;AACH;AArBL;AAAA;AAAA,mDAsB0C;AAAK,aAAO,EAAP;AAAW;AAtB1D;AAAA;AAAA,qCAwB4B;AACpB,aAAO;AACH,uBAAe,EAAE,IADd;AAEH,oBAAY,EAAE,KAFX;AAGH,cAAM,EAAE;AAHL,OAAP;AAKH;AA9BL;AAAA;AAAA,wBACuB;AACf,aAAO,KAAK,IAAL,CAAU,eAAjB;AACH;AAHL;AAAA;AAAA,wBAOoB;AACZ,aAAO,KAAK,IAAL,CAAU,YAAjB;AACH;AATL;AAAA;AAAA,wBAac;AACN,aAAO,KAAK,IAAL,CAAU,MAAjB;AACH;AAfL;;AAAA;AAAA,EAA6C,+BAA7C;;AAAa,uBAAuB,2CADnC,uCACmC,GAAvB,uBAAuB,CAAvB;AAAA,0D;;;;;;;;;;;;;ACDb,IAAM,SAAS,GAAG,IAAI,GAAJ,EAAlB;;AAEa,4BAAoB,UAAmC,GAAnC,EAA6C;AAC1E,MAAI,CAAC,SAAS,CAAC,GAAV,CAAc,GAAG,CAAC,IAAlB,CAAL,EAA8B;AAC1B,aAAS,CAAC,GAAV,CAAc,GAAG,CAAC,IAAlB,EAAwB,UAAC,IAAD;AAAA,aAAU,IAAI,GAAJ,CAAQ,IAAR,CAAV;AAAA,KAAxB;AACH,GAFD,MAEO,IAAI,KAAJ,EAAc,EAEpB;;AACD,SAAO,GAAP;AACH,CAPY;;AASb,SAAgB,aAAhB,CAAiC,SAAjC,EAAoD,eAApD,EAA+F,IAA/F,EAAuG;AACnG,MAAM,OAAO,GAAG,SAAS,CAAC,GAAV,CAAc,SAAd,CAAhB;;AACA,MAAI,OAAJ,EAAa;AACT,WAAO,OAAO,CAAC,IAAD,CAAd;AACH;;AACD,SAAO,CAAC,KAAR,sBAA4B,SAA5B;AACA,SAAO,IAAI,eAAJ,EAAP;AACH;;AAPD,sC;;;;;;;;;;;;;;ACfA;;AAgBA,IAAM,wBAAwB,GAAsB,EAApD;AAKa,yBAAqC;AAC9C,WAAS;AACL,YAAQ,EAAE,IADL;AAEL,YAAQ,EAAE,IAFL;AAGL,qBAAiB,EAAE,IAHd;AAIL,mBAAe,EAAE,IAJZ;AAKL,mBAAe,EAAE,IALZ;AAML,YAAQ,EAAE,KANL;AAOL,oBAAgB,EAAE,KAPb;AAQL,eAAW,EAAE,KARR;AASL,iBAAa,EAAE,wBAAW;AATrB,GADqC;AAY9C,SAAO;AACH,YAAQ,EAAE,IADP;AAEH,YAAQ,EAAE,IAFP;AAGH,qBAAiB,EAAE,IAHhB;AAIH,mBAAe,EAAE,IAJd;AAKH,mBAAe,EAAE,IALd;AAMH,YAAQ,EAAE,KANP;AAOH,oBAAgB,EAAE,KAPf;AAQH,eAAW,EAAE,KARV;AASH,iBAAa,EAAE,wBAAW;AATvB,GAZuC;AAuB9C,YAAU;AACN,YAAQ,EAAE,IADJ;AAEN,YAAQ,EAAE,IAFJ;AAGN,qBAAiB,EAAE,IAHb;AAIN,mBAAe,EAAE,IAJX;AAKN,mBAAe,EAAE,IALX;AAMN,YAAQ,EAAE,KANJ;AAON,oBAAgB,EAAE,KAPZ;AAQN,eAAW,EAAE,KARP;AASN,iBAAa,EAAE,wBAAW;AATpB,GAvBoC;AAkC9C,SAAO;AACH,YAAQ,EAAE,IADP;AAEH,YAAQ,EAAE,IAFP;AAGH,qBAAiB,EAAE,IAHhB;AAIH,mBAAe,EAAE,IAJd;AAKH,mBAAe,EAAE,IALd;AAMH,YAAQ,EAAE,KANP;AAOH,oBAAgB,EAAE,KAPf;AAQH,eAAW,EAAE,KARV;AASH,iBAAa,EAAE,wBAAW;AATvB;AAlCuC,CAArC;;AA8CA,qCAA6B,UAAC,EAAD,EAAkC;AACxE,SAAO,uBAAe,EAAf,CAAP;AACH,CAFY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnEb;;IASa,mB;;;;;;;;;;;;;wCAEQ;AAAA,UACL,OADK,GACO,KAAK,KADZ,CACL,OADK;;AAEb,UAAI,OAAJ,EAAa;AACT,YAAM,YAAY,GAAG,QAAQ,CAAC,gBAAT,YAA8B,OAAO,CAAC,EAAtC,aAArB;AACA,WAAG,CAAC,YAAD,EAAe,gBAAM;AAAA,iBAAI,IAAI,CAAC,MAAM,CAAC,SAAR,CAAR;AAAA,SAArB,CAAH;AACH;AACJ;;;6BAEK;AAAA,UACM,OADN,GACkB,KAAK,KADvB,CACM,OADN;;AAEF,UAAI,OAAJ,EAAa;AACT,eACI,OAAO,CAAC,EAAR,IAAc;AAAK,YAAE,EAAE,OAAO,CAAC,EAAjB;AAAqB,iCAAuB,EAAE;AAAE,kBAAM,EAAE,OAAO,CAAC;AAAlB;AAA9C,UADlB;AAGH,OAJD,MAIO;AACH,eAAO,IAAP;AACH;AACJ;;;;EAnBoC,KAAK,CAAC,S;;AAA/C,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAM,gBAAgB,GAAG,GAAzB,C,CAA8B;;IAejB,yB;;;;;AAET,qCAAY,KAAZ,EAAiD;AAAA;;AAAA;;AAC7C,mGAAM,KAAN;;AAOI,4BAAkB,YAAK;AAAA,UACnB,UADmB,GACH,MAAK,KADF,CACnB,UADmB;AAAA,wBAES,MAAK,KAFd;AAAA,UAEnB,QAFmB,eAEnB,QAFmB;AAAA,UAET,YAFS,eAET,YAFS;AAG3B,UAAM,aAAa,GAAG,KAAK,CAAC,MAAN,CAAa,wDAAb,CAAtB;AACA,mBAAa,CAAC,GAAd,gDAA0D,UAA1D,cAAwE,QAAxE,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,cAAK,QAAL,CACI;AACI,sBAAY,+BAAM,YAAN,IAAoB,GAAG,CAAC,IAAJ,CAAS,OAA7B,EADhB;AAEI,kBAAQ,EAAE,GAAG,CAAC,IAAJ,CAAS;AAFvB,SADJ;AAMH,OARL,EASK,KATL,CASW,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,4BAAd,EAA4C,GAA5C,CAAJ;AAAA,OATd;AAUH,KAdO;;AANJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,KAAK,CAAC,QADP;AAET,kBAAY,EAAE;AAFL,KAAb;AAF6C;AAMhD;;;;6BAkBK;AAAA,yBACiC,KAAK,KADtC;AAAA,UACM,QADN,gBACM,QADN;AAAA,UACgB,YADhB,gBACgB,YADhB;;AAEF,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,eACI,CAAC,qBAAD,IAAe;AAAK,YAAE,EAAC;AAAR,WACX,oBAAC,cAAD,EAAe;AACX,oBAAU,EAAE,YAAY,CAAC,MADd;AAEX,cAAI,EAAE,KAAK,eAFA;AAGX,iBAAO,EAAE,QAHE;AAIX,gBAAM,EAAE;AAJG,SAAf,EAMK,GAAG,CAAC,YAAD,EAAe,UAAC,OAAD,EAAU,GAAV;AAAA,iBACf,oBAAC,yCAAD,EAAoB;AAAC,eAAG,EAAE,GAAN;AAAW,mBAAO,EAAE;AAApB,WAApB,CADe;AAAA,SAAf,CANR,CADW,CADnB;AAcH,OAfD,MAeO,OAAO,IAAP;AACV;;;;EA5C0C,KAAK,CAAC,S;;AAC1C,2CAAiB,2BAAjB;AADX,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;;AAEA;;IAca,0B;;;;;AAaX,sCAAY,KAAZ,EAAqD;AAAA;;AAAA;;AACnD,oGAAM,KAAN;AATM,6BAAgD,IAAhD;AACA,2BAA8C,IAA9C;AACA,2BAAiB,IAAjB;AACA,wBAA6B,EAA7B;AACA,0BAA+B,EAA/B;AACA,0BAAgB,CAAhB;AACA,mCAAyB,CAAzB;AACA,4BAAkB,KAAlB;;AA6DR,+BAAqB,YAAK;AACxB,UAAI,OAAO,QAAP,KAAoB,WAAxB,EAAqC;AACnC,eAAO,CAAP;AACD;;AAED,UAAM,SAAS,GAAG,QAAQ,CAAC,aAAT,CAAuB,gCAAvB,CAAlB;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,aAAT,CAAuB,qBAAvB,CAAvB;;AAEA,UAAI,CAAC,SAAD,IAAc,CAAC,cAAnB,EAAmC;AACjC,eAAO,CAAP;AACD;;AAED,UAAM,cAAc,GAAG,SAAS,CAAC,WAAjC;AACA,UAAM,kBAAkB,GAAG,cAAc,CAAC,WAA1C;;AAEA,UAAI,kBAAkB,IAAI,cAA1B,EAA0C;AACxC,eAAO,CAAP;AACD;;AAED,aAAO,IAAI,CAAC,IAAL,CAAU,kBAAkB,GAAG,cAA/B,CAAP;AACD,KApBD;;AAsBA,mCAAyB,YAAK;AAC5B,UAAM,QAAQ,GACZ,QAAQ,CAAC,aAAT,CAAuB,kBAAvB,KAA8C,QAAQ,CAAC,aAAT,CAAuB,oCAAvB,CADhD;;AAEA,UAAI,CAAC,QAAL,EAAe;AACb;AACD;;AACD,YAAK,aAAL,GAAqB,QAAQ,CAAC,YAA9B;AACD,KAPD;;AASA,yBAAe,YAAK;AAClB,UAAM,QAAQ,GAAa,EAA3B;AACA,UAAM,aAAa,GAAkB,EAArC;AACA,cAAQ,CAAC,gBAAT,CAA0B,kBAA1B,EAA8C,OAA9C,CAAsD,UAAC,OAAD,EAAyB;AAC7E,YAAM,SAAS,GAAI,OAAuB,CAAC,SAAxB,CAAkC,IAAlC,EAAnB;;AAEA,YAAI,SAAJ,EAAe;AACb,kBAAQ,CAAC,IAAT,CAAc,SAAd;AACA,uBAAa,CAAC,IAAd,CAAmB,OAAnB;AACD;AACF,OAPD;AAQA,YAAK,aAAL,GAAqB,aAArB;;AACA,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAR;AAAF,OAAd;AACD,KAbD;;AAeA,8BAAoB,YAAK;AAAA;;AACvB,UAAM,iBAAiB,GAAG,QAAQ,CAAC,gBAAT,CAA0B,gBAA1B,CAA1B;AADuB,UAEf,cAFe,GAEI,MAAK,KAFT,CAEf,cAFe;AAGvB,UAAM,QAAQ,GAAG,cAAc,KAAK,WAAnB,IAAkC,cAAc,KAAK,WAAtE;AACA,UAAM,WAAW,qDACd,WADc,EACA,CADA,iCAEd,WAFc,EAEA,GAFA,iCAGd,SAHc,EAGF,GAHE,gBAAjB;;AAKA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,iBAAiB,CAAC,MAAtC,EAA8C,CAAC,EAA/C,EAAmD;AACjD,YAAM,gBAAgB,GAAG,iBAAiB,CAAC,CAAD,CAA1C;AACA,YAAI,oBAAoB,GAAuB,IAA/C;;AAEA,YAAI,CAAC,GAAG,CAAJ,GAAQ,iBAAiB,CAAC,MAA9B,EAAsC;AACpC,8BAAoB,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAL,CAAxC;AACD;;AAED,YAAI,QAAJ,EAAc;AACZ,cAAM,aAAa,GAAG,MAAK,aAAL,CAAmB,CAAnB,EAAsB,YAA5C;AACA,0BAAgB,CAAC,KAAjB,CAAuB,MAAvB,aAAmC,aAAa,GAAG,GAAnD;AACA,gBAAK,aAAL,CAAmB,CAAnB,EAAsB,KAAtB,CAA4B,YAA5B,aAA8C,aAAa,GAAG,GAA9D;AACA,gBAAK,aAAL,CAAmB,CAAnB,EAAsB,KAAtB,CAA4B,QAA5B,GAAuC,MAAvC;AACD;;AAED,YAAI,oBAAJ,EAA0B;AACxB,cAAM,KAAK,GAAG,oBAAoB,CAAC,qBAArB,GAA6C,GAA7C,GAAmD,gBAAgB,CAAC,qBAAjB,GAAyC,GAA1G;AACA,gBAAK,aAAL,CAAmB,CAAnB,EAAsB,KAAtB,CAA4B,MAA5B,aAAwC,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC,cAAD,CAAnE;AACD;AACF;AACF,KA7BD;;AA+BA,yBAAe,YAAK;AAClB,UAAI,oBAAJ,EAA0B;AAAA,YAChB,cADgB,GACG,MAAK,KADR,CAChB,cADgB;AAExB,YAAM,QAAQ,GAAG,cAAc,KAAK,WAAnB,IAAkC,cAAc,KAAK,WAAtE;AACA,YAAM,mBAAmB,GAAG,MAAK,aAAL,GAAqB,MAAK,sBAAtD;AACA,YAAM,wBAAwB,GAA6B;AACzD,oBAAU,aAAM,QAAQ,GAAG,mBAAH,GAAyB,MAAK,aAA5C,qBACP,MAAM,CAAC,WAAP,GAAqB,CAAtB,GAA2B,CADnB,WAD+C;AAIzD,mBAAS,EAAE;AAJ8C,SAA3D;AAOA,YAAM,qBAAqB,GAA6B,QAAQ,GAC5D;AACA,cAAI,EAAE,IADN;AAEA,oBAAU,aAAM,mBAAN,qBAAoC,mBAApC,WAFV;AAGA,mBAAS,EAAE;AAHX,SAD4D,GAM5D;AACA,oBAAU,aAAM,CAAN,OADV;AAEA,mBAAS,EAAE;AAFX,SANJ;AAWA,cAAK,gBAAL,GAAwB,IAAI,oBAAJ,CACtB,UAAC,OAAD;AAAA,iBAAa,MAAK,2BAAL,CAAiC,OAAjC,CAAb;AAAA,SADsB,EAEtB,wBAFsB,CAAxB;AAIA,cAAK,cAAL,GAAsB,IAAI,oBAAJ,CACpB;AAAA;AAAA,cAAE,KAAF;;AAAA,iBAAa,MAAK,4BAAL,CAAkC,KAAlC,CAAb;AAAA,SADoB,EAEpB,qBAFoB,CAAtB;AAIA,gBAAQ,CACL,gBADH,CACoB,kBADpB,EAEG,OAFH,CAEW,UAAC,IAAD;AAAA,iBAAW,IAAY,CAAC,SAAb,CAAuB,IAAvB,MAAiC,MAAK,gBAAL,CAAsB,OAAtB,CAA8B,IAA9B,CAA5C;AAAA,SAFX;;AAGA,cAAK,cAAL,CAAoB,OAApB,CAA4B,QAAQ,CAAC,aAAT,CAAuB,2CAAvB,CAA5B;AACD;AACF,KApCD;;AAsCA,yCAA+B,UAAC,KAAD,EAAqC;AAClE,UAAI,oBAAJ,EAA0B;AAAA,YAChB,cADgB,GACG,MAAK,KADR,CAChB,cADgB;AAExB,YAAM,QAAQ,GAAG,cAAc,KAAK,WAAnB,IAAkC,cAAc,KAAK,WAAtE;AACA,YAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,oCAAvB,CAAtB;AACA,YAAM,mBAAmB,GAAG,QAAQ,CAAC,aAAT,CAAuB,wBAAvB,CAA5B,CAJwB,CAMxB;;AACA,YAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,cAAP,IAAyB,KAAK,CAAC,kBAAN,CAAyB,GAAzB,GAA+B,CAAzE;;AACA,cAAK,QAAL,CAAc;AAAE,sBAAY,EAAE;AAAhB,SAAd,EARwB,CASxB;;;AACA,aAAK,CAAC,MAAN,CAAa,SAAb,CAAuB,MAAvB,CAA8B,UAA9B,EAA0C,QAA1C;;AAEA,YAAI,CAAC,QAAD,IAAa,aAAjB,EAAgC;AAC9B,uBAAa,CAAC,SAAd,CAAwB,MAAxB,CAA+B,YAA/B,EAA6C,QAA7C;AACD;;AAED,YAAI,mBAAJ,EAAyB;AACvB,6BAAmB,CAAC,KAApB,CAA0B,OAA1B,GAAoC,QAAQ,GAAG,OAAH,GAAa,MAAzD;AACD;AACF;AACF,KArBD;;AAuBA,wCAA8B,UAAC,OAAD,EAAyC;AACrE;AACA,UAAI,MAAK,eAAT,EAA0B,CACxB;AACD;;AACD,UAAM,gBAAgB,GAAG,MAAM,CAAC,WAAP,GAAqB,CAA9C;AACA,UAAM,eAAe,GAAG,OAAO,CAC5B,MADqB,CACd,UAAC,KAAD;AAAA,eAAW,KAAK,CAAC,cAAN,IAAwB,CAAC,CAAE,KAAK,CAAC,MAAN,CAAqB,SAArB,CAA+B,IAA/B,EAAtC;AAAA,OADc,EAErB,IAFqB,CAEhB,UAAC,CAAD,EAAI,CAAJ;AAAA,eAAU,CAAC,CAAC,kBAAF,CAAqB,GAArB,GAA2B,CAAC,CAAC,kBAAF,CAAqB,GAA1D;AAAA,OAFgB,CAAxB,CANqE,CAUxE;AACA;AACC;AACA;AACD;AACE;AACF;AACA;;AAEG,UAAI,eAAe,CAAC,MAAhB,GAAyB,CAA7B,EAAgC;AAC9B,YAAM,QAAQ,GAAG,eAAe,CAAC,CAAD,CAAhC;AACA,YAAM,OAAO,GAAG,QAAQ,CAAC,MAAzB,CAF8B,CAG9B;;AAEA,YAAI,OAAO,CAAC,SAAR,CAAkB,QAAlB,CAA2B,YAA3B,KAA4C,OAAO,CAAC,SAAR,CAAkB,QAAlB,CAA2B,+BAA3B,CAAhD,EAA6G;AAC3G,iBAAO,CAAC,SAAR,CAAkB,MAAlB,CAAyB,UAAzB,EAAqC,QAAQ,CAAC,iBAAT,GAA6B,CAAlE;AACD;;AAED,YAAM,QAAQ,GAAG,OAAO,CAAC,SAAR,CAAkB,IAAlB,EAAjB;;AACA,YAAM,KAAK,GAAG,MAAK,KAAL,CAAW,QAAX,CAAoB,SAApB,CAA8B,UAAC,OAAD;AAAA,iBAAa,OAAO,KAAK,QAAzB;AAAA,SAA9B,CAAd,CAV8B,CAW9B;;;AACA,cAAK,mCAAL,CAAyC,KAAzC;AACD;AACF,KAjCD;;AAmCA,sCAA4B,UAAC,QAAD,EAA8C;AACxE,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,MAA7B,EAAqC,CAAC,EAAtC,EAA0C;AACxC,YAAM,OAAO,GAAG,QAAQ,CAAC,CAAD,CAAxB;;AACA,YAAI,CAAE,OAAe,CAAC,SAAhB,CAA0B,IAA1B,EAAN,EAAwC;AACtC;AACD;;AACD,YAAI,MAAK,mBAAL,CAAyB,OAAzB,CAAJ,EAAuC;AACrC,iBAAO,OAAP;AACD;AACF;AACF,KAVD;;AAYA,gCAAsB,UAAC,OAAD,EAAqB;AACzC,UAAI,CAAC,OAAL,EAAc,OAAO,KAAP;AACd,UAAI,MAAM,OAAO,CAAC,QAAlB,EAA4B,OAAO,KAAP;AAE5B,UAAI,IAAI,GAAG,QAAQ,CAAC,eAApB;;AAJyC,kCAKN,OAAO,CAAC,qBAAR,EALM;AAAA,UAKnC,MALmC,yBAKnC,MALmC;AAAA,UAK3B,IAL2B,yBAK3B,IAL2B;AAAA,UAKrB,KALqB,yBAKrB,KALqB;AAAA,UAKd,GALc,yBAKd,GALc;;AAOzC,aAAO,MAAM,IAAI,CAAV,IAAe,KAAK,IAAI,CAAxB,IAA6B,IAAI,IAAI,IAAI,CAAC,WAA1C,IAAyD,GAAG,GAAG,MAAK,aAAX,IAA4B,IAAI,CAAC,YAAjG;AACD,KARD;;AAUA,+BAAqB,UAAC,YAAD,EAAyB;AAAA,wBACF,MAAK,KADH;AAAA,UACpC,mBADoC,eACpC,mBADoC;AAAA,UACf,QADe,eACf,QADe;AAAA,UAEpC,cAFoC,GAEjB,MAAK,KAFY,CAEpC,cAFoC;;AAAA,kCAG5B,MAAK,aAAL,CAAmB,YAAnB,EAAiC,qBAAjC,EAH4B;AAAA,UAGpC,GAHoC,yBAGpC,GAHoC;;AAI5C,UAAM,QAAQ,GAAG,cAAc,KAAK,WAAnB,IAAkC,cAAc,KAAK,WAAtE;AAEA,UAAM,CAAC,GACL,MAAM,CAAC,OAAP,GACA,GADA,GAEA,MAAK,aAFL,GAGA,MAAK,sBAHL,IAIC,QAAQ,KAAK,CAAC,mBAAD,IAAwB,CAAC,YAA9B,CAAR,GAAsD,MAAK,sBAA3D,GAAoF,CAJrF,KAKC,CAAC,QAAD,KAAc,CAAC,mBAAD,IAAwB,CAAC,YAAvC,IAAuD,MAAK,sBAAL,GAA8B,CAArF,GAAyF,CAL1F,CADF;AAOA,YAAK,eAAL,GAAuB,IAAvB;AACA,gBAAU,CAAC,YAAK;AACd,cAAK,eAAL,GAAuB,KAAvB;AACD,OAFS,EAEP,GAFO,CAAV,CAd4C,CAiB5C;;AACA,YAAM,CAAC,QAAP,CAAgB;AAAE,WAAG,EAAE,QAAQ,GAAG,CAAC,GAAG,EAAP,GAAY,CAA3B;AAA8B,gBAAQ,EAAE;AAAxC,OAAhB;;AAEA,UAAM,WAAW,GAAG,SAAd,WAAc,GAAK;AACvB,cAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,WAArC;;AACA,cAAK,QAAL,CAAc;AAAE,6BAAmB,EAAE;AAAvB,SAAd;AACD,OAHD;;AAIA,YAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,WAAlC;;AACA,YAAK,0BAAL,2BAAmD,MAAK,KAAL,CAAW,YAAX,GAA0B,+BAA1B,GAA4D,6BAA/G,2CAA6K,QAAQ,CAAC,YAAD,CAArL,GAAuM,cAAvM,EAzB4C,CA0B5C;;AACD,KA3BD;;AA4BA,uCAA6B,UAAC,IAAD,EAAO,cAAP,EAAyB;AACpD,UAAI,cAAc,KAAK,WAAnB,IAAkC,OAAO,MAAP,IAAiB,WAAvD,EAAmE;AACjE,YAAG,MAAM,CAAC,MAAP,IAAkB,MAAM,CAAC,MAAP,CAAc,eAAnC,EAAmD;AACjD,gBAAM,CAAC,MAAP,CAAc,eAAd,CAA8B,cAA9B,CAA6C,WAA7C,CAAyD,IAAzD;AACD;;AACD,YAAG,MAAM,CAAC,OAAV,EAAkB;AAChB,gBAAM,CAAC,OAAP,CAAe,cAAf,CAA8B,IAA9B;AACD;AACF;AACF,KATD;;AAUA,gDAAsC,UAAC,KAAD,EAAkB;AACtD,UAAM,YAAY,GAAG,MAAK,kBAAL,EAArB;;AACA,UAAI,YAAY,GAAG,CAAnB;;AACA,UAAI,YAAY,GAAG,CAAnB,EAAsB;AACpB,oBAAY,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,YAAnB,CAAf;AACD;;AACD,UAAM,iBAAiB,GAAG,QAAQ,CAAC,gBAAT,CAA0B,eAA1B,CAA1B;AACA,UAAM,WAAW,GAAG,iBAAiB,CAAC,KAAD,CAArC;AACA,UAAM,SAAS,GAAG,QAAQ,CAAC,aAAT,CAAuB,qBAAvB,CAAlB;;AAEA,UAAI,CAAC,WAAL,EAAkB;AAChB;AACD;;AAED,YAAK,QAAL,CAAc;AAAE,2BAAmB,EAAE,KAAvB;AAA8B,qBAAa,EAAE;AAA7C,OAAd,EAA2E,YAAK;AAC9E,YAAM,aAAa,GAAG,SAAS,CAAC,qBAAV,EAAtB;AACA,YAAM,eAAe,GAAG,WAAW,CAAC,qBAAZ,EAAxB;AACA,YAAM,YAAY,GAChB,eAAe,CAAC,IAAhB,GACA,SAAS,CAAC,UADV,GAEA,aAAa,CAAC,IAFd,GAGA,aAAa,CAAC,KAAd,GAAsB,CAHtB,GAIA,eAAe,CAAC,KAAhB,GAAwB,CAL1B;AAMA,iBAAS,CAAC,QAAV,CAAmB;AAAE,aAAG,EAAE,CAAP;AAAU,cAAI,EAAE,YAAhB;AAA8B,kBAAQ,EAAE;AAAxC,SAAnB;AACD,OAVD;AAWD,KAzBD;;AA2BA,6BAAmB,UAAC,GAAD,EAA0B;AAAA,UACnC,aADmC,GACjB,MAAK,KADY,CACnC,aADmC;;AAE3C,UAAM,UAAU,GAAG,MAAK,kBAAL,EAAnB;;AACA,UAAM,SAAS,GAAG,QAAQ,CAAC,aAAT,CAAuB,qBAAvB,CAAlB;AACA,UAAI,QAAQ,GAAG,GAAG,KAAK,MAAR,GAAiB,aAAa,GAAG,CAAjC,GAAqC,aAAa,GAAG,CAApE;AAEA,UAAI,QAAQ,GAAG,CAAf,EAAkB,QAAQ,GAAG,CAAX;AAClB,UAAI,QAAQ,IAAI,UAAU,GAAG,CAA7B,EAAgC,QAAQ,GAAG,UAAU,GAAG,CAAxB;;AAEhC,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd,EAA2C,YAAK;AAC9C,iBAAS,CAAC,UAAV,GAAuB,CAAC,CAAD,IAAM,SAAS,CAAC,WAAV,GAAwB,QAA9B,CAAvB;AACD,OAFD;AAGD,KAZD;;AAcA,kCAAwB,UAAC,GAAD,EAA0B;AAAA,UACxC,aADwC,GACtB,MAAK,KADiB,CACxC,aADwC;;AAEhD,UAAM,UAAU,GAAG,MAAK,kBAAL,EAAnB;;AACA,UAAM,eAAe,GAAG,QAAQ,CAAC,aAAT,CAAuB,gCAAvB,CAAxB;AACA,UAAM,UAAU,GAAG,QAAQ,CAAC,gBAAT,CAA0B,eAA1B,EAA2C,MAA9D;AACA,UAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAT,CAA0B,eAA1B,EAA2C,UAAU,GAAG,CAAxD,CAAjB;AACA,UAAM,SAAS,GAAG,QAAQ,CAAC,gBAAT,CAA0B,eAA1B,EAA2C,CAA3C,CAAlB,CANgD,CAOhD;;AACA,UAAM,yBAAyB,GAAG,eAAe,IAAI,eAAe,CAAC,qBAAhB,GAAwC,CAA7F;AACA,UAAM,iBAAiB,GAAG,SAAS,IAAI,SAAS,CAAC,qBAAV,GAAkC,KAAzE;AACA,UAAM,cAAc,GAAG,eAAe,IAAI,eAAe,CAAC,qBAAhB,GAAwC,KAAlF,CAVgD,CAWhD;;AACA,UAAM,kBAAkB,GAAG,QAAQ,IAAI,QAAQ,CAAC,qBAAT,GAAiC,CAAxE;;AACA,UAAI,GAAG,KAAK,MAAR,IAAkB,kBAAkB,GAAG,EAArB,GAA0B,yBAAhD,EAA2E;AACzE,eAAO,IAAP;AACD;;AACD,UAAI,GAAG,KAAK,OAAR,IAAmB,iBAAiB,GAAG,cAAc,GAAG,EAA5D,EAAgE;AAC9D,eAAO,IAAP;AACD;;AACD,aAAO,KAAP;AACD,KApBD;;AA5UE,UAAK,KAAL,GAAa;AACX,cAAQ,EAAE,EADC;AAEX,mBAAa,EAAE,CAAC,CAFL;AAGX,yBAAmB,EAAE,CAAC,CAHX;AAIX,kBAAY,EAAE;AAJH,KAAb;AAFmD;AAQpD;;;;wCAEgB;AACf,WAAK,sBAAL;AACA,WAAK,YAAL;AACA,WAAK,YAAL;AACA,WAAK,sBAAL,GAA8B,QAAQ,CAAC,aAAT,CAAuB,gCAAvB,EAAyD,YAAvF;AACA,WAAK,iBAAL;AACA,WAAK,UAAL;AACD;;;2CAGmB;AAClB,UAAI,KAAK,gBAAT,EAA2B;AACzB,aAAK,gBAAL,CAAsB,UAAtB;AACD;;AACD,UAAI,KAAK,cAAT,EAAyB;AACvB,aAAK,cAAL,CAAoB,UAApB;AACD;;AACD,UAAI,KAAK,cAAT,EAAyB;AACvB,aAAK,cAAL,CAAoB,UAApB;AACD;AACF;;;uCAEkB,S,EAA+C,S,EAA6C;AAC7G,UAAI,SAAS,CAAC,QAAV,KAAuB,KAAK,KAAL,CAAW,QAAlC,IAA8C,SAAS,CAAC,aAAV,KAA4B,KAAK,KAAL,CAAW,aAArF,IAAsG,SAAS,CAAC,mBAAV,KAAkC,KAAK,KAAL,CAAW,mBAAvJ,EAA4K;AAC1K,aAAK,WAAL;AACD;AACF;;;iCACS;AAAA;;AACR,UAAM,UAAU,GAAG,QAAQ,CAAC,IAA5B,CADQ,CAC0B;;AAElC,UAAM,MAAM,GAAG;AACb,iBAAS,EAAE,IADE;AAEb,eAAO,EAAE,IAFI,CAEK;;AAFL,OAAf;AAKA,WAAK,cAAL,GAAsB,IAAI,gBAAJ,CAAqB,UAAC,aAAD,EAAkB;AAC3D,qBAAa,CAAC,OAAd,CAAsB,UAAC,QAAD,EAAa;AACjC,cAAI,QAAQ,CAAC,IAAT,KAAkB,WAAtB,EAAmC;AACjC,gBAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,wBAAvB,CAAtB;;AACA,gBAAI,aAAJ,EAAmB;AAClB;AACC,sBAAQ,CAAC;AAAA,uBAAM,MAAI,CAAC,iBAAL,EAAN;AAAA,eAAD,EAAiC,GAAjC,CAAR;AACD;AACF;AACF,SARD;AASD,OAVqB,CAAtB;AAYA,WAAK,cAAL,CAAoB,OAApB,CAA4B,UAA5B,EAAwC,MAAxC;AACD;;;6BA0SK;AAAA;;AAAA,yBACoD,KAAK,KADzD;AAAA,UACI,QADJ,gBACI,QADJ;AAAA,UACc,mBADd,gBACc,mBADd;AAAA,UACmC,YADnC,gBACmC,YADnC;AAAA,UAEI,cAFJ,GAEuB,KAAK,KAF5B,CAEI,cAFJ;AAGJ,UAAM,YAAY,GAAG,QAAQ,CAAC,GAAT,CAAa,UAAC,OAAD,EAAU,KAAV;AAAA,eAAqB;AACrD,aAAG,EAAE,KADgD;AAErD,mBAAS,EAAE,UAAU,CAAC,cAAD,EAAiB;AAAE,oBAAQ,EAAE,KAAK,KAAK;AAAtB,WAAjB,CAFgC;AAGrD,aAAG,EAAE,aAAC,KAAD,EAAQ;AACX,kBAAI,CAAC,WAAL,CAAiB,KAAjB,IAA0B,KAA1B;AACD,WALoD;AAMrD,iBAAO,EAAE;AAAA,mBAAM,MAAI,CAAC,kBAAL,CAAwB,KAAxB,CAAN;AAAA;AAN4C,WAQpD,OARoD,CAArB;AAAA,OAAb,CAArB;AAYA,aACE;AAAK,iBAAS,0CAAmC,YAAY,CAAC,MAAb,GAAsB,CAAtB,GAA0B,EAA1B,GAA+B,YAAlE;AAAd,SACE;AAAK,iBAAS,EAAC;AAAf,SAEG,CAAC,CAAC,YAAY,CAAC,MAAf,IACC;AAAK,iBAAS,EAAC,YAAf;AAA4B,aAAK,EAAE;AAAE,iBAAO,EAAE,KAAK,qBAAL,CAA2B,OAA3B,IAAsC,MAAtC,GAA+C;AAA1D;AAAnC,SACE;AAAK,iBAAS,EAAC,YAAf;AAA4B,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,gBAAL,CAAsB,OAAtB,CAAN;AAAA;AAArC,QADF,CAHJ,EAQG,YARH,EAUG,CAAC,CAAC,YAAY,CAAC,MAAf,IACC;AAAK,iBAAS,EAAC,qBAAf;AAAqC,aAAK,EAAE;AAAE,iBAAO,EAAE,KAAK,qBAAL,CAA2B,MAA3B,IAAqC,MAArC,GAA8C;AAAzD;AAA5C,SACE;AAAK,iBAAS,EAAC,YAAf;AAA4B,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,gBAAL,CAAsB,MAAtB,CAAN;AAAA;AAArC,QADF,CAXJ,CADF,CADF;AAoBD;;;;EApZ6C,KAAK,CAAC,S;;AAItC,4CAAiB,4BAAjB;AAJhB,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICfa,mB;;;;;AAAb;AAAA;;AAAA;;;;AAEY,iCAAuB,YAAK;AAChC,YAAM,aAAN,IAAuB,MAAM,aAAN,CAAoB,WAApB,EAAvB;AACA,YAAM,aAAN,IAAuB,MAAM,aAAN,QAAvB,IAAsD,MAAM,aAAN,SAA4B,QAA5B,EAAtD;AACH,KAHO;;AAFZ;AAYC;;;;6BALS;AACF,aACI;AAAQ,iBAAS,EAAC,sBAAlB;AAAyC,eAAO,EAAE,KAAK,oBAAvD;AAA6E,UAAE,EAAC,mBAAhF;AAAoG,aAAK,EAAC,6CAA1G;AAAoH,2BAAiB,eAArI;AAAqJ,iBAAS,EAAC;AAA/J,QADJ;AAGH;;;;EAXoC,KAAK,CAAC,S;;AAC7B,qCAAiB,qBAAjB;AADlB,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;AAcA,IAAM,WAAW,GAAG,CAApB;AACA,IAAM,aAAa,GAAG,CAAtB;AACA,IAAM,uBAAuB,GAAG,CAAhC;AACA,IAAM,kBAAkB,GAAG,CAA3B;;IAEa,e;;;;;AAET,2BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,yFAAM,KAAN;;AAiBI,2BAAiB,YAAK;AAC1B,aAAO,CAAC,GAAR,CAAY,wBAAZ,EAD0B,CAE1B;;AAF0B,UAGlB,UAHkB,GAGH,MAAK,KAHF,CAGlB,UAHkB;AAK1B,UAAM,KAAK,GAAG,QAAQ,CAAC,gBAAT,CAA0B,qBAA1B,CAAd;AACA,WAAK,CAAC,OAAN,CAAc,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC1B,YAAI,KAAK,GAAG,UAAZ,EAAwB;AACpB,cAAI,CAAC,SAAL,CAAe,GAAf,CAAmB,QAAnB;AACH,SAFD,MAEO;AACH,cAAI,CAAC,SAAL,CAAe,MAAf,CAAsB,QAAtB;AACH;AACJ,OAND;AAOH,KAbO;;AAeA,yBAAe,YAAK;AACxB,UAAI,MAAM,CAAC,QAAP,CAAgB,IAAhB,CAAqB,QAArB,CAA8B,GAA9B,CAAJ,EAAwC;;AAExC,UAAI,oBAAJ,EAA0B;AACtB,cAAK,oBAAL,GAA4B,IAAI,oBAAJ,CAAyB,UAAC,OAAD,EAAY;AAC7D,iBAAO,CAAC,OAAR,CAAgB,UAAC,KAAD,EAAU;AACtB,kBAAK,eAAL,CAAqB,KAAK,CAAC,cAA3B;AACH,WAFD;AAGH,SAJ2B,CAA5B;AAKH;;AACD,YAAK,sBAAL;;AACA,YAAK,cAAL;AACH,KAZO;;AAcA,mCAAyB,YAAK;AAClC,UAAM,KAAK,GAAG,QAAQ,CAAC,gBAAT,CAA0B,qBAA1B,CAAd;AADkC,UAE1B,UAF0B,GAEX,MAAK,KAFM,CAE1B,UAF0B;;AAIlC,UAAI,KAAK,CAAC,MAAN,GAAe,UAAnB,EAA+B;AAC3B,eAAO,CAAC,GAAR,CAAY,2BAAZ;;AACA,cAAK,oBAAL,CAA0B,OAA1B,CACI,QAAQ,CAAC,gBAAT,CAA0B,qBAA1B,EAAiD,UAAU,GAAG,aAA9D,CADJ;AAGH;AACJ,KAVO;;AAYA,4BAAkB,UAAC,cAAD,EAA4B;AAAA,UAC1C,UAD0C,GAC3B,MAAK,KADsB,CAC1C,UAD0C;;AAElD,UAAI,cAAJ,EAAoB;AAChB,eAAO,CAAC,GAAR,CAAY,wBAAZ;;AACA,cAAK,QAAL,CAAc;AAAE,oBAAU,EAAE,UAAU,GAAG;AAA3B,SAAd,EAAwD,YAAK;AAAG,gBAAK,YAAL;AAAsB,SAAtF;AACH;AACJ,KANO;;AAQA,4BAAkB,YAAK;AAC3B,aAAO,CAAC,GAAR,CAAY,yBAAZ;AACA,UAAI,IAAI,GAAG,QAAQ,CAAC,aAAT,CAAuB,mCAAvB,CAAX;AACA,UAAI,KAAK,GAAG,KAAK,CAAC,IAAN,CAAW,IAAI,CAAC,QAAhB,CAAZ;AAEA,WAAK,CAAC,IAAN,CAAW,UAAU,CAAV,EAAa,CAAb,EAAc;AACrB,YAAI,SAAS,GAAQ,CAAC,CAAC,aAAF,CAAgB,WAAhB,MAAiC,IAAtD;AACA,YAAI,SAAS,GAAQ,CAAC,CAAC,aAAF,CAAgB,WAAhB,MAAiC,IAAtD;AACA,eAAO,SAAS,GAAG,SAAnB;AACH,OAJD;AAMA,WAAK,CAAC,OAAN,CAAc,UAAU,IAAV,EAAc;AACxB,YAAI,CAAC,WAAL,CAAiB,IAAjB;AACH,OAFD;AAGH,KAdO;;AAgBA,+BAAqB,YAAK;AAC9B,aAAO,CAAC,GAAR,CAAY,2BAAZ;AACA,cAAQ,CAAC,gBAAT,CAA0B,OAA1B,EAAmC,UAAC,CAAD;AAAA,eAAO,MAAK,qBAAL,CAA2B,CAA3B,CAAP;AAAA,OAAnC;AACH,KAHO,CAnFS,CAuFf;;;AACQ,8BAAkB,UAAC,IAAD,EAAQ;AAC5B,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,MAAM,CAAC,OAA3C,EAAoD;AAChD,cAAM,CAAC,OAAP,CAAe,iBAAf,CAAiC,IAAjC;AACH;;AACL,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,MAAM,CAAC,MAAvC,IAAiD,MAAM,CAAC,MAAP,CAAc,eAAnE,EAAoF;AAChF,cAAM,CAAC,MAAP,CAAc,eAAd,CAA8B,iBAA9B,CAAgD,WAAhD,CAA4D,IAA5D;AACH;AACJ,KAPS;;AASF,2BAAiB,YAAK;AAAA,UAClB,QADkB,GACL,MAAK,KADA,CAClB,QADkB;AAE1B,UAAM,WAAW,GAAG,QAAQ,KAAK,WAAb,GAA2B,uBAA3B,GAAqD,kBAAzE;AAEA,aAAO,CAAC,GAAR,CAAY,uBAAZ;AACA,cAAQ,CACH,gBADL,CACsB,kCADtB,EAEK,OAFL,CAEa,UAAC,WAAD,EAAgB;AACrB,YAAM,cAAc,GAAG,WAAW,CAAC,aAAZ,CAA0B,2BAA1B,CAAvB;AAEA,YAAI,CAAC,cAAL,EAAqB,OAHA,CAKrB;;AACA,YAAM,sBAAsB,GAAG,cAAc,CAAC,QAA9C;AAEA,YAAI,CAAC,sBAAL,EAA6B;AAE7B,YAAI,eAAJ;AACA,YAAI,kBAAkB,GAAG,WAAW,CAAC,aAAZ,CAA0B,kBAA1B,CAAzB,CAXqB,CAarB;;AACA,YAAM,oBAAoB,GAAG,WAAW,CAAC,aAAZ,CAA0B,qCAA1B,CAA7B;;AAEA,YAAI,oBAAJ,EAA0B;AACtB;AACA,cAAM,yBAAyB,GAAG,KAAK,CAClC,IAD6B,CACxB,sBADwB,EAE7B,SAF6B,CAEnB,UAAC,KAAD;AAAA,mBAAW,KAAK,CAAC,QAAN,CAAe,oBAAf,CAAX;AAAA,WAFmB,CAAlC;AAIA,yBAAe,GAAG,KAAK,CAClB,IADa,CACR,sBADQ,EAEb,KAFa,CAEP,yBAAyB,GAAG,CAFrB,EAEwB,sBAAsB,CAAC,MAF/C,CAAlB;AAGH,SATD,CAWA;AAXA,aAYK,IAAI,sBAAsB,CAAC,MAAvB,GAAgC,WAApC,EAAiD;AAClD,2BAAe,GAAG,KAAK,CAClB,IADa,CACR,sBADQ,EAEb,KAFa,CAEP,WAFO,EAEM,sBAAsB,CAAC,MAF7B,CAAlB;AAGH;;AAED,YAAI,CAAC,kBAAL,EAAyB;AACrB,4BAAkB,GAAG,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAArB;AACA,4BAAkB,CAAC,SAAnB,CAA6B,GAA7B,CAAiC,iBAAjC;AACA,4BAAkB,CAAC,SAAnB,CAA6B,GAA7B,CAAiC,eAAjC;;AAEA,cAAI,eAAJ,EAAqB;AAAA;;AACjB,qDAAkB,EAAC,MAAnB,+CAA8B,KAAK,CAAC,IAAN,CAAW,eAAX,CAA9B;AACH;;AAED,wBAAc,CAAC,MAAf,CAAsB,kBAAtB;;AAEA,cAAI,CAAC,eAAL,EAAsB;AAClB;AACC,uBAAW,CAAC,aAAZ,CAA0B,2BAA1B,EAA+D,KAA/D,CAAqE,OAArE,GAA+E,MAA/E;AACJ;AACJ;;AAGD,YAAM,MAAM,GAAG,WAAW,CAAC,aAAZ,CAA0B,2BAA1B,CAAf;AACA,YAAM,aAAa,GAAG,WAAW,CAAC,aAAZ,CAA0B,6CAA1B,CAAtB;AACA,YAAM,WAAW,GAAG,WAAW,CAAC,aAAZ,CAA0B,4CAA1B,CAApB;AACA,YAAI,CAAC,MAAL,EAAa;AAEb,cAAM,CAAC,gBAAP,CAAwB,OAAxB,EAAiC,YAAK;AAClC,cAAM,kBAAkB,GAAG,WAAW,CAAC,aAAZ,CAA0B,kBAA1B,CAA3B;AAEA,cAAI,CAAC,kBAAL,EAAyB;AAEzB,4BAAkB,CAAC,SAAnB,CAA6B,MAA7B,CAAoC,eAApC;;AAEA,cAAI,aAAa,CAAC,SAAd,KAA4B,MAAhC,EAAwC;AACpC,kBAAK,iBAAL,CAAuB,UAAvB;;AACA,gBAAI,QAAQ,KAAK,WAAjB,EAA8B;AAC1B,2BAAa,CAAC,SAAd,GAA0B,MAA1B;AACH,aAFD,MAEO;AACH,2BAAa,CAAC,SAAd,GAA0B,aAA1B;AACH;;AAED,uBAAW,CAAC,SAAZ,CAAsB,MAAtB,CAA6B,IAA7B;AACH,WATD,MASO;AACH,kBAAK,iBAAL,CAAuB,QAAvB;;AACA,yBAAa,CAAC,SAAd,GAA0B,MAA1B;AACA,uBAAW,CAAC,SAAZ,CAAsB,MAAtB,CAA6B,IAA7B;AACH;;AACD,gBAAM,CAAC,SAAP,CAAiB,MAAjB,CAAwB,QAAxB;AACH,SAtBD;AAuBH,OAlFL;AAmFH,KAxFO;;AA0FA,+BAAqB,YAAK;AAC9B,aAAO,CAAC,GAAR,CAAY,4BAAZ;AACA,UAAM,WAAW,GACb,QAAQ,CAAC,aAAT,yDAEA,QAAQ,CAAC,aAAT,wDAHJ;AAIA,UAAM,KAAK,GAAG,WAAW,CAAC,QAA1B;AACA,UAAM,UAAU,GAAG,KAAK,CAAC,IAAN,CAAW,KAAX,CAAnB;AACA,UAAM,kBAAkB,GAAG,UAAU,CAAC,OAAX,EAA3B;AAEA,wBAAkB,CAAC,OAAnB,CAA2B,UAAC,IAAD,EAAS;AAChC;AACA,YAAM,uBAAuB,GAAG,IAAI,CAAC,gBAAL,CAAsB,WAAtB,CAAhC;;AACA,YAAI,uBAAuB,CAAC,MAAxB,KAAmC,CAAvC,EAA0C;AACtC,qBAAW,CAAC,WAAZ,CAAwB,IAAxB;AACH;AACJ,OAND;AAOH,KAjBO;;AAmBA,yBAAe,YAAK;AACxB,aAAO,CAAC,GAAR,CAAY,oBAAZ;AADwB,UAEhB,cAFgB,GAEG,MAAK,KAFR,CAEhB,cAFgB;;AAGxB,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,CAAC;AAAnB,OAAd,EAAmD;AAAA,eAAM,MAAK,kBAAL,EAAN;AAAA,OAAnD;AACH,KAJO;;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAkB,iBAAO,WAAP,EAA4B,MAA5B,EAA4C,SAA5C;AAAA;AAAA;AAAA;AAAA;AAAA;AACtB,uBAAO,CAAC,GAAR,CAAY,yBAAZ;AACQ,qBAFc,GAEJ,MAAK,KAFD,CAEd,KAFc;AAGhB,yBAHgB,GAGJ;AAAE,qBAAG,EAAE,WAAW,GAAG,GAAd,GAAoB,MAA3B;AAAmC,uBAAK,EAAE;AAA1C,iBAHI;;AAAA,qBAKlB,KALkB;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA,uBAUR,SAAS,CAAC,KAAV,CAAgB,SAAhB,CAVQ;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAYd,uBAAO,CAAC,GAAR,CAAY,6BAAZ;;AAZc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAlB;;AAAA;AAAA;AAAA;AAAA;;AAgBA,mCAAyB,YAAK;AAClC,aAAO,CAAC,GAAR,CAAY,kCAAZ;AADkC,UAE1B,WAF0B,GAEV,MAAK,KAFK,CAE1B,WAF0B;AAGlC,UAAM,GAAG,GAAG,WAAW,CAAC,aAAxB;AACA,UAAI,CAAC,GAAL,EAAU;AACV,eAAS,CAAC,SAAV,CAAoB,SAApB,WAAiC,GAAjC;;AACA,YAAK,oBAAL;AACH,KAPO;;AASA,iCAAuB,YAAK;AAChC,aAAO,CAAC,GAAR,CAAY,+BAAZ;;AACA,YAAK,QAAL,CAAc;AAAE,4BAAoB,EAAE;AAAxB,OAAd;;AACA,gBAAU,CAAC,YAAK;AACZ,cAAK,QAAL,CAAc;AAAE,8BAAoB,EAAE;AAAxB,SAAd;AACH,OAFS,EAEP,IAFO,CAAV;AAGH,KANO;;AAQA,kCAAwB,UAAC,KAAD,EAAsB;AAClD,aAAO,CAAC,GAAR,CAAY,gCAAZ;AACA,UAAM,WAAW,GAAG,KAAK,CAAC,MAA1B;AACA,UAAI,MAAJ;;AAEA,UAAI,WAAW,CAAC,SAAZ,CAAsB,QAAtB,CAA+B,gBAA/B,CAAJ,EAAsD;AAClD,cAAM,GAAG,QAAT;AACH,OAFD,MAEO;AACH,cAAM,GAAG,WAAW,CAAC,SAAZ,CAAsB,WAAW,CAAC,SAAZ,CAAsB,MAAtB,GAA+B,CAArD,CAAT;AACH;;AAED,UAAI,MAAM,KAAK,MAAf,EAAuB;AACnB;AACA;AACH;;AAED,UAAI,CAAC,WAAW,CAAC,SAAZ,CAAsB,QAAtB,CAA+B,aAA/B,CAAD,IAAkD,CAAC,WAAW,CAAC,SAAZ,CAAsB,QAAtB,CAA+B,gBAA/B,CAAvD,EAAyG;AACrG;AACH;;AAED,UAAM,eAAe,GAAG,WAAW,CAAC,OAAZ,CAAoB,qBAApB,CAAxB;AACA,UAAM,MAAM,GAAG,eAAe,GAAG,eAAe,CAAC,EAAnB,GAAwB,EAAtD;AACA,UAAM,SAAS,GAAG,eAAe,CAAC,aAAhB,CAA8B,gBAA9B,CAAlB;AACA,UAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC,WAAb,GAA2B,EAA1D;;AAEA,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAI,WAAW,aAAM,QAAQ,CAAC,aAAT,CAAuB,qBAAvB,IAChB,QAAQ,CAAC,aAAT,CAAuB,qBAAvB,EAAkE,IADlD,GAGjB,MAAM,CAAC,QAAP,CAAgB,IAHL,CAAf;AAKA,mBAAW,GAAG,WAAW,CAAC,QAAZ,CAAqB,GAArB,IAA4B,WAAW,CAAC,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAA5B,GAAwD,WAAtE,CAN+B,CAMoD;;AAEnF,YAAI,CAAC,WAAL,EAAkB;;AAElB,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B,EAA/B,EAAmC;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,iBAA9B,EAAiD,aAAjD,CAAN;AAAA,aAAnC,EAA0G,iBAA1G,EAA6H,MAA7H,EAAqI,MAArI;AACA;;AAEJ,eAAK,IAAL;AACI,4CAAiB,WAAjB,EAA8B;AAAA,qBAAM,iCAAkB,SAAlB,EAA6B,iBAA7B,EAAgD,aAAhD,CAAN;AAAA,aAA9B,EAAoG,iBAApG,EAAuH,MAAvH,EAA+H,MAA/H;AACA;;AAEJ,eAAK,MAAL;AACI,sDAAoB,iBAApB,CAAsC,WAAtC,EAAmD;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,iBAA9B,EAAiD,aAAjD,CAAN;AAAA,aAAnD,EAA0H,iBAA1H,EAA6I,MAA7I,EAAqJ,MAArJ;AACA;;AAEJ,eAAK,MAAL;AACI,8CAAgB,aAAhB,CAA8B,aAA9B,EAA6C,WAA7C,EAA0D,QAA1D,EAAoE;AAAA,qBAAM,iCAAkB,MAAlB,EAA0B,iBAA1B,EAA6C,aAA7C,CAAN;AAAA,aAApE,EAAuI,iBAAvI,EAA0J,MAA1J,EAAkK,MAAlK;AACA;;AAEJ,eAAK,IAAL;AACI;AACA,gBAAM,eAAe,GAAG,QAAQ,CAAC,aAAT,CAAuB,sBAAvB,CAAxB;AACA,gBAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CAAtB;;AAEA,gBAAI,eAAJ,EAAqB;AACjB,wBAAU,CAAC,YAAK;AACZ,+BAAe,CAAC,cAAhB,CAA+B;AAAE,0BAAQ,EAAE,QAAZ;AAAsB,uBAAK,EAAE;AAA7B,iBAA/B;AACH,eAFS,EAEP,CAFO,CAAV;AAGH;;AAED,gBAAI,aAAJ,EAAmB;AACf,4DAAkB,aAAlB;AACH;;AACD;;AAEJ,eAAK,MAAL;AACI,qBAAS,CAAC,SAAV,CAAoB,SAApB,CAA8B,WAAW,GAAG,GAAd,GAAoB,MAAlD;AACA;;AAEJ;AAAS;AACL,kBAAK,eAAL,CAAqB,WAArB,EAAkC,MAAlC,EAA0C,aAA1C;;AAtCR;AAwCH;AACJ,KA5EO;;AAnPJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE,KADP;AAET,gBAAU,EAAE,WAAW,GAAG,CAFjB;AAGT,0BAAoB,EAAE;AAHb,KAAb;AAFa;AAOhB;;;;wCAIgB;AACb,WAAK,eAAL;AACA,WAAK,cAAL;AACA,WAAK,kBAAL;AACA,WAAK,YAAL;AACH;;;6BAmTY;AAAA;;AAAA,UACD,cADC,GACkB,KAAK,KADvB,CACD,cADC;AAAA,UAED,QAFC,GAEY,KAAK,KAFjB,CAED,QAFC;AAIT,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAAkC,iFAAlC,CADJ,EAII;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,KAAK,WAAb,GACG;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,YAAL,EAAN;AAAA;AAAzC,SACI,mCAAQ,cAAc,GAAG,YAAH,GAAkB,YAAxC,CADJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAO,YAAI,EAAC,UAAZ;AAAuB,eAAO,EAAE,CAAC;AAAjC,QADJ,EAGI;AAAM,iBAAS,EAAC;AAAhB,QAHJ,CAHJ,CADH,GAWG,0CACI,iCACI;AAAO,YAAI,EAAC,OAAZ;AAAoB,iBAAS,EAAC,cAA9B;AAA6C,eAAO,EAAE,CAAC,cAAvD;AAAuE,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,YAAL,EAAN;AAAA;AAAhF,QADJ,EAGI,8GAHJ,CADJ,EAOI,iCACI;AAAO,YAAI,EAAC,OAAZ;AAAoB,iBAAS,EAAC,cAA9B;AAA6C,eAAO,EAAE,cAAtD;AAAsE,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,YAAL,EAAN;AAAA;AAA/E,QADJ,EAGI,8GAHJ,CAPJ,CAZR,CAJJ,CADJ;AAkCH;;;;EA3WgC,KAAK,CAAC,S;;AACzB,iCAAiB,iBAAjB;AADlB,0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBA,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AAEA;;AACA;;IAIa,sB;;;;;AAAb;AAAA;;AAAA;;;;AAIY,kCAAwB,UAAC,MAAD,EAAiB,IAAjB,EAAiC;AAAA,UACtD,KADsD,GAC7C,MAAK,KADwC,CACtD,KADsD;;AAE7D,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,WAAW,GAAG,MAAM,CAAC,QAAP,CAAgB,IAApC;;AAEA,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B,EAA/B,EAAmC;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,gBAA9B,EAAgD,KAAhD,CAAN;AAAA,aAAnC,EAAiG,gBAAjG;AACA;;AAEJ,eAAK,IAAL;AACI,4CAAiB,WAAjB,EAA8B;AAAA,qBAAM,iCAAkB,SAAlB,EAA6B,gBAA7B,EAA+C,KAA/C,CAAN;AAAA,aAA9B,EAA2F,gBAA3F;AACA;;AAEJ,eAAK,OAAL;AACI,kBAAM,CAAC,KAAP;AACA;;AAEJ,eAAK,QAAL;AACI,8CAAgB,aAAhB,CAA8B,QAAQ,CAAC,KAAvC,EAA8C,WAA9C,EAA2D,IAA3D,EAAiE;AAAA,qBAAM,iCAAkB,MAAlB,EAA0B,gBAA1B,EAA4C,KAA5C,CAAN;AAAA,aAAjE,EAA2H,gBAA3H;AACA;;AAEJ,eAAK,UAAL;AACI;AACA,gBAAM,aAAa,GAAI,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,EAAyD,KAAzD,EAAvB;AACA,wBAAY,CAAC,YAAK;AACd,sBAAQ,CAAC,aAAT,CAAuB,uBAAvB,EAAgD,cAAhD,CAA+D;AAC3D,wBAAQ,EAAE;AADiD,eAA/D;AAGH,aAJW,CAAZ;AAKA;AAzBR;AA2BH;AACJ,KAjCO;;AAJZ;AAuEC;;;;6BAhCgB;AAAA;;AAAA,wBACe,KAAK,KADpB;AAAA,UACD,KADC,eACD,KADC;AAAA,UACM,IADN,eACM,IADN;AAET,UAAI,cAAc,GAAG,KAAK,GAAG,aAAH,GAAmB,EAA7C;AAEA,aACI;AAAK,iBAAS,wCAAiC,cAAjC;AAAd,SACI,gCACK,KAAK,IAAI;AAAI,iBAAS,EAAC;AAAd,SACN;AAAQ,aAAK,EAAE,oCAAqB,IAArB,EAA2B,SAA3B,CAAf;AACI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,UAA3B,EAAuC,IAAvC,CAAP;AAAA;AADb,SAEI;AAAM,iBAAS,EAAC;AAAhB,QAFJ,EAEqD,oCAAqB,IAArB,EAA2B,SAA3B,CAFrD,CADM,CADd,EAMI;AAAI,iBAAS,EAAC;AAAd,SACI;AAAQ,aAAK,EAAE,oCAAqB,IAArB,EAA2B,QAA3B,CAAf;AACI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,QAA3B,EAAqC,IAArC,CAAP;AAAA;AADb,SAEI;AAAM,iBAAS,EAAC;AAAhB,QAFJ,EAEmD,oCAAqB,IAArB,EAA2B,QAA3B,CAFnD,CADJ,CANJ,EAWI;AAAI,iBAAS,EAAC;AAAd,SACI;AAAQ,aAAK,EAAE,oCAAqB,IAArB,EAA2B,OAA3B,CAAf;AACI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,IAA3B,EAAiC,IAAjC,CAAP;AAAA;AADb,SAEI;AAAM,iBAAS,EAAC;AAAhB,SAAsB,oCAAqB,IAArB,EAA2B,OAA3B,CAAtB,CAFJ,E,QAAA,EAE6E;AAAM,iBAAS,EAAC;AAAhB,QAF7E,CADJ,CAXJ,EAgBI;AAAI,iBAAS,EAAC;AAAd,SACI;AAAQ,aAAK,EAAE,oCAAqB,IAArB,EAA2B,OAA3B,CAAf;AACI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,IAA3B,EAAiC,IAAjC,CAAP;AAAA;AADb,SAC4D;AAAM,iBAAS,EAAC;AAAhB,SAAsB,oCAAqB,IAArB,EAA2B,OAA3B,CAAtB,CAD5D,E,QAAA,EACqI;AAAM,iBAAS,EAAC;AAAhB,QADrI,CADJ,CAhBJ,CADJ,CADJ;AA2BH;;;;EAtEuC,KAAK,CAAC,S;;AAChC,wCAAiB,wBAAjB;AACP,sCAAe;AAAE,MAAI,EAAE;AAAR,CAAf;AAFX,wD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AACA;;IAQa,gC;;;;;AAAb;AAAA;;AAAA;;;;AAGY,kCAAwB,UAAC,MAAD,EAAmB;AAAA,UACxC,KADwC,GAC/B,MAAK,KAD0B,CACxC,KADwC;;AAE/C,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,WAAW,GAAG,MAAM,CAAC,QAAP,CAAgB,IAApC;;AAEA,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B,EAA/B,EAAmC;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,aAA9B,EAA6C,KAA7C,CAAN;AAAA,aAAnC,EAA8F,aAA9F;AACA;;AAEJ,eAAK,IAAL;AACI,4CAAiB,WAAjB,EAA8B;AAAA,qBAAM,iCAAkB,SAAlB,EAA6B,aAA7B,EAA4C,KAA5C,CAAN;AAAA,aAA9B,EAAwF,aAAxF;AACA;;AAEJ,eAAK,QAAL;AACI,8CAAgB,aAAhB,CAA8B,QAAQ,CAAC,KAAvC,EAA8C,WAA9C,EAA2D,IAA3D,EAAiE;AAAA,qBAAM,iCAAkB,MAAlB,EAA0B,aAA1B,EAAyC,KAAzC,CAAN;AAAA,aAAjE,EAAwH,aAAxH;AACA;;AAEJ,eAAK,IAAL;AACI,sDAAoB,iBAApB,CAAsC,WAAtC,EAAmD;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,aAA9B,EAA6C,KAA7C,CAAN;AAAA,aAAnD,EAA8G,aAA9G;AACA;;AAEJ,eAAK,OAAL;AACI,kBAAM,CAAC,KAAP;AACA;;AAEJ,eAAK,IAAL;AACK,oBAAQ,CAAC,aAAT,CAAuB,gBAAvB,EAAyD,KAAzD;AACD,sBAAU,CAAC,YAAK;AACZ,sBAAQ,CAAC,aAAT,CAAuB,uBAAvB,EAAgD,cAAhD,CAA+D;AAC3D,wBAAQ,EAAE;AADiD,eAA/D;AAGH,aAJS,EAIP,CAJO,CAAV;AAKA;AA5BR;AA8BH;AACJ,KApCO;;AAsCA,oCAA0B,YAAK;AAAA,wBACe,MAAK,KADpB;AAAA,UAC3B,kBAD2B,eAC3B,kBAD2B;AAAA,UACP,MADO,eACP,MADO;AAAA,UACC,SADD,eACC,SADD;AAEnC,gFAAmE,kBAAnE,6BAAwG,MAAxG,wBAA4H,SAA5H;AACH,KAHO;;AAKA,6BAAmB,YAAK;AAC5B,UAAM,SAAS,GAAG,MAAM,CAAC,IAAP,CAAY,MAAK,uBAAL,EAAZ,EAA4C,kBAA5C,EAAoE,sBAApE,CAAlB;;AACA,UAAI,MAAM,CAAC,KAAX,EAAkB;AAAE,iBAAS,CAAC,KAAV;AAAmB;;AACvC,aAAO,KAAP;AACH,KAJO;;AA9CZ;AA8EC;;;;6BA1BS;AAAA;;AAAA,UACM,kBADN,GAC6B,KAAK,KADlC,CACM,kBADN;AAEF,UAAM,QAAQ,GAAG,WAAjB;AACA,UAAM,MAAM,GAAG,eAAf;AACA,UAAM,MAAM,GAAG,gBAAf;AACA,UAAM,MAAM,GAAG,eAAf;AACA,UAAM,SAAS,GAAG,MAAlB;AACA,UAAM,WAAW,GAAG,iBAApB;AACA,UAAM,cAAc,GAAG,KAAK,uBAAL,EAAvB;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACM,qBAA6B,CAAC,QAA9B,CAAuC,kBAAvC,IAA6D;AAAQ,iBAAS,EAAC,gBAAlB;AAAmC,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,gBAAL,EAAN;AAAA;AAA5C,SAC3D;AAAM,iBAAS,EAAC;AAAhB,QAD2D,EAE3D;AAAM,iBAAS,EAAC;AAAhB,SAAuB,gEAAvB,CAF2D,CAA7D,GAGU,gCAJhB,EAKI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,aAAK,EAAE,WAAf;AAA4B,iBAAS,EAAC,kBAAtC;AAAyD,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAAnE,QADJ,EAEI;AAAQ,aAAK,EAAE,SAAf;AAA0B,iBAAS,EAAC,qBAApC;AAA0D,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,OAA3B,CAAJ;AAAA;AAApE,QAFJ,EAGI;AAAQ,aAAK,EAAE,QAAf;AAAyB,iBAAS,EAAC,sBAAnC;AAA0D,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,QAA3B,CAAJ;AAAA;AAApE,QAHJ,EAII;AAAQ,aAAK,EAAE,MAAf;AAAuB,iBAAS,EAAC,kBAAjC;AAAoD,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA9D,QAJJ,EAKI;AAAQ,aAAK,EAAE,MAAf;AAAuB,iBAAS,EAAC,kBAAjC;AAAoD,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA9D,QALJ,EAMI;AAAQ,aAAK,EAAE,MAAf;AAAuB,iBAAS,EAAC,kBAAjC;AAAoD,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA9D,QANJ,CALJ,CADJ;AAgBH;;;;EA7EiD,KAAK,CAAC,S;;AACjD,kDAAiB,kCAAjB;AADX;AAgFA,IAAM,qBAAqB,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,GAAV,EAAe,CAAf,EAAkB,GAAlB,EAAuB,IAAvB,EAA6B,GAA7B,EAAkC,IAAlC,EAAwC,IAAxC,EAA8C,GAA9C,EAAmD,GAAnD,EAAwD,GAAxD,EAA6D,GAA7D,EAAkE,IAAlE,EAAwE,GAAxE,EAA6E,CAA7E,EAAgF,IAAhF,EAAsF,IAAtF,EAA4F,IAA5F,EAAkG,IAAlG,EAAwG,IAAxG,EAC1B,IAD0B,EACpB,IADoB,EACd,IADc,EACR,IADQ,EACF,IADE,EACI,IADJ,EACU,IADV,EACgB,IADhB,EACsB,IADtB,EAC4B,IAD5B,EACkC,IADlC,EACwC,IADxC,EAC8C,IAD9C,EACoD,IADpD,EAC0D,IAD1D,EACgE,CADhE,EACmE,CADnE,EACsE,CADtE,EACyE,GADzE,EAC8E,KAD9E,EACqF,GADrF,EAC0F,IAD1F,EACgG,IADhG,EACsG,KADtG,EAE1B,IAF0B,EAEpB,GAFoB,EAEf,GAFe,EAEV,GAFU,EAEL,IAFK,EAEC,IAFD,EAEO,IAFP,EAEa,IAFb,EAEmB,IAFnB,EAEyB,IAFzB,EAE+B,GAF/B,EAEoC,IAFpC,EAE0C,KAF1C,CAA9B,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3FA;;AACA;;AACA;;IAkDa,qB;;;;;AACT,iCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,+FAAM,KAAN;;AAaI,0BAAgB,YAAK;AACzB,YAAK,QAAL,CAAc;AACV,YAAI,EAAE,EADI;AAEV,aAAK,EAAE,EAFG;AAGV,gBAAQ,EAAE,EAHA;AAIV,aAAK,EAAE,EAJG;AAKV,eAAO,EAAE,EALC;AAMV,cAAM,EAAE,KANE;AAOV,uBAAe,EAAE;AAPP,OAAd;AASH,KAVO;;AAYA,2BAAiB,UAAC,CAAD,EAAI,SAAJ,EAAyB;AAC9C,UAAM,UAAU,GAAG,CAAC,CAAC,MAAF,CAAS,KAA5B;;AACA,YAAK,QAAL,qBAAiB,SAAjB,EAA6B,UAA7B;AACH,KAHO;;AAKA,8BAAoB,YAAK;AAAA,wBAC2C,MAAK,KADhD;AAAA,UACrB,SADqB,eACrB,SADqB;AAAA,UACV,gBADU,eACV,gBADU;AAAA,UACQ,QADR,eACQ,QADR;AAAA,UACkB,IADlB,eACkB,IADlB;AAAA,UACwB,cADxB,eACwB,cADxB;AAAA,wBAEqB,MAAK,KAF1B;AAAA,UAErB,KAFqB,eAErB,KAFqB;AAAA,UAEd,IAFc,eAEd,IAFc;AAAA,UAER,KAFQ,eAER,KAFQ;AAAA,UAED,QAFC,eAED,QAFC;AAAA,UAES,OAFT,eAES,OAFT;;AAI7B,UAAI,KAAK,CAAC,MAAN,GAAe,CAAnB,EAAsB;AAClB,YAAM,QAAQ,GAAG;AACb,wBAAc,EAAE,KADH;AAEb,0BAAgB,EAAE,OAFL;AAGb,qBAAW,EAAE,IAHA;AAIb,sBAAY,EAAE,KAJD;AAKb,yBAAe,EAAE,QALJ;AAMb,oBAAU,EAAE,SANC;AAOb,4BAAkB,EAAE,QAAQ,KAAK,OAAb,GAAuB,gBAAvB,GAA0C,EAPjD;AAQb,yBAAe,EAAE;AARJ,SAAjB;AAUA,yCAAkB,SAAlB,EAA6B,cAA7B,EAA6C,KAA7C;AACA,aAAK,CAAC,IAAN,mCAA6C,QAA7C;;AACA,cAAK,QAAL,CAAc;AAAE,gBAAM,EAAE;AAAV,SAAd;AACH,OAdD,MAeK;AACD,yCAAkB,MAAlB,EAA0B,cAA1B,EAA0C,KAA1C;AACA,aAAK,CAAC,8BAAe,IAAf,EAAqB,sBAArB,CAAD,CAAL;AACH;AACJ,KAvBO;;AAyBA,8BAAoB,YAAK;AAAA,yBACM,MAAK,KADX;AAAA,UACrB,eADqB,gBACrB,eADqB;AAAA,UACJ,KADI,gBACJ,KADI;;AAE7B,UAAI,KAAK,CAAC,MAAN,KAAiB,CAArB,EAAwB;AACpB,aAAK,CAAC,8BAAe,MAAK,KAAL,CAAW,IAA1B,EAAgC,sBAAhC,CAAD,CAAL;AACH,OAFD,MAEO;AACH,cAAK,QAAL,CAAc;AAAE,yBAAe,EAAE,CAAC;AAApB,SAAd;AACH;AACJ,KAPO;;AASA,+BAAqB,YAAK;AAAA,yBACH,MAAK,KADF;AAAA,UACtB,KADsB,gBACtB,KADsB;AAAA,UACf,OADe,gBACf,OADe;AAAA,yBAEW,MAAK,KAFhB;AAAA,UAEtB,IAFsB,gBAEtB,IAFsB;AAAA,UAEhB,sBAFgB,gBAEhB,sBAFgB;;AAG9B,UAAI,IAAI,KAAK,IAAT,KAAkB,KAAK,KAAK,EAAV,IAAgB,OAAO,KAAK,EAA9C,CAAJ,EAAuD;AACnD,cAAK,QAAL,CAAc;AAAE,mBAAS,EAAE;AAAb,SAAd;AACH,OAFD,MAGK,sBAAsB;AAC9B,KAPO;;AASA,uBAAa,YAAK;AACtB,YAAK,QAAL,CAAc;AAAE,iBAAS,EAAE;AAAb,OAAd;AACH,KAFO;;AAxEJ,UAAK,KAAL,GAAa;AACT,UAAI,EAAE,EADG;AAET,WAAK,EAAE,EAFE;AAGT,cAAQ,EAAE,EAHD;AAIT,WAAK,EAAE,EAJE;AAKT,aAAO,EAAE,EALA;AAMT,YAAM,EAAE,KANC;AAOT,qBAAe,EAAE,KAPR;AAQT,eAAS,EAAE;AARF,KAAb;AAFa;AAYhB;;;;6BAkEK;AAAA,yBAC2F,KAAK,KADhG;AAAA,UACM,uBADN,gBACM,uBADN;AAAA,UAC+B,IAD/B,gBAC+B,IAD/B;AAAA,UACqC,SADrC,gBACqC,SADrC;AAAA,UACgD,sBADhD,gBACgD,sBADhD;AAAA,UACwE,cADxE,gBACwE,cADxE;AAAA,yBAEoF,KAAK,KAFzF;AAAA,UAEM,MAFN,gBAEM,MAFN;AAAA,UAEc,eAFd,gBAEc,eAFd;AAAA,UAE+B,KAF/B,gBAE+B,KAF/B;AAAA,UAEsC,IAFtC,gBAEsC,IAFtC;AAAA,UAE4C,KAF5C,gBAE4C,KAF5C;AAAA,UAEmD,QAFnD,gBAEmD,QAFnD;AAAA,UAE6D,OAF7D,gBAE6D,OAF7D;AAAA,UAEsE,SAFtE,gBAEsE,SAFtE;AAIF,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,KAAK,KAAL,CAAW,MAAX,CACG;AACI,YAAI,EAAJ,IADJ;AAEI,iBAAS,EAAT,SAFJ;AAGI,gBAAQ,EAAE,KAHd;AAII,8BAAsB,EAAtB,sBAJJ;AAKI,YAAI,EAAJ,IALJ;AAMI,aAAK,EAAL,KANJ;AAOI,gBAAQ,EAAR,QAPJ;AAQI,aAAK,EAAL,KARJ;AASI,eAAO,EAAP,OATJ;AAUI,cAAM,EAAN,MAVJ;AAWI,uBAAe,EAAf,eAXJ;AAYI,iBAAS,EAAT,SAZJ;AAaI,+BAAuB,EAAvB,uBAbJ;AAcI,0BAAkB,EAAE,KAAK,kBAd7B;AAeI,kBAAU,EAAE,KAAK,UAfrB;AAgBI,yBAAiB,EAAE,KAAK,iBAhB5B;AAiBI,yBAAiB,EAAE,KAAK,iBAjB5B;AAkBI,qBAAa,EAAE,KAAK,aAlBxB;AAmBI,sBAAc,EAAE,KAAK,cAnBzB;AAoBI,sBAAc,EAAd;AApBJ,OADH,CADL,CADJ;AA2BH;;;;EA9GsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDA;;AAEA,mBAAO,CAAC,mCAAD,CAAP;;IAKa,oB;;;;;AAAb;AAAA;;AAAA;;;;AACY,+BAAqB,YAAK;AAAA,UACtB,IADsB,GACb,MAAK,KAAL,CAAW,KADE,CACtB,IADsB;AAE9B,UAAI,IAAI,KAAK,IAAb,EAAmB,OAAO,oDAAP,CAAnB,KACK,IAAI,IAAI,KAAK,IAAb,EAAmB,OAAO,sDAAP,CAAnB,KACA,IAAI,IAAI,KAAK,IAAb,EAAmB,OAAO,2DAAP,CAAnB,KACA,IAAI,IAAI,KAAK,IAAb,EAAmB,OAAO,gDAAP,CAAnB,KACA,OAAO,EAAP;AACR,KAPO;;AASA,mCAAyB,YAAK;AAAA,8BAC4B,MAAK,KAAL,CAAW,KADvC;AAAA,UAC1B,UAD0B,qBAC1B,UAD0B;AAAA,UACd,aADc,qBACd,aADc;AAAA,UACC,sBADD,qBACC,sBADD;AAElC,gBAAU;AACV,4BAAsB;AACtB,mBAAa;AAChB,KALO;;AAVZ;AA8EC;;;;6BA7DS;AAAA,+BAE8E,KAAK,KAAL,CAAW,KAFzF;AAAA,UACM,uBADN,sBACM,uBADN;AAAA,UAC+B,MAD/B,sBAC+B,MAD/B;AAAA,UACuC,KADvC,sBACuC,KADvC;AAAA,UAC8C,IAD9C,sBAC8C,IAD9C;AAAA,UACoD,KADpD,sBACoD,KADpD;AAAA,UAC2D,QAD3D,sBAC2D,QAD3D;AAAA,UACqE,OADrE,sBACqE,OADrE;AAAA,UAC8E,SAD9E,sBAC8E,SAD9E;AAAA,UACyF,QADzF,sBACyF,QADzF;AAAA,UAEE,IAFF,sBAEE,IAFF;AAAA,UAEQ,kBAFR,sBAEQ,kBAFR;AAAA,UAE4B,UAF5B,sBAE4B,UAF5B;AAAA,UAEwC,cAFxC,sBAEwC,cAFxC;AAAA,UAEwD,iBAFxD,sBAEwD,iBAFxD;;AAIF,UAAI,CAAC,uBAAL,EAA8B;AAAE,eAAO,IAAP;AAAa;;AAC7C,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,MAAD,IAAW;AAAK,iBAAS,EAAC;AAAf,SACR;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,S,GAAA,EAA8B,QAAQ,KAAK,OAAb,GAAuB,8BAAe,IAAf,EAAqB,4BAArB,CAAvB,GAA4E,8BAAe,IAAf,EAAqB,iBAArB,CAA1G,EAA0J,GAA1J,CADJ,EAEI;AAAQ,iBAAS,EAAC,iBAAlB;AAAoC,aAAK,EAAE,8BAAe,IAAf,EAAqB,OAArB,CAA3C;AAA0E,eAAO,EAAE,kBAAC;AAAA,iBAAI,kBAAkB,EAAtB;AAAA;AAApF,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,EAEI,kCAAO,8BAAe,IAAf,EAAqB,OAArB,CAAP,CAFJ,CAFJ,CADQ,EAQP,SAAS,IAAI;AAAK,iBAAS,EAAC;AAAf,SACV;AAAK,iBAAS,EAAC;AAAf,SAA2B,4CAAU,8BAAe,IAAf,EAAqB,SAArB,CAAV,EAA3B,CADU,EAEV;AAAK,iBAAS,EAAC;AAAf,SAAsC,4CAAU,8BAAe,IAAf,EAAqB,qCAArB,CAAV,EAAtC,CAFU,EAGV;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,WAAlB;AAA8B,aAAK,EAAE,8BAAe,IAAf,EAAqB,SAArB,CAArC;AAAsE,eAAO,EAAE,KAAK;AAApF,SAA4G,kCAAO,8BAAe,IAAf,EAAqB,SAArB,CAAP,CAA5G,CADJ,EAEI;AAAQ,iBAAS,EAAC,WAAlB;AAA8B,aAAK,EAAE,8BAAe,IAAf,EAAqB,QAArB,CAArC;AAAqE,eAAO,EAAE,kBAAC;AAAA,iBAAI,UAAU,EAAd;AAAA;AAA/E,SAAiG,kCAAO,8BAAe,IAAf,EAAqB,QAArB,CAAP,CAAjG,CAFJ,CAHU,CARN,EAgBR;AAAK,iBAAS,EAAC;AAAf,SACI;AAAO,iBAAS,EAAC,kBAAjB;AAAoC,iBAAS,EAAE,EAA/C;AAAmD,aAAK,EAAE,IAA1D;AAAgE,mBAAW,EAAE,8BAAe,IAAf,EAAqB,MAArB,CAA7E;AAA2G,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,MAAJ,CAArB;AAAA;AAArH,QADJ,EAEI;AAAO,iBAAS,EAAC,kBAAjB;AAAoC,iBAAS,EAAE,EAA/C;AAAmD,aAAK,EAAE,KAA1D;AAAiE,mBAAW,EAAE,8BAAe,IAAf,EAAqB,8BAArB,CAA9E;AAAoI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,OAAJ,CAArB;AAAA;AAA9I,QAFJ,EAGI;AAAO,iBAAS,EAAC,kBAAjB;AAAoC,iBAAS,EAAE,EAA/C;AAAmD,aAAK,EAAE,QAA1D;AAAoE,mBAAW,EAAE,8BAAe,IAAf,EAAqB,UAArB,CAAjF;AAAmH,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,UAAJ,CAArB;AAAA;AAA7H,QAHJ,CAhBQ,EAqBR;AAAK,iBAAS,EAAC;AAAf,SACI;AAAO,YAAI,EAAC,MAAZ;AAAmB,iBAAS,EAAE,EAA9B;AAAkC,iBAAS,EAAC,OAA5C;AAAoD,aAAK,EAAE,KAA3D;AAAkE,mBAAW,EAAE,8BAAe,IAAf,EAAqB,OAArB,CAA/E;AAA8G,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,OAAJ,CAArB;AAAA;AAAxH,QADJ,EAEI;AAAU,YAAI,EAAC,MAAf;AAAsB,iBAAS,EAAE,IAAjC;AAAuC,iBAAS,EAAC,SAAjD;AAA2D,aAAK,EAAE,OAAlE;AAA2E,mBAAW,EAAE,8BAAe,IAAf,EAAqB,SAArB,CAAxF;AAAyH,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,SAAJ,CAArB;AAAA;AAAnI,QAFJ,CArBQ,EAyBR;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,8BAAe,IAAf,EAAqB,+FAArB,CADL,EAEI;AAAG,YAAI,EAAE,KAAK,kBAAL,EAAT;AAAoC,cAAM,EAAC,QAA3C;AAAoD,aAAK,EAAE,8BAAe,IAAf,EAAqB,cAArB;AAA3D,SAAkG,8BAAe,IAAf,EAAqB,cAArB,CAAlG,CAFJ,EAGK,8BAAe,IAAf,EAAqB,oGAArB,CAHL,CADJ,CADJ,EAQI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,SAAlB;AAA4B,UAAE,EAAC,sBAA/B;AAAsD,aAAK,EAAE,8BAAe,IAAf,EAAqB,cAArB,CAA7D;AAAmG,eAAO,EAAE,kBAAC;AAAA,iBAAI,iBAAiB,EAArB;AAAA;AAA7G,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,EAEI,kCAAO,8BAAe,IAAf,EAAqB,cAArB,CAAP,CAFJ,CADJ,CARJ,CAzBQ,CADhB,EA2CK,MAAM,IAAI;AAAK,iBAAS,EAAC;AAAf,SACP;AAAK,iBAAS,EAAC;AAAf,SAAsC,kCAAO,8BAAe,IAAf,EAAqB,WAArB,CAAP,EAAiD,GAAjD,CAAtC,CADO,EAEP;AAAK,iBAAS,EAAC;AAAf,SAAsC,kCAAO,8BAAe,IAAf,EAAqB,mCAArB,CAAP,CAAtC,CAFO,EAGP;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,YAAI,EAAC,GAAR;AAAW,sBAAa,8BAAe,IAAf,EAAqB,WAArB;AAAxB,SAA2D;AAAK,iBAAS,qBAAc,IAAd;AAAd,QAA3D,CADJ,EAEI;AAAQ,iBAAS,EAAC,WAAlB;AAA8B,aAAK,EAAE,8BAAe,IAAf,EAAqB,mBAArB,CAArC;AAAgF,eAAO,EAAE,KAAK;AAA9F,SAAsH,kCAAO,8BAAe,IAAf,EAAqB,mBAArB,CAAP,CAAtH,CAFJ,CAHO,CA3Cf,CADJ;AAuDH;;;;EA7EqC,KAAK,CAAC,S;;AAAhD,oD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPA,IAAI,OAAO,GAAG,mBAAO,CAAC,2CAAD,CAArB;;AAEA;;IAsDa,qB;;;;;AACT,iCAAY,KAAZ,EAA6C;AAAA;;AAAA;;AACzC,+FAAM,KAAN;;AA2BI,8BAAoB,YAAW;AAAA,UAC3B,UAD2B,GACZ,MAAK,KADO,CAC3B,UAD2B;AAAA,wBAE6E,MAAK,KAFlF;AAAA,UAE3B,cAF2B,eAE3B,cAF2B;AAAA,UAEX,uCAFW,eAEX,uCAFW;AAAA,UAEyC,EAFzC,eAE8B,OAF9B,CAEyC,EAFzC;AAAA,UAE+C,OAF/C,eAE+C,OAF/C;AAAA,UAEwD,gBAFxD,eAEwD,gBAFxD;;AAGnC,UAAI,cAAJ,EAAoB;AAAE;AAAQ;;AAC9B,YAAK,QAAL,CAAc,UAAC,MAAD,EAAW;AACrB,eAAO;AACH,oBAAU,EAAE,CAAC,MAAM,CAAC,UADjB;AAEH,iCAAuB,EAAE,UAAU,IAAI,CAAC,OAAf,IAA0B,CAAC;AAFjD,SAAP;AAIH,OALD,EAKG;AAAA,eAAM,uCAAuC,CAAC,EAAD,CAA7C;AAAA,OALH;AAMH,KAVO;;AAYA,iCAAuB,YAA2C;AAAA,UAA1C,QAA0C,uEAAd,IAAc;;AACtE,YAAK,QAAL,CAAc,UAAC,MAAD,EAAW;AACrB,eAAO;AACH,iCAAuB,EAAE,CAAC,MAAM,CAAC,uBAD9B;AAEH,yBAAe,EAAE;AAFd,SAAP;AAIH,OALD;AAMH,KAPO;;AAQA,mCAAyB,YAAW;AACxC,YAAK,QAAL,CAAc;AAAE,+BAAuB,EAAE;AAA3B,OAAd;AACH,KAFO;;AAaA,mCAAyB,UAAC,aAAD,EAAyB,QAAzB,EAA6D;AAAA,UAClF,IADkF,GACzE,MAAK,KADoE,CAClF,IADkF;AAAA,yBAEnD,MAAK,KAF8C;AAAA,UAElF,SAFkF,gBAElF,SAFkF;AAAA,UAE5D,EAF4D,gBAEvE,OAFuE,CAE5D,EAF4D;AAK1F,UAAM,UAAU,oCAAhB;AACA,UAAM,YAAY,GAAG;AACjB,sBAAc,SADG;AAEjB,uBAAe,EAFE;AAGjB,yBAAiB,aAHA;AAIjB,2BAAmB,CAAC,aAJH;AAKjB,qBAAa;AALI,OAArB;;AAQA,UAAI,aAAJ,EAAmB;AACf,gBAAQ,IAAR;AACI;AACA,eAAK,CAAL;AACI,kBAAK,QAAL,CAAc,UAAC,MAAD,EAAW;AACrB,qBAAO;AAAE,oBAAI,EAAE,CAAR;AAAW,qBAAK,EAAE,MAAM,CAAC,KAAP,GAAe;AAAjC,eAAP;AACH,aAFD;;AAGA,wBAAY,CAAC,aAAb,GAA6B,KAA7B;AACA,wBAAY,CAAC,eAAb,GAA+B,IAA/B;AACA,iBAAK,CAAC,IAAN,CAAW,UAAX,EAAuB,YAAvB;AACA;;AAEJ,eAAK,CAAL;AACI,kBAAK,QAAL,CAAc,UAAC,MAAD,EAAW;AACrB,qBAAO;AAAE,oBAAI,EAAE,CAAR;AAAW,qBAAK,EAAE,MAAM,CAAC,KAAP,GAAe,CAAjC;AAAoC,6BAAa,EAAE,MAAM,CAAC,aAAP,GAAuB;AAA1E,eAAP;AACH,aAFD;;AAGA,iBAAK,CAAC,IAAN,CAAW,UAAX,EAAuB,YAAvB;AACA;;AAEJ,eAAK,CAAC,CAAN;AACI,gBAAI,QAAQ,KAAK,QAAjB,EAA2B;AACvB,oBAAK,QAAL,CAAc,UAAC,MAAD,EAAW;AACrB,uBAAO;AAAE,sBAAI,EAAE,CAAR;AAAW,yBAAO,EAAE,MAAM,CAAC,OAAP,GAAiB,CAArC;AAAwC,uBAAK,EAAE,MAAM,CAAC,KAAP,GAAe;AAA9D,iBAAP;AACH,eAFD;;AAGA,0BAAY,CAAC,aAAb,GAA6B,IAA7B;AACA,0BAAY,CAAC,eAAb,GAA+B,IAA/B;AACH,aAND,MAOK;AACD,oBAAK,QAAL,CAAc,UAAC,MAAD,EAAW;AACrB,uBAAO;AAAE,sBAAI,EAAE,CAAR;AAAW,+BAAa,EAAE,MAAM,CAAC,aAAP,GAAuB;AAAjD,iBAAP;AACH,eAFD;AAGH;;AACD,iBAAK,CAAC,IAAN,CAAW,UAAX,EAAuB,YAAvB;AACA;AAhCR;AAkCH,OAnCD,MAoCK;AACD,gBAAQ,IAAR;AACI;AACA,eAAK,CAAC,CAAN;AACI,kBAAK,QAAL,CAAc,UAAC,MAAD,EAAW;AACrB,qBAAO;AAAE,oBAAI,EAAE,CAAR;AAAW,uBAAO,EAAE,MAAM,CAAC,OAAP,GAAiB;AAArC,eAAP;AACH,aAFD;;AAGA,wBAAY,CAAC,aAAb,GAA6B,IAA7B;AACA,wBAAY,CAAC,eAAb,GAA+B,KAA/B;AACA,iBAAK,CAAC,IAAN,CAAW,UAAX,EAAuB,YAAvB;AACA;;AAEJ,eAAK,CAAL;AACI,kBAAK,QAAL,CAAc,UAAC,MAAD,EAAW;AACrB,qBAAO;AAAE,oBAAI,EAAE,CAAC,CAAT;AAAY,uBAAO,EAAE,MAAM,CAAC,OAAP,GAAiB,CAAtC;AAAyC,6BAAa,EAAE,MAAM,CAAC,aAAP,GAAuB;AAA/E,eAAP;AACH,aAFD;;AAGA,iBAAK,CAAC,IAAN,CAAW,UAAX,EAAuB,YAAvB;AACA;;AAEJ,eAAK,CAAL;AACI,gBAAI,QAAQ,KAAK,QAAjB,EAA2B;AACvB,oBAAK,QAAL,CAAc,UAAC,MAAD,EAAW;AACrB,uBAAO;AAAE,sBAAI,EAAE,CAAC,CAAT;AAAY,uBAAK,EAAE,MAAM,CAAC,KAAP,GAAe,CAAlC;AAAqC,yBAAO,EAAE,MAAM,CAAC,OAAP,GAAiB;AAA/D,iBAAP;AACH,eAFD;;AAGA,0BAAY,CAAC,aAAb,GAA6B,KAA7B;AACA,0BAAY,CAAC,eAAb,GAA+B,KAA/B;AACH,aAND,MAOK;AACD,oBAAK,QAAL,CAAc,UAAC,MAAD,EAAW;AACrB,uBAAO;AAAE,sBAAI,EAAE,CAAR;AAAW,+BAAa,EAAE,MAAM,CAAC,aAAP,GAAuB;AAAjD,iBAAP;AACH,eAFD;AAGH;;AACD,iBAAK,CAAC,IAAN,CAAW,UAAX,EAAuB,YAAvB;AACA;AAhCR;AAkCH;AACJ,KAtFO;;AA7DqC,QAEjC,OAFiC,GAErB,KAFqB,CAEjC,OAFiC;AAGzC,QAAI,IAAI,GAAa,CAArB;;AACA,QAAI,MAAM,IAAI,OAAV,IAAqB,OAAO,CAAC,EAAjC,EAAqC;AACjC,UAAM,OAAO,GAAG,OAAO,CAAC,GAAR,oBAAwB,OAAO,CAAC,EAAhC,EAAhB;;AACA,cAAQ,OAAR;AACI,aAAK,MAAL;AACI,cAAI,GAAG,CAAP;AACA;;AACJ,aAAK,OAAL;AACI,cAAI,GAAG,CAAC,CAAR;AACA;;AACJ;AACI,cAAI,GAAG,CAAP;AARR;AAUH;;AACD,UAAK,KAAL,GAAa;AACT,gBAAU,EAAE,KADH;AAET,6BAAuB,EAAE,KAFhB;AAGT,qBAAe,EAAE,IAHR;AAIT,UAAI,EAAJ,IAJS;AAKT,mBAAa,EAAE,OAAO,CAAC,aALd;AAMT,WAAK,EAAE,OAAO,CAAC,KANN;AAOT,aAAO,EAAE,OAAO,CAAC;AAPR,KAAb;AAjByC;AA0B5C;;;;yCA0BiB;AAAA,yBAC8D,KAAK,KADnE;AAAA,UACN,cADM,gBACN,cADM;AAAA,UACU,8BADV,gBACU,8BADV;AAAA,UACqD,EADrD,gBAC0C,OAD1C,CACqD,EADrD;AAEd,WAAK,QAAL,CAAc;AAAE,kBAAU,EAAG,8BAA8B,KAAK,EAApC,IAA2C;AAAzD,OAAd;AACH;;;8CAEyB,S,EAAqC;AAC3D,WAAK,QAAL,CAAc;AAAE,kBAAU,EAAE,SAAS,CAAC;AAAxB,OAAd;AACH;;;6BA0FK;AAAA,wBACoG,KAAK,KADzG;AAAA,UACM,UADN,eACM,UADN;AAAA,UACkB,uBADlB,eACkB,uBADlB;AAAA,UAC2C,eAD3C,eAC2C,eAD3C;AAAA,UAC4D,IAD5D,eAC4D,IAD5D;AAAA,UACkE,aADlE,eACkE,aADlE;AAAA,UACiF,KADjF,eACiF,KADjF;AAAA,UACwF,OADxF,eACwF,OADxF;AAAA,yBAEwF,KAAK,KAF7F;AAAA,UAEM,SAFN,gBAEM,SAFN;AAAA,UAEiB,IAFjB,gBAEiB,IAFjB;AAAA,UAEuB,OAFvB,gBAEuB,OAFvB;AAAA,UAEgC,wBAFhC,gBAEgC,wBAFhC;AAAA,UAE0D,yBAF1D,gBAE0D,yBAF1D;AAGF,aAEI,KAAK,KAAL,CAAW,MAAX,CAAkB;AACd,YAAI,EAAJ,IADc;AAEd,eAAO,EAAP,OAFc;AAGd,kBAAU,EAAV,UAHc;AAId,YAAI,EAAJ,IAJc;AAKd,qBAAa,EAAb,aALc;AAMd,aAAK,EAAL,KANc;AAOd,eAAO,EAAP,OAPc;AAQd,iBAAS,EAAT,SARc;AASd,uBAAe,EAAf,eATc;AAUd,+BAAuB,EAAvB,uBAVc;AAWd,yBAAiB,EAAE,KAAK,iBAXV;AAYd,8BAAsB,EAAE,KAAK,sBAZf;AAad,4BAAoB,EAAE,KAAK,oBAbb;AAcd,8BAAsB,EAAE,KAAK,sBAdf;AAed,gCAAwB,EAAxB,wBAfc;AAgBd,iCAAyB,EAAzB;AAhBc,OAAlB,CAFJ;AAsBH;;;;EA/KsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxDA;;AAEA;;AACA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAKa,oB;;;;;;;;;;;;;6BACH;AAAA,8BAcQ,KAAK,KAAL,CAAW,KAdnB;AAAA,UACM,IADN,qBACM,IADN;AAAA,UACY,UADZ,qBACY,UADZ;AAAA,UACwB,IADxB,qBACwB,IADxB;AAAA,UAC8B,aAD9B,qBAC8B,aAD9B;AAAA,UAC6C,iBAD7C,qBAC6C,iBAD7C;AAAA,UACgE,eADhE,qBACgE,eADhE;AAAA,UACiF,SADjF,qBACiF,SADjF;AAAA,UAEE,uBAFF,qBAEE,uBAFF;AAAA,UAE2B,sBAF3B,qBAE2B,sBAF3B;AAAA,UAEmD,oBAFnD,qBAEmD,oBAFnD;AAAA,UAEyE,sBAFzE,qBAEyE,sBAFzE;AAAA,oDAGE,OAHF;AAAA,UAIM,EAJN,yBAIM,EAJN;AAAA,UAKM,MALN,yBAKM,MALN;AAAA,UAMM,KANN,yBAMM,KANN;AAAA,UAOM,IAPN,yBAOM,IAPN;AAAA,UAQM,MARN,yBAQM,MARN;AAAA,UASM,OATN,yBASM,OATN;AAAA,UAUM,KAVN,yBAUM,KAVN;AAAA,UAWM,WAXN,yBAWM,WAXN;AAAA,UAYM,cAZN,yBAYM,cAZN;AAAA,UAaM,eAbN,yBAaM,eAbN,EAgBF;;AACA,UAAM,kBAAkB,GAAG,qDAAsC,OAAtC,EAA+C;AAAE,gBAAQ,EAAE;AAAZ,OAA/C,CAA3B;AAEA,UAAM,sBAAsB,GAAG,UAAU,CAAC;AACtC,0BAAkB,IADoB;AAEtC,oBAAY;AAF0B,OAAD,CAAzC;AAKA,UAAM,aAAa,GAAG,UAAU,CAAC;AAC7B,uBAAe,IADc;AAE7B,qBAAa;AAFgB,OAAD,CAAhC;AAKA,UAAM,WAAW,GAAG,UAAU,CAAC;AAC3B,gBAAQ,IADmB;AAE3B,0BAAkB,IAAI,KAAK;AAFA,OAAD,CAA9B;AAKA,UAAM,YAAY,GAAG,UAAU,CAAC;AAC5B,wBAAgB,IADY;AAE5B,yBAAiB,aAAa,IAAI,CAFN;AAG5B,yBAAiB,aAAa,GAAG;AAHL,OAAD,CAA/B;AAMA,UAAM,cAAc,GAAG,UAAU,CAAC;AAC9B,mBAAW,IADmB;AAE9B,0BAAkB,IAAI,KAAK,CAAC;AAFE,OAAD,CAAjC;AAKA,UAAM,mBAAmB,GAAG,UAAU,CAAC;AACnC,wBAAgB,IADmB;AAEnC,wBAAgB,WAAW,IAAI,CAAC;AAFG,OAAD,CAAtC;AAKA,aACI;AAAK,UAAE,EAAC,iBAAR;AAA0B,iBAAS,EAAE;AAArC,SACI;AAAK,iBAAS,EAAC,SAAf;AAAyB,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,iBAAiB,EAAxB;AAAA;AAAlC,SACI;AAAK,iBAAS,EAAE;AAAhB,SACK,KAAK,KAAK,CAAV,IAAe,kCAAO,MAAP,EAAuB,IAAvB,CADpB,EAEK,KAAK,KAAK,CAAV,IAAe;AAAM,iBAAS,EAAE;AAAjB,QAFpB,EAGI,kCAAO,KAAP,CAHJ,EAIK,IAAI,CAAC,MAAL,KAAgB,CAAhB,IAAqB,kCAAO,8BAAe,IAAf,EAAqB,eAArB,CAAP,CAJ1B,CADJ,EAOI;AAAK,iBAAS,EAAC;AAAf,SACK,MAAM,KAAK,EAAX,GAAgB,kC,IAAA,YAAY,MAAZ,SAAiC,KAAjC,CAAhB,GAAoD,IADzD,EAEK,cAAc,KAAK,EAAnB,GAAwB,kC,IAAA,YAAY,cAAZ,SAAuC,GAAvC,CAAxB,GAAkE,IAFvE,EAGI,kC,IAAA,YAAY,kBAAZ,SAAiC,eAAe,GAAG,QAAQ,eAAX,GAA6B,EAA7E,GAA0F,GAA1F,CAHJ,CAPJ,CADJ,EAeK,UAAU,IACP;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA8B,IAA9B,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,eAAlB;AAAkC,aAAK,EAAE,8BAAe,IAAf,EAAqB,aAArB,CAAzC;AAA8E,gBAAQ,EAAE,uBAAxF;AAAiH,eAAO,EAAE,kBAAC;AAAA,iBAAI,oBAAoB,CAAC,KAAD,CAAxB;AAAA;AAA3H,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,EAEI,kC,IAAA,EAAS,8BAAe,IAAf,EAAqB,aAArB,CAAT,CAFJ,CADJ,EAKI;AAAQ,iBAAS,EAAC,iBAAlB;AAAoC,aAAK,EAAE,8BAAe,IAAf,EAAqB,mBAArB,CAA3C;AAAsF,gBAAQ,EAAE,uBAAhG;AACI,eAAO,EAAE,kBAAC;AAAA,iBAAI,oBAAoB,CAAC,OAAD,CAAxB;AAAA;AADd,SAEI;AAAM,iBAAS,EAAC;AAAhB,QAFJ,EAGI,kC,GAAA,EAAQ,8BAAe,IAAf,EAAqB,mBAArB,CAAR,CAHJ,CALJ,CADJ,EAYI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAE,WAAnB;AAA8B,sBAAa,cAA3C;AAA0D,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,sBAAsB,CAAC,IAAD,EAAO,QAAP,CAA7B;AAAA;AAAnE,QADJ,EAEI;AAAQ,iBAAS,EAAE,cAAnB;AAAiC,sBAAa,iBAA9C;AAAgE,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,sBAAsB,CAAC,KAAD,EAAQ,QAAR,CAA7B;AAAA;AAAzE,QAFJ,EAGI;AAAQ,iBAAS,EAAE;AAAnB,SAAkC,aAAlC,CAHJ,CAZJ,CAHJ,EAsBI,oBAAC,6CAAD,EAAsB;AAClB,cAAM,EAAE,gBAAC,KAAD;AAAA,iBAAsC,oBAAC,2CAAD,EAAqB;AAAC,iBAAK,EAAE;AAAR,WAArB,CAAtC;AAAA,SADU;AAElB,YAAI,EAAE,IAFY;AAGlB,iBAAS,EAAE,SAHO;AAIlB,gBAAQ,EAAE,eAJQ;AAKlB,8BAAsB,EAAE,sBALN;AAMlB,wBAAgB,EAAE,EANA;AAOlB,+BAAuB,EAAE;AAPP,OAAtB,CAtBJ,CAhBR,CADJ;AAqDH;;;;EAxGqC,KAAK,CAAC,S;;AAAhD,oD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICyBa,4B;;;;;;;;;;;;;6BAEH;AAAA,wBAE2H,KAAK,KAFhI;AAAA,UACM,IADN,eACM,IADN;AAAA,UACY,KADZ,eACY,KADZ;AAAA,UACmB,aADnB,eACmB,aADnB;AAAA,UACkC,gBADlC,eACkC,gBADlC;AAAA,UACoD,aADpD,eACoD,aADpD;AAAA,UACmE,sBADnE,eACmE,sBADnE;AAAA,UAEE,uBAFF,eAEE,uBAFF;AAAA,UAE2B,iBAF3B,eAE2B,iBAF3B;AAAA,UAE8C,oBAF9C,eAE8C,oBAF9C;AAAA,UAEoE,mBAFpE,eAEoE,mBAFpE;AAAA,UAEyF,6BAFzF,eAEyF,6BAFzF;AAGF,aACI,iCACK,KAAK,KAAL,CAAW,MAAX,CAAkB;AACf,YAAI,EAAJ,IADe;AAEf,aAAK,EAAL,KAFe;AAGf,qBAAa,EAAb,aAHe;AAIf,wBAAgB,EAAhB,gBAJe;AAKf,qBAAa,EAAb,aALe;AAMf,8BAAsB,EAAtB,sBANe;AAOf,+BAAuB,EAAvB,uBAPe;AAQf,yBAAiB,EAAjB,iBARe;AASf,4BAAoB,EAApB,oBATe;AAUf,2BAAmB,EAAnB,mBAVe;AAWf,qCAA6B,EAA7B;AAXe,OAAlB,CADL,CADJ;AAiBH;;;;EAtB6C,KAAK,CAAC,S;;AAAxD,oE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAKa,2B;;;;;;;;;;;;;6BAEH;AAAA,8BAEmE,KAAK,KAAL,CAAW,KAF9E;AAAA,UACM,IADN,qBACM,IADN;AAAA,UACY,KADZ,qBACY,KADZ;AAAA,UACmB,aADnB,qBACmB,aADnB;AAAA,UACkC,gBADlC,qBACkC,gBADlC;AAAA,UACoD,aADpD,qBACoD,aADpD;AAAA,UACmE,sBADnE,qBACmE,sBADnE;AAAA,UAC2F,uBAD3F,qBAC2F,uBAD3F;AAAA,UAEE,iBAFF,qBAEE,iBAFF;AAAA,UAEqB,oBAFrB,qBAEqB,oBAFrB;AAAA,UAE2C,mBAF3C,qBAE2C,mBAF3C;AAGF,UAAI,eAAe,GAAG,KAAK,GAAG;AAAE,mBAAW,EAAE;AAAf,OAAH,GAA4B,EAAvD;AACA,UAAM,WAAW,GAAG,sBAAsB,GAAG,8BAAe,IAAf,EAAqB,oBAArB,CAAH,GAAgD,8BAAe,IAAf,EAAqB,mBAArB,CAA1F;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,aAAa,KAAK,CAAlB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,8BAAe,IAAf,EAAqB,8BAArB,CAAP,CADJ,CAFR,EAMK,aAAa,KAAK,CAAlB,IACG;AAAK,iBAAS,0BAAmB,IAAnB;AAAd,SACI,kCAAO,8BAAe,IAAf,EAAqB,mBAArB,CAAP,EAAyD,GAAzD,CADJ,EAEI;AAAM,aAAK,EAAE;AAAb,oBAAmC,aAAnC,QAA4D,GAA5D,CAFJ,EAGI,4CAAU,8BAAe,IAAf,EAAqB,aAArB,CAAV,EAHJ,EAII,kCAAO,CAAC,KAAD,cAAa,gBAAb,MAAP,CAJJ,EAKI,kCAAO,CAAC,KAAD,IAAU,8BAAe,IAAf,EAAqB,aAArB,CAAjB,CALJ,CAPR,EAcK,CAAE,aAAa,KAAK,cAAlB,IAAoC,aAAa,KAAK,cAAxD,KAA4E,aAAa,GAAG,CAA5F,IACG;AAAQ,iBAAS,EAAC,uBAAlB;AAA0C,aAAK,EAAE,WAAjD;AAA8D,eAAO,EAAE,kBAAC;AAAA,iBAAI,iBAAiB,CAAC,CAAC,sBAAF,CAArB;AAAA;AAAxE,SACI,kC,GAAA,EAAQ,WAAR,CADJ,CAfR,CADJ,EAqBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,eAAlB;AACI,aAAK,EAAE,8BAAe,IAAf,EAAqB,aAArB,CADX;AAEI,gBAAQ,EAAE,uBAFd;AAEuC,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,oBAAoB,EAA3B;AAAA;AAFhD,SAGI;AAAM,iBAAS,EAAC;AAAhB,QAHJ,EAII,kCAAO,8BAAe,IAAf,EAAqB,aAArB,CAAP,CAJJ,CADJ,EAQK,aAAa,GAAG,CAAhB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,mBAAkC,8BAAe,IAAf,EAAqB,SAArB,CAAlC,EADJ,EAEI;AAAQ,iBAAS,EAAC,YAAlB;AAA+B,oBAAY,EAAE,aAA7C;AAA4D,gBAAQ,EAAE;AAAtE,SACI;AAAQ,aAAK,EAAC;AAAd,SAA8B,8BAAe,IAAf,EAAqB,cAArB,CAA9B,CADJ,EAEK,aAAa,GAAG,CAAhB,IAAqB;AAAQ,aAAK,EAAC;AAAd,SAA8B,8BAAe,IAAf,EAAqB,cAArB,CAA9B,CAF1B,EAGK,aAAa,GAAG,CAAhB,IAAqB;AAAQ,aAAK,EAAC;AAAd,SAA6B,8BAAe,IAAf,EAAqB,aAArB,CAA7B,CAH1B,EAIK,aAAa,GAAG,CAAhB,IAAqB;AAAQ,aAAK,EAAC;AAAd,SAA0B,8BAAe,IAAf,EAAqB,UAArB,CAA1B,CAJ1B,CAFJ,CATR,CArBJ,CADJ;AA2CH;;;;EAnD4C,KAAK,CAAC,S;;AAAvD,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPA;;AACA;;AACA;;IAgBa,yB;;;;;AAKT,qCAAY,KAAZ,EAAiD;AAAA;;AAAA;;AAC7C,mGAAM,KAAN;AAOI,2BAAiB,EAAjB;;AAUA,gCAAsB,UAAC,aAAD,EAAkB;AAAA,UACpC,aADoC,GAClB,MAAK,KADa,CACpC,aADoC;;AAE5C,UAAI,CAAC,MAAK,KAAL,CAAW,KAAhB,EAAuB;AACnB,sDAAkB,aAAlB;AACH;AACJ,KALO;;AAOA,kCAAwB,YAAK;AACjC,UAAM,sBAAsB,GAAG,QAAQ,CAAC,gBAAT,iCAA/B;;AAGA,UAAI,sBAAsB,CAAC,MAAvB,GAAgC,CAApC,EAAuC;AACnC,YAAI,QAAQ,GAAG,EAAf;AACA,8BAAsB,CAAC,OAAvB,CAA+B,UAAC,OAAD,EAAY;AACvC,cAAM,MAAM,GAAG,OAAO,CAAC,YAAR,CAAqB,cAArB,CAAf;AACA,kBAAQ,CAAC,IAAT,CAAc,MAAd;AACH,SAHD;AAKA,aAAK,CACA,GADL,oFAEoF,QAAQ,CAAC,IAAT,CACxE,GADwE,CAFpF,GAMK,IANL,CAMU,UAAC,GAAD,EAAa;AACf,gCAAsB,CAAC,OAAvB,CAA+B,UAAC,OAAD,EAAY;AACvC,gBAAM,MAAM,GAAG,OAAO,CAAC,YAAR,CAAqB,cAArB,CAAf;AACA,gBAAM,gBAAgB,GAClB,OAAO,CAAC,aAAR,CAAsB,wBAAtB,CADJ;AAEA,gBAAM,WAAW,GAAG,aAApB;AACA,gBAAM,eAAe,aAAM,GAAG,CAAC,IAAJ,CAAS,cAAT,CAAwB,MAAxB,CAAN,0CAArB;AACA,gBAAM,IAAI,GACN,GAAG,CAAC,IAAJ,CAAS,cAAT,CAAwB,MAAxB,MAAoC,CAApC,IAAyC,CAAC,GAAG,CAAC,IAAJ,CAAS,cAAT,CAAwB,MAAxB,CAA1C,GACM,WADN,GAEM,eAHV;AAIA,4BAAgB,CAAC,SAAjB,GAA6B,IAA7B;AACA,mBAAO,CAAC,GAAR,CAAY,kBAAZ,EAAgC,gBAAhC;;AACA,gBAAM,QAAQ,GAAG,SAAX,QAAW,GAAK;AAClB,kBAAM,aAAa,GACf,OAAO,CAAC,YAAR,CAAqB,cAArB,CADJ;;AAEA,oBAAK,QAAL,CAAc;AAAE,6BAAa,EAAb;AAAF,eAAd,EAAiC,YAAK;AAClC,oBAAM,aAAa,GACf,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CADJ;;AAEI,sBAAK,mBAAL,CAAyB,aAAzB;AAEP,eALD;AAMH,aATD;;AAUA,mBAAO,CAAC,gBAAR,CAAyB,OAAzB,EAAkC,QAAlC;AACH,WAvBD;AAwBH,SA/BL,EAgCK,KAhCL,CAgCW,UAAC,GAAD;AAAA,iBACH,OAAO,CAAC,KAAR,CAAc,2BAAd,EAA2C,GAA3C,CADG;AAAA,SAhCX;AAmCH;AACJ,KA/CO;;AAiDA,wCAA8B,YAAK;AACvC,UAAM,mBAAmB,GAAG,QAAQ,CAAC,gBAAT,CACxB,+BADwB,CAA5B;AAGA,yBAAmB,CAAC,OAApB,CAA4B,UAAC,OAAD,EAAU,KAAV,EAAmB;AAC3C,YAAM,QAAQ,GAAG,MAAK,cAAL,CAAoB,KAApB,CAAjB;AACA,eAAO,CAAC,GAAR,CAAY,UAAZ,EAAwB,QAAxB;;AACA,YAAI,QAAJ,EAAc;AACV,iBAAO,CAAC,mBAAR,CAA4B,OAA5B,EAAqC,QAArC;AACH;AACJ,OAND;AAOA,YAAK,cAAL,GAAsB,EAAtB;AACH,KAZO;;AAxEJ,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE;AADN,KAAb;AAF6C;AAMhD;;;;wCAIgB;AACb,WAAK,qBAAL;AACH;;;2CAEmB;AAChB,WAAK,2BAAL;AACH;;;6BAwEK;AAAA,UACM,aADN,GACwB,KAAK,KAD7B,CACM,aADN;AAGF,aACI,oBAAC,2CAAD,EAAqB,kBACb,KAAK,KADQ,EACH;AACd,iBAAS,EAAE,aADG;AAEd,WAAG,EAAE,aAFS;AAGd,kBAAU,EAAE,KAAK,KAAL,CAAW,KAHT;AAId,iBAAS,EAAC;AAJI,OADG,CAArB,CADJ;AASH;;;;EAzG0C,KAAK,CAAC,S;;AAInC,2CAAiB,2BAAjB;AAJlB,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AAEA;;IAKa,yB;;;;;AAAb;AAAA;;AAAA;;;;AAEY,mCAAyB,YAAK;AAAA,8BAC4B,MAAK,KAAL,CAAW,KADvC;AAAA,UAC1B,UAD0B,qBAC1B,UAD0B;AAAA,UACd,aADc,qBACd,aADc;AAAA,UACC,sBADD,qBACC,sBADD;AAElC,gBAAU;AACV,4BAAsB;AACtB,mBAAa;AAChB,KALO;;AAFZ;AA6EC;;;;6BApES;AAAA,+BAEgG,KAAK,KAAL,CAAW,KAF3G;AAAA,UACM,uBADN,sBACM,uBADN;AAAA,UAC+B,MAD/B,sBAC+B,MAD/B;AAAA,UACuC,KADvC,sBACuC,KADvC;AAAA,UAC8C,IAD9C,sBAC8C,IAD9C;AAAA,UACoD,KADpD,sBACoD,KADpD;AAAA,UAC2D,OAD3D,sBAC2D,OAD3D;AAAA,UACoE,SADpE,sBACoE,SADpE;AAAA,UAC+E,QAD/E,sBAC+E,QAD/E;AAAA,UACyF,IADzF,sBACyF,IADzF;AAAA,UAEE,kBAFF,sBAEE,kBAFF;AAAA,UAEsB,sBAFtB,sBAEsB,sBAFtB;AAAA,UAE8C,UAF9C,sBAE8C,UAF9C;AAAA,UAE0D,cAF1D,sBAE0D,cAF1D;AAAA,UAE0E,iBAF1E,sBAE0E,iBAF1E;AAGF,UAAM,qBAAqB,GAAG,UAAU,CAAC;AACrC,qCAA6B,IADQ;AAErC,kBAAU,uBAF2B;AAGrC,gBAAQ,CAAC;AAH4B,OAAD,CAAxC;AAMA,aACI;AAAK,iBAAS,EAAE;AAAhB,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,MAAD,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,S,GAAA,EAA8B,QAAQ,KAAK,OAAb,GAAuB,8BAAe,IAAf,EAAqB,4BAArB,CAAvB,GAA4E,8BAAe,IAAf,EAAqB,iBAArB,CAA1G,EAA0J,GAA1J,CADJ,EAEI;AAAQ,iBAAS,EAAC,iBAAlB;AAAoC,aAAK,EAAE,8BAAe,IAAf,EAAqB,mBAArB,CAA3C;AAAsF,eAAO,EAAE,kBAAC;AAAA,iBAAI,kBAAkB,EAAtB;AAAA;AAAhG,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,EAEI,kCAAO,8BAAe,IAAf,EAAqB,OAArB,CAAP,CAFJ,CAFJ,CADJ,EAQK,SAAS,IAAI;AAAK,iBAAS,EAAC;AAAf,SACV;AAAK,iBAAS,EAAC;AAAf,SAA2B,4CAAU,8BAAe,IAAf,EAAqB,SAArB,CAAV,EAA3B,CADU,EAEV;AAAK,iBAAS,EAAC;AAAf,SAAsC,4CAAU,8BAAe,IAAf,EAAqB,qCAArB,CAAV,EAAtC,CAFU,EAGV;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,WAAlB;AAA8B,aAAK,EAAE,8BAAe,IAAf,EAAqB,SAArB,CAArC;AAAsE,eAAO,EAAE,KAAK;AAApF,SAA4G,kCAAO,8BAAe,IAAf,EAAqB,SAArB,CAAP,CAA5G,CADJ,EAEI;AAAQ,iBAAS,EAAC,WAAlB;AAA8B,aAAK,EAAE,8BAAe,IAAf,EAAqB,QAArB,CAArC;AAAqE,eAAO,EAAE,kBAAC;AAAA,iBAAI,UAAU,EAAd;AAAA;AAA/E,SAAiG,kCAAO,8BAAe,IAAf,EAAqB,QAArB,CAAP,CAAjG,CAFJ,CAHU,CARlB,EAgBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAO,iBAAS,EAAC,6BAAjB;AAA+C,iBAAS,EAAE,EAA1D;AAA8D,aAAK,EAAE,IAArE;AAA2E,mBAAW,EAAE,8BAAe,IAAf,EAAqB,MAArB,CAAxF;AAAsH,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,MAAJ,CAArB;AAAA;AAAhI,QADJ,EAEI;AAAO,iBAAS,EAAC,6BAAjB;AAA+C,iBAAS,EAAE,EAA1D;AAA8D,aAAK,EAAE,KAArE;AAA4E,mBAAW,EAAE,8BAAe,IAAf,EAAqB,OAArB,CAAzF;AAAwH,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,OAAJ,CAArB;AAAA;AAAlI,QAFJ,CAhBJ,EAoBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAO,iBAAS,EAAC,kBAAjB;AAAoC,YAAI,EAAC,MAAzC;AAAgD,iBAAS,EAAE,EAA3D;AAA+D,aAAK,EAAE,KAAtE;AAA6E,mBAAW,EAAE,8BAAe,IAAf,EAAqB,OAArB,CAA1F;AAAyH,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,OAAJ,CAArB;AAAA;AAAnI,QADJ,EAEI;AAAU,iBAAS,EAAC,oBAApB;AAAyC,YAAI,EAAC,MAA9C;AAAqD,iBAAS,EAAE,IAAhE;AAAsE,aAAK,EAAE,OAA7E;AAAsF,mBAAW,EAAE,8BAAe,IAAf,EAAqB,iBAArB,CAAnG;AAA4I,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,SAAJ,CAArB;AAAA;AAAtJ,QAFJ,CApBJ,EAwBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,wCADL,EAEA;AAAG,YAAI,EAAC,4EAAR;AAAqF,cAAM,EAAC,QAA5F;AAAqG,aAAK,EAAE,8BAAe,IAAf,EAAqB,cAArB,CAA5G;AAAkJ,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAAzJ,SAA+K,uHAA/K,CAFA,EAGK,iDAHL,CADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,SAAlB;AAA4B,UAAE,EAAC,sBAA/B;AAAsD,aAAK,EAAE,8BAAe,IAAf,EAAqB,cAArB,CAA7D;AAAmG,eAAO,EAAE,kBAAC;AAAA,iBAAI,iBAAiB,EAArB;AAAA;AAA7G,SACI,kCAAO,8BAAe,IAAf,EAAqB,cAArB,CAAP,CADJ,CADJ,CANJ,CAxBJ,CAFR,EAwCK,MAAM,IAAI;AAAK,iBAAS,EAAC;AAAf,SACP;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA0B,kCAAO,8BAAe,IAAf,EAAqB,WAArB,CAAP,EAAiD,GAAjD,CAA1B,CADJ,EAEI;AAAQ,iBAAS,EAAC,kBAAlB;AAAqC,aAAK,EAAE,8BAAe,IAAf,EAAqB,mBAArB,CAA5C;AAAuF,eAAO,EAAE,KAAK;AAArG,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,SAAmC,8BAAe,IAAf,EAAqB,mBAArB,CAAnC,CAFJ,CAFJ,CADO,EAQP;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,8BAAe,IAAf,EAAqB,mCAArB,CAAP,CADJ,CARO,CAxCf,CADJ,CADJ;AA0DH;;;;EA5E0C,KAAK,CAAC,S;;AAArD,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AAEA;;AACA;;AACA;;IAOa,yB;;;;;;;;;;;;;6BAGH;AAAA,8BAaQ,KAAK,KAAL,CAAW,KAbnB;AAAA,UACM,IADN,qBACM,IADN;AAAA,UACY,UADZ,qBACY,UADZ;AAAA,UACwB,IADxB,qBACwB,IADxB;AAAA,UAC8B,aAD9B,qBAC8B,aAD9B;AAAA,UAC6C,KAD7C,qBAC6C,KAD7C;AAAA,UACoD,OADpD,qBACoD,OADpD;AAAA,UAC6D,iBAD7D,qBAC6D,iBAD7D;AAAA,UACgF,eADhF,qBACgF,eADhF;AAAA,UACiG,SADjG,qBACiG,SADjG;AAAA,UAEE,uBAFF,qBAEE,uBAFF;AAAA,UAE2B,sBAF3B,qBAE2B,sBAF3B;AAAA,UAEmD,oBAFnD,qBAEmD,oBAFnD;AAAA,UAEyE,sBAFzE,qBAEyE,sBAFzE;AAAA,oDAGE,OAHF;AAAA,UAIM,EAJN,yBAIM,EAJN;AAAA,UAKM,MALN,yBAKM,MALN;AAAA,UAMM,KANN,yBAMM,KANN;AAAA,UAOM,IAPN,yBAOM,IAPN;AAAA,UAQM,MARN,yBAQM,MARN;AAAA,UASM,OATN,yBASM,OATN;AAAA,UAUM,KAVN,yBAUM,KAVN;AAAA,UAWM,WAXN,yBAWM,WAXN;AAAA,UAYM,eAZN,yBAYM,eAZN;AAeF,UAAM,kBAAkB,GAAG,qDAAsC,OAAtC,EAA+C;AAAE,gBAAQ,EAAE,KAAZ;AAAmB,yBAAiB,EAAE;AAAtC,OAA/C,CAA3B;AACA,UAAM,sBAAsB,GAAG,UAAU,CAAC;AACtC,0BAAkB,IADoB;AAEtC,oBAAY,UAF0B;AAGtC,kBAAU,KAAK,KAAK,CAHkB;AAItC,kBAAU,KAAK,KAAK;AAJkB,OAAD,CAAzC;AAOA,UAAM,WAAW,GAAG,UAAU,CAAC;AAC3B,mBAAW,IADgB;AAE3B,uBAAe,IAAI,KAAK;AAFG,OAAD,CAA9B;AAMA,UAAM,cAAc,GAAG,UAAU,CAAC;AAC9B,sBAAc,IADgB;AAE9B,0BAAkB,IAAI,KAAK,CAAC;AAFE,OAAD,CAAjC;AAKA,UAAM,mBAAmB,GAAG,UAAU,CAAC;AACnC,wBAAgB,IADmB;AAEnC,wBAAgB,WAAW,IAAI,CAAC;AAFG,OAAD,CAAtC;AAIA,UAAM,iBAAiB,GAAG,UAAU,CAAC;AACjC,uBAAe,IADkB;AAEjC,kBAAU,KAAK,KAAK,CAFa;AAGjC,kBAAU,KAAK,KAAK;AAHa,OAAD,CAApC;AAKA,UAAM,2BAA2B,GAAG,UAAU,CAAC;AAC3C,gCAAwB,IADmB;AAE3C,kBAAU,KAAK,KAAK,CAFuB;AAG3C,kBAAU,KAAK,KAAK;AAHuB,OAAD,CAA9C;AAQA,UAAM,aAAa,GAAG,KAAK,GAAG,CAAR,GAAY,CAAZ,GAAgB,KAAtC;AACA,UAAM,eAAe,GAAG,OAAO,GAAG,CAAV,GAAc,CAAd,GAAkB,OAA1C;AACA,aACI;AAAK,UAAE,EAAC,yBAAR;AAAkC,iBAAS,EAAE;AAA7C,SACI;AAAK,iBAAS,EAAC,SAAf;AAAyB,eAAO,EAAE;AAAlC,SACK,KAAK,KAAK,CAAV,IAAe;AAAK,iBAAS,EAAC;AAAf,SAA6B,MAA7B,EAA2C,GAA3C,CADpB,EAEK,KAAK,KAAK,CAAV,IAAe;AAAK,iBAAS,EAAC;AAAf,SAAsC;AAAM,iBAAS,EAAC;AAAhB,QAAtC,CAFpB,EAGI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAE;AAAhB,SACI,kCAAO,KAAP,CADJ,EAEK,IAAI,CAAC,MAAL,KAAgB,CAAhB,IAAqB,kCAAO,8BAAe,IAAf,EAAqB,eAArB,CAAP,CAF1B,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,MAAM,KAAK,EAAX,GAAgB;AAAM,iBAAS,EAAC;AAAhB,mBAA6B,MAA7B,GAA8C,GAA9C,CAAhB,GAAiE,IADtE,EAEI;AAAM,iBAAS,EAAC;AAAhB,S,GAAA,YAAmC,kBAAnC,SAAwD,eAAe,GAAG,QAAQ,eAAX,GAA6B,EAApG,GAAiH,GAAjH,CAFJ,CADJ,CALJ,CAHJ,CADJ,EAkBK,UAAU,IACP;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAE;AAAhB,SAAoC,IAApC,CADJ,EAEI;AAAK,iBAAS,EAAE;AAAhB,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,iBAAS,EAAC,gBADd;AAEI,aAAK,EAAC,yDAFV;AAGI,gBAAQ,EAAE,uBAHd;AAII,eAAO,EAAE,kBAAC;AAAA,iBAAI,oBAAoB,CAAC,KAAD,CAAxB;AAAA;AAJd,SAKI;AAAM,iBAAS,EAAC;AAAhB,QALJ,EAMI,4FANJ,CADJ,EASI;AAAQ,iBAAS,EAAC,kBAAlB;AAAqC,aAAK,EAAE,8BAAe,IAAf,EAAqB,mBAArB,CAA5C;AAAuF,gBAAQ,EAAE,uBAAjG;AACI,eAAO,EAAE,kBAAC;AAAA,iBAAI,oBAAoB,CAAC,OAAD,CAAxB;AAAA;AADd,SAEI;AAAM,iBAAS,EAAC;AAAhB,QAFJ,EAGI,kC,GAAA,EAAQ,8BAAe,IAAf,EAAqB,mBAArB,CAAR,CAHJ,CATJ,CADJ,EAiBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,SAAgC,aAAhC,CADJ,EAEI;AACI,iBAAS,EAAE,WADf;AAEI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,sBAAsB,CAAC,IAAD,EAAO,QAAP,CAA7B;AAAA,SAFb;AAGI,aAAK,EAAC,4BAHV;AAGuC,eAAO,EAAC;AAH/C,SAII;AAAG,UAAE,EAAC,MAAN;AAAa,iBAAS,EAAC;AAAvB,SACI;AAAG,UAAE,EAAC,WAAN;AAAiB,qBAAW,WAA5B;AAAwC,iBAAS,EAAC;AAAlD,SACI;AAAG,UAAE,EAAC,WAAN;AAAiB,qBAAW;AAA5B,SACI;AAAM,UAAE,EAAC,SAAT;AAAmB,SAAC,EAAC,07BAArB;AAAg9B,iBAAS,EAAC,MAA19B;AAAg+B,qBAAW,SAA3+B;AAAq/B,iBAAS,EAAC;AAA//B,QADJ,CADJ,CADJ,CAJJ,CAFJ,EAgBI;AACI,iBAAS,EAAE,cADf;AAEI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,sBAAsB,CAAC,KAAD,EAAQ,QAAR,CAA7B;AAAA,SAFb;AAGI,aAAK,EAAC,4BAHV;AAGuC,UAAE,EAAC,MAH1C;AAGiD,eAAO,EAAC;AAHzD,SAII;AAAG,UAAE,EAAC,WAAN;AAAiB,qBAAW;AAA5B,SACI;AAAG,UAAE,EAAC,WAAN;AAAiB,qBAAW;AAA5B,SACI;AAAM,UAAE,EAAC,SAAT;AAAmB,SAAC,EAAC,s7BAArB;AAA48B,iBAAS,EAAC,OAAt9B;AAA69B,qBAAW,SAAx+B;AAAk/B,iBAAS,EAAC;AAA5/B,QADJ,CADJ,CAJJ,CAhBJ,EA0BI;AAAM,iBAAS,EAAC;AAAhB,SAA+C,eAA/C,CA1BJ,CAjBJ,CAFJ,EAiDI,oBAAC,6CAAD,EAAsB;AAClB,cAAM,EAAE,gBAAC,KAAD;AAAA,iBAAsC,oBAAC,qDAAD,EAA0B;AAAC,iBAAK,EAAE;AAAR,WAA1B,CAAtC;AAAA,SADU;AAElB,YAAI,EAAE,IAFY;AAGlB,iBAAS,EAAE,SAHO;AAIlB,gBAAQ,EAAE,eAJQ;AAKlB,8BAAsB,EAAE,sBALN;AAMlB,wBAAgB,EAAE,EANA;AAOlB,+BAAuB,EAAE;AAPP,OAAtB,CAjDJ,CAnBR,CADJ;AAkFH;;;;EA1I0C,KAAK,CAAC,S;;AAArD,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;;AAEA,mBAAO,CAAC,mCAAD,CAAP;;IAMa,gC;;;;;AAAb;AAAA;;AAAA;;;;AACY,uCAA6B,UAAC,CAAD,EAAM;AAAA,UAC/B,oBAD+B,GACN,MAAK,KAAL,CAAW,KADL,CAC/B,oBAD+B;AAEvC,0BAAoB;AACvB,KAHO;;AADZ;AA4DC;;;;6BAtDS;AAAA,8BAEmE,KAAK,KAAL,CAAW,KAF9E;AAAA,UACM,IADN,qBACM,IADN;AAAA,UACY,KADZ,qBACY,KADZ;AAAA,UACmB,aADnB,qBACmB,aADnB;AAAA,UACkC,gBADlC,qBACkC,gBADlC;AAAA,UACoD,aADpD,qBACoD,aADpD;AAAA,UACmE,sBADnE,qBACmE,sBADnE;AAAA,UAC2F,uBAD3F,qBAC2F,uBAD3F;AAAA,UAEE,iBAFF,qBAEE,iBAFF;AAAA,UAEqB,oBAFrB,qBAEqB,oBAFrB;AAAA,UAE2C,mBAF3C,qBAE2C,mBAF3C;AAGF,UAAI,eAAe,GAAG,KAAK,GAAG;AAAE,mBAAW,EAAE;AAAf,OAAH,GAA4B,EAAvD;AACA,UAAM,WAAW,GAAG,sBAAsB,GAAG,kBAAH,GAAwB,kBAAlE;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,aAAa,KAAK,CAAlB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI,uKADJ,CAFR,EAMK,aAAa,KAAK,CAAlB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI,sHADJ,EAEI;AAAM,aAAK,EAAE;AAAb,oBAAmC,aAAnC,QAA4D,GAA5D,CAFJ,EAGI,iFAHJ,EAII,kCAAO,gBAAP,EAAgC,GAAhC,CAJJ,EAKI,yEALJ,CAPR,EAcK,CAAE,aAAa,KAAK,cAAlB,IAAoC,aAAa,KAAK,cAAxD,KAA4E,aAAa,GAAG,CAA5F,IACG;AAAQ,iBAAS,EAAC,uBAAlB;AAA0C,aAAK,EAAE,WAAjD;AAA8D,eAAO,EAAE,kBAAC;AAAA,iBAAI,iBAAiB,CAAC,CAAC,sBAAF,CAArB;AAAA;AAAxE,SACI,kC,KAAA,EAAU,WAAV,CADJ,CAfR,CADJ,EAqBI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,WAAG,EAAC,eADR;AAEI,iBAAS,EAAC,eAFd;AAGI,aAAK,EAAC,yDAHV;AAII,gBAAQ,EAAE,uBAJd;AAKI,eAAO,EAAE,KAAK;AALlB,SAMI;AAAM,iBAAS,EAAC;AAAhB,QANJ,EAOI,4FAPJ,CADJ,EAUK,aAAa,GAAG,CAAhB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,SAA6B,2BAA7B,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,CAFJ,EAKI;AAAQ,iBAAS,EAAC,YAAlB;AAA+B,oBAAY,EAAE,aAA7C;AAA4D,gBAAQ,EAAE;AAAtE,SACI;AAAQ,aAAK,EAAC;AAAd,SAA8B,8BAAe,IAAf,EAAqB,cAArB,CAA9B,CADJ,EAEK,aAAa,GAAG,CAAhB,IAAqB;AAAQ,aAAK,EAAC;AAAd,SAA8B,8BAAe,IAAf,EAAqB,cAArB,CAA9B,CAF1B,EAGK,aAAa,GAAG,CAAhB,IAAqB;AAAQ,aAAK,EAAC;AAAd,SAA6B,8BAAe,IAAf,EAAqB,aAArB,CAA7B,CAH1B,EAIK,aAAa,GAAG,CAAhB,IAAqB;AAAQ,aAAK,EAAC;AAAd,SAA0B,8BAAe,IAAf,EAAqB,UAArB,CAA1B,CAJ1B,CALJ,CAXR,CArBJ,CADJ;AAgDH;;;;EA3DiD,KAAK,CAAC,S;;AAA5D,4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAMa,+B;;;;;AAAb;AAAA;;AAAA;;;;AACY,uCAA6B,UAAC,CAAD,EAAM;AAAA,UAC/B,oBAD+B,GACN,MAAK,KAAL,CAAW,KADL,CAC/B,oBAD+B;AAEvC,0BAAoB;AACvB,KAHO;;AADZ;AAsDC;;;;6BAhDS;AAAA,8BACoH,KAAK,KAAL,CAAW,KAD/H;AAAA,UACM,IADN,qBACM,IADN;AAAA,UACY,KADZ,qBACY,KADZ;AAAA,UACmB,aADnB,qBACmB,aADnB;AAAA,UACkC,gBADlC,qBACkC,gBADlC;AAAA,UACoD,aADpD,qBACoD,aADpD;AAAA,UACmE,uBADnE,qBACmE,uBADnE;AAAA,UAC4F,mBAD5F,qBAC4F,mBAD5F;AAEF,UAAI,eAAe,GAAG,KAAK,GAAG;AAAE,mBAAW,EAAE;AAAf,OAAH,GAA4B,EAAvD;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,aAAa,KAAK,CAAlB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,8BAAe,IAAf,EAAqB,8BAArB,CAAP,CADJ,CAFR,EAMK,aAAa,KAAK,CAAlB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,8BAAe,IAAf,EAAqB,mBAArB,CAAP,EAAyD,GAAzD,CADJ,EAEI;AAAM,aAAK,EAAE;AAAb,oBAAmC,aAAnC,QAA4D,GAA5D,CAFJ,EAGI,4CAAU,8BAAe,IAAf,EAAqB,aAArB,CAAV,EAHJ,EAII,kCAAO,CAAC,KAAD,eAAc,gBAAd,MAAP,CAJJ,EAKI,kCAAO,CAAC,KAAD,IAAU,8BAAe,IAAf,EAAqB,aAArB,CAAjB,CALJ,CAPR,CADJ,EAiBI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,WAAG,EAAC,eADR;AAEI,iBAAS,EAAC,eAFd;AAGI,aAAK,EAAE,8BAAe,IAAf,EAAqB,aAArB,CAHX;AAII,gBAAQ,EAAE,uBAJd;AAKI,eAAO,EAAE,KAAK;AALlB,SAMI,kCAAO,8BAAe,IAAf,EAAqB,sBAArB,CAAP,CANJ,CADJ,EASK,aAAa,GAAG,CAAhB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,mBAAkC,8BAAe,IAAf,EAAqB,kBAArB,CAAlC,EADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACA;AAAK,iBAAS,EAAC;AAAf,QADA,CAFJ,EAKI;AAAQ,iBAAS,EAAC,YAAlB;AAA+B,oBAAY,EAAE,aAA7C;AAA4D,gBAAQ,EAAE;AAAtE,SACI;AAAQ,aAAK,EAAC;AAAd,SAA8B,8BAAe,IAAf,EAAqB,cAArB,CAA9B,CADJ,EAEK,aAAa,GAAG,CAAhB,IAAqB;AAAQ,aAAK,EAAC;AAAd,SAA8B,8BAAe,IAAf,EAAqB,cAArB,CAA9B,CAF1B,EAGK,aAAa,GAAG,CAAhB,IAAqB;AAAQ,aAAK,EAAC;AAAd,SAA6B,8BAAe,IAAf,EAAqB,aAArB,CAA7B,CAH1B,EAIK,aAAa,GAAG,CAAhB,IAAqB;AAAQ,aAAK,EAAC;AAAd,SAA0B,8BAAe,IAAf,EAAqB,UAArB,CAA1B,CAJ1B,CALJ,CAVR,CAjBJ,CADJ;AA2CH;;;;EArDgD,KAAK,CAAC,S;;AAA3D,0E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICuCa,gC;;;;;;;;;;;;;6BAEH;AAAA,wBAGuG,KAAK,KAH5G;AAAA,UACM,IADN,eACM,IADN;AAAA,UACY,SADZ,eACY,SADZ;AAAA,UACuB,QADvB,eACuB,QADvB;AAAA,UACiC,gBADjC,eACiC,gBADjC;AAAA,UACmD,aADnD,eACmD,aADnD;AAAA,UACkE,uBADlE,eACkE,uBADlE;AAAA,UAC2F,sBAD3F,eAC2F,sBAD3F;AAAA,UACmH,8BADnH,eACmH,8BADnH;AAAA,UAEE,iCAFF,eAEE,iCAFF;AAAA,UAEqC,iBAFrC,eAEqC,iBAFrC;AAAA,UAEwD,sBAFxD,eAEwD,sBAFxD;AAAA,UAEgF,oBAFhF,eAEgF,oBAFhF;AAAA,UAEsG,yBAFtG,eAEsG,yBAFtG;AAAA,UAGE,wBAHF,eAGE,wBAHF;AAAA,UAG4B,6BAH5B,eAG4B,6BAH5B;AAAA,UAG2D,YAH3D,eAG2D,YAH3D;AAAA,UAGyE,gBAHzE,eAGyE,gBAHzE;AAAA,UAG2F,OAH3F,eAG2F,OAH3F;AAIF,aACI,iCACK,KAAK,KAAL,CAAW,MAAX,CAAkB;AACf,YAAI,EAAJ,IADe;AAEf,iBAAS,EAAT,SAFe;AAGf,gBAAQ,EAAR,QAHe;AAIf,wBAAgB,EAAhB,gBAJe;AAKf,+BAAuB,EAAvB,uBALe;AAMf,8BAAsB,EAAtB,sBANe;AAOf,sCAA8B,EAA9B,8BAPe;AAQf,qBAAa,EAAb,aARe;AASf,yCAAiC,EAAjC,iCATe;AAUf,yBAAiB,EAAjB,iBAVe;AAWf,8BAAsB,EAAtB,sBAXe;AAYf,4BAAoB,EAApB,oBAZe;AAaf,iCAAyB,EAAzB,yBAbe;AAcf,gCAAwB,EAAxB,wBAde;AAef,qCAA6B,EAA7B,6BAfe;AAgBf,oBAAY,EAAZ,YAhBe;AAiBf,wBAAgB,EAAhB,gBAjBe;AAkBf,eAAO,EAAP;AAlBe,OAAlB,CADL,CADJ;AAwBH;;;;EA9BiD,KAAK,CAAC,S;;AAA5D,4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9CA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;IAKa,uB;;;;;AAAb;AAAA;;AAAA;;;;AACY,+BAAqB,YAAK;AAAA,UACtB,IADsB,GACb,MAAK,KAAL,CAAW,KADE,CACtB,IADsB;AAE9B,UAAI,IAAI,KAAK,IAAb,EAAmB,OAAO,oDAAP,CAAnB,KACK,OAAO,sDAAP;AACR,KAJO;;AAMA,mCAAyB,YAAK;AAAA,8BAC4B,MAAK,KAAL,CAAW,KADvC;AAAA,UAC1B,UAD0B,qBAC1B,UAD0B;AAAA,UACd,aADc,qBACd,aADc;AAAA,UACC,sBADD,qBACC,sBADD;AAElC,gBAAU;AACV,4BAAsB;AACtB,mBAAa;AAChB,KALO;;AAOR,6BAAmB,YAAK;AACpB;AACH,KAFD;;AAIA,kCAAwB,YAAK;AACzB;AACH,KAFD;;AAlBJ;AA4HC;;;;6BArGS;AAAA,+BAEsG,KAAK,KAAL,CAAW,KAFjH;AAAA,UACM,uBADN,sBACM,uBADN;AAAA,UAC+B,MAD/B,sBAC+B,MAD/B;AAAA,UACuC,KADvC,sBACuC,KADvC;AAAA,UAC8C,IAD9C,sBAC8C,IAD9C;AAAA,UACoD,KADpD,sBACoD,KADpD;AAAA,UAC2D,OAD3D,sBAC2D,OAD3D;AAAA,UACoE,SADpE,sBACoE,SADpE;AAAA,UAC+E,QAD/E,sBAC+E,QAD/E;AAAA,UAEE,IAFF,sBAEE,IAFF;AAAA,UAEQ,kBAFR,sBAEQ,kBAFR;AAAA,UAE4B,sBAF5B,sBAE4B,sBAF5B;AAAA,UAEoD,UAFpD,sBAEoD,UAFpD;AAAA,UAEgE,cAFhE,sBAEgE,cAFhE;AAAA,UAEgF,iBAFhF,sBAEgF,iBAFhF;AAGF,UAAM,qBAAqB,GAAG,UAAU,CAAC;AACrC,mCAA2B,IADU;AAErC,kBAAU,uBAF2B;AAGrC,gBAAQ,CAAC;AAH4B,OAAD,CAAxC;AAKA,aACI;AAAK,iBAAS,EAAE;AAAhB,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,MAAD,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,S,GAAA,EAA8B,QAAQ,KAAK,OAAb,GAAuB,8BAAe,IAAf,EAAqB,4BAArB,CAAvB,GAA4E,8BAAe,IAAf,EAAqB,iBAArB,CAA1G,EAA0J,GAA1J,CADJ,EAEI;AAAQ,iBAAS,EAAC,iBAAlB;AAAoC,aAAK,EAAE,8BAAe,IAAf,EAAqB,mBAArB,CAA3C;AAAsF,eAAO,EAAE,kBAAC;AAAA,iBAAI,kBAAkB,EAAtB;AAAA;AAAhG,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,EAEI,kCAAO,8BAAe,IAAf,EAAqB,OAArB,CAAP,CAFJ,CAFJ,CADJ,EAQK,SAAS,IAAI;AAAK,iBAAS,EAAC;AAAf,SACV;AAAK,iBAAS,EAAC;AAAf,SAA2B,4CAAU,8BAAe,IAAf,EAAqB,SAArB,CAAV,EAA3B,CADU,EAEV;AAAK,iBAAS,EAAC;AAAf,SAAsC,4CAAU,8BAAe,IAAf,EAAqB,qCAArB,CAAV,EAAtC,CAFU,EAGV;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,WAAlB;AAA8B,aAAK,EAAE,8BAAe,IAAf,EAAqB,SAArB,CAArC;AAAsE,eAAO,EAAE,KAAK;AAApF,SAA4G,kCAAO,8BAAe,IAAf,EAAqB,SAArB,CAAP,CAA5G,CADJ,EAEI;AAAQ,iBAAS,EAAC,WAAlB;AAA8B,aAAK,EAAE,8BAAe,IAAf,EAAqB,QAArB,CAArC;AAAqE,eAAO,EAAE,kBAAC;AAAA,iBAAI,UAAU,EAAd;AAAA;AAA/E,SAAiG,kCAAO,8BAAe,IAAf,EAAqB,QAArB,CAAP,CAAjG,CAFJ,CAHU,CARlB,EAgBI;AAAK,iBAAS,EAAC;AAAf,SACA;AACI,iBAAS,EAAC,6BADd;AAEI,iBAAS,EAAE,EAFf;AAGI,aAAK,EAAE,IAHX;AAII,mBAAW,EAAE,8BAAe,IAAf,EAAqB,MAArB,CAJjB;AAKI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,MAAJ,CAArB;AAAA,SALd;AAMI,eAAO,EAAE,KAAK,gBANlB;AAOI,cAAM,EAAE,KAAK;AAPjB,QADA,EAUA;AACI,iBAAS,EAAC,6BADd;AAEI,iBAAS,EAAE,EAFf;AAGI,aAAK,EAAE,KAHX;AAII,mBAAW,EAAE,8BAAe,IAAf,EAAqB,OAArB,CAJjB;AAKI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,OAAJ,CAArB;AAAA,SALd;AAMI,eAAO,EAAE,KAAK,gBANlB;AAOI,cAAM,EAAE,KAAK;AAPjB,QAVA,CAhBJ,EAoCI;AAAK,iBAAS,EAAC;AAAf,SACA;AACI,iBAAS,EAAC,kBADd;AAEI,YAAI,EAAC,MAFT;AAGI,iBAAS,EAAE,EAHf;AAII,aAAK,EAAE,KAJX;AAKI,mBAAW,EAAE,8BAAe,IAAf,EAAqB,OAArB,CALjB;AAMI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,OAAJ,CAArB;AAAA,SANd;AAOI,eAAO,EAAE,KAAK,gBAPlB;AAQI,cAAM,EAAE,KAAK;AARjB,QADA,EAWA;AACI,iBAAS,EAAC,oBADd;AAEI,YAAI,EAAC,MAFT;AAGI,iBAAS,EAAE,IAHf;AAII,aAAK,EAAE,OAJX;AAKI,mBAAW,EAAE,8BAAe,IAAf,EAAqB,iBAArB,CALjB;AAMI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,SAAJ,CAArB;AAAA,SANd;AAOI,eAAO,EAAE,KAAK,gBAPlB;AAQI,cAAM,EAAE,KAAK;AARjB,QAXA,CApCJ,EA0DI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,wCADL,EAEA;AAAG,YAAI,EAAE,KAAK,kBAAL,EAAT;AAAoC,cAAM,EAAC,QAA3C;AAAoD,aAAK,EAAE,8BAAe,IAAf,EAAqB,cAArB,CAA3D;AAAiG,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAAxG,SAA8H,iFAA9H,CAFA,EAGK,iDAHL,CADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,SAAlB;AAA4B,UAAE,EAAC,sBAA/B;AAAsD,aAAK,EAAE,8BAAe,IAAf,EAAqB,cAArB,CAA7D;AAAmG,eAAO,EAAE,kBAAC;AAAA,iBAAI,iBAAiB,EAArB;AAAA;AAA7G,SACI,kCAAO,8BAAe,IAAf,EAAqB,cAArB,CAAP,CADJ,CADJ,CANJ,CA1DJ,CAFR,EA0EK,MAAM,IAAI;AAAK,iBAAS,EAAC;AAAf,SACP;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA0B,kCAAO,8BAAe,IAAf,EAAqB,WAArB,CAAP,EAAiD,GAAjD,CAA1B,CADJ,EAEI;AAAQ,iBAAS,EAAC,kBAAlB;AAAqC,aAAK,EAAE,8BAAe,IAAf,EAAqB,mBAArB,CAA5C;AAAuF,eAAO,EAAE,KAAK;AAArG,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,SAAmC,8BAAe,IAAf,EAAqB,mBAArB,CAAnC,CAFJ,CAFJ,CADO,EAQP;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,8BAAe,IAAf,EAAqB,mCAArB,CAAP,CADJ,CARO,CA1Ef,CADJ,CADJ;AA4FH;;;;EA3HwC,KAAK,CAAC,S;;AAAnD,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;AAEA;;AACA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAMa,uB;;;;;;;;;;;;;6BAGH;AAAA,8BAaQ,KAAK,KAAL,CAAW,KAbnB;AAAA,UACM,IADN,qBACM,IADN;AAAA,UACY,UADZ,qBACY,UADZ;AAAA,UACwB,IADxB,qBACwB,IADxB;AAAA,UAC8B,aAD9B,qBAC8B,aAD9B;AAAA,UAC6C,KAD7C,qBAC6C,KAD7C;AAAA,UACoD,OADpD,qBACoD,OADpD;AAAA,UAC6D,iBAD7D,qBAC6D,iBAD7D;AAAA,UACgF,eADhF,qBACgF,eADhF;AAAA,UACiG,SADjG,qBACiG,SADjG;AAAA,UAEE,uBAFF,qBAEE,uBAFF;AAAA,UAE2B,sBAF3B,qBAE2B,sBAF3B;AAAA,UAEmD,oBAFnD,qBAEmD,oBAFnD;AAAA,UAEyE,sBAFzE,qBAEyE,sBAFzE;AAAA,oDAGE,OAHF;AAAA,UAIM,EAJN,yBAIM,EAJN;AAAA,UAKM,MALN,yBAKM,MALN;AAAA,UAMM,KANN,yBAMM,KANN;AAAA,UAOM,IAPN,yBAOM,IAPN;AAAA,UAQM,MARN,yBAQM,MARN;AAAA,UASM,OATN,yBASM,OATN;AAAA,UAUM,KAVN,yBAUM,KAVN;AAAA,UAWM,WAXN,yBAWM,WAXN;AAAA,UAYM,eAZN,yBAYM,eAZN;AAeF,UAAM,kBAAkB,GAAG,qDAAsC,OAAtC,EAA+C;AAAE,gBAAQ,EAAE,KAAZ;AAAmB,yBAAiB,EAAE;AAAtC,OAA/C,CAA3B;AACA,UAAM,sBAAsB,GAAG,UAAU,CAAC;AACtC,0BAAkB,IADoB;AAEtC,oBAAY,UAF0B;AAGtC,kBAAU,KAAK,KAAK,CAHkB;AAItC,kBAAU,KAAK,KAAK;AAJkB,OAAD,CAAzC;AAOA,UAAM,WAAW,GAAG,UAAU,CAAC;AAC3B,mBAAW,IADgB;AAE3B,uBAAe,IAAI,KAAK;AAFG,OAAD,CAA9B;AAMA,UAAM,cAAc,GAAG,UAAU,CAAC;AAC9B,sBAAc,IADgB;AAE9B,0BAAkB,IAAI,KAAK,CAAC;AAFE,OAAD,CAAjC;AAKA,UAAM,mBAAmB,GAAG,UAAU,CAAC;AACnC,wBAAgB,IADmB;AAEnC,wBAAgB,WAAW,IAAI,CAAC;AAFG,OAAD,CAAtC;AAIA,UAAM,iBAAiB,GAAG,UAAU,CAAC;AACjC,uBAAe,IADkB;AAEjC,kBAAU,KAAK,KAAK,CAFa;AAGjC,kBAAU,KAAK,KAAK;AAHa,OAAD,CAApC;AAKA,UAAM,2BAA2B,GAAG,UAAU,CAAC;AAC3C,gCAAwB,IADmB;AAE3C,kBAAU,KAAK,KAAK,CAFuB;AAG3C,kBAAU,KAAK,KAAK;AAHuB,OAAD,CAA9C;AAKA,UAAM,iBAAiB,GAAG,UAAU,CAAC;AACjC,sBAAc,IADmB;AAEjC,wBAAgB;AAFiB,OAAD,CAApC;AAIA,UAAM,aAAa,GAAG,KAAK,GAAG,CAAR,GAAY,CAAZ,GAAgB,KAAtC;AACA,UAAM,eAAe,GAAG,OAAO,GAAG,CAAV,GAAc,CAAd,GAAkB,OAA1C;AACA,aACI;AAAK,UAAE,EAAC,uBAAR;AAAgC,iBAAS,EAAE;AAA3C,SACI;AAAK,iBAAS,EAAC,SAAf;AAAyB,eAAO,EAAE;AAAlC,SACK,KAAK,KAAK,CAAV,IAAe;AAAK,iBAAS,EAAE;AAAhB,SAAoC,MAApC,EAAkD,GAAlD,CADpB,EAEK,KAAK,KAAK,CAAV,IAAe;AAAK,iBAAS,EAAC;AAAf,SAAsC;AAAM,iBAAS,EAAC;AAAhB,QAAtC,CAFpB,EAGI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,MAAM,KAAK,EAAX,GAAgB;AAAM,iBAAS,EAAC;AAAhB,mBAA6B,MAA7B,EAAhB,GAAgE,IADrE,EAEI;AAAM,iBAAS,EAAC;AAAhB,S,GAAA,YAAmC,kBAAnC,SAAwD,eAAe,GAAG,QAAQ,eAAX,GAA6B,EAApG,EAFJ,CADJ,CADJ,EAQI;AAAK,iBAAS,EAAE;AAAhB,SACI,kCAAO,KAAP,CADJ,EAEK,IAAI,CAAC,MAAL,KAAgB,CAAhB,IAAqB,kCAAO,8BAAe,IAAf,EAAqB,eAArB,CAAP,CAF1B,CARJ,CAHJ,CADJ,EAmBK,UAAU,IACP;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAE;AAAhB,SAAoC,IAApC,CADJ,EAEI;AAAK,iBAAS,EAAE;AAAhB,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,eAAlB;AAAkC,aAAK,EAAE,8BAAe,IAAf,EAAqB,aAArB,CAAzC;AAA8E,gBAAQ,EAAE,uBAAxF;AAAiH,eAAO,EAAE,kBAAC;AAAA,iBAAI,oBAAoB,CAAC,KAAD,CAAxB;AAAA;AAA3H,SACI,kC,IAAA,EAAS,8BAAe,IAAf,EAAqB,aAArB,CAAT,CADJ,CADJ,EAII;AAAQ,iBAAS,EAAC,iBAAlB;AAAoC,aAAK,EAAE,8BAAe,IAAf,EAAqB,mBAArB,CAA3C;AAAsF,gBAAQ,EAAE,uBAAhG;AACI,eAAO,EAAE,kBAAC;AAAA,iBAAI,oBAAoB,CAAC,OAAD,CAAxB;AAAA;AADd,SAEI,kC,GAAA,EAAQ,8BAAe,IAAf,EAAqB,mBAArB,CAAR,CAFJ,CAJJ,CADJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,SAAgC,aAAhC,CADJ,EAEI;AACI,iBAAS,EAAE,WADf;AAEI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,sBAAsB,CAAC,IAAD,EAAO,QAAP,CAA7B;AAAA,SAFb;AAGI,aAAK,EAAC,4BAHV;AAGuC,eAAO,EAAC;AAH/C,SAII;AAAG,UAAE,EAAC,MAAN;AAAa,iBAAS,EAAC;AAAvB,SACI;AAAG,UAAE,EAAC,WAAN;AAAiB,qBAAW,WAA5B;AAAwC,iBAAS,EAAC;AAAlD,SACI;AAAG,UAAE,EAAC,WAAN;AAAiB,qBAAW;AAA5B,SACI;AAAM,UAAE,EAAC,SAAT;AAAmB,SAAC,EAAC,07BAArB;AAAg9B,iBAAS,EAAC,MAA19B;AAAg+B,qBAAW,SAA3+B;AAAq/B,iBAAS,EAAC;AAA//B,QADJ,CADJ,CADJ,CAJJ,CAFJ,EAgBI;AACI,iBAAS,EAAE,cADf;AAEI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,sBAAsB,CAAC,KAAD,EAAQ,QAAR,CAA7B;AAAA,SAFb;AAGI,aAAK,EAAC,4BAHV;AAGuC,UAAE,EAAC,MAH1C;AAGiD,eAAO,EAAC;AAHzD,SAII;AAAG,UAAE,EAAC,WAAN;AAAiB,qBAAW;AAA5B,SACI;AAAG,UAAE,EAAC,WAAN;AAAiB,qBAAW;AAA5B,SACI;AAAM,UAAE,EAAC,SAAT;AAAmB,SAAC,EAAC,s7BAArB;AAA48B,iBAAS,EAAC,OAAt9B;AAA69B,qBAAW,SAAx+B;AAAk/B,iBAAS,EAAC;AAA5/B,QADJ,CADJ,CAJJ,CAhBJ,EA0BI;AAAM,iBAAS,EAAC;AAAhB,SAA+C,eAA/C,CA1BJ,CAXJ,CAFJ,EA2CI,oBAAC,6CAAD,EAAsB;AAClB,cAAM,EAAE,gBAAC,KAAD;AAAA,iBAAsC,oBAAC,iDAAD,EAAwB;AAAC,iBAAK,EAAE;AAAR,WAAxB,CAAtC;AAAA,SADU;AAElB,YAAI,EAAE,IAFY;AAGlB,iBAAS,EAAE,SAHO;AAIlB,gBAAQ,EAAE,eAJQ;AAKlB,8BAAsB,EAAE,sBALN;AAMlB,wBAAgB,EAAE,EANA;AAOlB,+BAAuB,EAAE;AAPP,OAAtB,CA3CJ,CApBR,CADJ;AA6EH;;;;EAtIwC,KAAK,CAAC,S;;AAAnD,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAMa,8B;;;;;AAAb;AAAA;;AAAA;;;;AACY,uCAA6B,UAAC,CAAD,EAAM;AAAA,UAC/B,oBAD+B,GACN,MAAK,KAAL,CAAW,KADL,CAC/B,oBAD+B;AAEvC,0BAAoB;AACvB,KAHO;;AADZ;AAyDC;;;;6BAnDS;AAAA,8BAEmE,KAAK,KAAL,CAAW,KAF9E;AAAA,UACM,IADN,qBACM,IADN;AAAA,UACY,KADZ,qBACY,KADZ;AAAA,UACmB,aADnB,qBACmB,aADnB;AAAA,UACkC,gBADlC,qBACkC,gBADlC;AAAA,UACoD,aADpD,qBACoD,aADpD;AAAA,UACmE,sBADnE,qBACmE,sBADnE;AAAA,UAC2F,uBAD3F,qBAC2F,uBAD3F;AAAA,UAEE,iBAFF,qBAEE,iBAFF;AAAA,UAEqB,oBAFrB,qBAEqB,oBAFrB;AAAA,UAE2C,mBAF3C,qBAE2C,mBAF3C;AAGF,UAAI,eAAe,GAAG,KAAK,GAAG;AAAE,mBAAW,EAAE;AAAf,OAAH,GAA4B,EAAvD;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,aAAa,KAAK,CAAlB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,8BAAe,IAAf,EAAqB,8BAArB,CAAP,CADJ,CAFR,EAMK,aAAa,KAAK,CAAlB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,8BAAe,IAAf,EAAqB,mBAArB,CAAP,EAAyD,GAAzD,CADJ,EAEI;AAAM,aAAK,EAAE;AAAb,oBAAmC,aAAnC,QAA4D,GAA5D,CAFJ,EAGA,4CAAU,8BAAe,IAAf,EAAqB,aAArB,CAAV,QAHA,EAII,kCAAO,CAAC,KAAD,cAAa,gBAAb,MAAP,CAJJ,EAKI,kCAAO,CAAC,KAAD,IAAU,8BAAe,IAAf,EAAqB,aAArB,CAAjB,CALJ,CAPR,EAgBK,aAAa,GAAG,CAAhB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,mBAAkC,8BAAe,IAAf,EAAqB,kBAArB,CAAlC,EADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,CAFJ,EAKI;AAAQ,iBAAS,EAAC,YAAlB;AAA+B,oBAAY,EAAE,aAA7C;AAA4D,gBAAQ,EAAE;AAAtE,SACI;AAAQ,aAAK,EAAC;AAAd,SAA8B,8BAAe,IAAf,EAAqB,cAArB,CAA9B,CADJ,EAEK,aAAa,GAAG,CAAhB,IAAqB;AAAQ,aAAK,EAAC;AAAd,SAA8B,8BAAe,IAAf,EAAqB,cAArB,CAA9B,CAF1B,EAGK,aAAa,GAAG,CAAhB,IAAqB;AAAQ,aAAK,EAAC;AAAd,SAA6B,8BAAe,IAAf,EAAqB,aAArB,CAA7B,CAH1B,EAIK,aAAa,GAAG,CAAhB,IAAqB;AAAQ,aAAK,EAAC;AAAd,SAA0B,8BAAe,IAAf,EAAqB,UAArB,CAA1B,CAJ1B,CALJ,CAjBR,CADJ,EAgCI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,WAAG,EAAC,eADR;AAEI,iBAAS,EAAC,eAFd;AAGI,aAAK,EAAE,8BAAe,IAAf,EAAqB,aAArB,CAHX;AAII,gBAAQ,EAAE,uBAJd;AAKI,eAAO,EAAE,KAAK;AALlB,SAMI,kCAAO,8BAAe,IAAf,EAAqB,sBAArB,CAAP,CANJ,CADJ,CAhCJ,CADJ;AA6CH;;;;EAxD+C,KAAK,CAAC,S;;AAA1D,wE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRA;;AACA;;AAEA;;IAca,oB;;;;;AAAb;AAAA;;AAAA;;;;AAkIY,uBAAa,YAAK;AACtB,cAAQ,CACH,aADL,CACmB,gBADnB,EAEK,SAFL,CAEe,OAFf,CAEuB,UAFvB,EAEmC,UAFnC;AAGA;AACH,KALO;;AAlIZ;AAqKC;;;;wCAlKoB;AAAA,wBAOT,KAAK,KAPI;AAAA,UAET,SAFS,eAET,SAFS;AAAA,UAGT,mBAHS,eAGT,mBAHS;AAAA,UAIT,OAJS,eAIT,OAJS;AAAA,UAKT,UALS,eAKT,UALS;AAAA,UAMT,WANS,eAMT,WANS;AAQb,UAAI,CAAC,GAAG,QAAQ,CAAC,aAAT,CAAuB,QAAvB,CAAR;;AACA,OAAC,CAAC,MAAF,GAAW,YAAK;AACZ,aAAK,CACA,GADL,oFAEoF,SAFpF,GAIK,IAJL,CAIU,UAAC,GAAD,EAAa;AACf;AAEA,cAAM,gBAAgB,GAClB,QAAQ,CAAC,cAAT,CAAwB,kBAAxB,CADJ;AAEA,cAAM,mBAAmB,GAAG,QAAQ,CAAC,cAAT,CACxB,qBADwB,CAA5B;AAGA,cAAM,4BAA4B,GAC9B,QAAQ,CAAC,cAAT,CAAwB,8BAAxB,CADJ;AAEA,cAAM,yBAAyB,GAAG,QAAQ,CAAC,cAAT,CAC9B,2BAD8B,CAAlC;AAGA,cAAM,qCAAqC,GACvC,QAAQ,CAAC,cAAT,CACI,wCADJ,CADJ;AAIA,cAAM,sBAAsB,GAAG,QAAQ,CAAC,cAAT,CAC3B,uBAD2B,CAA/B;;AAIA,cAAI,gBAAJ,EAAsB;AAClB,gBAAM,WAAW,GAAG,aAApB;AACA,gBAAM,eAAe,aAAM,GAAG,CAAC,IAAJ,CAAS,cAAT,CAAwB,SAAxB,CAAN,0CAArB;AACA,gBAAM,IAAI,GACN,GAAG,CAAC,IAAJ,CAAS,cAAT,CAAwB,SAAxB,MAAuC,CAAvC,GACM,WADN,GAEM,eAHV;AAIA,4BAAgB,CAAC,SAAjB,GAA6B,IAA7B;AACH;;AACD,cAAI,mBAAJ,EAAyB;AACrB,gBAAM,YAAW,GAAG,UAAU,GACxB,oBADwB,GAExB,gDAFN;;AAGA,gBAAM,gBAAe,aAAM,GAAG,CAAC,IAAJ,CAAS,cAAT,CAAwB,SAAxB,CAAN,0CAArB;;AACA,gBAAM,KAAI,GACN,GAAG,CAAC,IAAJ,CAAS,cAAT,CAAwB,SAAxB,MAAuC,CAAvC,GACM,YADN,GAEM,gBAHV;;AAIA,+BAAmB,CAAC,SAApB,GAAgC,KAAhC;AACH;;AACD,cAAI,4BAAJ,EAAkC;AAC9B,gBAAM,aAAW,GAAG,oBAApB;;AACA,gBAAM,iBAAe,aAAM,GAAG,CAAC,IAAJ,CAAS,cAAT,CAAwB,SAAxB,CAAN,0CAArB;;AACA,gBAAM,MAAI,GACN,GAAG,CAAC,IAAJ,CAAS,cAAT,CAAwB,SAAxB,MAAuC,CAAvC,GACM,aADN,GAEM,iBAHV;;AAIA,wCAA4B,CAAC,SAA7B,GAAyC,MAAzC;AACH;;AACD,cAAI,yBAAJ,EAA+B;AAC3B,gBAAM,MAAI,GAAG,mBAAb;AACA,eAAG,CAAC,IAAJ,CAAS,cAAT,CAAwB,SAAxB,MAAuC,CAAvC,GACO,yBAAyB,CAAC,SAA1B,GAAsC,MAD7C,GAEM,yBAAyB,CAAC,MAA1B,EAFN;AAGH;;AACD,cAAI,qCAAJ,EAA2C;AACvC,gBAAM,UAAU,GAAG,QAAQ,CAAC,aAAT,CACf,uEADe,CAAnB;;AAGA,gBAAI,UAAJ,EAAgB;AACZ,wBAAU,CAAC,SAAX,GACI,GAAG,CAAC,IAAJ,CAAS,cAAT,CAAwB,SAAxB,MAAuC,CAAvC,GACM,GADN,GAEM,GAAG,CAAC,IAAJ,CAAS,cAAT,CAAwB,SAAxB,CAHV;AAIH;AACJ;;AACD,cAAI,sBAAJ,EAA4B;AACxB,gBAAM,WAAU,GAAG,QAAQ,CAAC,aAAT,CACf,wBADe,CAAnB;;AAGA,gBAAI,WAAJ,EAAgB;AACZ,kBAAM,YAAY,GACd,GAAG,CAAC,IAAJ,CAAS,cAAT,CAAwB,SAAxB,KAAsC,CAD1C;AAEA,yBAAU,CAAC,SAAX,GACI,YAAY,KAAK,CAAjB,GAAqB,EAArB,GAA0B,YAD9B;AAEH;AACJ;AACJ,SAlFL,EAmFK,KAnFL,CAmFW,UAAC,GAAD;AAAA,iBACH,OAAO,CAAC,KAAR,CAAc,2BAAd,EAA2C,GAA3C,CADG;AAAA,SAnFX;AAsFH,OAvFD;;AAwFA,OAAC,CAAC,YAAF,CAAe,KAAf,EAAsB,2CAAtB;AACA,OAAC,CAAC,YAAF,CAAe,oBAAf,EAAqC,iBAArC;AACA,OAAC,CAAC,YAAF,CAAe,eAAf,EAAgC,MAAM,CAAC,QAAP,CAAgB,IAAhD;AACA,OAAC,CAAC,YAAF,CAAe,cAAf,EAA+B,SAA/B;AACA,UAAI,MAAM,GAAG,QAAQ,CAAC,aAAT,CAAuB,QAAvB,CAAb;AACA,YAAM,CAAC,IAAP;AACA,cAAQ,CAAC,IAAT,CAAc,WAAd,CAA0B,MAA1B;AACA,UAAM,SAAS,GAAG,QAAQ,CAAC,aAAT,CAAuB,kBAAvB,CAAlB;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CAAtB;;AACA,UAAI,OAAJ,EAAa;AACT,SAAC,CAAC,YAAF,CAAe,qBAAf,EAAsC,OAAtC;AACA,SAAC,CAAC,KAAF,GAAU,IAAV;AACA,gBAAQ,CAAC,IAAT,CAAc,OAAd,CAAsB,CAAtB;;AACA,YAAI,CAAC,UAAL,EAAiB;AACb,cAAM,eAAe,GAAG,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAxB;AACA,yBAAe,CAAC,YAAhB,CACI,oBADJ,EAEI,cAFJ;AAIA,yBAAe,CAAC,YAAhB,CACI,cADJ,EAEI,KAAK,KAAL,CAAW,SAFf;AAIA,uBAAa,CAAC,MAAd,CAAqB,eAArB;AACH;AACJ,OAhBD,MAgBO;AACH,SAAC,CAAC,YAAF,CAAe,qBAAf,EAAsC,mBAAtC;AACA,iBAAS,CAAC,YAAV,CAAuB,CAAvB,EAA0B,SAAS,CAAC,WAApC;AACH;AACJ;;;6BASK;AAAA,yBACiE,KAAK,KADtE;AAAA,UACM,SADN,gBACM,SADN;AAAA,UACiB,OADjB,gBACiB,OADjB;AAAA,UAC0B,UAD1B,gBAC0B,UAD1B;AAAA,UACsC,SADtC,gBACsC,SADtC;AAAA,UACiD,WADjD,gBACiD,WADjD;AAEF,UAAM,cAAc,GAAG,SAAS,IAAI,SAAS,IAAI,KAA1B,GAAkC;AAAQ,YAAI,EAAC,iBAAb;AAA+B,+BAAuB,EAAE;AAAE,gBAAM;AAAR;AAAxD,QAAlC,GAAuL,EAA9M;;AACA,UAAI,UAAJ,EAAgB;AACZ,eACA;AAAK,YAAE,EAAC,SAAR;AAAkB,mBAAS,EAAC;AAA5B,WAA2C,cAA3C,CADA;AAGH,OAJD,MAKI,OACI,0CACE,WAAW,IACT;AAAK,UAAE,EAAC,SAAR;AAAkB,iBAAS,EAAC;AAA5B,SAA2C,cAA3C,CAFJ,EAIA;AACI,iBAAS,EAAE,UAAU,CACjB,SAAS,GAAG,SAAH,GAAe,eADP,EAEjB;AAAE,eAAK,EAAE;AAAT,SAFiB;AADzB,SAMK,OAAO,IACJ;AAAK,iBAAS,EAAC,YAAf;AAA4B,eAAO,EAAE,KAAK;AAA1C,QAPR,EASK,CAAC,OAAD,IAAY;AAAK,UAAE,EAAC;AAAR,QATjB,CAJA,CADJ;AAkBP;;;;EApKqC,KAAK,CAAC,S;;AAC9B,sCAAiB,sBAAjB;AADlB,oD;;;;;;;;;;;;;;;ACjBA;;AAMa,sCACb;AACI,QAAM;AACF,uBAAmB,aADjB;AAEF,2BAAuB,mBAFrB;AAGF,qBAAiB,MAHf;AAIF,mBAAe,YAJb;AAKF,4BAAwB,aALtB;AAMF,yBAAqB,cANnB;AAOF,kCAA8B,oBAP5B;AAQF,uBAAmB,mBARjB;AASF,aAAS,OATP;AAUF,4BAAwB,mBAVtB;AAWF,eAAW,QAXT;AAYF,2CAAuC,uCAZrC;AAaF,eAAW,OAbT;AAcF,cAAU,OAdR;AAeF,YAAQ,IAfN;AAgBF,oCAAgC,YAhB9B;AAiBF,gBAAY,aAjBV;AAkBF,aAAS,OAlBP;AAmBF,eAAW,MAnBT;AAoBF,qGAAiG,0FApB/F;AAqBF,oBAAgB,cArBd;AAsBF,0GAAsG,uDAtBpG;AAuBF,eAAW,cAvBT;AAwBF,oBAAgB,WAxBd;AAyBF,iBAAa,MAzBX;AA0BF,yCAAqC,uDA1BnC;AA2BF,yBAAqB,MA3BnB;AA4BF,0BAAsB,kBA5BpB;AA6BF,yBAAqB,kBA7BnB;AA8BF,oCAAgC,4BA9B9B;AA+BF,yBAAqB,kBA/BnB;AAgCF,mBAAe,UAhCb;AAiCF,mBAAe,QAjCb;AAkCF,eAAW,OAlCT;AAmCF,oBAAgB,cAnCd;AAoCF,oBAAgB,aApCd;AAqCF,mBAAe,gBArCb;AAsCF,gBAAY,cAtCV;AAuCF,iBAAa,gBAvCX;AAwCF,wBAAoB,MAxClB;AAyCF,aAAS,OAzCP;AA0CF,uBAAmB,YA1CjB;AA2CF,gBAAa,QA3CX;AA4CF,aAAS,uCA5CP;AA6CF,aAAS,qBA7CP;AA8CF,aAAS;AA9CP,GADV;AAiDI,QAAM;AACF,uBAAmB,iBADjB;AAEF,2BAAuB,qBAFrB;AAGF,qBAAiB,EAHf;AAIF,mBAAe,aAJb;AAKF,4BAAwB,aALtB;AAMF,yBAAqB,OANnB;AAOF,kCAA8B,aAP5B;AAQF,uBAAmB,aARjB;AASF,aAAS,QATP;AAUF,4BAAwB,2BAVtB;AAWF,eAAW,EAXT;AAYF,2CAAuC,EAZrC;AAaF,eAAW,EAbT;AAcF,cAAU,EAdR;AAeF,YAAQ,MAfN;AAgBF,oCAAgC,MAhB9B;AAiBF,aAAQ,MAjBN;AAkBF,gBAAY,MAlBV;AAmBF,aAAS,OAnBP;AAoBF,eAAW,MApBT;AAqBF,qGAAiG,6GArB/F;AAsBF,oBAAgB,cAtBd;AAuBF,0GAAsG,oGAvBpG;AAwBF,eAAW,SAxBT;AAyBF,oBAAgB,cAzBd;AA0BF,iBAAa,QA1BX;AA2BF,uBAAmB,MA3BjB;AA4BF,yCAAqC,sEA5BnC;AA6BF,yBAAqB,OA7BnB;AA8BF,0BAAsB,qBA9BpB;AA+BF,yBAAqB,mBA/BnB;AAgCF,oCAAgC,6BAhC9B;AAiCF,yBAAqB,4BAjCnB;AAkCF,mBAAe,EAlCb;AAmCF,mBAAe,EAnCb;AAoCF,eAAW,EApCT;AAqCF,oBAAgB,eArCd;AAsCF,oBAAgB,eAtCd;AAuCF,mBAAe,qBAvCb;AAwCF,gBAAY,iBAxCV;AAyCF,iBAAa,qBAzCX;AA0CF,gBAAa,UA1CX;AA2CF,aAAS,6GA3CP;AA4CF,aAAS,cA5CP;AA6CF,aAAS;AA7CP,GAjDV;AAgGI,QAAM;AACF,uBAAmB,oBADjB;AAEF,2BAAuB,wBAFrB;AAGF,qBAAiB,EAHf;AAIF,mBAAe,kBAJb;AAKF,4BAAuB,kBALrB;AAMF,yBAAqB,WANnB;AAOF,kCAA8B,0BAP5B;AAQF,uBAAmB,0BARjB;AASF,aAAS,UATP;AAUF,4BAAwB,2BAVtB;AAWF,eAAW,EAXT;AAYF,2CAAuC,EAZrC;AAaF,eAAW,EAbT;AAcF,cAAU,UAdR;AAeF,YAAQ,QAfN;AAgBF,oCAAgC,QAhB9B;AAiBF,gBAAY,QAjBV;AAkBF,aAAS,QAlBP;AAmBF,eAAW,OAnBT;AAoBF,qGAAiG,0JApB/F;AAqBF,oBAAgB,iBArBd;AAsBF,0GAAsG,4GAtBpG;AAuBF,eAAW,kBAvBT;AAwBF,oBAAgB,mBAxBd;AAyBF,iBAAa,SAzBX;AA0BF,yCAAqC,uEA1BnC;AA2BF,yBAAqB,QA3BnB;AA4BF,0BAAsB,8BA5BpB;AA6BF,yBAAqB,WA7BnB;AA8BF,oCAAgC,cA9B9B;AA+BF,yBAAqB,aA/BnB;AAgCF,mBAAe,EAhCb;AAiCF,mBAAe,EAjCb;AAkCF,eAAW,EAlCT;AAmCF,oBAAgB,yBAnCd;AAoCF,oBAAgB,yBApCd;AAqCF,mBAAe,wBArCb;AAsCF,gBAAY,qBAtCV;AAuCF,iBAAa,kBAvCX;AAwCF,gBAAa;AAxCX,GAhGV;AA0II,QAAM;AACF,uBAAmB,SADjB;AAEF,2BAAuB,0BAFrB;AAGF,qBAAiB,EAHf;AAIF,mBAAe,mBAJb;AAKF,4BAAwB,mBALtB;AAMF,yBAAqB,yBANnB;AAOF,kCAA8B,yBAP5B;AAQF,uBAAmB,sBARjB;AASF,aAAS,QATP;AAUF,4BAAwB,8BAVtB;AAWF,eAAW,EAXT;AAYF,2CAAuC,EAZrC;AAaF,eAAW,EAbT;AAcF,cAAU,EAdR;AAeF,YAAQ,KAfN;AAgBF,oCAAgC,WAhB9B;AAiBF,gBAAY,OAjBV;AAkBF,aAAS,WAlBP;AAmBF,eAAW,YAnBT;AAoBF,qGAAiG,oHApB/F;AAqBF,oBAAgB,uBArBd;AAsBF,0GAAsG,wGAtBpG;AAuBF,eAAW,0BAvBT;AAwBF,oBAAgB,cAxBd;AAyBF,iBAAa,SAzBX;AA0BF,yCAAqC,oEA1BnC;AA2BF,yBAAqB,SA3BnB;AA4BF,0BAAsB,wBA5BpB;AA6BF,yBAAqB,oBA7BnB;AA8BF,oCAAgC,qBA9B9B;AA+BF,yBAAqB,EA/BnB;AAgCF,mBAAe,sBAhCb;AAiCF,mBAAe,EAjCb;AAkCF,eAAW,EAlCT;AAmCF,oBAAgB,gBAnCd;AAoCF,oBAAgB,gBApCd;AAqCF,mBAAe,eArCb;AAsCF,gBAAY,YAtCV;AAuCF,iBAAa,oCAvCX;AAwCF,gBAAa,aAxCX;AAyCF,aAAS,WAzCP;AA0CF,uBAAkB,YA1ChB;AA2CF,aAAS,oHA3CP;AA4CF,aAAS,uBA5CP;AA6CF,aAAS;AA7CP;AA1IV,CADa;;AA6LA,yBAAiB,UAAC,IAAD,EAAO,IAAP,EAAuB;AACjD,MAAI,GAAG,GAAG,MAAM,CAAC,mCAAD,EAA8B,UAAU,CAAV,EAAa,CAAb,EAAc;AACxD,WAAO,CAAC,KAAK,IAAb;AACH,GAFe,CAAhB;AAGA,MAAI,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAD,CAAJ,EAAS,UAAU,CAAV,EAAa,CAAb,EAAc;AACvC,WAAO,CAAC,KAAK,IAAb;AACH,GAFmB,CAApB;AAGA,SAAO,OAAO,CAAC,CAAD,CAAd;AAEH,CATY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClMb;;AACA;;AAUA,IAAM,yBAAyB,GAAG,GAAlC;AACA,IAAM,SAAS,GAAG;AACd,QAAM,kDADQ;AAEd,QAAM,4DAFQ;AAGd,QAAM;AAHQ,CAAlB;;IAMa,yB;;;;;AACT;AAAA;;AAAA;;AACI;;AAoBI,mCAAyB,YAAK;AAAA,8BAC4B,MAAK,KAAL,CAAW,KADvC;AAAA,UAC1B,UAD0B,qBAC1B,UAD0B;AAAA,UACd,aADc,qBACd,aADc;AAAA,UACC,sBADD,qBACC,sBADD;;AAGlC,YAAK,QAAL,CAAc;AAAE,gCAAwB,EAAE;AAA5B,OAAd;;AACA,gBAAU;AACV,4BAAsB;AACtB,mBAAa;AACb,gBAAU,CAAC,YAAK;AACZ,cAAK,QAAL,CAAc;AAAE,kCAAwB,EAAE;AAA5B,SAAd;AACH,OAFS,EAEP,yBAFO,CAAV;AAGH,KAVO;;AAYR,6BAAmB,YAAK;AACpB;AACH,KAFD;;AAIA,kCAAwB,YAAK;AACzB;AACH,KAFD;;AAnCI,UAAK,KAAL,GAAa;AACT,8BAAwB,EAAE;AADjB,KAAb;AAFJ;AAKC;;;;0CAEqB,S,EAAgC,S,EAA8B;AAChF,aAAO,KAAK,KAAL,CAAW,wBAAX,KAAwC,SAAS,CAAC,wBAAlD,IACA,KAAK,KAAL,CAAW,KAAX,CAAiB,uBAAjB,KAA6C,SAAS,CAAC,KAAV,CAAgB,uBAD7D,IAEA,KAAK,KAAL,CAAW,KAAX,CAAiB,MAAjB,KAA4B,SAAS,CAAC,KAAV,CAAgB,MAF5C,IAGA,KAAK,KAAL,CAAW,KAAX,CAAiB,KAAjB,KAA2B,SAAS,CAAC,KAAV,CAAgB,KAH3C,IAIA,KAAK,KAAL,CAAW,KAAX,CAAiB,IAAjB,KAA0B,SAAS,CAAC,KAAV,CAAgB,IAJ1C,IAKA,KAAK,KAAL,CAAW,KAAX,CAAiB,OAAjB,KAA6B,SAAS,CAAC,KAAV,CAAgB,OAL7C,IAMA,KAAK,KAAL,CAAW,KAAX,CAAiB,cAAjB,KAAoC,SAAS,CAAC,KAAV,CAAgB,cAN3D;AAOH;;;6BA0BK;AAAA;;AAAA,+BACiJ,KAAK,KAAL,CAAW,KAD5J;AAAA,UACM,uBADN,sBACM,uBADN;AAAA,UAC+B,MAD/B,sBAC+B,MAD/B;AAAA,UACuC,KADvC,sBACuC,KADvC;AAAA,UAC8C,IAD9C,sBAC8C,IAD9C;AAAA,UACoD,OADpD,sBACoD,OADpD;AAAA,UAC6D,IAD7D,sBAC6D,IAD7D;AAAA,UACmE,sBADnE,sBACmE,sBADnE;AAAA,UAC2F,cAD3F,sBAC2F,cAD3F;AAAA,UAC2G,iBAD3G,sBAC2G,iBAD3G;AAAA,UAC8H,cAD9H,sBAC8H,cAD9H;AAAA,UAEM,wBAFN,GAEmC,KAAK,KAFxC,CAEM,wBAFN;AAGF,UAAM,SAAS,GAAG,SAAS,CAAC,IAAD,CAA3B;AAEA,aACI;AAAK,iBAAS,EAAC,2BAAf;AAA2C,aAAK,EAAE;AAAE,mBAAS,EAAE,uBAAuB,GAAG,KAAK,iBAAL,CAAuB,YAA1B,GAAyC;AAA7E,SAAlD;AAAoI,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,iBAAL,GAAyB,IAA7B;AAAA;AAA5I,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,yBAAf;AAAyC,aAAK,EAAE;AAAE,mBAAS,EAAE,CAAC,MAAD,IAAW,CAAC,wBAAZ,GAAuC,KAAK,OAAL,IAAgB,KAAK,OAAL,CAAa,YAApE,GAAmF;AAAhG,SAAhD;AAAqJ,WAAG,EAAE,kBAAG;AAAA,iBAAI,MAAI,CAAC,OAAL,GAAe,KAAnB;AAAA;AAA7J,SACK,CAAC,cAAD,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,iBAAlB;AAAoC,aAAK,EAAE,8BAAe,IAAf,EAAqB,mBAArB,CAA3C;AAAsF,eAAO,EAAE,kBAAC;AAAA,iBAAI,sBAAsB,EAA1B;AAAA;AAAhG,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CADJ,CAFR,EAQI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,iBAAS,EAAC,6BADd;AAEI,iBAAS,EAAE,EAFf;AAGI,aAAK,EAAE,IAHX;AAII,mBAAW,EAAE,8BAAe,IAAf,EAAqB,MAArB,CAJjB;AAKI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,MAAJ,CAArB;AAAA,SALd;AAMI,eAAO,EAAE,KAAK,gBANlB;AAOI,cAAM,EAAE,KAAK;AAPjB,QADJ,CARJ,EAoBI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,iBAAS,EAAC,kBADd;AAEI,YAAI,EAAC,MAFT;AAGI,iBAAS,EAAE,EAHf;AAII,aAAK,EAAE,KAJX;AAKI,mBAAW,EAAE,8BAAe,IAAf,EAAqB,OAArB,CALjB;AAMI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,OAAJ,CAArB;AAAA,SANd;AAOI,eAAO,EAAE,KAAK,gBAPlB;AAQI,cAAM,EAAE,KAAK;AARjB,QADJ,EAYI;AACI,iBAAS,EAAC,oBADd;AAEI,YAAI,EAAC,MAFT;AAEgB,iBAAS,EAAE,IAF3B;AAGI,aAAK,EAAE,OAHX;AAII,mBAAW,EAAE,8BAAe,IAAf,EAAqB,iBAArB,CAJjB;AAKI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,SAAJ,CAArB;AAAA,SALd;AAMI,eAAO,EAAE,KAAK,gBANlB;AAOI,cAAM,EAAE,KAAK;AAPjB,QAZJ,CApBJ,EA4CI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,8BAAe,IAAf,EAAqB,OAArB,CADL,EAEI;AAAG,YAAI,EAAE,SAAT;AAAoB,cAAM,EAAC,QAA3B;AAAoC,aAAK,EAAE,8BAAe,IAAf,EAAqB,cAArB,CAA3C;AAAiF,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAAxF,SAAkH,8BAAe,IAAf,EAAqB,OAArB,CAAlH,CAFJ,EAGK,8BAAe,IAAf,EAAqB,OAArB,CAHL,CADJ,EAMI;AAAQ,iBAAS,EAAC,SAAlB;AAA4B,UAAE,EAAC,sBAA/B;AAAsD,aAAK,EAAE,8BAAe,IAAf,EAAqB,cAArB,CAA7D;AAAmG,eAAO,EAAE,kBAAC;AAAA,iBAAI,iBAAiB,EAArB;AAAA;AAA7G,SACI,kCAAO,8BAAe,IAAf,EAAqB,cAArB,CAAP,CADJ,CANJ,CADJ,CA5CJ,CADJ,EA2DI;AAAK,iBAAS,EAAC,2BAAf;AAA2C,aAAK,EAAE;AAAE,mBAAS,EAAE,MAAM,GAAG,KAAK,YAAL,IAAqB,KAAK,YAAL,CAAkB,YAA1C,GAAyD;AAA5E,SAAlD;AAAmI,WAAG,EAAE,kBAAG;AAAA,iBAAI,MAAI,CAAC,YAAL,GAAoB,KAAxB;AAAA;AAA3I,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA0B,oCAAS,8BAAe,IAAf,EAAqB,WAArB,CAAT,EAAqD,GAArD,CAA1B,E,GAAA,EAAgF,kCAAO,8BAAe,IAAf,EAAqB,mCAArB,CAAP,CAAhF,CADJ,EAEI;AAAQ,iBAAS,EAAC,kBAAlB;AAAqC,aAAK,EAAE,8BAAe,IAAf,EAAqB,OAArB,CAA5C;AAA2E,eAAO,EAAE,KAAK;AAAzF,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CAFJ,CADJ,CA3DJ,CADJ,CADJ;AAwEH;;;;EAvH0C,KAAK,CAAC,S;;AAArD,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;;AACA;;AAEA;;IAQa,kC;;;;;;;;;;;;;6BACH;AAAA,8BAYQ,KAAK,KAAL,CAAW,KAZnB;AAAA,UACM,IADN,qBACM,IADN;AAAA,UACY,UADZ,qBACY,UADZ;AAAA,UACwB,iBADxB,qBACwB,iBADxB;AAAA,oDAEE,OAFF;AAAA,UAGM,EAHN,yBAGM,EAHN;AAAA,UAIM,MAJN,yBAIM,MAJN;AAAA,UAKM,KALN,yBAKM,KALN;AAAA,UAMM,IANN,yBAMM,IANN;AAAA,UAOM,MAPN,yBAOM,MAPN;AAAA,UAQM,OARN,yBAQM,OARN;AAAA,UASM,KATN,yBASM,KATN;AAAA,UAUM,WAVN,yBAUM,WAVN;AAAA,UAWM,eAXN,yBAWM,eAXN;AAaF,UAAM,kBAAkB,GAAG,qDAAsC,OAAtC,EAA+C;AAAE,gBAAQ,EAAE,KAAZ;AAAmB,yBAAiB,EAAE;AAAtC,OAA/C,CAA3B;AACA,UAAM,sBAAsB,GAAG,UAAU,CAAC;AACtC,mCAA2B,IADW;AAEtC,oBAAY,UAF0B;AAGtC,kBAAU,KAAK,KAAK;AAHkB,OAAD,CAAzC;AAMA,UAAM,mBAAmB,GAAG,UAAU,CAAC;AACnC,wBAAgB,IADmB;AAEnC,wBAAgB,WAFmB;AAGnC,oBAAY;AAHuB,OAAD,CAAtC;AAKA,UAAM,iBAAiB,GAAG,UAAU,CAAC;AACjC,uBAAe,IADkB;AAEjC,kBAAU,KAAK,KAAK,CAFa;AAGjC,oBAAY;AAHqB,OAAD,CAApC;AAMA,UAAM,iBAAiB,GAAG,UAAU,CAAC;AACjC,sBAAc;AADmB,OAAD,CAApC;AAIA,aACI;AAAK,UAAE,EAAC,yBAAR;AAAkC,iBAAS,EAAE;AAA7C,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,KAAK,KAAK,CAAV,IAAe;AAAK,iBAAS,EAAE,iBAAhB;AAAmC,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,iBAAiB,EAAxB;AAAA;AAA5C,SAAyE,MAAzE,EAAuF,GAAvF,CADpB,EAEK,KAAK,KAAK,CAAV,IAAe;AAAK,iBAAS,EAAC,sBAAf;AAAsC,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,iBAAiB,EAAxB;AAAA;AAA/C,SAA2E;AAAM,iBAAS,EAAC;AAAhB,QAA3E,CAFpB,EAII;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAE,mBAAhB;AAAqC,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,iBAAiB,EAAxB;AAAA;AAA9C,SACI;AAAM,iBAAS,EAAC;AAAhB,SAA6B,KAA7B,CADJ,EAEK,IAAI,CAAC,MAAL,KAAgB,CAAhB,IAAqB,kCAAO,8BAAe,IAAf,EAAqB,eAArB,CAAP,CAF1B,CADJ,CAFJ,EASI;AAAK,iBAAS,EAAE;AAAhB,SAAoC,IAApC,CATJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SACI,iC,IAAA,EAAQ,MAAM,KAAK,EAAX,GAAgB;AAAM,iBAAS,EAAC;AAAhB,mBAA6B,MAA7B,EAAhB,GAAgE,IAAxE,EACK,MAAM,KAAK,EAAX,IAAiB,sCADtB,EAEI;AAAM,iBAAS,EAAC;AAAhB,S,GAAA,YAAmC,kBAAnC,SAAwD,eAAe,GAAG,QAAQ,eAAX,GAA6B,EAApG,EAFJ,CADJ,EAII,gCAJJ,CAXJ,CAJJ,CADJ,CADJ;AAiCH;;;;EArEmD,KAAK,CAAC,S;;AAA9D,gF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA;;AACA;;IAOa,yC;;;;;AAAb;AAAA;;AAAA;;;;AACY,uCAA6B,YAAK;AAAA,8BAC0B,MAAK,KAAL,CAAW,KADrC;AAAA,UAC9B,oBAD8B,qBAC9B,oBAD8B;AAAA,UACR,6BADQ,qBACR,6BADQ;AAEtC,mCAA6B;AAC7B,0BAAoB;AACvB,KAJO;;AADZ;AA8BC;;;;6BAvBS;AAAA,+BACuD,KAAK,KAAL,CAAW,KADlE;AAAA,UACM,IADN,sBACM,IADN;AAAA,UACY,aADZ,sBACY,aADZ;AAAA,UAC2B,uBAD3B,sBAC2B,uBAD3B;AAEF,UAAM,WAAW,GAAE,aAAa,IAAI,aAAa,GAAG,CAAjC,GAAqC,kDAAsB,aAAa,CAAC,QAAd,EAAtB,CAArC,GAAuF,EAA1G;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,mBAA6B,WAA7B,cAA4C,8BAAe,IAAf,EAAqB,UAArB,CAA5C,EADJ,CADJ,EAII;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,uBAAD,IACG;AACI,WAAG,EAAC,eADR;AAEI,iBAAS,EAAC,kBAFd;AAGI,aAAK,EAAC,qEAHV;AAII,gBAAQ,EAAE,uBAJd;AAKI,eAAO,EAAE,KAAK;AALlB,SAMI;AAAK,iBAAS,EAAC;AAAf,SAAwB,qEAAxB,CANJ,CAFR,CAJJ,CADJ;AAmBH;;;;EA7B0D,KAAK,CAAC,S;;AAArE,8F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;AACA;;AAEA;;AACA;;AACA;;IAMa,yB;;;;;;;;;;;;;6BACH;AAAA,8BAaQ,KAAK,KAAL,CAAW,KAbnB;AAAA,UACM,IADN,qBACM,IADN;AAAA,UACY,UADZ,qBACY,UADZ;AAAA,UACwB,IADxB,qBACwB,IADxB;AAAA,UAC8B,aAD9B,qBAC8B,aAD9B;AAAA,UAC6C,KAD7C,qBAC6C,KAD7C;AAAA,UACoD,OADpD,qBACoD,OADpD;AAAA,UAC6D,iBAD7D,qBAC6D,iBAD7D;AAAA,UACgF,eADhF,qBACgF,eADhF;AAAA,UACiG,SADjG,qBACiG,SADjG;AAAA,UAEE,uBAFF,qBAEE,uBAFF;AAAA,UAE2B,sBAF3B,qBAE2B,sBAF3B;AAAA,UAEmD,oBAFnD,qBAEmD,oBAFnD;AAAA,UAEyE,sBAFzE,qBAEyE,sBAFzE;AAAA,oDAGE,OAHF;AAAA,UAIM,EAJN,yBAIM,EAJN;AAAA,UAKM,MALN,yBAKM,MALN;AAAA,UAMM,KANN,yBAMM,KANN;AAAA,UAOM,IAPN,yBAOM,IAPN;AAAA,UAQM,MARN,yBAQM,MARN;AAAA,UASM,OATN,yBASM,OATN;AAAA,UAUM,KAVN,yBAUM,KAVN;AAAA,UAWM,WAXN,yBAWM,WAXN;AAAA,UAYM,eAZN,yBAYM,eAZN;AAcF,UAAM,kBAAkB,GAAG,qDAAsC,OAAtC,EAA+C;AAAE,gBAAQ,EAAE,KAAZ;AAAmB,yBAAiB,EAAE;AAAtC,OAA/C,CAA3B;AACA,UAAM,sBAAsB,GAAG,UAAU,CAAC;AACtC,mCAA2B,IADW;AAEtC,oBAAY,UAF0B;AAGtC,kBAAU,KAAK,KAAK,CAHkB;AAItC,kBAAU,KAAK,KAAK;AAJkB,OAAD,CAAzC,CAfE,CAqBF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,UAAM,mBAAmB,GAAG,UAAU,CAAC;AACnC,wBAAgB,IADmB;AAEnC,wBAAgB,WAFmB;AAGnC,oBAAY;AAHuB,OAAD,CAAtC;AAKA,UAAM,iBAAiB,GAAG,UAAU,CAAC;AACjC,uBAAe,IADkB;AAEjC,kBAAU,KAAK,KAAK,CAFa;AAGjC,kBAAU,KAAK,KAAK,CAHa;AAIjC,oBAAY;AAJqB,OAAD,CAApC,CAlCE,CAwCF;AACA;AACA;AACA;AACA;;AACA,UAAM,iBAAiB,GAAG,UAAU,CAAC;AACjC,sBAAc;AADmB,OAAD,CAApC,CA7CE,CAiDF;AACA;;AACA,aACI;AAAK,UAAE,EAAC,yBAAR;AAAkC,iBAAS,EAAE;AAA7C,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,KAAK,KAAK,CAAV,IAAe;AAAK,iBAAS,EAAE,iBAAhB;AAAmC,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,iBAAiB,EAAxB;AAAA;AAA5C,SAAyE,MAAzE,EAAuF,GAAvF,CADpB,EAEK,KAAK,KAAK,CAAV,IAAe;AAAK,iBAAS,EAAC,sBAAf;AAAsC,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,iBAAiB,EAAxB;AAAA;AAA/C,SAA2E;AAAM,iBAAS,EAAC;AAAhB,QAA3E,CAFpB,EAII;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAE,mBAAhB;AAAqC,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,iBAAiB,EAAxB;AAAA;AAA9C,SACI;AAAM,iBAAS,EAAC;AAAhB,SAA6B,KAA7B,CADJ,EAEK,IAAI,CAAC,MAAL,KAAgB,CAAhB,IAAqB,kCAAO,8BAAe,IAAf,EAAqB,eAArB,CAAP,CAF1B,CADJ,CAFJ,EASI;AAAK,iBAAS,EAAE;AAAhB,SAAoC,IAApC,CATJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SACI,iC,IAAA,EAAQ,MAAM,KAAK,EAAX,GAAgB;AAAM,iBAAS,EAAC;AAAhB,mBAA6B,MAA7B,EAAhB,GAAgE,IAAxE,EACK,MAAM,KAAK,EAAX,IAAiB,sCADtB,EAEI;AAAM,iBAAS,EAAC;AAAhB,S,GAAA,YAAmC,kBAAnC,SAAwD,eAAe,GAAG,QAAQ,eAAX,GAA6B,EAApG,EAFJ,CADJ,EAII,iCAeI;AAAQ,iBAAS,EAAC,iBAAlB;AAAoC,aAAK,EAAE,8BAAe,IAAf,EAAqB,mBAArB,CAA3C;AAAsF,gBAAQ,EAAE,uBAAhG;AACI,eAAO,EAAE,kBAAC;AAAA,iBAAI,oBAAoB,CAAC,OAAD,CAAxB;AAAA;AADd,SAEI,kC,GAAA,EAAQ,8BAAe,IAAf,EAAqB,mBAArB,CAAR,CAFJ,CAfJ,CAJJ,CAXJ,CAJJ,CADJ,EA4CI,oBAAC,6CAAD,EAAsB;AAClB,cAAM,EAAE,gBAAC,KAAD;AAAA,iBAAsC,oBAAC,iDAAD,EAA0B;AAAC,iBAAK,EAAE;AAAR,WAA1B,CAAtC;AAAA,SADU;AAElB,YAAI,EAAE,IAFY;AAGlB,iBAAS,EAAE,SAHO;AAIlB,gBAAQ,EAAE,eAJQ;AAKlB,8BAAsB,EAAE,sBALN;AAMlB,wBAAgB,EAAE,EANA;AAOlB,+BAAuB,EAAE;AAPP,OAAtB,CA5CJ,CADJ;AAwDH;;;;EA5G0C,KAAK,CAAC,S;;AAArD,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA;;AACA;;IAOa,gC;;;;;AAAb;AAAA;;AAAA;;;;AACY,uCAA6B,YAAK;AAAA,8BAC0B,MAAK,KAAL,CAAW,KADrC;AAAA,UAC9B,oBAD8B,qBAC9B,oBAD8B;AAAA,UACR,6BADQ,qBACR,6BADQ;AAEtC,mCAA6B;AAC7B,0BAAoB;AACvB,KAJO;;AADZ;AAiCC;;;;6BA1BS;AAAA,+BACuD,KAAK,KAAL,CAAW,KADlE;AAAA,UACM,IADN,sBACM,IADN;AAAA,UACY,aADZ,sBACY,aADZ;AAAA,UAC2B,uBAD3B,sBAC2B,uBAD3B;AAGF,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA4B,kDAAsB,aAAa,CAAC,QAAd,EAAtB,CAA5B,CADJ,CADJ,EAII;AAAK,iBAAS,EAAC;AAAf,SAA0B,8BAAe,IAAf,EAAqB,UAArB,CAA1B,CAJJ,CADJ,EAOI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,uBAAD,IACG;AACI,WAAG,EAAC,eADR;AAEI,iBAAS,EAAC,eAFd;AAGI,aAAK,EAAE,8BAAe,IAAf,EAAqB,aAArB,CAHX;AAII,gBAAQ,EAAE,uBAJd;AAKI,eAAO,EAAE,KAAK;AALlB,SAMI;AAAK,iBAAS,EAAC;AAAf,SAA0B,8BAAe,IAAf,EAAqB,aAArB,CAA1B,CANJ,CAFR,CAPJ,CADJ;AAsBH;;;;EAhCiD,KAAK,CAAC,S;;AAA5D,4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;AACA;;AAEA;;AACA;;AACA;;AAEA;;AACA;;IAMa,oC;;;;;AAAb;AAAA;;AAAA;;;;AAEY,uCAA6B,UAAC,CAAD,EAAM;AAAA,UAC/B,oBAD+B,GACN,MAAK,KAAL,CAAW,KADL,CAC/B,oBAD+B;AAEvC,0BAAoB;AACvB,KAHO;;AAFZ;AAkFC;;;;6BA3ES;AAAA,8BAG8C,KAAK,KAAL,CAAW,KAHzD;AAAA,UACM,IADN,qBACM,IADN;AAAA,UACY,SADZ,qBACY,SADZ;AAAA,UACuB,QADvB,qBACuB,QADvB;AAAA,UACiC,8BADjC,qBACiC,8BADjC;AAAA,UACiE,iCADjE,qBACiE,iCADjE;AAAA,UACoG,sBADpG,qBACoG,sBADpG;AAAA,UAC4H,aAD5H,qBAC4H,aAD5H;AAAA,UAC2I,iBAD3I,qBAC2I,iBAD3I;AAAA,UAEE,uBAFF,qBAEE,uBAFF;AAAA,UAE2B,sBAF3B,qBAE2B,sBAF3B;AAAA,UAEmD,yBAFnD,qBAEmD,yBAFnD;AAAA,UAE8E,wBAF9E,qBAE8E,wBAF9E;AAAA,UAEwG,6BAFxG,qBAEwG,6BAFxG;AAAA,UAEuI,gBAFvI,qBAEuI,gBAFvI;AAAA,UAGE,YAHF,qBAGE,YAHF;AAAA,UAGgB,gBAHhB,qBAGgB,gBAHhB;AAAA,UAGkC,OAHlC,qBAGkC,OAHlC;AAKF,UAAM,oBAAoB,GAAG,UAAU,CAAC;AACpC,gCAAwB,IADY;AAEpC,gBAAQ,CAAC,yBAAD,IAA8B,CAAC,YAFH;AAGpC,kBAAU,yBAH0B;AAIpC,mBAAW;AAJyB,OAAD,CAAvC;AAMA,UAAM,oBAAoB,GAAG,UAAU,CAAC;AACpC,4BAAoB,IADgB;AAEpC,kBAAU,CAAC,uBAFyB;AAGpC,gBAAQ;AAH4B,OAAD,CAAvC;AAMA,UAAI,oBAAJ;;AACA,0BAAoB,GAAG,8BAAC,KAAD;AAAA,eAAsC,oBAAC,oDAAD,EAA0B;AAAC,eAAK,EAAE;AAAR,SAA1B,CAAtC;AAAA,OAAvB;;AACA,UAAM,WAAW,GAAE,aAAa,IAAI,aAAa,GAAG,CAAjC,GAAqC,kDAAsB,aAAa,CAAC,QAAd,EAAtB,CAArC,GAAuF,EAA1G;AACA,aACI,iCACI;AAAK,UAAE,EAAC,sBAAR;AAA+B,iBAAS,EAAE;AAA1C,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,mBAAmC,WAAnC,cAAkD,8BAAe,IAAf,EAAqB,UAArB,CAAlD,EADJ,CADJ,EAII;AAAQ,iBAAS,EAAC,gBAAlB;AAAmC,eAAO,EAAE;AAA5C,QAJJ,CADJ,EAQI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAE,oBAAhB;AAAsC,eAAO,EAAE,KAAK;AAApD,SAAiF,8BAAe,IAAf,EAAqB,sBAArB,CAAjF,CAFJ,EAII,oBAAC,6CAAD,EAAsB;AAClB,cAAM,EAAE,gBAAC,KAAD;AAAA,iBAAsC,oBAAC,mEAAD,EAAmC;AAAC,iBAAK,EAAE;AAAR,WAAnC,CAAtC;AAAA,SADU;AAElB,+BAAuB,EAAE,uBAFP;AAGlB,YAAI,EAAE,IAHY;AAIlB,iBAAS,EAAE,SAJO;AAKlB,gBAAQ,EAAE,KALQ;AAMlB,8BAAsB,EAAE,sBANN;AAOlB,sBAAc,EAAE,iBAAiB,IAAI,aAAa,KAAK;AAPrC,OAAtB,CAJJ,EAcI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,OAAD,EAAU,CAAV;AAAA,eACV;AAAK,aAAG,oBAAa,OAAO,CAAC,EAArB;AAAR,WACI,oBAAC,6CAAD,EAAsB;AAClB,gBAAM,EAAE,oBADU;AAElB,cAAI,EAAE,IAFY;AAGlB,wCAA8B,EAAE,8BAHd;AAIlB,iDAAuC,EAAE,iCAJvB;AAKlB,wBAAc,EAAE,sBALE;AAMlB,mBAAS,EAAE,SANO;AAOlB,iBAAO,EAAE,OAPS;AAQlB,iBAAO,EAAE,IARS;AASlB,0BAAgB,EAAE,gBATA;AAUlB,kCAAwB,EAAE,wBAVR;AAWlB,mCAAyB,EAAE;AAXT,SAAtB,CADJ,CADU;AAAA,OAAb,CADL,CAdJ,EAkCK,OAAO,IACJ;AAAK,iBAAS,EAAC,wBAAf;AAAwC,eAAO,EAAE,kBAAC;AAAA,iBAAI,gBAAgB,EAApB;AAAA;AAAlD,SACK,8BAAe,IAAf,EAAqB,qBAArB,CADL,CAnCR,CARJ,CADJ,CADJ;AAsDH;;;;EAjFqD,KAAK,CAAC,S;;AAAhE,oF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;IAMa,2B;;;;;AAAb;AAAA;;AAAA;;;;AAEY,uCAA6B,UAAC,CAAD,EAAM;AAAA,UAC/B,oBAD+B,GACN,MAAK,KAAL,CAAW,KADL,CAC/B,oBAD+B;AAEvC,0BAAoB;AACvB,KAHO;;AAFZ;AAqFC;;;;6BA9ES;AAAA,8BAG8C,KAAK,KAAL,CAAW,KAHzD;AAAA,UACM,IADN,qBACM,IADN;AAAA,UACY,SADZ,qBACY,SADZ;AAAA,UACuB,QADvB,qBACuB,QADvB;AAAA,UACiC,8BADjC,qBACiC,8BADjC;AAAA,UACiE,iCADjE,qBACiE,iCADjE;AAAA,UACoG,sBADpG,qBACoG,sBADpG;AAAA,UAC4H,aAD5H,qBAC4H,aAD5H;AAAA,UAC2I,iBAD3I,qBAC2I,iBAD3I;AAAA,UAEE,uBAFF,qBAEE,uBAFF;AAAA,UAE2B,sBAF3B,qBAE2B,sBAF3B;AAAA,UAEmD,yBAFnD,qBAEmD,yBAFnD;AAAA,UAE8E,wBAF9E,qBAE8E,wBAF9E;AAAA,UAEwG,6BAFxG,qBAEwG,6BAFxG;AAAA,UAEuI,gBAFvI,qBAEuI,gBAFvI;AAAA,UAGE,YAHF,qBAGE,YAHF;AAAA,UAGgB,gBAHhB,qBAGgB,gBAHhB;AAAA,UAGkC,OAHlC,qBAGkC,OAHlC;AAKF,UAAM,oBAAoB,GAAG,UAAU,CAAC;AACpC,gCAAwB,IADY;AAEpC,gBAAQ,CAAC,yBAAD,IAA8B,CAAC,YAFH;AAGpC,kBAAU,yBAH0B;AAIpC,mBAAW;AAJyB,OAAD,CAAvC;AAMA,UAAM,oBAAoB,GAAG,UAAU,CAAC;AACpC,yBAAiB,IADmB;AAEpC,kBAAU,CAAC,uBAFyB;AAGpC,gBAAQ;AAH4B,OAAD,CAAvC;AAMA,UAAI,oBAAJ;;AACA,0BAAoB,GAAG,8BAAC,KAAD;AAAA,eAAsC,oBAAC,oDAAD,EAA0B;AAAC,eAAK,EAAE;AAAR,SAA1B,CAAtC;AAAA,OAAvB;;AAEA,aACI,iCACI;AAAK,UAAE,EAAC,sBAAR;AAA+B,iBAAS,EAAE;AAA1C,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA4B,kDAAsB,aAAa,CAAC,QAAd,EAAtB,CAA5B,CADJ,CADJ,EAII;AAAK,iBAAS,EAAC;AAAf,SAAgC,8BAAe,IAAf,EAAqB,UAArB,CAAhC,CAJJ,CADJ,EAOI;AAAQ,iBAAS,EAAC,gBAAlB;AAAmC,eAAO,EAAE;AAA5C,QAPJ,CADJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAE,oBAAhB;AAAsC,eAAO,EAAE,KAAK;AAApD,SAAiF,8BAAe,IAAf,EAAqB,sBAArB,CAAjF,CAFJ,EAII,oBAAC,6CAAD,EAAsB;AAClB,cAAM,EAAE,gBAAC,KAAD;AAAA,iBAAsC,oBAAC,iDAAD,EAA0B;AAAC,iBAAK,EAAE;AAAR,WAA1B,CAAtC;AAAA,SADU;AAElB,+BAAuB,EAAE,uBAFP;AAGlB,YAAI,EAAE,IAHY;AAIlB,iBAAS,EAAE,SAJO;AAKlB,gBAAQ,EAAE,KALQ;AAMlB,8BAAsB,EAAE,sBANN;AAOlB,sBAAc,EAAE,iBAAiB,IAAI,aAAa,KAAK;AAPrC,OAAtB,CAJJ,EAcI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,OAAD,EAAU,CAAV;AAAA,eACV;AAAK,aAAG,oBAAa,OAAO,CAAC,EAArB;AAAR,WACI,oBAAC,6CAAD,EAAsB;AAClB,gBAAM,EAAE,oBADU;AAElB,cAAI,EAAE,IAFY;AAGlB,wCAA8B,EAAE,8BAHd;AAIlB,iDAAuC,EAAE,iCAJvB;AAKlB,wBAAc,EAAE,sBALE;AAMlB,mBAAS,EAAE,SANO;AAOlB,iBAAO,EAAE,OAPS;AAQlB,iBAAO,EAAE,IARS;AASlB,0BAAgB,EAAE,gBATA;AAUlB,kCAAwB,EAAE,wBAVR;AAWlB,mCAAyB,EAAE;AAXT,SAAtB,CADJ,CADU;AAAA,OAAb,CADL,CAdJ,EAkCK,OAAO,IACJ;AAAK,iBAAS,EAAC,wBAAf;AAAwC,eAAO,EAAE,kBAAC;AAAA,iBAAI,gBAAgB,EAApB;AAAA;AAAlD,SACK,8BAAe,IAAf,EAAqB,qBAArB,CADL,CAnCR,CAXJ,CADJ,CADJ;AAyDH;;;;EApF4C,KAAK,CAAC,S;;AAAvD,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;;AACA;;AAUA,IAAM,yBAAyB,GAAG,GAAlC;AACA,IAAM,SAAS,GAAG;AACd,QAAM,kDADQ;AAEd,QAAM,4DAFQ;AAGd,QAAM;AAHQ,CAAlB;;IAMa,kC;;;;;AACT;AAAA;;AAAA;;AACI;;AAoBI,mCAAyB,YAAK;AAAA,8BAC4B,MAAK,KAAL,CAAW,KADvC;AAAA,UAC1B,UAD0B,qBAC1B,UAD0B;AAAA,UACd,aADc,qBACd,aADc;AAAA,UACC,sBADD,qBACC,sBADD;;AAGlC,YAAK,QAAL,CAAc;AAAE,gCAAwB,EAAE;AAA5B,OAAd;;AACA,gBAAU;AACV,4BAAsB;AACtB,mBAAa;AACb,gBAAU,CAAC,YAAK;AACZ,cAAK,QAAL,CAAc;AAAE,kCAAwB,EAAE;AAA5B,SAAd;AACH,OAFS,EAEP,yBAFO,CAAV;AAGH,KAVO;;AAYR,6BAAmB,YAAK;AACpB;AACH,KAFD;;AAIA,kCAAwB,YAAK;AACzB;AACH,KAFD;;AAnCI,UAAK,KAAL,GAAa;AACT,8BAAwB,EAAE;AADjB,KAAb;AAFJ;AAKC;;;;0CAEqB,S,EAAgC,S,EAA8B;AAChF,aAAO,KAAK,KAAL,CAAW,wBAAX,KAAwC,SAAS,CAAC,wBAAlD,IACA,KAAK,KAAL,CAAW,KAAX,CAAiB,uBAAjB,KAA6C,SAAS,CAAC,KAAV,CAAgB,uBAD7D,IAEA,KAAK,KAAL,CAAW,KAAX,CAAiB,MAAjB,KAA4B,SAAS,CAAC,KAAV,CAAgB,MAF5C,IAGA,KAAK,KAAL,CAAW,KAAX,CAAiB,KAAjB,KAA2B,SAAS,CAAC,KAAV,CAAgB,KAH3C,IAIA,KAAK,KAAL,CAAW,KAAX,CAAiB,IAAjB,KAA0B,SAAS,CAAC,KAAV,CAAgB,IAJ1C,IAKA,KAAK,KAAL,CAAW,KAAX,CAAiB,OAAjB,KAA6B,SAAS,CAAC,KAAV,CAAgB,OAL7C,IAMA,KAAK,KAAL,CAAW,KAAX,CAAiB,cAAjB,KAAoC,SAAS,CAAC,KAAV,CAAgB,cAN3D;AAOH;;;6BA0BK;AAAA;;AAAA,+BACiJ,KAAK,KAAL,CAAW,KAD5J;AAAA,UACM,uBADN,sBACM,uBADN;AAAA,UAC+B,MAD/B,sBAC+B,MAD/B;AAAA,UACuC,KADvC,sBACuC,KADvC;AAAA,UAC8C,IAD9C,sBAC8C,IAD9C;AAAA,UACoD,OADpD,sBACoD,OADpD;AAAA,UAC6D,IAD7D,sBAC6D,IAD7D;AAAA,UACmE,sBADnE,sBACmE,sBADnE;AAAA,UAC2F,cAD3F,sBAC2F,cAD3F;AAAA,UAC2G,iBAD3G,sBAC2G,iBAD3G;AAAA,UAC8H,cAD9H,sBAC8H,cAD9H;AAAA,UAEM,wBAFN,GAEmC,KAAK,KAFxC,CAEM,wBAFN;AAGF,UAAM,SAAS,GAAG,SAAS,CAAC,IAAD,CAA3B;AAEA,aACI;AAAK,iBAAS,EAAC,2BAAf;AAA2C,aAAK,EAAE;AAAE,mBAAS,EAAE,uBAAuB,GAAG,KAAK,iBAAL,CAAuB,YAA1B,GAAyC;AAA7E,SAAlD;AAAoI,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,iBAAL,GAAyB,IAA7B;AAAA;AAA5I,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,yBAAf;AAAyC,aAAK,EAAE;AAAE,mBAAS,EAAE,CAAC,MAAD,IAAW,CAAC,wBAAZ,GAAuC,KAAK,OAAL,IAAgB,KAAK,OAAL,CAAa,YAApE,GAAmF;AAAhG,SAAhD;AAAqJ,WAAG,EAAE,kBAAG;AAAA,iBAAI,MAAI,CAAC,OAAL,GAAe,KAAnB;AAAA;AAA7J,SACK,CAAC,cAAD,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,iBAAlB;AAAoC,aAAK,EAAE,8BAAe,IAAf,EAAqB,mBAArB,CAA3C;AAAsF,eAAO,EAAE,kBAAC;AAAA,iBAAI,sBAAsB,EAA1B;AAAA;AAAhG,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CADJ,CAFR,EAQI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,iBAAS,EAAC,6BADd;AAEI,iBAAS,EAAE,EAFf;AAGI,aAAK,EAAE,IAHX;AAII,mBAAW,EAAE,8BAAe,IAAf,EAAqB,MAArB,CAJjB;AAKI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,MAAJ,CAArB;AAAA,SALd;AAMI,eAAO,EAAE,KAAK,gBANlB;AAOI,cAAM,EAAE,KAAK;AAPjB,QADJ,CARJ,EAoBI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,iBAAS,EAAC,kBADd;AAEI,YAAI,EAAC,MAFT;AAGI,iBAAS,EAAE,EAHf;AAII,aAAK,EAAE,KAJX;AAKI,mBAAW,EAAE,8BAAe,IAAf,EAAqB,OAArB,CALjB;AAMI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,OAAJ,CAArB;AAAA,SANd;AAOI,eAAO,EAAE,KAAK,gBAPlB;AAQI,cAAM,EAAE,KAAK;AARjB,QADJ,EAYI;AACI,iBAAS,EAAC,oBADd;AAEI,YAAI,EAAC,MAFT;AAEgB,iBAAS,EAAE,IAF3B;AAGI,aAAK,EAAE,OAHX;AAII,mBAAW,EAAE,8BAAe,IAAf,EAAqB,iBAArB,CAJjB;AAKI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,SAAJ,CAArB;AAAA,SALd;AAMI,eAAO,EAAE,KAAK,gBANlB;AAOI,cAAM,EAAE,KAAK;AAPjB,QAZJ,CApBJ,EA4CI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACA;AAAK,iBAAS,EAAC;AAAf,SACS,wCADT,EAEI;AAAG,YAAI,EAAC,4EAAR;AAAqF,cAAM,EAAC,QAA5F;AAAqG,aAAK,EAAE,8BAAe,IAAf,EAAqB,cAArB,CAA5G;AAAkJ,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAAzJ,SAA+K,uHAA/K,CAFJ,EAGS,iDAHT,CADA,EAMI;AAAQ,iBAAS,EAAC,SAAlB;AAA4B,UAAE,EAAC,sBAA/B;AAAsD,aAAK,EAAE,8BAAe,IAAf,EAAqB,cAArB,CAA7D;AAAmG,eAAO,EAAE,kBAAC;AAAA,iBAAI,iBAAiB,EAArB;AAAA;AAA7G,SACI,kCAAO,8BAAe,IAAf,EAAqB,cAArB,CAAP,CADJ,CANJ,CADJ,CA5CJ,CADJ,EA2DI;AAAK,iBAAS,EAAC,2BAAf;AAA2C,aAAK,EAAE;AAAE,mBAAS,EAAE,MAAM,GAAG,KAAK,YAAL,IAAqB,KAAK,YAAL,CAAkB,YAA1C,GAAyD;AAA5E,SAAlD;AAAmI,WAAG,EAAE,kBAAG;AAAA,iBAAI,MAAI,CAAC,YAAL,GAAoB,KAAxB;AAAA;AAA3I,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA0B,oCAAS,8BAAe,IAAf,EAAqB,WAArB,CAAT,EAAqD,GAArD,CAA1B,E,GAAA,EAAgF,kCAAO,8BAAe,IAAf,EAAqB,mCAArB,CAAP,CAAhF,CADJ,EAEI;AAAQ,iBAAS,EAAC,kBAAlB;AAAqC,aAAK,EAAE,8BAAe,IAAf,EAAqB,OAArB,CAA5C;AAA2E,eAAO,EAAE,KAAK;AAAzF,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CAFJ,CADJ,CA3DJ,CADJ,CADJ;AAwEH;;;;EAvHmD,KAAK,CAAC,S;;AAA9D,gF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AAEA;;AACA;;IAMa,oB;;;;;AAAb;AAAA;;AAAA;;;;AACY,+BAAqB,YAAK;AAAA,UACtB,IADsB,GACb,MAAK,KAAL,CAAW,KADE,CACtB,IADsB;AAE9B,UAAI,IAAI,KAAK,IAAb,EAAmB,OAAO,oDAAP,CAAnB,KACK,IAAG,IAAI,KAAG,IAAV,EAAgB,OAAO,2DAAP,CAAhB,KACA,OAAO,sDAAP;AACR,KALO;;AAOA,mCAAyB,YAAK;AAAA,8BAC4B,MAAK,KAAL,CAAW,KADvC;AAAA,UAC1B,UAD0B,qBAC1B,UAD0B;AAAA,UACd,aADc,qBACd,aADc;AAAA,UACC,sBADD,qBACC,sBADD;AAElC,gBAAU;AACV,4BAAsB;AACtB,mBAAa;AAChB,KALO;;AAOR,6BAAmB,YAAK;AACpB;AACH,KAFD;;AAIA,kCAAwB,YAAK;AACzB;AACH,KAFD;;AAnBJ;AAqIC;;;;6BA9GS;AAAA,+BAEsH,KAAK,KAAL,CAAW,KAFjI;AAAA,UACM,uBADN,sBACM,uBADN;AAAA,UAC+B,MAD/B,sBAC+B,MAD/B;AAAA,UACuC,KADvC,sBACuC,KADvC;AAAA,UAC8C,IAD9C,sBAC8C,IAD9C;AAAA,UACoD,KADpD,sBACoD,KADpD;AAAA,UAC2D,OAD3D,sBAC2D,OAD3D;AAAA,UACoE,SADpE,sBACoE,SADpE;AAAA,UAC+E,QAD/E,sBAC+E,QAD/E;AAAA,UAEE,IAFF,sBAEE,IAFF;AAAA,UAEQ,kBAFR,sBAEQ,kBAFR;AAAA,UAE4B,sBAF5B,sBAE4B,sBAF5B;AAAA,UAEoD,UAFpD,sBAEoD,UAFpD;AAAA,UAEgE,cAFhE,sBAEgE,cAFhE;AAAA,UAEgF,iBAFhF,sBAEgF,iBAFhF;AAAA,UAEmG,cAFnG,sBAEmG,cAFnG;AAGF,UAAM,qBAAqB,GAAG,UAAU,CAAC;AACrC,gCAAwB,IADa;AAErC,kBAAU,uBAF2B;AAGrC,gBAAQ,CAAC;AAH4B,OAAD,CAAxC;AAKA,UAAI,KAAK,GAAG,wCAAZ;AACA,UAAI,KAAK,GAAE,qBAAX;AACA,UAAI,KAAK,GAAG,iDAAZ;;AACA,UAAG,IAAI,KAAG,IAAV,EAAe;AACX,aAAK,GAAG,6GAAR;AACA,aAAK,GAAG,cAAR;AACA,aAAK,GAAG,oGAAR;AACH;;AACD,UAAG,IAAI,KAAG,IAAV,EAAe;AACX,aAAK,GAAG,oHAAR;AACA,aAAK,GAAG,uBAAR;AACA,aAAK,GAAG,yGAAR;AACH;;AACD,aACI;AAAK,iBAAS,EAAE;AAAhB,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,MAAD,IACG;AAAK,iBAAS,EAAC;AAAf,SACC,CAAC,cAAD,IAAmB;AAAK,iBAAS,EAAC;AAAf,SAChB;AAAM,iBAAS,EAAC;AAAhB,S,GAAA,EAA8B,QAAQ,KAAK,OAAb,GAAuB,8BAAe,IAAf,EAAqB,4BAArB,CAAvB,GAA4E,8BAAe,IAAf,EAAqB,iBAArB,CAA1G,EAA0J,GAA1J,CADgB,EAEZ;AAAQ,iBAAS,EAAC,iBAAlB;AAAoC,aAAK,EAAE,8BAAe,IAAf,EAAqB,mBAArB,CAA3C;AAAsF,eAAO,EAAE,kBAAC;AAAA,iBAAI,kBAAkB,EAAtB;AAAA;AAAhG,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,EAEI,kCAAO,8BAAe,IAAf,EAAqB,OAArB,CAAP,CAFJ,CAFY,CADpB,EAQK,SAAS,IAAI;AAAK,iBAAS,EAAC;AAAf,SACV;AAAK,iBAAS,EAAC;AAAf,SAA2B,4CAAU,8BAAe,IAAf,EAAqB,SAArB,CAAV,EAA3B,CADU,EAEV;AAAK,iBAAS,EAAC;AAAf,SAAsC,4CAAU,8BAAe,IAAf,EAAqB,qCAArB,CAAV,EAAtC,CAFU,EAGV;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,WAAlB;AAA8B,aAAK,EAAE,8BAAe,IAAf,EAAqB,SAArB,CAArC;AAAsE,eAAO,EAAE,KAAK;AAApF,SAA4G,kCAAO,8BAAe,IAAf,EAAqB,SAArB,CAAP,CAA5G,CADJ,EAEI;AAAQ,iBAAS,EAAC,WAAlB;AAA8B,aAAK,EAAE,8BAAe,IAAf,EAAqB,QAArB,CAArC;AAAqE,eAAO,EAAE,kBAAC;AAAA,iBAAI,UAAU,EAAd;AAAA;AAA/E,SAAiG,kCAAO,8BAAe,IAAf,EAAqB,QAArB,CAAP,CAAjG,CAFJ,CAHU,CARlB,EAgBI;AAAK,iBAAS,EAAC;AAAf,SACA;AACI,iBAAS,EAAC,6BADd;AAEI,iBAAS,EAAE,EAFf;AAGI,aAAK,EAAE,IAHX;AAII,mBAAW,EAAE,8BAAe,IAAf,EAAqB,MAArB,CAJjB;AAKI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,MAAJ,CAArB;AAAA,SALd;AAMI,eAAO,EAAE,KAAK,gBANlB;AAOI,cAAM,EAAE,KAAK;AAPjB,QADA,EAUA;AACI,iBAAS,EAAC,6BADd;AAEI,iBAAS,EAAE,EAFf;AAEmB,aAAK,EAAE,KAF1B;AAGI,mBAAW,EAAE,8BAAe,IAAf,EAAqB,OAArB,CAHjB;AAII,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,OAAJ,CAArB;AAAA,SAJd;AAKI,eAAO,EAAE,KAAK,gBALlB;AAMI,cAAM,EAAE,KAAK;AANjB,QAVA,CAhBJ,EAmCI;AAAK,iBAAS,EAAC;AAAf,SACA;AACI,iBAAS,EAAC,kBADd;AAEI,YAAI,EAAC,MAFT;AAGI,iBAAS,EAAE,EAHf;AAII,aAAK,EAAE,KAJX;AAKI,mBAAW,EAAE,8BAAe,IAAf,EAAqB,OAArB,CALjB;AAMI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,OAAJ,CAArB;AAAA,SANd;AAOI,eAAO,EAAE,KAAK,gBAPlB;AAQI,cAAM,EAAE,KAAK;AARjB,QADA,EAWA;AACI,iBAAS,EAAC,oBADd;AAEI,YAAI,EAAC,MAFT;AAEgB,iBAAS,EAAE,IAF3B;AAGI,aAAK,EAAE,OAHX;AAII,mBAAW,EAAE,8BAAe,IAAf,EAAqB,iBAArB,CAJjB;AAKI,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,cAAc,CAAC,CAAD,EAAI,SAAJ,CAArB;AAAA,SALd;AAMI,eAAO,EAAE,KAAK,gBANlB;AAOI,cAAM,EAAE,KAAK;AAPjB,QAXA,CAnCJ,EAyDI;AAAK,iBAAS,EAAC;AAAf,SACA;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACC,KADD,EAEI;AAAG,YAAI,EAAE,KAAK,kBAAL,EAAT;AAAoC,cAAM,EAAC,QAA3C;AAAoD,aAAK,EAAE,8BAAe,IAAf,EAAqB,cAArB,CAA3D;AAAiG,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAAxG,SAAkI,KAAlI,CAFJ,EAGK,KAHL,CADJ,EAMQ;AAAQ,iBAAS,EAAC,SAAlB;AAA4B,UAAE,EAAC,sBAA/B;AAAsD,aAAK,EAAE,8BAAe,IAAf,EAAqB,cAArB,CAA7D;AAAmG,eAAO,EAAE,kBAAC;AAAA,iBAAI,iBAAiB,EAArB;AAAA;AAA7G,SACI,kCAAO,8BAAe,IAAf,EAAqB,cAArB,CAAP,CADJ,CANR,CADA,CAzDJ,CAFR,EAyEK,MAAM,IAAI;AAAK,iBAAS,EAAC;AAAf,SACP;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA0B,oCAAU,8BAAe,IAAf,EAAqB,WAArB,CAAV,EAAsD,GAAtD,CAA1B,E,GAAA,EAAiF,kCAAO,8BAAe,IAAf,EAAqB,mCAArB,CAAP,CAAjF,CADJ,EAEI;AAAQ,iBAAS,EAAC,kBAAlB;AAAqC,aAAK,EAAE,8BAAe,IAAf,EAAqB,OAArB,CAA5C;AAA2E,eAAO,EAAE,KAAK;AAAzF,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,SAAmC,8BAAe,IAAf,EAAqB,OAArB,CAAnC,CAFJ,CAFJ,CADO,CAzEf,CADJ,CADJ;AAwFH;;;;EApIqC,KAAK,CAAC,S;;AAAhD,oD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXA;;AACA;;IASa,mB;;;;;;;;;;;;;6BACH;AAAA,8BAaQ,KAAK,KAAL,CAAW,KAbnB;AAAA,UACM,IADN,qBACM,IADN;AAAA,UACY,UADZ,qBACY,UADZ;AAAA,UACwB,IADxB,qBACwB,IADxB;AAAA,UAC8B,aAD9B,qBAC8B,aAD9B;AAAA,UAC6C,KAD7C,qBAC6C,KAD7C;AAAA,UACoD,OADpD,qBACoD,OADpD;AAAA,UAC6D,iBAD7D,qBAC6D,iBAD7D;AAAA,UACgF,eADhF,qBACgF,eADhF;AAAA,UACiG,SADjG,qBACiG,SADjG;AAAA,UAEE,sBAFF,qBAEE,sBAFF;AAAA,oDAGE,OAHF;AAAA,UAIM,EAJN,yBAIM,EAJN;AAAA,UAKM,MALN,yBAKM,MALN;AAAA,UAMM,KANN,yBAMM,KANN;AAAA,UAOM,IAPN,yBAOM,IAPN;AAAA,UAQM,MARN,yBAQM,MARN;AAAA,UASM,OATN,yBASM,OATN;AAAA,UAUM,KAVN,yBAUM,KAVN;AAAA,UAWM,WAXN,yBAWM,WAXN;AAAA,UAYM,eAZN,yBAYM,eAZN;AAeF,UAAM,kBAAkB,GAAG,qDAAsC,OAAtC,EAA+C;AAAE,gBAAQ,EAAE,IAAZ;AAAkB,yBAAiB,EAAE;AAArC,OAA/C,CAA3B;AACA,UAAM,sBAAsB,GAAG,UAAU,CAAC;AACtC,6BAAqB,IADiB;AAEtC,oBAAY,UAF0B;AAGtC,kBAAU,KAAK,KAAK,CAHkB;AAItC,kBAAU,KAAK,KAAK;AAJkB,OAAD,CAAzC;AASA,UAAM,mBAAmB,GAAG,UAAU,CAAC;AACnC,wBAAgB,IADmB;AAEnC,wBAAgB;AAFmB,OAAD,CAAtC;AAIA,UAAM,iBAAiB,GAAG,UAAU,CAAC;AACjC,uBAAe,IADkB;AAEjC,kBAAU,KAAK,KAAK,CAFa;AAGjC,kBAAU,KAAK,KAAK;AAHa,OAAD,CAApC;AAKA,UAAM,2BAA2B,GAAG,UAAU,CAAC;AAC3C,gCAAwB,IADmB;AAE3C,kBAAU,KAAK,KAAK,CAFuB;AAG3C,kBAAU,KAAK,KAAK;AAHuB,OAAD,CAA9C;AAKA,UAAM,iBAAiB,GAAG,UAAU,CAAC;AACjC,sBAAc;AADmB,OAAD,CAApC;AAIA,UAAM,aAAa,GAAG,KAAK,GAAG,CAAR,GAAY,CAAZ,GAAgB,KAAtC;AACA,UAAM,eAAe,GAAG,OAAO,GAAG,CAAV,GAAc,CAAd,GAAkB,OAA1C;AACA,aACI;AAAK,UAAE,EAAC,mBAAR;AAA4B,iBAAS,EAAE;AAAvC,SACI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAC;AAAf,SACK,KAAK,KAAK,CAAV,IAAe;AAAK,iBAAS,mBAAY,iBAAZ;AAAd,SAAgD,MAAhD,EAA8D,GAA9D,CADpB,EAEK,KAAK,KAAK,CAAV,IAAe;AAAK,iBAAS,EAAC;AAAf,SAAsC;AAAM,iBAAS,EAAC;AAAhB,QAAtC,CAFpB,EAGI;AAAK,iBAAS,qBAAc,mBAAd,CAAd;AAAmD,eAAO,EAAE;AAA5D,S,KAAA,EAAkF,kCAAO,KAAP,CAAlF,EACK,IAAI,CAAC,MAAL,KAAgB,CAAhB,IAAqB,kCAAO,MAAP,CAD1B,CAHJ,CAFJ,EAUK,UAAU,IAAI,IAAI,CAAC,MAAL,GAAc,CAA5B,IAAiC;AAAK,iBAAS,oBAAa,iBAAb;AAAd,SAAiD,IAAjD,CAVtC,EAYI;AAAK,iBAAS,EAAC;AAAf,SACI,iCACK,MAAM,KAAK,EAAX,GAAgB;AAAM,iBAAS,EAAC;AAAhB,mBAA6B,MAA7B,EAAhB,GAAgE,IADrE,EAEK,MAAM,KAAK,EAAX,IAAiB;AAAM,iBAAS,EAAC;AAAhB,SAAyB,GAAzB,CAFtB,EAGI;AAAM,iBAAS,EAAC;AAAhB,S,GAAA,YAA2C,kBAA3C,SAAgE,eAAe,GAAG,QAAQ,eAAX,GAA6B,EAA5G,EAHJ,CADJ,EAOI;AAAG,iBAAS,EAAC,oBAAb;AAAkC,aAAK,EAAC,qEAAxC;AACQ,YAAI,wCAAiC,EAAjC;AADZ,SAEQ,wGAFR,CAPJ,CAZJ,CAFJ,CADJ,CADJ;AAqCH;;;;EAnFoC,KAAK,CAAC,S;;AAA/C,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;IAMa,0B;;;;;;;;;;;;;6BAGH;AAAA,UACM,aADN,GACwB,KAAK,KAAL,CAAW,KADnC,CACM,aADN;AAEF,aACI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,SAA6B,kDAAsB,aAAa,CAAC,QAAd,EAAtB,CAA7B,CADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,SAAwB,sCAAxB,CAFJ,CAFJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,WAAG,EAAC,eADR;AAEI,iBAAS,EAAC,kBAFd;AAGI,aAAK,EAAC,+DAHV;AAII,YAAI,EAAC;AAJT,SAMI,kGANJ,CADJ,CALJ,CADJ;AAkBH;;;;EAvB2C,KAAK,CAAC,S;;AAAtD,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPA;;AAEA;;AAEA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAMa,oB;;;;;;;;;;;;;6BACH;AAAA,8BAaQ,KAAK,KAAL,CAAW,KAbnB;AAAA,UACM,IADN,qBACM,IADN;AAAA,UACY,UADZ,qBACY,UADZ;AAAA,UACwB,IADxB,qBACwB,IADxB;AAAA,UAC8B,aAD9B,qBAC8B,aAD9B;AAAA,UAC6C,KAD7C,qBAC6C,KAD7C;AAAA,UACoD,OADpD,qBACoD,OADpD;AAAA,UAC6D,iBAD7D,qBAC6D,iBAD7D;AAAA,UACgF,eADhF,qBACgF,eADhF;AAAA,UACiG,SADjG,qBACiG,SADjG;AAAA,UAEE,uBAFF,qBAEE,uBAFF;AAAA,UAE2B,sBAF3B,qBAE2B,sBAF3B;AAAA,UAEmD,oBAFnD,qBAEmD,oBAFnD;AAAA,UAEyE,sBAFzE,qBAEyE,sBAFzE;AAAA,oDAGE,OAHF;AAAA,UAIM,EAJN,yBAIM,EAJN;AAAA,UAKM,MALN,yBAKM,MALN;AAAA,UAMM,KANN,yBAMM,KANN;AAAA,UAOM,IAPN,yBAOM,IAPN;AAAA,UAQM,MARN,yBAQM,MARN;AAAA,UASM,OATN,yBASM,OATN;AAAA,UAUM,KAVN,yBAUM,KAVN;AAAA,UAWM,WAXN,yBAWM,WAXN;AAAA,UAYM,eAZN,yBAYM,eAZN;AAeF,UAAM,kBAAkB,GAAG,qDAAsC,OAAtC,EAA+C;AAAE,gBAAQ,EAAE,KAAZ;AAAmB,yBAAiB,EAAE;AAAtC,OAA/C,CAA3B;AACA,UAAM,sBAAsB,GAAG,UAAU,CAAC;AACtC,8BAAsB,IADgB;AAEtC,oBAAY,UAF0B;AAGtC,kBAAU,KAAK,KAAK,CAHkB;AAItC,kBAAU,KAAK,KAAK;AAJkB,OAAD,CAAzC;AAOA,UAAM,WAAW,GAAG,UAAU,CAAC;AAC3B,mBAAW,IADgB;AAE3B,uBAAe,IAAI,KAAK;AAFG,OAAD,CAA9B;AAMA,UAAM,cAAc,GAAG,UAAU,CAAC;AAC9B,sBAAc,IADgB;AAE9B,0BAAkB,IAAI,KAAK,CAAC;AAFE,OAAD,CAAjC;AAKA,UAAM,mBAAmB,GAAG,UAAU,CAAC;AACnC,wBAAgB,IADmB;AAEnC,wBAAgB,WAFmB;AAGnC,oBAAY;AAHuB,OAAD,CAAtC;AAKA,UAAM,iBAAiB,GAAG,UAAU,CAAC;AACjC,uBAAe,IADkB;AAEjC,kBAAU,KAAK,KAAK,CAFa;AAGjC,kBAAU,KAAK,KAAK,CAHa;AAIjC,oBAAY;AAJqB,OAAD,CAApC;AAMA,UAAM,2BAA2B,GAAG,UAAU,CAAC;AAC3C,gCAAwB,IADmB;AAE3C,kBAAU,KAAK,KAAK,CAFuB;AAG3C,kBAAU,KAAK,KAAK;AAHuB,OAAD,CAA9C;AAKA,UAAM,iBAAiB,GAAG,UAAU,CAAC;AACjC,sBAAc;AADmB,OAAD,CAApC;AAIA,UAAM,aAAa,GAAG,KAAK,GAAG,CAAR,GAAY,CAAZ,GAAgB,KAAtC;AACA,UAAM,eAAe,GAAG,OAAO,GAAG,CAAV,GAAc,CAAd,GAAkB,OAA1C;AACA,aACI;AAAK,UAAE,EAAC,oBAAR;AAA6B,iBAAS,EAAE;AAAxC,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,KAAK,KAAK,CAAV,IAAe;AAAK,iBAAS,EAAE,iBAAhB;AAAmC,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,iBAAiB,EAAxB;AAAA;AAA5C,SAAyE,MAAzE,EAAuF,GAAvF,CADpB,EAEK,KAAK,KAAK,CAAV,IAAe;AAAK,iBAAS,EAAC,sBAAf;AAAsC,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,iBAAiB,EAAxB;AAAA;AAA/C,SAA2E;AAAM,iBAAS,EAAC;AAAhB,QAA3E,CAFpB,EAGI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAE,mBAAhB;AAAqC,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,iBAAiB,EAAxB;AAAA;AAA9C,S,KAAA,EAA6E,kCAAO,KAAP,CAA7E,EACK,IAAI,CAAC,MAAL,KAAgB,CAAhB,IAAqB,kCAAO,8BAAe,IAAf,EAAqB,eAArB,CAAP,CAD1B,CAFJ,CAFJ,EAQI;AAAK,iBAAS,EAAE;AAAhB,SAAoC,IAApC,CARJ,EAUI;AAAK,iBAAS,EAAC;AAAf,SAEI,iC,IAAA,EAAQ,MAAM,KAAK,EAAX,GAAgB;AAAM,iBAAS,EAAC;AAAhB,mBAA6B,MAA7B,EAAhB,GAAgE,IAAxE,EACK,MAAM,KAAK,EAAX,IAAiB,sCADtB,EAEI;AAAM,iBAAS,EAAC;AAAhB,S,GAAA,YAAmC,kBAAnC,SAAwD,eAAe,GAAG,QAAQ,eAAX,GAA6B,EAApG,EAFJ,CAFJ,EAKI,iCACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,SAAgC,aAAhC,CADJ,EAEI;AAAK,iBAAS,EAAE,WAAhB;AACI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,sBAAsB,CAAC,IAAD,EAAO,QAAP,CAA7B;AAAA,SADb;AAEI,aAAK,EAAC,4BAFV;AAEuC,aAAK,EAAC,IAF7C;AAEkD,cAAM,EAAC,IAFzD;AAE8D,eAAO,EAAC;AAFtE,SAGI;AAAG,YAAI,EAAC,MAAR;AAAe,gBAAQ,EAAC;AAAxB,SACI;AAAG,cAAM,EAAC,MAAV;AAAiB,mBAAW,EAAC;AAA7B,SACI,+BACI;AAAG,iBAAS,EAAC;AAAb,SACI;AAAM,SAAC,EAAC;AAAR,QADJ,EAEI;AAAM,aAAK,EAAC,KAAZ;AAAkB,cAAM,EAAC,GAAzB;AAA6B,SAAC,EAAC,GAA/B;AAAmC,UAAE,EAAC;AAAtC,QAFJ,CADJ,CADJ,CADJ,CAHJ,CAFJ,EAgBI;AAAM,iBAAS,EAAC;AAAhB,SAA+C,eAA/C,CAhBJ,EAiBI;AACI,iBAAS,EAAE,cADf;AAEI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,sBAAsB,CAAC,KAAD,EAAQ,QAAR,CAA7B;AAAA,SAFb;AAGI,aAAK,EAAC,4BAHV;AAGuC,aAAK,EAAC,IAH7C;AAGkD,cAAM,EAAC,IAHzD;AAG8D,eAAO,EAAC;AAHtE,SAII;AAAG,YAAI,EAAC,MAAR;AAAe,gBAAQ,EAAC;AAAxB,SACI;AAAG,cAAM,EAAC,MAAV;AAAiB,mBAAW,EAAC;AAA7B,SACI,+BACI;AAAG,iBAAS,EAAC;AAAb,SACI;AAAM,SAAC,EAAC;AAAR,QADJ,EAEI;AAAM,aAAK,EAAC,KAAZ;AAAkB,cAAM,EAAC,GAAzB;AAA6B,SAAC,EAAC,GAA/B;AAAmC,UAAE,EAAC;AAAtC,QAFJ,CADJ,CADJ,CADJ,CAJJ,CAjBJ,CADJ,EAoCI;AAAQ,iBAAS,EAAC,iBAAlB;AAAoC,aAAK,EAAE,8BAAe,IAAf,EAAqB,mBAArB,CAA3C;AAAsF,gBAAQ,EAAE,uBAAhG;AACI,eAAO,EAAE,kBAAC;AAAA,iBAAI,oBAAoB,CAAC,OAAD,CAAxB;AAAA;AADd,SAEI,kC,GAAA,EAAQ,8BAAe,IAAf,EAAqB,mBAArB,CAAR,CAFJ,CApCJ,CALJ,CAVJ,CAHJ,CADJ,EAmEI,oBAAC,6CAAD,EAAsB;AACV,cAAM,EAAE,gBAAC,KAAD;AAAA,iBAAsC,oBAAC,+CAAD,EAAqB;AAAC,iBAAK,EAAE;AAAR,WAArB,CAAtC;AAAA,SADE;AAEV,YAAI,EAAE,IAFI;AAGV,iBAAS,EAAE,SAHD;AAIV,gBAAQ,EAAE,eAJA;AAKV,8BAAsB,EAAE,sBALd;AAMV,wBAAgB,EAAE,EANR;AAOV,+BAAuB,EAAE;AAPf,OAAtB,CAnEJ,CADJ;AA+EH;;;;EAxIqC,KAAK,CAAC,S;;AAAhD,oD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;;AACA;;AAEA,mBAAO,CAAC,mCAAD,CAAP;;IAMa,2B;;;;;AAAb;AAAA;;AAAA;;;;AACY,uCAA6B,UAAC,CAAD,EAAM;AAAA,UAC/B,oBAD+B,GACN,MAAK,KAAL,CAAW,KADL,CAC/B,oBAD+B;AAEvC,0BAAoB;AACvB,KAHO;;AADZ;AA4BC;;;;6BAtBS;AAAA,8BAE0B,KAAK,KAAL,CAAW,KAFrC;AAAA,UACM,IADN,qBACM,IADN;AAAA,UACY,KADZ,qBACY,KADZ;AAAA,UACmB,aADnB,qBACmB,aADnB;AAAA,UACkC,aADlC,qBACkC,aADlC;AAAA,UACiD,uBADjD,qBACiD,uBADjD;AAAA,UAEE,mBAFF,qBAEE,mBAFF;AAGF,aACI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,SAA0B,kDAAsB,aAAa,CAAC,QAAd,EAAtB,CAA1B,CADJ,EAEI,kCAAO,8BAAe,IAAf,EAAqB,UAArB,CAAP,CAFJ,CAFJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,uBAAD,IAA4B;AACzB,WAAG,EAAC,eADqB;AAEzB,iBAAS,EAAC,eAFe;AAGzB,aAAK,EAAE,8BAAe,IAAf,EAAqB,aAArB,CAHkB;AAIzB,gBAAQ,EAAE,uBAJe;AAKzB,eAAO,EAAE,KAAK;AALW,SAMzB,kCAAO,8BAAe,IAAf,EAAqB,sBAArB,CAAP,CANyB,CADjC,CALJ,CADJ;AAkBH;;;;EA3B4C,KAAK,CAAC,S;;AAAvD,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA;;AACA;;AACA;;IAEa,4B;;;;;AAAb;AAAA;;AAAA;;;AAEY,yBAAe,uCAAf;AACA,yBAAe,wCAAf;AACA,qBAAW,oCAAX;AACA,yBAAe,2BAAf;;AAEA,kCAAwB,UAAC,MAAD,EAAiB,IAAjB,EAAkC;AAAA,UACvD,KADuD,GAC9C,MAAK,KADyC,CACvD,KADuD;;AAE9D,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,WAAW,GAAG,MAAM,CAAC,QAAP,CAAgB,IAApC;;AAEA,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B,EAA/B,EAAmC;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,aAA9B,EAA6C,KAA7C,CAAN;AAAA,aAAnC,EAA8F,aAA9F;AACA;;AAEJ,eAAK,UAAL;AACI,sDAAoB,iBAApB,CAAsC,WAAtC,EAAmD;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,aAA9B,EAA6C,KAA7C,CAAN;AAAA,aAAnD,EAA8G,aAA9G;AACA;;AAEJ,eAAK,QAAL;AACI,8CAAgB,aAAhB,CAA8B,QAAQ,CAAC,KAAvC,EAA8C,WAA9C,EAA2D,IAA3D,EAAiE;AAAA,qBAAM,iCAAkB,MAAlB,EAA0B,aAA1B,EAAyC,KAAzC,CAAN;AAAA,aAAjE,EAAwH,aAAxH;AACA;;AAEJ,eAAK,IAAL;AACI,oBAAQ,CAAC,IAAT,GAAgB,0BAAhB;AACA;AAfR;AAiBH;AACJ,KAvBO;;AAPZ;AAoDC;;;;6BApBgB;AAAA;;AAAA,UACD,IADC,GACQ,KAAK,KADb,CACD,IADC;AAET,aACI;AAAM,iBAAS,EAAC;AAAhB,SACM,IAAI,KAAK,IAAV,IAAmB;AAAQ,aAAK,EAAC,UAAd;AAAyB,iBAAS,EAAC,IAAnC;AAChB,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,EAAiC,IAAjC,CAAJ;AAAA;AADM,SAEhB;AAAK,WAAG,EAAE,KAAK,YAAf;AAA2B,uBAAe;AAA1C,QAFgB,CADxB,EAKI;AAAQ,aAAK,EAAC,UAAd;AAAyB,iBAAS,EAAC,UAAnC;AACI,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,UAA3B,CAAJ;AAAA;AADd,SAEI;AAAK,WAAG,EAAE,KAAK,YAAf;AAA2B,uBAAe;AAA1C,QAFJ,CALJ,EAQI;AAAQ,aAAK,EAAC,UAAd;AAAyB,iBAAS,EAAC,IAAnC;AAAwC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAAlD,SACI;AAAK,WAAG,EAAE,KAAK,YAAf;AAA2B,uBAAe;AAA1C,QADJ,CARJ,EAUI;AAAQ,aAAK,EAAC,WAAd;AAA0B,iBAAS,EAAC,QAApC;AACI,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,QAA3B,EAAqC,IAArC,CAAJ;AAAA;AADd,SAEI;AAAK,WAAG,EAAE,KAAK,QAAf;AAAuB,uBAAe;AAAtC,QAFJ,CAVJ,CADJ;AAiBH;;;;EAnD6C,KAAK,CAAC,S;;AACtC,8CAAiB,qCAAjB;AADlB,oE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJA;;AACA;;IAEa,sB;;;;;AAAb;AAAA;;AAAA;;;AAEY,wBAAc,kBAAd;AACA,yBAAe,gBAAf;AACA,qBAAW,oBAAX;AACA,yBAAe,2BAAf;;AACA,kCAAwB,UAAC,MAAD,EAAiB,IAAjB,EAAiC;AAAA,UACtD,KADsD,GAC7C,MAAK,KADwC,CACtD,KADsD;;AAE7D,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,WAAW,GAAG,MAAM,CAAC,QAAP,CAAgB,IAApC;;AAEA,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B,EAA/B,EAAmC;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,aAA9B,EAA6C,KAA7C,CAAN;AAAA,aAAnC,EAA8F,aAA9F;AACA;;AAEJ,eAAK,IAAL;AACI,4CAAiB,WAAjB,EAA8B;AAAA,qBAAM,iCAAkB,SAAlB,EAA6B,aAA7B,EAA4C,KAA5C,CAAN;AAAA,aAA9B,EAAwF,aAAxF;AACA;;AAEJ,eAAK,QAAL;AACI,8CAAgB,aAAhB,CAA8B,QAAQ,CAAC,KAAvC,EAA8C,WAA9C,EAA2D,IAA3D,EAAiE;AAAA,qBAAM,iCAAkB,MAAlB,EAA0B,aAA1B,EAAyC,KAAzC,CAAN;AAAA,aAAjE,EAAwH,aAAxH;AACA;;AACJ,eAAK,IAAL;AACI,oBAAQ,CAAC,IAAT,GAAgB,0BAAhB;AACA;AAdR;AAgBH;AACJ,KAtBO;;AANZ;AAmEC;;;;6BArCgB;AAAA;;AAAA,UACD,IADC,GACQ,KAAK,KADb,CACD,IADC;AAGT,UAAI,QAAJ;AACA,UAAI,MAAJ;AACA,UAAI,MAAJ;AACA,UAAI,MAAJ;;AACA,UAAI,IAAI,KAAK,IAAb,EAAmB;AACf,gBAAQ,GAAG,WAAX;AACA,cAAM,GAAG,eAAT;AACA,cAAM,GAAG,gBAAT;AACA,cAAM,GAAG,YAAT;AACH,OALD,MAMK;AACD,gBAAQ,GAAG,EAAX;AACA,cAAM,GAAG,EAAT;AACA,cAAM,GAAG,EAAT;AACA,cAAM,GAAG,EAAT;AACH;;AAED,aACI;AAAM,iBAAS,EAAC;AAAhB,SACI;AAAQ,aAAK,EAAE,QAAf;AAAyB,iBAAS,EAAC,QAAnC;AACI,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,QAA3B,EAAqC,IAArC,CAAJ;AAAA;AADd,SAEI;AAAK,WAAG,EAAE,KAAK,QAAf;AAAuB,uBAAe;AAAtC,QAFJ,CADJ,EAII;AAAQ,aAAK,EAAE,MAAf;AAAuB,iBAAS,EAAC,IAAjC;AACI,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,EAAiC,IAAjC,CAAJ;AAAA;AADd,SAEI;AAAK,WAAG,EAAE,KAAK,WAAf;AAA0B,uBAAe;AAAzC,QAFJ,CAJJ,EAOI;AAAQ,aAAK,EAAE,MAAf;AAAuB,iBAAS,EAAC,IAAjC;AAAsC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,EAAiC,IAAjC,CAAJ;AAAA;AAAhD,SACI;AAAK,WAAG,EAAE,KAAK,YAAf;AAA2B,uBAAe;AAA1C,QADJ,CAPJ,EASM,IAAI,KAAK,IAAV,IAAmB;AAAQ,aAAK,EAAE,MAAf;AAAuB,iBAAS,EAAC,IAAjC;AAAsC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,EAAiC,IAAjC,CAAJ;AAAA;AAAhD,SAChB;AAAK,WAAG,EAAE,KAAK,YAAf;AAA2B,uBAAe;AAA1C,QADgB,CATxB,CADJ;AAgBH;;;;EAlEuC,KAAK,CAAC,S;;AAChC,wCAAiB,wBAAjB;AADlB,wD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHA;;AACA;;AACA;;IAca,iC;;;;;AAGT,6CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,2GAAM,KAAN;AAFG,oCAA0B,sBAA1B;AAQC;AAAA;AAAA;AAAA;AAAA,4BAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AACR,oBADQ,GACG,MAAK,KADR,CACR,MADQ;AAEV,yBAFU,aAEO,MAAM,CAAC,QAAP,CAAgB,IAFvB,yBAE0C,MAF1C;AAGV,uBAHU,GAGE;AAAE,mBAAG,EAAE;AAAP,eAHF;AAAA;AAAA;AAAA,qBAMN,SAAS,CAAC,KAAV,CAAgB,SAAhB,CANM;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAQZ,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AARY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAZ;;AAYA,0CAAgC,YAAK;AACzC,UAAI,MAAK,KAAL,CAAW,QAAf,EAAyB;AACrB,YAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CAAtB;;AACA,YAAI,aAAJ,EAAmB;AACf,wDAAkB,aAAlB;AACH;AACJ,OALD,MAMK,IAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AACpC,cAAM,CAAC,6BAAP,IAAwC,MAAM,CAAC,6BAAP,EAAxC;AACH;AACJ,KAVO;;AA4BA,uCAA6B,UAAC,CAAD,EAAM;AACvC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,CAAC,CAAC,MAAF,CAAS;AAA7B,OAAd;AACH,KAFO;;AA7CJ,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE,IADJ;AAET,sBAAgB,EAAE;AAFT,KAAb;AAFa;AAMhB;;;;wCAyBgB;AACb,cAAQ,CAAC,gBAAT,CAA0B,KAAK,uBAA/B,EAAwD,KAAK,0BAA7D;AACA,UAAM,QAAQ,GAAG,QAAQ,CAAC,cAAT,CAAwB,qBAAxB,KAAkD,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CAAnE;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,4BAAvB,CAAtB;;AAEA,UAAI,CAAC,QAAD,IAAa,aAAjB,EAAgC;AAC5B,aAAK,QAAL,CAAc;AACV,qBAAW,EAAE;AADH,SAAd;AAGH;AACJ;;;2CAEmB;AAChB,cAAQ,CAAC,mBAAT,CAA6B,KAAK,uBAAlC,EAA2D,KAAK,0BAAhE;AACH;;;6BAMK;AAAA,wBACwD,KAAK,KAD7D;AAAA,UACM,GADN,eACM,GADN;AAAA,UACW,KADX,eACW,KADX;AAAA,UACkB,IADlB,eACkB,IADlB;AAAA,UACwB,QADxB,eACwB,QADxB;AAAA,UACkC,iBADlC,eACkC,iBADlC;AAAA,wBAEwC,KAAK,KAF7C;AAAA,UAEM,WAFN,eAEM,WAFN;AAAA,UAEmB,gBAFnB,eAEmB,gBAFnB;AAGF,UAAM,aAAa,GAAG,kDAAsB,gBAAgB,CAAC,QAAjB,EAAtB,CAAtB;AACA,UAAM,QAAQ,GAAG,IAAI,CAAC,QAAL,CAAc,IAAd,CAAjB;AACA,UAAI,YAAY,GAAG,QAAnB;AACA,UAAI,QAAQ,GAAG,QAAf;;AACA,UAAI,IAAI,KAAK,IAAb,EAAmB;AACf,oBAAY,GAAG,UAAf;AACH;;AACD,UAAI,IAAI,KAAK,IAAb,EAAmB;AACf,oBAAY,GAAG,eAAf;AACH;;AACD,UAAI,IAAI,KAAK,IAAb,EAAmB;AACf,oBAAY,GAAG,WAAf;AACA,gBAAQ,GAAG,YAAX;AACH;;AACD,UAAI,aAAa,CAAC,MAAd,KAAyB,CAA7B,EAAgC;AAC5B,oBAAY,GAAG,aAAf;;AACA,YAAI,IAAI,KAAK,IAAb,EAAmB;AACf,sBAAY,GAAG,eAAf;AACH;;AACD,YAAI,IAAI,KAAK,IAAb,EAAmB;AACf,sBAAY,GAAG,UAAf;AACH;;AACD,YAAI,IAAI,KAAK,IAAb,EAAmB;AACf,sBAAY,GAAG,WAAf;AACH;AACJ;;AAED,UAAM,IAAI,GAAG,IAAI,KAAK,IAAT,aAAmB,YAAnB,cAAmC,aAAnC,oBAA0D,aAA1D,gBAA6E,YAA7E,CAAb;AACA,UAAM,cAAc,GAAG,IAAI,KAAK,IAAT,GAAgB;AAAK,iBAAS,EAAC,yBAAf;AAAyC,eAAO,EAAE;AAAA,iBAAM,iCAAkB,GAAlB,EAAuB;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,SAA9B,EAAyC,KAAzC,CAAN;AAAA,WAAvB,EAA8E,SAA9E,CAAN;AAAA;AAAlD,QAAhB,GAA2K,IAAlM;AACA,UAAM,UAAU,GAAI,IAAI,KAAK,IAAT,IAAiB,iBAAlB,GAAuC;AAAK,iBAAS,EAAC,yBAAf;AAAyC,eAAO,EAAE;AAAA,iBAAM,gCAAiB,GAAjB,EAAsB;AAAA,mBAAM,iCAAkB,SAAlB,EAA6B,SAA7B,EAAwC,KAAxC,CAAN;AAAA,WAAtB,EAA4E,SAA5E,CAAN;AAAA;AAAlD,QAAvC,GAAgM,IAAnN;AACA,UAAM,OAAO,GAAI,IAAI,KAAK,IAAT,IAAiB,iBAAlB,GAAuC;AAAK,iBAAS,EAAC,0BAAf;AAA0C,eAAO,EAAE;AAAA,iBAAM,6BAAc,KAAd,EAAqB,QAArB,EAA+B,GAA/B,EAAoC;AAAA,mBAAM,iCAAkB,MAAlB,EAA0B,SAA1B,EAAqC,KAArC,CAAN;AAAA,WAApC,EAAuF,SAAvF,CAAN;AAAA;AAAnD,QAAvC,GAA4M,IAA5N;AACA,UAAM,KAAK,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAM,CAAC,QAAP,CAAgB,IAAhB,CAAqB,OAArB,CAA6B,OAA7B,KAAyC,CAAC,CAAzF;AACA,UAAM,QAAQ,GAAG,KAAK,GAAG;AAAG,YAAI,EAAC,eAAR;AAAwB,aAAK,EAAE,OAA/B;AAAwC,iBAAS,EAAC;AAAlD,QAAH,GAAyF;AAAK,iBAAS,EAAC,4BAAf;AAA4C,eAAO,EAAE,KAAK;AAA1D,QAA/G;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,yBAAf;AAAyC,eAAO,EAAE;AAAA,iBAAM,iCAAkB,GAAlB,EAAuB,KAAvB,EAA8B;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,SAA9B,EAAyC,KAAzC,CAAN;AAAA,WAA9B,EAAqF,oBAArF,CAAN;AAAA;AAAlD,QADJ,EAEI;AAAK,iBAAS,EAAC,yBAAf;AAAyC,eAAO,EAAE;AAAA,iBAAM,iCAAkB,GAAlB,EAAuB;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,SAA9B,EAAyC,KAAzC,CAAN;AAAA,WAAvB,EAA8E,SAA9E,CAAN;AAAA;AAAlD,QAFJ,EAGK,cAHL,EAIK,UAJL,EAKK,OALL,EAMK,CAAC,iBAAD,GAAqB,QAArB,GAAgC,IANrC,EAOK,QAAQ,IAAI,oBAAC,iCAAD,EAAgB;AAAC,iBAAS,EAAC;AAAX,OAAhB,CAPjB,CADJ,EAWK,WAAW,IAAI;AAAK,iBAAS,EAAC,iCAAf;AAAiD,eAAO,EAAE,KAAK;AAA/D,SACZ;AAAK,iBAAS,EAAC;AAAf,QADY,EAEX,QAAQ,GAAG;AAAM,UAAE,EAAC;AAAT,QAAH,GAAoC,IAFjC,CAXpB,CADJ;AAkBH;;;;EA5GkD,KAAK,CAAC,S;;AAC3C,mDAAiB,mCAAjB;AADlB,8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBA;;AACA;;AACA;;AACA;;AACA;;IAsBa,yB;;;;;AAET,qCAAY,KAAZ,EAAiD;AAAA;;AAAA;;AAC7C,mGAAM,KAAN;;AAoBJ,6BAAmB,UAAC,IAAD,EAAiB;AAChC,cAAQ,IAAR;AACI,aAAK,IAAL;AACI,gCAAS,IAAT,EAAe,wCAAf;AACA;;AACJ,aAAK,IAAL;AACI,gCAAS,IAAT,EAAe,yCAAf;AACA;;AACJ;AACI;AACA;AATR;AAWH,KAZD;;AAnBI,UAAK,KAAL,GAAa;AACT,UAAI,EAAE,EADG;AAET,qBAAe,EAAE,EAFR;AAGT,iBAAW,EAAE,EAHJ;AAIT,WAAK,EAAE;AAJE,KAAb;AAF6C;AAQhD;;;;wCAEgB;AAAA;;AAAA,wBACiB,KAAK,KADtB;AAAA,UACL,WADK,eACL,WADK;AAAA,UACQ,IADR,eACQ,IADR;;AAEb,UAAI,WAAJ,EAAiB;AACb,aAAK,gBAAL,CAAsB,IAAtB;AACA,aAAK,WAAL,CAAiB,WAAjB;AACA,mBAAW,CAAC,YAAK;AACb,gBAAI,CAAC,WAAL,CAAiB,WAAjB;AACH,SAFU,EAER,KAFQ,CAAX;AAGH;AACJ;;;gCAgBmB,W,EAAW;AAAA;;AAAA,UACnB,MADmB,GACR,KAAK,KADG,CACnB,MADmB;AAE3B,UAAM,aAAa,GAAG,KAAK,CAAC,MAAN,CAAa,wDAAb,CAAtB;AACA,mBAAa,CAAC,GAAd,WAAqB,MAArB,0CAA2D,WAA3D,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,YAAM,eAAe,GAAG,GAAG,CAAC,IAA5B;;AACA,cAAI,CAAC,QAAL,CAAc,eAAd;AACH,OAJL,EAKK,KALL,CAKW,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,+BAAd,EAA+C,GAA/C,CAAJ;AAAA,OALd;AAMH;;;6BAEK;AAAA,wBACoD,KAAK,KADzD;AAAA,UACM,KADN,eACM,KADN;AAAA,UACa,IADb,eACa,IADb;AAAA,UACmB,eADnB,eACmB,eADnB;AAAA,UACoC,WADpC,eACoC,WADpC;AAAA,UAEM,IAFN,GAEe,KAAK,KAFpB,CAEM,IAFN;;AAIF,UAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,MAAR,IAAkB,CAAC,CAAC,GAAF,CAAM,KAAN,EAAa,WAAC,EAAG;AAC/C,YAAM,SAAS,GAAG,CAAC,CAAC,SAApB;AACA,YAAM,OAAO,GAAG,IAAI,IAAJ,EAAhB;AACA,YAAM,UAAU,GAAG,OAAO,CAAC,OAAR,KAAoB,SAAS,CAAC,OAAV,EAAvC,CAH+C,CAGa;;AAC5D,YAAM,eAAe,GAAG,IAAI,CAAC,KAAL,CAAW,UAAU,GAAG,KAAxB,CAAxB;AACA,YAAM,WAAW,GAAG,eAAe,GAAG,CAAlB,GAAsB,OAAtB,GAAgC,oBAAO,CAAC,CAAC,SAAT,EAAoB,IAApB,CAApD;AACA,eACI,oBAAC,2CAAD,EAAqB,kBACb,CADa,EACZ;AACL,aAAG,EAAE,CAAC,CAAC,MADF;AAEL,qBAAW,EAAE,WAFR;AAGL,yBAAe,EAAE;AAHZ,SADY,CAArB,CADJ;AAQH,OAdiC,CAAlC;;AAgBA,aACI,iCACK,CAAC,CAAC,KAAK,CAAC,MAAR,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,mBAAf;AAAmC,aAAK,EAAE;AAAE,yBAAe,EAAE;AAAnB;AAA1C,SACI;AAAK,iBAAS,EAAC;AAAf,SACA;AAAK,iBAAS,EAAC;AAAf,QADA,EAEA,iCAAM,IAAN,CAFA,CADJ,CADJ,EAOA;AAAK,iBAAS,EAAC;AAAf,SACS,OADT,CAPA,CAFR,CADJ;AAgBH;;;;EApF0C,KAAK,CAAC,S;;AACnC,2CAAiB,yBAAjB;AADlB,8D;;;;;;;;;;;;;;;ACnBa,+BAAuB,UAAC,KAAD,EAAqC;AAAA,MAC7D,eAD6D,GACR,KADQ,CAC7D,eAD6D;AAAA,MAC5C,WAD4C,GACR,KADQ,CAC5C,WAD4C;AAAA,MAC/B,KAD+B,GACR,KADQ,CAC/B,KAD+B;AAAA,MACxB,WADwB,GACR,KADQ,CACxB,WADwB;AAErE,MAAM,KAAK,GAAG,WAAW,KAAK,OAA9B;AACA,SACI;AAAK,aAAS,EAAE,KAAK,GAAG,wBAAH,GAA8B;AAAnD,KACI;AAAG,QAAI,EAAE,WAAW,GAAG,WAAH,GAAiB,oBAArC;AAA2D,SAAK,EAAE,WAAW,GAAG,EAAH,GAAQ;AAAE,YAAM,EAAE;AAAV;AAArF,KACI;AAAK,aAAS,EAAC,UAAf;AAA0B,SAAK,EAAE;AAAE,aAAO,EAAE,MAAX;AAAmB,gBAAU,EAAE;AAA/B;AAAjC,KACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAA4B,WAA5B,CAFJ,CADJ,EAKI;AAAK,aAAS,EAAC;AAAf,KAAsC,KAAtC,CALJ,CADJ,CADJ;AAWH,CAdY;;AAgBb,6BAAqB,WAArB,GAAmC,sBAAnC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;;AAEA;;IAmBqB,mC;;;;;AAEnB,+CAAY,KAAZ,EAA2D;AAAA;;AAAA;;AACzD,6GAAM,KAAN;AAUM,uBAAa,CAAb;;AASR,yBAAe,UAAC,WAAD,EAAgB;AAC7B,aAAO,MAAK,KAAL,CAAW,MAAX,CAAkB,GAAlB,CAAsB,UAAC,IAAD,EAAO,KAAP,EAAgB;AAAA,0BACF,MAAK,KADH;AAAA,YACnC,YADmC,eACnC,YADmC;AAAA,YACrB,cADqB,eACrB,cADqB;AAE3C,eAAO,oBAAC,0BAAD,EAAY;AAAC,aAAG,EAAE,IAAI,CAAC;AAAX,SAAZ,EACJ,WAAW,IAAI,cAAc,KAAK,WAAlC,GACE;AAAA,uBAAa,eAAb;AAA6B,cAAI,uCAAgC,YAAhC,oBAAsD,KAAtD,sBAAuE,IAAI,CAAC,OAA5E;AAAjC,WACC;AAAK,aAAG,EAAE,IAAI,CAAC,QAAf;AAAyB,aAAG,EAAE,IAAI,CAAC;AAAnC,UADD,CADF,GAIG;AAAK,aAAG,EAAE,IAAI,CAAC,QAAf;AAAyB,aAAG,EAAE,IAAI,CAAC;AAAnC,UALC,CAAP;AAOD,OATM,CAAP;AAUD,KAXD;;AAaA,6BAAmB,UAAC,SAAD,EAAY,KAAZ,EAA6B;AAC9C,YAAK,QAAL,CAAc;AACZ,oBAAY,EAAE;AADF,OAAd;AAGD,KAJD;;AAOA,8BAAoB,YAAK;AACvB,YAAK,QAAL,CAAc;AAAE,6BAAqB,EAAE;AAAzB,OAAd;;AACA,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,QAA/B;AACD,KAHD;;AAKA,+BAAqB,UAAC,KAAD,EAAU;AAC7B,YAAK,QAAL,CAAc;AAAE,6BAAqB,EAAE,KAAzB;AAAgC,oBAAY,EAAE;AAA9C,OAAd,EAAqE,YAAK;AACxE,cAAK,SAAL,CAAe,MAAf,CAAsB,UAAtB,CAAiC,UAAjC,CAA4C,EAA5C,CAA+C,KAA/C;AACD,OAFD;;AAGA,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,MAA/B;AACD,KALD;;AA3CE,UAAK,KAAL,GAAa;AACX,kBAAY,EAAE,CADH;AAEX,2BAAqB,EAAE;AAFZ,KAAb;AAFyD;AAM1D;;;;wCAQgB;AACf,UAAI,KAAK,OAAL,IAAgB,KAAK,SAArB,IAAkC,KAAK,SAAL,CAAe,MAArD,EAA6D;AAC3D,aAAK,OAAL,CAAa,IAAb,CAAkB,KAAK,SAAL,CAAe,MAAjC;AACD;AACF;;;6BAmCK;AAAA;;AAAA,yBAE+F,KAAK,KAFpG;AAAA,UAEI,MAFJ,gBAEI,MAFJ;AAAA,UAEY,WAFZ,gBAEY,WAFZ;AAAA,UAEyB,YAFzB,gBAEyB,YAFzB;AAAA,UAEuC,YAFvC,gBAEuC,YAFvC;AAAA,UAEqD,cAFrD,gBAEqD,cAFrD;AAAA,UAEqE,UAFrE,gBAEqE,UAFrE;AAAA,UAEiF,SAFjF,gBAEiF,SAFjF;AAAA,wBAG4C,KAAK,KAHjD;AAAA,UAGI,YAHJ,eAGI,YAHJ;AAAA,UAGkB,qBAHlB,eAGkB,qBAHlB;AAKJ,aACE;AAAK,iBAAS,EAAC;AAAf,SACE,oBAAC,+DAAD,EAA+B;AAC7B,YAAI,EAAE,KAAK,iBADkB;AAE7B,aAAK,EAAE,KAAK,kBAFiB;AAG7B,YAAI,EAAE,qBAHuB;AAI7B,sBAAc,EAAE,cAJa;AAK7B,aAAK,EAAE,YALsB;AAKR,aAAK,EAAE,KALC;AAM7B,cAAM,EAAE,MANqB;AAMb,iBAAS,EAAE;AANE,OAA/B,CADF,EASG,cAAc,KAAK,WAAnB,IAAkC;AAAS,YAAI,EAAC,iBAAd;AAAgC,+BAAuB,EAAE;AAAE,gBAAM,4CAAqC,YAArC,gBAAuD,UAAvD;AAAR;AAAzD,QATrC,EAUE;AAAK,iBAAS,EAAC;AAAf,SACG,cAAc,KAAK,WAAnB,GAAkC;AAAA,qBAAa,eAAb;AAA6B,YAAI,uCAAgC,YAAhC,oBAAsD,YAAtD,sBAA8E,MAAM,CAAC,YAAD,CAAN,CAAqB,OAAnG;AAAjC,SACjC;AAAK,iBAAS,EAAC;AAAf,QADiC,CAAlC,GAEG;AAAK,eAAO,EAAE,KAAK,iBAAnB;AAAsC,iBAAS,EAAC;AAAhD,QAHN,EAKE,oBAAC,qBAAD,EAAO;AACL,eAAO,EAAE,KAAK,iBADT;AAEL,cAAM,EAAE,KAAK,gBAFR;AAGL,eAAO,EAAE,WAHJ;AAIL,iBAAS,EAAC,aAJL;AAKL,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,OAAL,GAAe,IAAnB;AAAA;AALH,OAAP,EAOG,KAAK,YAAL,CAAkB,IAAlB,CAPH,CALF,EAcE;AAAK,iBAAS,EAAC;AAAf,mBAAoC,MAAM,CAAC,YAAD,CAAN,CAAqB,OAAzD,eAAqE,MAAM,CAAC,YAAD,CAAN,CAAqB,MAA1F,OAdF,CAVF,EA2BE,oBAAC,qBAAD,EAAO;AACL,iBAAS,EAAC,kBADL;AAEL,eAAO,EAAE,YAFJ;AAGL,WAAG,EAAE,kBAAG;AAAA,iBAAI,MAAI,CAAC,SAAL,GAAiB,KAArB;AAAA,SAHH;AAIL,cAAM,EAAE,KAAK;AAJR,OAAP,EAMG,KAAK,YAAL,CAAkB,KAAlB,CANH,CA3BF,EAmCE;AAAK,iBAAS,EAAC;AAAf,SACE;AACE,YAAI,EAAC,OADP;AAEE,WAAG,EAAC,GAFN;AAGE,WAAG,EAAE,KAAK,KAAL,CAAW,MAAX,CAAkB,MAHzB;AAIE,aAAK,YAAK,YAAY,GAAG,CAApB,CAJP;AAKE,iBAAS,EAAC,QALZ;AAME,UAAE,EAAC,aANL;AAOE,WAAG,EAAE,kBAAG;AAAA,iBAAI,MAAI,CAAC,WAAL,GAAmB,KAAvB;AAAA,SAPV;AAQE,gBAAQ,EAAE,kBAAC,CAAD,EAAU;AAClB,cAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,EAAiB,EAAjB,CAAR,GAA+B,CAA7C;;AACA,gBAAI,CAAC,OAAL,CAAa,MAAb,CAAoB,EAApB,CAAuB,KAAvB;;AACA,gBAAI,CAAC,gBAAL,CAAsB,MAAI,CAAC,OAAL,CAAa,MAAnC,EAA2C,KAA3C;AACD,SAZH;AAaE,aAAK,EAAE;AAAE,sCAAqB,MAAM,KAAK,KAAL,CAAW,MAAX,CAAkB,MAA7C;AAAF;AAbT,QADF,CAnCF,CADF;AAuDD;;;;EAnH8D,KAAK,CAAC,S;;AAUvD,qDAAiB,qCAAjB;AAVhB,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBA;;AAGA;;AACA;;AAqBA,IAAa,8BAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,6BAEiB;AAAA,wBACuF,KAAK,KAD5F;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,KADV,eACU,KADV;AAAA,UACiB,cADjB,eACiB,cADjB;AAAA,UACiC,QADjC,eACiC,QADjC;AAAA,UAC2C,MAD3C,eAC2C,MAD3C;AAAA,UACmD,KADnD,eACmD,KADnD;AAAA,UAC0D,KAD1D,eAC0D,KAD1D;AAAA,UACiE,KADjE,eACiE,KADjE;AAAA,UACwE,IADxE,eACwE,IADxE;AAAA,UAC8E,IAD9E,eAC8E,IAD9E;;AAET,UAAI,cAAc,KAAK,WAAvB,EAAoC;AAChC,eACI,oBAAC,2EAAD,EAAqC;AACjC,gBAAM,EAAE,MADyB;AAEjC,mBAAS,EAAE,SAFsB;AAGjC,eAAK,EAAE,KAH0B;AAIjC,eAAK,EAAE,KAJ0B;AAKjC,cAAI,EAAE,IAL2B;AAMjC,mBAAS,EAAE,IANsB;AAOjC,eAAK,EAAE;AAP0B,SAArC,CADJ;AAWH;;AACD,aACI,oBAAC,yEAAD,EAAoC;AAChC,aAAK,EAAE,KADyB;AAEhC,YAAI,EAAE,IAF0B;AAGhC,cAAM,EAAE,MAHwB;AAIhC,aAAK,EAAE,KAJyB;AAKhC,iBAAS,EAAE,SALqB;AAMhC,aAAK,EAAE,KANyB;AAOhC,iBAAS,EAAE;AAPqB,OAApC,CADJ;AAWH;AA5BL;;AAAA;AAAA,EAAoD,KAAK,CAAC,SAA1D;;AAAa,8BAA8B,eAD1C,mCAC0C,GAA9B,8BAA8B,CAA9B;AAAA,wE;;;;;;;;;;;;;;;;;;;;;;;AC1Bb;;AACA;;AACA;;AAYa,8CAAsC,gBAAyF;AAAA,MAAtF,MAAsF,QAAtF,MAAsF;AAAA,MAA9E,KAA8E,QAA9E,KAA8E;AAAA,MAAvE,KAAuE,QAAvE,KAAuE;AAAA,MAAhE,KAAgE,QAAhE,KAAgE;AAAA,MAAzD,SAAyD,QAAzD,SAAyD;AACxI,MAAM,WAAW,GAAG,MAAM,CAAC,MAA3B;;AADwI,0BAEtF,iBAAiB,KAAjB,CAFsF;AAAA;AAAA,MAEjI,iBAFiI;AAAA,MAE9G,oBAF8G;;AAIxI,MAAM,UAAU,GAAG,SAAb,UAAa,GAAW;AAC1B,QAAM,cAAc,GAAG,iBAAiB,KAAK,MAAM,CAAC,MAAP,GAAgB,CAAtC,GAA0C,CAA1C,GAA8C,iBAAiB,GAAG,CAAzF;AACA,wBAAoB,CAAC,cAAD,CAApB;AACH,GAHD;;AAKA,MAAM,SAAS,GAAG,SAAZ,SAAY,GAAW;AACzB,QAAM,cAAc,GAAG,iBAAiB,KAAK,CAAtB,GAA0B,MAAM,CAAC,MAAP,GAAgB,CAA1C,GAA8C,iBAAiB,GAAG,CAAzF;AACA,wBAAoB,CAAC,cAAD,CAApB;AACH,GAHD;;AAKA,MAAM,cAAc,GAAG,oBAAY,UAAC,CAAD,EAA2B;AAC1D,QAAM,MAAM,GAAG,CAAC,CAAC,MAAjB;AACA,QAAM,cAAc,GAAG,MAAM,CAAC,OAAP,KAAmB,OAAnB,IAA8B,MAAM,CAAC,OAAP,KAAmB,UAAjD,IAA+D,MAAM,CAAC,iBAA7F;;AAEA,QAAI,cAAJ,EAAoB;AAChB;AACH;;AAED,KAAC,CAAC,cAAF;;AACA,YAAQ,CAAC,CAAC,GAAV;AACI,WAAK,QAAL;AACI,aAAK,CAAC,iBAAD,CAAL;AACA;;AACJ,WAAK,WAAL;AACI,iBAAS;AACT;;AACJ,WAAK,YAAL;AACI,kBAAU;AACV;AATR;AAWH,GApBsB,EAoBpB,CAAC,iBAAD,EAAoB,KAApB,EAA2B,SAA3B,EAAsC,UAAtC,CApBoB,CAAvB;AAsBA,oBAAU,YAAK;AACX,YAAQ,CAAC,gBAAT,CAA0B,SAA1B,EAAqC,cAArC;AACA,WAAO,YAAK;AACR,cAAQ,CAAC,mBAAT,CAA6B,SAA7B,EAAwC,cAAxC;AACH,KAFD;AAGH,GALD,EAKG,CAAC,cAAD,CALH;AAOA,oBAAU,YAAK;AACX,wBAAoB,CAAC,KAAD,CAApB;AACH,GAFD,EAEG,CAAC,KAAD,CAFH;;AAIA,MAAI,SAAJ,EAAe;AACX,WAAO;AAAK,SAAG,EAAE,gCAAV;AAA4C,UAAI,EAAC,QAAjD;AAAyD,oBACjD,gBADR;AAEH,QAAE,EAAC,gBAFA;AAEiB,eAAS,EAAC,0BAF3B;AAGH,aAAO,EAAE;AAAA,eAAM,KAAK,CAAC,iBAAD,CAAX;AAAA,OAHN;AAGsC,cAAQ,EAAE;AAHhD,OAIH;AAAK,eAAS,EAAC,gBAAf;AAAgC,aAAO,EAAE,kBAAC;AAAA,eAAI,CAAC,CAAC,eAAF,EAAJ;AAAA;AAA1C,OACI,oBAAC,4CAAD,EAAmC;AAAC,YAAM,EAAE,MAAT;AAAiB,WAAK,EAAE,KAAxB;AAA+B,uBAAiB,EAAE,iBAAlD;AAAqE,WAAK,EAAE;AAA5E,KAAnC,CADJ,EAEI,oBAAC,uFAAD,EAA2C;AAAC,iBAAW,EAAE,WAAd;AAA2B,uBAAiB,EAAE,iBAA9C;AAAiE,eAAS,EAAE,SAA5E;AAAuF,gBAAU,EAAE;AAAnG,KAA3C,CAFJ,CAJG,CAAP;AASH,GAVD,MAUK;AACD,WAAO,IAAP;AACH;AAEJ,CA7DY,C;;;;;;;;;;;;;;;ACLA,qDAA6C,gBAAyH;AAAA,MAAtH,WAAsH,QAAtH,WAAsH;AAAA,MAAzG,iBAAyG,QAAzG,iBAAyG;AAAA,MAAtF,SAAsF,QAAtF,SAAsF;AAAA,MAA3E,UAA2E,QAA3E,UAA2E;AAAA,MAA/D,QAA+D,QAA/D,QAA+D;AAC/K,SACI,0CACK,WAAW,GAAG,CAAd,IAAmB;AAAK,aAAS;AAAd,KACf,CAAC,QAAD,IAAa;AAAQ,aAAS,4BAAqB,WAArB,CAAjB;AAAqD,SAAK,EAAC,MAA3D;AAAiE,kBAAY,MAA7E;AAAoF,WAAO,EAAE;AAA7F,IADE,EAEhB;AAAM,aAAS,EAAC;AAAhB,KAA2B,iBAAiB,GAAG,CAApB,GAAwB,EAAxB,cAAiC,iBAAiB,GAAG,CAArD,IAA2D,iBAAiB,GAAG,CAA1G,CAFgB,EAGhB;AAAM,aAAS,EAAC;AAAhB,K,GAAA,EAAqC,WAAW,GAAG,EAAd,cAAuB,WAAvB,IAAuC,WAA5E,CAHgB,EAIf,CAAC,QAAD,IAAa;AAAQ,aAAS,4BAAqB,YAArB,CAAjB;AAAsD,SAAK,EAAC,MAA5D;AAAkE,kBAAY,MAA9E;AAAqF,WAAO,EAAE;AAA9F,IAJE,CADxB,CADJ;AAUH,CAXY,C;;;;;;;;;;;;;;;;;ACTb;;AAWA,IAAM,kCAAkC,GAAG,SAArC,kCAAqC,OAAqF;AAAA,MAAlF,iBAAkF,QAAlF,iBAAkF;AAAA,MAA/D,KAA+D,QAA/D,KAA+D;AAAA,MAAxD,MAAwD,QAAxD,MAAwD;AAAA,MAAhD,KAAgD,QAAhD,KAAgD;AAC5H,MAAI,YAAY,GAAG,KAAK,GAAG,aAAH,GAAmB,EAA3C;AACA,SACI,0CACI;AAAK,aAAS,4BAAqB,YAArB;AAAd,KAAmD;AAAQ,aAAS,EAAC,kBAAlB;AAC/C,SAAK,EAAE,OADwC;AAC7B,kBAAc,OADe;AACF,WAAO,EAAE;AAAA,aAAM,KAAK,CAAC,iBAAD,CAAX;AAAA,KADP;AAE/C,OAAG,EAAE,kBAAG;AAAA,aAAI,KAAI,CAAC,gBAAL,GAAwB,KAA5B;AAAA;AAFuC,IAAnD,CADJ,EAKI;AAAK,aAAS,EAAC,gBAAf;AAAgC,QAAI,EAAC,OAArC;AAA4C,kBAAa,MAAM,CAAC,iBAAD,CAAN,CAA0B,OAAnF;AAA4F,SAAK,EAAE;AAAE,qBAAe,gBAAS,MAAM,CAAC,iBAAD,CAAN,CAA0B,QAAnC;AAAjB;AAAnG,IALJ,EAMI;AAAK,aAAS,qCAA8B,YAA9B;AAAd,KACI;AAAK,aAAS,EAAC;AAAf,KACK,MAAM,CAAC,iBAAD,CAAN,IAA6B,MAAM,CAAC,iBAAD,CAAN,CAA0B,OAAvD,IAAkE;AAAK,aAAS,EAAC;AAAf,KAA0B,MAAM,CAAC,iBAAD,CAAN,CAA0B,OAApD,CADvE,EAEK,MAAM,CAAC,iBAAD,CAAN,IAA6B,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAAvD,IAAiE,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAA1B,KAAqC,GAAtG,IAA6G;AAAK,aAAS,EAAC;AAAf,KAAwB,sCAAxB,EAAsC,kCAAO,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAAjC,EAAgD,GAAhD,CAAtC,CAFlH,CADJ,EAKI;AAAK,aAAS,EAAC;AAAf,KACI,oBAAC,yCAAD,EAAoB;AAAC,aAAS,EAAE,iCAAZ;AAA+C,QAAI,EAAE,KAAK,GAAG,IAAH,GAAU;AAApE,GAApB,CADJ,CALJ,CANJ,CADJ;AAkBH,CApBD;;AAsBA,kBAAe,kCAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCA;;AACA;;AACA;;AAWa,+CAAuC,gBAAwE;AAAA,MAArE,MAAqE,QAArE,MAAqE;AAAA,MAA7D,KAA6D,QAA7D,KAA6D;AAAA,MAAtD,KAAsD,QAAtD,KAAsD;AAAA,MAAhD,SAAgD,QAAhD,SAAgD;;AAAA,0BAEtE,iBAAiB,KAAjB,CAFsE;AAAA;AAAA,MAEjH,iBAFiH;AAAA,MAE9F,oBAF8F;;AAGxH,MAAM,QAAQ,GAAG;AACb,YAAQ,EAAE,IADG;AAEb,QAAI,EAAE,KAFO;AAGb,gBAAY,EAAE,CAHD;AAIb,kBAAc,EAAE,CAJH;AAKb,SAAK,EAAE,GALM;AAMb,UAAM,EAAE,KANK;AAOb,OAAG,EAAE,KAPQ;AAQb,aAAS,EAAE,IARE;AASb,gBAAY,EAAE,KATD;AAUb,eAAW,EAAE,qBAAC,IAAD;AAAA,aAAU,oBAAoB,CAAC,IAAD,CAA9B;AAAA;AAVA,GAAjB;AAYA,MAAI,WAAW,GAAG,MAAM,CAAC,MAAP,GAAgB,MAAM,CAAC,MAAvB,GAAgC,CAAlD;AACA,MAAM,iBAAiB,GAAG,MAAM,IAAI,MAAM,CAAC,iBAAD,CAAhB,IAAuC,MAAM,CAAC,iBAAD,CAAN,CAA0B,OAA3F;AACA,MAAM,gBAAgB,GAAG,MAAM,IAAI,MAAM,CAAC,iBAAD,CAAhB,IAAwC,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAA1B,KAAqC,EAA7E,IAAqF,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAA1B,KAAqC,GAAnJ;;AAEA,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AACR,uBADQ,GACI;AAAE,mBAAG,EAAE,MAAM,CAAC,QAAP,CAAgB,IAAvB;AAA6B,qBAAK,EAAE,QAAQ,CAAC;AAA7C,eADJ;AAAA;AAAA;AAAA,qBAIJ,SAAS,CAAC,KAAV,CAAgB,SAAhB,CAJI;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAMV,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AANU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAT,SAAS;AAAA;AAAA;AAAA,KAAf;;AAWA,oBAAU,YAAK;AACX,wBAAoB,CAAC,KAAD,CAApB;AACH,GAFD,EAEG,CAAC,KAAD,CAFH;;AAIA,MAAI,SAAJ,EAAe;AACX,WACI;AAAK,SAAG,EAAE,4BAAV;AAAwC,UAAI,EAAC,QAA7C;AAAqD,oBACtC,gBADf;AAEI,QAAE,EAAC,gBAFP;AAEwB,eAAS,EAAC,sCAFlC;AAGI,aAAO,EAAE;AAAA,eAAI,KAAK,CAAC,iBAAD,CAAT;AAAA,OAHb;AAG2C,cAAQ,EAAE;AAHrD,OAKI;AAAK,eAAS,EAAC,gBAAf;AAAgC,aAAO,EAAE,kBAAC;AAAA,eAAI,CAAC,CAAC,eAAF,EAAJ;AAAA;AAA1C,OACI;AAAK,eAAS;AAAd,OACI;AAAQ,eAAS,EAAC,kBAAlB;AACI,WAAK,EAAE,OADX;AACsB,oBAAc,OADpC;AACiD,aAAO,EAAE;AAAA,eAAI,KAAK,CAAC,iBAAD,CAAT;AAAA;AAD1D,MADJ,EAII,oBAAC,uFAAD,EAA2C;AAC3C,iBAAW,EAAE,WAD8B;AAE3C,cAAQ,EAAE,IAFiC;AAG3C,uBAAiB,EAAE;AAHwB,KAA3C,CAJJ,EASI;AAAQ,eAAS,EAAC,eAAlB;AAAkC,aAAO,EAAE;AAA3C,MATJ,CADJ,EAYI,oBAAC,qBAAD,EAAO,kBAAK,QAAL,CAAP,EACK,CAAC,CAAC,GAAF,CAAM,MAAN,EAAc,UAAC,KAAD;AAAA,aACX;AAAK,iBAAS,EAAC,gBAAf;AAAgC,WAAG,EAAE,KAAK,CAAC;AAA3C,SACI;AAAK,WAAG,EAAE,KAAK,CAAC,QAAhB;AAA0B,YAAI,EAAC,OAA/B;AAAsC,sBAAa,KAAK,CAAC;AAAzD,QADJ,CADW;AAAA,KAAd,CADL,CAZJ,EAmBI;AAAK,eAAS;AAAd,OACI;AAAK,eAAS,EAAC;AAAf,OACK,iBAAiB,IAAI;AAAK,eAAS,EAAC;AAAf,OAA0B,MAAM,CAAC,iBAAD,CAAN,CAA0B,OAApD,CAD1B,EAEK,gBAAgB,IAAI;AAAK,eAAS,EAAC;AAAf,O,GAAA,EAA0B,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAApD,EAAkE,GAAlE,CAFzB,CADJ,CAnBJ,CALJ,CADJ;AAkCH,GAnCD,MAmCO;AACH,WAAO,IAAP;AACH;AACJ,CAxEY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbb,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AAEA;;IAaa,wB;;;;;AACT,oCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,kGAAM,KAAN;;AAuCG,uBAAa,YAAW;AAC3B,UAAM,cAAc,GAAG,MAAK,KAAL,CAAW,MAAX,CAAkB,MAAlB,GAA2B,CAAlD;AAD2B,UAEnB,iBAFmB,GAEG,MAAK,KAFR,CAEnB,iBAFmB;AAG3B,UAAM,cAAc,GAAG,iBAAiB,KAAK,CAAtB,GAA0B,cAA1B,GAA2C,iBAAiB,GAAG,CAAtF;AACA,0BAAY,cAAZ,EAA4B,MAAK,KAAL,CAAW,SAAvC;;AACA,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KANM;;AAQA,sBAAY,YAAW;AAC1B,UAAM,cAAc,GAAG,MAAK,KAAL,CAAW,MAAX,CAAkB,MAAlB,GAA2B,CAAlD;AAD0B,UAElB,iBAFkB,GAEI,MAAK,KAFT,CAElB,iBAFkB;AAG1B,UAAM,cAAc,GAAG,iBAAiB,KAAK,cAAtB,GAAuC,CAAvC,GAA2C,iBAAiB,GAAG,CAAtF;AACA,0BAAY,aAAZ,EAA2B,MAAK,KAAL,CAAW,SAAtC;;AACA,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KANM;;AAQC,kBAAQ,YAAW;AAAA,UACf,MADe,GACJ,MAAK,KADD,CACf,MADe;AAAA,UAEf,iBAFe,GAEO,MAAK,KAFZ,CAEf,iBAFe;AAGvB,cAAQ,CAAC,cAAT,iBAAiC,MAAM,CAAC,iBAAD,CAAN,CAA0B,OAA3D,GAAsE,KAAtE;AACA,0BAAY,eAAZ,EAA6B,MAAK,KAAL,CAAW,SAAxC;;AACA,YAAK,QAAL,CAAc;AAAE,iBAAS,EAAE;AAAb,OAAd;AAEH,KAPO;;AAQA,iBAAO,YAAW;AACtB,0BAAY,cAAZ,EAA4B,MAAK,KAAL,CAAW,SAAvC;AACH,KAFO;;AA9DJ,UAAK,KAAL,GAAa;AACT,uBAAiB,EAAE,CADV;AAET,eAAS,EAAE;AAFF,KAAb;AAFa;AAMhB;;;;wCAGgB;AAAA;;AAAA,UACL,MADK,GACM,KAAK,KADX,CACL,MADK;;AAGb,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAT,CAA0B,gBAA1B,CAAjB;AAD+B;AAAA;AAAA;;AAAA;AAAA;AAAA,gBAEtB,EAFsB;AAG3B,cAAE,CAAC,gBAAH,CAAoB,OAApB,EAA6B,UAAC,CAAD,EAAM;AAC/B,oBAAI,CAAC,IAAL;;AACA,kBAAM,YAAY,GAAG,EAAE,CAAC,YAAH,CAAgB,eAAhB,CAArB;AACA,kBAAI,+BAA+B,GAAG,CAAtC;;AACA,mBAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACpC,oBAAI,MAAM,CAAC,CAAD,CAAV,EAAe;AACX,sBAAI,MAAM,CAAC,CAAD,CAAN,CAAU,OAAV,KAAsB,YAA1B,EAAwC;AAAE,mDAA+B,GAAG,CAAlC;AAAqC;AAClF;AACJ;;AACD,oBAAI,CAAC,QAAL,CAAc;AAAE,yBAAS,EAAE,IAAb;AAAmB,iCAAiB,EAAE;AAAtC,eAAd;AACH,aAVD;AAWA,cAAE,CAAC,gBAAH,CAAoB,UAApB,EAAgC,UAAC,CAAD,EAAM;AAClC,kBAAM,YAAY,GAAG,EAAE,CAAC,YAAH,CAAgB,eAAhB,CAArB;AACA,kBAAI,+BAA+B,GAAG,CAAtC;;AACA,mBAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACpC,oBAAI,MAAM,CAAC,CAAD,CAAN,CAAU,YAAV,KAA2B,YAA/B,EAA6C;AAAE,iDAA+B,GAAG,CAAlC;AAAqC;AACvF;;AACD,oBAAI,CAAC,QAAL,CAAc;AAAE,yBAAS,EAAE,IAAb;AAAmB,iCAAiB,EAAE;AAAtC,eAAd;AACH,aAPD;AAd2B;;AAE/B,+BAAe,QAAf,8HAAyB;AAAA;AAqBxB;AAvB8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBlC;AAEJ;;;6BA+BK;AAAA,wBACmC,KAAK,KADxC;AAAA,UACM,MADN,eACM,MADN;AAAA,UACc,SADd,eACc,SADd;AAAA,UACyB,KADzB,eACyB,KADzB;AAAA,wBAEuC,KAAK,KAF5C;AAAA,UAEM,iBAFN,eAEM,iBAFN;AAAA,UAEyB,SAFzB,eAEyB,SAFzB;AAKF,UAAI,SAAJ,EAAe,OACX,oBAAC,2CAAD,EAAmB;AACf,sBAAc,EAAC,cADA;AAEf,uBAAe,EAAE,IAFF;AAGf,8BAAsB,EAAE,GAHT;AAIf,8BAAsB,EAAE;AAJT,OAAnB,EAKI,oBAAC,uCAAD,EAAmB;AAAC,cAAM,EAAE,MAAT;AACf,yBAAiB,EAAE,iBADJ;AAEf,aAAK,EAAE,KAAK,KAFG;AAGf,iBAAS,EAAE,KAAK,SAHD;AAIf,kBAAU,EAAE,KAAK,UAJF;AAKf,aAAK,EAAE;AALQ,OAAnB,CALJ,CADW,CAAf,KAgBK,OAAO,IAAP;AACR;;;;EA5FyC,KAAK,CAAC,S;;AAQlC,0CAAiB,0BAAjB;AARlB;;AA+Fa,sBAAc,UAAC,MAAD,EAAiB,SAAjB,EAAsC;AAC7D,QAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,QAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,SAAK,EAAE,UADW;AAElB,YAAQ,EAAE,eAFQ;AAGlB,UAAM,EAAE,MAHU;AAIlB,SAAK,EAAE;AAJW,GAAtB;AAMH,CARY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9Gb;;AACA;;AACA;;IAWa,kB;;;;;AAAb;AAAA;;AAAA;;;;AAsBY,2BAAiB,UAAC,CAAD,EAAiB;AACtC,UAAI,CAAC,CAAC,GAAF,KAAU,QAAd,EAAwB;AAAE,cAAK,KAAL,CAAW,KAAX;AAAoB;;AAC9C,UAAI,CAAC,CAAC,GAAF,KAAU,WAAd,EAA2B;AAAE,cAAK,KAAL,CAAW,SAAX;AAAwB;;AACrD,UAAI,CAAC,CAAC,GAAF,KAAU,YAAd,EAA4B;AAAE,cAAK,KAAL,CAAW,UAAX;AAAyB;;AACvD,UAAI,CAAC,CAAC,OAAF,KAAc,CAAlB,EAAqB;AACjB,YAAI,MAAK,YAAL,CAAkB,MAAlB,GAA2B,CAA/B,EAAkC;AAC9B,cAAI,CAAC,CAAC,QAAN,EAAgB;AACZ,kBAAK,iBAAL,CAAuB,CAAvB,EAA0B,MAAK,YAA/B;AACH,WAFD,MAEO;AACH,kBAAK,gBAAL,CAAsB,CAAtB,EAAyB,MAAK,YAA9B;AACH;AACJ,SAND,MAOK,CAAC,CAAC,cAAF;AACR;AACJ,KAdO;;AAgBA,8BAAoB,UAAC,CAAD,EAAI,YAAJ,EAAoB;AAC5C,UAAI,QAAQ,CAAC,aAAT,KAA2B,YAAY,CAAC,CAAD,CAA3C,EAAgD;AAC5C,SAAC,CAAC,cAAF;AACA,oBAAY,CAAC,YAAY,CAAC,MAAb,GAAsB,CAAvB,CAAZ,CAAsC,KAAtC;AACH;AACJ,KALO;;AAOA,6BAAmB,UAAC,CAAD,EAAI,YAAJ,EAAoB;AAC3C,UAAI,QAAQ,CAAC,aAAT,KAA2B,YAAY,CAAC,YAAY,CAAC,MAAb,GAAsB,CAAvB,CAA3C,EAAsE;AAClE,SAAC,CAAC,cAAF;AACA,oBAAY,CAAC,CAAD,CAAZ,CAAgB,KAAhB;AACH;AACJ,KALO;;AA7CZ;AA4FC;;;;wCAvFoB;AACb,WAAK,gBAAL,CAAsB,KAAtB;AACA,WAAK,YAAL,GAAoB,QAAQ,CAAC,cAAT,CAAwB,gBAAxB,EAA0C,gBAA1C,CAA2D,iGAA3D,CAApB;AACA,cAAQ,CAAC,gBAAT,CAA0B,SAA1B,EAAqC,KAAK,cAA1C;AACH;;;uCAEkB,U,EAAwB;AACvC,UAAI,UAAU,CAAC,iBAAX,KAAiC,KAAK,KAAL,CAAW,iBAAhD,EAAmE;AAC/D,aAAK,gBAAL,CAAsB,KAAtB;AACH;AACJ;;;2CAEmB;AAChB,cAAQ,CAAC,mBAAT,CAA6B,SAA7B,EAAwC,KAAK,cAA7C;AACH;;;6BAiCK;AAAA;;AAAA,wBACyE,KAAK,KAD9E;AAAA,UACM,iBADN,eACM,iBADN;AAAA,UACyB,MADzB,eACyB,MADzB;AAAA,UACiC,SADjC,eACiC,SADjC;AAAA,UAC4C,KAD5C,eAC4C,KAD5C;AAAA,UACmD,UADnD,eACmD,UADnD;AAAA,UAC+D,KAD/D,eAC+D,KAD/D;AAEF,UAAM,WAAW,GAAG,MAAM,CAAC,MAA3B;AACA,UAAI,YAAY,GAAG,KAAK,GAAG,aAAH,GAAmB,EAA3C;AACA,aACI;AAAK,WAAG,EAAE,0BAAV;AAAsC,YAAI,EAAC,QAA3C;AAAmD,sBACpC,gBADf;AAEI,UAAE,EAAC,gBAFP;AAEwB,iBAAS,EAAC,0BAFlC;AAGI,eAAO,EAAE,KAHb;AAGoB,gBAAQ,EAAE;AAH9B,SAII;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE,kBAAC;AAAA,iBAAI,CAAC,CAAC,eAAF,EAAJ;AAAA;AAA1C,SACI;AAAK,iBAAS,4BAAqB,YAArB;AAAd,SAAmD;AAAQ,iBAAS,EAAC,kBAAlB;AAC/C,aAAK,EAAE,OADwC;AAC7B,sBAAc,OADe;AACF,eAAO,EAAE,KADP;AAE/C,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,gBAAL,GAAwB,IAA5B;AAAA;AAFuC,QAAnD,CADJ,EAKI;AAAQ,iBAAS,4BAAqB,WAArB,CAAjB;AAAqD,aAAK,EAAC,MAA3D;AAAiE,sBAAY,MAA7E;AAAoF,eAAO,EAAE;AAA7F,QALJ,EAMI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,YAAI,EAAC,OAArC;AAA4C,sBAAa,MAAM,CAAC,iBAAD,CAAN,CAA0B,GAAnF;AAAwF,aAAK,EAAE;AAAE,yBAAe,gBAAS,OAAO,CAAC,WAAR,CAAoB,MAAM,CAAC,iBAAD,CAA1B,EAA+C;AAAE,qBAAS,EAAE,uBAAU;AAAvB,WAA/C,CAAT;AAAjB;AAA/F,QANJ,EAQI;AAAQ,iBAAS,4BAAqB,YAArB,CAAjB;AAAsD,aAAK,EAAC,MAA5D;AAAkE,sBAAY,MAA9E;AAAqF,eAAO,EAAE;AAA9F,QARJ,EASI;AAAK,iBAAS,qCAA8B,YAA9B;AAAd,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,MAAM,CAAC,iBAAD,CAAN,IAA6B,MAAM,CAAC,iBAAD,CAAN,CAA0B,OAAvD,IAAkE;AAAK,iBAAS,EAAC;AAAf,SAA0B,MAAM,CAAC,iBAAD,CAAN,CAA0B,OAApD,CADvE,EAEK,MAAM,CAAC,iBAAD,CAAN,IAA6B,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAAvD,IAAiE,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAA1B,KAAqC,GAAtG,IAA6G;AAAK,iBAAS,EAAC;AAAf,SAAwB,sCAAxB,EAAsC,kCAAO,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAAjC,EAAgD,GAAhD,CAAtC,CAFlH,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,yCAAD,EAAoB;AAAC,iBAAS,EAAE,iCAAZ;AAA+C,YAAI,EAAE,KAAK,GAAG,IAAH,GAAU;AAApE,OAApB,CADJ,CALJ,CATJ,EAmBK,WAAW,GAAG,CAAd,IAAmB;AAAK,iBAAS;AAAd,SAChB;AAAQ,iBAAS,4BAAqB,WAArB,CAAjB;AAAqD,aAAK,EAAC,MAA3D;AAAiE,sBAAY,MAA7E;AAAoF,eAAO,EAAE;AAA7F,QADgB,EAGhB;AAAM,iBAAS,EAAC;AAAhB,SAA2B,iBAAiB,GAAG,CAApB,GAAwB,EAAxB,cAAiC,iBAAiB,GAAG,CAArD,IAA2D,iBAAiB,GAAG,CAA1G,CAHgB,EAIhB;AAAM,iBAAS,EAAC;AAAhB,S,GAAA,EAAqC,WAAW,GAAG,EAAd,cAAuB,WAAvB,IAAuC,WAA5E,CAJgB,EAKhB;AAAQ,iBAAS,4BAAqB,YAArB,CAAjB;AAAsD,aAAK,EAAC,MAA5D;AAAkE,sBAAY,MAA9E;AAAqF,eAAO,EAAE;AAA9F,QALgB,CAnBxB,CAJJ,CADJ;AAmCH;;;;EA3FmC,KAAK,CAAC,S;;AAA9C,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdA;;AAEA;;AACA;;IAaa,0B;;;;;AACT,sCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,oGAAM,KAAN;;AAuCG,uBAAa,YAAW;AAC3B,UAAM,cAAc,GAAG,MAAK,KAAL,CAAW,MAAX,CAAkB,MAAlB,GAA2B,CAAlD;AAD2B,UAEnB,iBAFmB,GAEG,MAAK,KAFR,CAEnB,iBAFmB;AAG3B,UAAM,cAAc,GAAG,iBAAiB,KAAK,CAAtB,GAA0B,cAA1B,GAA2C,iBAAiB,GAAG,CAAtF;AACA,0BAAY,cAAZ,EAA4B,MAAK,KAAL,CAAW,SAAvC;;AACA,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KANM;;AAQA,sBAAY,YAAW;AAC1B,UAAM,cAAc,GAAG,MAAK,KAAL,CAAW,MAAX,CAAkB,MAAlB,GAA2B,CAAlD;AAD0B,UAElB,iBAFkB,GAEI,MAAK,KAFT,CAElB,iBAFkB;AAG1B,UAAM,cAAc,GAAG,iBAAiB,KAAK,cAAtB,GAAuC,CAAvC,GAA2C,iBAAiB,GAAG,CAAtF;AACA,0BAAY,aAAZ,EAA2B,MAAK,KAAL,CAAW,SAAtC;;AACA,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KANM;;AAQC,kBAAQ,YAAW;AACvB,0BAAY,eAAZ,EAA6B,MAAK,KAAL,CAAW,SAAxC;;AACA,YAAK,UAAL;;AACA,YAAK,QAAL,CAAc;AAAE,iBAAS,EAAE;AAAb,OAAd;AACH,KAJO;;AAMA,iBAAO,YAAW;AACtB,YAAK,aAAL;;AACA,0BAAY,cAAZ,EAA4B,MAAK,KAAL,CAAW,SAAvC;AACH,KAHO;;AAKA,0BAAgB,YAAK;AACzB,UAAM,cAAc,GAAG,QAAQ,CAAC,IAAT,CAAc,qBAAd,GAAsC,GAA7D;AACA,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,GAApB,GAA0B,cAAc,GAAG,IAA3C;AACA,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,OAA/B;AACA,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,QAA/B;AAEH,KANO;;AAOA,uBAAa,YAAK;AACtB,UAAM,WAAW,GAAG,QAAQ,CAAC,gBAAT,CAA0B,gBAA1B,EAA4C,MAAK,KAAL,CAAW,iBAAX,GAA8B,CAA1E,CAApB;AACA,gBAAU,CAAC,YAAK;AACZ,mBAAW,CAAC,cAAZ,CAA2B;AACvB,kBAAQ,EAAE,QADa;AAEvB,eAAK,EAAE;AAFgB,SAA3B;AAIH,OALS,EAKP,CALO,CAAV;AAMA,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,IAA/B;AACA,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,IAA/B;AAEH,KAXO;;AAaA;AAAA;AAAA;AAAA;AAAA,4BAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AACV,uBADU,GACE;AAAE,mBAAG,EAAE,MAAM,CAAC,QAAP,CAAgB,IAAvB;AAA6B,qBAAK,EAAE,MAAK,KAAL,CAAW;AAA/C,eADF;AAAA;AAAA;AAAA,qBAIN,SAAS,CAAC,KAAV,CAAgB,SAAhB,CAJM;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAMZ,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AANY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAZ;AArFJ,UAAK,KAAL,GAAa;AACT,uBAAiB,EAAE,CADV;AAET,eAAS,EAAE;AAFF,KAAb;AAFa;AAMhB;;;;wCAIgB;AAAA;;AAAA,UACL,MADK,GACM,KAAK,KADX,CACL,MADK;;AAGb,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAT,CAA0B,gBAA1B,CAAjB;AAD+B;AAAA;AAAA;;AAAA;AAAA;AAAA,gBAEtB,EAFsB;AAG3B,cAAE,CAAC,gBAAH,CAAoB,OAApB,EAA6B,UAAC,CAAD,EAAM;AAC/B,oBAAI,CAAC,IAAL;;AACA,kBAAM,YAAY,GAAG,EAAE,CAAC,YAAH,CAAgB,eAAhB,CAArB;AACA,kBAAI,+BAA+B,GAAG,CAAtC;;AACA,mBAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACpC,oBAAI,MAAM,CAAC,CAAD,CAAV,EAAe;AACX,sBAAI,MAAM,CAAC,CAAD,CAAN,CAAU,OAAV,KAAsB,YAA1B,EAAwC;AAAE,mDAA+B,GAAG,CAAlC;AAAqC;AAClF;AACJ;;AACD,oBAAI,CAAC,QAAL,CAAc;AAAE,yBAAS,EAAE,IAAb;AAAmB,iCAAiB,EAAE;AAAtC,eAAd;AACH,aAVD;AAWA,cAAE,CAAC,gBAAH,CAAoB,UAApB,EAAgC,UAAC,CAAD,EAAM;AAClC,kBAAM,YAAY,GAAG,EAAE,CAAC,YAAH,CAAgB,eAAhB,CAArB;AACA,kBAAI,+BAA+B,GAAG,CAAtC;;AACA,mBAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACpC,oBAAI,MAAM,CAAC,CAAD,CAAN,CAAU,YAAV,KAA2B,YAA/B,EAA6C;AAAE,iDAA+B,GAAG,CAAlC;AAAqC;AACvF;;AACD,oBAAI,CAAC,QAAL,CAAc;AAAE,yBAAS,EAAE,IAAb;AAAmB,iCAAiB,EAAE;AAAtC,eAAd;AACH,aAPD;AAd2B;;AAE/B,+BAAe,QAAf,8HAAyB;AAAA;AAqBxB;AAvB8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBlC;AACJ;;;6BA2DK;AAAA;;AAAA,UACM,MADN,GACiB,KAAK,KADtB,CACM,MADN;AAAA,wBAEuC,KAAK,KAF5C;AAAA,UAEM,iBAFN,eAEM,iBAFN;AAAA,UAEyB,SAFzB,eAEyB,SAFzB;AAGF,UAAM,QAAQ,GAAG;AACb,gBAAQ,EAAE,IADG;AAEb,YAAI,EAAE,KAFO;AAGb,oBAAY,EAAE,CAHD;AAIb,sBAAc,EAAE,CAJH;AAKb,aAAK,EAAE,GALM;AAMb,cAAM,EAAE,KANK;AAOb,WAAG,EAAE,KAPQ;AAQb,iBAAS,EAAE,IARE;AASb,oBAAY,EAAE,iBATD;AAUb,mBAAW,EAAE,qBAAC,IAAD;AAAA,iBAAU,MAAI,CAAC,QAAL,CAAc;AAAE,6BAAiB,EAAE;AAArB,WAAd,CAAV;AAAA;AAVA,OAAjB;AAYA,UAAI,WAAW,GAAG,MAAM,CAAC,MAAP,GAAgB,MAAM,CAAC,MAAvB,GAAgC,CAAlD;AACA,UAAM,iBAAiB,GAAG,MAAM,IAAI,MAAM,CAAC,iBAAD,CAAhB,IAAuC,MAAM,CAAC,iBAAD,CAAN,CAA0B,OAA3F;AACA,UAAM,gBAAgB,GAAG,MAAM,IAAI,MAAM,CAAC,iBAAD,CAAhB,IAAwC,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAA1B,KAAqC,EAA7E,IAAqF,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAA1B,KAAqC,GAAnJ;AAEA,UAAI,SAAJ,EAAe,OACX;AAAK,WAAG,EAAE,4BAAV;AAAwC,YAAI,EAAC,QAA7C;AAAqD,sBACtC,gBADf;AAEI,UAAE,EAAC,gBAFP;AAEwB,iBAAS,EAAC,4BAFlC;AAGI,eAAO,EAAE,KAHb;AAGoB,gBAAQ,EAAE;AAH9B,SAKI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE,kBAAC;AAAA,iBAAI,CAAC,CAAC,eAAF,EAAJ;AAAA;AAA1C,SACI;AAAK,iBAAS;AAAd,SACI;AAAQ,iBAAS,EAAC,kBAAlB;AACI,aAAK,EAAE,OADX;AACsB,sBAAc,OADpC;AACiD,eAAO,EAAE,KAAK;AAD/D,QADJ,EAGK,WAAW,GAAG,CAAd,IAAmB;AAAK,iBAAS,EAAC;AAAf,SAChB;AAAM,iBAAS,EAAC;AAAhB,SAA2B,iBAAiB,GAAG,CAApB,GAAwB,EAAxB,aAAgC,iBAAiB,GAAG,CAApD,IAA0D,iBAAiB,GAAG,CAAzG,EAAmH,GAAnH,CADgB,EAEhB;AAAM,iBAAS,EAAC;AAAhB,SAAoC,WAAW,GAAG,EAAd,aAAsB,WAAtB,IAAsC,WAA1E,CAFgB,CAHxB,EAOI;AAAQ,iBAAS,EAAC,eAAlB;AAAkC,eAAO,EAAE,KAAK;AAAhD,QAPJ,CADJ,EAUI,oBAAC,qBAAD,EAAO,kBAAK,QAAL,CAAP,EACK,CAAC,CAAC,GAAF,CAAM,MAAN,EAAc,UAAC,KAAD;AAAA,eACX;AAAK,mBAAS,EAAC,gBAAf;AAAgC,aAAG,EAAE,KAAK,CAAC;AAA3C,WACI;AAAK,aAAG,EAAE,OAAO,CAAC,WAAR,CAAoB,KAApB,EAA2B;AAAE,qBAAS,EAAE,uBAAU;AAAvB,WAA3B,CAAV;AAAuE,cAAI,EAAC,OAA5E;AAAmF,wBAAa,KAAK,CAAC;AAAtG,UADJ,CADW;AAAA,OAAd,CADL,CAVJ,EAiBI;AAAK,iBAAS;AAAd,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,iBAAiB,IAAI;AAAK,iBAAS,EAAC;AAAf,SAA0B,MAAM,CAAC,iBAAD,CAAN,CAA0B,OAApD,CAD1B,EAEK,gBAAgB,IAAI;AAAK,iBAAS,EAAC;AAAf,S,GAAA,EAA0B,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAApD,EAAkE,GAAlE,CAFzB,CADJ,CAjBJ,CALJ,CADW,CAAf,KAgCK,OAAO,IAAP;AACR;;;;EAtJ2C,KAAK,CAAC,S;;AASpC,4CAAiB,4BAAjB;AATlB;;AAyJa,sBAAc,UAAC,MAAD,EAAiB,SAAjB,EAAsC;AAC7D,QAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,QAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,SAAK,EAAE,UADW;AAElB,YAAQ,EAAE,eAFQ;AAGlB,UAAM,EAAE,MAHU;AAIlB,SAAK,EAAE;AAJW,GAAtB;AAMH,CARY,C;;;;;;;;;;;;;;;AChKA,6BAAqB,UAAC,KAAD,EAAmC;AAAA,MACzD,IADyD,GACc,KADd,CACzD,IADyD;AAAA,MACnD,MADmD,GACc,KADd,CACnD,MADmD;AAAA,MAC3C,WAD2C,GACc,KADd,CAC3C,WAD2C;AAAA,MAC9B,WAD8B,GACc,KADd,CAC9B,WAD8B;AAAA,MACjB,QADiB,GACc,KADd,CACjB,QADiB;AAAA,MACP,gBADO,GACc,KADd,CACP,gBADO;AAGjE,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAO,QAAI,EAAC,UAAZ;AAAuB,aAAS,EAAC,qBAAjC;AAAuD,WAAO,EAAE,QAAhE;AAA0E,YAAQ,EAAE;AAApF,IADJ,EAGI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACK,CAAC,CAAC,MAAF,IAAY;AAAK,aAAS,EAAC;AAAf,KAAsC,MAAtC,EAAoD,GAApD,CADjB,EAEK,CAAC,CAAC,WAAF,IAAiB;AAAK,aAAS,EAAC;AAAf,KAA0C,WAA1C,EAA6D,GAA7D,CAFtB,EAGI;AAAK,aAAS,EAAC;AAAf,KAAkC,IAAlC,CAHJ,CADJ,EAMK,WAAW,IAAI;AAAK,aAAS,EAAC;AAAf,KAAyC,WAAzC,CANpB,CAHJ,CADJ;AAcH,CAjBY,C;;;;;;;;;;;;;;;;;;;;;;;;;ACTb;;AACA;;AAIA;;AAmBa,6BAAqB,UAAC,KAAD,EAAmC;AAAA,0BACvC,iBAAmC;AAAE,cAAU,EAAE;AAAd,GAAnC,CADuC;AAAA;AAAA,MAC1D,KAD0D;AAAA,MACnD,QADmD;;AAAA,2BAEG,iBAAkB,KAAlB,CAFH;AAAA;AAAA,MAE1D,0BAF0D;AAAA,MAE9B,6BAF8B;;AAAA,2BAG7B,iBAAiB,CAAjB,CAH6B;AAAA;AAAA,MAG1D,UAH0D;AAAA,MAG9C,aAH8C;;AAAA,2BAIf,iBAAiB,KAAK,CAAC,QAAvB,CAJe;AAAA;AAAA,MAI1D,iBAJ0D;AAAA,MAIvC,oBAJuC;;AAAA,2BAKW,iBAAiB,CAAjB,CALX;AAAA;AAAA,MAK1D,8BAL0D;AAAA,MAK1B,iCAL0B;;AAAA,MAMzD,MANyD,GAMqE,KANrE,CAMzD,MANyD;AAAA,MAMjD,WANiD,GAMqE,KANrE,CAMjD,WANiD;AAAA,MAMpC,QANoC,GAMqE,KANrE,CAMpC,QANoC;AAAA,MAM1B,oBAN0B,GAMqE,KANrE,CAM1B,oBAN0B;AAAA,MAMJ,YANI,GAMqE,KANrE,CAMJ,YANI;AAAA,MAMU,oBANV,GAMqE,KANrE,CAMU,oBANV;AAAA,MAMgC,WANhC,GAMqE,KANrE,CAMgC,WANhC;AAAA,MAM6C,KAN7C,GAMqE,KANrE,CAM6C,KAN7C;AAAA,MAMoD,YANpD,GAMqE,KANrE,CAMoD,YANpD;AAOjE,MAAM,kBAAkB,GAAG,QAAQ,GAAG,CAAX,GAAe,QAAQ,KAAK,EAAb,GAAkB,QAAQ,GAAG,GAA7B,GAAoC,MAAM,QAAP,GAAmB,GAArE,GAA4E,KAAK,QAAN,GAAkB,EAAxH;AACA,MAAM,kBAAkB,GAAG,KAAK,IAAI,WAApC;AACA,MAAM,SAAS,GAAG,MAAM,CAAC,KAAP,CAAa,IAAb,CAAkB,eAAK;AAAA,WAAI,KAAK,CAAC,SAAN,KAAoB,SAAxB;AAAA,GAAvB,EAA0D,OAA5E;AACA,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAZ,CAAkB,IAAlB,CAAuB,oBAAU;AAAA,WAAI,UAAU,CAAC,OAAX,KAAuB,SAA3B;AAAA,GAAjC,MAA2E,SAArG;AAA+G;AAE/G,oBAAU,YAAK;AACX,UAAM,CAAC,sBAAP,GAAgC,MAAM,CAAC,sBAAP,IAAiC,EAAjE;AACA,UAAM,CAAC,sBAAP,CAA8B,YAA9B,IAA8C;AAC1C,WAAK,yIAA8B,YAA9B,CADqC;AAE1C,WAAK,EAAE;AAFmC,KAA9C;AAIH,GAND,EAMG,EANH;;AAQA,MAAM,oBAAoB,GAAG,SAAvB,oBAAuB,CAAC,KAAD,EAAkB;AAC3C,QAAI,eAAe,GAAG,KAAK,CAAC,UAA5B;AACA,QAAM,IAAI,GAAG,eAAe,CAAC,OAAhB,CAAwB,KAAxB,CAAb;;AAEA,QAAI,IAAI,GAAG,CAAC,CAAZ,EAAe;AACX,qBAAe,CAAC,MAAhB,CAAuB,IAAvB,EAA6B,CAA7B;AACH,KAFD,MAEO;AACH,qBAAe,CAAC,IAAhB,CAAqB,KAArB;AACH;;AAED,YAAQ,CAAC;AAAE,gBAAU,EAAE;AAAd,KAAD,CAAR;;AAEA,QAAI,eAAe,CAAC,MAAhB,GAAyB,CAA7B,EAAgC;AAC5B,gCAA0B,GAAG,EAAH,GAAQ,6BAA6B,CAAC,IAAD,CAA/D;AACH,KAFD,MAEO;AACH,gCAA0B,GAAG,6BAA6B,CAAC,KAAD,CAAhC,GAA0C,EAApE;AACH;;AAED,UAAM,CAAC,sBAAP,CAA8B,YAA9B,EAA4C,KAA5C,GAAoD,mBAAmB,EAAvE;AACH,GAnBD;;AAqBA,MAAM,eAAe,GAAG,SAAlB,eAAkB,GAAK;AACzB,QAAI,eAAe,GAAG,KAAK,CAAC,UAA5B;;AAEA,QAAI,eAAe,CAAC,MAAhB,KAA2B,WAAW,CAAC,KAAZ,CAAkB,MAAjD,EAAyD;AACrD,cAAQ,CAAC;AAAE,kBAAU,EAAE;AAAd,OAAD,CAAR;AACA,gCAA0B,GAAG,6BAA6B,CAAC,KAAD,CAAhC,GAA0C,EAApE;AACH,KAHD,MAGO;AACH,iBAAW,CAAC,KAAZ,CAAkB,GAAlB,CAAsB,UAAC,UAAD,EAAa,KAAb,EAAsB;AACxC,YAAM,IAAI,GAAG,eAAe,CAAC,OAAhB,CAAwB,KAAxB,CAAb;AACA,YAAI,GAAG,CAAC,CAAR,GAAY,EAAZ,GAAiB,eAAe,CAAC,IAAhB,CAAqB,KAArB,CAAjB;AACH,OAHD;AAIA,cAAQ,CAAC;AAAE,kBAAU,EAAE;AAAd,OAAD,CAAR;AACA,gCAA0B,GAAG,EAAH,GAAQ,6BAA6B,CAAC,IAAD,CAA/D;AACH;;AAED,UAAM,CAAC,sBAAP,CAA8B,YAA9B,EAA4C,KAA5C,GAAoD,mBAAmB,EAAvE;AACH,GAhBD;;AAkBA,MAAM,sBAAsB,GAAG,SAAzB,sBAAyB,GAAK;AAChC,iCAA6B,CAAC,KAAD,CAA7B;AACH,GAFD;;AAIA,MAAM,sBAAsB,GAAG,SAAzB,sBAAyB,GAAK;AAChC,iBAAa,CAAC,UAAU,GAAG,kBAAd,CAAb;AACA,wBAAoB,CAAC,iBAAiB,GAAG,CAArB,CAApB;AACH,GAHD;;AAKA,MAAM,sBAAsB,GAAG,SAAzB,sBAAyB,GAAK;AAChC,QAAI,iBAAiB,KAAK,CAA1B,EAA6B;AAC7B,iBAAa,CAAE,UAAU,GAAG,kBAAd,IAAqC,CAAC,CAAtC,GAA0C,CAA1C,GAA8C,UAAU,GAAG,IAAI,CAAC,GAAL,CAAS,kBAAT,CAA5D,CAAb;AACA,wBAAoB,CAAC,iBAAiB,GAAG,CAArB,CAApB;AACH,GAJD;;AAMA,MAAM,cAAc,GAAG,SAAjB,cAAiB,CAAC,QAAD,EAAa;AAChC,QAAM,KAAK,GAAG,QAAQ,KAAK,OAAb,GAAuB,KAAvB,GAA+B,GAA7C;AACA,QAAM,KAAK,GAAG,QAAQ,KAAK,OAAb,GAAuB,MAAvB,GAAgC,GAA9C;AACA,QAAM,OAAO,GAAG,QAAQ,KAAK,OAAb,GAAuB,OAAvB,GAAiC,IAAjD;AACA,QAAI,IAAI,GAAG,QAAQ,KAAK,MAAb,GAAsB,EAAtB,aAA8B,KAA9B,0IAA+D,YAA/D,SAA8E,KAA9E,SAAsF,OAAtF,CAAX;AAEA,eAAW,CAAC,KAAZ,CAAkB,GAAlB,CAAsB,UAAC,UAAD,EAAa,KAAb,EAAsB;AACxC,UAAI,KAAK,CAAC,UAAN,CAAiB,OAAjB,CAAyB,KAAzB,IAAkC,CAAC,CAAvC,EAA0C;AACtC,YAAM,WAAW,GAAG,UAAU,CAAC,qBAAX,aAAsC,UAAU,CAAC,qBAAjD,SAA4E,EAAhG;AACA,YAAI,MAAJ;;AAEA,YAAI,UAAU,CAAC,aAAf,EAA8B;AAC1B,gBAAM,aAAM,UAAU,CAAC,gBAAjB,MAAN;AACH,SAFD,MAEO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,gBAAZ,CAAV,EAAyC;AAAE;AAC9C,cAAI,UAAU,CAAC,gBAAX,KAAgC,GAAhC,IAAuC,UAAU,CAAC,gBAAX,KAAgC,EAA3E,EAA+E;AAC3E,kBAAM,GAAG,EAAT;AACH,WAFD,MAEO;AACH,kBAAM,aAAM,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAZ,CAAN,GAAsC,UAAvC,EAAmD,OAAnD,CAA2D,CAA3D,CAAD,CAAZ,MAAN;AACH;AACJ,SANM,MAMA;AACH,gBAAM,aAAM,UAAU,CAAC,gBAAjB,MAAN;AACH;;AAED,YAAI,cAAO,MAAP,SAAgB,WAAhB,SAA8B,UAAU,CAAC,cAAzC,cAA2D,UAAU,CAAC,qBAAX,cAAuC,UAAU,CAAC,qBAAlD,SAA6E,EAAxI,SAA6I,OAA7I,CAAJ;AACH;AACJ,KAnBD;AAqBA,QAAI,cAAO,OAAP,+FAAkC,OAAlC,SAA4C,oBAA5C,CAAJ;AAEA,WAAO,IAAP;AACH,GA9BD;;AAgCA,MAAM,mBAAmB,GAAG,SAAtB,mBAAsB,GAAK;AAC7B,QAAI,YAAY,GAAG,EAAnB;AAEA,eAAW,CAAC,KAAZ,CAAkB,GAAlB,CAAsB,UAAC,UAAD,EAAa,KAAb,EAAsB;AACxC,UAAI,KAAK,CAAC,UAAN,CAAiB,OAAjB,CAAyB,KAAzB,IAAkC,CAAC,CAAvC,EAA0C;AACtC,YAAM,WAAW,GAAG,UAAU,CAAC,qBAAX,aAAsC,UAAU,CAAC,qBAAjD,SAA4E,EAAhG;AACA,YAAI,MAAJ;;AAEA,YAAI,UAAU,CAAC,aAAf,EAA8B;AAC1B,gBAAM,aAAM,UAAU,CAAC,gBAAjB,MAAN;AACH,SAFD,MAEO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,gBAAZ,CAAV,EAAyC;AAAE;AAC9C,cAAI,UAAU,CAAC,gBAAX,KAAgC,GAAhC,IAAuC,UAAU,CAAC,gBAAX,KAAgC,EAA3E,EAA+E;AAC3E,kBAAM,GAAG,EAAT;AACH,WAFD,MAEO;AACH,kBAAM,aAAM,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAZ,CAAN,GAAsC,UAAvC,EAAmD,OAAnD,CAA2D,CAA3D,CAAD,CAAZ,MAAN;AACH;AACJ,SANM,MAMA;AACH,gBAAM,aAAM,UAAU,CAAC,gBAAjB,MAAN;AACH;;AAED,oBAAY,CAAC,IAAb,WAAqB,MAArB,SAA8B,WAA9B,SAA4C,UAAU,CAAC,cAAvD,cAAyE,UAAU,CAAC,qBAAX,cAAuC,UAAU,CAAC,qBAAlD,SAA6E,EAAtJ;AACH;AACJ,KAnBD;AAqBA,WAAO,YAAP;AAEH,GA1BD;;AA4BA,MAAM,aAAa,GAAG,SAAhB,aAAgB,GAAK;AACvB,QAAM,KAAK,0IAA+B,YAA/B,CAAX;AACA,UAAM,CAAC,QAAP,CAAgB,IAAhB,6BAA0C,KAA1C,mBAAwD,kBAAkB,CAAC,cAAc,CAAC,MAAD,CAAf,CAA1E;AACH,GAHD;;AAKA,MAAM,cAAc,GAAG,SAAjB,cAAiB,GAAK;AACxB,QAAM,MAAM,GAAG,QAAQ,CAAC,aAAT,CAAuB,SAAvB,CAAf;AACA,QAAM,WAAW,GAAG,QAAQ,CAAC,cAAT,CAAwB,cAAxB,EAAwC,SAAxC,CAAkD,IAAlD,CAApB;AAEA,UAAM,CAAC,SAAP,CAAiB,GAAjB,CAAqB,4BAArB;AACA,YAAQ,CAAC,IAAT,CAAc,WAAd,CAA0B,WAA1B;AAEA,cAAU,CAAC,YAAK;AACZ,YAAM,CAAC,SAAP,CAAiB,MAAjB,CAAwB,4BAAxB;AACA,cAAQ,CAAC,IAAT,CAAc,WAAd,CAA0B,WAA1B;AACH,KAHS,EAGP,IAHO,CAAV;AAKA,UAAM,CAAC,KAAP;AACH,GAbD;;AAeA,MAAM,sBAAsB,GAAG,SAAzB,sBAAyB,CAAC,MAAD,EAAmB;AAC9C,qCAAiC,CAAC,MAAD,CAAjC;AACH,GAFD;;AAIA,oBAAU,YAAK;AACX,QAAM,SAAS,GAAG,WAAW,GAAG,YAAH,GAAkB,YAA/C;AACA,QAAM,eAAe,GAAG,QAAQ,CAAC,cAAT,CAAwB,SAAxB,CAAxB;AAEA,SAAI,CAAC,cAAL,GAAsB,IAAI,cAAJ,CAAmB,iBAAO;AAAA,aAAI,OAAO,CAAC,OAAR,CAAgB,WAAC,EAAG;AACpE,8BAAsB,CAAC,CAAC,CAAC,WAAF,CAAc,MAAf,CAAtB;AACH,OAFmD,CAAJ;AAAA,KAA1B,CAAtB;AAIA,mBAAe,IAAI,KAAI,CAAC,cAAL,CAAoB,OAApB,CAA4B,eAA5B,CAAnB;AAEA,WAAO,YAAK;AACR,WAAI,CAAC,cAAL,IAAuB,KAAI,CAAC,cAAL,CAAoB,UAApB,EAAvB;AACH,KAFD;AAGH,GAbD,EAaG,EAbH;AAeA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAA0C,sCAA1C,CADJ,EAGK,oBAAoB,GACjB;AAAK,aAAS,EAAC;AAAf,KACI;AAAQ,aAAS,EAAC,sBAAlB;AAAyC,WAAO,EAAE;AAAlD,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KACK,iBADL,EAEI;AAAK,aAAS,EAAC;AAAf,KAA+B,sCAA/B,CAFJ,CAFJ,EAMI;AAAQ,aAAS,kCAA2B,iBAAiB,KAAK,CAAtB,GAA0B,SAA1B,GAAsC,EAAjE,CAAjB;AAAwF,WAAO,EAAE;AAAjG,IANJ,CADiB,GAUjB;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACK,iBADL,EAEI;AAAK,aAAS,EAAC;AAAf,KAA+B,sCAA/B,CAFJ,CADJ,CAbR,CADJ,EAsBI;AAAG,QAAI,EAAC,sCAAR;AAA+C,UAAM,EAAC,QAAtD;AAA+D,aAAS,EAAC;AAAzE,KACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAA6C,4EAA7C,CAFJ,CAtBJ,CADJ,EA8BI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAA0C,oLAA1C,CADJ,EAGI;AAAK,aAAS,EAAC;AAAf,KACI;AAAO,QAAI,EAAC,UAAZ;AAAuB,aAAS,EAAC,+BAAjC;AAAiE,WAAO,EAAE,KAAK,CAAC,UAAN,CAAiB,MAAjB,KAA4B,WAAW,CAAC,KAAZ,CAAkB,MAAxH;AAAgI,YAAQ,EAAE;AAA1I,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAAgC,uCAAhC,CAFJ,CAHJ,EAQK,MAAM,CAAC,KAAP,CAAa,GAAb,CAAiB,UAAC,KAAD,EAAQ,KAAR,EAAiB;AAC/B,QAAI,KAAK,CAAC,SAAN,KAAoB,SAApB,IAAiC,iBAArC,EAAwD,OAAO,EAAP;AAExD,WACI;AAAK,eAAS,EAAC,mCAAf;AAAmD,SAAG,EAAE;AAAxD,OACI;AAAK,eAAS,EAAC;AAAf,OAAkD,KAAK,CAAC,SAAN,KAAoB,SAApB,GAAgC,EAAhC,GAAqC,KAAK,CAAC,SAAN,GAAkB,GAAzG,CADJ,EAGI;AAAK,eAAS,EAAC;AAAf,OACK,WAAW,CAAC,KAAZ,CAAkB,GAAlB,CAAsB,UAAC,UAAD,EAAa,KAAb,EAAsB;AACzC,UAAI,UAAU,CAAC,OAAX,KAAuB,KAAK,CAAC,OAAjC,EAA0C;AAAA,YAC9B,gBAD8B,GACoE,UADpE,CAC9B,gBAD8B;AAAA,YACZ,qBADY,GACoE,UADpE,CACZ,qBADY;AAAA,YACW,cADX,GACoE,UADpE,CACW,cADX;AAAA,YAC2B,qBAD3B,GACoE,UADpE,CAC2B,qBAD3B;AAAA,YACkD,aADlD,GACoE,UADpE,CACkD,aADlD;AAEtC,YAAI,MAAJ;;AACA,YAAI,CAAC,KAAK,CAAC,gBAAD,CAAV,EAA8B;AAC1B,cAAI,gBAAgB,KAAK,GAAzB,EAA8B;AAC1B,kBAAM,GAAG,EAAT;AACH,WAFD,MAEO;AACH,kBAAM,GAAG,aAAa,GAAG,gBAAH,GAAsB,MAAM,CAAC,CAAC,MAAM,CAAC,gBAAD,CAAN,GAA2B,UAA5B,EAAwC,OAAxC,CAAgD,CAAhD,CAAD,CAAlD;AACH;AACJ,SAND,MAMO;AACH,gBAAM,GAAG,gBAAT;AACH;;AACD,eACI,oBAAC,uCAAD,EAAmB;AACf,aAAG,EAAE,KADU;AAEf,cAAI,EAAE,cAFS;AAGf,gBAAM,EAAE,MAHO;AAIf,qBAAW,EAAE,qBAJE;AAKf,qBAAW,EAAE,qBALE;AAMf,0BAAgB,EAAE;AAAA,mBAAM,oBAAoB,CAAC,KAAD,CAA1B;AAAA,WANH;AAOf,kBAAQ,EAAE,KAAK,CAAC,UAAN,CAAiB,QAAjB,CAA0B,KAA1B;AAPK,SAAnB,CADJ;AAWH;AACJ,KAzBA,CADL,CAHJ,CADJ;AAkCH,GArCA,CARL,CA9BJ,EA8EI;AAAK,aAAS,gCAAyB,0BAA0B,GAAG,MAAH,GAAY,MAA/D,CAAd;AAAuF,SAAK,EAAE,CAAC,kBAAD,GAAsB;AAAE,YAAM,EAAE;AAAV,KAAtB,GAAmE;AAAjK,KACI;AAAQ,aAAS,EAAC,YAAlB;AAA+B,WAAO,EAAE,sBAAxC;AAA8D,kBAAa;AAA3E,IADJ,EAEI;AAAK,aAAS,EAAE,KAAK,GAAG,sBAAH,GAA4B;AAAjD,KAAsE,KAAK,CAAC,UAAN,CAAiB,MAAvF,CAFJ,EAGI;AAAK,aAAS,EAAE,KAAK,GAAG,yBAAH,GAA+B;AAApD,KAAyE,+IAAzE,CAHJ,EAKK,CAAC,kBAAD,IAAuB;AAAQ,aAAS,EAAC,iBAAlB;AAAoC,WAAO,EAAE;AAAA,aAAM,cAAc,EAApB;AAAA;AAA7C,IAL5B,EAOK,KAAK,GACF;AAAG,aAAS,EAAC,gBAAb;AAA8B,QAAI,yCAAkC,YAAlC;AAAlC,IADE,GAGF;AAAQ,aAAS,EAAC,gBAAlB;AAAmC,WAAO,EAAE;AAAA,aAAM,aAAa,EAAnB;AAAA;AAA5C,IAVR,EAYK,KAAK,GACF;AAAG,aAAS,EAAC,oBAAb;AAAkC,QAAI,2CAAoC,YAApC;AAAtC,IADE,GAGF;AAAQ,aAAS,EAAC,oBAAlB;AAAuC,WAAO,EAAE;AAAA,aAAM,MAAM,CAAC,IAAP,CAAY,wCAAwC,kBAAkB,CAAC,cAAc,CAAC,UAAD,CAAf,CAAtE,CAAN;AAAA;AAAhD,IAfR,CA9EJ,EAgGI;AAAK,aAAS,EAAC,sBAAf;AAAsC,MAAE,EAAC;AAAzC,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,IAFJ,CADJ,EAKI;AAAK,aAAS,EAAC;AAAf,IALJ,EAMI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAmC,8HAAnC,CADJ,EAII;AAAK,aAAS,EAAC,kBAAf;AAAkC,OAAG,EAAC;AAAtC,KACK,YADL,CAJJ,EAOI;AAAI,aAAS,EAAC;AAAd,KACK,mBAAmB,GAAG,GAAtB,CAA0B,UAAC,IAAD;AAAA,WACvB;AAAI,eAAS,EAAC;AAAd,OAA2B,IAA3B,CADuB;AAAA,GAA1B,CADL,CAPJ,CANJ,EAmBI;AAAK,aAAS,EAAC;AAAf,IAnBJ,EAoBI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAA6B,sEAA7B,CADJ,EAEI;AAAG,QAAI,EAAE,oBAAT;AAA+B,aAAS,EAAC;AAAzC,KAA+D,oBAA/D,CAFJ,CApBJ,CAhGJ,CADJ;AA4HH,CAzSY;;AA2Sb,2BAAmB,cAAnB,GAAoC,oBAApC,C;;;;;;;;;8CCnUA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AACA;;IAqBa,e;;;;;AAMT,2BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,yFAAM,KAAN;AAJI,yBAAe,IAAf;AACA,4BAA2B,KAA3B;;AAmBR,yBAAe,UAAC,SAAD,EAAsB;AACjC,UAAI,MAAK,KAAL,CAAW,OAAf,EAAwB;;AACxB,UAAM,UAAU,GAAG,MAAK,YAAL,CAAkB,gBAAlB,EAAnB;;AACA,UAAM,QAAQ,GAAG,MAAK,YAAL,CAAkB,UAAlB,EAAjB;;AAEA,gBAAU,CAAC,IAAX,GAAkB,MAAlB;AACA,gBAAU,CAAC,SAAX,CAAqB,KAArB,GAA6B,SAA7B;AACA,gBAAU,CAAC,OAAX,CAAmB,QAAnB;AACA,cAAQ,CAAC,OAAT,CAAiB,MAAK,YAAL,CAAkB,WAAnC;AAEA,gBAAU,CAAC,KAAX,CAAiB,CAAjB,EAViC,CAUZ;;AACrB,cAAQ,CAAC,IAAT,CAAc,4BAAd,CAA2C,OAA3C,EAAoD,MAAK,YAAL,CAAkB,WAAlB,GAAgC,CAApF;AACA,gBAAU,CAAC,IAAX,CAAgB,MAAK,YAAL,CAAkB,WAAlB,GAAgC,CAAhD;AACH,KAbD;;AAeA;AAAA;AAAA;AAAA;AAAA,4BAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AACV,0BADU,GACO,MAAK,KADZ,CACV,YADU;AAEZ,eAFY,GAER,MAFQ;AAGZ,eAHY,GAGR,MAHQ;AAIZ,eAJY,GAIR,MAJQ;AAKZ,sBALY,GAKD,GALC;AAMZ,yBANY,GAME,IANF;AAQT,eARS,GAQL,CARK;;AAAA;AAAA,oBAQF,CAAC,GAAG,CARF;AAAA;AAAA;AAAA;;AAAA,mBASV,MAAK,eATK;AAAA;AAAA;AAAA;;AAUV,oBAAK,eAAL,GAAuB,KAAvB;AAVU;;AAAA;AAAA;AAAA,qBAcR,OAAO,CAAC,OAAR,GACD,IADC,CACI;AAAA,uBAAM,MAAK,YAAL,CAAkB,CAAlB,CAAN;AAAA,eADJ,EAED,IAFC,CAEI;AAAA,uBAAM,KAAK,CAAC,QAAD,CAAX;AAAA,eAFJ,EAGD,IAHC,CAGI;AAAA,uBAAM,MAAK,YAAL,CAAkB,CAAlB,CAAN;AAAA,eAHJ,EAID,IAJC,CAII;AAAA,uBAAM,KAAK,CAAC,QAAD,CAAX;AAAA,eAJJ,EAKD,IALC,CAKI;AAAA,uBAAM,MAAK,YAAL,CAAkB,CAAlB,CAAN;AAAA,eALJ,EAMD,IANC,CAMI;AAAA,uBAAM,KAAK,CAAC,WAAD,CAAX;AAAA,eANJ,CAdQ;;AAAA;AAQK,eAAC,EARN;AAAA;AAAA;;AAAA;AAuBlB,oBAAK,QAAL,CAAc;AAAE,yBAAS,EAAE,YAAb;AAA2B,yBAAS,EAAE,KAAtC;AAA6C,iCAAiB,EAAE,KAAhE;AAAuE,iCAAiB,EAAE;AAA1F,eAAd;;AACA;;AAxBkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAtB;;AA2BA,+BAAqB,YAAK;AAAA,wBACU,MAAK,KADf;AAAA,UACd,SADc,eACd,SADc;AAAA,UACH,QADG,eACH,QADG;;AAGtB,UAAI,SAAJ,EAAe;AACX,qBAAa,CAAC,MAAK,aAAN,CAAb;;AACA,cAAK,QAAL,CAAc;AAAE,kBAAQ,EAAE;AAAZ,SAAd;AACH,OAHD,MAGO;AACH,cAAK,YAAL,CAAkB,MAAlB,GADG,CACwB;;;AAC3B,cAAK,aAAL,GAAqB,WAAW,CAAC;AAAA,iBAAM,MAAK,WAAL,EAAN;AAAA,SAAD,EAA2B,IAA3B,CAAhC;;AAEA,YAAI,QAAJ,EAAc;AACV,gBAAK,QAAL,CAAc;AAAE,oBAAQ,EAAE;AAAZ,WAAd;AACH;;AAED,cAAK,QAAL,CAAc;AAAE,2BAAiB,EAAE;AAArB,SAAd;;AACA;AACH;;AAED,YAAK,QAAL,CAAc;AAAE,iBAAS,EAAE,CAAC;AAAd,OAAd;AACH,KAnBD;;AAqBA,wBAAc,YAAK;AAAA,UACP,SADO,GACO,MAAK,KADZ,CACP,SADO;;AAGf,YAAK,QAAL,CAAc;AAAE,iBAAS,EAAE,SAAS,GAAG;AAAzB,OAAd;;AAEA,UAAI,SAAS,GAAG,CAAhB,EAAmB;AACf,cAAK,QAAL,CAAc;AAAE,2BAAiB,EAAE;AAArB,SAAd;;AACA,cAAK,mBAAL;;AACA,qBAAa,CAAC,MAAK,aAAN,CAAb;AACH;AACJ,KAVD;;AAYA,+BAAqB,YAAK;AACtB,YAAK,QAAL,CAAc;AAAE,eAAO,EAAE,CAAC,MAAK,KAAL,CAAW;AAAvB,OAAd;AACH,KAFD;;AAIA,gCAAsB,YAAK;AACvB,mBAAa,CAAC,MAAK,aAAN,CAAb;AACA,YAAK,eAAL,GAAuB,IAAvB;;AACA,YAAK,QAAL,CAAc;AAAE,iBAAS,EAAE,MAAK,KAAL,CAAW,YAAxB;AAAsC,iBAAS,EAAE,KAAjD;AAAwD,yBAAiB,EAAE,KAA3E;AAAkF,yBAAiB,EAAE;AAArG,OAAd;AACH,KAJD;;AAMA,6BAAmB,YAAK;AAAA,UACZ,SADY,GACE,MAAK,KADP,CACZ,SADY;AAGpB,UAAM,CAAC,GAAG,IAAI,CAAC,KAAL,CAAW,SAAS,IAAI,KAAK,EAAT,CAApB,EAAkC,QAAlC,EAAV;AACA,UAAM,CAAC,GAAG,IAAI,CAAC,KAAL,CAAW,SAAS,GAAG,IAAZ,GAAmB,EAA9B,EAAkC,QAAlC,EAAV;AACA,UAAM,CAAC,GAAG,IAAI,CAAC,KAAL,CAAW,SAAS,GAAG,IAAZ,GAAmB,EAA9B,EAAkC,QAAlC,EAAV;AAEA,UAAM,KAAK,GAAG,CAAC,CAAC,MAAF,GAAW,CAAX,GAAe,MAAM,CAArB,GAAyB,CAAvC;AACA,UAAM,OAAO,GAAG,CAAC,CAAC,MAAF,GAAW,CAAX,GAAe,MAAM,CAArB,GAAyB,CAAzC;AACA,UAAM,OAAO,GAAG,CAAC,CAAC,MAAF,GAAW,CAAX,GAAe,MAAM,CAArB,GAAyB,CAAzC;AAEA,aAAO,SAAS,GAAG,CAAZ,GAAgB,UAAhB,aAAgC,KAAhC,cAAyC,OAAzC,cAAoD,OAApD,CAAP;AACH,KAZD;;AApGI,UAAK,KAAL,GAAa;AACT,eAAS,EAAE,KADF;AAET,cAAQ,EAAE,KAFD;AAGT,aAAO,EAAE,KAHA;AAIT,uBAAiB,EAAE,KAJV;AAKT,uBAAiB,EAAE,KALV;AAMT,eAAS,EAAE,KAAK,CAAC;AANR,KAAb;AAFa;AAUhB;;;;wCAEgB;AACb,UAAM,YAAY,GAAG,MAAM,CAAC,YAAP,IAAuB,MAAM,CAAC,kBAAnD;AACA,WAAK,YAAL,GAAoB,IAAI,YAAJ,EAApB;AACH;;;6BAqGK;AAAA,yBAC8E,KAAK,KADnF;AAAA,UACM,SADN,gBACM,SADN;AAAA,UACiB,OADjB,gBACiB,OADjB;AAAA,UAC0B,iBAD1B,gBAC0B,iBAD1B;AAAA,UAC6C,iBAD7C,gBAC6C,iBAD7C;AAAA,UACgE,SADhE,gBACgE,SADhE;AAAA,UAEK,iBAFL,GAE0B,KAAK,KAF/B,CAEK,iBAFL;AAGF,UAAM,cAAc,GAAG,+BAAgB,aAAhB,GAAgC,EAAvD;AACA,UAAM,mBAAmB,GAAG,+BAAgB,iBAAhB,GAAoC,KAAK,gBAAL,EAAhE;AAEA,aACI;AAAK,iBAAS,8CAAuC,cAAvC;AAAd,SACI;AAAK,iBAAS,EAAC;AAAf,SAAgC,mBAAhC,CADJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,gCAAyB,iBAAiB,GAAG,UAAH,GAAgB,EAA1D,CAAjB;AAAiF,gBAAQ,EAAE,iBAA3F;AAA8G,eAAO,EAAE,KAAK;AAA5H,SACI;AAAK,iBAAS,YAAK,SAAS,GAAG,iBAAH,GAAuB,gBAArC;AAAd,QADJ,CADJ,EAKI;AAAQ,iBAAS,EAAC,qBAAlB;AAAwC,eAAO,EAAE,KAAK;AAAtD,SACI;AAAK,iBAAS,YAAK,OAAO,GAAG,qBAAH,GAA2B,oBAAvC;AAAd,QADJ,CALJ,EASK,iBAAiB,IACd;AAAQ,eAAO,EAAE,KAAK,mBAAtB;AAA2C,iBAAS,EAAC;AAArD,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,CAVR,CAHJ,CADJ;AAoBH;;;;EApJgC,KAAK,CAAC,S;;AACzB,iCAAiB,iBAAjB;AADlB;;AAuJA,IAAM,KAAK,GAAG,SAAR,KAAQ,CAAC,QAAD,EAAa;AACvB,SAAO,IAAI,OAAJ,CAAY,UAAC,OAAD,EAAY;AAC3B,cAAU,CAAC;AAAA,aAAM,OAAO,EAAb;AAAA,KAAD,EAAkB,QAAlB,CAAV;AACH,GAFM,CAAP;AAGH,CAJD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjLA,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AAEA;;AACA;;AACA;;IAQa,oB;;;;;AAAb;AAAA;;AAAA;;;;AAGY,kCAAwB,UAAC,MAAD,EAAiB,IAAjB,EAAkC;AAAA,UACvD,KADuD,GAC9C,MAAK,KADyC,CACvD,KADuD;;AAE9D,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,WAAW,GAAG,MAAM,CAAC,QAAP,CAAgB,IAApC;;AAEA,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B,EAA/B,EAAmC;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,cAA9B,EAA8C,KAA9C,CAAN;AAAA,aAAnC,EAA+F,cAA/F;AACA;;AAEJ,eAAK,OAAL;AACI,kBAAM,CAAC,KAAP;AACA;;AAEJ,eAAK,QAAL;AACI,8CAAgB,aAAhB,CAA8B,QAAQ,CAAC,KAAvC,EAA8C,WAA9C,EAA2D,IAA3D,EAAiE;AAAA,qBAAM,iCAAkB,MAAlB,EAA0B,cAA1B,EAA0C,KAA1C,CAAN;AAAA,aAAjE,EAAyH,cAAzH;AACA;;AAEJ,eAAK,UAAL;AACI,gBAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CAAtB;;AACA,gBAAI,aAAJ,EAAmB;AACf,2BAAa,CAAC,KAAd;AACH;;AACD,gBAAM,eAAe,GAAG,QAAQ,CAAC,aAAT,CAAuB,uBAAvB,KAAmD,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CAA3E;AACA,wBAAY,CAAC,YAAK;AACd,6BAAe,CAAC,cAAhB,CAA+B;AAC3B,wBAAQ,EAAE,QADiB;AAE3B,qBAAK,EAAE;AAFoB,eAA/B;AAIH,aALW,CAAZ;AAOA;AA1BR;AA4BH;AACJ,KAlCO;;AAHZ;AA8EC;;;;6BAnCgB;AAAA;;AAAA,wBACe,KAAK,KADpB;AAAA,UACD,KADC,eACD,KADC;AAAA,UACM,IADN,eACM,IADN;AAET,UAAI,YAAY,GAAG,KAAK,GAAG,aAAH,GAAmB,EAA3C;AACA,aACI;AAAK,iBAAS,sCAA+B,YAA/B;AAAd,SACI,gCACI,gCACI;AAAQ,iBAAS,EAAC,qCAAlB;AACI,aAAK,EAAE,oCAAqB,IAArB,EAA2B,UAA3B,CADX;AAEI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAP;AAAA;AAFb,SAGI;AAAM,iBAAS,EAAC;AAAhB,QAHJ,EAGqD,oCAAqB,IAArB,EAA2B,UAA3B,CAHrD,CADJ,CADJ,EAQI,gCACI;AAAQ,iBAAS,EAAC,iCAAlB;AACI,aAAK,EAAE,oCAAqB,IAArB,EAA2B,OAA3B,CADX;AAEI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,OAA3B,CAAP;AAAA;AAFb,SAGI;AAAM,iBAAS,EAAC;AAAhB,QAHJ,EAGkD,oCAAqB,IAArB,EAA2B,OAA3B,CAHlD,CADJ,CARJ,EAcI,gCACI;AAAQ,iBAAS,EAAC,kCAAlB;AACI,aAAK,EAAE,oCAAqB,IAArB,EAA2B,QAA3B,CADX;AAEI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,QAA3B,EAAqC,IAArC,CAAP;AAAA;AAFb,SAGC;AAAM,iBAAS,EAAC;AAAhB,QAHD,EAGgD,oCAAqB,IAArB,EAA2B,QAA3B,CAHhD,CADJ,CAdJ,EAoBI,gCACI;AAAQ,iBAAS,EAAC,oCAAlB;AAAuD,aAAK,EAAE,oCAAqB,IAArB,EAA2B,SAA3B,CAA9D;AACI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,UAA3B,CAAP;AAAA;AADb,SAEI;AAAM,iBAAS,EAAC;AAAhB,QAFJ,EAEqD,oCAAqB,IAArB,EAA2B,SAA3B,CAFrD,CADJ,CApBJ,CADJ,CADJ;AA+BH;;;;EA7EqC,KAAK,CAAC,S;;AAC9B,sCAAiB,sBAAjB;AADlB,oD;;;;;;;;;;;;;;;ACbA;;AAOa,mCACb;AACI,QAAM;AACF,gBAAY,gBADV;AAEF,aAAS,OAFP;AAGF,cAAU,YAHR;AAIF,eAAW,aAJT;AAKF,YAAQ,sBALN;AAMF,aAAS,QANP;AAOF,iBAAa;AAPX,GADV;AAUI,QAAM;AACF,gBAAY,UADV;AAEF,aAAS,OAFP;AAGF,cAAU,gBAHR;AAIF,eAAW,SAJT;AAKF,YAAQ,EALN;AAMF,aAAS,OANP;AAOF,iBAAa;AAPX,GAVV;AAmBI,QAAM;AACF,gBAAY,SADV;AAEF,aAAS,QAFP;AAGF,cAAU,eAHR;AAIF,eAAW,gBAJT;AAKF,YAAQ,EALN;AAMF,aAAS,YANP;AAOF,iBAAa;AAPX,GAnBV;AA4BI,QAAM;AACF,gBAAY,UADV;AAEF,aAAS,WAFP;AAGF,cAAU,mBAHR;AAIF,eAAW,UAJT;AAKF,YAAQ,EALN;AAMF,aAAS,WANP;AAOF,iBAAa;AAPX;AA5BV,CADa;;AAyCA,+BAAuB,UAAC,IAAD,EAAO,IAAP,EAAuB;AACvD,MAAI,GAAG,GAAG,MAAM,CAAC,gCAAD,EAA2B,UAAU,CAAV,EAAa,CAAb,EAAc;AACrD,WAAO,CAAC,KAAK,IAAb;AACH,GAFe,CAAhB;AAGA,MAAI,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAD,CAAJ,EAAS,UAAU,CAAV,EAAa,CAAb,EAAc;AACvC,WAAO,CAAC,KAAK,IAAb;AACH,GAFmB,CAApB;AAGA,SAAO,OAAO,CAAC,CAAD,CAAd;AAEH,CATY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChDb,IAAM,YAAY,GAAG,mBAAO,CAAC,kDAAD,CAA5B;;AAcA,IAAa,oBAAb;AAAA;AAAA;AAAA;;AADA;AAAA;;AAAA;;;;AAGY,yBAAe,YAAK;AACxB,UAAM,eAAe,GAAG,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CAAxB;AACA,gBAAU,CAAC,YAAK;AACZ,uBAAe,CAAC,cAAhB,CAA+B;AAC3B,kBAAQ,EAAE,QADiB;AAE3B,eAAK,EAAE;AAFoB,SAA/B;AAIH,OALS,EAKP,CALO,CAAV;AAMA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,iBAAvB,CAAtB;AACA,mBAAa,CAAC,KAAd;AACH,KAVO;;AAYA,+BAAqB,YAAK;AAC9B,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,WAAW,GAAG,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CAApB;AACA,YAAI,WAAJ,EAAiB,OAAO,IAAP,CAAjB,KACK,OAAO,KAAP;AACR;AACJ,KANO;;AAfZ;AAoDC;;AAnDD;AAAA;AAAA,6BAwBU;AAAA,wBAEuE,KAAK,KAF5E;AAAA,UAEM,YAFN,eAEM,YAFN;AAAA,UAEoB,OAFpB,eAEoB,OAFpB;AAAA,UAE6B,gBAF7B,eAE6B,gBAF7B;AAAA,UAE+C,aAF/C,eAE+C,aAF/C;AAAA,UAE8D,IAF9D,eAE8D,IAF9D;AAIF,UAAI,YAAY,GAAG,oBAAnB;AACA,UAAI,SAAS,GAAG,uBAAhB;AACA,UAAM,eAAe,GAAG,YAAY,GAAG,MAAH,GAAY,OAAhD;AACA,UAAI,SAAS,GAAG,OAAhB;;AACA,UAAG,IAAI,KAAI,IAAX,EAAgB;AACZ,oBAAY,GAAG,gBAAf;AACJ,iBAAS,GAAG,0BAAZ;AACA,iBAAS,GAAG,OAAZ;AACC;;AACD,UAAG,IAAI,KAAI,IAAX,EAAgB;AACZ,oBAAY,GAAG,mBAAf;AACA,iBAAS,GAAG,iCAAZ;AACA,iBAAS,GAAG,WAAZ;AACH;;AACD,aAEI;AAAK,iBAAS,qBAAc,eAAd;AAAd,SACI;AAAG,aAAK,EAAE,SAAV;AAAqB,eAAO,EAAE;AAA9B,SAAwC,SAAxC,CADJ,EAGI;AAAG,aAAK,EAAE,SAAV;AAAqB,YAAI,EAAE,aAA3B;AAA0C,cAAM,EAAC;AAAjD,SAA2D,SAA3D,CAHJ,CAFJ;AAQH;AAlDL;;AAAA;AAAA,EAA0C,KAAK,CAAC,SAAhD;;AAAa,oBAAoB,eADhC,YACgC,GAApB,oBAAoB,CAApB;AAAA,oD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdb,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA,IAAM,YAAY,GAAG,mBAAO,CAAC,kDAAD,CAA5B;;AACA,IAAM,uBAAuB,GAAG,sBAAhC;;AAiBA,SAAgB,qBAAhB,CAAsC,QAAtC,EAAsD;AAClD,MAAI,MAAM,GAAG,QAAb;;AACA,MAAI,QAAQ,CAAC,MAAT,GAAkB,CAAtB,EAAyB;AACrB,UAAM,GAAG,QAAQ,CAAC,MAAT,CAAgB,CAAhB,IAAqB,GAA9B;AACH,GAFD,MAGK,IAAI,QAAQ,CAAC,QAAD,CAAR,KAAuB,CAA3B,EAA8B;AAC/B,UAAM,GAAG,EAAT;AACH;;AACD,SAAO,MAAP;AAEH;;AAVD;;AAYA,IAAa,6BAAb;AAAA;AAAA;AAAA;;AAEI;AAAA;;AAAA;;AACI;;AAMI,+BAAqB,YAAK;AAC9B,YAAK,QAAL,CAAc;AACV,oBAAY,EAAE;AADJ,OAAd;AAGH,KAJO;;AAaF,uCAA6B,UAAC,CAAD,EAAM;AACzC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,CAAC,CAAC,MAAF,CAAS;AAA7B,OAAd;AACD,KAFO;;AAIE,kCAAwB,UAAC,MAAD,EAAmB;AAAA,wBACN,MAAK,KADC;AAAA,UACvC,eADuC,eACvC,eADuC;AAAA,UACtB,KADsB,eACtB,KADsB;AAAA,UACf,IADe,eACf,IADe;;AAE/C,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;;AACA,UAAM,SAAS,GAAG,IAAI,CAAC,KAAL,CAAW,CAAX,EAAc,CAAd,CAAlB;;AACA,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,WAAW,GAAG,MAAM,CAAC,QAAP,CAAgB,IAApC;AACA,YAAM,iBAAiB,GAAG,eAAe,GAAG,cAAH,GAAoB,aAA7D;;AAEA,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B,EAA/B,EAAmC;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,iBAA9B,EAAiD,KAAjD,CAAN;AAAA,aAAnC,EAAkG,iBAAlG;AACA;;AAEJ,eAAK,IAAL;AACI,4CAAiB,WAAjB,EAA8B;AAAA,qBAAM,iCAAkB,SAAlB,EAA6B,iBAA7B,EAAgD,KAAhD,CAAN;AAAA,aAA9B,EAA4F,iBAA5F;AACA;;AACJ,eAAK,QAAL;AACI,8CAAgB,aAAhB,CAA8B,QAAQ,CAAC,KAAvC,EAA8C,WAA9C,EAA2D,SAA3D,EAAsE;AAAA,qBAAM,iCAAkB,MAAlB,EAA0B,iBAA1B,EAA6C,KAA7C,CAAN;AAAA,aAAtE,EAAiI,iBAAjI;AACA;;AACJ,eAAK,IAAL;AACI,sDAAoB,iBAApB,CAAsC,WAAtC,EAAmD;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,iBAA9B,EAAiD,KAAjD,CAAN;AAAA,aAAnD,EAAkH,iBAAlH;AACA;;AACJ,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,iBAA9B,EAAiD,KAAjD,CAAN;AAAA,aAA/B,EAA8F,iBAA9F;AACA;;AACJ,eAAK,OAAL;AACI,kBAAM,CAAC,KAAP;AACA;;AAEJ,eAAK,IAAL;AACI,gBAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CAAtB;;AACA,gBAAI,aAAJ,EAAmB;AACf,2BAAa,CAAC,KAAd;AACH;;AACD,gBAAM,eAAe,GAAG,QAAQ,CAAC,aAAT,CAAuB,sBAAvB,CAAxB;AACA,gBAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CAAtB;;AACA,gBAAI,eAAJ,EAAqB;AACjB,wBAAU,CAAC,YAAK;AACZ,+BAAe,CAAC,cAAhB,CAA+B;AAC3B,0BAAQ,EAAE,QADiB;AAE3B,uBAAK,EAAE;AAFoB,iBAA/B;AAIH,eALS,EAKP,CALO,CAAV;AAMH;;AACD,gBAAI,aAAJ,EAAmB;AACf,wCAAkB,aAAlB;AACH;;AACD;AAvCR;AA0CH;AACJ,KAnDO;;AAoDA,uBAAa,YAAK;AACtB,UAAI,MAAK,KAAL,CAAW,YAAX,KAA4B,IAAhC,EAAsC;AAClC,cAAK,QAAL,CAAc;AAAE,sBAAY,EAAE;AAAhB,SAAd;AACH,OAFD,MAGK,MAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,CAAC,MAAK,KAAL,CAAW;AAA5B,OAAd;AACR,KALO;;AAMA,oCAA0B,YAAK;AAAA,yBACe,MAAK,KADpB;AAAA,UAC3B,kBAD2B,gBAC3B,kBAD2B;AAAA,UACP,MADO,gBACP,MADO;AAAA,UACC,SADD,gBACC,SADD;AAEnC,gFAAmE,kBAAnE,6BAAwG,MAAxG,wBAA4H,SAA5H;AACH,KAHO;;AAKA,6BAAmB,YAAK;AAC5B,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,CAAC,MAAK,KAAL,CAAW;AAA5B,OAAd;;AACA,UAAM,SAAS,GAAG,MAAM,CAAC,IAAP,CAAY,MAAK,uBAAL,EAAZ,EAA4C,kBAA5C,EAAoE,sBAApE,CAAlB;;AACA,UAAI,MAAM,CAAC,KAAX,EAAkB;AAAE,iBAAS,CAAC,KAAV;AAAmB;;AACvC,aAAO,KAAP;AACH,KALO;;AArFJ,UAAK,KAAL,GAAa;AAAE,kBAAY,EAAE,IAAhB;AACT,sBAAgB,EAAC;AADR,KAAb;AAFJ;AAKC;;AAPL;AAAA;AAAA,wCAgBmB;AACf,cAAQ,CAAC,gBAAT,CAA0B,uBAA1B,EAAmD,KAAK,0BAAxD;AACD;AAlBH;AAAA;AAAA,2CAmBsB;AAClB,cAAQ,CAAC,mBAAT,CAA6B,uBAA7B,EAAsD,KAAK,0BAA3D;AACD;AArBH;AAAA;AAAA,6BA+FU;AAAA;;AAAA,yBAC2F,KAAK,KADhG;AAAA,UACM,eADN,gBACM,eADN;AAAA,UACuB,YADvB,gBACuB,YADvB;AAAA,UACqC,SADrC,gBACqC,SADrC;AAAA,UACgD,QADhD,gBACgD,QADhD;AAAA,UAC0D,IAD1D,gBAC0D,IAD1D;AAAA,UACgE,eADhE,gBACgE,eADhE;AAAA,UACiF,KADjF,gBACiF,KADjF;AAAA,UAEK,gBAFL,GAEyB,KAAK,KAF9B,CAEK,gBAFL;AAGF,UAAM,EAAE,GAAG,IAAI,CAAC,QAAL,CAAc,IAAd,CAAX;AACA,UAAM,EAAE,GAAG,IAAI,CAAC,QAAL,CAAc,IAAd,CAAX;AACA,UAAM,EAAE,GAAG,IAAI,CAAC,QAAL,CAAc,IAAd,CAAX;AACA,UAAM,EAAE,GAAG,IAAI,CAAC,QAAL,CAAc,IAAd,CAAX;AACA,UAAM,SAAS,GAAG,IAAI,CAAC,KAAL,CAAW,CAAX,EAAc,CAAd,CAAlB;AACA,UAAI,QAAQ,GAAG,WAAf;AACA,UAAI,MAAM,GAAG,eAAb;AACA,UAAI,MAAM,GAAG,gBAAb;AACA,UAAI,MAAM,GAAG,eAAb;AACA,UAAI,MAAM,GAAG,cAAb;AACA,UAAI,QAAQ,GAAG,KAAf;AACA,UAAI,aAAa,GAAG,aAApB;AACA,UAAI,OAAO,GAAG,QAAd;;AACA,UAAI,EAAJ,EAAQ;AACJ,gBAAQ,GAAG,YAAX;AACA,cAAM,GAAG,SAAT;AACA,cAAM,GAAG,UAAT;AACA,cAAM,GAAG,UAAT;AACA,gBAAQ,GAAG,MAAX;AACA,qBAAa,GAAG,eAAhB;AACA,eAAO,GAAG,UAAV;AACA,cAAM,GAAG,UAAT;AACH;;AACD,UAAI,EAAJ,EAAQ;AACJ,gBAAQ,GAAG,WAAX;AACA,cAAM,GAAG,SAAT;AACA,cAAM,GAAG,SAAT;AACA,cAAM,GAAG,QAAT;AACA,gBAAQ,GAAG,KAAX;AACA,qBAAa,GAAG,UAAhB;AACA,eAAO,GAAG,eAAV;AACA,cAAM,GAAG,UAAT;AACH;;AACD,UAAG,EAAH,EAAM;AACF,gBAAQ,GAAG,oBAAX;AACA,cAAM,GAAG,SAAT;AACA,cAAM,GAAG,UAAT;AACA,cAAM,GAAG,UAAT;AACA,gBAAQ,GAAG,MAAX;AACA,qBAAa,GAAG,WAAhB;AACA,eAAO,GAAG,WAAV;AACA,cAAM,GAAG,UAAT;AACH;;AACD,UAAM,iBAAiB,GAAG,eAAe,GAAG,YAAH,GAAkB,EAA3D;AACA,UAAM,aAAa,GAAG,qBAAqB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,QAAjB,EAAH,GAAiC,EAAlD,CAA3C;AACA,UAAM,SAAS,GAAG,EAAE,aAAM,OAAN,cAAiB,aAAjB,cAAsC,aAAtC,cAAuD,OAAvD,CAApB;AACA,UAAM,UAAU,GAAG,kCAAO,aAAa,CAAC,MAAd,GAAuB,CAAvB,GAA2B,SAA3B,GAAuC,aAA9C,CAAnB;AACA,UAAM,WAAW,GAAG,eAAe,GAAE,IAAF,GAAU;AAAM,UAAE,EAAC;AAAT,QAA7C;AACA,UAAM,MAAM,GAAG,QAAQ,GAAG,WAAH,GAAiB,UAAxC;AACA,UAAM,cAAc,GAAG,+BAAvB;AACA,aACI;AAAK,iBAAS,YAAK,cAAL,cAAuB,iBAAvB,cAA4C,SAA5C;AAAd,SACK,YAAY,IAAI;AAAQ,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA,SAAlB;AAAwD,iBAAS,EAAC,kBAAlE;AAAqF,UAAE,EAAC,sBAAxF;AAA+G,aAAK,EAAE;AAAtH,SACb;AAAM,iBAAS,EAAC;AAAhB,QADa,EAEb;AAAM,iBAAS,EAAC;AAAhB,SAAgD,aAAhD,CAFa,EAGZ,MAHY,CADrB,EAMI;AAAQ,aAAK,EAAE,MAAf;AAAuB,iBAAS,EAAC,kBAAjC;AAAoD,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA9D,QANJ,EAOI;AAAQ,aAAK,EAAE,MAAf;AAAuB,iBAAS,EAAC,kBAAjC;AAAoD,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA9D,QAPJ,EAQI;AAAQ,aAAK,EAAE,EAAE,GAAG,MAAH,GAAY,MAA7B;AAAqC,iBAAS,0BAAmB,EAAE,GAAG,IAAH,GAAU,IAA/B,CAA9C;AAAqF,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,EAAE,GAAE,IAAF,GAAS,IAAtC,CAAJ;AAAA;AAA/F,QARJ,EASI;AAAQ,aAAK,EAAE,QAAf;AAAyB,iBAAS,EAAC,sBAAnC;AAA0D,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,QAA3B,CAAJ;AAAA;AAApE,QATJ,EAUK,EAAE,IAAI,oBAAC,iCAAD,EAAgB;AAAC,iBAAS,EAAC,8FAAX;AAA+B,aAAK,EAAE;AAAtC,OAAhB,CAVX,EAWG,CAAC,EAAD,IAAQ;AAAQ,aAAK,EAAE,QAAf;AAAyB,iBAAS,EAAC,oBAAnC;AAAwD,eAAO,EAAE,KAAK;AAAtE,QAXX,EAYI,oBAAC,qDAAD,EAAqB;AAAC,oBAAY,EAAE,KAAK,KAAL,CAAW,YAA1B;AACjB,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,OAA3B,CAAJ;AAAA,SADO;AAEjB,qBAAa,EAAE,6CAAiB,MAAjB,EAAwB,SAAxB,CAFE;AAGjB,wBAAgB,EAAE;AAAA,iBAAM,MAAI,CAAC,gBAAL,EAAN;AAAA,SAHD;AAIjB,YAAI,EAAE;AAJW,OAArB,CAZJ,CADJ;AAoBH;AAxKL;;AAAA;AAAA,EAAmD,KAAK,CAAC,SAAzD;;AACW,+CAAiB,+BAAjB;AADE,6BAA6B,eADzC,YACyC,E,mCAAA,GAA7B,6BAA6B,CAA7B;AAAA;;AA2KA,4BAAoB,UAAC,YAAD,EAA0B;AACvD,MAAI,CAAC,YAAY,CAAC,SAAb,CAAuB,QAAvB,CAAgC,UAAhC,CAAD,IAAgD,CAAC,YAAY,CAAC,SAAb,CAAuB,QAAvB,CAAgC,UAAhC,CAArD,EAAkG;AAC9F,cAAU,CAAC,YAAK;AACZ;AACA,kBAAY,CAAC,SAAb,CAAuB,GAAvB,CAA2B,UAA3B;AACH,KAHS,EAGP,CAHO,CAAV;AAKH,GAND,MAOK,IAAI,YAAY,CAAC,SAAb,CAAuB,QAAvB,CAAgC,UAAhC,CAAJ,EAAiD;AAClD,cAAU,CAAC,YAAK;AACZ;AACA,kBAAY,CAAC,SAAb,CAAuB,OAAvB,CAA+B,UAA/B,EAA2C,UAA3C;AACH,KAHS,EAGP,CAHO,CAAV;AAKH,GANI,MAOA,IAAI,YAAY,CAAC,SAAb,CAAuB,QAAvB,CAAgC,UAAhC,CAAJ,EAAiD;AAClD,cAAU,CAAC,YAAK;AACZ;AACA,kBAAY,CAAC,SAAb,CAAuB,OAAvB,CAA+B,UAA/B,EAA2C,UAA3C;AACH,KAHS,EAGP,CAHO,CAAV;AAKH;AACJ,CAtBY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnNb;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAEa,0B;;;;;AAAb;AAAA;;AAAA;;;;AAGY,kCAAwB,UAAC,MAAD,EAAmB;AAAA,UACxC,KADwC,GAC/B,MAAK,KAD0B,CACxC,KADwC;;AAE/C,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,WAAW,GAAG,MAAM,CAAC,QAAP,CAAgB,IAApC;;AAEA,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B,EAA/B,EAAmC;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,aAA9B,EAA6C,KAA7C,CAAN;AAAA,aAAnC,EAA8F,aAA9F;AACA;;AAEJ,eAAK,IAAL;AACI,4CAAiB,WAAjB,EAA8B;AAAA,qBAAM,iCAAkB,SAAlB,EAA6B,aAA7B,EAA4C,KAA5C,CAAN;AAAA,aAA9B,EAAwF,aAAxF;AACA;;AAEJ,eAAK,QAAL;AACI,8CAAgB,aAAhB,CAA8B,QAAQ,CAAC,KAAvC,EAA8C,WAA9C,EAA2D,IAA3D,EAAiE;AAAA,qBAAM,iCAAkB,MAAlB,EAA0B,aAA1B,EAAyC,KAAzC,CAAN;AAAA,aAAjE,EAAwH,aAAxH;AACA;;AAEJ,eAAK,IAAL;AACI,sDAAoB,iBAApB,CAAsC,WAAtC,EAAmD;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,aAA9B,EAA6C,KAA7C,CAAN;AAAA,aAAnD,EAA8G,aAA9G;AACA;;AAEJ,eAAK,OAAL;AACI,kBAAM,CAAC,KAAP;AACA;;AAEJ,eAAK,IAAL;AACI,gBAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CAAtB;;AACA,gBAAI,aAAJ,EAAmB;AACf,2BAAa,CAAC,KAAd;AACH;;AACD,gBAAM,eAAe,GAAG,QAAQ,CAAC,aAAT,CAAuB,uBAAvB,KAAmD,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CAA3E;AAEA,sBAAU,CAAC,YAAK;AACZ,6BAAe,CAAC,cAAhB,CAA+B;AAC3B,wBAAQ,EAAE,QADiB;AAE3B,qBAAK,EAAE;AAFoB,eAA/B;AAIH,aALS,EAKP,CALO,CAAV;AAMA;AAlCR;AAqCH;AACJ,KA3CO;;AAHZ;AAmEC;;;;6BAnBS;AAAA;;AACF,UAAM,QAAQ,GAAG,WAAjB;AACA,UAAM,MAAM,GAAG,eAAf;AACA,UAAM,MAAM,GAAG,gBAAf;AACA,UAAM,MAAM,GAAG,eAAf;AACA,UAAM,SAAS,GAAG,MAAlB;AACA,UAAM,WAAW,GAAG,iBAApB;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,aAAK,EAAE,MAAf;AAAuB,iBAAS,EAAC,kBAAjC;AAAoD,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA9D,QADJ,EAEI;AAAQ,aAAK,EAAE,MAAf;AAAuB,iBAAS,EAAC,kBAAjC;AAAoD,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA9D,QAFJ,EAGI;AAAQ,aAAK,EAAE,MAAf;AAAuB,iBAAS,EAAC,kBAAjC;AAAoD,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA9D,QAHJ,EAII;AAAQ,aAAK,EAAE,SAAf;AAA0B,iBAAS,EAAC,qBAApC;AAA0D,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,OAA3B,CAAJ;AAAA;AAApE,QAJJ,EAKI;AAAQ,aAAK,EAAE,QAAf;AAAyB,iBAAS,EAAC,sBAAnC;AAA0D,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,QAA3B,CAAJ;AAAA;AAApE,QALJ,EAMI;AAAQ,aAAK,EAAE,WAAf;AAA4B,iBAAS,EAAC,kBAAtC;AAAyD,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAAnE,QANJ,CADJ;AAUH;;;;EAlE2C,KAAK,CAAC,S;;AAC3C,4CAAiB,4BAAjB;AADX,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;IAiBa,8B;;;;;AAGT,0CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb;;AAuEI,0BAAgB,UAAC,cAAD,EAA0B,YAA1B,EAAkD;AACtE,YAAK,QAAL,CAAc;AACV,oBAAY,oBACL,MAAK,KAAL,CAAW,YADN,EACkB;AAC1B,oBAAU,EAAE,cAAc,IAAK,CAAC,YAApB,GAAmC,QAAnC,GAA8C,SADhC;AAE1B,iBAAO,EAAE,cAAc,IAAI,CAAC,YAAnB,GAAkC,CAAlC,GAAsC;AAFrB,SADlB;AADF,OAAd;AAOH,KARO,CAxES,CAEb;;;AACA,QAAI,cAAJ,EAAoB;AAChB,YAAK,cAAL,GAAsB,IAAI,cAAJ,CAAmB,iBAAO;AAAA,eAAI,OAAO,CAAC,OAAR,CAAgB,WAAC,EAAG;AACpE,gBAAK,sBAAL,CAA4B,CAAC,CAAC,WAAF,CAAc,MAA1C;AACH,SAFmD,CAAJ;AAAA,OAA1B,CAAtB;AAGH;;AAGD,UAAK,KAAL,GAAa;AACT,kBAAY,EAAE;AACV,cAAM,EAAE,MADE;AAEV,kBAAU,EAAC,KAAK,CAAC,UAAN,GAAmB,SAAnB,GAA+B,QAFhC;AAGV,eAAO,EAAE,CAHC;AAIV,kBAAU,EAAE;AAJF;AADL,KAAb;AAVa;AAkBhB;;;;wCAKgB;AAAA;;AACb,UAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,cAAT,CAAwB,YAAxB,CAAtB;;AACA,UAAI,oBAAJ,EAA0B;AACtB,aAAK,oBAAL,GAA4B,IAAI,oBAAJ,CAAyB,iBAAO,EAAG;AAC3D,iBAAO,CAAC,OAAR,CAAgB,eAAK,EAAG;AACpB,kBAAI,CAAC,aAAL,CAAmB,KAAK,CAAC,cAAzB,EAAyC,YAAzC;AACH,WAFD;AAGH,SAJ2B,CAA5B;AAKH;;AACD,UAAM,qBAAqB,GAAI,QAAQ,CAAC,sBAAT,CAAgC,cAAhC,EAAgD,CAAhD,KAAsD,QAAQ,CAAC,sBAAT,CAAgC,uBAAhC,EAAyD,CAAzD,CAArF;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,sBAAT,CAAgC,+BAAhC,EAAiE,CAAjE,CAAtB;AACA,UAAM,gCAAgC,GAAG,qBAAqB,CAAC,qBAAtB,GAA8C,GAA9C,GAAoD,aAAa,CAAC,qBAAd,GAAsC,GAA1F,GAAgG,MAAM,CAAC,WAAhJ;AACA,WAAK,cAAL,CAAoB,OAApB,CAA4B,qBAA5B;AACA,UAAO,UAAU,GAAE,QAAQ,CAAC,cAAT,CAAwB,YAAxB,KAAyC,QAAQ,CAAC,cAAT,CAAwB,gBAAxB,CAAzC,IAAsF,QAAQ,CAAC,cAAT,CAAwB,gBAAxB,CAAzG;AACA,WAAK,oBAAL,CAA0B,OAA1B,CAAkC,YAAY,GAAG,UAAH,GAAgB,QAAQ,CAAC,cAAT,CAAwB,wBAAxB,CAA9D;AACA,WAAK,QAAL,CAAc;AACV,oBAAY,oBACL,KAAK,KAAL,CAAW,YADN,EACkB;AAC1B,aAAG,EAAE,YAAY,GAAG,KAAH,GAAW,gCAAgC,GAAG;AADrC,SADlB;AADF,OAAd;AAMH;;;2CAEmB;AAChB,UAAI,KAAK,cAAT,EAAyB;AACrB,aAAK,cAAL,CAAoB,UAApB;AACA,aAAK,cAAL,GAAsB,IAAtB;AACH;AACJ;;;2CAE8B,M,EAAc;AACjD,UAAM,UAAU,GAAG,QAAQ,CAAC,sBAAT,CAAgC,+BAAhC,EAAiE,CAAjE,KAClB,CAAC,QAAQ,CAAC,sBAAT,CAAgC,qBAAhC,IACF,QAAQ,CAAC,sBAAT,CAAgC,qBAAhC,EAAuD,CAAvD,EAA0D,qBAA1D,GAAkF,MADhF,GACyF,CAD1F,KAEA,QAAQ,CAAC,sBAAT,CAAgC,cAAhC,IACD,QAAQ,CAAC,sBAAT,CAAgC,cAAhC,EAAgD,CAAhD,EAAmD,qBAAnD,GAA2E,MAD1E,GACmF,CAHnF,KAIA,QAAQ,CAAC,sBAAT,CAAgC,kBAAhC,IACD,QAAQ,CAAC,sBAAT,CAAgC,kBAAhC,EAAoD,CAApD,EAAuD,qBAAvD,GAA+E,MAD9E,GACuF,CALvF,CADD;AAOA,UAAI,cAAc,GAAG,QAAQ,CAAC,sBAAT,CAAgC,2BAAhC,EAA6D,CAA7D,KAAoE,QAAQ,CAAC,sBAAT,CAAgC,2BAAhC,EAA6D,CAA7D,EAAgE,qBAAhE,GAAwF,MAAjL;AACA,UAAM,sBAAsB,GAAG,UAAU,GAAG,UAAH,GAAgB,cAAc,GAAG,cAAH,GAAoB,MAA3F;AACA,UAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,cAAT,CAAwB,YAAxB,CAAtB;AACA,WAAK,QAAL,CAAc;AACF,oBAAY,oBACL,KAAK,KAAL,CAAW,YADN,EACkB;AAC1B,gBAAM,EAAE,YAAY,aAAM,sBAAN,oBAAsC,MAAtC;AADM,SADlB;AADV,OAAd;AAMK;;;6BAYK;AAAA,UACM,YADN,GACuB,KAAK,KAD5B,CACM,YADN;AAEF,aACI;AAAK,iBAAS,EAAC,wCAAf;AAAwD,UAAE,EAAC,wCAA3D;AAAoG,aAAK,EAAE;AAA3G,SACI,oBAAC,yDAAD,EAA8B,kBAAK,KAAK,KAAV,EAAe;AAAE,uBAAe;AAAjB,OAAf,CAA9B,CADJ,CADJ;AAKH;;;;EA5F+C,KAAK,CAAC,S;;AAC/C,gDAAiB,gCAAjB;AADX,wE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBA;;AACA;;AAEA,mBAAO,CAAC,mCAAD,CAAP;;AACA,IAAM,YAAY,GAAG,mBAAO,CAAC,kDAAD,CAA5B;;AAcA,IAAa,yBAAb;AAAA;AAAA;AAAA;;AAGI,qCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,mGAAM,KAAN;;AAOI,+BAAqB,YAAK;AAC9B,YAAK,QAAL,CAAc;AACV,wBAAgB,EAAE;AADR,OAAd;AAGH,KAJO;;AAOR,+BAAqB,YAAK;AACtB,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,CAAC,MAAK,KAAL,CAAW;AAAhC,OAAd;AACH,KAFD;;AAKA,2CAAiC,YAAK;AAAA,wBACK,MAAK,KADV;AAAA,UAC1B,cAD0B,eAC1B,cAD0B;AAAA,UACV,GADU,eACV,GADU;AAAA,UACL,KADK,eACL,KADK;AAAA,UAE1B,gBAF0B,GAEL,MAAK,KAFA,CAE1B,gBAF0B;AAGlC,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC,mBAAhB;AAAoC,eAAO,EAAE,MAAK;AAAlD,QADJ,EAEI;AAAM,iBAAS,EAAC,eAAhB;AAAgC,eAAO,EAAE;AAAA,iBAAM,OAAO,CAAC,IAAR,EAAN;AAAA;AAAzC,QAFJ,CADJ,EAMK,gBAAgB,IAAI;AAAK,iBAAS,EAAC;AAAf,SACjB;AAAQ,eAAO,EAAE;AAAA,iBAAM,CAAC,4BAAD,GAAiB,iCAAkB,GAAlB,EAAuB;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,iBAA9B,EAAiD,KAAjD,CAAN;AAAA,WAAvB,EAAsF,iBAAtF,CAAjB,GAA4H,IAAlI;AAAA,SAAjB;AAAyJ,iBAAS,EAAC;AAAnK,QADiB,EAEjB;AAAQ,eAAO,EAAE;AAAA,iBAAM,CAAC,4BAAD,GAAiB,iCAAkB,GAAlB,EAAuB,KAAvB,EAA8B;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,iBAA9B,EAAiD,KAAjD,CAAN;AAAA,WAA9B,EAA6F,iBAA7F,CAAjB,GAAmI,IAAzI;AAAA,SAAjB;AAAgK,iBAAS,EAAC;AAA1K,QAFiB,EAGjB;AAAQ,eAAO,EAAE;AAAA,iBAAM,CAAC,4BAAD,GAAiB,gCAAiB,GAAjB,EAAsB;AAAA,mBAAM,iCAAkB,SAAlB,EAA6B,iBAA7B,EAAgD,KAAhD,CAAN;AAAA,WAAtB,EAAoF,iBAApF,CAAjB,GAA0H,IAAhI;AAAA,SAAjB;AAAuJ,iBAAS,EAAC;AAAjK,QAHiB,EAIjB;AAAQ,eAAO,EAAE;AAAA,iBAAM,CAAC,4BAAD,GAAiB,6BAAc,KAAd,EAAqB,WAArB,EAAiC,GAAjC,EAAsC;AAAA,mBAAM,iCAAkB,MAAlB,EAA0B,iBAA1B,EAA6C,KAA7C,CAAN;AAAA,WAAtC,EAAiG,iBAAjG,CAAjB,GAAuI,IAA7I;AAAA,SAAjB;AAAoK,iBAAS,EAAC;AAA9K,QAJiB,CANzB,CADJ;AAeH,KAlBD;;AAoBA,yCAA+B,YAAK;AAAA,yBACO,MAAK,KADZ;AAAA,UACxB,cADwB,gBACxB,cADwB;AAAA,UACR,GADQ,gBACR,GADQ;AAAA,UACH,KADG,gBACH,KADG;AAAA,UAExB,gBAFwB,GAEH,MAAK,KAFF,CAExB,gBAFwB;AAGhC,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC,mBAAhB;AAAoC,eAAO,EAAE,MAAK;AAAlD,QADJ,EAEI;AAAG,YAAI,EAAC,OAAR;AAAiB,aAAK,EAAC;AAAvB,SACA;AAAM,iBAAS,EAAC;AAAhB,QADA,CAFJ,CADJ,EAQI;AAAK,iBAAS,gCAAyB,gBAAgB,GAAG,SAAH,GAAc,EAAvD;AAAd,SACY;AAAG,YAAI,EAAC,UAAR;AAAkB,uBAAa;AAA/B,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CADZ,EAIY;AAAG,YAAI,EAAC,UAAR;AAAkB,uBAAc;AAAhC,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CAJZ,EAOY;AAAG,YAAI,EAAC,UAAR;AAAkB,uBAAa;AAA/B,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CAPZ,EAUY;AAAG,YAAI,EAAC,MAAR;AAAc,uBAAa;AAA3B,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CAVZ,CARJ,CADJ;AAyBH,KA5BD;;AAgCA,6CAAmC,YAAK;AAAA,yBACG,MAAK,KADR;AAAA,UAC5B,cAD4B,gBAC5B,cAD4B;AAAA,UACZ,GADY,gBACZ,GADY;AAAA,UACP,KADO,gBACP,KADO;AAEpC,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,eAAO,EAAE;AAAA,iBAAM,CAAC,4BAAD,GAAiB,iCAAkB,GAAlB,EAAuB,KAAvB,EAA8B;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,oBAA9B,EAAoD,KAApD,CAAN;AAAA,WAA9B,EAAgG,oBAAhG,CAAjB,GAAyI,IAA/I;AAAA,SAAjB;AAAsK,iBAAS,EAAC;AAAhL,QADJ,EAEI;AAAQ,eAAO,EAAE;AAAA,iBAAM,CAAC,4BAAD,GAAiB,gCAAiB,GAAjB,EAAsB;AAAA,mBAAM,iCAAkB,SAAlB,EAA6B,oBAA7B,EAAmD,KAAnD,CAAN;AAAA,WAAtB,EAAuF,oBAAvF,CAAjB,GAAgI,IAAtI;AAAA,SAAjB;AAA6J,iBAAS,EAAC;AAAvK,QAFJ,EAGI;AAAQ,eAAO,EAAE;AAAA,iBAAM,CAAC,4BAAD,GAAiB,6BAAc,KAAd,EAAqB,SAArB,EAAgC,GAAhC,EAAqC;AAAA,mBAAM,iCAAkB,MAAlB,EAA0B,oBAA1B,EAAgD,KAAhD,CAAN;AAAA,WAArC,EAAmG,oBAAnG,CAAjB,GAA4I,IAAlJ;AAAA,SAAjB;AAAyK,iBAAS,EAAC;AAAnL,QAHJ,EAII;AAAQ,eAAO,EAAE;AAAA,iBAAM,CAAC,4BAAD,GAAiB,iCAAkB,GAAlB,EAAuB;AAAA,mBAAM,iCAAkB,MAAlB,EAA0B,oBAA1B,EAAgD,KAAhD,CAAN;AAAA,WAAvB,EAAqF,oBAArF,CAAjB,GAA8H,IAApI;AAAA,SAAjB;AAA2J,iBAAS,EAAC;AAArK,QAJJ,CADJ;AAQH,KAVD;;AAtEI,UAAK,KAAL,GAAa;AACT,sBAAgB,EAAE;AADT,KAAb;AAFa;AAMhB;;AATL;AAAA;AAAA,6BAuFU;AAAA,yBACqC,KAAK,KAD1C;AAAA,UACM,cADN,gBACM,cADN;AAAA,UACsB,GADtB,gBACsB,GADtB;AAAA,UAC2B,KAD3B,gBAC2B,KAD3B;AAAA,UAEM,gBAFN,GAE2B,KAAK,KAFhC,CAEM,gBAFN;;AAIF,UAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AACd,2BADc,GACF;AAAE,uBAAG,EAAE,GAAP;AAAY,yBAAK,EAAE;AAAnB,mBADE;AAAA;AAAA;AAAA,yBAIV,SAAS,CAAC,KAAV,CAAgB,SAAhB,CAJU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAMhB,yBAAO,CAAC,GAAR,CAAY,6BAAZ;;AANgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAH;;AAAA,wBAAf,eAAe;AAAA;AAAA;AAAA,SAArB;;AAUA,cAAQ,cAAR;AACI,aAAK,WAAL;AACI,iBAAO,oBAAC,KAAK,8BAAN,EAAoC,IAApC,CAAP;;AACJ,aAAK,SAAL;AACI,iBAAO,oBAAC,KAAK,gCAAN,EAAsC,IAAtC,CAAP;;AACJ,aAAK,WAAL;AACI,iBAAO,oBAAC,KAAK,4BAAN,EAAkC,IAAlC,CAAP;;AACJ;AACI,iBAAO,oBAAC,KAAK,gCAAN,EAAsC,IAAtC,CAAP;AARR;AAUH;AA/GL;;AAAA;AAAA,EAA+C,KAAK,CAAC,SAArD;;AACkB,2CAAiB,qCAAjB;AADL,yBAAyB,eADrC,YACqC,E,yCAAA,GAAzB,yBAAyB,CAAzB;AAAA,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBb;;AAEA,mBAAO,CAAC,mCAAD,CAAP;;IAgBa,qB;;;;;AAAb;AAAA;;AAAA;;;;AAEY,wBAAc,YAAK;AACvB,YAAK,KAAL,CAAW,YAAX,CAAwB,WAAxB,IAAuC,EAAvC;AACH,KAFO;;AAIA,qBAAW,YAAK;AACpB,YAAK,KAAL,CAAW,YAAX,CAAwB,WAAxB,IAAuC,EAAvC;AACH,KAFO;;AAIA,8BAAoB,UAAC,CAAD,EAAM;AAC9B,YAAK,KAAL,CAAW,QAAX,CAAoB,MAAM,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,CAA1B;AACH,KAFO;;AAVZ;AAyCC;;;;6BA3BgB;AAAA,wBAC8F,KAAK,KADnG;AAAA,UACD,cADC,eACD,cADC;AAAA,UACe,eADf,eACe,eADf;AAAA,UACgC,YADhC,eACgC,YADhC;AAAA,UAC8C,SAD9C,eAC8C,SAD9C;AAAA,UACyD,iBADzD,eACyD,iBADzD;AAAA,UAC4E,aAD5E,eAC4E,aAD5E;AAET,UAAM,UAAU,GAAG,CAAC,KAAK,KAAL,CAAW,YAAX,GAA0B,CAA3B,IAAgC,GAAhC,IAAuC,KAAK,KAAL,CAAW,eAAX,GAA6B,CAApE,CAAnB;AACA,UAAM,eAAe,8CAAuC,UAAvC,0BAAiE,UAAjE,OAArB;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,8BAAjB;AAAiD,eAAO,EAAE,KAAK,WAA/D;AAA0E,sBAAa;AAAvF,QADJ,EAGI;AAAQ,iBAAS,kDAA2C,aAAa,IAAI,SAAjB,GAA6B,8CAA7B,GAA8E,EAAzH,CAAjB;AAAgJ,eAAO,EAAE,iBAAzJ;AAA0K,sBAAc,cAAc,GAAG,OAAH,GAAa;AAAnN,SACI;AAAK,iBAAS,yDAAkD,cAAc,GAAG,OAAH,GAAa,EAA7E;AAAd,QADJ,CAHJ,EAOI;AAAQ,iBAAS,0BAAjB;AAA6C,eAAO,EAAE,KAAK,QAA3D;AAAmE,sBAAa;AAAhF,QAPJ,CADJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAO,YAAI,EAAC,OAAZ;AAAoB,iBAAS,EAAC,UAA9B;AAAyC,WAAG,EAAE,eAA9C;AAA+D,aAAK,EAAE,YAAtE;AAAoF,gBAAQ,EAAE,KAAK,iBAAnG;AAAsH,aAAK,EAAE;AAAE,oBAAU,EAAE;AAAd;AAA7H,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA4B,+BAAa,eAAb,CAA5B,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA4B,+BAAa,YAAb,CAA5B,CAFJ,CAFJ,CAXJ,CADJ;AAqBH;;;;EAxCsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBA;;AACA;;IAUa,8B;;;;;;;;;;;;;6BAEH;AAAA,wBAEiD,KAAK,KAFtD;AAAA,UAEM,QAFN,eAEM,QAFN;AAAA,UAEgB,eAFhB,eAEgB,eAFhB;AAAA,UAEiC,WAFjC,eAEiC,WAFjC;AAGF,UAAM,2BAA2B,GAAG;AAAE,aAAK,EAAG,WAAW,CAAC,KAAtB;AAA6B,cAAM,EAAE,WAArC;AAAkD,aAAK,EAAE,WAAW,CAAC,QAAZ,CAAqB;AAA9E,OAApC;AACA,aACI,oBAAC,iCAAD,EAAgB;AACZ,gBAAQ,EAAE,QADE;AAEZ,uBAAe,EAAE,eAFL;AAGZ,gBAAQ,EAAE;AAAA,iBAAM,IAAN;AAAA,SAHE;AAIZ,mBAAW,EAAE,WAJD;AAKZ,mCAA2B,EAAE,2BALjB;AAMZ,8BAAsB,EAAE,gCAAC,KAAD;AAAA,iBAAY,oBAAC,6CAAD,EAAsB,kBAAK,KAAL,CAAtB,CAAZ;AAAA;AANZ,OAAhB,CADJ;AAUH;;;;EAhB+C,KAAK,CAAC,S;;AACxC,gDAAiB,gCAAjB;AADlB,wE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAEa,gC;;;;;AAAb;AAAA;;AAAA;;;;AAGY,kCAAwB,UAAC,MAAD,EAAmB;AAAA,UACxC,KADwC,GAC/B,MAAK,KAD0B,CACxC,KADwC;;AAE/C,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,qBAAvB,CAArB;AACA,YAAM,WAAW,GAAI,YAAY,IAAI,YAAY,CAAC,IAA9B,IAAuC,MAAM,CAAC,QAAP,CAAgB,IAA3E;;AAEA,gBAAQ,MAAR;AACI,eAAK,UAAL;AACI,6CAAkB,WAAlB,EAA+B,EAA/B,EAAmC;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,aAA9B,EAA6C,KAA7C,CAAN;AAAA,aAAnC,EAA8F,aAA9F;AACA;;AAEJ,eAAK,UAAL;AACI,sDAAoB,iBAApB,CAAsC,WAAtC,EAAmD;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,aAA9B,EAA6C,KAA7C,CAAN;AAAA,aAAnD,EAA8G,aAA9G;AACA;;AAEJ,eAAK,QAAL;AACI,8CAAgB,aAAhB,CAA8B,QAAQ,CAAC,KAAvC,EAA8C,WAA9C,EAA2D,IAA3D,EAAiE;AAAA,qBAAM,iCAAkB,MAAlB,EAA0B,aAA1B,EAAyC,KAAzC,CAAN;AAAA,aAAjE,EAAwH,aAAxH;AACA;;AAEJ,eAAK,SAAL;AACI,4CAAiB,WAAjB,EAA8B;AAAA,qBAAM,iCAAkB,SAAlB,EAA6B,aAA7B,EAA4C,KAA5C,CAAN;AAAA,aAA9B,EAAwF,aAAxF;AACA;AAfR;AAiBH;AACJ,KAxBO;;AAHZ;AAuCC;;;;6BAVS;AAAA;;AACF,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,kBAAf;AAAkC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,UAA3B,CAAJ;AAAA;AAA5C,QADJ,EAEI;AAAK,iBAAS,EAAC,cAAf;AAA8B,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,QAA3B,CAAJ;AAAA;AAAxC,QAFJ,EAGI;AAAK,iBAAS,EAAC,iBAAf;AAAiC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,SAA3B,CAAJ;AAAA;AAA3C,QAHJ,EAII;AAAK,iBAAS,EAAC,kBAAf;AAAkC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,UAA3B,CAAJ;AAAA;AAA5C,QAJJ,CADJ;AAQH;;;;EAtCiD,KAAK,CAAC,S;;AAC1C,kDAAiB,kCAAjB;AADlB,4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJA;;IAmBa,sC;;;;;AACT,kDAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,gHAAM,KAAN;;AAYI,sBAAY,YAAK;AACrB,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;AACH,KAFO;;AAGA,sBAAY,YAAK;AACrB,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;AACH,KAFO;;AAdJ,UAAK,KAAL,GAAa;AACT,kBAAY,EAAE,KADL;AAET,mBAAa,EAAE;AAFN,KAAb;AAFa;AAMhB;;;;wCACgB;AACb,UAAI,MAAM,IAAI,MAAM,CAAC,UAAjB,IAA+B,MAAM,CAAC,UAAP,CAAkB,IAArD,EAA2D;AACvD,aAAK,QAAL,CAAc;AAAE,sBAAY,EAAE;AAAhB,SAAd;AACH;AACJ;;;6BASK;AAAA,wBAEoE,KAAK,KAFzE;AAAA,UACM,QADN,eACM,QADN;AAAA,UACgB,aADhB,eACgB,aADhB;AAAA,0CAC+B,KAD/B;AAAA,UACwC,YADxC,qBACwC,YADxC;AAAA,UACsD,QADtD,qBACsD,QADtD;AAAA,UACgE,WADhE,qBACgE,WADhE;AAAA,UAC+E,SAD/E,eAC+E,SAD/E;AAAA,UAC0F,MAD1F,eAC0F,MAD1F;AAAA,UAEE,aAFF,eAEE,aAFF;AAAA,UAEiB,YAFjB,eAEiB,YAFjB;AAAA,UAE+B,cAF/B,eAE+B,cAF/B;AAAA,UAE+C,iBAF/C,eAE+C,iBAF/C;AAAA,wBAGsC,KAAK,KAH3C;AAAA,UAGM,aAHN,eAGM,aAHN;AAAA,UAGqB,YAHrB,eAGqB,YAHrB;AAIF,UAAM,WAAW,GAAG,OAAO,MAAP,KAAkB,WAAlB,aAAmC,MAAM,CAAC,UAA1C,UAA2D,QAA/E;;AACA,UAAI,QAAQ,KAAK,SAAjB,EAA4B;AACxB,eACI;AAAK,mBAAS,EAAC,oCAAf;AAAoD,eAAK,EAAE;AAAE,6BAAiB;AAAnB;AAA3D,WACI,oBAAC,gBAAD,EAAU;AAAC,eAAK,EAAE,SAAR;AACN,oBAAU,EAAE,QADN;AAEN,uBAAa,EAAE,aAFT;AAGN,mBAAS,EAAE,IAHL;AAIN,gBAAM,EAAE,MAJF;AAKN,uBAAa,EAAE,aALT;AAMN,uBAAa,EAAE,aANT;AAON,mBAAS,EAAE,KAAK,SAPV;AAQN,0BAAgB,EAAE,KAAK,SARjB;AASN,sBAAY,EAAE,YATR;AAUN,sBAAY,EAAE,YAVR;AAWN,wBAAc,EAAE,cAXV;AAYN,2BAAiB,EAAE;AAZb,SAAV,CADJ,EAeI;AAAK,mBAAS,EAAC,OAAf;AAAuB,eAAK,EAAE,YAA9B;AAA4C,eAAK,EAAE;AAC/C,2BAAe,kBAAU,QAAV,QADgC;AACR,4BAAgB,EAAE;AADV;AAAnD,WAGI;AAAM,mBAAS,EAAC;AAAhB,WAA6B,WAA7B,CAHJ,CAfJ,CADJ;AAuBH,OAxBD,MAyBK,OAAO,oBAAC,gBAAD,EAAU;AAAC,aAAK,EAAE,SAAR;AAClB,kBAAU,EAAE,QADM;AACI,qBAAa,EAAE,aADnB;AAElB,iBAAS,EAAE,IAFO;AAED,cAAM,EAAE,MAFP;AAGlB,qBAAa,EAAE,aAHG;AAIlB,qBAAa,EAAE,aAJG;AAKlB,iBAAS,EAAE,KAAK,SALE;AAMlB,wBAAgB,EAAE,KAAK,SANL;AAOlB,oBAAY,EAAE,YAPI;AAQlB,oBAAY,EAAE,YARI;AASlB,sBAAc,EAAE,cATE;AAUlB,yBAAiB,EAAE;AAVD,OAAV,CAAP;AAcR;;;;EAjEuD,KAAK,CAAC,S;;AAoBhD,wDAAiB,wCAAjB;AApBlB,wF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAca,a;;;;;;;;;;;;;6BAGH;AAAA,wBAC0D,KAAK,KAD/D;AAAA,UACM,YADN,eACM,YADN;AAAA,UACoB,cADpB,eACoB,cADpB;AAAA,UACoC,iBADpC,eACoC,iBADpC;AAEF,UAAM,SAAS,2BAAoB,KAAK,KAAL,CAAW,SAA/B,CAAf;AACA,UAAI,YAAJ,CAHE,CAIF;;AACA,UAAM,YAAY,GAAG,OAAO,MAAP,IAAiB,WAAjB,IAAgC,MAAM,CAAC,UAAvC,IAAqD,MAAM,CAAC,UAAP,CAAkB,YAA5F;;AAGA,UAAI,KAAK,KAAL,CAAW,aAAf,EAA8B;AAC1B,oBAAY,GAAG,KAAK,KAAL,CAAW,MAAX,KAAsB,OAAtB,GAAgC,+BAAhC,GAAkE,2BAAjF,CAD0B,CAE1B;AACH,OAHD,MAIK;AACD,oBAAY,GAAG,2BAAf,CADC,CAED;AACH,OAfC,CAgBF;;;AACA,aACI;AAAK,iBAAS,EAAE,SAAhB;AAA2B,UAAE,EAAE,KAAK,KAAL,CAAW;AAA1C,SAEI,oBAAC,8BAAD,EAAmB;AAAC,iBAAS,EAAC,WAAX;AAAuB,YAAI,EAAE;AAA7B,OAAnB,EACI;AAAK,WAAG,EAAE;AAAV,QADJ,EAEI,iEAFJ,CAFJ,EAMK,KAAK,KAAL,CAAW,WAAX,GAAyB;AAAK,iBAAS,EAAC;AAAf,SAAiC,oBAAC,8BAAD,EAAmB;AAAC,iBAAS,EAAC,oBAAX;AAAgC,YAAI,EAAE;AAAtC,OAAnB,CAAjC,EACrB,KAAK,KAAL,CAAW,QADU,EACM,GADN,CAAzB,GAEG,oBAAC,8BAAD,EAAmB;AAAC,iBAAS,EAAC,SAAX;AAAqB,YAAI,EAAE;AAA3B,OAAnB,EACG;AAAK,WAAG,EAAC;AAAT,QADH,CARR,EAYI;AAAK,iBAAS,EAAC;AAAf,SACD,YAAY,GAAE,oBAAC,+BAAD,EAAe;AAAC,8BAAsB,EAAE,IAAzB;AAA+B,yBAAiB,EAAE;AAAlD,OAAf,CAAF,GAA2F,oBAAC,iDAAD,EAAwB;AAAC,qBAAa,EAAE,KAAK,KAAL,CAAW;AAA3B,OAAxB,CADtG,CAZJ,CADJ;AAkBH;;;;EAtC8B,KAAK,CAAC,S;;AAC9B,6BAAe;AAAE,WAAS,EAAE,EAAb;AAAiB,aAAW,EAAE;AAA9B,CAAf;AADX,sC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;;AACA;;AACA;;IAoBa,kB;;;;;AACT;AAAA;;AAAA;;AACI;;AAkBI,mCAAyB;AAAA,aAAM,QAAQ,CAAC;AAAA,eAAM,MAAK,oBAAL,EAAN;AAAA,OAAD,EAAoC,GAApC,CAAd;AAAA,KAAzB;;AAEA,iCAAuB,YAAK;AAChC,UAAI,MAAM,IAAI,MAAM,CAAC,UAAjB,IAA+B,MAAM,CAAC,UAAP,CAAkB,IAArD,EAA2D;AACvD,cAAK,QAAL,CAAc;AAAE,wBAAc,EAAE;AAAlB,SAAd;AACH;AACJ,KAJO;;AAnBJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,KADD;AAET,oBAAc,EAAE;AAFP,KAAb;AAFJ;AAMC;;;;2CAI2B;AACxB,UAAM,SAAS,GAAG,QAAQ,CAAC,aAAT,CAAuB,0CAAvB,EAAmE,qBAAnE,GAA2F,GAA7G;;AACA,UAAI,SAAS,GAAG,CAAhB,EAAmB;AACf,aAAK,QAAL,CAAc;AAAE,kBAAQ,EAAE;AAAZ,SAAd;AACH,OAFD,MAEO;AACH,aAAK,QAAL,CAAc;AAAE,kBAAQ,EAAE;AAAZ,SAAd;AACH;AACJ;;;wCAUuB;AACpB,cAAQ,CAAC,gBAAT,CAA0B,QAA1B,EAAoC,KAAK,sBAAL,EAApC;AACA,WAAK,oBAAL;AACA,WAAK,oBAAL;AACH;;;2CAE0B;AACvB,cAAQ,CAAC,mBAAT,CAA6B,QAA7B,EAAuC,KAAK,sBAAL,EAAvC;AACH;;;6BAEK;AAAA,wBACwH,KAAK,KAD7H;AAAA,UACM,YADN,eACM,YADN;AAAA,UACoB,cADpB,eACoB,cADpB;AAAA,UACoC,SADpC,eACoC,SADpC;AAAA,UAC+C,MAD/C,eAC+C,MAD/C;AAAA,UACuD,UADvD,eACuD,UADvD;AAAA,UACmE,aADnE,eACmE,aADnE;AAAA,UACkF,cADlF,eACkF,cADlF;AAAA,UACkG,iBADlG,eACkG,iBADlG;AAAA,wBAEmC,KAAK,KAFxC;AAAA,UAEM,QAFN,eAEM,QAFN;AAAA,UAEgB,cAFhB,eAEgB,cAFhB;AAIF,aACI;AAAK,iBAAS,+BAAwB,QAAQ,GAAG,QAAH,GAAc,EAA9C;AAAd,SACI,oBAAC,uCAAD,EAAmB;AACf,iBAAS,EAAE,SADI;AAEf,cAAM,EAAE,MAFO;AAGf,kBAAU,EAAE,UAHG;AAIf,qBAAa,EAAE,aAJA;AAKf,sBAAc,EAAE,cALD;AAMf,sBAAc,EAAE,cAND;AAOf,oBAAY,EAAE,YAPC;AAQf,sBAAc,EAAE,cARD;AASf,yBAAiB,EAAE;AATJ,OAAnB,CADJ,EAaI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE;AAAP,OAAnB,EACI;AAAK,iBAAS,EAAC;AAAf,QADJ,CAbJ,EAiBI;AAAG,iBAAS,EAAC,aAAb;AAA2B,YAAI,EAAE;AAAjC,QAjBJ,CADJ;AAqBH;;;;EA/DmC,KAAK,CAAC,S;;AAS5B,oCAAiB,oBAAjB;AATlB,gD;;;;;;;;;;;;;;;;;;;;;;;ACtBA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AAEA;;AAYa,6BAAqB,UAAC,KAAD,EAAmC;AAAA,MACzD,YADyD,GACiD,KADjD,CACzD,YADyD;AAAA,MAC3C,cAD2C,GACiD,KADjD,CAC3C,cAD2C;AAAA,MAC3B,SAD2B,GACiD,KADjD,CAC3B,SAD2B;AAAA,MAChB,UADgB,GACiD,KADjD,CAChB,UADgB;AAAA,MACJ,cADI,GACiD,KADjD,CACJ,cADI;AAAA,MACY,cADZ,GACiD,KADjD,CACY,cADZ;AAAA,MAC2B,iBAD3B,GACiD,KADjD,CAC2B,iBAD3B;;AAAA,0BAEjC,iBAAkB,KAAlB,CAFiC;AAAA;AAAA,MAE1D,QAF0D;AAAA,MAEhD,WAFgD;;AAIjE,MAAM,QAAQ,GAAG,SAAX,QAAW,GAAK;AAClB,YAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,GAApB,cAA8B,MAAM,CAAC,OAArC;AACA,YAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,OAA/B;AACA,eAAW,CAAC,IAAD,CAAX;AACA,yBAAqB;AACxB,GALD;;AAOA,MAAM,SAAS,GAAG,SAAZ,SAAY,GAAK;AACnB,QAAM,OAAO,GAAG,QAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,GAApC;AACA,YAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,EAA/B;AACA,YAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,GAApB,GAA0B,EAA1B;AACA,UAAM,CAAC,QAAP,CAAgB,CAAhB,EAAmB,QAAQ,CAAC,OAAO,IAAI,GAAZ,CAAR,GAA2B,CAAC,CAA/C;AACA,eAAW,CAAC,KAAD,CAAX;AACA,yBAAqB;AACxB,GAPD;;AASA,MAAM,qBAAqB,GAAG,SAAxB,qBAAwB,GAAK;AAC/B,QAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,UAAM,UAAU,GAAG,QAAQ,GAAG,OAAH,GAAa,MAAxC;AACA,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,mBADW;AAElB,gBAAQ,EAAE,oBAFQ;AAGlB,cAAM,wBAAiB,UAAjB;AAHY,OAAtB;AAKH;AACJ,GAVD;;AAYA,MAAM,oBAAoB,GAAG,SAAvB,oBAAuB,GAAK;AAC9B,UAAM,aAAN,IAAyB,MAAM,aAAN,CAAoB,WAApB,EAAzB;AACA,UAAM,aAAN,IAAuB,MAAM,aAAN,QAAvB,IAAsD,MAAM,aAAN,SAA4B,QAA5B,EAAtD;AACH,GAHD;;AAKA,MAAM,YAAY,GAAG,OAAO,MAAP,IAAiB,WAAjB,IAAgC,MAAM,CAAC,UAAvC,IAAqD,MAAM,CAAC,UAAP,CAAkB,YAA5F;AACA,MAAM,gBAAgB,GAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,MAAM,CAAC,EAAvC,IAA6C,MAAM,CAAC,EAAP,CAAU,OAAvD,IAAmE,MAAM,CAAC,EAAP,CAAU,OAAV,CAAkB,WAAlB,EAA7F;AACA,MAAM,mBAAmB,GAAG,YAAY,GAAE,gBAAF,GAAqB,cAA7D;AAEA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC,aAAf;AAA6B,WAAO,EAAE;AAAtC,IADJ,EAGI;AAAK,aAAS,EAAE,UAAU,CAAC,UAAD,EAAa;AAAE,gBAAU;AAAZ,KAAb;AAA1B,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI,oBAAC,8BAAD,EAAmB;AAAC,aAAS,EAAC,YAAX;AAAwB,QAAI,EAAE;AAA9B,GAAnB,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KACI;AAAQ,MAAE,EAAC,cAAX;AAA0B,aAAS,EAAC,uBAApC;AACI,aAAS,EAAC,GADd;AACiB,uBAAiB,eADlC;AACkD,WAAO,EAAE;AAD3D,IADJ,EAKI;AAAQ,aAAS,EAAC,cAAlB;AAAiC,WAAO,EAAE;AAA1C,IALJ,CAFJ,CADJ,EAWK,YAAY,GAAG,oBAAC,+BAAD,EAAe;AAAC,0BAAsB,EAAE,IAAzB;AAA+B,qBAAiB,EAAE;AAAlD,GAAf,CAAH,GAA4F,oBAAC,+CAAD,EAAuB,IAAvB,CAX7G,EAaK,cAAc,KAAK,SAAnB,KAAiC,mBAAmB,IAAK,OAAO,MAAP,KAAiB,WAAjB,IAAgC,MAAM,CAAC,mBAAhG,KACG,oBAAC,8BAAD,EAAiB;AACb,aAAS,EAAC,aADG;AAEb,iBAAa,EAAE,cAFF;AAGb,iBAAa,EAAE;AAHF,GAAjB,CAdR,EAoBI;AAAI,aAAS,EAAC;AAAd,KACK,GAAG,CAAC,SAAD,EAAY,UAAC,IAAD,EAAO,CAAP,EAAY;AACxB,WACI;AAAI,SAAG,EAAE,CAAT;AAAY,eAAS,EAAE,UAAU,CAAC,UAAD,EAAa;AAAE,oBAAY,IAAI,CAAC,KAAL,KAAe;AAA7B,OAAb;AAAjC,OACI,oBAAC,4BAAD,EAAiB;AAAC,UAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,gBAAU,EAAE,IAAI,CAAC;AAAnC,KAAjB,EACI;AAAK,6BAAuB,EAAE;AAAE,cAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,MADJ,CADJ,CADJ;AAOH,GARG,CADR,CApBJ,EAgCI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAG,QAAI,EAAC,qCAAR;AAA8C,UAAM,EAAC,QAArD;AAA8D,MAAE,EAAC;AAAjE,KAA4E,uEAA5E,CADJ,CADJ,EAII;AAAK,aAAS,EAAC;AAAf,KACI;AAAG,QAAI,EAAC,6DAAR;AAAsE,UAAM,EAAC,QAA7E;AAAsF,MAAE,EAAC;AAAzF,2FADJ,EAII;AAAG,QAAI,EAAC,oCAAR;AAA6C,UAAM,EAAC,QAApD;AAA6D,MAAE,EAAC;AAAhE,mEAJJ,EAOI;AAAG,QAAI,EAAC,qCAAR;AAA8C,UAAM,EAAC,QAArD;AAA8D,MAAE,EAAC;AAAjE,+CAPJ,CAJJ,CAhCJ,EAkDI,oBAAC,8BAAD,EAAmB;AAAC,aAAS,EAAC,cAAX;AAA0B,QAAI,EAAE;AAAhC,GAAnB,EACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI,iEAFJ,CAlDJ,CADJ,EAyDI;AAAK,aAAS,EAAC,cAAf;AAA8B,WAAO,EAAE;AAAvC,IAzDJ,CAHJ,CADJ;AAiEH,CA1GY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBb;;AACA;;AACA;;AACA;;AACA,IAAM,YAAY,GAAG,mBAAO,CAAC,kDAAD,CAA5B;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AA4BA,IAAa,oBAAb;AAAA;AAAA;AAAA;;AACI,gCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,8FAAM,KAAN;;AAQI,+BAAqB,YAAK;AAC9B,OAAC,mBAAD,IAAa,MAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd,CAAb;AACH,KAFO;;AAiBA,6BAAmB,UAAC,CAAD,EAAM;AAC7B,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;AACH,KAFO;;AAIA,kCAAwB,YAAK;AACjC,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,UAAU,GAAG,MAAK,KAAL,CAAW,aAAX,GAA2B,OAA3B,GAAqC,MAAxD;AACA,cAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,cAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,eAAK,EAAE,mBADW;AAElB,kBAAQ,EAAE,oBAFQ;AAGlB,gBAAM,iCAA0B,UAA1B;AAHY,SAAtB;AAKH;AACJ,KAVO;;AAYA,uBAAa,YAAK;AACtB,YAAK,qBAAL;;AACA,YAAK,QAAL,CAAc,gBAAM,EAAG;AACnB,eAAO;AACH,uBAAa,EAAE,CAAC,MAAM,CAAC;AADpB,SAAP;AAGH,OAJD;AAMH,KARO;;AAWA,yCAA+B,YAAK;AACxC,YAAK,UAAL;;AACA,UAAI,CAAC,4BAAL,EAAoB;AAChB,YAAM,QAAQ,GAAG,MAAM,CAAC,QAAP,CAAgB,QAAjC;AACA,YAAM,MAAM,GAAG,0CAAf;AACA,YAAM,QAAQ,GAAG,uCAAjB;AACA,YAAM,SAAS,GAAG,wBAAS,QAAT,IAAqB,MAArB,GAA8B,QAAhD;AACA,cAAM,CAAC,IAAP,CAAY,SAAZ;AACH;AACJ,KATO;;AAWA,oCAA0B,YAAK;AACnC,YAAK,UAAL;;AACA,UAAI,CAAC,4BAAL,EAAoB;AAChB,YAAM,QAAQ,GAAG,MAAM,CAAC,QAAP,CAAgB,QAAjC;AACA,YAAM,MAAM,GAAG,4BAAf;AACA,YAAM,QAAQ,GAAG,6BAAjB;AACA,YAAM,SAAS,GAAG,wBAAS,QAAT,IAAqB,MAArB,GAA8B,QAAhD;AACA,cAAM,CAAC,IAAP,CAAY,SAAZ;AACH;AACJ,KATO;;AAWA,qCAA2B,YAAK;AACpC,YAAK,UAAL;;AACA,UAAI,CAAC,4BAAL,EAAoB;AAChB,YAAM,QAAQ,GAAG,MAAM,CAAC,QAAP,CAAgB,QAAjC;AACA,YAAM,MAAM,GAAG,8BAAf;AACA,YAAM,QAAQ,GAAG,+BAAjB;AACA,YAAM,SAAS,GAAG,wBAAS,QAAT,IAAqB,MAArB,GAA8B,QAAhD;AACA,cAAM,CAAC,IAAP,CAAY,SAAZ;AACH;AACJ,KATO;;AAUA,kCAAwB,YAAK;AACjC;AACA;;AACA,YAAK,QAAL,CAAc;AAAE,YAAI,EAAE;AAAR,OAAd;AACH,KAJO;;AASA,sCAA4B,YAAK;AACrC,YAAK,UAAL;;AACA,YAAK,QAAL,CAAc,gBAAM,EAAG;AACnB,iCACO,MADP,EACa;AACT,2BAAiB,EAAE;AADV,SADb;AAIH,OALD;AAMH,KARO;;AAUA,6BAAmB,YAAK;AAC5B,YAAK,QAAL,CAAc,gBAAM,EAAG;AACnB,iCACO,MADP,EACa;AACT,2BAAiB,EAAE;AADV,SADb;AAIH,OALD;AAMH,KAPO;;AAYA,4BAAkB,YAAK;AAC3B,YAAK,gBAAL;;AACA,YAAK,qBAAL;AACH,KAHO;;AAlHJ,UAAK,KAAL,GAAa;AACT,UAAI,EAAE,IADG;AAET,mBAAa,EAAE,KAFN;AAGT,uBAAiB,EAAE;AAHV,KAAb;AAFa;AAOhB;;AARL;AAAA;AAAA,wCAcqB;AACb,UAAI,MAAM,IAAI,MAAM,CAAC,UAAjB,IAA+B,MAAM,CAAC,UAAP,CAAkB,IAArD,EAA2D;AACvD,aAAK,QAAL,CAAc;AACV,cAAI,EAAE,MAAM,CAAC,UAAP,CAAkB;AADd,SAAd;AAGH;;AACD,OAAC,KAAK,KAAL,CAAW,QAAZ,IAAwB,QAAQ,CAAC,gBAAT,CAA0B,QAA1B,EAAoC,KAAK,gBAAzC,CAAxB;AACH;AArBL;AAAA;AAAA,2CAuBwB;AAChB,OAAC,KAAK,KAAL,CAAW,QAAZ,IAAwB,QAAQ,CAAC,mBAAT,CAA6B,QAA7B,EAAuC,KAAK,gBAA5C,CAAxB;AACH;AAzBL;AAAA;AAAA,6BA+HU;AAAA,wBACiD,KAAK,KADtD;AAAA,UACM,IADN,eACM,IADN;AAAA,UACY,aADZ,eACY,aADZ;AAAA,UAC2B,iBAD3B,eAC2B,iBAD3B;AAEF,UAAI,EAAE,GAAG,KAAK,KAAL,CAAW,QAAX,CAAoB;AACzB,YAAI,EAAJ,IADyB;AACnB,qBAAa,EAAb,aADmB;AACJ,yBAAiB,EAAjB,iBADI;AAEzB,kBAAU,EAAE,KAAK,UAFQ;AAGzB,+BAAuB,EAAE,KAAK,uBAHL;AAIzB,iCAAyB,EAAE,KAAK,yBAJP;AAKzB,oCAA4B,EAAE,KAAK,4BALV;AAMzB,wBAAgB,EAAE,KAAK,gBANE;AAOzB,uBAAe,EAAE,KAAK,eAPG;AAQzB,gCAAwB,EAAE,KAAK;AARN,OAApB,CAAT;AAUA,aAAO,EAAP;AACH;AA5IL;;AAAA;AAAA,EAA0C,KAAK,CAAC,SAAhD;;AAAa,oBAAoB,eADhC,YACgC,E,yCAAA,GAApB,oBAAoB,CAApB;AAAA,oD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCb;;AACA;;IAGa,uB;;;;;;;;;;;;;oCACY;AACjB,YAAM,CAAC,UAAP,CAAkB,cAAlB;AACA,YAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,UAAM,KAAK,GAAG,KAAK,KAAL,CAAW,aAAX,GAA2B,wBAA3B,GAAsD,iBAApE;AACA,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,cADW;AAElB,gBAAQ,EAAE,eAFQ;AAGlB,cAAM,EAAE,cAHU;AAIlB,aAAK,YAAK,KAAL;AAJa,OAAtB;AAMH;;;6BAEY;AAAA;;AACT,aAAO,oBAAC,2CAAD,EAAqB;AAAC,gBAAQ,EAAE;AAAA,cAAG,IAAH,QAAG,IAAH;AAAA,cAAS,aAAT,QAAS,aAAT;AAAA,cAAwB,iBAAxB,QAAwB,iBAAxB;AAAA,cAA2C,gBAA3C,QAA2C,gBAA3C;AAAA,cAA6D,eAA7D,QAA6D,eAA7D;AAAA,cAA8E,UAA9E,QAA8E,UAA9E;AAAA,cAA0F,yBAA1F,QAA0F,yBAA1F;AAAA,cACnC,4BADmC,QACnC,4BADmC;AAAA,cACL,uBADK,QACL,uBADK;AAAA,cACoB,wBADpB,QACoB,wBADpB;AAAA,iBAEnC;AAAK,qBAAS,EAAC;AAAf,aACK,CAAC,IAAD,IACG;AAAG,qBAAS,EAAC,eAAb;AACI,mBAAO,EAAE;AAAA,qBAAM,KAAI,CAAC,aAAL,EAAN;AAAA;AADb,aAEI;AAAK,qBAAS,EAAC;AAAf,YAFJ,EAGI;AAAM,qBAAS,EAAC;AAAhB,aAAuB,4CAAvB,CAHJ,CAFR,EAQK,IAAI,IACD;AAAK,qBAAS,EAAC,YAAf;AAA4B,mBAAO,EAAE;AAArC,aACI;AAAK,qBAAS,EAAC;AAAf,YADJ,EAEI;AAAM,qBAAS,EAAC;AAAhB,a,GAAA,qCAA6C,IAAI,CAAC,KAAL,CAAW,SAAxD,EAFJ,EAGI;AAAK,qBAAS,EAAC;AAAf,aACI;AAAK,qBAAS,EAAC;AAAf,YADJ,CAHJ,CATR,EAkBK,aAAa,IACV;AAAK,qBAAS,EAAC;AAAf,aACI;AAAK,qBAAS,EAAC;AAAf,YADJ,EAEI;AAAK,qBAAS,EAAC,YAAf;AAA4B,mBAAO,EAAE,uBAArC;AAA8D,cAAE,EAAC;AAAjE,aAA+E,sCAA/E,CAFJ,EAGI;AAAK,qBAAS,EAAC,YAAf;AAA4B,mBAAO,EAAE,4BAArC;AAAmE,cAAE,EAAC;AAAtE,aAAqF,+DAArF,CAHJ,EAII;AAAK,qBAAS,EAAC,YAAf;AAA4B,mBAAO,EAAE,wBAArC;AAA+D,cAAE,EAAC;AAAlE,aAAiF,qEAAjF,CAJJ,EAKA;AAAK,qBAAS,EAAC,YAAf;AAA4B,mBAAO,EAAE,yBAArC;AAAgE,cAAE,EAAC;AAAnE,aAAkF,4CAAlF,CALA,CAnBR,EA2BM,iBAAiB,IAAI,IAAtB,IAA+B,oBAAC,2CAAD,EAAqB;AAAC,2BAAe,EAAE,eAAlB;AAAmC,gCAAoB,EAAE;AAAzD,WAArB,CA3BpC,CAFmC;AAAA;AAAX,OAArB,CAAP;AAkCH;;;;EAhDwC,KAAK,CAAC,S;;AAAnD,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJA;;AACA;;AACA;;IAEa,sB;;;;;;;;;;;;;oCAGY;AACjB,YAAM,CAAC,UAAP,CAAkB,cAAlB;AACA,YAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,cADW;AAElB,gBAAQ,EAAE,eAFQ;AAGlB,cAAM,EAAE,cAHU;AAIlB,aAAK,EAAE;AAJW,OAAtB;AAMH;;;6BAEY;AAAA;;AAET,aAAO,oBAAC,2CAAD,EAAqB;AAAC,gBAAQ,EAAE;AAAA,cAAG,IAAH,QAAG,IAAH;AAAA,cAAS,aAAT,QAAS,aAAT;AAAA,cAAwB,iBAAxB,QAAwB,iBAAxB;AAAA,cAA2C,gBAA3C,QAA2C,gBAA3C;AAAA,cAA6D,wBAA7D,QAA6D,wBAA7D;AAAA,cACnC,uBADmC,QACnC,uBADmC;AAAA,cACV,eADU,QACV,eADU;AAAA,cACO,UADP,QACO,UADP;AAAA,cACmB,yBADnB,QACmB,yBADnB;AAAA,cAC8C,4BAD9C,QAC8C,4BAD9C;AAAA,iBAGnC;AAAK,qBAAS,EAAC;AAAf,aACK,CAAC,IAAD,IACG;AAAG,qBAAS,EAAC,eAAb;AACI,mBAAO,EAAE;AAAA,qBAAM,KAAI,CAAC,aAAL,EAAN;AAAA;AADb,aACuC,iFADvC,CAFR,EAOK,IAAI,IACD;AAAK,qBAAS,EAAE,UAAU,CAAC,YAAD,EAAe;AAAE,8BAAgB;AAAlB,aAAf,CAA1B;AAA6E,mBAAO,EAAE;AAAtF,gDACa,IAAI,CAAC,KAAL,CAAW,SADxB,EARR,EAYK,IAAI,IAAI;AAAK,qBAAS,EAAE,UAAU,CAAC,UAAD,EAAa;AAAE,2BAAa;AAAf,aAAb;AAA1B,aACD;AAAK,qBAAS,EAAC;AAAf,aAAgC,GAAhC,CADC,EAED;AAAK,qBAAS,EAAC,YAAf;AAA4B,mBAAO,EAAE,4BAArC;AAAmE,cAAE,EAAC;AAAtE,aAAqF,+DAArF,CAFC,EAGD;AAAK,qBAAS,EAAC,YAAf;AAA4B,mBAAO,EAAE,yBAArC;AAAgE,cAAE,EAAC;AAAnE,aAAiF,4CAAjF,CAHC,CAZb,EAkBM,iBAAiB,IAAI,IAAtB,IAA+B,oBAAC,2CAAD,EAAqB;AAAC,2BAAe,EAAE,eAAlB;AAAmC,gCAAoB,EAAE;AAAzD,WAArB,CAlBpC,CAHmC;AAAA,SAAX;AAyBzB,gBAAQ,EAAE;AAzBe,OAArB,CAAP;AA2BH;;;;EA3CuC,KAAK,CAAC,S;;AAChC,wCAAiB,wBAAjB;AADlB,wD;;;;;;;;;;;;;;;ACJa,wBAAgB,YAAK;AAC9B,QAAM,IAAI,MAAM,CAAC,UAAP,CAAkB,OAAlB,CAA0B,MAAM,CAAC,UAAP,CAAkB,gBAAlB,CAAmC,MAAnC,GAA4C,MAAM,CAAC,UAAP,CAAkB,gBAAlB,CAAmC,MAA/E,GAAwF,KAAxF,GAAgG,IAAI,IAAJ,GAAW,OAAX,EAA1H,EAAgJ,QAAhJ,EAA0J,UAAU,QAAV,EAAkB;AAClL,cAAU,CAAC;AAAc,YAAM,CAAC,GAAP,CAAW,QAAX,CAAoB,IAApB,GAA2B,MAAM,CAAC,UAAP,CAAkB,QAA7C;AAAwD,KAAvE,EAAyE,GAAzE,CAAV;AACH,GAFS,CAAV;AAGH,CAJY;;AAMA,kCAA0B,YAAK;AACxC,MAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,QAAI,MAAM,GAAG,WAAb;;AACA,QAAI,QAAQ,CAAC,aAAT,CAAuB,2BAAvB,CAAJ,EAAyD;AACrD,YAAM,GAAG,QAAT;AACH,KAFD,MAGK,IAAI,MAAM,CAAC,MAAP,IAAiB,SAArB,EAAgC;AACjC,UAAM,aAAa,GAAG,MAAM,CAAC,MAA7B;AACA,UAAI,WAAW,GAAG,aAAa,CAAC,KAAd,CAAoB,GAApB,CAAlB;;AACA,UAAI,WAAW,CAAC,CAAD,CAAX,CAAe,OAAf,CAAuB,IAAvB,MAAiC,CAAC,CAAtC,EAAyC;AACrC,cAAM,GAAG,QAAT;AACH;AACJ;;AACD,UAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,UAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,WAAK,EAAE,UADW;AAElB,cAAQ,EAAE,gBAFQ;AAGlB,YAAM,YAAK,MAAL,CAHY;AAIlB,WAAK,EAAE;AAJW,KAAtB;AAMH;AACJ,CArBY;;AAuBA,mCAA2B,UAAC,KAAD,EAAkB;AACtD,MAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,UAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,UAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,WAAK,EAAE,mBADW;AAElB,cAAQ,EAAE,WAFQ;AAGlB,YAAM,EAAE,gBAHU;AAIlB,WAAK,EAAE;AAJW,KAAtB;AAMH;AACJ,CAVY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5Bb;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AACA,IAAI,YAAY,GAAG,mBAAO,CAAC,kDAAD,CAA1B;;AAUA,IAAa,mCAAb;AAAA;AAAA;AAAA;;AAEI,+CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,6GAAM,KAAN;;AAMJ,8BAAoB,UAAC,KAAD,EAAkB;AAClC,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;AACH,KAFD;;AAIA,+BAAqB,YAAK;AACtB,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE,CAAC;AAAlB,OAAd;AACH,KAFD;;AAIA,kCAAwB,UAAC,OAAD,EAAoB;AAAA,UACxB,OADwB,GACV,MAAK,KADK,CAChC,IADgC,CACxB,OADwB,EAExC;;AACA,UAAM,QAAQ,GAAG,GAAjB;AACA,UAAM,WAAW,GAAG,GAApB;AACA,UAAM,KAAK,GAAG,QAAQ,CAAC,cAAT,CAAwB,wBAAwB,OAAhD,CAAd;;AACA,UAAI,KAAJ,EAAW;AACP,YAAM,mBAAmB,GAAG,MAAK,iBAAL,CAAuB,QAAvB,EAAiC,WAAjC,CAA5B;;AACA,YAAI,OAAO,GAAG,mBAAV,GAAgC,GAApC,EAAyC;AACrC,iBAAO,OAAO,IAAK,OAAO,GAAG,mBAAmB,GAAG,CAAjC,GAAsC,GAA1C,CAAd;AACH,SAFD,MAGK,IAAI,OAAO,GAAG,mBAAV,GAAgC,CAApC,EAAuC;AACxC,iBAAO,OAAO,GAAG,IAAI,CAAC,GAAL,CAAU,OAAO,GAAG,mBAAmB,GAAG,CAA1C,CAAjB;AACH;AACJ;;AACD,aAAO,OAAP;AACH,KAhBD;;AAkBA,8BAAoB,UAAC,YAAD,EAAe,UAAf,EAA6B;AAC7C,aAAQ,MAAM,YAAP,GAAuB,UAA9B;AACH,KAFD;;AA/BI,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE,CAAC;AADP,KAAb;AAFa;AAKhB;;AAPL;AAAA;AAAA,6BAuCiB;AAAA;;AAAA,UACO,SADP,GACuB,KAAK,KAD5B,CACD,IADC,CACO,SADP;AAAA,UAEE,WAFF,GAEkB,KAAK,KAFvB,CAEJ,IAFI,CAEE,WAFF,EAIT;;AAEA,UAAG,CAAC,WAAJ,EAAgB;AACZ,mBAAW,GAAG,MAAd;AACH;;AAED,UAAM,cAAc,GAAG,CAAC,CAAC,GAAF,CAAM,SAAN,EAAiB,UAAC,CAAD,EAAI,KAAJ,EAAa;AAAA,YACzC,KADyC,GAC/B,MAAI,CAAC,KAD0B,CACzC,KADyC;AAAA,YAEzC,aAFyC,GAEvB,MAAI,CAAC,KAFkB,CAEzC,aAFyC;AAGjD,YAAM,IAAI,GAAG,KAAK,CAAC,KAAD,CAAlB;;AACA,YAAI,KAAK,KAAK,aAAd,EAA6B;AACzB,iBACI;AAAK,eAAG,EAAE,KAAV;AAAiB,qBAAS,EAAC,WAA3B;AAAuC,iBAAK,EAAE;AAAE,kBAAI,YAAK,sBAAW,MAAI,CAAC,qBAAL,CAA2B,CAAC,CAAC,KAAF,CAAQ,KAAnC,CAAX,GAAuD,CAAC,CAAC,KAAF,CAAQ,KAApE,MAAN;AAAoF,iBAAG,YAAK,CAAC,CAAC,KAAF,CAAQ,MAAb;AAAvF;AAA9C,aACI;AAAK,qBAAS,EAAC;AAAf,aACI;AAAM,mBAAO,EAAE;AAAA,qBAAM,MAAI,CAAC,iBAAL,CAAuB,CAAC,CAAxB,CAAN;AAAA;AAAf,aAA+C,GAA/C,CADJ,CADJ,EAIK,CAAC,CAAC,CAAC,CAAC,KAAJ,IACG;AAAK,qBAAS,EAAC;AAAf,aACI,kCAAO,CAAC,CAAC,KAAF,IAAW,IAAI,IAAI,CAAC,YAAT,GAAwB,MAAxB,CAA+B,CAAC,CAAC,KAAjC,CAAlB,CADJ,EAEM,QAFN,CALR,EAQI;AAAK,qBAAS,EAAC;AAAf,uBACQ,CAAC,CAAC,WADV,EARJ,EAWK,CAAC,CAAC,cAAF,IACG;AAAK,qBAAS,EAAC;AAAf,uBACQ,CAAC,CAAC,cADV,EAZR,EAeK,IAAI,IACD;AAAK,qBAAS,EAAC;AAAf,aACI;AAAG,qBAAS,EAAC,SAAb;AAAuB,gBAAI,EAAE,IAA7B;AAAmC,kBAAM,EAAE,CAAC,CAAC,oBAAF,CAAuB,YAAvB,KAAwC,KAAxC,GAAgD,QAAhD,GAA2D;AAAtG,uBACQ,CAAC,CAAC,CAAC,gBAAH,GAAsB,QAAtB,GAAiC,CAAC,CAAC,gBAD3C,QADJ,CAhBR,CADJ;AAwBH;;AACD,eACI;AAAK,aAAG,EAAE,KAAV;AAAiB,mBAAS,EAAC,iBAA3B;AAA6C,eAAK,EAAE;AAAE,kCAAe,CAAC,CAAC,KAAF,CAAQ,KAAvB,MAAF;AAAmC,kCAAe,CAAC,CAAC,KAAF,CAAQ,MAAvB;AAAnC;AAApD,WACI;AACI,mBAAS,EAAE,WADf;AAEI,eAAK,EAAE;AAAE,4BAAgB,CAAC,CAAC,QAAF,GAAa,CAAC,CAAC,QAAf,GAA0B;AAA5C,WAFX;AAGI,aAAG,EAAE,KAHT;AAII,iBAAO,EAAE;AAAA,mBAAM,MAAI,CAAC,iBAAL,CAAuB,KAAvB,CAAN;AAAA;AAJb,WAMI;AAAM,mBAAS,EAAC,UAAhB;AAA2B,eAAK,EAAE;AAAE,2BAAe,CAAC,CAAC,SAAF,GAAc,CAAC,CAAC,SAAhB,GAA4B;AAA7C;AAAlC,WAAuF,GAAvF,CANJ,EAOI;AAAK,mBAAS,EAAC;AAAf,qBACQ,CAAC,CAAC,CAAC,OAAH,GAAa,cAAb,GAA8B,CAAC,CAAC,OADxC,QAPJ,CADJ,CADJ;AAeH,OA7CsB,CAAvB;;AA+CA,aACI,0CACK,cADL,CADJ;AAKH;AArGL;;AAAA;AAAA,EAAyD,KAAK,CAAC,SAA/D;;AACkB,qDAAiB,oCAAjB;AADL,mCAAmC,eAD/C,YAC+C,E,yCAAA,GAAnC,mCAAmC,CAAnC;AAAA,kF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbb;;AACA;;AACA;;AAgBA,IAAK,UAAL;;AAAA,WAAK,UAAL,EAAe;AACX;AACA;AACA;AACA;AACA;AACH,CAND,EAAK,UAAU,KAAV,UAAU,MAAf;;IAWa,wB;;;;;AAET,oCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,kGAAM,KAAN;;AAgBI,0BAAgB,UAAC,KAAD,EAAkB;AACtC,UAAI,CAAC,KAAL,EAAY,OAAO,KAAP;AACZ,UAAM,EAAE,GAAG,yJAAX;AACA,aAAO,EAAE,CAAC,IAAH,CAAQ,MAAM,CAAC,KAAD,CAAN,CAAc,WAAd,EAAR,CAAP;AACH,KAJO;;AAMA,4BAAkB,UAAC,CAAD,EAAM;AAC5B,YAAK,QAAL,CAAc;AAAE,iBAAS,EAAE,CAAC,CAAC,MAAF,CAAS;AAAtB,OAAd;AACH,KAFO;;AAIA,sBAAY,UAAC,WAAD,EAAuB,YAAvB,EAAgD;AAAA,UACxD,UADwD,GACzC,MAAK,KADoC,CACxD,UADwD;AAEhE,UAAI,IAAI,GAAG,EAAX;;AACA,UAAI,UAAU,KAAK,UAAU,CAAC,eAA9B,EAA+C;AAC3C,YAAI,CAAC,YAAL,EAAmB;AACf,cAAI,GAAG,+CAAP;AACH;;AACD,YAAI,WAAJ,EAAiB;AACb,cAAI,GAAG,0BAAP;AACH;AACJ,OAPD,MAOO,IAAI,UAAU,KAAK,UAAU,CAAC,YAA9B,EAA4C;AAC/C,YAAI,GAAG,oCAAP;AACH;;AACD,aAAO,IAAP;AACH,KAdO;;AAgBA,wBAAc,YAAK;AACvB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,CAAC,MAAK,KAAL,CAAW;AAA5B,OAAd;AACH,KAFO;;AAIA,yBAAe,YAAK;AACxB,UAAM,MAAM,GAAG,MAAM,CAAC,QAAP,CAAgB,MAAhB,CAAuB,QAAvB,CAAgC,WAAhC,CAAf;;AACA,UAAI,MAAJ,EAAY;AACR,cAAK,OAAL,CAAa,EAAb,EAAiB,IAAjB;AACH,OAFD,MAEO,IAAI,MAAM,CAAC,iBAAP,IAA4B,UAAhC,EAA4C;AAC/C,kBAAU,CAAC,KAAX,CAAiB,YAAK;AAClB,oBAAU,CAAC,OAAX,CAAmB,MAAM,CAAC,iBAA1B,EAA6C;AAAE,kBAAM,EAAE;AAAV,WAA7C,EAAmE,IAAnE,CAAwE,eAAK,EAAG;AAC5E,kBAAK,OAAL,CAAa,KAAb,EAAoB,KAApB;AACH,WAFD;AAGH,SAJD;AAKH;AACJ,KAXO;;AAaA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAU,iBAAO,KAAP,EAAsB,MAAtB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,8BAC2C,MAAK,KADhD,EACN,MADM,eACN,MADM,EACE,YADF,eACE,YADF,EACgB,SADhB,eACgB,SADhB,EAC2B,WAD3B,eAC2B,WAD3B;AAAA,8BAEsB,MAAK,KAF3B,EAEN,SAFM,eAEN,SAFM,EAEK,YAFL,eAEK,YAFL;AAGV,wBAHU,GAGC;AACX,yBAAO,EAAE,MAAM,IAAI,EADR;AAEX,uBAAK,EAAE,SAFI;AAGX,uBAAK,EAAL,KAHW;AAIX,6BAAW,EAAX;AAJW,iBAHD;;AAAA,sBASV,MAAK,aAAL,CAAmB,SAAnB,KAAiC,YATvB;AAAA;AAAA;AAAA;;AAAA;;AAWN,sBAAK,QAAL,CAAc;AAAE,4BAAU,EAAE,UAAU,CAAC;AAAzB,iBAAd;;AACA,sBAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,sBAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAAE,2BAAS,UAAX;AAAuB,8BAAY,YAAnC;AAAiD,4BAAU,0BAA3D;AAAuF,2BAAS;AAAhG,iBAAtB;AAbM;AAAA,uBAciB,KAAK,CAAC,IAAN,2BAA8B,YAA9B,8BAA8D,MAAM,GAAG,YAAH,GAAkB,EAAtF,GAA4F,QAA5F,CAdjB;;AAAA;AAcA,wBAdA;;AAeN,oBAAI,QAAQ,CAAC,MAAT,KAAoB,GAAxB,EAA6B;AACzB,wBAAK,QAAL,CAAc;AAAE,8BAAU,EAAE,UAAU,CAAC;AAAzB,mBAAd;AACH;;AAjBK;AAAA;;AAAA;AAAA;AAAA;;AAmBN,sBAAK,QAAL,CAAc;AAAE,4BAAU,EAAE,UAAU,CAAC;AAAzB,iBAAd;;AAnBM;AAAA;AAAA;;AAAA;AAuBV,sBAAK,QAAL,CAAc;AAAE,4BAAU,EAAE;AAAd,iBAAd;;AAvBU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAV;;AAAA;AAAA;AAAA;AAAA;;AA1DJ,UAAK,KAAL,GAAa;AACT,UAAI,EAAE,IADG;AAET,gBAAU,EAAE,CAFH;AAGT,kBAAY,EAAE,KAHL;AAIT,eAAS,EAAE;AAJF,KAAb;AAFa;AAQhB;;;;wCACgB;AACb,UAAI,MAAM,IAAI,MAAM,CAAC,UAAjB,IAA+B,MAAM,CAAC,UAAP,CAAkB,IAArD,EAA2D;AACvD,aAAK,QAAL,CAAc;AACV,cAAI,EAAE,MAAM,CAAC,UAAP,CAAkB;AADd,SAAd;AAGH;AACJ;;;6BAwEK;AAAA,UACM,SADN,GACoB,KAAK,KADzB,CACM,SADN;AAAA,yBAE8C,KAAK,KAFnD;AAAA,UAEM,SAFN,gBAEM,SAFN;AAAA,UAEiB,UAFjB,gBAEiB,UAFjB;AAAA,UAE6B,YAF7B,gBAE6B,YAF7B;AAGF,UAAM,SAAS,GAAG;AAAG,YAAI,EAAC,kEAAR;AAA2E,cAAM,EAAC;AAAlF,SAA0F,+DAA1F,CAAlB;AACA,UAAM,UAAU,GAAG;AAAG,YAAI,EAAC,mEAAR;AAA4E,cAAM,EAAC;AAAnF,SAA2F,uFAA3F,CAAnB;AACA,UAAM,UAAU,GAAG,UAAU,IAAI,UAAU,CAAC,eAAzB,IAA4C,CAAC,KAAK,aAAL,CAAmB,SAAnB,CAAhE;AACA,UAAM,aAAa,GAAG,UAAU,KAAK,CAAf,IAAoB,CAAC,YAArB,GAAoC,OAApC,GAA8C,EAApE;AACA,UAAM,eAAe,GAAG,UAAU,GAAG,sBAAH,GAA4B,YAA9D;AACA,UAAM,eAAe,iCAA0B,+BAAgB,QAAhB,GAA2B,EAArD,CAArB;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAE,UAAU,CAAC,mBAAD,EAAsB;AAAE,0BAAgB,UAAU,KAAK;AAAjC,SAAtB;AAA1B,SACK,UAAU,KAAK,CAAf,IACG,0CACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAAwD,SAAxD,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAE;AAAhB,SACI;AAAO,iBAAS,EAAE,eAAlB;AAAmC,mBAAW,EAAC,yDAA/C;AAA4D,YAAI,EAAC,MAAjE;AAAwE,YAAI,EAAC,MAA7E;AAAoF,gBAAQ,MAA5F;AAA6F,aAAK,EAAE,SAApG;AAA+G,gBAAQ,EAAE,KAAK;AAA9H,QADJ,EAEI;AAAQ,iBAAS,EAAC,6BAAlB;AAAgD,gBAAQ,EAAE,UAAU,KAAK,CAAzE;AAA4E,eAAO,EAAE,KAAK;AAA1F,SAAyG,UAAU,KAAK,CAAf,GAAmB,SAAnB,GAA+B,OAAxI,CAFJ,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SAAkD,KAAK,SAAL,CAAe,UAAf,EAA2B,YAA3B,CAAlD,CALJ,CALJ,EAYI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAO,YAAI,EAAC,UAAZ;AAAuB,UAAE,EAAC,yBAA1B;AAAoD,iBAAS,EAAE,aAA/D;AAA8E,gBAAQ,EAAE,KAAK;AAA7F,QADJ,EAEI,kC,+CAAA,EAAiB,SAAjB,E,IAAA,EAA8B,UAA9B,EAA+H,8XAA/H,CAFJ,CAZJ,CAFR,EAmBK,UAAU,KAAK,CAAf,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA0E,2BAA1E,CAFJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SAA0E,gHAA1E,CAHJ,CApBR,CADJ,CADJ;AA+BH;;;;EAlIyC,KAAK,CAAC,S;;AAClC,0CAAiB,mBAAjB;AADlB,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;IAca,iC;;;;;AACT,6CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,2GAAM,KAAN;;AAoBI,2BAAiB,UAAC,MAAD,EAAmB;AAAA,UAChC,SADgC,GAClB,MAAK,KADa,CAChC,SADgC;AAAA,UAEhC,YAFgC,GAEf,MAAK,KAFU,CAEhC,YAFgC;AAIxC,UAAI,YAAJ,EAAkB;AAElB,UAAI,OAAO,YAAP,IAAuB,WAA3B,EAAwC;AAExC,UAAM,cAAc,GAAG,YAAY,CAAC,OAAb,CAAqB,gBAArB,CAAvB;AACA,UAAI,YAAY,GAAG,cAAc,GAAG,IAAI,CAAC,KAAL,CAAW,cAAX,CAAH,GAAmD,EAApF;AACA,UAAI,aAAa,GAAkB,EAAnC;AACA,UAAI,YAAJ;;AAEA,UAAI,YAAY,CAAC,MAAjB,EAAyB;AACrB,YAAM,kBAAkB,GAAG,CAAC,CAAC,SAAF,CAAY,YAAZ,EAA0B,WAAC;AAAA,iBAAI,CAAC,CAAC,SAAD,CAAL;AAAA,SAA3B,CAA3B;;AACA,YAAI,kBAAkB,GAAG,CAAC,CAA1B,EAA6B;AACzB,uBAAa,GAAG,YAAY,CAAC,kBAAD,CAA5B;AACA,sBAAY,GAAG,aAAa,CAAC,SAAD,CAA5B;AACA,uBAAa,CAAC,SAAD,CAAb,GAA2B,MAA3B;AACH,SAJD,MAIO;AACH,uBAAa,CAAC,SAAD,CAAb,GAA2B,MAA3B;AACA,sBAAY,CAAC,OAAb,CAAqB,aAArB;;AACA,cAAI,YAAY,CAAC,MAAb,GAAsB,IAA1B,EAAgC;AAC5B,wBAAY,CAAC,GAAb;AACH;AACJ;AACJ,OAbD,MAaO;AAAE;AACL,qBAAa,uBAAM,SAAN,EAAkB,MAAlB,CAAb;AACA,oBAAY,CAAC,IAAb,CAAkB,aAAlB;AACH;;AAED,kBAAY,CAAC,OAAb,CAAqB,gBAArB,EAAuC,IAAI,CAAC,SAAL,CAAe,YAAf,CAAvC;;AACA,YAAK,QAAL,CAAc;AAAE,cAAM,EAAN,MAAF;AAAU,oBAAY,EAAE;AAAxB,OAAd;;AAEA,UAAM,IAAI,GAAG;AACT,qBAAa,SADJ;AAET,oBAAY,MAFH;AAGT,wBAAgB;AAHP,OAAb;AAMA,WAAK,CAAC,IAAN,8BAAwC,IAAxC,EACK,KADL,CACW,eAAK,EAAG;AACX,eAAO,CAAC,GAAR,CAAY,KAAZ;AACH,OAHL;AAIH,KA5CO;;AA8CA,sBAAY,YAAa;AAAA,UACrB,SADqB,GACP,MAAK,KADE,CACrB,SADqB;AAE7B,UAAI,OAAO,YAAP,IAAuB,WAA3B,EAAwC;AACxC,UAAM,YAAY,GAAG,IAAI,CAAC,KAAL,CAAW,YAAY,CAAC,OAAb,CAAqB,gBAArB,CAAX,CAArB;;AACA,UAAM,kBAAkB,GAAG,CAAC,CAAC,SAAF,CAAY,YAAZ,EAA0B,WAAC;AAAA,eAAI,CAAC,CAAC,SAAD,CAAL;AAAA,OAA3B,CAA3B;;AACA,UAAI,kBAAkB,GAAG,CAAC,CAAtB,IAA2B,YAAY,CAAC,kBAAD,CAA3C,EAAiE;AAC7D,eAAO,YAAY,CAAC,kBAAD,CAAZ,CAAiC,SAAjC,CAAP;AACH;;AACD,aAAO,CAAP;AACH,KATO;;AAYA,+BAAqB,UAAC,IAAD,EAAyB;AAAA,wBACpB,MAAK,KADe;AAAA,UAC1C,MAD0C,eAC1C,MAD0C;AAAA,UAClC,SADkC,eAClC,SADkC;;AAElD,UAAI,SAAS,IAAI,IAAb,IAAqB,MAAM,IAAI,IAAnC,EAAyC;AACrC,eAAO,MAAP;AACH;;AACD,aAAO,OAAP;AACH,KANO;;AAQA,yBAAe,UAAC,IAAD,EAAiB;AACpC,UAAI,MAAK,KAAL,CAAW,YAAf,EAA6B;;AAC7B,YAAK,QAAL,CAAc;AAAE,iBAAS,EAAE;AAAb,OAAd;AACH,KAHO;;AAKA,uBAAa,YAAa;AAAA,yBACM,MAAK,KADX;AAAA,UACtB,YADsB,gBACtB,YADsB;AAAA,UACR,SADQ,gBACR,SADQ;;AAE9B,UAAI,CAAC,YAAD,IAAiB,CAAC,SAAtB,EAAiC;AAC7B,eAAO,OAAP;AACH;;AACD,aAAO,EAAP;AACH,KANO;;AAQA,oBAAU,YAAa;AAAA,UACnB,YADmB,GACF,MAAK,KADH,CACnB,YADmB;;AAE3B,UAAI,CAAC,YAAL,EAAmB;AACf,eAAO,uBAAP;AACH,OAFD,MAEO;AACH,eAAO,cAAP;AACH;AACJ,KAPO;;AASA,wBAAc,YAAK;AACvB,UAAM,KAAK,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,CAAd;AACA,aAAO,KAAK,CAAC,GAAN,CAAU,UAAC,IAAD;AAAA,eACb;AAAK,mBAAS,oCAA6B,MAAK,kBAAL,CAAwB,IAAxB,CAA7B,CAAd;AACI,iBAAO,EAAE;AAAA,mBAAM,MAAK,cAAL,CAAoB,IAApB,CAAN;AAAA,WADb;AAEI,qBAAW,EAAE;AAAA,mBAAM,MAAK,YAAL,CAAkB,IAAlB,CAAN;AAAA,WAFjB;AAGI,sBAAY,EAAE;AAAA,mBAAM,MAAK,YAAL,CAAkB,CAAlB,CAAN;AAAA,WAHlB;AAII,aAAG,EAAE;AAJT,UADa;AAAA,OAAV,CAAP;AAOH,KATO;;AA3GJ,UAAK,KAAL,GAAa;AACT,YAAM,EAAE,CADC;AAET,eAAS,EAAE,CAFF;AAGT,kBAAY,EAAE;AAHL,KAAb;AAFa;AAOhB;;;;yCAIiB;AACd,UAAM,MAAM,GAAG,KAAK,SAAL,EAAf;;AACA,UAAI,MAAJ,EAAY;AACR,aAAK,QAAL,CAAc;AACV,gBAAM,EAAE,MADE;AAEV,sBAAY,EAAE;AAFJ,SAAd;AAIH;AACJ;;;6BAqGY;AAAA,UACD,YADC,GACgB,KAAK,KADrB,CACD,YADC;AAET,aACI,iCACI;AAAK,iBAAS,0BAAmB,YAAY,GAAG,cAAH,GAAoB,EAAnD;AAAd,SACI;AAAK,iBAAS,EAAC;AAAf,SAAqC,KAAK,OAAL,EAArC,CADJ,EAEI;AAAK,iBAAS,gCAAyB,KAAK,UAAL,EAAzB;AAAd,SACK,KAAK,WAAL,EADL,CAFJ,CADJ,CADJ;AAWH;;;;EAtIkD,KAAK,CAAC,S;;AAU3C,mDAAiB,mCAAjB;AAVlB,8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;;AACA;;IAEa,sC;;;;;;;;;;;;;6BAEI;AAAA,wBACqB,KAAK,KAD1B;AAAA,UACD,WADC,eACD,WADC;AAAA,UACY,KADZ,eACY,KADZ;AAET,UAAM,QAAQ,GAAG,eAAe,OAAO,MAAtB,GAA+B,MAAM,CAAC,SAAtC,GAAkD,KAAnE;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,UAAE,EAAC;AAAR,SACI;AAAK,WAAG,EAAC,kEAAT;AAA4E,iBAAS,EAAC,aAAtF;AAAoG,eAAO,EAAE;AAAA,iBAAM,iCAAkB,WAAlB,EAA+B,EAA/B,EAAmC;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,OAA9B,EAAuC,KAAvC,CAAN;AAAA,WAAnC,EAAwF,OAAxF,CAAN;AAAA;AAA7G,QADJ,CADJ,EAII;AAAK,UAAE,EAAC;AAAR,SACI;AAAK,WAAG,EAAC,iEAAT;AAA2E,iBAAS,EAAC,aAArF;AAAmG,eAAO,EAAE;AAAA,iBAAM,gCAAiB,WAAjB,EAA8B;AAAA,mBAAM,iCAAkB,SAAlB,EAA6B,OAA7B,EAAsC,KAAtC,CAAN;AAAA,WAA9B,EAAkF,OAAlF,CAAN;AAAA;AAA5G,QADJ,CAJJ,EAOK,QAAQ,IAAI;AAAK,UAAE,EAAC;AAAR,SACT;AAAK,WAAG,EAAC,kEAAT;AAA4E,iBAAS,EAAC,aAAtF;AAAoG,eAAO,EAAE;AAAA,iBAAM,0CAAoB,iBAApB,CAAsC,WAAtC,EAAmD;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,OAA9B,EAAuC,KAAvC,CAAN;AAAA,WAAnD,EAAwG,OAAxG,CAAN;AAAA;AAA7G,QADS,CAPjB,CADJ;AAaH;;;;EAlBuD,KAAK,CAAC,S;;AAChD,wDAAiB,wCAAjB;AADlB,wF;;;;;;;;;;;;;;;ACAa,4BAAoB,UAAC,IAAD,EAAe;AAC5C,mBAAU,IAAI,CAAC,QAAL,EAAV,cAA6B,CAAC,IAAI,CAAC,UAAL,KAAoB,EAApB,GAAyB,GAAzB,GAA+B,EAAhC,IAAsC,IAAI,CAAC,UAAL,EAAnE;AACH,CAFY;;AAIA,sBAAc,UAAC,IAAD,EAAsE;AAAA,MAAzD,cAAyD,uEAAhC,GAAgC;AAAA,MAA3B,MAA2B,uEAAN,EAAM;;AAC7F,UAAQ,MAAR;AACI,SAAK,WAAL;AACI,uBAAU,IAAI,CAAC,OAAL,EAAV,SAA2B,cAA3B,SAA4C,IAAI,CAAC,QAAL,KAAkB,CAA9D,SAAkE,cAAlE,SAAmF,UAAG,IAAI,CAAC,WAAL,EAAH,EAAwB,KAAxB,CAA8B,CAA9B,CAAnF;AACA;;AAEJ;AACI,uBAAU,IAAI,CAAC,OAAL,EAAV,SAA2B,cAA3B,SAA4C,IAAI,CAAC,QAAL,KAAkB,CAA9D,SAAkE,cAAlE,SAAmF,IAAI,CAAC,WAAL,EAAnF;AANR;AASH,CAVY;;AAYA,qBAAa,UAAC,KAAD,EAAc,KAAd,EAA6B;AACnD,SAAQ,oBAAY,KAAZ,EAAmB,aAAnB,CAAiC,oBAAY,KAAZ,CAAjC,CAAD,KAA2D,CAAlE;AACH,CAFY;;AAIA,0BAAkB,UAAC,EAAD,EAAkG;AAAA,MAArF,KAAqF,uEAAtD,OAAsD;AAAA,MAA7C,MAA6C,uEAAb,SAAa;AAC7H,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAT,YAA2B,EAA3B,EAAX;AACA,IAAE,IAAI,EAAE,CAAC,cAAH,CAAkB;AAAE,YAAQ,EAAE,QAAZ;AAAsB,SAAK,EAAE,KAA7B;AAAoC,UAAM,EAAE;AAA5C,GAAlB,CAAN;AACH,CAHY;;AAKA,kBAAU,UAAC,IAAD,EAAe;AAClC,MAAM,KAAK,GAAG,IAAI,IAAJ,EAAd;AACA,SAAO,IAAI,CAAC,OAAL,MAAkB,KAAK,CAAC,OAAN,EAAlB,IACH,IAAI,CAAC,QAAL,MAAmB,KAAK,CAAC,QAAN,EADhB,IAEH,IAAI,CAAC,WAAL,MAAsB,KAAK,CAAC,WAAN,EAF1B;AAGH,CALY;;AAOA,sBAAc,UAAC,IAAD,EAAe;AACtC,MAAM,SAAS,GAAG,IAAI,IAAJ,CAAU,IAAI,IAAJ,EAAD,CAAa,OAAb,KAAyB,OAAO,EAAP,GAAY,EAAZ,GAAiB,EAAnD,CAAlB,CADsC,CACoC;;AAC1E,SAAO,IAAI,CAAC,OAAL,MAAkB,SAAS,CAAC,OAAV,EAAlB,IACH,IAAI,CAAC,QAAL,MAAmB,SAAS,CAAC,QAAV,EADhB,IAEH,IAAI,CAAC,WAAL,MAAsB,SAAS,CAAC,WAAV,EAF1B;AAGH,CALY;;AAOA,wBAAgB,UAAC,IAAD,EAAa,OAAb,EAAgC;AACzD,MAAI,CAAC,gBAAQ,IAAR,CAAL,EAAoB,OAAO,IAAP;AACpB,MAAM,KAAK,GAAG,IAAI,IAAJ,EAAd;AACA,MAAI,MAAM,GAAI,IAAI,CAAC,OAAL,KAAiB,KAAK,CAAC,OAAN,EAA/B,CAHyD,CAGR;;AACjD,MAAI,QAAQ,GAAG,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,KAAL,CAAa,MAAM,GAAG,QAAV,GAAsB,OAAvB,GAAkC,KAA7C,CAAT,CAAf,CAJyD,CAIqB;;AAE9E,SAAO,QAAQ,IAAI,OAAnB;AACH,CAPY;;AASA,wBAAgB,UAAC,IAAD,EAAe;AACxC,MAAM,GAAG,GAAG,IAAI,IAAJ,EAAZ;AACA,MAAM,IAAI,GAAG,GAAG,CAAC,OAAJ,KAAgB,IAAI,CAAC,OAAL,EAA7B;AACA,MAAM,aAAa,GAAG,IAAI,GAAG,IAAP,GAAc,EAApC;AACA,MAAM,WAAW,GAAG,aAAa,GAAG,EAApC;AACA,MAAM,UAAU,GAAG,WAAW,GAAG,EAAjC;AACA,MAAM,WAAW,GAAG,UAAU,GAAG,CAAjC;AACA,MAAM,YAAY,GAAG,UAAU,GAAG,EAAlC;AACA,MAAM,WAAW,GAAG,UAAU,GAAG,GAAjC;;AAEA,MAAI,aAAa,GAAG,EAApB,EAAwB;AACpB,8CAAe,IAAI,CAAC,KAAL,CAAW,aAAX,CAAf;AACH,GAFD,MAEO,IAAI,WAAW,GAAG,EAAlB,EAAsB;AACzB,8CAAe,IAAI,CAAC,KAAL,CAAW,WAAX,CAAf;AACH,GAFM,MAEA,IAAI,UAAU,GAAG,CAAjB,EAAoB;AACvB,WAAO,OAAP;AACH,GAFM,MAEA,IAAI,UAAU,GAAG,EAAjB,EAAqB;AACxB,8CAAe,IAAI,CAAC,KAAL,CAAW,UAAX,CAAf;AACH,GAFM,MAEA,IAAI,UAAU,GAAG,GAAjB,EAAsB;AACzB,8CAAe,IAAI,CAAC,KAAL,CAAW,WAAX,CAAf;AACH,GAFM,MAEA,IAAI,UAAU,GAAG,MAAM,CAAvB,EAA0B;AAC7B,8CAAe,IAAI,CAAC,KAAL,CAAW,YAAX,CAAf;AACH,GAFM,MAEA,IAAI,UAAU,GAAG,MAAM,CAAvB,EAA0B;AAC7B,WAAO,WAAP;AACH,GAFM,MAEA;AACH,8CAAe,IAAI,CAAC,KAAL,CAAW,WAAX,CAAf;AACH;AACJ,CA3BY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnDb;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;IAca,gB;;;;;AACT,4BAAY,KAAZ,EAAyC;AAAA;;AAAA;;AACrC,0FAAM,KAAN;;AAyBI,4BAAkB,UAAC,EAAD,EAAe;AACrC,UAAM,EAAE,GAAG,QAAQ,CAAC,aAAT,YAA2B,EAA3B,EAAX;AACA,QAAE,IAAI,EAAE,CAAC,cAAH,CAAkB;AAAE,aAAK,EAAE;AAAT,OAAlB,CAAN;AACH,KAHO;;AAKA,6BAAmB,YAAK;AAC5B,aAAO,KAAP,KAAiB,WAAjB,IAAgC,KAAK,CAAC,OAAN,CAAc,IAAd,EAAhC;AACA,aAAO,OAAP,KAAmB,WAAnB,IAAkC,OAAO,CAAC,MAAR,CAAe,OAAf,EAAlC;AACH,KAHO;;AAKA,gCAAsB,UAAC,KAAD,EAAkB;AAC5C,cAAQ,CAAC,aAAT,CACI,IAAI,WAAJ,CAAgB,oBAAhB,EACI;AACI,cAAM,EAAE;AACJ,eAAK,EAAE;AADH;AADZ,OADJ,CADJ;AAQH,KATO;;AAYR,2BAAiB,YAAK;AAAA,UACV,IADU,GACD,MAAK,KADJ,CACV,IADU;AAAA,UAEV,QAFU,GAEG,MAAK,KAFR,CAEV,QAFU;;AAGlB,UAAI,QAAJ,EAAc;AACV,cAAK,QAAL,CAAc;AAAE,gBAAM,EAAE;AAAV,SAAd;;AACA,kBAAU,CAAC,YAAK;AACZ,gBAAK,gBAAL;;AACA,mDAAuB,QAAvB;AACH,SAHS,EAGP,GAHO,CAAV;AAIH,OAND,MAMO;AACH,cAAK,QAAL,CAAc;AAAE,iBAAO,EAAE,IAAX;AAAiB,gBAAM,EAAE;AAAzB,SAAd,EAA+C,YAAK;AAChD,cAAM,aAAa,GAAG,KAAK,CAAC,MAAN,CAAa,wDAAb,CAAtB;AACA,uBAAa,CAAC,GAAd,iDAA2D,IAAI,CAAC,EAAhE,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,gBAAM,IAAI,GAAG,GAAG,CAAC,IAAJ,CAAS,IAAtB;;AACA,kBAAK,QAAL,CAAc;AAAE,sBAAQ,EAAE,IAAZ;AAAkB,qBAAO,EAAE;AAA3B,aAAd;;AACA,sBAAU,CAAC,YAAK;AACZ,oBAAK,gBAAL;;AACA,uDAAuB,IAAvB;AACH,aAHS,EAGP,GAHO,CAAV;AAIH,WARL,EASK,KATL,CASW,aAAG;AAAA,mBAAI,OAAO,CAAC,KAAR,CAAc,+BAAd,EAA+C,GAA/C,CAAJ;AAAA,WATd;AAUH,SAZD;AAaH;;AAED,YAAK,mBAAL,CAAyB,IAAI,CAAC,KAA9B;AACH,KA1BD;;AA4BA,gCAAsB,YAAK;AAAA,UACf,IADe,GACN,MAAK,KADC,CACf,IADe;;AAGvB,YAAK,QAAL,CAAc;AAAE,cAAM,EAAE;AAAV,OAAd,EAAiC,YAAK;AAClC,kBAAU,CAAC,YAAK;AACZ,gBAAK,gBAAL;;AACA,mDAAuB,IAAI,CAAC,IAA5B;AACH,SAHS,EAGP,GAHO,CAAV;AAIH,OALD;;AAMA,cAAQ,CAAC,cAAT,CAAwB,IAAI,CAAC,EAA7B,EAAiC,cAAjC;;AACA,YAAK,mBAAL,CAAyB,IAAI,CAAC,KAA9B;AACH,KAXD;;AAcQ,kCAAwB,UAAC,MAAD,EAAmB;AAAA,wBACvB,MAAK,KADkB;AAAA,UACvC,IADuC,eACvC,IADuC;AAAA,UACjC,KADiC,eACjC,KADiC;;AAE/C,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAI,WAAW,aAAM,QAAQ,CAAC,aAAT,CAAuB,qBAAvB,IAAiD,QAAQ,CAAC,aAAT,CAAuB,qBAAvB,EAAkE,IAAnH,GAA0H,MAAM,CAAC,QAAP,CAAgB,IAAhJ,CAAf;AACA,mBAAW,GAAG,WAAW,CAAC,QAAZ,CAAqB,GAArB,IAA4B,WAAW,CAAC,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAA5B,GAAwD,WAAtE,CAF+B,CAEoD;;AACnF,YAAI,CAAC,WAAL,EAAkB;;AAClB,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B,EAA/B,EAAmC;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,iBAA9B,EAAiD,KAAjD,CAAN;AAAA,aAAnC,EAAkG,iBAAlG,EAAqH,IAAI,CAAC,EAA1H,EAA8H,IAAI,CAAC,EAAnI;AACA;;AAEJ,eAAK,IAAL;AACI,4CAAiB,WAAjB,EAA8B;AAAA,qBAAM,iCAAkB,SAAlB,EAA6B,iBAA7B,EAAgD,KAAhD,CAAN;AAAA,aAA9B,EAA4F,iBAA5F,EAA+G,IAAI,CAAC,EAApH,EAAwH,IAAI,CAAC,EAA7H;AACA;;AAEJ,eAAK,IAAL;AACI,sDAAoB,iBAApB,CAAsC,WAAtC,EAAmD;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,iBAA9B,EAAiD,KAAjD,CAAN;AAAA,aAAnD,EAAkH,iBAAlH,EAAqI,IAAI,CAAC,EAA1I,EAA8I,IAAI,CAAC,EAAnJ;AACA;;AACJ,eAAK,MAAL;AACI,8CAAgB,aAAhB,CAA8B,IAAI,CAAC,KAAnC,EAA0C,WAA1C,EAAuD,QAAvD,EAAiE;AAAA,qBAAM,iCAAkB,MAAlB,EAA0B,iBAA1B,EAA6C,KAA7C,CAAN;AAAA,aAAjE,EAA4H,iBAA5H,EAA+I,IAAI,CAAC,EAApJ,EAAwJ,IAAI,CAAC,EAA7J;AACA;;AACJ,eAAK,QAAL;AACI,kBAAK,SAAL,CAAe,WAAf;;AAhBR;AAkBH;AACJ,KAzBO;;AA2BA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAY,iBAAO,WAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACR,oBADQ,GACC,MAAK,KADN,CACR,IADQ;AAEV,yBAFU,GAEE;AAAE,qBAAG,EAAE,WAAW,GAAG,GAAd,GAAoB,IAAI,CAAC,EAAhC;AAAoC,uBAAK,EAAE,IAAI,CAAC;AAAhD,iBAFF;AAAA;AAAA;AAAA,uBAMF,SAAS,CAAC,KAAV,CAAgB,SAAhB,CANE;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAQR,uBAAO,CAAC,GAAR,CAAY,6BAAZ;;AARQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAZ;;AAAA;AAAA;AAAA;AAAA;;AAnHJ,UAAK,KAAL,GAAa;AACT,YAAM,EAAE,KADC;AAET,cAAQ,EAAE,EAFD;AAGT,aAAO,EAAE;AAHA,KAAb;AAFqC;AAOxC;;;;wCAEgB;AAAA;;AAAA,UACL,IADK,GACI,KAAK,KADT,CACL,IADK;AAIb,UAAM,MAAM,GAAG,MAAM,CAAC,QAAP,CAAgB,IAAhB,CAAqB,KAArB,CAA2B,CAA3B,CAAf;AAEA,WAAK,gBAAL;AACA,+CAAuB,IAAI,CAAC,IAA5B;;AAEA,UAAI,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,EAA9B,EAAkC;AAAE;AAChC,kBAAU,CAAC,YAAK;AACZ,gBAAI,CAAC,eAAL,CAAqB,MAArB;;AACA,gBAAI,CAAC,cAAL;AACH,SAHS,EAGP,IAHO,CAAV;AAIH;AACJ;AA0GH;;;;;;;;6BAMe;AAAA;;AAAA,UACD,IADC,GACQ,KAAK,KADb,CACD,IADC;AAAA,wBAE6B,KAAK,KAFlC;AAAA,UAED,MAFC,eAED,MAFC;AAAA,UAEO,QAFP,eAEO,QAFP;AAAA,UAEiB,OAFjB,eAEiB,OAFjB,EAGV;AACD;;AACE,aACI;AAAK,iBAAS,+BAAwB,IAAI,CAAC,QAAL,IAAiB,UAAzC,CAAd;AAAqE,UAAE,EAAE,IAAI,CAAC;AAA9E,SACK,IAAI,CAAC,QAAL,IAAiB;AAAK,iBAAS,EAAC;AAAf,QADtB,EAGI;AAAK,iBAAS,4CAAqC,IAAI,CAAC,QAAL,IAAiB,UAAtD,cAAoE,IAAI,CAAC,EAAzE;AAAd,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,IAAI,CAAC,KAAL,IAAc;AAAK,iBAAS,EAAC;AAAf,SAA+B,gCAA/B,CADnB,EAEK,iCAAY,IAAI,CAAC,IAAjB,KAA0B;AAAK,iBAAS,EAAC;AAAf,SAAqC,gCAArC,CAF/B,EAGK,iCAAY,IAAI,CAAC,IAAjB,KAA0B;AAAM,iBAAS,EAAC;AAAhB,SAAgC,GAAhC,CAH/B,EAII;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,6BAAQ,IAAI,CAAC,IAAb,KAAsB,iCAAY,IAAI,CAAC,IAAjB,CAAvB,KAAkD,CAAC,IAAI,CAAC,KAAxD,IAAiE,uCAAkB,IAAI,CAAC,IAAvB,CADtE,CAJJ,EAOI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,iCAAY,IAAI,CAAC,IAAjB,CAAD,IAA2B,CAAC,6BAAQ,IAAI,CAAC,IAAb,CAA5B,IAAkD,iCAAY,IAAI,CAAC,IAAjB,EAAuB,GAAvB,EAA4B,WAA5B,CADvD,CAPJ,CADJ,EAYI;AAAK,iBAAS,EAAC;AAAf,QAZJ,EAaI;AAAK,iBAAS,EAAC;AAAf,SACI,gCAAK,IAAI,CAAC,KAAV,CADJ,CAbJ,CADJ,EAkBI;AAAK,iBAAS,EAAC;AAAf,SACK,IAAI,CAAC,MAAL,IAAe;AAAK,iBAAS,EAAC;AAAf,SACX,IAAI,CAAC,MADM,CADpB,EAIK,IAAI,CAAC,MAAL,IAAe;AAAK,iBAAS,EAAC;AAAf,QAJpB,EAMG;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,qBAAL,CAA2B,QAA3B,CAAN;AAAA;AAAzC,QANH,EAOI;AAAK,iBAAS,EAAC,kBAAf;AAAkC,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,qBAAL,CAA2B,MAA3B,CAAN;AAAA;AAA3C,QAPJ,EAQI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAN;AAAA;AAAzC,QARJ,EASI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAN;AAAA;AAAzC,QATJ,EAUI;AAAK,iBAAS,EAAC,kBAAf;AAAkC,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAN;AAAA;AAA3C,QAVJ,CAlBJ,CADJ,EAgCK,OAAO,GACJ;AAAK,iBAAS,EAAC;AAAf,SAAuD,oBAAC,eAAD,EAAO,IAAP,CAAvD,CADI,GAEJ;AAAK,iBAAS,EAAC,gBAAf;AAAgC,+BAAuB,EAAE;AAAE,gBAAM,EAAE,MAAM,GAAG,QAAH,GAAc,IAAI,CAAC;AAAnC;AAAzD,QAlCR,EAmCI;AAAK,iBAAS,EAAC;AAAf,SACK;AAAK,iBAAS,EAAC,uBAAf;AAAuC,eAAO,EAAE,MAAM,GAAG,KAAK,mBAAR,GAA8B,KAAK;AAAzF,SACI,IAAI,CAAC,OAAL,GAAe,MAAM,GAClB,0CACI;AAAK,iBAAS,EAAC;AAAf,SAA8B,0BAA9B,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,CADkB,GAMlB,0CACI;AAAK,iBAAS,EAAC;AAAf,SAA8B,+DAA9B,CADJ,EAII;AAAK,iBAAS,EAAC;AAAf,QAJJ,CANH,GAaG,IAdP,CADL,CAnCJ,CAHJ,CADJ;AA+DH;;;;EA7MiC,KAAK,CAAC,S;;AAA5C,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;;AAcA,IAAM,WAAW,GAAG,CAApB;AACA,IAAM,aAAa,GAAG,CAAtB;;IAEa,0B;;;;;AACT,sCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,oGAAM,KAAN;;AA0BI,yBAAe,YAAK;AAAA,UAChB,KADgB,GACN,MAAK,KADC,CAChB,KADgB;;AAExB,UAAI,CAAC,KAAK,CAAC,MAAX,EAAmB;AACf;AACH;;AACD,UAAI,oBAAJ,EAA0B;AACtB,cAAK,oBAAL,GAA4B,IAAI,oBAAJ,CAAyB,iBAAO,EAAG;AAC3D,iBAAO,CAAC,OAAR,CAAgB,eAAK,EAAG;AACpB,kBAAK,eAAL,CAAqB,KAAK,CAAC,cAA3B;AACH,WAFD;AAGH,SAJ2B,CAA5B;AAKH;;AACD,YAAK,sBAAL;AACH,KAbO;;AAeA,mCAAyB,YAAK;AAAA,UAC1B,KAD0B,GAChB,MAAK,KADW,CAC1B,KAD0B;AAAA,UAE1B,UAF0B,GAEX,MAAK,KAFM,CAE1B,UAF0B;;AAIlC,UAAI,KAAK,CAAC,MAAN,GAAe,UAAnB,EAA+B;AAC3B,cAAK,oBAAL,CAA0B,OAA1B,CACI,QAAQ,CAAC,gBAAT,CAA0B,qBAA1B,EAAiD,UAAU,GAAG,aAA9D,CADJ;AAGH;AACJ,KATO;;AAWA,yBAAe,UAAC,QAAD,EAAsB;AAAA,UACjC,eADiC,GACb,MAAK,KADQ,CACjC,eADiC;AAEzC,qBAAe,CAAC,QAAD,CAAf;AACH,KAHO;;AAKA,4BAAkB,UAAC,cAAD,EAA4B;AAAA,UAC1C,UAD0C,GAC3B,MAAK,KADsB,CAC1C,UAD0C;;AAElD,UAAI,cAAJ,EAAoB;AAChB,cAAK,QAAL,CAAc;AAAE,oBAAU,EAAE,UAAU,GAAG;AAA3B,SAAd,EAAwD,YAAK;AACzD,gBAAK,YAAL;AACH,SAFD;AAGH;AACJ,KAPO;;AAxDJ,UAAK,KAAL,GAAa;AACT,gBAAU,EAAE,WAAW,GAAG;AADjB,KAAb;AAFa;AAKhB;;;;wCAKgB;AACb,WAAK,YAAL;AACH;;;uCAEkB,S,EAAS;AACxB,UAAI,KAAK,KAAL,CAAW,KAAX,CAAiB,MAAjB,KAA4B,SAAS,CAAC,KAAV,CAAgB,MAAhD,EAAwD;AACpD,aAAK,YAAL;AACH;AACJ;;;2CAEmB;AAChB,UAAI,KAAK,oBAAT,EAA+B;AAC3B,aAAK,oBAAL,CAA0B,UAA1B;AACA,aAAK,oBAAL,GAA4B,IAA5B;AACH;AACJ;;;6BA0CY;AAAA;;AAAA,wBACuD,KAAK,KAD5D;AAAA,UACD,KADC,eACD,KADC;AAAA,UACM,aADN,eACM,aADN;AAAA,UACqB,aADrB,eACqB,aADrB;AAAA,UACoC,cADpC,eACoC,cADpC;AAAA,UAEW,UAFX,GAE0B,KAAK,KAF/B,CAED,UAFC;AAGT,aACI,0CACI;AAAK,aAAK,EAAE;AAAE,iBAAO,EAAE;AAAX,SAAZ;AAAiC,+BAAuB,EAAE;AACtD,gBAAM;AADgD;AAA1D,QADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAAwC;AAAG,YAAI,EAAE;AAAT,SAAyB,aAAzB,CAAxC,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI,iCAAK;AAAO,iBAAS,EAAC,cAAjB;AAAgC,YAAI,EAAC,OAArC;AAA6C,eAAO,EAAE,CAAC,cAAvD;AAAuE,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,YAAL,CAAkB,KAAlB,CAAN;AAAA;AAAhF,QAAL,EAAuH,8GAAvH,CADJ,EAEI,iCAAK;AAAO,iBAAS,EAAC,cAAjB;AAAgC,YAAI,EAAC,OAArC;AAA6C,eAAO,EAAE,cAAtD;AAAsE,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,YAAL,CAAkB,IAAlB,CAAN;AAAA;AAA/E,QAAL,EAAqH,8GAArH,CAFJ,CAFJ,CALJ,EAYI;AAAK,iBAAS,EAAC;AAAf,SAEK,CAAC,CAAC,KAAK,CAAC,MAAR,IAAkB,KAAK,CAAC,MAAN,CAAa,UAAC,IAAD,EAAO,KAAP;AAAA,eAAiB,KAAK,GAAG,UAAzB;AAAA,OAAb,EAAkD,GAAlD,CAAsD,UAAC,IAAD,EAAO,KAAP;AAAA,eACrE,oBAAC,mCAAD,EAAiB;AACb,cAAI,EAAE,IADO;AAEb,aAAG,EAAE,IAAI,CAAC,EAFG;AAGb,eAAK,EAAE,IAAI,CAAC,KAHC;AAIb,eAAK,EAAI;AAJI,SAAjB,CADqE;AAAA,OAAtD,CAFvB,CAZJ,CADJ;AA0BH;;;;EAjG2C,KAAK,CAAC,S;;AAAtD,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICTa,8B;;;;;;;;;;;;;6BAIH;AAAA,wBACgC,KAAK,KADrC;AAAA,UACM,IADN,eACM,IADN;AAAA,UACY,eADZ,eACY,eADZ;AAAA,UAEK,WAFL,GAEoB,IAFpB,CAEK,WAFL;AAIF,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,iBAAS,EAAC,0CADd;AAEI,YAAI,wCACA,IAAI,CAAC,GADL,sBAEQ,IAAI,CAAC,OAFb,qBAEsC,GAFtC,SAE4C,WAAW,yBAAkB,WAAlB,IAAkC,EAFzF,SAE8F,IAAI,CAAC,MAAL,eAAyB,EAFvH,SAE4H,eAAe,0BAAkB,eAAlB,IAAoC,EAF/K;AAFR,SAMI;AACI,aAAK,EAAC,MADV;AAEI,WAAG,EAAE,IAAI,CAAC,MAFd;AAGI,WAAG,EAAC,6BAHR;AAII,aAAK,EAAC,6BAJV;AAKI,cAAM,EAAC;AALX,QANJ,EAaI;AACI,aAAK,EAAE;AAAE,wBAAc,EAAE;AAAlB,SADX;AAEI,iBAAS,EAAE;AAFf,QAbJ,CADJ,CADJ,CADJ,CADJ;AA0BH;;;;EAlC+C,KAAK,CAAC,S;;AAA1D,wE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;AACA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AAqBA,SAAgB,sBAAhB,CAAuC,KAAvC,EAAyE;AAAA,MAC7D,cAD6D,GACA,KADA,CAC7D,cAD6D;AAAA,MAC7C,UAD6C,GACA,KADA,CAC7C,UAD6C;AAAA,MACjC,aADiC,GACA,KADA,CACjC,aADiC;AAAA,MAClB,aADkB,GACA,KADA,CAClB,aADkB;;AAAA,0BAGvC,iBAA6B,EAA7B,CAHuC;AAAA;AAAA,MAG9D,KAH8D;AAAA,MAGvD,YAHuD;;AAAA,2BAInC,iBAAkB,KAAlB,CAJmC;AAAA;AAAA,MAI9D,UAJ8D;AAAA,MAIlD,WAJkD;;AAMrE,oBAAU,YAAK;AAEX,gBAAY;AACZ,QAAM,QAAQ,GAAG,WAAW,CAAC,YAAK;AAC9B,kBAAY;AACf,KAF2B,EAEzB,KAFyB,CAA5B;AAIA,WAAO;AAAA,aAAM,aAAa,CAAC,QAAD,CAAnB;AAAA,KAAP,CAPW,CAO2B;AAEzC,GATD,EASG,CAAC,UAAD,CATH;;AAWA,MAAM,YAAY,GAAG,SAAf,YAAe,GAAK;AACtB,QAAI,UAAJ,EAAgB;AACZ,UAAM,aAAa,GAAG,KAAK,CAAC,MAAN,CAAa,wDAAb,CAAtB;AACA,aAAO,aAAa,CAAC,GAAd,6CAAuD,UAAvD,GACF,IADE,CACG,UAAC,GAAD,EAAa;AAEf,YAAM,KAAK,GAAG,GAAG,CAAC,IAAJ,CAAS,KAAvB;AACA,YAAI,WAAW,GAAG,CAAC,CAAC,cAAF,GAAmB,CAAC,CAAC,MAAF,CAAS,KAAT,EAAgB,cAAI;AAAA,iBAAI,cAAc,CAAC,QAAf,CAAwB,IAAI,CAAC,EAA7B,CAAJ;AAAA,SAApB,CAAnB,GAA+E,EAAjG;AAEA,mBAAW,CAAC,OAAZ,CAAoB,oBAAU,EAAG;AAC7B,oBAAU,CAAC,QAAX,GAAsB,IAAtB;AACH,SAFD;AAIA,YAAI,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC,OAAN,EAAH,GAAqB,KAA/C;AAEA,YAAI,qBAAqB,GAAG,CAA5B;AACA,YAAM,GAAG,GAAG,IAAI,IAAJ,EAAZ;AACA,YAAM,cAAc,GAAG,IAAI,IAAJ,CAAS,GAAG,CAAC,OAAJ,KAAgB,IAAI,KAA7B,CAAvB;AACA,iBAAS,CAAC,OAAV,CAAkB,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC9B,cAAI,IAAI,CAAC,IAAL,GAAY,cAAZ,IAA8B,KAAK,KAAK,qBAA5C,EAAmE;AAC/D,gBAAI,CAAC,KAAL,GAAa,IAAb;AACA,iCAAqB;AACxB;AACJ,SALD;AAOA,YAAM,QAAQ,gCAAO,WAAP,sBAAuB,SAAvB,EAAd;AACA,oBAAY,CAAC,QAAD,CAAZ;AACH,OAxBE,EAwBA,IAxBA,CAwBK;AAAA,eAAM,KAAK,CAAC,OAAN,CAAc,IAAd,EAAN;AAAA,OAxBL,EAyBF,KAzBE,CAyBI,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,+BAAd,EAA+C,GAA/C,CAAJ;AAAA,OAzBP,CAAP;AA0BH;AACJ,GA9BD;;AAiCA,SACI;AAAK,aAAS,EAAC;AAAf,KACI,oBAAC,uDAAD,EAA2B;AACvB,iBAAa,EAAE,aADQ;AAEvB,iBAAa,EAAE,aAFQ;AAGvB,SAAK,EAAE,KAHgB;AAIvB,kBAAc,EAAE,UAJO;AAKvB,mBAAe,EAAE;AALM,GAA3B,CADJ,CADJ;AAWH;;AA7DD;AA+DA,sBAAsB,CAAC,cAAvB,GAAwC,iCAAxC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICxFa,M;;;;;;;;;;;;;6BACI;AACT,aACI;AAAK,UAAE,EAAC;AAAR,SACI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QADJ,EAEI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QAFJ,EAGI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QAHJ,EAII;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QAJJ,EAKI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QALJ,EAMI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QANJ,EAOI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QAPJ,EAQI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QARJ,CADJ;AAYH;;;;EAduB,KAAK,CAAC,S;;AAAlC,wB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;IAWa,0B;;;;;AAGT,sCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,oGAAM,KAAN;;AAOI,kCAAwB,YAAK;AACjC,UAAI,mBAAmB,GAAG,IAA1B;AACA,UAAI,MAAM,GAAG,IAAb;AACA,cAAQ,CAAC,gBAAT,CAA0B,QAA1B,EAAoC,UAAC,CAAD,EAAM;AAAA,YAC9B,QAD8B,GACjB,MAAK,KADY,CAC9B,QAD8B;AAEtC,2BAAmB,GAAG,mBAAmB,GAAG,mBAAH,GAAyB,QAAQ,CAAC,sBAAT,CAAgC,wBAAhC,EAA0D,CAA1D,CAAlE;AACA,cAAM,GAAG,mBAAmB,IAAI,CAAC,MAAxB,GAAiC,mBAAmB,CAAC,qBAApB,GAA4C,GAA5C,GAAkD,MAAM,CAAC,OAA1F,GAAoG,MAA7G;;AACA,YAAI,MAAM,CAAC,OAAP,GAAiB,CAAjB,GAAqB,MAAzB,EAAiC;AAC7B,cAAI,CAAC,QAAL,EAAe;AACX,kBAAK,QAAL,CAAc;AAAE,sBAAQ,EAAE;AAAZ,aAAd;AACH;AACJ,SAJD,MAKK;AACD,cAAI,QAAJ,EAAc;AACV,kBAAK,QAAL,CAAc;AAAE,sBAAQ,EAAE;AAAZ,aAAd;AACH;AACJ;AACJ,OAdD;AAeH,KAlBO;;AANJ,UAAK,KAAL,GAAa;AACT,uBAAiB,EAAE,EADV;AAET,cAAQ,EAAE;AAFD,KAAb;AAFa;AAMhB;;;;sCAsBsB;AAAA;;AAAA,UACX,YADW,GACM,KAAK,KADX,CACX,YADW;AAEnB,UAAM,aAAa,GAAG,KAAK,CAAC,MAAN,CAAa,wDAAb,CAAtB;AACA,mBAAa,CAAC,GAAd,gCAA0C,YAA1C,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,cAAI,CAAC,QAAL,CAAc;AAAE,2BAAiB,EAAE,GAAG,CAAC,IAAJ,CAAS;AAA9B,SAAd;AACH,OAHL;AAIH;;;wCAGgB;AAAA;;AACb,WAAK,qBAAL;AAEA,WAAK,eAAL;AACA,iBAAW,CAAC,YAAK;AACb,cAAI,CAAC,eAAL;AACH,OAFU,EAER,KAFQ,CAAX;AAGH;;;6BAEK;AAAA,wBACsC,KAAK,KAD3C;AAAA,UACM,iBADN,eACM,iBADN;AAAA,UACyB,QADzB,eACyB,QADzB;AAEF,UAAM,wBAAwB,GAAG,iBAAiB,CAAC,MAAlB,GAA2B,CAA3B,GAA+B;AAAE,mBAAW,MAAb;AAAqB,wBAAgB;AAArC,OAA/B,GAA+E;AAAE,mBAAW,MAAb;AAAqB,wBAAgB;AAArC,OAAhH;AACA,UAAM,kBAAkB,GAAG,UAAU,CAAC,wBAAD,EAA2B;AAAE,oBAAY;AAAd,OAA3B,CAArC;AACA,aACI;AAAK,iBAAS,EAAE,kBAAhB;AAAoC,aAAK,EAAE;AAA3C,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,4CAAU,eAAV,EADJ,EAEI,oBAAC,2BAAD,EAAmB,IAAnB,CAFJ,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,S,GAAA,EAA+B,kC,GAAA,EAAQ,iBAAR,EAAkC,GAAlC,CAA/B,CALJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SAA8B,kCAAO,kBAAP,EAAoC,GAApC,CAA9B,CANJ,CADJ;AAWH;;;;EAjE2C,KAAK,CAAC,S;;AACpC,4CAAiB,4BAAjB;AADlB,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdA,mBAAO,CAAC,mCAAD,CAAP;;IAEa,kB;;;;;;;;;;;;;6BACI;AACT,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,EAGI;AAAK,iBAAS,EAAC;AAAf,QAHJ,CADJ;AAOH;;;;EATmC,KAAK,CAAC,S;;AAA9C,gD;;;;;;;;;;;;;;;;;;;;;;;ACFA;;AAEA;;AACA;;AAKa,yCAAiC,YAAK;AAAA,0BACzB,iBAAkC,QAAlC,CADyB;AAAA;AAAA,MAC1C,IAD0C;AAAA,MACpC,OADoC;;AAAA,2BAEvB,iBAAiB,EAAjB,CAFuB;AAAA;AAAA,MAE1C,KAF0C;AAAA,MAEnC,QAFmC;;AAAA,2BAGZ,iBAAS,KAAT,CAHY;AAAA;AAAA,MAG1C,WAH0C;AAAA,MAG7B,aAH6B;;AAAA,2BAIjB,iBAAS,EAAT,CAJiB;AAAA;AAAA,MAI1C,QAJ0C;AAAA,MAIhC,WAJgC;;AAMjD,MAAM,aAAa,GAAG,SAAhB,aAAgB,GAAK;AACzB,QAAI,IAAI,KAAK,QAAb,EAAuB;AACrB,aACE,oBAAC,2EAAD,EAAqC;AACnC,aAAK,EAAE,KAD4B;AAEnC,gBAAQ,EAAE,QAFyB;AAGnC,mBAAW,EAAE,WAHsB;AAInC,gBAAQ,EAAE,QAJyB;AAKnC,mBAAW,EAAE,WALsB;AAMnC,sBAAc,EAAE,aANmB;AAOnC,eAAO,EAAE;AAP0B,OAArC,CADF;AAWD;;AACD,WACE,oBAAC,2EAAD,EAAqC;AACnC,WAAK,EAAE,KAD4B;AAEnC,cAAQ,EAAE,QAFyB;AAGnC,iBAAW,EAAE,WAHsB;AAInC,cAAQ,EAAE,QAJyB;AAKnC,iBAAW,EAAE,WALsB;AAMnC,oBAAc,EAAE,aANmB;AAOnC,aAAO,EAAE;AAP0B,KAArC,CADF;AAUD,GAxBD;;AA0BA,SAAO;AAAK,aAAS,EAAC;AAAf,KAAoD,aAAa,EAAjE,CAAP;AACD,CAjCY,C;;;;;;;;;;;;;;;ACRb;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAaa,+CAAuC,UAAC,KAAD,EAAqD;AAAA,MAE/F,KAF+F,GAEd,KAFc,CAE/F,KAF+F;AAAA,MAExF,QAFwF,GAEd,KAFc,CAExF,QAFwF;AAAA,MAE9E,QAF8E,GAEd,KAFc,CAE9E,QAF8E;AAAA,MAEpE,WAFoE,GAEd,KAFc,CAEpE,WAFoE;AAAA,MAEvD,OAFuD,GAEd,KAFc,CAEvD,OAFuD;AAAA,MAE9C,WAF8C,GAEd,KAFc,CAE9C,WAF8C;AAAA,MAEjC,cAFiC,GAEd,KAFc,CAEjC,cAFiC;;AAAA,8BAanG,6BAAmB,QAAnB,GAbmG;AAAA,MAKrG,SALqG,yBAKrG,SALqG;AAAA,MAMrG,IANqG,yBAMrG,IANqG;AAAA,MAOrG,eAPqG,yBAOrG,eAPqG;AAAA,MAQrG,cARqG,yBAQrG,cARqG;AAAA,MASrG,eATqG,yBASrG,eATqG;AAAA,MAUrG,iBAVqG,yBAUrG,iBAVqG;AAAA,MAWrG,cAXqG,yBAWrG,cAXqG;AAAA,MAYrG,SAZqG,yBAYrG,SAZqG;;AAevG,oBAAU,YAAK;AACb,WAAO,CAAC,GAAR,CAAY,SAAZ,EAAuB,IAAvB;AACD,GAFD,EAEG,CAAC,SAAD,EAAY,SAAZ,EAAuB,IAAvB,CAFH;;AAIA,MAAM,QAAQ,GAAG,SAAX,QAAW,GAAK;AACpB,qBAAiB,CAAC,KAAD,EAAQ,WAAR,CAAjB;AACD,GAFD;;AAIA,MAAM,YAAY,GAAG,SAAf,YAAe,GAAK;AACxB,kBAAc,CAAC,QAAD,CAAd;AACD,GAFD;;AAIA,MAAM,OAAO,GAAG,SAAV,OAAU,GAAK;AACnB,aAAS;AACV,GAFD;;AAIA,MAAM,iBAAiB,GAAG,SAApB,iBAAoB,CAAC,aAAD,EAA2B;AACnD,mBAAe,CAAC,aAAD,CAAf;AACD,GAFD;;AAIA,UAAQ,IAAR;AACE,SAAK,kCAAc,KAAnB;AACE,aACE,oBAAC,qFAAD,EAA0C;AAC1C,aAAK,EAAE,KADmC;AAE1C,mBAAW,EAAE,WAF6B;AAG1C,gBAAQ,EAAE,QAHgC;AAI1C,sBAAc,EAAE,cAJ0B;AAK1C,eAAO,EAAE,OALiC;AAM1C,uBAAe,EAAE,eANyB;AAO1C,sBAAc,EAAE,cAP0B;AAQ1C,gBAAQ,EAAE,QARgC;AAS1C,iBAAS,EAAE;AAT+B,OAA1C,CADF;;AAcF,SAAK,kCAAc,QAAnB;AACE,aACE,oBAAC,2FAAD,EAA6C;AAC3C,aAAK,EAAE,KADoC;AAE3C,gBAAQ,EAAE,QAFiC;AAG3C,mBAAW,EAAE,WAH8B;AAI3C,kBAAU,EAAE,YAJ+B;AAK3C,cAAM,EAAE,OALmC;AAM3C,gBAAQ,EAAE,QANiC;AAO3C,iBAAS,EAAE;AAPgC,OAA7C,CADF;;AAYA,SAAK,kCAAc,aAAnB;AACE,aACE,oBAAC,mGAAD,EAAiD;AAC/C,iBAAS,EAAE,OADoC;AAE/C,uBAAe,EAAE;AAF8B,OAAjD,CADF;;AAOF,SAAK,kCAAc,MAAnB;AACE;AACA,aAAO,oBAAC,oDAAD,EAA2C,IAA3C,CAAP;;AAEJ;AACE,aAAO,IAAP;AA1CJ;AA4CD,CA/EY,C;;;;;;;;;;;;;;;ACnBb;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAaa,+CAAuC,UAAC,KAAD,EAAqD;AAAA,MAC/F,KAD+F,GACd,KADc,CAC/F,KAD+F;AAAA,MACxF,QADwF,GACd,KADc,CACxF,QADwF;AAAA,MAC9E,QAD8E,GACd,KADc,CAC9E,QAD8E;AAAA,MACpE,WADoE,GACd,KADc,CACpE,WADoE;AAAA,MACvD,OADuD,GACd,KADc,CACvD,OADuD;AAAA,MAC9C,WAD8C,GACd,KADc,CAC9C,WAD8C;AAAA,MACjC,cADiC,GACd,KADc,CACjC,cADiC;;AAAA,8BAWnG,6BAAmB,OAAnB,GAXmG;AAAA,MAGrG,SAHqG,yBAGrG,SAHqG;AAAA,MAIrG,IAJqG,yBAIrG,IAJqG;AAAA,MAKrG,eALqG,yBAKrG,eALqG;AAAA,MAMrG,cANqG,yBAMrG,cANqG;AAAA,MAOrG,eAPqG,yBAOrG,eAPqG;AAAA,MAQrG,iBARqG,yBAQrG,iBARqG;AAAA,MASrG,cATqG,yBASrG,cATqG;AAAA,MAUrG,SAVqG,yBAUrG,SAVqG;;AAavG,oBAAU,YAAK;AACb,WAAO,CAAC,GAAR,CAAY,SAAZ,EAAuB,IAAvB;AACD,GAFD,EAEG,CAAC,SAAD,EAAY,SAAZ,EAAuB,IAAvB,CAFH;;AAIA,MAAM,QAAQ,GAAG,SAAX,QAAW,GAAK;AACpB,qBAAiB,CAAC,KAAD,EAAQ,WAAR,CAAjB;AACD,GAFD;;AAIA,MAAM,YAAY,GAAG,SAAf,YAAe,GAAK;AACxB,kBAAc,CAAC,QAAD,CAAd;AACD,GAFD;;AAIA,MAAM,OAAO,GAAG,SAAV,OAAU,GAAK;AACnB,aAAS;AACV,GAFD;;AAIA,MAAM,iBAAiB,GAAG,SAApB,iBAAoB,CAAC,aAAD,EAA2B;AACnD,mBAAe,CAAC,aAAD,CAAf;AACD,GAFD;;AAIA,UAAQ,IAAR;AACE,SAAK,kCAAc,KAAnB;AACE,aACE,oBAAC,qFAAD,EAA0C;AAC1C,aAAK,EAAE,KADmC;AAE1C,gBAAQ,EAAE,QAFgC;AAG1C,eAAO,EAAE,OAHiC;AAI1C,uBAAe,EAAE,eAJyB;AAK1C,sBAAc,EAAE,cAL0B;AAM1C,gBAAQ,EAAE,QANgC;AAO1C,iBAAS,EAAE;AAP+B,OAA1C,CADF;;AAYF,SAAK,kCAAc,QAAnB;AACE,aACE,oBAAC,2FAAD,EAA6C;AAC3C,aAAK,EAAE,KADoC;AAE3C,gBAAQ,EAAE,QAFiC;AAG3C,mBAAW,EAAE,WAH8B;AAI3C,kBAAU,EAAE,YAJ+B;AAK3C,cAAM,EAAE,OALmC;AAM3C,gBAAQ,EAAE,QANiC;AAO3C,iBAAS,EAAE,SAPgC;AAQ3C,gBAAQ,EAAE;AARiC,OAA7C,CADF;;AAcA,SAAK,kCAAc,aAAnB;AACE;AACA,uBAAiB,CAAC,KAAD,CAAjB;AACA,aAAO,IAAP;;AAEF,SAAK,kCAAc,MAAnB;AACE;AACA,aAAO,oBAAC,oDAAD,EAA2C,IAA3C,CAAP;;AAEJ;AACE,aAAO,IAAP;AAvCJ;AAyCD,CA1EY,C;;;;;;;;;;;;;;;;;ACnBb;;AAaa,oDAA4C,UAAC,KAAD,EAA0D;AAAA,MAEzG,KAFyG,GAEtB,KAFsB,CAEzG,KAFyG;AAAA,MAElG,QAFkG,GAEtB,KAFsB,CAElG,QAFkG;AAAA,MAExF,cAFwF,GAEtB,KAFsB,CAExF,cAFwF;AAAA,MAExE,eAFwE,GAEtB,KAFsB,CAExE,eAFwE;AAAA,MAEvD,OAFuD,GAEtB,KAFsB,CAEvD,OAFuD;AAAA,MAE9C,QAF8C,GAEtB,KAFsB,CAE9C,QAF8C;AAAA,MAEpC,SAFoC,GAEtB,KAFsB,CAEpC,SAFoC;;AAIjH,MAAM,gBAAgB,GAAG,SAAnB,gBAAmB,CAAC,CAAD,EAAM;AAC7B,YAAQ,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,CAAR;AACD,GAFD;;AAIA,MAAM,cAAc,GAAG,SAAjB,cAAiB,GAAK;AAC1B,YAAQ;AACT,GAFD;;AAIA,MAAM,kBAAkB,uBACrB,0CAAsB,aADD,EACiB,wBADjB,CAAxB;;AAIA,MAAM,mBAAmB,uBACtB,0CAAsB,kBADA,EACqB,4CADrB,CAAzB;;AAIA,SACE;AAAK,aAAS,EAAC;AAAf,KACE;AAAK,aAAS,EAAC;AAAf,KAAsC,mGAAtC,CADF,EAEE;AAAI,aAAS,EAAC;AAAd,KAAqB,gCAArB,CAFF,EAGE;AAAK,aAAS,yBAAkB,SAAS,IAAI,SAAS,KAAK,0CAAsB,aAAjD,GAAiE,OAAjE,GAA2E,EAA7F;AAAd,KACE;AAAO,SAAK,EAAE,KAAd;AAAqB,YAAQ,EAAE,gBAA/B;AAAiD,QAAI,EAAC,OAAtD;AAA8D,eAAW,EAAC;AAA1E,IADF,EAEE;AAAK,aAAS,EAAC,YAAf;AAA4B,WAAO,EAAE;AAAA,aAAM,QAAQ,CAAC,EAAD,CAAd;AAAA;AAArC,IAFF,EAGG,SAAS,IAAI;AAAG,aAAS,EAAC,YAAb;AAA0B,2BAAuB,EAAE;AAAE,YAAM,EAAE,kBAAkB,CAAC,SAAD;AAA5B;AAAnD,IAHhB,CAHF,EAQE;AAAK,aAAS,EAAC;AAAf,KAEE;AAAQ,aAAS,EAAC,sBAAlB;AAAyC,WAAO,EAAE;AAAlD,KAAgE,0BAAhE,CAFF,CARF,EAYG,SAAS,IAAI;AAAG,aAAS,EAAC,YAAb;AAA0B,2BAAuB,EAAE;AAAE,YAAM,EAAE,mBAAmB,CAAC,SAAD;AAA7B;AAAnD,IAZhB,EAaE;AAAK,aAAS,EAAC;AAAf,KACE;AAAM,aAAS,EAAC;AAAhB,KAAsB,8FAAtB,CADF,CAbF,EAgBE;AAAK,aAAS,EAAC;AAAf,KACE;AAAQ,aAAS,EAAC,0BAAlB;AAA6C,WAAO,EAAE;AAAtD,KAAuE,6DAAvE,CADF,EAEE;AAAQ,aAAS,EAAC,yBAAlB;AAA4C,WAAO,EAAE;AAArD,KAAqE,uDAArE,CAFF,CAhBF,EAoBE;AAAK,aAAS,EAAC;AAAf,KACE,iC,kEAAA,EAAmB;AAAG,QAAI,EAAC,GAAR;AAAY,WAAO,EAAE;AAAA,aAAM,OAAO,CAAC,QAAD,CAAb;AAAA;AAArB,KAA4C,gCAA5C,CAAnB,CADF,CApBF,EAuBE;AAAK,aAAS,EAAC;AAAf,KACE,iCAAK,8GAAL,E,GAAA,EAAgC;AAAM,aAAS,EAAC;AAAhB,IAAhC,EAAgF,GAAhF,CADF,EAEE,iUAFF,CAvBF,EA2BE;AAAK,aAAS,EAAC;AAAf,IA3BF,CADF;AA+BD,CAnDY,C;;;;;;;;;;;;;;;ACZb,IAAM,0CAA0C,GAAG,SAA7C,0CAA6C,GAAK;AACtD,SACE;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAsC,mGAAtC,CADJ,EAEI;AAAI,aAAS,EAAC;AAAd,KAAqB,uCAArB,CAFJ,EAGI;AAAG,aAAS,EAAC;AAAb,KAAuB,2JAAvB,CAHJ,EAII;AAAK,aAAS,EAAC;AAAf,IAJJ,EAKI;AAAK,aAAS,EAAC;AAAf,K,uGAAA,EACyB;AAAM,WAAO,EAAE;AAAA,aAAI,MAAM,CAAC,QAAP,CAAgB,MAAhB,EAAJ;AAAA;AAAf,KAA2C,oBAA3C,CADzB,CALJ,CADF;AAWD,CAZD;;AAcA,kBAAe,0CAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;;AACA;;AAYa,qBAAa,CAAb;;AAEA,uDAA+C,UAAC,KAAD,EAA6D;AAAA,MAE/G,KAF+G,GAE/C,KAF+C,CAE/G,KAF+G;AAAA,MAExG,WAFwG,GAE/C,KAF+C,CAExG,WAFwG;AAAA,MAE3F,UAF2F,GAE/C,KAF+C,CAE3F,UAF2F;AAAA,MAE/E,MAF+E,GAE/C,KAF+C,CAE/E,MAF+E;AAAA,MAEvE,QAFuE,GAE/C,KAF+C,CAEvE,QAFuE;AAAA,MAE7D,SAF6D,GAE/C,KAF+C,CAE7D,SAF6D;;AAAA,0BAGjG,iBAAmB,KAAK,CAAC,kBAAD,CAAL,CAAkB,IAAlB,CAAuB,EAAvB,CAAnB,CAHiG;AAAA;AAAA,MAGhH,GAHgH;AAAA,MAG3G,MAH2G;;AAIvH,MAAM,SAAS,GAAG,eAAuC,KAAK,CAAC,kBAAD,CAAL,CAAkB,IAAlB,CAAuB,IAAvB,CAAvC,CAAlB;;AAEA,MAAM,oBAAoB,uBACvB,0CAAsB,qBADC,EACuB,kDADvB,CAA1B;;AAIA,MAAM,YAAY,GAAG,SAAf,YAAe,CAAC,KAAD,EAAgB,KAAhB,EAAiC;AACpD,QAAI,CAAC,QAAQ,IAAR,CAAa,KAAb,CAAL,EAA0B,OAD0B,CAClB;;AAClC,QAAM,MAAM,sBAAO,GAAP,CAAZ;;AACA,UAAM,CAAC,KAAD,CAAN,GAAgB,KAAhB;AACA,UAAM,CAAC,MAAD,CAAN;AACA,aAAS,CAAC,OAAV,CAAkB,KAAlB,EAAyB,KAAzB,CAA+B,WAA/B,GAA6C,SAA7C;;AACA,QAAI,KAAK,IAAI,KAAK,GAAG,qBAAa,CAAlC,EAAqC;AACnC,UAAM,SAAS,GAAG,SAAS,CAAC,OAAV,CAAkB,KAAK,GAAG,CAA1B,CAAlB;;AACA,UAAI,SAAJ,EAAe;AACb,iBAAS,CAAC,KAAV;AACD;AACF;;AACD,QAAI,MAAM,CAAC,KAAP,CAAa,UAAC,CAAD;AAAA,aAAO,CAAP;AAAA,KAAb,CAAJ,EAA4B;AAC1B,iBAAW,CAAC,MAAM,CAAC,IAAP,CAAY,EAAZ,CAAD,CAAX;AACD;AACF,GAfD;;AAiBA,MAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,KAAD,EAAuB,KAAvB,EAAwC;AAC5D,QAAI,KAAK,CAAC,GAAN,KAAc,WAAd,IAA6B,CAAC,GAAG,CAAC,KAAD,CAAjC,IAA4C,KAAK,GAAG,CAAxD,EAA2D;AACzD,UAAM,SAAS,GAAG,SAAS,CAAC,OAAV,CAAkB,KAAK,GAAG,CAA1B,CAAlB;;AACA,UAAI,SAAJ,EAAe;AACb,iBAAS,CAAC,KAAV;AACD;AACF;AACF,GAPD;;AASA,MAAM,WAAW,GAAG,SAAd,WAAc,CAAC,KAAD,EAA0B;AAC5C,SAAK,CAAC,cAAN;AACA,QAAM,UAAU,GAAG,KAAK,CAAC,aAAN,CAAoB,OAApB,CAA4B,MAA5B,CAAnB;;AACA,QAAI,UAAU,CAAC,MAAX,KAAsB,GAAG,CAAC,MAA1B,IAAoC,CAAC,QAAQ,IAAR,CAAa,UAAb,CAAzC,EAAmE;AACjE;AACD;;AACD,QAAM,MAAM,GAAG,UAAU,CAAC,KAAX,CAAiB,EAAjB,CAAf;AACA,UAAM,CAAC,MAAD,CAAN;;AACA,QAAI,SAAS,CAAC,OAAV,CAAkB,GAAG,CAAC,MAAJ,GAAa,CAA/B,CAAJ,EAAuC;AACrC,eAAS,CAAC,OAAV,CAAkB,GAAG,CAAC,MAAJ,GAAa,CAA/B,EAAkC,KAAlC;AACD;;AACD,eAAW,CAAC,MAAM,CAAC,IAAP,CAAY,EAAZ,CAAD,CAAX;AACD,GAZD;;AAcA,MAAM,mBAAmB,GAAG,SAAtB,mBAAsB,GAAK;AAC/B,kBAAc;AACd,YAAQ;AACT,GAHD;;AAKA,MAAM,cAAc,GAAG,SAAjB,cAAiB,GAAK;AAC1B,UAAM,CAAC,KAAK,CAAC,kBAAD,CAAL,CAAkB,IAAlB,CAAuB,EAAvB,CAAD,CAAN;AACA,aAAS,CAAC,OAAV,CAAkB,OAAlB,CAA0B,UAAC,KAAD,EAAU;AAClC,UAAI,KAAJ,EAAW;AACT,aAAK,CAAC,KAAN,CAAY,WAAZ,GAA0B,SAA1B;AACD;AACF,KAJD;AAKD,GAPD;;AASA,MAAM,gBAAgB,GAAG,SAAnB,gBAAmB,GAAK;AAC5B,QAAM,cAAc,GAAG,SAAS,CAAC,OAAV,CAAkB,MAAlB,CAAyB,UAAC,CAAD,EAAI,KAAJ;AAAA,aAAc,GAAG,CAAC,KAAD,CAAH,KAAe,EAA7B;AAAA,KAAzB,CAAvB;;AACA,QAAI,cAAc,CAAC,MAAf,GAAwB,CAA5B,EAA+B;AAC7B,oBAAc,CAAC,OAAf,CAAuB,UAAC,KAAD,EAAU;AAC/B,YAAI,KAAJ,EAAW;AACT,eAAK,CAAC,KAAN,CAAY,WAAZ,GAA0B,SAA1B;AACD;AACF,OAJD;AAKD,KAND,MAMO;AACL,gBAAU;AACX;AACF,GAXD;;AAcA,SACE;AAAK,aAAS,EAAC;AAAf,KACG;AAAK,aAAS,EAAC;AAAf,KAAsC,mGAAtC,CADH,EAEE;AAAK,aAAS,EAAC;AAAf,KAAsB,6EAAtB,CAFF,EAGE;AAAK,aAAS,EAAC;AAAf,IAHF,EAIE;AAAK,aAAS,EAAC;AAAf,KACE,yNADF,EACkD;AAAM,aAAS,EAAC;AAAhB,KAAwB,KAAxB,CADlD,EAEE,6KAFF,CAJF,EAQE;AAAK,aAAS,EAAC;AAAf,KACG,GAAG,CAAC,GAAJ,CAAQ,UAAC,CAAD,EAAI,KAAJ,EAAa;AACpB,WACE;AACE,SAAG,EAAE,KADP;AAEE,SAAG,EAAE,aAAC,EAAD;AAAA,eAAS,SAAS,CAAC,OAAV,CAAkB,KAAlB,IAA2B,EAApC;AAAA,OAFP;AAGE,UAAI,EAAC,MAHP;AAIE,eAAS,EAAE,CAJb;AAKE,WAAK,EAAE,GAAG,CAAC,KAAD,CALZ;AAME,cAAQ,EAAE,kBAAC,CAAD;AAAA,eAAY,YAAY,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,EAAiB,KAAjB,CAAxB;AAAA,OANZ;AAOE,eAAS,EAAE,mBAAC,CAAD;AAAA,eAAY,aAAa,CAAC,CAAD,EAAI,KAAJ,CAAzB;AAAA,OAPb;AAQE,aAAO,EAAE,iBAAC,CAAD;AAAA,eAAY,WAAW,CAAC,CAAD,CAAvB;AAAA;AARX,MADF;AAYD,GAbA,CADH,CARF,EAwBE;AAAM,aAAS,EAAC;AAAhB,KAAiC,gFAAjC,CAxBF,EAyBE;AAAK,aAAS,EAAC;AAAf,KACE;AAAQ,aAAS,EAAC,kBAAlB;AAAqC,WAAO,EAAE;AAA9C,KAAoD,0BAApD,CADF,EAEE;AAAQ,aAAS,EAAC,sBAAlB;AAAyC,WAAO,EAAE;AAAlD,KAAkE,0BAAlE,CAFF,CAzBF,EA6BG,SAAS,IAAI;AAAG,aAAS,EAAC,YAAb;AAA0B,2BAAuB,EAAE;AAAE,YAAM,EAAE,oBAAoB,CAAC,SAAD;AAA9B;AAAnD,IA7BhB,EA8BE;AAAK,aAAS,EAAC;AAAf,K,iEAAA,EACe;AAAQ,WAAO,EAAE;AAAjB,KAAoC,+DAApC,CADf,CA9BF,CADF;AAoCD,CAlHY,C;;;;;;;;;;;;;;;ACVA,2DAAmD,UAAC,KAAD,EAAwD;AAAA,MAC/G,SAD+G,GACjF,KADiF,CAC/G,SAD+G;AAAA,MACpG,eADoG,GACjF,KADiF,CACpG,eADoG;AAEtH,SACE,iCACE,gGADF,EAEE;AAAQ,WAAO,EAAE;AAAjB,KAA0B,QAA1B,CAFF,EAGE;AAAQ,WAAO,EAAE;AAAA,aAAM,eAAe,CAAC,IAAD,CAArB;AAAA;AAAjB,KAA4C,MAA5C,CAHF,CADF;AAOD,CATY,C;;;;;;;;;;;;;;;;;;;ACLb;;AAeA,IAAM,iBAAiB,GAAG,wDAA1B;AACA,IAAM,mBAAmB,GAAG,wDAA5B;AAGA,IAAM,kBAAkB,mEACrB,0CAAsB,aADD,EACiB,wBADjB,wCAErB,0CAAsB,mBAFD,mFAE+C,iBAF/C,8FAAxB;AAKA,IAAM,oBAAoB,uEACvB,0CAAsB,oBADC,EACsB,8BADtB,0CAEvB,0CAAsB,kBAFC,EAEoB,4CAFpB,yBAA1B;;AAOa,oDAA4C,UAAC,KAAD,EAA0D;AAAA,MAEzG,KAFyG,GAEO,KAFP,CAEzG,KAFyG;AAAA,MAElG,QAFkG,GAEO,KAFP,CAElG,QAFkG;AAAA,MAExF,WAFwF,GAEO,KAFP,CAExF,WAFwF;AAAA,MAE3E,cAF2E,GAEO,KAFP,CAE3E,cAF2E;AAAA,MAE3D,cAF2D,GAEO,KAFP,CAE3D,cAF2D;AAAA,MAE3C,eAF2C,GAEO,KAFP,CAE3C,eAF2C;AAAA,MAE1B,OAF0B,GAEO,KAFP,CAE1B,OAF0B;AAAA,MAEjB,QAFiB,GAEO,KAFP,CAEjB,QAFiB;AAAA,MAEP,SAFO,GAEO,KAFP,CAEP,SAFO;;AAIjH,MAAM,gBAAgB,GAAG,SAAnB,gBAAmB,CAAC,CAAD,EAAM;AAC7B,YAAQ,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,CAAR;AACD,GAFD;;AAIA,MAAM,iBAAiB,GAAG,SAApB,iBAAoB,CAAC,CAAD,EAAM;AAC9B,kBAAc,CAAC,CAAC,CAAC,MAAF,CAAS,OAAV,CAAd;AACD,GAFD;;AAIA,MAAM,cAAc,GAAG,SAAjB,cAAiB,GAAK;AAC1B,YAAQ;AACT,GAFD;;AAKA,SACE;AAAK,aAAS,EAAC;AAAf,KACE;AAAK,aAAS,EAAC;AAAf,KAAsC,mGAAtC,CADF,EAEE;AAAI,aAAS,EAAC;AAAd,KAAqB,kFAArB,CAFF,EAGE;AAAK,aAAS,EAAC;AAAf,K,2LAAA,EAA6D;AAAM,aAAS,EAAC;AAAhB,KAAsB,4EAAtB,CAA7D,CAHF,EAIE;AAAK,aAAS,yBAAkB,SAAS,IAAI,SAAS,CAAC,QAAV,CAAmB,OAAnB,CAAb,GAA2C,OAA3C,GAAqD,EAAvE;AAAd,KACE;AAAO,SAAK,EAAE,KAAd;AAAqB,YAAQ,EAAE,gBAA/B;AAAiD,QAAI,EAAC,OAAtD;AAA8D,eAAW,EAAC;AAA1E,IADF,EAEE;AAAK,aAAS,EAAC,YAAf;AAA4B,WAAO,EAAE;AAAA,aAAM,QAAQ,CAAC,EAAD,CAAd;AAAA;AAArC,IAFF,EAGG,SAAS,IAAI,SAAS,KAAK,0CAAsB,aAAjD,IAAkE;AAAG,aAAS,EAAC;AAAb,KAA2B,kBAAkB,CAAC,SAAD,CAA7C,CAHrE,CAJF,EASE;AAAK,aAAS,kBAAW,SAAS,IAAI,SAAS,KAAK,0CAAsB,mBAAjD,GAAuE,OAAvE,GAAiF,EAA5F;AAAd,KACE;AAAK,aAAS,EAAC;AAAf,KACE;AAAO,QAAI,EAAC,UAAZ;AAAuB,WAAO,EAAE,WAAhC;AAA6C,YAAQ,EAAE;AAAvD,IADF,EAEE;AAAM,aAAS,EAAC;AAAhB,K,8CAAA,EAAgC;AAAG,QAAI,EAAE;AAAT,KAA0B,+DAA1B,CAAhC,E,IAAA,EAA6E;AAAG,QAAI,EAAE;AAAT,KAA4B,iFAA5B,CAA7E,EAAiP,sjBAAjP,CAFF,CADF,EAKG,SAAS,IAAI,SAAS,KAAK,0CAAsB,mBAAjD,IAAwE;AAAG,aAAS,EAAC,YAAb;AAA0B,2BAAuB,EAAE;AAAE,YAAM,EAAE,kBAAkB,CAAC,SAAD;AAA5B;AAAnD,IAL3E,CATF,EAiBE;AAAK,aAAS,EAAC;AAAf,KACE;AAAQ,aAAS,EAAC,kBAAlB;AAAqC,WAAO,EAAE;AAAA,aAAM,OAAO,CAAC,QAAD,CAAb;AAAA;AAA9C,KAAqE,0BAArE,CADF,EAEE;AAAQ,aAAS,EAAC,sBAAlB;AAAyC,WAAO,EAAE;AAAlD,KAAgE,0BAAhE,CAFF,CAjBF,EAqBG,SAAS,IAAI;AAAG,aAAS,EAAC,YAAb;AAA0B,2BAAuB,EAAE;AAAE,YAAM,EAAE,oBAAoB,CAAC,SAAD;AAA9B;AAAnD,IArBhB,EAwBE;AAAK,aAAS,EAAC;AAAf,KACE;AAAM,aAAS,EAAC;AAAhB,KAAsB,8FAAtB,CADF,CAxBF,EA6BE;AAAK,aAAS,EAAC;AAAf,KACE;AAAQ,aAAS,EAAC,0BAAlB;AAA6C,WAAO,EAAE;AAAtD,KAAuE,6DAAvE,CADF,EAEE;AAAQ,aAAS,EAAC,yBAAlB;AAA4C,WAAO,EAAE;AAArD,KAAqE,uDAArE,CAFF,CA7BF,EAkCE;AAAK,aAAS,EAAC;AAAf,KACE,iC,2DAAA,EAAiB;AAAG,QAAI,EAAC,GAAR;AAAY,WAAO,EAAE;AAAA,aAAM,OAAO,CAAC,QAAD,CAAb;AAAA;AAArB,KAA4C,gCAA5C,CAAjB,CADF,CAlCF,EAqCE;AAAK,aAAS,EAAC;AAAf,KACE,iCACE,iKADF,E,GAAA,EACwC;AAAM,aAAS,EAAC;AAAhB,IADxC,E,GAAA,EAEE;AAAM,aAAS,EAAC;AAAhB,KAAwB;AAAG,QAAI,EAAC,GAAR;AAAY,WAAO,EAAE;AAAA,aAAM,OAAO,CAAC,QAAD,CAAb;AAAA;AAArB,KAA4C,8FAA5C,CAAxB,CAFF,CADF,CArCF,EA2CE;AAAK,aAAS,EAAC;AAAf,IA3CF,CADF;AAgDD,CAjEY,C;;;;;;;;;;;;;;;AC9Bb,IAAM,0CAA0C,GAAG,SAA7C,0CAA6C,GAAK;AACtD,SACE;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAsC,mGAAtC,CADJ,EAEI;AAAI,aAAS,EAAC;AAAd,KAAqB,uCAArB,CAFJ,EAGI;AAAG,aAAS,EAAC;AAAb,KAAuB,2JAAvB,CAHJ,EAII;AAAK,aAAS,EAAC;AAAf,IAJJ,EAKI;AAAK,aAAS,EAAC;AAAf,K,uGAAA,EACyB;AAAM,WAAO,EAAE;AAAA,aAAI,QAAQ,CAAC,MAAT,EAAJ;AAAA;AAAf,KAAoC,oBAApC,CADzB,CALJ,CADF;AAWD,CAZD;;AAcA,kBAAe,0CAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;;AACA;;AAaa,uDAA+C,UAAC,KAAD,EAA6D;AACvH,MAAM,UAAU,GAAG,CAAnB;AADuH,MAE/G,QAF+G,GAEvC,KAFuC,CAE/G,QAF+G;AAAA,MAErG,KAFqG,GAEvC,KAFuC,CAErG,KAFqG;AAAA,MAE9F,WAF8F,GAEvC,KAFuC,CAE9F,WAF8F;AAAA,MAEjF,UAFiF,GAEvC,KAFuC,CAEjF,UAFiF;AAAA,MAErE,MAFqE,GAEvC,KAFuC,CAErE,MAFqE;AAAA,MAE9D,QAF8D,GAEvC,KAFuC,CAE9D,QAF8D;AAAA,MAErD,SAFqD,GAEvC,KAFuC,CAErD,SAFqD;;AAAA,0BAGjG,iBAAmB,KAAK,CAAC,UAAD,CAAL,CAAkB,IAAlB,CAAuB,EAAvB,CAAnB,CAHiG;AAAA;AAAA,MAGhH,GAHgH;AAAA,MAG3G,MAH2G;;AAIvH,MAAM,SAAS,GAAG,eAAuC,KAAK,CAAC,UAAD,CAAL,CAAkB,IAAlB,CAAuB,IAAvB,CAAvC,CAAlB;;AAEA,MAAM,oBAAoB,uBACvB,0CAAsB,qBADC,EACuB,qBADvB,CAA1B;;AAIA,MAAM,YAAY,GAAG,SAAf,YAAe,CAAC,KAAD,EAAgB,KAAhB,EAAiC;AACpD,QAAI,CAAC,QAAQ,IAAR,CAAa,KAAb,CAAL,EAA0B,OAD0B,CAClB;;AAClC,QAAM,MAAM,sBAAO,GAAP,CAAZ;;AACA,UAAM,CAAC,KAAD,CAAN,GAAgB,KAAhB;AACA,UAAM,CAAC,MAAD,CAAN;;AAEA,QAAI,KAAK,IAAI,KAAK,GAAG,UAAU,GAAG,CAAlC,EAAqC;AACnC,UAAM,SAAS,GAAG,SAAS,CAAC,OAAV,CAAkB,KAAK,GAAG,CAA1B,CAAlB;;AACA,UAAI,SAAJ,EAAe;AACb,iBAAS,CAAC,KAAV;AACD;AACF;;AACD,QAAI,MAAM,CAAC,KAAP,CAAa,UAAC,CAAD;AAAA,aAAO,CAAP;AAAA,KAAb,CAAJ,EAA4B;AAC1B,iBAAW,CAAC,MAAM,CAAC,IAAP,CAAY,EAAZ,CAAD,CAAX;AACD;AACF,GAfD;;AAiBA,MAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,KAAD,EAAuB,KAAvB,EAAwC;AAC5D,QAAI,KAAK,CAAC,GAAN,KAAc,WAAd,IAA6B,CAAC,GAAG,CAAC,KAAD,CAAjC,IAA4C,KAAK,GAAG,CAAxD,EAA2D;AACzD,UAAM,SAAS,GAAG,SAAS,CAAC,OAAV,CAAkB,KAAK,GAAG,CAA1B,CAAlB;;AACA,UAAI,SAAJ,EAAe;AACb,iBAAS,CAAC,KAAV;AACD;AACF;AACF,GAPD;;AASA,MAAM,WAAW,GAAG,SAAd,WAAc,CAAC,KAAD,EAA0B;AAC5C,SAAK,CAAC,cAAN;AACA,QAAM,UAAU,GAAG,KAAK,CAAC,aAAN,CAAoB,OAApB,CAA4B,MAA5B,CAAnB;;AACA,QAAI,UAAU,CAAC,MAAX,KAAsB,GAAG,CAAC,MAA1B,IAAoC,CAAC,QAAQ,IAAR,CAAa,UAAb,CAAzC,EAAmE;AACjE;AACD;;AACD,QAAM,MAAM,GAAG,UAAU,CAAC,KAAX,CAAiB,EAAjB,CAAf;AACA,UAAM,CAAC,MAAD,CAAN;;AACA,QAAI,SAAS,CAAC,OAAV,CAAkB,GAAG,CAAC,MAAJ,GAAa,CAA/B,CAAJ,EAAuC;AACrC,eAAS,CAAC,OAAV,CAAkB,GAAG,CAAC,MAAJ,GAAa,CAA/B,EAAkC,KAAlC;AACD;;AACD,eAAW,CAAC,MAAM,CAAC,IAAP,CAAY,EAAZ,CAAD,CAAX;AACD,GAZD;;AAeA,SACE;AAAK,aAAS,EAAC;AAAf,KACE;AAAK,aAAS,EAAC;AAAf,KAAsC,mGAAtC,CADF,EAEE;AAAK,aAAS,EAAC;AAAf,KAAsB,kEAAtB,CAFF,EAGE;AAAK,aAAS,EAAC;AAAf,IAHF,EAIE;AAAK,aAAS,EAAC;AAAf,KACE,0NADF,EACmD;AAAM,aAAS,EAAC;AAAhB,KAAwB,KAAxB,CADnD,EAEE,6KAFF,CAJF,EAQE;AAAK,aAAS,EAAC;AAAf,KACG,GAAG,CAAC,GAAJ,CAAQ,UAAC,CAAD,EAAI,KAAJ,EAAa;AACpB,WACE;AACE,SAAG,EAAE,KADP;AAEE,SAAG,EAAE,aAAC,EAAD;AAAA,eAAS,SAAS,CAAC,OAAV,CAAkB,KAAlB,IAA2B,EAApC;AAAA,OAFP;AAGE,UAAI,EAAC,MAHP;AAIE,eAAS,EAAE,CAJb;AAKE,WAAK,EAAE,GAAG,CAAC,KAAD,CALZ;AAME,cAAQ,EAAE,kBAAC,CAAD;AAAA,eAAY,YAAY,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,EAAiB,KAAjB,CAAxB;AAAA,OANZ;AAOE,eAAS,EAAE,mBAAC,CAAD;AAAA,eAAY,aAAa,CAAC,CAAD,EAAI,KAAJ,CAAzB;AAAA,OAPb;AAQE,aAAO,EAAE,iBAAC,CAAD;AAAA,eAAY,WAAW,CAAC,CAAD,CAAvB;AAAA;AARX,MADF;AAYD,GAbA,CADH,CARF,EAwBE;AAAM,aAAS,EAAC;AAAhB,KAAiC,gFAAjC,CAxBF,EAyBE;AAAK,aAAS,EAAC;AAAf,KACE;AAAQ,aAAS,EAAC,kBAAlB;AAAqC,WAAO,EAAE;AAA9C,KAAoD,0BAApD,CADF,EAEE;AAAQ,aAAS,EAAC,sBAAlB;AAAyC,WAAO,EAAE;AAAlD,KAA4D,0BAA5D,CAFF,CAzBF,EA6BG,SAAS,IAAI;AAAG,aAAS,EAAC,YAAb;AAA0B,2BAAuB,EAAE;AAAE,YAAM,EAAE,oBAAoB,CAAC,SAAD;AAA9B;AAAnD,IA7BhB,EA8BE;AAAK,aAAS,EAAC;AAAf,K,iEAAA,EACe;AAAQ,WAAO,EAAE;AAAA,aAAM,QAAQ,EAAd;AAAA;AAAjB,KAAiC,+DAAjC,CADf,CA9BF,CADF;AAoCD,CAvFY,C;;;;;;;;;;;;;;;;;;;;;;;ACdb;;AAEA;;AACA;;AAIa,wCAAgC,gBAAqC;AAAA,MAAnC,SAAmC,QAAnC,SAAmC;;AAAA,0BACxD,iBAAkC,QAAlC,CADwD;AAAA;AAAA,MACzE,IADyE;AAAA,MACnE,OADmE;;AAAA,2BAEtD,iBAAiB,EAAjB,CAFsD;AAAA;AAAA,MAEzE,KAFyE;AAAA,MAElE,QAFkE;;AAAA,2BAG3C,iBAAS,KAAT,CAH2C;AAAA;AAAA,MAGzE,WAHyE;AAAA,MAG5D,aAH4D;;AAAA,2BAIhD,iBAAS,EAAT,CAJgD;AAAA;AAAA,MAIzE,QAJyE;AAAA,MAI/D,WAJ+D;;AAOhF,oBAAU,YAAK;AACb,YAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,QAA/B;AACA,WAAO,YAAK;AACV,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,MAA/B;AACD,KAFD;AAGD,GALD,EAKG,EALH;;AAQA,MAAM,aAAa,GAAG,SAAhB,aAAgB,GAAK;AACzB,QAAI,IAAI,KAAK,QAAb,EAAuB;AACrB,aACE,oBAAC,yEAAD,EAAoC;AAClC,aAAK,EAAE,KAD2B;AAElC,gBAAQ,EAAE,QAFwB;AAGlC,mBAAW,EAAE,WAHqB;AAIlC,gBAAQ,EAAE,QAJwB;AAKlC,mBAAW,EAAE,WALqB;AAMlC,sBAAc,EAAE,aANkB;AAOlC,eAAO,EAAE;AAPyB,OAApC,CADF;AAWD;;AACD,WACE,oBAAC,uEAAD,EAAmC;AACjC,WAAK,EAAE,KAD0B;AAEjC,cAAQ,EAAE,QAFuB;AAGjC,iBAAW,EAAE,WAHoB;AAIjC,cAAQ,EAAE,QAJuB;AAKjC,iBAAW,EAAE,WALoB;AAMjC,oBAAc,EAAE,aANiB;AAOjC,aAAO,EAAE;AAPwB,KAAnC,CADF;AAUD,GAxBD;;AA0BA,SAAO;AAAK,aAAS,EAAC;AAAf,KAAmD,aAAa,EAAhE,CAAP;AACD,CA1CY,C;;;;;;;;;;;;;;;ACPb;;AACA;;AACA;;AACA;;AACA;;AACA;;AAaa,6CAAqC,UAAC,KAAD,EAAmD;AAAA,MAC3F,KAD2F,GAC1B,KAD0B,CAC3F,KAD2F;AAAA,MACpF,QADoF,GAC1B,KAD0B,CACpF,QADoF;AAAA,MAC1E,QAD0E,GAC1B,KAD0B,CAC1E,QAD0E;AAAA,MAChE,WADgE,GAC1B,KAD0B,CAChE,WADgE;AAAA,MACnD,OADmD,GAC1B,KAD0B,CACnD,OADmD;AAAA,MAC1C,WAD0C,GAC1B,KAD0B,CAC1C,WAD0C;;AAAA,8BAW/F,6BAAmB,OAAnB,GAX+F;AAAA,MAGjG,SAHiG,yBAGjG,SAHiG;AAAA,MAIjG,IAJiG,yBAIjG,IAJiG;AAAA,MAKjG,eALiG,yBAKjG,eALiG;AAAA,MAMjG,cANiG,yBAMjG,cANiG;AAAA,MAOjG,eAPiG,yBAOjG,eAPiG;AAAA,MAQjG,iBARiG,yBAQjG,iBARiG;AAAA,MASjG,cATiG,yBASjG,cATiG;AAAA,MAUjG,SAViG,yBAUjG,SAViG;;AAanG,oBAAU,YAAK;AACb,WAAO,CAAC,GAAR,CAAY,SAAZ,EAAuB,IAAvB;AACD,GAFD,EAEG,CAAC,SAAD,EAAY,SAAZ,EAAuB,IAAvB,CAFH;;AAIA,MAAM,QAAQ,GAAG,SAAX,QAAW,GAAK;AACpB,qBAAiB,CAAC,KAAD,EAAQ,WAAR,CAAjB;AACD,GAFD;;AAIA,MAAM,YAAY,GAAG,SAAf,YAAe,GAAK;AACxB,kBAAc,CAAC,QAAD,CAAd;AACD,GAFD;;AAIA,MAAM,OAAO,GAAG,SAAV,OAAU,GAAK;AACnB,aAAS;AACV,GAFD;;AAIA,MAAM,iBAAiB,GAAG,SAApB,iBAAoB,CAAC,aAAD,EAA2B;AACnD,mBAAe,CAAC,aAAD,CAAf;AACD,GAFD;;AAKA,UAAQ,IAAR;AACE,SAAK,kCAAc,KAAnB;AACE,aACM,oBAAC,iFAAD,EAAwC;AACxC,aAAK,EAAE,KADiC;AAExC,gBAAQ,EAAE,QAF8B;AAGxC,eAAO,EAAE,OAH+B;AAIxC,uBAAe,EAAE,eAJuB;AAKxC,sBAAc,EAAE,cALwB;AAMxC,gBAAQ,EAAE,QAN8B;AAOxC,iBAAS,EAAE;AAP6B,OAAxC,CADN;;AAYF,SAAK,kCAAc,QAAnB;AACE,aACE,oBAAC,kFAAD,EAAsC;AACpC,aAAK,EAAE,KAD6B;AAEpC,gBAAQ,EAAE,QAF0B;AAGpC,mBAAW,EAAE,WAHuB;AAIpC,kBAAU,EAAE,YAJwB;AAKpC,cAAM,EAAE,OAL4B;AAMpC,gBAAQ,EAAE,QAN0B;AAOpC,iBAAS,EAAE,SAPyB;AAQpC,gBAAQ,EAAE;AAR0B,OAAtC,CADF;;AAcA,SAAK,kCAAc,aAAnB;AACE;AACA,uBAAiB,CAAC,KAAD,CAAjB;AACA,aAAO,IAAP;;AAEF,SAAK,kCAAc,MAAnB;AACE;AACA,aAAO,oBAAC,kDAAD,EAAyC,IAAzC,CAAP;;AAEJ;AACE,aAAO,IAAP;AAvCJ;AAyCD,CA3EY,C;;;;;;;;;;;;;;;AClBb;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAaa,8CAAsC,UAAC,KAAD,EAAoD;AAAA,MAE7F,KAF6F,GAEZ,KAFY,CAE7F,KAF6F;AAAA,MAEtF,QAFsF,GAEZ,KAFY,CAEtF,QAFsF;AAAA,MAE5E,QAF4E,GAEZ,KAFY,CAE5E,QAF4E;AAAA,MAElE,WAFkE,GAEZ,KAFY,CAElE,WAFkE;AAAA,MAErD,OAFqD,GAEZ,KAFY,CAErD,OAFqD;AAAA,MAE5C,WAF4C,GAEZ,KAFY,CAE5C,WAF4C;AAAA,MAE/B,cAF+B,GAEZ,KAFY,CAE/B,cAF+B;;AAAA,8BAajG,6BAAmB,QAAnB,GAbiG;AAAA,MAKnG,SALmG,yBAKnG,SALmG;AAAA,MAMnG,IANmG,yBAMnG,IANmG;AAAA,MAOnG,eAPmG,yBAOnG,eAPmG;AAAA,MAQnG,cARmG,yBAQnG,cARmG;AAAA,MASnG,eATmG,yBASnG,eATmG;AAAA,MAUnG,iBAVmG,yBAUnG,iBAVmG;AAAA,MAWnG,cAXmG,yBAWnG,cAXmG;AAAA,MAYnG,SAZmG,yBAYnG,SAZmG;;AAerG,oBAAU,YAAK;AACb,WAAO,CAAC,GAAR,CAAY,SAAZ,EAAuB,IAAvB;AACD,GAFD,EAEG,CAAC,SAAD,EAAY,SAAZ,EAAuB,IAAvB,CAFH;;AAIA,MAAM,QAAQ,GAAG,SAAX,QAAW,GAAK;AACpB,qBAAiB,CAAC,KAAD,EAAQ,WAAR,CAAjB;AACD,GAFD;;AAIA,MAAM,YAAY,GAAG,SAAf,YAAe,GAAK;AACxB,kBAAc,CAAC,QAAD,CAAd;AACD,GAFD;;AAIA,MAAM,OAAO,GAAG,SAAV,OAAU,GAAK;AACnB,aAAS;AACV,GAFD;;AAIA,MAAM,iBAAiB,GAAG,SAApB,iBAAoB,CAAC,aAAD,EAA2B;AACnD,mBAAe,CAAC,aAAD,CAAf;AACD,GAFD;;AAIA,UAAQ,IAAR;AACE,SAAK,kCAAc,KAAnB;AACE,aACE,oBAAC,0EAAD,EAAyC;AACzC,aAAK,EAAE,KADkC;AAEzC,mBAAW,EAAE,WAF4B;AAGzC,gBAAQ,EAAE,QAH+B;AAIzC,sBAAc,EAAE,cAJyB;AAKzC,eAAO,EAAE,OALgC;AAMzC,uBAAe,EAAE,eANwB;AAOzC,sBAAc,EAAE,cAPyB;AAQzC,gBAAQ,EAAE,QAR+B;AASzC,iBAAS,EAAE;AAT8B,OAAzC,CADF;;AAcF,SAAK,kCAAc,QAAnB;AACE,aACE,oBAAC,gFAAD,EAA4C;AAC1C,aAAK,EAAE,KADmC;AAE1C,gBAAQ,EAAE,QAFgC;AAG1C,mBAAW,EAAE,WAH6B;AAI1C,kBAAU,EAAE,YAJ8B;AAK1C,cAAM,EAAE,OALkC;AAM1C,gBAAQ,EAAE,QANgC;AAO1C,iBAAS,EAAE;AAP+B,OAA5C,CADF;;AAYA,SAAK,kCAAc,aAAnB;AACE,aACE,oBAAC,wFAAD,EAAgD;AAC9C,iBAAS,EAAE,OADmC;AAE9C,uBAAe,EAAE;AAF6B,OAAhD,CADF;;AAOF,SAAK,kCAAc,MAAnB;AACE,gBAAU,CAAC,YAAK;AAAG,cAAM,CAAC,QAAP,CAAgB,MAAhB;AAA0B,OAAnC,EAAqC,IAArC,CAAV;AACA,aAAO,oBAAC,mDAAD,EAA0C,IAA1C,CAAP;;AAEJ;AACE,aAAO,IAAP;AA1CJ;AA4CD,CA/EY,C;;;;;;;;;;;;;;;;;ACrBb;;AAaa,kDAA0C,UAAC,KAAD,EAAyD;AAAA,MAEtG,KAFsG,GAEnB,KAFmB,CAEtG,KAFsG;AAAA,MAE/F,QAF+F,GAEnB,KAFmB,CAE/F,QAF+F;AAAA,MAErF,cAFqF,GAEnB,KAFmB,CAErF,cAFqF;AAAA,MAErE,eAFqE,GAEnB,KAFmB,CAErE,eAFqE;AAAA,MAEpD,OAFoD,GAEnB,KAFmB,CAEpD,OAFoD;AAAA,MAE3C,QAF2C,GAEnB,KAFmB,CAE3C,QAF2C;AAAA,MAEjC,SAFiC,GAEnB,KAFmB,CAEjC,SAFiC;;AAI9G,MAAM,gBAAgB,GAAG,SAAnB,gBAAmB,CAAC,CAAD,EAAM;AAC7B,YAAQ,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,CAAR;AACD,GAFD;;AAIA,MAAM,cAAc,GAAG,SAAjB,cAAiB,GAAK;AAC1B,YAAQ;AACT,GAFD;;AAIA,MAAM,kBAAkB,uBACrB,0CAAsB,aADD,EACiB,wBADjB,CAAxB;;AAIA,MAAM,mBAAmB,uBACtB,0CAAsB,kBADA,EACqB,4CADrB,CAAzB;;AAIA,SACE;AAAK,aAAS,EAAC;AAAf,KACE;AAAK,aAAS,EAAC;AAAf,KAAsC,mGAAtC,CADF,EAEE;AAAI,aAAS,EAAC;AAAd,KAAqB,gCAArB,CAFF,EAGE;AAAK,aAAS,yBAAkB,SAAS,IAAI,SAAS,KAAK,0CAAsB,aAAjD,GAAiE,OAAjE,GAA2E,EAA7F;AAAd,KACE;AAAO,SAAK,EAAE,KAAd;AAAqB,YAAQ,EAAE,gBAA/B;AAAiD,QAAI,EAAC,OAAtD;AAA8D,eAAW,EAAC;AAA1E,IADF,EAEE;AAAK,aAAS,EAAC,YAAf;AAA4B,WAAO,EAAE;AAAA,aAAM,QAAQ,CAAC,EAAD,CAAd;AAAA;AAArC,IAFF,EAGE;AAAG,aAAS,EAAC;AAAb,KAA2B,kBAAkB,CAAC,SAAD,CAA7C,CAHF,CAHF,EAQE;AAAK,aAAS,EAAC;AAAf,KACE;AAAQ,aAAS,EAAC,kBAAlB;AAAqC,WAAO,EAAE;AAAA,aAAM,OAAO,CAAC,QAAD,CAAb;AAAA;AAA9C,KAAqE,0BAArE,CADF,EAEE;AAAQ,aAAS,EAAC,sBAAlB;AAAyC,WAAO,EAAE;AAAlD,KAAgE,0BAAhE,CAFF,CARF,EAYG,SAAS,IAAI;AAAG,aAAS,EAAC,YAAb;AAA0B,2BAAuB,EAAE;AAAE,YAAM,EAAE,mBAAmB,CAAC,SAAD;AAA7B;AAAnD,IAZhB,EAaE;AAAK,aAAS,EAAC;AAAf,KACE;AAAM,aAAS,EAAC;AAAhB,KAAsB,8FAAtB,CADF,CAbF,EAgBE;AAAK,aAAS,EAAC;AAAf,KACE;AAAQ,aAAS,EAAC,0BAAlB;AAA6C,WAAO,EAAE;AAAtD,KAAuE,6DAAvE,CADF,EAEE;AAAQ,aAAS,EAAC,yBAAlB;AAA4C,WAAO,EAAE;AAArD,KAAqE,uDAArE,CAFF,CAhBF,EAoBE;AAAK,aAAS,EAAC;AAAf,KACE,iC,iEAAA,EAAkB;AAAG,QAAI,EAAC,GAAR;AAAY,WAAO,EAAE;AAAA,aAAM,OAAO,CAAC,QAAD,CAAb;AAAA;AAArB,KAA4C,gCAA5C,CAAlB,CADF,CApBF,EAuBE;AAAK,aAAS,EAAC;AAAf,KACE,iCAAK,8GAAL,E,GAAA,EAAgC;AAAM,aAAS,EAAC;AAAhB,IAAhC,EAAgF,GAAhF,CADF,EAEE;AAAK,aAAS,EAAC;AAAf,KAA6B,+RAA7B,CAFF,CAvBF,CADF;AA8BD,CAlDY,C;;;;;;;;;;;;;;;ACZb,IAAM,wCAAwC,GAAG,SAA3C,wCAA2C,GAAK;AACpD,SACE;AAAK,aAAS,EAAC;AAAf,KACI;AAAI,aAAS,EAAC;AAAd,KAAqB,uCAArB,CADJ,EAEI;AAAG,aAAS,EAAC;AAAb,KAAuB,2JAAvB,CAFJ,EAGI;AAAK,aAAS,EAAC;AAAf,IAHJ,EAII;AAAK,aAAS,EAAC;AAAf,K,+EAAA,EACqB;AAAM,WAAO,EAAE;AAAA,aAAI,MAAM,CAAC,QAAP,CAAgB,MAAhB,EAAJ;AAAA;AAAf,KAA2C,6CAA3C,CADrB,CAJJ,CADF;AAUD,CAXD;;AAaA,kBAAe,wCAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdA;;AACA;;AAYa,qBAAa,CAAb;;AAEA,gDAAwC,UAAC,KAAD,EAA2D;AAAA,MAEtG,KAFsG,GAEtC,KAFsC,CAEtG,KAFsG;AAAA,MAE/F,WAF+F,GAEtC,KAFsC,CAE/F,WAF+F;AAAA,MAElF,UAFkF,GAEtC,KAFsC,CAElF,UAFkF;AAAA,MAEtE,MAFsE,GAEtC,KAFsC,CAEtE,MAFsE;AAAA,MAE9D,QAF8D,GAEtC,KAFsC,CAE9D,QAF8D;AAAA,MAEpD,SAFoD,GAEtC,KAFsC,CAEpD,SAFoD;;AAAA,0BAGxF,iBAAmB,KAAK,CAAC,kBAAD,CAAL,CAAkB,IAAlB,CAAuB,EAAvB,CAAnB,CAHwF;AAAA;AAAA,MAGvG,GAHuG;AAAA,MAGlG,MAHkG;;AAI9G,MAAM,SAAS,GAAG,eAAuC,KAAK,CAAC,kBAAD,CAAL,CAAkB,IAAlB,CAAuB,IAAvB,CAAvC,CAAlB;;AAEA,MAAM,oBAAoB,uBACvB,0CAAsB,qBADC,EACuB,kDADvB,CAA1B;;AAIA,MAAM,YAAY,GAAG,SAAf,YAAe,CAAC,KAAD,EAAgB,KAAhB,EAAiC;AACpD,QAAI,CAAC,QAAQ,IAAR,CAAa,KAAb,CAAL,EAA0B,OAD0B,CAClB;;AAClC,QAAM,MAAM,sBAAO,GAAP,CAAZ;;AACA,UAAM,CAAC,KAAD,CAAN,GAAgB,KAAhB;AACA,UAAM,CAAC,MAAD,CAAN;AACA,aAAS,CAAC,OAAV,CAAkB,KAAlB,EAAyB,KAAzB,CAA+B,WAA/B,GAA6C,SAA7C;;AACA,QAAI,KAAK,IAAI,KAAK,GAAG,qBAAa,CAAlC,EAAqC;AACnC,UAAM,SAAS,GAAG,SAAS,CAAC,OAAV,CAAkB,KAAK,GAAG,CAA1B,CAAlB;;AACA,UAAI,SAAJ,EAAe;AACb,iBAAS,CAAC,KAAV;AACD;AACF;;AACD,QAAI,MAAM,CAAC,KAAP,CAAa,UAAC,CAAD;AAAA,aAAO,CAAP;AAAA,KAAb,CAAJ,EAA4B;AAC1B,iBAAW,CAAC,MAAM,CAAC,IAAP,CAAY,EAAZ,CAAD,CAAX;AACD;AACF,GAfD;;AAiBA,MAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,KAAD,EAAuB,KAAvB,EAAwC;AAC5D,QAAI,KAAK,CAAC,GAAN,KAAc,WAAd,IAA6B,CAAC,GAAG,CAAC,KAAD,CAAjC,IAA4C,KAAK,GAAG,CAAxD,EAA2D;AACzD,UAAM,SAAS,GAAG,SAAS,CAAC,OAAV,CAAkB,KAAK,GAAG,CAA1B,CAAlB;;AACA,UAAI,SAAJ,EAAe;AACb,iBAAS,CAAC,KAAV;AACD;AACF;AACF,GAPD;;AASA,MAAM,WAAW,GAAG,SAAd,WAAc,CAAC,KAAD,EAA0B;AAC5C,SAAK,CAAC,cAAN;AACA,QAAM,UAAU,GAAG,KAAK,CAAC,aAAN,CAAoB,OAApB,CAA4B,MAA5B,CAAnB;;AACA,QAAI,UAAU,CAAC,MAAX,KAAsB,GAAG,CAAC,MAA1B,IAAoC,CAAC,QAAQ,IAAR,CAAa,UAAb,CAAzC,EAAmE;AACjE;AACD;;AACD,QAAM,MAAM,GAAG,UAAU,CAAC,KAAX,CAAiB,EAAjB,CAAf;AACA,UAAM,CAAC,MAAD,CAAN;;AACA,QAAI,SAAS,CAAC,OAAV,CAAkB,GAAG,CAAC,MAAJ,GAAa,CAA/B,CAAJ,EAAuC;AACrC,eAAS,CAAC,OAAV,CAAkB,GAAG,CAAC,MAAJ,GAAa,CAA/B,EAAkC,KAAlC;AACD;;AACD,eAAW,CAAC,MAAM,CAAC,IAAP,CAAY,EAAZ,CAAD,CAAX;AACD,GAZD;;AAcA,MAAM,mBAAmB,GAAG,SAAtB,mBAAsB,GAAK;AAC/B,kBAAc;AACd,YAAQ;AACT,GAHD;;AAKA,MAAM,cAAc,GAAG,SAAjB,cAAiB,GAAK;AAC1B,UAAM,CAAC,KAAK,CAAC,kBAAD,CAAL,CAAkB,IAAlB,CAAuB,EAAvB,CAAD,CAAN;AACA,aAAS,CAAC,OAAV,CAAkB,OAAlB,CAA0B,UAAC,KAAD,EAAU;AAClC,UAAI,KAAJ,EAAW;AACT,aAAK,CAAC,KAAN,CAAY,WAAZ,GAA0B,SAA1B;AACD;AACF,KAJD;AAKD,GAPD;;AASA,MAAM,gBAAgB,GAAG,SAAnB,gBAAmB,GAAK;AAC5B,QAAM,cAAc,GAAG,SAAS,CAAC,OAAV,CAAkB,MAAlB,CAAyB,UAAC,CAAD,EAAI,KAAJ;AAAA,aAAc,GAAG,CAAC,KAAD,CAAH,KAAe,EAA7B;AAAA,KAAzB,CAAvB;;AACA,QAAI,cAAc,CAAC,MAAf,GAAwB,CAA5B,EAA+B;AAC7B,oBAAc,CAAC,OAAf,CAAuB,UAAC,KAAD,EAAU;AAC/B,YAAI,KAAJ,EAAW;AACT,eAAK,CAAC,KAAN,CAAY,WAAZ,GAA0B,SAA1B;AACD;AACF,OAJD;AAKD,KAND,MAMO;AACL,gBAAU;AACX;AACF,GAXD;;AAcA,SACE;AAAK,aAAS,EAAC;AAAf,KACE;AAAK,aAAS,EAAC;AAAf,KAAsB,6EAAtB,CADF,EAEE;AAAK,aAAS,EAAC;AAAf,IAFF,EAGE;AAAK,aAAS,EAAC;AAAf,IAHF,EAIE;AAAK,aAAS,EAAC;AAAf,KACE,2NADF,EACoD;AAAM,aAAS,EAAC;AAAhB,KAA2B,KAA3B,CADpD,EAEE,6KAFF,CAJF,EAQE;AAAK,aAAS,EAAC;AAAf,KACG,GAAG,CAAC,GAAJ,CAAQ,UAAC,CAAD,EAAI,KAAJ,EAAa;AACpB,WACE;AACE,SAAG,EAAE,KADP;AAEE,SAAG,EAAE,aAAC,EAAD;AAAA,eAAS,SAAS,CAAC,OAAV,CAAkB,KAAlB,IAA2B,EAApC;AAAA,OAFP;AAGE,UAAI,EAAC,MAHP;AAIE,eAAS,EAAE,CAJb;AAKE,WAAK,EAAE,GAAG,CAAC,KAAD,CALZ;AAME,cAAQ,EAAE,kBAAC,CAAD;AAAA,eAAY,YAAY,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,EAAiB,KAAjB,CAAxB;AAAA,OANZ;AAOE,eAAS,EAAE,mBAAC,CAAD;AAAA,eAAY,aAAa,CAAC,CAAD,EAAI,KAAJ,CAAzB;AAAA,OAPb;AAQE,aAAO,EAAE,iBAAC,CAAD;AAAA,eAAY,WAAW,CAAC,CAAD,CAAvB;AAAA;AARX,MADF;AAYD,GAbA,CADH,CARF,EAwBE;AAAM,aAAS,EAAC;AAAhB,KAAiC,gFAAjC,CAxBF,EAyBE;AAAK,aAAS,EAAC;AAAf,KACE;AAAQ,aAAS,EAAC,kBAAlB;AAAqC,WAAO,EAAE;AAA9C,KAAoD,0BAApD,CADF,EAEE;AAAQ,aAAS,EAAC,sBAAlB;AAAyC,WAAO,EAAE;AAAlD,KAAkE,0BAAlE,CAFF,CAzBF,EA6BG,SAAS,IAAI;AAAG,aAAS,EAAC,YAAb;AAA0B,2BAAuB,EAAE;AAAE,YAAM,EAAE,oBAAoB,CAAC,SAAD;AAA9B;AAAnD,IA7BhB,EA8BE;AAAK,aAAS,EAAC;AAAf,K,iEAAA,EACe;AAAQ,WAAO,EAAE;AAAjB,KAAoC,+DAApC,CADf,CA9BF,CADF;AAoCD,CAlHY,C;;;;;;;;;;;;;;;ACVA,iDAAyC,UAAC,KAAD,EAAuD;AAAA,MACpG,SADoG,GACtE,KADsE,CACpG,SADoG;AAAA,MACzF,eADyF,GACtE,KADsE,CACzF,eADyF;AAE3G,SACE,iCACE,gGADF,EAEE;AAAQ,WAAO,EAAE;AAAjB,KAA0B,QAA1B,CAFF,EAGE;AAAQ,WAAO,EAAE;AAAA,aAAM,eAAe,CAAC,IAAD,CAArB;AAAA;AAAjB,KAA4C,MAA5C,CAHF,CADF;AAOD,CATY,C;;;;;;;;;;;;;;;;;;;ACLb;;AAeA,IAAM,iBAAiB,GAAG,wDAA1B;AACA,IAAM,mBAAmB,GAAG,wDAA5B;AAGA,IAAM,kBAAkB,mEACrB,0CAAsB,aADD,EACiB,wBADjB,wCAErB,0CAAsB,mBAFD,mFAE+C,iBAF/C,8FAAxB;AAKA,IAAM,oBAAoB,uEACvB,0CAAsB,oBADC,EACsB,8BADtB,0CAEvB,0CAAsB,kBAFC,EAEoB,4CAFpB,yBAA1B;;AAOa,0CAAkC,UAAC,KAAD,EAAgD;AAAA,MAErF,KAFqF,GAE2B,KAF3B,CAErF,KAFqF;AAAA,MAE9E,QAF8E,GAE2B,KAF3B,CAE9E,QAF8E;AAAA,MAEpE,WAFoE,GAE2B,KAF3B,CAEpE,WAFoE;AAAA,MAEvD,cAFuD,GAE2B,KAF3B,CAEvD,cAFuD;AAAA,MAEvC,cAFuC,GAE2B,KAF3B,CAEvC,cAFuC;AAAA,MAEvB,eAFuB,GAE2B,KAF3B,CAEvB,eAFuB;AAAA,MAEN,OAFM,GAE2B,KAF3B,CAEN,OAFM;AAAA,MAEG,QAFH,GAE2B,KAF3B,CAEG,QAFH;AAAA,MAEa,SAFb,GAE2B,KAF3B,CAEa,SAFb;;AAI7F,MAAM,gBAAgB,GAAG,SAAnB,gBAAmB,CAAC,CAAD,EAAM;AAC7B,YAAQ,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,CAAR;AACD,GAFD;;AAIA,MAAM,iBAAiB,GAAG,SAApB,iBAAoB,CAAC,CAAD,EAAM;AAC9B,kBAAc,CAAC,CAAC,CAAC,MAAF,CAAS,OAAV,CAAd;AACD,GAFD;;AAIA,MAAM,cAAc,GAAG,SAAjB,cAAiB,GAAK;AAC1B,YAAQ;AACT,GAFD;;AAIA,SACE;AAAK,aAAS,EAAC;AAAf,KACE;AAAK,aAAS,EAAC;AAAf,KAAsC,mGAAtC,CADF,EAEE;AAAG,aAAS,EAAC;AAAb,KAAoB,sEAApB,CAFF,EAGE;AAAK,aAAS,EAAC;AAAf,K,+IAAA,EAAoD;AAAM,aAAS,EAAC;AAAhB,KAAsB,sEAAtB,CAApD,CAHF,EAIE;AAAK,aAAS,yBAAkB,SAAS,IAAI,SAAS,CAAC,QAAV,CAAmB,OAAnB,CAAb,GAA2C,OAA3C,GAAqD,EAAvE;AAAd,KACE;AAAO,SAAK,EAAE,KAAd;AAAqB,YAAQ,EAAE,gBAA/B;AAAiD,QAAI,EAAC,OAAtD;AAA8D,eAAW,EAAC;AAA1E,IADF,EAEE;AAAK,aAAS,EAAC,YAAf;AAA4B,WAAO,EAAE;AAAA,aAAM,QAAQ,CAAC,EAAD,CAAd;AAAA;AAArC,IAFF,EAGG,SAAS,IAAI,SAAS,KAAK,0CAAsB,aAAjD,IAAkE;AAAG,aAAS,EAAC;AAAb,KAA2B,kBAAkB,CAAC,SAAD,CAA7C,CAHrE,CAJF,EASE;AAAK,aAAS,kBAAW,SAAS,IAAI,SAAS,KAAK,0CAAsB,mBAAjD,GAAuE,OAAvE,GAAiF,EAA5F;AAAd,KACE;AAAK,aAAS,EAAC;AAAf,KACE;AAAO,QAAI,EAAC,UAAZ;AAAuB,WAAO,EAAE,WAAhC;AAA6C,YAAQ,EAAE;AAAvD,IADF,EAEE;AAAM,aAAS,EAAC;AAAhB,K,8CAAA,EAAgC;AAAG,QAAI,EAAE;AAAT,KAA0B,+DAA1B,CAAhC,E,IAAA,EAA6E;AAAG,QAAI,EAAE;AAAT,KAA4B,iFAA5B,CAA7E,EAAiP,sjBAAjP,CAFF,CADF,EAKE;AAAG,aAAS,EAAC,YAAb;AAA0B,2BAAuB,EAAE;AAAE,YAAM,EAAE,kBAAkB,CAAC,SAAD;AAA5B;AAAnD,IALF,CATF,EAiBE;AAAK,aAAS,EAAC;AAAf,KACE;AAAQ,aAAS,EAAC,kBAAlB;AAAqC,WAAO,EAAE;AAAA,aAAM,OAAO,CAAC,QAAD,CAAb;AAAA;AAA9C,KAAqE,0BAArE,CADF,EAEE;AAAQ,aAAS,EAAC,sBAAlB;AAAyC,WAAO,EAAE;AAAlD,KAAgE,0BAAhE,CAFF,CAjBF,EAqBG,SAAS,IAAI;AAAG,aAAS,EAAC,YAAb;AAA0B,2BAAuB,EAAE;AAAE,YAAM,EAAE,oBAAoB,CAAC,SAAD;AAA9B;AAAnD,IArBhB,EAwBE;AAAK,aAAS,EAAC;AAAf,KACE;AAAK,aAAS,EAAC;AAAf,IADF,EAEE;AAAM,aAAS,EAAC;AAAhB,KAAsB,8FAAtB,CAFF,CAxBF,EA8BE;AAAK,aAAS,EAAC;AAAf,KACE;AAAQ,aAAS,EAAC,0BAAlB;AAA6C,WAAO,EAAE;AAAtD,KAAuE,6DAAvE,CADF,EAEE;AAAQ,aAAS,EAAC,yBAAlB;AAA4C,WAAO,EAAE;AAArD,KAAqE,uDAArE,CAFF,CA9BF,EAmCE;AAAK,aAAS,EAAC;AAAf,KACE,iC,2DAAA,EAAiB;AAAG,QAAI,EAAC,GAAR;AAAY,WAAO,EAAE;AAAA,aAAM,OAAO,CAAC,QAAD,CAAb;AAAA;AAArB,KAA4C,gCAA5C,CAAjB,CADF,CAnCF,EAsCE;AAAK,aAAS,EAAC;AAAf,KACE,iCAAK,iKAAL,E,GAAA,EAA2C;AAAM,aAAS,EAAC;AAAhB,IAA3C,EAA2F,GAA3F,CADF,EAEE;AAAK,aAAS,EAAC;AAAf,KAAuB;AAAG,QAAI,EAAC,GAAR;AAAY,WAAO,EAAE;AAAA,aAAM,OAAO,CAAC,QAAD,CAAb;AAAA;AAArB,KAA4C,8FAA5C,CAAvB,CAFF,CAtCF,CADF;AA6CD,CA7DY,C;;;;;;;;;;;;;;;AC9Bb,IAAM,gCAAgC,GAAG,SAAnC,gCAAmC,GAAK;AAC5C,SACE;AAAK,aAAS,EAAC;AAAf,KACI;AAAI,aAAS,EAAC;AAAd,KAAqB,uCAArB,CADJ,EAEI;AAAG,aAAS,EAAC;AAAb,KAAuB,oGAAvB,CAFJ,EAGI;AAAK,aAAS,EAAC;AAAf,IAHJ,EAII;AAAK,aAAS,EAAC;AAAf,K,+EAAA,EACqB;AAAM,WAAO,EAAE;AAAA,aAAI,MAAM,CAAC,QAAP,CAAgB,MAAhB,EAAJ;AAAA;AAAf,KAA2C,6CAA3C,CADrB,CAJJ,CADF;AAUD,CAXD;;AAaA,kBAAe,gCAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdA;;AACA;;AAYa,6CAAqC,UAAC,KAAD,EAAmD;AACnG,MAAM,UAAU,GAAG,CAAnB;AADmG,MAE3F,QAF2F,GAEnB,KAFmB,CAE3F,QAF2F;AAAA,MAEjF,KAFiF,GAEnB,KAFmB,CAEjF,KAFiF;AAAA,MAE1E,WAF0E,GAEnB,KAFmB,CAE1E,WAF0E;AAAA,MAE7D,UAF6D,GAEnB,KAFmB,CAE7D,UAF6D;AAAA,MAEjD,MAFiD,GAEnB,KAFmB,CAEjD,MAFiD;AAAA,MAE1C,QAF0C,GAEnB,KAFmB,CAE1C,QAF0C;AAAA,MAEjC,SAFiC,GAEnB,KAFmB,CAEjC,SAFiC;;AAAA,0BAG7E,iBAAmB,KAAK,CAAC,UAAD,CAAL,CAAkB,IAAlB,CAAuB,EAAvB,CAAnB,CAH6E;AAAA;AAAA,MAG5F,GAH4F;AAAA,MAGvF,MAHuF;;AAInG,MAAM,SAAS,GAAG,eAAuC,KAAK,CAAC,UAAD,CAAL,CAAkB,IAAlB,CAAuB,IAAvB,CAAvC,CAAlB;;AAEA,MAAM,oBAAoB,uBACvB,0CAAsB,qBADC,EACuB,qBADvB,CAA1B;;AAIA,MAAM,YAAY,GAAG,SAAf,YAAe,CAAC,KAAD,EAAgB,KAAhB,EAAiC;AACpD,QAAI,CAAC,QAAQ,IAAR,CAAa,KAAb,CAAL,EAA0B,OAD0B,CAClB;;AAClC,QAAM,MAAM,sBAAO,GAAP,CAAZ;;AACA,UAAM,CAAC,KAAD,CAAN,GAAgB,KAAhB;AACA,UAAM,CAAC,MAAD,CAAN;;AAEA,QAAI,KAAK,IAAI,KAAK,GAAG,UAAU,GAAG,CAAlC,EAAqC;AACnC,UAAM,SAAS,GAAG,SAAS,CAAC,OAAV,CAAkB,KAAK,GAAG,CAA1B,CAAlB;;AACA,UAAI,SAAJ,EAAe;AACb,iBAAS,CAAC,KAAV;AACD;AACF;;AACD,QAAI,MAAM,CAAC,KAAP,CAAa,UAAC,CAAD;AAAA,aAAO,CAAP;AAAA,KAAb,CAAJ,EAA4B;AAC1B,iBAAW,CAAC,MAAM,CAAC,IAAP,CAAY,EAAZ,CAAD,CAAX;AACD;AACF,GAfD;;AAiBA,MAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,KAAD,EAAuB,KAAvB,EAAwC;AAC5D,QAAI,KAAK,CAAC,GAAN,KAAc,WAAd,IAA6B,CAAC,GAAG,CAAC,KAAD,CAAjC,IAA4C,KAAK,GAAG,CAAxD,EAA2D;AACzD,UAAM,SAAS,GAAG,SAAS,CAAC,OAAV,CAAkB,KAAK,GAAG,CAA1B,CAAlB;;AACA,UAAI,SAAJ,EAAe;AACb,iBAAS,CAAC,KAAV;AACD;AACF;AACF,GAPD;;AASA,MAAM,WAAW,GAAG,SAAd,WAAc,CAAC,KAAD,EAA0B;AAC5C,SAAK,CAAC,cAAN;AACA,QAAM,UAAU,GAAG,KAAK,CAAC,aAAN,CAAoB,OAApB,CAA4B,MAA5B,CAAnB;;AACA,QAAI,UAAU,CAAC,MAAX,KAAsB,GAAG,CAAC,MAA1B,IAAoC,CAAC,QAAQ,IAAR,CAAa,UAAb,CAAzC,EAAmE;AACjE;AACD;;AACD,QAAM,MAAM,GAAG,UAAU,CAAC,KAAX,CAAiB,EAAjB,CAAf;AACA,UAAM,CAAC,MAAD,CAAN;;AACA,QAAI,SAAS,CAAC,OAAV,CAAkB,GAAG,CAAC,MAAJ,GAAa,CAA/B,CAAJ,EAAuC;AACrC,eAAS,CAAC,OAAV,CAAkB,GAAG,CAAC,MAAJ,GAAa,CAA/B,EAAkC,KAAlC;AACD;;AACD,eAAW,CAAC,MAAM,CAAC,IAAP,CAAY,EAAZ,CAAD,CAAX;AACD,GAZD;;AAeA,SACE;AAAK,aAAS,EAAC;AAAf,KACE;AAAK,aAAS,EAAC;AAAf,KAAsB,kEAAtB,CADF,EAEE;AAAK,aAAS,EAAC;AAAf,IAFF,EAGE;AAAK,aAAS,EAAC;AAAf,KACE,0NADF,EACmD;AAAM,aAAS,EAAC;AAAhB,KAA2B,KAA3B,CADnD,EAEE,6KAFF,CAHF,EAOE;AAAK,aAAS,EAAC;AAAf,KACG,GAAG,CAAC,GAAJ,CAAQ,UAAC,CAAD,EAAI,KAAJ,EAAa;AACpB,WACE;AACE,SAAG,EAAE,KADP;AAEE,SAAG,EAAE,aAAC,EAAD;AAAA,eAAS,SAAS,CAAC,OAAV,CAAkB,KAAlB,IAA2B,EAApC;AAAA,OAFP;AAGE,UAAI,EAAC,MAHP;AAIE,eAAS,EAAE,CAJb;AAKE,WAAK,EAAE,GAAG,CAAC,KAAD,CALZ;AAME,cAAQ,EAAE,kBAAC,CAAD;AAAA,eAAY,YAAY,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,EAAiB,KAAjB,CAAxB;AAAA,OANZ;AAOE,eAAS,EAAE,mBAAC,CAAD;AAAA,eAAY,aAAa,CAAC,CAAD,EAAI,KAAJ,CAAzB;AAAA,OAPb;AAQE,aAAO,EAAE,iBAAC,CAAD;AAAA,eAAY,WAAW,CAAC,CAAD,CAAvB;AAAA;AARX,MADF;AAYD,GAbA,CADH,CAPF,EAuBE;AAAM,aAAS,EAAC;AAAhB,KAAiC,gFAAjC,CAvBF,EAwBE;AAAK,aAAS,EAAC;AAAf,KACE;AAAQ,aAAS,EAAC,kBAAlB;AAAqC,WAAO,EAAE;AAA9C,KAAoD,0BAApD,CADF,EAEE;AAAQ,aAAS,EAAC,sBAAlB;AAAyC,WAAO,EAAE;AAAlD,KAA4D,0BAA5D,CAFF,CAxBF,EA4BG,SAAS,IAAI;AAAG,aAAS,EAAC,YAAb;AAA0B,2BAAuB,EAAE;AAAE,YAAM,EAAE,oBAAoB,CAAC,SAAD;AAA9B;AAAnD,IA5BhB,EA6BE;AAAK,aAAS,EAAC;AAAf,K,iEAAA,EACe;AAAQ,WAAO,EAAE;AAAA,aAAM,QAAQ,EAAd;AAAA;AAAjB,KAAiC,+DAAjC,CADf,CA7BF,CADF;AAmCD,CAtFY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbb;;AACA;;IAUa,gC;;;;;AAET,4CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,0GAAM,KAAN;;AASI,wBAAc,YAAK;AACvB,UAAI,YAAY,IAAI,YAAY,CAAC,QAAjC,EAA2C;AACvC,YAAI,IAAI,GAAG,YAAY,CAAC,QAAxB;AACA,gBAAQ,CAAC,eAAT,CAAyB,KAAzB,CAA+B,QAA/B,GAA0C,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAV,CAAhB,CAA2C,QAA5C,CAAf,GAAuE,IAAjH;AACH;AAEJ,KANO;;AAOA,qCAA2B,YAAK;AAC/B,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;AAER,KAHO;;AAIA,0CAA+B,UAAC,cAAD,EAAmB;AACzD,UAAG,cAAH,EAAmB,OAAnB,KACI;AACD,cAAK,QAAL,CAAc;AAAE,wBAAc,EAAE;AAAlB,SAAd;AACF;AAED,KANO;;AAnBJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE;AADP,KAAb;AAFa;AAKhB;;;;wCACgB;AACjB,WAAK,WAAL;AACC;;;6BAsBK;AAAA;;AAAA,wBACiC,KAAK,KADtC;AAAA,UACI,KADJ,eACI,KADJ;AAAA,UACW,GADX,eACW,GADX;AAAA,UACiB,YADjB,eACiB,YADjB;AAAA,UAEI,cAFJ,GAEqB,KAAK,KAF1B,CAEI,cAFJ;AAGF,aACI;AAAK,iBAAS,iCAAd;AAAiD,UAAE,EAAC;AAApD,SACK,cAAc,IAAI,oBAAC,gCAAD,EAAW;AAAC,eAAO,EAAE,KAAK,wBAAf;AAAyC,YAAI,EAAC;AAA9C,OAAX,CADvB,EAEG;AAAK,iBAAS,EAAC;AAAf,SACC;AAAK,eAAO,EAAE;AAAA,iBAAI,MAAI,CAAC,6BAAL,CAAmC,cAAnC,CAAJ;AAAA;AAAd,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CADD,EAIC;AAAM,eAAO,EAAE;AAAA,iBAAI,6BAAc,KAAd,EAAqB,SAArB,EAAiC,GAAjC,EAAsC;AAAA,mBAAM,iCAAkB,MAAlB,EAA0B,SAA1B,EAAqC,KAArC,CAAN;AAAA,WAAtC,EAAyF,oBAAzF,CAAJ;AAAA;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CAJD,EAOC;AAAM,eAAO,EAAE;AAAA,iBAAM,gCAAiB,GAAjB,EAAsB;AAAA,mBAAM,iCAAkB,SAAlB,EAA6B,SAA7B,EAAwC,KAAxC,CAAN;AAAA,WAAtB,EAA4E,SAA5E,CAAN;AAAA;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CAPD,EAUC;AAAM,eAAO,EAAE;AAAA,iBAAM,iCAAkB,GAAlB,EAAuB;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,SAA9B,EAAyC,KAAzC,CAAN;AAAA,WAAvB,EAA8E,SAA9E,CAAN;AAAA;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CAVD,EAaC;AAAM,eAAO,EAAE;AAAA,iBAAM,iCAAkB,GAAlB,EAAuB,KAAvB,EAA8B;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,SAA9B,EAAyC,KAAzC,CAAN;AAAA,WAA9B,EAAqF,oBAArF,CAAN;AAAA;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CAbD,EAgBA,YAAY,IAAK;AAAG,YAAI,EAAC;AAAR,SAChB;AAAM,iBAAS,EAAC;AAAhB,QADgB,CAhBjB,CAFH,CADJ;AA0BH;;;;EA7DiD,KAAK,CAAC,S;;AAC1C,kDAAiB,kCAAjB;AADlB,4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXA;;AAEA;;AACA;;AAEA,IAAM,qBAAqB,GAAG,qBAA9B;;IAea,uB;;;;;AAGT;AAAA;;AAAA;;AACI;AAoBJ;;;;;;AAKQ,0BAAgB,YAAK;AACzB,UAAI,CAAC,MAAK,KAAV,EAAiB;AACjB,UAAM,QAAQ,GAAG,MAAK,KAAL,CAAW,IAAX,KAAoB,OAApB,GAA8B,MAAK,KAAL,CAAW,qBAAX,GAAmC,KAAjE,GAAyE,MAAK,KAAL,CAAW,qBAAX,GAAmC,IAA7H;AACA,UAAI,MAAK,KAAL,CAAW,cAAX,KAA8B,QAAlC,EACI,MAAK,QAAL,CAAc;AACV,sBAAc,EAAE,MAAK,KAAL,CAAW,qBAAX,GAAmC;AADzC,OAAd;AAGP,KAPO;;AASA,qBAAW,YAAK;AACpB,UAAI,CAAC,MAAK,KAAV,EAAiB;AADG,UAEZ,QAFY,GAEC,MAAK,KAFN,CAEZ,QAFY;AAGpB,UAAM,kBAAkB,GAAG,QAAQ,CAAC,cAAT,CAAwB,4BAAxB,CAA3B;AACA,UAAM,6BAA6B,GAAG,kBAAkB,CAAC,qBAAnB,EAAtC;;AACA,UAAM,yBAAyB,GAAG,MAAK,KAAL,CAAW,qBAAX,EAAlC;;AACA,UAAM,YAAY,GAAG,MAAK,KAAL,CAAW,IAAX,KAAoB,OAApB,GAA8B,MAAK,KAAL,CAAW,qBAAX,GAAmC,KAAjE,GAAyE,MAAK,KAAL,CAAW,qBAAX,GAAmC,IAAjI;;AACA,UAAI,6BAA6B,CAAC,MAA9B,IAAwC,yBAAyB,CAAC,MAAtE,EAA8E;AAC1E;AACH;;AAED,cAAQ,QAAR;AACI,aAAK,KAAL;AACI,cAAI,kBAAkB,CAAC,qBAAnB,GAA2C,GAA3C,GAAiD,CAArD,EAAwD;AACpD,kBAAK,QAAL,CAAc;AACV,sBAAQ,EAAE,WADA;AAEV,4BAAc,EAAE,MAAK,KAAL,CAAW,qBAAX,GAAmC;AAFzC,aAAd;AAIH;;AACD;;AAEJ,aAAK,WAAL;AACI,cAAI,kBAAkB,CAAC,qBAAnB,GAA2C,MAA3C,GAAoD,MAAK,KAAL,CAAW,qBAAX,GAAmC,MAA3F,EAAmG;AAC/F,kBAAK,QAAL,CAAc;AACV,sBAAQ,EAAE,QADA;AAEV,4BAAc,EAAE,MAAK,KAAL,CAAW,qBAAX,GAAmC;AAFzC,aAAd;AAIH;;AACD,cAAI,kBAAkB,CAAC,qBAAnB,GAA2C,GAA3C,GAAiD,MAAK,KAAL,CAAW,qBAAX,GAAmC,GAAxF,EAA6F;AACzF,kBAAK,QAAL,CAAc;AACV,sBAAQ,EAAE,KADA;AAEV,4BAAc,EAAE,MAAK,KAAL,CAAW,qBAAX,GAAmC;AAFzC,aAAd;AAIH;;AACD;;AAEJ,aAAK,QAAL;AACI,cAAI,MAAK,KAAL,CAAW,qBAAX,GAAmC,GAAnC,GAAyC,CAA7C,EAAgD;AAC5C,kBAAK,QAAL,CAAc;AACV,sBAAQ,EAAE;AADA,aAAd;AAGH;;AACD;AA/BR;AAkCH,KA7CO;;AA+CA,qBAAW,YAAK;AAAA,wBACiB,MAAK,KADtB;AAAA,UACZ,QADY,eACZ,QADY;AAAA,UACF,cADE,eACF,cADE;AAGpB,UAAI,KAAJ,CAHoB,CAIpB;;AACA,UAAI,cAAc,GAAG;AAAE,YAAI,EAAE,MAAR;AAAgB,aAAK,EAAE;AAAvB,OAArB;;AACA,UAAI,QAAQ,IAAI,WAAhB,EAA6B;AACzB,aAAK,GAAG;AACJ,cAAI,EAAE,cADF;AAEJ,mBAAS,EAAE,MAFP;AAGJ,sBAAY,EAAE,CAHV;AAIJ,kBAAQ,EAAE,OAJN;AAKJ,aAAG,EAAE;AALD,SAAR;AAOH;;AAED,UAAI,QAAQ,IAAI,cAAhB,EAAgC;AAC5B,aAAK,GAAG;AACJ,cAAI,EAAE,cADF;AAEJ,mBAAS,EAAE,MAFP;AAGJ,sBAAY,EAAE,CAHV;AAIJ,kBAAQ,EAAE,OAJN;AAKJ,gBAAM,EAAE;AALJ,SAAR;AAOH;;AAED,UAAI,QAAQ,IAAI,KAAhB,EAAuB;AACnB,aAAK;AACD,aAAG,EAAE;AADJ,WAEE,cAFF,EAEgB;AACjB,gBAAM,EAAE;AADS,SAFhB,CAAL;AAKH;;AAED,UAAI,QAAQ,IAAI,QAAhB,EAA0B;AACtB,aAAK;AACD,aAAG,EAAE;AADJ,WAEE,cAFF,EAEgB;AACjB,gBAAM,EAAE;AADS,SAFhB,CAAL;AAKH;;AAED,aAAO,KAAP;AACH,KA3CO;;AA6CA,yBAAe,YAAK;AACxB,UAAI,OAAO,MAAP,IAAiB,WAArB,EAAkC;AAC9B,cAAM,CAAC,KAAP;AACH;AACJ,KAJO;;AAMA,kCAAwB,UAAC,MAAD,EAAiB,IAAjB,EAAiC;AAC7D,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,WAAW,GAAG,MAAM,CAAC,QAAP,CAAgB,IAApC;AAD+B,YAEvB,YAFuB,GAEN,MAAK,KAFC,CAEvB,YAFuB;;AAG/B,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B,EAA/B,EAAmC;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,cAA9B,EAA8C,YAA9C,CAAN;AAAA,aAAnC,EAAsG,cAAtG;AACA;;AAEJ,eAAK,IAAL;AACI,4CAAiB,WAAjB,EAA8B;AAAA,qBAAM,iCAAkB,SAAlB,EAA6B,cAA7B,EAA6C,YAA7C,CAAN;AAAA,aAA9B,EAAgG,cAAhG;AACA;;AACJ,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,cAA9B,EAA8C,YAA9C,CAAN;AAAA,aAA/B;AACA;;AACJ,eAAK,IAAL;AACI,sDAAoB,iBAApB,CAAsC,WAAtC,EAAmD;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,aAA9B,EAA6C,YAA7C,CAAN;AAAA,aAAnD,EAAqH,aAArH;AACA;;AAEJ,eAAK,QAAL;AACI,8CAAgB,aAAhB,CAA8B,YAA9B,EAA4C,WAA5C,EAAyD,IAAzD,EAA+D;AAAA,qBAAM,iCAAkB,MAAlB,EAA0B,cAA1B,EAA0C,YAA1C,CAAN;AAAA,aAA/D,EAA8H,cAA9H;AACA;AAjBR;AAmBH;AACJ,KAxBO;;AA0BA,8BAAoB,YAAK;AAC7B,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,eAAO,CAAC,CAAC,QAAQ,CAAC,cAAT,CAAwB,qBAAxB,CAAT;AACH;AACJ,KAJO;;AAMA,oCAA0B,UAAC,CAAD,EAAM;AACpC,cAAQ,CAAC,cAAT,CAAwB,qBAAxB,EAA+C,cAA/C,CAA8D;AAAE,gBAAQ,EAAE;AAAZ,OAA9D,EADoC,CACmD;AAC1F,KAFO;;AAnKJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,KADD;AAET,oBAAc,EAAE;AAFP,KAAb;AAFJ;AAMC;;;;wCAIgB;AACb,sBAAgB,CAAC,QAAD,EAAW,CAAC,CAAC,QAAF,CAAW,KAAK,QAAhB,EAA0B,EAA1B,CAAX,CAAhB;AACA,YAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,KAAK,aAAvC,EAAsD,KAAtD;AACA,WAAK,aAAL;AACH;;;2CACmB;AAChB;AACA,cAAQ,CAAC,mBAAT,CAA6B,QAA7B,EAAuC,CAAC,CAAC,QAAF,CAAW,KAAK,QAAhB,EAA0B,EAA1B,CAAvC;AACA,YAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,KAAK,aAA1C,EAAyD,KAAzD;AAEH;;;6BAqJY;AAAA;;AACT,UAAM,IAAI,GAAG,KAAK,KAAL,CAAW,IAAX,KAAoB,OAApB,GAA8B,SAA9B,GAA0C,aAAvD;AADS,wBAEiD,KAAK,KAFtD;AAAA,UAED,aAFC,eAED,aAFC;AAAA,UAEc,gBAFd,eAEc,gBAFd;AAAA,UAEgC,YAFhC,eAEgC,YAFhC;;AAIT,UAAM,aAAa,GAAG,YAAY,IAAI,KAAK,iBAAL,EAAtC;;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAI,iBAAS,EAAC,YAAd;AAA0B,0BAAgB,SAA1C;AAAoD,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,KAAL,GAAa,IAAjB;AAAA,SAA5D;AAAkF,aAAK,EAAE,KAAK,QAAL;AAAzF,SACK,aAAa,IAAI,KAAK,KAAL,CAAW,IAAX,KAAoB,OAArC,IAAgD;AAAI,aAAK,EAAC,UAAV;AAAqB,iBAAS,EAAC,qBAA/B;AAAqD,eAAO,EAAE,KAAK;AAAnE,QADrD,EAEI;AAAI,aAAK,EAAC,OAAV;AAAkB,iBAAS,EAAC,kBAA5B;AAA+C,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,QAA3B,EAAqC,IAArC,CAAJ;AAAA;AAAzD,QAFJ,EAGG;AAAI,aAAK,EAAC,UAAV;AAAqB,iBAAS,EAAC,qBAA/B;AAAqD,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,IAA3B,EAAiC,IAAjC,CAAP;AAAA;AAA9D,QAHH,EAII;AAAI,aAAK,EAAC,UAAV;AAAqB,iBAAS,EAAC,qBAA/B;AAAqD,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,IAA3B,EAAiC,IAAjC,CAAP;AAAA;AAA9D,QAJJ,EAKI;AAAI,aAAK,EAAC,SAAV;AAAoB,iBAAS,EAAC,oBAA9B;AAAmD,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,IAA3B,EAAiC,IAAjC,CAAP;AAAA;AAA5D,QALJ,EAMI;AAAI,aAAK,EAAC,OAAV;AAAkB,iBAAS,EAAC,kBAA5B;AAA+C,eAAO,EAAE,KAAK;AAA7D,QANJ,EAOK,KAAK,KAAL,CAAW,IAAX,KAAoB,OAApB,IAA+B;AAAI,aAAK,EAAC,UAAV;AAAqB,iBAAS,EAAC,qBAA/B;AAAqD,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,IAA3B,EAAiC,IAAjC,CAAP;AAAA;AAA9D,QAPpC,EAQI;AAAI,aAAK,EAAE;AAAE,yBAAe,gBAAS,gBAAT;AAAjB,SAAX;AAA4D,aAAK,EAAE,aAAa,CAAC,cAAd,CAA6B,IAA7B,CAAkC,WAArG;AAAkH,iBAAS,EAAC,gBAA5H;AAA4I,sBAAY;AAAxJ,SACI;AAAG,cAAM,EAAC,QAAV;AAAmB,YAAI,EAAE,aAAa,CAAC,cAAd,CAA6B,IAA7B,CAAkC,aAA3D;AAA0E,aAAK,EAAE;AAAE,gBAAM,EAAE,MAAV;AAAkB,eAAK,EAAE,MAAzB;AAAiC,iBAAO,EAAE;AAA1C;AAAjF,QADJ,CARJ,CADJ,CADJ;AAgBH;;;;EAlMwC,KAAK,CAAC,S;;AACjC,yCAAiB,yBAAjB;AADlB,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICTa,kC;;;;;AACT,8CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,4GAAM,KAAN;;AAOJ,sBAAY,UAAC,IAAD,EAAO,IAAP,EAAa,KAAb,EAAsB;AAC9B,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;;AACA,YAAM,CAAC,IAAP,CAAY,IAAZ,uFAAoC,IAApC,GAA4C,sBAA5C;AACH,KAHD;;AAKA,qBAAW,UAAC,KAAD,EAAgB,OAAhB,EAAiC,IAAjC,EAAiD;AAAA,UAChD,KADgD,GACtC,MAAK,KADiC,CAChD,KADgD;AAAA,UAEhD,aAFgD,GAE9B,MAAK,KAFyB,CAEhD,aAFgD;;AAGxD,UAAI,CAAC,KAAL,EAAY;AACR,eAAO,IAAP;AACH;;AACD,UAAI,QAAQ,kGAA2F,KAAK,CAAC,EAAjG,cAAuG,OAAvG,aAAZ;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,aAAK,EAAE;AAAE,gBAAM,sBAAe,KAAf,CAAR;AAAgC,yBAAe,EAAE,aAAa,KAAK,OAAlB,GAA4B,KAA5B,GAAoC;AAArF,SAAnC;AAAmI,eAAO,EAAE,mBAAK;AAAG,gBAAK,SAAL,CAAe,QAAf,EAAyB,KAAK,CAAC,IAA/B,EAAqC,OAArC;AAA+C;AAAnM,QADJ,EAEI;AAAK,iBAAS,EAAC,WAAf;AAA2B,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAAlC,SAAqD,IAArD,CAFJ,CADJ;AAMH,KAbD;;AAXI,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE;AADN,KAAb;AAFa;AAKhB;;;;6BAwBY;AAAA;;AACT,UAAM,kBAAkB,GAAG,CACvB;AAAE,eAAO,EAAE,GAAX;AAAgB,aAAK,EAAE,SAAvB;AAAkC,YAAI,EAAE;AAAxC,OADuB,EAEvB;AAAE,eAAO,EAAE,GAAX;AAAgB,aAAK,EAAE,SAAvB;AAAkC,YAAI,EAAE;AAAxC,OAFuB,EAGvB;AAAE,eAAO,EAAE,GAAX;AAAgB,aAAK,EAAE,SAAvB;AAAkC,YAAI,EAAE;AAAxC,OAHuB,EAIvB;AAAE,eAAO,EAAE,GAAX;AAAgB,aAAK,EAAE,SAAvB;AAAkC,YAAI,EAAE;AAAxC,OAJuB,EAKvB;AAAE,eAAO,EAAE,GAAX;AAAgB,aAAK,EAAE,SAAvB;AAAkC,YAAI,EAAE;AAAxC,OALuB,CAA3B;AAQA,UAAM,MAAM,GAAG,kBAAkB,CAAC,GAAnB,CAAuB,cAAI,EAAG;AACzC,eACI,MAAI,CAAC,QAAL,CAAc,IAAI,CAAC,KAAnB,EAA0B,IAAI,CAAC,OAA/B,EAAwC,IAAI,CAAC,IAA7C,CADJ;AAGH,OAJc,CAAf;AAKA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,MADL,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,CADJ;AAMH;;;;EAlDmD,KAAK,CAAC,S;;AAQ5C,oDAAiB,oCAAjB;AARlB,gF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICIa,+B;;;;;AAMT,2CAAY,KAAZ,EAAwB;AAAA;;AAAA;;AACpB,yGAAM,KAAN;;AAWI,uBAAa,YAAK;AAAA,UACd,IADc,GACL,MAAK,KADA,CACd,IADc,EAGtB;;AACA,UAAM,OAAO,GAAG,IAAI,IAAJ,CAAS,IAAT,CAAhB,CAJsB,CAMtB;;AACA,UAAM,OAAO,GAAG;AACZ,YAAI,EAAE,SADM;AAEZ,aAAK,EAAE,MAFK;AAGZ,WAAG,EAAE;AAHO,OAAhB,CAPsB,CAatB;;AACA,UAAI,KAAK,GAAG,CAAZ;AACA,aAAO,OAAO,CAAC,kBAAR,CAA2B,OAA3B,EAAoC,OAApC,EAA6C,OAA7C,CAAqD,IAArD,EAA2D,UAAU,KAAV,EAAe;AAC7E,aAAK;AACL,eAAO,KAAK,KAAK,CAAV,GAAc,IAAd,GAAqB,KAA5B;AACH,OAHM,CAAP;AAIH,KAnBO;;AAqBA,oCAA0B,UAAC,CAAD,EAAI,IAAJ,EAA6B;AAC3D,OAAC,CAAC,cAAF;AAEA,UAAM,YAAY,GAAG,CAAC,EAAtB;AACA,UAAM,aAAa,GAAG,CAAC,EAAvB;AACA,UAAM,OAAO,GAAG,QAAQ,CAAC,cAAT,CAAwB,IAAI,CAAC,MAA7B,CAAhB;AACA,UAAM,CAAC,GAAG,OAAO,CAAC,qBAAR,GAAgC,GAAhC,GAAsC,MAAM,CAAC,WAA7C,GAA2D,YAA3D,GAA0E,aAApF;AAEA,YAAM,CAAC,QAAP,CAAgB;AAAE,WAAG,EAAE,CAAP;AAAU,gBAAQ,EAAE;AAApB,OAAhB;AACH,KATO;;AAWR,mCAAyB,YAAK;AAC1B,UAAI,MAAK,KAAL,CAAW,cAAX,KAA8B,CAA9B,IAAmC,MAAK,KAAL,CAAW,KAAX,CAAiB,MAAjB,GAA0B,CAAjE,EAAoE;AAChE;AACH;;AAED,YAAK,QAAL,CAAc,UAAC,SAAD,EAAc;AACxB,eAAO;AACH,wBAAc,EAAE,SAAS,CAAC,cAAV,GAA2B;AADxC,SAAP;AAGH,OAJD;AAKH,KAVD;;AAYA,kCAAwB,YAAK;AACzB,UACI,MAAK,KAAL,CAAW,cAAX,KAA8B,MAAK,KAAL,CAAW,KAAX,CAAiB,MAAjB,GAA0B,CAAxD,IACA,MAAK,KAAL,CAAW,KAAX,CAAiB,MAAjB,GAA0B,CAF9B,EAGE;AACE;AACH;;AAED,YAAK,QAAL,CAAc,UAAC,SAAD,EAAc;AACxB,eAAO;AACH,wBAAc,EAAE,SAAS,CAAC,cAAV,GAA2B;AADxC,SAAP;AAGH,OAJD;AAKH,KAbD;;AAeQ,0BAAgB,UAAC,IAAD,EAAiB;AACrC,UAAM,GAAG,GAAG,IAAI,IAAJ,EAAZ;AACA,UAAM,IAAI,GAAG,GAAG,CAAC,OAAJ,KAAgB,IAAI,IAAJ,CAAS,IAAT,EAAe,OAAf,EAA7B;AACA,UAAM,aAAa,GAAG,IAAI,GAAG,IAAP,GAAc,EAApC;AACA,UAAM,WAAW,GAAG,aAAa,GAAG,EAApC;AACA,UAAM,UAAU,GAAG,WAAW,GAAG,EAAjC;AACA,UAAM,WAAW,GAAG,UAAU,GAAG,CAAjC;AACA,UAAM,YAAY,GAAG,UAAU,GAAG,EAAlC;AACA,UAAM,WAAW,GAAG,UAAU,GAAG,GAAjC;;AAEA,UAAI,aAAa,GAAG,EAApB,EAAwB;AACpB,kDAAe,IAAI,CAAC,KAAL,CAAW,aAAX,CAAf;AACH,OAFD,MAEO,IAAI,WAAW,GAAG,EAAlB,EAAsB;AACzB,kDAAe,IAAI,CAAC,KAAL,CAAW,WAAX,CAAf;AACH,OAFM,MAEA,IAAI,UAAU,GAAG,CAAjB,EAAoB;AACvB,eAAO,OAAP;AACH,OAFM,MAEA,IAAI,UAAU,GAAG,EAAjB,EAAqB;AACxB,kDAAe,IAAI,CAAC,KAAL,CAAW,UAAX,CAAf;AACH,OAFM,MAEA,IAAI,UAAU,GAAG,GAAjB,EAAsB;AACzB,kDAAe,IAAI,CAAC,KAAL,CAAW,WAAX,CAAf;AACH,OAFM,MAEA,IAAI,UAAU,GAAG,MAAM,CAAvB,EAA0B;AAC7B,kDAAe,IAAI,CAAC,KAAL,CAAW,YAAX,CAAf;AACH,OAFM,MAEA,IAAI,UAAU,GAAG,MAAM,CAAvB,EAA0B;AAC7B,eAAO,WAAP;AACH,OAFM,MAEA;AACH,kDAAe,IAAI,CAAC,KAAL,CAAW,WAAX,CAAf;AACH;AACJ,KA3BO;;AArEJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE;AADP,KAAb;AAFoB;AAKvB;;;;wCAEgB,CACb;AACA;AACH;;;6BA0FY;AAAA;;AAAA,wBACoB,KAAK,KADzB;AAAA,UACD,KADC,eACD,KADC;AAAA,UACM,SADN,eACM,SADN;AAAA,UAED,cAFC,GAEkB,KAAK,KAFvB,CAED,cAFC;AAGT,UAAM,cAAc,GAAG,KAAK,CAAC,KAAN,CAAY,cAAZ,EAA4B,cAAc,GAAG,CAA7C,CAAvB;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAI,iBAAS,EAAC;AAAd,SACK,KAAK,KAAL,CAAW,KADhB,CADJ,EAII;AAAK,iBAAS,EAAC;AAAf,SACK,KAAK,UAAL,EADL,CAJJ,CAFJ,EAUI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,iBAAS,EAAC,oCADd;AAEI,eAAO,EAAE,KAAK;AAFlB,QADJ,EAKK,cAAc,CAAC,GAAf,CAAmB,UAAC,IAAD,EAAO,KAAP;AAAA,eAChB;AACI,aAAG,EAAE,KADT;AAEI,mBAAS,EAAC,4BAFd;AAGI,iBAAO,EAAE,iBAAC,CAAD;AAAA,mBACL,MAAI,CAAC,uBAAL,CAA6B,CAA7B,EAAgC,IAAhC,CADK;AAAA;AAHb,WAOI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAM,mBAAS,EAAC;AAAhB,WACK,MAAI,CAAC,aAAL,CACG,IAAI,CAAC,QADR,CADL,CADJ,CAPJ,EAcI;AAAK,mBAAS,EAAC;AAAf,WACK,IAAI,CAAC,SADV,CAdJ,CADgB;AAAA,OAAnB,CALL,EAyBI;AACI,iBAAS,EAAC,mCADd;AAEI,eAAO,EAAE,KAAK;AAFlB,QAzBJ,CAFJ,CAVJ,EA2CK,SAAS,IAAI,SAAS,CAAC,MAAV,GAAmB,CAAhC,IAAqC;AAAK,iBAAS,EAAC;AAAf,SAA4B,SAA5B,CA3C1C,CADJ;AA+CH;;;;EA9JgD,KAAK,CAAC,S;;AAIzC,iDAAiB,iCAAjB;AAJlB,0E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;;IAuBa,2B;;;;;AAET,uCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,qGAAM,KAAN;;AAKI,0BAAgB,YAAK;AACzB,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAE;AAAf,OAAd;AACH,KAFO;;AAGA,yBAAe,YAAK;AAAA,UAChB,kBADgB,GACO,MAAK,KADZ,CAChB,kBADgB;;AAExB,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAE;AAAf,OAAd;AACH,KAHO;;AAPJ,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE;AADJ,KAAb;AAFa;AAKhB;;;;6BAQY;AAAA,wBACwB,KAAK,KAD7B;AAAA,UACD,KADC,eACD,KADC;AAAA,UACM,aADN,eACM,aADN;AAAA,UAED,WAFC,GAEe,KAAK,KAFpB,CAED,WAFC;AAIT,UAAI,UAAU,GAAG,KAAK,KAAK,SAAV,GAAsB,KAAK,CAAC,KAAN,CAAY,CAAZ,EAAe,CAAf,CAAtB,GAA0C,EAA3D;AACA,UAAI,WAAW,GAAG,KAAK,KAAK,SAAV,GAAsB,KAAK,CAAC,KAAN,CAAY,CAAZ,EAAe,KAAK,CAAC,MAArB,CAAtB,GAAqD,EAAvE;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI,iCACK,WAAW,KAAK,CAAhB,IAAqB;AAAQ,iBAAS,EAAC,YAAlB;AAA+B,eAAO,EAAE,KAAK;AAA7C,QAD1B,EAEI;AAAK,iBAAS,EAAC,cAAf;AAA8B,aAAK,EAAE;AAAE,qBAAW,EAAE;AAAf;AAArC,SACK,GAAG,CAAC,UAAD,EAAa,UAAC,IAAD,EAAO,CAAP,EAAY;AACzB,eACI;AAAG,mBAAS,EAAC,aAAb;AAA2B,aAAG,EAAE,IAAI,CAAC,EAArC;AAAyC,cAAI,EAAE,IAAI,CAAC,aAApD;AAAmE,eAAK,EAAE,IAAI,CAAC;AAA/E,WACI;AAAK,aAAG,EAAE,IAAI,CAAC,IAAf;AAAqB,mBAAS,EAAC,gBAA/B;AAAgD,aAAG,EAAE,IAAI,CAAC,KAA1D;AAAiE,eAAK,EAAE,IAAI,CAAC;AAA7E,UADJ,EAEI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC;AAAf,WACK,IAAI,CAAC,KADV,CADJ,EAIK,CAAC,aAAD,IAAkB;AAAK,mBAAS,EAAC;AAAf,WACd,IAAI,CAAC,MADS,CAJvB,CAFJ,CADJ;AAaH,OAdG,CADR,EAiBK,CAAC,aAAD,IAAkB;AAAK,iBAAS,EAAC;AAAf,SACX;AAAK,UAAE,EAAC,mBAAR;AAA4B,iBAAS,EAAC;AAAtC,QADW,CAjBvB,EAoBK,GAAG,CAAC,WAAD,EAAc,UAAC,IAAD,EAAO,CAAP,EAAY;AAC1B,YAAI,IAAJ,EAAU;AACN,iBACI;AAAG,qBAAS,EAAC,aAAb;AAA2B,eAAG,EAAE,IAAI,CAAC,EAArC;AAAyC,gBAAI,EAAE,IAAI,CAAC,aAApD;AAAmE,iBAAK,EAAE,IAAI,CAAC;AAA/E,aACI;AAAK,eAAG,EAAE,IAAI,CAAC,IAAf;AAAqB,qBAAS,EAAC,gBAA/B;AAAgD,eAAG,EAAE,IAAI,CAAC,KAA1D;AAAiE,iBAAK,EAAE,IAAI,CAAC;AAA7E,YADJ,EAEI;AAAK,qBAAS,EAAC;AAAf,aACI;AAAK,qBAAS,EAAC;AAAf,aACK,IAAI,CAAC,KADV,CADJ,EAIK,CAAC,aAAD,IAAkB;AAAK,qBAAS,EAAC;AAAf,aACd,IAAI,CAAC,MADS,CAJvB,CAFJ,CADJ;AAaH;AACJ,OAhBG,CApBR,CAFJ,EAyCK,WAAW,KAAK,CAAhB,IAAqB;AAAQ,iBAAS,EAAC,WAAlB;AAA8B,eAAO,EAAE,KAAK;AAA5C,QAzC1B,CADJ,CADJ;AA+CH;;;;EArE4C,KAAK,CAAC,S;;AAC5C,6CAAiB,6BAAjB;AADX,kE,CAuEA,4E;;;;;;;;;;;;;;;;;;;;;;;AC9FA;;AAEA;;AAQa,uCAA+B,UAAC,KAAD,EAA6C;AAAA,0BAEnC,iBAAiB,CAAjB,CAFmC;AAAA;AAAA,MAE9E,iBAF8E;AAAA,MAE3D,oBAF2D;;AAAA,MAG7E,SAH6E,GAGhD,KAHgD,CAG7E,SAH6E;AAAA,MAGlE,aAHkE,GAGhD,KAHgD,CAGlE,aAHkE;AAKrF,MAAM,YAAY,GAAG,SAAS,CAAC,iBAAD,CAA9B;;AAEA,MAAM,aAAa,GAAG,SAAhB,aAAgB,GAAK;AACvB,QAAI,SAAS,CAAC,MAAV,GAAmB,CAAnB,IAAwB,iBAAiB,GAAG,CAAhD,EAAmD;AAC/C,0BAAoB,CAAC,iBAAiB,GAAG,CAArB,CAApB;AACH,KAFD,MAEO,IAAI,SAAS,CAAC,MAAV,GAAmB,CAAnB,KAAyB,iBAA7B,EAAgD;AACnD,0BAAoB,CAAC,CAAD,CAApB;AACH;AACJ,GAND;;AAQA,SACI;AAAK,aAAS,EAAC;AAAf,KACI,oBAAC,0BAAD,EAAe;AACX,QAAI,EAAE,YADK;AAEX,gBAAY,EAAE,aAFH;AAGX,gBAAY,EAAE,aAHH;AAIX,iBAAa,oBAAO,aAAP,EAAoB;AAAE,qBAAe,EAAE;AAAnB,KAApB,CAJF;AAKX,OAAG,yCAAkC,YAAY,CAAC,OAA/C;AALQ,GAAf,CADJ,CADJ;AAWH,CA1BY;;AA4Bb,qCAA6B,cAA7B,GAA8C,8BAA9C,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrCA;;AACA;;AAGA;;AACA;;AACA;;AAEA;;IA6Ba,6B;;;;;;;;;;;;;wCAGe;AACpB,UAAI,KAAK,KAAL,CAAW,WAAf,EAA4B;AACxB,cAAM,CAAC,QAAP,GAAkB,MAAM,CAAC,QAAP,IAAmB,EAArC;;AACA,cAAM,CAAC,QAAP,CAAgB,IAAhB,CAAqB;AACjB,cAAI,EAAE,cADW;AAEjB,mBAAS,EAAE,kCAFM;AAGjB,mBAAS,EAAE,0BAHM;AAIjB,qBAAW,EAAE;AAJI,SAArB;AAMH;AACJ;;;6BAEY;AAAA,wBACoG,KAAK,KADzG;AAAA,UACD,OADC,eACD,OADC;AAAA,UACQ,qBADR,eACQ,qBADR;AAAA,UAC+B,UAD/B,eAC+B,UAD/B;AAAA,UAC2C,aAD3C,eAC2C,aAD3C;AAAA,UAC0D,WAD1D,eAC0D,WAD1D;AAAA,UACuE,GADvE,eACuE,GADvE;AAAA,UAC4E,KAD5E,eAC4E,KAD5E;AAAA,UACmF,YADnF,eACmF,YADnF;AAAA,UAED,KAFC,GAEuI,OAFvI,CAED,KAFC;AAAA,UAEM,QAFN,GAEuI,OAFvI,CAEM,QAFN;AAAA,UAEgB,MAFhB,GAEuI,OAFvI,CAEgB,MAFhB;AAAA,UAEwB,MAFxB,GAEuI,OAFvI,CAEwB,MAFxB;AAAA,UAEgC,qBAFhC,GAEuI,OAFvI,CAEgC,qBAFhC;AAAA,UAEuD,aAFvD,GAEuI,OAFvI,CAEuD,aAFvD;AAAA,UAEsE,aAFtE,GAEuI,OAFvI,CAEsE,aAFtE;AAAA,UAEqF,IAFrF,GAEuI,OAFvI,CAEqF,IAFrF;AAAA,UAE2F,QAF3F,GAEuI,OAFvI,CAE2F,QAF3F;AAAA,UAEqG,SAFrG,GAEuI,OAFvI,CAEqG,SAFrG;AAAA,UAEgH,KAFhH,GAEuI,OAFvI,CAEgH,KAFhH;AAAA,UAEuH,WAFvH,GAEuI,OAFvI,CAEuH,WAFvH;AAGT,UAAM,aAAa,GAAG,qBAAqB,CAAC,eAAtB,IAAyC,qBAAqB,CAAC,aAA/D,IAAgF,qBAAqB,CAAC,aAA5H;AACA,UAAM,UAAU,GAAG,qBAAqB,CAAC,aAAtB,IAAuC,qBAAqB,CAAC,aAAhF;AACA,UAAM,gBAAgB,GAAG,OAAO,CAAC,KAAR,IAAiB,OAAO,CAAC,KAAR,CAAc,MAA/B,IAAyC,OAAO,CAAC,KAAR,CAAc,CAAd,CAAlE;AACA,UAAM,SAAS,GAAG,QAAQ,GAAG,OAAH,GAAa,MAAvC;AACA,UAAM,QAAQ,GAAG,WAAW,KAAG,OAAd,GAAwB,OAAxB,GAAkC,SAAnD;AACA,aACI,0CACK,WAAW,IAAI;AAAK,UAAE,EAAC;AAAR,QADpB,EAEI;AAAK,iBAAS,EAAC,UAAf;AAAyB,+BAAsB,SAA/C;AAAwD,wBAAgB;AAAxE,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAEK,gBAAgB,GACb,+BACI,oBAAC,qBAAD,EAAU;AACN,YAAI,EAAE,kBACC,gBADD,EACiB;AACnB,aAAG,EAAE,gBAAgB,CAAC,SADH;AAEnB,gBAAM,EAAE,OAAO,CAAC,WAAR,CAAoB,qBAApB,EAA2C;AAAE,aAAC,EAAE,GAAL;AAAU,aAAC,EAAE;AAAb,WAA3C,CAFW;AAGnB,mBAAS,EAAE,aAHQ;AAInB,eAAK,EAAL,KAJmB;AAKnB,iBAAO,EAAE,CAAC;AALS,SADjB,CADA;AASN,aAAK,EAAE,GATD;AAUN,cAAM,EAAE,GAVF;AAWN,qBAAa,EAAE;AACX,yBAAe,EAAE,IADN;AAEX,sBAAY,EAAE;AAFH,SAXT;AAeN,mBAAW,EAAE,KAfP;AAgBN,uBAAe,EAAE;AAhBX,OAAV,CADJ,CADa,GAsBb;AAAG,YAAI,EAAE;AAAT,SACA;AAAK,WAAG,EAAE,OAAO,CAAC,WAAR,CAAoB,qBAApB,EAA2C;AAAE,WAAC,EAAE,GAAL;AAAU,WAAC,EAAE;AAAb,SAA3C,CAAV;AACI,aAAK,EAAE;AAAE,eAAK,EAAE,GAAT;AAAc,gBAAM,EAAE;AAAtB,SADX;AAEI,iBAAS,EAAC,gBAFd;AAGI,WAAG,EAAE,yBAAU,qBAAV,CAHT;AAGyC,uBACxB,4BAAa,qBAAb,CAJjB;AAKI,aAAK,EAAE,2BAAY,qBAAZ;AALX,QADA,CAxBR,CADJ,EAoCK,CAAC,KAAD,IAAU,oBAAC,iCAAD,EAAgB;AAAC,cAAM,EAAE,EAAT;AAAa,YAAI,EAAE,QAAnB;AAA6B,qBAAa,EAAC,QAA3C;AAAoD,qBAAa,EAAE,QAAQ,KAAG;AAA9E,OAAhB,CApCf,EAqCI,oBAAC,uCAAD,EAAmB;AAAC,WAAG,EAAE,aAAN;AAAqB,aAAK,EAAE,KAAK,KAAL,CAAW,OAAX,CAAmB,KAA/C;AAAsD,aAAK,EAAE,KAA7D;AAAoE,iBAAS,EAAE;AAA/E,OAAnB,CArCJ,CADJ,EAwCI;AAAG,YAAI,EAAE,+CAAgC,OAAhC,CAAT;AAAmD,iBAAS,EAAC;AAA7D,SACK,qBAAqB,CAAC,cAAtB,IAAwC;AAAK,iBAAS,EAAC,WAAf;AAA2B,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAAlC,SACpC,IAAI,KAAK,IAAT,IAAiB;AAAM,iBAAS,EAAC,WAAhB;AAA2B,oCAAoB,IAApB;AAA3B,SAA2D,IAA3D,EAA0E,KAA1E,CADmB,E,GAAA,EACyD,kCAAO,KAAP,CADzD,CAD7C,EAIK,aAAa,IAAI;AAAK,iBAAS,EAAC;AAAf,SACb,UAAU,IACP;AAAM,iBAAS,EAAC;AAAhB,SACC,KAAK,GAAI,qBAAqB,CAAC,aAAtB,IAAuC,oBAAC,mCAAD,EAAiB;AAAC,YAAI,EAAE;AAAP,OAAjB,CAA3C,GACF,qDAAsC,aAAtC,EACI;AACI,gBAAQ,EAAE,qBAAqB,CAAC,aADpC;AAEI,gBAAQ,EAAE,qBAAqB,CAAC;AAFpC,OADJ,CAFJ,CAFU,EAUb,KAAK,IAAI,wCAVI,EAWb,qBAAqB,CAAC,eAAtB,IAAyC;AAAM,iBAAS,EAAC;AAAhB,SAA0B,MAA1B,CAX5B,CAJtB,EAiBK,qBAAqB,CAAC,iBAAtB,IAA2C;AAAK,iBAAS,EAAC,cAAf;AAA8B,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAArC,SACxC,kCAAO,QAAP,CADwC,CAjBhD,CAxCJ,CAFJ,CADJ;AAmEH;;;;EA1F8C,KAAK,CAAC,S;;AAC9C,6CAAe;AAAE,mBAAiB,EAAE;AAArB,CAAf;AADX,sE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrCA;;AACA;;AAKA;;IA4Ba,kC;;;;;;;;;;;;;wCAGe;AACpB,UAAI,KAAK,KAAL,CAAW,WAAf,EAA4B;AACxB,cAAM,CAAC,QAAP,GAAkB,MAAM,CAAC,QAAP,IAAmB,EAArC;;AACA,cAAM,CAAC,QAAP,CAAgB,IAAhB,CAAqB;AACjB,cAAI,EAAE,cADW;AAEjB,mBAAS,EAAE,kCAFM;AAGjB,mBAAS,EAAE,0BAHM;AAIjB,qBAAW,EAAE;AAJI,SAArB;AAMH;AACJ;;;6BAEY;AAAA,wBAC+C,KAAK,KADpD;AAAA,UACD,OADC,eACD,OADC;AAAA,UACQ,qBADR,eACQ,qBADR;AAAA,UAC+B,WAD/B,eAC+B,WAD/B;AAAA,UAED,KAFC,GAEuE,OAFvE,CAED,KAFC;AAAA,UAEM,MAFN,GAEuE,OAFvE,CAEM,MAFN;AAAA,UAEc,qBAFd,GAEuE,OAFvE,CAEc,qBAFd;AAAA,UAEqC,aAFrC,GAEuE,OAFvE,CAEqC,aAFrC;AAAA,UAEoD,IAFpD,GAEuE,OAFvE,CAEoD,IAFpD;AAAA,UAE0D,QAF1D,GAEuE,OAFvE,CAE0D,QAF1D;AAGT,UAAM,IAAI,GAAG;AACT,aAAK,EAAE,KADE;AAET,iBAAS,EAAE,IAAI,IAAI,IAAI,CAAC,MAAL,GAAY,CAApB,GAAwB,IAAxB,GAA+B,EAFjC;AAGT,YAAI,EAAE,+CAAgC,OAAhC,CAHG;AAIT,gBAAQ,EAAG,OAAO,CAAC,WAAR,CAAoB,qBAApB,EAA2C;AAAE,WAAC,EAAE,GAAL;AAAU,WAAC,EAAE;AAAb,SAA3C,CAJF;AAKT,qBAAa,EAAE,aALN;AAMT,cAAM,EAAE,MANC;AAOT,gBAAQ,EAAE;AAPD,OAAb;AASA,aACI,0CACK,WAAW,IAAI;AAAK,UAAE,EAAC;AAAR,QADpB,EAEI,oBAAC,6CAAD,EAAsB;AAClB,6BAAqB,EAAE,qBADL;AAElB,YAAI,EAAE;AAFY,OAAtB,CAFJ,CADJ;AASH;;;;EApCmD,KAAK,CAAC,S;;AACnD,kDAAe;AAAE,mBAAiB,EAAE;AAArB,CAAf;AADX,gF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCA;;AACA;;AAGA;;IAiBa,6B;;;;;AAAb;AAAA;;AAAA;;;;AAEY,gCAAsB,YAAK;AAC/B,UAAM,mBAAmB,GAAG,IAAI,GAAJ,EAA5B;AAD+B,UAEvB,GAFuB,GAEf,MAAK,KAFU,CAEvB,GAFuB;;AAG/B,UAAI,OAAO,QAAP,KAAoB,WAAxB,EAAqC;AACjC,YAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAT,wDAAyE,GAAzE,UAAjB;;AACA,YAAI,QAAQ,CAAC,MAAb,EAAqB;AACjB,eAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,MAA7B,EAAqC,CAAC,EAAtC,EAA0C;AACtC,gBAAM,EAAE,GAAG,QAAQ,CAAC,CAAD,CAAnB;AACA,gBAAM,SAAS,GAAG,EAAE,CAAC,YAAH,CAAgB,qBAAhB,CAAlB;;AACA,gBAAI,SAAJ,EAAe;AACX,iCAAmB,CAAC,GAApB,CAAwB,SAAxB;AACH;AACJ;AACJ;AACJ;;AACD,aAAO,mBAAP;AACH,KAhBO;;AAFZ;AAsDC;;;;6BAlCgB;AAAA,wBACiB,KAAK,KADtB;AAAA,UACD,QADC,eACD,QADC;AAAA,UACS,GADT,eACS,GADT;AAET,UAAI,QAAQ,GAA+B,EAA3C;;AAEA,UAAI,QAAJ,EAAc;AACV,YAAM,gBAAgB,GAAG,KAAK,mBAAL,EAAzB;;AACA,YAAI,MAAM,CAAC,IAAP,CAAY,QAAZ,EAAsB,MAAtB,GAA+B,CAAnC,EAAsC;AAClC,kBAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAD,EAAW,UAAC,OAAD;AAAA,mBAC5B,gBAAgB,CAAC,GAAjB,CAAqB,OAAO,CAAC,SAA7B,IAA0C,IAA1C,GAAkD;AAC9C,uBAAS,EAAE,OAAO,CAAC,SAD2B;AAE9C,oBAAM,EAAE,OAAO,CAAC,WAAR,KAAuB,OAAvB,GAAkC,OAAO,CAAC,WAAR,IAAuB,OAAO,CAAC,WAAR,CAAoB,SAA3C,IAAwD,OAAO,CAAC,WAAR,CAAoB,SAApB,CAA8B,sBAAtF,IAAgH,OAAO,CAAC,WAAR,CAAoB,SAApB,CAA8B,sBAA9B,CAAqD,MAArD,GAA8D,CAA9K,GAAkL,OAAO,CAAC,WAAR,CAAoB,SAApB,CAA8B,sBAAhN,GAAwO,eAA1Q,GAA6R,OAAO,CAAC,MAF/P;AAG9C,oBAAM,EAAE,OAAO,CAAC,qBAAR,GAAgC,OAAO,CAAC,qBAAR,CAA8B,MAA9D,GAAuE,IAHjC;AAI9C,kBAAI,EAAE,OAAO,CAAC,IAAR,GAAe,OAAO,CAAC,IAAvB,GAA8B,IAJU;AAK9C,mBAAK,EAAE,OAAO,CAAC,KAL+B;AAM9C,sBAAQ,EAAE,OAAO,CAAC,QAN4B;AAO9C,mCAAqB,EAAE,OAAO,CAAC,qBAPe;AAQ9C,sBAAQ,EAAE,OAAO,CAAC,QAR4B;AAS9C,2BAAa,EAAE,OAAO,CAAC,aATuB;AAU9C,2BAAa,EAAE,OAAO,CAAC,iBAVuB;AAW9C,mBAAK,EAAE,OAAO,CAAC,KAX+B;AAY9C,yBAAW,EAAC,OAAO,CAAC;AAZ0B,aADtB;AAAA,WAAX,CAAJ,CAAjB;AAgBH;AACJ;;AAED,aACI,oBAAC,6DAAD,EAA8B;AAC1B,gBAAQ,EAAE;AADgB,SAEtB,KAAK,KAFiB,EAEZ;AACd,WAAG,EAAE;AADS,OAFY,CAA9B,CADJ;AAOH;;;;EArD8C,KAAK,CAAC,S;;AAAzD,sE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;;AAEA;;AACA;;IAiBa,6B;;;;;;;;;;;;;6BACI;AAAA,wBACoF,KAAK,KADzF;AAAA,UACD,QADC,eACD,QADC;AAAA,UACS,gBADT,eACS,gBADT;AAAA,UAC2B,kBAD3B,eAC2B,kBAD3B;AAAA,UAC+C,wBAD/C,eAC+C,wBAD/C;AAAA,UACyE,OADzE,eACyE,OADzE,EAEV;;AACC,UAAM,QAAQ,GAAG,QAAjB;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,MAA/B;AACE,UAAI,YAAY,GAAG,EAAnB;;AACF,UAAG,aAAa,GAAC,CAAjB,EAAmB;AACf,YAAM,qBAAqB,GAAG,IAAI,CAAC,KAAL,CAAW,aAAa,GAAC,kBAAzB,CAA9B;AACA,YAAM,eAAe,GAAG,wBAAwB,GAAG,CAA3B,IAAgC,kBAAkB,GAAG,CAArD,IAA0D,aAAa,GAAG,CAAlG;AACA,YAAM,oBAAoB,GAAI,qBAAqB,GAAG,wBAAxB,GAAmD,qBAAnD,GAA2E,wBAAzG;;AACA,aAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,aAApB,EAAmC,CAAC,EAApC,EAAwC;AACpC,cAAI,OAAJ,EAAa;AACT,wBAAY,CAAC,IAAb,CAAkB,oBAAC,uEAAD,EAAmC;AACjD,iBAAG,EAAE,CAD4C;AAEjD,yBAAW,EAAE,gBAAgB,IAAI,CAAC,IAAI,CAFW;AAGjD,qBAAO,EAAE,QAAQ,CAAC,CAAD;AAHgC,eAI7C,KAAK,KAJwC,CAAnC,CAAlB;AAMH,WAPD,MAOO;AACC,wBAAY,CAAC,IAAb,CAAkB,oBAAC,6DAAD,EAA8B;AAC5C,iBAAG,EAAE,CADuC;AAE5C,yBAAW,EAAE,gBAAgB,IAAI,CAAC,IAAI,CAFM;AAG5C,qBAAO,EAAE,QAAQ,CAAC,CAAD;AAH2B,eAIxC,KAAK,KAJmC,CAA9B,CAAlB;AAMP;AACJ;;AACD,YAAG,eAAH,EAAmB;AACf,eAAK,IAAI,CAAC,GAAC,CAAX,EAAc,CAAC,GAAC,oBAAhB,EAAsC,CAAC,EAAvC,EAA0C;AACvC,wBAAY,CAAC,MAAb,CAAoB,kBAAkB,IAAE,CAAC,GAAC,CAAJ,CAAlB,GAAyB,CAA7C,EAAgD,CAAhD,EAAmD,oBAAC,yCAAD,EAA4B;AAAC,gBAAE,EAAE,wBAAsB,CAAC,GAAC,CAAxB;AAAL,aAA5B,CAAnD;AACA;AACJ;AACN;;AACD,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,YADL,CADJ;AAKH;;;;EAvC8C,KAAK,CAAC,S;;AAAzD,sE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBA;;AAGA;;AACA;;AACA;;AAEA;;IAmCa,8B;;;;;AAET,0CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,wGAAM,KAAN;AA0BI,yBAAe,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,MAAL,KAAgB,KAA3B,CAAf;;AAEA,wBAAc,YAAK;AAAA,UACf,YADe,GACG,MAAK,KADR,CACf,YADe;AAAA,wBAEU,MAAK,KAFf;AAAA,UAEf,UAFe,eAEf,UAFe;AAAA,UAEH,QAFG,eAEH,QAFG;AAGvB,UAAM,aAAa,GAAG,KAAK,CAAC,MAAN,CAAa,wDAAb,CAAtB;;AACA,YAAK,QAAL,CACI;AACI,gBAAQ,EAAE,QADd;AAEI,kBAAU,EAAE,IAFhB;AAGI,kBAAU,EAAE;AAHhB,OADJ;;AASA,mBAAa,CAAC,GAAd,oDAA8D,YAA9D,cAA8E,UAA9E,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,YAAM,eAAe,GAAG,GAAG,CAAC,IAAJ,CAAS,IAAjC;;AACA,cAAK,QAAL,CACI;AACI,kBAAQ,+BAAM,QAAN,sBAAmB,eAAnB,EADZ;AAEI,oBAAU,EAAE,UAAU,GAAG,CAF7B;AAGI,oBAAU,EAAE,KAHhB;AAII,oBAAU,EAAE,eAAe,IAAI,eAAe,CAAC,MAAhB,KAA2B,MAAK,KAAL,CAAW;AAJzE,SADJ;AAQH,OAXL,EAYK,KAZL,CAYW,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,OAZd;AAaH,KA1BO;;AA3BJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,EADD;AAET,gBAAU,EAAE,CAFH;AAGT,gBAAU,EAAE,KAHH;AAIT,gBAAU,EAAE;AAJH,KAAb;AAFa;AAQhB;;;;uCAEkB,S,EAAgC;AAC/C,UAAI,KAAK,KAAL,CAAW,iBAAX,KAAiC,SAAS,CAAC,iBAA/C,EAAkE;AAC9D,aAAK,QAAL,CACI;AACI,kBAAQ,EAAE,KAAK,KAAL,CAAW;AADzB,SADJ;AAKH;AACJ;;;wCAEgB;AAAA,UACL,UADK,GACU,KAAK,KADf,CACL,UADK;;AAEb,UAAI,UAAJ,EAAgB;AACZ,aAAK,WAAL;AACH;AACJ;;;6BAkCY;AAAA;;AAAA,wBAC0H,KAAK,KAD/H;AAAA,UACD,iBADC,eACD,iBADC;AAAA,UACkB,qBADlB,eACkB,qBADlB;AAAA,UACyC,OADzC,eACyC,OADzC;AAAA,UACkD,aADlD,eACkD,aADlD;AAAA,UACiE,OADjE,eACiE,OADjE;AAAA,UAC0E,QAD1E,eAC0E,QAD1E;AAAA,UACoF,KADpF,eACoF,KADpF;AAAA,UAC2F,YAD3F,eAC2F,YAD3F;AAAA,UACyG,YADzG,eACyG,YADzG;AAAA,yBAE4C,KAAK,KAFjD;AAAA,UAED,QAFC,gBAED,QAFC;AAAA,UAEqB,MAFrB,gBAES,UAFT;AAAA,UAE6B,UAF7B,gBAE6B,UAF7B;AAGT,aACI;AAAK,iBAAS,EAAE;AAAhB,SACK,qBAAqB,CAAC,YAAtB,IAAuC,OAAO,CAAC,MAAR,GAAiB,CAAxD,GAA6D;AAAK,iBAAS,EAAC;AAAf,SAC1D,oBAAC,4BAAD,EAAiB;AACb,iBAAS,EAAC,yBADG;AAEb,YAAI,EAAE,OAFO;AAGb,kBAAU,EAAE,aAHC;AAIb,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAJM,OAAjB,EAIgC;AAAK,iBAAS,EAAC;AAAf,SAAiC,OAAjC,CAJhC,CAD0D,CAA7D,GAMQ,IAPb,EASI,oBAAC,wDAAD,EAA8B;AAC1B,cAAM,EAAE,MADkB;AAE1B,gBAAQ,EAAE;AAFgB,SAGtB,KAAK,KAHiB,EAGZ;AACd,WAAG,YAAK,KAAK,YAAV,CADW;AAEd,oBAAY,EAAE,YAFA;AAGd,oBAAY,EAAE;AAHA,OAHY,CAA9B,CATJ,EAiBI;AAAK,iBAAS,EAAC;AAAf,SACK,MAAM,IAAI,oBAAC,eAAD,EAAO,IAAP,CADf,EAEK,iBAAiB,IAAK;AAAK,iBAAS,2BAAoB,UAAU,GAAG,EAAH,GAAQ,QAAtC,CAAd;AAAgE,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,WAAL,EAAN;AAAA;AAAzE,SAAqG,KAAK,GAAG,WAAH,GAAiB,UAA3H,CAF3B,CAjBJ,CADJ;AAwBH;;;;EAxF+C,KAAK,CAAC,S;;AACxC,gDAAiB,gCAAjB;AADlB,wE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1CA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AASA,SAAS,SAAT,CAAmB,KAAnB,EAAwB;AAAA,MACZ,SADY,GACkB,KADlB,CACZ,SADY;AAAA,MACD,KADC,GACkB,KADlB,CACD,KADC;AAAA,MACM,OADN,GACkB,KADlB,CACM,OADN;AAEpB,SACI;AACI,aAAS,EAAE,SADf;AAEI,SAAK,oBAAO,KAAP,EAAY;AAAE,aAAO,EAAE,OAAX;AAAoB,YAAM,EAAE,MAA5B;AAAoC,WAAK,EAAE,MAA3C;AAAmD,aAAO,EAAE,GAA5D;AAAiE,gBAAU,EAAE;AAA7E,KAAZ,CAFT;AAGI,WAAO,EAAE;AAHb,IADJ;AAOH;;AAED,SAAS,SAAT,CAAmB,KAAnB,EAAwB;AAAA,MACZ,SADY,GACkB,KADlB,CACZ,SADY;AAAA,MACD,KADC,GACkB,KADlB,CACD,KADC;AAAA,MACM,OADN,GACkB,KADlB,CACM,OADN;AAEpB,SACI;AACI,aAAS,EAAE,SADf;AAEI,SAAK,oBAAO,KAAP,EAAY;AAAE,aAAO,EAAE,OAAX;AAAoB,YAAM,EAAE,MAA5B;AAAoC,WAAK,EAAE,MAA3C;AAAmD,aAAO,EAAE,GAA5D;AAAiE,gBAAU,EAAE;AAA7E,KAAZ,CAFT;AAGI,WAAO,EAAE;AAHb,IADJ;AAOH;;IAOY,kB;;;;;;;;;;;;;6BAEI;AAAA,UACD,SADC,GACa,KAAK,KADlB,CACD,SADC;AAIT,UAAI,QAAQ,GAAG;AAEX,gBAAQ,EAAE,IAFC;AAGX,YAAI,EAAE,KAHK;AAIX,oBAAY,EAAE,CAJH;AAKX,sBAAc,EAAE,CALL;AAMX,aAAK,EAAE,GANI;AAOX,cAAM,EAAE,IAPG;AAQX,WAAG,EAAE,KARM;AASX,iBAAS,EAAE,oBAAC,SAAD,EAAU,IAAV,CATA;AAUX,iBAAS,EAAE,oBAAC,SAAD,EAAU,IAAV;AAVA,OAAf;AAeA,aACI;AAAK,iBAAS,EAAC,sBAAf;AAAsC,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAA7C,SACI,oBAAC,qBAAD,EAAO,kBAAK,QAAL,CAAP,EACK,SAAS,CAAC,GAAV,CAAc,UAAC,KAAD,EAAQ,CAAR;AAAA,eACX;AAAK,aAAG,EAAE;AAAV,WACI;AAAK,aAAG,EAAE,KAAK,CAAC,QAAhB;AAA0B,eAAK,EAAE;AAAE,iBAAK,EAAE,OAAT;AAAkB,kBAAM,EAAE;AAA1B;AAAjC,UADJ,EAEI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC;AAAf,WAAuC,KAAK,CAAC,OAA7C,CADJ,EAEI;AAAK,mBAAS,EAAC;AAAf,W,GAAA,EAAuC,KAAK,CAAC,MAA7C,EAA2D,GAA3D,CAFJ,CAFJ,CADW;AAAA,OAAd,CADL,CADJ,CADJ;AAeH;;;;EApCmC,KAAK,CAAC,S;;AAC5B,oCAAiB,oBAAjB;AADlB,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpCA;;IAaa,iC;;;;;AAET,6CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,2GAAM,KAAN;;AAKI,wBAAa,YAAI;AACrB,YAAK,QAAL,CAAc;AAAC,uBAAe,EAAC;AAAjB,OAAd;AACH,KAFO;;AAGA,yBAAc,YAAI;AACtB,YAAK,QAAL,CAAc;AAAC,uBAAe,EAAC;AAAjB,OAAd;AACH,KAFO;;AAPJ,UAAK,KAAL,GAAa;AACT,qBAAe,EAAC;AADP,KAAb;AAFa;AAKhB;;;;6BAOY;AAAA,wBACsC,KAAK,KAD3C;AAAA,UACD,SADC,eACD,SADC;AAAA,UACW,YADX,eACW,YADX;AAAA,UACyB,SADzB,eACyB,SADzB;AAAA,UAED,eAFC,GAEmB,KAAK,KAFxB,CAED,eAFC;AAGT,UAAM,MAAM,GAAG,SAAS,CAAC,MAAzB;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,WAAG,EAAE,SAAS,CAAC,CAAD,CAAT,CAAa,QAAvB;AAAiC,aAAK,EAAE,SAAS,CAAC,CAAD,CAAT,CAAa;AAArD,QAFJ,EAGI;AAAM,iBAAS,EAAC,oBAAhB;AAAqC,eAAO,EAAE,KAAK;AAAnD,QAHJ,EAII;AAAM,iBAAS,EAAC;AAAhB,SAAmD,kHAAnD,E,GAAA,aAA+E,MAA/E,4CAJJ,EAKX,eAAe,IAAM,oBAAC,4CAAD,EAAyB;AAAC,eAAO,EAAE,KAAK,YAAf;AAA6B,cAAM,EAAE,SAArC;AAAgD,iBAAS,EAAE,SAA3D;AAAsE,oBAAY,EAAE;AAApF,OAAzB,CALV,CADJ;AASH;;;;EA5BkD,KAAK,CAAC,S;;AAC3C,mDAAiB,mCAAjB;AADlB,8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdA;;IAea,wB;;;;;AACT,oCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,kGAAM,KAAN;;AAcG,uBAAa,YAAW;AAC3B,UAAM,cAAc,GAAG,MAAK,KAAL,CAAW,MAAX,CAAkB,MAAlB,GAA2B,CAAlD;AAD2B,UAEnB,iBAFmB,GAEG,MAAK,KAFR,CAEnB,iBAFmB;AAG3B,UAAM,cAAc,GAAG,iBAAiB,KAAK,CAAtB,GAA0B,cAA1B,GAA2C,iBAAiB,GAAG,CAAtF;AACA,0BAAY,cAAZ,EAA4B,MAAK,KAAL,CAAW,SAAvC;;AACA,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KANM;;AAQA,sBAAY,YAAW;AAC1B,UAAM,cAAc,GAAG,MAAK,KAAL,CAAW,MAAX,CAAkB,MAAlB,GAA2B,CAAlD;AAD0B,UAElB,iBAFkB,GAEI,MAAK,KAFT,CAElB,iBAFkB;AAG1B,UAAM,cAAc,GAAG,iBAAiB,KAAK,cAAtB,GAAuC,CAAvC,GAA2C,iBAAiB,GAAG,CAAtF;AACA,0BAAY,aAAZ,EAA2B,MAAK,KAAL,CAAW,SAAtC;;AACA,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KANM;;AAQC,kBAAQ,YAAW;AACvB,0BAAY,eAAZ,EAA6B,MAAK,KAAL,CAAW,SAAxC;;AACD,YAAK,KAAL,CAAW,OAAX;AACF,KAHO;;AA7BJ,UAAK,KAAL,GAAa;AACT,uBAAiB,EAAE;AADV,KAAb;AAFa;AAMhB;;;;wCAGgB,CAIhB;;;6BA6BK;AAAA;;AAAA,UACM,MADN,GACiB,KAAK,KADtB,CACM,MADN;AAAA,UAEM,iBAFN,GAE4B,KAAK,KAFjC,CAEM,iBAFN;AAGF,UAAM,QAAQ,GAAG;AACb,gBAAQ,EAAE,IADG;AAEb,YAAI,EAAE,KAFO;AAGb,oBAAY,EAAE,CAHD;AAIb,sBAAc,EAAE,CAJH;AAKb,aAAK,EAAE,GALM;AAMb,cAAM,EAAE,IANK;AAOb,WAAG,EAAE,KAPQ;AAQb,iBAAS,EAAE,IARE;AASb,oBAAY,EAAE,iBATD;AAUb,mBAAW,EAAE,qBAAC,IAAD;AAAA,iBAAU,MAAI,CAAC,QAAL,CAAc;AAAE,6BAAiB,EAAE;AAArB,WAAd,CAAV;AAAA;AAVA,OAAjB;AAYA,UAAI,WAAW,GAAG,MAAM,CAAC,MAAP,GAAgB,MAAM,CAAC,MAAvB,GAAgC,CAAlD;AACA,UAAM,iBAAiB,GAAG,MAAM,IAAI,MAAM,CAAC,iBAAD,CAAhB,IAAuC,MAAM,CAAC,iBAAD,CAAN,CAA0B,OAA3F;AACA,UAAM,gBAAgB,GAAG,MAAM,IAAI,MAAM,CAAC,iBAAD,CAAhB,IAAwC,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAA1B,KAAqC,EAA7E,IAAqF,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAA1B,KAAqC,GAAnJ;AAEC,aACG;AAAK,WAAG,EAAE,4BAAV;AAAwC,YAAI,EAAC,QAA7C;AAAqD,sBACtC,gBADf;AAEI,UAAE,EAAC,gBAFP;AAEwB,iBAAS,EAAC,4BAFlC;AAGI,eAAO,EAAE,KAHb;AAGoB,gBAAQ,EAAE;AAH9B,SAKI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE,kBAAC;AAAA,iBAAI,CAAC,CAAC,eAAF,EAAJ;AAAA;AAA1C,SACI;AAAK,iBAAS;AAAd,SACI;AAAQ,iBAAS,EAAC,kBAAlB;AACI,aAAK,EAAE,OADX;AACsB,sBAAc,OADpC;AACiD,eAAO,EAAE,KAAK;AAD/D,QADJ,EAGK,WAAW,GAAG,CAAd,IAAmB;AAAK,iBAAS,EAAC;AAAf,SAChB;AAAM,iBAAS,EAAC;AAAhB,SAA2B,iBAAiB,GAAG,CAApB,GAAwB,EAAxB,aAAgC,iBAAiB,GAAG,CAApD,IAA0D,iBAAiB,GAAG,CAAzG,EAAmH,GAAnH,CADgB,EAEhB;AAAM,iBAAS,EAAC;AAAhB,SAAoC,WAAW,GAAG,EAAd,aAAsB,WAAtB,IAAsC,WAA1E,CAFgB,CAHxB,CADJ,EAUI,oBAAC,qBAAD,EAAO,kBAAK,QAAL,CAAP,EACK,CAAC,CAAC,GAAF,CAAM,MAAN,EAAc,UAAC,KAAD;AAAA,eACX;AAAK,mBAAS,EAAC,gBAAf;AAAgC,aAAG,EAAE,KAAK,CAAC;AAA3C,WACI;AAAK,aAAG,EAAE,KAAK,CAAC,QAAhB;AAA0B,cAAI,EAAC,OAA/B;AAAsC,wBAAa,KAAK,CAAC;AAAzD,UADJ,CADW;AAAA,OAAd,CADL,CAVJ,EAiBI;AAAK,iBAAS;AAAd,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,iBAAiB,IAAI;AAAK,iBAAS,EAAC;AAAf,SAA0B,MAAM,CAAC,iBAAD,CAAN,CAA0B,OAApD,CAD1B,EAEK,gBAAgB,IAAI;AAAK,iBAAS,EAAC;AAAf,S,GAAA,EAA0B,MAAM,CAAC,iBAAD,CAAN,CAA0B,MAApD,EAAkE,GAAlE,CAFzB,CADJ,CAjBJ,CALJ,CADH;AAiCJ;;;;EA/FyC,KAAK,CAAC,S;;AAApD;;AAkGa,sBAAc,UAAC,MAAD,EAAiB,SAAjB,EAAsC;AAC7D,QAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,QAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,SAAK,EAAE,UADW;AAElB,YAAQ,EAAE,eAFQ;AAGlB,UAAM,EAAE,MAHU;AAIlB,SAAK,EAAE;AAJW,GAAtB;AAMH,CARY,C;;;;;;;;;;;;;;;ACjHb,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AAEa,mBAAW,gBAA4C;AAAA,MAAzC,IAAyC,QAAzC,IAAyC;AAAA,MAAnC,QAAmC,QAAnC,QAAmC;AAAA,MAAzB,SAAyB,QAAzB,SAAyB;AAAA,MAAd,QAAc,QAAd,QAAc;AAChE,SACI;AAAK,aAAS,EAAE,QAAQ,GAAC,UAAD,GAAY;AAApC,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAM,aAAS,EAAC;AAAhB,KAA4B,QAA5B,EAAsC,SAAS,OAA/C,CADJ,CADJ,EAII;AAAK,aAAS,EAAC,WAAf;AAA0B,qBAAe;AAAzC,KACI;AAAG,aAAS,EAAC,WAAb;AAAyB,QAAI,EAAE,CAAC,4BAAD,GAAiB,IAAI,CAAC,aAAtB,GAAsC,EAArE;AAAuE,oBAAe;AAAtF,KACK,IAAI,CAAC,KADV,CADJ,CAJJ,CADJ;AAYH,CAbY,C;;;;;;;;;;;;;;;ACHb,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AAEA;;AAEa,wBAAgB,gBACiE;AAAA,MAD9D,KAC8D,QAD9D,KAC8D;AAAA,MADvD,SACuD,QADvD,SACuD;AAAA,MAD5C,SAC4C,QAD5C,SAC4C;AAAA,MADjC,aACiC,QADjC,aACiC;AAAA,MADlB,QACkB,QADlB,QACkB;AAC1F,MAAM,IAAI,GAAG,GAAG,CAAC,KAAD,EAAQ,UAAC,IAAD,EAAO,KAAP,EAAgB;AACpC,WAAO,oBAAC,mBAAD,EAAS;AAAC,SAAG,EAAE,KAAN;AAAa,UAAI,EAAE,IAAnB;AAAyB,cAAQ,EAAE,KAAK,GAAG,CAA3C;AAA8C,eAAS,EAAE,SAAzD;AAAoE,cAAQ,EAAE;AAA9E,KAAT,CAAP;AACH,GAFe,CAAhB;AAGA,MAAI,UAAU,GAAG,SAAjB;;AACA,MAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,QAAI,MAAM,CAAC,MAAP,IAAiB,SAArB,EAAgC;AAC5B,UAAM,aAAa,GAAG,MAAM,CAAC,MAA7B;AACA,UAAI,WAAW,GAAG,aAAa,CAAC,KAAd,CAAoB,GAApB,CAAlB;;AACA,UAAI,WAAW,CAAC,CAAD,CAAX,CAAe,OAAf,CAAuB,GAAvB,MAAgC,CAAC,CAArC,EAAwC;AACpC,YAAI,UAAU,GAAG,WAAW,CAAC,CAAD,CAAX,CAAe,OAAf,CAAuB,GAAvB,IAA8B,CAA/C;AACA,kBAAU,GAAG,WAAW,CAAC,CAAD,CAAX,CAAe,SAAf,CAAyB,UAAzB,EAAqC,WAArC,EAAb;AACH;AACJ;AACJ;;AACD,SACI;AAAK,aAAS,EAAC;AAAf,KACK,IADL,EAEK,CAAC,4BAAD,IAAkB,CAAC,QAAnB,IAA+B,CAAC,aAAhC,IAAiD,SAAjD,IAA8D;AAAK,MAAE,wBAAiB,UAAjB,CAAP;AAAsC,aAAS,EAAC;AAAhD,IAFnE,EAGK,CAAC,4BAAD,IAAkB,aAAlB,IAAmC,SAAnC,IAAgD;AAAK,MAAE,EAAC,QAAR;AAAiB,aAAS,EAAC;AAA3B,IAHrD,EAIK,CAAC,4BAAD,IAAkB,CAAC,aAAnB,IAAoC,QAApC,IAAgD,SAAhD,IAA6D;AAAK,MAAE,EAAC,cAAR;AAAuB,aAAS,EAAC;AAAjC,IAJlE,CADJ;AAQH,CAxBY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNb,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AACA;;AAGA,IAAK,YAAL;;AAAA,WAAK,YAAL,EAAiB;AACb;AACA;AACH,CAHD,EAAK,YAAY,KAAZ,YAAY,MAAjB;;IAoBa,2B;;;;;AAET,uCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,qGAAM,KAAN;;AAsBI,8BAAoB,UAAC,CAAD,EAAM;AAC9B,YAAK,cAAL,CAAoB,YAAY,CAAC,KAAjC;AACH,KAFO;;AAIA,+BAAqB,UAAC,CAAD,EAAM;AAC/B,YAAK,cAAL,CAAoB,YAAY,CAAC,MAAjC;AACH,KAFO;;AAIA,2BAAiB,UAAC,KAAD,EAAkB;AACvC,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAE;AAAf,OAAd;AACH,KAFO;;AAIA,2BAAiB,UAAC,IAAD,EAAO,IAAP,EAAuB;AAC5C,UAAI,GAAG,GAAG,MAAK,KAAL,CAAW,iBAAX,CAA6B,IAA7B,CAAV;AACA,UAAI,UAAU,GAAG,GAAG,CAAC,IAAD,CAApB;AACA,aAAO,UAAP;AACH,KAJO;;AAjCJ,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE,YAAY,CAAC,KADjB;AAET,uBAAiB,EAAE;AACf,cAAM;AACF,kBAAQ,MADN;AAEF,mBAAS,MAFP;AAGF,oBAAU,OAHR;AAIF,0BAAgB;AAJd,SADS;AAOf,cAAM;AACF,kBAAQ,MADN;AAEF,mBAAS,OAFP;AAGF,oBAAU,QAHR;AAIF,0BAAgB;AAJd;AAPS;AAFV,KAAb;AAFa;AAoBhB;;;;6BAqBY;AAAA,UACD,WADC,GACe,KAAK,KADpB,CACD,WADC;AAAA,wBAEiI,KAAK,KAFtI;AAAA,UAED,IAFC,eAED,IAFC;AAAA,UAEK,eAFL,eAEK,eAFL;AAAA,UAEsB,aAFtB,eAEsB,aAFtB;AAAA,UAEqC,cAFrC,eAEqC,cAFrC;AAAA,UAEqD,yBAFrD,eAEqD,yBAFrD;AAAA,UAEgF,0BAFhF,eAEgF,0BAFhF;AAAA,UAE4G,SAF5G,eAE4G,SAF5G;AAAA,UAEuH,KAFvH,eAEuH,KAFvH;AAGT,UAAM,kBAAkB,GAAG,UAAU,CAAC,KAAD,EAAQ;AAAE,kBAAU,WAAW,KAAK,YAAY,CAAC;AAAzC,OAAR,CAArC;AACA,UAAM,mBAAmB,GAAG,UAAU,CAAC,KAAD,EAAQ;AAAE,kBAAU,WAAW,KAAK,YAAY,CAAC;AAAzC,OAAR,CAAtC;AACA,UAAM,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC,gBAAD,CAAP,GAA4B,IAAI,CAAC,eAAD,CAA/D;AACA,UAAM,eAAe,GAAG,KAAK,GAAI,SAAS,GAAG,GAAH,GAAS,GAAtB,GAA8B,SAAS,GAAG,GAAH,GAAS,GAA7E;AACA,aACI;AAAK,iBAAS,EAAE,UAAU,CAAC,yBAAD,EAA4B;AAAE,mBAAS;AAAX,SAA5B,CAA1B;AAA2E,aAAK,EAAE;AAAE,gBAAM,EAAE,eAAe,GAAG;AAA5B;AAAlF,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,kBAAU,EAAE,yBAAb;AAAwC,YAAI,EAAE,aAA9C;AAA6D,oBAAY;AAAzE,OAAjB,EACI;AAAK,iBAAS,EAAC;AAAf,QADJ,CADJ,EAII;AAAM,iBAAS,EAAC,WAAhB;AAA2B,yBAAe;AAA1C,SAA6C,gCAAK,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,MAAzC,CAAL,CAA7C,CAJJ,EAKI;AAAM,iBAAS,EAAC;AAAhB,QALJ,EAMI;AAAM,iBAAS,EAAC,gBAAhB;AAAgC,+BAAqB;AAArD,SAAwD,gCAAK,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,cAAzC,CAAL,CAAxD,CANJ,CADJ,EASI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAE,kBAAhB;AAAoC,eAAO,EAAE,KAAK;AAAlD,SAAsE,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,OAAzC,CAAtE,CADJ,EAEI;AAAK,iBAAS,EAAE,mBAAhB;AAAqC,eAAO,EAAE,KAAK;AAAnD,SAAwE,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,QAAzC,CAAxE,CAFJ,CATJ,CADJ,EAeI,oBAAC,6BAAD,EAAc;AAAC,aAAK,EAAE,WAAR;AAAqB,iBAAS,EAAE,SAAhC;AAA2C,iBAAS,EAAE,KAAtD;AAA6D,qBAAa,EAAE;AAA5E,OAAd,CAfJ,EAgBI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,kBAAU,EAAE,KAAK,GAAG,yBAAH,GAA+B,0BAAjD;AAA6E,YAAI,EAAE,KAAK,GAAG,aAAH,GAAmB,cAA3G;AAA2H,oBAAY;AAAvI,OAAjB,EACI;AAAM,iBAAS,EAAC,4BAAhB;AAA4C,+BAAqB;AAAjE,SAAqE,eAArE,CADJ,EAEK,KAAK,IAAI;AAAM,iBAAS,EAAC;AAAhB,SAA6B,GAA7B,CAFd,EAGK,KAAK,IAAI;AAAK,iBAAS,EAAC,2BAAf;AAA2C,WAAG,EAAC;AAA/C,QAHd,CADJ,CAhBJ,CADJ;AA0BH;;;;EA5E4C,KAAK,CAAC,S;;AAC5C,6CAAiB,6BAAjB;AADX,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;;AACA;;IAea,iC;;;;;AAET,6CAAY,KAAZ,EAAiB;AAAA;;AAAA,0GACP,KADO;AAEhB;;;;6BAEY;AAAA,wBACoI,KAAK,KADzI;AAAA,UACD,IADC,eACD,IADC;AAAA,UACK,eADL,eACK,eADL;AAAA,UACsB,aADtB,eACsB,aADtB;AAAA,UACqC,cADrC,eACqC,cADrC;AAAA,UACqD,yBADrD,eACqD,yBADrD;AAAA,UACgF,0BADhF,eACgF,0BADhF;AAAA,UAC4G,SAD5G,eAC4G,SAD5G;AAAA,UACuH,QADvH,eACuH,QADvH;AAET,UAAM,WAAW,GAAI,IAAI,CAAC,eAAD,CAAzB;AACA,UAAM,eAAe,GAAG,SAAS,GAAG,GAAH,GAAS,GAA1C;AACA,aACI;AAAK,iBAAS,EAAE;AAAhB,SACI;AAAI,iBAAS,EAAC;AAAd,SACI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,SAAX;AAAqB,kBAAU,EAAE,yBAAjC;AAA4D,YAAI,EAAE,aAAlE;AAAiF,oBAAY;AAA7F,OAAjB,EACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,SAA0B,0BAA1B,CADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,SAA6B,0GAA7B,CAFJ,CAFJ,EAMA;AAAK,iBAAS,EAAC;AAAf,QANA,CADJ,CADJ,EAWI,oBAAC,6BAAD,EAAc;AAAC,aAAK,EAAE,WAAR;AAAqB,iBAAS,EAAE,SAAhC;AAA2C,iBAAS,EAAE,IAAtD;AAA4D,qBAAa,EAAE,KAA3E;AAAkF,gBAAQ,EAAE;AAA5F,OAAd,CAXJ,CADJ;AAeH;;;;EAzBkD,KAAK,CAAC,S;;AAClD,mDAAiB,mCAAjB;AADX,8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBA,mBAAO,CAAC,mCAAD,CAAP;;IAMa,sB;;;;;AAET,kCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,gGAAM,KAAN;;AAcI,uBAAa,YAAK;AACtB,YAAK,QAAL,CAAc,gBAAM,EAAG;AACnB,eAAO;AACH,uBAAa,EAAE,CAAC,MAAM,CAAC;AADpB,SAAP;AAGH,OAJD;AAKH,KANO;;AAbJ,UAAK,KAAL,GAAa;AACT,UAAI,EAAE,IADG;AAET,mBAAa,EAAE;AAFN,KAAb;AAFa;AAMhB;;;;wCACgB;AACb,UAAI,MAAM,IAAI,MAAM,CAAC,SAAjB,IAA8B,MAAM,CAAC,SAAP,CAAiB,IAAnD,EAAyD;AACrD,aAAK,QAAL,CAAc;AACV,cAAI,EAAE,MAAM,CAAC,SAAP,CAAiB;AADb,SAAd;AAGH;AACJ;;;6BAWY;AAAA,wBACuB,KAAK,KAD5B;AAAA,UACD,aADC,eACD,aADC;AAAA,UACc,IADd,eACc,IADd;AAET,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,iBAAS,EAAC,YAAb;AAA0B,YAAI,EAAC,oCAA/B;AAAoE,cAAM,EAAC;AAA3E,SACI;AAAM,iBAAS,EAAC,sBAAhB;AAAuC,aAAK,EAAC;AAA7C,QADJ,CADJ,EAII;AAAG,iBAAS,EAAC,YAAb;AAA0B,YAAI,EAAC,yBAA/B;AAAyD,cAAM,EAAC;AAAhE,SACI;AAAM,iBAAS,EAAC,qBAAhB;AAAsC,aAAK,EAAC;AAA5C,QADJ,CAJJ,EAOI;AAAG,iBAAS,EAAC,qBAAb;AAAmC,cAAM,EAAC,QAA1C;AAAmD,YAAI,EAAC;AAAxD,SACI;AAAM,iBAAS,EAAC,UAAhB;AAA2B,aAAK,EAAC;AAAjC,SAAyC,sCAAzC,CADJ,EAEI;AAAM,iBAAS,EAAC,WAAhB;AAA4B,aAAK,EAAC;AAAlC,QAFJ,CAPJ,EAWI;AAAG,iBAAS,EAAC,wBAAb;AAAsC,YAAI,EAAC;AAA3C,SACI;AAAM,iBAAS,EAAC,UAAhB;AAA2B,aAAK,EAAC;AAAjC,SAA4C,mDAA5C,CADJ,EAEI;AAAM,iBAAS,EAAC,cAAhB;AAA+B,aAAK,EAAC;AAArC,QAFJ,CAXJ,EAeI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,IAAD,IACG;AAAG,iBAAS,EAAC,iBAAb;AACA,YAAI;AADJ,SAGI;AAAM,iBAAS,EAAC;AAAhB,SAA2B,0DAA3B,CAHJ,EAII;AAAK,iBAAS,EAAC;AAAf,QAJJ,CAFR,EASK,IAAI,IACD;AAAK,iBAAS,EAAC,YAAf;AAA4B,eAAO,EAAE,KAAK;AAA1C,SACI;AAAM,iBAAS,EAAC;AAAhB,S,GAAA,qCAAsC,IAAI,CAAC,KAAL,CAAW,SAAjD,EADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,CAVR,EAgBK,aAAa,IACV;AAAK,iBAAS,EAAC;AAAf,SACA;AAAG,YAAI,EAAE,kDAAT;AAA6D,iBAAS,EAAC;AAAvE,SAAmF,+DAAnF,CADA,EAEA;AAAG,iBAAS,EAAC,YAAb;AAA0B,YAAI,EAAE;AAAhC,SAAgF,6CAAhF,CAFA,EAGI;AAAG,iBAAS,EAAC,mBAAb;AACA,YAAI,EAAC;AADL,SAC8M,4CAD9M,CAHJ,CAjBR,CAfJ,CADJ;AA2CH;;;;EAvEuC,KAAK,CAAC,S;;AACvC,wCAAiB,wBAAjB;AADX,wD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AAEA;;AACA;;AACA;;AACA;;IAiCa,mC;;;;;AACT,+CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,6GAAM,KAAN;;AAeI,2BAAiB,YAAK;AAC1B,YAAK,QAAL,CAAc,mBAAS;AAAA,eAAK;AAAE,uBAAa,EAAE,CAAC,SAAS,CAAC;AAA5B,SAAL;AAAA,OAAvB,EAA0E,YAAK;AAC3E,YAAI,MAAK,KAAL,CAAW,aAAf,EAA8B;AAC1B,gBAAK,QAAL,CAAc;AAAE,6BAAiB,EAAE,QAAQ,CAAC,aAAT,CAAuB,MAAvB,EAA+B,KAA/B,CAAqC;AAA1D,WAAd;;AACA,kBAAQ,CAAC,aAAT,CAAuB,MAAvB,EAA+B,KAA/B,CAAqC,QAArC,GAAgD,QAAhD;AACH,SAHD,MAGO;AACH,kBAAQ,CAAC,aAAT,CAAuB,MAAvB,EAA+B,KAA/B,CAAqC,QAArC,GAAgD,MAAK,KAAL,CAAW,iBAA3D;AACH;AACJ,OAPD;AAQH,KATO;;AAyCA,mCAAyB;AAAA,aAAM,QAAQ,CAAC;AAAA,eAAM,MAAK,oBAAL,EAAN;AAAA,OAAD,EAAoC,GAApC,CAAd;AAAA,KAAzB;;AAEA,2BAAiB,YAAK;AAC1B,YAAM,CAAC,EAAP,CAAU,OAAV,CAAkB,MAAlB;;AACA,YAAK,QAAL,CAAc;AAAE,YAAI,EAAE,IAAR;AAAc,wBAAgB,EAAE;AAAhC,OAAd;;AACA,YAAK,cAAL;AACH,KAJO;;AAMD,sBAAY,YAAK;AAEpB,UAAM,EAAE,GAAG,MAAM,CAAC,EAAP,IAAa,EAAxB;AAEA,QAAE,CAAC,IAAH,CAAQ,CAAC,MAAD,EAAS,YAAK;AAClB,UAAE,CAAC,OAAH,CAAW,IAAX,CAAgB;AACZ,eAAK,EAAE,KADK;AAEZ,gBAAM,EAAE,OAFI;AAGZ,kBAAQ,EAAE,kBAAC,IAAD,EAAwB;AAC9B,mBAAO,CAAC,GAAR,CAAY,OAAZ,EAAqB,IAAI,CAAC,IAA1B,EAAgC,uBAAhC,EAAyD,IAAI,CAAC,KAA9D;;AACA,kBAAK,yBAAL,CAA+B,EAA/B,EAAmC,IAAI,CAAC,IAAxC;AACH,WANW;AAOZ,mBAAS,EAAE;AACP,mBAAO,CAAC,GAAR,CAAY,iBAAZ;AACH;AATW,SAAhB;AAWH,OAZO,CAAR;;AAcA,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,cAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,cAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,eAAK,EAAE,WADW;AAElB,kBAAQ,EAAE,yBAFQ;AAGlB,gBAAM,EAAE,YAHU;AAIlB,eAAK,EAAE;AAJW,SAAtB;AAMH;;AAED,YAAK,cAAL;AACH,KA7BM;;AA+BC,sCAA4B,UAAC,EAAD,EAAK,IAAL,EAAa;AAC7C,QAAE,CAAC,GAAH,CAAO,OAAP,CAAe,cAAf,EAA+B,EAA/B,EAAmC,UAAC,QAAD,EAAa;AAC5C,cAAK,QAAL,CAAc;AAAE,cAAI,EAAE,IAAR;AAAc,0BAAgB,EAAE,QAAQ,CAAC,KAAT,GAAiB;AAAjD,SAAd;AACH,OAFD;AAGH,KAJO;;AAOA,2BAAgB,UAAC,QAAD,EAAY;AAAA,wBACG,MAAK,KADR;AAAA,UACxB,IADwB,eACxB,IADwB;AAAA,UAClB,gBADkB,eAClB,gBADkB;AAEhC,UAAI,MAAJ;;AAEA,UAAG,CAAC,IAAJ,EAAS;AACL,cAAM,GAAG,YAAT;AACH,OAFD,MAEK;AACD,cAAM,GAAG,gBAAgB,GAAC,+BAAD,GAAkC,kCAA3D;AACH;;AAED,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,cAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,cAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,eAAK,EAAE,WADW;AAElB,kBAAQ,EAAE,yBAFQ;AAGlB,gBAAM,EAAE,MAHU;AAIlB,eAAK,EAAE;AAJW,SAAtB;AAMH;AAEJ,KApBO;;AArGJ,QAAI,OAAO,MAAP,IAAiB,WAArB,EAAkC;AAC9B,YAAM,CAAC,EAAP,GAAY,MAAM,CAAC,EAAP,IAAa,EAAzB;AACH;;AACD,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE,KADN;AAET,cAAQ,EAAE,KAFD;AAGT,uBAAiB,EAAE,EAHV;AAIT,UAAI,EAAE,IAJG;AAKT,sBAAgB,EAAE;AALT,KAAb;AALa;AAYhB;;;;2CAe2B;AACxB,UAAI,CAAC,4BAAL,EAAoB;AAChB,YAAM,SAAS,GAAG,QAAQ,CAAC,aAAT,CAAuB,8BAAvB,EAAuD,qBAAvD,GAA+E,GAAjG;;AACA,YAAI,SAAS,GAAG,CAAhB,EAAmB;AACf,eAAK,QAAL,CAAc;AAAE,oBAAQ,EAAE;AAAZ,WAAd;AACH,SAFD,MAEO;AACH,eAAK,QAAL,CAAc;AAAE,oBAAQ,EAAE;AAAZ,WAAd;AACH;AACJ;AACJ;;;wCAEgB;AAAA;;AAEb,YAAM,CAAC,EAAP,CAAU,IAAV,CAAe,CAAC,MAAD,EAAS,YAAK;AAEzB,YAAM,IAAI,GAAG,MAAM,IAAI,MAAM,CAAC,EAAjB,IAAuB,MAAM,CAAC,EAAP,CAAU,OAAV,CAAkB,OAAlB,EAApC;;AAEA,YAAI,IAAJ,EAAU;AACN,gBAAI,CAAC,yBAAL,CAA+B,MAAM,CAAC,EAAtC,EAA0C,IAA1C;AACH;AACJ,OAPc,CAAf;AASA,cAAQ,CAAC,gBAAT,CAA0B,QAA1B,EAAoC,KAAK,sBAAL,EAApC;AACA,WAAK,oBAAL;AACH;;;2CAEmB;AAChB,cAAQ,CAAC,mBAAT,CAA6B,QAA7B,EAAuC,KAAK,sBAAL,EAAvC;AACH;;;6BAuEK;AAAA;;AAAA,wBAC2C,KAAK,KADhD;AAAA,UACM,SADN,eACM,SADN;AAAA,UACiB,OADjB,eACiB,OADjB;AAAA,UAC0B,YAD1B,eAC0B,YAD1B;AAAA,yBAE0D,KAAK,KAF/D;AAAA,UAEM,aAFN,gBAEM,aAFN;AAAA,UAEqB,QAFrB,gBAEqB,QAFrB;AAAA,UAE+B,IAF/B,gBAE+B,IAF/B;AAAA,UAEqC,gBAFrC,gBAEqC,gBAFrC;AAGF,UAAM,KAAK,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAM,CAAC,QAAP,CAAgB,IAAhB,CAAqB,OAArB,CAA6B,OAA7B,KAAyC,CAAC,CAAzF;AACA,UAAG,KAAH,EAAU,OAAO,IAAP,CAAV,KACM,OACF;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAE,UAAU,CAAC,2BAAD,EAA8B;AAAE,2BAAiB;AAAnB,SAA9B;AAA7B,SACI,iCACI,gC,GAAA,EAAM,YAAN,EAAyB,GAAzB,CADJ,EAGI;AAAK,iBAAS,EAAE,UAAU,CAAC,kCAAD,EAAqC;AAAE,yBAAe,CAAC;AAAlB,SAArC;AAA1B,SACK,OAAO,IAAI;AAAK,eAAO,EAAE,KAAK,cAAnB;AAAmC,iBAAS,EAAE,UAAU,CAAC,IAAI,GAAG,yBAAH,GAA+B,mBAApC;AAAxD,QADhB,EAEI;AAAG,YAAI,EAAC;AAAR,SAAsC;AAAK,iBAAS,EAAC;AAAf,QAAtC,CAFJ,CAHJ,CADJ,CADJ,EAWI;AAAK,iBAAS,EAAE,UAAU,CAAC,+BAAD,EAAkC,aAAa,IAAI,mCAAnD,EAAwF;AAAE,yBAAe;AAAjB,SAAxF;AAA1B,SACK,IAAI,IAAI;AAAK,iBAAS,EAAE,UAAU,CAAC,+EAAD;AAA1B,SACL;AAAM,iBAAS,EAAC;AAAhB,SAAuD,0BAAvD,CADK,E,IAAA,EACgE;AAAM,iBAAS,EAAC;AAAhB,SAA6D,IAAI,CAAC,SAAlE,CADhE,CADb,EAIK,IAAI,IAAI,CAAC,gBAAT,IAA6B;AAAK,iBAAS,EAAE,UAAU,CAAC,mCAAD,EAAsC,iBAAtC;AAA1B,SAC1B;AAAM,iBAAS,EAAC;AAAhB,SAAgE,yDAAhE,CAD0B,EAE1B;AAAK,iBAAS,EAAC;AAAf,QAF0B,CAJlC,EAQK,CAAC,IAAD,IAAS;AAAK,eAAO,EAAE,KAAK,SAAnB;AAA8B,iBAAS,EAAC;AAAxC,SACN;AAAM,iBAAS,EAAC;AAAhB,SAAuD,4CAAvD,CADM,EAEN;AAAK,iBAAS,EAAC;AAAf,QAFM,CARd,EAYK,IAAI,IAAI;AAAG,YAAI,EAAC,2CAAR;AAAoD,eAAO,EAAE;AAAA,iBAAI,MAAI,CAAC,cAAL,CAAoB,aAApB,CAAJ;AAAA,SAA7D;AAAqG,iBAAS,EAAE,UAAU,CAAC,mCAAD;AAA1H,SACL;AAAM,iBAAS,EAAC;AAAhB,SAAuD,+DAAvD,CADK,EAEL;AAAK,iBAAS,EAAC;AAAf,QAFK,CAZb,EAgBK,CAAC,CAAC,SAAS,CAAC,MAAZ,IAAsB,SAAS,CAAC,GAAV,CAAc,UAAC,IAAD,EAAS;AAC1C,eACI;AAAK,aAAG,EAAE,IAAI,CAAC,EAAf;AAAmB,mBAAS,EAAC,mCAA7B;AAAkE,iBAAO,EAAE;AAAA,mBAAI,MAAI,CAAC,cAAL,CAAoB,IAAI,CAAC,IAAzB,CAAJ;AAAA;AAA3E,WACI,oBAAC,4BAAD,EAAiB;AAAC,mBAAS,EAAC,uCAAX;AAAmD,cAAI,EAAE,IAAI,CAAC,IAA9D;AAAoE,oBAAU,EAAE,IAAI,CAAC;AAArF,SAAjB,EACK,IAAI,CAAC,IADV,CADJ,EAII,oBAAC,iCAAD,EAAgB;AAAC,aAAG,EAAE,IAAI,CAAC,GAAX;AAAgB,mBAAS,EAAC;AAA1B,SAAhB,CAJJ,CADJ;AAQH,OATsB,CAhB3B,EA0BK,IAAI,IAAI;AAAK,eAAO,EAAE,KAAK,cAAnB;AAAmC,iBAAS,EAAC;AAA7C,SACL;AAAM,iBAAS,EAAC;AAAhB,SAAuD,4CAAvD,CADK,EAEL;AAAK,iBAAS,EAAC;AAAf,QAFK,CA1Bb,EA8BI;AAAK,eAAO,EAAE,KAAK,cAAnB;AAAmC,iBAAS,EAAC;AAA7C,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,CA9BJ,CAXJ,EA6CI;AAAK,iBAAS,EAAE,UAAU,CAAC;AAAE,iDAAuC;AAAzC,SAAD;AAA1B,QA7CJ,CADE;AAiDT;;;;EArLoD,KAAK,CAAC,S;;AAepD,qDAAiB,qCAAjB;AAfX,kF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCA,mBAAO,CAAC,mCAAD,CAAP;;AAIA;;IAuBa,6B;;;;;AAIT,yCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,uGAAM,KAAN;AAFG,qBAAW,iBAAX;;AAIH,QAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,CAAC,EAAP,GAAY,MAAM,CAAC,EAAP,IAAa,EAAzB;AACH;;AAED,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE,IADJ;AAET,WAAK,EAAE,EAFE;AAGT,kBAAY,EAAE;AAHL,KAAb;AAPa;AAahB;;;;wCAEgB;AACb,WAAK,sBAAL;AACH;;;6CAEqB;AAAA;;AAClB,YAAM,CAAC,EAAP,CAAU,IAAV,CAAe,CAAC,MAAD,EAAS,YAAK;AACzB,YAAM,IAAI,GAAG,MAAM,IAAI,MAAM,CAAC,EAAjB,IAAuB,MAAM,CAAC,EAAP,CAAU,OAAV,CAAkB,OAAlB,EAApC;AACA,YAAM,YAAY,GAAG,EAArB;AACA,YAAI,eAAJ;;AACA,YAAI,IAAJ,EAAU;AACN,gBAAM,CAAC,EAAP,CAAU,OAAV,CAAkB,gBAAlB,CAAmC;AAC/B,8BAAkB,EAAE,4BAAC,IAAD,EAAS;AACzB,kBAAI,IAAI,IAAI,MAAM,CAAC,OAAP,CAAe,IAAf,EAAqB,MAArB,KAAgC,CAA5C,EAA+C;AAC3C,oBAAI,CAAC,mBAAL,CAAyB,GAAzB,CAA6B,mBAAS,EAAG;AACrC,iCAAe,GAAG,SAAS,CAAC,KAAV,KAAoB,EAApB,GAAyB,KAAzB,GAAiC,IAAI,CAAC,KAAL,CAAW,SAAS,CAAC,KAAV,CAAgB,WAAhB,EAAX,CAAnD;AACA,8BAAY,CAAC,SAAS,CAAC,UAAX,CAAZ,GAAqC,eAArC;AACH,iBAHD;;AAIA,sBAAI,CAAC,QAAL,CAAc;AAAE,uBAAK,EAAE,IAAI,CAAC,KAAd;AAAqB,8BAAY,EAAC,YAAlC;AAAgD,6BAAW,EAAE;AAA7D,iBAAd;AACH;AACJ,aAT8B;AAS5B,oBAAQ,EAAE,MAAI,CAAC;AATa,WAAnC;AAWH;AACJ,OAjBc,CAAf;AAkBH;;;6BAIY;AAAA,UACD,eADC,GACmB,KAAK,KADxB,CACD,eADC;AAAA,wBAEuB,KAAK,KAF5B;AAAA,UAED,KAFC,eAED,KAFC;AAAA,UAEM,YAFN,eAEM,YAFN;AAGT,UAAM,SAAS,GAAG,KAAK,mKAA6C,KAA7C,eAA8D,QAArF,CAHS,CAGsF;;AAE/F,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA4B,ieAA5B,CAFJ,EAGI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAAzD,QAHJ,CADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,QANJ,EAOI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,CAAC,GAAF,CAAM,eAAN,EAAuB,cAAI;AAAA,eAAI,oBAAC,iDAAD,EAAwB;AAAC,aAAG,EAAE,IAAI,CAAC;AAAX,WAAuB,IAAvB,EAA2B;AAAE,2BAAiB,EAAE,YAAY,CAAC,IAAI,CAAC,MAAN;AAAjC,SAA3B,CAAxB,CAAJ;AAAA,OAA3B,CADL,CAPJ,CADJ;AAaH;;;;EAhE8C,KAAK,CAAC,S;;AAEvC,+CAAiB,+BAAjB;AAFlB,sE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AACA;;AAEA,IAAM,MAAM,GAAE,uEAAd;AACA,IAAM,aAAa,GAAG,OAAtB;AACA,IAAM,eAAe,GAAG,MAAxB;AAiBA,IAAK,yBAAL;;AAAA,WAAK,yBAAL,EAA8B;AAC5B;AACA;AACA;AACD,CAJD,EAAK,yBAAyB,KAAzB,yBAAyB,MAA9B;;IAMa,uB;;;;;AAEX,mCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACf,iGAAM,KAAN;;AAOM,sCAA0B,UAAC,kBAAD,EAAgD;AAAA,UACzE,iBADyE,GACpD,MAAK,KAD+C,CACzE,iBADyE;AAEhF,aAAO,kBAAkB,KAAK,yBAAyB,CAAC,OAAjD,GAA2D,iBAA3D,GAA+E,kBAAkB,KAAK,yBAAyB,CAAC,UAAvI;AACD,KAHO;;AAKR,gCAAsB,YAAa;AACjC,UAAI,YAAY,GAAG,MAAK,yBAAL,CAA+B,MAAK,KAAL,CAAW,kBAA1C,CAAnB;;AACA,aAAO,YAAY,GAAG,eAAH,GAAqB,aAAxC;AACD,KAHD;;AAKA,+BAAqB,UAAC,KAAD,EAAkB;AACrC,UAAM,YAAY,GAAC,MAAK,yBAAL,CAA+B,MAAK,KAAL,CAAW,kBAA1C,CAAnB;;AACA,UAAI,CAAC,MAAM,CAAC,EAAP,CAAU,OAAV,CAAkB,OAAlB,EAAL,EAAkC;AAChC,cAAM,CAAC,EAAP,CAAU,OAAV,CAAkB,IAAlB,CAAuB;AACrB,kBAAQ,EAAE,kBAAU,IAAV,EAAc,CAAI;AADP,SAAvB;AAGD,OAJD,MAIO;AACL,cAAK,sBAAL;;AACA,cAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,cAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,eAAK,EAAE,WADW;AAElB,kBAAQ,EAAE,YAFQ;AAGlB,gBAAM,EAAE,KAHU;AAIlB,eAAK,EAAE,YAAY,GAAG,aAAH,GAAmB;AAJpB,SAAtB;AAMD;AACF,KAhBD;;AAkBA,8BAAoB,UAAC,UAAD,EAAuB;AACzC,UAAI,UAAU,KAAK,aAAnB,EAAkC;AAChC,eAAO;AACL,4BAAkB,SADb;AAEL,yBAAe,MAFV;AAGL,gCAAsB;AAHjB,SAAP;AAKD,OAND,MAMO;AACL,eAAO;AACL,4BAAkB,MADb;AAEL,yBAAe,SAFV;AAGL,gCAAsB;AAHjB,SAAP;AAKD;AACF,KAdD;;AAgBA,mCAAyB,YAAK;AAC5B,UAAM,YAAY,GAAC,MAAK,yBAAL,CAA+B,MAAK,KAAL,CAAW,kBAA1C,CAAnB;;AACA,YAAK,QAAL,CAAc;AAAE,eAAO,EAAE;AAAX,OAAd,EAAiC,YAAK;AACpC,YAAI,IAAI,GAAG;AACT,gBAAM,EAAE,MAAM,CAAC,EAAP,CAAU,OAAV,CAAkB,OAAlB,GAA4B,GAD3B;AAET,4BAAkB,EAAE,CAClB;AACE,kBAAM,EAAE,MAAK,KAAL,CAAW,MADrB;AAEE,mBAAO,YAAK,CAAC,YAAN;AAFT,WADkB;AAFX,SAAX;AAUA,aAAK,CAAC,IAAN,CAAW,MAAX,EAAkB,IAAlB,EACG,IADH,CACQ,UAAC,QAAD,EAAkB;AACtB,cAAI,QAAQ,CAAC,IAAT,CAAc,IAAd,KAAuB,CAA3B,EAA8B;AAC5B,kBAAK,QAAL,CAAc,UAAC,SAAD,EAAa;AACzB,kBAAM,yBAAyB,GAAC,MAAK,yBAAL,CAA+B,SAAS,CAAC,kBAAzC,CAAhC;;AACA,kBAAI,kBAAkB,GAAC,yBAAyB,GAAC,yBAAyB,CAAC,YAA3B,GAAwC,yBAAyB,CAAC,UAAlH;AACA,qBAAO;AAAC,kCAAkB,EAAlB,kBAAD;AAAqB,uBAAO,EAAE;AAA9B,eAAP;AACC,aAJH;AAKD;AACF,SATH,EAUG,KAVH,CAUS,YAAK;AACV,gBAAK,QAAL,CAAc;AAAE,mBAAO,EAAE;AAAX,WAAd;AACD,SAZH;AAaD,OAxBD;AAyBD,KA3BD;;AAlDE,UAAK,KAAL,GAAa;AACX,wBAAkB,EAAE,yBAAyB,CAAC,OADnC;AAEX,aAAO,EAAE;AAFE,KAAb;AAFe;AAMhB;;;;6BA6EY;AAAA;;AAAA,wBACoC,KAAK,KADzC;AAAA,UACH,MADG,eACH,MADG;AAAA,UACK,KADL,eACK,KADL;AAAA,UACY,QADZ,eACY,QADZ;AAAA,UACsB,SADtB,eACsB,SADtB;AAAA,wBAE6B,KAAK,KAFlC;AAAA,UAEH,kBAFG,eAEH,kBAFG;AAAA,UAEiB,OAFjB,eAEiB,OAFjB;AAGX,UAAM,YAAY,GAAC,KAAK,yBAAL,CAA+B,kBAA/B,CAAnB;AAEA,aACE;AAAK,iBAAS,EAAC;AAAf,SACE;AAAK,iBAAS,EAAC;AAAf,SACE,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE;AAAN,OAAhB,CADF,CADF,EAIE;AAAK,iBAAS,EAAC;AAAf,SACE;AAAK,iBAAS,EAAE;AAAhB,SAAwC,KAAxC,CADF,EAEE;AAAK,iBAAS,EAAE;AAAhB,SAA2C,QAA3C,CAFF,EAGE;AAAK,iBAAS,EAAC;AAAf,SACE;AACE,iBAAS,EAAC,8BADZ;AAEE,aAAK,EAAE,KAAK,iBAAL,CACL,YAAY,GAAG,eAAH,GAAqB,aAD5B,CAFT;AAKE,gBAAQ,EAAE,gCAAiB,OAL7B;AAME,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,kBAAL,CAAwB,KAAxB,CAAN;AAAA;AANX,SAQG,OAAO,GAAI;AAAK,iBAAS,EAAC;AAAf,QAAJ,GAA4C,KAAK,mBAAL,EARtD,CADF,EAWE;AAAK,iBAAS,EAAC;AAAf,SAA0C,SAA1C,CAXF,CAHF,CAJF,CADF;AAwBD;;;;EAlH0C,KAAK,CAAC,S;;AAAnD,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AACA;;AAGA,IAAK,SAAL;;AAAA,WAAK,SAAL,EAAc;AACV;AAAkB;AACrB,CAFD,EAAK,SAAS,KAAT,SAAS,MAAd;;IA0Ba,mC;;;;;AAIT,+CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,6GAAM,KAAN;;AAcJ,iCAAuB,UAAC,YAAD,EAA0D;AAC7E,YAAK,QAAL,CAAc,UAAC,SAAD,EAAyG;AAAA,YAC3G,aAD2G,GACzF,SADyF,CAC3G,aAD2G;AAEnH,YAAI,oBAAoB,GAAG,IAA3B;;AACA,YAAI,CAAC,CAAC,GAAF,CAAM,aAAN,EAAoB,CAAC,YAAY,CAAC,MAAd,CAApB,CAAJ,EAA+C;AAC1C,8BAAoB,GAAG,CAAC,CAAC,IAAF,CAAO,aAAP,EAAsB,CAAC,YAAY,CAAC,MAAd,CAAtB,CAAvB;AACJ,SAFD,MAEK;AACD,8BAAoB,qBAAO,aAAP,sBAAsB,YAAY,CAAC,MAAnC,EAA2C,YAA3C,EAApB;AACH;;AACD,eAAO;AACL,uBAAa,EAAE;AADV,SAAP;AAGD,OAXH;AAYH,KAbD;;AAeA,gCAAsB,YAAK;AACvB,YAAK,QAAL,CAAc;AAAE,aAAK,EAAE,SAAS,CAAC;AAAnB,OAAd;;AACA,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,QAA/B;AAEH,KAJD;;AAOA,qCAA0B,YAAI;AAC1B,YAAK,QAAL,CAAc;AAAE,aAAK,EAAE,SAAS,CAAC;AAAnB,OAAd;;AACA,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,MAAK,KAAL,CAAW,YAA1C;AACH,KAHD;;AAnCI,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE,EADN;AAET,WAAK,EAAE,SAAS,CAAC,gBAFR;AAGT,kBAAY,EAAC;AAHJ,KAAb;AAFa;AAQhB;;;;wCAEgB;AACb,WAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,QAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB;AAApC,OAAd;AACH;;;6BA+BY;AAAA;;AAAA,wBACiD,KAAK,KADtD;AAAA,UACD,eADC,eACD,eADC;AAAA,UACgB,YADhB,eACgB,YADhB;AAAA,UAC8B,cAD9B,eAC8B,cAD9B;AAAA,wBAEwB,KAAK,KAF7B;AAAA,UAED,aAFC,eAED,aAFC;AAAA,UAEc,KAFd,eAEc,KAFd;AAIT,aACY;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SAAwC,oZAAxC,CAHJ,EAIK,CAAC,4BAAD,IAAkB;AAAK,iBAAS,EAAC;AAAf,SAA0C,qOAA1C,CAJvB,CADJ,EAOI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,CAAC,GAAF,CAAM,eAAN,EAAuB,cAAI;AAAA,eAAI,oBAAC,6DAAD,EAA8B;AAAC,mBAAS,EAAE,CAAC,CAAC,GAAF,CAAM,aAAN,EAAoB,CAAC,IAAI,CAAC,MAAN,CAApB,CAAZ;AAAgD,kBAAQ,EAAE;AAAA,mBAAM,MAAI,CAAC,oBAAL,CAA0B,IAA1B,CAAN;AAAA,WAA1D;AAAiG,aAAG,EAAE,IAAI,CAAC;AAA3G,WAAuH,IAAvH,CAA9B,CAAJ;AAAA,OAA3B,CADL,CAPJ,EAUI;AAAQ,gBAAQ,EAAE,gCAAiB,CAAC,CAAC,CAAC,IAAF,CAAO,aAAP,EAAsB,MAA1D;AAAkE,YAAI,EAAC,QAAvE;AAAgF,eAAO,EAAE,KAAK,mBAA9F;AAAmH,iBAAS,EAAC;AAA7H,SAA6I,gCAA7I,CAVJ,EAWK,KAAK,KAAK,SAAS,CAAC,cAApB,IAAsC,oBAAC,+EAAD,EAAuC;AAAC,sBAAc,EAAE,cAAjB;AAAiC,oBAAY,EAAE,YAA/C;AAA6D,qBAAa,EAAE,aAA5E;AAA2F,eAAO,EAAE,KAAK;AAAzG,OAAvC,CAX3C,CADZ;AAeH;;;;EAlEoD,KAAK,CAAC,S;;AAE7C,qDAAiB,qCAAjB;AAFlB,kF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChCA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AACA;;AAgBA,IAAM,qCAAqC,GAAC,SAAtC,qCAAsC,OAAwB;AAAA,MAAtB,SAAsB,QAAtB,SAAsB;AAAA,MAAZ,QAAY,QAAZ,QAAY;AAClE,SACE;AAAK,aAAS,EAAC;AAAf,KACI;AAAO,YAAQ,EAAE,QAAjB;AAA2B,QAAI,EAAC,UAAhC;AAA2C,WAAO,EAAE;AAApD,IADJ,EAEI;AAAM,aAAS,EAAC;AAAhB,IAFJ,CADF;AAMD,CAPD;;IASa,6B;;;;;AAEX,yCAAY,KAAZ,EAAiB;AAAA;;AAAA,sGACT,KADS;AAEhB;;;;6BAEY;AAAA,wBACkE,KAAK,KADvE;AAAA,UACH,MADG,eACH,MADG;AAAA,UACK,KADL,eACK,KADL;AAAA,UACY,QADZ,eACY,QADZ;AAAA,UACsB,SADtB,eACsB,SADtB;AAAA,UACiC,OADjC,eACiC,OADjC;AAAA,UAC0C,SAD1C,eAC0C,QAD1C;AAAA,UACoD,SADpD,eACoD,SADpD;AAEX,UAAM,WAAW,GAAG,SAAS,KAAK,KAAlC;AACA,aACE;AAAK,iBAAS,EAAE,UAAU,CAAC,gBAAD,EAAkB;AAAC,qBAAU;AAAX,SAAlB,CAA1B;AAAoE,eAAO,EAAE,+BAAc,IAAd,GAAmB;AAAA,iBAAI,SAAQ,CAAC,OAAD,CAAZ;AAAA;AAAhG,SACC,oBAAC,qCAAD,EAAsC;AAAC,gBAAQ,EAAE;AAAA,iBAAI,SAAQ,CAAC,OAAD,CAAZ;AAAA,SAAX;AAAkC,iBAAS,EAAE;AAA7C,OAAtC,CADD,EAEE;AAAK,iBAAS,EAAC;AAAf,SACE;AAAK,iBAAS,EAAE;AAAhB,SAAwC,KAAxC,CADF,CAFF,EAME;AAAK,iBAAS,EAAC;AAAf,SACE;AAAK,iBAAS,EAAC;AAAf,SACE,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE;AAAN,OAAhB,CADF,CADF,EAIE;AAAK,iBAAS,EAAE;AAAhB,SAA2C,QAA3C,CAJF,EAKG,WAAW,IAAI;AAAK,iBAAS,EAAC;AAAf,SAAyC;AAAM,iBAAS,EAAC;AAAhB,QAAzC,EAA0E;AAAM,iBAAS,EAAC;AAAhB,kDAAiC,SAAjC,EAA1E,EAA8H;AAAM,iBAAS,EAAC;AAAhB,QAA9H,CALlB,CANF,CADF;AAgBD;;;;EAzBgD,KAAK,CAAC,S;;AAAzD,sE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BA;;AACA;;AACA;;AACA;;AAQa,iDAAyC,gBAA6D;AAAA,MAA1D,OAA0D,QAA1D,OAA0D;AAAA,MAAjD,aAAiD,QAAjD,aAAiD;AAAA,MAAlC,YAAkC,QAAlC,YAAkC;AAAA,MAApB,cAAoB,QAApB,cAAoB;;AAAA,0BAC9D,iBAAS,KAAT,CAD8D;AAAA;AAAA,MACxG,kBADwG;AAAA,MACpF,kBADoF;;AAAA,2BAE5E,iBAAS,EAAT,CAF4E;AAAA;AAAA,MAExG,UAFwG;AAAA,MAE5F,YAF4F;;AAG/G,MAAM,uBAAuB,GAAG,cAAc,IAAI,GAAlD;;AAEA,MAAM,8BAA8B,GAAG,SAAjC,8BAAiC,CAAC,CAAD,EAAwB;AAC3D,KAAC,CAAC,cAAF;AACA,QAAM,MAAM,GAAG,MAAM,CAAC,QAAP,CAAgB,MAAhB,CAAuB,QAAvB,CAAgC,WAAhC,CAAf;;AACA,QAAI,MAAJ,EAAY;AACR,sBAAgB,CAAC,EAAD,EAAK,IAAL,CAAhB;AACH,KAFD,MAEO,IAAI,YAAY,EAAhB,EAAoB;AACvB,UAAI,MAAM,CAAC,iBAAP,IAA4B,UAAhC,EAA4C;AACxC,kBAAU,CAAC,KAAX,CAAiB,YAAK;AAClB,oBAAU,CAAC,OAAX,CAAmB,MAAM,CAAC,iBAA1B,EAA6C;AAAE,kBAAM,EAAE;AAAV,WAA7C,EAAmE,IAAnE,CAAwE,eAAK,EAAG;AAC5E,4BAAgB,CAAC,KAAD,EAAQ,KAAR,CAAhB;AACH,WAFD;AAGH,SAJD;AAKH;AACJ;AACJ,GAdD;;AAgBA,MAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAG,iBAAO,KAAP,EAAsB,MAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEX,4BAFW,GAEM,MAAM,CAAC,MAAP,CAAc,aAAd,EAA6B,GAA7B,CAAiC,UAAC,IAAD;AAAA,uBAAkD,IAAI,CAAC,aAAvD;AAAA,eAAjC,EAAuG,IAAvG,CAA4G,GAA5G,CAFN;AAGb,sBAHa,GAGF;AACX,uBAAO,EAAE,QAAQ,CAAC,uBAAD,CADN;AAEX,6BAAa,EAAE,cAAc,IAAI,EAFtB;AAGX,qBAAK,EAAE,UAAU,CAAC,OAAD,CAHN;AAIX,qBAAK,EAAL;AAJW,eAHE;AAAA;AAAA,qBASM,KAAK,CAAC,IAAN,2BAA8B,YAA9B,8BAA8D,MAAM,GAAG,YAAH,GAAkB,EAAtF,GAA4F,QAA5F,CATN;;AAAA;AASX,sBATW;;AAUjB,kBAAI,QAAQ,IAAI,QAAQ,CAAC,MAAT,KAAoB,GAApC,EAAyC;AACrC,kCAAkB,CAAC,IAAD,CAAlB;AACH;;AAZgB;AAAA;;AAAA;AAAA;AAAA;AAcjB,qBAAO,CAAC,KAAR,CAAc,4BAAd;;AAdiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAhB,gBAAgB;AAAA;AAAA;AAAA,KAAtB;;AAkBA,MAAM,yBAAyB,GAAG,SAA5B,yBAA4B,CAAC,YAAD,EAAiB;AAC/C,QAAI,YAAY,CAAC,IAAb,KAAsB,UAA1B,EAAsC;AAClC,kBAAY,CAAC,mBAAS;AAAA,eAAI,kBAAM,SAAN,sBAAkB,YAAY,CAAC,IAA/B,EAAsC,YAAY,CAAC,OAAnD,EAAJ;AAAA,OAAV,CAAZ;AACA,kBAAY,CAAC,aAAb,CAA2B,SAA3B,CAAqC,MAArC,CAA4C,OAA5C;AACH,KAHD,MAGO;AACH,kBAAY,CAAC,mBAAS;AAAA,eAAI,kBAAM,SAAN,sBAAkB,YAAY,CAAC,IAA/B,EAAsC,YAAY,CAAC,KAAnD,EAAJ;AAAA,OAAV,CAAZ;AACA,kBAAY,CAAC,SAAb,CAAuB,MAAvB,CAA8B,OAA9B;AACH;AACJ,GARD;;AAUA,MAAM,eAAe,GAAG;AACpB,SAAK,EAAE,CACH;AAAE,eAAS,EAAE,wBAAK;AAAA,eAAI,KAAK,CAAC,IAAN,OAAiB,EAArB;AAAA;AAAlB,KADG,EAEH;AAAE,eAAS,EAAE,wBAAK;AAAA,eAAI,eAAe,IAAf,CAAoB,KAApB,CAAJ;AAAA;AAAlB,KAFG,CADa;AAKpB,SAAK,EAAE,CACH;AAAE,eAAS,EAAE,wBAAK;AAAA,eAAI,KAAK,CAAC,IAAN,OAAiB,EAArB;AAAA;AAAlB,KADG,EAEH;AAAE,eAAS,EAAE,wBAAK;AAAA,eAAI,uEAAuE,IAAvE,CAA4E,KAA5E,CAAJ;AAAA;AAAlB,KAFG,CALa;AASpB,YAAQ,EAAE,CACN;AAAE,eAAS,EAAE,mBAAC,KAAD;AAAA,eAAW,KAAX;AAAA;AAAb,KADM;AATU,GAAxB;;AAcA,MAAM,cAAc,GAAG,SAAjB,cAAiB,CAAC,SAAD,EAAc;AACjC,QAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,uBAAsC,SAAtC,QAArB;AACA,QAAM,KAAK,GAAG,SAAS,KAAK,UAAd,GAA2B,YAAY,CAAC,aAAxC,GAAwD,YAAtE;AACA,SAAK,CAAC,SAAN,CAAgB,GAAhB,CAAoB,OAApB;AACH,GAJD;;AAMA,MAAM,UAAU,GAAG,SAAb,UAAa,CAAC,SAAD,EAAc;AAC7B,QAAI,UAAU,GAAG,IAAjB;AACA,QAAM,YAAY,GAAI,QAAQ,CAAC,aAAT,uBAAsC,SAAtC,QAAtB;AACA,QAAM,UAAU,GAAG,SAAS,KAAK,UAAd,GAA2B,YAAY,CAAC,OAAxC,GAAkD,YAAY,CAAC,KAAlF;AAH6B;AAAA;AAAA;;AAAA;AAI7B,2BAAmB,eAAe,CAAC,SAAD,CAAlC,8HAA+C;AAAA,YAApC,IAAoC;;AAC3C,YAAI,CAAC,IAAI,CAAC,SAAL,CAAe,UAAf,CAAL,EAAiC;AAC7B,oBAAU,GAAG,KAAb;AACA,wBAAc,CAAC,SAAD,CAAd;AACH;AACJ;AAT4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAU7B,WAAO,UAAP;AACH,GAXD;;AAaA,MAAM,YAAY,GAAG,SAAf,YAAe,GAAK;AACtB,QAAI,SAAS,GAAG,IAAhB;;AACA,SAAK,IAAM,SAAX,IAAwB,eAAxB,EAAyC;AACrC,UAAI,SAAS,KAAK,UAAd,IAA4B,qBAAhC,EAA4C;;AAC5C,UAAI,CAAC,UAAU,CAAC,SAAD,CAAf,EAA4B;AACxB,iBAAS,GAAG,KAAZ;AACH;AACJ;;AACD,WAAO,SAAP;AACH,GATD;;AAWA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAE,UAAU,CAAC,eAAD,EAAkB;AAAE,cAAQ,CAAC;AAAX,KAAlB;AAA1B,KACI;AAAM,WAAO,EAAE,OAAf;AAAwB,aAAS,EAAC;AAAlC,IADJ,EAEI;AAAG,aAAS,EAAC;AAAb,KAAyB,2JAAzB,CAFJ,EAMI;AAAK,aAAS,EAAC;AAAf,KACI;AAAO,YAAQ,EAAE,kBAAC,CAAD;AAAA,aAAO,yBAAyB,CAAC,CAAC,CAAC,MAAH,CAAhC;AAAA,KAAjB;AAAiF,eAAW,EAAC,0BAA7F;AAAoG,QAAI,EAAC,OAAzG;AAAiH,QAAI,EAAC;AAAtH,IADJ,E,GAAA,EAC2I,+BAD3I,EAEI;AAAO,YAAQ,EAAE,kBAAC,CAAD;AAAA,aAAO,yBAAyB,CAAC,CAAC,CAAC,MAAH,CAAhC;AAAA,KAAjB;AAAiF,eAAW,EAAC,gCAA7F;AAAqG,QAAI,EAAC,OAA1G;AAAkH,QAAI,EAAC;AAAvH,IAFJ,EAGI;AAAQ,WAAO,EAAE,8BAAjB;AAAiD,QAAI,EAAC;AAAtD,KAA8D,gCAA9D,CAHJ,EAII;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAO,YAAQ,EAAE,kBAAC,CAAD;AAAA,aAAO,yBAAyB,CAAC,CAAC,CAAC,MAAH,CAAhC;AAAA,KAAjB;AAAiF,QAAI,EAAC,UAAtF;AAAiG,QAAI,EAAC,UAAtG;AAAiH,MAAE,EAAC;AAApH,IADJ,EAEI;AAAO,aAAS,EAAC,gBAAjB;AAAkC,WAAO,EAAC;AAA1C,IAFJ,CADJ,EAKI;AAAO,aAAS,EAAC;AAAjB,K,wCAAA,EACY;AAAG,QAAI,EAAC;AAAR,KAAgE,qEAAhE,CADZ,E,UAAA,EACgG;AAAG,QAAI,EAAC;AAAR,KAAgE,uFAAhE,CADhG,EAGQ,kYAHR,CALJ,EAUI;AAAO,aAAS,EAAC;AAAjB,K,8JAAA,EACmC;AAAG,QAAI,EAAC;AAAR,KAAgE,qEAAhE,CADnC,E,IAAA,EACsH;AAAG,QAAI,EAAC;AAAR,KAAgE,uFAAhE,CADtH,EAEQ,kYAFR,CAVJ,CAJJ,CANJ,CADJ,EA4BI;AAAK,aAAS,EAAE,UAAU,CAAC,uBAAD,EAA0B;AAAE,cAAQ;AAAV,KAA1B;AAA1B,KACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAG,aAAS,EAAC;AAAb,KAA4B,sEAA5B,CAFJ,EAGI;AAAG,aAAS,EAAC;AAAb,KAAgC,wJAAhC,CAHJ,EAII;AAAG,QAAI,EAAC,6BAAR;AAAsC,aAAS,EAAC;AAAhD,KAA+D,6CAA/D,CAJJ,CA5BJ,CADJ,CADJ;AAuCH,CApIY,C;;;;;;;;;;;;;;;;;;;;;;;ACXb;;AACA;;AACA;;AACA;;AACA;;AACA;;AACa,6CAAqC,YAAK;AAAA,0BAEH,iBAAiB,CAAjB,CAFG;AAAA;AAAA,MAE5C,gBAF4C;AAAA,MAE1B,mBAF0B;;AAAA,2BAGnB,iBAA2B,IAA3B,CAHmB;AAAA;AAAA,MAG5C,YAH4C;AAAA,MAG9B,OAH8B;;AAKnD,MAAK,YAAL;;AAAA,aAAK,YAAL,EAAiB;AACb;AACA;AACA;AACA;AACH,GALD,EAAK,YAAY,KAAZ,YAAY,MAAjB;;AAOA,MAAM,KAAK,GAAG,MAAM,CAAC,MAAP,CAAc,YAAd,CAAd;;AAGA,MAAM,QAAQ,GAAG,SAAX,QAAW,GAAK;AAClB,uBAAmB,CAAC,IAAI,CAAC,GAAL,CAAS,gBAAgB,GAAG,CAA5B,EAA+B,KAAK,CAAC,MAAN,GAAe,CAA9C,CAAD,CAAnB;AACH,GAFD;;AAIA,MAAM,QAAQ,GAAG,SAAX,QAAW,GAAK;AAClB,uBAAmB,CAAC,IAAI,CAAC,GAAL,CAAS,gBAAgB,GAAG,CAA5B,EAA+B,CAA/B,CAAD,CAAnB;AACH,GAFD;;AAIA,MAAM,iBAAiB,GAAG,SAApB,iBAAoB,GAAK;AAC3B,YAAQ,KAAK,CAAC,gBAAD,CAAb;AACI,WAAK,YAAY,CAAC,WAAlB;AACI,eAAO,oBAAC,uCAAD,EAA8B;AAAC,kBAAQ,EAAE,QAAX;AAAqB,iBAAO,EAAE;AAA9B,SAA9B,CAAP;;AACJ,WAAK,YAAY,CAAC,gBAAlB;AACI,eAAO,oBAAC,iDAAD,EAAwC;AAAC,kBAAQ,EAAE,QAAX;AAAqB,kBAAQ,EAAE;AAA/B,SAAxC,CAAP;;AACJ,WAAK,YAAY,CAAC,eAAlB;AACI,eAAO,oBAAC,gDAAD,EAAuC;AAAC,kBAAQ,EAAE,QAAX;AAAqB,kBAAQ,EAAE,QAA/B;AAAyC,sBAAY,EAAE;AAAvD,SAAvC,CAAP;;AACJ,WAAK,YAAY,CAAC,MAAlB;AACI,eAAO,oBAAC,+CAAD,EAA+B;AAAC,kBAAQ,EAAE;AAAX,SAA/B,CAAP;;AACJ;AACI,eAAO,IAAP;AAVR;AAYH,GAbD;;AAiBA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,gCAAyB,MAAM,CAAC,IAAP,CAAY,YAAZ,EAA0B,gBAA1B,KAA+C,EAAxE;AAAd,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAA+C,mGAA/C,CAFJ,CAFJ,EAMI,oBAAC,uDAAD,EAA8C;AAAC,SAAK,EAAE,KAAR;AAAe,oBAAgB,EAAE;AAAjC,GAA9C,CANJ,EAOK,iBAAiB,EAPtB,CADJ;AAWH,CAnDY;;AAqDb,2CAAmC,cAAnC,GAAoD,oCAApD,C;;;;;;;;;;;;;;;AC3DA;;AACA;;AAQA,IAAM,sCAAsC,GAAG,SAAzC,sCAAyC,CAAC,KAAD,EAAuD;AAAA,MAC3F,YAD2F,GAC3E,KAD2E,CAC3F,YAD2F;;AAAA,8BAErC,0BAAY,YAAY,CAAC,eAAzB,CAFqC;AAAA,MAE1F,cAF0F,yBAE1F,cAF0F;AAAA,MAE1E,UAF0E,yBAE1E,UAF0E;AAAA,MAE9D,KAF8D,yBAE9D,KAF8D;AAAA,MAEvD,aAFuD,yBAEvD,aAFuD;;AAGlG,MAAM,SAAS,GAAG,eAA0B,IAA1B,CAAlB;;AAHkG,aAInD,KAAK,CAAC,YAAN,IAAsB,EAJ6B;AAAA,wBAI1F,KAJ0F;AAAA,MAI1F,KAJ0F,2BAIlF,eAJkF;AAAA,wBAIjE,KAJiE;AAAA,MAIjE,KAJiE,2BAIzD,CAJyD;;AAMlG,oBAAU,YAAK;AACX,QAAI,cAAc,KAAK,WAAvB,EAAoC;AAChC,WAAK,CAAC,QAAN;AACH;AACJ,GAJD,EAIG,CAAC,cAAD,CAJH;AAMA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAI,aAAS,EAAC;AAAd,KAAqB,yDAArB,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAqB,6DAArB,EAAsC,kCAAO,KAAP,CAAtC,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAAqB,mEAArB,EAAuC,kCAAO,KAAK,CAAC,OAAN,CAAc,CAAd,CAAP,EAAmC,iBAAnC,CAAvC,CAFJ,CADJ,EAKI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,K,GAAA,EAA2B,mEAA3B,EAA6C,kCAAO,KAAK,CAAC,OAAN,CAAc,CAAd,CAAP,EAAmC,iBAAnC,CAA7C,CADJ,CALJ,CADJ,EAUI;AAAK,aAAS,EAAC;AAAf,IAVJ,EAWI;AAAK,aAAS,EAAC;AAAf,KACI;AAAQ,OAAG,EAAE,SAAb;AAA+B,OAAG,EAAE;AAApC,IADJ,CAXJ,CAFJ,CADJ;AAsBH,CAlCD;;AAoCA,kBAAe,sCAAf,C;;;;;;;;;;;;;;;ACtCA,IAAM,8BAA8B,GAAG,SAAjC,8BAAiC,CAAC,KAAD,EAA+C;AAElF,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAI,aAAS,EAAC;AAAd,KAAqB,4EAArB,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAA4B,4cAA5B,CAFJ,EAMI;AAAQ,aAAS,EAAC;AAAlB,KAAiC,iFAAjC,CANJ,CAFJ,EAUI;AAAK,aAAS,EAAC;AAAf,IAVJ,CADJ;AAcH,CAhBD;;AAkBA,kBAAe,8BAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBA;;AACA;;AACA;;AACA;;AAoBA,IAAM,uCAAuC,GAAG,SAA1C,uCAA0C,CAAC,KAAD,EAAwD;AAAA,MAC5F,QAD4F,GAC/E,KAD+E,CAC5F,QAD4F;;AAAA,0BAKpE,iBAAc;AAC1C,SAAK,EAAE;AAAE,QAAE,EAAE,CAAN;AAAS,UAAI,EAAE,OAAf;AAAwB,UAAI,EAAE,MAA9B;AAAsC,WAAK,EAAE,OAA7C;AAAsD,cAAQ,EAAE,IAAhE;AAAsE,WAAK,EAAE,CAA7E;AAAgF,WAAK,EAAE;AAAvF,KADmC;AAE1C,aAAS,EAAE;AAAE,QAAE,EAAE,CAAN;AAAS,UAAI,EAAE,WAAf;AAA4B,UAAI,EAAE,MAAlC;AAA0C,WAAK,EAAE,SAAjD;AAA4D,WAAK,EAAE,CAAnE;AAAsE,WAAK,EAAE;AAA7E,KAF+B;AAG1C,YAAQ,EAAE;AAAE,QAAE,EAAE,CAAN;AAAS,UAAI,EAAE,UAAf;AAA2B,UAAI,EAAE,MAAjC;AAAyC,WAAK,EAAE,UAAhD;AAA4D,WAAK,EAAE,CAAnE;AAAsE,WAAK,EAAE;AAA7E,KAHgC;AAI1C,YAAQ,EAAE;AAAE,QAAE,EAAE,CAAN;AAAS,UAAI,EAAE,UAAf;AAA2B,UAAI,EAAE,MAAjC;AAAyC,WAAK,EAAE,KAAhD;AAAuD,WAAK,EAAE;AAA9D,KAJgC;AAK1C,SAAK,EAAE;AAAE,QAAE,EAAE,CAAN;AAAS,UAAI,EAAE,OAAf;AAAwB,UAAI,EAAE,MAA9B;AAAsC,WAAK,EAAE,MAA7C;AAAqD,WAAK,EAAE;AAA5D,KALmC;AAM1C,cAAU,EAAE;AACR,QAAE,EAAE,CADI;AACD,UAAI,EAAE,YADL;AACmB,UAAI,EAAE,UADzB;AAER,WAAK,EAAE,qJAFC;AAGR,WAAK,EAAE;AAHC;AAN8B,GAAd,CALoE;AAAA;AAAA,MAK7F,QAL6F;AAAA,MAKnF,WALmF;;AAAA,2BAkBxE,iBAAS,EAAT,CAlBwE;AAAA;AAAA,MAkB7F,MAlB6F;AAAA,MAkBrF,SAlBqF;;AAAA,2BAmB5D,iBAAS,EAAT,CAnB4D;AAAA;AAAA,MAmB7F,YAnB6F;AAAA,MAmB/E,eAnB+E;;AAqBpG,MAAM,gBAAgB,GAAG;AACrB,SAAK,EAAE;AACH,cAAQ,EAAE,KADP;AAEH,aAAO,EAAE,UAFN;AAGH,cAAQ,EAAE,kBAAC,KAAD;AAAA,eAAmB,6BAA6B,IAA7B,CAAkC,KAAlC,KAA4C,qBAA/D;AAAA;AAHP,KADc;AAMrB,aAAS,EAAE;AACP,cAAQ,EAAE,IADH;AAEP,aAAO,EAAE,UAFF;AAGP,cAAQ,EAAE,kBAAC,KAAD;AAAA,eAAmB,2BAA2B,IAA3B,CAAgC,KAAhC,KAA0C,8BAA7D;AAAA;AAHH,KANU;AAWrB,YAAQ,EAAE;AACN,cAAQ,EAAE,IADJ;AAEN,aAAO,EAAE,UAFH;AAGN,cAAQ,EAAE,kBAAC,KAAD;AAAA,eAAmB,2BAA2B,IAA3B,CAAgC,KAAhC,KAA0C,+BAA7D;AAAA;AAHJ,KAXW;AAgBrB,SAAK,EAAE;AACH,cAAQ,EAAE,IADP;AAEH,aAAO,EAAE,UAFN;AAGH,cAAQ,EAAE,kBAAC,KAAD;AAAA,eAAmB,YAAY,IAAZ,CAAiB,KAAjB,KAA2B,oBAA9C;AAAA;AAHP,KAhBc;AAqBrB,YAAQ,EAAE;AACN,cAAQ,EAAE,IADJ;AAEN,aAAO,EAAE,UAFH;AAGN,cAAQ,EAAE,kBAAC,KAAD,EAAkB;AACxB,YAAM,gBAAgB,GAAG,SAAnB,gBAAmB,CAAC,EAAD,EAAwB;AAC7C,cAAI,CAAC,UAAU,IAAV,CAAe,EAAf,CAAL,EAAyB,OAAO,KAAP;AACzB,cAAM,OAAO,GAAG,EAAE,CAAC,KAAH,CAAS,EAAT,EAAa,GAAb,CAAiB,MAAjB,CAAhB;AACA,cAAI,GAAG,GAAG,CAAV;;AACA,eAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,CAApB,EAAuB,CAAC,EAAxB,EAA4B;AACxB,gBAAI,GAAG,GAAG,OAAO,CAAC,CAAD,CAAP,IAAc,CAAC,GAAG,CAAJ,KAAU,CAAV,GAAc,CAAd,GAAkB,CAAhC,CAAV;AACA,eAAG,IAAI,GAAG,GAAG,CAAN,GAAU,GAAG,GAAG,CAAhB,GAAoB,GAA3B;AACH;;AACD,iBAAO,GAAG,GAAG,EAAN,KAAa,CAApB;AACH,SATD;;AAWA,eAAO,gBAAgB,CAAC,KAAD,CAAhB,IAA2B,qBAAlC;AACH;AAhBK,KArBW;AAuCrB,cAAU,EAAE;AACR,cAAQ,EAAE,IADF;AAER,aAAO,EAAE,UAFD;AAGR,cAAQ,EAAE,kBAAC,KAAD;AAAA,eAAoB,KAAK,IAAI,wBAA7B;AAAA;AAHF;AAvCS,GAAzB;;AAgDA,MAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,IAAD,EAAO,KAAP,EAAgB;AAClC,QAAM,MAAM,GAAG,gBAAgB,CAAC,IAAD,CAA/B;AACA,QAAI,CAAC,MAAL,EAAa,OAAO,EAAP;;AACb,QAAI,MAAM,CAAC,QAAX,EAAqB;AACjB,UAAI,OAAO,KAAP,KAAiB,SAAjB,IAA8B,CAAC,KAAnC,EAA0C,OAAO,MAAM,CAAC,OAAd;AAC1C,UAAI,OAAO,KAAP,KAAiB,QAAjB,IAA6B,CAAC,KAAK,CAAC,IAAN,EAAlC,EAAgD,OAAO,MAAM,CAAC,OAAd;AACnD;;AACD,QAAI,MAAM,CAAC,QAAX,EAAqB;AACjB,aAAO,OAAO,MAAM,CAAC,QAAP,CAAgB,KAAhB,CAAP,KAAkC,SAAlC,GAA8C,EAA9C,GAAmD,MAAM,CAAC,QAAP,CAAgB,KAAhB,CAA1D;AACH;;AACD,WAAO,EAAP;AACH,GAXD;;AAcA,MAAM,YAAY,GAAG,SAAf,YAAe,CAAC,CAAD,EAAM;AAAA,oBACD,CAAC,CAAC,MADD;AAAA,QACjB,IADiB,aACjB,IADiB;AAAA,QACX,KADW,aACX,KADW;;AAGvB,QAAI,IAAI,KAAK,YAAb,EAA2B;AACvB,WAAK,GAAG,CAAC,CAAC,MAAF,CAAS,OAAjB;AACH;;AAED,eAAW,CAAC,sBAAY;AAAA,aAAI,kBACrB,YADqB,sBAEvB,IAFuB,EAElB,kBAAO,YAAY,CAAC,IAAD,CAAnB,EAAyB;AAAE,aAAK,EAAL;AAAF,OAAzB,CAFkB,EAAJ;AAAA,KAAb,CAAX;AAKA,aAAS,CAAC,UAAC,UAAD;AAAA,aAAgB,kBACnB,UADmB,sBAErB,IAFqB,EAEd,aAAa,CAAC,IAAD,EAAO,KAAP,CAFC,EAAhB;AAAA,KAAD,CAAT;AAKH,GAjBD;;AAoBA,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAG,iBAAO,CAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACjB,eAAC,CAAC,cAAF;AAEI,uBAHa,GAGD,EAHC;AAIb,qBAJa,GAIH,IAJG;AAMjB,oBAAM,CAAC,IAAP,CAAY,QAAZ,EAAsB,OAAtB,CAA8B,UAAC,GAAD,EAAQ;AAClC,oBAAM,YAAY,GAAG,aAAa,CAAC,GAAD,EAAM,QAAQ,CAAC,GAAD,CAAR,CAAc,KAApB,CAAlC;;AACA,oBAAI,YAAJ,EAAkB;AACd,2BAAS,CAAC,GAAD,CAAT,GAAiB,YAAjB;AACA,yBAAO,GAAG,KAAV;AACH;AACJ,eAND;AAQA,uBAAS,CAAC,SAAD,CAAT;;AAdiB,kBAgBZ,OAhBY;AAAA;AAAA;AAAA;;AAiBb,qBAAO,CAAC,GAAR,CAAY,kBAAZ,EAAgC,SAAhC;AAjBa;;AAAA;AAAA;AAAA,qBAqBM,cAAc,CAAC,QAAD,CArBpB;;AAAA;AAqBX,sBArBW;;AAsBjB,kBAAI,QAAJ,EAAc;AACV,uBAAO,CAAC,GAAR,CAAY,8BAAZ,EAA4C,QAA5C;AACA,wBAAQ;AACX;;AAzBgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAZ,YAAY;AAAA;AAAA;AAAA,KAAlB;;AA6BA,oBAAU,YAAK;AAAA,aACI,SADJ;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,8BACX;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAC2B,WAAW,CAAC,6CAAD,CADtC;;AAAA;AAAA;AACY,oBADZ,SACY,IADZ;AAEI,2BAAW,CAAC,sBAAY;AAAA,yBAAI,kBACrB,YADqB,EACT;AACf,yBAAK,oBAAO,YAAY,CAAC,KAApB,EAAyB;AAAE,2BAAK,EAAE,IAAI,CAAC;AAAd,qBAAzB,CADU;AAEf,6BAAS,oBAAO,YAAY,CAAC,SAApB,EAA6B;AAAE,2BAAK,EAAE,IAAI,CAAC,SAAL,IAAkB;AAA3B,qBAA7B,CAFM;AAGf,4BAAQ,oBAAO,YAAY,CAAC,QAApB,EAA4B;AAAE,2BAAK,EAAE,IAAI,CAAC,QAAL,IAAiB;AAA1B,qBAA5B,CAHO;AAIf,4BAAQ,oBAAO,YAAY,CAAC,QAApB,EAA4B;AAAE,2BAAK,EAAE,IAAI,CAAC,UAAL,IAAmB;AAA5B,qBAA5B,CAJO;AAKf,yBAAK,oBAAO,YAAY,CAAC,KAApB,EAAyB;AAAE,2BAAK,EAAE,IAAI,CAAC,WAAL,IAAoB;AAA7B,qBAAzB;AALU,mBADS,CAAJ;AAAA,iBAAb,CAAX;;AAFJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OADW;AAAA;AAAA;;AAYX,aAAS;AACZ,GAbD,EAaG,EAbH;;AAeA,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAG,kBAAO,GAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAEW,KAAK,CAAC,GAAN,CAA8C,GAA9C,CAFX;;AAAA;AAEN,sBAFM;AAAA,gDAGL,QAAQ,CAAC,IAHJ;;AAAA;AAAA;AAAA;AAKZ,qBAAO,CAAC,KAAR;AACA,6BAAe,CAAC,gCAAD,CAAf;;AANY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAX,WAAW;AAAA;AAAA;AAAA,KAAjB;;AAUA,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAG,kBAAO,IAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAEb,4BAFa,GAEI;AACnB,uBAAO,EAAE;AACL,2BAAS,EAAE,IAAI,CAAC,SAAL,CAAe,KADrB;AAEL,0BAAQ,EAAE,IAAI,CAAC,QAAL,CAAc,KAFnB;AAGL,4BAAU,EAAE,IAAI,CAAC,QAAL,CAAc,KAHrB;AAIL,6BAAW,EAAE,IAAI,CAAC,KAAL,CAAW;AAJnB;AADU,eAFJ;AAAA;AAAA;AAAA,qBAWQ,KAAK,CAAC,IAAN,CAAW,gDAAX,EAA4C,cAA5C,CAXR;;AAAA;AAWT,sBAXS;;AAAA,oBAYX,QAAQ,CAAC,MAAT,KAAoB,GAZT;AAAA;AAAA;AAAA;;AAaX,qBAAO,CAAC,GAAR,CAAY,2BAAZ;AAbW,gDAcJ,QAAQ,CAAC,IAdL;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAiBf,qBAAO,CAAC,KAAR;AACA,6BAAe,CAAC,gCAAD,CAAf;;AAlBe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAd,cAAc;AAAA;AAAA;AAAA,KAApB;;AAsBA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAI,aAAS,EAAC;AAAd,KAAqB,oGAArB,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KACI;AAAM,MAAE,EAAC,2BAAT;AAAqC,YAAQ,EAAE;AAA/C,KACK,MAAM,CAAC,IAAP,CAAY,QAAZ,EAAsB,GAAtB,CAA0B,UAAC,KAAD,EAAU;AACjC,QAAM,UAAU,GAAG,QAAQ,CAAC,KAAD,CAA3B;AACA,WAAO;AACH,eAAS,wBAAiB,UAAU,CAAC;AAAE,eAAO,UAAU,CAAC,IAAX,KAAoB;AAA7B,OAAD,EAAyC;AAAE,iBAAS,UAAU,CAAC,IAAX,KAAoB;AAA/B,OAAzC,CAA3B,CADN;AAEH,SAAG,EAAE,UAAU,CAAC;AAFb,OAGH,mCAAQ,UAAU,CAAC,KAAnB,CAHG,EAIH;AACI,cAAQ,EAAE,UAAU,CAAC,QADzB;AAEI,UAAI,EAAE,UAAU,CAAC,IAFrB;AAGI,UAAI,EAAE,UAAU,CAAC,IAHrB;AAII,WAAK,EAAE,UAAU,CAAC,KAJtB;AAKI,cAAQ,EAAE,YALd;AAMI,eAAS,EAAE,MAAM,CAAC,KAAD,CAAN,GAAgB,OAAhB,GAA0B;AANzC,MAJG,EAYF,MAAM,CAAC,KAAD,CAAN,IAAiB;AAAM,eAAS,EAAC;AAAhB,OAAqC,MAAM,CAAC,KAAD,CAA3C,CAZf,CAAP;AAcH,GAhBA,CADL,CADJ,EAoBI;AAAK,aAAS,EAAC;AAAf,KAAgC,YAAhC,CApBJ,EAqBI;AAAQ,QAAI,EAAC,2BAAb;AAAyC,aAAS,EAAC,eAAnD;AAAmE,QAAI,EAAC;AAAxE,KAAgF,0BAAhF,CArBJ,EAsBI;AAAK,aAAS,EAAC;AAAf,IAtBJ,CAFJ,CADJ;AA8BH,CAjND;;AAmNA,kBAAe,uCAAf,C;;;;;;;;;;;;;;ACpOA,IAAK,iBAAL;;AAAA,WAAK,iBAAL,EAAsB;AAClB;AACA;AACD,CAHH,EAAK,iBAAiB,KAAjB,iBAAiB,MAAtB;;AAGG;AAWU,mBAAW;AACpB,aAAW;AACP,SAAK,EAAE,OADA;AAEP,SAAK,EAAE,KAFA;AAGP,aAAS,EAAE,oBAHJ;AAIP,cAAU,EAAE,UAJL;AAKP,cAAU,EAAE,yCALL;AAMP,aAAS,EAAE,cANJ;AAOP,mBAAe,EAAE;AAPV,GADS;AAUpB,YAAU;AACN,SAAK,EAAE,MADD;AAEN,SAAK,EAAE,MAFD;AAGN,aAAS,EAAE,mBAHL;AAIN,cAAU,EAAE,UAJN;AAKN,cAAU,EAAE,yCALN;AAMN,aAAS,EAAE,aANL;AAON,mBAAe,EAAE;AAPX;AAVU,CAAX;;AAqBb,IAAM,6BAA6B,GAAG,SAAhC,6BAAgC,CAAC,KAAD,EAA8C;AAAA,MACxE,QADwE,GAClD,KADkD,CACxE,QADwE;AAAA,MAC9D,OAD8D,GAClD,KADkD,CAC9D,OAD8D;;AAKhF,MAAM,cAAc,GAAG,SAAjB,cAAiB,CAAC,YAAD,EAAiB;AACpC,WAAO,CAAC,YAAD,CAAP;AACA,YAAQ;AACX,GAHD;;AAIA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAA+B,4cAA/B,CADJ,EAKI;AAAK,aAAS,EAAC;AAAf,KAEQ,MAAM,CAAC,IAAP,CAAY,gBAAZ,EAAsB,GAAtB,CAA0B,UAAC,GAAD,EAAQ;AAC9B,QAAM,IAAI,GAAG,iBAAS,GAAT,CAAb;AACA,WACI;AAAK,SAAG,EAAE,GAAV;AAAe,eAAS,qBAAc,IAAI,CAAC,SAAnB;AAAxB,OACI;AAAK,eAAS,EAAC;AAAf,O,0DAAA,EAAwC,IAAI,CAAC,KAA7C,EAA0D,GAA1D,CADJ,EAEI;AAAK,eAAS,EAAC;AAAf,OAA6B,IAAI,CAAC,KAAL,CAAW,OAAX,CAAmB,CAAnB,CAA7B,CAFJ,EAGI;AAAK,eAAS,EAAC;AAAf,OAAuC,IAAI,CAAC,SAA5C,CAHJ,EAII;AAAQ,eAAS,EAAC,aAAlB;AAAgC,aAAO,EAAE;AAAA,eAAM,cAAc,CAAC,IAAD,CAApB;AAAA;AAAzC,OAAsE,IAAI,CAAC,UAA3E,CAJJ,EAKI;AAAK,eAAS,EAAC;AAAf,OAAkC,kIAAlC,E,GAAA,EAAkE,+BAAlE,E,GAAA,EAAwE;AAAG,UAAI,EAAC;AAAR,OAAgE,qEAAhE,CAAxE,CALJ,CADJ;AASH,GAXD,CAFR,CALJ,EAsBI;AAAK,aAAS,EAAC;AAAf,IAtBJ,CADJ;AA0BH,CAnCD;;AAqCA,kBAAe,6BAAf,C;;;;;;;;;;;;;;;AC9EA;;AAMA,IAAM,6CAA6C,GAAG,SAAhD,6CAAgD,CAAC,KAAD,EAA8D;AAAA,MAExG,KAFwG,GAE5E,KAF4E,CAExG,KAFwG;AAAA,MAEjG,gBAFiG,GAE5E,KAF4E,CAEjG,gBAFiG;;AAKhH,MAAM,iBAAiB,GAAG,SAApB,iBAAoB,CAAC,KAAD,EAAkB;AACxC,QAAI,gBAAgB,GAAG,KAAvB,EAA8B;AAC1B,aAAO,WAAP;AACH,KAFD,MAEO,IAAI,gBAAgB,KAAK,KAAzB,EAAgC;AACnC,aAAO,QAAP;AACH,KAFM,MAEA;AACH,aAAO,UAAP;AACH;AACJ,GARD;;AAUA,MAAM,oBAAoB,GAAG,SAAvB,oBAAuB,CAAC,KAAD,EAAkB;AAC3C,QAAM,OAAO,GAAG,KAAK,KAAK,CAA1B;AACA,QAAM,MAAM,GAAG,KAAK,KAAK,KAAK,CAAC,MAAN,GAAe,CAAxC;AACA,QAAM,KAAK,GAAG,OAAO,IAAI,MAAzB;AACA,QAAM,QAAQ,GAAG,KAAK,GAAG,gBAAzB;AAEA,6BAAkB,UAAU,CAAC;AAAE,aAAO,KAAT;AAAgB,eAAS,OAAzB;AAAkC,cAAQ,MAA1C;AAAkD,gBAAU;AAA5D,KAAD,CAA5B;AACH,GAPD;;AASA,MAAI,CAAC,KAAD,IAAU,KAAK,CAAC,MAAN,KAAiB,CAA3B,IAAgC,gBAAgB,IAAI,CAAxD,EAA2D;AACvD,WAAO,IAAP;AACH;;AAED,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAEQ,KAAK,CAAC,GAAN,CAAU,UAAC,IAAD,EAAO,KAAP;AAAA,WACN;AAAK,eAAS,EAAC,gBAAf;AAAgC,SAAG,EAAE;AAArC,OACK,KAAK,GAAG,KAAK,CAAC,MAAN,GAAe,CAAvB,IAA4B;AAAK,eAAS,oBAAa,oBAAoB,CAAC,KAAD,CAAjC;AAAd,MADjC,EAEI;AAAK,eAAS,iBAAU,iBAAiB,CAAC,KAAD,CAA3B;AAAd,MAFJ,EAGI;AAAK,eAAS,EAAC;AAAf,OAA6B,IAA7B,CAHJ,CADM;AAAA,GAAV,CAFR,CADJ,CADJ,CADJ;AAiBH,CA7CD;;AA+CA,kBAAe,6CAAf,C;;;;;;;;;;;;;;;;;;;;;;;ACrDA;;AACA;;AACA;;AACA;;AACA;;AAEa,mDAA2C,gBAAyC;AAAA,MAAtC,QAAsC,QAAtC,QAAsC;;AAAA,0BAE7C,iBAAiB,CAAjB,CAF6C;AAAA;AAAA,MAEtF,gBAFsF;AAAA,MAEpE,mBAFoE;;AAAA,2BAG9D,iBAA2B,IAA3B,CAH8D;AAAA;AAAA,MAGtF,YAHsF;AAAA,MAGzE,OAHyE;;AAK7F,MAAK,YAAL;;AAAA,aAAK,YAAL,EAAiB;AACb;AACA;AACA;AACA;AACH,GALD,EAAK,YAAY,KAAZ,YAAY,MAAjB;;AAOA,MAAM,KAAK,GAAG,MAAM,CAAC,MAAP,CAAc,YAAd,CAAd;;AAGA,MAAM,QAAQ,GAAG,SAAX,QAAW,GAAK;AAClB,uBAAmB,CAAC,IAAI,CAAC,GAAL,CAAS,gBAAgB,GAAG,CAA5B,EAA+B,KAAK,CAAC,MAAN,GAAe,CAA9C,CAAD,CAAnB;AACD,GAFH;;AAIA,MAAM,QAAQ,GAAG,SAAX,QAAW,GAAK;AAClB,uBAAmB,CAAE,IAAI,CAAC,GAAL,CAAS,gBAAgB,GAAG,CAA5B,EAA+B,CAA/B,CAAF,CAAnB;AACH,GAFD;;AAIA,MAAM,iBAAiB,GAAG,SAApB,iBAAoB,GAAK;AAC3B,YAAQ,KAAK,CAAC,gBAAD,CAAb;AACI,WAAK,YAAY,CAAC,WAAlB;AACI,eAAO,oBAAC,6CAAD,EAAoC;AAAC,kBAAQ,EAAE,QAAX;AAAqB,iBAAO,EAAE;AAA9B,SAApC,CAAP;;AACJ,WAAK,YAAY,CAAC,gBAAlB;AACI,eAAO,oBAAC,uDAAD,EAA8C;AAAC,kBAAQ,EAAE,QAAX;AAAqB,kBAAQ,EAAE;AAA/B,SAA9C,CAAP;;AACJ,WAAK,YAAY,CAAC,eAAlB;AACI,eAAO,oBAAC,sDAAD,EAA6C;AAAC,kBAAQ,EAAE,QAAX;AAAqB,kBAAQ,EAAE,QAA/B;AAAyC,sBAAY,EAAE;AAAvD,SAA7C,CAAP;;AACJ,WAAK,YAAY,CAAC,MAAlB;AACI,eAAO,oBAAC,qDAAD,EAAqC;AAAC,kBAAQ,EAAE;AAAX,SAArC,CAAP;;AACJ;AACI,eAAO,IAAP;AAVR;AAYH,GAbD;;AAiBA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAA+C,mGAA/C,CAFJ,EAGK,iBAAiB,EAHtB,CADJ;AAOH,CA/CY;;AAiDb,iDAAyC,cAAzC,GAA0D,0CAA1D,C;;;;;;;;;;;;;;;ACvDA;;AACA;;AASA,IAAM,4CAA4C,GAAG,SAA/C,4CAA+C,CAAC,KAAD,EAAuD;AAAA,MACjG,YADiG,GACjF,KADiF,CACjG,YADiG;;AAAA,8BAE3C,0BAAY,YAAY,CAAC,eAAzB,CAF2C;AAAA,MAEhG,cAFgG,yBAEhG,cAFgG;AAAA,MAEhF,UAFgF,yBAEhF,UAFgF;AAAA,MAEpE,KAFoE,yBAEpE,KAFoE;AAAA,MAE7D,aAF6D,yBAE7D,aAF6D;;AAGxG,MAAM,SAAS,GAAG,eAA0B,IAA1B,CAAlB;;AAHwG,aAIzD,KAAK,CAAC,YAAN,IAAsB,EAJmC;AAAA,wBAIhG,KAJgG;AAAA,MAIhG,KAJgG,2BAIxF,eAJwF;AAAA,wBAIvE,KAJuE;AAAA,MAIvE,KAJuE,2BAI/D,CAJ+D;;AASxG,oBAAU,YAAK;AACX,QAAI,cAAc,KAAK,WAAvB,EAAoC;AAChC,WAAK,CAAC,QAAN;AACH;AACJ,GAJD,EAIG,CAAC,cAAD,CAJH;AAMA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAI,aAAS,EAAC;AAAd,KAAqB,yDAArB,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAqB,6DAArB,EAAsC,kCAAO,KAAP,CAAtC,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAAqB,mEAArB,EAAuC,kCAAO,KAAK,CAAC,OAAN,CAAc,CAAd,CAAP,EAAmC,iBAAnC,CAAvC,CAFJ,CADJ,EAKI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,K,GAAA,EAA2B,mEAA3B,EAA6C,kCAAO,KAAK,CAAC,OAAN,CAAc,CAAd,CAAP,EAAmC,iBAAnC,CAA7C,CADJ,CALJ,CADJ,EAUI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAsB,wFAAtB,CADJ,EAEI;AAAQ,OAAG,EAAE,SAAb;AAA+B,OAAG,EAAE;AAApC,IAFJ,CAVJ,CAFJ,CADJ;AAsBH,CArCD;;AAuCA,kBAAe,4CAAf,C;;;;;;;;;;;;;;;AC1CA,IAAM,oCAAoC,GAAG,SAAvC,oCAAuC,CAAC,KAAD,EAA+C;AAExF,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAI,aAAS,EAAC;AAAd,KAAqB,4EAArB,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAA4B,4cAA5B,CAFJ,EAMI;AAAQ,aAAS,EAAC;AAAlB,KAAiC,iFAAjC,CANJ,EAOA;AAAK,aAAS,EAAC;AAAf,IAPA,CAFJ,CADJ;AAcH,CAhBD;;AAkBA,kBAAe,oCAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBA;;AACA;;AACA;;AACA;;AAkBA,IAAM,6CAA6C,GAAG,SAAhD,6CAAgD,CAAC,KAAD,EAAwD;AAAA,MAClG,QADkG,GACrF,KADqF,CAClG,QADkG;;AAAA,0BAE1E,iBAAc;AAC1C,SAAK,EAAE;AAAE,QAAE,EAAE,CAAN;AAAS,UAAI,EAAE,OAAf;AAAwB,UAAI,EAAE,MAA9B;AAAsC,WAAK,EAAE,OAA7C;AAAsD,cAAQ,EAAE,IAAhE;AAAsE,WAAK,EAAE,CAA7E;AAAgF,WAAK,EAAE;AAAvF,KADmC;AAE1C,aAAS,EAAE;AAAE,QAAE,EAAE,CAAN;AAAS,UAAI,EAAE,WAAf;AAA4B,UAAI,EAAE,MAAlC;AAA0C,WAAK,EAAE,SAAjD;AAA4D,WAAK,EAAE,CAAnE;AAAsE,WAAK,EAAE;AAA7E,KAF+B;AAG1C,YAAQ,EAAE;AAAE,QAAE,EAAE,CAAN;AAAS,UAAI,EAAE,UAAf;AAA2B,UAAI,EAAE,MAAjC;AAAyC,WAAK,EAAE,UAAhD;AAA4D,WAAK,EAAE,CAAnE;AAAsE,WAAK,EAAE;AAA7E,KAHgC;AAI1C,YAAQ,EAAE;AAAE,QAAE,EAAE,CAAN;AAAS,UAAI,EAAE,UAAf;AAA2B,UAAI,EAAE,MAAjC;AAAyC,WAAK,EAAE,KAAhD;AAAuD,WAAK,EAAE;AAA9D,KAJgC;AAK1C,SAAK,EAAE;AAAE,QAAE,EAAE,CAAN;AAAS,UAAI,EAAE,OAAf;AAAwB,UAAI,EAAE,MAA9B;AAAsC,WAAK,EAAE,MAA7C;AAAqD,WAAK,EAAE;AAA5D,KALmC;AAM1C,cAAU,EAAE;AACR,QAAE,EAAE,CADI;AACD,UAAI,EAAE,YADL;AACmB,UAAI,EAAE,UADzB;AAER,WAAK,EAAE,qJAFC;AAGR,WAAK,EAAE;AAHC;AAN8B,GAAd,CAF0E;AAAA;AAAA,MAEnG,QAFmG;AAAA,MAEzF,WAFyF;;AAAA,2BAelE,iBAAS,EAAT,CAfkE;AAAA;AAAA,MAenG,YAfmG;AAAA,MAerF,eAfqF;;AAAA,2BAgB9E,iBAAS,EAAT,CAhB8E;AAAA;AAAA,MAgBnG,MAhBmG;AAAA,MAgB3F,SAhB2F;;AAkB1G,MAAM,gBAAgB,GAAG;AACrB,aAAS,EAAE;AACP,cAAQ,EAAE,IADH;AAEP,aAAO,EAAE,UAFF;AAGP,cAAQ,EAAE,kBAAC,KAAD;AAAA,eAAmB,cAAc,IAAd,CAAmB,KAAnB,KAA6B,8BAAhD;AAAA;AAHH,KADU;AAMrB,YAAQ,EAAE;AACN,cAAQ,EAAE,IADJ;AAEN,aAAO,EAAE,UAFH;AAGN,cAAQ,EAAE,kBAAC,KAAD;AAAA,eAAmB,cAAc,IAAd,CAAmB,KAAnB,KAA6B,+BAAhD;AAAA;AAHJ,KANW;AAWrB,SAAK,EAAE;AACH,cAAQ,EAAE,IADP;AAEH,aAAO,EAAE,UAFN;AAGH,cAAQ,EAAE,kBAAC,KAAD;AAAA,eAAmB,YAAY,IAAZ,CAAiB,KAAjB,KAA2B,oBAA9C;AAAA;AAHP,KAXc;AAgBrB,YAAQ,EAAE;AACN,cAAQ,EAAE,IADJ;AAEN,aAAO,EAAE,UAFH;AAGN,cAAQ,EAAE,kBAAC,KAAD,EAAkB;AACxB,YAAM,gBAAgB,GAAG,SAAnB,gBAAmB,CAAC,EAAD,EAAwB;AAC7C,cAAI,CAAC,UAAU,IAAV,CAAe,EAAf,CAAL,EAAyB,OAAO,KAAP;AACzB,cAAM,OAAO,GAAG,EAAE,CAAC,KAAH,CAAS,EAAT,EAAa,GAAb,CAAiB,MAAjB,CAAhB;AACA,cAAI,GAAG,GAAG,CAAV;;AACA,eAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,CAApB,EAAuB,CAAC,EAAxB,EAA4B;AACxB,gBAAI,GAAG,GAAG,OAAO,CAAC,CAAD,CAAP,IAAc,CAAC,GAAG,CAAJ,KAAU,CAAV,GAAc,CAAd,GAAkB,CAAhC,CAAV;AACA,eAAG,IAAI,GAAG,GAAG,CAAN,GAAU,GAAG,GAAG,CAAhB,GAAoB,GAA3B;AACH;;AACD,iBAAO,GAAG,GAAG,EAAN,KAAa,CAApB;AACH,SATD;;AAWA,eAAO,gBAAgB,CAAC,KAAD,CAAhB,IAA2B,qBAAlC;AACH;AAhBK,KAhBW;AAkCrB,cAAU,EAAE;AACR,cAAQ,EAAE,IADF;AAER,aAAO,EAAE,wBAFD;AAGR,cAAQ,EAAE,kBAAC,KAAD;AAAA,eAAoB,KAAK,IAAI,wBAA7B;AAAA;AAHF;AAlCS,GAAzB;;AA2CA,MAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,IAAD,EAAO,KAAP,EAAgB;AAClC,QAAM,MAAM,GAAG,gBAAgB,CAAC,IAAD,CAA/B;AACA,QAAI,CAAC,MAAL,EAAa,OAAO,EAAP;;AACb,QAAI,MAAM,CAAC,QAAX,EAAqB;AACjB,UAAI,OAAO,KAAP,KAAiB,SAAjB,IAA8B,CAAC,KAAnC,EAA0C,OAAO,MAAM,CAAC,OAAd;AAC1C,UAAI,OAAO,KAAP,KAAiB,QAAjB,IAA6B,CAAC,KAAK,CAAC,IAAN,EAAlC,EAAgD,OAAO,MAAM,CAAC,OAAd;AACnD;;AACD,QAAI,MAAM,CAAC,QAAX,EAAqB;AACjB,aAAO,OAAO,MAAM,CAAC,QAAP,CAAgB,KAAhB,CAAP,KAAkC,SAAlC,GAA8C,EAA9C,GAAmD,MAAM,CAAC,QAAP,CAAgB,KAAhB,CAA1D;AACH;;AACD,WAAO,EAAP;AACH,GAXD;;AAcA,MAAM,YAAY,GAAG,SAAf,YAAe,CAAC,CAAD,EAAM;AAAA,oBACD,CAAC,CAAC,MADD;AAAA,QACjB,IADiB,aACjB,IADiB;AAAA,QACX,KADW,aACX,KADW;;AAGvB,QAAI,IAAI,KAAK,YAAb,EAA2B;AACvB,WAAK,GAAG,CAAC,CAAC,MAAF,CAAS,OAAjB;AACH;;AAED,eAAW,CAAC,sBAAY;AAAA,aAAI,kBACrB,YADqB,sBAEvB,IAFuB,EAElB,kBAAO,YAAY,CAAC,IAAD,CAAnB,EAAyB;AAAE,aAAK,EAAL;AAAF,OAAzB,CAFkB,EAAJ;AAAA,KAAb,CAAX;AAKA,aAAS,CAAC,UAAC,UAAD;AAAA,aAAgB,kBACnB,UADmB,sBAErB,IAFqB,EAEd,aAAa,CAAC,IAAD,EAAO,KAAP,CAFC,EAAhB;AAAA,KAAD,CAAT;AAKH,GAjBD;;AAoBA,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAG,iBAAO,CAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACjB,eAAC,CAAC,cAAF;AAEI,uBAHa,GAGD,EAHC;AAIb,qBAJa,GAIH,IAJG;AAMjB,oBAAM,CAAC,IAAP,CAAY,QAAZ,EAAsB,OAAtB,CAA8B,UAAC,GAAD,EAAQ;AAClC,oBAAM,YAAY,GAAG,aAAa,CAAC,GAAD,EAAM,QAAQ,CAAC,GAAD,CAAR,CAAc,KAApB,CAAlC;;AACA,oBAAI,YAAJ,EAAkB;AACd,2BAAS,CAAC,GAAD,CAAT,GAAiB,YAAjB;AACA,yBAAO,GAAG,KAAV;AACH;AACJ,eAND;AAQA,uBAAS,CAAC,SAAD,CAAT;;AAdiB,kBAgBZ,OAhBY;AAAA;AAAA;AAAA;;AAiBb,qBAAO,CAAC,GAAR,CAAY,kBAAZ,EAAgC,SAAhC;AAjBa;;AAAA;AAAA;AAAA,qBAqBM,cAAc,CAAC,QAAD,CArBpB;;AAAA;AAqBX,sBArBW;;AAsBjB,kBAAI,QAAJ,EAAc;AACV,uBAAO,CAAC,GAAR,CAAY,8BAAZ,EAA4C,QAA5C;AACA,wBAAQ;AACX;;AAzBgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAZ,YAAY;AAAA;AAAA;AAAA,KAAlB;;AA6BA,oBAAU,YAAK;AAAA,aACI,SADJ;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,8BACX;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAC2B,WAAW,CAAC,6CAAD,CADtC;;AAAA;AAAA;AACY,oBADZ,SACY,IADZ;AAEI,2BAAW,CAAC,sBAAY;AAAA,yBAAI,kBACrB,YADqB,EACT;AACf,yBAAK,oBAAO,YAAY,CAAC,KAApB,EAAyB;AAAE,2BAAK,EAAE,IAAI,CAAC,KAAL,IAAc;AAAvB,qBAAzB,CADU;AAEf,6BAAS,oBAAO,YAAY,CAAC,SAApB,EAA6B;AAAE,2BAAK,EAAE,IAAI,CAAC,SAAL,IAAkB;AAA3B,qBAA7B,CAFM;AAGf,4BAAQ,oBAAO,YAAY,CAAC,QAApB,EAA4B;AAAE,2BAAK,EAAE,IAAI,CAAC,QAAL,IAAiB;AAA1B,qBAA5B,CAHO;AAIf,4BAAQ,oBAAO,YAAY,CAAC,QAApB,EAA4B;AAAE,2BAAK,EAAE,IAAI,CAAC,UAAL,IAAmB;AAA5B,qBAA5B,CAJO;AAKf,yBAAK,oBAAO,YAAY,CAAC,KAApB,EAAyB;AAAE,2BAAK,EAAE,IAAI,CAAC,WAAL,IAAoB;AAA7B,qBAAzB;AALU,mBADS,CAAJ;AAAA,iBAAb,CAAX;;AAFJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OADW;AAAA;AAAA;;AAYX,aAAS;AACZ,GAbD,EAaG,EAbH;;AAeA,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAG,kBAAO,GAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAEW,KAAK,CAAC,GAAN,CAA8C,GAA9C,CAFX;;AAAA;AAEN,sBAFM;AAAA,gDAGL,QAAQ,CAAC,IAHJ;;AAAA;AAAA;AAAA;AAKZ,qBAAO,CAAC,KAAR;AACA,6BAAe,CAAC,gCAAD,CAAf;;AANY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAX,WAAW;AAAA;AAAA;AAAA,KAAjB;;AAYA,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAG,kBAAO,IAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAEb,4BAFa,GAEI;AACnB,uBAAO,EAAE;AACL,2BAAS,EAAE,IAAI,CAAC,SAAL,CAAe,KADrB;AAEL,0BAAQ,EAAE,IAAI,CAAC,QAAL,CAAc,KAFnB;AAGL,4BAAU,EAAE,IAAI,CAAC,QAAL,CAAc,KAHrB;AAIL,6BAAW,EAAE,IAAI,CAAC,KAAL,CAAW;AAJnB;AADU,eAFJ;AAAA;AAAA;AAAA,qBAWQ,KAAK,CAAC,IAAN,CAAW,gDAAX,EAA4C,cAA5C,CAXR;;AAAA;AAWT,sBAXS;;AAAA,oBAYX,QAAQ,CAAC,MAAT,KAAoB,GAZT;AAAA;AAAA;AAAA;;AAaX,qBAAO,CAAC,GAAR,CAAY,2BAAZ;AAbW,gDAcJ,QAAQ,CAAC,IAdL;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAiBf,qBAAO,CAAC,KAAR;AACA,6BAAe,CAAC,gCAAD,CAAf;;AAlBe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAd,cAAc;AAAA;AAAA;AAAA,KAApB;;AAuBA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAI,aAAS,EAAC;AAAd,KAAqB,oGAArB,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAA6B,QAAQ,CAAC,OAAD,CAAR,CAAkB,KAA/C,CAFJ,EAGI;AAAK,aAAS,EAAC;AAAf,KACI;AAAM,MAAE,EAAC,2BAAT;AAAqC,YAAQ,EAAE;AAA/C,KACK,MAAM,CAAC,IAAP,CAAY,QAAZ,EAAsB,GAAtB,CAA0B,UAAC,KAAD,EAAU;AACjC,QAAM,UAAU,GAAG,QAAQ,CAAC,KAAD,CAA3B;AACA,WAAO;AACH,eAAS,wBAAiB,UAAU,CAAC;AAAE,iBAAS,UAAU,CAAC,IAAX,KAAoB;AAA/B,OAAD,CAA3B,CADN;AAEH,SAAG,EAAE,UAAU,CAAC;AAFb,OAGH;AACI,iBAAW,EAAE,UAAU,CAAC,KAD5B;AAEI,cAAQ,EAAE,UAAU,CAAC,QAFzB;AAGI,UAAI,EAAE,UAAU,CAAC,IAHrB;AAII,UAAI,EAAE,UAAU,CAAC,IAJrB;AAKI,WAAK,EAAE,UAAU,CAAC,KALtB;AAMI,cAAQ,EAAE,YANd;AAOI,eAAS,EAAE,MAAM,CAAC,KAAD,CAAN,GAAgB,OAAhB,GAA0B,EAPzC;AAQI,YAAM,EAAE,UAAU,CAAC,IAAX,KAAoB;AARhC,MAHG,EAaF,UAAU,CAAC,IAAX,KAAoB,YAApB,IAAoC,mCAAQ,UAAU,CAAC,KAAnB,CAblC,EAcF,MAAM,CAAC,KAAD,CAAN,IAAiB;AAAM,eAAS,EAAC;AAAhB,OAAqC,MAAM,CAAC,KAAD,CAA3C,CAdf,CAAP;AAgBH,GAlBA,CADL,EAoBI;AAAK,aAAS,EAAC;AAAf,KAAgC,YAAhC,CApBJ,EAqBI;AAAQ,QAAI,EAAC,2BAAb;AAAyC,aAAS,EAAC,eAAnD;AAAmE,QAAI,EAAC;AAAxE,KAAgF,0BAAhF,CArBJ,CADJ,CAHJ,CADJ;AAgCH,CA9MD;;AAgNA,kBAAe,6CAAf,C;;;;;;;;;;;;;;AC/NA,IAAK,iBAAL;;AAAA,WAAK,iBAAL,EAAsB;AAClB;AACA;AACH,CAHD,EAAK,iBAAiB,KAAjB,iBAAiB,MAAtB;;AAGC;AAaY,mBAAW;AACpB,aAAW;AACP,SAAK,EAAE,OADA;AAEP,SAAK,EAAE,KAFA;AAGP,aAAS,EAAE,oBAHJ;AAIP,cAAU,EAAE,UAJL;AAKP,aAAS,EAAE,cALJ;AAMP,mBAAe,EAAE;AANV,GADS;AAUpB,YAAU;AACN,SAAK,EAAE,MADD;AAEN,SAAK,EAAE,MAFD;AAGN,aAAS,EAAE,mBAHL;AAIN,cAAU,EAAE,UAJN;AAKN,aAAS,EAAE,aALL;AAMN,mBAAe,EAAE;AANX;AAVU,CAAX;;AAoBb,IAAM,mCAAmC,GAAG,SAAtC,mCAAsC,CAAC,KAAD,EAA8C;AAAA,MAC9E,QAD8E,GACxD,KADwD,CAC9E,QAD8E;AAAA,MACpE,OADoE,GACxD,KADwD,CACpE,OADoE;;AAItF,MAAM,cAAc,GAAG,SAAjB,cAAiB,CAAC,YAAD,EAAiB;AACpC,WAAO,CAAC,YAAD,CAAP;AACA,YAAQ;AACX,GAHD;;AAQA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,K,uJAAA,EACiC,+BADjC,E,kHAAA,EAE0B,+BAF1B,EAIM,uMAJN,CADJ,EAMI;AAAK,aAAS,EAAC;AAAf,KAEQ,MAAM,CAAC,IAAP,CAAY,gBAAZ,EAAsB,GAAtB,CAA0B,UAAC,GAAD,EAAQ;AAC9B,QAAM,IAAI,GAAG,iBAAS,GAAT,CAAb;AACA,WACI;AAAK,SAAG,EAAE,GAAV;AAAe,eAAS,qBAAc,IAAI,CAAC,SAAnB;AAAxB,OACI;AAAK,eAAS,EAAC;AAAf,O,0DAAA,EAAwC,IAAI,CAAC,KAA7C,EAA0D,GAA1D,CADJ,EAEI;AAAK,eAAS,EAAC;AAAf,OACI;AAAK,eAAS,EAAC;AAAf,OACI,kCAAO,IAAI,CAAC,KAAL,CAAW,OAAX,CAAmB,CAAnB,CAAP,CADJ,EAEI;AAAK,eAAS,EAAC;AAAf,OAAuC,IAAI,CAAC,SAA5C,CAFJ,CADJ,EAKI;AAAQ,eAAS,EAAC,aAAlB;AAAgC,aAAO,EAAE;AAAA,eAAM,cAAc,CAAC,IAAD,CAApB;AAAA;AAAzC,OAAsE,IAAI,CAAC,UAA3E,CALJ,CAFJ,EASI;AAAK,eAAS,EAAC;AAAf,OACI,kIADJ,E,GAAA,EAEI;AAAG,UAAI,EAAC;AAAR,OAAgE,qEAAhE,CAFJ,EAGI;AAAG,UAAI,EAAC;AAAR,OAA4F,uFAA5F,CAHJ,CATJ,CADJ;AAiBH,GAnBD,CAFR,CANJ,CADJ;AAkCH,CA9CD;;AAgDA,kBAAe,mCAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1FA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AAEA;;AACA;;AACA;;AACA;;AAkBa,0CAAkC,UAAC,KAAD,EAA+B;AAAA,0BAClD,iBAAwB,IAAxB,CADkD;AAAA;AAAA,MACnE,IADmE;AAAA,MAC7D,OAD6D;;AAAA,2BAEhC,iBAAS,KAAT,CAFgC;AAAA;AAAA,MAEnE,aAFmE;AAAA,MAEpD,gBAFoD;;AAAA,2BAG9B,iBAAS,KAAT,CAH8B;AAAA;AAAA,MAGnE,cAHmE;AAAA,MAGnD,iBAHmD;;AAAA,MAIlE,SAJkE,GAIpD,KAJoD,CAIlE,SAJkE;AAO1E,oBAAU,YAAK;AACP,QAAM,WAAW,GAAG,+BAApB;AACA,WAAO,CAAC,WAAD,CAAP;AACP,GAHD,EAGG,EAHH;;AAMA,MAAM,oBAAoB,GAAG,SAAvB,oBAAuB,CAAC,KAAD,EAA0B;AACnD,WAAO,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAP;AACH,GAFD;;AAIA,MAAM,gBAAgB,GAAG,SAAnB,gBAAmB,GAAK;AAC1B,oBAAgB,CAAC,CAAC,aAAF,CAAhB;AACH,GAFD;;AAIA,MAAM,YAAY,GAAG,SAAf,YAAe,GAAK;AACtB,QAAI,KAAK,GAAG,EAAZ;;AACA,QAAI,IAAJ,EAAU;AACN,WAAK,GAAG,IAAI,CAAC,WAAb;;AACA,UAAI,IAAI,CAAC,WAAL,CAAiB,QAAjB,CAA0B,GAA1B,CAAJ,EAAoC;AAChC,aAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAN,CAA5B;AACH;;AACD,aAAO;AAAK,eAAO,EAAE;AAAd,S,4BAAA,EAAsC;AAAM,iBAAS,EAAC;AAAhB,SAAwB,KAAxB,CAAtC,CAAP;AACH;;AACD,WAAO,iGAAP;AACH,GAVD;;AAYA,MAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAClB,KAAK,CAAC,IAAN,CAAW,oCAAX,CADkB;;AAAA;AAExB;AACA,oBAAM,CAAC,QAAP,CAAgB,MAAhB;;AAHwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAnB,mBAAmB;AAAA;AAAA;AAAA,KAAzB;;AAMA,MAAM,WAAW,GAAG,SAAd,WAAc,GAAK;AACrB,qBAAiB,CAAC,CAAC,cAAF,CAAjB;AACA,YAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,SAApB,GAAgC,cAAc,GAAG,MAAH,GAAY,QAA1D;AACA,YAAQ,CAAC,IAAT,CAAc,SAAd,CAAwB,MAAxB,CAA+B,OAA/B;AACH,GAJD;;AAMA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAI,aAAS,EAAC;AAAd,KACI;AAAI,aAAS,EAAC;AAAd,KACI;AAAG,QAAI,EAAC,qCAAR;AAA8C,aAAS,EAAC;AAAxD,KACI;AAAK,OAAG,EAAC,SAAT;AAAmB,aAAS,EAAC;AAA7B,IADJ,EAEI,2FAFJ,CADJ,CADJ,EAOI;AAAI,aAAS,EAAC;AAAd,KACI;AAAG,QAAI,EAAC,yCAAR;AAAkD,aAAS,EAAC;AAA5D,KACI;AAAK,OAAG,EAAC,UAAT;AAAoB,aAAS,EAAC;AAA9B,IADJ,EAEI,wEAFJ,CADJ,CAPJ,EAaI;AAAI,aAAS,EAAC;AAAd,KACI;AAAG,QAAI,EAAC,GAAR;AAAY,aAAS,EAAC;AAAtB,KACI;AAAK,OAAG,EAAC,WAAT;AAAqB,aAAS,EAAC;AAA/B,IADJ,EAEI,qIAFJ,CADJ,CAbJ,EAmBI;AAAI,aAAS,EAAC;AAAd,KAA0B,iCAA1B,CAnBJ,EAoBI;AAAI,aAAS,EAAC;AAAd,KACI;AAAG,QAAI,EAAC,GAAR;AAAY,aAAS,EAAC;AAAtB,KACI;AAAK,OAAG,EAAC,MAAT;AAAgB,aAAS,EAAC;AAA1B,IADJ,EAEK,YAAY,EAFjB,CADJ,CApBJ,CADJ,EA4BK,aAAa,IACV;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC,WAAf;AAA2B,WAAO,EAAE;AAAA,aAAM,KAAI,CAAC,cAAL,CAAoB,aAApB,CAAN;AAAA;AAApC,KACI;AAAG,QAAI,EAAC;AAAR,KAAW,+DAAX,CADJ,CADJ,EAII;AAAK,aAAS,EAAC,WAAf;AAA2B,WAAO,EAAE;AAAA,aAAM,KAAI,CAAC,cAAL,CAAoB,aAApB,CAAN;AAAA;AAApC,KACI;AAAG,QAAI,EAAC;AAAR,KAAW,qEAAX,CADJ,CAJJ,EAOI;AAAK,aAAS,EAAC,WAAf;AAA2B,WAAO,EAAE;AAAA,aAAM,KAAI,CAAC,cAAL,CAAoB,aAApB,CAAN;AAAA;AAApC,KACI;AAAG,QAAI,EAAC;AAAR,KAAW,+DAAX,CADJ,CAPJ,EAUK,SAAS,CAAC,GAAV,CAAc,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC3B,WACI;AAAK,eAAS,EAAC,WAAf;AAA2B,SAAG,EAAE,KAAhC;AAAuC,QAAE,EAAE,IAAI,CAAC,EAAhD;AAAoD,aAAO,EAAE;AAAA,eAAM,KAAI,CAAC,cAAL,CAAoB,IAAI,CAAC,IAAzB,CAAN;AAAA;AAA7D,OACI,oBAAC,4BAAD,EAAiB;AAAC,UAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,gBAAU,EAAE,IAAI,CAAC;AAAnC,KAAjB,EACK,IAAI,CAAC,IADV,CADJ,CADJ;AAOH,GARA,CAVL,EAmBI;AAAK,WAAO,EAAE,WAAd;AAA2B,aAAS,EAAC;AAArC,KAAgD,4CAAhD,CAnBJ,CA7BR,EAmDK,cAAc,IACX,0CACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAsC,mGAAtC,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,IAFJ,CADJ,EAKI;AAAK,aAAS,EAAC;AAAf,KAAqB,uOAArB,CALJ,EASI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,WAAO,EAAE,WAAd;AAA2B,aAAS,EAAC;AAArC,KAAkD,0BAAlD,CADJ,EAEI;AAAK,WAAO,EAAE,mBAAd;AAAmC,aAAS,EAAC;AAA7C,KAA4D,8CAA5D,CAFJ,CATJ,CADJ,CAFJ,CApDR,CADJ;AA4EH,CAzHY;;AA0Hb,wCAAgC,cAAhC,GAAiD,iCAAjD,C;;;;;;;;;;;;;;;AClJA;;AACA;;AACA;;AAEA,IAAM,mCAAmC,GAAG,SAAtC,mCAAsC,GAAK;AAE7C,MAAM,IAAI,GAAG,CACT;AACI,SAAK,EAAE,YADX;AAEI,WAAO,EAAE,oBAAC,kDAAD,EAAyC,IAAzC;AAFb,GADS,EAKT;AACI,SAAK,EAAE,gBADX;AAEI,WAAO,EAAE,oBAAC,iDAAD,EAAuC,IAAvC;AAFb,GALS,CAAb;AAWA,SACI;AAAK,aAAS,EAAC;AAAf,KACI,oBAAC,8CAAD,EAA8B;AAAC,QAAI,EAAE;AAAP,GAA9B,CADJ,CADJ;AAKH,CAlBD;;AAoBA,kBAAe,mCAAf;AAEA,mCAAmC,CAAC,cAApC,GAAqD,qCAArD,C;;;;;;;;;;;;;;;;;;;;;;;ACxBA;;AAYA,IAAM,6BAA6B,GAAG,SAAhC,6BAAgC,OAAwB;AAAA,MAArB,IAAqB,QAArB,IAAqB;;AAAA,0BACpB,iBAAS,CAAT,CADoB;AAAA;AAAA,MACnD,WADmD;AAAA,MACtC,cADsC;;AAG1D,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,QAAI,EAAC,SAAV;AAAoB,aAAS,EAAC;AAA9B,KACK,IAAI,CAAC,GAAL,CAAS,UAAC,GAAD,EAAM,KAAN;AAAA,WACN;AACI,SAAG,EAAE,KADT;AAEI,UAAI,EAAC,KAFT;AAEc,uBACK,WAAW,KAAK,KAHnC;AAII,eAAS,uBAAgB,WAAW,KAAK,KAAhB,GAAwB,QAAxB,GAAmC,EAAnD,CAJb;AAKI,aAAO,EAAE;AAAA,eAAM,cAAc,CAAC,KAAD,CAApB;AAAA;AALb,OAOK,GAAG,CAAC,KAPT,CADM;AAAA,GAAT,CADL,CADJ,EAcI;AAAK,QAAI,EAAC,UAAV;AAAqB,aAAS,EAAC;AAA/B,KACK,IAAI,CAAC,WAAD,CAAJ,CAAkB,OADvB,CAdJ,CADJ;AAoBH,CAvBD;;AAyBA,kBAAe,6BAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCA;;AAEA;;AACA;;AAqBA,IAAM,wCAAwC,GAAG,SAA3C,wCAA2C,GAAK;AAAA,0BAElB,iBAAc;AAC1C,aAAS,EAAE;AAAE,QAAE,EAAE,CAAN;AAAS,UAAI,EAAE,WAAf;AAA4B,UAAI,EAAE,MAAlC;AAA0C,WAAK,EAAE,SAAjD;AAA4D,WAAK,EAAE,CAAnE;AAAsE,WAAK,EAAE;AAA7E,KAD+B;AAE1C,SAAK,EAAE;AAAE,QAAE,EAAE,CAAN;AAAS,UAAI,EAAE,OAAf;AAAwB,UAAI,EAAE,MAA9B;AAAsC,WAAK,EAAE,OAA7C;AAAsD,cAAQ,EAAE,IAAhE;AAAsE,WAAK,EAAE,CAA7E;AAAgF,WAAK,EAAE;AAAvF,KAFmC;AAG1C,YAAQ,EAAE;AAAE,QAAE,EAAE,CAAN;AAAS,UAAI,EAAE,UAAf;AAA2B,UAAI,EAAE,MAAjC;AAAyC,WAAK,EAAE,UAAhD;AAA4D,WAAK,EAAE,CAAnE;AAAsE,WAAK,EAAE;AAA7E,KAHgC;AAI1C,SAAK,EAAE;AAAE,QAAE,EAAE,CAAN;AAAS,UAAI,EAAE,OAAf;AAAwB,UAAI,EAAE,MAA9B;AAAsC,WAAK,EAAE,YAA7C;AAA2D,WAAK,EAAE,EAAlE;AAAqE,WAAK,EAAE;AAA5E;AAJmC,GAAd,CAFkB;AAAA;AAAA,MAE3C,QAF2C;AAAA,MAEjC,WAFiC;;AAAA,2BAStB,iBAAS,EAAT,CATsB;AAAA;AAAA,MAS3C,MAT2C;AAAA,MASnC,SATmC;;AAAA,2BAUV,iBAAS,EAAT,CAVU;AAAA;AAAA,MAU3C,YAV2C;AAAA,MAU7B,eAV6B;;AAAA,2BAWZ,iBAAS,KAAT,CAXY;AAAA;AAAA,MAW3C,WAX2C;AAAA,MAW9B,cAX8B;;AAYlD,MAAM,gBAAgB,GAAG;AACrB,SAAK,EAAE;AACH,cAAQ,EAAE,KADP;AAEH,aAAO,EAAE,UAFN;AAGH,cAAQ,EAAE,kBAAC,KAAD;AAAA,eAAmB,6BAA6B,IAA7B,CAAkC,KAAlC,KAA4C,qBAA/D;AAAA;AAHP,KADc;AAMrB,aAAS,EAAE;AACP,cAAQ,EAAE,KADH;AAEP,aAAO,EAAE,UAFF;AAGP,cAAQ,EAAE,kBAAC,KAAD;AAAA,eAAmB,2BAA2B,IAA3B,CAAgC,KAAhC,KAA0C,8BAA7D;AAAA;AAHH,KANU;AAWrB,YAAQ,EAAE;AACN,cAAQ,EAAE,KADJ;AAEN,aAAO,EAAE,UAFH;AAGN,cAAQ,EAAE,kBAAC,KAAD;AAAA,eAAmB,2BAA2B,IAA3B,CAAgC,KAAhC,KAA0C,+BAA7D;AAAA;AAHJ,KAXW;AAgBrB,SAAK,EAAE;AACH,cAAQ,EAAE,IADP;AAEH,aAAO,EAAE,UAFN;AAGH,cAAQ,EAAE,kBAAC,KAAD;AAAA,eAAmB,YAAY,IAAZ,CAAiB,KAAjB,KAA2B,oBAA9C;AAAA;AAHP;AAhBc,GAAzB;;AAwBA,MAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,IAAD,EAAO,KAAP,EAAgB;AAClC,QAAM,MAAM,GAAG,gBAAgB,CAAC,IAAD,CAA/B;AACA,QAAI,CAAC,MAAL,EAAa,OAAO,EAAP;;AACb,QAAI,MAAM,CAAC,QAAX,EAAqB;AACjB,UAAI,OAAO,KAAP,KAAiB,SAAjB,IAA8B,CAAC,KAAnC,EAA0C,OAAO,MAAM,CAAC,OAAd;AAC1C,UAAI,OAAO,KAAP,KAAiB,QAAjB,IAA6B,CAAC,KAAK,CAAC,IAAN,EAAlC,EAAgD,OAAO,MAAM,CAAC,OAAd;AACnD;;AACD,QAAI,MAAM,CAAC,QAAX,EAAqB;AACjB,aAAO,OAAO,MAAM,CAAC,QAAP,CAAgB,KAAhB,CAAP,KAAkC,SAAlC,GAA8C,EAA9C,GAAmD,MAAM,CAAC,QAAP,CAAgB,KAAhB,CAA1D;AACH;;AACD,WAAO,EAAP;AACH,GAXD;;AAcA,MAAM,YAAY,GAAG,SAAf,YAAe,CAAC,CAAD,EAAM;AAAA,oBACD,CAAC,CAAC,MADD;AAAA,QACjB,IADiB,aACjB,IADiB;AAAA,QACX,KADW,aACX,KADW;AAEvB,kBAAc,CAAC,KAAD,CAAd;AAEA,eAAW,CAAC,sBAAY;AAAA,aAAI,kBACrB,YADqB,sBAEvB,IAFuB,EAElB,kBAAO,YAAY,CAAC,IAAD,CAAnB,EAAyB;AAAE,aAAK,EAAL;AAAF,OAAzB,CAFkB,EAAJ;AAAA,KAAb,CAAX;AAKA,aAAS,CAAC,UAAC,UAAD;AAAA,aAAgB,kBACnB,UADmB,sBAErB,IAFqB,EAEd,aAAa,CAAC,IAAD,EAAO,KAAP,CAFC,EAAhB;AAAA,KAAD,CAAT;AAKH,GAdD;;AAiBA,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAG,iBAAO,CAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACjB,eAAC,CAAC,cAAF;AAEI,uBAHa,GAGD,EAHC;AAIb,qBAJa,GAIH,IAJG;AAMjB,oBAAM,CAAC,IAAP,CAAY,QAAZ,EAAsB,OAAtB,CAA8B,UAAC,GAAD,EAAQ;AAClC,oBAAM,YAAY,GAAG,aAAa,CAAC,GAAD,EAAM,QAAQ,CAAC,GAAD,CAAR,CAAc,KAApB,CAAlC;;AACA,oBAAI,YAAJ,EAAkB;AACd,2BAAS,CAAC,GAAD,CAAT,GAAiB,YAAjB;AACA,yBAAO,GAAG,KAAV;AACH;AACJ,eAND;AAQA,uBAAS,CAAC,SAAD,CAAT;;AAdiB,kBAgBZ,OAhBY;AAAA;AAAA;AAAA;;AAiBb,qBAAO,CAAC,GAAR,CAAY,kBAAZ,EAAgC,SAAhC;AAjBa;;AAAA;AAAA;AAAA,qBAqBM,cAAc,CAAC,QAAD,CArBpB;;AAAA;AAqBX,sBArBW;;AAsBjB,kBAAI,QAAJ,EAAc;AACV,uBAAO,CAAC,GAAR,CAAY,8BAAZ,EAA4C,QAA5C;AACA,8BAAc,CAAC,IAAD,CAAd;AACH;;AAzBgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAZ,YAAY;AAAA;AAAA;AAAA,KAAlB;;AA6BA,oBAAU,YAAK;AAAA,aACI,SADJ;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,8BACX;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAC2B,WAAW,CAAC,6CAAD,CADtC;;AAAA;AAAA;AACY,oBADZ,SACY,IADZ;AAEI,2BAAW,CAAC,sBAAY;AAAA,yBAAI,kBACrB,YADqB,EACT;AACf,yBAAK,oBAAO,YAAY,CAAC,KAApB,EAAyB;AAAE,2BAAK,EAAE,IAAI,CAAC;AAAd,qBAAzB,CADU;AAEf,6BAAS,oBAAO,YAAY,CAAC,SAApB,EAA6B;AAAE,2BAAK,EAAE,IAAI,CAAC,SAAL,IAAkB;AAA3B,qBAA7B,CAFM;AAGf,4BAAQ,oBAAO,YAAY,CAAC,QAApB,EAA4B;AAAE,2BAAK,EAAE,IAAI,CAAC,QAAL,IAAiB;AAA1B,qBAA5B,CAHO;AAIf,yBAAK,oBAAO,YAAY,CAAC,KAApB,EAAyB;AAAE,2BAAK,EAAE,IAAI,CAAC,WAAL,IAAoB;AAA7B,qBAAzB;AAJU,mBADS,CAAJ;AAAA,iBAAb,CAAX;;AAFJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OADW;AAAA;AAAA;;AAWX,aAAS;AACZ,GAZD,EAYG,EAZH;;AAcA,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAG,kBAAO,GAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAEW,KAAK,CAAC,GAAN,CAA8C,GAA9C,CAFX;;AAAA;AAEN,sBAFM;AAAA,gDAGL,QAAQ,CAAC,IAHJ;;AAAA;AAAA;AAAA;AAKZ,qBAAO,CAAC,KAAR;AACA,6BAAe,CAAC,gCAAD,CAAf;;AANY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAX,WAAW;AAAA;AAAA;AAAA,KAAjB;;AAUA,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAG,kBAAO,IAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAEb,4BAFa,GAEI;AACnB,uBAAO,EAAE;AACL,2BAAS,EAAE,IAAI,CAAC,SAAL,CAAe,KADrB;AAEL,0BAAQ,EAAE,IAAI,CAAC,QAAL,CAAc,KAFnB;AAGL,6BAAW,EAAE,IAAI,CAAC,KAAL,CAAW,KAHnB;AAIL,4BAAU,EAAC;AAJN;AADU,eAFJ;AAAA;AAAA;AAAA,qBAWQ,KAAK,CAAC,IAAN,CAAW,gDAAX,EAA4C,cAA5C,CAXR;;AAAA;AAWT,sBAXS;;AAAA,oBAYX,QAAQ,CAAC,MAAT,KAAoB,GAZT;AAAA;AAAA;AAAA;;AAaX,qBAAO,CAAC,GAAR,CAAY,2BAAZ;AAbW,gDAcJ,QAAQ,CAAC,IAdL;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAiBf,qBAAO,CAAC,KAAR;AACA,6BAAe,CAAC,gCAAD,CAAf;;AAlBe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAd,cAAc;AAAA;AAAA;AAAA,KAApB;;AAsBA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAM,MAAE,EAAC,2BAAT;AAAqC,YAAQ,EAAE;AAA/C,KACK,MAAM,CAAC,IAAP,CAAY,QAAZ,EAAsB,GAAtB,CAA0B,UAAC,KAAD,EAAU;AACjC,QAAM,UAAU,GAAG,QAAQ,CAAC,KAAD,CAA3B;AACA,WAAO;AACH,eAAS,eADN;AAEH,WAAK,EAAE;AAAE,aAAK,EAAE,UAAU,CAAC;AAApB,OAFJ;AAGH,SAAG,EAAE,UAAU,CAAC;AAHb,OAIH,mCAAQ,UAAU,CAAC,KAAnB,CAJG,EAKH;AACI,cAAQ,EAAE,UAAU,CAAC,QADzB;AAEI,UAAI,EAAE,UAAU,CAAC,IAFrB;AAGI,UAAI,EAAE,UAAU,CAAC,IAHrB;AAII,WAAK,EAAE,UAAU,CAAC,KAJtB;AAKI,cAAQ,EAAE,YALd;AAMI,eAAS,EAAE,MAAM,CAAC,KAAD,CAAN,GAAgB,OAAhB,GAA0B;AANzC,MALG,EAaF,MAAM,CAAC,KAAD,CAAN,IAAiB;AAAM,eAAS,EAAC;AAAhB,OAAqC,MAAM,CAAC,KAAD,CAA3C,CAbf,CAAP;AAeH,GAjBA,CADL,CADJ,EAqBI;AAAK,aAAS,EAAC;AAAf,KAAgC,YAAhC,CArBJ,EAsBI;AAAQ,YAAQ,EAAE,WAAlB;AAA+B,QAAI,EAAC,2BAApC;AAAgE,aAAS,EAAC,eAA1E;AAA0F,QAAI,EAAC;AAA/F,KAAuG,2EAAvG,CAtBJ,EAuBK,WAAW,IAAI;AAAK,aAAS,EAAC;AAAf,KAAgC,uHAAhC,CAvBpB,CADJ,CADJ;AA8BH,CA5KD;;AA8KA,kBAAe,wCAAf,C;;;;;;;;;;;;;;;ACrMA,IAAM,sCAAsC,GAAG,SAAzC,sCAAyC,GAAK;AAEhD,MAAM,SAAS,GAAG,CACd;AAAE,QAAI,EAAE,SAAR;AAAmB,QAAI,EAAE,kBAAzB;AAA6C,UAAM,EAAE;AAArD,GADc,EAEd;AAAE,QAAI,EAAE,SAAR;AAAmB,QAAI,EAAE;AAAzB,GAFc,EAGd;AAAE,QAAI,EAAE,SAAR;AAAmB,QAAI,EAAE;AAAzB,GAHc,CAAlB;AAMA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAM,aAAS,EAAC;AAAhB,KAA6B,mDAA7B,CADJ,EAEI;AAAM,aAAS,EAAC;AAAhB,KAA6B,gCAA7B,CAFJ,CADJ,EAKI;AAAK,aAAS,EAAC;AAAf,KACK,SAAS,CAAC,GAAV,CAAc,UAAC,QAAD,EAAW,KAAX;AAAA,WACX;AAAK,SAAG,EAAE,KAAV;AAAiB,eAAS,EAAC;AAA3B,OACI;AAAK,eAAS,EAAC;AAAf,OAAuB,QAAQ,CAAC,IAAhC,E,GAAA,EAAuC,KAAK,KAAI,CAAT,IAAc;AAAQ,eAAS,EAAC;AAAlB,OAA4B,QAAQ,CAAC,MAArC,CAArD,CADJ,EAEI;AAAK,eAAS,EAAC;AAAf,OAAuB,QAAQ,CAAC,IAAhC,CAFJ,CADW;AAAA,GAAd,CADL,CALJ,CADJ,CADJ;AAkBH,CA1BD;;AA4BA,kBAAe,sCAAf,C;;;;;;;;;;;;;;;AC7BA;;AAWa,kCAA0B,UAAC,KAAD,EAAwC;AAAA,MACxE,QADwE,GACI,KADJ,CACxE,QADwE;AAAA,MAC9D,KAD8D,GACI,KADJ,CAC9D,KAD8D;AAAA,MACvD,eADuD,GACI,KADJ,CACvD,eADuD;AAAA,MACtC,YADsC,GACI,KADJ,CACtC,YADsC;AAAA,MACxB,UADwB,GACI,KADJ,CACxB,UADwB;AAAA,MACZ,WADY,GACI,KADJ,CACZ,WADY;AAG3E,MAAM,WAAW,GAAG;AAChB,YAAQ,EAAE,QADM;AAEhB,SAAK,EAAE,KAFS;AAGhB,mBAAe,EAAE,eAHD;AAIhB,gBAAY,EAAE;AAJE,GAApB;AAOA,SACI,oBAAC,+BAAD,EAAe;AACX,eAAW,EAAC,KADD;AAEX,gBAAY,EAAC,KAFF;AAGX,cAAU,EAAC,wBAHA;AAIX,eAAW,EAAE,WAJF;AAKX,kBAAc,EAAE,wBAAC,WAAD;AAAA,aAAkB;AAAQ,iBAAS,EAAE,UAAnB;AAA+B,aAAK,EAAE,WAAtC;AAAmD,eAAO,EAAE,WAAW,CAAC;AAAxE,QAAlB;AAAA;AALL,GAAf,CADJ;AASH,CAnBY;;AAqBb,gCAAwB,cAAxB,GAAyC,yBAAzC,C;;;;;;;;;;;;;;;AChCA;;AACA;;AAWA,SAAgB,sBAAhB,CAAuC,KAAvC,EAAyE;AAAA,MAC7D,QAD6D,GACmB,KADnB,CAC7D,QAD6D;AAAA,MACnD,KADmD,GACmB,KADnB,CACnD,KADmD;AAAA,MAC5C,eAD4C,GACmB,KADnB,CAC5C,eAD4C;AAAA,MAC3B,YAD2B,GACmB,KADnB,CAC3B,YAD2B;AAAA,MACb,2BADa,GACmB,KADnB,CACb,2BADa;AAGrE,SACI,oBAAC,iCAAD,EAAgB;AACZ,YAAQ,EAAE,QADE;AAEZ,mBAAe,EAAE,eAFL;AAGZ,YAAQ,EAAE;AAAA,aAAM,IAAN;AAAA,KAHE;AAIZ,0BAAsB,EAAE,gCAAC,KAAD;AAAA,aAAY,oBAAC,yDAAD,EAA4B,kBAAK,KAAL,EAAU;AAAE,gBAAQ,EAAE,QAAZ;AAAsB,aAAK,EAAE,KAA7B;AAAoC,oBAAY,EAAE;AAAlD,OAAV,CAA5B,CAAZ;AAAA;AAJZ,GAAhB,CADJ;AAQH;;AAXD;AAaA,sBAAsB,CAAC,cAAvB,GAAwC,wBAAxC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;;AAEA,mBAAO,CAAC,mCAAD,CAAP;;IAwBa,2B;;;;;AAIT;AAAA;;AAAA;;AACI;;AAyBI,wBAAc,YAAK;AACvB,YAAK,KAAL,CAAW,YAAX,CAAwB,WAAxB,IAAuC,EAAvC;AACH,KAFO;;AAIA,qBAAW,YAAK;AACpB,YAAK,KAAL,CAAW,YAAX,CAAwB,WAAxB,IAAuC,EAAvC;AACH,KAFO;;AAIA,8BAAoB,UAAC,CAAD,EAAM;AAC9B,YAAK,KAAL,CAAW,QAAX,CAAoB,MAAM,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,CAA1B;AACH,KAFO;;AAhCJ,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE;AADJ,KAAb;AAFJ;AAKC;;;;wCAEgB;AAAA;;AACb,WAAK,KAAL,CAAW,YAAX,CAAwB,QAAxB,GAAmC,IAAnC;AACA,WAAK,KAAL,CAAW,YAAX,CAAwB,GAAxB,GAA8B,KAAK,KAAL,CAAW,QAAzC;AAEA,UAAI,WAAW,GAAG,WAAW,CAAC,YAAK;AAC/B,cAAI,CAAC,QAAL,CAAc;AAAE,qBAAW,EAAE;AAAf,SAAd;;AAEA,cAAI,CAAC,KAAL,CAAW,YAAX,CACK,IADL,GAEK,IAFL,CAEU,YAAK;AACP,uBAAa,CAAC,WAAD,CAAb;;AACA,gBAAI,CAAC,QAAL,CAAc;AAAE,uBAAW,EAAE;AAAf,WAAd;AACH,SALL,EAMK,KANL,CAMW,UAAC,KAAD,EAAU;AACb,iBAAO,CAAC,GAAR,CAAY,wDAAZ;AACH,SARL;AASH,OAZ4B,EAY1B,IAZ0B,CAA7B;AAaH;;;6BAcK;AAAA,wBAC0H,KAAK,KAD/H;AAAA,UACM,cADN,eACM,cADN;AAAA,UACsB,KADtB,eACsB,KADtB;AAAA,UAC6B,YAD7B,eAC6B,YAD7B;AAAA,UAC2C,eAD3C,eAC2C,eAD3C;AAAA,UAC4D,YAD5D,eAC4D,YAD5D;AAAA,UAC0E,SAD1E,eAC0E,SAD1E;AAAA,UACqF,iBADrF,eACqF,iBADrF;AAAA,UACwG,aADxG,eACwG,aADxG;AAAA,UAEM,WAFN,GAEsB,KAAK,KAF3B,CAEM,WAFN;AAGF,UAAM,UAAU,GAAG,CAAC,YAAY,GAAG,CAAhB,IAAqB,GAArB,IAA4B,eAAe,GAAG,CAA9C,CAAnB;AACA,UAAM,eAAe,8CAAuC,UAAvC,0BAAiE,UAAjE,OAArB;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,6BAAjB;AAAgD,eAAO,EAAE,KAAK,WAA9D;AAAyE,sBAAa;AAAtF,QADJ,EAGI;AAAQ,iBAAS,wCAAiC,WAAW,IAAI,aAAf,IAAgC,SAAhC,GAA4C,oCAA5C,GAAmF,EAApH,CAAjB;AAA2I,eAAO,EAAE,iBAApJ;AAAqK,sBAAc,cAAc,qBAAc,KAAd,qBAAkC,KAAlC;AAAjM,SACI;AAAK,iBAAS,+CAAwC,cAAc,GAAG,OAAH,GAAa,EAAnE;AAAd,QADJ,CAHJ,EAOI;AAAQ,iBAAS,0BAAjB;AAA6C,eAAO,EAAE,KAAK,QAA3D;AAAmE,sBAAa;AAAhF,QAPJ,CADJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA4B,+BAAa,eAAb,CAA5B,CADJ,EAEI;AAAO,YAAI,EAAC,OAAZ;AAAoB,iBAAS,EAAC,UAA9B;AAAyC,WAAG,EAAE,eAA9C;AAA+D,aAAK,EAAE,YAAtE;AAAoF,gBAAQ,EAAE,KAAK,iBAAnG;AAAsH,aAAK,EAAE;AAAE,oBAAU,EAAE;AAAd;AAA7H,QAFJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SAA4B,+BAAa,YAAb,CAA5B,CAHJ,CAXJ,CADJ,EAmBI;AAAK,iBAAS,EAAC;AAAf,SAA6C,KAA7C,CAnBJ,EAqBI;AAAK,iBAAS,EAAC,4BAAf;AAA4C,aAAK,EAAE;AAAE,yBAAe,gBAAS,YAAT;AAAjB;AAAnD,QArBJ,CADJ,CADJ;AA2BH;;;;EA3E4C,KAAK,CAAC,S;;AAErC,6CAAiB,6BAAjB;AAFlB,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BA;;AAEA;;AAEA;;AACA;;IAmBa,gB;;;;;AAEZ,4BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AAChB,0FAAM,KAAN;;AAOO,uBAAa,UAAC,EAAD,EAAe;AACnC,YAAK,QAAL,CAAc;AAAE,kBAAU,EAAE;AAAd,OAAd;AACA,KAFO;;AAIA,qCAA2B,YAAK;AACvC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AACA,KAFO;;AAIA,qCAA2B,YAAK;AACvC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AACA,KAFO;;AAIA,mBAAS,YAAK;AACrB,YAAK,QAAL,CAAc;AAAE,YAAI,EAAE;AAAR,OAAd;AACA,KAFO;;AAIA,mBAAS,YAAK;AACrB,YAAK,QAAL,CAAc;AAAE,YAAI,EAAE;AAAR,OAAd;AACA,KAFO;;AAtBP,UAAK,KAAL,GAAa;AACZ,gBAAU,EAAE,KAAK,CAAC,UAAN,CAAiB,CAAjB,EAAoB,EADpB;AAEZ,sBAAgB,EAAE,KAFN;AAGZ,UAAI,EAAE;AAHM,KAAb;AAFgB;AAOhB;;;;6BAqBK;AAAA;;AAAA,wBAC4H,KAAK,KADjI;AAAA,UACG,UADH,eACG,UADH;AAAA,UACe,aADf,eACe,aADf;AAAA,UAC8B,UAD9B,eAC8B,UAD9B;AAAA,UAC0C,UAD1C,eAC0C,UAD1C;AAAA,UACsD,eADtD,eACsD,eADtD;AAAA,UACuE,iBADvE,eACuE,iBADvE;AAAA,UAC0F,aAD1F,eAC0F,aAD1F;AAAA,UACyG,aADzG,eACyG,aADzG;AAAA,wBAEwB,KAAK,KAF7B;AAAA,UAEG,UAFH,eAEG,UAFH;AAAA,UAEe,IAFf,eAEe,IAFf;AAGL,UAAM,gBAAgB,GAAG,UAAU,CAAC,MAAX,CAAkB,UAAC,CAAD;AAAA,eAAO,CAAC,CAAC,EAAF,KAAS,UAAhB;AAAA,OAAlB,CAAzB;AACA,UAAM,YAAY,GAAG,UAAU,CAAC,IAAX,CAAgB,UAAC,CAAD;AAAA,eAAO,CAAC,CAAC,EAAF,KAAS,UAAhB;AAAA,OAAhB,CAArB;AACA,UAAM,eAAe,GAAG;AAAE,aAAK,EAAE,MAAM,gBAAgB,CAAC,MAAvB,GAAgC,IAAzC;AAA+C,mBAAW,EAAE,IAAI,KAAK,CAAT,GAAa,CAAb,GAAiB,CAAC;AAA9E,OAAxB;AACA,UAAM,eAAe,GAAG,IAAI,KAAK,CAAT,GAAa,WAAb,GAA2B,WAAnD;AAEA,aACC;AAAK,iBAAS,EAAC;AAAf,SACC;AAAK,iBAAS,EAAC;AAAf,SACC;AAAK,iBAAS,EAAC;AAAf,SACC,oBAAC,4BAAD,EAAiB;AAChB,iBAAS,EAAC,UADM;AAEhB,YAAI,EAAE,YAAY,CAAC,IAFH;AAGhB,kBAAU,EAAE,YAAY,CAAC,UAHT;AAIhB,oBAAY;AAJI,OAAjB,EAMC;AACC,iBAAS,EAAC,WADX;AAEC,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT,SAFR;AAGC,+BAAuB,EAAE;AAAE,gBAAM,EAAE,YAAY,CAAC;AAAvB,SAH1B;AAGwD,yBACzC;AAJf,QAND,EAYE,iBAAiB,IACjB;AAAK,iBAAS,EAAC,cAAf;AAA8B,+BAAuB,EAAE;AAAE,gBAAM,EAAE,YAAY,CAAC;AAAvB,SAAvD;AAAwF,+BAAsB;AAA9G,QAbF,EAeC;AAAK,iBAAS,EAAC;AAAf,SACE,eAAe,IAAI,YAAY,CAAC,MAAb,CAAoB,MAApB,GAA6B,CAAhD,IAAsD;AAAK,iBAAS,EAAC,YAAf;AAA2B;AAA3B,SAA4C,YAAY,CAAC,MAAzD,CADxD,EAEE,CAAC,aAAa,IAAI,aAAlB,KACA;AAAK,iBAAS,EAAC,UAAf;AAAyB,wBAAc;AAAvC,SACE,qDAAsC,YAAY,CAAC,IAAnD,EAAyD;AACzD,gBAAQ,EAAE,aAD+C;AAEzD,gBAAQ,EAAE;AAF+C,OAAzD,CADF,CAHF,CAfD,CADD,EA6BC;AAAK,iBAAS,EAAC;AAAf,SACE,YAAY,CAAC,KAAb,KAAuB,IAAvB,GACA,oBAAC,qBAAD,EAAU;AACT,WAAG,EAAE,YAAY,CAAC,KAAb,CAAmB,OADf;AAET,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,wBAAL,EAAN;AAAA,SAFN;AAGT,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,wBAAL,EAAN;AAAA,SAHN;AAIT,YAAI,EAAE,YAAY,CAAC,KAJV;AAKT,qBAAa,EAAE,aALN;AAMT,aAAK,EAAE,GANE;AAOT,cAAM,EAAE,IAAI,CAAC,KAAL,CAAY,MAAM,EAAP,GAAa,CAAxB;AAPC,OAAV,CADA,GAUI,gCAXN,CA7BD,CADD,CADD,EA8CE,UAAU,GAAG,CAAb,IACA;AAAK,iBAAS,EAAC;AAAf,SACC;AAAK,iBAAS,EAAC,aAAf;AAA6B,aAAK,EAAE;AAApC,SACE,gBAAgB,CAAC,GAAjB,CAAqB,UAAC,IAAD,EAAO,CAAP;AAAA,eACrB;AACC,mBAAS,EAAC,oBADX;AAEC,aAAG,EAAE,CAFN;AAGC,iBAAO,EAAE;AAAA,mBAAM,MAAI,CAAC,UAAL,CAAgB,IAAI,CAAC,EAArB,CAAN;AAAA;AAHV,WAKC;AAAK,mBAAS,EAAC;AAAf,WACC;AAAK,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW,MAArB;AAA2B;AAA3B,UADD,EAEC,oBAAC,iCAAD,EAAgB;AAAC,gBAAM,EAAE,EAAT;AAAa,cAAI,EAAE,OAAnB;AAA4B,uBAAa,EAAC,QAA1C;AAAmD,uBAAa,EAAE;AAAlE,SAAhB,CAFD,CALD,EASC;AAAK,mBAAS,EAAC,WAAf;AAA0B,2BAAe;AAAzC,WACC;AAAK,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT,WAAZ;AAAmC,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA5D,UADD,CATD,EAYC;AAAK,mBAAS,EAAC;AAAf,WACE,eAAe,IAAI,IAAI,CAAC,MAAL,CAAY,MAAZ,GAAqB,CAAxC,IACA;AAAK,mBAAS,EAAC,YAAf;AAA2B;AAA3B,WAA4C,IAAI,CAAC,MAAjD,CAFF,EAIE,CAAC,aAAa,IAAI,aAAlB,KACA;AAAK,mBAAS,EAAC,UAAf;AAAyB,0BAAc;AAAvC,WACE,qDAAsC,IAAI,CAAC,IAA3C,EAAiD;AAAE,kBAAQ,EAAE,aAAZ;AAA2B,kBAAQ,EAAE;AAArC,SAAjD,CADF,CALF,CAZD,CADqB;AAAA,OAArB,CADF,CADD,CA/CF,EA8EE,UAAU,KAAK,CAAf,IACA;AAAQ,iBAAS,EAAE,eAAnB;AAAoC,eAAO,EAAE,IAAI,KAAK,CAAT,GAAa,KAAK,MAAlB,GAA2B,KAAK;AAA7E,QA/EF,CADD;AAoFA;;;;EA1HoC,KAAK,CAAC,S;;AAC7B,kCAAiB,kBAAjB;AADf,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;;AAEA;;AAIA;;AACA;;AACA;;IAuBa,iB;;;;;AAET,6BAAY,KAAZ,EAAiB;AAAA;;AAAA,0FACP,KADO;AAEhB;;;;6BAEK;AAAA,wBACgF,KAAK,KADrF;AAAA,UACM,UADN,eACM,UADN;AAAA,UACkB,aADlB,eACkB,aADlB;AAAA,UACiC,UADjC,eACiC,UADjC;AAAA,UAC6C,eAD7C,eAC6C,eAD7C;AAAA,UAC8D,aAD9D,eAC8D,aAD9D;AAEF,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,UAAU,CAAC,GAAX,CAAe,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC5B,YAAI,IAAI,IAAI,KAAK,KAAK,CAAtB,EAAyB;AACrB,iBACI,oBAAC,qBAAD,EAAsB;AAClB,eAAG,EAAE,IAAI,CAAC,EADQ;AAElB,sBAAU,EAAE,IAFM;AAGlB,gBAAI,EAAE,IAHY;AAIlB,yBAAa,EAAE,aAJG;AAKlB,sBAAU,EAAE,UALM;AAMlB,2BAAe,EAAE,eANC;AAOlB,yBAAa,EAAE;AAPG,WAAtB,CADJ;AAWH,SAZD,MAYO,IAAI,IAAI,IAAI,KAAK,KAAK,CAAtB,EAAyB;AAC5B,iBACI;AAAK,qBAAS,EAAC,cAAf;AAA8B,eAAG,EAAC;AAAlC,aACI,oBAAC,qBAAD,EAAsB;AAClB,gBAAI,EAAE,IADY;AAElB,yBAAa,EAAE,aAFG;AAGlB,sBAAU,EAAE,UAHM;AAIlB,2BAAe,EAAE,eAJC;AAKlB,yBAAa,EAAE;AALG,WAAtB,CADJ,EASK,UAAU,CAAC,MAAX,GAAoB,CAApB,IACG,oBAAC,qBAAD,EAAsB;AAClB,gBAAI,EAAE,UAAU,CAAC,CAAD,CADE;AAElB,yBAAa,EAAE,aAFG;AAGlB,sBAAU,EAAE,UAHM;AAIlB,2BAAe,EAAE,eAJC;AAKlB,yBAAa,EAAE;AALG,WAAtB,CAVR,CADJ;AAqBH;;AACD,eAAO,IAAP;AACH,OArCA,CADL,CADJ;AA0CH;;;;EAlDkC,KAAK,CAAC,S;;AAC3B,mCAAiB,mBAAjB;AADlB;;IA+Da,qB;;;;;AACT,iCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,+FAAM,KAAN;;AAMI,qCAA2B,YAAK;AACpC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AACH,KAFO;;AAIA,qCAA2B,YAAK;AACpC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AACH,KAFO;;AATJ,UAAK,KAAL,GAAa;AACT,sBAAgB,EAAE;AADT,KAAb;AAFa;AAKhB;;;;6BAUK;AAAA;;AAAA,yBACsF,KAAK,KAD3F;AAAA,UACM,IADN,gBACM,IADN;AAAA,UACY,UADZ,gBACY,UADZ;AAAA,UACwB,aADxB,gBACwB,aADxB;AAAA,UACuC,UADvC,gBACuC,UADvC;AAAA,UACmD,aADnD,gBACmD,aADnD;AAAA,UACkE,eADlE,gBACkE,eADlE;AAEF,UAAM,QAAQ,GAAI,aAAa,IAAI,IAAI,CAAC,IAAvB,IAAiC,eAAe,IAAI,IAAI,CAAC,MAA1E;AACA,UAAM,QAAQ,GAAI,aAAa,IAAI,IAAI,CAAC,IAAvB,IAAiC,eAAe,IAAI,IAAI,CAAC,MAA1E;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,UAAU,IAAI,oBAAC,iDAAD,EAAwB;AAAC,WAAG,EAAE,IAAI,CAAC,IAAX;AAAiB,aAAK,EAAE,4BAAoB,IAAI,CAAC,KAAzB;AAAxB,OAAxB,CADnB,EAEK,IAAI,CAAC,KAAL,KAAe,IAAf,GAAsB,oBAAC,qBAAD,EAAU;AAC7B,WAAG,EAAE,IAAI,CAAC,KAAL,CAAW,OADa;AAE7B,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,wBAAL,EAAN;AAAA,SAFc;AAG7B,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,wBAAL,EAAN;AAAA,SAHc;AAI7B,YAAI,EAAE,IAAI,CAAC,KAJkB;AAIX,qBAAa,EAAE,aAJJ;AAImB,aAAK,EAAE,GAJ1B;AAI+B,cAAM,EAAE;AAJvC,OAAV,CAAtB,GAKK,gCAPV,CADJ,EAUI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,OAAX;AAAmB,YAAI,EAAE,IAAI,CAAC,IAA9B;AAAoC,kBAAU,EAAE,IAAI,CAAC;AAArD,OAAjB,EACC,UAAU,IAAI,IAAI,CAAC,IAAnB,IAA2B,IAAI,CAAC,IAAL,CAAU,MAAV,GAAiB,CAA5C,IAAiD;AAAK,iBAAS,EAAC,WAAf;AAA0B,0BAAiB,IAAI,CAAC;AAAhD,SAAsD,kCAAO,IAAI,CAAC,IAAZ,CAAtD,CADlD,EAEI,UAAU,GAAI;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,QAAJ,GAA+D;AAAO,+BAAuB,EAAE;AAAE,gBAAM,EAAE,IAAI,CAAC;AAAf;AAAhC,QAF7E,CADJ,EAKK,QAAQ,IAAI;AAAK,iBAAS,EAAC;AAAf,SACR,aAAa,IAAI,IAAI,CAAC,IAAtB,IAA8B;AAAM,iBAAS,EAAC;AAAhB,SAA2B,oBAAC,yBAAD,EAAY;AAAC,YAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,uBAAe,EAAE;AAAnC,OAAZ,CAA3B,EAA0F,GAA1F,CADtB,EAIR,QAAQ,IAAI;AAAM,iBAAS,EAAC;AAAhB,SAA2B,KAA3B,CAJJ,EAKR,IAAI,CAAC,MAAL,IAAe,eAAf,IAAkC;AAAM,iBAAS,EAAC,YAAhB;AAA6B,+BAAuB,EAAE;AAAE,gBAAM,EAAE,IAAI,CAAC;AAAf;AAAtD,QAL1B,CALjB,CAVJ,CADJ;AA4BH;;;;EAhDsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/FA;;AACA;;AACA;;AACA;;AACA;;IAwBa,kC;;;;;AAET,8CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,4GAAM,KAAN;;AAWI,wBAAc,YAAK;AAAA,UACf,aADe,GACG,MAAK,KADR,CACf,aADe;AAAA,UAEf,WAFe,GAEC,MAAK,KAFN,CAEf,WAFe;AAGvB,UAAM,gBAAgB,GAAG,6BAAW,IAAI,IAAJ,EAAX,EAAuB,YAAvB,CAAzB;AAEA,WAAK,CAAC,GAAN,mDAAqD,WAAW,CAAC,EAAjE,cAAuE,aAAvE,oBAA8F,gBAA9F,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,YAAM,eAAe,GAAG,GAAG,CAAC,IAAJ,CAAS,IAAjC;;AACA,cAAK,QAAL,CAAc;AACV,kBAAQ,EAAE;AADA,SAAd,EAEG;AAAA,iBAAM,MAAK,YAAL,EAAN;AAAA,SAFH;AAGH,OANL,EAOK,KAPL,CAOW,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,OAPd;AAQH,KAbO;;AAgBA,yBAAe,YAAK;AACxB,UAAI,MAAM,CAAC,SAAP,IAAoB,MAAM,CAAC,wBAA3B,IAAuD,MAAM,CAAC,wBAAP,CAAgC,YAAhC,CAA6C,eAA7C,CAA3D,EAA0H;AACtH,cAAM,CAAC,SAAP,CAAiB,GAAjB,CAAqB,IAArB,CAA0B;AAAc,gBAAM,CAAC,SAAP,CAAiB,MAAjB,GAA0B,OAA1B,CAAkC,CAAC,MAAM,CAAC,wBAAP,CAAgC,YAAhC,CAA6C,eAA7C,CAAD,CAAlC;AAAqG,SAA7I;AACH;AACJ,KAJO;;AA1BJ,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE;AAAE,mBAAW,EAAE,YAAf;AAA6B,UAAE,EAAE;AAAjC,OADJ;AAET,cAAQ,EAAE;AAFD,KAAb;AAFa;AAMhB;;;;wCAEgB;AACb,WAAK,WAAL;AACH;;;6BAwBK;AAAA,UACM,QADN,GACmB,KAAK,KADxB,CACM,QADN;AAEF,UAAM,UAAU,GAAG,2CAAnB;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,CAAC,GAAF,CAAM,QAAN,EAAgB,cAAI,EAAG;AAAA,YACZ,SADY,GAC2C,IAD3C,CACZ,SADY;AAAA,YACD,iBADC,GAC2C,IAD3C,CACD,iBADC;AAAA,YACkB,KADlB,GAC2C,IAD3C,CACkB,KADlB;AAAA,YACyB,aADzB,GAC2C,IAD3C,CACyB,aADzB;AAEpB,eACI,oBAAC,4BAAD,EAAiB;AAAC,aAAG,EAAE,SAAN;AAAiB,cAAI,EAAE,aAAvB;AAAsC,oBAAU,EAAE,UAAlD;AAA8D,mBAAS,EAAC;AAAxE,SAAjB,EACI,oBAAC,yBAAD,EAAY;AAAC,yBAAe,MAAhB;AAAiB,cAAI,EAAE;AAAvB,SAAZ,CADJ,EAEI;AAAK,mBAAS,EAAC;AAAf,WAA0B,KAA1B,CAFJ,CADJ;AAMH,OARA,CADL,CADJ;AAaH;;;;EApDmD,KAAK,CAAC,S;;AAC5C,oDAAiB,oCAAjB;AADlB,gF;;;;;;;;;;;;;;;AC5BA;;AACA;;AACA,6K,CACA;;;AACA,IAAM,gBAAgB,GAAG,2EAAzB;;AAEa,6CAAqC,gBAAyC;AAAA,MAAtC,QAAsC,QAAtC,QAAsC;AACvF,SACI;AAAK,aAAS,EAAC;AAAf,KACI,oBAAC,4BAAD,EAAoB;AAAC,YAAQ,EAAE;AAAX,GAApB,EACK,QAAQ,GAAG,oBAAC,6DAAD,EAA8B,IAA9B,CAAH,GAAuC,oBAAC,+DAAD,EAA+B,IAA/B,CADpD,CADJ,CADJ;AAOH,CARY;;AAUb,2CAAmC,cAAnC,GAAoD,oCAApD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBA;;AAEA;;AACA;;IAuBa,iC;;;;;AAGT;AAAA;;AAAA;;AACI;;AAMI,wBAAc,YAAK;AAAA,wBACc,MAAK,KADnB;AAAA,UACf,YADe,eACf,YADe;AAAA,UACD,UADC,eACD,UADC;AAEvB,WAAK,CAAC,GAAN,gDAAkD,YAAlD,cAAkE,UAAU,CAAC,CAAD,CAAV,CAAc,EAAhF,eACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,YAAM,eAAe,GAAG,GAAG,CAAC,IAAJ,CAAS,IAAjC;;AACA,cAAK,QAAL,CAAc;AACV,kBAAQ,EAAE;AADA,SAAd,EAEE;AAAA,iBAAI,MAAK,YAAL,EAAJ;AAAA,SAFF;AAGH,OANL,EAMO,KANP,CAMa,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,OANhB;AAOH,KATO;;AAeA,yBAAa,YAAI;AACrB,UAAI,MAAM,CAAC,SAAP,IAAoB,MAAM,CAAC,wBAA3B,IAAuD,MAAM,CAAC,wBAAP,CAAgC,YAAhC,CAA6C,iBAA7C,CAA3D,EAA2H;AACvH,cAAM,CAAC,SAAP,CAAiB,GAAjB,CAAqB,IAArB,CAA0B;AAAa,gBAAM,CAAC,SAAP,CAAiB,MAAjB,GAA0B,OAA1B,CAAkC,CAAC,MAAM,CAAC,wBAAP,CAAgC,YAAhC,CAA6C,iBAA7C,CAAD,CAAlC;AAAuG,SAA9I;AACH;AACJ,KAJO;;AApBJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE;AADD,KAAb;AAFJ;AAKC;;;;wCAagB;AACb,WAAK,WAAL;AACH;;;6BAQK;AAAA,UACM,QADN,GACmB,KAAK,KADxB,CACM,QADN;AAEF,UAAI,iBAAiB,GAAG,4CAAxB;AACA,uBAAiB,CAAC,YAAlB,GAAiC,MAAjC;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,CAAC,GAAF,CAAM,QAAN,EAAgB,UAAC,IAAD,EAAO,KAAP;AAAA,eACb,oBAAC,4BAAD,EAAiB;AAAC,aAAG,EAAE,IAAI,CAAC,UAAX;AAAuB,oBAAU,EAAE,iBAAnC;AAAsD,mBAAS,EAAC,gBAAhE;AAAiF,cAAI,EAAE,IAAI,CAAC;AAA5F,SAAjB,EACI,iC,GAAA,EAAO,KAAK,GAAG,CAAf,EAAyB,IAAzB,CADJ,EAEI,iC,GAAA,EAAO,IAAI,CAAC,KAAZ,CAFJ,CADa;AAAA,OAAhB,CADL,CADJ;AAWH;;;;EA9CkD,KAAK,CAAC,S;;AAC3C,mDAAiB,mCAAjB;AADlB,8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;;AACA;;AAEA;;AAGA;;IAkBa,kC;;;;;AAGT;AAAA;;AAAA;;AACI;AACA,UAAK,KAAL,GAAa;AACT,kBAAY,EAAE;AADL,KAAb;AAFJ;AAKC;;;;6BAEK;AAAA;;AACF,UAAM,cAAc,GAAG,KAAK,KAAL,CAAW,IAAlC;AADE,wBAEoE,KAAK,KAFzE;AAAA,UAEM,YAFN,eAEM,YAFN;AAAA,UAEoB,kBAFpB,eAEoB,kBAFpB;AAAA,UAEwC,YAFxC,eAEwC,YAFxC;AAAA,UAEsD,SAFtD,eAEsD,SAFtD;AAAA,UAGM,YAHN,GAGuB,KAAK,KAH5B,CAGM,YAHN;;AAIF,UAAM,SAAS,GAAG,SAAZ,SAAY;AAAA,YAAG,OAAH,QAAG,OAAH;AAAA,eAA2C;AAAQ,kBAAQ,EAAE,YAAY,IAAI,cAAc,CAAC,MAAf,GAAwB,CAA1D;AAA6D,iBAAO,EAAE,OAAtE;AAA+E,mBAAS,EAAC;AAAzF,WAA6G;AAAM,mBAAS,EAAC;AAAhB,UAA7G,CAA3C;AAAA,OAAlB;;AACA,UAAM,SAAS,GAAG,SAAZ,SAAY;AAAA,YAAG,OAAH,SAAG,OAAH;AAAA,eAA2C;AAAQ,kBAAQ,EAAE,YAAY,IAAI,CAAlC;AAAqC,iBAAO,EAAE,OAA9C;AAAuD,mBAAS,EAAC;AAAjE,WAAsF;AAAM,mBAAS,EAAC;AAAhB,UAAtF,CAA3C;AAAA,OAAlB;;AACA,UAAM,UAAU,GAAG,2CAAnB;AACA,UAAI,QAAQ,GAAG;AACX,oBAAY,EAAE,CADH;AAEX,sBAAc,EAAE,CAFL;AAGX,cAAM,EAAE,IAHG;AAIX,gBAAQ,EAAE,KAJC;AAKX,WAAG,EAAE,IALM;AAMX,iBAAS,EAAE,oBAAC,SAAD,EAAU,IAAV,CANA;AAOX,iBAAS,EAAE,oBAAC,SAAD,EAAU,IAAV,CAPA;AAQX,mBAAW,EAAE,qBAAC,OAAD,EAAY;AACrB,gBAAI,CAAC,QAAL,CAAc;AAAE,wBAAY,EAAE,cAAc,CAAC,MAAf,GAAwB,CAAxB,GAA4B;AAA5C,WAAd;AACH;AAVU,OAAf;AAaA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,QAAX;AAAoB,aAAK,EAAC,qEAA1B;AAAyC,YAAI,EAAE,YAAY,CAAC,IAAb,CAAkB,aAAjE;AAAgF,kBAAU,EAAE;AAA5F,OAAjB,EACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,EAEI;AAAM,aAAK,EAAE,SAAb;AAAwB,iBAAS,EAAC;AAAlC,SAA6D,YAA7D,CAFJ,EAGI;AAAM,iBAAS,EAAC;AAAhB,QAHJ,CADJ,EAMI,oBAAC,qBAAD,EAAO,kBAAK,QAAL,CAAP,EACK,cAAc,CAAC,GAAf,CAAmB,cAAI,EAAG;AAAA,YACf,KADe,GAC2C,IAD3C,CACf,KADe;AAAA,YACR,aADQ,GAC2C,IAD3C,CACR,aADQ;AAAA,YACO,IADP,GAC2C,IAD3C,CACO,IADP;AAAA,YACa,EADb,GAC2C,IAD3C,CACa,EADb;AAAA,YACiB,qBADjB,GAC2C,IAD3C,CACiB,qBADjB;AAEvB,eAAO,oBAAC,4BAAD,EAAiB;AAAC,aAAG,EAAE,EAAN;AAAU,cAAI,EAAE,aAAhB;AAA+B,oBAAU,EAAE;AAA3C,SAAjB,EACH;AAAK,mBAAS,EAAC,iBAAf;AAAiC,eAAK,EAAE;AAAxC,WACI,oBAAC,iCAAD,EAAgB;AACZ,aAAG,EAAE,IADO;AAEZ,aAAG,EAAE,yBAAU,qBAAV,CAFO;AAEyB,yBACxB,4BAAa,qBAAb,CAHD;AAIZ,eAAK,EAAE,2BAAY,qBAAZ;AAJK,SAAhB,CADJ,EAMI;AAAK,mBAAS,EAAC;AAAf,WAAwB,KAAxB,CANJ,CADG,CAAP;AAUH,OAZA,CADL,CANJ,CADJ;AAyBH;;;;EAvDmD,KAAK,CAAC,S;;AAC5C,oDAAiB,oCAAjB;AADlB,gF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;;AAEA;;AAGA;;IAiBa,4B;;;;;AAGT;AAAA;;AAAA;;AACI;;AAQG,uBAAa,YAAK;AACrB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;AACH,KAFM;;AAIA,wBAAc,YAAK;AACtB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;AACH,KAFM;;AAXH,UAAK,KAAL,GAAa;AACT,kBAAY,EAAE,KADL;AAET,kBAAY,EAAE;AAFL,KAAb;AAFJ;AAMC;;;;6BAWK;AAAA;;AACF,UAAM,iBAAiB,GAAG,KAAK,KAAL,CAAW,IAArC;AADE,wBAE2C,KAAK,KAFhD;AAAA,UAEM,YAFN,eAEM,YAFN;AAAA,UAEoB,kBAFpB,eAEoB,kBAFpB;AAAA,wBAGqC,KAAK,KAH1C;AAAA,UAGM,YAHN,eAGM,YAHN;AAAA,UAGoB,YAHpB,eAGoB,YAHpB;;AAIF,UAAM,SAAS,GAAG,SAAZ,SAAY;AAAA,YAAG,OAAH,QAAG,OAAH;AAAA,eAA2C;AAAQ,kBAAQ,EAAE,YAAY,IAAI,iBAAiB,CAAC,MAAlB,GAA2B,CAA7D;AAAgE,iBAAO,EAAE,OAAzE;AAAkF,mBAAS,EAAC;AAA5F,WAAgH;AAAM,mBAAS,EAAC;AAAhB,UAAhH,CAA3C;AAAA,OAAlB;;AACA,UAAM,SAAS,GAAG,SAAZ,SAAY;AAAA,YAAG,OAAH,SAAG,OAAH;AAAA,eAA2C;AAAQ,kBAAQ,EAAE,YAAY,IAAI,CAAlC;AAAqC,iBAAO,EAAE,OAA9C;AAAuD,mBAAS,EAAC;AAAjE,WAAsF;AAAM,mBAAS,EAAC;AAAhB,UAAtF,CAA3C;AAAA,OAAlB;;AAEA,UAAI,QAAQ,GAAG;AACX,oBAAY,EAAE,CADH;AAEX,sBAAc,EAAE,CAFL;AAGX,cAAM,EAAE,IAHG;AAIX,gBAAQ,EAAE,KAJC;AAKX,WAAG,EAAE,IALM;AAOX,iBAAS,EAAE,sBAPA;AAQX,iBAAS,EAAE,oBAAC,SAAD,EAAU,IAAV,CARA;AASX,iBAAS,EAAE,oBAAC,SAAD,EAAU,IAAV,CATA;AAUX,mBAAW,EAAE,qBAAC,KAAD,EAAU;AACnB,gBAAI,CAAC,QAAL,CAAc;AAAE,wBAAY,EAAE,iBAAiB,CAAC,MAAlB,GAA2B,CAA3B,GAA+B;AAA/C,WAAd;AACH;AAZU,OAAf;AAcA,aACI,0CACK,YAAY,IAAI,oBAAC,0BAAD,EAAmB,kBAAK,iBAAiB,CAAC,YAAD,CAAtB,EAAwD;AAAE,eAAO,EAAE,KAAK;AAAhB,OAAxD,CAAnB,CADrB,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,QAAX;AAAoB,aAAK,EAAC,8DAA1B;AAAuC,YAAI,EAAE,YAA7C;AAA2D,kBAAU,EAAE;AAAvE,OAAjB,EACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,SAAyC,8DAAzC,CAFJ,EAGI;AAAM,iBAAS,EAAC;AAAhB,QAHJ,CADJ,EAMI,oBAAC,qBAAD,EAAO,kBAAK,QAAL,CAAP,EACK,iBAAiB,CAAC,GAAlB,CAAsB,UAAC,IAAD,EAAO,KAAP,EAAgB;AAAA,YAC3B,IAD2B,GACC,IADD,CAC3B,IAD2B;AAAA,YACrB,OADqB,GACC,IADD,CACrB,OADqB;AAAA,YACZ,EADY,GACC,IADD,CACZ,EADY;AAAA,YACR,IADQ,GACC,IADD,CACR,IADQ;AAEnC,eAAO;AAAK,aAAG,EAAE,EAAV;AAAc,iBAAO,EAAE;AAAA,mBAAM,MAAI,CAAC,UAAL,EAAN;AAAA;AAAvB,WACH;AAAK,mBAAS,EAAC,iBAAf;AAAiC,eAAK,EAAE,IAAI,GAAG,IAAP,GAAc;AAAtD,WACI,oBAAC,iCAAD,EAAgB;AAAC,aAAG,EAAE,IAAN;AAAY,aAAG,EAAE,IAAI,GAAG,IAAP,GAAc;AAA/B,SAAhB,CADJ,EAEI;AAAG,mBAAS,EAAC;AAAb,WAAiC,IAAjC,CAFJ,CADG,CAAP;AAMH,OARA,CADL,CANJ,CAFJ,CADJ;AAwBH;;;;EAjE6C,KAAK,CAAC,S;;AACtC,8CAAiB,8BAAjB;AADlB;;AAsEa,6BAAqB,iBAAqC;AAAA,MAAlC,OAAkC,SAAlC,OAAkC;AAAA,MAAzB,IAAyB,SAAzB,IAAyB;AAAA,MAAnB,IAAmB,SAAnB,IAAmB;AAAA,MAAb,OAAa,SAAb,OAAa;AACnE,SACI;AAAK,aAAS,EAAC,qBAAf;AAAqC,WAAO,EAAE;AAA9C,KACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,IAFJ,EAGI,oBAAC,iCAAD,EAAgB;AAAC,OAAG,EAAE,IAAN;AAAY,OAAG,EAAE,IAAI,GAAG,IAAP,GAAc;AAA/B,GAAhB,CAHJ,CADJ;AAOH,CARY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7Fb;;IAQa,uB;;;;;AAAb;AAAA;;AAAA;;;;AAEY,yBAAe,YAAK;AACxB,UAAI,OAAO,MAAP,IAAiB,WAArB,EAAkC;AAC9B,cAAM,CAAC,KAAP;AACH;AACJ,KAJO;;AAMA,kCAAwB,UAAC,MAAD,EAAiB,IAAjB,EAAiC;AAAA,wBACvB,MAAK,KADkB;AAAA,UACtD,aADsD,eACtD,aADsD;AAAA,UACvC,YADuC,eACvC,YADuC;;AAE7D,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,WAAW,GAAG,MAAM,CAAC,QAAP,CAAgB,IAApC;;AACA,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,aAAlB,EAAiC,EAAjC,EAAqC;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,cAA9B,EAA8C,YAA9C,CAAN;AAAA,aAArC,EAAwG,cAAxG;AACA;;AACJ,eAAK,IAAL;AACI,4CAAiB,aAAjB,EAAgC;AAAA,qBAAM,iCAAkB,SAAlB,EAA6B,cAA7B,EAA6C,YAA7C,CAAN;AAAA,aAAhC,EAAkG,cAAlG;AACA;AANR;AAQH;AACJ,KAbO;;AAeA,8BAAoB,YAAK;AAC7B,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,eAAO,CAAC,CAAC,QAAQ,CAAC,cAAT,CAAwB,qBAAxB,CAAT;AACH;AACJ,KAJO;;AAvBZ;AA4CC;;;;6BAfgB;AAAA;;AAAA,yBAC+B,KAAK,KADpC;AAAA,UACD,YADC,gBACD,YADC;AAAA,UACa,aADb,gBACa,aADb;AAET,UAAM,IAAI,GAAG,aAAb;;AACA,UAAM,aAAa,GAAG,YAAY,IAAI,KAAK,iBAAL,EAAtC;;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAI,iBAAS,EAAC;AAAd,SACI;AAAI,aAAK,EAAC,OAAV;AAAkB,iBAAS,EAAC,kBAA5B;AAA+C,eAAO,EAAE,KAAK;AAA7D,QADJ,EAEI;AAAI,aAAK,EAAC,SAAV;AAAoB,iBAAS,EAAC,oBAA9B;AAAmD,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,IAA3B,EAAiC,IAAjC,CAAP;AAAA;AAA5D,QAFJ,EAGI;AAAI,aAAK,EAAC,UAAV;AAAqB,iBAAS,EAAC,qBAA/B;AAAqD,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,IAA3B,EAAiC,IAAjC,CAAP;AAAA;AAA9D,QAHJ,CADJ,CADJ;AASH;;;;EA3CwC,KAAK,CAAC,S;;AAAnD,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;IAyBa,wB;;;;;AAET,oCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,kGAAM,KAAN;;AAuBI,wBAAc,YAAK;AAAA,wBACmB,MAAK,KADxB;AAAA,UACf,QADe,eACf,QADe;AAAA,UACL,QADK,eACL,QADK;AAAA,UACK,SADL,eACK,SADL;AAAA,UAEf,YAFe,GAEE,MAAK,KAFP,CAEf,YAFe;AAGvB,UAAM,SAAS,GAAG,IAAI,IAAJ,CAAS,YAAT,CAAlB;AACA,UAAM,iBAAiB,GAAG,6BAAW,SAAX,EAAqB,YAArB,CAA1B;AACA,UAAM,eAAe,GAAG,6BAAW,SAAX,EAAqB,YAArB,CAAxB;AACA,WAAK,CAAC,GAAN,yCAA2C,YAA3C,wBAAqE,iBAArE,sBAAkG,eAAlG,yBAAgI,QAAhI,GAA4I,IAA5I,CAAiJ,UAAC,GAAD,EAAa;AAC1J,YAAM,eAAe,GAAG,GAAG,CAAC,IAAJ,CAAS,IAAjC;;AACA,cAAK,QAAL,CAAc;AACV,kBAAQ,EAAE,QAAQ,GAAG,CAAX,gCAAmB,QAAnB,sBAAgC,eAAhC,KAAmD;AADnD,SAAd;AAGH,OALD,EAKG,KALH,CAKS,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,OALZ;AAMH,KAZO;;AAaD,sCAA4B,UAAC,KAAD,EAAU;AACzC,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KAFM;;AAGC,2BAAiB,YAAK;AAC1B,YAAK,QAAL,CAAc;AACV,yBAAiB,EAAE,CAAC,MAAK,KAAL,CAAW;AADrB,OAAd;AAIH,KALO;;AAMA,2BAAiB,UAAC,GAAD,EAAwB;AAAA,UAAlB,SAAkB,uEAAN,EAAM;;AAC7C,UAAI,SAAS,CAAC,UAAD,CAAb,EAA2B;AACvB;AACH,OAFD,MAEO;AACH,cAAK,QAAL,CAAc;AACV,mBAAS,EAAE,GAAG,GAAG,GAAH,GAAS,EADb;AAEV,kBAAQ,EAAE;AAFA,SAAd;;AAIA,cAAK,cAAL;;AACA,YAAI,MAAK,KAAL,CAAW,kBAAf,EAAmC;AAC/B,gBAAK,QAAL,CAAc;AAAE,8BAAkB,EAAE;AAAtB,WAAd;AACH;AACJ;AACJ,KAbO;;AAcA,6BAAmB,YAAK;AAC5B,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE,MAAK,KAAL,CAAW,QAAX,GAAsB;AAAlC,OAAd;AACH,KAFO;;AA1DJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,CADD;AAET,cAAQ,EAAE,KAAK,CAAC,iBAAN,GAA0B,KAAK,CAAC,iBAAhC,GAAoD,EAFrD;AAGT,gBAAU,EAAE,KAAK,CAAC,iBAAN,IAA4B,KAAK,CAAC,iBAAN,CAAwB,MAAxB,GAAiC,MAAK,KAAL,CAAW,oBAA7C,IAAsE,CAHpG;AAIT,uBAAiB,EAAE,CAJV;AAKT,uBAAiB,EAAE,KALV;AAMT,eAAS,EAAC,IAAI,IAAJ,EAND;AAOT,wBAAkB,EAAE;AAPX,KAAb;AAFa;AAWhB;;;;uCAEkB,S,EAAgC,S,EAAgC,W,EAAgB;AAC/F,UAAI,SAAS,CAAC,SAAV,KAAwB,KAAK,KAAL,CAAW,SAAnC,IACA,SAAS,CAAC,QAAV,KAAuB,KAAK,KAAL,CAAW,QADtC,EACgD;AAC5C,aAAK,WAAL;AACH;;AACD,UAAI,SAAS,CAAC,QAAV,KAAuB,KAAK,KAAL,CAAW,QAAtC,EAAgD;AAC5C,aAAK,QAAL,CAAc;AACV,oBAAU,EAAG,KAAK,KAAL,CAAW,QAAX,CAAoB,MAArB,IAAgC,CAAC,KAAK,KAAL,CAAW,QAAX,GAAsB,CAAvB,IAA4B,KAAK,KAAL,CAAW,oBAAvE,KAAgG;AADlG,SAAd;AAGH;AACJ;;;6BAwCY;AAAA,yBAC6F,KAAK,KADlG;AAAA,UACD,QADC,gBACD,QADC;AAAA,UACS,iBADT,gBACS,iBADT;AAAA,UAC4B,iBAD5B,gBAC4B,iBAD5B;AAAA,UAC+C,SAD/C,gBAC+C,SAD/C;AAAA,UAC0D,UAD1D,gBAC0D,UAD1D;AAAA,UACsE,kBADtE,gBACsE,kBADtE;AAAA,wBAEsF,KAAK,KAF3F;AAAA,UAED,cAFC,eAED,cAFC;AAAA,UAEe,kBAFf,eAEe,kBAFf;AAAA,UAEmC,KAFnC,eAEmC,KAFnC;AAAA,UAE0C,wBAF1C,eAE0C,wBAF1C;AAAA,UAEoE,aAFpE,eAEoE,aAFpE;AAIT,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA+B,8DAA/B,CADJ,EAEK,QAAQ,CAAC,MAAT,GAAkB,CAAlB,IACG,oBAAC,iCAAD,EAAgB;AACZ,eAAO,EAAE,QAAQ,CAAC,iBAAD,CADL;AAEZ,sBAAc,EAAE,KAAK,cAFT;AAGZ,yBAAiB,EAAE,iBAHP;AAIZ,sBAAc,EAAE,KAAK,cAJT;AAKZ,iBAAS,EAAE,SALC;AAMZ,0BAAkB,EAAE,kBANR;AAOZ,aAAK,EAAE,KAPK;AAQZ,qBAAa,EAAE;AARH,OAAhB,CAHR,EAYK,cAAc,IACX;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,kBAAP;AAA2B,kBAAU,EAAE;AAAvC,OAAjB,EACI,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,cAAN;AAAsB,iBAAS,EAAC;AAAhC,OAAhB,CADJ,CADJ,CAbR,EAmBK,QAAQ,CAAC,MAAT,GAAkB,CAAlB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,SAA8B,2EAA9B,CADJ,EAEI,oBAAC,uCAAD,EAAmB;AAAC,gBAAQ,EAAE,QAAX;AAAqB,iCAAyB,EAAE,KAAK;AAArD,OAAnB,CAFJ,CApBR,EAwBK,UAAU,IAAI;AAAK,iBAAS,EAAC;AAAf,SACX;AAAQ,iBAAS,EAAC,gBAAlB;AAAmC,gBAAQ,EAAE,CAAC,UAAD,IAAe,QAAQ,CAAC,MAAT,KAAoB,CAAhF;AACI,eAAO,EAAE,KAAK;AADlB,SACkC,uCADlC,CADW,CAxBnB,CADJ;AAgCH;;;;EArGyC,KAAK,CAAC,S;;AAClC,0CAAiB,0BAAjB;AADlB,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChCA;;AAEA;;AACA;;AACA;;AACA;;IA6Ba,8B;;;;;AAET,0CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,wGAAM,KAAN;;AA+BI,wBAAc,YAAK;AAAA,wBACmB,MAAK,KADxB;AAAA,UACf,QADe,eACf,QADe;AAAA,UACL,QADK,eACL,QADK;AAAA,UACK,SADL,eACK,SADL;AAAA,UAEf,YAFe,GAEE,MAAK,KAFP,CAEf,YAFe;AAGvB,UAAM,SAAS,GAAG,IAAI,IAAJ,CAAS,YAAT,CAAlB;AACA,UAAM,iBAAiB,GAAG,6BAAW,SAAX,EAAsB,YAAtB,CAA1B;AACA,UAAM,eAAe,GAAG,6BAAW,SAAX,EAAsB,YAAtB,CAAxB;AACA,WAAK,CAAC,GAAN,yCAA2C,YAA3C,wBAAqE,iBAArE,sBAAkG,eAAlG,yBAAgI,QAAhI,GAA4I,IAA5I,CAAiJ,UAAC,GAAD,EAAa;AAC1J,YAAM,eAAe,GAAG,GAAG,CAAC,IAAJ,CAAS,IAAjC;;AACA,cAAK,QAAL,CAAc;AACV,kBAAQ,EAAE,QAAQ,GAAG,CAAX,gCAAmB,QAAnB,sBAAgC,eAAhC,KAAmD;AADnD,SAAd;AAGH,OALD,EAKG,KALH,CAKS,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,OALZ;AAMH,KAZO;;AAaD,sCAA4B,UAAC,KAAD,EAAU;AACzC,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KAFM;;AAIC,6BAAmB,YAAK;AAC5B,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE,MAAK,KAAL,CAAW,QAAX,GAAsB;AAAlC,OAAd;AACH,KAFO;;AAID,uBAAa,UAAC,KAAD,EAAkB;AAClC,YAAK,yBAAL,CAA+B,KAA/B;;AACA,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,QAA/B;;AACA,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;AACH,KAJM;;AAMA,wBAAc,YAAK;AACtB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;;AACA,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,MAAK,KAAL,CAAW,YAA1C;AACH,KAHM;;AAzDH,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,CADD;AAET,cAAQ,EAAE,KAAK,CAAC,iBAAN,GAA0B,KAAK,CAAC,iBAAhC,GAAoD,EAFrD;AAGT,gBAAU,EAAE,KAAK,CAAC,iBAAN,IAA4B,KAAK,CAAC,iBAAN,CAAwB,MAAxB,GAAiC,MAAK,KAAL,CAAW,oBAA7C,IAAsE,CAHpG;AAIT,uBAAiB,EAAE,CAJV;AAKT,uBAAiB,EAAE,KALV;AAMT,eAAS,EAAE,IAAI,IAAJ,EANF;AAOT,wBAAkB,EAAE,IAPX;AAQT,kBAAY,EAAE,KARL;AAST,kBAAY,EAAE;AATL,KAAb;AAFa;AAahB;;;;wCAGgB;AACb,WAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,QAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB;AAApC,OAAd;AACH;;;uCAGkB,S,EAAgC,S,EAAgC,W,EAAgB;AAC/F,UAAI,SAAS,CAAC,SAAV,KAAwB,KAAK,KAAL,CAAW,SAAnC,IACA,SAAS,CAAC,QAAV,KAAuB,KAAK,KAAL,CAAW,QADtC,EACgD;AAC5C,aAAK,WAAL;AACH;;AACD,UAAI,SAAS,CAAC,QAAV,KAAuB,KAAK,KAAL,CAAW,QAAtC,EAAgD;AAC5C,aAAK,QAAL,CAAc;AACV,oBAAU,EAAG,KAAK,KAAL,CAAW,QAAX,CAAoB,MAArB,IAAgC,CAAC,KAAK,KAAL,CAAW,QAAX,GAAsB,CAAvB,IAA4B,KAAK,KAAL,CAAW,oBAAvE,KAAgG;AADlG,SAAd;AAGH;AACJ;;;6BAiCY;AAAA;;AAAA,yBACyD,KAAK,KAD9D;AAAA,UACD,QADC,gBACD,QADC;AAAA,UACS,iBADT,gBACS,iBADT;AAAA,UAC4B,UAD5B,gBAC4B,UAD5B;AAAA,UACwC,YADxC,gBACwC,YADxC;AAAA,kCAEiD,QAAQ,CAAC,iBAAD,CAFzD;AAAA,UAED,KAFC,yBAED,KAFC;AAAA,yDAEM,qBAFN;AAAA,UAE+B,GAF/B,0BAE+B,GAF/B;AAAA,UAEoC,MAFpC,0BAEoC,MAFpC;AAIT,aACI,0CACK,YAAY,IAAI,oBAAC,iDAAD,EAAmB;AAChC,eAAO,EAAE,MADuB;AAEhC,YAAI,EAAE,KAF0B;AAGhC,YAAI,EAAE,GAH0B;AAIhC,eAAO,EAAE,KAAK;AAJkB,OAAnB,CADrB,EAMI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,KAAP,EAAgB;AAAA,YAClB,qBADkB,GACkC,IADlC,CAClB,qBADkB;AAAA,YACK,iBADL,GACkC,IADlC,CACK,iBADL;AAAA,YACwB,KADxB,GACkC,IADlC,CACwB,KADxB;AAAA,YAElB,OAFkB,GAED,qBAFC,CAElB,OAFkB;AAAA,YAET,GAFS,GAED,qBAFC,CAET,GAFS;AAG1B,eACI;AAAK,aAAG,EAAE;AAAV,WACI;AAAK,mBAAS,EAAC;AAAf,W,mFAAA,EAAuC,qDAAsC,iBAAtC,EAAyD;AAAE,kBAAQ,EAAE,IAAZ;AAAkB,kBAAQ,EAAE;AAA5B,SAAzD,CAAvC,CADJ,EAEI,oBAAC,iCAAD,EAAgB;AAAC,mBAAS,EAAC,KAAX;AAAiB,aAAG,EAAE,GAAtB;AAA2B,aAAG,EAAE,KAAhC;AAAuC,iBAAO,EAAE;AAAA,mBAAM,MAAI,CAAC,UAAL,CAAgB,KAAhB,CAAN;AAAA;AAAhD,SAAhB,CAFJ,CADJ;AAMH,OATA,CADL,EAaK,UAAU,IAAI;AAAK,iBAAS,EAAC;AAAf,SACX;AAAQ,iBAAS,EAAC,gBAAlB;AAAmC,gBAAQ,EAAE,CAAC,UAAD,IAAe,QAAQ,CAAC,MAAT,KAAoB,CAAhF;AACI,eAAO,EAAE,KAAK;AADlB,SACkC,uCADlC,CADW,CAbnB,CANJ,CADJ;AA4BH;;;;EAlG+C,KAAK,CAAC,S;;AACxC,gDAAiB,gCAAjB;AADlB,wE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCA;;AACA;;IASa,sB;;;;;;;;;;;;;6BACI;AAAA,wBAC+F,KAAK,KADpG;AAAA,4CACD,OADC;AAAA,UACU,qBADV,uBACU,qBADV;AAAA,UACiC,iBADjC,uBACiC,iBADjC;AAAA,UACsD,yBADtD,eACsD,yBADtD;AAAA,UACiF,SADjF,eACiF,SADjF;AAET,UAAM,UAAU,aAAM,qBAAqB,CAAC,OAA5B,SAAsC,qBAAqB,CAAC,OAAtB,IAAiC,qBAAqB,CAAC,MAAvD,GAAgE,GAAhE,GAAsE,EAA5G,aAAqH,qBAAqB,CAAC,MAA3I,EAAhB;AACA,aACI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE;AAAA,iBAAM,yBAAyB,CAAC,SAAD,CAA/B;AAAA;AAAnC,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACQ;AAAK,WAAG,EAAE,OAAO,CAAC,WAAR,CAAoB,qBAApB,EAA2C;AAAE,WAAC,EAAE,GAAL;AAAU,WAAC,EAAE;AAAb,SAA3C,CAAV;AACI,aAAK,EAAE;AAAE,eAAK,EAAE,GAAT;AAAc,gBAAM,EAAE;AAAtB,SADX;AAEI,WAAG,EAAE,yBAAU,qBAAV,CAFT;AAEyC,uBACxB,4BAAa,qBAAb,CAHjB;AAII,aAAK,EAAE;AAJX,QADR,CADJ,CADJ,EAWI;AAAM,iBAAS,EAAC;AAAhB,SACK,qDAAsC,iBAAtC,EAAyD;AAAE,gBAAQ,EAAE,IAAZ;AAAkB,gBAAQ,EAAE;AAA5B,OAAzD,CADL,CAXJ,CADJ;AAkBH;;;;EAtBuC,KAAK,CAAC,S;;AAAlD,wD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;IAOa,kB;;;;;;;;;;;;;6BACI;AAAA,wBACuC,KAAK,KAD5C;AAAA,UACD,QADC,eACD,QADC;AAAA,UACS,yBADT,eACS,yBADT;AAET,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,CAAP;AAAA,eACV,oBAAC,+CAAD,EAAuB;AACnB,aAAG,EAAE,CADc;AAEnB,iBAAO,EAAE,IAFU;AAGnB,mCAAyB,EAAE,yBAHR;AAInB,mBAAS,EAAE;AAJQ,SAAvB,CADU;AAAA,OAAb,CADL,CADJ;AAWH;;;;EAdmC,KAAK,CAAC,S;;AAA9C,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRA;;AACA;;AAEA;;AACA;;AACA;;IAaa,e;;;;;;;;;;;;;6BACI;AAAA,wBAEsF,KAAK,KAF3F;AAAA,UACD,OADC,eACD,OADC;AAAA,4CACQ,OADR;AAAA,UACmB,KADnB,uBACmB,KADnB;AAAA,UAC0B,qBAD1B,uBAC0B,qBAD1B;AAAA,UACiD,aADjD,uBACiD,aADjD;AAAA,UACgE,iBADhE,uBACgE,iBADhE;AAAA,UAEL,cAFK,eAEL,cAFK;AAAA,UAEW,iBAFX,eAEW,iBAFX;AAAA,UAE8B,cAF9B,eAE8B,cAF9B;AAAA,UAE8C,KAF9C,eAE8C,KAF9C;AAAA,UAEqD,SAFrD,eAEqD,SAFrD;AAAA,UAEgE,kBAFhE,eAEgE,kBAFhE;AAGT,UAAM,IAAI,GAAG,CAAC,OAAD,EAAU,KAAV,EAAiB,OAAjB,EAA0B,OAA1B,EAAmC,OAAnC,EAA4C,MAA5C,EAAoD,KAApD,CAAb;AACA,UAAM,oBAAoB,GAAG;AACzB,uBAAe,EAAE,IADQ;AAEzB,aAAK,EAAE,IAAI,IAAJ,EAFkB;AAGzB,eAAO,EAAE,IAAI,IAAJ,EAHgB;AAIzB,kBAAU,EAAE,IAJa;AAKzB,oBAAY,EAAE,CACV;AACI,eAAK,EAAE,IAAI,IAAJ,CAAS,IAAI,IAAJ,GAAW,OAAX,CAAmB,IAAI,IAAJ,GAAW,OAAX,EAAnB,CAAT;AADX,SADU;AALW,OAA7B;AAWA,UAAM,WAAW,GAAG,IAAI,CAAC,IAAI,IAAJ,WAAY,iBAAZ,GAAkC,MAAlC,EAAD,CAAxB;AACA,UAAM,WAAW,GAAG,qDAAsC,IAAI,IAAJ,WAAY,iBAAZ,GAAkC,WAAlC,EAAtC,EAAuF;AAAE,gBAAQ,EAAE,IAAZ;AAAkB,gBAAQ,EAAE;AAA5B,OAAvF,CAApB;AACA,UAAM,UAAU,aAAM,qBAAqB,CAAC,OAA5B,SAAsC,qBAAqB,CAAC,OAAtB,IAAiC,qBAAqB,CAAC,MAAvD,GAAgE,GAAhE,GAAsE,EAA5G,aAAqH,qBAAqB,CAAC,MAA3I,EAAhB;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,sCAAsC,WAAtC,EADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,SAA+B,WAA/B,CAFJ,CADJ,EAKI,oBAAC,yCAAD,EAAoB;AAAC,sBAAc,EAAE,cAAjB;AAAiC,iBAAS,EAAE,SAA5C;AAChB,yBAAiB,EAAE,iBADH;AACsB,sBAAc,EAAE,cADtC;AAEhB,4BAAoB,EAAE,oBAFN;AAE4B,aAAK,EAAE,KAFnC;AAE0C,0BAAkB,EAAE;AAF9D,OAApB,CALJ,EAQI,oBAAC,iDAAD,EAAwB;AAAC,oBAAY,EAAE,KAAf;AACpB,oBAAY,EAAE,IADM;AAEpB,qBAAa,EAAE;AAFK,OAAxB,CARJ,CADJ,EAaI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE;AAAP,OAAnB,EACI;AAAK,WAAG,EAAE,OAAO,CAAC,WAAR,CAAoB,qBAApB,EAA2C;AAAE,WAAC,EAAE,GAAL;AAAU,WAAC,EAAE;AAAb,SAA3C,CAAV;AACI,aAAK,EAAE,UADX;AAEI,aAAK,EAAE;AAAE,eAAK,EAAE,GAAT;AAAc,gBAAM,EAAE;AAAtB,SAFX;AAGI,iBAAS,EAAC,gBAHd;AAII,WAAG,EAAE,yBAAU,qBAAV,CAJT;AAIyC,uBACxB,4BAAa,qBAAb;AALjB,QADJ,CADJ,CADJ,CAbJ,CADJ;AA8BH;;;;EAlDgC,KAAK,CAAC,S;;AAA3C,0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAOa,yB;;;;;AACT,qCAAY,KAAZ,EAAiB;AAAA;;AAAA,kGACP,KADO;AAEhB;;;;6BACK;AAAA,wBACiC,KAAK,KADtC;AAAA,UACM,YADN,eACM,YADN;AAAA,UACoB,QADpB,eACoB,QADpB;AAEF,UAAI,kBAAkB,GAAG,UAAU,CAAC,WAAD,EAAc;AAAE,kBAAU;AAAZ,OAAd,CAAnC;AACA,aAEI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAE,kBAAjC;AAAqD,eAAO,EAAE;AAA9D,SACI,iCADJ,CAFJ;AAQH;;;;EAf0C,KAAK,CAAC,S;;AAArD,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPA;;AAEA;;IAmBa,kB;;;;;AACT,8BAAY,KAAZ,EAAiB;AAAA;;AAAA,2FACP,KADO;AAGhB;;;;6BACK;AAAA,wBACwC,KAAK,KAD7C;AAAA,UACM,SADN,eACM,SADN;AAAA,UACiB,KADjB,eACiB,KADjB;AAAA,UACwB,WADxB,eACwB,WADxB;AAEF,UAAI,KAAK,GAAG;AAAE,aAAK,YAAK,KAAL;AAAP,OAAZ;AACA,UAAM,MAAM,GAAG,WAAW,GAAG,QAAH,GAAc,EAAxC;AACA,aAEI;AAAK,iBAAS,8BAAuB,MAAvB,CAAd;AAA+C,aAAK,EAAE;AAAtD,SACI,gCACK,GAAG,CAAC,SAAD,EAAY,UAAC,IAAD,EAAO,CAAP;AAAA,eACZ;AAAI,aAAG,EAAE;AAAT,WACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC,UAAnC;AAA+C,eAAK,EAAE;AAAE,iBAAK,EAAE,IAAI,CAAC,KAAd;AAAqB,sBAAU,EAAE,IAAI,CAAC;AAAtC;AAAtD,SAAjB,EACI;AAAM,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA/B,UADJ,CADJ,CADY;AAAA,OAAZ,CADR,CADJ,EASI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACE,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAC,6BAAN;AAAoC,cAAM,EAAC,QAA3C;AAAoD,iBAAS,EAAC,mBAA9D;AAAkF,aAAK,EAAC;AAAxF,OAAnB,EAAqH;AAAM,iBAAS,EAAC;AAAhB,QAArH,EAAoK;AAAM,iBAAS,EAAC;AAAhB,SAA2C,4CAA3C,CAApK,CADF,EAEI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAC,+BAAN;AAAsC,iBAAS,EAAC,mBAAhD;AAAoE,aAAK,EAAC;AAA1E,OAAnB,EAAuG;AAAM,iBAAS,EAAC;AAAhB,QAAvG,EAAmJ;AAAM,iBAAS,EAAC;AAAhB,SAA2C,4CAA3C,CAAnJ,CAFJ,EAGI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAC,0BAAN;AAAiC,iBAAS,EAAC,mBAA3C;AAA+D,aAAK,EAAC;AAArE,OAAnB,EAAqG;AAAM,iBAAS,EAAC;AAAhB,QAArG,EAA4I;AAAM,iBAAS,EAAC;AAAhB,SAA2C,+CAA3C,CAA5I,CAHJ,EAII,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAC,mCAAN;AAA0C,cAAM,EAAC,QAAjD;AAA0D,iBAAS,EAAC,mBAApE;AAAwF,aAAK,EAAC;AAA9F,OAAnB,EAAmI;AAAM,iBAAS,EAAC;AAAhB,QAAnI,EAA+K;AAAM,iBAAS,EAAC;AAAhB,SAA2C,uFAA3C,CAA/K,CAJJ,EAKI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAC,+DAAN;AAAsE,cAAM,EAAC,QAA7E;AAAsF,iBAAS,EAAC,mBAAhG;AAAoH,aAAK,EAAC;AAA1H,OAAnB,EAA4J;AAAM,iBAAS,EAAC;AAAhB,QAA5J,EAAoM;AAAM,iBAAS,EAAC;AAAhB,SAA2C,qEAA3C,CAApM,CALJ,EAMI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAC,oGAAN;AAA2G,cAAM,EAAC,QAAlH;AAA2H,iBAAS,EAAC,+BAArI;AAAqK,aAAK,EAAC;AAA3K,OAAnB,EAA8M;AAAM,iBAAS,EAAC;AAAhB,QAA9M,EAA+P;AAAM,iBAAS,EAAC;AAAhB,SAA2C,2EAA3C,CAA/P,CANJ,EAOI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAC,wDAAN;AAA+D,iBAAS,EAAC,wBAAzE;AAAkG,aAAK,EAAC;AAAxG,OAAnB,EAA0I;AAAM,iBAAS,EAAC;AAAhB,QAA1I,EAAsL;AAAM,iBAAS,EAAC;AAAhB,SAA2C,qEAA3C,CAAtL,CAPJ,CADJ,CATJ,CAFJ;AA2BH;;;;EApCmC,KAAK,CAAC,S;;AAA9C,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;;AACA;;AACA;;AACA;;AAEA,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAWa,sB;;;;;AAET,kCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,gGAAM,KAAN;;AAOI,wBAAc,YAAK;AACvB,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAE,CAAC,MAAK,KAAL,CAAW,WAA3B;AAAwC,sBAAc,EAAE;AAAxD,OAAd;AACH,KAFO;;AAGA,2BAAiB,YAAK;AAC1B,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,CAAC,MAAK,KAAL,CAAW,cAA9B;AAA8C,mBAAW,EAAE;AAA3D,OAAd;AACH,KAFO;;AATJ,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE,KADJ;AAET,oBAAc,EAAE;AAFP,KAAb;AAFa;AAMhB;;;;6BAQK;AAAA,wBACmC,KAAK,KADxC;AAAA,UACM,SADN,eACM,SADN;AAAA,UACiB,KADjB,eACiB,KADjB;AAAA,UACyB,MADzB,eACyB,MADzB;AAEF,aAEI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,yCAAD,EAAuB;AAAC,sBAAc,EAAE,KAAK,cAAtB;AAAsC,gBAAQ,EAAE,KAAK,KAAL,CAAW;AAA3D,OAAvB,CADJ,EAEI,oBAAC,2CAAD,EAA0B;AAAC,oBAAY,EAAE,KAAK,WAApB;AAAiC,gBAAQ,EAAE,KAAK,KAAL,CAAW;AAAtD,OAA1B,CAFJ,EAGI,oBAAC,6BAAD,EAAmB;AAAC,iBAAS,EAAE,SAAZ;AAAuB,aAAK,EAAE,KAA9B;AAAqC,mBAAW,EAAE,KAAK,KAAL,CAAW;AAA7D,OAAnB,CAHJ,EAIK,KAAK,KAAL,CAAW,cAAX,IAA6B,oBAAC,sCAAD,EAA0B;AAAC,aAAK,EAAE,KAAR;AAAe,cAAM,EAAE;AAAvB,OAA1B,CAJlC,CAFJ;AAWH;;;;EA7BuC,KAAK,CAAC,S;;AAChC,wCAAiB,wBAAjB;AADlB,wD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBA;;AACA;;IASa,c;;;;;AACT,0BAAY,KAAZ,EAAiB;AAAA;;AAAA,uFACP,KADO;AAEhB;;;;6BAEK;AAAA,wBAC4C,KAAK,KADjD;AAAA,UACM,GADN,eACM,GADN;AAAA,UACW,UADX,eACW,UADX;AAAA,UACuB,IADvB,eACuB,IADvB;AAAA,UAC6B,UAD7B,eAC6B,UAD7B;AAGF,aACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,IAAP;AAAa,kBAAU,EAAE,UAAzB;AAAqC,iBAAS,EAAE;AAAhD,OAAjB,EACI,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,GAAN;AAAW,WAAG,EAAE,UAAhB;AAA4B,aAAK,EAAE,UAAnC;AAA6C,uBAAc,MAA3D;AAAiE,sBAAY;AAA7E,OAAhB,CADJ,CADJ,CADJ;AAOH;;;;EAf+B,KAAK,CAAC,S;;AAA1C,wC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;AACA;;IAgBa,iB;;;;;AACT,6BAAY,KAAZ,EAAiB;AAAA;;AAAA,0FACP,KADO;AAEhB;;;;6BAEK;AAAA,UACM,KADN,GACgB,KAAK,KADrB,CACM,KADN;AAEF,aACI;AAAK,iBAAS,EAAC,kBAAf;AAAkC,YAAI,EAAC,YAAvC;AAAmD,sBAAY;AAA/D,SACI,gCACK,CAAC,CAAC,GAAF,CAAO,KAAP,EAAe,UAAC,IAAD,EAAY,KAAZ;AAAA,eACZ;AAAI,aAAG,EAAE;AAAT,WACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC,UAAnC;AAA+C,mBAAS,EAAE,IAAI,CAAC,UAA/D;AAA2E,eAAK,EAAE;AAAE,iBAAK,EAAE,IAAI,CAAC;AAAd;AAAlF,SAAjB,EACK,IAAI,CAAC,GAAL,KAAa,EAAb,GAAkB,oBAAC,iCAAD,EAAgB;AAAC,aAAG,EAAE,IAAI,CAAC,GAAX;AAAgB,aAAG,EAAE,IAAI,CAAC,UAA1B;AAAsC,eAAK,EAAE,IAAI,CAAC,UAAlD;AAA8D,eAAK,EAAE,MAArE;AAA6E,gBAAM,EAAE;AAArF,SAAhB,CAAlB,GACG;AAAM,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA/B,UAFR,CADJ,CADY;AAAA,OAAf,CADL,CADJ,CADJ;AAeH;;;;EAtBkC,KAAK,CAAC,S;;AAA7C,8C;;;;;;;;;;;;;;;;;;;;;;;ACjBA;;AACA;;AACA;;AAWa,8BAAsB,UAAC,KAAD,EAAoC;AAAA,MAE3D,SAF2D,GAEkB,KAFlB,CAE3D,SAF2D;AAAA,MAEhD,cAFgD,GAEkB,KAFlB,CAEhD,cAFgD;AAAA,MAEhC,QAFgC,GAEkB,KAFlB,CAEhC,QAFgC;AAAA,MAEtB,YAFsB,GAEkB,KAFlB,CAEtB,YAFsB;AAAA,MAER,aAFQ,GAEkB,KAFlB,CAER,aAFQ;AAAA,MAEO,MAFP,GAEkB,KAFlB,CAEO,MAFP;;AAAA,0BAG3B,iBAAkB,KAAlB,CAH2B;AAAA;AAAA,MAG5D,YAH4D;AAAA,MAG9C,eAH8C;;AAInE,MAAI,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC,EAAZ,GAAiB,EAA1C;AACA,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAV,CAAe,cAAI;AAAA,WAAI,IAAI,CAAC,UAAL,KAAoB,UAAxB;AAAA,GAAnB,KAA0D,cAAc,CAAC,IAAf,CAAoB,cAAI;AAAA,WAAI,IAAI,CAAC,UAAL,KAAoB,UAAxB;AAAA,GAAxB,CAAnF;;AACA,MAAM,kBAAkB,GAAG,SAArB,kBAAqB,GAAK;AAC5B,mBAAe,CAAC,CAAC,YAAF,CAAf;AAEH,GAHD;;AAIA,MAAM,QAAQ,GAAG,YAAY,GAAG,QAAH,GAAc,QAA3C;AACA,MAAM,SAAS,2BAAoB,QAApB,kBAAf;AACA,SACI;AAAK,aAAS,EAAC,uBAAf;AAAuC,SAAK,EAAE;AAAE,qBAAe,EAAE,gBAAgB,IAAI,gBAAgB,CAAC,OAArC,GAA+C,gBAAgB,CAAC,OAAhE,GAA0E;AAA7F;AAA9C,KACG,mCACC,SADD,CADH,EAII,oBAAC,yDAAD,EAA4B;AACxB,aAAS,EAAE,SADa;AAExB,kBAAc,EAAE,cAFQ;AAGxB,gBAAY,EAAE,YAHU;AAIxB,gBAAY,EAAE,YAJU;AAKxB,UAAM,EAAE,MALgB;AAMxB,eAAW,EAAE;AANW,GAA5B,CAJJ,EAaI;AAAK,aAAS,EAAC,0BAAf;AAA0C,WAAO,EAAE;AAAnD,IAbJ,EAeI;AAAK,aAAS,EAAC;AAAf,KACK,aAAa,GAAG,QAAQ,CAAC,IAAZ,GAAmB,gBAAgB,IAAI,gBAAgB,CAAC,UAAjB,KAA8B,GAAlD,IAAyD,gBAAgB,CAAC,KAA1E,GAC7B,gBAAgB,CAAC,KADY,GAG7B;AAAK,aAAS,EAAC;AAAf,IAJR,CAfJ,EAuBI;AAAK,aAAS,EAAC;AAAf,KACK,gBAAgB,GACb,oBAAC,8BAAD,EAAmB;AAAC,QAAI,EAAC,GAAN;AAAU,SAAK,EAAC;AAAhB,GAAnB,EACI;AAAK,aAAS,EAAC;AAAf,IADJ,CADa,GAKb,oBAAC,8BAAD,EAAmB;AAAC,QAAI,EAAC,2BAAN;AAAkC,SAAK,EAAC;AAAxC,GAAnB,EACI;AAAK,aAAS,EAAC;AAAf,IADJ,CANR,CAvBJ,CADJ;AAqCH,CAjDY;;AAmDb,4BAAoB,cAApB,GAAqC,qBAArC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjEA;;AACA;;IAea,2B;;;;;AACT,uCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,qGAAM,KAAN;;AAOI,6BAAmB,UAAC,GAAD,EAAQ;AAC/B,YAAK,QAAL,CAAc;AAAE,iBAAS,EAAE,GAAG,CAAC,MAAJ,CAAW;AAAxB,OAAd;AACH,KAFO;;AAGA,iCAAuB,YAAK;AAChC,YAAM,aAAN,IAAyB,MAAM,aAAN,CAAoB,WAApB,EAAzB;AACA,YAAM,aAAN,IAAuB,MAAM,aAAN,QAAvB,IAAsD,MAAM,aAAN,SAA4B,QAA5B,EAAtD;AACH,KAHO;;AAIA,mBAAS,YAAK;AAAA,UACC,cADD,GACoB,MAAK,KADzB,CACV,SADU;;AAGlB,UAAI,CAAC,cAAL,EAAqB;AACjB;AACH;;AACD,UAAI,OAAO,GAAG,EAAd;AACA,UAAM,OAAO,GAAG,sEAAhB;AACA,aAAO,aAAM,MAAK,KAAL,CAAW,MAAjB,2BAAwC,OAAxC,SAAkD,cAAlD,CAAP;AAEA,aAAO;AACP,YAAM,CAAC,IAAP,CAAY,OAAZ,EAAqB,MAArB;AACH,KAZO;;AAaA,gCAAsB,UAAC,GAAD,EAA6B;AACvD,UAAI,GAAG,CAAC,GAAJ,KAAY,OAAhB,EAAyB;AACrB,cAAK,MAAL;AACH;AAEJ,KALO;;AAzBJ,UAAK,KAAL,GAAa;AACT,eAAS,EAAE;AADF,KAAb;AAHa;AAOhB;;;;6BA4BK;AAAA,wBAC6E,KAAK,KADlF;AAAA,UACM,SADN,eACM,SADN;AAAA,UACiB,cADjB,eACiB,cADjB;AAAA,UACiC,YADjC,eACiC,YADjC;AAAA,UAC+C,YAD/C,eAC+C,YAD/C;AAAA,UAC6D,WAD7D,eAC6D,WAD7D;AAAA,UAEK,SAFL,GAEgB,KAAK,KAFrB,CAEK,SAFL;AAIF,UAAM,eAAe,GAAG,YAAY,CAAC,eAAb,CAA6B,YAA7B,KAA8C,KAA9C,GAAsD,QAAtD,GAAiE,MAAzF;AACA,UAAM,iBAAiB,GAAG,YAAY,CAAC,iBAAb,CAA+B,YAA/B,KAAgD,KAAhD,GAAwD,QAAxD,GAAmE,MAA7F;AACA,aACI;AAAK,iBAAS,4CAAqC,YAAY,GAAG,MAAH,GAAY,MAA7D;AAAd,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,QAAlB;AAA2B,eAAO,EAAE,KAAK;AAAzC,QADJ,EAEI;AACI,WAAG,EAAC,2BADR;AAEI,iBAAS,EAAC,cAFd;AAGI,UAAE,EAAC,cAHP;AAGqB,sBACN,gCAJf;AAKI,YAAI,EAAC,MALT;AAMI,aAAK,EAAE,SANX;AAOI,mBAAW,EAAC,2BAPhB;AAQI,gBAAQ,EAAE,KAAK,gBARnB;AASI,kBAAU,EAAE,KAAK;AATrB,QAFJ,CADJ,EAgBI;AAAK,iBAAS,EAAC;AAAf,SACA;AAAK,iBAAS,EAAC;AAAf,SAGI;AAAK,iBAAS,EAAC;AAAf,SACK,SAAS,CAAC,GAAV,CAAc,cAAI;AAAA,eACf,oBAAC,8BAAD,EAAmB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,gBAAM,EAAE,IAAI,CAAC,UAA/B;AAA2C,mBAAS,EAAE,IAAI,CAAC,KAA3D;AAAkE,mBAAS,EAAC,uBAA5E;AAAoG,aAAG,EAAE,IAAI,CAAC;AAA9G,SAAnB,EACK,IAAI,CAAC,aAAL,IAAsB,oBAAC,iCAAD,EAAgB;AAAC,aAAG,EAAE,IAAI,CAAC,aAAX;AAA0B,aAAG,EAAE,IAAI,CAAC,KAApC;AAA2C,eAAK,EAAE,IAAI,CAAC,KAAvD;AAA8D,eAAK,EAAE,EAArE;AAAyE,gBAAM,EAAE;AAAjF,SAAhB,CAD3B,EAEI;AAAK,mBAAS,EAAC;AAAf,WAA6B,IAAI,CAAC,KAAlC,CAFJ,CADe;AAAA,OAAlB,CADL,CAHJ,EAYI;AAAK,iBAAS,EAAC;AAAf,QAZJ,EAcI;AAAK,iBAAS,EAAC;AAAf,SACK,cAAc,CAAC,GAAf,CAAmB,cAAI;AAAA,eACpB,oBAAC,8BAAD,EAAmB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,gBAAM,EAAE,IAAI,CAAC,UAA/B;AAA2C,mBAAS,EAAE,IAAI,CAAC,KAA3D;AAAkE,mBAAS,EAAC,4BAA5E;AAAyG,aAAG,EAAE,IAAI,CAAC;AAAnH,SAAnB,EACI;AAAK,mBAAS,EAAC;AAAf,WAA6B,IAAI,CAAC,KAAlC,CADJ,CADoB;AAAA,OAAvB,CADL,CAdJ,EAsBI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,YAAY,CAAC,WAAb,CAAyB,IAAzB,CAA8B,aAArC;AAAoD,cAAM,EAAE,eAA5D;AAA6E,iBAAS,EAAE,gBAAxF;AAA0G,iBAAS,EAAC;AAApH,OAAnB,EACI;AAAK,iBAAS,EAAC;AAAf,SAAoC,iFAApC,CADJ,CADJ,EAII,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,YAAY,CAAC,SAAb,CAAuB,IAAvB,CAA4B,aAAnC;AAAkD,cAAM,EAAE,iBAA1D;AAA6E,iBAAS,EAAE,YAAxF;AAAsG,iBAAS,EAAC;AAAhH,OAAnB,EACI;AAAK,iBAAS,EAAC;AAAf,SAAoC,yDAApC,CADJ,CAJJ,CAtBJ,CADA,EAkCA;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAC,QAAN;AAAe,iBAAS,EAAC,iBAAzB;AAA2C,aAAK,EAAC;AAAjD,OAAnB,EACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,SAA4B,qEAA5B,CAFJ,CADJ,EAMI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAC,KAAN;AAAY,iBAAS,EAAC,iBAAtB;AAAwC,aAAK,EAAC;AAA9C,OAAnB,EACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,SAA4B,+CAA5B,CAFJ,CANJ,EAWI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAC,UAAN;AAAiB,iBAAS,EAAC,iBAA3B;AAA6C,aAAK,EAAC;AAAnD,OAAnB,EACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,SAA4B,uFAA5B,CAFJ,CAXJ,EAgBI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAC,UAAN;AAAiB,iBAAS,EAAC,iBAA3B;AAA6C,aAAK,EAAC;AAAnD,OAAnB,EACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,SAA2C,mDAA3C,CAFJ,CAhBJ,EAqBI;AAAK,UAAE,EAAC,cAAR;AAAuB,iBAAS,EAAC,iBAAjC;AAAmD,aAAK,EAAC,6CAAzD;AAAoE,iBAAS,EAAC,GAA9E;AAAiF,2BAAiB,eAAlG;AAAkH,YAAI,EAAC,QAAvH;AACI,eAAO,EAAE,KAAK;AADlB,SAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,EAGI;AAAM,iBAAS,EAAC;AAAhB,SAA4B,sCAA5B,CAHJ,CArBJ,CAlCA,CAhBJ,EAgFG;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE;AAAzC,QAhFH,CADJ;AAoFH;;;;EA9H4C,KAAK,CAAC,S;;AAAvD,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAOa,sB;;;;;AACT,kCAAY,KAAZ,EAAiB;AAAA;;AAAA,+FACP,KADO;AAEhB;;;;6BACK;AAAA,wBACmC,KAAK,KADxC;AAAA,UACM,cADN,eACM,cADN;AAAA,UACsB,QADtB,eACsB,QADtB;AAEF,UAAI,eAAe,GAAG,UAAU,CAAC,cAAD,EAAiB;AAAE,kBAAU;AAAZ,OAAjB,CAAhC;AACA,aAEI;AAAK,UAAE,EAAC,eAAR;AAAwB,iBAAS,EAAE,eAAnC;AAAoD,eAAO,EAAE;AAA7D,SACI;AAAK,WAAG,EAAC,gCAAT;AAAiB,WAAG,EAAC;AAArB,QADJ,CAFJ;AAQH;;;;EAfuC,KAAK,CAAC,S;;AAAlD,wD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRA;;AACA;;IAuBa,yB;;;;;AACT,qCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,mGAAM,KAAN;;AAUI,6BAAmB,UAAC,GAAD,EAAQ;AAC/B,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,GAAG,CAAC,MAAJ,CAAW;AAA7B,OAAd;AACH,KAFO;;AAIA,mBAAS,YAAK;AAAA,UACV,cADU,GACS,MAAK,KADd,CACV,cADU;AAAA,UAEV,MAFU,GAEC,MAAK,KAFN,CAEV,MAFU;AAGlB,UAAI,OAAO,GAAG,EAAd;AACA,UAAI,SAAS,GAAG,EAAhB;AACA,UAAI,OAAO,GAAG,EAAd;AACA,UAAI,OAAO,GAAG,EAAd;;AAEA,UAAI,CAAC,4BAAL,EAAoB;AAChB,eAAO,aAAM,MAAN,mBAAP;AACA,iBAAS,GAAG,cAAZ;AACA,eAAO,GAAG,sEAAV;AACA,eAAO,GAAG,OAAO,GAAG,OAAV,GAAoB,SAA9B;AACA,gBAAQ,CAAC,IAAT,GAAgB,OAAhB;AACH;AAEJ,KAhBO;;AAkBA,gCAAsB,UAAC,GAAD,EAA6B;AACvD,UAAI,GAAG,CAAC,GAAJ,KAAY,OAAhB,EAAyB;AACrB,cAAK,MAAL;AACH;AAEJ,KALO;;AA/BJ,UAAK,KAAL,GAAa;AACT,gBAAU,EAAE,UADH;AAET,oBAAc,EAAE,EAFP;AAGT,wBAAkB,EAAE,IAHX;AAIT,mBAAa,EAAE,IAJN;AAKT,gBAAU,EAAE;AALH,KAAb;AAFa;AAUhB;;;;6BAmCK;AAAA,UACM,KADN,GACgB,KAAK,KADrB,CACM,KADN;AAAA,UAEM,cAFN,GAEyB,KAAK,KAF9B,CAEM,cAFN;AAGF,UAAI,QAAQ,GACR,CAAC;AAAE,YAAI,EAAE,UAAR;AAAoB,aAAK,EAAE;AAA3B,OAAD,CADJ;AAEA,UAAI,KAAK,GAAG;AAAE,aAAK,YAAK,KAAL;AAAP,OAAZ;AACA,aACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,aAAK,EAAE;AAAnC,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAI,iBAAS,EAAC;AAAd,SACK,GAAG,CAAC,QAAD,EAAW,UAAC,IAAD,EAAO,CAAP;AAAA,eACX;AAAI,aAAG,EAAE,CAAT;AAAY,YAAE,EAAE,IAAI,CAAC;AAArB,WACI;AAAA,uBAAc,IAAI,CAAC,IAAnB;AAAyB,mBAAS,EAAE;AAApC,WAA+C,IAAI,CAAC,KAApD,CADJ,CADW;AAAA,OAAX,CADR,CADJ,EAQI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,YAAI,EAAC,MADT;AAEI,UAAE,EAAC,aAFP;AAGI,mBAAW,EAAC,oBAHhB;AAII,iBAAS,EAAE,EAJf;AAKI,kBAAU,EAAE,KAAK,mBALrB;AAMI,gBAAQ,EAAE,KAAK,gBANnB;AAOI,aAAK,EAAE;AAPX,QADJ,EASI;AAAM,iBAAS,EAAC;AAAhB,QATJ,CARJ,CADJ,CADJ;AAwBH;;;;EA5E0C,KAAK,CAAC,S;;AAArD,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;;AACA;;AAGA;;AACA;;AACA;;AACA;;IAgBa,4B;;;;;AACT,wCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,sGAAM,KAAN;;AAQI,kCAAwB,YAAK;AACjC,UAAI,MAAM,GAAG,QAAQ,CAAC,cAAT,CAAwB,yBAAxB,CAAb;;AACA,UAAI,MAAM,GAAG,MAAK,YAAL,CAAkB,MAAlB,CAAb;;AAEA,cAAQ,CAAC,gBAAT,CAA0B,QAA1B,EAAoC,UAAC,CAAD,EAAM;AACtC,YAAI,MAAM,CAAC,WAAP,GAAqB,MAAzB,EAAiC;AAC7B,WAAC,MAAK,KAAL,CAAW,QAAZ,GAAuB,MAAK,QAAL,CAAc;AAAE,oBAAQ,EAAE;AAAZ,WAAd,CAAvB,GAA2D,EAA3D;AACH,SAFD,MAEO;AACH,gBAAK,KAAL,CAAW,QAAX,GAAsB,MAAK,QAAL,CAAc;AAAE,oBAAQ,EAAE;AAAZ,WAAd,CAAtB,GAA2D,EAA3D;AACH;AACJ,OAND;AAOH,KAXO;;AAaA,yBAAe,iBAAO,EAAG;AAC7B,UAAI,SAAS,GAAG,CAAhB;;AACA,aAAO,OAAP,EAAgB;AACZ,iBAAS,IAAI,OAAO,CAAC,SAArB;AACA,eAAO,GAAG,OAAO,CAAC,YAAlB;AACH;;AACD,aAAO,SAAP;AACH,KAPO;;AApBJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE;AADD,KAAb;AAFa;AAKhB;;;;wCA0BgB;AACb,WAAK,qBAAL;AACH;;;6BAEK;AAAA,wBACkF,KAAK,KADvF;AAAA,UACM,SADN,eACM,SADN;AAAA,UACiB,YADjB,eACiB,YADjB;AAAA,UAC+B,SAD/B,eAC+B,SAD/B;AAAA,UAC0C,MAD1C,eAC0C,MAD1C;AAAA,UACkD,KADlD,eACkD,KADlD;AAAA,UACyD,YADzD,eACyD,YADzD;AAAA,UACuE,MADvE,eACuE,MADvE;AAAA,UAEM,QAFN,GAEmB,KAAK,KAFxB,CAEM,QAFN;AAIF,aACI;AAAK,iBAAS,EAAE,QAAQ,GAAG,UAAH,GAAgB;AAAxC,SACQ,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,+BAAa,YAAb,EAA2B,SAAS,CAAC,GAArC,CAAN;AAAiD,iBAAS,EAAC;AAA3D,OAAhB,CADR,EAEI;AAAK,UAAE,EAAC,yBAAR;AAAkC,iBAAS,EAAC;AAA5C,SACK,CAAC,4BAAD,IAAkB;AAAK,iBAAS,EAAC;AAAf,QADvB,EAEI,oBAAC,mCAAD,EAAiB;AAAC,cAAM,EAAE;AAAT,OAAjB,CAFJ,EAGI,oBAAC,+BAAD,EAAe;AAAC,WAAG,EAAE,+BAAa,YAAb,EAA2B,SAAS,CAAC,GAArC,CAAN;AAAiD,kBAAU,EAAE,SAAS,CAAC,UAAvE;AAAmF,YAAI,EAAE,SAAS,CAAC,IAAnG;AAAyG,kBAAU,EAAE,SAAS,CAAC;AAA/H,OAAf,CAHJ,EAII,oBAAC,qCAAD,EAAkB;AAAC,aAAK,EAAE;AAAR,OAAlB,CAJJ,EAKI,oBAAC,+CAAD,EAAuB;AAAC,iBAAS,EAAE,SAAZ;AAAuB,aAAK,EAAE,KAA9B;AAAqC,cAAM,EAAE;AAA7C,OAAvB,CALJ,CAFJ,CADJ;AAYH;;;;EApD6C,KAAK,CAAC,S;;AAQtC,8CAAiB,8BAAjB;AARlB,oE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IChBa,gB;;;;;;;;;;;;;6BAIH;AAAA,UACM,MADN,GACiB,KAAK,KADtB,CACM,MADN;AAEF,UAAI,MAAJ;;AACA,UAAI,MAAM,KAAK,SAAf,EAA0B;AACtB,cAAM,GAAG,WAAT;AACH,OAFD,MAGK,IAAI,MAAM,KAAK,cAAf,EAA+B;AAChC,cAAM,GAAG,mBAAT;AACH,OAFI,MAGA,IAAI,MAAM,KAAK,SAAf,EAA0B;AAC3B,cAAM,GAAG,WAAT;AACH;;AACD,UAAI,MAAM,KAAK,MAAf,EAAuB,OAAO,IAAP,CAAvB,KACK,OACD;AAAK,iBAAS,4BAAqB,MAArB,CAAd;AAA6C,WAAG,gCAAyB,MAAzB;AAAhD,QADC;AAMR;;;;EAvBiC,KAAK,CAAC,S;;AAA5C,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;IA0Ba,8B;;;;;AAET,0CAAY,KAAZ,EAAsD;AAAA;;AAAA;;AAClD,wGAAM,KAAN;;AAwBI,sBAAY,UAAC,CAAD,EAAM;AACtB,YAAK,MAAL,CAAY,SAAZ,CAAsB,CAAtB;;AACA,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAE;AAAf,OAAd;AACH,KAHO;;AAKA,kCAAwB,UAAC,WAAD,EAAwB;AACpD,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAX;AAAF,OAAd;AACH,KAFO;;AA5BJ,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE,CADJ;AAET,iBAAW,EAAC;AAFH,KAAb;AAFkD;AAMrD;;;;wCAKgB;AAAA;;AACb,UAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,MAAvB,CAAtB;AACA,WAAK,cAAL,GAAsB,IAAI,cAAJ,CAAmB,iBAAO;AAAA,eAAI,OAAO,CAAC,OAAR,CAAgB,WAAC,EAAG;AACpE,gBAAI,CAAC,qBAAL,CAA2B,CAAC,CAAC,WAAF,CAAc,KAAzC;AACH,SAFmD,CAAJ;AAAA,OAA1B,CAAtB;AAIA,mBAAa,IAAI,KAAK,cAAL,CAAoB,OAApB,CAA4B,aAA5B,CAAjB;AACH;;;2CAEmB;AAChB,WAAK,cAAL,IAAuB,KAAK,cAAL,CAAoB,UAApB,EAAvB;AAEH;;;6BAWY;AAAA;;AAAA,wBACmG,KAAK,KADxG;AAAA,UACD,QADC,eACD,QADC;AAAA,UACS,OADT,eACS,OADT;AAAA,UACkB,aADlB,eACkB,aADlB;AAAA,UACiC,QADjC,eACiC,QADjC;AAAA,UAC2C,QAD3C,eAC2C,QAD3C;AAAA,UACqD,UADrD,eACqD,UADrD;AAAA,UACiE,aADjE,eACiE,aADjE;AAAA,UACgF,cADhF,eACgF,cADhF;AAAA,wBAE2B,KAAK,KAFhC;AAAA,UAED,WAFC,eAED,WAFC;AAAA,UAEW,WAFX,eAEW,WAFX;AAGT,UAAM,QAAQ,GAAG;AACb,gBAAQ,EAAE,IADG;AAEb,aAAK,EAAE,GAFM;AAGb,oBAAY,EAAE,CAHD;AAIb,sBAAc,EAAE,CAJH;AAKb,gBAAQ,EAAE,IALG;AAMb,oBAAY,EAAE,sBAAC,OAAD,EAAU,IAAV;AAAA,iBAAmB,MAAI,CAAC,QAAL,CAAc;AAAE,uBAAW,EAAE;AAAf,WAAd,CAAnB;AAAA,SAND;AAOb,qBAAa,EAAE,cAAc,GAAG,MAPnB;AAQb,iBAAS,EAAE,oBAAC,eAAD,EAAgB,IAAhB,CARE;AASb,iBAAS,EAAE,oBAAC,eAAD,EAAgB,IAAhB;AATE,OAAjB;AAYA,aACI;AAAK,iBAAS;AAAd,SACI;AAAI,iBAAS,EAAC;AAAd,SACI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,oBAAX;AAAgC,YAAI,EAAE,OAAtC;AAA+C,kBAAU,EAAE,aAA3D;AAA0E,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAAjF,OAAjB,EAAuH;AAAK,iBAAS,EAAC;AAAf,SAAiC,QAAjC,CAAvH,CADJ,CADJ,EAII;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,GAAG,CAAC,QAAD,EAAW,UAAC,IAAD,EAAO,CAAP;AAAA,eACX;AAAI,mBAAS,EAAE,UAAU,CAAC,WAAD,EAAc;AAAE,2BAAe,CAAC,KAAK;AAAvB,WAAd,CAAzB;AAA8E,aAAG,EAAE,CAAnF;AAAsF,sBAAY,EAAE;AAAA,mBAAM,MAAI,CAAC,SAAL,CAAe,CAAf,CAAN;AAAA;AAApG,WACQ;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADR,CADW;AAAA,OAAX,CADR,CADJ,EASI,oBAAC,qBAAD,EAAO;AAAC,WAAG,EAAE,mBAAM;AAAA,iBAAK,MAAI,CAAC,MAAL,GAAc,MAAnB;AAAA;AAAZ,SAA4C,QAA5C,EAAoD;AAAE,iBAAS,EAAC;AAAZ,OAApD,CAAP,EACK,GAAG,CAAC,QAAD,EAAW,UAAC,IAAD,EAAO,KAAP;AAAA,eACX;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,EAAE;AAA/B,WACI;AAAK,mBAAS,EAAC;AAAf,WACI,oBAAC,qBAAD,EAAU;AACN,yBAAe,EAAE,IADX;AAEN,qBAAW,EAAE,IAAI,CAAC,IAFZ;AAGN,oBAAU,EAAE,IAAI,CAAC,UAHX;AAIN,cAAI,EAAE,IAAI,CAAC,KAJL;AAKN,uBAAa,EAAE,IALT;AAMN,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW,GANV;AAON,eAAK,EAAE,WAPD;AAQN,gBAAM,EAAE;AARF,SAAV,CADJ,CADJ,EAaQ;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf,WAA9B;AAAyD,mBAAS,EAAC;AAAnE,UAbR,CADW;AAAA,OAAX,CADR,CATJ,CAJJ,CADJ;AAoCH;;;;EAvF+C,KAAK,CAAC,S;;AACxC,gDAAiB,gCAAjB;AADlB;;AA0FA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAA,MACtB,OADsB,GACV,KADU,CACtB,OADsB;AAE9B,SACI;AACI,aAAS,EAAC,sBADd;AAEI,WAAO,EAAE;AAFb,IADJ;AAMH,CARD;;AAUA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAA,MACtB,OADsB,GACV,KADU,CACtB,OADsB;AAE9B,SACI;AACI,aAAS,EAAC,sBADd;AAEI,WAAO,EAAE;AAFb,IADJ;AAMH,CARD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtIA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AAGA;;AACA;;AAEA;;AACA;;IA2Ba,yB;;;;;AACT,qCAAY,KAAZ,EAAkC;AAAA;;AAAA;;AAC9B,mGAAM,KAAN,GAD8B,CAQlC;;AACQ,qBAAW,YAAK;AACpB,YAAK,MAAL,CAAY,SAAZ;AACH,KAFO;;AAGA,iBAAO,YAAK;AAChB,YAAK,MAAL,CAAY,SAAZ;AAEH,KAHO;;AAKA,sBAAY,UAAC,CAAD,EAAM;AACtB,YAAK,MAAL,CAAY,SAAZ,CAAsB,CAAtB;;AACA,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAE;AAAf,OAAd;AACH,KAHO;;AAIA,6BAAmB,UAAC,UAAD,EAAuB;AAC9C,cAAQ,UAAR;AACI,aAAK,CAAL;AAAQ,iBAAO,OAAP;;AACR,aAAK,CAAL;AAAQ,iBAAO,OAAP;;AACR,aAAK,CAAL;AAAQ,iBAAO,OAAP;;AACR,aAAK,EAAL;AAAS,iBAAO,OAAP;AAJb;AAOH,KARO;;AAnBJ,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE;AADJ,KAAb;AAF8B;AAMjC;;;;6BA0BY;AAAA;;AAAA,wBACmG,KAAK,KADxG;AAAA,UACD,QADC,eACD,QADC;AAAA,UACS,OADT,eACS,OADT;AAAA,UACkB,aADlB,eACkB,aADlB;AAAA,UACiC,QADjC,eACiC,QADjC;AAAA,UAC2C,QAD3C,eAC2C,QAD3C;AAAA,UACqD,UADrD,eACqD,UADrD;AAAA,UACiE,aADjE,eACiE,aADjE;AAAA,UACgF,cADhF,eACgF,cADhF;AAAA,UAED,WAFC,GAEe,KAAK,KAFpB,CAED,WAFC;AAKT,UAAM,QAAQ,GAAG;AACb,gBAAQ,EAAE,IADG;AAEb,aAAK,EAAE,GAFM;AAGb,oBAAY,EAAE,CAHD;AAIb,sBAAc,EAAE,CAJH;AAKb,gBAAQ,EAAE,IALG;AAMb,oBAAY,EAAE,sBAAC,OAAD,EAAU,IAAV;AAAA,iBAAmB,MAAI,CAAC,QAAL,CAAc;AAAE,uBAAW,EAAE;AAAf,WAAd,CAAnB;AAAA,SAND;AAOb,qBAAa,EAAE,cAAc,GAAG,IAPnB;AASb,iBAAS,EAAE,oBAAC,eAAD,EAAgB,IAAhB,CATE;AAUb,iBAAS,EAAE,oBAAC,eAAD,EAAgB,IAAhB;AAVE,OAAjB;AAYA,aACI;AAAK,iBAAS,wBAAd;AAAwC,aAAK,EAAE;AAAE,gBAAM,EAAE,KAAK,gBAAL,CAAsB,QAAQ,CAAC,MAA/B;AAAV;AAA/C,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,yBAAX;AAAqC,YAAI,EAAE,OAA3C;AAAoD,kBAAU,EAAE,aAAhE;AAA+E,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAAtF,OAAjB,EAA4H;AAAK,iBAAS,EAAC;AAAf,SAAiC,QAAjC,CAA5H,CADJ,CADJ,EAII;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,GAAG,CAAC,QAAD,EAAW,UAAC,IAAD,EAAO,CAAP;AAAA,eACX;AAAQ,mBAAS,EAAE,UAAU,CAAC,WAAD,EAAc;AAAE,2BAAe,CAAC,KAAK;AAAvB,WAAd,CAA7B;AAAkF,aAAG,EAAE,CAAvF;AAA0F,sBAAY,EAAE;AAAA,mBAAM,MAAI,CAAC,SAAL,CAAe,CAAf,CAAN;AAAA;AAAxG,WACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC,UAAnC;AAA+C,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAtD,SAAjB,EACI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADJ,CADJ,CADW;AAAA,OAAX,CADR,CADJ,EAWI,oBAAC,qBAAD,EAAO;AAAC,WAAG,EAAE,mBAAM;AAAA,iBAAK,MAAI,CAAC,MAAL,GAAc,MAAnB;AAAA;AAAZ,SAA4C,QAA5C,EAAoD;AAAE,iBAAS,EAAC;AAAZ,OAApD,CAAP,EACK,GAAG,CAAC,QAAD,EAAW,UAAC,IAAD,EAAO,KAAP;AAAA,eACX;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,EAAE;AAA/B,WACI;AAAK,mBAAS,EAAC;AAAf,WACI,oBAAC,qBAAD,EAAU;AACN,yBAAe,EAAE,IADX;AAEN,qBAAW,EAAE,IAAI,CAAC,IAFZ;AAGN,oBAAU,EAAE,IAAI,CAAC,UAHX;AAIN,cAAI,EAAE,IAAI,CAAC,KAJL;AAKN,uBAAa,EAAE,IALT;AAMN,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW,GANV;AAMe,eAAK,EAAE,GANtB;AAM2B,gBAAM,EAAE;AANnC,SAAV,CADJ,CADJ,EAWI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC,UAAnC;AAA+C,mBAAS,EAAC,UAAzD;AAAoE,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAA3E,SAAjB,EACI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADJ,CAXJ,CADW;AAAA,OAAX,CADR,CAXJ,CAJJ,CADJ;AAsCH;;;;EAxF0C,KAAK,CAAC,S;;AA+BnC,2CAAiB,2BAAjB;AA/BlB;;AA2FA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAA,MACtB,OADsB,GACV,KADU,CACtB,OADsB;AAE9B,SACI;AACI,aAAS,EAAC,sBADd;AAEI,WAAO,EAAE;AAFb,IADJ;AAMH,CARD;;AAUA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAA,MACtB,OADsB,GACV,KADU,CACtB,OADsB;AAE9B,SACI;AACI,aAAS,EAAC,sBADd;AAEI,WAAO,EAAE;AAFb,IADJ;AAMH,CARD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvIA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AAMA;;AACA;;AACA;;AAEA;;AACA;;IAyBa,qB;;;;;AAET,iCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,+FAAM,KAAN;;AAWI,sBAAY,YAAK;AACrB,YAAK,QAAL,CAAc,UAAC,SAAD,EAA0C;AACpD,eAAO;AAAE,uBAAa,EAAE,SAAS,CAAC,aAAV,GAA0B;AAA3C,SAAP;AACH,OAFD;AAIH,KALO;;AAMA,sBAAY,YAAK;AACrB,YAAK,QAAL,CAAc,UAAC,SAAD,EAA0C;AACpD,eAAO;AAAE,uBAAa,EAAE,SAAS,CAAC,aAAV,GAA0B;AAA3C,SAAP;AACH,OAFD;AAGH,KAJO;;AAMA,6BAAmB,YAAK;AAAA,wBACS,MAAK,KADd;AAAA,UACpB,cADoB,eACpB,cADoB;AAAA,UACJ,QADI,eACJ,QADI;;AAE5B,UAAM,IAAI,gCAAV;;AACA,UAAI,OAAQ,cAAR,KAA4B,QAAhC,EAA0C;AACtC,YAAI,cAAc,GAAG,CAArB,EAAwB;AACpB,gBAAK,mBAAL,GAA2B,WAAW,CAAC,YAAK;AACxC,kBAAK,QAAL,CAAc,UAAC,SAAD,EAAwC,KAAxC,EAA6E;AACvF,kBAAI,QAAQ,GAAG,SAAS,CAAC,aAAV,GAA0B,CAAzC;AACA,kBAAI,QAAQ,IAAI,KAAK,CAAC,QAAN,CAAe,MAAf,GAAwB,CAAxC,EAA2C,QAAQ,GAAG,CAAX;AAC3C,qBAAO;AAAE,6BAAa,EAAE;AAAjB,eAAP;AACH,aAJD;AAKH,WANqC,EAMnC,cAAc,GAAG,IANkB,CAAtC;AAOH,SARD,MASK;AACD,uBAAa,CAAC,MAAK,mBAAN,CAAb;AACH;AACJ;AACJ,KAjBO;;AAtBJ,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE;AADN,KAAb;AAFa;AAKhB;;;;wCACgB;AACb,UAAI,KAAK,KAAL,CAAW,QAAX,CAAoB,MAApB,GAA6B,CAAjC,EAAoC;AAChC,aAAK,gBAAL;AACH;AAEJ;;;6BAgCK;AAAA;;AAAA,yBAE0F,KAAK,KAF/F;AAAA,UACM,OADN,gBACM,OADN;AAAA,UACe,aADf,gBACe,aADf;AAAA,UAC8B,kBAD9B,gBAC8B,kBAD9B;AAAA,UACkD,UADlD,gBACkD,UADlD;AAAA,UAC8D,WAD9D,gBAC8D,WAD9D;AAAA,UAC2E,QAD3E,gBAC2E,QAD3E;AAAA,UACqF,qBADrF,gBACqF,qBADrF;AAAA,UAC4G,aAD5G,gBAC4G,aAD5G;AAAA,UAC2H,oBAD3H,gBAC2H,oBAD3H;AAAA,UAEE,cAFF,gBAEE,cAFF;AAAA,UAEkB,YAFlB,gBAEkB,YAFlB;AAAA,UAEgC,eAFhC,gBAEgC,eAFhC;AAAA,UAEiD,cAFjD,gBAEiD,cAFjD;AAAA,UAEiE,oBAFjE,gBAEiE,oBAFjE;AAGF,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE,EAApF;AAAwF,kBAAU,EAAE;AAApG,OAAhC;AACA,UAAM,MAAM,GAAG,qBAAqB,CAAC,eAAtB,IAAyC,qBAAqB,CAAC,aAA/D,IAAgF,qBAAqB,CAAC,aAArH;AACA,UAAM,OAAO,GAAG,qBAAqB,CAAC,eAAtB,KAA0C,qBAAqB,CAAC,aAAtB,IAAuC,qBAAqB,CAAC,aAAvG,CAAhB;AACA,aACI;AAAK,iBAAS,kCAA2B,oBAA3B;AAAd,SACK,cAAc,IAAI;AAAK,iBAAS,EAAC;AAAf,SACf,kCAAO,cAAP,CADe,CADvB,EAKI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,cAAX;AACb,aAAK,EAAE,YADM;AAEb,YAAI,EAAE,OAFO;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAII;AAAM,iBAAS,EAAC;AAAhB,SAA4B,YAA5B,CAJJ,CADJ,EAOI;AAAM,iBAAS,EAAC;AAAhB,SAA+B,eAA/B,CAPJ,CALJ,EAeI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC1B,YAAM,iCAAiC,GAAG,0DAA2C,IAAI,CAAC,IAAhD,EAAsD,IAAI,CAAC,KAA3D,CAA1C;AACA,YAAI,KAAK,GAAG,MAAI,CAAC,KAAL,CAAW,aAAnB,IAAoC,KAAK,GAAG,MAAI,CAAC,KAAL,CAAW,aAAX,GAA2B,CAA3E,EAA8E;AAC9E,eACI;AAAK,mBAAS,YAAd;AAA4B,aAAG,EAAE,KAAjC;AAAwC,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAA/C,WACI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC,eAAf;AAA+B,eAAK,EAAE;AAAE,iBAAK,EAAE,UAAT;AAAqB,kBAAM,EAAE;AAA7B;AAAtC,WACI,oBAAC,qBAAD,EAAU;AACN,mBAAS,EAAE,EADL;AAEN,cAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UAFxC;AAGN,eAAK,EAAE,UAHD;AAIN,gBAAM,EAAE,WAJF;AAKN,uBAAa,EAAE,aALT;AAMN,qBAAW,EAAE,IAAI,CAAC,SANZ;AAON,yBAAe,EAAE,IAPX;AAQN,oBAAU,EAAE,IAAI,CAAC,eARX;AASN,2CAAiC,EAAE;AAT7B,SAAV,CADJ,EAYI,oBAAC,iCAAD,EAAgB;AAAC,gBAAM,EAAE,IAAI,CAAC,MAAd;AAAsB,cAAI,EAAE,IAAI,CAAC,QAAL,GAAgB,OAAhB,GAA0B,MAAtD;AAA8D,uBAAa,EAAC,QAA5E;AAAqF,uBAAa,EAAE;AAApG,SAAhB,CAZJ,CADJ,EAeI,oBAAC,uCAAD,EAAmB;AAAC,aAAG,EAAE,IAAI,CAAC,SAAX;AAAsB,eAAK,EAAE,4BAAoB,IAAI,CAAC,KAAzB,CAA7B;AAA8D,mBAAS,EAAE,IAAI,CAAC,QAAL,KAAkB;AAA3F,SAAnB,CAfJ,CADJ,EAkBI;AAAK,mBAAS,EAAC,WAAf;AAA2B,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAlC,WACI,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,SADE;AAEb,oBAAU,EAAE,IAAI,CAAC;AAFJ,SAAjB,EAGI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UAHJ,CADJ,CAlBJ,EAyBK,MAAM,IAAI;AAAK,mBAAS,EAAC;AAAf,WACP;AAAM,mBAAS,EAAC;AAAhB,WAA4B,qDAAsC,IAAI,CAAC,IAA3C,EACxB;AAAE,kBAAQ,EAAE,qBAAqB,CAAC,aAAlC;AAAiD,kBAAQ,EAAE,qBAAqB,CAAC;AAAjF,SADwB,CAA5B,EAC8G,GAD9G,CADO,EAGN,OAAO,IAAI;AAAM,mBAAS,EAAC;AAAhB,WAA2B,GAA3B,CAHL,EAIN,qBAAqB,CAAC,eAAtB,IAAyC;AAAM,mBAAS,EAAC,YAAhB;AAA6B,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAAtD,UAJnC,CAzBf,CADJ;AAkCH,OArCA,CADL,CAfJ,EAyDI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,iBAAX;AAA6B,YAAI,EAAE,OAAnC;AAA4C,kBAAU,EAAE;AAAxD,OAAjB,EAAyF,cAAzF,CADJ,EAEK,oBAAoB,GAAG,CAAvB,IAA4B;AAAK,iBAAS,EAAC;AAAf,SACzB;AAAQ,iBAAS,EAAC,YAAlB;AAA+B,eAAO,EAAE,KAAK,SAA7C;AAAwD,gBAAQ,EAAE,KAAK,KAAL,CAAW,aAAX,KAA6B;AAA/F,QADyB,EAEzB;AAAQ,iBAAS,EAAC,WAAlB;AAA8B,eAAO,EAAE,KAAK,SAA5C;AAAuD,gBAAQ,EAAE,KAAK,KAAL,CAAW,aAAX,KAA6B,oBAAoB,GAAG;AAArH,QAFyB,CAFjC,CAzDJ,CADJ;AAqEH;;;;EAxHsC,KAAK,CAAC,S;;AAC/B,uCAAiB,uBAAjB;AADlB,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtCA;;AACA;;AACA;;AAKA;;AAEA;;IAwBa,sB;;;;;AAET,kCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,gGAAM,KAAN;AACA,UAAK,KAAL,GAAa;AACT,kBAAY,EAAE;AADL,KAAb;AAFa;AAKhB;;;;6BAEK;AAAA;;AAAA,wBAE0F,KAAK,KAF/F;AAAA,UACM,OADN,eACM,OADN;AAAA,UACe,aADf,eACe,aADf;AAAA,UAC8B,kBAD9B,eAC8B,kBAD9B;AAAA,UACkD,UADlD,eACkD,UADlD;AAAA,UAC8D,WAD9D,eAC8D,WAD9D;AAAA,UAC2E,QAD3E,eAC2E,QAD3E;AAAA,UACqF,qBADrF,eACqF,qBADrF;AAAA,UAC4G,aAD5G,eAC4G,aAD5G;AAAA,UAC2H,oBAD3H,eAC2H,oBAD3H;AAAA,UAEE,cAFF,eAEE,cAFF;AAAA,UAEkB,YAFlB,eAEkB,YAFlB;AAAA,UAEgC,eAFhC,eAEgC,eAFhC;AAAA,UAEiD,cAFjD,eAEiD,cAFjD;AAAA,UAEiE,oBAFjE,eAEiE,oBAFjE;AAGF,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE,EAApF;AAAwF,kBAAU,EAAE;AAApG,OAAhC;AACA,UAAM,MAAM,GAAG,qBAAqB,CAAC,eAAtB,IAAyC,qBAAqB,CAAC,aAA/D,IAAgF,qBAAqB,CAAC,aAArH;AACA,UAAM,OAAO,GAAG,qBAAqB,CAAC,eAAtB,KAA0C,qBAAqB,CAAC,aAAtB,IAAuC,qBAAqB,CAAC,aAAvG,CAAhB;AALE,UAMM,YANN,GAMuB,KAAK,KAN5B,CAMM,YANN;;AAQF,UAAM,SAAS,GAAG,SAAZ,SAAY;AAAA,YAAG,OAAH,QAAG,OAAH;AAAA,eAA2C;AAAQ,kBAAQ,EAAE,YAAY,IAAI,QAAQ,CAAC,MAAT,GAAkB,CAApD;AAAuD,iBAAO,EAAE,OAAhE;AAAyE,mBAAS,EAAC;AAAnF,UAA3C;AAAA,OAAlB;;AACA,UAAM,SAAS,GAAG,SAAZ,SAAY;AAAA,YAAG,OAAH,SAAG,OAAH;AAAA,eAA2C;AAAQ,kBAAQ,EAAE,YAAY,IAAI,CAAlC;AAAqC,iBAAO,EAAE,OAA9C;AAAuD,mBAAS,EAAC;AAAjE,UAA3C;AAAA,OAAlB;;AAEA,UAAI,QAAQ,GAAG;AACX,oBAAY,EAAE,CADH;AAEX,sBAAc,EAAE,CAFL;AAGX,cAAM,EAAE,IAHG;AAIX,gBAAQ,EAAE,KAJC;AAKX,WAAG,EAAE,IALM;AAMX,iBAAS,EAAE,2BANA;AAOX,iBAAS,EAAE,oBAAC,SAAD,EAAU,IAAV,CAPA;AAQX,iBAAS,EAAE,oBAAC,SAAD,EAAU,IAAV,CARA;AASX,mBAAW,EAAE,qBAAC,KAAD,EAAU;AACnB,gBAAI,CAAC,QAAL,CAAc;AAAE,wBAAY,EAAE,QAAQ,CAAC,MAAT,GAAkB,CAAlB,GAAsB;AAAtC,WAAd;AACH;AAXU,OAAf;AAcA,aACI;AAAK,iBAAS,sCAA+B,oBAA/B;AAAd,SAEK;AAAK,iBAAS,EAAC;AAAf,SACG;AAAK,iBAAS,EAAC;AAAf,SAAiC,kGAAjC,CADH,EAEG,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,cAAX;AACb,aAAK,EAAE,YADM;AAEb,YAAI,EAAE,OAFO;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAII;AAAM,iBAAS,EAAC;AAAhB,SAAuC,YAAvC,CAJJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACI,6DADJ,E,MAAA,EAC2B,mEAD3B,CALJ,CAFH,EAWG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,SAA6B,+CAA7B,CADJ,CAXH,CAFL,EAkBI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,cAAX;AACb,aAAK,EAAE,YADM;AAEb,YAAI,EAAE,OAFO;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAII;AAAM,iBAAS,EAAC;AAAhB,SAA4B,YAA5B,CAJJ,CADJ,EAOI;AAAM,iBAAS,EAAC;AAAhB,SAA+B,eAA/B,CAPJ,CAlBJ,EA4BI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO,kBAAK,QAAL,CAAP,EACK,QAAQ,CAAC,GAAT,CAAa,cAAI;AAAA,eACd;AAAS,aAAG,EAAE,IAAI,CAAC,MAAnB;AAA2B,mBAAS,EAAC;AAArC,WACI;AAAK,mBAAS,EAAC;AAAf,WACI,oBAAC,qBAAD,EAAU;AACN,mBAAS,EAAE,EADL;AAEN,cAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UAFxC;AAGN,eAAK,EAAE,UAHD;AAIN,gBAAM,EAAE,WAJF;AAKN,uBAAa,EAAE,aALT;AAMN,qBAAW,EAAE,IAAI,CAAC,SANZ;AAON,yBAAe,EAAE,IAPX;AAQN,oBAAU,EAAE,IAAI,CAAC;AARX,SAAV,CADJ,CADJ,EAaI;AAAK,mBAAS,EAAC;AAAf,WACI,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,SADE;AAEb,oBAAU,EAAE,IAAI,CAAC;AAFJ,SAAjB,EAGI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UAHJ,CADJ,EAMK,MAAM,IAAI;AAAK,mBAAS,EAAC;AAAf,WACP;AAAM,mBAAS,EAAC;AAAhB,WAA4B,qDAAsC,IAAI,CAAC,IAA3C,EACxB;AAAE,kBAAQ,EAAE,KAAZ;AAAmB,kBAAQ,EAAE,qBAAqB,CAAC;AAAnD,SADwB,CAA5B,EACgF,GADhF,CADO,EAGN,OAAO,IAAI;AAAM,mBAAS,EAAC;AAAhB,WAA2B,KAA3B,CAHL,EAIN,qBAAqB,CAAC,eAAtB,IAAyC;AAAM,mBAAS,EAAC,YAAhB;AAA6B,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAAtD,UAJnC,CANf,CAbJ,CADc;AAAA,OAAjB,CADL,CADJ,EAgCI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,iBAAX;AAA6B,YAAI,EAAE,OAAnC;AAA4C,kBAAU,EAAE;AAAxD,OAAjB,EAAyF,cAAzF,CAhCJ,CA5BJ,CADJ;AAiEH;;;;EAnGuC,KAAK,CAAC,S;;AAChC,wCAAiB,wBAAjB;AADlB,wD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCA,mBAAO,CAAC,mCAAD,CAAP;;IAGa,e;;;;;;;;;;;;;6BAII;AAET,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,UAAE,EAAC;AAAR,SACI;AAAG,aAAK,EAAC,4CAAT;AACI,YAAI,EAAC;AADT,SAEI;AAAK,WAAG,EAAC,qDAAT;AAA+D,WAAG,EAAC;AAAnE,QAFJ,CADJ,CAFJ,EAQI;AAAI,iBAAS,EAAC;AAAd,SACI,gCAAI;AAAG,iBAAS,EAAC,QAAb;AAAsB,aAAK,EAAC,wFAA5B;AAA+C,YAAI,EAAC;AAApD,SAAiF,wFAAjF,CAAJ,CADJ,EAEI,gCAAI;AAAG,aAAK,EAAC,6CAAT;AAAoB,iBAAS,EAAC,QAA9B;AAAuC,YAAI,EAAC;AAA5C,SAAyE,6CAAzE,CAAJ,CAFJ,EAGI,gCAAI;AAAG,aAAK,EAAC,sCAAT;AAAkB,iBAAS,EAAC,QAA5B;AAAqC,YAAI,EAAC;AAA1C,SAAuE,sCAAvE,CAAJ,CAHJ,EAII,gCAAI;AAAG,aAAK,EAAC,4CAAT;AAAmB,iBAAS,EAAC,QAA7B;AAAsC,cAAM,EAAC,QAA7C;AAAsD,YAAI,EAAC;AAA3D,SAA0F,4CAA1F,CAAJ,CAJJ,EAKI,gCAAI;AAAG,aAAK,EAAC,qEAAT;AAAwB,iBAAS,EAAC,QAAlC;AAA2C,YAAI,EAAC;AAAhD,SAA6E,qEAA7E,CAAJ,CALJ,EAOI,gCAAI;AAAG,aAAK,EAAC,2EAAT;AAAyB,iBAAS,EAAC,QAAnC;AAA4C,YAAI,EAAC;AAAjD,SAA8E,2EAA9E,CAAJ,CAPJ,EAQI,gCAAI;AAAG,aAAK,EAAC,+DAAT;AAAuB,iBAAS,EAAC,gBAAjC;AAAkD,YAAI,EAAC;AAAvD,SAA4F,+DAA5F,CAAJ,CARJ,EASI,gCAAI;AAAG,aAAK,EAAC,sCAAT;AAAkB,iBAAS,EAAC,QAA5B;AAAqC,YAAI,EAAC;AAA1C,SAAuE,sCAAvE,CAAJ,CATJ,EAUI,gCAAI;AAAG,iBAAS,EAAC,QAAb;AAAsB,aAAK,EAAC,yDAA5B;AAAyC,YAAI,EAAC;AAA9C,SAA2E,yDAA3E,CAAJ,CAVJ,EAWI,gCAAI;AAAG,aAAK,EAAC,+CAAT;AAA0B,iBAAS,EAAC,QAApC;AAA6C,cAAM,EAAC,QAApD;AAA6D,YAAI,EAAC;AAAlE,SAAuF,+CAAvF,CAAJ,CAXJ,EAaI,gCAAI;AAAG,aAAK,EAAC,iFAAT;AAA0B,iBAAS,EAAC,QAApC;AAA6C,YAAI,EAAC;AAAlD,SAA0F,iFAA1F,CAAJ,CAbJ,EAcI,gCAAI;AAAG,aAAK,EAAC,iFAAT;AAA0B,iBAAS,EAAC,QAApC;AAA6C,YAAI,EAAC;AAAlD,SAA+E,iFAA/E,CAAJ,CAdJ,EAeI,gCAAI;AAAG,iBAAS,EAAC,QAAb;AAAsB,aAAK,EAAC,+DAA5B;AAA0C,YAAI,EAAC;AAA/C,SAA4E,+DAA5E,CAAJ,CAfJ,EAgBI,gCAAI;AAAG,aAAK,EAAC,sEAAT;AAAyB,iBAAS,EAAC,oBAAnC;AAAwD,YAAI,EAAC;AAA7D,SAAgE,sEAAhE,CAAJ,CAhBJ,EAiBI,gCAAI;AAAG,aAAK,EAAC,wEAAT;AAA+B,iBAAS,EAAC,QAAzC;AAAkD,YAAI,EAAC;AAAvD,SAA2F,wEAA3F,CAAJ,CAjBJ,EAmBI,gCAAI;AAAG,aAAK,EAAC,qEAAT;AAAwB,iBAAS,EAAC,QAAlC;AAA2C,YAAI,EAAC;AAAhD,SAAkF,qEAAlF,CAAJ,CAnBJ,EAoBI,gCAAI;AAAG,aAAK,EAAC,+CAAT;AAAsB,iBAAS,EAAC,QAAhC;AAAyC,cAAM,EAAC,QAAhD;AAAyD,YAAI,EAAC;AAA9D,SAAwF,+CAAxF,CAAJ,CApBJ,EAsBI,gCAAI;AAAG,aAAK,EAAC,iFAAT;AAA0B,iBAAS,EAAC,QAApC;AAA6C,YAAI,EAAC;AAAlD,SAAkF,iFAAlF,CAAJ,CAtBJ,EAuBI,gCAAI;AAAG,aAAK,EAAC,8DAAT;AAAsB,iBAAS,EAAC,QAAhC;AAAyC,YAAI,EAAC;AAA9C,SAA4E,8DAA5E,CAAJ,CAvBJ,CARJ,EAoCI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAI,iBAAS,EAAC;AAAd,SACI,gCACI;AAAG,aAAK,EAAC,4CAAT;AAAmB,YAAI,EAAC,oCAAxB;AAA6D,cAAM,EAAC;AAApE,SACI;AAAK,iBAAS,EAAC,QAAf;AAAwB,WAAG,EAAC,mDAA5B;AAAgF,WAAG,EAAC;AAApF,QADJ,EAEI;AAAG,iBAAS,EAAC;AAAb,SAA+B,4CAA/B,CAFJ,CADJ,CADJ,EAOI,gCACI;AAAG,aAAK,EAAC,+DAAT;AAAuB,YAAI,EAAC;AAA5B,SACI;AAAK,iBAAS,EAAC,QAAf;AAAwB,WAAG,EAAC,wDAA5B;AAAqF,WAAG,EAAC;AAAzF,QADJ,EAEI;AAAG,iBAAS,EAAC,iBAAb;AAA+B,UAAE,EAAC;AAAlC,SAA2C,+DAA3C,CAFJ,CADJ,CAPJ,CADJ,EAeI;AAAI,iBAAS,EAAC;AAAd,SACI,gCACI;AAAG,aAAK,EAAC,sCAAT;AAAkB,YAAI,EAAC,yBAAvB;AAAiD,cAAM,EAAC;AAAxD,SACI;AAAM,iBAAS,EAAC,gBAAhB;AAAkC,WAAG,EAAC;AAAtC,QADJ,EAEI;AAAG,iBAAS,EAAC;AAAb,SAA+B,sCAA/B,CAFJ,CADJ,CADJ,EAOI,gCACI;AAAG,aAAK,EAAC,qEAAT;AACI,YAAI,EAAC,yDADT;AACmE,cAAM,EAAC;AAD1E,SAEI;AAAK,iBAAS,EAAC,QAAf;AAAwB,WAAG,EAAC,oDAA5B;AAAiF,WAAG,EAAC;AAArF,QAFJ,EAGI;AAAG,iBAAS,EAAC;AAAb,SAA+B,qEAA/B,CAHJ,CADJ,CAPJ,CAfJ,EA8BI;AAAI,iBAAS,EAAC;AAAd,SACI,gCACI;AAAG,aAAK,EAAC,+CAAT;AAAsB,YAAI,EAAC;AAA3B,SACA;AAAM,iBAAS,EAAC,WAAhB;AAA6B,WAAG,EAAC;AAAjC,QADA,EAEI;AAAG,iBAAS,EAAC,gBAAb;AAA8B,UAAE,EAAC;AAAjC,SAA6C,+CAA7C,CAFJ,CADJ,CADJ,EAOI,gCACI;AAAG,aAAK,EAAC,4CAAT;AAAmB,YAAI,EAAC;AAAxB,SACI;AAAK,iBAAS,EAAC,QAAf;AAAwB,WAAG,EAAC,2DAA5B;AAAwF,WAAG,EAAC;AAA5F,QADJ,EAEI;AAAG,iBAAS,EAAC,iBAAb;AAA+B,UAAE,EAAC;AAAlC,SAAgD,4CAAhD,CAFJ,CADJ,CAPJ,CA9BJ,EA4CI;AAAI,iBAAS,EAAC;AAAd,SACI,gCACI;AAAG,aAAK,EAAC,4CAAT;AAAmB,YAAI,EAAC,+BAAxB;AAAwD,iBAAS,EAAC,YAAlE;AAA+E,cAAM,EAAC;AAAtF,SACI;AAAK,iBAAS,EAAC,QAAf;AAAwB,WAAG,EAAC,sDAA5B;AAAmF,WAAG,EAAC;AAAvF,QADJ,EAEI;AAAG,iBAAS,EAAC;AAAb,SAA+B,4CAA/B,CAFJ,CADJ,CADJ,EAOI,gCACI;AAAG,aAAK,EAAC,mDAAT;AAAqB,iBAAS,EAAC,SAA/B;AAAyC,YAAI,EAAC;AAA9C,SACI;AAAK,iBAAS,EAAC,QAAf;AAAwB,WAAG,EAAC,qDAA5B;AAAkF,WAAG,EAAC;AAAtF,QADJ,EAEI;AAAG,iBAAS,EAAC,gBAAb;AAA8B,UAAE,EAAC;AAAjC,SAAyC,mDAAzC,CAFJ,CADJ,CAPJ,CA5CJ,EA0DI;AAAI,iBAAS,EAAC;AAAd,SACI,gCACI;AAAG,aAAK,EAAC,uFAAT;AAA2B,YAAI,EAAC,6BAAhC;AAA8D,cAAM,EAAC;AAArE,SACI;AAAK,iBAAS,EAAC,QAAf;AAAwB,WAAG,EAAC,wDAA5B;AAAqF,WAAG,EAAC;AAAzF,QADJ,EAEI;AAAG,iBAAS,EAAC;AAAb,SAA+B,uFAA/B,CAFJ,CADJ,CADJ,CA1DJ,CApCJ,CAFJ,EA0GI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,YAAI,EAAC,kBAAR;AAA2B,cAAM,EAAC,QAAlC;AAA2C,WAAG,EAAC;AAA/C,SACI;AAAM,iBAAS,EAAC;AAAhB,SAAsC,cAAtC,CADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,SAAqC;AAAK,WAAG,EAAC,kDAAT;AAA4D,WAAG,EAAC;AAAhE,QAArC,CAFJ,CADJ,EAKI;AAAG,YAAI,EAAC,yBAAR;AAAkC,cAAM,EAAC,QAAzC;AAAkD,WAAG,EAAC;AAAtD,SACI;AAAM,iBAAS,EAAC;AAAhB,S,aAAA,EAA8C;AAAM,iBAAS,EAAC;AAAhB,SAAmC,mBAAnC,CAA9C,CADJ,CALJ,CA1GJ,CADJ;AAuHH;;;;EA7HgC,KAAK,CAAC,S;;AACzB,iCAAiB,iBAAjB;AADlB,0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AAMA;;AACA;;AACA;;AAEA;;AACA;;IA2Ba,4B;;;;;AAET,wCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,sGAAM,KAAN;;AAWI,sBAAY,YAAK;AACrB,YAAK,QAAL,CAAc,UAAC,SAAD,EAA0C;AACpD,eAAO;AAAE,uBAAa,EAAE,SAAS,CAAC,aAAV,GAA0B;AAA3C,SAAP;AACH,OAFD;AAIH,KALO;;AAMA,sBAAY,YAAK;AACrB,YAAK,QAAL,CAAc,UAAC,SAAD,EAA0C;AACpD,eAAO;AAAE,uBAAa,EAAE,SAAS,CAAC,aAAV,GAA0B;AAA3C,SAAP;AACH,OAFD;AAGH,KAJO;;AAMA,6BAAmB,YAAK;AAAA,wBACS,MAAK,KADd;AAAA,UACpB,cADoB,eACpB,cADoB;AAAA,UACJ,QADI,eACJ,QADI;;AAE5B,UAAM,IAAI,gCAAV;;AACA,UAAI,OAAQ,cAAR,KAA4B,QAAhC,EAA0C;AACtC,YAAI,cAAc,GAAG,CAArB,EAAwB;AACpB,gBAAK,mBAAL,GAA2B,WAAW,CAAC,YAAK;AACxC,kBAAK,QAAL,CAAc,UAAC,SAAD,EAAwC,KAAxC,EAAoF;AAC9F,kBAAI,QAAQ,GAAG,SAAS,CAAC,aAAV,GAA0B,CAAzC;AACA,kBAAI,QAAQ,IAAI,KAAK,CAAC,QAAN,CAAe,MAAf,GAAwB,CAAxC,EAA2C,QAAQ,GAAG,CAAX;AAC3C,qBAAO;AAAE,6BAAa,EAAE;AAAjB,eAAP;AACH,aAJD;AAKH,WANqC,EAMnC,cAAc,GAAG,IANkB,CAAtC;AAOH,SARD,MASK;AACD,uBAAa,CAAC,MAAK,mBAAN,CAAb;AACH;AACJ;AACJ,KAjBO;;AAtBJ,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE;AADN,KAAb;AAFa;AAKhB;;;;wCACgB;AACb,UAAI,KAAK,KAAL,CAAW,QAAX,CAAoB,MAApB,GAA6B,CAAjC,EAAoC;AAChC,aAAK,gBAAL;AACH;AAEJ;;;6BAgCK;AAAA;;AAAA,yBAE6G,KAAK,KAFlH;AAAA,UACM,OADN,gBACM,OADN;AAAA,UACe,aADf,gBACe,aADf;AAAA,UAC8B,kBAD9B,gBAC8B,kBAD9B;AAAA,UACkD,UADlD,gBACkD,UADlD;AAAA,UAC8D,WAD9D,gBAC8D,WAD9D;AAAA,UAC2E,QAD3E,gBAC2E,QAD3E;AAAA,UACqF,qBADrF,gBACqF,qBADrF;AAAA,UAC4G,aAD5G,gBAC4G,aAD5G;AAAA,UAC2H,oBAD3H,gBAC2H,oBAD3H;AAAA,UAEE,cAFF,gBAEE,cAFF;AAAA,UAEkB,YAFlB,gBAEkB,YAFlB;AAAA,UAEgC,eAFhC,gBAEgC,eAFhC;AAAA,UAEiD,cAFjD,gBAEiD,cAFjD;AAAA,UAEiE,WAFjE,gBAEiE,WAFjE;AAAA,UAE8E,aAF9E,gBAE8E,aAF9E;AAAA,UAE6F,WAF7F,gBAE6F,WAF7F;AAGF,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE,EAApF;AAAwF,kBAAU,EAAE;AAApG,OAAhC;AACA,UAAM,MAAM,GAAG,qBAAqB,CAAC,eAAtB,IAAyC,qBAAqB,CAAC,aAA/D,IAAgF,qBAAqB,CAAC,aAArH;AACA,UAAM,OAAO,GAAG,qBAAqB,CAAC,eAAtB,KAA0C,qBAAqB,CAAC,aAAtB,IAAuC,qBAAqB,CAAC,aAAvG,CAAhB;AAEA,aACI;AAAK,iBAAS,yCAAkC,WAAlC;AAAd,SAEI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,cAAX;AACb,aAAK,EAAE,YADM;AAEb,YAAI,EAAE,OAFO;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAIK,cAAc,IAAI;AAAM,iBAAS,EAAC;AAAhB,SAAkC,cAAlC,CAJvB,EAKI;AAAM,iBAAS,EAAC,UAAhB;AAA2B,aAAK,EAAE;AAAE,kBAAQ,YAAK,aAAL,OAAV;AAAkC,eAAK,EAAE;AAAzC;AAAlC,SAA2F,YAA3F,CALJ,EAMK,eAAe,IAAI;AAAM,iBAAS,EAAC,aAAhB;AAA8B,aAAK,EAAE;AAAC,eAAK,EAAE;AAAR;AAArC,SAA6D,eAA7D,CANxB,CAFJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC1B,YAAM,iCAAiC,GAAG,0DAA2C,IAAI,CAAC,IAAhD,EAAsD,IAAI,CAAC,KAA3D,CAA1C;AACA,YAAI,KAAK,GAAG,MAAI,CAAC,KAAL,CAAW,aAAnB,IAAoC,KAAK,GAAG,MAAI,CAAC,KAAL,CAAW,aAAX,GAA2B,CAA3E,EAA8E;AAC9E,eACI;AAAK,mBAAS,YAAd;AAA4B,aAAG,EAAE,KAAjC;AAAwC,eAAK,EAAE;AAAE,iBAAK,EAAE,UAAT;AAAqB,sBAAU,uCAAgC,WAAhC;AAA/B;AAA/C,WACI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC,eAAf;AAA+B,eAAK,EAAE;AAAE,iBAAK,EAAE,UAAT;AAAqB,kBAAM,EAAE;AAA7B;AAAtC,WACI,oBAAC,qBAAD,EAAU;AACN,mBAAS,EAAE,EADL;AAEN,cAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UAFxC;AAGN,eAAK,EAAE,UAHD;AAIN,gBAAM,EAAE,WAJF;AAKN,uBAAa,EAAE,aALT;AAMN,qBAAW,EAAE,IAAI,CAAC,SANZ;AAON,yBAAe,EAAE,IAPX;AAQN,oBAAU,EAAE,IAAI,CAAC,eARX;AASN,2CAAiC,EAAE;AAT7B,SAAV,CADJ,EAYI,oBAAC,iCAAD,EAAgB;AAAC,gBAAM,EAAE,IAAI,CAAC,MAAd;AAAsB,cAAI,EAAE,IAAI,CAAC,QAAL,GAAgB,OAAhB,GAA0B,MAAtD;AAA8D,uBAAa,EAAC,QAA5E;AAAqF,uBAAa,EAAE;AAApG,SAAhB,CAZJ,CADJ,EAeI,oBAAC,uCAAD,EAAmB;AAAC,aAAG,EAAE,IAAI,CAAC,SAAX;AAAsB,eAAK,EAAE,4BAAoB,IAAI,CAAC,KAAzB,CAA7B;AAA8D,mBAAS,EAAE,IAAI,CAAC,QAAL,KAAkB;AAA3F,SAAnB,CAfJ,CADJ,EAkBI;AAAK,mBAAS,EAAC,WAAf;AAA2B,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAlC,WACI,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,SADE;AAEb,oBAAU,EAAE,IAAI,CAAC;AAFJ,SAAjB,EAGI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UAHJ,CADJ,CAlBJ,EAyBK,MAAM,IACH;AAAK,mBAAS,EAAC;AAAf,WACI;AAAM,mBAAS,EAAC;AAAhB,WACK,qDAAsC,IAAI,CAAC,IAA3C,EAAiD;AAAE,kBAAQ,EAAE,qBAAqB,CAAC,aAAlC;AAAiD,kBAAQ,EAAE,qBAAqB,CAAC;AAAjF,SAAjD,CADL,CADJ,EAIK,OAAO,IAAI;AAAM,mBAAS,EAAC;AAAhB,WAA2B,GAA3B,CAJhB,EAKK,qBAAqB,CAAC,eAAtB,IAAyC;AAAM,mBAAS,EAAC,YAAhB;AAA6B,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAAtD,UAL9C,CA1BR,CADJ;AAqCH,OAxCA,CADL,CAXJ,EAwDI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,iBAAX;AAA6B,aAAK,EAAE;AAAC,eAAK,EAAE;AAAR,SAApC;AAA0D,YAAI,EAAE,OAAhE;AAAyE,kBAAU,EAAE;AAArF,OAAjB,EAAsH,cAAtH,CADJ,EAEK,oBAAoB,GAAG,CAAvB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,YAAlB;AAA+B,eAAO,EAAE,KAAK,SAA7C;AAAwD,gBAAQ,EAAE,KAAK,KAAL,CAAW,aAAX,KAA6B;AAA/F,QADJ,EAEI;AAAQ,iBAAS,EAAC,WAAlB;AAA8B,eAAO,EAAE,KAAK,SAA5C;AAAuD,gBAAQ,EAAE,KAAK,KAAL,CAAW,aAAX,KAA6B,oBAAoB,GAAG;AAArH,QAFJ,CAHR,CAxDJ,CADJ;AAoEH;;;;EAxH6C,KAAK,CAAC,S;;AACtC,8CAAiB,8BAAjB;AADlB,oE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxCA;;AACA;;AACA;;AAIA;;AAEA;;AAEA;;IA2Ba,6B;;;;;AAET,yCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,uGAAM,KAAN;AACA,UAAK,KAAL,GAAa;AACT,kBAAY,EAAE;AADL,KAAb;AAFa;AAKhB;;;;6BAEK;AAAA;;AAAA,wBAEkI,KAAK,KAFvI;AAAA,UACM,OADN,eACM,OADN;AAAA,UACe,aADf,eACe,aADf;AAAA,UAC8B,kBAD9B,eAC8B,kBAD9B;AAAA,UACkD,UADlD,eACkD,UADlD;AAAA,UAC8D,WAD9D,eAC8D,WAD9D;AAAA,UAC2E,QAD3E,eAC2E,QAD3E;AAAA,UACqF,qBADrF,eACqF,qBADrF;AAAA,UAC4G,aAD5G,eAC4G,aAD5G;AAAA,UAC2H,oBAD3H,eAC2H,oBAD3H;AAAA,UAEE,cAFF,eAEE,cAFF;AAAA,UAEkB,YAFlB,eAEkB,YAFlB;AAAA,UAEgC,eAFhC,eAEgC,eAFhC;AAAA,UAEiD,cAFjD,eAEiD,cAFjD;AAAA,UAEiE,oBAFjE,eAEiE,oBAFjE;AAAA,UAEuF,WAFvF,eAEuF,WAFvF;AAAA,UAEoG,UAFpG,eAEoG,UAFpG;AAAA,UAEgH,aAFhH,eAEgH,aAFhH;AAGF,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE,EAApF;AAAwF,kBAAU,EAAE;AAApG,OAAhC;AACA,UAAM,MAAM,GAAG,qBAAqB,CAAC,eAAtB,IAAyC,qBAAqB,CAAC,aAA/D,IAAgF,qBAAqB,CAAC,aAArH;AACA,UAAM,OAAO,GAAG,qBAAqB,CAAC,eAAtB,KAA0C,qBAAqB,CAAC,aAAtB,IAAuC,qBAAqB,CAAC,aAAvG,CAAhB;AALE,UAMM,YANN,GAMuB,KAAK,KAN5B,CAMM,YANN;;AAQF,UAAM,SAAS,GAAG,SAAZ,SAAY;AAAA,YAAG,OAAH,QAAG,OAAH;AAAA,eAA2C;AAAQ,kBAAQ,EAAE,YAAY,IAAI,QAAQ,CAAC,MAAT,GAAkB,CAApD;AAAuD,iBAAO,EAAE,OAAhE;AAAyE,mBAAS,EAAC;AAAnF,UAA3C;AAAA,OAAlB;;AACA,UAAM,SAAS,GAAG,SAAZ,SAAY;AAAA,YAAG,OAAH,SAAG,OAAH;AAAA,eAA2C;AAAQ,kBAAQ,EAAE,YAAY,IAAI,CAAlC;AAAqC,iBAAO,EAAE,OAA9C;AAAuD,mBAAS,EAAC;AAAjE,UAA3C;AAAA,OAAlB;;AAEA,UAAI,QAAQ,GAAG;AACX,oBAAY,EAAE,CADH;AAEX,sBAAc,EAAE,CAFL;AAGX,cAAM,EAAE,IAHG;AAIX,gBAAQ,EAAE,KAJC;AAKX,WAAG,EAAE,IALM;AAMX,iBAAS,EAAE,2BANA;AAOX,iBAAS,EAAE,oBAAC,SAAD,EAAU,IAAV,CAPA;AAQX,iBAAS,EAAE,oBAAC,SAAD,EAAU,IAAV,CARA;AASX,mBAAW,EAAE,qBAAC,KAAD,EAAU;AACnB,gBAAI,CAAC,QAAL,CAAc;AAAE,wBAAY,EAAE,QAAQ,CAAC,MAAT,GAAkB,CAAlB,GAAsB;AAAtC,WAAd;AACH;AAXU,OAAf;AAcA,aACI;AAAK,iBAAS,6CAAsC,oBAAtC;AAAd,SAEI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,cAAX;AACb,aAAK,EAAE,YADM;AAEb,YAAI,EAAE,OAFO;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAII;AAAM,iBAAS,EAAC,UAAhB;AAA2B,aAAK,EAAE;AAAE,kBAAQ,YAAK,aAAL,OAAV;AAAkC,8BAAmB;AAArD;AAAlC,SAAuG,YAAvG,CAJJ,CADJ,CAFJ,EAWI;AAAK,iBAAS,EAAC,UAAf;AAA0B,aAAK,EAAE;AAAE,4BAAkB;AAApB;AAAjC,SACI,oBAAC,qBAAD,EAAO,kBAAK,QAAL,CAAP,EACK,QAAQ,CAAC,GAAT,CAAa,cAAI,EAAG;AACjB,YAAM,iCAAiC,GAAG,0DAA2C,IAAI,CAAC,IAAhD,EAAsD,IAAI,CAAC,KAA3D,CAA1C;AACA,eACI;AAAS,aAAG,EAAE,IAAI,CAAC,MAAnB;AAA2B,mBAAS,EAAC;AAArC,WACI;AAAK,mBAAS,EAAC;AAAf,WACI,oBAAC,qBAAD,EAAU;AACN,mBAAS,EAAE,EADL;AAEN,cAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UAFxC;AAGN,eAAK,EAAE,UAHD;AAIN,gBAAM,EAAE,WAJF;AAKN,uBAAa,EAAE,aALT;AAMN,qBAAW,EAAE,IAAI,CAAC,SANZ;AAON,yBAAe,EAAE,IAPX;AAQN,oBAAU,EAAE,IAAI,CAAC,eARX;AASN,2CAAiC,EAAE;AAT7B,SAAV,CADJ,EAYI,oBAAC,iCAAD,EAAgB;AAAC,gBAAM,EAAE,IAAI,CAAC,MAAd;AAAsB,cAAI,EAAE,IAAI,CAAC,QAAL,GAAgB,OAAhB,GAA0B,MAAtD;AAA8D,uBAAa,EAAC,OAA5E;AAAoF,uBAAa,EAAE;AAAnG,SAAhB,CAZJ,CADJ,EAeI;AAAK,mBAAS,EAAC;AAAf,WACI,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,SADE;AAEb,oBAAU,EAAE,IAAI,CAAC;AAFJ,SAAjB,EAGI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UAHJ,CADJ,EAMK,MAAM,IAAI;AAAK,mBAAS,EAAC;AAAf,WACP;AAAM,mBAAS,EAAC;AAAhB,WAA4B,qDAAsC,IAAI,CAAC,IAA3C,EACxB;AAAE,kBAAQ,EAAE,KAAZ;AAAmB,kBAAQ,EAAE,qBAAqB,CAAC;AAAnD,SADwB,CAA5B,EACgF,GADhF,CADO,EAGN,OAAO,IAAI;AAAM,mBAAS,EAAC;AAAhB,WAA2B,KAA3B,CAHL,EAIN,qBAAqB,CAAC,eAAtB,IAAyC;AAAM,mBAAS,EAAC,YAAhB;AAA6B,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAAtD,UAJnC,CANf,CAfJ,CADJ;AA+BH,OAjCA,CADL,CADJ,EAsCI,oBAAC,4BAAD,EAAiB;AAAC,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT,SAAR;AAAgC,iBAAS,EAAC,iBAA1C;AAA4D,YAAI,EAAE,OAAlE;AAA2E,kBAAU,EAAE;AAAvF,OAAjB,EAAwH,cAAxH,CAtCJ,CAXJ,CADJ;AAsDH;;;;EAxF8C,KAAK,CAAC,S;;AACvC,+CAAiB,+BAAjB;AADlB,sE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtCA;;AACA;;IAWa,uB;;;;;AAET,mCAAY,KAAZ,EAAiC;AAAA;;AAAA;;AAC7B,iGAAM,KAAN;;AAMI,uBAAa,YAAK;AACtB,YAAK,QAAL,CAAc;AACV,wBAAgB,EAAE,CAAC,MAAK,KAAL,CAAW;AADpB,OAAd;AAGH,KAJO;;AALJ,UAAK,KAAL,GAAa;AACT,sBAAgB,EAAE;AADT,KAAb;AAF6B;AAMhC;;;;6BAMK;AAAA,UACM,gBADN,GAC2B,KAAK,KADhC,CACM,gBADN;AAAA,wBAEqB,KAAK,KAF1B;AAAA,UAEM,GAFN,eAEM,GAFN;AAAA,UAEW,KAFX,eAEW,KAFX;AAGF,UAAM,SAAS,GAAG,gBAAgB,GAAG,QAAH,GAAc,EAAhD;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,4BAAqB,SAArB;AAAd,SACI;AAAQ,eAAO,EAAE;AAAA,iBAAM,CAAC,4BAAD,GAAiB,iCAAkB,GAAlB,EAAuB,KAAvB,EAA8B;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,oBAA9B,EAAoD,KAApD,CAAN;AAAA,WAA9B,EAAgG,oBAAhG,CAAjB,GAAyI,IAA/I;AAAA,SAAjB;AAAsK,iBAAS,EAAC;AAAhL,QADJ,EAEI;AAAQ,eAAO,EAAE;AAAA,iBAAM,CAAC,4BAAD,GAAiB,gCAAiB,GAAjB,EAAsB;AAAA,mBAAM,iCAAkB,SAAlB,EAA6B,oBAA7B,EAAmD,KAAnD,CAAN;AAAA,WAAtB,EAAuF,oBAAvF,CAAjB,GAAgI,IAAtI;AAAA,SAAjB;AAA6J,iBAAS,EAAC;AAAvK,QAFJ,EAGG;AAAQ,eAAO,EAAE;AAAA,iBAAM,CAAC,4BAAD,GAAiB,6BAAc,KAAd,EAAqB,SAArB,EAAgC,GAAhC,EAAqC;AAAA,mBAAM,iCAAkB,MAAlB,EAA0B,oBAA1B,EAAgD,KAAhD,CAAN;AAAA,WAArC,EAAmG,oBAAnG,CAAjB,GAA4I,IAAlJ;AAAA,SAAjB;AAAyK,iBAAS,EAAC;AAAnL,QAHH,EAII;AAAQ,eAAO,EAAE;AAAA,iBAAM,CAAC,4BAAD,GAAiB,iCAAkB,GAAlB,EAAuB;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,oBAA9B,EAAoD,KAApD,CAAN;AAAA,WAAvB,EAAyF,oBAAzF,CAAjB,GAAkI,IAAxI;AAAA,SAAjB;AAA+J,iBAAS,EAAC;AAAzK,QAJJ,CADJ,EAOI;AAAQ,iBAAS,kCAA2B,SAA3B,CAAjB;AAAyD,eAAO,EAAE,KAAK;AAAvE,QAPJ,CADJ;AAWH;;;;EA7BwC,KAAK,CAAC,S;;AACjC,yCAAiB,yBAAjB;AADlB,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXA;;AAEA;;AACA;;AACA;;AACA;;IAWa,0B;;;;;AAAb;AAAA;;AAAA;;;;AAGY,+BAAqB,YAAK;AAAA,wBACgC,MAAK,KADrC;AAAA,UACtB,mBADsB,eACtB,mBADsB;AAAA,UACD,4BADC,eACD,4BADC;;AAG9B,UAAI,mBAAmB,IAAI,CAAC,mBAAmB,CAAC,WAApB,CAAgC,MAAK,sBAArC,CAA5B,EAA0F;AACtF,2BAAmB,CAAC,aAApB,CAAkC,OAAlC,EAA2C,KAA3C;AACH;;AACD,kCAA4B,CAAC,MAAK,sBAAN,CAA5B;AACH,KAPO;;AASA,gCAAsB,YAAK;AAC/B,UAAI,MAAK,KAAL,CAAW,mBAAX,CAA+B,WAA/B,CAA2C,MAAK,sBAAhD,CAAJ,EAA6E;AACzE,cAAK,KAAL,CAAW,4BAAX,CAAwC,IAAxC;AACH;AACJ,KAJO;;AAZZ;AAqFC;;;;6BAnEgB;AAAA;;AAAA,yBACkC,KAAK,KADvC;AAAA,UACD,OADC,gBACD,OADC;AAAA,UACQ,qBADR,gBACQ,qBADR;AAAA,UAED,KAFC,GAEoE,OAFpE,CAED,KAFC;AAAA,UAEM,aAFN,GAEoE,OAFpE,CAEM,aAFN;AAAA,UAEqB,iBAFrB,GAEoE,OAFpE,CAEqB,iBAFrB;AAAA,UAEwC,MAFxC,GAEoE,OAFpE,CAEwC,MAFxC;AAAA,UAEgD,QAFhD,GAEoE,OAFpE,CAEgD,QAFhD;AAAA,UAE0D,KAF1D,GAEoE,OAFpE,CAE0D,KAF1D;AAIT,UAAM,yBAAyB,GAAG;AAC9B,oBAAY,EAAE,MADgB;AAE9B,qBAAa,EAAE,GAFe;AAG9B,sBAAc,EAAE,GAHc;AAI9B,uBAAe,EAAE,EAJa;AAK9B,uBAAe,EAAE;AALa,OAAlC;AAUP,UAAM,SAAS,GAAK;AACT,iBAAS,EAAE,aADF;AAET,eAAO,EAAE,KAAK,IAAI,KAAK,CAAC,CAAD,CAAd,GAAoB,KAAK,CAAC,CAAD,CAAL,CAAS,YAA7B,GAA4C,EAF5C;AAGT,cAAM,EAAG,KAAK,IAAI,KAAK,CAAC,CAAD,CAAd,GAAoB,KAAK,CAAC,CAAD,CAAL,CAAS,MAA7B,GAAqC,EAHrC;AAIT,WAAG,EAAG,KAAK,IAAI,KAAK,CAAC,CAAD,CAAd,GAAoB,KAAK,CAAC,CAAD,CAAL,CAAS,SAA7B,GAAyC,EAJtC;AAKT,oBAAY,EAAG,KAAK,IAAI,KAAK,CAAC,CAAD,CAAd,GAAqB,KAAK,CAAC,CAAD,CAAL,CAAS,YAA9B,GAA6C,EALnD;AAMT,cAAM,EAAG,KAAK,IAAI,KAAK,CAAC,CAAD,CAAd,GAAqB,KAAK,CAAC,CAAD,CAAL,CAAS,SAA9B,GAAyC,EANzC;AAOT,kBAAU,EAAG,KAAK,IAAI,KAAK,CAAC,CAAD,CAAd,GAAoB,KAAK,CAAC,CAAD,CAAL,CAAS,UAA7B,GAAyC,EAP7C;AAQT,wBAAgB,EAAG,KAAK,IAAI,KAAK,CAAC,CAAD,CAAd,GAAoB,KAAK,CAAC,CAAD,CAAL,CAAS,gBAA7B,GAAgD,KAR1D;AAST,iBAAS,EAAG,KAAK,IAAI,KAAK,CAAC,CAAD,CAAd,GAAoB,KAAK,CAAC,CAAD,CAAL,CAAS,SAA7B,GAAwC;AAT3C,OAApB;AAeO,aACI;AAAS,iBAAS,EAAC,iCAAnB;AAAqD,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,sBAAL,GAA8B,IAAlC;AAAA;AAA7D,SACI;AAAK,iBAAS,EAAC;AAAf,SACG,KAAK,IAAI,KAAK,CAAC,CAAD,CAAd,IAAsB,oBAAC,qBAAD,EAAU;AAC3B,aAAK,EAAE,GADoB;AAE3B,cAAM,EAAE,GAFmB;AAG3B,YAAI,EAAE,SAHqB;AAI3B,mBAAW,EAAE,IAJc;AAK3B,kBAAU,EAAE,SALe;AAM3B,WAAG,EAAE,SAAS,CAAC,OANY;AAO3B,uBAAe,EAAE,KAPU;AAQ3B,qBAAa,EAAE,KAAK,kBARO;AAS3B,qBAAa,EAAE,KAAK,mBATO;AAU3B,qBAAa,EAAE;AAAE,yBAAe,EAAE,KAAnB;AAA0B,sBAAY,EAAE;AAAxC;AAVY,OAAV,CADzB,EAcI,oBAAC,qCAAD,EAAkB,IAAlB,EACI,oBAAC,iDAAD,EAAwB;AAAC,WAAG,EAAE,aAAN;AAAqB,aAAK,EAAE;AAA5B,OAAxB,CADJ,CAdJ,CADJ,EAoBI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,aAAP;AAAsB,kBAAU,EAAE,yBAAlC;AAA6D,iBAAS,EAAC;AAAvE,OAAjB,EACI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,IAAI;AAAM,iBAAS,EAAC;AAAhB,SAA4B,QAAQ,CAAC,UAArC,CADjB,EAGI;AAAI,iBAAS,EAAC;AAAd,SAA2B,KAA3B,CAHJ,CADJ,EAOI;AAAK,iBAAS,EAAC;AAAf,SACK,qBAAqB,CAAC,aAAtB,IAAuC,oBAAC,yBAAD,EAAY;AAAC,YAAI,EAAE,iBAAP;AAA0B,uBAAe,EAAE;AAA3C,OAAZ,CAD5C,EAEK,qBAAqB,CAAC,aAAtB,IAAuC,qBAAqB,CAAC,eAA7D,IAAgF,MAAM,CAAC,MAAP,GAAgB,CAAhG,IAAqG;AAAM,iBAAS,EAAC;AAAhB,SAA2B,KAA3B,CAF1G,EAGK,qBAAqB,CAAC,eAAtB,IAAyC,kCAAO,MAAP,CAH9C,CAPJ,CApBJ,CADJ;AAoCH;;;;EAnF2C,KAAK,CAAC,S;;AAAtD,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBA;;AACA;;AACA;;AACA;;IAmBa,qB;;;;;;;;;;;;;6BAEI;AAAA,wBACgC,KAAK,KADrC;AAAA,UACF,IADE,eACF,IADE;AAAA,UACK,qBADL,eACK,qBADL;AAAA,UAEF,KAFE,GAEgF,IAFhF,CAEF,KAFE;AAAA,UAEK,IAFL,GAEgF,IAFhF,CAEK,IAFL;AAAA,UAEW,UAFX,GAEgF,IAFhF,CAEW,UAFX;AAAA,UAEuB,SAFvB,GAEgF,IAFhF,CAEuB,SAFvB;AAAA,UAEkC,QAFlC,GAEgF,IAFhF,CAEkC,QAFlC;AAAA,UAE4C,aAF5C,GAEgF,IAFhF,CAE4C,aAF5C;AAAA,UAE2D,MAF3D,GAEgF,IAFhF,CAE2D,MAF3D;AAAA,UAEoE,QAFpE,GAEgF,IAFhF,CAEoE,QAFpE;AAGT,UAAM,yBAAyB,GAAG;AAC9B,oBAAY,EAAE,MADgB;AAE9B,qBAAa,EAAE,GAFe;AAG9B,sBAAc,EAAE,GAHc;AAI9B,uBAAe,EAAE,EAJa;AAK9B,uBAAe,EAAE;AALa,OAAlC;AAOA,aAEI;AAAS,iBAAS,EAAC;AAAnB,SACQ;AAAK,iBAAS,EAAC;AAAf,SACA,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,IAAP;AAAa,kBAAU,EAAE,UAAU,GAAG,UAAH,GAAgB;AAAnD,OAAjB,EACI;AAAK,WAAG,EAAE,QAAV;AAAoB,aAAK,EAAE,KAA3B;AAAkC,WAAG,EAAE;AAAvC,QADJ,EAEK,QAAQ,IAAI;AAAM,iBAAS,EAAC;AAAhB,QAFjB,CADA,EAKI,oBAAC,qCAAD,EAAkB,IAAlB,EACA,oBAAC,iDAAD,EAAwB;AAAC,WAAG,EAAE,IAAN;AAAY,aAAK,EAAE;AAAnB,OAAxB,CADA,CALJ,CADR,EAWQ,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,IAAP;AAAa,kBAAU,EAAE,UAAU,GAAG,UAAH,GAAgB,yBAAnD;AAA8E,iBAAS,EAAC;AAAxF,OAAjB,EACK,SAAS,IAAI,SAAS,CAAC,MAAV,GAAiB,CAA9B,IAAmC;AAAK,iBAAS,EAAC,WAAf;AAA0B,0BAAiB;AAA3C,SAAsD,kCAAO,SAAP,CAAtD,CADxC,EAEI;AAAI,iBAAS,EAAC;AAAd,SAA2B,KAA3B,CAFJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SACK,qBAAqB,IAAI,qBAAqB,CAAC,aAA/C,IAAgE,oBAAC,yBAAD,EAAY;AAAC,YAAI,EAAE,aAAP;AAAsB,uBAAe,EAAE;AAAvC,OAAZ,CADrE,EAEK,qBAAqB,IAAI,qBAAqB,CAAC,aAA/C,IAAgE,qBAAqB,CAAC,eAAtF,IAAyG,MAAM,CAAC,MAAP,GAAc,CAAvH,IAA4H;AAAM,iBAAS,EAAC;AAAhB,SAA2B,KAA3B,CAFjI,EAGK,qBAAqB,IAAI,qBAAqB,CAAC,eAA/C,IAAkE,kCAAO,MAAP,CAHvE,CAHJ,CAXR,CAFJ;AAwBH;;;;EApCsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBA;;AAEA;;AACA;;AACA;;IAUa,uB;;;;;AAET,mCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,iGAAM,KAAN;AACA,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE;AADJ,KAAb;AAFa;AAKhB;;;;6BAIY;AAAA;;AAAA,UACD,KADC,GACS,KAAK,KADd,CACD,KADC;AAET,UAAM,QAAQ,GAAG;AACb,gBAAQ,EAAE,IADG;AAEb,aAAK,EAAE,GAFM;AAGb,oBAAY,EAAE,CAHD;AAIb,sBAAc,EAAE,CAJH;AAKb,gBAAQ,EAAE,KALG;AAMb,oBAAY,EAAE,sBAAC,OAAD,EAAU,IAAV;AAAA,iBAAmB,MAAI,CAAC,QAAL,CAAc;AAAE,uBAAW,EAAE;AAAf,WAAd,CAAnB;AAAA,SAND;AAOb,iBAAS,EAAE,oBAAC,eAAD,EAAgB,IAAhB,CAPE;AAQb,iBAAS,EAAE,oBAAC,eAAD,EAAgB,IAAhB;AARE,OAAjB;AAWA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO;AAAC,WAAG,EAAE,mBAAM;AAAA,iBAAK,MAAI,CAAC,MAAL,GAAc,MAAnB;AAAA;AAAZ,SAA4C,QAA5C,EAAoD;AAAE,iBAAS,EAAC;AAAZ,OAApD,CAAP,EACK,KAAK,CAAC,GAAN,CAAU,UAAC,QAAD,EAAW,KAAX,EAAoB;AAC5B,YAAO,QAAQ,GAAG,8BAAiB,QAAQ,CAAC,QAA1B,EAAoC;AAAE,mBAAS,EAAE,uBAAU;AAAvB,SAApC,CAAlB;AACC,eACI;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,EAAE;AAA/B,WACA;AAAK,mBAAS,EAAC;AAAf,WACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,QAAQ,CAAC,IAAhB;AAAsB,oBAAU,EAAE,QAAQ,CAAC,UAA3C;AAAuD,eAAK,EAAE,QAAQ,CAAC,IAAT,CAAc;AAA5E,SAAjB,EACI;AAAK,aAAG,EAAE,QAAV;AAAoB,aAAG,EAAE,QAAQ,CAAC,IAAT,CAAc;AAAvC,UADJ,EAEI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC;AAAf,WAA8B,QAAQ,CAAC,IAAT,CAAc,KAA5C,CADJ,CAFJ,CADJ,CADA,CADJ;AAYH,OAdA,CADL,CADJ,CADJ;AAuBH;;;;EA/CwC,KAAK,CAAC,S;;AACjC,yCAAiB,2BAAjB;AADlB;;AAkDA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAA,MACtB,OADsB,GACV,KADU,CACtB,OADsB;AAE9B,SACI;AACI,aAAS,EAAC,sBADd;AAEI,WAAO,EAAE;AAFb,IADJ;AAMH,CARD;;AAUA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAA,MACtB,OADsB,GACV,KADU,CACtB,OADsB;AAE9B,SACI;AACI,aAAS,EAAC,sBADd;AAEI,WAAO,EAAE;AAFb,IADJ;AAMH,CARD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1EA;;IAYa,wB;;;;;AAET,oCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,kGAAM,KAAN;;AASG,4BAAkB,YAAK;AAC1B,YAAK,QAAL,CAAc;AAAC,eAAO,EAAE,MAAM,IAAI,MAAM,CAAC,QAAP,CAAgB,QAA1B,GAAqC,2BAArC,GAAmE;AAA7E,OAAd;AACH,KAFM;;AARH,UAAK,KAAL,GAAa;AACT,aAAO,EAAE;AADA,KAAb;AAFa;AAKhB;;;;wCACgB;AACb,WAAK,eAAL;AACH;;;6BAMK;AAAA,wBAC0C,KAAK,KAD/C;AAAA,UACM,KADN,eACM,KADN;AAAA,UACa,QADb,eACa,QADb;AAAA,UACuB,cADvB,eACuB,cADvB;AAAA,UAEM,OAFN,GAEkB,KAAK,KAFvB,CAEM,OAFN;AAIF,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,iCAAD,EAAgB;AAAC,iBAAS,EAAC,KAAX;AAAiB,WAAG,EAAE,cAAtB;AAAsC,WAAG,EAAE;AAA3C,OAAhB,CADJ,CADJ,EAII;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAAwB,KAAxB,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA2B,QAA3B,CAFJ,CAJJ,EAQI;AAAI,iBAAS,EAAC;AAAd,SACI;AAAG,YAAI,EAAE,OAAT;AAAkB,iBAAS,EAAC,SAA5B;AAAsC,aAAK,EAAC;AAA5C,QADJ,CARJ,CADJ;AAcH;;;;EAlCyC,KAAK,CAAC,S;;AAClC,0CAAiB,yCAAjB;AADlB,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;;AACA;;AAEA;;AACA;;IASa,a;;;;;;;;;;;;;6BACI;AAAA,wBAC+F,KAAK,KADpG;AAAA,4CACD,OADC;AAAA,UACU,qBADV,uBACU,qBADV;AAAA,UACiC,aADjC,uBACiC,aADjC;AAAA,UACgD,iBADhD,uBACgD,iBADhD;AAAA,UACmE,WADnE,uBACmE,WADnE;AAAA,UACkF,QADlF,eACkF,QADlF;AAET,UAAI,KAAK,yDAAe,qDAAsC,iBAAtC,EAAyD;AAAE,gBAAQ,EAAE,IAAZ;AAAkB,gBAAQ,EAAE;AAA5B,OAAzD,CAAf,CAAT;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,S,0BAAA,EAEI,+BAFJ,EAIM,4CAJN,CADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACK,qDAAsC,iBAAtC,EAAyD;AAAE,gBAAQ,EAAE,IAAZ;AAAkB,gBAAQ,EAAE;AAA5B,OAAzD,CADL,CANJ,CADJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,aAAP;AAAsB,cAAM,EAAC;AAA7B,OAAnB,EACI;AAAK,WAAG,EAAE,OAAO,CAAC,WAAR,CAAoB,qBAApB,EAA2C;AAAE,WAAC,EAAE,GAAL;AAAU,WAAC,EAAE;AAAb,SAA3C,CAAV;AACI,aAAK,EAAE;AAAE,eAAK,EAAE,GAAT;AAAc,gBAAM,EAAE;AAAtB,SADX;AAEI,WAAG,EAAE,yBAAU,qBAAV,CAFT;AAEyC,uBACxB,4BAAa,qBAAb,CAHjB;AAII,aAAK,EAAE;AAJX,QADJ,CADJ,EASG,QAAQ,IAAK,oBAAC,iDAAD,EAAwB;AAAC,WAAG,EAAE,aAAN;AAAqB,aAAK,EAAE;AAA5B,OAAxB,CAThB,CADJ,CAXJ,CADJ;AA4BH;;;;EAjC8B,KAAK,CAAC,S;;AAAzC,sC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;;AACA;;AAEA;;IAMa,oB;;;;;;;;;;;;;6BACI;AAAA,wBACiF,KAAK,KADtF;AAAA,4CACD,OADC;AAAA,UACS,qBADT,uBACS,qBADT;AAAA,UACgC,iBADhC,uBACgC,iBADhC;AAAA,UACmD,aADnD,uBACmD,aADnD;AAAA,UACoE,QADpE,eACoE,QADpE;AAGT,UAAI,KAAK,yDAAe,qDAAsC,iBAAtC,EAAyD;AAAE,gBAAQ,EAAE,IAAZ;AAAkB,gBAAQ,EAAE;AAA5B,OAAzD,CAAf,CAAT;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,YAAI,EAAI,aAAX;AAA0B,cAAM,EAAC;AAAjC,SACI;AAAK,WAAG,EAAE,OAAO,CAAC,WAAR,CAAoB,qBAApB,EAA2C;AAAE,WAAC,EAAE,GAAL;AAAU,WAAC,EAAE;AAAb,SAA3C,CAAV;AACI,aAAK,EAAE;AAAE,eAAK,EAAE,GAAT;AAAc,gBAAM,EAAE;AAAtB,SADX;AAEI,WAAG,EAAE,yBAAU,qBAAV,CAFT;AAEyC,uBACxB,4BAAa,qBAAb,CAHjB;AAII,aAAK,EAAE;AAJX,QADJ,CADJ,EASK,QAAQ,IAAO,oBAAC,iDAAD,EAAwB;AAAC,WAAG,EAAE,aAAN;AAAqB,aAAK,EAAE;AAA5B,OAAxB,CATpB,CADJ,CADJ,EAcI;AAAM,iBAAS,EAAC;AAAhB,SACK,qDAAsC,iBAAtC,EAAyD;AAAE,gBAAQ,EAAE,IAAZ;AAAkB,gBAAQ,EAAE;AAA5B,OAAzD,CADL,CAdJ,CADJ;AAqBH;;;;EA3BqC,KAAK,CAAC,S;;AAAhD,oD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;IAMa,gB;;;;;;;;;;;;;6BACI;AAAA,wBACsB,KAAK,KAD3B;AAAA,UACD,QADC,eACD,QADC;AAAA,UACS,QADT,eACS,QADT;AAET,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,CAAP;AAAA,eACV,oBAAC,2CAAD,EAAqB;AACjB,aAAG,EAAE,CADY;AAEjB,iBAAO,EAAE,IAFQ;AAGjB,kBAAQ,EAAE;AAHO,SAArB,CADU;AAAA,OAAb,CADL,CADJ;AAUH;;;;EAbiC,KAAK,CAAC,S;;AAA5C,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;;AACA;;AACA;;AACA;;IAgBa,0B;;;;;AAET,sCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,oGAAM,KAAN;;AA0BI,wBAAc,YAAK;AAAA,wBACS,MAAK,KADd;AAAA,UACf,QADe,eACf,QADe;AAAA,UACL,QADK,eACL,QADK;AAAA,wBAE+B,MAAK,KAFpC;AAAA,UAEf,YAFe,eAEf,YAFe;AAAA,UAED,iBAFC,eAED,iBAFC;AAAA,UAEkB,QAFlB,eAEkB,QAFlB;AAGvB,UAAM,YAAY,GAAG,iBAAiB,CAAC,CAAD,CAAtC;AACA,UAAM,SAAS,GAAG,IAAI,IAAJ,CAAS,YAAT,CAAlB;AACA,UAAM,SAAS,GAAG,IAAI,IAAJ,CAAS,YAAY,CAAC,iBAAtB,CAAlB;AACA,eAAS,CAAC,OAAV,CAAkB,SAAS,CAAC,OAAV,KAAsB,CAAxC;AACA,UAAM,iBAAiB,GAAG,6BAAW,SAAX,EAAsB,YAAtB,CAA1B;AACA,UAAM,eAAe,GAAG,6BAAW,SAAX,EAAsB,YAAtB,CAAxB;AACA,WAAK,CAAC,GAAN,yCAA2C,YAA3C,wBAAqE,iBAArE,sBAAkG,eAAlG,yBAAgI,QAAhI,GAA4I,IAA5I,CAAiJ,UAAC,GAAD,EAAa;AAC1J,YAAM,eAAe,GAAG,GAAG,CAAC,IAAJ,CAAS,IAAjC;;AACA,cAAK,QAAL,CAAc;AACV,kBAAQ,EAAE,QAAQ,GAAG,CAAX,gCAAmB,QAAnB,sBAAgC,eAAhC,KAAmD;AADnD,SAAd;AAGH,OALD,EAKG,KALH,CAKS,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,OALZ;AAMH,KAfO;;AAiBA,6BAAmB,YAAK;AAC5B,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE,MAAK,KAAL,CAAW,QAAX,GAAsB;AAAlC,OAAd;AACH,KAFO;;AA1CJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,CADD;AAET,cAAQ,EAAE,EAFD;AAGT,gBAAU,EAAE,KAAK,CAAC,iBAAN,IAA4B,KAAK,CAAC,iBAAN,CAAwB,MAAxB,GAAiC,MAAK,KAAL,CAAW,oBAA7C,IAAsE;AAHpG,KAAb;AAFa;AAOhB;;;;wCAEgB;AACb,WAAK,WAAL;AACH;;;uCAEkB,S,EAA8B,S,EAA8B,W,EAAgB;AAE3F,UAAI,SAAS,CAAC,QAAV,KAAuB,KAAK,KAAL,CAAW,QAAtC,EAAgD;AAC5C,aAAK,WAAL;AACH;;AACD,UAAI,SAAS,CAAC,QAAV,KAAuB,KAAK,KAAL,CAAW,QAAtC,EAAgD;AAC5C,aAAK,QAAL,CAAc;AACV,oBAAU,EAAG,KAAK,KAAL,CAAW,QAAX,CAAoB,MAArB,IAAgC,CAAC,KAAK,KAAL,CAAW,QAAX,GAAsB,CAAvB,IAA4B,KAAK,KAAL,CAAW,oBAAvE,KAAgG;AADlG,SAAd;AAGH;AACJ;;;6BAyBY;AAAA,yBACyB,KAAK,KAD9B;AAAA,UACD,QADC,gBACD,QADC;AAAA,UACS,UADT,gBACS,UADT;AAAA,yBAE0C,KAAK,KAF/C;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,iBAFV,gBAEU,iBAFV;AAAA,UAE6B,QAF7B,gBAE6B,QAF7B;AAGT,UAAM,YAAY,GAAG,iBAAiB,CAAC,CAAD,CAAtC;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,MAAT,GAAkB,CAAlB,IACG,oBAAC,6BAAD,EAAc;AACV,eAAO,EAAE,YADC;AAEV,eAAO,EAAE,YAAY,CAAC,WAFZ;AAGV,qBAAa,EAAE,YAAY,CAAC,aAHlB;AAIV,gBAAQ,EAAE;AAJA,OAAd,CAFR,EAUI;AAAK,iBAAS,EAAC;AAAf,QAVJ,EAYK,QAAQ,CAAC,MAAT,GAAkB,CAAlB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAAiC,SAAjC,CADJ,EAEI,oBAAC,mCAAD,EAAiB;AAAC,gBAAQ,EAAE,QAAX;AAAsB,gBAAQ,EAAE;AAAhC,OAAjB,CAFJ,CAbR,EAiBK,UAAU,IAAI;AAAK,iBAAS,EAAC;AAAf,SACX;AAAQ,iBAAS,EAAC,gBAAlB;AAAmC,gBAAQ,EAAE,CAAC,UAAD,IAAe,QAAQ,CAAC,MAAT,KAAoB,CAAhF;AACI,eAAO,EAAE,KAAK;AADlB,SACkC,uCADlC,CADW,CAjBnB,CADJ;AAyBH;;;;EAhF2C,KAAK,CAAC,S;;AACpC,4CAAiB,4BAAjB;AADlB,gE;;;;;;;;;;;;;;;ACpBA;;AAEA;;AACA;;AAMa,gCAAwB,UAAC,KAAD,EAAiB;AAClD,MAAI,CAAC,KAAK,CAAC,IAAX,EAAiB;AACb,WAAO,gCAAP;AACH;;AAHiD,MAI1C,IAJ0C,GAIjC,KAJiC,CAI1C,IAJ0C;AAAA,MAK1C,KAL0C,GAKT,IALS,CAK1C,KAL0C;AAAA,MAKnC,qBALmC,GAKT,IALS,CAKnC,qBALmC;AAOlD,SACI;AACI;AAAG,UAAI,EAAE,+CAAgC,IAAhC,CAAT;AAAgD,eAAS,EAAC;AAA1D,OACI;AAAK,SAAG,EAAE,8BAAiB,qBAAjB,EAAwC;AAAE,iBAAS,EAAE,uBAAU;AAAvB,OAAxC,CAAV;AACI,WAAK,EAAE;AAAE,aAAK,EAAE,IAAT;AAAe,cAAM,EAAE;AAAvB,OADX;AAEI,eAAS,EAAC,gBAFd;AAGI,SAAG,EAAE,yBAAU,qBAAV,CAHT;AAGyC,qBACxB,4BAAa,qBAAb,CAJjB;AAKI,WAAK,EAAE,2BAAY,qBAAZ;AALX,MADJ,EAOQ;AAAK,eAAS,EAAC;AAAf,OACI;AAAK,eAAS,EAAC;AAAf,OAAiC,KAAjC,CADJ,CAPR,CAFR,CAaI;;AAbJ;AAeH,CAtBY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRb;;AACA;;AACA;;AACA;;AACA;;IAKa,oB;;;;;;;;;;;;;6BAII;AAAA,UACD,IADC,GACQ,KAAK,KADb,CACD,IADC;AAAA,UAED,KAFC,GAE8E,IAF9E,CAED,KAFC;AAAA,UAEM,aAFN,GAE8E,IAF9E,CAEM,aAFN;AAAA,UAEqB,EAFrB,GAE8E,IAF9E,CAEqB,EAFrB;AAAA,UAEyB,qBAFzB,GAE8E,IAF9E,CAEyB,qBAFzB;AAAA,UAEgD,MAFhD,GAE8E,IAF9E,CAEgD,MAFhD;AAAA,UAEwD,iBAFxD,GAE8E,IAF9E,CAEwD,iBAFxD;AAIT,aACI;AAAK,iBAAS,EAAC,UAAf;AAA0B,WAAG,EAAE;AAA/B,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,YAAI,EAAE,aAAT;AAAwB,aAAK,EAAE;AAA/B,SACI;AAAK,WAAG,EAAE,8BAAiB,qBAAjB,EAAwC;AAAE,mBAAS,EAAE,uBAAU;AAAvB,SAAxC,CAAV;AAAsF,iBAAS,EAAC,gBAAhG;AAAiH,WAAG,EAAE,KAAtH;AAA6H,aAAK,EAAE,2BAAY,qBAAZ;AAApI,QADJ,CADJ,EAII,oBAAC,uCAAD,EAAmB;AAAC,WAAG,EAAE,aAAN;AAAqB,aAAK,EAAE,KAA5B;AAAmC,aAAK,EAAE,IAA1C;AAAgD,iBAAS,EAAE;AAA3D,OAAnB,CAJJ,CADJ,EAQI;AAAG,YAAI,EAAE,aAAT;AAAwB,iBAAS,EAAC;AAAlC,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,SACI,oBAAC,yBAAD,EAAY;AAAC,YAAI,EAAE;AAAP,OAAZ,CADJ,CADJ,CADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,KAAP,CADJ,CANJ,CARJ,CADJ;AAqBH;;;;EA7BqC,KAAK,CAAC,S;;AACrC,oCAAe;AAAE,mBAAiB,EAAE;AAArB,CAAf;AADX,oD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AA6BA,IAAM,gBAAgB,GAAG;AACrB,WAAS,EAAE,SADU;AAErB,YAAU,EAAE;AAFS,CAAzB;;IAKa,0B;;;;;AAET,sCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,oGAAM,KAAN;AAUI;AAAA;AAAA;AAAA;AAAA,4BAAc;AAAA;;AAAA;AAAA;AAAA;AAAA;AACV,0BADU,GACO,MAAK,KADZ,CACV,YADU;AAAA,4BAEa,MAAK,KAFlB,EAEV,QAFU,eAEV,QAFU,EAEA,QAFA,eAEA,QAFA;AAAA;AAAA,qBAIC,KAAK,CAAC,GAAN,yCAA2C,YAA3C,yBAAsE,QAAtE,GACd,IADc,CACT,UAAC,GAAD,EAAa;AACf,oBAAM,eAAe,GAAG,GAAG,CAAC,IAAJ,CAAS,IAAjC;;AACA,sBAAK,QAAL,CAAc;AACV,0BAAQ,EAAE,QAAQ,GAAG,CAAX,gCAAmB,QAAnB,sBAAgC,eAAhC,KAAmD;AADnD,iBAAd;;AAGA,oBAAI,MAAK,KAAL,CAAW,aAAf,EAA8B;AAC1B,wBAAK,QAAL,CAAc;AACV,iCAAa,EAAE,KADL;AAEV,4BAAQ,EAAE,QAAQ,GAAG;AAFX,mBAAd;AAIH;AACJ,eAZc,EAYZ,KAZY,CAYN,aAAG;AAAA,uBAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,eAZG,CAJD;;AAAA;AAIZ,kBAJY;AAAA,+CAkBX,IAlBW;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAd;;AAmCA,6BAAmB,YAAK;AAAA,UACpB,QADoB,GACP,MAAK,KADE,CACpB,QADoB;;AAE5B,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE,QAAQ,GAAG,CAAvB;AAA0B,8BAAsB,EAAE;AAAlD,OAAd;AACH,KAHO;;AA5CJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,CADD;AAET,cAAQ,EAAE,MAAK,KAAL,CAAW,SAAX,IAAwB,EAFzB;AAGT,gBAAU,EAAE,IAHH;AAIT,mBAAa,EAAE,IAJN;AAKT,4BAAsB,EAAE;AALf,KAAb;AAFa;AAShB;;;;wCAwBgB;AACb,WAAK,WAAL;AACH;;;uCAEkB,S,EAAW,S,EAAS;AACnC,UAAI,KAAK,KAAL,CAAW,QAAX,KAAwB,SAAS,CAAC,QAAtC,EAAgD;AAC5C,aAAK,WAAL;AACH;;AACD,UAAI,KAAK,KAAL,CAAW,QAAX,KAAwB,SAAS,CAAC,QAAtC,EAAgD;AAC5C,aAAK,QAAL,CAAc;AAAE,oBAAU,EAAG,KAAK,KAAL,CAAW,QAAX,CAAoB,MAArB,IAAgC,CAAC,KAAK,KAAL,CAAW,QAAX,GAAsB,CAAvB,IAA4B,KAAK,KAAL,CAAW,aAAvE,KAAyF,CAAzF,IAA8F,KAAK,KAAL,CAAW;AAAvH,SAAd;AACH;AACJ;;;6BAQY;AAAA,wBACoC,KAAK,KADzC;AAAA,UACD,IADC,eACD,IADC;AAAA,UACK,aADL,eACK,aADL;AAAA,UACoB,WADpB,eACoB,WADpB;AAAA,yBAE0D,KAAK,KAF/D;AAAA,UAED,QAFC,gBAED,QAFC;AAAA,UAES,UAFT,gBAES,UAFT;AAAA,UAEqB,QAFrB,gBAEqB,QAFrB;AAAA,UAE+B,sBAF/B,gBAE+B,sBAF/B;AAAA,UAGD,SAHC,GAG2B,IAH3B,CAGD,SAHC;AAAA,UAGU,YAHV,GAG2B,IAH3B,CAGU,YAHV;AAIT,UAAM,uBAAuB,GAAG,UAAU,IAAI,sBAA9C;AAEA,UAAM,QAAQ,GAAmB,QAAQ,CAAC,MAAT,KAAoB,CAApB,GAC7B,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAS;AAClB,eAAQ;AACJ,eAAK,EAAE,IAAI,CAAC,KADR;AAEJ,uBAAa,EAAE,IAAI,CAAC,aAFhB;AAGJ,cAAI,EAAE,IAAI,CAAC,qBAAL,GAA6B,IAAI,CAAC,qBAAL,CAA2B,GAAxD,GAA8D,EAHhE;AAIJ,gBAAM,EAAE,IAAI,CAAC,MAJT;AAKJ,YAAE,EAAE,IAAI,CAAC,SALL;AAMJ,gBAAM,EAAE,EANJ;AAOJ,+BAAqB,EAAE,IAAI,CAAC,qBAPxB;AAQJ,2BAAiB,EAAE,IAAI,CAAC;AARpB,SAAR;AAUH,OAXD,CAD6B,GAYxB,EAZT;AAcA,UAAM,iBAAiB,GAAG,uBAAuB,GAAG,QAAQ,CAAC,KAAT,CAAe,CAAf,EAAkB,IAAK,aAAa,GAAG,QAAvC,CAAH,GAAuD,QAAQ,CAAC,KAAT,CAAe,CAAf,CAAxG;AAEA,UAAM,SAAS,GAAG;AACd,aAAK,EAAE,EADO;AAEd,qBAAa,EAAE,EAFD;AAGd,YAAI,EAAE,EAHQ;AAId,cAAM,EAAE,EAJM;AAKd,UAAE,EAAE,EALU;AAMd,cAAM,EAAE,EANM;AAOd,yBAAiB,EAAE;AAPL,OAAlB;AAUA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,WAAW,GACR;AAAK,iBAAS,EAAC;AAAf,SACM,QAAQ,CAAC,MAAT,GAAkB,CAAnB,GACG,QAAQ,CAAC,KAAT,CAAe,CAAf,EAAkB,IAAK,aAAa,GAAG,QAAvC,EAAkD,GAAlD,CAAsD,UAAC,IAAD;AAAA,eAClD,oBAAC,6CAAD,EAAsB;AAClB,cAAI,EAAE;AACF,iBAAK,EAAE,IAAI,CAAC,KADV;AAEF,gBAAI,EAAE,IAAI,CAAC,aAFT;AAGF,oBAAQ,EAAE,8BAAiB,IAAI,CAAC,qBAAtB,EAA6C;AAAE,uBAAS,EAAE,uBAAU;AAAvB,aAA7C,CAHR;AAIF,yBAAa,EAAE,IAAI,CAAC,iBAJlB;AAKF,kBAAM,EAAE,IAAI,CAAC;AALX,WADY;AAQlB,+BAAqB,EAAE;AAAE,yBAAa,EAAE,IAAjB;AAAuB,2BAAe,EAAE;AAAxC;AARL,SAAtB,CADkD;AAAA,OAAtD,CADH,GAcG;AAAK,iBAAS,EAAC;AAAf,SAA+B,gBAAgB,CAAC,UAAhD,CAfR,CADQ,GAoBR;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,6CAAD,EAAsB;AAAC,YAAI,EAAE,QAAQ,CAAC,MAAT,KAAoB,CAApB,GAAwB,QAAQ,CAAC,CAAD,CAAhC,GAAsC;AAA7C,OAAtB,CADJ,EAGI;AAAK,iBAAS,EAAC;AAAf,QAHJ,EAKI;AAAK,iBAAS,EAAC,mBAAf;AAAmC,aAAK,EAAE;AAA1C,SACK,YADL,CALJ,EASI;AAAK,iBAAS,EAAC;AAAf,SACM,QAAQ,CAAC,MAAT,GAAkB,CAAnB,GACG;AAAK,iBAAS,EAAC;AAAf,SACK,iBAAiB,CAAC,GAAlB,CAAsB,UAAC,IAAD;AAAA,eACnB,oBAAC,2CAAD,EAAqB;AAAC,aAAG,EAAE,IAAI,CAAC,EAAX;AAAe,cAAI,EAAE;AAArB,SAArB,CADmB;AAAA,OAAtB,CADL,CADH,GAOG;AAAK,iBAAS,EAAC;AAAf,SAA+B,gBAAgB,CAAC,UAAhD,CARR,EAWI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,gBAAlB;AAAmC,gBAAQ,EAAE,CAAC,UAAD,IAAe,QAAQ,CAAC,MAAT,IAAmB,aAA/E;AAA8F,eAAO,EAAE,KAAK;AAA5G,SAA+H,gBAAgB,CAAC,SAAhJ,CADJ,CAXJ,CATJ,CArBR,CADJ;AAkDH;;;;EAxI2C,KAAK,CAAC,S;;AACpC,4CAAiB,4BAAjB;AADlB,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxCA;;AAEA;;AACA;;AAEA;;AACA;;IAsBa,wB;;;;;AAET,oCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,kGAAM,KAAN;;AA0BI,wBAAc,YAAK;AAAA,UACf,YADe,GACG,MAAK,KADR,CACf,YADe;AAAA,wBAEU,MAAK,KAFf;AAAA,UAEf,UAFe,eAEf,UAFe;AAAA,UAEH,QAFG,eAEH,QAFG;AAGvB,UAAM,aAAa,GAAG,KAAK,CAAC,MAAN,CAAa,wDAAb,CAAtB;;AACA,YAAK,QAAL,CACI;AACI,gBAAQ,EAAE,QADd;AAEI,kBAAU,EAAE,IAFhB;AAGI,kBAAU,EAAE;AAHhB,OADJ;;AASA,mBAAa,CAAC,GAAd,yCAAmD,YAAnD,yBAA8E,UAA9E,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,YAAM,eAAe,GAAG,GAAG,CAAC,IAAJ,CAAS,IAAjC;;AACA,cAAK,QAAL,CACI;AACI,kBAAQ,+BAAM,QAAN,sBAAmB,eAAnB,EADZ;AAEI,oBAAU,EAAE,UAAU,GAAG,CAF7B;AAGI,oBAAU,EAAE,KAHhB;AAII,oBAAU,EAAE,eAAe,IAAI,eAAe,CAAC,MAAhB,KAA2B,MAAK,KAAL,CAAW,oBAAX,GAAkC;AAJhG,SADJ;AAQH,OAXL,EAYK,KAZL,CAYW,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,OAZd;AAaH,KA1BO;;AAzBJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,EADD;AAET,gBAAU,EAAE,CAFH;AAGT,gBAAU,EAAE,KAHH;AAIT,gBAAU,EAAE;AAJH,KAAb;AAFa;AAQhB;;;;uCAEkB,S,EAAwC;AACvD,UAAI,KAAK,KAAL,CAAW,iBAAX,KAAiC,SAAS,CAAC,iBAA/C,EAAkE;AAC9D,aAAK,QAAL,CACI;AACI,kBAAQ,EAAE,KAAK,KAAL,CAAW;AADzB,SADJ;AAKH;AACJ;;;wCAEgB;AAAA,UACL,UADK,GACU,KAAK,KADf,CACL,UADK;;AAEb,UAAI,UAAJ,EAAgB;AACZ,aAAK,WAAL;AACH;AACJ;;;6BA8BY;AAAA;;AAAA,wBACkE,KAAK,KADvE;AAAA,UACD,WADC,eACD,WADC;AAAA,UACY,gBADZ,eACY,gBADZ;AAAA,UAC8B,cAD9B,eAC8B,cAD9B;AAAA,UAC8C,eAD9C,eAC8C,eAD9C;AAAA,yBAE4C,KAAK,KAFjD;AAAA,UAED,QAFC,gBAED,QAFC;AAAA,UAEqB,MAFrB,gBAES,UAFT;AAAA,UAE6B,UAF7B,gBAE6B,UAF7B;AAIT,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,eAAe,IACZ;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,+CAAD,EAAuB;AAAC,mBAAW,EAAC,iEAAb;AAA6B,YAAI,EAAE,cAAnC;AAAmD,oBAAY,EAAE;AAAjE,OAAvB,CADJ,CAFR,EAMI,oBAAC,+CAAD,EAAuB;AACnB,gBAAQ,EAAE,QADS;AAEnB,mBAAW,EAAE,WAFM;AAGnB,wBAAgB,EAAE;AAHC,OAAvB,CANJ,EAUI;AAAK,iBAAS,EAAC;AAAf,SACK,MAAM,IAAI,oBAAC,eAAD,EAAO,IAAP,CADf,EAEK,UAAU,IACP;AAAK,iBAAS,EAAC,kBAAf;AAAkC,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,WAAL,EAAN;AAAA;AAA3C,SACI;AAAK,iBAAS,EAAC;AAAf,SAA+B,8FAA/B,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,CAHR,CAVJ,CADJ;AAqBH;;;;EAlFyC,KAAK,CAAC,S;;AAClC,0CAAiB,0BAAjB;AADlB,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BA;;AACA;;AACA;;AACA;;IAQa,kB;;;;;;;;;;;;;6BAEI;AAAA,UACD,IADC,GACQ,KAAK,KADb,CACD,IADC;AAAA,UAED,KAFC,GAEkF,IAFlF,CAED,KAFC;AAAA,UAEM,iBAFN,GAEkF,IAFlF,CAEM,iBAFN;AAAA,UAEyB,qBAFzB,GAEkF,IAFlF,CAEyB,qBAFzB;AAAA,UAEgD,MAFhD,GAEkF,IAFlF,CAEgD,MAFhD;AAAA,UAEwD,QAFxD,GAEkF,IAFlF,CAEwD,QAFxD;AAAA,UAEkE,WAFlE,GAEkF,IAFlF,CAEkE,WAFlE;AAAA,kCAGuC,IAAI,CAAC,WAAL,CAAiB,SAHxD;AAAA,UAGD,QAHC,yBAGD,QAHC;AAAA,UAGS,eAHT,yBAGS,eAHT;AAAA,UAG0B,QAH1B,yBAG0B,QAH1B;AAKT,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,iBAAS,EAAC,eAAb;AAA6B,YAAI,EAAE,QAAQ,CAAC;AAA5C,SAA4D,QAAQ,CAAC,UAArE,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,WAAG,EAAE,OAAO,CAAC,WAAR,CAAoB,qBAApB,EAA2C;AAAE,WAAC,EAAE,GAAL;AAAU,WAAC,EAAE;AAAb,SAA3C,CAAV;AACI,aAAK,EAAE;AAAE,eAAK,EAAE,GAAT;AAAc,gBAAM,EAAE;AAAtB,SADX;AAEI,iBAAS,EAAC,kBAFd;AAGI,WAAG,EAAE,yBAAU,qBAAV,CAHT;AAGyC,uBACxB,4BAAa,qBAAb,CAJjB;AAKI,aAAK,EAAE,2BAAY,qBAAZ;AALX,QADJ,EASI,oBAAC,iDAAD,EAAwB;AACpB,gBAAQ,EAAE,QADU;AAEpB,aAAK,EAAE,KAFa;AAGpB,uBAAe,EAAE,eAHG;AAIpB,oBAAY,EAAE,QAJM;AAKpB,kBAAU,EAAE;AALQ,OAAxB,CATJ,EAiBI;AAAK,iBAAS,EAAC;AAAf,QAjBJ,CADJ,CAFJ,EAwBI;AAAG,YAAI,EAAE,+CAAgC,IAAhC,CAAT;AAAgD,iBAAS,EAAC;AAA1D,SACI,kCAAO,KAAP,CADJ,CAxBJ,EA4BI;AAAG,YAAI,EAAE,+CAAgC,IAAhC,CAAT;AAAgD,iBAAS,EAAC;AAA1D,SACI;AAAM,iBAAS,EAAC;AAAhB,SAA+B,WAAW,CAAC,SAAZ,CAAsB,sBAArD,CADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,SAA6B,6BAAW,iBAAX,EAA8B,YAA9B,CAA7B,CAFJ,CA5BJ,CADJ;AAmCH;;;;EA1CmC,KAAK,CAAC,S;;AAA9C,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXA;;IAQa,sB;;;;;;;;;;;;;6BACI;AAAA,wBAC2C,KAAK,KADhD;AAAA,UACD,QADC,eACD,QADC;AAAA,UACS,WADT,eACS,WADT;AAAA,UACsB,gBADtB,eACsB,gBADtB;AAGT,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,CAAP;AAAA,eACV,oBAAC,uCAAD,EAAmB;AACf,aAAG,EAAE,CADU;AAEf,cAAI,EAAE,IAFS;AAGf,qBAAW,EAAE,WAHE;AAIf,0BAAgB,EAAE;AAJH,SAAnB,CADU;AAAA,OAAb,CADL,CADJ;AAWH;;;;EAfuC,KAAK,CAAC,S;;AAAlD,wD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;AAEA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;IAuBa,yB;;;;;AAET,qCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,mGAAM,KAAN;;AA0BI,wBAAc,YAAK;AAAA,UACf,YADe,GACG,MAAK,KADR,CACf,YADe;AAAA,wBAEU,MAAK,KAFf;AAAA,UAEf,UAFe,eAEf,UAFe;AAAA,UAEH,QAFG,eAEH,QAFG;AAGvB,UAAM,aAAa,GAAG,KAAK,CAAC,MAAN,CAAa,wDAAb,CAAtB;;AACA,YAAK,QAAL,CACI;AACI,gBAAQ,EAAE,QADd;AAEI,kBAAU,EAAE,IAFhB;AAGI,kBAAU,EAAE;AAHhB,OADJ;;AASA,mBAAa,CAAC,GAAd,yCAAmD,YAAnD,yBAA8E,UAA9E,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,YAAM,eAAe,GAAG,GAAG,CAAC,IAAJ,CAAS,IAAjC;;AACA,cAAK,QAAL,CACI;AACI,kBAAQ,+BAAM,QAAN,sBAAmB,eAAnB,EADZ;AAEI,oBAAU,EAAE,UAAU,GAAG,CAF7B;AAGI,oBAAU,EAAE,KAHhB;AAII,oBAAU,EAAE,eAAe,IAAI,eAAe,CAAC,MAAhB,KAA2B,MAAK,KAAL,CAAW;AAJzE,SADJ;AAQH,OAXL,EAYK,KAZL,CAYW,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,OAZd;AAaH,KA1BO;;AAzBJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,EADD;AAET,gBAAU,EAAE,CAFH;AAGT,gBAAU,EAAE,KAHH;AAIT,gBAAU,EAAE;AAJH,KAAb;AAFa;AAQhB;;;;uCAEkB,S,EAAyC;AACxD,UAAI,KAAK,KAAL,CAAW,iBAAX,KAAiC,SAAS,CAAC,iBAA/C,EAAkE;AAC9D,aAAK,QAAL,CACI;AACI,kBAAQ,EAAE,KAAK,KAAL,CAAW;AADzB,SADJ;AAKH;AACJ;;;wCAEgB;AAAA,UACL,UADK,GACU,KAAK,KADf,CACL,UADK;;AAEb,UAAI,UAAJ,EAAgB;AACZ,aAAK,WAAL;AACH;AACJ;;;6BAgCY;AAAA;;AAAA,wBACuH,KAAK,KAD5H;AAAA,UACD,WADC,eACD,WADC;AAAA,UACY,gBADZ,eACY,gBADZ;AAAA,UAC8B,eAD9B,eAC8B,eAD9B;AAAA,UAC+C,qBAD/C,eAC+C,qBAD/C;AAAA,UACsE,cADtE,eACsE,cADtE;AAAA,UACsF,eADtF,eACsF,eADtF;AAAA,UACuG,WADvG,eACuG,WADvG;AAAA,yBAE4C,KAAK,KAFjD;AAAA,UAED,QAFC,gBAED,QAFC;AAAA,UAEqB,MAFrB,gBAES,UAFT;AAAA,UAE6B,UAF7B,gBAE6B,UAF7B;AAGT,UAAM,QAAQ,GAAG;AAAE,sBAAc,EAAE,eAAe,GAAG,eAAH,GAAqB;AAAtD,OAAjB;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,WAAW,GACR;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD;AAAA,eACV,oBAAC,2DAAD,EAA6B;AACzB,cAAI,EAAE;AACF,iBAAK,EAAE,IAAI,CAAC,KADV;AAEF,gBAAI,EAAE,IAAI,CAAC,aAFT;AAGF,oBAAQ,EAAE,8BAAiB,IAAI,CAAC,qBAAtB,EAA6C;AAAE,uBAAS,EAAE,uBAAU;AAAvB,aAA7C,CAHR;AAIF,yBAAa,EAAE,IAAI,CAAC,iBAJlB;AAKF,kBAAM,EAAE,IAAI,CAAC,WAAL,IAAoB,IAAI,CAAC,WAAL,CAAiB,SAArC,IAAkD,IAAI,CAAC,WAAL,CAAiB,SAAjB,CAA2B;AALnF,WADmB;AAQzB,+BAAqB,EAAE;AAAE,yBAAa,EAAE,IAAjB;AAAuB,2BAAe,EAAE;AAAxC;AARE,SAA7B,CADU;AAAA,OAAb,CADL,CADQ,GAgBR,0CACI;AAAK,iBAAS,EAAC,wBAAf;AAAwC,aAAK,EAAE;AAA/C,SACK,eAAe,IACZ;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,+CAAD,EAAuB;AAAC,mBAAW,EAAC,iEAAb;AAA6B,YAAI,EAAE,cAAnC;AAAmD,oBAAY,EAAE;AAAjE,OAAvB,CADJ,CAFR,EAOI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,eAAP;AAAwB,kBAAU,EAAE;AAApC,OAAjB,EACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,SAA8B,sCAA9B,CADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,QAFJ,CADJ,CAPJ,CADJ,EAgBI,oBAAC,iDAAD,EAAwB;AACpB,gBAAQ,EAAE,QADU;AAEpB,mBAAW,EAAE,WAFO;AAGpB,wBAAgB,EAAE;AAHE,OAAxB,CAhBJ,EAsBI;AAAK,iBAAS,EAAC;AAAf,SACK,MAAM,IAAI,oBAAC,eAAD,EAAO,IAAP,CADf,EAEK,UAAU,IACP;AAAK,iBAAS,EAAC,kBAAf;AAAkC,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,WAAL,EAAN;AAAA;AAA3C,SACI;AAAK,iBAAS,EAAC;AAAf,SAA+B,8FAA/B,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,CAHR,CAtBJ,CAjBR,CADJ;AAoDH;;;;EApH0C,KAAK,CAAC,S;;AACnC,2CAAiB,2BAAjB;AADlB,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCA;;AAQA,IAAM,MAAM,GAAG;AACX,IAAE,EAAE,CAAC,OAAD,EAAU,QAAV,EAAoB,KAApB,EAA2B,OAA3B,EAAoC,KAApC,EAA2C,MAA3C,EAAmD,MAAnD,EAA2D,QAA3D,EAAqE,QAArE,EAA+E,SAA/E,EAA0F,QAA1F,EAAoG,OAApG;AADO,CAAf;;IAIa,mB;;;;;AAAb;AAAA;;AAAA;;;;AAGY,oBAAU,UAAC,IAAD,EAAe;AAC7B,UAAM,GAAG,GAAG,IAAI,CAAC,OAAL,EAAZ;AACA,UAAM,KAAK,GAAG,MAAM,CAAC,EAAP,CAAU,IAAI,CAAC,QAAL,EAAV,CAAd;AACA,UAAM,IAAI,GAAG,IAAI,CAAC,WAAL,EAAb;AACA,uBAAU,GAAV,oBAAkB,KAAlB,eAA4B,IAA5B;AACH,KALO;;AAHZ;AAuCC;;;;6BA7BgB;AAAA,wBACuC,KAAK,KAD5C;AAAA,UACD,IADC,eACD,IADC;AAAA,UACK,WADL,eACK,WADL;AAAA,UACkB,gBADlB,eACkB,gBADlB;AAAA,UAED,KAFC,GAEsC,IAFtC,CAED,KAFC;AAAA,UAEM,QAFN,GAEsC,IAFtC,CAEM,QAFN;AAAA,UAEgB,iBAFhB,GAEsC,IAFtC,CAEgB,iBAFhB;AAAA,kCAGuC,IAAI,CAAC,WAAL,CAAiB,SAHxD;AAAA,UAGD,QAHC,yBAGD,QAHC;AAAA,UAGS,eAHT,yBAGS,eAHT;AAAA,UAG0B,QAH1B,yBAG0B,QAH1B;AAKT,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,iDAAD,EAAwB;AACpB,gBAAQ,EAAE,QADU;AAEpB,aAAK,EAAE,KAFa;AAGpB,uBAAe,EAAE,eAHG;AAIpB,oBAAY,EAAE,QAJM;AAKpB,kBAAU,EAAE,gBALQ;AAMpB,mBAAW,EAAC;AANQ,OAAxB,CADJ,EASI;AAAG,YAAI,EAAE,gBAAT;AAA2B,cAAM,EAAC,OAAlC;AAA0C,aAAK,EAAC,gBAAhD;AAAiE,iBAAS,EAAC;AAA3E,QATJ,EAUI;AAAG,YAAI,EAAE,WAAT;AAAsB,cAAM,EAAC,OAA7B;AAAqC,aAAK,EAAC,SAA3C;AAAqD,iBAAS,EAAC;AAA/D,QAVJ,CADJ,EAcI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,iBAAS,EAAC,YAAb;AAA0B,YAAI,EAAE,IAAI,CAAC;AAArC,SAAqD,KAArD,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAAgC,QAAhC,CAFJ,CAdJ,EAmBI;AAAK,iBAAS,EAAC;AAAf,SAA4B,KAAK,OAAL,CAAa,iBAAb,CAA5B,CAnBJ,CADJ;AAuBH;;;;EAtCoC,KAAK,CAAC,S;;AACpC,mCAAe;AAAE,mBAAiB,EAAE;AAArB,CAAf;AADX,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbA;;IASa,uB;;;;;;;;;;;;;6BACI;AAAA,wBAC2C,KAAK,KADhD;AAAA,UACD,QADC,eACD,QADC;AAAA,UACS,WADT,eACS,WADT;AAAA,UACsB,gBADtB,eACsB,gBADtB;AAGT,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,CAAP;AAAA,eACV,oBAAC,yCAAD,EAAoB;AAChB,aAAG,EAAE,CADW;AAEhB,cAAI,EAAE,IAFU;AAGhB,qBAAW,EAAE,WAHG;AAIhB,0BAAgB,EAAE;AAJF,SAApB,CADU;AAAA,OAAb,CADL,CADJ;AAWH;;;;EAfwC,KAAK,CAAC,S;;AAAnD,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPA;;AACA;;IAgBa,4B;;;;;;;;;;;;;6BAEI;AAAA,wBACgC,KAAK,KADrC;AAAA,UACD,IADC,eACD,IADC;AAAA,UACK,qBADL,eACK,qBADL;AAAA,UAED,KAFC,GAE4D,IAF5D,CAED,KAFC;AAAA,UAEM,IAFN,GAE4D,IAF5D,CAEM,IAFN;AAAA,UAEY,UAFZ,GAE4D,IAF5D,CAEY,UAFZ;AAAA,UAEwB,QAFxB,GAE4D,IAF5D,CAEwB,QAFxB;AAAA,UAEkC,aAFlC,GAE4D,IAF5D,CAEkC,aAFlC;AAAA,UAEiD,MAFjD,GAE4D,IAF5D,CAEiD,MAFjD;AAGT,UAAM,yBAAyB,GAAG;AAC9B,oBAAY,EAAE,MADgB;AAE9B,qBAAa,EAAE,GAFe;AAG9B,sBAAc,EAAE,GAHc;AAI9B,uBAAe,EAAE,EAJa;AAK9B,uBAAe,EAAE;AALa,OAAlC;AAOA,aAEI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,IAAP;AAAa,kBAAU,EAAE,UAAU,GAAG,UAAH,GAAgB,yBAAnD;AAA8E,aAAK,EAAE,KAArF;AAA4F,iBAAS,EAAC;AAAtG,OAAjB,EACI;AAAM,iBAAS,EAAC;AAAhB,SAA6B,KAA7B,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACK,oBAAC,yBAAD,EAAY;AAAC,YAAI,EAAE,aAAP;AAAsB,uBAAe,EAAE;AAAvC,OAAZ,CADL,EAEM,MAAM,IAAI,MAAM,CAAC,MAAP,GAAgB,CAA1B,IAA+B;AAAM,iBAAS,EAAC;AAAhB,SAA2B,KAA3B,CAFrC,EAGK,MAAM,IAAI,MAAM,CAAC,MAAP,GAAgB,CAA1B,IAA8B,kCAAO,MAAP,CAHnC,CAFJ,CAFJ;AAYH;;;;EAxB6C,KAAK,CAAC,S;;AAAxD,oE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;;AAEA;;AACA;;IAyBa,uB;;;;;AAET,mCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,iGAAM,KAAN;;AAMI,uBAAa,UAAC,EAAD,EAAe;AAChC,YAAK,QAAL,CAAc;AAAE,kBAAU,EAAE;AAAd,OAAd;AACH,KAFO;;AAIA,qCAA2B,YAAK;AACpC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AACH,KAFO;;AAIA,qCAA2B,YAAK;AACpC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AACH,KAFO;;AAbJ,UAAK,KAAL,GAAa;AACT,gBAAU,EAAE,KAAK,CAAC,UAAN,CAAiB,CAAjB,EAAoB,EADvB;AAET,sBAAgB,EAAE;AAFT,KAAb;AAFa;AAMhB;;;;6BAaK;AAAA;;AAAA,wBAC4D,KAAK,KADjE;AAAA,UACM,UADN,eACM,UADN;AAAA,UACkB,aADlB,eACkB,aADlB;AAAA,UACiC,UADjC,eACiC,UADjC;AAAA,UAC6C,UAD7C,eAC6C,UAD7C;AAAA,UAEM,UAFN,GAEqB,KAAK,KAF1B,CAEM,UAFN;AAGF,UAAM,gBAAgB,GAAG,UAAU,CAAC,MAAX,CAAkB,WAAC;AAAA,eAAI,CAAC,CAAC,EAAF,KAAS,UAAb;AAAA,OAAnB,CAAzB;AACA,UAAM,YAAY,GAAG,UAAU,CAAC,IAAX,CAAgB,WAAC;AAAA,eAAI,CAAC,CAAC,EAAF,KAAS,UAAb;AAAA,OAAjB,CAArB;AAGA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,YAAY,CAAC,KAAb,KAAuB,IAAvB,GAA8B,oBAAC,qBAAD,EAAU;AACrC,WAAG,EAAE,YAAY,CAAC,KAAb,CAAmB,OADa;AAErC,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,wBAAL,EAAN;AAAA,SAFsB;AAGrC,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,wBAAL,EAAN;AAAA,SAHsB;AAIrC,YAAI,EAAE,YAAY,CAAC,KAJkB;AAIX,qBAAa,EAAE,aAJJ;AAImB,aAAK,EAAE,GAJ1B;AAI+B,cAAM,EAAE;AAJvC,OAAV,CAA9B,GAKK,gCANV,CADJ,EASI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,WAAX;AAAuB,YAAI,EAAE,YAAY,CAAC,IAA1C;AAAgD,kBAAU,EAAE,YAAY,CAAC;AAAzE,OAAjB,EACI;AAAK,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT,SAAZ;AAAmC,+BAAuB,EAAE;AAAE,gBAAM,EAAE,YAAY,CAAC;AAAvB;AAA5D,QADJ,CATJ,CADJ,EAeK,UAAU,GAAG,CAAb,IAAkB,gBAAgB,CAAC,GAAjB,CAAqB,UAAC,IAAD,EAAO,CAAP;AAAA,eAAa;AAAK,mBAAS,EAAC,WAAf;AAA2B,aAAG,EAAE,CAAhC;AAAmC,iBAAO,EAAE;AAAA,mBAAM,MAAI,CAAC,UAAL,CAAgB,IAAI,CAAC,EAArB,CAAN;AAAA;AAA5C,WACjD;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW;AAArB,UADJ,EAEI,oBAAC,iCAAD,EAAgB;AAAC,gBAAM,EAAE,EAAT;AAAa,cAAI,EAAE,OAAnB;AAA4B,uBAAa,EAAC,QAA1C;AAAmD,uBAAa,EAAE;AAAlE,SAAhB,CAFJ,CADiD,EAMjD;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT,WAAZ;AAAmC,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA5D,UADJ,CANiD,CAAb;AAAA,OAArB,CAfvB,CADJ;AA4BH;;;;EAxDwC,KAAK,CAAC,S;;AACjC,yCAAiB,yBAAjB;AADlB,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BA;;AAEA;;AACA;;AACA;;IA0Ba,mB;;;;;AAET,+BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,6FAAM,KAAN;;AAMI,uBAAa,UAAC,EAAD,EAAe;AAChC,YAAK,QAAL,CAAc;AAAE,kBAAU,EAAE;AAAd,OAAd;AACH,KAFO;;AAIA,qCAA2B,YAAK;AACpC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AACH,KAFO;;AAIA,qCAA2B,YAAK;AACpC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AACH,KAFO;;AAbJ,UAAK,KAAL,GAAa;AACT,gBAAU,EAAE,KAAK,CAAC,UAAN,CAAiB,CAAjB,EAAoB,EADvB;AAET,sBAAgB,EAAE;AAFT,KAAb;AAFa;AAMhB;;;;6BAaK;AAAA;;AAAA,wBACsE,KAAK,KAD3E;AAAA,UACM,UADN,eACM,UADN;AAAA,UACkB,aADlB,eACkB,aADlB;AAAA,UACiC,UADjC,eACiC,UADjC;AAAA,UAC6C,UAD7C,eAC6C,UAD7C;AAAA,UACyD,QADzD,eACyD,QADzD;AAAA,UAEM,UAFN,GAEqB,KAAK,KAF1B,CAEM,UAFN;AAGF,UAAM,gBAAgB,GAAG,UAAU,CAAC,MAAX,CAAkB,WAAC;AAAA,eAAI,CAAC,CAAC,EAAF,KAAS,UAAb;AAAA,OAAnB,CAAzB;AACA,UAAM,YAAY,GAAG,UAAU,CAAC,IAAX,CAAgB,WAAC;AAAA,eAAI,CAAC,CAAC,EAAF,KAAS,UAAb;AAAA,OAAjB,CAArB;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,YAAY,CAAC,KAAb,KAAuB,IAAvB,GAA8B,oBAAC,qBAAD,EAAU;AACrC,WAAG,EAAE,YAAY,CAAC,KAAb,CAAmB,OADa;AAErC,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,wBAAL,EAAN;AAAA,SAFsB;AAGrC,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,wBAAL,EAAN;AAAA,SAHsB;AAIrC,YAAI,EAAE,YAAY,CAAC,KAJkB;AAIX,qBAAa,EAAE,aAJJ;AAImB,aAAK,EAAE,GAJ1B;AAI+B,cAAM,EAAE;AAJvC,OAAV,CAA9B,GAKK,gCANV,CADJ,EASK,QAAQ,IAAI,oBAAC,iDAAD,EAAwB;AAAC,WAAG,EAAE;AAAN,OAAxB,CATjB,EAUI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,WAAX;AAAuB,YAAI,EAAE,YAAY,CAAC,IAA1C;AAAgD,kBAAU,EAAE,YAAY,CAAC;AAAzE,OAAjB,EACI;AAAK,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT,SAAZ;AAAmC,+BAAuB,EAAE;AAAE,gBAAM,EAAE,YAAY,CAAC;AAAvB;AAA5D,QADJ,CAVJ,CADJ,EAgBK,UAAU,GAAG,CAAb,IAAkB,gBAAgB,CAAC,GAAjB,CAAqB,UAAC,IAAD,EAAO,CAAP;AAAA,eAAa;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,EAAE,CAA/B;AAAkC,iBAAO,EAAE;AAAA,mBAAM,MAAI,CAAC,UAAL,CAAgB,IAAI,CAAC,EAArB,CAAN;AAAA;AAA3C,WACjD;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW;AAArB,UADJ,EAEI,oBAAC,iCAAD,EAAgB;AAAC,gBAAM,EAAE,EAAT;AAAa,cAAI,EAAE,OAAnB;AAA4B,uBAAa,EAAC,QAA1C;AAAmD,uBAAa,EAAE;AAAlE,SAAhB,CAFJ,CADiD,EAMjD;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT,WAAZ;AAAmC,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA5D,UADJ,CANiD,CAAb;AAAA,OAArB,CAhBvB,CADJ;AA6BH;;;;EAxDoC,KAAK,CAAC,S;;AAC7B,qCAAiB,yBAAjB;AADlB,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChCA;;AAIA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IA0Ba,4B;;;;;AAAb;AAAA;;AAAA;;;;AAGY,0BAAgB,UAAC,cAAD,EAAyB,UAAzB,EAA+C;AACnE,UAAI,oBAAoB,GAAG,IAAI,CAAC,KAAL,CAAW,cAAc,GAAG,UAA5B,CAA3B;AACA,UAAI,WAAW,GAAG,oBAAoB,GAAG,UAAzC;AACA,UAAI,cAAc,GAAG,cAAc,GAAG,WAAtC;AACA,UAAI,UAAU,GAAG,cAAc,IAAI,oBAAoB,GAAG,CAA3B,CAA/B;AACA,aAAO,UAAP;AACH,KANO;;AAHZ;AAuDC;;;;6BA5CS;AAAA;;AAAA,wBAG2H,KAAK,KAHhI;AAAA,UACM,eADN,eACM,eADN;AAAA,UACuB,YADvB,eACuB,YADvB;AAAA,UACqC,aADrC,eACqC,aADrC;AAAA,UACoD,UADpD,eACoD,UADpD;AAAA,UACgE,WADhE,eACgE,WADhE;AAAA,UAEE,cAFF,eAEE,cAFF;AAAA,UAEkB,WAFlB,eAEkB,WAFlB;AAAA,UAE+B,eAF/B,eAE+B,eAF/B;AAAA,UAEgD,MAFhD,eAEgD,MAFhD;AAAA,UAE6E,KAF7E,eAEwD,mBAFxD;AAAA,UAEoF,OAFpF,eAEoF,OAFpF;AAAA,UAGE,aAHF,eAGE,aAHF;AAAA,UAGiB,OAHjB,eAGiB,OAHjB;AAAA,UAG0B,QAH1B,eAG0B,QAH1B;AAAA,UAGoC,YAHpC,eAGoC,YAHpC;AAAA,UAGkD,SAHlD,eAGkD,SAHlD;AAAA,UAG6D,UAH7D,eAG6D,UAH7D;AAAA,UAGyE,KAHzE,eAGyE,KAHzE;AAAA,UAGgF,oBAHhF,eAGgF,oBAHhF;AAAA,UAGsG,gBAHtG,eAGsG,gBAHtG;AAIF,UAAM,eAAe,GAAG;AACpB,aAAK,YAAK,YAAL,OADe;AAEpB,cAAM,YAAK,MAAL,OAFc;AAGpB,uBAAe,EAAE,eAHG;AAIpB,iBAAS,sBAAe,eAAe,GAAG,WAAH,GAAiB,eAA/C,CAJW;AAKpB,oBAAY,sBAAe,eAAe,GAAG,WAAH,GAAiB,eAA/C;AALQ,OAAxB;AAOA,UAAM,KAAK,GAAG,GAAG,CAAC,QAAD,EAAW,UAAC,IAAD,EAAO,CAAP,EAAY;AACpC,eAAO,oBAAC,mEAAD,EAAiC;AACpC,aAAG,EAAE,CAD+B;AAEpC,kBAAQ,EAAE,IAF0B;AAGpC,uBAAa,EAAE,aAHqB;AAIpC,oBAAU,EAAE,UAJwB;AAKpC,qBAAW,EAAE,WALuB;AAMpC,wBAAc,EAAE,cANoB;AAOpC,eAAK,EAAE,KAP6B;AAQpC,oBAAU,EAAE,KAAK,GAAI,CAAC,KAAK,CAAN,GAAU,CAAV,GAAc,MAAI,CAAC,aAAL,CAAmB,KAAnB,EAA0B,UAA1B,CAAlB,GAA4D,CAAC,KAAK,oBAAoB,GAAG,CAA7B,GAAiC,CAAjC,GAAqC,MAAI,CAAC,aAAL,CAAmB,KAAnB,EAA0B,UAA1B;AAR9E,SAAjC,CAAP;AAUH,OAXgB,CAAjB;AAYA,UAAM,aAAa,GAAG,UAAU,GAAG,UAAH,GAAgB,EAAhD;AACA,UAAM,kBAAkB,GAAG;AACvB,kBAAU,EAAE,YAAY,GAAG,KAAH,GAAW;AADZ,OAA3B;AAGA,UAAM,cAAc,GAAG,KAAK,GAAG,OAAH,GAAa,EAAzC;AACA,aACI;AAAK,iBAAS,yCAAkC,SAAlC,cAA+C,aAA/C,SAA+D,cAA/D,CAAd;AAA+F,aAAK,EAAE;AAAtG,SACK,YAAY,IACT,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,OADO;AAEb,kBAAU,EAAE,aAAa,KAAK,SAAlB,IAA+B;AAF9B,OAAjB,EAGI;AAAM,iBAAS,EAAC,UAAhB;AAA2B,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT,SAAlC;AAAwD,yBAAgB;AAAxE,S,GAAA,EAA6E,OAA7E,CAHJ,CAFR,EAOI;AAAK,iBAAS,EAAC,cAAf;AAA8B,aAAK,EAAE;AAArC,SACI,oBAAC,8CAAD,EAAoB;AAAC,aAAK,EAAE,KAAR;AAAe,kBAAU,EAAE,UAA3B;AAAuC,kBAAU,EAAE,oBAAnD;AAAyE,aAAK,EAAE;AAAhF,OAApB,EACC,KADD,CADJ,CAPJ,CADJ;AAeH;;;;EAtD6C,KAAK,CAAC,S;;AACtC,8CAAiB,8BAAjB;AADlB,oE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA,mBAAO,CAAC,mCAAD,CAAP;;IAYa,gC;;;;;;;;;;;;;6BAEH;AAAA,wBAC8F,KAAK,KADnG;AAAA,UACM,cADN,eACM,cADN;AAAA,UACsB,UADtB,eACsB,UADtB;AAAA,UACkC,aADlC,eACkC,aADlC;AAAA,UACiD,QADjD,eACiD,QADjD;AAAA,UAC2D,UAD3D,eAC2D,UAD3D;AAAA,UACuE,WADvE,eACuE,WADvE;AAAA,UACoF,KADpF,eACoF,KADpF;AAGF,UAAM,iCAAiC,GAAG,0DAA2C,QAAQ,CAAC,IAApD,EAA0D,QAAQ,CAAC,KAAnE,CAA1C;AACA,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE,EAApF;AAAwF,kBAAU,EAAE;AAApG,OAAhC;AACA,UAAI,QAAQ,GAAsB,MAAlC;;AACA,UAAG,QAAQ,CAAC,QAAZ,EAAqB;AACjB,gBAAQ,GAAG,OAAX;AACH;;AACD,UAAG,QAAQ,CAAC,WAAT,KAAyB,OAA5B,EAAoC;AAChC,gBAAQ,GAAG,OAAX;AACH;;AACD,aACI;AAAK,iBAAS,EAAE,UAAU,CAAC,kCAAD,EAAqC;AAAE,mBAAS;AAAX,SAArC,CAA1B;AAAoF,aAAK,EAAE;AAAE,eAAK,EAAE,UAAT;AAAqB,oBAAU,EAAV;AAArB;AAA3F,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,eAAf;AAA+B,aAAK,EAAE;AAAE,eAAK,EAAE,UAAT;AAAqB,gBAAM,EAAE;AAA7B;AAAtC,SACI,oBAAC,qBAAD,EAAU;AACN,iBAAS,EAAE,EADL;AAEN,YAAI,EAAE,QAAQ,CAAC,KAAT,KAAmB,SAAnB,GAA+B,QAAQ,CAAC,KAAxC,GAAgD,UAFhD;AAGN,aAAK,EAAE,UAHD;AAIN,cAAM,EAAE,WAJF;AAKN,qBAAa,EAAE,aALT;AAMN,mBAAW,EAAE,QAAQ,CAAC,SANhB;AAON,uBAAe,EAAE,IAPX;AAQN,kBAAU,EAAE,QAAQ,CAAC,eAAT,KAA6B,SAA7B,IAA0C,QAAQ,CAAC,eARzD;AASN,yCAAiC,EAAE;AAT7B,OAAV,CADJ,EAYI,oBAAC,iCAAD,EAAgB;AAAC,cAAM,EAAE,QAAQ,CAAC,MAAlB;AAA0B,YAAI,EAAE,QAAhC;AAA0C,qBAAa,EAAC,QAAxD;AAAiE,qBAAa,EAAE,QAAQ,KAAG;AAA3F,OAAhB,CAZJ,CADJ,EAeI,oBAAC,uCAAD,EAAmB;AAAC,WAAG,EAAE,QAAQ,CAAC,SAAf;AAA0B,iBAAS,EAAE,QAAQ,CAAC,QAAT,KAAsB,SAA3D;AAAsE,aAAK,EAAE,4BAAoB,QAAQ,CAAC,KAA7B;AAA7E,OAAnB,CAfJ,CADJ,EAkBI;AAAK,iBAAS,EAAC,cAAf;AAA8B,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAArC,SACI,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,QAAQ,CAAC,SADF;AAEb,kBAAU,EAAE,QAAQ,CAAC,aAAT,KAA2B,SAA3B,IAAwC,QAAQ,CAAC,aAFhD;AAGb,oBAAY;AAHC,OAAjB,EAII;AAAK,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT,SAAZ;AAAuC,+BAAuB,EAAE;AAAE,gBAAM,EAAE,QAAQ,CAAC;AAAnB;AAAhE,QAJJ,CADJ,CAlBJ,CADJ;AA6BH;;;;EA3CiD,KAAK,CAAC,S;;AAA5D,4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;IAca,iC;;;;;;;;;;;;;6BAEH;AAAA,wBAC0F,KAAK,KAD/F;AAAA,UACM,cADN,eACM,cADN;AAAA,UACsB,aADtB,eACsB,aADtB;AAAA,UACqC,QADrC,eACqC,QADrC;AAAA,UAC+C,UAD/C,eAC+C,UAD/C;AAAA,UAC2D,WAD3D,eAC2D,WAD3D;AAAA,UACwE,KADxE,eACwE,KADxE;AAAA,UAC+E,MAD/E,eAC+E,MAD/E;AAEF,UAAM,iCAAiC,GAAG,0DAA2C,QAAQ,CAAC,IAApD,EAA0D,QAAQ,CAAC,KAAnE,CAA1C;AACA,UAAM,kBAAkB,GAAG,qDAAsC,QAAQ,CAAC,IAA/C,EAAqD;AAAE,gBAAQ,EAAE;AAAZ,OAArD,CAA3B;AACA,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE,EAApF;AAAwF,kBAAU,EAAE;AAApG,OAAhC;AACA,UAAI,QAAQ,GAAuB,MAAnC;;AACA,UAAI,QAAQ,CAAC,QAAb,EAAuB;AACnB,gBAAQ,GAAG,OAAX;AACH;;AACD,UAAI,QAAQ,CAAC,WAAT,KAAyB,OAA7B,EAAsC;AAClC,gBAAQ,GAAG,OAAX;AACH;;AACD,aACI;AAAK,iBAAS,EAAE,UAAU,CAAC,mCAAD;AAA1B,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAU;AACN,iBAAS,EAAE,EADL;AAEN,YAAI,EAAE,QAAQ,CAAC,KAAT,KAAmB,SAAnB,GAA+B,QAAQ,CAAC,KAAxC,GAAgD,UAFhD;AAGN,aAAK,EAAE,UAHD;AAIN,cAAM,EAAE,WAJF;AAKN,qBAAa,EAAE,aALT;AAMN,mBAAW,EAAE,QAAQ,CAAC,SANhB;AAON,uBAAe,EAAE,IAPX;AAQN,kBAAU,EAAE,QAAQ,CAAC,eAAT,KAA6B,SAA7B,IAA0C,QAAQ,CAAC,eARzD;AASN,yCAAiC,EAAE;AAT7B,OAAV,CADJ,EAYI,oBAAC,iCAAD,EAAgB;AAAC,cAAM,EAAE,QAAQ,CAAC,MAAlB;AAA0B,YAAI,EAAE,QAAhC;AAA0C,qBAAa,EAAC,KAAxD;AAA8D,qBAAa,EAAE,QAAQ,KAAK;AAA1F,OAAhB,CAZJ,CADJ,EAeI,oBAAC,iDAAD,EAAwB;AAAC,WAAG,EAAE,QAAQ,CAAC,SAAf;AAA0B,iBAAS,EAAE,QAAQ,CAAC,QAAT,KAAsB,SAA3D;AAAsE,aAAK,EAAE,4BAAoB,QAAQ,CAAC,KAA7B;AAA7E,OAAxB,CAfJ,CADJ,EAkBI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,QAAQ,CAAC,SADF;AAEb,kBAAU,EAAE,QAAQ,CAAC,aAAT,KAA2B,SAA3B,IAAwC,QAAQ,CAAC,aAFhD;AAGb,oBAAY;AAHC,OAAjB,EAIK,MAAM,IAAI,QAAQ,CAAC,IAAnB,IAA2B,QAAQ,CAAC,IAAT,CAAc,MAAd,GAAuB,CAAlD,IAAuD;AAAK,iBAAS,EAAC,WAAf;AAA0B,0BAAiB,QAAQ,CAAC;AAApD,SAA0D,kCAAO,QAAQ,CAAC,IAAhB,CAA1D,CAJ5D,EAKK,MAAM,GAAG;AAAI,+BAAuB,EAAE;AAAE,gBAAM,EAAE,QAAQ,CAAC;AAAnB,SAA7B;AAAyD,iBAAS,EAAC;AAAnE,QAAH,GAAmF;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE,QAAQ,CAAC;AAAnB,SAA9B;AAA0D,iBAAS,EAAC;AAApE,QAL9F,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,SAAwB,kBAAxB,CADJ,EAEI,kBAAkB,IAAI,QAAQ,CAAC,MAA/B,IAA0C,wCAF9C,EAGI,kC,GAAA,EAAQ,QAAQ,CAAC,MAAjB,EAAgC,GAAhC,CAHJ,CANJ,CADJ,CAlBJ,CADJ;AAmCH;;;;EAjDkD,KAAK,CAAC,S;;AAA7D,8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;;AAEA;;IA0Ba,6B;;;;;;;;;;;;;6BAGH;AAAA,wBAEiF,KAAK,KAFtF;AAAA,UACM,aADN,eACM,aADN;AAAA,UACqB,UADrB,eACqB,UADrB;AAAA,UACiC,WADjC,eACiC,WADjC;AAAA,UAC8C,cAD9C,eAC8C,cAD9C;AAAA,UAC8D,QAD9D,eAC8D,QAD9D;AAAA,UACwE,KADxE,eACwE,KADxE;AAAA,UAC+E,OAD/E,eAC+E,OAD/E;AAAA,UACwF,OADxF,eACwF,OADxF;AAAA,UAEE,aAFF,eAEE,aAFF;AAAA,UAEiB,YAFjB,eAEiB,YAFjB;AAAA,UAE+B,eAF/B,eAE+B,eAF/B;AAAA,UAEgD,WAFhD,eAEgD,WAFhD;AAAA,UAE8D,eAF9D,eAE8D,eAF9D;AAGH,UAAO,WAAW,GAAI,eAAe,GAAG,WAAH,GAAiB,eAAtD;AACC,aACI;AAAK,iBAAS;AAAd,SACI;AAAS,iBAAS,EAAC,gBAAnB;AAAoC,aAAK,EAAE;AAAC,4BAAiB;AAAlB;AAA3C,SACG,YAAY,IAAK;AAAI,iBAAS,EAAC;AAAd,SACZ,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,OADO;AAEb,kBAAU,EAAE,aAAa,KAAK,SAAlB,IAA+B;AAF9B,OAAjB,EAGI;AAAM,iBAAS,EAAC,OAAhB;AAAyB,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAAhC,SAAyD,OAAzD,CAHJ,EAII;AAAM,iBAAS,EAAC;AAAhB,QAJJ,CADY,CADpB,EASI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qEAAD,EAAkC;AAC9B,gBAAQ,EAAE,QAAQ,CAAC,CAAD,CADY;AAE9B,qBAAa,EAAE,aAFe;AAG9B,kBAAU,EAAE,UAHkB;AAI9B,mBAAW,EAAE,WAJiB;AAK9B,sBAAc,EAAE,cALc;AAM9B,aAAK,EAAE,KANuB;AAO9B,cAAM,EAAE;AAPsB,OAAlC,CADJ,CADJ,EAYI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qEAAD,EAAkC;AAC9B,gBAAQ,EAAE,QAAQ,CAAC,CAAD,CADY;AAE9B,qBAAa,EAAE,aAFe;AAG9B,kBAAU,EAAE,UAHkB;AAI9B,mBAAW,EAAE,WAJiB;AAK9B,sBAAc,EAAE,cALc;AAM9B,aAAK,EAAE;AANuB,OAAlC,CADJ,EASI,oBAAC,qEAAD,EAAkC;AAC9B,gBAAQ,EAAE,QAAQ,CAAC,CAAD,CADY;AAE9B,qBAAa,EAAE,aAFe;AAG9B,kBAAU,EAAE,UAHkB;AAI9B,mBAAW,EAAE,WAJiB;AAK9B,sBAAc,EAAE,cALc;AAM9B,aAAK,EAAE;AANuB,OAAlC,CATJ,CAZJ,CATJ,CADJ,CADJ;AA6CH;;;;EApD8C,KAAK,CAAC,S;;AACvC,+CAAiB,+BAAjB;AADlB,sE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICda,6B;;;;;AACT,yCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,uGAAM,KAAN;;AAkBI,qCAA2B,YAAK;AAAA,wBACwC,MAAK,KAD7C;AAAA,UAC5B,oBAD4B,eAC5B,oBAD4B;AAAA,UACN,UADM,eACN,UADM;AAAA,UACM,6BADN,eACM,6BADN;;AAEpC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;;AACA,mCAA6B,CAAC,UAAD,CAA7B;AACA,0BAAoB,CAAC,UAAD,CAApB;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,IAAd;AACtB,KANO;;AAQA,iCAAuB,YAAK;AAChC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,KAAd;AACtB,KAHO;;AAKA,oCAA0B,UAAC,OAAD,EAAoB;AAClD,UAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAW,OAAO,GAAG,EAArB,EAAyB,QAAzB,GAAoC,QAApC,CAA6C,CAA7C,EAAgD,GAAhD,CAAhB;AACA,UAAM,UAAU,GAAG,CAAC,OAAO,GAAG,EAAX,EAAe,QAAf,GAA0B,QAA1B,CAAmC,CAAnC,EAAsC,GAAtC,CAAnB;AACA,uBAAU,OAAV,cAAqB,UAArB;AACH,KAJO;;AAMA,yBAAe,YAAK;AACxB,YAAK,oBAAL,GAA4B,IAAI,oBAAJ,CAAyB,eAAK,EAAG;AACzD,aAAK,CAAC,CAAD,CAAL,CAAS,cAAT,GAA0B,MAAK,wBAAL,EAA1B,GAA4D,MAAK,oBAAL,EAA5D;AACH,OAF2B,EAEzB;AAAE,iBAAS,EAAE;AAAb,OAFyB,CAA5B;;AAGA,YAAK,oBAAL,CAA0B,OAA1B,CAAkC,MAAK,OAAvC;AACH,KALO;;AApCJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE;AADP,KAAb;AAFa;AAKhB;;;;wCAMgB;AACb,WAAK,YAAL;AACH;;;2CAEmB;AAChB,WAAK,oBAAL,IAA6B,KAAK,oBAAL,CAA0B,UAA1B,EAA7B;AACH;;;6BA4BY;AAAA;;AAAA,UACD,cADC,GACkB,KAAK,KADvB,CACD,cADC;AAAA,yBAE+E,KAAK,KAFpF;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,sBAFV,gBAEU,sBAFV;AAAA,UAEkC,UAFlC,gBAEkC,UAFlC;AAAA,UAE8C,YAF9C,gBAE8C,YAF9C;AAAA,UAE4D,cAF5D,gBAE4D,cAF5D;AAAA,UAGD,KAHC,GAGgB,SAHhB,CAGD,KAHC;AAAA,UAGM,KAHN,GAGgB,SAHhB,CAGM,KAHN;AAAA,UAID,QAJC,GAI+B,KAJ/B,CAID,QAJC;AAAA,UAIS,MAJT,GAI+B,KAJ/B,CAIS,MAJT;AAAA,UAIiB,SAJjB,GAI+B,KAJ/B,CAIiB,SAJjB;AAKT,UAAM,kBAAkB,GAAG,cAAc,IAAI,SAA7C;AACA,UAAM,WAAW,sBAAe,kBAAkB,GAAG,QAAH,GAAc,EAA/C,CAAjB;AAEA,aACI;AACI,iBAAS,EAAE,WADf;AAEI,eAAO,EAAE;AAAA,iBAAM,sBAAsB,CAAC,UAAD,CAA5B;AAAA,SAFb;AAGI,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,OAAL,GAAe,IAAnB;AAAA;AAHZ,SAKK,kBAAkB,GACf;AACI,gBAAQ,EAAE,IADd;AAEI,YAAI,EAAE,KAFV;AAGI,WAAG,EAAE,kBAAG;AAAA,iBAAI,MAAI,CAAC,QAAL,GAAgB,KAApB;AAAA,SAHZ;AAII,aAAK,MAJT;AAKI,cAAM,EAAE,MALZ;AAMI,eAAO,EAAE,YANb;AAOI,iBAAS,EAAC,YAPd;AAO2B,WAAG,EAAE,SAPhC;AAQI,mBAAW,MARf;AAQe;AARf,QADe,GAaf;AACI,WAAG,EAAE,MADT;AAEI,WAAG,EAAC;AAFR,QAlBR,EAsBI;AAAK,iBAAS,EAAC;AAAf,SACK,cAAc,IAAI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADvB,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B;AAAM,iBAAS,EAAC;AAAhB,QAA/B,E,GAAA,EAAsE,kCAAO,KAAK,uBAAL,CAA6B,IAAI,CAAC,KAAL,CAAW,QAAX,CAA7B,CAAP,CAAtE,CAFJ,CAtBJ,CADJ;AA6BH;;;;EAnF8C,KAAK,CAAC,S;;AAAzD,sE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;;AACA;;IAyBa,uC;;;;;;;;;;;;;6BAGI;AAAA,wBACuK,KAAK,KAD5K;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,YADV,eACU,YADV;AAAA,UACwB,YADxB,eACwB,YADxB;AAAA,UACsC,SADtC,eACsC,SADtC;AAAA,UACiD,MADjD,eACiD,MADjD;AAAA,UACyD,YADzD,eACyD,YADzD;AAAA,UACuE,QADvE,eACuE,QADvE;AAAA,UACiF,MADjF,eACiF,MADjF;AAAA,UACyF,OADzF,eACyF,OADzF;AAAA,UACkG,aADlG,eACkG,aADlG;AAAA,UACiH,cADjH,eACiH,cADjH;AAAA,UACiI,iBADjI,eACiI,iBADjI;AAAA,UACoJ,cADpJ,eACoJ,cADpJ;AAET,UAAM,cAAc,qDAA8C,+BAAgB,UAAhB,GAA6B,EAA3E,CAApB;AAEA,aACI;AAAK,iBAAS,EAAE;AAAhB,SACI,oBAAC,yDAAD,EAA4B;AACxB,iBAAS,EAAE,SADa;AAExB,oBAAY,EAAE,YAFU;AAGxB,eAAO,EAAE,OAHe;AAIxB,qBAAa,EAAE,aAJS;AAKxB,oBAAY,EAAE,YALU;AAMxB,iBAAS,EAAE,SANa;AAOxB,cAAM,EAAE,MAPgB;AAQxB,oBAAY,EAAE,YARU;AASxB,gBAAQ,EAAE,QATc;AAUxB,cAAM,EAAE,MAVgB;AAWxB,sBAAc,EAAE,cAXQ;AAYxB,yBAAiB,EAAE,iBAZK;AAaxB,sBAAc,EAAE;AAbQ,OAA5B,CADJ,CADJ;AAkBH;;;;EAzBwD,KAAK,CAAC,S;;AACjD,yDAAiB,yCAAjB;AADlB,0F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;;IA4Ba,4C;;;;;;;;;;;;;6BAGI;AAAA,wBAC+N,KAAK,KADpO;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,cADV,eACU,cADV;AAAA,UACyB,cADzB,eACyB,cADzB;AAAA,UAC0C,YAD1C,eAC0C,YAD1C;AAAA,UACwD,YADxD,eACwD,YADxD;AAAA,UACsE,SADtE,eACsE,SADtE;AAAA,UACiF,MADjF,eACiF,MADjF;AAAA,UACyF,YADzF,eACyF,YADzF;AAAA,UACuG,sBADvG,eACuG,sBADvG;AAAA,UAC+H,QAD/H,eAC+H,QAD/H;AAAA,UACyI,MADzI,eACyI,MADzI;AAAA,UACiJ,cADjJ,eACiJ,cADjJ;AAAA,UACiK,iBADjK,eACiK,iBADjK;AAAA,UACoL,OADpL,eACoL,OADpL;AAAA,UAC6L,aAD7L,eAC6L,aAD7L;AAAA,UAC4M,cAD5M,eAC4M,cAD5M;AAGT,aACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qDAAD,EAA0B;AACtB,iBAAS,EAAE,SADW;AAEtB,oBAAY,EAAE,YAFQ;AAGtB,oBAAY,EAAE,YAHQ;AAItB,iBAAS,EAAE,SAJW;AAKtB,cAAM,EAAE,MALc;AAMtB,oBAAY,EAAE,YANQ;AAOtB,sBAAc,EAAE,cAPM;AAQtB,sBAAc,EAAE,cARM;AAStB,8BAAsB,EAAE,sBATF;AAUtB,gBAAQ,EAAE,QAVY;AAWtB,cAAM,EAAE,MAXc;AAYtB,sBAAc,EAAE,cAZM;AAatB,yBAAiB,EAAE,iBAbG;AActB,eAAO,EAAE,OAda;AAetB,qBAAa,EAAE,aAfO;AAgBtB,sBAAc,EAAE;AAhBM,OAA1B,CADJ,CADJ;AAqBH;;;;EA3B6D,KAAK,CAAC,S;;AACtD,8DAAiB,8CAAjB;AADlB,oG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BA;;AAEA;;AACA;;AACA;;AACA;;AAEA;;IA2Ba,2B;;;;;AACT,uCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,qGAAM,KAAN;;AAsBI,mCAAyB,UAAC,UAAD,EAAuB;AAAA,UAC5C,SAD4C,GAC9B,MAAK,KADyB,CAC5C,SAD4C;;AAEpD,UAAM,gBAAgB,GAAG,MAAK,cAAL,GAAsB,SAAtB,CAAgC,UAAC,OAAD;AAAA,eAAa,OAAO,CAAC,MAAR,KAAmB,SAAS,CAAC,UAAD,CAAT,CAAsB,MAAtD;AAAA,OAAhC,CAAzB;;AACA,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,gBAApB;AAAsC,uBAAe,EAAE;AAAvD,OAAd,EAAyF,YAAK;AAAG,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;AAAwC,OAAzI;;AACA;AACH,KALO;;AAOA,oCAA0B,YAAK;AACnC,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;;AACA;AACH,KAHO;;AAKA,8BAAoB,UAAC,iBAAD,EAA8B;AACtD,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KAFO;;AAUA,wBAAc,YAAK;AACvB,YAAK,MAAL,CAAY,SAAZ;AACH,KAFO;;AAIA,2BAAiB,YAAK;AAAA,wBAC6C,MAAK,KADlD;AAAA,UAClB,SADkB,eAClB,SADkB;AAAA,UACP,MADO,eACP,MADO;AAAA,UACC,YADD,eACC,YADD;AAAA,UACe,SADf,eACe,SADf;AAAA,UAC0B,cAD1B,eAC0B,cAD1B;;AAE1B,UAAM,aAAa,sBAAO,SAAP,CAAnB;;AACA,UAAM,eAAe,GAAG,aAAa,CAAC,MAAtC;AACA,UAAI,WAAW,GAAG,YAAY,GAAG,eAAf,GAAiC,CAAjC,GAAqC,IAAI,CAAC,GAAL,CAAS,MAAT,EAAiB,eAAe,GAAG,YAAnC,EAAiD,IAAI,CAAC,KAAL,CAAW,CAAC,eAAe,GAAG,YAAnB,IAAmC,SAAnC,GAA+C,CAA1D,CAAjD,CAAvD;AACA,UAAM,aAAa,GAAG,eAAe,GAAG,WAAxC;AACA,UAAM,MAAM,GAAG,sBAAf;AACA,UAAI,OAAO,GAAG,EAAd;AACA,UAAI,OAAO,GAAG,CAAd;AAEA,UAAI,cAAJ,EAAoB,OAAO,MAAK,sBAAL,EAAP;AACpB,UAAI,MAAM,KAAK,CAAf,EAAkB,OAAO,aAAP;;AAElB,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,aAApB,EAAmC,CAAC,EAApC,EAAwC;AACpC,YAAI,CAAC,GAAG,YAAR,EAAsB;AAClB,iBAAO,CAAC,IAAR,CAAa,aAAa,CAAC,KAAd,EAAb;AACH,SAFD,MAEO,IAAI,CAAC,KAAK,YAAN,IAAsB,WAAW,GAAG,CAAxC,EAA2C;AAC9C,iBAAO,CAAC,IAAR,WAAgB,MAAhB,SAAyB,OAAzB;AACA,qBAAW;AACX,iBAAO;AACV,SAJM,MAIA,IAAI,WAAW,GAAG,CAAd,IAAmB,CAAC,CAAC,GAAG,YAAL,KAAsB,SAAS,GAAG,CAAlC,MAAyC,CAAhE,EAAmE;AACtE,iBAAO,CAAC,IAAR,WAAgB,MAAhB,SAAyB,OAAzB;AACA,qBAAW;AACX,iBAAO;AACV,SAJM,MAIA;AACH,iBAAO,CAAC,IAAR,CAAa,aAAa,CAAC,KAAd,EAAb;AACH;AACJ;;AAED,aAAO,OAAP;AACH,KA9BO;;AAgCA,mCAAyB,YAAK;AAAA,yBACqC,MAAK,KAD1C;AAAA,UAC1B,SAD0B,gBAC1B,SAD0B;AAAA,UACf,MADe,gBACf,MADe;AAAA,UACP,YADO,gBACP,YADO;AAAA,UACO,SADP,gBACO,SADP;AAAA,UACkB,cADlB,gBACkB,cADlB;;AAElC,UAAM,aAAa,sBAAO,SAAP,CAAnB;;AACA,UAAM,eAAe,GAAG,aAAa,CAAC,MAAtC;AACA,UAAI,eAAe,GAAG,YAAY,GAAG,eAAf,GAAiC,CAAjC,GAAqC,IAAI,CAAC,GAAL,CAAS,MAAT,EAAiB,eAAe,GAAG,YAAnC,EAAiD,IAAI,CAAC,KAAL,CAAW,CAAC,eAAe,GAAG,YAAnB,IAAmC,SAAnC,GAA+C,CAA1D,CAAjD,CAA3D;AACA,UAAM,cAAc,GAAG,YAAY,GAAG,eAAf,GAAiC,CAAjC,GAAqC,IAAI,CAAC,GAAL,CAAS,MAAT,EAAiB,eAAe,GAAG,YAAnC,EAAiD,IAAI,CAAC,KAAL,CAAW,CAAC,eAAe,GAAG,YAAnB,IAAmC,SAAnC,GAA+C,CAA1D,CAAjD,CAA5D;AAEA,UAAI,MAAM,KAAK,CAAf,EAAkB,OAAO,aAAP;AAClB,UAAI,OAAO,GAAG,EAAd;;AAEA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAAS,CAAC,MAA9B,EAAsC,CAAC,EAAvC,EAA2C;AACvC,YAAI,YAAY,GAAG,IAAI,CAAC,GAAL,CAAS,eAAe,IAAI,cAAc,GAAG,CAArB,CAAxB,CAAnB;;AACA,YAAI,CAAC,GAAG,CAAJ,GAAQ,YAAZ,EAA0B;AACtB,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,IAAlB;AAAwB,wBAAY,EAAE;AAAtC,WAAlB,CAAZ;AACH,SAFD,MAEO,IAAI,CAAC,KAAK,YAAN,IAAsB,eAAe,GAAG,CAA5C,EAA+C;AAClD,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,KAAlB;AAAyB,wBAAY,EAAE,cAAc,GAAG,YAAH,GAAkB;AAAvE,WAAlB,CAAZ;AACA,yBAAe;AAClB,SAHM,MAGA,IAAI,eAAe,GAAG,CAAlB,IAAuB,CAAC,CAAC,GAAG,YAAL,KAAsB,SAAS,GAAG,CAAlC,MAAyC,CAApE,EAAuE;AAC1E,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,KAAlB;AAAyB,wBAAY,EAAE,cAAc,GAAG,YAAH,GAAkB;AAAvE,WAAlB,CAAZ;AACA,yBAAe;AAClB,SAHM,MAGA;AACH,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,IAAlB;AAAwB,wBAAY,EAAE;AAAtC,WAAlB,CAAZ;AACH;AACJ;;AAED,aAAO,OAAP;AACH,KA1BO;;AA/EJ,UAAK,KAAL,GAAa;AACT,qBAAe,EAAE,CADR;AAET,mBAAa,EAAE,KAFN;AAGT,sBAAgB,EAAE,CAHT;AAIT,uBAAiB,EAAE,KAJV;AAKT,uBAAiB,EAAE;AALV,KAAb;AAOA,UAAK,cAAL,GAAsB,MAAK,cAAL,CAAoB,IAApB,+BAAtB;AATa;AAUhB;;;;wCAIgB;AACb,cAAQ,CAAC,gBAAT,CAA0B,SAA1B,EAAqC,KAAK,cAA1C;AACH;;;2CAEmB;AAChB,cAAQ,CAAC,mBAAT,CAA6B,SAA7B,EAAwC,KAAK,cAA7C;AACH;;;mCAmBsB,C,EAAC;AACpB,UAAI,CAAC,CAAC,OAAF,KAAc,EAAlB,EAAsB;AAClB,aAAK,uBAAL;AACH;AACJ;;;6BAkEY;AAAA;;AAAA,yBAC4H,KAAK,KADjI;AAAA,UACD,SADC,gBACD,SADC;AAAA,UACU,YADV,gBACU,YADV;AAAA,UACwB,YADxB,gBACwB,YADxB;AAAA,UACsC,MADtC,gBACsC,MADtC;AAAA,UAC8C,OAD9C,gBAC8C,OAD9C;AAAA,UACuD,aADvD,gBACuD,aADvD;AAAA,UACsE,cADtE,gBACsE,cADtE;AAAA,UACsF,iBADtF,gBACsF,iBADtF;AAAA,UACyG,cADzG,gBACyG,cADzG;AAAA,wBAE0F,KAAK,KAF/F;AAAA,UAED,aAFC,eAED,aAFC;AAAA,UAEc,gBAFd,eAEc,gBAFd;AAAA,UAEgC,eAFhC,eAEgC,eAFhC;AAAA,UAEiD,iBAFjD,eAEiD,iBAFjD;AAAA,UAEoE,iBAFpE,eAEoE,iBAFpE;AAIT,UAAM,mBAAmB,GAAG;AACxB,gBAAQ,EAAE,KADc;AAExB,aAAK,EAAE,GAFiB;AAGxB,oBAAY,EAAE,CAHU;AAIxB,sBAAc,EAAE,CAJQ;AAKxB,oBAAY,EAAE,gBALU;AAMxB,iBAAS,EAAE,KANa;AAOxB,WAAG,EAAE,IAPmB;AAQxB,oBAAY,EAAE,sBAAC,OAAD,EAAU,IAAV;AAAA,iBAAmB,MAAI,CAAC,QAAL,CAAc;AAAE,2BAAe,EAAE,IAAI,CAAC,GAAL,CAAS,IAAI,GAAG,MAAI,CAAC,cAAL,GAAsB,MAA7B,GAAsC,CAA/C;AAAnB,WAAd,CAAnB;AAAA,SARU;AASxB,iBAAS,EAAE,oBAAC,eAAD,EAAgB;AAAC,yBAAe,EAAE,eAAlB;AAAmC,oBAAU,EAAE,KAAK,cAAL,GAAsB;AAArE,SAAhB,CATa;AAUxB,iBAAS,EAAE,oBAAC,eAAD,EAAgB;AAAC,yBAAe,EAAE,eAAlB;AAAmC,oBAAU,EAAE,KAAK,cAAL,GAAsB;AAArE,SAAhB;AAVa,OAA5B;AAaA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,YAAY,IAAI;AAAK,iBAAS,EAAC;AAAf,SACb,oBAAC,4BAAD,EAAiB;AACb,iBAAS,EAAC,WADG;AAEb,YAAI,EAAE,OAFO;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAKK,YALL,CADa,CADrB,EAUK,aAAa,IAAI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE,KAAK;AAAxC,QAVtB,EAWI,oBAAC,6BAAD,EAAc;AACV,kBAAU,EAAE,GADF;AAEV,aAAK,EAAE,GAFG;AAGV,sBAAc,EAAE,SAAS,CAAC,MAHhB;AAIV,mBAAW,EAAE,EAJH;AAKV,yBAAiB,EAAE,iBALT;AAMV,yBAAiB,EAAE,iBANT;AAOV,iBAAS,EAAE,SAPD;AAQV,0BAAkB,EAAE;AARV,OAAd,EAUK,SAAS,CAAC,GAAV,CAAc,UAAC,SAAD,EAAY,KAAZ,EAAqB;AAChC,eACI,oBAAC,mDAAD,EAAyB;AACrB,mBAAS,EAAE,SADU;AAErB,gCAAsB,EAAE,MAAI,CAAC,sBAFR;AAGrB,oBAAU,EAAE,KAHS;AAIrB,aAAG,EAAE,SAAS,CAAC,MAJM;AAKrB,2BAAiB,EAAE,MAAI,CAAC,iBALH;AAMrB,wBAAc,EAAE;AANK,SAAzB,CADJ;AAUH,OAXA,CAVL,CAXJ,EAkCK,aAAa,IACV;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO,kBAAK,mBAAL,EAAwB;AAAE,iBAAS,EAAC,QAAZ;AAAqB,WAAG,EAAE,mBAAM;AAAA,iBAAK,MAAI,CAAC,MAAL,GAAc,MAAnB;AAAA;AAAhC,OAAxB,CAAP,EACK,KAAK,cAAL,GAAsB,GAAtB,CAA0B,UAAC,SAAD,EAAY,KAAZ,EAAqB;AAC5C,YAAK,OAAO,SAAR,KAAuB,QAA3B,EAAqC;AACrC,iBAAQ;AAAK,eAAG,EAAE,KAAV;AAAiB,cAAE,EAAE,SAArB;AAAgC,qBAAS,EAAC;AAA1C,YAAR;AACC,SAFD,MAEO;AACP,iBAAS,oBAAC,6CAAD,EAAsB;AACvB,qBAAS,EAAE,SADY;AAEvB,eAAG,EAAE,SAAS,CAAC,MAFQ;AAGvB,2BAAe,EAAE,eAHM;AAIvB,uBAAW,EAAE,MAAI,CAAC,WAJK;AAKvB,mCAAuB,EAAE,MAAI,CAAC,uBALP;AAMvB,kBAAM,EAAE,MANe;AAOvB,iBAAK,EAAE,KAPgB;AAQvB,0BAAc,EAAE,cARO;AASvB,6BAAiB,EAAE,iBATI;AAUvB,0BAAc,EAAE;AAVO,WAAtB,CAAT;AAYC;AACJ,OAjBA,CADL,CADJ,CAnCR,CADJ;AA6DH;;;;EA5L4C,KAAK,CAAC,S;;AAAvD;;AA+LA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAA,MACtB,OADsB,GACO,KADP,CACtB,OADsB;AAAA,MACb,eADa,GACO,KADP,CACb,eADa;AAE9B,MAAM,kBAAkB,GAAG,eAAe,KAAK,CAA/C;;AACA,MAAM,WAAW,GAAG,SAAd,WAAc,GAAK;AACrB,WAAO;AACV,GAFD;;AAIA,SACI;AACI,aAAS,iCAA0B,kBAAkB,GAAG,EAAH,GAAQ,eAApD,CADb;AAEI,WAAO,EAAE;AAFb,IADJ;AAMH,CAbD;;AAeA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAA,MACtB,OADsB,GACmB,KADnB,CACtB,OADsB;AAAA,MACb,eADa,GACmB,KADnB,CACb,eADa;AAAA,MACI,UADJ,GACmB,KADnB,CACI,UADJ;AAE9B,MAAM,kBAAkB,GAAI,eAAe,GAAG,CAAnB,KAA0B,UAArD;;AACA,MAAM,WAAW,GAAG,SAAd,WAAc,GAAK;AACrB,WAAO;AACV,GAFD;;AAGA,SACI;AACI,aAAS,iCAA0B,kBAAkB,GAAG,EAAH,GAAQ,eAApD,CADb;AAEI,WAAO,EAAE;AAFb,IADJ;AAMH,CAZD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IClOa,wB;;;;;AACT,oCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,kGAAM,KAAN;;AAQI,yBAAe,YAAK;AAAA,wBACkB,MAAK,KADvB;AAAA,UAChB,UADgB,eAChB,UADgB;AAAA,UACJ,iBADI,eACJ,iBADI;;AAExB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;;AACA,uBAAiB,CAAC,UAAD,CAAjB;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,IAAd;AAEtB,KANO;;AAQA,yBAAe,YAAK;AACxB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,KAAd;AACtB,KAHO;;AAKA,oCAA0B,UAAC,OAAD,EAAoB;AAClD,UAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAW,OAAO,GAAG,EAArB,EAAyB,QAAzB,GAAoC,QAApC,CAA6C,CAA7C,EAAgD,GAAhD,CAAhB;AACA,UAAM,UAAU,GAAG,CAAC,OAAO,GAAG,EAAX,EAAe,QAAf,GAA0B,QAA1B,CAAmC,CAAnC,EAAsC,GAAtC,CAAnB;AACA,uBAAU,OAAV,cAAqB,UAArB;AACH,KAJO;;AApBJ,UAAK,KAAL,GAAa;AACT,kBAAY,EAAE;AADL,KAAb;AAFa;AAKhB;;;;6BAuBY;AAAA;;AAAA,UACD,YADC,GACgB,KAAK,KADrB,CACD,YADC;AAAA,yBAEgE,KAAK,KAFrE;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,sBAFV,gBAEU,sBAFV;AAAA,UAEkC,UAFlC,gBAEkC,UAFlC;AAAA,UAE6C,cAF7C,gBAE6C,cAF7C;AAAA,UAGD,KAHC,GAGgB,SAHhB,CAGD,KAHC;AAAA,UAGM,KAHN,GAGgB,SAHhB,CAGM,KAHN;AAAA,UAID,QAJC,GAI+B,KAJ/B,CAID,QAJC;AAAA,UAIS,MAJT,GAI+B,KAJ/B,CAIS,MAJT;AAAA,UAIiB,SAJjB,GAI+B,KAJ/B,CAIiB,SAJjB;AAKT,UAAM,kBAAkB,GAAG,YAAY,IAAI,SAA3C;AACA,UAAM,WAAW,sBAAe,kBAAkB,GAAG,SAAH,GAAe,EAAhD,CAAjB;AAEA,aACI;AAAK,iBAAS,EAAE,WAAhB;AAA6B,oBAAY,EAAE,KAAK,YAAhD;AAA8D,oBAAY,EAAE,KAAK,YAAjF;AAA+F,eAAO,EAAE;AAAA,iBAAM,sBAAsB,CAAC,UAAD,CAA5B;AAAA;AAAxG,SACK,YAAY,GACT;AACI,gBAAQ,EAAE,IADd;AAEI,YAAI,EAAE,IAFV;AAGI,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,QAAL,GAAgB,IAApB;AAAA,SAHZ;AAII,aAAK,MAJT;AAKI,cAAM,EAAE,MALZ;AAMI,iBAAS,EAAC,YANd;AAM2B,WAAG,EAAE;AANhC,QADS,GAUT;AACI,WAAG,EAAE,MADT;AAEI,WAAG,EAAC;AAFR,QAXR,EAeI;AAAK,iBAAS,EAAC;AAAf,SACK,cAAc,IAAI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADvB,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B;AAAM,iBAAS,EAAC;AAAhB,QAA/B,E,GAAA,EAAsE,kCAAO,KAAK,uBAAL,CAA6B,IAAI,CAAC,KAAL,CAAW,QAAX,CAA7B,CAAP,CAAtE,CAFJ,CAfJ,CADJ;AAsBH;;;;EA3DyC,KAAK,CAAC,S;;AAApD,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;IAgCa,yB;;;;;AACT,qCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,mGAAM,KAAN;;AA4BI,mCAAyB,UAAC,UAAD,EAAuB;AAAA,UAC5C,SAD4C,GAC9B,MAAK,KADyB,CAC5C,SAD4C;;AAEpD,UAAM,gBAAgB,GAAG,MAAK,cAAL,GAAsB,SAAtB,CAAgC,UAAC,OAAD;AAAA,eAAa,OAAO,CAAC,MAAR,KAAmB,SAAS,CAAC,UAAD,CAAT,CAAsB,MAAtD;AAAA,OAAhC,CAAzB;;AACA,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,gBAApB;AAAsC,uBAAe,EAAE;AAAvD,OAAd,EAAyF,YAAK;AAAG,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;AAAwC,OAAzI;;AACA;AAAqB;AACxB,KALO;;AAOA,gCAAsB,YAAK;AAC/B,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,CAApB;AAAuB,uBAAe,EAAE,CAAxC;AAA2C,qBAAa,EAAE;AAA1D,OAAd;AACH,KAFO;;AAIA,oCAA0B,YAAK;AACnC,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;;AACA;AACH,KAHO;;AAKA,yBAAe,YAAK;AACxB,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE,CAAC,MAAK,KAAL,CAAW;AAAjC,OAAd;AACH,KAFO;;AAIA,iCAAuB,UAAC,iBAAD,EAA8B;AACzD,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KAFO;;AAGA,0CAAgC,UAAC,cAAD,EAA2B;AAC/D,YAAK,QAAL,CAAc;AAAE,iCAAyB,EAAE;AAA7B,OAAd;AACH,KAFO;;AAIA,iCAAuB,YAAK;AAChC,gBAAU,CAAC,YAAK;AACZ,YAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,mIAAvB,CAArB;;AACA,YAAI,YAAJ,EAAkB;AACd,sBAAY,CAAC,WAAb,GAA2B,CAA3B;AACA,sBAAY,CAAC,KAAb;AACH;;AAAA;AACJ,OANS,EAMP,GANO,CAAV;AAOH,KARO;;AAUA,wBAAc,YAAK;AACvB,YAAK,SAAL,CAAe,SAAf;;AACA,YAAK,YAAL,CAAkB,UAAlB,EAA8B,IAA9B;AACH,KAHO;;AAKA,yBAAe,UAAC,MAAD,EAAiB,aAAjB,EAA2C;AAC9D,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAA5C,EAAuD;AADO,UAEtD,QAFsD,GAEzC,MAAK,KAFoC,CAEtD,QAFsD;AAG9D,UAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAArB,GAA6B,QAAQ,CAAC,IAAT,KAAkB,SAAnB,GAAgC,UAAhC,GAA6C,QAAQ,CAAC,IAAlF,GAAyF,UAA9G;AACA,UAAM,QAAQ,GAAG,aAAa,mBAAY,MAAZ,cAA0B,YAA1B,cAA0C,MAA1C,CAA9B;AAEA,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,eADW;AAElB,6BAAqB,EAAE;AAFL,OAAtB;AAIH,KAVO;;AAYA,2BAAiB,YAAK;AAAA,wBACqE,MAAK,KAD1E;AAAA,UAClB,SADkB,eAClB,SADkB;AAAA,UACP,MADO,eACP,MADO;AAAA,UACC,YADD,eACC,YADD;AAAA,UACe,SADf,eACe,SADf;AAAA,UAC0B,sBAD1B,eAC0B,sBAD1B;AAAA,UACkD,cADlD,eACkD,cADlD;;AAE1B,UAAM,aAAa,sBAAO,SAAP,CAAnB;;AACA,UAAM,eAAe,GAAG,aAAa,CAAC,MAAtC;AACA,UAAI,WAAW,GAAG,YAAY,GAAG,eAAf,GAAiC,CAAjC,GAAqC,IAAI,CAAC,GAAL,CAAS,MAAT,EAAiB,eAAe,GAAG,YAAnC,EAAiD,IAAI,CAAC,KAAL,CAAW,CAAC,eAAe,GAAG,YAAnB,IAAmC,SAAnC,GAA+C,CAA1D,CAAjD,CAAvD;AACA,UAAM,aAAa,GAAG,eAAe,GAAG,WAAxC;AACA,UAAM,MAAM,GAAG,sBAAf;AACA,UAAI,OAAO,GAAG,EAAd;AACA,UAAI,OAAO,GAAG,CAAd;AAEA,UAAI,cAAJ,EAAoB,OAAO,MAAK,sBAAL,EAAP;AACpB,UAAI,MAAM,KAAK,CAAX,IAAgB,CAAC,sBAArB,EAA6C,OAAO,aAAP;;AAE7C,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,aAApB,EAAmC,CAAC,EAApC,EAAwC;AACpC,YAAI,CAAC,GAAG,YAAR,EAAsB;AAClB,iBAAO,CAAC,IAAR,CAAa,aAAa,CAAC,KAAd,EAAb;AACH,SAFD,MAEO,IAAI,CAAC,KAAK,YAAN,IAAsB,WAAW,GAAG,CAAxC,EAA2C;AAC9C,iBAAO,CAAC,IAAR,WAAgB,MAAhB,SAAyB,OAAzB;AACA,qBAAW;AACX,iBAAO;AACV,SAJM,MAIA,IAAI,WAAW,GAAG,CAAd,IAAmB,CAAC,CAAC,GAAG,YAAL,KAAsB,SAAS,GAAG,CAAlC,MAAyC,CAAhE,EAAmE;AACtE,iBAAO,CAAC,IAAR,WAAgB,MAAhB,SAAyB,OAAzB;AACA,qBAAW;AACX,iBAAO;AACV,SAJM,MAIA;AACH,iBAAO,CAAC,IAAR,CAAa,aAAa,CAAC,KAAd,EAAb;AACH;AACJ;;AACD,aAAO,OAAP;AACH,KA7BO;;AA+BA,mCAAyB,YAAK;AAAA,yBACqC,MAAK,KAD1C;AAAA,UAC1B,SAD0B,gBAC1B,SAD0B;AAAA,UACf,MADe,gBACf,MADe;AAAA,UACP,YADO,gBACP,YADO;AAAA,UACO,SADP,gBACO,SADP;AAAA,UACkB,cADlB,gBACkB,cADlB;;AAElC,UAAM,aAAa,sBAAO,SAAP,CAAnB;;AACA,UAAM,eAAe,GAAG,aAAa,CAAC,MAAtC;AACA,UAAI,eAAe,GAAG,YAAY,GAAG,eAAf,GAAiC,CAAjC,GAAqC,IAAI,CAAC,GAAL,CAAS,MAAT,EAAiB,eAAe,GAAG,YAAnC,EAAiD,IAAI,CAAC,KAAL,CAAW,CAAC,eAAe,GAAG,YAAnB,IAAmC,SAAnC,GAA+C,CAA1D,CAAjD,CAA3D;AACA,UAAM,cAAc,GAAG,YAAY,GAAG,eAAf,GAAiC,CAAjC,GAAqC,IAAI,CAAC,GAAL,CAAS,MAAT,EAAiB,eAAe,GAAG,YAAnC,EAAiD,IAAI,CAAC,KAAL,CAAW,CAAC,eAAe,GAAG,YAAnB,IAAmC,SAAnC,GAA+C,CAA1D,CAAjD,CAA5D;AAEA,UAAI,MAAM,KAAK,CAAf,EAAkB,OAAO,aAAP;AAClB,UAAI,OAAO,GAAG,EAAd;;AAEA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAAS,CAAC,MAA9B,EAAsC,CAAC,EAAvC,EAA2C;AACvC,YAAI,YAAY,GAAG,IAAI,CAAC,GAAL,CAAS,eAAe,IAAI,cAAc,GAAG,CAArB,CAAxB,CAAnB;;AACA,YAAI,CAAC,GAAG,CAAJ,GAAQ,YAAZ,EAA0B;AACtB,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,IAAlB;AAAwB,wBAAY,EAAE;AAAtC,WAAlB,CAAZ;AACH,SAFD,MAEO,IAAI,CAAC,KAAK,YAAN,IAAsB,eAAe,GAAG,CAA5C,EAA+C;AAClD,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,KAAlB;AAAyB,wBAAY,EAAE,cAAc,GAAG,YAAH,GAAkB;AAAvE,WAAlB,CAAZ;AACA,yBAAe;AAClB,SAHM,MAGA,IAAI,eAAe,GAAG,CAAlB,IAAuB,CAAC,CAAC,GAAG,YAAL,KAAsB,SAAS,GAAG,CAAlC,MAAyC,CAApE,EAAuE;AAC1E,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,KAAlB;AAAyB,wBAAY,EAAE,cAAc,GAAG,YAAH,GAAkB;AAAvE,WAAlB,CAAZ;AACA,yBAAe;AAClB,SAHM,MAGA;AACH,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,IAAlB;AAAwB,wBAAY,EAAE;AAAtC,WAAlB,CAAZ;AACH;AACJ;;AAED,aAAO,OAAP;AACH,KA1BO;;AAhHJ,UAAK,KAAL,GAAa;AACT,sBAAgB,EAAE,CADT;AAET,qBAAe,EAAE,CAFR;AAGT,mBAAa,EAAE,KAHN;AAIT,uBAAiB,EAAE,KAJV;AAKT,uBAAiB,EAAE,CALV;AAMT,wBAAkB,EAAE,GANX;AAOT,+BAAyB,EAAE;AAPlB,KAAb;AAFa;AAWhB;;;;wCAOgB;AAAA;;AACb,WAAK,cAAL,GAAsB,IAAI,cAAJ,CAAmB,iBAAO;AAAA,eAAI,OAAO,CAAC,OAAR,CAAgB,WAAC,EAAG;AACpE,gBAAI,CAAC,QAAL,CAAc;AAAE,8BAAkB,EAAE,CAAC,CAAC,WAAF,CAAc;AAApC,WAAd;AACH,SAFmD,CAAJ;AAAA,OAA1B,CAAtB;AAGA,WAAK,cAAL,CAAoB,OAApB,CAA4B,KAAK,mBAAjC;AACH;;;2CAEmB;AAChB,WAAK,cAAL,IAAuB,KAAK,cAAL,CAAoB,UAApB,EAAvB;AACH;;;6BAmHY;AAAA;;AAAA,yBAC4J,KAAK,KADjK;AAAA,UACD,SADC,gBACD,SADC;AAAA,UACU,YADV,gBACU,YADV;AAAA,UACwB,YADxB,gBACwB,YADxB;AAAA,UACsC,cADtC,gBACsC,cADtC;AAAA,UACsD,cADtD,gBACsD,cADtD;AAAA,UACsE,MADtE,gBACsE,MADtE;AAAA,UAC8E,cAD9E,gBAC8E,cAD9E;AAAA,UAC8F,iBAD9F,gBAC8F,iBAD9F;AAAA,UACiH,OADjH,gBACiH,OADjH;AAAA,UAC0H,aAD1H,gBAC0H,aAD1H;AAAA,UACyI,cADzI,gBACyI,cADzI;AAAA,wBAEyI,KAAK,KAF9I;AAAA,UAED,aAFC,eAED,aAFC;AAAA,UAEc,gBAFd,eAEc,gBAFd;AAAA,UAEgC,eAFhC,eAEgC,eAFhC;AAAA,UAEiD,iBAFjD,eAEiD,iBAFjD;AAAA,UAEoE,iBAFpE,eAEoE,iBAFpE;AAAA,UAEuF,kBAFvF,eAEuF,kBAFvF;AAAA,UAE2G,yBAF3G,eAE2G,yBAF3G;AAGT,UAAM,oBAAoB,GAAG,KAA7B;AACA,UAAM,UAAU,GAAI,kBAAkB,GAAG,GAAtB,GAA6B,oBAAhD;AACA,UAAM,mBAAmB,GAAG;AACxB,gBAAQ,EAAE,KADc;AAExB,aAAK,EAAE,GAFiB;AAGxB,oBAAY,EAAE,CAHU;AAIxB,sBAAc,EAAE,CAJQ;AAKxB,oBAAY,EAAE,gBALU;AAMxB,gBAAQ,EAAE,KANc;AAOxB,gBAAQ,EAAE,IAPc;AAQxB,eAAO,EAAE,mBAAK;AAAG,gBAAI,CAAC,oBAAL;AAA6B,SARtB;AASxB,uBAAe,EAAE,IATO;AAUxB,oBAAY,EAAE,sBAAC,OAAD,EAAU,IAAV,EAAkB;AAC5B,cAAM,kBAAkB,GAAG,IAAI,GAAG,OAAP,GAAiB,IAAjB,GAAwB,MAAnD;;AACA,gBAAI,CAAC,YAAL,iBAA2B,kBAA3B,GAAiD,IAAjD;AACH,SAbuB;AAcxB,mBAAW,EAAE,qBAAC,OAAD,EAAY;AACrB,gBAAI,CAAC,QAAL,CAAc;AAAE,2BAAe,EAAE;AAAnB,WAAd;;AACA,gBAAI,CAAC,oBAAL;AACH;AAjBuB,OAA5B;AAoBA,aACI;AAAK,iBAAS,EAAC,kCAAf;AAAkD,WAAG,EAAE,gCAAmB;AAAA,iBAAK,MAAI,CAAC,mBAAL,GAA2B,mBAAhC;AAAA;AAA1E,SACK,aAAa,GACV;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO,kBAAK,mBAAL,EAAwB;AAAE,iBAAS,EAAC,QAAZ;AAAqB,WAAG,EAAE,aAAC,SAAD;AAAA,iBAAgB,MAAI,CAAC,SAAL,GAAiB,SAAjC;AAAA;AAA1B,OAAxB,CAAP,EACK,KAAK,cAAL,GAAsB,GAAtB,CAA0B,UAAC,SAAD,EAAY,KAAZ,EAAqB;AAC5C,YAAM,YAAY,GAAG,KAAK,KAAK,SAAS,CAAC,MAAV,GAAmB,CAA7B,GAAiC,MAAjC,GAA0C,EAA/D;;AACA,YAAK,OAAO,SAAR,KAAuB,QAA3B,EAAqC;AACjC,iBACI;AAAK,qBAAS,EAAC;AAAf,aACI;AAAK,eAAG,EAAE,KAAV;AAAiB,cAAE,EAAE,SAArB;AAAgC,qBAAS,EAAC;AAA1C,YADJ,EAEI;AAAK,qBAAS,4BAAqB,YAArB,CAAd;AAAmD,mBAAO,EAAE,MAAI,CAAC;AAAjE,aAA4E,yDAA5E,CAFJ,CADJ;AAMH,SAPD,MAOO;AACH,iBACI,oBAAC,uDAAD,EAA2B;AACvB,qBAAS,EAAE,SADY;AAEvB,eAAG,EAAE,SAAS,CAAC,MAFQ;AAGvB,4BAAgB,EAAE,gBAHK;AAIvB,2BAAe,EAAE,eAJM;AAKvB,qBAAS,EAAE,KALY;AAMvB,mCAAuB,EAAE,MAAI,CAAC,uBANP;AAOvB,wBAAY,EAAE,YAPS;AAQvB,uBAAW,EAAE,MAAI,CAAC,WARK;AASvB,kBAAM,EAAE,MATe;AAUvB,iBAAK,EAAE,KAVgB;AAWvB,0BAAc,EAAE,cAXO;AAYvB,6BAAiB,EAAE,iBAZI;AAavB,0BAAc,EAAE;AAbO,WAA3B,CADJ;AAgBH;AACJ,OA3BA,CADL,CADJ,CADU,GAkCV,0CACK,YAAY,IAAI;AAAK,iBAAS,EAAC;AAAf,SACb,oBAAC,4BAAD,EAAiB;AACb,iBAAS,EAAC,WADG;AAEb,YAAI,EAAE,OAFO;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAKK,YALL,CADa,CADrB,EAUI,oBAAC,6BAAD,EAAc;AACV,kBAAU,EAAE,UADF;AAEV,aAAK,EAAE,GAFG;AAGV,sBAAc,EAAE,SAAS,CAAC,MAHhB;AAIV,mBAAW,EAAE,CAJH;AAKV,yBAAiB,EAAE,iBALT;AAMV,yBAAiB,EAAE,iBANT;AAOV,iBAAS,EAAE,SAPD;AAQV,mBAAW,EAAE,IARH;AASV,oBAAY,EAAE,KAAK;AATT,OAAd,EAWK,SAAS,CAAC,GAAV,CAAc,UAAC,SAAD,EAAY,KAAZ,EAAqB;AAChC,eACI,oBAAC,6DAAD,EAA8B;AAC1B,mBAAS,EAAE,SADe;AAE1B,gCAAsB,EAAE,MAAI,CAAC,sBAFH;AAG1B,oBAAU,EAAE,KAHc;AAI1B,aAAG,EAAE,SAAS,CAAC,MAJW;AAK1B,sBAAY,EAAE,MAAI,CAAC,YALO;AAM1B,8BAAoB,EAAE,MAAI,CAAC,oBAND;AAO1B,uCAA6B,EAAE,MAAI,CAAC,6BAPV;AAQ1B,mCAAyB,EAAE,yBARD;AAS1B,sBAAY,EAAE,MAAI,CAAC,YATO;AAU1B,wBAAc,EAAE;AAVU,SAA9B,CADJ;AAaH,OAdA,CAXL,CAVJ,EAqCK,CAAC,cAAD,IAAmB;AAAK,iBAAS,EAAC,YAAf;AAA4B,eAAO,EAAE,KAAK;AAA1C,SAAgE,cAAhE,CArCxB,CAnCR,CADJ;AA8EH;;;;EAtP0C,KAAK,CAAC,S;;AAArD,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCA;;AACA;;AAkBA,IAAM,IAAI,GAAG;AACT,aAAW,EAAE;AADJ,CAAb;;IAGa,qB;;;;;AACT,iCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,+FAAM,KAAN;;AAgBI,+BAAqB,UAAC,KAAD,EAAsB;AAC/C,UAAK,KAAK,CAAC,MAAN,CAAyB,SAAzB,CAAmC,QAAnC,CAA4C,aAA5C,CAAL,EAAiE,MAAK,KAAL,CAAW,uBAAX;AACpE,KAFO;;AAwBA,6BAAmB,UAAC,CAAD,EAAM;AAC7B,OAAC,CAAC,MAAF,CAAS,WAAT,GAAuB,CAAvB;AACA,OAAC,CAAC,MAAF,CAAS,KAAT;;AACA,YAAK,KAAL,CAAW,WAAX;AACH,KAJO;;AAyBA,iCAAuB,YAAK;AAChC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,CAAC,MAAK,KAAL,CAAW;AAA9B,OAAd;AACH,KAFO;;AAIA,yBAAe,YAAK;AACxB,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAA5C,EAAuD;AAD/B,UAEhB,KAFgB,GAEN,MAAK,KAFC,CAEhB,KAFgB;AAIxB,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,eADW;AAElB,uBAAe,EAAE,gBAFC;AAGlB,oBAAY,EAAE,YAHI;AAIlB,6BAAqB,EAAE,KAJL;AAKlB,kBAAU,EAAE;AALM,OAAtB;AAOH,KAXO;;AApEJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE;AADP,KAAb;AAFa;AAKhB;;;;wCAEgB;AACb,WAAK,6BAAL;AACA,cAAQ,CAAC,gBAAT,CAA0B,OAA1B,EAAmC,KAAK,kBAAxC;AACH;;;2CAEmB;AAChB,WAAK,yBAAL;AACA,cAAQ,CAAC,mBAAT,CAA6B,OAA7B,EAAsC,KAAK,kBAA3C;AACH;;;oDAMoC;AAAA;;AACjC,gBAAU,CAAC,YAAK;AACZ,YAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,6GAA1B,CAAtB;;AACA,YAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,uBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,mBAAO,CAAC,gBAAR,CAAyB,OAAzB,EAAkC,MAAI,CAAC,gBAAvC;AACH,WAFD;AAGH;;AAAA;AACJ,OAPS,EAOP,GAPO,CAAV;AAQH;;;gDAEgC;AAAA;;AAC7B,UAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,6GAA1B,CAAtB;;AACA,UAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,qBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,iBAAO,CAAC,mBAAR,CAA4B,OAA5B,EAAqC,MAAI,CAAC,gBAA1C;AACH,SAFD;AAGH;;AAAA;AACJ;;;uCAQkB,S,EAAW,S,EAAS;AACnC,UAAI,SAAS,CAAC,eAAV,KAA8B,KAAK,KAAL,CAAW,eAA7C,EAA8D;AAC1D,kBAAU,CAAC,YAAK;AACZ,cAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,wHAAvB,CAArB;AACA,cAAM,oBAAoB,GAAG,QAAQ,CAAC,aAAT,CAAuB,2IAAvB,CAA7B;;AACA,cAAI,YAAJ,EAAkB;AACd,sBAAU,CAAC,YAAK;AACZ,kBAAI,YAAY,CAAC,MAAjB,EAAyB;AACrB,4BAAY,CAAC,KAAb;AACA,4BAAY,CAAC,WAAb,GAA2B,CAA3B;AACA,4BAAY,CAAC,IAAb;AACH;AACJ,aANS,EAMP,GANO,CAAV;AAOH;;AAAA;AACD,cAAI,oBAAJ,EAA0B,oBAAoB,CAAC,KAArB;AAC7B,SAbS,EAaP,GAbO,CAAV;AAcH;AACJ;;;6BAmBY;AAAA,UACD,cADC,GACkB,KAAK,KADvB,CACD,cADC;AAAA,wBAEwF,KAAK,KAF7F;AAAA,UAED,SAFC,eAED,SAFC;AAAA,UAEU,cAFV,eAEU,cAFV;AAAA,UAE0B,iBAF1B,eAE0B,iBAF1B;AAAA,UAE6C,cAF7C,eAE6C,cAF7C;AAAA,UAE6D,KAF7D,eAE6D,KAF7D;AAAA,UAEoE,eAFpE,eAEoE,eAFpE;AAAA,UAGD,KAHC,GAGsD,SAHtD,CAGD,KAHC;AAAA,UAGM,KAHN,GAGsD,SAHtD,CAGM,KAHN;AAAA,UAGa,QAHb,GAGsD,SAHtD,CAGa,QAHb;AAAA,UAGuB,SAHvB,GAGsD,SAHtD,CAGuB,SAHvB;AAAA,UAGkC,eAHlC,GAGsD,SAHtD,CAGkC,eAHlC;AAIT,UAAM,aAAa,2BAAoB,cAAc,GAAG,EAAH,GAAQ,OAA1C,CAAnB;AACA,UAAM,kBAAkB,GAAI,eAAe,KAAK,KAApB,IAA6B,eAAe,KAAK,KAAK,GAAG,CAAzD,IAA8D,eAAe,KAAK,KAAK,GAAG,CAAtH;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,kBAAkB,IACf,oBAAC,iCAAD,EAAgB;AACZ,YAAI,EAAE,KADM;AAEZ,uBAAe,EAAE,IAFL;AAGZ,aAAK,EAAE,GAHK;AAIZ,cAAM,EAAE,GAJI;AAKZ,oBAAY,EAAE,cAAc,GAAG,SAAS,CAAC,cAAb,GAA8B,IAL9C;AAMZ,eAAO,EAAE,SAAS,CAAC,YANP;AAOZ,qBAAa,EAAE,IAPH;AAQZ,+BAAuB,EAAE;AARb,OAAhB,CAFR,EAYI;AAAK,iBAAS,EAAC;AAAf,SACK,cAAc,IAAI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADvB,EAEK,iBAAiB,IAAI;AAAK,iBAAS,EAAE,aAAhB;AAA+B,eAAO,EAAE,KAAK,oBAA7C;AAAmE,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA5F,QAF1B,EAGK,SAAS,IACN;AAAK,eAAO,EAAE,KAAK;AAAnB,SACI,oBAAC,4BAAD,EAAiB;AACb,iBAAS,EAAC,WADG;AAEb,YAAI,EAAE,SAFO;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAKK,IAAI,CAAC,WALV,CADJ,CAJR,CAZJ,CADJ;AA8BH;;;;EAzHsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;;AACA;;AAqBA,IAAM,IAAI,GAAG;AACT,WAAS,EAAE,YADF;AAET,aAAW,EAAE;AAFJ,CAAb;;IAKa,0B;;;;;AACT,sCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,oGAAM,KAAN;;AAkCI,6BAAmB,UAAC,CAAD,EAAM;AAC7B,OAAC,CAAC,MAAF,CAAS,WAAT,GAAuB,CAAvB;AACA,OAAC,CAAC,MAAF,CAAS,KAAT;;AACA,YAAK,KAAL,CAAW,WAAX;AACH,KAJO;;AAMA,iCAAuB,YAAK;AAChC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,CAAC,MAAK,KAAL,CAAW;AAA9B,OAAd;AACH,KAFO;;AAIA,yBAAe,YAAK;AACxB,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAA5C,EAAuD;AAD/B,UAEhB,KAFgB,GAEN,MAAK,KAFC,CAEhB,KAFgB;AAIxB,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,eADW;AAElB,uBAAe,EAAE,gBAFC;AAGlB,oBAAY,EAAE,YAHI;AAIlB,6BAAqB,EAAE,KAJL;AAKlB,kBAAU,EAAE;AALM,OAAtB;AAOH,KAXO;;AA3CJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE;AADP,KAAb;AAFa;AAKhB;;;;wCAEgB;AACb,WAAK,6BAAL;AACH;;;2CAEmB;AAChB,WAAK,yBAAL;AACH;;;oDAEoC;AAAA;;AACjC,gBAAU,CAAC,YAAK;AACZ,YAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,wHAA1B,CAAtB;;AACA,YAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,uBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,mBAAO,CAAC,gBAAR,CAAyB,OAAzB,EAAkC,MAAI,CAAC,gBAAvC;AACH,WAFD;AAGH;;AAAA;AACJ,OAPS,EAOP,GAPO,CAAV;AAQH;;;gDAEgC;AAAA;;AAC7B,UAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,wHAA1B,CAAtB;;AACA,UAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,qBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,iBAAO,CAAC,mBAAR,CAA4B,OAA5B,EAAqC,MAAI,CAAC,gBAA1C;AACH,SAFD;AAGH;;AAAA;AACJ;;;6BAyBY;AAAA,UACD,cADC,GACkB,KAAK,KADvB,CACD,cADC;AAAA,wBAE4I,KAAK,KAFjJ;AAAA,UAED,SAFC,eAED,SAFC;AAAA,UAEU,uBAFV,eAEU,uBAFV;AAAA,UAEmC,YAFnC,eAEmC,YAFnC;AAAA,UAEiD,WAFjD,eAEiD,WAFjD;AAAA,UAE8D,cAF9D,eAE8D,cAF9D;AAAA,UAE8E,iBAF9E,eAE8E,iBAF9E;AAAA,UAEiG,cAFjG,eAEiG,cAFjG;AAAA,UAEiH,KAFjH,eAEiH,KAFjH;AAAA,UAEwH,eAFxH,eAEwH,eAFxH;AAAA,UAGD,KAHC,GAGsD,SAHtD,CAGD,KAHC;AAAA,UAGM,KAHN,GAGsD,SAHtD,CAGM,KAHN;AAAA,UAGa,QAHb,GAGsD,SAHtD,CAGa,QAHb;AAAA,UAGuB,SAHvB,GAGsD,SAHtD,CAGuB,SAHvB;AAAA,UAGkC,eAHlC,GAGsD,SAHtD,CAGkC,eAHlC;AAIT,UAAM,aAAa,2BAAoB,cAAc,GAAG,EAAH,GAAQ,OAA1C,CAAnB;AACA,UAAM,aAAa,wCAAiC,cAAc,GAAG,UAAH,GAAgB,cAA/D,CAAnB;AACA,UAAM,kBAAkB,GAAI,eAAe,KAAK,KAApB,IAA6B,eAAe,KAAK,KAAK,GAAG,CAAzD,IAA8D,eAAe,KAAK,KAAK,GAAG,CAAtH;AAEA,aACI;AAAK,iBAAS,EAAE;AAAhB,SACK,kBAAkB,IACf,oBAAC,iCAAD,EAAgB;AACZ,YAAI,EAAE,KADM;AAEZ,uBAAe,EAAE,IAFL;AAGZ,oBAAY,EAAE,cAAc,GAAG,SAAS,CAAC,cAAb,GAA8B,IAH9C;AAIZ,eAAO,EAAE,SAAS,CAAC,YAJP;AAKZ,qBAAa,EAAE;AALH,OAAhB,CAFR,EASI;AAAK,iBAAS,4BAAqB,YAArB,CAAd;AAAmD,eAAO,EAAE;AAA5D,SAA0E,IAAI,CAAC,SAA/E,CATJ,EAUI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE;AAAnC,QAVJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SACK,cAAc,IAAI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADvB,EAEK,iBAAiB,IAAI;AAAK,iBAAS,EAAE,aAAhB;AAA+B,eAAO,EAAE,KAAK,oBAA7C;AAAmE,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA5F,QAF1B,EAGK,SAAS,IACN;AAAK,eAAO,EAAE,KAAK;AAAnB,SACI,oBAAC,4BAAD,EAAiB;AACb,iBAAS,EAAC,WADG;AAEb,YAAI,EAAE,SAFO;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAKK,IAAI,CAAC,WALV,CADJ,CAJR,CAXJ,CADJ;AA6BH;;;;EAhG2C,KAAK,CAAC,S;;AAAtD,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;;IAgBa,c;;;;;AAAb;AAAA;;AAAA;;;;AAEU,4BAAiB,YAAI;AAC3B,UAAI,cAAc,GAAQ,QAAQ,CAAC,aAAT,CAAuB,uFAAvB,CAA1B;;AACA,UAAG,cAAH,EAAkB;AACd,sBAAc,CAAC,UAAf,CAA0B,IAA1B;AACH;AACF,KALO;;AAFV;AAwCC;;;;6BA5BgB;AAAA,wBAC2H,KAAK,KADhI;AAAA,UACD,KADC,eACD,KADC;AAAA,UACM,YADN,eACM,YADN;AAAA,UACoB,WADpB,eACoB,WADpB;AAAA,UACiC,YADjC,eACiC,YADjC;AAAA,UAC+C,gBAD/C,eAC+C,gBAD/C;AAAA,UACiE,eADjE,eACiE,eADjE;AAAA,UACkF,YADlF,eACkF,YADlF;AAAA,UACgG,QADhG,eACgG,QADhG;AAAA,UAC0G,YAD1G,eAC0G,YAD1G;AAET,aACI;AAAK,iBAAS,EAAC;AAAf,SACI,YAAY,IAAK;AAAI,iBAAS,EAAC,eAAd;AAA8B,eAAO,EAAE,KAAK;AAA5C,SACb;AAAM,iBAAS;AAAf,QADa,EAEb;AAAM,iBAAS,EAAC,UAAhB;AAA2B,aAAK,EAAE;AAAC,eAAK,EAAC;AAAP;AAAlC,SAAqD,YAArD,CAFa,EAGb;AAAM,iBAAS,EAAC;AAAhB,QAHa,CADrB,EAOI;AAAK,iBAAS,EAAC;AAAf,SACA;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACA,oBAAC,iCAAD,EAAgB;AACZ,YAAI,EAAE,KADM;AAEZ,uBAAe,EAAE,KAFL;AAGZ,oBAAY,EAAE,YAHF;AAIZ,qBAAa,EAAE;AAJH,OAAhB,CADA,CADJ,EAQI;AAAM,iBAAS,EAAC,WAAhB;AAA4B,eAAO,EAAE,KAAK;AAA1C,SACC,gBAAgB,IAAK;AAAM,iBAAS,EAAC,OAAhB;AAAwB,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAAjD,QADtB,EAEC,eAAe,IAAI,WAAW,CAAC,MAAZ,GAAmB,CAAtC,IAA2C,gDAAQ;AAAM,iBAAS,EAAC,OAAhB;AAAwB,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAAjD,QAAR,MAF5C,CARJ,CADA,CAPJ,CADJ;AAyBH;;;;EAvC+B,KAAK,CAAC,S;;AACxB,gCAAiB,gBAAjB;AADlB,wC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAsCA,IAAM,iBAAiB,GAAG;AACtB,QAAM;AACF,iBAAa,SADX;AAEF,kBAAc;AAFZ,GADgB;AAKtB,QAAM;AACF,iBAAa,WADX;AAEF,kBAAc;AAFZ;AALgB,CAA1B;;IAWa,0B;;;;;AAET,sCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,oGAAM,KAAN;;AAiCI,yCAA+B,UAAC,eAAD,EAAiC;AACpE,YAAK,QAAL,CAAc;AAAE,2BAAmB,EAAE;AAAvB,OAAd;AACH,KAFO;;AAIA,6BAAmB,UAAC,UAAD,EAAe;AACtC,YAAK,iBAAL;;AACA,YAAK,QAAL,CAAc;AACV,mBAAW,EAAE,UADH;AAEV,gBAAQ,EAAE;AAFA,OAAd;AAIH,KANO;;AAQA,8BAAoB,YAAK;AAC7B,YAAK,QAAL,CAAc;AACV,4BAAoB,EAAE,CAAC,MAAK,KAAL,CAAW,oBADxB;AAEV,yBAAiB,EAAG,MAAK,KAAL,CAAW,iBAAX,IAAgC,CAAC,MAAK,KAAL,CAAW,oBAA7C,GAAqE,KAArE,GAA6E,MAAK,KAAL,CAAW;AAFjG,OAAd;AAIH,KALO;;AAOA,2BAAiB,YAAK;AAC1B,YAAK,QAAL,CAAc;AACV,yBAAiB,EAAE,CAAC,MAAK,KAAL,CAAW,iBADrB;AAEV,4BAAoB,EAAG,MAAK,KAAL,CAAW,oBAAX,IAAmC,CAAC,MAAK,KAAL,CAAW,iBAAhD,GAAqE,KAArE,GAA6E,MAAK,KAAL,CAAW;AAFpG,OAAd;AAKH,KANO;;AAQA,2BAAiB,UAAC,GAAD,EAAwB;AAAA,UAAlB,SAAkB,uEAAN,EAAM;;AAC7C,UAAI,SAAS,CAAC,UAAD,CAAb,EAA2B;AACvB;AACH,OAFD,MAEO;AACH,cAAK,QAAL,CAAc;AACV,mBAAS,EAAE,GAAG,GAAG,GAAH,GAAS,EADb;AAEV,kBAAQ,EAAE;AAFA,SAAd;;AAIA,cAAK,cAAL;AACH;AACJ,KAVO;;AAYA,6BAAmB,YAAK;AAC5B,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE,MAAK,KAAL,CAAW,QAAX,GAAsB;AAAlC,OAAd;AACH,KAFO;;AAIA,wBAAc,YAAK;AAAA,UACf,YADe,GACE,MAAK,KADP,CACf,YADe;AAAA,wBAEgC,MAAK,KAFrC;AAAA,UAEf,WAFe,eAEf,WAFe;AAAA,UAEF,QAFE,eAEF,QAFE;AAAA,UAEQ,SAFR,eAEQ,SAFR;AAAA,UAEmB,QAFnB,eAEmB,QAFnB;AAGvB,UAAM,iBAAiB,GAAG,6BAAW,IAAI,IAAJ,CAAS,YAAT,CAAX,EAAmC,YAAnC,CAA1B;AACA,UAAM,IAAI,GAAG,6BAAW,SAAX,EAAsB,YAAtB,CAAb;AACA,WAAK,CAAC,GAAN,yCAA2C,YAA3C,iBAA8D,WAAW,CAAC,EAA1E,wBAA0F,iBAA1F,sBAAuH,IAAvH,yBAA0I,QAA1I,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,YAAM,eAAe,GAAG,GAAG,CAAC,IAAJ,CAAS,IAAjC;;AACA,cAAK,QAAL,CAAc;AACV,kBAAQ,EAAE,QAAQ,GAAG,CAAX,gCAAmB,QAAnB,sBAAgC,eAAhC,KAAmD,eADnD;AAEV,mBAAS,EAAE;AAFD,SAAd;AAIH,OAPL,EAOO,KAPP,CAOa,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,OAPhB;AAQH,KAbO;;AAeA,2BAAiB,UAAC,IAAD,EAAO,IAAP,EAAuB;AAC5C,UAAI,GAAG,GAAG,iBAAiB,CAAC,IAAD,CAA3B;AACA,UAAI,UAAU,GAAG,GAAG,CAAC,IAAD,CAApB;AACA,aAAO,UAAP;AACH,KAJO;;AAMA,6BAAmB,UAAC,WAAD,EAAsB;AAC7C,UAAM,IAAI,GAAG,IAAI,IAAJ,CAAS,WAAT,CAAb;AACA,UAAI,EAAE,GAAG,KAAK,IAAI,CAAC,OAAL,EAAd;AACA,UAAI,EAAE,GAAG,MAAM,IAAI,CAAC,QAAL,KAAkB,CAAxB,CAAT;AACA,UAAM,EAAE,GAAG,IAAI,CAAC,WAAL,GAAmB,QAAnB,GAA8B,KAA9B,CAAoC,CAApC,EAAuC,CAAvC,CAAX;AAEA,UAAI,EAAE,CAAC,MAAH,GAAY,CAAhB,EAAmB,EAAE,GAAG,MAAM,EAAX;AACnB,UAAI,EAAE,CAAC,MAAH,GAAY,CAAhB,EAAmB,EAAE,GAAG,MAAM,EAAX;AAEnB,aAAO,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,IAAb,CAAkB,GAAlB,CAAP;AACH,KAVO;;AAhGJ,UAAK,cAAL,GAAsB,MAAK,cAAL,CAAoB,IAApB,+BAAtB;AACA,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE;AAAE,mBAAW,EAAE,EAAf;AAAmB,UAAE,EAAE;AAAvB,OADJ;AAET,0BAAoB,EAAE,KAFb;AAGT,uBAAiB,EAAE,KAHV;AAIT,cAAQ,EAAE,CAJD;AAKT,eAAS,EAAE,IAAI,IAAJ,EALF;AAMT,cAAQ,EAAE,EAND;AAOT,gBAAU,EAAE,KAPH;AAQT,eAAS,EAAE,KARF;AAST,yBAAmB,EAAE;AATZ,KAAb;AAHa;AAchB;;;;wCAEgB;AACb,WAAK,QAAL,CAAc;AAAE,mBAAW,EAAE;AAAE,qBAAW,EAAE,YAAf;AAA6B,YAAE,EAAE;AAAjC;AAAf,OAAd;AACH;;;uCAEkB,S,EAAW,S,EAAS;AACnC,UAAI,KAAK,KAAL,CAAW,SAAX,KAAyB,SAAS,CAAC,SAAnC,IACA,KAAK,KAAL,CAAW,QAAX,KAAwB,SAAS,CAAC,QADlC,IAEA,KAAK,KAAL,CAAW,WAAX,KAA2B,SAAS,CAAC,WAFzC,EAEsD;AAClD,aAAK,QAAL,CAAc;AAAE,mBAAS,EAAE;AAAb,SAAd;AACA,aAAK,WAAL;AACH;;AACD,UAAI,KAAK,KAAL,CAAW,QAAX,KAAwB,SAAS,CAAC,QAAtC,EAAgD;AAC5C,aAAK,QAAL,CAAc;AACV,oBAAU,EAAG,KAAK,KAAL,CAAW,QAAX,CAAoB,MAArB,IAAgC,CAAC,KAAK,KAAL,CAAW,QAAX,GAAsB,CAAvB,IAA4B,KAAK,KAAL,CAAW,aAAvE,KAAyF;AAD3F,SAAd;AAGH;AACJ;;;6BA8EK;AAAA;;AAAA,wBAC2C,KAAK,KADhD;AAAA,UACM,YADN,eACM,YADN;AAAA,UACoB,KADpB,eACoB,KADpB;AAAA,UAC2B,WAD3B,eAC2B,WAD3B;AAAA,yBAE2G,KAAK,KAFhH;AAAA,UAEM,WAFN,gBAEM,WAFN;AAAA,UAEmB,oBAFnB,gBAEmB,oBAFnB;AAAA,UAEyC,SAFzC,gBAEyC,SAFzC;AAAA,UAEoD,QAFpD,gBAEoD,QAFpD;AAAA,UAE8D,iBAF9D,gBAE8D,iBAF9D;AAAA,UAEiF,UAFjF,gBAEiF,UAFjF;AAAA,UAE6F,SAF7F,gBAE6F,SAF7F;AAGF,UAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAT,GAAkB,CAAlB,IAAuB,QAAQ,CAAC,CAAD,CAAR,CAAY,KAA7D;AACA,UAAM,mBAAmB,4BAAqB,SAAS,GAAG,SAAH,GAAe,EAA7C,CAAzB;AACA,UAAM,oBAAoB,GAAG;AACzB,uBAAe,EAAE,IADQ;AAEzB,aAAK,EAAE,IAAI,IAAJ,EAFkB;AAGzB,eAAO,EAAE,IAAI,IAAJ,EAHgB;AAIzB,kBAAU,EAAE,IAJa;AAKzB,oBAAY,EAAE,CAAC;AAAE,eAAK,EAAE,IAAI,IAAJ;AAAT,SAAD;AALW,OAA7B;AAQA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,WAAW,GACT,QAAQ,IAAI,QAAQ,CAAC,MAAT,GAAkB,CAA9B,IACK,QAAQ,CAAC,GAAT,CAAa,UAAC,OAAD,EAAU,CAAV;AAAA,eACT,oBAAC,uDAAD,EAA2B;AACvB,iBAAO,EAAE,OADc;AAEvB,aAAG,EAAE,OAAO,CAAC,SAFU;AAGvB,6BAAmB,EAAE,MAAI,CAAC,KAAL,CAAW,mBAHT;AAIvB,sCAA4B,EAAE,MAAI,CAAC,4BAJZ;AAKvB,+BAAqB,EAAE;AAAE,yBAAa,EAAE,IAAjB;AAAuB,2BAAe,EAAE;AAAxC;AALA,SAA3B,CADS;AAAA,OAAb,CAFI,GAcR,0CACK,iBAAiB,IAAI,oBAAC,8BAAD,EAAqB;AAAC,mBAAW,EAAE,QAAQ,CAAC,CAAD,CAAtB;AAA2B,wBAAgB,EAAE,KAAK;AAAlD,OAArB,CAD1B,EAGI;AAAK,iBAAS,EAAC;AAAf,QAHJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,iDAAD,EAAwB;AACpB,aAAK,EAAE,KADa;AAEpB,mBAAW,EAAE,WAFO;AAGpB,oBAAY,EAAE,YAHM;AAIpB,wBAAgB,EAAE,KAAK,gBAJH;AAKpB,yBAAiB,EAAE,KAAK,iBALJ;AAMpB,4BAAoB,EAAE;AANF,OAAxB,CADJ,EAUI,oBAAC,wDAAD,EAA4B;AACxB,aAAK,EAAE,KADiB;AAExB,iBAAS,EAAE,SAFa;AAGxB,sBAAc,EAAE,KAAK,cAHG;AAIxB,sBAAc,EAAE,KAAK,cAJG;AAKxB,yBAAiB,EAAE,iBALK;AAMxB,4BAAoB,EAAE;AANE,OAA5B,CAVJ,CALJ,EAyBI;AAAK,iBAAS,EAAC;AAAf,QAzBJ,EA2BI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA0B,mDAA1B,CADJ,EAGM,QAAQ,CAAC,MAAT,GAAkB,CAAnB,GACG,oBAAE,iDAAF,EAAyB;AACrB,aAAK,EAAE,KADc;AAErB,gBAAQ,EAAE,QAFW;AAGrB,mBAAW,EAAE,WAHQ;AAIrB,wBAAgB,EAAE,KAAK;AAJF,OAAzB,CADH,GAQG;AAAK,iBAAS,EAAC;AAAf,SAA+B,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,YAAzC,CAA/B,CAXR,EAcI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAE,mBAAnB;AAAwC,gBAAQ,EAAE,CAAC,UAAD,IAAe,QAAQ,CAAC,MAAT,KAAoB,CAArF;AAAwF,eAAO,EAAE,KAAK;AAAtG,SAAyH,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,WAAzC,CAAzH,CADJ,CAdJ,CA3BJ,CAfR,CADJ;AAiEH;;;;EA9L2C,KAAK,CAAC,S;;AACpC,4CAAiB,4BAAjB;AADlB,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvDA;;AACA;;AACA;;AACA;;AAEA;;AACA;;IAOa,uB;;;;;AAAb;AAAA;;AAAA;;;;AAGY,oBAAU,UAAC,QAAD,EAAsB;AACpC,UAAI,QAAJ,EAAc,OAAO,OAAP,CAAd,KACK,OAAO,MAAP;AACR,KAHO;;AAIA,qBAAW,YAAc;AAAA,UACrB,OADqB,GACT,MAAK,KADI,CACrB,OADqB;AAE7B,UAAM,oBAAoB,GAAG,IAAI,IAAJ,CAAS,OAAO,CAAC,iBAAjB,CAA7B;AACA,UAAM,aAAa,GAAG,qCAAiB,oBAAjB,CAAtB;AACA,aAAO,aAAa,GAAG,CAAvB;AACH,KALO;;AAPZ;AAgDC;;;;6BAlCgB;AAAA,wBACoC,KAAK,KADzC;AAAA,UACD,OADC,eACD,OADC;AAAA,UACQ,KADR,eACQ,KADR;AAAA,UACe,gBADf,eACe,gBADf;AAAA,UAED,KAFC,GAEuF,OAFvF,CAED,KAFC;AAAA,UAEM,aAFN,GAEuF,OAFvF,CAEM,aAFN;AAAA,UAEqB,QAFrB,GAEuF,OAFvF,CAEqB,QAFrB;AAAA,UAE+B,SAF/B,GAEuF,OAFvF,CAE+B,SAF/B;AAAA,UAE0C,iBAF1C,GAEuF,OAFvF,CAE0C,iBAF1C;AAAA,UAE6D,qBAF7D,GAEuF,OAFvF,CAE6D,qBAF7D;AAGT,UAAM,SAAS,GAAI,CAAC,KAAK,QAAL,EAAD,IAAoB,CAAC,KAAtB,GAA+B;AAAE,aAAK,EAAE;AAAT,OAA/B,GAAsD,EAAxE;AAEA,aACI;AAAK,iBAAS,EAAC,UAAf;AAAyB,+BAAsB;AAA/C,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,YAAI,EAAE;AAAT,SACI;AAAK,WAAG,EAAE,8BAAiB,qBAAjB,EAAwC;AAAE,mBAAS,EAAE,uBAAU;AAAvB,SAAxC,CAAV;AACI,WAAG,EAAE,KADT;AAEI,aAAK,EAAE,KAFX;AAGI,aAAK,EAAE;AAAE,eAAK,EAAE,GAAT;AAAc,gBAAM,EAAE;AAAtB,SAHX;AAII,iBAAS,EAAC;AAJd,QADJ,CADJ,CADJ,EAWI,oBAAC,iCAAD,EAAgB;AAAC,cAAM,EAAE,EAAT;AAAa,YAAI,EAAE,KAAK,OAAL,CAAa,QAAb,CAAnB;AAA2C,qBAAa,EAAC,QAAzD;AAAkE,qBAAa,EAAE;AAAjF,OAAhB,CAXJ,EAYI,oBAAC,uCAAD,EAAmB;AAAC,WAAG,EAAE,aAAN;AAAqB,aAAK,EAAE,KAAK,KAAL,CAAW,OAAX,CAAmB,KAA/C;AAAsD,aAAK,EAAE,IAA7D;AAAmE,iBAAS,EAAE;AAA9E,OAAnB,CAZJ,CADJ,EAeI;AAAG,YAAI,EAAE,+CAAgC,OAAhC,CAAT;AAAmD,iBAAS,EAAC;AAA7D,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC,UAAhB;AAA2B,aAAK,EAAE;AAAlC,SACI;AAAM,iBAAS,EAAC;AAAhB,SAA+B,gBAAgB,CAAC,iBAAD,CAA/C,CADJ,CADJ,CADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,KAAP,CADJ,CANJ,CAfJ,CADJ;AA4BH;;;;EA/CwC,KAAK,CAAC,S;;AACxC,uCAAe;AAAE,mBAAiB,EAAE;AAArB,CAAf;AADX,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdA;;IAOa,uB;;;;;;;;;;;;;6BACI;AAAA;;AAAA,wBACqC,KAAK,KAD1C;AAAA,UACD,QADC,eACD,QADC;AAAA,UACS,KADT,eACS,KADT;AAAA,UACgB,gBADhB,eACgB,gBADhB;AAET,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,CAAP;AAAA,eACN,oBAAC,iDAAD,EAAwB;AACpB,aAAG,EAAE,CADe;AAEpB,iBAAO,EAAE,IAFW;AAGpB,eAAK,EAAE,KAHa;AAIpB,0BAAgB,EAAE;AAJE,WAKhB,KAAI,CAAC,KALW,CAAxB,CADM;AAAA,OAAb,CADL,CADJ;AAYH;;;;EAfwC,KAAK,CAAC,S;;AAAnD,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICIa,uB;;;;;;;;;;;;;6BACI;AAAA,wBAC+F,KAAK,KADpG;AAAA,UACD,iBADC,eACD,iBADC;AAAA,UACkB,WADlB,eACkB,WADlB;AAAA,UAC+B,oBAD/B,eAC+B,oBAD/B;AAAA,UACqD,YADrD,eACqD,YADrD;AAAA,UACmE,gBADnE,eACmE,gBADnE;AAAA,UACqF,KADrF,eACqF,KADrF;AAET,UAAM,qBAAqB,GAAG,KAAK,GAAG,cAAH,GAAoB,YAAvD;AACA,UAAM,OAAO,IAAuB;AAAC,mBAAW,EAAC,qBAAb;AAAoC,UAAE,EAAC;AAAvC,OAAvB,4BAAuE,YAAvE,EAAb,CAHS,CAIT;;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC,aAAhB;AAA8B,eAAO,EAAE;AAAvC,QADJ,EAEI;AAAM,iBAAS,EAAC,UAAhB;AAA2B,eAAO,EAAE;AAApC,SAAyD,WAAW,CAAC,EAAZ,KAAmB,GAApB,GAA2B,qBAA3B,GAAmD,WAAW,CAAC,WAAvH,CAFJ,EAGK,oBAAoB,IACjB;AAAK,iBAAS,EAAC;AAAf,SAEK,CAAC,CAAC,MAAF,CAAS,CAAC,CAAC,GAAF,CAAM,OAAN,EAAe,UAAC,YAAD,EAAe,KAAf,EAAwB;AAC7C,eACI;AAAK,aAAG,EAAE,KAAV;AAAiB,mBAAS,EAAC,YAA3B;AAAwC,iBAAO,EAAE;AAAA,mBAAM,gBAAgB,CAAC,YAAD,CAAtB;AAAA;AAAjD,WACM,YAAY,CAAC,EAAb,KAAoB,MAApB,IAA8B,YAAY,CAAC,EAAb,KAAoB,GAAnD,GAA0D,qBAA1D,GAAkF,YAAY,CAAC,WADpG,CADJ;AAIH,OALS,CAAT,CAFL,CAJR,CADJ;AAiBH;;;;EAvBwC,KAAK,CAAC,S;;AAAnD,0D;;;;;;;;;;;;;;;ACVA;;AACA;;AAGa,sCAA8B,gBAA8H;AAAA,MAA3H,cAA2H,QAA3H,cAA2H;AAAA,MAA3G,SAA2G,QAA3G,SAA2G;AAAA,MAAhG,iBAAgG,QAAhG,iBAAgG;AAAA,MAA7E,cAA6E,QAA7E,cAA6E;AAAA,MAA7D,oBAA6D,QAA7D,oBAA6D;AAAA,MAAvC,KAAuC,QAAvC,KAAuC;AAAA,mCAAhC,kBAAgC;AAAA,MAAhC,kBAAgC,sCAAX,KAAW;AACrK,MAAM,SAAS,GAAG,KAAK,GAAG,MAAH,GAAY,OAAnC;AACA,MAAM,KAAK,GAAG,KAAK,GAAG,IAAH,GAAU,IAA7B;AACA,MAAM,MAAM,GAAG;AACX,MAAE,EAAE,CACA,OADA,EAEA,QAFA,EAGA,KAHA,EAIA,OAJA,EAKA,KALA,EAMA,MANA,EAOA,MAPA,EAQA,QARA,EASA,QATA,EAUA,SAVA,EAWA,QAXA,EAYA,OAZA;AADO,GAAf;AAgBA,MAAM,YAAY,GAAG;AAAE,MAAE,EAAE,CAAC,OAAD,EAAU,KAAV,EAAiB,OAAjB,EAA0B,OAA1B,EAAmC,OAAnC,EAA4C,MAA5C,EAAoD,KAApD;AAAN,GAArB;AACA,MAAM,aAAa,GAAG;AAAE,MAAE,EAAE,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B;AAAN,GAAtB;AACA,MAAM,cAAc,GAAG;AAAE,MAAE,EAAE;AAAN,GAAvB;AACA,MAAM,MAAM,GAAG;AAAE,MAAE,EAAE;AAAE,eAAS,EAAE,UAAb;AAAyB,mBAAa,EAAE;AAAxC;AAAN,GAAf;AACA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAM,aAAS,EAAC,iBAAhB;AAAkC,WAAO,EAAE;AAA3C,IADJ,EAEI;AAAM,aAAS,qBAAc,SAAS,IAAI,WAA3B,CAAf;AAAyD,WAAO,EAAE;AAAlE,KAAoF,SAAS,IAAI,CAAC,kBAAf,GAAqC,6BAAW,SAAX,EAAqB,YAArB,CAArC,GAA0E,SAA7J,CAFJ,EAGK,iBAAiB,IAAI,oBAAC,0BAAD,EAAU;AAC5B,mBAAe,EAAE,oBAAoB,CAAC,eADV;AAE5B,SAAK,EAAE,oBAAoB,CAAC,KAFA;AAG5B,WAAO,EAAE,oBAAoB,CAAC,OAHF;AAI5B,cAAU,EAAE,oBAAoB,CAAC,UAJL;AAK5B,gBAAY,EAAE,oBAAoB,CAAC,YALP;AAM5B,cAAU,EAAE,cANgB;AAO5B,SAAK,EAAE,KAPqB;AAQ5B,UAAM,EAAE,MAAM,CAAC,KAAD,CARc;AAS5B,gBAAY,EAAE,YAAY,CAAC,KAAD,CATE;AAU5B,iBAAa,EAAE,aAAa,CAAC,KAAD,CAVA;AAW5B,kBAAc,EAAE,cAAc,CAAC,KAAD,CAXF;AAY5B,UAAM,EAAE,MAAM,CAAC,KAAD;AAZc,GAAV,CAH1B,CADJ;AAoBH,CA3CY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJb;;AAGA;;IAMqB,oB;;;;;;;;;;;;;6BAEX;AAAA,wBACwC,KAAK,KAD7C;AAAA,UACM,WADN,eACM,WADN;AAAA,UACmB,gBADnB,eACmB,gBADnB;AAAA,gCAE4G,WAAW,CAAC,KAAZ,CAAkB,CAAlB,CAF5G;AAAA,UAEM,YAFN,uBAEM,YAFN;AAAA,UAEoB,MAFpB,uBAEoB,MAFpB;AAAA,UAE4B,SAF5B,uBAE4B,SAF5B;AAAA,UAEuC,YAFvC,uBAEuC,YAFvC;AAAA,UAEqD,SAFrD,uBAEqD,SAFrD;AAAA,UAEgE,UAFhE,uBAEgE,UAFhE;AAAA,UAE4E,gBAF5E,uBAE4E,gBAF5E;AAAA,UAE8F,SAF9F,uBAE8F,SAF9F;AAGF,UAAM,SAAS,GAAG;AACd,iBAAS,EAAE,aADG;AAEd,eAAO,EAAE,YAFK;AAGd,cAAM,EAAE,MAHM;AAId,WAAG,EAAE,SAJS;AAKd,oBAAY,EAAE,YALA;AAMd,cAAM,EAAE,SANM;AAOd,kBAAU,EAAE,UAPE;AAQd,wBAAgB,EAAE,gBARJ;AASd,iBAAS,EAAE;AATG,OAAlB;AAWA,UAAM,kBAAkB,aAAM,SAAS,CAAC,SAAhB,cAA6B,SAAS,CAAC,MAAvC,CAAxB;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAU;AACN,WAAG,EAAE,SAAS,CAAC,OADT;AAEN,YAAI,EAAE,SAFA;AAGN,aAAK,EAAE,GAHD;AAIN,cAAM,EAAE,GAJF;AAKN,qBAAa,EAAE;AAAE,yBAAe,EAAE,KAAnB;AAA0B,sBAAY,EAAE;AAAxC,SALT;AAMN,mBAAW,EAAE,IANP;AAON,uBAAe,EAAE,KAPX;AAQN,kBAAU,EAAE;AARN,OAAV,CADJ,CADJ,EAaI;AAAK,iBAAS,EAAC;AAAf,SACK,kBADL,CAbJ,EAgBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,YAAI,EAAE,+CAAgC,WAAhC,CAAT;AAAuD,iBAAS,EAAC;AAAjE,SAAmF,WAAW,CAAC,KAA/F,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACK,gBAAgB,CAAC,WAAW,CAAC,iBAAb,CADrB,CAFJ,CADJ,EAOI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,YAAI,EAAE,+CAAgC,WAAhC,CAAT;AAAuD,iBAAS,EAAC;AAAjE,SAAsF,WAAW,CAAC,QAAlG,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAAkC,WAAW,CAAC,MAA9C,CAFJ,CAPJ,CAhBJ,CADJ;AA+BH;;;;EAjD6C,KAAK,CAAC,S;;AAAxD,uC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAMa,uB;;;;;AAGT,mCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,iGAAM,KAAN;;AAWI,wBAAc,YAAK;AAAA,UACf,QADe,GACF,MAAK,KADH,CACf,QADe;AAEvB,UAAM,aAAa,GAAG,KAAK,CAAC,MAAN,CAAa,wDAAb,CAAtB;AAEA,mBAAa,CAAC,GAAd,+CACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,cAAK,QAAL,CAAc;AAAE,kBAAQ,EAAE,GAAG,CAAC;AAAhB,SAAd;AACH,OAHL,EAGO,KAHP,CAGa,aAAG,EAAG;AACX,eAAO,CAAC,KAAR,CAAc,GAAd,EAAmB,KAAnB;AACH,OALL;AAMH,KAVO;;AAaA,2BAAiB,UAAC,EAAD,EAAe;AACpC,YAAM,CAAC,IAAP,iEAAqE,EAArE,mBAAuF,EAAvF,EAA2F,+HAA3F;AACA,aAAO,KAAP;AACH,KAHO;;AAvBJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE;AADD,KAAb;AAFa;AAKhB;;;;wCAEgB;AACb,WAAK,WAAL;AACH;;;6BAsBY;AAAA;;AAAA,UACD,QADC,GACY,KAAK,KADjB,CACD,QADC;AAET,UAAM,UAAU,GAAyB;AACrC,oBAAY,EAAE,KADuB;AAErC,qBAAa,EAAE,CAFsB;AAGrC,sBAAc,EAAE,CAHqB;AAIrC,uBAAe,EAAE,EAJoB;AAKrC,uBAAe,EAAE,8BAAa,CAAb;AALoB,OAAzC;AAQA,UAAI,QAAQ,GAAG;AACX,iBAAS,EAAE,KADA;AAEX,gBAAQ,EAAE,IAFC;AAGX,YAAI,EAAE,KAHK;AAIX,oBAAY,EAAE,CAJH;AAKX,sBAAc,EAAE,CALL;AAMX,gBAAQ,EAAE,IANC;AAOX,uBAAe,EAAE,IAPN;AAQX,gBAAQ,EAAE,IARC;AASX,qBAAa,EAAE,IATJ;AAUX,oBAAY,EAAE,IAVH;AAWX,cAAM,EAAE;AAXG,OAAf;AAcA,aACI;AAAK,iBAAS,EAAE;AAAhB,SACI,oBAAC,4BAAD,EAAiB;AACb,iBAAS,EAAC,WADG;AAEb,YAAI,EAAC,kBAFQ;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAIC;AAAK,iBAAS,EAAC;AAAf,SAA8B,MAA9B,CAJD,EAI2C;AAAK,iBAAS,EAAC;AAAf,SAAyB,GAAzB,CAJ3C,EAI4E;AAAK,iBAAS,EAAC;AAAf,SAA6B,sCAA7B,CAJ5E,CADJ,EAQI,oBAAC,qBAAD,EAAO;AAAC,WAAG,EAAE,mBAAM;AAAA,iBAAK,MAAI,CAAC,MAAL,GAAc,MAAnB;AAAA;AAAZ,SAA4C,QAA5C,EAAoD;AAAE,iBAAS,EAAC;AAAZ,OAApD,CAAP,EACK,GAAG,CAAC,QAAD,EAAW,UAAC,IAAD,EAAO,KAAP;AAAA,eACX;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,EAAE,KAA/B;AAAsC,iBAAO,EAAE,+BAAgB;AAAA,mBAAM,IAAN;AAAA,WAAhB,GAA6B;AAAA,mBAAM,MAAI,CAAC,cAAL,CAAoB,IAAI,CAAC,EAAzB,CAAN;AAAA;AAA5E,WACI;AAAK,mBAAS,EAAC;AAAf,WAA2B,qDAAsC,IAAI,IAAJ,CAAS,IAAI,CAAC,QAAd,CAAtC,EAA+D;AAAE,kBAAQ,EAAE,IAAZ;AAAkB,kBAAQ,EAAE;AAA5B,SAA/D,CAA3B,CADJ,EAEI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADJ,CAFJ,CADW;AAAA,OAAX,CADR,CARJ,EAoBI,oBAAC,4BAAD,EAAiB;AACb,iBAAS,EAAC,YADG;AAEb,YAAI,EAAC,4CAFQ;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAG0B,iEAH1B,CApBJ,CADJ;AA6BH;;;;EAvFwC,KAAK,CAAC,S;;AACjC,yCAAiB,yBAAjB;AADlB,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;;AACA;;AACA;;IAEa,2B;;;;;AAAb;AAAA;;AAAA;;;;AAIY,kCAAwB,UAAC,MAAD,EAAmB;AAAA,UACxC,KADwC,GAC/B,MAAK,KAD0B,CACxC,KADwC;;AAE/C,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,WAAW,GAAG,MAAM,CAAC,QAAP,CAAgB,IAApC;;AAEA,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B,QAAQ,CAAC,KAAxC,EAA+C;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,gBAA9B,EAAgD,KAAhD,CAAN;AAAA,aAA/C,EAA6G,gBAA7G;AACA;;AAEJ,eAAK,IAAL;AACI,4CAAiB,WAAjB,EAA8B;AAAA,qBAAM,iCAAkB,SAAlB,EAA6B,gBAA7B,EAA+C,KAA/C,CAAN;AAAA,aAA9B,EAA2F,gBAA3F;AACA;;AACJ,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,gBAA9B,EAAgD,KAAhD,CAAN;AAAA,aAA/B;AACA;;AACJ,eAAK,IAAL;AACI,sDAAoB,iBAApB,CAAsC,WAAtC,EAAmD;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,gBAA9B,EAAgD,KAAhD,CAAN;AAAA,aAAnD,EAAiH,gBAAjH;AACA;;AAEJ,eAAK,QAAL;AACI,8CAAgB,aAAhB,CAA8B,QAAQ,CAAC,KAAvC,EAA8C,WAA9C,EAA2D,IAA3D,EAAiE;AAAA,qBAAM,iCAAkB,MAAlB,EAA0B,gBAA1B,EAA4C,KAA5C,CAAN;AAAA,aAAjE,EAA2H,gBAA3H;AACA;AAjBR;AAmBH;AACJ,KAzBO;;AAJZ;AA0CC;;;;6BAXgB;AAAA;;AACT,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,aAAK,EAAC,UAAX;AAAsB,iBAAS,EAAC,qBAAhC;AAAsD,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAP;AAAA;AAA/D,QADJ,EAEI;AAAK,aAAK,EAAC,SAAX;AAAqB,iBAAS,EAAC,oBAA/B;AAAoD,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAP;AAAA;AAA7D,QAFJ,EAGI;AAAK,aAAK,EAAC,UAAX;AAAsB,iBAAS,EAAC,qBAAhC;AAAsD,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAP;AAAA;AAA/D,QAHJ,EAII;AAAK,aAAK,EAAC,UAAX;AAAsB,iBAAS,EAAC,qBAAhC;AAAsD,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAP;AAAA;AAA/D,QAJJ,EAKI;AAAK,aAAK,EAAC,OAAX;AAAmB,iBAAS,EAAC,kBAA7B;AAAgD,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,QAA3B,CAAJ;AAAA;AAA1D,QALJ,CADJ;AASH;;;;EAzC4C,KAAK,CAAC,S;;AACrC,6CAAiB,6BAAjB;AADlB,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAKa,gB;;;;;AACT,4BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,0FAAM,KAAN;;AAKI,6BAAmB,UAAC,GAAD,EAAQ;AAC/B,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,GAAG,CAAC,MAAJ,CAAW;AAA7B,OAAd;AACH,KAFO;;AAIA,mBAAS,YAAK;AAAA,UACV,cADU,GACS,MAAK,KADd,CACV,cADU;AAAA,UAEjB,MAFiB,GAEP,MAAK,KAFE,CAEjB,MAFiB;;AAGlB,UAAI,cAAJ,EAAoB;AACjB;AACC,YAAI,OAAO,GAAG,EAAd;AACA,YAAI,SAAS,GAAG,EAAhB;AACA,YAAI,OAAO,GAAG,EAAd;AACA,YAAI,OAAO,GAAG,EAAd;;AACA,YAAI,CAAC,4BAAL,EAAoB;AAChB,iBAAO,aAAM,MAAN,6BAAP;AACA,mBAAS,GAAG,cAAZ;AACA,iBAAO,GAAG,sEAAV;AACA,iBAAO,GAAG,OAAO,GAAG,OAAV,GAAoB,SAA9B;AACA,kBAAQ,CAAC,IAAT,GAAgB,OAAhB;AAEH;AAEJ;AAEJ,KApBO;;AAsBA,gCAAsB,UAAC,GAAD,EAA6B;AACvD,UAAI,GAAG,CAAC,GAAJ,KAAY,OAAhB,EAAyB;AACrB,cAAK,MAAL;AACH;AAEJ,KALO;;AA9BJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE;AADP,KAAb;AAFa;AAKhB;;;;6BAkCK;AAAA,UACM,cADN,GACyB,KAAK,KAD9B,CACM,cADN;AAGF,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,iBAAS,EAAC,aADd;AAEI,YAAI,EAAC,MAFT;AAGI,UAAE,EAAC,aAHP;AAII,mBAAW,EAAC,QAJhB;AAKI,oBAAY,EAAC,KALjB;AAMI,iBAAS,EAAE,EANf;AAOI,kBAAU,EAAE,KAAK,mBAPrB;AAQI,gBAAQ,EAAE,KAAK,gBARnB;AASI,aAAK,EAAE;AATX,QADJ,EAWI;AAAM,iBAAS,EAAC,YAAhB;AAA6B,eAAO,EAAE,cAAc,CAAC,MAAf,GAAwB,CAAxB,GAA4B,KAAK,MAAjC,GAA0C;AAAhF,SACI;AAAK,iBAAS,EAAC,WAAf;AAA2B,WAAG,EAAC;AAA/B,QADJ,CAXJ,CADJ,CADJ;AAmBH;;;;EA9DiC,KAAK,CAAC,S;;AAA5C,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLA;;AAEA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAaa,e;;;;;AAET,2BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,yFAAM,KAAN;;AAOI,wBAAc,YAAK;AACvB,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAE,CAAC,MAAK,KAAL,CAAW,WAA3B;AAAwC,sBAAc,EAAE;AAAxD,OAAd;AACH,KAFO;;AANJ,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE,KADJ;AAET,oBAAc,EAAE;AAFP,KAAb;AAFa;AAMhB;;;;6BAMK;AAAA,wBACqD,KAAK,KAD1D;AAAA,UACM,SADN,eACM,SADN;AAAA,UACiB,KADjB,eACiB,KADjB;AAAA,UACwB,gBADxB,eACwB,gBADxB;AAAA,UAC0C,MAD1C,eAC0C,MAD1C;AAEF,aAEI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,mCAAD,EAAiB;AAAC,cAAM,EAAE;AAAT,OAAjB,CADJ,EAEI,oBAAC,2CAAD,EAA0B;AAAC,oBAAY,EAAE,KAAK,WAApB;AAAiC,gBAAQ,EAAE,KAAK,KAAL,CAAW;AAAtD,OAA1B,CAFJ,EAGI,oBAAC,6BAAD,EAAc;AAAC,iBAAS,EAAE,SAAZ;AAAuB,aAAK,EAAE,KAA9B;AAAqC,mBAAW,EAAE,KAAK,KAAL,CAAW,WAA7D;AAA0E,wBAAgB,EAAE;AAA5F,OAAd,CAHJ,CAFJ;AAUH;;;;EA1BgC,KAAK,CAAC,S;;AACzB,iCAAiB,iBAAjB;AADlB,0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;;AAEA;;AACA;;IAuBa,a;;;;;AACT,yBAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,uFAAM,KAAN;;AAGI,iCAAuB,YAAK;AAChC,YAAM,aAAN,IAAuB,MAAM,aAAN,QAAvB,IAAsD,MAAM,aAAN,SAA4B,QAA5B,EAAtD;AACA,YAAM,aAAN,IAAyB,MAAM,aAAN,CAAoB,WAApB,EAAzB;AACH,KAHO;;AAJS;AAGhB;;;;6BAKK;AAAA,wBAC0D,KAAK,KAD/D;AAAA,UACM,SADN,eACM,SADN;AAAA,UACiB,KADjB,eACiB,KADjB;AAAA,UACwB,WADxB,eACwB,WADxB;AAAA,UACqC,gBADrC,eACqC,gBADrC;AAEF,UAAI,KAAK,GAAG,KAAK,GAAG;AAAE,aAAK,YAAK,KAAL;AAAP,OAAH,GAA6B,EAA9C;AACA,UAAM,MAAM,GAAG,WAAW,GAAG,QAAH,GAAc,EAAxC;AACA,aAEI;AAAK,iBAAS,4CAAqC,MAArC,CAAd;AAA6D,aAAK,EAAE;AAApE,SACI;AAAI,iBAAS,EAAC;AAAd,SACK,GAAG,CAAC,SAAD,EAAY,UAAC,IAAD,EAAO,CAAP;AAAA,eACZ;AAAI,aAAG,EAAE,CAAT;AAAY,mBAAS,EAAC;AAAtB,WACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC,UAAnC;AAA+C,eAAK,EAAE;AAAE,iBAAK,EAAE,IAAI,CAAC,KAAd;AAAqB,sBAAU,EAAE,IAAI,CAAC;AAAtC;AAAtD,SAAjB,EACI;AAAM,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA/B,UADJ,CADJ,CADY;AAAA,OAAZ,CADR,CADJ,EAUI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,GAAG,CAAC,gBAAD,EAAmB,UAAC,IAAD,EAAO,CAAP;AAAA,eACnB,oBAAC,8BAAD,EAAmB;AAAC,cAAI,EAAE,IAAI,CAAC,GAAZ;AAAiB,eAAK,EAAE,IAAI,CAAC,KAA7B;AAAoC,mBAAS,cAA7C;AAA6D,aAAG,EAAE;AAAlE,SAAnB,EACI;AAAM,mBAAS,iBAAU,IAAI,CAAC,IAAf;AAAf,UADJ,EAEI;AAAM,mBAAS,4BAAqB,IAAI,CAAC,IAA1B;AAAf,WAAkD,IAAI,CAAC,KAAvD,CAFJ,CADmB;AAAA,OAAnB,CADR,EAOI;AAAM,UAAE,EAAC,yBAAT;AAAmC,iBAAS,EAAC;AAA7C,SACI;AAAK,iBAAS,cAAd;AAA8B,UAAE,EAAC,cAAjC;AAAgD,aAAK,EAAC,6CAAtD;AAAiE,iBAAS,EAAC,GAA3E;AAA8E,2BAAiB,eAA/F;AAA+G,YAAI,EAAC,QAApH;AACI,eAAO,EAAE,KAAK;AADlB,SAEI;AAAK,iBAAS;AAAd,QAFJ,EAGI;AAAM,iBAAS,EAAC;AAAhB,SAAiC,eAAjC,CAHJ,CADJ,CAPJ,CADJ,CAVJ,CAFJ;AAgCH;;;;EA7C8B,KAAK,CAAC,S;;AAAzC,sC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;;AACA;;IAca,+B;;;;;AAET,2CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,yGAAM,KAAN;;AAOJ,8BAAoB,YAAK;AACrB,YAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,MAAK,YAAvC;AACH,KAFD;;AAGA,iCAAuB,YAAK;AACxB,YAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,MAAK,YAA1C;AACH,KAFD;;AAGA,6BAAmB,YAAK;AACpB,UAAI,MAAK,KAAL,CAAW,WAAf,EAA4B;AACxB,gBAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,QAA/B;AACH,OAFD,MAEO;AACH,gBAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,OAA/B;AACH;AACJ,KAND;;AAQA,yBAAe,YAAK;AAAA,UACR,aADQ,GACU,MAAK,KADf,CACR,aADQ;AAEhB,UAAM,gBAAgB,GAAG,MAAM,CAAC,WAAhC;AACA,UAAM,EAAE,GAAG,QAAQ,CAAC,aAAT,CAAuB,8BAAvB,CAAX;;AACA,UAAI,gBAAgB,IAAI,EAAxB,EAA4B;AACxB,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;;AACA,UAAE,CAAC,SAAH,CAAa,MAAb,CAAoB,YAApB;AACH,OAHD,MAGO,IAAI,aAAa,GAAG,gBAApB,EAAsC;AACzC,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;;AACA,UAAE,CAAC,SAAH,CAAa,GAAb,CAAiB,YAAjB;AACH,OAHM,MAGA;AACH,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;;AACA,UAAE,CAAC,SAAH,CAAa,MAAb,CAAoB,YAApB;AACH;AACJ,KAdD;;AAeQ,wBAAc,YAAK;AACvB,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAE,CAAC,MAAK,KAAL,CAAW,WAA3B;AAAwC,sBAAc,EAAE;AAAxD,OAAd,EAA+E,MAAK,gBAApF;AACH,KAFO;;AAnCJ,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE,KADJ;AAET,oBAAc,EAAE,KAFP;AAGT,mBAAa,EAAE;AAHN,KAAb;AAFa;AAOhB;;;;6BAiCK;AAAA,wBACmF,KAAK,KADxF;AAAA,UACM,SADN,eACM,SADN;AAAA,UACiB,gBADjB,eACiB,gBADjB;AAAA,UACmC,UADnC,eACmC,UADnC;AAAA,UAC+C,YAD/C,eAC+C,YAD/C;AAAA,UAC6D,iBAD7D,eAC6D,iBAD7D;AAAA,UAEM,WAFN,GAEsB,KAAK,KAF3B,CAEM,WAFN;AAGF,UAAM,UAAU,GAAG,UAAU,KAAK,MAAlC;AACA,UAAM,YAAY,GAAG,UAAU,GAAG,iBAAiB,CAAC,MAAlB,CAAyB,cAAI;AAAA,eAAI,IAAI,CAAC,IAAL,KAAc,iBAAlB;AAAA,OAA7B,EAAkE,CAAlE,EAAqE,KAArE,CAAH,GAAiF,iBAAiB,CAAC,MAAlB,CAAyB,cAAI;AAAA,eAAI,IAAI,CAAC,IAAL,KAAc,MAAlB;AAAA,OAA7B,EAAuD,CAAvD,EAA0D,KAA1D,CAAhH;AACA,UAAM,YAAY,GAAG,UAAU,GAAG,iBAAiB,CAAC,MAAlB,CAAyB,cAAI;AAAA,eAAI,IAAI,CAAC,IAAL,KAAc,MAAlB;AAAA,OAA7B,EAAuD,CAAvD,EAA0D,KAA1D,CAAH,GAAsE,qBAArG;AAEA,UAAM,eAAe,GAAG;AACpB,eAAO,EAAE,OADW;AAEpB,gBAAQ,EAAE,UAFU;AAGpB,WAAG,EAAE,MAHe;AAIpB,aAAK,EAAE,MAJa;AAKpB,cAAM,EAAE,OALY;AAMpB,YAAI,EAAE,CANc;AAOpB,sBAAc,EAAE,6BAPI;AAQpB,4BAAoB,EAAE;AARF,OAAxB;AAWA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,YAAP;AAAqB,iBAAS,EAAC;AAA/B,OAAnB,EACK,UAAU,GACP;AAAM,iBAAS,EAAC;AAAhB,SAA2B,MAA3B,CADO,GAEP;AAAK,iBAAS,EAAC;AAAf,QAHR,CADJ,EAOI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,YAAP;AAAqB,iBAAS,EAAC;AAA/B,OAAnB,EACK,UAAU,GACP;AAAK,iBAAS,EAAC;AAAf,QADO,GAEP;AAAM,iBAAS,EAAC;AAAhB,SAA6B,YAA7B,CAHR,CAPJ,EAaI;AAAQ,iBAAS,EAAC,gBAAlB;AAAmC,eAAO,EAAE,KAAK;AAAjD,QAbJ,EAcI;AAAK,iBAAS,EAAC,YAAf;AAA4B,aAAK,EAAE,WAAW,GAAG,eAAH,GAAqB;AAAnE,QAdJ,EAeI,oBAAC,6BAAD,EAAc;AAAC,iBAAS,EAAE,SAAZ;AAAuB,mBAAW,EAAE,WAApC;AAAiD,wBAAgB,EAAE;AAAnE,OAAd,CAfJ,CADJ;AAoBH;;;;EAhFgD,KAAK,CAAC,S;;AACzC,iDAAiB,iCAAjB;AADlB,0E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;;AAEA;;IAUa,sC;;;;;;;;;;;;;6BACH;AAAA,wBACuC,KAAK,KAD5C;AAAA,UACE,IADF,eACE,IADF;AAAA,UACO,QADP,eACO,QADP;AAAA,UACgB,KADhB,eACgB,KADhB;AAAA,UACsB,OADtB,eACsB,OADtB;AAAA,UAC8B,KAD9B,eAC8B,KAD9B;AAEG,aACD,0CACA;AAAK,iBAAS,EAAC,MAAf;AAAsB,aAAK,EAAG,QAAQ,CAAC,MAAT,GAAkB,CAAlB,KAAwB,KAAzB,GAAkC;AAAE,gBAAM,EAAE;AAAV,SAAlC,GAAwD;AAArF,SACA;AAAM,iBAAS,EAAC;AAAhB,SAAoC,4DAAmB,IAAI,IAAJ,EAAnB,EAA+B,IAAI,IAAJ,CAAS,IAAI,CAAC,iBAAd,CAA/B,EAAiE,OAAjE,IAC5B,2DAAkB,IAAI,IAAJ,CAAS,IAAI,CAAC,iBAAd,CAAlB,CAD4B,GAC0B,2DAAkB,IAAI,IAAJ,CAAS,IAAI,CAAC,iBAAd,CAAlB,CAD9D,CADA,EAGI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,IAAI,CAAC,aAAZ;AAA2B,iBAAS,EAAC,WAArC;AAAiD,aAAK,EAAC;AAAvD,OAAnB,EAA8E,IAAI,CAAC,KAAnF,CADJ,EAEK,IAAI,CAAC,QAAL,IAAiB;AAAK,iBAAS,EAAC,0BAAf;AAA0C,WAAG,sDAA+C,KAAK,GAAC,KAAD,GAAO,EAA3D;AAA7C,QAFtB,EAGI,oBAAC,8BAAD,EAAmB;AAAC,iBAAS,EAAC,UAAX;AAAsB,YAAI,EAAE,IAAI,CAAC,QAAL,CAAc;AAA1C,OAAnB,E,GAAA,EAA8E,IAAI,CAAC,QAAL,CAAc,UAA5F,EAA6H,GAA7H,CAHJ,CAHJ,EASI,oBAAC,8BAAD,EAAmB;AAAC,iBAAS,EAAC,iCAAX;AAA6C,YAAI,EAAE,IAAI,CAAC;AAAxD,OAAnB,EACI;AAAK,iBAAS,EAAC;AAAf,SACK,2DAAkB,IAAI,IAAJ,EAAlB,EAA8B,IAAI,IAAJ,CAAS,IAAI,CAAC,iBAAd,CAA9B,IACG,2DAAkB,IAAI,IAAJ,CAAS,IAAI,CAAC,iBAAd,CAAlB,CADH,GACyD,2DAAkB,IAAI,IAAJ,CAAS,IAAI,CAAC,iBAAd,CAAlB,EAAoD,SAApD,CAA8D,CAA9D,EAAiE,CAAjE,CAF9D,CADJ,EAKI;AAAM,iBAAS,EAAC;AAAhB,SAA6B,IAAI,CAAC,KAAlC,CALJ,CATJ,CADA,CADC;AAsBR;;;;EAzBuD,KAAK,CAAC,S;;AAAlE,wF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;;AAEA;;AACA;;AACA;;AACA;;AAEA;;AAsBA,IAAK,eAAL;;AAAA,WAAK,eAAL,EAAoB;AAChB;AACA;AACH,CAHD,EAAK,eAAe,KAAf,eAAe,MAApB;;AAGC;;IAaY,sC;;;;;AAET,kDAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,gHAAM,KAAN;;AA8BI,6BAAmB,UAAC,UAAD,EAAe;AACtC,YAAK,iBAAL;;AACA,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAE;AAAf,OAAd;AACH,KAHO;;AAIA,8BAAoB,YAAK;AAC7B,YAAK,QAAL,CAAc;AACV,4BAAoB,EAAE,CAAC,MAAK,KAAL,CAAW,oBADxB;AAEV,yBAAiB,EAAG,MAAK,KAAL,CAAW,iBAAX,IAAgC,CAAC,MAAK,KAAL,CAAW,oBAA7C,GAAqE,KAArE,GAA6E,MAAK,KAAL,CAAW;AAFjG,OAAd;AAIH,KALO;;AAMA,2BAAiB,YAAK;AAC1B,YAAK,QAAL,CAAc;AACV,yBAAiB,EAAE,CAAC,MAAK,KAAL,CAAW,iBADrB;AAEV,4BAAoB,EAAG,MAAK,KAAL,CAAW,oBAAX,IAAmC,CAAC,MAAK,KAAL,CAAW,iBAAhD,GAAqE,KAArE,GAA6E,MAAK,KAAL,CAAW;AAFpG,OAAd;AAKH,KANO;;AAOA,2BAAiB,UAAC,GAAD,EAAwB;AAAA,UAAlB,SAAkB,uEAAN,EAAM;;AAC7C,UAAI,SAAS,CAAC,UAAD,CAAb,EAA2B;AACvB;AACH,OAFD,MAEO;AACH,cAAK,QAAL,CAAc;AACV,mBAAS,EAAE,GAAG,GAAG,GAAH,GAAS,EADb;AAEV,0BAAgB,EAAE,IAFR;AAGV,kBAAQ,EAAE;AAHA,SAAd;;AAKA,cAAK,cAAL;AACH;AACJ,KAXO;;AAYA,6BAAmB,YAAK;AAC5B,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE,MAAK,KAAL,CAAW,QAAX,GAAsB;AAAlC,OAAd;AACH,KAFO;;AAGA,wBAAc,YAAK;AAAA,wBACqB,MAAK,KAD1B;AAAA,UACf,aADe,eACf,aADe;AAAA,UACA,gBADA,eACA,gBADA;AAAA,wBAEmE,MAAK,KAFxE;AAAA,UAEf,WAFe,eAEf,WAFe;AAAA,UAEF,IAFE,eAEF,IAFE;AAAA,UAEI,QAFJ,eAEI,QAFJ;AAAA,UAEc,SAFd,eAEc,SAFd;AAAA,UAEyB,QAFzB,eAEyB,QAFzB;AAAA,UAEmC,gBAFnC,eAEmC,gBAFnC;AAAA,UAEqD,SAFrD,eAEqD,SAFrD;AAGvB,UAAM,gBAAgB,GAAG,MAAM,CAAC,SAAD,CAA/B;AACA,UAAM,uBAAuB,GAAG,MAAM,CAAC,gBAAD,CAAtC;AACA,UAAI,gBAAJ;;AAEA,UAAI,gBAAgB,IAAI,SAAxB,EAAmC;AAC/B,wBAAgB,GAAG,6BAAW,IAAI,IAAJ,CAAS,SAAT,CAAX,EAA+B,YAA/B,CAAnB;AACH,OAFD,MAEK;AACD,wBAAgB,GAAG,6BAAW,IAAI,IAAJ,EAAX,EAAsB,YAAtB,CAAnB;AACH;;AACD,WAAK,CAAC,GAAN,mDAAqD,WAAW,CAAC,EAAjE,cAAuE,aAAvE,cAAwF,uBAAxF,cAAmH,gBAAnH,cAAuI,QAAvI,cAAmJ,gBAAnJ,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,YAAM,eAAe,GAAG,GAAG,CAAC,IAAJ,CAAS,IAAjC;;AACA,cAAK,QAAL,CAAc;AACV,kBAAQ,EAAG,QAAQ,GAAG,CAAZ,gCAAqB,QAArB,sBAAkC,eAAlC,KAAqD,eADrD;AAEV,oBAAU,EAAG,eAAe,CAAC,MAAhB,GAAyB,aAA1B,GAA2C,KAA3C,GAAmD;AAFrD,SAAd,EAGE;AAAA,iBAAI,MAAK,YAAL,EAAJ;AAAA,SAHF;AAIH,OAPL,EAQK,KARL,CAQW,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,OARd;AASH,KArBO;;AAsBA,+BAAqB,UAAC,QAAD,EAAW,KAAX,EAAoB;AAC7C,aAAO,IAAI,IAAJ,CAAS,IAAI,IAAJ,GAAW,OAAX,CAAmB,QAAQ,CAAC,OAAT,KAAqB,KAAxC,CAAT,CAAP;AACH,KAFO;;AAIA,0BAAgB,UAAC,KAAD,EAAU;AAC9B,UAAM,WAAW,GAAG,KAAK,CAAC,MAAN,CAAa,YAAb,CAA0B,YAA1B,CAApB;AACA,UAAM,WAAW,GAAG,WAAW,KAAK,eAAe,CAAC,MAApD;;AACA,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,WAApB;AAAiC,iBAAS,EAAE;AAA5C,OAAd;AACH,KAJO;;AAMA,yBAAa,YAAI;AACrB,UAAI,MAAM,CAAC,SAAP,IAAoB,MAAM,CAAC,wBAA3B,IAAuD,MAAM,CAAC,wBAAP,CAAgC,YAAhC,CAA6C,eAA7C,CAA3D,EAAyH;AACrH,cAAM,CAAC,SAAP,CAAiB,GAAjB,CAAqB,IAArB,CAA0B;AAAa,gBAAM,CAAC,SAAP,CAAiB,MAAjB,GAA0B,OAA1B,CAAkC,CAAC,MAAM,CAAC,wBAAP,CAAgC,YAAhC,CAA6C,eAA7C,CAAD,CAAlC;AAAqG,SAA5I;AACH;AACJ,KAJO;;AAMA,4BAAgB,UAAC,IAAD,EAAa;AAC7B,aAAO,IAAI,CAAC,kBAAL,CAAwB,MAAK,KAAL,CAAW,KAAX,GAAiB,OAAjB,GAAyB,IAAjD,EAAuD;AAAE,eAAO,EAAE;AAAX,OAAvD,CAAP;AACP,KAFO;;AAnGJ,UAAK,cAAL,GAAsB,MAAK,cAAL,CAAoB,IAApB,+BAAtB;AAFa,QAGL,KAHK,GAGK,MAAK,KAHV,CAGL,KAHK;AAKb,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE,KAAK,GAAG;AAAE,mBAAW,EAAE,OAAf;AAAwB,UAAE,EAAE;AAA5B,OAAH,GAA0C;AAAE,mBAAW,EAAE,YAAf;AAA6B,UAAE,EAAE;AAAjC,OADnD;AAET,0BAAoB,EAAE,KAFb;AAGT,uBAAiB,EAAE,KAHV;AAIT,cAAQ,EAAE,CAJD;AAKT,eAAS,EAAE,EALF;AAMT,UAAI,EAAE,UANG;AAOT,cAAQ,EAAE,EAPD;AAQT,gBAAU,EAAE,KARH;AAST,sBAAgB,EAAE,KATT;AAUT,eAAS,EAAE,KAVF;AAWT,cAAQ,EAAE,IAAI,IAAJ,EAXD;AAYT,sBAAgB,EAAE,eAAe,CAAC;AAZzB,KAAb;AALa;AAmBhB;;;;wCACgB;AACb,WAAK,WAAL;AACH;;;uCACkB,S,EAAW,S,EAAS;AACnC,UAAI,KAAK,KAAL,CAAW,SAAX,KAAyB,SAAS,CAAC,SAAnC,IACA,KAAK,KAAL,CAAW,QAAX,KAAwB,SAAS,CAAC,QADlC,IAEA,KAAK,KAAL,CAAW,WAAX,KAA2B,SAAS,CAAC,WAFrC,IAGA,KAAK,KAAL,CAAW,SAAX,KAAyB,SAAS,CAAC,SAHvC,EAGkD;AAC9C,aAAK,WAAL;AACH;AACJ;;;6BA4EK;AAAA,yBAC8B,KAAK,KADnC;AAAA,UACM,YADN,gBACM,YADN;AAAA,UACoB,KADpB,gBACoB,KADpB;AAAA,yBAE4H,KAAK,KAFjI;AAAA,UAEM,WAFN,gBAEM,WAFN;AAAA,UAEmB,oBAFnB,gBAEmB,oBAFnB;AAAA,UAEyC,SAFzC,gBAEyC,SAFzC;AAAA,UAEoD,QAFpD,gBAEoD,QAFpD;AAAA,UAE8D,iBAF9D,gBAE8D,iBAF9D;AAAA,UAEiF,UAFjF,gBAEiF,UAFjF;AAAA,UAE6F,QAF7F,gBAE6F,QAF7F;AAAA,UAEuG,gBAFvG,gBAEuG,gBAFvG;AAGF,UAAI,QAAQ,GAAiD,IAAI,GAAJ,EAA7D;AACA,UAAM,OAAO,GAAG,QAAQ,CAAC,MAAT,EAAhB;AACA,cAAQ,CAAC,GAAT,CAAa,SAAb,EAAwB;AAAE,YAAI,EAAE,KAAK,GAAC,eAAD,GAAiB,WAA9B;AAA2C,YAAI,EAAE;AAAjD,OAAxB;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAAO,GAAG,CAA9B,EAAiC,CAAC,EAAlC,EAAsC;AAClC,YAAI,CAAC,GAAG,OAAR,EAAiB;AACb,kBAAQ,CAAC,GAAT,CAAa,iBAAiB,CAAC,KAAK,kBAAL,CAAwB,QAAxB,EAAkC,CAAlC,CAAD,CAA9B,EAAsE;AAAE,gBAAI,EAAE,KAAK,GAAC,eAAD,GAAiB,WAA9B;AAA2C,gBAAI,EAAE;AAAjD,WAAtE;AACH,SAFD,MAEO;AACH,kBAAQ,CAAR;AACI,iBAAK,CAAL;AACI,sBAAQ,CAAC,GAAT,CAAa,iBAAiB,CAAC,QAAD,CAA9B,EAA0C;AAAE,oBAAI,YAAK,KAAK,eAAL,CAAqB,QAArB,CAAL,cAAuC,iBAAiB,CAAC,QAAD,CAAxD,eAAuE,KAAK,GAAC,OAAD,GAAS,MAArF,MAAN;AAAsG,oBAAI,EAAE;AAA5G,eAA1C;AACA;;AACJ,iBAAK,CAAL;AACI,sBAAQ,CAAC,GAAT,CAAa,iBAAiB,CAAC,KAAK,kBAAL,CAAwB,QAAxB,EAAkC,CAAlC,CAAD,CAA9B,EAAsE;AAAE,oBAAI,YAAK,KAAK,eAAL,CAAqB,KAAK,kBAAL,CAAwB,QAAxB,EAAiC,CAAjC,CAArB,CAAL,cAAkE,iBAAiB,CAAC,KAAK,kBAAL,CAAwB,QAAxB,EAAkC,CAAlC,CAAD,CAAnF,eAA8H,KAAK,GAAC,WAAD,GAAa,OAAhJ,MAAN;AAAkK,oBAAI,EAAE;AAAxK,eAAtE;AACA;;AACJ,iBAAK,CAAL;AACI,sBAAQ,CAAC,GAAT,CAAa,iBAAiB,CAAC,KAAK,kBAAL,CAAwB,QAAxB,EAAkC,CAAlC,CAAD,CAA9B,EAAqE;AAAE,oBAAI,YAAK,KAAK,eAAL,CAAqB,KAAK,kBAAL,CAAwB,QAAxB,EAAiC,CAAjC,CAArB,CAAL,cAAkE,iBAAiB,CAAC,KAAK,kBAAL,CAAwB,QAAxB,EAAkC,CAAlC,CAAD,CAAnF,eAA8H,KAAK,GAAC,cAAD,GAAgB,QAAnJ,MAAN;AAAsK,oBAAI,EAAE;AAA5K,eAArE;AACA;;AACJ;AACI,sBAAQ,CAAC,GAAT,CAAa,iBAAiB,CAAC,KAAK,kBAAL,CAAwB,QAAxB,EAAkC,CAAlC,CAAD,CAA9B,EAAqE;AAAE,oBAAI,YAAK,KAAK,eAAL,CAAqB,KAAK,kBAAL,CAAwB,QAAxB,EAAiC,CAAjC,CAArB,CAAL,cAAkE,iBAAiB,CAAC,KAAK,kBAAL,CAAwB,QAAxB,EAAkC,CAAlC,CAAD,CAAnF,eAA8H,CAA9H,cAAmI,KAAK,GAAC,UAAD,GAAY,WAApJ,MAAN;AAA0K,oBAAI,EAAE;AAAhL,eAArE;AACA;AAZR;AAcH;AACJ;;AACD,UAAM,oBAAoB,GAAG;AACzB,uBAAe,EAAE,IADQ;AAEzB,aAAK,EAAE,IAAI,IAAJ,EAFkB;AAGzB,eAAO,EAAE,IAAI,IAAJ,EAHgB;AAIzB,kBAAU,EAAE,IAJa;AAKzB,oBAAY,EAAE,CACV;AACI,eAAK,EAAE,IAAI,IAAJ,CAAS,IAAI,IAAJ,GAAW,OAAX,CAAmB,IAAI,IAAJ,GAAW,OAAX,EAAnB,CAAT;AADX,SADU;AALW,OAA7B;AAYA,UAAM,cAAc,GAAG,EAAvB;AACA,cAAQ,CAAC,OAAT,CAAiB,UAAC,IAAD,EAAO,KAAP,EAAgB;AAE7B,YAAG,CAAC,KAAJ,EAAU;AACN,cAAI,KAAK,IAAI,CAAb,EAAgB;AACZ,0BAAc,CAAC,IAAf,CAAoB;AAAK,uBAAS,EAAC,eAAf;AAA+B,iBAAG,EAAC,KAAnC;AAAyC,gBAAE,EAAC;AAA5C,cAApB;AACH;;AACD,cAAI,KAAK,IAAI,CAAb,EAAgB;AACZ,0BAAc,CAAC,IAAf,CAAoB;AAAK,iBAAG,EAAC,SAAT;AAAmB,uBAAS,EAAC;AAA7B,e,GAAA,EAAqC,oBAAC,qCAAD,EAAkB;AAAC,uBAAS,EAAC,gCAAX;AAA4C,kBAAI,EAAC,cAAjD;AAAgE,uBAAS,EAAC,wBAA1E;AAAmG,yBAAW,EAAC;AAA/G,aAAlB,CAArC,CAApB;AACH;AACJ;;AAED,YAAI,UAAU,GAAG,IAAjB;AACA,YAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,IAAJ,CAAS,IAAI,CAAC,iBAAd,CAAD,CAApC;AACA,YAAM,cAAc,GAAG,QAAQ,CAAC,GAAT,CAAa,UAAb,CAAvB;;AACA,YAAI,CAAC,cAAD,IAAmB,CAAC,QAAQ,CAAC,GAAT,CAAa,SAAb,EAAwB,IAAhD,EAAsD;AAClD,oBAAU,GAAG;AAAK,qBAAS,EAAC,WAAf;AAA2B,eAAG,EAAE;AAAhC,aAA6C,QAAQ,CAAC,GAAT,CAAa,SAAb,EAAwB,IAArE,CAAb;AACA,kBAAQ,CAAC,GAAT,CAAa,SAAb,EAAwB,IAAxB,GAA+B,IAA/B;AACH;;AAED,YAAI,cAAc,IAAI,CAAC,cAAc,CAAC,IAAtC,EAA4C;AACxC,oBAAU,GAAG;AAAK,qBAAS,EAAC,WAAf;AAA2B,eAAG,EAAE;AAAhC,aAA6C,cAAc,CAAC,IAA5D,CAAb;AACA,wBAAc,CAAC,IAAf,GAAsB,IAAtB;AACH;;AAED,sBAAc,CAAC,IAAf,CACI;AAAK,aAAG,EAAE,IAAI,CAAC;AAAf,WACK,UADL,EAEI,oBAAC,qEAAD,EAAuC;AACnC,iBAAO,EAAE,OAD0B;AAEnC,eAAK,EAAE,KAF4B;AAGnC,cAAI,EAAE,IAH6B;AAInC,eAAK,EAAE,KAJ4B;AAKnC,kBAAQ,EAAE;AALyB,SAAvC,CAFJ,CADJ;AAYH,OApCD;AAwCA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,KAAK,KAAL,CAAW,KAAZ,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAA,sBAAkB,eAAe,CAAC,QAAlC;AAA4C,eAAO,EAAE,KAAK,aAA1D;AAAyE,iBAAS,gBAAS,gBAAgB,KAAK,eAAe,CAAC,QAArC,GAAgD,QAAhD,GAA2D,EAApE;AAAlF,SAA0J,gCAA1J,CADJ,EAEI;AAAA,sBAAkB,eAAe,CAAC,MAAlC;AAA0C,eAAO,EAAE,KAAK,aAAxD;AAAuE,iBAAS,gBAAS,gBAAgB,KAAK,eAAe,CAAC,MAArC,GAA8C,QAA9C,GAAyD,EAAlE;AAAhF,SAAsJ,gCAAtJ,CAFJ,CAFR,EAOI,oBAAC,mCAAD,EAAiB;AAAC,yBAAiB,EAAE,KAAK,iBAAzB;AAA4C,mBAAW,EAAE,WAAzD;AACb,4BAAoB,EAAE,oBADT;AAC+B,oBAAY,EAAE,YAD7C;AAC2D,wBAAgB,EAAE,KAAK,gBADlF;AACoG,aAAK,EAAE;AAD3G,OAAjB,CAPJ,EASI,oBAAC,yCAAD,EAAoB;AAAC,sBAAc,EAAE,KAAK,cAAtB;AAAsC,iBAAS,EAAE,SAAjD;AAChB,yBAAiB,EAAE,iBADH;AACsB,sBAAc,EAAE,KAAK,cAD3C;AAEhB,4BAAoB,EAAE,oBAFN;AAE4B,aAAK,EAAE;AAFnC,OAApB,CATJ,CADJ,EAgBI;AAAK,iBAAS,EAAC;AAAf,SAEQ,cAFR,EAII;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,gBAAlB;AAAmC,gBAAQ,EAAE,CAAC,UAAD,IAAe,QAAQ,CAAC,MAAT,KAAoB,CAAhF;AAAmF,eAAO,EAAE,KAAK;AAAjG,SAAoH,KAAK,GAAC,WAAD,GAAa,SAAtI,CADJ,CAJJ,CAhBJ,CADJ;AA6BH;;;;EAxNuD,KAAK,CAAC,S;;AAChD,wDAAiB,wCAAjB;AADlB;;AA2NA,SAAgB,iBAAhB,CAAkC,IAAlC,EAA4C;AACxC,mBAAU,SAAS,CAAC,IAAI,CAAC,OAAL,EAAD,CAAnB,cAAuC,SAAS,CAAC,IAAI,CAAC,QAAL,KAAkB,CAAnB,CAAhD,cAAyE,IAAI,CAAC,WAAL,GAAmB,QAAnB,GAA8B,MAA9B,CAAqC,CAAC,CAAtC,CAAzE;AAEH;;AAHD;;AAIA,SAAgB,iBAAhB,CAAkC,IAAlC,EAA4C;AACxC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,UAAL,EAAD,CAAzB;AACA,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,QAAL,EAAD,CAAvB;AACA,mBAAU,KAAV,cAAmB,OAAnB;AAEH;;AALD;;AAMA,SAAgB,iBAAhB,CAAkC,KAAlC,EAA+C,MAA/C,EAA2D;AACvD,SAAO,KAAK,CAAC,WAAN,OAAwB,MAAM,CAAC,WAAP,EAAxB,IACH,KAAK,CAAC,QAAN,OAAqB,MAAM,CAAC,QAAP,EADlB,IAEH,KAAK,CAAC,OAAN,OAAoB,MAAM,CAAC,OAAP,EAFxB;AAGH;;AAJD;;AAKA,SAAS,SAAT,CAAmB,GAAnB,EAA8B;AAC1B,MAAM,UAAU,GAAG,GAAG,GAAG,EAAN,GAAW,MAAM,GAAjB,GAAuB,GAA1C;AACA,SAAO,UAAP;AACH;;AACD,SAAgB,kBAAhB,CAAmC,KAAnC,EAAgD,MAAhD,EAA8D,YAA9D,EAAkF;AAC9E,MAAM,MAAM,GAAG,OAAO,EAAP,GAAY,EAAZ,GAAiB,EAAhC;AACA,MAAM,UAAU,GAAG,MAAM,CAAC,OAAP,KAAmB,KAAK,CAAC,OAAN,EAAtC;AACA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAL,CAAW,UAAU,GAAG,MAAxB,CAAnB;AACA,SAAO,UAAU,IAAI,CAAC,YAAtB;AACH;;AALD,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1RA;;AACA;;AACA;;AACA;;AACA;;IAqBa,gB;;;;;AAAb;AAAA;;AAAA;;;;AAGY,oBAAU,UAAC,QAAD,EAAsB;AACpC,UAAI,QAAJ,EAAc,OAAO,OAAP,CAAd,KACK,OAAO,MAAP;AACR,KAHO;;AAIA,qBAAW,YAAc;AAAA,UACrB,OADqB,GACT,MAAK,KADI,CACrB,OADqB;AAE7B,UAAM,oBAAoB,GAAG,IAAI,IAAJ,CAAS,OAAO,CAAC,WAAjB,CAA7B;AACA,UAAM,aAAa,GAAG,qCAAiB,oBAAjB,CAAtB;AACA,aAAO,aAAa,GAAG,CAAvB;AACH,KALO;;AAPZ;AA0DC;;;;6BA5CgB;AAAA,wBACyB,KAAK,KAD9B;AAAA,UACD,OADC,eACD,OADC;AAAA,UACQ,KADR,eACQ,KADR;AAAA,UACe,KADf,eACe,KADf;AAAA,UAED,UAFC,GAE6F,OAF7F,CAED,UAFC;AAAA,UAEW,MAFX,GAE6F,OAF7F,CAEW,MAFX;AAAA,UAEmB,OAFnB,GAE6F,OAF7F,CAEmB,OAFnB;AAAA,UAE4B,KAF5B,GAE6F,OAF7F,CAE4B,KAF5B;AAAA,UAEmC,SAFnC,GAE6F,OAF7F,CAEmC,SAFnC;AAAA,UAE8C,IAF9C,GAE6F,OAF7F,CAE8C,IAF9C;AAAA,UAEoD,aAFpD,GAE6F,OAF7F,CAEoD,aAFpD;AAAA,UAEmE,QAFnE,GAE6F,OAF7F,CAEmE,QAFnE;AAAA,UAE6E,WAF7E,GAE6F,OAF7F,CAE6E,WAF7E;AAGT,UAAM,SAAS,GAAI,CAAC,KAAK,QAAL,EAAD,IAAoB,CAAC,KAAtB,GAA+B;AAAE,aAAK,EAAE;AAAT,OAA/B,GAAsD,EAAxE;AACA,aACI;AAAK,iBAAS,EAAC,UAAf;AAAyB,+BAAsB;AAA/C,SACI;AAAK,iBAAS,EAAC;AAAf,SAA+B,KAAK,GAAG,CAAvC,EAAyC;AAAM,iBAAS,EAAC;AAAhB,SAA2B,GAA3B,CAAzC,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,YAAI,EAAE;AAAT,SACI;AAAK,WAAG,EAAE,IAAV;AACI,WAAG,EAAE,OADT;AAEI,aAAK,EAAE,OAFX;AAGI,aAAK,EAAE;AAAE,eAAK,EAAE,GAAT;AAAc,gBAAM,EAAE;AAAtB,SAHX;AAII,iBAAS,EAAC;AAJd,QADJ,CADJ,CADJ,EAWI,oBAAC,iCAAD,EAAgB;AAAC,cAAM,EAAE,EAAT;AAAa,YAAI,EAAE,KAAK,OAAL,CAAa,QAAb,CAAnB;AAA2C,qBAAa,EAAC,QAAzD;AAAkE,qBAAa,EAAE;AAAjF,OAAhB,CAXJ,EAYI,oBAAC,uCAAD,EAAmB;AAAC,WAAG,EAAE,aAAN;AAAqB,aAAK,EAAE,KAAK,KAAL,CAAW,OAAX,CAAmB,KAA/C;AAAsD,aAAK,EAAE,IAA7D;AAAmE,iBAAS,EAAE;AAA9E,OAAnB,CAZJ,CAFJ,EAgBI;AAAG,YAAI,EAAE,+CAAgC,OAAhC,CAAT;AAAmD,iBAAS,EAAC;AAA7D,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,KAAP,CADJ,CADJ,EAII;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC,UAAhB;AAA2B,aAAK,EAAE;AAAlC,SACK,KAAK,GAAG,oBAAC,mCAAD,EAAiB;AAAC,YAAI,EAAE;AAAP,OAAjB,CAAH,GACF,qDAAsC,WAAtC,EACI;AACI,gBAAQ,EAAE,KAAK,QAAL,EADd;AAEI,gBAAQ,EAAE,CAAC,KAAK,QAAL;AAFf,OADJ,CAFR,CADJ,EASK,MAAM,IAAI;AAAM,iBAAS,EAAC;AAAhB,SAA2B,GAA3B,CATf,EAUK,MAAM,IAAI;AAAM,iBAAS,EAAC;AAAhB,SAA0B,MAA1B,EAAyC,GAAzC,CAVf,CAJJ,EAgBI;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,SAAP,CADJ,CAhBJ,CAhBJ,CADJ;AAuCH;;;;EAzDiC,KAAK,CAAC,S;;AACjC,gCAAe;AAAE,mBAAiB,EAAE;AAArB,CAAf;AADX,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBA;;IASa,gB;;;;;;;;;;;;;6BACI;AAAA;;AAAA,wBACmB,KAAK,KADxB;AAAA,UACD,QADC,eACD,QADC;AAAA,UACS,KADT,eACS,KADT;AAET,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,CAAP;AAAA,eACV,oBAAC,mCAAD,EAAiB;AACb,aAAG,EAAE,CADQ;AAEb,iBAAO,EAAE,IAFI;AAGb,eAAK,EAAE,CAHM;AAIb,eAAK,EAAE;AAJM,WAKT,KAAI,CAAC,KALI,CAAjB,CADU;AAAA,OAAb,CADL,CADJ;AAYH;;;;EAfiC,KAAK,CAAC,S;;AAA5C,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICCa,gB;;;;;;;;;;;;;6BACI;AAAA,wBAC+F,KAAK,KADpG;AAAA,UACD,iBADC,eACD,iBADC;AAAA,UACkB,WADlB,eACkB,WADlB;AAAA,UAC+B,oBAD/B,eAC+B,oBAD/B;AAAA,UACqD,YADrD,eACqD,YADrD;AAAA,UACmE,gBADnE,eACmE,gBADnE;AAAA,UACqF,KADrF,eACqF,KADrF;AAET,UAAM,gBAAgB,GAAG,KAAK,GAAG,cAAH,GAAoB,YAAlD;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC,aAAhB;AAA8B,eAAO,EAAE;AAAvC,QADJ,EAEI;AAAM,iBAAS,EAAC,UAAhB;AAA2B,eAAO,EAAE;AAApC,SAAyD,WAAW,CAAC,EAAZ,KAAmB,MAAnB,IAA6B,WAAW,CAAC,EAAZ,KAAmB,GAAjD,GAAwD,gBAAxD,GAA2E,WAAW,CAAC,WAA/I,CAFJ,EAGK,oBAAoB,IACjB;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,CAAC,MAAF,CAAS,CAAC,CAAC,GAAF,CAAM,YAAN,EAAoB,UAAC,YAAD,EAAe,KAAf,EAAwB;AAClD,eACI;AAAK,aAAG,EAAE,KAAV;AAAiB,mBAAS,EAAC,YAA3B;AAAwC,iBAAO,EAAE;AAAA,mBAAM,gBAAgB,CAAC,YAAD,CAAtB;AAAA;AAAjD,WACM,YAAY,CAAC,EAAb,KAAoB,MAApB,IAA8B,YAAY,CAAC,EAAb,KAAoB,GAAnD,GAA0D,gBAA1D,GAA6E,YAAY,CAAC,WAD/F,CADJ;AAIH,OALS,CAAT,CADL,CAJR,CADJ;AAgBH;;;;EApBiC,KAAK,CAAC,S;;AAA5C,4C;;;;;;;;;;;;;;;ACVA;;AACA;;AAGa,8BAAsB,gBAA8H;AAAA,MAA3H,cAA2H,QAA3H,cAA2H;AAAA,MAA3G,SAA2G,QAA3G,SAA2G;AAAA,MAAhG,iBAAgG,QAAhG,iBAAgG;AAAA,MAA7E,cAA6E,QAA7E,cAA6E;AAAA,MAA7D,oBAA6D,QAA7D,oBAA6D;AAAA,MAAvC,KAAuC,QAAvC,KAAuC;AAAA,mCAAhC,kBAAgC;AAAA,MAAhC,kBAAgC,sCAAX,KAAW;AAC7J,MAAM,SAAS,GAAG,KAAK,GAAG,MAAH,GAAY,OAAnC;AACA,MAAM,KAAK,GAAG,KAAK,GAAG,IAAH,GAAU,IAA7B;AACA,MAAM,MAAM,GAAG;AACX,MAAE,EAAE,CACA,OADA,EAEA,QAFA,EAGA,KAHA,EAIA,OAJA,EAKA,KALA,EAMA,MANA,EAOA,MAPA,EAQA,QARA,EASA,QATA,EAUA,SAVA,EAWA,QAXA,EAYA,OAZA;AADO,GAAf;AAgBA,MAAM,YAAY,GAAG;AAAE,MAAE,EAAE,CAAC,OAAD,EAAU,KAAV,EAAiB,OAAjB,EAA0B,OAA1B,EAAmC,OAAnC,EAA4C,MAA5C,EAAoD,KAApD;AAAN,GAArB;AACA,MAAM,aAAa,GAAG;AAAE,MAAE,EAAE,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B;AAAN,GAAtB;AACA,MAAM,cAAc,GAAG;AAAE,MAAE,EAAE;AAAN,GAAvB;AACA,MAAM,MAAM,GAAG;AAAE,MAAE,EAAE;AAAE,eAAS,EAAE,UAAb;AAAyB,mBAAa,EAAE;AAAxC;AAAN,GAAf;AACA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAM,aAAS,EAAC,iBAAhB;AAAkC,WAAO,EAAE;AAA3C,IADJ,EAEI;AAAM,aAAS,qBAAc,SAAS,IAAI,WAA3B,CAAf;AAAyD,WAAO,EAAE;AAAlE,KAAoF,SAAS,IAAI,CAAC,kBAAf,GAAqC,6BAAW,SAAX,EAAqB,YAArB,CAArC,GAA0E,SAA7J,CAFJ,EAGK,iBAAiB,IAAI,oBAAC,0BAAD,EAAU;AAC5B,mBAAe,EAAE,oBAAoB,CAAC,eADV;AAE5B,SAAK,EAAE,oBAAoB,CAAC,KAFA;AAG5B,aAAS,EAAE,oBAAoB,CAAC,SAHJ;AAI5B,WAAO,EAAE,oBAAoB,CAAC,OAJF;AAK5B,cAAU,EAAE,oBAAoB,CAAC,UALL;AAM5B,gBAAY,EAAE,oBAAoB,CAAC,YANP;AAO5B,cAAU,EAAE,cAPgB;AAQ5B;AACA,SAAK,EAAE,KATqB;AAU5B,UAAM,EAAE,MAAM,CAAC,KAAD,CAVc;AAW5B,gBAAY,EAAE,YAAY,CAAC,KAAD,CAXE;AAY5B,iBAAa,EAAE,aAAa,CAAC,KAAD,CAZA;AAa5B,kBAAc,EAAE,cAAc,CAAC,KAAD,CAbF;AAc5B,UAAM,EAAE,MAAM,CAAC,KAAD;AAdc,GAAV,CAH1B,CADJ;AAsBH,CA7CY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLb;;AACA;;AAEA;;AACA;;AACA;;AACA;;IAwBa,2B;;;;;AAET,uCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,qGAAM,KAAN;;AA6DI,6BAAmB,UAAC,UAAD,EAAe;AACtC,YAAK,iBAAL;;AACA,YAAK,QAAL,CAAc;AACV,mBAAW,EAAE,UADH;AAEV,gBAAQ,EAAE;AAFA,OAAd;AAIH,KANO;;AAOA,8BAAoB,YAAK;AAC7B,YAAK,QAAL,CAAc;AACV,4BAAoB,EAAE,CAAC,MAAK,KAAL,CAAW,oBADxB;AAEV,yBAAiB,EAAG,MAAK,KAAL,CAAW,iBAAX,IAAgC,CAAC,MAAK,KAAL,CAAW,oBAA7C,GAAqE,KAArE,GAA6E,MAAK,KAAL,CAAW;AAFjG,OAAd;AAIH,KALO;;AAMA,2BAAiB,YAAK;AAC1B,YAAK,QAAL,CAAc;AACV,yBAAiB,EAAE,CAAC,MAAK,KAAL,CAAW,iBADrB;AAEV,4BAAoB,EAAG,MAAK,KAAL,CAAW,oBAAX,IAAmC,CAAC,MAAK,KAAL,CAAW,iBAAhD,GAAqE,KAArE,GAA6E,MAAK,KAAL,CAAW;AAFpG,OAAd;AAKH,KANO;;AAOA,mCAAyB,UAAC,aAAD,EAAkB;AAC/C,YAAK,QAAL,CAAc;AACV,kBAAU,EAAE,aADF;AAEV,iBAAS,EAAE,EAFD;AAGV,gBAAQ,EAAE;AAHA,OAAd;AAKH,KANO;;AAOA,gCAAsB,UAAC,OAAD,EAAY;AACtC,YAAK,QAAL,CAAc;AACV,gBAAQ,EAAE,CADA;AAEV,iBAAS,EAAE;AAFD,OAAd;AAIH,KALO;;AAMA,2BAAiB,UAAC,GAAD,EAAwB;AAAA,UAAlB,SAAkB,uEAAN,EAAM;;AAC7C,UAAI,SAAS,CAAC,UAAD,CAAb,EAA2B;AACvB;AACH,OAFD,MAEO;AACH,cAAK,QAAL,CAAc;AACV,mBAAS,EAAE,GAAG,GAAG,GAAH,GAAS,EADb;AAEV,oBAAU,EAAE,CAFF;AAGV,kBAAQ,EAAE;AAHA,SAAd;;AAKA,cAAK,cAAL;AACH;AACJ,KAXO;;AAYA,6BAAmB,YAAK;AAC5B,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE,MAAK,KAAL,CAAW,QAAX,GAAsB;AAAlC,OAAd;AACH,KAFO;;AAGA,wBAAc,YAAK;AAAA,UACf,YADe,GACE,MAAK,KADP,CACf,YADe;AAAA,wBAEuD,MAAK,KAF5D;AAAA,UAEf,WAFe,eAEf,WAFe;AAAA,UAEF,QAFE,eAEF,QAFE;AAAA,UAEQ,UAFR,eAEQ,UAFR;AAAA,UAEoB,SAFpB,eAEoB,SAFpB;AAAA,UAE+B,QAF/B,eAE+B,QAF/B;AAAA,UAEyC,SAFzC,eAEyC,SAFzC;AAGvB,WAAK,CAAC,GAAN,gDAAkD,YAAlD,cAAkE,WAAW,CAAC,EAA9E,cAAoF,SAAS,GAAG,GAAH,GAAS,UAAtG,cAAoH,SAAS,GAAG,CAAH,GAAO,CAApI,cAAyI,SAAS,GAAG,6BAAW,IAAI,IAAJ,CAAS,SAAT,CAAX,EAA+B,YAA/B,CAAH,GAAkD,CAApM,cAAyM,QAAzM,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,YAAM,eAAe,GAAG,GAAG,CAAC,IAAJ,CAAS,IAAjC;;AACA,cAAK,QAAL,CAAc;AACV,kBAAQ,EAAE,QAAQ,GAAG,CAAX,gCAAmB,QAAnB,sBAAgC,eAAhC,KAAmD;AADnD,SAAd;AAGH,OANL,EAMO,KANP,CAMa,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,OANhB;AAOH,KAVO;;AAWA,2BAAiB,UAAC,IAAD,EAAO,IAAP,EAAuB;AAC5C,UAAI,GAAG,GAAG,MAAK,KAAL,CAAW,iBAAX,CAA6B,IAA7B,CAAV;AACA,UAAI,UAAU,GAAG,GAAG,CAAC,IAAD,CAApB;AACA,aAAO,UAAP;AACH,KAJO;;AAvHJ,UAAK,cAAL,GAAsB,MAAK,cAAL,CAAoB,IAApB,+BAAtB;AACA,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE;AAAE,mBAAW,EAAE,EAAf;AAAmB,UAAE,EAAE;AAAvB,OADJ;AAET,0BAAoB,EAAE,KAFb;AAGT,uBAAiB,EAAE,KAHV;AAIT,cAAQ,EAAE,CAJD;AAKT,gBAAU,EAAE,CALH;AAMT,eAAS,EAAE,EANF;AAOT,cAAQ,EAAE,EAPD;AAQT,gBAAU,EAAE,KARH;AAST,eAAS,EAAE,KATF;AAUT,uBAAiB,EAAE;AACf,cAAM;AACF,uBAAa,SADX;AAEF,kBAAQ,MAFN;AAGF,mBAAS,MAHP;AAIF,oBAAU,OAJR;AAKF,qBAAW,OALT;AAMF,uBAAa,WANX;AAOF,0BAAgB,QAPd;AAQF,sBAAY,OARV;AASF,mBAAS,OATP;AAUF,wBAAc;AAVZ,SADS;AAaf,cAAM;AACF,uBAAa,WADX;AAEF,kBAAQ,MAFN;AAGF,mBAAS,OAHP;AAIF,oBAAU,QAJR;AAKF,qBAAW,SALT;AAMF,uBAAa,WANX;AAOF,0BAAgB,cAPd;AAQF,sBAAY,UARV;AASF,mBAAS,OATP;AAUF,wBAAc;AAVZ;AAbS;AAVV,KAAb;AAHa;AAyChB;;;;wCACgB;AACb,UAAM,OAAO,GAAG,KAAK,KAAL,CAAW,YAAX,CAAwB,CAAxB,CAAhB;AACA,WAAK,QAAL,CAAc;AAAE,mBAAW,EAAE;AAAf,OAAd;AACH;;;uCACkB,S,EAAW,S,EAAS;AACnC,UAAI,KAAK,KAAL,CAAW,SAAX,KAAyB,SAAS,CAAC,SAAnC,IACA,KAAK,KAAL,CAAW,UAAX,KAA0B,SAAS,CAAC,UADpC,IAEA,KAAK,KAAL,CAAW,QAAX,KAAwB,SAAS,CAAC,QAFlC,IAGA,KAAK,KAAL,CAAW,SAAX,KAAyB,SAAS,CAAC,SAHnC,IAIA,KAAK,KAAL,CAAW,WAAX,KAA2B,SAAS,CAAC,WAJzC,EAIsD;AAClD,aAAK,WAAL;AACH;;AACD,UAAI,KAAK,KAAL,CAAW,QAAX,KAAwB,SAAS,CAAC,QAAtC,EAAgD;AAC5C,aAAK,QAAL,CAAc;AACV,oBAAU,EAAG,KAAK,KAAL,CAAW,QAAX,CAAoB,MAArB,IAAgC,CAAC,KAAK,KAAL,CAAW,QAAX,GAAsB,CAAvB,IAA4B,KAAK,KAAL,CAAW,aAAvE,KAAyF;AAD3F,SAAd;AAGH;AAGJ;;;6BAiEK;AAAA;;AAAA,wBAC8B,KAAK,KADnC;AAAA,UACM,YADN,eACM,YADN;AAAA,UACoB,KADpB,eACoB,KADpB;AAAA,yBAEuH,KAAK,KAF5H;AAAA,UAEM,WAFN,gBAEM,WAFN;AAAA,UAEmB,oBAFnB,gBAEmB,oBAFnB;AAAA,UAEyC,SAFzC,gBAEyC,SAFzC;AAAA,UAEoD,UAFpD,gBAEoD,UAFpD;AAAA,UAEgE,QAFhE,gBAEgE,QAFhE;AAAA,UAE0E,iBAF1E,gBAE0E,iBAF1E;AAAA,UAE6F,UAF7F,gBAE6F,UAF7F;AAAA,UAEyG,SAFzG,gBAEyG,SAFzG;AAGF,UAAM,eAAe,GAAG,CACpB;AAAE,aAAK,EAAE,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,OAAzC,CAAT;AAA4D,aAAK,EAAE;AAAnE,OADoB,EAEpB;AAAE,aAAK,EAAE,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,QAAzC,CAAT;AAA6D,aAAK,EAAE;AAApE,OAFoB,EAGpB;AAAE,aAAK,EAAE,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,SAAzC,CAAT;AAA8D,aAAK,EAAE;AAArE,OAHoB,EAIpB;AAAE,aAAK,EAAE,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,WAAzC,CAAT;AAAgE,aAAK,EAAE;AAAvE,OAJoB,CAAxB;AAMA,UAAM,WAAW,GAAG,CAChB;AAAE,aAAK,EAAE,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,UAAzC,CAAT;AAA+D,aAAK,EAAE;AAAtE,OADgB,EAEhB;AAAE,aAAK,EAAE,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,OAAzC,CAAT;AAA4D,aAAK,EAAE;AAAnE,OAFgB,CAApB;AAIA,UAAM,oBAAoB,GAAG;AACzB,uBAAe,EAAE,IADQ;AAEzB,aAAK,EAAE,IAAI,IAAJ,EAFkB;AAGzB,iBAAS,EAAE,IAAI,IAAJ,CAAS,IAAI,IAAJ,GAAW,QAAX,CAAoB,IAAI,IAAJ,GAAW,QAAX,KAAwB,CAA5C,CAAT,CAHc;AAIzB,eAAO,EAAE,IAAI,IAAJ,EAJgB;AAKzB,kBAAU,EAAE,IALa;AAMzB,oBAAY,EAAE,CACV;AACI,eAAK,EAAE,IAAI,IAAJ,EADX;AAEI,gBAAM,EAAE,IAAI,IAAJ,CAAS,IAAI,IAAJ,GAAW,QAAX,CAAoB,IAAI,IAAJ,GAAW,QAAX,KAAwB,CAA5C,CAAT;AAFZ,SADU;AANW,OAA7B;AAaA,aAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,mCAAD,EAAiB;AAAC,yBAAiB,EAAE,KAAK,iBAAzB;AAA4C,mBAAW,EAAE,WAAzD;AACb,4BAAoB,EAAE,oBADT;AAC+B,oBAAY,EAAE,YAD7C;AAC2D,wBAAgB,EAAE,KAAK,gBADlF;AACoG,aAAK,EAAE;AAD3G,OAAjB,CADJ,EAGI,oBAAC,yCAAD,EAAoB;AAAC,sBAAc,EAAE,KAAK,cAAtB;AAAsC,iBAAS,EAAE,SAAjD;AAChB,yBAAiB,EAAE,iBADH;AACsB,sBAAc,EAAE,KAAK,cAD3C;AAEhB,4BAAoB,EAAE,oBAFN;AAE4B,aAAK,EAAE;AAFnC,OAApB,CAHJ,EAMK,CAAC,KAAD,IAAU;AAAK,iBAAS,EAAC;AAAf,SACN,CAAC,CAAC,GAAF,CAAM,WAAN,EAAmB,UAAC,IAAD,EAAO,CAAP,EAAY;AAC5B,eAAQ;AAAM,iBAAO,EAAE;AAAA,mBAAM,MAAI,CAAC,mBAAL,CAAyB,IAAI,CAAC,KAA9B,CAAN;AAAA,WAAf;AAA2D,aAAG,EAAE,CAAhE;AACJ,mBAAS,EAAE,UAAU,CAAC,YAAD,EAAe;AAAE,sBAAW,SAAS,KAAK,IAAI,CAAC;AAAhC,WAAf;AADjB,WAC4E,IAAI,CAAC,KADjF,CAAR;AAEH,OAHA,CADM,CANf,CADJ,EAeI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAAkC,kCAAO,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,cAAzC,CAAP,CAAlC,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,CAAC,GAAF,CAAM,eAAN,EAAuB,UAAC,IAAD,EAAO,CAAP,EAAY;AAChC,eAAQ;AAAM,iBAAO,EAAE;AAAA,mBAAM,MAAI,CAAC,sBAAL,CAA4B,IAAI,CAAC,KAAjC,CAAN;AAAA,WAAf;AAA8D,aAAG,EAAE,CAAnE;AACJ,mBAAS,EAAE,UAAU,CAAC,YAAD,EAAe;AAAE,sBAAW,UAAU,KAAK,IAAI,CAAC,KAApB,IAA6B,SAAS,KAAK;AAAxD,WAAf;AADjB,WACiG,IAAI,CAAC,KADtG,CAAR;AAEH,OAHA,CADL,CAFJ,EAQM,QAAQ,CAAC,MAAT,GAAkB,CAAnB,GACI,oBAAE,mCAAF,EAAkB;AAAC,gBAAQ,EAAE,QAAX;AAAqB,aAAK,EAAE;AAA5B,OAAlB,CADJ,GAEG;AAAK,iBAAS,EAAC;AAAf,SAA+B,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,YAAzC,CAA/B,CAVR,EAYI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,gBAAlB;AAAmC,gBAAQ,EAAE,CAAC,UAAD,IAAe,QAAQ,CAAC,MAAT,KAAoB,CAAhF;AAAmF,eAAO,EAAE,KAAK;AAAjG,SAAoH,KAAK,cAAL,CAAoB,KAAK,GAAG,IAAH,GAAU,IAAnC,EAAyC,WAAzC,CAApH,CADJ,CAZJ,CAfJ,CAFJ;AAqCH;;;;EA/L4C,KAAK,CAAC,S;;AACrC,6CAAiB,6BAAjB;AADlB,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BA;;AACA;;AACA;;IAaa,kB;;;;;AAET,8BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,4FAAM,KAAN;AASI;AAAA;AAAA;AAAA;AAAA,4BAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AACZ,2BADY,GACI,KAAK,CAAC,MAAN,CAAa,wDAAb,CADJ;AAAA;AAAA;AAAA,qBAIS,aAAa,CAAC,GAAd,4DAJT;;AAAA;AAIR,sBAJQ;AAKd;AACM,6BANQ,GAMU,QAAQ,CAAC,IAAT,CAAc,UAAd,CAAyB,IAAzB,CAA8B,UAAC,SAAD;AAAA,uBAAe,SAAS,CAAC,IAAV,KAAmB,UAAlC;AAAA,eAA9B,CANV,EAOd;;AACM,4BARQ,GAQS,QAAQ,CAAC,IAAT,CAAc,UAAd,CAAyB,MAAzB,CAAgC,UAAC,SAAD;AAAA,uBAAe,SAAS,CAAC,IAAV,KAAmB,OAAlC;AAAA,eAAhC,EAA2E,KAA3E,CAAiF,CAAjF,EAAoF,CAApF,CART;AASR,4BATQ,GASS,CAAC,eAAD,4BAAqB,cAArB,GAAqC,GAArC,CAAyC,UAAC,OAAD,EAAY;AACxE,oBAAM,IAAI,GAAG,OAAO,CAAC,KAAR,CAAc,CAAd,CAAb;AACA,uBAAO;AACH,uBAAK,EAAE,IAAI,CAAC,KADT;AAEH,2BAAS,EAAE,IAAI,CAAC,QAFb;AAGH,+BAAa,EAAE,IAAI,CAAC,QAAL,CAAc,IAAd,CAAmB,IAH/B;AAIH,sBAAI,EAAC,IAAI,CAAC,QAAL,CAAc,IAAd,CAAmB;AAJrB,iBAAP;AAMH,eARsB,CATT;;AAkBd,oBAAK,QAAL,CAAc;AAAE,wBAAQ,EAAE;AAAZ,eAAd;;AAlBc;AAAA;;AAAA;AAAA;AAAA;AAqBd,qBAAO,CAAC,KAAR,CAAc,8BAAd;;AArBc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAd;AARJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE;AADD,KAAb;AAFa;AAKhB;;;;wCAEgB;AACb,WAAK,WAAL;AACH;;;6BA0BY;AAAA,UACD,QADC,GACY,KAAK,KADjB,CACD,QADC;AAGT,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,GAAG,QAAQ,CAAC,GAAT,CAAa,UAAC,OAAD;AAAA,eACrB,oBAAC,mCAAD,EAAiB;AAAC,kBAAQ,EAAE;AAAX,SAAjB,CADqB;AAAA,OAAb,CAAH,GAGL;AAAM,iBAAS,EAAC;AAAhB,QAJR,CADJ,CADJ;AAWH;;;;EAnDmC,KAAK,CAAC,S;;AAC5B,oCAAiB,oBAAjB;AADlB,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;;AAEA;;AAEA;;AAOA,IAAa,gBAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,6BAEiB;AAAA,UACD,QADC,GACY,KAAK,KADjB,CACD,QADC;AAGT,aACI;AAAK,iBAAS,EAAC,UAAf;AAA0B,aAAK,EAAE,QAAQ,CAAC;AAA1C,SACI;AAAK,iBAAS,EAAC;AAAf,SAA2B,qDAAsC,QAAQ,CAAC,IAA/C,EAAqD;AAAE,gBAAQ,EAAE,KAAZ;AAAmB,gBAAQ,EAAE;AAA7B,OAArD,CAA3B,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,QAAQ,CAAC,aAAhB;AAA+B,iBAAS,EAAC;AAAzC,OAAnB,E,GAAA,EAA0E,QAAQ,CAAC,KAAnF,CADJ,CAFJ,CADJ;AAQH;AAbL;;AAAA;AAAA,EAAsC,KAAK,CAAC,SAA5C;;AAAa,gBAAgB,eAD5B,2DAC4B,GAAhB,gBAAgB,CAAhB;AAAA,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICYA,c;;;;;AAAb;AAAA;;AAAA;;;;AAIY,yBAAe,UAAC,GAAD,EAAQ;AAC3B,UAAM,MAAM,GAAG,MAAK,MAAL,CAAY,QAAZ,CAAqB,aAArB,CAAmC,QAAnC,CAAf;;AACA,YAAM,CAAC,YAAP,CAAoB,KAApB,EAA2B,GAA3B;;AACA,YAAK,MAAL,CAAY,QAAZ,CAAqB,IAArB,CAA0B,WAA1B,CAAsC,MAAtC;AACH,KAJO;;AAMA,4BAAkB,UAAC,SAAD,EAAc;AACpC,UAAM,YAAY,GAAG,MAAK,MAAL,CAAY,QAAZ,CAAqB,aAArB,CAAmC,QAAnC,CAArB;;AACA,kBAAY,CAAC,SAAb,GAAyB,SAAzB;;AACA,YAAK,MAAL,CAAY,QAAZ,CAAqB,IAArB,CAA0B,WAA1B,CAAsC,YAAtC;AACH,KAJO;;AAMA,4BAAkB,YAAK;AAAA,wBACoC,MAAK,KADzC;AAAA,UACnB,WADmB,eACnB,WADmB;AAAA,UACN,YADM,eACN,YADM;AAAA,UACQ,UADR,eACQ,UADR;AAAA,UACoB,WADpB,eACoB,WADpB;AAG3B,UAAI,MAAM,CAAC,WAAX,EAAwB,MAAM,CAAC,WAAP,CAAmB,KAAnB;AAExB,YAAK,MAAL,GAAc,MAAM,CAAC,IAAP,CAAY,EAAZ,EAAgB,OAAhB,uBAAuC,WAAvC,2BAAmE,YAAnE,EAAd;AACA,YAAK,MAAL,CAAY,QAAZ,CAAqB,KAArB,GAA6B,gBAA7B;AACA,YAAM,CAAC,WAAP,GAAqB,MAAK,MAA1B;AAEA,gBAAU,CAAC,YAAK;AACZ,YAAI,MAAK,MAAL,CAAY,cAAhB,EAAgC;AAEhC;;AACA,YAAM,GAAG,GAAG,QAAQ,CAAC,aAAT,CAAuB,MAAvB,CAAZ;;AAEA,YAAI,KAAJ,EAAoC,wBAApC,MAMO;AACH,cAAM,WAAW,GAAG,QAAQ,CAAC,gBAAT,0CAApB;AACA,cAAM,YAAY,GAAG,QAAQ,CAAC,gBAAT,yCAArB;AAEA,qBAAW,CAAC,OAAZ,CAAoB,iBAAO,EAAG;AAAG,kBAAK,YAAL,CAAmB,OAAe,CAAC,GAAnC;AAA0C,WAA3E;AACA,sBAAY,CAAC,OAAb,CAAqB,iBAAO,EAAG;AAAG,eAAG,CAAC,YAAJ,CAAiB,MAAjB,EAA0B,OAAe,CAAC,IAA1C;AAAkD,WAApF;AACH;;AAED,WAAG,CAAC,YAAJ,CAAiB,KAAjB,EAAwB,YAAxB;;AACA,cAAK,MAAL,CAAY,QAAZ,CAAqB,IAArB,CAA0B,WAA1B,CAAsC,GAAtC;;AAEA,cAAK,MAAL,CAAY,cAAZ,GAA6B,MAAK,MAAL,CAAY,cAAZ,IAA8B,EAA3D;AACA,cAAK,MAAL,CAAY,uBAAZ,GAAsC,MAAK,MAAL,CAAY,uBAAZ,IAAuC,EAA7E;AAEA;;AACA,YAAM,GAAG,GAAG,MAAK,MAAL,CAAY,QAAZ,CAAqB,aAArB,CAAmC,KAAnC,CAAZ;;AACA,YAAM,KAAK,GAAG,qBAAd;AACA,WAAG,CAAC,YAAJ,CAAiB,IAAjB,EAAuB,KAAvB;;AACA,cAAK,MAAL,CAAY,QAAZ,CAAqB,IAArB,CAA0B,WAA1B,CAAsC,GAAtC;AAEA;;;AACA,YAAM,YAAY,GAAG,CAAC,KAAD,EAAQ,UAAR,EAAoB,WAApB,CAArB;;AACA,cAAK,eAAL,CAAqB,qBAArB;;AACA,cAAK,eAAL,CAAqB,gCAAgC,IAAI,CAAC,SAAL,CAAe,YAAf,CAAhC,GAA+D,IAApF;AACH,OApCS,EAoCP,CApCO,CAAV;AAqCH,KA9CO;;AAhBZ;AAqEC;;;;6BALS;AAAA,UACM,cADN,GACyB,KAAK,KAD9B,CACM,cADN;AAGF,aAAO,cAAc,CAAC;AAAE,uBAAe,EAAE,KAAK;AAAxB,OAAD,CAArB;AACH;;;;EApE+B,KAAK,CAAC,S;;AAA1C,wC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBA;;AACA;;AACA;;AAIA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAca,oB;;;;;AAET,gCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,8FAAM,KAAN;AAFI,kBAAQ,SAAR;;AAQA,6BAAmB,UAAC,cAAD,EAAyB,aAAzB,EAAgD,MAAhD,EAAiE,OAAjE,EAAqF;AAC5G,UAAI,CAAC,cAAc,KAAK,CAAnB,IAAwB,aAAa,KAAK,CAA3C,KAAiD,MAAM,KAAK,SAAhE,EAA2E;AACvE,cAAM,CAAC,SAAP,CAAiB,GAAjB,CAAqB,YAArB;AACA,eAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,YAAtB;AACH;AACJ,KALO;;AAuBA,sBAAY,YAAK;AAAA,UACb,UADa,GACE,MAAK,KADP,CACb,UADa;AAAA,UAEb,QAFa,GAEA,MAAK,KAFL,CAEb,QAFa;;AAGrB,UAAI,UAAU,KAAK,QAAQ,CAAC,MAAT,GAAkB,CAArC,EAAwC;AACpC,cAAK,QAAL,CAAc;AACV,oBAAU,EAAE;AADF,SAAd;AAIH,OALD,MAMK;AACD,cAAK,QAAL,CAAc;AACV,oBAAU,EAAE,MAAK,KAAL,CAAW,UAAX,GAAwB;AAD1B,SAAd;AAGH;AAEJ,KAfO;;AAiBA,oCAA0B,YAAK;AACnC,UAAI,MAAK,KAAL,CAAW,IAAX,CAAgB,oBAAhB,GAAuC,CAA3C,EAA8C;AAC1C,cAAK,SAAL;AACH;AACJ,KAJO;;AAMA,sBAAY,YAAK;AACrB,YAAK,KAAL,GAAa,UAAU,CAAC,YAAK;AACzB,cAAK,SAAL;;AACA,cAAK,SAAL;AACH,OAHsB,EAGpB,MAAK,aAAL,KAAuB,GAHH,CAAvB;AAIH,KALO;;AAOA,0BAAgB,YAAa;AACjC,UAAI,YAAJ;AAEA,kBAAY,GAAG,MAAK,KAAL,CAAW,QAAX,CAAoB,MAAK,KAAL,CAAW,UAA/B,EAA2C,KAA3C,CAAiD,MAAjD,GAA0D,GAAzE;AACA,aAAO,YAAP;AAEH,KANO;;AA1DJ,UAAK,KAAL,GAAa;AACT,gBAAU,EAAE;AADH,KAAb;AAFa;AAMhB;;;;wCAOgB;AACb,UAAI,UAAU,GAAG,QAAQ,CAAC,sBAAT,CAAgC,qBAAhC,CAAjB;AACA,UAAI,UAAU,GAAG,QAAQ,CAAC,sBAAT,CAAgC,qBAAhC,CAAjB;AACA,UAAI,MAAM,GAAG,QAAQ,CAAC,sBAAT,CAAgC,gCAAhC,EAAkE,CAAlE,CAAb;AACA,UAAI,OAAO,GAAG,QAAQ,CAAC,sBAAT,CAAgC,uBAAhC,EAAyD,CAAzD,CAAd;AACA,WAAK,gBAAL,CAAsB,UAAU,CAAC,MAAjC,EAAyC,UAAU,CAAC,MAApD,EAA4D,MAA5D,EAAoE,OAApE;AACH;;;yCACiB;AACd,UAAI,KAAK,KAAL,CAAW,QAAX,IAAuB,KAAK,KAAL,CAAW,QAAX,CAAoB,MAApB,GAA6B,CAApD,IAAyD,KAAK,KAAL,KAAe,SAA5E,EAAuF;AACnF,aAAK,uBAAL;AACH;AAEJ;;;2CACmB;AAAA,UACR,QADQ,GACK,KAAK,KADV,CACR,QADQ;AAEhB,mBAAa,CAAC,KAAK,KAAN,CAAb;AACH;;;6BAuCY;AAAA,wBACkB,KAAK,KADvB;AAAA,UACD,IADC,eACD,IADC;AAAA,UACK,QADL,eACK,QADL;AAAA,UAED,UAFC,GAEc,KAAK,KAFnB,CAED,UAFC;AAIT,UAAM,eAAe,GAAyB;AAC1C,oBAAY,EAAE,KAD4B;AAE1C,uBAAe,EAAE,EAFyB;AAG1C,sBAAc,EAAE,IAH0B;AAI1C,uBAAe,EAAE,IAJyB;AAK1C,qBAAa,EAAE;AAL2B,OAA9C;AAOA,UAAI,QAAQ,GAAG,EAAf,CAXS,CAYT;;AACA,UAAI,QAAQ,IAAI,QAAQ,CAAC,MAAT,GAAkB,CAAlC,EAAqC;AACjC,gBAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAD,EAAW,UAAC,OAAD,EAAe,KAAf,EAAwB;AACpD,cAAI,KAAK,GAAG,IAAI,CAAC,oBAAL,GAA4B,CAAxC,EAA2C,OAAO,IAAP;AAC3C,cAAI,KAAK,GAAG;AAAE,eAAG,EAAE;AAAP,WAAZ;AAEA,iBAAO;AACH,iBAAK,EAAE,OAAO,CAAC,KADZ;AAEH,qBAAS,EAAE,OAAO,CAAC,iBAFhB;AAGH,gBAAI,EAAE,OAAO,CAAC,aAHX;AAIH,sBAAU,EAAE,eAJT;AAKH,cAAE,EAAE,OAAO,CAAC;AALT,WAAP;AAQH,SAZoB,CAAJ,CAAjB;AAaH;;AAED,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,gBAAX;AAA4B,YAAI,EAAE,IAAI,CAAC,OAAvC;AAAgD,kBAAU,EAAE;AAA5D,OAAjB,EACI,sCADJ,CADJ,EAIK,QAAQ,CAAC,MAAT,GAAkB,CAAlB,IAAuB,oBAAC,2CAAD,EAAmB;AAAC,sBAAc,EAAC,YAAhB;AAA6B,8BAAsB,EAAE,GAArD;AAA0D,uBAAe,EAAE,IAA3E;AAAiF,8BAAsB,EAAE;AAAzG,OAAnB,EACpB;AAAK,iBAAS,EAAC,aAAf;AACI,WAAG,EAAE,QAAQ,CAAC,UAAD,CAAR,CAAqB,EAD9B;AAEI,UAAE,EAAE,QAAQ,CAAC,UAAD,CAAR,CAAqB;AAF7B,SAGI;AAAM,iBAAS,EAAC;AAAhB,SACK,qDAAsC,QAAQ,CAAC,UAAD,CAAR,CAAqB,SAA3D,EAAsE;AAAE,gBAAQ,EAAE,KAAZ;AAAmB,gBAAQ,EAAE;AAA7B,OAAtE,CADL,EAEO,IAFP,CAHJ,EAMI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,QAAQ,CAAC,UAAD,CAAR,CAAqB,IAA5B;AACb,iBAAS,EAAC,aADG;AAEb,kBAAU,EAAE,2CAFC;AAGb,gBAAQ,EAAE,QAAQ,CAAC,UAAD,CAAR,CAAqB;AAHlB,OAAjB,EAII;AAAK,aAAK,EAAE;AAAE,2BAAiB,YAAK,KAAK,aAAL,EAAL;AAAnB,SAAZ;AAAgE,+BAAuB,EAAE;AAAE,gBAAM,EAAE,QAAQ,CAAC,UAAD,CAAR,CAAqB;AAA/B;AAAzF,QAJJ,CANJ,CADoB,CAJ5B,EAmBI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,YAAX;AAAwB,YAAI,EAAG,QAAQ,CAAC,MAAT,IAAmB,CAApB,GAAyB,IAAzB,GAAgC,QAAQ,CAAC,UAAD,CAAR,CAAqB,IAAnF;AACb,kBAAU,EAAG,QAAQ,CAAC,MAAT,IAAmB,CAApB,GAAyB,IAAzB,GAAgC,QAAQ,CAAC,UAAD,CAAR,CAAqB;AADpD,OAAjB,CAnBJ,CADJ,CADJ;AA0BH;;;;EA7HqC,KAAK,CAAC,S;;AAAhD,oD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;;AAEA;;AACA;;IAWa,8B;;;;;AAGT,0CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,wGAAM,KAAN;AACA,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE;AADD,KAAb;AAFa;AAKhB;;;;8CAEyB,Q,EAAQ;AAC9B,UAAI,KAAK,KAAL,CAAW,IAAX,KAAoB,QAAQ,CAAC,IAAjC,EAAuC;AACnC,aAAK,WAAL,CAAiB,QAAQ,CAAC,IAA1B;AACH;AACJ;;;wCAEgB;AAAA;;AAAA,UACL,IADK,GACI,KAAK,KADT,CACL,IADK;;AAEb,UAAI,IAAI,CAAC,QAAL,CAAc,IAAd,CAAmB,EAAvB,EAA2B;AACvB,aAAK,WAAL,CAAiB,IAAjB;AACA,mBAAW,CAAC,YAAK;AACb,gBAAI,CAAC,WAAL,CAAiB,IAAjB;AACH,SAFU,EAER,KAFQ,CAAX;AAGH;AACJ;;;gCAEmB,I,EAAI;AAAA;;AAAA,UACZ,YADY,GACK,KAAK,KADV,CACZ,YADY;AAEpB,UAAM,aAAa,GAAG,KAAK,CAAC,MAAN,CAAa,wDAAb,CAAtB;AACA,mBAAa,CAAC,GAAd,wCAAkD,YAAlD,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,cAAI,CAAC,QAAL,CAAc;AAAE,kBAAQ,EAAE,GAAG,CAAC,IAAJ,CAAS;AAArB,SAAd;AACH,OAHL,EAIK,KAJL,CAIW,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,2BAAd,EAA2C,GAA3C,CAAJ;AAAA,OAJd;AAKH;;;6BAGK;AAAA,UACM,IADN,GACe,KAAK,KADpB,CACM,IADN;AAAA,UAEM,QAFN,GAEmB,KAAK,KAFxB,CAEM,QAFN;AAGF,aACI,oBAAC,2CAAD,EAAqB;AAAC,YAAI,EAAE,IAAP;AAAa,gBAAQ,EAAE;AAAvB,OAArB,CADJ;AAGH;;;;EA3C+C,KAAK,CAAC,S;;AACxC,gDAAiB,gCAAjB;AADlB,wE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdA,mBAAO,CAAC,mCAAD,CAAP;;AAEA;;AAIA;;AACA;;IAsBa,Y;;;;;AACT,wBAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,sFAAM,KAAN;;AAmBI,6BAAmB,YAAK;AAAA,wBACK,MAAK,KADV;AAAA,UACpB,YADoB,eACpB,YADoB;AAAA,UACN,MADM,eACN,MADM;;AAE5B,UAAM,IAAI,gCAAV;;AACA,UAAI,OAAQ,YAAR,KAA0B,QAA9B,EAAwC;AACpC,YAAI,YAAY,GAAG,CAAnB,EAAsB;AAClB,gBAAK,mBAAL,GAA2B,WAAW,CAAC,YAAK;AACxC,kBAAK,QAAL,CAAc,UAAC,SAAD,EAA+B,KAA/B,EAA2D;AACrE,kBAAI,QAAQ,GAAG,EAAE,SAAS,CAAC,kBAA3B;AACA,kBAAI,QAAQ,IAAI,KAAK,CAAC,MAAN,CAAa,MAA7B,EAAqC,QAAQ,GAAG,CAAX;AACrC,qBAAO;AAAE,kCAAkB,EAAE;AAAtB,eAAP;AACH,aAJD;AAKH,WANqC,EAMnC,YAAY,GAAG,IANoB,CAAtC;AAOH,SARD,MASK;AACD,uBAAa,CAAC,MAAK,mBAAN,CAAb;AACH;AACJ;AACJ,KAjBO;;AAwBA,mCAAyB,GAAzB;;AAYA,oCAA0B,YAAK;AAAA,wBACqG,MAAK,KAD1G;AAAA,UAC3B,+CAD2B,eAC3B,+CAD2B;AAAA,UACsB,6BADtB,eACsB,6BADtB;AAAA,UACqD,8BADrD,eACqD,8BADrD;AAAA,UACqF,WADrF,eACqF,WADrF;AAAA,yBAET,MAAK,KAFI;AAAA,UAE3B,KAF2B,gBAE3B,KAF2B;AAAA,UAEpB,MAFoB,gBAEpB,MAFoB;;AAInC,UAAI,6BAA6B,KAAK,CAAtC,EAAyC;AACrC,YAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,MAAK,sBAAxB,CAAtC;AACA,YAAM,UAAU,GAAI,MAAK,sBAAL,IAA+B,MAAM,CAAC,MAAP,GAAgB,6BAA/C,CAAD,GAAkF,+CAArG;;AACA,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CAAE,UADL;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAAhC,GAAoC,CAApC,GAAwC,6BAA6B,GAAG,CAAxE,GAA4E,CAFjG;AAGV,wCAA8B,EAAE,8BAA8B,GAAG;AAHvD,SAAd;;AAKA,eAAO,IAAP;AACH;;AACD,UAAI,6BAA6B,GAAG,CAApC,EAAuC;AACnC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,WAAW,GAAG,KADjB;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAAhC,GAAoC,CAApC,GAAwC,6BAA6B,GAAG,CAAxE,GAA4E,CAFjG;AAGV,wCAA8B,EAAE,8BAA8B,GAAG;AAHvD,SAAd;AAKH;AACJ,KArBO;;AAuBA,qCAA2B,YAAK;AAAA,yBACoG,MAAK,KADzG;AAAA,UAC5B,8BAD4B,gBAC5B,8BAD4B;AAAA,UACI,6BADJ,gBACI,6BADJ;AAAA,UACmC,+CADnC,gBACmC,+CADnC;AAAA,UACoF,WADpF,gBACoF,WADpF;AAAA,UAE5B,KAF4B,GAElB,MAAK,KAFa,CAE5B,KAF4B;;AAGpC,UAAI,8BAA8B,KAAK,CAAvC,EAA0C;AACtC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CADH;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAFrD;AAGV,wCAA8B,EAAE,8BAA8B,GAAG,CAAjC,GAAqC,CAArC,GAAyC,8BAA8B,GAAG,CAA1E,GAA8E;AAHpG,SAAd;;AAKA,eAAO,IAAP;AACH;;AACD,UAAI,8BAA8B,GAAG,CAArC,EAAwC;AACpC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,WAAW,GAAG,KADjB;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAFrD;AAGV,wCAA8B,EAAE,8BAA8B,GAAG,CAAjC,GAAqC,CAArC,GAAyC,8BAA8B,GAAG,CAA1E,GAA8E;AAHpG,SAAd;AAKH;AACJ,KAlBO;;AAmBA,0BAAgB,UAAC,MAAD,EAAW;AAC/B,YAAK,QAAL,CAAc,eAAK;AAAA,eAAI,KAAK,CAAC,kBAAN,GAA2B,CAA3B,GAA+B;AAAE,4BAAkB,EAAE,KAAK,CAAC,kBAAN,GAA2B;AAAjD,SAA/B,GAAsF;AAAE,4BAAkB,EAAE,MAAM,CAAC,MAAP,GAAgB;AAAtC,SAA1F;AAAA,OAAnB;;AACA,YAAK,eAAL;AACH,KAHO;;AAIA,0BAAgB,UAAC,MAAD,EAAW;AAC/B,YAAK,QAAL,CAAc,eAAK;AAAA,eAAI,KAAK,CAAC,kBAAN,GAA2B,MAAM,CAAC,MAAP,GAAgB,CAA3C,GAA+C;AAAE,4BAAkB,EAAE,KAAK,CAAC,kBAAN,GAA2B;AAAjD,SAA/C,GAAsG;AAAE,4BAAkB,EAAE;AAAtB,SAA1G;AAAA,OAAnB;;AACA,YAAK,eAAL;AACH,KAHO;;AAIA,4BAAkB,YAAK;AAC3B,UAAI,MAAK,KAAL,CAAW,YAAX,KAA4B,CAAhC,EAAmC;AAC/B,qBAAa,CAAC,MAAK,mBAAN,CAAb;AACH;AAEJ,KALO;;AAMA,0BAAgB,UAAC,CAAD,EAAI,KAAJ,EAAqB;AACzC,YAAK,eAAL;;AACA,UAAM,OAAO,GAAG,MAAK,KAAL,CAAW,MAAX,CAAkB,MAAK,KAAL,CAAW,kBAA7B,EAAiD,KAAjD,CAAuD,SAAvD,KAAqE,aAArF,CAFyC,CAGzC;;AACA,YAAK,QAAL,CAAc;AAAE,0BAAkB,EAAE,KAAtB;AAA6B,wBAAgB,EAAE;AAA/C,OAAd;AACH,KALO;;AAOA,qCAA2B,YAAK;AACpC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AACH,KAFO;;AAGA,qCAA2B,YAAK;AACpC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AACH,KAFO;;AAxHJ,UAAK,KAAL,GAAa;AACT,2BAAqB,EAAE,CADd;AAET,wBAAkB,EAAE,CAFX;AAGT,mCAA6B,EAAE,IAHtB;AAIT,oCAA8B,EAAE,IAJvB;AAKT,iBAAW,EAAE,CALJ;AAMT,qDAA+C,EAAE,CANxC;AAOT,sBAAgB,EAAE;AAPT,KAAb;AAFa;AAWhB;;;;yCAEiB;AAAA,yBACY,KAAK,KADjB;AAAA,UACN,MADM,gBACN,MADM;AAAA,UACE,KADF,gBACE,KADF;;AAEd,UAAI,MAAM,CAAC,MAAP,GAAgB,CAApB,EAAuB;AACnB,aAAK,iBAAL,CAAuB,MAAvB,EAA+B,KAA/B;AACH;AACJ;;;wCAoBgB;AACb,UAAI,KAAK,KAAL,CAAW,MAAX,CAAkB,MAAlB,GAA2B,CAA/B,EAAkC;AAC9B,aAAK,gBAAL;AACH;AACJ;;;sCAIyB,M,EAAwB,K,EAAa;AAC3D,UAAM,YAAY,GAAG,MAAM,CAAC,MAA5B;AACA,UAAM,uBAAuB,GAAG,KAAK,sBAArC;AACA,UAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,uBAAnB,CAAtC;AACA,UAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAY,YAAY,GAAG,uBAAhB,GAA2C,KAAtD,CAAtC;AACA,UAAM,8BAA8B,GAAG,CAAvC;AACA,UAAM,+CAA+C,GAAG,KAAK,GAAI,uBAAuB,GAAG,6BAA3F;AACA,WAAK,QAAL,CAAc;AAAE,qCAA6B,EAA7B,6BAAF;AAAiC,sCAA8B,EAA9B,8BAAjC;AAAiE,uDAA+C,EAA/C;AAAjE,OAAd;AACH;;;8CAwEyB,S,EAA4B;AAClD,UAAI,SAAS,CAAC,MAAV,CAAiB,MAAjB,GAA0B,CAA9B,EAAiC;AAC7B,aAAK,iBAAL,CAAuB,SAAS,CAAC,MAAjC,EAAyC,SAAS,CAAC,KAAnD;AACH;AACJ;;;6BAEK;AAAA;;AAAA,yBACiF,KAAK,KADtF;AAAA,UACM,MADN,gBACM,MADN;AAAA,UACc,KADd,gBACc,KADd;AAAA,UACqB,iBADrB,gBACqB,iBADrB;AAAA,UACwC,aADxC,gBACwC,aADxC;AAAA,UACuD,qBADvD,gBACuD,qBADvD;AAAA,yBAEkJ,KAAK,KAFvJ;AAAA,UAEM,qBAFN,gBAEM,qBAFN;AAAA,UAE6B,kBAF7B,gBAE6B,kBAF7B;AAAA,UAEiD,8BAFjD,gBAEiD,8BAFjD;AAAA,UAEiF,6BAFjF,gBAEiF,6BAFjF;AAAA,UAEgH,WAFhH,gBAEgH,WAFhH;AAAA,UAE6H,gBAF7H,gBAE6H,gBAF7H;AAAA,UAGM,kBAHN,GAG6B,qBAH7B,CAGM,kBAHN;AAIF,UAAM,WAAW,GAAG,CAAC,MAAM,CAAC,kBAAD,CAAN,CAA2B,SAAhD;AACA,UAAM,WAAW,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,IAAnB,CAApB;;AAEA,UAAI,MAAM,CAAC,MAAP,KAAkB,CAAtB,EAAyB;AAAE,eAAO,IAAP;AAAa;;AACxC,UAAM,oBAAoB,GAAG;AAAE,cAAM,EAAE;AAAV,OAA7B;AACA,UAAM,iBAAiB,GAAG,MAAM,CAAC,kBAAD,CAAhC;AACA,aACI,kCACI;AAAK,iBAAS,EAAC;AAAf,SAEK,iBAAiB,KAAK,gBAAgB,KAAK,KAArB,IAA8B,IAAnC,CAAjB,IACG;AAAK,iBAAS,EAAC,sBAAf;AAAsC,aAAK,EAAE;AAA7C,SACK,CAAC,WAAD,IAAgB,kBAAhB,GACG,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,iBAAiB,CAAC,SADX;AAEb,kBAAU,EAAE,iBAAiB,CAAC,eAFjB;AAGb,gBAAQ,EAAE,iBAAiB,CAAC;AAHf,OAAjB,EAII;AAAK,iBAAS,EAAC;AAAf,S,GAAA,EAAwB;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE,iBAAiB,CAAC;AAA5B;AAA9B,QAAxB,E,GAAA,EAA8F;AAAM,iBAAS,EAAC;AAAhB,SAA0B,gBAA1B,CAA9F,CAJJ,CADH,GAOG;AAAK,iBAAS,EAAC,OAAf;AAAuB,+BAAuB,EAAE;AAAE,gBAAM,EAAE,iBAAiB,CAAC;AAA5B;AAAhD,QARR,EASI;AAAK,iBAAS,EAAC;AAAf,SAAyB,iBAAiB,CAAC,KAAlB,CAAwB,MAAjD,EAA+D,GAA/D,CATJ,CAHR,EAeI;AAAK,iBAAS,EAAC,qBAAf;AAAqC,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA5C,SACK,iBAAiB,KAAK,QAAtB,IAAkC;AAAQ,iBAAS,EAAC,6BAAlB;AAAgD,aAAK,EAAC,cAAtD;AAAoE,sBACxF,cADoB;AAE/B,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,aAAL,CAAmB,MAAnB,CAAN;AAAA;AAFsB,QADvC,EAII,oBAAC,2CAAD,EAAmB;AAAC,sBAAc,EAAC,OAAhB;AAAwB,8BAAsB,EAAE,GAAhD;AAAqD,uBAAe,EAAE;AAAtE,OAAnB,EACI,oBAAC,qBAAD,EAAU;AACN,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,wBAAL,EAAN;AAAA,SADT;AAEN,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,wBAAL,EAAN;AAAA,SAFT;AAGN,YAAI,EAAE,iBAAiB,CAAC,KAHlB;AAGyB,qBAAa,EAAE,aAHxC;AAGuD,WAAG,EAAE,iBAAiB,CAAC,KAAlB,CAAwB,GAHpF;AAGyF,aAAK,EAAE,KAHhG;AAGuG,cAAM,EAAE,WAH/G;AAG4H,gBAAQ,EAAE,KAAK;AAH3I,OAAV,CADJ,CAJJ,EAUK,iBAAiB,KAAK,QAAtB,IAAkC;AAAQ,iBAAS,EAAC,4BAAlB;AAA+C,aAAK,EAAC,aAArD;AAAkE,sBAAY,aAA9E;AAA4F,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,aAAL,CAAmB,MAAnB,CAAN;AAAA;AAArG,QAVvC,CAfJ,CADJ,EA8BK,iBAAiB,KAAK,KAAtB,IAA+B;AAAK,iBAAS,EAAC;AAAf,SAC3B,8BAA8B,KAAK,CAAnC,IAAwC;AAAQ,iBAAS,EAAC,6BAAlB;AAAgD,aAAK,EAAC,cAAtD;AAAoE,sBAAY,cAAhF;AAA+F,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,wBAAL,EAAP;AAAA;AAAxG,QADb,EAE3B,6BAA6B,KAAK,CAAlC,IAAuC;AAAQ,iBAAS,EAAC,4BAAlB;AAA+C,aAAK,EAAC,aAArD;AAAkE,sBAAY,aAA9E;AAA4F,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,uBAAL,EAAP;AAAA;AAArG,QAFZ,EAG5B;AAAK,iBAAS,EAAC,kBAAf;AAAkC,aAAK,EAAE;AAAE,yBAAe;AAAjB;AAAzC,SACK,MAAM,CAAC,GAAP,CAAW,UAAC,IAAD,EAAO,KAAP;AAAA,eACR;AAAK,aAAG,wBAAiB,IAAI,CAAC,KAAL,CAAW,OAA5B,CAAR;AAA+C,iBAAO,EAAE,iBAAC,CAAD;AAAA,mBAAO,MAAI,CAAC,aAAL,CAAmB,CAAnB,EAAsB,KAAtB,CAAP;AAAA,WAAxD;AAA6F,qBAAW,EAAE,qBAAC,CAAD;AAAA,mBAAO,MAAI,CAAC,QAAL,CAAc;AAAE,mCAAqB,EAAE;AAAzB,aAAd,CAAP;AAAA,WAA1G;AAAkK,mBAAS,EAAC;AAA5K,WACK,qBAAqB,KAAK,KAA1B,IAAmC;AAAK,mBAAS,EAAC,mBAAf;AAAmC,iBAAO,EAAE,iBAAC,CAAD;AAAA,mBAAO,MAAI,CAAC,aAAL,CAAmB,CAAnB,EAAsB,KAAtB,CAAP;AAAA;AAA5C,WAA+E,GAA/E,CADxC,EAEK,IAAI,CAAC,KAAL,CAAW,SAAX,KAAyB,aAAzB,GAAyC;AAAM,mBAAS,EAAC;AAAhB,UAAzC,GAAmF;AAAM,mBAAS,EAAC;AAAhB,UAFxF,EAGK,IAAI,CAAC,KAAL,CAAW,SAAX,KAAyB,aAAzB,IAA0C;AAAK,mBAAS,EAAC,iBAAf;AAAiC,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW;AAAjD,UAH/C,EAIK,IAAI,CAAC,KAAL,CAAW,SAAX,KAAyB,aAAzB,IAA0C;AAAK,mBAAS,EAAC,iBAAf;AAAiC,eAAK,EAAE,IAAI,CAAC,KAAL,CAAW,KAAnD;AAAwD,yBAAe,IAAI,CAAC,KAAL,CAAW,UAAlF;AAA8F,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW,GAA9G;AAAmH,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW;AAAnI,UAJ/C,CADQ;AAAA,OAAX,CADL,CAH4B,CA9BpC,CADJ;AA8CH;;;;EA7L6B,KAAK,CAAC,S;;AA4CtB,8BAAiB,cAAjB;AA5ClB,oC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICrBa,sB;;;;;AAMT,kCAAY,KAAZ,EAA8C;AAAA;;AAAA;;AAC1C,gGAAM,KAAN;;AAGJ,2BAAiB,UAAC,KAAD,EAAkD;AAI/D,UAAI,UAAJ;;AACA,UAAK,KAA6B,CAAC,GAA9B,KAAsC,OAA3C,EAAoD;AAChD,kBAAU,aAAM,MAAK,KAAL,CAAW,IAAjB,gBAA6B,KAAK,CAAC,MAAN,CAAkC,KAA/D,CAAV;AACA,cAAM,CAAC,IAAP,CAAY,UAAZ;AACH;;AAED,UAAI,KAAK,CAAC,IAAN,KAAe,OAAnB,EAA4B;AACxB,kBAAU,aAAM,MAAK,KAAL,CAAW,IAAjB,gBAA2B,MAAK,QAAL,CAAc,KAAzC,CAAV;AACA,cAAM,CAAC,IAAP,CAAY,UAAZ;AACH;AACJ,KAdD;;AAJ8C;AAE7C;;;;6BAmBK;AAAA;;AAAA,wBACoC,KAAK,KADzC;AAAA,UACM,WADN,eACM,WADN;AAAA,UACmB,YADnB,eACmB,YADnB;AAGF,aACI;AAAK,iBAAS,EAAC,oCAAf;AAAoD,aAAK,EAAE;AAAE,uBAAa,EAAE;AAAjB;AAA3D,SACI;AAAO,WAAG,EAAE,iBAAG;AAAA,iBAAE,MAAI,CAAC,QAAL,GAAgB,IAAlB;AAAA,SAAf;AAAsC,iBAAS,EAAE,mBAAC,KAAD;AAAA,iBAAW,MAAI,CAAC,cAAL,CAAoB,KAApB,CAAX;AAAA,SAAjD;AAA+G,WAAG,EAAC,gCAAnH;AAA2H,iBAAS,EAAC,eAArI;AAAoJ,sBAAY,gCAAhK;AAAwK,YAAI,EAAC,MAA7K;AAAoL,mBAAW,EAAE;AAAjM,QADJ,EAEI;AAAK,eAAO,EAAE,iBAAC,KAAD;AAAA,iBAAW,MAAI,CAAC,cAAL,CAAoB,KAApB,CAAX;AAAA,SAAd;AAAyE,iBAAS,EAAC;AAAnF,QAFJ,CADJ;AAMH;;;;EApCuC,KAAK,CAAC,S;;AAEhC,wCAAiB,wBAAjB;AAFlB,wD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRA;;AACA;;IAYa,qB;;;;;;;;;;;;;6BAEI;AAAA;;AAAA,wBAC+D,KAAK,KADpE;AAAA,UACD,QADC,eACD,QADC;AAAA,UACS,kBADT,eACS,kBADT;AAAA,UAC6B,UAD7B,eAC6B,UAD7B;AAAA,UACyC,iBADzC,eACyC,iBADzC;AAIT,aACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,cAAD,EAAe;AACX,kBAAU,EAAE,UADD;AAEX,YAAI,EAAE,kBAFK;AAGX,eAAO,EAAE,IAHE;AAIX,cAAM,EAAE;AAJG,OAAf,EAMK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,CAAP;AAAA,eACV,oBAAC,qDAAD,EAA0B;AACtB,aAAG,EAAE,CADiB;AAEtB,iBAAO,EAAE;AAFa,WAGlB,KAAI,CAAC,KAHa,CAA1B,CADU;AAAA,OAAb,CANL,CADJ,CADJ;AAkBH;;;;EAxBsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbA;;AACA;;AAGA;;IAwBa,qB;;;;;;;;;;;;;6BAEI;AAAA,wBAC2D,KAAK,KADhE;AAAA,UACD,MADC,eACD,MADC;AAAA,UACO,QADP,eACO,QADP;AAAA,UACiB,kBADjB,eACiB,kBADjB;AAAA,UACqC,iBADrC,eACqC,iBADrC;AAIT,UAAI,QAAQ,GAAG,EAAf;;AAEA,UAAI,MAAM,CAAC,IAAP,CAAY,QAAZ,EAAsB,MAAtB,GAA+B,CAAnC,EAAsC;AAClC,gBAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAD,EAAW,UAAC,OAAD,EAA4B,KAA5B,EAAqC;AACjE,iBAAO;AACH,qBAAS,EAAE,OAAO,CAAC,SADhB;AAEH,kBAAM,EAAE,OAAO,CAAC,MAFb;AAGH,wBAAY,EAAE,OAAO,CAAC,QAAR,CAAiB,UAH5B;AAIH,8BAAkB,EAAE,OAAO,CAAC,UAJzB;AAKH,6BAAiB,EAAE,OAAO,CAAC,iBALxB;AAMH,iBAAK,EAAE,OAAO,CAAC,KANZ;AAOH,6BAAiB,EAAE,OAAO,CAAC,iBAPxB;AAQH,gBAAI,EAAE,OAAO,CAAC,aARX;AASH,iCAAqB,EAAE,OAAO,CAAC,qBAT5B;AAUH,oBAAQ,EAAE,OAAO,CAAC,QAVf;AAWH,yBAAa,EAAE,OAAO,CAAC;AAXpB,WAAP;AAaH,SAdoB,CAAJ,CAAjB;AAeH;;AAED,aACI;AAAK,iBAAS,EAAE;AAAhB,SACI,oBAAC,6CAAD,EAAsB;AAClB,kBAAU,EAAE,QAAQ,CAAC,MADH;AAElB,gBAAQ,EAAE,QAFQ;AAGlB,0BAAkB,EAAE,kBAHF;AAIlB,cAAM,EAAE,MAJU;AAKlB,yBAAiB,EAAE;AALD,OAAtB,CADJ,CADJ;AAWH;;;;EArCsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BA;;AACA;;AACA;;AACA;;AACA;;IASa,yB;;;;;AAAb;AAAA;;AAAA;;;;AAGY,oBAAU,UAAC,QAAD,EAAsB;AACpC,UAAI,QAAJ,EAAc,OAAO,OAAP,CAAd,KACK,OAAO,MAAP;AACR,KAHO;;AAHZ;AA2CC;;;;6BApCgB;AAAA,wBAC8B,KAAK,KADnC;AAAA,UACD,OADC,eACD,OADC;AAAA,UACQ,iBADR,eACQ,iBADR;AAAA,UAED,YAFC,GAEsD,OAFtD,CAED,YAFC;AAAA,UAEa,KAFb,GAEsD,OAFtD,CAEa,KAFb;AAAA,UAEoB,MAFpB,GAEsD,OAFtD,CAEoB,MAFpB;AAAA,UAE4B,qBAF5B,GAEsD,OAFtD,CAE4B,qBAF5B;AAGT,UAAM,YAAY,GAAG;AACjB,uBAAe,EAAE;AADA,OAArB;AAGA,UAAM,UAAU,GAAG;AACf,aAAK,EAAE;AADQ,OAAnB;AAIA,UAAI,CAAC,4BAAL,EAAoB,OAChB;AAAG,YAAI,EAAE,+CAAgC,OAAhC,CAAT;AAAmD,iBAAS,EAAC;AAA7D,SACI;AAAK,iBAAS,EAAC,WAAf;AAA2B,aAAK,EAAE;AAAlC,SACI;AAAK,iBAAS,EAAC,eAAf;AAA+B,aAAK,EAAE;AAAE,eAAK,EAAE,GAAT;AAAc,gBAAM,EAAE;AAAtB;AAAtC,SACI;AAAK,WAAG,EAAE,OAAO,CAAC,WAAR,CAAoB,qBAApB,EAA2C;AAAE,WAAC,EAAE,GAAL;AAAU,WAAC,EAAE;AAAb,SAA3C,CAAV;AAA0E,aAAK,EAAE;AAAE,eAAK,EAAE,GAAT;AAAc,gBAAM,EAAE;AAAtB,SAAjF;AAA8G,WAAG,EAAE,yBAAU,qBAAV,CAAnH;AAAmJ,uBAAe,4BAAa,qBAAb,CAAlK;AAAuM,aAAK,EAAE,2BAAY,qBAAZ;AAA9M,QADJ,EAEI,oBAAC,iCAAD,EAAgB;AAAC,cAAM,EAAE,OAAO,CAAC,SAAjB;AAA4B,YAAI,EAAE,KAAK,OAAL,CAAa,OAAO,CAAC,QAArB,CAAlC;AAAkE,qBAAa,EAAC,QAAhF;AAAyF,qBAAa,EAAE,OAAO,CAAC;AAAhH,OAAhB,CAFJ,CADJ,CADJ,EAOI;AAAK,iBAAS,EAAC,SAAf;AAAyB,aAAK,EAAE;AAAhC,SACK,iBAAiB,IAAI;AAAK,iBAAS,EAAC,cAAf;AAClB,aAAK,EAAE;AAAE,eAAK,EAAE,SAAT;AAAoB,sBAAY,EAAE;AAAlC;AADW,SAEjB,YAFiB,CAD1B,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,aAAK,EAAE;AAAb,SAA0B,KAA1B,CADJ,CANJ,EASK,MAAM,CAAC,MAAP,GAAgB,CAAhB,IAAqB;AAAK,iBAAS,EAAC;AAAf,SAClB;AAAM,iBAAS,EAAC;AAAhB,QADkB,EAElB,kCAAO,MAAP,EAAsB,GAAtB,CAFkB,CAT1B,CAPJ,CADgB,CAApB,KAwBK,OAAO,IAAP;AACR;;;;EA1C0C,KAAK,CAAC,S;;AAC1C,yCAAe;AAAE,mBAAiB,EAAE;AAArB,CAAf;AADX,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbA;;AAEA;;AAEA;;IAaa,+B;;;;;AAGT,2CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,yGAAM,KAAN;;AAcI,wBAAc,YAAK;AAAA,UACf,YADe,GACE,MAAK,KADP,CACf,YADe;AAAA,wBAEU,MAAK,KAFf;AAAA,UAEf,UAFe,eAEf,UAFe;AAAA,UAEH,QAFG,eAEH,QAFG;AAGvB,UAAM,aAAa,GAAG,KAAK,CAAC,MAAN,CAAa,wDAAb,CAAtB;AACA,mBAAa,CAAC,GAAd,sCAAgD,YAAhD,cAAgE,UAAhE,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,cAAK,QAAL,CACI;AACI,kBAAQ,+BAAM,QAAN,sBAAmB,GAAG,CAAC,IAAJ,CAAS,IAA5B,EADZ;AAEI,oBAAU,EAAE,UAAU,GAAG;AAF7B,SADJ;AAMH,OARL,EASK,KATL,CASW,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,OATd;AAUH,KAdO;;AAbJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,EADD;AAET,gBAAU,EAAE;AAFH,KAAb;AAFa;AAMhB;;;;wCAEgB;AAAA,UACL,UADK,GACU,KAAK,KADf,CACL,UADK;;AAEb,UAAI,UAAJ,EAAgB;AACZ,aAAK,WAAL;AACH;AACJ;;;6BAkBK;AAAA,wBAC6B,KAAK,KADlC;AAAA,UACM,UADN,eACM,UADN;AAAA,UACkB,MADlB,eACkB,MADlB;AAAA,UAEM,QAFN,GAEmB,KAAK,KAFxB,CAEM,QAFN;AAGF,aACI,oBAAC,6CAAD,EAAsB;AAAC,cAAM,EAAE,MAAT;AAAiB,gBAAQ,EAAE,QAA3B;AAAqC,0BAAkB,EAAE,KAAK;AAA9D,OAAtB,CADJ;AAGH;;;;EAxCgD,KAAK,CAAC,S;;AACzC,iDAAiB,iCAAjB;AADlB,0E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA,mBAAO,CAAC,mCAAD,CAAP;;AAEA;;AACA;;AAEA;;AACA;;IAuBa,0B;;;;;;;;;;;;;6BAEH;AAAA,wBAC8I,KAAK,KADnJ;AAAA,UACM,KADN,eACM,KADN;AAAA,UACa,aADb,eACa,aADb;AAAA,UAC4B,YAD5B,eAC4B,YAD5B;AAAA,UAC0C,aAD1C,eAC0C,aAD1C;AAAA,UACyD,kBADzD,eACyD,kBADzD;AAAA,UAC6E,oBAD7E,eAC6E,oBAD7E;AAAA,UACmG,QADnG,eACmG,QADnG;AAAA,UAC6G,OAD7G,eAC6G,OAD7G;AAAA,UACsH,mBADtH,eACsH,mBADtH;AAEF,UAAI,2BAA2B,GAAG,UAAU,CAAC,6BAAD,EAAgC;AAAE,kBAAU,QAAQ,KAAK,IAAzB;AAA+B,kBAAU,QAAQ,KAAK;AAAtD,OAAhC,CAA5C;AACA,UAAI,YAAY,GAAG,2BAAnB;AAEA,aACI;AAAK,iBAAS,EAAE,2BAAhB;AAA6C,aAAK,EAAE;AAAE,mBAAS,EAAE;AAAb;AAApD,SACI;AAAK,iBAAS,EAAC,cAAf;AAA8B,eAAO,EAAE;AAAvC,QADJ,EAEI;AAAK,iBAAS,EAAC,YAAf;AAA4B,UAAE,EAAC;AAA/B,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAI,iBAAS,EAAC;AAAd,SACK,GAAG,CAAC,KAAD,EAAQ,UAAC,IAAD,EAAO,CAAP,EAAY;AACpB,eACI;AAAI,aAAG,EAAE,CAAT;AAAY,mBAAS,EAAE;AAAvB,WACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC;AAAnC,SAAjB,EACI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADJ,CADJ,CADJ;AAOH,OARG,CADR,CADJ,EAcK,aAAa,GACV;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,YAAI,EAAE,aAAT;AAAwB,cAAM,EAAC;AAA/B,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,CADJ,CADJ,EAMI;AAAM,iBAAS,EAAC;AAAhB,SAAyB,yCAAzB,CANJ,CADU,GAUV,IAxBR,EA2BI;AAAK,iBAAS,EAAC;AAAf,SACI,kGADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,YAAI,EAAE,aAAT;AAAwB,cAAM,EAAC;AAA/B,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,CADJ,EAII;AAAM,iBAAS,EAAC;AAAhB,QAJJ,EAKI;AAAG,YAAI,EAAE,YAAT;AAAuB,cAAM,EAAC;AAA9B,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,CALJ,CAFJ,CA3BJ,EA0CI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,cAAX;AAA0B,YAAI,EAAE,kBAAhC;AAAoD,kBAAU,EAAE,oBAAhE;AAAsF,WAAG,EAAC;AAA1F,OAAjB,EACI,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,YAAN;AAAoB,aAAK,EAAE;AAA3B,OAAhB,CADJ,EAEI,iEAFJ,CA1CJ,CADJ,CADJ,CAFJ,CADJ;AA2DH;;;;EAlE2C,KAAK,CAAC,S;;AAAtD,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BA,mBAAO,CAAC,mCAAD,CAAP;;AAEA;;AACA;;AACA;;AACA;;IA6Ba,kB;;;;;AAET,8BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,4FAAM,KAAN;;AAMI,qBAAW,YAAK;AACpB,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE;AAAZ,OAAd;;AACA,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,QAA/B;AAEH,KAJO;;AAKA,sBAAY,YAAK;AACrB,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE;AAAZ,OAAd;;AACA,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,MAA/B;AACH,KAHO;;AAVJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE;AADD,KAAb;AAFa;AAKhB;;;;6BAYK;AAAA,wBAG6E,KAAK,KAHlF;AAAA,UAEM,KAFN,eAEM,KAFN;AAAA,UAEa,aAFb,eAEa,aAFb;AAAA,UAE4B,YAF5B,eAE4B,YAF5B;AAAA,UAE0C,aAF1C,eAE0C,aAF1C;AAAA,UAEyD,WAFzD,eAEyD,WAFzD;AAAA,UAEsE,iBAFtE,eAEsE,iBAFtE;AAAA,UAEyF,YAFzF,eAEyF,YAFzF;AAAA,UAEuG,mBAFvG,eAEuG,mBAFvG;AAAA,UAE4H,aAF5H,eAE4H,aAF5H;AAAA,UAGE,kBAHF,eAGE,kBAHF;AAAA,UAGsB,cAHtB,eAGsB,cAHtB;AAAA,UAGsC,oBAHtC,eAGsC,oBAHtC;AAAA,UAG4D,YAH5D,eAG4D,YAH5D;AAAA,UAIM,QAJN,GAImB,KAAK,KAJxB,CAIM,QAJN;AAKF,aACI;AAAK,iBAAS;AAAd,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,QAAD,IAAa;AAAQ,iBAAS,EAAC,QAAlB;AAA2B,eAAO,EAAE,KAAK;AAAzC,QADlB,EAEK,QAAQ,IAAI;AAAQ,iBAAS,EAAC,eAAlB;AAAkC,eAAO,EAAE,KAAK;AAAhD,QAFjB,EAKI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,cAAX;AAA0B,YAAI,EAAE,YAAhC;AAA8C,kBAAU,EAAE,cAA1D;AAA0E,WAAG,EAAC;AAA9E,OAAjB,EACI,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,+BAAa,YAAb,EAA2B,WAA3B,CAAN;AAA+C,aAAK,EAAE;AAAtD,OAAhB,CADJ,CALJ,EASI;AAAG,YAAI,EAAC;AAAR,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,CATJ,CADJ,EAgBI,oBAAC,yDAAD,EAA2B;AACvB,aAAK,EAAE,KADgB;AAEvB,yBAAiB,EAAE,iBAFI;AAGvB,0BAAkB,EAAE,kBAHG;AAIvB,4BAAoB,EAAE,oBAJC;AAKvB,2BAAmB,EAAE,mBALE;AAMvB,gBAAQ,EAAE,QANa;AAOvB,eAAO,EAAE,KAAK,SAPS;AAQvB,qBAAa,EAAE,aARQ;AASvB,oBAAY,EAAE,YATS;AAUvB,qBAAa,EAAE;AAVQ,OAA3B,CAhBJ,CADJ;AAgCH;;;;EAxDmC,KAAK,CAAC,S;;AAC5B,oCAAiB,oBAAjB;AADlB,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCA;;IAqBa,kB;;;;;AACT,8BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,4FAAM,KAAN;;AAMI,6BAAmB,UAAC,GAAD,EAAQ;AAC/B,YAAK,QAAL,CAAc;AAAE,iBAAS,EAAE,GAAG,CAAC,MAAJ,CAAW;AAAxB,OAAd;AACH,KAFO;;AAGA,mBAAS,YAAK;AAAA,UACC,cADD,GACoB,MAAK,KADzB,CACV,SADU;;AAGlB,UAAI,CAAC,cAAL,EAAqB;AACjB;AACH;;AAED,UAAI,OAAO,GAAG,EAAd;AACA,UAAI,SAAS,GAAG,EAAhB;AACA,UAAI,OAAO,GAAG,EAAd;AACA,UAAI,IAAI,GAAG,EAAX;AAGA,aAAO,GAAG,uCAAV;AACA,eAAS,GAAG,cAAZ;AACA,UAAI,qCAA8B,cAA9B,CAAJ;AACA,aAAO,GAAG,OAAO,GAAG,SAAV,GAAsB,IAAhC;AAEA,aAAO;AACP,YAAM,CAAC,IAAP,CAAY,OAAZ,EAAqB,QAArB;AACH,KApBO;;AAuBA,gCAAsB,UAAC,GAAD,EAA6B;AACvD,UAAI,GAAG,CAAC,GAAJ,KAAY,OAAhB,EAAyB;AACrB,cAAK,MAAL;AACH;AAEJ,KALO;;AA/BJ,UAAK,KAAL,GAAa;AACT,eAAS,EAAC;AADD,KAAb;AAFa;AAKhB;;;;6BAoCK;AAAA;;AAAA,wBAC6G,KAAK,KADlH;AAAA,UACM,eADN,eACM,eADN;AAAA,UACuB,SADvB,eACuB,SADvB;AAAA,UACkC,kBADlC,eACkC,kBADlC;AAAA,UACsD,QADtD,eACsD,QADtD;AAAA,UACgE,UADhE,eACgE,UADhE;AAAA,UAC4E,YAD5E,eAC4E,YAD5E;AAAA,UAC0F,MAD1F,eAC0F,MAD1F;AAAA,UACkG,MADlG,eACkG,MADlG;AAAA,UAEM,SAFN,GAEoB,KAAK,KAFzB,CAEM,SAFN;AAGF,UAAM,kBAAkB,GAAG,SAAS,GAAG,QAAH,GAAc,QAAlD;AACA,UAAM,eAAe,GAAG,QAAQ,IAAI,UAApC;AACA,aACI;AAAK,iBAAS,gCAAyB,kBAAzB,CAAd;AAA6D,YAAI,EAAC,gBAAlE;AAAkF,sBAAY;AAA9F,SAEY;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,QAAlB;AAA2B,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,mBAAX;AAAA;AAApC,QADJ,EAEI;AACI,WAAG,EAAC,gCADR;AAEI,iBAAS,EAAC,cAFd;AAGI,UAAE,EAAC,cAHP;AAGqB,sBACN,gCAJf;AAKI,YAAI,EAAC,MALT;AAMI,aAAK,EAAE,SANX;AAOI,mBAAW,EAAC,gCAPhB;AAQI,gBAAQ,EAAE,KAAK,gBARnB;AASI,kBAAU,EAAE,KAAK;AATrB,QAFJ,CAFZ,EAqBI;AAAK,iBAAS,EAAC;AAAf,SAEK,CAAC,CAAC,GAAF,CAAO,eAAP,EAAyB,UAAC,IAAD,EAAc,KAAd;AAAA,eACtB;AAAK,mBAAS,EAAC,OAAf;AAAuB,aAAG,EAAE;AAA5B,WACI;AAAK,mBAAS,EAAC,YAAf;AAA4B,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAArD,UADJ,EAGI;AAAI,mBAAS,EAAC;AAAd,WACK,CAAC,CAAC,GAAF,CAAO,IAAI,CAAC,KAAZ,EAAoB,UAAC,OAAD,EAA8B,KAA9B;AAAA,iBACjB;AAAI,eAAG,EAAE;AAAT,aAAgB,oBAAC,4BAAD,EAAiB;AAAC,gBAAI,EAAE,OAAO,CAAC,IAAf;AAAqB,sBAAU,EAAE,OAAO,CAAC;AAAzC,WAAjB,EACZ;AAAM,mCAAuB,EAAE;AAAE,oBAAM,EAAE,OAAO,CAAC;AAAlB;AAA/B,YADY,CAAhB,CADiB;AAAA,SAApB,CADL,CAHJ,CADsB;AAAA,OAAzB,CAFL,EAeK,eAAe,IAAI;AAAK,iBAAS,EAAC;AAAf,SACf,YAAY,KAAK,EAAjB,IAAuB;AAAK,iBAAS,EAAC;AAAf,SAA2B,YAA3B,CADR,EAEf,QAAQ,KAAK,EAAb,IAAmB,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,QAAP;AAAiB,cAAM,EAAC,QAAxB;AAAiC,iBAAS,EAAC;AAA3C,OAAnB,CAFJ,EAGf,UAAU,KAAK,EAAf,IAAqB,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,UAAP;AAAmB,cAAM,EAAC,QAA1B;AAAmC,iBAAS,EAAC;AAA7C,OAAnB,CAHN,CAfxB,EAqBI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,GAAP;AAAa,WAAG,EAAC,UAAjB;AAA4B,iBAAS,EAAC,OAAtC;AAA+C,WAAG,EAAE,MAApD;AAA4D,aAAK,EAAE,MAAnE;AAAyE,uBAAc,MAAvF;AAA6F,sBAAY;AAAzG,OAAnB,CArBJ,CArBJ,CADJ;AAiDH;;;;EAhGmC,KAAK,CAAC,S;;AAA9C,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;;IAYa,uB;;;;;AAAb;AAAA;;AAAA;;;;AAEY,iCAAuB,UAAC,UAAD,EAAwB;AACnD,UAAI,UAAJ,EAAgB;AACZ,eAAO,UAAP;AACH;AACJ,KAJO;;AAFZ;AAkDC;;;;6BA1CS;AAAA;;AAAA,wBACmF,KAAK,KADxF;AAAA,UACM,YADN,eACM,YADN;AAAA,UACoB,QADpB,eACoB,QADpB;AAAA,UAC8B,YAD9B,eAC8B,YAD9B;AAAA,UAC4C,QAD5C,eAC4C,QAD5C;AAAA,UACsD,QADtD,eACsD,QADtD;AAAA,UACgE,cADhE,eACgE,cADhE;AAGF,aACI;AAAK,iBAAS,EAAC,SAAf;AAAyB,YAAI,EAAC,YAA9B;AAA0C,sBAAY;AAAtD,SACK,QAAQ,IACL,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,QAAQ,CAAC,IADF;AAEb,kBAAU,EAAE,QAAQ,CAAC,UAFR;AAGb,iBAAS,EAAE,QAAQ,CAAC,UAHP;AAIb,iBAAS,EAAC,sBAJG;AAKb,aAAK,EAAE;AAAE,uCAAsB,QAAQ,CAAC,GAA/B;AAAF;AALM,OAAjB,CAFR,EAWI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,CAAC,GAAF,CAAO,YAAP,EAAsB,UAAC,IAAD,EAA2B,KAA3B;AAAA,eAA6C;AAAK,aAAG,EAAE;AAAV,WAChE,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,IADE;AAEb,oBAAU,EAAE,IAAI,CAAC,UAFJ;AAGb,eAAK,EAAE;AAAE,iBAAK,EAAE,IAAI,CAAC;AAAd,WAHM;AAIb,mBAAS,EAAE,MAAI,CAAC,oBAAL,CAA0B,IAAI,CAAC,UAA/B;AAJE,SAAjB,EAMI;AAAM,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA/B,UANJ,CADgE,CAA7C;AAAA,OAAtB,CADL,CAXJ,EAwBI;AAAK,eAAO,EAAE,YAAd;AAA4B,UAAE,EAAC;AAA/B,SACI;AAAM,iBAAS,EAAC,SAAhB;AAA0B,UAAE,EAAC;AAA7B,S,oBAAA,EACI;AAAM,iBAAS,EAAE,QAAQ,GAAG,kBAAH,GAAwB;AAAjD,QADJ,CADJ,CAxBJ,EA8BK,QAAQ,IACL;AAAK,eAAO,EAAE,cAAd;AAA8B,UAAE,EAAC;AAAjC,SACI;AAAM,iBAAS,EAAC,YAAhB;AAA6B,UAAE,EAAC;AAAhC,QADJ,CA/BR,CADJ;AAsCH;;;;EAjDwC,KAAK,CAAC,S;;AAAnD,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;;AACA;;AACA;;AAIA;;AACA;;IAiCa,iC;;;;;AAET,6CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,2GAAM,KAAN;;AAQI,uBAAa,UAAC,QAAD,EAAqB;AACtC,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE;AAAZ,OAAd;AACH,KAFO;;AAyCA,wBAAc,YAAK;AACvB,UAAI,YAAY,IAAI,YAAY,CAAC,QAAjC,EAA2C;AACvC,YAAI,IAAI,GAAG,YAAY,CAAC,QAAxB;AACA,gBAAQ,CAAC,eAAT,CAAyB,KAAzB,CAA+B,QAA/B,GAA0C,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAV,CAAhB,CAA2C,QAA5C,CAAf,GAAuE,IAAjH;AACH;AAEJ,KANO;;AAeA,mCAAyB;AAAA,aAAM,QAAQ,CAAC;AAAA,eAAM,MAAK,SAAL,EAAN;AAAA,OAAD,EAAyB,GAAzB,CAAd;AAAA,KAAzB;;AAEA;AAAA;AAAA;AAAA;AAAA,4BAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AACR,oBADQ,GACG,MAAK,KADR,CACR,MADQ;AAEV,yBAFU,aAEO,MAAM,CAAC,QAAP,CAAgB,IAFvB,yBAE0C,MAF1C;AAGV,uBAHU,GAGE;AAAE,mBAAG,EAAE;AAAP,eAHF;AAAA;AAAA;AAAA,qBAMN,SAAS,CAAC,KAAV,CAAgB,SAAhB,CANM;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAQZ,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AARY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAZ;;AAWA,0CAAgC,YAAK;AACzC,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAI,MAAM,CAAC,YAAX,EAAyB;AACrB,cAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CAAtB;;AACA,cAAI,aAAJ,EAAmB;AACf,0DAAkB,aAAlB;AACH;AACJ,SALD,MAMK;AACD,gBAAM,CAAC,6BAAP,IAAwC,MAAM,CAAC,6BAAP,EAAxC;AACH;AACJ;AACJ,KAZO;;AAcA,4BAAkB,YAAK;AAC3B,aAAO,OAAO,MAAP,KAAkB,WAAlB,KAAkC,MAAM,CAAC,6BAAP,IAAwC,MAAM,CAAC,YAAjF,CAAP;AAEH,KAHO;;AAIA,0CAAgC,YAAK;AACzC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;AACH,KAFO;;AAGA,qCAA2B,YAAK;AACpC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;AACH,KAFO;;AAGA,iCAAuB,YAAK;AAChC,YAAM,aAAN,IAAuB,MAAM,aAAN,CAAoB,WAApB,EAAvB;AACA,YAAM,aAAN,IAAuB,MAAM,aAAN,QAAvB,IAAsD,MAAM,aAAN,SAA4B,QAA5B,EAAtD;AACH,KAHO;;AApGJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,KADD;AAET,cAAQ,EAAE,KAFD;AAGT,oBAAc,EAAE,KAHP;AAIT,WAAK,EAAE;AAJE,KAAb;AAFa;AAQhB,G,CAID;;;;;gCAEiB;AACb,UAAI,OAAO,GAAG,QAAQ,CAAC,cAAT,CAAwB,sBAAxB,CAAd;AACA,UAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAT,CAAuB,mBAAvB,EAA4C,qBAA5C,GAAoE,GAA/F;AACA,UAAM,SAAS,GAAG,QAAQ,CAAC,aAAT,CAAuB,sBAAvB,EAA+C,qBAA/C,GAAuE,GAAzF;AACA,UAAI,QAAQ,GAAG,OAAO,GAAG,kBAAkB,GAAG,EAArB,GAA0B,CAA7B,GAAiC,SAAS,GAAG,EAAZ,GAAiB,CAAxE;;AAEA,UAAI,QAAJ,EAAc;AACV,aAAK,QAAL,CAAc;AAAE,kBAAQ,EAAE;AAAZ,SAAd;AAGH,OAJD,MAIO;AACH,aAAK,QAAL,CAAc;AAAE,kBAAQ,EAAE;AAAZ,SAAd;AACH;;AAED,UAAI,SAAS,GAAG,QAAQ,CAAC,IAAT,CAAc,SAAd,IAA2B,QAAQ,CAAC,eAAT,CAAyB,SAApE;;AAGA,UAAI,OAAJ,EAAa;AACT,YAAI,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,+BAAvB,KAA2D,QAAQ,CAAC,aAAT,CAAuB,+BAAvB,EAAwD,qBAAxD,EAA9E;;AACA,YAAI,CAAC,YAAL,EAAmB;AACf;AACH;;AACD,YAAI,QAAQ,GAAI,SAAS,IAAI,OAAO,CAAC,SAAR,GAAoB,OAAO,CAAC,YAA5B,GAA2C,YAAY,CAAC,MAA5D,CAAV,GAAiF,GAAhG;;AACA,YAAI,QAAQ,GAAG,GAAf,EAAoB;AAChB,kBAAQ,CAAC,cAAT,CAAwB,cAAxB,EAAwC,KAAxC,CAA8C,KAA9C,GAAsD,QAAQ,GAAG,GAAjE;AAEH,SAHD,MAGO;AACH,kBAAQ,CAAC,cAAT,CAAwB,cAAxB,EAAwC,KAAxC,CAA8C,KAA9C,GAAsD,MAAtD;AACH;AACJ;AACJ;;;wCAEgB;AACb,cAAQ,CAAC,gBAAT,CAA0B,QAA1B,EAAoC,KAAK,sBAAL,EAApC;AACA,WAAK,KAAL,CAAW,SAAX,IAAwB,KAAK,WAAL,EAAxB;AACH;;;2CAWmB;AAEhB,cAAQ,CAAC,mBAAT,CAA6B,QAA7B,EAAuC,KAAK,sBAAL,EAAvC;AAEH;;;6BA2CK;AAAA;;AAAA,wBACuH,KAAK,KAD5H;AAAA,UACM,eADN,eACM,eADN;AAAA,UACuB,QADvB,eACuB,QADvB;AAAA,UACiC,YADjC,eACiC,YADjC;AAAA,UAC+C,kBAD/C,eAC+C,kBAD/C;AAAA,UACmE,QADnE,eACmE,QADnE;AAAA,UAC6E,UAD7E,eAC6E,UAD7E;AAAA,UACyF,SADzF,eACyF,SADzF;AAAA,UACoG,MADpG,eACoG,MADpG;AAAA,UAC4G,MAD5G,eAC4G,MAD5G;AAAA,wBAEmC,KAAK,KAFxC;AAAA,UAEM,QAFN,eAEM,QAFN;AAAA,UAEgB,cAFhB,eAEgB,cAFhB;AAGF,UAAM,YAAY,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAM,CAAC,6BAAxC,IAAyE,MAAM,CAAC,gBAAhF,IAAoG,MAAM,CAAC,gBAAhI;AACA,UAAM,MAAM,GAAG,QAAQ,GAAG,QAAH,GAAc,EAArC;AACA,UAAM,aAAa,GAAG,CAAC,QAAD,GAAY,QAAZ,GAAuB,EAA7C;AACA,UAAM,GAAG,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,SAAjC,IAA8C,MAAM,CAAC,QAAP,CAAgB,IAA1E;AACA,UAAM,YAAY,GAAG,OAAO,MAAP,IAAiB,WAAjB,IAAgC,MAAM,CAAC,UAAvC,IAAqD,MAAM,CAAC,UAAP,CAAkB,YAA5F;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BM,aACE;AAAK,iBAAS,EAAE,UAAU,CAAC,qBAAD,CAA1B;AAAmD,UAAE,EAAC;AAAtD,SACI;AAAK,iBAAS,EAAC;AAAf,SACA;AAAQ,iBAAS,0BAAmB,KAAK,KAAL,CAAW,QAAX,GAAsB,YAAtB,GAAqC,EAAxD,CAAjB;AAA+E,eAAO,EAAE;AAAA,iBAAI,MAAI,CAAC,UAAL,CAAgB,CAAC,MAAI,CAAC,KAAL,CAAW,QAA5B,CAAJ;AAAA;AAAxF,QADA,EAGQ,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,QAAV;AAAoB,YAAI,EAAE,QAAQ,CAAC,IAAnC;AAAyC,kBAAU,EAAE,QAAQ,CAAC,UAA9D;AAA0E,iBAAS,EAAE,QAAQ,CAAC;AAA9F,OAAjB,EACI;AAAA,sBAAiB,WAAjB;AAA6B,aAAK,EAAE,QAAQ,CAAC,UAA7C;AAAyD,WAAG,EAAE,QAAQ,CAAC,UAAvE;AAAmF,WAAG,EAAE,QAAQ,CAAC;AAAjG,QADJ,CAHR,CADJ,EAWD,oBAAC,uCAAD,EAAmB;AACV,uBAAe,EAAE,eADP;AAEV,iBAAS,EAAE,KAAK,KAAL,CAAW,QAFZ;AAGV,0BAAkB,EAAE,kBAHV;AAIV,gBAAQ,EAAE,QAJA;AAKV,kBAAU,EAAE,UALF;AAMV,oBAAY,EAAE,YANJ;AAOV,cAAM,EAAE,MAPE;AAQV,cAAM,EAAE;AARE,OAAnB,CAXC,CADF;AA0BT;;;;EA3KkD,KAAK,CAAC,S;;AAC3C,mDAAiB,mCAAjB;AADlB,8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCA;;AACA;;AACA;;AACA;;AACA;;IA2Ca,4B;;;;;AAET,wCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,sGAAM,KAAN;;AAQI,qBAAW,YAAK;AACpB,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE,CAAC,MAAK,KAAL,CAAW,QAAxB;AAAkC,sBAAc,EAAE;AAAlD,OAAd;AACH,KAFO;;AAIA,2BAAiB,YAAK;AAC1B,UAAM,cAAc,GAAG,OAAO,MAAP,IAAiB,WAAjB,IAAgC,MAAM,CAAC,cAA9D;;AACA,UAAI,cAAJ,EAAoB;AAChB,WAAG,CAAC,QAAJ,CAAa,IAAb,GAAoB,sCAApB;AACH,OAFD,MAGK,MAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,CAAC,MAAK,KAAL,CAAW,cAA9B;AAA8C,gBAAQ,EAAE;AAAxD,OAAd;AACR,KANO;;AA6BA,mCAAyB;AAAA,aAAM,QAAQ,CAAC;AAAA,eAAM,MAAK,SAAL,EAAN;AAAA,OAAD,EAAyB,GAAzB,CAAd;AAAA,KAAzB;;AAEA,iCAAuB,YAAK;AAChC,YAAM,aAAN,IAAyB,MAAM,aAAN,CAAoB,WAApB,EAAzB;AACA,YAAM,aAAN,IAAuB,MAAM,aAAN,QAAvB,IAAsD,MAAM,aAAN,SAA4B,QAA5B,EAAtD;AACH,KAHO;;AA1CJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,KADD;AAET,cAAQ,EAAE,KAFD;AAGT,oBAAc,EAAE;AAHP,KAAb;AAFa;AAOhB;;;;gCAcgB;AACb,UAAM,SAAS,GAAG,QAAQ,CAAC,cAAT,CAAwB,gBAAxB,EAA0C,qBAA1C,GAAkE,GAApF;;AACA,UAAI,SAAS,GAAG,GAAZ,GAAkB,CAAtB,EAAyB;AACrB,aAAK,QAAL,CAAc;AAAE,kBAAQ,EAAE;AAAZ,SAAd;AAEH,OAHD,MAGO;AACH,aAAK,QAAL,CAAc;AAAE,kBAAQ,EAAE;AAAZ,SAAd;AACH;AACJ;;;wCAEgB;AACb,cAAQ,CAAC,gBAAT,CAA0B,QAA1B,EAAoC,KAAK,sBAAL,EAApC;AAEH;;;2CAEmB;AAChB,UAAM,MAAM,GAAG,QAAQ,CAAC,cAAT,CAAwB,YAAxB,CAAf;AACA,cAAQ,CAAC,mBAAT,CAA6B,QAA7B,EAAuC,KAAK,sBAAL,EAAvC;AAEH;;;6BASK;AAAA;;AAAA,wBAGwB,KAAK,KAH7B;AAAA,UACM,YADN,eACM,YADN;AAAA,UACoB,eADpB,eACoB,eADpB;AAAA,UACqC,QADrC,eACqC,QADrC;AAAA,UACgD,YADhD,eACgD,YADhD;AAAA,UAEA,YAFA,eAEA,YAFA;AAAA,UAEc,UAFd,eAEc,UAFd;AAAA,UAE0B,QAF1B,eAE0B,QAF1B;AAAA,UAEoC,QAFpC,eAEoC,QAFpC;AAAA,UAE8C,YAF9C,eAE8C,YAF9C;AAAA,UAGE,kBAHF,eAGE,kBAHF;AAAA,UAIM,QAJN,GAImB,KAAK,KAJxB,CAIM,QAJN;AAKF,UAAM,iBAAiB,GAAG,QAAQ,IAAI,YAAtC;AAEA,aACI;AAAK,iBAAS,EAAE,UAAU,CAAC,oBAAD,CAA1B;AAAkD,UAAE,EAAC;AAArD,SACI;AAAQ,iBAAS,EAAC,sBAAlB;AAAyC,eAAO,EAAE,KAAK,oBAAvD;AAA6E,aAAK,EAAC,6CAAnF;AAA+F,iBAAS,EAAC;AAAzG,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAEM,UAAU,KAAK,EAAf,IAAqB,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,UAAP;AAAmB,cAAM,EAAC,QAA1B;AAAmC,iBAAS,EAAC;AAA7C,OAAnB,CAF3B,EAGW,QAAQ,KAAK,EAAb,IAAmB,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,QAAP;AAAiB,cAAM,EAAC,QAAxB;AAAiC,iBAAS,EAAC;AAA3C,OAAnB,CAH9B,EAII,CAAC,UAAU,IAAI,QAAf,KAA4B;AAAK,iBAAS,EAAC;AAAf,QAJhC,EAKI;AAAQ,iBAAS,EAAC,mBAAlB;AAAsC,eAAO,EAAE,KAAK;AAApD,QALJ,CADJ,EAUI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,QAAQ,CAAC,IAAhB;AAAsB,kBAAU,EAAE,QAAQ,CAAC,UAA3C;AAAuD,iBAAS,EAAE,QAAQ,CAAC;AAA3E,OAAjB,EACI;AAAK,WAAG,EAAE,QAAQ,CAAC,GAAnB;AAAwB,WAAG,EAAE,QAAQ,CAAC,UAAtC;AAAkD,aAAK,EAAE,QAAQ,CAAC,UAAlE;AAA4E,uBAAc,MAA1F;AAAgG,sBAAY;AAA5G,QADJ,CADJ,CAVJ,EAiBI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,GAAP;AAAa,WAAG,EAAC,UAAjB;AAA4B,iBAAS,EAAC;AAAtC,OAAnB,EACA;AAAK,WAAG,EAAE,uCAAV;AAAmD,WAAG,EAAE,MAAxD;AAAgE,aAAK,EAAE,MAAvE;AAA6E,uBAAc,MAA3F;AAAiG,sBAAY;AAA7G,QADA,CAjBJ,CAFJ,EAyBI;AAAK,iBAAS,EAAE,UAAU,CAAC,kBAAD,EAAqB;AAAE,oBAAU;AAAZ,SAArB,CAA1B;AAAiF,UAAE,EAAC;AAApF,SACI,oBAAC,2CAAD,EAAwB;AACpB,gBAAQ,EAAE,iBADU;AAEpB,oBAAY,EAAE,YAFM;AAGpB,gBAAQ,EAAE,QAHU;AAIpB,oBAAY,EAAE,KAAK,QAJC;AAKpB,sBAAc,EAAE,KAAK,cALD;AAMpB,gBAAQ,EAAE,KAAK,KAAL,CAAW;AAND,OAAxB,CADJ,EAUI,oBAAC,yCAAD,EAAoB;AAChB,uBAAe,EAAE,eADD;AAEhB,qBAAa,EAAE,KAAK,KAAL,CAAW,QAFV;AAGhB,uBAAe,EAAE,KAAK,KAAL,CAAW,cAHZ;AAIhB,mBAAW,EAAE;AAAA,iBAAM,MAAI,CAAC,QAAL,CAAc;AAAE,oBAAQ,EAAE;AAAZ,WAAd,CAAN;AAAA,SAJG;AAKhB,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,QAAL,CAAc;AAAE,0BAAc,EAAE;AAAlB,WAAd,CAAN;AAAA,SALC;AAMhB,oBAAY,EAAE,YANE;AAOhB,kBAAU,EAAE,UAPI;AAQhB,gBAAQ,EAAE,QARM;AAShB,gBAAQ,EAAE,QATM;AAUhB,mBAAW,EAAE,EAVG;AAWhB,oBAAY,EAAE,YAXE;AAYhB,0BAAkB,EAAE,kBAZJ;AAahB,mBAAW,EAAE;AAbG,OAApB,CAVJ,CAzBJ,CADJ;AAuDH;;;;EAjH6C,KAAK,CAAC,S;;AACtC,8CAAiB,8BAAjB;AADlB,oE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChDA;;AACA;;IAqBa,sC;;;;;;;;;;;;;6BAGI;AAAA,wBAC4G,KAAK,KADjH;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,YADV,eACU,YADV;AAAA,UACwB,YADxB,eACwB,YADxB;AAAA,UACsC,SADtC,eACsC,SADtC;AAAA,UACiD,MADjD,eACiD,MADjD;AAAA,UACyD,YADzD,eACyD,YADzD;AAAA,UACuE,QADvE,eACuE,QADvE;AAAA,UACiF,MADjF,eACiF,MADjF;AAAA,UACyF,cADzF,eACyF,cADzF;AAET,UAAM,cAAc,oDAA6C,+BAAgB,UAAhB,GAA6B,EAA1E,CAApB;AAEA,aACI;AAAK,iBAAS,EAAE;AAAhB,SACI,oBAAC,yDAAD,EAA4B;AACxB,iBAAS,EAAE,SADa;AAExB,oBAAY,EAAE,YAFU;AAGxB,oBAAY,EAAE,YAHU;AAIxB,iBAAS,EAAE,SAJa;AAKxB,cAAM,EAAE,MALgB;AAMxB,oBAAY,EAAE,YANU;AAOxB,gBAAQ,EAAE,QAPc;AAQxB,cAAM,EAAE,MARgB;AASxB,sBAAc,EAAE;AATQ,OAA5B,CADJ,CADJ;AAeH;;;;EAtBuD,KAAK,CAAC,S;;AAChD,wDAAiB,wCAAjB;AADlB,wF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;;IAuBa,2C;;;;;;;;;;;;;6BAGI;AAAA,wBACoK,KAAK,KADzK;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,cADV,eACU,cADV;AAAA,UACyB,cADzB,eACyB,cADzB;AAAA,UAC0C,YAD1C,eAC0C,YAD1C;AAAA,UACwD,YADxD,eACwD,YADxD;AAAA,UACsE,SADtE,eACsE,SADtE;AAAA,UACiF,MADjF,eACiF,MADjF;AAAA,UACyF,YADzF,eACyF,YADzF;AAAA,UACuG,sBADvG,eACuG,sBADvG;AAAA,UAC+H,QAD/H,eAC+H,QAD/H;AAAA,UACyI,MADzI,eACyI,MADzI;AAAA,UACiJ,cADjJ,eACiJ,cADjJ;AAGT,aACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qDAAD,EAA0B;AACtB,iBAAS,EAAE,SADW;AAEtB,oBAAY,EAAE,YAFQ;AAGtB,oBAAY,EAAE,YAHQ;AAItB,iBAAS,EAAE,SAJW;AAKtB,cAAM,EAAE,MALc;AAMtB,oBAAY,EAAE,YANQ;AAOtB,sBAAc,EAAE,cAPM;AAQtB,sBAAc,EAAE,cARM;AAStB,8BAAsB,EAAE,sBATF;AAUtB,gBAAQ,EAAE,QAVY;AAWtB,cAAM,EAAE,MAXc;AAYtB,sBAAc,EAAE;AAZM,OAA1B,CADJ,CADJ;AAiBH;;;;EAvB4D,KAAK,CAAC,S;;AACrD,6DAAiB,6CAAjB;AADlB,kG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;;AAEA;;AACA;;AAEA;;AACA;;IAsBa,2B;;;;;AACT,uCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,qGAAM,KAAN;;AAsBI,mCAAyB,UAAC,sBAAD,EAAmC;AAAA,UACxD,SADwD,GAC1C,MAAK,KADqC,CACxD,SADwD;;AAEhE,UAAM,gBAAgB,GAAG,MAAK,cAAL,GAAsB,SAAtB,CAAgC,UAAC,OAAD;AAAA,eAAa,OAAO,CAAC,MAAR,KAAmB,SAAS,CAAC,sBAAD,CAAT,CAAkC,MAAlE;AAAA,OAAhC,CAAzB;;AACA,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,gBAApB;AAAsC,uBAAe,EAAE;AAAvD,OAAd,EAAyF,YAAK;AAAG,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;AAAwC,OAAzI;;AACA;AACH,KALO;;AAOA,oCAA0B,YAAK;AACnC,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;;AACA;AACH,KAHO;;AAKA,8BAAoB,UAAC,iBAAD,EAA8B;AACtD,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KAFO;;AAUA,wBAAc,YAAK;AACvB,YAAK,MAAL,CAAY,SAAZ;;AACA,YAAK,YAAL,CAAkB,YAAlB,EAAgC,IAAhC;AACH,KAHO;;AAKA,yBAAe,UAAC,MAAD,EAAiB,aAAjB,EAA2C;AAC9D,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAA5C,EAAuD;AADO,UAEtD,QAFsD,GAEzC,MAAK,KAFoC,CAEtD,QAFsD;AAG9D,UAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAArB,GAA6B,QAAQ,CAAC,IAAT,KAAkB,SAAnB,GAAgC,UAAhC,GAA6C,QAAQ,CAAC,IAAlF,GAAyF,UAA9G;AACA,UAAM,QAAQ,GAAG,aAAa,mBAAY,MAAZ,cAA0B,YAA1B,cAA0C,MAA1C,CAA9B;AAEA,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,eADW;AAElB,6BAAqB,EAAE;AAFL,OAAtB;AAIH,KAVO;;AAaA,2BAAiB,YAAK;AAAA,wBAC6C,MAAK,KADlD;AAAA,UAClB,SADkB,eAClB,SADkB;AAAA,UACP,MADO,eACP,MADO;AAAA,UACC,YADD,eACC,YADD;AAAA,UACe,SADf,eACe,SADf;AAAA,UAC0B,cAD1B,eAC0B,cAD1B;;AAE1B,UAAM,aAAa,sBAAO,SAAP,CAAnB;;AACA,UAAM,eAAe,GAAG,aAAa,CAAC,MAAtC;AACA,UAAI,WAAW,GAAG,YAAY,GAAG,eAAf,GAAiC,CAAjC,GAAqC,IAAI,CAAC,GAAL,CAAS,MAAT,EAAiB,eAAe,GAAG,YAAnC,EAAiD,IAAI,CAAC,KAAL,CAAW,CAAC,eAAe,GAAG,YAAnB,IAAmC,SAAnC,GAA+C,CAA1D,CAAjD,CAAvD;AACA,UAAM,aAAa,GAAG,eAAe,GAAG,WAAxC;AACA,UAAM,MAAM,GAAG,sBAAf;AACA,UAAI,OAAO,GAAG,EAAd;AACA,UAAI,OAAO,GAAG,CAAd;AAEA,UAAI,cAAJ,EAAoB,OAAO,MAAK,sBAAL,EAAP;AACpB,UAAI,MAAM,KAAK,CAAf,EAAkB,OAAO,aAAP;;AAElB,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,aAApB,EAAmC,CAAC,EAApC,EAAwC;AACpC,YAAI,CAAC,GAAG,YAAR,EAAsB;AAClB,iBAAO,CAAC,IAAR,CAAa,aAAa,CAAC,KAAd,EAAb;AACH,SAFD,MAEO,IAAI,CAAC,KAAK,YAAN,IAAsB,WAAW,GAAG,CAAxC,EAA2C;AAC9C,iBAAO,CAAC,IAAR,WAAgB,MAAhB,SAAyB,OAAzB;AACA,qBAAW;AACX,iBAAO;AACV,SAJM,MAIA,IAAI,WAAW,GAAG,CAAd,IAAmB,CAAC,CAAC,GAAG,YAAL,KAAsB,SAAS,GAAG,CAAlC,MAAyC,CAAhE,EAAmE;AACtE,iBAAO,CAAC,IAAR,WAAgB,MAAhB,SAAyB,OAAzB;AACA,qBAAW;AACX,iBAAO;AACV,SAJM,MAIA;AACH,iBAAO,CAAC,IAAR,CAAa,aAAa,CAAC,KAAd,EAAb;AACH;AACJ;;AAED,aAAO,OAAP;AACH,KA9BO;;AAgCA,mCAAyB,YAAK;AAAA,yBACqC,MAAK,KAD1C;AAAA,UAC1B,SAD0B,gBAC1B,SAD0B;AAAA,UACf,MADe,gBACf,MADe;AAAA,UACP,YADO,gBACP,YADO;AAAA,UACO,SADP,gBACO,SADP;AAAA,UACkB,cADlB,gBACkB,cADlB;;AAElC,UAAM,aAAa,sBAAO,SAAP,CAAnB;;AACA,UAAM,eAAe,GAAG,aAAa,CAAC,MAAtC;AACA,UAAI,eAAe,GAAG,YAAY,GAAG,eAAf,GAAiC,CAAjC,GAAqC,IAAI,CAAC,GAAL,CAAS,MAAT,EAAiB,eAAe,GAAG,YAAnC,EAAiD,IAAI,CAAC,KAAL,CAAW,CAAC,eAAe,GAAG,YAAnB,IAAmC,SAAnC,GAA+C,CAA1D,CAAjD,CAA3D;AACA,UAAM,cAAc,GAAG,YAAY,GAAG,eAAf,GAAiC,CAAjC,GAAqC,IAAI,CAAC,GAAL,CAAS,MAAT,EAAiB,eAAe,GAAG,YAAnC,EAAiD,IAAI,CAAC,KAAL,CAAW,CAAC,eAAe,GAAG,YAAnB,IAAmC,SAAnC,GAA+C,CAA1D,CAAjD,CAA5D;AAEA,UAAI,MAAM,KAAK,CAAf,EAAkB,OAAO,aAAP;AAClB,UAAI,OAAO,GAAG,EAAd;;AAEA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAAS,CAAC,MAA9B,EAAsC,CAAC,EAAvC,EAA2C;AACvC,YAAI,YAAY,GAAG,IAAI,CAAC,GAAL,CAAS,eAAe,IAAI,cAAc,GAAG,CAArB,CAAxB,CAAnB;;AACA,YAAI,CAAC,GAAG,CAAJ,GAAQ,YAAZ,EAA0B;AACtB,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,IAAlB;AAAwB,wBAAY,EAAE;AAAtC,WAAlB,CAAZ;AACH,SAFD,MAEO,IAAI,CAAC,KAAK,YAAN,IAAsB,eAAe,GAAG,CAA5C,EAA+C;AAClD,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,KAAlB;AAAyB,wBAAY,EAAE,cAAc,GAAG,YAAH,GAAkB;AAAvE,WAAlB,CAAZ;AACA,yBAAe;AAClB,SAHM,MAGA,IAAI,eAAe,GAAG,CAAlB,IAAuB,CAAC,CAAC,GAAG,YAAL,KAAsB,SAAS,GAAG,CAAlC,MAAyC,CAApE,EAAuE;AAC1E,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,KAAlB;AAAyB,wBAAY,EAAE,cAAc,GAAG,YAAH,GAAkB;AAAvE,WAAlB,CAAZ;AACA,yBAAe;AAClB,SAHM,MAGA;AACH,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,IAAlB;AAAwB,wBAAY,EAAE;AAAtC,WAAlB,CAAZ;AACH;AACJ;;AAED,aAAO,OAAP;AACH,KA1BO;;AA4BA,6BAAmB,YAAK;AAC5B,UAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAT,CAAuB,sGAAvB,CAA3B;AACA,UAAI,kBAAJ,EAAwB,kBAAkB,CAAC,KAAnB;AAC3B,KAHO;;AAzHJ,UAAK,KAAL,GAAa;AACT,qBAAe,EAAE,CADR;AAET,mBAAa,EAAE,KAFN;AAGT,sBAAgB,EAAE,CAHT;AAIT,uBAAiB,EAAE,KAJV;AAKT,uBAAiB,EAAE;AALV,KAAb;AAOA,UAAK,cAAL,GAAsB,MAAK,cAAL,CAAoB,IAApB,+BAAtB;AATa;AAUhB;;;;wCAIgB;AACb,cAAQ,CAAC,gBAAT,CAA0B,SAA1B,EAAqC,KAAK,cAA1C;AACH;;;2CAEmB;AAChB,cAAQ,CAAC,mBAAT,CAA6B,SAA7B,EAAwC,KAAK,cAA7C;AACH;;;mCAmBsB,C,EAAC;AACpB,UAAI,CAAC,CAAC,OAAF,KAAc,EAAlB,EAAsB;AAClB,aAAK,uBAAL;AACH;AACJ;;;6BAqFY;AAAA;;AAAA,yBACiE,KAAK,KADtE;AAAA,UACD,SADC,gBACD,SADC;AAAA,UACU,YADV,gBACU,YADV;AAAA,UACwB,YADxB,gBACwB,YADxB;AAAA,UACsC,MADtC,gBACsC,MADtC;AAAA,UAC8C,cAD9C,gBAC8C,cAD9C;AAAA,wBAE0F,KAAK,KAF/F;AAAA,UAED,aAFC,eAED,aAFC;AAAA,UAEc,gBAFd,eAEc,gBAFd;AAAA,UAEgC,eAFhC,eAEgC,eAFhC;AAAA,UAEiD,iBAFjD,eAEiD,iBAFjD;AAAA,UAEoE,iBAFpE,eAEoE,iBAFpE;AAIT,UAAM,mBAAmB,GAAG;AACxB,gBAAQ,EAAE,KADc;AAExB,aAAK,EAAE,GAFiB;AAGxB,oBAAY,EAAE,CAHU;AAIxB,sBAAc,EAAE,CAJQ;AAKxB,oBAAY,EAAE,gBALU;AAMxB,iBAAS,EAAE,KANa;AAOxB,WAAG,EAAE,IAPmB;AAQxB,oBAAY,EAAE,sBAAC,OAAD,EAAU,IAAV,EAAkB;AAC5B,gBAAI,CAAC,QAAL,CAAc;AAAE,2BAAe,EAAE,IAAI,CAAC,GAAL,CAAS,IAAI,GAAG,MAAI,CAAC,cAAL,GAAsB,MAA7B,GAAsC,CAA/C;AAAnB,WAAd;;AACA,gBAAI,CAAC,gBAAL;AACH,SAXuB;AAYxB,iBAAS,EAAE,oBAAC,eAAD,EAAgB;AAAC,yBAAe,EAAE,eAAlB;AAAmC,oBAAU,EAAE,KAAK,cAAL,GAAsB,MAArE;AAA6E,sBAAY,EAAE,KAAK,YAAhG;AAA8G,iBAAO,EAAE,KAAK;AAA5H,SAAhB,CAZa;AAaxB,iBAAS,EAAE,oBAAC,eAAD,EAAgB;AAAC,yBAAe,EAAE,eAAlB;AAAmC,oBAAU,EAAE,KAAK,cAAL,GAAsB,MAArE;AAA6E,sBAAY,EAAE,KAAK;AAAhG,SAAhB;AAba,OAA5B;AAgBA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,YAAY,IAAI;AAAK,iBAAS,EAAC;AAAf,SAAwC;AAAM,iBAAS,EAAC;AAAhB,SAAgC,YAAhC,CAAxC,CADrB,EAEK,aAAa,IAAI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE,KAAK;AAAxC,QAFtB,EAGI,oBAAC,6BAAD,EAAc;AACV,kBAAU,EAAE,GADF;AAEV,aAAK,EAAE,IAFG;AAGV,sBAAc,EAAE,SAAS,CAAC,MAHhB;AAIV,mBAAW,EAAE,EAJH;AAKV,yBAAiB,EAAE,iBALT;AAMV,yBAAiB,EAAE,iBANT;AAOV,iBAAS,EAAE,SAPD;AAQV,oBAAY,EAAE,KAAK;AART,OAAd,EAUK,SAAS,CAAC,GAAV,CAAc,UAAC,SAAD,EAAY,KAAZ,EAAqB;AAChC,eACI,oBAAC,mDAAD,EAAyB;AACrB,mBAAS,EAAE,SADU;AAErB,gCAAsB,EAAE,MAAI,CAAC,sBAFR;AAGrB,oBAAU,EAAE,KAHS;AAIrB,aAAG,EAAE,SAAS,CAAC,MAJM;AAKrB,2BAAiB,EAAE,MAAI,CAAC;AALH,SAAzB,CADJ;AASH,OAVA,CAVL,CAHJ,EAyBK,aAAa,IACV;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO,kBAAK,mBAAL,EAAwB;AAAE,iBAAS,EAAC,QAAZ;AAAqB,WAAG,EAAE,mBAAM;AAAA,iBAAK,MAAI,CAAC,MAAL,GAAc,MAAnB;AAAA;AAAhC,OAAxB,CAAP,EACK,KAAK,cAAL,GAAsB,GAAtB,CAA0B,UAAC,SAAD,EAAY,KAAZ,EAAqB;AAC5C,YAAK,OAAO,SAAR,KAAuB,QAA3B,EAAqC;AACjC,iBAAQ;AAAK,eAAG,EAAE,KAAV;AAAiB,cAAE,EAAE,SAArB;AAAgC,qBAAS,EAAC;AAA1C,YAAR;AACH,SAFD,MAEO;AACH,iBACI,oBAAC,6CAAD,EAAsB;AAClB,qBAAS,EAAE,SADO;AAElB,eAAG,EAAE,SAAS,CAAC,MAFG;AAGlB,2BAAe,EAAE,eAHC;AAIlB,uBAAW,EAAE,MAAI,CAAC,WAJA;AAKlB,mCAAuB,EAAE,MAAI,CAAC,uBALZ;AAMlB,kBAAM,EAAE,MANU;AAOlB,iBAAK,EAAE,KAPW;AAQlB,0BAAc,EAAE;AARE,WAAtB,CADJ;AAWH;AACJ,OAhBA,CADL,CADJ,CA1BR,CADJ;AAmDH;;;;EAxM4C,KAAK,CAAC,S;;AAAvD;;AA2MA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAA,MACtB,OADsB,GACqB,KADrB,CACtB,OADsB;AAAA,MACb,eADa,GACqB,KADrB,CACb,eADa;AAAA,MACI,YADJ,GACqB,KADrB,CACI,YADJ;AAE9B,MAAM,kBAAkB,GAAG,eAAe,KAAK,CAA/C;;AACA,MAAM,WAAW,GAAG,SAAd,WAAc,GAAK;AACrB,WAAO;AACP,gBAAY,CAAC,aAAD,EAAgB,IAAhB,CAAZ;AACH,GAHD;;AAKA,SACI;AACI,aAAS,iCAA0B,kBAAkB,GAAG,EAAH,GAAQ,eAApD,CADb;AAEI,WAAO,EAAE;AAFb,IADJ;AAMH,CAdD;;AAgBA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAA,MACtB,OADsB,GACiC,KADjC,CACtB,OADsB;AAAA,MACb,eADa,GACiC,KADjC,CACb,eADa;AAAA,MACI,UADJ,GACiC,KADjC,CACI,UADJ;AAAA,MACgB,YADhB,GACiC,KADjC,CACgB,YADhB;AAE9B,MAAM,kBAAkB,GAAI,eAAe,GAAG,CAAnB,KAA0B,UAArD;;AACA,MAAM,WAAW,GAAG,SAAd,WAAc,GAAK;AACrB,WAAO;AACP,gBAAY,CAAC,YAAD,EAAe,IAAf,CAAZ;AACH,GAHD;;AAIA,SACI;AACI,aAAS,iCAA0B,kBAAkB,GAAG,EAAH,GAAQ,eAApD,CADb;AAEI,WAAO,EAAE;AAFb,IADJ;AAMH,CAbD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC1Oa,wB;;;;;AACT,oCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,kGAAM,KAAN;;AAQI,yBAAe,YAAK;AAAA,wBACkB,MAAK,KADvB;AAAA,UAChB,UADgB,eAChB,UADgB;AAAA,UACJ,iBADI,eACJ,iBADI;;AAExB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;;AACA,uBAAiB,CAAC,UAAD,CAAjB;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,IAAd;AAEtB,KANO;;AAQA,yBAAe,YAAK;AACxB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,KAAd;AACtB,KAHO;;AAKA,oCAA0B,UAAC,OAAD,EAAoB;AAClD,UAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAW,OAAO,GAAG,EAArB,EAAyB,QAAzB,GAAoC,QAApC,CAA6C,CAA7C,EAAgD,GAAhD,CAAhB;AACA,UAAM,UAAU,GAAG,CAAC,OAAO,GAAG,EAAX,EAAe,QAAf,GAA0B,QAA1B,CAAmC,CAAnC,EAAsC,GAAtC,CAAnB;AACA,uBAAU,OAAV,cAAqB,UAArB;AACH,KAJO;;AApBJ,UAAK,KAAL,GAAa;AACT,kBAAY,EAAE;AADL,KAAb;AAFa;AAKhB;;;;6BAuBY;AAAA;;AAAA,UACD,YADC,GACgB,KAAK,KADrB,CACD,YADC;AAAA,yBAEiD,KAAK,KAFtD;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,sBAFV,gBAEU,sBAFV;AAAA,UAEkC,UAFlC,gBAEkC,UAFlC;AAAA,UAGD,KAHC,GAGgB,SAHhB,CAGD,KAHC;AAAA,UAGM,KAHN,GAGgB,SAHhB,CAGM,KAHN;AAAA,UAID,QAJC,GAI+B,KAJ/B,CAID,QAJC;AAAA,UAIS,MAJT,GAI+B,KAJ/B,CAIS,MAJT;AAAA,UAIiB,SAJjB,GAI+B,KAJ/B,CAIiB,SAJjB;AAKT,UAAM,kBAAkB,GAAG,YAAY,IAAI,SAA3C;AACA,UAAM,WAAW,sBAAe,kBAAkB,GAAG,SAAH,GAAe,EAAhD,CAAjB;AAEA,aACI;AAAK,iBAAS,EAAE,WAAhB;AAA6B,oBAAY,EAAE,KAAK,YAAhD;AAA8D,oBAAY,EAAE,KAAK,YAAjF;AAA+F,eAAO,EAAE;AAAA,iBAAM,sBAAsB,CAAC,UAAD,CAA5B;AAAA;AAAxG,SACK,YAAY,GACT;AACI,gBAAQ,EAAE,IADd;AAEI,YAAI,EAAE,IAFV;AAGI,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,QAAL,GAAgB,IAApB;AAAA,SAHZ;AAII,aAAK,MAJT;AAKI,cAAM,EAAE,MALZ;AAMI,iBAAS,EAAC,YANd;AAM2B,WAAG,EAAE;AANhC,QADS,GAUT;AACI,WAAG,EAAE,MADT;AAEI,WAAG,EAAC;AAFR,QAXR,EAeI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B;AAAM,iBAAS,EAAC;AAAhB,QAA/B,E,GAAA,EAAsE,kCAAO,KAAK,uBAAL,CAA6B,IAAI,CAAC,KAAL,CAAW,QAAX,CAA7B,CAAP,CAAtE,CAFJ,CAfJ,CADJ;AAsBH;;;;EA3DyC,KAAK,CAAC,S;;AAApD,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICIa,6B;;;;;AACT,yCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,uGAAM,KAAN;;AAkBI,qCAA2B,YAAK;AAAA,wBACwC,MAAK,KAD7C;AAAA,UAC5B,oBAD4B,eAC5B,oBAD4B;AAAA,UACN,UADM,eACN,UADM;AAAA,UACM,6BADN,eACM,6BADN;;AAEpC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;;AACA,mCAA6B,CAAC,UAAD,CAA7B;AACA,0BAAoB,CAAC,UAAD,CAApB;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,IAAd;AACtB,KANO;;AAQA,iCAAuB,YAAK;AAChC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,KAAd;AACtB,KAHO;;AAKA,oCAA0B,UAAC,OAAD,EAAoB;AAClD,UAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAW,OAAO,GAAG,EAArB,EAAyB,QAAzB,GAAoC,QAApC,CAA6C,CAA7C,EAAgD,GAAhD,CAAhB;AACA,UAAM,UAAU,GAAG,CAAC,OAAO,GAAG,EAAX,EAAe,QAAf,GAA0B,QAA1B,CAAmC,CAAnC,EAAsC,GAAtC,CAAnB;AACA,uBAAU,OAAV,cAAqB,UAArB;AACH,KAJO;;AAMA,yBAAe,YAAK;AACxB,YAAK,oBAAL,GAA4B,IAAI,oBAAJ,CAAyB,eAAK,EAAG;AACzD,aAAK,CAAC,CAAD,CAAL,CAAS,cAAT,GAA0B,MAAK,wBAAL,EAA1B,GAA4D,MAAK,oBAAL,EAA5D;AACH,OAF2B,EAEzB;AAAE,iBAAS,EAAE;AAAb,OAFyB,CAA5B;;AAGA,YAAK,oBAAL,CAA0B,OAA1B,CAAkC,MAAK,OAAvC;AACH,KALO;;AApCJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE;AADP,KAAb;AAFa;AAKhB;;;;wCAMgB;AACb,WAAK,YAAL;AACH;;;2CAEmB;AAChB,WAAK,oBAAL,IAA6B,KAAK,oBAAL,CAA0B,UAA1B,EAA7B;AACH;;;6BA4BY;AAAA;;AAAA,UACD,cADC,GACkB,KAAK,KADvB,CACD,cADC;AAAA,yBAE+D,KAAK,KAFpE;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,sBAFV,gBAEU,sBAFV;AAAA,UAEkC,UAFlC,gBAEkC,UAFlC;AAAA,UAE8C,YAF9C,gBAE8C,YAF9C;AAAA,UAGD,KAHC,GAGgB,SAHhB,CAGD,KAHC;AAAA,UAGM,KAHN,GAGgB,SAHhB,CAGM,KAHN;AAAA,UAID,QAJC,GAI+B,KAJ/B,CAID,QAJC;AAAA,UAIS,MAJT,GAI+B,KAJ/B,CAIS,MAJT;AAAA,UAIiB,SAJjB,GAI+B,KAJ/B,CAIiB,SAJjB;AAKT,UAAM,kBAAkB,GAAG,cAAc,IAAI,SAA7C;AACA,UAAM,WAAW,sBAAe,kBAAkB,GAAG,QAAH,GAAc,EAA/C,CAAjB;AAEA,aACI;AACI,iBAAS,EAAE,WADf;AAEI,eAAO,EAAE;AAAA,iBAAM,sBAAsB,CAAC,UAAD,CAA5B;AAAA,SAFb;AAGI,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,OAAL,GAAe,IAAnB;AAAA;AAHZ,SAKK,kBAAkB,GACf;AACI,gBAAQ,EAAE,IADd;AAEI,YAAI,EAAE,KAFV;AAGI,WAAG,EAAE,kBAAG;AAAA,iBAAI,MAAI,CAAC,QAAL,GAAgB,KAApB;AAAA,SAHZ;AAII,aAAK,MAJT;AAKI,cAAM,EAAE,MALZ;AAMI,eAAO,EAAE,YANb;AAOI,iBAAS,EAAC,YAPd;AAO2B,WAAG,EAAE,SAPhC;AAQI,mBAAW,MARf;AAQe;AARf,QADe,GAaf;AACI,WAAG,EAAE,MADT;AAEI,WAAG,EAAC;AAFR,QAlBR,EAsBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B;AAAM,iBAAS,EAAC;AAAhB,QAA/B,E,GAAA,EAAsE,kCAAO,KAAK,uBAAL,CAA6B,IAAI,CAAC,KAAL,CAAW,QAAX,CAA7B,CAAP,CAAtE,CAFJ,CAtBJ,CADJ;AA6BH;;;;EAnF8C,KAAK,CAAC,S;;AAAzD,sE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;;AAEA;;AACA;;AACA;;AAEA;;AACA;;IA2Ba,yB;;;;;AACT,qCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,mGAAM,KAAN;;AA4BI,mCAAyB,UAAC,sBAAD,EAAmC;AAAA,UACxD,SADwD,GAC1C,MAAK,KADqC,CACxD,SADwD;;AAEhE,UAAM,gBAAgB,GAAG,MAAK,cAAL,GAAsB,SAAtB,CAAgC,UAAC,OAAD;AAAA,eAAa,OAAO,CAAC,MAAR,KAAmB,SAAS,CAAC,sBAAD,CAAT,CAAkC,MAAlE;AAAA,OAAhC,CAAzB;;AACA,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,gBAApB;AAAsC,uBAAe,EAAE;AAAvD,OAAd,EAAyF,YAAK;AAAG,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;AAAwC,OAAzI;;AACA;AACH,KALO;;AAOA,gCAAsB,YAAK;AAC/B,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,CAApB;AAAuB,uBAAe,EAAE,CAAxC;AAA2C,qBAAa,EAAE;AAA1D,OAAd;AACH,KAFO;;AAIA,oCAA0B,YAAK;AACnC,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;;AACA;AACH,KAHO;;AAKA,yBAAe,YAAK;AACxB,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE,CAAC,MAAK,KAAL,CAAW;AAAjC,OAAd;AACH,KAFO;;AAIA,iCAAuB,UAAC,iBAAD,EAA8B;AACzD,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KAFO;;AAGA,0CAAgC,UAAC,cAAD,EAA2B;AAC/D,YAAK,QAAL,CAAc;AAAE,iCAAyB,EAAE;AAA7B,OAAd;AACH,KAFO;;AAIA,iCAAuB,YAAK;AAChC,gBAAU,CAAC,YAAK;AACZ,YAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,0HAAvB,CAArB;;AACA,YAAI,YAAJ,EAAkB;AACd,sBAAY,CAAC,WAAb,GAA2B,CAA3B;AACA,sBAAY,CAAC,KAAb;AACH;;AAAA;AACJ,OANS,EAMP,GANO,CAAV;AAOH,KARO;;AAUA,sCAA4B,YAAK;AACrC,UAAM,mBAAmB,GAAG,QAAQ,CAAC,aAAT,CAAuB,6IAAvB,CAA5B;;AACA,UAAI,mBAAJ,EAAyB;AACrB,2BAAmB,CAAC,WAApB,GAAkC,CAAlC;AACA,2BAAmB,CAAC,KAApB;AACH;;AAAA;AACJ,KANO;;AAQA,wBAAc,YAAK;AACvB,YAAK,oBAAL;;AACA,YAAK,SAAL,CAAe,SAAf;;AACA,YAAK,YAAL,CAAkB,UAAlB,EAA8B,IAA9B;AACH,KAJO;;AAMA,yBAAe,UAAC,MAAD,EAAiB,aAAjB,EAA2C;AAC9D,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAA5C,EAAuD;AADO,UAEtD,QAFsD,GAEzC,MAAK,KAFoC,CAEtD,QAFsD;AAG9D,UAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAArB,GAA6B,QAAQ,CAAC,IAAT,KAAkB,SAAnB,GAAgC,UAAhC,GAA6C,QAAQ,CAAC,IAAlF,GAAyF,UAA9G;AACA,UAAM,QAAQ,GAAG,aAAa,mBAAY,MAAZ,cAA0B,YAA1B,cAA0C,MAA1C,CAA9B;AAEA,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,eADW;AAElB,6BAAqB,EAAE;AAFL,OAAtB;AAIH,KAVO;;AAYA,2BAAiB,YAAK;AAAA,wBACqE,MAAK,KAD1E;AAAA,UAClB,SADkB,eAClB,SADkB;AAAA,UACP,MADO,eACP,MADO;AAAA,UACC,YADD,eACC,YADD;AAAA,UACe,SADf,eACe,SADf;AAAA,UAC0B,sBAD1B,eAC0B,sBAD1B;AAAA,UACkD,cADlD,eACkD,cADlD;;AAE1B,UAAM,aAAa,sBAAO,SAAP,CAAnB;;AACA,UAAM,eAAe,GAAG,aAAa,CAAC,MAAtC;AACA,UAAI,WAAW,GAAG,YAAY,GAAG,eAAf,GAAiC,CAAjC,GAAqC,IAAI,CAAC,GAAL,CAAS,MAAT,EAAiB,eAAe,GAAG,YAAnC,EAAiD,IAAI,CAAC,KAAL,CAAW,CAAC,eAAe,GAAG,YAAnB,IAAmC,SAAnC,GAA+C,CAA1D,CAAjD,CAAvD;AACA,UAAM,aAAa,GAAG,eAAe,GAAG,WAAxC;AACA,UAAM,MAAM,GAAG,sBAAf;AACA,UAAI,OAAO,GAAG,EAAd;AACA,UAAI,OAAO,GAAG,CAAd;AAEA,UAAI,cAAJ,EAAoB,OAAO,MAAK,sBAAL,EAAP;AACpB,UAAI,MAAM,KAAK,CAAX,IAAgB,CAAC,sBAArB,EAA6C,OAAO,aAAP;;AAE7C,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,aAApB,EAAmC,CAAC,EAApC,EAAwC;AACpC,YAAI,CAAC,GAAG,YAAR,EAAsB;AAClB,iBAAO,CAAC,IAAR,CAAa,aAAa,CAAC,KAAd,EAAb;AACH,SAFD,MAEO,IAAI,CAAC,KAAK,YAAN,IAAsB,WAAW,GAAG,CAAxC,EAA2C;AAC9C,iBAAO,CAAC,IAAR,WAAgB,MAAhB,SAAyB,OAAzB;AACA,qBAAW;AACX,iBAAO;AACV,SAJM,MAIA,IAAI,WAAW,GAAG,CAAd,IAAmB,CAAC,CAAC,GAAG,YAAL,KAAsB,SAAS,GAAG,CAAlC,MAAyC,CAAhE,EAAmE;AACtE,iBAAO,CAAC,IAAR,WAAgB,MAAhB,SAAyB,OAAzB;AACA,qBAAW;AACX,iBAAO;AACV,SAJM,MAIA;AACH,iBAAO,CAAC,IAAR,CAAa,aAAa,CAAC,KAAd,EAAb;AACH;AACJ;;AACD,aAAO,OAAP;AACH,KA7BO;;AA+BA,mCAAyB,YAAK;AAAA,yBACqC,MAAK,KAD1C;AAAA,UAC1B,SAD0B,gBAC1B,SAD0B;AAAA,UACf,MADe,gBACf,MADe;AAAA,UACP,YADO,gBACP,YADO;AAAA,UACO,SADP,gBACO,SADP;AAAA,UACkB,cADlB,gBACkB,cADlB;;AAElC,UAAM,aAAa,sBAAO,SAAP,CAAnB;;AACA,UAAM,eAAe,GAAG,aAAa,CAAC,MAAtC;AACA,UAAI,eAAe,GAAG,YAAY,GAAG,eAAf,GAAiC,CAAjC,GAAqC,IAAI,CAAC,GAAL,CAAS,MAAT,EAAiB,eAAe,GAAG,YAAnC,EAAiD,IAAI,CAAC,KAAL,CAAW,CAAC,eAAe,GAAG,YAAnB,IAAmC,SAAnC,GAA+C,CAA1D,CAAjD,CAA3D;AACA,UAAM,cAAc,GAAG,YAAY,GAAG,eAAf,GAAiC,CAAjC,GAAqC,IAAI,CAAC,GAAL,CAAS,MAAT,EAAiB,eAAe,GAAG,YAAnC,EAAiD,IAAI,CAAC,KAAL,CAAW,CAAC,eAAe,GAAG,YAAnB,IAAmC,SAAnC,GAA+C,CAA1D,CAAjD,CAA5D;AAEA,UAAI,MAAM,KAAK,CAAf,EAAkB,OAAO,aAAP;AAClB,UAAI,OAAO,GAAG,EAAd;;AAEA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAAS,CAAC,MAA9B,EAAsC,CAAC,EAAvC,EAA2C;AACvC,YAAI,YAAY,GAAG,IAAI,CAAC,GAAL,CAAS,eAAe,IAAI,cAAc,GAAG,CAArB,CAAxB,CAAnB;;AACA,YAAI,CAAC,GAAG,CAAJ,GAAQ,YAAZ,EAA0B;AACtB,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,IAAlB;AAAwB,wBAAY,EAAE;AAAtC,WAAlB,CAAZ;AACH,SAFD,MAEO,IAAI,CAAC,KAAK,YAAN,IAAsB,eAAe,GAAG,CAA5C,EAA+C;AAClD,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,KAAlB;AAAyB,wBAAY,EAAE,cAAc,GAAG,YAAH,GAAkB;AAAvE,WAAlB,CAAZ;AACA,yBAAe;AAClB,SAHM,MAGA,IAAI,eAAe,GAAG,CAAlB,IAAuB,CAAC,CAAC,GAAG,YAAL,KAAsB,SAAS,GAAG,CAAlC,MAAyC,CAApE,EAAuE;AAC1E,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,KAAlB;AAAyB,wBAAY,EAAE,cAAc,GAAG,YAAH,GAAkB;AAAvE,WAAlB,CAAZ;AACA,yBAAe;AAClB,SAHM,MAGA;AACH,iBAAO,CAAC,IAAR,CAAY,kBAAM,SAAS,CAAC,CAAD,CAAf,EAAkB;AAAE,0BAAc,EAAE,IAAlB;AAAwB,wBAAY,EAAE;AAAtC,WAAlB,CAAZ;AACH;AACJ;;AAED,aAAO,OAAP;AACH,KA1BO;;AAzHJ,UAAK,KAAL,GAAa;AACT,sBAAgB,EAAE,CADT;AAET,qBAAe,EAAE,CAFR;AAGT,mBAAa,EAAE,KAHN;AAIT,uBAAiB,EAAE,KAJV;AAKT,uBAAiB,EAAE,CALV;AAMT,wBAAkB,EAAE,GANX;AAOT,+BAAyB,EAAE;AAPlB,KAAb;AAFa;AAWhB;;;;wCAOgB;AAAA;;AACb,WAAK,cAAL,GAAsB,IAAI,cAAJ,CAAmB,iBAAO;AAAA,eAAI,OAAO,CAAC,OAAR,CAAgB,WAAC,EAAG;AACpE,gBAAI,CAAC,QAAL,CAAc;AAAE,8BAAkB,EAAE,CAAC,CAAC,WAAF,CAAc;AAApC,WAAd;AACH,SAFmD,CAAJ;AAAA,OAA1B,CAAtB;AAGA,WAAK,cAAL,CAAoB,OAApB,CAA4B,KAAK,mBAAjC;AACH;;;2CAEmB;AAChB,WAAK,cAAL,IAAuB,KAAK,cAAL,CAAoB,UAApB,EAAvB;AACH;;;6BA4HY;AAAA;;AAAA,yBACiG,KAAK,KADtG;AAAA,UACD,SADC,gBACD,SADC;AAAA,UACU,YADV,gBACU,YADV;AAAA,UACwB,YADxB,gBACwB,YADxB;AAAA,UACsC,cADtC,gBACsC,cADtC;AAAA,UACsD,cADtD,gBACsD,cADtD;AAAA,UACsE,MADtE,gBACsE,MADtE;AAAA,UAC8E,cAD9E,gBAC8E,cAD9E;AAAA,wBAEyI,KAAK,KAF9I;AAAA,UAED,aAFC,eAED,aAFC;AAAA,UAEc,gBAFd,eAEc,gBAFd;AAAA,UAEgC,eAFhC,eAEgC,eAFhC;AAAA,UAEiD,iBAFjD,eAEiD,iBAFjD;AAAA,UAEoE,iBAFpE,eAEoE,iBAFpE;AAAA,UAEuF,kBAFvF,eAEuF,kBAFvF;AAAA,UAE2G,yBAF3G,eAE2G,yBAF3G;AAGT,UAAM,oBAAoB,GAAG,GAA7B;AACA,UAAM,UAAU,GAAI,kBAAkB,GAAG,GAAtB,GAA6B,oBAAhD;AACA,UAAM,UAAU,GAAG,cAAc,IAAI,cAAc,CAAC,MAAf,GAAwB,CAA1C,GAA8C,cAA9C,sCAAuE,YAAvE,CAAnB;AACA,UAAM,mBAAmB,GAAG;AACxB,gBAAQ,EAAE,KADc;AAExB,aAAK,EAAE,GAFiB;AAGxB,oBAAY,EAAE,CAHU;AAIxB,sBAAc,EAAE,CAJQ;AAKxB,oBAAY,EAAE,gBALU;AAMxB,gBAAQ,EAAE,KANc;AAOxB,gBAAQ,EAAE,IAPc;AAQxB,eAAO,EAAE,mBAAK;AAAG,gBAAI,CAAC,oBAAL;AAA6B,SARtB;AASxB,uBAAe,EAAE,IATO;AAUxB,oBAAY,EAAE,sBAAC,OAAD,EAAU,IAAV,EAAkB;AAC5B,cAAM,kBAAkB,GAAG,IAAI,GAAG,OAAP,GAAiB,IAAjB,GAAwB,MAAnD;;AACA,gBAAI,CAAC,YAAL,iBAA2B,kBAA3B,GAAiD,IAAjD;AACH,SAbuB;AAcxB,mBAAW,EAAE,qBAAC,OAAD,EAAY;AACrB,gBAAI,CAAC,QAAL,CAAc;AAAE,2BAAe,EAAE;AAAnB,WAAd;;AACA,gBAAI,CAAC,yBAAL;AACH;AAjBuB,OAA5B;AAoBA,aACI;AAAK,iBAAS,EAAC,kCAAf;AAAkD,WAAG,EAAE,gCAAmB;AAAA,iBAAK,MAAI,CAAC,mBAAL,GAA2B,mBAAhC;AAAA;AAA1E,SACK,aAAa,GACV;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO,kBAAK,mBAAL,EAAwB;AAAE,iBAAS,EAAC,QAAZ;AAAqB,WAAG,EAAE,aAAC,SAAD;AAAA,iBAAgB,MAAI,CAAC,SAAL,GAAiB,SAAjC;AAAA;AAA1B,OAAxB,CAAP,EACK,KAAK,cAAL,GAAsB,GAAtB,CAA0B,UAAC,SAAD,EAAY,KAAZ,EAAqB;AAC5C,YAAM,YAAY,GAAG,KAAK,KAAK,MAAI,CAAC,cAAL,GAAsB,MAAtB,GAA+B,CAAzC,GAA6C,MAA7C,GAAsD,EAA3E;;AACA,YAAK,OAAO,SAAR,KAAuB,QAA3B,EAAqC;AACjC,iBACI;AAAK,qBAAS,EAAC;AAAf,aACI;AAAK,eAAG,EAAE,KAAV;AAAiB,cAAE,EAAE,SAArB;AAAgC,qBAAS,EAAC;AAA1C,YADJ,EAEI;AAAK,qBAAS,4BAAqB,YAArB,CAAd;AAAmD,mBAAO,EAAE,MAAI,CAAC;AAAjE,aAA4E,yDAA5E,CAFJ,CADJ;AAMH,SAPD,MAOO;AACH,iBACI,oBAAC,uDAAD,EAA2B;AACvB,qBAAS,EAAE,SADY;AAEvB,eAAG,EAAE,SAAS,CAAC,MAFQ;AAGvB,4BAAgB,EAAE,gBAHK;AAIvB,2BAAe,EAAE,eAJM;AAKvB,qBAAS,EAAE,KALY;AAMvB,mCAAuB,EAAE,MAAI,CAAC,uBANP;AAOvB,wBAAY,EAAE,YAPS;AAQvB,uBAAW,EAAE,MAAI,CAAC,WARK;AASvB,kBAAM,EAAE,MATe;AAUvB,iBAAK,EAAE,KAVgB;AAWvB,0BAAc,EAAE;AAXO,WAA3B,CADJ;AAcH;AACJ,OAzBA,CADL,CADJ,CADU,GAgCV,0CACK,YAAY,IAAI;AAAK,iBAAS,EAAC;AAAf,SAAwC;AAAM,iBAAS,EAAC;AAAhB,SAAgC,YAAhC,CAAxC,CADrB,EAEI,oBAAC,6BAAD,EAAc;AACV,kBAAU,EAAE,UADF;AAEV,aAAK,EAAE,GAFG;AAGV,sBAAc,EAAE,SAAS,CAAC,MAHhB;AAIV,mBAAW,EAAE,CAJH;AAKV,yBAAiB,EAAE,iBALT;AAMV,yBAAiB,EAAE,iBANT;AAOV,iBAAS,EAAE,SAPD;AAQV,mBAAW,EAAE,IARH;AASV,oBAAY,EAAE,KAAK;AATT,OAAd,EAWK,SAAS,CAAC,GAAV,CAAc,UAAC,SAAD,EAAY,KAAZ,EAAqB;AAChC,eACI,oBAAC,6DAAD,EAA8B;AAC1B,mBAAS,EAAE,SADe;AAE1B,gCAAsB,EAAE,MAAI,CAAC,sBAFH;AAG1B,oBAAU,EAAE,KAHc;AAI1B,aAAG,EAAE,SAAS,CAAC,MAJW;AAK1B,sBAAY,EAAE,MAAI,CAAC,YALO;AAM1B,8BAAoB,EAAE,MAAI,CAAC,oBAND;AAO1B,uCAA6B,EAAE,MAAI,CAAC,6BAPV;AAQ1B,mCAAyB,EAAE,yBARD;AAS1B,sBAAY,EAAE,MAAI,CAAC;AATO,SAA9B,CADJ;AAaH,OAdA,CAXL,CAFJ,EA6BK,CAAC,cAAD,IAAmB;AAAK,iBAAS,EAAC,YAAf;AAA4B,eAAO,EAAE,KAAK;AAA1C,SAAgE,UAAhE,CA7BxB,CAjCR,CADJ;AAoEH;;;;EAtP0C,KAAK,CAAC,S;;AAArD,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCA;;AACA;;AACA;;AACA;;AACA;;IAiBa,qB;;;;;AAET,iCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,+FAAM,KAAN;AAFI,2BAA8C,IAA9C;;AA6CA,gCAAsB,YAAK;AAC/B,UAAM,cAAc,GAAG,MAAM,CAAC,WAA9B;AAEA,UAAM,cAAc,GAAG,QAAQ,CAAC,aAAT,CAAuB,mCAAvB,CAAvB;AACA,UAAM,gBAAgB,GAAG,QAAQ,CAAC,cAAT,CAAwB,YAAxB,CAAzB;AACA,UAAM,gBAAgB,GAAG,QAAQ,CAAC,cAAT,CAAwB,YAAxB,CAAzB;AAEA,UAAM,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC,YAAlB,GAAiC,CAArE;AACA,UAAM,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,CAAC,YAApB,GAAmC,CAA3E;AACA,UAAM,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,CAAC,YAApB,GAAmC,CAA3E;AAEA,UAAM,aAAa,GAAG,cAAc,GAAG,aAAjB,GAAiC,eAAjC,GAAmD,eAAzE;;AAEA,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAb;AAAF,OAAd;AACH,KAdO;;AAgBA,+BAAqB,UAAC,KAAD,EAAsB;AAC/C,UAAK,KAAK,CAAC,MAAN,CAAyB,SAAzB,CAAmC,QAAnC,CAA4C,aAA5C,CAAL,EAAiE,MAAK,KAAL,CAAW,uBAAX;AACpE,KAFO;;AAwBA,6BAAmB,UAAC,CAAD,EAAM;AAC7B,OAAC,CAAC,MAAF,CAAS,WAAT,GAAuB,CAAvB;AACA,OAAC,CAAC,MAAF,CAAS,KAAT;;AACA,YAAK,KAAL,CAAW,WAAX;AACH,KAJO;;AAyBA,iCAAuB,YAAK;AAChC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,CAAC,MAAK,KAAL,CAAW;AAA9B,OAAd;AACH,KAFO;;AAIA,+BAAqB,YAAK;AAC9B,YAAK,QAAL,CAAc;AAAE,2BAAmB,EAAE,CAAC,MAAK,KAAL,CAAW;AAAnC,OAAd;AACH,KAFO;;AAIA,kCAAwB,UAAC,MAAD,EAAmB;AAC/C,YAAK,QAAL,CAAc;AAAE,2BAAmB,EAAE;AAAvB,OAAd;;AAD+C,wBAEjB,MAAK,KAFY;AAAA,UAEvC,MAFuC,eAEvC,MAFuC;AAAA,UAE/B,SAF+B,eAE/B,SAF+B;;AAI/C,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,OAAO,aAAM,MAAN,oBAAuB,SAAS,CAAC,KAAV,CAAkC,WAAzD,CAAb;;AAEA,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,OAAlB,EAA2B,EAA3B,EAA+B,YAAK,CAAI,CAAxC,EAA0C,gBAA1C;AACA;;AACJ,eAAK,IAAL;AACI,4CAAiB,OAAjB,EAA0B,YAAK,CAAI,CAAnC,EAAqC,gBAArC;AACA;;AACJ,eAAK,IAAL;AACI,sDAAoB,iBAApB,CAAsC,OAAtC,EAA+C,YAAK,CAAI,CAAxD,EAA0D,gBAA1D;AACA;AATR;AAWH;AACJ,KAnBO;;AAqBA,yBAAe,YAAK;AACxB,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAA5C,EAAuD;AAD/B,UAEhB,KAFgB,GAEN,MAAK,KAFC,CAEhB,KAFgB;AAIxB,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,eADW;AAElB,uBAAe,EAAE,gBAFC;AAGlB,oBAAY,EAAE,YAHI;AAIlB,6BAAqB,EAAE,KAJL;AAKlB,kBAAU,EAAE;AALM,OAAtB;AAOH,KAXO;;AAxIJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE,KADP;AAET,yBAAmB,EAAE,KAFZ;AAGT,mBAAa,EAAE,MAAM,CAAC;AAHb,KAAb;AAFa;AAOhB;;;;wCAEgB;AACb,WAAK,6BAAL;AACA,cAAQ,CAAC,gBAAT,CAA0B,OAA1B,EAAmC,KAAK,kBAAxC;AAEA,WAAK,mBAAL;AACA,WAAK,wBAAL;AACA,YAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,KAAK,mBAAvC;AACH;;;2CAEmB;AAChB,WAAK,yBAAL;AACA,cAAQ,CAAC,mBAAT,CAA6B,OAA7B,EAAsC,KAAK,kBAA3C;AAEA,WAAK,qBAAL;AACA,YAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,KAAK,mBAA1C;AACH;;;+CAE+B;AAAA;;AAC5B,WAAK,cAAL,GAAsB,IAAI,oBAAJ,CAAyB,YAAK;AAChD,cAAI,CAAC,mBAAL;AACH,OAFqB,CAAtB;AAIA,UAAM,MAAM,GAAG,QAAQ,CAAC,IAAxB;;AACA,UAAI,MAAM,IAAI,KAAK,cAAnB,EAAmC;AAC/B,aAAK,cAAL,CAAoB,OAApB,CAA4B,MAA5B;AACH;AACJ;;;4CAE4B;AACzB,UAAI,KAAK,cAAT,EAAyB;AACrB,aAAK,cAAL,CAAoB,UAApB;AACA,aAAK,cAAL,GAAsB,IAAtB;AACH;AACJ;;;oDAsBoC;AAAA;;AACjC,gBAAU,CAAC,YAAK;AACZ,YAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,qGAA1B,CAAtB;;AACA,YAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,uBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,mBAAO,CAAC,gBAAR,CAAyB,OAAzB,EAAkC,MAAI,CAAC,gBAAvC;AACH,WAFD;AAGH;;AAAA;AACJ,OAPS,EAOP,GAPO,CAAV;AAQH;;;gDAEgC;AAAA;;AAC7B,UAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,qGAA1B,CAAtB;;AACA,UAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,qBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,iBAAO,CAAC,mBAAR,CAA4B,OAA5B,EAAqC,MAAI,CAAC,gBAA1C;AACH,SAFD;AAGH;;AAAA;AACJ;;;uCAQkB,S,EAAW,S,EAAS;AACnC,UAAI,SAAS,CAAC,eAAV,KAA8B,KAAK,KAAL,CAAW,eAA7C,EAA8D;AAC1D,kBAAU,CAAC,YAAK;AACZ,cAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,gHAAvB,CAArB;AACA,cAAM,oBAAoB,GAAG,QAAQ,CAAC,aAAT,CAAuB,mIAAvB,CAA7B;;AACA,cAAI,YAAJ,EAAkB;AACd,sBAAU,CAAC,YAAK;AACZ,kBAAI,YAAY,CAAC,MAAjB,EAAyB;AACrB,4BAAY,CAAC,KAAb;AACA,4BAAY,CAAC,WAAb,GAA2B,CAA3B;AACA,4BAAY,CAAC,IAAb;AACH;AACJ,aANS,EAMP,GANO,CAAV;AAOH;;AAAA;AACD,cAAI,oBAAJ,EAA0B,oBAAoB,CAAC,KAArB;AAC7B,SAbS,EAaP,GAbO,CAAV;AAcH;AACJ;;;6BA4CY;AAAA;;AAAA,wBACsD,KAAK,KAD3D;AAAA,UACD,cADC,eACD,cADC;AAAA,UACe,mBADf,eACe,mBADf;AAAA,UACoC,aADpC,eACoC,aADpC;AAAA,yBAE6D,KAAK,KAFlE;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,MAFV,gBAEU,MAFV;AAAA,UAEkB,cAFlB,gBAEkB,cAFlB;AAAA,UAEkC,eAFlC,gBAEkC,eAFlC;AAAA,UAEmD,KAFnD,gBAEmD,KAFnD;AAAA,UAGD,KAHC,GAGsD,SAHtD,CAGD,KAHC;AAAA,UAGM,KAHN,GAGsD,SAHtD,CAGM,KAHN;AAAA,UAGa,QAHb,GAGsD,SAHtD,CAGa,QAHb;AAAA,UAGuB,SAHvB,GAGsD,SAHtD,CAGuB,SAHvB;AAAA,UAGkC,eAHlC,GAGsD,SAHtD,CAGkC,eAHlC;AAIT,UAAM,aAAa,2BAAoB,cAAc,GAAG,EAAH,GAAQ,OAA1C,CAAnB;AACA,UAAM,WAAW,GAAI,SAAS,CAAC,KAAV,CAAkC,WAAvD;AACA,UAAM,iBAAiB,aAAM,MAAN,oBAAsB,WAAtB,6FAAvB;AACA,UAAM,kBAAkB,GAAI,eAAe,KAAK,KAApB,IAA6B,eAAe,KAAK,KAAK,GAAG,CAAzD,IAA8D,eAAe,KAAK,KAAK,GAAG,CAAtH;AAEA,aACI;AAAK,iBAAS,EAAC,8BAAf;AAA8C,aAAK,EAAE;AAAE,gBAAM,EAAE,aAAV;AAAyB,eAAK,EAAE,aAAa,GAAG;AAAhD;AAArD,SACI;AAAK,iBAAS,EAAC,uBAAf;AAAuC,aAAK,EAAE;AAAE,gBAAM,EAAE,aAAV;AAAyB,eAAK,EAAE,aAAa,GAAG;AAAhD;AAA9C,SACK,WAAW,IACR;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE,KAAK;AAAxC,QADJ,EAEK,mBAAmB,IAChB;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA1C,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B,UAA/B,CAFJ,CADJ,EAKI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA1C,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B,UAA/B,CAFJ,CALJ,EASI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA1C,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B,SAA/B,CAFJ,CATJ,EAaI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,iCAAD,EAAgB;AAAC,iBAAS,EAAC,8FAAX;AAA+B,aAAK,EAAE,KAAtC;AAA6C,WAAG,EAAE;AAAlD,OAAhB,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B,+DAA/B,CAFJ,CAbJ,CAHR,CAFR,EA0BK,kBAAkB,IACf,oBAAC,iCAAD,EAAgB;AACZ,YAAI,EAAE,KADM;AAEZ,uBAAe,EAAE,IAFL;AAGZ,aAAK,EAAE,aAAa,GAAG,IAHX;AAIZ,cAAM,EAAE,aAJI;AAKZ,oBAAY,EAAE,cAAc,GAAG,SAAS,CAAC,cAAb,GAA8B,IAL9C;AAMZ,qBAAa,EAAE,IANH;AAOZ,eAAO,EAAE,SAAS,CAAC,YAPP;AAQZ,+BAAuB,EAAE;AARb,OAAhB,CA3BR,EAqCI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADJ,EAEI;AAAK,iBAAS,EAAE,aAAhB;AAA+B,eAAO,EAAE,KAAK,oBAA7C;AAAmE,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA5F,QAFJ,EAGK,SAAS,IACN;AAAK,eAAO,EAAE,KAAK;AAAnB,SACI,oBAAC,4BAAD,EAAiB;AACb,iBAAS,EAAC,WADG;AAEb,YAAI,EAAE,SAFO;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAG+B,+DAH/B,CADJ,CAJR,CArCJ,CADJ,CADJ;AAyDH;;;;EA3NsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;;AACA;;IAmBa,0B;;;;;AACT,sCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,oGAAM,KAAN;;AAkCI,6BAAmB,UAAC,CAAD,EAAM;AAC7B,OAAC,CAAC,MAAF,CAAS,WAAT,GAAuB,CAAvB;AACA,OAAC,CAAC,MAAF,CAAS,KAAT;;AACA,YAAK,KAAL,CAAW,WAAX;AACH,KAJO;;AAMA,iCAAuB,YAAK;AAChC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,CAAC,MAAK,KAAL,CAAW;AAA9B,OAAd;AACH,KAFO;;AAIA;AAAA;AAAA;AAAA;AAAA,4BAAY;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,4BACyB,MAAK,KAD9B,EACR,MADQ,eACR,MADQ,EACa,KADb,eACA,SADA,CACa,KADb;AAEV,sBAFU,aAEI,MAFJ,oBAEqB,KAAuB,CAAC,WAF7C;AAGV,uBAHU,GAGE;AAAE,mBAAG,EAAE;AAAP,eAHF;AAAA;AAAA;AAAA,qBAMN,SAAS,CAAC,KAAV,CAAgB,SAAhB,CANM;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAQZ,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AARY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAZ;;AAYA,yBAAe,YAAK;AACxB,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAA5C,EAAuD;AAD/B,UAEhB,KAFgB,GAEN,MAAK,KAFC,CAEhB,KAFgB;AAIxB,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,eADW;AAElB,uBAAe,EAAE,gBAFC;AAGlB,oBAAY,EAAE,YAHI;AAIlB,6BAAqB,EAAE,KAJL;AAKlB,kBAAU,EAAC;AALO,OAAtB;AAOH,KAXO;;AAvDJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE;AADP,KAAb;AAFa;AAKhB;;;;wCAEgB;AACb,WAAK,6BAAL;AACH;;;2CAEmB;AAChB,WAAK,yBAAL;AACH;;;oDAEoC;AAAA;;AACjC,gBAAU,CAAC,YAAK;AACZ,YAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,+GAA1B,CAAtB;;AACA,YAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,uBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,mBAAO,CAAC,gBAAR,CAAyB,OAAzB,EAAkC,MAAI,CAAC,gBAAvC;AACH,WAFD;AAGH;;AAAA;AACJ,OAPS,EAOP,GAPO,CAAV;AAQH;;;gDAEgC;AAAA;;AAC7B,UAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,+GAA1B,CAAtB;;AACA,UAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,qBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,iBAAO,CAAC,mBAAR,CAA4B,OAA5B,EAAqC,MAAI,CAAC,gBAA1C;AACH,SAFD;AAGH;;AAAA;AACJ;;;6BAqCY;AAAA,UACD,cADC,GACkB,KAAK,KADvB,CACD,cADC;AAAA,yBAEyG,KAAK,KAF9G;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,uBAFV,gBAEU,uBAFV;AAAA,UAEmC,YAFnC,gBAEmC,YAFnC;AAAA,UAEiD,WAFjD,gBAEiD,WAFjD;AAAA,UAE8D,cAF9D,gBAE8D,cAF9D;AAAA,UAE8E,KAF9E,gBAE8E,KAF9E;AAAA,UAEqF,eAFrF,gBAEqF,eAFrF;AAAA,UAGD,KAHC,GAGsD,SAHtD,CAGD,KAHC;AAAA,UAGM,KAHN,GAGsD,SAHtD,CAGM,KAHN;AAAA,UAGa,QAHb,GAGsD,SAHtD,CAGa,QAHb;AAAA,UAGuB,SAHvB,GAGsD,SAHtD,CAGuB,SAHvB;AAAA,UAGkC,eAHlC,GAGsD,SAHtD,CAGkC,eAHlC;AAIT,UAAM,aAAa,2BAAoB,cAAc,GAAG,EAAH,GAAQ,OAA1C,CAAnB;AACA,UAAM,aAAa,wCAAiC,cAAc,GAAG,UAAH,GAAgB,cAA/D,CAAnB;AACA,UAAM,WAAW,GAAI,KAAuB,CAAC,WAA7C;AACA,UAAM,kBAAkB,GAAI,eAAe,KAAK,KAApB,IAA6B,eAAe,KAAK,KAAK,GAAG,CAAzD,IAA8D,eAAe,KAAK,KAAK,GAAG,CAAtH;AAEA,aACI;AAAK,iBAAS,EAAE;AAAhB,SACK,kBAAkB,IACnB,oBAAC,iCAAD,EAAgB;AAChB,YAAI,EAAE,KADU;AAEhB,uBAAe,EAAE,IAFD;AAGhB,oBAAY,EAAE,cAAc,GAAG,SAAS,CAAC,cAAb,GAA8B,IAH1C;AAIhB,eAAO,EAAE,SAAS,CAAC,YAJH;AAKhB,qBAAa,EAAE;AALC,OAAhB,CAFJ,EASI;AAAK,iBAAS,4BAAqB,YAArB,CAAd;AAAmD,eAAO,EAAE;AAA5D,SAAuE,yDAAvE,CATJ,EAUI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE;AAAnC,QAVJ,EAWK,WAAW,IAAI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE,KAAK;AAAxC,QAXpB,EAYI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADJ,EAEI;AAAK,iBAAS,EAAE,aAAhB;AAA+B,eAAO,EAAE,KAAK,oBAA7C;AAAmE,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA5F,QAFJ,EAGK,SAAS,IACN;AAAK,eAAO,EAAE,KAAK;AAAnB,SACI,oBAAC,4BAAD,EAAiB;AACb,iBAAS,EAAC,WADG;AAEb,YAAI,EAAE,SAFO;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAG+B,+DAH/B,CADJ,CAJR,CAZJ,CADJ;AA8BH;;;;EA9G2C,KAAK,CAAC,S;;AAAtD,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AAEA;;AACA;;AAEA;;IAgCa,sB;;;;;AAET,kCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,gGAAM,KAAN;;AAKI,0BAAgB,UAAC,KAAD,EAAU;AAC9B,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;AACH,KAFO;;AAGA,sBAAY,YAAK;AACrB,UAAI,QAAJ;;AACA,UAAI,MAAK,KAAL,CAAW,aAAX,KAA6B,CAAjC,EAAoC;AAAE,gBAAQ,GAAG,MAAK,KAAL,CAAW,aAAX,GAA2B,CAAtC;AAAyC;;AAC/E,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;AACH,KAJO;;AAKA,sBAAY,YAAK;AAAA,UACb,eADa,GACO,MAAK,KADZ,CACb,eADa;AAErB,UAAI,QAAJ;;AACA,UAAI,MAAK,KAAL,CAAW,aAAX,GAA2B,eAAe,CAAC,MAAhB,GAAyB,CAAxD,EAA2D;AACvD,gBAAQ,GAAG,MAAK,KAAL,CAAW,aAAX,GAA2B,CAAtC;AACH;;AACD,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;AACH,KAPO;;AAZJ,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE;AADN,KAAb;AAFa;AAKhB;;;;6BAiBY;AAAA;;AAAA,wBAEyF,KAAK,KAF9F;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,SADV,eACU,SADV;AAAA,UACqB,OADrB,eACqB,OADrB;AAAA,UAC8B,aAD9B,eAC8B,aAD9B;AAAA,UAC6C,cAD7C,eAC6C,cAD7C;AAAA,UAC6D,aAD7D,eAC6D,aAD7D;AAAA,UAC4E,aAD5E,eAC4E,aAD5E;AAAA,UAEL,eAFK,eAEL,eAFK;AAAA,UAEY,kBAFZ,eAEY,kBAFZ;AAAA,UAEgC,qBAFhC,eAEgC,qBAFhC;AAAA,UAEuD,eAFvD,eAEuD,eAFvD;AAAA,UAEwE,YAFxE,eAEwE,YAFxE;AAIT,UAAM,SAAS,GAAG,kBAAkB,GAAG;AAAE,uBAAe,EAAE;AAAnB,OAAH,GAA6C;AAAE,uBAAe,kBAAU,+BAAa,YAAb,EAA2B,qBAA3B,CAAV,QAAjB;AAAkF,wBAAgB,EAAE;AAApG,OAAjF;AACA,UAAM,QAAQ,GAAG,SAAS,CAAC,GAAV,CAAc,cAAI;AAAA,eAAI,IAAI,CAAC,KAAT;AAAA,OAAlB,CAAjB;AACA,UAAI,WAAW,GAAG,SAAS,GAAG,aAAH,GAAmB,EAA9C;AANS,UAOD,aAPC,GAOiB,KAAK,KAPtB,CAOD,aAPC;AAUT,UAAI,YAAY,GAAG,aAAa,KAAK,eAAe,CAAC,MAAhB,GAAyB,CAA9D;AACA,UAAI,YAAY,GAAG,aAAa,KAAK,CAArC;AACA,UAAM,UAAU,GAAG;AACf,aAAK,EAAG,eAAe,CAAC,MAAhB,GAAyB,eAA1B,GAA6C,IADrC;AAEf,aAAK,EAAG,aAAa,GAAG,eAAhB,GAAkC,CAAC,CAApC,GAAyC;AAFjC,OAAnB;AAIA,UAAM,OAAO,GAAkB,SAAS,CAAC,aAAa,GAAG,CAAjB,CAAxC;AACA,UAAM,UAAU,GAAG,SAAS,CAAC,KAAV,CAAgB,aAAa,GAAG,CAAhB,GAAoB,CAApC,EAAuC,aAAa,GAAG,CAAhB,GAAoB,CAA3D,CAAnB;AAEA,aACI;AAAK,iBAAS,mCAA4B,WAA5B;AAAd,SACI;AAAK,iBAAS,EAAC,+BAAf;AAA+C,aAAK,EAAE;AAAtD,SACI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,yBAAX;AAAqC,YAAI,EAAE,OAA3C;AAAoD,kBAAU,EAAE;AAAhE,OAAjB,EAAgG;AAAK,iBAAS,EAAC;AAAf,SAAgC,aAAhC,CAAhG,CADJ,EAEK,eAAe,CAAC,MAAhB,GAAyB,CAAzB,IAA8B;AAAK,iBAAS,EAAC;AAAf,SAC1B,GAAG,CAAC,eAAD,EAAkB,UAAC,IAAD,EAAO,KAAP;AAAA,eAClB;AACI,mBAAS,EAAE,KAAK,KAAK,aAAV,GAA0B,UAA1B,GAAuC,EADtD;AAEI,iBAAO,EAAE;AAAA,mBAAM,MAAI,CAAC,aAAL,CAAmB,KAAnB,CAAN;AAAA,WAFb;AAGI,aAAG,EAAE;AAHT,UADkB;AAAA,OAAlB,CADuB,CAFnC,EAUK,eAAe,CAAC,MAAhB,GAAyB,CAAzB,IAA8B;AAAK,iBAAS,EAAC;AAAf,SAC3B;AAAQ,iBAAS,EAAC,qBAAlB;AAAwC,eAAO,EAAE,SAAS,GAAG,KAAK,SAAR,GAAoB,KAAK,SAAnF;AAA8F,gBAAQ,EAAE,SAAS,GAAG,YAAH,GAAkB,YAAnI;AAAiJ,aAAK,EAAE,SAAS,GAAG,MAAH,GAAY;AAA7K,QAD2B,EAE3B;AAAK,iBAAS,EAAC;AAAf,QAF2B,EAG3B;AAAQ,iBAAS,EAAC,oBAAlB;AAAuC,eAAO,EAAE,SAAS,GAAG,KAAK,SAAR,GAAoB,KAAK,SAAlF;AAA6F,gBAAQ,EAAE,SAAS,GAAG,YAAH,GAAkB,YAAlI;AAAgJ,aAAK,EAAE,SAAS,GAAG,SAAH,GAAe;AAA/K,QAH2B,CAVnC,CADJ,EAiBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,QAAf;AAAwB,aAAK,EAAE;AAA/B,S,IAAA,EAA8C,GAAG,CAAC,eAAD,EAAkB,UAAC,IAAD,EAAO,CAAP;AAAA,eAC/D;AAAK,mBAAS,EAAC,cAAf;AAA8B,aAAG,EAAE;AAAnC,WACI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAE,UAAU,CAAC,UAAD;AAA1B,WACI,oBAAC,qBAAD,EAAU;AACN,mBAAS,EAAE,QADL;AAEN,cAAI,EAAE,OAAO,CAAC,KAFR;AAGN,uBAAa,EAAE,aAHT;AAGwB,aAAG,EAAE,OAAO,CAAC,KAAR,CAAc,GAH3C;AAGgD,eAAK,EAAE,GAHvD;AAG4D,gBAAM,EAAE;AAHpE,SAAV,CADJ,EAMK,cAAc,IAAI;AAAK,mBAAS,EAAC;AAAf,WACf,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,OAAO,CAAC,IAAf;AAAqB,oBAAU,EAAE,OAAO,CAAC;AAAzC,SAAjB,EACI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,OAAO,CAAC;AAAlB;AAA9B,UADJ,CADe,CANvB,CADJ,CADJ,EAgBI;AAAK,mBAAS,EAAC;AAAf,WACI,iCACK,UAAU,CAAC,GAAX,CAAe,UAAC,IAAD,EAAO,KAAP;AAAA,iBAAiB;AAAK,qBAAS,EAAE,UAAU,CAAC,UAAD,CAA1B;AAAwC,eAAG,EAAE;AAA7C,aAC7B,oBAAC,qBAAD,EAAU;AACN,qBAAS,EAAE,QADL;AAEN,gBAAI,EAAE,IAAI,CAAC,KAFL;AAGN,yBAAa,EAAE,aAHT;AAGwB,eAAG,EAAE,IAAI,CAAC,KAAL,CAAW,GAHxC;AAG6C,iBAAK,EAAE,GAHpD;AAGyD,kBAAM,EAAE;AAHjE,WAAV,CAD6B,EAM5B,cAAc,IAAI;AAAK,qBAAS,EAAC;AAAf,aACf,oBAAC,4BAAD,EAAiB;AAAC,gBAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,sBAAU,EAAE,IAAI,CAAC;AAAnC,WAAjB,EACI;AAAK,mCAAuB,EAAE;AAAE,oBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,YADJ,CADe,CANU,CAAjB;AAAA,SAAf,CADL,CADJ,CAhBJ,CAD+D;AAAA,OAAlB,CAAjD,CADJ,CAjBJ,CADJ;AA0DH;;;;EArGuC,KAAK,CAAC,S;;AAChC,wCAAiB,wBAAjB;AADlB,wD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxCA,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;IAuBa,kB;;;;;AACT,8BAAY,KAAZ,EAAoC;AAAA;;AAAA;;AAChC,4FAAM,KAAN;;AAQI,qBAAW,YAAK;AACpB,YAAK,MAAL,CAAY,SAAZ;AACH,KAFO;;AAGA,iBAAO,YAAK;AAChB,YAAK,MAAL,CAAY,SAAZ;AACH,KAFO;;AAIA,6BAAmB,YAAK;AAC5B,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AAEH,KAHO;;AAIA,gCAAsB,YAAK;AAC/B,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AAEH,KAHO;;AAlBJ,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE,CADJ;AAET,sBAAgB,EAAE;AAFT,KAAb;AAFgC;AAOnC;;;;6BAmBY;AAAA;;AAAA,wBAEwE,KAAK,KAF7E;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,SADV,eACU,SADV;AAAA,UACqB,OADrB,eACqB,OADrB;AAAA,UAC8B,aAD9B,eAC8B,aAD9B;AAAA,UAC6C,cAD7C,eAC6C,cAD7C;AAAA,UAC6D,aAD7D,eAC6D,aAD7D;AAAA,UAC4E,aAD5E,eAC4E,aAD5E;AAAA,UAEL,kBAFK,eAEL,kBAFK;AAAA,UAEe,qBAFf,eAEe,qBAFf;AAAA,UAEsC,eAFtC,eAEsC,eAFtC;AAAA,UAEuD,YAFvD,eAEuD,YAFvD;AAAA,UAGD,gBAHC,GAGoB,KAAK,KAHzB,CAGD,gBAHC;AAIT,UAAM,SAAS,GAAG,kBAAkB,GAAG;AAAE,uBAAe,EAAE;AAAnB,OAAH,GAA6C;AAAE,uBAAe,kBAAU,+BAAa,YAAb,EAA2B,qBAA3B,CAAV,QAAjB;AAAkF,wBAAgB,EAAE;AAApG,OAAjF;AAEA,UAAI,WAAW,GAAG,SAAS,GAAG,aAAH,GAAmB,EAA9C;AACA,UAAM,UAAU,GAAG;AACf,aAAK,EAAG,SAAS,CAAC,MAAV,GAAmB,GAApB,GAA2B,IADnB;AAEf,aAAK,EAAG,KAAK,KAAL,CAAW,WAAX,GAAyB,GAAzB,GAA+B,CAAC,CAAjC,GAAsC;AAF9B,OAAnB;AAIA,UAAM,iBAAiB,GAAG;AACtB,aAAK,EAAG,SAAS,CAAC,MAAV,GAAmB,GAApB,GAA2B,IADZ;AAEtB,YAAI,EAAG,KAAK,KAAL,CAAW,WAAX,GAAyB,GAAzB,GAA+B,CAAC,CAAjC,GAAsC;AAFtB,OAA1B;AAIA,UAAI,QAAQ,GAAG;AACX,iBAAS,EAAE,KADA;AAEX,aAAK,EAAE,GAFI;AAGX,gBAAQ,EAAE,IAHC;AAIX,YAAI,EAAE,KAJK;AAKX,oBAAY,EAAE,CALH;AAMX,qBAAa,EAAE;AANJ,OAAf;AASA,UAAM,WAAW,GAAG,UAAU,CAAC,cAAD,EAAiB;AAAE,4BAAoB;AAAtB,OAAjB,CAA9B;AACA,aACI;AAAK,iBAAS,mCAA4B,WAA5B;AAAd,SACI;AAAK,iBAAS,EAAC,+BAAf;AAA+C,aAAK,EAAE;AAAtD,SACI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,yBAAX;AAAqC,YAAI,EAAE,OAA3C;AAAoD,kBAAU,EAAE;AAAhE,OAAjB,EAAgG;AAAK,iBAAS,EAAC;AAAf,SAAgC,aAAhC,CAAhG,CADJ,CADJ,EAII;AAAK,iBAAS,EAAE;AAAhB,SAEI,oBAAC,qBAAD,EAAO;AAAC,WAAG,EAAE,mBAAM;AAAA,iBAAK,MAAI,CAAC,MAAL,GAAc,MAAnB;AAAA;AAAZ,SAA4C,QAA5C,EAAoD;AAAE,iBAAS,EAAC;AAAZ,OAApD,CAAP,EACK,GAAG,CAAC,SAAD,EAAY,UAAC,IAAD,EAAO,KAAP;AAAA,eACZ;AAAK,mBAAS,EAAE,UAAU,CAAC,UAAD,CAA1B;AAAwC,aAAG,EAAE;AAA7C,WACI,oBAAC,qBAAD,EAAU;AACN,cAAI,EAAE,IAAI,CAAC,KADL;AAEN,0BAAgB,EAAE,MAAI,CAAC,gBAFjB;AAGN,0BAAgB,EAAE,MAAI,CAAC,mBAHjB;AAIN,uBAAa,EAAE,aAJT;AAKN,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW,GALV;AAKe,eAAK,EAAE,GALtB;AAK2B,gBAAM,EAAE;AALnC,SAAV,CADJ,EAQK,cAAc,IAAI;AAAK,mBAAS,EAAC;AAAf,WACf,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC;AAAnC,SAAjB,EACI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADJ,CADe,CARvB,CADY;AAAA,OAAZ,CADR,CAFJ,CAJJ,CADJ;AA6BH;;;;EAjFmC,KAAK,CAAC,S;;AAyB5B,oCAAiB,oBAAjB;AAzBlB,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BA;;AACA;;AACA;;IAyBa,uB;;;;;AAET,mCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,iGAAM,KAAN;;AAOI,iCAAuB,UAAC,KAAD,EAAQ,UAAR,EAAsB;AACjD,UAAM,SAAS,GAAG,UAAU,GAAG,EAA/B;AACA,UAAM,oBAAoB,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,SAAnB,CAA7B;AACA,aAAO,oBAAP;AACH,KAJO;;AAMA,oCAA0B,YAAK;AAAA,wBACI,MAAK,KADT;AAAA,UAC3B,aAD2B,eAC3B,aAD2B;AAAA,UACZ,WADY,eACZ,WADY;AAAA,wBAEkB,MAAK,KAFvB;AAAA,UAE3B,QAF2B,eAE3B,QAF2B;AAAA,UAEjB,KAFiB,eAEjB,KAFiB;AAAA,UAEV,UAFU,eAEV,UAFU;AAAA,UAEE,WAFF,eAEE,WAFF;AAGnC,UAAM,uBAAuB,GAAG,UAAU,GAAG,EAA7C;AACA,UAAI,QAAQ,GAAG,aAAa,GAAG,CAA/B;AACA,UAAM,cAAc,GAAG,KAAK,GAAG,EAA/B;AACA,UAAM,iBAAiB,GAAG,uBAAuB,IAAI,cAAc,GAAG,MAAK,oBAAL,CAA0B,KAAK,GAAG,EAAlC,EAAsC,UAAtC,IAAoD,uBAAzE,CAAjD;AACA,UAAM,cAAc,GAAG,WAAW,GAAG,uBAArC;AACA,UAAM,aAAa,GAAG,WAAW,GAAG,iBAApC;;AACA,UAAI,aAAa,GAAG,QAAQ,CAAC,MAAT,GAAkB,MAAK,oBAAL,CAA0B,cAA1B,EAA0C,UAA1C,CAAlB,GAA0E,CAA9F,EAAiG;AAC7F,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,cADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH,OALD,MAMK,IAAI,aAAa,KAAK,QAAQ,CAAC,MAAT,GAAkB,MAAK,oBAAL,CAA0B,cAA1B,EAA0C,UAA1C,CAAlB,GAA0E,CAAhG,EAAmG;AACpG,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,aADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH;AAEJ,KAtBO;;AAwBA,qCAA2B,YAAK;AAAA,yBACG,MAAK,KADR;AAAA,UAC5B,aAD4B,gBAC5B,aAD4B;AAAA,UACb,WADa,gBACb,WADa;AAAA,yBAEiB,MAAK,KAFtB;AAAA,UAE5B,QAF4B,gBAE5B,QAF4B;AAAA,UAElB,KAFkB,gBAElB,KAFkB;AAAA,UAEX,UAFW,gBAEX,UAFW;AAAA,UAEC,WAFD,gBAEC,WAFD;AAGpC,UAAM,cAAc,GAAG,KAAK,GAAG,EAA/B;AACA,UAAM,uBAAuB,GAAG,UAAU,GAAG,EAA7C;AACA,UAAI,QAAQ,GAAG,aAAa,GAAG,CAA/B;AACA,UAAM,iBAAiB,GAAG,uBAAuB,IAAI,cAAc,GAAG,MAAK,oBAAL,CAA0B,cAA1B,EAA0C,UAA1C,IAAwD,uBAA7E,CAAjD;AACA,UAAM,WAAW,GAAG,WAAW,GAAG,iBAAlC;AACA,UAAM,cAAc,GAAG,WAAW,GAAG,uBAArC;;AAEA,UAAI,aAAa,GAAG,CAApB,EAAuB;AACnB,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,cADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH,OALD,MAMK,IAAI,aAAa,KAAK,CAAtB,EAAyB;AAC1B,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH;AACD;;;;;;;AAMH,KA5BO;;AApCJ,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE,CADN;AAET,iBAAW,EAAE;AAFJ,KAAb;AAFa;AAOhB;;;;6BA6DY;AAAA;;AAAA,yBAE8D,KAAK,KAFnE;AAAA,UACD,KADC,gBACD,KADC;AAAA,UACM,UADN,gBACM,UADN;AAAA,UACkB,QADlB,gBACkB,QADlB;AAAA,UAC4B,WAD5B,gBAC4B,WAD5B;AAAA,UACyC,aADzC,gBACyC,aADzC;AAAA,UACwD,qBADxD,gBACwD,qBADxD;AAAA,UAC+E,UAD/E,gBAC+E,UAD/E;AAAA,UAC2F,cAD3F,gBAC2F,cAD3F;AAAA,UAEL,cAFK,gBAEL,cAFK;AAAA,UAEW,oBAFX,gBAEW,oBAFX;AAAA,UAEiC,eAFjC,gBAEiC,eAFjC;AAAA,UAEkD,OAFlD,gBAEkD,OAFlD;AAAA,yBAG8B,KAAK,KAHnC;AAAA,UAGD,aAHC,gBAGD,aAHC;AAAA,UAGc,WAHd,gBAGc,WAHd;AAIT,UAAI,oBAAoB,GAAG,aAAa,KAAK,CAA7C;AACA,UAAI,mBAAmB,GAAG,aAAa,KAAK,QAAQ,CAAC,MAAT,GAAkB,KAAK,oBAAL,CAA0B,KAAK,GAAG,EAAlC,EAAsC,UAAtC,CAA9D;AACA,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE,EAApF;AAAwF,kBAAU,EAAE;AAApG,OAAhC;AACA,aACI;AAAK,iBAAS,EAAC,cAAf;AAA8B,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArC,SACI;AACI,gBAAQ,EAAE,CAAC,oBADf;AAEI,iBAAS,EAAC,8BAFd;AAE4C,sBAC7B,cAHf;AAII,aAAK,EAAC,cAJV;AAKI,aAAK,EAAE;AAAE,aAAG,EAAE,cAAc,GAAG,EAAH,GAAQ;AAA7B,SALX;AAK6C,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,wBAAL,EAAP;AAAA;AALtD,QADJ,EAOI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,iBAAf;AAAiC,aAAK,EAAE;AAAE,yBAAe;AAAjB;AAAxC,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,KAAP;AAAA,eACV;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,qBAAc,IAAI,CAAC,MAAnB,cAA6B,KAA7B,CAA7B;AACI,eAAK,EAAE;AAAE,sBAAU,EAAE;AAAd;AADX,WAEK,cAAc,IAAI;AAAK,mBAAS,EAAC;AAAf,WAEd,IAAI,CAAC,QAAL,KAAkB,EAAlB,IAAwB,oBAAC,4BAAD,EAAiB;AACtC,cAAI,EAAE,IAAI,CAAC,SAD2B;AAEtC,oBAAU,EAAE,IAAI,CAAC,SAAL,KAAmB,SAAnB,IAAgC,IAAI,CAAC,eAFX;AAGtC,mBAAS,EAAE,IAAI,CAAC;AAHsB,SAAjB,EAKrB;AAAK,aAAG,EAAE,IAAI,CAAC,QAAf;AAAyB,eAAK,EAAE,GAAhC;AAAmC,yBAAc,MAAjD;AAAwD,eAAK,EAAE,IAAI,CAAC,SAApE;AAA+E,gBAAM,EAAE;AAAvF,UALqB,CAFV,CAFvB,EAYI;AAAK,mBAAS,EAAC,eAAf;AAA+B,eAAK,EAAE;AAAE,iBAAK,EAAE,UAAT;AAAqB,kBAAM,EAAE;AAA7B;AAAtC,WACI,oBAAC,qBAAD,EAAU;AAAC,qBAAW,EAAE,IAAI,CAAC,SAAnB;AAA8B,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAArF;AAAsG,yBAAe,EAAE,IAAvH;AAA6H,cAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UAA3K;AACN,eAAK,EAAE,UADD;AACa,gBAAM,EAAE,WADrB;AACkC,uBAAa,EAAE;AADjD,SAAV,CADJ,CAZJ,EAiBI;AAAK,mBAAS,EAAC;AAAf,WACK,qBAAqB,CAAC,cAAtB,IAAwC;AAAK,mBAAS,EAAC;AAAf,WACrC,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,SADE;AAEb,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,kBAAQ,EAAE,IAAI,CAAC;AAHF,SAAjB,EAII;AAAM,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAb,WACI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADJ,CAJJ,CADqC,CAD7C,EAWK,oBAAoB,IAAI,IAAI,CAAC,UAAL,KAAoB,SAA5C,IAAyD;AAAK,mBAAS,EAAC;AAAf,WACtD,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,cAAL,KAAwB,SAAxB,IAAqC,IAAI,CAAC,cADnC;AAEb,oBAAU,EAAE,IAAI,CAAC,oBAAL,KAA8B,SAA9B,IAA2C,IAAI,CAAC,oBAF/C;AAGb,kBAAQ,EAAE,IAAI,CAAC;AAHF,SAAjB,EAII;AAAM,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAb,WACI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADJ,CAJJ,CADsD,CAX9D,CAjBJ,EAsCqB,OAtCrB,CADU;AAAA,OAAb,CADL,CADJ,CAPJ,EAkDI;AACI,gBAAQ,EAAE,CAAC,mBADf;AAEI,aAAK,EAAC,aAFV;AAEuB,sBACR,aAHf;AAII,iBAAS,EAAC,6BAJd;AAKI,aAAK,EAAE;AAAE,aAAG,EAAE,cAAc,GAAG,EAAH,GAAQ;AAA7B,SALX;AAMI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,uBAAL,EAAP;AAAA;AANb,QAlDJ,CADJ;AA8DH;;;;EA3IwC,KAAK,CAAC,S;;AACjC,yCAAiB,yBAAjB;AADlB,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BA,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AAEA;;AAIA;;IAqBa,e;;;;;;;;;;;;;6BACI;AAAA,wBAIuB,KAAK,KAJ5B;AAAA,UACD,WADC,eACD,WADC;AAAA,UACY,aADZ,eACY,aADZ;AAAA,UAC2B,oBAD3B,eAC2B,oBAD3B;AAAA,UACiD,UADjD,eACiD,UADjD;AAAA,UAEL,aAFK,eAEL,aAFK;AAAA,UAEU,eAFV,eAEU,eAFV;AAAA,UAE2B,OAF3B,eAE2B,OAF3B;AAAA,UAEoC,qBAFpC,eAEoC,qBAFpC;AAAA,UAGL,gBAHK,eAGL,gBAHK;AAAA,UAGa,aAHb,eAGa,aAHb;AAAA,UAIL,UAJK,eAIL,UAJK;AAAA,UAIO,WAJP,eAIO,WAJP;AAKT,aACI;AAAK,iBAAS,EAAC,cAAf;AAA8B,aAAK,EAAE;AAAE,oBAAU,EAAE;AAAd;AAArC,SACI;AAAK,iBAAS,EAAC;AAAf,SAEK,aAAa,CAAC,GAAd,CAAkB,UAAC,IAAD,EAAO,KAAP;AAAA,eACf;AAAK,aAAG,EAAE;AAAV,W,GAAA,EAAkB,iCAAK,iCAAK;AAAK,mBAAS,EAAC;AAAf,WACxB;AAAK,mBAAS,EAAC,eAAf;AAA+B,eAAK,EAAE;AAAE,sBAAU,WAAZ;AAAyB,qBAAS,UAAlC;AAA8C,wBAAY;AAA1D;AAAtC,WACI,oBAAC,qBAAD,EAAU;AAAC,cAAI,EAAE,IAAI,CAAC,KAAZ;AAAmB,uBAAa,EAAE,aAAlC;AAAiD,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW,GAAjE;AAAsE,eAAK,EAAE,UAA7E;AAAyF,gBAAM,EAAE;AAAjG,SAAV,CADJ,CADwB,EAIvB,qBAAqB,CAAC,cAAtB,IAAwC;AAAK,mBAAS,EAAC,WAAf;AAA2B,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAlC,WACrC,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC,UAAnC;AAA+C,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAtD,SAAjB,E,GAAA,EACE;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADF,CADqC,EAE+C,GAF/C,CAJjB,EAOvB,qBAAqB,CAAC,iBAAtB,IAA2C;AAAK,mBAAS,EAAC,cAAf;AAA8B,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAArC,WACxC,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC,UAAnC;AAA+C,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAtD,SAAjB,E,GAAA,EACE;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADF,CADwC,CAPpB,EAYvB,gBAAgB,IAAI;AAAK,mBAAS,EAAC,mBAAf;AAAmC,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAA1C,WACjB,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC,UAAnC;AAA+C,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAtD,SAAjB,EACC;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADD,CADiB,CAZG,CAAL,CAAL,CAAlB,CADe;AAAA,OAAlB,CAFL,CADJ,EAwBK,oBAAoB,IAAI;AAAI,iBAAS,EAAC;AAAd,SACpB,GAAG,CAAC,WAAD,EAAc,UAAC,IAAD;AAAA,eAAU;AAAI,aAAG,EAAE,IAAI,CAAC,MAAd;AAAsB,eAAK,EAAE;AAAE,iBAAK,EAAE,IAAI,CAAC;AAAd;AAA7B,WACxB,oBAAC,4BAAD,EAAiB;AAAC,eAAK,EAAE;AAAE,iBAAK,EAAE,IAAI,CAAC;AAAd,WAAR;AAA+B,cAAI,EAAE,IAAI,CAAC,IAA1C;AAAgD,oBAAU,EAAE,IAAI,CAAC,UAAjE;AAA6E,kBAAQ,EAAE,IAAI,CAAC;AAA5F,SAAjB,CADwB,CAAV;AAAA,OAAd,CADiB,CAxB7B,CADJ;AAgCH;;;;EAtCgC,KAAK,CAAC,S;;AAA3C,0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BA;;IAYa,U;;;;;AAAb;AAAA;;AAAA;;;;AAGY,6BAAmB,YAAK;AAAA,wBACkB,MAAK,KADvB;AAAA,UACpB,YADoB,eACpB,YADoB;AAAA,UACN,mBADM,eACN,mBADM;AAE5B,UAAI,CAAC,GAAG,IAAI,IAAJ,EAAR;AACA,UAAI,CAAC,GAAG,CAAC,CAAC,QAAF,EAAR;AACA,UAAI,CAAC,GAAG,CAAC,CAAC,UAAF,EAAR;AACA,UAAI,WAAW,GAAG,CAAC,GAAG,EAAJ,GAAS,CAA3B;AACA,UAAI,UAAU,GAAG,IAAI,CAAC,KAAL,CAAY,WAAW,GAAG,YAAf,GAA+B,mBAA1C,CAAjB;AACA,aAAO,UAAP;AACH,KARO;;AAHZ;AA2BC;;;;6BAfgB;AACH;AAAA,UAAE,aAAF,GAAkD,EAAlD,CAAE,aAAF;AAAA,UAAiB,oBAAjB,GAAkD,EAAlD,CAAiB,oBAAjB;AAAA,UAAuC,WAAvC,GAAkD,EAAlD,CAAuC,WAAvC;AAAA,UACF,IADE,GACF,oEADE;;AAEN,UAAM,UAAU,GAAG,KAAK,gBAAL,EAAnB;AACA,UAAM,gBAAgB,GAAG,aAAzB;AACA,UAAI,SAAS,GAAG,UAAU,GAAG,oBAA7B;AACA,UAAI,OAAO,GAAG,SAAS,GAAG,oBAA1B;AACA,UAAI,cAAc,GAAG,aAAa,CAAC,KAAd,CAAoB,SAApB,EAA+B,OAA/B,CAArB;AACA,UAAI,iBAAiB,GAAG,WAAW,CAAC,UAAD,CAAnC;AACA,aACI,oBAAC,iCAAD,EAAgB,kBACR,IADQ,EACJ;AACR,qBAAa,EAAE,cADP;AAER,mBAAW,EAAE;AAFL,OADI,CAAhB,CADJ;AAKH;;;;EA1B2B,KAAK,CAAC,S;;AACpB,4BAAiB,YAAjB;AADlB,gC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;AACA;;AACA;;AAEA,mBAAO,CAAC,mCAAD,CAAP;;IA2Ba,gB;;;;;AAET,4BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,0FAAM,KAAN;;AAUI,0BAAgB,UAAC,cAAD,EAAyB,UAAzB,EAA+C;AACnE,UAAM,eAAe,GAAG,UAAxB;AACA,UAAI,oBAAoB,GAAG,IAAI,CAAC,KAAL,CAAW,cAAc,GAAG,eAA5B,CAA3B;AACA,UAAI,WAAW,GAAG,oBAAoB,GAAG,eAAzC;AACA,UAAI,cAAc,GAAG,cAAc,GAAG,WAAtC;AACA,UAAI,UAAU,GAAG,cAAc,IAAI,oBAAoB,GAAG,CAA3B,CAA/B;AACA,aAAO,UAAP;AACH,KAPO;;AA8BA,oCAA0B,YAAK;AAAA,wBACqG,MAAK,KAD1G;AAAA,UAC3B,+CAD2B,eAC3B,+CAD2B;AAAA,UACsB,6BADtB,eACsB,6BADtB;AAAA,UACqD,8BADrD,eACqD,8BADrD;AAAA,UACqF,WADrF,eACqF,WADrF;AAAA,wBAEkB,MAAK,KAFvB;AAAA,UAE3B,QAF2B,eAE3B,QAF2B;AAAA,UAEjB,KAFiB,eAEjB,KAFiB;AAAA,UAEV,UAFU,eAEV,UAFU;AAAA,UAEE,WAFF,eAEE,WAFF;AAGnC,UAAM,uBAAuB,GAAG,UAAU,GAAG,+CAA7C;;AAEA,UAAI,6BAA6B,KAAK,CAAtC,EAAyC;AACrC,YAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,UAAnB,CAAtC;;AACA,YAAM,YAAW,GAAI,uBAAuB,IAAI,QAAQ,CAAC,MAAT,GAAkB,6BAAtB,CAAxB,GAAgF,+CAApG;;AACA,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CAAE,YAAF,GAAgB,+CADnB;AAEV,uCAA6B,EAAE,CAFrB;AAGV,wCAA8B,EAAE,8BAA8B,GAAG;AAHvD,SAAd;;AAMA,eAAO,IAAP;AAEH;;AACD,UAAI,6BAA6B,GAAG,CAApC,EAAuC;AACnC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,WAAW,GAAG,KAAd,GAAsB,+CADzB;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAAhC,KAAsC,CAAtC,GAA0C,6BAA6B,GAAG,CAA1E,GAA8E,CAFnG;AAGV,wCAA8B,EAAE,8BAA8B,GAAG;AAHvD,SAAd;AAKH;AACJ,KAxBO;;AA0BA,qCAA2B,YAAK;AAAA,yBACoG,MAAK,KADzG;AAAA,UAC5B,8BAD4B,gBAC5B,8BAD4B;AAAA,UACI,6BADJ,gBACI,6BADJ;AAAA,UACmC,+CADnC,gBACmC,+CADnC;AAAA,UACoF,WADpF,gBACoF,WADpF;AAAA,UAE5B,KAF4B,GAElB,MAAK,KAFa,CAE5B,KAF4B;;AAGpC,UAAI,8BAA8B,KAAK,CAAvC,EAA0C;AACtC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CADH;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAFrD;AAGV,wCAA8B,EAAE;AAHtB,SAAd;;AAKA,eAAO,IAAP;AACH;;AACD,UAAI,8BAA8B,GAAG,CAArC,EAAwC;AACpC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,WAAW,GAAG,KAAd,GAAsB,+CADzB;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAFrD;AAGV,wCAA8B,EAAE,8BAA8B,GAAG,CAAjC,GAAqC,CAArC,GAAyC,8BAA8B,GAAG,CAA1E,GAA8E;AAHpG,SAAd;AAKH;AACJ,KAlBO;;AAjEJ,UAAK,KAAL,GAAa;AACT,mCAA6B,EAAE,IADtB;AAET,oCAA8B,EAAE,IAFvB;AAGT,iBAAW,EAAE,CAHJ;AAIT,qDAA+C,EAAE;AAJxC,KAAb;AAFa;AAQhB;;;;yCAWwB;AAAA,yBACmB,KAAK,KADxB;AAAA,UACb,QADa,gBACb,QADa;AAAA,UACH,UADG,gBACH,UADG;AAAA,UACS,KADT,gBACS,KADT;;AAErB,UAAI,QAAQ,CAAC,MAAT,GAAkB,CAAtB,EAAyB;AACrB,aAAK,iBAAL,CAAuB,QAAvB,EAAiC,KAAjC,EAAwC,UAAxC;AACH;AACJ;;;sCAGyB,M,EAAe,K,EAAe,U,EAAkB;AACtE,UAAM,YAAY,GAAG,MAAM,CAAC,MAA5B;AACA,UAAM,uBAAuB,GAAG,UAAU,GAAG,KAAK,aAAL,CAAmB,KAAnB,EAA0B,UAA1B,CAA7C;AACA,UAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,UAAnB,CAAtC;AACA,UAAM,iBAAiB,GAAG,YAAY,GAAG,6BAAzC;AACA,UAAI,6BAAJ;;AACA,UAAI,iBAAiB,KAAK,CAA1B,EAA6B;AACzB,qCAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,YAAY,GAAG,6BAA1B,CAAhC;AACH,OAFD,MAGK;AAAE,qCAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,YAAY,GAAG,6BAA1B,IAA2D,CAA3F;AAA8F;;AACrG,UAAM,8BAA8B,GAAG,CAAvC;AACA,WAAK,QAAL,CAAc;AAAE,qCAA6B,EAA7B,6BAAF;AAAiC,sCAA8B,EAA9B,8BAAjC;AAAiE,uDAA+C,EAAE,KAAK,aAAL,CAAmB,KAAnB,EAA0B,UAA1B;AAAlH,OAAd;AACH;;;8CA+CgC,S,EAAS;AAAA,UAC9B,QAD8B,GACE,SADF,CAC9B,QAD8B;AAAA,UACpB,UADoB,GACE,SADF,CACpB,UADoB;AAAA,UACR,KADQ,GACE,SADF,CACR,KADQ;;AAGtC,UAAI,SAAS,CAAC,QAAV,CAAmB,MAAnB,GAA4B,CAAhC,EAAmC;AAC/B,aAAK,iBAAL,CAAuB,QAAvB,EAAiC,KAAjC,EAAwC,UAAxC;AACH;AACJ;;;6BAEY;AAAA;;AAAA,yBAEqG,KAAK,KAF1G;AAAA,UACD,KADC,gBACD,KADC;AAAA,UACM,UADN,gBACM,UADN;AAAA,UACkB,QADlB,gBACkB,QADlB;AAAA,UAC4B,WAD5B,gBAC4B,WAD5B;AAAA,UACyC,aADzC,gBACyC,aADzC;AAAA,UACwD,WADxD,gBACwD,WADxD;AAAA,UACqE,KADrE,gBACqE,KADrE;AAAA,UAEL,qBAFK,gBAEL,qBAFK;AAAA,UAEkB,UAFlB,gBAEkB,UAFlB;AAAA,UAE8B,aAF9B,gBAE8B,aAF9B;AAAA,UAE6C,cAF7C,gBAE6C,cAF7C;AAAA,UAE6D,UAF7D,gBAE6D,UAF7D;AAAA,UAEyE,uBAFzE,gBAEyE,uBAFzE;AAAA,yBAG8E,KAAK,KAHnF;AAAA,UAGD,8BAHC,gBAGD,8BAHC;AAAA,UAG+B,6BAH/B,gBAG+B,6BAH/B;AAAA,UAG8D,WAH9D,gBAG8D,WAH9D;AAIT,UAAM,SAAS,GAAG,KAAK,aAAL,CAAmB,KAAnB,EAA0B,UAA1B,IAAwC,UAA1D;AACA,UAAI,kBAAkB,GAAG,6BAA6B,KAAK,CAA3D;AACA,UAAI,mBAAmB,GAAG,8BAA8B,KAAK,CAA7D;AACA,UAAM,WAAW,GAAG,KAAK,GAAG;AAAE,kBAAU,EAAE;AAAd,OAAH,GAAiC;AAAE,mBAAW,EAAE;AAAf,OAA1D;AACA,UAAM,cAAc,GAAG,KAAK,GAAG;AAAE,mBAAW,EAAE,KAAK,aAAL,CAAmB,KAAnB,EAA0B,UAA1B;AAAf,OAAH,GAA4D;AAAE,kBAAU,EAAE,KAAK,aAAL,CAAmB,KAAnB,EAA0B,UAA1B;AAAd,OAAxF;AACA,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE,EAApF;AAAwF,kBAAU,EAAE;AAApG,OAAhC;AACA,UAAM,aAAa,GAAoB,QAAQ,CAAC,GAAT,CAAa,cAAI,EAAG;AAAG,eAAO,IAAI,CAAC,KAAZ;AAAmB,OAA1C,CAAvC;AACA,UAAI,SAAS,GAAG,CAAhB;AACA,UAAM,eAAe,GAAG,KAAK,GAAG,8BAAH,GAAoC,6BAAjE;AACA,UAAM,eAAe,GAAG,KAAK,GAAG,6BAAH,GAAmC,8BAAhE;AACA,aAAQ;AAAK,iBAAS,EAAC,cAAf;AAA8B,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArC,SACH,mBAAmB,IAAI;AAAQ,iBAAS,EAAE,eAAnB;AACpB,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,wBAAL,EAAP;AAAA,SADW;AAEpB,aAAK,EAAC,aAFc;AAED,sBACR;AAHS,QADpB,EAKJ;AAAK,iBAAS,EAAC,iBAAf;AAAiC,aAAK,EAAE;AAAxC,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC1B,YAAI,IAAI,CAAC,KAAT,EAAgB,OAAO;AAAK,YAAE,EAAE,IAAI,CAAC,KAAd;AAAqB,aAAG,EAAE,KAA1B;AAAiC,mBAAS,EAAC,gBAA3C;AAA4D,eAAK,EAAE;AAAnE,WAClB,uBAAuB,IAAI,uBAAuB,KAAK,KAAvD,IAAgE;AAAQ,cAAI,EAAC,iBAAb;AAA+B,iCAAuB,EAAE;AAAE,kBAAM,EAAE,4BAAa,IAAI,CAAC,KAAlB;AAAV;AAAxD,UAD9C,CAAP,CAAhB,KAGK,OAAQ,oBAAC,2CAAD,EAAqB;AAC9B,aAAG,EAAE,KADyB;AAE9B,cAAI,EAAE,IAFwB;AAG9B,eAAK,EAAE,KAHuB;AAI9B,gBAAM,EAAE,MAAI,CAAC,aAAL,CAAmB,KAAnB,EAA0B,UAA1B;AAJsB,WAK1B,MAAI,CAAC,KALqB,CAArB,CAAR;AAMR,OAVA,CADL,CALI,EAkBH,kBAAkB,IAAI;AAAQ,iBAAS,EAAE,eAAnB;AAAoC,aAAK,EAAC,aAA1C;AAAuD,sBAAY,aAAnE;AAAiF,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,uBAAL,EAAP;AAAA;AAA1F,QAlBnB,CAAR;AAqBH;;;;EAnIiC,KAAK,CAAC,S;;AAC1B,kCAAiB,kBAAjB;AADlB,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAsBa,oB;;;;;AAAb;AAAA;;AAAA;;;;AACY,0BAAgB,UAAC,QAAD,EAAa;AAAA,UACzB,qBADyB,GACC,MAAK,KADN,CACzB,qBADyB;AAEjC,UAAI,QAAQ,KAAK,4BAAe,OAA5B,KAAwC,qBAAqB,CAAC,aAAtB,IAAuC,qBAAqB,CAAC,aAArG,CAAJ,EACI,OAAO,IAAP,CADJ,KAEK,OAAO,KAAP;AACR,KALO;;AAMA,qBAAW,UAAC,QAAD,EAAa;AAAA,UACpB,qBADoB,GACM,MAAK,KADX,CACpB,qBADoB;AAE5B,UAAI,QAAQ,KAAK,4BAAe,OAA5B,IAAuC,qBAAqB,CAAC,aAAjE,EACI,OAAO,IAAP,CADJ,KAEK,OAAO,KAAP;AACR,KALO;;AAMA,qBAAW,UAAC,QAAD,EAAa;AAAA,UACpB,qBADoB,GACM,MAAK,KADX,CACpB,qBADoB;AAE5B,UAAI,QAAQ,KAAK,4BAAe,OAA5B,IAAuC,qBAAqB,CAAC,aAAjE,EACI,OAAO,IAAP,CADJ,KAEK,OAAO,KAAP;AACR,KALO;;AAMA,2BAAiB,UAAC,iBAAD,EAA+B;AACpD,UAAI,iBAAJ,EAAuB,OAAO,kBAAP,CAAvB,KACK,OAAO,kBAAP;AAER,KAJO;;AAKA,oBAAU,UAAC,IAAD,EAA2B,QAA3B,EAAgD;AAC9D,UAAI,IAAI,KAAK,WAAT,IAAwB,QAA5B,EAAsC,OAAO,OAAP;AACtC,aAAO,IAAP;AACH,KAHO;;AAxBZ;AAuFC;;;;6BA1DgB;AAAA,wBAEgF,KAAK,KAFrF;AAAA,UACD,UADC,eACD,UADC;AAAA,UACW,IADX,eACW,IADX;AAAA,UACiB,WADjB,eACiB,WADjB;AAAA,UAC8B,aAD9B,eAC8B,aAD9B;AAAA,UAC6C,WAD7C,eAC6C,WAD7C;AAAA,UAC0D,MAD1D,eAC0D,MAD1D;AAAA,UACkE,KADlE,eACkE,KADlE;AAAA,UAEL,qBAFK,eAEL,qBAFK;AAAA,UAEkB,UAFlB,eAEkB,UAFlB;AAAA,UAE8B,aAF9B,eAE8B,aAF9B;AAAA,UAE6C,UAF7C,eAE6C,UAF7C;AAAA,UAEyD,KAFzD,eAEyD,KAFzD;AAAA,UAEgE,WAFhE,eAEgE,WAFhE;AAAA,UAGD,MAHC,GAG0K,IAH1K,CAGD,MAHC;AAAA,UAGO,IAHP,GAG0K,IAH1K,CAGO,IAHP;AAAA,UAGa,QAHb,GAG0K,IAH1K,CAGa,QAHb;AAAA,UAGuB,iBAHvB,GAG0K,IAH1K,CAGuB,iBAHvB;AAAA,UAG0C,iBAH1C,GAG0K,IAH1K,CAG0C,iBAH1C;AAAA,UAG6D,oBAH7D,GAG0K,IAH1K,CAG6D,oBAH7D;AAAA,UAGmF,KAHnF,GAG0K,IAH1K,CAGmF,KAHnF;AAAA,UAG0F,eAH1F,GAG0K,IAH1K,CAG0F,eAH1F;AAAA,UAG2G,SAH3G,GAG0K,IAH1K,CAG2G,SAH3G;AAAA,UAGsH,QAHtH,GAG0K,IAH1K,CAGsH,QAHtH;AAAA,UAGgI,KAHhI,GAG0K,IAH1K,CAGgI,KAHhI;AAAA,UAGuI,MAHvI,GAG0K,IAH1K,CAGuI,MAHvI;AAAA,UAG+I,QAH/I,GAG0K,IAH1K,CAG+I,QAH/I;AAAA,UAGyJ,YAHzJ,GAG0K,IAH1K,CAGyJ,YAHzJ;AAIT,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE,EAApF;AAAwF,kBAAU,EAAE;AAApG,OAAhC;AACA,UAAM,WAAW,GAAG,KAAK,GAAG;AAAE,mBAAW,EAAE;AAAf,OAAH,GAA6B;AAAE,kBAAU,EAAE;AAAd,OAAtD;AAEA,aACI;AAAK,iBAAS,qBAAc,+BAAgB,YAAhB,GAA+B,EAA7C,CAAd;AAAiE,WAAG,qBAAc,MAAd,cAAwB,KAAxB,CAApE;AACI,aAAK,EAAE;AADX,SAGI;AAAK,iBAAS,EAAC;AAAf,SACK,oBAAoB,IAAI,oBAAC,6BAAD,EAAc;AAAC,mBAAW,EAAE,IAAd;AAAoB,4BAAoB,EAAE;AAA1C,OAAd,CAD7B,EAEI,oBAAC,iCAAD,EAAgB;AAAC,cAAM,EAAE,MAAT;AAAiB,YAAI,EAAE,KAAK,OAAL,CAAa,IAAb,EAAmB,QAAnB,CAAvB;AAAqD,qBAAa,EAAC,QAAnE;AAA4E,qBAAa,EAAE;AAA3F,OAAhB,CAFJ,EAGI,oBAAC,kCAAD,EAAoB;AAChB,yBAAiB,EAAE,iBADH;AAEhB,yBAAiB,EAAE,iBAFH;AAGhB,iBAAS,EAAC;AAHM,OAApB,CAHJ,EAOK,UAAU,IAAI,YAAd,IAA8B;AAAK,iBAAS,EAAC;AAAf,SAA+B,gCAA/B,CAPnC,EAQI;AAAK,iBAAS,EAAC,eAAf;AAA+B,aAAK,EAAE;AAAE,eAAK,EAAE,UAAT;AAAqB,gBAAM,EAAE;AAA7B;AAAtC,SACI,oBAAC,qBAAD,EAAU;AAEN,YAAI,EAAE,KAAK,KAAK,SAAV,GAAsB,KAAtB,GAA8B,UAF9B;AAGN,aAAK,EAAE,UAHD;AAIN,cAAM,EAAE,WAJF;AAKN,qBAAa,EAAE,aALT;AAMN,mBAAW,EAAE,SANP;AAON,uBAAe,EAAE,IAPX;AAQN,kBAAU,EAAE,eAAe,KAAK,SAApB,IAAiC;AARvC,OAAV,CADJ,CARJ,EAmBiB,GAnBjB,CAHJ,EAuBI;AAAK,iBAAS,EAAC;AAAf,SACK,qBAAqB,CAAC,cAAtB,IAAwC;AAAK,iBAAS,EAAE,KAAK,cAAL,CAAoB,qBAAqB,CAAC,iBAAtB,IAA2C,QAAQ,KAAK,SAA5E;AAAhB,SACrC,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,SADO;AAEb,kBAAU,EAAE,eAAe,KAAK,SAApB,IAAiC,eAFhC;AAGb,gBAAQ,EAAE;AAHG,OAAjB,EAII;AAAM,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAAb,SACI;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA9B,QADJ,CAJJ,CADqC,CAD7C,EAWK,qBAAqB,CAAC,iBAAtB,IAA2C,QAAQ,KAAK,SAAxD,IAAqE,CAAC,WAAtE,IAAqF,CAAC,WAAtF,IAAqG;AAAK,iBAAS,EAAC;AAAf,SAClG,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,SADO;AAEb,kBAAU,EAAE,eAAe,KAAK,SAApB,IAAiC,eAFhC;AAGb,gBAAQ,EAAE;AAHG,OAAjB,EAII;AAAM,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAAb,S,IAAA,EAA0C;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA9B,QAA1C,CAJJ,CADkG,CAX1G,EAmBK,CAAC,WAAD,IAAgB;AAAK,iBAAS,EAAC;AAAf,SACZ,qBAAqB,CAAC,eAAtB,IAAyC;AAAM,iBAAS,EAAC;AAAhB,SAA+B,MAA/B,CAD7B,EAEZ,qBAAqB,CAAC,eAAtB,IAAyC,KAAK,aAAL,CAAmB,QAAnB,CAAzC,IAAyE,MAAM,CAAC,MAAP,GAAgB,CAAzF,IAA8F,uCAFlF,EAGZ,CAAC,KAAK,QAAL,CAAc,QAAd,KAA2B,KAAK,QAAL,CAAc,QAAd,CAA5B,KAAwD,kC,GAAA,EAAQ,qDAAsC,iBAAtC,EAAyD;AAAE,gBAAQ,EAAE,KAAK,QAAL,CAAc,QAAd,CAAZ;AAAqC,gBAAQ,EAAE,KAAK,QAAL,CAAc,QAAd;AAA/C,OAAzD,CAAR,EAAmJ,GAAnJ,CAH5C,EAGuM,GAHvM,CAnBrB,CAvBJ,CADJ;AAkDH;;;;EAtFqC,KAAK,CAAC,S;;AAAhD,oD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BA;;AACA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IA0Ba,0B;;;;;AAET,sCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,oGAAM,KAAN;;AAUI,0BAAgB,UAAC,cAAD,EAAyB,UAAzB,EAA+C;AACnE,UAAM,eAAe,GAAG,UAAxB;AACA,UAAI,oBAAoB,GAAG,IAAI,CAAC,KAAL,CAAW,cAAc,GAAG,eAA5B,CAA3B;AACA,UAAI,WAAW,GAAG,oBAAoB,GAAG,eAAzC;AACA,UAAI,cAAc,GAAG,cAAc,GAAG,WAAtC;AACA,UAAI,UAAU,GAAG,cAAc,IAAI,oBAAoB,GAAG,CAA3B,CAA/B;AACA,aAAO,UAAP;AACH,KAPO;;AA6BA,oCAA0B,YAAK;AAAA,wBACqG,MAAK,KAD1G;AAAA,UAC3B,+CAD2B,eAC3B,+CAD2B;AAAA,UACsB,6BADtB,eACsB,6BADtB;AAAA,UACqD,8BADrD,eACqD,8BADrD;AAAA,UACqF,WADrF,eACqF,WADrF;AAAA,wBAE8B,MAAK,KAFnC;AAAA,UAE3B,KAF2B,eAE3B,KAF2B;AAAA,UAEpB,UAFoB,eAEpB,UAFoB;AAAA,UAER,WAFQ,eAER,WAFQ;AAAA,UAEK,oBAFL,eAEK,oBAFL;AAGnC,UAAM,uBAAuB,GAAG,UAAU,GAAG,+CAA7C;;AAEA,UAAI,6BAA6B,KAAK,CAAtC,EAAyC;AACrC,YAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAI,UAApB,CAAtC;;AACA,YAAM,YAAW,GAAI,uBAAuB,IAAI,oBAAoB,GAAG,6BAA3B,CAAxB,GAAqF,+CAAzG;;AACA,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CAAE,YAAF,GAAgB,+CADnB;AAEV,uCAA6B,EAAE,CAFrB;AAGV,wCAA8B,EAAE,8BAA8B,GAAG;AAHvD,SAAd;;AAMA,eAAO,IAAP;AAEH;;AACD,UAAI,6BAA6B,GAAG,CAApC,EAAuC;AACnC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,WAAW,GAAG,KAAd,GAAsB,+CADzB;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAAhC,KAAsC,CAAtC,GAA0C,6BAA6B,GAAG,CAA1E,GAA8E,CAFnG;AAGV,wCAA8B,EAAE,8BAA8B,GAAG;AAHvD,SAAd;AAKH;AACJ,KAxBO;;AA0BA,qCAA2B,YAAK;AAAA,yBACoG,MAAK,KADzG;AAAA,UAC5B,8BAD4B,gBAC5B,8BAD4B;AAAA,UACI,6BADJ,gBACI,6BADJ;AAAA,UACmC,+CADnC,gBACmC,+CADnC;AAAA,UACoF,WADpF,gBACoF,WADpF;AAAA,UAE5B,KAF4B,GAElB,MAAK,KAFa,CAE5B,KAF4B;;AAGpC,UAAI,8BAA8B,KAAK,CAAvC,EAA0C;AACtC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CADH;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAFrD;AAGV,wCAA8B,EAAE;AAHtB,SAAd;;AAKA,eAAO,IAAP;AACH;;AACD,UAAI,8BAA8B,GAAG,CAArC,EAAwC;AACpC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,WAAW,GAAG,KAAd,GAAsB,+CADzB;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAFrD;AAGV,wCAA8B,EAAE,8BAA8B,GAAG,CAAjC,GAAqC,CAArC,GAAyC,8BAA8B,GAAG,CAA1E,GAA8E;AAHpG,SAAd;AAKH;AACJ,KAlBO;;AA0BA,2BAAiB,UAAC,iBAAD,EAA+B;AACpD,UAAI,iBAAJ,EAAuB,OAAO,kBAAP,CAAvB,KACK,OAAO,kBAAP;AAER,KAJO;;AAKA,oBAAU,UAAC,IAAD,EAA2B,QAA3B,EAAgD;AAC9D,UAAI,IAAI,KAAK,WAAT,IAAwB,QAA5B,EAAsC,OAAO,OAAP;AACtC,aAAO,IAAP;AACH,KAHO;;AA/FJ,UAAK,KAAL,GAAa;AACT,mCAA6B,EAAE,IADtB;AAET,oCAA8B,EAAE,IAFvB;AAGT,iBAAW,EAAE,CAHJ;AAIT,qDAA+C,EAAE;AAJxC,KAAb;AAFa;AAQhB;;;;yCAWwB;AAAA,yBAC+B,KAAK,KADpC;AAAA,UACb,UADa,gBACb,UADa;AAAA,UACD,KADC,gBACD,KADC;AAAA,UACM,oBADN,gBACM,oBADN;;AAErB,UAAI,oBAAoB,GAAG,CAA3B,EAA8B;AAC1B,aAAK,iBAAL,CAAuB,oBAAvB,EAA6C,KAA7C,EAAoD,UAApD;AACH;AACJ;;;sCAGyB,oB,EAA8B,K,EAAe,U,EAAkB;AACrF,UAAM,uBAAuB,GAAG,UAAU,GAAG,KAAK,aAAL,CAAmB,KAAnB,EAA0B,UAA1B,CAA7C;AACA,UAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAI,UAApB,CAAtC;AACA,UAAM,iBAAiB,GAAG,oBAAoB,GAAG,6BAAjD;AACA,UAAI,6BAAJ;;AACA,UAAI,iBAAiB,KAAK,CAA1B,EAA6B;AACzB,qCAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,oBAAoB,GAAG,6BAAlC,CAAhC;AACH,OAFD,MAGK;AAAE,qCAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,oBAAoB,GAAG,6BAAlC,IAAmE,CAAnG;AAAsG;;AAC7G,UAAM,8BAA8B,GAAG,CAAvC;AACA,WAAK,QAAL,CAAc;AAAE,qCAA6B,EAA7B,6BAAF;AAAiC,sCAA8B,EAA9B,8BAAjC;AAAiE,uDAA+C,EAAE,KAAK,aAAL,CAAmB,KAAnB,EAA0B,UAA1B;AAAlH,OAAd;AACH;;;8CA+CgC,S,EAAS;AAAA,UAC9B,UAD8B,GACc,SADd,CAC9B,UAD8B;AAAA,UAClB,KADkB,GACc,SADd,CAClB,KADkB;AAAA,UACX,oBADW,GACc,SADd,CACX,oBADW;;AAGtC,UAAI,SAAS,CAAC,oBAAV,GAAiC,CAArC,EAAwC;AACpC,aAAK,iBAAL,CAAuB,oBAAvB,EAA6C,KAA7C,EAAoD,UAApD;AACH;AACJ;;;6BAUY;AAAA;;AAAA,yBACmK,KAAK,KADxK;AAAA,UACD,KADC,gBACD,KADC;AAAA,UACM,UADN,gBACM,UADN;AAAA,UACkB,QADlB,gBACkB,QADlB;AAAA,UAC4B,WAD5B,gBAC4B,WAD5B;AAAA,UACyC,aADzC,gBACyC,aADzC;AAAA,UACwD,qBADxD,gBACwD,qBADxD;AAAA,UAC+E,UAD/E,gBAC+E,UAD/E;AAAA,UAC2F,aAD3F,gBAC2F,aAD3F;AAAA,UAC0G,cAD1G,gBAC0G,cAD1G;AAAA,UAC0H,mBAD1H,gBAC0H,mBAD1H;AAAA,UAC+I,eAD/I,gBAC+I,eAD/I;AAAA,yBAE8E,KAAK,KAFnF;AAAA,UAED,8BAFC,gBAED,8BAFC;AAAA,UAE+B,6BAF/B,gBAE+B,6BAF/B;AAAA,UAE8D,WAF9D,gBAE8D,WAF9D;AAGT,UAAM,SAAS,GAAG,KAAK,aAAL,CAAmB,KAAnB,EAA0B,UAA1B,IAAwC,UAA1D;AACA,UAAI,kBAAkB,GAAG,6BAA6B,KAAK,CAA3D;AACA,UAAI,mBAAmB,GAAG,8BAA8B,KAAK,CAA7D;AACA,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE;AAApF,OAAhC;AACA,aAAQ;AAAK,iBAAS,EAAC,cAAf;AAA8B,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArC,SACH,mBAAmB,IAAI;AAAQ,iBAAS,EAAC,8BAAlB;AAAiD,aAAK,EAAC,cAAvD;AAAqE,sBAAY,cAAjF;AAAgG,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,wBAAL,EAAP;AAAA;AAAzG,QADpB,EAEJ;AAAK,iBAAS,EAAC,iBAAf;AAAiC,aAAK,EAAE;AAAE,yBAAe;AAAjB;AAAxC,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,KAAP;AAAA,eACV;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,qBAAc,IAAI,CAAC,MAAnB,cAA6B,KAA7B,CAA7B;AACI,eAAK,EAAE;AAAE,sBAAU,EAAE,MAAI,CAAC,aAAL,CAAmB,KAAnB,EAA0B,UAA1B;AAAd;AADX,WAEK,IAAI,CAAC,KAAL,CAAW,SAAX,KAAyB,aAAzB,GAAyC;AAAK,mBAAS,EAAC;AAAf,WACtC,oBAAC,iCAAD,EAAgB;AAAC,gBAAM,EAAE,IAAI,CAAC,MAAd;AAAsB,cAAI,EAAE,MAAI,CAAC,OAAL,CAAa,IAAI,CAAC,IAAlB,EAAwB,IAAI,CAAC,QAA7B,CAA5B;AAAoE,uBAAa,EAAC,QAAlF;AAA2F,uBAAa,EAAE,IAAI,CAAC;AAA/G,SAAhB,CADsC,EAEtC;AAAK,mBAAS,EAAC,eAAf;AAA+B,eAAK,EAAE;AAAE,iBAAK,EAAE,UAAT;AAAqB,kBAAM,EAAE;AAA7B;AAAtC,WACI,oBAAC,qBAAD,EAAU;AAAC,cAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UAA/C;AAA2D,eAAK,EAAE,UAAlE;AAA8E,gBAAM,EAAE,WAAtF;AAAmG,uBAAa,EAAE;AAAlH,SAAV,CADJ,CAFsC,CAAzC,GAIkB,oBAAC,4BAAD,EAAiB;AAC5B,cAAI,EAAE,IAAI,CAAC,SADiB;AAE5B,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC;AAF3B,SAAjB,EAIX;AAAK,mBAAS,EAAC;AAAf,WACI,oBAAC,iCAAD,EAAgB;AAAC,gBAAM,EAAE,IAAI,CAAC,MAAd;AAAsB,cAAI,EAAE,MAAI,CAAC,OAAL,CAAa,IAAI,CAAC,IAAlB,EAAwB,IAAI,CAAC,QAA7B,CAA5B;AAAoE,uBAAa,EAAC,QAAlF;AAA2F,uBAAa,EAAE,IAAI,CAAC;AAA/G,SAAhB,CADJ,EAEI;AAAK,mBAAS,EAAC,eAAf;AAA+B,eAAK,EAAE;AAAE,iBAAK,EAAE,UAAT;AAAqB,kBAAM,EAAE;AAA7B;AAAtC,WACI,oBAAC,qBAAD,EAAU;AAAC,cAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UAA/C;AAA2D,eAAK,EAAE,UAAlE;AAA8E,gBAAM,EAAE,WAAtF;AAAmG,uBAAa,EAAE;AAAlH,SAAV,CADJ,CAFJ,CAJW,EAQ0B,GAR1B,CANvB,EAeI;AAAK,mBAAS,EAAC;AAAf,WACK,qBAAqB,CAAC,cAAtB,IAAwC;AAAK,mBAAS,EAAE,MAAI,CAAC,cAAL,CAAoB,qBAAqB,CAAC,iBAAtB,IAA2C,IAAI,CAAC,QAAL,KAAkB,SAAjF;AAAhB,WACrC,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,SADE;AAEb,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,kBAAQ,EAAE,IAAI,CAAC;AAHF,SAAjB,EAII;AAAM,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAb,W,GAAA,EAAsC;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UAAtC,CAJJ,CADqC,CAD7C,EASK,qBAAqB,CAAC,iBAAtB,IAA2C,IAAI,CAAC,QAAL,KAAkB,SAA7D,IAA0E;AAAK,mBAAS,EAAC;AAAf,WACvE,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,SADE;AAEb,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,kBAAQ,EAAE,IAAI,CAAC;AAHF,SAAjB,EAII;AAAM,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAb,W,GAAA,EAAyC;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UAAzC,CAJJ,CADuE,CAT/E,EAiBK,mBAAmB,IAAI,IAAI,CAAC,UAAL,KAAoB,SAA3C,IAAwD;AAAK,mBAAS,EAAC;AAAf,WACrD,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,cADE;AAEb,oBAAU,EAAE,IAAI,CAAC,oBAAL,KAA8B,SAA9B,IAA2C,IAAI,CAAC,oBAF/C;AAGb,kBAAQ,EAAE,IAAI,CAAC;AAHF,SAAjB,EAII;AAAM,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAb,W,GAAA,EAA2C;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UAA3C,CAJJ,CADqD,CAjB7D,CAfJ,CADU;AAAA,OAAb,CADL,CAFI,EA+CH,kBAAkB,IAAI;AAAQ,iBAAS,EAAC,6BAAlB;AAAgD,aAAK,EAAC,aAAtD;AAAmE,sBAAY,aAA/E;AAA6F,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,uBAAL,EAAP;AAAA;AAAtG,QA/CnB,CAAR;AAkDH;;;;EAhK2C,KAAK,CAAC,S;;AACpC,4CAAiB,4BAAjB;AADlB,gE,CAkKA,S;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjMA;;AACA;;AACA;;IAmBa,uB;;;;;AAET,mCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,iGAAM,KAAN;;AAKI,mCAAyB,YAAK;AAAA,wBACa,MAAK,KADlB;AAAA,UAC1B,YAD0B,eAC1B,YAD0B;AAAA,UACZ,oBADY,eACZ,oBADY;AAElC,UAAI,CAAC,GAAG,IAAI,IAAJ,EAAR;AACA,UAAI,CAAC,GAAG,CAAC,CAAC,QAAF,EAAR;AACA,UAAI,CAAC,GAAG,CAAC,CAAC,UAAF,EAAR;AACA,UAAI,WAAW,GAAG,CAAC,GAAG,EAAJ,GAAS,CAA3B;AACA,UAAI,aAAa,GAAG,IAAI,CAAC,KAAL,CAAY,WAAW,GAAG,YAAf,GAA+B,oBAA1C,CAApB;AACA,aAAO,aAAP;AACH,KARO;;AASA,oCAA0B,YAAK;AAAA,UAC3B,aAD2B,GACT,MAAK,KADI,CAC3B,aAD2B;AAAA,UAE3B,oBAF2B,GAEF,MAAK,KAFH,CAE3B,oBAF2B;;AAGnC,UAAI,aAAa,KAAK,oBAAoB,GAAG,CAA7C,EAAgD;AAAE,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;AAAqC,OAAvF,MACK;AACD,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE,aAAa,GAAG;AAAjC,SAAd;AACH;AACJ,KAPO;;AASA,qCAA2B,YAAK;AAAA,UAC5B,aAD4B,GACV,MAAK,KADK,CAC5B,aAD4B;AAAA,UAE5B,oBAF4B,GAEH,MAAK,KAFF,CAE5B,oBAF4B;AAGpC,UAAI,aAAa,KAAK,CAAtB,EACI,MAAK,QAAL,CAAc;AAAE,qBAAa,EAAE,oBAAoB,GAAG;AAAxC,OAAd,EADJ,KAEK;AACD,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE,aAAa,GAAG;AAAjC,SAAd;AACH;AACJ,KARO;;AAtBJ,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE,MAAK,sBAAL;AADN,KAAb;AAFa;AAKhB;;;;6BA6BY;AAAA;;AAAA,yBAC8F,KAAK,KADnG;AAAA,UACD,UADC,gBACD,UADC;AAAA,UACW,WADX,gBACW,WADX;AAAA,UACwB,QADxB,gBACwB,QADxB;AAAA,UACkC,qBADlC,gBACkC,qBADlC;AAAA,UACyD,UADzD,gBACyD,UADzD;AAAA,UACqE,oBADrE,gBACqE,oBADrE;AAAA,UAED,aAFC,GAEiB,KAAK,KAFtB,CAED,aAFC;AAGT,UAAM,IAAI,GAAG,QAAQ,CAAC,aAAD,CAArB;AACA,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,cAAM,EAAE,EAAxE;AAA4E,iBAAS,EAAE,EAAvF;AAA2F,WAAG,EAAE,EAAhG;AAAoG,oBAAY,EAAE;AAAlH,OAAhC;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAC,UAAf;AAA0B,WAAG,qBAAc,IAAI,CAAC,MAAnB,cAA6B,aAA7B;AAA7B,SACI,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,IAAI,CAAC,SADE;AAEb,kBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC;AAF1C,OAAjB,E,IAAA,EAGG;AAAK,iBAAS,EAAC,eAAf;AAA+B,aAAK,EAAE;AAAE,eAAK,EAAE,UAAT;AAAqB,gBAAM,EAAE;AAA7B;AAAtC,SACK,oBAAC,qBAAD,EAAU;AAAC,YAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UAA/C;AAA2D,aAAK,EAAE,UAAlE;AAA8E,cAAM,EAAE,WAAtF;AAAmG,qBAAa,EAAE;AAAlH,OAAV,CADL,CAHH,EAK+B,GAL/B,CADJ,EAOI;AAAK,iBAAS,EAAC;AAAf,SACK,oBAAoB,GAAG,CAAvB,IAA4B;AAAQ,iBAAS,EAAC,8BAAlB;AAAgD,sBAC9D,cADc;AAEzB,aAAK,EAAC,cAFmB;AAGzB,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,wBAAL,EAAP;AAAA;AAHgB,QADjC,EAKK,qBAAqB,CAAC,cAAtB,IAAwC;AAAK,iBAAS,EAAC;AAAf,SACrC,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,IAAI,CAAC,SADE;AAEb,kBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,gBAAQ,EAAE,IAAI,CAAC;AAHF,OAAjB,EAII;AAAM,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAAb,SAAqC;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,QAArC,CAJJ,CADqC,CAL7C,EAaK,oBAAoB,GAAG,CAAvB,IAA4B;AAAQ,iBAAS,EAAC,6BAAlB;AAAgD,aAAK,EAAC,aAAtD;AAAmE,sBACjF,aADc;AAEzB,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,uBAAL,EAAP;AAAA;AAFgB,QAbjC,CAPJ,CAFJ,CADJ;AA+BH;;;;EAxEwC,KAAK,CAAC,S;;AACjC,yCAAiB,yBAAjB;AADlB,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;;AACA;;AACA;;IAsBa,yB;;;;;AAET,qCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,mGAAM,KAAN;;AAKI,mCAAyB,YAAK;AAAA,wBACa,MAAK,KADlB;AAAA,UAC1B,YAD0B,eAC1B,YAD0B;AAAA,UACZ,oBADY,eACZ,oBADY;AAElC,UAAI,CAAC,GAAG,IAAI,IAAJ,EAAR;AACA,UAAI,CAAC,GAAG,CAAC,CAAC,QAAF,EAAR;AACA,UAAI,CAAC,GAAG,CAAC,CAAC,UAAF,EAAR;AACA,UAAI,WAAW,GAAG,CAAC,GAAG,EAAJ,GAAS,CAA3B;AACA,UAAI,aAAa,GAAG,IAAI,CAAC,KAAL,CAAY,WAAW,GAAG,YAAf,GAA+B,oBAA1C,CAApB;AACA,aAAO,aAAP;AACH,KARO;;AASA,oCAA0B,YAAK;AAAA,UAC3B,aAD2B,GACT,MAAK,KADI,CAC3B,aAD2B;AAAA,UAE3B,oBAF2B,GAEF,MAAK,KAFH,CAE3B,oBAF2B;;AAGnC,UAAI,aAAa,KAAK,oBAAoB,GAAG,CAA7C,EAAgD;AAAE,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;AAAqC,OAAvF,MACK;AACD,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE,aAAa,GAAG;AAAjC,SAAd;AACH;AACJ,KAPO;;AASA,qCAA2B,YAAK;AAAA,UAC5B,aAD4B,GACV,MAAK,KADK,CAC5B,aAD4B;AAAA,UAE5B,oBAF4B,GAEH,MAAK,KAFF,CAE5B,oBAF4B;AAGpC,UAAI,aAAa,KAAK,CAAtB,EACI,MAAK,QAAL,CAAc;AAAE,qBAAa,EAAE,oBAAoB,GAAG;AAAxC,OAAd,EADJ,KAEK;AACD,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE,aAAa,GAAG;AAAjC,SAAd;AACH;AACJ,KARO;;AAtBJ,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE,MAAK,sBAAL;AADN,KAAb;AAFa;AAKhB;;;;6BA6BY;AAAA;;AAAA,yBAC4H,KAAK,KADjI;AAAA,UACD,UADC,gBACD,UADC;AAAA,UACW,WADX,gBACW,WADX;AAAA,UACwB,QADxB,gBACwB,QADxB;AAAA,UACkC,qBADlC,gBACkC,qBADlC;AAAA,UACyD,UADzD,gBACyD,UADzD;AAAA,UACqE,oBADrE,gBACqE,oBADrE;AAAA,UAC2F,aAD3F,gBAC2F,aAD3F;AAAA,UAC0G,aAD1G,gBAC0G,aAD1G;AAAA,UAED,aAFC,GAEiB,KAAK,KAFtB,CAED,aAFC;AAGT,UAAM,IAAI,GAAG,QAAQ,CAAC,aAAD,CAArB;AACA,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,cAAM,EAAE,EAAxE;AAA4E,iBAAS,EAAE,EAAvF;AAA2F,WAAG,EAAE,EAAhG;AAAoG,oBAAY,EAAE;AAAlH,OAAhC;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAC,UAAf;AAA0B,WAAG,qBAAc,IAAI,CAAC,MAAnB,cAA6B,aAA7B;AAA7B,SACI,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,IAAI,CAAC,SADE;AAEb,kBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC;AAF1C,OAAjB,E,IAAA,EAGG;AAAK,iBAAS,EAAC,eAAf;AAA+B,aAAK,EAAE;AAAE,eAAK,EAAE,UAAT;AAAqB,gBAAM,EAAE;AAA7B;AAAtC,SACK,oBAAC,qBAAD,EAAU;AAAC,YAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UAA/C;AAA2D,aAAK,EAAE,UAAlE;AAA8E,cAAM,EAAE,WAAtF;AAAmG,qBAAa,EAAE;AAAlH,OAAV,CADL,CAHH,EAK+B,GAL/B,CADJ,EAOI;AAAK,iBAAS,EAAC;AAAf,SACK,oBAAoB,GAAG,CAAvB,IAA4B;AAAQ,iBAAS,EAAC,8BAAlB;AACzB,aAAK,EAAC,cADmB;AAEzB,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,wBAAL,EAAP;AAAA;AAFgB,QADjC,EAIK,qBAAqB,CAAC,cAAtB,IAAwC;AAAK,iBAAS,EAAC;AAAf,SACrC,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,IAAI,CAAC,SADE;AAEb,kBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,gBAAQ,EAAE,IAAI,CAAC;AAHF,OAAjB,EAII;AAAM,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAAb,SAAqC;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,QAArC,CAJJ,CADqC,CAJ7C,EAYK,qBAAqB,CAAC,iBAAtB,IAA2C;AAAK,iBAAS,EAAC;AAAf,SACxC,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,IAAI,CAAC,SADE;AAEb,kBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,gBAAQ,EAAE,IAAI,CAAC;AAHF,OAAjB,EAII;AAAM,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAAb,SAAwC;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,QAAxC,CAJJ,CADwC,CAZhD,EAoBK,oBAAoB,GAAG,CAAvB,IAA4B;AACzB,aAAK,EAAC,aADmB;AACN,sBACR,aAFc;AAGzB,iBAAS,EAAC,6BAHe;AAGe,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,uBAAL,EAAP;AAAA;AAHxB,QApBjC,CAPJ,CAFJ,CADJ;AAuCH;;;;EAhF0C,KAAK,CAAC,S;;AACnC,2CAAiB,2BAAjB;AADlB,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBA;;AACA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IA0Ba,sB;;;;;AAET,kCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,gGAAM,KAAN;;AAUI,0BAAgB,UAAC,cAAD,EAAyB,UAAzB,EAA+C;AACnE,UAAM,eAAe,GAAG,UAAxB;AACA,UAAI,oBAAoB,GAAG,IAAI,CAAC,KAAL,CAAW,cAAc,GAAG,eAA5B,CAA3B;AACA,UAAI,WAAW,GAAG,oBAAoB,GAAG,eAAzC;AACA,UAAI,cAAc,GAAG,cAAc,GAAG,WAAtC;AACA,UAAI,UAAU,GAAG,cAAc,IAAI,oBAAoB,GAAG,CAA3B,CAA/B;AACA,aAAO,UAAP;AACH,KAPO;;AA8BA,oCAA0B,YAAK;AAAA,wBACqG,MAAK,KAD1G;AAAA,UAC3B,+CAD2B,eAC3B,+CAD2B;AAAA,UACsB,6BADtB,eACsB,6BADtB;AAAA,UACqD,8BADrD,eACqD,8BADrD;AAAA,UACqF,WADrF,eACqF,WADrF;AAAA,wBAEkB,MAAK,KAFvB;AAAA,UAE3B,QAF2B,eAE3B,QAF2B;AAAA,UAEjB,KAFiB,eAEjB,KAFiB;AAAA,UAEV,UAFU,eAEV,UAFU;AAAA,UAEE,WAFF,eAEE,WAFF;AAGnC,UAAM,uBAAuB,GAAG,UAAU,GAAG,+CAA7C;;AAEA,UAAI,6BAA6B,KAAK,CAAtC,EAAyC;AACrC,YAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAI,UAApB,CAAtC;;AACA,YAAM,YAAW,GAAI,uBAAuB,IAAI,QAAQ,CAAC,MAAT,GAAkB,6BAAtB,CAAxB,GAAgF,+CAApG;;AACA,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CAAE,YAAF,GAAgB,+CADnB;AAEV,uCAA6B,EAAE,CAFrB;AAGV,wCAA8B,EAAE,8BAA8B,GAAG;AAHvD,SAAd;;AAMA,eAAO,IAAP;AAEH;;AACD,UAAI,6BAA6B,GAAG,CAApC,EAAuC;AACnC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,WAAW,GAAG,KAAd,GAAsB,+CADzB;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAAhC,KAAsC,CAAtC,GAA0C,6BAA6B,GAAG,CAA1E,GAA8E,CAFnG;AAGV,wCAA8B,EAAE,8BAA8B,GAAG;AAHvD,SAAd;AAKH;AACJ,KAxBO;;AA0BA,qCAA2B,YAAK;AAAA,yBACoG,MAAK,KADzG;AAAA,UAC5B,8BAD4B,gBAC5B,8BAD4B;AAAA,UACI,6BADJ,gBACI,6BADJ;AAAA,UACmC,+CADnC,gBACmC,+CADnC;AAAA,UACoF,WADpF,gBACoF,WADpF;AAAA,UAE5B,KAF4B,GAElB,MAAK,KAFa,CAE5B,KAF4B;;AAGpC,UAAI,8BAA8B,KAAK,CAAvC,EAA0C;AACtC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CADH;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAFrD;AAGV,wCAA8B,EAAE;AAHtB,SAAd;;AAKA,eAAO,IAAP;AACH;;AACD,UAAI,8BAA8B,GAAG,CAArC,EAAwC;AACpC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,WAAW,GAAG,KAAd,GAAsB,+CADzB;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAFrD;AAGV,wCAA8B,EAAE,8BAA8B,GAAG,CAAjC,GAAqC,CAArC,GAAyC,8BAA8B,GAAG,CAA1E,GAA8E;AAHpG,SAAd;AAKH;AACJ,KAlBO;;AAjEJ,UAAK,KAAL,GAAa;AACT,mCAA6B,EAAE,IADtB;AAET,oCAA8B,EAAE,IAFvB;AAGT,iBAAW,EAAE,CAHJ;AAIT,qDAA+C,EAAE;AAJxC,KAAb;AAFa;AAQhB;;;;yCAWwB;AAAA,yBACmB,KAAK,KADxB;AAAA,UACb,QADa,gBACb,QADa;AAAA,UACH,UADG,gBACH,UADG;AAAA,UACS,KADT,gBACS,KADT;;AAErB,UAAI,QAAQ,CAAC,MAAT,GAAkB,CAAtB,EAAyB;AACrB,aAAK,iBAAL,CAAuB,QAAvB,EAAiC,KAAjC,EAAwC,UAAxC;AACH;AACJ;;;sCAGyB,M,EAAe,K,EAAe,U,EAAkB;AACtE,UAAM,YAAY,GAAG,MAAM,CAAC,MAA5B;AACA,UAAM,uBAAuB,GAAG,UAAU,GAAG,KAAK,aAAL,CAAmB,KAAnB,EAA0B,UAA1B,CAA7C;AACA,UAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAI,UAApB,CAAtC;AACA,UAAM,iBAAiB,GAAG,YAAY,GAAG,6BAAzC;AACA,UAAI,6BAAJ;;AACA,UAAI,iBAAiB,KAAK,CAA1B,EAA6B;AACzB,qCAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,YAAY,GAAG,6BAA1B,CAAhC;AACH,OAFD,MAGK;AAAE,qCAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,YAAY,GAAG,6BAA1B,IAA2D,CAA3F;AAA8F;;AACrG,UAAM,8BAA8B,GAAG,CAAvC;AACA,WAAK,QAAL,CAAc;AAAE,qCAA6B,EAA7B,6BAAF;AAAiC,sCAA8B,EAA9B,8BAAjC;AAAiE,uDAA+C,EAAE,KAAK,aAAL,CAAmB,KAAnB,EAA0B,UAA1B;AAAlH,OAAd;AACH;;;8CA+CgC,S,EAAS;AAAA,UAC9B,QAD8B,GACE,SADF,CAC9B,QAD8B;AAAA,UACpB,UADoB,GACE,SADF,CACpB,UADoB;AAAA,UACR,KADQ,GACE,SADF,CACR,KADQ;;AAGtC,UAAI,SAAS,CAAC,QAAV,CAAmB,MAAnB,GAA4B,CAAhC,EAAmC;AAC/B,aAAK,iBAAL,CAAuB,QAAvB,EAAiC,KAAjC,EAAwC,UAAxC;AACH;AACJ;;;6BAGY;AAAA;;AAAA,yBAE8D,KAAK,KAFnE;AAAA,UACD,KADC,gBACD,KADC;AAAA,UACM,UADN,gBACM,UADN;AAAA,UACkB,QADlB,gBACkB,QADlB;AAAA,UAC4B,WAD5B,gBAC4B,WAD5B;AAAA,UACyC,aADzC,gBACyC,aADzC;AAAA,UACwD,qBADxD,gBACwD,qBADxD;AAAA,UAC+E,UAD/E,gBAC+E,UAD/E;AAAA,UAC2F,cAD3F,gBAC2F,cAD3F;AAAA,UAEL,cAFK,gBAEL,cAFK;AAAA,UAEW,oBAFX,gBAEW,oBAFX;AAAA,UAEiC,eAFjC,gBAEiC,eAFjC;AAAA,UAEkD,OAFlD,gBAEkD,OAFlD;AAAA,yBAG8E,KAAK,KAHnF;AAAA,UAGD,8BAHC,gBAGD,8BAHC;AAAA,UAG+B,6BAH/B,gBAG+B,6BAH/B;AAAA,UAG8D,WAH9D,gBAG8D,WAH9D;AAIT,UAAM,SAAS,GAAG,KAAK,aAAL,CAAmB,KAAnB,EAA0B,UAA1B,IAAwC,UAA1D;AACA,UAAI,kBAAkB,GAAG,6BAA6B,KAAK,CAA3D;AACA,UAAI,mBAAmB,GAAG,8BAA8B,KAAK,CAA7D;AACA,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE,EAApF;AAAwF,kBAAU,EAAE;AAApG,OAAhC;AACA,aACI;AAAK,iBAAS,EAAC,cAAf;AAA8B,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArC,SACK,mBAAmB,IAAI;AACpB,iBAAS,EAAC,8BADU;AACoB,sBAC7B,cAFS;AAGpB,aAAK,EAAC,cAHc;AAIpB,aAAK,EAAE;AAAE,aAAG,EAAE,cAAc,GAAG,EAAH,GAAQ;AAA7B,SAJa;AAIsB,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,wBAAL,EAAP;AAAA;AAJ/B,QAD5B,EAMI;AAAK,iBAAS,EAAC,iBAAf;AAAiC,aAAK,EAAE;AAAE,yBAAe;AAAjB;AAAxC,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,KAAP;AAAA,eACV;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,qBAAc,IAAI,CAAC,MAAnB,cAA6B,KAA7B,CAA7B;AACI,eAAK,EAAE;AAAE,sBAAU,EAAE,MAAI,CAAC,aAAL,CAAmB,KAAnB,EAA0B,UAA1B,CAAd;AAAqD,sBAAU,EAAE;AAAjE;AADX,WAEK,cAAc,IAAI;AAAK,mBAAS,EAAC;AAAf,WAEd,IAAI,CAAC,QAAL,KAAkB,EAAlB,IAAwB,oBAAC,4BAAD,EAAiB;AACtC,cAAI,EAAE,IAAI,CAAC,SAD2B;AAEtC,oBAAU,EAAE,IAAI,CAAC,SAAL,KAAmB,SAAnB,IAAgC,IAAI,CAAC,eAFX;AAGtC,mBAAS,EAAE,IAAI,CAAC;AAHsB,SAAjB,EAKrB,oBAAC,iCAAD,EAAgB;AAAC,aAAG,EAAE,IAAI,CAAC,QAAX;AAAqB,eAAK,EAAE,GAA5B;AAA+B,yBAAc,MAA7C;AAAoD,eAAK,EAAE,IAAI,CAAC,SAAhE;AAA2E,gBAAM,EAAE;AAAnF,SAAhB,CALqB,CAFV,CAFvB,EAYI;AAAK,mBAAS,EAAC,eAAf;AAA+B,eAAK,EAAE;AAAE,iBAAK,EAAE,UAAT;AAAqB,kBAAM,EAAE;AAA7B;AAAtC,WACI,oBAAC,qBAAD,EAAU;AAAC,qBAAW,EAAE,IAAI,CAAC,SAAnB;AAA8B,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAArF;AAAsG,yBAAe,EAAE,IAAvH;AAA6H,cAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UAA3K;AACN,eAAK,EAAE,UADD;AACa,gBAAM,EAAE,WADrB;AACkC,uBAAa,EAAE;AADjD,SAAV,CADJ,CAZJ,EAiBI;AAAK,mBAAS,EAAC;AAAf,WACK,qBAAqB,CAAC,cAAtB,IAAwC;AAAK,mBAAS,EAAC;AAAf,WACrC,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,SADE;AAEb,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,kBAAQ,EAAE,IAAI,CAAC;AAHF,SAAjB,EAII;AAAM,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAb,WACI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADJ,CAJJ,CADqC,CAD7C,EAWK,oBAAoB,IAAI,IAAI,CAAC,UAAL,KAAoB,SAA5C,IAAyD;AAAK,mBAAS,EAAC;AAAf,WACtD,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,cAAL,KAAwB,SAAxB,IAAqC,IAAI,CAAC,cADnC;AAEb,oBAAU,EAAE,IAAI,CAAC,oBAAL,KAA8B,SAA9B,IAA2C,IAAI,CAAC,oBAF/C;AAGb,kBAAQ,EAAE,IAAI,CAAC;AAHF,SAAjB,EAII;AAAM,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAb,WAA2C,IAAI,CAAC,UAAhD,CAJJ,CADsD,CAX9D,CAjBJ,EAoCqB,OApCrB,CADU;AAAA,OAAb,CADL,CANJ,EA6CK,kBAAkB,IAAI;AACnB,aAAK,EAAC,aADa;AACA,sBACR,aAFQ;AAGnB,iBAAS,EAAC,6BAHS;AAInB,aAAK,EAAE;AAAE,aAAG,EAAE,cAAc,GAAG,EAAH,GAAQ;AAA7B,SAJY;AAKnB,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,uBAAL,EAAP;AAAA;AALU,QA7C3B,CADJ;AAwDH;;;;EAjKuC,KAAK,CAAC,S;;AAChC,wCAAiB,wBAAjB;AADlB,wD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCA;;AAEA;;AACA,IAAM,YAAY,GAAG,mBAAO,CAAC,kDAAD,CAA5B;;AAkBA,IAAa,QAAb;AAAA;AAAA;AAAA;;AACI,oBAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,kFAAM,KAAN;;AAMI,+BAAqB,YAAK;AAC9B,YAAK,QAAL,CAAc;AACV,kBAAU,EAAE;AADF,OAAd;AAGH,KAJO;;AAOA,2BAAiB,YAAK;AAC1B,YAAK,QAAL,CAAc;AACV,kBAAU,EAAE,CAAC,MAAK,KAAL,CAAW;AADd,OAAd;AAGH,KAJO;;AAKA,qBAAW,UAAC,UAAD,EAAe;AAC9B,UAAI,QAAQ,GAAG,IAAI,CAAC,KAAL,CAAW,UAAU,GAAG,CAAxB,IAA6B,CAA5C;AACA,aAAO,MAAM,QAAb;AACH,KAHO;;AAjBJ,UAAK,KAAL,GAAa;AACT,gBAAU,EAAE;AADH,KAAb;AAFa;AAKhB;;AANL;AAAA;AAAA,6BAwBiB;AAAA,UACD,UADC,GACc,KAAK,KADnB,CACD,UADC;AAAA,UAED,SAFC,GAEa,KAAK,KAFlB,CAED,SAFC;AAGT,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,UAAlB;AAA6B,aAAK,EAAC,6EAAnC;AAAqD,eAAO,EAAE,KAAK;AAAnE,SAAiF,6EAAjF,CADJ,EAEK,UAAU,IAAI;AAAK,iBAAS,EAAC,eAAf;AAA+B,aAAK,EAAE;AAAE,eAAK,EAAE,KAAK,QAAL,CAAc,SAAS,CAAC,MAAxB;AAAT;AAAtC,SAAoF,GAAG,CAAC,SAAD,EAAY,UAAC,IAAD,EAAO,CAAP;AAAA,eAC9G;AAAK,aAAG,EAAE,IAAI,CAAC;AAAf,WACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC;AAAnC,SAAjB,EAAiE,IAAI,CAAC,IAAtE,CADJ,CAD8G;AAAA,OAAZ,CAAvF,CAFnB,CADJ;AAUH;AArCL;;AAAA;AAAA,EAA8B,KAAK,CAAC,SAApC;;AAOkB,0BAAiB,UAAjB;AAPL,QAAQ,eADpB,YACoB,E,yCAAA,GAAR,QAAQ,CAAR;AAAA,4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBb;;AACA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAOa,yB;;;;;AAAb;AAAA;;AAAA;;;;AAGY,kCAAwB,UAAC,MAAD,EAAmB;AAAA,UACxC,KADwC,GAC/B,MAAK,KAD0B,CACxC,KADwC;;AAE/C,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,WAAW,GAAG,MAAM,CAAC,QAAP,CAAgB,IAApC;;AAEA,gBAAQ,MAAR;AACI,eAAK,UAAL;AACI,6CAAkB,WAAlB,EAA+B,EAA/B,EAAmC;AAAA,qBAAM,iCAAkB,UAAlB,EAA8B,cAA9B,EAA8C,KAA9C,CAAN;AAAA,aAAnC,EAA+F,cAA/F;AACA;;AAEJ,eAAK,SAAL;AACI,4CAAiB,WAAjB,EAA8B;AAAA,qBAAM,iCAAkB,SAAlB,EAA6B,cAA7B,EAA6C,KAA7C,CAAN;AAAA,aAA9B,EAAyF,cAAzF;AACA;;AAEJ,eAAK,QAAL;AACI,8CAAgB,aAAhB,CAA8B,QAAQ,CAAC,KAAvC,EAA8C,WAA9C,EAA2D,SAA3D,EAAsE;AAAA,qBAAM,iCAAkB,MAAlB,EAA0B,cAA1B,EAA0C,KAA1C,CAAN;AAAA,aAAtE,EAA8H,cAA9H;AACA;;AAEJ,eAAK,MAAL;AACI,oCAAgB,WAAhB;AACA,6CAAkB,MAAlB,EAA0B,cAA1B,EAA0C,KAA1C;AACA;AAhBR;AAkBH;AACJ,KAxBO;;AA0BA,iCAAuB,YAAK;AAAA,UACzB,KADyB,GAChB,MAAK,KADW,CACzB,KADyB;AAEhC,uCAAkB,UAAlB,EAA8B,cAA9B,EAA8C,KAA9C;AACA,YAAK,qBAAL,CAA2B,IAA3B,gDAAwE,MAAM,CAAC,QAAP,CAAgB,IAAxF;AACH,KAJO;;AA7BZ;AA+FC;;;;6BA5DgB;AAAA;;AACT,UAAM,IAAI,GAAG,IAAb;AADS,UAED,SAFC,GAEa,KAAK,KAFlB,CAED,SAFC;AAGT,aACI;AAAK,iBAAS,2CAAoC,SAApC;AAAd,SACI;AACI,iBAAS,EAAC,kBADd;AAEI,aAAK,EAAC,iFAFV;AAGI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,UAA3B,CAAP;AAAA;AAHb,SAII;AAAM,iBAAS,EAAC;AAAhB,SAA+B,iFAA/B,CAJJ,EAOI;AAAM,iBAAS,EAAC;AAAhB,QAPJ,CADJ,EAWI;AACI,iBAAS,EAAC,iBADd;AAEI,aAAK,EAAC,2EAFV;AAGI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,SAA3B,CAAP;AAAA;AAHb,SAII;AAAM,iBAAS,EAAC;AAAhB,SAA+B,2EAA/B,CAJJ,EAOI;AAAM,iBAAS,EAAC;AAAhB,QAPJ,CAXJ,EAqBI;AACI,iBAAS,EAAC,kBADd;AAEI,aAAK,EAAC;AAFV,SAGI;AAAG,eAAO,EAAE,KAAK,oBAAjB;AAAuC,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,qBAAL,GAA6B,IAAjC;AAAA,SAA/C;AAAqF,iBAAS,EAAC,iBAA/F;AAAiH,YAAI,EAAC,EAAtH;AAAwH,uBAAa;AAArI,SACI;AAAM,iBAAS,EAAC;AAAhB,SAA+B,2EAA/B,CADJ,EAII;AAAM,iBAAS,EAAC;AAAhB,QAJJ,CAHJ,CArBJ,EAgCI;AACI,iBAAS,EAAC,cADd;AAEI,aAAK,EAAC,6CAFV;AAGI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,QAA3B,CAAP;AAAA;AAHb,SAII;AAAM,iBAAS,EAAC;AAAhB,SAAsC,6CAAtC,CAJJ,EAOI;AAAM,iBAAS,EAAC;AAAhB,QAPJ,CAhCJ,EA0CI;AACI,iBAAS,EAAC,cADd;AAEI,aAAK,EAAE,oCAAqB,IAArB,EAA2B,WAA3B,CAFX;AAGI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,qBAAL,CAA2B,MAA3B,CAAP;AAAA;AAHb,SAII;AAAM,iBAAS,EAAC;AAAhB,SACK,oCAAqB,IAArB,EAA2B,WAA3B,CADL,CAJJ,EAOI;AAAM,iBAAS,EAAC;AAAhB,QAPJ,CA1CJ,CADJ;AAwDH;;;;EA9F0C,KAAK,CAAC,S;;AACnC,2CAAiB,2BAAjB;AADlB,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;AAEA;;AACA;;AACA;;AACA;;AAEA,mBAAO,CAAC,mCAAD,CAAP;;IAOa,e;;;;;AAAb;AAAA;;AAAA;;;;AAGY,yCAA+B,YAAK;AACxC,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,cAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,cAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,eAAK,EAAE,YADW;AAElB,kBAAQ,EAAE,YAFQ;AAGlB,gBAAM,EAAE;AAHU,SAAtB;AAKH;AACJ,KATO;;AAHZ;AA6EC;;;;6BA/DS;AAAA,wBAC4B,KAAK,KADjC;AAAA,UACM,UADN,eACM,UADN;AAAA,UACkB,KADlB,eACkB,KADlB;AAEF,UAAM,aAAa,GAAG;AAClB,sBAAc,EAAE,EADE;AAElB,mBAAW,EAAE;AAFK,OAAtB;AAIA,UAAM,aAAa,GAAG;AAClB,YAAI,EAAE,EADY;AAElB,WAAG,EAAE,EAFa;AAGlB,YAAI,EAAE,EAHY;AAIlB,kBAAU,EAAE,2CAJM;AAKlB,qBAAa,EAAE,CAAC,aAAD,CALG;AAMlB,oBAAY,EAAE;AANI,OAAtB;AAQA,UAAM,QAAQ,GAAG,KAAK,CAAC,IAAN,CAAW,WAAC;AAAA,eAAI,CAAC,CAAC,OAAF,KAAc,UAAlB;AAAA,OAAZ,CAAjB;AACA,UAAI,QAAQ,GAAG,QAAQ,KAAK,SAAb,GAAyB,QAAzB,GAAoC,aAAnD;AACA,UAAM,YAAY,GAAG,OAAO,MAAP,KAAkB,WAAlB,GAAgC,MAAM,CAAC,QAAP,CAAgB,QAAhD,GAA2D,EAAhF;AAGA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,QAAQ,CAAC,IAAhB;AAAsB,iBAAS,EAAE,QAAQ,CAAC,IAA1C;AAAgD,kBAAU,EAAE,QAAQ,CAAC;AAArE,OAAjB,EACI,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,QAAQ,CAAC,GAAf;AAAoB,WAAG,EAAE,QAAQ,CAAC,IAAlC;AAAwC,aAAK,EAAE,QAAQ,CAAC,IAAxD;AAA4D,uBAAc,MAA1E;AAAgF,sBAAY;AAA5F,OAAhB,CADJ,CADJ,CADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,KAAK,CAAC,GAAN,CAAU,UAAC,IAAD,EAAO,KAAP;AAAA,eACP;AAAK,mBAAS,EAAE,UAAU,CAAC,UAAD,EAAa;AAAE,0BAAc,4BAAhB;AAA+B,wBAAY,QAAQ,KAAK;AAAxD,WAAb,CAA1B;AAAwG,aAAG,EAAE;AAA7G,WACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC;AAAnC,SAAjB,EACI,kC,GAAA,EAAQ,IAAI,CAAC,IAAb,CADJ,CADJ,CADO;AAAA,OAAV,CADL,CADJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,iBAAS,EAAE,KAAK,4BAAnB;AAAiD,YAAI,EAAC,2BAAtD;AAAkF,iBAAS,EAAC;AAA5F,S,2BAAA,EACS;AAAM,aAAK,EAAC,yDAAZ;AAAyB,iBAAS,EAAC;AAAnC,QADT,CADJ,EAII;AAAM,iBAAS,EAAC;AAAhB,QAJJ,EAKI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,+BAAwB,QAAQ,CAAC,YAAjC,CAAL;AAAsD,kBAAU,EAAE;AAAlE,OAAjB,E,6CAAA,EACY;AAAM,aAAK,EAAC,8FAAZ;AAAgC,iBAAS,EAAC;AAA1C,QADZ,CALJ,CADJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,EAEI;AAAG,YAAI,EAAC,4DAAR;AAAqE,cAAM,EAAC;AAA5E,SAAoF,yDAApF,CAFJ,EAEwG,GAFxG,EAGI;AAAM,iBAAS,EAAC;AAAhB,QAHJ,EAII;AAAG,YAAI,EAAC,6DAAR;AAAsE,cAAM,EAAC;AAA7E,SAAqF,uFAArF,CAJJ,EAKI;AAAM,iBAAS,EAAC;AAAhB,QALJ,EAMI;AAAG,YAAI,wCAAiC,YAAjC,6CAAP;AAAgG,iBAAS,EAAC,UAA1G;AAAqH,cAAM,EAAC;AAA5H,S,sGAAA,EAAyJ;AAAM,iBAAS,EAAC;AAAhB,QAAzJ,CANJ,CAXJ,CAXJ,CANJ,CADJ;AA2CH;;;;EA5EgC,KAAK,CAAC,S;;AACzB,iCAAiB,iBAAjB;AADlB,0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBA;;AACA;;AACA;;AACA;;IAsBa,oB;;;;;;;;;;;;;6BAEH;AAAA,wBACsC,KAAK,KAD3C;AAAA,UACM,QADN,eACM,QADN;AAAA,UACgB,QADhB,eACgB,QADhB;AAAA,UAC0B,OAD1B,eAC0B,OAD1B;AAGF,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,kBAAlB;AAAqC,aAAK,EAAC,0BAA3C;AAAkD,eAAO,EAAE;AAA3D,SAAkE,QAAlE,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,QAAQ,CAAC,IAAhB;AAAsB,iBAAS,EAAE,QAAQ,CAAC,IAA1C;AAAgD,kBAAU,EAAE,QAAQ,CAAC;AAArE,OAAjB,EACI,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,QAAQ,CAAC,GAAf;AAAoB,WAAG,EAAE,QAAQ,CAAC,IAAlC;AAAwC,aAAK,EAAE,QAAQ,CAAC,IAAxD;AAA4D,uBAAc,MAA1E;AAAgF,sBAAY;AAA5F,OAAhB,CADJ,CADJ,CAFJ,CADJ,EASI;AAAK,iBAAS,EAAC;AAAf,SAAyB,6CAAzB,CATJ,EAUI;AAAK,iBAAS,EAAC;AAAf,SAEK,GAAG,CAAC,QAAD,EAAW,UAAC,IAAD,EAAO,CAAP,EAAY;AACvB,eACI;AAAK,aAAG,EAAE,CAAV;AAAa,mBAAS,EAAE,UAAU,CAAC,UAAD,EAAa;AAAE,wBAAY,IAAI,CAAC,IAAL,KAAc,QAAQ,CAAC;AAArC,WAAb;AAAlC,WACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC;AAAnC,SAAjB,EACI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADJ,CADJ,CADJ;AAOH,OARG,CAFR,CAVJ,CADJ;AA2BH;;;;EAhCqC,KAAK,CAAC,S;;AAAhD,oD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;IA+Ba,mB;;;;;AAAb;AAAA;;AAAA;;;;AAGY,gDAAsC,YAAK;AAC/C,YAAM,aAAN,IAAyB,MAAM,aAAN,CAAoB,WAApB,EAAzB;AACA,YAAM,aAAN,IAAuB,MAAM,aAAN,QAAvB,IAAsD,MAAM,aAAN,SAA4B,QAA5B,EAAtD;;AACA,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,cAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,cAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,eAAK,EAAE,eADW;AAElB,kBAAQ,EAAE,eAFQ;AAGlB,gBAAM,EAAE;AAHU,SAAtB;AAKH;AAEJ,KAZO;;AAaA,0CAAgC,YAAK;AAEzC,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,cAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,cAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,eAAK,EAAE,YADW;AAElB,kBAAQ,EAAE,YAFQ;AAGlB,gBAAM,EAAE;AAHU,SAAtB;AAKH;AAEJ,KAXO;;AAhBZ;AA+FC;;;;6BAlES;AAAA,wBAEwF,KAAK,KAF7F;AAAA,UACM,QADN,eACM,QADN;AAAA,UACgB,QADhB,eACgB,QADhB;AAAA,UAC0B,OAD1B,eAC0B,OAD1B;AAAA,UACmC,cADnC,eACmC,cADnC;AAAA,UACmD,aADnD,eACmD,aADnD;AAAA,UACkE,YADlE,eACkE,YADlE;AAAA,UACgF,MADhF,eACgF,MADhF;AAAA,UACwF,kBADxF,eACwF,kBADxF;AAAA,UAEE,iBAFF,eAEE,iBAFF;AAAA,UAEqB,iBAFrB,eAEqB,iBAFrB;AAAA,UAEwC,uBAFxC,eAEwC,uBAFxC;AAAA,UAEiE,kBAFjE,eAEiE,kBAFjE;AAGF,UAAI,aAAa,GAAG,UAAU,CAAC,YAAD,EAAe;AAAE,oBAAY,MAAM,KAAK,IAAzB;AAA+B,qBAAa,MAAM,KAAK;AAAvD,OAAf,CAA9B;AACA,UAAM,KAAK,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAM,CAAC,QAAP,CAAgB,IAAhB,CAAqB,OAArB,CAA6B,OAA7B,KAAyC,CAAC,CAAzF;AACA,aACI;AAAK,iBAAS,EAAE,aAAhB;AAA+B,UAAE,EAAC;AAAlC,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,gBAAlB;AAAmC,aAAK,EAAC,+DAAzC;AAAuD,eAAO,EAAE;AAAhE,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,QAAQ,CAAC,IAAhB;AAAsB,iBAAS,EAAE,QAAQ,CAAC,IAA1C;AAAgD,kBAAU,EAAE,QAAQ,CAAC;AAArE,OAAjB,EACI,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,QAAQ,CAAC,GAAf;AAAoB,WAAG,EAAE,QAAQ,CAAC,IAAlC;AAAwC,aAAK,EAAE,QAAQ,CAAC,IAAxD;AAA4D,uBAAc,MAA1E;AAAgF,sBAAY;AAA5F,OAAhB,CADJ,CADJ,CAFJ,CADJ,EASI,oBAAC,kCAAD,EAAgB,IAAhB,CATJ,EAUI;AAAI,iBAAS,EAAC;AAAd,SACK,GAAG,CAAC,QAAQ,CAAC,cAAV,EAA0B,UAAC,IAAD,EAAO,CAAP,EAAY;AACtC,eACI;AAAI,aAAG,EAAE,CAAT;AAAY,mBAAS,EAAE,UAAU,CAAC,UAAD;AAAjC,WACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC;AAAnC,SAAjB,EACI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADJ,CADJ,CADJ;AAQH,OATG,CADR,EAYK,CAAC,kBAAD,IAAuB;AAAI,iBAAS,EAAE,UAAU,CAAC,UAAD;AAAzB,SACpB;AAAQ,iBAAS,EAAC,YAAlB;AAA+B,eAAO,EAAE;AAAxC,SAAoD,6CAApD,CADoB,CAZ5B,EAiBK,iBAAiB,IAAI;AAAI,iBAAS,EAAE,UAAU,CAAC,UAAD;AAAzB,SAClB,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,iBAAiB,CAAC,IAAlB,CAAuB,aAA9B;AAA6C,kBAAU,EAAE,uBAAzD;AAAkF,iBAAS,EAAC;AAA5F,OAAjB,EACK,iBADL,CADkB,CAjB1B,EAsBI;AAAI,iBAAS,EAAE,UAAU,CAAC,UAAD;AAAzB,SACI;AAAG,iBAAS,EAAE,KAAK,6BAAnB;AAAkD,YAAI,EAAC,2BAAvD;AAAmF,iBAAS,EAAC;AAA7F,SAAiH,+DAAjH,CADJ,CAtBJ,EA2BK,KAAK,IAAI;AAAI,iBAAS,EAAE,UAAU,CAAC,UAAD;AAAzB,SACN;AAAG,YAAI,EAAC,mBAAR;AAA4B,iBAAS,EAAC;AAAtC,SAA0D,sCAA1D,CADM,CA3Bd,EAgCI;AAAI,iBAAS,EAAE,UAAU,CAAC,UAAD,CAAzB;AAAuC,aAAK,EAAE;AAAE,kBAAQ,EAAE;AAAZ;AAA9C,SACI;AAAG,UAAE,EAAC,cAAN;AACI,iBAAS,EAAE,KAAK,mCADpB;AAEI,iBAAS,EAAC,QAFd;AAGI,gBAAQ,EAAE,CAHd;AAII,aAAK,EAAE;AAAE,oBAAU,EAAE,kBAAd;AAAkC,aAAG,EAAE,OAAvC;AAAgD,cAAI,EAAE;AAAtD,SAJX;AAKI,iBAAS,EAAC,GALd;AAKiB,2BAAiB;AALlC,SAMI;AAAK,WAAG,EAAC,4CAAT;AAAsD,aAAK,EAAE;AAAE,eAAK,EAAE,MAAT;AAAiB,gBAAM,EAAE,MAAzB;AAAiC,oBAAU,EAAE;AAA7C;AAA7D,QANJ,EAOc,sCAPd,CADJ,CAhCJ,CAVJ,EAqDK,CAAC,kBAAD,IAAuB,oBAAC,2CAAD,EAAmB;AAAC,sBAAc,EAAC,mBAAhB;AAAoC,8BAAsB,EAAE,GAA5D;AAAiE,uBAAe,EAAE,IAAlF;AAAwF,8BAAsB,EAAE;AAAhH,OAAnB,EACnB,cAAc,IAAI,oBAAC,iCAAD,EAAqB;AAAC,gBAAQ,EAAE,QAAX;AAAqB,gBAAQ,EAAE,QAA/B;AAAyC,eAAO,EAAE;AAAlD,OAArB,CADC,CArD5B,CADJ;AA4DH;;;;EA9FoC,KAAK,CAAC,S;;AAA/C,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICtCa,e;;;;;;;;;;;;;6BACI;AACT,aACI;AAAK,iBAAS,EAAC;AAAf,QADJ;AAGH;;;;EALgC,KAAK,CAAC,S;;AAA3C,0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDA;;AACA;;AAEA;;IA6Ba,+B;;;;;AAET,2CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,yGAAM,KAAN;;AAGI,qBAAW,YAAK;AACpB,YAAK,QAAL,CAAc;AAAE,kBAAU,EAAE;AAAd,OAAd;AACH,KAFO;;AAGA,sBAAY,YAAK;AACrB,YAAK,QAAL,CAAc;AAAE,kBAAU,EAAE;AAAd,OAAd;AACH,KAFO;;AAGA,2BAAiB,YAAK;AAC1B,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;AACH,KAFO;;AAGA,4BAAkB,YAAK;AAC3B,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;AACH,KAFO;;AAXJ,UAAK,KAAL,GAAa;AAAE,gBAAU,EAAE,IAAd;AAAoB,oBAAc,EAAE;AAApC,KAAb;AAFa;AAGhB;;;;6BAaK;AAAA,wBACoI,KAAK,KADzI;AAAA,UACM,QADN,eACM,QADN;AAAA,UACgB,QADhB,eACgB,QADhB;AAAA,UAC0B,kBAD1B,eAC0B,kBAD1B;AAAA,UAC8C,iBAD9C,eAC8C,iBAD9C;AAAA,UACiE,iBADjE,eACiE,iBADjE;AAAA,UACoF,uBADpF,eACoF,uBADpF;AAAA,UAC6G,kBAD7G,eAC6G,kBAD7G;AAAA,wBAEqC,KAAK,KAF1C;AAAA,UAEM,UAFN,eAEM,UAFN;AAAA,UAEkB,cAFlB,eAEkB,cAFlB;AAIF,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,aAAlB;AAAgC,aAAK,EAAC,+DAAtC;AAAoD,eAAO,EAAE,KAAK;AAAlE,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,QAAQ,CAAC,IAAhB;AAAsB,iBAAS,EAAE,QAAQ,CAAC,IAA1C;AAAgD,kBAAU,EAAE,QAAQ,CAAC;AAArE,OAAjB,EACI,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,QAAQ,CAAC,GAAf;AAAoB,WAAG,EAAE,QAAQ,CAAC,IAAlC;AAAwC,aAAK,EAAE,QAAQ,CAAC,IAAxD;AAA4D,uBAAc,MAA1E;AAAgF,sBAAY;AAA5F,OAAhB,CADJ,CADJ,CAFJ,EAOI;AAAG,YAAI,EAAE,2BAAT;AAAsC,iBAAS,EAAC,WAAhD;AAA4D,aAAK,EAAC;AAAlE,QAPJ,CADJ,EAUI,oBAAC,gCAAD,EAAoB;AAChB,gBAAQ,EAAE,QADM;AAEhB,gBAAQ,EAAE,QAFM;AAGhB,eAAO,EAAE,KAAK,SAHE;AAIhB,oBAAY,EAAE,KAAK,cAJH;AAKhB,qBAAa,EAAE,KAAK,eALJ;AAMhB,sBAAc,EAAE,KAAK,KAAL,CAAW,cANX;AAOhB,cAAM,EAAE,UAPQ;AAQhB,0BAAkB,EAAE,kBARJ;AAShB,yBAAiB,EAAE,iBATH;AAUhB,yBAAiB,EAAE,iBAVH;AAWhB,+BAAuB,EAAE,uBAXT;AAYhB,0BAAkB,EAAE;AAZJ,OAApB,CAVJ,CADJ;AA2BH;;;;EAjDgD,KAAK,CAAC,S;;AACzC,iDAAiB,iCAAjB;AADlB,0E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChCA;;AACA;;AAEA;;AACA;;AACA;;AACA,IAAM,YAAY,GAAG,mBAAO,CAAC,kDAAD,CAA5B;;AA6BA,IAAa,yBAAb;AAAA;AAAA;AAAA;;AAEI,qCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,mGAAM,KAAN;;AAOJ,+BAAqB,YAAK;AACtB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;AACH,KAFD;;AAGQ,gDAAsC,YAAK;AAC/C,YAAM,aAAN,IAAyB,MAAM,aAAN,CAAoB,WAApB,EAAzB;AACA,YAAM,aAAN,IAAuB,MAAM,aAAN,QAAvB,IAAsD,MAAM,aAAN,SAA4B,QAA5B,EAAtD;;AACA,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,cAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,cAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,eAAK,EAAE,eADW;AAElB,kBAAQ,EAAE,eAFQ;AAGlB,gBAAM,EAAE;AAHU,SAAtB;AAKH;AAEJ,KAZO;;AAcA,0CAAgC,YAAK;AACzC,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,cAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,cAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,eAAK,EAAE,YADW;AAElB,kBAAQ,EAAE,YAFQ;AAGlB,gBAAM,EAAE;AAHU,SAAtB;AAKH;AAEJ,KAVO;;AAYA,gCAAsB,YAAK;AAC/B,UAAM,MAAM,GAAG,CAAC,MAAD,EAAS,MAAT,EAAiB,KAAjB,EAAwB,MAAxB,EAAgC,KAAhC,EAAuC,MAAvC,EAA+C,MAA/C,EAAuD,MAAvD,EAA+D,MAA/D,EAAuE,MAAvE,EAA+E,MAA/E,EAAuF,MAAvF,CAAf;AACA,UAAI,KAAK,GAAG,IAAI,IAAJ,EAAZ;AACA,UAAI,aAAa,GAAG,KAAK,CAAC,OAAN,KAAkB,GAAlB,GAAwB,MAAM,CAAC,KAAK,CAAC,QAAN,EAAD,CAA9B,GAAmD,GAAnD,GAAyD,KAAK,CAAC,WAAN,EAA7E;AACA,aAAO,aAAP;AACH,KALO;;AAMA,uBAAa,YAAK;AACtB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,CAAC,MAAK,KAAL,CAAW;AAA5B,OAAd;AACH,KAFO;;AAzCJ,UAAK,KAAL,GAAa;AACT,kBAAY,EAAE;AADL,KAAb;AAFa;AAMhB;;AARL;AAAA;AAAA,6BAgDU;AAAA,wBACsK,KAAK,KAD3K;AAAA,UACM,QADN,eACM,QADN;AAAA,UACgB,QADhB,eACgB,QADhB;AAAA,UAC0B,OAD1B,eAC0B,OAD1B;AAAA,UACmC,cADnC,eACmC,cADnC;AAAA,UACmD,YADnD,eACmD,YADnD;AAAA,UACiE,iBADjE,eACiE,iBADjE;AAAA,UACoF,iBADpF,eACoF,iBADpF;AAAA,UACuG,uBADvG,eACuG,uBADvG;AAAA,UACgI,kBADhI,eACgI,kBADhI;AAAA,UACoJ,aADpJ,eACoJ,aADpJ;AAEF,UAAM,SAAS,GAAG;AACd,kBAAU,sBAAe,cAAf;AADI,OAAlB;AAGA,UAAM,gBAAgB,GAAG;AACrB,mBAAW,sBAAe,cAAf;AADU,OAAzB;AAGA,UAAI,cAAc,GAAG,QAAQ,CAAC,cAA9B;AACA,UAAI,eAAJ;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,cAAT,CAAwB,MAAxB,GAAiC,EAAjC,IAAuC,aAA7D;;AAEA,UAAI,aAAJ,EAAmB;AACf,YAAM,YAAY,GAAG,QAAQ,CAAC,cAAT,CAAwB,MAAxB,GAAiC,EAAtD;AACA,sBAAc,GAAG,QAAQ,CAAC,cAAT,CAAwB,KAAxB,CAA8B,CAA9B,EAAiC,EAAjC,CAAjB;AACA,uBAAe,GAAG,QAAQ,CAAC,cAAT,CAAwB,KAAxB,CAA8B,CAAC,YAA/B,CAAlB;AACH;;AACD,UAAM,YAAY,GAAG,CAAC,KAAK,KAAL,CAAW,YAAZ,GAA2B,QAA3B,GAAsC,EAA3D;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,QAAQ,CAAC,IAAhB;AAAsB,iBAAS,EAAE,QAAQ,CAAC,IAA1C;AAAgD,kBAAU,EAAE,QAAQ,CAAC;AAArE,OAAjB,EACI,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,QAAQ,CAAC,GAAf;AAAoB,WAAG,EAAE,QAAQ,CAAC,IAAlC;AAAwC,aAAK,EAAE,QAAQ,CAAC,IAAxD;AAA4D,uBAAc,MAA1E;AAAgF,sBAAY;AAA5F,OAAhB,CADJ,CADJ,CADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,UAAE,EAAC,aAAN;AAAoB,iBAAS,EAAE,KAAK,mCAApC;AAAyE,iBAAS,EAAC,QAAnF;AAA4F,iBAAS,EAAC,GAAtG;AAAyG,2BAAiB,eAA1H;AACI,aAAK,EAAE;AAAE,oBAAU,EAAE,MAAd;AAAsB,iBAAO,EAAE,SAA/B;AAA0C,sBAAY,EAAE,KAAxD;AAA+D,gBAAM,EAAE,mBAAvE;AAA4F,aAAG,EAAE,KAAjG;AAAwG,cAAI,EAAE,OAA9G;AAAuH,eAAK,EAAE;AAA9H;AADX,SAEI;AAAK,WAAG,EAAC,4CAAT;AAAsD,aAAK,EAAE;AAAE,eAAK,EAAE,MAAT;AAAiB,gBAAM,EAAE;AAAzB;AAA7D,QAFJ,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACK,KAAK,mBAAL,EADL,CALJ,EASI;AAAK,iBAAS,EAAC;AAAf,QATJ,EAUI;AAAG,iBAAS,EAAE,KAAK,6BAAnB;AAAkD,YAAI,EAAC,2BAAvD;AAAmF,iBAAS,EAAC;AAA7F,SAAiH,+DAAjH,CAVJ,EAaI;AAAK,iBAAS,EAAC;AAAf,QAbJ,EAcK,iBAAiB,IAAI,oBAAC,4BAAD,EAAiB;AAAC,iBAAS,EAAC,0BAAX;AAAsC,YAAI,EAAE,iBAAiB,CAAC,IAAlB,CAAuB,aAAnE;AACnC,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT,SAD4B;AACG,kBAAU,EAAE;AADf,OAAjB,EAEjB,iBAFiB,CAd1B,EAkBK,iBAAiB,IAAI;AAAK,iBAAS,EAAC;AAAf,QAlB1B,EAmBI,oBAAC,kCAAD,EAAgB,IAAhB,CAnBJ,CANJ,CADJ,EA8BI;AAAK,iBAAS,EAAC,yBAAf;AAAyC,aAAK,EAAE;AAAE,oBAAU,EAAE;AAAd;AAAhD,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,cAAc,CAAC,GAAf,CAAmB,UAAC,IAAD,EAAO,KAAP;AAAA,eAChB;AAAK,mBAAS,EAAE,UAAU,CAAC,UAAD,EAAa;AAAE,0BAAc;AAAhB,WAAb,CAA1B;AAAyE,eAAK,EAAE,SAAhF;AAA2F,aAAG,EAAE;AAAhG,WACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC,UAAnC;AAA+C,eAAK,EAAE;AAAE,iBAAK,EAAE,IAAI,CAAC;AAAd;AAAtD,SAAjB,EACI;AAAM,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA/B,UADJ,CADJ,CADgB;AAAA,OAAnB,CADL,EAQK,aAAa,IAAI;AAAK,iBAAS,EAAE,UAAU,CAAC,uBAAD,EAA0B;AAAE,wBAAc;AAAhB,SAA1B,CAA1B;AAAsF,eAAO,EAAE,KAAK,UAApG;AAAgH,aAAK,EAAE;AAAE,eAAK,EAAE,YAAY,GAAE,YAAF,GAAiB;AAAtC;AAAvH,SAAwK,uDAAxK,EAEd;AAAM,iBAAS,EAAC,oBAAhB;AAAqC,eAAO,EAAE,KAAK;AAAnD,SACI;AAAK,aAAK,EAAC,4BAAX;AAAwC,iBAAS,EAAC,aAAlD;AAAgE,aAAK,EAAC,QAAtE;AAA+E,cAAM,EAAC,KAAtF;AAA4F,eAAO,EAAC;AAApG,SACI,iCADJ,EAII;AAAG,UAAE,EAAC,WAAN;AAAiB,qBAAW,WAA5B;AAAwC,iBAAS,EAAC;AAAlD,SACI;AAAM,UAAE,EAAC,WAAT;AAAqB,SAAC,EAAC,kNAAvB;AAAyO,qBAAY,WAArP;AAAiQ,iBAAS,EAAC,wBAA3Q;AAAoS,YAAI,EAAE,YAAY,GAAE,YAAF,GAAiB;AAAvU,QADJ,CAJJ,CADJ,CAFc,EAYd;AAAI,iBAAS,4BAAqB,YAArB;AAAb,SACK,eAAe,CAAC,GAAhB,CAAoB,UAAC,IAAD,EAAO,CAAP,EAAY;AAC7B,eACI;AAAI,aAAG,EAAE,CAAT;AAAY,mBAAS,EAAE,UAAU,CAAC,UAAD;AAAjC,WACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC,UAAnC;AAA+C,eAAK,EAAE;AAAE,iBAAK,EAAE,IAAI,CAAC;AAAd;AAAtD,SAAjB,EACI;AAAM,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA/B,UADJ,CADJ,CADJ;AAOH,OARA,CADL,CAZc,CARtB,CADJ,CADJ,CA9BJ,CADJ;AAyEH;AA3IL;;AAAA;AAAA,EAA+C,KAAK,CAAC,SAArD;;AACkB,2CAAiB,2BAAjB;AADL,yBAAyB,eADrC,YACqC,E,yCAAA,GAAzB,yBAAyB,CAAzB;AAAA,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCb;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;IAYa,iB;;;;;AAAb;AAAA;;AAAA;;;;AAEY,oBAAU,UAAC,IAAD,EAA2B,QAA3B,EAAgD;AAC9D,UAAI,IAAI,KAAK,WAAT,IAAwB,QAA5B,EAAsC,OAAO,OAAP;AACtC,aAAO,IAAP;AACH,KAHO;;AAFZ;AAmEC;;;;6BA7DgB;AAAA;;AAAA,wBAC0E,KAAK,KAD/E;AAAA,UACD,UADC,eACD,UADC;AAAA,UACW,QADX,eACW,QADX;AAAA,UACqB,WADrB,eACqB,WADrB;AAAA,UACkC,aADlC,eACkC,aADlC;AAAA,UACiD,oBADjD,eACiD,oBADjD;AAET,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE,EAApF;AAAwF,kBAAU,EAAE;AAApG,OAAhC;AACA,UAAM,aAAa,GAAoB,QAAQ,CAAC,GAAT,CAAa,cAAI,EAAG;AAAG,eAAO,IAAI,CAAC,KAAZ;AAAmB,OAA1C,CAAvC;AAEA,aAAQ;AAAK,iBAAS,EAAC;AAAf,SAEH,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC1B,YAAM,0BAA0B,GAAG,oBAAoB,CAAC,eAArB,KAAyC,oBAAoB,CAAC,aAArB,IAAsC,oBAAoB,CAAC,aAApG,KAAsH,IAAI,CAAC,MAA3H,IAAqI,IAAI,CAAC,MAAL,CAAY,MAAZ,GAAqB,CAA7L;AAEA,eACI;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,qBAAc,IAAI,CAAC,MAAnB,cAA6B,KAA7B;AAA7B,WAEI;AAAK,mBAAS,EAAC;AAAf,WACK,IAAI,CAAC,oBAAL,IAA6B;AAAK,mBAAS,EAAC;AAAf,WAA+B,oBAAC,qCAAD,EAAkB,IAAlB,EACzD,oBAAC,uCAAD,EAAmB;AAAC,qBAAW,EAAE,IAAd;AAAoB,8BAAoB,EAAE,IAAI,CAAC;AAA/C,SAAnB,CADyD,CAA/B,CADlC,EAII,oBAAC,iCAAD,EAAgB;AAAC,gBAAM,EAAE,IAAI,CAAC,MAAd;AAAsB,cAAI,EAAE,MAAI,CAAC,OAAL,CAAa,IAAI,CAAC,IAAlB,EAAwB,IAAI,CAAC,QAA7B,CAA5B;AAAoE,uBAAa,EAAC,QAAlF;AAA2F,uBAAa,EAAE,IAAI,CAAC;AAA/G,SAAhB,CAJJ,EAKI;AAAK,mBAAS,EAAC,eAAf;AAA+B,eAAK,EAAE;AAAE,iBAAK,EAAE,UAAT;AAAqB,kBAAM,EAAE;AAA7B;AAAtC,WACI,oBAAC,qBAAD,EAAU;AACN,mBAAS,EAAE,aADL;AAEN,cAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UAFxC;AAGN,eAAK,EAAE,UAHD;AAIN,gBAAM,EAAE,WAJF;AAKN,uBAAa,EAAE,aALT;AAMN,qBAAW,EAAE,IAAI,CAAC,SANZ;AAON,yBAAe,EAAE,IAPX;AAQN,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC;AARjD,SAAV,CADJ,CALJ,EAgBiB,GAhBjB,CAFJ,EAmBI;AAAK,mBAAS,EAAC;AAAf,WACK,oBAAoB,CAAC,cAArB,IAAuC;AAAK,mBAAS,EAAC;AAAf,WACpC,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,SADE;AAEb,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,kBAAQ,EAAE,IAAI,CAAC;AAHF,SAAjB,EAII;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UAJJ,CADoC,CAD5C,EASK,oBAAoB,CAAC,iBAArB,IAA0C,IAAI,CAAC,QAAL,KAAkB,SAA5D,IAAyE;AAAK,mBAAS,EAAC;AAAf,WACtE,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,SADE;AAEb,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,kBAAQ,EAAE,IAAI,CAAC;AAHF,SAAjB,EAII;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UAJJ,CADsE,CAT9E,EAiBI;AAAK,mBAAS,EAAC;AAAf,WACK,oBAAoB,CAAC,eAArB,IAAwC,IAAI,CAAC,MAA7C,IAAuD,IAAI,CAAC,MAAL,CAAY,MAAZ,GAAqB,CAA5E,IAAiF;AAAM,mBAAS,EAAC;AAAhB,WAA+B,IAAI,CAAC,MAApC,CADtF,EAEK,0BAA0B,IAAI,uCAFnC,EAGK,CAAC,oBAAoB,CAAC,aAArB,IAAsC,oBAAoB,CAAC,aAA5D,KAA8E,kCAAO,qDAAsC,IAAI,CAAC,iBAA3C,EAA8D;AAAE,kBAAQ,EAAE,oBAAoB,CAAC,aAAjC;AAAgD,kBAAQ,EAAE,oBAAoB,CAAC,aAA/E;AAA8F,2BAAiB,EAAE;AAAjH,SAA9D,CAAP,EAAuM,GAAvM,CAHnF,CAjBJ,CAnBJ,CADJ;AA6CH,OAhDA,CAFG,CAAR;AAuDH;;;;EAlEkC,KAAK,CAAC,S;;AAC3B,mCAAiB,mBAAjB;AADlB,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AAEA;;IA6Ba,oB;;;;;AAGT,gCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,8FAAM,KAAN;;AAoBI,2BAAiB,UAAC,WAAD,EAAuC;AAAA,wBACnB,MAAK,KADc;AAAA,UACxC,MADwC,eACpD,UADoD;AAAA,UAChC,QADgC,eAChC,QADgC;AAE5D,UAAM,UAAU,GAAG,CAAC,MAAD,IACf,WAAW,CAAC,MAAZ,GAAqB,CADN,IAEf,EAAE,QAAQ,CAAC,MAAT,GAAkB,MAAK,KAAL,CAAW,oBAA/B,CAFJ;;AAGA,YAAK,QAAL,CAAc;AAAE,kBAAU,EAAV;AAAF,OAAd;AACH,KANO;;AAQA,wBAAc,YAAK;AAAA,UACf,YADe,GACE,MAAK,KADP,CACf,YADe;AAAA,yBAEU,MAAK,KAFf;AAAA,UAEf,UAFe,gBAEf,UAFe;AAAA,UAEH,QAFG,gBAEH,QAFG;AAGvB,UAAM,aAAa,GAAG,KAAK,CAAC,MAAN,CAAa,wDAAb,CAAtB;;AACA,YAAK,QAAL,CACI;AACI,gBAAQ,EAAE,QADd;AAEI,kBAAU,EAAE,IAFhB;AAGI,kBAAU,EAAE;AAHhB,OADJ;;AAQA,mBAAa,CAAC,GAAd,gDAA0D,YAA1D,cAA0E,UAA1E,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,YAAM,WAAW,GAAG,GAAG,CAAC,IAAJ,CAAS,IAA7B;;AAEA,cAAK,QAAL,CACI;AACI,kBAAQ,+BAAM,QAAN,sBAAmB,WAAnB,EADZ;AAEI,oBAAU,EAAE,UAAU,GAAG,CAF7B;AAGI,oBAAU,EAAE,KAHhB;AAII,oBAAU,EAAE;AAJhB,SADJ;;AAQA,cAAK,cAAL,CAAoB,WAApB;AACH,OAbL,EAcK,KAdL,CAcW,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,OAdd;AAeH,KA3BO;;AA8BA,0BAAgB,UAAC,QAAD,EAAa;AAAA,UACzB,qBADyB,GACC,MAAK,KADN,CACzB,qBADyB;AAEjC,UAAI,QAAQ,KAAK,4BAAe,OAA5B,KAAwC,qBAAqB,CAAC,aAAtB,IAAuC,qBAAqB,CAAC,aAArG,CAAJ,EACI,OAAO,IAAP,CADJ,KAEK,OAAO,KAAP;AACR,KALO;;AAMA,qBAAW,UAAC,QAAD,EAAa;AAAA,UACpB,qBADoB,GACM,MAAK,KADX,CACpB,qBADoB;AAE5B,UAAI,QAAQ,KAAK,4BAAe,OAA5B,IAAuC,qBAAqB,CAAC,aAAjE,EACI,OAAO,IAAP,CADJ,KAEK,OAAO,KAAP;AACR,KALO;;AAMA,qBAAW,UAAC,QAAD,EAAa;AAAA,UACpB,qBADoB,GACM,MAAK,KADX,CACpB,qBADoB;AAE5B,UAAI,QAAQ,KAAK,4BAAe,OAA5B,IAAuC,qBAAqB,CAAC,aAAjE,EACI,OAAO,IAAP,CADJ,KAEK,OAAO,KAAP;AACR,KALO;;AAMA,2BAAiB,UAAC,iBAAD,EAA+B;AACpD,UAAI,iBAAJ,EAAuB,OAAO,kBAAP,CAAvB,KACK,OAAO,kBAAP;AAER,KAJO;;AAKA,oBAAU,UAAC,IAAD,EAA2B,QAA3B,EAAgD;AAC9D,UAAI,IAAI,KAAK,WAAT,IAAwB,QAA5B,EAAsC,OAAO,OAAP;AACtC,aAAO,IAAP;AACH,KAHO;;AAhFJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,KAAK,CAAC,SADP;AAET,gBAAU,EAAE,CAFH;AAGT,gBAAU,EAAE,KAHH;AAIT,gBAAU,EAAE;AAJH,KAAb;AAFa;AAQhB;;;;uCAEkB,S,EAAgC;AAC/C,UAAI,KAAK,KAAL,CAAW,SAAX,KAAyB,SAAS,CAAC,SAAvC,EAAkD;AAC9C,aAAK,QAAL,CACI;AACI,kBAAQ,EAAE,KAAK,KAAL,CAAW;AADzB,SADJ;AAKH;AACJ;;;6BAqEY;AAAA;;AAAA,wBACgI,KAAK,KADrI;AAAA,UACD,iBADC,eACD,iBADC;AAAA,UACkB,aADlB,eACkB,aADlB;AAAA,UACiC,qBADjC,eACiC,qBADjC;AAAA,UACwD,UADxD,eACwD,UADxD;AAAA,UACoE,aADpE,eACoE,aADpE;AAAA,UACmF,UADnF,eACmF,UADnF;AAAA,UAC+F,WAD/F,eAC+F,WAD/F;AAAA,UAC4G,eAD5G,eAC4G,eAD5G;AAAA,yBAE4C,KAAK,KAFjD;AAAA,UAED,QAFC,gBAED,QAFC;AAAA,UAEqB,MAFrB,gBAES,UAFT;AAAA,UAE6B,UAF7B,gBAE6B,UAF7B;AAGT,UAAI,QAAQ,GAAG,EAAf;AAEA,UAAM,eAAe,GAAyB;AAC1C,oBAAY,EAAE,MAD4B;AAE1C,uBAAe,EAAE,EAFyB;AAG1C,sBAAc,EAAE,IAH0B;AAI1C,uBAAe,EAAE,IAJyB;AAK1C,qBAAa,EAAE;AAL2B,OAA9C;;AAOA,UAAI,QAAJ,EAAc;AACV,YAAI,MAAM,CAAC,IAAP,CAAY,QAAZ,EAAsB,MAAtB,GAA+B,CAAnC,EAAsC;AAClC,kBAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAD,EAAW,UAAC,OAAD,EAAe,KAAf,EAAwB;AACpD,gBAAI,KAAJ;AACA,gBAAM,cAAc,GAAG,QAAQ,CAAC,KAAD,CAAR,CAAgB,cAAvC;;AACA,gBAAI,OAAO,cAAP,KAA0B,WAA9B,EAA2C;AACvC,mBAAK,GAAG,QAAQ,CAAC,KAAD,CAAR,CAAgB,qBAAxB;AACH,aAFD,MAEO,KAAK,GAAG,EAAR;;AAEP,mBAAO;AACH,mBAAK,EAAE;AACH,yBAAS,EAAE,aADR;AAEH,uBAAO,EAAE,OAAO,CAAC,SAFd;AAGH,mBAAG,EAAE,KAAK,CAAC,aAAN,GAAsB,OAAO,CAAC,WAAR,CAAoB,KAApB,EAA2B;AAAE,mBAAC,EAAE,UAAL;AAAiB,mBAAC,EAAE;AAApB,iBAA3B,CAAtB,GAAsF,eAHxF;AAIH,qBAAK,EAAE,2BAAY,KAAZ,CAJJ;AAKH,mBAAG,EAAE,yBAAU,KAAV,CALF;AAMH,sBAAM,EAAE,KAAK,CAAC,MANX;AAOH,yBAAS,EAAE;AAPR,eADJ;AAUH,mBAAK,EAAE,OAAO,CAAC,KAVZ;AAWH,sBAAQ,EAAE,OAAO,CAAC,QAXf;AAYH,uBAAS,EAAE,+CAAgC,OAAhC,CAZR;AAaH,6BAAe,EAAE,eAbd;AAcH,oBAAM,EAAE,OAAO,CAAC,SAdb;AAeH,sBAAQ,EAAE,OAAO,CAAC,QAff;AAgBH,sBAAQ,EAAE,SAhBP;AAiBH,kBAAI,EAAE,OAAO,CAAC,QAAR,GAAmB,OAAnB,GAA6B,MAjBhC;AAkBH,+BAAiB,EAAE,OAAO,CAAC,iBAlBxB;AAmBH,oBAAM,EAAE,OAAO,CAAC,MAnBb;AAoBH,+BAAiB,EAAE,OAAO,CAAC;AApBxB,aAAP;AAsBH,WA7BoB,CAAJ,CAAjB;AA8BH;AACJ;;AAGD,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,eAAP;AAAwB,iBAAS,EAAE,iCAAkB,WAArD;AAAkE,aAAK,EAAE,EAAzE;AAA6E,iBAAS,EAAE,EAAxF;AAA4F,WAAG,EAAE,EAAjG;AAAqG,kBAAU,EAAE;AAAjH,OAAhC;AACA,UAAM,aAAa,GAAoB,QAAQ,CAAC,GAAT,CAAa,cAAI,EAAG;AAAG,eAAO,IAAI,CAAC,KAAZ;AAAmB,OAA1C,CAAvC;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC1B,eACI;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,qBAAc,IAAI,CAAC,MAAnB,cAA6B,KAA7B;AAA7B,WACI;AAAK,mBAAS,EAAC;AAAf,WACI,oBAAC,iCAAD,EAAgB;AAAC,gBAAM,EAAE,IAAI,CAAC,MAAd;AAAsB,cAAI,EAAE,MAAI,CAAC,OAAL,CAAa,IAAI,CAAC,IAAlB,EAAwB,IAAI,CAAC,QAA7B,CAA5B;AAAoE,uBAAa,EAAC,QAAlF;AAA2F,uBAAa,EAAE,IAAI,CAAC;AAA/G,SAAhB,CADJ,EAEI,oBAAC,kCAAD,EAAoB;AAChB,2BAAiB,EAAE,IAAI,CAAC,iBADR;AAEhB,2BAAiB,EAAE,IAAI,CAAC,iBAFR;AAGhB,mBAAS,EAAC;AAHM,SAApB,CAFJ,EAMI;AAAK,mBAAS,EAAC,eAAf;AAA+B,eAAK,EAAE;AAAE,iBAAK,EAAE,UAAT;AAAqB,kBAAM,EAAE;AAA7B;AAAtC,WACI,oBAAC,qBAAD,EAAU;AACN,mBAAS,EAAE,aADL;AAEN,cAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UAFxC;AAGN,eAAK,EAAE,UAHD;AAIN,gBAAM,EAAE,WAJF;AAKN,uBAAa,EAAE,aALT;AAMN,qBAAW,EAAE,IAAI,CAAC,SANZ;AAON,yBAAe,EAAE,IAPX;AAQN,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC;AARjD,SAAV,CADJ,CANJ,CADJ,EAoBI;AAAK,mBAAS,EAAC;AAAf,WACK,qBAAqB,CAAC,cAAtB,IAAwC;AAAK,mBAAS,EAAE,MAAI,CAAC,cAAL,CAAoB,qBAAqB,CAAC,iBAAtB,IAA2C,IAAI,CAAC,QAAL,KAAkB,SAAjF;AAAhB,WACrC,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,SADE;AAEb,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,kBAAQ,EAAE,IAAI,CAAC;AAHF,SAAjB,EAII;AAAM,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAb,WACI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADJ,CAJJ,CADqC,CAD7C,EAWK,qBAAqB,CAAC,iBAAtB,IAA2C,IAAI,CAAC,QAAL,KAAkB,SAA7D,IAA0E;AAAK,mBAAS,EAAC;AAAf,WACvE,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,SADE;AAEb,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,kBAAQ,EAAE,IAAI,CAAC;AAHF,SAAjB,EAII;AAAM,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAb,W,IAAA,EAA0C;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UAA1C,CAJJ,CADuE,CAX/E,EAmBI;AAAK,mBAAS,EAAC;AAAf,WACK,qBAAqB,CAAC,eAAtB,IAAyC,IAAI,CAAC,MAAL,CAAY,MAAZ,GAAqB,CAA9D,IAAmE;AAAM,mBAAS,EAAC;AAAhB,WAA+B,IAAI,CAAC,MAApC,CADxE,EAEK,qBAAqB,CAAC,eAAtB,IAAyC,MAAI,CAAC,aAAL,CAAmB,IAAI,CAAC,QAAxB,CAAzC,IAA8E,IAAI,CAAC,MAAL,CAAY,MAAZ,GAAqB,CAAnG,IAAwG,uCAF7G,EAGK,CAAC,MAAI,CAAC,QAAL,CAAc,IAAI,CAAC,QAAnB,KAAgC,MAAI,CAAC,QAAL,CAAc,IAAI,CAAC,QAAnB,CAAjC,KAAkE,kC,GAAA,EAAQ,qDAAsC,IAAI,CAAC,iBAA3C,EAA8D;AAAE,kBAAQ,EAAE,MAAI,CAAC,QAAL,CAAc,IAAI,CAAC,QAAnB,CAAZ;AAA0C,kBAAQ,EAAE,MAAI,CAAC,QAAL,CAAc,IAAI,CAAC,QAAnB,CAApD;AAAkF,2BAAiB,EAAE;AAArG,SAA9D,CAAR,EAA4L,GAA5L,CAHvE,EAG2Q,GAH3Q,CAnBJ,CApBJ,CADJ;AA+CH,OAhDA,CADL,CADJ,EAqDI;AAAK,iBAAS,EAAC;AAAf,SACK,MAAM,IAAI,oBAAC,eAAD,EAAO,IAAP,CADf,EAEK,iBAAiB,IAAI,UAArB,IAAmC;AAAK,iBAAS,EAAE,gBAAhB;AAAkC,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,WAAL,EAAN;AAAA;AAA3C,SAAmE,wCAAnE,CAFxC,CArDJ,CADJ;AA4DH;;;;EAxMqC,KAAK,CAAC,S;;AAC9B,sCAAiB,sBAAjB;AADlB,oD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7CA;;IAWa,U;;;;;AAAb;AAAA;;AAAA;;;;AAEY,kCAAwB,YAAK;AAAA,UACzB,aADyB,GACP,MAAK,KADE,CACzB,aADyB;AAEjC,UAAI,MAAJ;;AACA,UAAI,aAAa,CAAC,MAAd,GAAuB,CAAvB,IAA4B,aAAa,CAAC,MAAd,GAAuB,EAAvD,EAA2D;AACvD,cAAM,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,aAAa,CAAC,MAA9B,CAAT;AACH,OAFD,MAGK;AAAE,cAAM,GAAG,CAAT;AAAY;;AAEnB,aAAO,MAAP;AAEH,KAVO;;AAFZ;AAuDC;;;;mCA1C0B,K,EAAO,C,EAAC;AAC3B;AACA;AACA,UAAI,MAAM,GAAG,KAAK,CAAC,KAAN,CAAY,IAAZ,EAAkB,IAAI,KAAJ,CAAU,CAAV,CAAlB,CAAb,CAH2B,CAK3B;;AACA,YAAM,GAAG,MAAM,CAAC,GAAP,CAAW;AAAc,eAAO,KAAP;AAAc,OAAvC,CAAT,CAN2B,CAQ3B;;AACA,UAAM,CAAC,GAAG,GAAG,MAAH,CAAU,KAAV,CAAgB,EAAhB,EAAoB,MAApB,CAAV;AACA,aAAO,CAAP;AACH;;;6BACY;AAAA,wBACmE,KAAK,KADxE;AAAA,UACD,aADC,eACD,aADC;AAAA,UACc,UADd,eACc,UADd;AAAA,UAC0B,aAD1B,eAC0B,aAD1B;AAAA,UACyC,qBADzC,eACyC,qBADzC;AAGT,UAAM,aAAa,GAAG,aAAa,CAAC,MAAd,KAAyB,CAAzB,IAA8B,KAAK,cAAL,CAAoB,aAApB,EAAmC,KAAK,qBAAL,EAAnC,EAAiE,GAAjE,CAAsE,mBAAS;AAAA,eAAI,SAAS,CAAC,KAAd;AAAA,OAA/E,CAApD;AACA,UAAM,CAAC,GAAG,aAAa,IAAI,aAAa,CAAC,MAAd,CAAqB,UAAC,CAAD,EAAI,CAAJ;AAAA,eAAU,CAAC,GAAG,CAAd;AAAA,OAArB,CAA3B;AACA,UAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,MAAF,GAAW,IAAd,GAAqB,CAAvC;;AACA,UAAI,CAAC,aAAD,IAAkB,aAAa,CAAC,MAAd,IAAwB,CAA9C,EAAiD;AAC7C,eAAO,IAAP;AACH;;AACD,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,cAAf;AAA8B,aAAK,EAAE;AAAE,2BAAiB,YAAK,QAAL,gBAAmB,QAAnB,MAAnB;AAAmD,wBAAc,YAAK,CAAL,SAAY,QAAZ;AAAjE;AAArC,SACK,KAAK,cAAL,CAAoB,aAApB,EAAmC,KAAK,qBAAL,EAAnC,EAAiE,GAAjE,CAAqE,UAAC,SAAD,EAAY,CAAZ;AAAA,eAAkB,oBAAC,oCAAD,EAAoB;AACxG,eAAK,EAAE,SAAS,CAAC,KADuF;AAExG,mBAAS,EAAE,SAAS,CAAC,SAFmF;AAGxG,oBAAU,EAAE,SAAS,CAAC,UAHkF;AAIxG,cAAI,EAAE,SAAS,CAAC,IAJwF;AAKxG,aAAG,EAAE,CALmG;AAMxG,oBAAU,EAAE,UAN4F;AAOxG,uBAAa,EAAE,aAPyF;AAQxG,iBAAO,EAAE,SAAS,CAAC,MARqF;AASxG,uBAAa,EAAE,SAAS,CAAC,aAT+E;AAUxG,+BAAqB,EAAE;AAViF,SAApB,CAAlB;AAAA,OAArE,CADL,CADJ,CADJ;AAoBH;;;;EAtD2B,KAAK,CAAC,S;;AACpB,4BAAiB,iBAAjB;AADlB,gC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;;AACA;;AAEA;;AAaA,IAAa,kBAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,6BAOU;AAAA,wBACoG,KAAK,KADzG;AAAA,UACM,IADN,eACM,IADN;AAAA,UACY,aADZ,eACY,aADZ;AAAA,UAC2B,WAD3B,eAC2B,WAD3B;AAAA,UACwC,WADxC,eACwC,WADxC;AAAA,UACqD,QADrD,eACqD,QADrD;AAAA,UAC+D,eAD/D,eAC+D,eAD/D;AAAA,UACgF,eADhF,eACgF,eADhF;AAEF,UAAI,KAAJ;AACA,UAAM,KAAK,GAAG,IAAI,CAAC,OAAL,IAAgB,IAA9B;AACA,UAAM,SAAS,GAAG,WAAlB;AACA,UAAM,SAAS,GAAG,YAAlB;;AACA,UAAM,SAAS,GAAG,aAAlB;;AACA,UAAM,SAAS,GAAG,WAAlB;;AACA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE,IAAI,CAAC;AAAf;AAArD,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACK,qDAAsC,IAAI,CAAC,SAA3C,EAAsD;AAAE,yBAAiB,EAAE,KAArB;AAA4B,gBAAQ,EAAE,IAAtC;AAA4C,gBAAQ,EAAE;AAAtD,OAAtD,CADL,CAFJ,CAHJ,EAUI,oBAAC,yCAAD,EAAoB;AAChB,WAAG,EAAE,IAAI,CAAC,IADM;AAEhB,iBAAS,EAAC,iBAFM;AAGhB,2BAAmB,EAAE,KAHL;AAIhB,YAAI,EAAC;AAJW,OAApB,CAVJ,CADJ,EAkBI;AAAK,iBAAS,EAAC;AAAf,QAlBJ,EAmBI;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,IAAI,CAAC,SAAZ,CADJ,CAnBJ,EAsBI;AAAK,iBAAS,EAAC;AAAf,SACK,IAAI,IAAI;AAAK,iBAAS,EAAC;AAAf,SACJ,eAAe,IAAI;AAAQ,iBAAS,4BAAqB,SAArB,CAAjB;AAChB,aAAK,EAAE,SADS;AAEhB,eAAO,EAAE,kBAAC;AAAA,iBAAI,WAAW,EAAf;AAAA;AAFM,SAEc,SAFd,CADf,EAKJ,eAAe,IAAI;AAAQ,iBAAS,4BAAqB,SAArB,CAAjB;AAChB,aAAK,EAAE,SADS;AAEhB,eAAO,EAAE,kBAAC;AAAA,iBAAI,WAAW,EAAf;AAAA;AAFM,SAEc,SAFd,CALf,CADb,CAtBJ,CADJ;AAsCH;AArDL;;AAAA;AAAA,EAAwC,KAAK,CAAC,SAA9C;;AAAa,kBAAkB,eAD9B,2DAC8B,GAAlB,kBAAkB,CAAlB;AAAA,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBb;;AAEA;;IAca,S;;;;;AAAb;AAAA;;AAAA;;;;AAsBY,2BAAiB,UAAC,CAAD,EAAS,YAAT,EAA+B;AACpD,UAAI,CAAC,CAAC,GAAF,KAAU,QAAd,EAAwB;AAAE,cAAK,KAAL,CAAW,KAAX;AAAoB;;AAC9C,UAAI,CAAC,CAAC,GAAF,KAAU,WAAd,EAA2B;AAAE,cAAK,KAAL,CAAW,SAAX;AAAwB;;AACrD,UAAI,CAAC,CAAC,GAAF,KAAU,YAAd,EAA4B;AAAE,cAAK,KAAL,CAAW,SAAX;AAAwB;;AACtD,UAAI,CAAC,CAAC,OAAF,KAAc,CAAlB,EAAqB;AACjB,YAAI,YAAY,CAAC,MAAb,GAAsB,CAA1B,EAA6B;AACzB,cAAI,CAAC,CAAC,QAAN,EAAgB;AACZ,kBAAK,iBAAL,CAAuB,CAAvB,EAA0B,YAA1B;AACH,WAFD,MAEO;AACH,kBAAK,gBAAL,CAAsB,CAAtB,EAAyB,YAAzB;AACH;AACJ,SAND,MAOK,CAAC,CAAC,cAAF;AACR;AACJ,KAdO;;AAeA,8BAAoB,UAAC,CAAD,EAAI,YAAJ,EAAoB;AAC5C,UAAI,QAAQ,CAAC,aAAT,KAA2B,YAAY,CAAC,CAAD,CAA3C,EAAgD;AAC5C,SAAC,CAAC,cAAF;AACA,oBAAY,CAAC,YAAY,CAAC,MAAb,GAAsB,CAAvB,CAAZ,CAAsC,KAAtC;AACH;AAEJ,KANO;;AAOA,6BAAmB,UAAC,CAAD,EAAI,YAAJ,EAAoB;AAC3C,UAAI,QAAQ,CAAC,aAAT,KAA2B,YAAY,CAAC,YAAY,CAAC,MAAb,GAAsB,CAAvB,CAAvC,KAAqE,QAAQ,CAAC,aAAT,CAAuB,SAAvB,CAAiC,QAAjC,CAA0C,WAA1C,KAA0D,QAAQ,CAAC,aAAT,CAAuB,SAAvB,CAAiC,QAAjC,CAA0C,YAA1C,CAA/H,CAAJ,EAA6L;AACzL,SAAC,CAAC,cAAF;AACA,oBAAY,CAAC,CAAD,CAAZ,CAAgB,KAAhB;AACH;AACJ,KALO;;AA5CZ;AAiFC;;;;wCA9EoB;AAAA;;AACb,WAAK,gBAAL,CAAsB,KAAtB;AACA,UAAI,YAAY,GAAG,QAAQ,CAAC,cAAT,CAAwB,gBAAxB,EAA0C,gBAA1C,CAA2D,6DAA3D,CAAnB;AACA,cAAQ,CAAC,gBAAT,CAA0B,SAA1B,EAAqC,UAAC,CAAD;AAAA,eAAO,MAAI,CAAC,cAAL,CAAoB,CAApB,EAAuB,YAAvB,CAAP;AAAA,OAArC;AACH;;;uCACkB,U,EAAsB;AAAA;;AACrC,UAAI,UAAU,CAAC,YAAX,KAA4B,KAAK,KAAL,CAAW,YAA3C,EAAyD;AACrD,aAAK,gBAAL,CAAsB,KAAtB;AACA,YAAI,YAAY,GAAG,QAAQ,CAAC,cAAT,CAAwB,gBAAxB,EAA0C,gBAA1C,CAA2D,6DAA3D,CAAnB;AACA,gBAAQ,CAAC,gBAAT,CAA0B,SAA1B,EAAqC,UAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,cAAL,CAAoB,CAApB,EAAuB,YAAvB,CAAP;AAAA,SAArC;AACH;AACJ;;;2CAEmB;AAAA;;AAChB,cAAQ,CAAC,mBAAT,CAA6B,SAA7B,EAAwC,UAAC,CAAD;AAAA,eAAO,MAAI,CAAC,cAAL,CAAoB,CAApB,EAAuB,IAAvB,CAAP;AAAA,OAAxC;AACH;;;6BAgCK;AAAA;;AAAA,wBACoE,KAAK,KADzE;AAAA,UACM,KADN,eACM,KADN;AAAA,UACa,UADb,eACa,UADb;AAAA,UACyB,eADzB,eACyB,eADzB;AAAA,UAC0C,YAD1C,eAC0C,YAD1C;AAAA,UACwD,OADxD,eACwD,OADxD;AAEF,UAAM,eAAe,GAAG,EAAE,YAAY,KAAK,CAAnB,CAAxB;AACA,UAAM,eAAe,GAAG,EAAE,YAAY,KAAK,KAAK,CAAC,MAAN,GAAe,CAAlC,CAAxB;AACA,UAAM,IAAI,GAAG,KAAK,CAAC,YAAD,CAAlB;AACA,UAAI,YAAY,GAAG,cAAnB;AACA,WAAK,cAAL;AACA,aACI;AAAK,WAAG,EAAE,gBAAV;AACI,UAAE,EAAC,gBADP;AACwB,YAAI,EAAC,QAD7B;AACqC,gCAAgB,UAAhB,CADrC;AACmE,iBAAS,mBAD5E;AACiG,eAAO,EAAE,KAAK,KAAL,CAAW;AADrH,SAEI;AAAK,iBAAS,EAAC,aAAf;AAA6B,eAAO,EAAE,kBAAC;AAAA,iBAAI,CAAC,CAAC,eAAF,EAAJ;AAAA,SAAvC;AAAgE,gBAAQ,EAAE;AAA1E,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,kBAAlB;AAAqC,aAAK,EAAE,OAA5C;AAAyD,eAAO,EAAE,KAAK,KAAL,CAAW,KAA7E;AAAoF,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,gBAAL,GAAwB,IAA5B;AAAA;AAA5F,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,OAAN;AAAe,WAAG,EAAE,UAApB;AAAgC,aAAK,EAAE,UAAvC;AAAiD,uBAAc,MAA/D;AAAqE,sBAAY;AAAjF,OAAhB,CADJ,CAFJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SAA6B;AAAM,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAAb,SAA0C,UAA1C,CAA7B,CALJ,CADJ,EAQI,oBAAC,iCAAD,EAAmB;AACf,YAAI,EAAE,IADS;AAEf,mBAAW,EAAE,KAAK,KAAL,CAAW,SAFT;AAGf,mBAAW,EAAE,KAAK,KAAL,CAAW,SAHT;AAIf,qBAAa,EAAE,YAJA;AAKf,uBAAe,EAAE,eALF;AAMf,uBAAe,EAAE;AANF,OAAnB,CARJ,CAFJ,CADJ;AAuBH;;;;EAhF0B,KAAK,CAAC,S;;AAArC;AAmFA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpGA;;AAEA;;AACA;;AACA;;AAIA;;IAea,mB;;;;;;;;;;;;;wCACe;AAAA,wBACqB,KAAK,KAD1B;AAAA,UACZ,aADY,eACZ,aADY;AAAA,UACG,IADH,eACG,IADH;AAAA,UACS,OADT,eACS,OADT;;AAEpB,UAAI,aAAa,KAAK,MAAlB,IAA4B,IAAhC,EAAsC;AAClC,YAAM,OAAO,GAAG,QAAQ,CAAC,cAAT,0BAA0C,OAA1C,EAAhB;;AACA,YAAI,OAAJ,EAAa;AACT,iBAAO,CAAC,gBAAR,CAAyB,SAAzB,EAAoC;AAAA,mBAAM,2CAA6B,OAA7B,CAAN;AAAA,WAApC;AACH;AACJ;AACJ;;;+BAEkB,S,EAAgB,S,EAAc;AAAA,yBACe,KAAK,KADpB;AAAA,UACrC,aADqC,gBACrC,aADqC;AAAA,UACtB,IADsB,gBACtB,IADsB;AAAA,UAChB,UADgB,gBAChB,UADgB;AAAA,UACJ,KADI,gBACJ,KADI;AAAA,UACG,OADH,gBACG,OADH;;AAE7C,UAAI,aAAa,KAAK,MAAtB,EAA8B;AAC1B,YAAM,UAAU,GAAG,CAAC,CAAC,IAAF,GAAS;AAAE,yCAAwB,OAAxB;AAAF,SAAT,GAAiD,EAApE;AACA,eACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAP;AACb,oBAAU,EAAE,UADC;AAEb,oBAAU,EAAE,UAFC;AAGb,kBAAQ,EAAE;AAHG,SAAjB,EAII;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE;AAAV,WAA9B;AAAiD,eAAK,EAAE;AAAxD,UAJJ,CADJ;AAQH,OAVD,MAWK;AACD,eAAQ,SAAR;AACH;AACJ;;;6BAGY;AAAA,yBAC+E,KAAK,KADpF;AAAA,UACD,UADC,gBACD,UADC;AAAA,UACW,aADX,gBACW,aADX;AAAA,UAC0B,KAD1B,gBAC0B,KAD1B;AAAA,UACiC,SADjC,gBACiC,SADjC;AAAA,UAC4C,OAD5C,gBAC4C,OAD5C;AAAA,UACqD,qBADrD,gBACqD,qBADrD;AAGT,UAAM,SAAS,GAAG;AACd,aAAK,EAAE;AADO,OAAlB;AAGA,UAAM,SAAS,GAAG;AACd,aAAK,EAAE;AADO,OAAlB;AAGA,UAAM,SAAS,GAAG,CAAC,4BAAD,GAAiB;AAAG,gBAAQ,EAAE,CAAb;AAAgB,iBAAS,EAAC,WAA1B;AAAqC,wBAAe,OAApD;AAA6D,UAAE,EAAE;AAAjE,SAC/B;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV,SAA9B;AAAiD,aAAK,EAAE;AAAxD,QAD+B,CAAjB,GAEX;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV,SAA9B;AAAiD,aAAK,EAAE;AAAxD,QAFP;AAGA,aACI;AAAK,iBAAS,EAAE,UAAU,CAAC,UAAD,EAAa;AAAE,wBAAc,4BAAhB;AAA+B,uBAAa,KAAK,CAAC,MAAN,KAAiB;AAA7D,SAAb;AAA1B,SACI;AAAK,iBAAS,EAAE,UAAU,CAAC,WAAD,EAAc;AAAE,uBAAa,KAAK,CAAC,MAAN,KAAiB;AAAhC,SAAd;AAA1B,SACI;AAAM,aAAK,EAAE;AAAb,SAA0B,qDAAsC,SAAtC,EAAiD;AAAE,gBAAQ,EAAE,qBAAqB,CAAC,aAAlC;AAAiD,gBAAQ,EAAE,qBAAqB,CAAC,aAAjF;AAAgG,wBAAgB,EAAE,KAAlH;AAAyH,gBAAQ,EAAE;AAAnI,OAAjD,CAA1B,CADJ,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACK,KAAK,UAAL,CAAgB,SAAhB,EAA2B,SAA3B,CADL,CALJ,EASI;AAAM,iBAAS,EAAC,WAAhB;AAA4B,aAAK,EAAE;AAAE,yBAAe,EAAE;AAAnB;AAAnC,QATJ,CADJ;AAaH;;;;EAvDoC,KAAK,CAAC,S;;AAA/C,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBA,mBAAO,CAAC,mCAAD,CAAP;;AAGA;;IAaa,oB;;;;;AACT,gCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,8FAAM,KAAN;;AAOI,gCAAsB,UAAC,CAAD,EAAkB;AAC5C,UAAM,OAAO,GAAI,CAAC,CAAC,aAAF,CAAgC,YAAhC,CAA6C,cAA7C,CAAjB;;AACA,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;AAEH,KAJO;;AAMA,mCAAyB,UAAC,OAAD,EAA4B;AAAA,UACjD,KADiD,GACvC,MAAK,KADkC,CACjD,KADiD;;AAEzD,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAA1B,EAAkC,CAAC,EAAnC,EAAuC;AACnC,YAAI,KAAK,CAAC,CAAD,CAAL,CAAS,MAAT,KAAoB,OAAxB,EAAiC;AAAE,iBAAO,CAAP;AAAU;AAChD;AACJ,KALO;;AAOA,4CAAkC,YAAK;AAC3C,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAT,CAA0B,2BAA1B,CAAjB;AAD+B;AAAA;AAAA;;AAAA;AAE/B,+BAAe,QAAf,8HAAyB;AAAA,gBAAhB,EAAgB;AACrB,cAAE,CAAC,gBAAH,CAAoB,UAApB,EAAgC,MAAK,mBAArC;AACA,cAAE,CAAC,gBAAH,CAAoB,OAApB,EAA6B,MAAK,mBAAlC;AACH;AAL8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMlC;AACJ,KARO,CArBS,CA0CjB;;;AACO,sBAAY,YAAW;AAAA,UAClB,cADkB,GACC,MAAK,KADN,CAClB,cADkB;AAAA,UAElB,KAFkB,GAER,MAAK,KAFG,CAElB,KAFkB;;AAG1B,UAAM,gBAAgB,GAAG,MAAK,sBAAL,CAA4B,cAA5B,CAAzB;;AACA,UAAM,aAAa,GAAG,gBAAgB,GAAG,CAAnB,GAAuB,gBAAgB,GAAG,CAA1C,GAA8C,CAApE;;AACA,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,KAAK,CAAC,aAAD,CAAL,CAAqB;AAAvC,OAAd;AAEH,KAPM,CA3CU,CAoDjB;;;AACO,sBAAY,YAAW;AAAA,UAClB,cADkB,GACC,MAAK,KADN,CAClB,cADkB;AAAA,UAElB,KAFkB,GAER,MAAK,KAFG,CAElB,KAFkB;;AAG1B,UAAM,gBAAgB,GAAG,MAAK,sBAAL,CAA4B,cAA5B,CAAzB;;AACA,UAAM,aAAa,GAAG,gBAAgB,GAAG,KAAK,CAAC,MAAN,GAAe,CAAlC,GAAsC,gBAAgB,GAAG,CAAzD,GAA6D,KAAK,CAAC,MAAN,GAAe,CAAlG;;AACA,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,KAAK,CAAC,aAAD,CAAL,CAAqB;AAAvC,OAAd;AAEH,KAPM;;AASC,kBAAQ,YAAW;AACvB,UAAI,SAAS,GAAW,MAAK,KAAL,CAAW,cAAnC;AACA,cAAQ,CAAC,cAAT,CAAwB,SAAxB,EAAmC,KAAnC;;AACA,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;AACH,KAJO;;AA5DJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE;AADP,KAAb;AAFa;AAKhB;;;;wCA0BgB;AACb,WAAK,+BAAL;AACH;;;yCAEiB;AACd,WAAK,+BAAL;AACH;;;0CACqB,S,EAAW,S,EAAS;AACtC,WAAK,+BAAL;AACA,aAAO,KAAK,KAAL,CAAW,cAAX,KAA8B,SAAS,CAAC,cAA/C;AACH,K,CA2BD;;;;6BACM;AAAA,wBACsD,KAAK,KAD3D;AAAA,UACM,KADN,eACM,KADN;AAAA,UACa,UADb,eACa,UADb;AAAA,UACyB,eADzB,eACyB,eADzB;AAAA,UAC0C,OAD1C,eAC0C,OAD1C;AAAA,UAEM,cAFN,GAEyB,KAAK,KAF9B,CAEM,cAFN;AAGF,UAAM,gBAAgB,GAAG,KAAK,sBAAL,CAA4B,cAA5B,CAAzB;AACA,UAAM,eAAe,GAAG,EAAE,gBAAgB,KAAK,CAAvB,CAAxB;AACA,UAAM,eAAe,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,MAAN,GAAe,CAAtC,CAAxB;AACA,UAAM,IAAI,GAAG,KAAK,CAAC,gBAAD,CAAlB;;AACA,UAAI,cAAJ,EAAoB;AAChB,iCAAiB,IAAI,CAAC,KAAtB;AACA,6CAA6B,IAAI,CAAC,MAAlC;AACH;;AACD,UAAI,cAAJ,EAAoB,OAChB,oBAAC,qBAAD,EAAU;AACN,aAAK,EAAE,KADD;AAEN,oBAAY,EAAE,gBAFR;AAGN,iBAAS,EAAE,KAAK,SAHV;AAIN,iBAAS,EAAE,KAAK,SAJV;AAKN,uBAAe,EAAE,eALX;AAMN,aAAK,EAAE,KAAK,KANN;AAON,kBAAU,EAAE,UAPN;AAQN,eAAO,EAAE;AARH,OAAV,CADgB,CAApB,KAYK,OAAO,IAAP;AACR;;;;EA9FqC,KAAK,CAAC,S;;AAO9B,sCAAiB,sBAAjB;AAPlB,oD,CAgGA;;AACa,2BAAmB,UAAC,KAAD,EAAkB;AAC9C,QAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,QAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,SAAK,EAAE,iBADW;AAElB,kBAAc,kCAA2B,MAAM,CAAC,MAAlC,CAFI;AAGlB,oBAAgB,EAAE;AAHA,GAAtB;AAKH,CAPY;;AASA,uCAA+B,UAAC,OAAD,EAAoB;AAC5D,MAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,UAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,UAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,WAAK,EAAE,eADW;AAElB,cAAQ,EAAE,eAFQ;AAGlB,YAAM,EAAE,mBAHU;AAIlB,WAAK,EAAE;AAJW,KAAtB;AAMH;AACJ,CAVY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1Hb;;AAYA,IAAM,aAAa,GAAG;AAClB,WAAS,EAAE,QADO;AAElB,SAAO,EAAE,OAFS;AAGlB,SAAO,EAAE,MAHS;AAIlB,OAAK,EAAE,MAJW;AAKlB,MAAI,EAAE;AALY,CAAtB;;IAOa,mB;;;;;AACT,+BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,6FAAM,KAAN;AACA,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE;AADD,KAAb;AAFa;AAKhB;;;;wCAIuB;AAAA;;AACpB,UAAI,4BAAJ,EAAmB;AADC,UAEZ,YAFY,GAEK,KAAK,KAFV,CAEZ,YAFY;AAGpB,UAAI,CAAC,YAAL,EAAmB;AACnB,UAAM,oBAAoB,GAAG,IAAI,IAAJ,CAAS,YAAT,EAAuB,OAAvB,EAA7B;AACA,WAAK,OAAL,GAAe,MAAM,CAAC,WAAP,CAAmB,YAAK;AAEnC,YAAM,QAAQ,GAAG,IAAI,CAAC,GAAL,CAAS,oBAAoB,GAAG,IAAI,IAAJ,GAAW,OAAX,EAAhC,EAAsD,CAAtD,CAAjB,CAFmC,CAGnC;;AAEA,cAAI,CAAC,QAAL,CAAc;AACV,kBAAQ,EAAR;AADU,SAAd,EALmC,CASnC;;;AACA,YAAI,QAAQ,IAAI,CAAhB,EAAmB;AACf,uBAAa,CAAC,MAAI,CAAC,OAAN,CAAb;AAEH;AACJ,OAdc,EAcZ,IAdY,CAAf;AAeH;;;6BAEY;AACT,UAAI,QAAQ,GAAG,CAAf;;AACA,UAAI,4BAAJ,EAAmB;AAAA,YACP,YADO,GACU,KAAK,KADf,CACP,YADO;AAEf,YAAM,oBAAoB,GAAG,IAAI,IAAJ,CAAS,YAAT,EAAuB,OAAvB,EAA7B;AACA,gBAAQ,GAAG,IAAI,CAAC,GAAL,CAAS,oBAAoB,GAAG,IAAI,IAAJ,GAAW,OAAX,EAAhC,EAAsD,CAAtD,CAAX;AACH,OAJD,MAKK;AACD,gBAAQ,GAAG,KAAK,KAAL,CAAW,QAAtB;AACH,OATQ,CAUT;;;AAVS,wBAY+B,KAAK,KAZpC;AAAA,UAYD,aAZC,eAYD,aAZC;AAAA,UAYc,YAZd,eAYc,YAZd;AAAA,UAaF,SAbE,GAa0C,aAb1C,CAaF,SAbE;AAAA,UAaS,OAbT,GAa0C,aAb1C,CAaS,OAbT;AAAA,UAakB,OAblB,GAa0C,aAb1C,CAakB,OAblB;AAAA,UAa2B,KAb3B,GAa0C,aAb1C,CAa2B,KAb3B;AAAA,UAakC,IAblC,GAa0C,aAb1C,CAakC,IAblC;AAcT,UAAM,cAAc,GAAG,QAAQ,KAAK,CAApC;AACA,UAAM,IAAI,GAAG,IAAI,CAAC,KAAL,CAAW,QAAQ,IAAI,OAAO,EAAP,GAAY,EAAZ,GAAiB,EAArB,CAAnB,CAAb;AACA,UAAM,KAAK,GAAG,IAAI,CAAC,KAAL,CAAY,QAAQ,IAAI,OAAO,EAAP,GAAY,EAAZ,GAAiB,EAArB,CAAT,IAAsC,OAAO,EAAP,GAAY,EAAlD,CAAX,CAAd;AACA,UAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAY,QAAQ,IAAI,OAAO,EAAP,GAAY,EAAhB,CAAT,IAAiC,OAAO,EAAxC,CAAX,CAAhB;AACA,UAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAY,QAAQ,IAAI,OAAO,EAAX,CAAT,GAA2B,IAAtC,CAAhB;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,cAAc,GACX;AAAM,iBAAS,EAAC;AAAhB,SACI;AAAK,iBAAS,EAAC;AAAf,SAA4B,SAA5B,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA2B,YAA3B,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,CAFJ,CADW,GASX;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAAgC,aAAhC,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAAyB,OAAzB,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAAuB,OAAvB,CAFJ,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,QALJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAAyB,OAAzB,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAAuB,OAAvB,CAFJ,CANJ,EAUI;AAAK,iBAAS,EAAC;AAAf,QAVJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAAyB,KAAzB,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAAuB,KAAvB,CAFJ,CAXJ,EAcI;AAAK,iBAAS,EAAC;AAAf,QAdJ,EAeI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA8B,IAA9B,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAAuB,IAAvB,CAFJ,CAfJ,CAFJ,CAVR,CADJ;AAqCH;;;;EAzFoC,KAAK,CAAC,a;;AAO7B,qCAAiB,qBAAjB;AAPlB,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;;AACA;;AAEA;;AAEA;;IAsBa,gB;;;;;AACT,4BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,0FAAM,KAAN;;AAmBI,6BAAmB,YAAK;AAAA,wBACK,MAAK,KADV;AAAA,UACpB,YADoB,eACpB,YADoB;AAAA,UACN,MADM,eACN,MADM;;AAE5B,UAAM,IAAI,gCAAV;;AACA,UAAI,OAAQ,YAAR,KAA0B,QAA9B,EAAwC;AACpC,YAAI,YAAY,GAAG,CAAnB,EAAsB;AAClB,gBAAK,mBAAL,GAA2B,WAAW,CAAC,YAAK;AACxC,kBAAK,QAAL,CAAc,UAAC,SAAD,EAA+B,KAA/B,EAA2D;AACrE,kBAAI,QAAQ,GAAG,EAAE,SAAS,CAAC,kBAA3B;AACA,kBAAI,QAAQ,IAAI,KAAK,CAAC,MAAN,CAAa,MAA7B,EAAqC,QAAQ,GAAG,CAAX;AACrC,qBAAO;AAAE,kCAAkB,EAAE;AAAtB,eAAP;AACH,aAJD;AAKH,WANqC,EAMnC,YAAY,GAAG,IANoB,CAAtC;AAOH,SARD,MASK;AACD,uBAAa,CAAC,MAAK,mBAAN,CAAb;AACH;AACJ;AACJ,KAjBO;;AAwBA,mCAAyB,GAAzB;;AAYA,oCAA0B,YAAK;AAAA,wBACqG,MAAK,KAD1G;AAAA,UAC3B,+CAD2B,eAC3B,+CAD2B;AAAA,UACsB,6BADtB,eACsB,6BADtB;AAAA,UACqD,8BADrD,eACqD,8BADrD;AAAA,UACqF,WADrF,eACqF,WADrF;AAAA,yBAET,MAAK,KAFI;AAAA,UAE3B,KAF2B,gBAE3B,KAF2B;AAAA,UAEpB,MAFoB,gBAEpB,MAFoB;;AAInC,UAAI,6BAA6B,KAAK,CAAtC,EAAyC;AACrC,YAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,MAAK,sBAAxB,CAAtC;AACA,YAAM,UAAU,GAAI,MAAK,sBAAL,IAA+B,MAAM,CAAC,MAAP,GAAgB,6BAA/C,CAAD,GAAkF,+CAArG;;AACA,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CAAE,UADL;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAAhC,GAAoC,CAApC,GAAwC,6BAA6B,GAAG,CAAxE,GAA4E,CAFjG;AAGV,wCAA8B,EAAE,8BAA8B,GAAG;AAHvD,SAAd;;AAKA,eAAO,IAAP;AACH;;AACD,UAAI,6BAA6B,GAAG,CAApC,EAAuC;AACnC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,WAAW,GAAG,KADjB;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAAhC,GAAoC,CAApC,GAAwC,6BAA6B,GAAG,CAAxE,GAA4E,CAFjG;AAGV,wCAA8B,EAAE,8BAA8B,GAAG;AAHvD,SAAd;AAKH;AACJ,KArBO;;AAuBA,qCAA2B,YAAK;AAAA,yBACoG,MAAK,KADzG;AAAA,UAC5B,8BAD4B,gBAC5B,8BAD4B;AAAA,UACI,6BADJ,gBACI,6BADJ;AAAA,UACmC,+CADnC,gBACmC,+CADnC;AAAA,UACoF,WADpF,gBACoF,WADpF;AAAA,UAE5B,KAF4B,GAElB,MAAK,KAFa,CAE5B,KAF4B;;AAGpC,UAAI,8BAA8B,KAAK,CAAvC,EAA0C;AACtC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CADH;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAFrD;AAGV,wCAA8B,EAAE,8BAA8B,GAAG,CAAjC,GAAqC,CAArC,GAAyC,8BAA8B,GAAG,CAA1E,GAA8E;AAHpG,SAAd;;AAKA,eAAO,IAAP;AACH;;AACD,UAAI,8BAA8B,GAAG,CAArC,EAAwC;AACpC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,WAAW,GAAG,KADjB;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAFrD;AAGV,wCAA8B,EAAE,8BAA8B,GAAG,CAAjC,GAAqC,CAArC,GAAyC,8BAA8B,GAAG,CAA1E,GAA8E;AAHpG,SAAd;AAKH;AACJ,KAlBO;;AAmBA,0BAAgB,UAAC,MAAD,EAAW;AAC/B,YAAK,QAAL,CAAc,eAAK;AAAA,eAAI,KAAK,CAAC,kBAAN,GAA2B,CAA3B,GAA+B;AAAE,4BAAkB,EAAE,KAAK,CAAC,kBAAN,GAA2B;AAAjD,SAA/B,GAAsF;AAAE,4BAAkB,EAAE,MAAM,CAAC,MAAP,GAAgB;AAAtC,SAA1F;AAAA,OAAnB;;AACA,YAAK,eAAL;AACH,KAHO;;AAIA,0BAAgB,UAAC,MAAD,EAAW;AAC/B,YAAK,QAAL,CAAc,eAAK;AAAA,eAAI,KAAK,CAAC,kBAAN,GAA2B,MAAM,CAAC,MAAP,GAAgB,CAA3C,GAA+C;AAAE,4BAAkB,EAAE,KAAK,CAAC,kBAAN,GAA2B;AAAjD,SAA/C,GAAsG;AAAE,4BAAkB,EAAE;AAAtB,SAA1G;AAAA,OAAnB;;AACA,YAAK,eAAL;AACH,KAHO;;AAIA,4BAAkB,YAAK;AAC3B,UAAI,MAAK,KAAL,CAAW,YAAX,KAA4B,CAAhC,EAAmC;AAC/B,qBAAa,CAAC,MAAK,mBAAN,CAAb;AACH;AAEJ,KALO;;AAMA,0BAAgB,UAAC,CAAD,EAAI,KAAJ,EAAqB;AACzC,YAAK,eAAL;;AACA,UAAM,OAAO,GAAG,MAAK,KAAL,CAAW,MAAX,CAAkB,MAAK,KAAL,CAAW,kBAA7B,EAAiD,KAAjD,CAAuD,SAAvD,KAAqE,aAArF,CAFyC,CAGzC;;AACA,YAAK,QAAL,CAAc;AAAE,0BAAkB,EAAE,KAAtB;AAA6B,wBAAgB,EAAE;AAA/C,OAAd;AACH,KALO;;AAOA,qCAA2B,YAAK;AACpC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AACH,KAFO;;AAGA,qCAA2B,YAAK;AACpC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AACH,KAFO;;AAxHJ,UAAK,KAAL,GAAa;AACT,2BAAqB,EAAE,CADd;AAET,wBAAkB,EAAE,CAFX;AAGT,mCAA6B,EAAE,IAHtB;AAIT,oCAA8B,EAAE,IAJvB;AAKT,iBAAW,EAAE,CALJ;AAMT,qDAA+C,EAAE,CANxC;AAOT,sBAAgB,EAAE;AAPT,KAAb;AAFa;AAWhB;;;;yCAEiB;AAAA,yBACY,KAAK,KADjB;AAAA,UACN,MADM,gBACN,MADM;AAAA,UACE,KADF,gBACE,KADF;;AAEd,UAAI,MAAM,CAAC,MAAP,GAAgB,CAApB,EAAuB;AACnB,aAAK,iBAAL,CAAuB,MAAvB,EAA+B,KAA/B;AACH;AACJ;;;wCAoBgB;AACb,UAAI,KAAK,KAAL,CAAW,MAAX,CAAkB,MAAlB,GAA2B,CAA/B,EAAkC;AAC9B,aAAK,gBAAL;AACH;AACJ;;;sCAIyB,M,EAAwB,K,EAAa;AAC3D,UAAM,YAAY,GAAG,MAAM,CAAC,MAA5B;AACA,UAAM,uBAAuB,GAAG,KAAK,sBAArC;AACA,UAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,uBAAnB,CAAtC;AACA,UAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAY,YAAY,GAAG,uBAAhB,GAA2C,KAAtD,CAAtC;AACA,UAAM,8BAA8B,GAAG,CAAvC;AACA,UAAM,+CAA+C,GAAG,KAAK,GAAI,uBAAuB,GAAG,6BAA3F;AACA,WAAK,QAAL,CAAc;AAAE,qCAA6B,EAA7B,6BAAF;AAAiC,sCAA8B,EAA9B,8BAAjC;AAAiE,uDAA+C,EAA/C;AAAjE,OAAd;AACH;;;8CAwEyB,S,EAA4B;AAClD,UAAI,SAAS,CAAC,MAAV,CAAiB,MAAjB,GAA0B,CAA9B,EAAiC;AAC7B,aAAK,iBAAL,CAAuB,SAAS,CAAC,MAAjC,EAAyC,SAAS,CAAC,KAAnD;AACH;AACJ;;;6BAEK;AAAA;;AAAA,yBACkG,KAAK,KADvG;AAAA,UACM,MADN,gBACM,MADN;AAAA,UACc,KADd,gBACc,KADd;AAAA,UACqB,iBADrB,gBACqB,iBADrB;AAAA,UACwC,aADxC,gBACwC,aADxC;AAAA,UACuD,qBADvD,gBACuD,qBADvD;AAAA,UAC8E,eAD9E,gBAC8E,eAD9E;AAAA,yBAEkJ,KAAK,KAFvJ;AAAA,UAEM,qBAFN,gBAEM,qBAFN;AAAA,UAE6B,kBAF7B,gBAE6B,kBAF7B;AAAA,UAEiD,8BAFjD,gBAEiD,8BAFjD;AAAA,UAEiF,6BAFjF,gBAEiF,6BAFjF;AAAA,UAEgH,WAFhH,gBAEgH,WAFhH;AAAA,UAE6H,gBAF7H,gBAE6H,gBAF7H;AAAA,UAGM,kBAHN,GAG6C,qBAH7C,CAGM,kBAHN;AAAA,UAG0B,cAH1B,GAG6C,qBAH7C,CAG0B,cAH1B;AAIF,UAAM,WAAW,GAAG,CAAC,MAAM,CAAC,kBAAD,CAAN,CAA2B,SAAhD;AACA,UAAM,WAAW,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,IAAnB,CAApB;;AAEA,UAAI,MAAM,CAAC,MAAP,KAAkB,CAAtB,EAAyB;AAAE,eAAO,IAAP;AAAa;;AACxC,UAAM,oBAAoB,GAAG;AAAE,cAAM,EAAE,CAAV;AAAa,uBAAe,EAAE,yBAAU,eAAV,EAA2B,MAA3B;AAA9B,OAA7B;AACA,UAAM,UAAU,GAAG;AAAE,uBAAe,EAAE;AAAnB,OAAnB;AACA,UAAM,iBAAiB,GAAG,MAAM,CAAC,kBAAD,CAAhC;AACA,UAAM,SAAS,GAAG,CAAC,WAAD,IAAgB,kBAAhB,GACd,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,iBAAiB,CAAC,SADX;AAEb,kBAAU,EAAE,iBAAiB,CAAC,eAFjB;AAGb,gBAAQ,EAAE,iBAAiB,CAAC;AAHf,OAAjB,EAII;AAAK,iBAAS,EAAC;AAAf,S,GAAA,EAAwB;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE,iBAAiB,CAAC;AAA5B;AAA9B,QAAxB,E,GAAA,EAA8F;AAAM,iBAAS,EAAC;AAAhB,SAA0B,gBAA1B,CAA9F,CAJJ,CADc,GAOd;AAAK,iBAAS,EAAC,OAAf;AAAuB,+BAAuB,EAAE;AAAE,gBAAM,EAAE,iBAAiB,CAAC;AAA5B;AAAhD,QAPJ;AAQA,aACI,kCACI;AAAK,iBAAS,EAAC;AAAf,SAEK,iBAAiB,KAAK,gBAAgB,KAAK,KAArB,IAA8B,IAAnC,CAAjB,IACG;AAAK,iBAAS,EAAC,sBAAf;AAAsC,aAAK,EAAE;AAA7C,SACK,cAAc,GAAG,SAAH,GAAe;AAAK,iBAAS,EAAC;AAAf,QADlC,EAEI;AAAK,iBAAS,EAAC;AAAf,SAAyB,iBAAiB,CAAC,KAAlB,CAAwB,MAAjD,EAA+D,GAA/D,CAFJ,CAHR,EAQI;AAAK,iBAAS,EAAC,qBAAf;AAAqC,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA5C,SACK,iBAAiB,KAAK,QAAtB,IAAkC;AAAQ,iBAAS,EAAC,6BAAlB;AAAgD,aAAK,EAAC,cAAtD;AAC/B,aAAK,EAAE,UADwB;AACd,sBACN,cAFoB;AAG/B,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,aAAL,CAAmB,MAAnB,CAAN;AAAA;AAHsB,QADvC,EAKI,oBAAC,2CAAD,EAAmB;AAAC,sBAAc,EAAC,OAAhB;AAAwB,8BAAsB,EAAE,GAAhD;AAAqD,uBAAe,EAAE;AAAtE,OAAnB,EACI,oBAAC,qBAAD,EAAU;AACN,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,wBAAL,EAAN;AAAA,SADT;AAEN,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,wBAAL,EAAN;AAAA,SAFT;AAGN,YAAI,EAAE,iBAAiB,CAAC,KAHlB;AAGyB,qBAAa,EAAE,aAHxC;AAGuD,WAAG,EAAE,iBAAiB,CAAC,KAAlB,CAAwB,GAHpF;AAGyF,aAAK,EAAE,KAHhG;AAGuG,cAAM,EAAE,WAH/G;AAG4H,gBAAQ,EAAE,KAAK;AAH3I,OAAV,CADJ,CALJ,EAWK,iBAAiB,KAAK,QAAtB,IAAkC;AAAQ,iBAAS,EAAC,4BAAlB;AAC/B,aAAK,EAAE,UADwB;AAE/B,aAAK,EAAC,aAFyB;AAEZ,sBAAY,aAFA;AAEc,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,aAAL,CAAmB,MAAnB,CAAN;AAAA;AAFvB,QAXvC,CARJ,CADJ,EA0BK,iBAAiB,KAAK,KAAtB,IAA+B;AAAK,iBAAS,EAAC;AAAf,SAC3B,8BAA8B,KAAK,CAAnC,IAAwC;AAAQ,iBAAS,EAAC,6BAAlB;AACrC,aAAK,EAAE,UAD8B;AAErC,aAAK,EAAC,cAF+B;AAEjB,sBAAY,cAFK;AAEU,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,wBAAL,EAAP;AAAA;AAFnB,QADb,EAI3B,6BAA6B,KAAK,CAAlC,IAAuC;AAAQ,iBAAS,EAAC,4BAAlB;AACpC,aAAK,EAAE,UAD6B;AAEpC,aAAK,EAAC,aAF8B;AAEjB,sBAAY,aAFK;AAES,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,uBAAL,EAAP;AAAA;AAFlB,QAJZ,EAO5B;AAAK,iBAAS,EAAC,kBAAf;AAAkC,aAAK,EAAE;AAAE,yBAAe;AAAjB;AAAzC,SACK,MAAM,CAAC,GAAP,CAAW,UAAC,IAAD,EAAO,KAAP;AAAA,eACR;AAAK,aAAG,wBAAiB,IAAI,CAAC,KAAL,CAAW,OAA5B,CAAR;AAA+C,iBAAO,EAAE,iBAAC,CAAD;AAAA,mBAAO,MAAI,CAAC,aAAL,CAAmB,CAAnB,EAAsB,KAAtB,CAAP;AAAA,WAAxD;AAA6F,qBAAW,EAAE,qBAAC,CAAD;AAAA,mBAAO,MAAI,CAAC,QAAL,CAAc;AAAE,mCAAqB,EAAE;AAAzB,aAAd,CAAP;AAAA,WAA1G;AAAkK,mBAAS,EAAC;AAA5K,WACK,kBAAkB,KAAK,KAAvB,IAAgC,qBAAqB,KAAK,KAA1D,IAAmE;AAAK,mBAAS,EAAC;AAAf,UADxE,EAGK,IAAI,CAAC,KAAL,CAAW,SAAX,KAAyB,aAAzB,IAA0C;AAAK,mBAAS,EAAC,iBAAf;AAAiC,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW,MAAjD;AAAyD,eAAK,EAAE,KAAK,KAAK,kBAAV,GAA+B;AAAE,kBAAM,sBAAe,eAAf;AAAR,WAA/B,GAA4E;AAAE,kBAAM;AAAR;AAA5I,UAH/C,EAIK,IAAI,CAAC,KAAL,CAAW,SAAX,KAAyB,aAAzB,IAA0C;AAAK,mBAAS,EAAC,iBAAf;AAAiC,eAAK,EAAE,IAAI,CAAC,KAAL,CAAW,KAAnD;AAA0D,eAAK,EAAE,KAAK,KAAK,kBAAV,GAA+B;AAAE,kBAAM,sBAAe,eAAf;AAAR,WAA/B,GAA4E;AAAE,kBAAM;AAAR,WAA7I;AAAgL,yBAAe,IAAI,CAAC,KAAL,CAAW,UAA1M;AAAsN,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW,GAAtO;AAA2O,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW;AAA3P,UAJ/C,CADQ;AAAA,OAAX,CADL,CAP4B,CA1BpC,CADJ;AA8CH;;;;EAtMiC,KAAK,CAAC,S;;AA4C1B,kCAAiB,kBAAjB;AA5ClB,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BA;;AACA;;AAEA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AAIa,sBAAc;AACvB,QAAM;AACF,WAAO,EAAE,YADP;AAEF,SAAK,EAAE,MAFL;AAGF,QAAI,EAAE,OAHJ;AAIF,SAAK,EAAE;AAJL,GADiB;AAOvB,QAAM;AACF,WAAO,EAAE,UADP;AAEF,SAAK,EAAE,OAFL;AAGF,QAAI,EAAE,WAHJ;AAIF,SAAK,EAAE;AAJL,GAPiB;AAavB,QAAM;AACF,WAAO,EAAE,iBADP;AAEF,SAAK,EAAE,SAFL;AAGF,QAAI,EAAE,QAHJ;AAIF,SAAK,EAAE;AAJL;AAbiB,CAAd;;AA2Bb,IAAa,iBAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,6BACU;AAAA,wBAC8C,KAAK,KADnD;AAAA,UACM,SADN,eACM,SADN;AAAA,UACiB,UADjB,eACiB,UADjB;AAAA,UAC6B,YAD7B,eAC6B,YAD7B;AAEF,UAAM,QAAQ,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAjC,IAA2C,MAAM,CAAC,YAAlD,IAAmE,YAApF;AACA,UAAM,IAAI,GAAG,QAAQ,CAAC,KAAT,CAAe,CAAf,EAAiB,CAAjB,KAAuB,IAApC;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,oBAAY,IAAZ,EAAkB,OAAzB,CADJ,CADJ,EAII,oBAAC,qCAAD,EAAkB,IAAlB,EACI,oBAAC,qCAAD,EAAuB;AACtB,YAAI,EAAE,SADgB;AAEtB,kBAAU,EAAE,UAFU;AAGtB,oBAAY,EAAE;AAHQ,OAAvB,CADJ,CAJJ,CADJ;AAaH;AAnBL;;AAAA;AAAA,EAAuC,KAAK,CAAC,SAA7C;;AAAa,iBAAiB,eAF7B,2DAE6B,EAD7B,mCAC6B,GAAjB,iBAAiB,CAAjB;AAAA,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtCb;;AACA;;AACA;;AACA;;AAGA,IAAK,WAAL;;AAAA,WAAK,WAAL,EAAgB;AACZ;AACA;AACA;AACH,CAJD,EAAK,WAAW,KAAX,WAAW,MAAhB;;AAgBA,IAAM,UAAU,GAAG;AACf,KAAG,eADY;AAEf,KAAG,gBAFY;AAGf,KAAG;AAHY,CAAnB;;IAMa,sB;;;;;AAET,kCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,gGAAM,KAAN;;AAKI,8BAAoB,UAAC,CAAD,EAAM;AAC9B,YAAK,cAAL,CAAoB,WAAW,CAAC,KAAhC;AACH,KAFO;;AAGA,+BAAqB,UAAC,CAAD,EAAM;AAC/B,YAAK,cAAL,CAAoB,WAAW,CAAC,MAAhC;AACH,KAFO;;AAGA,8BAAoB,UAAC,CAAD,EAAM;AAC9B,YAAK,cAAL,CAAoB,WAAW,CAAC,KAAhC;AACH,KAFO;;AAGA,2BAAiB,UAAC,KAAD,EAAkB;AACvC,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAE;AAAf,OAAd;AACH,KAFO;;AAbJ,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE,WAAW,CAAC;AADhB,KAAb;AAFa;AAKhB;;;;6BAaY;AAAA,UACD,WADC,GACe,KAAK,KADpB,CACD,WADC;AAAA,wBAEkC,KAAK,KAFvC;AAAA,UAED,IAFC,eAED,IAFC;AAAA,UAEK,UAFL,eAEK,UAFL;AAAA,UAEiB,YAFjB,eAEiB,YAFjB;AAGT,UAAM,kBAAkB,GAAG,UAAU,CAAC,KAAD,EAAQ;AAAE,kBAAU,WAAW,KAAK,WAAW,CAAC;AAAxC,OAAR,CAArC;AACA,UAAM,mBAAmB,GAAG,UAAU,CAAC,KAAD,EAAQ;AAAE,kBAAU,WAAW,KAAK,WAAW,CAAC;AAAxC,OAAR,CAAtC;AACA,UAAM,kBAAkB,GAAG,UAAU,CAAC,KAAD,EAAQ;AAAE,kBAAU,WAAW,KAAK,WAAW,CAAC;AAAxC,OAAR,CAArC;AACA,UAAM,oBAAoB,GAAG,UAAU,KAAK,eAAf,GAAiC,UAAU,CAAC,cAAD,EAAiB;AAAE,kBAAU,WAAW,KAAK,WAAW,CAAC;AAAxC,OAAjB,EAAkE;AAAE,kBAAU,WAAW,KAAK,WAAW,CAAC;AAAxC,OAAlE,EAAoH;AAAE,kBAAU,WAAW,KAAK,WAAW,CAAC;AAAxC,OAApH,CAA3C,GAAkN,cAA/O;AACA,UAAM,IAAI,GAAG,YAAY,CAAC,KAAb,CAAmB,CAAnB,EAAsB,CAAtB,KAA4B,IAAzC;AACA,UAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAD,CAAX,CAArB;AAEA,UAAM,IAAI,GAAG,GAAG,CAAC,QAAD,EAAW,UAAC,IAAD,EAAY,KAAZ,EAAqB;AAC5C,eAAO;AAAG,mBAAS,EAAC,UAAb;AAAwB,aAAG,EAAE,KAA7B;AAAoC,cAAI,EAAE,+CAAgC,IAAhC;AAA1C,WAAmF,IAAI,CAAC,KAAxF,CAAP;AACH,OAFe,CAAhB;AAIA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAE,kBAAhB;AAAoC,eAAO,EAAE,KAAK;AAAlD,SAAsE,gCAAY,IAAZ,EAAkB,KAAxF,CADJ,EAEI;AAAK,iBAAS,EAAE,mBAAhB;AAAqC,eAAO,EAAE,KAAK;AAAnD,SAAwE,gCAAY,IAAZ,EAAkB,IAA1F,CAFJ,EAGI;AAAK,iBAAS,EAAE,kBAAhB;AAAoC,eAAO,EAAE,KAAK;AAAlD,SAAsE,gCAAY,IAAZ,EAAkB,KAAxF,CAHJ,CADJ,EAOI;AAAK,iBAAS,EAAE;AAAhB,SACI;AAAK,iBAAS,EAAC;AAAf,S,GAAA,EAA8B,IAA9B,CADJ,CAPJ,CADJ;AAcH;;;;EAhDuC,KAAK,CAAC,S;;AACvC,wCAAiB,wBAAjB;AADX;AAmDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/EA;;AAGA;;AACA;;IAyBa,wB;;;;;AAET,oCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,kGAAM,KAAN;;AAOI,iCAAuB,UAAC,KAAD,EAAQ,UAAR,EAAsB;AACjD,UAAM,SAAS,GAAG,UAAU,GAAG,EAA/B;AACA,UAAM,oBAAoB,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,SAAnB,CAA7B;AACA,aAAO,oBAAP;AACH,KAJO;;AAMA,oCAA0B,YAAK;AAAA,wBACI,MAAK,KADT;AAAA,UAC3B,aAD2B,eAC3B,aAD2B;AAAA,UACZ,WADY,eACZ,WADY;AAAA,wBAEkB,MAAK,KAFvB;AAAA,UAE3B,QAF2B,eAE3B,QAF2B;AAAA,UAEjB,KAFiB,eAEjB,KAFiB;AAAA,UAEV,UAFU,eAEV,UAFU;AAAA,UAEE,WAFF,eAEE,WAFF;AAGnC,UAAM,uBAAuB,GAAG,UAAU,GAAG,EAA7C;AACA,UAAI,QAAQ,GAAG,aAAa,GAAG,CAA/B;AACA,UAAM,cAAc,GAAG,KAAK,GAAG,EAA/B;AACA,UAAM,iBAAiB,GAAG,uBAAuB,IAAI,cAAc,GAAG,MAAK,oBAAL,CAA0B,cAA1B,EAA0C,UAA1C,IAAwD,uBAA7E,CAAjD;AACA,UAAM,cAAc,GAAG,WAAW,GAAG,uBAArC;AACA,UAAM,aAAa,GAAG,WAAW,GAAG,iBAApC;;AACA,UAAI,aAAa,GAAG,QAAQ,CAAC,MAAT,GAAkB,MAAK,oBAAL,CAA0B,cAA1B,EAA0C,UAA1C,CAAlB,GAA0E,CAA9F,EAAiG;AAC7F,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,cADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH,OALD,MAMK,IAAI,aAAa,KAAK,QAAQ,CAAC,MAAT,GAAkB,MAAK,oBAAL,CAA0B,cAA1B,EAA0C,UAA1C,CAAlB,GAA0E,CAAhG,EAAmG;AACpG,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,aADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH;AAEJ,KAtBO;;AAwBA,qCAA2B,YAAK;AAAA,yBACG,MAAK,KADR;AAAA,UAC5B,aAD4B,gBAC5B,aAD4B;AAAA,UACb,WADa,gBACb,WADa;AAAA,yBAEiB,MAAK,KAFtB;AAAA,UAE5B,QAF4B,gBAE5B,QAF4B;AAAA,UAElB,KAFkB,gBAElB,KAFkB;AAAA,UAEX,UAFW,gBAEX,UAFW;AAAA,UAEC,WAFD,gBAEC,WAFD;AAGpC,UAAM,cAAc,GAAG,KAAK,GAAG,EAA/B;AACA,UAAM,uBAAuB,GAAG,UAAU,GAAG,EAA7C;AACA,UAAI,QAAQ,GAAG,aAAa,GAAG,CAA/B;AACA,UAAM,iBAAiB,GAAG,uBAAuB,IAAI,cAAc,GAAG,MAAK,oBAAL,CAA0B,cAA1B,EAA0C,UAA1C,IAAwD,uBAA7E,CAAjD;AACA,UAAM,WAAW,GAAG,WAAW,GAAG,iBAAlC;AACA,UAAM,cAAc,GAAG,WAAW,GAAG,uBAArC;;AAEA,UAAI,aAAa,GAAG,CAApB,EAAuB;AACnB,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,cADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH,OALD,MAMK,IAAI,aAAa,KAAK,CAAtB,EAAyB;AAC1B,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH;AACJ,KAtBO;;AApCJ,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE,CADN;AAET,iBAAW,EAAE;AAFJ,KAAb;AAFa;AAOhB;;;;6BAuDY;AAAA;;AAAA,yBAEqD,KAAK,KAF1D;AAAA,UACD,KADC,gBACD,KADC;AAAA,UACM,UADN,gBACM,UADN;AAAA,UACkB,QADlB,gBACkB,QADlB;AAAA,UAC4B,WAD5B,gBAC4B,WAD5B;AAAA,UACyC,aADzC,gBACyC,aADzC;AAAA,UACwD,qBADxD,gBACwD,qBADxD;AAAA,UAC+E,UAD/E,gBAC+E,UAD/E;AAAA,UAC2F,cAD3F,gBAC2F,cAD3F;AAAA,UAEL,cAFK,gBAEL,cAFK;AAAA,UAEW,oBAFX,gBAEW,oBAFX;AAAA,UAEiC,eAFjC,gBAEiC,eAFjC;AAAA,yBAG8B,KAAK,KAHnC;AAAA,UAGD,aAHC,gBAGD,aAHC;AAAA,UAGc,WAHd,gBAGc,WAHd;AAIT,UAAI,oBAAoB,GAAG,aAAa,KAAK,CAA7C;AACA,UAAI,mBAAmB,GAAG,aAAa,KAAK,QAAQ,CAAC,MAAT,GAAkB,KAAK,oBAAL,CAA0B,KAAK,GAAG,EAAlC,EAAsC,UAAtC,CAA9D;AACA,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE,EAApF;AAAwF,kBAAU,EAAE;AAApG,OAAhC;AACA,aACI;AAAK,iBAAS,EAAC,cAAf;AAA8B,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArC,SACK,QAAQ,CAAC,MAAT,GAAkB,CAAlB,IAAuB;AACpB,gBAAQ,EAAE,CAAC,oBADS;AAEpB,iBAAS,EAAC,8BAFU;AAEoB,sBAC7B,cAHS;AAIpB,aAAK,EAAC,cAJc;AAKpB,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,wBAAL,EAAP;AAAA;AALW,QAD5B,EAOI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,iBAAf;AAAiC,aAAK,EAAE;AAAE,yBAAe;AAAjB;AAAxC,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,KAAP;AAAA,eACV;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,qBAAc,IAAI,CAAC,MAAnB,cAA6B,KAA7B;AAA7B,WAGI;AAAK,mBAAS,EAAC,eAAf;AAA+B,eAAK,EAAE;AAAE,iBAAK,EAAE,UAAT;AAAqB,kBAAM,EAAE;AAA7B;AAAtC,WACI,oBAAC,qBAAD,EAAU;AAAC,qBAAW,EAAE,IAAI,CAAC,SAAnB;AAA8B,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAArF;AAAsG,yBAAe,EAAE,IAAvH;AAA6H,cAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UAA3K;AACN,eAAK,EAAE,UADD;AACa,gBAAM,EAAE,WADrB;AACkC,uBAAa,EAAE;AADjD,SAAV,CADJ,CAHJ,EAQK,cAAc,IAAI;AAAK,mBAAS,EAAC;AAAf,WAEd,IAAI,CAAC,QAAL,KAAkB,EAAlB,IAAwB,oBAAC,4BAAD,EAAiB;AACtC,cAAI,EAAE,IAAI,CAAC,SAD2B;AAEtC,oBAAU,EAAE,IAAI,CAAC,SAAL,KAAmB,SAAnB,IAAgC,IAAI,CAAC,eAFX;AAGtC,mBAAS,EAAE,IAAI,CAAC;AAHsB,SAAjB,EAKrB;AAAK,aAAG,EAAE,IAAI,CAAC,QAAf;AAAuB,yBAAc,MAArC;AAA4C,eAAK,EAAE,IAAI,CAAC;AAAxD,UALqB,CAFV,CARvB,EAkBI;AAAK,mBAAS,EAAC;AAAf,WACK,qBAAqB,CAAC,cAAtB,IAAwC;AAAK,mBAAS,EAAC;AAAf,WACrC,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,SADE;AAEb,oBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,kBAAQ,EAAE,IAAI,CAAC;AAHF,SAAjB,EAII;AAAM,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAb,WACI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADJ,CAJJ,CADqC,CAD7C,EAWK,oBAAoB,IAAI,IAAI,CAAC,UAAL,KAAoB,SAA5C,IAAyD;AAAK,mBAAS,EAAC;AAAf,WACtD,oBAAC,4BAAD,EAAiB;AACb,cAAI,EAAE,IAAI,CAAC,cAAL,KAAwB,SAAxB,IAAqC,IAAI,CAAC,cADnC;AAEb,oBAAU,EAAE,IAAI,CAAC,oBAAL,KAA8B,SAA9B,IAA2C,IAAI,CAAC,oBAF/C;AAGb,kBAAQ,EAAE,IAAI,CAAC;AAHF,SAAjB,EAII;AAAM,eAAK,EAAE;AAAE,iBAAK,EAAE;AAAT;AAAb,WACI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA9B,UADJ,CAJJ,CADsD,CAX9D,CAlBJ,EAuCqB,OAvCrB,CADU;AAAA,OAAb,CADL,CADJ,CAPJ,EAmDK,QAAQ,CAAC,MAAT,GAAkB,CAAlB,IAAuB;AACpB,gBAAQ,EAAE,CAAC,mBADS;AAEpB,aAAK,EAAC,aAFc;AAED,sBACR,aAHS;AAIpB,iBAAS,EAAC,6BAJU;AAKpB,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,uBAAL,EAAP;AAAA;AALW,QAnD5B,CADJ;AA6DH;;;;EApIyC,KAAK,CAAC,S;;AAClC,0CAAiB,0BAAjB;AADlB,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BA;;AAEA;;IAQa,U;;;;;;;;;;;;;6BAEI;AAAA,UACD,aADC,GACiB,KAAK,KADtB,CACD,aADC;AAET,UAAM,aAAa,GAAG,GAAG,CAAC,aAAD,EAAgB,cAAI;AAAA,eAAI,IAAI,CAAC,KAAT;AAAA,OAApB,CAAzB;AACA,UAAI,CAAJ;;AACA,UAAI,aAAa,CAAC,MAAd,GAAuB,CAA3B,EAA8B;AAAE,SAAC,GAAG,aAAa,CAAC,MAAd,CAAqB,UAAC,CAAD,EAAI,CAAJ;AAAA,iBAAU,CAAC,GAAG,CAAd;AAAA,SAArB,CAAJ;AAA2C,OAA3E,MACK;AACD,SAAC,GAAG,CAAJ;AACH;;AACD,UAAM,QAAQ,GAAG,aAAa,CAAC,MAAd,GAAuB,CAAvB,GAA2B,CAAC,CAAC,MAAF,GAAW,IAAtC,GAA6C,CAAC,CAAC,MAAF,GAAW,IAAzE;;AAEA,UAAI,CAAC,aAAD,IAAkB,aAAa,CAAC,MAAd,IAAwB,CAA9C,EAAiD;AAC7C,eAAO,IAAP;AACH;;AACD,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,cAAf;AAA8B,aAAK,EAAE;AAAE,2BAAiB,YAAK,QAAL,gBAAmB,QAAnB,MAAnB;AAAmD,wBAAc,YAAK,CAAL,SAAY,QAAZ;AAAjE;AAArC,SACK,aAAa,CAAC,GAAd,CAAkB,UAAC,SAAD,EAAY,CAAZ;AAAA,eAAkB,oBAAC,kCAAD,EAAkB;AACnD,eAAK,EAAE,SAAS,CAAC,KADkC;AAEnD,mBAAS,EAAE,SAAS,CAAC,SAF8B;AAGnD,oBAAU,EAAE,SAAS,CAAC,UAH6B;AAInD,cAAI,EAAE,SAAS,CAAC,IAJmC;AAKnD,aAAG,EAAE,SAAS,CAAC,MALoC;AAMnD,iBAAO,EAAE,SAAS,CAAC,MANgC;AAOnD,uBAAa,EAAE,SAAS,CAAC;AAP0B,SAAlB,CAAlB;AAAA,OAAlB,CADL,CADJ,CADJ;AAgBH;;;;EA/B2B,KAAK,CAAC,S;;AAAtC,gC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA;;AAEA;;AACA;;AACA;;IAca,iB;;;;;;;;;;;;;+BAIU,S,EAAc;AAAA,wBAC+B,KAAK,KADpC;AAAA,UACrB,aADqB,eACrB,aADqB;AAAA,UACN,IADM,eACN,IADM;AAAA,UACA,UADA,eACA,UADA;AAAA,UACY,KADZ,eACY,KADZ;AAAA,UACmB,OADnB,eACmB,OADnB;;AAE7B,UAAI,aAAa,KAAK,MAAtB,EAA8B;AAE1B,eACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAP;AACb,oBAAU,EAAE,UADC;AAEb,kBAAQ,EAAE;AAFG,SAAjB,EAGI;AAAK,iCAAuB,EAAE;AAAE,kBAAM,EAAE;AAAV;AAA9B,UAHJ,CADJ;AAOH,OATD,MAUK;AACD,eAAQ,SAAR;AACH;AACJ;;;6BAGY;AAAA,yBAC6B,KAAK,KADlC;AAAA,UACD,KADC,gBACD,KADC;AAAA,UACM,SADN,gBACM,SADN;AAAA,UACiB,OADjB,gBACiB,OADjB;AAGT,UAAM,SAAS,GAAG,CAAC,4BAAD,GAAiB;AAAG,gBAAQ,EAAE,CAAb;AAAgB,iBAAS,EAAC,WAA1B;AAAqC,wBAAe,OAApD;AAA6D,UAAE,EAAE;AAAjE,SAC/B;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA9B,QAD+B,CAAjB,GAEX;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA9B,QAFP;AAGA,aACI;AAAK,iBAAS,EAAE,UAAU,CAAC,UAAD,EAAa;AAAE,wBAAc,4BAAhB;AAA+B,uBAAa,KAAK,CAAC,MAAN,KAAiB;AAA7D,SAAb;AAA1B,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,EAEI;AAAK,iBAAS,EAAE,UAAU,CAAC,WAAD,EAAc;AAAE,uBAAa,KAAK,CAAC,MAAN,KAAiB;AAAhC,SAAd;AAA1B,SACI,kCAAS,qDAAsC,SAAtC,EAAiD;AAAE,gBAAQ,EAAE,IAAZ;AAAkB,gBAAQ,EAAE,IAA5B;AAAkC,wBAAgB,EAAE,IAApD;AAA0D,gBAAQ,EAAE;AAApE,OAAjD,CAAT,CADJ,CAFJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACK,KAAK,UAAL,CAAgB,SAAhB,CADL,CANJ,CADJ;AAcH;;;;EA1CkC,KAAK,CAAC,S;;AAC3B,mCAAiB,mBAAjB;AADlB,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBA;;AACA;;AAIA;;AACA;;AACA;;AAEA,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IASa,a;;;;;;;;;;;;;6BAEI;AAAA,wBACkB,KAAK,KADvB;AAAA,UACD,IADC,eACD,IADC;AAAA,UACK,QADL,eACK,QADL;AAET,UAAM,WAAW,GAAG;AAAE,uBAAe,EAAE;AAAnB,OAApB;AACA,UAAM,eAAe,GAAyB;AAC1C,oBAAY,EAAE,KAD4B;AAE1C,uBAAe,EAAE,EAFyB;AAG1C,sBAAc,EAAE,IAH0B;AAI1C,uBAAe,EAAE,IAJyB;AAK1C,qBAAa,EAAE;AAL2B,OAA9C;AAOA,UAAI,QAAQ,GAAG,EAAf;;AAEA,UAAI,MAAM,CAAC,IAAP,CAAY,QAAZ,EAAsB,MAAtB,GAA+B,CAAnC,EAAsC;AAClC,gBAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAD,EAAW,UAAC,OAAD,EAAe,KAAf,EAAwB;AACpD,cAAI,KAAK,GAAG,IAAI,CAAC,oBAAL,GAA4B,CAAxC,EAA2C,OAAO,IAAP;AAC3C,cAAI,KAAK,GAAG;AAAE,eAAG,EAAE;AAAP,WAAZ;AAEA,iBAAO;AACH,8BAAkB,EAAE,OAAO,CAAC,UADzB;AAEH,6BAAiB,EAAE,OAAO,CAAC,iBAFxB;AAGH,kBAAM,EAAE,OAAO,CAAC,SAHb;AAIH,iBAAK,EAAE,OAAO,CAAC,KAJZ;AAKH,qBAAS,EAAE,OAAO,CAAC,SALhB;AAMH,qBAAS,EAAE,OAAO,CAAC,iBANhB;AAOH,yBAAa,EAAE,QAPZ;AAQH,gBAAI,EAAE,OAAO,CAAC,aARX;AASH,sBAAU,EAAE,eATT;AAUH,yBAAa,EAAE,OAVZ;AAWH,mBAAO,EAAE,OAAO,CAAC,qBAXd;AAYH,qBAAS,EAAE,OAAO,CAAC,SAZhB;AAaH,kBAAM,EAAE,OAAO,CAAC;AAbb,WAAP;AAgBH,SApBoB,CAAJ,CAAjB;AAqBH;;AACD,aACI;AAAK,iBAAS,uBAAd;AAAuC,aAAK,EAAE;AAA9C,SACK,IAAI,CAAC,qBAAL,CAA2B,YAA3B,IACG;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,IAAI,CAAC,OAAZ;AAAqB,kBAAU,EAAE,IAAI,CAAC;AAAtC,OAAjB,EACK,IAAI,CAAC,YADV,CADJ,CAFR,EAQI;AAAK,iBAAS,EAAC;AAAf,SAEI,oBAAC,sBAAD,EAAW;AAAC,qBAAa,EAAE,QAAhB;AAA0B,cAAM,EAAE;AAAlC,OAAX,CAFJ,EAGI,oBAAC,6BAAD,EAAgB;AAAC,aAAK,EAAE,QAAR;AAAkB,kBAAU,EAAE,IAAI,CAAC,UAAnC;AAA+C,uBAAe,EAAE,IAAI,CAAC,eAArE;AAAsF,cAAM,EAAE;AAA9F,OAAhB,CAHJ,CARJ,CADJ;AAgBH;;;;EArD8B,KAAK,CAAC,S;;AAAzC,sC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;;IAYa,gB;;;;;AAET,4BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,0FAAM,KAAN;;AAMI,iCAAuB,UAAC,KAAD,EAAQ,UAAR,EAAsB;AACjD,UAAM,SAAS,GAAG,UAAU,GAAG,EAA/B;AACA,UAAM,oBAAoB,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,SAAnB,CAA7B;AACA,aAAO,oBAAP;AACH,KAJO;;AAMA,oCAA0B,YAAK;AAAA,wBACI,MAAK,KADT;AAAA,UAC3B,aAD2B,eAC3B,aAD2B;AAAA,UACZ,WADY,eACZ,WADY;AAAA,wBAEV,MAAK,KAFK;AAAA,UAE3B,KAF2B,eAE3B,KAF2B;AAAA,UAEpB,KAFoB,eAEpB,KAFoB;AAGnC,UAAM,uBAAuB,GAAG,GAAhC;AACA,UAAI,QAAQ,GAAG,aAAa,GAAG,CAA/B;AACA,UAAM,cAAc,GAAG,KAAK,GAAG,EAA/B;AACA,UAAM,iBAAiB,GAAG,uBAAuB,IAAI,cAAc,GAAG,MAAK,oBAAL,CAA0B,cAA1B,EAA0C,GAA1C,IAAiD,uBAAtE,CAAjD;AACA,UAAM,cAAc,GAAG,WAAW,GAAG,uBAArC;AACA,UAAM,aAAa,GAAG,WAAW,GAAG,iBAApC;;AACA,UAAI,aAAa,GAAG,KAAK,CAAC,MAAN,GAAe,MAAK,oBAAL,CAA0B,cAA1B,EAA0C,GAA1C,CAAf,GAAgE,CAApF,EAAuF;AACnF,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,cADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH,OALD,MAMK,IAAI,aAAa,KAAK,KAAK,CAAC,MAAN,GAAe,MAAK,oBAAL,CAA0B,cAA1B,EAA0C,GAA1C,CAAf,GAAgE,CAAtF,EAAyF;AAC1F,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,aADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH;AAEJ,KAtBO;;AAwBA,qCAA2B,YAAK;AAAA,yBACG,MAAK,KADR;AAAA,UAC5B,aAD4B,gBAC5B,aAD4B;AAAA,UACb,WADa,gBACb,WADa;AAAA,yBAEX,MAAK,KAFM;AAAA,UAE5B,KAF4B,gBAE5B,KAF4B;AAAA,UAErB,KAFqB,gBAErB,KAFqB;AAGpC,UAAM,cAAc,GAAG,KAAK,GAAG,EAA/B;AACA,UAAM,uBAAuB,GAAG,GAAhC;AACA,UAAI,QAAQ,GAAG,aAAa,GAAG,CAA/B;AACA,UAAM,iBAAiB,GAAG,uBAAuB,IAAI,cAAc,GAAG,MAAK,oBAAL,CAA0B,cAA1B,EAA0C,GAA1C,IAAiD,uBAAtE,CAAjD;AACA,UAAM,WAAW,GAAG,WAAW,GAAG,iBAAlC;AACA,UAAM,cAAc,GAAG,WAAW,GAAG,uBAArC;;AAEA,UAAI,aAAa,GAAG,CAApB,EAAuB;AACnB,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,cADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH,OALD,MAMK,IAAI,aAAa,KAAK,CAAtB,EAAyB;AAC1B,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CADH;AAEV,uBAAa,EAAE;AAFL,SAAd;AAIH;AACJ,KAtBO;;AAnCJ,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE,CADN;AAET,iBAAW,EAAE;AAFJ,KAAb;AAFa;AAMhB;;;;6BAuDK;AAAA;;AAAA,yBACuB,KAAK,KAD5B;AAAA,UACM,KADN,gBACM,KADN;AAAA,UACa,KADb,gBACa,KADb;AAAA,yBAEqC,KAAK,KAF1C;AAAA,UAEM,aAFN,gBAEM,aAFN;AAAA,UAEqB,WAFrB,gBAEqB,WAFrB;AAGF,UAAI,oBAAoB,GAAG,aAAa,KAAK,CAA7C;AACA,UAAI,mBAAmB,GAAG,aAAa,KAAK,KAAK,CAAC,MAAN,GAAe,KAAK,oBAAL,CAA0B,KAAK,GAAG,EAAlC,EAAsC,GAAtC,CAA3D;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,KAAK,CAAC,MAAN,GAAe,CAAf,IAAoB;AACjB,gBAAQ,EAAE,CAAC,oBADM;AAEjB,iBAAS,EAAC,8BAFO;AAEuB,sBAC7B,cAHM;AAIjB,aAAK,EAAC,cAJW;AAKjB,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,wBAAL,EAAP;AAAA;AALQ,QADzB,EAOI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,iBAAf;AAAiC,aAAK,EAAE;AAAE,yBAAe;AAAjB;AAAxC,SACK,KAAK,CAAC,GAAN,CAAU,UAAC,IAAD,EAAO,KAAP;AAAA,eACP;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,qBAAc,KAAd;AAA7B,WAEI,oBAAC,8BAAD,EAAmB;AAAC,cAAI,EAAE,IAAI,CAAC,GAAZ;AAAiB,gBAAM,EAAC;AAAxB,SAAnB,EACI;AAAK,aAAG,EAAE,IAAI,CAAC,KAAf;AAAsB,eAAK,EAAE,IAAI,CAAC;AAAlC,UADJ,EAEI;AAAK,mBAAS,EAAC;AAAf,WACK,IAAI,CAAC,KADV,CAFJ,EAKI;AAAK,mBAAS,EAAC;AAAf,WACK,IAAI,CAAC,YADV,E,GAAA,EACyB,IAAI,CAAC,KAD9B,EAEF,SAFE,CALJ,CAFJ,CADO;AAAA,OAAV,CADL,CADJ,CAPJ,EAuBK,KAAK,CAAC,MAAN,GAAe,CAAf,IAAoB;AACjB,gBAAQ,EAAE,CAAC,mBADM;AAEjB,aAAK,EAAC,aAFW;AAEE,sBACR,aAHM;AAIjB,iBAAS,EAAC,6BAJO;AAKjB,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,uBAAL,EAAP;AAAA;AALQ,QAvBzB,CADJ;AAoCH;;;;EAzGiC,KAAK,CAAC,S;;AAC1B,kCAAiB,kBAAjB;AADlB,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;;IAoBa,qB;;;;;AAET,iCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,+FAAM,KAAN;;AAgBI,sBAAY,YAAK;AAAA,wBACoB,MAAK,KADzB;AAAA,UACb,MADa,eACb,MADa;AAAA,UACL,YADK,eACL,YADK;AAAA,UACS,MADT,eACS,MADT;AAAA,wBAEY,MAAK,KAFjB;AAAA,UAEb,cAFa,eAEb,cAFa;AAAA,UAEG,IAFH,eAEG,IAFH;;AAGrB,UAAI,CAAC,MAAD,IAAY,MAAM,IAAI,IAA1B,EAAiC;AAC7B,cAAK,QAAL,CAAc;AAAE,wBAAc,EAAE;AAAlB,SAAd;;AACA,gBAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,QAA/B;AACH,OAHD,MAIK;AACD,cAAM,IAAI,MAAM,CAAC,UAAP,CAAkB,cAAlB,EAAV;AACH;AAEJ,KAXO;;AAaA,uBAAa,YAAK;AACtB,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;;AAEA,cAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,QAApB,GAA+B,EAA/B;AACH,KAJO;;AA5BJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE,KADP;AAET,aAAO,EAAE,KAFA;AAGT,UAAI,EAAE,IAHG;AAIT,mBAAa,EAAE;AAJN,KAAb;AAFa;AAShB;;;;wCACgB;AACb,UAAI,MAAM,IAAI,MAAM,CAAC,UAAjB,IAA+B,MAAM,CAAC,UAAP,CAAkB,IAArD,EAA2D;AACvD,aAAK,QAAL,CAAc;AACV,cAAI,EAAE,MAAM,CAAC,UAAP,CAAkB;AADd,SAAd;AAGH;AACJ;;;6BAoBK;AAAA,yBACsD,KAAK,KAD3D;AAAA,UACM,MADN,gBACM,MADN;AAAA,UACc,YADd,gBACc,YADd;AAAA,UAC4B,SAD5B,gBAC4B,SAD5B;AAAA,UACuC,WADvC,gBACuC,WADvC;AAAA,UAEM,cAFN,GAEyB,KAAK,KAF9B,CAEM,cAFN;AAIF,aACI,0CACI;AAAQ,iBAAS,EAAC,WAAlB;AAA8B,eAAO,EAAE,KAAK;AAA5C,SAAqD,sCAArD,CADJ,EAEK,cAAc,IAAI;AAAK,iBAAS,EAAC;AAAf,SACf,oBAAC,iCAAD,EAAkB;AAAC,iBAAS,EAAE,SAAZ;AAAuB,cAAM,EAAE,MAA/B;AAAuC,eAAO,EAAE,KAAK,UAArD;AAAiE,oBAAY,EAAE,YAA/E;AAA6F,mBAAW,EAAE;AAA1G,OAAlB,CADe,CAFvB,CADJ;AAWH;;;;EArDsC,KAAK,CAAC,S;;AAC/B,uCAAiB,uBAAjB;AADlB,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBA;;AACA,IAAM,YAAY,GAAG,mBAAO,CAAC,kDAAD,CAA5B;;AACA;;AAeA,IAAK,UAAL;;AAAA,WAAK,UAAL,EAAe;AACX;AACA;AACA;AACA;AACA;AACH,CAND,EAAK,UAAU,KAAV,UAAU,MAAf;;AAYA,IAAa,iBAAb;AAAA;AAAA;AAAA;;AACI,6BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,2FAAM,KAAN;;AAQI,+BAAqB,YAAK;AAC9B,YAAK,KAAL,CAAW,OAAX;AACH,KAFO;;AAIA,uBAAa,YAAK;AACtB,YAAK,KAAL,CAAW,OAAX;AACH,KAFO;;AAIA,0BAAgB,UAAC,KAAD,EAAkB;AACtC,UAAI,CAAC,KAAL,EAAY,OAAO,KAAP;AACZ,UAAM,EAAE,GAAG,yJAAX;AACA,aAAO,EAAE,CAAC,IAAH,CAAQ,MAAM,CAAC,KAAD,CAAN,CAAc,WAAd,EAAR,CAAP;AACH,KAJO;;AAKA,4BAAkB,UAAC,CAAD,EAAM;AAC5B,YAAK,QAAL,CAAc;AAAE,iBAAS,EAAE,CAAC,CAAC,MAAF,CAAS;AAAtB,OAAd;AACH,KAFO;;AAGA,sBAAY,UAAC,WAAD,EAAuB,YAAvB,EAAgD;AAAA,UACxD,UADwD,GACzC,MAAK,KADoC,CACxD,UADwD;AAEhE,UAAI,IAAI,GAAG,EAAX;;AACA,UAAI,UAAU,KAAK,UAAU,CAAC,eAA9B,EAA+C;AAC3C,YAAI,CAAC,YAAL,EAAmB;AACf,cAAI,GAAG,+CAAP;AACH;;AACD,YAAI,WAAJ,EAAiB;AACb,cAAI,GAAG,0BAAP;AACH;AACJ,OAPD,MAOO,IAAI,UAAU,KAAK,UAAU,CAAC,YAA9B,EAA4C;AAC/C,YAAI,GAAG,oCAAP;AACH;;AACD,aAAO,IAAP;AACH,KAdO;;AAeA,wBAAc,YAAK;AACvB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,CAAC,MAAK,KAAL,CAAW;AAA5B,OAAd;AACH,KAFO;;AAGA,yBAAe,YAAK;AACxB,UAAM,MAAM,GAAG,MAAM,CAAC,QAAP,CAAgB,MAAhB,CAAuB,QAAvB,CAAgC,WAAhC,CAAf;;AACA,UAAI,MAAJ,EAAY;AACR,cAAK,OAAL,CAAa,EAAb,EAAiB,IAAjB;AACH,OAFD,MAEO,IAAI,MAAM,CAAC,iBAAP,IAA4B,UAAhC,EAA4C;AAC/C,kBAAU,CAAC,KAAX,CAAiB,YAAK;AAClB,oBAAU,CAAC,OAAX,CAAmB,MAAM,CAAC,iBAA1B,EAA6C;AAAE,kBAAM,EAAE;AAAV,WAA7C,EAAmE,IAAnE,CAAwE,eAAK,EAAG;AAC5E,kBAAK,OAAL,CAAa,KAAb,EAAoB,KAApB;AACH,WAFD;AAGH,SAJD;AAKH;AACJ,KAXO;;AAcA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAU,iBAAO,KAAP,EAAsB,MAAtB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,8BAC2C,MAAK,KADhD,EACN,MADM,eACN,MADM,EACE,YADF,eACE,YADF,EACgB,SADhB,eACgB,SADhB,EAC2B,WAD3B,eAC2B,WAD3B;AAAA,8BAEsB,MAAK,KAF3B,EAEN,SAFM,eAEN,SAFM,EAEK,YAFL,eAEK,YAFL;AAGV,wBAHU,GAGC;AACX,yBAAO,EAAE,MAAM,IAAI,EADR;AAEX,uBAAK,EAAE,SAFI;AAGX,uBAAK,EAAL,KAHW;AAIX,6BAAW,EAAX;AAJW,iBAHD;;AAAA,sBASV,MAAK,aAAL,CAAmB,SAAnB,KAAiC,YATvB;AAAA;AAAA;AAAA;;AAAA;;AAWN,sBAAK,QAAL,CAAc;AAAE,4BAAU,EAAE,UAAU,CAAC;AAAzB,iBAAd;;AACA,sBAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,sBAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAAE,2BAAS,UAAX;AAAuB,8BAAY,YAAnC;AAAiD,4BAAU,0BAA3D;AAAuF,2BAAS;AAAhG,iBAAtB;AAbM;AAAA,uBAciB,KAAK,CAAC,IAAN,2BAA8B,YAA9B,8BAA8D,MAAM,GAAG,YAAH,GAAkB,EAAtF,GAA4F,QAA5F,CAdjB;;AAAA;AAcA,wBAdA;;AAeN,oBAAI,QAAQ,CAAC,MAAT,KAAoB,GAAxB,EAA6B;AACzB,wBAAK,QAAL,CAAc;AAAE,8BAAU,EAAE,UAAU,CAAC;AAAzB,mBAAd;AACH;;AAjBK;AAAA;;AAAA;AAAA;AAAA;;AAmBN,sBAAK,QAAL,CAAc;AAAE,4BAAU,EAAE,UAAU,CAAC;AAAzB,iBAAd;;AAnBM;AAAA;AAAA;;AAAA;AAuBV,sBAAK,QAAL,CAAc;AACV,4BAAU,EAAE;AADF,iBAAd;;AAvBU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAV;;AAAA;AAAA;AAAA;AAAA;;AAvDJ,UAAK,KAAL,GAAa;AACT,gBAAU,EAAE,CADH;AAET,kBAAY,EAAE,KAFL;AAGT,eAAS,EAAE;AAHF,KAAb;AAFa;AAOhB;;AARL;AAAA;AAAA,6BAuFU;AAAA,yBAC8C,KAAK,KADnD;AAAA,UACM,SADN,gBACM,SADN;AAAA,UACiB,UADjB,gBACiB,UADjB;AAAA,UAC6B,YAD7B,gBAC6B,YAD7B;AAEF,UAAM,SAAS,GAAG;AAAG,YAAI,EAAC,kEAAR;AAA2E,cAAM,EAAC;AAAlF,SAA0F,+DAA1F,CAAlB;AACA,UAAM,UAAU,GAAG;AAAG,YAAI,EAAC,mEAAR;AAA4E,cAAM,EAAC;AAAnF,SAA2F,uFAA3F,CAAnB;AACA,UAAM,UAAU,GAAG,UAAU,IAAI,UAAU,CAAC,eAAzB,IAA4C,CAAC,KAAK,aAAL,CAAmB,SAAnB,CAAhE;AACA,UAAM,aAAa,GAAG,UAAU,KAAK,CAAf,IAAoB,CAAC,YAArB,GAAoC,OAApC,GAA8C,EAApE;AACA,UAAM,eAAe,GAAG,UAAU,GAAG,OAAH,GAAa,EAA/C;AACA,UAAM,SAAS,GAAG,UAAU,KAAK,CAAf,GAAmB,OAAnB,GAA6B,sCAA/C;AACA,aACI;AAAK,iBAAS,EAAE,UAAU,CAAC,iBAAD,EAAoB;AAAE,yBAAe,UAAU,KAAK;AAAhC,SAApB;AAA1B,SACI;AAAK,iBAAS,EAAC,aAAf;AAA6B,eAAO,EAAE,KAAK;AAA3C,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SAA6B,SAA7B,CAHJ,EAIK,UAAU,KAAK,CAAf,IAAoB;AAAK,iBAAS,EAAC;AAAf,SAA8B,gHAA9B,CAJzB,EAKK,UAAU,KAAK,CAAf,IAAoB,0C,GAAA,EAAG;AAAK,iBAAS,EAAC;AAAf,SACpB;AAAO,mBAAW,EAAC,yDAAnB;AAAgC,YAAI,EAAC,MAArC;AAA4C,YAAI,EAAC,MAAjD;AAAwD,gBAAQ,MAAhE;AAAiE,aAAK,EAAE,SAAxE;AAAmF,iBAAS,EAAE,eAA9F;AAA+G,gBAAQ,EAAE,KAAK;AAA9H,QADoB,EAEpB;AAAQ,iBAAS,EAAC,SAAlB;AAA4B,gBAAQ,EAAE,UAAU,KAAK,CAArD;AAAwD,eAAO,EAAE,KAAK;AAAtE,SAAqF,UAAU,KAAK,CAAf,GAAmB,SAAnB,GAA+B,OAApH,CAFoB,EAGpB;AAAK,iBAAS,EAAC;AAAf,SAA+B,KAAK,SAAL,CAAe,UAAf,EAA2B,YAA3B,CAA/B,CAHoB,CAAH,EAKjB;AAAK,iBAAS,EAAC;AAAf,SACI;AAAO,YAAI,EAAC,UAAZ;AAAuB,UAAE,EAAC,yBAA1B;AAAoD,iBAAS,EAAE,aAA/D;AAA8E,gBAAQ,EAAE,KAAK;AAA7F,QADJ,EAGI,kC,+CAAA,EAAiB,SAAjB,E,IAAA,EAA8B,UAA9B,EAA+H,8XAA/H,CAHJ,CALiB,CALzB,CADJ;AAqBH;AApHL;;AAAA;AAAA,EAAuC,KAAK,CAAC,SAA7C;;AAAa,iBAAiB,eAD7B,YAC6B,E,yCAAA,GAAjB,iBAAiB,CAAjB;AAAA,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7Bb;;AACA;;AAGA,mBAAO,CAAC,mCAAD,CAAP;;IASa,a;;;;;;;;;;;;;6BACI;AAAA,wBACgC,KAAK,KADrC;AAAA,UACD,QADC,eACD,QADC;AAAA,UACS,cADT,eACS,cADT;AAAA,UACyB,EADzB,eACyB,EADzB;AAET,UAAM,eAAe,GAAG,QAAQ,CAAC,aAAT,IAA0B,QAAQ,CAAC,aAAT,KAA2B,EAArD,GACpB,QAAQ,CAAC,aADW,GACK,cAAc,IAAI,cAAc,KAAK,EAArC,GACrB,cADqB,GACJ,SAFzB;AAGA,aACI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,QAAQ,CAAC,aAAhB;AAA+B,kBAAU,EAAE,2CAA3C;AAAyE,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAAhF,OAAjB,EACI;AAAK,iBAAS,EAAC,eAAf;AAA+B,UAAE,EAAE,EAAnC;AAAuC,aAAK,EAAE;AAAE,yBAAe,EAAE,eAAnB;AAAoC,eAAK,EAAE;AAA3C;AAA9C,SACI,iCAAM,QAAQ,CAAC,UAAf,CADJ,CADJ,CADJ;AAOH;;;;EAb8B,KAAK,CAAC,S;;AAAzC,sC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbA,mBAAO,CAAC,mCAAD,CAAP;;AAGA;;AAGA;;AACA;;IAmBa,iB;;;;;AACT,6BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,2FAAM,KAAN;;AAmBI,6BAAmB,YAAK;AAAA,wBACK,MAAK,KADV;AAAA,UACpB,YADoB,eACpB,YADoB;AAAA,UACN,MADM,eACN,MADM;;AAE5B,UAAM,IAAI,gCAAV;;AACA,UAAI,OAAQ,YAAR,KAA0B,QAA9B,EAAwC;AACpC,YAAI,YAAY,GAAG,CAAnB,EAAsB;AAClB,gBAAK,mBAAL,GAA2B,WAAW,CAAC,YAAK;AACxC,kBAAK,QAAL,CAAc,UAAC,SAAD,EAA+B,KAA/B,EAA2D;AACrE,kBAAI,QAAQ,GAAG,EAAE,SAAS,CAAC,kBAA3B;AACA,kBAAI,QAAQ,IAAI,KAAK,CAAC,MAAN,CAAa,MAA7B,EAAqC,QAAQ,GAAG,CAAX;AACrC,qBAAO;AAAE,kCAAkB,EAAE;AAAtB,eAAP;AACH,aAJD;AAKH,WANqC,EAMnC,YAAY,GAAG,IANoB,CAAtC;AAOH,SARD,MASK;AACD,uBAAa,CAAC,MAAK,mBAAN,CAAb;AACH;AACJ;AACJ,KAjBO;;AAwBA,mCAAyB,GAAzB;;AAYA,oCAA0B,YAAK;AAAA,wBACqG,MAAK,KAD1G;AAAA,UAC3B,+CAD2B,eAC3B,+CAD2B;AAAA,UACsB,6BADtB,eACsB,6BADtB;AAAA,UACqD,8BADrD,eACqD,8BADrD;AAAA,UACqF,WADrF,eACqF,WADrF;AAAA,yBAET,MAAK,KAFI;AAAA,UAE3B,KAF2B,gBAE3B,KAF2B;AAAA,UAEpB,MAFoB,gBAEpB,MAFoB;AAGnC,UAAM,YAAY,GAAG,KAAK,GAAG,EAA7B;;AACA,UAAI,6BAA6B,KAAK,CAAtC,EAAyC;AACrC,YAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,YAAY,GAAG,MAAK,sBAA/B,CAAtC;AACA,YAAM,UAAU,GAAI,MAAK,sBAAL,IAA+B,MAAM,CAAC,MAAP,GAAgB,6BAA/C,CAAD,GAAkF,+CAArG;;AACA,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CAAE,UADL;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAAhC,GAAoC,CAApC,GAAwC,6BAA6B,GAAG,CAAxE,GAA4E,CAFjG;AAGV,wCAA8B,EAAE,8BAA8B,GAAG;AAHvD,SAAd;;AAKA,eAAO,IAAP;AACH;;AACD,UAAI,6BAA6B,GAAG,CAApC,EAAuC;AACnC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,WAAW,GAAG,YADjB;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAAhC,GAAoC,CAApC,GAAwC,6BAA6B,GAAG,CAAxE,GAA4E,CAFjG;AAGV,wCAA8B,EAAE,8BAA8B,GAAG;AAHvD,SAAd;AAKH;AACJ,KArBO;;AAuBA,qCAA2B,YAAK;AAAA,yBACoG,MAAK,KADzG;AAAA,UAC5B,8BAD4B,gBAC5B,8BAD4B;AAAA,UACI,6BADJ,gBACI,6BADJ;AAAA,UACmC,+CADnC,gBACmC,+CADnC;AAAA,UACoF,WADpF,gBACoF,WADpF;AAAA,UAE5B,KAF4B,GAElB,MAAK,KAFa,CAE5B,KAF4B;AAGpC,UAAM,YAAY,GAAG,KAAK,GAAG,EAA7B;;AAEA,UAAI,8BAA8B,KAAK,CAAvC,EAA0C;AACtC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,CADH;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAFrD;AAGV,wCAA8B,EAAE,8BAA8B,GAAG,CAAjC,GAAqC,CAArC,GAAyC,8BAA8B,GAAG,CAA1E,GAA8E;AAHpG,SAAd;;AAKA,eAAO,IAAP;AACH;;AACD,UAAI,8BAA8B,GAAG,CAArC,EAAwC;AACpC,cAAK,QAAL,CAAc;AACV,qBAAW,EAAE,WAAW,GAAG,YADjB;AAEV,uCAA6B,EAAE,6BAA6B,GAAG,CAFrD;AAGV,wCAA8B,EAAE,8BAA8B,GAAG,CAAjC,GAAqC,CAArC,GAAyC,8BAA8B,GAAG,CAA1E,GAA8E;AAHpG,SAAd;AAKH;AACJ,KApBO;;AAqBA,0BAAgB,UAAC,MAAD,EAAW;AAC/B,YAAK,QAAL,CAAc,eAAK;AAAA,eAAI,KAAK,CAAC,kBAAN,GAA2B,CAA3B,GAA+B;AAAE,4BAAkB,EAAE,KAAK,CAAC,kBAAN,GAA2B;AAAjD,SAA/B,GAAsF;AAAE,4BAAkB,EAAE,MAAM,CAAC,MAAP,GAAgB;AAAtC,SAA1F;AAAA,OAAnB;;AACA,YAAK,eAAL;AACH,KAHO;;AAIA,0BAAgB,UAAC,MAAD,EAAW;AAC/B,YAAK,QAAL,CAAc,eAAK;AAAA,eAAI,KAAK,CAAC,kBAAN,GAA2B,MAAM,CAAC,MAAP,GAAgB,CAA3C,GAA+C;AAAE,4BAAkB,EAAE,KAAK,CAAC,kBAAN,GAA2B;AAAjD,SAA/C,GAAsG;AAAE,4BAAkB,EAAE;AAAtB,SAA1G;AAAA,OAAnB;;AACA,YAAK,eAAL;AACH,KAHO;;AAIA,4BAAkB,YAAK;AAC3B,UAAI,MAAK,KAAL,CAAW,YAAX,KAA4B,CAAhC,EAAmC;AAC/B,qBAAa,CAAC,MAAK,mBAAN,CAAb;AACH;AAEJ,KALO;;AAMA,0BAAgB,UAAC,CAAD,EAAI,KAAJ,EAAqB;AACzC,YAAK,eAAL;;AACA,UAAM,OAAO,GAAG,MAAK,KAAL,CAAW,MAAX,CAAkB,MAAK,KAAL,CAAW,kBAA7B,EAAiD,KAAjD,CAAuD,SAAvD,KAAqE,aAArF,CAFyC,CAGzC;;AACA,YAAK,QAAL,CAAc;AAAE,0BAAkB,EAAE,KAAtB;AAA6B,wBAAgB,EAAE;AAA/C,OAAd;AACH,KALO;;AAOA,qCAA2B,YAAK;AACpC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AACH,KAFO;;AAGA,qCAA2B,YAAK;AACpC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;AACH,KAFO;;AA1HJ,UAAK,KAAL,GAAa;AACT,wBAAkB,EAAE,CADX;AAET,mCAA6B,EAAE,IAFtB;AAGT,oCAA8B,EAAE,IAHvB;AAIT,iBAAW,EAAE,CAJJ;AAKT,qDAA+C,EAAE,CALxC;AAMT,sBAAgB,EAAE;AANT,KAAb;AAFa;AAUhB;;;;yCAEiB;AAAA,yBACY,KAAK,KADjB;AAAA,UACN,MADM,gBACN,MADM;AAAA,UACE,KADF,gBACE,KADF;AAEd,UAAM,YAAY,GAAG,KAAK,GAAG,EAA7B;;AACA,UAAI,MAAM,CAAC,MAAP,GAAgB,CAApB,EAAuB;AACnB,aAAK,iBAAL,CAAuB,MAAvB,EAA+B,YAA/B;AACH;AACJ;;;wCAoBgB;AACb,UAAI,KAAK,KAAL,CAAW,MAAX,CAAkB,MAAlB,GAA2B,CAA/B,EAAkC;AAC9B,aAAK,gBAAL;AACH;AACJ;;;sCAIyB,M,EAAwB,K,EAAa;AAC3D,UAAM,YAAY,GAAG,MAAM,CAAC,MAA5B;AACA,UAAM,uBAAuB,GAAG,KAAK,sBAArC;AACA,UAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,uBAAnB,CAAtC;AACA,UAAM,6BAA6B,GAAG,IAAI,CAAC,KAAL,CAAY,YAAY,GAAG,uBAAhB,GAA2C,KAAtD,CAAtC;AACA,UAAM,8BAA8B,GAAG,CAAvC;AACA,UAAM,+CAA+C,GAAG,KAAK,GAAI,uBAAuB,GAAG,6BAA3F;AACA,WAAK,QAAL,CAAc;AAAE,qCAA6B,EAA7B,6BAAF;AAAiC,sCAA8B,EAA9B,8BAAjC;AAAiE,uDAA+C,EAA/C;AAAjE,OAAd;AACH;;;8CA0EyB,S,EAA4B;AAClD,UAAI,SAAS,CAAC,MAAV,CAAiB,MAAjB,GAA0B,CAA9B,EAAiC;AAC7B,aAAK,iBAAL,CAAuB,SAAS,CAAC,MAAjC,EAAyC,SAAS,CAAC,KAAnD;AACH;AACJ;;;6BAEK;AAAA;;AAAA,yBACwD,KAAK,KAD7D;AAAA,UACM,MADN,gBACM,MADN;AAAA,UACc,KADd,gBACc,KADd;AAAA,UACqB,aADrB,gBACqB,aADrB;AAAA,UACoC,eADpC,gBACoC,eADpC;AAAA,yBAE2H,KAAK,KAFhI;AAAA,UAEM,kBAFN,gBAEM,kBAFN;AAAA,UAE0B,8BAF1B,gBAE0B,8BAF1B;AAAA,UAE0D,6BAF1D,gBAE0D,6BAF1D;AAAA,UAEyF,WAFzF,gBAEyF,WAFzF;AAAA,UAEsG,gBAFtG,gBAEsG,gBAFtG;AAGF,UAAM,WAAW,GAAG,CAAC,MAAM,CAAC,kBAAD,CAAN,CAA2B,SAAhD;AACA,UAAM,WAAW,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,IAAnB,CAApB;AACA,UAAM,YAAY,GAAG,KAAK,GAAG,EAA7B;;AACA,UAAI,MAAM,CAAC,MAAP,KAAkB,CAAtB,EAAyB;AAAE,eAAO,IAAP;AAAa;;AACxC,UAAM,oBAAoB,GAAG;AAAE,cAAM,EAAE;AAAV,OAA7B;AACA,UAAM,iBAAiB,GAAG,MAAM,CAAC,kBAAD,CAAhC;AACA,UAAM,QAAQ,GAAG;AAAE,uBAAe,EAAE;AAAnB,OAAjB;AACA,aACI,kCACI;AAAK,iBAAS,EAAC;AAAf,SAEK,iBAAiB,KAAK,gBAAgB,KAAK,KAArB,IAA8B,IAAnC,CAAjB,IACG;AAAK,iBAAS,EAAC,sBAAf;AAAsC,aAAK,EAAE;AAA7C,SACK,CAAC,WAAD,GACG,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,iBAAiB,CAAC,SADX;AAEb,kBAAU,EAAE,iBAAiB,CAAC,eAFjB;AAGb,gBAAQ,EAAE,iBAAiB,CAAC;AAHf,OAAjB,EAII;AAAK,iBAAS,EAAC;AAAf,S,GAAA,EAAwB;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE,iBAAiB,CAAC;AAA5B;AAA9B,QAAxB,E,GAAA,EAA8F;AAAM,iBAAS,EAAC;AAAhB,SAA0B,gBAA1B,CAA9F,CAJJ,CADH,GAOG;AAAK,iBAAS,EAAC,OAAf;AAAuB,+BAAuB,EAAE;AAAE,gBAAM,EAAE,iBAAiB,CAAC;AAA5B;AAAhD,QARR,CAHR,EAcI;AAAK,iBAAS,EAAC,qBAAf;AAAqC,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA5C,SACI,oBAAC,2CAAD,EAAmB;AAAC,sBAAc,EAAC,OAAhB;AAAwB,8BAAsB,EAAE,GAAhD;AAAqD,uBAAe,EAAE;AAAtE,OAAnB,EACI,oBAAC,qBAAD,EAAU;AACN,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,wBAAL,EAAN;AAAA,SADT;AAEN,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,wBAAL,EAAN;AAAA,SAFT;AAGN,YAAI,EAAE,iBAAiB,CAAC,KAHlB;AAGyB,qBAAa,EAAE,aAHxC;AAGuD,WAAG,EAAE,iBAAiB,CAAC,KAAlB,CAAwB,GAHpF;AAGyF,aAAK,EAAE,KAHhG;AAGuG,cAAM,EAAE,WAH/G;AAG4H,gBAAQ,EAAE,KAAK;AAH3I,OAAV,CADJ,CADJ,CAdJ,CADJ,EA0BI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,6BAAlB;AACI,gBAAQ,EAAE,8BAA8B,KAAK,CADjD;AAEI,aAAK,EAAC,cAFV;AAGI,aAAK,EAAE,QAHX;AAGmB,sBACJ,cAJf;AAKI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,wBAAL,EAAP;AAAA;AALb,QADJ,EAOI;AAAQ,iBAAS,EAAC,4BAAlB;AACI,gBAAQ,EAAE,6BAA6B,KAAK,CADhD;AAEI,aAAK,EAAE,QAFX;AAGI,aAAK,EAAC,aAHV;AAGuB,sBACR,aAJf;AAKI,eAAO,EAAE,iBAAC,CAAD;AAAA,iBAAO,MAAI,CAAC,uBAAL,EAAP;AAAA;AALb,QAPJ,EAaI;AAAK,iBAAS,EAAC,WAAf;AAA2B,aAAK,EAAE;AAAE,eAAK,YAAK,YAAL;AAAP;AAAlC,SACI;AAAK,iBAAS,EAAC,kBAAf;AAAkC,aAAK,EAAE;AAAE,yBAAe;AAAjB;AAAzC,SACK,MAAM,CAAC,GAAP,CAAW,UAAC,IAAD,EAAO,KAAP;AAAA,eACR;AAAK,aAAG,wBAAiB,IAAI,CAAC,KAAL,CAAW,OAA5B,CAAR;AAA+C,iBAAO,EAAE,iBAAC,CAAD;AAAA,mBAAO,MAAI,CAAC,aAAL,CAAmB,CAAnB,EAAsB,KAAtB,CAAP;AAAA,WAAxD;AAA6F,mBAAS,EAAC;AAAvG,WACK,IAAI,CAAC,KAAL,CAAW,SAAX,KAAyB,aAAzB,IAA0C;AAAM,mBAAS,EAAC;AAAhB,UAD/C,EAEK,IAAI,CAAC,KAAL,CAAW,SAAX,KAAyB,aAAzB,IAA0C;AAAK,mBAAS,EAAC,iBAAf;AAAiC,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW;AAAjD,UAF/C,EAGK,IAAI,CAAC,KAAL,CAAW,SAAX,KAAyB,aAAzB,IAA0C;AAAK,mBAAS,EAAC,iBAAf;AAAiC,eAAK,EAAE,IAAI,CAAC,KAAL,CAAW,KAAnD;AAAwD,yBAAe,IAAI,CAAC,KAAL,CAAW,UAAlF;AAA8F,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW,GAA9G;AAAmH,aAAG,EAAE,IAAI,CAAC,KAAL,CAAW;AAAnI,UAH/C,EAII;AAAK,mBAAS,EAAC,WAAf;AAA2B,eAAK,EAAE,KAAK,KAAK,kBAAV,GAA+B;AAAE,sBAAU,EAAE;AAAd,WAA/B,GAAiE;AAAE,sBAAU,EAAE;AAAd;AAAnG,WAA4H,IAAI,CAAC,UAAjI,CAJJ,CADQ;AAAA,OAAX,CADL,CADJ,CAbJ,CA1BJ,CADJ;AAsDH;;;;EAvMkC,KAAK,CAAC,S;;AA4C3B,mCAAiB,mBAAjB;AA5ClB,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;;AACA;;AACA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAiBa,gB;;;;;AACT,4BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,0FAAM,KAAN;;AA4BI,mCAAyB;AAAA,aAAM,QAAQ,CAAC;AAAA,eAAM,MAAK,oBAAL,EAAN;AAAA,OAAD,EAAoC,GAApC,CAAd;AAAA,KAAzB;;AAEA,2BAAiB,UAAC,KAAD,EAAkB;AAAA,UAC/B,UAD+B,GAChB,MAAK,KADW,CAC/B,UAD+B;AAEvC,UAAI,UAAU,KAAK,KAAnB,EACI,OAAO,SAAP,CADJ,KAEK,OAAO,EAAP;AACR,KALO;;AA7BJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE;AADD,KAAb;AAFa;AAKhB;;;;2CAI2B;AACxB,UAAI,CAAC,4BAAL,EAAoB;AAChB,YAAM,SAAS,GAAG,QAAQ,CAAC,aAAT,CAAuB,eAAvB,EAAwC,qBAAxC,GAAgE,GAAlF;;AACA,YAAI,SAAS,GAAG,EAAZ,IAAkB,CAAtB,EAAyB;AACrB,eAAK,QAAL,CAAc;AAAE,oBAAQ,EAAE;AAAZ,WAAd;AACH,SAFD,MAEO;AACH,eAAK,QAAL,CAAc;AAAE,oBAAQ,EAAE;AAAZ,WAAd;AACH;AACJ;AACJ;;;wCAEgB;AACb,cAAQ,CAAC,gBAAT,CAA0B,QAA1B,EAAoC,KAAK,sBAAL,EAApC;AACA,WAAK,oBAAL;AACH;;;2CAEmB;AAChB,cAAQ,CAAC,mBAAT,CAA6B,QAA7B,EAAuC,KAAK,sBAAL,EAAvC;AACH;;;6BAWK;AAAA;;AAAA,UACM,SADN,GACoB,KAAK,KADzB,CACM,SADN;AAAA,UAEM,QAFN,GAEmB,KAAK,KAFxB,CAEM,QAFN;AAIF,aACI;AAAK,iBAAS,EAAE,UAAU,CAAC,aAAD,EAAgB;AAAE,2BAAiB;AAAnB,SAAhB,CAA1B;AAA0E,UAAE,EAAC;AAA7E,SAEI,oBAAC,8BAAD,EAAmB;AAAC,iBAAS,EAAC,WAAX;AAAuB,YAAI,EAAE;AAA7B,OAAnB,CAFJ,EAII;AAAK,iBAAS,EAAC,cAAf;AAA8B,YAAI,EAAC,YAAnC;AAA+C,sBAAY;AAA3D,SACI,gCACK,SAAS,CAAC,GAAV,CAAc,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC3B,eACI;AAAI,mBAAS,qBAAc,MAAI,CAAC,cAAL,CAAoB,IAAI,CAAC,KAAzB,CAAd,CAAb;AAA8D,aAAG,EAAE,KAAnE;AAA0E,YAAE,EAAE,IAAI,CAAC;AAAnF,WACI,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC;AAAnC,SAAjB,EACK,IAAI,CAAC,IADV,CADJ,CADJ;AAOH,OARA,CADL,CADJ,CAJJ,EAiBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAC,8BAAN;AAAqC,cAAM,EAAC,QAA5C;AAAqD,iBAAS,EAAC;AAA/D,OAAnB,CADJ,EAEI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAC,8BAAN;AAAqC,cAAM,EAAC,QAA5C;AAAqD,iBAAS,EAAC;AAA/D,OAAnB,CAFJ,EAGI,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAC,6BAAN;AAAoC,cAAM,EAAC,QAA3C;AAAoD,iBAAS,EAAC;AAA9D,OAAnB,CAHJ,CADJ,EAMI,oBAAC,8BAAD,EAAmB;AAAC,iBAAS,EAAC,UAAX;AAAsB,YAAI,EAAC;AAA3B,OAAnB,CANJ,CAjBJ,CADJ;AA4BH;;;;EAvEiC,KAAK,CAAC,S;;AAQ1B,kCAAiB,kBAAjB;AARlB,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;;IAMa,wB;;;;;AAAb;AAAA;;AAAA;;;AAEY;AAAA;AAAA;AAAA;AAAA,4BAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AACV,yBADU,GACI,MAAM,CAAC,QAAP,CAAgB,IADpB;AAEV,uBAFU,GAEE;AAAE,mBAAG,EAAE;AAAP,eAFF;AAAA;AAAA;AAAA,qBAKN,SAAS,CAAC,KAAV,CAAgB,SAAhB,CALM;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAOZ,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AAPY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAZ;AAFZ;AA+BC;;;;6BAlBS;AAAA,UACM,QADN,GACmB,KAAK,KADxB,CACM,QADN;AAGF,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,iBAAS,EAAC,aAAb;AAA2B,YAAI,EAAE;AAAjC,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,CADJ,EAMI,oBAAC,8BAAD,EAAmB;AAAC,iBAAS,EAAC,iBAAX;AAA6B,YAAI,EAAE;AAAnC,OAAnB,EACI;AAAK,iBAAS,EAAC;AAAf,QADJ,CANJ,EAUI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE,KAAK;AAAxC,QAVJ,CADJ;AAcH;;;;EA9ByC,KAAK,CAAC,S;;AAApD,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAwBa,iB;;;;;AACT,6BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,2FAAM,KAAN;;AAqBI,mCAAyB;AAAA,aAAM,QAAQ,CAAC;AAAA,eAAM,MAAK,oBAAL,EAAN;AAAA,OAAD,EAAoC,GAApC,CAAd;AAAA,KAAzB;;AAWA,0CAAgC,YAAK;AAAA,UACjC,UADiC,GAClB,MAAK,KADa,CACjC,UADiC;AAGzC,UAAM,eAAe,GAAG,QAAQ,CAAC,cAAT,oBAAoC,UAApC,EAAxB;AACA,qBAAe,IAAI,eAAe,CAAC,cAAhB,CAA+B;AAAE,gBAAQ,EAAE,QAAZ;AAAsB,aAAK,EAAE,KAA7B;AAAoC,cAAM,EAAE;AAA5C,OAA/B,CAAnB;AACH,KALO;;AAOA,2BAAiB,UAAC,KAAD,EAAkB;AAAA,UAC/B,UAD+B,GAChB,MAAK,KADW,CAC/B,UAD+B;AAEvC,UAAI,UAAU,KAAK,KAAnB,EACI,OAAO,SAAP,CADJ,KAEK,OAAO,EAAP;AACR,KALO;;AAOA,6BAAmB,YAAK;AAC5B,YAAK,QAAL,CAAc,eAAK;AAAA,eAAK;AAAE,sBAAY,EAAE,CAAC,KAAK,CAAC;AAAvB,SAAL;AAAA,OAAnB,EAAgE,YAAK;AACjE,YAAI,MAAK,KAAL,CAAW,YAAf,EAA6B;AACzB,gBAAK,QAAL,CAAc;AAAE,6BAAiB,EAAE,QAAQ,CAAC,aAAT,CAAuB,MAAvB,EAA+B,KAA/B,CAAqC;AAA1D,WAAd;;AACA,kBAAQ,CAAC,aAAT,CAAuB,MAAvB,EAA+B,KAA/B,CAAqC,QAArC,GAAgD,QAAhD;AACA,kBAAQ,CAAC,IAAT,CAAc,SAAd,CAAwB,GAAxB,CAA4B,YAA5B;AACH,SAJD,MAIO;AACH,gBAAK,QAAL,CAAc;AAAE,0BAAc,EAAE;AAAlB,WAAd;;AACA,kBAAQ,CAAC,aAAT,CAAuB,MAAvB,EAA+B,KAA/B,CAAqC,QAArC,GAAgD,MAAK,KAAL,CAAW,iBAA3D;AACA,kBAAQ,CAAC,IAAT,CAAc,SAAd,CAAwB,MAAxB,CAA+B,YAA/B;AACH;AACJ,OAVD;AAWH,KAZO;;AAcA,2BAAiB,YAAK;AAC1B,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,CAAC,MAAK,KAAL,CAAW;AAA9B,OAAd;AACH,KAFO;;AAIA,6BAAmB,UAAC,CAAD,EAAM;AAC7B,YAAK,QAAL,CAAc;AAAE,iBAAS,EAAE,CAAC,CAAC,MAAF,CAAS;AAAtB,OAAd;AACH,KAFO;;AAIA,mBAAS,YAAK;AAAA,UACC,cADD,GACoB,MAAK,KADzB,CACV,SADU;;AAGlB,UAAI,CAAC,cAAL,EAAqB;AAAE;AAAQ;;AAE/B,UAAI,OAAO,GAAG,wCAAd;AACA,UAAI,SAAS,GAAG,cAAhB;AACA,UAAI,IAAI,yCAAkC,cAAlC,CAAR;AACA,UAAI,OAAO,GAAG,OAAO,GAAG,SAAV,GAAsB,IAApC;AAEA,YAAM,CAAC,IAAP,CAAY,OAAZ,EAAqB,QAArB;AACH,KAXO;;AAaA,gCAAsB,UAAC,GAAD,EAA6B;AACvD,UAAI,GAAG,CAAC,GAAJ,KAAY,OAAhB,EAAyB;AACrB,cAAK,MAAL;AACH;AACJ,KAJO;;AAhFJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,KADD;AAET,kBAAY,EAAE,KAFL;AAGT,oBAAc,EAAE,KAHP;AAIT,eAAS,EAAE,EAJF;AAKT,uBAAiB,EAAE;AALV,KAAb;AAFa;AAShB;;;;2CAI2B;AACxB,UAAM,SAAS,GAAG,QAAQ,CAAC,aAAT,CAAuB,eAAvB,EAAwC,qBAAxC,GAAgE,GAAlF;;AACA,UAAI,SAAS,GAAG,CAAhB,EAAmB;AACf,aAAK,QAAL,CAAc;AAAE,kBAAQ,EAAE;AAAZ,SAAd;AACH,OAFD,MAEO;AACH,aAAK,QAAL,CAAc;AAAE,kBAAQ,EAAE;AAAZ,SAAd;AACH;AACJ;;;wCAIuB;AACpB,cAAQ,CAAC,gBAAT,CAA0B,QAA1B,EAAoC,KAAK,sBAAL,EAApC;;AACA,UAAI,CAAC,KAAK,KAAL,CAAW,aAAZ,IAA6B,CAAC,4BAAlC,EAAiD;AAAE,aAAK,6BAAL;AAAsC;AAC5F;;;2CAEmB;AAChB,cAAQ,CAAC,gBAAT,CAA0B,QAA1B,EAAoC,KAAK,sBAAL,EAApC;AACH;;;6BAyDK;AAAA;;AAAA,wBACmC,KAAK,KADxC;AAAA,UACM,SADN,eACM,SADN;AAAA,UACiB,aADjB,eACiB,aADjB;AAAA,wBAE4D,KAAK,KAFjE;AAAA,UAEM,QAFN,eAEM,QAFN;AAAA,UAEgB,YAFhB,eAEgB,YAFhB;AAAA,UAE8B,cAF9B,eAE8B,cAF9B;AAAA,UAE8C,SAF9C,eAE8C,SAF9C;AAGF,UAAM,QAAQ,GAAG,gDAAjB;;AAEA,UAAI,aAAJ,EAAmB;AACf,eAAO,oBAAC,mDAAD,EAAyB;AAAC,kBAAQ,EAAE;AAAX,SAAzB,CAAP;AACH,OAFD,MAGK;AACD,eACI;AAAK,mBAAS,EAAE,UAAU,CAAC,mBAAD,EAAsB;AAAE,6BAAiB,QAAQ,IAAI,CAAC,YAAhC;AAA8C,6BAAiB;AAA/D,WAAtB,CAA1B;AAAgI,YAAE,EAAC;AAAnI,WAEI;AAAK,mBAAS,EAAC;AAAf,WACI,oBAAC,8BAAD,EAAmB;AAAC,mBAAS,EAAC,WAAX;AAAuB,cAAI,EAAE;AAA7B,SAAnB,CADJ,CAFJ,EAMI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAE,UAAU,CAAC,cAAD,EAAiB;AAAE,+BAAmB;AAArB,WAAjB,CAA1B;AAAiF,cAAI,EAAC,YAAtF;AAAkG,wBAAY;AAA9G,WACI,gCACK,SAAS,CAAC,GAAV,CAAc,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC3B,iBACI;AAAI,qBAAS,qBAAc,MAAI,CAAC,cAAL,CAAoB,IAAI,CAAC,KAAzB,CAAd,CAAb;AAA8D,eAAG,EAAE,KAAnE;AAA0E,cAAE,qBAAc,IAAI,CAAC,KAAnB;AAA5E,aACI,oBAAC,4BAAD,EAAiB;AAAC,gBAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,sBAAU,EAAE,IAAI,CAAC;AAAnC,WAAjB,EACK,IAAI,CAAC,IADV,CADJ,CADJ;AAOH,SARA,CADL,CADJ,CADJ,EAeI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAE,UAAU,CAAC,UAAD,EAAa;AAAE,0BAAc;AAAhB,WAAb,CAA1B;AAAwE,iBAAO,EAAE,KAAK;AAAtF,UADJ,CAfJ,CANJ,EA0BI;AAAK,mBAAS,EAAE,UAAU,CAAC,mBAAD,EAAsB;AAAE,2BAAe;AAAjB,WAAtB;AAA1B,WAEI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAE,UAAU,CAAC,qBAAD,EAAwB;AAAE,mCAAuB;AAAzB,WAAxB,CAA1B;AAA8F,iBAAO,EAAE,KAAK;AAA5G,UADJ,EAEI;AACI,cAAI,EAAC,MADT;AAEI,aAAG,EAAC,KAFR;AAGI,qBAAW,EAAC,gCAHhB;AAII,kBAAQ,EAAE,KAAK,gBAJnB;AAKI,mBAAS,EAAE,UAAU,CAAC,cAAD,EAAiB;AAAE,+BAAmB;AAArB,WAAjB,CALzB;AAMI,oBAAU,EAAE,KAAK;AANrB,UAFJ,EAWI,oBAAC,8BAAD,EAAmB;AACf,cAAI,yEAAkE,SAAlE,CADW;AAEf,gBAAM,EAAC,QAFQ;AAGf,mBAAS,EAAE,UAAU,CAAC,YAAD,EAAe;AAAE,+BAAmB;AAArB,WAAf;AAHN,SAAnB,CAXJ,CAFJ,EAoBI;AAAK,mBAAS,EAAC;AAAf,WACI,gCACK,SAAS,CAAC,GAAV,CAAc,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC3B,iBACI;AAAI,qBAAS,qBAAc,MAAI,CAAC,cAAL,CAAoB,IAAI,CAAC,KAAzB,CAAd,CAAb;AAA8D,eAAG,EAAE,KAAnE;AAA0E,cAAE,qBAAc,IAAI,CAAC,KAAnB;AAA5E,aACI,oBAAC,4BAAD,EAAiB;AAAC,gBAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,sBAAU,EAAE,IAAI,CAAC;AAAnC,WAAjB,EACK,IAAI,CAAC,IADV,CADJ,CADJ;AAOH,SARA,CADL,CADJ,EAaI;AAAK,mBAAS,EAAC;AAAf,WACI,oBAAC,8BAAD,EAAmB;AAAC,mBAAS,EAAC,gBAAX;AAA4B,cAAI,EAAC;AAAjC,SAAnB,CADJ,CAbJ,CApBJ,EAsCI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC;AAAf,UADJ,EAEI;AAAK,mBAAS,EAAC;AAAf,WACI,oBAAC,8BAAD,EAAmB;AAAC,cAAI,EAAC,8BAAN;AAAqC,gBAAM,EAAC,QAA5C;AAAqD,mBAAS,EAAC;AAA/D,SAAnB,CADJ,EAEI,oBAAC,8BAAD,EAAmB;AAAC,cAAI,EAAC,8BAAN;AAAqC,gBAAM,EAAC,QAA5C;AAAqD,mBAAS,EAAC;AAA/D,SAAnB,CAFJ,EAGI,oBAAC,8BAAD,EAAmB;AAAC,cAAI,EAAC,6BAAN;AAAoC,gBAAM,EAAC,QAA3C;AAAoD,mBAAS,EAAC;AAA9D,SAAnB,CAHJ,CAFJ,CAtCJ,CA1BJ,CADJ;AA6EH;AACJ;;;;EAhLkC,KAAK,CAAC,S;;AAY3B,mCAAiB,mBAAjB;AAZlB,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IChCa,M;;;;;;;;;;;;;6BACI;AACT,aACI;AAAK,UAAE,EAAC;AAAR,SACI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QADJ,EAEI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QAFJ,EAGI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QAHJ,EAII;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QAJJ,EAKI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QALJ,EAMI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QANJ,EAOI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QAPJ,EAQI;AAAK,UAAE,EAAC,aAAR;AAAsB,iBAAS,EAAC;AAAhC,QARJ,CADJ;AAYH;;;;EAduB,KAAK,CAAC,S;;AAAlC,wB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACCA;;AACA;;AACA;;AACA;;AAEA,IAAM,mBAAmB,GAAG,GAA5B;;IAmBa,2B;;;;;AAGT,uCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,qGAAM,KAAN;;AASI,2BAAiB,UAAC,WAAD,EAAoC;AAAA,wBAChB,MAAK,KADW;AAAA,UACrC,MADqC,eACjD,UADiD;AAAA,UAC7B,QAD6B,eAC7B,QAD6B;AAEzD,UAAM,UAAU,GAAG,CAAC,MAAD,IACf,WADe,IAEf,EAAE,QAAQ,CAAC,MAAT,GAAkB,MAAK,KAAL,CAAW,aAA/B,CAFe,IAGf,QAAQ,CAAC,MAAT,GAAkB,mBAHtB;;AAKA,YAAK,QAAL,CAAc;AAAE,kBAAU,EAAV;AAAF,OAAd;AACH,KARO;;AAUA,wBAAc,YAAK;AAAA,UACf,YADe,GACE,MAAK,KADP,CACf,YADe;AAAA,yBAEU,MAAK,KAFf;AAAA,UAEf,UAFe,gBAEf,UAFe;AAAA,UAEH,QAFG,gBAEH,QAFG;AAGvB,UAAM,aAAa,GAAG,KAAK,CAAC,MAAN,CAAa,wDAAb,CAAtB;;AACA,YAAK,QAAL,CAAc;AAAE,kBAAU,EAAE,IAAd;AAAoB,kBAAU,EAAE;AAAhC,OAAd;;AAEA,mBAAa,CAAC,GAAd,yCAAmD,YAAnD,yBAA8E,UAA9E,GACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,YAAM,WAAW,GAAG,GAAG,CAAC,IAAJ,CAAS,IAA7B;;AAEA,cAAK,QAAL,CACI;AACI,kBAAQ,+BAAM,QAAN,sBAAmB,WAAnB,EADZ;AAEI,oBAAU,EAAE,UAAU,GAAG,CAF7B;AAGI,oBAAU,EAAE;AAHhB,SADJ;;AAOA,YAAI,OAAQ,MAAR,KAAoB,WAAxB,EAAqC;AACjC,gBAAM,CAAC,SAAP,IAAoB,MAAM,CAAC,SAAP,EAApB;AACH;;AACD,cAAK,cAAL,CAAoB,WAApB;AACH,OAfL,EAgBK,KAhBL,CAgBW,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,6BAAd,EAA6C,GAA7C,CAAJ;AAAA,OAhBd;AAiBH,KAvBO;;AAlBJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,EADD;AAET,gBAAU,EAAE,CAFH;AAGT,gBAAU,EAAE,KAHH;AAIT,gBAAU,EAAE;AAJH,KAAb;AAFa;AAQhB;;;;6BAqCY;AAAA;;AAAA,wBACwD,KAAK,KAD7D;AAAA,UACD,MADC,eACD,MADC;AAAA,UACO,iBADP,eACO,iBADP;AAAA,UAC0B,WAD1B,eAC0B,WAD1B;AAAA,UACuC,YADvC,eACuC,YADvC;AAAA,yBAE4C,KAAK,KAFjD;AAAA,UAED,QAFC,gBAED,QAFC;AAAA,UAEqB,MAFrB,gBAES,UAFT;AAAA,UAE6B,UAF7B,gBAE6B,UAF7B;AAKT,aACI;AAAK,iBAAS,EAAE;AAAhB,SACI,oBAAC,qCAAD,EAAkB;AAAC,cAAM,EAAE,MAAT;AAAiB,oBAAY,EAAE,YAA/B;AAA6C,yBAAiB,EAAE,iBAAhE;AAAmF,cAAM,EAAE,MAA3F;AAAmG,gBAAQ,EAAE,QAA7G;AAAuH,mBAAW,EAAE;AAApI,OAAlB,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACK,MAAM,IAAI,oBAAC,eAAD,EAAO,IAAP,CADf,EAEK,UAAU,IAAI;AAAK,iBAAS,EAAE,wBAAhB;AAA0C,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,WAAL,EAAN;AAAA;AAAnD,SACX;AAAK,iBAAS,EAAC;AAAf,QADW,EAGL,0CAHK,CAFnB,CAFJ,CADJ;AAYH;;;;EAjE4C,KAAK,CAAC,S;;AACrC,6CAAiB,6BAAjB;AADlB,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AASA,IAAa,qBAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,6BAGiB;AAAA,wBAC2C,KAAK,KADhD;AAAA,UACD,OADC,eACD,OADC;AAAA,UACQ,iBADR,eACQ,iBADR;AAAA,UAC2B,WAD3B,eAC2B,WAD3B;AAAA,UAED,KAFC,GAE+I,OAF/I,CAED,KAFC;AAAA,UAEM,QAFN,GAE+I,OAF/I,CAEM,QAFN;AAAA,UAEgB,MAFhB,GAE+I,OAF/I,CAEgB,MAFhB;AAAA,UAEwB,qBAFxB,GAE+I,OAF/I,CAEwB,qBAFxB;AAAA,UAE+C,SAF/C,GAE+I,OAF/I,CAE+C,SAF/C;AAAA,UAE0D,IAF1D,GAE+I,OAF/I,CAE0D,IAF1D;AAAA,UAEgE,QAFhE,GAE+I,OAF/I,CAEgE,QAFhE;AAAA,UAE0E,QAF1E,GAE+I,OAF/I,CAE0E,QAF1E;AAAA,UAEoF,iBAFpF,GAE+I,OAF/I,CAEoF,iBAFpF;AAAA,UAEuG,gBAFvG,GAE+I,OAF/I,CAEuG,gBAFvG;AAAA,UAEyH,iBAFzH,GAE+I,OAF/I,CAEyH,iBAFzH;AAIT,UAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAT,GAAyB,QAAQ,CAAC,aAAlC,GAAkD,SAA5E;AAEA,aACI;AAAK,iBAAS,EAAE,UAAU,CAAC,UAAD,EAAa,UAAb,EAAyB;AAAE,uBAAa,QAAQ,CAAC,MAAT,KAAoB,CAApB,IAAyB,KAAK,CAAC,MAAN,KAAiB;AAAzD,SAAzB;AAA1B,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,WAAf;AAA2B,aAAK,EAAE;AAAE,yBAAe,EAAE;AAAnB;AAAlC,QADJ,EAEI;AAAK,iBAAS,EAAC,MAAf;AAAsB,aAAK,EAAE;AAAE,yBAAe,EAAE;AAAnB;AAA7B,QAFJ,EAGI;AAAK,iBAAS,EAAC,UAAf;AAA0B,aAAK,EAAE;AAAE,yBAAe,EAAE;AAAnB;AAAjC,QAHJ,CADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,YAAI,EAAE,IAAT;AAAe,cAAM,EAAC;AAAtB,SACK,KADL,CADJ,CANJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,gBAAgB,IACb;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE;AAAN,OAAhB,CADJ,CAFR,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,MADL,CADJ,EAII;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,yBAAD,EAAY;AAAC,YAAI,EAAE;AAAP,OAAZ,CADJ,CAJJ,CANJ,CADJ,EAgBI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qCAAD,EAAkB,IAAlB,EACI,oBAAC,+BAAD,EAAe;AAAC,WAAG,EAAE,IAAN;AAAY,aAAK,EAAE,KAAnB;AAA0B,mBAAW,EAAE;AAAvC,OAAf,CADJ,CADJ,CAhBJ,CAXJ,CADJ,EAmCI;AAAK,iBAAS,EAAC;AAAf,SACK,iBAAiB,IACd,oBAAC,kCAAD,EAAc;AAAC,gBAAQ,EAAE,QAAX;AAAqB,sBAAc,EAAE,QAAQ,CAAC,aAA9C;AAA6D,UAAE,0BAAmB,SAAnB;AAA/D,OAAd,CAFR,EAGI,oBAAC,kCAAD,EAAoB;AAChB,yBAAiB,EAAE,iBADH;AAEhB,yBAAiB,EAAE,iBAFH;AAGhB,iBAAS,EAAC;AAHM,OAApB,CAHJ,EAQI;AAAG,YAAI,EAAE;AAAT,SACI;AACI,WAAG,EAAE,OAAO,CAAC,WAAR,CAAoB,qBAApB,EAA2C;AAAE,mBAAS,EAAE,uBAAU;AAAvB,SAA3C,CADT;AAEI,aAAK,EAAE,MAFX;AAGI,cAAM,EAAE,MAHZ;AAII,WAAG,EAAE,yBAAU,qBAAV,CAJT;AAKI,aAAK,EAAE,2BAAY,qBAAZ,CALX;AAK6C,uBAC5B,4BAAa,qBAAb;AANjB,QADJ,CARJ,EAkBI,oBAAC,iCAAD,EAAgB;AAAC,cAAM,EAAE,SAAT;AAAoB,YAAI,EAAE,OAA1B;AAAmC,qBAAa,EAAC,KAAjD;AAAuD,qBAAa,EAAE;AAAtE,OAAhB,CAlBJ,CAnCJ,CADJ;AA0DH;AAnEL;;AAAA;AAAA,EAA2C,KAAK,CAAC,SAAjD;;AACW,qCAAe;AAAE,mBAAiB,EAAE;AAArB,CAAf;AADE,qBAAqB,eADjC,2DACiC,GAArB,qBAAqB,CAArB;AAAA,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBb;;IAUa,iB;;;;;;;;;;;;;6BACI;AAAA;;AAAA,UACD,QADC,GACY,KAAK,KADjB,CACD,QADC;AAET,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,CAAP;AAAA,eACV,oBAAC,6CAAD,EAAsB;AAClB,aAAG,EAAE,CADa;AAElB,iBAAO,EAAE;AAFS,WAGd,KAAI,CAAC,KAHS,CAAtB,CADU;AAAA,OAAb,CADL,CADJ;AAUH;;;;EAbkC,KAAK,CAAC,S;;AAA7C,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXA;;AACA;;AAGA;;AAEA;;AAEA,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IA4Ba,iB;;;;;;;;;;;;;6BAEI;AAAA,wBACkE,KAAK,KADvE;AAAA,UACD,MADC,eACD,MADC;AAAA,UACO,QADP,eACO,QADP;AAAA,UACiB,iBADjB,eACiB,iBADjB;AAAA,UACoC,WADpC,eACoC,WADpC;AAAA,UACiD,YADjD,eACiD,YADjD;AAET,UAAI,QAAQ,GAA4B,EAAxC;;AAEA,UAAI,MAAM,CAAC,IAAP,CAAY,QAAZ,EAAsB,MAAtB,GAA+B,CAAnC,EAAsC;AAClC,gBAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAD,EAAW,UAAC,OAAD;AAAA,iBAC3B;AACG,qBAAS,EAAE,OAAO,CAAC,SADtB;AAEG,kBAAM,EAAE,OAAO,CAAC,MAFnB;AAGG,kBAAM,EAAE,OAAO,CAAC,qBAAR,GAAgC,OAAO,CAAC,qBAAR,CAA8B,MAA9D,GAAuE,IAHlF;AAIG,wBAAY,EAAE,OAAO,CAAC,QAAR,CAAiB,UAJlC;AAKG,iBAAK,EAAE,OAAO,CAAC,KALlB;AAMG,oBAAQ,EAAE,OAAO,CAAC,QANrB;AAOG,gBAAI,EAAE,OAAO,CAAC,aAPjB;AAQG,iCAAqB,EAAE,OAAO,CAAC,qBARlC;AASG,oBAAQ,EAAE,OAAO,CAAC,QATrB;AAUG,yBAAa,EAAE,OAAO,CAAC,aAV1B;AAWG,6BAAiB,EAAE,OAAO,CAAC,iBAX9B;AAYG,oBAAQ,EAAE,OAAO,CAAC,QAZrB;AAaG,6BAAiB,EAAE,OAAO,CAAC,iBAb9B;AAcG,4BAAgB,EAAE,+BAAa,YAAb,EAA2B,OAAO,CAAC,gBAAnC;AAdrB,WAD2B;AAAA,SAAX,CAAJ,CAAjB;AAkBH;;AAED,aACI,oBAAC,qCAAD,EAAkB;AACd,kBAAU,EAAE,QAAQ,CAAC,MADP;AAEd,gBAAQ,EAAE,QAFI;AAGd,cAAM,EAAE,MAHM;AAId,yBAAiB,EAAE,iBAJL;AAKd,mBAAW,EAAE;AALC,OAAlB,CADJ;AASH;;;;EApCkC,KAAK,CAAC,S;;AAA7C,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrCA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;IAQa,c;;;;;AAAb;AAAA;;AAAA;;;AAGY;AAAA;AAAA;AAAA;AAAA,4BAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AACV,uBADU,GACE;AAAE,mBAAG,EAAE,MAAK,KAAL,CAAW,GAAlB;AAAuB,qBAAK,EAAE,MAAK,KAAL,CAAW;AAAzC,eADF;AAAA;AAAA;AAAA,qBAIN,SAAS,CAAC,KAAV,CAAgB,SAAhB,CAJM;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAMZ,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AANY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAZ;AAHZ;AAkCC;;;;6BArBS;AAAA,wBACkC,KAAK,KADvC;AAAA,UACM,GADN,eACM,GADN;AAAA,UACW,KADX,eACW,KADX;AAAA,UACkB,WADlB,eACkB,WADlB;AAEF,UAAI,oBAAoB,GAAG,IAA3B;;AACA,UAAI,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAM,CAAC,QAAP,CAAgB,IAAhB,CAAqB,OAArB,CAA6B,OAA7B,KAAyC,CAAC,CAA/E,EAAkF;AAC9E,4BAAoB,GAAG,KAAvB;AACH;;AAED,aACI,iCACK,WAAW,GACR;AAAK,iBAAS,YAAK,oBAAoB,GAAG,gBAAH,GAAsB,oBAA/C,CAAd;AAAqF,eAAO,EAAE,KAAK;AAAnG,QADQ,GAGR;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,qBAAf;AAAqC,eAAO,EAAE;AAAA,iBAAM,iCAAkB,GAAlB,EAAuB;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,SAA9B,EAAyC,KAAzC,CAAN;AAAA,WAAvB,EAA8E,aAA9E,CAAN;AAAA;AAA9C,QADJ,EAEI;AAAK,iBAAS,EAAC,oBAAf;AAAoC,eAAO,EAAE;AAAA,iBAAM,gCAAiB,GAAjB,EAAsB;AAAA,mBAAM,iCAAkB,SAAlB,EAA6B,SAA7B,EAAwC,KAAxC,CAAN;AAAA,WAAtB,EAA4E,oBAA5E,CAAN;AAAA;AAA7C,QAFJ,EAGI;AAAK,iBAAS,EAAC,qBAAf;AAAqC,eAAO,EAAE;AAAA,iBAAM,iCAAkB,GAAlB,EAAuB,KAAvB,EAA8B;AAAA,mBAAM,iCAAkB,UAAlB,EAA8B,SAA9B,EAAyC,KAAzC,CAAN;AAAA,WAA9B,EAAqF,oBAArF,CAAN;AAAA;AAA9C,QAHJ,EAII;AAAK,iBAAS,EAAC,kBAAf;AAAkC,eAAO,EAAE;AAAA,iBAAM,6BAAc,KAAd,EAAqB,WAArB,EAAkC,GAAlC,EAAuC;AAAA,mBAAM,iCAAkB,MAAlB,EAA0B,SAA1B,EAAqC,KAArC,CAAN;AAAA,WAAvC,EAA0F,oBAA1F,CAAN;AAAA;AAA3C,QAJJ,CAJR,CADJ;AAaH;;;;EAjC+B,KAAK,CAAC,S;;AACxB,gCAAiB,gBAAjB;AADlB,wC;;;;;;;;;;;;;;;ACTA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AACA;;AACA;;AAea,6BAAqB,UAAC,KAAD,EAAmC;AAAA,MACzD,KADyD,GACsC,KADtC,CACzD,KADyD;AAAA,MAClD,QADkD,GACsC,KADtC,CAClD,QADkD;AAAA,MACxC,UADwC,GACsC,KADtC,CACxC,UADwC;AAAA,MAC5B,QAD4B,GACsC,KADtC,CAC5B,QAD4B;AAAA,MAClB,eADkB,GACsC,KADtC,CAClB,eADkB;AAAA,MACD,QADC,GACsC,KADtC,CACD,QADC;AAAA,MACS,WADT,GACsC,KADtC,CACS,WADT;AAAA,MACsB,WADtB,GACsC,KADtC,CACsB,WADtB;AAEjE,MAAM,eAAe,GAAG,+BAAa,eAAb,CAAxB;AACA,MAAM,2BAA2B,GAAG;AAAE,SAAK,EAAE,KAAT;AAAgB,UAAM,EAAE,MAAxB;AAAgC,SAAK,EAAE;AAAvC,GAApC;AACA,MAAM,cAAc,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,QAAQ,CAAC,aAAT,CAAuB,eAAvB,MAA4C,IAApG;AACA,MAAM,eAAe,GAAG,cAAc,GAAG,MAAH,GAAY,EAAlD;AACA,MAAM,UAAU,GAAG,cAAc,GAAG,WAAH,GAAiB,EAAlD;AACA,MAAM,kBAAkB,GAAG,cAAc,GAAG,MAAH,GAAY,EAArD;AAEA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC,eAAf;AAA+B,SAAK,EAAE;AAAE,qBAAe,gBAAS,QAAT;AAAjB;AAAtC,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC,4BAAf;AAA4C,SAAK,EAAE;AAAE,qBAAe,gBAAS,QAAT;AAAjB;AAAnD,IADJ,CAFJ,EAKI;AAAK,aAAS,EAAC;AAAf,KAEI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAuC,QAAvC,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAAoC,KAApC,CAFJ,EAGI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAAuC,eAAvC,CAFJ,CAHJ,CAFJ,EAWI;AAAK,aAAS,EAAC;AAAf,KACI,oBAAC,mCAAD,EAAc;AACV,YAAQ,EAAE,QADA;AAEV,SAAK,EAAE,KAFG;AAGV,eAAW,EAAE,WAHH;AAIV,aAAS,EAAC,mBAJA;AAKV,mBAAe,EAAE,eALP;AAMV,+BAA2B,EAAE,2BANnB;AAOV,eAAW,EAAE,WAPH;AAQV,eAAW,EAAE,KAAK,CAAC,WART;AASV,mBAAe,EAAE,eATP;AAUV,cAAU,EAAE,UAVF;AAWV,sBAAkB,EAAE;AAXV,GAAd,CADJ,CAXJ,CALJ,CADJ,EAmCK,CAAC,4BAAD,IAAkB,oBAAC,mCAAD,EAAiB;AAAC,cAAU,EAAE;AAAb,GAAjB,CAnCvB,CADJ;AAuCH,CAhDY;;AAiDb,2BAAmB,cAAnB,GAAoC,oBAApC,C;;;;;;;;;;;;;;;ACpEA,mBAAO,CAAC,mCAAD,CAAP;;AAgBa,2BAAmB,UAAC,KAAD,EAAiC;AAAA,MACrD,UADqD,GACtC,KADsC,CACrD,UADqD;AAE7D,MAAM,sBAAsB,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAM,CAAC,sBAAvE;AACA,MAAM,kBAAkB,GAAG,sBAAsB,IAAI,sBAAsB,CAAC,UAAD,CAAhD,GAA+D,sBAAsB,CAAC,UAAD,CAArF,GAAyH,IAApJ;AAEA,SACI;AAAK,aAAS,EAAC,oBAAf;AAAoC,SAAK,EAAE,CAAC,kBAAD,GAAsB;AAAE,aAAO,EAAE;AAAX,KAAtB,GAA4C;AAAvF,KACI;AAAK,aAAS,EAAC;AAAf,KAA6C,8FAA7C,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KACI;AAAG,aAAS,EAAC,uCAAb;AAAqD,QAAI,EAAE,kBAAkB,GAAG,kBAAkB,CAAC,OAAtB,GAAgC,EAA7G;AAAiH,UAAM,EAAC;AAAxH,IADJ,EAEI;AAAG,aAAS,EAAC,8CAAb;AAA4D,QAAI,EAAE,kBAAkB,GAAG,kBAAkB,CAAC,KAAtB,GAA8B,EAAlH;AAAsH,UAAM,EAAC;AAA7H,IAFJ,EAGK,kBAAkB,IAAI,kBAAkB,CAAC,OAAzC,GACF;AAAG,aAAS,EAAC,gDAAb;AAA8D,QAAI,EAAE,kBAAkB,CAAC,OAAvF;AAAgG,UAAM,EAAC;AAAvG,IADE,GAEA;AAAG,aAAS,EAAC,gDAAb;AAA8D,SAAK,EAAE;AAAC,YAAM,EAAC;AAAR;AAArE,IALL,CAFJ,CADJ;AAYH,CAjBY;;AAmBb,yBAAiB,cAAjB,GAAkC,kBAAlC,C;;;;;;;;;;;;;;;ACnCA;;AACA;;AACA;;AASA,SAAgB,oBAAhB,CAAqC,KAArC,EAAqE;AAAA,MACzD,IADyD,GAClB,KADkB,CACzD,IADyD;AAAA,MACnD,eADmD,GAClB,KADkB,CACnD,eADmD;AAAA,MAClC,WADkC,GAClB,KADkB,CAClC,WADkC;AAEjE,MAAM,WAAW,oIAAwC,IAAxC,CAAjB;AACA,MAAM,oBAAoB,GAAG,uBAA7B;AAEA,SACI,0CACK,WAAW,GACR,oBAAC,iCAAD,EAAgB,kBACR,KADQ,EACH;AACT,mBAAe,EAAE,eADR;AAET,YAAQ,EAAE,kBAAC,KAAD;AAAA,aAAgC,oBAAC,uBAAD,EAAwB,kBAAK,KAAL,CAAxB,CAAhC;AAAA,KAFD;AAGT,0BAAsB,EAAE,gCAAC,KAAD;AAAA,aAAY,oBAAC,uDAAD,EAA2B,kBAAK,KAAL,EAAU;AAAE,aAAK,EAAE;AAAT,OAAV,CAA3B,CAAZ;AAAA;AAHf,GADG,CAAhB,CADQ,GAQR,oBAAC,iCAAD,EAAgB,kBACR,KADQ,EACH;AACT,mBAAe,EAAE,eADR;AAET,YAAQ,EAAE,kBAAC,KAAD;AAAA,aAAgC,oBAAC,cAAD,EAAe,kBAAK,KAAL,EAAU;AAAE,YAAI,EAAE;AAAR,OAAV,CAAf,CAAhC;AAAA,KAFD;AAGT,0BAAsB,EAAE,gCAAC,KAAD;AAAA,aAAY,oBAAC,qCAAD,EAAkB,kBAAK,KAAL,EAAU;AAAE,aAAK,EAAE,WAAT;AAAsB,mBAAW,EAAE;AAAnC,OAAV,CAAlB,CAAZ;AAAA;AAHf,GADG,CAAhB,CATR,CADJ;AAmBH;;AAxBD;AA0BA,oBAAoB,CAAC,cAArB,GAAsC,sBAAtC;;AAEA,SAAS,cAAT,OAA2G;AAAA,MAAjF,IAAiF,QAAjF,IAAiF;AAAA,MAA3E,cAA2E,QAA3E,cAA2E;AAAA,MAA3D,iBAA2D,QAA3D,iBAA2D;AACvG,SACI;AAAK,WAAO,EAAE,iBAAd;AAAiC,aAAS,EAAC;AAA3C,KACI;AAAK,aAAS,EAAC;AAAf,K,+FAAA,EAA6C,IAA7C,CADJ,EAEI;AAAK,aAAS,yCAAkC,cAAc,GAAG,OAAH,GAAa,EAA7D;AAAd,IAFJ,CADJ;AAMH;;AAED,SAAS,uBAAT,QAA2F;AAAA,MAAxD,cAAwD,SAAxD,cAAwD;AAAA,MAAxC,iBAAwC,SAAxC,iBAAwC;AACvF,SACI;AAAK,aAAS,EAAC,gCAAf;AAAgD,WAAO,EAAE;AAAzD,KACI;AAAK,WAAO,EAAE,iBAAd;AAAiC,aAAS,EAAC;AAA3C,KACI;AAAK,aAAS,EAAC;AAAf,KAAyB,iKAAzB,CADJ,EAEI;AAAK,aAAS,wCAAiC,cAAc,GAAG,OAAH,GAAa,EAA5D;AAAd,IAFJ,CADJ,CADJ;AAQH;;AAEY,4BAAoB,YAAK;AAClC,QAAM,CAAC,SAAP,GAAmB,MAAM,CAAC,SAAP,IAAoB,EAAvC;AACA,QAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,SAAK,EAAE,WADW;AAElB,YAAQ,EAAE,gBAFQ;AAGlB,UAAM,EAAE,oCAHU;AAIlB,SAAK,EAAE;AAJW,GAAtB;AAMH,CARY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3Db;;IAQa,c;;;;;AAAb;AAAA;;AAAA;;;;AAEY,8BAAoB,UAAC,CAAD,EAAM;AAC9B,YAAK,KAAL,CAAW,QAAX,CAAoB,MAAM,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,CAA1B;AACH,KAFO;;AAFZ;AAmCC;;;;6BA7BS;AAAA,wBACqC,KAAK,KAD1C;AAAA,UACM,UADN,eACM,UADN;AAAA,UACkB,cADlB,eACkB,cADlB;AAEF,UAAM,UAAU,GAAG,CAAC,cAAc,GAAG,CAAlB,IAAuB,GAAvB,IAA8B,UAAU,GAAG,CAA3C,CAAnB;AACA,UAAM,eAAe,4CAAqC,UAArC,wBAA6D,UAA7D,OAArB;AAEA,aACI,0CACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,gCAAlB;AAAkD,sBAAY,YAA9D;AAA2E,gBAAQ,EAAE;AAArF,QADJ,EAEI;AAAQ,iBAAS,EAAC,mCAAlB;AAAqD,sBAAY,oBAAjE;AAAsF,gBAAQ,EAAE;AAAhG,QAFJ,CADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAO,YAAI,EAAC,OAAZ;AAAoB,iBAAS,EAAC,cAA9B;AAA6C,WAAG,EAAE,UAAlD;AAA8D,aAAK,EAAE,cAArE;AAAqF,gBAAQ,EAAE,KAAK,iBAApG;AAAuH,aAAK,EAAE;AAAE,oBAAU,EAAE;AAAd;AAA9H,QADJ,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,mBAAmC,+BAAa,cAAb,CAAnC,cAAmE,+BAAa,UAAb,CAAnE,EADJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA0B,gCAA1B,CAFJ,CAHJ,CALJ,CANJ,CADJ;AAuBH;;;;EAlC+B,KAAK,CAAC,S;;AAA1C,wC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAM,gBAAgB,GAAG,YAAzB;;IAuCa,c;;;;;AAMT,0BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,wFAAM,KAAN;;AA+BI,4BAAkB,YAAK;AAC3B,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAE;AAAf,OAAd;AACH,KAFO;;AAIA,+BAAqB,YAAK;AAC9B,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KAFO;;AAIA,mCAAyB,UAAC,KAAD,EAAU;AACvC,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAE;AAAf,OAAd;AACH,KAFO;;AAIR,mCAAyB,YAAK;AAAA,wBAC8B,MAAK,KADnC;AAAA,UAClB,iBADkB,eAClB,iBADkB;AAAA,UACC,wBADD,eACC,wBADD;AAAA,UAElB,gBAFkB,GAEG,MAAK,KAFR,CAElB,gBAFkB;;AAI1B,UAAI,iBAAiB,CAAC,MAAlB,GAA2B,CAA3B,IAAgC,gBAAgB,KAAK,CAAC,CAAtD,IAA2D,gBAAgB,GAAG,CAAnB,GAAuB,iBAAiB,CAAC,MAApG,IAA8G,iBAAiB,CAAC,gBAAD,CAA/H,IAAqJ,iBAAiB,CAAC,gBAAD,CAAjB,CAAoC,UAA7L,EAAyM;AACrM,cAAK,KAAL,GAAa,UAAU,CAAC,YAAK;AACzB,gBAAK,QAAL,CAAc;AAAE,4BAAgB,EAAE,gBAAgB,GAAG;AAAvC,WAAd,EAA0D,YAAK;AAC3D;AACA,gBAAM,OAAO,GAAG,iBAAiB,CAAC,MAAK,KAAL,CAAW,gBAAZ,CAAjC;AACA,oCAAwB,IAAI,wBAAwB,CAAC,MAAK,KAAL,CAAW,gBAAZ,CAApD;AACA,kBAAK,aAAL,IAAsB,QAAQ,CAAC,aAAT,CAClB,IAAI,WAAJ,CAAgB,kBAAhB,EACI;AACI,oBAAM,EAAE;AACJ,uBAAO,EAAP,OADI;AAEJ,yBAAS,EAAE,MAAK,aAAL,CAAmB,SAAnB;AAFP;AADZ,aADJ,CADkB,CAAtB;;AASA,kBAAK,sBAAL;AACH,WAdD;AAeH,SAhBsB,EAgBpB,IAAI,IAAJ,CAAS,iBAAiB,CAAC,gBAAD,CAAjB,CAAoC,UAA7C,EAAyD,OAAzD,KAAqE,IAAI,IAAJ,GAAW,OAAX,EAhBjD,CAAvB;AAiBH;AACJ,KAvBD;;AAyBQ,6BAAmB,UAAC,GAAD,EAAyB;AAChD,YAAK,aAAL,GAAqB,GAArB;AACH,KAFO;;AAIA,mBAAS,YAAK;AAClB,YAAK,QAAL,CAAc;AAAE,4BAAoB,EAAE,CAAC,CAAzB;AAA4B,oBAAY,EAAE;AAA1C,OAAd,EAAqE,YAAK;AAAG,cAAM,CAAC,cAAP,CAAsB,IAAtB;AAA8B,OAA3G;;AACA,cAAQ,CAAC,aAAT,CAAuB,IAAI,WAAJ,CAAgB,sBAAhB,CAAvB;AACH,KAHO;;AAKA,uBAAa,UAAC,YAAD,EAAuB,WAAvB,EAAgD;AACjE,YAAK,QAAL,CAAc;AAAE,4BAAoB,EAAE,MAAK,KAAL,CAAW,gBAAnC;AAAqD,oBAAY,EAAZ;AAArD,OAAd,EAAmF,YAAK;AAAG,SAAC,WAAD,IAAgB,MAAM,CAAC,cAAP,CAAsB,IAAtB,CAA2B,IAA3B,CAAhB;AAAkD,OAA7I;;AACA,OAAC,WAAD,IAAgB,QAAQ,CAAC,aAAT,CAAuB,IAAI,WAAJ,CAAgB,0BAAhB,CAAvB,CAAhB;AACH,KAHO;;AAKA,kCAAwB,UAAC,iBAAD,EAA8C;AAAA,yBACpB,MAAK,KADe;AAAA,UAClE,iBADkE,gBAClE,iBADkE;AAAA,UAC/C,sBAD+C,gBAC/C,sBAD+C;AAAA,wBAEV,MAAK,KAFK;AAAA,UAElE,gBAFkE,eAElE,gBAFkE;AAAA,UAEhD,WAFgD,eAEhD,WAFgD;AAAA,UAEnC,oBAFmC,eAEnC,oBAFmC;AAI1E,aAAO,YAAK;AACR,YAAM,MAAM,GAAG,iBAAiB,EAAhC;AACA,YAAM,cAAc,GAAG,iBAAiB,CAAC,gBAAD,CAAxC;;AACA,YAAI,CAAC,WAAD,IAAgB,MAAM,IAAI,mCAAiB,KAA3C,IAAoD,sBAApD,IAA8E,oBAAoB,IAAI,CAAC,CAAvG,IAA4G,cAAc,CAAC,aAA/H,EAA8I;AAC1I,cAAM,mBAAmB,GAAG,CAAC,IAAI,IAAJ,GAAW,OAAX,KAAuB,IAAI,IAAJ,CAAS,cAAc,CAAC,YAAxB,EAAsC,OAAtC,EAAxB,IAA2E,IAAvG;AACA,oBAAU,CAAC;AAAA,mBAAM,MAAK,UAAL,CAAgB,mBAAhB,EAAqC,IAArC,CAAN;AAAA,WAAD,EAAmD,CAAnD,CAAV;AACH;;AACD,eAAO,MAAP;AACH,OARD;AASH,KAbO;;AAeA,mCAAyB,YAAK;AAClC,YAAK,QAAL,CAAc;AAAE,4BAAoB,EAAE,CAAC;AAAzB,OAAd;AACH,KAFO;;AAIA,sCAA4B,UAAC,2BAAD;AAAA,aAA6C,YAAK;AAClF,cAAK,QAAL,CAAc;AAAE,8BAAoB,EAAE,CAAC;AAAzB,SAAd;;AACA,kBAAU,CAAC,2BAAD,EAA8B,CAA9B,CAAV;AACH,OAHmC;AAAA,KAA5B;;AApGJ,QAAM,KAAK,GAAG,iCAAgB,QAA9B;;AACA,QAAI,CAAC,4BAAD,IAAkB,CAAC,KAAnB,IAA4B,OAAO,MAAP,KAAkB,WAA9C,IAA6D,CAAC,QAAQ,CAAC,cAAT,CAAwB,aAAxB,CAAlE,EAA0G;AACtG,UAAM,MAAM,GAAG,QAAQ,CAAC,aAAT,CAAuB,QAAvB,CAAf;AACA,YAAM,CAAC,EAAP,GAAY,aAAZ;AACA,YAAM,CAAC,GAAP,GAAa,2CAAb;;AACA,YAAM,CAAC,MAAP,GAAgB;AAAA,eAAM,QAAQ,CAAC,aAAT,CAAuB,IAAI,WAAJ,CAAgB,gBAAhB,CAAvB,CAAN;AAAA,OAAhB;;AACA,YAAM,CAAC,OAAP,GAAiB,MAAK,kBAAtB;AACA,cAAQ,CAAC,IAAT,CAAc,WAAd,CAA0B,MAA1B;AACH;;AAED,UAAK,KAAL,GAAa;AACT,sBAAgB,EAAE,KAAK,CAAC,aADf;AAET,0BAAoB,EAAE,CAAC,CAFd;AAGT,kBAAY,EAAE,CAAC,CAHN;AAIT,iBAAW,EAAE,gCAAiB,OAAO,GAAP,KAAe,WAAhC,IAA+C,KAA/C,IAAwD,OAAO,MAAP,KAAkB,WAJ9E;AAKT,uBAAiB,EAAE,KALV;AAMT,iBAAW,EAAE;AANJ,KAAb;AAZa;AAoBhB;;;;wCAEgB;AACb,cAAQ,CAAC,gBAAT,CAA0B,gBAA1B,EAA4C,KAAK,eAAjD;AACA,WAAK,sBAAL;AACH;;;2CAEmB;AAChB,cAAQ,CAAC,mBAAT,CAA6B,gBAA7B,EAA+C,KAAK,eAApD;AACA,kBAAY,CAAC,KAAK,KAAN,CAAZ;AACH;;;6BA6EK;AAAA;;AAAA,yBACyC,KAAK,KAD9C;AAAA,UACM,WADN,gBACM,WADN;AAAA,UACmB,iBADnB,gBACmB,iBADnB;AAEF,UAAI,CAAC,WAAD,IAAgB,CAAC,iBAArB,EAAwC,OAAO,IAAP;AAFtC,yBAI4E,KAAK,KAJjF;AAAA,UAIM,gBAJN,gBAIM,gBAJN;AAAA,UAIwB,oBAJxB,gBAIwB,oBAJxB;AAAA,UAI8C,YAJ9C,gBAI8C,YAJ9C;AAAA,UAI4D,WAJ5D,gBAI4D,WAJ5D;AAAA,yBAK+K,KAAK,KALpL;AAAA,UAKM,KALN,gBAKM,KALN;AAAA,UAKa,iBALb,gBAKa,iBALb;AAAA,UAKgC,WALhC,gBAKgC,WALhC;AAAA,UAK6C,sBAL7C,gBAK6C,sBAL7C;AAAA,UAKqE,wBALrE,gBAKqE,wBALrE;AAAA,UAK+F,gCAL/F,gBAK+F,gCAL/F;AAAA,UAKiI,mBALjI,gBAKiI,mBALjI;AAAA,UAKsJ,IALtJ,gBAKsJ,IALtJ;AAAA,UAK4J,cAL5J,gBAK4J,cAL5J;AAMF,UAAM,IAAI,GAAG,iBAAiB,CAAC,oBAAoB,GAAG,CAAvB,GAA2B,gBAA3B,GAA8C,oBAA/C,CAAjB,IAAyF,gBAAtG;AACA,UAAM,2BAA2B,GAAG;AAAE,aAAK,EAAE,IAAI,CAAC,KAAd;AAAqB,cAAM,EAAE,IAAI,KAAK,UAAT,GAAsB,UAAtB,GAAmC,MAAhE;AAAwE,aAAK,EAAE;AAA/E,OAApC;AACA,UAAM,MAAM,GAAG,oBAAoB,GAAG,CAAvB,GAA4B,iBAAiB,IAAI,CAAC,sBAAtB,GAA+C,mBAA/C,GAAqE,sBAAjG,GAA2H,IAAI,CAAC,SAA/I;AACA,UAAM,sBAAsB,GAAG,CAAC,IAAI,IAAJ,CAAS,IAAI,CAAC,UAAd,EAA0B,OAA1B,KAAsC,IAAI,IAAJ,CAAS,IAAI,CAAC,YAAd,EAA4B,OAA5B,EAAvC,IAAgF,IAA/G;AACA,UAAM,QAAQ,GAAG,6BAAW,WAAX,CAAjB;AAEA,aACI,oBAAC,iCAAD,EAAgB;AACZ,cAAM,EAAC,MADK;AAEZ,WAAG,EAAE,KAAK,gBAFE;AAGZ,gBAAQ,EAAE,MAHE;AAIZ,uBAAe,EAAE,CAJL;AAKZ,wCAAgC,EAAE,gCALtB;AAMZ,mCAA2B,EAAE,2BANjB;AAOZ,oBAAY,EAAE,YAPF;AAQZ,aAAK,EAAE,KAAK,sBARA;AASZ,aAAK,EAAE,QATK;AAUZ,mBAAW,EAAE,WAVD;AAWZ,8BAAsB,EAAE,KAAK,sBAXjB;AAYZ,gBAAQ,EAAE,kBAAC,aAAD;AAAA,iBACN,wBAAwB,CAAC;AACrB,uBAAW,EAAE,IADQ;AAErB,0BAAc,EAAE,aAAa,CAAC,cAFT;AAGrB,6BAAiB,EAAE,MAAI,CAAC,qBAAL,CAA2B,aAAa,CAAC,iBAAzC,CAHE;AAIrB,wBAAY,EAAE,aAAa,CAAC;AAJP,WAAD,CADlB;AAAA,SAZE;AAoBZ,8BAAsB,EAAE,gCAAC,aAAD,EAAkB;AACtC,iBAAO,cAAc,GACjB,oBAAC,mDAAD,EAAyB;AACrB,gBAAI,EAAE,IADe;AAErB,uBAAW,EAAE,IAFQ;AAGrB,uBAAW,EAAE,WAHQ;AAIrB,0BAAc,EAAE,aAAa,CAAC,cAJT;AAKrB,mCAAuB,EAAE,aAAa,CAAC,uBALlB;AAMrB,wBAAY,EAAE,aAAa,CAAC,YANP;AAOrB,qBAAS,EAAE,aAAa,CAAC,SAPJ;AAQrB,mBAAO,EAAE,MAAI,CAAC,yBAAL,CAA+B,aAAa,CAAC,OAA7C,CARY;AASrB,6BAAiB,EAAE,MAAI,CAAC,qBAAL,CAA2B,aAAa,CAAC,iBAAzC;AATE,WAAzB,CADiB,GAajB,oBAAC,iDAAD,EAAwB;AACpB,uBAAW,EAAE,IADO;AAEpB,uBAAW,EAAE,WAFO;AAGpB,0BAAc,EAAE,aAAa,CAAC,cAHV;AAIpB,mCAAuB,EAAE,aAAa,CAAC,uBAJnB;AAKpB,wBAAY,EAAE,aAAa,CAAC,YALR;AAMpB,mBAAO,EAAE,MAAI,CAAC,yBAAL,CAA+B,aAAa,CAAC,OAA7C,CANW;AAOpB,mBAAO,EAAE,aAAa,CAAC,OAPH;AAQpB,qBAAS,EAAE,aAAa,CAAC,SARL;AASpB,4BAAgB,EAAE,aAAa,CAAC,gBATZ;AAUpB,sBAAU,EAAE,MAAI,CAAC,UAVG;AAWpB,6BAAiB,EAAE,MAAI,CAAC,qBAAL,CAA2B,aAAa,CAAC,iBAAzC;AAXC,WAAxB,EAaK,WAAW,GACR,oBAAC,+BAAD,EAAe;AACX,sBAAU,EAAE,aAAa,CAAC,UADf;AAEX,0BAAc,EAAE,aAAa,CAAC,cAFnB;AAGX,oBAAQ,EAAE,aAAa,CAAC;AAHb,WAAf,CADQ,GAOR,oBAAoB,GAAG,CAAvB,GACI,oBAAC,iCAAD,EAAgB;AACZ,wBAAY,EAAE,aAAa,CAAC,YADhB;AAEZ,oBAAQ,EAAE,aAAa,CAAC,QAFZ;AAGZ,sBAAU,EAAE,MAAI,CAAC,UAHL;AAIZ,wBAAY,EAAE,IAAI,CAAC,YAJP;AAKZ,sBAAU,EAAE,EAAE,MAAM,CAAC,QAAP,CAAgB,OAAhB,KAA4B,MAAM,CAAC,QAAP,CAAgB,MAAhB,CAA9B,CALA;AAMZ,kBAAM,EAAE,IAAI,CAAC;AAND,WAAhB,CADJ,GAUI,oBAAC,yCAAD,EAAoB;AAChB,2BAAe,EAAE,sBADD;AAEhB,wBAAY,EAAE,aAAa,CAAC,YAFZ;AAGhB,oBAAQ,EAAE,aAAa,CAAC,QAHR;AAIhB,kBAAM,EAAE,MAAI,CAAC,MAJG;AAKhB,sBAAU,EAAE,EAAE,MAAM,CAAC,QAAP,CAAgB,OAAhB,KAA4B,MAAM,CAAC,QAAP,CAAgB,MAAhB,CAA9B;AALI,WAApB,CA9BZ,CAbJ;AAoDH;AAzEW,OAAhB,CADJ;AA8EH;;;;EA3M+B,KAAK,CAAC,S;;AACxB,gCAAiB,+BAAjB;AADlB;AA8MA,IAAM,gBAAgB,GAAqB;AACvC,OAAK,EAAE,EADgC;AAEvC,WAAS,EAAE,EAF4B;AAGvC,SAAO,EAAE,EAH8B;AAIvC,eAAa,EAAE,KAJwB;AAKvC,WAAS,EAAE;AAL4B,CAA3C,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjQA;;IAea,e;;;;;AACT;AAAA;;AAAA;;AACI;;AAMI,8BAAoB,UAAC,CAAD,EAAM;AAC9B,YAAK,KAAL,CAAW,UAAX,CAAsB,MAAM,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,CAA5B;AACH,KAFO;;AAIA,qBAAW,UAAC,CAAD,EAAM;AACrB,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE,CAAC,CAAC,MAAF,CAAS;AAArB,OAAd;AACH,KAFO;;AATJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE;AADD,KAAb;AAFJ;AAKC;;;;6BAUK;AAAA,wBACuD,KAAK,KAD5D;AAAA,UACM,UADN,eACM,UADN;AAAA,UACkB,YADlB,eACkB,YADlB;AAAA,UACgC,UADhC,eACgC,UADhC;AAAA,UAC4C,MAD5C,eAC4C,MAD5C;AAAA,UAEM,QAFN,GAEmB,KAAK,KAFxB,CAEM,QAFN;AAIF,UAAM,sBAAsB,GAAG,CAAC,IAAI,IAAJ,GAAW,OAAX,KAAuB,IAAI,IAAJ,CAAS,YAAT,EAAuB,OAAvB,EAAxB,IAA4D,IAA3F;AACA,UAAM,kBAAkB,GAAG,+BAAa,sBAAb,CAA3B;AACA,UAAM,WAAW,GAAG,QAAQ,KAAK,IAAb,GAAoB,+BAAa,QAAb,CAApB,GAA6C,kBAAjE;AACA,UAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,eAAvB,CAAtB;AAEA,UAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAb,GAAoB,QAApB,GAA+B,sBAAhC,IAA0D,CAA3D,IAAgE,GAAhE,IAAuE,sBAAsB,GAAG,CAAhG,CAAnB;AACA,UAAM,WAAW,GAAG,aAAa,IAAK,aAAa,CAAC,WAAd,GAA4B,CAAlE;AACA,UAAM,aAAa,GAAG,UAAU,GAAG,EAAb,GAAkB,WAAW,GAAG,CAAhC,GAAoC,UAAU,GAAG,EAAb,GAAkB,WAAW,GAAG,CAAhC,GAAoC,WAA9F;AACA,UAAM,iBAAiB,kBAAW,UAAX,iBAA4B,aAA5B,QAAvB;AAEA,UAAM,eAAe,4CAAqC,UAArC,wBAA6D,UAA7D,OAArB;AAEA,aACI,0CACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,EAAC,gCAAlB;AAAkD,sBAAY,YAA9D;AAA2E,gBAAQ,EAAE;AAArF,QADJ,EAEI;AAAQ,iBAAS,qCAA8B,UAAU,IAAI,CAAC,MAAf,GAAwB,WAAxB,GAAsC,EAApE,CAAjB;AAA2F,eAAO,EAAE;AAAA,iBAAM,UAAU,CAAC,CAAD,CAAhB;AAAA,SAApG;AAAuH,sBAAa,oBAApI;AAAyJ,gBAAQ,EAAE,UAAU,IAAI,CAAC;AAAlL,QAFJ,CADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,cAAf;AAA8B,aAAK,EAAE;AAAE,cAAI,EAAE;AAAR;AAArC,SAAoE,WAApE,CADJ,EAEI;AAAO,YAAI,EAAC,OAAZ;AAAoB,iBAAS,0BAAmB,CAAC,MAAD,GAAU,UAAV,GAAuB,EAA1C,CAA7B;AAA6E,WAAG,EAAE,sBAAlF;AAA0G,aAAK,EAAE;AAAE,oBAAU,EAAE;AAAd,SAAjH;AAAkJ,aAAK,EAAE,QAAQ,KAAK,IAAb,GAAoB,QAApB,GAA+B,sBAAxL;AAAgN,gBAAQ,EAAE,KAAK,QAA/N;AAAyO,iBAAS,EAAE,KAAK,iBAAzP;AAA4Q,kBAAU,EAAE,KAAK,iBAA7R;AAAgT,gBAAQ,EAAE,UAAU,IAAI,CAAC;AAAzU,QAFJ,CADJ,EAKI;AAAK,iBAAS,0BAAmB,CAAC,MAAD,GAAU,UAAV,GAAuB,EAA1C;AAAd,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA0B,6CAA1B,CAFJ,CALJ,CANJ,CADJ;AAmBH;;;;EAnDgC,KAAK,CAAC,S;;AAA3C,0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;;IAea,mB;;;;;AAAb;AAAA;;AAAA;;;;AAEY,8BAAoB,UAAC,CAAD,EAAM;AAC9B,YAAK,KAAL,CAAW,QAAX,CAAoB,MAAM,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,CAA1B;AACH,KAFO;;AAIA,6BAAmB,YAAK;AAC5B,YAAK,KAAL,CAAW,QAAX,CAAoB,CAApB;;AACA,YAAM,CAAC,cAAP,CAAsB,IAAtB;AACA,cAAQ,CAAC,aAAT,CAAuB,IAAI,WAAJ,CAAgB,0BAAhB,CAAvB;AACH,KAJO;;AANZ;AA6CC;;;;6BAjCS;AAAA,wBAC4D,KAAK,KADjE;AAAA,UACM,eADN,eACM,eADN;AAAA,UACuB,YADvB,eACuB,YADvB;AAAA,UACqC,MADrC,eACqC,MADrC;AAAA,UAC6C,UAD7C,eAC6C,UAD7C;AAEF,UAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,eAAvB,CAAtB;AACA,UAAM,kBAAkB,GAAG,+BAAa,YAAb,CAA3B;AACA,UAAM,WAAW,GAAG,kBAApB;AAEA,UAAM,UAAU,GAAG,CAAC,KAAK,KAAL,CAAW,YAAX,GAA0B,CAA3B,IAAgC,GAAhC,IAAuC,KAAK,KAAL,CAAW,eAAX,GAA6B,CAApE,CAAnB;AACA,UAAM,WAAW,GAAG,aAAa,IAAK,aAAa,CAAC,WAAd,GAA4B,CAAlE;AACA,UAAM,aAAa,GAAG,UAAU,GAAG,EAAb,GAAkB,WAAW,GAAG,CAAhC,GAAoC,UAAU,GAAG,EAAb,GAAkB,WAAW,GAAG,CAAhC,GAAoC,WAA9F;AACA,UAAM,iBAAiB,kBAAW,UAAX,iBAA4B,aAA5B,QAAvB;AAEA,UAAM,eAAe,4CAAqC,UAArC,wBAA6D,UAA7D,OAArB;AAEA,aACI,0CACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,kCAA2B,UAAU,GAAG,WAAH,GAAiB,EAAtD,CAAjB;AAA6E,eAAO,EAAE,MAAtF;AAA4F,sBAAa,YAAzG;AAAsH,gBAAQ,EAAE;AAAhI,QADJ,EAEI;AAAQ,iBAAS,qCAA8B,UAAU,GAAG,WAAH,GAAiB,EAAzD,CAAjB;AAAgF,eAAO,EAAE,KAAK,gBAA9F;AAA8G,sBAAa,oBAA3H;AAAgJ,gBAAQ,EAAE;AAA1J,QAFJ,CADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,cAAf;AAA8B,UAAE,EAAC,cAAjC;AAAgD,aAAK,EAAE;AAAE,cAAI,EAAE;AAAR;AAAvD,SAAqF,WAArF,CADJ,EAEI;AAAO,YAAI,EAAC,OAAZ;AAAoB,iBAAS,EAAC,cAA9B;AAA6C,WAAG,EAAE,eAAe,GAAG,eAAH,GAAqB,YAAtF;AAAoG,aAAK,EAAE,YAA3G;AAAyH,gBAAQ,EAAE,KAAK,iBAAxI;AAA2J,aAAK,EAAE;AAAE,oBAAU,EAAE;AAAd,SAAlK;AAAmM,gBAAQ,EAAE;AAA7M,QAFJ,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA0B,6CAA1B,CAFJ,CALJ,CANJ,CADJ;AAmBH;;;;EA5CoC,KAAK,CAAC,S;;AAA/C,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA,mBAAO,CAAC,mCAAD,CAAP;;AAEA;;AACA;;IAsBa,uB;;;;;AACT;AAAA;;AAAA;;AACI;;AAiCI,mCAAyB,YAAK;AAClC,UAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,6BAAvB,CAArB;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,aAAT,CAAuB,qCAAvB,CAAvB;AACA,UAAI,aAAa,GAAG,KAApB;;AACA,UAAI,YAAY,IAAI,cAApB,EAAoC;AAChC,qBAAa,GAAG,YAAY,CAAC,WAAb,GAA2B,cAAc,CAAC,WAA1D;AACH;;AACD,aAAO,aAAP;AACH,KARO;;AAUA,wBAAc,UAAC,IAAD,EAA2B;AAC7C,UAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAlB,EAA6B;AACzB,yBAAU,IAAI,CAAC,SAAf,gBAA8B,IAAI,CAAC,OAAnC;AACH;;AACD,aAAO,EAAP;AACH,KALO;;AAOA,mCAAyB,UAAC,MAAD,EAAmB;AAChD,YAAK,QAAL,CAAc;AAAE,kCAA0B,EAAE;AAA9B,OAAd;AACH,KAFO;;AAjDJ,UAAK,KAAL,GAAa;AACT,wBAAkB,EAAE,IADX;AAET,gCAA0B,EAAE;AAFnB,KAAb;AAFJ;AAMC;;;;wCAIgB;AAAA;;AACb,UAAM,SAAS,GAAG,KAAK,KAAL,CAAW,WAAX,GAAyB,YAAzB,GAAwC,YAA1D;AACA,UAAM,eAAe,GAAG,QAAQ,CAAC,cAAT,CAAwB,SAAxB,CAAxB;AAEA,WAAK,QAAL,CAAc;AAAE,0BAAkB,EAAE,KAAK,sBAAL;AAAtB,OAAd;AAGA,WAAK,cAAL,GAAsB,IAAI,cAAJ,CAAmB,iBAAO;AAAA,eAAI,OAAO,CAAC,OAAR,CAAgB,WAAC,EAAG;AACpE,gBAAI,CAAC,sBAAL,CAA4B,CAAC,CAAC,WAAF,CAAc,MAA1C;AACH,SAFmD,CAAJ;AAAA,OAA1B,CAAtB;AAIA,qBAAe,IAAI,KAAK,cAAL,CAAoB,OAApB,CAA4B,eAA5B,CAAnB;AACH;;;uCAEkB,S,EAAS;AACxB,UAAI,KAAK,KAAL,CAAW,WAAX,KAA2B,SAAS,CAAC,WAAzC,EAAsD;AAClD,aAAK,QAAL,CAAc;AAAE,4BAAkB,EAAE,KAAK,sBAAL;AAAtB,SAAd;AACH;AACJ;;;2CAEmB;AAChB,WAAK,cAAL,IAAuB,KAAK,cAAL,CAAoB,UAApB,EAAvB;AACH;;;6BAuBK;AAAA,wBAC8I,KAAK,KADnJ;AAAA,UACM,WADN,eACM,WADN;AAAA,UACmB,cADnB,eACmB,cADnB;AAAA,UACmC,uBADnC,eACmC,uBADnC;AAAA,UAC4D,OAD5D,eAC4D,OAD5D;AAAA,UACqE,OADrE,eACqE,OADrE;AAAA,UAC8E,SAD9E,eAC8E,SAD9E;AAAA,UACyF,gBADzF,eACyF,gBADzF;AAAA,UAC2G,WAD3G,eAC2G,WAD3G;AAAA,UACwH,iBADxH,eACwH,iBADxH;AAAA,wBAEyD,KAAK,KAF9D;AAAA,UAEM,0BAFN,eAEM,0BAFN;AAAA,UAEkC,kBAFlC,eAEkC,kBAFlC;AAGF,UAAM,WAAW,GAAG,KAAK,KAAL,CAAW,QAA/B;AACA,UAAM,QAAQ,GAAG;AACb,YAAI,EAAE,KADO;AACA,gBAAQ,EAAE,IADV;AACgB,oBAAY,EAAE,CAD9B;AACiC,sBAAc,EAAE,CADjD;AACoD,gBAAQ,EAAE,IAD9D;AAEb,aAAK,EAAE,WAAW,CAAC,KAAZ,CAAkB,MAAlB,GAA2B,GAFrB;AAE0B,qBAAa,EAAE,CAFzC;AAE4C,WAAG,EAAE,IAFjD;AAEuD,cAAM,EAAE,KAF/D;AAEsE,eAAO,EAAE;AAF/E,OAAjB;AAKA,aACI;AAAK,iBAAS,kCAA2B,uBAAuB,GAAG,MAAH,GAAY,MAA9D,CAAd;AAAsF,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA7F,SACI;AAAQ,iBAAS,EAAC,4BAAlB;AAA+C,eAAO,EAAE,OAAxD;AAA+D,sBAAa;AAA5E,QADJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,mCAA4B,SAAS,GAAG,6BAAH,GAAmC,EAAxE,CAAjB;AAA+F,eAAO,EAAE,iBAAxG;AAAyH,sBAAc,cAAc,qBAAc,WAAW,CAAC,KAA1B,qBAA8C,WAAW,CAAC,KAA1D;AAArJ,SACI;AAAK,iBAAS,0CAAmC,cAAc,GAAG,OAAH,GAAa,EAA9D;AAAd,QADJ,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,WAAD,IAAgB;AAAK,iBAAS,EAAC;AAAf,SACb;AAAQ,iBAAS,YAAK,OAAO,GAAG,eAAH,GAAqB,cAAjC,eAAjB;AAA8E,eAAO,EAAE,gBAAvF;AAAuG,sBAAc,OAAO,GAAG,cAAH,GAAoB;AAAhJ,QADa,CADrB,EAKK,WALL,CALJ,CAHJ,EAiBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,WAAD,IAAgB;AAAK,iBAAS,EAAC,+BAAf;AAA+C,WAAG,EAAE;AAApD,QADrB,EAEK,CAAC,WAAW,CAAC,SAAb,IAA0B;AAAK,iBAAS,EAAC;AAAf,SAA4C,KAAK,WAAL,CAAiB,WAAjB,CAA5C,EAAmF,KAAnF,CAF/B,CADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACK,kBAAkB,GACf,0CACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO,kBAAK,QAAL,CAAP,EACI;AAAK,iBAAS,EAAC;AAAf,SAA6C,WAAW,CAAC,KAAZ,IAAqB,iBAAlE,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA6C,WAAW,CAAC,KAAZ,IAAqB,iBAAlE,CAFJ,CADJ,CAFJ,EAQI;AAAK,iBAAS,EAAC;AAAf,QARJ,CADe,GAWf;AAAK,iBAAS,EAAC;AAAf,SAA6C,WAAW,CAAC,KAAZ,IAAqB,iBAAlE,CAZR,CANJ,CAjBJ,CADJ;AA0CH;;;;EA3GwC,KAAK,CAAC,S;;AAAnD,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBA;;AACA;;AAGA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AAuCA,IAAM,kBAAkB,GAAG,GAA3B;AACA,IAAM,gBAAgB,GAAG,SAAzB;AACA,IAAM,iBAAiB,GAAG,SAA1B;;IAEa,iB;;;;;AACT;AAAA;;AAAA;;AACI;;AA0BI,mCAAyB,UAAC,MAAD,EAAmB;AAChD,YAAK,QAAL,CAAc;AAAE,kCAA0B,EAAE;AAA9B,OAAd;AACH,KAFO;;AAIA,iCAAuB,YAAK;AAAA,UACxB,cADwB,GACL,MAAK,KADA,CACxB,cADwB;AAEhC,oBAAc,GAAG,MAAK,KAAL,CAAW,YAAX,CAAwB,KAAxB,EAAH,GAAqC,MAAK,KAAL,CAAW,YAAX,CAAwB,IAAxB,EAAnD;AACH,KAHO;;AAKA,wBAAc,YAAK;AACvB,YAAK,KAAL,CAAW,YAAX,CAAwB,WAAxB,IAAuC,EAAvC;AACH,KAFO;;AAIA,qBAAW,YAAK;AACpB,YAAK,KAAL,CAAW,YAAX,CAAwB,WAAxB,IAAuC,EAAvC;AACH,KAFO;;AAIA,8BAAoB,UAAC,CAAD,EAAM;AAC9B,YAAK,KAAL,CAAW,QAAX,CAAoB,MAAM,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,CAA1B;AACH,KAFO;;AAIA,mBAAS,UAAC,gBAAD,EAA6B;AAC1C,UAAM,eAAe,GAAI,MAAM,gBAAP,GAA2B,kBAAnD;AACA,aAAO,eAAe,GAAG,IAAzB;AACH,KAHO;;AAKA,wCAA8B,UAAC,GAAD,EAAwB;AAAA,UAClD,WADkD,GAClC,MAAK,KAD6B,CAClD,WADkD;;AAG1D,UAAI,GAAJ,EAAS;AACL,YAAM,cAAc,GAAG,QAAQ,CAAC,aAAT,CAAuB,gCAAvB,CAAvB;AACA,YAAM,aAAa,GAAG,cAAc,GAAG,GAAG,CAAC,WAAJ,GAAkB,cAAc,CAAC,WAApC,GAAkD,KAAtF;;AACA,cAAK,QAAL,CAAc;AACV,4BAAkB,EAAE,aADV;AAEV,2BAAiB,EAAE,WAAW,GAAG,MAAK,MAAL,CAAY,GAAG,CAAC,WAAhB,CAAH,GAAkC,GAAG,CAAC,WAAJ,GAAkB;AAFxE,SAAd;AAIH;AACJ,KAXO;;AAaA;AAAA;AAAA;AAAA;AAAA,4BAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAChB,uBADgB,GACJ;AAAE,mBAAG,EAAE,MAAK,KAAL,CAAW,WAAlB;AAA+B,qBAAK,EAAE,MAAK,KAAL,CAAW;AAAjD,eADI;AAAA;AAAA;AAAA,qBAIZ,SAAS,CAAC,KAAV,CAAgB,SAAhB,CAJY;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAMlB,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AANkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAlB;;AAUA,2BAAiB,YAAK;AAC1B,UAAI,OAAO,SAAP,KAAqB,WAAzB,EAAsC;AAClC,YAAI,MAAK,KAAL,CAAW,WAAf,EAA4B;AACxB,gBAAK,eAAL;AACH,SAFD,MAEO;AACH,mBAAS,CAAC,SAAV,CAAoB,SAApB,CAA8B,MAAK,KAAL,CAAW,WAAzC;;AACA,gBAAK,QAAL,CAAc;AAAE,iCAAqB,EAAE;AAAzB,WAAd;;AACA,oBAAU,CAAC;AAAA,mBAAM,MAAK,QAAL,CAAc;AAAE,mCAAqB,EAAE;AAAzB,aAAd,CAAN;AAAA,WAAD,EAAyD,IAAzD,CAAV;AACH;AACJ;AACJ,KAVO;;AA1EJ,UAAK,KAAL,GAAa;AACT,wBAAkB,EAAE,IADX;AAET,uBAAiB,EAAE,KAFV;AAGT,gCAA0B,EAAE,CAHnB;AAIT,2BAAqB,EAAE;AAJd,KAAb;AAFJ;AAQC;;;;wCAIgB;AAAA;;AACb,UAAM,SAAS,GAAG,KAAK,KAAL,CAAW,WAAX,GAAyB,YAAzB,GAAwC,YAA1D;AACA,UAAM,eAAe,GAAG,QAAQ,CAAC,cAAT,CAAwB,SAAxB,CAAxB;AAEA,WAAK,cAAL,GAAsB,IAAI,cAAJ,CAAmB,iBAAO;AAAA,eAAI,OAAO,CAAC,OAAR,CAAgB,WAAC,EAAG;AACpE,gBAAI,CAAC,sBAAL,CAA4B,CAAC,CAAC,WAAF,CAAc,MAA1C;AACH,SAFmD,CAAJ;AAAA,OAA1B,CAAtB;AAIA,qBAAe,IAAI,KAAK,cAAL,CAAoB,OAApB,CAA4B,eAA5B,CAAnB;AACH;;;2CAEmB;AAChB,WAAK,cAAL,IAAuB,KAAK,cAAL,CAAoB,UAApB,EAAvB;AACH;;;6BA+DK;AAAA,wBACyQ,KAAK,KAD9Q;AAAA,UACM,cADN,eACM,cADN;AAAA,UACsB,OADtB,eACsB,OADtB;AAAA,UAC+B,KAD/B,eAC+B,KAD/B;AAAA,UACsC,eADtC,eACsC,eADtC;AAAA,UACuD,YADvD,eACuD,YADvD;AAAA,UACqE,uBADrE,eACqE,uBADrE;AAAA,UAC8F,kBAD9F,eAC8F,kBAD9F;AAAA,UACkH,YADlH,eACkH,YADlH;AAAA,UACgI,SADhI,eACgI,SADhI;AAAA,UAC2I,WAD3I,eAC2I,WAD3I;AAAA,UACwJ,WADxJ,eACwJ,WADxJ;AAAA,UACqK,4BADrK,eACqK,4BADrK;AAAA,UACmM,IADnM,eACmM,IADnM;AAAA,UACyM,UADzM,eACyM,UADzM;AAAA,UACqN,eADrN,eACqN,eADrN;AAAA,UACsO,UADtO,eACsO,UADtO;AAAA,UACkP,kBADlP,eACkP,kBADlP;AAAA,wBAEmG,KAAK,KAFxG;AAAA,UAEM,kBAFN,eAEM,kBAFN;AAAA,UAE0B,iBAF1B,eAE0B,iBAF1B;AAAA,UAE6C,0BAF7C,eAE6C,0BAF7C;AAAA,UAEyE,qBAFzE,eAEyE,qBAFzE;AAIF,UAAM,QAAQ,GAAG,YAAY,IAAI,YAAY,CAAC,GAAb,KAAqB,EAArC,IAA2C,YAAY,CAAC,QAAxD,IAAoE,YAAY,CAAC,QAAb,KAA0B,QAA9F,GAAyG,YAAY,CAAC,QAAtH,GAAiI,eAAlJ;AACA,UAAM,sBAAsB,GAAG,4BAA4B,GAAG,4BAAH,GAAkC,mBAA7F;AACA,UAAM,WAAW,GAAG,IAAI,KAAK,UAAT,GAAsB,kBAAtB,GAA2C,iBAA/D;AACA,UAAM,UAAU,GAAG,CAAC,YAAY,GAAG,CAAhB,IAAqB,GAArB,IAA4B,QAAQ,GAAG,CAAvC,CAAnB;AACA,UAAM,wBAAwB,GAAG,UAAU,GAAG,UAAH,GAAgB,kBAAkB,GAAG,kBAAH,GAAwB,gBAArG;AACA,UAAM,gBAAgB,GAAG,UAAU,GAAG,UAAH,GAAgB,iBAAnD;AACA,UAAM,gBAAgB,GAAG,eAAe,GAAG,eAAH,GAAqB,gBAA7D;AACA,UAAM,eAAe,oCAA6B,wBAA7B,cAAyD,UAAzD,gBAAyE,gBAAzE,cAA6F,UAA7F,OAArB;AACA,UAAM,WAAW,GAAG,eAAe,GAAG;AAAE,kBAAU,EAAE,eAAd;AAA+B,yBAAiB;AAAhD,OAAH,GAAwE;AAAE,kBAAU,EAAE;AAAd,OAA3G;AACA,UAAM,gBAAgB,GAAG,4BAAzB;AACA,UAAM,QAAQ,GAAG;AACb,YAAI,EAAE,KADO;AAEb,gBAAQ,EAAE,IAFG;AAGb,oBAAY,EAAE,CAHD;AAIb,sBAAc,EAAE,CAJH;AAKb,gBAAQ,EAAE,IALG;AAMb,aAAK,EAAE,KAAK,CAAC,MAAN,GAAe,GANT;AAOb,qBAAa,EAAE,CAPF;AAQb,WAAG,EAAE,IARQ;AASb,cAAM,EAAE,KATK;AAUb,eAAO,EAAE;AAVI,OAAjB;AAaA,aACI;AAAK,iBAAS,wCAAiC,uBAAuB,GAAG,MAAH,GAAY,MAApE,CAAd;AAA4F,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAAnG,SACI;AAAQ,iBAAS,EAAC,uBAAlB;AAA0C,eAAO,EAAE,OAAnD;AAA0D,sBAAa;AAAvE,QADJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,4BAAqB,kBAAkB,IAAI,SAAtB,GAAkC,wBAAlC,GAA6D,EAAlF,CAAjB;AAAyG,eAAO,EAAE,KAAK,oBAAvH;AAA2I,sBAAc,cAAc,qBAAc,KAAd,qBAAkC,KAAlC;AAAvK,SACI;AAAK,iBAAS,mCAA4B,cAAc,GAAG,OAAH,GAAa,EAAvD;AAAd,QADJ,CADJ,EAKI;AAAQ,iBAAS,sCAA+B,kBAAkB,GAAG,UAAH,GAAgB,EAAjE,CAAjB;AAAwF,eAAO,EAAE,KAAK,WAAtG;AAAmH,gBAAQ,EAAE,kBAA7H;AAA+I,sBAAa;AAA5J,SAAgL,IAAI,KAAK,UAAT,GAAsB,EAAtB,GAA2B,EAA3M,CALJ,EAMI;AAAQ,iBAAS,mCAA4B,kBAAkB,GAAG,UAAH,GAAgB,EAA9D,CAAjB;AAAqF,eAAO,EAAE,KAAK,QAAnG;AAA6G,gBAAQ,EAAE,kBAAvH;AAAyI,sBAAa;AAAtJ,SAAiL,IAAI,KAAK,UAAT,GAAsB,EAAtB,GAA2B,EAA5M,CANJ,EAQI;AAAK,iBAAS,8CAAuC,kBAAkB,GAAG,UAAH,GAAgB,EAAzE;AAAd,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,YAAI,EAAC,OADT;AAEI,WAAG,EAAE,QAFT;AAGI,aAAK,EAAE,WAHX;AAII,iBAAS,EAAC,UAJd;AAKI,aAAK,EAAE,YALX;AAMI,gBAAQ,EAAE,kBANd;AAOI,gBAAQ,EAAE,KAAK;AAPnB,QADJ,CADJ,EAaI;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,+BAAa,YAAb,CAAP,CADJ,EAEI,kCAAO,+BAAa,QAAb,CAAP,CAFJ,CAbJ,CADJ,CARJ,CAFJ,EAgCI;AAAK,iBAAS,EAAC;AAAf,SACK,WAAW,IACR;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,yCAAkC,qBAAlC;AAAd,SAA0E,sBAA1E,CADJ,EAEI;AAAQ,iBAAS,EAAC,0BAAlB;AAA6C,eAAO,EAAE,KAAK;AAA3D,SACK,WAAW,GACR,gBAAgB,KAAK,QAArB,GAAgC;AAAK,iBAAS,EAAC;AAAf,QAAhC,GAAgF;AAAK,iBAAS,EAAC;AAAf,QADxE,GAGR;AAAK,iBAAS,EAAC;AAAf,QAJR,CAFJ,CAFR,EAaI;AAAK,iBAAS,EAAC;AAAf,SACK,kBAAkB,GACf,0CACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAAvC,SACI,oBAAC,qBAAD,EAAO,kBAAK,QAAL,CAAP,EACI;AAAK,iBAAS,EAAE,uBAAhB;AAAyC,+BAAuB,EAAE;AAAE,gBAAM,EAAE,KAAK,IAAI;AAAnB;AAAlE,QADJ,EAEI;AAAK,iBAAS,EAAE,uBAAhB;AAAyC,+BAAuB,EAAE;AAAE,gBAAM,EAAE,KAAK,IAAI;AAAnB;AAAlE,QAFJ,CADJ,CAFJ,EAQI;AAAK,iBAAS,EAAC;AAAf,QARJ,CADe,GAWf;AAAK,iBAAS,EAAE,uBAAhB;AAAyC,WAAG,EAAE,KAAK,2BAAnD;AAAgF,+BAAuB,EAAE;AAAE,gBAAM,EAAE,KAAK,IAAI;AAAnB;AAAzG,QAZR,CAbJ,CAhCJ,CAHJ,CADJ;AAoEH;;;;EAxLkC,KAAK,CAAC,S;;AAA7C,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjDA;;AACA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAmBa,0B;;;;;AACT;AAAA;;AAAA;;AACI;;AAwBI,mCAAyB,UAAC,MAAD,EAAmB;AAChD,YAAK,QAAL,CAAc;AAAE,kCAA0B,EAAE;AAA9B,OAAd;AACH,KAFO;;AAIA,iCAAuB,YAAK;AAAA,UACxB,cADwB,GACL,MAAK,KADA,CACxB,cADwB;AAEhC,oBAAc,GAAG,MAAK,KAAL,CAAW,YAAX,CAAwB,KAAxB,EAAH,GAAqC,MAAK,KAAL,CAAW,YAAX,CAAwB,IAAxB,EAAnD;AACH,KAHO;;AAKA,wBAAc,YAAK;AACvB,YAAK,KAAL,CAAW,YAAX,CAAwB,WAAxB,IAAuC,EAAvC;AACH,KAFO;;AAIA,qBAAW,YAAK;AACpB,YAAK,KAAL,CAAW,YAAX,CAAwB,WAAxB,IAAuC,EAAvC;AACH,KAFO;;AAIA,8BAAoB,UAAC,CAAD,EAAM;AAC9B,YAAK,KAAL,CAAW,QAAX,CAAoB,MAAM,CAAC,CAAC,CAAC,MAAF,CAAS,KAAV,CAA1B;AACH,KAFO;;AAIA;AAAA;AAAA;AAAA;AAAA,4BAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAChB,uBADgB,GACJ;AAAE,mBAAG,EAAE,MAAK,KAAL,CAAW,WAAlB;AAA+B,qBAAK,EAAE,MAAK,KAAL,CAAW;AAAjD,eADI;AAAA;AAAA;AAAA,qBAIZ,SAAS,CAAC,KAAV,CAAgB,SAAhB,CAJY;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAMlB,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AANkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAlB;;AAUA,2BAAiB,YAAK;AAC1B,UAAI,OAAO,SAAP,KAAqB,WAAzB,EAAsC;AAClC,cAAK,eAAL;AACH;AACJ,KAJO;;AAtDJ,UAAK,KAAL,GAAa;AACT,gCAA0B,EAAE,CADnB;AAET,2BAAqB,EAAE;AAFd,KAAb;AAFJ;AAMC;;;;wCAIgB;AAAA;;AACb,UAAM,SAAS,GAAG,YAAlB;AACA,UAAM,eAAe,GAAG,QAAQ,CAAC,cAAT,CAAwB,SAAxB,CAAxB;AAEA,WAAK,cAAL,GAAsB,IAAI,cAAJ,CAAmB,iBAAO;AAAA,eAAI,OAAO,CAAC,OAAR,CAAgB,WAAC,EAAG;AACpE,gBAAI,CAAC,sBAAL,CAA4B,CAAC,CAAC,WAAF,CAAc,MAA1C;AACH,SAFmD,CAAJ;AAAA,OAA1B,CAAtB;AAIA,qBAAe,IAAI,KAAK,cAAL,CAAoB,OAApB,CAA4B,eAA5B,CAAnB;AACH;;;2CAEmB;AAChB,WAAK,cAAL,IAAuB,KAAK,cAAL,CAAoB,UAApB,EAAvB;AACH;;;6BAuCK;AAAA,wBAC2J,KAAK,KADhK;AAAA,UACM,cADN,eACM,cADN;AAAA,UACsB,OADtB,eACsB,OADtB;AAAA,UAC+B,KAD/B,eAC+B,KAD/B;AAAA,UACsC,eADtC,eACsC,eADtC;AAAA,UACuD,YADvD,eACuD,YADvD;AAAA,UACqE,uBADrE,eACqE,uBADrE;AAAA,UAC8F,kBAD9F,eAC8F,kBAD9F;AAAA,UACkH,YADlH,eACkH,YADlH;AAAA,UACgI,SADhI,eACgI,SADhI;AAAA,UAC2I,WAD3I,eAC2I,WAD3I;AAAA,wBAE4D,KAAK,KAFjE;AAAA,UAEM,0BAFN,eAEM,0BAFN;AAAA,UAEkC,qBAFlC,eAEkC,qBAFlC;AAGF,UAAM,gBAAgB,GAAG,4BAAzB;AACA,UAAM,QAAQ,GAAG,YAAY,IAAI,YAAY,CAAC,GAAb,KAAqB,EAArC,IAA2C,YAAY,CAAC,QAAxD,IAAoE,YAAY,CAAC,QAAb,KAA0B,QAA9F,GAAyG,YAAY,CAAC,QAAtH,GAAiI,eAAlJ;AAEA,aACI;AAAK,iBAAS,wCAAiC,uBAAuB,GAAG,MAAH,GAAY,MAApE,CAAd;AAA4F,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAAnG,SACI;AAAQ,iBAAS,EAAC,uBAAlB;AAA0C,eAAO,EAAE,OAAnD;AAA0D,sBAAa;AAAvE,QADJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAQ,iBAAS,4BAAqB,kBAAkB,IAAI,SAAtB,GAAkC,wBAAlC,GAA6D,EAAlF,CAAjB;AAAyG,eAAO,EAAE,KAAK,oBAAvH;AAA2I,sBAAc,cAAc,qBAAc,KAAd,qBAAkC,KAAlC;AAAvK,SACI;AAAK,iBAAS,mCAA4B,cAAc,GAAG,OAAH,GAAa,EAAvD;AAAd,QADJ,CADJ,EAKI;AAAQ,iBAAS,sCAA+B,kBAAkB,GAAG,UAAH,GAAgB,EAAjE,CAAjB;AAAwF,eAAO,EAAE,KAAK,WAAtG;AAAmH,gBAAQ,EAAE,kBAA7H;AAA+I,sBAAa;AAA5J,SAA8K,IAA9K,CALJ,EAMI;AAAQ,iBAAS,mCAA4B,kBAAkB,GAAG,UAAH,GAAgB,EAA9D,CAAjB;AAAqF,eAAO,EAAE,KAAK,QAAnG;AAA6G,gBAAQ,EAAE,kBAAvH;AAAyI,sBAAa;AAAtJ,SAA+K,IAA/K,CANJ,EAQI;AAAK,iBAAS,8CAAuC,kBAAkB,GAAG,UAAH,GAAgB,EAAzE;AAAd,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAO,YAAI,EAAC,OAAZ;AAAoB,iBAAS,EAAC,UAA9B;AAAyC,WAAG,EAAE,QAA9C;AAAwD,aAAK,EAAE,YAA/D;AAA6E,gBAAQ,EAAE,KAAK,iBAA5F;AAA+G,gBAAQ,EAAE;AAAzH,QADJ,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACI,kCAAO,+BAAa,YAAb,CAAP,CADJ,EAEI,kCAAO,+BAAa,QAAb,CAAP,CAFJ,CALJ,CADJ,CARJ,CAFJ,EAwBI;AAAK,iBAAS,EAAC;AAAf,SACK,WAAW,IACR;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,yCAAkC,qBAAlC;AAAd,SAAuE,8FAAvE,CADJ,EAEI;AAAQ,iBAAS,EAAC,0BAAlB;AAA6C,eAAO,EAAE,KAAK;AAA3D,SACK,gBAAgB,KAAK,QAArB,GAAgC;AAAK,iBAAS,EAAC;AAAf,QAAhC,GAAgF;AAAK,iBAAS,EAAC;AAAf,QADrF,CAFJ,CAFR,EASI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAE,uBAAhB;AAAyC,+BAAuB,EAAE;AAAE,gBAAM,EAAE,KAAK,IAAI;AAAnB;AAAlE,QADJ,CATJ,CAxBJ,CAHJ,CADJ;AA4CH;;;;EAjH2C,KAAK,CAAC,S;;AAAtD,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;;AAIA;;AACA;;AAsBA,IAAY,gBAAZ;;AAAA,WAAY,gBAAZ,EAA4B;AACxB;AACA;AACH,CAHD,EAAY,gBAAgB,GAAhB,wDAAgB,EAAhB,CAAZ;;IAkDa,e;;;;;AAYT,2BAAY,KAAZ,EAAuC;AAAA;;AAAA;;AACnC,yFAAM,KAAN;AATI,yBAAiC,MAAiB,GACpD,SADoD,GAEpD,IAAI,KAAJ,EAFE;AAKA,mBAAS,CAAC,CAAV;AACA,kBAAe,IAAf;;AAuEA,wCAA8B,YAAK;AAAA,UAC/B,eAD+B,GACX,MAAK,KADM,CAC/B,eAD+B;AAAA,UAE/B,YAF+B,GAEd,MAAK,KAFS,CAE/B,YAF+B;AAGvC,UAAM,gBAAgB,GAAG,IAAI,CAAC,KAAL,CACpB,YAAY,GAAG,eAAhB,GAAmC,GADd,CAAzB;;AAGA,UAAI,gBAAgB,KAAK,EAAzB,EAA6B;AACzB,cAAK,YAAL,CAAkB,wBAAlB;AACH,OAFD,MAEO,IAAI,gBAAgB,KAAK,EAAzB,EAA6B;AAChC,cAAK,YAAL,CAAkB,wBAAlB;AACH,OAFM,MAEA,IAAI,gBAAgB,KAAK,EAAzB,EAA6B;AAChC,cAAK,YAAL,CAAkB,wBAAlB;AACH;AACJ,KAbO;AAeR;;;;;AAGQ,oCAA0B,YAAK;AACnC,YAAK,YAAL,CAAkB,KAAlB;;AACA,YAAK,KAAL,CAAW,sBAAX,CAAkC,IAAlC;AACH,KAHO;AAKR;;;;;AAGQ,qCAA2B,YAAK;AACpC,YAAK,KAAL,CAAW,sBAAX,CAAkC,KAAlC;;AACA,YAAK,YAAL,CAAkB,IAAlB;AACH,KAHO;;AAKA,+BAAqB,UAAC,WAAD,EAAgB;AACzC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;AACH,KAFO;;AAIA,6BAAmB,UAAC,QAAD,EAAqB;AAC5C,YAAK,QAAL,CAAc;AAAE,kBAAU,EAAE;AAAd,OAAd;AACH,KAFO;;AAID,sBAAY,YAAK;AACpB,aAAO,MAAK,KAAL,CAAW,cAAlB;AACH,KAFM;;AAIP,2BAAiB,YAAK;AAAA,wBAC8B,MAAK,KADnC;AAAA,UACV,cADU,eACV,cADU;AAAA,UACM,mBADN,eACM,mBADN;AAAA,wBAGd,MAAK,KAHS;AAAA,UAEV,QAFU,eAEV,QAFU;AAAA,UAEA,2BAFA,eAEA,2BAFA;AAAA,UAE6B,WAF7B,eAE6B,WAF7B;AAKlB,UAAI,4BAAJ,EAAmB;;AAEnB,UAAI,cAAJ,EAAoB;AAChB,cAAK,KAAL,IAAc,MAAK,KAAL,CAAW,OAAX,EAAd;;AACA,cAAK,YAAL,CAAkB,KAAlB;;AACA,cAAK,YAAL,CAAkB,aAAlB;;AACA,eAAO,gBAAgB,CAAC,KAAxB;AACH,OALD,MAKO;AACH,YAAI,CAAC,MAAK,YAAL,CAAkB,YAAlB,CAA+B,iBAA/B,CAAL,EAAwD;AACpD,gBAAK,YAAL,CAAkB,YAAlB,CAA+B,iBAA/B,EAAkD,GAAlD;;AACA,gBAAK,SAAL,CAAe,QAAf;AACH;;AACD,YAAI,2BAA2B,IAAI,kBAAkB,SAArD,EAAgE;AAC5D;AACA,mBAAS,CAAC,YAAV,CAAuB,QAAvB,GAAkC,IAAI,aAAJ,CAC9B,2BAD8B,CAAlC;AAGH;;AACD,YAAI,MAAM,CAAC,cAAP,kCAAJ,EAAoC;AAChC,cAAI,MAAM,CAAC,cAAX,EAA2B;AACvB,kBAAM,CAAC,cAAP,CAAsB,IAAtB;AACH;;AACD,gBAAM,CAAC,cAAP;AACH;;AACD,YAAI,MAAK,KAAL,IAAc,CAAC,mBAAnB,EAAwC;AACpC,gBAAK,KAAL,CAAW,OAAX;;AACA,gBAAK,YAAL,CAAkB,qBAAlB;;AACA,gBAAK,QAAL,CAAc;AAAE,+BAAmB,EAAE;AAAvB,WAAd;AACH,SAJD,MAIO,IAAI,WAAJ,EAAiB;AACpB,gBAAK,KAAL,CAAW,QAAX;AACH,SAFM,MAEA;AACH,gBAAK,YAAL,CAAkB,yBAAlB;;AACA,cAAI,WAAW,GAAG,MAAK,YAAL,CAAkB,IAAlB,EAAlB;;AACA,gBAAK,QAAL,CAAc;AAAE,yBAAa,EAAE;AAAjB,WAAd;;AAEA,cAAI,WAAW,KAAK,SAApB,EAA+B;AAC3B,uBAAW,CACN,IADL,CACU,UAAC,CAAD,EAAM;AACR,oBAAK,QAAL,CAAc;AAAE,6BAAa,EAAE;AAAjB,eAAd;;AACA,oBAAK,YAAL,CAAkB,aAAlB;AACH,aAJL,EAKK,KALL,CAKW,UAAC,KAAD,EAAU;AACb,qBAAO,CAAC,KAAR,CAAc,KAAd;AACH,aAPL;AAQH;AACJ;;AACD,cAAK,YAAL,CAAkB,kBAAlB;;AACA,eAAO,gBAAgB,CAAC,IAAxB;AACH;AACJ,KAtDD;;AAwDO,iBAAO,YAAK;AACf,YAAK,QAAL,CAAc;AACV,+BAAuB,EAAE,KADf;AAEV,2BAAmB,EAAE;AAFX,OAAd;;AAKA,UAAI,MAAK,KAAL,CAAW,WAAf,EAA4B;AACxB,cAAK,KAAL,IAAc,MAAK,KAAL,CAAW,OAAX,EAAd;;AACA,cAAK,KAAL,CAAW,sBAAX,CAAkC,KAAlC;;AACA,cAAK,gBAAL;AACH,OAJD,MAIO;AACH,cAAK,YAAL,CAAkB,KAAlB;;AACA,cAAK,YAAL,CAAkB,WAAlB,GAAgC,CAAhC;AACH;;AAED,YAAK,KAAL,IAAc,MAAK,KAAL,CAAW,UAAX,CAAsB,IAAtB,CAAd;AACH,KAhBM;;AAkBA,iBAAO,UAAC,YAAD,EAA2B;AACrC,UAAI,MAAK,KAAL,IAAc,YAAlB,EAAgC;AAC5B,cAAK,KAAL,CAAW,OAAX;;AACA,cAAK,YAAL,CAAkB,qBAAlB;AACH,OAHD,MAGO;AACH,cAAK,YAAL,CAAkB,IAAlB;AACH;AACJ,KAPM;;AASA,sBAAY,UAAC,MAAD,EAAmB;AAClC,UAAM,UAAU,GAAG,MAAK,KAAL,CAAW,cAA9B;AACA,UAAM,aAAa,GAAG,MAAK,KAAL,CAAW,YAAjC;;AAEA,UAAI,MAAK,GAAT,EAAc;AACV,cAAK,GAAL,CAAS,OAAT;;AACA,cAAK,GAAL,GAAW,IAAI,GAAJ,CAAQ;AAAE,uBAAa,EAAE;AAAjB,SAAR,CAAX;;AACA,cAAK,GAAL,CAAS,UAAT,CAAoB,MAApB;;AACA,cAAK,GAAL,CAAS,WAAT,CAAqB,MAAK,YAA1B;AACH,OALD,MAKO;AACH,cAAK,YAAL,CAAkB,GAAlB,GAAwB,MAAxB;AACA,cAAK,MAAL,GAAc,aAAd;AACH;;AAED,UAAI,UAAJ,EAAgB;AACZ,YAAI,WAAW,GAAG,MAAK,YAAL,CAAkB,IAAlB,EAAlB;;AACA,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;;AAEA,YAAI,WAAW,KAAK,SAApB,EAA+B;AAC3B,qBAAW,CACN,IADL,CACU,UAAC,CAAD,EAAM;AACR,kBAAK,QAAL,CAAc;AAAE,2BAAa,EAAE;AAAjB,aAAd;AACH,WAHL,EAIK,KAJL,CAIW,UAAC,KAAD,EAAU;AACb,mBAAO,CAAC,KAAR,CAAc,KAAd;AACH,WANL;AAOH;AACJ;AACJ,KA5BM;;AA8BC,gCAAsB,UAAC,GAAD,EAAQ;AAClC,UAAI,MAAK,KAAL,CAAW,gCAAX,IAA+C,GAAnD,EAAwD;AACpD,cAAK,oBAAL,GAA4B,IAAI,oBAAJ,CACxB,gBAAY;AAAA;AAAA,cAAV,KAAU;;AACR,gBAAK,QAAL,CAAc,UAAC,KAAD;AAAA,mBAAY;AACtB,qCAAuB,EACnB,KAAK,CAAC,cAAN,IAAwB,CAAC,KAAK,CAAC;AAFb,aAAZ;AAAA,WAAd;AAIH,SANuB,EAOxB;AAAE,mBAAS,EAAE;AAAb,SAPwB,CAA5B;;AASA,cAAK,oBAAL,CAA0B,OAA1B,CAAkC,GAAlC;AACH;AACJ,KAbO;;AAeA,kCAAwB;AAAA,aAC5B,MAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,MAAK,YAAL,CAAkB;AAAlC,OAAd,CAD4B;AAAA,KAAxB;;AAGA,4BAAkB,YAAK;AAC3B,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;;AACA,UAAI,CAAC,MAAK,KAAL,CAAW,gCAAhB,EAAkD;AAC9C,cAAK,QAAL,CAAc;AAAE,iCAAuB,EAAE;AAA3B,SAAd;AACH;;AACD;AACH,KANO;;AAQA,6BAAmB,YAAK;AAC5B,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;;AACA;;AAEA,YAAK,YAAL,CAAkB,aAAlB;AACH,KALO;;AAOA,6BAAmB;AAAA,aACvB,MAAK,QAAL,CAAc;AACV,sBAAc,EAAE,KADN;AAEV,+BAAuB,EAAE;AAFf,OAAd,CADuB;AAAA,KAAnB;;AAMA,6BAAmB,YAAK;AAAA,UACpB,KADoB,GACV,MAAK,KADK,CACpB,KADoB;;AAG5B,UAAI,KAAJ,EAAW;AACP,cAAK,QAAL,CAAc;AAAE,wBAAc,EAAE;AAAlB,SAAd,EAAwC;AAAA,iBAAM,KAAK,EAAX;AAAA,SAAxC;AACH,OAFD,MAEO;AACH,cAAK,QAAL,CAAc;AAAE,wBAAc,EAAE;AAAlB,SAAd;AACH;;AACD,YAAK,YAAL,CAAkB,cAAlB;AACH,KATO;;AAWA,yBAAe,UAAC,SAAD,EAAsB;AACzC,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAAxC,IAAqD,CAAC,MAAK,KAAL,CAAW,WAArE,EAAkF;AADzC,yBAIrC,MAAK,KAJgC;AAAA,UAGjC,WAHiC,gBAGjC,WAHiC;AAAA,UAGpB,eAHoB,gBAGpB,eAHoB;AAAA,UAGH,WAHG,gBAGH,WAHG;AAAA,UAGU,QAHV,gBAGU,QAHV;AAAA,UAGoB,MAHpB,gBAGoB,MAHpB;AAAA,UAG4B,2BAH5B,gBAG4B,2BAH5B;AAAA,UAKjC,SALiC,GAKuB,WALvB,CAKjC,SALiC;AAAA,UAKtB,KALsB,GAKuB,WALvB,CAKtB,KALsB;AAAA,UAKf,kBALe,GAKuB,WALvB,CAKf,kBALe;AAAA,UAKK,aALL,GAKuB,WALvB,CAKK,aALL;AAMzC,UAAI,IAAI,GAAG,WAAW,IAAI,aAAf,IAAgC,EAA3C;AACA,UAAI,UAAU,GAAE,2BAA2B,GAAG,2BAA2B,CAAC,KAA/B,GAAyC,KAAK,IAAI,EAA7F;AACA,UAAI,UAAU,GAAG,2BAA2B,GAAG,2BAA2B,CAAC,KAA/B,GAAuC,EAAnF;AACA,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,SADW;AAElB,kBAAU,EAAE,SAAS,GAAG,SAAH,GAAe,EAFlB;AAGlB,yBAAiB,EAAE,kBAHD;AAIlB;AACA,kBAAU,WALQ;AAMlB,oBAAY,EAAE,eANI;AAOlB,mBAAW,EAAE,UAPK;AAQlB,gBAAQ,EAAE,IAAI,CAAC,KAAL,CAAW,GAAX,EAAgB,GAAhB,EARQ;AASlB,sBAAc,EAAE,cATE;AAUlB,yBAAiB,EAAE,0BAVD;AAWlB,iBAAS,EAAE,QAXO;AAYlB,sBAAc,EAAE,OAZE;AAalB,kBAAU,EAAE,MAAM,GAAG,MAAH,GAAY,OAbZ;AAclB,0BAAkB,EAAE,UAdF;AAelB,0BAAkB,EAAE,UAfF;AAgBlB,oCAA4B,YAAK,UAAL,cAAmB,UAAnB;AAhBV,OAAtB;AAmBH,KA5BO;;AA8BA,+BAAqB,YAAK;AAC9B,UAAI,CAAC,MAAK,GAAN,IAAa,MAAK,MAAL,GAAc,CAAC,CAAhC,EAAmC;AAC/B,cAAK,YAAL,CAAkB,WAAlB,GAAgC,MAAK,MAArC;AACA,cAAK,MAAL,GAAc,CAAC,CAAf;AACH;;AAED,YAAK,QAAL,CAAc;AAAE,0BAAkB,EAAE;AAAtB,OAAd;AACH,KAPO;;AASA,+BAAqB;AAAA,aAAM,MAAK,QAAL,CAAc;AAAE,iBAAS,EAAE;AAAb,OAAd,CAAN;AAAA,KAArB;;AAEA,8BAAoB;AAAA,aAAM,MAAK,QAAL,CAAc;AAAE,iBAAS,EAAE;AAAb,OAAd,CAAN;AAAA,KAApB;;AAED,+BAAqB,UAAC,YAAD,EAAyB;AACjD,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAZ;AAAF,OAAd,EAAgC,YAAK;AACjC,cAAK,YAAL,CAAkB,WAAlB,GAAgC,MAAK,KAAL,CAAW,YAA3C;AACH,OAFD;AAGH,KAJM;;AAMC,6BAAmB,YAAK;AAC5B,YAAK,QAAL,CAAc;AAAE,eAAO,EAAE,CAAC,MAAK,KAAL,CAAW;AAAvB,OAAd,EAAgD,YAAK;AACjD,YAAI,MAAK,KAAL,CAAW,OAAf,EAAwB;AACpB,gBAAK,YAAL,CAAkB,KAAlB,GAA0B,IAA1B;AACA,gBAAK,KAAL,IAAc,MAAK,KAAL,CAAW,WAAX,CAAuB,CAAvB,CAAd;;AACA,gBAAK,YAAL,CAAkB,YAAlB;AACH,SAJD,MAIO;AACH,gBAAK,YAAL,CAAkB,KAAlB,GAA0B,KAA1B;AACA,gBAAK,KAAL,IAAc,MAAK,KAAL,CAAW,WAAX,CAAuB,CAAvB,CAAd;;AACA,gBAAK,YAAL,CAAkB,cAAlB;AACH;AACJ,OAVD;AAWH,KAZO;;AAcA,qBAAW,UAAC,GAAD,EAAe;AAC9B,UAAI,MAAK,KAAL,CAAW,KAAf,EAAsB,MAAK,KAAL,GAAa,GAAb;AACzB,KAFO;;AAIA,0BAAgB,YAAK;AACzB,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;;AACA,YAAK,YAAL,CAAkB,sBAAlB;AACH,KAHO;;AApVJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE,KADP;AAET,6BAAuB,EAAE,KAFhB;AAGT,kBAAY,EAAE,CAHL;AAIT,wBAAkB,EAAE,IAJX;AAKT,eAAS,EAAE,KALF;AAMT,aAAO,EAAE,KANA;AAOT,gBAAU,EAAE,CAPH;AAQT,oBAAc,EAAE,CARP;AAST,yBAAmB,EAAE,KATZ;AAUT,mBAAa,EAAE;AAVN,KAAb;AAFmC;AActC;;;;wCAEgB;AACb,UAAI,4BAAJ,EAAmB;;AACnB,UACI,OAAO,GAAP,KAAe,WAAf,IACA,GAAG,CAAC,WAAJ,EADA,IAEA,KAAK,KAAL,CAAW,QAAX,CAAoB,QAApB,CAA6B,OAA7B,CAHJ,EAIE;AACE,aAAK,GAAL,GAAW,IAAI,GAAJ,EAAX;AACH;;AACD,WAAK,YAAL,CAAkB,gBAAlB,CAAmC,OAAnC,EAA4C,KAAK,gBAAjD;AACA,WAAK,YAAL,CAAkB,gBAAlB,CAAmC,OAAnC,EAA4C,KAAK,gBAAjD;AACA,WAAK,YAAL,CAAkB,gBAAlB,CAAmC,OAAnC,EAA4C,KAAK,gBAAjD;AACA,WAAK,YAAL,CAAkB,gBAAlB,CAAmC,MAAnC,EAA2C,KAAK,eAAhD;AACA,WAAK,YAAL,CAAkB,gBAAlB,CACI,YADJ,EAEI,KAAK,qBAFT;AAIA,WAAK,YAAL,CAAkB,gBAAlB,CAAmC,SAAnC,EAA8C,KAAK,kBAAnD;AACA,WAAK,YAAL,CAAkB,gBAAlB,CAAmC,SAAnC,EAA8C,KAAK,kBAAnD;AACA,WAAK,YAAL,CAAkB,gBAAlB,CAAmC,QAAnC,EAA6C,KAAK,iBAAlD;AACH;;;2CAEmB;AAChB,UAAI,4BAAJ,EAAmB;AACnB,WAAK,YAAL,CAAkB,mBAAlB,CAAsC,OAAtC,EAA+C,KAAK,gBAApD;AACA,WAAK,YAAL,CAAkB,mBAAlB,CAAsC,OAAtC,EAA+C,KAAK,gBAApD;AACA,WAAK,YAAL,CAAkB,mBAAlB,CAAsC,OAAtC,EAA+C,KAAK,gBAApD;AACA,WAAK,YAAL,CAAkB,mBAAlB,CAAsC,MAAtC,EAA8C,KAAK,eAAnD;AACA,WAAK,YAAL,CAAkB,mBAAlB,CACI,YADJ,EAEI,KAAK,qBAFT;AAIA,WAAK,YAAL,CAAkB,mBAAlB,CACI,SADJ,EAEI,KAAK,kBAFT;AAIA,WAAK,YAAL,CAAkB,mBAAlB,CACI,SADJ,EAEI,KAAK,kBAFT;AAIA,WAAK,YAAL,CAAkB,mBAAlB,CAAsC,QAAtC,EAAgD,KAAK,iBAArD;AACA,WAAK,YAAL,CAAkB,KAAlB;AACA,WAAK,oBAAL,IAA6B,KAAK,oBAAL,CAA0B,UAA1B,EAA7B;AACH;;;uCAEkB,Q,EAA8B;AAC7C,UAAI,4BAAJ,EAAmB;;AACnB,UAAI,KAAK,KAAL,CAAW,QAAX,KAAwB,QAAQ,CAAC,QAArC,EAA+C;AAC3C,aAAK,SAAL,CAAe,KAAK,KAAL,CAAW,QAA1B;AACH;;AACD,WAAK,2BAAL;AACH;;;6BAwRK;AAAA,yBAWE,KAAK,KAXP;AAAA,UAEE,cAFF,gBAEE,cAFF;AAAA,UAGE,uBAHF,gBAGE,uBAHF;AAAA,UAIE,YAJF,gBAIE,YAJF;AAAA,UAKE,kBALF,gBAKE,kBALF;AAAA,UAME,SANF,gBAME,SANF;AAAA,UAOE,OAPF,gBAOE,OAPF;AAAA,UAQE,UARF,gBAQE,UARF;AAAA,UASE,cATF,gBASE,cATF;AAAA,UAUE,aAVF,gBAUE,aAVF;AAAA,yBAaE,KAAK,KAbP;AAAA,UAYM,eAZN,gBAYM,eAZN;AAAA,UAYuB,sBAZvB,gBAYuB,sBAZvB;AAAA,UAY+C,QAZ/C,gBAY+C,QAZ/C;AAAA,UAYyD,KAZzD,gBAYyD,KAZzD;;AAcF,UAAI,MAAiB,IAAI,4BAAzB,EAAwC;AACpC,eACI;AAAK,mBAAS,EAAC;AAAf,WACK,QAAQ,CAAC;AACN,wBAAc,EAAd,cADM;AAEN,2BAAiB,EAAE,KAAK,cAFlB;AAGN,sBAAY,EAAE,KAAK;AAHb,SAAD,CADb,CADJ;AASH;;AACD,aACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,aAAD,EAAM;AACF,WAAG,EAAE,KAAK,QADR;AAEF,aAAK,EAAE,KAFL;AAGF,oBAAY,EAAE,KAAK,YAHjB;AAIF,+BAAuB,EAAE,KAAK,uBAJ5B;AAKF,gCAAwB,EAAE,KAAK,wBAL7B;AAMF,0BAAkB,EAAE,KAAK,kBANvB;AAOF,wBAAgB,EAAE,KAAK,gBAPrB;AAQF,uBAAe,EAAE,KAAK,eARpB;AASF,qBAAa,EAAE,KAAK,gBATlB;AAUF,wBAAgB,EAAE,KAAK;AAVrB,OAAN,CADJ,EAaK,QAAQ,CAAC;AACN,sBAAc,EAAd,cADM;AAEN,yBAAiB,EAAE,KAAK,cAFlB;AAGN,oBAAY,EAAE,KAAK;AAHb,OAAD,CAbb,EAkBK,sBAAsB,CAAC;AACpB,uBAAe,EAAf,eADoB;AAEpB,oBAAY,EAAZ,YAFoB;AAGpB,eAAO,EAAE,KAAK,IAHM;AAIpB,sBAAc,EAAd,cAJoB;AAKpB,oBAAY,EAAE,KAAK,YALC;AAMpB,+BAAuB,EAAE,uBANL;AAOpB,0BAAkB,EAAlB,kBAPoB;AAQpB,iBAAS,EAAT,SARoB;AASpB,eAAO,EAAP,OAToB;AAUpB,kBAAU,EAAV,UAVoB;AAWpB,sBAAc,EAAd,cAXoB;AAYpB,qBAAa,EAAb,aAZoB;AAapB,gBAAQ,EAAE,KAAK,kBAbK;AAcpB,wBAAgB,EAAE,KAAK,gBAdH;AAepB,yBAAiB,EAAE,KAAK;AAfJ,OAAD,CAlB3B,CADJ;AAsCH;;;;EAtagC,KAAK,CAAC,S;;AAA3C,0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IChEa,K;;;;;AAAb;AAAA;;AAAA;;;AAKY,6BAAmB,IAAI,IAAJ,GAAW,UAAX,CAAsB,CAAC,CAAvB,CAAnB;;AAED,oBAAU,YAAK;AAClB,UAAI;AACA,YAAI,MAAK,YAAL,EAAJ,EAAyB;AACrB,gBAAK,kBAAL,CAAwB,UAAxB;;AACA,gBAAK,UAAL,CAAgB,IAAhB;;AACA,gBAAK,UAAL,CAAgB,KAAhB;AACH,SAJD,MAIO;AACH,gBAAK,KAAL,CAAW,YAAX,CAAwB,IAAxB;AACH;AACJ,OARD,CAQE,OAAO,OAAP,EAAgB;AACd,cAAK,KAAL,CAAW,YAAX,CAAwB,IAAxB;;AACA,eAAO,CAAC,KAAR,CAAc,OAAd;AACH;AACJ,KAbM;;AAeA,oBAAU,YAAK;AAClB,YAAK,UAAL,IAAmB,MAAK,UAAL,CAAgB,KAAhB,EAAnB;AACH,KAFM;;AAIA,qBAAW,YAAK;AACnB,YAAK,UAAL,IAAmB,MAAK,UAAL,CAAgB,MAAhB,EAAnB;AACH,KAFM;;AAIA,mBAAS,YAAK;AACjB,YAAK,UAAL,IAAmB,MAAK,UAAL,CAAgB,IAAhB,EAAnB;AACH,KAFM;;AAIA,wBAAc,UAAC,MAAD,EAAmB;AACpC,YAAK,UAAL,IAAmB,MAAK,UAAL,CAAgB,SAAhB,CAA0B,MAA1B,CAAnB;AACH,KAFM;;AAKA,uBAAa,UAAC,kBAAD,EAAiC;AACjD,UAAG,kBAAH,EAAuB,MAAK,gBAAL,GAAwB,IAAI,IAAJ,GAAW,UAAX,CAAsB,CAAC,CAAvB,CAAxB;;AACvB,YAAK,SAAL,CAAe,eAAf;;AACA,YAAK,UAAL,CAAgB,OAAhB;;AACA,YAAK,UAAL,CAAgB,MAAK,KAAL,CAAW,KAA3B;AACH,KALM;;AAOC,oBAAU,UAAC,YAAD,EAAiC;AAAA,UACvC,YADuC,GACtB,MAAK,KADiB,CACvC,YADuC;;AAE/C,UAAI;AACA,cAAK,kBAAL,GAA0B,IAAI,MAAM,CAAC,GAAP,CAAW,kBAAf,CAAkC,YAAlC,EAAgD,YAAhD,CAA1B,CADA,CACyF;;AACzF,cAAK,SAAL,GAAiB,IAAI,MAAM,CAAC,GAAP,CAAW,SAAf,CAAyB,MAAK,kBAA9B,CAAjB,CAFA,CAEoE;;AAEpE,cAAK,UAAL,CAAgB,MAAK,KAAL,CAAW,KAA3B;;AAEA,cAAK,SAAL,CAAe,gBAAf,CAAgC,MAAM,CAAC,GAAP,CAAW,qBAAX,CAAiC,IAAjC,CAAsC,kBAAtE,EAA0F,MAAK,kBAA/F,EAAmH,KAAnH;AACH,OAPD,CAOE,WAAK;AACH,eAAO,CAAC,KAAR,CAAc,wBAAd;AACH;AACJ,KAZO;;AAcA,uBAAa,UAAC,KAAD,EAAkB;AACnC,UAAM,UAAU,GAAG,IAAI,MAAM,CAAC,GAAP,CAAW,UAAf,EAAnB,CADmC,CACa;;AAChD,gBAAU,CAAC,QAAX,GAAsB,KAAtB;;AACA,YAAK,SAAL,CAAe,UAAf,CAA0B,UAA1B,EAHmC,CAGI;;AAC1C,KAJO;;AAMA,+BAAqB,UAAC,qBAAD,EAA0B;AAAA,wBAC6C,MAAK,KADlD;AAAA,UAC3C,YAD2C,eAC3C,YAD2C;AAAA,UAC7B,uBAD6B,eAC7B,uBAD6B;AAAA,UACJ,wBADI,eACJ,wBADI;AAAA,UACsB,kBADtB,eACsB,kBADtB,EAGnD;;AACA,UAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,GAAP,CAAW,oBAAf,EAA7B;AACA,0BAAoB,CAAC,2CAArB,GAAmE,IAAnE,CALmD,CAMnD;;AACA,YAAK,UAAL,GAAkB,qBAAqB,CAAC,aAAtB,CAAoC,YAApC,EAAkD,oBAAlD,CAAlB,CAPmD,CASnD;;AACA,YAAK,UAAL,CAAgB,gBAAhB,CAAiC,MAAM,CAAC,GAAP,CAAW,YAAX,CAAwB,IAAxB,CAA6B,QAA9D,EAAwE,MAAK,SAA7E;;AACA,YAAK,UAAL,CAAgB,gBAAhB,CAAiC,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,uBAAzD,EAAkF,uBAAlF;;AACA,YAAK,UAAL,CAAgB,gBAAhB,CAAiC,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,wBAAzD,EAAmF,wBAAnF;;AACA,YAAK,UAAL,CAAgB,gBAAhB,CAAiC,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,iBAAzD,EAA4E,MAAK,SAAjF;;AACA,YAAK,UAAL,CAAgB,gBAAhB,CAAiC,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,WAAzD,EAAsE,UAAC,QAAD;AAAA,eAAc,kBAAkB,CAAC,QAAQ,CAAC,SAAT,GAAqB,WAAtB,CAAhC;AAAA,OAAtE,EAdmD,CAgBnD;;;AACA,YAAK,UAAL,CAAgB,gBAAhB,CAAiC,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,MAAzD,EAAiE,MAAK,SAAtE;;AACA,YAAK,UAAL,CAAgB,gBAAhB,CAAiC,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,OAAzD,EAAkE,MAAK,SAAvE;;AACA,YAAK,UAAL,CAAgB,gBAAhB,CAAiC,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,QAAzD,EAAmE,MAAK,SAAxE;;AACA,YAAK,UAAL,CAAgB,gBAAhB,CAAiC,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,MAAzD,EAAiE,MAAK,SAAtE;;AACA,YAAK,UAAL,CAAgB,gBAAhB,CAAiC,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,OAAzD,EAAkE,MAAK,SAAvE;AACH,KAtBO;AAwBR;;;;;;AAIQ,sBAAY,UAAC,YAAD,EAAiB;AACjC,aAAO,CAAC,KAAR,CAAc,YAAY,CAAC,QAAb,EAAd;;AACA,YAAK,UAAL,CAAgB,OAAhB;AACH,KAHO;AAKR;;;;;;AAIQ,sBAAY,UAAC,OAAD,EAAY;AAC5B;AACA,UAAM,EAAE,GAAG,OAAO,CAAC,KAAR,EAAX;;AAEA,cAAQ,OAAO,CAAC,IAAhB;AACI,aAAK,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,MAA7B;AACI;AACA,cAAI,CAAC,EAAE,CAAC,QAAH,EAAL,EAAoB,CACnB;;AACD;;AAEJ,aAAK,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,OAA7B;AACI,cAAI,EAAE,CAAC,QAAH,EAAJ,EAAmB;AACf,kBAAK,KAAL,CAAW,eAAX;;AACA,kBAAK,KAAL,CAAW,gBAAX,CAA4B,EAAE,CAAC,WAAH,EAA5B;AACH;;AACD;;AAEJ,aAAK,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,MAA7B;AACI,cAAI,EAAE,CAAC,QAAH,EAAJ,EAAmB;AACf,kBAAK,KAAL,CAAW,aAAX;AACH;;AACD;;AAEJ,aAAK,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,OAA7B;AACI,cAAI,EAAE,CAAC,QAAH,EAAJ,EAAmB;AACf,kBAAK,KAAL,CAAW,eAAX;AACH;;AACD;;AAEJ,aAAK,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,QAA7B;AACI,cAAI,EAAE,CAAC,QAAH,EAAJ,EAAmB;AACf,kBAAK,gBAAL,GAAwB,IAAI,IAAJ,GAAW,OAAX,EAAxB;AACH;;AACD,gBAAK,KAAL,CAAW,gBAAX;;AACA;;AAEJ,aAAK,MAAM,CAAC,GAAP,CAAW,OAAX,CAAmB,IAAnB,CAAwB,iBAA7B;AACI,cAAI,EAAE,CAAC,QAAH,EAAJ,EAAmB;AACf,kBAAK,UAAL;AACH;;AACD;AArCR;AAuCH,KA3CO;;AA6CA,yBAAe,YAAK;AACxB;AACA,aAAQ,IAAI,IAAJ,GAAW,OAAX,KAAuB,MAAK,gBAA7B,GAAiD,MAAxD;AACH,KAHO;;AApJZ;AAgKC;;;;6BAPS;AAAA,UACM,KADN,GACgB,KAAK,KADrB,CACM,KADN;AAGF,UAAI,CAAC,KAAL,EAAY,OAAO,IAAP;AAEZ,aAAO;AAAK,iBAAS,EAAC,2BAAf;AAA2C,aAAK,EAAE;AAAE,iBAAO,EAAE;AAAX,SAAlD;AAAuE,WAAG,EAAE,KAAK;AAAjF,QAAP;AACH;;;;EA/JsB,KAAK,CAAC,S;;AAAjC,sB;;;;;;;;;;;;;;;ACdA;;AAEA,SAAgB,UAAhB,CAA2B,WAA3B,EAA+C;AAC3C,MAAI,KAAJ,EAAuB;AACvB,MAAM,EAAE,GAAG,aAAa,CAAC,WAAD,CAAxB;AACA,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAR,EAAgB,MAAM,CAAC,aAAvB,CAAvC;AAEA,SAAO,gBAAgB,CAAC,EAAD,EAAK,MAAM,CAAC,wBAAZ,EAAsC,UAAtC,CAAvB;AACH;;AAND;;AAQA,IAAM,gBAAgB,GAAG,SAAnB,gBAAmB,CAAC,EAAD,EAAa,eAAb,EAAsC,WAAtC;AAAA,kEAC6B,EAD7B,8BACmD,kBAAkB,CAAC,eAAD,CADrE,uIACmN,kBAAkB,CAAC,WAAD,CADrO;AAAA,CAAzB;;AAGA,SAAS,aAAT,CAAuB,WAAvB,EAA2C;AACvC,MAAI,YAAJ;;AAEA,MAAI,WAAJ,EAAiB;AACb,gBAAY,uBAAgB,4BAAhB,CAAZ;AACH,GAFD,MAEO;AACH,gBAAY,GAAG,SAAf;AACH;;AAED,8BAAqB,YAArB;AACH;;AAED,SAAS,oBAAT,CAA8B,MAA9B,EAA8C,IAA9C,EAA0D;AACtD,MAAM,eAAe,GAAG,IAAI,eAAJ,CAAoB,MAAM,CAAC,QAAP,CAAgB,MAApC,CAAxB;AACA,MAAI,KAAK,oBAAa,MAAb,mBAA4B,IAA5B,CAAT;;AAEA,MAAI,eAAe,CAAC,GAAhB,CAAoB,SAApB,CAAJ,EAAoC;AAChC,SAAK,uBAAgB,eAAe,CAAC,GAAhB,CAAoB,SAApB,CAAhB,CAAL;AACH;;AAED,SAAO,KAAP;AACH,C;;;;;;;;;;;;;;AClCD;;AACA;;AAEA;;AAgBA,SAAgB,aAAhB,CAA8B,KAA9B,EAAuD;AAAA,MAC3C,SAD2C,GACkE,KADlE,CAC3C,SAD2C;AAAA,MAChC,KADgC,GACkE,KADlE,CAChC,KADgC;AAAA,MACzB,WADyB,GACkE,KADlE,CACzB,WADyB;AAAA,MACZ,WADY,GACkE,KADlE,CACZ,WADY;AAAA,MACC,WADD,GACkE,KADlE,CACC,WADD;AAAA,MACc,eADd,GACkE,KADlE,CACc,eADd;AAAA,MAC+B,UAD/B,GACkE,KADlE,CAC+B,UAD/B;AAAA,MAC2C,kBAD3C,GACkE,KADlE,CAC2C,kBAD3C;AAGnD,SACI,oBAAC,iCAAD,EAAgB,kBACR,KADQ,EACH;AACT,UAAM,EAAE,OADC;AAET,eAAW,EAAE,WAFJ;AAGT,YAAQ,EAAE,kBAAC,KAAD;AAAA,aAAgC,oBAAC,cAAD,EAAe,kBAAK,KAAL,EAAU;AAAE,iBAAS,EAAE,SAAb;AAAwB,mBAAW,EAAE;AAArC,OAAV,CAAf,CAAhC;AAAA,KAHD;AAIT,0BAAsB,EAAE,gCAAC,KAAD;AAAA,aACpB,oBAAC,qCAAD,EAAkB,kBACV,KADU,EACL;AACT,aAAK,EAAE,KADE;AAET,mBAAW,EAAE,WAFJ;AAGT,mBAAW,EAAE,WAHJ;AAIT,uBAAe,EAAE,eAJR;AAKT,kBAAU,EAAE,UALH;AAMT,0BAAkB,EAAE;AANX,OADK,CAAlB,CADoB;AAAA;AAJf,GADG,CAAhB,CADJ;AAmBH;;AAtBD;AAwBA,aAAa,CAAC,cAAd,GAA+B,eAA/B;;AAEA,SAAgB,cAAhB,OAAmK;AAAA,MAAlI,cAAkI,QAAlI,cAAkI;AAAA,MAAlH,iBAAkH,QAAlH,iBAAkH;AAAA,MAA/F,SAA+F,QAA/F,SAA+F;AAAA,MAApF,WAAoF,QAApF,WAAoF;AAE/J,MAAM,gBAAgB,GAAG,WAAW,IAAI,WAAW,CAAC,WAA3B,IAA0C,WAAW,CAAC,WAAZ,CAAwB,SAA3F;AACA,MAAM,QAAQ,GAAG,WAAW,IAAI,WAAW,CAAC,QAA3B,GAAsC,WAAW,CAAC,QAAZ,CAAqB,UAA3D,GAAwE,EAAzF;AACA,MAAI,SAAS,GAAG,EAAhB;;AAEA,MAAI,WAAW,IAAI,gBAAnB,EAAqC;AACjC,aAAS,GAAG;AACR,QAAE,EAAE,WAAW,CAAC,SADR;AAER,UAAI,EAAE,WAAW,CAAC,KAFV;AAGR,WAAK,YAAK,QAAL,gBAAmB,WAAW,CAAC,KAA/B,CAHG;AAIR,qBAAe,EAAE,gBAAgB,CAAC,eAJ1B;AAKR,cAAQ,EAAE,gBAAgB,CAAC,QALnB;AAMR,cAAQ,EAAE,gBAAgB,CAAC,QANnB;AAOR,iBAAW,EAAE,WAAW,CAAC;AAPjB,KAAZ;AASH;;AAED,MAAM,YAAY,6FACS,WAAW,GAAG,WAAW,CAAC,SAAf,GAA2B,EAD/C,mBACyD,IAAI,CAAC,SAAL,CAAe,SAAf,CADzD,MAAlB;AAGA,SACI,WAAW,IAAI,OAAO,MAAP,KAAkB,WAAjC,IAAgD,mCAAoB,OAApB,CAAhD,IAAgF,CAAC,MAAM,CAAC,sBAAxF,GACI;AAAG,QAAI,sBAAe,WAAW,CAAC,SAA3B;AAAP,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,IADJ,CADJ,EAII;AAAQ,QAAI,EAAC,iBAAb;AAA+B,2BAAuB,EAAE;AAAE,YAAM,EAAE;AAAV;AAAxD,IAJJ,CADJ,GAQI;AAAQ,aAAS,EAAE,SAAnB;AAA8B,WAAO,EAAE,iBAAvC;AAAwD,kBAAc,cAAc,GAAG,OAAH,GAAa;AAAjG,KACI;AAAK,aAAS,qCAA8B,cAAc,GAAG,OAAH,GAAa,EAAzD;AAAd,IADJ,CATR;AAaH;;AAlCD,wC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7CA,mBAAO,CAAC,mCAAD,CAAP;;AAEA;;AACA;;IAmBa,wB;;;;;AACT;AAAA;;AAAA;;AACI;;AAiCI,mCAAyB,YAAK;AAClC,UAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,6BAAvB,CAArB;AACA,UAAM,cAAc,GAAG,QAAQ,CAAC,aAAT,CAAuB,qCAAvB,CAAvB;AACA,UAAI,aAAa,GAAG,KAApB;;AACA,UAAI,YAAY,IAAI,cAApB,EAAoC;AAChC,qBAAa,GAAG,YAAY,CAAC,WAAb,GAA2B,cAAc,CAAC,WAA1D;AACH;;AACD,aAAO,aAAP;AACH,KARO;;AAUA,mCAAyB,UAAC,MAAD,EAAmB;AAChD,YAAK,QAAL,CAAc;AAAE,kCAA0B,EAAE;AAA9B,OAAd;AACH,KAFO;;AA1CJ,UAAK,KAAL,GAAa;AACT,wBAAkB,EAAE,IADX;AAET,gCAA0B,EAAE;AAFnB,KAAb;AAFJ;AAMC;;;;wCAIgB;AAAA;;AACb,UAAM,SAAS,GAAG,KAAK,KAAL,CAAW,WAAX,GAAyB,YAAzB,GAAwC,YAA1D;AACA,UAAM,eAAe,GAAG,QAAQ,CAAC,cAAT,CAAwB,SAAxB,CAAxB;AAEA,WAAK,QAAL,CAAc;AAAE,0BAAkB,EAAE,KAAK,sBAAL;AAAtB,OAAd;AAGA,WAAK,cAAL,GAAsB,IAAI,cAAJ,CAAmB,iBAAO;AAAA,eAAI,OAAO,CAAC,OAAR,CAAgB,WAAC,EAAG;AACpE,gBAAI,CAAC,sBAAL,CAA4B,CAAC,CAAC,WAAF,CAAc,MAA1C;AACH,SAFmD,CAAJ;AAAA,OAA1B,CAAtB;AAIA,qBAAe,IAAI,KAAK,cAAL,CAAoB,OAApB,CAA4B,eAA5B,CAAnB;AACH;;;uCAEkB,S,EAAS;AACxB,UAAI,KAAK,KAAL,CAAW,WAAX,KAA2B,SAAS,CAAC,WAAzC,EAAsD;AAClD,aAAK,QAAL,CAAc;AAAE,4BAAkB,EAAE,KAAK,sBAAL;AAAtB,SAAd;AACH;AACJ;;;2CAEmB;AAChB,WAAK,cAAL,IAAuB,KAAK,cAAL,CAAoB,UAApB,EAAvB;AACH;;;6BAgBK;AAAA,wBAC4I,KAAK,KADjJ;AAAA,8CACM,WADN;AAAA,UACqB,KADrB,yBACqB,KADrB;AAAA,UAC4B,MAD5B,yBAC4B,MAD5B;AAAA,UACsC,cADtC,eACsC,cADtC;AAAA,UACsD,uBADtD,eACsD,uBADtD;AAAA,UAC+E,OAD/E,eAC+E,OAD/E;AAAA,UACwF,SADxF,eACwF,SADxF;AAAA,UACmG,WADnG,eACmG,WADnG;AAAA,UACgH,iBADhH,eACgH,iBADhH;AAAA,UACmI,IADnI,eACmI,IADnI;AAAA,wBAEyD,KAAK,KAF9D;AAAA,UAEM,0BAFN,eAEM,0BAFN;AAAA,UAEkC,kBAFlC,eAEkC,kBAFlC;AAIF,UAAM,kBAAkB,GAAG,IAAI,KAAK,UAAT,GAAsB,UAAtB,GAAmC,UAA9D;AACA,UAAM,WAAW,GAAG,IAAI,KAAK,UAAT,GAAsB,kBAAtB,GAA2C,iBAA/D;AACA,UAAM,QAAQ,GAAG;AACb,YAAI,EAAE,KADO;AACA,gBAAQ,EAAE,IADV;AACgB,oBAAY,EAAE,CAD9B;AACiC,sBAAc,EAAE,CADjD;AACoD,gBAAQ,EAAE,IAD9D;AAEb,aAAK,EAAE,KAAK,CAAC,MAAN,GAAe,GAFT;AAEc,qBAAa,EAAE,CAF7B;AAEgC,WAAG,EAAE,IAFrC;AAE2C,cAAM,EAAE,KAFnD;AAE0D,eAAO,EAAE;AAFnE,OAAjB;AAKA,UAAM,WAAW,GAAG,KAAK,GACrB,0CACI;AAAK,iBAAS,EAAC;AAAf,SAAwB,KAAxB,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SAAyB,MAAzB,CAHJ,CADqB,GAOrB,WAPJ;AASA,aACI;AAAK,iBAAS,mCAA4B,uBAAuB,GAAG,MAAH,GAAY,MAA/D,CAAd;AAAuF,aAAK,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA9F,SACI;AAAQ,iBAAS,EAAC,4BAAlB;AAA+C,eAAO,EAAE,OAAxD;AAA+D,sBAAa;AAA5E,QADJ,EAGI;AAAQ,iBAAS,mCAA4B,SAAS,GAAG,6BAAH,GAAmC,EAAxE,CAAjB;AAA+F,eAAO,EAAE,iBAAxG;AAAyH,sBAAc,cAAc,qBAAc,KAAd,qBAAkC,KAAlC;AAArJ,SACI;AAAK,iBAAS,0CAAmC,cAAc,GAAG,OAAH,GAAa,EAA9D;AAAd,QADJ,CAHJ,EAOI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA4B,kBAA5B,CAFJ,CAPJ,EAYI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,kBAAkB,GACf,0CACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO,kBAAK,QAAL,CAAP,EACI;AAAK,iBAAS,EAAC;AAAf,SAA6C,WAA7C,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA6C,WAA7C,CAFJ,CADJ,CAFJ,EAQI;AAAK,iBAAS,EAAC;AAAf,QARJ,CADe,GAWf;AAAK,iBAAS,EAAC;AAAf,SAA6C,WAA7C,CAZR,CADJ,CAZJ,CADJ;AAgCH;;;;EArGyC,KAAK,CAAC,S;;AAApD,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICRa,yB;;;;;AAKT,qCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,mGAAM,KAAN;;AAcJ,mCAAyB,YAAK;AAAA,UAClB,iBADkB,GACI,MAAK,KADT,CAClB,iBADkB;AAAA,UAElB,gBAFkB,GAEG,MAAK,KAFR,CAElB,gBAFkB;;AAI1B,UAAI,iBAAiB,CAAC,MAAlB,GAA2B,CAA3B,IAAgC,gBAAgB,KAAK,CAAC,CAAtD,IAA2D,gBAAgB,GAAG,CAAnB,GAAuB,iBAAiB,CAAC,MAApG,IAA8G,iBAAiB,CAAC,gBAAD,CAA/H,IAAqJ,iBAAiB,CAAC,gBAAD,CAAjB,CAAoC,UAA7L,EAAyM;AACrM,cAAK,KAAL,GAAa,UAAU,CAAC,YAAK;AACzB,gBAAK,QAAL,CAAc;AAAE,4BAAgB,EAAE,gBAAgB,GAAG;AAAvC,WAAd,EAA0D,YAAK;AAC3D;AACA,gBAAM,OAAO,GAAG,iBAAiB,CAAC,MAAK,KAAL,CAAW,gBAAZ,CAAjC;;AACA,kBAAK,sBAAL;AACH,WAJD;AAKH,SANsB,EAMpB,IAAI,IAAJ,CAAS,iBAAiB,CAAC,gBAAD,CAAjB,CAAoC,UAA7C,EAAyD,OAAzD,KAAqE,IAAI,IAAJ,GAAW,OAAX,EANjD,CAAvB;AAOH;AACJ,KAbD;;AAeQ,wBAAc,UAAC,IAAD,EAA2B;AAC7C,UAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAlB,EAA6B;AACzB,2BAAY,IAAI,CAAC,SAAjB,gBAAgC,IAAI,CAAC,OAArC;AACH;;AACD,aAAO,EAAP;AACH,KALO;;AA5BJ,UAAK,KAAL,GAAa;AACT,sBAAgB,EAAE,KAAK,CAAC;AADf,KAAb;AAFa;AAKhB;;;;wCAEgB;AACb,WAAK,sBAAL;AACH;;;2CAEmB;AAChB,kBAAY,CAAC,KAAK,KAAN,CAAZ;AACH;;;6BAwBK;AAAA,wBACqD,KAAK,KAD1D;AAAA,UACM,WADN,eACM,WADN;AAAA,UACmB,UADnB,eACmB,UADnB;AAAA,UAC+B,iBAD/B,eAC+B,iBAD/B;AAAA,UAEM,gBAFN,GAE2B,KAAK,KAFhC,CAEM,gBAFN;AAGF,UAAM,WAAW,GAAG,iBAAiB,IAAI,iBAAiB,CAAC,gBAAD,CAAtC,IAA4D,gBAAhF;AAEA,aACI,0CACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,YAAI;AAAP,SAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAAmD,WAAW,CAAC,aAAZ,GAA4B,MAA5B,GAAqC,EAAxF,CADJ,EAEK,CAAC,WAAW,CAAC,SAAb,IAA0B;AAAK,iBAAS,EAAC,4BAAf;AAA4C,WAAG,EAAE;AAAjD,QAF/B,EAGK,CAAC,WAAW,CAAC,SAAb,IAA0B;AAAK,iBAAS,EAAC;AAAf,SAAuC,YAAvC,CAH/B,EAII;AAAK,iBAAS,EAAC;AAAf,SAA6C,KAAK,WAAL,CAAiB,WAAjB,CAA7C,CAJJ,CADJ,EAQI;AAAK,iBAAS,EAAC;AAAf,SAA8C,WAAW,CAAC,KAAZ,IAAqB,iBAAnE,CARJ,CALJ,CAFJ,CADJ,EAqBI;AAAK,iBAAS,EAAC;AAAf,SACK,WAAW,IACR;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,iBAAS,EAAC,gCAAb;AAA8C,YAAI,EAAE,UAAU,CAAC,IAAX,CAAgB;AAApE,SACI;AAAK,iBAAS,EAAC;AAAf,SAAkD,WAAlD,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,CADJ,CAFR,CArBJ,CADJ,CADJ;AAmCH;;;;EAlF0C,KAAK,CAAC,S;;AACnC,2CAAiB,2BAAjB;AADlB;AAqFA,IAAM,gBAAgB,GAAqB;AACvC,OAAK,EAAE,EADgC;AAEvC,WAAS,EAAE,EAF4B;AAGvC,SAAO,EAAE,EAH8B;AAIvC,eAAa,EAAE,KAJwB;AAKvC,WAAS,EAAE;AAL4B,CAA3C,C;;;;;;;;;;;;;;;;;;;;;;;AClGA;;AACA;;AAEA;;AAWa,sCAA8B,UAAC,KAAD,EAA4C;AACnF,MAAM,QAAQ,GAAG;AACb,QAAI,EAAE,KADO;AAEb,YAAQ,EAAE,IAFG;AAGb,gBAAY,EAAE,CAHD;AAIb,kBAAc,EAAE,CAJH;AAKb,YAAQ,EAAE,IALG;AAMb,SAAK,EAAE,KAAK,CAAC,WAAN,CAAkB,KAAlB,CAAwB,MAAxB,GAAiC,GAN3B;AAOb,iBAAa,EAAE,CAPF;AAQb,OAAG,EAAE,IARQ;AASb,UAAM,EAAE,KATK;AAUb,WAAO,EAAE;AAVI,GAAjB;AADmF,MAa3E,WAb2E,GAc1B,KAd0B,CAa3E,WAb2E;AAAA,MAa9D,cAb8D,GAc1B,KAd0B,CAa9D,cAb8D;AAAA,MAa9C,iBAb8C,GAc1B,KAd0B,CAa9C,iBAb8C;AAAA,MAa3B,YAb2B,GAc1B,KAd0B,CAa3B,YAb2B;AAAA,MAab,WAba,GAc1B,KAd0B,CAab,WAba;AAAA,MAaA,UAbA,GAc1B,KAd0B,CAaA,UAbA;AAAA,MAaY,UAbZ,GAc1B,KAd0B,CAaY,UAbZ;AAAA,MAawB,gBAbxB,GAc1B,KAd0B,CAawB,gBAbxB;AAAA,2BAc1B,KAd0B,CAc/E,WAd+E;AAAA,MAchE,KAdgE,sBAchE,KAdgE;AAAA,MAczD,aAdyD,sBAczD,aAdyD;AAAA,MAc1C,SAd0C,sBAc1C,SAd0C;;AAAA,0BAejC,iBAAS,GAAT,CAfiC;AAAA;AAAA,MAe5E,iBAf4E;AAAA,MAezD,oBAfyD;;AAAA,2BAgB/B,iBAAS,IAAT,CAhB+B;AAAA;AAAA,MAgB5E,kBAhB4E;AAAA,MAgBxD,qBAhBwD;;AAiBnF,MAAM,oBAAoB,GAAG,aAAa,IAAI,CAAC,SAA/C;;AAEA,MAAM,WAAW,GAAG,SAAd,WAAc,CAAC,IAAD,EAA2B;AAC3C,QAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAlB,EAA6B;AACzB,uBAAU,IAAI,CAAC,SAAf,gBAA8B,IAAI,CAAC,OAAnC;AACH;;AACD,WAAO,EAAP;AACH,GALD;;AAOA,MAAM,sBAAsB,GAAG,SAAzB,sBAAyB,GAAK;AAChC,QAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,0BAAvB,CAArB;AACA,QAAM,cAAc,GAAG,QAAQ,CAAC,aAAT,CAAuB,iCAAvB,CAAvB;AACA,QAAI,aAAa,GAAG,KAApB;;AACA,QAAI,YAAJ,EAAkB;AACd,mBAAa,GAAG,YAAY,CAAC,WAAb,GAA2B,cAAc,CAAC,WAA1D;AACH;;AACD,WAAO,aAAP;AACH,GARD;;AAUA,MAAM,uBAAuB,GAAG,SAA1B,uBAA0B,GAAK;AACjC,QAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,0BAAvB,CAArB;AACA,wBAAoB,CAAC,YAAY,CAAC,WAAb,GAA2B,IAA5B,CAApB;AACH,GAHD;;AAKA,oBAAU,YAAK;AACX,yBAAqB,CAAC,sBAAsB,EAAvB,CAArB;AACA,2BAAuB;AAC1B,GAHD,EAGG,CAAC,WAAD,CAHH;AAKA,SACI;AAAK,aAAS,EAAC,2BAAf;AAA2C,OAAG,EAAE;AAAhD,KACI,oBAAC,4BAAD,EAAiB;AAAC,aAAS,EAAC,wBAAX;AAAoC,QAAI,EAAE,UAA1C;AAAsD,QAAI,EAAE,UAA5D;AAAwE,cAAU,EAAE;AAApF,GAAjB,EACI;AAAK,aAAS,EAAC,8BAAf;AAA8C,OAAG,EAAE;AAAnD,IADJ,CADJ,EAKI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACK,aAAa,IAAI;AAAK,aAAS,EAAC;AAAf,KAA6C,MAA7C,CADtB,EAEK,oBAAoB,IAAI;AAAK,aAAS,EAAC,4BAAf;AAA4C,OAAG,EAAE;AAAjD,IAF7B,EAGI;AAAK,aAAS,EAAC;AAAf,KAAyC,WAAW,CAAC,WAAD,CAApD,CAHJ,CADJ,EAOI;AAAK,aAAS,EAAC;AAAf,KACK,kBAAkB,GACf,0CACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAK,aAAS,EAAC,gBAAf;AAAgC,SAAK,EAAE;AAAE,WAAK,EAAE;AAAT;AAAvC,KACI,oBAAC,qBAAD,EAAO,kBAAK,QAAL,CAAP,EACI;AAAK,aAAS,EAAC;AAAf,KAA0C,KAAK,IAAI,iBAAnD,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAA0C,KAAK,IAAI,iBAAnD,CAFJ,CADJ,CAFJ,EAQI;AAAK,aAAS,EAAC;AAAf,IARJ,CADe,GAWf;AAAK,aAAS,EAAC;AAAf,KAA0C,KAAK,IAAI,iBAAnD,CAZR,CAPJ,EAuBK,WAAW,IACR,oBAAC,4BAAD,EAAiB;AAAC,aAAS,EAAC,4BAAX;AAAwC,QAAI,EAAE,UAA9C;AAA0D,QAAI,EAAE,UAAhE;AAA4E,cAAU,EAAE;AAAxF,GAAjB,EACI;AAAK,aAAS,EAAC;AAAf,KAAwC,WAAxC,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,IAFJ,CAxBR,CALJ,EAmCI;AAAK,aAAS,EAAC,qBAAf;AAAqC,WAAO,EAAE;AAA9C,KACI;AAAK,aAAS,uCAAgC,cAAc,GAAG,OAAH,GAAa,EAA3D;AAAd,IADJ,CAnCJ,CADJ;AAyCH,CAvFY,C;;;;;;;;;;;;;;;ACbb;;AAWa,sCAA8B,UAAC,KAAD,EAA4C;AAAA,MAE3E,WAF2E,GAE6C,KAF7C,CAE3E,WAF2E;AAAA,MAE9D,UAF8D,GAE6C,KAF7C,CAE9D,UAF8D;AAAA,MAElD,UAFkD,GAE6C,KAF7C,CAElD,UAFkD;AAAA,MAEtC,gBAFsC,GAE6C,KAF7C,CAEtC,gBAFsC;AAAA,MAEpB,WAFoB,GAE6C,KAF7C,CAEpB,WAFoB;AAAA,MAEP,cAFO,GAE6C,KAF7C,CAEP,cAFO;AAAA,MAES,iBAFT,GAE6C,KAF7C,CAES,iBAFT;AAAA,MAE4B,YAF5B,GAE6C,KAF7C,CAE4B,YAF5B;;AAInF,MAAM,WAAW,GAAG,SAAd,WAAc,CAAC,IAAD,EAA2B;AAC3C,QAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAlB,EAA6B;AACzB,uBAAU,IAAI,CAAC,SAAf,gBAA8B,IAAI,CAAC,OAAnC;AACH;;AACD,WAAO,EAAP;AACH,GALD;;AAOA,SACI;AAAK,aAAS,EAAC,oCAAf;AAAoD,OAAG,EAAE;AAAzD,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC,qBAAf;AAAqC,WAAO,EAAE;AAA9C,KACI;AAAK,aAAS,uCAAgC,cAAc,GAAG,OAAH,GAAa,EAA3D;AAAd,IADJ,CADJ,EAKI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAA+C,WAAW,CAAC,aAAZ,GAA4B,MAA5B,GAAqC,EAApF,CADJ,EAEI;AAAK,aAAS,EAAC,4BAAf;AAA4C,OAAG,EAAE;AAAjD,IAFJ,EAGI;AAAK,aAAS,EAAC;AAAf,KAAyC,WAAW,CAAC,WAAD,CAApD,CAHJ,CADJ,EAOI;AAAK,aAAS,EAAC;AAAf,KAA0C,WAAW,CAAC,KAAZ,IAAqB,iBAA/D,CAPJ,CALJ,CADJ,EAiBI;AAAK,aAAS,EAAC;AAAf,KACK,WAAW,IACR;AAAK,aAAS,EAAC;AAAf,KACI,oBAAC,4BAAD,EAAiB;AAAC,aAAS,EAAC,4BAAX;AAAwC,QAAI,EAAE,UAA9C;AAA0D,QAAI,EAAE,UAAhE;AAA4E,cAAU,EAAE;AAAxF,GAAjB,EACI;AAAK,aAAS,EAAC;AAAf,KAA8C,WAA9C,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,IAFJ,CADJ,CAFR,CAjBJ,CADJ;AA6BH,CAxCY,C;;;;;;;;;;;;;;;;;;;;;;;ACZb;;AACA;;AAEA;;AAca,mCAA2B,UAAC,KAAD,EAAyC;AAC7E,MAAM,QAAQ,GAAG;AACb,QAAI,EAAE,KADO;AAEb,YAAQ,EAAE,IAFG;AAGb,gBAAY,EAAE,CAHD;AAIb,kBAAc,EAAE,CAJH;AAKb,YAAQ,EAAE,IALG;AAMb,SAAK,EAAE,KAAK,CAAC,WAAN,CAAkB,KAAlB,CAAwB,MAAxB,GAAiC,GAN3B;AAOb,iBAAa,EAAE,CAPF;AAQb,OAAG,EAAE,IARQ;AASb,UAAM,EAAE,KATK;AAUb,WAAO,EAAE;AAVI,GAAjB;AAD6E,MAarE,QAbqE,GAagF,KAbhF,CAarE,QAbqE;AAAA,MAa3D,KAb2D,GAagF,KAbhF,CAa3D,KAb2D;AAAA,MAapD,WAboD,GAagF,KAbhF,CAapD,WAboD;AAAA,MAavC,cAbuC,GAagF,KAbhF,CAavC,cAbuC;AAAA,MAavB,iBAbuB,GAagF,KAbhF,CAavB,iBAbuB;AAAA,MAaJ,cAbI,GAagF,KAbhF,CAaJ,cAbI;AAAA,MAaY,aAbZ,GAagF,KAbhF,CAaY,aAbZ;AAAA,MAa2B,aAb3B,GAagF,KAbhF,CAa2B,aAb3B;AAAA,MAa0C,mBAb1C,GAagF,KAbhF,CAa0C,mBAb1C;AAAA,MAa+D,YAb/D,GAagF,KAbhF,CAa+D,YAb/D;;AAAA,0BAc3B,iBAAS,GAAT,CAd2B;AAAA;AAAA,MActE,iBAdsE;AAAA,MAcnD,oBAdmD;;AAAA,2BAezB,iBAAS,IAAT,CAfyB;AAAA;AAAA,MAetE,kBAfsE;AAAA,MAelD,qBAfkD;;AAkB7E,MAAM,WAAW,GAAG,SAAd,WAAc,CAAC,IAAD,EAA2B;AAC3C,QAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAlB,EAA6B;AACzB,uBAAU,IAAI,CAAC,SAAf,gBAA8B,IAAI,CAAC,OAAnC;AACH;;AACD,WAAO,EAAP;AACH,GALD;;AAOA,MAAM,sBAAsB,GAAG,SAAzB,sBAAyB,GAAK;AAChC,QAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,yBAAvB,CAArB;AACA,QAAM,cAAc,GAAG,QAAQ,CAAC,aAAT,CAAuB,iCAAvB,CAAvB;AACA,QAAI,aAAa,GAAG,KAApB;;AACA,QAAI,YAAJ,EAAkB;AACd,mBAAa,GAAG,YAAY,CAAC,WAAb,GAA2B,cAAc,CAAC,WAA1D;AACH;;AACD,WAAO,aAAP;AACH,GARD;;AAUA,MAAM,uBAAuB,GAAG,SAA1B,uBAA0B,GAAK;AACjC,QAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,yBAAvB,CAArB;AACA,wBAAoB,CAAC,YAAY,CAAC,WAAb,GAA2B,IAA5B,CAApB;AACH,GAHD;;AAKA,oBAAU,YAAK;AACX,yBAAqB,CAAC,sBAAsB,EAAvB,CAArB;AACA,2BAAuB;AAC1B,GAHD,EAGG,CAAC,WAAD,CAHH;AAKA,SACI;AAAK,aAAS,EAAC,uBAAf;AAAuC,OAAG,EAAE;AAA5C,KACI;AAAK,aAAS,EAAC,kBAAf;AAAkC,SAAK,EAAE;AAAE,qBAAe,EAAE;AAAnB;AAAzC,KACI;AAAK,aAAS,EAAC;AAAf,KAAyC,KAAzC,CADJ,EAEK,cAAc,IACX,oBAAC,4BAAD,EAAiB;AAAC,aAAS,EAAC,2BAAX;AAAuC,QAAI,EAAE,aAA7C;AAA4D,QAAI,EAAE,aAAlE;AAAiF,cAAU,EAAE;AAA7F,GAAjB,EACI;AAAK,aAAS,EAAC;AAAf,KAAuC,cAAvC,CADJ,CAHR,CADJ,EASI;AAAK,aAAS,EAAC;AAAf,KACI,oBAAC,4BAAD,EAAiB;AAAC,aAAS,EAAC,wBAAX;AAAoC,QAAI,EAAE,aAA1C;AAAyD,QAAI,EAAE,aAA/D;AAA8E,cAAU,EAAE;AAA1F,GAAjB,EACI;AAAK,aAAS,EAAC,4BAAf;AAA4C,OAAG,EAAE;AAAjD,IADJ,CADJ,EAKI;AAAK,aAAS,EAAC;AAAf,KACK,kBAAkB,GACf,0CACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAK,aAAS,EAAC,gBAAf;AAAgC,SAAK,EAAE;AAAE,WAAK,EAAE;AAAT;AAAvC,KACI,oBAAC,qBAAD,EAAO,kBAAK,QAAL,CAAP,EACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAyC,WAAW,CAAC,WAAD,CAApD,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAA0C,WAAW,CAAC,KAAZ,IAAqB,iBAA/D,CAFJ,CADJ,EAKI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAyC,WAAW,CAAC,WAAD,CAApD,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAA0C,WAAW,CAAC,KAAZ,IAAqB,iBAA/D,CAFJ,CALJ,CADJ,CAFJ,EAcI;AAAK,aAAS,EAAC;AAAf,IAdJ,CADe,GAiBf;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAyC,WAAW,CAAC,WAAD,CAApD,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAA0C,WAAW,CAAC,KAAZ,IAAqB,iBAA/D,CAFJ,CAlBR,CALJ,EA6BK,WAAW,CAAC,aAAZ,IAA6B;AAAK,aAAS,EAAC;AAAf,KAAiD,MAAjD,CA7BlC,EA+BI;AAAK,aAAS,EAAC,qBAAf;AAAqC,WAAO,EAAE;AAA9C,KACI;AAAK,aAAS,uCAAgC,cAAc,GAAG,OAAH,GAAa,EAA3D;AAAd,IADJ,CA/BJ,CATJ,CADJ;AA+CH,CA5FY,C;;;;;;;;;;;;;;;AChBb;;AAaa,mCAA2B,UAAC,KAAD,EAAyC;AAAA,MAErE,QAFqE,GAEiF,KAFjF,CAErE,QAFqE;AAAA,MAE3D,KAF2D,GAEiF,KAFjF,CAE3D,KAF2D;AAAA,MAEpD,cAFoD,GAEiF,KAFjF,CAEpD,cAFoD;AAAA,MAEpC,aAFoC,GAEiF,KAFjF,CAEpC,aAFoC;AAAA,MAErB,aAFqB,GAEiF,KAFjF,CAErB,aAFqB;AAAA,MAEN,mBAFM,GAEiF,KAFjF,CAEN,mBAFM;AAAA,MAEe,WAFf,GAEiF,KAFjF,CAEe,WAFf;AAAA,MAE4B,cAF5B,GAEiF,KAFjF,CAE4B,cAF5B;AAAA,MAE6C,iBAF7C,GAEiF,KAFjF,CAE6C,iBAF7C;AAAA,MAEgE,YAFhE,GAEiF,KAFjF,CAEgE,YAFhE;;AAI7E,MAAM,WAAW,GAAG,SAAd,WAAc,CAAC,IAAD,EAA2B;AAC3C,QAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAlB,EAA6B;AACzB,uBAAU,IAAI,CAAC,SAAf,gBAA8B,IAAI,CAAC,OAAnC;AACH;;AACD,WAAO,EAAP;AACH,GALD;;AAOA,SACI;AAAK,aAAS,EAAC,6BAAf;AAA6C,OAAG,EAAE;AAAlD,KACI;AAAK,aAAS,EAAC,kBAAf;AAAkC,SAAK,EAAE;AAAE,qBAAe,EAAE;AAAnB;AAAzC,KACI;AAAK,aAAS,EAAC;AAAf,KAAyC,KAAzC,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAAmD,WAAW,CAAC,aAAZ,GAA4B,MAA5B,GAAqC,EAAxF,CAFJ,CADJ,EAMI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC,qBAAf;AAAqC,WAAO,EAAE;AAA9C,KACI;AAAK,aAAS,uCAAgC,cAAc,GAAG,OAAH,GAAa,EAA3D;AAAd,IADJ,CADJ,EAKI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAyC,WAAW,CAAC,WAAD,CAApD,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAA0C,WAAW,CAAC,KAAZ,IAAqB,iBAA/D,CAFJ,CADJ,CALJ,EAYI;AAAK,aAAS,EAAC,4BAAf;AAA4C,OAAG,EAAE;AAAjD,IAZJ,CANJ,EAqBK,cAAc,IACX;AAAK,aAAS,EAAC;AAAf,KACI,oBAAC,4BAAD,EAAiB;AAAC,aAAS,EAAC,4BAAX;AAAwC,QAAI,EAAE,aAA9C;AAA6D,QAAI,EAAE,aAAnE;AAAkF,cAAU,EAAE;AAA9F,GAAjB,EACI;AAAK,aAAS,EAAC;AAAf,KAA8C,cAA9C,CADJ,EAEI;AAAK,aAAS,EAAC;AAAf,IAFJ,CADJ,CAtBR,CADJ;AA+BH,CA1CY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfb,mBAAO,CAAC,mCAAD,CAAP;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AAEA;;AACA;;AAEA;;AACA;;AACA;;IAsBa,6B;;;;;;;;;;;;;6BAGH;AAAA,wBAEuE,KAAK,KAF5E;AAAA,UACM,QADN,eACM,QADN;AAAA,UACgB,KADhB,eACgB,KADhB;AAAA,UACuB,cADvB,eACuB,cADvB;AAAA,UACuC,aADvC,eACuC,aADvC;AAAA,UACsD,aADtD,eACsD,aADtD;AAAA,UACqE,mBADrE,eACqE,mBADrE;AAAA,UAC0F,iBAD1F,eAC0F,iBAD1F;AAAA,UAC6G,WAD7G,eAC6G,WAD7G;AAAA,UAC0H,aAD1H,eAC0H,aAD1H;AAAA,UAEE,sBAFF,eAEE,sBAFF;AAAA,UAE0B,mBAF1B,eAE0B,mBAF1B;AAAA,UAE+C,mBAF/C,eAE+C,mBAF/C;AAGF,UAAM,MAAM,GAAG,WAAW,GAAG,mDAAH,GAA8B,kDAAxD;AACA,UAAM,aAAa,GAAG,WAAW,GAAG,yDAAH,GAAiC,yDAAlE;AACA,aACI,oBAAC,+BAAD,EAAe;AACX,aAAK,EAAE,KADI;AAEX,mBAAW,EAAE,WAFF;AAGX,qBAAa,EAAE,aAHJ;AAIX,yBAAiB,EAAE,iBAJR;AAKX,8BAAsB,EAAE,sBALb;AAMX,2BAAmB,EAAE,mBANV;AAOX,wCAAgC,EAAE,IAPvB;AAQX,gCAAwB,EAAE;AAAA,cAAG,cAAH,QAAG,cAAH;AAAA,cAAmB,iBAAnB,QAAmB,iBAAnB;AAAA,cAAsC,YAAtC,QAAsC,YAAtC;AAAA,cAAoD,WAApD,QAAoD,WAApD;AAAA,iBAAsE,mBAAmB,GAC/G,oBAAC,aAAD,EAAc;AACV,uBAAW,EAAE,cADH;AAEV,sBAAU,EAAE,aAFF;AAGV,sBAAU,EAAE,aAHF;AAIV,4BAAgB,EAAE,mBAJR;AAKV,uBAAW,EAAE,WALH;AAMV,0BAAc,EAAE,cANN;AAOV,6BAAiB,EAAE,iBAPT;AAQV,wBAAY,EAAE;AARJ,WAAd,CAD+G,GAY/G,oBAAC,MAAD,EAAO;AACH,oBAAQ,EAAE,QADP;AAEH,iBAAK,EAAE,KAFJ;AAGH,0BAAc,EAAE,cAHb;AAIH,yBAAa,EAAE,aAJZ;AAKH,yBAAa,EAAE,aALZ;AAMH,+BAAmB,EAAE,mBANlB;AAOH,uBAAW,EAAE,WAPV;AAQH,0BAAc,EAAE,cARb;AASH,6BAAiB,EAAE,iBAThB;AAUH,wBAAY,EAAE;AAVX,WAAP,CAZsB;AAAA;AARf,OAAf,CADJ;AAoCH;;;;EA5C8C,KAAK,CAAC,S;;AACvC,+CAAiB,+BAAjB;AADlB,sE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BA;;AACA;;IAqBa,sB;;;;;AAGT,kCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,gGAAM,KAAN;;AAMI,yCAA+B,UAAC,gBAAD,EAA6B;AAChE,YAAK,QAAL,CAAc;AAAE,mBAAW,EAAE;AAAf,OAAd;AACH,KAFO;;AALJ,UAAK,KAAL,GAAa;AACT,iBAAW,EAAE,KAAK,CAAC;AADV,KAAb;AAFa;AAKhB;;;;6BAMK;AAAA,wBAC6H,KAAK,KADlI;AAAA,UACM,iBADN,eACM,iBADN;AAAA,UACyB,WADzB,eACyB,WADzB;AAAA,UACsC,mBADtC,eACsC,mBADtC;AAAA,UAC2D,sBAD3D,eAC2D,sBAD3D;AAAA,UACmF,SADnF,eACmF,SADnF;AAAA,UAC8F,WAD9F,eAC8F,WAD9F;AAAA,UAC2G,aAD3G,eAC2G,aAD3G;AAAA,UAEM,WAFN,GAEsB,KAAK,KAF3B,CAEM,WAFN;AAIF,aACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,6CAAD,EAAsB;AAClB,2BAAmB,EAAE,iBAAiB,CAAC,WAAD,CADpB;AAElB,2BAAmB,EAAE,mBAFH;AAGlB,8BAAsB,EAAE,sBAHN;AAIlB,mBAAW,EAAE,WAJK;AAKlB,qBAAa,EAAE,aALG;AAMlB,yBAAiB,EAAE,iBAND;AAOlB,gCAAwB,EAAE,KAAK;AAPb,OAAtB,CADJ,EAUI,oBAAC,2CAAD,EAAqB;AACjB,yBAAiB,EAAE,iBADF;AAEjB,mBAAW,EAAE,WAFI;AAGjB,mBAAW,EAAE,WAHI;AAIjB,iBAAS,EAAE,SAJM;AAKjB,mBAAW,EAAE;AALI,OAArB,CAVJ,CADJ;AAoBH;;;;EAtCuC,KAAK,CAAC,S;;AAChC,wCAAiB,wBAAjB;AADlB,wD;;;;;;;;;;;;;;;ACtBA;;AACA;;AASA,IAAM,qBAAqB,GAAG,SAAxB,qBAAwB,CAAC,KAAD,EAAsC;AAAA,MACxD,IADwD,GACN,KADM,CACxD,IADwD;AAAA,MAClD,aADkD,GACN,KADM,CAClD,aADkD;AAAA,MACnC,iBADmC,GACN,KADM,CACnC,iBADmC;AAAA,MAChB,KADgB,GACN,KADM,CAChB,KADgB;AAAA,MAExD,SAFwD,GAEqB,IAFrB,CAExD,SAFwD;AAAA,MAE7C,OAF6C,GAEqB,IAFrB,CAE7C,OAF6C;AAAA,MAEpC,KAFoC,GAEqB,IAFrB,CAEpC,KAFoC;AAAA,MAE7B,YAF6B,GAEqB,IAFrB,CAE7B,YAF6B;AAAA,MAEf,SAFe,GAEqB,IAFrB,CAEf,SAFe;AAAA,MAEJ,QAFI,GAEqB,IAFrB,CAEJ,QAFI;AAAA,MAEM,UAFN,GAEqB,IAFrB,CAEM,UAFN;;AAIhE,MAAM,mBAAmB,GAAG,SAAtB,mBAAsB,GAAK;AAC7B,QAAM,UAAU,GAAG,qCAAiB,YAAjB,CAAnB;AACA,QAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAJ,CAAS,YAAT,EAAuB,OAAvB,EAAD,CAAN,CAAyC,QAAzC,CAAkD,CAAlD,EAAqD,GAArD,CAAZ;AACA,QAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAJ,CAAS,YAAT,EAAuB,QAAvB,KAAoC,CAArC,CAAN,CAA8C,QAA9C,CAAuD,CAAvD,EAA0D,GAA1D,CAAd;AACA,QAAM,IAAI,GAAG,IAAI,IAAJ,CAAS,YAAT,EAAuB,WAAvB,GAAqC,QAArC,GAAgD,MAAhD,CAAuD,CAAC,CAAxD,CAAb;AACA,QAAM,IAAI,aAAM,GAAN,cAAa,KAAb,cAAsB,IAAtB,CAAV;;AAEA,QAAI,UAAU,KAAK,CAAnB,EAAsB;AAClB,aAAO,OAAP,CADkB,CACF;AACnB;;AACD,QAAI,UAAU,KAAK,CAAC,CAApB,EAAuB;AACnB,aAAO,KAAP;AACH;;AACD,QAAI,UAAU,GAAG,CAAb,IAAkB,UAAU,GAAG,CAAC,CAApC,EAAuC;AACnC,aAAO,IAAP;AACH;;AACD,WAAO,EAAP;AACH,GAjBD;;AAmBA,MAAM,IAAI,GAAG,mBAAmB,EAAhC;AACA,MAAM,cAAc,GAAG,SAAS,aAAM,IAAI,GAAG,IAAH,GAAU,EAApB,cAA8B,IAAI,GAAG,IAAI,GAAG,IAAV,GAAiB,EAAnD,cAAyD,SAAzD,gBAAwE,OAAxE,CAAhC;AAEA,SACI;AAAK,aAAS,+BAAwB,iBAAiB,GAAG,QAAH,GAAc,EAAvD,CAAd;AAA2E,MAAE,+BAAwB,KAAxB;AAA7E,KACK,aAAa,GACV;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KAA2B,qEAA3B,CAFJ,CADU,GAQV;AAAK,aAAS,EAAC;AAAf,KACK,cADL,CATR,EAYI,oBAAC,4BAAD,EAAiB;AAAC,aAAS,EAAC,YAAX;AAAwB,QAAI,EAAE,QAAQ,IAAI,QAAQ,CAAC,IAArB,IAA6B,QAAQ,CAAC,IAAT,CAAc,IAAzE;AAA+E,cAAU,EAAE;AAA3F,GAAjB,EACK,KADL,CAZJ,CADJ;AAkBH,CA5CD;;AA8CA,kBAAe,qBAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzDA;;IAgBa,oB;;;;;AACT,gCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,8FAAM,KAAN;AAMI,sBAAoB,GAApB;;AAkBR,8BAAoB,UAAC,MAAD,EAAmB;AAAA,UAC3B,WAD2B,GACX,MAAK,KADM,CAC3B,WAD2B;;AAEnC,UAAI,WAAJ,EAAiB;AACb;AACH;;AACD,UAAM,OAAO,GAAG;AACZ,WAAG,EAAE,CADO;AAEZ,YAAI,EAAE,CAFM;AAGZ,gBAAQ,EAAE;AAHE,OAAhB;AAKA,aAAO,CAAC,IAAR,GAAe,MAAK,SAApB;;AACA,UAAI,MAAM,KAAK,SAAf,EAA0B;AACtB,eAAO,CAAC,IAAR,GAAe,CAAE,MAAK,SAAtB;AACH;;AACD,cAAQ,CAAC,aAAT,CAAuB,gBAAvB,EAAyC,QAAzC,CAAkD,OAAlD;AACH,KAfD;;AAvBI,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE;AADN,KAAb;AAFa;AAKhB;;;;wCAIgB;AAAA,wBAC2C,KAAK,KADhD;AAAA,UACL,WADK,eACL,WADK;AAAA,UACQ,WADR,eACQ,WADR;AAAA,UACqB,iBADrB,eACqB,iBADrB;;AAEb,UAAI,WAAW,KAAK,CAAC,CAArB,EAAwB;AACpB,aAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;AACA,YAAM,UAAU,GAAG,QAAQ,CAAC,aAAT,+BAA8C,WAA9C,EAAnB;;AACA,YAAI,UAAU,IAAI,iBAAiB,CAAC,MAApC,EAA4C;AACxC,cAAI,iBAAiB,GAAI,UAAkB,CAAC,UAAnB,GAAgC,KAAK,SAAL,GAAiB,GAA1E;;AACA,cAAI,WAAJ,EAAiB;AACb,iBAAK,SAAL,GAAkB,QAAQ,CAAC,aAAT,+BAA8C,WAA9C,GAA6E,WAA/F;AACA,6BAAiB,GAAI,UAAkB,CAAC,UAAnB,GAAgC,KAAK,SAAL,GAAiB,GAAtE;AACH;;AACD,kBAAQ,CAAC,aAAT,CAAuB,gBAAvB,EAAyC,UAAzC,GAAsD,iBAAtD;AACH;AACJ;AACJ;;;6BAmBK;AAAA;;AAAA,yBACiE,KAAK,KADtE;AAAA,UACM,iBADN,gBACM,iBADN;AAAA,UACyB,WADzB,gBACyB,WADzB;AAAA,UACsC,SADtC,gBACsC,SADtC;AAAA,UACiD,WADjD,gBACiD,WADjD;AAGF,UAAM,KAAK,GAAG,EAAd;;AACA,WAAK,IAAI,KAAK,GAAG,CAAjB,EAAoB,KAAK,GAAG,iBAAiB,CAAC,MAA9C,EAAsD,KAAK,EAA3D,EAA+D;AAC3D,YAAM,IAAI,GAAG,iBAAiB,CAAC,KAAD,CAA9B;;AACA,YAAI,KAAK,IAAI,WAAW,GAAG,WAAvB,IAAsC,KAAK,IAAI,WAAW,GAAG,SAAd,GAA0B,CAA7E,EAAgF;AAC5E,eAAK,CAAC,IAAN,CACI,oBAAC,+BAAD,EAAsB;AAClB,gBAAI,EAAE,IADY;AAElB,iBAAK,EAAE,KAFW;AAGlB,yBAAa,EAAE,KAAK,KAAK,WAHP;AAIlB,eAAG,EAAE,KAJa;AAKlB,6BAAiB,EAAE,IAAI,IAAJ,GAAW,OAAX,KAAuB,IAAI,IAAJ,CAAS,IAAI,CAAC,UAAd,EAA0B,OAA1B;AALxB,WAAtB,CADJ;AASH;;AACD,YAAI,KAAK,GAAG,WAAW,GAAG,SAAd,GAA0B,CAAtC,EAAyC;AACrC;AACH;AACJ;;AAED,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAAsB,+DAAtB,CADJ,CADJ,EAOI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,2BAAf;AAA2C,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,iBAAL,CAAuB,UAAvB,CAAN;AAAA;AAApD,QADJ,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACK,KADL,CALJ,EASI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,0BAAf;AAA0C,eAAO,EAAE;AAAA,iBAAM,MAAI,CAAC,iBAAL,CAAuB,SAAvB,CAAN;AAAA;AAAnD,QADJ,CATJ,CAPJ,CADJ;AAuBH;;;;EAxFqC,KAAK,CAAC,S;;AAAhD,oD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;;AACA;;AACA;;IAca,qB;;;;;;;;;;;;;6BACH;AAAA,wBACoJ,KAAK,KADzJ;AAAA,UACM,mBADN,eACM,mBADN;AAAA,UAC2B,sBAD3B,eAC2B,sBAD3B;AAAA,UACmD,WADnD,eACmD,WADnD;AAAA,UACgE,iBADhE,eACgE,iBADhE;AAAA,UACmF,aADnF,eACmF,aADnF;AAAA,UACkG,wBADlG,eACkG,wBADlG;AAAA,UAC4H,mBAD5H,eAC4H,mBAD5H;;AAGF,UAAI,CAAC,mBAAL,EAA0B;AACtB,eAAO;AAAK,mBAAS,EAAC;AAAf,UAAP;AACH;;AALC,UAOM,KAPN,GAO0D,mBAP1D,CAOM,KAPN;AAAA,UAOa,KAPb,GAO0D,mBAP1D,CAOa,KAPb;AAAA,UAOoB,OAPpB,GAO0D,mBAP1D,CAOoB,OAPpB;AAAA,UAO6B,SAP7B,GAO0D,mBAP1D,CAO6B,SAP7B;AAAA,UAOwC,aAPxC,GAO0D,mBAP1D,CAOwC,aAPxC;AASF,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,WAAG,EAAE,KAAV;AAAiB,iBAAS,EAAC;AAA3B,QADJ,EAGK,aAAa,IAAI;AAAK,iBAAS,EAAC;AAAf,SACd;AAAK,iBAAS,EAAC,4BAAf;AAA4C,WAAG,EAAE;AAAjD,QADc,EAGZ,MAHY,CAHtB,EAQI;AAAK,iBAAS,uCAAgC,+BAAgB,YAAhB,GAA+B,EAA/D;AAAd,SACI,oBAAC,+BAAD,EAAe;AACX,mBAAW,EAAE,WADF;AAEX,8BAAsB,EAAE,sBAFb;AAGX,2BAAmB,EAAE,mBAHV;AAIX,yBAAiB,EAAE,iBAJR;AAKX,qBAAa,EAAE,aALJ;AAMX,aAAK,EAAC,YANK;AAOX,gCAAwB,EAAE,wBAPf;AAQX,gCAAwB,EAAE,kCAAC,KAAD;AAAA,iBAAU,oBAAC,oCAAD,EAAe,kBAAK,KAAL,EAAU;AAAE,qBAAS,EAAE;AAAb,WAAV,CAAf,CAAV;AAAA;AARf,OAAf,CADJ,CARJ,EAsBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,mBAAmB,CAAC,SAArB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEK,SAFL,E,KAAA,EAEmB,OAFnB,CAFR,EAMI;AAAK,iBAAS,EAAC;AAAf,SACK,KADL,CANJ,CADJ,CAtBJ,CADJ;AAqCH;;;;EA/CsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;ACjBA;;AAEA;;AACA;;AACA;;AAaA,SAAgB,mBAAhB,CAAoC,KAApC,EAAmE;AAAA,MACvD,SADuD,GACR,KADQ,CACvD,SADuD;AAAA,MAC5C,KAD4C,GACR,KADQ,CAC5C,KAD4C;AAAA,MACrC,WADqC,GACR,KADQ,CACrC,WADqC;AAAA,MACxB,WADwB,GACR,KADQ,CACxB,WADwB;AAG/D,SACI,oBAAC,iCAAD,EAAgB,kBACR,KADQ,EACH;AACT,UAAM,EAAE,OADC;AAET,YAAQ,EAAE,kBAAC,KAAD;AAAA,aAAgC,oBAAC,oCAAD,EAAe,kBAAK,KAAL,EAAU;AAAE,iBAAS,EAAE;AAAb,OAAV,CAAf,CAAhC;AAAA,KAFD;AAGT,0BAAsB,EAAE,gCAAC,KAAD;AAAA,aACpB,oBAAC,qCAAD,EAAkB,kBACV,KADU,EACL;AACT,aAAK,EAAE,KADE;AAET,YAAI,EAAC,UAFI;AAGT,mBAAW,EAAE,WAHJ;AAIT,mBAAW,EAAE,WAJJ;AAKT,kBAAU,EAAE,MALH;AAMT,oCAA4B,EAAC;AANpB,OADK,CAAlB,CADoB;AAAA;AAHf,GADG,CAAhB,CADJ;AAkBH;;AArBD;AAuBA,mBAAmB,CAAC,cAApB,GAAqC,qBAArC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCA;;IAEa,gC;;;;;;;;;;;;;6BAEI;AAAA,UACD,WADC,GACe,KAAK,KADpB,CACD,WADC;AAET,UAAI,CAAC,WAAL,EAAkB,OAAO,IAAP;AAClB,aACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,iCAAD,EAAgB;AACZ,mBAAW,EAAE,WADD;AAEZ,2BAAmB,EAAE,IAFT;AAGZ,YAAI,EAAC;AAHO,OAAhB,CADJ,CADJ;AAOH;;;;EAZiD,KAAK,CAAC,S;;AACjD,kDAAiB,kCAAjB;AADX,4E;;;;;;;;;;;;;;;;;;;;;;;ACFA;;AACA;;AACA;;AACA;;AAUa,gCAAwB,UAAC,KAAD,EAAsC;AAAA,0BAEb,iBAAS,CAAT,CAFa;AAAA;AAAA,MAEhE,qBAFgE;AAAA,MAEzC,wBAFyC;;AAAA,2BAG7B,iBAAS,KAAT,CAH6B;AAAA;AAAA,MAGhE,aAHgE;AAAA,MAGjD,gBAHiD;;AAAA,2BAInC,iBAAS,IAAT,CAJmC;AAAA;AAAA,MAIhE,UAJgE;AAAA,MAIpD,aAJoD;;AAAA,2BAKvC,iBAAS,IAAT,CALuC;AAAA;AAAA,MAKhE,QALgE;AAAA,MAKtD,WALsD;;AAAA,MAM/D,KAN+D,GAMmE,KANnE,CAM/D,KAN+D;AAAA,MAMxD,QANwD,GAMmE,KANnE,CAMxD,QANwD;AAAA,MAM9C,cAN8C,GAMmE,KANnE,CAM9C,cAN8C;AAAA,8BAMmE,KANnE,CAM9B,qBAN8B;AAAA,MAML,cANK,yBAML,cANK;AAAA,MAMW,eANX,yBAMW,eANX;AAAA,MAM4B,iBAN5B,yBAM4B,iBAN5B;AAAA,MAM+C,aAN/C,yBAM+C,aAN/C;AAOvE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAN,GAAe,CAAnC;AACA,MAAM,aAAa,GAAG,QAAQ,IAAI,aAAlC;AACA,MAAM,iBAAiB,GAAG,GAA1B,CATuE,CASxC;;AAC/B,MAAM,gBAAgB,GAAG,EAAzB,CAVuE,CAU3C;;AAE5B,MAAM,YAAY,GAAG,SAAf,YAAe,CAAC,CAAD,EAAM;AACvB,eAAW,CAAC,IAAD,CAAX,CADuB,CACL;;AAClB,iBAAa,CAAC,CAAC,CAAC,aAAF,CAAgB,CAAhB,EAAmB,OAApB,CAAb;AACH,GAHD;;AAKA,MAAM,WAAW,GAAG,SAAd,WAAc,CAAC,CAAD;AAAA,WAAO,WAAW,CAAC,CAAC,CAAC,aAAF,CAAgB,CAAhB,EAAmB,OAApB,CAAlB;AAAA,GAApB;;AAEA,MAAM,UAAU,GAAG,SAAb,UAAa,GAAK;AACpB,QAAI,CAAC,UAAD,IAAe,CAAC,QAApB,EAA8B;AAC9B,QAAM,QAAQ,GAAG,UAAU,GAAG,QAA9B;AACA,QAAM,WAAW,GAAG,QAAQ,GAAG,gBAA/B;AACA,QAAM,YAAY,GAAG,QAAQ,GAAG,CAAC,gBAAjC;;AACA,QAAI,WAAJ,EAAiB;AACb,mBAAa;AAChB,KAFD,MAEM,IAAI,YAAJ,EAAkB;AACpB,mBAAa;AAChB;AACJ,GAVD;;AAYA,MAAM,aAAa,GAAG,SAAhB,aAAgB,GAAK;AACvB,QAAI,qBAAqB,KAAK,KAAK,CAAC,MAAN,GAAe,CAA7C,EAAgD;AAC5C,8BAAwB,CAAC,CAAD,CAAxB;AACA,sBAAgB,CAAC,IAAD,CAAhB;AACH,KAHD,MAGO,IAAI,qBAAqB,GAAG,KAAK,CAAC,MAAN,GAAe,CAA3C,EAA8C;AACjD,8BAAwB,CAAC,qBAAqB,GAAG,CAAzB,CAAxB;AACA,sBAAgB,CAAC,IAAD,CAAhB;AACH;;AACD,cAAU,CAAC,YAAK;AACZ,sBAAgB,CAAC,KAAD,CAAhB;AACH,KAFS,EAEP,iBAFO,CAAV;AAGH,GAXD;;AAaA,MAAM,aAAa,GAAG,SAAhB,aAAgB,GAAK;AACvB,QAAI,qBAAqB,KAAK,CAA9B,EAAiC;AAC7B,8BAAwB,CAAC,KAAK,CAAC,MAAN,GAAe,CAAhB,CAAxB;AACA,sBAAgB,CAAC,IAAD,CAAhB;AACH,KAHD,MAGO,IAAI,qBAAqB,IAAI,KAAK,CAAC,MAAN,GAAe,CAA5C,EAA+C;AAClD,8BAAwB,CAAC,qBAAqB,GAAG,CAAzB,CAAxB;AACA,sBAAgB,CAAC,IAAD,CAAhB;AACH;;AACD,cAAU,CAAC,YAAK;AACZ,sBAAgB,CAAC,KAAD,CAAhB;AACH,KAFS,EAEP,iBAFO,CAAV;AAGH,GAXD;;AAaA,SACI;AAAK,aAAS,EAAC,yBAAf;AAAyC,SAAK,EAAE;AAAE,2BAAqB;AAAvB;AAAhD,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC,mBAAf;AAAmC,SAAK,EAAE;AAAE,YAAM,EAAE;AAAV,KAA1C;AAAmE,WAAO,EAAE;AAA5E,IADJ,EAGI;AAAK,aAAS,EAAC;AAAf,KAEK,KAAK,CAAC,GAAN,CAAU,UAAC,IAAD,EAAO,KAAP;AAAA,WACP;AACI,SAAG,EAAE,IAAI,CAAC,MADd;AAEI,gBAAU,EAAE,UAFhB;AAGI,iBAAW,EAAE,WAHjB;AAII,kBAAY,EAAE,YAJlB;AAKI,eAAS,qCAA8B,aAAa,GAAG,iBAAH,GAAuB,EAAlE,CALb;AAMI,WAAK,EAAE;AAAE,cAAM,EAAE,qBAAqB,KAAK,KAA1B,GAAkC,KAAK,CAAC,MAAN,GAAe,CAAjD,GAAqD,KAAK,CAAC,MAAN,GAAe;AAA9E;AANX,OAQI;AAAK,eAAS,EAAC,wBAAf;AAAwC,SAAG,EAAE,IAAI,CAAC,KAAL,CAAW,GAAxD;AAA6D,WAAK,EAAE,IAAI,CAAC,KAAL,CAAW,KAA/E;AAAsF,SAAG,EAAE,IAAI,CAAC,KAAL,CAAW;AAAtG,MARJ,EAUI;AAAK,eAAS,EAAC;AAAf,OAEI,oBAAC,4BAAD,EAAiB;AAAC,UAAI,EAAE,IAAI,CAAC,SAAZ;AAAuB,gBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAA9E;AAA+F,cAAQ,EAAE,IAAI,CAAC;AAA9G,KAAjB,EACI;AAAK,eAAS,EAAC;AAAf,OACK,cAAc,IAAI;AAAK,eAAS,EAAC;AAAf,OAAgC,IAAI,CAAC,KAArC,CADvB,EAGI;AAAK,eAAS,EAAC;AAAf,OACK,iBAAiB,IAAI;AAAK,eAAS,EAAC;AAAf,OAA2B,IAAI,CAAC,YAAhC,CAD1B,EAEK,iBAAiB,IAAI,IAAI,CAAC,YAA1B,IAA0C;AAAK,eAAS,EAAC;AAAf,MAF/C,EAGK,eAAe,IAAI;AAAK,eAAS,EAAC;AAAf,OAAyB,IAAI,CAAC,MAA9B,CAHxB,EAIK,eAAe,IAAI,IAAI,CAAC,MAAxB,IAAkC;AAAK,eAAS,EAAC;AAAf,MAJvC,EAKK,aAAa,IAAI,oBAAC,yBAAD,EAAY;AAAC,UAAI,EAAE,IAAI,CAAC;AAAZ,KAAZ,CALtB,CAHJ,CADJ,CAFJ,EAgBI,oBAAC,iCAAD,EAAgB;AAAC,YAAM,EAAE,IAAI,CAAC,MAAd;AAAsB,UAAI,EAAE,OAA5B;AAAqC,mBAAa,EAAE,KAApD;AAA2D,mBAAa,EAAE,IAAI,CAAC;AAA/E,KAAhB,CAhBJ,CAVJ,CADO;AAAA,GAAV,CAFL,CAHJ,EAqCI;AAAK,aAAS,EAAC,kBAAf;AAAkC,SAAK,EAAE;AAAE,YAAM,EAAE;AAAV,KAAzC;AAAkE,WAAO,EAAE;AAA3E,IArCJ,CADJ,EAyCI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,wBAAiB,aAAa,GAAG,UAAH,GAAgB,EAA9C;AAAd,IADJ,EAEI;AAAK,aAAS,wBAAiB,aAAa,GAAG,UAAH,GAAgB,EAA9C;AAAd,IAFJ,EAGI;AAAK,aAAS,wBAAiB,aAAa,GAAG,UAAH,GAAgB,EAA9C;AAAd,IAHJ,EAII;AAAK,aAAS,6BAAsB,aAAa,GAAG,gBAAH,GAAsB,EAAzD;AAAd,IAJJ,CAzCJ,EAgDI;AAAK,aAAS,EAAC;AAAf,KACK,KAAK,CAAC,GAAN,CAAU,UAAC,IAAD,EAAO,KAAP;AAAA,WAAiB;AAAK,eAAS,gBAAS,KAAK,KAAK,qBAAV,GAAkC,UAAlC,GAA+C,EAAxD,CAAd;AAA4E,SAAG,EAAE;AAAjF,MAAjB;AAAA,GAAV,CADL,CAhDJ,CADJ;AAsDH,CA/GY;;AAiHb,8BAAsB,cAAtB,GAAuC,uBAAvC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/HA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;IAea,0B;;;;;AAAb;AAAA;;AAAA;;;;AACY,oBAAU,UAAC,IAAD,EAA2B,QAA3B,EAAgD;AAC9D,UAAI,IAAI,KAAK,WAAT,IAAwB,QAA5B,EAAsC,OAAO,OAAP;AACtC,aAAO,IAAP;AACH,KAHO;;AADZ;AAkFC;;;;6BA7EgB;AAAA,wBACgI,KAAK,KADrI;AAAA,UACD,UADC,eACD,UADC;AAAA,UACW,IADX,eACW,IADX;AAAA,UACiB,WADjB,eACiB,WADjB;AAAA,UAC8B,aAD9B,eAC8B,aAD9B;AAAA,UAC6C,qBAD7C,eAC6C,qBAD7C;AAAA,UACoE,UADpE,eACoE,UADpE;AAAA,UACgF,UADhF,eACgF,UADhF;AAAA,UAC4F,WAD5F,eAC4F,WAD5F;AAAA,UACyG,KADzG,eACyG,KADzG;AAAA,UACgH,WADhH,eACgH,WADhH;AAET,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE,EAApF;AAAwF,kBAAU,EAAE;AAApG,OAAhC;AACA,UAAM,UAAU,GAAG;AAAE,aAAK,EAAE;AAAT,OAAnB;AACA,UAAM,IAAI,GAAG,IAAI,CAAC,IAAL,GAAY,IAAI,CAAC,IAAjB,GAAwB,WAArC;AACA,UAAM,cAAc,GAAG,qBAAqB,CAAC,oBAA7C;AACA,UAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,MAAN,CAAV,CAAwB,gBAA5C;AACA,UAAM,gBAAgB,GAAG,WAAW,KAAK,oBAAhB,IAAwC,KAAK,KAAK,CAA3E;AACA,UAAM,WAAW,GAAG,CAAC,gBAArB;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,WAAf;AAA0B,6BAAmB,EAA7C;AAAgD,aAAK,EAAE;AAAE,kBAAQ,EAAE,CAAC,WAAD,GAAe,UAAf,GAA4B;AAAxC;AAAvD,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qCAAD,EAAkB,IAAlB,EACI,oBAAC,8CAAD,EAAuB;AACnB,YAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UAD3B;AAEnB,aAAK,EAAE,UAFY;AAGnB,cAAM,EAAE,WAHW;AAInB,qBAAa,EAAE,aAJI;AAKnB,mBAAW,EAAE,IAAI,CAAC,SALC;AAMnB,uBAAe,EAAE,IANE;AAOnB,kBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC;AAPpC,OAAvB,CADJ,CADJ,EAYI,oBAAC,iCAAD,EAAgB;AAAC,cAAM,EAAE,IAAI,CAAC,MAAd;AAAsB,YAAI,EAAE,KAAK,OAAL,CAAa,IAAb,EAAmB,IAAI,CAAC,QAAxB,CAA5B;AAA+D,qBAAa,EAAC,QAA7E;AAAsF,qBAAa,EAAE,IAAI,CAAC,QAAL,IAAiB,IAAI,KAAK,OAA1B,IAAqC,IAAI,KAAK;AAAnJ,OAAhB,CAZJ,EAaK,CAAC,IAAI,CAAC,kBAAN,IAA4B,IAAI,CAAC,YAAjC,IAAiD,IAAI,CAAC,YAAL,CAAkB,MAAlB,GAA2B,CAA5E,IAAiF;AAAM,iBAAS,iCAA0B,IAAI,CAAC,SAA/B;AAAf,SAA4D,IAAI,CAAC,YAAjE,CAbtF,CADJ,EAiBK,CAAC,WAAD,IAAgB,IAAI,CAAC,kBAArB,IACG,oBAAC,qCAAD,EAAkB,IAAlB,EACI,oBAAC,uCAAD,EAAmB;AAAC,mBAAW,EAAE,KAAd;AAAqB,4BAAoB,EAAE,IAAI,CAAC;AAAhD,OAAnB,CADJ,CAlBR,CADJ,EAyBK,CAAC,WAAD,IAAgB;AAAK,iBAAS,EAAC;AAAf,SACZ,cAAc,IACX;AAAK,iBAAS,EAAC;AAAf,SACK,qBAAqB,CAAC,oBAAtB,IAA8C,IAAI,CAAC,cAAL,KAAwB,IAAtE,IAA8E,IAAI,CAAC,cADxF,CAFS,EAMZ,qBAAqB,CAAC,cAAtB,IACG;AAAK,iBAAS,6BAAsB,IAAI,CAAC,YAAL,GAAoB,iBAApB,GAAwC,EAA9D;AAAd,SACI,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,IAAI,CAAC,SADE;AAEb,kBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,gBAAQ,EAAE,IAAI,CAAC,KAHF;AAIb,oBAAY;AAJC,OAAjB,EAKI;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE,IAAI,CAAC;AAAf,SAA9B;AAAsD,aAAK,EAAE,UAA7D;AAAuE;AAAvE,QALJ,CADJ,CAPS,EAgBZ,qBAAqB,CAAC,iBAAtB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,IAAI,CAAC,SADE;AAEb,kBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,gBAAQ,EAAE,IAAI,CAAC,QAHF;AAIb,oBAAY;AAJC,OAAjB,EAKI;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE,IAAI,CAAC;AAAf,SAA9B;AAAwD,aAAK,EAAE,UAA/D;AAAyE;AAAzE,QALJ,CADJ,CAjBS,EA2Bb;AAAK,iBAAS,EAAC;AAAf,SACK,WAAW,KAAK,oBAAhB,IAAwC,WAAxC,IAAuD;AAAK,iBAAS,EAAC;AAAf,SAA6B,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE;AAAN,OAAhB,CAA7B,CAD5D,EAEK,qBAAqB,CAAC,eAAtB,IAAyC;AAAM,iBAAS,EAAC,YAAhB;AAA4B;AAA5B,SAA6C,IAAI,CAAC,MAAlD,CAF9C,EAGK,qBAAqB,CAAC,eAAtB,IAAyC,qBAAqB,CAAC,aAA/D,IAAgF,IAAI,CAAC,MAAL,CAAY,MAAZ,GAAqB,CAArG,IAA0G,IAAI,CAAC,QAAL,KAAkB,4BAAe,OAA3I,IAAsJ;AAAM,iBAAS,EAAC;AAAhB,SAA2B,GAA3B,CAH3J,EAIK,qBAAqB,CAAC,aAAtB,IAAuC,IAAI,CAAC,QAAL,KAAkB,4BAAe,OAAxE,IAAmF,oBAAC,yBAAD,EAAY;AAAC,YAAI,EAAE,IAAI,CAAC,iBAAZ;AAA+B,gBAAQ;AAAvC,OAAZ,CAJxF,CA3Ba,CAzBrB,EA2DK,WAAW,IAAI,IAAI,CAAC,kBAApB,IACG,oBAAC,qCAAD,EAAkB,IAAlB,EACI,oBAAC,uCAAD,EAAmB;AAAC,mBAAW,EAAE,IAAd;AAAoB,4BAAoB,EAAE,IAAI,CAAC;AAA/C,OAAnB,CADJ,CA5DR,CADJ;AAkEH;;;;EAjF2C,KAAK,CAAC,S;;AAAtD,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;;AAEA;;AACA;;IAgBa,wB;;;;;;;;;;;;;6BAEI;AAAA,wBAC+J,KAAK,KADpK;AAAA,UACD,UADC,eACD,UADC;AAAA,UACW,QADX,eACW,QADX;AAAA,UACqB,WADrB,eACqB,WADrB;AAAA,UACkC,aADlC,eACkC,aADlC;AAAA,UACiD,qBADjD,eACiD,qBADjD;AAAA,UACwE,KADxE,eACwE,KADxE;AAAA,UAC+E,YAD/E,eAC+E,YAD/E;AAAA,UAC6F,UAD7F,eAC6F,UAD7F;AAAA,UACyG,WADzG,eACyG,WADzG;AAAA,UACsH,WADtH,eACsH,WADtH;AAAA,UACmI,uBADnI,eACmI,uBADnI;AAET,UAAM,SAAS,GAAG;AAAE,kBAAU,EAAE,yCAAc,KAAd,EAAqB,UAArB;AAAd,OAAlB;AACA,UAAI,YAAJ,EAAkB,OACd,oBAAC,8CAAD,EAAoB;AAAC,kBAAU,EAAE,UAAb;AAAyB,aAAK,EAAE,KAAhC;AAAuC,kBAAU,EAAE,QAAQ,CAAC;AAA5D,OAApB,EACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC1B,YAAI,IAAI,CAAC,KAAT,EAAgB,OAAO;AAAK,YAAE,EAAE,IAAI,CAAC,KAAd;AAAqB,aAAG,EAAE,KAA1B;AAAiC,mBAAS,2BAAoB,IAAI,CAAC,YAAL,GAAqB,iBAArB,GAAyC,EAA7D,CAA1C;AAA6G,eAAK,EAAE;AAApH,WACjB,uBAAuB,IAAI,uBAAuB,KAAK,KAAvD,IAAgE;AAAQ,cAAI,EAAC,iBAAb;AAA+B,iCAAuB,EAAE;AAAE,kBAAM,EAAE,4BAAa,IAAI,CAAC,KAAlB;AAAV;AAAxD,UAD/C,CAAP,CAAhB,KAGK,OACD,oBAAC,2CAAD,EAAqB;AACjB,oBAAU,EAAE,UADK;AAEjB,aAAG,EAAE,KAFY;AAGjB,qBAAW,EAAE,WAHI;AAIjB,uBAAa,EAAE,aAJE;AAKjB,+BAAqB,EAAE,qBALN;AAMjB,cAAI,EAAE,IANW;AAOjB,oBAAU,EAAE,UAPK;AAQjB,gBAAM,EAAE,yCAAc,KAAd,EAAqB,UAArB,CARS;AASjB,sBAAY,EAAE,YATG;AAUjB,qBAAW,EAAE,WAVI;AAWjB,qBAAW,EAAE,IAXI;AAYjB,qBAAW,EAAI;AAZE,SAArB,CADC;AAgBR,OApBA,CADL,CADc,CAAlB,KAyBK,OACD;AAAK,iBAAS,EAAC;AAAf,SAA+B,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,KAAP,EAAgB;AACxD,YAAI,IAAI,CAAC,KAAT,EAAgB,OAAO;AAAK,YAAE,EAAE,IAAI,CAAC,KAAd;AAAqB,aAAG,EAAE,KAA1B;AAAiC,mBAAS,2BAAoB,IAAI,CAAC,YAAL,GAAoB,iBAApB,GAAwC,EAA5D,CAA1C;AAA4G,eAAK,EAAE;AAAE,kBAAM,EAAE;AAAV;AAAnH,WAClB,uBAAuB,IAAI,uBAAuB,KAAK,KAAvD,IAAgE;AAAQ,cAAI,EAAC,iBAAb;AAA+B,iCAAuB,EAAE;AAAE,kBAAM,EAAE,4BAAa,IAAI,CAAC,KAAlB;AAAV;AAAxD,UAD9C,CAAP,CAAhB,KAGK,OACD,oBAAC,2CAAD,EAAqB;AACjB,oBAAU,EAAE,UADK;AAEjB,aAAG,EAAE,KAFY;AAGjB,qBAAW,EAAE,WAHI;AAIjB,uBAAa,EAAE,aAJE;AAKjB,+BAAqB,EAAE,qBALN;AAMjB,cAAI,EAAE,IANW;AAOjB,gBAAM,EAAE,yCAAc,KAAd,EAAqB,UAArB,CAPS;AAQjB,sBAAY,EAAE,YARG;AASjB,oBAAU,EAAE,UATK;AAUjB,qBAAW,EAAE,WAVI;AAWjB,qBAAW,EAAE,IAXI;AAYjB,qBAAW,EAAI;AAZE,SAArB,CADC;AAgBR,OApB8B,CAA/B,EAqBU,IArBV,CADC;AAwBR;;;;EAtDyC,KAAK,CAAC,S;;AAClC,0CAAiB,0BAAjB;AADlB,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;;IAea,8B;;;;;;;;;;;;;6BAGI;AAAA,wBAC6H,KAAK,KADlI;AAAA,UACD,UADC,eACD,UADC;AAAA,UACW,QADX,eACW,QADX;AAAA,UACqB,WADrB,eACqB,WADrB;AAAA,UACkC,aADlC,eACkC,aADlC;AAAA,UACiD,qBADjD,eACiD,qBADjD;AAAA,UACwE,UADxE,eACwE,UADxE;AAAA,UACoF,UADpF,eACoF,UADpF;AAAA,UACgG,WADhG,eACgG,WADhG;AAAA,UAC6G,WAD7G,eAC6G,WAD7G;AAET,UAAM,SAAS,sBAAe,WAAW,GAAG,WAAH,GAAiB,EAA3C,CAAf;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAE;AAAhB,SACK,QAAQ,CAAC,GAAT,CAAa,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC1B,eACI,oBAAC,4CAAD,EAA2B;AACvB,oBAAU,EAAE,UADW;AAEvB,eAAK,EAAE,KAFgB;AAGvB,qBAAW,EAAE,WAHU;AAIvB,uBAAa,EAAE,aAJQ;AAKvB,+BAAqB,EAAE,qBALA;AAMvB,cAAI,EAAE,IANiB;AAOvB,oBAAU,EAAE,UAPW;AAQvB,qBAAW,EAAE,IARU;AASvB,oBAAU,EAAE,UATW;AAUvB,qBAAW,EAAE,WAVU;AAWvB,qBAAW,EAAE;AAXU,SAA3B,CADJ;AAeH,OAhBA,CADL,CADJ,CADJ;AAuBH;;;;EA9B+C,KAAK,CAAC,S;;AACxC,gDAAiB,gCAAjB;AADlB,wE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;IAkBa,oB;;;;;AAAb;AAAA;;AAAA;;;;AAEY,oBAAU,UAAC,IAAD,EAA2B,QAA3B,EAAgD;AAC9D,UAAI,IAAI,KAAK,WAAT,IAAwB,QAA5B,EAAsC,OAAO,OAAP;AACtC,aAAO,IAAP;AACH,KAHO;;AAKA,6BAAmB,YAAK;AAAA,wBACkB,MAAK,KADvB;AAAA,UACpB,YADoB,eACpB,YADoB;AAAA,UACN,MADM,eACN,MADM;AAAA,UACE,WADF,eACE,WADF;AAE5B,UAAI,WAAW,GAAG;AAAE,cAAM,EAAE;AAAV,OAAlB;;AACA,UAAI,YAAJ,EAAkB;AACd,mBAAW,GAAG;AAAE,gBAAM,EAAE,OAAV;AAAmB,qBAAW,EAAE;AAAhC,SAAd;AACH;;AACD,UAAI,WAAJ,EAAiB;AACb,mBAAW,GAAG;AAAE,gBAAM,EAAE;AAAV,SAAd;AACH;;AACD,aAAO,WAAP;AACH,KAVO;;AAPZ;AA6EC;;;;6BA1DgB;AAAA,yBAC6G,KAAK,KADlH;AAAA,UACD,UADC,gBACD,UADC;AAAA,UACW,IADX,gBACW,IADX;AAAA,UACiB,WADjB,gBACiB,WADjB;AAAA,UAC8B,aAD9B,gBAC8B,aAD9B;AAAA,UAC6C,qBAD7C,gBAC6C,qBAD7C;AAAA,UACoE,UADpE,gBACoE,UADpE;AAAA,UACgF,WADhF,gBACgF,WADhF;AAAA,UAC6F,WAD7F,gBAC6F,WAD7F;AAET,UAAI,UAAU,GAAkB;AAAE,WAAG,EAAE,EAAP;AAAW,iBAAS,EAAE,iCAAkB,WAAxC;AAAqD,aAAK,EAAE,EAA5D;AAAgE,iBAAS,EAAE,EAA3E;AAA+E,WAAG,EAAE,EAApF;AAAwF,kBAAU,EAAE;AAApG,OAAhC;AACA,UAAM,aAAa,GAAG,KAAK,gBAAL,EAAtB;AACA,UAAM,UAAU,GAAG;AAAE,aAAK,EAAE;AAAT,OAAnB;AACA,UAAM,IAAI,GAAG,IAAI,CAAC,IAAL,GAAY,IAAI,CAAC,IAAjB,GAAwB,WAArC;AACA,UAAM,cAAc,GAAG,qBAAqB,CAAC,oBAA7C;AACA,UAAM,sBAAsB,GAAG,qBAAqB,CAAC,eAAtB,IAAyC,IAAI,CAAC,QAAL,KAAkB,4BAAe,OAA1E,IAAqF,qBAAqB,CAAC,aAA3G,IAA4H,IAAI,CAAC,MAAL,CAAY,MAAZ,GAAqB,CAAhL;AACA,UAAM,iBAAiB,GAAG,qBAAqB,CAAC,aAAtB,IAAuC,IAAI,CAAC,QAAL,KAAkB,4BAAe,OAAlG;AACA,aAAQ;AAAK,iBAAS,EAAC,UAAf;AAA0B,aAAK,EAAE;AAAjC,SAEJ;AAAK,iBAAS,EAAC,WAAf;AAA0B,6BAAmB;AAA7C,SACI;AAAK,iBAAS,EAAC,eAAf;AAA+B,aAAK,EAAE;AAAE,eAAK,EAAE,UAAT;AAAqB,gBAAM,EAAE;AAA7B;AAAtC,SACI,oBAAC,qBAAD,EAAU;AACN,YAAI,EAAE,IAAI,CAAC,KAAL,KAAe,SAAf,GAA2B,IAAI,CAAC,KAAhC,GAAwC,UADxC;AAEN,aAAK,EAAE,UAFD;AAGN,cAAM,EAAE,WAHF;AAIN,qBAAa,EAAE,aAJT;AAKN,mBAAW,EAAE,IAAI,CAAC,SALZ;AAMN,uBAAe,EAAE,IANX;AAON,kBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC;AAPjD,OAAV,CADJ,EAUI,oBAAC,iCAAD,EAAgB;AAAC,cAAM,EAAE,IAAI,CAAC,MAAd;AAAsB,YAAI,EAAE,KAAK,OAAL,CAAa,IAAb,EAAmB,IAAI,CAAC,QAAxB,CAA5B;AAA+D,qBAAa,EAAC,QAA7E;AAAsF,qBAAa,EAAE,IAAI,CAAC,QAAL,IAAiB,IAAI,KAAK,OAA1B,IAAqC,IAAI,KAAK;AAAnJ,OAAhB,CAVJ,CADJ,EAaK,IAAI,CAAC,kBAAL,IAA2B,oBAAC,6BAAD,EAAc;AAAC,mBAAW,EAAE,WAAd;AAA2B,4BAAoB,EAAE,IAAI,CAAC;AAAtD,OAAd,CAbhC,EAcK,CAAC,IAAI,CAAC,kBAAN,IAA4B,IAAI,CAAC,YAAjC,IAAiD,IAAI,CAAC,YAAL,CAAkB,MAAlB,GAA2B,CAA5E,IAAiF;AAAM,iBAAS,iCAA0B,IAAI,CAAC,SAA/B;AAAf,SAA4D,IAAI,CAAC,YAAjE,CAdtF,CAFI,EAkBH,CAAC,WAAD,IAAgB;AAAK,iBAAS,EAAC;AAAf,SACZ,cAAc,IAAI;AAAK,iBAAS,EAAC;AAAf,SACd,qBAAqB,CAAC,oBAAtB,IAA8C,IAAI,CAAC,cAAL,KAAwB,IAAtE,IAA8E,IAAI,CAAC,cADrE,CADN,EAIZ,qBAAqB,CAAC,cAAtB,IAAwC;AAAK,iBAAS,6BAAsB,IAAI,CAAC,YAAL,GAAoB,iBAApB,GAAwC,EAA9D;AAAd,SACrC,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,IAAI,CAAC,SADE;AAEb,oBAAY,EAAE,IAFD;AAGb,kBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAH1C;AAIb,gBAAQ,EAAE,IAAI,CAAC;AAJF,OAAjB,EAKI;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE,IAAI,CAAC;AAAf,SAA9B;AAAsD,aAAK,EAAE,UAA7D;AAAuE,yBAAgB;AAAvF,QALJ,CADqC,CAJ5B,EAaZ,qBAAqB,CAAC,iBAAtB,IAA2C;AAAK,iBAAS,EAAC;AAAf,SACxC,oBAAC,4BAAD,EAAiB;AACb,YAAI,EAAE,IAAI,CAAC,SADE;AAEb,kBAAU,EAAE,IAAI,CAAC,eAAL,KAAyB,SAAzB,IAAsC,IAAI,CAAC,eAF1C;AAGb,gBAAQ,EAAE,IAAI,CAAC;AAHF,OAAjB,EAII;AAAK,+BAAuB,EAAE;AAAE,gBAAM,EAAE,IAAI,CAAC;AAAf,SAA9B;AAAwD,aAAK,EAAE,UAA/D;AAAyE,yBAAgB;AAAzF,QAJJ,CADwC,CAb/B,EAsBb;AAAK,iBAAS,EAAC;AAAf,SACK,qBAAqB,CAAC,eAAtB,IAAyC;AAAM,iBAAS,EAAC,aAAhB;AAA6B,0BAAgB;AAA7C,SAAiD,IAAI,CAAC,MAAtD,CAD9C,EAEK,sBAAsB,IAAI,sCAF/B,EAGK,iBAAiB,IAAI,oBAAC,yBAAD,EAAY;AAAC,YAAI,EAAE,IAAI,CAAC,iBAAZ;AAA+B,gBAAQ;AAAvC,OAAZ,CAH1B,CAtBa,CAlBb,CAAR;AAgDH;;;;EA5EqC,KAAK,CAAC,S;;AAAhD,oD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBA;;AAEA;;IAEa,qB;;;;;;;;;;;;;6BAEH;AAAA,UACM,IADN,GACe,KAAK,KADpB,CACM,IADN;;AAEF,UAAI,IAAI,CAAC,SAAL,IAAkB,aAAtB,EAAqC;AACpC,eACI,oBAAC,qBAAD,EAAU;AAAC,eAAK,EAAE,GAAR;AAAa,gBAAM,EAAE,GAArB;AAA0B,cAAI,EAAE,IAAhC;AAAsC,uBAAa,EAAE;AAAC,2BAAe,EAAC,KAAjB;AAAwB,wBAAY,EAAC;AAArC;AAArD,SAAV,CADJ;AAGA,OAJD,MAIO,IAAI,IAAI,CAAC,SAAL,IAAkB,aAAtB,EAAqC;AACxC,eACI,oBAAC,iCAAD,EAAgB;AAAC,aAAG,EAAE,IAAI,CAAC,GAAX;AAAgB,aAAG,EAAE,IAAI,CAAC,GAA1B;AAA+B,eAAK,EAAE,GAAtC;AAA2C,gBAAM,EAAE;AAAnD,SAAhB,CADJ;AAGH;AACJ;;;;EAbsC,KAAK,CAAC,S;;AAC/B,uCAAiB,uBAAjB;AADlB,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAUa,wBAAgB,UAAC,KAAD,EAA8B;AAAA,MAE/C,OAF+C,GAEM,KAFN,CAE/C,OAF+C;AAAA,MAEtC,aAFsC,GAEM,KAFN,CAEtC,aAFsC;AAAA,MAEvB,WAFuB,GAEM,KAFN,CAEvB,WAFuB;AAAA,MAEV,WAFU,GAEM,KAFN,CAEV,WAFU;;AAAA,0BAGjB,iBAAS,aAAT,CAHiB;AAAA;AAAA,MAGhD,WAHgD;AAAA,MAGnC,cAHmC;;AAAA,2BAInB,iBAAS,IAAT,CAJmB;AAAA;AAAA,MAIhD,UAJgD;AAAA,MAIpC,aAJoC;;AAKvD,MAAM,mBAAmB,GAAG,gBAA5B;AACA,MAAM,qBAAqB,GAAG,WAAW,GAAG;AAAE,aAAS,EAAE;AAAb,GAAH,GAA+B;AAAE,aAAS,EAAE;AAAb,GAAxE;AAEA,oBAAU,YAAK;AACX,kBAAc,CAAC,aAAD,CAAd;AACH,GAFD,EAEG,CAAC,aAAD,CAFH;AAIA,oBAAU,YAAK;AACX,iBAAa,CAAC,mBAAmB,CAAC,OAApB,CAA4B,YAA7B,CAAb;AACH,GAFD,EAEG,EAFH;;AAIA,MAAM,aAAa,GAAG,SAAhB,aAAgB,GAAK;AACvB,kBAAc,CAAC,CAAC,WAAF,CAAd;AACH,GAFD;;AAIA,MAAM,eAAe,GAAG,SAAlB,eAAkB,GAAK;AACzB,YAAQ,OAAO,CAAC,WAAR,CAAoB,aAApB,KAAoC,SAApC,IAAiD,OAAO,CAAC,WAAR,CAAoB,aAA7E;AACI,WAAK,OAAL;AACI,eAAO;AAAK,aAAG,EAAE,8BAAiB;AAAE,yBAAa,EAAE,OAAO,CAAC;AAAzB,WAAjB,EAAsD;AAAE,qBAAS,EAAE,uBAAU;AAAvB,WAAtD;AAAV,UAAP;;AAEJ,WAAK,OAAL;AACI,YAAM,SAAS,GAAkB;AAC7B,mBAAS,EAAE,iCAAkB,WADA;AAE7B,aAAG,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,SAFO;AAG7B,sBAAY,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,YAHF;AAI7B,gBAAM,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,SAJI;AAK7B,4BAAkB,EAAE,OAAO,CAAC,WAAR,CAAoB,cAApB,CAAmC,kBAL1B;AAM7B,uBAAa,EAAE,KANc;AAO7B,uBAAa,EAAE,OAAO,CAAC,WAAR,CAAoB,cAApB,CAAmC,aAPrB;AAQ7B,yBAAe,EAAE,OAAO,CAAC,WAAR,CAAoB,cAApB,CAAmC,eARvB;AAS7B,8BAAoB,EAAE,OAAO,CAAC,WAAR,CAAoB,cAApB,CAAmC,oBAT5B;AAU7B,oBAAU,EAAE,IAViB;AAW7B,oBAAU,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,UAXA;AAY7B,iBAAO,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,YAZG;AAa7B,0BAAgB,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,gBAbN;AAc7B,gBAAM,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB;AAdI,SAAjC;AAiBA,eAAO,oBAAC,0BAAD,EAAe;AAAC,cAAI,EAAE,SAAP;AAAkB,uBAAa,oBAAO,OAAO,CAAC,WAAR,CAAoB,aAA3B,EAAwC;AAAE,2BAAe,EAAE;AAAnB,WAAxC;AAA/B,SAAf,CAAP;;AAEJ,WAAK,OAAL;AACI,eAAO,oBAAC,qCAAD,EAAkB;AAAC,aAAG,YAAK,WAAL,SAAmB,OAAO,CAAC,WAAR,CAAoB,kBAApB,CAAuC,QAA1D,CAAJ;AAA0E,kBAAQ,EAAE,OAAO,CAAC,WAAR,CAAoB,kBAApB,CAAuC;AAA3H,SAAlB,CAAP;;AAEJ;AACI;AA5BR;AA8BH,GA/BD;;AAiCA,MAAM,mBAAmB,GAAG,SAAtB,mBAAsB,GAAK;AAC7B,QAAI,WAAJ,EAAiB;AACb,qBAAe;AAClB;AACJ,GAJD;;AAMA,MAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AACd,uBADc,GACF;AAAE,mBAAG,EAAE,OAAO,CAAC,aAAf;AAA8B,qBAAK,EAAE,OAAO,CAAC;AAA7C,eADE;AAAA;AAAA;AAAA,qBAIV,SAAS,CAAC,KAAV,CAAgB,SAAhB,CAJU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAMhB,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AANgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAf,eAAe;AAAA;AAAA;AAAA,KAArB;;AAUA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACK,OAAO,CAAC,gBAAR,GACG;AAAK,aAAS,EAAC,cAAf;AAA8B,OAAG,EAAE,OAAO,CAAC;AAA3C,IADH,GAGG;AAAK,aAAS,EAAC;AAAf,IAJR,EAMI;AAAK,aAAS,EAAC;AAAf,KAA8B,OAAO,CAAC,MAAtC,CANJ,CADJ,EAUI,oBAAC,yBAAD,EAAY;AAAC,QAAI,EAAE,OAAO,CAAC;AAAf,GAAZ,CAVJ,CADJ,EAcI;AAAK,aAAS,EAAC;AAAf,KACK,eAAe,EADpB,EAGI;AAAK,aAAS,EAAC;AAAf,KAAgC,OAAO,CAAC,KAAxC,CAHJ,EAKI;AAAK,aAAS,EAAC,mBAAf;AAAmC,SAAK,EAAE,qBAA1C;AAAiE,OAAG,EAAE;AAAtE,KACK,OAAO,CAAC,IADb,CALJ,CAdJ,EAwBI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC,YAAf;AAA4B,WAAO,EAAE;AAArC,KACK,CAAC,WAAD,IAAgB;AAAK,aAAS,EAAC,cAAf;AAA8B,WAAO,EAAE;AAAA,aAAM,gCAAiB,OAAO,CAAC,aAAzB,CAAN;AAAA;AAAvC,IADrB,EAEK,CAAC,WAAD,IAAgB;AAAK,aAAS,EAAC,eAAf;AAA+B,WAAO,EAAE;AAAA,aAAM,iCAAkB,OAAO,CAAC,aAA1B,CAAN;AAAA;AAAxC,IAFrB,EAGK,CAAC,WAAD,IAAgB;AAAK,aAAS,EAAC,eAAf;AAA+B,WAAO,EAAE;AAAA,aAAM,iCAAkB,OAAO,CAAC,aAA1B,EAAyC,OAAO,CAAC,KAAjD,CAAN;AAAA;AAAxC,IAHrB,CADJ,EAOK,WAAW,IAAI;AAAK,aAAS,4BAAqB,WAAW,GAAG,MAAH,GAAY,EAA5C,CAAd;AAAgE,WAAO,EAAE;AAAzE,IAPpB,CAxBJ,CADJ,EAoCK,CAAC,WAAD,IAAgB;AAAK,aAAS,4BAAqB,WAAW,GAAG,MAAH,GAAY,EAA5C,CAAd;AAAgE,WAAO,EAAE;AAAzE,IApCrB,CADJ;AAwCH,CA7GY,C;;;;;;;;;;;;;;;;;;;;;;;AClBb;;AAEA;;AAQa,+BAAuB,UAAC,KAAD,EAA8B;AAAA,MACtD,SADsD,GACd,KADc,CACtD,SADsD;AAAA,MAC3C,WAD2C,GACd,KADc,CAC3C,WAD2C;AAAA,MAC9B,WAD8B,GACd,KADc,CAC9B,WAD8B;;AAAA,0BAEpB,iBAAkB,IAAlB,CAFoB;AAAA;AAAA,MAEvD,aAFuD;AAAA,MAExC,gBAFwC;;AAI9D,MAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAmB;AACvC,oBAAgB,CAAC,KAAD,CAAhB;AACH,GAFD;;AAIA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAO,QAAI,EAAC,OAAZ;AAAoB,aAAS,EAAC,WAA9B;AAA0C,WAAO,EAAE,CAAC,aAApD;AAAmE,YAAQ,EAAE;AAAA,aAAM,eAAe,CAAC,KAAD,CAArB;AAAA;AAA7E,IADJ,EAEI;AAAK,aAAS,EAAC,mBAAf;AAAmC,SAAK,EAAE;AAAE,gBAAU,EAAE;AAAd;AAA1C,KAA4D,qEAA5D,CAFJ,EAII;AAAO,QAAI,EAAC,OAAZ;AAAoB,aAAS,EAAC,WAA9B;AAA0C,WAAO,EAAE,aAAnD;AAAkE,YAAQ,EAAE;AAAA,aAAM,eAAe,CAAC,IAAD,CAArB;AAAA;AAA5E,IAJJ,EAKI;AAAK,aAAS,EAAC;AAAf,KAAiC,6CAAjC,CALJ,CADJ,EASI;AAAK,aAAS,EAAC;AAAf,KACK,SAAS,CAAC,GAAV,CAAc,cAAI;AAAA,WAAI,oBAAC,6BAAD,EAAc;AAAC,SAAG,EAAE,IAAI,CAAC,SAAX;AAAsB,aAAO,EAAE,IAA/B;AAAqC,mBAAa,EAAE,aAApD;AAAmE,iBAAW,EAAE,WAAhF;AAA6F,iBAAW,EAAE;AAA1G,KAAd,CAAJ;AAAA,GAAlB,CADL,CATJ,CADJ;AAeH,CAvBY;;AAyBb,6BAAqB,cAArB,GAAsC,sBAAtC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AAYA,IAAM,eAAe,GAAG,GAAxB;;AAEa,4BAAoB,UAAC,KAAD,EAAkC;AAAA,MAEvD,OAFuD,GAEsE,KAFtE,CAEvD,OAFuD;AAAA,MAE9C,WAF8C,GAEsE,KAFtE,CAE9C,WAF8C;AAAA,MAEjC,kBAFiC,GAEsE,KAFtE,CAEjC,kBAFiC;AAAA,MAEb,gBAFa,GAEsE,KAFtE,CAEb,gBAFa;AAAA,MAEK,qBAFL,GAEsE,KAFtE,CAEK,qBAFL;AAAA,MAE4B,wBAF5B,GAEsE,KAFtE,CAE4B,wBAF5B;AAAA,MAEsD,WAFtD,GAEsE,KAFtE,CAEsD,WAFtD;;AAAA,0BAG3B,iBAAkB,KAAlB,CAH2B;AAAA;AAAA,MAGxD,UAHwD;AAAA,MAG5C,aAH4C;;AAAA,2BAIjB,iBAAkB,KAAlB,CAJiB;AAAA;AAAA,MAIxD,eAJwD;AAAA,MAIvC,kBAJuC;;AAAA,2BAKvB,iBAAkB,KAAlB,CALuB;AAAA;AAAA,MAKxD,YALwD;AAAA,MAK1C,eAL0C;;AAAA,2BAM3B,iBAAiB,CAAjB,CAN2B;AAAA;AAAA,MAMxD,UANwD;AAAA,MAM5C,aAN4C;;AAAA,2BAO3B,iBAAiB,CAAjB,CAP2B;AAAA;AAAA,MAOxD,UAPwD;AAAA,MAO5C,aAP4C;;AAQ/D,MAAM,OAAO,GAAG,gBAAhB;AACA,MAAM,mBAAmB,GAAG,gBAA5B;AACA,MAAM,eAAe,GAAG,WAAW,GAAG;AAAE,mBAAe,EAAE;AAAnB,GAAH,GAAmD;AAAE,aAAS,EAAE,UAAb;AAAyB,mBAAe,EAAE;AAA1C,GAAtF;AACA,MAAM,qBAAqB,GAAG,UAAU,GAAG;AAAE,aAAS,EAAE,UAAb;AAAyB,SAAK,EAAE;AAAhC,GAAH,GAA6D;AAAE,aAAS,EAAE,CAAb;AAAgB,aAAS,EAAE,CAA3B;AAA8B,SAAK,EAAE;AAArC,GAArG;AAEA,oBAAU,YAAK;AACX,QAAI,UAAJ,EAAgB;AACZ,qBAAe,CAAC,IAAD,CAAf;AACH,KAFD,MAEO;AACH,UAAM,KAAK,GAAG,UAAU,CAAC;AAAA,eAAM,eAAe,CAAC,KAAD,CAArB;AAAA,OAAD,EAA+B,eAA/B,CAAxB;AACA,aAAO,YAAK;AACR,oBAAY,CAAC,KAAD,CAAZ;AACH,OAFD;AAGH;AACJ,GATD,EASG,CAAC,UAAD,CATH;AAWA,oBAAU,YAAK;AACX,iBAAa,CAAC,OAAO,CAAC,OAAR,CAAgB,YAAjB,CAAb;AACA,iBAAa,CAAC,mBAAmB,CAAC,OAApB,CAA4B,YAA7B,CAAb;AACA,WAAO,CAAC,GAAR,CAAY,cAAZ,EAA4B,cAAc,OAAO,CAAC,OAAR,CAAgB,YAA1D,EAAwE,0BAA0B,mBAAmB,CAAC,OAApB,CAA4B,YAA9H;AAEH,GALD,EAKG,CAAC,OAAO,CAAC,OAAT,EAAkB,mBAAmB,CAAC,OAAtC,CALH;;AAOA,MAAM,eAAe,GAAG,SAAlB,eAAkB,GAAK;AACzB,YAAQ,OAAO,CAAC,WAAR,CAAoB,aAApB,KAAoC,SAApC,IAAkD,OAAO,CAAC,WAAR,CAAoB,aAA9E;AACI,WAAK,OAAL;AACI,eAAO;AAAK,aAAG,EAAE,8BAAiB;AAAE,yBAAa,EAAE,OAAO,CAAC,qBAAR,CAA8B;AAA/C,WAAjB,EAAiF;AAAE,qBAAS,EAAE,uBAAU;AAAvB,WAAjF;AAAV,UAAP;;AAEJ,WAAK,OAAL;AACI,YAAM,SAAS,GAAkB;AAC7B,mBAAS,EAAE,iCAAkB,WADA;AAE7B,aAAG,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,SAFO;AAG7B,sBAAY,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,YAHF;AAI7B,gBAAM,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,SAJI;AAK7B,4BAAkB,EAAE,OAAO,CAAC,WAAR,CAAoB,cAApB,CAAmC,kBAL1B;AAM7B,uBAAa,EAAE,KANc;AAO7B,uBAAa,EAAE,OAAO,CAAC,WAAR,CAAoB,cAApB,CAAmC,aAPrB;AAQ7B,yBAAe,EAAE,OAAO,CAAC,WAAR,CAAoB,cAApB,CAAmC,eARvB;AAS7B,8BAAoB,EAAE,OAAO,CAAC,WAAR,CAAoB,cAApB,CAAmC,oBAT5B;AAU7B,oBAAU,EAAE,IAViB;AAW7B,oBAAU,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,UAXA;AAY7B,iBAAO,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,YAZG;AAa7B,0BAAgB,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB,gBAbN;AAc7B,gBAAM,EAAE,OAAO,CAAC,KAAR,CAAc,CAAd,EAAiB;AAdI,SAAjC;AAiBA,eAAO,oBAAC,0BAAD,EAAe;AAAC,cAAI,EAAE,SAAP;AAAkB,uBAAa,oBAAO,OAAO,CAAC,WAAR,CAAoB,aAA3B,EAAwC;AAAE,2BAAe,EAAE;AAAnB,WAAxC;AAA/B,SAAf,CAAP;;AAEJ,WAAK,OAAL;AACI,eAAO,oBAAC,qCAAD,EAAkB;AAAC,aAAG,YAAK,WAAL,SAAmB,OAAO,CAAC,WAAR,CAAoB,kBAApB,CAAuC,QAA1D,CAAJ;AAA0E,kBAAQ,EAAE,OAAO,CAAC,WAAR,CAAoB,kBAApB,CAAuC;AAA3H,SAAlB,CAAP;;AAEJ;AACI;AA5BR;AA8BH,GA/BD;;AAiCA,MAAM,mBAAmB,GAAG,SAAtB,mBAAsB,GAAK;AAC7B,QAAI,WAAJ,EAAiB;AACb,qBAAe;AAClB,KAFD,MAEO;AACH,wBAAkB,CAAC,CAAC,eAAF,CAAlB;AACH;AACJ,GAND;;AAQA,MAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AACd,uBADc,GACF;AAAE,mBAAG,EAAE,OAAO,CAAC,aAAf;AAA8B,qBAAK,EAAE,OAAO,CAAC;AAA7C,eADE;AAAA;AAAA;AAAA,qBAIV,SAAS,CAAC,KAAV,CAAgB,SAAhB,CAJU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAMhB,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AANgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAf,eAAe;AAAA;AAAA;AAAA,KAArB;;AAUA,SACI;AAAK,aAAS,EAAC,qBAAf;AAAqC,SAAK,EAAE,eAA5C;AAA6D,OAAG,EAAE;AAAlE,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,4CAAqC,YAAY,GAAG,UAAH,GAAgB,EAAjE;AAAd,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACK,OAAO,CAAC,gBAAR,GACG;AAAK,aAAS,EAAC,cAAf;AAA8B,OAAG,EAAE,OAAO,CAAC;AAA3C,IADH,GAGG;AAAK,aAAS,EAAC;AAAf,IAJR,EAOI;AAAK,aAAS,EAAC,aAAf;AAA6B,SAAK,EAAE;AAAE,WAAK,EAAE;AAAT;AAApC,KAAoE,OAAO,CAAC,MAA5E,CAPJ,CADJ,EAWI,oBAAC,yBAAD,EAAY;AAAC,QAAI,EAAE,OAAO,CAAC,iBAAf;AAAkC,SAAK,EAAE;AAAE,WAAK,EAAE;AAAT;AAAzC,GAAZ,CAXJ,CADJ,EAeI;AAAK,aAAS,EAAC;AAAf,KACK,eAAe,EADpB,EAGI;AAAK,aAAS,EAAC;AAAf,KAAgC,OAAO,CAAC,KAAxC,CAHJ,EAKI;AAAK,aAAS,EAAC,mBAAf;AAAmC,SAAK,EAAE,qBAA1C;AAAiE,OAAG,EAAE;AAAtE,KACK,OAAO,CAAC,SADb,CALJ,CAfJ,EAyBI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,4BAAqB,UAAU,GAAG,MAAH,GAAY,EAA3C,CAAd;AAA+D,WAAO,EAAE;AAAA,aAAM,aAAa,CAAC,CAAC,UAAF,CAAnB;AAAA;AAAxE,IADJ,EAGI;AAAK,aAAS,EAAC,gBAAf;AAAgC,WAAO,EAAE;AAAzC,KACK,eAAe,IACZ;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC,cAAf;AAA8B,WAAO,EAAE;AAAA,aAAM,gCAAiB,OAAO,CAAC,aAAzB,CAAN;AAAA;AAAvC,IADJ,EAEI;AAAK,aAAS,EAAC,eAAf;AAA+B,WAAO,EAAE;AAAA,aAAM,iCAAkB,OAAO,CAAC,aAA1B,CAAN;AAAA;AAAxC,IAFJ,EAGI;AAAK,aAAS,EAAC,eAAf;AAA+B,WAAO,EAAE;AAAA,aAAM,iCAAkB,OAAO,CAAC,aAA1B,EAAyC,OAAO,CAAC,KAAjD,CAAN;AAAA;AAAxC,IAHJ,CAFR,CAHJ,CAzBJ,CADJ,CADJ,CADJ;AA4CH,CA9HY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBb;;AAEA;;AAEA;;AACA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;IAeqB,kC;;;;;AAIjB,8CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,4GAAM,KAAN;AACA,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE,EADP;AAET,qBAAe,EAAE,IAFR;AAGT,yBAAmB,EAAE;AAHZ,KAAb;AAFa;AAOhB;;;;8CAEyB,Q,EAAQ;AAC9B,UAAI,KAAK,KAAL,CAAW,IAAX,KAAoB,QAAQ,CAAC,IAAjC,EAAuC;AACnC,aAAK,iBAAL,CAAuB,QAAQ,CAAC,IAAhC;AACH;AACJ;;;wCAEgB;AAAA;;AAAA,UACL,IADK,GACI,KAAK,KADT,CACL,IADK;AAEb,UAAM,oBAAoB,GAAG,CAA7B;;AACA,UAAI,IAAI,CAAC,QAAL,CAAc,IAAd,CAAmB,EAAvB,EAA2B;AACvB,aAAK,iBAAL,CAAuB,oBAAvB;AACA,mBAAW,CAAC,YAAK;AACb,gBAAI,CAAC,iBAAL,CAAuB,oBAAvB;AACH,SAFU,EAER,KAFQ,CAAX;AAGH;AACJ;;;sCAEyB,oB,EAA4B;AAAA;;AAAA,UAC1C,YAD0C,GACzB,KAAK,KADoB,CAC1C,YAD0C;AAAA,wBAEe,KAAK,KAFpB;AAAA,UAE1C,eAF0C,eAE1C,eAF0C;AAAA,UAEzB,mBAFyB,eAEzB,mBAFyB;AAAA,UAEJ,cAFI,eAEJ,cAFI;AAGlD,UAAM,aAAa,GAAG,KAAK,CAAC,MAAN,CAAa,wDAAb,CAAtB;AAEA,mBAAa,CAAC,GAAd,yCAAmD,YAAnD,QACK,IADL,CACU,UAAC,GAAD,EAAa;AACf,cAAI,CAAC,QAAL,CAAc;AAAE,wBAAc,EAAE,GAAG,CAAC,IAAJ,CAAS;AAA3B,SAAd;AACH,OAHL,EAGO,IAHP,CAGY,YAAK;AACT,YAAM,WAAW,GAAG,cAAc,CAAC,IAAf,CAAoB,UAAC,OAAD;AAAA,iBAAa,0DAAY,OAAZ,IAAuB,CAApC;AAAA,SAApB,CAApB;AACA,YAAM,eAAe,GAAG,cAAc,CAAC,IAAf,CAAoB,UAAC,OAAD;AAAA,iBAAa,0DAAY,OAAZ,IAAuB,oBAApC;AAAA,SAApB,CAAxB;;AAEA,YAAK,eAAe,IAAI,eAApB,IAAwC,WAA5C,EAAyD;AACrD,gBAAI,CAAC,QAAL,CAAc;AAAE,+BAAmB,EAAE;AAAvB,WAAd;;AACA,oBAAU,CAAC,YAAK;AACZ,kBAAI,CAAC,QAAL,CAAc;AAAE,iCAAmB,EAAE;AAAvB,aAAd;AACH,WAFS,EAEP,IAFO,CAAV;AAGH;;AAAA;AACJ,OAbL,EAcK,KAdL,CAcW,aAAG;AAAA,eAAI,OAAO,CAAC,KAAR,CAAc,4BAAd,EAA4C,GAA5C,CAAJ;AAAA,OAdd;AAeH;;;6BACK;AAAA,wBACqD,KAAK,KAD1D;AAAA,UACM,IADN,eACM,IADN;AAAA,UACY,WADZ,eACY,WADZ;AAAA,UACyB,WADzB,eACyB,WADzB;AAAA,UACsC,UADtC,eACsC,UADtC;AAGF,aACI,oBAAC,uDAAD,EAA2B;AACvB,YAAI,EAAE,IADiB;AAEvB,kBAAU,EAAE,UAFW;AAGvB,mBAAW,EAAE,WAHU;AAIvB,mBAAW,EAAE,WAJU;AAKvB,gBAAQ,EAAE,KAAK,KAAL,CAAW;AALE,OAA3B,CADJ;AASH;;;;EA/D2D,KAAK,CAAC,S;;AAEpD,oDAAiB,oCAAjB;AAFlB,qD;;;;;;;;;;;;;;;ACpBA;;AAWa,qCAA6B,UAAC,KAAD,EAA2C;AAAA,MACzE,IADyE,GAChB,KADgB,CACzE,IADyE;AAAA,MACnE,QADmE,GAChB,KADgB,CACnE,QADmE;AAAA,MACzD,WADyD,GAChB,KADgB,CACzD,WADyD;AAAA,MAC5C,WAD4C,GAChB,KADgB,CAC5C,WAD4C;AAAA,MAC/B,UAD+B,GAChB,KADgB,CAC/B,UAD+B;AAAA,MAEzE,2BAFyE,GAE0E,IAF1E,CAEzE,2BAFyE;AAAA,MAE5C,0BAF4C,GAE0E,IAF1E,CAE5C,0BAF4C;AAAA,MAEhB,kBAFgB,GAE0E,IAF1E,CAEhB,kBAFgB;AAAA,MAEI,gBAFJ,GAE0E,IAF1E,CAEI,gBAFJ;AAAA,MAEsB,qBAFtB,GAE0E,IAF1E,CAEsB,qBAFtB;AAAA,MAE6C,wBAF7C,GAE0E,IAF1E,CAE6C,wBAF7C;AAGjF,MAAM,mBAAmB,GAAG,WAAW,GAAG,0BAAH,GAAgC,2BAAvE;AACA,MAAM,MAAM,GAAG,WAAW,GAAG;AAAE,mBAAe,EAAE,IAAI,CAAC;AAAxB,GAAH,GAAwD;AAAE,mBAAe,EAAE,IAAI,CAAC,wBAAxB;AAAkD,UAAM,EAAE;AAA1D,GAAlF;AAEA,SACI;AAAK,aAAS,EAAC,+BAAf;AAA+C,SAAK,EAAE;AAAtD,KACK,QAAQ,IAAI,QAAQ,CAAC,MAAT,GAAkB,CAA9B,GACG,QAAQ,CAAC,KAAT,CAAe,CAAf,EAAkB,mBAAlB,EAAuC,GAAvC,CAA2C,iBAAO;AAAA,WAC9C,oBAAC,qCAAD,EAAkB;AACd,aAAO,EAAE,OADK;AAEd,SAAG,EAAE,OAAO,CAAC,SAFC;AAGd,iBAAW,EAAE,WAHC;AAId,iBAAW,EAAE,WAJC;AAKd,wBAAkB,EAAE,kBALN;AAMd,sBAAgB,EAAE,gBANJ;AAOd,2BAAqB,EAAE,qBAPT;AAQd,8BAAwB,EAAE;AARZ,KAAlB,CAD8C;AAAA,GAAlD,CADH,GAcG;AAAK,aAAS,EAAC;AAAf,KAAmC,qGAAnC,CAfR,CADJ;AAoBH,CA1BY,C;;;;;;;;;;;;;;;;;;;;;;;ACZb;;AACA;;AACA;;AACA;;AASa,iCAAyB,UAAC,KAAD,EAAuC;AAAA,MACjE,WADiE,GACM,KADN,CACjE,WADiE;AAAA,MACpD,aADoD,GACM,KADN,CACpD,aADoD;AAAA,MACrC,iBADqC,GACM,KADN,CACrC,iBADqC;AAAA,MAClB,mBADkB,GACM,KADN,CAClB,mBADkB;AAEzE,MAAM,WAAW,GAAG,iBAAiB,CAAC,aAAD,CAArC;;AAFyE,0BAGrB,iBAAS,IAAT,CAHqB;AAAA;AAAA,MAGlE,kBAHkE;AAAA,MAG9C,qBAH8C;;AAIzE,MAAM,WAAW,GAAG,kBAApB;AAEA,oBAAU,YAAK;AACX,0BAAsB;AACzB,GAFD,EAEG,CAAC,WAAD,CAFH;;AAIA,MAAM,sBAAsB,GAAG,SAAzB,sBAAyB,GAAK;AAChC,QAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,6BAAvB,CAArB;AACA,QAAM,cAAc,GAAG,QAAQ,CAAC,aAAT,CAAuB,qCAAvB,CAAvB;AACA,QAAI,aAAa,GAAG,KAApB;;AACA,QAAI,YAAY,IAAI,cAApB,EAAoC;AAChC,mBAAa,GAAG,YAAY,CAAC,WAAb,GAA2B,cAAc,CAAC,WAA1D;AACH;;AACD,yBAAqB,CAAC,aAAD,CAArB;AACH,GARD;;AAWA,MAAI,iBAAiB,CAAC,MAAlB,KAA6B,CAAjC,EAAoC;AAChC,WACI;AAAK,eAAS,EAAC;AAAf,OACI;AAAK,eAAS,EAAC;AAAf,MADJ,EAEI;AAAK,eAAS,EAAC;AAAf,OAA8B,6JAA9B,CAFJ,CADJ;AAMH;;AAED,MAAM,QAAQ,GAAG;AACb,QAAI,EAAE,KADO;AAEb,YAAQ,EAAE,IAFG;AAGb,gBAAY,EAAE,CAHD;AAIb,kBAAc,EAAE,CAJH;AAKb,YAAQ,EAAE,IALG;AAMb,SAAK,EAAE,WAAW,CAAC,KAAZ,CAAkB,MAAlB,GAA2B,GANrB;AAOb,iBAAa,EAAE,CAPF;AAQb,OAAG,EAAE,IARQ;AASb,UAAM,EAAE,KATK;AAUb,WAAO,EAAE;AAVI,GAAjB;AAaA,SACI;AAAK,aAAS,EAAC;AAAf,KACI,oBAAC,+BAAD,EAAe;AACX,SAAK,EAAE,WAAW,CAAC,KADR;AAEX,QAAI,EAAE,UAFK;AAGX,kBAAc,EAAE,IAHL;AAIX,eAAW,EAAE,WAJF;AAKX,0BAAsB,EAAE,EALb;AAMX,iBAAa,EAAE,aANJ;AAOX,qBAAiB,EAAE,iBAPR;AAQX,uBAAmB,EAAE,mBARV;AASX,4BAAwB,EAAE,kCAAC,KAAD;AAAA,aAAY,oBAAC,oCAAD,EAAe,kBAAK,KAAL,EAAU;AAAE,iBAAS,EAAE;AAAb,OAAV,CAAf,CAAZ;AAAA;AATf,GAAf,CADJ,EAaI;AAAK,OAAG,EAAE,WAAW,CAAC,KAAtB;AAA6B,OAAG,EAAE,WAAW,CAAC;AAA9C,IAbJ,EAeI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACK,kBAAkB,GACf,0CACI;AAAK,aAAS,EAAC;AAAf,IADJ,EAEI;AAAK,aAAS,EAAC;AAAf,KACI,oBAAC,qBAAD,EAAO,kBAAK,QAAL,CAAP,EACI;AAAK,aAAS,EAAE,4BAAhB;AAA8C,2BAAuB,EAAE;AAAE,YAAM,EAAE,WAAW,CAAC,KAAZ,IAAqB;AAA/B;AAAvE,IADJ,EAEI;AAAK,aAAS,EAAE,4BAAhB;AAA8C,2BAAuB,EAAE;AAAE,YAAM,EAAE,WAAW,CAAC,KAAZ,IAAqB;AAA/B;AAAvE,IAFJ,CADJ,CAFJ,EAQI;AAAK,aAAS,EAAC;AAAf,IARJ,CADe,GAWf;AAAK,aAAS,EAAE,4BAAhB;AAA8C,2BAAuB,EAAE;AAAE,YAAM,EAAE,WAAW,CAAC,KAAZ,IAAqB;AAA/B;AAAvE,IAZR,CADJ,CADJ,EAmBI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAA8B,WAAW,CAAC,MAA1C,CADJ,EAGI;AAAK,aAAS,EAAC;AAAf,KAA6B,WAAW,CAAC,SAAzC,E,KAAA,EAAuD,WAAW,CAAC,OAAnE,CAHJ,CAnBJ,CAfJ,CADJ;AA2CH,CAtFY;;AAwFb,+BAAuB,cAAvB,GAAwC,wBAAxC,C;;;;;;;;;;;;;;;ACnGA;;AACA;;AACA;;AAca,oCAA4B,UAAC,KAAD,EAA0C;AAAA,MAEvE,KAFuE,GAEoE,KAFpE,CAEvE,KAFuE;AAAA,MAEhE,QAFgE,GAEoE,KAFpE,CAEhE,QAFgE;AAAA,MAEtD,aAFsD,GAEoE,KAFpE,CAEtD,aAFsD;AAAA,MAEvC,aAFuC,GAEoE,KAFpE,CAEvC,aAFuC;AAAA,MAExB,mBAFwB,GAEoE,KAFpE,CAExB,mBAFwB;AAAA,MAEH,mBAFG,GAEoE,KAFpE,CAEH,mBAFG;AAAA,MAEkB,iBAFlB,GAEoE,KAFpE,CAEkB,iBAFlB;AAAA,MAEqC,aAFrC,GAEoE,KAFpE,CAEqC,aAFrC;AAAA,MAEoD,WAFpD,GAEoE,KAFpE,CAEoD,WAFpD;AAG/E,MAAM,WAAW,GAAG,iBAAiB,CAAC,aAAD,CAArC;AACA,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAlB,CAAyB,UAAC,IAAD,EAAO,KAAP;AAAA,WAAiB,KAAK,GAAG,aAAzB;AAAA,GAAzB,EAAiE,KAAjE,CAAuE,CAAvE,EAA0E,CAA1E,CAAlB;AAEA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAqC,KAArC,CADJ,EAGI,oBAAC,4BAAD,EAAiB;AAAC,aAAS,EAAC,uBAAX;AAAmC,QAAI,EAAE,aAAzC;AAAwD,QAAI,EAAE,aAA9D;AAA6E,cAAU,EAAE;AAAzF,GAAjB,EACI;AAAK,aAAS,EAAC;AAAf,KAAyC,QAAzC,CADJ,CAHJ,CADJ,EASK,iBAAiB,CAAC,MAAlB,GAA2B,CAA3B,GACG;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,OAAG,EAAE,WAAW,CAAC,KAAtB;AAA6B,OAAG,EAAE,WAAW,CAAC;AAA9C,IADJ,EAEK,WAAW,IAAI;AAAK,aAAS,EAAC;AAAf,KAAuC,+DAAvC,CAFpB,CADJ,EAMI,oBAAC,+BAAD,EAAe;AACX,SAAK,EAAE,KADI;AAEX,QAAI,EAAE,UAFK;AAGX,kBAAc,EAAE,IAHL;AAIX,eAAW,EAAE,WAJF;AAKX,0BAAsB,EAAE,EALb;AAMX,iBAAa,EAAE,aANJ;AAOX,qBAAiB,EAAE,iBAPR;AAQX,uBAAmB,EAAE,mBARV;AASX;AACA,4BAAwB,EAAE,kCAAC,KAAD;AAAA,aAAY,oBAAC,oCAAD,EAAe,kBAAK,KAAL,EAAU;AAAE,iBAAS,EAAE;AAAb,OAAV,CAAf,CAAZ;AAAA;AAVf,GAAf,CANJ,CADJ,EAqBI;AAAK,aAAS,EAAC;AAAf,KACK,CAAC,WAAD,IAAgB;AAAK,aAAS,EAAC;AAAf,KAAuC,+DAAvC,CADrB,EAGI;AAAK,aAAS,EAAC;AAAf,KAA6B,WAAW,CAAC,KAAzC,CAHJ,EAKI;AAAK,aAAS,EAAC;AAAf,KAAiC,WAAW,CAAC,QAA7C,CALJ,EAOI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAA8B,WAAW,CAAC,MAA1C,CADJ,EAGI;AAAK,aAAS,EAAC;AAAf,IAHJ,EAKI;AAAK,aAAS,EAAC;AAAf,KAA6B,WAAW,CAAC,SAAzC,E,KAAA,EAAuD,WAAW,CAAC,OAAnE,CALJ,CAPJ,CArBJ,CADJ,EAuCI;AAAK,aAAS,EAAC;AAAf,KACK,SAAS,CAAC,GAAV,CAAc,UAAC,IAAD,EAAO,KAAP;AAAA,WACX;AAAK,eAAS,EAAC,WAAf;AAA2B,SAAG,EAAE;AAAhC,OACI;AAAK,eAAS,EAAC;AAAf,OACI;AAAK,SAAG,EAAE,IAAI,CAAC,KAAf;AAAsB,SAAG,EAAE,IAAI,CAAC;AAAhC,MADJ,EAGI;AAAK,eAAS,EAAC;AAAf,OACI;AAAK,eAAS,EAAC;AAAf,MADJ,EAGI;AAAK,eAAS,EAAC;AAAf,OAAwB,IAAI,CAAC,OAA7B,E,KAAA,EAAyC,IAAI,CAAC,SAA9C,CAHJ,CAHJ,CADJ,EAWI;AAAK,eAAS,EAAC;AAAf,OACI;AAAK,eAAS,EAAC;AAAf,OAA6B,IAAI,CAAC,KAAlC,CADJ,EAGI;AAAK,eAAS,EAAC;AAAf,OAA8B,IAAI,CAAC,MAAnC,CAHJ,CAXJ,CADW;AAAA,GAAd,CADL,CAvCJ,CADH,GA+DG;AAAK,aAAS,EAAC;AAAf,KAAqC,qHAArC,CAxER,CADJ;AA6EH,CAnFY;;AAqFb,kCAA0B,cAA1B,GAA2C,2BAA3C,C;;;;;;;;;;;;;;;ACtGA;;AACA;;AAUa,0BAAkB,UAAC,KAAD,EAAgC;AAAA,MAEnD,WAFmD,GAEqD,KAFrD,CAEnD,WAFmD;AAAA,MAEtC,mBAFsC,GAEqD,KAFrD,CAEtC,mBAFsC;AAAA,MAEjB,gBAFiB,GAEqD,KAFrD,CAEjB,gBAFiB;AAAA,MAEC,iBAFD,GAEqD,KAFrD,CAEC,iBAFD;AAAA,MAEoB,4BAFpB,GAEqD,KAFrD,CAEoB,4BAFpB;AAAA,8BAGI,iBAAiB,CAAC,gBAAD,CAHrB;AAAA,MAGnD,KAHmD,yBAGnD,KAHmD;AAAA,MAG5C,KAH4C,yBAG5C,KAH4C;AAAA,MAGrC,QAHqC,yBAGrC,QAHqC;AAAA,MAG3B,MAH2B,yBAG3B,MAH2B;AAAA,MAGnB,SAHmB,yBAGnB,SAHmB;AAAA,MAGR,OAHQ,yBAGR,OAHQ;AAK3D,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,OAAG,EAAE;AAAV,IADJ,EAGI;AAAK,aAAS,EAAC;AAAf,KAA2B,+DAA3B,CAHJ,EAKI,oBAAC,+BAAD,EAAe;AACX,SAAK,EAAE,KADI;AAEX,QAAI,EAAE,UAFK;AAGX,kBAAc,EAAE,IAHL;AAIX,eAAW,EAAE,WAJF;AAKX,0BAAsB,EAAE,EALb;AAMX,iBAAa,EAAE,gBANJ;AAOX,qBAAiB,EAAE,iBAPR;AAQX,uBAAmB,EAAE,mBARV;AASX,4BAAwB,EAAE,4BATf;AAUX,4BAAwB,EAAE,kCAAC,KAAD;AAAA,aAAY,oBAAC,oCAAD,EAAe,kBAAK,KAAL,EAAU;AAAE,iBAAS,EAAE;AAAb,OAAV,CAAf,CAAZ;AAAA;AAVf,GAAf,CALJ,CADJ,EAoBI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAqC,KAArC,CADJ,EAGI;AAAK,aAAS,EAAC;AAAf,KAAyC,QAAzC,CAHJ,EAKI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAyB,MAAzB,CADJ,EAGI;AAAK,aAAS,EAAC;AAAf,IAHJ,EAKI;AAAK,aAAS,EAAC;AAAf,KAA4B,SAA5B,E,KAAA,EAA0C,OAA1C,CALJ,CALJ,CApBJ,CADJ;AAqCH,CA1CY,C;;;;;;;;;;;;;;;;;;;;;;;ACVb;;AAEA;;AASa,4BAAoB,UAAC,KAAD,EAAkC;AAAA,uBAEiD,KAFjD,CAEvD,OAFuD;AAAA,MAE5C,mBAF4C,kBAE5C,mBAF4C;AAAA,MAEvB,SAFuB,kBAEvB,SAFuB;AAAA,MAEZ,OAFY,kBAEZ,OAFY;AAAA,MAED,aAFC,GAEiD,KAFjD,CAED,aAFC;AAAA,MAEc,iBAFd,GAEiD,KAFjD,CAEc,iBAFd;AAAA,MAEiC,WAFjC,GAEiD,KAFjD,CAEiC,WAFjC;;AAAA,0BAGzB,iBAAS,aAAT,CAHyB;AAAA;AAAA,MAGxD,WAHwD;AAAA,MAG3C,cAH2C;;AAI/D,MAAM,mBAAmB,GAAG,gBAA5B;AACA,MAAM,IAAI,GAAG,IAAI,IAAJ,CAAS,OAAT,CAAb;AACA,MAAM,UAAU,aAAM,IAAI,CAAC,kBAAL,CAAwB,IAAxB,EAA8B;AAAE,WAAO,EAAE;AAAX,GAA9B,CAAN,cAA4D,IAAI,CAAC,OAAL,EAA5D,cAA8E,IAAI,CAAC,QAAL,KAAkB,CAAhG,cAAqG,IAAI,CAAC,WAAL,EAArG,CAAhB;AAEA,oBAAU,YAAK;AACX,kBAAc,CAAC,aAAD,CAAd;AACH,GAFD,EAEG,CAAC,aAAD,CAFH;;AAIA,MAAM,aAAa,GAAG,SAAhB,aAAgB,GAAK;AACvB,kBAAc,CAAC,CAAC,WAAF,CAAd;AACH,GAFD;;AAIA,MAAM,IAAI,GACN;AACA;AAAK,aAAS,EAAC,kBAAf;AAAkC,SAAK,EAAE,WAAW,GAAG;AAAE,eAAS,EAAE,mBAAmB,CAAC,OAApB,CAA4B;AAAzC,KAAH,GAA6D;AAAE,eAAS,EAAE,CAAb;AAAgB,kBAAY,EAAE;AAA9B,KAAjH;AAAsK,OAAG,EAAE;AAA3K,KACK,mBAAmB,IAAI,mBAAmB,CAAC,KAApB,CAA0B,GAA1B,CAA8B,cAAI,EAAG;AACzD,QAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAlB,CAAuB,kBAAQ;AAAA,aAAI,QAAQ,CAAC,MAAT,KAAoB,IAAI,CAAC,MAA7B;AAAA,KAA/B,CAAjB;AACA,QAAI,QAAJ,EAAc,OAAO,oBAAC,+BAAD,EAAe;AAAC,UAAI,EAAE,QAAP;AAAiB,SAAG,YAAK,SAAL,cAAkB,QAAQ,CAAC,MAA3B,CAApB;AAAyD,aAAO,EAAE,OAAlE;AAA2E,iBAAW,EAAE;AAAxF,KAAf,CAAP;AACjB,GAHuB,CAD5B,CAFJ;AAUA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC,0BAAf;AAA0C,WAAO,EAAE;AAAnD,KACI;AAAK,aAAS,EAAC;AAAf,KAA2B,UAA3B,CADJ,EAEI;AAAK,aAAS,uBAAgB,WAAW,GAAG,MAAH,GAAY,EAAvC;AAAd,IAFJ,CADJ,EAMK,IANL,CADJ;AAUH,CApCY,C;;;;;;;;;;;;;;;;;;;;;;;ACXb;;AACA;;AACA;;AAaa,oCAA4B,UAAC,KAAD,EAAuC;AAAA,MACpE,mBADoE,GACsC,KADtC,CACpE,mBADoE;AAAA,MAC/C,iBAD+C,GACsC,KADtC,CAC/C,iBAD+C;AAAA,MAC5B,YAD4B,GACsC,KADtC,CAC5B,YAD4B;AAAA,MACd,aADc,GACsC,KADtC,CACd,aADc;AAAA,MACC,WADD,GACsC,KADtC,CACC,WADD;AAAA,MACc,mBADd,GACsC,KADtC,CACc,mBADd;;AAAA,0BAEtC,iBAAS,aAAT,CAFsC;AAAA;AAAA,MAErE,WAFqE;AAAA,MAExD,cAFwD;;AAI5E,MAAM,4BAA4B,GAAG,SAA/B,4BAA+B,CAAC,gBAAD,EAA6B;AAC9D,kBAAc,CAAC,gBAAD,CAAd;AACH,GAFD;;AAIA,SACI;AAAK,aAAS,EAAE,WAAW,GAAG,kCAAH,GAAwC;AAAnE,KACI;AAAK,aAAS,EAAC;AAAf,KAAgC,+DAAhC,CADJ,EAGI,oBAAC,iCAAD,EAAgB;AACZ,eAAW,EAAE,WADD;AAEZ,oBAAgB,EAAE,WAFN;AAGZ,qBAAiB,EAAE,iBAHP;AAIZ,uBAAmB,EAAE,mBAJT;AAKZ,gCAA4B,EAAE;AALlB,GAAhB,CAHJ,EAWI,oBAAC,6BAAD,EAAc;AACV,eAAW,EAAE,WADH;AAEV,gBAAY,EAAE,YAFJ;AAGV,qBAAiB,EAAE,iBAHT;AAIV,uBAAmB,EAAE,mBAJX;AAKV,YAAQ,EAAE,iBAAiB,CAAC,WAAW,GAAG,CAAf;AALjB,GAAd,CAXJ,CADJ;AAqBH,CA7BY;;AA+Bb,kCAA0B,cAA1B,GAA2C,2BAA3C,C;;;;;;;;;;;;;;;;;;;;;;;AC7CA;;AACA;;AACA;;AAUa,wBAAgB,UAAC,KAAD,EAA8B;AAAA,MAE/C,QAF+C,GAEiC,KAFjC,CAE/C,QAF+C;AAAA,MAErC,YAFqC,GAEiC,KAFjC,CAErC,YAFqC;AAAA,MAEvB,iBAFuB,GAEiC,KAFjC,CAEvB,iBAFuB;AAAA,MAEJ,WAFI,GAEiC,KAFjC,CAEJ,WAFI;AAAA,MAES,mBAFT,GAEiC,KAFjC,CAES,mBAFT;;AAAA,0BAGb,iBAAS,KAAT,CAHa;AAAA;AAAA,MAGhD,aAHgD;AAAA,MAGjC,gBAHiC;;AAKvD,MAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAmB;AACvC,oBAAgB,CAAC,KAAD,CAAhB;AACH,GAFD;;AAIA,SACI;AAAK,aAAS,EAAC;AAAf,KACE;AAAK,aAAS,EAAC;AAAf,KACM;AAAO,QAAI,EAAC,OAAZ;AAAoB,aAAS,EAAC,WAA9B;AAA0C,WAAO,EAAE,CAAC,aAApD;AAAmE,YAAQ,EAAE;AAAA,aAAM,eAAe,CAAC,KAAD,CAArB;AAAA;AAA7E,IADN,EAEM;AAAK,aAAS,EAAC,2BAAf;AAA2C,SAAK,EAAE;AAAE,gBAAU,EAAE;AAAd;AAAlD,KAAoE,qEAApE,CAFN,EAIM;AAAO,QAAI,EAAC,OAAZ;AAAoB,aAAS,EAAC,WAA9B;AAA0C,WAAO,EAAE,aAAnD;AAAkE,YAAQ,EAAE;AAAA,aAAM,eAAe,CAAC,IAAD,CAArB;AAAA;AAA5E,IAJN,EAKM;AAAK,aAAS,EAAC;AAAf,KAAyC,6CAAzC,CALN,CADF,EASI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAAgC,uFAAhC,CADJ,EAGI,oBAAC,+BAAD,EAAe;AAAC,QAAI,EAAE,QAAP;AAAiB,eAAW,EAAE;AAA9B,GAAf,CAHJ,CATJ,EAeI;AAAK,aAAS,EAAC;AAAf,KACK,YAAY,IAAI,YAAY,CAAC,KAAb,CAAmB,CAAnB,EAAsB,mBAAtB,EAA2C,GAA3C,CAA+C,aAAG;AAAA,WAC/D,oBAAC,qCAAD,EAAkB;AACd,aAAO,EAAE,GADK;AAEd,SAAG,EAAE,GAAG,CAAC,SAFK;AAGd,iBAAW,EAAE,WAHC;AAId,mBAAa,EAAE,aAJD;AAKd,uBAAiB,EAAE;AALL,KAAlB,CAD+D;AAAA,GAAlD,CADrB,CAfJ,CADJ;AA6BH,CAtCY,C;;;;;;;;;;;;;;;ACNA,yBAAiB,UAAC,KAAD,EAA+B;AAAA,MACjD,IADiD,GAClB,KADkB,CACjD,IADiD;AAAA,MAC3C,OAD2C,GAClB,KADkB,CAC3C,OAD2C;AAAA,MAClC,WADkC,GAClB,KADkB,CAClC,WADkC;;AAGzD,MAAI,CAAC,IAAL,EAAW;AACP,WAAO;AAAK,eAAS,EAAC;AAAf,MAAP;AACH;;AALwD,MAOjD,KAPiD,GAOJ,IAPI,CAOjD,KAPiD;AAAA,MAO1C,KAP0C,GAOJ,IAPI,CAO1C,KAP0C;AAAA,MAOnC,MAPmC,GAOJ,IAPI,CAOnC,MAPmC;AAAA,MAO3B,SAP2B,GAOJ,IAPI,CAO3B,SAP2B;AAAA,MAOhB,OAPgB,GAOJ,IAPI,CAOhB,OAPgB;AAQzD,MAAM,CAAC,GAAG,SAAS,CAAC,KAAV,CAAgB,GAAhB,CAAV;AACA,MAAM,CAAC,GAAG,OAAO,CAAC,KAAR,CAAc,GAAd,CAAV;AACA,MAAM,SAAS,GAAG,IAAI,IAAJ,CAAS,OAAT,CAAlB;AACA,MAAM,OAAO,GAAG,IAAI,IAAJ,CAAS,OAAT,CAAhB;AACA,WAAS,CAAC,QAAV,CAAmB,MAAM,CAAC,CAAC,CAAC,CAAD,CAAF,CAAzB,EAAiC,MAAM,CAAC,CAAC,CAAC,CAAD,CAAF,CAAvC;AACA,SAAO,CAAC,QAAR,CAAiB,MAAM,CAAC,CAAC,CAAC,CAAD,CAAF,CAAvB,EAA+B,MAAM,CAAC,CAAC,CAAC,CAAD,CAAF,CAArC;AAEA,MAAM,OAAO,GAAG,IAAI,IAAJ,GAAW,OAAX,EAAhB;AACA,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,CAAC,OAAV,EAAV,IAAiC,OAAO,GAAG,OAAO,CAAC,OAAR,EAAlE;AACA,MAAM,YAAY,GAAG,OAAO,IAAI,SAAS,CAAC,OAAV,EAAX,IAAkC,OAAO,IAAI,OAAO,CAAC,OAAR,EAAlE;AAEA,SACI;AAAK,aAAS,6BAAsB,cAAc,GAAG,UAAH,GAAgB,EAApD;AAAd,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC,YAAf;AAA4B,OAAG,EAAE;AAAjC,IADJ,EAGK,YAAY,IAAI,WAAhB,IAA+B;AAAK,aAAS,EAAC;AAAf,KAAuC,kFAAvC,CAHpC,CADJ,EAOI;AAAK,aAAS,EAAC;AAAf,KACK,YAAY,IAAI,CAAC,WAAjB,IAAgC;AAAK,aAAS,EAAC;AAAf,KAAuC,kFAAvC,CADrC,EAGI;AAAK,aAAS,EAAC;AAAf,KAA6B,KAA7B,CAHJ,EAKI;AAAK,aAAS,EAAC;AAAf,KACI;AAAK,aAAS,EAAC;AAAf,KAA8B,MAA9B,CADJ,EAGI;AAAK,aAAS,EAAC;AAAf,IAHJ,EAKI;AAAK,aAAS,EAAC;AAAf,KAA6B,SAA7B,E,KAAA,EAA2C,OAA3C,CALJ,CALJ,CAPJ,CADJ,EAuBI;AAAK,aAAS,EAAC;AAAf,IAvBJ,CADJ;AA2BH,CA9CY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPb;;IA8Ba,kB;;;;;AACT,8BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,4FAAM,KAAN;;AASI,6BAAmB,UAAC,GAAD,EAAQ;AAC/B,YAAK,QAAL,CAAc;AAAE,iBAAS,EAAE,GAAG,CAAC,MAAJ,CAAW;AAAxB,OAAd;AACH,KAFO;;AAGA,mBAAS,YAAK;AAAA,UACC,cADD,GACoB,MAAK,KADzB,CACV,SADU;;AAGlB,UAAI,CAAC,cAAL,EAAqB;AACjB;AACH;;AAED,UAAI,OAAO,GAAG,EAAd;AACA,UAAI,SAAS,GAAG,EAAhB;AACA,UAAI,OAAO,GAAG,EAAd;AACA,UAAI,IAAI,GAAG,EAAX;AAGA,aAAO,GAAG,2CAAV;AACA,eAAS,GAAG,cAAZ;AACA,UAAI,wCAAiC,cAAjC,CAAJ;AACA,aAAO,GAAG,OAAO,GAAG,SAAV,GAAsB,IAAhC;AAEA,aAAO;AACP,YAAM,CAAC,IAAP,CAAY,OAAZ,EAAqB,QAArB;AACH,KApBO;;AAuBA,gCAAsB,UAAC,GAAD,EAA6B;AACvD,UAAI,GAAG,CAAC,GAAJ,KAAY,OAAhB,EAAyB;AACrB,cAAK,MAAL;AACH;AAEJ,KALO;;AAMA,iCAAuB,YAAK;AAChC,YAAM,aAAN,IAAuB,MAAM,aAAN,QAAvB,IAAsD,MAAM,aAAN,SAA4B,QAA5B,EAAtD;AACA,YAAM,aAAN,IAAyB,MAAM,aAAN,CAAoB,WAApB,EAAzB;AAEH,KAJO;;AAvCJ,UAAK,KAAL,GAAa;AACT,0BAAoB,EAAE,KADb;AAET,eAAS,EAAE;AAFF,KAAb;AAHa;AAQhB;;;;6BAwCK;AAAA;;AAAA,wBACuI,KAAK,KAD5I;AAAA,UACM,eADN,eACM,eADN;AAAA,UACuB,SADvB,eACuB,SADvB;AAAA,UACmC,OADnC,eACmC,OADnC;AAAA,UAC4C,QAD5C,eAC4C,QAD5C;AAAA,UACsD,QADtD,eACsD,QADtD;AAAA,UACgE,WADhE,eACgE,WADhE;AAAA,UAC6E,UAD7E,eAC6E,UAD7E;AAAA,UACyF,YADzF,eACyF,YADzF;AAAA,UACuG,cADvG,eACuG,cADvG;AAAA,UACuH,YADvH,eACuH,YADvH;AAAA,yBAEoE,KAAK,KAFzE;AAAA,UAEK,WAFL,gBAEK,WAFL;AAAA,UAEkB,cAFlB,gBAEkB,cAFlB;AAAA,UAEkC,aAFlC,gBAEkC,aAFlC;AAAA,UAEiD,eAFjD,gBAEiD,eAFjD;AAAA,UAGO,SAHP,GAGqB,KAAK,KAH1B,CAGO,SAHP;AAIF,UAAM,kBAAkB,GAAG,SAAS,GAAG,QAAH,GAAc,QAAlD;AACA,UAAM,eAAe,GAAG,QAAQ,IAAI,QAAZ,IAAwB,WAAxB,IAAuC,UAA/D;AACA,aACI;AAAK,iBAAS,gCAAyB,kBAAzB,CAAd;AAA6D,YAAI,EAAC,gBAAlE;AAAkF,sBAAY;AAA9F,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,iCACA;AAAK,iBAAS,EAAC;AAAf,SACA,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,WAAP;AAAoB,kBAAU,EAAE;AAAhC,OAAjB,EACQ;AAAM,iBAAS,EAAC;AAAhB,QADR,E,GAAA,EACgD;AAAM,iBAAS,EAAC;AAAhB,SAA6B,6CAA7B,CADhD,CADA,EAIM,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,aAAP;AAAsB,kBAAU,EAAE;AAAlC,OAAjB,EACE;AAAM,iBAAS,EAAC,kBAAhB;AAAmC,UAAE,EAAC;AAAtC,QADF,E,GAAA,EACuD;AAAM,iBAAS,EAAC;AAAhB,SAA2B,4CAA3B,CADvD,CAJN,EAOI;AAAK,UAAE,EAAC;AAAR,SACI;AAAG,UAAE,EAAC,aAAN;AAAoB,aAAK,EAAC,6CAA1B;AAAqC,iBAAS,EAAC,GAA/C;AAAkD,2BAAiB,eAAnE;AAAmF,YAAI,EAAC,QAAxF;AAAiG,eAAO,EAAE,KAAK;AAA/G,QADJ,CAPJ,CADA,EAaA;AAAQ,iBAAS,EAAC,UAAlB;AAA6B,eAAO,EAAE;AAAtC,QAbA,CADJ,EAgBI;AAAK,iBAAS,EAAC;AAAf,SACS;AACG,WAAG,EAAC,4EADP;AAEG,iBAAS,EAAC,cAFb;AAGG,UAAE,EAAC,cAHN;AAGoB,sBACN,4EAJd;AAKG,YAAI,EAAC,MALR;AAMG,mBAAW,EAAC,4EANf;AAOG,aAAK,EAAE,SAPV;AAQG,gBAAQ,EAAE,KAAK,gBARlB;AASG,kBAAU,EAAE,KAAK;AATpB,QADT,EAaU;AAAQ,iBAAS,EAAC,QAAlB;AAA2B,eAAO,EAAE;AAAA,iBAAI,MAAI,CAAC,mBAAT;AAAA;AAApC,QAbV,CAhBJ,CADJ,EAkCI;AAAK,iBAAS,EAAC;AAAf,SACA,CAAC,CAAC,GAAF,CAAO,eAAP,EAAyB,UAAC,IAAD,EAAc,KAAd;AAAA,eACjB;AAAK,mBAAS,EAAC,OAAf;AAAuB,aAAG,EAAE;AAA5B,WACI;AAAK,mBAAS,EAAC,YAAf;AAA4B,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAArD,UADJ,EAGI;AAAI,mBAAS,EAAC;AAAd,WACK,CAAC,CAAC,GAAF,CAAO,IAAI,CAAC,KAAZ,EAAoB,UAAC,OAAD,EAA8B,KAA9B;AAAA,iBACjB;AAAI,eAAG,EAAE;AAAT,aAAgB,oBAAC,4BAAD,EAAiB;AAAC,gBAAI,EAAE,OAAO,CAAC,IAAf;AAAqB,sBAAU,EAAE,OAAO,CAAC,UAAzC;AAAqD,iBAAK,EAAE;AAAE,mBAAK,EAAE,OAAO,CAAC;AAAjB;AAA5D,WAAjB,EACZ;AAAM,mCAAuB,EAAE;AAAE,oBAAM,EAAE,OAAO,CAAC;AAAlB;AAA/B,YADY,CAAhB,CADiB;AAAA,SAApB,CADL,CAHJ,CADiB;AAAA,OAAzB,CADA,EAcK,eAAe,IAAK;AAAK,iBAAS,EAAC;AAAf,SAChB,YAAY,KAAK,EAAjB,IAAuB;AAAK,iBAAS,EAAC;AAAf,SAAsC,YAAtC,CADP,EAEjB;AAAK,iBAAS,EAAC;AAAf,SACG,QAAQ,KAAK,EAAb,IAAmB,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,QAAP;AAAiB,cAAM,EAAC,QAAxB;AAAiC,iBAAS,EAAC;AAA3C,OAAnB,CADtB,EAEK,UAAU,KAAK,EAAf,IAAqB,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,UAAP;AAAmB,cAAM,EAAC,QAA1B;AAAmC,iBAAS,EAAC;AAA7C,OAAnB,CAF1B,EAGI,YAAY,KAAK,EAAjB,IAAuB,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,YAAP;AAAqB,cAAM,EAAC,QAA5B;AAAqC,iBAAS,EAAC;AAA/C,OAAnB,CAH3B,EAIK,cAAc,KAAK,EAAnB,IAAyB,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,cAAP;AAAuB,cAAM,EAAC,QAA9B;AAAuC,iBAAS,EAAC;AAAjD,OAAnB,CAJ9B,CAFiB,CAdzB,CAlCJ,CADJ;AA8DH;;;;EArHmC,KAAK,CAAC,S;;AAA9C,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/BA;;AAGA;;AACA;;IAYa,uB;;;;;AAAb;AAAA;;AAAA;;;;AACY,iCAAuB,UAAC,UAAD,EAAwB;AACnD,UAAI,UAAJ,EAAgB;AACZ,eAAO,UAAP;AACH;AACJ,KAJO;;AADZ;AA6BC;;;;6BAvBS;AAAA;;AAAA,wBAC+F,KAAK,KADpG;AAAA,UACM,YADN,eACM,YADN;AAAA,UACoB,QADpB,eACoB,QADpB;AAAA,UAC8B,YAD9B,eAC8B,YAD9B;AAAA,UAC4C,UAD5C,eAC4C,UAD5C;AAAA,UACwD,QADxD,eACwD,QADxD;AAAA,UACkE,QADlE,eACkE,QADlE;AAAA,UAC4E,cAD5E,eAC4E,cAD5E;AAKF,aACI;AAAK,iBAAS,EAAC,SAAf;AAAyB,YAAI,EAAC,YAA9B;AAA0C,sBAAY;AAAtD,SACK,QAAQ,IAAI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,QAAQ,CAAC,IAAhB;AAAsB,kBAAU,EAAE,QAAQ,CAAC,UAA3C;AAAuD,iBAAS,EAAC;AAAjE,OAAjB,EACb,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,QAAQ,CAAC,GAAf;AAAoB,WAAG,EAAE,QAAQ,CAAC,UAAlC;AAA8C,aAAK,EAAE,QAAQ,CAAC,UAA9D;AAAwE,uBAAc,MAAtF;AAA4F,sBAAY;AAAxG,OAAhB,CADa,CADjB,EAII;AAAK,iBAAS,EAAC;AAAf,SACC,GAAG,CAAE,YAAF,EAAiB,UAAC,IAAD,EAA2B,KAA3B;AAAA,eAA6C;AAAK,aAAG,EAAE,KAAV;AAAiB,eAAK,EAAE;AAAE,iBAAK,EAAG,IAAI,CAAC,KAAf;AAAuB,+BAAoB,IAAI,CAAC,KAAhD;AAAuD,sBAAU,EAAE,IAAI,CAAC,QAAL,qBAA4B,IAAI,CAAC,KAAjC,sBAAkD,IAAI,CAAC,KAAvD,sBAAwE,IAAI,CAAC,KAA7E,uBAA+F,IAAI,CAAC,KAApG,IAA8G;AAAjL;AAAxB,WAC9D,oBAAC,4BAAD,EAAiB;AAAC,cAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,oBAAU,EAAE,IAAI,CAAC,UAAnC;AAA+C,mBAAS,EAAE,MAAI,CAAC,oBAAL,CAA0B,IAAI,CAAC,UAA/B;AAA1D,SAAjB,EACI;AAAM,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAA/B,UADJ,CAD8D,CAA7C;AAAA,OAAjB,CADJ,EAMH;AAAK,eAAO,EAAE,YAAd;AAA4B,UAAE,EAAC;AAA/B,SAAiD;AAAM,iBAAS,EAAC,SAAhB;AAA0B,UAAE,EAAC;AAA7B,S,0BAAA,EAA2D;AAAM,iBAAS,EAAE,QAAQ,GAAG,kBAAH,GAAwB;AAAjD,QAA3D,CAAjD,CANG,CAJJ,EAYI;AAAK,eAAO,EAAE,cAAd;AAA8B,UAAE,EAAC;AAAjC,SAAuD;AAAM,UAAE,EAAC,4BAAT;AAAsC,iBAAS,EAAC;AAAhD,QAAvD,CAZJ,CADJ;AAiBH;;;;EA5BwC,KAAK,CAAC,S;;AAAnD,0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBA;;AACA;;AAEA;;AAEA;;AACA,IAAM,YAAY,GAAG,mBAAO,CAAC,kDAAD,CAA5B;;AAiBA,IAAa,mBAAb;AAAA;AAAA;AAAA;;AADA;AAAA;;AAAA;;;;AAGY,+BAAqB,UAAC,CAAD,EAAM;AAC/B,UAAM,SAAS,GAAG,MAAK,KAAL,CAAW,aAAX,IAA4B,MAAK,KAAL,CAAW,eAAzD;;AACA,UAAI,SAAS,IAAI,CAAC,CAAC,MAAf,IAAyB,CAAC,CAAC,MAAF,CAAS,EAAT,KAAgB,iBAAzC,IAA8D,CAAC,CAAC,MAAF,CAAS,EAAT,KAAgB,yBAA9E,IAA2G,CAAC,CAAC,MAAF,CAAS,EAAT,KAAgB,4BAA3H,IAA2J,CAAC,CAAC,MAAF,CAAS,EAAT,KAAgB,mBAA/K,EAAoM;AAChM,cAAK,KAAL,CAAW,WAAX;;AACA,cAAK,KAAL,CAAW,aAAX;AACH;AAEJ,KAPO;;AAQA,iCAAuB,YAAK;AAChC,YAAM,aAAN,IAAyB,MAAM,aAAN,CAAoB,WAApB,EAAzB;AACA,YAAM,aAAN,IAAuB,MAAM,aAAN,QAAvB,IAAsD,MAAM,aAAN,SAA4B,QAA5B,EAAtD;AACH,KAHO;;AAXZ;AAsDC;;AArDD;AAAA;AAAA,6BAcU;AAAA,wBACiI,KAAK,KADtI;AAAA,UACM,eADN,eACM,eADN;AAAA,UACuB,YADvB,eACuB,YADvB;AAAA,UACqC,UADrC,eACqC,UADrC;AAAA,UACiD,QADjD,eACiD,QADjD;AAAA,UAC2D,cAD3D,eAC2D,cAD3D;AAAA,UAC2E,YAD3E,eAC2E,YAD3E;AAAA,UACyF,kBADzF,eACyF,kBADzF;AAAA,UAC6G,eAD7G,eAC6G,eAD7G;AAEF,UAAM,SAAS,GAAG,KAAK,KAAL,CAAW,aAAX,IAA4B,KAAK,KAAL,CAAW,eAAzD;AAEA,aACI;AAAK,iBAAS,EAAE,UAAU,CAAC,WAAD,EAAc;AAAE,oBAAU,SAAZ;AAAuB,oBAAU,CAAC,SAAlC;AAA6C,yBAAe,KAAK,KAAL,CAAW;AAAvE,SAAd,CAA1B;AAAmI,YAAI,EAAC,gBAAxI;AAAwJ,sBAAY;AAApK,SACI,oBAAC,+BAAD,EAAe;AAAC,mBAAW,EAAC,4EAAb;AAA8B,0BAAkB,EAAE;AAAlD,OAAf,CADJ,EAEK,CAAC,eAAD,IAAoB,0C,IAAA,EAAI;AAAK,UAAE,EAAC;AAAR,SACrB;AAAG,UAAE,EAAC,aAAN;AAAoB,eAAO,EAAE,KAAK,oBAAlC;AAAwD,aAAK,EAAC,iHAA9D;AAAsF,iBAAS,EAAC,GAAhG;AAAmG,2BAAiB,eAApH;AAAoI,YAAI,EAAC;AAAzI,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CADqB,CAAJ,EAIjB;AAAK,iBAAS,EAAC;AAAf,SACK,GAAG,CAAE,eAAF,EAAoB,UAAC,IAAD,EAAc,KAAd;AAAA,eACpB;AAAK,mBAAS,EAAC,OAAf;AAAuB,aAAG,EAAE;AAA5B,WACI;AAAK,mBAAS,EAAC,YAAf;AAA4B,iCAAuB,EAAE;AAAE,kBAAM,EAAE,IAAI,CAAC;AAAf;AAArD,UADJ,EAGI;AAAI,mBAAS,EAAC;AAAd,WACK,GAAG,CAAE,IAAI,CAAC,KAAP,EAAe,UAAC,OAAD,EAA8B,KAA9B;AAAA,iBACf;AAAI,eAAG,EAAE;AAAT,aAAgB,oBAAC,4BAAD,EAAiB;AAAC,gBAAI,EAAE,OAAO,CAAC,IAAf;AAAqB,sBAAU,EAAE,OAAO,CAAC,UAAzC;AAAqD,iBAAK,EAAE;AAAE,mBAAK,EAAE,OAAO,CAAC;AAAjB;AAA5D,WAAjB,EACZ;AAAM,mCAAuB,EAAE;AAAE,oBAAM,EAAE,OAAO,CAAC;AAAlB;AAA/B,YADY,CAAhB,CADe;AAAA,SAAf,CADR,CAHJ,CADoB;AAAA,OAApB,CADR,EAcO;AAAK,iBAAS,EAAC;AAAf,SACF,YAAY,KAAK,EAAjB,IAAuB;AAAK,iBAAS,EAAC;AAAf,SAAsC,YAAtC,CADrB,EAEH;AAAK,iBAAS,EAAC;AAAf,SACC,QAAQ,KAAK,EAAb,IAAmB,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,QAAP;AAAiB,cAAM,EAAC,QAAxB;AAAiC,iBAAS,EAAC;AAA3C,OAAnB,CADpB,EAEK,UAAU,KAAK,EAAf,IAAqB,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,UAAP;AAAmB,cAAM,EAAC,QAA1B;AAAmC,iBAAS,EAAC;AAA7C,OAAnB,CAF1B,EAGK,YAAY,KAAK,EAAjB,IAAuB,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,YAAP;AAAqB,cAAM,EAAC,QAA5B;AAAqC,iBAAS,EAAC;AAA/C,OAAnB,CAH5B,EAII,cAAc,KAAK,EAAnB,IAAyB,oBAAC,8BAAD,EAAmB;AAAC,YAAI,EAAE,cAAP;AAAuB,cAAM,EAAC,QAA9B;AAAuC,iBAAS,EAAC;AAAjD,OAAnB,CAJ7B,CAFG,CAdP,CAJiB,CAFzB,CADJ;AAkCH;AApDL;;AAAA;AAAA,EAAyC,KAAK,CAAC,SAA/C;;AAAa,mBAAmB,eAD/B,YAC+B,GAAnB,mBAAmB,CAAnB;AAAA,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBb;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;IA6Ca,iC;;;;;AAET,6CAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,2GAAM,KAAN;;AAOI,qBAAW,YAAK;AACpB,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE,CAAC,MAAK,KAAL,CAAW;AAAxB,OAAd;;AACA,cAAQ,CAAC,IAAT,CAAc,SAAd,CAAwB,MAAxB,CAA+B,aAA/B;AACH,KAHO;;AA2BA,mCAAyB;AAAA,aAAM,QAAQ,CAAC;AAAA,eAAM,MAAK,SAAL,EAAN;AAAA,OAAD,EAAyB,GAAzB,CAAd;AAAA,KAAzB;;AAEA;AAAA;AAAA;AAAA;AAAA,4BAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AACR,oBADQ,GACG,MAAK,KADR,CACR,MADQ;AAEV,yBAFU,aAEO,MAAM,CAAC,QAAP,CAAgB,IAFvB,yBAE0C,MAF1C;AAGV,uBAHU,GAGE;AAAE,mBAAG,EAAE;AAAP,eAHF;AAAA;AAAA;AAAA,qBAMN,SAAS,CAAC,KAAV,CAAgB,SAAhB,CANM;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAQZ,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AARY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAZ;;AAWA,0CAAgC,YAAK;AACzC,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAI,MAAM,CAAC,YAAX,EAAyB;AACrB,cAAM,aAAa,GAAG,QAAQ,CAAC,aAAT,CAAuB,gBAAvB,CAAtB;;AACA,cAAI,aAAJ,EAAmB;AACf,0DAAkB,aAAlB;AACH;AACJ,SALD,MAMK;AACD,gBAAM,CAAC,6BAAP,IAAwC,MAAM,CAAC,6BAAP,EAAxC;AACH;AACJ;AACJ,KAZO;;AAgBA,iCAAuB,YAAK;AAChC,YAAM,aAAN,IAAyB,MAAM,aAAN,CAAoB,WAApB,EAAzB;AACA,YAAM,aAAN,IAAuB,MAAM,aAAN,QAAvB,IAAsD,MAAM,aAAN,SAA4B,QAA5B,EAAtD;AACH,KAHO;;AA9DJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,KADD;AAET,cAAQ,EAAE,KAFD;AAGT,oBAAc,EAAE;AAHP,KAAb;AAFa;AAOhB,G,CAKD;;;;;gCAEiB;AACb,UAAM,SAAS,GAAG,QAAQ,CAAC,aAAT,CAAuB,kBAAvB,EAA2C,qBAA3C,GAAmE,GAArF;;AACA,UAAI,SAAS,GAAG,EAAZ,GAAiB,CAArB,EAAwB;AACpB,aAAK,QAAL,CAAc;AAAE,kBAAQ,EAAE;AAAZ,SAAd;AAEH,OAHD,MAGO;AACH,aAAK,QAAL,CAAc;AAAE,kBAAQ,EAAE;AAAZ,SAAd;AACH;AAEJ;;;wCAEgB;AACb,cAAQ,CAAC,gBAAT,CAA0B,QAA1B,EAAoC,KAAK,sBAAL,EAApC;AACH;;;2CAKmB;AAChB,cAAQ,CAAC,mBAAT,CAA6B,QAA7B,EAAuC,KAAK,sBAAL,EAAvC;AACH;;;6BAmCK;AAAA,wBAG2E,KAAK,KAHhF;AAAA,UACM,cADN,eACM,cADN;AAAA,UACsB,aADtB,eACsB,aADtB;AAAA,UACqC,eADrC,eACqC,eADrC;AAAA,UACqD,eADrD,eACqD,eADrD;AAAA,UACqE,YADrE,eACqE,YADrE;AAAA,UACqF,YADrF,eACqF,YADrF;AAAA,UACmG,eADnG,eACmG,eADnG;AAAA,UACmH,UADnH,eACmH,UADnH;AAAA,UAC+H,QAD/H,eAC+H,QAD/H;AAAA,UAEE,kBAFF,eAEE,kBAFF;AAAA,UAEsB,QAFtB,eAEsB,QAFtB;AAAA,UAEgC,QAFhC,eAEgC,QAFhC;AAAA,UAE0C,WAF1C,eAE0C,WAF1C;AAAA,UAEwD,WAFxD,eAEwD,WAFxD;AAAA,UAEqE,MAFrE,eAEqE,MAFrE;AAAA,UAE6E,MAF7E,eAE6E,MAF7E;AAAA,UAEoF,SAFpF,eAEoF,SAFpF;AAAA,UAGE,YAHF,eAGE,YAHF;AAAA,UAGgB,cAHhB,eAGgB,cAHhB;AAAA,UAGgC,eAHhC,eAGgC,eAHhC;AAAA,UAGiD,qBAHjD,eAGiD,qBAHjD;AAAA,wBAI8B,KAAK,KAJnC;AAAA,UAIM,QAJN,eAIM,QAJN;AAAA,UAIiB,QAJjB,eAIiB,QAJjB;AAKF,UAAM,YAAY,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAM,CAAC,6BAAxC,IAAyE,MAAM,CAAC,gBAAhF,IAAoG,MAAM,CAAC,gBAAhI;AACA,UAAM,MAAM,GAAG,QAAQ,GAAG,QAAH,GAAc,EAArC;AAII,aACI;AAAK,iBAAS,EAAE,UAAU,CAAC,qBAAD,CAA1B;AAAmD,UAAE,EAAC;AAAtD,SAEI;AAAK,iBAAS;AAAd,SACI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,QAAQ,CAAC,IAAhB;AAAsB,kBAAU,EAAE,QAAQ,CAAC,UAA3C;AAAuD,iBAAS,EAAE,QAAQ,CAAC;AAA3E,OAAjB,EACA,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,QAAQ,CAAC,GAAf;AAAoB,WAAG,EAAE,QAAQ,CAAC,UAAlC;AAA8C,aAAK,EAAE,QAAQ,CAAC,UAA9D;AAAwE,uBAAc,MAAtF;AAA4F,sBAAY;AAAxG,OAAhB,CADA,CADJ,EAKI;AAAQ,iBAAS,0BAAmB,QAAQ,GAAG,QAAH,GAAc,EAAzC,CAAjB;AAAgE,eAAO,EAAE,KAAK;AAA9E,QALJ,CAFJ,EAWI,oBAAC,2BAAD,EAAa;AACT,oBAAY,EAAE,YADL;AAET,eAAO,EAAE,KAAK,QAFL;AAGT,iBAAS,EAAE,MAHF;AAIT,eAAO,EAAE;AAJA,OAAb,EAMU,eAAe,IAAI,eAAe,CAAC,MAAhB,GAAuB,CAA1C,IAAgD,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,eAAP;AAAwB,kBAAU,EAAE,qBAApC;AAA2D,aAAK,EAAE;AAAlE,OAAjB,EAClD;AAAM,iBAAS,EAAC;AAAhB,QADkD,CAN1D,EASG,SAAS,IAAI,SAAS,CAAC,MAAV,GAAiB,CAA9B,IAAmC,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,SAAP;AAAkB,kBAAU,EAAE,eAA9B;AAAgD,aAAK,EAAE;AAAvD,OAAjB,EAC9B;AAAM,iBAAS,EAAC;AAAhB,QAD8B,CATtC,CAXJ,EA2BI,oBAAC,uCAAD,EAAmB;AACf,uBAAe,EAAE,eADF;AAEf,iBAAS,EAAE,KAAK,KAAL,CAAW,QAFP;AAGf,eAAO,EAAE,KAAK,QAHC;AAIf,0BAAkB,EAAE,kBAJL;AAKf,gBAAQ,EAAE,QALK;AAMf,gBAAQ,EAAE,QANK;AAOf,mBAAW,EAAE,WAPE;AAQf,cAAM,EAAE,MARO;AASf,cAAM,EAAE,MATO;AAUf,qBAAa,EAAE,aAVA;AAWf,uBAAe,EAAE,eAXF;AAYf,mBAAW,EAAE,WAZE;AAaf,sBAAc,EAAE,cAbD;AAcf,kBAAU,EAAE,UAdG;AAef,oBAAY,EAAE,YAfC;AAgBf,sBAAc,EAAE,cAhBD;AAiBf,oBAAY,EAAE;AAjBC,OAAnB,CA3BJ,CADJ;AAmDP;;;;EApIkD,KAAK,CAAC,S;;AAC3C,mDAAiB,mCAAjB;AADlB,8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDA;;AACA;;AACA;;AACA;;AACA;;AACA;;IAiDa,4B;;;;;AAET,wCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,sGAAM,KAAN;;AAQI,qBAAW,YAAK;AACpB,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE,CAAC,MAAK,KAAL,CAAW,QAAxB;AAAkC,sBAAc,EAAE;AAAlD,OAAd;AACH,KAFO;;AAIA,2BAAiB,YAAK;AAC1B,UAAM,cAAc,GAAG,OAAO,MAAP,IAAiB,WAAjB,IAAgC,MAAM,CAAC,cAA9D;;AACA,UAAI,cAAJ,EAAoB;AAChB,WAAG,CAAC,QAAJ,CAAa,IAAb,GAAoB,EAApB;AACH,OAFD,MAGK,MAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,CAAC,MAAK,KAAL,CAAW,cAA9B;AAA8C,gBAAQ,EAAE;AAAxD,OAAd;AACR,KANO;;AA6BA,mCAAyB;AAAA,aAAM,QAAQ,CAAC;AAAA,eAAM,MAAK,SAAL,EAAN;AAAA,OAAD,EAAyB,GAAzB,CAAd;AAAA,KAAzB;;AAEA,iCAAuB,YAAK;AAChC,YAAM,aAAN,IAAyB,MAAM,aAAN,CAAoB,WAApB,EAAzB;AACA,YAAM,aAAN,IAAuB,MAAM,aAAN,QAAvB,IAAsD,MAAM,aAAN,SAA4B,QAA5B,EAAtD;AACH,KAHO;;AA1CJ,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,KADD;AAET,cAAQ,EAAE,KAFD;AAGT,oBAAc,EAAE;AAHP,KAAb;AAFa;AAOhB;;;;gCAcgB;AACb,UAAM,SAAS,GAAG,QAAQ,CAAC,cAAT,CAAwB,gBAAxB,EAA0C,qBAA1C,GAAkE,GAApF;;AACA,UAAI,SAAS,GAAG,GAAZ,GAAkB,CAAtB,EAAyB;AACrB,aAAK,QAAL,CAAc;AAAE,kBAAQ,EAAE;AAAZ,SAAd;AAEH,OAHD,MAGO;AACH,aAAK,QAAL,CAAc;AAAE,kBAAQ,EAAE;AAAZ,SAAd;AACH;AACJ;;;wCAEgB;AACb,cAAQ,CAAC,gBAAT,CAA0B,QAA1B,EAAoC,KAAK,sBAAL,EAApC;AAEH;;;2CAEmB;AAChB,UAAM,MAAM,GAAG,QAAQ,CAAC,cAAT,CAAwB,gBAAxB,CAAf;AACA,cAAQ,CAAC,mBAAT,CAA6B,QAA7B,EAAuC,KAAK,sBAAL,EAAvC;AAEH;;;6BASK;AAAA;;AAAA,wBAGE,KAAK,KAHP;AAAA,UACM,YADN,eACM,YADN;AAAA,UACoB,eADpB,eACoB,eADpB;AAAA,UACqC,QADrC,eACqC,QADrC;AAAA,UAC+C,YAD/C,eAC+C,YAD/C;AAAA,UAC6D,SAD7D,eAC6D,SAD7D;AAAA,UACwE,cADxE,eACwE,cADxE;AAAA,UACwF,eADxF,eACwF,eADxF;AAAA,UACyG,qBADzG,eACyG,qBADzG;AAAA,UAEE,UAFF,eAEE,UAFF;AAAA,UAEc,YAFd,eAEc,YAFd;AAAA,UAE4B,UAF5B,eAE4B,UAF5B;AAAA,UAEwC,QAFxC,eAEwC,QAFxC;AAAA,UAEkD,cAFlD,eAEkD,cAFlD;AAAA,UAEkE,YAFlE,eAEkE,YAFlE;AAAA,UAEgF,mBAFhF,eAEgF,mBAFhF;AAAA,UAIM,QAJN,GAImB,KAAK,KAJxB,CAIM,QAJN;AAKF,UAAM,iBAAiB,GAAG,QAAQ,IAAI,YAAtC;AACA,aACI;AAAK,iBAAS,EAAE,UAAU,CAAC,gBAAD,CAA1B;AAA8C,UAAE,EAAC;AAAjD,SACI;AAAQ,iBAAS,EAAC,sBAAlB;AAAyC,eAAO,EAAE,KAAK,oBAAvD;AAA6E,UAAE,EAAC,mBAAhF;AAAoG,aAAK,EAAC,6CAA1G;AAAoH,2BAAiB,eAArI;AAAqJ,iBAAS,EAAC;AAA/J,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,QAAQ,CAAC,IAAhB;AAAsB,kBAAU,EAAE,QAAQ,CAAC,UAA3C;AAAuD,iBAAS,EAAE,QAAQ,CAAC;AAA3E,OAAjB,EACI,oBAAC,iCAAD,EAAgB;AAAC,WAAG,EAAE,QAAQ,CAAC,GAAf;AAAoB,WAAG,EAAE,QAAQ,CAAC,UAAlC;AAA8C,aAAK,EAAE,QAAQ,CAAC,UAA9D;AAAwE,uBAAc,MAAtF;AAA4F,sBAAY;AAAxG,OAAhB,CADJ,CADJ,CADJ,EAOI;AAAK,iBAAS,EAAC;AAAf,SACG,eAAe,IAAI,eAAe,CAAC,MAAhB,GAAuB,CAA1C,IAAgD,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,eAAP;AAAwB,kBAAU,EAAE,qBAApC;AAA2D,aAAK,EAAE;AAAlE,OAAjB,EAC3C;AAAM,iBAAS,EAAC;AAAhB,QAD2C,CADnD,EAIK,eAAe,IAAI,eAAe,CAAC,MAAhB,GAAuB,CAA1C,IAA+C,SAA/C,IAA4D,SAAS,CAAC,MAAV,GAAiB,CAA7E,IAAmF;AAAM,iBAAS,EAAC;AAAhB,QAJxF,EAKG,SAAS,IAAI,SAAS,CAAC,MAAV,GAAiB,CAA9B,IAAmC,oBAAC,4BAAD,EAAiB;AAAC,YAAI,EAAE,SAAP;AAAkB,kBAAU,EAAE,mBAA9B;AAAoD,aAAK,EAAE;AAA3D,OAAjB,EAC9B;AAAM,iBAAS,EAAC;AAAhB,QAD8B,CALtC,CAPJ,CAFJ,EAuBI;AAAK,iBAAS,EAAE,UAAU,CAAC,kBAAD,EAAqB;AAAE,oBAAU;AAAZ,SAArB,CAA1B;AAAiF,UAAE,EAAC;AAApF,SACI,oBAAC,2CAAD,EAAwB;AACpB,gBAAQ,EAAE,iBADU;AAEpB,oBAAY,EAAE,YAFM;AAGpB,gBAAQ,EAAE,QAHU;AAIpB,oBAAY,EAAE,KAAK,QAJC;AAKpB,sBAAc,EAAE,KAAK,cALD;AAMpB,gBAAQ,EAAE,KAAK,KAAL,CAAW,QAND;AAOpB,kBAAU,EAAE;AAPQ,OAAxB,CADJ,EAWI,oBAAC,yCAAD,EAAoB;AAChB,uBAAe,EAAE,eADD;AAEhB,qBAAa,EAAE,KAAK,KAAL,CAAW,QAFV;AAGhB,uBAAe,EAAE,KAAK,KAAL,CAAW,cAHZ;AAIhB,mBAAW,EAAE;AAAA,iBAAM,MAAI,CAAC,QAAL,CAAc;AAAE,oBAAQ,EAAE;AAAZ,WAAd,CAAN;AAAA,SAJG;AAKhB,qBAAa,EAAE;AAAA,iBAAM,MAAI,CAAC,QAAL,CAAc;AAAE,0BAAc,EAAE;AAAlB,WAAd,CAAN;AAAA,SALC;AAMhB,oBAAY,EAAE,YANE;AAOhB,kBAAU,EAAE,UAPI;AAQhB,gBAAQ,EAAE,QARM;AAShB,sBAAc,EAAE,cATA;AAUhB,oBAAY,EAAE,YAVE;AAWhB,0BAAkB,EAAE;AAXJ,OAApB,CAXJ,CAvBJ,CADJ;AAmDH;;;;EA5G6C,KAAK,CAAC,S;;AACtC,8CAAiB,8BAAjB;AADlB,oE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC9Ca,Y;;;;;;;;;;;;;6BAEH;AAAA,wBAC4H,KAAK,KADjI;AAAA,UACM,YADN,eACM,YADN;AAAA,UACoB,MADpB,eACoB,MADpB;AAAA,UAC4B,IAD5B,eAC4B,IAD5B;AAAA,UACkC,WADlC,eACkC,WADlC;AAAA,UAC+C,SAD/C,eAC+C,QAD/C;AAAA,UACyD,UADzD,eACyD,UADzD;AAAA,8CACqE,gBADrE;AAAA,UACyF,KADzF,yBACyF,KADzF;AAAA,UACgG,QADhG,yBACgG,QADhG;AAAA,UAC0G,WAD1G,yBAC0G,WAD1G;AAGF,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,KAAK,IAAI;AAAK,iBAAS,EAAC;AAAf,SAAoC,KAApC,CADd,EAEK,QAAQ,IAAI;AAAK,iBAAS,EAAC;AAAf,SAAuC,QAAvC,CAFjB,EAII;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAO,YAAI,EAAC,cAAZ;AAA2B,WAAG,EAAC,KAA/B;AAAqC,aAAK,EAAE,YAA5C;AAA0D,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,SAAQ,CAAC,CAAD,CAAf;AAAA,SAApE;AAAwF,YAAI,EAAC,MAA7F;AAAoG,UAAE,EAAC,cAAvG;AAAsH,mBAAW,EAAC;AAAlI,QADJ,CADJ,EAKI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAO,YAAI,EAAC,QAAZ;AAAqB,WAAG,EAAC,KAAzB;AAA+B,aAAK,EAAE,MAAtC;AAA8C,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,SAAQ,CAAC,CAAD,CAAf;AAAA,SAAxD;AAA4E,YAAI,EAAC,MAAjF;AAAwF,UAAE,EAAC,QAA3F;AAAoG,mBAAW,EAAC;AAAhH,QADJ,CALJ,EASI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAO,YAAI,EAAC,MAAZ;AAAmB,WAAG,EAAC,KAAvB;AAA6B,aAAK,EAAE,IAApC;AAA0C,aAAK,EAAE;AAAC,qBAAW,EAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAApB,GAA2B,SAA3B,GAAuC;AAApD,SAAjD;AAAkH,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,SAAQ,CAAC,CAAD,CAAf;AAAA,SAA5H;AAAgJ,YAAI,EAAC,OAArJ;AAA6J,UAAE,EAAC,MAAhK;AAAuK,mBAAW,EAAC;AAAnL,QADJ,EAEM,IAAI,IAAI,CAAC,UAAU,CAAC,IAArB,IAA8B;AAAG,iBAAS,EAAC;AAAb,SAAyC,WAAzC,CAFnC,CATJ,EAcI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAO,YAAI,EAAC,aAAZ;AAA0B,WAAG,EAAC,KAA9B;AAAoC,aAAK,EAAE;AAAC,qBAAW,EAAE,WAAW,IAAI,CAAC,UAAU,CAAC,WAA5B,GAA2C,SAA3C,GAAuD;AAApE,SAA3C;AAA4H,aAAK,EAAE,WAAnI;AAAgJ,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,SAAQ,CAAC,CAAD,CAAf;AAAA,SAA1J;AAA8K,YAAI,EAAC,MAAnL;AAA0L,UAAE,EAAC,aAA7L;AAA2M,mBAAW,EAAC;AAAvN,QADJ,EAEM,WAAW,IAAI,CAAC,UAAU,CAAC,WAA5B,IAA4C;AAAG,iBAAS,EAAC;AAAb,SAAuC,mNAAvC,CAFjD,CAdJ,CAJJ,CADJ;AA0BH;;;;EA/B6B,KAAK,CAAC,S;;AAAxC,oC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICAa,qB;;;;;;;;;;;;;6BAEH;AAAA,wBAC+F,KAAK,KADpG;AAAA,UACM,kBADN,eACM,kBADN;AAAA,UAC2B,gBAD3B,eAC2B,gBAD3B;AAAA,UAC6C,MAD7C,eAC6C,MAD7C;AAAA,UACqD,sBADrD,eACqD,sBADrD;AAAA,UAC6E,aAD7E,eAC6E,aAD7E;AAGF,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,aAAK,EAAE;AAAE,iBAAO,EAAE,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,GAAoC,CAApC,IAAyC;AAApD,SAAZ;AAA0E,iBAAS,EAAC;AAApF,SACI;AAAO,YAAI,EAAC,MAAZ;AAAmB,UAAE,EAAC,WAAtB;AACI,gBAAQ,EAAE,kBADd;AAEI,gBAAQ;AAFZ,QADJ,EAKI;AAAQ,iBAAS,EAAC;AAAlB,SAAqC,+FAArC,CALJ,CADJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SAEI;AAAK,iBAAS,EAAC;AAAf,SACK,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,GAAoC,CAApC,IAAyC;AAAK,iBAAS,EAAC,aAAf;AAA6B,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAApC,SACrC,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,GAA3B,CAA+B,iBAAO;AAAA,eACnC;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,EAAE;AAA/B,WACI;AAAO,cAAI,EAAC,MAAZ;AAAmB,aAAG,EAAC,KAAvB;AAA6B,eAAK,EAAE,aAAa,CAAC,OAAD,CAAb,CAAuB;AAA3D,UADJ,CADmC;AAAA,OAAtC,CADqC,CAD9C,EAOK,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,GAAoC,CAApC,IAAyC,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,GAAoC,CAA7E,IACG;AAAK,iBAAS,EAAC,SAAf;AAAyB,eAAO,EAAE;AAAA,iBAAM,QAAQ,CAAC,cAAT,CAAwB,WAAxB,EAAqC,KAArC,EAAN;AAAA;AAAlC,SACI;AAAK,iBAAS,EAAC;AAAf,SAAgC,GAAhC,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACC;AAAM,iBAAS,EAAC;AAAhB,SAA8B,sEAA9B,CADD,EACoD,mIADpD,CAFJ,CARR,EAaK,CAAC,CAAC,gBAAgB,CAAC,MAAnB,IAA6B;AAAK,iBAAS,EAAC;AAAf,SACzB,gBAAgB,CAAC,GAAjB,CAAqB,cAAI;AAAA,eAAI;AAAM,aAAG,EAAE;AAAX,WAAe,+NAAf,CAAJ;AAAA,OAAzB,CADyB,CAblC,CAFJ,CAXJ,CADJ;AAoCH;;;;EAzCsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICVa,K;;;;;;;;;;;;;6BACI;AAAA,UACD,OADC,GACW,KAAK,KADhB,CACD,OADC;;AAET,UAAI,OAAJ,EAAa;AACT,eACI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC;AAAf,UADJ,EAEI;AAAG,mBAAS,EAAC;AAAb,WAAoB,wEAApB,CAFJ,CADJ;AAMH,OAPD,MAOO;AACH,eACI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC;AAAf,UADJ,EAEI;AAAG,mBAAS,EAAC;AAAb,WAAoB,sNAApB,CAFJ,EAGI;AAAG,mBAAS,EAAC;AAAb,UAHJ,EAII;AAAQ,mBAAS,EAAC;AAAlB,WAAgC;AAAG,cAAI,EAAC;AAAR,WAAW,+IAAX,CAAhC,CAJJ,CADJ;AAQH;AACJ;;;;EApBsB,KAAK,CAAC,S;;AAAjC,sB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA,mBAAO,CAAC,mCAAD,CAAP;;AAEA;;AACA;;AACA;;AACA;;IAQa,yB;;;;;;;;;;;;;6BAEI;AAAA,wBAI0E,KAAK,KAJ/E;AAAA,UACD,gBADC,eACD,gBADC;AAAA,UACiB,eADjB,eACiB,eADjB;AAAA,UACkC,mBADlC,eACkC,mBADlC;AAAA,UACuD,QADvD,eACuD,QADvD;AAAA,UAED,kBAFC,eAED,kBAFC;AAAA,UAEmB,aAFnB,eAEmB,aAFnB;AAAA,UAEkC,MAFlC,eAEkC,MAFlC;AAAA,UAE0C,gBAF1C,eAE0C,gBAF1C;AAAA,UAE4D,sBAF5D,eAE4D,sBAF5D;AAAA,UAGD,YAHC,eAGD,YAHC;AAAA,UAGa,MAHb,eAGa,MAHb;AAAA,UAGqB,IAHrB,eAGqB,IAHrB;AAAA,UAG2B,WAH3B,eAG2B,WAH3B;AAAA,UAGwC,UAHxC,eAGwC,UAHxC;AAAA,UAGoD,qBAHpD,eAGoD,qBAHpD;AAAA,UAG2E,mBAH3E,eAG2E,mBAH3E;AAAA,UAID,OAJC,eAID,OAJC;AAAA,UAIQ,UAJR,eAIQ,UAJR;AAAA,UAIoB,OAJpB,eAIoB,OAJpB;AAAA,UAI6B,OAJ7B,eAI6B,OAJ7B;AAAA,UAIsC,oBAJtC,eAIsC,oBAJtC;AAAA,UAI4D,SAJ5D,eAI4D,SAJ5D;AAMT,UAAM,aAAa,GAAG,kEAAtB;AACA,UAAM,cAAc,GAAG,mEAAvB;AACA,UAAM,aAAa,GAAG;AAAG,YAAI,EAAE,aAAT;AAAwB,iBAAS,EAAC;AAAlC,SAA8C,+DAA9C,CAAtB;AACA,UAAM,cAAc,GAAG;AAAG,YAAI,EAAE,cAAT;AAAyB,iBAAS,EAAC;AAAnC,SAA+C,uFAA/C,CAAvB;AAEA,UAAM,QAAQ,GAAG;AACb,oBAAY,EAAE,YADD;AAEb,gBAAQ,EAAE;AACN,0BAAgB,EAAE,4EADZ;AAEN,4CAAkC,EAAE,sFAF9B;AAGN,sDAA4C,EAAC,qBAHvC;AAIN,qBAAW,EAAE;AAJP,SAFG;AAQb,wBAAgB,EAAE;AACd,eAAK,EAAE,0BADO;AAEd,kBAAQ,EAAE,EAFI;AAGd,qBAAW,EAAE;AAHC,SARL;AAab,aAAK,EAAE;AAbM,OAAjB;AAgBA,aACI,iCACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,iBAAS,EAAC;AAAb,SAA6B,QAAQ,CAAC,YAAtC,CADJ,CADJ,EAKI,oBAAC,mBAAD,EAAS;AAAC,mBAAW,EAAG,eAAe,IAAI,mBAAmB,GAAG,CAA1C,GAA+C,SAA/C,GAA2D,SAAzE;AAAqF,oBAAY,EAAE,QAAQ,CAAC,QAA5G;AAAsH,aAAK,EAAE,QAA7H;AAAuI,iBAAS,EAAE,SAAlJ;AAA6J,gBAAQ,EAAE,gBAAvK;AAAyL,uBAAe,EAAE,eAAe,IAAI,mBAAmB,GAAG;AAAnP,OAAT,CALJ,EAMM,eAAe,IAAI,mBAAmB,GAAG,CAA1C,IAAgD;AAAK,iBAAS,EAAC;AAAf,SAAoC,uHAApC,CANrD,EAOI,oBAAC,6CAAD,EAAsB;AAClB,0BAAkB,EAAE,kBADF;AAElB,qBAAa,EAAE,aAFG;AAGlB,cAAM,EAAE,MAHU;AAIlB,wBAAgB,EAAE,gBAJA;AAKlB,8BAAsB,EAAE;AALN,OAAtB,CAPJ,EAeI,oBAAC,2BAAD,EAAa;AACT,oBAAY,EAAE,YADL;AAET,cAAM,EAAE,MAFC;AAGT,YAAI,EAAE,IAHG;AAIT,mBAAW,EAAE,WAJJ;AAKT,gBAAQ,EAAE,qBALD;AAMT,kBAAU,EAAE,UANH;AAOT,wBAAgB,EAAE,QAAQ,CAAC;AAPlB,OAAb,CAfJ,EAyBI;AAAG,iBAAS,EAAC;AAAb,SACI;AAAO,iBAAS,EAAC,UAAjB;AAA4B,UAAE,EAAC,mBAA/B;AAAmD,YAAI,EAAC,UAAxD;AAAmE,eAAO,EAAE,mBAA5E;AAAiG,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,qBAAqB,CAAC,CAAD,CAA5B;AAAA;AAA3G,QADJ,EAEK,QAAQ,CAAC,KAFd,CAzBJ,EA8BM,CAAC,mBAAD,IAAwB,mBAAmB,GAAG,CAA/C,IAAqD;AAAK,iBAAS,EAAC;AAAf,SAAgD,wKAAhD,CA9B1D,EA+BI;AACI,gBAAQ,EAAE,oBADd;AAEI,iBAAS,EAAC,cAFd;AAGI,YAAI,EAAC,QAHT;AAII,eAAO,EAAE;AAJb,SAIuB,gCAJvB,CA/BJ,EAsCK,OAAO,IAAI,oBAAC,aAAD,EAAM;AAAC,eAAO,EAAE,OAAV;AAAmB,eAAO,EAAE;AAA5B,OAAN,CAtChB,CADJ,CADJ,CADJ;AA+CH;;;;EA5E0C,KAAK,CAAC,S;;AAArD,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbA;;IAUa,Q;;;;;;;;;;;;;6BAEH;AAAA,wBACiF,KAAK,KADtF;AAAA,UACM,KADN,eACM,KADN;AAAA,UACa,SADb,eACa,QADb;AAAA,UACuB,eADvB,eACuB,eADvB;AAAA,UACwC,YADxC,eACwC,YADxC;AAAA,UACsD,SADtD,eACsD,SADtD;AAAA,UACkE,WADlE,eACkE,WADlE;AAEF,aACI;AAAK,UAAE,EAAC,wBAAR;AAAiC,iBAAS,EAAC;AAA3C,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,iBAAS,EAAC;AAAb,SAAiC,YAAY,CAAC,gBAA9C,CADJ,EAGK,SAAS,IACN;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,YAAI,EAAC,4BAAR;AAAqC,iBAAS,EAAC,gBAA/C;AAAgE,cAAM,EAAC;AAAvE,SACI,gCADJ,EAEI,4CAFJ,CADJ,EAKI;AAAG,YAAI,EAAC,uBAAR;AAAgC,iBAAS,EAAC,gBAA1C;AAA2D,cAAM,EAAC;AAAlE,SACI,gCADJ,EAEI,4CAFJ,CALJ,CAJR,CADJ,EAiBI;AAAK,iBAAS,EAAC;AAAf,SACA,iCAAM,YAAY,CAAC,4CAAnB,CADA,EAEI;AAAU,aAAK,EAAE;AAAC,qBAAW,EAAC;AAAb,SAAjB;AAA4C,WAAG,EAAC,KAAhD;AAAsD,mBAAW,EAAE,YAAY,CAAC,WAAhF;AAA6F,aAAK,EAAE,KAApG;AAA2G,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,SAAQ,CAAC,CAAD,CAAf;AAAA,SAArH;AAAyI,gBAAQ,MAAjJ;AAAkJ,iBAAS,EAAE,UAAU,CAAC,SAAD,EAAY;AAAE,mCAAyB;AAA3B,SAAZ;AAAvK,QAFJ,CAjBJ,CADJ;AAwBH;;;;EA5ByB,KAAK,CAAC,S;;AAApC,4B;;;;;;;;;;;;;;;;;;;;;;;ACVA;;AACA,mBAAO,CAAC,mCAAD,CAAP;;AAOa,4BAAoB,UAAC,KAAD,EAAkC;AAAA,MAEvD,GAFuD,GAErC,KAFqC,CAEvD,GAFuD;AAAA,MAElD,QAFkD,GAErC,KAFqC,CAElD,QAFkD;;AAAA,0BAG7B,iBAAkB,KAAlB,CAH6B;AAAA;AAAA,MAGxD,SAHwD;AAAA,MAG7C,YAH6C;;AAAA,2BAIzB,iBAAkB,IAAlB,CAJyB;AAAA;AAAA,MAIxD,WAJwD;AAAA,MAI3C,cAJ2C;;AAAA,2BAKvB,iBAAiB,CAAjB,CALuB;AAAA;AAAA,MAKxD,YALwD;AAAA,MAK1C,eAL0C;;AAO/D,MAAM,QAAQ,GAAG,gBAAjB;AAEA,oBAAU,YAAK;AACX,YAAQ,CAAC,OAAT,CAAiB,gBAAjB,CAAkC,YAAlC,EAAgD,YAAK;AACjD,qBAAe,CAAC,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,OAAT,CAAiB,WAA5B,CAAD,CAAf;AACH,KAFD;AAGA,YAAQ,CAAC,OAAT,CAAiB,gBAAjB,CAAkC,OAAlC,EAA2C,YAAK;AAC5C,kBAAY,CAAC,KAAD,CAAZ;AACH,KAFD;AAIA,WAAO,YAAK;AACR,cAAQ,CAAC,OAAT,CAAiB,mBAAjB,CAAqC,YAArC,EAAmD,YAAK;AACpD,uBAAe,CAAC,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,OAAT,CAAiB,WAA5B,CAAD,CAAf;AACH,OAFD;AAGA,cAAQ,CAAC,OAAT,CAAiB,mBAAjB,CAAqC,OAArC,EAA8C,YAAK;AAC/C,oBAAY,CAAC,KAAD,CAAZ;AACH,OAFD;AAGH,KAPD;AAQH,GAhBD,EAgBG,EAhBH;;AAmBA,MAAM,cAAc,GAAG,SAAjB,cAAiB,GAAK;AACxB,QAAI,SAAJ,EAAe;AACX,cAAQ,CAAC,OAAT,CAAiB,KAAjB;AACA,kBAAY,CAAC,KAAD,CAAZ;AACH,KAHD,MAGO;AACH,cAAQ,CAAC,OAAT,CAAiB,IAAjB;AACA,kBAAY,CAAC,IAAD,CAAZ;;AACA,UAAI,WAAJ,EAAiB;AACb,sBAAc,CAAC,KAAD,CAAd;AACH;AACJ;AACJ,GAXD;;AAaA,MAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,IAAD,EAAiB;AACnC,QAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAW,IAAI,GAAG,EAAlB,CAAhB;AACA,QAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAW,IAAI,GAAG,EAAlB,CAAhB;AACA,QAAM,eAAe,GAAG,OAAO,GAAG,EAAV,cAAmB,OAAnB,cAAkC,OAAlC,CAAxB;AACA,qBAAU,OAAV,cAAqB,eAArB;AACH,GALD;;AAOA,SACI;AAAK,aAAS,EAAC;AAAf,KACI;AAAO,aAAS,EAAC,eAAjB;AAAiC,OAAG,EAAE,GAAtC;AAA2C,OAAG,EAAE;AAAhD,IADJ,EAGI;AAAK,aAAS,EAAC;AAAf,KAA2B,WAAW,GAAG,aAAa,CAAC,QAAD,CAAhB,GAA6B,aAAa,CAAC,YAAD,CAAhF,CAHJ,EAKI;AAAK,aAAS,EAAC,cAAf;AAA8B,OAAG,EAAE;AAAnC,IALJ,EAOI;AAAK,aAAS,qBAAc,SAAS,GAAG,OAAH,GAAa,MAApC,CAAd;AAA4D,WAAO,EAAE;AAArE,IAPJ,CADJ;AAWH,CA3DY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRb;;AAGA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AAyBa,eAAO;AAChB,+CAA4C;AAD5B,CAAP;;IAGA,qB;;;;;AAET,iCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,+FAAM,KAAN;AAgBI;AAAA;AAAA;AAAA;AAAA,4BAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBACpB,MAAK,WAAL,EADoB;;AAAA;AAE1B,oBAAK,qBAAL;;AAF0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAtB;AAKA;AAAA;AAAA;AAAA;AAAA,4BAAc;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,4BACc,MAAK,KADnB,EACV,YADU,eACV,YADU,EACI,KADJ,eACI,KADJ;AAEZ,2BAFY,GAEI,KAAK,CAAC,MAAN,CAAa,wDAAb,CAFJ;AAAA;AAKR,6BALQ,GAKU,KAAK,CAAC,GAAN;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAU,kBAAO,IAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iCACP,aAAa,CAAC,GAAd,yCAAmD,YAAnD,mBAAwE,IAAI,CAAC,aAAL,CAAmB,IAA3F,iBAAsG,IAAI,CAAC,aAAL,CAAmB,IAAnB,CAAwB,EAA9H,EADO;;AAAA;AACxB,kCADwB;AAE9B;AACM,qCAHwB,GAGV,QAAQ,CAAC,IAAT,CAAc,IAHJ;AAAA,4DAI9B,kBACO,IADP,EACW;AACP,uCAAW,EAAX,WADO;AAEP,kCAAM,EAAE,IAAI,CAAC,MAFN;AAGP,gDAAoB,EAAE;AAHf,2BADX,CAJ8B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAV;;AAAA;AAAA;AAAA;AAAA,kBALV;AAAA;AAAA,qBAiB6B,OAAO,CAAC,GAAR,CAAY,eAAZ,CAjB7B;;AAAA;AAiBR,yBAjBQ;;AAmBd,oBAAK,QAAL,CAAc;AAAE,6BAAa,EAAE;AAAjB,eAAd;;AAnBc;AAAA;;AAAA;AAAA;AAAA;AAqBd,qBAAO,CAAC,KAAR,CAAc,8BAAd;;AArBc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAd;;AAyBA,0BAAgB,UAAC,YAAD,EAAyB;AAC7C,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,IAApB;AAA0B,yBAAiB,EAAE;AAA7C,OAAd;;AACA;AACH,KAHO;;AAKA,oCAA0B,YAAK;AACnC,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;;AACA;AACH,KAHO;;AAKA,0BAAgB,UAAC,KAAD,EAAkB;AACtC,YAAK,eAAL,CAAqB,EAArB,CAAwB,KAAxB;;AACA,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KAHO;;AAKA,4BAAkB,UAAC,cAAD,EAA2B;AAAA,UACzC,aADyC,GACvB,MAAK,KADkB,CACzC,aADyC;AAEjD,UAAI,cAAc,GAAG,aAAa,CAAC,MAAd,GAAuB,CAA5C,EAA+C;;AAC/C,YAAK,eAAL,CAAqB,EAArB,CAAwB,cAAxB;;AACA,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KALO;;AAOA,4BAAkB,YAAK;AAC3B,YAAK,eAAL,CAAqB,EAArB,CAAwB,GAAxB;;AACA,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE,MAAK,KAAL,CAAW,iBAAX,GAA+B;AAApD,OAAd;AACH,KAHO;;AAKA,4BAAkB,YAAK;AAC3B,YAAK,eAAL,CAAqB,EAArB,CAAwB,IAAxB;;AACA,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE,MAAK,KAAL,CAAW,iBAAX,GAA+B;AAApD,OAAd;AACH,KAHO;;AAKA,kCAAwB,YAAK;AAAA,UACzB,aADyB,GACP,MAAK,KADE,CACzB,aADyB;AAEjC,UAAM,oBAAoB,GAAG,aAAa,CAAC,GAAd,CAAkB,UAAC,MAAD,EAAW;AACtD,YAAM,UAAU,GAAG,YAAY,CAAC,OAAb,CAAqB,MAAM,CAAC,MAA5B,CAAnB;AACA,YAAM,oBAAoB,GAAG,CAAC,UAAD,KAAgB,MAAM,CAAC,WAAP,CAAmB,MAAnB,GAA4B,CAA5C,IAAiD,MAAM,CAAC,oBAArF;AACA,iCACO,MADP,EACa;AACT,8BAAoB,EAApB;AADS,SADb;AAIH,OAP4B,CAA7B;;AASA,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;AACH,KAZO;;AA7EJ,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE,EADN;AAET,gBAAU,EAAE,CAFH;AAGT,sBAAgB,EAAE,KAHT;AAIT,uBAAiB,EAAE;AAJV,KAAb;AAFa;AAQhB;;;;wCAIgB;AACb,WAAK,mBAAL;AAEH;;;6BA8EY;AAAA;;AAAA,yBAC+D,KAAK,KADpE;AAAA,UACD,qBADC,gBACD,qBADC;AAAA,UACsB,QADtB,gBACsB,QADtB;AAAA,UACgC,mBADhC,gBACgC,mBADhC;AAAA,UACqD,KADrD,gBACqD,KADrD;AAAA,wBAEsD,KAAK,KAF3D;AAAA,UAED,aAFC,eAED,aAFC;AAAA,UAEc,gBAFd,eAEc,gBAFd;AAAA,UAEgC,iBAFhC,eAEgC,iBAFhC;AAIT,UAAM,eAAe,GAAG;AACpB,gBAAQ,EAAE,KADU;AAEpB,oBAAY,EAAE,CAFM;AAGpB,sBAAc,EAAE,CAHI;AAIpB,gBAAQ,EAAE,KAJU;AAKpB,WAAG,EAAE,KAAK,CAAC,MAAN,GAAe,CALA;AAMpB,oBAAY,EAAE,IAAI,KAAK,CAAC;AANJ,OAAxB;AASA,UAAM,cAAc,GAAG;AACnB,YAAI,EAAE,OADa;AAEnB,aAAK,EAAE,GAFY;AAGnB,eAAO,EAAE,CAHU;AAInB,eAAO,EAAE,CAJU;AAKnB,aAAK,EAAE,QALY;AAMnB,iBAAS,EAAE,KANQ;AAOnB,cAAM,EAAE,KAPW;AAQnB,kBAAU,EAAE,KARO;AASnB,aAAK,EAAE,iBATY;AAUnB,WAAG,EAAE,KAVc;AAWnB,cAAM,EAAE,+BAXW;AAYnB,iBAAS,EAAE;AAZQ,OAAvB;AAeA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,qBAAqB,CAAC,YAAtB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA2B,QAA3B,CADJ,CAFR,EAMK,gBAAgB,IAAI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE,KAAK;AAAxC,QANzB,EAOI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO,kBAAK,eAAL,EAAoB;AAAE,iBAAS,EAAC;AAAZ,OAApB,CAAP,EACK,aAAa,CAAC,GAAd,CAAkB,UAAC,MAAD,EAAS,KAAT;AAAA,eAAmB,oBAAC,yCAAD,EAAoB;AACtD,aAAG,EAAE,MAAM,CAAC,MAD0C;AAEtD,gBAAM,EAAE,MAF8C;AAGtD,uBAAa,EAAE,MAAI,CAAC,aAHkC;AAItD,eAAK,EAAE,KAJ+C;AAKtD,8BAAoB,EAAE,MAAM,CAAC;AALyB,SAApB,CAAnB;AAAA,OAAlB,CADL,CADJ,CAPJ,EAiBK,gBAAgB,IACb;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO;AACH,eAAO,EAAE,cADN;AAEH,WAAG,EAAE,kBAAG;AAAA,iBAAI,MAAI,CAAC,eAAL,GAAuB,KAA3B;AAAA;AAFL,OAAP,EAIK,aAAa,CAAC,GAAd,CAAkB,UAAC,MAAD,EAAS,KAAT;AAAA,eACf,oBAAC,0BAAD,EAAY,IAAZ,EACI,oBAAC,yBAAD,EAAY;AACR,aAAG,EAAE,MAAM,CAAC,MADJ;AAER,gBAAM,EAAE,MAFA;AAGR,eAAK,EAAE,KAHC;AAIR,2BAAiB,EAAE,iBAJX;AAKR,6BAAmB,EAAE,mBALb;AAMR,uBAAa,EAAE,MAAI,CAAC,aANZ;AAOR,yBAAe,EAAE,MAAI,CAAC,eAPd;AAQR,yBAAe,EAAE,MAAI,CAAC,eARd;AASR,yBAAe,EAAE,MAAI,CAAC,eATd;AAUR,0BAAgB,EAAE,aAAa,CAAC,MAVxB;AAWR,+BAAqB,EAAE,MAAI,CAAC;AAXpB,SAAZ,CADJ,CADe;AAAA,OAAlB,CAJL,CADJ,CAlBR,CADJ;AA8CH;;;;EAzKsC,KAAK,CAAC,S;;AAC/B,uCAAiB,uBAAjB;AADlB,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrCA;;AAGA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAwBa,eAAO;AAChB,+CAA6C;AAD7B,CAAP;;IAIA,2B;;;;;AAET,uCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,qGAAM,KAAN;AAcI;AAAA;AAAA;AAAA;AAAA,4BAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBACpB,MAAK,WAAL,EADoB;;AAAA;AAE1B,oBAAK,qBAAL;;AAF0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAtB;AAKA;AAAA;AAAA;AAAA;AAAA,4BAAc;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,4BACc,MAAK,KADnB,EACV,YADU,eACV,YADU,EACI,KADJ,eACI,KADJ;AAEZ,2BAFY,GAEI,KAAK,CAAC,MAAN,CAAa,wDAAb,CAFJ;AAAA;AAIR,6BAJQ,GAIU,KAAK,CAAC,GAAN;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAU,kBAAO,IAAP,EAAa,KAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iCACP,aAAa,CAAC,GAAd,yCAAmD,YAAnD,mBAAwE,IAAI,CAAC,aAAL,CAAmB,IAA3F,iBAAsG,IAAI,CAAC,aAAL,CAAmB,IAAnB,CAAwB,EAA9H,EADO;;AAAA;AACxB,kCADwB;AAE9B;AACM,qCAHwB,GAGV,QAAQ,CAAC,IAAT,CAAc,IAHJ;AAAA,4DAI9B,kBACO,IADP,EACW;AACP,uCAAW,EAAX,WADO;AAEP,kCAAM,EAAE,IAAI,CAAC,MAFN;AAGP,gDAAoB,EAAE;AAHf,2BADX,CAJ8B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAV;;AAAA;AAAA;AAAA;AAAA,kBAJV;AAAA;AAAA,qBAe6B,OAAO,CAAC,GAAR,CAAY,eAAZ,CAf7B;;AAAA;AAeR,yBAfQ;;AAgBd,oBAAK,QAAL,CAAc;AAAE,6BAAa,EAAE;AAAjB,eAAd;;AAhBc;AAAA;;AAAA;AAAA;AAAA;AAkBd,qBAAO,CAAC,KAAR,CAAc,8BAAd;;AAlBc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAd;;AAsBA,0BAAgB,UAAC,YAAD,EAAyB;AAC7C,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,IAApB;AAA0B,yBAAiB,EAAE;AAA7C,OAAd;;AACA;AACH,KAHO;;AAKA,2BAAiB,YAAK;AAC1B,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE;AAApB,OAAd;;AACA;AACH,KAHO;;AAKA,4BAAkB,YAAK;AAAA,wBACgB,MAAK,KADrB;AAAA,UACpB,iBADoB,eACpB,iBADoB;AAAA,UACD,aADC,eACD,aADC;AAE3B,UAAG,iBAAiB,KAAK,aAAa,CAAC,MAAd,GAAuB,CAAhD,EAAmD;;AACnD,YAAK,eAAL,CAAqB,EAArB,CAAwB,iBAAiB,GAAG,CAA5C;;AACA,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE,MAAK,KAAL,CAAW,iBAAX,GAA+B;AAApD,OAAd;AACH,KALO;;AAOA,4BAAkB,YAAK;AAAA,UACpB,iBADoB,GACC,MAAK,KADN,CACpB,iBADoB;AAE3B,UAAG,iBAAiB,KAAK,CAAzB,EAA4B;;AAC5B,YAAK,eAAL,CAAqB,EAArB,CAAwB,GAAxB;;AACA,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE,MAAK,KAAL,CAAW,iBAAX,GAA+B;AAApD,OAAd;AACH,KALO;;AAOA,kCAAwB,YAAK;AAAA,UACzB,aADyB,GACP,MAAK,KADE,CACzB,aADyB;AAEjC,UAAM,oBAAoB,GAAG,aAAa,CAAC,GAAd,CAAkB,UAAC,MAAD,EAAW;AACtD,YAAM,UAAU,GAAG,YAAY,CAAC,OAAb,CAAqB,MAAM,CAAC,MAA5B,CAAnB;AACA,YAAM,oBAAoB,GAAG,CAAC,UAAD,KAAgB,MAAM,CAAC,WAAP,CAAmB,MAAnB,GAA4B,CAA5C,IAAiD,MAAM,CAAC,oBAArF;AACA,iCACO,MADP,EACa;AACT,8BAAoB,EAApB;AADS,SADb;AAIH,OAP4B,CAA7B;;AASA,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;AACH,KAZO;;AAcA,4BAAkB,UAAC,cAAD,EAA2B;AAAA,UACzC,aADyC,GACvB,MAAK,KADkB,CACzC,aADyC;AAEjD,UAAI,cAAc,GAAG,aAAa,CAAC,MAAd,GAAuB,CAA5C,EAA+C;;AAC/C,YAAK,eAAL,CAAqB,EAArB,CAAwB,cAAxB;;AACA,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KALO;;AAOA,wBAAc,UAAC,KAAD,EAAkB;AACpC,YAAK,QAAL,CAAc;AAAC,yBAAiB,EAAE;AAApB,OAAd;AACH,KAFO;;AArFJ,UAAK,KAAL,GAAa;AACT,mBAAa,EAAE,EADN;AAET,sBAAgB,EAAE,KAFT;AAGT,uBAAiB,EAAE;AAHV,KAAb;AAFa;AAOhB;;;;wCAIgB;AACb,WAAK,mBAAL;AACH;;;6BA8EY;AAAA;;AAAA,yBAC+D,KAAK,KADpE;AAAA,UACD,qBADC,gBACD,qBADC;AAAA,UACsB,QADtB,gBACsB,QADtB;AAAA,UACgC,mBADhC,gBACgC,mBADhC;AAAA,UACqD,KADrD,gBACqD,KADrD;AAAA,yBAEsD,KAAK,KAF3D;AAAA,UAED,aAFC,gBAED,aAFC;AAAA,UAEc,gBAFd,gBAEc,gBAFd;AAAA,UAEgC,iBAFhC,gBAEgC,iBAFhC;AAIT,UAAM,cAAc,GAAG;AACnB,gBAAQ,EAAE,KADS;AAEnB,oBAAY,EAAE,CAFK;AAGnB,sBAAc,EAAE,CAHG;AAInB,cAAM,EAAE,KAJW;AAKnB,oBAAY,EAAE,KALK;AAMnB,WAAG,EAAE,KAAK,CAAC,MAAN,GAAe,CAND;AAOnB,oBAAY,EAAE,IAAI,KAAK,CAAC;AAPL,OAAvB;AAUA,UAAM,cAAc,GAAG;AACnB,YAAI,EAAE,OADa;AAEnB,aAAK,EAAE,GAFY;AAGnB,eAAO,EAAE,CAHU;AAInB,eAAO,EAAE,CAJU;AAKnB,iBAAS,EAAE,KALQ;AAMnB,cAAM,EAAE,KANW;AAOnB,kBAAU,EAAE,KAPO;AAQnB,aAAK,EAAE,iBARY;AASnB,WAAG,EAAE,KATc;AAUnB,cAAM,EAAE,+BAVW;AAWnB,iBAAS,EAAE;AAXQ,OAAvB;AAcA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,qBAAqB,CAAC,YAAtB,IACG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA2B,QAA3B,CADJ,CAFR,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO,kBAAK,cAAL,EAAmB;AAAE,iBAAS,EAAC;AAAZ,OAAnB,CAAP,EACK,aAAa,CAAC,GAAd,CAAkB,UAAC,MAAD,EAAS,KAAT;AAAA,eACf,oBAAC,qDAAD,EAA0B;AACtB,aAAG,EAAE,MAAM,CAAC,MADU;AAEtB,gBAAM,EAAE,MAFc;AAGtB,eAAK,EAAE,KAHe;AAItB,uBAAa,EAAE,MAAI,CAAC,aAJE;AAKtB,8BAAoB,EAAE,MAAM,CAAC;AALP,SAA1B,CADe;AAAA,OAAlB,CADL,CADJ,CANJ,EAkBK,gBAAgB,IACb;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO;AACH,eAAO,EAAE,cADN;AAEH,WAAG,EAAE,kBAAG;AAAA,iBAAI,MAAI,CAAC,eAAL,GAAuB,KAA3B;AAAA,SAFL;AAGH,cAAM,EAAE,gBAAC,IAAD,EAAe,QAAf;AAAA,iBAAoC,MAAI,CAAC,WAAL,CAAiB,QAAjB,CAApC;AAAA;AAHL,OAAP,EAKK,aAAa,CAAC,GAAd,CAAkB,UAAC,MAAD,EAAS,KAAT;AAAA,eACf,oBAAC,0BAAD,EAAY,IAAZ,EACI,oBAAC,qCAAD,EAAkB;AACd,aAAG,EAAE,MAAM,CAAC,MADE;AAEd,gBAAM,EAAE,MAFM;AAGd,eAAK,EAAE,KAHO;AAId,wBAAc,EAAE,MAAI,CAAC,cAJP;AAKd,2BAAiB,EAAE,iBALL;AAMd,6BAAmB,EAAE,mBANP;AAOd,yBAAe,EAAE,MAAI,CAAC,eAPR;AAQd,yBAAe,EAAE,MAAI,CAAC,eARR;AASd,yBAAe,EAAE,MAAI,CAAC,eATR;AAUd,+BAAqB,EAAE,MAAI,CAAC;AAVd,SAAlB,CADJ,CADe;AAAA,OAAlB,CALL,CADJ,CAnBR,CADJ;AA+CH;;;;EAxK4C,KAAK,CAAC,S;;AACrC,6CAAiB,6BAAjB;AADlB,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpCA;;IASa,yB;;;;;;;;;;;;;6BAEI;AAAA,wBACkG,KAAK,KADvG;AAAA,2CACD,MADC;AAAA,UACS,aADT,sBACS,aADT;AAAA,UACwB,KADxB,sBACwB,KADxB;AAAA,UAC+B,UAD/B,sBAC+B,UAD/B;AAAA,UAC2C,IAD3C,sBAC2C,IAD3C;AAAA,UACmD,aADnD,eACmD,aADnD;AAAA,UACkE,KADlE,eACkE,KADlE;AAAA,UACyE,oBADzE,eACyE,oBADzE;AAET,UAAM,SAAS,sBAAe,oBAAoB,GAAG,UAAH,GAAgB,EAAnD,CAAf;AAEA,aACI;AAAK,iBAAS,EAAE,SAAhB;AAA2B,eAAO,EAAE;AAAA,iBAAK,aAAa,CAAC,KAAD,CAAlB;AAAA;AAApC,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAU;AACN,YAAI,EAAE,KADA;AAEN,aAAK,EAAE,GAFD;AAGN,cAAM,EAAE,GAHF;AAIN,qBAAa,EAAE,IAJT;AAKN,mBAAW,EAAE,IAAI,CAAC,IAAL,CAAU,aALjB;AAMN,uBAAe,EAAE,IANX;AAON,kBAAU,EAAE;AAPN,OAAV,CADJ,CADJ,EAYI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA4B,aAA5B,CADJ,CAZJ,CADJ;AAkBH;;;;EAxB0C,KAAK,CAAC,S;;AAArD,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;IASa,mB;;;;;;;;;;;;;6BAEI;AAAA,wBACkG,KAAK,KADvG;AAAA,2CACD,MADC;AAAA,UACS,aADT,sBACS,aADT;AAAA,UACwB,KADxB,sBACwB,KADxB;AAAA,UAC+B,UAD/B,sBAC+B,UAD/B;AAAA,UAC2C,IAD3C,sBAC2C,IAD3C;AAAA,UACmD,aADnD,eACmD,aADnD;AAAA,UACkE,KADlE,eACkE,KADlE;AAAA,UACyE,oBADzE,eACyE,oBADzE;AAET,UAAM,SAAS,sBAAe,oBAAoB,GAAG,UAAH,GAAgB,EAAnD,CAAf;AAEA,aACI;AAAK,iBAAS,EAAE,SAAhB;AAA2B,eAAO,EAAE;AAAA,iBAAM,aAAa,CAAC,KAAD,CAAnB;AAAA;AAApC,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAU;AACN,YAAI,EAAE,KADA;AAEN,aAAK,EAAE,GAFD;AAGN,cAAM,EAAE,GAHF;AAIN,qBAAa,EAAE,IAJT;AAKN,mBAAW,EAAE,IAAI,CAAC,IAAL,CAAU,aALjB;AAMN,uBAAe,EAAE,IANX;AAON,kBAAU,EAAE;AAPN,OAAV,CADJ,CADJ,EAYI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SAA4B,aAA5B,CADJ,CAZJ,CADJ;AAkBH;;;;EAxBoC,KAAK,CAAC,S;;AAA/C,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA;;AAEA;;AACA;;AACA;;AACA;;IAqBa,W;;;;;AACT,uBAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,qFAAM,KAAN;;AAqCG,iCAAuB,UAAC,MAAD,EAAiB,KAAjB,EAAkC;AAC5D,kBAAY,CAAC,OAAb,CAAqB,MAArB,EAA6B,KAAK,CAAC,QAAN,EAA7B;AACH,KAFM;;AAIA,iCAAuB,UAAC,MAAD,EAAmB;AAC7C,UAAM,YAAY,GAAG,YAAY,CAAC,OAAb,CAAqB,MAArB,CAArB;;AACA,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,CAAC;AAAjB,OAAd;AACH,KAHM;;AAKA,wBAAc,YAAK;AAAA,wBACqB,MAAK,KAD1B;AAAA,UACd,YADc,eACd,YADc;AAAA,UACA,OADA,eACA,OADA;AAAA,UACS,OADT,eACS,OADT;AAAA,wBAE0B,MAAK,KAF/B;AAAA,UAEJ,MAFI,eAEd,MAFc,CAEJ,MAFI;AAAA,UAEM,eAFN,eAEM,eAFN;AAGtB,UAAI,YAAY,KAAK,OAAO,CAAC,MAAR,GAAiB,CAAtC,EAAyC,OAAO,eAAe,EAAtB;AACzC,UAAM,cAAc,GAAG,OAAO,CAAC,GAAR,CAAY,UAAC,KAAD;AAAA,eAAW,kBAAK,KAAL,EAAU;AAAE,eAAK,EAAE;AAAT,SAAV,CAAX;AAAA,OAAZ,CAAvB;;AAEA,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,MAAK,KAAL,CAAW,YAAX,GAA0B,CAA1C;AAA6C,eAAO,EAAE;AAAtD,OAAd,EAAsF;AAAA,eAAM,MAAK,oBAAL,CAA0B,MAA1B,EAAkC,MAAK,KAAL,CAAW,YAA7C,CAAN;AAAA,OAAtF;AACH,KAPM;;AASA,wBAAc,YAAK;AAAA,yBACqB,MAAK,KAD1B;AAAA,UACd,YADc,gBACd,YADc;AAAA,UACA,OADA,gBACA,OADA;AAAA,UACS,OADT,gBACS,OADT;AAAA,yBAE0B,MAAK,KAF/B;AAAA,UAEJ,MAFI,gBAEd,MAFc,CAEJ,MAFI;AAAA,UAEM,eAFN,gBAEM,eAFN;AAGtB,UAAM,cAAc,GAAG,OAAO,CAAC,GAAR,CAAY,UAAC,KAAD;AAAA,eAAW,kBAAK,KAAL,EAAU;AAAE,eAAK,EAAE;AAAT,SAAV,CAAX;AAAA,OAAZ,CAAvB;AACA,UAAI,YAAY,KAAK,CAArB,EAAwB,OAAO,eAAe,EAAtB;;AAExB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,MAAK,KAAL,CAAW,YAAX,GAA0B,CAA1C;AAA6C,eAAO,EAAC;AAArD,OAAd,EAAqF;AAAA,eAAM,MAAK,oBAAL,CAA0B,MAA1B,EAAkC,MAAK,KAAL,CAAW,YAA7C,CAAN;AAAA,OAArF;AACH,KAPM;;AASA,uBAAa,YAAK;AAAA,UACH,MADG,GACU,MAAK,KADf,CACb,MADa,CACH,MADG;AAAA,yBAEsB,MAAK,KAF3B;AAAA,UAEb,YAFa,gBAEb,YAFa;AAAA,UAEC,OAFD,gBAEC,OAFD;AAAA,UAEU,OAFV,gBAEU,OAFV;AAGrB,UAAM,cAAc,GAAG,OAAO,CAAC,GAAR,CAAY,UAAC,KAAD;AAAA,eAAW,kBAAK,KAAL,EAAU;AAAE,eAAK,EAAE;AAAT,SAAV,CAAX;AAAA,OAAZ,CAAvB;AACA,UAAI,YAAY,KAAK,OAAO,CAAC,MAAR,GAAiB,CAAtC,EAAyC;;AAEzC,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,MAAK,KAAL,CAAW,YAAX,GAA0B,CAA1C;AAA6C,eAAO,EAAE;AAAtD,OAAd,EAAsF;AAAA,eAAM,MAAK,oBAAL,CAA0B,MAA1B,EAAkC,MAAK,KAAL,CAAW,YAA7C,CAAN;AAAA,OAAtF;AACH,KAPM;;AASA,yBAAe,YAAK;AACvB,UAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,qEAAvB,CAArB;AACA,UAAI,CAAC,YAAL,EAAmB;AACnB,kBAAY,CAAC,KAAb,GAAqB,MAAK,QAAL,CAAc;AAAE,eAAO,EAAE;AAAX,OAAd,EAAkC;AAAA,eAAM,YAAY,CAAC,KAAb,GAAqB,KAA3B;AAAA,OAAlC,CAArB,GAA2F,MAAK,QAAL,CAAc;AAAE,eAAO,EAAE;AAAX,OAAd,EAAiC;AAAA,eAAM,YAAY,CAAC,KAAb,GAAqB,IAA3B;AAAA,OAAjC,CAA3F;AACH,KAJM;;AAMA,2BAAiB,YAAK;AAAA,yBACM,MAAK,KADX;AAAA,UAClB,aADkB,gBAClB,aADkB;AAAA,UACH,KADG,gBACH,KADG;AAAA,yBAEE,MAAK,KAFP;AAAA,UAElB,OAFkB,gBAElB,OAFkB;AAAA,UAET,OAFS,gBAET,OAFS;AAGzB,UAAM,cAAc,GAAG,OAAO,CAAC,GAAR,CAAY,UAAC,KAAD;AAAA,eAAW,kBAAK,KAAL,EAAU;AAAE,eAAK,EAAE;AAAT,SAAV,CAAX;AAAA,OAAZ,CAAvB;;AAEA,YAAK,QAAL,CAAc;AAAC,eAAO,EAAE;AAAV,OAAd,EAAyC;AAAA,eAAM,aAAa,CAAC,KAAD,CAAnB;AAAA,OAAzC;AACH,KANM;;AA9EH,UAAK,KAAL,GAAa;AACT,aAAO,EAAE,EADA;AAET,kBAAY,EAAE,CAFL;AAGT,aAAO,EAAE;AAHA,KAAb;AAFa;AAOhB;;;;wCAEgB;AAAA,UACK,MADL,GACkB,KAAK,KADvB,CACL,MADK,CACK,MADL;AAEb,WAAK,UAAL;AACA,WAAK,oBAAL,CAA0B,MAA1B;AACH;;;uCAEkB,S,EAAS;AAAA,yBAC0B,KAAK,KAD/B;AAAA,UACN,MADM,gBAChB,MADgB,CACN,MADM;AAAA,UACI,iBADJ,gBACI,iBADJ;AAExB,UAAI,SAAS,CAAC,iBAAV,KAAgC,iBAApC,EAAuD,KAAK,oBAAL,CAA0B,MAA1B;AAC1D;;;2CAEmB;AAAA,yBACsC,KAAK,KAD3C;AAAA,UACE,MADF,gBACR,MADQ,CACE,MADF;AAAA,UACY,qBADZ,gBACY,qBADZ;AAEhB,WAAK,oBAAL,CAA0B,MAA1B;AACA,2BAAqB;AACxB;;;iCAEgB;AAAA,UACL,MADK,GACM,KAAK,KADX,CACL,MADK;AAAA,UAEN,uBAFM,GAEqB,MAFrB,CAEN,uBAFM;AAAA,UAGN,OAHM,GAGK,KAAK,KAHV,CAGN,OAHM;AAIb,UAAM,YAAY,GAAG,MAAM,CAAC,WAAP,CAAmB,GAAnB,CAAuB,UAAC,UAAD,EAAe;AACvD,YAAM,YAAY,GAAG,UAAU,CAAC,QAAhC;AACA,YAAM,GAAG,GAAG,YAAY,IAAI,UAAU,CAAC,KAA3B,GAAmC,UAAU,CAAC,KAAX,CAAiB,CAAjB,EAAoB,aAAvD,GAAuE,UAAU,CAAC,qBAAX,CAAiC,GAApH;AACA,eAAO;AAAE,aAAG,EAAH,GAAF;AAAO,cAAI,EAAE,YAAY,GAAG,OAAH,GAAa,EAAtC;AAA0C,cAAI,EAAE,UAAU,CAAC,aAA3D;AAA0E,gBAAM,EAAE;AAAC,mBAAO,EAAE,UAAU,CAAC,KAArB;AAA4B,sBAAU,EAAC,EAAvC;AAA2C,wBAAY,EAAC;AAAxD,WAAlF;AAA+I,sBAAY,EAAE,uBAAuB,IAAI,UAAU,CAAC,WAAX,CAAuB,aAAvB,CAAqC,KAA7N;AAAoO,eAAK,EAAE;AAA3O,SAAP;AACH,OAJoB,CAArB;AAKA,WAAK,QAAL,CAAc;AAAE,eAAO,EAAE;AAAX,OAAd;AACH;;;6BAoDY;AAAA,yBACkC,KAAK,KADvC;AAAA,UACD,OADC,gBACD,OADC;AAAA,UACQ,YADR,gBACQ,YADR;AAAA,UACsB,OADtB,gBACsB,OADtB;AAET,UAAM,cAAc,GAAG,OAAO,CAAC,MAA/B;AAFS,yBAG2G,KAAK,KAHhH;AAAA,UAGD,MAHC,gBAGD,MAHC;AAAA,UAGO,KAHP,gBAGO,KAHP;AAAA,UAGc,iBAHd,gBAGc,iBAHd;AAAA,UAGiC,aAHjC,gBAGiC,aAHjC;AAAA,UAGgD,gBAHhD,gBAGgD,eAHhD;AAAA,UAGiE,gBAHjE,gBAGiE,gBAHjE;AAAA,UAGmF,mBAHnF,gBAGmF,mBAHnF;AAAA,UAIF,aAJE,GAIiE,MAJjE,CAIF,aAJE;AAAA,UAIa,KAJb,GAIiE,MAJjE,CAIa,KAJb;AAAA,UAIoB,UAJpB,GAIiE,MAJjE,CAIoB,UAJpB;AAAA,UAIgC,IAJhC,GAIiE,MAJjE,CAIgC,IAJhC;AAAA,UAIsC,uBAJtC,GAIiE,MAJjE,CAIsC,uBAJtC;AAKT,UAAI,CAAC,OAAL,EAAc,OAAO,IAAP;AAEd,UAAM,WAAW,GAAG,KAAK,KAAK,iBAA9B;AACA,UAAM,YAAY,GAAG,YAAY,KAAK,CAAjB,IAAsB,iBAAiB,KAAK,CAAjE;AACA,UAAM,WAAW,GAAG,OAAO,GAAI,YAAY,KAAK,OAAO,CAAC,MAAR,GAAiB,CAAlC,IAAuC,iBAAiB,KAAK,gBAAgB,GAAG,CAApF,GAAyF,KAApH;AACA,UAAM,sBAAsB,GAAG,OAAO,IAAI,OAAO,CAAC,YAAD,CAAlB,IAAoC,OAAO,CAAC,YAAD,CAAP,CAAsB,IAAtB,KAA+B,OAAlG;AACA,UAAM,uBAAuB,GAAG,mBAAmB,GAAG,IAAtD;AACA,UAAM,SAAS,GAAG,UAAU,CAAC,UAAD,EAAa;AAAC,iBAAS,OAAV;AAAmB,sBAAc,YAAjC;AAA+C,qBAAa,WAA5D;AAAyE,sBAAc;AAAvF,OAAb,CAA5B;AACA,UAAM,UAAU,uBAAgB,uBAAuB,GAAG,YAAH,GAAkB,EAAzD,CAAhB;AAEA,aACI;AAAK,iBAAS,EAAE;AAAhB,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,WAAW,IAAI,cAAf,GACG;AAAK,iBAAS,EAAE;AAAhB,SACI;AAAK,iBAAS,EAAC,SAAf;AAAyB,eAAO,EAAE,KAAK;AAAvC,QADJ,EAGI,oBAAC,qCAAD,EAAkB;AACd,eAAO,EAAE,OADK;AAEd,uBAAe,EAAE,uBAFH;AAGd,aAAK,EAAE,GAHO;AAId,cAAM,EAAE,GAJM;AAKd,cAAM,EAAE,KAAK,WALC;AAMd,kBAAU,EAAE,KAAK,WANH;AAOd,uBAAe,EAAE;AAAA,iBAAM,gBAAe,CAAC,KAAK,GAAG,CAAT,CAArB;AAAA,SAPH;AAQd,oBAAY,EAAE,YARA;AASd,kBAAU,EAAE,KAAK,UATH;AAUd,sBAAc,EAAE;AAVF,OAAlB,CAHJ,EAeI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAU;AACN,YAAI,EAAE,KADA;AAEN,aAAK,EAAE,EAFD;AAGN,cAAM,EAAE,EAHF;AAIN,qBAAa,EAAE,IAJT;AAKN,mBAAW,EAAE,IAAI,CAAC,IAAL,CAAU,aALjB;AAMN,uBAAe,EAAE,IANX;AAON,kBAAU,EAAE;AAPN,OAAV,CADJ,CADJ,EAYI;AAAK,iBAAS,EAAC;AAAf,SAA4B,aAA5B,CAZJ,CADJ,EAeI,oBAAC,iCAAD,EAAgB;AAAC,iBAAS,EAAE,6BAAK,2CAAL,CAAZ;AAA+D,WAAG,EAAE,OAAO,CAAC,YAAD,CAAP,GAAwB,OAAO,CAAC,YAAD,CAAP,CAAsB,IAA9C,GAAqD,IAAzH;AAA+H,eAAO,EAAC;AAAvI,OAAhB,CAfJ,CAfJ,CADH,GAmCG;AAAK,iBAAS,EAAC,kBAAf;AAAkC,eAAO,EAAE,KAAK;AAAhD,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAU;AACN,YAAI,EAAE,KADA;AAEN,aAAK,EAAE,GAFD;AAGN,cAAM,EAAE,GAHF;AAIN,qBAAa,EAAE,IAJT;AAKN,mBAAW,EAAE,IAAI,CAAC,IAAL,CAAU,aALjB;AAMN,uBAAe,EAAE,IANX;AAON,kBAAU,EAAE;AAPN,OAAV,CADJ,CADJ,EAYI;AAAK,iBAAS,EAAC;AAAf,SAA4B,aAA5B,CAZJ,CApCR,CADJ,CADJ;AAwDH;;;;EAhK4B,KAAK,CAAC,S;;AAAvC,kC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;;AAGA;;AACA;;AACA;;AACA;;IAsBa,iB;;;;;AACT,6BAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,2FAAM,KAAN;;AA2CG,yBAAe,YAAK;AACvB,UAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,qEAAvB,CAArB;AACA,UAAI,CAAC,YAAL,EAAmB;AACnB,kBAAY,CAAC,KAAb,GAAqB,MAAK,QAAL,CAAc;AAAE,eAAO,EAAE;AAAX,OAAd,EAAkC;AAAA,eAAM,YAAY,CAAC,KAAb,GAAqB,KAA3B;AAAA,OAAlC,CAArB,GAA2F,MAAK,QAAL,CAAc;AAAE,eAAO,EAAE;AAAX,OAAd,EAAiC;AAAA,eAAM,YAAY,CAAC,KAAb,GAAqB,IAA3B;AAAA,OAAjC,CAA3F;AACH,KAJM;;AAMA,iCAAuB,UAAC,MAAD,EAAiB,KAAjB,EAAkC;AAC5D,kBAAY,CAAC,OAAb,CAAqB,MAArB,EAA6B,KAAK,CAAC,QAAN,EAA7B;AACH,KAFM;;AAIA,iCAAuB,UAAC,MAAD,EAAmB;AAC7C,UAAM,YAAY,GAAG,YAAY,CAAC,OAAb,CAAqB,MAArB,CAArB;;AACA,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,CAAC;AAAjB,OAAd;AACH,KAHM;;AAKA,wBAAc,YAAK;AAAA,wBACY,MAAK,KADjB;AAAA,UACd,YADc,eACd,YADc;AAAA,UACA,OADA,eACA,OADA;AAAA,wBAE0B,MAAK,KAF/B;AAAA,UAEJ,MAFI,eAEd,MAFc,CAEJ,MAFI;AAAA,UAEM,eAFN,eAEM,eAFN;AAGtB,UAAI,YAAY,KAAK,OAAO,CAAC,MAAR,GAAiB,CAAtC,EAAyC,OAAO,eAAe,EAAtB;;AAEzC,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,MAAK,KAAL,CAAW,YAAX,GAA0B;AAA1C,OAAd,EAA6D;AAAA,eAAM,MAAK,oBAAL,CAA0B,MAA1B,EAAkC,MAAK,KAAL,CAAW,YAA7C,CAAN;AAAA,OAA7D;AACH,KANM;;AAQA,wBAAc,YAAK;AAAA,UACd,YADc,GACG,MAAK,KADR,CACd,YADc;AAAA,yBAE0B,MAAK,KAF/B;AAAA,UAEJ,MAFI,gBAEd,MAFc,CAEJ,MAFI;AAAA,UAEM,eAFN,gBAEM,eAFN;AAGtB,UAAI,YAAY,KAAK,CAArB,EAAwB,OAAO,eAAe,EAAtB;;AACxB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE,MAAK,KAAL,CAAW,YAAX,GAA0B;AAA1C,OAAd,EAA6D;AAAA,eAAM,MAAK,oBAAL,CAA0B,MAA1B,EAAkC,MAAK,KAAL,CAAW,YAA7C,CAAN;AAAA,OAA7D;AACH,KALM;;AAOA,uBAAa,YAAK;AAAA,UACH,MADG,GACU,MAAK,KADf,CACb,MADa,CACH,MADG;AAAA,yBAEa,MAAK,KAFlB;AAAA,UAEb,YAFa,gBAEb,YAFa;AAAA,UAEC,OAFD,gBAEC,OAFD;AAGrB,UAAI,YAAY,KAAK,OAAO,CAAC,MAAR,GAAiB,CAAtC,EAAyC;;AAEzC,YAAK,QAAL,CAAc;AAAC,oBAAY,EAAE,MAAK,KAAL,CAAW,YAAX,GAA0B;AAAzC,OAAd;;AACA,UAAM,wBAAwB,GAAG,YAAY,CAAC,OAAb,CAAqB,MAArB,CAAjC;;AACA,YAAK,oBAAL,CAA0B,MAA1B,EAAkC,CAAC,wBAAD,GAA4B,CAA9D;AACH,KARM;;AAxEH,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,IADD;AAET,aAAO,EAAE,EAFA;AAGT,kBAAY,EAAE,CAHL;AAIT,aAAO,EAAE,KAJA;AAKT,kBAAY,EAAE,MAAM,CAAC;AALZ,KAAb;AAFa;AAShB;;;;wCAEgB;AAAA,UACK,MADL,GACkB,KAAK,KADvB,CACL,MADK,CACK,MADL;AAEb,WAAK,UAAL;AACA,WAAK,oBAAL,CAA0B,MAA1B;AAEH;;;uCAEkB,S,EAAS;AAAA,yBAC0B,KAAK,KAD/B;AAAA,UACN,MADM,gBAChB,MADgB,CACN,MADM;AAAA,UACI,iBADJ,gBACI,iBADJ;;AAExB,UAAI,SAAS,CAAC,iBAAV,KAAgC,KAAK,KAAL,CAAW,iBAA/C,EAAkE;AAC9D,aAAK,UAAL;AACH;;AACD,UAAI,SAAS,CAAC,iBAAV,KAAgC,iBAApC,EAAuD,KAAK,oBAAL,CAA0B,MAA1B;AAC1D;;;2CAEmB;AAAA,yBACsC,KAAK,KAD3C;AAAA,UACE,MADF,gBACR,MADQ,CACE,MADF;AAAA,UACY,qBADZ,gBACY,qBADZ;AAEhB,WAAK,oBAAL,CAA0B,MAA1B;AACA,2BAAqB;AACxB;;;iCAEgB;AAAA,UACL,MADK,GACM,KAAK,KADX,CACL,MADK;AAAA,UAEN,OAFM,GAEK,KAAK,KAFV,CAEN,OAFM;AAAA,UAGN,uBAHM,GAGqB,MAHrB,CAGN,uBAHM;AAIb,UAAM,YAAY,GAAG,MAAM,CAAC,WAAP,CAAmB,GAAnB,CAAuB,UAAC,UAAD,EAAe;AACvD,YAAM,YAAY,GAAG,UAAU,CAAC,QAAhC;AACA,YAAM,GAAG,GAAG,YAAY,IAAI,UAAU,CAAC,KAA3B,GAAmC,UAAU,CAAC,KAAX,CAAiB,CAAjB,EAAoB,aAAvD,GAAuE,UAAU,CAAC,qBAAX,CAAiC,GAApH;AACA,eAAO;AAAE,aAAG,EAAH,GAAF;AAAO,cAAI,EAAE,YAAY,GAAG,OAAH,GAAa,EAAtC;AAA0C,eAAK,EAAE,OAAjD;AAA0D,cAAI,EAAE,UAAU,CAAC,aAA3E;AAA0F,gBAAM,EAAE;AAAC,mBAAO,EAAE,UAAU,CAAC,KAArB;AAA4B,sBAAU,EAAC,EAAvC;AAA2C,wBAAY,EAAC;AAAxD,WAAlG;AAA+J,sBAAY,EAAE,uBAAuB,IAAI,UAAU,CAAC,WAAX,CAAuB,aAAvB,CAAqC;AAA7O,SAAP;AACH,OAJoB,CAArB;AAKA,WAAK,QAAL,CAAc;AAAE,eAAO,EAAE;AAAX,OAAd;AACH;;;6BA0CY;AAAA,yBAC0F,KAAK,KAD/F;AAAA,UACD,cADC,gBACD,cADC;AAAA,UACe,MADf,gBACe,MADf;AAAA,UACuB,KADvB,gBACuB,KADvB;AAAA,UAC8B,iBAD9B,gBAC8B,iBAD9B;AAAA,UACiD,mBADjD,gBACiD,mBADjD;AAAA,UACsE,gBADtE,gBACsE,eADtE;AAAA,yBAEgD,KAAK,KAFrD;AAAA,UAED,OAFC,gBAED,OAFC;AAAA,UAEQ,YAFR,gBAEQ,YAFR;AAAA,UAEsB,OAFtB,gBAEsB,OAFtB;AAAA,UAE+B,YAF/B,gBAE+B,YAF/B;AAAA,UAGF,aAHE,GAGiE,MAHjE,CAGF,aAHE;AAAA,UAGa,KAHb,GAGiE,MAHjE,CAGa,KAHb;AAAA,UAGoB,UAHpB,GAGiE,MAHjE,CAGoB,UAHpB;AAAA,UAGgC,IAHhC,GAGiE,MAHjE,CAGgC,IAHhC;AAAA,UAGsC,uBAHtC,GAGiE,MAHjE,CAGsC,uBAHtC;AAIT,UAAM,cAAc,GAAG,OAAO,CAAC,MAA/B;AAEA,UAAM,uBAAuB,GAAG,mBAAmB,GAAG,IAAtD;AACA,UAAM,WAAW,GAAG,KAAK,KAAK,iBAA9B;AACA,UAAM,sBAAsB,GAAG,OAAO,IAAI,OAAO,CAAC,YAAD,CAAlB,IAAoC,OAAO,CAAC,YAAD,CAAP,CAAsB,IAAtB,KAA+B,OAAlG;AACA,UAAM,SAAS,GAAG,UAAU,CAAC,UAAD,EAAa;AAAC,iBAAS,OAAV;AAAmB,sBAAc;AAAjC,OAAb,CAA5B;AACA,UAAM,UAAU,uBAAgB,uBAAuB,GAAG,YAAH,GAAkB,EAAzD,CAAhB;AAEA,aACI;AAAK,iBAAS,EAAE,SAAhB;AAA2B,aAAK,EAAE;AAAE,gBAAM,YAAK,YAAL;AAAR;AAAlC,SACK,WAAW,IACR,0CACI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE;AAAnC,QADJ,EAEI;AAAK,iBAAS,EAAC,SAAf;AAAyB,eAAO,EAAE,KAAK;AAAvC,QAFJ,CAFR,EAOI;AAAK,iBAAS,EAAC;AAAf,SACK,WAAW,IAAI,cAAf,GACG;AAAK,iBAAS,EAAE;AAAhB,SACI,oBAAC,qCAAD,EAAkB;AACd,eAAO,EAAE,OADK;AAEd,uBAAe,EAAE,uBAFH;AAGd,cAAM,EAAE,KAAK,WAHC;AAId,kBAAU,EAAE,KAAK,WAJH;AAKd,uBAAe,EAAE;AAAA,iBAAM,gBAAe,CAAC,iBAAiB,GAAG,CAArB,CAArB;AAAA,SALH;AAMd,oBAAY,EAAE,YANA;AAOd,kBAAU,EAAE,KAAK;AAPH,OAAlB,CADJ,EAUI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,iCAAD,EAAgB;AAAC,iBAAS,EAAE,mCAAK,2CAAL,CAAZ;AAA+D,WAAG,EAAE,OAAO,CAAC,YAAD,CAAP,GAAwB,OAAO,CAAC,YAAD,CAAP,CAAsB,IAA9C,GAAqD,IAAzH;AAA+H,eAAO,EAAC;AAAvI,OAAhB,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAU;AACN,YAAI,EAAE,KADA;AAEN,aAAK,EAAE,EAFD;AAGN,cAAM,EAAE,EAHF;AAIN,qBAAa,EAAE,IAJT;AAKN,mBAAW,EAAE,IAAI,CAAC,IAAL,CAAU,aALjB;AAMN,uBAAe,EAAE,IANX;AAON,kBAAU,EAAE;AAPN,OAAV,CADJ,CADJ,EAYI;AAAK,iBAAS,EAAC;AAAf,SAA4B,aAA5B,CAZJ,CAFJ,CAVJ,CADH,GA8BG;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,CA/BR,CAPJ,CADJ;AA8CH;;;;EA/IkC,KAAK,CAAC,S;;AAA7C,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICXa,6B;;;;;AACT,yCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,uGAAM,KAAN;;AAkBI,qCAA2B,YAAK;AAAA,wBACwC,MAAK,KAD7C;AAAA,UAC5B,oBAD4B,eAC5B,oBAD4B;AAAA,UACN,UADM,eACN,UADM;AAAA,UACM,6BADN,eACM,6BADN;;AAEpC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;;AACA,mCAA6B,CAAC,UAAD,CAA7B;AACA,0BAAoB,CAAC,UAAD,CAApB;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,IAAd;AACtB,KANO;;AAQA,iCAAuB,YAAK;AAChC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,KAAd;AACtB,KAHO;;AAKA,oCAA0B,UAAC,OAAD,EAAoB;AAClD,UAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAW,OAAO,GAAG,EAArB,EAAyB,QAAzB,GAAoC,QAApC,CAA6C,CAA7C,EAAgD,GAAhD,CAAhB;AACA,UAAM,UAAU,GAAG,CAAC,OAAO,GAAG,EAAX,EAAe,QAAf,GAA0B,QAA1B,CAAmC,CAAnC,EAAsC,GAAtC,CAAnB;AACA,uBAAU,OAAV,cAAqB,UAArB;AACH,KAJO;;AAMA,yBAAe,YAAK;AACxB,YAAK,oBAAL,GAA4B,IAAI,oBAAJ,CAAyB,eAAK,EAAG;AACzD,aAAK,CAAC,CAAD,CAAL,CAAS,cAAT,GAA0B,MAAK,wBAAL,EAA1B,GAA4D,MAAK,oBAAL,EAA5D;AACH,OAF2B,EAEzB;AAAE,iBAAS,EAAE;AAAb,OAFyB,CAA5B;;AAGA,YAAK,oBAAL,CAA0B,OAA1B,CAAkC,MAAK,OAAvC;AACH,KALO;;AApCJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE;AADP,KAAb;AAFa;AAKhB;;;;wCAMgB;AACb,WAAK,YAAL;AACH;;;2CAEmB;AAChB,WAAK,oBAAL,IAA6B,KAAK,oBAAL,CAA0B,UAA1B,EAA7B;AACH;;;6BA4BY;AAAA;;AAAA,UACD,cADC,GACkB,KAAK,KADvB,CACD,cADC;AAAA,yBAE+D,KAAK,KAFpE;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,sBAFV,gBAEU,sBAFV;AAAA,UAEkC,UAFlC,gBAEkC,UAFlC;AAAA,UAE8C,YAF9C,gBAE8C,YAF9C;AAAA,UAGD,KAHC,GAGgB,SAHhB,CAGD,KAHC;AAAA,UAGM,KAHN,GAGgB,SAHhB,CAGM,KAHN;AAAA,UAID,QAJC,GAI+B,KAJ/B,CAID,QAJC;AAAA,UAIS,MAJT,GAI+B,KAJ/B,CAIS,MAJT;AAAA,UAIiB,SAJjB,GAI+B,KAJ/B,CAIiB,SAJjB;AAKT,UAAM,kBAAkB,GAAG,cAAc,IAAI,SAA7C;AACA,UAAM,WAAW,sBAAe,kBAAkB,GAAG,QAAH,GAAc,EAA/C,CAAjB;AAEA,aACI;AACI,iBAAS,EAAE,WADf;AAEI,eAAO,EAAE;AAAA,iBAAM,sBAAsB,CAAC,UAAD,CAA5B;AAAA,SAFb;AAGI,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,OAAL,GAAe,IAAnB;AAAA;AAHZ,SAKK,kBAAkB,GACf;AACI,gBAAQ,EAAE,IADd;AAEI,YAAI,EAAE,KAFV;AAGI,WAAG,EAAE,kBAAG;AAAA,iBAAI,MAAI,CAAC,QAAL,GAAgB,KAApB;AAAA,SAHZ;AAII,aAAK,MAJT;AAKI,cAAM,EAAE,MALZ;AAMI,eAAO,EAAE,YANb;AAOI,iBAAS,EAAC,YAPd;AAO2B,WAAG,EAAE,SAPhC;AAQI,mBAAW,MARf;AAQe;AARf,QADe,GAaf;AACI,WAAG,EAAE,MADT;AAEI,WAAG,EAAC;AAFR,QAlBR,EAsBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B;AAAM,iBAAS,EAAC;AAAhB,QAA/B,E,GAAA,EAAsE,kCAAO,KAAK,uBAAL,CAA6B,IAAI,CAAC,KAAL,CAAW,QAAX,CAA7B,CAAP,CAAtE,CAFJ,CAtBJ,CADJ;AA6BH;;;;EAnF8C,KAAK,CAAC,S;;AAAzD,sE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;;AAEA;;IAoBa,sC;;;;;;;;;;;;;6BAGI;AAAA,wBAC4F,KAAK,KADjG;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,YADV,eACU,YADV;AAAA,UACwB,YADxB,eACwB,YADxB;AAAA,UACsC,SADtC,eACsC,SADtC;AAAA,UACiD,MADjD,eACiD,MADjD;AAAA,UACyD,YADzD,eACyD,YADzD;AAAA,UACuE,QADvE,eACuE,QADvE;AAAA,UACiF,MADjF,eACiF,MADjF;AAET,UAAM,cAAc,oDAA6C,+BAAgB,UAAhB,GAA6B,EAA1E,CAApB;AACA,aACI;AAAK,iBAAS,EAAE;AAAhB,SACI,oBAAC,yDAAD,EAA4B;AACxB,iBAAS,EAAE,SADa;AAExB,oBAAY,EAAE,YAFU;AAGxB,oBAAY,EAAE,YAHU;AAIxB,iBAAS,EAAE,SAJa;AAKxB,cAAM,EAAE,MALgB;AAMxB,oBAAY,EAAE,YANU;AAOxB,gBAAQ,EAAE,QAPc;AAQxB,cAAM,EAAE;AARgB,OAA5B,CADJ,CADJ;AAaH;;;;EAnBuD,KAAK,CAAC,S;;AAChD,wDAAiB,wCAAjB;AADlB,wF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;;IAuBa,2C;;;;;;;;;;;;;6BAGI;AAAA,wBACoJ,KAAK,KADzJ;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,cADV,eACU,cADV;AAAA,UACyB,cADzB,eACyB,cADzB;AAAA,UAC0C,YAD1C,eAC0C,YAD1C;AAAA,UACwD,YADxD,eACwD,YADxD;AAAA,UACsE,SADtE,eACsE,SADtE;AAAA,UACiF,MADjF,eACiF,MADjF;AAAA,UACyF,YADzF,eACyF,YADzF;AAAA,UACuG,sBADvG,eACuG,sBADvG;AAAA,UAC+H,QAD/H,eAC+H,QAD/H;AAAA,UACyI,MADzI,eACyI,MADzI;AAET,aACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qDAAD,EAA0B;AACtB,iBAAS,EAAE,SADW;AAEtB,oBAAY,EAAE,YAFQ;AAGtB,oBAAY,EAAE,YAHQ;AAItB,iBAAS,EAAE,SAJW;AAKtB,cAAM,EAAE,MALc;AAMtB,oBAAY,EAAE,YANQ;AAOtB,sBAAc,EAAE,cAPM;AAQtB,sBAAc,EAAE,cARM;AAStB,8BAAsB,EAAE,sBATF;AAUtB,gBAAQ,EAAE,QAVY;AAWtB,cAAM,EAAE;AAXc,OAA1B,CADJ,CADJ;AAgBH;;;;EArB4D,KAAK,CAAC,S;;AACrD,6DAAiB,6CAAjB;AADlB,kG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;;AACA;;AAEA;;AACA;;AACA;;IAsBa,2B;;;;;AACT,uCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,qGAAM,KAAN;;AAsBI,mCAAyB,UAAC,UAAD,EAAuB;AAAA,UAC5C,SAD4C,GAC9B,MAAK,KADyB,CAC5C,SAD4C;AAEpD,UAAM,gBAAgB,GAAG,SAAS,CAAC,SAAV,CAAoB,UAAC,OAAD;AAAA,eAAa,OAAO,CAAC,MAAR,KAAmB,SAAS,CAAC,UAAD,CAAT,CAAsB,MAAtD;AAAA,OAApB,CAAzB;;AACA,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,gBAApB;AAAsC,uBAAe,EAAE;AAAvD,OAAd,EAAyF,YAAK;AAAG,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;AAAwC,OAAzI;;AACA;AACH,KALO;;AAOA,oCAA0B,YAAK;AACnC,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;;AACA;AACH,KAHO;;AAKA,8BAAoB,UAAC,iBAAD,EAA8B;AACtD,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KAFO;;AAUA,wBAAc,YAAK;AACvB,YAAK,MAAL,CAAY,SAAZ;;AACA,YAAK,YAAL,CAAkB,YAAlB,EAAgC,IAAhC;AACH,KAHO;;AAKA,yBAAe,UAAC,MAAD,EAAiB,aAAjB,EAA2C;AAC9D,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAA5C,EAAuD;AADO,UAEtD,QAFsD,GAEzC,MAAK,KAFoC,CAEtD,QAFsD;AAG9D,UAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAArB,GAA6B,QAAQ,CAAC,IAAT,KAAkB,SAAnB,GAAgC,UAAhC,GAA6C,QAAQ,CAAC,IAAlF,GAAyF,UAA9G;AACA,UAAM,QAAQ,GAAG,aAAa,mBAAY,MAAZ,cAA0B,YAA1B,cAA0C,MAA1C,CAA9B;AAEA,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,eADW;AAElB,6BAAqB,EAAE;AAFL,OAAtB;AAIH,KAVO;;AAhDJ,UAAK,KAAL,GAAa;AACT,qBAAe,EAAE,CADR;AAET,mBAAa,EAAE,KAFN;AAGT,sBAAgB,EAAE,CAHT;AAIT,uBAAiB,EAAE,KAJV;AAKT,uBAAiB,EAAE;AALV,KAAb;AAOA,UAAK,cAAL,GAAsB,MAAK,cAAL,CAAoB,IAApB,+BAAtB;AATa;AAUhB;;;;wCAIgB;AACb,cAAQ,CAAC,gBAAT,CAA0B,SAA1B,EAAqC,KAAK,cAA1C;AACH;;;2CAEmB;AAChB,cAAQ,CAAC,mBAAT,CAA6B,SAA7B,EAAwC,KAAK,cAA7C;AACH;;;mCAmBsB,C,EAAC;AACpB,UAAI,CAAC,CAAC,OAAF,KAAc,EAAlB,EAAsB;AAClB,aAAK,uBAAL;AACH;AACJ;;;6BAmBY;AAAA;;AAAA,wBACiD,KAAK,KADtD;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,YADV,eACU,YADV;AAAA,UACwB,YADxB,eACwB,YADxB;AAAA,UACsC,MADtC,eACsC,MADtC;AAAA,wBAE0F,KAAK,KAF/F;AAAA,UAED,aAFC,eAED,aAFC;AAAA,UAEc,gBAFd,eAEc,gBAFd;AAAA,UAEgC,eAFhC,eAEgC,eAFhC;AAAA,UAEiD,iBAFjD,eAEiD,iBAFjD;AAAA,UAEoE,iBAFpE,eAEoE,iBAFpE;AAIT,UAAM,mBAAmB,GAAG;AACxB,gBAAQ,EAAE,KADc;AAExB,aAAK,EAAE,GAFiB;AAGxB,oBAAY,EAAE,CAHU;AAIxB,sBAAc,EAAE,CAJQ;AAKxB,oBAAY,EAAE,gBALU;AAMxB,iBAAS,EAAE,KANa;AAOxB,WAAG,EAAE,IAPmB;AAQxB,oBAAY,EAAE,sBAAC,OAAD,EAAU,IAAV;AAAA,iBAAmB,MAAI,CAAC,QAAL,CAAc;AAAE,2BAAe,EAAE,IAAI,CAAC,GAAL,CAAS,IAAI,GAAG,SAAS,CAAC,MAAjB,GAA0B,CAAnC;AAAnB,WAAd,CAAnB;AAAA,SARU;AASxB,iBAAS,EAAE,oBAAC,eAAD,EAAgB;AAAC,yBAAe,EAAE,eAAlB;AAAmC,oBAAU,EAAE,SAAS,CAAC,MAAzD;AAAiE,sBAAY,EAAE,KAAK;AAApF,SAAhB,CATa;AAUxB,iBAAS,EAAE,oBAAC,eAAD,EAAgB;AAAC,yBAAe,EAAE,eAAlB;AAAmC,oBAAU,EAAE,SAAS,CAAC,MAAzD;AAAiE,sBAAY,EAAE,KAAK;AAApF,SAAhB;AAVa,OAA5B;AAaA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,YAAY,IAAI;AAAK,iBAAS,EAAC;AAAf,SAAuD;AAAK,iBAAS,EAAC;AAAf,SAAiC,YAAjC,CAAvD,CADrB,EAEK,aAAa,IAAI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE,KAAK;AAAxC,QAFtB,EAGI,oBAAC,6BAAD,EAAc;AACV,kBAAU,EAAE,GADF;AAEV,aAAK,EAAE,IAFG;AAGV,sBAAc,EAAE,SAAS,CAAC,MAHhB;AAIV,mBAAW,EAAE,EAJH;AAKV,yBAAiB,EAAE,iBALT;AAMV,yBAAiB,EAAE,iBANT;AAOV,iBAAS,EAAE,SAPD;AAQV,oBAAY,EAAE,KAAK;AART,OAAd,EAUK,SAAS,CAAC,GAAV,CAAc,UAAC,SAAD,EAAY,KAAZ,EAAqB;AAChC,eACI,oBAAC,mDAAD,EAAyB;AACrB,mBAAS,EAAE,SADU;AAErB,gCAAsB,EAAE,MAAI,CAAC,sBAFR;AAGrB,oBAAU,EAAE,KAHS;AAIrB,aAAG,EAAE,SAAS,CAAC,MAJM;AAKrB,2BAAiB,EAAE,MAAI,CAAC;AALH,SAAzB,CADJ;AASH,OAVA,CAVL,CAHJ,EAyBK,aAAa,IACV;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO,kBAAK,mBAAL,EAAwB;AAAE,iBAAS,EAAC,QAAZ;AAAqB,WAAG,EAAE,mBAAM;AAAA,iBAAK,MAAI,CAAC,MAAL,GAAc,MAAnB;AAAA;AAAhC,OAAxB,CAAP,EACK,SAAS,CAAC,GAAV,CAAc,UAAC,SAAD,EAAW,KAAX;AAAA,eACR,oBAAC,6CAAD,EAAsB;AACtB,mBAAS,EAAE,SADW;AAEtB,aAAG,EAAE,SAAS,CAAC,MAFO;AAGtB,yBAAe,EAAE,eAHK;AAItB,qBAAW,EAAE,MAAI,CAAC,WAJI;AAKtB,iCAAuB,EAAE,MAAI,CAAC,uBALR;AAMtB,gBAAM,EAAE,MANc;AAOtB,eAAK,EAAE;AAPe,SAAtB,CADQ;AAAA,OAAd,CADL,CADJ,CA1BR,CADJ;AA4CH;;;;EA5H4C,KAAK,CAAC,S;;AAAvD;;AA+HA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAA,MACtB,OADsB,GACqB,KADrB,CACtB,OADsB;AAAA,MACb,eADa,GACqB,KADrB,CACb,eADa;AAAA,MACI,YADJ,GACqB,KADrB,CACI,YADJ;AAE9B,MAAM,kBAAkB,GAAG,eAAe,KAAK,CAA/C;;AACA,MAAM,WAAW,GAAG,SAAd,WAAc,GAAK;AACrB,WAAO;AACP,gBAAY,CAAC,aAAD,EAAe,IAAf,CAAZ;AACH,GAHD;;AAKA,SACI;AACI,aAAS,iCAA0B,kBAAkB,GAAG,EAAH,GAAQ,eAApD,CADb;AAEI,WAAO,EAAE;AAFb,IADJ;AAMH,CAdD;;AAgBA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAA,MACtB,OADsB,GACiC,KADjC,CACtB,OADsB;AAAA,MACb,eADa,GACiC,KADjC,CACb,eADa;AAAA,MACI,UADJ,GACiC,KADjC,CACI,UADJ;AAAA,MACgB,YADhB,GACiC,KADjC,CACgB,YADhB;AAE9B,MAAM,kBAAkB,GAAI,eAAe,GAAG,CAAnB,KAA0B,UAArD;;AACA,MAAM,WAAW,GAAG,SAAd,WAAc,GAAK;AACrB,WAAO;AACP,gBAAY,CAAC,YAAD,EAAc,IAAd,CAAZ;AACH,GAHD;;AAIA,SACI;AACI,aAAS,iCAA0B,kBAAkB,GAAG,EAAH,GAAQ,eAApD,CADb;AAEI,WAAO,EAAE;AAFb,IADJ;AAMH,CAbD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC7Ja,wB;;;;;AACT,oCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,kGAAM,KAAN;;AAQI,yBAAe,YAAK;AAAA,wBACkB,MAAK,KADvB;AAAA,UAChB,UADgB,eAChB,UADgB;AAAA,UACJ,iBADI,eACJ,iBADI;;AAExB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;;AACA,uBAAiB,CAAC,UAAD,CAAjB;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,IAAd;AAEtB,KANO;;AAQA,yBAAe,YAAK;AACxB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,KAAd;AACtB,KAHO;;AAKA,oCAA0B,UAAC,OAAD,EAAoB;AAClD,UAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAW,OAAO,GAAG,EAArB,EAAyB,QAAzB,GAAoC,QAApC,CAA6C,CAA7C,EAAgD,GAAhD,CAAhB;AACA,UAAM,UAAU,GAAG,CAAC,OAAO,GAAG,EAAX,EAAe,QAAf,GAA0B,QAA1B,CAAmC,CAAnC,EAAsC,GAAtC,CAAnB;AACA,uBAAU,OAAV,cAAqB,UAArB;AACH,KAJO;;AApBJ,UAAK,KAAL,GAAa;AACT,kBAAY,EAAE;AADL,KAAb;AAFa;AAKhB;;;;6BAuBY;AAAA;;AAAA,UACD,YADC,GACgB,KAAK,KADrB,CACD,YADC;AAAA,yBAEiD,KAAK,KAFtD;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,sBAFV,gBAEU,sBAFV;AAAA,UAEkC,UAFlC,gBAEkC,UAFlC;AAAA,UAGD,KAHC,GAGgB,SAHhB,CAGD,KAHC;AAAA,UAGM,KAHN,GAGgB,SAHhB,CAGM,KAHN;AAAA,UAID,QAJC,GAI+B,KAJ/B,CAID,QAJC;AAAA,UAIS,MAJT,GAI+B,KAJ/B,CAIS,MAJT;AAAA,UAIiB,SAJjB,GAI+B,KAJ/B,CAIiB,SAJjB;AAKT,UAAM,kBAAkB,GAAG,YAAY,IAAI,SAA3C;AACA,UAAM,WAAW,sBAAe,kBAAkB,GAAG,SAAH,GAAe,EAAhD,CAAjB;AAEA,aACI;AAAK,iBAAS,EAAE,WAAhB;AAA6B,oBAAY,EAAE,KAAK,YAAhD;AAA8D,oBAAY,EAAE,KAAK,YAAjF;AAA+F,eAAO,EAAE;AAAA,iBAAM,sBAAsB,CAAC,UAAD,CAA5B;AAAA,SAAxG;AAAkJ,aAAK,EAAC;AAAxJ,SACK,YAAY,GACT;AACI,gBAAQ,EAAE,IADd;AAEI,YAAI,EAAE,IAFV;AAGI,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,QAAL,GAAgB,IAApB;AAAA,SAHZ;AAII,aAAK,MAJT;AAKI,cAAM,EAAE,MALZ;AAMI,iBAAS,EAAC,YANd;AAM2B,WAAG,EAAE;AANhC,QADS,GAUT;AACI,WAAG,EAAE,MADT;AAEI,WAAG,EAAC;AAFR,QAXR,EAeI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B;AAAM,iBAAS,EAAC;AAAhB,QAA/B,E,GAAA,EAAsE,kCAAO,KAAK,uBAAL,CAA6B,IAAI,CAAC,KAAL,CAAW,QAAX,CAA7B,CAAP,CAAtE,CAFJ,CAfJ,CADJ;AAsBH;;;;EA3DyC,KAAK,CAAC,S;;AAApD,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbA;;AAEA;;AACA;;AACA;;AACA;;AAEA;;IA0Ba,yB;;;;;AACT,qCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,mGAAM,KAAN;;AA4BI,mCAAyB,UAAC,UAAD,EAAuB;AAAA,UAC5C,SAD4C,GAC9B,MAAK,KADyB,CAC5C,SAD4C;AAEpD,UAAM,gBAAgB,GAAG,SAAS,CAAC,SAAV,CAAoB,UAAC,OAAD;AAAA,eAAa,OAAO,CAAC,MAAR,KAAmB,SAAS,CAAC,UAAD,CAAT,CAAsB,MAAtD;AAAA,OAApB,CAAzB;;AACA,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,gBAApB;AAAsC,uBAAe,EAAE;AAAvD,OAAd,EAAyF,YAAK;AAAG,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;AAAwC,OAAzI;;AACA;AACH,KALO;;AAOA,gCAAsB,YAAK;AAC/B,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,CAApB;AAAuB,uBAAe,EAAE,CAAxC;AAA2C,qBAAa,EAAE;AAA1D,OAAd;AACH,KAFO;;AAIA,oCAA0B,YAAK;AACnC,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;;AACA;AACH,KAHO;;AAKA,yBAAe,YAAK;AACxB,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE,CAAC,MAAK,KAAL,CAAW;AAAjC,OAAd;AACH,KAFO;;AAIA,iCAAuB,UAAC,iBAAD,EAA8B;AACzD,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KAFO;;AAGA,0CAAgC,UAAC,cAAD,EAA2B;AAC/D,YAAK,QAAL,CAAc;AAAE,iCAAyB,EAAE;AAA7B,OAAd;AACH,KAFO;;AAIA,iCAAuB,YAAK;AAChC,gBAAU,CAAC,YAAK;AACZ,YAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,kIAAvB,CAArB;;AACA,YAAI,YAAJ,EAAkB;AACd,sBAAY,CAAC,WAAb,GAA2B,CAA3B;AACA,sBAAY,CAAC,KAAb;AACH;;AAAA;AACJ,OANS,EAMP,GANO,CAAV;AAOH,KARO;;AAUA,wBAAc,YAAK;AACvB,YAAK,SAAL,CAAe,SAAf;;AACA,YAAK,YAAL,CAAkB,UAAlB,EAA8B,IAA9B;AACH,KAHO;;AAKA,yBAAe,UAAC,MAAD,EAAiB,aAAjB,EAA2C;AAC9D,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAA5C,EAAuD;AADO,UAEtD,QAFsD,GAEzC,MAAK,KAFoC,CAEtD,QAFsD;AAG9D,UAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAArB,GAA6B,QAAQ,CAAC,IAAT,KAAkB,SAAnB,GAAgC,UAAhC,GAA6C,QAAQ,CAAC,IAAlF,GAAyF,UAA9G;AACA,UAAM,QAAQ,GAAG,aAAa,mBAAY,MAAZ,cAA0B,YAA1B,cAA0C,MAA1C,CAA9B;AAEA,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,eADW;AAElB,6BAAqB,EAAE;AAFL,OAAtB;AAIH,KAVO;;AArEJ,UAAK,KAAL,GAAa;AACT,sBAAgB,EAAE,CADT;AAET,qBAAe,EAAE,CAFR;AAGT,mBAAa,EAAE,KAHN;AAIT,uBAAiB,EAAE,KAJV;AAKT,uBAAiB,EAAE,CALV;AAMT,wBAAkB,EAAE,GANX;AAOT,+BAAyB,EAAE;AAPlB,KAAb;AAFa;AAWhB;;;;wCAOgB;AAAA;;AACb,WAAK,cAAL,GAAsB,IAAI,cAAJ,CAAmB,iBAAO;AAAA,eAAI,OAAO,CAAC,OAAR,CAAgB,WAAC,EAAG;AACpE,gBAAI,CAAC,QAAL,CAAc;AAAE,8BAAkB,EAAE,CAAC,CAAC,WAAF,CAAc;AAApC,WAAd;AACH,SAFmD,CAAJ;AAAA,OAA1B,CAAtB;AAGA,WAAK,cAAL,CAAoB,OAApB,CAA4B,KAAK,mBAAjC;AACH;;;2CAEmB;AAChB,WAAK,cAAL,IAAuB,KAAK,cAAL,CAAoB,UAApB,EAAvB;AACH;;;6BAwDY;AAAA;;AAAA,wBACiF,KAAK,KADtF;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,YADV,eACU,YADV;AAAA,UACwB,YADxB,eACwB,YADxB;AAAA,UACsC,cADtC,eACsC,cADtC;AAAA,UACsD,cADtD,eACsD,cADtD;AAAA,UACsE,MADtE,eACsE,MADtE;AAAA,wBAEyI,KAAK,KAF9I;AAAA,UAED,aAFC,eAED,aAFC;AAAA,UAEc,gBAFd,eAEc,gBAFd;AAAA,UAEgC,eAFhC,eAEgC,eAFhC;AAAA,UAEiD,iBAFjD,eAEiD,iBAFjD;AAAA,UAEoE,iBAFpE,eAEoE,iBAFpE;AAAA,UAEuF,kBAFvF,eAEuF,kBAFvF;AAAA,UAE2G,yBAF3G,eAE2G,yBAF3G;AAGT,UAAM,oBAAoB,GAAG,GAA7B;AACA,UAAM,UAAU,GAAI,kBAAkB,GAAG,GAAtB,GAA6B,oBAAhD;AACA,UAAM,mBAAmB,GAAG;AACxB,gBAAQ,EAAE,KADc;AAExB,aAAK,EAAE,GAFiB;AAGxB,oBAAY,EAAE,CAHU;AAIxB,sBAAc,EAAE,CAJQ;AAKxB,oBAAY,EAAE,gBALU;AAMxB,gBAAQ,EAAE,KANc;AAOxB,gBAAQ,EAAE,IAPc;AAQxB,eAAO,EAAE,mBAAK;AAAG,gBAAI,CAAC,oBAAL;AAA6B,SARtB;AASxB,uBAAe,EAAE,IATO;AAUxB,oBAAY,EAAE,sBAAC,OAAD,EAAU,IAAV,EAAkB;AAC5B,cAAM,kBAAkB,GAAG,IAAI,GAAG,OAAP,GAAiB,IAAjB,GAAwB,MAAnD;;AACA,gBAAI,CAAC,YAAL,iBAA2B,kBAA3B,GAAiD,IAAjD;AACH,SAbuB;AAcxB,mBAAW,EAAE,qBAAC,OAAD,EAAY;AACrB,gBAAI,CAAC,QAAL,CAAc;AAAE,2BAAe,EAAE;AAAnB,WAAd;;AACA,gBAAI,CAAC,oBAAL;AACH;AAjBuB,OAA5B;AAoBA,aACI;AAAK,iBAAS,EAAC,kCAAf;AAAkD,WAAG,EAAE,gCAAmB;AAAA,iBAAK,MAAI,CAAC,mBAAL,GAA2B,mBAAhC;AAAA;AAA1E,SACK,aAAa,GACV;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO,kBAAK,mBAAL,EAAwB;AAAE,iBAAS,EAAC,QAAZ;AAAqB,WAAG,EAAE,aAAC,SAAD;AAAA,iBAAgB,MAAI,CAAC,SAAL,GAAiB,SAAjC;AAAA;AAA1B,OAAxB,CAAP,EACK,SAAS,CAAC,GAAV,CAAc,UAAC,SAAD,EAAY,KAAZ,EAAqB;AAChC,YAAM,YAAY,GAAG,KAAK,KAAK,SAAS,CAAC,MAAV,GAAmB,CAA7B,GAAiC,MAAjC,GAA0C,EAA/D;AACA,eACI,oBAAC,uDAAD,EAA2B;AACvB,mBAAS,EAAE,SADY;AAEvB,aAAG,EAAE,SAAS,CAAC,MAFQ;AAGvB,0BAAgB,EAAE,gBAHK;AAIvB,yBAAe,EAAE,eAJM;AAKvB,mBAAS,EAAE,KALY;AAMvB,iCAAuB,EAAE,MAAI,CAAC,uBANP;AAOvB,sBAAY,EAAE,YAPS;AAQvB,qBAAW,EAAE,MAAI,CAAC,WARK;AASvB,gBAAM,EAAE,MATe;AAUvB,eAAK,EAAE;AAVgB,SAA3B,CADJ;AAcH,OAhBA,CADL,CADJ,CADU,GAuBV,0CACK,YAAY,IAAI;AAAK,iBAAS,EAAC;AAAf,SAAuD;AAAK,iBAAS,EAAC;AAAf,SAAiC,YAAjC,CAAvD,CADrB,EAEI,oBAAC,6BAAD,EAAc;AACV,kBAAU,EAAE,UADF;AAEV,aAAK,EAAE,GAFG;AAGV,sBAAc,EAAE,SAAS,CAAC,MAHhB;AAIV,mBAAW,EAAE,CAJH;AAKV,yBAAiB,EAAE,iBALT;AAMV,yBAAiB,EAAE,iBANT;AAOV,iBAAS,EAAE,SAPD;AAQV,mBAAW,EAAE,IARH;AASV,oBAAY,EAAE,KAAK;AATT,OAAd,EAWK,SAAS,CAAC,GAAV,CAAc,UAAC,SAAD,EAAY,KAAZ,EAAqB;AAChC,eACI,oBAAC,6DAAD,EAA8B;AAC1B,mBAAS,EAAE,SADe;AAE1B,gCAAsB,EAAE,MAAI,CAAC,sBAFH;AAG1B,oBAAU,EAAE,KAHc;AAI1B,aAAG,EAAE,SAAS,CAAC,MAJW;AAK1B,sBAAY,EAAE,MAAI,CAAC,YALO;AAM1B,8BAAoB,EAAE,MAAI,CAAC,oBAND;AAO1B,uCAA6B,EAAE,MAAI,CAAC,6BAPV;AAQ1B,mCAAyB,EAAE,yBARD;AAS1B,sBAAY,EAAE,MAAI,CAAC;AATO,SAA9B,CADJ;AAaH,OAdA,CAXL,CAFJ,EA6BK,CAAC,cAAD,IAAmB;AAAK,iBAAS,EAAC,YAAf;AAA4B,eAAO,EAAE,KAAK;AAA1C,SAAgE,cAAhE,CA7BxB,CAxBR,CADJ;AA2DH;;;;EAxK0C,KAAK,CAAC,S;;AAArD,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChCA;;AACA;;AACA;;AACA;;AACA;;AAgBA,IAAM,IAAI,GAAG;AACT,UAAQ,EAAE,YADD;AAET,YAAU,EAAE,2BAFH;AAGT,aAAW,EAAE;AAHJ,CAAb;;IAKa,qB;;;;;AACT,iCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,+FAAM,KAAN;;AAiBI,+BAAqB,UAAC,KAAD,EAAsB;AAC/C,UAAK,KAAK,CAAC,MAAN,CAAyB,SAAzB,CAAmC,QAAnC,CAA4C,aAA5C,CAAL,EAAiE,MAAK,KAAL,CAAW,uBAAX;AACpE,KAFO;;AAwBA,6BAAmB,UAAC,CAAD,EAAM;AAC7B,OAAC,CAAC,MAAF,CAAS,WAAT,GAAuB,CAAvB;AACA,OAAC,CAAC,MAAF,CAAS,KAAT;;AACA,YAAK,KAAL,CAAW,WAAX;AACH,KAJO;;AAyBA,iCAAuB,YAAK;AAChC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,CAAC,MAAK,KAAL,CAAW;AAA9B,OAAd;AACH,KAFO;;AAIA,+BAAqB,YAAK;AAC9B,YAAK,QAAL,CAAc;AAAE,2BAAmB,EAAE,CAAC,MAAK,KAAL,CAAW;AAAnC,OAAd;AACH,KAFO;;AAIA,kCAAwB,UAAC,MAAD,EAAmB;AAC/C,YAAK,QAAL,CAAc;AAAE,2BAAmB,EAAE;AAAvB,OAAd;;AAD+C,wBAEjB,MAAK,KAFY;AAAA,UAEvC,MAFuC,eAEvC,MAFuC;AAAA,UAE/B,SAF+B,eAE/B,SAF+B;;AAI/C,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,OAAO,aAAM,MAAN,oBAAuB,SAAS,CAAC,KAAV,CAAkC,WAAzD,CAAb;;AAEA,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,OAAlB,EAA2B,EAA3B;AACA;;AACJ,eAAK,IAAL;AACI,4CAAiB,OAAjB;AACA;;AACJ,eAAK,IAAL;AACI,sDAAoB,iBAApB,CAAsC,OAAtC;AACA;AATR;AAWH;AACJ,KAnBO;;AAqBA,yBAAe,YAAK;AACxB,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAA5C,EAAuD;AAD/B,UAEhB,KAFgB,GAEN,MAAK,KAFC,CAEhB,KAFgB;AAIxB,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,eADW;AAElB,uBAAe,EAAE,gBAFC;AAGlB,oBAAY,EAAE,YAHI;AAIlB,6BAAqB,EAAE,KAJL;AAKlB,kBAAU,EAAE;AALM,OAAtB;AAOH,KAXO;;AA9FJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE,KADP;AAET,yBAAmB,EAAE;AAFZ,KAAb;AAFa;AAMhB;;;;wCAEgB;AACb,WAAK,6BAAL;AACA,cAAQ,CAAC,gBAAT,CAA0B,OAA1B,EAAmC,KAAK,kBAAxC;AACH;;;2CAEmB;AAChB,WAAK,yBAAL;AACA,cAAQ,CAAC,mBAAT,CAA6B,OAA7B,EAAsC,KAAK,kBAA3C;AACH;;;oDAMoC;AAAA;;AACjC,gBAAU,CAAC,YAAK;AACZ,YAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,6GAA1B,CAAtB;;AACA,YAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,uBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,mBAAO,CAAC,gBAAR,CAAyB,OAAzB,EAAkC,MAAI,CAAC,gBAAvC;AACH,WAFD;AAGH;;AAAA;AACJ,OAPS,EAOP,GAPO,CAAV;AAQH;;;gDAEgC;AAAA;;AAC7B,UAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,6GAA1B,CAAtB;;AACA,UAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,qBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,iBAAO,CAAC,mBAAR,CAA4B,OAA5B,EAAqC,MAAI,CAAC,gBAA1C;AACH,SAFD;AAGH;;AAAA;AACJ;;;uCAQkB,S,EAAW,S,EAAS;AACnC,UAAI,SAAS,CAAC,eAAV,KAA8B,KAAK,KAAL,CAAW,eAA7C,EAA8D;AAC1D,kBAAU,CAAC,YAAK;AACZ,cAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,wHAAvB,CAArB;AACA,cAAM,oBAAoB,GAAG,QAAQ,CAAC,aAAT,CAAuB,2IAAvB,CAA7B;;AACA,cAAI,YAAJ,EAAkB;AACd,sBAAU,CAAC,YAAK;AACZ,kBAAI,YAAY,CAAC,MAAjB,EAAyB;AACrB,4BAAY,CAAC,KAAb;AACA,4BAAY,CAAC,WAAb,GAA2B,CAA3B;AACA,4BAAY,CAAC,IAAb;AACH;AACJ,aANS,EAMP,GANO,CAAV;AAOH;;AAAA;AACD,cAAI,oBAAJ,EAA0B,oBAAoB,CAAC,KAArB;AAC7B,SAbS,EAaP,GAbO,CAAV;AAcH;AACJ;;;6BA4CY;AAAA;;AAAA,wBACuC,KAAK,KAD5C;AAAA,UACD,cADC,eACD,cADC;AAAA,UACe,mBADf,eACe,mBADf;AAAA,yBAE6C,KAAK,KAFlD;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,MAFV,gBAEU,MAFV;AAAA,UAEkB,eAFlB,gBAEkB,eAFlB;AAAA,UAEmC,KAFnC,gBAEmC,KAFnC;AAAA,UAGD,KAHC,GAGsD,SAHtD,CAGD,KAHC;AAAA,UAGM,KAHN,GAGsD,SAHtD,CAGM,KAHN;AAAA,UAGa,QAHb,GAGsD,SAHtD,CAGa,QAHb;AAAA,UAGuB,SAHvB,GAGsD,SAHtD,CAGuB,SAHvB;AAAA,UAGkC,eAHlC,GAGsD,SAHtD,CAGkC,eAHlC;AAIT,UAAM,aAAa,2BAAoB,cAAc,GAAG,EAAH,GAAQ,OAA1C,CAAnB;AACA,UAAM,WAAW,GAAI,SAAS,CAAC,KAAV,CAAkC,WAAvD;AACA,UAAM,iBAAiB,aAAM,MAAN,oBAAsB,WAAtB,CAAvB;AACA,UAAM,kBAAkB,GAAI,eAAe,KAAK,KAApB,IAA6B,eAAe,KAAK,KAAK,GAAG,CAAzD,IAA8D,eAAe,KAAK,KAAK,GAAG,CAAtH;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,WAAW,IACR;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE,KAAK;AAAxC,QADJ,EAEK,mBAAmB,IAChB;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA1C,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B,UAA/B,CAFJ,CADJ,EAKI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA1C,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B,UAA/B,CAFJ,CALJ,EASI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA1C,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B,SAA/B,CAFJ,CATJ,EAaI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,iCAAD,EAAgB;AAAC,iBAAS,EAAE,IAAI,CAAC,UAAjB;AAA6B,aAAK,EAAE,KAApC;AAA2C,WAAG,EAAE;AAAhD,OAAhB,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAAiC,IAAI,CAAC,QAAtC,CAFJ,CAbJ,CAHR,CAFR,EA0BK,kBAAkB,IACf,oBAAC,iCAAD,EAAgB;AACZ,YAAI,EAAE,KADM;AAEZ,uBAAe,EAAE,IAFL;AAGZ,aAAK,EAAE,GAHK;AAIZ,cAAM,EAAE,GAJI;AAKZ,oBAAY,EAAE,IALF;AAMZ,qBAAa,EAAE,IANH;AAOZ,+BAAuB,EAAE;AAPb,OAAhB,CA3BR,EAoCI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADJ,EAEI;AAAK,iBAAS,EAAE,aAAhB;AAA+B,eAAO,EAAE,KAAK,oBAA7C;AAAmE,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA5F,QAFJ,EAGK,SAAS,IACN;AAAK,eAAO,EAAE,KAAK;AAAnB,SACI,oBAAC,4BAAD,EAAiB;AACb,iBAAS,EAAC,WADG;AAEb,YAAI,EAAE,SAFO;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAKK,IAAI,CAAC,WALV,CADJ,CAJR,CApCJ,CADJ;AAsDH;;;;EA7KsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBA;;AACA;;AAkBA,IAAM,IAAI,GAAG;AACT,WAAS,EAAE,oBADF;AAET,aAAW,EAAE;AAFJ,CAAb;;IAKa,0B;;;;;AACT,sCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,oGAAM,KAAN;;AAkCI,6BAAmB,UAAC,CAAD,EAAM;AAC7B,OAAC,CAAC,MAAF,CAAS,WAAT,GAAuB,CAAvB;AACA,OAAC,CAAC,MAAF,CAAS,KAAT;;AACA,YAAK,KAAL,CAAW,WAAX;AACH,KAJO;;AAMA,iCAAuB,YAAK;AAChC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE,CAAC,MAAK,KAAL,CAAW;AAA9B,OAAd;AACH,KAFO;;AAIA;AAAA;AAAA;AAAA;AAAA,4BAAY;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,4BACyB,MAAK,KAD9B,EACR,MADQ,eACR,MADQ,EACa,KADb,eACA,SADA,CACa,KADb;AAEV,sBAFU,aAEI,MAFJ,oBAEqB,KAAuB,CAAC,WAF7C;AAGV,uBAHU,GAGE;AAAE,mBAAG,EAAE;AAAP,eAHF;AAAA;AAAA;AAAA,qBAMN,SAAS,CAAC,KAAV,CAAgB,SAAhB,CANM;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAQZ,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AARY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAZ;;AAYA,yBAAe,YAAK;AACxB,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAA5C,EAAuD;AAD/B,UAEhB,KAFgB,GAEN,MAAK,KAFC,CAEhB,KAFgB;AAIxB,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,eADW;AAElB,uBAAe,EAAE,gBAFC;AAGlB,oBAAY,EAAE,YAHI;AAIlB,6BAAqB,EAAE,KAJL;AAKlB,kBAAU,EAAE;AALM,OAAtB;AAOH,KAXO;;AAvDJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE;AADP,KAAb;AAFa;AAKhB;;;;wCAEgB;AACb,WAAK,6BAAL;AACH;;;2CAEmB;AAChB,WAAK,yBAAL;AACH;;;oDAEoC;AAAA;;AACjC,gBAAU,CAAC,YAAK;AACZ,YAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,uHAA1B,CAAtB;;AACA,YAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,uBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,mBAAO,CAAC,gBAAR,CAAyB,OAAzB,EAAkC,MAAI,CAAC,gBAAvC;AACH,WAFD;AAGH;;AAAA;AACJ,OAPS,EAOP,GAPO,CAAV;AAQH;;;gDAEgC;AAAA;;AAC7B,UAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,uHAA1B,CAAtB;;AACA,UAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,qBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,iBAAO,CAAC,mBAAR,CAA4B,OAA5B,EAAqC,MAAI,CAAC,gBAA1C;AACH,SAFD;AAGH;;AAAA;AACJ;;;6BAqCY;AAAA,UACD,cADC,GACkB,KAAK,KADvB,CACD,cADC;AAAA,yBAEyF,KAAK,KAF9F;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,uBAFV,gBAEU,uBAFV;AAAA,UAEmC,YAFnC,gBAEmC,YAFnC;AAAA,UAEiD,WAFjD,gBAEiD,WAFjD;AAAA,UAE8D,KAF9D,gBAE8D,KAF9D;AAAA,UAEqE,eAFrE,gBAEqE,eAFrE;AAAA,UAGD,KAHC,GAGsD,SAHtD,CAGD,KAHC;AAAA,UAGM,KAHN,GAGsD,SAHtD,CAGM,KAHN;AAAA,UAGa,QAHb,GAGsD,SAHtD,CAGa,QAHb;AAAA,UAGuB,SAHvB,GAGsD,SAHtD,CAGuB,SAHvB;AAAA,UAGkC,eAHlC,GAGsD,SAHtD,CAGkC,eAHlC;AAIT,UAAM,aAAa,2BAAoB,cAAc,GAAG,EAAH,GAAQ,OAA1C,CAAnB;AACA,UAAM,aAAa,wCAAiC,cAAc,GAAG,UAAH,GAAgB,cAA/D,CAAnB;AACA,UAAM,WAAW,GAAI,KAAuB,CAAC,WAA7C;AACA,UAAM,kBAAkB,GAAI,eAAe,KAAK,KAApB,IAA6B,eAAe,KAAK,KAAK,GAAG,CAAzD,IAA8D,eAAe,KAAK,KAAK,GAAG,CAAtH;AAEA,aACI;AAAK,iBAAS,EAAE;AAAhB,SACK,kBAAkB,IACf,oBAAC,iCAAD,EAAgB;AACZ,YAAI,EAAE,KADM;AAEZ,uBAAe,EAAE,IAFL;AAGZ,oBAAY,EAAE,IAHF;AAIZ,qBAAa,EAAE;AAJH,OAAhB,CAFR,EASI;AAAK,iBAAS,4BAAqB,YAArB,CAAd;AAAmD,eAAO,EAAE;AAA5D,SAA0E,IAAI,CAAC,SAA/E,CATJ,EAUI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE;AAAnC,QAVJ,EAWK,WAAW,IAAI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE,KAAK;AAAxC,QAXpB,EAYI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADJ,EAEI;AAAK,iBAAS,EAAE,aAAhB;AAA+B,eAAO,EAAE,KAAK,oBAA7C;AAAmE,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAA5F,QAFJ,EAGK,SAAS,IACN;AAAK,eAAO,EAAE,KAAK;AAAnB,SACI,oBAAC,4BAAD,EAAiB;AACb,iBAAS,EAAC,WADG;AAEb,YAAI,EAAE,SAFO;AAGb,kBAAU,EAAE;AAHC,OAAjB,EAKK,IAAI,CAAC,WALV,CADJ,CAJR,CAZJ,CADJ;AA8BH;;;;EA9G2C,KAAK,CAAC,S;;AAAtD,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;;AAkBA,IAAM,IAAI,GAAG;AACT,WAAS,EAAE,oBADF;AAET,aAAW,EAAE;AAFJ,CAAb;;IAKa,0B;;;;;AACT,sCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,oGAAM,KAAN;;AAkCI,6BAAmB,UAAC,CAAD,EAAM;AAC7B,OAAC,CAAC,MAAF,CAAS,WAAT,GAAuB,CAAvB;AACA,OAAC,CAAC,MAAF,CAAS,KAAT;;AACA,YAAK,KAAL,CAAW,WAAX;AACH,KAJO;;AAMA;AAAA;AAAA;AAAA;AAAA,4BAAY;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,4BACyB,MAAK,KAD9B,EACR,MADQ,eACR,MADQ,EACa,KADb,eACA,SADA,CACa,KADb;AAEV,sBAFU,aAEI,MAFJ,oBAEqB,KAAuB,CAAC,WAF7C;AAGV,uBAHU,GAGE;AAAE,mBAAG,EAAE;AAAP,eAHF;AAAA;AAAA;AAAA,qBAMN,SAAS,CAAC,KAAV,CAAgB,SAAhB,CANM;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAQZ,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AARY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAZ;AAvCJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE;AADP,KAAb;AAFa;AAKhB;;;;wCAEgB;AACb,WAAK,6BAAL;AACH;;;2CAEmB;AAChB,WAAK,yBAAL;AACH;;;oDAEoC;AAAA;;AACjC,gBAAU,CAAC,YAAK;AACZ,YAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,uHAA1B,CAAtB;;AACA,YAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,uBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,mBAAO,CAAC,gBAAR,CAAyB,OAAzB,EAAkC,MAAI,CAAC,gBAAvC;AACH,WAFD;AAGH;;AAAA;AACJ,OAPS,EAOP,GAPO,CAAV;AAQH;;;gDAEgC;AAAA;;AAC7B,UAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,uHAA1B,CAAtB;;AACA,UAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,qBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,iBAAO,CAAC,mBAAR,CAA4B,OAA5B,EAAqC,MAAI,CAAC,gBAA1C;AACH,SAFD;AAGH;;AAAA;AACJ;;;6BAoBY;AAAA,UACD,cADC,GACkB,KAAK,KADvB,CACD,cADC;AAAA,yBAEiE,KAAK,KAFtE;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,uBAFV,gBAEU,uBAFV;AAAA,UAEmC,YAFnC,gBAEmC,YAFnC;AAAA,UAEiD,WAFjD,gBAEiD,WAFjD;AAAA,UAGD,KAHC,GAGiB,SAHjB,CAGD,KAHC;AAAA,UAGM,KAHN,GAGiB,SAHjB,CAGM,KAHN;AAIT,UAAM,aAAa,wCAAiC,cAAc,GAAG,UAAH,GAAgB,cAA/D,CAAnB;AACA,UAAM,WAAW,GAAI,KAAuB,CAAC,WAA7C;AAEA,aACI;AAAK,iBAAS,EAAE;AAAhB,SACI,oBAAC,iCAAD,EAAgB;AACZ,YAAI,EAAE,KADM;AAEZ,uBAAe,EAAE,IAFL;AAGZ,oBAAY,EAAE,IAHF;AAIZ,qBAAa,EAAE;AAJH,OAAhB,CADJ,EAOI;AAAK,iBAAS,4BAAqB,YAArB,CAAd;AAAmD,eAAO,EAAE;AAA5D,SAA0E,IAAI,CAAC,SAA/E,CAPJ,EAQI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE;AAAnC,QARJ,EASK,WAAW,IAAI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE,KAAK;AAAxC,QATpB,EAUI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADJ,CAVJ,CADJ;AAgBH;;;;EA7E2C,KAAK,CAAC,S;;AAAtD,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBA;;AACA;;IAmBa,kC;;;;;;;;;;;;;6BAGI;AAAA,wBAC4F,KAAK,KADjG;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,YADV,eACU,YADV;AAAA,UACwB,YADxB,eACwB,YADxB;AAAA,UACsC,SADtC,eACsC,SADtC;AAAA,UACiD,MADjD,eACiD,MADjD;AAAA,UACyD,YADzD,eACyD,YADzD;AAAA,UACuE,QADvE,eACuE,QADvE;AAAA,UACiF,MADjF,eACiF,MADjF;AAET,UAAM,cAAc,wDAAiD,+BAAgB,UAAhB,GAA6B,EAA9E,CAApB;AAEA,aACI;AAAK,iBAAS,EAAE;AAAhB,SACI,oBAAC,yDAAD,EAA4B;AACxB,iBAAS,EAAE,SADa;AAExB,oBAAY,EAAE,YAFU;AAGxB,oBAAY,EAAE,YAHU;AAIxB,iBAAS,EAAE,SAJa;AAKxB,cAAM,EAAE,MALgB;AAMxB,oBAAY,EAAE,YANU;AAOxB,gBAAQ,EAAE,QAPc;AAQxB,cAAM,EAAE;AARgB,OAA5B,CADJ,CADJ;AAaH;;;;EApBmD,KAAK,CAAC,S;;AAC5C,oDAAiB,4CAAjB;AADlB,gF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBA;;IAsBa,uC;;;;;;;;;;;;;6BAGI;AAAA,wBACoJ,KAAK,KADzJ;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,YADV,eACU,YADV;AAAA,UACwB,YADxB,eACwB,YADxB;AAAA,UACsC,SADtC,eACsC,SADtC;AAAA,UACiD,MADjD,eACiD,MADjD;AAAA,UACyD,YADzD,eACyD,YADzD;AAAA,UACuE,QADvE,eACuE,QADvE;AAAA,UACiF,MADjF,eACiF,MADjF;AAAA,UACyF,cADzF,eACyF,cADzF;AAAA,UACyG,cADzG,eACyG,cADzG;AAAA,UACyH,sBADzH,eACyH,sBADzH;AAGT,aACI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qDAAD,EAA0B;AACrB,iBAAS,EAAE,SADU;AAErB,oBAAY,EAAE,YAFO;AAGrB,oBAAY,EAAE,YAHO;AAIrB,iBAAS,EAAE,SAJU;AAKrB,cAAM,EAAE,MALa;AAMrB,oBAAY,EAAE,YANO;AAOrB,sBAAc,EAAE,cAPK;AAQrB,sBAAc,EAAE,cARK;AASrB,8BAAsB,EAAE,sBATH;AAUrB,gBAAQ,EAAE,QAVW;AAWrB,cAAM,EAAE;AAXa,OAA1B,CADJ,CADJ;AAgBH;;;;EAtBwD,KAAK,CAAC,S;;AACjD,yDAAiB,iDAAjB;AADlB,0F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBA;;AACA;;AAEA;;AACA;;AACA;;IAsBa,2B;;;;;AACT,uCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,qGAAM,KAAN;;AAsBI,mCAAyB,UAAC,UAAD,EAAuB;AAAA,UAC5C,SAD4C,GAC9B,MAAK,KADyB,CAC5C,SAD4C;AAEpD,UAAM,gBAAgB,GAAG,SAAS,CAAC,SAAV,CAAoB,UAAC,OAAD;AAAA,eAAa,OAAO,CAAC,MAAR,KAAmB,SAAS,CAAC,UAAD,CAAT,CAAsB,MAAtD;AAAA,OAApB,CAAzB;;AACA,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,gBAApB;AAAsC,uBAAe,EAAE;AAAvD,OAAd,EAAyF,YAAK;AAAG,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;AAAwC,OAAzI;;AACA;AACH,KALO;;AAOA,oCAA0B,YAAK;AACnC,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;;AACA;AACH,KAHO;;AAKA,8BAAoB,UAAC,iBAAD,EAA8B;AACtD,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KAFO;;AAUA,wBAAc,YAAK;AACvB,YAAK,MAAL,CAAY,SAAZ;;AACA,YAAK,YAAL,CAAkB,YAAlB,EAAgC,IAAhC;AACH,KAHO;;AAKA,yBAAe,UAAC,MAAD,EAAiB,aAAjB,EAA2C;AAC9D,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAA5C,EAAuD;AADO,UAEtD,QAFsD,GAEzC,MAAK,KAFoC,CAEtD,QAFsD;AAG9D,UAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAArB,GAA6B,QAAQ,CAAC,IAAT,KAAkB,SAAnB,GAAgC,UAAhC,GAA6C,QAAQ,CAAC,IAAlF,GAAyF,UAA9G;AACA,UAAM,QAAQ,GAAG,aAAa,mBAAY,MAAZ,cAA0B,YAA1B,cAA0C,MAA1C,CAA9B;AAEA,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,eADW;AAElB,6BAAqB,EAAE;AAFL,OAAtB;AAIH,KAVO;;AAhDJ,UAAK,KAAL,GAAa;AACT,qBAAe,EAAE,CADR;AAET,mBAAa,EAAE,KAFN;AAGT,sBAAgB,EAAE,CAHT;AAIT,uBAAiB,EAAE,KAJV;AAKT,uBAAiB,EAAE;AALV,KAAb;AAOA,UAAK,cAAL,GAAsB,MAAK,cAAL,CAAoB,IAApB,+BAAtB;AATa;AAUhB;;;;wCAIgB;AACb,cAAQ,CAAC,gBAAT,CAA0B,SAA1B,EAAqC,KAAK,cAA1C;AACH;;;2CAEmB;AAChB,cAAQ,CAAC,mBAAT,CAA6B,SAA7B,EAAwC,KAAK,cAA7C;AACH;;;mCAmBsB,C,EAAC;AACpB,UAAI,CAAC,CAAC,OAAF,KAAc,EAAlB,EAAsB;AAClB,aAAK,uBAAL;AACH;AACJ;;;6BAmBY;AAAA;;AAAA,wBACiD,KAAK,KADtD;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,YADV,eACU,YADV;AAAA,UACwB,YADxB,eACwB,YADxB;AAAA,UACsC,MADtC,eACsC,MADtC;AAAA,wBAE0F,KAAK,KAF/F;AAAA,UAED,aAFC,eAED,aAFC;AAAA,UAEc,gBAFd,eAEc,gBAFd;AAAA,UAEgC,eAFhC,eAEgC,eAFhC;AAAA,UAEiD,iBAFjD,eAEiD,iBAFjD;AAAA,UAEoE,iBAFpE,eAEoE,iBAFpE;AAIT,UAAM,mBAAmB,GAAG;AACxB,gBAAQ,EAAE,KADc;AAExB,aAAK,EAAE,GAFiB;AAGxB,oBAAY,EAAE,CAHU;AAIxB,sBAAc,EAAE,CAJQ;AAKxB,oBAAY,EAAE,gBALU;AAMxB,iBAAS,EAAE,KANa;AAOxB,WAAG,EAAE,IAPmB;AAQxB,oBAAY,EAAE,sBAAC,OAAD,EAAU,IAAV;AAAA,iBAAmB,MAAI,CAAC,QAAL,CAAc;AAAE,2BAAe,EAAE,IAAI,CAAC,GAAL,CAAS,IAAI,GAAG,SAAS,CAAC,MAAjB,GAA0B,CAAnC;AAAnB,WAAd,CAAnB;AAAA,SARU;AASxB,iBAAS,EAAE,oBAAC,eAAD,EAAgB;AAAC,yBAAe,EAAE,eAAlB;AAAmC,oBAAU,EAAE,SAAS,CAAC,MAAzD;AAAiE,sBAAY,EAAE,KAAK;AAApF,SAAhB,CATa;AAUxB,iBAAS,EAAE,oBAAC,eAAD,EAAgB;AAAC,yBAAe,EAAE,eAAlB;AAAmC,oBAAU,EAAE,SAAS,CAAC,MAAzD;AAAiE,sBAAY,EAAE,KAAK;AAApF,SAAhB;AAVa,OAA5B;AAaA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,YAAY,IAAI;AAAK,iBAAS,EAAC;AAAf,SAAuD;AAAK,iBAAS,EAAC;AAAf,SAAiC,YAAjC,CAAvD,CADrB,EAEK,aAAa,IAAI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE,KAAK;AAAxC,QAFtB,EAGI,oBAAC,6BAAD,EAAc;AACV,kBAAU,EAAE,GADF;AAEV,aAAK,EAAE,IAFG;AAGV,sBAAc,EAAE,SAAS,CAAC,MAHhB;AAIV,mBAAW,EAAE,EAJH;AAKV,yBAAiB,EAAE,iBALT;AAMV,yBAAiB,EAAE,iBANT;AAOV,iBAAS,EAAE,SAPD;AAQV,oBAAY,EAAE,KAAK;AART,OAAd,EAUK,SAAS,CAAC,GAAV,CAAc,UAAC,SAAD,EAAY,KAAZ,EAAqB;AAChC,eACI,oBAAC,mDAAD,EAAyB;AACrB,mBAAS,EAAE,SADU;AAErB,gCAAsB,EAAE,MAAI,CAAC,sBAFR;AAGrB,oBAAU,EAAE,KAHS;AAIrB,aAAG,EAAE,SAAS,CAAC,MAJM;AAKrB,2BAAiB,EAAE,MAAI,CAAC;AALH,SAAzB,CADJ;AASH,OAVA,CAVL,CAHJ,EAyBK,aAAa,IACV;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO,kBAAK,mBAAL,EAAwB;AAAE,iBAAS,EAAC,QAAZ;AAAqB,WAAG,EAAE,mBAAM;AAAA,iBAAK,MAAI,CAAC,MAAL,GAAc,MAAnB;AAAA;AAAhC,OAAxB,CAAP,EACK,SAAS,CAAC,GAAV,CAAc,UAAC,SAAD,EAAW,KAAX;AAAA,eACR,oBAAC,6CAAD,EAAsB;AACtB,mBAAS,EAAE,SADW;AAEtB,aAAG,EAAE,SAAS,CAAC,MAFO;AAGtB,yBAAe,EAAE,eAHK;AAItB,qBAAW,EAAE,MAAI,CAAC,WAJI;AAKtB,iCAAuB,EAAE,MAAI,CAAC,uBALR;AAMtB,gBAAM,EAAE,MANc;AAOtB,eAAK,EAAE;AAPe,SAAtB,CADQ;AAAA,OAAd,CADL,CADJ,CA1BR,CADJ;AA4CH;;;;EA5H4C,KAAK,CAAC,S;;AAAvD;;AA+HA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAA,MACtB,OADsB,GACqB,KADrB,CACtB,OADsB;AAAA,MACb,eADa,GACqB,KADrB,CACb,eADa;AAAA,MACI,YADJ,GACqB,KADrB,CACI,YADJ;AAE9B,MAAM,kBAAkB,GAAG,eAAe,KAAK,CAA/C;;AACA,MAAM,WAAW,GAAG,SAAd,WAAc,GAAK;AACrB,WAAO;AACP,gBAAY,CAAC,aAAD,EAAe,IAAf,CAAZ;AACH,GAHD;;AAKA,SACI;AACI,aAAS,iCAA0B,kBAAkB,GAAG,EAAH,GAAQ,eAApD,CADb;AAEI,WAAO,EAAE;AAFb,IADJ;AAMH,CAdD;;AAgBA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAU;AAAA,MACtB,OADsB,GACiC,KADjC,CACtB,OADsB;AAAA,MACb,eADa,GACiC,KADjC,CACb,eADa;AAAA,MACI,UADJ,GACiC,KADjC,CACI,UADJ;AAAA,MACgB,YADhB,GACiC,KADjC,CACgB,YADhB;AAE9B,MAAM,kBAAkB,GAAI,eAAe,GAAG,CAAnB,KAA0B,UAArD;;AACA,MAAM,WAAW,GAAG,SAAd,WAAc,GAAK;AACrB,WAAO;AACP,gBAAY,CAAC,YAAD,EAAc,IAAd,CAAZ;AACH,GAHD;;AAIA,SACI;AACI,aAAS,iCAA0B,kBAAkB,GAAG,EAAH,GAAQ,eAApD,CADb;AAEI,WAAO,EAAE;AAFb,IADJ;AAMH,CAbD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC7Ja,wB;;;;;AACT,oCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,kGAAM,KAAN;;AAQI,yBAAe,YAAK;AAAA,wBACkB,MAAK,KADvB;AAAA,UAChB,UADgB,eAChB,UADgB;AAAA,UACJ,iBADI,eACJ,iBADI;;AAExB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;;AACA,uBAAiB,CAAC,UAAD,CAAjB;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,IAAd;AAEtB,KANO;;AAQA,yBAAe,YAAK;AACxB,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,KAAd;AACtB,KAHO;;AAKA,oCAA0B,UAAC,OAAD,EAAoB;AAClD,UAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAW,OAAO,GAAG,EAArB,EAAyB,QAAzB,GAAoC,QAApC,CAA6C,CAA7C,EAAgD,GAAhD,CAAhB;AACA,UAAM,UAAU,GAAG,CAAC,OAAO,GAAG,EAAX,EAAe,QAAf,GAA0B,QAA1B,CAAmC,CAAnC,EAAsC,GAAtC,CAAnB;AACA,uBAAU,OAAV,cAAqB,UAArB;AACH,KAJO;;AApBJ,UAAK,KAAL,GAAa;AACT,kBAAY,EAAE;AADL,KAAb;AAFa;AAKhB;;;;6BAuBY;AAAA;;AAAA,UACD,YADC,GACgB,KAAK,KADrB,CACD,YADC;AAAA,yBAEiD,KAAK,KAFtD;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,sBAFV,gBAEU,sBAFV;AAAA,UAEkC,UAFlC,gBAEkC,UAFlC;AAAA,UAGD,KAHC,GAGgB,SAHhB,CAGD,KAHC;AAAA,UAGM,KAHN,GAGgB,SAHhB,CAGM,KAHN;AAAA,UAID,QAJC,GAI+B,KAJ/B,CAID,QAJC;AAAA,UAIS,MAJT,GAI+B,KAJ/B,CAIS,MAJT;AAAA,UAIiB,SAJjB,GAI+B,KAJ/B,CAIiB,SAJjB;AAKT,UAAM,kBAAkB,GAAG,YAAY,IAAI,SAA3C;AACA,UAAM,WAAW,sBAAe,kBAAkB,GAAG,SAAH,GAAe,EAAhD,CAAjB;AAEA,aACI;AAAK,iBAAS,EAAE,WAAhB;AAA6B,oBAAY,EAAE,KAAK,YAAhD;AAA8D,oBAAY,EAAE,KAAK,YAAjF;AAA+F,eAAO,EAAE;AAAA,iBAAM,sBAAsB,CAAC,UAAD,CAA5B;AAAA;AAAxG,SACK,YAAY,GACT;AACI,gBAAQ,EAAE,IADd;AAEI,YAAI,EAAE,IAFV;AAGI,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,QAAL,GAAgB,IAApB;AAAA,SAHZ;AAII,aAAK,MAJT;AAKI,cAAM,EAAE,MALZ;AAMI,iBAAS,EAAC,YANd;AAM2B,WAAG,EAAE;AANhC,QADS,GAUT;AACI,WAAG,EAAE,MADT;AAEI,WAAG,EAAC;AAFR,QAXR,EAeI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B;AAAM,iBAAS,EAAC;AAAhB,QAA/B,E,GAAA,EAAsE,kCAAO,KAAK,uBAAL,CAA6B,IAAI,CAAC,KAAL,CAAW,QAAX,CAA7B,CAAP,CAAtE,CAFJ,CAfJ,CADJ;AAsBH;;;;EA3DyC,KAAK,CAAC,S;;AAApD,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICIa,6B;;;;;AACT,yCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,uGAAM,KAAN;;AAkBI,qCAA2B,YAAK;AAAA,wBACwC,MAAK,KAD7C;AAAA,UAC5B,oBAD4B,eAC5B,oBAD4B;AAAA,UACN,UADM,eACN,UADM;AAAA,UACM,6BADN,eACM,6BADN;;AAEpC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;;AACA,mCAA6B,CAAC,UAAD,CAA7B;AACA,0BAAoB,CAAC,UAAD,CAApB;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,IAAd;AACtB,KANO;;AAQA,iCAAuB,YAAK;AAChC,YAAK,QAAL,CAAc;AAAE,sBAAc,EAAE;AAAlB,OAAd;;AACA,UAAI,MAAK,QAAT,EAAmB,MAAK,QAAL,CAAc,KAAd;AACtB,KAHO;;AAKA,oCAA0B,UAAC,OAAD,EAAoB;AAClD,UAAM,OAAO,GAAG,IAAI,CAAC,KAAL,CAAW,OAAO,GAAG,EAArB,EAAyB,QAAzB,GAAoC,QAApC,CAA6C,CAA7C,EAAgD,GAAhD,CAAhB;AACA,UAAM,UAAU,GAAG,CAAC,OAAO,GAAG,EAAX,EAAe,QAAf,GAA0B,QAA1B,CAAmC,CAAnC,EAAsC,GAAtC,CAAnB;AACA,uBAAU,OAAV,cAAqB,UAArB;AACH,KAJO;;AAMA,yBAAe,YAAK;AACxB,YAAK,oBAAL,GAA4B,IAAI,oBAAJ,CAAyB,eAAK,EAAG;AACzD,aAAK,CAAC,CAAD,CAAL,CAAS,cAAT,GAA0B,MAAK,wBAAL,EAA1B,GAA4D,MAAK,oBAAL,EAA5D;AACH,OAF2B,EAEzB;AAAE,iBAAS,EAAE;AAAb,OAFyB,CAA5B;;AAGA,YAAK,oBAAL,CAA0B,OAA1B,CAAkC,MAAK,OAAvC;AACH,KALO;;AApCJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE;AADP,KAAb;AAFa;AAKhB;;;;wCAMgB;AACb,WAAK,YAAL;AACH;;;2CAEmB;AAChB,WAAK,oBAAL,IAA6B,KAAK,oBAAL,CAA0B,UAA1B,EAA7B;AACH;;;6BA4BY;AAAA;;AAAA,UACD,cADC,GACkB,KAAK,KADvB,CACD,cADC;AAAA,yBAE+D,KAAK,KAFpE;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,sBAFV,gBAEU,sBAFV;AAAA,UAEkC,UAFlC,gBAEkC,UAFlC;AAAA,UAE8C,YAF9C,gBAE8C,YAF9C;AAAA,UAGD,KAHC,GAGgB,SAHhB,CAGD,KAHC;AAAA,UAGM,KAHN,GAGgB,SAHhB,CAGM,KAHN;AAAA,UAID,QAJC,GAI+B,KAJ/B,CAID,QAJC;AAAA,UAIS,MAJT,GAI+B,KAJ/B,CAIS,MAJT;AAAA,UAIiB,SAJjB,GAI+B,KAJ/B,CAIiB,SAJjB;AAKT,UAAM,kBAAkB,GAAG,cAAc,IAAI,SAA7C;AACA,UAAM,WAAW,sBAAe,kBAAkB,GAAG,QAAH,GAAc,EAA/C,CAAjB;AAEA,aACI;AACI,iBAAS,EAAE,WADf;AAEI,eAAO,EAAE;AAAA,iBAAM,sBAAsB,CAAC,UAAD,CAA5B;AAAA,SAFb;AAGI,WAAG,EAAE,iBAAG;AAAA,iBAAI,MAAI,CAAC,OAAL,GAAe,IAAnB;AAAA;AAHZ,SAKK,kBAAkB,GACf;AACI,gBAAQ,EAAE,IADd;AAEI,YAAI,EAAE,KAFV;AAGI,WAAG,EAAE,kBAAG;AAAA,iBAAI,MAAI,CAAC,QAAL,GAAgB,KAApB;AAAA,SAHZ;AAII,aAAK,MAJT;AAKI,cAAM,EAAE,MALZ;AAMI,eAAO,EAAE,YANb;AAOI,iBAAS,EAAC,YAPd;AAO2B,WAAG,EAAE,SAPhC;AAQI,mBAAW,MARf;AAQe;AARf,QADe,GAaf;AACI,WAAG,EAAE,MADT;AAEI,WAAG,EAAC;AAFR,QAlBR,EAsBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B;AAAM,iBAAS,EAAC;AAAhB,QAA/B,E,GAAA,EAAsE,kCAAO,KAAK,uBAAL,CAA6B,IAAI,CAAC,KAAL,CAAW,QAAX,CAA7B,CAAP,CAAtE,CAFJ,CAtBJ,CADJ;AA6BH;;;;EAnF8C,KAAK,CAAC,S;;AAAzD,sE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;;AACA;;AACA;;AACA;;AAGA;;AACA;;IA0Ba,yB;;;;;AACT,qCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,mGAAM,KAAN;;AA4BI,mCAAyB,UAAC,UAAD,EAAuB;AAAA,UAC5C,SAD4C,GAC9B,MAAK,KADyB,CAC5C,SAD4C;AAEpD,UAAM,gBAAgB,GAAG,SAAS,CAAC,SAAV,CAAoB,UAAC,OAAD;AAAA,eAAa,OAAO,CAAC,MAAR,KAAmB,SAAS,CAAC,UAAD,CAAT,CAAsB,MAAtD;AAAA,OAApB,CAAzB;;AACA,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,gBAApB;AAAsC,uBAAe,EAAE;AAAvD,OAAd,EAAyF,YAAK;AAAG,cAAK,QAAL,CAAc;AAAE,uBAAa,EAAE;AAAjB,SAAd;AAAwC,OAAzI;;AACA;AACH,KALO;;AAOA,gCAAsB,YAAK;AAC/B,YAAK,QAAL,CAAc;AAAE,wBAAgB,EAAE,CAApB;AAAuB,uBAAe,EAAE,CAAxC;AAA2C,qBAAa,EAAE;AAA1D,OAAd;AACH,KAFO;;AAIA,oCAA0B,YAAK;AACnC,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;;AACA;AACH,KAHO;;AAKA,yBAAe,YAAK;AACxB,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE,CAAC,MAAK,KAAL,CAAW;AAAjC,OAAd;AACH,KAFO;;AAIA,iCAAuB,UAAC,iBAAD,EAA8B;AACzD,YAAK,QAAL,CAAc;AAAE,yBAAiB,EAAE;AAArB,OAAd;AACH,KAFO;;AAGA,0CAAgC,UAAC,cAAD,EAA2B;AAC/D,YAAK,QAAL,CAAc;AAAE,iCAAyB,EAAE;AAA7B,OAAd;AACH,KAFO;;AAIA,iCAAuB,YAAK;AAChC,gBAAU,CAAC,YAAK;AACZ,YAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,kIAAvB,CAArB;;AACA,YAAI,YAAJ,EAAkB;AACd,sBAAY,CAAC,WAAb,GAA2B,CAA3B;AACA,sBAAY,CAAC,KAAb;AACH;;AAAA;AACJ,OANS,EAMP,GANO,CAAV;AAOH,KARO;;AAUA,wBAAc,YAAK;AACvB,YAAK,SAAL,CAAe,SAAf;;AACA,YAAK,YAAL,CAAkB,UAAlB,EAA8B,IAA9B;AACH,KAHO;;AAKA,yBAAe,UAAC,MAAD,EAAiB,aAAjB,EAA2C;AAC9D,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAA5C,EAAuD;AADO,UAEtD,QAFsD,GAEzC,MAAK,KAFoC,CAEtD,QAFsD;AAG9D,UAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAArB,GAA6B,QAAQ,CAAC,IAAT,KAAkB,SAAnB,GAAgC,UAAhC,GAA6C,QAAQ,CAAC,IAAlF,GAAyF,UAA9G;AACA,UAAM,QAAQ,GAAG,aAAa,mBAAY,MAAZ,cAA0B,YAA1B,cAA0C,MAA1C,CAA9B;AAEA,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,eADW;AAElB,6BAAqB,EAAE;AAFL,OAAtB;AAIH,KAVO;;AArEJ,UAAK,KAAL,GAAa;AACT,sBAAgB,EAAE,CADT;AAET,qBAAe,EAAE,CAFR;AAGT,mBAAa,EAAE,KAHN;AAIT,uBAAiB,EAAE,KAJV;AAKT,uBAAiB,EAAE,CALV;AAMT,wBAAkB,EAAE,GANX;AAOT,+BAAyB,EAAE;AAPlB,KAAb;AAFa;AAWhB;;;;wCAOgB;AAAA;;AACb,WAAK,cAAL,GAAsB,IAAI,cAAJ,CAAmB,iBAAO;AAAA,eAAI,OAAO,CAAC,OAAR,CAAgB,WAAC,EAAG;AACpE,gBAAI,CAAC,QAAL,CAAc;AAAE,8BAAkB,EAAE,CAAC,CAAC,WAAF,CAAc;AAApC,WAAd;AACH,SAFmD,CAAJ;AAAA,OAA1B,CAAtB;AAGA,WAAK,cAAL,CAAoB,OAApB,CAA4B,KAAK,mBAAjC;AACH;;;2CAEmB;AAChB,WAAK,cAAL,IAAuB,KAAK,cAAL,CAAoB,UAApB,EAAvB;AACH;;;6BAwDY;AAAA;;AAAA,wBACiF,KAAK,KADtF;AAAA,UACD,SADC,eACD,SADC;AAAA,UACU,YADV,eACU,YADV;AAAA,UACwB,YADxB,eACwB,YADxB;AAAA,UACsC,cADtC,eACsC,cADtC;AAAA,UACsD,cADtD,eACsD,cADtD;AAAA,UACsE,MADtE,eACsE,MADtE;AAAA,wBAEyI,KAAK,KAF9I;AAAA,UAED,aAFC,eAED,aAFC;AAAA,UAEc,gBAFd,eAEc,gBAFd;AAAA,UAEgC,eAFhC,eAEgC,eAFhC;AAAA,UAEiD,iBAFjD,eAEiD,iBAFjD;AAAA,UAEoE,iBAFpE,eAEoE,iBAFpE;AAAA,UAEuF,kBAFvF,eAEuF,kBAFvF;AAAA,UAE2G,yBAF3G,eAE2G,yBAF3G;AAGT,UAAM,oBAAoB,GAAG,GAA7B;AACA,UAAM,UAAU,GAAI,kBAAkB,GAAG,GAAtB,GAA6B,oBAAhD;AACA,UAAM,mBAAmB,GAAG;AACxB,gBAAQ,EAAE,KADc;AAExB,aAAK,EAAE,GAFiB;AAGxB,oBAAY,EAAE,CAHU;AAIxB,sBAAc,EAAE,CAJQ;AAKxB,oBAAY,EAAE,gBALU;AAMxB,gBAAQ,EAAE,KANc;AAOxB,gBAAQ,EAAE,IAPc;AAQxB,eAAO,EAAE,mBAAK;AAAG,gBAAI,CAAC,oBAAL;AAA6B,SARtB;AASxB,uBAAe,EAAE,IATO;AAUxB,oBAAY,EAAE,sBAAC,OAAD,EAAU,IAAV,EAAkB;AAC5B,cAAM,kBAAkB,GAAG,IAAI,GAAG,OAAP,GAAiB,IAAjB,GAAwB,MAAnD;;AACA,gBAAI,CAAC,YAAL,iBAA2B,kBAA3B,GAAiD,IAAjD;AACH,SAbuB;AAcxB,mBAAW,EAAE,qBAAC,OAAD,EAAY;AACrB,gBAAI,CAAC,QAAL,CAAc;AAAE,2BAAe,EAAE;AAAnB,WAAd;;AACA,gBAAI,CAAC,oBAAL;AACH;AAjBuB,OAA5B;AAoBA,aACI;AAAK,iBAAS,EAAC,kCAAf;AAAkD,WAAG,EAAE,gCAAmB;AAAA,iBAAK,MAAI,CAAC,mBAAL,GAA2B,mBAAhC;AAAA;AAA1E,SACK,aAAa,GACV;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,qBAAD,EAAO,kBAAK,mBAAL,EAAwB;AAAE,iBAAS,EAAC,QAAZ;AAAqB,WAAG,EAAE,aAAC,SAAD;AAAA,iBAAgB,MAAI,CAAC,SAAL,GAAiB,SAAjC;AAAA;AAA1B,OAAxB,CAAP,EACK,SAAS,CAAC,GAAV,CAAc,UAAC,SAAD,EAAY,KAAZ,EAAqB;AAChC,YAAM,YAAY,GAAG,KAAK,KAAK,SAAS,CAAC,MAAV,GAAmB,CAA7B,GAAiC,MAAjC,GAA0C,EAA/D;AACA,eACI,oBAAC,uDAAD,EAA2B;AACvB,mBAAS,EAAE,SADY;AAEvB,aAAG,EAAE,SAAS,CAAC,MAFQ;AAGvB,0BAAgB,EAAE,gBAHK;AAIvB,yBAAe,EAAE,eAJM;AAKvB,mBAAS,EAAE,KALY;AAMvB,iCAAuB,EAAE,MAAI,CAAC,uBANP;AAOvB,sBAAY,EAAE,YAPS;AAQvB,qBAAW,EAAE,MAAI,CAAC,WARK;AASvB,gBAAM,EAAE,MATe;AAUvB,eAAK,EAAE;AAVgB,SAA3B,CADJ;AAaH,OAfA,CADL,CADJ,CADU,GAsBV,0CACK,YAAY,IAAI;AAAK,iBAAS,EAAC;AAAf,SAAuD;AAAK,iBAAS,EAAC;AAAf,SAAiC,YAAjC,CAAvD,CADrB,EAEI,oBAAC,6BAAD,EAAc;AACV,kBAAU,EAAE,UADF;AAEV,aAAK,EAAE,GAFG;AAGV,sBAAc,EAAE,SAAS,CAAC,MAHhB;AAIV,mBAAW,EAAE,CAJH;AAKV,yBAAiB,EAAE,iBALT;AAMV,yBAAiB,EAAE,iBANT;AAOV,iBAAS,EAAE,SAPD;AAQV,mBAAW,EAAE,IARH;AASV,oBAAY,EAAE,KAAK;AATT,OAAd,EAWK,SAAS,CAAC,GAAV,CAAc,UAAC,SAAD,EAAY,KAAZ,EAAqB;AAChC,eACI,oBAAC,6DAAD,EAA8B;AAC1B,mBAAS,EAAE,SADe;AAE1B,gCAAsB,EAAE,MAAI,CAAC,sBAFH;AAG1B,oBAAU,EAAE,KAHc;AAI1B,aAAG,EAAE,SAAS,CAAC,MAJW;AAK1B,sBAAY,EAAE,MAAI,CAAC,YALO;AAM1B,8BAAoB,EAAE,MAAI,CAAC,oBAND;AAO1B,uCAA6B,EAAE,MAAI,CAAC,6BAPV;AAQ1B,mCAAyB,EAAE,yBARD;AAS1B,sBAAY,EAAE,MAAI,CAAC;AATO,SAA9B,CADJ;AAaH,OAdA,CAXL,CAFJ,EA6BK,CAAC,cAAD,IAAmB;AAAK,iBAAS,EAAC,YAAf;AAA4B,eAAO,EAAE,KAAK;AAA1C,SAAgE,cAAhE,CA7BxB,CAvBR,CADJ;AA0DH;;;;EAvK0C,KAAK,CAAC,S;;AAArD,8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChCA;;AACA;;AAEA;;AACA;;AAgBA,IAAM,IAAI,GAAG;AACT,UAAQ,EAAE,YADD;AAET,YAAU,EAAE,2BAFH;AAGT,aAAW,EAAE;AAHJ,CAAb;;IAKa,qB;;;;;AACT,iCAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,+FAAM,KAAN;;AAiBI,+BAAqB,UAAC,KAAD,EAAsB;AAC/C,UAAK,KAAK,CAAC,MAAN,CAAyB,SAAzB,CAAmC,QAAnC,CAA4C,aAA5C,CAAL,EAAiE,MAAK,KAAL,CAAW,uBAAX;AACpE,KAFO;;AAwBA,6BAAmB,UAAC,CAAD,EAAM;AAC7B,OAAC,CAAC,MAAF,CAAS,WAAT,GAAuB,CAAvB;AACA,OAAC,CAAC,MAAF,CAAS,KAAT;;AACA,YAAK,KAAL,CAAW,WAAX;AACH,KAJO;;AAyBA,+BAAqB,YAAK;AAC9B,YAAK,QAAL,CAAc;AAAE,2BAAmB,EAAE,CAAC,MAAK,KAAL,CAAW;AAAnC,OAAd;AACH,KAFO;;AAIA,kCAAwB,UAAC,MAAD,EAAmB;AAC/C,YAAK,QAAL,CAAc;AAAE,2BAAmB,EAAE;AAAvB,OAAd;;AAD+C,wBAEjB,MAAK,KAFY;AAAA,UAEvC,MAFuC,eAEvC,MAFuC;AAAA,UAE/B,SAF+B,eAE/B,SAF+B;;AAI/C,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,OAAO,aAAM,MAAN,oBAAuB,SAAS,CAAC,KAAV,CAAkC,WAAzD,CAAb;;AAEA,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,OAAlB,EAA2B,EAA3B;AACA;;AACJ,eAAK,IAAL;AACI,4CAAiB,OAAjB;AACA;;AACJ,eAAK,IAAL;AACI,sDAAoB,iBAApB,CAAsC,OAAtC;AACA;AATR;AAWH;AACJ,KAnBO;;AAqBA,yBAAe,YAAK;AACxB,UAAI,OAAO,MAAP,IAAiB,WAAjB,IAAgC,CAAC,MAAM,CAAC,SAA5C,EAAuD;AAD/B,UAEhB,KAFgB,GAEN,MAAK,KAFC,CAEhB,KAFgB;AAIxB,YAAM,CAAC,SAAP,CAAiB,IAAjB,CAAsB;AAClB,aAAK,EAAE,eADW;AAElB,uBAAe,EAAE,gBAFC;AAGlB,oBAAY,EAAE,YAHI;AAIlB,6BAAqB,EAAE,KAJL;AAKlB,kBAAU,EAAC;AALO,OAAtB;AAOH,KAXO;;AA1FJ,UAAK,KAAL,GAAa;AACT,oBAAc,EAAE,KADP;AAET,yBAAmB,EAAE;AAFZ,KAAb;AAFa;AAMhB;;;;wCAEgB;AACb,WAAK,6BAAL;AACA,cAAQ,CAAC,gBAAT,CAA0B,OAA1B,EAAmC,KAAK,kBAAxC;AACH;;;2CAEmB;AAChB,WAAK,yBAAL;AACA,cAAQ,CAAC,mBAAT,CAA6B,OAA7B,EAAsC,KAAK,kBAA3C;AACH;;;oDAMoC;AAAA;;AACjC,gBAAU,CAAC,YAAK;AACZ,YAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,6GAA1B,CAAtB;;AACA,YAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,uBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,mBAAO,CAAC,gBAAR,CAAyB,OAAzB,EAAkC,MAAI,CAAC,gBAAvC;AACH,WAFD;AAGH;;AAAA;AACJ,OAPS,EAOP,GAPO,CAAV;AAQH;;;gDAEgC;AAAA;;AAC7B,UAAM,aAAa,GAAG,QAAQ,CAAC,gBAAT,CAA0B,6GAA1B,CAAtB;;AACA,UAAI,aAAa,CAAC,MAAlB,EAA0B;AACtB,qBAAa,CAAC,OAAd,CAAsB,UAAC,OAAD,EAAY;AAC9B,iBAAO,CAAC,mBAAR,CAA4B,OAA5B,EAAqC,MAAI,CAAC,gBAA1C;AACH,SAFD;AAGH;;AAAA;AACJ;;;uCAQkB,S,EAAW,S,EAAS;AACnC,UAAI,SAAS,CAAC,eAAV,KAA8B,KAAK,KAAL,CAAW,eAA7C,EAA8D;AAC1D,kBAAU,CAAC,YAAK;AACZ,cAAM,YAAY,GAAG,QAAQ,CAAC,aAAT,CAAuB,wHAAvB,CAArB;AACA,cAAM,oBAAoB,GAAG,QAAQ,CAAC,aAAT,CAAuB,2IAAvB,CAA7B;;AACA,cAAI,YAAJ,EAAkB;AACd,sBAAU,CAAC,YAAK;AACZ,kBAAI,YAAY,CAAC,MAAjB,EAAyB;AACrB,4BAAY,CAAC,KAAb;AACA,4BAAY,CAAC,WAAb,GAA2B,CAA3B;AACA,4BAAY,CAAC,IAAb;AACH;AACJ,aANS,EAMP,GANO,CAAV;AAOH;;AAAA;AACD,cAAI,oBAAJ,EAA0B,oBAAoB,CAAC,KAArB;AAC7B,SAbS,EAaP,GAbO,CAAV;AAcH;AACJ;;;6BAwCY;AAAA;;AAAA,UACD,mBADC,GACuB,KAAK,KAD5B,CACD,mBADC;AAAA,yBAEqB,KAAK,KAF1B;AAAA,UAED,SAFC,gBAED,SAFC;AAAA,UAEU,MAFV,gBAEU,MAFV;AAAA,UAGD,KAHC,GAG4C,SAH5C,CAGD,KAHC;AAAA,UAGM,KAHN,GAG4C,SAH5C,CAGM,KAHN;AAAA,UAGa,SAHb,GAG4C,SAH5C,CAGa,SAHb;AAAA,UAGwB,eAHxB,GAG4C,SAH5C,CAGwB,eAHxB;AAIT,UAAM,WAAW,GAAI,SAAS,CAAC,KAAV,CAAkC,WAAvD;AACA,UAAM,iBAAiB,aAAM,MAAN,oBAAsB,WAAtB,CAAvB;AAEA,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,WAAW,IACR;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,UAAf;AAA0B,eAAO,EAAE,KAAK;AAAxC,QADJ,EAEK,mBAAmB,IAChB;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA1C,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B,UAA/B,CAFJ,CADJ,EAKI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA1C,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B,UAA/B,CAFJ,CALJ,EASI;AAAK,iBAAS,EAAC,gBAAf;AAAgC,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA1C,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAA+B,SAA/B,CAFJ,CATJ,EAaI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,iCAAD,EAAgB;AAAC,iBAAS,EAAE,IAAI,CAAC,UAAjB;AAA6B,aAAK,EAAE,KAApC;AAA2C,WAAG,EAAE;AAAhD,OAAhB,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SAAiC,IAAI,CAAC,QAAtC,CAFJ,CAbJ,CAHR,CAFR,EA0BI,oBAAC,iCAAD,EAAgB;AACZ,YAAI,EAAE,KADM;AAEZ,uBAAe,EAAE,IAFL;AAGZ,aAAK,EAAE,GAHK;AAIZ,cAAM,EAAE,GAJI;AAKZ,oBAAY,EAAE,IALF;AAMZ,qBAAa,EAAE,IANH;AAOZ,+BAAuB,EAAE;AAPb,OAAhB,CA1BJ,EAkCI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,YAAf;AAA4B,+BAAuB,EAAE;AAAE,gBAAM,EAAE;AAAV;AAArD,QADJ,CAlCJ,CADJ;AAwCH;;;;EAzJsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;;AAEA;;AACA;;IASa,qB;;;;;;;;;;;;;6BAGI;AAAA,wBAC4C,KAAK,KADjD;AAAA,UACD,KADC,eACD,KADC;AAAA,UACM,YADN,eACM,YADN;AAAA,UACoB,WADpB,eACoB,WADpB;AAAA,UACiC,MADjC,eACiC,MADjC;AAAA,UAED,KAFC,GAEuB,KAFvB,CAED,KAFC;AAAA,UAEM,YAFN,GAEuB,KAFvB,CAEM,YAFN;AAAA,UAGD,WAHC,GAGwD,KAHxD,CAGD,WAHC;AAAA,UAGY,MAHZ,GAGwD,KAHxD,CAGY,MAHZ;AAAA,UAGoB,SAHpB,GAGwD,KAHxD,CAGoB,SAHpB;AAAA,UAG+B,OAH/B,GAGwD,KAHxD,CAG+B,OAH/B;AAAA,UAGwC,WAHxC,GAGwD,KAHxD,CAGwC,WAHxC;AAIT,UAAM,IAAI,GAAG,YAAY,CAAC,KAAb,CAAmB,GAAnB,EAAwB,CAAxB,CAAb;AACA,UAAM,kBAAkB,2BAAoB,WAAW,KAAK,MAAhB,GAAyB,UAAzB,GAAqC,EAAzD,CAAxB;AAEA,aACI;AAAK,iBAAS,EAAE;AAAhB,SACI;AAAK,iBAAS,EAAC;AAAf,SACK,CAAC,WAAD,IAAgB;AAAK,iBAAS,EAAC;AAAf,SAAwC,YAAxC,CADrB,EAEI;AAAK,iBAAS,EAAC;AAAf,SAAqC,SAArC,CAFJ,EAGI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAM,iBAAS,EAAC;AAAhB,SAAuC,MAAvC,CADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,QAFJ,EAGI,oBAAC,yBAAD,EAAY;AAAC,YAAI,EAAE,WAAP;AAAoB,iBAAS,EAAE;AAA/B,OAAZ,CAHJ,CADJ,EAMI,oBAAC,iDAAD,EAAwB;AACpB,0BAAkB,EAAE,oBADA;AAEpB,cAAM,EAAE,MAFY;AAGpB,iBAAS,EAAE,OAHS;AAIpB,oBAAY,EAAE,KAJM;AAKpB,YAAI,EAAE,IALc;AAMpB,mBAAW,EAAE,WANO;AAOpB,aAAK,EAAE,SAPa;AAQpB,cAAM,EAAE;AARY,OAAxB,CANJ,CAHJ,CADJ,EAqBI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,iCAAD,EAAgB;AACZ,YAAI,EAAE,KADM;AAEZ,uBAAe,EAAE,IAFL;AAGZ,oBAAY,EAAE,KAHF;AAIZ,qBAAa,EAAE,IAJH;AAKZ,+BAAuB,EAAE;AALb,OAAhB,CADJ,CArBJ,CADJ;AAiCH;;;;EA3CsC,KAAK,CAAC,S;;AAC/B,uCAAiB,uBAAjB;AADlB,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;;AACA;;AACA;;AACA;;AACA,IAAM,YAAY,GAAG,mBAAO,CAAC,kDAAD,CAA5B;;AAkBA,IAAa,uBAAb;AAAA;AAAA;AAAA;;AAEI;AAAA;;AAAA;;AACI;;AAMI,+BAAqB,YAAK;AAC9B,YAAK,QAAL,CAAc;AACV,oBAAY,EAAE;AADJ,OAAd;AAGH,KAJO;;AAMA,kCAAwB,UAAC,MAAD,EAAmB;AAAA,wBACvB,MAAK,KADkB;AAAA,UACvC,IADuC,eACvC,IADuC;AAAA,UACjC,KADiC,eACjC,KADiC;;AAE/C,YAAK,QAAL,CAAc;AAAE,oBAAY,EAAE;AAAhB,OAAd;;AACA,UAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAM,WAAW,GAAG,MAAM,CAAC,QAAP,CAAgB,IAApC;;AAEA,gBAAQ,MAAR;AACI,eAAK,IAAL;AACI,6CAAkB,WAAlB,EAA+B,EAA/B;AACA;;AACJ,eAAK,IAAL;AACI,4CAAiB,WAAjB;AACA;;AACJ,eAAK,QAAL;AACI,8CAAgB,aAAhB,CAA8B,KAA9B,EAAqC,WAArC,EAAkD,IAAlD;AACA;;AACJ,eAAK,IAAL;AACI,sDAAoB,iBAApB,CAAsC,WAAtC;AACA;AAZR;AAcH;AACJ,KArBO;;AAuBA;AAAA;AAAA;AAAA;AAAA,4BAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AACR,oBADQ,GACG,MAAK,KADR,CACR,MADQ;AAEV,yBAFU,aAEO,MAAM,CAAC,QAAP,CAAgB,IAFvB,yBAE0C,MAF1C;AAGV,uBAHU,GAGE;AAAE,mBAAG,EAAE;AAAP,eAHF;AAAA;AAAA;AAAA,qBAMN,SAAS,CAAC,KAAV,CAAgB,SAAhB,CANM;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAQZ,qBAAO,CAAC,GAAR,CAAY,6BAAZ;;AARY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAZ;AAlCJ,UAAK,KAAL,GAAa;AACT,kBAAY,EAAE;AADL,KAAb;AAFJ;AAKC;;AAPL;AAAA;AAAA,6BAkDU;AAAA;;AAAA,yBAC6B,KAAK,KADlC;AAAA,UACM,KADN,gBACM,KADN;AAAA,UACa,WADb,gBACa,WADb;AAEF,UAAM,KAAK,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAM,CAAC,QAAP,CAAgB,IAAhB,CAAqB,OAArB,CAA6B,OAA7B,KAAyC,CAAC,CAAzF;AACA,UAAM,IAAI,GAAG;AACT,UAAE,EAAE;AACA,kBAAQ,EAAE,YADV;AAEA,gBAAM,EAAE,eAFR;AAGA,gBAAM,EAAE,mBAHR;AAIA,gBAAM,EAAE;AAJR;AADK,OAAb;AAHE,qBAWmD,IAXnD,CAWM,EAXN;AAAA,UAWY,QAXZ,YAWY,QAXZ;AAAA,UAWsB,MAXtB,YAWsB,MAXtB;AAAA,UAW8B,MAX9B,YAW8B,MAX9B;AAAA,UAWsC,MAXtC,YAWsC,MAXtC;AAaF,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,KAAK,GACF,0CACI;AAAG,YAAI,EAAC;AAAR,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CADJ,EAII;AAAG,YAAI,EAAC;AAAR,SACI;AAAM,iBAAS,EAAC;AAAhB,QADJ,CAJJ,CADE,GAUF,0CACI;AAAQ,aAAK,EAAE,MAAf;AAAuB,iBAAS,EAAC,kBAAjC;AAAoD,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA9D,QADJ,EAEK,WAAW,IAAI;AAAK,iBAAS,EAAC,wBAAf;AAAwC,eAAO,EAAE,KAAK;AAAtD,QAFpB,EAGK,CAAC,WAAD,IACG,0CACI;AAAQ,aAAK,EAAE,MAAf;AAAuB,iBAAS,EAAC,kBAAjC;AAAoD,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAA9D,QADJ,EAEI;AAAQ,aAAK,EAAE,MAAf;AAAuB,iBAAS,oBAAhC;AAAsD,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,IAA3B,CAAJ;AAAA;AAAhE,QAFJ,EAGI;AAAQ,aAAK,EAAE,QAAf;AAAyB,iBAAS,EAAC,sBAAnC;AAA0D,eAAO,EAAE,kBAAC;AAAA,iBAAI,MAAI,CAAC,qBAAL,CAA2B,QAA3B,CAAJ;AAAA;AAApE,QAHJ,EAII,oBAAC,iCAAD,EAAgB;AAAC,eAAO,EAAC,UAAT;AAAoB,iBAAS,EAAC,4EAA9B;AAA+C,aAAK,EAAE;AAAtD,OAAhB,CAJJ,CAJR,CAXR,CADJ;AA2BH;AA1FL;;AAAA;AAAA,EAA6C,KAAK,CAAC,SAAnD;;AACW,yCAAiB,yBAAjB;AADE,uBAAuB,eADnC,YACmC,E,mCAAA,GAAvB,uBAAuB,CAAvB;AAAA,0D;;;;;;;;;;;;;;;;;;;;;;;ACtBb;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAEA;AAAA,0BACoC,iBAAiB,CAAjB,CADpC;AAAA;AAAA,MACS,SADT;AAAA,MACoB,YADpB;;AAAA,2BAE4B,iBAAkB,IAAlB,CAF5B;AAAA;AAAA,MAES,KAFT;AAAA,MAEgB,QAFhB;;AAAA,2BAG0C,iBAAkB,IAAlB,CAH1C;AAAA;AAAA,MAGS,YAHT;AAAA,MAGuB,eAHvB;;AAAA,2BAI4C,iBAAiB,CAAjB,CAJ5C;AAAA;AAAA,MAIS,aAJT;AAAA,MAIwB,gBAJxB;;AAKE,MAAM,SAAS,GAAG,0BAAlB;AAEA,MAAI,WAAW,GAAQ,gBAAvB;;AAPF,4BAsBM,mBAAsB,gBAAtB,CAtBN;AAAA,MAUI,KAVJ,uBAUI,KAVJ;AAAA,MAWI,MAXJ,uBAWI,MAXJ;AAAA,MAYI,IAZJ,uBAYI,IAZJ;AAAA,MAaI,YAbJ,uBAaI,YAbJ;AAAA,MAcI,QAdJ,uBAcI,QAdJ;AAAA,MAeI,kBAfJ,uBAeI,kBAfJ;AAAA,MAgBI,cAhBJ,uBAgBI,cAhBJ;AAAA,kDAiBI,oBAjBJ;AAAA,MAiBI,oBAjBJ,sCAiB2B,EAjB3B;AAAA,MAkBI,eAlBJ,uBAkBI,eAlBJ;AAAA,MAmBI,UAnBJ,uBAmBI,UAnBJ;AAAA,MAoBI,MApBJ,uBAoBI,MApBJ;AAAA,MAqBI,YArBJ,uBAqBI,YArBJ;;AAAA,6BAuBsB,mBAAoC,iBAApC,CAvBtB;AAAA,MAuBU,OAvBV,wBAuBU,OAvBV;;AAwBE,8BAAa,OAAb,EAAsB,SAAtB,EAAiC,YAAjC;AAEA,oBAAU,YAAK;AACb,QAAI,OAAO,YAAP,KAAwB,QAA5B,EAAsC;AACpC,UAAI,YAAY,IAAI,CAAhB,IAAqB,YAAY,GAAG,OAAO,CAAC,MAAhD,EAAwD;AACtD,2BAAmB,CAAC;AAAA,iBAAM,YAAN;AAAA,SAAD,CAAnB;AACD,OAFD,MAEO;AACL,eAAO,CAAC,KAAR,CACE,4FADF,EAEE,YAFF;AAIC;AACF;AACJ,GAXD,EAWG,CAAC,YAAD,CAXH;AAcA,oBAAU,YAAK;AACb,QAAI,OAAO,QAAP,KAAoB,SAAxB,EAAmC;AACjC,cAAQ,CAAC,QAAD,CAAR;AACD;AACF,GAJD,EAIG,CAAC,QAAD,CAJH;AAMA,oBAAU,YAAK;AACb,QAAM,QAAQ,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAM,CAAC,QAAzD;;AACA,QACE,QAAQ,IACR,OAAO,kBAAP,KAA8B,SAD9B,IAEA,kBAHF,EAIE;AACA,cAAQ,CAAC,gBAAT,CAA0B,SAA1B,EAAqC,aAArC;AACA,aAAO,YAAK;AACV,gBAAQ,CAAC,mBAAT,CAA6B,SAA7B,EAAwC,aAAxC;AACD,OAFD;AAGD;AACF,GAZD,EAYG,CAAC,kBAAD,CAZH;;AAcA,MAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,CAAD,EAAqB;AACzC,QAAI,CAAC,CAAC,GAAF,KAAU,WAAd,EAA2B;AACzB,cAAQ;AACT,KAFD,MAEO,IAAI,CAAC,CAAC,GAAF,KAAU,YAAd,EAA4B;AACjC,UAAI,CAAC;AAAE,uBAAe,EAAE;AAAnB,OAAD,CAAJ;AACD;AACF,GAND;;AAQA,MAAM,WAAW,GAAG,SAAd,WAAc,CAAC,MAAD,EAAiB,YAAjB,EAA2C;AAC7D,YAAQ,CAAC,MAAM,KAAK,OAAZ,CAAR;AACA,mBAAe,CAAC,CAAC,CAAC,YAAH,CAAf;AACD,GAHD;;AAKA,MAAM,mBAAmB,GAAG,SAAtB,mBAAsB,CAAC,QAAD,EAAa;AACvC,gBAAY,CAAC,QAAQ,CAAC,SAAD,CAAT,CAAZ;AACA,eAAW,CAAC,OAAD,EAAU,IAAV,CAAX;AACD,GAHD;;AAKA,MAAM,QAAQ,GAAG,SAAX,QAAW,GAAK;AACpB,QAAI,UAAU,IAAI,SAAlB,EAA6B;AAC3B,gBAAU;AACX;;AACD,uBAAmB,CAAC,UAAC,IAAD;AAAA,aAAW,IAAI,GAAG,CAAP,GAAW,IAAI,GAAG,CAAlB,GAAsB,IAAjC;AAAA,KAAD,CAAnB;AACD,GALD;;AAOA,MAAM,IAAI,GAAG,SAAP,IAAO,CAAC,OAAD,EAA4C;AACvD,QAAI,MAAM,IAAI,SAAV,IAAuB,OAAvB,IAAkC,OAAO,CAAC,eAA9C,EAA+D;AAC7D,YAAM;AACP,KAHsD,CAIvD;;;AACA,QAAI,SAAS,EAAb,EAAiB;AACf,UAAI,IAAJ,EAAU;AACR,gCAAwB;AACzB,OAFD,MAEO;AACL,yBAAiB;AAClB;AACF;AACF,GAZD;;AAcA,MAAM,wBAAwB,GAAG,SAA3B,wBAA2B,GAAK;AACpC,uBAAmB,CAAC,UAAC,IAAD,EAAS;AAC3B,UAAI,IAAI,IAAI,OAAO,CAAC,MAAR,GAAiB,CAA7B,EAAgC;AAC9B,uBAAe,IAAI,eAAe,CAAC,SAAD,EAAY,OAAZ,CAAlC;AACD;;AACD,aAAO,CAAC,IAAI,GAAG,CAAR,IAAa,OAAO,CAAC,MAA5B;AACD,KALkB,CAAnB;AAMD,GAPD;;AASA,MAAM,iBAAiB,GAAG,SAApB,iBAAoB,GAAK;AAC7B,uBAAmB,CAAC,UAAC,IAAD,EAAS;AAC3B,UAAI,IAAI,GAAG,OAAO,CAAC,MAAR,GAAiB,CAA5B,EAA+B,OAAO,IAAI,GAAG,CAAd;AAC/B,qBAAe,IAAI,eAAe,CAAC,SAAD,EAAY,OAAZ,CAAlC;AACA,aAAO,IAAP;AACD,KAJkB,CAAnB;AAKD,GAND;;AAQA,MAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,CAAD,EAA2C;AAC/D,KAAC,CAAC,cAAF;AACA,eAAW,CAAC,OAAZ,GAAsB,UAAU,CAAC,YAAK;AACpC,iBAAW,CAAC,OAAD,CAAX;AACD,KAF+B,EAE7B,GAF6B,CAAhC;AAGD,GALD;;AAOA,MAAM,OAAO,GACX,SADI,OACJ,CAAC,IAAD;AAAA,WAAkB,UAAC,CAAD,EAA2C;AAC3D,OAAC,CAAC,cAAF;AACA,iBAAW,CAAC,OAAZ,IAAuB,YAAY,CAAC,WAAW,CAAC,OAAb,CAAnC;;AACA,UAAI,KAAJ,EAAW;AACT,mBAAW,CAAC,MAAD,CAAX;AACD,OAFD,MAEO;AACL,YAAI,KAAK,MAAT,GAAkB,IAAI,CAAC;AAAE,yBAAe,EAAE;AAAnB,SAAD,CAAtB,GAAoD,QAAQ,EAA5D;AACD;AACF,KARD;AAAA,GADF;;AAWA,MAAM,gBAAgB,GAAG,SAAnB,gBAAmB,CAAC,QAAD,EAAqB;AAC5C,oBAAgB,CAAC,QAAQ,GAAG,IAAZ,CAAhB;AACD,GAFD;;AAIA,SACE;AACE,SAAK,oBACA,MAAM,CAAC,SADP,EAEA,oBAFA,EAGA;AAAE,WAAK,EAAL,KAAF;AAAS,YAAM,EAAN;AAAT,KAHA,CADP;AAME,aAAS,EAAC;AANZ,KAQE,oBAAC,mBAAgB,QAAjB,EAAyB;AACvB,SAAK,EAAE;AACL,kBAAY,EAAE,YADT;AAEL,mBAAa,EAAE,aAFV;AAGL,eAAS,EAAT,SAHK;AAIL,WAAK,EAAL,KAJK;AAKL,UAAI,EAAJ;AALK;AADgB,GAAzB,EASE,oBAAC,uBAAD,EAAc,IAAd,CATF,CARF,EAmBE,oBAAC,eAAD,EAAM;AACJ,UAAM,EAAE,WADJ;AAEJ,gBAAY,EAAE,YAFV;AAGJ,aAAS,EAAE,KAHP;AAIJ,SAAK,EAAE,OAAO,CAAC,SAAD,CAJV;AAKJ,oBAAgB,EAAE;AALd,GAAN,CAnBF,EA0BG,cAAc,GACb;AAAK,aAAS,EAAC,sBAAf;AAAsC,SAAK,EAAE,MAAM,CAAC;AAApD,KACE;AAAK,aAAS,EAAC,2BAAf;AACE,SAAK,EAAE;AAAE,WAAK,EAAE,KAAT;AAAgB,YAAM,EAAE;AAAxB,KADT;AAEE,gBAAY,EAAE,aAFhB;AAGE,cAAU,EAAE,OAAO,CAAC,MAAD,CAHrB;AAIE,eAAW,EAAE,aAJf;AAKE,aAAS,EAAE,OAAO,CAAC,MAAD;AALpB,IADF,EAQE;AACE,aAAS,EAAC,2BADZ;AAEE,SAAK,EAAE;AAAE,WAAK,EAAE,KAAT;AAAgB,YAAM,EAAE;AAAxB,KAFT;AAGE,gBAAY,EAAE,aAHhB;AAIE,cAAU,EAAE,OAAO,CAAC,UAAD,CAJrB;AAKE,eAAW,EAAE,aALf;AAME,aAAS,EAAE,OAAO,CAAC,UAAD;AANpB,IARF,CADa,GAmBb;AAAK,aAAS,EAAC,sBAAf;AAAsC,SAAK,EAAE,MAAM,CAAC;AAApD,KACE;AACE,SAAK,EAAE;AAAE,WAAK,EAAE,KAAT;AAAgB,YAAM,EAAE;AAAxB,KADT;AAEE,gBAAY,EAAE,aAFhB;AAGE,cAAU,EAAE,OAAO,CAAC,MAAD,CAHrB;AAIE,eAAW,EAAE,aAJf;AAKE,aAAS,EAAE,OAAO,CAAC,MAAD;AALpB,IADF,EAQE;AACE,SAAK,EAAE;AAAE,WAAK,EAAE,KAAT;AAAgB,YAAM,EAAE;AAAxB,KADT;AAEE,gBAAY,EAAE,aAFhB;AAGE,cAAU,EAAE,OAAO,CAAC,UAAD,CAHrB;AAIE,eAAW,EAAE,aAJf;AAKE,aAAS,EAAE,OAAO,CAAC,UAAD;AALpB,IARF,CA7CJ,CADF;AAiED;;AA3MD;AA6MA,IAAM,MAAM,GAAG;AACb,WAAS,EAAE;AACT,WAAO,EAAE,MADA;AAET,iBAAa,EAAE,QAFN;AAGT,cAAU,EAAE,MAHH;AAIT,YAAQ,EAAE,UAJD;AAKT,oBAAgB,EAAE;AALT,GADE;AAQb,SAAO,EAAE;AACP,YAAQ,EAAE,UADH;AAEP,UAAM,EAAE,SAFD;AAGP,SAAK,EAAE,SAHA;AAIP,WAAO,EAAE;AAJF;AARI,CAAf,C;;;;;;;;;;;;;;;ACxNA,IAAM,MAAM,GAAG,SAAT,MAAS;AAAA,MAAG,YAAH,QAAG,YAAH;AAAA,MAAiB,OAAjB,QAAiB,OAAjB;AAAA,MAA0B,UAA1B,QAA0B,UAA1B;AAAA,SACb;AAAK,SAAK,EAAE,MAAM,CAAC;AAAnB,KACG,YAAY,IAAI;AAAK,SAAK,EAAE,MAAM,CAAC,GAAnB;AAAwB,OAAG,EAAE;AAA7B,IADnB,EAEE;AAAM,SAAK,EAAE,MAAM,CAAC;AAApB,KACG,OAAO,IAAI;AAAG,SAAK,EAAE,MAAM,CAAC;AAAjB,KAA2B,OAA3B,CADd,EAEG,UAAU,IAAI;AAAG,SAAK,EAAE,MAAM,CAAC;AAAjB,KAA8B,UAA9B,CAFjB,CAFF,CADa;AAAA,CAAf;;AAUA,IAAM,MAAM,GAAG;AACb,MAAI,EAAE;AACJ,WAAO,EAAE,MADL;AAEJ,cAAU,EAAE;AAFR,GADO;AAKb,KAAG,EAAE;AACH,SAAK,EAAE,EADJ;AAEH,UAAM,EAAE,EAFL;AAGH,gBAAY,EAAE,EAHX;AAIH,eAAW,EAAE,EAJV;AAKH,UAAM,EAAE,2CALL;AAMH,UAAM,EAAE;AANL,GALQ;AAab,MAAI,EAAE;AACJ,WAAO,EAAE,MADL;AAEJ,iBAAa,EAAE,QAFX;AAGJ,UAAM,EAAE;AAHJ,GAbO;AAkBb,SAAO,EAAE;AACP,YAAQ,EAAE,MADH;AAEP,SAAK,EAAE,0BAFA;AAGP,UAAM,EAAE,CAHD;AAIP,gBAAY,EAAE;AAJP,GAlBI;AAwBb,YAAU,EAAE;AACV,YAAQ,EAAE,QADA;AAEV,SAAK,EAAE,0BAFG;AAGV,UAAM,EAAE;AAHE;AAxBC,CAAf;AA+BA,kBAAe,MAAf,C;;;;;;;;;;;;;;;AC3CA;;AAEA;;AACA;;AACA;;AAEA,kBAAe,UAAC,KAAD,EAAyB;AAAA,4BACT,mBAAsB,gBAAtB,CADS;AAAA,MAC5B,cAD4B,uBAC5B,cAD4B;;AAAA,6BAEJ,mBAA4B,kBAA5B,CAFI;AAAA,MAE5B,YAF4B,wBAE5B,YAF4B;AAAA,MAEd,KAFc,wBAEd,KAFc;;AAIpC,MAAM,gBAAgB,GAAG,SAAnB,gBAAmB,OAAe;AAAA,QAAZ,MAAY,QAAZ,MAAY;;AACpC,YAAQ,MAAR;AACI,WAAK,CAAL;AACI,eAAO;AAAE,eAAK,EAAE;AAAT,SAAP;;AACJ,WAAK,CAAL;AACI,eAAO;AAAE,mBAAS,mBAAY,IAAI,CAAC,GAAL,CAAU,KAAK,CAAC,KAAN,GAAc,GAAf,GAAsB,CAA/B,CAAZ;AAAX,SAAP;;AACJ,WAAK,CAAL;AACI,eAAO;AAAE,eAAK,EAAE;AAAT,SAAP;;AACJ;AACI,eAAO;AAAE,eAAK,EAAE;AAAT,SAAP;AARR;AAUH,GAXD;;AAJoC,MAiB5B,KAjB4B,GAiBV,KAjBU,CAiB5B,KAjB4B;AAAA,MAiBrB,MAjBqB,GAiBV,KAjBU,CAiBrB,MAjBqB;AAkBpC,SACI,oBAAC,yBAAD,EAAgB;AAAC,SAAK,EAAE,KAAR;AAAe,SAAK,EAAE,KAAtB;AAA6B,gBAAY,EAAE;AAA3C,GAAhB,EACI;AACI,SAAK,oBACE,MAAM,CAAC,KADT,EAEE,cAFF,EAGE,gBAAgB,CAAC;AAAE,YAAM,EAAN;AAAF,KAAD,CAHlB;AADT,IADJ,CADJ;AAUH,CA5BD;;AA8BA,IAAM,MAAM,GAAQ;AAChB,OAAK,EAAE;AACH,cAAU,EAAE,MADT;AAEH,UAAM,EAAE,MAFL;AAGH,YAAQ,EAAE,MAHP;AAIH,gBAAY,EAAE,CAJX;AAKH,mBAAe,EAAE,aALd;AAMH,4BAAwB,EAAE,QANvB;AAOH,yBAAqB,EAAE,QAPpB;AAQH,wBAAoB,EAAE,QARnB;AASH,sBAAkB,EAAE,QATjB;AAUH,qBAAiB,EAAE,IAVhB;AAWH,kBAAc,EAAE,IAXb;AAYH,iBAAa,EAAE,IAZZ;AAaH,eAAW,EAAE;AAbV;AADS,CAApB,C;;;;;;;;;;;;;;;;;;;;;;;ACpCA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AAEA,kBAAe,YAAK;AAAA,0BACQ,iBAAiB,CAAjB,CADR;AAAA;AAAA,MACX,KADW;AAAA,MACJ,QADI;;AAElB,MAAM,QAAQ,GAAO,gBAArB;;AAFkB,4BAKhB,mBAA4B,kBAA5B,CALgB;AAAA,MAIV,SAJU,uBAIV,SAJU;AAAA,MAIC,IAJD,uBAIC,IAJD;AAAA,MAIO,aAJP,uBAIO,aAJP;AAAA,MAIsB,KAJtB,uBAIsB,KAJtB;AAAA,MAI6B,YAJ7B,uBAI6B,YAJ7B;;AAAA,6BAWd,mBAAsB,gBAAtB,CAXc;AAAA,MAOhB,eAPgB,wBAOhB,eAPgB;AAAA,MAQhB,UARgB,wBAQhB,UARgB;AAAA,MAShB,YATgB,wBAShB,YATgB;AAAA,MAUhB,uBAVgB,wBAUhB,uBAVgB;;AAAA,6BAYE,mBAAoC,iBAApC,CAZF;AAAA,MAYV,OAZU,wBAYV,OAZU;;AAclB,oBAAU,YAAK;AACb,YAAQ,CAAC,CAAD,CAAR;AACD,GAFD,EAEG,CAAC,SAAD,EAAY,OAAZ,CAFH;AAIA,oBAAU,YAAK;AACb,QAAI,CAAC,KAAL,EAAY;AACV,sBAAgB,CAAC,OAAjB,GAA2B,qBAAqB,CAAC,cAAD,CAAhD;AACA,cAAQ,CAAC,OAAT,GAAmB,kBAAnB;AACD;;AACD,WAAO,YAAK;AACV,0BAAoB,CAAC,gBAAgB,CAAC,OAAlB,CAApB;AACD,KAFD;AAGD,GARD,EAQG,CAAC,SAAD,EAAY,KAAZ,CARH;AAUA,MAAI,gBAAgB,GAAO,gBAA3B;AAEA,MAAI,SAAS,GAAG,KAAhB;;AACA,MAAM,cAAc,GAAG,SAAjB,cAAiB,GAAK;AAC1B,QAAI,SAAS,KAAK,CAAlB,EAAqB,kBAAkB;AACvC,QAAI,QAAQ,CAAC,OAAT,IAAoB,SAAxB,EAAmC,QAAQ,CAAC,OAAT,GAAmB,kBAAnB;AACnC,QAAM,CAAC,GAAG,kBAAV;AACA,QAAM,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAxB;AACA,YAAQ,CAAC,OAAT,GAAmB,CAAnB;AACA,YAAQ,CAAE,UAAC,KAAD,EAAkB;AAC1B,UAAM,QAAQ,GAAG,kBAAkB,EAAnC;AACA,eAAS,GAAG,KAAK,GAAI,EAAE,GAAG,GAAN,GAAa,QAAjC;AACA,aAAO,SAAP;AACD,KAJO,CAAR;;AAKA,QAAI,SAAS,GAAG,GAAhB,EAAqB;AACnB,sBAAgB,CAAC,OAAjB,GAA2B,qBAAqB,CAAC,cAAD,CAAhD;AACD,KAFD,MAEO;AACL,sBAAgB;AAChB,0BAAoB,CAAC,gBAAgB,CAAC,OAAlB,CAApB;AACA,UAAI;AACL;AACF,GAlBD;;AAoBA,MAAM,kBAAkB,GAAG,SAArB,kBAAqB,GAAK;AAC9B,gBAAY,IAAI,YAAY,CAAC,SAAD,EAAY,OAAO,CAAC,SAAD,CAAnB,CAA5B;AACD,GAFD;;AAIA,MAAM,gBAAgB,GAAG,SAAnB,gBAAmB,GAAK;AAC5B,cAAU,IAAI,UAAU,CAAC,SAAD,EAAY,OAAO,CAAC,SAAD,CAAnB,CAAxB;AACD,GAFD;;AAIA,MAAM,kBAAkB,GAAG,SAArB,kBAAqB,GAAK;AAC9B,QAAI,OAAO,CAAC,SAAD,CAAP,CAAmB,IAAnB,KAA4B,OAAhC,EAAyC,OAAO,aAAP;AACzC,QAAI,OAAO,OAAO,CAAC,SAAD,CAAP,CAAmB,QAA1B,KAAuC,QAA3C,EACE,OAAO,OAAO,CAAC,SAAD,CAAP,CAAmB,QAA1B;AACF,WAAO,eAAP;AACD,GALD;;AAOA,MAAM,aAAa,GAAG;AACpB,WAAO,EAAE,KAAK,IAAI,CAAC,YAAV,GAAyB,CAAzB,GAA6B;AADlB,GAAtB;AAIA,SACE;AAAK,SAAK,oBACL,MAAM,CAAC,WADF,EAEL,uBAFK,EAGL,aAHK,CAAV;AAKA,aAAS,EAAC;AALV,KAMG,OAAO,CAAC,GAAR,CAAY,UAAC,CAAD,EAAI,CAAJ;AAAA,WACX,oBAAC,kBAAD,EAAS;AACP,SAAG,EAAE,CADE;AAEP,WAAK,EAAE,KAFA;AAGP,WAAK,EAAE,IAAI,OAAO,CAAC,MAHZ;AAIP,YAAM,EAAE,CAAC,KAAK,SAAN,GAAkB,CAAlB,GAAsB,CAAC,GAAG,SAAJ,GAAgB,CAAhB,GAAoB;AAJ3C,KAAT,CADW;AAAA,GAAZ,CANH,CADF;AAiBD,CAvFD;;AAyFA,IAAM,MAAM,GAAG;AACb,aAAW,EAAE;AACX,WAAO,EAAE,MADE;AAEX,iBAAa,EAAE,aAFJ;AAGX,kBAAc,EAAE,QAHL;AAIX,YAAQ,EAAE,MAJC;AAKX,YAAQ,EAAE,QALC;AAMX,YAAQ,EAAE,UANC;AAOX,SAAK,EAAE,KAPI;AAQX,WAAO,EAAE,CARE;AASX,cAAU,EAAE,CATD;AAUX,aAAS,EAAE,QAVA;AAWX,UAAM,EAAE,IAXG;AAYX,UAAM,EAAE,6BAZG;AAaX,cAAU,EAAE;AAbD;AADA,CAAf,C;;;;;;;;;;;;;;;ACrGA;;AAEA;;AAEA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAgC;AAAA,4BAClB,mBAAsB,gBAAtB,CADkB;AAAA,MAC5C,qBAD4C,uBAC5C,qBAD4C;;AAGpD,SACI;AAAK,SAAK,oBACH,MAAM,CAAC,QADJ,EAEH,qBAFG,EAGH,uBAAuB,CAAC,KAAD,CAHpB;AAAV,KAKK,KAAK,CAAC,QALX,CADJ;AASH,CAZD;;AAcA,IAAM,uBAAuB,GAAG,SAA1B,uBAA0B;AAAA,MAAG,KAAH,QAAG,KAAH;AAAA,SAAgB;AAC5C,SAAK,YAAK,KAAK,GAAG,GAAb;AADuC,GAAhB;AAAA,CAAhC;;AAIA,IAAM,MAAM,GAAG;AACX,UAAQ,EAAE;AACN,UAAM,EAAE,CADF;AAEN,YAAQ,EAAE,MAFJ;AAGN,cAAU,EAAE,MAHN;AAIN,UAAM,EAAE,CAJF;AAKN,gBAAY,EAAE,CALR;AAMN,4BAAwB,EAAE,QANpB;AAON,yBAAqB,EAAE,QAPjB;AAQN,wBAAoB,EAAE,QARhB;AASN,sBAAkB,EAAE;AATd;AADC,CAAf;AAcA,kBAAe,eAAf,C;;;;;;;;;;;;;;;ACpCA;;AACA;;AAIA,SAAwB,OAAxB,CAAgC,KAAhC,EAAmD;AAC/C,MAAM,cAAc,GAAG,KAAK,CAAC,cAA7B;AACA,MAAM,eAAe,GAAG,KAAK,CAAC,eAA9B;;AAF+C,4BAIhB,mBAAsB,gBAAtB,CAJgB;AAAA,MAIvC,kBAJuC,uBAIvC,kBAJuC;;AAM/C,oBAAU,YAAK;AACX,QAAM,QAAQ,GAAI,OAAO,MAAP,KAAkB,WAAlB,IAAiC,MAAM,CAAC,QAA1D;;AACA,QAAI,QAAQ,IAAK,OAAO,kBAAP,KAA8B,SAA9B,IAA2C,kBAA5D,EAAiF;AAC7E,cAAQ,CAAC,gBAAT,CAA0B,SAA1B,EAAqC,aAArC;AACA,aAAO,YAAK;AACR,gBAAQ,CAAC,mBAAT,CAA6B,SAA7B,EAAwC,aAAxC;AACH,OAFD;AAGH;AACJ,GARD,EAQG,CAAC,kBAAD,CARH;;AAUA,MAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,CAAD,EAAqB;AACvC,QAAI,CAAC,CAAC,GAAF,KAAU,SAAd,EAAyB;AACrB,OAAC,CAAC,cAAF;AACA,WAAK,CAAC,UAAN,CAAiB,IAAjB;AACH,KAHD,MAIK,IAAI,CAAC,CAAC,GAAF,KAAU,WAAV,IAAyB,CAAC,CAAC,GAAF,KAAU,QAAvC,EAAiD;AAClD,OAAC,CAAC,cAAF;AACA,WAAK,CAAC,UAAN,CAAiB,KAAjB;AACH;AACJ,GATD;;AAWA,SACI,KAAK,CAAC,WAAN,GACM;AAAK,SAAK,EAAE,MAAM,CAAC;AAAnB,KACE,oBAAC,cAAD,EAAe;AAAC,SAAK,EAAE;AAAA,aAAM,KAAK,CAAC,UAAN,CAAiB,KAAjB,CAAN;AAAA;AAAR,GAAf,CADF,CADN,GAKK,eAAe,GAAG,oBAAC,eAAD,EAAgB;AAAC,UAAM,EAAE,KAAK,CAAC,MAAf;AAAuB,cAAU,EAAE,KAAK,CAAC;AAAzC,GAAhB,CAAH,GAA6E;AAAK,SAAK,EAAE,MAAM,CAAC,OAAnB;AAA4B,WAAO,EAAE,iBAAC,CAAD,EAAM;AACpI,OAAC,CAAC,cAAF;AACA,OAAC,CAAC,eAAF;AACA,WAAK,CAAC,UAAN,CAAiB,IAAjB;AACH;AAJ4F,KAKzF;AAAM,SAAK,EAAE,MAAM,CAAC;AAApB,KAA+B,QAA/B,CALyF,EAMzF;AAAM,SAAK,EAAE,MAAM,CAAC;AAApB,KAA+B,UAA/B,CANyF,CANrG;AAgBH;;AA3CD;AA6CA,IAAM,MAAM,GAAQ;AAChB,SAAO,EAAE;AACL,UAAM,EAAE,MADH;AAEL,cAAU,EAAE,uDAFP;AAGL,WAAO,EAAE,MAHJ;AAIL,iBAAa,EAAE,QAJV;AAKL,SAAK,EAAE,MALF;AAML,cAAU,EAAE,QANP;AAOL,kBAAc,EAAE,UAPX;AAQL,UAAM,EAAE;AARH,GADO;AAWhB,iBAAe,EAAE;AACb,YAAQ,EAAE,UADG;AAEb,OAAG,EAAE,CAFQ;AAGb,QAAI,EAAE,CAHO;AAIb,SAAK,EAAE,MAJM;AAKb,UAAM,EAAE,MALK;AAMb,aAAS,EAAE,YANE;AAOb,UAAM,EAAE;AAPK,GAXD;AAoBhB,aAAW,EAAE;AACT,SAAK,EAAE,OADE;AAET,aAAS,EAAE,QAFF;AAGT,iBAAa,EAAE,OAHN;AAIT,gBAAY,EAAE,OAJL;AAKT,iBAAa,EAAE,YALN;AAMT,WAAO,EAAE,GANA;AAOT,YAAQ,EAAE,OAPD;AAQT,cAAU,EAAE;AARH,GApBG;AA8BhB,aAAW,EAAE;AACT,SAAK,EAAE,OADE;AAET,aAAS,EAAE,QAFF;AAGT,iBAAa,EAAE,OAHN;AAIT,gBAAY,EAAE,OAJL;AAKT,WAAO,EAAE,GALA;AAMT,UAAM,EAAE,4BANC;AAOT,iBAAa,EAAE,YAPN;AAQT,cAAU,EAAE;AARH,GA9BG;AAwChB,cAAY,EAAE;AACV,YAAQ,EAAE,UADA;AAEV,UAAM,EAAE,6BAFE;AAGV,SAAK,EAAE,QAHG;AAIV,OAAG,EAAE,QAJK;AAKV,YAAQ,EAAE,QALA;AAMV,WAAO,EAAE,KANC;AAOV,WAAO,EAAE;AAPC;AAxCE,CAApB,C;;;;;;;;;CClDA;;;;;;AAEA,IAAM,OAAO,GAAG,SAAV,OAAU,GAAK;AACjB,SAAO,IAAP,CADiB,CACN;AACd,CAFD;;AAIA,kBAAe,OAAf,C;;;;;;;;;;;;;;ACNA;;AAEA;;AAEA,IAAM,KAAK,GAAG,SAAR,KAAQ,CAAC,KAAD,EAAsB;AAClC,MAAM,aAAa,GAAG,mBAAsB,gBAAtB,CAAtB;AADkC,MAIhC,KAJgC,GAU9B,aAV8B,CAIhC,KAJgC;AAAA,MAKhC,MALgC,GAU9B,aAV8B,CAKhC,MALgC;AAAA,MAMhC,MANgC,GAU9B,aAV8B,CAMhC,MANgC;AAAA,MAOhC,MAPgC,GAU9B,aAV8B,CAOhC,MAPgC;AAAA,MAQhC,WARgC,GAU9B,aAV8B,CAQhC,WARgC;AAAA,8BAU9B,aAV8B,CAShC,yBATgC;AAAA,MAShC,yBATgC,sCASJ,EATI;;AAYlC,MAAM,sBAAsB,GAAG,SAAzB,sBAAyB,CAAC,IAAD,EAAe,IAAf,EAA4B;AACzD,YAAQ,IAAR;AACE,WAAK,uBAAL;AACE,aAAK,CAAC,gBAAN,CAAuB,IAAI,CAAC,QAA5B;AACA,eAAO;AAAE,aAAG,EAAE;AAAP,SAAP;AAHJ;AAKD,GAND;;AAQA,MAAM,eAAe,GAAG,SAAlB,eAAkB,GAAK;AAC3B,QAAI,YAAY,GAAG,KAAK,CAAC,KAAN,CAAY,OAA/B;AACA,QAAI,MAAM,GAAG;AAAE,WAAK,EAAL,KAAF;AAAS,YAAM,EAAN,MAAT;AAAiB,YAAM,EAAN,MAAjB;AAAyB,YAAM,EAAN,MAAzB;AAAiC,iBAAW,EAAX;AAAjC,KAAb;AACA,WACE,oBAAC,YAAD,EAAa;AACX,YAAM,EAAE,KAAK,CAAC,MADH;AAEX,cAAQ,EAAE,KAAK,CAAC,SAFL;AAGX,WAAK,EAAE,KAAK,CAAC,KAHF;AAIX,YAAM,EAAE,MAJG;AAKX,oBAAc,EAAE;AALL,KAAb,CADF;AASD,GAZD;;AAcA,SACE;AACE,SAAK,oBACA,MAAM,CAAC,KADP,EAEA,yBAFA,EAEyB;AAC5B,WAAK,EAAE,KADqB;AAE5B,YAAM,EAAE;AAFoB,KAFzB,CADP;AAOE,aAAS,EAAC;AAPZ,KASG,eAAe,EATlB,CADF;AAaD,CA/CD;;AAiDA,IAAM,MAAM,GAAG;AACb,OAAK,EAAE;AACL,WAAO,EAAE,MADJ;AAEL,YAAQ,EAAE,UAFL;AAGL,YAAQ,EAAE,QAHL;AAIL,cAAU,EAAE;AAJP,GADM;AAOb,cAAY,EAAE;AACZ,SAAK,EAAE,MADK;AAEZ,YAAQ,EAAE,MAFE;AAGZ,aAAS,EAAE,MAHC;AAIZ,UAAM,EAAE;AAJI;AAPD,CAAf;AAeA,kBAAe,KAAf,C;;;;;;;;;;;;;;AClEa,yBAAiB;AAC7B,iBAAe,EAAE,IADY;AAE7B,OAAK,EAAE,GAFsB;AAG7B,QAAM,EAAE;AAHqB,CAAjB;AAMb,IAAM,aAAa,GAAG,KAAK,CAAC,aAAN,CAA+B,sBAA/B,CAAtB;AAEA,kBAAe,aAAf,C;;;;;;;;;;;;;;ACRA,kBAAe,KAAK,CAAC,aAAN,CAAqC;AAChD,WAAS,EAAE,CADqC;AAEhD,eAAa,EAAE,CAFiC;AAGhD,cAAY,EAAE,KAHkC;AAIhD,OAAK,EAAE,KAJyC;AAKhD,MAAI,EAAE,gBAAK,CAAI;AALiC,CAArC,CAAf,C;;;;;;;;;;;;;;ACGa,yBAAuC;AACnD,SAAO,EAAE;AAD0C,CAAvC;AAIb,IAAM,cAAc,GAAG,KAAK,CAAC,aAAN,CACtB,sBADsB,CAAvB;AAIA,kBAAe,cAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;ACbA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEa,4BAAoB,UAAU,KAAV,EAAuC;AACpE,MAAI,SAAS,GAAG,KAAK,CAAC,SAAN,GAAkB,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,iBAAvB,CAAlB,GAA6D,iBAA7E;AACA,MAAI,OAAO,GAAc;AACrB,SAAK,EAAE,KAAK,CAAC,KADQ;AAErB,UAAM,EAAE,KAAK,CAAC,MAFO;AAGrB,UAAM,EAAE,KAAK,CAAC,MAHO;AAIrB,UAAM,EAAE,KAAK,CAAC,MAJO;AAKrB,wBAAoB,EAAE,KAAK,CAAC,oBALP;AAMrB,6BAAyB,EAAE,KAAK,CAAC,yBANZ;AAOrB,eAAW,EAAE,KAAK,CAAC,WAPE;AAQrB,2BAAuB,EAAE,KAAK,CAAC,uBARV;AASrB,yBAAqB,EAAE,KAAK,CAAC,qBATR;AAUrB,kBAAc,EAAE,KAAK,CAAC,cAVD;AAWrB,QAAI,EAAE,KAAK,CAAC,IAXS;AAYrB,mBAAe,EAAE,KAAK,CAAC,eAZF;AAarB,YAAQ,EAAE,KAAK,CAAC,QAbK;AAcrB,gBAAY,EAAE,KAAK,CAAC,YAdC;AAerB,gBAAY,EAAE,KAAK,CAAC,YAfC;AAgBrB,cAAU,EAAE,KAAK,CAAC,UAhBG;AAiBrB,mBAAe,EAAE,KAAK,CAAC,eAjBF;AAkBrB,UAAM,EAAE,KAAK,CAAC,MAlBO;AAmBrB,cAAU,EAAE,KAAK,CAAC,UAnBG;AAoBrB,sBAAkB,EAAE,KAAK,CAAC,kBApBL;AAqBrB,kBAAc,EAAE,KAAK,CAAC,cArBD;AAsBrB,gBAAY,EAAE,KAAK,CAAC;AAtBC,GAAzB;;AAFoE,0BA0BtC,iBAA+B;AAAE,WAAO,EAAE,eAAe,CAAC,KAAK,CAAC,OAAP,EAAgB,SAAhB;AAA1B,GAA/B,CA1BsC;AAAA;AAAA,MA0B7D,OA1B6D;AAAA,MA0BpD,UA1BoD;;AA6BpE,oBAAU,YAAK;AACX,cAAU,CAAC;AAAE,aAAO,EAAE,eAAe,CAAC,KAAK,CAAC,OAAP,EAAgB,SAAhB;AAA1B,KAAD,CAAV;AACH,GAFD,EAEG,CAAC,KAAK,CAAC,OAAP,EAAgB,KAAK,CAAC,SAAtB,CAFH;AAIA,SAAO,oBAAC,iBAAc,QAAf,EAAuB;AAAC,SAAK,EAAE;AAAR,GAAvB,EACH,oBAAC,kBAAe,QAAhB,EAAwB;AAAC,SAAK,EAAE;AAAR,GAAxB,EACI,oBAAC,mBAAD,EAAU,IAAV,CADJ,CADG,CAAP;AAKH,CAtCY;;AAwCb,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,OAAD,EAAiB,SAAjB,EAAwE;AAC5F,SAAO,OAAO,CAAC,GAAR,CAAY,WAAC,EAAG;AACnB,QAAI,KAAK,GAAU,EAAnB;;AAEA,QAAI,OAAO,CAAP,KAAa,QAAjB,EAA2B;AACvB,WAAK,CAAC,GAAN,GAAY,CAAZ;AACA,WAAK,CAAC,IAAN,GAAa,OAAb;AACH,KAHD,MAGO,IAAI,QAAO,CAAP,MAAa,QAAjB,EAA2B;AAC9B,WAAK,GAAG,MAAM,CAAC,MAAP,CAAc,KAAd,EAAqB,CAArB,CAAR;AACH;;AAED,QAAI,QAAQ,GAAG,wBAAY,KAAZ,EAAmB,SAAnB,CAAf;AACA,SAAK,CAAC,eAAN,GAAwB,KAAK,CAAC,OAA9B;AACA,SAAK,CAAC,OAAN,GAAgB,QAAhB;AACA,WAAO,KAAP;AACH,GAdM,CAAP;AAeH,CAhBD;;AAkBA,0BAAkB,YAAlB,GAAiC;AAC7B,OAAK,EAAE,GADsB;AAE7B,QAAM,EAAE,GAFqB;AAG7B,iBAAe,EAAE,IAHY;AAI7B,cAAY,EAAE;AAJe,CAAjC;AAOa,qBAAa,oBAAb;AACA,sBAAc,qBAAd,C;;;;;;;;;;;;;;;AC5Eb;;AAGa,mBAAqB,UAAC,KAAD,EAAU;AACxC,OAAK,CAAC,SAAN,CAAgB,YAAK;AACjB,SAAK,CAAC,MAAN,CAAa,MAAb;AACH,GAFD,EAEG,CAAC,KAAK,CAAC,KAAP,CAFH;AAGA,MAAM,OAAO,GAAG,KAAK,CAAC,KAAN,CAAY,eAA5B;AACA,SAAO,oBAAC,OAAD,EAAQ,kBAAK,KAAL,CAAR,CAAP;AACH,CANY;;AAQA,iBAAiB,UAAC,KAAD,EAAU;AACpC,SAAO;AACH,aAAS,EAAE,CAAC,CAAC,KAAK,CAAC,OADhB;AAEH,YAAQ,EAAE;AAFP,GAAP;AAIH,CALY;;AAOb,kBAAe;AACX,UAAQ,EAAR,gBADW;AAEX,QAAM,EAAN;AAFW,CAAf,C;;;;;;;;;;;;;;AClBA;;AAGa,mBAAqB,gBAAsB;AAAA,MAAnB,KAAmB,QAAnB,KAAmB;AAAA,MAAZ,MAAY,QAAZ,MAAY;AACtD,OAAK,CAAC,SAAN,CAAgB,YAAK;AACnB,UAAM,CAAC,MAAD,CAAN;AACD,GAFD,EAEG,CAAC,KAAD,CAFH;AAIA,SACE;AAAK,SAAK,EAAE,MAAM,CAAC;AAAnB,KACE;AAAG,SAAK,EAAE,MAAM,CAAC;AAAjB,KAAqB,iCAArB,CADF,CADF;AAKD,CAVY;;AAYb,IAAM,MAAM,GAAG;AACb,cAAY,EAAE;AACZ,SAAK,EAAE,MADK;AAEZ,aAAS,EAAE,MAFC;AAGZ,UAAM,EAAE;AAHI,GADD;AAMb,MAAI,EAAE;AACJ,aAAS,EAAE,QADP;AAEJ,SAAK,EAAE,OAFH;AAGJ,SAAK,EAAE,KAHH;AAIJ,UAAM,EAAE;AAJJ;AANO,CAAf;;AAca,iBAAiB,YAAK;AACjC,SAAO;AACL,aAAS,EAAE,IADN;AAEL,YAAQ,EAAE;AAFL,GAAP;AAID,CALY;;AAOb,kBAAe;AACb,UAAQ,EAAR,gBADa;AAEb,QAAM,EAAN;AAFa,CAAf,C;;;;;;;;;;;;;;;;;;;;;;ACpCA;;AACA;;AAEA;;AACA;;AAEa,mBAAqB,gBAAwC;AAAA,MAArC,KAAqC,QAArC,KAAqC;AAAA,MAA9B,MAA8B,QAA9B,MAA8B;AAAA,MAAtB,QAAsB,QAAtB,QAAsB;AAAA,MAAZ,MAAY,QAAZ,MAAY;;AAAA,wBAC5C,KAAK,CAAC,QAAN,CAAe,KAAf,CAD4C;AAAA;AAAA,MACjE,MADiE;AAAA,MACzD,SADyD;;AAAA,MAEhE,KAFgE,GAEzB,MAFyB,CAEhE,KAFgE;AAAA,MAEzD,MAFyD,GAEzB,MAFyB,CAEzD,MAFyD;AAAA,MAEjD,MAFiD,GAEzB,MAFyB,CAEjD,MAFiD;AAAA,MAEzC,WAFyC,GAEzB,MAFyB,CAEzC,WAFyC;AAGxE,MAAI,cAAc,qBACb,MAAM,CAAC,YADM,EAEZ,WAAW,IAAI,EAFH,CAAlB;;AAKA,MAAM,WAAW,GAAG,SAAd,WAAc,GAAK;AACvB,aAAS,CAAC,IAAD,CAAT;AACA,UAAM,CAAC,MAAD,CAAN;AACD,GAHD;;AAIA,SACE,oBAAC,oBAAD,EAAW,kBAAK;AAAE,SAAK,EAAL,KAAF;AAAS,gBAAY,EAAE,MAAM,CAAC;AAA9B,GAAL,CAAX,EACE,oBAAC,qBAAD,EAAY,kBAAK;AAAE,SAAK,EAAL,KAAF;AAAS,UAAM,EAAN;AAAT,GAAL,CAAZ,EACE,iCACE;AAAK,SAAK,EAAE,cAAZ;AAA4B,OAAG,EAAE,KAAK,CAAC,GAAvC;AAA4C,UAAM,EAAE;AAApD,IADF,EAEG,CAAC,MAAD,IACC;AACE,SAAK,EAAE;AACL,WAAK,EAAE,KADF;AAEL,YAAM,EAAE,MAFH;AAGL,cAAQ,EAAE,UAHL;AAIL,UAAI,EAAE,CAJD;AAKL,SAAG,EAAE,CALA;AAML,gBAAU,EAAE,oBANP;AAOL,YAAM,EAAE,CAPH;AAQL,aAAO,EAAE,MARJ;AASL,oBAAc,EAAE,QATX;AAUL,gBAAU,EAAE,QAVP;AAWL,WAAK,EAAE;AAXF;AADT,KAeG,MAAM,IAAI,oBAAC,iBAAD,EAAQ,IAAR,CAfb,CAHJ,CADF,CADF,CADF;AA4BD,CAxCY;;AA0Cb,IAAM,MAAM,GAAG;AACb,OAAK,EAAE;AACL,WAAO,EAAE,MADJ;AAEL,YAAQ,EAAE,UAFL;AAGL,YAAQ,EAAE;AAHL,GADM;AAMb,cAAY,EAAE;AACZ,SAAK,EAAE,MADK;AAEZ,YAAQ,EAAE,MAFE;AAGZ,aAAS,EAAE,MAHC;AAIZ,UAAM,EAAE;AAJI;AAND,CAAf;;AAca,iBAAiB,UAAC,KAAD,EAAU;AACtC,SAAO;AACL,aAAS,EAAE,CAAC,KAAK,CAAC,OAAP,KAAmB,CAAC,KAAK,CAAC,IAAP,IAAe,KAAK,CAAC,IAAN,KAAe,OAAjD,CADN;AAEL,YAAQ,EAAE;AAFL,GAAP;AAID,CALY;;AAOb,kBAAe;AACb,UAAQ,EAAR,gBADa;AAEb,QAAM,EAAN;AAFa,CAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;;ACrEA;;AACA;;AAEA;;AACA;;AAEa,mBAAqB,gBAM7B;AAAA,MALH,KAKG,QALH,KAKG;AAAA,MAJH,MAIG,QAJH,MAIG;AAAA,MAHH,QAGG,QAHH,QAGG;AAAA,MAFH,MAEG,QAFH,MAEG;AAAA,MADH,cACG,QADH,cACG;;AAAA,wBACyB,KAAK,CAAC,QAAN,CAAe,KAAf,CADzB;AAAA;AAAA,MACI,MADJ;AAAA,MACY,SADZ;;AAAA,yBAEuB,KAAK,CAAC,QAAN,CAAe,KAAK,CAAC,KAAN,IAAe,KAA9B,CAFvB;AAAA;AAAA,MAEI,KAFJ;AAAA,MAEW,QAFX;;AAAA,MAGK,KAHL,GAG4C,MAH5C,CAGK,KAHL;AAAA,MAGY,MAHZ,GAG4C,MAH5C,CAGY,MAHZ;AAAA,MAGoB,MAHpB,GAG4C,MAH5C,CAGoB,MAHpB;AAAA,MAG4B,WAH5B,GAG4C,MAH5C,CAG4B,WAH5B;AAKH,MAAI,cAAc,qBACb,MAAM,CAAC,YADM,EAEZ,WAAW,IAAI,EAFH,CAAlB;AAKA,MAAI,GAAG,GAAG,KAAK,CAAC,MAAN,CAA+B,IAA/B,CAAV;AAEA,OAAK,CAAC,SAAN,CAAgB,YAAK;AACnB,QAAI,GAAG,CAAC,OAAR,EAAiB;AACf,UAAI,QAAJ,EAAc;AACZ,WAAG,CAAC,OAAJ,CAAY,KAAZ;AACD,OAFD,MAEO;AACL,WAAG,CAAC,OAAJ,CAAY,IAAZ,GAAmB,KAAnB,CAAyB,YAAK,CAAI,CAAlC;AACD;AACF;AACF,GARD,EAQG,CAAC,QAAD,CARH;;AAUA,MAAM,SAAS,GAAG,SAAZ,SAAY,GAAK;AACrB,UAAM,CAAC,OAAD,EAAU,IAAV,CAAN;AACD,GAFD;;AAIA,MAAM,SAAS,GAAG,SAAZ,SAAY,GAAK;AACrB,UAAM,CAAC,MAAD,EAAS,IAAT,CAAN;AACD,GAFD;;AAIA,MAAM,WAAW,GAAG,SAAd,WAAc,GAAK;AACvB,kBAAc,CAAC,uBAAD,EAA0B;AAAE,cAAQ,EAAE,GAAG,CAAC,OAAJ,CAAY;AAAxB,KAA1B,CAAd;AACA,aAAS,CAAC,IAAD,CAAT;AACA,OAAG,CAAC,OAAJ,CACG,IADH,GAEG,IAFH,CAEQ,YAAK;AACT,YAAM,CAAC,MAAD,CAAN;AACD,KAJH,EAKG,KALH;AAAA;AAAA;AAAA;AAAA,4BAKS;AAAA;AAAA;AAAA;AAAA;AAAA;AAEH,sBAAQ,CAAC,IAAD,CAAR;AAFG;AAAA,qBAGG,GAAG,CAAC,OAAJ,CAAY,IAAZ,EAHH;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAOH,oBAAM,CAAC,MAAD,CAAN;AAPG;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KALT;AAeD,GAlBD;;AAoBA,SACE,oBAAC,oBAAD,EAAW,kBAAK;AAAE,SAAK,EAAL,KAAF;AAAS,gBAAY,EAAE,MAAM,CAAC;AAA9B,GAAL,CAAX,EACE,oBAAC,qBAAD,EAAY,kBAAK;AAAE,SAAK,EAAL,KAAF;AAAS,UAAM,EAAN;AAAT,GAAL,CAAZ,EACE;AAAK,SAAK,EAAE,MAAM,CAAC;AAAnB,KACE;AACE,OAAG,EAAE,GADP;AAEE,SAAK,EAAE,cAFT;AAGE,OAAG,EAAE,KAAK,CAAC,GAHb;AAIE,YAAQ,EAAE,KAJZ;AAKE,gBAAY,EAAE,WALhB;AAME,eAAW,MANb;AAOE,aAAS,EAAE,SAPb;AAQE,aAAS,EAAE,SARb;AASE,SAAK,EAAE,KAAK,CAAC,KATf;AAUE,YAAQ,MAVV;AAUU,0BACW;AAXrB,IADF,EAcG,CAAC,MAAD,IACC;AACE,SAAK,EAAE;AACL,WAAK,EAAE,KADF;AAEL,YAAM,EAAE,MAFH;AAGL,cAAQ,EAAE,UAHL;AAIL,UAAI,EAAE,CAJD;AAKL,SAAG,EAAE,CALA;AAML,gBAAU,EAAE,oBANP;AAOL,YAAM,EAAE,CAPH;AAQL,aAAO,EAAE,MARJ;AASL,oBAAc,EAAE,QATX;AAUL,gBAAU,EAAE,QAVP;AAWL,WAAK,EAAE;AAXF;AADT,KAeG,MAAM,IAAI,oBAAC,iBAAD,EAAQ,IAAR,CAfb,CAfJ,CADF,CADF,CADF;AAwCD,CAhGY;;AAkGb,IAAM,MAAM,GAAG;AACb,cAAY,EAAE;AACZ,SAAK,EAAE,MADK;AAEZ,YAAQ,EAAE,MAFE;AAGZ,aAAS,EAAE,MAHC;AAIZ,UAAM,EAAE;AAJI,GADD;AAOb,gBAAc,EAAE;AACd,WAAO,EAAE,MADK;AAEd,cAAU,EAAE,QAFE;AAGd,kBAAc,EAAE;AAHF;AAPH,CAAf;;AAca,iBAAiB,UAAC,KAAD,EAAU;AACtC,SAAO;AACL,aAAS,EAAE,KAAK,CAAC,IAAN,KAAe,OADrB;AAEL,YAAQ,EAAE;AAFL,GAAP;AAID,CALY;;AAOb,kBAAe;AACb,UAAQ,EAAR,gBADa;AAEb,QAAM,EAAN;AAFa,CAAf,C;;;;;;;;;;;;;;AC7HA;;AACA;;AACA;;AACA;;AAEa,oBAAY,CAAC,eAAD,EAAQ,eAAR,EAAe,yBAAf,EAAgC,iBAAhC,CAAZ,C;;;;;;;;;;;;;;;;ACLb,uH,CAGA;;;AACA,IAAM,UAAU,GAGV,SAHA,UAGA,OAAsC;AAAA,MAAnC,KAAmC,QAAnC,KAAmC;AAAA,MAA5B,YAA4B,QAA5B,YAA4B;AAAA,MAAd,QAAc,QAAd,QAAc;AAC1C,SACE,0CACG,QADH,EAEG,KAAK,CAAC,MAAN,IACC;AAAK,aAAS,EAAE,KAAK,CAAC,YAAtB;AAAoC,SAAK,EAAE;AAAE,cAAQ,EAAE,UAAZ;AAAwB,UAAI,EAAE,EAA9B;AAAkC,SAAG,EAAE,EAAvC;AAA2C,YAAM,EAAE;AAAnD;AAA3C,KACG,QAAO,KAAP,MAAiB,QAAjB,GACC,YAAY,GACV,YAAY,CAAC,KAAK,CAAC,MAAP,CADF,GAGV,oBAAC,gBAAD,EAAO;AACL,WAAO,EAAE,KAAK,CAAC,MAAN,CAAa,OADjB;AAEL,cAAU,EAAE,KAAK,CAAC,MAAN,CAAa,UAFpB;AAGL,gBAAY,EAAE,KAAK,CAAC,MAAN,CAAa;AAHtB,GAAP,CAJH,GAUG,IAXN,CAHJ,CADF;AAoBD,CAxBD;;AA0BA,kBAAe,UAAf,C;;;;;;;;;;;;;;;;;;;;;;;AC9BA;;AAEA,yH,CACA;;;AAEA,IAAM,WAAW,GAIX,SAJA,WAIA,OAAiD;AAAA,MAA9C,KAA8C,QAA9C,KAA8C;AAAA,MAAvC,MAAuC,QAAvC,MAAuC;AAAA,MAA/B,eAA+B,QAA/B,eAA+B;AAAA,MAAd,QAAc,QAAd,QAAc;;AAAA,0BACrB,iBAAS,KAAT,CADqB;AAAA;AAAA,MAC9C,QAD8C;AAAA,MACpC,WADoC;;AAErD,MAAM,UAAU,GAAG,SAAb,UAAa,CAAC,IAAD,EAAkB;AACnC,UAAM,CAAC,IAAI,GAAG,OAAH,GAAa,MAAlB,CAAN;AACA,eAAW,CAAC,IAAD,CAAX;AACD,GAHD;;AAIA,MAAM,kBAAkB,GAAG,iBAA3B;AACA,SACE,0CACG,QADH,EAEG,KAAK,CAAC,OAAN,IACC;AACE,SAAK,EAAE;AACL,cAAQ,EAAE,UADL;AAEL,YAAM,EAAE,MAFH;AAGL,YAAM,EAAE,QAAQ,GAAG,OAAH,GAAa,CAHxB;AAIL,YAAM,EAAE,IAJH;AAKL,WAAK,EAAE,MALF;AAML,YAAM,EAAE,QAAQ,GAAG,MAAH,GAAY;AANvB;AADT,KAUE,oBAAC,kBAAD,EAAmB;AACjB,UAAM,EAAE,MADS;AAEjB,cAAU,EAAE,UAFK;AAGjB,eAAW,EAAE,QAHI;AAIjB,kBAAc,EAAE,KAAK,CAAC,OAJL;AAKjB,mBAAe,EAAE,eAAe,IAAI,KAAK,CAAC;AALzB,GAAnB,CAVF,CAHJ,CADF;AAyBD,CApCD;;AAsCA,kBAAe,WAAf,C;;;;;;;;;;;;;;;ACzCa,sBAAc,UAAC,KAAD,EAAe,SAAf,EAAgF;AACvG,MAAI,QAAQ,GAAG,SAAS,CAAC,GAAV,CAAc,WAAC,EAAG;AAC7B,6BACO,CADP,EACQ;AACJ,kBAAY,EAAE,CAAC,CAAC,MAAF,CAAS,KAAT;AADV,KADR;AAIH,GALc,EAKZ,MALY,CAKL,WAAC;AAAA,WAAI,CAAC,CAAC,YAAF,CAAe,SAAnB;AAAA,GALI,CAAf;AAMA,UAAQ,CAAC,IAAT,CAAc,UAAC,CAAD,EAAI,CAAJ;AAAA,WAAU,CAAC,CAAC,YAAF,CAAe,QAAf,GAA0B,CAAC,CAAC,YAAF,CAAe,QAAnD;AAAA,GAAd;AACA,SAAO,QAAQ,CAAC,CAAD,CAAR,CAAY,QAAnB;AACH,CATY,C;;;;;;;;;;;;;;ACFb,SAAgB,SAAhB,GAAyB;AACvB,SAAO,MAAM,CAAC,WAAP,IAAsB,MAAM,CAAC,WAAP,CAAmB,GAAzC,GACH,MAAM,CAAC,WAAP,CAAmB,GAAnB,EADG,GAEH,IAAI,IAAJ,GAAW,OAAX,EAFJ;AAGD;;AAJD,8B;;;;;;;;;;;;;;ACAA;;AAEA,SAAS,YAAT,GAAqB;AACnB,MAAM,SAAS,GAAO,eAAO,KAAP,CAAtB;AAEA,oBAAU,YAAK;AACb,aAAS,CAAC,OAAV,GAAoB,IAApB;AAEA,WAAO,YAAK;AACV,eAAS,CAAC,OAAV,GAAoB,KAApB;AACD,KAFD;AAGD,GAND,EAMG,EANH;AAQA,SAAO,oBAAY;AAAA,WAAM,SAAS,CAAC,OAAhB;AAAA,GAAZ,EAAqC,EAArC,CAAP;AACD;;AAED,kBAAe,YAAf,C;;;;;;;;;;;;;;;;;;ACfA,mE,CAGA;;;AACA,IAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAG,iBAAO,QAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACd,oBADc,GACH,QAAQ,CAAC,GAAT,CAAa,UAAC,OAAD,EAAY;AACzC,qBAAO,IAAI,OAAJ,CAAY,UAAU,OAAV,EAAmB,MAAnB,EAAyB;AAC3C,oBAAG,CAAC,OAAO,CAAC,GAAZ,EAAiB;;AAEjB,oBAAG,OAAO,CAAC,IAAR,KAAiB,OAApB,EAA6B;AAC5B,sBAAM,KAAK,GAAG,QAAQ,CAAC,aAAT,CAAuB,OAAvB,CAAd;AACA,uBAAK,CAAC,GAAN,GAAY,OAAO,CAAC,GAApB;AACA,uBAAK,CAAC,YAAN,GAAqB,OAArB;AACA,uBAAK,CAAC,OAAN,GAAgB,MAAhB;AACA;AACA;;AAED,oBAAM,GAAG,GAAG,IAAI,KAAJ,EAAZ;AACA,mBAAG,CAAC,GAAJ,GAAU,OAAO,CAAC,GAAlB;AACA,mBAAG,CAAC,MAAJ,GAAa,OAAb;AACA,mBAAG,CAAC,OAAJ,GAAc,MAAd;AAEA,eAhBM,CAAP;AAiBA,aAlBgB,CADG;AAAA;AAAA,mBAqBd,OAAO,CAAC,GAAR,CAAY,QAAZ,CArBc;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAZ,YAAY;AAAA;AAAA;AAAA,GAAlB,C,CAwBA;;;AACA,IAAM,UAAU,GAAG,IAAI,GAAJ,EAAnB,C,CAEA;;AACA,IAAM,cAAc,GAAG,SAAjB,cAAiB,CAAC,QAAD,EAAsB;AAC5C,UAAQ,CAAC,OAAT,CAAiB,UAAC,OAAD,EAAY;AAC5B,cAAU,CAAC,GAAX,CAAe,OAAO,CAAC,GAAvB;AACA,GAFD;AAGA,CAJD,C,CAOA;;;AACA,IAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,OAAD,EAAmB;AACxC,MAAI,CAAC,OAAO,CAAC,GAAb,EAAkB,OAAO,KAAP;AAClB,MAAI,UAAU,CAAC,GAAX,CAAe,OAAO,CAAC,GAAvB,CAAJ,EAAiC,OAAO,KAAP;AACjC,MAAI,OAAO,CAAC,eAAR,KAA4B,SAAhC,EAA2C,OAAO,OAAO,CAAC,eAAf;AAC3C,MAAI,OAAO,CAAC,IAAR,KAAiB,OAArB,EAA8B,OAAO,KAAP;AAE9B,SAAO,IAAP;AACA,CAPD,C,CASA;AACA;AACA;;;AACa,uBAAe,UAAC,QAAD,EAAoB,MAApB,EAAoC,YAApC,EAA4D;AACvF,oBAAU,YAAK;AACd,QAAM,KAAK,GAAG,MAAM,GAAG,CAAvB;AACA,QAAM,GAAG,GAAG,MAAM,GAAG,YAAT,GAAwB,CAApC;AAEA,QAAM,SAAS,GAAG,QAAQ,CACxB,KADgB,CACV,KADU,EACH,GADG,EAEhB,MAFgB,CAET,aAFS,CAAlB;AAIA,kBAAc,CAAC,SAAD,CAAd;AACA,gBAAY,CAAC,SAAD,CAAZ;AACA,GAVD,EAUG,CAAC,MAAD,EAAS,YAAT,EAAuB,QAAvB,CAVH;AAWA,CAZY,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC3CA,Y;;;;;;;;;;;;;6BAEH;AAAA,wBAC4H,KAAK,KADjI;AAAA,UACM,YADN,eACM,YADN;AAAA,UACoB,MADpB,eACoB,MADpB;AAAA,UAC4B,IAD5B,eAC4B,IAD5B;AAAA,UACkC,WADlC,eACkC,WADlC;AAAA,UAC+C,SAD/C,eAC+C,QAD/C;AAAA,UACyD,UADzD,eACyD,UADzD;AAAA,8CACqE,gBADrE;AAAA,UACyF,KADzF,yBACyF,KADzF;AAAA,UACgG,QADhG,yBACgG,QADhG;AAAA,UAC0G,WAD1G,yBAC0G,WAD1G;AAGF,aACI;AAAK,iBAAS,EAAC;AAAf,SACK,KAAK,IAAI;AAAK,iBAAS,EAAC;AAAf,SAAoC,KAApC,CADd,EAEK,QAAQ,IAAI;AAAK,iBAAS,EAAC;AAAf,SAAuC,QAAvC,CAFjB,EAII;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,iBAAS,EAAC;AAAb,SAAoB,0DAApB,CADJ,EAEI;AAAO,YAAI,EAAC,cAAZ;AAA2B,WAAG,EAAC,KAA/B;AAAqC,aAAK,EAAE,YAA5C;AAA0D,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,SAAQ,CAAC,CAAD,CAAf;AAAA,SAApE;AAAwF,YAAI,EAAC,MAA7F;AAAoG,UAAE,EAAC,cAAvG;AAAsH,mBAAW,EAAC;AAAlI,QAFJ,CADJ,EAMI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,iBAAS,EAAC;AAAb,SAAoB,oDAApB,CADJ,EAEI;AAAO,YAAI,EAAC,QAAZ;AAAqB,WAAG,EAAC,KAAzB;AAA+B,aAAK,EAAE,MAAtC;AAA8C,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,SAAQ,CAAC,CAAD,CAAf;AAAA,SAAxD;AAA4E,YAAI,EAAC,MAAjF;AAAwF,UAAE,EAAC,QAA3F;AAAoG,mBAAW,EAAC;AAAhH,QAFJ,CANJ,EAWI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,iBAAS,EAAC;AAAb,SAAoB,yDAApB,CADJ,EAEI;AAAO,YAAI,EAAC,MAAZ;AAAmB,WAAG,EAAC,KAAvB;AAA6B,aAAK,EAAE,IAApC;AAA0C,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,SAAQ,CAAC,CAAD,CAAf;AAAA,SAApD;AAAwE,YAAI,EAAC,OAA7E;AAAqF,UAAE,EAAC,MAAxF;AAA+F,mBAAW,EAAC;AAA3G,QAFJ,EAGM,IAAI,IAAI,CAAC,UAAU,CAAC,IAArB,IAA8B;AAAG,iBAAS,EAAC;AAAb,SAAyC,WAAzC,CAHnC,CAXJ,EAiBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,iBAAS,EAAC;AAAb,SAAoB,yDAApB,CADJ,EAEI;AAAO,YAAI,EAAC,aAAZ;AAA0B,WAAG,EAAC,KAA9B;AAAoC,aAAK,EAAE,WAA3C;AAAwD,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,SAAQ,CAAC,CAAD,CAAf;AAAA,SAAlE;AAAsF,YAAI,EAAC,MAA3F;AAAkG,UAAE,EAAC,aAArG;AAAmH,mBAAW,EAAC;AAA/H,QAFJ,EAGM,WAAW,IAAI,CAAC,UAAU,CAAC,WAA5B,IAA4C;AAAG,iBAAS,EAAC;AAAb,SAAuC,sMAAvC,CAHjD,CAjBJ,CAJJ,CADJ;AA8BH;;;;EAnC6B,KAAK,CAAC,S;;AAAxC,oC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA;;IAUa,0B;;;;;;;;;;;;;6BAEH;AAAA,wBAC8F,KAAK,KADnG;AAAA,UACM,kBADN,eACM,kBADN;AAAA,UAC0B,aAD1B,eAC0B,aAD1B;AAAA,UACyC,gBADzC,eACyC,gBADzC;AAAA,UAC2D,MAD3D,eAC2D,MAD3D;AAAA,UACmE,sBADnE,eACmE,sBADnE;AAEF,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,aAAK,EAAE;AAAE,iBAAO,EAAE,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,GAAoC,CAApC,IAAyC;AAApD,SAAZ;AAA0E,iBAAS,EAAC;AAApF,SAEI;AAAO,YAAI,EAAC,MAAZ;AAAmB,UAAE,EAAC,WAAtB;AACI,gBAAQ,EAAE,kBADd;AAEI,gBAAQ;AAFZ,QAFJ,EAMI;AAAQ,iBAAS,EAAC;AAAlB,S,yDAAA,EACI;AAAK,iBAAS,EAAC;AAAf,QADJ,CANJ,CADJ,EAWK,MAAM,CAAC,MAAP,KAAkB,CAAlB,IAAuB;AAAM,iBAAS,EAAC;AAAhB,SAAiC,gIAAjC,CAX5B,EAYK,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,GAAoC,CAApC,IAAyC;AAAK,iBAAS,EAAC,aAAf;AAA6B,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAApC,SACrC,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,GAA3B,CAA+B,iBAAO;AAAA,eACnC;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,EAAE;AAA/B,WACI;AAAO,cAAI,EAAC,MAAZ;AAAmB,mBAAS,EAAC,cAA7B;AAA4C,eAAK,EAAE,aAAa,CAAC,OAAD,CAAb,CAAuB;AAA1E,UADJ,EAEI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAM,mBAAS,EAAC;AAAhB,WAA0C,sBAAsB,CAAC,OAAD,CAAhE,CADJ,EAEK,GAAG,CAAC,aAAa,CAAC,OAAD,CAAd,EAAyB,UAAzB,CAAH,IAA2C;AAAK,mBAAS,EAAC;AAAf,UAFhD,EAGI;AAAK,mBAAS,EAAC;AAAf,UAHJ,CAFJ,CADmC;AAAA,OAAtC,CADqC,CAZ9C,EAuBK,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,GAAoC,CAApC,IAAyC,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,GAAoC,CAA7E,IACE;AAAK,iBAAS,EAAC,SAAf;AAAyB,eAAO,EAAE;AAAA,iBAAM,QAAQ,CAAC,cAAT,CAAwB,WAAxB,EAAqC,KAArC,EAAN;AAAA;AAAlC,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAGM,6KAHN,CAxBP,EA4BK,CAAC,CAAC,gBAAgB,CAAC,MAAnB,IAA6B;AAAK,iBAAS,EAAC;AAAf,SACzB,gBAAgB,CAAC,GAAjB,CAAqB,cAAI;AAAA,eAAI;AAAM,aAAG,EAAE;AAAX,W,kCAAA,YAA4B,IAA5B,GAAiF,sKAAjF,CAAJ;AAAA,OAAzB,CADyB,CA5BlC,CADJ;AAkCH;;;;EAtC2C,KAAK,CAAC,S;;AAAtD,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICAa,qB;;;;;;;;;;;;;6BAEH;AAAA,wBAC8F,KAAK,KADnG;AAAA,UACM,kBADN,eACM,kBADN;AAAA,UAC0B,aAD1B,eAC0B,aAD1B;AAAA,UACyC,gBADzC,eACyC,gBADzC;AAAA,UAC2D,MAD3D,eAC2D,MAD3D;AAAA,UACmE,sBADnE,eACmE,sBADnE;AAEF,aACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,aAAK,EAAE;AAAE,iBAAO,EAAE,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,GAAoC,CAApC,IAAyC;AAApD,SAAZ;AAA0E,iBAAS,EAAC;AAApF,SACI;AAAO,YAAI,EAAC,MAAZ;AAAmB,UAAE,EAAC,WAAtB;AACI,gBAAQ,EAAE,kBADd;AAEI,gBAAQ;AAFZ,QADJ,EAKI;AAAQ,iBAAS,EAAC;AAAlB,S,yDAAA,EAEI;AAAK,iBAAS,EAAC;AAAf,QAFJ,CALJ,CADJ,EAYI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC,aAAf;AAA6B,aAAK,EAAE;AAAE,iBAAO,EAAE,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,KAAsC,CAAtC,IAA2C;AAAtD;AAApC,SAAkG,yDAAlG,CADJ,EAEI;AAAK,iBAAS,EAAC;AAAf,SACK,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,GAAoC,CAApC,IAAyC;AAAK,iBAAS,EAAC,aAAf;AAA6B,aAAK,EAAE;AAAE,eAAK,EAAE;AAAT;AAApC,SACrC,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,GAA3B,CAA+B,iBAAO;AAAA,eACnC;AAAK,mBAAS,EAAC,UAAf;AAA0B,aAAG,EAAE;AAA/B,WACI;AAAK,mBAAS,EAAC;AAAf,UADJ,EAEI;AAAO,cAAI,EAAC,MAAZ;AAAmB,aAAG,EAAC,KAAvB;AAA6B,eAAK,EAAE,aAAa,CAAC,OAAD,CAAb,CAAuB;AAA3D,UAFJ,CADmC;AAAA,OAAtC,CADqC,CAD9C,EAQK,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,GAAoC,CAApC,IAAyC,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,GAAoC,CAA7E,IACG;AAAK,iBAAS,EAAC,SAAf;AAAyB,eAAO,EAAE;AAAA,iBAAM,QAAQ,CAAC,cAAT,CAAwB,WAAxB,EAAqC,KAArC,EAAN;AAAA;AAAlC,SAAsF;AAAK,iBAAS,EAAC;AAAf,QAAtF,E,OAAA,EAAoI;AAAM,iBAAS,EAAC;AAAhB,SAA8B,kFAA9B,CAApI,E,OAAA,EAAgM,6EAAhM,CATR,EAUK,CAAC,CAAC,gBAAgB,CAAC,MAAnB,IAA6B;AAAK,iBAAS,EAAC;AAAf,SACzB,gBAAgB,CAAC,GAAjB,CAAqB,cAAI;AAAA,eAAI;AAAM,aAAG,EAAE;AAAX,W,kCAAA,YAA4B,IAA5B,GAAkF,uKAAlF,CAAJ;AAAA,OAAzB,CADyB,CAVlC,CAFJ,CAZJ,CADJ;AAgCH;;;;EApCsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICVa,K;;;;;;;;;;;;;6BACI;AAAA,UACD,OADC,GACW,KAAK,KADhB,CACD,OADC;;AAET,UAAI,OAAJ,EAAa;AACT,eACI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC;AAAf,UADJ,EAEI;AAAG,mBAAS,EAAC;AAAb,WAAoB,qFAApB,CAFJ,CADJ;AAMH,OAPD,MAOO;AACH,eACI;AAAK,mBAAS,EAAC;AAAf,WACI;AAAK,mBAAS,EAAC;AAAf,UADJ,EAEI;AAAG,mBAAS,EAAC;AAAb,WAAoB,oIAApB,CAFJ,EAGI;AAAG,mBAAS,EAAC;AAAb,WAAuB,4EAAvB,CAHJ,EAII;AAAQ,mBAAS,EAAC;AAAlB,WAAgC;AAAG,cAAI,EAAC;AAAR,WAAW,kFAAX,CAAhC,CAJJ,CADJ;AAQH;AACJ;;;;EApBsB,KAAK,CAAC,S;;AAAjC,sB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA,mBAAO,CAAC,mCAAD,CAAP;;AACA;;AACA;;AACA;;AACA;;IASa,0B;;;;;;;;;;;;;6BAEI;AAAA,wBAGQ,KAAK,KAHb;AAAA,UACD,gBADC,eACD,gBADC;AAAA,UACiB,eADjB,eACiB,eADjB;AAAA,UACkC,mBADlC,eACkC,mBADlC;AAAA,UACuD,QADvD,eACuD,QADvD;AAAA,UACiE,kBADjE,eACiE,kBADjE;AAAA,UACqF,aADrF,eACqF,aADrF;AAAA,UACoG,MADpG,eACoG,MADpG;AAAA,UAC4G,gBAD5G,eAC4G,gBAD5G;AAAA,UAC8H,sBAD9H,eAC8H,sBAD9H;AAAA,UAEL,YAFK,eAEL,YAFK;AAAA,UAES,MAFT,eAES,MAFT;AAAA,UAEiB,IAFjB,eAEiB,IAFjB;AAAA,UAEuB,WAFvB,eAEuB,WAFvB;AAAA,UAEoC,UAFpC,eAEoC,UAFpC;AAAA,UAEgD,qBAFhD,eAEgD,qBAFhD;AAAA,UAEuE,mBAFvE,eAEuE,mBAFvE;AAAA,UAE4F,OAF5F,eAE4F,OAF5F;AAAA,UAEqG,UAFrG,eAEqG,UAFrG;AAAA,UAEiH,OAFjH,eAEiH,OAFjH;AAAA,UAE0H,OAF1H,eAE0H,OAF1H;AAAA,UAEmI,oBAFnI,eAEmI,oBAFnI;AAAA,UAGL,SAHK,eAGL,SAHK;AAMT,UAAM,kBAAkB,GAAG,+DAA3B;AACA,UAAM,kBAAkB,GAAG;AAAG,YAAI,EAAE,kBAAT;AAA6B,iBAAS,EAAC,YAAvC;AAAoD,cAAM,EAAC;AAA3D,SAAmE,8FAAnE,CAA3B;AAEA,UAAM,QAAQ,GAAG;AACb,oBAAY,EAAE,WADD;AAEb,gBAAQ,EAAE;AACN,0BAAgB,EAAE,2HADZ;AAEN,qBAAW,EAAE;AAFP,SAFG;AAMb,wBAAgB,EAAE;AACd,eAAK,EAAE,cADO;AAEd,kBAAQ,EAAE,6LAFI;AAGd,qBAAW,EAAE;AAHC,SANL;AAWb,aAAK,EAAE,0C,sKAAA,EAAqC,kBAArC,EAAoF,oIAApF;AAXM,OAAjB;AAcA,aACI,iCACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAG,iBAAS,EAAC;AAAb,SACI;AAAG,iBAAS,EAAC,eAAb;AAA6B,YAAI,EAAC;AAAlC,QADJ,EAEI;AAAM,iBAAS,EAAC;AAAhB,SAAoC,QAAQ,CAAC,YAA7C,CAFJ,CAFJ,CADJ,EASI;AAAK,iBAAS,EAAC;AAAf,SACI,oBAAC,mBAAD,EAAS;AAAC,oBAAY,EAAE,QAAQ,CAAC,QAAxB;AAAkC,aAAK,EAAE,QAAzC;AAAmD,iBAAS,EAAE,SAA9D;AAA0E,gBAAQ,EAAE,gBAApF;AAAsG,uBAAe,EAAE,eAAe,IAAI,mBAAmB,GAAG;AAAhK,OAAT,CADJ,EAEM,eAAe,IAAI,mBAAmB,GAAG,CAA1C,IAAgD;AAAK,iBAAS,EAAC;AAAf,SAAoC,6JAApC,CAFrD,EAGI,oBAAC,uDAAD,EAA2B;AACvB,0BAAkB,EAAE,kBADG;AAEvB,qBAAa,EAAE,aAFQ;AAGvB,cAAM,EAAE,MAHe;AAIvB,wBAAgB,EAAE,gBAJK;AAKvB,8BAAsB,EAAE;AALD,OAA3B,CAHJ,EAWI;AAAK,iBAAS,EAAC;AAAf,QAXJ,EAaI,oBAAC,2BAAD,EAAa;AACT,oBAAY,EAAE,YADL;AAET,cAAM,EAAE,MAFC;AAGT,YAAI,EAAE,IAHG;AAIT,mBAAW,EAAE,WAJJ;AAKT,gBAAQ,EAAE,qBALD;AAMT,kBAAU,EAAE,UANH;AAOT,wBAAgB,EAAE,QAAQ,CAAC;AAPlB,OAAb,CAbJ,EAuBI;AAAK,iBAAS,EAAC;AAAf,QAvBJ,EAwBI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,iBAAS,EAAC;AAAb,SACI;AAAO,iBAAS,EAAC,UAAjB;AAA4B,UAAE,EAAC,mBAA/B;AAAmD,YAAI,EAAC,UAAxD;AAAmE,eAAO,EAAE,mBAA5E;AAAiG,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,qBAAqB,CAAC,CAAD,CAA5B;AAAA;AAA3G,QADJ,EAEK,QAAQ,CAAC,KAFd,EAGM,CAAC,mBAAD,IAAwB,mBAAmB,GAAG,CAA/C,IAAqD;AAAK,iBAAS,EAAC;AAAf,SAAiD,kHAAjD,CAH1D,CADJ,EAOI;AACI,gBAAQ,EAAE,oBADd;AAEI,iBAAS,EAAC,cAFd;AAGI,YAAI,EAAC,QAHT;AAII,eAAO,EAAE;AAJb,SAIuB,gCAJvB,CAPJ,CAxBJ,EAwCK,OAAO,IAAI,oBAAC,aAAD,EAAM;AAAC,eAAO,EAAE,OAAV;AAAmB,eAAO,EAAE;AAA5B,OAAN,CAxChB,CATJ,CADJ,CADJ;AAyDH;;;;EAlF2C,KAAK,CAAC,S;;AAAtD,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbA,mBAAO,CAAC,mCAAD,CAAP;;AAEA;;AACA;;AACA;;AACA;;IAOa,qB;;;;;;;;;;;;;6BAEI;AAAA,wBAI0E,KAAK,KAJ/E;AAAA,UACD,gBADC,eACD,gBADC;AAAA,UACiB,eADjB,eACiB,eADjB;AAAA,UACkC,mBADlC,eACkC,mBADlC;AAAA,UACuD,QADvD,eACuD,QADvD;AAAA,UAED,kBAFC,eAED,kBAFC;AAAA,UAEmB,aAFnB,eAEmB,aAFnB;AAAA,UAEkC,MAFlC,eAEkC,MAFlC;AAAA,UAE0C,gBAF1C,eAE0C,gBAF1C;AAAA,UAE4D,sBAF5D,eAE4D,sBAF5D;AAAA,UAGD,YAHC,eAGD,YAHC;AAAA,UAGa,MAHb,eAGa,MAHb;AAAA,UAGqB,IAHrB,eAGqB,IAHrB;AAAA,UAG2B,WAH3B,eAG2B,WAH3B;AAAA,UAGwC,UAHxC,eAGwC,UAHxC;AAAA,UAGoD,qBAHpD,eAGoD,qBAHpD;AAAA,UAG2E,mBAH3E,eAG2E,mBAH3E;AAAA,UAID,OAJC,eAID,OAJC;AAAA,UAIQ,UAJR,eAIQ,UAJR;AAAA,UAIoB,OAJpB,eAIoB,OAJpB;AAAA,UAI6B,OAJ7B,eAI6B,OAJ7B;AAAA,UAIsC,oBAJtC,eAIsC,oBAJtC;AAAA,UAI4D,SAJ5D,eAI4D,SAJ5D;AAMT,UAAM,aAAa,GAAG,kEAAtB;AACA,UAAM,cAAc,GAAG,mEAAvB;AACA,UAAM,aAAa,GAAG;AAAG,YAAI,EAAE,aAAT;AAAwB,iBAAS,EAAC;AAAlC,SAA8C,+DAA9C,CAAtB;AACA,UAAM,cAAc,GAAG;AAAG,YAAI,EAAE,cAAT;AAAyB,iBAAS,EAAC;AAAnC,SAA+C,uFAA/C,CAAvB;AAEA,UAAM,QAAQ,GAAG;AACb,oBAAY,EAAE,aADD;AAEb,gBAAQ,EAAE;AACN,0BAAgB,EAAE,uEADZ;AAEN,4CAAkC,EAAE,oDAF9B;AAGN,sDAA4C,EAAC,kDAHvC;AAIN,qBAAW,EAAE;AAJP,SAFG;AAQb,wBAAgB,EAAE;AACd,eAAK,EAAE,wBADO;AAEd,kBAAQ,EAAE,EAFI;AAGd,qBAAW,EAAE;AAHC,SARL;AAab,aAAK,EAAE,0C,mtDAAA,EAAiW,aAAjW,E,eAAA,EAAmX,cAAnX,EAA+Z,iHAA/Z;AAbM,OAAjB;AAgBA,aACI,iCACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAK,iBAAS,EAAC;AAAf,QADJ,EAEI;AAAG,iBAAS,EAAC;AAAb,S,oCAAA,EAAuC,mEAAvC,CAFJ,CADJ,EAMI,oBAAC,mBAAD,EAAS;AAAC,oBAAY,EAAE,QAAQ,CAAC,QAAxB;AAAkC,aAAK,EAAE,QAAzC;AAAmD,iBAAS,EAAE,SAA9D;AAAyE,gBAAQ,EAAE,gBAAnF;AAAqG,uBAAe,EAAE,eAAe,IAAI,mBAAmB,GAAG;AAA/J,OAAT,CANJ,EAOM,eAAe,IAAI,mBAAmB,GAAG,CAA1C,IAAgD;AAAK,iBAAS,EAAC;AAAf,SAAoC,6JAApC,CAPrD,EAQI,oBAAC,6CAAD,EAAsB;AAClB,0BAAkB,EAAE,kBADF;AAElB,qBAAa,EAAE,aAFG;AAGlB,cAAM,EAAE,MAHU;AAIlB,wBAAgB,EAAE,gBAJA;AAKlB,8BAAsB,EAAE;AALN,OAAtB,CARJ,EAgBI,oBAAC,2BAAD,EAAa;AACT,oBAAY,EAAE,YADL;AAET,cAAM,EAAE,MAFC;AAGT,YAAI,EAAE,IAHG;AAIT,mBAAW,EAAE,WAJJ;AAKT,gBAAQ,EAAE,qBALD;AAMT,kBAAU,EAAE,UANH;AAOT,wBAAgB,EAAE,QAAQ,CAAC;AAPlB,OAAb,CAhBJ,EA0BI;AAAG,iBAAS,EAAC;AAAb,SACI;AAAO,iBAAS,EAAC,UAAjB;AAA4B,UAAE,EAAC,mBAA/B;AAAmD,YAAI,EAAC,UAAxD;AAAmE,eAAO,EAAE,mBAA5E;AAAiG,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,qBAAqB,CAAC,CAAD,CAA5B;AAAA;AAA3G,QADJ,EAEK,QAAQ,CAAC,KAFd,CA1BJ,EA+BM,CAAC,mBAAD,IAAwB,mBAAmB,GAAG,CAA/C,IAAqD;AAAK,iBAAS,EAAC;AAAf,SAAgD,kHAAhD,CA/B1D,EAgCI;AACI,gBAAQ,EAAE,oBADd;AAEI,iBAAS,EAAC,cAFd;AAGI,YAAI,EAAC,QAHT;AAII,eAAO,EAAE;AAJb,SAIuB,gCAJvB,CAhCJ,EAuCK,OAAO,IAAI,oBAAC,aAAD,EAAM;AAAC,eAAO,EAAE,OAAV;AAAmB,eAAO,EAAE;AAA5B,OAAN,CAvChB,CADJ,CADJ,CADJ;AAgDH;;;;EA7EsC,KAAK,CAAC,S;;AAAjD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAQA,IAAM,EAAE,GAAG,OAAO,IAAlB;AACA,IAAM,aAAa,GAAG,EAAE,GAAG,CAA3B;AACA,IAAM,yBAAyB,GAAG,EAAE,GAAG,GAAvC;AACA,IAAM,mBAAmB,GAAG;AACxB,UAAQ,EAAE,eADc;AAExB,MAAI,EAAE,iBAFkB;AAGxB,MAAI,EAAE,iBAHkB;AAIxB,WAAS,EAAE,iBAJa;AAKxB,OAAK,EAAE;AALiB,CAA5B;;IAuCa,4B;;;;;AAET,wCAAmB,KAAnB,EAAwB;AAAA;;AAAA;;AACpB,sGAAM,KAAN;;AAkCI,uBAAa,YAAK;AACtB,UAAI,MAAK,KAAL,CAAW,eAAX,IAA8B,CAAC,MAAK,KAAL,CAAW,UAAX,CAAsB,IAArD,IAA6D,CAAC,MAAK,KAAL,CAAW,UAAX,CAAsB,WAApF,IAAmG,CAAC,MAAK,KAAL,CAAW,mBAAnH,EAAwI;AACpI,YAAI,qBAAJ,EAAgB;AACZ,gBAAK,0BAAL;AACH;;AACD,cAAK,QAAL,CAAc,mBAAS;AAAA,iBAAI,kBAAM,SAAN,EAAe;AAAE,+BAAmB,EAAE,SAAS,CAAC,mBAAV,GAAgC;AAAvD,WAAf,CAAJ;AAAA,SAAvB;;AACA;AACH,OAND,MAMO;AACH,cAAK,QAAL,CAAc;AAAE,iBAAO,EAAE;AAAX,SAAd;;AACA,YAAM,MAAM,GAAG,MAAM,CAAC,QAAP,CAAgB,MAAhB,CAAuB,QAAvB,CAAgC,WAAhC,CAAf;;AAEA,YAAI,MAAJ,EAAY;AACR,gBAAK,OAAL,CAAa,EAAb,EAAiB,IAAjB;AACH,SAFD,MAEO,IAAI,MAAM,CAAC,iBAAP,IAA4B,UAAhC,EAA4C;AAC/C,oBAAU,CAAC,KAAX,CAAiB,YAAK;AAClB,sBAAU,CAAC,OAAX,CAAmB,MAAM,CAAC,iBAA1B,EAA6C;AAAE,oBAAM,EAAE;AAAV,aAA7C,EAAmE,IAAnE,CAAwE,eAAK,EAAG;AAC5E,oBAAK,OAAL,CAAa,KAAb,EAAoB,KAApB;AACH,aAFD;AAGH,WAJD;AAKH;AACJ;AACJ,KArBO;;AAuBA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAU,iBAAO,KAAP,EAAsB,MAAtB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,8BAC4B,MAAK,KADjC,EACN,QADM,eACN,QADM,EACI,mBADJ,eACI,mBADJ;AAER,yBAFQ,GAEI,IAAI,eAAJ,CAAoB,MAAM,CAAC,QAAP,CAAgB,MAAhB,CAAuB,KAAvB,CAA6B,CAA7B,CAApB,CAFJ;AAGR,yBAHQ,GAGI,SAAS,CAAC,GAAV,CAAc,eAAd,KAAkC,IAHtC;AAIR,kCAJQ,GAIa,QAAQ,GAAG,QAAQ,CAAC,WAAT,EAAH,GAA4B,mBAAmB,CAAC,WAApB,EAJjD;AAKV,oBALU,GAKH;AACP,wBAAM,EAAE,MAAK,KAAL,CAAW,MADZ;AAEP,wBAAM,EAAE,MAAK,KAAL,CAAW,YAFZ;AAGP,uBAAK,EAAE,MAAK,KAAL,CAAW,IAHX;AAIP,uBAAK,EAAE,MAAK,KAAL,CAAW,WAJX;AAKP,sBAAI,EAAE,MAAK,KAAL,CAAW,QALV;AAMP,wBAAM,EAAE,MAAK,KAAL,CAAW,MANZ;AAOP,8BAAY,EAAE,MAAK,KAAL,CAAW,UAPlB;AAQP,uBAAK,EAAE,KARA;AASP,0BAAQ,EAAE,MAAM,CAAC,QAAD,CATT;AAUP,2BAAS,EAAE;AAVJ,iBALG;AAiBd,qBAAK,CAAC,IAAN,8BAAiC,SAAS,GAAG,SAAH,GAAe,EAAzD,SAA8D,MAAM,GAAG,YAAH,GAAkB,EAAtF,GAA4F,IAA5F,EACK,IADL,CACU,UAAC,GAAD;AAAA,yBAAc,GAAG,CAAC,MAAJ,KAAe,GAAf,IAAsB,MAAK,QAAL,CAAc;AAAE,2BAAO,EAAE,IAAX;AAAiB,2BAAO,EAAE,KAA1B;AAAiC,uCAAmB,EAAE;AAAtD,mBAAd,CAApC;AAAA,iBADV,EAEK,KAFL,CAEW,aAAG,EAAG;AACT,yBAAO,CAAC,GAAR,CAAY,KAAZ,EAAmB,GAAnB;;AACA,wBAAK,QAAL,CAAc;AAAE,2BAAO,EAAE;AAAX,mBAAd;AACH,iBALL;;AAjBc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAV;;AAAA;AAAA;AAAA;AAAA;;AAyBA,6BAAmB,UAAC,CAAD,EAAM;AAC7B,UAAM,KAAK,GAAG,CAAC,CAAC,MAAF,CAAS,KAAvB;;AACA,UAAI,KAAK,CAAC,MAAN,KAAiB,CAArB,EAAwB;AACpB,cAAK,QAAL,CAAc;AAAE,yBAAe,EAAE;AAAnB,SAAd;AACH,OAFD,MAEO;AACH,cAAK,QAAL,CAAc;AAAE,yBAAe,EAAE;AAAnB,SAAd;AACH;;AACD,YAAK,QAAL,CAAc;AAAE,gBAAQ,EAAE;AAAZ,OAAd;AACH,KARO;;AAUA,kCAAwB,UAAC,CAAD,EAAM;AAClC,UAAM,SAAS,GAAG,CAAC,CAAC,MAAF,CAAS,IAA3B;AACA,UAAM,KAAK,GAAG,CAAC,CAAC,MAAF,CAAS,KAAvB;AACA,UAAI,YAAY,GAAG,IAAnB;;AACA,UAAI,CAAC,CAAC,MAAF,CAAS,EAAT,KAAgB,aAApB,EAAmC;AAC/B,YAAI,OAAO,GAAG,eAAd;;AACA,YAAI,KAAJ,EAAW;AACP,sBAAY,GAAG,OAAO,CAAC,IAAR,CAAa,KAAb,CAAf;AACH;AACJ;;AAED,UAAI,CAAC,CAAC,MAAF,CAAS,EAAT,KAAgB,MAApB,EAA4B;AACxB,YAAI,QAAO,GAAG,2JAAd;;AACA,YAAI,KAAJ,EAAW;AACP,sBAAY,GAAG,QAAO,CAAC,IAAR,CAAa,KAAb,CAAf;AACH;AACJ;;AACD,UAAI,CAAC,CAAC,MAAF,CAAS,EAAT,KAAgB,mBAApB,EAAyC;AACrC,cAAK,QAAL,CAAc,mBAAS;AAAA,iBAAI,kBAAM,SAAN,EAAe;AAAE,+BAAmB,EAAE,CAAC,SAAS,CAAC;AAAlC,WAAf,CAAJ;AAAA,SAAvB;AACH;;AACD,YAAK,QAAL,CAAc,mBAAS;AAAA;;AAAA,kDAAQ,SAAR,EAAoB,KAApB,wCAAqC,kBAAO,SAAS,CAAC,UAAjB,sBAA8B,SAA9B,EAA0C,YAA1C,EAArC;AAAA,OAAvB;AACH,KArBO;;AAuBD,oBAAU,YAAK;AAClB,YAAK,WAAL;AACH,KAFM;;AAIC,6BAAmB,UAAC,MAAD,EAAmB;AAC1C,cAAQ,MAAR;AACI,aAAK,KAAL;AACI,gBAAK,QAAL,CAAc,mBAAS;AAAA,mBAAI,kBAAM,SAAN,EAAe;AAAE,wBAAU,EAAE,SAAS,CAAC,UAAV,GAAuB;AAArC,aAAf,CAAJ;AAAA,WAAvB;;AACA;;AACJ,aAAK,QAAL;AACI,gBAAK,QAAL,CAAc,mBAAS;AAAA,mBAAI,kBAAM,SAAN,EAAe;AAAE,wBAAU,EAAE,SAAS,CAAC,UAAV,GAAuB;AAArC,aAAf,CAAJ;AAAA,WAAvB;;AACA;;AACJ;AAAS;AAPb;AASH,KAVO;;AAYA,wBAAc,YAAK;AACvB,YAAK,QAAL,CAAc;AACV,cAAM,EAAE,EADE;AAEV,eAAO,EAAE,KAFC;AAGV,eAAO,EAAE,KAHC;AAIV,gBAAQ,EAAE,EAJA;AAKV,oBAAY,EAAE,EALJ;AAMV,cAAM,EAAE,EANE;AAOV,YAAI,EAAE,EAPI;AAQV,mBAAW,EAAE,EARH;AASV,kBAAU,EAAE,CATF;AAUV,kBAAU,EAAE;AAAE,cAAI,EAAE,IAAR;AAAc,qBAAW,EAAE;AAA3B,SAVF;AAWV,uBAAe,EAAE;AAXP,OAAd;AAaH,KAdO;;AAgBA,oCAA0B,YAAK;AACnC,YAAK,QAAL,CAAc;AAAE,4BAAoB,EAAE;AAAxB,OAAd;AACH,KAFO;;AAIA,mCAAyB,YAAK;AAClC,YAAK,QAAL,CAAc;AAAE,4BAAoB,EAAE;AAAxB,OAAd;AACH,KAFO;;AAIA,uCAA6B,YAAK;AAEtC,UAAI,YAAY,GAAG,IAAnB;;AAEA,UAAI,MAAK,KAAL,CAAW,eAAf,EAAgC;AAC5B,oBAAY,GAAG,yBAAf;AACH,OAFD,MAEO,IAAI,CAAC,MAAK,KAAL,CAAW,UAAX,CAAsB,IAA3B,EAAiC;AACpC,oBAAY,GAAG,OAAf;AACH,OAFM,MAEA,IAAI,CAAC,MAAK,KAAL,CAAW,UAAX,CAAsB,WAA3B,EAAwC;AAC3C,oBAAY,GAAG,cAAf;AACH,OAFM,MAEA,IAAI,CAAC,MAAK,KAAL,CAAW,mBAAhB,EAAqC;AACxC,oBAAY,GAAG,oBAAf;AACH;;AAED,UAAM,eAAe,GAAG,QAAQ,CAAC,aAAT,CAAuB,YAAvB,CAAxB;AACA,qBAAe,CAAC,cAAhB,CAA+B;AAC3B,gBAAQ,EAAE,QADiB;AAE3B,aAAK,EAAE;AAFoB,OAA/B;AAIH,KAnBO,CA5JgB,CAiLxB;;;AAEA,6BAAmB,YAAK;AACpB,UAAM,MAAM,GAAG,QAAQ,CAAC,aAAT,CAAuB,QAAvB,CAAf;AACA,YAAM,CAAC,GAAP,GAAa,qDAAb;AACA,YAAM,CAAC,IAAP,GAAc,iBAAd;AACA,YAAM,CAAC,EAAP,GAAY,UAAZ;AACA,cAAQ,CAAC,IAAT,CAAc,WAAd,CAA0B,MAA1B;AACH,KAND;;AAQA,mBAAS,UAAC,SAAD,EAAY,IAAZ,EAA0B;AAAA,8BACwB,SAAS,CAAC,MADlC;AAAA,UACvB,WADuB,qBACvB,WADuB;AAAA,UACV,eADU,qBACV,eADU;AAAA,UACO,YADP,qBACO,YADP;AAG/B,SAAG,CAAC,MAAJ,CAAW,MAAX,CAAkB;AACd,cAAM,EAAE,SAAS,CAAC,MADJ;AAEd,mBAAW,EAAE,IAAI,GAAG,CAAC,WAAR,CAAoB,WAApB,EAAiC,eAAjC,EAAkD,YAAlD;AAFC,OAAlB;AAIA,SAAG,CAAC,MAAJ,CAAW,WAAX,GAAyB;AACrB,UAAE,EAAE;AADiB,OAAzB;AAGA,YAAK,EAAL,GAAU,IAAI,GAAG,CAAC,EAAR,EAAV;AACA,UAAM,GAAG,aAAM,SAAS,CAAC,GAAhB,cAAuB,IAAI,CAAC,MAAL,GAAc,QAAd,GAAyB,MAAzB,CAAgC,CAAhC,CAAvB,cAA6D,IAAI,CAAC,IAAL,CAAU,OAAV,CAAkB,KAAlB,EAAyB,EAAzB,CAA7D,CAAT;AACA,UAAI,YAAY,GAAG;AACf,cAAM,EAAE,SAAS,CAAC,MADH;AAEf,WAAG,EAAE,GAFU;AAGf,mBAAW,EAAE,IAAI,CAAC;AAHH,OAAnB;;AAMA,YAAK,EAAL,CAAQ,qBAAR,CAA8B,YAA9B,EAA4C,UAAC,GAAD,EAAM,IAAN,EAAc;AACtD,YAAI,GAAJ,EAAS;AACL,iBAAO,CAAC,KAAR,CAAc,iBAAd,EAAiC,GAAjC;AACH;;AACD,YAAI,IAAJ,EAAU;AACN,gBAAK,uBAAL;;AACA,gBAAK,QAAL,CAAc;AAAE,yBAAa,oBAAO,MAAK,KAAL,CAAW,aAAlB,sBAAkC,IAAI,CAAC,KAAD,CAAtC,EAAgD;AAAE,sBAAQ,EAAE,IAAI,CAAC,IAAjB;AAAuB,sBAAQ,EAAE,CAAjC;AAAoC,uBAAS,EAAE,IAAI,CAAC;AAApD,aAAhD;AAAf,WAAd;;AACA,gBAAK,YAAL,CAAkB,IAAI,CAAC,QAAvB,EAAiC,SAAS,CAAC,MAA3C,EAAmD,CAAnD,EAAsD,IAAI,CAAC,IAAL,CAAU,IAAI,CAAC,IAAL,GAAY,aAAtB,CAAtD,EAA4F,IAA5F,EAAkG,GAAlG,EAAuG,EAAvG;AACH;AACJ,OATD;AAUH,KA5BD;;AA8BA,yBAAe,UAAC,QAAD,EAAmB,MAAnB,EAA2B,OAA3B,EAA4C,UAA5C,EAAgE,IAAhE,EAA4E,GAA5E,EAAyF,KAAzF,EAA4G;AACvH,UAAM,KAAK,GAAG,CAAC,OAAO,GAAG,CAAX,IAAgB,aAA9B;AACA,UAAM,GAAG,GAAG,OAAO,GAAG,aAAtB,CAFuH,CAEnF;;AACpC,UAAM,MAAM,GAAG;AACX,YAAI,EAAE,IAAI,CAAC,KAAL,CAAW,KAAX,EAAkB,GAAlB,CADK;AAEX,cAAM,EAAE,MAFG;AAGX,WAAG,EAAE,GAHM;AAIX,kBAAU,EAAE,OAJD;AAKX,gBAAQ,EAAE;AALC,OAAf,CAHuH,CAUvH;;AACA,YAAK,EAAL,CAAQ,UAAR,CAAmB,MAAnB,EAA2B,UAAC,GAAD,EAAM,IAAN,EAAc;AACrC,YAAI,GAAJ,EAAS;AACL,cAAM,aAAa,GAAG,MAAK,KAAL,CAAW,aAAjC;AACA,iBAAO,aAAa,CAAC,IAAI,CAAC,KAAD,CAAL,CAAb,CAA2B,QAAlC;;AACA,gBAAK,QAAL,CAAc;AAAE,yBAAa,EAAE;AAAjB,WAAd;;AACA,gBAAK,gBAAL;;AACA,iBAAO,CAAC,KAAR,CAAc,GAAd,EAAmB,GAAG,CAAC,KAAvB;AACH,SAND,MAOK;AACD,eAAK,CAAC,IAAN,CAAW,IAAI,CAAC,IAAhB;;AACA,cAAI,OAAO,KAAK,UAAhB,EAA4B;AACxB,kBAAK,QAAL,CAAc;AAAE,2BAAa,oBAAO,MAAK,KAAL,CAAW,aAAlB,sBAAkC,IAAI,CAAC,KAAD,CAAtC,EAAgD;AAAE,wBAAQ,EAAE,IAAI,CAAC,IAAjB;AAAuB,wBAAQ,EAAG,OAAO,GAAG,GAAX,GAAkB,UAAnD;AAA+D,yBAAS,EAAE;AAA1E,eAAhD;AAAf,aAAd;;AACA,kBAAK,YAAL,CAAkB,QAAlB,EAA4B,MAA5B,EAAoC,OAAO,GAAG,CAA9C,EAAiD,UAAjD,EAA6D,IAA7D,EAAmE,GAAnE,EAAwE,KAAxE;AACH,WAHD,MAGO;AACH,kBAAK,YAAL,CAAkB,MAAlB,EAA0B,QAA1B,EAAoC,GAApC,EAAyC,KAAzC;AACH;AACJ;AACJ,OAjBD;AAkBH,KA7BD;;AA+BA,yBAAe,UAAC,MAAD,EAAS,QAAT,EAAmB,GAAnB,EAAgC,KAAhC,EAAmD;AAC9D,UAAM,MAAM,GAAG;AACX,cAAM,EAAE,MADG;AAEX,WAAG,EAAE,GAFM;AAGX,uBAAe,EAAE;AACb,eAAK,EAAE,KAAK,CAAC,GAAN,CAAU,UAAC,IAAD,EAAO,KAAP;AAAA,mBACb;AACI,kBAAI,EAAE,IADV;AAEI,wBAAU,EAAE,KAAK,GAAG;AAFxB,aADa;AAAA,WAAV;AADM,SAHN;AAWX,gBAAQ,EAAE;AAXC,OAAf,CAD8D,CAc9D;;AACA,YAAK,EAAL,CAAQ,uBAAR,CAAgC,MAAhC,EAAwC,UAAC,GAAD,EAAM,IAAN,EAAc;AAClD,YAAI,GAAJ,EAAS;AACL,iBAAO,CAAC,KAAR,CAAc,GAAd,EAAmB,GAAG,CAAC,KAAvB;AACH,SAFD,MAGK;AACD,gBAAK,gBAAL,CAAsB,KAAtB;;AACA,gBAAM,CAAC,IAAP,CAAY,MAAK,KAAL,CAAW,aAAvB,EAAsC,GAAtC,CAA0C,UAAC,OAAD,EAAU,KAAV,EAAmB;AACzD,gBAAI,MAAK,KAAL,CAAW,aAAX,CAAyB,OAAzB,EAAkC,SAAlC,KAAgD,IAAI,CAAC,GAAzD,EAA8D;AAC1D,kBAAM,aAAa,GAAG,MAAK,KAAL,CAAW,aAAjC;AACA,qBAAO,aAAa,CAAC,OAAD,CAAb,CAAuB,QAA9B;;AACA,oBAAK,QAAL,CAAc;AAAE,6BAAa,EAAE;AAAjB,eAAd;AACH;AACJ,WAND;;AAOA,gBAAK,gBAAL;AACH;;AAAA;AACJ,OAfD;AAgBH,KA/BD;;AAiCA,6BAAmB,UAAC,MAAD,EAAc,IAAd,EAA4B;AAC3C,UAAM,SAAS,GAAG,MAAlB;AACA,UAAM,cAAc,GAAG,MAAK,KAAL,CAAW,MAAlC;;AACA,YAAK,MAAL,CAAY,SAAZ,EAAuB,IAAvB;;AACA,YAAK,QAAL,CAAc;AAAE,cAAM,+BAAM,cAAN,IAAsB,MAAM,CAAC,IAA7B;AAAR,OAAd;AACH,KALD;;AAOA,wBAAc,YAAK;AACf,UAAM,MAAM,GAAG,MAAM,CAAC,QAAP,CAAgB,MAAhB,CAAuB,QAAvB,CAAgC,WAAhC,CAAf;AACA,aAAO,IAAI,OAAJ,CAAY,UAAC,OAAD,EAAU,MAAV,EAAoB;AACnC,YAAG,MAAH,EAAW;AACP,cAAI,IAAI,GAAG;AAAC,iBAAK,EAAE,EAAR;AAAY,wBAAY,EAAE;AAA1B,WAAX;AACA,eAAK,CAAC,IAAN,uCAAiD,IAAjD,EAAuD,IAAvD,CAA4D,aAAG,EAAG;AAC9D,kBAAK,QAAL,CAAc;AAAE,sBAAQ,EAAE,GAAG,CAAC;AAAhB,aAAd;;AACA,mBAAO,OAAO,CAAC,GAAG,CAAC,IAAL,CAAd;AACH,WAHD;AAIH,SAND,MAMM,IAAI,MAAM,CAAC,iBAAP,IAA4B,UAAhC,EAA4C;AAC9C,oBAAU,CAAC,KAAX,CAAiB,YAAK;AAClB,sBAAU,CAAC,OAAX,CAAmB,MAAM,CAAC,iBAA1B,EAA6C;AAAE,oBAAM,EAAE;AAAV,aAA7C,EAAmE,IAAnE,CAAwE,eAAK,EAAG;AAC5E,kBAAI,IAAI,GAAG;AAAC,qBAAK,EAAE,KAAR;AAAe,4BAAY,EAAE;AAA7B,eAAX;AACA,mBAAK,CAAC,IAAN,6BAAuC,IAAvC,EAA6C,IAA7C,CAAkD,aAAG,EAAG;AACpD,sBAAK,QAAL,CAAc;AAAE,0BAAQ,EAAE,GAAG,CAAC;AAAhB,iBAAd;;AACA,uBAAO,OAAO,CAAC,GAAG,CAAC,IAAL,CAAd;AACH,eAHD;AAIH,aAND;AAOH,WARD;AASH;AACJ,OAlBM,CAAP;AAmBH,KArBD;;AAuBA,+BAAqB,UAAC,CAAD,EAAM;AACvB,UAAM,KAAK,GAAG,CAAC,CAAC,MAAF,CAAS,KAAvB;AADuB,UAEf,mBAFe,GAES,MAAK,KAFd,CAEf,mBAFe;;AAGvB,UAAI,KAAK,CAAC,MAAN,GAAe,CAAf,IAAoB,KAAK,CAAC,MAAN,GAAe,MAAM,CAAC,IAAP,CAAY,MAAK,KAAL,CAAW,aAAvB,EAAsC,MAArD,GAA8D,CAAtF,EAAyF;AACrF,aAAK,CAAC,mBAAmB,CAAC,mBAAD,CAApB,CAAL;AACH,OAFD,MAEO;AACH,YAAM,UAAU,GAAG,MAAK,gBAAL,CAAsB,KAAtB,CAAnB;;AACA,YAAI,CAAC,MAAK,KAAL,CAAW,QAAhB,EAA0B;AACtB,gBAAK,WAAL,GAAmB,IAAnB,CAAwB,aAAG,EAAG;AAC1B,kBAAK,SAAL,CAAe,UAAf;AACH,WAFD;AAGH,SAJD,MAIO;AACH,gBAAK,SAAL,CAAe,UAAf;AACH;AACJ;AACJ,KAfD;;AAiBA,6BAAmB,UAAC,KAAD,EAAkB;AAAA,UACzB,aADyB,GACP,MAAK,KADE,CACzB,aADyB;AAEjC,UAAM,QAAQ,GAAG,MAAM,CAAC,aAAD,EAAgB,UAAC,CAAD,EAAI,CAAJ;AAAA,eAAU,CAAC,KAAK,KAAhB;AAAA,OAAhB,CAAvB;;AACA,YAAK,QAAL,CAAc;AAAE,qBAAa,EAAE;AAAjB,OAAd;;AACA,YAAK,gBAAL,CAAsB,QAAtB;AACH,KALD;;AAOA,sBAAY,UAAC,KAAD,EAAe;AAAA,UACf,UADe,GACA,MAAK,KADL,CACf,UADe;;AAEvB,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAA1B,EAAkC,CAAC,EAAnC,EAAuC;AACnC,YAAI,IAAI,GAAS,KAAK,CAAC,CAAD,CAAtB;;AAEA,YAAI,MAAK,WAAL,CAAiB,IAAI,CAAC,IAAtB,CAAJ,EAAiC;AAC7B,cAAM,GAAG,GAAG,IAAI,CAAC,IAAL,CAAU,KAAV,CAAgB,GAAhB,EAAqB,GAArB,EAAZ;AACA,cAAI,GAAG,MAAK,UAAL,CAAgB,IAAhB,wBAAqC,UAAU,GAAG,CAAlD,cAAuD,GAAvD,EAAP;AACH;;AACD,YAAM,aAAa,GAAG,MAAK,KAAL,CAAW,aAAjC;AACA,YAAM,GAAG,GAAG,IAAI,CAAC,GAAL,EAAZ;AACA,qBAAa,CAAC,GAAD,CAAb,GAAqB;AAAE,kBAAQ,EAAE,IAAI,CAAC;AAAjB,SAArB;AACA,YAAI,CAAC,KAAD,CAAJ,GAAc,GAAd;;AACA,cAAK,QAAL,CAAc;AAAE,uBAAa,oBAAO,aAAP;AAAf,SAAd;;AACA,cAAK,gBAAL,CAAsB,MAAK,KAAL,CAAW,QAAjC,EAA2C,IAA3C;AACH;AACJ,KAhBD;;AAkBA,wBAAc,UAAC,GAAD,EAAQ;AAClB,aAAQ,iBAAD,CAAoB,IAApB,CAAyB,GAAzB,CAAP;AACH,KAFD;;AAIA,uBAAa,UAAC,YAAD,EAAe,OAAf,EAA0B;AACnC,aAAO,IAAI,IAAJ,CAAS,CAAC,YAAD,CAAT,EAAyB,OAAzB,EAAkC;AACrC,YAAI,EAAE,YAAY,CAAC,IADkB;AAErC,oBAAY,EAAE,YAAY,CAAC;AAFU,OAAlC,CAAP;AAIH,KALD;;AAOA,6BAAmB,YAAK;AACpB,UAAI,gBAAJ;AACA,YAAM,CAAC,IAAP,CAAY,MAAK,KAAL,CAAW,aAAvB,EAAsC,OAAtC,CAA8C,UAAC,OAAD,EAAY;AACtD,wBAAgB,GAAG,CAAC,GAAG,CAAC,MAAK,KAAL,CAAW,aAAX,CAAyB,OAAzB,CAAD,EAAoC,UAApC,CAAvB;AACH,OAFD;;AAIA,UAAI,gBAAJ,EAAsB;AAClB,cAAK,sBAAL;AACH,OAFD,MAEO;AACH,cAAK,uBAAL;AACH;AACJ,KAXD;;AAaA,6BAAmB,UAAC,KAAD,EAAkB;AAAA,UACzB,gBADyB,GACJ,MAAK,KADD,CACzB,gBADyB;AAEjC,UAAM,EAAE,GAAG,IAAI,YAAJ,EAAX;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAA1B,EAAkC,CAAC,EAAnC,EAAuC;AACnC,YAAM,IAAI,GAAG,KAAK,CAAC,CAAD,CAAlB;;AACA,YAAI,IAAI,CAAC,IAAL,GAAY,yBAAZ,IAAyC,IAAI,CAAC,IAAL,GAAY,CAAzD,EAA4D;AACxD,gBAAK,QAAL,CAAc;AAAE,4BAAgB,+BAAM,gBAAN,IAAwB,IAAI,CAAC,IAA7B;AAAlB,WAAd;;AACA;AACH;;AACD,UAAE,CAAC,KAAH,CAAS,GAAT,CAAa,IAAb;AACH;;AACD,aAAO,EAAE,CAAC,KAAV;AACH,KAZD;;AAcA,mCAAyB,UAAC,OAAD,EAAY;AACjC,UAAI,MAAK,KAAL,CAAW,aAAX,CAAyB,OAAzB,EAAkC,QAAtC,EAAgD;AAC5C,eAAO,IAAI,CAAC,KAAL,CAAW,MAAK,KAAL,CAAW,aAAX,CAAyB,OAAzB,EAAkC,QAA7C,IAAyD,GAAhE;AACH,OAFD,MAEO;AACH,eAAO,IAAP;AACH;AACJ,KAND;;AArYI,UAAK,KAAL,GAAa;AACT,cAAQ,EAAE,EADD;AAET,YAAM,EAAE,EAFC;AAGT,kBAAY,EAAE,EAHL;AAIT,YAAM,EAAE,EAJC;AAKT,UAAI,EAAE,EALG;AAMT,iBAAW,EAAE,EANJ;AAOT,aAAO,EAAE,KAPA;AAQT,aAAO,EAAE,KARA;AAST,gBAAU,EAAE,CATH;AAUT,qBAAe,EAAE,IAVR;AAWT,gBAAU,EAAE;AAAE,YAAI,EAAE,IAAR;AAAc,mBAAW,EAAE;AAA3B,OAXH;AAYT,yBAAmB,EAAE,KAZZ;AAaT,yBAAmB,EAAE,CAbZ;AAcT,0BAAoB,EAAE,KAdb;AAeT,mBAAa,EAAE,EAfN;AAgBT,cAAQ,EAAE,IAhBD;AAiBT,sBAAgB,EAAE;AAjBT,KAAb;AAmBA,UAAK,UAAL,GAAkB,MAAK,UAAL,CAAgB,IAAhB,+BAAlB;AArBoB;AAsBvB;;;;wCAIgB;AACb,WAAK,gBAAL;AACA;AACH;;;2CAEmB;AAChB;AACH,K,CA8WD;;;;6BAEa;AAAA,yBAC0D,KAAK,KAD/D;AAAA,UACD,QADC,gBACD,QADC;AAAA,UACS,SADT,gBACS,SADT;AAAA,UACoB,YADpB,gBACoB,YADpB;AAAA,UACkC,mBADlC,gBACkC,mBADlC;AAET,UAAM,eAAe,GAAG,QAAQ,GAAG,QAAH,GAAc,mBAA9C;AAEA,UAAM,sBAAsB,GAAG;AAC3B,YAAI,EAAE,oBAAC,6CAAD,EAAsB,kBACpB,KAAK,KADe,EACV;AACd,0BAAgB,EAAE,KAAK,gBADT;AAEd,4BAAkB,EAAE,KAAK,kBAFX;AAGd,gCAAsB,EAAE,KAAK,sBAHf;AAId,+BAAqB,EAAE,KAAK,qBAJd;AAKd,oBAAU,EAAE,KAAK,UALH;AAMd,iBAAO,EAAE,KAAK,OANA;AAOd,mBAAS,EAAE,SAPG;AAQd,cAAI,EAAE;AARQ,SADU,CAAtB,CADqB;AAY3B,iBAAS,EAAE,oBAAC,uDAAD,EAA2B,kBAC9B,KAAK,KADyB,EACpB;AACd,0BAAgB,EAAE,KAAK,gBADT;AAEd,4BAAkB,EAAE,KAAK,kBAFX;AAGd,gCAAsB,EAAE,KAAK,sBAHf;AAId,+BAAqB,EAAE,KAAK,qBAJd;AAKd,oBAAU,EAAE,KAAK,UALH;AAMd,iBAAO,EAAE,KAAK,OANA;AAOd,mBAAS,EAAE,SAPG;AAQd,cAAI,EAAE;AARQ,SADoB,CAA3B,CAZgB;AAuB3B,gBAAQ,EAAE,oBAAC,qDAAD,EAA0B,kBAC5B,KAAK,KADuB,EAClB;AACd,0BAAgB,EAAE,KAAK,gBADT;AAEd,4BAAkB,EAAE,KAAK,kBAFX;AAGd,gCAAsB,EAAE,KAAK,sBAHf;AAId,+BAAqB,EAAE,KAAK,qBAJd;AAKd,oBAAU,EAAE,KAAK,UALH;AAMd,iBAAO,EAAE,KAAK,OANA;AAOd,mBAAS,EAAE,SAPG;AAQd,cAAI,EAAE;AARQ,SADkB,CAA1B,CAvBiB;AAkC3B,aAAK,EAAE,oBAAC,qDAAD,EAA0B,kBACzB,KAAK,KADoB,EACf;AACd,0BAAgB,EAAE,KAAK,gBADT;AAEd,4BAAkB,EAAE,KAAK,kBAFX;AAGd,gCAAsB,EAAE,KAAK,sBAHf;AAId,+BAAqB,EAAE,KAAK,qBAJd;AAKd,oBAAU,EAAE,KAAK,UALH;AAMd,iBAAO,EAAE,KAAK,OANA;AAOd,mBAAS,EAAE,SAPG;AAQd,cAAI,EAAE;AARQ,SADe,CAA1B,CAlCoB;AA6C5B,gBAAQ,EAAG,oBAAC,qDAAD,EAA0B,kBACjC,KAAK,KAD4B,EACvB;AACd,0BAAgB,EAAE,KAAK,gBADT;AAEd,4BAAkB,EAAE,KAAK,kBAFX;AAGd,gCAAsB,EAAE,KAAK,sBAHf;AAId,+BAAqB,EAAE,KAAK,qBAJd;AAKd,oBAAU,EAAE,KAAK,UALH;AAMd,iBAAO,EAAE,KAAK,OANA;AAOd,mBAAS,EAAE,SAPG;AAQd,cAAI,EAAE;AARQ,SADuB,CAA1B;AA7CiB,OAA/B;AA0DA,aACI,0CACK,sBAAsB,CAAC,eAAD,CAD3B,CADJ;AAMH;;;;EAvd6C,KAAK,CAAC,S;;AACtC,8CAAiB,8BAAjB;AADlB,oE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1DA;;IASa,Q;;;;;;;;;;;;;6BAEH;AAAA,wBACoE,KAAK,KADzE;AAAA,UACM,KADN,eACM,KADN;AAAA,UACa,SADb,eACa,QADb;AAAA,UACuB,eADvB,eACuB,eADvB;AAAA,UACwC,YADxC,eACwC,YADxC;AAAA,UACsD,SADtD,eACsD,SADtD;AAEF,aACI;AAAK,UAAE,EAAC,wBAAR;AAAiC,iBAAS,EAAC;AAA3C,SACI;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,iBAAS,EAAC;AAAb,SAAiC,YAAY,CAAC,kCAA9C,E,MAAA,EAAuF,4HAAvF,CADJ,EAEI;AAAG,iBAAS,EAAC;AAAb,SAAiC,YAAY,CAAC,4CAA9C,CAFJ,EAGK,SAAS,IACN;AAAK,iBAAS,EAAC;AAAf,SACI;AAAG,YAAI,EAAC,4BAAR;AAAqC,iBAAS,EAAC,gBAA/C;AAAgE,cAAM,EAAC;AAAvE,SACI,gCADJ,EAEI,4CAFJ,CADJ,EAKI;AAAG,YAAI,EAAC,uBAAR;AAAgC,iBAAS,EAAC,gBAA1C;AAA2D,cAAM,EAAC;AAAlE,SACI,gCADJ,EAEI,4CAFJ,CALJ,CAJR,CADJ,EAiBI;AAAK,iBAAS,EAAC;AAAf,SACI,iCAAM,YAAY,CAAC,WAAnB,CADJ,EAEI;AAAU,WAAG,EAAC,KAAd;AAAoB,mBAAW,EAAE,YAAY,CAAC,WAA9C;AAA2D,aAAK,EAAE,KAAlE;AAAyE,gBAAQ,EAAE,kBAAC,CAAD;AAAA,iBAAO,SAAQ,CAAC,CAAD,CAAf;AAAA,SAAnF;AAAuG,gBAAQ,MAA/G;AAAgH,iBAAS,EAAE,UAAU,CAAC,SAAD,EAAY;AAAE,mCAAyB;AAA3B,SAAZ;AAArI,QAFJ,CAjBJ,CADJ;AAwBH;;;;EA5ByB,KAAK,CAAC,S;;AAApC,4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA,wE,CACA;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;A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","file":"widgets.bfe84876a7239f379976.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"widgets\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/wcm_static/frontend/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"vendors-widgets\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { CategoryTreeType } from \"pagesPage/stateInterfaces\"\nimport { getPageSubSite } from \"./../pagesPage/selectors\";\nimport { ImageDisplayData } from \"images/interfaces\"\nimport { getFrontImageUrl } from \"../front/staticServerRendering/frontImage\";\nimport { checkIfInServerPreviewMode, isWcmEditor } from \"config/serverConfig\"\nimport { ImageSIzeDefintion } from \"constants/imageSizes\";\nimport { PixelEnviromentTypes } from \"../marketing/pixels/stateInterface\";\n\n\n\nconst apiPrefix = API_URL_BASE;\ntype favoritesActionType = \"add\" | \"remove\";\n\nexport const userPermissions = () => `${apiPrefix}/user/permissions`\nexport const favoritesGet = () => `${apiPrefix}/user/pagefavorites/get`\nexport const favoriteOn = () => `${apiPrefix}/favorite/add`\nexport const favoriteOff = () => `${apiPrefix}/favorite/remove`\nexport const promotionOn = () => `${apiPrefix}/article/promotion`\nexport const promotionOff = () => `${apiPrefix}/article/promotion`\nexport const favoritesAction = (pageId: string, action: favoritesActionType) => `${apiPrefix}/user/pagefavorites/${action}/${pageId}/`\nexport const searchTags = (searchTerm: string) => `${apiPrefix}/tag/search/${searchTerm}`\nexport const searchYoutubeTags = (searchTerm: string) => `${apiPrefix}/videos/videoUpload/search/${searchTerm}`\nexport const searchAuthors = (searchTerm: string) => `${apiPrefix}/tag/authors/search/${searchTerm}`\nexport const searchCategory = (searchTerm: string) => `${apiPrefix}/categories/search/${searchTerm}`\nexport const searchUser = (searchTerm: string) => `${apiPrefix}/user/search/${searchTerm}`\nexport const getCategoryChildren = (parentId: string) => `${apiPrefix}/categories/getchildren/${parentId}`\nexport const getChildCategories = (parentId: string) => `${apiPrefix}/categories/getcategoriesbyparent/${parentId}`\nexport const getCategoryAncestors = (categoryId: string) => `${apiPrefix}/categories/getancestors/${categoryId}`\nexport const getCategoryPathFromRoot = (categoryId: string) => `${apiPrefix}/categories/get_id_path_to_root/${categoryId}`\nexport const getCategoryDetails = (categoryId: string | number ) => `${apiPrefix}/categories/details/${categoryId}`\nexport const getInheritedDetails = (categoryId: string) => `${apiPrefix}/categories/details/inherited/${categoryId}`\nexport const saveCategoryChanges = (categoryId: string) => `${apiPrefix}/categories/save/${categoryId}`\nexport const deleteCategory = (categoryId: string) => `${apiPrefix}/categories/delete/${categoryId}`\nexport const getCategoryDefaults = (categoryId: string) => `${apiPrefix}/article/getCategoryDefaults/${categoryId}`\nexport const getCategoryDefaultsByName = (categoryName: string) => `${apiPrefix}/article/getCategoryDefaultsByStatsName/${categoryName}`\nexport const searchUserGroup = (searchTerm: string) => `${apiPrefix}/usergroups/search/${searchTerm}`\nexport const getArticlesData = () => `${apiPrefix}/article/get_list`\nexport const redirectLink = (type: string, pageId: string) => `${apiPrefix}/redirectLink/${type}/${pageId}/`\nexport const getSubsite = () => `${apiPrefix}/subsite/getsubsite`\nexport const getCategoryVodSeasons = (categoryId: string) => `${apiPrefix}/categories/vodSeasonList/${categoryId}`\n\nexport const duplicateArticleToCategory = () => `${apiPrefix}/article/duplicateArticleToCategory`\nexport const duplicateArticleParallelCategories = () => `${apiPrefix}/article/duplicateArticleParallelCategories`    \nexport const cloneArticle = (articleId: string) => `${apiPrefix}/article/duplicate/${articleId}`\nexport const searchArticles = (searchTerm: string) => `${apiPrefix}/article/search/${searchTerm}`\nexport const searchArticleById = (articleId: string) => `${apiPrefix}/article/searchById/${articleId}`\nexport const releaseArticleLock = (articleId: string) => `${apiPrefix}/article/release_lock/${articleId}`\nexport const getTalkbacksData = () => `${apiPrefix}/talkbacks/get_talkbacks`\nexport const getBlockedIpsData = () => `${apiPrefix}/talkbacks/blockedIps`\nexport const saveTalkbacks = () => `${apiPrefix}/talkbacks/save`\nexport const getTalkbacksWords = () => `${apiPrefix}/talkbacks/words`\nexport const getTalkbackAddWord = () => `${apiPrefix}/talkbacks/words/add`\nexport const getTalkbackRemoveWord = () => `${apiPrefix}/talkbacks/words/remove`\nexport const getTagsData = () => `${apiPrefix}/tag/get_list`\nexport const tagSave = (dontRiseErrorOnExists: boolean = false) => `${apiPrefix}/tag/save?${dontRiseErrorOnExists ? \"dontRiseErrorOnExists\" : \"\"}`\nexport const getTagMerge = () => `${apiPrefix}/tag/merge`\nexport const tagLinkToArticles = () => `${apiPrefix}/tag/link_articles`\nexport const getTagCreate = () => `${apiPrefix}/tags/addNew`\nexport const getTagName = (tagId: string) => `${apiPrefix}/tags/get_name_by_id/${tagId}`\nexport const getArticleName = (articleId: string) => `${apiPrefix}/article/get_name_by_id/${articleId}`\nexport const getCategoryName = (categoryId: string) => `${apiPrefix}/categories/get_name_by_id/${categoryId}`\nexport const getImagesData = () => `${apiPrefix}/image/get_list`\nexport const getVideosData = () => `${apiPrefix}/videos/get_list`\nexport const actionsOnArticles = (actionToDo: string) => `${apiPrefix}/article/${actionToDo}/`\nexport const previewPageData = (pageId: string) => `${apiPrefix}/page/savePreview/${pageId}/`\nexport const previewArticleData = (articleId: string) => `${apiPrefix}/article/savePreview/${articleId}/`\nexport const getShortCutLinks = () => `${apiPrefix}/user/shortCutLinks/get`\nexport const saveShortCutLinks = () => `${apiPrefix}/user/shortCutLinks/save`\nexport const getUserAvatar = (userId: string) => `${apiPrefix}/user/upload_profile_image`\nexport const getArticleDetails = (articleId: string) => `${apiPrefix}/article/getArticleDetails/${articleId}`\nexport const getAnalyticsParam = (param_name: string) => `${apiPrefix}/article/get_analytics_param/${param_name}`\nexport const getArticleHistory = (articleHistoryId: string) => `${apiPrefix}/article/get_version/${articleHistoryId}`\nexport const akumAndPopularityReport = () => `${apiPrefix}/analytics/videos/report`\nexport const getAllStamps = () => `${apiPrefix}/image/stamps/get_all`\nexport const getStampImage = (imageName:string) => `${apiPrefix}/image/stamps/get_image/${imageName}`\nexport const writersSalaryReport = () => `${apiPrefix}/analytics/writesSalary/report`\n\nexport const getImageUrl = (image: ImageDisplayData | string, resize: ImageSIzeDefintion) => {\n    let url: string\n    let didCrop = false;\n    if (typeof (image) == \"string\") {\n        url = image;\n    } else {\n        if (!isWcmEditor() && !checkIfInServerPreviewMode()) {\n            return getFrontImageUrl(image, resize)\n        }\n        if (!image) {\n            return \"\";\n        }\n        if (image.editedImageUrl) {\n            return image.editedImageUrl;\n        } else if (image.x === undefined || image.y === undefined || image.width === undefined || image.height === undefined) {\n            url = image.url\n        } else {\n            if (!image.url) return \"\"\n            didCrop = true;\n            url = `${apiPrefix}/service/image/edit/?url=${image.url}`\n            if (image.rotate) url += `&rotate=${image.rotate}`\n            if (image.width && image.height) {\n                const imageCopy = { ...image }\n                if (imageCopy.x == null) imageCopy.x = 0;\n                if (imageCopy.y == null) imageCopy.y = 0;\n                url += `&crop=${imageCopy.x},${imageCopy.y},${Number(imageCopy.x) + Number(imageCopy.width)},${Number(imageCopy.y) + Number(imageCopy.height)}`\n            }\n            if (image.compositeType) {\n                url += `&compositeType=${image.compositeType}`\n            }\n        }\n    }\n    if (url && resize && (resize.h || resize.w)) {\n        if (!didCrop) url = `${apiPrefix}/service/image/edit/?url=${url}`\n        url += `&resize=${resize.w || \"\"},${resize.h || \"\"}`\n    }\n\n    return url || \"\";\n}\n\nexport const getImageAsLocalUrl = (imageUrl: string) => imageUrl\n\nexport const getSpecialTemplates = () => `${apiPrefix}/page/templates/getSpecialTemplates/`\nexport const getPageTemplatesDisplayDetails = (objecType: CategoryTreeType) => `${apiPrefix}/page/templates/getDisplayDetails/${objecType}`\nexport const getPageGrids = () => `${apiPrefix}/page/grids/getAll`\nexport const getPageNode = (pageId: string, timestamp: string) => `${apiPrefix}/page/${pageId}${timestamp ? `?last=${timestamp}` : ``}`\nexport const savePageChanges = (pageId: string) => `${apiPrefix}/page/save/${pageId}`\nexport const deletePage = (pageId: string) => `${apiPrefix}/page/delete/${pageId}`\nexport const publishPage = (pageId: string) => `${apiPrefix}/page/publish/${pageId}`\nexport const unpublishPage = (pageId: string) => `${apiPrefix}/page/unpublish/${pageId}`\nexport const cloningPage = (pageId: string) => `${apiPrefix}/page/clone/${pageId}`\nexport const sendPageSelectedBackgroundImage = () => `${apiPrefix}/page/updateBackgroundImage`\nexport const releaseMyLocksInPage = (pageId: string) => `${apiPrefix}/page/releaseMyLocks/${pageId}`\nexport const pageCloneCategory = () => `${apiPrefix}/page/pageCloneCategoryF`\nexport const lockPage = (pageId: string) => `${apiPrefix}/page/lock/${pageId}`\nexport const releasePageLock = (pageId: string) => `${apiPrefix}/page/releaseLock/${pageId}`\n\n\nexport const saveArticle = () => `${apiPrefix}/article/save`\n\n\nexport const getArticle = (articleId: string, lockArticle = true) => `${apiPrefix}/article/get_article/${articleId}${lockArticle ? `?locked=${lockArticle}` : ``}`\nexport const createSubCategory = (parentId: string) => `${apiPrefix}/categories/sub/add/${parentId}`\n\nexport const searchUsers = () => `${apiPrefix}/user/get_list`\n\nexport const getUser = (userId: string) => `${apiPrefix}/user/get/${userId}`\nexport const saveUser = () => `${apiPrefix}/user/save`\nexport const checkUser = (userName) => `${apiPrefix}/user/check_ad_valid/${userName}`\n\nexport const saveGroupsAndRoles = () => `${apiPrefix}/user/group/save_groups/`\nexport const getGroupsAndRoles = () => `${apiPrefix}/user/group/get_groups/`\n\nexport const uploadImages = () => `${apiPrefix}/image/upload`\n\nexport const createArchiveFolder = () => `${apiPrefix}/videos/videoUpload/createArchiveFolder`\nexport const deleteYoutubeVideo = (mediaVideoId: string) => `${apiPrefix}/videos/videoUpload/delete_youtube/${mediaVideoId}`\nexport const deleteVideo = (mediaVideoId: string) => `${apiPrefix}/videos/videoUpload/delete/${mediaVideoId}`\nexport const saveVideo = () => `${apiPrefix}/videos/videoUpload/save`\nexport const getVideos = (status: string) => `${apiPrefix}/videos/showVideos/${status ? status : \"all\"}`\nexport const getVideoDetails = () => `${apiPrefix}/videos/videoUpload/getDetails`\nexport const getProductionTypeOptions = () => `${apiPrefix}/videos/videoUpload/getProductionTypeOptions/`\nexport const saveEditedImage = (imageId: string) => `${apiPrefix}/image/update/${imageId}`\nexport const deleteEditedImage = (imageId: string) => `${apiPrefix}/image/remove/${imageId}`\n\nexport const logImageUse = (imageId: string) => `${apiPrefix}/image/logImageUse/${imageId}`\nexport const lockComponenta = (componentaId: string) => `${apiPrefix}/page/lockComponenta/${componentaId}`\nexport const releaseComponenta = (componentaId: string) => `${apiPrefix}/page/releaseComponenta/${componentaId}`\nexport const getComponentaExtraData = (componetaType: string) => `${apiPrefix}/page/getComponentaExtraData/${componetaType}`\n\nexport const getArticleActionsHistory = (articleId: string) => `${apiPrefix}/article/getActionHistory/${articleId}`\nexport const logVideoUse = (videoId: string) => `${apiPrefix}/videos/logVideoUse/${videoId}`\n\n// pushes\nexport const loadPush = (pushId: string) => `${apiPrefix}/notification/loadPush/${pushId}`\nexport const getPushPackages = (restricted: boolean = false) => `${apiPrefix}/notification/loadPushPackages/${restricted ? \"restricted\" : \"\"}`\nexport const deletePush = (pushId: string) => `${apiPrefix}/notification/delete/${pushId}`\nexport const getPushSearchResults = () => `${apiPrefix}/notification/getPushSearchResults`\nexport const savePush = () => `${apiPrefix}/notification/save`\n\n// files\nexport const uploadFiles = () => `${apiPrefix}/file/upload`\nexport const saveEditedFile = (fileId: string) => `${apiPrefix}/file/update/${fileId}`\nexport const deleteEditedFile = (fileId: string) => `${apiPrefix}/file/remove/${fileId}`\nexport const getFilesData = () => `${apiPrefix}/file/get_list`\nexport const uploadDocument = () => `${apiPrefix}/article/auto_article/convert_file_to_json/`\nexport const getS3PolicyData = () => `${apiPrefix}/videos/s3/get_policy`\nexport const checkS3Exist = () => `${apiPrefix}/videos/s3/exist`\nexport const sendS3Log = () => `${apiPrefix}/videos/s3/log`\nexport const uploadArticleAttachedFile = () => `${apiPrefix}/article/upload_attached_file/`\nexport const finishVideoUpload = () => `${apiPrefix}/ynethd_transcoder/encode_video`\n\n// hot updates\nexport const createHotUpdatesGroup = () => `${apiPrefix}/hot_updates/save_group`\nexport const updateHotUpdatesGroup = () => `${apiPrefix}/hot_updates/save_group`\nexport const getHotUpdatesGroups = () => `${apiPrefix}/hot_updates/groups_list`\nexport const deleteHotUpdateGroup = (groupId: string) => `${apiPrefix}/hot_updates/remove_group/${groupId}`\nexport const createNewHotUpdateItem = () => `${apiPrefix}/hot_updates/save_item`\nexport const updateHotUpdatesItem = () => `${apiPrefix}/hot_updates/save_item`\nexport const getHotUpdatesItemsByGroup = (groupId: string) => `${apiPrefix}/hot_updates/items_list/${groupId}`\nexport const deleteHotUpdateItem = (itemId: string) => `${apiPrefix}/hot_updates/remove_item/${itemId}`\nexport const getGroupsForArticle = () => `${apiPrefix}/hot_updates/groups_list/items_exists`\n\n// marketing - pixels\nexport const createNewPixelsGroup = () => `${apiPrefix}/marketing/pixels/saveGroup`\nexport const updatePixelsGroup = () => `${apiPrefix}/marketing/pixels/saveGroup`\nexport const createNewPixel = () => `${apiPrefix}/marketing/pixels/savePixel`\nexport const updateNewPixel = () => `${apiPrefix}/marketing/pixels/savePixel`\nexport const getPixelsPageData = (env: PixelEnviromentTypes = \"desktop\") => `${apiPrefix}/marketing/pixels/getPixelPage/${env}`\nexport const deletePixel = () => `${apiPrefix}/marketing/pixels/removePixel`\nexport const deletePixelsGroup = () => `${apiPrefix}/marketing/pixels/removeGroup`\n\n// content sharing\nexport const isContentSharingSrcNameAvailable = (srcName: string) => `${apiPrefix}/page/isContentSharingSrcNameAvailable/${srcName}`\nexport const searchContentSharingSrcName = () => `${apiPrefix}/page/searchContentSharingSrcName`\nexport const getComponentaDataJson = (componentaId: string) => `${apiPrefix}/page/getComponentaDataJson/${componentaId}`\n\n// calcalist\nexport const searchStocks = (text: string) => `${apiPrefix}/calcalist/stock/search_stock/${text}`\n\n// google auto article\nexport const saveAutoArticleTable = () => `${apiPrefix}/article/automation/save`\nexport const loadAutoArticleTable = (article_id: string) => `${apiPrefix}/article/automation/load/${article_id}`\nexport const getColumnValue = (article_id: string, column_id: string, value_start_with: string) => `${apiPrefix}/article/automation/column_values/${article_id}/${column_id}/${value_start_with}`\nexport const getPushKeys = (article_id: string, column_id: string) => `${apiPrefix}/article/automation/column_values/${article_id}/${column_id}/`\nexport const sendAutoArticlePush = (article_id: string) => `${apiPrefix}/article/automation/push/${article_id}/send`\nexport const getLogsAutoArticlePush = (article_id: string) => `${apiPrefix}/article/automation/push/${article_id}/log`\nexport const getPushTypeKeys = (pushType: string, text?: string) => `${apiPrefix}/article/auto_article/${pushType}/${text ? text : ''}`\nexport const getEncodedMainKeys = (pushType: string) => `${apiPrefix}/article/auto_article/get_encoded_push_keys/${pushType}`\nexport const shortLoadAutoArticleTable = (article_id: string) => `${apiPrefix}/article/automation/short_load/${article_id}`\n\n// real time\nexport const realTimeReport = () => `${apiPrefix}/statistics/realtimereport`\nexport const realTimeMinutesAgo = () => `${apiPrefix}/statistics/realtimeminutesago`\n\n// related articles\nexport const videoRelatedArticles = (video_id: string) => `${apiPrefix}/linked_resources/get_articles/video/${video_id}`\nexport const imageRelatedArticles = (image_id: string) => `${apiPrefix}/linked_resources/get_articles/image/${image_id}`\n\n// yokra\nexport const getYokraNewspaperByDate = (date: string) => `${apiPrefix}/newspaper/get_newspapers/${date}/`\nexport const saveYokraNewspaperPage = (pageId: number) => `${apiPrefix}/newspaper/save_supplement_page/${pageId}/`\nexport const saveYokraNespaperSupplement = (date: string) => `${apiPrefix}/newspaper/save_supplement/${date}/`\nexport const lockYokraPage = (pageId: number) => `${apiPrefix}/newspaper/lock_supplement_page/${pageId}/`\nexport const releaseYokraPage = (pageId: number) => `${apiPrefix}/newspaper/release_supplement_page/${pageId}/`\nexport const getSupplementPage = (pageId: number) => `${apiPrefix}/newspaper/get_supplement_page/${pageId}`\nexport const getRelatedArticles = (pageId: number) => `${apiPrefix}/newspaper/page/${pageId}/get_related_articles`\nexport const getYokraStatus = (date: string) => `/tasks/pdf/new_publish/${date}`\nexport const getYokraConfig6Json = (date: string) => `/newspaper/mrss/config/6/${date}/`\nexport const toggleYokraSuppelmentPagesEnable = () => `${apiPrefix}/newspaper/set_active_supplement/`\nexport const getNewspaperTypes = () => `${apiPrefix}/newspaper/get_newspaper_types`\n\n\n\n\n// configFileEditor\nexport const saveSiteConfigFiles = () => `${apiPrefix}/site_config_files/save_version`\nexport const getSiteConfigFiles = () => `${apiPrefix}/site_config_files/get_versions/`\n\n// General Params\nexport const getGPListByName = (gpName: string) => `${apiPrefix}/parameters/get_list/${gpName}`\nexport const saveGP = () => `${apiPrefix}/parameters/save`\nexport const deleteGP = (gpId: number) => `${apiPrefix}/parameters/delete/${gpId}`\n\n// Article Reports\nexport const getArticleReports = (articleId: string, startDateFormatted: string, endDateFormatted: string) =>\n`${apiPrefix}/statistics/article_report/?start_date=${startDateFormatted}&end_date=${endDateFormatted}&partial_url=${articleId}`\n\n//Transcriptions\nexport const getTranscriptionS3PolicyData = () => `${apiPrefix}/transcriber/s3/get_policy`;\nexport const getTranscriptionApiUrl = () => `${apiPrefix}/transcriber/get_api_url`;\nexport const createTranscription = () => `${apiPrefix}/`;\n","import * as Route from \"route-parser\"\nimport { NODE_NEW_ID } from \"pagesPage/consts\"\n\nexport const ARTICLES = \"articles\";\nexport const DUPLICATE_ARTICLES = \"duplicateArticles\";\nexport const FLASHES = \"articleFlashes\";\nexport const ARTICLE = `${ARTICLES}/:articleId`\nexport const UITEST = \"uitest\";\nexport const PAGES = \"pages\";\nexport const PAGE = \"(:pageId)\"\nexport const PAGE_PREVIEW = \"pagePreview/:pageId\"\nexport const NEWPAGE = \"new\"\nexport const CATEGORY = \"category/:categoryId\"\nexport const ARTICLETEMPLATEDETAILS = \"articleTemplateDetails/:articleTemplateDetailsId\"\nexport const TALKBACKS = \"talkbacks\";\nexport const USERS = \"users\";\nexport const USERS_EDIT = `edit/:userId`;\nexport const ROLES = \"roles\";\nexport const WORDS = \"words\";\nexport const TAGS = \"tags\";\nexport const MEDIA = \"media\";\nexport const IMAGES_UPLOAD = \"imagesUpload\";\nexport const VIDEO_UPLOAD = \"videoUpload\";\nexport const VIDEO_YOUTUBE_UPLOAD = \"videoYoutubeUpload/\";\nexport const VIDEO_YOUTUBE_EDIT = \"edit/:videoId\";\nexport const VIDEO_MANAGER = \"videosManager\";\nexport const CREATE_TRANSCRIPTION = \"createTranscription\";\nexport const TRANSCRIPTION_MANAGER = \"transcriptionManager\";\nexport const FILES_UPLOAD = \"filesUpload\";\nexport const IMAGES_MANAGER = \"imagesManager\";\nexport const VIDEOS_MANAGER = \"videosManager\";\nexport const FILES_MANAGER = \"filesManager\";\nexport const PUSH = \"push\";\nexport const PUSH_ITEM = \"edit/:pushId\";\nexport const MARKETING = \"marketing\";\nexport const HOTUPDATES = `hotUpdates`\nexport const REPORTS = 'reports'\nexport const REAL_TIME = `${REPORTS}/realTime`\nexport const ARTICLE_REPORT = `${REPORTS}/articleReport`\nexport const AKUM_AND_POPULARITY_REPORTS = `${REPORTS}/akumAndPopularityReports`\nexport const YOKRA = 'yokra'\nexport const CONFIG_FILE_EDITOR = 'configFileEditor'\nexport const ARTICLE_BODY_ADS_CONFIG = 'articleBodyAdsConfig'\nexport const WRITERS_SALARY_REPORTS = `${REPORTS}/writesSalaryReports`\n\nconst addStartingSlashIfMissing = (path: string) => path && path.startsWith(\"/\") ? path : \"/\" + path;\n\n\nconst articlesRoute = new Route(`/${ARTICLES}`);\nexport function matchArticlesPath(path: string) {\n    return articlesRoute.match(addStartingSlashIfMissing(path))\n}\nconst duplicateArticlesRoute = new Route(`/${DUPLICATE_ARTICLES}`);\nexport function matchDuplicateArticlesPath(path: string) {\n    return duplicateArticlesRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst articleFlashesRoute = new Route(`/${FLASHES}`);\nexport function matchArticleFlashesPath(path: string) {\n    return articleFlashesRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst articleRoute = new Route(`/${ARTICLE}`);\nexport function articlePath(articleId: string) {\n    return articleRoute.reverse({ articleId });\n}\nexport function matchArticlePath(path: string) {\n    return articleRoute.match(addStartingSlashIfMissing(path));\n}\n\nconst pagesRoute = new Route(`/${PAGES}`)\nexport function matchPagesPath(path: string) {\n    return pagesRoute.match(addStartingSlashIfMissing(path))\n}\nconst pageRoute = new Route(`/${PAGES}/${PAGE}`)\nexport function pagePath(pageId: string) {\n    return pageRoute.reverse({ pageId })\n}\nexport function matchPagePath(path: string) {\n    return pageRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst pagePreviewRoute = new Route(`/${PAGES}/${PAGE_PREVIEW}`);\nexport function pagePreviewPath(pageId: string) {\n    return pagePreviewRoute.reverse({ pageId })\n}\n\nconst newPageRoute = new Route(`/${PAGES}/${NEWPAGE}`)\nexport function newPagePath() {\n    return `/${PAGES}/${NEWPAGE}`\n}\nexport function matchNewPagePath(path: string) {\n    return newPageRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst categoryRoute = new Route(`/${PAGES}/${CATEGORY}`)\nexport function categoryPath(categoryId: string) {\n    return categoryRoute.reverse({ categoryId })\n}\nexport function matchCategoryPath(path: string) {\n    return categoryRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst articleTemplateDetailsRoute = new Route(`/${PAGES}/${ARTICLETEMPLATEDETAILS}`)\nexport function articleTemplateDetailsPath(articleTemplateDetailsId: string) {\n    return articleTemplateDetailsRoute.reverse({ articleTemplateDetailsId })\n}\nexport function matchArticleTemplateDetailsPath(path: string) {\n    return articleTemplateDetailsRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst userEditRoute = new Route(`/${USERS}/${USERS_EDIT}`)\nconst userSearchRoute = new Route(`/${USERS}`)\nexport function usersSearchPath() {\n    return userSearchRoute.reverse({});\n}\nexport function userEditPath(userId: string) {\n    return userEditRoute.reverse({ userId });\n}\nexport function matchUserEditPath(path: string) {\n    return userEditRoute.match(addStartingSlashIfMissing(path));\n}\nexport function matchUsersEditPath(path: string) {\n    return userSearchRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst talkbacksRoute = new Route(`/${TALKBACKS}`);\nexport function matchTalkbacksPath(path: string) {\n    return talkbacksRoute.match(addStartingSlashIfMissing(path))\n}\nconst wordsRoute = new Route(`/${TALKBACKS}/${WORDS}`)\nexport function matchWordsPath(path: string) {\n    return wordsRoute.match(addStartingSlashIfMissing(path))\n}\nconst tagsRoute = new Route(`/${TAGS}`);\nexport function matchTagsPath(path: string) {\n    return tagsRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst mediaRoute = new Route(`/${MEDIA}`)\nexport function matchMediaVRoute(path: string) {\n    return mediaRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst imagesUpload = new Route(`/${MEDIA}/${IMAGES_UPLOAD}`)\nexport function matchImagesUpload(path: string) {\n    return imagesUpload.match(addStartingSlashIfMissing(path))\n}\n\nconst mediaVideoUploadRoute = new Route(`/${MEDIA}/${VIDEO_UPLOAD}`);\nexport function matchMediaVideoUploadRoute(path: string) {\n    return mediaVideoUploadRoute.match(addStartingSlashIfMissing(path))\n}\nconst mediaVideoYoutubeUploadRoute = new Route(`/${MEDIA}/${VIDEO_YOUTUBE_UPLOAD}`);\nexport function matchMediaVideoYoutubeUploadRoute(path: string) {\n    return mediaVideoYoutubeUploadRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst mediaVideoYoutubeEditRoute = new Route(`/${MEDIA}/${VIDEO_YOUTUBE_UPLOAD}/${VIDEO_YOUTUBE_EDIT}`);\nexport function matchMediaVideoYoutubeEditRoute(path: string) {\n    return mediaVideoYoutubeEditRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst mediaVideoManagerRoute = new Route(`/${MEDIA}/${VIDEO_MANAGER}`);\nexport function matchMediaVideoManagerRoute(path: string) {\n    return mediaVideoManagerRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst mediaCreateTranscriptionRoute = new Route(`/${MEDIA}/${CREATE_TRANSCRIPTION}`);\nexport function matchCreateTranscriptionRoute(path: string) {\n    return mediaCreateTranscriptionRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst mediaTranscriptionManagerRoute = new Route(`/${MEDIA}/${TRANSCRIPTION_MANAGER}`);\nexport function matchTranscriptionManagerRoute(path: string) {\n    return mediaTranscriptionManagerRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst filesUploadRoute = new Route(`/${MEDIA}/${FILES_UPLOAD}`);\nexport function matchFilesUpload(path: string) {\n    return filesUploadRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst userGroupsRoute = new Route(`/${USERS}/${ROLES}`);\nexport function matchUserGroups(path: string) {\n    return userGroupsRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst marketingPixels = new Route(`/${MARKETING}`);\nexport function matchMarketingPixelsPath(path: string) {\n    return marketingPixels.match(addStartingSlashIfMissing(path))\n}\nconst pushRoute = new Route(`/${PUSH}`);\nexport function matchPushPath(path: string) {\n    return pushRoute.match(addStartingSlashIfMissing(path))\n}\n\nconst pushItemRoute = new Route(`/${PUSH}/${PUSH_ITEM}`);\nexport function pushItemPath(pushId: string) {\n    return pushItemRoute.reverse({ pushId });\n}\nexport function matchPushItemRoute(path: string) {\n    return pushItemRoute.match(addStartingSlashIfMissing(path));\n}\n\nconst hotUpdates = new Route(`/${HOTUPDATES}`);\nexport function matchHotUpdatesPath(path: string) {\n    return hotUpdates.match(addStartingSlashIfMissing(path))\n}\n\nconst realTime = new Route(`/${REAL_TIME}`);\nexport function matchRealTimePath(path: string) {\n    return realTime.match(addStartingSlashIfMissing(path))\n}\n\nconst articleReport = new Route(`/${ARTICLE_REPORT}`);\nexport function matchArticleReportPath(path: string) {\n    return articleReport.match(addStartingSlashIfMissing(path))\n}\n\nconst akumAndPopularityReports = new Route(`/${AKUM_AND_POPULARITY_REPORTS}`);\nexport function matchAkumAndPopularityReportsPath(path: string) {\n    return akumAndPopularityReports.match(addStartingSlashIfMissing(path))\n}\n\nconst yokra = new Route(`/${YOKRA}`);\nexport function matchYokraPath(path: string) {\n    return yokra.match(addStartingSlashIfMissing(path))\n}\n\nconst configFileEditor = new Route(`/${CONFIG_FILE_EDITOR}`);\nexport function matchConfigFilePath(path: string) {\n    return configFileEditor.match(addStartingSlashIfMissing(path))\n}\n\nconst articleBodyAdsConfig = new Route(`/${ARTICLE_BODY_ADS_CONFIG}`);\nexport function matchArticleAdsManagerPath(path: string) {\n    return articleBodyAdsConfig.match(addStartingSlashIfMissing(path))\n}\n\nconst writesSalaryReports = new Route(`/${WRITERS_SALARY_REPORTS}`);\nexport function matchWritesSalaryReportPath(path: string) {\n    return writesSalaryReports.match(addStartingSlashIfMissing(path))\n}\n","import { DefaultPlaceholderImage } from \"../images/interfaces\"\nlet _isServerRendering = false\ndeclare var window: Window & {\n    dateFormat: string\n    timezone: string\n}\nexport const isWcmEditor = () => IS_WCM_EDITOR\nexport const isServerRendering = () => RUNNING_IN_SERVER ? true : _isServerRendering;\n\nexport const setServerRendering = () => _isServerRendering = true;\nexport const unsetServerRendering = () => _isServerRendering = false;\n\n\nlet cls = ALLOW_SERVER_PREVIEW && require('continuation-local-storage');\n\nexport function checkIfInServerPreviewMode() {\n    return cls && cls.getNamespace(\"ynet.cls\").get(\"isPreview\");\n}\n\nexport function getLocaleDateFormat(): string {\n    return (cls && cls.getNamespace(\"ynet.cls\").get(\"dateFormat\")) || (typeof window !== 'undefined' && window.dateFormat) || \"dmy\";\n}\nexport function getTimezone(): string {\n    return (cls && cls.getNamespace(\"ynet.cls\").get(\"timezone\")) || (typeof window !== 'undefined' && window.timezone) || \"Asia/Jerusalem\";\n}\n\nexport function getDefaultplaceholderImage(): DefaultPlaceholderImage {\n    return (cls && cls.getNamespace(\"ynet.cls\").get(\"defaultPlaceholderImage\")) || {};\n}\n","import { ArticleTypes, VideoCooperationSettings } from \"articlePage/stateInterfaces\"\nimport { ArticleQuotePosition, ArticleBodySpecialBlocks } from \"../articlePage/stateInterfaces\"\nimport { SiteConfigFileEditorPlatforms, SiteConfigFileEditorFileEntities } from \"../siteConfigFileEditor/siteConfigFileEditorInterfaces\";\n\nexport interface SettingsProps {\n    siteTitleTemplate?: string\n    siteTitle?: string\n    topMenuItemsList?: TopMenuItem[]\n    baseUrl?: string\n    statusList?: StatusItems[]\n    talkbackStatusList?: StatusItems[]\n    articleTypes?: ArticleTypes[]\n    talkbackFilterType?: TalkbackFilterItems[]\n    welcomePageMenuList?: MenuList[]\n    articleTypesDictionery: { [articleType: string]: ArticleTypes }\n    allArticleTypesDictionery?: { [articleType: string]: ArticleTypes }\n    defaultTitleColorPickerColors: string[]\n    articleQuotePosition: ArticleQuotePosition\n    articleBodySpecialBlocks: ArticleBodySpecialBlocks\n    articleMinTags: number\n    videoCooperationSettings?: VideoCooperationSettings[]\n    articleClassifications?: Array<{value:string, label:string, isDefault?:boolean}>\n    defaultArticleClassification?:string\n    siteConfigFileEditorPlatforms?: SiteConfigFileEditorPlatforms[] \n    siteConfigFileEditorFiles?: SiteConfigFileEditorFileEntities[]\n}\n\ntype OnSettingsChangedCallbackType = () => void;\nvar onSettingsChangeCallback;\nvar settings: Partial<SettingsProps> = {};\n\nexport function update(newSettings: SettingsProps) {\n    Object.assign(settings, newSettings);\n    if (onSettingsChangeCallback) {\n        onSettingsChangeCallback();\n    }\n}\n\nexport function registerOnSettingsChangeCallback(callback: OnSettingsChangedCallbackType) {\n    onSettingsChangeCallback = callback;\n}\n\nexport default settings;","const getRouting = (reduxState: any) => reduxState.routing\nconst getLocationBeforeTransitions = (reduxState: any) => getRouting(reduxState).locationBeforeTransitions || { pathname: \"\" }\nexport const getCurrentPathName = (reduxState: any): string => getLocationBeforeTransitions(reduxState).pathname;","import * as Urls from \"config/apiUrls\"\nimport { AppService } from \"../utils/serviceLocator\"\nimport { TreeNodeId } from \"pagesPage/components/categoryTree/categoryTree\"\nimport { CategoryTreeType } from \"pagesPage/stateInterfaces\"\nimport * as routes from \"config/routePathes\"\nimport { getCurrentPathName } from \"./store/selectors\";\n\nexport const setWindowExitListener = (getService: (serviceId: AppService) => any) => {\n    window.addEventListener('unload', (e) => {\n        const currentPath = window.location.pathname;\n        const pathMatcher = currentPath.match(/\\/(pages|articles)\\/([^\\/]+)$/)\n        if (pathMatcher) {\n            let url;\n            switch (pathMatcher[1]) {\n                case \"articles\":\n                    const articleId = pathMatcher[2];\n                    url = Urls.releaseArticleLock(articleId);\n                    break;\n                case \"pages\":\n                    const pageId = pathMatcher[2];\n                    url = Urls.releaseMyLocksInPage(pageId);\n                    break;\n            }\n            if (url) {\n                // var request = new XMLHttpRequest();\n                // request.open('POST', url, false);  // `false` makes the request synchronous\n                // request.send(null);\n                //-------------------------\n                var xhr = new XMLHttpRequest();\n                xhr.open(\"POST\", url, false);\n                xhr.setRequestHeader('Authorization', SERVER_USER_AUTHORIZATION);\n                xhr.setRequestHeader(\"Content-Type\", \"application/json;charset=UTF-8\");\n                const data = { lock: false }\n                xhr.send(JSON.stringify(data));\n            }\n        }\n    });\n}\n\n\nexport const getNodeIdFromPath = (path: string): TreeNodeId => {\n    const matchFunctions: { type: CategoryTreeType | \"article\", match: (string) => any }[] = [\n        { type: \"article-template\", match: routes.matchArticleTemplateDetailsPath },\n        { type: \"waiting-category\", match: routes.matchCategoryPath },\n        { type: \"category\", match: routes.matchCategoryPath },\n        { type: \"page\", match: routes.matchPagePath },\n        { type: \"article\", match: routes.matchArticlePath }\n    ]\n    for (const matchFunction of matchFunctions) {\n        const result = matchFunction.match(path);\n        if (result) {\n            const resultId = _.values(result)[0].toString()\n            return {\n                type: matchFunction.type,\n                id: resultId\n            }\n        }\n    }\n}\n\nexport const convertHtmlToString = (text: string) => {\n    const ltrDiv = '<div style=\"direction: ltr;\"></div>'\n    const ltrDivRegex = new RegExp(ltrDiv, 'g')\n    return text ? text\n        .replace(/&nbsp;/g, \" \")\n        .replace(/&amp;/g, \"&\")\n        .replace(ltrDivRegex, '') : \"\"\n}\n\n\n\nexport const convertLanguageCodeToISO = (languageCode: string) => {\n    return languageCode && languageCode.slice(0, 2) || \"en\"\n}\n\nexport const isEntityActive = (reduxState, type, id) => {\n    const path = getCurrentPathName(reduxState);\n    const match = getNodeIdFromPath(path)\n    return match && match.type == type && match.id === id\n}\n\n","import { StringEnum } from \"../utils/stringEnum\"\n\nexport const ContentTypes = StringEnum(\n    \"ARTICLE\",\n    \"CATEGORY\",\n    \"MEDIA_IMAGE\",\n    \"MEDIA_VIDEO\",\n    \"MEDIA_LIVE\",\n    \"MEDIA_IFRAME\",\n    \"EXTERNAL_URL\",\n    \"TAG\",\n    \"NONE\",\n    \"COMMERCIAL\",\n    \"FILE\",\n    \"MAIL\",\n    \"STOCK\",\n);\n\nexport type ContentTypes = StringEnum<typeof ContentTypes>;\n\nexport const MediaContentTypes = StringEnum(\n    ContentTypes.MEDIA_IMAGE,\n    ContentTypes.MEDIA_VIDEO,\n    ContentTypes.FILE,\n    ContentTypes.MEDIA_LIVE,\n    ContentTypes.MEDIA_IFRAME\n);\nexport type MediaContentTypes = StringEnum<typeof MediaContentTypes>;","export interface ImageSIzeDefintion {\n    w?: number\n    h?: number\n    imageSize?: ImageSize\n}\n\nexport enum ImageSize {\n    original,\n    small,\n    medium,\n    large,\n    xLarge,\n    xxLarge\n}\n\nexport function imageSizeConvertion(size: ImageSIzeDefintion): ImageSize {\n    if (size.imageSize) return size.imageSize;\n    //if (size.w <= 155) return ImageSize.small\n    if (size.w <= 320) return ImageSize.medium\n    if (size.w <= 490) return ImageSize.large\n    if (size.w <= 1024) return ImageSize.xLarge\n    return ImageSize.xxLarge\n}\n","import * as map from \"lodash/map\"\nimport { testAdblock, getCookie } from \"../../../widgets/siteWidgets/siteWidgetUtils\"\ninterface Props {\n    analyticsObject: any\n    mainClassName: string\n}\n\nexport class SiteAnalyticsInjector extends React.Component<Props, {}> {\n\n    public static siteScriptName = \"SiteAnalyticsInjector\"\n\n    componentDidMount() {\n        this.setAnalyticsAttrsOnMainClass();\n        this.setOldAttrsOnbody();\n        this.dispatchAnalyticsInjectionFinished();\n    }\n\n    private handleTestAdBlock = (adBlockPresent: boolean) => {\n        const {  mainClassName } = this.props;\n        const element = document.getElementsByClassName(mainClassName)[0];\n        if (adBlockPresent) {\n            element.setAttribute('data-yitan-ad_blocker', \"true\")\n        }\n    }\n\n    private setAnalyticsAttrsOnMainClass = async () => {\n        const { analyticsObject, mainClassName } = this.props;\n\n        if (typeof document != \"undefined\") {\n            const mainDiv = document.getElementsByClassName(mainClassName)[0];\n            map(analyticsObject, (value, name) => {\n                mainDiv.setAttribute(`data-yitan-${name}`, `${value}`)\n            })\n\n            const cid = getCookie(\"_gid\");\n            mainDiv.setAttribute('data-yitan-cid', cid);\n\n            mainDiv.setAttribute('data-yitan-dc_path', window.dcPath);\n            testAdblock(this.handleTestAdBlock);      }\n    }\n\n    private setOldAttrsOnbody = () => {\n       if(window && window.dataLayer && window.dataLayer[0]) {\n            for (let dataAttr in window.dataLayer[0]) {\n            let gaAttrName = dataLayerToGaDict[dataAttr];\n            if (!gaAttrName) continue;\n            document.body.setAttribute(\"data-yitan-\" + gaAttrName, window.dataLayer[0][dataAttr])\n        }\n       }\n    \n    }\n\n    private dispatchAnalyticsInjectionFinished = () => {\n        const analyticsInjectionFinished = new Event(\"analyticsInjectionFinished\");\n        document.dispatchEvent(analyticsInjectionFinished);\n    }\n\n    public render() {\n        return null\n    }\n}\n\nconst dataLayerToGaDict = {\n    \"contentPageType\": \"page_type\",\n    \"dcPath\": \"dc_path\",\n    \"userId\": \"yid\"\n}","require(\"./site_lightbox.less\")\n\nexport class SiteLinkLightBoxInjector extends React.Component<{}, {}>{\n    public static siteScriptName = \"SiteLinkLightBoxInjector\";\n\n    componentDidMount() {\n        if (typeof document[\"injectLinkLightBox\"] !== \"function\") {\n            document[\"injectLinkLightBox\"] = function (href, width, height, isSuperFarm, iframeFinalBg, id, isPremiumPay = false) {\n                const backgroundProp = \"background:\" + iframeFinalBg + \";\"\n                const lbStyle = \"position: fixed;\"\n                    + \"display: flex;\"\n                    + \"justify-content: center;\"\n                    + \"width: 100%;\"\n                    + \"height: 100%;\"\n                    + \"top: 0;\"\n                    + \"left: 0;\"\n                    + \"z-index: 999;\"\n                const lightBoxStyle =\n                    lbStyle\n                    + backgroundProp\n\n                const superfarmStyle =\n                    lbStyle\n                    + \"background: rgba(255,255,255,0.7);\"\n                const premiumPayStyle =\n                    lbStyle\n                    + \"padding-top: 50px;\"\n                    + \"background: rgba(1,1,1,0.5);\"\n                const btn = \"width:26px;\"\n                    + \"height:26px;\"\n                    + \"border-radius:50%;\"\n                    + \"background: white;\"\n                    + \"text-align:center;\"\n                    + \"vertical-align: center;\"\n                    + \"position: absolute;\"\n                    + \"font-weight: bold;\"\n                    + \"top:\" + btnTopPosition(height) + \"px;\"\n                    + \"left:\" + btnLeftPosition(width) + \"px;\"\n                    + \"cursor: pointer;\"\n                    + \"padding:0;\"\n                const SFcloseButton =\n                    btn\n                    + \"border:2px solid red;\"\n                    + \"color:red;\"\n                const closeButton =\n                    btn\n                    + \"border:2px solid black;\"\n                    + \"color:black;\"\n                const PremiumPayCloseButton =\n                    closeButton\n                    + \"top: 15px;\"\n                const iframeStyle = \"box-shadow:1px 1px 3px rgba(136, 136, 136, 0.65);\"\n                    + \"background:#fff;\"\n                    + \"border-width:0;\"\n\n                const lightBox = document.createElement(\"div\")\n                lightBox.setAttribute('class', isSuperFarm ? 'lightBox superpharmLB' : 'lightBox')\n                lightBox.setAttribute('style', isSuperFarm ? superfarmStyle : lightBoxStyle)\n                lightBox.setAttribute('style', isPremiumPay ? premiumPayStyle : lightBoxStyle)\n                lightBox.setAttribute('role', 'dialog')\n                const iframe = document.createElement(\"iframe\")\n                iframe.setAttribute('src', href)\n                iframe.setAttribute('width', width)\n                iframe.setAttribute('height', height)\n                iframe.setAttribute('scrolling', 'no')\n                iframe.setAttribute('style', iframeStyle)\n                iframe.setAttribute('id', \"lightbox_iframe_id\")\n                lightBox.appendChild(iframe)\n                var closeBtn = document.createElement(\"input\");\n                closeBtn.type = \"button\";\n                closeBtn.value = \"X\";\n                closeBtn.setAttribute('style', isSuperFarm ? SFcloseButton : closeButton)\n                closeBtn.setAttribute('style', isPremiumPay ? PremiumPayCloseButton : closeButton)\n                lightBox.appendChild(closeBtn)\n                document.body.appendChild(lightBox)\n                lightBox.setAttribute('tabindex', '0')\n                closeBtn.focus();\n                var focusableEls = lightBox.querySelectorAll('input:not([disabled]), a[href], area[href], button:not([disabled]), [tabindex=\"0\"], iframe[src]');\n                lightBox.querySelector(\"iframe\").onkeypress = function (e) {\n                    if (e.key === \"Escape\") {\n                        var lightboxDomElement = document.querySelector('.lightBox');\n                        lightboxDomElement.parentNode.removeChild(lightboxDomElement)\n                        document.getElementById(id).focus()\n                        e.preventDefault();\n                    }\n                    else e.preventDefault();\n                }\n                lightBox.onkeydown = function (e) {\n                    if (e.key === \"Escape\") {\n                        var lightboxDomElement = document.querySelector('.lightBox');\n                        lightboxDomElement.parentNode.removeChild(lightboxDomElement)\n                        document.getElementById(id).focus()\n                    }\n                    else if (e.keyCode === 9) {\n                        if (focusableEls.length > 1) {\n                            if (e.shiftKey) {\n                                handleBackwardTab(e, focusableEls);\n                            } else {\n                                handleForwardTab(e, focusableEls);\n                            }\n                        }\n                        else e.preventDefault();\n                    }\n                };\n\n                closeBtn.onclick = function (e) {\n                    var lightboxDomElement = document.querySelector('.lightBox');\n                    lightboxDomElement.parentNode.removeChild(lightboxDomElement);\n                    document.getElementById(id).focus()\n                };\n            }\n        }\n\n    }\n\n    render() {\n        return null\n    }\n}\nconst btnLeftPosition = (width) => { return (window.innerWidth - width) / 2 }\nconst btnTopPosition = (height) => { return (window.innerHeight - height) / 2 - 32 }\n\n\n\nconst handleBackwardTab = (e, focusableEls) => {\n    if (document.activeElement === focusableEls[0]) {\n        e.preventDefault();\n        focusableEls[focusableEls.length - 1].focus();\n    }\n\n}\nconst handleForwardTab = (e, focusableEls) => {\n    if (document.activeElement === focusableEls[focusableEls.length - 1]) {\n        e.preventDefault();\n        focusableEls[0].focus()\n    }\n}\n","import { SiteArticleBlogsReadMoreHandler } from \"./siteArticleBlogsReadMoreHandler\";\nimport { RenderReactAtSite } from \"../../../widgets/commonComponents/inline/renderReactAtSite\";\n\n\nexport class ArticleBlogsReadMoreHandler extends React.Component<{}, {}> {\n    public static siteScriptName = \"ArticleBlogsReadMoreHandler\"\n    public render() {\n        return (\n           <SiteArticleBlogsReadMoreHandler />\n        )\n    }\n}","const script = `\n<script>\nwindow.addEventListener(\"load\", () => {\n    document.querySelectorAll(\".article-blog-componenta-wrapper\").forEach((blogElement) => {\n        const blogContentDiv = blogElement.querySelector(\n            'div[data-contents=\"true\"]'\n        );\n        if (!blogContentDiv) return;\n        // get it's children (blocks)\n        const blogContentDivChildren = blogContentDiv.children;\n        if (!blogContentDivChildren) return;\n\n        let restOfTheBlocks;\n        let restOfTheBlocksDiv;\n\n        // if there is a class of \"TextEditorBlogEndOfPreviewTextFlag\", start wrapping the blocks from it\n        const endOfPreviewTextFlag = blogElement.querySelector(\n            \".TextEditorBlogEndOfPreviewTextFlag\"\n        );\n        if (endOfPreviewTextFlag) {\n            // find the node with the div with class of \"TextEditorBlogEndOfPreviewTextFlag\" inside the children\n            const endOfPreviewTextFlagIndex = Array.from(blogContentDivChildren).findIndex(\n                (child) => child.contains(endOfPreviewTextFlag)\n            );          \n\n            restOfTheBlocks = Array.from(blogContentDivChildren).slice(\n                endOfPreviewTextFlagIndex + 1,\n                blogContentDivChildren.length\n            );\n        }\n\n        // if there are more than 3 blocks, wrap the rest with a div and hide it\n        else if (blogContentDivChildren.length > 3) {\n            restOfTheBlocks = Array.from(blogContentDivChildren).slice(\n                3,\n                blogContentDivChildren.length\n            );\n        }\n        \n        restOfTheBlocksDiv = document.createElement(\"div\");\n        restOfTheBlocksDiv.classList.add(\"restOfTheBlocks\");\n        restOfTheBlocksDiv.classList.add(\"hidden_blocks\");\n        restOfTheBlocksDiv.append(...restOfTheBlocks);\n        blogContentDiv.append(restOfTheBlocksDiv);\n        \n\n        // add event listener to the button\n        const button = blogElement.querySelector(\".continue-read-wrapper\");\n        if (!button) return;\n        button.addEventListener(\"click\", () => {\n            const restOfTheBlocksDiv = blogElement.querySelector(\n                \".restOfTheBlocks\"\n            );\n            if (!restOfTheBlocksDiv) return;\n            restOfTheBlocksDiv.classList.toggle(\"hidden_blocks\");\n            button.classList.toggle(\"active\");\n        });\n        \n    });\n});\n</script>\n`;\n\nexport class SiteArticleBlogsReadMoreHandler extends React.Component<{}, {}> {\n    public render() {\n        return <div dangerouslySetInnerHTML={{ __html: script }} />;\n    }\n}\n","import { ArticleData, ArticleComponentaEntityData } from \"../../articlePage/stateInterfaces\"\nimport { convertFromRaw, EditorState, SelectionState, convertToRaw } from \"draft-js\"\nimport { ArticleSchema } from \"constants/schemas\"\nimport { EntityData } from \"textEditor/interfaces\"\nimport { addBlockComponent } from \"textEditor/utils/addBlockComponent\"\nimport { IdGenerator } from \"../../utils/idGenerator\"\n\nexport const injectContactLink = (articleData: ArticleData) => {\n        const href = getLinkBySubsite(articleData.sub_site_id, articleData.articleId)\n        if (!href) return;\n        const textJson = articleData.textJson\n        const textJsonBlocks = textJson[\"blocks\"]\n        const textJsonEntityMap = textJson[\"entityMap\"]\n        const entityUniqueKey = IdGenerator.generate()\n\n        textJsonBlocks.push({\n                \"key\": IdGenerator.generate(),\n                \"text\": \"מצאתם טעות בכתבה? כתבו לנו על זה\",\n                \"type\": \"contactUsLink\",\n                \"depth\": 0,\n                \"data\": {},\n                \"inlineStyleRanges\": [],\n                \"entityRanges\": [\n                        {\n                                \"offset\": 0,\n                                \"length\": 47,\n                                \"key\": entityUniqueKey\n                        }\n                ]\n        })\n\n        textJsonEntityMap[entityUniqueKey] = {\n                data: {\n                        activeTab: 'linkProperties',\n                        linkProperties: {\n                                link: {\n                                        description: href,\n                                        id: href,\n                                        publishedLink: href\n                                },\n                                type: 'EXTERNAL_URL'\n                        },\n                        linkTargetProperties: {\n                                lightBoxBgColor: '#000',\n                                lightBoxHeight: '',\n                                lightBoxOpacity: 70,\n                                lightBoxWidth: '',\n                                linkOpenType: 'same'\n                        }\n                },\n                mutability: 'MUTABLE',\n                type: 'LINK'\n        }\n}\nexport const getLinkBySubsite = (subSiteId: string, articleid:string) => {\n        if (subSiteId != \"ynet\" && subSiteId != \"mynet\") return null\n\n        let href = `//ynet.co.il/redmail?notifyMistake=${articleid}`\n\n        if (subSiteId.toLowerCase().startsWith(\"mynet\")) {\n                href = \"mailto:mynet@yedtik.co.il\";\n        }\n\n        return href;\n}","import { ImageDisplayData } from \"images/interfaces\"\nimport { ImageSize, ImageSIzeDefintion, imageSizeConvertion } from \"constants/imageSizes\";\nimport { getDefaultplaceholderImage } from \"../../config/serverConfig\"\n\nconst imageTranslations = {\n    [ImageSize.small]: \"small\",\n    [ImageSize.medium]: \"medium\",\n    [ImageSize.large]: \"large\",\n    [ImageSize.xLarge]: \"x-large\",\n    [ImageSize.xxLarge]: \"xx-large\"\n}\n\nexport const defaultYnetImages = {\n    small: \"//www.ynet.co.il/images/small_defual_image_1024.png\",\n    big: \"//www.ynet.co.il/images/big_defualt_image.png\",\n}\n\nexport function getFrontImageUrl(image: ImageDisplayData, size: ImageSIzeDefintion) {\n    if (!size) {\n        size = { imageSize: ImageSize.medium }\n    }\n    size = fixSize(image, size);\n    const imageSize = imageSizeConvertion(size);\n\n    if (image && image.publishedLink) {\n        if (image.publishedLink.endsWith(\"_xxx.jpg\")) {\n            return image.publishedLink.replace(/_xxx\\.jpg$/, `_${imageTranslations[imageSize]}.jpg`)\n        } else if (image.publishedLink.endsWith(\"_xxx.gif\")) {\n            return image.publishedLink.replace(/_xxx\\.gif$/, `_${imageTranslations[imageSize]}.gif`)\n        } else {\n            return image.publishedLink\n        }\n    }\n    return getDefaultImage(size);\n}\n\nexport function getDefaultImage(size: ImageSIzeDefintion) {\n    const defaultPlaceholderImage = getDefaultplaceholderImage()\n    const isBigImage = imageSizeConvertion(size) > ImageSize.medium;\n    if (isBigImage) {\n        return defaultPlaceholderImage.img_big ? defaultPlaceholderImage.img_big : defaultYnetImages.big;\n    } else {\n        return defaultPlaceholderImage.img_small ? defaultPlaceholderImage.img_small : defaultYnetImages.small;\n    }\n}\n\nfunction fixSize(image: ImageDisplayData, size: ImageSIzeDefintion): ImageSIzeDefintion {\n    if (size.w || size.imageSize || !size.h) {\n        return size;\n    }\n    return {\n        w: size.h * image.width / image.height,\n        h: size.h\n    }\n}","import { stockLinkInlineInfo } from \"./stockLinkInlineInfo\"\nimport * as axios from \"axios\"\nimport * as map from \"lodash/map\"\nimport * as forEach from \"lodash/forEach\"\n\nconst getStock = (id: string) => `/Ext/I-Invest/StockInfo/CmmApiIinvest_getStockInfoJson/0,16471,${id},00.html`\n\ninterface StockData {\n    name: string\n    id: string\n    url: string\n    type: string\n    lastShaar: string\n    dailyChgPercentage: number\n    dailyChgMoney: number\n}\n\ninterface SiteStockLinksInjectorProps {\n    stocksIds: string[]\n}\n\nexport class SiteStockLinksInjector extends React.Component<SiteStockLinksInjectorProps, {}> {\n    public static siteScriptName = \"SiteStockLinksInjector\";\n\n    private loadStockLinksData = async () => {\n        const { stocksIds } = this.props;\n        const stocksPromises = map(stocksIds, async stockId => {\n            const stock = await axios.get(getStock(stockId));\n            return stock.data[0] as StockData;\n        })\n\n        return await Promise.all(stocksPromises);\n    }\n\n    componentDidMount() {\n\n        const stockList = this.loadStockLinksData()\n        if (stockList) {\n            stockList.then(l =>\n                forEach(l, (stockData, i) => {\n                    let stockLinkElements = document.getElementsByClassName(\"stockLink\") as HTMLCollectionOf<HTMLAnchorElement>;\n                    if (!stockData) return\n                    const url = stockData.url\n                    stockLinkElements[i].href = url;\n                    let stockInfo = document.createElement(\"span\");\n                    stockInfo.className = \"stockLinkInlineInfoWrapper\"\n                    stockInfo.innerHTML = stockLinkInlineInfo(stockData)\n                    stockLinkElements[i].insertAdjacentElement(\"afterend\", stockInfo)\n                })\n            )\n        }\n    }\n\n    public render() {\n        return null;\n    }\n}\n","export const stockLinkInlineInfo = (stockData) => {\n\n    const graphImg = require('./images/graph.png')\n\n    const stockTrend = stockData.dailyChgPercent > 0 ? {\n        src: require('./images/green_arrow.png'),\n        arrowClassName: \"si-info-img-up\",\n        percentageClassName: \"si-info-positive\"\n\n    } :\n\n        {\n            src: require('./images/red_arrow.png'),\n            arrowClassName: \"si-info-img-down\",\n            percentageClassName: \"si-info-negative\"\n        }\n\n    return `<span class=\"si-brk-open\">(</span><img class=\"si-info-img\" src=${graphImg} /><span class=\"si-value\">${stockData.lastShaar}</span><img class=${stockTrend.arrowClassName} src=${stockTrend.src} /><span class='si-value-percent ${stockTrend.percentageClassName}'}>${stockData.dailyChgPercent.replace('-', '')}%</span><span class=\"si-brk-close\">)</span>`\n}","const clickOutside = require('react-click-outside');\n\n@clickOutside\nexport class StockPopUp extends React.Component<{}, {}> {\n    public static siteScriptName = \"StockPopUp\";\n\n\n    private handleClickOutside = () => {\n        const stockEl = document.querySelector(\".tradingview-widget-container\") as HTMLElement;\n        this.closeStock(stockEl)\n    }\n\nprivate closeStock=(stockEl:HTMLElement)=>{\n    stockEl.innerHTML = \"\";\n    stockEl.style.left=\"\";\n    stockEl.style.top = \"\";\n    stockEl.style.display=\"none\";\n\n}\n    componentDidMount() {\n        if (typeof window !== \"undefined\") {\n            const elements = document.querySelectorAll(\".stockPopUpLink\");\n            for (let el of elements) {\n                el.addEventListener(\"click\", (e) => {\n                    const stockId = el.getAttribute(\"data-id\");\n                    const closeBtn =  document.createElement(\"div\");\n                    closeBtn.className=\"closeStockPopUp\";\n                    closeBtn.innerHTML = \"x\";\n                    const newScript = document.createElement(\"script\");\n                    newScript.id = `${stockId}_stockpopUp`;\n                    newScript.src = \"https://s3.tradingview.com/external-embedding/embed-widget-symbol-info.js\";\n                    newScript.async = true;\n                    newScript.innerHTML = `\n                  {\n                  \"symbol\": \"${stockId}\",\n                  \"width\": 450,\n                  \"isTransparent\": false,\n                  \"colorTheme\": \"light\",\n                  \"locale\": \"he-il\",\n                  \"scrolling\":\"yes\"\n                }\n                  `;\n                    const stockEl = document.querySelector(\".tradingview-widget-container\") as HTMLElement;\n                    stockEl.style.display = \"block\";\n                    const top = el.getBoundingClientRect().top>300 ?  el.getBoundingClientRect().top - 150 : el.getBoundingClientRect().top+30 ;\n                    const left= el.getBoundingClientRect().left - 450;\n                    stockEl.style.left = left + \"px\";\n                    stockEl.style.top = top  + \"px\";\n                    const newDiv = document.createElement(\"div\");\n                    newDiv.className = \"tradingview-widget-container__widget\";\n                    stockEl.append(closeBtn);\n                    stockEl.append(newDiv);\n                    stockEl.append(newScript);\n                    closeBtn.addEventListener(\"click\", (e) => {\n                        this.closeStock(stockEl)\n                    })\n                })\n            }\n        }\n    }\n\n    public render() {  \n        return (\n            <div className=\"tradingview-widget-container\" > </div>\n\n        )\n    }\n}\n","const clickOutside = require('react-click-outside');\n\n\nexport class StockPopUpMobile extends React.Component<{}, {}> {\n    public static siteScriptName = \"StockPopUpMobile\";\n\n\n\n\nprivate closeStock=(stockEl:HTMLElement)=>{\n    stockEl.innerHTML = \"\";\n    stockEl.style.left=\"\";\n    stockEl.style.top = \"\";\n    stockEl.parentElement.style.display=\"none\";\n\n}\n    componentDidMount() {\n        if (typeof window !== \"undefined\") {\n            const elements = document.querySelectorAll(\".stockPopUpLink\");\n            for (let el of elements) {\n                el.addEventListener(\"click\", (e) => {\n                    const stockId = el.getAttribute(\"data-id\");\n                    const closeBtn =  document.createElement(\"div\");\n                    closeBtn.className=\"closeStockPopUp\";\n                    closeBtn.innerHTML = \"x\";\n                    const newScript = document.createElement(\"script\");\n                    newScript.id = `${stockId}_stockpopUp`;\n                    newScript.src = \"https://s3.tradingview.com/external-embedding/embed-widget-symbol-info.js\";\n                    newScript.async = true;\n                    newScript.innerHTML = `\n                  {\n                  \"symbol\": \"${stockId}\",\n                  \"width\": 350,\n                  \"isTransparent\": false,\n                  \"colorTheme\": \"dark\",\n                  \"locale\": \"he-il\",\n                  \"scrolling\":\"yes\"\n                }\n                  `;\n                    const stockElMask = document.querySelector(\".tradingview-mask\") as HTMLElement;\n                    const stockEl = document.querySelector(\".tradingview-widget-container\") as HTMLElement;\n                    stockElMask.style.display = \"grid\";\n                    const newDiv = document.createElement(\"div\");\n                    newDiv.className = \"tradingview-widget-container__widget\";\n                    stockEl.append(closeBtn);\n                    stockEl.append(newDiv);\n                    stockEl.append(newScript);\n                    closeBtn.addEventListener(\"click\", (e) => {\n                        this.closeStock(stockEl)\n                    })\n                    stockElMask.addEventListener(\"click\", (e) => {\n                        this.closeStock(stockEl)\n                    })\n                })\n            }\n        }\n    }\n\n    public render() {  \n        return (\n           <div className=\"tradingview-mask\"><div className=\"tradingview-widget-container\" > </div></div> \n\n        )\n    }\n}\n","/*\nBased on React-ContentEditable: https://github.com/lovasoa/react-contenteditable\n*/\n\n\ninterface ContentEditableProps {\n    html: any\n    className?: string\n    style?: React.CSSProperties\n    tagName?: any\n    onFocus?: () => void\n    onBlur?: () => void\n    disabled?: boolean\n    onChange: (e: KeyboardEvent, value: string, plainText?: string) => void\n    onMouseUp?: (e: MouseEvent) => void\n    onPaste?: (e: ClipboardEvent) => void\n    onKeyDown?: (e: KeyboardEvent) => void\n}\n\ninterface ContentEditableState { }\n\nexport class ContentEditable extends React.Component<ContentEditableProps, ContentEditableState> {\n    public constructor() {\n        super();\n        this.emitChange = this.emitChange.bind(this);\n    }\n    public htmlEl: any;\n    private lastHtml: string;\n\n    public render() {\n        var { tagName, html, ...props } = this.props;\n\n        return React.createElement(\n            tagName || 'div',\n            {\n                ...props,\n                ref: (e) => this.htmlEl = e,\n                onInput: this.emitChange,\n                onBlur: this.props.onBlur || this.emitChange,\n                onFocus: this.props.onFocus,\n                contentEditable: !this.props.disabled,\n                dangerouslySetInnerHTML: { __html: html },\n                onMouseUp: this.props.onMouseUp,\n                onPaste: this.props.onPaste,\n                onKeyDown: this.props.onKeyDown,\n            },\n            this.props.children);\n    }\n\n    public shouldComponentUpdate(nextProps: ContentEditableProps) {\n        // We need not rerender if the change of props simply reflects the user's\n        // edits. Rerendering in this case would make the cursor/caret jump.\n        return (\n            // Rerender if there is no element yet... (somehow?)\n            !this.htmlEl\n            // ...or if html really changed... (programmatically, not by user edit)\n            || (nextProps.html !== this.htmlEl.innerHTML\n                && nextProps.html !== this.props.html)\n            // ...or if editing is enabled or disabled.\n            || this.props.disabled !== nextProps.disabled\n            || this.props.className != nextProps.className\n            || this.props.style != nextProps.style\n        );\n    }\n\n    public componentDidUpdate() {\n        if (this.htmlEl && this.props.html !== this.htmlEl.innerHTML) {\n            // Perhaps React (whose VDOM gets outdated because we often prevent\n            // rerendering) did not update the DOM. So we update it manually now.\n            this.htmlEl.innerHTML = this.props.html;\n        }\n    }\n\n    emitChange(evt) {\n        if (!this.htmlEl) return;\n        var html = this.htmlEl.innerHTML;\n        let plainText = this.htmlEl.innerText;\n        if (this.props.onChange && html !== this.lastHtml) {\n            evt.target = { value: html, plainText};\n            this.props.onChange(evt, evt.target.value, evt.target.plainText);\n        }\n        this.lastHtml = html;\n    }\n}","require(\"./copyButton.less\")\n\ninterface CopyButtonProps {\n    textToCopy: string\n    classes?: string\n    id: string\n    isAlert?: boolean\n    children?: React.ReactChild\n}\n\nexport class CopyButton extends React.Component<CopyButtonProps, {}>{\n    static defaultProps = { isAlert: false }\n\n    private stopPropagationEvent = (e) => {\n        e.stopPropagation();\n        e.nativeEvent.stopImmediatePropagation();\n    }\n\n    private copyToClipboard = (e, id) => {\n        var node = document.createElement(\"div\")\n        node.innerHTML = __(\"Link copied\");\n        node.setAttribute(\"id\", \"alertCopyLink\")\n        { this.props.isAlert && document.getElementById(id).appendChild(node) }\n        this.stopPropagationEvent(e);\n        const { textToCopy } = this.props\n        var textField = document.createElement('textarea')\n        textField.innerText = textToCopy;\n        document.body.appendChild(textField)\n        textField.select()\n        document.execCommand('copy')\n        textField.remove();\n    }\n\n    private removeMessage = (e, id) => {\n        { this.props.isAlert && document.getElementById(\"alertCopyLink\") && document.getElementById(\"alertCopyLink\").remove() }\n    }\n\n    render() {\n        const { textToCopy, classes, id, children } = this.props\n        return (\n            <button onMouseOut={(e) => this.removeMessage(e, id)} aria-label={`${__(\"Copy link\")} ${textToCopy}`} title={`${__(\"Copy link\")} ${textToCopy}`}  id={id} className={`CopyButton yicon-link${NEW_TAMKA_UI ? \"\" : \"-copy\"} ${classes}`} onClick={(e) => this.copyToClipboard(e, id)} >{children}</button>\n        )\n    }\n}","import { CategorySelectionItem } from \"global/components/categorySelectInput/categorySelectInput\"\nimport { TagSelectItem } from \"articlePage/stateInterfaces\"\nimport { ArticleSelectionItem } from \"global/components/articleSelectInput/articleSelectInput\"\nimport { StringEnum } from \"utils/stringEnum\"\nimport { ContentTypes } from \"constants/contentTypes\"\nimport { SelectionState } from \"draft-js\"\n\nexport const BaseLinkTypes = StringEnum(\n    ContentTypes.NONE,\n    ContentTypes.ARTICLE,\n    ContentTypes.CATEGORY,\n    ContentTypes.EXTERNAL_URL,\n    ContentTypes.TAG,\n    ContentTypes.COMMERCIAL,\n    ContentTypes.FILE,\n    ContentTypes.MAIL,\n    ContentTypes.MEDIA_VIDEO,\n    ContentTypes.STOCK\n)\nexport type BaseLinkTypes = StringEnum<typeof BaseLinkTypes>;\nexport interface LinkPropertiesObject<T extends string> {\n    linkProperties: LinkProperties<T>\n    linkTargetProperties: LinkTargetProperties\n    articleLinkId?: string;\n    isArticleDrag?: boolean\n    selection?: SelectionState\n}\n\nexport interface LinkProperties<T extends string> {\n    type: T,\n    link: LinkData,\n}\n\nexport type LinkOpenType = \"same\" | \"new\" | \"lightBox\"\n\nexport interface LinkTargetProperties {\n    linkOpenType: LinkOpenType,\n    lightBoxWidth: number,\n    lightBoxHeight: number,\n    lightBoxOpacity: number,\n    lightBoxBgColor: string,\n}\n\nexport interface LinkUrlOption<T extends string> {\n    value: T\n    label: string\n    inputRenderer?: LinkInputRenderer\n}\n\nexport type LinkInputRenderer = (data: LinkData, onChange: (data: LinkData) => void) => __React.ReactElement<{ data: LinkData, onChange: (data: LinkData) => void }>\n\nexport interface LinkData {\n    id: string\n    description: string\n    publishedLink?: string\n    extraLinkData?: any\n    isSeriesVOD?: boolean\n}\n\n","import { HOCDecorator } from \"../globalDefinitions\";\nimport { PropTypes } from \"prop-types\"\nimport { WebPlatform } from \"../../front/staticServerRendering/renderMobileArticle\";\n\ninterface categoryObj {\n    id: string\n    categoryColor: string\n    name:string\n}\nexport interface SiteSettings {\n    isLTR?: boolean\n    fbAppId?: string\n    cutForPremium?: boolean\n    category?: categoryObj\n    imagesDomain?: string,\n    is_new_gpt?: boolean,\n    ads_infrastructure_type?: string,\n    ads_mutam_infrastructure_type?: string,\n    hideAdsAutoSpot17?: boolean,\n    showAdsSpot17?: boolean,\n    spotImDate?: string | boolean,\n    rootCss?: string\n    url?: string\n    sitename?: string\n    platform?: WebPlatform\n    languageCode?: string\n    orderedImages?: string[]\n    spotimTalkbackCount?: string\n    domain?: string\n    currentEntityId?: string\n    version?: number\n    setTopStoryDisplayed?: () => void,\n    getTopStoryDisplayed?: () => boolean,\n    isArticlePage?: boolean,\n    audioDomain?: string\n    articleBodyAdsConfig?: any\n    font?:string\n}\n\nexport type SetSiteSettingsContextTypes = { [K in keyof SiteSettings]: __React.Requireable<any> }\n\nexport const SiteSettingsHOC = (inserAsObject?: boolean): HOCDecorator => ComposedComponent => {\n    return class extends React.Component<any, any>{\n        context: SiteSettings;\n        public static contextTypes: SetSiteSettingsContextTypes = {\n            isLTR: PropTypes.bool,\n            fbAppId: PropTypes.string,\n            cutForPremium: PropTypes.bool,\n            category: PropTypes.object,\n            imagesDomain: PropTypes.string,\n            is_new_gpt: PropTypes.bool,\n            ads_infrastructure_type: PropTypes.string,\n            ads_mutam_infrastructure_type: PropTypes.string,\n            url: PropTypes.string,\n            sitename: PropTypes.string,\n            hideAdsAutoSpot17: PropTypes.bool,\n            spotImDate: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n            showAdsSpot17: PropTypes.bool,\n            platform: PropTypes.string,\n            languageCode: PropTypes.string,\n            orderedImages: PropTypes.array,\n            spotimTalkbackCount: PropTypes.string,\n            domain: PropTypes.string,\n            currentEntityId: PropTypes.string,\n            version: PropTypes.number,\n            setTopStoryDisplayed: PropTypes.func,\n            getTopStoryDisplayed: PropTypes.func,\n            isArticlePage: PropTypes.bool,\n            audioDomain: PropTypes.string,\n            articleBodyAdsConfig: PropTypes.object\n        }\n\n        public render() {\n            const siteSettings: SiteSettings = (IS_WCM_EDITOR && { isLTR: WCM_EDITOR_LTR }) || this.context;\n            if (inserAsObject) {\n                return <ComposedComponent {...this.props} siteSettings={siteSettings} />;\n            } else {\n                return <ComposedComponent {...this.props} {...siteSettings} />;\n            }\n        }\n    }\n}\n\nexport class SetSiteSettingsContext extends React.Component<SiteSettings, {}>{\n    private isTopStoryDisplayed = false;\n\n    private setTopStoryDisplayed = () => {\n        if (!this.isTopStoryDisplayed) {\n            this.isTopStoryDisplayed = true;\n        }\n    }\n\n    private getTopStoryDisplayed = () => this.isTopStoryDisplayed;\n\n    public static childContextTypes: SetSiteSettingsContextTypes = {\n        isLTR: PropTypes.bool,\n        fbAppId: PropTypes.string,\n        cutForPremium: PropTypes.bool,\n        category: PropTypes.object,\n        imagesDomain: PropTypes.string,\n        is_new_gpt: PropTypes.bool,\n        ads_infrastructure_type: PropTypes.string,\n        ads_mutam_infrastructure_type: PropTypes.string,\n        url: PropTypes.string,\n        sitename: PropTypes.string,\n        hideAdsAutoSpot17: PropTypes.bool,\n        spotImDate: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n        showAdsSpot17: PropTypes.bool,\n        platform: PropTypes.string,\n        languageCode: PropTypes.string,\n        orderedImages: PropTypes.array,\n        spotimTalkbackCount: PropTypes.string,\n        domain: PropTypes.string,\n        currentEntityId: PropTypes.string,\n        version: PropTypes.number,\n        setTopStoryDisplayed: PropTypes.func,\n        getTopStoryDisplayed: PropTypes.func,\n        isArticlePage: PropTypes.bool,\n        audioDomain: PropTypes.string,\n        articleBodyAdsConfig: PropTypes.object,\n        font:PropTypes.string\n\n    }\n\n    public getChildContext(): SiteSettings {\n        const { languageCode, isLTR, fbAppId, cutForPremium, category, imagesDomain, is_new_gpt, ads_infrastructure_type, ads_mutam_infrastructure_type, url, sitename, spotImDate,\n            hideAdsAutoSpot17, showAdsSpot17, platform, orderedImages, spotimTalkbackCount, domain, currentEntityId, version,\n            isArticlePage, audioDomain, articleBodyAdsConfig, font } = this.props;\n        return {\n            isLTR,\n            fbAppId,\n            cutForPremium,\n            category,\n            imagesDomain,\n            is_new_gpt,\n            ads_infrastructure_type,\n            ads_mutam_infrastructure_type,\n            url,\n            sitename,\n            spotImDate,\n            hideAdsAutoSpot17,\n            showAdsSpot17,\n            platform,\n            languageCode,\n            orderedImages,\n            spotimTalkbackCount,\n            domain,\n            currentEntityId,\n            version,\n            setTopStoryDisplayed: this.setTopStoryDisplayed,\n            getTopStoryDisplayed: this.getTopStoryDisplayed,\n            isArticlePage,\n            audioDomain,\n            articleBodyAdsConfig,\n            font\n        }\n    }\n\n    public render() {\n        return (\n            <div id=\"site_container\" className={this.props.font}>{this.props.children}</div>\n        )\n    }\n}\n","import * as axios from \"axios\"\nimport { postPaywallLogOut } from \"./paywallApiUrls\"\nimport { CustomerAccessData } from \"./paywallInterfaces\"\n\nexport const PAYWALL_LOCAL_STORAGE_KEY = 'paywall'\n\n// wrap this function with try and catch and handle errors\nexport const AuthLogOut = async () => {\n  await axios.post(postPaywallLogOut())\n  localStorage.removeItem(PAYWALL_LOCAL_STORAGE_KEY)\n}\n\nexport const getPaywallSettingsFromLocalStorage = (): CustomerAccessData | null => {\n  const customerDetails = localStorage.getItem(PAYWALL_LOCAL_STORAGE_KEY)\n\n  if (!customerDetails) {\n    return null\n  }\n\n  return JSON.parse(customerDetails)\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ndeclare const grecaptcha: any\ndeclare const window: Window & {\n  wcmCaptchaSiteKey: string\n}\n\n//from https://medium.com/@dmichaelrobertson/how-to-wait-for-google-recaptcha-token-generation-bb2c05745ed6\nexport const generateRecaptchaToken = async (action: string): Promise<string> =>\n  new Promise((resolve) => {\n    grecaptcha.ready(\n      () =>\n        void (async () => {\n          const token = await grecaptcha.execute(window.wcmCaptchaSiteKey, { action });\n          resolve(token);\n        })(),\n    );\n  });","\nconst apiPrefix = \"/auth\";\n\n//sign up\nexport const postPaywallSignedUp = (recaptcha: string) => addRecaptchaToUrl(`${apiPrefix}/public/signup/otp`, recaptcha);\nexport const postPaywallSignedUpEnd = (recaptcha: string) => addRecaptchaToUrl(`${apiPrefix}/public/signup/otp/end`, recaptcha);\n\n//sign in\nexport const postPaywallSignedIn = (recaptcha: string) => addRecaptchaToUrl(`${apiPrefix}/public/signIn/otp`, recaptcha);\nexport const postPaywallSignedInEnd = (recaptcha: string) => addRecaptchaToUrl(`${apiPrefix}/public/signIn/otp/end`, recaptcha);\nexport const postPaywallAuthGoogleSignIn = () => `${apiPrefix}/public/signIn/tp/google`\nexport const postPaywallAuthAppleSignIn = () => `${apiPrefix}/public/signIn/tp/apple`\nexport const postPaywallAuthThirdPartyEndSignIn = () => `${apiPrefix}/public/signIn/tp/end`\n\n//log out\nexport const postPaywallLogOut = () => `${apiPrefix}/restricted/logout/device`\n\n//details\nexport const updatePersonalCustomerDetails = () => `${apiPrefix}/restricted/details/personalCustomerDetails/update`\nexport const getPersonalCustomerDetails = () => `${apiPrefix}/restricted/details/personalCustomerDetails/get`\nexport const getPaywallAccessData = () => `${apiPrefix}/restricted/details/get/access`\nexport const getPaywallReadAllowed = (claim: string, resource: string) => `${apiPrefix}/restricted/resource/freeRead/test/${claim}/${resource}`\n\n\n//purchase\nexport const postPaywallPurchaseProduct = () => `${apiPrefix}/restricted/buy/product`\n\nfunction addRecaptchaToUrl(url: string, recaptcha: string) {\n    const urlObj = new URL(url, document.location.href);\n    urlObj.searchParams.set(\"recaptcha\", recaptcha);\n    return urlObj.href;\n}\n","export enum PaywallAuthErrorCodes {\n  INVALID_EMAIL = \"INVALID_EMAIL\",\n  INVALID_PASSWORD = \"INVALID_PASSWORD\",\n  EMAIL_ALREADY_EXISTS = \"EMAIL_ALREADY_EXISTS\",\n  NOT_REGISTERED = \"NOT_REGISTERED\",\n  SIGNUP_NO_AGREEMENT = \"SIGNUP_NO_AGREEMENT\",\n  ALREADY_SIGNED = \"ALREADY_SIGNED\",\n  TOKEN_EXPIRED = \"TOKEN_EXPIRED\",\n  GOOGLE_SIGN_IN_FAILED = \"GOOGLE_SIGN_IN_FAILED\",\n  APPLE_SIGN_IN_FAILED = \"APPLE_SIGN_IN_FAILED\",\n  THIRD_PARTY_LOGIN_FAILED = \"THIRD_PARTY_LOGIN_FAILED\",\n  UNKNOWN_ERROR = \"UNKNOWN_ERROR\",\n  FAILED_TO_SEND_OTP = \"FAILED_TO_SEND_OTP\",\n  AUTHENTICATION_FAILED = \"AUTHENTICATION_FAILED\",\n  MISSING_EXPIRATION_TIME_IN_ID_TOKEN = \"MISSING_EXPIRATION_TIME_IN_ID_TOKEN\"\n}\n\nexport enum AuthStepsEnum {\n  EMAIL = \"email\",\n  PASSWORD = \"password\",\n  CONFIRM_TERMS = \"confirmTerms\",\n  FINISH = \"finish\"\n}\n\n\nexport enum PaywallPurchaseErrorCodes {\n  INVALID_RESPONSE = \"Invalid response from server\",\n  UNKNOWN_ERROR = \"An unknown error occurred\",\n  PAYMENT_FAILED = \"Payment failed. Please try again\",\n  UNEXPECTED_STATUS = \"Unexpected payment status\"\n}\n\nexport type PremiumPaywallSignModes = \"signUp\" | \"signIn\"\nexport type LoginService = \"google\" | \"apple\"\n\nexport interface GoogleSignInResponse {\n  access_token: string; // The OAuth 2.0 access token for the user\n  expires_in: number;   // The lifetime in seconds of the access token\n  token_type: string;   // The type of token returned (usually \"Bearer\")\n  scope: string;        // The scopes granted to the token\n  id_token?: string;    // The ID token for the user (if requested in scopes)\n  refresh_token?: string; // The refresh token (if offline access is requested)\n}\n\nexport interface AppleSignInResponse {\n  authorization: {\n    code: string;         // The authorization code used to exchange for tokens\n    id_token: string;     // A JWT containing user identity information\n    state?: string;       // The state parameter passed in the initial request (optional)\n  };\n  user?: {\n    name?: {\n      firstName: string;  // The user's first name (if requested and available)\n      lastName: string;   // The user's last name (if requested and available)\n    };\n    email?: string;       // The user's email address (if requested and available)\n  };\n}\n\nexport interface ThirdPartyLoginResponse extends Partial<CustomerAccessData> {\n  token: string\n  isNewCustomer: boolean\n}\n\nexport interface CustomerAccessData {\n  id: number\n  claims: string[]\n  displayName: string\n}","\nexport function getCurrentUser() {\n    const user = localStorage.getItem('paywall');\n    if(user) {\n        return JSON.parse(user);\n    }\n}\n\nexport function removeCurrentUser() {\n    localStorage.removeItem('paywall');\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useGoogleLogin } from '@react-oauth/google';\nimport * as axios from \"axios\"\nimport { useState } from 'react';\nimport { generateRecaptchaToken, PAYWALL_LOCAL_STORAGE_KEY } from './authOperations';\nimport { postPaywallAuthAppleSignIn, postPaywallAuthGoogleSignIn, postPaywallAuthThirdPartyEndSignIn, postPaywallSignedIn, postPaywallSignedInEnd, postPaywallSignedUp, postPaywallSignedUpEnd } from './paywallApiUrls';\nimport { AppleSignInResponse, AuthStepsEnum, CustomerAccessData, GoogleSignInResponse, ThirdPartyLoginResponse, PaywallAuthErrorCodes } from './paywallInterfaces';\n/*\n  Wrap your app with 'GoogleOAuthProvider' from '@react-oauth/google' and pass the Google client_id to it.\n  Then, call loginWithGoogle() and loginWithApple() from the component when appropriate.\n*/\n\n/* use Apple’s JavaScript SDK (https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js) */\n\nconst APPLE_CLIENT_ID = 'com.ynetQA-connect.ynet';\nconst APPLE_REDIRECT_URI = 'https://daniel.ynet.co.il:5173/';\n\n\ninterface UseAuthReturn {\n  authError: string | null;\n  step: AuthStepsEnum;\n  loginWithGoogle: () => void;\n  loginWithApple: () => void;\n  thirdPartyLogin: (isAgree: boolean) => void;\n  sendEmailForLogin: (email: string, agreesTerms?: boolean) => Promise<boolean>;\n  submitPassword: (password: string) => Promise<boolean>;\n  resetAuth: () => void;\n}\n\nconst validateEmail = (email: string) => {\n  const emailRegex = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n  return typeof email === \"string\" && emailRegex.test(email)\n}\n\nexport const getAuthHookFactory = (type: \"signup\" | \"login\") => (): UseAuthReturn => {\n  const [authError, setAuthError] = useState<string | null>(null);\n  const [step, setStep] = useState<AuthStepsEnum>(AuthStepsEnum.EMAIL);\n  const [email, setEmail] = useState<string | null>(null);\n  const [tokenExpireTimeStamp, setTokenExpireTimeStamp] = useState<Date | null>(null)\n  const [tokenResponse, setTokenResponse] = useState<string | null>(null)\n\n\n  const decodeJWT = (token: string): any => {\n    const base64Url = token.split('.')[1];\n    const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n    const jsonPayload = decodeURIComponent(\n      atob(base64)\n        .split('')\n        .map(c => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2))\n        .join('')\n    );\n    return JSON.parse(jsonPayload);\n  };\n\n  const createExpireTimeStamp = (expireIn: number) => {\n    return new Date(Date.now() + expireIn * 1000)\n  }\n\n  const handleExistingCustomer = (data: ThirdPartyLoginResponse) => {\n    const customerAccessData: CustomerAccessData = { id: data.id || -1, claims: data.claims || [], displayName: data.displayName || \"\" };\n    handleLoginSuccess(customerAccessData)\n  }\n\n  const handleLoginSuccess = (resData: any) => {\n    localStorage.setItem(PAYWALL_LOCAL_STORAGE_KEY, JSON.stringify(resData));\n    setStep(AuthStepsEnum.FINISH);\n    setAuthError(null);\n    setTokenExpireTimeStamp(null)\n    setTokenResponse(null)\n    setEmail(null)\n  }\n\n  const googleLogin = useGoogleLogin({\n    onSuccess: async (response: GoogleSignInResponse) => {\n      try {\n        const res = await axios.post<{ data: ThirdPartyLoginResponse }>(postPaywallAuthGoogleSignIn(), { thirdPartyToken: response.access_token });\n        const resPayload = res.data.data\n\n        if (!resPayload.isNewCustomer) {\n          handleExistingCustomer(resPayload)\n          return\n        }\n\n        const token = resPayload.token;\n        setTokenResponse(token);\n        setTokenExpireTimeStamp(createExpireTimeStamp(response.expires_in));\n        setStep(AuthStepsEnum.CONFIRM_TERMS);\n      } catch {\n        setAuthError(PaywallAuthErrorCodes.GOOGLE_SIGN_IN_FAILED);\n      }\n    },\n    onError: () => {\n      setAuthError(PaywallAuthErrorCodes.GOOGLE_SIGN_IN_FAILED);\n    },\n  });\n\n  const loginWithGoogle = () => {\n    //googleLogin is hook\n    googleLogin();\n  };\n\n  const loginWithApple = async () => {\n\n    try {\n      /* use Apple’s JavaScript SDK (https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js) */\n      (window as any).AppleID.auth.init({\n        clientId: APPLE_CLIENT_ID,\n        redirectURI: APPLE_REDIRECT_URI,\n        scope: 'email name',\n        usePopup: true,\n      });\n\n      const response: AppleSignInResponse = await (window as any).AppleID.auth.signIn();\n\n      const { authorization } = response;\n      const { code, id_token } = authorization;\n\n      if (!code || !id_token) {\n        throw new Error('Missing authorization code or ID token.');\n      }\n\n      const decodedToken = decodeJWT(id_token);\n      const expirationTime = decodedToken && decodedToken.exp;\n\n      if (!expirationTime) {\n        throw new Error('Missing expiration time in ID token.');\n      }\n\n      const res = await axios.post<{ data: ThirdPartyLoginResponse }>(postPaywallAuthAppleSignIn(), { thirdPartyToken: id_token });\n      const resData = res.data && res.data.data\n\n      if (!resData) {\n        throw new Error();\n      }\n\n      if ((window as any).AppleID && (window as any).AppleID.auth && (window as any).AppleID.auth.signInPopup) {\n        (window as any).AppleID.auth.signInPopup.close();\n      }\n\n      if (!resData.isNewCustomer) {\n        handleExistingCustomer(resData)\n        return\n      }\n\n      setTokenResponse(resData.token);\n      setTokenExpireTimeStamp(createExpireTimeStamp(expirationTime));\n      setStep(AuthStepsEnum.CONFIRM_TERMS);\n    } catch (error) {\n      setAuthError(error.message || PaywallAuthErrorCodes.APPLE_SIGN_IN_FAILED);\n      return false;\n    }\n  };\n\n  const thirdPartyLogin = async (isAgree: boolean) => {\n    if (tokenExpireTimeStamp && (Date.now() > tokenExpireTimeStamp.getTime())) {\n      setAuthError(PaywallAuthErrorCodes.TOKEN_EXPIRED)\n      return\n    }\n    try {\n      const response = await axios.post<any>(postPaywallAuthThirdPartyEndSignIn(), { token: tokenResponse, isAgree });\n      handleLoginSuccess(response.data.data)\n    } catch (error) {\n      setAuthError(error.response && error.response.data && error.response.data.message || PaywallAuthErrorCodes.THIRD_PARTY_LOGIN_FAILED);\n    }\n  }\n\n  const sendEmailForLogin = async (userEmail: string, agreesTerms?: boolean): Promise<boolean> => {\n    try {\n      const data: any = { email: userEmail.trim() }\n\n      if (type === \"signup\") {\n        if (!agreesTerms) {\n          setAuthError(PaywallAuthErrorCodes.SIGNUP_NO_AGREEMENT);\n          return false\n        }\n        data.agreesTerms = agreesTerms\n      }\n\n      if (!validateEmail(userEmail)) {\n        setAuthError(PaywallAuthErrorCodes.INVALID_EMAIL);\n        return false;\n      }\n\n      const recaptchaToken = await generateRecaptchaToken(type);\n      const response = await axios.post(type === \"login\" ? postPaywallSignedIn(recaptchaToken) : postPaywallSignedUp(recaptchaToken), data);\n      if (response.data) {\n        setEmail(userEmail);\n        setStep(AuthStepsEnum.PASSWORD);\n        setAuthError(null);\n        return true;\n      }\n      return false;\n    } catch (error) {\n      console.error(error)\n      setAuthError(error.response && error.response.data && error.response.data.message || PaywallAuthErrorCodes.FAILED_TO_SEND_OTP);\n      return false;\n    }\n  };\n\n  const submitPassword = async (password: string): Promise<boolean> => {\n    if (!email) {\n      setAuthError(PaywallAuthErrorCodes.INVALID_EMAIL);\n      return false;\n    }\n\n    try {\n      const recaptchaToken = await generateRecaptchaToken(type + \"_end\");\n      const endpoint = type === \"signup\" ? postPaywallSignedUpEnd(recaptchaToken) : postPaywallSignedInEnd(recaptchaToken);\n      const response = await axios.post<any>(endpoint, { email, password });\n      if (response.data) {\n        handleLoginSuccess(response.data.data)\n        return true;\n      }\n      return false;\n    } catch (error) {\n      setAuthError(error.response && error.response.data && error.response.data.message || PaywallAuthErrorCodes.AUTHENTICATION_FAILED);\n      return false;\n    }\n  };\n  const resetAuth = () => {\n    setAuthError(null);\n    setStep(AuthStepsEnum.EMAIL);\n    setEmail(null);\n    setTokenExpireTimeStamp(null)\n    setTokenResponse(null)\n  };\n\n  return {\n    authError,\n    step,\n    loginWithApple,\n    loginWithGoogle,\n    thirdPartyLogin,\n    sendEmailForLogin,\n    submitPassword,\n    resetAuth,\n  };\n};\n","import * as axios from \"axios\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { postPaywallPurchaseProduct } from \"./paywallApiUrls\";\nimport { PaywallPurchaseErrorCodes } from \"./paywallInterfaces\";\n\ninterface ApiResponse {\n  url: string;\n}\n\nexport enum PurchaseStatus {\n  Idle = \"idle\",\n  Loading = \"loading\",\n  FormReady = \"formReady\",\n  Error = \"error\",\n  Completed = \"completed\",\n  Cancelled = \"cancelled\",\n}\n\ninterface PaymentMessage {\n  type: \"creditCompleted\";\n  result: \"success\" | \"error\" | \"cancel\";\n}\n\nexport const usePurchase = (productUniqueId: string) => {\n  const [purchaseStatus, setPurchaseStatus] = useState<PurchaseStatus>(PurchaseStatus.Idle);\n  const [error, setError] = useState<string | null>(null);\n  const [paymentUrl, setPaymentUrl] = useState<string | null>(null);\n\n  const resetPurchase = useCallback(() => {\n    setPurchaseStatus(PurchaseStatus.Idle);\n    setError(null);\n    setPaymentUrl(null);\n  }, []);\n\n  const handlePaymentCompletion = useCallback((message: PaymentMessage): void => {\n    if (message.type === \"creditCompleted\") {\n      switch (message.result) {\n        case \"success\":\n          setPurchaseStatus(PurchaseStatus.Completed);\n          break;\n        case \"error\":\n          setPurchaseStatus(PurchaseStatus.Error);\n          setError(PaywallPurchaseErrorCodes.PAYMENT_FAILED);\n          break;\n        case \"cancel\":\n          setPurchaseStatus(PurchaseStatus.Cancelled);\n          break;\n        default:\n          setPurchaseStatus(PurchaseStatus.Error);\n          setError(PaywallPurchaseErrorCodes.UNEXPECTED_STATUS);\n      }\n    }\n  }, []);\n\n  useEffect(() => {\n    if (paymentUrl) {\n      return\n    }\n\n    const initiatePurchase = async (): Promise<void> => {\n      try {\n        setPurchaseStatus(PurchaseStatus.Loading);\n        setError(null);\n        const response = await axios.post<{ data: ApiResponse }>(postPaywallPurchaseProduct(), { productUniqueId });\n        const url = response.data && response.data.data && response.data.data.url\n        if (url) {\n          setPaymentUrl(url);\n          setPurchaseStatus(PurchaseStatus.FormReady);\n        } else {\n          throw new Error(PaywallPurchaseErrorCodes.INVALID_RESPONSE);\n        }\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n      } catch (err) {\n        setError(err.message || PaywallPurchaseErrorCodes.UNKNOWN_ERROR);\n        setPurchaseStatus(PurchaseStatus.Error);\n      }\n    };\n\n    if (productUniqueId) {\n      initiatePurchase();\n    }\n  }, [productUniqueId, paymentUrl]);\n\n  useEffect(() => {\n    const handleMessage = (event: MessageEvent) => {\n      if (event.data && event.data.type === \"creditCompleted\") {\n        handlePaymentCompletion(event.data);\n      }\n    };\n\n    window.addEventListener(\"message\", handleMessage);\n    return () => {\n      window.removeEventListener(\"message\", handleMessage);\n    };\n  }, [handlePaymentCompletion]);\n\n  return {\n    purchaseStatus,\n    paymentUrl,\n    error,\n    resetPurchase,\n  };\n};\n","var clickOutside = require(\"react-click-outside\");\n\n\ninterface colorPickerProps {\n    colorPickerOpen: boolean\n    colorOptions: {}\n    className: string\n    prefix: string\n    style?: any\n    toggleColor: (value: string) => void\n    toggleColorPicker: () => void\n}\n\ninterface colorPickerState {\n}\n\n@clickOutside\nexport class ColorPicker extends React.Component<colorPickerProps, colorPickerState>{\n    private handleClickOutside = () => {\n        if (this.props.colorPickerOpen) {\n            this.props.toggleColorPicker();\n        }\n    }\n\n    public render() {\n        const { colorPickerOpen, colorOptions, toggleColorPicker, toggleColor, className, prefix, style } = this.props;\n        return (\n            <div className={className} onMouseUp={toggleColorPicker} style={style}>\n                {colorPickerOpen ?\n                    _.map<any, any>(colorOptions, i =>\n                        <div className=\"color_picker\"\n                            style={{ borderRightColor: `${i.label}` }}\n                            onMouseDown={(e) => { e.preventDefault(); toggleColor(`${prefix}#${i.value}`) }}\n                            key={i.value}\n                        >{i.label}</div>\n                    ) : null\n                }\n            </div>\n        )\n    }\n\n}","import { isWcmEditor } from \"config/serverConfig\"\n\nexport class SiteArticlePremiumCutter extends React.Component<{platform:string}, {}> {\n    public static siteScriptName = \"SiteArticlePremiumCutter\";\n\n    private handleOnClick() {\n        window.YitPaywall.openLoginPopUp();\n        window.dataLayer = window.dataLayer || []\n        window.dataLayer.push({\n            event: 'Login_Events',\n            Category: 'Ynet+ - Login',\n            Action: 'Login Source',\n            Label: 'Ynet+ Article - Block Box'\n        });\n    }\n\n    public render() {\n        const {platform} = this.props\n        if (!isWcmEditor()) {\n            return (\n                <div className=\"ArticlePremiumCutter\" id=\"ynet_premium_blocked\">\n                    <div className=\"topShadow\"></div>\n                    <div className=\"premium_block\">\n                        <img className=\"premuim_image\" alt=\"premuim_image\" src=\"https://images1.ynet.co.il/static/article/images/ynet_dark_logo.png\" height=\"33\" width=\"auto\" />\n                        <p className=\"premium_slogan\"><strong className=\"rtl-premium\">עושים מינוי +ynet ונהנים מכל העולמות</strong></p>\n                        <div className=\"premium-bullets\">\n                            <div className=\"premium-block-box\">\n                                <div className=\"mutam-check-image\"></div>\n                                <img className=\"box_image\" alt=\"premuim_image\" src=\"https://images1.ynet.co.il/static/article/images/v.png\" height=\"38\" width=\"38\" />\n                                <span className=\"rtl-premium\">ניתן לבטל בקלות בכל עת</span>\n                            </div>\n                            <div className=\"premium-block-box\">\n                                <div className=\"mutam-check-image\"></div>\n                                <img className=\"box_image\" alt=\"premuim_image\" src=\"https://images1.ynet.co.il/static/article/images/v.png\" height=\"38\" width=\"38\" />\n                                <span className=\"rtl-premium\">גישה בלתי מוגבלת לכל כתבות +ynet</span>\n                            </div>\n                            <div className=\"premium-block-box\">\n                                <div className=\"mutam-check-image\"></div>\n                                <img className=\"box_image\" alt=\"premuim_image\" src=\"https://images1.ynet.co.il/static/article/images/v.png\" height=\"38\" width=\"38\" />\n                                <span className=\"rtl-premium\">אירועים, הטבות והרצאות למנויים</span>\n                            </div>\n                        </div>\n                        <a id=\"register_premium\" className=\"register_premium-pf\" href={(platform===\"android\"|| platform===\"iphone\" || platform===\"tablet\") ? \"https://premium.ynet.co.il/Web/Register#/campaigns\" :`javascript:window.open(YitPaywall.ApiRroutesConfig.Origin+YitPaywall.ApiRroutesConfig.register)`}>הצטרפו עכשיו!</a>\n                        <div className=\"premium-bullets links\">\n                            <a className=\"login_premium\" id=\"login_premium\" onClick={() => this.handleOnClick()}>כבר יש לכם מנוי? <u>התחברו</u></a>\n                            <a target=\"_blank\" id=\"register_premium_preview\" href={(platform===\"android\"|| platform===\"iphone\"  || platform===\"tablet\") ? \"https://www.ynet.co.il/plus?showAccessibility=false&IsApp=true\" : \"//premium.ynet.co.il/Web/Manage/Main\"} onClick={() => \"open_register()\"}>עוד בפלוס</a>\n                        </div>\n                    </div>\n                </div>\n            )\n        } else return null\n    }\n}\n\n\n","interface toolbarButtonProps {\n    onMouseDown?: () => void\n    className: string\n    iconClassName: string\n    title: string\n    id?: string\n    style?: Object\n    onClick: (value?: any) => void\n}\n\n\nexport class ToolbarButton extends React.Component<toolbarButtonProps, {}> {\n    private handleClick = event => {\n        event.preventDefault();\n        event.stopPropagation();\n        this.props.onClick(event);\n    }\n    public render() {\n        const { style, className, iconClassName, title, id } = this.props;\n        return (\n            <div\n                onMouseDown={e => { e.preventDefault(); e.stopPropagation() }}\n                onClick={this.handleClick}\n                className={className}\n                title={title}\n                id={id}\n                style={style}\n            >\n                <div className={iconClassName} />\n                {this.props.children}\n            </div>\n        )\n    }\n}","import { LinkTargetProperties, LinkPropertiesObject, LinkProperties } from \"global/components/linkSettings/interfaces\"\nimport { BaseLinkTypes } from \"global/components/linkSettings/interfaces\"\n\nexport const colorOptions = [\"#000\", \"#ccc\", \"#0000ff\", \"#ff0000\"];\n\nexport const modalOpenOptions = [\n    { value: \"same\", label: __(\"Same Window\") },\n    { value: \"new\", label: __(\"New Window\") },\n    { value: \"lightBox\", label: __(\"Light Box\") },\n];\n\nconst linkProperties: LinkProperties<BaseLinkTypes> = {\n    type: BaseLinkTypes.EXTERNAL_URL,\n    link: { id: \"\", description: \"\" },\n}\n\nconst linkTargetProperties: LinkTargetProperties = {\n    linkOpenType: \"new\",\n    lightBoxWidth: 600,\n    lightBoxHeight: 500,\n    lightBoxOpacity: 70,\n    lightBoxBgColor: colorOptions[0],\n}\n\nexport const linkPropertiesObjectInput: LinkPropertiesObject<BaseLinkTypes> = { linkProperties, linkTargetProperties }","import * as shortid from \"shortid\"\r\nshortid.characters(\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$!\");\r\n\r\nexport interface IIdGenerator {\r\n    generate: () => string\r\n}\r\n\r\nfunction defaultGenerator(): IIdGenerator {\r\n    return shortid;\r\n}\r\n\r\nfunction replaceUnsafeChars(s: string) {\r\n    return s.replace(/[\\$!]/g, r => r == \"$\" ? \"00\" : \"11\");\r\n}\r\n\r\nclass IdGeneratorFactory implements IIdGenerator {\r\n    private static generator: IIdGenerator = defaultGenerator();\r\n    static setGenerator(customGenerator: IIdGenerator) {\r\n        IdGeneratorFactory.generator = customGenerator;\r\n    }\r\n    public generate() {\r\n        return replaceUnsafeChars(IdGeneratorFactory.generator.generate());\r\n    }\r\n}\r\n\r\nclass FakeIdGenerator implements IIdGenerator {\r\n    private ids: string[];\r\n    private idCounter = 0;\r\n    constructor(...fakeIds: string[]) {\r\n        this.ids = fakeIds;\r\n    }\r\n\r\n    generate() {\r\n        if (this.ids.length == 0) {\r\n            this.ids = [\"newId\"];\r\n        }\r\n        let id = this.ids[this.idCounter];\r\n        this.idCounter++;\r\n        if (this.idCounter >= this.ids.length) {\r\n            this.idCounter = 0;\r\n        }\r\n        return id;\r\n    }\r\n}\r\n\r\n/**for tests only: setup a predictable id generator that will cycle the given fake ids */\r\nexport function setupFakeIdGenerator(...fakeIds: string[]) {\r\n    IdGeneratorFactory.setGenerator(new FakeIdGenerator(...fakeIds));\r\n}\r\n\r\n/** Generates a random string value that can be used as new id */\r\nexport const IdGenerator = new IdGeneratorFactory();","const MOBILE_MAX_WIDTH = 700; // same as mobile media query\n\nexport const isMobile = () => {\n    return window.innerWidth < MOBILE_MAX_WIDTH\n}","import * as axios from \"axios\"\n\nconst ISO_8601 = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z?$/;\n\nexport const addAxiosDateTransformerSettings = (axiosSettings: Axios.AxiosXHRConfigBase<any> = {}) => {\n    let transformResponseBase = axiosSettings.transformResponse || []// as [<U>(data: any, headers?: any) => U]\n    const x = { transformResponse: transformResponseBase };\n    if (!Array.isArray(transformResponseBase)) {\n        transformResponseBase = [transformResponseBase];\n    }\n    var y = function transformResponse(data, headers?: any) {\n        /*eslint no-param-reassign:0*/\n        if (typeof data === 'string') {\n            try {\n                data = JSON.parse(data, dateParser);\n            } catch (e) {\n                return data;\n            }\n        }\n        return data;\n    }\n    return { ...axiosSettings, transformResponse: [y] }\n    // return {\n    //     ...axiosSettings,\n    //     transformResponse: transformResponseBase.concat([\n    //         function transformResponse(data, headers:any) {\n    //             /*eslint no-param-reassign:0*/\n    //             if (typeof data === 'string') {\n    //                 try {\n    //                     data = JSON.parse(data, dateParser);\n    //                 } catch (e) {\n    //                     return data;\n    //                 }\n    //             }\n    //             return data;\n    //         }\n    //     ])\n    // }\n}\n\nexport const dateParser = (key: string, value: any) => {\n\n    if (typeof value === 'string' && ISO_8601.test(value)) {\n        var newValue;\n        if (!value.endsWith(\"Z\")) {\n            newValue = `${value}Z`;\n            console.error(\"WARNING date without Z ending\", value)\n        }\n        else newValue = value\n        return new Date(newValue);\n    }\n    return value;\n}\n","// from https://github.com/dphilipson/typescript-string-enums\n\nexport function StringEnum<V extends string>(...values: V[]): {[K in V]: K } {\n    const result: any = {};\n    values.forEach((value) => result[value] = value);\n    return result;\n}\n\nexport type StringEnum<T> = T[keyof T];","require(\"./ctech_calcalist_site_calcalistComponentaShareMenu.less\");\nrequire(\"./ctech_site_calcalistComponentaShareMenu-mobile.less\");\nimport { openFacebookShare, openTwitterShare, openMailShare, analyticsPushFunc, openLinkedinShare, openWhatsAppShare, } from \"../../widgetsUtils\";\nimport { isWcmEditor } from \"config/serverConfig\";\n\ninterface CalcalistComponentaShareMenuState {\n    isButtonsVisible: boolean;\n}\ninterface shareMenuProps {\n    id?: string;\n    url: string;\n    title?: string;\n    isLTR?: boolean;\n    isArticle?: boolean;\n    showOnHover?: boolean;\n    showWA?: boolean;\n    isResponsive?: boolean;\n}\n\nexport class CalcalistShareMenu extends React.Component<shareMenuProps, CalcalistComponentaShareMenuState> {\n\n    public static siteScriptName = \"CalcalistShareMenu\";\n\n    constructor(props: shareMenuProps) {\n        super(props);\n        this.state = {\n            isButtonsVisible: false,\n        };\n    }\n\n    private openShare = async () => {\n        const { title, id, url } = this.props;\n        const shareData = { url: url + \"#\" + id, title: title };\n\n        try {\n            // @ts-ignore\n            await navigator.share(shareData);\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    };\n\n    private toggleMenu = (value?: boolean) => {\n        const { isButtonsVisible } = this.state;\n        this.setState({ isButtonsVisible: value === undefined ? !isButtonsVisible : value });\n    };\n\n    render() {\n        const { isButtonsVisible } = this.state;\n        const { url, title, isLTR, isArticle, showOnHover, showWA, id, isResponsive } = this.props;\n        const isVisible = isButtonsVisible ? \"fadeIn\" : \"\";\n        const isApp = typeof window !== \"undefined\" && window.location.href.indexOf(\"IsApp\") != -1;\n\n        return (\n            <div className=\"ShareMenu\">\n                <div\n                    className={`shareBtnsBox ${isVisible}`}\n                    onMouseEnter={showOnHover && !isResponsive ? () => this.toggleMenu(true) : null}\n                    onMouseLeave={showOnHover && !isResponsive ? () => this.toggleMenu(false) : null}\n                >\n                    <button\n                        className=\"calcalistShare fb\"\n                        onClick={() =>\n                            !isWcmEditor() ?\n                                openFacebookShare(url, title, () => analyticsPushFunc(\"Facebook\", \"Article Main Image\", title), \"Article Main Image\")\n                                :\n                                null\n                        }\n                    />\n\n                    <button\n                        className=\"calcalistShare tw\"\n                        onClick={() =>\n                            !isWcmEditor() ?\n                                openTwitterShare(url, () => analyticsPushFunc(\"Twitter\", \"Article Main Image\", title), \"Article Main Image\")\n                                :\n                                null\n                        }\n                    />\n\n                    {isArticle &&\n                        <button\n                            className=\"calcalistShare mail\"\n                            onClick={() =>\n                                !isWcmEditor() ?\n                                    openMailShare(title, \"כלכליסט\", url, () => analyticsPushFunc(\"Mail\", \"Article Main Image\", title), \"Article Main Image\")\n                                    :\n                                    null\n                            }\n                        />\n                    }\n\n                    {isLTR &&\n                        <button\n                            className=\"calcalistShare li\"\n                            onClick={() =>\n                                !isWcmEditor() ?\n                                    openLinkedinShare(url, () => analyticsPushFunc(\"Linkedin\", \"Article Main Image\", title))\n                                    :\n                                    null\n                            }\n                        />\n                    }\n\n                    {(isLTR || showWA) &&\n                        <button\n                            className=\"calcalistShare wa\"\n                            onClick={() =>\n                                !isWcmEditor() ?\n                                    openWhatsAppShare(url, () => analyticsPushFunc(\"Mail\", \"Article Main Image\", title), \"Article Main Image\")\n                                    :\n                                    null\n                            }\n                        />\n                    }\n                </div>\n\n                {isApp && isResponsive ?\n                    <a href={`share_article/${id}`} title={\"share\"} className=\"toggleShareButtons\"></a>\n                    :\n                    <button\n                        onClick={!isResponsive ? () => this.toggleMenu() : null}\n                        onMouseEnter={showOnHover && !isResponsive ? () => this.toggleMenu(true) : null}\n                        onMouseLeave={showOnHover && !isResponsive ? () => this.toggleMenu(false) : null}\n                        className={`toggleShareButtons ${isVisible} ${isResponsive ? \"mobileShareBtn\" : \"\"}`}\n                    />\n                }\n            </div>\n        );\n    }\n}\n","require(\"./floatingColorPicker.less\")\nimport { ToolbarButton } from \"textEditor/components/toolbarButton\"\nimport { ColorPicker } from \"../../../textEditor/components/colorPicker\"\nimport { hexToRgbA } from \"widgets/widgetsUtils\"\nimport settings from \"config/settings\"\n\ninterface FloatingColorPickerProps {\n    top?: number\n    bottom?: number\n    left?: number\n    right?: number\n    selectedText?: Selection\n    showBold?: boolean\n    fontWeight?: string\n}\ninterface FloatingColorPickerState {\n    isColorPickerVisible: boolean\n    isTheWholeComponentVisible: boolean\n}\n\n\nexport class FloatingColorPicker extends React.Component<FloatingColorPickerProps, FloatingColorPickerState>{\n    constructor(props: FloatingColorPickerProps) {\n        super(props)\n        this.state = {\n            isColorPickerVisible: false,\n            isTheWholeComponentVisible: true\n        }\n    }\n\n    private textColorsArr = settings.defaultTitleColorPickerColors;\n\n    private createColorOptions = (colors) => {\n        return _.map(colors, i => ({\n            label: i,\n            value: i,\n        }))\n    }\n\n    private onEmphasize = (hexColor: string): void => {\n        const { selectedText } = this.props\n        if (!selectedText) { return null }\n\n        const text = window.getSelection().toString();\n\n        document.execCommand('styleWithCSS', false, true as any);\n        if (hexColor === `#${__(\"Without Color\")}`) {\n            const selection = window.getSelection();\n            if (selection.rangeCount) {\n                const range = selection.getRangeAt(0);\n                const selectedElement: any = range.startContainer.parentNode;\n                if (selectedElement.nodeName === 'SPAN' && selectedElement.style.webkitTextFillColor !== '') {\n                    const parent = selectedElement.parentNode;\n                    while (selectedElement.firstChild) {\n                        parent.insertBefore(selectedElement.firstChild, selectedElement);\n                    }\n                    parent.removeChild(selectedElement);\n                    parent.normalize();\n                }\n            }\n        }\n        else {\n            const emphasizeColor = hexToRgbA(hexColor); //\"rgb(255, 0, 0)\"; // always use rgb() because document.queryCommandValue return value is rgb\n            const selection = window.getSelection();\n            if (selection.rangeCount) {\n                const range = selection.getRangeAt(0);\n                const selectedText = range.cloneContents();\n                const span = document.createElement('span');\n                span.style.webkitTextFillColor = emphasizeColor;\n                span.style.color = emphasizeColor;\n                // add a class to the span\n                span.className = \"redTextColorSpan\";\n                span.appendChild(selectedText);\n                range.deleteContents();\n                range.insertNode(span);\n            }\n        }\n        this.hideTextColorPicker();\n        this.setState({ isTheWholeComponentVisible: false })\n\n        // article update workarround\n        document.execCommand(\"bold\", false, null)\n        document.execCommand(\"bold\", false, null)\n    }\n\n    private showTextColorPicker = (): void => {\n        this.setState({ isColorPickerVisible: true })\n    }\n\n    private hideTextColorPicker = (): void => {\n        this.setState({ isColorPickerVisible: false })\n    }\n\n    private handleToolbarOnClick = (e) => {\n    const { isColorPickerVisible } = this.state\n        e.stopPropagation();\n        e.nativeEvent.stopImmediatePropagation();\n        e.preventDefault();\n        isColorPickerVisible ? this.hideTextColorPicker() : this.showTextColorPicker()\n    }\n\n    private onBoldClick = (e) => {\n        e.stopPropagation();\n        e.nativeEvent.stopImmediatePropagation();\n        e.preventDefault();\n        document.execCommand(\"bold\", false, null)\n        this.setState({ isTheWholeComponentVisible: false })\n    }\n    render() {\n        const { top, bottom, left, right, showBold } = this.props\n        const { isTheWholeComponentVisible, isColorPickerVisible } = this.state\n        const style = { position: \"absolute\", top, bottom, right, left }\n        if (!isTheWholeComponentVisible) { return null }\n        return (\n            <div className=\"FloatingColorPicker\" style={style}>\n                <div className=\"btnWrapper\">\n                    {\n                        showBold &&\n                        <ToolbarButton\n                            id=\"textEditorBoldBtn\"\n                            className={\"\"}\n                            onClick={this.onBoldClick}\n                            iconClassName=\"yicon-text_editor-bold\"\n                            title={__(\"Bold\")}\n                        />\n                    }\n                    \n                    <ToolbarButton\n                        id=\"textEditorTextColorPickerBtn\"\n                        onClick={e => this.handleToolbarOnClick(e)}\n                        className={\"\"}\n                        iconClassName=\"yicon-text_editor-textColor\"\n                        title={__(\"Text color\")}\n                    />\n                    <button\n                        className=\"yicon-drop_down\"\n                        onMouseDown={e => { e.preventDefault(); e.stopPropagation() }}\n                        onClick={e => this.handleToolbarOnClick(e)}>\n                    </button>\n                </div>\n\n                {isColorPickerVisible && <ColorPicker\n                    className=\"textEditor-textColorDropDown\"\n                    colorOptions={this.createColorOptions(this.textColorsArr)}\n                    colorPickerOpen={true}\n                    toggleColor={value => this.onEmphasize(value)}\n                    toggleColorPicker={() => null}\n                    prefix={\"\"}\n                    style={{ width: \"80px\" }}\n                />}\n            </div>\n        )\n    }\n}","import { PropTypes } from \"prop-types\"\nimport { PageComponentaContext, PageComponentaContextTypes } from \"../../interfaces\"\nimport { HOCDecorator } from \"global/globalDefinitions\"\n\n//TODO:remopve `& any` from `WarrpedComponent: React.ComponentClass<T & any >` after TS ver 2.6 release\nexport const injectPageComponentaContext = <T extends PageComponentaContext>(): HOCDecorator => (WarrpedComponent: React.ComponentClass<T & any>) =>\n    class InjectPageComponentaContext<T extends Partial<PageComponentaContext>> extends React.Component<T, {}>{\n        context: PageComponentaContext;\n        public static contextTypes: PageComponentaContextTypes = {\n            pageId: PropTypes.string,\n            componentaId: PropTypes.string,\n            getArticle: PropTypes.func,\n            getImage: PropTypes.func,\n            getVideo: PropTypes.func,\n            getTag: PropTypes.func,\n            getImageSize: PropTypes.func,\n            getCurrentPage: PropTypes.func,\n            getPageCategory: PropTypes.func,\n            copyMediaImage: PropTypes.func,\n            loadComponentaArticleResource: PropTypes.func,\n            loadComponentaExtraData: PropTypes.func,\n            loadComponentaVideoResource: PropTypes.func,\n            copyImage: PropTypes.func,\n            colorList: PropTypes.array,\n            getWidget: PropTypes.func,\n            getUrl: PropTypes.func,\n            widgetType: PropTypes.string,\n            orderedImages: PropTypes.array,\n            loadCategoryFields: PropTypes.func,\n            siteLayoutType: PropTypes.string\n        }\n\n        public render() {\n            return <WarrpedComponent {...this.context} {...this.props} />\n        }\n    }","interface MultiImagesFrontProps {\n    width: number\n    imageWidth: number\n    itemLength: number\n    isLTR?: boolean\n}\n\ninterface MultiImagesFrontState {\n    num_of_scrolls_left_available: number\n    num_of_scrolls_right_available: number\n    width_in_pixels_of_last_overflowing_item_in_row: number\n    rightOffset: number\n}\nexport const getItemMargin = (componentWidth: number, imageWidth: number) => {\n    const singleItemWidth = imageWidth\n    let numberofVisibleItems = Math.floor(componentWidth / singleItemWidth)\n    let imagesWidth = numberofVisibleItems * singleItemWidth\n    let spaceForMargin = componentWidth - imagesWidth\n    let marginLeft = spaceForMargin / (numberofVisibleItems - 1)\n    return marginLeft\n}\n\nexport class MultiImagesScroller extends React.Component<MultiImagesFrontProps, MultiImagesFrontState>{\n    constructor(props: MultiImagesFrontProps) {\n        super(props);\n        this.state = {\n            num_of_scrolls_left_available: null,\n            num_of_scrolls_right_available: null,\n            rightOffset: 0,\n            width_in_pixels_of_last_overflowing_item_in_row: 0\n        }\n    }\n\n\n    public componentWillMount() {\n        const { itemLength, imageWidth, width } = this.props\n\n        if (itemLength > 0) {\n            this.setupLisScrolling(itemLength, width, imageWidth)\n        }\n    }\n\n    public componentDidUpdate({ itemLength, width }: MultiImagesFrontProps) {\n\n        if (this.props.itemLength !== itemLength || this.props.width !== width) {\n            this.setupLisScrolling(itemLength, width, this.props.imageWidth)\n        }\n    }\n\n\n    private setupLisScrolling(num_of_items: number, width: number, imageWidth: number) {\n        const num_of_medias_fit_in_full_row = Math.floor(width / imageWidth)\n        const items_in_last_row = num_of_items % num_of_medias_fit_in_full_row;\n        let num_of_scrolls_left_available: number;\n        if (items_in_last_row !== 0) {\n            num_of_scrolls_left_available = Math.floor(num_of_items / num_of_medias_fit_in_full_row)\n        }\n        else { num_of_scrolls_left_available = Math.floor(num_of_items / num_of_medias_fit_in_full_row) - 1 }\n        const num_of_scrolls_right_available = 0\n        this.setState({ num_of_scrolls_left_available, num_of_scrolls_right_available, width_in_pixels_of_last_overflowing_item_in_row: getItemMargin(width, imageWidth) })\n    }\n\n    private handleScrollLeftClicked = () => {\n        const { width_in_pixels_of_last_overflowing_item_in_row, num_of_scrolls_left_available, num_of_scrolls_right_available, rightOffset } = this.state\n        const { itemLength, width, imageWidth } = this.props\n        const single_media_item_width = imageWidth + width_in_pixels_of_last_overflowing_item_in_row\n\n        if (num_of_scrolls_left_available === 1) {\n            const num_of_medias_fit_in_full_row = Math.floor(width / imageWidth)\n            const rightOffset = (single_media_item_width * (itemLength - num_of_medias_fit_in_full_row)) - width_in_pixels_of_last_overflowing_item_in_row\n            this.setState({\n                rightOffset: - rightOffset - width_in_pixels_of_last_overflowing_item_in_row,\n                num_of_scrolls_left_available: 0,\n                num_of_scrolls_right_available: num_of_scrolls_right_available + 1\n            })\n\n            return null\n\n        }\n        if (num_of_scrolls_left_available > 0) {\n            this.setState({\n                rightOffset: rightOffset - width - width_in_pixels_of_last_overflowing_item_in_row,\n                num_of_scrolls_left_available: num_of_scrolls_left_available - 1 !== 0 ? num_of_scrolls_left_available - 1 : 0,\n                num_of_scrolls_right_available: num_of_scrolls_right_available + 1\n            })\n        }\n    }\n\n    private handleScrollRightClicked = () => {\n        const { num_of_scrolls_right_available, num_of_scrolls_left_available, width_in_pixels_of_last_overflowing_item_in_row, rightOffset } = this.state\n        const { width } = this.props\n        if (num_of_scrolls_right_available === 1) {\n            this.setState({\n                rightOffset: 0,\n                num_of_scrolls_left_available: num_of_scrolls_left_available + 1,\n                num_of_scrolls_right_available: 0\n            })\n            return null\n        }\n        if (num_of_scrolls_right_available > 0) {\n            this.setState({\n                rightOffset: rightOffset + width + width_in_pixels_of_last_overflowing_item_in_row,\n                num_of_scrolls_left_available: num_of_scrolls_left_available + 1,\n                num_of_scrolls_right_available: num_of_scrolls_right_available - 1 > 0 ? num_of_scrolls_right_available - 1 : 0\n            })\n        }\n    }\n\n\n    public render() {\n        const { width, imageWidth, isLTR } = this.props\n        const { num_of_scrolls_right_available, num_of_scrolls_left_available, rightOffset } = this.state\n        const itemWidth = getItemMargin(width, imageWidth) + imageWidth\n        let isLeftArrowVisible = num_of_scrolls_left_available !== 0\n        let isRightArrowVisible = num_of_scrolls_right_available !== 0\n\n        return (<div className=\"slotsContent\">\n            {isRightArrowVisible && <button className={`${isLTR ? 'scrollLeft' : 'scrollRight'} arrowBtn`}\n                onClick={(e) => this.handleScrollRightClicked()}\n                aria-label=\"scroll right\" />}\n            <div className=\"slotListWrapper\" style={isLTR ? { \"marginLeft\": rightOffset } : { \"marginRight\": rightOffset }} >\n                {this.props.children}\n            </div>\n            {isLeftArrowVisible && <button className= {`${isLTR ? 'scrollRight' : 'scrollLeft'} arrowBtn`}  aria-label=\"scroll left\" onClick={(e) => this.handleScrollLeftClicked()} />}\n        </div>\n        )\n    }\n}\n\n","interface MultiImagesLabelsFrontProps {\n    width: number\n    imageWidth: number\n    itemLength: number\n    marginRight: number\n    isLTR?:boolean\n}\n\ninterface MultiImagesLabelsFrontState {\n    rightOffset: number\n    selectedIndex: number\n}\nexport const numberOfImagesToView = (width, imageWidth, marginRight) => {\n    const itemWidth = imageWidth + marginRight\n    const numberOfImagesToView = Math.floor(width / itemWidth)\n    return numberOfImagesToView;\n}\n\n\nexport class MultiImagesScrollPerItem extends React.Component<MultiImagesLabelsFrontProps, MultiImagesLabelsFrontState>{\n\n    constructor(props) {\n        super(props);\n        this.state = {\n            selectedIndex: 0,\n            rightOffset: 0,\n        }\n    }\n\n    private handleScrollLeftClicked = () => {\n        const { selectedIndex, rightOffset } = this.state\n        const { itemLength, width, imageWidth, marginRight } = this.props\n        const single_media_item_width = imageWidth + marginRight\n        let newIndex = selectedIndex + 1;\n        const scrollBarWidth = width + marginRight\n        const lastScrollingsize = single_media_item_width - (scrollBarWidth - numberOfImagesToView(scrollBarWidth, imageWidth, marginRight) * single_media_item_width)\n        const newRightOffset = rightOffset - single_media_item_width\n        const lastNewOffset = rightOffset - lastScrollingsize\n        if (selectedIndex < itemLength - numberOfImagesToView(scrollBarWidth, imageWidth, marginRight) - 1) {\n            this.setState({\n                rightOffset: newRightOffset,\n                selectedIndex: newIndex\n            })\n        }\n        else if (selectedIndex === itemLength - numberOfImagesToView(scrollBarWidth, imageWidth, marginRight) - 1) {\n            this.setState({\n                rightOffset: lastNewOffset,\n                selectedIndex: newIndex\n            })\n        }\n\n    }\n\n    private handleScrollRightClicked = () => {\n        const { selectedIndex, rightOffset } = this.state\n        const { itemLength: itemList, width, imageWidth, marginRight } = this.props\n        const scrollBarWidth = width + marginRight\n        const single_media_item_width = imageWidth + marginRight\n        let newIndex = selectedIndex - 1\n        const lastScrollingsize = single_media_item_width - (scrollBarWidth - numberOfImagesToView(scrollBarWidth, imageWidth, marginRight) * single_media_item_width)\n        const firstOffset = rightOffset + lastScrollingsize\n        const newRightOffset = rightOffset + single_media_item_width\n\n        if (selectedIndex > 1) {\n            this.setState({\n                rightOffset: newRightOffset,\n                selectedIndex: newIndex\n            })\n        }\n        else if (selectedIndex === 1) {\n            this.setState({\n                rightOffset: 0,\n                selectedIndex: 0\n            })\n        }\n    }\n\n    public render() {\n        const { width, imageWidth, itemLength, marginRight, isLTR } = this.props\n        const { selectedIndex, rightOffset } = this.state\n        let isRightArrowAvailble = isLTR ? selectedIndex !== itemLength - numberOfImagesToView(width + marginRight, imageWidth, marginRight) : selectedIndex !== 0\n        let isLeftArrowAvailble =  isLTR ? selectedIndex !== 0 : selectedIndex !== itemLength - numberOfImagesToView(width + marginRight, imageWidth, marginRight)\nconst style =  { \"marginInlineStart\": rightOffset };\n        return (\n            <div className=\"slotsContent\">\n                <button\n                    disabled={!isRightArrowAvailble}\n                    className=\"scrollRight arrowBtn\"\n                    aria-label=\"scroll right\"\n                    onClick={(e) => isLTR ? this.handleScrollLeftClicked() : this.handleScrollRightClicked()} />\n                <div className=\"frame_forList\">\n                    <div className=\"slotListWrapper\" style={style} >\n                        {this.props.children}</div>\n                </div>\n                <button\n                    disabled={!isLeftArrowAvailble}\n                    aria-label=\"scroll left\"\n                    className=\"scrollLeft arrowBtn\"\n                    onClick={(e) => isLTR? this.handleScrollRightClicked() : this.handleScrollLeftClicked()} />\n\n\n            </div>)\n    }\n}\n","require(\"./richInputExtras/richInput.less\");\nimport * as classNames from \"classnames\";\nimport { ContentEditable } from \"../../../global/components/contentEditable\";\nimport { isWcmEditor } from \"config/serverConfig\";\nimport { FloatingColorPicker } from \"./floatingColorPicker\";\n\ninterface RichInputProps {\n    value: string;\n    className?: string;\n    style?: React.CSSProperties;\n    showToolbar?: boolean;\n    isBlock?: boolean;\n    tagName?: string;\n    onChange: (text: string, plainText?: string) => void;\n    colorName?: string;\n    tbTitle?: boolean;\n    tbDesc?: boolean;\n    tbAuthor?: boolean;\n    showBold?: boolean;\n}\n\ninterface RichInputState {\n    selection?: Selection;\n    focus?: boolean;\n}\n\ninterface ButtonPosition {\n    top: number;\n    left: number;\n}\n\nexport class RichInput extends React.Component<RichInputProps, RichInputState> {\n    public constructor(props) {\n        super(props);\n        let selection;\n        if (typeof window !== \"undefined\") {\n            selection = window.getSelection();\n        }\n        this.state = {\n            selection,\n        };\n    }\n\n    private containerRef: HTMLElement;\n    private toolbarRef: FloatingColorPicker;\n\n    private onChangeContentEditable = (e: KeyboardEvent, value: string, plainText?: string) => {\n        this.props.onChange(value, plainText);\n    };\n\n    private onKeyDown = (e: KeyboardEvent) => {\n        if (e.keyCode === 13) {\n            e.preventDefault();\n            e.stopPropagation();\n        }\n    };\n\n    private setSelection = () => {\n        const selection = window.getSelection();\n        this.setState({ selection });\n    };\n\n    private getToolbarPosition = () => {\n        const { selection } = this.state;\n        let containerBoundingClientRect: ClientRect;\n        let buttonPosition: ButtonPosition = { top: 0, left: 0 };\n\n        if (selection && selection.rangeCount > 0 && this.containerRef) {\n            containerBoundingClientRect =\n                this.containerRef.getBoundingClientRect();\n            const selectionRange = selection.getRangeAt(0);\n            const selectionRect = selectionRange.getBoundingClientRect();\n            const toolbarWidth = 80;\n            const parentWidth = containerBoundingClientRect.width;\n\n            // Calculate the maximum left and right positions the button can have without overflowing\n            const maxLeftPosition = parentWidth - toolbarWidth;\n            const maxRightPosition = 0;\n\n            // Calculate the desired button position\n            let desiredLeftPosition =\n                selectionRect.left - containerBoundingClientRect.left;\n            desiredLeftPosition = Math.max(\n                maxRightPosition,\n                Math.min(maxLeftPosition, desiredLeftPosition)\n            );\n\n            buttonPosition = {\n                top: selectionRect.top - containerBoundingClientRect.top - 40,\n                left: desiredLeftPosition,\n            };\n        }\n\n        return buttonPosition;\n    };\n\n    private onFocus = () => {\n        this.setState({ focus: true });\n    };\n\n    private onBlur = () => {\n        this.setState({ focus: false });\n    };\n\n    private toolbar = () => {\n        const { selection, focus } = this.state;\n        const { showToolbar, showBold } = this.props;\n\n        if (!selection) return null;\n        const colorPickerPosition = this.getToolbarPosition();\n        return (\n            !selection.isCollapsed &&\n            showToolbar &&\n            focus && (\n                <FloatingColorPicker\n                    selectedText={selection}\n                    top={colorPickerPosition.top}\n                    left={colorPickerPosition.left}\n                    ref={(ref) => (this.toolbarRef = ref)}\n                    showBold={showBold}\n                />\n            )\n        );\n    };\n\n    private onPaste = (e: ClipboardEvent) => {\n        e.preventDefault();\n        var text = e.clipboardData.getData(\"text/plain\");\n        var temp = document.createElement(\"span\");\n        temp.innerHTML = text;\n        document.execCommand(\"insertHTML\", false, temp.textContent);\n\n        return false;\n    };\n\n    public render() {\n        const {\n            className,\n            style,\n            showToolbar,\n            isBlock,\n            tagName,\n            tbTitle,\n            tbDesc,\n            tbAuthor,\n        } = this.props;\n        const value = this.props.value || \"\";\n        const containerClassNames = classNames(\n            { RichInput: isWcmEditor() },\n            {\n                withWidth:\n                    value !== undefined && value.length === 0 && isWcmEditor(),\n            },\n            className,\n            {\n                IsBlock: isBlock,\n            }\n        );\n        if (!isWcmEditor()) {\n            return (\n                <ContentEditable\n                    tagName=\"span\"\n                    html={value}\n                    style={style}\n                    disabled={true}\n                    onChange={null}\n                    data-tb-title={tbTitle && \"\"}\n                    className={containerClassNames}\n                    data-tb-desc={tbDesc && \"\"}\n                    data-tb-author={tbAuthor && \"\"}\n                />\n            );\n        }\n        return (\n            <span\n                className={containerClassNames}\n                ref={(ref) => (this.containerRef = ref)}\n                style={style}\n            >\n                <ContentEditable\n                    tagName=\"span\"\n                    html={value}\n                    onChange={this.onChangeContentEditable}\n                    onMouseUp={() => this.setSelection()}\n                    onBlur={this.onBlur}\n                    onFocus={this.onFocus}\n                    onPaste={this.onPaste}\n                    onKeyDown={this.onKeyDown}\n                />\n                {this.toolbar()}\n            </span>\n        );\n    }\n}\n","import { useState, useEffect, useRef, useCallback } from 'react';\nimport { useSwipeable } from 'react-swipeable';\n\n\nexport function ThreeDCarousel(props) {\n  const [slideTotal, setSlideTotal] = useState(0);\n  const [slideCurrent, setSlideCurrent] = useState(-1);\n  const [slides, setSlides] = useState([]);\n  const [height, setHeight] = useState('0px');\n  let intervalRef: any;\n  const handlers = useSwipeable({\n    onSwipedLeft: () => slideRight(),\n    onSwipedRight: () => slideLeft(),\n    preventDefaultTouchmoveEvent: true,\n    trackMouse: true\n  });\n  useEffect(() => {\n    const locSlides = [];\n    //console.log(props.slides);\n    props.slides.forEach((slide) => {\n      const slideobject = {\n        class: 'slider-single proactivede',\n        element: slide,\n      };\n      locSlides.push(slideobject);\n    });\n    if (props.slides.length === 2) {\n      props.slides.forEach((slide) => {\n        const slideobject = {\n          class: 'slider-single proactivede',\n          element: slide,\n        };\n        locSlides.push(slideobject);\n      });\n    }\n    setSlides(locSlides);\n    setSlideTotal(locSlides.length - 1);\n    setSlideCurrent(-1);\n    //console.log(slideCurrent);\n    if (slideCurrent === -1) {\n      setTimeout(() => {\n        slideRight();\n        if (props.autoplay) {\n          intervalRef = setTimeout(() => {\n            slideRight();\n          }, props.interval);\n        }\n      }, 500);\n    }\n  }, [props.slides]);\n  useEffect(() => {\n    if (slideCurrent === -1) {\n      setTimeout(() => {\n        slideRight();\n      }, 500);\n    }\n  }, [slides, slideCurrent]);\n\n\n  const slideRight = () => {\n    let preactiveSlide;\n    let proactiveSlide;\n    let slideCurrentLoc = slideCurrent;\n\n    const activeClass = 'slider-single active';\n    const slide = [...slides];\n    if (slideTotal > 1) {\n      if (slideCurrentLoc < slideTotal) {\n        slideCurrentLoc++;\n      } else {\n        slideCurrentLoc = 0;\n      }\n      if (slideCurrentLoc > 0) {\n        preactiveSlide = slide[slideCurrentLoc - 1];\n      } else {\n        preactiveSlide = slide[slideTotal];\n      }\n      const activeSlide = slide[slideCurrentLoc];\n      if (slideCurrentLoc < slideTotal) {\n        proactiveSlide = slide[slideCurrentLoc + 1];\n      } else {\n        proactiveSlide = slide[0];\n      }\n\n      slide.forEach((slid, index) => {\n        if (slid.class.includes('preactivede')) {\n          slid.class = 'slider-single proactivede';\n        }\n        if (slid.class.includes('preactive')) {\n          slid.class = 'slider-single preactivede';\n        }\n      });\n\n      preactiveSlide.class = 'slider-single preactive';\n      activeSlide.class = activeClass;\n      proactiveSlide.class = 'slider-single proactive';\n      setSlides(slide);\n      setSlideCurrent(slideCurrentLoc);\n\n      if (document.getElementsByClassName('slider-single active').length > 0) {\n        setTimeout(() => {\n          if (document.getElementsByClassName('slider-single active').length > 0) {\n            const height = document.getElementsByClassName('slider-single active')[0].clientHeight;\n            setHeight(`${height}px`);\n          }\n        }, 500);\n      }\n      if (props.autoplay) {\n        clearTimeout(intervalRef);\n        intervalRef = setTimeout(() => {\n          slideRight();\n        }, props.interval);\n      }\n    } else if (slide[0] && slide[0].class !== activeClass) {\n      slide[0].class = activeClass;\n      setSlides(slide);\n      setSlideCurrent(0);\n    }\n  };\n  const slideLeft = () => {\n    if (slideTotal > 1) {\n      let preactiveSlide;\n      let proactiveSlide;\n      let slideCurrentLoc = slideCurrent;\n      const slide = [...slides];\n      if (slideCurrentLoc > 0) {\n        slideCurrentLoc--;\n      } else {\n        slideCurrentLoc = slideTotal;\n      }\n\n      if (slideCurrentLoc < slideTotal) {\n        proactiveSlide = slide[slideCurrentLoc + 1];\n      } else {\n        proactiveSlide = slide[0];\n      }\n      let activeSlide = slide[slideCurrentLoc];\n      if (slideCurrentLoc > 0) {\n        preactiveSlide = slide[slideCurrentLoc - 1];\n      } else {\n        preactiveSlide = slide[slideTotal];\n      }\n      slide.forEach((slid, index) => {\n        if (slid.class.includes('proactivede')) {\n          slid.class = 'slider-single preactivede';\n        }\n        if (slid.class.includes('proactive')) {\n          slid.class = 'slider-single proactivede';\n        }\n      });\n      preactiveSlide.class = 'slider-single preactive';\n      activeSlide.class = 'slider-single active';\n      proactiveSlide.class = 'slider-single proactive';\n      setSlides(slide);\n      setSlideCurrent(slideCurrentLoc);\n      if (document.getElementsByClassName('slider-single active').length > 0) {\n        setTimeout(() => {\n          if (document.getElementsByClassName('slider-single active').length > 0) {\n            const height = document.getElementsByClassName('slider-single active')[0].clientHeight;\n            setHeight(`${height}px`);\n          }\n        }, 500);\n      }\n    }\n  };\n\n  const sliderClass = (direction) => {\n    let sliderClass = `slider-${direction}`;\n    if (!props.arrows) {\n      sliderClass = 'slider-disabled';\n    } else if (props.arrows && !props.arrowBorders) {\n      sliderClass = `slider-${direction}-noborders`;\n    }\n    return sliderClass;\n  };\n\n  return (\n    <div className=\"react-3d-carousel\" style={{ height }} {...handlers}>\n      {slides && slides.length > 0\n        && <div className=\"slider-container\" >\n\n          <div className=\"slider-content\">\n            {slides.map((slider, index) => (\n              <div className={slider.class} key={index} data-index={index}>\n                <div className={sliderClass('left')} onClick={slideLeft}>\n                  <div>\n                    <i className=\"fa fa-arrow-left\"></i>\n                  </div>\n                </div>\n                <div className={sliderClass('right')} onClick={slideRight}>\n                  <div >\n                    <i className=\"fa fa-arrow-right\"></i>\n                  </div>\n                </div>\n\n                <div className=\"slider-single-content\">\n                  {slider.element}\n                </div>\n              </div>\n            ))}\n          </div>\n\n        </div>}\n    </div>\n  );\n}\n\nThreeDCarousel.defaultProps = {\n  autoplay: false,\n  interval: 3000,\n  arrows: true,\n  arrowBorders: true,\n};\n\n\n","import { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { getDiffFromToday } from \"../../../siteWidgets/formatDateDisplay\";\nimport * as classNames from \"classnames\"\ninterface DateProps {\n    date: Date\n}\nexport class CtechDateDisplay extends React.Component<DateProps, {}> {\n\n    private viewDate = (): boolean => {\n        const { date } = this.props\n        const dateToManipulateTemp = new Date(date)\n        const diffFromToday = getDiffFromToday(dateToManipulateTemp)\n        return diffFromToday > 0\n    }\n\n    public render() {\n        const { date } = this.props;\n\n        return (<span className={classNames(\"ctechDate\", { \"red\": !this.viewDate() })} >{separateHourFromDateAndFormatToString(date, { showDate: this.viewDate(), showHour: !this.viewDate() })}</span>)\n\n    }\n}","import { formatDateDisplay } from \"../../../siteWidgets/formatDateDisplay\";\nimport { SiteSettingsHOC } from \"../../../../global/components/siteSettingsHOC\";\nrequire('./site_dateDisplay.less')\n\n\ninterface DateDisplayProps {\n    date: Date | string\n    isArticle?: boolean\n    isTbDate?: boolean\n    isMinutesAgo?:boolean\n    hiddenYesterday?:boolean\n    isNowTextApply?:boolean\n    isCommaSeparation?:boolean\n\n}\n@SiteSettingsHOC()\nexport class DateDisplay extends React.Component<DateDisplayProps, {}> {\n    public render() {\n        const { date, isArticle, isTbDate, isMinutesAgo, hiddenYesterday, isNowTextApply, isCommaSeparation } = this.props;\n        const isArtceStr = isArticle ? \"1\" : \"0\";\n       const nowTextApply = isNowTextApply ? \"1\" : \"0\";\n       const commaSeparation = isCommaSeparation ? \"1\" : \"0\";\n       const minuteAgo = isMinutesAgo ? \"1\" : \"0\";\n       const hiddenYest = hiddenYesterday ?  \"1\" : \"0\";\n        let datePlaceHolder;\n        if (RUNNING_IN_SERVER) {\n            datePlaceHolder = <time className=\"DateDisplay\" dateTime={getDataWcmDate(date)} data-wcmdate={getDataWcmDate(date)} data-hiddenYesterday={hiddenYest} data-isminute-ago={minuteAgo} data-wcm-is-article-date={isArtceStr} data-tb-date={isTbDate && ''} data-wcm-now-apply={nowTextApply} data-wcm-format-separator={commaSeparation}></time>\n        }\n        else {\n            datePlaceHolder = <time className=\"DateDisplay\" dateTime={getDataWcmDate(date)} data-tb-date={isTbDate && ''}>{formatDateDisplay(getDataWcmDate(date), isArtceStr, minuteAgo, hiddenYest, nowTextApply, commaSeparation)}</time>\n        }\n        return (datePlaceHolder)\n    }\n}\n\nfunction getDataWcmDate(date: string | Date) {\n    if (!date) return undefined;\n    if (typeof date === \"string\") {\n        return date;\n    }\n    try {\n        return date.toJSON();\n    } catch{\n        if (WCM_FEATURES_FLAGS.THROW_ON_UNKOWN_DATE_TYPE) {\n            throw `Uknown date type: ${date.toString()}`;\n        } else {\n            return undefined;\n        }\n    }\n}","import { analyticsPushFunc } from \"../../../widgetsUtils\";\n\ninterface FrontCopyButtonProps {\n    popupText: string;\n    classes?: string;\n    children?: React.ReactChild;\n    style?: any;\n    title?: string;\n    url?: string;\n    blogPostId?: string;\n}\n\ninterface FrontCopyButtonState {\n    isPopupVisible: boolean;\n}\n\nexport class FrontCopyButton extends React.Component<\n    FrontCopyButtonProps,\n    FrontCopyButtonState\n    > {\n    public static siteScriptName = \"FrontCopyButton\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            isPopupVisible: false,\n        };\n    }\n\n    private copyToClipboard = async () => {\n        const { title, url, blogPostId } = this.props;\n    \n        const textToCopy = url\n            ? url\n            : `${window.location.href}?utm_source=ynet.co.il&utm_medium=Share&utm_campaign=copy_url${blogPostId ? `#${blogPostId}` : \"\"}`;\n        \n        try {\n            if (navigator.clipboard && navigator.clipboard.writeText) {\n                await navigator.clipboard.writeText(textToCopy);\n                this.showPopup();\n            } else {\n                // Fallback for older browsers\n                const textarea = document.createElement(\"textarea\");\n                textarea.value = textToCopy;\n                textarea.style.position = \"absolute\";\n                textarea.style.left = \"-9999px\"; \n                textarea.style.opacity = \"0\";\n                textarea.setAttribute(\"readonly\", \"true\");\n                document.body.appendChild(textarea);\n                textarea.select();\n                const successful = document.execCommand(\"copy\");\n                if (successful) {\n                    this.showPopup();\n                } else {\n                    console.error(\"Fallback copy failed\");\n                }\n                document.body.removeChild(textarea);\n            }\n        } catch (err) {\n            console.error(\"Failed to copy to clipboard:\", err);\n        }\n\n        if(!url) analyticsPushFunc(\"copy_url\", \"Share\", title);\n    };\n\n    private showPopup = () => {\n        this.setState({ isPopupVisible: true }, () => {\n            setTimeout(() => {\n                this.setState({ isPopupVisible: false });\n            }, 3000);\n        });\n    };\n\n\n    render() {\n        const { children, classes, popupText, style } = this.props;\n        const { isPopupVisible } = this.state;\n        const buttonClass = classes ? classes : \"frontCopyButton-pf\";\n\n        return (\n            <>\n                {isPopupVisible && (\n                    <div className=\"copyPopup\" style={style}>\n                        {popupText}\n                    </div>\n                )}\n                <div className={buttonClass} onClick={this.copyToClipboard}>\n                    {children}\n                </div>\n            </>\n        );\n    }\n}\n","require('./site_galleryPaging.less')\n\n\ninterface galleryPagingProps {\n    data: Array<any>\n    onSelect: (index: number) => void\n    selectedIndex: number\n}\n\n\nexport class GalleryPaging extends React.Component<galleryPagingProps, {}> {\n    public render() {\n        const { data, onSelect, selectedIndex } = this.props;\n        if (!data) return null;\n        return (\n            <div className=\"GalleryPaging\">\n                {data.map((m, i) => <button key={i} title={(i + 1).toString()} aria-label={(i + 1).toString()} className={selectedIndex === i ? \"selected\" : \"\"} onClick={() => onSelect(i)} >{i + 1}</button>)}\n            </div>\n        )\n    }\n}","import { isWcmEditor } from \"config/serverConfig\"\nimport { LinkProperties, LinkTargetProperties, BaseLinkTypes } from \"global/components/linkSettings/interfaces\"\nimport { injectPageComponentaContext } from \"widgets/commonComponents/base/injectPageComponentaContext\"\nimport { PageComponentaContext } from \"widgets/interfaces\"\nimport { hexToRgbA } from \"../../widgetsUtils\"\nimport { IdGenerator } from \"utils/idGenerator\"\nimport { injectArticleComponentaContext } from \"../base/injectArticleComponentaContext\"\n\ninterface HyperLinkBaseProps {\n    linkTarget: LinkTargetProperties\n    style?: React.CSSProperties\n    className?: string\n    isSuperFarm?: boolean\n    shouldAddArticleAutoplayIndicator?: boolean\n    ariaLabel?: string\n    articleId?: string\n    isDataTbLink?: boolean\n}\n\ninterface HyperLinkProps extends HyperLinkBaseProps {\n    link: LinkProperties<BaseLinkTypes>\n}\n\n@injectPageComponentaContext()\nexport class HyperLink extends React.Component<HyperLinkProps & Partial<PageComponentaContext>, {}> {\n    static defaultProps = { isSuperFarm: false }\n    public render() {\n        const { link, getUrl, isSuperFarm, shouldAddArticleAutoplayIndicator, ariaLabel, articleId, ...rest } = this.props;\n        return <HyperLinkBuilder link={link}{...rest} ariaLabel={ariaLabel} articleId={articleId} isSuperFarm={isSuperFarm} href={getUrl(link, shouldAddArticleAutoplayIndicator)}>{this.props.children}</HyperLinkBuilder>\n    }\n}\n\ninterface HyperLinkBuilderProps extends HyperLinkBaseProps {\n    link?: LinkProperties<BaseLinkTypes>\n    href: string\n    children?: React.ReactNode\n    extraProps?: object\n}\n\nexport const HyperLinkBuilder: React.StatelessComponent<HyperLinkBuilderProps> = ({ link, href, linkTarget, style, className, isSuperFarm, children, ariaLabel, extraProps, articleId, isDataTbLink }) => {\n    const iframeWidth = (linkTarget && linkTarget.lightBoxWidth) || 0\n    const iframeHeight = (linkTarget && linkTarget.lightBoxHeight) || 0\n    const linkOpenType = (linkTarget && linkTarget.linkOpenType) ? linkTarget.linkOpenType : null\n    const iframeOpacity = (linkTarget && linkTarget.lightBoxOpacity / 100) || 0.7\n    const iframeBackground = (linkTarget && linkTarget.lightBoxBgColor) || \"#000000\"\n    const iframeFinalBg = hexToRgbA(iframeBackground, iframeOpacity.toString())\n    const tag = href ? \"a\" : \"span\"\n    const id = href && IdGenerator.generate();\n    const props: any = { style, className, \"aria-label\": ariaLabel, id, ...extraProps, \"data-articleid\": articleId, \"data-tb-link\": isDataTbLink && '' };\n    const linkType = link ? link.type : null\n    let commercialScript = \"\"\n    if (linkType === \"COMMERCIAL\") {\n        const { providerId } = link.link.extraLinkData || \"\"\n        const { id } = link.link\n        commercialScript = `hpbClickTrans(\"${id}\",\"\",\"${providerId}\")`\n    }\n\n    if (!isWcmEditor()) {\n        if (href) {\n            if (commercialScript) {\n                let jshref;\n                switch (linkOpenType) {\n                    case \"lightBox\":\n                        jshref = `document.injectLinkLightBox(\"${href}\" ,${iframeWidth} ,${iframeHeight}, ${isSuperFarm}, \"${iframeFinalBg}\", \"${props.id}\")`\n                        break;\n                    case \"new\":\n                        jshref = `window.open(\"${href}\")`\n                        break;\n                    default:\n                        jshref = `window.location.href = \"${href}\";`\n                }\n                props.href = `javascript:${commercialScript};${jshref}`\n            } else {\n                props.href = linkTarget.linkOpenType === \"lightBox\" ? `javascript:document.injectLinkLightBox(\"${href}\" ,${iframeWidth} ,${iframeHeight}, ${isSuperFarm}, \"${iframeFinalBg}\", \"${props.id}\");` : href\n                const target = linkTarget.linkOpenType === \"new\" ? \"_blank\" : \"_top\";\n                if (target) {\n                    props.target = target;\n                }\n            }\n        }\n    }\n    return React.createElement(tag, props, children);\n}\n\n\ninterface SimpleLinkRendererProps {\n    href: string\n    className?: string\n    children?: React.ReactNode\n    target?: string\n    title?: string\n}\n\nexport const SimpleLinkRenderer: React.StatelessComponent<SimpleLinkRendererProps> = ({ href, className, children, target, title }) => {\n    const tag = !isWcmEditor() ? \"a\" : \"span\"\n    const props: any = { href, className, target, title }\n    return React.createElement(tag, props, children);\n}","import { SiteSimpleImage } from \"../siteSimpleImage\";\nrequire('./site_imageSlider.less')\n\n\ninterface imageSliderProps {\n    sliderTitle?: string\n    isSliderTitle: boolean\n    imageUrl1: string\n    title1: string\n    credit1: string\n    imageUrl2: string\n    title2: string\n    credit2: string\n}\ninterface imageSliderState {\n    sliderValue: number\n    innerDivWidth: number\n}\n\nexport class ImageSlider extends React.Component<imageSliderProps, imageSliderState> {\n    public imageSlider: HTMLDivElement;\n    constructor(props) {\n        super(props)\n        this.state = {\n            sliderValue: 50,\n            innerDivWidth: null\n        }\n    }\n    public componentDidMount() {\n        const sideBarHeight = this.imageSlider.clientWidth;\n        this.setState({\n            innerDivWidth: sideBarHeight\n        })\n    }\n\n    public static siteScriptName = \"ImageSlider\"\n\n\n    private updateSliderValue = (e: HTMLInputElement) => {\n        const value = parseInt(e.value)\n        this.setState({ sliderValue: value })\n\n    }\n\n\n    public render() {\n        const { sliderTitle, isSliderTitle, imageUrl1, imageUrl2, credit1, credit2, title1, title2 } = this.props;\n        const { sliderValue, innerDivWidth } = this.state\n        return (\n            <div className=\"ImageSlider\" ref={ref => this.imageSlider = ref} >\n                <div>\n                    <div className=\"bottomPicture\" >\n                        <SiteSimpleImage src={imageUrl1} title={credit1} alt={credit1} />\n                        <div className={`bottomImg imgTitle ${sliderValue < 60 ? \"visible\" : \"hidden\"}`} >{title1}</div>\n\n                    </div>\n                    <div className=\"topPicture\" style={{ width: `${this.state.sliderValue}%` }}>\n                        <div id=\"innerSliderDiv\" style={{ width: `${innerDivWidth}px` }}>\n                            <SiteSimpleImage src={imageUrl2} title={credit2} alt={credit2} />\n                            <div className={`topImg imgTitle ${sliderValue > 40 ? \"visible\" : \"hidden\"}`}>{title2}</div>\n                        </div>\n\n                    </div>\n                    {isSliderTitle && <div className=\"imagesSliderTitle\" >{sliderTitle}</div>}\n                    <input type=\"range\" min=\"0\" max=\"100\" value={`${this.state.sliderValue}`} id=\"slider\"\n                        onChange={(e) => this.updateSliderValue(e.target as HTMLInputElement)}  ></input>\n                </div>\n            </div>\n        )\n    }\n}\n","\nrequire(\"./vesty_ynetnews_site_marketingSign.less\")\n\ninterface MarketngProps {\n    isSmallItem: boolean\n    marketingContentText: string \n    languageCode?:string  \n}\ndeclare let window: Window & {\n    languageCode: string\n}\n\n\nexport class MarketingSign extends React.Component<MarketngProps> {\n    public render() {\n        const { isSmallItem, marketingContentText, languageCode } = this.props\n        const lang =languageCode || (typeof window !== \"undefined\" &&  window.languageCode)  || \"\";\n        const En = lang.includes(\"en\");\n        const Ru = lang.includes(\"ru\")\n        let mText;\n        if (En) {\n            mText = \"Content  was produced by the commercial department of Ynet with the financial support of an external party and edited by our journalists.\";\n        }\n        else if (Ru) {\n            mText = 'Текст подготовлен коммерческим отделом \"Вестей\" при финансовом участии внешнего спонсора, опубликован после редактирования журналистами';\n        }\n        else{\n            mText = \"תוכן בשיתוף עם הגורם המפרסם, הכתבה הופקה בידי המחלקה המסחרית של ynet בהשתתפות מימונית של גורם חיצוני ופורסמה לאחר עריכה עיתונאית\";\n        }\n        const text = marketingContentText !== \"\" ? marketingContentText : mText;\n        return (\n            <div className={`MarketingSign ${isSmallItem ? \"smallItem\" : \"\"}`}>\n                {lang && (En || Ru)\n                    ? <div className=\"marketingImage\"  ></div> :\n                    <img src=\"https://www.ynet.co.il/images/market_strip.png\" className=\"marketingImage\" />}\n                <div className=\"marketingText\"><span>{text}</span></div>\n            </div>\n        )\n    }\n}","interface MarketngProps {\n    isSmallItem: boolean\n    marketingContentText: string\n}\ninterface MarketingState {\n    isOpened?: boolean\n}\ndeclare let window: Window & {\n    languageCode: string\n}\nexport class MutamMarketingSign extends React.Component<MarketngProps, MarketingState> {\n    public static siteScriptName = \"MutamMarketingSign\";\n    constructor(props) {\n        super(props)\n        this.state = {\n            isOpened: false\n        }\n    }\n\n    private toggleInfo = () => {\n        this.setState({ isOpened: !this.state.isOpened })\n    }\n    public render() {\n        const { isSmallItem, marketingContentText } = this.props\n        const { isOpened } = this.state\n        const lang  =typeof window !== \"undefined\" && window && window.languageCode.slice(0, 2);\n       let mText = \"תוכן בשיתוף עם הגורם המפרסם, הכתבה הופקה בידי המחלקה המסחרית של ynet בהשתתפות מימונית של גורם חיצוני ופורסמה לאחר עריכה עיתונאית\";\n        if (lang===\"en\") {\n            mText = \"Content  was produced by the commercial department of Ynet with the financial support of an external party and edited by our journalists.\";\n        }\n       else if (lang===\"ru\") {\n            mText = 'Текст подготовлен коммерческим отделом \"Вестей\" при финансовом участии внешнего спонсора, опубликован после редактирования журналистами';\n        }\n        const text = marketingContentText !== \"\" ? marketingContentText : mText;\n        return (\n            <>   <div className={`MutamMarketingSign`}>\n               \n                {(lang===\"en\" || lang===\"ru\")\n                    ? <div className=\"marketingImage\" onClick={this.toggleInfo} ></div> :\n                    <img src=\"https://www.ynet.co.il/images/market_strip.png\" className=\"marketingImage\" onClick={this.toggleInfo} />}\n            </div>\n                {isOpened && <div className={`MutamMarketingText ${isSmallItem ? \"coverAll\" : \"\"}`}><span>{text}</span>\n                    <button className=\"closeInfoiTxt\" onClick={this.toggleInfo} />\n                </div>}</>\n        )\n    }\n}","require('./site_payWallHavak.less')\n\n\ninterface payWallProps {\n    premiumExpireDays: number\n    dateUpdatedOnSite: Date | string\n    style?: any\n    className?: string\n    isVisible?: boolean\n    dataTbHide?: boolean\n    dataTbPremium?:boolean\n}\n\n\nexport class PayWallArctilceIcon extends React.Component<payWallProps, {}> {\n\n\n\n    public render() {\n        const { className, style, isVisible, dataTbHide, dataTbPremium } = this.props;\n        if (!isHavakVisible(this.props) && !isVisible) return null;\n        return (\n            <div className={`havakIcon ${className}`} style={style} data-tb-hide={dataTbHide && ''}  data-tb-premium={dataTbPremium && ''}/>\n        )\n    }\n}\n\nfunction addDays(date, days) {\n    var result = new Date(date);\n    result.setDate(result.getDate() + days);\n    return result;\n}\n\nexport function isHavakVisible({ dateUpdatedOnSite, premiumExpireDays }: { dateUpdatedOnSite?: Date | string, premiumExpireDays?: number }): number {\n    const dateUpdated = typeof dateUpdatedOnSite === \"string\" ? new Date(dateUpdatedOnSite) : dateUpdatedOnSite\n    if (!dateUpdated || !isFinite(dateUpdated as any) || !dateUpdated.getDate) { return 0 }\n    if (premiumExpireDays) {\n        var dateToExpire = addDays(dateUpdated, premiumExpireDays)\n        return Number(dateToExpire > new Date());\n    }\n    else return 0;\n}","import { IdGenerator } from \"utils/idGenerator\"\nimport { isServerRendering } from \"config/serverConfig\";\n\n\nexport class RenderReactAtSite extends React.Component<any, {}>{\n    public render() {\n        const child = React.Children.only(this.props.children)\n        if (isServerRendering()) {\n            const childPropsString = JSON.stringify(child.props)\n            const siteScriptName = (child.type as any).siteScriptName || (child.type as any).name;\n            const parentId = IdGenerator.generate();\n            const script = `window.YITSiteWidgets.push(['${parentId}','${siteScriptName}',${childPropsString}]);`;\n            return (\n                <span>\n                    <span id={parentId}  >{child}</span>\n                    <script dangerouslySetInnerHTML={{ __html: script }} />\n                </span>\n            )\n        } else {\n            return child;\n        }\n    }\n}\n","import { SiteSettingsHOC, SiteSettings } from \"../../../global/components/siteSettingsHOC\"\n\n\n\n@SiteSettingsHOC(true)\nexport class SiteSimpleImage extends React.Component<React.HTMLProps<HTMLImageElement> & Partial<{ siteSettings: SiteSettings }>, {}>{\n    public render() {\n        const { siteSettings, src, ...rest } = this.props\n        var imagesDomain = siteSettings ? siteSettings.imagesDomain : undefined;\n        return <img {...rest} src={getImagesSrc(imagesDomain, src)} />\n    }\n}\n\n\nexport const getImagesSrc = (imagesDomain: string, src: string) => {\n    var newSrc = src;\n    if (src && src.startsWith(\"/\")) {\n        newSrc = (imagesDomain || \"\") + src\n    }\n    return newSrc\n}\n","require('./site_slotIconDisplay.less')\nimport { ComponentaIconType } from \"widgets/commonDataObjects/interfaces\"\nimport * as classNames from \"classnames\"\nimport { injectPageComponentaContext } from \"widgets/commonComponents/base/injectPageComponentaContext\"\nimport { PageComponentaContext } from \"widgets/interfaces\"\nimport { ArticleData } from \"../../../../articlePage/stateInterfaces\"\n\ninterface SlotIconDisplayProps {\n    icon: ComponentaIconType\n    itemId: string\n    iconClassName: string\n    isIconVisible?: boolean\n    durationShow?: boolean\n    duration?: string\n    dataTbHide?: boolean\n}\n\n@injectPageComponentaContext()\nexport class SlotIconDisplay extends React.Component<SlotIconDisplayProps & Partial<PageComponentaContext>, {}>{\n    static defaultProps = { isIconVisible: true }\n    public render() {\n        const { icon, itemId, iconClassName, isIconVisible, durationShow, duration, dataTbHide } = this.props\n        const getArticle = this.props.getArticle || ((itemId) => null);\n        if (isIconVisible) return <SimpleSlotIconDisplay\n            icon={calculateComponentaIconType(icon, getArticle(itemId))}\n            iconClassName={iconClassName}\n            durationShow={durationShow}\n            duration={duration}\n            dataTbHide={dataTbHide}\n        />\n        else return null\n    }\n}\n\nexport function calculateComponentaIconType(icon: ComponentaIconType, article: ArticleData): ComponentaIconType {\n    if (icon === \"automatic\" && article && article.hasVideo) return \"video\"\n    if (icon === \"automatic\" && article && article.specialData && article.specialData.audioData && article.specialData.audioData.durationSeconds) return \"audio\"\n    return icon;\n}\n\ninterface SimpleSlotIconDisplayProps {\n    icon: ComponentaIconType\n    iconClassName: string\n    durationShow?: boolean\n    duration?: string\n    dataTbHide?: boolean\n}\n\nexport class SimpleSlotIconDisplay extends React.Component<SimpleSlotIconDisplayProps, {}>{\n    public render() {\n        const { icon, iconClassName, durationShow, duration, dataTbHide } = this.props\n\n        const video = classNames(\"videoIcon\", iconClassName)\n        const audio = classNames(\"audioIcon\", iconClassName)\n        if (icon === \"video\") return <div className={video} data-tb-hide={dataTbHide && ''} data-tb-video><span className=\"icon\" />{durationShow && <span className=\"duration\">{duration}</span>}</div>\n        if (icon === \"audio\") return <div className={audio} data-tb-hide={dataTbHide && ''}><span className=\"icon\" />{durationShow && <span className=\"duration\">{duration}</span>}</div>\n        else return null\n    }\n}\n\nexport class SpecialSlotIconDisplay extends React.Component<Partial<SimpleSlotIconDisplayProps>, {}>{\n    public render() {\n        const { icon } = this.props\n        if (icon === \"video\") return <span className=\"recommendedVideoIcon\" data-tb-video/>\n        else return null\n\n    }\n}\n","import * as classNames from \"classnames\"\nrequire('./m_toogleSwitch.less');\n\ninterface ToggleSwitchProps {\n    checked: boolean\n    onSwitchPressed: () => void\n}\n\nexport class ToggleSwitch extends React.Component<ToggleSwitchProps, {}> {\n    public render() {\n        const { checked, onSwitchPressed } = this.props\n        return (\n            <button className=\"ToggleSwitch\" onClick={onSwitchPressed}>\n                <div className={classNames(\"toggleContainer\", { 'active': checked })}>\n                    <div className={classNames(\"toggleBtn\", { 'active': checked })}></div>\n                </div>\n            </button>\n        )\n    }\n}","import { GetDataObject } from \"../dataObjectFacrories\"\nimport { LinkedPageResource } from \"../interfaces\"\nimport { NoData } from \"./noData\"\nexport type VersionConverter<T> = (oldData: any) => T & { version: number }\n\n\n\nexport abstract class DataObjectBase {\n    private readonly internalData: any;\n    constructor(data?: any) {\n        if (data && data.__setInternalData) {\n            this.internalData = data.__setInternalData;\n            return;\n        }\n\n        if (data && (<any>data).version < this.__version && this.getVersionConverters()) {\n            data = <any>this.upgradeFromPreviousVersion(<any>data);\n        }\n        if (data instanceof DataObjectBase) {\n            this.internalData = data.internalData;\n        } else {\n            this.internalData = this.create(data);\n        }\n    }\n\n    protected abstract getDefaultData(): any\n\n    protected abstract createNewInstance(data): this\n\n    protected abstract GetLinkedResourcesForCurrent(): LinkedPageResource[]\n\n    public get __version() { return 0 }\n\n    public get __objectDataTypeName() { return this.constructor.name }\n\n    public toJSON() {\n        return { __version: this.__version, __objectDataTypeName: this.__objectDataTypeName, ...(this.internalData as any) }\n    }\n\n    public getLinkedResources() {\n        return _(this._getLinkedResourcesArrayInternal()).filter(r => r && r.resourceId && r.resourceType).uniqWith(_.isEqual).value()\n    }\n\n    public _getLinkedResourcesArrayInternal() {\n        let linkedResources = this.GetLinkedResourcesForCurrent();\n        for (const key in this.internalData) {\n            const data = this.internalData[key];\n            if (data instanceof DataObjectBase) {\n                linkedResources = linkedResources.concat(data._getLinkedResourcesArrayInternal())\n            } else if (Array.isArray(data)) {\n                for (const arrayData of data) {\n                    if (arrayData instanceof DataObjectBase) {\n                        linkedResources = linkedResources.concat(arrayData._getLinkedResourcesArrayInternal())\n                    }\n                }\n            }\n        }\n        return linkedResources;\n    }\n\n    protected getVersionConverters(): VersionConverter<any>[] {\n        return null;\n    }\n\n    protected create(data: Partial<any>): any {\n        if (!data) {\n            return this.getDefaultData() as any;\n        }\n        const newData = this.processSimpleData(data);\n        return { ...(this.getDefaultData() as any), ...(newData as any) }\n    }\n\n    private processSimpleData(data: any) {\n        if (!data || typeof data !== \"object\" || data instanceof DataObjectBase) return data;\n\n        const newData = {};\n        for (const key in data) {\n            if (key.startsWith(\"_\")) {\n                continue;\n            }\n            let value = data[key];\n            if (!(value instanceof DataObjectBase) && value) {\n                if (value[\"__objectDataTypeName\"]) {\n                    value = GetDataObject(value[\"__objectDataTypeName\"], MissingDataObjectDummy, value);\n                } else if (Array.isArray(value)) {\n                    value = _.map(value, item => (item[\"__objectDataTypeName\"]) ? GetDataObject(item[\"__objectDataTypeName\"], MissingDataObjectDummy, item) : item)\n                }\n            }\n            newData[key] = value;\n        }\n        return newData;\n    }\n\n    public clone() {\n        const src = this as any;\n        const newData = {}\n        if (!(src instanceof DataObjectBase)) {\n            throw `src is not instanceof DataObjectBase ${JSON.stringify(src)}`\n        }\n        for (const key in src.internalData) {\n            let value = src[key];\n            if (value instanceof DataObjectBase) {\n                value = value.clone()\n            } else if (Array.isArray(value)) {\n                value = _.map(value, v => (v instanceof DataObjectBase) ? v.clone() : v)\n            }\n            newData[key] = value;\n        }\n        return this.createNewInstance(newData);\n    }\n\n    protected setData(dataToUpdate: Partial<any>): this {\n        let changed = false;\n        for (let pair of _.toPairs(dataToUpdate)) {\n            if (this.internalData[pair[0]] !== pair[1]) {\n                changed = true;\n                break;\n            }\n        }\n        if (changed) {\n            return this.createNewInstance({ __setInternalData: this.mergeCahnges(dataToUpdate) });\n        }\n        return this;\n    }\n\n    protected get data() { return this.internalData }\n\n    private mergeCahnges(dataToUpdate: Partial<any>): any {\n        return { ...(this.internalData as any), ...(dataToUpdate as any) }\n    }\n\n    private upgradeFromPreviousVersion(data: { version: number }) {\n        let resultData = data;\n        const versionConverters = this.getVersionConverters();\n        for (let v = data.version; v < versionConverters.length; v++) {\n            resultData = versionConverters[v](resultData);\n        }\n        return resultData;\n    }\n\n}\n\n\nclass MissingDataObjectDummy extends DataObjectBase {\n    protected createNewInstance(data: any) {\n        return new MissingDataObjectDummy(data) as this;\n    }\n    protected GetLinkedResourcesForCurrent() { return [] }\n\n    protected getDefaultData() {\n        return {};\n    }\n}","import { EditorState } from \"draft-js\"\n\nimport { StringEnum } from \"utils/stringEnum\"\nimport { ContentTypes } from \"constants/contentTypes\"\nimport { LinkedItem } from \"./linkedItem\"\nimport { DataList } from \"./dataList\"\nimport { BasicMediaData } from \"widgets/commonDataObjects/basicMediaData\"\nimport { LinkTargetProperties, LinkProperties, BaseLinkTypes } from \"global/components/linkSettings/interfaces\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { GalleryViewType } from \"../commonComponents/base/basicMediaCarousel\"\nimport { LinkedItemFieldDisplay } from \"widgets/commonDataObjects/linkedItemsFieldsDisplay\"\nimport { LinkedItemVideoSettings } from \"widgets/commonDataObjects/linkedItemsVideoSettings\"\nimport { ChannelIconDisplay } from \"../commonComponents/settings/categoryIconDisplaySelect/categoryIconDisplaySelect\";\n\nexport const ComponentaIconType = StringEnum(\"automatic\", \"video\", \"audio\", \"none\");\nexport type ComponentaIconType = StringEnum<typeof ComponentaIconType>;\nexport interface ComponentaIcon {\n    value: ComponentaIconType\n    label: string\n}\nexport const LinkedItemType = StringEnum(\n    ContentTypes.ARTICLE,\n    ContentTypes.CATEGORY,\n    ContentTypes.TAG,\n    ContentTypes.EXTERNAL_URL,\n    ContentTypes.NONE,\n    ContentTypes.COMMERCIAL,\n    ContentTypes.FILE,\n    ContentTypes.MAIL,\n    ContentTypes.MEDIA_VIDEO,\n    ContentTypes.STOCK  \n);\nexport type LinkedItemType = StringEnum<typeof LinkedItemType>;\n\nexport interface IComponentaItem {\n    itemType: LinkedItemType\n}\n\nexport interface ILinkedItem extends IComponentaItem {\n    itemType: LinkedItemType\n    itemId: string\n    title: string // RichInputData\n    subTitle: string\n    author: string\n}\n\nexport interface IComponentaImageItem extends IComponentaItem {\n    imageId: string\n\n}\n\nexport interface IRichInputData {\n    richInputState: EditorState\n}\n\nexport interface ILinkedItemWidgetData {\n    slots: DataList<ILinkedItemSlotData>\n    fieldsDisplaySettings?: LinkedItemFieldDisplay\n    titleColor?: string\n    subTitleColor?: string\n    bgColor?: string\n    titleFont?: string\n    subTitleFont?: string\n    gallerySeconds?: number\n    videoSettings?: LinkedItemVideoSettings\n    galleryViewOption?: GalleryViewType\n    channelIconDisplay?: ChannelIconDisplay\n    channelIconUrl?: string\n    displayType?: string\n}\nexport interface IFieldDisplayData {\n    isAuthorVisible?: boolean\n    isTitleVisible?: boolean\n    isSubTitleVisible?: boolean\n    isTitleLinkVisible?: boolean\n    isDateVisible?: boolean\n    isHourVisible?: boolean\n    isTabVisible?: boolean\n    isLineVisible?: boolean\n    isCategoryVisible?: boolean\n    isChannelNameVisible?: boolean\n    isAdVisible?: boolean\n    isMobileYplusLogoVisible?: boolean,\n    isDesktopYplusLogoVisible?: boolean,\n    isRoofTitleVisible?: boolean,\n}\nexport interface VideoSettingsData {\n    isVideoLightbox?: boolean\n    hideVideoAds?: boolean\n}\nexport interface ILinkedItemSlotData {\n    slotId: string\n    item: Partial<LinkedItem>\n    media: DataList<BasicMediaData>\n    link: LinkProperties<BaseLinkTypes>\n    linkTarget: LinkTargetProperties\n    videoBehaivior?: VideoBehaiforData\n}\nexport interface VideoBehaiforData {\n    isLive?: boolean\n    isAutoPlaying?: boolean\n    isLoopPlaying?: boolean\n    isPlayerBarVisible?: boolean\n    isSoundButtonVisible?: boolean\n    isMuteAvailable?: boolean\n}\nexport type RoofTitleDisplay = \"blinkdot\" | \"redlabel\";\nexport type MoreTitlesDisplay = \"articles\" | \"blogs\";\nexport type ViewModeDisplay = \"light\" | \"dark\";\nexport enum SlotDeviceDisplay {\n    desktop = 1,\n    mobile = 2,\n    both = 3,\n}\n\nexport enum MobileTestPageOption {\n    normal = 1,\n    test = 2,\n    both = 3,\n}","import { IdGenerator } from \"utils/idGenerator\"\nimport { DataObjectBase } from \"widgets/commonDataObjects/dataObjectBase\"\nimport { registerDataClass } from \"widgets/dataObjectFacrories\"\n\n@registerDataClass\nexport class LinkedItemVideoSettings extends DataObjectBase {\n    get isVideoLightbox(): boolean {\n        return this.data.isVideoLightbox\n    }\n    setIsVideoLightbox(isVideoLightbox: boolean) {\n        return this.setData({ isVideoLightbox });\n    }\n    get hideVideoAds(): boolean {\n        return this.data.hideVideoAds\n    }\n    setHideVideoAds(hideVideoAds: boolean) {\n        return this.setData({ hideVideoAds });\n    }\n    get isLive(): boolean {\n        return this.data.isLive\n    }\n    setIsLive(isLive: boolean) {\n        return this.setData({ isLive });\n    }\n    protected createNewInstance(data: any) {\n        return new LinkedItemVideoSettings(data) as this;\n    }\n    protected GetLinkedResourcesForCurrent() { return [] }\n\n    protected getDefaultData() {\n        return {\n            isVideoLightbox: true,\n            hideVideoAds: false,\n            isLive: false\n        }\n    }\n}\n\n","import { DataObjectBase } from \"widgets/commonDataObjects/dataObjectBase\"\n\ntype DataObjectFactory<T> = (data: Partial<T>) => DataObjectBase & T\n\nconst factories = new Map<string, DataObjectFactory<any>>()\n\nexport const registerDataClass = <T extends new (data: any) => any>(cls: T) => {\n    if (!factories.get(cls.name)) {\n        factories.set(cls.name, (data) => new cls(data));\n    } else if (DEV_MODE) {\n        console.error(\"duplicate data class: \", cls.name);\n    }\n    return cls as any\n}\n\nexport function GetDataObject<T>(className: string, MissigDataClass: new () => DataObjectBase, data?: T) {\n    const factory = factories.get(className);\n    if (factory) {\n        return factory(data);\n    }\n    console.error(`class name ${className} was not registered in data object factories`)\n    return new MissigDataClass();\n}\n\n\n","import { DateFormat } from \"./interfaces\";\n\nexport interface DateFormatOptions {\n    showDate?: boolean\n    showHour?: boolean\n    dateTimeSeperator?: string\n    padDateWithZero?: boolean\n    padHourWithZero?: boolean\n    fullYear?: boolean\n    isSlashSeparator?: boolean\n    isDateFirst?: boolean\n    datePartOrder?: DateFormat\n}\nexport interface SiteDateFormatType {\n    [siteName: string]: DateFormatOptions\n}\nconst defaultDateFormatOptions: DateFormatOptions = {\n\n}\n\n\nexport const siteDateformat: SiteDateFormatType = {\n    \"il-he\": {\n        showDate: true,\n        showHour: true,\n        dateTimeSeperator: \", \",\n        padDateWithZero: true,\n        padHourWithZero: true,\n        fullYear: false,\n        isSlashSeparator: false,\n        isDateFirst: false,\n        datePartOrder: DateFormat.dmy,\n    },\n    \"dmy\": { //TODO:delete after change DB to il-he\n        showDate: true,\n        showHour: true,\n        dateTimeSeperator: \", \",\n        padDateWithZero: true,\n        padHourWithZero: true,\n        fullYear: false,\n        isSlashSeparator: false,\n        isDateFirst: false,\n        datePartOrder: DateFormat.dmy,\n    },\n    \"il-mdy\": {\n        showDate: true,\n        showHour: true,\n        dateTimeSeperator: \", \",\n        padDateWithZero: true,\n        padHourWithZero: true,\n        fullYear: false,\n        isSlashSeparator: false,\n        isDateFirst: false,\n        datePartOrder: DateFormat.mdy,\n    },\n    \"mdy\": {  //TODO:delete after change DB to il-mdy\n        showDate: true,\n        showHour: true,\n        dateTimeSeperator: \", \",\n        padDateWithZero: true,\n        padHourWithZero: true,\n        fullYear: false,\n        isSlashSeparator: false,\n        isDateFirst: false,\n        datePartOrder: DateFormat.mdy,\n    },\n}\nexport const getDefaultDateFormatBySite = (df: string): DateFormatOptions => {\n    return siteDateformat[df]\n}","import * as map from \"lodash/map\"\n\ninterface InfiniteArticleItemProps {\n    article: {\n        body: string\n        id: string\n    }\n}\n\nexport class InfiniteArticleItem extends React.Component<InfiniteArticleItemProps, {}> {\n\n    componentDidMount() {\n        const { article } = this.props\n        if (article) {\n            const scriptsToRun = document.querySelectorAll(`#${article.id} script`);\n            map(scriptsToRun, script => eval(script.innerHTML))\n        }\n    }\n\n    render() {\n        const { article } = this.props\n        if (article) {\n            return (\n                article.id && <div id={article.id} dangerouslySetInnerHTML={{ __html: article.body }} />\n            )\n        } else {\n            return null;\n        }\n    }\n}","import * as axios from \"axios\"\nimport * as InfiniteScroll from \"react-infinite-scroll-component\"\nimport * as map from \"lodash/map\"\nimport { InfiniteArticleItem } from \"./infiniteArticleItem\"\nimport { isMobile } from \"utils/isMobile\"\nimport { addAxiosDateTransformerSettings } from \"../../../../utils/network/axiosDateTransformer\";\n\nconst MOBILE_MAX_WIDTH = 700; // same as mobile media query\n\ninterface InfinityArticleComponentaProps {\n    categoryId: string\n    lastDate: Date\n}\n\ninterface InfinityArticleComponentaState {\n    lastDate: Date\n    articlesList: {\n        body: string\n        id: string\n    }[]\n}\n\nexport class InfinityArticleComponenta extends React.Component<InfinityArticleComponentaProps, InfinityArticleComponentaState> {\n    static siteScriptName = \"InfinityArticleComponenta\";\n    constructor(props: InfinityArticleComponentaProps) {\n        super(props)\n        this.state = {\n            lastDate: props.lastDate,\n            articlesList: [],\n        }\n    }\n\n    private loadNextArticle = () => {\n        const { categoryId, } = this.props\n        const { lastDate, articlesList, } = this.state;\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        axiosInstance.get(`/article/get_blazer_infinite_article/${categoryId}/${lastDate}`)\n            .then((res: any) => {\n                this.setState(\n                    {\n                        articlesList: [...articlesList, res.data.article],\n                        lastDate: res.data.date\n                    }\n                );\n            })\n            .catch(err => console.error(\"error geting article data:\", err))\n    }\n\n    render() {\n        const { lastDate, articlesList } = this.state;\n        if (typeof window !== \"undefined\") {\n            return (\n                !isMobile() && <div id=\"InfinityArticleComponenta\">\n                    <InfiniteScroll\n                        dataLength={articlesList.length}\n                        next={this.loadNextArticle}\n                        hasMore={lastDate}\n                        loader={<h4>Loading...</h4>}\n                    >\n                        {map(articlesList, (article, key) =>\n                            <InfiniteArticleItem key={key} article={article} />\n                        )}\n                    </InfiniteScroll>\n                </div>\n            )\n        } else return null\n    }\n}","import * as classNames from 'classnames';\nimport { SiteLayoutType } from '../../../../pagesPage/stateInterfaces';\nimport throttle = require('lodash/throttle');\n//import { isMobile } from '../../../../utils/isMobile';\n\ninterface ArticleMagazineTopStoryHeaderProps {\n  siteLayoutType: SiteLayoutType;\n}\n\ninterface ArticleMagazineTopStoryHeaderState {\n  chapters: string[];\n  currentChapterIndex: number;\n  carouselIndex: number;\n  isStickyMenu: boolean\n}\n\nexport class ArticleMagazineChapterMenu extends React.Component<\n  ArticleMagazineTopStoryHeaderProps,\n  ArticleMagazineTopStoryHeaderState\n  > {\n  public static siteScriptName = 'ArticleMagazineChapterMenu';\n  private chatpersObserver: IntersectionObserver | null = null;\n  private headerObserver: IntersectionObserver | null = null;\n  private browsiObserver = null;\n  private chapterRefs: HTMLElement[] = [];\n  private chaptersNodes: HTMLElement[] = [];\n  private HEIGHT_OFFSET = 0;\n  private SECONDRY_HEIGHT_OFFSET = 0;\n  private disableObserver = false;\n  constructor(props: ArticleMagazineTopStoryHeaderProps) {\n    super(props);\n    this.state = {\n      chapters: [],\n      carouselIndex: -1,\n      currentChapterIndex: -1,\n      isStickyMenu: false\n    };\n  }\n\n  componentDidMount() {\n    this.initHeaderOffsetHeight();\n    this.initChapters();\n    this.initObserver();\n    this.SECONDRY_HEIGHT_OFFSET = document.querySelector('.article-magazine-chapter-menu').clientHeight;\n    this.initChapterHeight()\n    this.observeDOM()\n  }\n\n\n  componentWillUnmount() {\n    if (this.chatpersObserver) {\n      this.chatpersObserver.disconnect();\n    }\n    if (this.headerObserver) {\n      this.headerObserver.disconnect();\n    }\n    if (this.browsiObserver) {\n      this.headerObserver.disconnect();\n    }\n  }\n\n  componentDidUpdate(prevProps: ArticleMagazineTopStoryHeaderProps, prevState: ArticleMagazineTopStoryHeaderState) {\n    if (prevState.chapters !== this.state.chapters || prevState.carouselIndex !== this.state.carouselIndex || prevState.currentChapterIndex !== this.state.currentChapterIndex) {\n      this.forceUpdate();\n    }\n  }\n  observeDOM() {\n    const targetNode = document.body; // You can specify a more specific container if needed\n\n    const config = {\n      childList: true,  // Watch for added/removed child elements\n      subtree: true     // Watch the entire subtree\n    };\n\n    this.browsiObserver = new MutationObserver((mutationsList) => {\n      mutationsList.forEach((mutation) => {\n        if (mutation.type === 'childList') {\n          const browsiWrapper = document.querySelector('[id^=\"browsi_wrapper\"]')\n          if (browsiWrapper) {\n           // console.log('browsi_wrapper div has been inserted:', browsiWrapper);\n            throttle(() => this.initChapterHeight(), 200)\n          }\n        }\n      });\n    });\n\n    this.browsiObserver.observe(targetNode, config);\n  }\n\n  getTotalPageNumber = () => {\n    if (typeof document === 'undefined') {\n      return 0;\n    }\n\n    const container = document.querySelector('.article-magazine-chapter-menu');\n    const itemsContainer = document.querySelector('.chapters-container');\n\n    if (!container || !itemsContainer) {\n      return 0;\n    }\n\n    const containerWidth = container.clientWidth;\n    const itemContainerWidth = itemsContainer.scrollWidth;\n\n    if (itemContainerWidth <= containerWidth) {\n      return 0;\n    }\n\n    return Math.ceil(itemContainerWidth / containerWidth);\n  };\n\n  initHeaderOffsetHeight = () => {\n    const headerEl =\n      document.querySelector('.YnetMutamHeader') || document.querySelector('.article-magazine-top-story-header');\n    if (!headerEl) {\n      return;\n    }\n    this.HEIGHT_OFFSET = headerEl.clientHeight;\n  };\n\n  initChapters = () => {\n    const chapters: string[] = [];\n    const chaptersNodes: HTMLElement[] = [];\n    document.querySelectorAll('h3.chatper_title').forEach((chapter: HTMLElement) => {\n      const textValue = (chapter as HTMLElement).innerText.trim();\n\n      if (textValue) {\n        chapters.push(textValue);\n        chaptersNodes.push(chapter);\n      }\n    });\n    this.chaptersNodes = chaptersNodes;\n    this.setState({ chapters });\n  };\n\n  initChapterHeight = () => {\n    const chapterContainers = document.querySelectorAll('.chapter_title');\n    const { siteLayoutType } = this.props;\n    const isMobile = siteLayoutType === 'mobileApp' || siteLayoutType === 'mobileWeb';\n    const marginDelta = {\n      [\"mobileApp\"]: 0,\n      [\"mobileWeb\"]: 0.1,\n      [\"desktop\"]: 0.2\n    };\n    for (let i = 0; i < chapterContainers.length; i++) {\n      const chapterContainer = chapterContainers[i] as HTMLElement;\n      let nextChapterContainer: HTMLElement | null = null;\n\n      if (i + 1 < chapterContainers.length) {\n        nextChapterContainer = chapterContainers[i + 1] as HTMLElement;\n      }\n\n      if (isMobile) {\n        const chapterHeight = this.chaptersNodes[i].clientHeight;\n        chapterContainer.style.height = `${chapterHeight * 1.2}px`;\n        this.chaptersNodes[i].style.marginBottom = `${chapterHeight * 1.1}px`;\n        this.chaptersNodes[i].style.fontSize = \"21px\"\n      }\n\n      if (nextChapterContainer) {\n        const delta = nextChapterContainer.getBoundingClientRect().top - chapterContainer.getBoundingClientRect().top;\n        this.chaptersNodes[i].style.height = `${delta - delta * marginDelta[siteLayoutType]}px`;\n      }\n    }\n  };\n\n  initObserver = () => {\n    if (IntersectionObserver) {\n      const { siteLayoutType } = this.props;\n      const isMobile = siteLayoutType === 'mobileApp' || siteLayoutType === 'mobileWeb';\n      const mobileHeadersMargin = this.HEIGHT_OFFSET + this.SECONDRY_HEIGHT_OFFSET;\n      const chaptersOberveseroptions: IntersectionObserverInit = {\n        rootMargin: `-${isMobile ? mobileHeadersMargin : this.HEIGHT_OFFSET}px 0px -${\n          (window.innerHeight / 3) * 2\n          }px 0px`,\n        threshold: 0,\n      };\n\n      const headerObserverOptions: IntersectionObserverInit = isMobile\n        ? {\n          root: null,\n          rootMargin: `-${mobileHeadersMargin}px 0px -${mobileHeadersMargin}px 0px`,\n          threshold: 0,\n        }\n        : {\n          rootMargin: `-${1}px`,\n          threshold: 1,\n        };\n\n      this.chatpersObserver = new IntersectionObserver(\n        (entries) => this.handleChaptersIntersections(entries),\n        chaptersOberveseroptions,\n      );\n      this.headerObserver = new IntersectionObserver(\n        ([entry]) => this.handleMenuHeaderIntersection(entry),\n        headerObserverOptions,\n      );\n      document\n        .querySelectorAll('h3.chatper_title')\n        .forEach((node) => (node as any).innerText.trim() && this.chatpersObserver.observe(node));\n      this.headerObserver.observe(document.querySelector('.layoutItem.Magazine-Article-Chapter-Menu'));\n    }\n  };\n\n  handleMenuHeaderIntersection = (entry: IntersectionObserverEntry) => {\n    if (IntersectionObserver) {\n      const { siteLayoutType } = this.props;\n      const isMobile = siteLayoutType === 'mobileApp' || siteLayoutType === 'mobileWeb';\n      const headerElement = document.querySelector('.article-magazine-top-story-header');\n      const menuTempPlaceholder = document.querySelector('.menu-temp-placeholder') as HTMLElement;\n\n      // Check if the entry is intersecting and its top position relative to the viewport\n      const isSticky = !entry.isIntersecting && entry.boundingClientRect.top < 0;\n      this.setState({ isStickyMenu: isSticky })\n      // Apply or remove sticky logic based on the calculated isSticky\n      entry.target.classList.toggle('isSticky', isSticky);\n\n      if (!isMobile && headerElement) {\n        headerElement.classList.toggle('stickyMode', isSticky);\n      }\n\n      if (menuTempPlaceholder) {\n        menuTempPlaceholder.style.display = isSticky ? 'block' : 'none';\n      }\n    }\n  };\n\n  handleChaptersIntersections = (entries: IntersectionObserverEntry[]) => {\n    // Filter and sort entries to get the top-most intersecting element\n    if (this.disableObserver) {\n      // return\n    }\n    const halfScreenHeight = window.innerHeight / 2;\n    const filteredEntries = entries\n      .filter((entry) => entry.isIntersecting && !!(entry.target as any).innerText.trim())\n      .sort((a, b) => b.boundingClientRect.top - a.boundingClientRect.top);\n\n //   console.log(\n //     'Filtered entries:',\n  //    filteredEntries.map((entry) => ({\n  //      target: entry.target,\n //       top: entry.boundingClientRect.top,\n   //     isIntersecting: entry.isIntersecting,\n //     })),\n //   ); // Debugging log\n\n    if (filteredEntries.length > 0) {\n      const topEntry = filteredEntries[0];\n      const element = topEntry.target as HTMLElement;\n      //   console.log('Top visible element:', element); // Debugging log\n\n      if (element.classList.contains('layoutItem') && element.classList.contains('Magazine-Article-Chapter-Menu')) {\n        element.classList.toggle('isSticky', topEntry.intersectionRatio < 1);\n      }\n\n      const chapText = element.innerText.trim();\n      const index = this.state.chapters.findIndex((chapter) => chapter === chapText);\n      //    console.log('Chapter index found:', index); // Debugging log\n      this.handleChapterMenuCurrentIndexChange(index);\n    }\n  };\n\n  getFirstElementInViewport = (elements: Element[] | NodeListOf<Element>) => {\n    for (let i = 0; i < elements.length; i++) {\n      const element = elements[i];\n      if (!(element as any).innerText.trim()) {\n        continue;\n      }\n      if (this.isElementInViewport(element)) {\n        return element;\n      }\n    }\n  };\n\n  isElementInViewport = (element: Element) => {\n    if (!element) return false;\n    if (1 !== element.nodeType) return false;\n\n    var html = document.documentElement;\n    var { bottom, left, right, top } = element.getBoundingClientRect();\n\n    return bottom >= 0 && right >= 0 && left <= html.clientWidth && top - this.HEIGHT_OFFSET <= html.clientHeight;\n  };\n\n  handleChapterClick = (chapterIndex: number) => {\n    const { currentChapterIndex, chapters } = this.state;\n    const { siteLayoutType } = this.props\n    const { top } = this.chaptersNodes[chapterIndex].getBoundingClientRect();\n    const isMobile = siteLayoutType === 'mobileApp' || siteLayoutType === 'mobileWeb';\n\n    const y =\n      window.scrollY +\n      top -\n      this.HEIGHT_OFFSET -\n      this.SECONDRY_HEIGHT_OFFSET -\n      (isMobile && (!currentChapterIndex || !chapterIndex) ? this.SECONDRY_HEIGHT_OFFSET : 0) -\n      (!isMobile && (!currentChapterIndex || !chapterIndex) ? this.SECONDRY_HEIGHT_OFFSET * 2 : 0);\n    this.disableObserver = true;\n    setTimeout(() => {\n      this.disableObserver = false;\n    }, 750);\n    // console.log(y)\n    window.scrollTo({ top: isMobile ? y - 60 : y, behavior: 'smooth' });\n\n    const onScrollEnd = () => {\n      window.removeEventListener('scroll', onScrollEnd);\n      this.setState({ currentChapterIndex: chapterIndex });\n    };\n    window.addEventListener('scroll', onScrollEnd);\n    this.getClickedChapterAnalytics(`componenta_name=${this.state.isStickyMenu ? \"chaptered_article_header_menu\" : \"chaptered_article_body_menu\"}&content_type=menu&click_text=${chapters[chapterIndex]}`, siteLayoutType)\n    //console.log(`componenta_name=${this.state.isStickyMenu ? \"chaptered_article_header_menu\" : \"chaptered_article_body_menu\"}&content_type=menu&click_text=${chapters[chapterIndex]}`)\n  };\n  getClickedChapterAnalytics = (text, siteLayoutType) => {\n    if (siteLayoutType === 'mobileApp' && typeof window != \"undefined\"){\n      if(window.webkit &&  window.webkit.messageHandlers){\n        window.webkit.messageHandlers.onClickChapter.postMessage(text);\n      }\n      if(window.Android){\n        window.Android.onClickChapter(text)\n      }\n    }  \n  }\n  handleChapterMenuCurrentIndexChange = (index: number) => {\n    const itemsPerPage = this.getTotalPageNumber();\n    let newPageIndex = 0;\n    if (itemsPerPage > 1) {\n      newPageIndex = Math.floor(index / itemsPerPage);\n    }\n    const containerElements = document.querySelectorAll('.chapter-item');\n    const chapterItem = containerElements[index] as HTMLElement;\n    const container = document.querySelector('.chapters-container') as any;\n\n    if (!chapterItem) {\n      return;\n    }\n\n    this.setState({ currentChapterIndex: index, carouselIndex: newPageIndex }, () => {\n      const containerRect = container.getBoundingClientRect();\n      const chapterItemRect = chapterItem.getBoundingClientRect();\n      const scrollAmount =\n        chapterItemRect.left +\n        container.scrollLeft -\n        containerRect.left -\n        containerRect.width / 2 +\n        chapterItemRect.width / 2;\n      container.scrollTo({ top: 0, left: scrollAmount, behavior: 'smooth' });\n    });\n  };\n\n  handleArrowClick = (dir: 'left' | 'right') => {\n    const { carouselIndex } = this.state;\n    const totalPages = this.getTotalPageNumber();\n    const container = document.querySelector('.chapters-container') as HTMLElement;\n    let newIndex = dir === 'left' ? carouselIndex + 1 : carouselIndex - 1;\n\n    if (newIndex < 0) newIndex = 0;\n    if (newIndex >= totalPages - 1) newIndex = totalPages - 1;\n\n    this.setState({ carouselIndex: newIndex }, () => {\n      container.scrollLeft = -1 * (container.clientWidth * newIndex);\n    });\n  };\n\n  shouldArrowBeVisibile = (dir: 'left' | 'right') => {\n    const { carouselIndex } = this.state;\n    const totalPages = this.getTotalPageNumber();\n    const parentContainer = document.querySelector(\".article-magazine-chapter-menu\");\n    const itemLength = document.querySelectorAll('.chapter-item').length;\n    const lastItem = document.querySelectorAll('.chapter-item')[itemLength - 1]\n    const firstItem = document.querySelectorAll('.chapter-item')[0];\n    // @ts-ignore \n    const parentContainerOffsetLeft = parentContainer && parentContainer.getBoundingClientRect().x\n    const firstItemRightPos = firstItem && firstItem.getBoundingClientRect().right;\n    const parentposRight = parentContainer && parentContainer.getBoundingClientRect().right;\n    // @ts-ignore \n    const lastItemOffsetLeft = lastItem && lastItem.getBoundingClientRect().x;\n    if (dir === 'left' && lastItemOffsetLeft + 60 < parentContainerOffsetLeft) {\n      return true;\n    }\n    if (dir === 'right' && firstItemRightPos > parentposRight + 60) {\n      return true;\n    }\n    return false;\n  };\n\n  render() {\n    const { chapters, currentChapterIndex, isStickyMenu } = this.state;\n    const { siteLayoutType } = this.props\n    const chapterItems = chapters.map((chapter, index) => (<div\n      key={index}\n      className={classNames('chapter-item', { selected: index === currentChapterIndex })}\n      ref={(ref) => {\n        this.chapterRefs[index] = ref;\n      }}\n      onClick={() => this.handleChapterClick(index)}\n    >\n      {chapter}\n    </div>\n    ));\n\n    return (\n      <div className={`article-magazine-chapter-menu ${chapterItems.length > 0 ? \"\" : \"noChapters\"}`}>\n        <div className=\"chapters-container\">\n\n          {!!chapterItems.length && (\n            <div className=\"arrow-item\" style={{ display: this.shouldArrowBeVisibile('right') ? 'flex' : 'none' }}>\n              <div className=\"arrow-icon\" onClick={() => this.handleArrowClick('right')} />\n            </div>\n          )}\n\n          {chapterItems}\n\n          {!!chapterItems.length && (\n            <div className=\"arrow-item opposite\" style={{ display: this.shouldArrowBeVisibile('left') ? 'flex' : 'none' }}>\n              <div className=\"arrow-icon\" onClick={() => this.handleArrowClick('left')} />\n            </div>\n          )}\n        </div>\n      </div>\n    );\n  }\n}","\nexport class AccessebilityButton extends React.Component<{}, {}>{\n    public static siteScriptName = \"AccessebilityButton\";\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`] && window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n\n    render() {\n        return (\n            <button className=\"accessibiltyFixedBtn\" onClick={this.clickAcessibilityBtn} id=\"INDmenu-btn-fixed\" title=\"אתר נגיש\" aria-labelledby=\"INDbtnTooltip\" accessKey=\"m\"></button>\n        )\n    }\n}","import { ArticleData } from \"../../../../../../articlePage/stateInterfaces\";\nimport { MailShareButton } from \"../../../../../siteWidgets/socialShareButtons/mail/mailShareButton\";\nimport { WhatsAppShareButton } from \"../../../../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\";\nimport { openFacebookShare, analyticsPushFunc, openTwitterShare, } from \"../../../../../widgetsUtils\";\nimport { toggleSpotImPopUp } from \"../../articleSocialShare1280Component/articleSocialShareNew1280\";\n\ninterface Props {\n    articleData: ArticleData;\n    isApp?: boolean;\n    siteName?: string;\n}\n\ninterface State {\n    isReverseOrder: boolean;\n    limitIndex: number;\n    showUrlCopiedTooltip: boolean;\n}\n\nconst CHUNCK_SIZE = 5;\nconst SEQUENCE_FROM = 1;\nconst CALCALIST_NUM_OF_BLOCKS = 2;\nconst YNET_NUM_OF_BLOCKS = 4;\n\nexport class BlogPostsSorter extends React.Component<Props, State> {\n    public static siteScriptName = \"BlogPostsSorter\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            isReverseOrder: false,\n            limitIndex: CHUNCK_SIZE - 1,\n            showUrlCopiedTooltip: false,\n        };\n    }\n\n    private intersectionObserver: IntersectionObserver;\n\n    componentDidMount() {\n        this.sortPinnedItems();\n        this.handleReadMore();\n        this.handleShareButtons();\n        this.initObserver();\n    }\n\n    private hideRestOfFeed = () => {\n        console.log(\"Hiding rest of feed...\");\n        // set hidden to the items in the feed that are index is higher than the limitIndex\n        const { limitIndex } = this.state;\n\n        const items = document.querySelectorAll(\".blogs-item-wrapper\");\n        items.forEach((item, index) => {\n            if (index > limitIndex) {\n                item.classList.add(\"hidden\");\n            } else {\n                item.classList.remove(\"hidden\");\n            }\n        });\n    };\n\n    private initObserver = () => {\n        if (window.location.href.includes(\"#\")) return;\n\n        if (IntersectionObserver) {\n            this.intersectionObserver = new IntersectionObserver((entries) => {\n                entries.forEach((entry) => {\n                    this.onNextItemsLoad(entry.isIntersecting);\n                });\n            });\n        }\n        this.getObserverTargetIndex();\n        this.hideRestOfFeed();\n    };\n\n    private getObserverTargetIndex = () => {\n        const items = document.querySelectorAll(\".blogs-item-wrapper\");\n        const { limitIndex } = this.state;\n\n        if (items.length > limitIndex) {\n            console.log(\"Observing intersection...\");\n            this.intersectionObserver.observe(\n                document.querySelectorAll(\".blogs-item-wrapper\")[limitIndex - SEQUENCE_FROM]\n            );\n        }\n    };\n\n    private onNextItemsLoad = (isIntersecting: boolean) => {\n        const { limitIndex } = this.state;\n        if (isIntersecting) {\n            console.log(\"Intersection detected!\");\n            this.setState({ limitIndex: limitIndex + CHUNCK_SIZE }, () => { this.initObserver(); });\n        }\n    };\n\n    private sortPinnedItems = () => {\n        console.log(\"Sorting pinned items...\");\n        var feed = document.querySelector(\".public-DraftEditor-content > div\");\n        var items = Array.from(feed.children);\n\n        items.sort(function (a, b) {\n            var aIsPinned: any = a.querySelector(\".isPinned\") !== null;\n            var bIsPinned: any = b.querySelector(\".isPinned\") !== null;\n            return bIsPinned - aIsPinned;\n        });\n\n        items.forEach(function (item) {\n            feed.appendChild(item);\n        });\n    };\n\n    private handleShareButtons = () => {\n        console.log(\"Handling share buttons...\");\n        document.addEventListener(\"click\", (e) => this.handleShareBtnClicked(e));\n    };\n      // add event listener to the button\n      private getClickedBtnText=(text)=> {   \n            if (typeof window != \"undefined\" && window.Android) {\n                window.Android.onClickTextChange(text)\n            }  \n        if (typeof window != \"undefined\" && window.webkit && window.webkit.messageHandlers) {\n            window.webkit.messageHandlers.onClickTextChange.postMessage(text);\n        }\n    }\n\n    private handleReadMore = () => {\n        const { siteName } = this.props;\n        const numOfBlocks = siteName === \"calcalist\" ? CALCALIST_NUM_OF_BLOCKS : YNET_NUM_OF_BLOCKS;\n\n        console.log(\"Handling read more...\");\n        document\n            .querySelectorAll(\".article-blog-componenta-wrapper\")\n            .forEach((blogElement) => {\n                const blogContentDiv = blogElement.querySelector('div[data-contents=\"true\"]');\n\n                if (!blogContentDiv) return;\n\n                // get it's children (blocks)\n                const blogContentDivChildren = blogContentDiv.children;\n\n                if (!blogContentDivChildren) return;\n\n                let restOfTheBlocks;\n                let restOfTheBlocksDiv = blogElement.querySelector(\".restOfTheBlocks\");\n\n                // if there is a class of \"TextEditorBlogEndOfPreviewTextFlag\", start wrapping the blocks from it\n                const endOfPreviewTextFlag = blogElement.querySelector(\".TextEditorBlogEndOfPreviewTextFlag\");\n\n                if (endOfPreviewTextFlag) {\n                    // find the node with the div with class of \"TextEditorBlogEndOfPreviewTextFlag\" inside the children\n                    const endOfPreviewTextFlagIndex = Array\n                        .from(blogContentDivChildren)\n                        .findIndex((child) => child.contains(endOfPreviewTextFlag));\n\n                    restOfTheBlocks = Array\n                        .from(blogContentDivChildren)\n                        .slice(endOfPreviewTextFlagIndex + 1, blogContentDivChildren.length);\n                }\n\n                // if there are more than 4 blocks, wrap the rest with a div and hide it\n                else if (blogContentDivChildren.length > numOfBlocks) {\n                    restOfTheBlocks = Array\n                        .from(blogContentDivChildren)\n                        .slice(numOfBlocks, blogContentDivChildren.length);\n                }\n\n                if (!restOfTheBlocksDiv) {\n                    restOfTheBlocksDiv = document.createElement(\"div\");\n                    restOfTheBlocksDiv.classList.add(\"restOfTheBlocks\");\n                    restOfTheBlocksDiv.classList.add(\"hidden_blocks\");\n\n                    if (restOfTheBlocks) {\n                        restOfTheBlocksDiv.append(...(Array.from(restOfTheBlocks) as Node[]));\n                    }\n\n                    blogContentDiv.append(restOfTheBlocksDiv);\n\n                    if (!restOfTheBlocks) {\n                        // hide read more button\n                        (blogElement.querySelector(\".continue-read-wrapper-pf\") as any).style.display = \"none\";\n                    }\n                }\n\n          \n                const button = blogElement.querySelector(\".continue-read-wrapper-pf\");\n                const buttonContent = blogElement.querySelector(\".continue-read-wrapper-pf .continue-read-pf\");\n                const littleArrow = blogElement.querySelector(\".continue-read-wrapper-pf .little-arrow-pf\");\n                if (!button) return;\n\n                button.addEventListener(\"click\", () => {\n                    const restOfTheBlocksDiv = blogElement.querySelector(\".restOfTheBlocks\");\n\n                    if (!restOfTheBlocksDiv) return;\n\n                    restOfTheBlocksDiv.classList.toggle(\"hidden_blocks\");\n\n                    if (buttonContent.innerHTML === \"צמצם\") {\n                        this.getClickedBtnText(\"collapse\");\n                        if (siteName === \"calcalist\") {\n                            buttonContent.innerHTML = \"המשך\";\n                        } else {\n                            buttonContent.innerHTML = \"להמשך קריאה\";\n                        }\n\n                        littleArrow.classList.toggle(\"up\");\n                    } else {\n                        this.getClickedBtnText(\"expand\");\n                        buttonContent.innerHTML = \"צמצם\";\n                        littleArrow.classList.toggle(\"up\");\n                    }\n                    button.classList.toggle(\"active\");\n                });\n            });\n    };\n\n    private reverseOrderWithJS = () => {\n        console.log(\"Reversing order with JS...\");\n        const postsParent =\n            document.querySelector(`.ArticleBodyComponent div[data-contents=\"true\"]`)\n            ||\n            document.querySelector(`.ArticleBodyAppComponent div[data-contents=\"true\"]`);\n        const posts = postsParent.children;\n        const postsArray = Array.from(posts);\n        const postsArrayReversed = postsArray.reverse();\n\n        postsArrayReversed.forEach((post) => {\n            // Exclude children with descendants that have the isPinned class\n            const descendantsWithIsPinned = post.querySelectorAll(\".isPinned\");\n            if (descendantsWithIsPinned.length === 0) {\n                postsParent.appendChild(post);\n            }\n        });\n    };\n\n    private reverseOrder = () => {\n        console.log(\"Reversing order...\");\n        const { isReverseOrder } = this.state;\n        this.setState({ isReverseOrder: !isReverseOrder }, () => this.reverseOrderWithJS());\n    };\n\n    private openMobileShare = async (current_url: string, blogId: string, blogTitle: string) => {\n        console.log(\"Opening mobile share...\");\n        const { isApp } = this.props;\n        const shareData = { url: current_url + \"#\" + blogId, title: blogTitle };\n\n        if (isApp) {\n            return;\n        } else\n            try {\n                // @ts-ignore\n                await navigator.share(shareData);\n            } catch (err) {\n                console.log(\"error with sharing function\", err);\n            }\n    };\n\n    private copyPostUrlToClipboard = () => {\n        console.log(\"Copying post URL to clipboard...\");\n        const { articleData } = this.props;\n        const url = articleData.publishedLink;\n        if (!url) return;\n        navigator.clipboard.writeText(`${url}`);\n        this.showUrlCopiedTooltip();\n    };\n\n    private showUrlCopiedTooltip = () => {\n        console.log(\"Showing URL copied tooltip...\");\n        this.setState({ showUrlCopiedTooltip: true });\n        setTimeout(() => {\n            this.setState({ showUrlCopiedTooltip: false });\n        }, 2000);\n    };\n\n    private handleShareBtnClicked = (event: MouseEvent) => {\n        console.log(\"Handling share button click...\");\n        const eventTarget = event.target as Element;\n        let button: string;\n\n        if (eventTarget.classList.contains(\"mobileShareBtn\")) {\n            button = \"mobile\";\n        } else {\n            button = eventTarget.classList[eventTarget.classList.length - 1];\n        }\n\n        if (button === \"copy\") {\n            // this.copyPostUrlToClipboard();\n            return;\n        }\n\n        if (!eventTarget.classList.contains(\"social-icon\") && !eventTarget.classList.contains(\"mobileShareBtn\")) {\n            return;\n        }\n\n        const blogItemWrapper = eventTarget.closest(\".blogs-item-wrapper\");\n        const blogId = blogItemWrapper ? blogItemWrapper.id : \"\";\n        const blogTitle = blogItemWrapper.querySelector(\".title-section\");\n        const blogTitleText = blogTitle ? blogTitle.textContent : \"\";\n\n        if (typeof window !== \"undefined\") {\n            let current_url = `${document.querySelector(\"link[rel=canonical]\") ?\n                (document.querySelector(\"link[rel=canonical]\") as HTMLLinkElement).href\n                :\n                window.location.href\n                }`;\n            current_url = current_url.includes(\"#\") ? current_url.split(\"#\")[0] : current_url; // remove hash if exists e.g. resharing\n\n            if (!current_url) return;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(current_url, \"\", () => analyticsPushFunc(\"Facebook\", \"Blogs Auto Feed\", blogTitleText), \"Blogs Auto Feed\", blogId, blogId);\n                    break;\n\n                case \"tw\":\n                    openTwitterShare(current_url, () => analyticsPushFunc(\"Twitter\", \"Blogs Auto Feed\", blogTitleText), \"Blogs Auto Feed\", blogId, blogId);\n                    break;\n\n                case \"wtap\":\n                    WhatsAppShareButton.openWhatsAppShare(current_url, () => analyticsPushFunc(\"Whatsapp\", \"Blogs Auto Feed\", blogTitleText), \"Blogs Auto Feed\", blogId, blogId);\n                    break;\n\n                case \"mail\":\n                    MailShareButton.openMailShare(blogTitleText, current_url, \"heBlog\", () => analyticsPushFunc(\"Mail\", \"Blogs Auto Feed\", blogTitleText), \"Blogs Auto Feed\", blogId, blogId);\n                    break;\n\n                case \"tb\":\n                    break;\n                    const elementToScroll = document.querySelector(\"#SiteArticleComments\");\n                    const commentsPopUp = document.querySelector(\".spotimWrapper\");\n\n                    if (elementToScroll) {\n                        setTimeout(() => {\n                            elementToScroll.scrollIntoView({ behavior: \"smooth\", block: \"center\", });\n                        }, 0);\n                    }\n\n                    if (commentsPopUp) {\n                        toggleSpotImPopUp(commentsPopUp);\n                    }\n                    break;\n\n                case \"copy\":\n                    navigator.clipboard.writeText(current_url + \"#\" + blogId);\n                    break;\n\n                default: // mobile\n                    this.openMobileShare(current_url, blogId, blogTitleText);\n            }\n        }\n    };\n\n    public render() {\n        const { isReverseOrder } = this.state;\n        const { siteName } = this.props;\n\n        return (\n            <div className=\"blogs-auto-feed-header-wrapper\">\n                <div className=\"postsSorter_title\">עדכונים שוטפים</div>\n                {/* <div className=\"blogs-auto-feed-header\"><a href={headerLinkUrl}>{feedTitleText}</a></div> */}\n\n                <div className=\"orderCheckBoxes articleBlogsOCB-pf\">\n                    {siteName === \"calcalist\" ?\n                        <div className=\"switch_wrapper\" onClick={() => this.reverseOrder()}>\n                            <label>{isReverseOrder ? \"מהישן לחדש\" : \"מהחדש לישן\"}</label>\n\n                            <div className=\"switch\">\n                                <input type=\"checkbox\" checked={!isReverseOrder} />\n\n                                <span className=\"slider round\"></span>\n                            </div>\n                        </div>\n                        :\n                        <>\n                            <div>\n                                <input type=\"radio\" className=\"regularOrder\" checked={!isReverseOrder} onClick={() => this.reverseOrder()} />\n\n                                <div>הצג מהחדש לישן</div>\n                            </div>\n\n                            <div>\n                                <input type=\"radio\" className=\"regularOrder\" checked={isReverseOrder} onClick={() => this.reverseOrder()} />\n\n                                <div>הצג מהישן לחדש</div>\n                            </div>\n                        </>\n                    }\n                </div>\n            </div>\n        );\n    }\n}\n","require(\"./site_articleBottomShareComponent.less\")\nrequire(\"../site_shareButtons.less\")\nimport { MailShareButton } from \"../../../../siteWidgets/socialShareButtons/mail/mailShareButton\";\nimport { SiteSettings, SiteSettingsHOC } from \"../../../../../global/components/siteSettingsHOC\"\nimport { getShareTranslations } from \"../articleSideShareComponenta/translations\";\nimport { openFacebookShare, openTwitterShare, analyticsPushFunc } from \"../../../../widgetsUtils\"\nimport { injectArticleComponentaContext } from \"../../../../commonComponents/base/injectArticleComponentaContext\";\nimport { ArticleComponentaContext } from \"../../../../interfaces\"\n\nexport class SiteArticleBottomShare extends React.Component<{ lang: string, isLTR: boolean, articleId?: string, title?: string }, {}> {\n    public static siteScriptName = \"SiteArticleBottomShare\"\n    static defaultProps = { lang: \"he\" }\n\n    private handleShareBtnClicked = (button: string, lang: string) => {\n        const {title} = this.props;\n        if (typeof window !== \"undefined\") {\n            const current_url = window.location.href;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(current_url, \"\", () => analyticsPushFunc(\"Facebook\", \"Article Footer\", title), \"Article Footer\")\n                    break;\n\n                case \"tw\":\n                    openTwitterShare(current_url, () => analyticsPushFunc(\"Twitter\", \"Article Footer\", title), \"Article Footer\")\n                    break;\n\n                case \"print\":\n                    window.print();\n                    break;\n\n                case \"mailto\":\n                    MailShareButton.openMailShare(document.title, current_url, lang, () => analyticsPushFunc(\"Mail\", \"Article Footer\", title), \"Article Footer\")\n                    break;\n\n                case \"talkback\":\n                    // window.location.href = `${current_url}#articleComments`;\n                    const newCommentBtn = (document.querySelector(\".newCommentBtn\") as HTMLElement).click();\n                    setImmediate(() => {\n                        document.querySelector('#addCommentSendButton').scrollIntoView({\n                            behavior: 'smooth'\n                        });\n                    })\n                    break;\n            }\n        }\n    }\n\n    public render() {\n        const { isLTR, lang } = this.props\n        let englishSiteCss = isLTR ? \"englishSite\" : \"\"\n\n        return (\n            <div className={`ArticleBottomShareComponent ${englishSiteCss}`}>\n                <ul>\n                    {isLTR && <li className=\"ArticleBottomShareComponent_talkback\">\n                        <button title={getShareTranslations(lang, \"comment\")}\n                            onClick={(e) => this.handleShareBtnClicked(\"talkback\", lang)}>\n                            <span className=\"articleShareButton talkback\" />{getShareTranslations(lang, \"comment\")}</button></li>\n                    }\n                    <li className=\"ArticleBottomShareComponent_mailto\">\n                        <button title={getShareTranslations(lang, \"mailto\")}\n                            onClick={(e) => this.handleShareBtnClicked(\"mailto\", lang)}>\n                            <span className=\"articleShareButton mailto\" />{getShareTranslations(lang, \"mailto\")}</button></li>\n\n                    <li className=\"ArticleBottomShareComponent_facebook\" >\n                        <button title={getShareTranslations(lang, \"share\")}\n                            onClick={(e) => this.handleShareBtnClicked(\"fb\", lang)}>\n                            <span className=\"fc\">{getShareTranslations(lang, \"share\")}</span>&thinsp;<span className=\"facebook articleShareButton\" /></button></li>\n\n                    <li className=\"ArticleBottomShareComponent_twitter\">\n                        <button title={getShareTranslations(lang, \"share\")}\n                            onClick={(e) => this.handleShareBtnClicked(\"tw\", lang)}><span className=\"tw\">{getShareTranslations(lang, \"share\")}</span>&thinsp;<span className=\"twitter articleShareButton\" />\n                        </button></li>\n                    {/* <li onClick={(e) => this.handleShareBtnClicked(\"print\")}><span className=\"ArticleBottomShareComponent_print\"><img />הדפסה</span></li> */}\n                </ul>\n            </div>\n\n        )\n    }\n}","\nrequire(\"./site_articleBottomShare1280Component.less\")\nimport { openFacebookShare, openTwitterShare, analyticsPushFunc } from \"../../../../widgetsUtils\"\nimport { MailShareButton } from \"../../../../siteWidgets/socialShareButtons/mail/mailShareButton\"\nimport { WhatsAppShareButton } from \"../../../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\"\n\ninterface SiteArticleSocialBottomShare1280Props {\n    articleId: string\n    author: string\n    categorySubChannel: number\n    title: string\n}\nexport class SiteArticleSocialBottomShare1280 extends React.Component<SiteArticleSocialBottomShare1280Props, {}>{\n    static siteScriptName = \"SiteArticleSocialBottomShare1280\"\n\n    private handleShareBtnClicked = (button: string) => {\n        const {title} = this.props;\n        if (typeof window !== \"undefined\") {\n            const current_url = window.location.href;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(current_url, \"\", () => analyticsPushFunc(\"Facebook\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"tw\":\n                    openTwitterShare(current_url, () => analyticsPushFunc(\"Twitter\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"mailto\":\n                    MailShareButton.openMailShare(document.title, current_url, \"he\", () => analyticsPushFunc(\"Mail\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"wa\":\n                    WhatsAppShareButton.openWhatsAppShare(current_url, () => analyticsPushFunc(\"Whatsapp\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"print\":\n                    window.print();\n                    break;\n\n                case \"tb\":\n                    (document.querySelector(\".newCommentBtn\") as HTMLElement).click();\n                    setTimeout(() => {\n                        document.querySelector('#addCommentSendButton').scrollIntoView({\n                            behavior: 'smooth'\n                        });\n                    }, 0)\n                    break;\n            }\n        }\n    }\n\n    private constructContactFormUrl = () => {\n        const { categorySubChannel, author, articleId } = this.props\n        return `/Ext/Comp/ArticleLayout/CdaSendArticleResponse/0,12358,L-${categorySubChannel},00.html?author=${author}&articleID=${articleId}`\n    }\n\n    private openContactPopup = () => {\n        const newwindow = window.open(this.constructContactFormUrl(), __(\"Article response\"), 'height=543,width=380');\n        if (window.focus) { newwindow.focus() }\n        return false;\n    }\n\n    render() {\n        const { categorySubChannel } = this.props\n        const textMail = \"שלחו כתבה\"\n        const textTw = \"שיתוף בטוויטר\"\n        const textFb = \"שיתוף בפייסבוק\"\n        const textWa = \"שיתוף בואטסאפ\"\n        const textPrint = \"הדפס\"\n        const textNewPost = \"פרסם תגובה חדשה\"\n        const contactFormUrl = this.constructContactFormUrl()\n        return (\n            <div className=\"SiteArticleSocialBottomShare1280\">\n                {(subChannelIdsToAccept as any).includes(categorySubChannel) ? <button className=\"contactWrapper\" onClick={() => this.openContactPopup()}>\n                    <span className=\"icon\"></span>\n                    <span className=\"label\">פנייה לכתב/ת</span>\n                </button> : <div />}\n                <div className=\"iconsWrapper\">\n                    <button title={textNewPost} className=\"shareIcon1280 tb\" onClick={e => this.handleShareBtnClicked(\"tb\")}></button>\n                    <button title={textPrint} className=\"shareIcon1280 print\" onClick={e => this.handleShareBtnClicked(\"print\")}></button>\n                    <button title={textMail} className=\"shareIcon1280 mailto\" onClick={e => this.handleShareBtnClicked(\"mailto\")}></button>\n                    <button title={textWa} className=\"shareIcon1280 wa\" onClick={e => this.handleShareBtnClicked(\"wa\")}></button>\n                    <button title={textTw} className=\"shareIcon1280 tw\" onClick={e => this.handleShareBtnClicked(\"tw\")}></button>\n                    <button title={textFb} className=\"shareIcon1280 fb\" onClick={e => this.handleShareBtnClicked(\"fb\")}></button>\n                </div>\n            </div>\n        )\n    }\n}\n\nconst subChannelIdsToAccept = [8, 2, 6, 437, 3, 538, 1208, 544, 2142, 6377, 550, 598, 975, 194, 1069, 813, 5, 3262, 4872, 3052, 3925, 4403,\n    1361, 4002, 3456, 3630, 5419, 5420, 5423, 5421, 5425, 5422, 5427, 5426, 5428, 5424, 5429, 2, 6, 3, 538, 11211, 544, 1208, 5363, 11679,\n    8315, 598, 550, 975, 3925, 3052, 4403, 4880, 2142, 3262, 194, 8841, 11691]","import { CommentFormType } from \"./interfaces\"\nimport { getTranslation } from \"./translations\"\nimport * as axios from \"axios\"\nimport { analyticsPushFunc } from \"../../../../widgetsUtils\"\n\nexport interface AddCommentFormRenderProps {\n    lang: string\n    articleId: string\n    formType: CommentFormType\n    name: string\n    email: string\n    location: string\n    title: string\n    comment: string\n    isSent: boolean\n    isPreviewModeOn: boolean\n    showAlert: boolean\n    alertBeforeClosing: () => void\n    closeAlert: () => void\n    handleCommentSend: () => void\n    handleCloseCommentForm: () => void\n    resetFormData: () => void\n    onInputChanged: any\n    isAddCommentFormVisible: boolean\n    isFirstComment?: boolean\n}\n\nexport type AddCommentFormRender = (\n    props: AddCommentFormRenderProps\n) => React.ReactElement<any>\n\ninterface AddCommentFormWrapperProps {\n    render: AddCommentFormRender\n    articleId: string\n    parentTalkbackId?: number\n    formType: CommentFormType\n    lang: string\n    isAddCommentFormVisible: boolean\n    handleCloseCommentForm: () => void\n    isFirstComment?: boolean\n}\n\ninterface AddCommentFormWrapperState {\n    name: string\n    email: string\n    location: string\n    title: string\n    comment: string\n    isSent: boolean\n    isPreviewModeOn: boolean\n    showAlert: boolean\n}\n\nexport class AddCommentFormWrapper extends React.Component<AddCommentFormWrapperProps, AddCommentFormWrapperState>{\n    constructor(props) {\n        super(props)\n        this.state = {\n            name: \"\",\n            email: \"\",\n            location: \"\",\n            title: \"\",\n            comment: \"\",\n            isSent: false,\n            isPreviewModeOn: false,\n            showAlert: false\n        }\n    }\n\n    private resetFormData = () => {\n        this.setState({\n            name: \"\",\n            email: \"\",\n            location: \"\",\n            title: \"\",\n            comment: \"\",\n            isSent: false,\n            isPreviewModeOn: false,\n        })\n    }\n\n    private onInputChanged = (e, inputName: string) => {\n        const inputValue = e.target.value as string\n        this.setState({ [inputName]: inputValue })\n    }\n\n    private handleCommentSend = () => {\n        const { articleId, parentTalkbackId, formType, lang, isFirstComment } = this.props\n        const { title, name, email, location, comment } = this.state\n\n        if (title.length > 0) {\n            const postData = {\n                talkback_title: title,\n                talkback_content: comment,\n                author_name: name,\n                author_email: email,\n                author_location: location,\n                article_id: articleId,\n                talkbackParentData: formType === \"REPLY\" ? parentTalkbackId : \"\",\n                talkback_source: null\n            }\n            analyticsPushFunc(\"Success\", \"Send Comment\", title)\n            axios.post(`/iphone/json/api/talkbacks/add`, postData)\n            this.setState({ isSent: true })\n        }\n        else {\n            analyticsPushFunc(\"Fail\", \"Send Comment\", title)\n            alert(getTranslation(lang, \"You Must Enter Title\"))\n        }\n    }\n\n    private togglePreviewMode = () => {\n        const { isPreviewModeOn, title } = this.state\n        if (title.length === 0) {\n            alert(getTranslation(this.props.lang, \"You Must Enter Title\"))\n        } else {\n            this.setState({ isPreviewModeOn: !isPreviewModeOn })\n        }\n    }\n\n    private alertBeforeClosing = () => {\n        const { title, comment } = this.state\n        const { lang, handleCloseCommentForm } = this.props\n        if (lang === \"he\" && (title !== \"\" || comment !== \"\")) {\n            this.setState({ showAlert: true })\n        }\n        else handleCloseCommentForm();\n    }\n\n    private closeAlert = () => {\n        this.setState({ showAlert: false })\n    }\n\n    render() {\n        const { isAddCommentFormVisible, lang, articleId, handleCloseCommentForm, isFirstComment } = this.props\n        const { isSent, isPreviewModeOn, title, name, email, location, comment, showAlert } = this.state\n\n        return (\n            <div className=\"mainFormWrapper\">\n                {this.props.render(\n                    {\n                        lang,\n                        articleId,\n                        formType: \"NEW\",\n                        handleCloseCommentForm,\n                        name,\n                        email,\n                        location,\n                        title,\n                        comment,\n                        isSent,\n                        isPreviewModeOn,\n                        showAlert,\n                        isAddCommentFormVisible,\n                        alertBeforeClosing: this.alertBeforeClosing,\n                        closeAlert: this.closeAlert,\n                        togglePreviewMode: this.togglePreviewMode,\n                        handleCommentSend: this.handleCommentSend,\n                        resetFormData: this.resetFormData,\n                        onInputChanged: this.onInputChanged,\n                        isFirstComment\n                    }\n                )}\n            </div>)\n    }\n}","import { getTranslation } from \"./translations\"\nimport { AddCommentFormRenderProps } from \"./addCommentFormWrapper\"\nrequire('./site_ynet_addCommentFormYnetUI.less')\ninterface AddCommentFormYnetUIProps {\n    props: AddCommentFormRenderProps\n}\n\nexport class AddCommentFormYnetUI extends React.Component<AddCommentFormYnetUIProps, {}>{\n    private getTermsLinkByLang = () => {\n        const { lang } = this.props.props\n        if (lang === \"he\") return \"//www.ynet.co.il/articles/0,7340,L-3049332,00.html\"\n        else if (lang === \"en\") return \"//www.ynetnews.com/articles/0,7340,L-3048342,00.html\"\n        else if (lang === \"ru\") return \"https://www.vesty.co.il/articles/0,7340,L-4867560,00.html\"\n        else if (lang === \"es\") return \"https://www.ynetespanol.com/article/BJia11GqWB\"\n        else return \"\"\n    }\n\n    private onConfirmAlertBtnPress = () => {\n        const { closeAlert, resetFormData, handleCloseCommentForm } = this.props.props\n        closeAlert()\n        handleCloseCommentForm()\n        resetFormData()\n    }\n\n    render() {\n        const { isAddCommentFormVisible, isSent, title, name, email, location, comment, showAlert, formType,\n            lang, alertBeforeClosing, closeAlert, onInputChanged, handleCommentSend } = this.props.props\n\n        if (!isAddCommentFormVisible) { return null }\n        return (\n            <div className=\"AddCommentForm ynetRegular\">\n                {!isSent && <div className=\"AddCommentFormContainer\">\n                    <div className=\"topTitleWrapper\">\n                        <span className=\"formTitle\"> {formType === \"REPLY\" ? getTranslation(lang, \"Add New Comment To Comment\") : getTranslation(lang, \"Add New Comment\")} </span>\n                        <button className=\"closeBtnWrapper\" title={getTranslation(lang, \"Close\")} onClick={e => alertBeforeClosing()}>\n                            <span className=\"closeIcon\" />\n                            <span>{getTranslation(lang, \"Close\")}</span>\n                        </button>\n                    </div>\n                    {showAlert && <div className=\"commentSentMessageWrapepr alertMessage\">\n                        <div className=\"alertText\"><span>{`${getTranslation(lang, \"Warning\")}`}</span></div>\n                        <div className=\"successfullySentText\"><span>{`${getTranslation(lang, \"This Action Will Delete You Comment\")}`}</span></div>\n                        <div className=\"bottomPanel\">\n                            <button className=\"closeText\" title={getTranslation(lang, \"Confirm\")} onClick={this.onConfirmAlertBtnPress}><span>{getTranslation(lang, \"Confirm\")}</span></button>\n                            <button className=\"closeText\" title={getTranslation(lang, \"Cancel\")} onClick={e => closeAlert()}><span>{getTranslation(lang, \"Cancel\")}</span></button>\n                        </div>\n                    </div>}\n                    <div className=\"userDetailsInputs\">\n                        <input className=\"userDetailsInput\" maxLength={20} value={name} placeholder={getTranslation(lang, \"Name\")} onChange={(e) => onInputChanged(e, \"name\")} />\n                        <input className=\"userDetailsInput\" maxLength={35} value={email} placeholder={getTranslation(lang, \"Email Talckbacks Placeholder\")} onChange={(e) => onInputChanged(e, \"email\")} />\n                        <input className=\"userDetailsInput\" maxLength={20} value={location} placeholder={getTranslation(lang, \"Location\")} onChange={(e) => onInputChanged(e, \"location\")} />\n                    </div>\n                    <div className=\"commentInputs\">\n                        <input type=\"text\" maxLength={60} className=\"title\" value={title} placeholder={getTranslation(lang, \"Title\")} onChange={(e) => onInputChanged(e, \"title\")} />\n                        <textarea type=\"text\" maxLength={4000} className=\"comment\" value={comment} placeholder={getTranslation(lang, \"Content\")} onChange={(e) => onInputChanged(e, \"comment\")}></textarea>\n                    </div>\n                    <div className=\"bottomPanel\">\n                        <div className=\"bottomPanelRow\">\n                            <div className=\"termsOfService\">\n                                {getTranslation(lang, \"The commenter agrees to the privacy policy and agrees not to submit comments that violate the\")}\n                                <a href={this.getTermsLinkByLang()} target=\"_blank\" title={getTranslation(lang, \"terms of use\")}>{getTranslation(lang, \"terms of use\")}</a>\n                                {getTranslation(lang, \", including incitement, libel and expressions that exceed the accepted norms of freedom of speech.\")}\n                            </div>\n                        </div>\n                        <div className=\"bottomPanelRow\">\n                            <button className=\"sendBtn\" id=\"addCommentSendButton\" title={getTranslation(lang, \"Post Comment\")} onClick={e => handleCommentSend()}>\n                                <span className=\"textDoubleBubleIcon\" />\n                                <span>{getTranslation(lang, \"Post Comment\")}</span>\n                            </button>\n                        </div>\n                    </div>\n                </div>}\n\n                {isSent && <div className=\"commentSentMessageWrapepr\">\n                    <div className=\"successfullySentText\"><span>{getTranslation(lang, \"Thank You\")},</span></div>\n                    <div className=\"successfullySentText\"><span>{getTranslation(lang, \"Comment Sent Confirmation Message\")}</span></div>\n                    <div className=\"bottomPanel\">\n                        <a href=\"/\" aria-label={getTranslation(lang, \"Main Page\")}><div className={`siteLogo ${lang}`} /></a>\n                        <button className=\"closeText\" title={getTranslation(lang, \"Close(Order Male)\")} onClick={this.onConfirmAlertBtnPress}><span>{getTranslation(lang, \"Close(Order Male)\")}</span></button>\n                    </div>\n                </div>}\n            </div>\n        )\n\n    }\n}","var Cookies = require('js-cookie');\nimport * as ApiUrls from \"config/apiUrls\"\nimport * as axios from \"axios\"\nimport { ArticleCommentData, CommentFormType } from \"./interfaces\"\n\nexport interface ArticleCommentRenderProps {\n    lang: string\n    comment: ArticleCommentData\n    isExpanded: boolean\n    vote: VoteType\n    talkback_like: number\n    likes: number\n    unlikes: number\n    commentFormType: CommentFormType\n    isAddCommentFormVisible: boolean\n    articleId: string\n    isAllCommentsPopupVisable: boolean\n    toggleOpenedState: () => void\n    handleVoteButtonsClick: (userVoteValue: boolean, voteType: TalkbackVoteType) => void\n    handleCloseCommentForm: () => void\n    handleFormVisibility: (formType: CommentFormType) => void\n    handleCommentsPopupClose: () => void\n\n}\n\nexport type ArticleCommentRender = (\n    props: ArticleCommentRenderProps\n) => React.ReactElement<any>\n\ninterface ArticleCommentWrapperProps {\n    lang: string\n    IdOfLastTalkbackExpandedByUser: number\n    isAutoExpanded: boolean\n    articleId: string\n    comment: ArticleCommentData\n    render: ArticleCommentRender\n    handleUpdateArticleCommentsStorageState: (talkbackId, allCommentsExpanded?) => void\n    isFirma: boolean\n    isFirmaMobileWeb: boolean\n    handleCommentsPopupClose: () => void\n    isAllCommentsPopupVisable: boolean\n}\n\ntype VoteType = 1 | 0 | -1;\ntype TalkbackVoteType = \"3state\" | \"2state\";\n\ninterface ArticleCommentWrapperState {\n    isExpanded: boolean\n    isAddCommentFormVisible: boolean\n    commentFormType: CommentFormType\n    vote: VoteType\n    talkback_like: number\n    likes: number\n    unlikes: number\n}\n\nexport class ArticleCommentWrapper extends React.Component<ArticleCommentWrapperProps, ArticleCommentWrapperState>{\n    constructor(props: ArticleCommentWrapperProps) {\n        super(props as ArticleCommentWrapperProps)\n        const { comment } = props\n        let vote: VoteType = 0;\n        if (window && comment && comment.id) {\n            const voteStr = Cookies.get(`talkback_${comment.id}`);\n            switch (voteStr) {\n                case \"True\":\n                    vote = 1;\n                    break;\n                case \"False\":\n                    vote = -1;\n                    break;\n                default:\n                    vote = 0;\n            }\n        }\n        this.state = {\n            isExpanded: false,\n            isAddCommentFormVisible: false,\n            commentFormType: null,\n            vote,\n            talkback_like: comment.talkback_like,\n            likes: comment.likes,\n            unlikes: comment.unlikes\n        }\n    }\n\n    private toggleOpenedState = (): void => {\n        const { isExpanded } = this.state\n        const { isAutoExpanded, handleUpdateArticleCommentsStorageState, comment: { id }, isFirma, isFirmaMobileWeb } = this.props\n        if (isAutoExpanded) { return }\n        this.setState((pState) => {\n            return {\n                isExpanded: !pState.isExpanded,\n                isAddCommentFormVisible: isExpanded && !isFirma && !isFirmaMobileWeb\n            }\n        }, () => handleUpdateArticleCommentsStorageState(id));\n    }\n\n    private handleFormVisibility = (formType: CommentFormType = null): void => {\n        this.setState((pState) => {\n            return {\n                isAddCommentFormVisible: !pState.isAddCommentFormVisible,\n                commentFormType: formType\n            }\n        });\n    }\n    private handleCloseCommentForm = (): void => {\n        this.setState({ isAddCommentFormVisible: false });\n    }\n\n    componentWillMount() {\n        const { isAutoExpanded, IdOfLastTalkbackExpandedByUser, comment: { id } } = this.props\n        this.setState({ isExpanded: (IdOfLastTalkbackExpandedByUser === id) || isAutoExpanded })\n    }\n\n    componentWillReceiveProps(nextProps: ArticleCommentWrapperProps): void {\n        this.setState({ isExpanded: nextProps.isAutoExpanded })\n    }\n\n    private handleVoteButtonsClick = (userVoteValue: boolean, voteType: TalkbackVoteType): void => {\n        const { vote } = this.state\n        const { articleId, comment: { id } } = this.props\n\n\n        const voteApiUrl = `/iphone/json/api/talkbacks/vote`\n        const votePostData = {\n            \"article_id\": articleId,\n            \"talkback_id\": id,\n            \"talkback_like\": userVoteValue,\n            \"talkback_unlike\": !userVoteValue,\n            \"vote_type\": voteType\n        }\n\n        if (userVoteValue) {\n            switch (vote) {\n                // case 1 = if the user already liked - set vote to 0 and unlike the vote\n                case 1:\n                    this.setState((pState) => {\n                        return { vote: 0, likes: pState.likes - 1 }\n                    })\n                    votePostData.talkback_like = false\n                    votePostData.talkback_unlike = true\n                    axios.post(voteApiUrl, votePostData)\n                    break;\n\n                case 0:\n                    this.setState((pState) => {\n                        return { vote: 1, likes: pState.likes + 1, talkback_like: pState.talkback_like + 1 }\n                    })\n                    axios.post(voteApiUrl, votePostData)\n                    break;\n\n                case -1:\n                    if (voteType === \"3state\") {\n                        this.setState((pState) => {\n                            return { vote: 1, unlikes: pState.unlikes - 1, likes: pState.likes + 1 }\n                        })\n                        votePostData.talkback_like = true\n                        votePostData.talkback_unlike = true\n                    }\n                    else {\n                        this.setState((pState) => {\n                            return { vote: 0, talkback_like: pState.talkback_like + 1 }\n                        })\n                    }\n                    axios.post(voteApiUrl, votePostData)\n                    break;\n            }\n        }\n        else {\n            switch (vote) {\n                // case -1 = if the user already unliked - set vote to 0 and like the vote\n                case -1:\n                    this.setState((pState) => {\n                        return { vote: 0, unlikes: pState.unlikes - 1 }\n                    })\n                    votePostData.talkback_like = true\n                    votePostData.talkback_unlike = false\n                    axios.post(voteApiUrl, votePostData)\n                    break;\n\n                case 0:\n                    this.setState((pState) => {\n                        return { vote: -1, unlikes: pState.unlikes + 1, talkback_like: pState.talkback_like - 1 }\n                    })\n                    axios.post(voteApiUrl, votePostData)\n                    break;\n\n                case 1:\n                    if (voteType === \"3state\") {\n                        this.setState((pState) => {\n                            return { vote: -1, likes: pState.likes - 1, unlikes: pState.unlikes + 1 }\n                        })\n                        votePostData.talkback_like = false\n                        votePostData.talkback_unlike = false\n                    }\n                    else {\n                        this.setState((pState) => {\n                            return { vote: 0, talkback_like: pState.talkback_like - 1 }\n                        })\n                    }\n                    axios.post(voteApiUrl, votePostData)\n                    break;\n            }\n        }\n    }\n\n    render() {\n        const { isExpanded, isAddCommentFormVisible, commentFormType, vote, talkback_like, likes, unlikes } = this.state\n        const { articleId, lang, comment, handleCommentsPopupClose, isAllCommentsPopupVisable } = this.props\n        return (\n\n            this.props.render({\n                lang,\n                comment,\n                isExpanded,\n                vote,\n                talkback_like,\n                likes,\n                unlikes,\n                articleId,\n                commentFormType,\n                isAddCommentFormVisible,\n                toggleOpenedState: this.toggleOpenedState,\n                handleVoteButtonsClick: this.handleVoteButtonsClick,\n                handleFormVisibility: this.handleFormVisibility,\n                handleCloseCommentForm: this.handleCloseCommentForm,\n                handleCommentsPopupClose,\n                isAllCommentsPopupVisable\n            })\n\n        )\n    }\n}","import * as classNames from \"classnames\"\nimport { ArticleCommentRenderProps } from \"./articleCommentWrapper\"\nimport { getTranslation } from \"./translations\"\nimport { AddCommentFormYnetUI } from \"./addCommentFormYnetUI\"\nimport { AddCommentFormWrapper, AddCommentFormRenderProps } from \"./addCommentFormWrapper\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nrequire('./site_ynet_articleCommentYnetUi.less')\nexport interface ArticleCommentYnetUiProps {\n    props: ArticleCommentRenderProps\n}\n\nexport class ArticleCommentYnetUi extends React.Component<ArticleCommentYnetUiProps, {}>{\n    render() {\n        const { lang, isExpanded, vote, talkback_like, toggleOpenedState, commentFormType, articleId,\n            isAddCommentFormVisible, handleVoteButtonsClick, handleFormVisibility, handleCloseCommentForm,\n            comment: {\n                id,\n                number,\n                title,\n                text,\n                author,\n                pubDate,\n                level,\n                recommended,\n                authorLocation,\n                talkback_source,\n            } } = this.props.props\n\n        //const articlePublishDate = pubDate.split(\"T\")[0].split(\"-\").reverse().join(\".\")\n        const articlePublishDate = separateHourFromDateAndFormatToString(pubDate, { showHour: false })\n\n        const expandedCommentClasses = classNames({\n            \"ArticleComment\": true,\n            \"expanded\": isExpanded,\n        });\n\n        const arrowsClasses = classNames({\n            \"level2Arrow\": true,\n            \"arrowDown\": isExpanded,\n        });\n\n        const likeClasses = classNames({\n            \"like\": true,\n            \"btnWithOpacity\": vote === 1,\n        });\n\n        const likesCounter = classNames({\n            \"likesCounter\": true,\n            \"likesPositive\": talkback_like >= 0,\n            \"likesNegative\": talkback_like < 0,\n        });\n\n        const dislikeClasses = classNames({\n            \"dislike\": true,\n            \"btnWithOpacity\": vote === -1,\n        });\n\n        const commentTitleClasses = classNames({\n            \"commentTitle\": true,\n            \"redTitleText\": recommended && !isExpanded,\n        });\n\n        return (\n            <div id=\"articleComments\" className={expandedCommentClasses}>\n                <div className=\"topView\" onClick={(e) => toggleOpenedState()}>\n                    <div className={commentTitleClasses}>\n                        {level === 1 && <span>{number}. </span>}\n                        {level === 2 && <span className={arrowsClasses}></span>}\n                        <span>{title}</span>\n                        {text.length === 0 && <span>{getTranslation(lang, \"Empty Content\")}</span>}\n                    </div>\n                    <div className=\"authorDetails\">\n                        {author !== \"\" ? <span>  {`${author}, `}   </span> : null}\n                        {authorLocation !== \"\" ? <span>  {`${authorLocation}, `} </span> : null}\n                        <span> ({`${articlePublishDate}${talkback_source ? \" , \" + talkback_source : \"\"}`})</span>\n                    </div>\n                </div>\n\n                {isExpanded &&\n                    <div className=\"expandedView \">\n                        <div className=\"commentText\">{text}</div>\n                        <div className=\"spacer\"></div>\n                        <div className=\"bottomButtonsWrapper\">\n                            <div className=\"newCommentButtonsWrapper\">\n                                <button className=\"newCommentBtn\" title={getTranslation(lang, \"New Comment\")} disabled={isAddCommentFormVisible} onClick={e => handleFormVisibility(\"NEW\")}>\n                                    <span className=\"textBubleIcon\" />\n                                    <span>  {getTranslation(lang, \"New Comment\")}</span>\n                                </button>\n                                <button className=\"commentToComent\" title={getTranslation(lang, \"Comment To Coment\")} disabled={isAddCommentFormVisible}\n                                    onClick={e => handleFormVisibility(\"REPLY\")}>\n                                    <span className=\"textDoubleBubleIcon\" />\n                                    <span> {getTranslation(lang, \"Comment To Coment\")}</span>\n                                </button>\n                            </div>\n                            <div className=\"voteButtonsWrapper\">\n                                <button className={likeClasses} aria-label=\"like comment\" onClick={(e) => handleVoteButtonsClick(true, \"2state\")} />\n                                <button className={dislikeClasses} aria-label=\"dislike comment\" onClick={(e) => handleVoteButtonsClick(false, \"2state\")} />\n                                <button className={likesCounter}>{talkback_like}</button>\n                            </div>\n                        </div>\n\n                        <AddCommentFormWrapper\n                            render={(props: AddCommentFormRenderProps) => <AddCommentFormYnetUI props={props} />}\n                            lang={lang}\n                            articleId={articleId}\n                            formType={commentFormType}\n                            handleCloseCommentForm={handleCloseCommentForm}\n                            parentTalkbackId={id}\n                            isAddCommentFormVisible={isAddCommentFormVisible}\n                        />\n\n                    </div>\n                }\n\n            </div>)\n    }\n}","import { SortingOptions, CommentFormType } from \"./interfaces\"\n\n\nexport interface ArticleCommentsTopTabRenderProps {\n    lang: string\n    isLtr: boolean\n    numOfComments: number\n    numOfDiscussions: number\n    sortSelection: SortingOptions\n    areAllCommentsExpanded: boolean\n    isAddCommentFormVisible: boolean\n    expandAllComments: (shouldExpandComments: boolean) => void\n    handleFormVisibility: () => void\n    handleSortSelection: (e: any) => void\n    handleCommentsPopupVisibility: () => void\n}\n\nexport type ArticleCommentsTopTabRender = (\n    props: ArticleCommentsTopTabRenderProps\n) => React.ReactElement<any>\n\ninterface ArticleCommentsTopTabWrapperProps {\n    render: ArticleCommentsTopTabRender\n    lang: string\n    isLtr: boolean\n    numOfComments: number\n    numOfDiscussions: number\n    sortSelection: SortingOptions\n    areAllCommentsExpanded: boolean\n    isAddCommentFormVisible: boolean\n    expandAllComments: (shouldExpandComments: boolean) => void\n    handleFormVisibility: () => void\n    handleSortSelection: (e: any) => void\n    handleCommentsPopupVisibility: () => void\n}\n\nexport class ArticleCommentsTopTabWrapper extends React.Component<ArticleCommentsTopTabWrapperProps, {}>{\n\n    render() {\n        const { lang, isLtr, numOfComments, numOfDiscussions, sortSelection, areAllCommentsExpanded,\n            isAddCommentFormVisible, expandAllComments, handleFormVisibility, handleSortSelection, handleCommentsPopupVisibility } = this.props\n        return (\n            <div>\n                {this.props.render({\n                    lang,\n                    isLtr,\n                    numOfComments,\n                    numOfDiscussions,\n                    sortSelection,\n                    areAllCommentsExpanded,\n                    isAddCommentFormVisible,\n                    expandAllComments,\n                    handleFormVisibility,\n                    handleSortSelection,\n                    handleCommentsPopupVisibility\n                })}\n            </div>\n        )\n    }\n}","import { ArticleCommentsTopTabRenderProps } from \"./articleCommentsTopTabWrapper\"\nimport { getTranslation } from \"./translations\"\nrequire('./site_ynet_articleCommentsTopTabYnetUi.less')\nexport interface ArticleCommentsTopTabYnetUiProps {\n    props: ArticleCommentsTopTabRenderProps\n}\n\nexport class ArticleCommentsTopTabYnetUi extends React.Component<ArticleCommentsTopTabYnetUiProps, {}>{\n\n    render() {\n        const { lang, isLtr, numOfComments, numOfDiscussions, sortSelection, areAllCommentsExpanded, isAddCommentFormVisible,\n            expandAllComments, handleFormVisibility, handleSortSelection } = this.props.props\n        let commentNumStyle = isLtr ? { marginRight: \"5px\" } : {}\n        const buttonTitle = areAllCommentsExpanded ? getTranslation(lang, \"Close All Comments\") : getTranslation(lang, \"Open All Comments\")\n\n        return (\n            <div className=\"ArticleCommentsTopTabYnetUi\">\n                <div className=\"tab\">\n                    {numOfComments === 1 &&\n                        <div className=\"tabTextWraper\">\n                            <span>{getTranslation(lang, \"This Article Has One Comment\")}</span>\n                        </div>}\n\n                    {numOfComments !== 1 &&\n                        <div className={`tabTextWraper ${lang}`}>\n                            <span>{getTranslation(lang, \"This Article Has \")} </span>\n                            <span style={commentNumStyle}>{` ${numOfComments} `} </span>\n                            <span>{`${getTranslation(lang, \"Comments In\")}`}</span>\n                            <span>{!isLtr && `${numOfDiscussions} `}</span>\n                            <span>{!isLtr && getTranslation(lang, \"Discussions\")}</span>\n                        </div>}\n                    {((sortSelection === \"end_to_start\" || sortSelection === \"start_to_end\")) && numOfComments > 0 &&\n                        <button className=\"expandAllCommentsBtn \" title={buttonTitle} onClick={e => expandAllComments(!areAllCommentsExpanded)}>\n                            <span> {buttonTitle}</span>\n                        </button>}\n                </div>\n\n                <div className=\"topPanel\">\n                    <button className=\"newCommentBtn\"\n                        title={getTranslation(lang, \"New Comment\")}\n                        disabled={isAddCommentFormVisible} onClick={(e) => handleFormVisibility()}>\n                        <span className=\"textBubleIcon\" />\n                        <span>{getTranslation(lang, \"New Comment\")}</span>\n                    </button>\n\n                    {numOfComments > 0 &&\n                        <div className=\"sortOptions\">\n                            <span className=\"selectLabel\">{`${getTranslation(lang, \"Present\")}`}</span>\n                            <select className=\"sortSelect\" defaultValue={sortSelection} onChange={handleSortSelection}>\n                                <option value=\"end_to_start\">{getTranslation(lang, \"End To Start\")}</option>\n                                {numOfComments > 1 && <option value=\"start_to_end\">{getTranslation(lang, \"Start To End\")}</option>}\n                                {numOfComments > 2 && <option value=\"recommended\">{getTranslation(lang, \"Recommended\")}</option>}\n                                {numOfComments > 2 && <option value=\"interest\">{getTranslation(lang, \"Interest\")}</option>}\n                            </select>\n                        </div>}\n                </div>\n            </div>\n        )\n    }\n}","import * as axios from \"axios\";\nimport { SpotimScriptInjector } from \"./spotimScriptInjector\";\nimport { toggleSpotImPopUp } from \"../articleSocialShare1280Component/articleSocialShareNew1280\";\n\ninterface BlogsSpotimScriptInjectorProps {\n    spotimTalkbackCount?: string;\n    isPopUp?: boolean;\n    isFirmaApp?: boolean;\n    isMobileWeb?: boolean;\n    isApp?: boolean;\n}\n\ninterface BlogsSpotimScriptInjectorState {\n    currentPostId: string;\n  \n}\n\n\nexport class BlogsSpotimScriptInjector extends React.Component<\n    BlogsSpotimScriptInjectorProps,\n    BlogsSpotimScriptInjectorState\n> {\n    public static siteScriptName = \"BlogsSpotimScriptInjector\";\n    constructor(props: BlogsSpotimScriptInjectorProps) {\n        super(props);\n        this.state = {\n            currentPostId: \"\",\n           \n        };\n    }\n\n    private clickListeners = [];\n\n    componentDidMount() {\n        this.renderCommentCounters();\n    }\n\n    componentWillUnmount() {\n        this.removeCommentsClickListener();\n    }\n\n    private handleCommentsClick = (commentsPopUp) => {\n        const { currentPostId } = this.state;\n        if (!this.props.isApp) {\n            toggleSpotImPopUp(commentsPopUp);          \n        }\n    }\n\n    private renderCommentCounters = () => {\n        const spotimBlogsCmtCounters = document.querySelectorAll(\n            `.social-icon.tb[data-post-id]`\n        );\n        if (spotimBlogsCmtCounters.length > 0) {\n            let postsIds = [] as string[];\n            spotimBlogsCmtCounters.forEach((element) => {\n                const postId = element.getAttribute(\"data-post-id\");\n                postsIds.push(postId);\n            });\n\n            axios\n                .get(\n                    `https://open-api.spot.im/v1/messages-count?spot_id=sp_AJXaDckj&posts_ids=${postsIds.join(\n                        \",\"\n                    )}`\n                )\n                .then((res: any) => {\n                    spotimBlogsCmtCounters.forEach((element) => {\n                        const postId = element.getAttribute(\"data-post-id\");\n                        const spotimCmtCounter: HTMLElement =\n                            element.querySelector(\".spotim-comments-count\");\n                        const zeroComment = \"הוספת תגובה\";\n                        const severalComments = `${res.data.messages_count[postId]} תגובות`;\n                        const text =\n                            res.data.messages_count[postId] === 0 || !res.data.messages_count[postId]\n                                ? zeroComment\n                                : severalComments;\n                        spotimCmtCounter.innerText = text; \n                        console.log(\"spotimCmtCounter\", spotimCmtCounter);\n                        const listener = () => {                            \n                            const currentPostId =\n                                element.getAttribute(\"data-post-id\");\n                            this.setState({ currentPostId }, () => {\n                                const commentsPopUp =\n                                    document.querySelector(\".spotimWrapper\");\n                                    this.handleCommentsClick(commentsPopUp)\n                                \n                            });\n                        };\n                        element.addEventListener(\"click\", listener);\n                    });\n                })\n                .catch((err) =>\n                    console.error(\"error geting ticker data:\", err)\n                );\n        }\n    };\n\n    private removeCommentsClickListener = () => {\n        const blogsSpotimElements = document.querySelectorAll(\n            \".social-icon.tb[data-spot-id]\"\n        );\n        blogsSpotimElements.forEach((element, index) => {\n            const listener = this.clickListeners[index];\n            console.log(\"listener\", listener);\n            if (listener) {\n                element.removeEventListener(\"click\", listener);\n            }\n        });\n        this.clickListeners = [];\n    };\n\n    render() {\n        const { currentPostId } = this.state;\n\n        return (\n            <SpotimScriptInjector\n                {...this.props}\n                articleId={currentPostId}\n                key={currentPostId}\n                isFirmaApp={this.props.isApp}\n                className=\"spotimWrapper articleBlogsSpotimWrapper\"\n            />\n        );\n    }\n}\n","\nrequire(\"./calcalist_site_addCommentFormUI.less\")\nimport * as classNames from \"classnames\"\nimport { AddCommentFormRenderProps } from \"../addCommentFormWrapper\"\nimport { getTranslation } from \"../translations\"\ninterface PremiumAddCommentFormProps {\n    props: Partial<AddCommentFormRenderProps>\n}\n\nexport class CalcalistAddCommentFormUI extends React.Component<PremiumAddCommentFormProps, {}>{\n\n    private onConfirmAlertBtnPress = () => {\n        const { closeAlert, resetFormData, handleCloseCommentForm } = this.props.props\n        closeAlert()\n        handleCloseCommentForm()\n        resetFormData()\n    }\n\n    render() {\n        const { isAddCommentFormVisible, isSent, title, name, email, comment, showAlert, formType, lang,\n            alertBeforeClosing, handleCloseCommentForm, closeAlert, onInputChanged, handleCommentSend } = this.props.props\n        const AddCommentFormClasses = classNames({\n            \"CalcalistAddCommentFormUI\": true,\n            \"fadeIn\": isAddCommentFormVisible,\n            \"hide\": !isAddCommentFormVisible,\n        })\n\n        return (\n            <div className={AddCommentFormClasses}>\n                <div className=\"AddCommentForm\" >\n                    {!isSent &&\n                        <div className=\"AddCommentFormContainer\">\n                            <div className=\"topTitleWrapper\">\n                                <span className=\"formTitle\"> {formType === \"REPLY\" ? getTranslation(lang, \"Add New Comment To Comment\") : getTranslation(lang, \"Add New Comment\")} </span>\n                                <button className=\"closeBtnWrapper\" title={getTranslation(lang, \"Close(Order Male)\")} onClick={e => alertBeforeClosing()}>\n                                    <span className=\"closeIcon\" />\n                                    <span>{getTranslation(lang, \"Close\")}</span>\n                                </button>\n                            </div>\n                            {showAlert && <div className=\"commentSentMessageWrapepr alertMessage\">\n                                <div className=\"alertText\"><span>{`${getTranslation(lang, \"Warning\")}`}</span></div>\n                                <div className=\"successfullySentText\"><span>{`${getTranslation(lang, \"This Action Will Delete You Comment\")}`}</span></div>\n                                <div className=\"bottomPanel\">\n                                    <button className=\"closeText\" title={getTranslation(lang, \"Confirm\")} onClick={this.onConfirmAlertBtnPress}><span>{getTranslation(lang, \"Confirm\")}</span></button>\n                                    <button className=\"closeText\" title={getTranslation(lang, \"Cancel\")} onClick={e => closeAlert()}><span>{getTranslation(lang, \"Cancel\")}</span></button>\n                                </div>\n                            </div>}\n                            <div className=\"userDetailsInputs\">\n                                <input className=\"userDetailsInput inputStyle\" maxLength={20} value={name} placeholder={getTranslation(lang, \"Name\")} onChange={(e) => onInputChanged(e, \"name\")} />\n                                <input className=\"userDetailsInput inputStyle\" maxLength={35} value={email} placeholder={getTranslation(lang, \"Email\")} onChange={(e) => onInputChanged(e, \"email\")} />\n                            </div>\n                            <div className=\"commentInputs\">\n                                <input className=\"title inputStyle\" type=\"text\" maxLength={60} value={title} placeholder={getTranslation(lang, \"Title\")} onChange={(e) => onInputChanged(e, \"title\")} />\n                                <textarea className=\"comment inputStyle\" type=\"text\" maxLength={4000} value={comment} placeholder={getTranslation(lang, \"Comment Content\")} onChange={(e) => onInputChanged(e, \"comment\")}></textarea>\n                            </div>\n                            <div className=\"bottomPanel\">\n                                <div className=\"termsOfService\">\n                                    {\" אין לשלוח תגובות הכוללות מידע המפר את\"}\n                                <a href=\"//z.calcalist.co.il/mvc/long/2018/OrganizationalStructure/About/Terms.html\" target=\"_blank\" title={getTranslation(lang, \"terms of use\")} style={{ margin: \"auto 5px\" }} >תנאי השימוש של כלכליסט</a>\n                                    {\" לרבות דברי הסתה, דיבה וסגנון החורג מהטעם הטוב.\"}\n                                </div>\n                                <div className=\"bottomPanelRow\">\n                                    <button className=\"sendBtn\" id=\"addCommentSendButton\" title={getTranslation(lang, \"Post Comment\")} onClick={e => handleCommentSend()}>\n                                        <span>{getTranslation(lang, \"Post Comment\")}</span>\n                                    </button>\n                                </div>\n                            </div>\n                        </div>}\n\n                    {isSent && <div className=\"commentSentMessageWrapepr\">\n                        <div className=\"thankYouWrapper\">\n                            <div className=\"thankYou\"><span>{getTranslation(lang, \"Thank You\")},</span></div>\n                            <button className=\"closeTextWrapper\" title={getTranslation(lang, \"Close(Order Male)\")} onClick={this.onConfirmAlertBtnPress}>\n                                <span className=\"closeIcon\" />\n                                <span className=\"closeTextLabel\" >{getTranslation(lang, \"Close(Order Male)\")}</span>\n                            </button>\n                        </div>\n                        <div className=\"successfullySentText\">\n                            <span>{getTranslation(lang, \"Comment Sent Confirmation Message\")}</span>\n                        </div>\n                    </div>}\n                </div>\n\n            </div>\n        )\n    }\n}","require(\"./calcalist_site_articleCommentUI.less\")\nimport * as classNames from \"classnames\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { ArticleCommentRenderProps } from \"../articleCommentWrapper\"\nimport { getTranslation } from \"../translations\"\nimport { CalcalistAddCommentFormUI } from \"./calcalistAddCommentFormUI\"\nimport { AddCommentFormRenderProps, AddCommentFormWrapper } from \"../addCommentFormWrapper\"\n\n\ninterface PremiumArticleCommentUIProps {\n    props: ArticleCommentRenderProps\n}\n\nexport class CalcalistArticleCommentUI extends React.Component<PremiumArticleCommentUIProps, {}>{\n\n\n    render() {\n        const { lang, isExpanded, vote, talkback_like, likes, unlikes, toggleOpenedState, commentFormType, articleId,\n            isAddCommentFormVisible, handleVoteButtonsClick, handleFormVisibility, handleCloseCommentForm,\n            comment: {\n                id,\n                number,\n                title,\n                text,\n                author,\n                pubDate,\n                level,\n                recommended,\n                talkback_source,\n            } } = this.props.props\n\n        const articlePublishDate = separateHourFromDateAndFormatToString(pubDate, { showHour: false, dateTimeSeperator: \"|\" })\n        const expandedCommentClasses = classNames({\n            \"ArticleComment\": true,\n            \"expanded\": isExpanded,\n            \"level1\": level === 1,\n            \"level2\": level === 2,\n        })\n\n        const likeClasses = classNames({\n            \"likeSvg\": true,\n            \"likePressed\": vote === 1,\n        })\n\n\n        const dislikeClasses = classNames({\n            \"dislikeSvg\": true,\n            \"dislikePressed\": vote === -1,\n        })\n\n        const commentTitleClasses = classNames({\n            \"commentTitle\": true,\n            \"redTitleText\": recommended && !isExpanded,\n        })\n        const commentTextStyles = classNames({\n            \"commentText\": true,\n            \"level1\": level === 1,\n            \"level2\": level === 2,\n        })\n        const extendedBottomWrapperStyles = classNames({\n            \"bottomButtonsWrapper\": true,\n            \"level1\": level === 1,\n            \"level2\": level === 2,\n        })\n\n\n\n        const positiveLikes = likes < 0 ? 0 : likes\n        const positiveUnlikes = unlikes < 0 ? 0 : unlikes\n        return (\n            <div id=\"CalcalistArticleComment\" className={expandedCommentClasses}>\n                <div className=\"topView\" onClick={toggleOpenedState}>\n                    {level === 1 && <div className=\"commentNum\">{number}.</div>}\n                    {level === 2 && <div className=\"level2ArrowContainer\"><span className=\"level2Arrow\" /></div>}\n                    <div className=\"topLeftView\">\n                        <div className={commentTitleClasses}>\n                            <span>{title}</span>\n                            {text.length === 0 && <span>{getTranslation(lang, \"Empty Content\")}</span>}\n                        </div>\n                        <div className=\"commentDetailsWrapper\">\n                            <div className=\"details\">\n                                {author !== \"\" ? <span className=\"author\">{`${author}`} </span> : null}\n                                <span className=\"publishDate\">({`${articlePublishDate}${talkback_source ? \" , \" + talkback_source : \"\"}`})</span>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n\n                {isExpanded &&\n                    <div className=\"expandedView \">\n                        <div className={commentTextStyles}>{text}</div>\n                        <div className={extendedBottomWrapperStyles}>\n                            <div className=\"newCommentButtonsWrapper\">\n                                <button\n                                    className=\"commentBtn new\"\n                                    title=\"תגובה חדשה\"\n                                    disabled={isAddCommentFormVisible}\n                                    onClick={e => handleFormVisibility(\"NEW\")}>\n                                    <span className=\"icon-comment\" />\n                                    <span>תגובה חדשה</span>\n                                </button>\n                                <button className=\"commentBtn reply\" title={getTranslation(lang, \"Comment To Coment\")} disabled={isAddCommentFormVisible}\n                                    onClick={e => handleFormVisibility(\"REPLY\")}>\n                                    <span className=\"icon-comment-to-comment\" />\n                                    <span> {getTranslation(lang, \"Comment To Coment\")}</span>\n                                </button>\n                            </div>\n\n                            <div className=\"voteButtonsWrapper\">\n                                <span className=\"likesCounter\">{positiveLikes}</span>\n                                <svg\n                                    className={likeClasses}\n                                    onClick={(e) => handleVoteButtonsClick(true, \"3state\")}\n                                    xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 19.24 18\">\n                                    <g id=\"like\" transform=\"translate(-31 -21.684)\">\n                                        <g id=\"Group_184\" data-name=\"Group 184\" transform=\"translate(31 21.684)\">\n                                            <g id=\"Group_183\" data-name=\"Group 183\">\n                                                <path id=\"Path_14\" d=\"M49.749 100.663a1.923 1.923 0 0 0-1.433-3.207h-3.734a12.435 12.435 0 0 0 .528-3.25v-.641A2.568 2.568 0 0 0 42.544 91H41.9a.641.641 0 0 0-.622.486l-.349 1.4c-.49 1.957-2.044 4.117-3.652 4.509a1.927 1.927 0 0 0-1.79-1.219h-3.846a.642.642 0 0 0-.641.641v11.544a.642.642 0 0 0 .641.641h3.848a1.926 1.926 0 0 0 1.737-1.1l2.2.735a7.039 7.039 0 0 0 2.231.362h5.373a1.925 1.925 0 0 0 1.789-2.633 1.923 1.923 0 0 0 .927-3.139 1.92 1.92 0 0 0 0-2.565zm-13.618 6.413a.642.642 0 0 1-.641.641h-3.207V97.456h3.207a.642.642 0 0 1 .641.641zm10.9-5.772h1.283a.641.641 0 0 1 0 1.283h-1.281a.641.641 0 0 0 0 1.283h1.283a.641.641 0 0 1 0 1.283h-1.283a.641.641 0 0 0 0 1.283.641.641 0 0 1 0 1.283h-5.372a5.76 5.76 0 0 1-1.826-.3l-2.422-.807v-7.934a5.168 5.168 0 0 0 2.88-1.871 9.358 9.358 0 0 0 1.883-3.612l.228-.912h.141a1.284 1.284 0 0 1 1.283 1.283v.641a10.148 10.148 0 0 1-.614 3.25H41.9a.641.641 0 0 0 0 1.283h6.413a.641.641 0 0 1 0 1.283h-1.28a.641.641 0 0 0 0 1.283z\" className=\"like\" data-name=\"Path 14\" transform=\"translate(-31 -91)\" />\n                                            </g>\n                                        </g>\n                                    </g>\n                                </svg>\n\n\n                                <svg\n                                    className={dislikeClasses}\n                                    onClick={(e) => handleVoteButtonsClick(false, \"3state\")}\n                                    xmlns=\"http://www.w3.org/2000/svg\" id=\"like\" viewBox=\"0 0 19.24 18\">\n                                    <g id=\"Group_184\" data-name=\"Group 184\">\n                                        <g id=\"Group_183\" data-name=\"Group 183\">\n                                            <path id=\"Path_14\" d=\"M31.491 99.337a1.923 1.923 0 0 0 1.433 3.207h3.734a12.436 12.436 0 0 0-.528 3.25v.641A2.568 2.568 0 0 0 38.7 109h.641a.641.641 0 0 0 .622-.486l.349-1.4c.49-1.957 2.044-4.117 3.652-4.509a1.927 1.927 0 0 0 1.79 1.219H49.6a.642.642 0 0 0 .641-.641V91.641A.642.642 0 0 0 49.6 91h-3.849a1.926 1.926 0 0 0-1.737 1.1l-2.2-.735A7.039 7.039 0 0 0 39.579 91h-5.372a1.925 1.925 0 0 0-1.789 2.633 1.923 1.923 0 0 0-.927 3.139 1.92 1.92 0 0 0 0 2.565zm13.618-6.413a.642.642 0 0 1 .641-.641h3.207v10.261h-3.206a.642.642 0 0 1-.641-.641zM34.207 98.7h-1.283a.641.641 0 1 1 0-1.283h1.283a.641.641 0 0 0 0-1.283h-1.283a.641.641 0 0 1 0-1.283h1.283a.641.641 0 0 0 0-1.283.641.641 0 1 1 0-1.283h5.373a5.76 5.76 0 0 1 1.826.3l2.422.807v7.936a5.168 5.168 0 0 0-2.88 1.871 9.358 9.358 0 0 0-1.883 3.612l-.228.912H38.7a1.284 1.284 0 0 1-1.283-1.283v-.641a10.149 10.149 0 0 1 .614-3.25h1.31a.641.641 0 0 0 0-1.283h-6.417a.641.641 0 0 1 0-1.283h1.283a.641.641 0 0 0 0-1.283z\" className=\"cls-1\" data-name=\"Path 14\" transform=\"translate(-31 -91)\" />\n                                        </g>\n                                    </g>\n                                </svg>\n                                <span className=\"likesCounter unlikesCounter\">{positiveUnlikes}</span>\n                            </div>\n\n                        </div>\n                        <AddCommentFormWrapper\n                            render={(props: AddCommentFormRenderProps) => <CalcalistAddCommentFormUI props={props} />}\n                            lang={lang}\n                            articleId={articleId}\n                            formType={commentFormType}\n                            handleCloseCommentForm={handleCloseCommentForm}\n                            parentTalkbackId={id}\n                            isAddCommentFormVisible={isAddCommentFormVisible}\n                        />\n                    </div>\n                }\n\n            </div>)\n    }\n}","import { ArticleCommentsTopTabRenderProps } from \"../articleCommentsTopTabWrapper\"\nimport { getTranslation } from \"../translations\";\n\nrequire(\"./calcalist_site_commentsTabUI.less\")\n\ninterface PremiumArticleCommentsTopTabUIProps {\n    props: ArticleCommentsTopTabRenderProps\n}\n\nexport class CalcalistArticleCommentsTopTabUI extends React.Component<PremiumArticleCommentsTopTabUIProps, {}>{\n    private handleOnAddCommentBtnPress = (e) => {\n        const { handleFormVisibility } = this.props.props\n        handleFormVisibility()\n    }\n\n    render() {\n        const { lang, isLtr, numOfComments, numOfDiscussions, sortSelection, areAllCommentsExpanded, isAddCommentFormVisible,\n            expandAllComments, handleFormVisibility, handleSortSelection } = this.props.props\n        let commentNumStyle = isLtr ? { marginRight: \"5px\" } : {}\n        const buttonTitle = areAllCommentsExpanded ? \"סגירת כל התגובות\" : \"פתיחת כל התגובות\"\n        return (\n            <div className=\"CalcalistArticleCommentsTopTabUI\">\n                <div className=\"tab\">\n                    {numOfComments === 1 &&\n                        <div className=\"tabTextWraper\">\n                            <span>לכתבה זו פורסמה תגובה אחת</span>\n                        </div>}\n\n                    {numOfComments !== 1 &&\n                        <div className=\"tabTextWraper\">\n                            <span>לכתבה זו פורסמו </span>\n                            <span style={commentNumStyle}>{` ${numOfComments} `} </span>\n                            <span>תגובות ב </span>\n                            <span>{numOfDiscussions} </span>\n                            <span>דיונים</span>\n                        </div>}\n                    {((sortSelection === \"end_to_start\" || sortSelection === \"start_to_end\")) && numOfComments > 0 &&\n                        <button className=\"expandAllCommentsBtn \" title={buttonTitle} onClick={e => expandAllComments(!areAllCommentsExpanded)}>\n                            <span>>> {buttonTitle}</span>\n                        </button>}\n                </div>\n\n                <div className=\"topPanel\">\n                    <button\n                        key=\"newCommentBtn\"\n                        className=\"newCommentBtn\"\n                        title=\"תגובה חדשה\"\n                        disabled={isAddCommentFormVisible}\n                        onClick={this.handleOnAddCommentBtnPress}>\n                        <span className=\"icon-comment\" />\n                        <span>תגובה חדשה</span>\n                    </button>\n                    {numOfComments > 0 &&\n                        <div className=\"sortOptions\">\n                            <span className=\"selectLabel\">הצגת:</span>\n                            <div className=\"togglerWrapper\"  >\n                                <div className=\"toggler\" />\n                            </div>\n                            <select className=\"sortSelect\" defaultValue={sortSelection} onChange={handleSortSelection}>\n                                <option value=\"end_to_start\">{getTranslation(lang, \"End To Start\")}</option>\n                                {numOfComments > 1 && <option value=\"start_to_end\">{getTranslation(lang, \"Start To End\")}</option>}\n                                {numOfComments > 2 && <option value=\"recommended\">{getTranslation(lang, \"Recommended\")}</option>}\n                                {numOfComments > 2 && <option value=\"interest\">{getTranslation(lang, \"Interest\")}</option>}\n                            </select>\n                        </div>}\n                </div>\n            </div >\n        )\n    }\n}","import { ArticleCommentsTopTabRenderProps } from \"./articleCommentsTopTabWrapper\"\nimport { getTranslation } from \"./translations\"\nrequire(\"./pplus_magazine_magazine2025_ynet_site_grid1280ArticleCommentsTopTabUI.less\")\n\ninterface ArticleCommentsTopTabUIProps {\n    props: ArticleCommentsTopTabRenderProps\n}\n\nexport class Grid1280ArticleCommentsTopTabUI extends React.Component<ArticleCommentsTopTabUIProps, {}>{\n    private handleOnAddCommentBtnPress = (e) => {\n        const { handleFormVisibility } = this.props.props\n        handleFormVisibility()\n    }\n\n    render() {\n        const { lang, isLtr, numOfComments, numOfDiscussions, sortSelection, isAddCommentFormVisible, handleSortSelection } = this.props.props\n        let commentNumStyle = isLtr ? { marginRight: \"5px\" } : {}\n\n        return (\n            <div className=\"Grid1280ArticleCommentsTopTabUI\">\n                <div className=\"tab\">\n                    {numOfComments === 1 &&\n                        <div className=\"tabTextWraper\">\n                            <span>{getTranslation(lang, \"This Article Has One Comment\")}</span>\n                        </div>}\n\n                    {numOfComments !== 1 &&\n                        <div className=\"tabTextWraper\">\n                            <span>{getTranslation(lang, \"This Article Has \")} </span>\n                            <span style={commentNumStyle}>{` ${numOfComments} `} </span>\n                            <span>{`${getTranslation(lang, \"Comments In\")}`}</span>\n                            <span>{!isLtr && ` ${numOfDiscussions} `}</span>\n                            <span>{!isLtr && getTranslation(lang, \"Discussions\")}</span>\n                        </div>}\n                </div>\n\n                <div className=\"topPanel\">\n                    <button\n                        key=\"newCommentBtn\"\n                        className=\"newCommentBtn\"\n                        title={getTranslation(lang, \"New Comment\")}\n                        disabled={isAddCommentFormVisible}\n                        onClick={this.handleOnAddCommentBtnPress}>\n                        <span>{getTranslation(lang, \"New Comment(premium)\")}</span>\n                    </button>\n                    {numOfComments > 0 &&\n                        <div className=\"sortOptions\">\n                            <span className=\"selectLabel\">{`${getTranslation(lang, \"Sort Comments By\")}`}</span>\n                            <div className=\"togglerWrapper\"  >\n                            <div className=\"toggler\" />\n                            </div>\n                            <select className=\"sortSelect\" defaultValue={sortSelection} onChange={handleSortSelection}>\n                                <option value=\"end_to_start\">{getTranslation(lang, \"End To Start\")}</option>\n                                {numOfComments > 1 && <option value=\"start_to_end\">{getTranslation(lang, \"Start To End\")}</option>}\n                                {numOfComments > 2 && <option value=\"recommended\">{getTranslation(lang, \"Recommended\")}</option>}\n                                {numOfComments > 2 && <option value=\"interest\">{getTranslation(lang, \"Interest\")}</option>}\n                            </select>\n                        </div>}\n                </div>\n            </div >\n        )\n    }\n}","import { ArticleCommentData } from \"./interfaces\"\n\ninterface MutamArticleCommentsPopupWrapperProps {\n    render: MutamArticleCommentsPopupRender\n    lang: string\n    articleId: string\n    isFirmaMobileWeb: boolean\n    numOfComments: number\n    comments: ArticleCommentData[]\n    isAddCommentFormVisible: boolean\n    areAllCommentsExpanded: boolean\n    IdOfLastTalkbackExpandedByUser: number\n    updateArticleCommentsStorageState: () => void\n    showFormWhenEmpty: boolean\n    handleCloseCommentForm: () => void\n    handleFormVisibility: () => void\n    isAllCommentsPopupVisable: boolean\n    handleCommentsPopupClose: () => void\n    handleCommentsPopupVisibility: () => void\n    isPopupClose: boolean\n    loadMoreComments: () => void\n    hasMore: boolean\n}\n\nexport interface MutamArticleCommentsPopupRenderProps {\n    lang: string\n    articleId: string\n    isFirmaMobileWeb: boolean\n    numOfComments: number\n    comments: ArticleCommentData[]\n    isAddCommentFormVisible: boolean\n    areAllCommentsExpanded: boolean\n    IdOfLastTalkbackExpandedByUser: number\n    updateArticleCommentsStorageState: () => void\n    showFormWhenEmpty: boolean\n    handleCloseCommentForm: () => void\n    handleFormVisibility: () => void\n    isAllCommentsPopupVisable: boolean\n    handleCommentsPopupClose: () => void\n    handleCommentsPopupVisibility: () => void\n    isPopupClose: boolean\n    loadMoreComments: () => void\n    hasMore: boolean\n}\n\nexport type MutamArticleCommentsPopupRender = (props: MutamArticleCommentsPopupRenderProps) => React.ReactElement<any>\n\nexport class MutamArticleCommentsPopupWrapper extends React.Component<MutamArticleCommentsPopupWrapperProps, {}>{\n\n    render() {\n        const { lang, articleId, comments, isFirmaMobileWeb, numOfComments, isAddCommentFormVisible, areAllCommentsExpanded, IdOfLastTalkbackExpandedByUser,\n            updateArticleCommentsStorageState, showFormWhenEmpty, handleCloseCommentForm, handleFormVisibility, isAllCommentsPopupVisable,\n            handleCommentsPopupClose, handleCommentsPopupVisibility, isPopupClose, loadMoreComments, hasMore } = this.props\n        return (\n            <div>\n                {this.props.render({\n                    lang,\n                    articleId,\n                    comments,\n                    isFirmaMobileWeb,\n                    isAddCommentFormVisible,\n                    areAllCommentsExpanded,\n                    IdOfLastTalkbackExpandedByUser,\n                    numOfComments,\n                    updateArticleCommentsStorageState,\n                    showFormWhenEmpty,\n                    handleCloseCommentForm,\n                    handleFormVisibility,\n                    isAllCommentsPopupVisable,\n                    handleCommentsPopupClose,\n                    handleCommentsPopupVisibility,\n                    isPopupClose,\n                    loadMoreComments,\n                    hasMore\n                })}\n            </div>\n        )\n    }\n}","import { AddCommentFormRenderProps } from \"./addCommentFormWrapper\"\nimport { getTranslation } from \"./translations\"\nrequire(\"./magazine_magazine2025_yplus_ynet_site_premiumAddCommentFormUI.less\")\nimport * as classNames from \"classnames\"\nimport { enablePageRefresh, disablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\ninterface PremiumAddCommentFormProps {\n    props: AddCommentFormRenderProps\n}\n\nexport class PremiumAddCommentFormUI extends React.Component<PremiumAddCommentFormProps, {}>{\n    private getTermsLinkByLang = () => {\n        const { lang } = this.props.props\n        if (lang === \"he\") return \"//www.ynet.co.il/articles/0,7340,L-3049332,00.html\"\n        else return \"//www.ynetnews.com/articles/0,7340,L-3048342,00.html\"\n    }\n\n    private onConfirmAlertBtnPress = () => {\n        const { closeAlert, resetFormData, handleCloseCommentForm } = this.props.props\n        closeAlert()\n        handleCloseCommentForm()\n        resetFormData()\n    }\n\n    handleInputFocus = () => {\n        enablePageRefresh()\n    }\n\n    handleInputOutOfFocus = () => {\n        disablePageRefresh()\n    }\n\n\n    render() {\n        const { isAddCommentFormVisible, isSent, title, name, email, comment, showAlert, formType,\n            lang, alertBeforeClosing, handleCloseCommentForm, closeAlert, onInputChanged, handleCommentSend } = this.props.props\n        const AddCommentFormClasses = classNames({\n            \"PremiumAddCommentFormUI\": true,\n            \"fadeIn\": isAddCommentFormVisible,\n            \"hide\": !isAddCommentFormVisible,\n        })\n        return (\n            <div className={AddCommentFormClasses}>\n                <div className=\"AddCommentForm\" >\n                    {!isSent &&\n                        <div className=\"AddCommentFormContainer\">\n                            <div className=\"topTitleWrapper\">\n                                <span className=\"formTitle\"> {formType === \"REPLY\" ? getTranslation(lang, \"Add New Comment To Comment\") : getTranslation(lang, \"Add New Comment\")} </span>\n                                <button className=\"closeBtnWrapper\" title={getTranslation(lang, \"Close(Order Male)\")} onClick={e => alertBeforeClosing()}>\n                                    <span className=\"closeIcon\" />\n                                    <span>{getTranslation(lang, \"Close\")}</span>\n                                </button>\n                            </div>\n                            {showAlert && <div className=\"commentSentMessageWrapepr alertMessage\">\n                                <div className=\"alertText\"><span>{`${getTranslation(lang, \"Warning\")}`}</span></div>\n                                <div className=\"successfullySentText\"><span>{`${getTranslation(lang, \"This Action Will Delete You Comment\")}`}</span></div>\n                                <div className=\"bottomPanel\">\n                                    <button className=\"closeText\" title={getTranslation(lang, \"Confirm\")} onClick={this.onConfirmAlertBtnPress}><span>{getTranslation(lang, \"Confirm\")}</span></button>\n                                    <button className=\"closeText\" title={getTranslation(lang, \"Cancel\")} onClick={e => closeAlert()}><span>{getTranslation(lang, \"Cancel\")}</span></button>\n                                </div>\n                            </div>}\n                            <div className=\"userDetailsInputs\">\n                            <input\n                                className=\"userDetailsInput inputStyle\"\n                                maxLength={20}\n                                value={name}\n                                placeholder={getTranslation(lang, \"Name\")}\n                                onChange={(e) => onInputChanged(e, \"name\")}\n                                onFocus={this.handleInputFocus}\n                                onBlur={this.handleInputOutOfFocus}\n                            />\n                            <input\n                                className=\"userDetailsInput inputStyle\"\n                                maxLength={35}\n                                value={email}\n                                placeholder={getTranslation(lang, \"Email\")}\n                                onChange={(e) => onInputChanged(e, \"email\")}\n                                onFocus={this.handleInputFocus}\n                                onBlur={this.handleInputOutOfFocus}\n                            />\n                            </div>\n                            <div className=\"commentInputs\">\n                            <input\n                                className=\"title inputStyle\"\n                                type=\"text\"\n                                maxLength={60}\n                                value={title}\n                                placeholder={getTranslation(lang, \"Title\")}\n                                onChange={(e) => onInputChanged(e, \"title\")}\n                                onFocus={this.handleInputFocus}\n                                onBlur={this.handleInputOutOfFocus}\n                            />\n                            <textarea\n                                className=\"comment inputStyle\"\n                                type=\"text\"\n                                maxLength={4000}\n                                value={comment}\n                                placeholder={getTranslation(lang, \"Comment Content\")}\n                                onChange={(e) => onInputChanged(e, \"comment\")}\n                                onFocus={this.handleInputFocus}\n                                onBlur={this.handleInputOutOfFocus}\n                            ></textarea>\n                            </div>\n                            <div className=\"bottomPanel\">\n                                <div className=\"termsOfService\">\n                                    {\" אין לשלוח תגובות הכוללות מידע המפר את\"}\n                                <a href={this.getTermsLinkByLang()} target=\"_blank\" title={getTranslation(lang, \"terms of use\")} style={{ margin: \"auto 5px\" }} >תנאי השימוש של Ynet</a>\n                                    {\" לרבות דברי הסתה, דיבה וסגנון החורג מהטעם הטוב.\"}\n                                </div>\n                                <div className=\"bottomPanelRow\">\n                                    <button className=\"sendBtn\" id=\"addCommentSendButton\" title={getTranslation(lang, \"Post Comment\")} onClick={e => handleCommentSend()}>\n                                        <span>{getTranslation(lang, \"Post Comment\")}</span>\n                                    </button>\n                                </div>\n                            </div>\n                        </div>}\n\n                    {isSent && <div className=\"commentSentMessageWrapepr\">\n                        <div className=\"thankYouWrapper\">\n                            <div className=\"thankYou\"><span>{getTranslation(lang, \"Thank You\")},</span></div>\n                            <button className=\"closeTextWrapper\" title={getTranslation(lang, \"Close(Order Male)\")} onClick={this.onConfirmAlertBtnPress}>\n                                <span className=\"closeIcon\" />\n                                <span className=\"closeTextLabel\" >{getTranslation(lang, \"Close(Order Male)\")}</span>\n                            </button>\n                        </div>\n                        <div className=\"successfullySentText\">\n                            <span>{getTranslation(lang, \"Comment Sent Confirmation Message\")}</span>\n                        </div>\n                    </div>}\n                </div>\n\n            </div>\n        )\n    }\n}","import * as classNames from \"classnames\"\nimport { ArticleCommentRenderProps } from \"./articleCommentWrapper\"\nimport { getTranslation } from \"./translations\"\nimport { AddCommentFormWrapper, AddCommentFormRenderProps } from \"./addCommentFormWrapper\"\nimport { PremiumAddCommentFormUI } from \"./premiumAddCommentFormUI\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nrequire(\"./magazine_magazine2025_yplus_ynet_site_premiumArticleCommentUI.less\")\n\ninterface PremiumArticleCommentUIProps {\n    props: ArticleCommentRenderProps\n}\n\nexport class PremiumArticleCommentUI extends React.Component<PremiumArticleCommentUIProps, {}>{\n\n\n    render() {\n        const { lang, isExpanded, vote, talkback_like, likes, unlikes, toggleOpenedState, commentFormType, articleId,\n            isAddCommentFormVisible, handleVoteButtonsClick, handleFormVisibility, handleCloseCommentForm,\n            comment: {\n                id,\n                number,\n                title,\n                text,\n                author,\n                pubDate,\n                level,\n                recommended,\n                talkback_source,\n            } } = this.props.props\n\n        const articlePublishDate = separateHourFromDateAndFormatToString(pubDate, { showHour: false, dateTimeSeperator: \"|\" })\n        const expandedCommentClasses = classNames({\n            \"ArticleComment\": true,\n            \"expanded\": isExpanded,\n            \"level1\": level === 1,\n            \"level2\": level === 2,\n        })\n\n        const likeClasses = classNames({\n            \"likeSvg\": true,\n            \"likePressed\": vote === 1,\n        })\n\n\n        const dislikeClasses = classNames({\n            \"dislikeSvg\": true,\n            \"dislikePressed\": vote === -1,\n        })\n\n        const commentTitleClasses = classNames({\n            \"commentTitle\": true,\n            \"redTitleText\": recommended && !isExpanded,\n        })\n        const commentTextStyles = classNames({\n            \"commentText\": true,\n            \"level1\": level === 1,\n            \"level2\": level === 2,\n        })\n        const extendedBottomWrapperStyles = classNames({\n            \"bottomButtonsWrapper\": true,\n            \"level1\": level === 1,\n            \"level2\": level === 2,\n        })\n        const commentNumClasses = classNames({\n            \"commentNum\": true,\n            \"redTitleText\": recommended,\n        })\n        const positiveLikes = likes < 0 ? 0 : likes\n        const positiveUnlikes = unlikes < 0 ? 0 : unlikes\n        return (\n            <div id=\"PremiumArticleComment\" className={expandedCommentClasses}>\n                <div className=\"topView\" onClick={toggleOpenedState}>\n                    {level === 1 && <div className={commentNumClasses}>{number}.</div>}\n                    {level === 2 && <div className=\"level2ArrowContainer\"><span className=\"level2Arrow\" /></div>}\n                    <div className=\"topLeftView\">\n                        <div className=\"commentDetailsWrapper\">\n                            <div className=\"details\">\n                                {author !== \"\" ? <span className=\"author\">{`${author}`}</span> : null}\n                                <span className=\"publishDate\"> {`${articlePublishDate}${talkback_source ? \" , \" + talkback_source : \"\"}`}</span>\n                            </div>\n                        </div>\n\n                        <div className={commentTitleClasses}>\n                            <span>{title}</span>\n                            {text.length === 0 && <span>{getTranslation(lang, \"Empty Content\")}</span>}\n                        </div>\n                    </div>\n                </div>\n\n                {isExpanded &&\n                    <div className=\"expandedView \">\n                        <div className={commentTextStyles}>{text}</div>\n                        <div className={extendedBottomWrapperStyles}>\n                            <div className=\"newCommentButtonsWrapper\">\n                                <button className=\"newCommentBtn\" title={getTranslation(lang, \"New Comment\")} disabled={isAddCommentFormVisible} onClick={e => handleFormVisibility(\"NEW\")}>\n                                    <span>  {getTranslation(lang, \"New Comment\")}</span>\n                                </button>\n                                <button className=\"commentToComent\" title={getTranslation(lang, \"Comment To Coment\")} disabled={isAddCommentFormVisible}\n                                    onClick={e => handleFormVisibility(\"REPLY\")}>\n                                    <span> {getTranslation(lang, \"Comment To Coment\")}</span>\n                                </button>\n                            </div>\n\n                            <div className=\"voteButtonsWrapper\">\n                                <span className=\"likesCounter\">{positiveLikes}</span>\n                                <svg\n                                    className={likeClasses}\n                                    onClick={(e) => handleVoteButtonsClick(true, \"3state\")}\n                                    xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 19.24 18\">\n                                    <g id=\"like\" transform=\"translate(-31 -21.684)\">\n                                        <g id=\"Group_184\" data-name=\"Group 184\" transform=\"translate(31 21.684)\">\n                                            <g id=\"Group_183\" data-name=\"Group 183\">\n                                                <path id=\"Path_14\" d=\"M49.749 100.663a1.923 1.923 0 0 0-1.433-3.207h-3.734a12.435 12.435 0 0 0 .528-3.25v-.641A2.568 2.568 0 0 0 42.544 91H41.9a.641.641 0 0 0-.622.486l-.349 1.4c-.49 1.957-2.044 4.117-3.652 4.509a1.927 1.927 0 0 0-1.79-1.219h-3.846a.642.642 0 0 0-.641.641v11.544a.642.642 0 0 0 .641.641h3.848a1.926 1.926 0 0 0 1.737-1.1l2.2.735a7.039 7.039 0 0 0 2.231.362h5.373a1.925 1.925 0 0 0 1.789-2.633 1.923 1.923 0 0 0 .927-3.139 1.92 1.92 0 0 0 0-2.565zm-13.618 6.413a.642.642 0 0 1-.641.641h-3.207V97.456h3.207a.642.642 0 0 1 .641.641zm10.9-5.772h1.283a.641.641 0 0 1 0 1.283h-1.281a.641.641 0 0 0 0 1.283h1.283a.641.641 0 0 1 0 1.283h-1.283a.641.641 0 0 0 0 1.283.641.641 0 0 1 0 1.283h-5.372a5.76 5.76 0 0 1-1.826-.3l-2.422-.807v-7.934a5.168 5.168 0 0 0 2.88-1.871 9.358 9.358 0 0 0 1.883-3.612l.228-.912h.141a1.284 1.284 0 0 1 1.283 1.283v.641a10.148 10.148 0 0 1-.614 3.25H41.9a.641.641 0 0 0 0 1.283h6.413a.641.641 0 0 1 0 1.283h-1.28a.641.641 0 0 0 0 1.283z\" className=\"like\" data-name=\"Path 14\" transform=\"translate(-31 -91)\" />\n                                            </g>\n                                        </g>\n                                    </g>\n                                </svg>\n\n\n                                <svg\n                                    className={dislikeClasses}\n                                    onClick={(e) => handleVoteButtonsClick(false, \"3state\")}\n                                    xmlns=\"http://www.w3.org/2000/svg\" id=\"like\" viewBox=\"0 0 19.24 18\">\n                                    <g id=\"Group_184\" data-name=\"Group 184\">\n                                        <g id=\"Group_183\" data-name=\"Group 183\">\n                                            <path id=\"Path_14\" d=\"M31.491 99.337a1.923 1.923 0 0 0 1.433 3.207h3.734a12.436 12.436 0 0 0-.528 3.25v.641A2.568 2.568 0 0 0 38.7 109h.641a.641.641 0 0 0 .622-.486l.349-1.4c.49-1.957 2.044-4.117 3.652-4.509a1.927 1.927 0 0 0 1.79 1.219H49.6a.642.642 0 0 0 .641-.641V91.641A.642.642 0 0 0 49.6 91h-3.849a1.926 1.926 0 0 0-1.737 1.1l-2.2-.735A7.039 7.039 0 0 0 39.579 91h-5.372a1.925 1.925 0 0 0-1.789 2.633 1.923 1.923 0 0 0-.927 3.139 1.92 1.92 0 0 0 0 2.565zm13.618-6.413a.642.642 0 0 1 .641-.641h3.207v10.261h-3.206a.642.642 0 0 1-.641-.641zM34.207 98.7h-1.283a.641.641 0 1 1 0-1.283h1.283a.641.641 0 0 0 0-1.283h-1.283a.641.641 0 0 1 0-1.283h1.283a.641.641 0 0 0 0-1.283.641.641 0 1 1 0-1.283h5.373a5.76 5.76 0 0 1 1.826.3l2.422.807v7.936a5.168 5.168 0 0 0-2.88 1.871 9.358 9.358 0 0 0-1.883 3.612l-.228.912H38.7a1.284 1.284 0 0 1-1.283-1.283v-.641a10.149 10.149 0 0 1 .614-3.25h1.31a.641.641 0 0 0 0-1.283h-6.417a.641.641 0 0 1 0-1.283h1.283a.641.641 0 0 0 0-1.283z\" className=\"cls-1\" data-name=\"Path 14\" transform=\"translate(-31 -91)\" />\n                                        </g>\n                                    </g>\n                                </svg>\n                                <span className=\"likesCounter unlikesCounter\">{positiveUnlikes}</span>\n                            </div>\n\n                        </div>\n                        <AddCommentFormWrapper\n                            render={(props: AddCommentFormRenderProps) => <PremiumAddCommentFormUI props={props} />}\n                            lang={lang}\n                            articleId={articleId}\n                            formType={commentFormType}\n                            handleCloseCommentForm={handleCloseCommentForm}\n                            parentTalkbackId={id}\n                            isAddCommentFormVisible={isAddCommentFormVisible}\n                        />\n                    </div>\n                }\n\n            </div>)\n    }\n}","import { ArticleCommentsTopTabRenderProps } from \"./articleCommentsTopTabWrapper\"\nimport { getTranslation } from \"./translations\"\nrequire(\"./magazine_magazine2025_yplus_ynet_site_premiumArticleCommentsTopTabUI.less\")\n\ninterface PremiumArticleCommentsTopTabUIProps {\n    props: ArticleCommentsTopTabRenderProps\n}\n\nexport class PremiumArticleCommentsTopTabUI extends React.Component<PremiumArticleCommentsTopTabUIProps, {}>{\n    private handleOnAddCommentBtnPress = (e) => {\n        const { handleFormVisibility } = this.props.props\n        handleFormVisibility()\n    }\n\n    render() {\n        const { lang, isLtr, numOfComments, numOfDiscussions, sortSelection, areAllCommentsExpanded, isAddCommentFormVisible,\n            expandAllComments, handleFormVisibility, handleSortSelection } = this.props.props\n        let commentNumStyle = isLtr ? { marginRight: \"5px\" } : {}\n\n        return (\n            <div className=\"PremiumArticleCommentsTopTabUI\">\n                <div className=\"tab\">\n                    {numOfComments === 1 &&\n                        <div className=\"tabTextWraper\">\n                            <span>{getTranslation(lang, \"This Article Has One Comment\")}</span>\n                        </div>}\n\n                    {numOfComments !== 1 &&\n                        <div className=\"tabTextWraper\">\n                            <span>{getTranslation(lang, \"This Article Has \")} </span>\n                            <span style={commentNumStyle}>{` ${numOfComments} `} </span>\n                        <span>{`${getTranslation(lang, \"Comments In\")}- `}</span>\n                            <span>{!isLtr && `${numOfDiscussions} `}</span>\n                            <span>{!isLtr && getTranslation(lang, \"Discussions\")}</span>\n                        </div>}\n\n\n                    {numOfComments > 0 &&\n                        <div className=\"sortOptions\">\n                            <span className=\"selectLabel\">{`${getTranslation(lang, \"Sort Comments By\")}`}</span>\n                            <div className=\"togglerWrapper\"  >\n                                <div className=\"toggler\" />\n                            </div>\n                            <select className=\"sortSelect\" defaultValue={sortSelection} onChange={handleSortSelection}>\n                                <option value=\"end_to_start\">{getTranslation(lang, \"End To Start\")}</option>\n                                {numOfComments > 1 && <option value=\"start_to_end\">{getTranslation(lang, \"Start To End\")}</option>}\n                                {numOfComments > 2 && <option value=\"recommended\">{getTranslation(lang, \"Recommended\")}</option>}\n                                {numOfComments > 2 && <option value=\"interest\">{getTranslation(lang, \"Interest\")}</option>}\n                            </select>\n                        </div>}\n                </div>\n\n                <div className=\"topPanel\">\n                    <button\n                        key=\"newCommentBtn\"\n                        className=\"newCommentBtn\"\n                        title={getTranslation(lang, \"New Comment\")}\n                        disabled={isAddCommentFormVisible}\n                        onClick={this.handleOnAddCommentBtnPress}>\n                        <span>{getTranslation(lang, \"New Comment(premium)\")}</span>\n                    </button>\n                </div>\n            </div >\n        )\n    }\n}","import * as axios from \"axios\";\nimport * as classNames from \"classnames\";\nimport { isMobile } from \"../../../../../utils/isMobile\"\nimport {\n    disablePageRefresh,\n    enablePageRefresh,\n} from \"../../../../siteWidgets/siteWidgetUtils\";\ninterface SpotimScriptInjectorProps {\n    articleId: string;\n    spotimTalkbackCount?: string;\n    isPopUp?: boolean;\n    isFirmaApp?: boolean;\n    isMobileWeb?: boolean;\n    className?: string;\n    isGptType?: string;\n}\n\nexport class SpotimScriptInjector extends React.Component<SpotimScriptInjectorProps> {\n    public static siteScriptName = \"SpotimScriptInjector\";\n\n    componentDidMount() {\n        const {\n            articleId,\n            spotimTalkbackCount,\n            isPopUp,\n            isFirmaApp,\n            isMobileWeb,\n        } = this.props;\n        var s = document.createElement(\"script\");\n        s.onload = () => {\n            axios\n                .get(\n                    `https://open-api.spot.im/v1/messages-count?spot_id=sp_AJXaDckj&posts_ids=${articleId}`\n                )\n                .then((res: any) => {\n                    //   const articles = res.data.data;\n\n                    const spotimCmtCounter =\n                        document.getElementById(\"spotimCmtCounter\");\n                    const bottomSpotimCounter = document.getElementById(\n                        \"bottomSpotimCounter\"\n                    );\n                    const bottomSpotimMobileWebCounter =\n                        document.getElementById(\"bottomSpotimCounterMobileWeb\");\n                    const bottomSpotimCommentsExist = document.getElementById(\n                        \"bottomSpotimCommentsExist\"\n                    );\n                    const siteVerticalArticleSocialShareWrapper =\n                        document.getElementById(\n                            \"SiteVerticalArticleSocialShare_Wrapper\"\n                        );\n                    const mutamHeaderCommentIcon = document.getElementById(\n                        \"commentButtonInHeader\"\n                    );\n\n                    if (spotimCmtCounter) {\n                        const zeroComment = \"הוספת תגובה\";\n                        const severalComments = `${res.data.messages_count[articleId]} תגובות`;\n                        const text =\n                            res.data.messages_count[articleId] === 0\n                                ? zeroComment\n                                : severalComments;\n                        spotimCmtCounter.innerText = text;\n                    }\n                    if (bottomSpotimCounter) {\n                        const zeroComment = isFirmaApp\n                            ? \"היו הראשונים להגיב\"\n                            : \"לכתבה זו לא התפרסמו תגובות, היו הראשונים להגיב\";\n                        const severalComments = `${res.data.messages_count[articleId]} תגובות`;\n                        const text =\n                            res.data.messages_count[articleId] === 0\n                                ? zeroComment\n                                : severalComments;\n                        bottomSpotimCounter.innerText = text;\n                    }\n                    if (bottomSpotimMobileWebCounter) {\n                        const zeroComment = \"היו הראשונים להגיב\";\n                        const severalComments = `${res.data.messages_count[articleId]} תגובות`;\n                        const text =\n                            res.data.messages_count[articleId] === 0\n                                ? zeroComment\n                                : severalComments;\n                        bottomSpotimMobileWebCounter.innerText = text;\n                    }\n                    if (bottomSpotimCommentsExist) {\n                        const text = \"לקריאת כל התגובות\";\n                        res.data.messages_count[articleId] !== 0\n                            ? (bottomSpotimCommentsExist.innerText = text)\n                            : bottomSpotimCommentsExist.remove();\n                    }\n                    if (siteVerticalArticleSocialShareWrapper) {\n                        const numberSpan = document.querySelector(\n                            \"#SiteVerticalArticleSocialShare_Wrapper .verticalSidebarCommentNumber\"\n                        ) as HTMLElement;\n                        if (numberSpan) {\n                            numberSpan.innerText =\n                                res.data.messages_count[articleId] === 0\n                                    ? \"0\"\n                                    : res.data.messages_count[articleId];\n                        }\n                    }\n                    if (mutamHeaderCommentIcon) {\n                        const numberSpan = document.querySelector(\n                            \"#commentButtonInHeader\"\n                        ) as HTMLElement;\n                        if (numberSpan) {\n                            const messageCount =\n                                res.data.messages_count[articleId] || 0;\n                            numberSpan.innerText =\n                                messageCount === 0 ? \"\" : messageCount;\n                        }\n                    }\n                })\n                .catch((err) =>\n                    console.error(\"error geting ticker data:\", err)\n                );\n        };\n        s.setAttribute(\"src\", \"https://launcher.spot.im/spot/sp_AJXaDckj\");\n        s.setAttribute(\"data-spotim-module\", \"spotim-launcher\");\n        s.setAttribute(\"data-post-url\", window.location.href);\n        s.setAttribute(\"data-post-id\", articleId);\n        var script = document.createElement(\"script\");\n        script.text = `window.enableSpotIm = true`;\n        document.head.appendChild(script);\n        const spotImtag = document.querySelector(\"#spot_im_desktop\");\n        const commentsPopUp = document.querySelector(\".spotimWrapper\");\n        if (isPopUp) {\n            s.setAttribute(\"data-spotim-autorun\", \"false\");\n            s.async = true;\n            document.body.prepend(s);\n            if (!isFirmaApp) {\n                const conversationDiv = document.createElement(\"div\");\n                conversationDiv.setAttribute(\n                    \"data-spotim-module\",\n                    \"conversation\"\n                );\n                conversationDiv.setAttribute(\n                    \"data-post-id\",\n                    this.props.articleId\n                );\n                commentsPopUp.append(conversationDiv);\n            }\n        } else {\n            s.setAttribute(\"data-messages-count\", spotimTalkbackCount);\n            spotImtag.insertBefore(s, spotImtag.nextSibling);\n        }\n    }\n    private closePopUp = () => {\n        document\n            .querySelector(\".spotimWrapper\")\n            .classList.replace(\"isOpened\", \"isClosed\");\n        enablePageRefresh();\n    };\n\n    \n    render() {\n        const { className, isPopUp, isFirmaApp, isGptType, isMobileWeb } = this.props;\n        const script_display = isGptType && isGptType == \"new\" ? <script type=\"text/javascript\" dangerouslySetInnerHTML={{ __html: `googletag.cmd.push(function() { googletag.display(\"ads.box\"); });` }}></script> : \"\";\n        if (isFirmaApp) {\n            return (\n            <div id=\"ads.box\" className=\"CommentsBox\">{script_display}</div>\n            )\n        } else\n            return (\n                <>\n                 {isMobileWeb && (\n                    <div id=\"ads.box\" className=\"CommentsBox\">{script_display}</div>\n                )}\n                <div\n                    className={classNames(\n                        className ? className : \"spotimWrapper\",\n                        { popUp: isPopUp }\n                    )}\n                >\n                    {isPopUp && (\n                        <div className=\"closePopUp\" onClick={this.closePopUp} />\n                    )}\n                    {!isPopUp && <div id=\"spot_im_desktop\" />}\n                </div>\n                </>\n            );\n    }\n}\n","import * as filter from \"lodash/filter\"\n\ninterface translationSettings {\n    [lang: string]: any\n}\n\nexport const articleCommentsTranslations =\n{\n    \"he\": {\n        \"Close Talkbacks\": \"סגור תגובות\",\n        \"Load More Talkbacks\": \"טען תגובות נוספות\",\n        \"Empty Content\": \"(לת)\",\n        \"New Comment\": \"תגובה חדשה\",\n        \"New Comment(premium)\": \"הוספת תגובה\",\n        \"Comment To Coment\": \"הגיבו לתגובה\",\n        \"Add New Comment To Comment\": \"הוספת תגובה לתגובה\",\n        \"Add New Comment\": \" הוספת תגובה חדשה\",\n        \"Close\": \"סגירה\",\n        \"You Must Enter Title\": \"חובה להכניס כותרת\",\n        \"Warning\": \"אזהרה:\",\n        \"This Action Will Delete You Comment\": \"פעולה זו תמחק את התגובה שהתחלת להקליד\",\n        \"Confirm\": \"אישור\",\n        \"Cancel\": \"ביטול\",\n        \"Name\": \"שם\",\n        \"Email Talckbacks Placeholder\": \"כתובת דואל\",\n        \"Location\": \"אזור מגורים\",\n        \"Title\": \"כותרת\",\n        \"Content\": \"תוכן\",\n        \"The commenter agrees to the privacy policy and agrees not to submit comments that violate the\": \"המפרסם טוקבק מסכים למדיניות הפרטיות של YNET ומסכים שלא לפרסם תגובות הכוללות מידע המפר את\",\n        \"terms of use\": \" תנאי השימוש\",\n        \", including incitement, libel and expressions that exceed the accepted norms of freedom of speech.\": \" לרבות דברי הסתה, דיבה וסגנון החורג מחופש ביטוי סביר.\",\n        \"Preview\": \"תצוגה מקדימה\",\n        \"Post Comment\": \"שלח תגובה\",\n        \"Thank You\": \"תודה\",\n        \"Comment Sent Confirmation Message\": \"קיבלנו את תגובתך ונשתדל לפרסמה, בכפוף לשיקולי המערכת.\",\n        \"Close(Order Male)\": \"סגור\",\n        \"Close All Comments\": \"סגירת כל התגובות\",\n        \"Open All Comments\": \"פתיחת כל התגובות\",\n        \"This Article Has One Comment\": \"לכתבה זו התפרסמה תגובה אחת\",\n        \"This Article Has \": \"לכתבה זו התפרסמו\",\n        \"Comments In\": \"תגובות ב\",\n        \"Discussions\": \"דיונים\",\n        \"Present\": \"הצגת:\",\n        \"End To Start\": \"מהסוף להתחלה\",\n        \"Start To End\": \"מהתחלה לסוף\",\n        \"Recommended\": \"מומלצות גולשים\",\n        \"Interest\": \"עוררו עיניין\",\n        \"Main Page\": \"עמוד ראשי YNET\",\n        \"Sort Comments By\": \"הצג:\",\n        \"Email\": 'דוא\"ל',\n        \"Comment Content\": \"תוכן תגובה\",\n        \"Comments\" : \"תגובות\",\n        \"term1\": \"אין לשלוח תגובות הכוללות מידע המפר את\",\n        \"term2\": \"תנאי השימוש של Ynet\",\n        \"term3\": \"לרבות דברי הסתה, דיבה וסגנון החורג מהטעם הטוב.\",\n    },\n    \"en\": {\n        \"Close Talkbacks\": \"Close Talkbacks\",\n        \"Load More Talkbacks\": \"Load more talkbacks\",\n        \"Empty Content\": \"\",\n        \"New Comment\": \"new comment\",\n        \"New Comment(premium)\": \"New comment\",\n        \"Comment To Coment\": \"reply\",\n        \"Add New Comment To Comment\": \"add comment\",\n        \"Add New Comment\": \"add comment\",\n        \"Close\": \"cancel\",\n        \"You Must Enter Title\": \"You must enter a headline\",\n        \"Warning\": \"\",\n        \"This Action Will Delete You Comment\": \"\",\n        \"Confirm\": \"\",\n        \"Cancel\": \"\",\n        \"Name\": \"name\",\n        \"Email Talckbacks Placeholder\": \"mail\",\n        \"Email\":\"mail\",\n        \"Location\": \"city\",\n        \"Title\": \"title\",\n        \"Content\": \"text\",\n        \"The commenter agrees to the privacy policy and agrees not to submit comments that violate the\": \"The commenter agrees to the privacy policy of Ynet News and agrees not to submit comments that violate the \",\n        \"terms of use\": \"terms of use\",\n        \", including incitement, libel and expressions that exceed the accepted norms of freedom of speech.\": \", including incitement, libel and expressions that exceed the accepted norms of freedom of speech.\",\n        \"Preview\": \"Preview\",\n        \"Post Comment\": \"send comment\",\n        \"Thank You\": \"Thanks\",\n        \"Comment Content\": \"text\",\n        \"Comment Sent Confirmation Message\": \"We’ve received your comment and will publish, it pending moderation.\",\n        \"Close(Order Male)\": \"Close\",\n        \"Close All Comments\": \"Close all talkbacks\",\n        \"Open All Comments\": \"See all talkbacks\",\n        \"This Article Has One Comment\": \"1 Talkback for this article\",\n        \"This Article Has \": \"Talkbacks for this article\",\n        \"Comments In\": \"\",\n        \"Discussions\": \"\",\n        \"Present\": \"\",\n        \"End To Start\": \"older - newer\",\n        \"Start To End\": \"newer - older\",\n        \"Recommended\": \"recommended stories\",\n        \"Interest\": \"popular stories\",\n        \"Main Page\": \"main page  YNETNEWS\",\n        \"Comments\" : \"Comments\",\n        \"term1\": \"The commenter agrees to the privacy policy of Ynet News and agrees not to submit comments that violate the \",\n        \"term2\": \"terms of use\",\n        \"term3\": \", including incitement, libel and expressions that exceed the accepted norms of freedom of speech.\",\n    },\n    \"es\": {\n        \"Close Talkbacks\": \"Cerrar comentarios\",\n        \"Load More Talkbacks\": \"Cargar más comentarios\",\n        \"Empty Content\": \"\",\n        \"New Comment\": \"Nuevo comentario\",\n        \"New Comment(premium)\":\"Nuevo comentario\",\n        \"Comment To Coment\": \"Respuesta\",\n        \"Add New Comment To Comment\": \"Agregar nuevo comentario\",\n        \"Add New Comment\": \"Agregar nuevo comentario\",\n        \"Close\": \"Cancelar\",\n        \"You Must Enter Title\": \"Debes ingresar un títular\",\n        \"Warning\": \"\",\n        \"This Action Will Delete You Comment\": \"\",\n        \"Confirm\": \"\",\n        \"Cancel\": \"Cancelar\",\n        \"Name\": \"Nombre\",\n        \"Email Talckbacks Placeholder\": \"Correo\",\n        \"Location\": \"Ciudad\",\n        \"Title\": \"Titulo\",\n        \"Content\": \"Texto\",\n        \"The commenter agrees to the privacy policy and agrees not to submit comments that violate the\": \"Quien publica un comentario acepta la política de privacidad del Ynet Español, y acepta no publicar comentarios que incluyan información que viole los  \",\n        \"terms of use\": \"términos de uso\",\n        \", including incitement, libel and expressions that exceed the accepted norms of freedom of speech.\": \", incluida la incitación, la difamación y cualquier otro tipo que viole la libertad de expresión adecuada.\",\n        \"Preview\": \"Previsualizacion\",\n        \"Post Comment\": \"Enviar comentario\",\n        \"Thank You\": \"Gracias\",\n        \"Comment Sent Confirmation Message\": \"Hemos recibido su comentario. Lo publicaremos sujeto a su moderación.\",\n        \"Close(Order Male)\": \"Cerrar\",\n        \"Close All Comments\": \"Cerrar todas los comentarios\",\n        \"Open All Comments\": \"Ver todos\",\n        \"This Article Has One Comment\": \"1 Comentario\",\n        \"This Article Has \": \"Comentarios\",\n        \"Comments In\": \"\",\n        \"Discussions\": \"\",\n        \"Present\": \"\",\n        \"End To Start\": \"Más antiguo - Más nuevo\",\n        \"Start To End\": \"Más nuevo - Más antiguo\",\n        \"Recommended\": \"Historias recomendadas\",\n        \"Interest\": \"Historias populares\",\n        \"Main Page\": \"Pagina principal\",\n        \"Comments\" : \"комментарии\",\n    },\n    \"ru\": {\n        \"Close Talkbacks\": \"Закрыть\",\n        \"Load More Talkbacks\": \"Показать еще комментарии\",\n        \"Empty Content\": \"\",\n        \"New Comment\": \"новый комментарий\",\n        \"New Comment(premium)\": \"новый комментарий\",\n        \"Comment To Coment\": \"ответить на комментарий\",\n        \"Add New Comment To Comment\": \"ответить на комментарий\",\n        \"Add New Comment\": \"добавить комментарий\",\n        \"Close\": \"отмена\",\n        \"You Must Enter Title\": \"Вы должны написать заголовок\",\n        \"Warning\": \"\",\n        \"This Action Will Delete You Comment\": \"\",\n        \"Confirm\": \"\",\n        \"Cancel\": \"\",\n        \"Name\": \"имя\",\n        \"Email Talckbacks Placeholder\": \"эл. почта\",\n        \"Location\": \"город\",\n        \"Title\": \"заголовок\",\n        \"Content\": \"содержимое\",\n        \"The commenter agrees to the privacy policy and agrees not to submit comments that violate the\": \"Автор комментария принимает Условия конфиденциальности Вести и соглашается не публиковать комментарии, нарушающие \",\n        \"terms of use\": \"Правила использования\",\n        \", including incitement, libel and expressions that exceed the accepted norms of freedom of speech.\": \", в том числе подстрекательство, клевету и выходящее за рамки приемлемого в определении свободы слова.\",\n        \"Preview\": \"предварительный просмотр\",\n        \"Post Comment\": \"опубликовать\",\n        \"Thank You\": \"Спасибо\",\n        \"Comment Sent Confirmation Message\": \"Ваш комментарий получен и будет опубликован, в ожидании модерации.\",\n        \"Close(Order Male)\": \"Закрыть\",\n        \"Close All Comments\": \"Закрыть все обсуждения\",\n        \"Open All Comments\": \"См. все обсуждения\",\n        \"This Article Has One Comment\": \"Новый отклик статьи\",\n        \"This Article Has \": \"\",\n        \"Comments In\": \" - обсуждения статьи\",\n        \"Discussions\": \"\",\n        \"Present\": \"\",\n        \"End To Start\": \"старое - новое\",\n        \"Start To End\": \"новое - старое\",\n        \"Recommended\": \"рекомендуемые\",\n        \"Interest\": \"популярные\",\n        \"Main Page\": \"Новости Израиля и Ближнего Востока\",\n        \"Comments\" : \"Комментарии\",\n        \"Email\": \"эл. почта\",\n        \"Comment Content\":\"содержимое\",\n        \"term1\": \"Автор комментария принимает Условия конфиденциальности Вести и соглашается не публиковать комментарии, нарушающие \",\n        \"term2\": \"Правила использования\",\n        \"term3\": \",  в том числе подстрекательство, клевету и выходящее за рамки приемлемого в определении свободы слова.\",\n    }\n}\n\n\nexport const getTranslation = (lang, text: string) => {\n    var obj = filter(articleCommentsTranslations, function (v, k) {\n        return k === lang;\n    });\n    var content = filter(obj[0], function (v, k) {\n        return k === text;\n    })\n    return content[0]\n\n}\n\n","import { AddCommentFormRenderProps } from \"../addCommentFormWrapper\";\nimport { getTranslation } from \"../translations\";\nimport { disablePageRefresh, enablePageRefresh } from \"../../../../../siteWidgets/siteWidgetUtils\";\n\ninterface AddCommentFormProps {\n    props: AddCommentFormRenderProps\n}\n\ninterface AddCommentFormState {\n    isVisibleAfterAlertClose: boolean\n}\n\nconst FORM_CLOSE_ANIMTAION_TIME = 500;\nconst LINK_DICT = {\n    \"he\": \"https://www.ynet.co.il/home/1,7340,L-827,00.html\",\n    \"en\": \"https://www.ynetnews.com/articles/0,7340,L-3048342,00.html\",\n    \"ru\": \"https://www.vesty.co.il/articles/0,7340,L-4867560,00.html\",\n};\n\nexport class MobileWebAddCommentFormUI extends React.Component<AddCommentFormProps, AddCommentFormState>{\n    constructor() {\n        super()\n        this.state = {\n            isVisibleAfterAlertClose: false,\n        }\n    }\n\n    shouldComponentUpdate(nextProps: AddCommentFormProps, nextState: AddCommentFormState) {\n        return this.state.isVisibleAfterAlertClose !== nextState.isVisibleAfterAlertClose\n            || this.props.props.isAddCommentFormVisible !== nextProps.props.isAddCommentFormVisible\n            || this.props.props.isSent !== nextProps.props.isSent\n            || this.props.props.title !== nextProps.props.title\n            || this.props.props.name !== nextProps.props.name\n            || this.props.props.comment !== nextProps.props.comment\n            || this.props.props.isFirstComment !== nextProps.props.isFirstComment\n    }\n\n    private formContarinerRef: HTMLDivElement;\n    private formRef: HTMLDivElement;\n    private sentAlertRef: HTMLDivElement;\n\n    private onConfirmAlertBtnPress = () => {\n        const { closeAlert, resetFormData, handleCloseCommentForm } = this.props.props\n\n        this.setState({ isVisibleAfterAlertClose: true })\n        closeAlert()\n        handleCloseCommentForm()\n        resetFormData()\n        setTimeout(() => {\n            this.setState({ isVisibleAfterAlertClose: false })\n        }, FORM_CLOSE_ANIMTAION_TIME);\n    }\n\n    handleInputFocus = () => {\n        enablePageRefresh()\n    }\n\n    handleInputOutOfFocus = () => {\n        disablePageRefresh()\n    }\n\n    render() {\n        const { isAddCommentFormVisible, isSent, title, name, comment, lang, handleCloseCommentForm, onInputChanged, handleCommentSend, isFirstComment } = this.props.props\n        const { isVisibleAfterAlertClose } = this.state\n        const termsLink = LINK_DICT[lang];\n\n        return (\n            <div className=\"MobileWebAddCommentFormUI\" style={{ maxHeight: isAddCommentFormVisible ? this.formContarinerRef.scrollHeight : 0 }} ref={ref => this.formContarinerRef = ref}>\n                <div className=\"AddCommentForm\">\n                    <div className=\"AddCommentFormContainer\" style={{ maxHeight: !isSent && !isVisibleAfterAlertClose ? this.formRef && this.formRef.scrollHeight : 0 }} ref={ref => this.formRef = ref}>\n                        {!isFirstComment &&\n                            <div className=\"topTitleWrapper\">\n                                <button className=\"closeBtnWrapper\" title={getTranslation(lang, \"Close(Order Male)\")} onClick={e => handleCloseCommentForm()}>\n                                    <span className=\"closeIcon\" />\n                                </button>\n                            </div>}\n\n                        <div className=\"userDetailsInputs\">\n                            <input\n                                className=\"userDetailsInput inputStyle\"\n                                maxLength={20}\n                                value={name}\n                                placeholder={getTranslation(lang, \"Name\")}\n                                onChange={(e) => onInputChanged(e, \"name\")}\n                                onFocus={this.handleInputFocus}\n                                onBlur={this.handleInputOutOfFocus}\n                            />\n                        </div>\n\n                        <div className=\"commentInputs\">\n                            <input\n                                className=\"title inputStyle\"\n                                type=\"text\"\n                                maxLength={60}\n                                value={title}\n                                placeholder={getTranslation(lang, \"Title\")}\n                                onChange={(e) => onInputChanged(e, \"title\")}\n                                onFocus={this.handleInputFocus}\n                                onBlur={this.handleInputOutOfFocus}\n                            />\n\n                            <textarea\n                                className=\"comment inputStyle\"\n                                type=\"text\" maxLength={4000}\n                                value={comment}\n                                placeholder={getTranslation(lang, \"Comment Content\")}\n                                onChange={(e) => onInputChanged(e, \"comment\")}\n                                onFocus={this.handleInputFocus}\n                                onBlur={this.handleInputOutOfFocus}\n                            >\n                            </textarea>\n                        </div>\n\n                        <div className=\"bottomPanel\">\n                            <div className=\"bottomPanelRow\">\n                                <div className=\"panelRowTerms\">\n                                    {getTranslation(lang, \"term1\")}\n                                    <a href={termsLink} target=\"_blank\" title={getTranslation(lang, \"terms of use\")} style={{ margin: \"auto 5px\" }} >{getTranslation(lang, \"term2\")}</a>\n                                    {getTranslation(lang, \"term3\")}\n                                </div>\n                                <button className=\"sendBtn\" id=\"addCommentSendButton\" title={getTranslation(lang, \"Post Comment\")} onClick={e => handleCommentSend()}>\n                                    <span>{getTranslation(lang, \"Post Comment\")}</span>\n                                </button>\n                            </div>\n                        </div>\n                    </div>\n\n                    <div className=\"commentSentMessageWrapepr\" style={{ maxHeight: isSent ? this.sentAlertRef && this.sentAlertRef.scrollHeight : 0 }} ref={ref => this.sentAlertRef = ref}>\n                        <div className=\"thankYouWrapper\">\n                            <div className=\"thankYou\"><strong>{getTranslation(lang, \"Thank You\")},</strong> <span>{getTranslation(lang, \"Comment Sent Confirmation Message\")}</span></div>\n                            <button className=\"closeTextWrapper\" title={getTranslation(lang, \"Close\")} onClick={this.onConfirmAlertBtnPress}>\n                                <span className=\"closeIcon\" />\n                            </button>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}","import * as classNames from \"classnames\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { ArticleCommentRenderProps } from \"../articleCommentWrapper\";\nimport { getTranslation } from \"../translations\";\nimport { AddCommentFormWrapper, AddCommentFormRenderProps } from \"../addCommentFormWrapper\";\nimport { MobileWebAddCommentFormUI } from \"./mutamAddCommentFormUI\";\n\ninterface ArticleCommentsUIMobileWebProps {\n    props: ArticleCommentRenderProps\n}\n\nexport class ArticleCommentMobileCalcalistWebUI extends React.Component<ArticleCommentsUIMobileWebProps, {}>{\n    render() {\n        const { lang, isExpanded, toggleOpenedState,  \n            comment: {\n                id,\n                number,\n                title,\n                text,\n                author,\n                pubDate,\n                level,\n                recommended,\n                talkback_source,\n            } } = this.props.props\n        const articlePublishDate = separateHourFromDateAndFormatToString(pubDate, { showHour: false, dateTimeSeperator: \"|\" })\n        const expandedCommentClasses = classNames({\n            \"ArticleCommentMobileWeb\": true,\n            \"expanded\": isExpanded,\n            \"level1\": level === 1,\n        })\n    \n        const commentTitleClasses = classNames({\n            \"commentTitle\": true,\n            \"redTitleText\": recommended,\n            \"expanded\": isExpanded\n        })\n        const commentTextStyles = classNames({\n            \"commentText\": true,\n            \"level1\": level === 1,\n            \"expanded\": isExpanded\n        })\n \n        const commentNumClasses = classNames({\n            \"commentNum\": true,\n        })\n      \n        return (\n            <div id=\"ArticleCommentMobileWeb\" className={expandedCommentClasses}>\n                <div className=\"topView\" >\n                    {level === 1 && <div className={commentNumClasses} onClick={(e) => toggleOpenedState()}>{number}.</div>}\n                    {level === 2 && <div className=\"level2ArrowContainer\" onClick={(e) => toggleOpenedState()}><span className=\"level2Arrow\" /></div>}\n\n                    <div className=\"topLeftView\">\n\n                        <div className=\"commentDetailsWrapper\" >\n                            <div className={commentTitleClasses} onClick={(e) => toggleOpenedState()}>\n                                <span className=\"titleText\">{title}</span>\n                                {text.length === 0 && <span>{getTranslation(lang, \"Empty Content\")}</span>}\n                            </div>\n                        </div>\n\n                        <div className={commentTextStyles}>{text}</div>\n\n                        <div className=\"details\">\n                            <div>  {author !== \"\" ? <span className=\"author\">{`${author}`}</span> : null}\n                                {author !== \"\" && <span>|</span>}\n                                <span className=\"publishDate\"> {`${articlePublishDate}${talkback_source ? \" , \" + talkback_source : \"\"}`}</span></div>\n                            <div>\n\n                            \n\n                           \n                            </div>\n                        </div>\n                    </div>\n                </div>\n\n            </div>\n        )\n    }\n}","import { ArticleCommentsTopTabRenderProps } from \"../articleCommentsTopTabWrapper\"\nimport { getTalkbackNumberView } from \"../../articleSocialShare1280Component/articleSocialShareNew1280\";\nimport { getTranslation } from \"../translations\"\n\n\ninterface ArticleCommentsTopTabUIMobileWebProps {\n    props: ArticleCommentsTopTabRenderProps\n}\n\nexport class ArticleCommentsCalcalistTopTabMobileWebUI extends React.Component<ArticleCommentsTopTabUIMobileWebProps, {}>{\n    private handleOnAddCommentBtnPress = () => {\n        const { handleFormVisibility, handleCommentsPopupVisibility } = this.props.props\n        handleCommentsPopupVisibility()\n        handleFormVisibility()\n    }\n\n    render() {\n        const { lang, numOfComments, isAddCommentFormVisible } = this.props.props\n        const commentsNum =numOfComments && numOfComments > 0 ? getTalkbackNumberView(numOfComments.toString()) : \"\";\n        return (\n            <div className=\"ArticleCommentsTopTabUI\">\n                <div className=\"tabTitle\">\n                    <div className=\"tabText\">{`${commentsNum} ${getTranslation(lang, \"Comments\")}`}</div>\n                </div>\n                <div className=\"tabPanel\">\n                    {!isAddCommentFormVisible &&\n                        <button\n                            key=\"newCommentBtn\"\n                            className=\"newCommentBtn-pf\"\n                            title=\"לכתיבת תגובה\"\n                            disabled={isAddCommentFormVisible}\n                            onClick={this.handleOnAddCommentBtnPress}>\n                            <div className=\"btnText\">לכתיבת תגובה</div>\n                        </button>\n                    }\n                </div>\n            </div >\n        )\n    }\n}","import * as classNames from \"classnames\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { ArticleCommentRenderProps } from \"../articleCommentWrapper\";\nimport { getTranslation } from \"../translations\";\nimport { AddCommentFormWrapper, AddCommentFormRenderProps } from \"../addCommentFormWrapper\";\nimport { MobileWebAddCommentFormUI } from \"./mutamAddCommentFormUI\";\n\ninterface ArticleCommentsUIMobileWebProps {\n    props: ArticleCommentRenderProps\n}\n\nexport class ArticleCommentMobileWebUI extends React.Component<ArticleCommentsUIMobileWebProps, {}>{\n    render() {\n        const { lang, isExpanded, vote, talkback_like, likes, unlikes, toggleOpenedState, commentFormType, articleId,\n            isAddCommentFormVisible, handleVoteButtonsClick, handleFormVisibility, handleCloseCommentForm,\n            comment: {\n                id,\n                number,\n                title,\n                text,\n                author,\n                pubDate,\n                level,\n                recommended,\n                talkback_source,\n            } } = this.props.props\n        const articlePublishDate = separateHourFromDateAndFormatToString(pubDate, { showHour: false, dateTimeSeperator: \"|\" })\n        const expandedCommentClasses = classNames({\n            \"ArticleCommentMobileWeb\": true,\n            \"expanded\": isExpanded,\n            \"level1\": level === 1,\n            \"level2\": level === 2,\n        })\n        // const likeClasses = classNames({\n        //     \"likeSvg\": true,\n        //     \"likePressed\": vote === 1,\n        // })\n        // const dislikeClasses = classNames({\n        //     \"dislikeSvg\": true,\n        //     \"dislikePressed\": vote === -1,\n        // })\n        const commentTitleClasses = classNames({\n            \"commentTitle\": true,\n            \"redTitleText\": recommended,\n            \"expanded\": isExpanded\n        })\n        const commentTextStyles = classNames({\n            \"commentText\": true,\n            \"level1\": level === 1,\n            \"level2\": level === 2,\n            \"expanded\": isExpanded\n        })\n        // const extendedBottomWrapperStyles = classNames({\n        //     \"bottomButtonsWrapper\": true,\n        //     \"level1\": level === 1,\n        //     \"level2\": level === 2,\n        // })\n        const commentNumClasses = classNames({\n            \"commentNum\": true,\n            // \"redTitleText\": recommended,\n        })\n        // const positiveLikes = likes < 0 ? 0 : likes\n        // const positiveUnlikes = unlikes < 0 ? 0 : unlikes\n        return (\n            <div id=\"ArticleCommentMobileWeb\" className={expandedCommentClasses}>\n                <div className=\"topView\" >\n                    {level === 1 && <div className={commentNumClasses} onClick={(e) => toggleOpenedState()}>{number}.</div>}\n                    {level === 2 && <div className=\"level2ArrowContainer\" onClick={(e) => toggleOpenedState()}><span className=\"level2Arrow\" /></div>}\n\n                    <div className=\"topLeftView\">\n\n                        <div className=\"commentDetailsWrapper\" >\n                            <div className={commentTitleClasses} onClick={(e) => toggleOpenedState()}>\n                                <span className=\"titleText\">{title}</span>\n                                {text.length === 0 && <span>{getTranslation(lang, \"Empty Content\")}</span>}\n                            </div>\n                        </div>\n\n                        <div className={commentTextStyles}>{text}</div>\n\n                        <div className=\"details\">\n                            <div>  {author !== \"\" ? <span className=\"author\">{`${author}`}</span> : null}\n                                {author !== \"\" && <span>|</span>}\n                                <span className=\"publishDate\"> {`${articlePublishDate}${talkback_source ? \" , \" + talkback_source : \"\"}`}</span></div>\n                            <div>\n\n                                {/* <div className=\"voteButtonsWrapper\">\n                                    <span className=\"likesCounter\">{positiveLikes}</span>\n                                    <div\n                                        className={likeClasses}\n                                        onClick={(e) => handleVoteButtonsClick(true, \"3state\")}>\n                                    </div>\n                                    <span className=\"likesCounter unlikesCounter\">{positiveUnlikes}</span>\n                                    <div\n                                        className={dislikeClasses}\n                                        onClick={(e) => handleVoteButtonsClick(false, \"3state\")} >\n                                    </div>\n                                </div> */}\n\n                                <button className=\"commentToComent\" title={getTranslation(lang, \"Comment To Coment\")} disabled={isAddCommentFormVisible}\n                                    onClick={e => handleFormVisibility(\"REPLY\")}>\n                                    <span> {getTranslation(lang, \"Comment To Coment\")}</span>\n                                </button>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n\n                <AddCommentFormWrapper\n                    render={(props: AddCommentFormRenderProps) => <MobileWebAddCommentFormUI props={props} />}\n                    lang={lang}\n                    articleId={articleId}\n                    formType={commentFormType}\n                    handleCloseCommentForm={handleCloseCommentForm}\n                    parentTalkbackId={id}\n                    isAddCommentFormVisible={isAddCommentFormVisible}\n                />\n            </div>\n        )\n    }\n}","import { ArticleCommentsTopTabRenderProps } from \"../articleCommentsTopTabWrapper\"\nimport { getTalkbackNumberView } from \"../../articleSocialShare1280Component/articleSocialShareNew1280\";\nimport { getTranslation } from \"../translations\"\n\n\ninterface ArticleCommentsTopTabUIMobileWebProps {\n    props: ArticleCommentsTopTabRenderProps\n}\n\nexport class ArticleCommentsTopTabMobileWebUI extends React.Component<ArticleCommentsTopTabUIMobileWebProps, {}>{\n    private handleOnAddCommentBtnPress = () => {\n        const { handleFormVisibility, handleCommentsPopupVisibility } = this.props.props\n        handleCommentsPopupVisibility()\n        handleFormVisibility()\n    }\n\n    render() {\n        const { lang, numOfComments, isAddCommentFormVisible } = this.props.props\n\n        return (\n            <div className=\"ArticleCommentsTopTabUI\">\n                <div className=\"tabTitle\">\n                    <div className=\"tabIcon\">\n                        <div className=\"tabNumber\">{getTalkbackNumberView(numOfComments.toString())}</div>\n                    </div>\n                    <div className=\"tabText\">{getTranslation(lang, \"Comments\")}</div>\n                </div>\n                <div className=\"tabPanel\">\n                    {!isAddCommentFormVisible &&\n                        <button\n                            key=\"newCommentBtn\"\n                            className=\"newCommentBtn\"\n                            title={getTranslation(lang, \"New Comment\")}\n                            disabled={isAddCommentFormVisible}\n                            onClick={this.handleOnAddCommentBtnPress}>\n                            <div className=\"btnText\">{getTranslation(lang, \"New Comment\")}</div>\n                        </button>\n                    }\n                </div>\n            </div >\n        )\n    }\n}","import * as classNames from \"classnames\"\nimport { AddCommentFormWrapper, AddCommentFormRenderProps } from \"../addCommentFormWrapper\";\nimport { MobileWebAddCommentFormUI } from \"./mutamAddCommentFormUI\";\nimport { ArticleCommentWrapper, ArticleCommentRender, ArticleCommentRenderProps } from \"../articleCommentWrapper\"\nimport { getTalkbackNumberView } from \"../../articleSocialShare1280Component/articleSocialShareNew1280\";\nimport { ArticleCommentMobileWebUI } from \"./mutamArticleCommentAppUI\";\nimport { MutamArticleCommentsPopupRenderProps } from \"../mutamArticleCommentsPropsWrapper\";\nimport { getTranslation } from \"../translations\"\nimport { MobileWebCalcalistAddCommentFormUI } from \"./mutamCalcalistAddCommentFormUI\";\n\ninterface ArticleCommentsPopupProps {\n    props: MutamArticleCommentsPopupRenderProps\n}\n\nexport class MutamArticleCommentsCalcalistPopupUI extends React.Component<ArticleCommentsPopupProps, {}> {\n\n    private handleOnAddCommentBtnPress = (e) => {\n        const { handleFormVisibility } = this.props.props\n        handleFormVisibility()\n    }\n\n    render() {\n        const { lang, articleId, comments, IdOfLastTalkbackExpandedByUser, updateArticleCommentsStorageState, areAllCommentsExpanded, numOfComments, showFormWhenEmpty,\n            isAddCommentFormVisible, handleCloseCommentForm, isAllCommentsPopupVisable, handleCommentsPopupClose, handleCommentsPopupVisibility, isFirmaMobileWeb,\n            isPopupClose, loadMoreComments, hasMore } = this.props.props\n\n        const commentsPopupClasses = classNames({\n            \"ArticleCommentsPopup\": true,\n            \"hide\": !isAllCommentsPopupVisable && !isPopupClose,\n            \"fadeIn\": isAllCommentsPopupVisable,\n            \"fadeOut\": isPopupClose,\n        })\n        const addCommentBtnClasses = classNames({\n            \"addCommentBtn-pf\": true,\n            \"fadeIn\": !isAddCommentFormVisible,\n            \"hide\": isAddCommentFormVisible,\n        })\n\n        let ArticleCommentRender: ArticleCommentRender;\n        ArticleCommentRender = (props: ArticleCommentRenderProps) => <ArticleCommentMobileWebUI props={props} />;\n        const commentsNum =numOfComments && numOfComments > 0 ? getTalkbackNumberView(numOfComments.toString()) : \"\";\n        return (\n            <div>\n                <div id=\"ArticleCommentsPopup\" className={commentsPopupClasses}>\n                    <div className=\"commentsTopBar\">\n                        <div className=\"commentsTopBarHeadline\">\n                            <div className=\"headlineTitle\">{`${commentsNum} ${getTranslation(lang, \"Comments\")}`}</div>\n                        </div>\n                        <button className=\"popupCloseIcon\" onClick={handleCommentsPopupClose}></button>\n                    </div>\n\n                    <div className=\"commentsWrapper\">\n\n                        <div className={addCommentBtnClasses} onClick={this.handleOnAddCommentBtnPress}>{getTranslation(lang, \"New Comment(premium)\")}</div>\n\n                        <AddCommentFormWrapper\n                            render={(props: AddCommentFormRenderProps) => <MobileWebCalcalistAddCommentFormUI props={props} />}\n                            isAddCommentFormVisible={isAddCommentFormVisible}\n                            lang={lang}\n                            articleId={articleId}\n                            formType={\"NEW\"}\n                            handleCloseCommentForm={handleCloseCommentForm}\n                            isFirstComment={showFormWhenEmpty && numOfComments === 0}\n                        />\n\n                        <div className=\"commentsContainer\">\n                            {comments.map((comment, i) =>\n                                <div key={`comment_${comment.id}`}>\n                                    <ArticleCommentWrapper\n                                        render={ArticleCommentRender}\n                                        lang={lang}\n                                        IdOfLastTalkbackExpandedByUser={IdOfLastTalkbackExpandedByUser}\n                                        handleUpdateArticleCommentsStorageState={updateArticleCommentsStorageState}\n                                        isAutoExpanded={areAllCommentsExpanded}\n                                        articleId={articleId}\n                                        comment={comment}\n                                        isFirma={null}\n                                        isFirmaMobileWeb={isFirmaMobileWeb}\n                                        handleCommentsPopupClose={handleCommentsPopupClose}\n                                        isAllCommentsPopupVisable={isAllCommentsPopupVisable}\n                                    />\n                                </div>\n                            )}\n                        </div>\n\n                        {hasMore &&\n                            <div className=\"showMoreCommentsButton\" onClick={e => loadMoreComments()}>\n                                {getTranslation(lang, \"Load More Talkbacks\")}\n                            </div>}\n\n                    </div>\n                </div>\n\n            </div>\n        )\n    }\n}","import * as classNames from \"classnames\"\nimport { AddCommentFormWrapper, AddCommentFormRenderProps } from \"../addCommentFormWrapper\";\nimport { MobileWebAddCommentFormUI } from \"./mutamAddCommentFormUI\";\nimport { ArticleCommentWrapper, ArticleCommentRender, ArticleCommentRenderProps } from \"../articleCommentWrapper\"\nimport { getTalkbackNumberView } from \"../../articleSocialShare1280Component/articleSocialShareNew1280\";\nimport { ArticleCommentMobileWebUI } from \"./mutamArticleCommentAppUI\";\nimport { MutamArticleCommentsPopupRenderProps } from \"../mutamArticleCommentsPropsWrapper\";\nimport { getTranslation } from \"../translations\"\n\ninterface ArticleCommentsPopupProps {\n    props: MutamArticleCommentsPopupRenderProps\n}\n\nexport class MutamArticleCommentsPopupUI extends React.Component<ArticleCommentsPopupProps, {}> {\n\n    private handleOnAddCommentBtnPress = (e) => {\n        const { handleFormVisibility } = this.props.props\n        handleFormVisibility()\n    }\n\n    render() {\n        const { lang, articleId, comments, IdOfLastTalkbackExpandedByUser, updateArticleCommentsStorageState, areAllCommentsExpanded, numOfComments, showFormWhenEmpty,\n            isAddCommentFormVisible, handleCloseCommentForm, isAllCommentsPopupVisable, handleCommentsPopupClose, handleCommentsPopupVisibility, isFirmaMobileWeb,\n            isPopupClose, loadMoreComments, hasMore } = this.props.props\n\n        const commentsPopupClasses = classNames({\n            \"ArticleCommentsPopup\": true,\n            \"hide\": !isAllCommentsPopupVisable && !isPopupClose,\n            \"fadeIn\": isAllCommentsPopupVisable,\n            \"fadeOut\": isPopupClose,\n        })\n        const addCommentBtnClasses = classNames({\n            \"addCommentBtn\": true,\n            \"fadeIn\": !isAddCommentFormVisible,\n            \"hide\": isAddCommentFormVisible,\n        })\n\n        let ArticleCommentRender: ArticleCommentRender;\n        ArticleCommentRender = (props: ArticleCommentRenderProps) => <ArticleCommentMobileWebUI props={props} />;\n\n        return (\n            <div>\n                <div id=\"ArticleCommentsPopup\" className={commentsPopupClasses}>\n                    <div className=\"commentsTopBar\">\n                        <div className=\"commentsTopBarHeadline\">\n                            <div className=\"tabIcon\">\n                                <div className=\"tabNumber\">{getTalkbackNumberView(numOfComments.toString())}</div>\n                            </div>\n                            <div className=\"headlineTitle\">{getTranslation(lang, \"Comments\")}</div>\n                        </div>\n                        <button className=\"popupCloseIcon\" onClick={handleCommentsPopupClose}></button>\n                    </div>\n\n                    <div className=\"commentsWrapper\">\n\n                        <div className={addCommentBtnClasses} onClick={this.handleOnAddCommentBtnPress}>{getTranslation(lang, \"New Comment(premium)\")}</div>\n\n                        <AddCommentFormWrapper\n                            render={(props: AddCommentFormRenderProps) => <MobileWebAddCommentFormUI props={props} />}\n                            isAddCommentFormVisible={isAddCommentFormVisible}\n                            lang={lang}\n                            articleId={articleId}\n                            formType={\"NEW\"}\n                            handleCloseCommentForm={handleCloseCommentForm}\n                            isFirstComment={showFormWhenEmpty && numOfComments === 0}\n                        />\n\n                        <div className=\"commentsContainer\">\n                            {comments.map((comment, i) =>\n                                <div key={`comment_${comment.id}`}>\n                                    <ArticleCommentWrapper\n                                        render={ArticleCommentRender}\n                                        lang={lang}\n                                        IdOfLastTalkbackExpandedByUser={IdOfLastTalkbackExpandedByUser}\n                                        handleUpdateArticleCommentsStorageState={updateArticleCommentsStorageState}\n                                        isAutoExpanded={areAllCommentsExpanded}\n                                        articleId={articleId}\n                                        comment={comment}\n                                        isFirma={null}\n                                        isFirmaMobileWeb={isFirmaMobileWeb}\n                                        handleCommentsPopupClose={handleCommentsPopupClose}\n                                        isAllCommentsPopupVisable={isAllCommentsPopupVisable}\n                                    />\n                                </div>\n                            )}\n                        </div>\n\n                        {hasMore &&\n                            <div className=\"showMoreCommentsButton\" onClick={e => loadMoreComments()}>\n                                {getTranslation(lang, \"Load More Talkbacks\")}\n                            </div>}\n\n                    </div>\n                </div>\n\n            </div>\n        )\n    }\n}","import { AddCommentFormRenderProps } from \"../addCommentFormWrapper\";\nimport { getTranslation } from \"../translations\";\nimport { disablePageRefresh, enablePageRefresh } from \"../../../../../siteWidgets/siteWidgetUtils\";\n\ninterface AddCommentFormProps {\n    props: AddCommentFormRenderProps\n}\n\ninterface AddCommentFormState {\n    isVisibleAfterAlertClose: boolean\n}\n\nconst FORM_CLOSE_ANIMTAION_TIME = 500;\nconst LINK_DICT = {\n    \"he\": \"https://www.ynet.co.il/home/1,7340,L-827,00.html\",\n    \"en\": \"https://www.ynetnews.com/articles/0,7340,L-3048342,00.html\",\n    \"ru\": \"https://www.vesty.co.il/articles/0,7340,L-4867560,00.html\",\n};\n\nexport class MobileWebCalcalistAddCommentFormUI extends React.Component<AddCommentFormProps, AddCommentFormState>{\n    constructor() {\n        super()\n        this.state = {\n            isVisibleAfterAlertClose: false,\n        }\n    }\n\n    shouldComponentUpdate(nextProps: AddCommentFormProps, nextState: AddCommentFormState) {\n        return this.state.isVisibleAfterAlertClose !== nextState.isVisibleAfterAlertClose\n            || this.props.props.isAddCommentFormVisible !== nextProps.props.isAddCommentFormVisible\n            || this.props.props.isSent !== nextProps.props.isSent\n            || this.props.props.title !== nextProps.props.title\n            || this.props.props.name !== nextProps.props.name\n            || this.props.props.comment !== nextProps.props.comment\n            || this.props.props.isFirstComment !== nextProps.props.isFirstComment\n    }\n\n    private formContarinerRef: HTMLDivElement;\n    private formRef: HTMLDivElement;\n    private sentAlertRef: HTMLDivElement;\n\n    private onConfirmAlertBtnPress = () => {\n        const { closeAlert, resetFormData, handleCloseCommentForm } = this.props.props\n\n        this.setState({ isVisibleAfterAlertClose: true })\n        closeAlert()\n        handleCloseCommentForm()\n        resetFormData()\n        setTimeout(() => {\n            this.setState({ isVisibleAfterAlertClose: false })\n        }, FORM_CLOSE_ANIMTAION_TIME);\n    }\n\n    handleInputFocus = () => {\n        enablePageRefresh()\n    }\n\n    handleInputOutOfFocus = () => {\n        disablePageRefresh()\n    }\n\n    render() {\n        const { isAddCommentFormVisible, isSent, title, name, comment, lang, handleCloseCommentForm, onInputChanged, handleCommentSend, isFirstComment } = this.props.props\n        const { isVisibleAfterAlertClose } = this.state\n        const termsLink = LINK_DICT[lang];\n\n        return (\n            <div className=\"MobileWebAddCommentFormUI\" style={{ maxHeight: isAddCommentFormVisible ? this.formContarinerRef.scrollHeight : 0 }} ref={ref => this.formContarinerRef = ref}>\n                <div className=\"AddCommentForm\">\n                    <div className=\"AddCommentFormContainer\" style={{ maxHeight: !isSent && !isVisibleAfterAlertClose ? this.formRef && this.formRef.scrollHeight : 0 }} ref={ref => this.formRef = ref}>\n                        {!isFirstComment &&\n                            <div className=\"topTitleWrapper\">\n                                <button className=\"closeBtnWrapper\" title={getTranslation(lang, \"Close(Order Male)\")} onClick={e => handleCloseCommentForm()}>\n                                    <span className=\"closeIcon\" />\n                                </button>\n                            </div>}\n\n                        <div className=\"userDetailsInputs\">\n                            <input\n                                className=\"userDetailsInput inputStyle\"\n                                maxLength={20}\n                                value={name}\n                                placeholder={getTranslation(lang, \"Name\")}\n                                onChange={(e) => onInputChanged(e, \"name\")}\n                                onFocus={this.handleInputFocus}\n                                onBlur={this.handleInputOutOfFocus}\n                            />\n                        </div>\n\n                        <div className=\"commentInputs\">\n                            <input\n                                className=\"title inputStyle\"\n                                type=\"text\"\n                                maxLength={60}\n                                value={title}\n                                placeholder={getTranslation(lang, \"Title\")}\n                                onChange={(e) => onInputChanged(e, \"title\")}\n                                onFocus={this.handleInputFocus}\n                                onBlur={this.handleInputOutOfFocus}\n                            />\n\n                            <textarea\n                                className=\"comment inputStyle\"\n                                type=\"text\" maxLength={4000}\n                                value={comment}\n                                placeholder={getTranslation(lang, \"Comment Content\")}\n                                onChange={(e) => onInputChanged(e, \"comment\")}\n                                onFocus={this.handleInputFocus}\n                                onBlur={this.handleInputOutOfFocus}\n                            >\n                            </textarea>\n                        </div>\n\n                        <div className=\"bottomPanel\">\n                            <div className=\"bottomPanelRow\">\n                            <div className=\"panelRowTerms\">\n                                    {\" אין לשלוח תגובות הכוללות מידע המפר את\"}\n                                <a href=\"//z.calcalist.co.il/mvc/long/2018/OrganizationalStructure/About/Terms.html\" target=\"_blank\" title={getTranslation(lang, \"terms of use\")} style={{ margin: \"auto 5px\" }} >תנאי השימוש של כלכליסט</a>\n                                    {\" לרבות דברי הסתה, דיבה וסגנון החורג מהטעם הטוב.\"}\n                                </div>\n                                <button className=\"sendBtn\" id=\"addCommentSendButton\" title={getTranslation(lang, \"Post Comment\")} onClick={e => handleCommentSend()}>\n                                    <span>{getTranslation(lang, \"Post Comment\")}</span>\n                                </button>\n                            </div>\n                        </div>\n                    </div>\n\n                    <div className=\"commentSentMessageWrapepr\" style={{ maxHeight: isSent ? this.sentAlertRef && this.sentAlertRef.scrollHeight : 0 }} ref={ref => this.sentAlertRef = ref}>\n                        <div className=\"thankYouWrapper\">\n                            <div className=\"thankYou\"><strong>{getTranslation(lang, \"Thank You\")},</strong> <span>{getTranslation(lang, \"Comment Sent Confirmation Message\")}</span></div>\n                            <button className=\"closeTextWrapper\" title={getTranslation(lang, \"Close\")} onClick={this.onConfirmAlertBtnPress}>\n                                <span className=\"closeIcon\" />\n                            </button>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}","\nrequire(\"./pplus_ynet_site_addCommentFormU1280.less\")\nimport * as classNames from \"classnames\"\nimport { AddCommentFormRenderProps } from \"../addCommentFormWrapper\";\nimport { getTranslation } from \"../translations\";\nimport { disablePageRefresh, enablePageRefresh } from \"../../../../../siteWidgets/siteWidgetUtils\";\n\ninterface AddCommentFormProps {\n    props: AddCommentFormRenderProps\n}\n\nexport class AddCommentFormUI1280 extends React.Component<AddCommentFormProps, {}>{\n    private getTermsLinkByLang = () => {\n        const { lang } = this.props.props\n        if (lang === \"he\") return \"//www.ynet.co.il/articles/0,7340,L-3049332,00.html\";\n        else if(lang===\"ru\") return \"https://www.vesty.co.il/articles/0,7340,L-4867560,00.html\";\n        else return \"//www.ynetnews.com/articles/0,7340,L-3048342,00.html\"\n    }\n\n    private onConfirmAlertBtnPress = () => {\n        const { closeAlert, resetFormData, handleCloseCommentForm } = this.props.props\n        closeAlert()\n        handleCloseCommentForm()\n        resetFormData()\n    }\n\n    handleInputFocus = () => {\n        disablePageRefresh()\n    }\n    \n    handleInputOutOfFocus = () => {\n        enablePageRefresh()\n    }\n\n    render() {\n        const { isAddCommentFormVisible, isSent, title, name, email, comment, showAlert, formType,\n            lang, alertBeforeClosing, handleCloseCommentForm, closeAlert, onInputChanged, handleCommentSend, isFirstComment } = this.props.props\n        const AddCommentFormClasses = classNames({\n            \"AddCommentFormUI1280\": true,\n            \"fadeIn\": isAddCommentFormVisible,\n            \"hide\": !isAddCommentFormVisible,\n        })\n        let term1 = \" אין לשלוח תגובות הכוללות מידע המפר את\";\n        let term2 =\"תנאי השימוש של Ynet\";\n        let term3 = \" לרבות דברי הסתה, דיבה וסגנון החורג מהטעם הטוב.\";\n        if(lang===\"en\"){\n            term1 = \"The commenter agrees to the privacy policy of Ynet News and agrees not to submit comments that violate the \";\n            term2 = \"terms of use\";\n            term3 = \", including incitement, libel and expressions that exceed the accepted norms of freedom of speech.\";\n        }\n        if(lang===\"ru\"){\n            term1 = \"Автор комментария принимает Условия конфиденциальности Вести и соглашается не публиковать комментарии, нарушающие \";\n            term2 = \"Правила использования\";\n            term3 = \",  в том числе подстрекательство, клевету и выходящее за рамки приемлемого в определении свободы слова.\";\n        }\n        return (\n            <div className={AddCommentFormClasses}>\n                <div className=\"AddCommentForm\" >\n                    {!isSent &&\n                        <div className=\"AddCommentFormContainer\">\n                        {!isFirstComment && <div className=\"topTitleWrapper\">\n                            <span className=\"formTitle\"> {formType === \"REPLY\" ? getTranslation(lang, \"Add New Comment To Comment\") : getTranslation(lang, \"Add New Comment\")} </span>\n                                <button className=\"closeBtnWrapper\" title={getTranslation(lang, \"Close(Order Male)\")} onClick={e => alertBeforeClosing()}>\n                                    <span className=\"closeIcon\" />\n                                    <span>{getTranslation(lang, \"Close\")}</span>\n                                </button>\n                        </div>}\n                            {showAlert && <div className=\"commentSentMessageWrapepr alertMessage\">\n                                <div className=\"alertText\"><span>{`${getTranslation(lang, \"Warning\")}`}</span></div>\n                                <div className=\"successfullySentText\"><span>{`${getTranslation(lang, \"This Action Will Delete You Comment\")}`}</span></div>\n                                <div className=\"bottomPanel\">\n                                    <button className=\"closeText\" title={getTranslation(lang, \"Confirm\")} onClick={this.onConfirmAlertBtnPress}><span>{getTranslation(lang, \"Confirm\")}</span></button>\n                                    <button className=\"closeText\" title={getTranslation(lang, \"Cancel\")} onClick={e => closeAlert()}><span>{getTranslation(lang, \"Cancel\")}</span></button>\n                                </div>\n                            </div>}\n                            <div className=\"userDetailsInputs\">\n                            <input\n                                className=\"userDetailsInput inputStyle\"\n                                maxLength={20}\n                                value={name}\n                                placeholder={getTranslation(lang, \"Name\")}\n                                onChange={(e) => onInputChanged(e, \"name\")}\n                                onFocus={this.handleInputFocus}\n                                onBlur={this.handleInputOutOfFocus}\n                            />\n                            <input\n                                className=\"userDetailsInput inputStyle\"\n                                maxLength={35} value={email}\n                                placeholder={getTranslation(lang, \"Email\")}\n                                onChange={(e) => onInputChanged(e, \"email\")}\n                                onFocus={this.handleInputFocus}\n                                onBlur={this.handleInputOutOfFocus}\n                            />\n                            </div>\n                            <div className=\"commentInputs\">\n                            <input\n                                className=\"title inputStyle\"\n                                type=\"text\"\n                                maxLength={60}\n                                value={title}\n                                placeholder={getTranslation(lang, \"Title\")}\n                                onChange={(e) => onInputChanged(e, \"title\")}\n                                onFocus={this.handleInputFocus}\n                                onBlur={this.handleInputOutOfFocus}\n                            />\n                            <textarea\n                                className=\"comment inputStyle\"\n                                type=\"text\" maxLength={4000}\n                                value={comment}\n                                placeholder={getTranslation(lang, \"Comment Content\")}\n                                onChange={(e) => onInputChanged(e, \"comment\")}\n                                onFocus={this.handleInputFocus}\n                                onBlur={this.handleInputOutOfFocus}\n                            >\n                            </textarea>\n                            </div>\n                            <div className=\"bottomPanel\">\n                            <div className=\"bottomPanelRow\">\n                                <div className=\"termsOfService\">\n                                {term1}\n                                    <a href={this.getTermsLinkByLang()} target=\"_blank\" title={getTranslation(lang, \"terms of use\")} style={{ margin: \"auto 5px\" }} >{term2}</a>\n                                    {term3}\n                                </div>\n                                    <button className=\"sendBtn\" id=\"addCommentSendButton\" title={getTranslation(lang, \"Post Comment\")} onClick={e => handleCommentSend()}>\n                                        <span>{getTranslation(lang, \"Post Comment\")}</span>\n                                    </button>\n                                </div>\n                            </div>\n                        </div>}\n\n                    {isSent && <div className=\"commentSentMessageWrapepr\">\n                        <div className=\"thankYouWrapper\">\n                            <div className=\"thankYou\"><strong >{getTranslation(lang, \"Thank You\")},</strong> <span>{getTranslation(lang, \"Comment Sent Confirmation Message\")}</span></div>\n                            <button className=\"closeTextWrapper\" title={getTranslation(lang, \"Close\")} onClick={this.onConfirmAlertBtnPress}>\n                                <span className=\"closeIcon\" />\n                                <span className=\"closeTextLabel\" >{getTranslation(lang, \"Close\")}</span>\n                            </button>\n                        </div>\n                    </div>}\n                </div>\n\n            </div>\n        )\n    }\n}","import * as classNames from \"classnames\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { ArticleCommentRenderProps } from \"../articleCommentWrapper\";\n\n\n\ninterface ArticleCommenUI1280Props {\n    props: ArticleCommentRenderProps\n}\n\nexport class ArticleCommentAppUI extends React.Component<ArticleCommenUI1280Props, {}>{\n    render() {\n        const { lang, isExpanded, vote, talkback_like, likes, unlikes, toggleOpenedState, commentFormType, articleId,\n            handleVoteButtonsClick,\n            comment: {\n                id,\n                number,\n                title,\n                text,\n                author,\n                pubDate,\n                level,\n                recommended,\n                talkback_source,\n            } } = this.props.props\n\n        const articlePublishDate = separateHourFromDateAndFormatToString(pubDate, { showHour: true, dateTimeSeperator: \" | \" })\n        const expandedCommentClasses = classNames({\n            \"ArticleCommentApp\": true,\n            \"expanded\": isExpanded,\n            \"level1\": level === 1,\n            \"level2\": level === 2,\n        })\n\n\n\n        const commentTitleClasses = classNames({\n            \"commentTitle\": true,\n            \"redTitleText\": recommended,\n        })\n        const commentTextStyles = classNames({\n            \"commentText\": true,\n            \"level1\": level === 1,\n            \"level2\": level === 2,\n        })\n        const extendedBottomWrapperStyles = classNames({\n            \"bottomButtonsWrapper\": true,\n            \"level1\": level === 1,\n            \"level2\": level === 2,\n        })\n        const commentNumClasses = classNames({\n            \"commentNum\": true,\n           // \"redTitleText\": recommended,\n        })\n        const positiveLikes = likes < 0 ? 0 : likes\n        const positiveUnlikes = unlikes < 0 ? 0 : unlikes\n        return (\n            <div id=\"ArticleCommentApp\" className={expandedCommentClasses}>\n                <div className=\"topView\" >\n\n                    <div className=\"topLeftView\">\n\n                        <div className=\"commentDetailsWrapper\">\n                            {level === 1 && <div className={`num-pf ${commentNumClasses}`}>{number}.</div>}\n                            {level === 2 && <div className=\"level2ArrowContainer\"><span className=\"level2Arrow-pf\" /></div>}\n                            <div className={`title-pf ${commentTitleClasses}`} onClick={toggleOpenedState}>   <span>{title}</span>\n                                {text.length === 0 && <span>{\"(לת)\"}</span>}\n                            </div>\n\n                        </div>\n                        {isExpanded && text.length > 0 && <div className={`text-pf ${commentTextStyles}`}>{text}</div>}\n\n                        <div className=\"details-pf\">\n                            <div>\n                                {author !== \"\" ? <span className=\"author\">{`${author}`}</span> : null}\n                                {author !== \"\" && <span className=\"span-pf\">|</span>}\n                                <span className=\"publishDate date-pf\"> {`${articlePublishDate}${talkback_source ? \" , \" + talkback_source : \"\"}`}</span>\n\n                            </div>\n                            <a className=\"commentToComent-pf\" title=\"הגיבו לתגובה\"\n                                    href={`add_new_comment_to_commment/${id}`}>\n                                    <span>הגיבו לתגובה</span>\n                            </a>\n                        </div>\n\n                    </div>\n                </div>\n\n\n\n\n\n            </div>)\n    }\n}","import { ArticleCommentsTopTabRenderProps } from \"../articleCommentsTopTabWrapper\"\nimport { getTalkbackNumberView } from \"../../articleSocialShare1280Component/articleSocialShareNew1280\";\n\ninterface ArticleCommentsTopTabUI1280rops {\n    props: ArticleCommentsTopTabRenderProps\n}\n\nexport class ArticleCommentsTopTabAppUI extends React.Component<ArticleCommentsTopTabUI1280rops, {}>{\n\n\n    render() {\n        const { numOfComments } = this.props.props\n        return (\n            <div className=\"ArticleCommentsTopTabAppUI-pf\">\n\n                <div className=\"tabTitle\">\n                    <span className=\"tbIcon-pf\">{getTalkbackNumberView(numOfComments.toString())}</span>\n                    <span className=\"com-pf\">תגובות</span></div>\n                <div className=\"tabPanel\">\n                    <a\n                        key=\"newCommentBtn\"\n                        className=\"newCommentBtn-pf\"\n                        title=\"הוספת תגובה\"\n                        href=\"add_new_comment\"\n                    >\n                        <span>הוספת תגובה</span>\n                    </a>\n                </div>\n            </div >\n        )\n    }\n}","import * as classNames from \"classnames\"\n\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { ArticleCommentRenderProps } from \"../articleCommentWrapper\";\nimport { getTranslation } from \"../translations\";\nimport { AddCommentFormWrapper, AddCommentFormRenderProps } from \"../addCommentFormWrapper\";\nimport { AddCommentFormUI1280 } from \"./ynetAddCommentFormUI1280\";\nrequire(\"./pplus_ynet_site_articleCommentUI1280.less\")\n\ninterface ArticleCommenUI1280Props {\n    props: ArticleCommentRenderProps\n}\n\nexport class ArticleCommentUI1280 extends React.Component<ArticleCommenUI1280Props, {}>{\n    render() {\n        const { lang, isExpanded, vote, talkback_like, likes, unlikes, toggleOpenedState, commentFormType, articleId,\n            isAddCommentFormVisible, handleVoteButtonsClick, handleFormVisibility, handleCloseCommentForm,\n            comment: {\n                id,\n                number,\n                title,\n                text,\n                author,\n                pubDate,\n                level,\n                recommended,\n                talkback_source,\n            } } = this.props.props\n\n        const articlePublishDate = separateHourFromDateAndFormatToString(pubDate, { showHour: false, dateTimeSeperator: \"|\" })\n        const expandedCommentClasses = classNames({\n            \"ArticleComment1280\": true,\n            \"expanded\": isExpanded,\n            \"level1\": level === 1,\n            \"level2\": level === 2,\n        })\n\n        const likeClasses = classNames({\n            \"likeSvg\": true,\n            \"likePressed\": vote === 1,\n        })\n\n\n        const dislikeClasses = classNames({\n            \"dislikeSvg\": true,\n            \"dislikePressed\": vote === -1,\n        })\n\n        const commentTitleClasses = classNames({\n            \"commentTitle\": true,\n            \"redTitleText\": recommended,\n            \"expanded\": isExpanded\n        })\n        const commentTextStyles = classNames({\n            \"commentText\": true,\n            \"level1\": level === 1,\n            \"level2\": level === 2,\n            \"expanded\": isExpanded\n        })\n        const extendedBottomWrapperStyles = classNames({\n            \"bottomButtonsWrapper\": true,\n            \"level1\": level === 1,\n            \"level2\": level === 2,\n        })\n        const commentNumClasses = classNames({\n            \"commentNum\": true,\n            //\"redTitleText\": recommended,\n        })\n        const positiveLikes = likes < 0 ? 0 : likes\n        const positiveUnlikes = unlikes < 0 ? 0 : unlikes\n        return (\n            <div id=\"ArticleComment1280\" className={expandedCommentClasses}>\n                <div className=\"topView\" >\n                    {level === 1 && <div className={commentNumClasses} onClick={(e) => toggleOpenedState()}>{number}.</div>}\n                    {level === 2 && <div className=\"level2ArrowContainer\" onClick={(e) => toggleOpenedState()}><span className=\"level2Arrow\" /></div>}\n                    <div className=\"topLeftView\">\n\n                        <div className=\"commentDetailsWrapper\" >\n\n                            <div className={commentTitleClasses} onClick={(e) => toggleOpenedState()}>   <span>{title}</span>\n                                {text.length === 0 && <span>{getTranslation(lang, \"Empty Content\")}</span>}\n                            </div>\n                        </div>\n                        <div className={commentTextStyles}>{text}</div>\n\n                        <div className=\"details\">\n\n                            <div>  {author !== \"\" ? <span className=\"author\">{`${author}`}</span> : null}\n                                {author !== \"\" && <span>|</span>}\n                                <span className=\"publishDate\"> {`${articlePublishDate}${talkback_source ? \" , \" + talkback_source : \"\"}`}</span></div>\n                            <div>\n                                <div className=\"voteButtonsWrapper\">\n                                    <span className=\"likesCounter\">{positiveLikes}</span>\n                                    <svg className={likeClasses}\n                                        onClick={(e) => handleVoteButtonsClick(true, \"3state\")}\n                                        xmlns=\"http://www.w3.org/2000/svg\" width=\"13\" height=\"14\" viewBox=\"0 0 13 14\">\n                                        <g fill=\"none\" fillRule=\"evenodd\">\n                                            <g stroke=\"#888\" strokeWidth=\".6\">\n                                                <g>\n                                                    <g transform=\"translate(-931 -355) translate(932 353) rotate(-180 5.5 7.5)\">\n                                                        <path d=\"M2.4 6.071c.945-.786 1.417-1.902 1.417-3.35V.925c0-.51.414-.925.925-.925.599 0 1.131.382 1.324.949.233.686.35 1.382.35 2.087V5.48h2.848c.848 0 1.536.688 1.536 1.536v.862c0 .648-.577 1.802-1.73 3.463-.288.413-.76.659-1.262.659H3.749c-.418 0-.818-.17-1.108-.472l-.241-.251h0V6.07z\" />\n                                                        <rect width=\"2.4\" height=\"6\" y=\"6\" rx=\".768\" />\n                                                    </g>\n                                                </g>\n                                            </g>\n                                        </g>\n                                    </svg>\n                                    <span className=\"likesCounter unlikesCounter\">{positiveUnlikes}</span>\n                                    <svg\n                                        className={dislikeClasses}\n                                        onClick={(e) => handleVoteButtonsClick(false, \"3state\")}\n                                        xmlns=\"http://www.w3.org/2000/svg\" width=\"13\" height=\"14\" viewBox=\"0 0 13 14\">\n                                        <g fill=\"none\" fillRule=\"evenodd\">\n                                            <g stroke=\"#888\" strokeWidth=\".6\">\n                                                <g>\n                                                    <g transform=\"translate(-931 -355) translate(932 353) rotate(-180 5.5 7.5)\">\n                                                        <path d=\"M2.4 6.071c.945-.786 1.417-1.902 1.417-3.35V.925c0-.51.414-.925.925-.925.599 0 1.131.382 1.324.949.233.686.35 1.382.35 2.087V5.48h2.848c.848 0 1.536.688 1.536 1.536v.862c0 .648-.577 1.802-1.73 3.463-.288.413-.76.659-1.262.659H3.749c-.418 0-.818-.17-1.108-.472l-.241-.251h0V6.07z\" />\n                                                        <rect width=\"2.4\" height=\"6\" y=\"6\" rx=\".768\" />\n                                                    </g>\n                                                </g>\n                                            </g>\n                                        </g>\n                                    </svg>\n\n                                </div>\n\n                                <button className=\"commentToComent\" title={getTranslation(lang, \"Comment To Coment\")} disabled={isAddCommentFormVisible}\n                                    onClick={e => handleFormVisibility(\"REPLY\")}>\n                                    <span> {getTranslation(lang, \"Comment To Coment\")}</span>\n                                </button>\n                            </div>\n\n\n                        </div>\n\n\n                    </div>\n                </div>\n                <AddCommentFormWrapper\n                            render={(props: AddCommentFormRenderProps) => <AddCommentFormUI1280 props={props} />}\n                            lang={lang}\n                            articleId={articleId}\n                            formType={commentFormType}\n                            handleCloseCommentForm={handleCloseCommentForm}\n                            parentTalkbackId={id}\n                            isAddCommentFormVisible={isAddCommentFormVisible}\n                />\n\n            </div>)\n    }\n}","import { ArticleCommentsTopTabRenderProps } from \"../articleCommentsTopTabWrapper\"\nimport { getTranslation } from \"../translations\"\nimport { getTalkbackNumberView } from \"../../articleSocialShare1280Component/articleSocialShareNew1280\";\n\nrequire(\"./pplus_ynet_site_articleCommentsTopTabUI1280.less\")\n\ninterface ArticleCommentsTopTabUI1280rops {\n    props: ArticleCommentsTopTabRenderProps\n}\n\nexport class ArticleCommentsTopTabUI1280 extends React.Component<ArticleCommentsTopTabUI1280rops, {}>{\n    private handleOnAddCommentBtnPress = (e) => {\n        const { handleFormVisibility } = this.props.props\n        handleFormVisibility()\n    }\n\n    render() {\n        const { lang, isLtr, numOfComments, sortSelection, isAddCommentFormVisible,\n            handleSortSelection } = this.props.props\n        return (\n            <div className=\"ArticleCommentsTopTabUI1280\">\n\n                <div className=\"tabTitle\">\n                    <span className=\"tbIcon\">{getTalkbackNumberView(numOfComments.toString())}</span>\n                    <span>{getTranslation(lang, \"Comments\")}</span></div>\n                <div className=\"tabPanel\">\n                    {!isAddCommentFormVisible && <button\n                        key=\"newCommentBtn\"\n                        className=\"newCommentBtn\"\n                        title={getTranslation(lang, \"New Comment\")}\n                        disabled={isAddCommentFormVisible}\n                        onClick={this.handleOnAddCommentBtnPress}>\n                        <span>{getTranslation(lang, \"New Comment(premium)\")}</span>\n                    </button>}\n                </div>\n            </div >\n        )\n    }\n}","import { MailShareButton } from \"../../../../siteWidgets/socialShareButtons/mail/mailShareButton\";\nimport { WhatsAppShareButton } from \"../../../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\";\nimport { openFacebookShare, analyticsPushFunc } from \"../../../../widgetsUtils\"\n\nexport class SiteArticleHeaderMobileShare extends React.Component<{ lang: string, title: string}, {}> {\n    public static siteScriptName = \"SiteArticleHeaderShareMobileWrapper\"\n    private whatsAppIcon = \"/images/ynetnewsresp/footer-whats.png\"\n    private facebookIcon = \"/images/ynetnewsresp/facebook_icon.png\"\n    private mailIcon = \"/images/ynetnewsresp/send_icon.png\"\n    private telegramIcon = \"/images/telegram50x50.png\"\n\n    private handleShareBtnClicked = (button: string, lang?: string) => {\n        const {title} = this.props;\n        if (typeof window !== \"undefined\") {\n            const current_url = window.location.href;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(current_url, \"\", () => analyticsPushFunc(\"Facebook\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"whatsapp\":\n                    WhatsAppShareButton.openWhatsAppShare(current_url, () => analyticsPushFunc(\"Whatsapp\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"mailto\":\n                    MailShareButton.openMailShare(document.title, current_url, lang, () => analyticsPushFunc(\"Mail\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"te\":\n                    location.href = 'https://t.me/vestyisrael';\n                    break;\n            }\n        }\n    }\n\n    public render() {\n        const { lang } = this.props\n        return (\n            <span className=\"ArticleHeaderShareMobileComponent\">\n                {(lang === \"ru\") && <button title=\"telegram\" className=\"te\"\n                    onClick={e => this.handleShareBtnClicked(\"te\", lang)}>\n                    <img src={this.telegramIcon} aria-hidden={true} /></button>\n                }\n                <button title=\"whatsapp\" className=\"whatsapp\"\n                    onClick={e => this.handleShareBtnClicked(\"whatsapp\")}>\n                    <img src={this.whatsAppIcon} aria-hidden={true} /></button>\n                <button title=\"facebook\" className=\"fb\" onClick={e => this.handleShareBtnClicked(\"fb\")}>\n                    <img src={this.facebookIcon} aria-hidden={true} /></button>\n                <button title=\"send mail\" className=\"mailto\"\n                    onClick={e => this.handleShareBtnClicked(\"mailto\", lang)}>\n                    <img src={this.mailIcon} aria-hidden={true} /></button>\n            </span>\n\n        )\n    }\n}","import { MailShareButton } from \"../../../../siteWidgets/socialShareButtons/mail/mailShareButton\";\nimport { openFacebookShare, openTwitterShare, analyticsPushFunc } from \"../../../../widgetsUtils\"\n\nexport class SiteArticleHeaderShare extends React.Component<{ lang: string, title?: string }, {}> {\n    public static siteScriptName = \"SiteArticleHeaderShare\"\n    private twitterIcon = \"/images/twit.png\"\n    private facebookIcon = \"/images/fb.png\"\n    private mailIcon = \"/images/mailme.png\"\n    private telegramIcon = \"/images/telegram50x50.png\"\n    private handleShareBtnClicked = (button: string, lang: string) => {\n        const {title} = this.props;\n        if (typeof window !== \"undefined\") {\n            const current_url = window.location.href;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(current_url, \"\", () => analyticsPushFunc(\"Facebook\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"tw\":\n                    openTwitterShare(current_url, () => analyticsPushFunc(\"Twitter\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"mailto\":\n                    MailShareButton.openMailShare(document.title, current_url, lang, () => analyticsPushFunc(\"Mail\", \"Article Top\", title), \"Article Top\")\n                    break;\n                case \"te\":\n                    location.href = 'https://t.me/vestyisrael';\n                    break;\n            }\n        }\n    }\n\n    public render() {\n        const { lang } = this.props\n\n        let textMail\n        let textTw\n        let textFb\n        let textTe\n        if (lang === \"he\") {\n            textMail = \"שלחו כתבה\"\n            textTw = \"שיתוף בטוויטר\"\n            textFb = \"שיתוף בפייסבוק\"\n            textTe = \"צפו בטלגרם\"\n        }\n        else {\n            textMail = \"\"\n            textTw = \"\"\n            textFb = \"\"\n            textTe = \"\"\n        }\n\n        return (\n            <span className=\"ArticleHeaderShareComponent\">\n                <button title={textMail} className=\"mailto\"\n                    onClick={e => this.handleShareBtnClicked(\"mailto\", lang)}>\n                    <img src={this.mailIcon} aria-hidden={true} /></button>\n                <button title={textTw} className=\"tw\"\n                    onClick={e => this.handleShareBtnClicked(\"tw\", lang)}>\n                    <img src={this.twitterIcon} aria-hidden={true} /></button>\n                <button title={textFb} className=\"fb\" onClick={e => this.handleShareBtnClicked(\"fb\", lang)}>\n                    <img src={this.facebookIcon} aria-hidden={true} /></button>\n                {(lang === \"ru\") && <button title={textTe} className=\"te\" onClick={e => this.handleShareBtnClicked(\"te\", lang)}>\n                    <img src={this.telegramIcon} aria-hidden={true} /></button>\n                }\n            </span>\n\n        )\n    }\n}\n\n","import { openFacebookShare, analyticsPushFunc, openWhatsAppShare, openTelegramShare, openTwitterShare, openMailShare } from \"../../../../widgetsUtils\"\nimport { getTalkbackNumberView, toggleSpotImPopUp } from \"../articleSocialShare1280Component/articleSocialShareNew1280\";\nimport { FrontCopyButton } from \"../../../../commonComponents/inline/frontCopyButton/frontCopyButton\";\n\ninterface ArticleAppHeaderShareProps {\n    url: string\n    title?: string\n    lang?: string\n    domain: string\n    isSpotim?: boolean\n    isMagazineArticle?: boolean\n}\ninterface ArticleAppHeaderShareState {\n    showComment: boolean\n    wcmNumOfComments: string\n}\nexport class ArticleMobileHeaderShareComponent extends React.Component<ArticleAppHeaderShareProps, ArticleAppHeaderShareState>{\n    public static siteScriptName = \"ArticleMobileHeaderShareComponent\";\n    public ON_WCM_COMMENTS_RECIVED = \"onWcmCommetnsRecived\";\n    constructor(props) {\n        super(props)\n        this.state = {\n            showComment: true,\n            wcmNumOfComments: '',\n        }\n    }\n    private openShare = async () => {\n        const { domain } = this.props;\n        const current_url = `${window.location.href}?utm_source=${domain}&utm_medium=social&utm_campaign=general_share`;\n        const shareData = { url: current_url }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    private handleCommentsPopupVisability = () => {\n        if (this.props.isSpotim) {\n            const commentsPopUp = document.querySelector('.spotimWrapper');\n            if (commentsPopUp) {\n                toggleSpotImPopUp(commentsPopUp)\n            }\n        }\n        else if (typeof window !== \"undefined\") {\n            window.handleCommentsPopupVisability && window.handleCommentsPopupVisability();\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(this.ON_WCM_COMMENTS_RECIVED, this.handleOnWcmCommentsRecived);\n        const comments = document.getElementById(\"SiteArticleComments\") || document.querySelector(\".spotimWrapper\");\n        const isBlogArticle = document.querySelector(\".articleBlogsSpotimWrapper\");\n\n        if (!comments || isBlogArticle) {\n            this.setState({\n                showComment: false\n            })\n        }\n    }\n\n    componentWillUnmount(): void {\n        document.removeEventListener(this.ON_WCM_COMMENTS_RECIVED, this.handleOnWcmCommentsRecived);\n    }\n\n    private handleOnWcmCommentsRecived = (e) => {\n        this.setState({ wcmNumOfComments: e.detail.wcmNumOfComments });\n    };\n\n    render() {\n        const { url, title, lang, isSpotim, isMagazineArticle } = this.props;\n        const { showComment, wcmNumOfComments } = this.state;\n        const numOfComments = getTalkbackNumberView(wcmNumOfComments.toString());\n        const isHebrew = lang.includes(\"he\");\n        let commentsText = \"תגובות\";\n        let Sitename = \" Ynet \"\n        if (lang === \"en\") {\n            commentsText = \"Comments\"\n        }\n        if (lang === \"ru\") {\n            commentsText = \"Комментарии: \"\n        }\n        if (lang === \"ar\") {\n            commentsText = \"التعليقات\"\n            Sitename = \" Radionas \"\n        }\n        if (numOfComments.length === 0) {\n            commentsText = \"הוספת תגובה\"\n            if (lang === \"en\") {\n                commentsText = \"Add a comment\"\n            }\n            if (lang === \"ru\") {\n                commentsText = \"Обсудить\"\n            }\n            if (lang === \"ar\") {\n                commentsText = \"اضف تعليق\"\n            }\n        }\n\n        const text = lang === \"ru\" ? `${commentsText} ${numOfComments} ` : ` ${numOfComments}   ${commentsText}`\n        const telegramButton = lang === \"ru\" ? <div className=\"icon tgBtn iconShare-pf\" onClick={() => openTelegramShare(url, () => analyticsPushFunc(\"Telegram\", \"Article\", title), \"Article\")}></div> : null;\n        const twitterBtn = (lang === \"ar\" || isMagazineArticle) ? <div className=\"icon twBtn iconShare-pf\" onClick={() => openTwitterShare(url, () => analyticsPushFunc(\"Twitter\", \"Article\", title), \"Article\")}></div> : null;\n        const mailBtn = (lang === \"ar\" || isMagazineArticle) ? <div className=\"icon mailto iconShare-pf\" onClick={() => openMailShare(title, Sitename, url, () => analyticsPushFunc(\"Mail\", \"Article\", title), \"Article\")}></div> : null;\n        const isApp = typeof window !== \"undefined\" && window.location.href.indexOf(\"IsApp\") != -1;\n        const shareBtn = isApp ? <a href=\"share_article\" title={\"share\"} className=\"icon shareBtn iconShare-pf\"></a> : <div className=\"icon shareBtn iconShare-pf\" onClick={this.openShare}></div>\n        return (\n            <div className=\"commentsAndShareWrapper\">\n                <div className=\"articleShareButtons\" >\n                    <div className=\"icon fcBtn iconShare-pf\" onClick={() => openFacebookShare(url, title, () => analyticsPushFunc(\"Facebook\", \"Article\", title), \"Article Main Image\")}></div>\n                    <div className=\"icon whBtn iconShare-pf\" onClick={() => openWhatsAppShare(url, () => analyticsPushFunc(\"Whatsapp\", \"Article\", title), \"Article\")}></div>\n                    {telegramButton}\n                    {twitterBtn}\n                    {mailBtn}\n                    {!isMagazineArticle ? shareBtn : null}\n                    {isHebrew && <FrontCopyButton popupText=\"הועתק אל הלוח\" />}\n                </div>\n\n                {showComment && <div className=\"commentsBtn mutamCommentsBtn-pf\" onClick={this.handleCommentsPopupVisability}>\n                    <div className=\"commentsIcon commentsIcon-pf\"></div>\n                    {isSpotim ? <span id=\"spotimCmtCounter\" /> : text}\n                </div>}\n            </div>\n        )\n    }\n}\n","import * as axios from \"axios\"\nimport { addAxiosDateTransformerSettings } from \"../../../../../../utils/network/axiosDateTransformer\";\nimport { format, register } from 'timeago.js'\nimport { hebrewTimeAgoTranslate, russianTimeAgoTranslate } from \"../../../../../siteWidgets/siteWidgetUtils\";\nimport { ArticleHotUpdateItem } from \"./articleHotUpdateItem\";\n\ninterface ArticleHotUpdateComponentProps {\n    hotUpdateId: string\n    lang: string\n    domain: string\n}\n\ninterface ArticleHotUpdateComponentState {\n    name: string\n    updateTimeColor: string\n    borderColor: string\n    items: ArtilceHotUpdateItems[]\n}\n\nexport interface ArtilceHotUpdateItems {\n    title: string\n    itemId: string\n    publishLink: string\n    createdAt: Date\n}\n\nexport class ArticleHotUpdateComponent extends React.Component<ArticleHotUpdateComponentProps, ArticleHotUpdateComponentState>{\n    public static siteScriptName = \"SiteHotUpdateComponenta\"\n    constructor(props: ArticleHotUpdateComponentProps) {\n        super(props)\n        this.state = {\n            name: \"\",\n            updateTimeColor: \"\",\n            borderColor: \"\",\n            items: []\n        }\n    }\n\n    componentDidMount() {\n        const { hotUpdateId, lang } = this.props;\n        if (hotUpdateId) {\n            this.setLangTranslate(lang)\n            this.setArticles(hotUpdateId)\n            setInterval(() => {\n                this.setArticles(hotUpdateId)\n            }, 60000);\n        }\n    }\n\n    setLangTranslate = (lang: string) => {\n        switch (lang) {\n            case \"he\":\n                register(lang, hebrewTimeAgoTranslate);\n                break;\n            case \"ru\":\n                register(lang, russianTimeAgoTranslate);\n                break;\n            default:\n                //default lang is en\n                break;\n        }\n    }\n\n    private setArticles(hotUpdateId) {\n        const { domain } = this.props\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        axiosInstance.get(`${domain}/iphone/json/api/hot_updates/${hotUpdateId}`)\n            .then((res: any) => {\n                const hotUpdateEntity = res.data as ArticleHotUpdateComponentState\n                this.setState(hotUpdateEntity);\n            })\n            .catch(err => console.error(\"error geting hot update data:\", err))\n    }\n\n    render() {\n        const { items, name, updateTimeColor, borderColor } = this.state\n        const { lang } = this.props\n\n        const updates = !!items.length && _.map(items, i => {\n            const startTime = i.createdAt;\n            const endTime = new Date();\n            const difference = endTime.getTime() - startTime.getTime(); // This will give difference in milliseconds\n            const resultInMinutes = Math.floor(difference / 60000);\n            const finalResult = resultInMinutes < 2 ? \"עכשיו\" : format(i.createdAt, lang)\n            return (\n                <ArticleHotUpdateItem\n                    {...i}\n                    key={i.itemId}\n                    updatedTime={finalResult}\n                    updateTimeColor={updateTimeColor}\n                />\n            )\n        })\n\n        return (\n            <div>\n                {!!items.length &&\n                    <div className=\"article-hot-updates\">\n                        <div className=\"hot-update-header\" style={{ backgroundColor: borderColor }}>\n                            <div className=\"hot-update-event-title\">\n                            <div className=\"small-clock-pf\"></div>\n                            <div>{name}</div>\n                            </div>\n                        </div>\n                    <div className=\"hot-update-item-container\">\n                            {updates}\n                        </div>\n                    </div>}\n            </div>\n        )\n    }\n}","import { ArtilceHotUpdateItems } from \"./articleHotUpdateComponent\";\n\ninterface articleHotUpdateItemProps extends ArtilceHotUpdateItems {\n    updatedTime: string\n    updateTimeColor: string\n}\n\nexport const ArticleHotUpdateItem = (props: articleHotUpdateItemProps) => {\n    const { updateTimeColor, updatedTime, title, publishLink } = props\n    const isNew = updatedTime === \"עכשיו\"\n    return (\n        <div className={isNew ? \"hot-update-item-pf now\" : \"hot-update-item-pf\"}>\n            <a href={publishLink ? publishLink : \"javascript:void(0)\"} style={publishLink ? {} : { cursor: \"context-menu\" }}>\n                <div className=\"time-row\" style={{ display: \"flex\", alignItems: \"center\" }}>\n                    <div className=\"item-circle-pf\" />\n                    <div className=\"item-time\">{updatedTime}</div>     \n                </div>\n                <div className=\"item-title space-pf\">{title}</div>\n            </a>\n        </div>\n    )\n}\n\nArticleHotUpdateItem.displayName = 'ArticleHotUpdateItem' as any\n","\nimport { Splide, SplideSlide } from '@splidejs/react-splide';\nimport { SiteLayoutType } from '../../../../../pagesPage/stateInterfaces';\nimport { ArticleImagesFullScreenGallery } from '../articleImagesFullScreenGallery/articleImagesFullScreenGallery';\nimport { ArticleImageGallery } from \"./articleImageGalleryComponenta\"\n\n\ninterface ArticleImageSliderGalleryComponentaProps {\n  images: ArticleImageGallery[]\n  articleId: string\n  siteLayoutType: SiteLayoutType\n  mainOptions: any\n  componentaId?: string\n  thumbOptions: any\n  imagesJson?: string\n}\n\ninterface ArticleImageSliderGalleryComponentaState {\n  currentIndex: number\n  showFullScreenGallery: boolean\n}\n\nexport default class ArticleImageSliderGalleryComponenta extends React.Component<ArticleImageSliderGalleryComponentaProps, ArticleImageSliderGalleryComponentaState> {\n\n  constructor(props: ArticleImageSliderGalleryComponentaProps) {\n    super(props);\n    this.state = {\n      currentIndex: 0,\n      showFullScreenGallery: false\n    };\n  }\n\n  public static siteScriptName = \"ArticleImageSliderGalleryComponenta\";\n  private mainRef;\n  private thumbsRef;\n  private translateX = 0;\n  private sliderRange;\n\n  componentDidMount(): void {\n    if (this.mainRef && this.thumbsRef && this.thumbsRef.splide) {\n      this.mainRef.sync(this.thumbsRef.splide);\n    }\n  }\n\n  renderSlides = (isMainImage) => {\n    return this.props.images.map((item, index) => {\n      const { componentaId, siteLayoutType } = this.props;\n      return <SplideSlide key={item.imageId}>\n        {isMainImage && siteLayoutType === 'mobileApp' ?\n          (<a data-href=\"image_gallery\" href={`image_gallery?componentaId=${componentaId}&index=${index}&imageId=${item.imageId}&type=.jpg`}>\n            <img src={item.imageSrc} alt={item.caption} />\n          </a>)\n          : <img src={item.imageSrc} alt={item.caption} />}\n      </SplideSlide>\n    })\n  }\n\n  handleSliderMove = (splideObj, index: number) => {\n    this.setState({\n      currentIndex: index,\n    });\n  }\n\n\n  handleOpenGallery = () => {\n    this.setState({ showFullScreenGallery: true })\n    document.body.style.overflow = \"hidden\";\n  }\n\n  handleCloseGallery = (index) => {\n    this.setState({ showFullScreenGallery: false, currentIndex: index }, () => {\n      this.thumbsRef.splide.Components.Controller.go(index)\n    })\n    document.body.style.overflow = \"auto\";\n  }\n\n\n  render() {\n\n    const { images, mainOptions, thumbOptions, componentaId, siteLayoutType, imagesJson, articleId } = this.props;\n    const { currentIndex, showFullScreenGallery } = this.state;\n\n    return (\n      <div className=\"ArticleImageSliderGalleryComponenta\">\n        <ArticleImagesFullScreenGallery\n          open={this.handleOpenGallery}\n          close={this.handleCloseGallery}\n          show={showFullScreenGallery}\n          siteLayoutType={siteLayoutType}\n          index={currentIndex} isLtr={false}\n          images={images} articleId={articleId}\n        />\n        {siteLayoutType === 'mobileApp' && < script type=\"text/javascript\" dangerouslySetInnerHTML={{ __html: `const galleryImagesArrayObjects_${componentaId} = ${imagesJson}` }} />}\n        <div className=\"main-gallery\">\n          {siteLayoutType === 'mobileApp' ? (<a data-href=\"image_gallery\" href={`image_gallery?componentaId=${componentaId}&index=${currentIndex}&imageId=${images[currentIndex].imageId}&type=.jpg`}>\n            <div className=\"fullscreen-gallery-icon-pf\"></div></a>)\n            : <div onClick={this.handleOpenGallery} className=\"fullscreen-gallery-icon-pf\"></div>\n          }\n          <Splide\n            onClick={this.handleOpenGallery}\n            onMove={this.handleSliderMove}\n            options={mainOptions}\n            className=\"main-slider\"\n            ref={ref => this.mainRef = ref}\n          >\n            {this.renderSlides(true)}\n          </Splide>\n          <div className=\"caption-credit\">{`${images[currentIndex].caption} (${images[currentIndex].credit})`}</div>\n        </div>\n\n        <Splide\n          className=\"thumbnail-slider\"\n          options={thumbOptions}\n          ref={ref => this.thumbsRef = ref}\n          onMove={this.handleSliderMove}\n        >\n          {this.renderSlides(false)}\n        </Splide>\n        <div className=\"article-carousel-scroller-navigation\">\n          <input \n            type=\"range\" \n            min=\"1\" \n            max={this.props.images.length} \n            value={`${currentIndex + 1}`}\n            className=\"slider\" \n            id=\"sliderRange\" \n            ref={ref => this.sliderRange = ref} \n            onChange={(e:any) => {\n              const index = parseInt(e.target.value, 10) - 1;\n              this.mainRef.splide.go(index);\n              this.handleSliderMove(this.mainRef.splide, index);\n            }}\n            style={{ '--slider-width': `${740 / this.props.images.length }px` } as React.CSSProperties}\n          />\n        </div>\n      </div>\n    );\n  }\n}","import { RenderReactAtSite } from \"widgets/commonComponents/inline/renderReactAtSite\"\nimport { ExtededImageDetails } from \"../../../../../images/interfaces\"\nimport { SiteSettingsHOC, SiteSettings } from \"../../../../../global/components/siteSettingsHOC\";\nimport { getMobileGalleryArrayObj } from \"../../../../widgetsUtils\";\nimport { SiteLayoutType } from \"pagesPage/stateInterfaces\"\nimport { ArticleImagesFullScreenGalleryMobile } from \"./articleImagesFullScreenGalleryMobile\";\nimport { ArticleImagesFullScreenGalleryFront } from \"./articleImagesFullScreenGalleryFront\";\nimport { ArticleImageGallery } from \"../articleImageGalleryComponenta/articleImageGalleryComponenta\"\n\n\n\ninterface ArticleImagesGalleryProps {\n    articleId: string\n    siteLayoutType: SiteLayoutType\n    images: ArticleImageGallery[]\n    index: number\n    isLtr: boolean\n    close: (currentImageIndex: number) => void\n    open: () => void\n    show: boolean\n}\n\n\n\ninterface CombinedProps extends ArticleImagesGalleryProps, Partial<SiteSettings> { }\n\n@SiteSettingsHOC()\nexport class ArticleImagesFullScreenGallery extends React.Component<CombinedProps, {}>{\n\n    public render() {\n        const { articleId, isLTR, siteLayoutType, platform, images, index, close, isLtr, open, show } = this.props\n        if (siteLayoutType === \"mobileWeb\") {\n            return (\n                <ArticleImagesFullScreenGalleryMobile\n                    images={images}\n                    articleId={articleId}\n                    isLtr={isLTR}\n                    close={close}\n                    open={open}\n                    isVisible={show}\n                    index={index}\n                />\n            )\n        }\n        return (\n            <ArticleImagesFullScreenGalleryFront\n                close={close}\n                open={open}\n                images={images}\n                index={index}\n                articleId={articleId}\n                isLtr={isLtr}\n                isVisible={show}\n            />\n        )\n    }\n}\n\n","\nimport { useState, useEffect, useCallback } from \"react\"\nimport { ArticleImagesFullScreenGalleryImageCounter } from \"./articleImagesFullScreenGalleryImageCounter\";\nimport ArticleImagesFullScreenGalleryMain from \"./articleImagesFullScreenGalleryMain\";\nimport { ArticleImageGallery } from \"../articleImageGalleryComponenta/articleImageGalleryComponenta\"\n\n\ninterface ArticleImagesFullScreenGalleryFrontProps {\n    images: ArticleImageGallery[]\n    index: number\n    isLtr: boolean\n    close: (currentImageIndex: number) => void\n    isVisible: boolean\n}\n\nexport const ArticleImagesFullScreenGalleryFront = ({ images, index, isLtr, close, isVisible }: ArticleImagesFullScreenGalleryFrontProps) => {\n    const numOfImages = images.length;\n    const [currentImageIndex, setCurrentImageIndex] = useState<number>(index)\n\n    const swipeRight = (): void => {\n        const nextImageIndex = currentImageIndex === images.length - 1 ? 0 : currentImageIndex + 1\n        setCurrentImageIndex(nextImageIndex)\n    }\n\n    const swipeLeft = (): void => {\n        const nextImageIndex = currentImageIndex === 0 ? images.length - 1 : currentImageIndex - 1\n        setCurrentImageIndex(nextImageIndex)\n    }\n\n    const handleKeyPress = useCallback((e: KeyboardEvent): void => {\n        const target = e.target as HTMLElement;\n        const isInputElement = target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable;\n    \n        if (isInputElement) {\n            return;\n        }\n    \n        e.preventDefault();\n        switch (e.key) {\n            case 'Escape':\n                close(currentImageIndex);\n                break;\n            case 'ArrowLeft':\n                swipeLeft();\n                break;\n            case 'ArrowRight':\n                swipeRight();\n                break;\n        }\n    }, [currentImageIndex, close, swipeLeft, swipeRight]);\n\n    useEffect(() => {\n        document.addEventListener(\"keydown\", handleKeyPress as EventListener)\n        return () => {\n            document.removeEventListener(\"keydown\", handleKeyPress as EventListener)\n        }\n    }, [handleKeyPress]);\n\n    useEffect(() => {\n        setCurrentImageIndex(index)\n    }, [index]);\n\n    if (isVisible) {\n        return(<div key={\"ArticleImagesFullScreenGallery\"} role=\"dialog\"\n            aria-label=\"images gallery\"\n            id=\"images_gallery\" className=\"SiteArticleImagesGallery\"\n            onClick={() => close(currentImageIndex)} tabIndex={0}>\n            <div className=\"GalleryWrapper\" onClick={e => e.stopPropagation()}>\n                <ArticleImagesFullScreenGalleryMain images={images} isLtr={isLtr} currentImageIndex={currentImageIndex} close={close} />\n                <ArticleImagesFullScreenGalleryImageCounter numOfImages={numOfImages} currentImageIndex={currentImageIndex} swipeLeft={swipeLeft} swipeRight={swipeRight} />\n            </div>\n        </div>)\n    }else{\n        return null;\n    }\n\n}\n","\ninterface articleImagesFullScreenGalleryImageCounterProps {\n    numOfImages: number\n    currentImageIndex: number\n    swipeLeft?: () => void\n    swipeRight?: () => void\n    isMobile?: boolean\n}\n\n\nexport const ArticleImagesFullScreenGalleryImageCounter = ({ numOfImages, currentImageIndex, swipeLeft, swipeRight, isMobile }: articleImagesFullScreenGalleryImageCounterProps) => {\n    return (\n        <>\n            {numOfImages > 1 && <div className={`imagesCounter`}>\n                {!isMobile && <button className={`navigationArrow ${\"swipeLeft\"}`} title=\"prev\" aria-label=\"prev\" onClick={swipeLeft} />}\n                <span className=\"current\">{currentImageIndex + 1 < 10 ? `0${currentImageIndex + 1}` : currentImageIndex + 1}</span>\n                <span className=\"totalNumOfImages\">/{numOfImages < 10 ? `0${numOfImages}` : numOfImages}</span>\n                {!isMobile && <button className={`navigationArrow ${\"swipeRight\"}`} title=\"next\" aria-label=\"next\" onClick={swipeRight} />}\n            </div>}\n        </>\n    )\n}\n","\nimport { ArticleShareButtons } from \"../../../../siteWidgets/socialShareButtons/ArticleShareButtons/ArticleShareButtons\";\nimport { ArticleImageGallery } from \"../articleImageGalleryComponenta/articleImageGalleryComponenta\"\n\ninterface ArticleImagesFullScreenGalleryProps {\n    images: ArticleImageGallery[]\n    currentImageIndex: number\n    isLtr: boolean\n    close: (index: number) => void\n}\n\n\nconst ArticleImagesFullScreenGalleryMain = ({ currentImageIndex, isLtr, images, close }: ArticleImagesFullScreenGalleryProps) => {\n    let ltrClassName = isLtr ? \"englishSite\" : \"\"\n    return (\n        <>\n            <div className={`closeBtnWrapper ${ltrClassName}`}><button className=\"closeBtn yicon-x\"\n                title={__(\"Close\")} aria-label={__(\"Close\")} onClick={() => close(currentImageIndex)}\n                ref={ref => this.popUpCloseButton = ref}\n            /></div>\n            <div className=\"imageContainer\" role=\"image\" aria-label={images[currentImageIndex].caption} style={{ backgroundImage: `url(${images[currentImageIndex].imageSrc})` }}></div>\n            <div className={`imageInfoAndShareOptions ${ltrClassName}`}>\n                <div className=\"imageInfo\">\n                    {images[currentImageIndex] && images[currentImageIndex].caption && <div className=\"caption\">{images[currentImageIndex].caption}</div>}\n                    {images[currentImageIndex] && images[currentImageIndex].credit && images[currentImageIndex].credit !== \" \" && <div className=\"credit\"><span>(</span><span>{images[currentImageIndex].credit})</span></div>}\n                </div>\n                <div className=\"shareOptions\">\n                    <ArticleShareButtons className={\"ArticleImageGalleryShareButtons\"} lang={isLtr ? \"en\" : \"he\"} />\n                </div>\n            </div>\n        </>\n    )\n}\n\nexport default ArticleImagesFullScreenGalleryMain","import Slider from \"react-slick\"\nimport { useState, useEffect } from \"react\";\nimport { ArticleImagesFullScreenGalleryImageCounter } from \"./articleImagesFullScreenGalleryImageCounter\";\nimport { ArticleImageGallery } from \"../articleImageGalleryComponenta/articleImageGalleryComponenta\"\n\ninterface MobileArticleImagesGalleryProps {\n    images: ArticleImageGallery[]\n    articleId: string\n    close: (currentImageIndex: number) => void\n    isVisible: boolean\n    index: number\n}\n\nexport const ArticleImagesFullScreenGalleryMobile = ({ images, close, index,isVisible }: MobileArticleImagesGalleryProps) => {\n\n    const [currentImageIndex, setCurrentImageIndex] = useState<number>(index)\n    const settings = {\n        infinite: true,\n        dots: false,\n        slidesToShow: 1,\n        slidesToScroll: 1,\n        speed: 500,\n        arrows: false,\n        rtl: false,\n        touchMove: true,\n        initialSlide: index,\n        afterChange: (next) => setCurrentImageIndex(next),\n    }\n    let numOfImages = images.length ? images.length : 0\n    const isImageGotCaption = images && images[currentImageIndex] && images[currentImageIndex].caption\n    const isImageGotCredit = images && images[currentImageIndex] && (images[currentImageIndex].credit !== \"\") && (images[currentImageIndex].credit !== \" \")\n\n    const openShare = async () => {\n        const shareData = { url: window.location.href, title: document.title }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n\n    useEffect(() => {\n        setCurrentImageIndex(index)\n    }, [index]);\n\n    if (isVisible) {\n        return (\n            <div key={\"MobileArticleImagesGallery\"} role=\"dialog\"\n                aria-label=\"images gallery\"\n                id=\"images_gallery\" className=\"ArticleImagesFullScreenGalleryMobile\"\n                onClick={()=>close(currentImageIndex)} tabIndex={0}>\n\n                <div className=\"GalleryWrapper\" onClick={e => e.stopPropagation()}>\n                    <div className={`galleryHeaderWrapper`}>\n                        <button className=\"closeBtn yicon-x\"\n                            title={__(\"Close\")} aria-label={__(\"Close\")} onClick={()=>close(currentImageIndex)} />\n\n                        <ArticleImagesFullScreenGalleryImageCounter\n                        numOfImages={numOfImages}\n                        isMobile={true}\n                        currentImageIndex={currentImageIndex}\n                        />\n                        <button className=\"shareImageBtn\" onClick={openShare}></button>\n                    </div>\n                    <Slider {...settings} >\n                        {_.map(images, (image) =>\n                            <div className=\"imageContainer\" key={image.imageId}>\n                                <img src={image.imageSrc} role=\"image\" aria-label={image.caption} />\n                            </div>\n                        )}\n                    </Slider>\n                    <div className={`imageInfoAndShareOptions`}>\n                        <div className=\"imageInfo\">\n                            {isImageGotCaption && <div className=\"caption\">{images[currentImageIndex].caption}</div>}\n                            {isImageGotCredit && <div className=\"credit\">({images[currentImageIndex].credit})</div>}\n                        </div>\n                    </div>\n                </div>\n            </div>\n        )\n    } else {\n        return null;\n    }\n}\n","require(\"./site_articleImagesGallery.less\")\nimport { CSSTransitionGroup } from \"react-transition-group\"\nimport { ExtededImageDetails } from \"../../../../../images/interfaces\"\nimport { ArticleGalleryView } from \"./articleGalleryView\";\n\n\ninterface SiteArticleImagesGalleryProps {\n    images: ExtededImageDetails[]\n    articleId: string\n    isLtr: boolean\n}\ninterface SiteArticleImagesGalleryState {\n    currentImageIndex: number\n    isVisible: boolean\n}\n\nexport class SiteArticleImagesGallery extends React.Component<SiteArticleImagesGalleryProps, SiteArticleImagesGalleryState>{\n    constructor(props) {\n        super(props)\n        this.state = {\n            currentImageIndex: 0,\n            isVisible: false\n        }\n    }\n    public static siteScriptName = \"SiteArticleImagesGallery\"\n\n    componentDidMount() {\n        const { images } = this.props;\n\n        if (typeof window !== \"undefined\") {\n            const elements = document.querySelectorAll(\".gelleryOpener\");\n            for (let el of elements) {\n                el.addEventListener(\"click\", (e) => {\n                    this.open();\n                    const componentaId = el.getAttribute(\"data-image-id\")\n                    let indexOfImageMatchingCoponentaId = 0;\n                    for (let i = 0; i < images.length; i++) {\n                        if (images[i]) {\n                            if (images[i].imageId === componentaId) { indexOfImageMatchingCoponentaId = i }\n                        }\n                    }\n                    this.setState({ isVisible: true, currentImageIndex: indexOfImageMatchingCoponentaId })\n                })\n                el.addEventListener(\"keypress\", (e) => {\n                    const componentaId = el.getAttribute(\"data-image-id\")\n                    let indexOfImageMatchingCoponentaId = 0;\n                    for (let i = 0; i < images.length; i++) {\n                        if (images[i].componentaId === componentaId) { indexOfImageMatchingCoponentaId = i }\n                    }\n                    this.setState({ isVisible: true, currentImageIndex: indexOfImageMatchingCoponentaId })\n                })\n\n            }\n        }\n\n    }\n\n    public swipeRight = (): void => {\n        const lastImageIndex = this.props.images.length - 1\n        const { currentImageIndex } = this.state\n        const nextImageIndex = currentImageIndex === 0 ? lastImageIndex : currentImageIndex - 1\n        analystFunc(\"Browse Right\", this.props.articleId)\n        this.setState({ currentImageIndex: nextImageIndex })\n    }\n\n    public swipeLeft = (): void => {\n        const lastImageIndex = this.props.images.length - 1\n        const { currentImageIndex } = this.state\n        const nextImageIndex = currentImageIndex === lastImageIndex ? 0 : currentImageIndex + 1\n        analystFunc(\"Browse Left\", this.props.articleId)\n        this.setState({ currentImageIndex: nextImageIndex })\n    }\n\n    private close = (): void => {\n        const { images } = this.props\n        const { currentImageIndex } = this.state\n        document.getElementById(`image_${images[currentImageIndex].imageId}`).focus()\n        analystFunc(\"Close Gallery\", this.props.articleId)\n        this.setState({ isVisible: false })\n\n    }\n    private open = (): void => {\n        analystFunc(\"Open Gallery\", this.props.articleId)\n    }\n\n\n    render() {\n        const { images, articleId, isLtr } = this.props\n        const { currentImageIndex, isVisible } = this.state\n\n\n        if (isVisible) return (\n            <CSSTransitionGroup\n                transitionName=\"galleryLeave\"\n                transitionLeave={true}\n                transitionLeaveTimeout={200}\n                transitionEnterTimeout={200}>\n                <ArticleGalleryView images={images}\n                    currentImageIndex={currentImageIndex}\n                    close={this.close}\n                    swipeLeft={this.swipeLeft}\n                    swipeRight={this.swipeRight}\n                    isLtr={isLtr}\n                />\n\n            </CSSTransitionGroup >\n        )\n        else return null\n    }\n}\n\nexport const analystFunc = (action: string, articleId: string) => {\n    window.dataLayer = window.dataLayer || []\n    window.dataLayer.push({\n        event: 'GA_Event',\n        Category: 'Photo Gallery',\n        Action: action,\n        Label: articleId\n    });\n}\n","import { ExtededImageDetails } from \"../../../../../images/interfaces\"\nimport { ArticleShareButtons } from \"../../../../siteWidgets/socialShareButtons/ArticleShareButtons/ArticleShareButtons\"\nimport * as apiUrls from \"config/apiUrls\"\nimport { ImageSize } from \"constants/imageSizes\"\n\ninterface GalleryProps {\n    currentImageIndex: number\n    images: ExtededImageDetails[]\n    close: () => void\n    swipeLeft: () => void\n    swipeRight: () => void\n    isLtr: boolean\n}\n\nexport class ArticleGalleryView extends React.Component<GalleryProps, {}>{\n\n    private popUpCloseButton: HTMLButtonElement;\n    private focusableEls;\n\n    componentDidMount() {\n        this.popUpCloseButton.focus()\n        this.focusableEls = document.getElementById('images_gallery').querySelectorAll('input:not([disabled]), a[href], area[href], button:not([disabled]), [tabindex=\"0\"], iframe[src]');\n        document.addEventListener(\"keydown\", this.handleKeyPress)\n    }\n\n    componentDidUpdate(_prevProps: GalleryProps) {\n        if (_prevProps.currentImageIndex !== this.props.currentImageIndex) {\n            this.popUpCloseButton.focus();\n        }\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener(\"keydown\", this.handleKeyPress)\n    }\n\n\n    private handleKeyPress = (e: any): void => {\n        if (e.key === \"Escape\") { this.props.close() }\n        if (e.key === \"ArrowLeft\") { this.props.swipeLeft() }\n        if (e.key === \"ArrowRight\") { this.props.swipeRight() }\n        if (e.keyCode === 9) {\n            if (this.focusableEls.length > 1) {\n                if (e.shiftKey) {\n                    this.handleBackwardTab(e, this.focusableEls);\n                } else {\n                    this.handleForwardTab(e, this.focusableEls);\n                }\n            }\n            else e.preventDefault();\n        }\n    }\n\n    private handleBackwardTab = (e, focusableEls) => {\n        if (document.activeElement === focusableEls[0]) {\n            e.preventDefault();\n            focusableEls[focusableEls.length - 1].focus();\n        }\n    }\n\n    private handleForwardTab = (e, focusableEls) => {\n        if (document.activeElement === focusableEls[focusableEls.length - 1]) {\n            e.preventDefault();\n            focusableEls[0].focus()\n        }\n    }\n\n    render() {\n        const { currentImageIndex, images, swipeLeft, close, swipeRight, isLtr } = this.props\n        const numOfImages = images.length\n        let ltrClassName = isLtr ? \"englishSite\" : \"\"\n        return (\n            <div key={\"SiteArticleImagesGallery\"} role=\"dialog\"\n                aria-label=\"images gallery\"\n                id=\"images_gallery\" className=\"SiteArticleImagesGallery\"\n                onClick={close} tabIndex={0}>\n                <div className=\"GalleryWrapper\" onClick={e => e.stopPropagation()}>\n                    <div className={`closeBtnWrapper ${ltrClassName}`}><button className=\"closeBtn yicon-x\"\n                        title={__(\"Close\")} aria-label={__(\"Close\")} onClick={close}\n                        ref={ref => this.popUpCloseButton = ref}\n                    /></div>\n                    <button className={`navigationArrow ${\"swipeLeft\"}`} title=\"prev\" aria-label=\"prev\" onClick={swipeLeft} />\n                    <div className=\"imageContainer\" role=\"image\" aria-label={images[currentImageIndex].alt} style={{ backgroundImage: `url(${apiUrls.getImageUrl(images[currentImageIndex], { imageSize: ImageSize.xLarge })})` }} />\n\n                    <button className={`navigationArrow ${\"swipeRight\"}`} title=\"next\" aria-label=\"next\" onClick={swipeRight} />\n                    <div className={`imageInfoAndShareOptions ${ltrClassName}`}>\n                        <div className=\"imageInfo\">\n                            {images[currentImageIndex] && images[currentImageIndex].caption && <div className=\"caption\">{images[currentImageIndex].caption}</div>}\n                            {images[currentImageIndex] && images[currentImageIndex].credit && images[currentImageIndex].credit !== \" \" && <div className=\"credit\"><span>(</span><span>{images[currentImageIndex].credit})</span></div>}\n                        </div>\n                        <div className=\"shareOptions\">\n                            <ArticleShareButtons className={\"ArticleImageGalleryShareButtons\"} lang={isLtr ? \"en\" : \"he\"} />\n                        </div>\n                    </div>\n\n                    {numOfImages > 1 && <div className={`imagesCounter`}>\n                        <button className={`navigationArrow ${\"swipeLeft\"}`} title=\"prev\" aria-label=\"prev\" onClick={swipeLeft} />\n\n                        <span className=\"current\">{currentImageIndex + 1 < 10 ? `0${currentImageIndex + 1}` : currentImageIndex + 1}</span>\n                        <span className=\"totalNumOfImages\">/{numOfImages < 10 ? `0${numOfImages}` : numOfImages}</span>\n                        <button className={`navigationArrow ${\"swipeRight\"}`} title=\"next\" aria-label=\"next\" onClick={swipeRight} />\n                    </div>}\n\n                </div>\n            </div>\n        )\n    }\n}\n\n","import Slider from \"react-slick\"\nimport { ExtededImageDetails } from \"images/interfaces\"\nimport * as apiUrls from \"config/apiUrls\"\nimport { ImageSize } from \"constants/imageSizes\"\n\ninterface MobileArticleImagesGalleryProps {\n    images: ExtededImageDetails[]\n    articleId: string\n    articleTitle: string\n\n}\ninterface MobileArticleImagesGalleryState {\n    currentImageIndex: number\n    isVisible: boolean\n}\n\nexport class MobileArticleImagesGallery extends React.Component<MobileArticleImagesGalleryProps, MobileArticleImagesGalleryState>{\n    constructor(props) {\n        super(props)\n        this.state = {\n            currentImageIndex: 0,\n            isVisible: false\n        }\n    }\n\n    public static siteScriptName = \"MobileArticleImagesGallery\"\n\n    componentDidMount() {\n        const { images } = this.props;\n\n        if (typeof window !== \"undefined\") {\n            const elements = document.querySelectorAll(\".gelleryOpener\");\n            for (let el of elements) {\n                el.addEventListener(\"click\", (e) => {\n                    this.open();\n                    const componentaId = el.getAttribute(\"data-image-id\")\n                    let indexOfImageMatchingCoponentaId = 0;\n                    for (let i = 0; i < images.length; i++) {\n                        if (images[i]) {\n                            if (images[i].imageId === componentaId) { indexOfImageMatchingCoponentaId = i }\n                        }\n                    }\n                    this.setState({ isVisible: true, currentImageIndex: indexOfImageMatchingCoponentaId })\n                })\n                el.addEventListener(\"keypress\", (e) => {\n                    const componentaId = el.getAttribute(\"data-image-id\")\n                    let indexOfImageMatchingCoponentaId = 0;\n                    for (let i = 0; i < images.length; i++) {\n                        if (images[i].componentaId === componentaId) { indexOfImageMatchingCoponentaId = i }\n                    }\n                    this.setState({ isVisible: true, currentImageIndex: indexOfImageMatchingCoponentaId })\n                })\n\n            }\n        }\n    }\n\n    public swipeRight = (): void => {\n        const lastImageIndex = this.props.images.length - 1\n        const { currentImageIndex } = this.state\n        const nextImageIndex = currentImageIndex === 0 ? lastImageIndex : currentImageIndex - 1\n        analystFunc(\"Browse Right\", this.props.articleId)\n        this.setState({ currentImageIndex: nextImageIndex })\n    }\n\n    public swipeLeft = (): void => {\n        const lastImageIndex = this.props.images.length - 1\n        const { currentImageIndex } = this.state\n        const nextImageIndex = currentImageIndex === lastImageIndex ? 0 : currentImageIndex + 1\n        analystFunc(\"Browse Left\", this.props.articleId)\n        this.setState({ currentImageIndex: nextImageIndex })\n    }\n\n    private close = (): void => {\n        analystFunc(\"Close Gallery\", this.props.articleId)\n        this.bodyScroll();\n        this.setState({ isVisible: false })\n    }\n\n    private open = (): void => {\n        this.bodyFixScroll();\n        analystFunc(\"Open Gallery\", this.props.articleId)\n    }\n\n    private bodyFixScroll = () => {\n        const scrollPosition = document.body.getBoundingClientRect().top;\n        document.body.style.top = scrollPosition + 'px';\n        document.body.style.position = \"fixed\";\n        document.body.style.overflow = \"hidden\";\n\n    }\n    private bodyScroll = () => {\n        const imagetoBack = document.querySelectorAll(\".gelleryOpener\")[this.state.currentImageIndex -1]\n        setTimeout(() => {\n            imagetoBack.scrollIntoView({\n                behavior: 'smooth',\n                block: 'start'\n            });\n        }, 0)  \n        document.body.style.position = null;\n        document.body.style.overflow = null;   \n    \n    }\n\n    private openShare = async () => {\n        const shareData = { url: window.location.href, title: this.props.articleTitle }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    render() {\n        const { images } = this.props\n        const { currentImageIndex, isVisible } = this.state\n        const settings = {\n            infinite: true,\n            dots: false,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            speed: 500,\n            arrows: false,\n            rtl: false,\n            touchMove: true,\n            initialSlide: currentImageIndex,\n            afterChange: (next) => this.setState({ currentImageIndex: next }),\n        }\n        let numOfImages = images.length ? images.length : 0\n        const isImageGotCaption = images && images[currentImageIndex] && images[currentImageIndex].caption\n        const isImageGotCredit = images && images[currentImageIndex] && (images[currentImageIndex].credit !== \"\") && (images[currentImageIndex].credit !== \" \")\n\n        if (isVisible) return (\n            <div key={\"MobileArticleImagesGallery\"} role=\"dialog\"\n                aria-label=\"images gallery\"\n                id=\"images_gallery\" className=\"MobileArticleImagesGallery\"\n                onClick={close} tabIndex={0}>\n\n                <div className=\"GalleryWrapper\" onClick={e => e.stopPropagation()}>\n                    <div className={`galleryHeaderWrapper`}>\n                        <button className=\"closeBtn yicon-x\"\n                            title={__(\"Close\")} aria-label={__(\"Close\")} onClick={this.close} />\n                        {numOfImages > 1 && <div className=\"imagesCounter\">\n                            <span className=\"current\">{currentImageIndex + 1 < 10 ? `${currentImageIndex + 1}` : currentImageIndex + 1}/</span>\n                            <span className=\"totalNumOfImages\">{numOfImages < 10 ? `${numOfImages}` : numOfImages}</span>\n                        </div>}\n                        <button className=\"shareImageBtn\" onClick={this.openShare}></button>\n                    </div>\n                    <Slider {...settings} >\n                        {_.map(images, (image) =>\n                            <div className=\"imageContainer\" key={image.imageId}>\n                                <img src={apiUrls.getImageUrl(image, { imageSize: ImageSize.xLarge })} role=\"image\" aria-label={image.alt} />\n                            </div>\n                        )}\n                    </Slider>\n                    <div className={`imageInfoAndShareOptions`}>\n                        <div className=\"imageInfo\">\n                            {isImageGotCaption && <div className=\"caption\">{images[currentImageIndex].caption}</div>}\n                            {isImageGotCredit && <div className=\"credit\">({images[currentImageIndex].credit})</div>}\n                        </div>\n                    </div>\n                </div>\n            </div>\n        )\n        else return null\n    }\n}\n\nexport const analystFunc = (action: string, articleId: string) => {\n    window.dataLayer = window.dataLayer || []\n    window.dataLayer.push({\n        event: 'GA_Event',\n        Category: 'Photo Gallery',\n        Action: action,\n        Label: articleId\n    });\n}\n\n","interface IngredientListItemProps {\n    name: string\n    amount: any\n    measureUnit: string\n    description?: string\n    onCheckBoxChange: () => void\n    selected: boolean\n}\n\nexport const IngredientListItem = (props: IngredientListItemProps) => {\n    const { name, amount, measureUnit, description, selected, onCheckBoxChange } = props\n\n    return (\n        <div className=\"ingredient-row\">\n            <input type=\"checkbox\" className=\"ingredient-checkbox\" checked={selected} onChange={onCheckBoxChange} />\n\n            <div className=\"ingredient-row-details\">\n                <div className=\"ingredient-main-details\">\n                    {!!amount && <div className=\"ingredient-quantity\">{amount} </div>}\n                    {!!measureUnit && <div className=\"ingredient-measure-unit\">{measureUnit} </div>}\n                    <div className=\"ingredient-name\">{name}</div>\n                </div>\n                {description && <div className=\"ingredient-description\">{description}</div>}\n            </div>\n        </div>\n    )\n}","import { IngredientListItem } from \"./ingredientListItem\"\nimport { useState, useEffect } from \"react\"\nimport { ArticleRecipeStageData } from \"../data/articleRecipeStageData\"\nimport { DataList } from \"../../../../../commonDataObjects/dataList\"\nimport { ArticleRecipeIngredientData } from \"../data/articleRecipeIngredientData\"\nimport * as ResizeObserver from \"resize-observer-polyfill\"\nimport { platform } from \"os\"\n\ninterface IngredientsSectionProps {\n    stages: DataList<ArticleRecipeStageData>\n    ingredients: DataList<ArticleRecipeIngredientData>\n    servings: number\n    isServingsMultiplier: boolean\n    articleTitle: string\n    articlePublishedLink: string\n    componentaId: string\n    isMobileWeb?: boolean\n    isApp?: boolean\n}\n\ndeclare var window: Window & {\n    recipeShoppingListData: any\n}\n\nexport const IngredientsSection = (props: IngredientsSectionProps) => {\n    const [state, setState] = useState<{ selections: number[] }>({ selections: [] });\n    const [shopingListPopUpVisability, setshopingListPopUpVisability] = useState<boolean>(false);\n    const [multiplier, setMultiplier] = useState<number>(1);\n    const [presentedServings, setPresentedServings] = useState<number>(props.servings);\n    const [stickyShoppingListBottomHeight, setStickyShoppingListBottomHeight] = useState<number>(0)\n    const { stages, ingredients, servings, isServingsMultiplier, articleTitle, articlePublishedLink, isMobileWeb, isApp, componentaId } = props\n    const multiplierAddition = servings > 9 ? servings === 10 ? servings / 100 : (100 / servings) / 100 : (10 / servings) / 10\n    const isMobileDeviceView = isApp || isMobileWeb;\n    const noStageId = stages.array.find(stage => stage.stageName === \"ללא שלב\").stageId;\n    const shouldHideNoStage = ingredients.array.find(ingredient => ingredient.stageId === noStageId) === undefined;;\n\n    useEffect(() => {\n        window.recipeShoppingListData = window.recipeShoppingListData || {};\n        window.recipeShoppingListData[componentaId] = {\n            title: `רשימת קניות עבור המתכון: ${articleTitle}`,\n            items: []\n        }\n    }, [])\n\n    const handleCheckboxChange = (index: number) => {\n        let selectionsArray = state.selections\n        const find = selectionsArray.indexOf(index)\n\n        if (find > -1) {\n            selectionsArray.splice(find, 1)\n        } else {\n            selectionsArray.push(index)\n        }\n\n        setState({ selections: selectionsArray })\n\n        if (selectionsArray.length > 0) {\n            shopingListPopUpVisability ? \"\" : setshopingListPopUpVisability(true)\n        } else {\n            shopingListPopUpVisability ? setshopingListPopUpVisability(false) : \"\"\n        }\n\n        window.recipeShoppingListData[componentaId].items = getTextArrayToPrint()\n    }\n\n    const handelSelectAll = () => {\n        let selectionsArray = state.selections\n\n        if (selectionsArray.length === ingredients.array.length) {\n            setState({ selections: [] })\n            shopingListPopUpVisability ? setshopingListPopUpVisability(false) : \"\"\n        } else {\n            ingredients.array.map((ingredient, index) => {\n                const find = selectionsArray.indexOf(index)\n                find > -1 ? \"\" : selectionsArray.push(index)\n            })\n            setState({ selections: selectionsArray })\n            shopingListPopUpVisability ? \"\" : setshopingListPopUpVisability(true)\n        }\n\n        window.recipeShoppingListData[componentaId].items = getTextArrayToPrint()\n    }\n\n    const handleCloseShopingList = () => {\n        setshopingListPopUpVisability(false)\n    }\n\n    const handleIncreaseServings = () => {\n        setMultiplier(multiplier + multiplierAddition)\n        setPresentedServings(presentedServings + 1)\n    }\n\n    const handleDecreaseServings = () => {\n        if (presentedServings === 1) return\n        setMultiplier((multiplier - multiplierAddition) <= -1 ? 0 : multiplier - Math.abs(multiplierAddition))\n        setPresentedServings(presentedServings - 1)\n    }\n\n    const getTextToShare = (platform) => {\n        const boldS = platform === \"print\" ? \"<b>\" : \"*\"\n        const boldE = platform === \"print\" ? \"</b>\" : \"*\"\n        const newLine = platform === \"print\" ? \"<br/>\" : \"\\n\"\n        let text = platform === \"mail\" ? \"\" : `${boldS}רשימת קניות עבור המתכון: ${articleTitle}${boldE}${newLine}`;\n\n        ingredients.array.map((ingredient, index) => {\n            if (state.selections.indexOf(index) > -1) {\n                const measureUnit = ingredient.ingredientMeasureUnit ? `${ingredient.ingredientMeasureUnit} ` : \"\"\n                let amount\n\n                if (ingredient.isFixedAmount) {\n                    amount = `${ingredient.ingredientAmount} `\n                } else if (!isNaN(ingredient.ingredientAmount)) { //if amount is a text\n                    if (ingredient.ingredientAmount === \"0\" || ingredient.ingredientAmount === \"\") {\n                        amount = \"\"\n                    } else {\n                        amount = `${Number((Number(ingredient.ingredientAmount) * multiplier).toFixed(2))} `\n                    }\n                } else {\n                    amount = `${ingredient.ingredientAmount} `\n                }\n\n                text += `${amount}${measureUnit}${ingredient.ingredientName} ${ingredient.ingredientDescription ? `(${ingredient.ingredientDescription})` : \"\"}${newLine}`\n            }\n        })\n\n        text += `${newLine}קישור למתכון זה: ${newLine}${articlePublishedLink}`\n\n        return text\n    }\n\n    const getTextArrayToPrint = () => {\n        let contentArray = [];\n\n        ingredients.array.map((ingredient, index) => {\n            if (state.selections.indexOf(index) > -1) {\n                const measureUnit = ingredient.ingredientMeasureUnit ? `${ingredient.ingredientMeasureUnit} ` : \"\"\n                let amount\n\n                if (ingredient.isFixedAmount) {\n                    amount = `${ingredient.ingredientAmount} `\n                } else if (!isNaN(ingredient.ingredientAmount)) { //if amount is a text\n                    if (ingredient.ingredientAmount === \"0\" || ingredient.ingredientAmount === \"\") {\n                        amount = \"\"\n                    } else {\n                        amount = `${Number((Number(ingredient.ingredientAmount) * multiplier).toFixed(2))} `\n                    }\n                } else {\n                    amount = `${ingredient.ingredientAmount} `\n                }\n\n                contentArray.push(`${amount}${measureUnit}${ingredient.ingredientName} ${ingredient.ingredientDescription ? `(${ingredient.ingredientDescription})` : \"\"}`)\n            }\n        })\n\n        return contentArray;\n\n    }\n\n    const openMailShare = () => {\n        const title = `רשימת קניות עבור המתכון: ${articleTitle}`\n        window.location.href = `mailto:?subject=${title}&body=${encodeURIComponent(getTextToShare(\"mail\"))}`\n    }\n\n    const openPrintShare = () => {\n        const recipe = document.querySelector(\".recipe\");\n        const printDialog = document.getElementById(\"print-dialog\").cloneNode(true)\n\n        recipe.classList.add(\"onlyIngredientsPrintScreen\");\n        document.body.appendChild(printDialog);\n\n        setTimeout(() => {\n            recipe.classList.remove(\"onlyIngredientsPrintScreen\");\n            document.body.removeChild(printDialog)\n        }, 1000)\n\n        window.print();\n    }\n\n    const onContentHeightChanged = (height: number) => {\n        setStickyShoppingListBottomHeight(height)\n    }\n\n    useEffect(() => {\n        const elementId = isMobileWeb ? \"ads.banner\" : \"ads.sargel\"\n        const stickyAdElement = document.getElementById(elementId)\n\n        this.resizeObserver = new ResizeObserver(records => records.forEach(r => {\n            onContentHeightChanged(r.contentRect.height)\n        }))\n\n        stickyAdElement && this.resizeObserver.observe(stickyAdElement);\n\n        return () => {\n            this.resizeObserver && this.resizeObserver.disconnect()\n        }\n    }, [])\n\n    return (\n        <div className=\"ingredients-section\">\n            <div className=\"ingredients-section-top-bar\">\n                <div className=\"top-bar-right-section\">\n                    <div className=\"ingredients-section-title\">מצרכים</div>\n\n                    {isServingsMultiplier ?\n                        <div className=\"ingredients-section-servings-container\">\n                            <button className=\"servings-button plus\" onClick={handleIncreaseServings}></button>\n                            <div className=\"servings-amount\">\n                                {presentedServings}\n                                <div className=\"servings-title\">סועדים</div>\n                            </div>\n                            <button className={`servings-button minus ${presentedServings === 1 ? \"disable\" : \"\"}`} onClick={handleDecreaseServings}></button>\n                        </div>\n                        :\n                        <div className=\"ingredients-section-servings-container\">\n                            <div className=\"servings-amount\">\n                                {presentedServings}\n                                <div className=\"servings-title\">סועדים</div>\n                            </div>\n                        </div>}\n                </div>\n\n                <a href=\"https://p.ynet.co.il/sizesconversion\" target=\"_blank\" className=\"top-bar-left-section\">\n                    <div className=\"measuring-cup-icon\"></div>\n                    <div className=\"measurement-conversion-table\">לוח המרת מידות</div>\n                </a>\n            </div>\n\n\n            <div className=\"ingredients-section-list\">\n                <div className=\"add-to-shoping-list-title\">סמנו והוסיפו מצרכים לרשימת הקניות</div>\n\n                <div className=\"check-all-wrapper\">\n                    <input type=\"checkbox\" className=\"ingredient-checkbox check-all\" checked={state.selections.length === ingredients.array.length} onChange={handelSelectAll} />\n                    <div className=\"check-all-title\">בחר הכל</div>\n                </div>\n\n                {stages.array.map((stage, index) => {\n                    if (stage.stageName === \"ללא שלב\" && shouldHideNoStage) return \"\"\n\n                    return (\n                        <div className=\"ingredients-section-stage-wrapper\" key={index}>\n                            <div className=\"ingredients-section-stage-title\">{stage.stageName === \"ללא שלב\" ? \"\" : stage.stageName + \":\"}</div>\n\n                            <div className=\"ingredients-section-stage-ingredients\">\n                                {ingredients.array.map((ingredient, index) => {\n                                    if (ingredient.stageId === stage.stageId) {\n                                        const { ingredientAmount, ingredientMeasureUnit, ingredientName, ingredientDescription, isFixedAmount } = ingredient\n                                        let amount\n                                        if (!isNaN(ingredientAmount)) {\n                                            if (ingredientAmount === \"0\") {\n                                                amount = \"\"\n                                            } else {\n                                                amount = isFixedAmount ? ingredientAmount : Number((Number(ingredientAmount) * multiplier).toFixed(2))\n                                            }\n                                        } else {\n                                            amount = ingredientAmount\n                                        }\n                                        return (\n                                            <IngredientListItem\n                                                key={index}\n                                                name={ingredientName}\n                                                amount={amount}\n                                                measureUnit={ingredientMeasureUnit}\n                                                description={ingredientDescription}\n                                                onCheckBoxChange={() => handleCheckboxChange(index)}\n                                                selected={state.selections.includes(index)}\n                                            />\n                                        )\n                                    }\n                                })}\n                            </div>\n                        </div>\n                    )\n                })}\n            </div>\n\n            <div className={`sticky-shoping-list ${shopingListPopUpVisability ? \"show\" : \"hide\"}`} style={!isMobileDeviceView ? { bottom: stickyShoppingListBottomHeight } : {}}>\n                <button className=\"close-sign\" onClick={handleCloseShopingList} aria-label=\"close-shoping-list\"></button>\n                <div className={isApp ? \"list-items-count-rpf\" : \"list-items-count\"}>{state.selections.length}</div>\n                <div className={isApp ? \"items-on-list-title-rpf\" : \"items-on-list-title\"}>פריטים נוספו לרשימת הקניות</div>\n\n                {!isMobileDeviceView && <button className=\"print-icon icon\" onClick={() => openPrintShare()}></button>}\n\n                {isApp ?\n                    <a className=\"mail-icon icon\" href={`//recipe/shoppinglist/mailto/${componentaId}`} />\n                    :\n                    <button className=\"mail-icon icon\" onClick={() => openMailShare()}></button>}\n\n                {isApp ?\n                    <a className=\"whatsapp-icon icon\" href={`//recipe/shoppinglist/whatsapp/${componentaId}`} />\n                    :\n                    <button className=\"whatsapp-icon icon\" onClick={() => window.open(\"https://api.whatsapp.com/send?text=\" + encodeURIComponent(getTextToShare(\"whatsapp\")))}></button>}\n            </div>\n\n            <div className=\"print-dialog-section\" id=\"print-dialog\">\n                <div className=\"top-content\">\n                    <div className=\"main-logo\" />\n                    <div className=\"ynet-logo\" />\n                </div>\n                <div className=\"separator\" />\n                <div className=\"mid-content\">\n                    <div className=\"content-main-title\">\n                        :רשימת קניות עבור המתכון\n                    </div>\n                    <div className=\"content-subtitle\" dir=\"auto\">\n                        {articleTitle}\n                    </div>\n                    <ul className=\"recipe-ingredient-list\">\n                        {getTextArrayToPrint().map((curr) => (\n                            <li className=\"list-item\">{curr}</li>\n                        ))}\n                    </ul>\n                </div>\n                <div className=\"separator\" />\n                <div className=\"bottom-content\">\n                    <div className=\"bottom-title\">:קישור למתכון</div>\n                    <a href={articlePublishedLink} className=\"bottom-recipe-link\">{articlePublishedLink}</a>\n                </div>\n            </div>\n        </div>\n    )\n}\n\nIngredientsSection.siteScriptName = \"IngredientsSection\"","//https://www.the-art-of-web.com/javascript/creating-sounds/\n//https://marcgg.com/blog/2016/11/01/javascript-audio/\n//https://ourcodeworld.com/articles/read/1627/how-to-easily-generate-a-beep-notification-sound-with-javascript\n\nimport {disablePageRefresh, enablePageRefresh} from \"../../../../../siteWidgets/siteWidgetUtils\";\nimport {isWcmEditor} from \"../../../../../../config/serverConfig\";\n\ninterface TimerSectionProps {\n    timerSeconds: number\n    inlineTimerToShow: string\n}\n\ninterface TimeSectioState {\n    isRunning: boolean\n    isPaused: boolean\n    isMuted: boolean\n    isPlayBtnDisabled: boolean\n    isCloseBtnVisable: boolean\n    timerTime: number\n}\n\ndeclare var window: Window & {\n    AudioContext: typeof AudioContext\n    webkitAudioContext: typeof AudioContext\n}\n\nexport class TimerComponenta extends React.Component<TimerSectionProps, TimeSectioState> {\n    public static siteScriptName = \"TimerComponenta\";\n    private timerInterval;\n    private audioContext = null;\n    private shouldStopTimer: boolean = false\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            isRunning: false,\n            isPaused: false,\n            isMuted: false,\n            isPlayBtnDisabled: false,\n            isCloseBtnVisable: false,\n            timerTime: props.timerSeconds,\n        }\n    }\n\n    componentDidMount() {\n        const audioContext = window.AudioContext || window.webkitAudioContext;\n        this.audioContext = new audioContext();\n    }\n\n    generateNote = (frequency: number) => {\n        if (this.state.isMuted) return;\n        const oscillator = this.audioContext.createOscillator();\n        const gainNode = this.audioContext.createGain();\n\n        oscillator.type = \"sine\";\n        oscillator.frequency.value = frequency;\n        oscillator.connect(gainNode)\n        gainNode.connect(this.audioContext.destination)\n\n        oscillator.start(0); // immediately starts when triggered\n        gainNode.gain.exponentialRampToValueAtTime(0.00001, this.audioContext.currentTime + 3);\n        oscillator.stop(this.audioContext.currentTime + 3);\n    }\n\n    playTimerAlarmSound = async () => {\n        const { timerSeconds } = this.props\n        const c = 523.25;\n        const e = 659.26;\n        const g = 783.99;\n        const notesGap = 200;\n        const sequenceGap = 1000;\n\n        for (let i = 0; i < 6; i++) {\n            if (this.shouldStopTimer) {\n                this.shouldStopTimer = false\n                break;\n            }\n\n            await Promise.resolve()\n                .then(() => this.generateNote(c))\n                .then(() => delay(notesGap))\n                .then(() => this.generateNote(e))\n                .then(() => delay(notesGap))\n                .then(() => this.generateNote(g))\n                .then(() => delay(sequenceGap))\n        }\n\n        this.setState({ timerTime: timerSeconds, isRunning: false, isCloseBtnVisable: false, isPlayBtnDisabled: false });\n        enablePageRefresh();\n    }\n\n    handlePlayBtnClick = () => {\n        const { isRunning, isPaused } = this.state\n\n        if (isRunning) {\n            clearInterval(this.timerInterval);\n            this.setState({ isPaused: true })\n        } else {\n            this.audioContext.resume() //necessary for webkitAudioContext (safari)\n            this.timerInterval = setInterval(() => this.updateTimer(), 1000)\n\n            if (isPaused) {\n                this.setState({ isPaused: false })\n            }\n\n            this.setState({ isCloseBtnVisable: true })\n            disablePageRefresh();\n        }\n\n        this.setState({ isRunning: !isRunning })\n    }\n\n    updateTimer = () => {\n        const { timerTime } = this.state\n\n        this.setState({ timerTime: timerTime - 1 });\n\n        if (timerTime < 1) {\n            this.setState({ isPlayBtnDisabled: true })\n            this.playTimerAlarmSound()\n            clearInterval(this.timerInterval);\n        }\n    }\n\n    handleMuteBtnClick = () => {\n        this.setState({ isMuted: !this.state.isMuted })\n    }\n\n    handleCloseBtnClick = () => {\n        clearInterval(this.timerInterval);\n        this.shouldStopTimer = true;\n        this.setState({ timerTime: this.props.timerSeconds, isRunning: false, isCloseBtnVisable: false, isPlayBtnDisabled: false });\n    }\n\n    getTimeToDisplay = () => {\n        const { timerTime } = this.state\n\n        const h = Math.floor(timerTime / (60 * 60)).toString();\n        const m = Math.floor(timerTime % 3600 / 60).toString();\n        const s = Math.floor(timerTime % 3600 % 60).toString();\n        \n        const hours = h.length < 2 ? '0' + h : h\n        const minutes = m.length < 2 ? '0' + m : m\n        const seconds = s.length < 2 ? '0' + s : s\n        \n        return timerTime < 0 ? '00:00:00' : `${hours}:${minutes}:${seconds}`\n    }\n    \n    render() {\n        const { isRunning, isMuted, isCloseBtnVisable, isPlayBtnDisabled, timerTime } = this.state;\n        const {inlineTimerToShow} = this.props;\n        const wcmEditorClass = isWcmEditor() ? 'editor-mode' : '';\n        const timerDisplayContent = isWcmEditor() ? inlineTimerToShow : this.getTimeToDisplay() ;\n\n        return (\n            <div className={`article-recipe-timer-left-section ${wcmEditorClass}`}>\n                <div className=\"timer-display\">{timerDisplayContent}</div>\n\n                <div className=\"timer-btns-wrapper\">\n                    <button className={`timer-btn-container ${isPlayBtnDisabled ? 'disabled' : \"\"}`} disabled={isPlayBtnDisabled} onClick={this.handlePlayBtnClick}>\n                        <div className={`${isRunning ? \"timer-pause-btn\" : \"timer-play-btn\"} timer-icon`}></div>\n                    </button>\n\n                    <button className=\"timer-btn-container\" onClick={this.handleMuteBtnClick}>\n                        <div className={`${isMuted ? \"timer-sound-off-btn\" : \"timer-sound-on-btn\"} timer-icon`}></div>\n                    </button>\n\n                    {isCloseBtnVisable &&\n                        <button onClick={this.handleCloseBtnClick} className=\"timer-close-btn-container\">\n                            <div className=\"timer-icon timer-close-btn\"></div>\n                        </button>}\n                </div>\n            </div>\n        )\n    }\n}\n\nconst delay = (duration) => {\n    return new Promise((resolve) => {\n        setTimeout(() => resolve(), duration);\n    });\n}","require(\"./site_articleSideShareComponent.less\")\nrequire(\"../site_shareButtons.less\")\n\nimport { MailShareButton } from \"../../../../siteWidgets/socialShareButtons/mail/mailShareButton\";\nimport { getShareTranslations } from \"./translations\";\nimport { openFacebookShare, analyticsPushFunc } from \"../../../../widgetsUtils\"\n\ninterface SiteArticleSideShareProps {\n    isLTR: boolean\n    lang: string\n    title: string\n}\n\nexport class SiteArticleSideShare extends React.Component<SiteArticleSideShareProps, {}> {\n    public static siteScriptName = \"SiteArticleSideShare\"\n\n    private handleShareBtnClicked = (button: string, lang?: string) => {\n        const {title} = this.props;\n        if (typeof window !== \"undefined\") {\n            const current_url = window.location.href;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(current_url, \"\", () => analyticsPushFunc(\"Facebook\", \"Article Side\", title), \"Article Side\")\n                    break;\n\n                case \"print\":\n                    window.print();\n                    break;\n\n                case \"mailto\":\n                    MailShareButton.openMailShare(document.title, current_url, lang, () => analyticsPushFunc(\"Mail\", \"Article Side\", title), \"Article Side\")\n                    break;\n\n                case \"talkback\":\n                    const newCommentBtn = document.querySelector(\".newCommentBtn\") as HTMLElement\n                    if (newCommentBtn) {\n                        newCommentBtn.click();\n                    }\n                    const elementToScroll = document.querySelector('#addCommentSendButton') || document.querySelector('.spotimWrapper')\n                    setImmediate(() => {\n                        elementToScroll.scrollIntoView({\n                            behavior: 'smooth',\n                            block: 'start'\n                        });\n                    })\n\n                    break;\n            }\n        }\n    }\n\n\n\n\n\n    public render() {\n        const { isLTR, lang } = this.props\n        let ltrClassName = isLTR ? \"englishSite\" : \"\"\n        return (\n            <div className={`ArticleSideShareComponent ${ltrClassName}`}>\n                <ul>\n                    <li >\n                        <button className=\" ArticleSideShareComponent_facebook\"\n                            title={getShareTranslations(lang, \"facebook\")}\n                            onClick={(e) => this.handleShareBtnClicked(\"fb\")}>\n                            <span className=\"articleShareButton facebook\" />{getShareTranslations(lang, \"facebook\")}</button>\n                    </li>\n\n                    <li>\n                        <button className=\"ArticleSideShareComponent_print\"\n                            title={getShareTranslations(lang, \"print\")}\n                            onClick={(e) => this.handleShareBtnClicked(\"print\")}>\n                            <span className=\"articleShareButton print\" />{getShareTranslations(lang, \"print\")}</button></li>\n\n                    <li>\n                        <button className=\"ArticleSideShareComponent_mailto\"\n                            title={getShareTranslations(lang, \"mailto\")}\n                            onClick={(e) => this.handleShareBtnClicked(\"mailto\", lang)}\n                        ><span className=\"articleShareButton mailto\" />{getShareTranslations(lang, \"mailto\")}</button></li>\n\n                    <li >\n                        <button className=\"ArticleSideShareComponent_talkback\" title={getShareTranslations(lang, \"comment\")}\n                            onClick={(e) => this.handleShareBtnClicked(\"talkback\")}>\n                            <span className=\"articleShareButton talkback\" />{getShareTranslations(lang, \"comment\")}</button></li>\n\n                </ul>\n            </div>\n\n        )\n    }\n}","import * as filter from \"lodash/filter\"\nimport { objectKeyToShow } from \"../../../../../inEditTracker/const\"\n\ninterface translationSettings {\n    [lang: string]: any\n}\n\nexport const shareButtonsTranslations =\n{\n    \"he\": {\n        \"facebook\": \"שיתוף בפייסבוק\",\n        \"print\": \"הדפסה\",\n        \"mailto\": \"שליחת כתבה\",\n        \"comment\": \"תגובה לכתבה\",\n        \"gift\": \"עיתון לשבועיים מתנה!\",\n        \"share\": \"שתף ב-\",\n        \"copy link\": \"העתק קישור\",\n    },\n    \"en\": {\n        \"facebook\": \"facebook\",\n        \"print\": \"print\",\n        \"mailto\": \"send to friend\",\n        \"comment\": \"comment\",\n        \"gift\": \"\",\n        \"share\": \"share\",\n        \"copy link\": \"copy link\"\n    },\n    \"ru\": {\n        \"facebook\": \"Фейсбук\",\n        \"print\": \"печать\",\n        \"mailto\": \"послать другу\",\n        \"comment\": \"комментировать\",\n        \"gift\": \"\",\n        \"share\": \"поделиться\",\n        \"copy link\": \"\"\n    },\n    \"es\": {\n        \"facebook\": \"facebook\",\n        \"print\": \"impresión\",\n        \"mailto\": \"Enviar a un amigo\",\n        \"comment\": \"Comentar\",\n        \"gift\": \"\",\n        \"share\": \"Compartir\",\n        \"copy link\": \"\"\n    }\n}\n\n\nexport const getShareTranslations = (lang, text: string) => {\n    var obj = filter(shareButtonsTranslations, function (v, k) {\n        return k === lang;\n    });\n    var content = filter(obj[0], function (v, k) {\n        return k === text;\n    })\n    return content[0]\n\n}\n\n","const clickOutside = require('react-click-outside');\n\n\ninterface shareProps {\n    isMenuOpened: boolean\n    openContactPopup: () => void\n    onPrint: (e: any) => void\n    findErrorLink: string\n    lang?: string\n}\n\n\n\n@clickOutside\nexport class ShareButtonsDropdown extends React.Component<shareProps>{\n\n    private authorScroll = () => {\n        const elementToScroll = document.querySelector('#contactAuthor') as HTMLElement\n        setTimeout(() => {\n            elementToScroll.scrollIntoView({\n                behavior: 'smooth',\n                block: 'start'\n            });\n        }, 0)\n        const elementToOpen = document.querySelector('#contactWrapper') as HTMLElement\n        elementToOpen.click()\n    }\n\n    private checkIfAuthorExist = () => {\n        if (typeof window !== 'undefined') {\n            const authorExist = document.querySelector('#contactAuthor')\n            if (authorExist) return true\n            else return false\n        }\n    }\n\n\n\n    render() {\n\n        const { isMenuOpened, onPrint, openContactPopup, findErrorLink, lang } = this.props\n\n        let sendToAuthor = \"שליחת מייל לכותב/ת\"\n        let findError = \"מצאתם טעות? דווחו לנו\"\n        const isMenuClassName = isMenuOpened ? \"open\" : \"close\"\n        let textPrint = \"הדפסה\"\n        if(lang ===\"en\"){\n            sendToAuthor = \"Send to Author\";\n        findError = \"Find an error? Report us\" ;\n        textPrint = \"Print\";\n        }\n        if(lang ===\"ru\"){\n            sendToAuthor = \"Связь с редакцией\";\n            findError = \"Нашли техпроблему? Сообщите нам\" ;\n            textPrint = \"На печать\";  \n        }\n        return (\n\n            <div className={`menuMore ${isMenuClassName}`}>\n                <a title={textPrint} onClick={onPrint}>{textPrint}</a>\n                {/*this.checkIfAuthorExist() && <a title={sendToAuthor} onClick={this.authorScroll}>{sendToAuthor}</a>*/}\n                <a title={findError} href={findErrorLink} target=\"_blank\">{findError}</a> \n            </div>\n        )\n    }\n}\n","require(\"./ynet_pplus_magazine_site_siteArticleSocialShare1280.less\")\nrequire(\"./ynetnews_vesty_site_articleShareBtns1280.less\")\nrequire(\"./radionas_site_articleShareBtns1280.less\")\nimport { openFacebookShare, openTwitterShare, analyticsPushFunc, openTelegramShare } from \"../../../../widgetsUtils\"\nimport { MailShareButton } from \"../../../../siteWidgets/socialShareButtons/mail/mailShareButton\"\nimport { WhatsAppShareButton } from \"../../../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\"\nimport { getLinkBySubsite } from \"../../../../../front/staticServerRendering/contactParagraphInjection\";\nimport { ShareButtonsDropdown } from \"./articleDropdownShareComponenta\";\nimport { disablePageRefresh, enablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport { FrontCopyButton } from \"../../../../commonComponents/inline/frontCopyButton/frontCopyButton\";\nconst clickOutside = require('react-click-outside');\nconst ON_WCM_COMMENTS_RECIVED = \"onWcmCommetnsRecived\";\n\ninterface shareState {\n    isMenuOpened: boolean\n    wcmNumOfComments:string\n}\ninterface shareProps {\n    categorySubChannel: string\n    author: string\n    articleId: string\n    isBottomButtons?: boolean\n    showComments: boolean\n    isSpotim: boolean\n    lang?: string\n    verticalSidebar?: boolean\n    title?: string\n}\nexport function getTalkbackNumberView(tbNumber: string) {\n    let number = tbNumber\n    if (tbNumber.length > 3) {\n        number = tbNumber.charAt(0) + \"k\"\n    }\n    else if (parseInt(tbNumber) === 0) {\n        number = \"\";\n    }\n    return number\n\n}\n@clickOutside\nexport class SiteArticleSocialShareNew1280 extends React.Component<shareProps, shareState>{\n    static siteScriptName = \"SiteArticleSocialShareNew1280\"\n    constructor() {\n        super();\n        this.state = { isMenuOpened: null,\n            wcmNumOfComments:''\n        }\n    }\n\n    private handleClickOutside = () => {\n        this.setState({\n            isMenuOpened: false\n        });\n    }\n\n    \n  componentDidMount() {\n    document.addEventListener(ON_WCM_COMMENTS_RECIVED, this.handleOnWcmCommentsRecived);\n  }\n  componentWillUnmount(): void {\n    document.removeEventListener(ON_WCM_COMMENTS_RECIVED, this.handleOnWcmCommentsRecived);\n  }\n  private handleOnWcmCommentsRecived = (e) => {\n    this.setState({ wcmNumOfComments: e.detail.wcmNumOfComments });\n  };\n    \n    private handleShareBtnClicked = (button: string) => {\n        const { verticalSidebar, title, lang } = this.props;\n        this.setState({ isMenuOpened: false })\n        const langToUse = lang.slice(0, 2);\n        if (typeof window !== \"undefined\") {\n            const current_url = window.location.href;\n            const analyticsCategory = verticalSidebar ? \"Article Side\" : \"Article Top\";\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(current_url, \"\", () => analyticsPushFunc(\"Facebook\", analyticsCategory, title), analyticsCategory)\n                    break;\n\n                case \"tw\":\n                    openTwitterShare(current_url, () => analyticsPushFunc(\"Twitter\", analyticsCategory, title), analyticsCategory)\n                    break;\n                case \"mailto\":\n                    MailShareButton.openMailShare(document.title, current_url, langToUse, () => analyticsPushFunc(\"Mail\", analyticsCategory, title), analyticsCategory)\n                    break;\n                case \"wa\":\n                    WhatsAppShareButton.openWhatsAppShare(current_url, () => analyticsPushFunc(\"Whatsapp\", analyticsCategory, title), analyticsCategory)\n                    break;\n                case \"tg\":\n                    openTelegramShare(current_url, () => analyticsPushFunc(\"Telegram\", analyticsCategory, title), analyticsCategory)\n                    break;\n                case \"print\":\n                    window.print();\n                    break;\n\n                case \"tb\":\n                    const newCommentBtn = document.querySelector(\".newCommentBtn\") as HTMLElement\n                    if (newCommentBtn) {\n                        newCommentBtn.click();\n                    }\n                    const elementToScroll = document.querySelector('#SiteArticleComments')\n                    const commentsPopUp = document.querySelector('.spotimWrapper')\n                    if (elementToScroll) {\n                        setTimeout(() => {\n                            elementToScroll.scrollIntoView({\n                                behavior: 'smooth',\n                                block: 'center'\n                            });\n                        }, 0)\n                    }\n                    if (commentsPopUp) {\n                        toggleSpotImPopUp(commentsPopUp)\n                    }\n                    break;\n\n            }\n        }\n    }\n    private toggleMenu = () => {\n        if (this.state.isMenuOpened === null) {\n            this.setState({ isMenuOpened: true })\n        }\n        else this.setState({ isMenuOpened: !this.state.isMenuOpened })\n    }\n    private constructContactFormUrl = () => {\n        const { categorySubChannel, author, articleId } = this.props\n        return `/Ext/Comp/ArticleLayout/CdaSendArticleResponse/0,12358,L-${categorySubChannel},00.html?author=${author}&articleID=${articleId}`\n    }\n\n    private openContactPopup = () => {\n        this.setState({ isMenuOpened: !this.state.isMenuOpened })\n        const newwindow = window.open(this.constructContactFormUrl(), __(\"Article response\"), 'height=543,width=380');\n        if (window.focus) { newwindow.focus() }\n        return false;\n    }\n    render() {\n        const { isBottomButtons, showComments, articleId, isSpotim, lang, verticalSidebar, title } = this.props\n        const {wcmNumOfComments} = this.state;\n        const En = lang.includes(\"en\");\n        const Ru = lang.includes(\"ru\");\n        const he = lang.includes(\"he\");\n        const Ar = lang.includes(\"ar\");\n        const langToUse = lang.slice(0, 2);\n        let textMail = \"שלחו כתבה\";\n        let textTw = \"שיתוף בטוויטר\";\n        let textFb = \"שיתוף בפייסבוק\";\n        let textWa = \"שיתוף בואטסאפ\";\n        let textTg = \"שיתוף בטלגרם\";\n        let textMore = \"עוד\";\n        let addCommentTxt = \"הוספת תגובה\";\n        let commets = \"תגובות\"\n        if (En) {\n            textMail = \"Send Email\";\n            textTw = \"Twitter\";\n            textFb = \"Facebook\";\n            textWa = \"Whatsapp\";\n            textMore = \"More\";\n            addCommentTxt = \"Add a comment\";\n            commets = \"comments\";\n            textTg = \"Telegram\";\n        }\n        if (Ru) {\n            textMail = \"Эл. почта\";\n            textTw = \"Твиттер\";\n            textFb = \"Фейсбук\";\n            textWa = \"Ватсап\";\n            textMore = \"Ещё\";\n            addCommentTxt = \"Обсудить\";\n            commets = \"Комментарии: \";\n            textTg = \"Телеграм\";\n        }\n        if(Ar){\n            textMail = \"ارسل بريد الكتروني\";\n            textTw = \"Twitter\";\n            textFb = \"Facebook\";\n            textWa = \"Whatsapp\";\n            textMore = \"أكثر\";\n            addCommentTxt = \"اضف تعليق\";\n            commets = \"التعليقات\";\n            textTg = \"Telegram\"; \n        }\n        const isBottomClassName = isBottomButtons ? \"bottomBtns\" : \"\";\n        const commentNumber = getTalkbackNumberView(wcmNumOfComments ? wcmNumOfComments.toString() : \"\")\n        const txtbylang = Ru ? `${commets} ${commentNumber}` : `${commentNumber} ${commets}`\n        const ourCmntTxt = <span>{commentNumber.length > 0 ? txtbylang : addCommentTxt}</span>\n        const spotCounter = verticalSidebar? null :  <span id=\"spotimCmtCounter\" />\n        const tbText = isSpotim ? spotCounter : ourCmntTxt;\n        const shareclassName = \"SiteArticleSocialShareNew1280\";\n        return (\n            <div className={`${shareclassName} ${isBottomClassName} ${langToUse}`}>\n                {showComments && <button onClick={e => this.handleShareBtnClicked(\"tb\")} className=\"addNewComment tb\" id=\"addNewComment-header\" title={addCommentTxt}>\n                    <span className=\"shareIcon1280\" />\n                    <span className=\"verticalSidebarCommentNumber\">{commentNumber}</span>\n                    {tbText}\n                </button>}\n                <button title={textWa} className=\"shareIcon1280 wa\" onClick={e => this.handleShareBtnClicked(\"wa\")}></button>\n                <button title={textFb} className=\"shareIcon1280 fb\" onClick={e => this.handleShareBtnClicked(\"fb\")}></button>\n                <button title={Ru ? textTg : textTw} className={`shareIcon1280 ${Ru ? \"tg\" : \"tw\"}`} onClick={e => this.handleShareBtnClicked(Ru ?\"tg\" : \"tw\")}></button>\n                <button title={textMail} className=\"shareIcon1280 mailto\" onClick={e => this.handleShareBtnClicked(\"mailto\")}></button>\n                {he && <FrontCopyButton popupText=\"הקישור הועתק ללוח\" title={title} />}\n              {!Ar &&  <button title={textMore} className=\"shareIcon1280 more\" onClick={this.toggleMenu}></button>}\n                <ShareButtonsDropdown isMenuOpened={this.state.isMenuOpened}\n                    onPrint={e => this.handleShareBtnClicked(\"print\")}\n                    findErrorLink={getLinkBySubsite(\"ynet\",articleId )}\n                    openContactPopup={() => this.openContactPopup()}\n                    lang={langToUse} />\n            </div>\n        )\n    }\n}\n\nexport const toggleSpotImPopUp = (popupComment: Element) => {\n    if (!popupComment.classList.contains(\"isOpened\") && !popupComment.classList.contains(\"isClosed\")) {\n        setTimeout(() => {\n            disablePageRefresh();\n            popupComment.classList.add(\"isOpened\")\n        }, 0)\n\n    }\n    else if (popupComment.classList.contains(\"isClosed\")) {\n        setTimeout(() => {\n            disablePageRefresh();\n            popupComment.classList.replace(\"isClosed\", \"isOpened\")\n        }, 0)\n\n    }\n    else if (popupComment.classList.contains(\"isOpened\")) {\n        setTimeout(() => {\n            enablePageRefresh();\n            popupComment.classList.replace(\"isOpened\", \"isClosed\")\n        }, 0)\n\n    }\n}","import { openFacebookShare, openTwitterShare, analyticsPushFunc } from \"../../../../widgetsUtils\"\nimport { MailShareButton } from \"../../../../siteWidgets/socialShareButtons/mail/mailShareButton\"\nimport { WhatsAppShareButton } from \"../../../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\"\nrequire(\"./ynet_pplus_magazine_site_siteArticleSocialShare1280.less\")\n\nexport class SiteArticleSocialShare1280 extends React.Component<{title?: string}, {}>{\n    static siteScriptName = \"SiteArticleSocialShare1280\"\n\n    private handleShareBtnClicked = (button: string) => {\n        const {title} = this.props;\n        if (typeof window !== \"undefined\") {\n            const current_url = window.location.href;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(current_url, \"\", () => analyticsPushFunc(\"Facebook\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"tw\":\n                    openTwitterShare(current_url, () => analyticsPushFunc(\"Twitter\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"mailto\":\n                    MailShareButton.openMailShare(document.title, current_url, \"he\", () => analyticsPushFunc(\"Mail\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"wa\":\n                    WhatsAppShareButton.openWhatsAppShare(current_url, () => analyticsPushFunc(\"Whatsapp\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"print\":\n                    window.print();\n                    break;\n\n                case \"tb\":\n                    const newCommentBtn = document.querySelector(\".newCommentBtn\") as HTMLElement\n                    if (newCommentBtn) {\n                        newCommentBtn.click();\n                    }\n                    const elementToScroll = document.querySelector('#addCommentSendButton') || document.querySelector('.spotimWrapper')\n\n                    setTimeout(() => {\n                        elementToScroll.scrollIntoView({\n                            behavior: 'smooth',\n                            block: 'start'\n                        });\n                    }, 0)\n                    break;\n\n            }\n        }\n    }\n\n    render() {\n        const textMail = \"שלחו כתבה\"\n        const textTw = \"שיתוף בטוויטר\"\n        const textFb = \"שיתוף בפייסבוק\"\n        const textWa = \"שיתוף בואטסאפ\"\n        const textPrint = \"הדפס\"\n        const textNewPost = \"פרסם תגובה חדשה\"\n\n        return (\n            <div className=\"SiteArticleSocialShare1280\">\n                <button title={textTw} className=\"shareIcon1280 tw\" onClick={e => this.handleShareBtnClicked(\"tw\")}></button>\n                <button title={textFb} className=\"shareIcon1280 fb\" onClick={e => this.handleShareBtnClicked(\"fb\")}></button>\n                <button title={textWa} className=\"shareIcon1280 wa\" onClick={e => this.handleShareBtnClicked(\"wa\")}></button>\n                <button title={textPrint} className=\"shareIcon1280 print\" onClick={e => this.handleShareBtnClicked(\"print\")}></button>\n                <button title={textMail} className=\"shareIcon1280 mailto\" onClick={e => this.handleShareBtnClicked(\"mailto\")}></button>\n                <button title={textNewPost} className=\"shareIcon1280 tb\" onClick={e => this.handleShareBtnClicked(\"tb\")}></button>\n            </div>\n        )\n    }\n}","require('./site_ynet_articleVerticalSocialShare.less');\nimport { SiteArticleSocialShareNew1280 } from \"../articleSocialShare1280Component/articleSocialShareNew1280\"\nimport * as ResizeObserver from \"resize-observer-polyfill\"\n\n\ninterface Props {\n    categorySubChannel: string\n    author: string\n    articleId: string\n    isBottomButtons?: boolean\n    showComments: boolean\n    isSpotim: boolean\n    lang?: string\n}\n\ninterface state {\n    wrapperStyle: React.CSSProperties\n}\n\nexport class SiteArticleVerticalSocialShare extends React.Component<Props, state>{\n    static siteScriptName = \"SiteVerticalArticleSocialShare\"\n\n    constructor(props) {\n        super();\n        //@ts-ignore\n        if (ResizeObserver) {\n            this.resizeObserver = new ResizeObserver(records => records.forEach(r => {\n                this.onContentHeightChanged(r.contentRect.height)\n            }))\n        }\n\n\n        this.state = {\n            wrapperStyle: {\n                height: \"auto\",\n                visibility:props.showAlways ? \"visible\" : \"hidden\",\n                opacity: 0,\n                transition: \"visibility 0s ease-out 100ms, opacity 400ms\",\n            },\n        }\n    }\n    //@ts-ignore\n    private resizeObserver: ResizeObserver;\n    private intersectionObserver: IntersectionObserver;\n\n    componentDidMount() {\n        const isShowAlways = !document.getElementById(\"YnetHeader\");\n        if (IntersectionObserver) {\n            this.intersectionObserver = new IntersectionObserver(entries => {\n                entries.forEach(entry => {\n                    this.setVisibility(entry.isIntersecting, isShowAlways)\n                })\n            })\n        }\n        const itemToMatchHeightWith =  document.getElementsByClassName(\"article-body\")[0] || document.getElementsByClassName(\"article-body-radionas\")[0];\n        const widgetElement = document.getElementsByClassName(\"article-vertical-social-share\")[0];\n        const scrollTopOfItemToMatchHeightWith = itemToMatchHeightWith.getBoundingClientRect().top - widgetElement.getBoundingClientRect().top + window.pageYOffset;\n        this.resizeObserver.observe(itemToMatchHeightWith);\n        const  headerElem =document.getElementById(\"YnetHeader\") || document.getElementById(\"RadionasHeader\") || document.getElementById(\"MagazineHeader\"); \n        this.intersectionObserver.observe(isShowAlways ? headerElem : document.getElementById(\"ArticleHeaderComponent\"));\n        this.setState({\n            wrapperStyle: {\n                ...this.state.wrapperStyle,\n                top: isShowAlways ? \"0px\" : scrollTopOfItemToMatchHeightWith + \"px\",\n            }\n        })\n    }\n\n    componentWillUnmount() {\n        if (this.resizeObserver) {\n            this.resizeObserver.disconnect();\n            this.resizeObserver = null;\n        }\n    }\n\n    private onContentHeightChanged(height: number) {\nconst calcheight = document.getElementsByClassName(\"articleContainer magazine2025\")[0] && \n((document.getElementsByClassName(\"article-tags-1280-2\") ? \ndocument.getElementsByClassName(\"article-tags-1280-2\")[0].getBoundingClientRect().height : 0) +  \n(document.getElementsByClassName(\"article-body\") ? \ndocument.getElementsByClassName(\"article-body\")[0].getBoundingClientRect().height : 0) + \n(document.getElementsByClassName(\"Talkbacks-widget\") ? \ndocument.getElementsByClassName(\"Talkbacks-widget\")[0].getBoundingClientRect().height : 0));\nlet radionasHeight = document.getElementsByClassName(\"articleContainer radionas\")[0] &&  document.getElementsByClassName(\"articleContainer radionas\")[0].getBoundingClientRect().height;\nconst articleContainerHeight = calcheight ? calcheight : radionasHeight ? radionasHeight : height;\nconst isShowAlways = !document.getElementById(\"YnetHeader\");       \nthis.setState({\n            wrapperStyle: {\n                ...this.state.wrapperStyle,\n                height: isShowAlways ? `${articleContainerHeight}px` : `${height}px`\n            },\n        })\n    }\n\n    private setVisibility = (isIntersecting: boolean, isShowAlways:boolean) => {    \n        this.setState({\n            wrapperStyle: {\n                ...this.state.wrapperStyle,\n                visibility: isIntersecting &&  !isShowAlways ? \"hidden\" : \"visible\",\n                opacity: isIntersecting && !isShowAlways ? 0 : 1,\n            }\n        })\n    }\n\n    render() {\n        const { wrapperStyle } = this.state;\n        return (\n            <div className=\"SiteVerticalArticleSocialShare_Wrapper\" id=\"SiteVerticalArticleSocialShare_Wrapper\" style={wrapperStyle}>\n                <SiteArticleSocialShareNew1280 {...this.props} verticalSidebar/>\n            </div>\n        )\n    }\n}\n","\nimport { isWcmEditor } from \"../../../../../../config/serverConfig\";\nimport { analyticsPushFunc, openFacebookShare, openMailShare, openTwitterShare, openWhatsAppShare, openLinkedinShare } from \"../../../../../widgetsUtils\";\nimport { SiteLayoutType } from \"../../../../../../pagesPage/stateInterfaces\";\nrequire('./calcalist_site_calcalistPodcastShareMenu.less');\nconst clickOutside = require('react-click-outside');\ninterface CalcalistPodcastShareMenuProps {\n    title: string\n    url: string\n    siteLayoutType?: SiteLayoutType\n}\n\ninterface CalcalistPodcastShareMenuState {\n    showVerticalMenu: boolean\n}\n\n\n\n@clickOutside\nexport class CalcalistPodcastShareMenu extends React.Component<CalcalistPodcastShareMenuProps, CalcalistPodcastShareMenuState>{\n    public static siteScriptName = 'CalcalistPodcastShareMenuComponenta';\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            showVerticalMenu: false,\n\n        }\n    }\n\n    private handleClickOutside = () => {\n        this.setState({\n            showVerticalMenu: false\n        });\n    }\n\n\n    handleVerticalMenu = () => {\n        this.setState({ showVerticalMenu: !this.state.showVerticalMenu })\n    }\n\n\n    CalcalistPodcastShareMenuMutam = () => {\n        const { siteLayoutType, url, title } = this.props;\n        const { showVerticalMenu } = this.state;\n        return (\n            <div className='calcalist-podcast-menu-share-mutam-container'>\n                <div className=\"share-container\">\n                    <span className=\"share-icon-pf red\" onClick={this.handleVerticalMenu}></span>\n                    <span className=\"close-icon-pf\" onClick={() => history.back()}></span>\n                </div>\n\n                {showVerticalMenu && <div className=\"vertical-share-menu\">\n                    <button onClick={() => !isWcmEditor() ? openWhatsAppShare(url, () => analyticsPushFunc(\"Whatsapp\", \"Article Podcast\", title), \"Article Podcast\") : null} className=\"podcast-share-btn wa\" />\n                    <button onClick={() => !isWcmEditor() ? openFacebookShare(url, title, () => analyticsPushFunc(\"Facebook\", \"Article Podcast\", title), \"Article Podcast\") : null} className=\"podcast-share-btn fb\" />\n                    <button onClick={() => !isWcmEditor() ? openTwitterShare(url, () => analyticsPushFunc(\"Twitter\", \"Article Podcast\", title), \"Article Podcast\") : null} className=\"podcast-share-btn tw\" />\n                    <button onClick={() => !isWcmEditor() ? openMailShare(title, \"Calcalist\",url, () => analyticsPushFunc(\"Mail\", \"Article Podcast\", title), \"Article Podcast\") : null} className=\"podcast-share-btn mail\" />\n                </div>}\n            </div>\n        )\n    }\n\n    CalcalistPodcastShareMenuApp = () => {\n        const { siteLayoutType, url, title } = this.props;\n        const { showVerticalMenu } = this.state;\n        return (\n            <div className='calcalist-podcast-menu-share-app-container'>\n                <div className=\"share-container\">\n                    <span className=\"share-icon-pf red\" onClick={this.handleVerticalMenu}></span>\n                    <a href=\"close\"  title=\"back\" >\n                    <span className=\"close-icon-pf\"></span>\n                    </a>\n                </div>\n\n                <div className={`vertical-share-menu ${showVerticalMenu ? \"visible\": \"\"}`}  >\n                            <a href=\"whatsapp\" data-intent=\"doShare\">\n                                <span className=\"podcast-share-btn wa\"></span>\n                            </a>\n                            <a href=\"facebook\"  data-intent=\"doShare\">\n                                <span className=\"podcast-share-btn fb\"></span>\n                            </a>\n                            <a href=\"twiitter\" data-intent=\"doShare\">\n                                <span className=\"podcast-share-btn tw\"></span>\n                            </a>\n                            <a href=\"mail\" data-intent=\"doShare\">\n                                <span className=\"podcast-share-btn mail\"></span>\n                            </a>\n                </div>\n            </div>\n        )\n    }\n\n\n\n    CalcalistPodcastShareMenuDesktop = () => {\n        const { siteLayoutType, url, title } = this.props;\n        return (\n            <div className='calcalist-podcast-menu-share-container'>\n                <button onClick={() => !isWcmEditor() ? openFacebookShare(url, title, () => analyticsPushFunc(\"Facebook\", \"Article Main Image\", title), \"Article Main Image\") : null} className=\"podcast-share-btn fb\" />\n                <button onClick={() => !isWcmEditor() ? openTwitterShare(url, () => analyticsPushFunc(\"Twitter\", \"Article Main Image\", title), \"Article Main Image\") : null} className=\"podcast-share-btn tw\" />\n                <button onClick={() => !isWcmEditor() ? openMailShare(title, \"כלכליסט\", url, () => analyticsPushFunc(\"Mail\", \"Article Main Image\", title), \"Article Main Image\") : null} className=\"podcast-share-btn mail\" />\n                <button onClick={() => !isWcmEditor() ? openWhatsAppShare(url, () => analyticsPushFunc(\"Mail\", \"Article Main Image\", title), \"Article Main Image\") : null} className=\"podcast-share-btn wa\" />\n            </div>\n        )\n    }\n\n    render() {\n        const { siteLayoutType, url, title } = this.props;\n        const { showVerticalMenu } = this.state;\n\n        const openMobileShare = async () => {\n            const shareData = { url: url, title: title }\n            try {\n                // @ts-ignore \n                await navigator.share(shareData)\n            } catch (err) {\n                console.log(\"error with sharing function\", err);\n            }\n        }\n\n        switch (siteLayoutType) {\n            case 'mobileWeb':\n                return <this.CalcalistPodcastShareMenuMutam />\n            case 'desktop':\n                return <this.CalcalistPodcastShareMenuDesktop />\n            case 'mobileApp':\n                return <this.CalcalistPodcastShareMenuApp />\n            default:\n                return <this.CalcalistPodcastShareMenuDesktop />\n        }\n    }\n\n}\n\n","import { secondsToHms } from \"../../../../../siteWidgets/siteWidgetUtils\"\nimport { TogglePlayAction } from \"../../../../radioWidgets/floatingPlayer/audioPlayButton\"\nrequire(\"./calcalist_site_calcalistPodcastPlayerControls.less\")\n\ninterface PodcastPlayerControlsProps {\n    isAudioPlaying: boolean\n    playbackTime: number\n    audioElement: HTMLAudioElement\n    durationSeconds: number\n    isControlsDisabled: boolean\n    isSeeking: boolean\n    isMuted: boolean\n    loadingSource: boolean\n    onseeked: (playbackTime: number) => void\n    handleMuteSwitch: () => void\n    onTogglePlayPause: () => TogglePlayAction\n}\n\nexport class PodcastPlayerControls extends React.Component<PodcastPlayerControlsProps>{\n\n    private jumpForward = () => {\n        this.props.audioElement.currentTime += 15;\n    }\n\n    private jumpPrev = () => {\n        this.props.audioElement.currentTime -= 15;\n    }\n\n    private updateCurrentTime = (e) => {\n        this.props.onseeked(Number(e.target.value));\n    }\n\n    public render() {\n        const { isAudioPlaying, durationSeconds, playbackTime, isSeeking, onTogglePlayPause, loadingSource } = this.props\n        const percentage = (this.props.playbackTime - 0) * 100 / (this.props.durationSeconds - 0);\n        const rangeBackground = `linear-gradient(90deg, #ffffffde ${percentage}%, #ffffff61 ${percentage}%)`;\n\n        return (\n            <div className=\"calcalist-article-podcast-controls\">\n                <div className=\"podcast-controls-btns-container\">\n                    <button className={`forwardStep jumpto-button `} onClick={this.jumpForward} aria-label=\"skeep 15 seconds\"></button>\n\n                    <button className={`calcalist-article-podcast-play-button ${loadingSource || isSeeking ? \"calcalist-article-podcast-play-button-loader\" : \"\"}`} onClick={onTogglePlayPause} aria-label={isAudioPlaying ? 'pause' : 'play'}>\n                        <div className={`calcalist-article-podcast-play-button-status ${isAudioPlaying ? \"pause\" : \"\"}`} ></div>\n                    </button>\n\n                    <button className={`prevStep jumpto-button`} onClick={this.jumpPrev} aria-label=\"go backwards 15 seconds\"></button>\n                </div>\n\n                <div className=\"calcalist-article-podcast-controls-ruler\">\n                    <input type=\"range\" className=\"timeline\" max={durationSeconds} value={playbackTime} onChange={this.updateCurrentTime} style={{ background: rangeBackground }} />\n                    <div className=\"time-text-wrapper\">\n                        <div className=\"time-text\">{secondsToHms(durationSeconds)}</div>\n                        <div className=\"time-text\">{secondsToHms(playbackTime)}</div>\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}","import { PodcastPlayerControls } from \"./podcastPlayerControls\"\nimport { AudioPlayButton, MediaMetadata } from \"../../../../radioWidgets/floatingPlayer/audioPlayButton\"\nimport { ArticleData } from \"articlePage/stateInterfaces\"\nimport { ArticleComponentaContext } from \"../../../../../interfaces\";\n\ninterface PodcastPlayerControlsComponentProps extends Partial<ArticleComponentaContext>{\n    audioUrl: string\n    durationSeconds: number  \n    articleData:Partial<ArticleData>  \n}\n\nexport class PodcastPlayerControlsComponent extends React.Component<PodcastPlayerControlsComponentProps> {\n    public static siteScriptName = 'PodcastPlayerControlsComponent'\n    render() {\n\n        const { audioUrl, durationSeconds, articleData } = this.props;\n        const browserDisplayMediaMetaData = { title:  articleData.title, artist: \"calcalist\", album: articleData.category.textToShow}\n        return (\n            <AudioPlayButton\n                audioUrl={audioUrl}\n                durationSeconds={durationSeconds}\n                renderer={() => null}\n                articleData={articleData}\n                browserDisplayMediaMetaData={browserDisplayMediaMetaData}\n                floatingPlayerRenderer={(props) => (<PodcastPlayerControls {...props} />)}            \n            />\n        )\n    }\n}","import { WhatsAppShareButton } from \"widgets/siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\"\nimport { MailShareButton } from \"widgets/siteWidgets/socialShareButtons/mail/mailShareButton\"\nimport { openFacebookShare, openTwitterShare, analyticsPushFunc } from \"../../../../../../widgetsUtils\"\nrequire(\"./yplus_site_premiumArticleHeaderShareButtons.less\")\n\nexport class PremiumArticleHeaderShareButtons extends React.Component<{title: string}, {}>{\n    public static siteScriptName = \"PremiumArticleHeaderShareButtons\"\n\n    private handleShareBtnClicked = (button: string) => {\n        const {title} = this.props;\n        if (typeof window !== \"undefined\") {\n            const canonicalElm = document.querySelector(\"link[rel=canonical]\") as HTMLLinkElement;\n            const current_url = (canonicalElm && canonicalElm.href) || window.location.href;\n\n            switch (button) {\n                case \"facebook\":\n                    openFacebookShare(current_url, \"\", () => analyticsPushFunc(\"Facebook\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"whatsapp\":\n                    WhatsAppShareButton.openWhatsAppShare(current_url, () => analyticsPushFunc(\"Whatsapp\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"mailto\":\n                    MailShareButton.openMailShare(document.title, current_url, \"he\", () => analyticsPushFunc(\"Mail\", \"Article Top\", title), \"Article Top\")\n                    break;\n\n                case \"twitter\":\n                    openTwitterShare(current_url, () => analyticsPushFunc(\"Twitter\", \"Article Top\", title), \"Article Top\")\n                    break;\n            }\n        }\n    }\n\n    render() {\n        return (\n            <div className=\"PremiumArticleHeaderShareButtons\">\n                <div className=\"whatsapp icon-pf\" onClick={e => this.handleShareBtnClicked(\"whatsapp\")} />\n                <div className=\"mail icon-pf\" onClick={e => this.handleShareBtnClicked(\"mailto\")} />\n                <div className=\"twitter icon-pf\" onClick={e => this.handleShareBtnClicked(\"twitter\")} />\n                <div className=\"facebook icon-pf\" onClick={e => this.handleShareBtnClicked(\"facebook\")} />\n            </div>\n        )\n    }\n}","import { imageProps } from \"./premiumArticleTitleImageComponenta\";\nimport { yPlusHeaderMenuItem, YplusMenu } from \"../../../../../ynetPlusHeader/components/menu\";\nimport { YnetPlusUserMenuItems } from \"../../../../../ynetSearch/components/ynetPianoLogin/ynetPianoLogin\";\ninterface PremiumArticleTitleImageProps {\n    curCatId: string\n    isMenuVisible: boolean\n    image: imageProps\n    menuItems: yPlusHeaderMenuItem[]\n    imgHeight: number\n    siteId: string\n    seachPageLink: string\n    mainLogoLink: string\n    parentSiteLink: string\n    ynetPlusMenuItems?:YnetPlusUserMenuItems[]\n}\ninterface PremiumArticleTitleImageState {\n    isInputOpened: boolean\n    isUserLogged: boolean\n}\n\nexport class SitePremiumArticleTitleImageComponenta extends React.Component<PremiumArticleTitleImageProps, PremiumArticleTitleImageState>{\n    constructor(props) {\n        super(props as PremiumArticleTitleImageProps);\n        this.state = {\n            isUserLogged: false,\n            isInputOpened: false\n        }\n    }\n    componentDidMount() {\n        if (window && window.YitPaywall && window.YitPaywall.user) {\n            this.setState({ isUserLogged: true })\n        }\n    }\n\n    private showInput = () => {\n        this.setState({ isInputOpened: true })\n    }\n    private hideInput = () => {\n        this.setState({ isInputOpened: false })\n    }\n    public static siteScriptName = \"SitePremiumArticleTitleImageComponenta\";\n    render() {\n        const { curCatId, isMenuVisible, image: { imageCaption, imageUrl, imageCredit }, menuItems, siteId,\n            seachPageLink, mainLogoLink, parentSiteLink, ynetPlusMenuItems} = this.props\n        const { isInputOpened, isUserLogged } = this.state\n        const screenWidth = typeof window !== \"undefined\" ? `${window.innerWidth}px` : \"1920px\";\n        if (imageUrl !== undefined) {\n            return (\n                <div className=\"PremiumArticleTitleImageComponenta\" style={{ \"--screenWidth\": screenWidth }}>\n                    <YplusMenu items={menuItems}\n                        categoryId={curCatId}\n                        isMenuVisible={isMenuVisible}\n                        isArticle={true} \n                        siteId={siteId}\n                        seachPageLink={seachPageLink}\n                        isInputOpened={isInputOpened}\n                        showInput={this.showInput}\n                        onFocusOutSearch={this.hideInput}\n                        isUserLogged={isUserLogged}\n                        mainLogoLink={mainLogoLink}\n                        parentSiteLink={parentSiteLink}\n                        ynetPlusMenuItems={ynetPlusMenuItems}\n                    />\n                    <div className=\"bgDiv\" title={imageCaption} style={{\n                        backgroundImage: `url(\"${imageUrl}\")`, backgroundRepeat: \"no-repeat\"\n                    }} >\n                        <span className=\"imgCredit\">{imageCredit}</span>\n                    </div>\n                </div>\n            )\n        }\n        else return <YplusMenu items={menuItems}\n            categoryId={curCatId} isMenuVisible={isMenuVisible}\n            isArticle={true} siteId={siteId}\n            seachPageLink={seachPageLink}\n            isInputOpened={isInputOpened}\n            showInput={this.showInput}\n            onFocusOutSearch={this.hideInput}\n            isUserLogged={isUserLogged}\n            mainLogoLink={mainLogoLink}\n            parentSiteLink={parentSiteLink}\n            ynetPlusMenuItems={ynetPlusMenuItems}\n             />;\n\n\n    }\n}\n","import { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport { YnetPremiumLoginDesktop } from \"../ynetPremiumLogin/ynetPremiumLoginDesktop\"\nimport { YnetPianoLogin, YnetPlusUserMenuItems } from \"../../../../../ynetSearch/components/ynetPianoLogin/ynetPianoLogin\"\nrequire(\"./yplus_site_premiumHeader.less\")\n\ninterface PremiumHeaderProps {\n    className?: string\n    id?: string\n    isArticlePage: boolean\n    siteId?: string\n    isStyckyBar?: boolean\n    mainLogoLink: string\n    parentSiteLink: string\n    ynetPlusMenuItems?:YnetPlusUserMenuItems[]\n}\n\n\nexport class PremiumHeader extends React.Component<PremiumHeaderProps, any>{\n    static defaultProps = { className: \"\", isStyckyBar: false }\n\n    render() {\n        const { mainLogoLink, parentSiteLink, ynetPlusMenuItems } = this.props\n        const className = `PremiumHeader ${this.props.className}`\n        let logoImageUrl;\n        //  let logoImageLink;\n        const isPianoLogin = typeof window != \"undefined\" && window.YitPaywall && window.YitPaywall.isPianoLogin;\n\n\n        if (this.props.isArticlePage) {\n            logoImageUrl = this.props.siteId === \"pplus\" ? \"/Common/images/pplus-logo.png\" : \"/Common/images/y-logo.png\"\n            //    logoImageLink = this.props.siteId === \"pplus\" ? \"//pplus.ynet.co.il\" : \"//www.ynet.co.il\"\n        }\n        else {\n            logoImageUrl = \"/Common/images/y-logo.png\"\n            //    logoImageLink = \"//www.ynet.co.il\"\n        }\n        //  logoImageLink += \"?utm_source=premium.ynet.co.il&utm_medium=referral&utm_campaign=ynet_plus_Lounge\"\n        return (\n            <div className={className} id={this.props.id}>\n\n                <SimpleLinkRenderer className=\"rightLogo\" href={parentSiteLink} >\n                    <img src={logoImageUrl} />\n                    <span>    ראשי</span>\n                </SimpleLinkRenderer>\n                {this.props.isStyckyBar ? <div className=\"rightSideHeader\"><SimpleLinkRenderer className=\"midLogo withBgLogo\" href={mainLogoLink} />\n                    {this.props.children} </div> :\n                    <SimpleLinkRenderer className=\"midLogo\" href={mainLogoLink}  >\n                       <img src=\"//www.ynet.co.il/images/logo-ynet-plus.png\" />\n                    </SimpleLinkRenderer>\n                }\n                <div className=\"menuWrapper\">\n              {isPianoLogin? <YnetPianoLogin isPremiumHeaderArticle={true} ynetPlusMenuItems={ynetPlusMenuItems} /> : <YnetPremiumLoginDesktop isArticlePage={this.props.isArticlePage} />}\n                </div>\n            </div>\n        )\n    }\n}","import * as throttle from \"lodash/throttle\"\nimport { YplusMutamSideMenu } from \"./yplusMutamSideMenu\"\nimport { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport { YPlusHeaderNavItems } from \"../premiumArticleTitleImageComponenta/premiumArticleTitleImageMutamComponenta\"\nimport { YnetPlusUserMenuItems } from \"../../../../../ynetSearch/components/ynetPianoLogin/ynetPianoLogin\";\n\ninterface PremiumHeaderMutamProps {\n    mainLogoLink: string\n    parentSiteLink: string\n    menuItems: YPlusHeaderNavItems[]\n    siteId: string\n    categoryId: string\n    isMenuVisible: boolean\n    searchPageLink: string\n    ynetPlusMenuItems?:YnetPlusUserMenuItems[]\n}\n\ninterface PremiumHeaderMutamState {\n    isSticky: boolean\n    isUserLoggedIn: boolean\n}\n\nexport class PremiumMutamHeader extends React.Component<PremiumHeaderMutamProps, PremiumHeaderMutamState>{\n    constructor() {\n        super();\n        this.state = {\n            isSticky: false,\n            isUserLoggedIn: false\n        }\n    }\n\n    public static siteScriptName = \"PremiumMutamHeader\";\n\n    private activateStickyHeader() {\n        const headerPos = document.querySelector(\".PremiumArticleTitleImageMutamComponenta\").getBoundingClientRect().top\n        if (headerPos < 0) {\n            this.setState({ isSticky: true })\n        } else {\n            this.setState({ isSticky: false })\n        }\n    }\n\n    private throttledScrollHandler = () => throttle(() => this.activateStickyHeader(), 200)\n\n    private checkUserLoginStatus = () => {\n        if (window && window.YitPaywall && window.YitPaywall.user) {\n            this.setState({ isUserLoggedIn: true })\n        }\n    }\n\n    public componentDidMount() {\n        document.addEventListener(\"scroll\", this.throttledScrollHandler())\n        this.activateStickyHeader()\n        this.checkUserLoginStatus()\n    }\n\n    public componentWillUnmount() {\n        document.removeEventListener(\"scroll\", this.throttledScrollHandler())\n    }\n\n    render() {\n        const { mainLogoLink, parentSiteLink, menuItems, siteId, categoryId, isMenuVisible, searchPageLink, ynetPlusMenuItems } = this.props\n        const { isSticky, isUserLoggedIn } = this.state\n\n        return (\n            <div className={`PremiumMutamHeader ${isSticky ? \"sticky\" : \"\"}`}>\n                <YplusMutamSideMenu\n                    menuItems={menuItems}\n                    siteId={siteId}\n                    categoryId={categoryId}\n                    isMenuVisible={isMenuVisible}\n                    searchPageLink={searchPageLink}\n                    isUserLoggedIn={isUserLoggedIn}\n                    mainLogoLink={mainLogoLink}\n                    parentSiteLink={parentSiteLink}\n                    ynetPlusMenuItems={ynetPlusMenuItems}\n                />\n\n                <SimpleLinkRenderer href={mainLogoLink}  >\n                    <div className=\"yplusLogo\"></div>\n                </SimpleLinkRenderer>\n\n                <a className=\"goBackArrow\" href={\"javascript:history.back()\"}></a>\n            </div>\n        )\n    }\n}","import { SimpleLinkRenderer, HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { YnetPremiumLoginMobile } from \"../ynetPremiumLogin/ynetPremiumLoginMobile\"\nimport { yPlusHeaderMenuItem } from \"../../../../../ynetPlusHeader/components/ynetPlusMobileHeader\"\nimport { useState } from \"react\"\nimport { YplusSearchInput } from \"../../../../../yPlusSubChannelHeader/components/searchInput\"\nimport * as classNames from \"classnames\"\nimport * as map from \"lodash/map\"\nimport { YPlusHeaderNavItems } from \"../premiumArticleTitleImageComponenta/premiumArticleTitleImageMutamComponenta\"\nimport { YnetPlusUserMenuItems, YnetPianoLogin } from \"../../../../../ynetSearch/components/ynetPianoLogin/ynetPianoLogin\"\n\ninterface YplusMutamSideMenuProps {\n    mainLogoLink: string\n    parentSiteLink: string\n    menuItems: YPlusHeaderNavItems[]\n    categoryId: string\n    searchPageLink: string\n    isUserLoggedIn?: boolean\n    ynetPlusMenuItems?:YnetPlusUserMenuItems[]\n}\n\nexport const YplusMutamSideMenu = (props: YplusMutamSideMenuProps) => {\n    const { mainLogoLink, parentSiteLink, menuItems, categoryId, searchPageLink, isUserLoggedIn,ynetPlusMenuItems } = props\n    const [isOpened, setIsOpened] = useState<boolean>(false);\n\n    const openMenu = () => {\n        document.body.style.top = `-${window.scrollY}px`;\n        document.body.style.position = \"fixed\";\n        setIsOpened(true)\n        analyticsMenuPushFunc()\n    }\n\n    const closeMenu = () => {\n        const scrollY = document.body.style.top;\n        document.body.style.position = '';\n        document.body.style.top = '';\n        window.scrollTo(0, parseInt(scrollY || '0') * -1);\n        setIsOpened(false)\n        analyticsMenuPushFunc()\n    }\n\n    const analyticsMenuPushFunc = () => {\n        if (typeof window !== \"undefined\") {\n            window.dataLayer = window.dataLayer || []\n            const menuStatus = isOpened ? 'Close' : 'Open';\n            window.dataLayer.push({\n                event: 'Navigation_Events',\n                Category: 'Ynet+ - Navigation',\n                Action: `Side Menu - ${menuStatus}`\n            });\n        }\n    }\n\n    const clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n\n    const isPianoLogin = typeof window != \"undefined\" && window.YitPaywall && window.YitPaywall.isPianoLogin;\n    const isPianoUserValid =  typeof window != \"undefined\" && window.tp && window.tp.pianoId &&  window.tp.pianoId.isUserValid();\n    const isUserAuthenticated = isPianoLogin? isPianoUserValid : isUserLoggedIn;\n\n    return (\n        <div className=\"yplusMutamSideMenu\">\n            <div className=\"sideMenuBtn\" onClick={openMenu}></div>\n\n            <div className={classNames(\"sideMenu\", { \"opened\": isOpened })}>\n                <div className=\"sideMenuContent\">\n                    <div className=\"menuHeader\">\n                        <SimpleLinkRenderer className=\"withBgLogo\" href={mainLogoLink} />\n                        <div className=\"headerButtonsWrapper\">\n                            <button id=\"INDmenu-btn3\" className=\"headerAccessibiltyBtn\"\n                                accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" onClick={clickAcessibilityBtn}>\n                               \n                            </button>\n                            <button className=\"closeMenuBtn\" onClick={closeMenu} />\n                        </div>\n                    </div>\n                    {isPianoLogin?  <YnetPianoLogin isPremiumHeaderArticle={true} ynetPlusMenuItems={ynetPlusMenuItems} /> : <YnetPremiumLoginMobile />}\n            \n                    {searchPageLink !== undefined && (isUserAuthenticated || (typeof window !==\"undefined\" && window.AWS_PLUS_SEARCH_URL)) &&\n                        <YplusSearchInput\n                            className=\"mobileInput\"\n                            seachPageLink={searchPageLink}\n                            isInputOpened={true}\n                        />}\n\n                    <ul className=\"YplusCategoriesList\" >\n                        {map(menuItems, (item, i) => {\n                            return (\n                                <li key={i} className={classNames(\"menuItem\", { \"selected\": item.catId === categoryId })}>\n                                    <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} >\n                                        <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                    </HyperLinkBuilder>\n                                </li>\n                            )\n                        })}\n                    </ul>\n\n                    <div className=\"contactLink\" >\n                        <div className=\"contact-row\">\n                            <a href=\"https://www.ynet.co.il/plus/contact\" target=\"_blank\" id=\"contactUs\"> שירות לקוחות </a>\n                        </div>\n                        <div className=\"mini-contact-link\">\n                            <a href=\"//z.ynet.co.il/short/content/2018/privacypolicy/policy.html\" target=\"_blank\" id=\"privay\">\n                                {` מדיניות פרטיות | `}\n                            </a>\n                            <a href=\"//www.ynet.co.il/article/hklworybp\" target=\"_blank\" id=\"term\">\n                                {` תנאי שימוש | `}\n                            </a>\n                            <a href=\"https://www.ynet.co.il/plus/contact\" target=\"_blank\" id=\"contact\">\n                                {` צור קשר ` }\n                            </a>\n                        \n                        </div>\n                    </div>\n\n                    <SimpleLinkRenderer className=\"mainSiteLogo\" href={parentSiteLink} >\n                        <div className=\"ynetLogo\"></div>\n                        <span>    ראשי</span>\n                    </SimpleLinkRenderer>\n                </div>\n\n                <div className=\"closeDivArea\" onClick={closeMenu} />\n            </div>\n        </div>\n    )\n}","import { isWcmEditor } from \"../../../../../../../config/serverConfig\"\nimport { isQaHost } from \"../../../../../../widgetsUtils\"\nimport { isMobile } from \"../../../../../../../utils/isMobile\"\nimport { logoutPremium, analyticsLogoutPushFunc } from \"../../utils\"\nconst clickOutside = require('react-click-outside');\nrequire(\"./yplus_site_ynetPremiumLogin.less\")\nrequire(\"./yplus_site_ynetPremiumLogin-mobile.less\")\n\nexport interface YnetPremiumLoginBaseRendererProps {\n    user: { props: { firstName: string } }\n    isMenuVisible: boolean\n    toggleMenu: () => void,\n    handleOnArticlesClicked: () => void,\n    handleOnManageAccountClicked: () => void,\n    handleOnLogoutMenuClicked: () => void,\n    handleOnContactUsClicked: () => void\n    closeLogoutPopup: () => void,\n    logOutFromPopUp: () => void,\n    isLogoutPopupOpen: boolean,\n}\n\ninterface YnetPremiumLoginBaseProps {\n    renderer: (props: YnetPremiumLoginBaseRendererProps) => React.ReactElement<any>\n    isMobile?: boolean\n\n}\n\ninterface YnetPremiumLoginBaseState {\n    user: { props: { firstName: string } }\n    isMenuVisible: boolean,\n    isLogoutPopupOpen: boolean,\n}\n\n@clickOutside\nexport class YnetPremiumLoginBase extends React.Component<YnetPremiumLoginBaseProps, YnetPremiumLoginBaseState>{\n    constructor(props) {\n        super(props)\n        this.state = {\n            user: null,\n            isMenuVisible: false,\n            isLogoutPopupOpen: false,\n        }\n    }\n\n    private handleClickOutside = () => {\n        !isMobile && this.setState({ isMenuVisible: false })\n    }\n\n    componentDidMount() {\n        if (window && window.YitPaywall && window.YitPaywall.user) {\n            this.setState({\n                user: window.YitPaywall.user\n            })\n        }\n        !this.props.isMobile && document.addEventListener(\"scroll\", this.onScrollCallback)\n    }\n\n    componentWillUnmount() {\n        !this.props.isMobile && document.removeEventListener(\"scroll\", this.onScrollCallback)\n    }\n\n    private onScrollCallback = (e) => {\n        this.setState({ isMenuVisible: false })\n    }\n\n    private analyticsMenuPushFunc = () => {\n        if (typeof window !== \"undefined\") {\n            const menuStatus = this.state.isMenuVisible ? 'Close' : 'Open';\n            window.dataLayer = window.dataLayer || []\n            window.dataLayer.push({\n                event: 'Navigation_Events',\n                Category: 'Ynet+ - Navigation',\n                Action: `Dropdown Side Menu - ${menuStatus}`\n            });\n        }\n    }\n\n    private toggleMenu = () => {\n        this.analyticsMenuPushFunc()\n        this.setState(pstate => {\n            return {\n                isMenuVisible: !pstate.isMenuVisible,\n            }\n        })\n\n    }\n\n\n    private handleOnManageAccountClicked = () => {\n        this.toggleMenu()\n        if (!isWcmEditor()) {\n            const hostname = window.location.hostname\n            const qaLink = \"https://qa-primium.ynet.co.il/Web/Manage\"\n            const prodLink = \"https://premium.ynet.co.il/Web/Manage\"\n            const urlToOpen = isQaHost(hostname) ? qaLink : prodLink\n            window.open(urlToOpen)\n        }\n    }\n\n    private handleOnArticlesClicked = () => {\n        this.toggleMenu()\n        if (!isWcmEditor()) {\n            const hostname = window.location.hostname\n            const qaLink = \"https://qa.ynet.co.il/plus\"\n            const prodLink = \"https://www.ynet.co.il/plus\"\n            const urlToOpen = isQaHost(hostname) ? qaLink : prodLink\n            window.open(urlToOpen)\n        }\n    }\n\n    private handleOnContactUsClicked = () => {\n        this.toggleMenu()\n        if (!isWcmEditor()) {\n            const hostname = window.location.hostname\n            const qaLink = \"//qa.ynet.co.il/plus/contact\"\n            const prodLink = \"//www.ynet.co.il/plus/contact\"\n            const urlToOpen = isQaHost(hostname) ? qaLink : prodLink\n            window.open(urlToOpen)\n        }\n    }\n    private handleOnLogoutClicked = () => {\n        analyticsLogoutPushFunc()\n        logoutPremium()\n        this.setState({ user: null })\n    }\n\n\n\n\n    private handleOnLogoutMenuClicked = () => {\n        this.toggleMenu()\n        this.setState(pstate => {\n            return {\n                ...pstate,\n                isLogoutPopupOpen: true\n            }\n        })\n    }\n\n    private closeLogoutPopup = () => {\n        this.setState(pstate => {\n            return {\n                ...pstate,\n                isLogoutPopupOpen: false\n            }\n        })\n    }\n\n\n\n\n    private logOutFromPopUp = () => {\n        this.closeLogoutPopup();\n        this.handleOnLogoutClicked();\n    }\n\n\n\n\n\n\n    render() {\n        const { user, isMenuVisible, isLogoutPopupOpen } = this.state\n        var el = this.props.renderer({\n            user, isMenuVisible, isLogoutPopupOpen,\n            toggleMenu: this.toggleMenu,\n            handleOnArticlesClicked: this.handleOnArticlesClicked,\n            handleOnLogoutMenuClicked: this.handleOnLogoutMenuClicked,\n            handleOnManageAccountClicked: this.handleOnManageAccountClicked,\n            closeLogoutPopup: this.closeLogoutPopup,\n            logOutFromPopUp: this.logOutFromPopUp,\n            handleOnContactUsClicked: this.handleOnContactUsClicked,\n        })\n        return el;\n    }\n}","import { YnetPremiumLoginBase, YnetPremiumLoginBaseRendererProps } from \"./ynetPremiumLoginBase\";\nimport { LogoutPopupComponent } from '../../../../../../../../app/widgets/defenitions/ynetSearch/components/ynetPremiumLogin/LogoutPopupComponent'\n\n\nexport class YnetPremiumLoginDesktop extends React.Component<{ isArticlePage: boolean }, {}>{\n    private handleOnClick() {\n        window.YitPaywall.openLoginPopUp();\n        window.dataLayer = window.dataLayer || []\n        const label = this.props.isArticlePage ? 'Ynet+ Article - Header' : 'Lounge - Header'\n        window.dataLayer.push({\n            event: 'Login_Events',\n            Category: 'Ynet+ - Login',\n            Action: 'Login Source',\n            Label: `${label}`\n        });\n    }\n\n    public render() {\n        return <YnetPremiumLoginBase renderer={({ user, isMenuVisible, isLogoutPopupOpen, closeLogoutPopup, logOutFromPopUp, toggleMenu, handleOnLogoutMenuClicked,\n            handleOnManageAccountClicked, handleOnArticlesClicked, handleOnContactUsClicked, }: YnetPremiumLoginBaseRendererProps) => (\n            <div className=\"YnetArticlePremiumLogin\">\n                {!user &&\n                    <a className=\"login_premium\"\n                        onClick={() => this.handleOnClick()}>\n                        <div className=\"userIcon\" />\n                        <span className=\"label\">התחברות</span>\n                    </a>}\n\n                {user &&\n                    <div className=\"loggedUser\" onClick={toggleMenu}>\n                        <div className=\"userIcon\" />\n                        <span className=\"welcomeUserLabel\"> {`שלום ${user.props.firstName}`}</span>\n                        <div className=\"menuTogglerWrapper\"  >\n                            <div className=\"menuToggler\" />\n                        </div>\n                    </div>\n                }\n\n                {isMenuVisible &&\n                    <div className=\"menu\">\n                        <div className=\"menuTogglerUpsideDown\" />\n                        <div className=\"menuOption\" onClick={handleOnArticlesClicked} id=\"mainPageLink\">כתבות +ynet</div>\n                        <div className=\"menuOption\" onClick={handleOnManageAccountClicked} id=\"manageAccount\">ניהול חשבון</div>\n                        <div className=\"menuOption\" onClick={handleOnContactUsClicked} id=\"contactUsLink\">שירות לקוחות</div>\n                    <div className=\"menuOption\" onClick={handleOnLogoutMenuClicked} id=\"logoutDesktop\">התנתקות</div>\n                    </div>}\n\n                {(isLogoutPopupOpen && user) && <LogoutPopupComponent logOutFromPopUp={logOutFromPopUp} closeLogoutPopupOpen={closeLogoutPopup} />}\n\n            </div>\n        )} />\n\n    }\n}\n","import { YnetPremiumLoginBase, YnetPremiumLoginBaseRendererProps } from \"./ynetPremiumLoginBase\";\nimport { LogoutPopupComponent } from '../../../../../../../../app/widgets/defenitions/ynetSearch/components/ynetPremiumLogin/LogoutPopupComponent'\nimport * as classNames from \"classnames\"\n\nexport class YnetPremiumLoginMobile extends React.Component<{}, {}>{\n    public static siteScriptName = \"YnetPremiumLoginMobile\";\n\n    private handleOnClick() {\n        window.YitPaywall.openLoginPopUp();\n        window.dataLayer = window.dataLayer || []\n        window.dataLayer.push({\n            event: 'Login_Events',\n            Category: 'Ynet+ - Login',\n            Action: 'Login Source',\n            Label: 'Side Menu'\n        });\n    }\n\n    public render() {\n\n        return <YnetPremiumLoginBase renderer={({ user, isMenuVisible, isLogoutPopupOpen, closeLogoutPopup, handleOnContactUsClicked,\n            handleOnArticlesClicked, logOutFromPopUp, toggleMenu, handleOnLogoutMenuClicked, handleOnManageAccountClicked }: YnetPremiumLoginBaseRendererProps) => (\n\n            <div className=\"YnetArticlePremiumLogin\" >\n                {!user &&\n                    <a className=\"login_premium\"\n                        onClick={() => this.handleOnClick()}>\n                        התחברות לחשבון\n                    </a>}\n\n                {user &&\n                    <div className={classNames(\"loggedUser\", { \"isNotVisible\": isMenuVisible })} onClick={toggleMenu}>\n                        {`שלום ${user.props.firstName}`}\n                    </div>\n                }\n                {user && <div className={classNames(\"userMenu\", { \"isVisible\": isMenuVisible })}>\n                        <div className=\"menuOption bold\"> </div>\n                        <div className=\"menuOption\" onClick={handleOnManageAccountClicked} id=\"manageAccount\">ניהול חשבון</div>\n                        <div className=\"menuOption\" onClick={handleOnLogoutMenuClicked} id=\"logoutMobile\">התנתקות</div>\n                </div>}\n\n                {(isLogoutPopupOpen && user) && <LogoutPopupComponent logOutFromPopUp={logOutFromPopUp} closeLogoutPopupOpen={closeLogoutPopup} />}\n\n            </div>\n\n        )} isMobile={true} />\n\n    }\n}\n","export const logoutPremium = () => {\n    window && window.YitPaywall.httpGet(window.YitPaywall.ApiRroutesConfig.Origin + window.YitPaywall.ApiRroutesConfig.logout + '?_=' + new Date().getTime(), 'DELETE', function (response) {\n        setTimeout(function () { window.top.location.href = window.YitPaywall.freePath; }, 500);\n    });\n}\n\nexport const analyticsLogoutPushFunc = () => {\n    if (typeof window !== \"undefined\") {\n        let action = \"Side Menu\"\n        if (document.querySelector(\"meta[property='og:IsPay']\")) {\n            action = \"Header\"\n        }\n        else if (window.dcPath != undefined) {\n            const path_category = window.dcPath;\n            let patch_array = path_category.split(\"-\");\n            if (patch_array[0].indexOf(\"8.\") !== -1) {\n                action = \"Header\"\n            }\n        }\n        window.dataLayer = window.dataLayer || []\n        window.dataLayer.push({\n            event: 'GA_Event',\n            Category: 'Ynet+ - Logout',\n            Action: `${action}`,\n            Label: 'Click to Logout'\n        });\n    }\n}\n\nexport const analyticsPremiumPushFunc = (label: string) => {\n    if (typeof window !== \"undefined\") {\n        window.dataLayer = window.dataLayer || []\n        window.dataLayer.push({\n            event: 'Navigation_Events',\n            Category: 'Side Menu',\n            Action: 'User Mini-Menu',\n            Label: label\n        });\n    }\n}\n\n","import { ArticleImagePriceTagData } from \"../data/articleImagePriceTagData\"\nimport { isMobile } from \"../../../../utils/isMobile\";\nrequire(\"./site_articleImagePriceTagPointsComponent.less\")\nvar clickOutside = require(\"react-click-outside\")\ninterface ArticleImagePriceTagPointsComponentProps {\n    data: ArticleImagePriceTagData\n    links: string[]\n}\n\ninterface ArticleImagePriceTagPointsComponentState {\n    selectedPoint: number\n}\n@clickOutside\nexport class ArticleImagePriceTagPointsComponent extends React.Component<ArticleImagePriceTagPointsComponentProps, ArticleImagePriceTagPointsComponentState>{\n    public static siteScriptName = \"ArticleImagePRiceTagPointComponent\";\n    constructor(props) {\n        super(props)\n        this.state = {\n            selectedPoint: -1\n        }\n    }\n\n    handleIndexChange = (index: number) => {\n        this.setState({ selectedPoint: index })\n    }\n\n    handleClickOutside = () => {\n        this.setState({ selectedPoint: -1 })\n    }\n\n    getMobileXCordination = (precent: number) => {\n        const { data: { imageId } } = this.props\n        //width of .point-box\n        const boxWidth = 266\n        const baseConvert = 630\n        const image = document.getElementById('ReduxEditableImage_' + imageId)\n        if (image) {\n            const boxSizeInPrecentage = this.roundedPrecentage(boxWidth, baseConvert)\n            if (precent + boxSizeInPrecentage > 100) {\n                return precent - ((precent + boxSizeInPrecentage / 2) - 100)\n            }\n            else if (precent - boxSizeInPrecentage < 0) {\n                return precent + Math.abs((precent - boxSizeInPrecentage / 2))\n            }\n        }\n        return precent\n    }\n\n    roundedPrecentage = (partialValue, totalValue) => {\n        return (100 * partialValue) / totalValue\n    }\n\n    public render() {\n        const { data: { tagPoints } } = this.props;\n        let {data:{pointsColor}} = this.props;\n\n        // const link = getUrl(linkProperties)\n\n        if(!pointsColor){\n            pointsColor = \"#fff\";\n        }\n\n        const pointOnPicture = _.map(tagPoints, (p, index) => {\n            const { links } = this.props\n            const { selectedPoint } = this.state\n            const link = links[index]\n            if (index === selectedPoint) {\n                return (\n                    <div key={index} className=\"point-box\" style={{ left: `${isMobile ? this.getMobileXCordination(p.style.width) : p.style.width}%`, top: `${p.style.height}%` }}>\n                        <div className=\"close-btn\">\n                            <span onClick={() => this.handleIndexChange(-1)}>X</span>\n                        </div>\n                        {!!p.price &&\n                            <div className=\"price-row\">\n                                <span>{p.price && new Intl.NumberFormat().format(p.price)}</span>₪\n                            </div>}\n                        <div className=\"desc-row\">\n                            {`${p.description}`}\n                        </div>\n                        {p.additionalText &&\n                            <div className=\"additional-row\">\n                                {`${p.additionalText}`}\n                            </div>}\n                        {link &&\n                            <div className=\"buy-row\">\n                                <a className=\"buy-btn\" href={link} target={p.linkTargetProperties.linkOpenType === \"new\" ? \"_blank\" : null}>\n                                    {`${!p.insideDotBtnText ? \"לרכישה\" : p.insideDotBtnText} >`}\n                                </a>\n                            </div>}\n                    </div>\n                )\n            }\n            return (\n                <div key={index} className=\"pont-dot-parent\" style={{ \"--pointX\": `${p.style.width}%`, \"--pointY\": `${p.style.height}%` }}>\n                    <div\n                        className={\"point-dot\"}\n                        style={{ \"--pointColor\": p.dotColor ? p.dotColor : pointsColor  }}\n                        key={index}\n                        onClick={() => this.handleIndexChange(index)}\n                    >\n                        <span className=\"dot-plus\" style={{ \"--plusColor\": p.plusColor ? p.plusColor : \"#000\" }}>+</span>\n                        <div className=\"dot-text\">\n                            {`${!p.dotText ? \"לצפייה במוצר\" : p.dotText} >`}\n                        </div>\n                    </div>\n                </div>\n            )\n        })\n\n        return (\n            <>\n                {pointOnPicture}\n            </>\n        )\n    }\n}\n","import * as axios from \"axios\"\nimport * as classNames from \"classnames\"\nimport { isWcmEditor } from \"../../../../config/serverConfig\";\n\ninterface ArticleNewsletterWrapperProps {\n    itemId: string\n    componentaId: string\n    itemTitle: string\n    accountName: string\n}\n\ninterface ArticleNewsletterWrapperState {\n    user: { props: { firstName: string } }\n    sendStatus: SendStatus\n    checkedTerms: boolean\n    mailValue: string\n}\n\nenum SendStatus {\n    beforeSend = 0,\n    validationError = 1,\n    sent = 2,\n    networkError = 3,\n    sendPending = 4,\n}\n\ndeclare var grecaptcha: any\ndeclare var window: any\n\nexport class ArticleNewsletterWrapper extends React.Component<ArticleNewsletterWrapperProps, ArticleNewsletterWrapperState>{\n    public static siteScriptName = \"ArticleNewsletter\";\n    constructor(props) {\n        super(props)\n        this.state = {\n            user: null,\n            sendStatus: 0,\n            checkedTerms: false,\n            mailValue: \"\",\n        }\n    }\n    componentDidMount() {\n        if (window && window.YitPaywall && window.YitPaywall.user) {\n            this.setState({\n                user: window.YitPaywall.user\n            })\n        }\n    }\n\n    private validateEmail = (email: string) => {\n        if (!email) return false;\n        const re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n        return re.test(String(email).toLowerCase());\n    }\n\n    private changeMailValue = (e) => {\n        this.setState({ mailValue: e.target.value })\n    }\n\n    private showError = (isMailError: boolean, checkedTerms: boolean) => {\n        const { sendStatus } = this.state\n        let text = \"\";\n        if (sendStatus === SendStatus.validationError) {\n            if (!checkedTerms) {\n                text = \"נדרש לאשר הסכמה לתנאי השימוש ומדיניות הפרטיות\";\n            }\n            if (isMailError) {\n                text = \"יש למלא כתובת מייל תקינה\";\n            }\n        } else if (sendStatus === SendStatus.networkError) {\n            text = \"אירעה שגיאה בשליחה, נסה מאוחר יותר\"\n        }\n        return text;\n    }\n\n    private changeTerms = () => {\n        this.setState({ checkedTerms: !this.state.checkedTerms })\n    }\n\n    private onHandleSend = () => {\n        const isTest = window.location.search.includes(\"is_test=1\");\n        if (isTest) {\n            this.sendSub(\"\", true);\n        } else if (window.wcmCaptchaSiteKey && grecaptcha) {\n            grecaptcha.ready(() => {\n                grecaptcha.execute(window.wcmCaptchaSiteKey, { action: 'submit' }).then(token => {\n                    this.sendSub(token, false);\n                })\n            })\n        }\n    }\n\n    private sendSub = async (token: string, isTest: boolean) => {\n        const { itemId, componentaId, itemTitle, accountName } = this.props\n        const { mailValue, checkedTerms } = this.state\n        let postData = {\n            groupId: itemId || '',\n            email: mailValue,\n            token,\n            accountName,\n        }\n        if (this.validateEmail(mailValue) && checkedTerms) {\n            try {\n                this.setState({ sendStatus: SendStatus.sendPending });\n                window.dataLayer = window.dataLayer || []\n                window.dataLayer.push({ 'event': 'GA_event', 'Category': 'Newsletter', 'Action': 'Registered to Newsletter', 'Label': itemTitle });\n                const response = await axios.post(`/api/newsletter/${componentaId}/subscribeToGroup${isTest ? \"?is_test=1\" : \"\"}`, postData)\n                if (response.status === 200) {\n                    this.setState({ sendStatus: SendStatus.sent });\n                }\n            } catch {\n                this.setState({ sendStatus: SendStatus.networkError })\n            }\n        }\n        else {\n            this.setState({ sendStatus: 1 })\n        }\n    }\n\n    render() {\n        const { itemTitle } = this.props;\n        const { mailValue, sendStatus, checkedTerms } = this.state;\n        const termsLink = <a href=\"https://z.ynet.co.il/short/content/2018/privacypolicy/terms.html\" target=\"_blank\">תנאי השימוש</a>;\n        const policyLink = <a href=\"https://z.ynet.co.il/short/content/2018/privacypolicy/policy.html\" target=\"_blank\">מדיניות הפרטיות</a>;\n        const emailError = sendStatus == SendStatus.validationError && !this.validateEmail(mailValue);\n        const checkboxError = sendStatus === 1 && !checkedTerms ? \"error\" : \"\";\n        const emailErrorClass = emailError ? \"error input-text-rpf\" : \"input-text\";\n        const emailInputClass = `email-input-wrapper ${isWcmEditor() ? \"editor\" : \"\"}`\n\n        return (\n            <div className=\"newsletter-componenta-wrapper\">\n                <div className={classNames(\"newsletter-signup\", { \"message-sent\": sendStatus === 2 })}>\n                    {sendStatus !== 2 &&\n                        <>\n                            <div className=\"title-and-icon\">\n                                <div className=\"newsletter-title newsletter-title-rpf\">{itemTitle}</div>\n                                <div className=\"newsletter-icon-pf newsletter-icon\"></div>\n                            </div>\n                            <div className=\"email-input\">\n                                <div className={emailInputClass}>\n                                    <input className={emailErrorClass} placeholder=\"כתובת מייל\" type=\"text\" name=\"mail\" required value={mailValue} onChange={this.changeMailValue} />\n                                    <button className=\"send-button send-button-rpf\" disabled={sendStatus === 4} onClick={this.onHandleSend}>{sendStatus === 4 ? \"שולח...\" : \"שליחה\"}</button>\n                                </div>\n                                <div className=\"error-message error-message-rpf\">{this.showError(emailError, checkedTerms)}</div>\n                            </div>\n                            <div className=\"accept-terms accept-terms-rpf\">\n                                <input type=\"checkbox\" id=\"accept-terms-newsletter\" className={checkboxError} onChange={this.changeTerms} />\n                                <span> מסכים/ה ל{termsLink}, {policyLink} ולקבלת פניות שיווקיות מ-ynet כולל טלפוניות, מבלי שהנ\"ל מהווה הסכמה לעריכת עסקה</span>\n                            </div>\n                        </>}\n                    {sendStatus === 2 &&\n                        <div className=\"send-success-wrapper\">\n                            <div className=\"newsletter-icon-pf newsletter-icon\"></div>\n                            <div className=\"newsletter-success-title-1 newsletter-success-title-1-rpf\">תודה!</div>\n                            <div className=\"newsletter-success-title-2 newsletter-success-title-2-rpf\">הרשמתך התקבלה בהצלחה</div>\n                        </div>\n                    }\n                </div>\n            </div>\n        )\n    }\n}","require('./site_articleRecipeRating.less')\nimport * as axios from \"axios\"\nimport { ArticleData } from \"../../../articlePage/stateInterfaces\";\nimport { ArticleRating } from \"./articleRecipeRatingComponenta\";\n\ninterface Props {\n    articleId: string\n}\n\ninterface State {\n    rating: number\n    mouseOver: number\n    alreadyRated: boolean\n}\n\nexport class SiteArticleRecipeRatingComponenta extends React.Component<Props, State> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            rating: 0,\n            mouseOver: 0,\n            alreadyRated: false\n        }\n    }\n\n    public static siteScriptName = \"SiteArticleRecipeRatingComponenta\";\n\n    componentWillMount() {\n        const rating = this.getRating();\n        if (rating) {\n            this.setState({\n                rating: rating,\n                alreadyRated: true\n            })\n        }\n    }\n\n    private onChangeRating = (rating: number) => {\n        const { articleId } = this.props\n        const { alreadyRated } = this.state\n\n        if (alreadyRated) return;\n\n        if (typeof localStorage == \"undefined\") return;\n\n        const articleRatings = localStorage.getItem(\"articleRatings\")\n        let ratingsArray = articleRatings ? JSON.parse(articleRatings) as ArticleRating[] : [];\n        let articleRating: ArticleRating = {};\n        let previousVote: number;\n\n        if (ratingsArray.length) {\n            const articleRatingIndex = _.findIndex(ratingsArray, r => r[articleId]);\n            if (articleRatingIndex > -1) {\n                articleRating = ratingsArray[articleRatingIndex];\n                previousVote = articleRating[articleId]\n                articleRating[articleId] = rating\n            } else {\n                articleRating[articleId] = rating\n                ratingsArray.unshift(articleRating);\n                if (ratingsArray.length > 1000) {\n                    ratingsArray.pop();\n                }\n            }\n        } else { // no ratings yet\n            articleRating = { [articleId]: rating }\n            ratingsArray.push(articleRating);\n        }\n\n        localStorage.setItem(\"articleRatings\", JSON.stringify(ratingsArray))\n        this.setState({ rating, alreadyRated: true })\n\n        const data = {\n            \"articleId\": articleId,\n            \"starsNum\": rating,\n            \"previousVote\": previousVote\n        }\n\n        axios.post(`/api/article/save_rating/`, data)\n            .catch(error => {\n                console.log(error)\n            })\n    }\n\n    private getRating = (): number => {\n        const { articleId } = this.props\n        if (typeof localStorage == \"undefined\") return;\n        const ratingsArray = JSON.parse(localStorage.getItem(\"articleRatings\")) as ArticleRating[];\n        const articleRatingIndex = _.findIndex(ratingsArray, r => r[articleId]);\n        if (articleRatingIndex > -1 && ratingsArray[articleRatingIndex]) {\n            return ratingsArray[articleRatingIndex][articleId]\n        }\n        return 0;\n    }\n\n\n    private getStarFullOrEmpty = (star: number): string => {\n        const { rating, mouseOver } = this.state\n        if (mouseOver >= star || rating >= star) {\n            return \"full\"\n        }\n        return \"empty\"\n    }\n\n    private setMouseOver = (star: number) => {\n        if (this.state.alreadyRated) return;\n        this.setState({ mouseOver: star })\n    }\n\n    private getIsBlack = (): string => {\n        const { alreadyRated, mouseOver } = this.state\n        if (!alreadyRated && !mouseOver) {\n            return \"black\"\n        }\n        return \"\"\n    }\n\n    private getText = (): string => {\n        const { alreadyRated } = this.state\n        if (!alreadyRated) {\n            return \"אהבתם את המתכון? דרגו\"\n        } else {\n            return \"תודה שדירגתם\"\n        }\n    }\n\n    private renderStars = () => {\n        const stars = [1, 2, 3, 4, 5]\n        return stars.map((star) =>\n            <div className={`recipe-rating-star star-${this.getStarFullOrEmpty(star)}`}\n                onClick={() => this.onChangeRating(star)}\n                onMouseOver={() => this.setMouseOver(star)}\n                onMouseLeave={() => this.setMouseOver(0)}\n                key={star}\n            />)\n    }\n\n    public render() {\n        const { alreadyRated } = this.state\n        return (\n            <div>\n                <div className={`recipe-rating ${alreadyRated ? \"alreadyRated\" : \"\"}`} >\n                    <div className=\"recipe-rating-text\">{this.getText()}</div>\n                    <div className={`recipe-rating-stars ${this.getIsBlack()}`}>\n                        {this.renderStars()}\n                    </div>\n                </div>\n            </div>\n\n        )\n    }\n}\n","import { openFacebookShare, openTwitterShare, analyticsPushFunc } from \"../../widgetsUtils\";\nimport { WhatsAppShareButton } from \"../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\";\n\nexport class SiteArticleVideoComponentaShareButtons extends React.Component<{ articleLink: string, title: string}, {}> {\n    public static siteScriptName = \"SiteArticleVideoComponentaShareButtons\";\n    public render() {\n        const { articleLink, title} = this.props;\n        const isMobile = \"undefined\" != typeof window ? window.isMobile1 : false;\n        return (\n            <div className=\"videoComponentaShare\">\n                <div id=\"fbShare\">\n                    <img src=\"https://www.ynet.co.il/Common/Api/Scripts/youtube/facebook-s.png\" className=\"share-image\" onClick={() => openFacebookShare(articleLink, \"\", () => analyticsPushFunc(\"Facebook\", \"Video\", title), \"Video\")} />\n                </div>\n                <div id=\"twShare\">\n                    <img src=\"https://www.ynet.co.il/Common/Api/Scripts/youtube/twitter-s.png\" className=\"share-image\" onClick={() => openTwitterShare(articleLink, () => analyticsPushFunc(\"Twitter\", \"Video\", title), \"Video\")} />\n                </div>\n                {isMobile && <div id=\"waShare\">\n                    <img src=\"https://www.ynet.co.il/Common/Api/Scripts/youtube/whatsapp-s.png\" className=\"share-image\" onClick={() => WhatsAppShareButton.openWhatsAppShare(articleLink, () => analyticsPushFunc(\"Whatsapp\", \"Video\", title), \"Video\")} />\n                </div>}\n            </div>\n        )\n    }\n}","\ntype DateFormat = \"shortYear\" | \"\"\n\nexport const getHourAndMinutes = (date: Date) => {\n    return `${date.getHours()}:${(date.getMinutes() < 10 ? '0' : '') + date.getMinutes()}`\n}\n\nexport const getFullDate = (date: Date, devideUnitChar: string = \".\", format: DateFormat = \"\") => {\n    switch (format) {\n        case \"shortYear\":\n            return `${date.getDate()}${devideUnitChar}${date.getMonth() + 1}${devideUnitChar}${`${date.getFullYear()}`.slice(2)}`\n            break;\n\n        default:\n            return `${date.getDate()}${devideUnitChar}${date.getMonth() + 1}${devideUnitChar}${date.getFullYear()}`\n    }\n\n}\n\nexport const isSameDate = (date1: Date, date2: Date) => {\n    return (getFullDate(date1).localeCompare(getFullDate(date2))) === 0\n}\n\nexport const scrollToElement = (id: string, block: ScrollLogicalPosition = \"start\", inline: ScrollLogicalPosition = \"nearest\") => {\n    const el = document.querySelector(`.${id}`)\n    el && el.scrollIntoView({ behavior: \"smooth\", block: block, inline: inline })\n}\n\nexport const isToday = (date: Date) => {\n    const today = new Date()\n    return date.getDate() == today.getDate() &&\n        date.getMonth() == today.getMonth() &&\n        date.getFullYear() == today.getFullYear()\n}\n\nexport const isYesterday = (date: Date) => {\n    const yesterday = new Date((new Date()).valueOf() - 1000 * 60 * 60 * 24); // love was such an easy game to play\n    return date.getDate() == yesterday.getDate() &&\n        date.getMonth() == yesterday.getMonth() &&\n        date.getFullYear() == yesterday.getFullYear()\n}\n\nexport const isXMinutesOld = (date: Date, minutes: number) => {\n    if (!isToday(date)) return true;\n    const today = new Date();\n    let diffMs = (date.getTime() - today.getTime()); // milliseconds between now & date  \n    let diffMins = Math.abs(Math.round(((diffMs % 86400000) % 3600000) / 60000)); // minutes\n\n    return diffMins >= minutes\n}\n\nexport const getHowLongAgo = (date: Date) => {\n    const now = new Date();\n    const diff = now.getTime() - date.getTime();\n    const diffInMinutes = diff / 1000 / 60;\n    const diffInHours = diffInMinutes / 60;\n    const diffInDays = diffInHours / 24;\n    const diffInWeeks = diffInDays / 7;\n    const diffInMonths = diffInDays / 30;\n    const diffInYears = diffInDays / 365;\n\n    if (diffInMinutes < 60) {\n        return `לפני ${Math.floor(diffInMinutes)} דק'`;\n    } else if (diffInHours < 24) {\n        return `לפני ${Math.floor(diffInHours)} שע'`;\n    } else if (diffInDays < 2) {\n        return \"אתמול\";\n    } else if (diffInDays < 30) {\n        return `לפני ${Math.floor(diffInDays)} ימים`;\n    } else if (diffInDays < 365) {\n        return `לפני ${Math.floor(diffInWeeks)} שבועות`;\n    } else if (diffInDays < 365 * 2) {\n        return `לפני ${Math.floor(diffInMonths)} חודשים`;\n    } else if (diffInDays < 365 * 3) {\n        return \"שנה שעברה\";\n    } else {\n        return `לפני ${Math.floor(diffInYears)} שנים`;\n    }\n};","import * as axios from \"axios\"\nimport { AutoFeedBlogItem } from \"./blogsAutoFeedComponent\"\nimport { getFullDate, getHourAndMinutes, scrollToElement, isToday, isYesterday, isXMinutesOld } from \"../blogsAutoFeedUtils\"\nimport { addAxiosDateTransformerSettings } from \"../../../../utils/network/axiosDateTransformer\";\nimport { Loader } from \"./loader/loader\";\nimport { openFacebookShare, openTwitterShare, analyticsPushFunc } from \"../../../widgetsUtils\";\nimport { WhatsAppShareButton } from \"../../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\";\nimport { MailShareButton } from \"../../../siteWidgets/socialShareButtons/mail/mailShareButton\"\nimport { executeScriptsFromHtml } from \"../../../siteWidgets/siteWidgetUtils\";\n\ninterface BlogAutoFeedItemsProps {\n    item: AutoFeedBlogItem\n    title: string\n    index: number\n}\n\ninterface BlogAutoFeedItemsState {\n    isOpen: boolean,\n    fullHtml: string\n    loading: boolean\n}\n\nexport class BlogAutoFeedItem extends React.Component<BlogAutoFeedItemsProps, BlogAutoFeedItemsState> {\n    constructor(props: BlogAutoFeedItemsProps) {\n        super(props)\n        this.state = {\n            isOpen: false,\n            fullHtml: \"\",\n            loading: false,\n        }\n    }\n\n    componentDidMount() {\n        const { item } = this.props\n\n\n        const itemId = window.location.hash.slice(1);\n\n        this.loadEmbedScripts();\n        executeScriptsFromHtml(item.html);\n\n        if (itemId && itemId === item.id) { // linked blog\n            setTimeout(() => {\n                this.scrollToElement(itemId);\n                this.handleReadMore();\n            }, 1300);\n        }\n    }\n\n    private scrollToElement = (id: string) => {\n        const el = document.querySelector(`.${id}`)\n        el && el.scrollIntoView({ block: \"start\" })\n    }\n\n    private loadEmbedScripts = () => {\n        typeof twttr !== \"undefined\" && twttr.widgets.load();\n        typeof instgrm !== \"undefined\" && instgrm.Embeds.process();\n    }\n\n    private dispatchCustomEvent = (title: string) => {\n        document.dispatchEvent(\n            new CustomEvent(\"blogReadMoreChange\",\n                {\n                    detail: {\n                        label: title,\n                    }\n                }\n            ))\n    }\n\n\n    handleReadMore = () => {\n        const { item } = this.props\n        const { fullHtml } = this.state\n        if (fullHtml) {\n            this.setState({ isOpen: true });\n            setTimeout(() => {\n                this.loadEmbedScripts();\n                executeScriptsFromHtml(fullHtml);\n            }, 250);\n        } else {\n            this.setState({ loading: true, isOpen: true }, () => {\n                const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n                axiosInstance.get(`/iphone/json/api/article/blog/article/${item.id}`)\n                    .then((res: any) => {\n                        const data = res.data.html as string\n                        this.setState({ fullHtml: data, loading: false });\n                        setTimeout(() => {\n                            this.loadEmbedScripts();\n                            executeScriptsFromHtml(data);\n                        }, 250);\n                    })\n                    .catch(err => console.error(\"error getting blog item HTML:\", err))\n            })\n        }\n\n        this.dispatchCustomEvent(item.title);\n    }\n\n    handleCloseReadMore = () => {\n        const { item } = this.props\n\n        this.setState({ isOpen: false }, () => {\n            setTimeout(() => {\n                this.loadEmbedScripts();\n                executeScriptsFromHtml(item.html)\n            }, 250);\n        })\n        document.getElementById(item.id).scrollIntoView();\n        this.dispatchCustomEvent(item.title);\n    }\n\n\n    private handleShareBtnClicked = (button: string) => {\n        const { item, title } = this.props\n        if (typeof window !== \"undefined\") {\n            let current_url = `${document.querySelector(\"link[rel=canonical]\") ? (document.querySelector(\"link[rel=canonical]\") as HTMLLinkElement).href : window.location.href}`;\n            current_url = current_url.includes(\"#\") ? current_url.split(\"#\")[0] : current_url; // remove hash if exists e.g. resharing\n            if (!current_url) return;\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(current_url, \"\", () => analyticsPushFunc(\"Facebook\", \"Blogs Auto Feed\", title), \"Blogs Auto Feed\", item.id, item.id)\n                    break;\n\n                case \"tw\":\n                    openTwitterShare(current_url, () => analyticsPushFunc(\"Twitter\", \"Blogs Auto Feed\", title), \"Blogs Auto Feed\", item.id, item.id)\n                    break;\n\n                case \"wa\":\n                    WhatsAppShareButton.openWhatsAppShare(current_url, () => analyticsPushFunc(\"Whatsapp\", \"Blogs Auto Feed\", title), \"Blogs Auto Feed\", item.id, item.id)\n                    break;\n                case \"mail\":\n                    MailShareButton.openMailShare(item.title, current_url, \"heBlog\", () => analyticsPushFunc(\"Mail\", \"Blogs Auto Feed\", title), \"Blogs Auto Feed\", item.id, item.id)\n                    break;\n                case \"mobile\":\n                    this.openShare(current_url);\n            }\n        }\n    }\n\n    private openShare = async (current_url: string) => {\n        const { item } = this.props\n        const shareData = { url: current_url + \"#\" + item.id, title: item.title }\n      \n            try {\n                // @ts-ignore \n                await navigator.share(shareData)\n            } catch (err) {\n                console.log(\"error with sharing function\", err);\n            }\n        \n      \n    }\n  /*  private shareLinkInApp =(id)=>{\n        let current_url = `${document.querySelector(\"link[rel=canonical]\") ? (document.querySelector(\"link[rel=canonical]\") as HTMLLinkElement).href : window.location.href}`;\n        current_url = current_url.includes(\"?\") ? current_url.split(\"?\")[0] : current_url;\n       return current_url+\"#\"+id+\"/share_article\";\n    }*/\n\n    public render() {\n        const { item } = this.props\n        const { isOpen, fullHtml, loading } = this.state\n       // const isApp = typeof window !== \"undefined\" && window.location.href.indexOf(\"IsApp\") != -1;\n      //  const url = typeof window !== \"undefined\" && window.location.href+\"#\"+item.id;\n        return (\n            <div className={`blogs-item-wrapper ${item.isPinned && \"isPinned\"}`} id={item.id}>\n                {item.isPinned && <div className=\"pinIcon\" />}\n                {/* {this.isNew() && <div className=\"now-red-dot\" />} */}\n                <div className={`blogs-auto-feed-item responsive ${item.isPinned && \"isPinned\"} ${item.id}`}>\n                    <div className=\"item-info\">\n                        <div className=\"title-row\">\n                            <div className=\"date-section\">\n                                {item.isNew && <div className=\"title-row__now\">עכשיו</div>}\n                                {isYesterday(item.date) && <div className=\"title-row__yesterday\">אתמול</div>}\n                                {isYesterday(item.date) && <span className=\"yesterdayComma\">,</span>}\n                                <div className=\"hour\">\n                                    {(isToday(item.date) || isYesterday(item.date)) && !item.isNew && getHourAndMinutes(item.date)}\n                                </div>\n                                <div className=\"date\">\n                                    {!isYesterday(item.date) && !isToday(item.date) && getFullDate(item.date, \".\", \"shortYear\")}\n                                </div>\n                            </div>\n                            <div className=\"title-row__separator\"></div>\n                            <div className=\"title-section\">\n                                <h3>{item.title}</h3>\n                            </div>\n                        </div>\n                        <div className=\"authorAndSocial\">\n                            {item.author && <div className=\"auth-row\">\n                                {item.author}\n                            </div>}\n                            {item.author && <div className=\"auth-row__separator\"></div>}\n                           {/* {isApp ? <a className=\"mobileShareBtn\"  href={this.shareLinkInApp(item.id)}></a> : */}\n                           <div className=\"mobileShareBtn\" onClick={() => this.handleShareBtnClicked(\"mobile\")} />\n                            <div className=\"social-icon mail\" onClick={() => this.handleShareBtnClicked(\"mail\")} />\n                            <div className=\"social-icon fb\" onClick={() => this.handleShareBtnClicked(\"fb\")} />\n                            <div className=\"social-icon tw\" onClick={() => this.handleShareBtnClicked(\"tw\")} />\n                            <div className=\"social-icon wtap\" onClick={() => this.handleShareBtnClicked(\"wa\")} />\n                        </div>\n                    </div>\n                    {loading ?\n                        <div className=\"html-container loading-auto-feed-blog\"><Loader /></div> :\n                        <div className=\"html-container\" dangerouslySetInnerHTML={{ __html: isOpen ? fullHtml : item.html }} />}\n                    <div className=\"bottom-row\">\n                        {<div className=\"continue-read-wrapper\" onClick={isOpen ? this.handleCloseReadMore : this.handleReadMore}>\n                            {item.hasMore ? isOpen ?\n                                <>\n                                    <div className=\"continue-read\">צמצם</div>\n                                    <div className=\"little-arrow-pf up\" />\n                                </>\n                                :\n                                <>\n                                    <div className=\"continue-read\">\n                                        להמשך קריאה\n                                </div>\n                                    <div className=\"little-arrow-pf\" />\n                                </>\n                                :\n                                null\n                            }\n                        </div>}\n\n                    </div>\n                </div>\n            </div>\n\n        )\n    }\n}","import { AutoFeedBlogItem } from \"./blogsAutoFeedComponent\"\nimport { BlogAutoFeedItem } from \"./blogAutoFeedItem\";\n\ninterface BlogAutoFeedItemsContainerProps {\n    headerLinkUrl: string\n    feedTitleText: string\n    items: AutoFeedBlogItem[]\n    isReverseOrder: boolean\n    setReverseOrder: (value: boolean) => void\n}\n\ninterface BlogAutoFeedItemsContainerState {\n    limitIndex: number\n}\n\nconst CHUNCK_SIZE = 5\nconst SEQUENCE_FROM = 1\n\nexport class BlogAutoFeedItemsContainer extends React.Component<BlogAutoFeedItemsContainerProps, BlogAutoFeedItemsContainerState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            limitIndex: CHUNCK_SIZE - 1\n        }\n    }\n\n    //@ts-ignore\n    private intersectionObserver: IntersectionObserver;\n\n    componentDidMount() {\n        this.initObserver()\n    }\n\n    componentDidUpdate(prevProps) {\n        if (this.props.items.length !== prevProps.items.length) {\n            this.initObserver()\n        }\n    }\n\n    componentWillUnmount() {\n        if (this.intersectionObserver) {\n            this.intersectionObserver.disconnect();\n            this.intersectionObserver = null;\n        }\n    }\n\n    private initObserver = () => {\n        const { items } = this.props\n        if (!items.length) {\n            return\n        }\n        if (IntersectionObserver) {\n            this.intersectionObserver = new IntersectionObserver(entries => {\n                entries.forEach(entry => {\n                    this.onNextItemsLoad(entry.isIntersecting)\n                })\n            })\n        }\n        this.getObserverTargetIndex()\n    }\n\n    private getObserverTargetIndex = () => {\n        const { items } = this.props\n        const { limitIndex } = this.state\n\n        if (items.length > limitIndex) {\n            this.intersectionObserver.observe(\n                document.querySelectorAll(\".blogs-item-wrapper\")[limitIndex - SEQUENCE_FROM]\n            );\n        }\n    }\n\n    private reverseOrder = (reversed: boolean) => {\n        const { setReverseOrder } = this.props;\n        setReverseOrder(reversed)\n    }\n\n    private onNextItemsLoad = (isIntersecting: boolean) => {\n        const { limitIndex } = this.state\n        if (isIntersecting) {\n            this.setState({ limitIndex: limitIndex + CHUNCK_SIZE }, () => {\n                this.initObserver()\n            })\n        }\n    }\n\n    public render() {\n        const { items, headerLinkUrl, feedTitleText, isReverseOrder } = this.props\n        const { limitIndex: startIndex } = this.state\n        return (\n            <>\n                <div style={{ display: \"none\" }} dangerouslySetInnerHTML={{\n                    __html: `<script async onLoad=\"()=>twttr.widgets.load()\" src=\"//platform.twitter.com/widgets.js\" charSet=\"utf-8\" > </script>\n                <script async onLoad=\"()=> instgrm.Embeds.process()\" src=\"//platform.instagram.com/en_US/embeds.js\" ></script>`}}\n                />\n                <div className=\"blogs-auto-feed-header-wrapper\">\n                    <div className=\"blogs-auto-feed-header\"><a href={headerLinkUrl}>{feedTitleText}</a></div>\n                    <div className=\"orderCheckBoxes\">\n                        <div><input className=\"regularOrder\" type=\"radio\" checked={!isReverseOrder} onClick={() => this.reverseOrder(false)} /><div>הצג מהחדש לישן</div></div>\n                        <div><input className=\"regularOrder\" type=\"radio\" checked={isReverseOrder} onClick={() => this.reverseOrder(true)} /><div>הצג מהישן לחדש</div></div>\n                    </div>\n                </div>\n                <div className=\"blogs-auto-feed-items-container\">\n\n                    {!!items.length && items.filter((item, index) => index < startIndex).map((item, index) => (\n                        <BlogAutoFeedItem\n                            item={item}\n                            key={item.id}\n                            title={item.title}\n                            index = {index}\n                        />))\n                    }\n                </div>\n            </>\n        )\n    }\n}\n\n\n\n\n\n\n\n\n\n\n","import { SiteVideoData, YnetTvSiteVideoData } from \"../../../interfaces\";\n\ninterface Props {\n    data: SiteVideoData | YnetTvSiteVideoData;\n    videoCategoryId?: string;\n}\n\ninterface State {}\n\nexport class BlogsArticleVideoAppComponenta extends React.Component<\n    Props,\n    State\n> {\n    render() {\n        const { data, videoCategoryId } = this.props;\n        const {aspectRatio} = data;\n\n        return (\n            <div className=\"blogsArticleVideoAppComponenta\">\n                <div className=\"artismlimg androidTvImageClass\">\n                    <div className=\"tvVideo_wraper_new_design\">\n                        <a\n                            className=\"tvVideo_wraper tvVideo_wraper_new_design\"\n                            href={`//www.ynet.co.il/video?path=${\n                                data.url\n                            }?videoId=${data.mediaId}&advertisement=${\"1\"}${aspectRatio ? `&proportion=${aspectRatio}` : \"\"}${data.isLive ? `&live=1`: ''}${videoCategoryId? `&category_id=${videoCategoryId}`:\"\"}`}\n                        >\n                            <img\n                                width=\"100%\"\n                                src={data.poster}\n                                alt=\"ןעוט...\"\n                                title=\"ןעוט...\"\n                                border=\"0\"\n                            />\n                            <div\n                                style={{ backgroundSize: \"64px 64px\" }}\n                                className={\"playButton\"}\n                            />\n                        </a>\n                    </div>\n                </div>\n            </div>\n        );\n    }\n}\n","import * as axios from \"axios\"\nimport { addAxiosDateTransformerSettings } from \"../../../../utils/network/axiosDateTransformer\";\nimport { BlogAutoFeedItemsContainer } from \"./blogAutoFeedItemsContainer\";\nimport { useEffect, useState } from \"react\";\nrequire(\"./ynet_mynet_site_blogsAutoFeedComponent.less\")\n\ninterface BlogsAutoFeedComponentProps {\n    pinnedArticles: string[]\n    feedTitleText: string\n    categoryId: string\n    tabBackgroundColor: string\n    headerLinkUrl: string,\n}\n\nexport interface AutoFeedBlogItem {\n    id: string,\n    date: Date,\n    title: string,\n    author: string,\n    html: string, //The cut html from the DB\n    hasMore: boolean\n    isPinned: boolean\n    isNew: boolean\n}\n\nexport function BlogsAutoFeedComponent(props: BlogsAutoFeedComponentProps) {\n    const { pinnedArticles, categoryId, feedTitleText, headerLinkUrl } = props;\n\n    const [items, setBlogItems] = useState<AutoFeedBlogItem[]>([]);\n    const [isReversed, setReversed] = useState<boolean>(false);\n\n    useEffect(() => {\n\n        getItemsData();\n        const interval = setInterval(() => {\n            getItemsData();\n        }, 60000);\n\n        return () => clearInterval(interval); // Unmount function, to clear interval to prevent memory leaks\n\n    }, [isReversed]);\n\n    const getItemsData = () => {\n        if (categoryId) {\n            const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n            return axiosInstance.get(`/iphone/json/api/article/blog/all/${categoryId}`)\n                .then((res: any) => {\n\n                    const items = res.data.items as AutoFeedBlogItem[];\n                    let pinnedItems = !!pinnedArticles ? _.remove(items, item => pinnedArticles.includes(item.id)) : [];\n\n                    pinnedItems.forEach(pinnedItem => {\n                        pinnedItem.isPinned = true;\n                    });\n\n                    let blogItems = isReversed ? items.reverse() : items;\n\n                    let indexOfLastNewArticle = 0;\n                    const now = new Date();\n                    const fiveMinutesAgo = new Date(now.getTime() - 5 * 60000);\n                    blogItems.forEach((item, index) => {\n                        if (item.date > fiveMinutesAgo && index === indexOfLastNewArticle) {\n                            item.isNew = true;\n                            indexOfLastNewArticle++;\n                        }\n                    });                  \n                    \n                    const allItems = [...pinnedItems, ...blogItems];\n                    setBlogItems(allItems)\n                }).then(() => twttr.widgets.load())\n                .catch(err => console.error(\"error geting blog items data:\", err))\n        }\n    }\n\n\n    return (\n        <div className=\"blog-auto-feed\">\n            <BlogAutoFeedItemsContainer\n                headerLinkUrl={headerLinkUrl}\n                feedTitleText={feedTitleText}\n                items={items}\n                isReverseOrder={isReversed}\n                setReverseOrder={setReversed}\n            />\n        </div>\n    )\n}\n\nBlogsAutoFeedComponent.siteScriptName = \"BlogAutoFeedComponentComponenta\";","export class Loader extends React.Component<{}, {}> {\n    public render() {\n        return (\n            <div id=\"circularG\">\n                <div id=\"circularG_1\" className=\"circularG\"></div>\n                <div id=\"circularG_2\" className=\"circularG\"></div>\n                <div id=\"circularG_3\" className=\"circularG\"></div>\n                <div id=\"circularG_4\" className=\"circularG\"></div>\n                <div id=\"circularG_5\" className=\"circularG\"></div>\n                <div id=\"circularG_6\" className=\"circularG\"></div>\n                <div id=\"circularG_7\" className=\"circularG\"></div>\n                <div id=\"circularG_8\" className=\"circularG\"></div>\n            </div>\n        )\n    }\n}","import * as axios from \"axios\"\nimport * as classNames from \"classnames\"\nimport { BreakingNewsArrows } from \"./arrowsWithAnimation/arrows\"\nimport { addAxiosDateTransformerSettings } from \"../../../../utils/network/axiosDateTransformer\";\n\ninterface SiteBreakingNewsComponentaProps {\n    componentaId: string\n}\n\ninterface SiteBreakingNewsComponentaState {\n    breakingNewsTitle: string\n    isSticky: boolean\n}\n\nexport class SiteBreakingNewsComponenta extends React.Component<SiteBreakingNewsComponentaProps, SiteBreakingNewsComponentaState>{\n    public static siteScriptName = \"SiteBreakingNewsComponenta\";\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            breakingNewsTitle: \"\",\n            isSticky: false,\n        }\n    }\n\n    private activateStickyHandler = () => {\n        var breakingNewsElement = null;\n        var topPos = null;\n        document.addEventListener(\"scroll\", (e) => {\n            const { isSticky } = this.state\n            breakingNewsElement = breakingNewsElement ? breakingNewsElement : document.getElementsByClassName('BreakingNewsComponenta')[0];\n            topPos = breakingNewsElement && !topPos ? breakingNewsElement.getBoundingClientRect().top + window.scrollY : topPos\n            if (window.scrollY + 5 > topPos) {\n                if (!isSticky) {\n                    this.setState({ isSticky: true })\n                }\n            }\n            else {\n                if (isSticky) {\n                    this.setState({ isSticky: false })\n                }\n            }\n        })\n    }\n\n    private getBreakingNews() {\n        const { componentaId } = this.props\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        axiosInstance.get(`/api/getBreakingNews/${componentaId}`)\n            .then((res: any) => {\n                this.setState({ breakingNewsTitle: res.data.breakingNewsText });\n            })\n    }\n\n\n    componentDidMount() {\n        this.activateStickyHandler()\n\n        this.getBreakingNews()\n        setInterval(() => {\n            this.getBreakingNews()\n        }, 60000);\n    }\n\n    render() {\n        const { breakingNewsTitle, isSticky } = this.state\n        const containerVisibilityStyle = breakingNewsTitle.length > 0 ? { \"display\": \"flex\", \"marginBottom\": \"20px\" } : { \"display\": \"none\", \"marginBottom\": \"0px\" }\n        const containerClassName = classNames(\"BreakingNewsComponenta\", { \"isSticky\": isSticky })\n        return (\n            <div className={containerClassName} style={containerVisibilityStyle}>\n                <div className=\"breakingNewsTitle\">\n                    <span>{`${__(\"Breaking News\")}`}</span>\n                    <BreakingNewsArrows />\n                </div>\n                <div className=\"breakingNews\"> <span> {breakingNewsTitle} </span></div>\n                <div className=\"moreInfoText\"><span>{__(\"More Info Soon\")} </span></div>\n            </div >\n\n        )\n    }\n}\n","require('./ynet_site_arrows.less')\n\nexport class BreakingNewsArrows extends React.Component<{}, {}>{\n    public render() {\n        return (\n            <div className=\"BreakingNewsArrows\">\n                <div className=\"newsArrow one\" ></div>\n                <div className=\"newsArrow two\" ></div>\n                <div className=\"newsArrow three\" ></div>\n            </div>\n        )\n    }\n}","import { useState } from 'react';\nimport { PremiumPaywallSignModes } from '../../../../../global/paywall/paywallInterfaces';\nimport { PremiumCalcalistPaywallDesktopSignup } from './premiumCalcalistPaywallDesktopSignUp';\nimport { PremiumCalcalistPaywallDesktopSignin } from './premiumCalcalistPaywallDesktopSignin';\n \n \n\n\nexport const PremiumCalcalistPaywallDesktop = () => {\n  const [mode, setMode] = useState<PremiumPaywallSignModes>('signIn');\n  const [email, setEmail] = useState<string>('');\n  const [agreesTerms, setAgreeTerms] = useState(false);\n  const [password, setPassword] = useState('');\n\n  const getFormByMode = () => {\n    if (mode === 'signUp') {\n      return (\n        <PremiumCalcalistPaywallDesktopSignup\n          email={email}\n          password={password}\n          agreesTerms={agreesTerms}\n          setEmail={setEmail}\n          setPassword={setPassword}\n          setAgreesTerms={setAgreeTerms}\n          setMode={setMode}\n        />\n      );\n    }\n    return (\n      <PremiumCalcalistPaywallDesktopSignin\n        email={email}\n        password={password}\n        agreesTerms={agreesTerms}\n        setEmail={setEmail}\n        setPassword={setPassword}\n        setAgreesTerms={setAgreeTerms}\n        setMode={setMode}\n      />);\n  };\n\n  return <div className=\"premium-calcalist-paywall-desktop\">{getFormByMode()}</div>;\n};\n","import { useEffect } from \"react\";\nimport { getAuthHookFactory } from \"../../../../../global/paywall/useAuth\";\nimport { AuthStepsEnum, PremiumPaywallSignModes } from \"../../../../../global/paywall/paywallInterfaces\";\nimport { PremiumCalcalistPaywallDesktopSignupPassword } from \"./signup/premiumCalcalistPaywallDesktopSignupPassword\";\nimport { PremiumCalcalistPaywallDesktopSignupConfirmTerms } from \"./signup/premiumCalcalistPaywallDesktopSignupConfirmTerms\"\nimport PremiumCalcalistPaywallDesktopSignupFinish from \"./signup/premiumCalcalistPaywallDesktopSignupFinish\"\nimport { PremiumCalcalistPaywallDesktopSignupEmail } from \"./signup/premiumCalcalistPaywallDesktopSignupEmail\";\n\n\ninterface PremiumCalcalistPaywallDesktopSignupProps {\n  email: string\n  password: string\n  agreesTerms: boolean\n  setEmail: (email: string) => void\n  setPassword: (password: string) => void\n  setAgreesTerms: (agreesTerms: boolean) => void\n  setMode: (mode: PremiumPaywallSignModes) => void\n}\n\nexport const PremiumCalcalistPaywallDesktopSignup = (props: PremiumCalcalistPaywallDesktopSignupProps) => {\n\n  const { email, setEmail, password, setPassword, setMode, agreesTerms, setAgreesTerms } = props\n\n  const {\n    authError,\n    step,\n    loginWithGoogle,\n    loginWithApple,\n    thirdPartyLogin,\n    sendEmailForLogin,\n    submitPassword,\n    resetAuth,\n  } = getAuthHookFactory(\"signup\")();\n\n  useEffect(() => {\n    console.log(authError, step)\n  }, [authError, resetAuth, step])\n\n  const sendMail = () => {\n    sendEmailForLogin(email, agreesTerms)\n  }\n\n  const sendPassword = () => {\n    submitPassword(password)\n  }\n\n  const onReset = () => {\n    resetAuth()\n  }\n\n  const onThirdPartyLogin = (isNewCustomer: boolean) => { \n    thirdPartyLogin(isNewCustomer)\n  }\n\n  switch (step) {\n    case AuthStepsEnum.EMAIL:\n      return (\n        <PremiumCalcalistPaywallDesktopSignupEmail\n        email={email}\n        agreesTerms={agreesTerms}\n        setEmail={setEmail}\n        setAgreesTerms={setAgreesTerms}\n        setMode={setMode}\n        loginWithGoogle={loginWithGoogle}\n        loginWithApple={loginWithApple}\n        sendMail={sendMail}\n        authError={authError}\n        />\n      )\n\n    case AuthStepsEnum.PASSWORD:\n      return (\n        <PremiumCalcalistPaywallDesktopSignupPassword\n          email={email}\n          password={password}\n          setPassword={setPassword}\n          onContinue={sendPassword}\n          onBack={onReset}\n          sendMail={sendMail}\n          authError={authError}\n        />\n      )\n\n      case AuthStepsEnum.CONFIRM_TERMS:\n        return (\n          <PremiumCalcalistPaywallDesktopSignupConfirmTerms \n            resetAuth={onReset}\n            thirdPartyLogin={onThirdPartyLogin}\n          />\n        )\n\n      case AuthStepsEnum.FINISH:\n        // setTimeout(() => { window.location.reload() }, 2000)\n        return <PremiumCalcalistPaywallDesktopSignupFinish />\n\n    default:\n      return null\n  }\n};\n","import { useEffect, useState } from \"react\";\nimport { PremiumPaywallSignModes, AuthStepsEnum } from \"../../../../../global/paywall/paywallInterfaces\";\nimport { getAuthHookFactory } from \"../../../../../global/paywall/useAuth\";\n\nimport PremiumCalcalistPaywallDesktopSigninFinish from \"./signin/premiumCalcalistPaywallDesktopSigninFinish\";\nimport { PremiumCalcalistPaywallDesktopSigninEmail } from \"./signin/premiumCalcalistPaywallDesktopSigninEmail\";\nimport { PremiumCalcalistPaywallDesktopSigninPassword } from \"./signin/premiumCalcalistPaywallDesktopSigninPassword\"\n \n\ninterface PremiumCalcalistPaywallDesktopSigninProps {\n  email: string\n  password: string\n  agreesTerms: boolean\n  setEmail: (email: string) => void\n  setPassword: (password: string) => void\n  setAgreesTerms: (agreesTerms: boolean) => void\n  setMode: (mode: PremiumPaywallSignModes) => void\n}\n\nexport const PremiumCalcalistPaywallDesktopSignin = (props: PremiumCalcalistPaywallDesktopSigninProps) => {\n  const { email, setEmail, password, setPassword, setMode, agreesTerms, setAgreesTerms } = props\n  const {\n    authError,\n    step,\n    loginWithGoogle,\n    loginWithApple,\n    thirdPartyLogin,\n    sendEmailForLogin,\n    submitPassword,\n    resetAuth,\n  } = getAuthHookFactory(\"login\")();\n\n  useEffect(() => {\n    console.log(authError, step)\n  }, [authError, resetAuth, step])\n\n  const sendMail = () => {\n    sendEmailForLogin(email, agreesTerms)\n  }\n\n  const sendPassword = () => {\n    submitPassword(password)\n  }\n\n  const onReset = () => {\n    resetAuth()\n  }\n\n  const onThirdPartyLogin = (isNewCustomer: boolean) => { \n    thirdPartyLogin(isNewCustomer)\n  }\n\n  switch (step) {\n    case AuthStepsEnum.EMAIL:\n      return (\n        <PremiumCalcalistPaywallDesktopSigninEmail\n        email={email}\n        setEmail={setEmail}\n        setMode={setMode}\n        loginWithGoogle={loginWithGoogle}\n        loginWithApple={loginWithApple}\n        sendMail={sendMail}\n        authError={authError}\n        />\n      )\n\n    case AuthStepsEnum.PASSWORD:\n      return (\n        <PremiumCalcalistPaywallDesktopSigninPassword\n          email={email}\n          password={password}\n          setPassword={setPassword}\n          onContinue={sendPassword}\n          onBack={onReset}\n          sendMail={sendMail}\n          authError={authError}\n          setEmail={setEmail}\n          \n        />\n      )\n\n      case AuthStepsEnum.CONFIRM_TERMS:\n        // if its sign in, we dont need to confirm terms\n        onThirdPartyLogin(false)\n        return null\n\n      case AuthStepsEnum.FINISH:\n        // setTimeout(() => { window.location.reload() }, 2000)\n        return <PremiumCalcalistPaywallDesktopSigninFinish />\n\n    default:\n      return null\n  }\n};\n","import { PaywallAuthErrorCodes, PremiumPaywallSignModes } from \"../../../../../../global/paywall/paywallInterfaces\";\n\n\ninterface PremiumCalcalistPaywallDesktopSigninEmailProps {\n  email: string\n  setEmail: (email: string) => void\n  setMode: (mode: PremiumPaywallSignModes) => void\n  loginWithGoogle: () => void\n  loginWithApple: () => void\n  sendMail: () => void\n  authError: string\n}\n\nexport const PremiumCalcalistPaywallDesktopSigninEmail = (props: PremiumCalcalistPaywallDesktopSigninEmailProps) => {\n\n  const { email, setEmail, loginWithApple, loginWithGoogle, setMode, sendMail, authError } = props\n\n  const handleMailChange = (e) => {\n    setEmail(e.target.value)\n  }\n\n  const handleSendMail = () => {\n    sendMail()\n  }\n\n  const errorMessagesFront: Partial<Record<PaywallAuthErrorCodes, string>> = {\n    [PaywallAuthErrorCodes.INVALID_EMAIL]: \"כתובת המייל אינה תקינה\",\n  };\n\n  const errorMessagesServer: Partial<Record<PaywallAuthErrorCodes, string>> = {\n    [PaywallAuthErrorCodes.FAILED_TO_SEND_OTP]: \"אירעה שגיאה במערכת, אנא נסו שוב מאוחר יותר\",\n  }\n\n  return (\n    <div className=\"premium-calcalist-paywall-desktop-signin-email\">\n      <div className=\"digital-edition-label\">המהדורה הדיגיטלית</div>\n      <h1 className=\"title\">כניסה</h1>\n      <div className={`email-signin ${authError && authError === PaywallAuthErrorCodes.INVALID_EMAIL ? 'error' : ''}`}>\n        <input value={email} onChange={handleMailChange} type=\"email\" placeholder=\"הקלידו כתובת מייל\" />\n        <div className=\"reset-icon\" onClick={() => setEmail('')}></div>\n        {authError && <p className=\"error-text\" dangerouslySetInnerHTML={{ __html: errorMessagesFront[authError] }}></p>}\n      </div>\n      <div className=\"buttons-container\">\n        {/* <button className=\"button-base back\" onClick={() => setMode(\"signUp\")}>חזרה</button> */}\n        <button className=\"button-base continue\" onClick={handleSendMail}>המשך</button>\n      </div>\n      {authError && <p className=\"error-text\" dangerouslySetInnerHTML={{ __html: errorMessagesServer[authError] }}></p>}\n      <div className=\"separator\">\n        <span className=\"text\">או התחברו באמצעות</span>\n      </div>\n      <div className=\"social-signin\">\n        <button className=\"social-button google-btn\" onClick={loginWithGoogle}><span>גוגל</span></button>\n        <button className=\"social-button apple-btn\" onClick={loginWithApple}><span>אפל</span></button>\n      </div>\n      <div className=\"signup\">\n        <div>אין לך חשבון? <a href=\"#\" onClick={() => setMode(\"signUp\")}>הרשמה</a></div>\n      </div>\n      <div className=\"newspapper-users\" >\n        <div><span>מנויים לעיתון</span> <span className=\"calcalist-label\"></span>?</div>\n        <div>הזינו את המייל שלכם בשדה למעלה, וכנסו למהדורה הדיגיטלית</div>\n      </div>\n      <div className=\"bottom-logo\"></div>\n    </div>\n  )\n}\n","\nconst PremiumCalcalistPaywallDesktopSigninFinish = () => {\n  return (\n    <div className=\"premium-calcalist-paywall-desktop-signin-finish\">\n        <div className=\"digital-edition-label\">המהדורה הדיגיטלית</div>\n        <h1 className=\"title\">סיימנו!</h1>\n        <p className=\"subtitle\">מיד תועברו למהדורה הדיגיטלית</p>\n        <div className=\"finish-step-icon\"></div>\n        <div className=\"change-page-message\">\n            העמוד לא התחלף? לחצו <span onClick={()=>window.location.reload()}>כאן</span>\n        </div>\n    </div>\n  )\n}\n\nexport default PremiumCalcalistPaywallDesktopSigninFinish","import { useState, useRef } from 'react'\nimport { PaywallAuthErrorCodes } from \"../../../../../../global/paywall/paywallInterfaces\";\n\nexport interface PremiumCalcalistPaywallDesktopSigninPasswordProps {\n  password: string\n  email: string\n  setPassword: (password: string) => void\n  onContinue: () => void\n  onBack: () => void\n  sendMail: () => void\n  setEmail: (email: string) => void\n  authError: string\n}\nexport const OTP_LENGTH = 6;\n\nexport const PremiumCalcalistPaywallDesktopSigninPassword = (props: PremiumCalcalistPaywallDesktopSigninPasswordProps) => {\n\n  const { email, setPassword, onContinue, onBack, sendMail, authError } = props\n  const [otp, setOtp] = useState<string[]>(Array(OTP_LENGTH).fill(''));\n  const inputRefs = useRef<Array<HTMLInputElement | null>>(Array(OTP_LENGTH).fill(null));\n  \n  const errorMesssagesServer: Partial<Record<PaywallAuthErrorCodes, string>> = {\n    [PaywallAuthErrorCodes.AUTHENTICATION_FAILED]: 'האימות נכשל או שקוד האימות פג תוקף, אנא נסה שוב.'\n  }\n\n  const handleChange = (value: string, index: number) => {\n    if (!/^\\d*$/.test(value)) return; // Allow digits only\n    const newOtp = [...otp];\n    newOtp[index] = value;\n    setOtp(newOtp);\n    inputRefs.current[index].style.borderColor = '#999999';\n    if (value && index < OTP_LENGTH - 1) {\n      const nextInput = inputRefs.current[index + 1];\n      if (nextInput) {\n        nextInput.focus();\n      }\n    }\n    if (newOtp.every((v) => v)) {\n      setPassword(newOtp.join(''))\n    }\n  };\n\n  const handleKeyDown = (event: KeyboardEvent, index: number) => {\n    if (event.key === 'Backspace' && !otp[index] && index > 0) {\n      const prevInput = inputRefs.current[index - 1];\n      if (prevInput) {\n        prevInput.focus();\n      }\n    }\n  };\n\n  const handlePaste = (event: ClipboardEvent) => {\n    event.preventDefault();\n    const pastedData = event.clipboardData.getData('text');\n    if (pastedData.length !== otp.length || !/^\\d+$/.test(pastedData)) {\n      return;\n    }\n    const newOtp = pastedData.split('');\n    setOtp(newOtp);\n    if (inputRefs.current[otp.length - 1]) {\n      inputRefs.current[otp.length - 1].focus();\n    }\n    setPassword(newOtp.join(''));\n  };\n\n  const handleSendMailAgain = () => {\n    resetOtpInputs();\n    sendMail();\n  }\n\n  const resetOtpInputs = () => {\n    setOtp(Array(OTP_LENGTH).fill(''));\n    inputRefs.current.forEach((input) => {\n      if (input) {\n        input.style.borderColor = '#999999'; \n      }\n    });\n  }\n\n  const handleOnContinue = () => {\n    const emptyOtpFields = inputRefs.current.filter((_, index) => otp[index] === '');\n    if (emptyOtpFields.length > 0) {\n      emptyOtpFields.forEach((input) => {\n        if (input) {\n          input.style.borderColor = '#DE1A1A';\n        }\n      });\n    } else {\n      onContinue();\n    }\n  }\n\n\n  return (\n    <div className=\"premium-calcalist-paywall-desktop-signin-password\">\n       <div className=\"digital-edition-label\">המהדורה הדיגיטלית</div>\n      <div className=\"title\">איזה כיף שחזרת!</div>\n      <div className=\"password-step-icon\"></div>\n      <div className=\"subtitle\">\n        <span>שלחנו קוד אימות לכתובת המייל שהזנת:</span><span className=\"bold\">{email}</span>\n        <div>יש להזין כאן את הקוד שקיבלת</div>\n      </div>\n      <div className=\"otp\">\n        {otp.map((_, index) => {\n          return (\n            <input\n              key={index}\n              ref={(el) => (inputRefs.current[index] = el)}\n              type=\"text\"\n              maxLength={1}\n              value={otp[index]}\n              onChange={(e: any) => handleChange(e.target.value, index)}\n              onKeyDown={(e: any) => handleKeyDown(e, index)}\n              onPaste={(e: any) => handlePaste(e)}\n            />\n          );\n        })}\n      </div>\n      <span className=\"avalibale-label\">הקוד תקף ל-15 דקות</span>\n      <div className=\"buttons-container\">\n        <button className=\"button-base back\" onClick={onBack}>חזרה</button>\n        <button className=\"button-base continue\" onClick={handleOnContinue}>המשך</button>\n      </div>\n      {authError && <p className=\"error-text\" dangerouslySetInnerHTML={{ __html: errorMesssagesServer[authError] }}></p>}\n      <div className=\"resend-code-text\">\n        הקוד לא הגיע?<button onClick={handleSendMailAgain}>לשליחה מחדש</button>\n      </div>\n    </div>\n  )\n}\n","interface PremiumPaywallDesktopSignupConfirmTermsProps {\n  resetAuth: () => void\n  thirdPartyLogin: (isNewCustomer: boolean) => void\n}\n\nexport const PremiumCalcalistPaywallDesktopSignupConfirmTerms = (props: PremiumPaywallDesktopSignupConfirmTermsProps) => {\n  const {resetAuth, thirdPartyLogin} = props\n  return (\n    <div>\n      <h1>אישור תנאים</h1>\n      <button onClick={resetAuth}>Cancel</button>\n      <button onClick={() => thirdPartyLogin(true)}>Next</button>\n    </div>\n  )\n}\n","import { PaywallAuthErrorCodes, PremiumPaywallSignModes } from \"../../../../../../global/paywall/paywallInterfaces\";\n\ninterface PremiumCalcalistPaywallDesktopSignupEmailProps {\n  email: string\n  agreesTerms: boolean\n  setEmail: (email: string) => void\n  setAgreesTerms: (agreesTerms: boolean) => void\n  setMode: (mode: PremiumPaywallSignModes) => void\n  loginWithGoogle: () => void\n  loginWithApple: () => void\n  sendMail: () => void\n  authError: string\n}\n\n\nconst TERMS_OF_USE_LINK = 'https://www.calcalist.co.il/home/0,7340,L-3856,00.html';\nconst PRIVACY_POLICY_LINK = 'https://www.calcalist.co.il/home/0,7340,L-3855,00.html';\n\n\nconst errorMessagesFront: Partial<Record<PaywallAuthErrorCodes, string>> = {\n  [PaywallAuthErrorCodes.INVALID_EMAIL]: \"כתובת המייל אינה תקינה\",\n  [PaywallAuthErrorCodes.SIGNUP_NO_AGREEMENT]: `חובה לאשר את <a href=${TERMS_OF_USE_LINK}>תנאי השימוש</a>`,\n};\n\nconst errorMesssagesServer: Partial<Record<PaywallAuthErrorCodes, string>> = {\n  [PaywallAuthErrorCodes.EMAIL_ALREADY_EXISTS]: \"כתובת המייל כבר קיימת במערכת\",\n  [PaywallAuthErrorCodes.FAILED_TO_SEND_OTP]: \"אירעה שגיאה במערכת, אנא נסו שוב מאוחר יותר\",\n}\n\n\n\nexport const PremiumCalcalistPaywallDesktopSignupEmail = (props: PremiumCalcalistPaywallDesktopSignupEmailProps) => {\n\n  const { email, setEmail, agreesTerms, setAgreesTerms, loginWithApple, loginWithGoogle, setMode, sendMail, authError } = props\n\n  const handleMailChange = (e) => {\n    setEmail(e.target.value)\n  }\n\n  const handleAgreeChange = (e) => {\n    setAgreesTerms(e.target.checked)\n  }\n\n  const handleSendMail = () => {\n    sendMail()\n  }\n\n\n  return (\n    <div className=\"premium-calcalist-paywall-desktop-signup-email\">\n      <div className=\"digital-edition-label\">המהדורה הדיגיטלית</div>\n      <h1 className=\"title\">יצירת חשבון חדש</h1>\n      <div className=\"subtitle\">צרו חשבון לקריאת המהדורה הדיגיטלית <span className='bold'>לשבועיים מתנה!</span></div>\n      <div className={`email-signup ${authError && authError.includes('EMAIL') ? 'error' : ''}`}>\n        <input value={email} onChange={handleMailChange} type=\"email\" placeholder=\"הקלידו כתובת מייל\" />\n        <div className=\"reset-icon\" onClick={() => setEmail('')}></div>\n        {authError && authError === PaywallAuthErrorCodes.INVALID_EMAIL && <p className=\"error-text\">{errorMessagesFront[authError]}</p>}\n      </div>\n      <div className={`terms ${authError && authError === PaywallAuthErrorCodes.SIGNUP_NO_AGREEMENT ? 'error' : ''}`}>\n        <div className=\"inner-container\">\n          <input type=\"checkbox\" checked={agreesTerms} onChange={handleAgreeChange} />\n          <span className=\"text\">מסכים/ה ל<a href={TERMS_OF_USE_LINK}>תנאי השימוש</a>, <a href={PRIVACY_POLICY_LINK}>מדיניות פרטיות</a>, וקבלת פניות שיווקיות כולל טלפוניות, הודעות תפעוליות ימשיכו להישלח בתקופת המנוי גם לאחר הסרתי מרשימת מדוורים</span>\n        </div>\n        {authError && authError === PaywallAuthErrorCodes.SIGNUP_NO_AGREEMENT && <p className=\"error-text\" dangerouslySetInnerHTML={{ __html: errorMessagesFront[authError] }}></p>}\n      </div>\n\n      <div className=\"buttons-container\">\n        <button className=\"button-base back\" onClick={() => setMode(\"signUp\")}>חזרה</button>\n        <button className=\"button-base continue\" onClick={handleSendMail}>המשך</button>\n      </div>\n      {authError && <p className=\"error-text\" dangerouslySetInnerHTML={{ __html: errorMesssagesServer[authError] }}></p>}\n\n\n      <div className=\"separator\">\n        <span className=\"text\">או הירשמו באמצעות</span>\n      </div>\n\n\n      <div className=\"social-signup\">\n        <button className=\"social-button google-btn\" onClick={loginWithGoogle}><span>גוגל</span></button>\n        <button className=\"social-button apple-btn\" onClick={loginWithApple}><span>אפל</span></button>\n      </div>\n\n      <div className=\"login\">\n        <div>כבר נרשמתם? <a href=\"#\" onClick={() => setMode(\"signIn\")}>כניסה</a></div>\n      </div>\n      <div className=\"newspapper-users\" >\n        <div>\n          <span>טרם נרשמתם אבל מנויים של</span> <span className=\"calcalist-label\"></span>?\n          <span className=\"login\"><a href=\"#\" onClick={() => setMode(\"signIn\")}>לחצו כאן להתחברות</a></span>\n        </div>\n      </div>\n      <div className=\"bottom-logo\"></div>\n    </div>\n    \n  )\n}\n","\nconst PremiumCalcalistPaywallDesktopSignupFinish = () => {\n  return (\n    <div className=\"premium-calcalist-paywall-desktop-signup-finish\">\n        <div className=\"digital-edition-label\">המהדורה הדיגיטלית</div>\n        <h1 className=\"title\">סיימנו!</h1>\n        <p className=\"subtitle\">מיד תועברו למהדורה הדיגיטלית</p>\n        <div className=\"finish-step-icon\"></div>\n        <div className=\"change-page-message\">\n            העמוד לא התחלף? לחצו <span onClick={()=>location.reload()}>כאן</span>\n        </div>\n    </div>\n  )\n}\n\nexport default PremiumCalcalistPaywallDesktopSignupFinish;","import { useState, useRef } from 'react'\nimport { PaywallAuthErrorCodes } from \"../../../../../../global/paywall/paywallInterfaces\";\n\ninterface PremiumCalcalistPaywallDesktopSignupPasswordProps {\n  password: string\n  email: string\n  setPassword: (password: string) => void\n  onContinue: () => void\n  onBack: () => void\n  sendMail: () => void\n  authError: string\n}\n\n\nexport const PremiumCalcalistPaywallDesktopSignupPassword = (props: PremiumCalcalistPaywallDesktopSignupPasswordProps) => {\n  const OTP_LENGTH = 6;\n  const { password, email, setPassword, onContinue, onBack,sendMail,authError } = props\n  const [otp, setOtp] = useState<string[]>(Array(OTP_LENGTH).fill(''));\n  const inputRefs = useRef<Array<HTMLInputElement | null>>(Array(OTP_LENGTH).fill(null));\n\n  const errorMesssagesServer: Partial<Record<PaywallAuthErrorCodes, string>> = {\n    [PaywallAuthErrorCodes.AUTHENTICATION_FAILED]: \"אימות נכשל, נסה שוב\"\n  }\n\n  const handleChange = (value: string, index: number) => {\n    if (!/^\\d*$/.test(value)) return; // Allow digits only\n    const newOtp = [...otp];\n    newOtp[index] = value;\n    setOtp(newOtp);\n\n    if (value && index < OTP_LENGTH - 1) {\n      const nextInput = inputRefs.current[index + 1];\n      if (nextInput) {\n        nextInput.focus();\n      }\n    }\n    if (newOtp.every((v) => v)) {\n      setPassword(newOtp.join(''))\n    }\n  };\n\n  const handleKeyDown = (event: KeyboardEvent, index: number) => {\n    if (event.key === 'Backspace' && !otp[index] && index > 0) {\n      const prevInput = inputRefs.current[index - 1];\n      if (prevInput) {\n        prevInput.focus();\n      }\n    }\n  };\n\n  const handlePaste = (event: ClipboardEvent) => {\n    event.preventDefault();\n    const pastedData = event.clipboardData.getData('text');\n    if (pastedData.length !== otp.length || !/^\\d+$/.test(pastedData)) {\n      return;\n    }\n    const newOtp = pastedData.split('');\n    setOtp(newOtp);\n    if (inputRefs.current[otp.length - 1]) {\n      inputRefs.current[otp.length - 1].focus();\n    }\n    setPassword(newOtp.join(''));\n  };\n\n\n  return (\n    <div className=\"premium-calcalist-paywall-desktop-signup-password\">\n      <div className=\"digital-edition-label\">המהדורה הדיגיטלית</div>\n      <div className=\"title\">כמעט סיימנו...</div>\n      <div className=\"password-step-icon\"></div>\n      <div className=\"subtitle\">\n        <span> שלחנו קוד אימות לכתובת המייל שהזנת </span><span className=\"bold\">{email}</span>\n        <div>יש להזין כאן את הקוד שקיבלת</div>\n      </div>\n      <div className=\"otp\">\n        {otp.map((_, index) => {\n          return (\n            <input\n              key={index}\n              ref={(el) => (inputRefs.current[index] = el)}\n              type=\"text\"\n              maxLength={1}\n              value={otp[index]}\n              onChange={(e: any) => handleChange(e.target.value, index)}\n              onKeyDown={(e: any) => handleKeyDown(e, index)}\n              onPaste={(e: any) => handlePaste(e)}\n            />\n          );\n        })}\n      </div>\n      <span className=\"avalibale-label\">הקוד תקף ל-15 דקות</span>\n      <div className=\"buttons-container\">\n        <button className=\"button-base back\" onClick={onBack}>חזרה</button>\n        <button className=\"button-base continue\" onClick={onContinue}>המשך</button>\n      </div>\n      {authError && <p className=\"error-text\" dangerouslySetInnerHTML={{ __html: errorMesssagesServer[authError]}}></p>}\n      <div className=\"resend-code-text\">\n        הקוד לא הגיע?<button onClick={() => sendMail()}>לשליחה מחדש</button>\n      </div>\n    </div>\n  )\n}\n","import { useState,useEffect } from 'react';\nimport { PremiumPaywallSignModes } from '../../../../../global/paywall/paywallInterfaces';\nimport { PremiumCalcalistPaywallMobileSignUp as PremiumCalcalistPaywallMobileSignUp } from \"./premiumCalcalistPaywallMobileSignup\"\nimport { PremiumCalcalistPaywallMobileLogin as PremiumCalcalistPaywallMobileLogin } from './premiumCalcalistPaywallMobileLogin';\n \n\n\nexport const PremiumCalcalistPaywallMobile = ({isArticle}:{isArticle?:boolean}) => {\n  const [mode, setMode] = useState<PremiumPaywallSignModes>('signUp');\n  const [email, setEmail] = useState<string>('');\n  const [agreesTerms, setAgreeTerms] = useState(false);\n  const [password, setPassword] = useState('');\n\n\n  useEffect(() => {\n    document.body.style.overflow = 'hidden';\n    return () => {\n      document.body.style.overflow = 'auto';\n    };\n  }, []);\n\n\n  const getFormByMode = () => {\n    if (mode === 'signUp') {\n      return (\n        <PremiumCalcalistPaywallMobileSignUp\n          email={email}\n          password={password}\n          agreesTerms={agreesTerms}\n          setEmail={setEmail}\n          setPassword={setPassword}\n          setAgreesTerms={setAgreeTerms}\n          setMode={setMode}\n        />\n      );\n    }\n    return (\n      <PremiumCalcalistPaywallMobileLogin\n        email={email}\n        password={password}\n        agreesTerms={agreesTerms}\n        setEmail={setEmail}\n        setPassword={setPassword}\n        setAgreesTerms={setAgreeTerms}\n        setMode={setMode}\n      />);\n  };\n\n  return <div className=\"premium-calcalist-paywall-mobile\">{getFormByMode()}</div>;\n};\n","import { useEffect } from \"react\";\nimport { PremiumPaywallSignModes, AuthStepsEnum } from '../../../../../global/paywall/paywallInterfaces';\nimport { getAuthHookFactory } from \"../../../../../global/paywall/useAuth\";\nimport { PremiumCalcalistPaywallMobilePassword as PremiumCalcalistPaywallMobilePassword } from \"./signin/premiumCalcalistPaywallMobileLoginPassword\";\nimport PremiumCalcalistPaywallMobileLoginFinish from \"./signin/premiumCalcalistPaywallMobileLoginFinish\";\nimport { PremiumCalcalistPaywallMobileLoginEmail } from \"./signin/premiumCalcalistPaywallMobileLoginEmail\";\n\n\ninterface PremiumCalcalistPaywallMobileLoginProps {\n  email: string\n  password: string\n  agreesTerms: boolean\n  setEmail: (email: string) => void\n  setPassword: (password: string) => void\n  setAgreesTerms: (agreesTerms: boolean) => void\n  setMode: (mode: PremiumPaywallSignModes) => void\n}\n\nexport const PremiumCalcalistPaywallMobileLogin = (props: PremiumCalcalistPaywallMobileLoginProps) => {\n  const { email, setEmail, password, setPassword, setMode, agreesTerms } = props\n  const {\n    authError,\n    step,\n    loginWithGoogle,\n    loginWithApple,\n    thirdPartyLogin,\n    sendEmailForLogin,\n    submitPassword,\n    resetAuth,\n  } = getAuthHookFactory(\"login\")();\n\n  useEffect(() => {\n    console.log(authError, step)\n  }, [authError, resetAuth, step])\n\n  const sendMail = () => {\n    sendEmailForLogin(email, agreesTerms)\n  }\n\n  const sendPassword = () => {\n    submitPassword(password)\n  }\n\n  const onReset = () => {\n    resetAuth()\n  }\n\n  const onThirdPartyLogin = (isNewCustomer: boolean) => { \n    thirdPartyLogin(isNewCustomer)\n  }\n\n\n  switch (step) {\n    case AuthStepsEnum.EMAIL:\n      return (\n            <PremiumCalcalistPaywallMobileLoginEmail\n            email={email}\n            setEmail={setEmail}\n            setMode={setMode}\n            loginWithGoogle={loginWithGoogle}\n            loginWithApple={loginWithApple}\n            sendMail={sendMail}\n            authError={authError}\n            />\n      )\n\n    case AuthStepsEnum.PASSWORD:\n      return (\n        <PremiumCalcalistPaywallMobilePassword\n          email={email}\n          password={password}\n          setPassword={setPassword}\n          onContinue={sendPassword}\n          onBack={onReset}\n          sendMail={sendMail}\n          authError={authError}\n          setEmail={setEmail}\n          \n        />\n      )\n\n      case AuthStepsEnum.CONFIRM_TERMS:\n        // if its sign in, we dont need to confirm terms\n        onThirdPartyLogin(false)\n        return null\n\n      case AuthStepsEnum.FINISH:\n        // setTimeout(() => { window.location.reload() }, 2000)\n        return <PremiumCalcalistPaywallMobileLoginFinish />\n\n    default:\n      return null\n  }\n};\n","import { useEffect } from \"react\";\n \n \nimport { PremiumPaywallSignModes, AuthStepsEnum } from \"../../../../../global/paywall/paywallInterfaces\";\nimport { getAuthHookFactory } from \"../../../../../global/paywall/useAuth\";\nimport { PremiumPayWallMobileSignupEmail as PremiumCalcalistPaywallMobileSignupEmail } from \"./signup/premiumCalcalistPaywallMobileSignupEmail\";\nimport { PremiumPaywallMobileSignupPassword as PremiumCalcalistPaywallMobileSignupPassword } from \"./signup/premiumCalcalistPaywallMobileSignupPassword\";\nimport { PremiumPayWallMobileSignupConfirmTerms as PremiumCalcalistPaywallMobileSignupConfirmTerms } from \"./signup/premiumCalcalistPaywallMobileSignupConfirmTerms\";\nimport PremiumCalcalistPaywallMobileSignupFinish from \"./signup/premiumCalcalistPaywallMobileSignupFinish\";\n \n\ninterface PremiumCalcalistPaywallMobileSignUpProps {\n  email: string\n  password: string\n  agreesTerms: boolean\n  setEmail: (email: string) => void\n  setPassword: (password: string) => void\n  setAgreesTerms: (agreesTerms: boolean) => void\n  setMode: (mode: PremiumPaywallSignModes) => void\n}\n\nexport const PremiumCalcalistPaywallMobileSignUp = (props: PremiumCalcalistPaywallMobileSignUpProps) => {\n\n  const { email, setEmail, password, setPassword, setMode, agreesTerms, setAgreesTerms } = props\n\n  const {\n    authError,\n    step,\n    loginWithGoogle,\n    loginWithApple,\n    thirdPartyLogin,\n    sendEmailForLogin,\n    submitPassword,\n    resetAuth,\n  } = getAuthHookFactory(\"signup\")();\n\n  useEffect(() => {\n    console.log(authError, step)\n  }, [authError, resetAuth, step])\n\n  const sendMail = () => {\n    sendEmailForLogin(email, agreesTerms)\n  }\n\n  const sendPassword = () => {\n    submitPassword(password)\n  }\n\n  const onReset = () => {\n    resetAuth()\n  }\n\n  const onThirdPartyLogin = (isNewCustomer: boolean) => { \n    thirdPartyLogin(isNewCustomer)\n  }\n\n  switch (step) {\n    case AuthStepsEnum.EMAIL:\n      return (\n        <PremiumCalcalistPaywallMobileSignupEmail\n        email={email}\n        agreesTerms={agreesTerms}\n        setEmail={setEmail}\n        setAgreesTerms={setAgreesTerms}\n        setMode={setMode}\n        loginWithGoogle={loginWithGoogle}\n        loginWithApple={loginWithApple}\n        sendMail={sendMail}\n        authError={authError}\n        />\n      )\n\n    case AuthStepsEnum.PASSWORD:\n      return (\n        <PremiumCalcalistPaywallMobileSignupPassword\n          email={email}\n          password={password}\n          setPassword={setPassword}\n          onContinue={sendPassword}\n          onBack={onReset}\n          sendMail={sendMail}\n          authError={authError}\n        />\n      )\n\n      case AuthStepsEnum.CONFIRM_TERMS:\n        return (\n          <PremiumCalcalistPaywallMobileSignupConfirmTerms \n            resetAuth={onReset}\n            thirdPartyLogin={onThirdPartyLogin}\n          />\n        )\n\n      case AuthStepsEnum.FINISH:\n        setTimeout(() => { window.location.reload() }, 2000)\n        return <PremiumCalcalistPaywallMobileSignupFinish />\n\n    default:\n      return null\n  }\n};\n","import { PremiumPaywallSignModes, PaywallAuthErrorCodes } from \"../../../../../../global/paywall/paywallInterfaces\";\n\n\ninterface PremiumCalcalistPaywallMobileSigninEmailProps {\n  email: string\n  setEmail: (email: string) => void\n  setMode: (mode: PremiumPaywallSignModes) => void\n  loginWithGoogle: () => void\n  loginWithApple: () => void\n  sendMail: () => void\n  authError: string\n}\n\nexport const PremiumCalcalistPaywallMobileLoginEmail = (props: PremiumCalcalistPaywallMobileSigninEmailProps) => {\n\n  const { email, setEmail, loginWithApple, loginWithGoogle, setMode, sendMail, authError } = props\n\n  const handleMailChange = (e) => {\n    setEmail(e.target.value)\n  }\n\n  const handleSendMail = () => {\n    sendMail()\n  }\n\n  const errorMessagesFront: Partial<Record<PaywallAuthErrorCodes, string>> = {\n    [PaywallAuthErrorCodes.INVALID_EMAIL]: \"כתובת המייל אינה תקינה\",\n  };\n\n  const errorMessagesServer: Partial<Record<PaywallAuthErrorCodes, string>> = {\n    [PaywallAuthErrorCodes.FAILED_TO_SEND_OTP]: \"אירעה שגיאה במערכת, אנא נסו שוב מאוחר יותר\",\n  }\n\n  return (\n    <div className=\"premium-calcalist-paywall-mobile-signin-email\">\n      <div className=\"digital-edition-label\">המהדורה הדיגיטלית</div>\n      <h1 className=\"title\">כניסה</h1>\n      <div className={`email-signin ${authError && authError === PaywallAuthErrorCodes.INVALID_EMAIL ? 'error' : ''}`}>\n        <input value={email} onChange={handleMailChange} type=\"email\" placeholder=\"הקלידו כתובת מייל\" />\n        <div className=\"reset-icon\" onClick={() => setEmail('')}></div>\n        <p className=\"error-text\">{errorMessagesFront[authError]}</p>\n      </div>\n      <div className=\"buttons-container\">\n        <button className=\"button-base back\" onClick={() => setMode(\"signUp\")}>חזרה</button>\n        <button className=\"button-base continue\" onClick={handleSendMail}>המשך</button>\n      </div>\n      {authError && <p className=\"error-text\" dangerouslySetInnerHTML={{ __html: errorMessagesServer[authError] }}></p>}\n      <div className=\"separator\">\n        <span className=\"text\">או התחברו באמצעות</span>\n      </div>\n      <div className=\"social-signin\">\n        <button className=\"social-button google-btn\" onClick={loginWithGoogle}><span>גוגל</span></button>\n        <button className=\"social-button apple-btn\" onClick={loginWithApple}><span>אפל</span></button>\n      </div>\n      <div className=\"signup\">\n        <div>אין לך חשבון?<a href=\"#\" onClick={() => setMode(\"signUp\")}>הרשמה</a></div>\n      </div>\n      <div className=\"newspapper-users\" >\n        <div><span>מנויים לעיתון</span> <span className=\"calcalist-label\"></span>?</div>\n        <div className=\"more-details\">הזינו את המייל שלכם בשדה למעלה, וכנסו למהדורה הדיגיטלית</div>\n      </div>\n    </div>\n  )\n}\n","\nconst PremiumCalcalistPaywallMobileLoginFinish = () => {\n  return (\n    <div className=\"premium-calcalist-paywall-mobile-signin-finish\">\n        <h1 className=\"title\">סיימנו!</h1>\n        <p className=\"subtitle\">מיד תועברו למהדורה הדיגיטלית</p>\n        <div className=\"finish-step-icon\"></div>\n        <div className=\"change-page-message\">\n            העמוד לא התחלף?  <span onClick={()=>window.location.reload()}>לחצו כאן</span>\n        </div>\n    </div>\n  )\n}\n\nexport default PremiumCalcalistPaywallMobileLoginFinish","import { useState, useRef } from 'react'\nimport { PaywallAuthErrorCodes } from '../../../../../../global/paywall/paywallInterfaces';\n \nexport interface PremiumCalcalistPaywallMobileLoginPasswordProps {\n  password: string\n  email: string\n  setPassword: (password: string) => void\n  onContinue: () => void\n  onBack: () => void\n  sendMail: () => void\n  setEmail: (email: string) => void\n  authError: string\n}\nexport const OTP_LENGTH = 6;\n\nexport const PremiumCalcalistPaywallMobilePassword = (props: PremiumCalcalistPaywallMobileLoginPasswordProps) => {\n\n  const { email, setPassword, onContinue, onBack, sendMail, authError } = props\n  const [otp, setOtp] = useState<string[]>(Array(OTP_LENGTH).fill(''));\n  const inputRefs = useRef<Array<HTMLInputElement | null>>(Array(OTP_LENGTH).fill(null));\n  \n  const errorMesssagesServer: Partial<Record<PaywallAuthErrorCodes, string>> = {\n    [PaywallAuthErrorCodes.AUTHENTICATION_FAILED]: 'האימות נכשל או שקוד האימות פג תוקף, אנא נסה שוב.'\n  }\n\n  const handleChange = (value: string, index: number) => {\n    if (!/^\\d*$/.test(value)) return; // Allow digits only\n    const newOtp = [...otp];\n    newOtp[index] = value;\n    setOtp(newOtp);\n    inputRefs.current[index].style.borderColor = '#999999';\n    if (value && index < OTP_LENGTH - 1) {\n      const nextInput = inputRefs.current[index + 1];\n      if (nextInput) {\n        nextInput.focus();\n      }\n    }\n    if (newOtp.every((v) => v)) {\n      setPassword(newOtp.join(''))\n    }\n  };\n\n  const handleKeyDown = (event: KeyboardEvent, index: number) => {\n    if (event.key === 'Backspace' && !otp[index] && index > 0) {\n      const prevInput = inputRefs.current[index - 1];\n      if (prevInput) {\n        prevInput.focus();\n      }\n    }\n  };\n\n  const handlePaste = (event: ClipboardEvent) => {\n    event.preventDefault();\n    const pastedData = event.clipboardData.getData('text');\n    if (pastedData.length !== otp.length || !/^\\d+$/.test(pastedData)) {\n      return;\n    }\n    const newOtp = pastedData.split('');\n    setOtp(newOtp);\n    if (inputRefs.current[otp.length - 1]) {\n      inputRefs.current[otp.length - 1].focus();\n    }\n    setPassword(newOtp.join(''));\n  };\n\n  const handleSendMailAgain = () => {\n    resetOtpInputs();\n    sendMail();\n  }\n\n  const resetOtpInputs = () => {\n    setOtp(Array(OTP_LENGTH).fill(''));\n    inputRefs.current.forEach((input) => {\n      if (input) {\n        input.style.borderColor = '#999999'; \n      }\n    });\n  }\n\n  const handleOnContinue = () => {\n    const emptyOtpFields = inputRefs.current.filter((_, index) => otp[index] === '');\n    if (emptyOtpFields.length > 0) {\n      emptyOtpFields.forEach((input) => {\n        if (input) {\n          input.style.borderColor = '#DE1A1A';\n        }\n      });\n    } else {\n      onContinue();\n    }\n  }\n\n\n  return (\n    <div className=\"premium-calcalist-paywall-mobile-signin-password\">\n      <div className=\"title\">איזה כיף שחזרת!</div>\n      <div className=\"password-step-icon\"></div>\n      <div className=\"\"></div>\n      <div className=\"subtitle\">\n        <span> שלחנו קוד אימות לכתובת המייל שהזנת: </span><span className=\"bold br\">{email}</span>\n        <div>יש להזין כאן את הקוד שקיבלת</div>\n      </div>\n      <div className=\"otp\">\n        {otp.map((_, index) => {\n          return (\n            <input\n              key={index}\n              ref={(el) => (inputRefs.current[index] = el)}\n              type=\"text\"\n              maxLength={1}\n              value={otp[index]}\n              onChange={(e: any) => handleChange(e.target.value, index)}\n              onKeyDown={(e: any) => handleKeyDown(e, index)}\n              onPaste={(e: any) => handlePaste(e)}\n            />\n          );\n        })}\n      </div>\n      <span className=\"avalibale-label\">הקוד תקף ל-15 דקות</span>\n      <div className=\"buttons-container\">\n        <button className=\"button-base back\" onClick={onBack}>חזרה</button>\n        <button className=\"button-base continue\" onClick={handleOnContinue}>המשך</button>\n      </div>\n      {authError && <p className=\"error-text\" dangerouslySetInnerHTML={{ __html: errorMesssagesServer[authError] }}></p>}\n      <div className=\"resend-code-text\">\n        הקוד לא הגיע?<button onClick={handleSendMailAgain}>לשליחה מחדש</button>\n      </div>\n    </div>\n  )\n}\n","interface PremiumPayWallMobileSignupConfirmTermsProps {\n  resetAuth: () => void\n  thirdPartyLogin: (isNewCustomer: boolean) => void\n}\n\nexport const PremiumPayWallMobileSignupConfirmTerms = (props: PremiumPayWallMobileSignupConfirmTermsProps) => {\n  const {resetAuth, thirdPartyLogin} = props\n  return (\n    <div>\n      <h1>אישור תנאים</h1>\n      <button onClick={resetAuth}>Cancel</button>\n      <button onClick={() => thirdPartyLogin(true)}>Next</button>\n    </div>\n  )\n}\n","import { PaywallAuthErrorCodes, PremiumPaywallSignModes } from \"../../../../../../global/paywall/paywallInterfaces\";\n\n\ninterface PremiumPayWallMobileSignupEmailProps {\n  email: string\n  agreesTerms: boolean\n  setEmail: (email: string) => void\n  setAgreesTerms: (agreesTerms: boolean) => void\n  setMode: (mode: PremiumPaywallSignModes) => void\n  loginWithGoogle: () => void\n  loginWithApple: () => void\n  sendMail: () => void\n  authError: string\n}\n\nconst TERMS_OF_USE_LINK = 'https://www.calcalist.co.il/home/0,7340,L-3856,00.html';\nconst PRIVACY_POLICY_LINK = 'https://www.calcalist.co.il/home/0,7340,L-3855,00.html';\n\n\nconst errorMessagesFront: Partial<Record<PaywallAuthErrorCodes, string>> = {\n  [PaywallAuthErrorCodes.INVALID_EMAIL]: \"כתובת המייל אינה תקינה\",\n  [PaywallAuthErrorCodes.SIGNUP_NO_AGREEMENT]: `חובה לאשר את <a href=${TERMS_OF_USE_LINK}>תנאי השימוש</a>`,\n};\n\nconst errorMesssagesServer: Partial<Record<PaywallAuthErrorCodes, string>> = {\n  [PaywallAuthErrorCodes.EMAIL_ALREADY_EXISTS]: \"כתובת המייל כבר קיימת במערכת\",\n  [PaywallAuthErrorCodes.FAILED_TO_SEND_OTP]: \"אירעה שגיאה במערכת, אנא נסו שוב מאוחר יותר\",\n}\n\n\n\nexport const PremiumPayWallMobileSignupEmail = (props: PremiumPayWallMobileSignupEmailProps) => {\n\n  const { email, setEmail, agreesTerms, setAgreesTerms, loginWithApple, loginWithGoogle, setMode, sendMail, authError } = props\n\n  const handleMailChange = (e) => {\n    setEmail(e.target.value)\n  }\n\n  const handleAgreeChange = (e) => {\n    setAgreesTerms(e.target.checked)\n  }\n\n  const handleSendMail = () => {\n    sendMail()\n  }\n\n  return (\n    <div className=\"premium-calcalist-paywall-mobile-signup-email\">\n      <div className=\"digital-edition-label\">המהדורה הדיגיטלית</div>\n      <p className=\"title\">צרו חשבון חדש</p>\n      <div className=\"subtitle\">וקראו את המהדורה הדיגיטלית<span className='bold'>שבועיים מתנה!</span></div>\n      <div className={`email-signup ${authError && authError.includes('EMAIL') ? 'error' : ''}`}>\n        <input value={email} onChange={handleMailChange} type=\"email\" placeholder=\"הקלידו כתובת מייל\" />\n        <div className=\"reset-icon\" onClick={() => setEmail('')}></div>\n        {authError && authError === PaywallAuthErrorCodes.INVALID_EMAIL && <p className=\"error-text\">{errorMessagesFront[authError]}</p>}\n      </div>\n      <div className={`terms ${authError && authError === PaywallAuthErrorCodes.SIGNUP_NO_AGREEMENT ? 'error' : ''}`}>\n        <div className=\"inner-container\">\n          <input type=\"checkbox\" checked={agreesTerms} onChange={handleAgreeChange} />\n          <span className=\"text\">מסכים/ה ל<a href={TERMS_OF_USE_LINK}>תנאי השימוש</a>, <a href={PRIVACY_POLICY_LINK}>מדיניות פרטיות</a>, וקבלת פניות שיווקיות כולל טלפוניות, הודעות תפעוליות ימשיכו להישלח בתקופת המנוי גם לאחר הסרתי מרשימת מדוורים</span>\n        </div>\n        <p className=\"error-text\" dangerouslySetInnerHTML={{ __html: errorMessagesFront[authError] }}></p>\n      </div>\n\n      <div className=\"buttons-container\">\n        <button className=\"button-base back\" onClick={() => setMode(\"signUp\")}>חזרה</button>\n        <button className=\"button-base continue\" onClick={handleSendMail}>המשך</button>\n      </div>\n      {authError && <p className=\"error-text\" dangerouslySetInnerHTML={{ __html: errorMesssagesServer[authError] }}></p>}\n\n\n      <div className=\"separator\">\n        <div className=\"register-logo\"></div>\n        <span className=\"text\">או הירשמו באמצעות</span>\n      </div>\n\n\n      <div className=\"social-signup\">\n        <button className=\"social-button google-btn\" onClick={loginWithGoogle}><span>גוגל</span></button>\n        <button className=\"social-button apple-btn\" onClick={loginWithApple}><span>אפל</span></button>\n      </div>\n\n      <div className=\"login\">\n        <div>כבר נרשמתם? <a href=\"#\" onClick={() => setMode(\"signIn\")}>כניסה</a></div>\n      </div>\n      <div className=\"newspapper-users\" >\n        <div><span>טרם נרשמתם אבל מנויים של</span> <span className=\"calcalist-label\"></span>?</div>\n        <div className=\"login\"><a href=\"#\" onClick={() => setMode(\"signIn\")}>לחצו כאן להתחברות</a></div>\n      </div>\n    </div>\n  )\n}\n","\nconst PremiumPaywallMobileSignupFinish = () => {\n  return (\n    <div className=\"premium-calcalist-paywall-mobile-signup-finish\">\n        <h1 className=\"title\">סיימנו!</h1>\n        <p className=\"subtitle\">מיד תועברו למהדורה</p>\n        <div className=\"finish-step-icon\"></div>\n        <div className=\"change-page-message\">\n            העמוד לא התחלף?  <span onClick={()=>window.location.reload()}>לחצו כאן</span>\n        </div>\n    </div>\n  )\n}\n\nexport default PremiumPaywallMobileSignupFinish","import { useState, useRef } from 'react'\nimport { PaywallAuthErrorCodes } from '../../../../../../global/paywall/paywallInterfaces';\n\ninterface PremiumPaywallMobileSignupPasswordProps {\n  password: string\n  email: string\n  setPassword: (password: string) => void\n  onContinue: () => void\n  onBack: () => void\n  sendMail: () => void\n  authError: string\n}\n\nexport const PremiumPaywallMobileSignupPassword = (props: PremiumPaywallMobileSignupPasswordProps) => {\n  const OTP_LENGTH = 6;\n  const { password, email, setPassword, onContinue, onBack,sendMail,authError } = props\n  const [otp, setOtp] = useState<string[]>(Array(OTP_LENGTH).fill(''));\n  const inputRefs = useRef<Array<HTMLInputElement | null>>(Array(OTP_LENGTH).fill(null));\n\n  const errorMesssagesServer: Partial<Record<PaywallAuthErrorCodes, string>> = {\n    [PaywallAuthErrorCodes.AUTHENTICATION_FAILED]: \"אימות נכשל, נסה שוב\"\n  }\n\n  const handleChange = (value: string, index: number) => {\n    if (!/^\\d*$/.test(value)) return; // Allow digits only\n    const newOtp = [...otp];\n    newOtp[index] = value;\n    setOtp(newOtp);\n\n    if (value && index < OTP_LENGTH - 1) {\n      const nextInput = inputRefs.current[index + 1];\n      if (nextInput) {\n        nextInput.focus();\n      }\n    }\n    if (newOtp.every((v) => v)) {\n      setPassword(newOtp.join(''))\n    }\n  };\n\n  const handleKeyDown = (event: KeyboardEvent, index: number) => {\n    if (event.key === 'Backspace' && !otp[index] && index > 0) {\n      const prevInput = inputRefs.current[index - 1];\n      if (prevInput) {\n        prevInput.focus();\n      }\n    }\n  };\n\n  const handlePaste = (event: ClipboardEvent) => {\n    event.preventDefault();\n    const pastedData = event.clipboardData.getData('text');\n    if (pastedData.length !== otp.length || !/^\\d+$/.test(pastedData)) {\n      return;\n    }\n    const newOtp = pastedData.split('');\n    setOtp(newOtp);\n    if (inputRefs.current[otp.length - 1]) {\n      inputRefs.current[otp.length - 1].focus();\n    }\n    setPassword(newOtp.join(''));\n  };\n\n\n  return (\n    <div className=\"premium-calcalist-paywall-mobile-signup-password\">\n      <div className=\"title\">כמעט סיימנו...</div>\n      <div className=\"password-step-icon\"></div>\n      <div className=\"subtitle\">\n        <span> שלחנו קוד אימות לכתובת המייל שהזנת </span><span className=\"bold br\">{email}</span>\n        <div>יש להזין כאן את הקוד שקיבלת</div>\n      </div>\n      <div className=\"otp\">\n        {otp.map((_, index) => {\n          return (\n            <input\n              key={index}\n              ref={(el) => (inputRefs.current[index] = el)}\n              type=\"text\"\n              maxLength={1}\n              value={otp[index]}\n              onChange={(e: any) => handleChange(e.target.value, index)}\n              onKeyDown={(e: any) => handleKeyDown(e, index)}\n              onPaste={(e: any) => handlePaste(e)}\n            />\n          );\n        })}\n      </div>\n      <span className=\"avalibale-label\">הקוד תקף ל-15 דקות</span>\n      <div className=\"buttons-container\">\n        <button className=\"button-base back\" onClick={onBack}>חזרה</button>\n        <button className=\"button-base continue\" onClick={onContinue}>המשך</button>\n      </div>\n      {authError && <p className=\"error-text\" dangerouslySetInnerHTML={{ __html: errorMesssagesServer[authError]}}></p>}\n      <div className=\"resend-code-text\">\n        הקוד לא הגיע?<button onClick={() => sendMail()}>לשליחה מחדש</button>\n      </div>\n    </div>\n  )\n}\n","import { openFacebookShare, analyticsPushFunc, openWhatsAppShare, openTwitterShare, openMailShare } from \"../../../widgetsUtils\";\nimport { FontSlider } from \"../../ynet1280/ynetHeader/components/mutamComponents/fontSliderComponent\";\n\ninterface ArticleMutamHeaderShareProps{\n    url:string \n    title:string \n    showComments:boolean\n}\ninterface ArticleMutamHeaderShareState{\n    isFontMenuOpen:boolean\n}\nexport class ArticleMutamHeaderShareComponent extends React.Component<ArticleMutamHeaderShareProps, ArticleMutamHeaderShareState>{\n    public static siteScriptName = \"ArticleMutamHeaderShareComponent\";\n    constructor(props) {\n        super(props)\n        this.state = {\n            isFontMenuOpen: false\n        }\n    }\n    componentDidMount() { \n    this.setfontSize();\n    }\n\n    private setfontSize = () => {\n        if (localStorage && localStorage.fontSize) {\n            let size = localStorage.fontSize;\n            document.documentElement.style.fontSize = size * parseInt(getComputedStyle(document.documentElement).fontSize) + \"px\";\n        }\n\n    }\n    private handleFontSizePopupClose = () => {   \n             this.setState({ isFontMenuOpen: false })     \n       \n    }\n    private handleFontSizePopupVisability =(isFontMenuOpen) =>{\n     if(isFontMenuOpen) return;\n     else{\n        this.setState({ isFontMenuOpen: true }) \n     }\n          \n    }\n\n\n    render() {\n       const {title, url,  showComments} = this.props\n       const {isFontMenuOpen}= this.state \n        return (\n            <div className={`articleShareButtons-calcalist`} id=\"share-icons-wrapper\" >      \n                {isFontMenuOpen && <FontSlider onClose={this.handleFontSizePopupClose} lang=\"he\" />}\n               <div className=\"shareBtns\">\n                <div onClick={()=>this.handleFontSizePopupVisability(isFontMenuOpen)} >\n                    <span className=\"icon-pf resize_font\" />\n                </div>\n                <div  onClick={()=>openMailShare(title, \"כלכליסט\",  url, () => analyticsPushFunc(\"Mail\", \"Article\", title), \"Article Main Image\")}>\n                    <span className=\"icon-pf share\" />\n                </div>\n                <div  onClick={() => openTwitterShare(url, () => analyticsPushFunc(\"Twitter\", \"Article\", title), \"Article\")}>\n                    <span className=\"icon-pf twitter\" />\n                </div>\n                <div  onClick={() => openWhatsAppShare(url, () => analyticsPushFunc(\"Whatsapp\", \"Article\", title), \"Article\")} >\n                    <span className=\"icon-pf whatsapp\" />\n                </div>\n                <div  onClick={() => openFacebookShare(url, title, () => analyticsPushFunc(\"Facebook\", \"Article\", title), \"Article Main Image\")}>\n                    <span className=\"icon-pf facebook\" />\n                </div>\n              {showComments &&  <a href=\"#SiteArticleComments\">\n                <span className=\"icon-pf comments\" />\n                </a>}\n              </div>\n            </div>\n        )\n\n    }\n}\n","import { openFacebookShare, openTwitterShare, analyticsPushFunc, openLinkedinShare } from \"../../../widgetsUtils\"\nimport { CalcalistBodyCommercialButton } from \"../../../../articlePage/stateInterfaces\"\nimport { MailShareButton } from \"../../../siteWidgets/socialShareButtons/mail/mailShareButton\"\nimport { WhatsAppShareButton } from \"../../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\"\n\nconst siteArticleCommentsId = \"SiteArticleComments\"\n\ninterface CalcalistArticleActionsState {\n    position: \"top\" | \"bottom\" | \"fixed top\" | \"fixed bottom\"\n    pixelsFromLeft: number\n}\n\ninterface CalcalistArticleActionsProps {\n    articleTitle: string\n    commercialBtn: CalcalistBodyCommercialButton\n    commercialImgUrl: string\n    showComments: boolean\n    site?: string\n}\n\nexport class CalcalistArticleActions extends React.Component<CalcalistArticleActionsProps, CalcalistArticleActionsState> {\n    public static siteScriptName = \"CalcalistArticleActions\";\n\n    constructor() {\n        super();\n        this.state = {\n            position: \"top\",\n            pixelsFromLeft: 0\n        }\n    }\n\n    private ulRef: HTMLElement\n\n    componentDidMount() {\n        addEventListener(\"scroll\", _.throttle(this.onScroll, 20));\n        window.addEventListener(\"resize\", this.resetPosition, false)\n        this.resetPosition();\n    }\n    componentWillUnmount() {\n        // const navbar = document.getElementById(\"YnetHeader\")\n        document.removeEventListener(\"scroll\", _.throttle(this.onScroll, 20))\n        window.removeEventListener(\"resize\", this.resetPosition, false)\n\n    }\n    /*\n        componentDidUpdate() {\n            this.resetPosition();\n        }\n    */\n    private resetPosition = () => {\n        if (!this.ulRef) return;\n        const position = this.props.site === \"ctech\" ? this.ulRef.getBoundingClientRect().right : this.ulRef.getBoundingClientRect().left\n        if (this.state.pixelsFromLeft !== position)\n            this.setState({\n                pixelsFromLeft: this.ulRef.getBoundingClientRect().left\n            })\n    }\n\n    private onScroll = () => {\n        if (!this.ulRef) return;\n        const { position } = this.state;\n        const articleBodyElement = document.getElementById(\"calcalistArticleComponenta\");\n        const articleBodyBoundingClientRect = articleBodyElement.getBoundingClientRect();\n        const sideBarBoundingClientRect = this.ulRef.getBoundingClientRect();\n        const sideposition = this.props.site === \"ctech\" ? this.ulRef.getBoundingClientRect().right : this.ulRef.getBoundingClientRect().left\n        if (articleBodyBoundingClientRect.height <= sideBarBoundingClientRect.height) {\n            return;\n        }\n\n        switch (position) {\n            case \"top\":\n                if (articleBodyElement.getBoundingClientRect().top < 0) {\n                    this.setState({\n                        position: \"fixed top\",\n                        pixelsFromLeft: this.ulRef.getBoundingClientRect().left\n                    })\n                }\n                break;\n\n            case \"fixed top\":\n                if (articleBodyElement.getBoundingClientRect().bottom < this.ulRef.getBoundingClientRect().bottom) {\n                    this.setState({\n                        position: \"bottom\",\n                        pixelsFromLeft: this.ulRef.getBoundingClientRect().left\n                    })\n                }\n                if (articleBodyElement.getBoundingClientRect().top > this.ulRef.getBoundingClientRect().top) {\n                    this.setState({\n                        position: \"top\",\n                        pixelsFromLeft: this.ulRef.getBoundingClientRect().left\n                    })\n                }\n                break;\n\n            case \"bottom\":\n                if (this.ulRef.getBoundingClientRect().top > 0) {\n                    this.setState({\n                        position: \"fixed top\"\n                    })\n                }\n                break;\n\n        }\n    }\n\n    private getStyle = () => {\n        const { position, pixelsFromLeft } = this.state;\n\n        let style;\n        // let positionLoR = this.props.site === \"ctech\" ? {  } : { left: pixelsFromLeft }\n        let basicePosition = { left: \"40px\", right: \"auto\" }\n        if (position == \"fixed top\") {\n            style = {\n                left: pixelsFromLeft,\n                marginTop: \"20px\",\n                marginBottom: 0,\n                position: \"fixed\",\n                top: \"0px\"\n            }\n        }\n\n        if (position == \"fixed bottom\") {\n            style = {\n                left: pixelsFromLeft,\n                marginTop: \"20px\",\n                marginBottom: 0,\n                position: \"fixed\",\n                bottom: \"0px\"\n            }\n        }\n\n        if (position == \"top\") {\n            style = {\n                top: \"0px\",\n                ...basicePosition,\n                bottom: \"auto\",\n            }\n        }\n\n        if (position == \"bottom\") {\n            style = {\n                top: \"auto\",\n                ...basicePosition,\n                bottom: \"0px\",\n            }\n        }\n\n        return style;\n    }\n\n    private printArticle = () => {\n        if (typeof window != \"undefined\") {\n            window.print();\n        }\n    }\n\n    private handleShareBtnClicked = (button: string, lang: string) => {\n        if (typeof window !== \"undefined\") {\n            const current_url = window.location.href;\n            const { articleTitle } = this.props\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(current_url, \"\", () => analyticsPushFunc(\"Facebook\", \"Article Side\", articleTitle), \"Article Side\")\n                    break;\n\n                case \"tw\":\n                    openTwitterShare(current_url, () => analyticsPushFunc(\"Twitter\", \"Article Side\", articleTitle), \"Article Side\")\n                    break;\n                case \"ld\":\n                    openLinkedinShare(current_url, () => analyticsPushFunc(\"Linkedin\", \"Article Side\", articleTitle))\n                    break;\n                case \"wa\":\n                    WhatsAppShareButton.openWhatsAppShare(current_url, () => analyticsPushFunc(\"Whatsapp\", \"Article Top\", articleTitle), \"Article Top\")\n                    break;\n\n                case \"mailto\":\n                    MailShareButton.openMailShare(articleTitle, current_url, lang, () => analyticsPushFunc(\"Mail\", \"Article Side\", articleTitle), \"Article Side\")\n                    break;\n            }\n        }\n    }\n\n    private isTalkbackElement = () => {\n        if (typeof window !== 'undefined') {\n            return !!document.getElementById(siteArticleCommentsId);\n        }\n    }\n\n    private scrollTalkbacksIntoView = (e) => {\n        document.getElementById(siteArticleCommentsId).scrollIntoView({ behavior: \"smooth\" }); // true = align to top        \n    }\n\n    public render() {\n        const lang = this.props.site === \"ctech\" ? \"enCtech\" : \"heCalcalist\";\n        const { commercialBtn, commercialImgUrl, showComments } = this.props\n\n        const _showComments = showComments || this.isTalkbackElement();\n\n        return (\n            <div className=\"art-action-wrp\">\n                <ul className=\"art-action\" data-articleid=\"3763857\" ref={ref => this.ulRef = ref} style={this.getStyle()}>\n                    {_showComments && this.props.site !== \"ctech\" && <li title=\"Talkback\" className=\"share-icon talkback\" onClick={this.scrollTalkbacksIntoView}></li>}\n                    <li title=\"Email\" className=\"share-icon email\" onClick={e => this.handleShareBtnClicked(\"mailto\", lang)}></li>\n                   <li title=\"Whatsapp\" className=\"share-icon whatsapp\" onClick={(e) => this.handleShareBtnClicked(\"wa\", lang)} />\n                    <li title=\"Facebook\" className=\"share-icon facebook\" onClick={(e) => this.handleShareBtnClicked(\"fb\", lang)} />\n                    <li title=\"Twitter\" className=\"share-icon twitter\" onClick={(e) => this.handleShareBtnClicked(\"tw\", lang)} />\n                    <li title=\"Print\" className=\"share-icon print\" onClick={this.printArticle} />\n                    {this.props.site === \"ctech\" && <li title=\"Linkedin\" className=\"share-icon linkedin\" onClick={(e) => this.handleShareBtnClicked(\"ld\", lang)} />}\n                    <li style={{ backgroundImage: `url(${commercialImgUrl})` }} title={commercialBtn.linkProperties.link.description} className=\"CommercialLink\" aria-label=\"מודעה\">\n                        <a target=\"_blank\" href={commercialBtn.linkProperties.link.publishedLink} style={{ height: \"100%\", width: \"100%\", display: \"block\" }} />\n                    </li>\n                </ul>\n            </div>\n        )\n    }\n}","import { CalcalistStockRecommendData, stockJson } from \"../data/calcalistStockRecommendData\"\nimport { NoData } from \"../../../../../commonDataObjects/noData\"\n\ninterface CalcalistStockRecommendationPointsProps {\n    stock: stockJson\n}\n\ninterface CalcalistStockRecommendationPointsState {\n    selectedPoint: string\n}\n\nexport class CalcalistStockRecommendationPoints extends React.Component<CalcalistStockRecommendationPointsProps, CalcalistStockRecommendationPointsState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            selectedPoint: \"\",\n        }\n    }\n\n    public static siteScriptName = \"CalcalistStockRecommendationPoints\";\n    openPopup = (link, name, index) => {\n        this.setState({ selectedPoint: index })\n        window.open(link, `המלצה על מניית ${name}`, 'width=448,height=516')\n    }\n\n    getPoint = (color: string, urlType: string, text: string) => {\n        const { stock } = this.props;\n        const { selectedPoint } = this.state\n        if (!stock) {\n            return null\n        }\n        let voteLink = `https://www.calcalist.co.il/Ext/Comp/I-Invest/StockQuote/CdaStocks_PopUp/0,15255,L-0-${stock.id}-${urlType},00.html`\n        return (\n            <div className=\"item\">\n                <div className=\"item-point\" style={{ border: `1px solid ${color}`, backgroundColor: selectedPoint === urlType ? color : 'white' }} onClick={() => { this.openPopup(voteLink, stock.name, urlType) }}></div>\n                <div className=\"item-text\" style={{ color: color }}>{text}</div>\n            </div>\n        )\n    }\n\n\n    public render() {\n        const ratingUrlsPrefixes = [\n            { urlType: \"0\", color: \"#446a00\", text: \"מכירה חזקה\" },\n            { urlType: \"1\", color: \"#749b24\", text: \"מכירה\" },\n            { urlType: \"2\", color: \"#56564c\", text: \"המתן\" },\n            { urlType: \"3\", color: \"#d93438\", text: \"קניה\" },\n            { urlType: \"4\", color: \"#8c0015\", text: \"קניה חזקה\" },\n        ]\n\n        const points = ratingUrlsPrefixes.map(item => {\n            return (\n                this.getPoint(item.color, item.urlType, item.text)\n            )\n        })\n        return (\n            <div className=\"points-box\">\n                {points}\n                <div className=\"items-line\" />\n            </div>\n        )\n    }\n}","import { ArticleComponentasDictionary } from \"../../../../../articlePage/stateInterfaces\";\nimport { ArticleBlogData } from \"../../../article/componentas/articleBlog/articleBlogData\";\nimport { placeHeaderBelowTitle, setTitleFullWidth } from \"../utils\";\n\ninterface Props {\n    posts: ArticleBlogData[];\n    title: string;\n    date: any;\n    roofTitle: string\n}\n\ninterface State {\n    firstPostIndex: number;\n}\n\nexport class SiteArticleBlogHeaderComponenta extends React.Component<\n    Props,\n    State\n    > {\n    public static siteScriptName = \"SiteArticleBlogHeaderComponenta\";\n\n    constructor(props: Props) {\n        super(props);\n        this.state = {\n            firstPostIndex: 0,\n        };\n    }\n\n    componentDidMount() {\n        // setTitleFullWidth();\n        // placeHeaderBelowTitle();\n    }\n\n    private formatDate = () => {\n        const { date } = this.props;\n\n        // Convert the date string to a Date object\n        const dateObj = new Date(date);\n\n        // e.g. \"28 בינואר, 2024\"\n        const options = {\n            year: \"numeric\",\n            month: \"long\",\n            day: \"numeric\",\n        };\n\n        // comma placement on date string\n        let count = 0;\n        return dateObj.toLocaleDateString(\"he-IL\", options).replace(/ /g, function (match) {\n            count++;\n            return count === 2 ? \", \" : match;\n        });\n    };\n\n    private handleTimelineItemClick = (e, post: ArticleBlogData) => {\n        e.preventDefault();\n\n        const headerHeight = -60;\n        const ItemTopMargin = -10;\n        const element = document.getElementById(post.blogId);\n        const y = element.getBoundingClientRect().top + window.pageYOffset + headerHeight + ItemTopMargin;\n\n        window.scrollTo({ top: y, behavior: 'smooth' });\n    };\n\n    handleRightButtonClick = () => {\n        if (this.state.firstPostIndex === 0 || this.props.posts.length < 5) {\n            return;\n        }\n\n        this.setState((prevState) => {\n            return {\n                firstPostIndex: prevState.firstPostIndex - 1,\n            };\n        });\n    };\n\n    handleLeftButtonClick = () => {\n        if (\n            this.state.firstPostIndex === this.props.posts.length - 5 ||\n            this.props.posts.length < 5\n        ) {\n            return;\n        }\n\n        this.setState((prevState) => {\n            return {\n                firstPostIndex: prevState.firstPostIndex + 1,\n            };\n        });\n    };\n\n    private getHowLongAgo = (date: string) => {\n        const now = new Date();\n        const diff = now.getTime() - new Date(date).getTime();\n        const diffInMinutes = diff / 1000 / 60;\n        const diffInHours = diffInMinutes / 60;\n        const diffInDays = diffInHours / 24;\n        const diffInWeeks = diffInDays / 7;\n        const diffInMonths = diffInDays / 30;\n        const diffInYears = diffInDays / 365;\n\n        if (diffInMinutes < 60) {\n            return `לפני ${Math.floor(diffInMinutes)} דק'`;\n        } else if (diffInHours < 24) {\n            return `לפני ${Math.floor(diffInHours)} שע'`;\n        } else if (diffInDays < 2) {\n            return \"אתמול\";\n        } else if (diffInDays < 30) {\n            return `לפני ${Math.floor(diffInDays)} ימים`;\n        } else if (diffInDays < 365) {\n            return `לפני ${Math.floor(diffInWeeks)} שבועות`;\n        } else if (diffInDays < 365 * 2) {\n            return `לפני ${Math.floor(diffInMonths)} חודשים`;\n        } else if (diffInDays < 365 * 3) {\n            return \"שנה שעברה\";\n        } else {\n            return `לפני ${Math.floor(diffInYears)} שנים`;\n        }\n    };\n\n    public render() {\n        const { posts, roofTitle } = this.props;\n        const { firstPostIndex } = this.state;\n        const postsToDisplay = posts.slice(firstPostIndex, firstPostIndex + 5);\n\n        return (\n            <div className=\"calcalist-article-blog-header\">\n                <div className=\"calcalist-article-blog-header-bg no-print\" />\n                <div className=\"article-blog-header-title\">\n                    <h1 className=\"article-blog-header-title-text\">\n                        {this.props.title}\n                    </h1>\n                    <div className=\"article-blog-header-title-date\">\n                        {this.formatDate()}\n                    </div>\n                </div>\n                <div className=\"article-blog-header-timeline-wrapper\">\n                    <div className=\"article-blog-header-timeline-line\" />\n                    <div className=\"article-blog-timeline\">\n                        <div\n                            className=\"article-blog-timeline-scroll right\"\n                            onClick={this.handleRightButtonClick}\n                        />\n                        {postsToDisplay.map((post, index) => (\n                            <a\n                                key={index}\n                                className=\"article-blog-timeline-item\"\n                                onClick={(e) =>\n                                    this.handleTimelineItemClick(e, post)\n                                }\n                            >\n                                <div className=\"article-blog-timeline-item-age\">\n                                    <span className=\"article-blog-timeline-item-age-text\">\n                                        {this.getHowLongAgo(\n                                            post.blogDate as any\n                                        )}\n                                    </span>\n                                </div>\n                                <div className=\"article-blog-timeline-item-title\">\n                                    {post.blogTitle}\n                                </div>\n                            </a>\n                        ))}\n                        <div\n                            className=\"article-blog-timeline-scroll left\"\n                            onClick={this.handleLeftButtonClick}\n                        />\n                    </div>\n                </div>\n                {roofTitle && roofTitle.length > 0 && <div className=\"roofTitle\">{roofTitle}</div>}\n            </div>\n        );\n    }\n}\n","import * as map from \"lodash/map\"\nimport { ExternalScriptToDivInjector } from \"../../../../../global/components/externalScriptToDivInjector/externalScriptToDivInjector\";\nimport { ImageDetails } from \"images/interfaces\"\n\n\nexport interface carouselItems {\n    title: string\n    publishedLink: string\n    path?: string\n    author: string\n    id: string\n    credit: string\n    promotionImageDetails?: ImageDetails\n}\ninterface carouselProps {\n    items: carouselItems[]\n    disableScript?: boolean\n    marginRightPerComp: number\n}\ninterface carouselState {\n    marginRight: number\n}\n\nexport class CalcalistCarouselComponenta extends React.Component<carouselProps, carouselState> {\n    static siteScriptName = \"CalcalistCarouselComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            marginRight: 0\n        }\n    }\n    private scrolltoRight = () => {\n        this.setState({ marginRight: 0 })\n    }\n    private scrolltoLeft = () => {\n        const { marginRightPerComp } = this.props\n        this.setState({ marginRight: marginRightPerComp })\n    }\n    public render() {\n        const { items, disableScript } = this.props\n        const { marginRight } = this.state;\n\n        let firstItems = items !== undefined ? items.slice(0, 3) : []\n        let secondItems = items !== undefined ? items.slice(3, items.length) : []\n\n        return (\n            <div className=\"ArticleCalcalistSlider\">\n                <div>\n                    {marginRight !== 0 && <button className=\"arrowRight\" onClick={this.scrolltoRight} />}\n                    <div className=\"articlesList\" style={{ marginRight: marginRight }}>\n                        {map(firstItems, (item, i) => {\n                            return (\n                                <a className=\"articleItem\" key={item.id} href={item.publishedLink} title={item.title}>\n                                    <img src={item.path} className=\"SiteImageMedia\" alt={item.title} title={item.credit} />\n                                    <div className=\"textArea\">\n                                        <div className=\"title\">\n                                            {item.title}\n                                        </div>\n                                        {!disableScript && <div className=\"author\">\n                                            {item.author}\n                                        </div>}\n                                    </div>\n                                </a>\n                            )\n                        })\n                        }\n                        {!disableScript && <div className=\"articleItem\">\n                                <div id=\"carusella.article\" className=\"calcalist_banner\"></div>\n                        </div>}\n                        {map(secondItems, (item, i) => {\n                            if (item) {\n                                return (\n                                    <a className=\"articleItem\" key={item.id} href={item.publishedLink} title={item.title}>\n                                        <img src={item.path} className=\"SiteImageMedia\" alt={item.title} title={item.credit} />\n                                        <div className=\"textArea\">\n                                            <div className=\"title\">\n                                                {item.title}\n                                            </div>\n                                            {!disableScript && <div className=\"author\">\n                                                {item.author}\n                                            </div>}\n                                        </div>\n                                    </a>\n                                )\n                            }\n                        })\n                        }\n                    </div>\n                    {marginRight === 0 && <button className=\"arrowLeft\" onClick={this.scrolltoLeft} />}\n                </div>\n            </div>\n        )\n    }\n}\n// <SiteSimpleImage src={item.path} title={item.credit} alt={item.credit} />\n","import { SiteVideoMedia } from \"../../../../siteWidgets/siteMedia\"\nimport { SiteVideoData } from \"../../../../interfaces\";\nimport { useState } from \"react\";\nimport { VideoSettingsData } from \"../../../../commonDataObjects/interfaces\";\n\ninterface ArticleCommercialVideoPlayerProps {\n    slotsData: SiteVideoData[]\n    videoSettings: VideoSettingsData\n}\n\nexport const ArticleCommercialVideoPlayer = (props: ArticleCommercialVideoPlayerProps) => {\n\n    const [playingVideoIndex, setPlayingVideoIndex] = useState<number>(0)\n    const { slotsData, videoSettings } = props\n\n    const playingVideo = slotsData[playingVideoIndex]\n\n    const playNextVideo = () => {\n        if (slotsData.length - 1 >= playingVideoIndex + 1) {\n            setPlayingVideoIndex(playingVideoIndex + 1)\n        } else if (slotsData.length - 1 === playingVideoIndex) {\n            setPlayingVideoIndex(0)\n        }\n    }\n\n    return (\n        <div className=\"article-commercial-video-player\">\n            <SiteVideoMedia\n                data={playingVideo}\n                onVideoEnded={playNextVideo}\n                onVideoError={playNextVideo}\n                videoSettings={{ ...videoSettings, isVideoLightbox: false }}\n                key={`articleCommercialVideoPlayer_${playingVideo.mediaId}`}\n            />\n        </div>\n    )\n}\n\nArticleCommercialVideoPlayer.siteScriptName = \"ArticleCommercialVideoPlayer\"","\nimport { calculateAutomaticComponentaUrl, separateHourFromDateAndFormatToString, getImgAlt, isAriaHidden, getImgTitle, calculateShouldAddArticleAutoplayIndicator } from \"widgets/widgetsUtils\"\nimport * as apiUrls from \"config/apiUrls\"\nimport { ImageDetails } from \"images/interfaces\"\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { CalcalistShareMenu } from \"../../../../commonComponents/base/CalcalistShareMenu\";\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { CtechDateDisplay } from \"../../../../commonComponents/inline/dateDisplay/ctechDateDisplay\"\nimport { MediaVideoData } from \"../../../../../media/interfaces\";\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\"\nimport { ArticleType } from \"../../../../../articlePage/stateInterfaces\";\n\n\ninterface CalcalistArticleHeadlinesItemProps {\n    article: Partial<SiteArticleHeadlinesData>\n    fieldsDisplaySettings: IFieldDisplayData\n    titleColor: string\n    subTitleColor: string\n    showTaboola: boolean\n    uid?: string\n    isLTR?: boolean\n    hideVideoAds?: boolean\n}\nexport interface SiteArticleHeadlinesData {\n    articleId: string\n    author: string\n    credit: string\n    title: string\n    subTitle: string\n    promotionImageDetails: ImageDetails\n    hasVideo: boolean\n    publishedLink: string\n    publishedDate: Date\n    roof?: string\n    video?: MediaVideoData[]\n    articleType?:ArticleType\n}\n\nexport class CalcalistArticleHeadlinesItem extends React.Component<CalcalistArticleHeadlinesItemProps, {}>{\n    static defaultProps = { isCategoryVisible: true }\n\n    public componentDidMount() {\n        if (this.props.showTaboola) {\n            window._taboola = window._taboola || [];\n            window._taboola.push({\n                mode: 'thumbnails-i',\n                container: 'taboola-category-mid-page-stream',\n                placement: 'Category Mid Page Stream',\n                target_type: 'mix'\n            });\n        }\n    }\n\n    public render() {\n        const { article, fieldsDisplaySettings, titleColor, subTitleColor, showTaboola, uid, isLTR, hideVideoAds } = this.props;\n        const { title, subTitle, author, credit, promotionImageDetails, publishedLink, publishedDate, roof, hasVideo, articleId, video, articleType } = article\n        const isMoreDetails = fieldsDisplaySettings.isAuthorVisible || fieldsDisplaySettings.isDateVisible || fieldsDisplaySettings.isHourVisible\n        const isDateView = fieldsDisplaySettings.isDateVisible || fieldsDisplaySettings.isHourVisible\n        const articleMainVideo = article.video && article.video.length && article.video[0];\n        const videoIcon = hasVideo ? \"video\" : \"none\";\n        const iconType = articleType===\"audio\" ? \"audio\" : videoIcon;\n        return (\n            <>\n                {showTaboola && <div id=\"taboola-category-mid-page-stream\" />}\n                <div className=\"slotItem\" data-wcm-article-id={articleId} read-more-id={uid}>\n                    <div className=\"mediaArea CalcalistComponentaShareMenuMedia\">\n                        <div className=\"MediaCarousel\" >\n\n                            {articleMainVideo ?\n                                <a>\n                                    <SiteMedia\n                                        data={{\n                                            ...articleMainVideo,\n                                            url: articleMainVideo.main_link,\n                                            poster: apiUrls.getImageUrl(promotionImageDetails, { w: 270, h: 146 }),\n                                            mediaType: \"MEDIA_VIDEO\",\n                                            title,\n                                            showAds: !hideVideoAds\n                                        } as any}\n                                        width={270}\n                                        height={146}\n                                        videoSettings={{\n                                            isVideoLightbox: true,\n                                            hideVideoAds: hideVideoAds\n                                        }}\n                                        itemLinkUrl={title}\n                                        isImageLinkable={true}\n                                    />\n                                </a>\n                                :\n                                <a href={publishedLink}>\n                                <img src={apiUrls.getImageUrl(promotionImageDetails, { w: 270, h: 146 })}\n                                    style={{ width: 270, height: 146 }}\n                                    className=\"SiteImageMedia\"\n                                    alt={getImgAlt(promotionImageDetails)}\n                                    aria-hidden={isAriaHidden(promotionImageDetails)}\n                                    title={getImgTitle(promotionImageDetails)}\n                                    />\n                                </a>}\n\n                        </div>\n                        {!video && <SlotIconDisplay itemId={\"\"} icon={iconType} iconClassName=\"medium\" isIconVisible={iconType!==\"none\"} />}\n                        <CalcalistShareMenu url={publishedLink} title={this.props.article.title} isLTR={isLTR} isArticle={true} />\n                    </div>\n                    <a href={calculateAutomaticComponentaUrl(article)} className=\"textDiv\" >\n                        {fieldsDisplaySettings.isTitleVisible && <div className=\"slotTitle\" style={{ color: titleColor }}>\n                            {roof !== null && <span className=\"roofTitle\" data-roof-text={`${roof} | `}>{roof} | </span>} <span>{title}</span>\n                        </div>}\n                        {isMoreDetails && <div className=\"moreDetails\">\n                            {isDateView &&\n                                <span className=\"dateView\">\n                                {isLTR ? (fieldsDisplaySettings.isDateVisible && <CtechDateDisplay date={publishedDate} />) :\n                                    separateHourFromDateAndFormatToString(publishedDate,\n                                        {\n                                            showDate: fieldsDisplaySettings.isDateVisible,\n                                            showHour: fieldsDisplaySettings.isHourVisible\n                                        })}\n                                </span>}\n                            {isLTR && <span> | </span>}\n                            {fieldsDisplaySettings.isAuthorVisible && <span className=\"author\">{author}</span>}\n                        </div>}\n                        {fieldsDisplaySettings.isSubTitleVisible && <div className=\"slotSubTitle\" style={{ color: subTitleColor }}>\n                            <span>{subTitle}</span>\n                        </div>}\n                    </a>\n                </div>\n            </>\n        )\n    }\n}","\nimport { calculateAutomaticComponentaUrl } from \"widgets/widgetsUtils\"\nimport * as apiUrls from \"config/apiUrls\"\nimport { ImageDetails } from \"images/interfaces\"\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { MediaVideoData } from \"../../../../../media/interfaces\";\nimport { ArticleType } from \"../../../../../articlePage/stateInterfaces\";\nimport { StandartSlotItemMutam, GeneralItemProp } from \"../../generalMutamComps/standartSlotItemMutam\";\n\n\n\ninterface CalcalistArticleHeadlinesItemProps {\n    article: Partial<SiteArticleHeadlinesData>\n    fieldsDisplaySettings: IFieldDisplayData\n    titleColor: string\n    subTitleColor: string\n    showTaboola: boolean\n    uid?: string\n    isLTR?: boolean\n}\nexport interface SiteArticleHeadlinesData {\n    articleId: string\n    author: string\n    credit: string\n    title: string\n    subTitle: string\n    promotionImageDetails: ImageDetails\n    hasVideo: boolean\n    publishedLink: string\n    publishedDate: Date\n    roof?: string\n    video?: MediaVideoData[]\n    articleType?:ArticleType\n}\n\nexport class CalcalistArticleHeadlinesItemMutam extends React.Component<CalcalistArticleHeadlinesItemProps, {}>{\n    static defaultProps = { isCategoryVisible: true }\n\n    public componentDidMount() {\n        if (this.props.showTaboola) {\n            window._taboola = window._taboola || [];\n            window._taboola.push({\n                mode: 'thumbnails-i',\n                container: 'taboola-category-mid-page-stream',\n                placement: 'Category Mid Page Stream',\n                target_type: 'mix'\n            });\n        }\n    }\n\n    public render() {\n        const { article, fieldsDisplaySettings, showTaboola } = this.props;\n        const { title, author, promotionImageDetails, publishedDate, roof, hasVideo } = article\n        const item = {\n            title: title,\n            roofTitle: roof && roof.length>0 ? roof : \"\",\n            link: calculateAutomaticComponentaUrl(article),\n            imageSrc:  apiUrls.getImageUrl(promotionImageDetails, { w: 270, h: 146 }),\n            publishedDate: publishedDate,\n            author: author,\n            hasVideo: hasVideo,\n        } as GeneralItemProp;\n        return (\n            <>\n                {showTaboola && <div id=\"taboola-category-mid-page-stream\" />}\n                <StandartSlotItemMutam\n                    fieldsDisplaySettings={fieldsDisplaySettings}\n                    item={item}\n                />\n            </>\n        )\n    }\n}","import * as filter from \"lodash/filter\"\nimport * as map from \"lodash/map\"\nimport { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\";\nimport { SiteArticleHeadlinesData } from \"./articleHeadlinesItemCalcalist\"\nimport { CalcalistArticleHeadlinesList } from \"./calcalistArticleHeadlinesList\";\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\n\ninterface InfinityHeadlinesViewProps {\n    uid?: string\n    articles: ArticleExtraData[]\n    loader: boolean\n    fieldsDisplaySettings: IFieldDisplayData\n    titleColor: string\n    subTitleColor: string\n    isTaboolaVisible: boolean\n    hideVideoAds: boolean\n    commercialItemsNum:number\n    commercialRepetitionsNum:number\n    isMutam: boolean\n}\n\nexport class CalcalistArticleHeadlinesView extends React.Component<InfinityHeadlinesViewProps, {}>  {\n\n    private getArticlesFromPage = () => {\n        const existingArticlesIds = new Set<String>()\n        const { uid } = this.props\n        if (typeof document !== 'undefined') {\n            const elements = document.querySelectorAll(`div[data-wcm-article-id]:not([read-more-id=\"${uid}\"])`)\n            if (elements.length) {\n                for (let i = 0; i < elements.length; i++) {\n                    const el = elements[i];\n                    const articleId = el.getAttribute(\"data-wcm-article-id\")\n                    if (articleId) {\n                        existingArticlesIds.add(articleId)\n                    }\n                }\n            }\n        }\n        return existingArticlesIds\n    }\n\n    public render() {\n        const { articles, uid } = this.props\n        let itemList: SiteArticleHeadlinesData[] = [];\n\n        if (articles) {\n            const existingArticles = this.getArticlesFromPage()\n            if (Object.keys(articles).length > 0) {\n                itemList = filter(map(articles, (article: ArticleExtraData): SiteArticleHeadlinesData =>\n                    existingArticles.has(article.articleId) ? null : ({\n                        articleId: article.articleId,\n                        author: article.articleType ===\"audio\" ? (article.specialData && article.specialData.audioData && article.specialData.audioData.alternatePresenterName && article.specialData.audioData.alternatePresenterName.length > 0 ? article.specialData.audioData.alternatePresenterName :\"שירות כלכליסט\") : article.author,\n                        credit: article.promotionImageDetails ? article.promotionImageDetails.credit : null,\n                        roof: article.roof ? article.roof : null,\n                        title: article.title,\n                        subTitle: article.subTitle,\n                        promotionImageDetails: article.promotionImageDetails,\n                        hasVideo: article.hasVideo,\n                        publishedLink: article.publishedLink,\n                        publishedDate: article.dateUpdatedOnSite,\n                        video: article.video,\n                        articleType:article.articleType,\n                    })\n                ))\n            }\n        }\n\n        return (\n            <CalcalistArticleHeadlinesList\n                itemList={itemList}\n                {...this.props}\n                uid={uid}\n            />\n        )\n    }\n} ","import { CalcalistArticleHeadlinesItem, SiteArticleHeadlinesData } from \"./articleHeadlinesItemCalcalist\";\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { TaboolaItemArticleHeadlines } from \"../../../ynet1280/articleHeadlinesAutoWidget/components/taboolaItem\"\nimport { CalcalistArticleHeadlinesItemMutam } from \"./articleHeadlinesItemMutamCalcalist\";\n\n\n\ninterface CalcalistArticleHeadlinesListProps {\n    itemList: SiteArticleHeadlinesData[]\n    fieldsDisplaySettings: IFieldDisplayData\n    titleColor: string\n    subTitleColor: string\n    isTaboolaVisible: boolean\n    uid?: string\n    hideVideoAds?: boolean\n    commercialItemsNum:number\n    commercialRepetitionsNum:number\n    isMutam: boolean\n}\n\nexport class CalcalistArticleHeadlinesList extends React.Component<CalcalistArticleHeadlinesListProps, {} >{\n    public render() {\n        const { itemList, isTaboolaVisible, commercialItemsNum, commercialRepetitionsNum, isMutam} = this.props\n       // const availableTaboolaItems = (commercialItemsNum * commercialRepetitionsNum);\n        const articles = itemList;\n        const articleLength = articles.length;\n          let visibleItems = [];\n        if(articleLength>0){\n            const availibaleRepetitions = Math.floor(articleLength/commercialItemsNum);\n            const hasTaboolaItems = commercialRepetitionsNum > 0 && commercialItemsNum > 0 && articleLength > 0;\n            const numberOfTaboolaItems  = availibaleRepetitions < commercialRepetitionsNum ? availibaleRepetitions : commercialRepetitionsNum;\n            for (var i = 0; i < articleLength; i++) {\n                if (isMutam) {\n                    visibleItems.push(<CalcalistArticleHeadlinesItemMutam\n                        key={i}\n                        showTaboola={isTaboolaVisible && i == 7}\n                        article={articles[i]}\n                        {...this.props}\n                        />)\n                } else {\n                        visibleItems.push(<CalcalistArticleHeadlinesItem\n                            key={i}\n                            showTaboola={isTaboolaVisible && i == 7}\n                            article={articles[i]}\n                            {...this.props}\n                            />)\n                }\n            }\n            if(hasTaboolaItems){\n                for (var i=0; i<numberOfTaboolaItems; i++){\n                   visibleItems.splice(commercialItemsNum*(i+1)+i, 0, <TaboolaItemArticleHeadlines id={\"1x1-stream-widget-\"+(i+1)}/>) \n                  }\n              }\n        }\n        return (\n            <div className=\"slotList\" >\n                {visibleItems}\n            </div>\n        )\n    }\n}\n\n","import * as axios from \"axios\"\nimport * as filter from \"lodash/filter\"\nimport { ArticleExtraData } from \"articlePage/stateInterfaces\"\nimport { CalcalistArticleHeadlinesView } from \"./articleHeadlinesMoreView\";\nimport { addAxiosDateTransformerSettings } from \"../../../../../utils/network/axiosDateTransformer\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { Loader } from \"../../../yPlusLoadMore/components/loader/loader\";\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { removeByIndex } from \"../../../../../utils/immutableHelpers/array\";\n\n\n\ninterface ArticleHeadlinesProps {\n    categoryId: string\n    componentaId?: string\n    firstPageArticles?: ArticleExtraData[]\n    numberOfVisibleItems: number\n    fieldsDisplaySettings: IFieldDisplayData\n    titleColor: string\n    subTitleColor: string\n    isLoadMoreVisible: boolean\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    tabText: string\n    tabColor: string\n    isTaboolaVisible: boolean\n    isLTR?: boolean\n    includeVideo: boolean\n    hideVideoAds?: boolean\n    commercialRepetitionsNum:number\n    commercialItemsNum:number\n    isMutam: boolean\n}\n\ninterface ArticleHeadllinesState {\n    articles: ArticleExtraData[]\n    pageNumber: number\n    showLoader: boolean\n    showButton: boolean\n}\n\nexport class SiteArticleHeadlinesComponenta extends React.Component<ArticleHeadlinesProps, ArticleHeadllinesState> {\n    public static siteScriptName = \"SiteArticleHeadlinesComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            articles: [],\n            pageNumber: 0,\n            showLoader: false,\n            showButton: true\n        }\n    }\n\n    componentDidUpdate(prevProps: ArticleHeadlinesProps) {\n        if (this.props.firstPageArticles !== prevProps.firstPageArticles) {\n            this.setState(\n                {\n                    articles: this.props.firstPageArticles\n                }\n            );\n        }\n    }\n\n    componentDidMount() {\n        const { categoryId } = this.props;\n        if (categoryId) {\n            this.getArticles()\n        }\n    }\n\n    private componentUId = Math.floor(Math.random() * 10000)\n\n    private getArticles = () => {\n        const { componentaId, } = this.props\n        const { pageNumber, articles } = this.state\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        this.setState(\n            {\n                articles: articles,\n                showLoader: true,\n                showButton: false\n            }\n        );\n\n\n        axiosInstance.get(`/iphone/json/api/calcalist_auto_articles/${componentaId}/${pageNumber}`)\n            .then((res: any) => {\n                const recivedArticles = res.data.data as ArticleExtraData[];\n                this.setState(\n                    {\n                        articles: [...articles, ...recivedArticles],\n                        pageNumber: pageNumber + 1,\n                        showLoader: false,\n                        showButton: recivedArticles && recivedArticles.length === this.props.numberOfVisibleItems,\n                    }\n                );\n            })\n            .catch(err => console.error(\"error geting headline data:\", err))\n    }\n\n\n\n    public render() {\n        const { isLoadMoreVisible, fieldsDisplaySettings, tabLink, tabLinkTarget, tabText, tabColor, isLTR, includeVideo, hideVideoAds } = this.props\n        const { articles, showLoader: loader, showButton } = this.state;\n        return (\n            <div className={\"CalcalistArticleHeadlinesComponenta\"}>\n                {fieldsDisplaySettings.isTabVisible && (tabText.length > 0) ? <div className=\"TabComponenta\" >\n                    <HyperLinkBuilder\n                        className=\"titleLink mainTitleLink\"\n                        href={tabLink}\n                        linkTarget={tabLinkTarget}\n                        style={{ color: tabColor }}><div className=\"mainTitleText\" >{tabText}</div></HyperLinkBuilder>\n                </div> : null\n                }\n                <CalcalistArticleHeadlinesView\n                    loader={loader}\n                    articles={articles}\n                    {...this.props}\n                    uid={`${this.componentUId}`}\n                    includeVideo={includeVideo}\n                    hideVideoAds={hideVideoAds}\n                />\n                <div className=\"ButtonAndLoaderContainer\">\n                    {loader && <Loader />}\n                    {isLoadMoreVisible  && <div className={`loadMoreButton ${showButton ? \"\" : \"hidden\"}`} onClick={() => this.getArticles()} >{isLTR ? \"Load More\" : \"טען עוד \"}</div>}\n                </div>\n            </div >\n        )\n    }\n}","require(\"./calcalist_site_articleImageSlider.less\")\nimport Slider from \"react-slick\"\nimport { imageListGalleryCalcalist } from \"./articleImageSliderEditor\";\n\ninterface ArticleImageSliderProps {\n    imageList: imageListGalleryCalcalist[]\n}\n\n\n\nfunction PrevArrow(props) {\n    const { className, style, onClick } = props;\n    return (\n        <div\n            className={className}\n            style={{ ...style, display: \"block\", height: \"40px\", width: \"40px\", content: \"<\", background: \"#b3b3b3\" }}\n            onClick={onClick}\n        />\n    );\n}\n\nfunction NextArrow(props) {\n    const { className, style, onClick } = props;\n    return (\n        <div\n            className={className}\n            style={{ ...style, display: \"block\", height: \"40px\", width: \"40px\", content: \">\", background: \"#b3b3b3\" }}\n            onClick={onClick}\n        />\n    );\n}\n\n\n\n\n\n\nexport class ArticleImageSlider extends React.Component<ArticleImageSliderProps, {}> {\n    public static siteScriptName = \"ArticleImageSlider\"\n    public render() {\n        const { imageList } = this.props;\n\n\n        let settings = {\n\n            infinite: true,\n            dots: false,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            speed: 500,\n            arrows: true,\n            rtl: false,\n            prevArrow: <PrevArrow />,\n            nextArrow: <NextArrow />\n\n\n\n        }\n        return (\n            <div className=\"article-image-slider\" style={{ width: '700px' }}>\n                <Slider {...settings}   >\n                    {imageList.map((image, i) =>\n                        <div key={i}>\n                            <img src={image.imageSrc} style={{ width: '590px', height: '320px' }} />\n                            <div className=\"slider-credit-caption\">\n                                <div className=\"slider-image-caption\">{image.caption}</div>\n                                <div className=\"slider-image-credit\">({image.credit})</div>\n                            </div>\n                        </div>\n                    )}\n                </Slider>\n            </div>\n        )\n    }\n}","import { imageListGalleryCalcalist } from \"./articleImageSliderEditor\";\nimport { MobileArticleImagesPopUp } from \"./popUpGalleryMutam\"\n\ninterface ArticleImageGalleryProps {\n    imageList: imageListGalleryCalcalist[]\n    articleTitle:string\n    articleId:string\n}\n\ninterface ArticleImageGalleryState {\n    isGalleryOpened:boolean\n}\n\n\nexport class ArticleImageGalleryMutamCalcalist extends React.Component<ArticleImageGalleryProps, ArticleImageGalleryState> {\n    public static siteScriptName = \"ArticleImageGalleryMutamCalcalist\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            isGalleryOpened:false\n        }\n    }\n    private openGallery =()=>{\n        this.setState({isGalleryOpened:true})\n    }\n    private closeGallery =()=>{\n        this.setState({isGalleryOpened:false})\n    }\n    public render() {\n        const { imageList , articleTitle, articleId} = this.props;\n        const { isGalleryOpened } = this.state;\n        const imgNum = imageList.length;\n\n        return (\n            <div className=\"ArticleImageGalleryComponenta\" >\n\n                <img src={imageList[0].imageSrc} title={imageList[0].caption} />\n                <span className=\"iconViewGallery-pf\" onClick={this.openGallery}></span>\n                <span className=\"caption-image-credits-new-design\"><b>גלריית כלכליסט:</b> {`(${imgNum} תמונות)`}</span>\n{isGalleryOpened &&   <MobileArticleImagesPopUp onClose={this.closeGallery} images={imageList} articleId={articleId} articleTitle={articleTitle} />}\n            </div>\n        )\n    }\n}","import Slider from \"react-slick\"\nimport { imageListGalleryCalcalist } from \"./articleImageSliderEditor\";\n\ninterface MobileArticleImagesGalleryProps {\n    images: imageListGalleryCalcalist[]\n    articleId: string\n    articleTitle: string\n    onClose:()=>void\n\n}\ninterface MobileArticleImagesGalleryState {\n    currentImageIndex: number\n  \n}\n\nexport class MobileArticleImagesPopUp extends React.Component<MobileArticleImagesGalleryProps, MobileArticleImagesGalleryState>{\n    constructor(props) {\n        super(props)\n        this.state = {\n            currentImageIndex: 0,\n            \n        }\n    }\n\n\n    componentDidMount() {\n       \n\n    \n    }\n\n    public swipeRight = (): void => {\n        const lastImageIndex = this.props.images.length - 1\n        const { currentImageIndex } = this.state\n        const nextImageIndex = currentImageIndex === 0 ? lastImageIndex : currentImageIndex - 1\n        analystFunc(\"Browse Right\", this.props.articleId)\n        this.setState({ currentImageIndex: nextImageIndex })\n    }\n\n    public swipeLeft = (): void => {\n        const lastImageIndex = this.props.images.length - 1\n        const { currentImageIndex } = this.state\n        const nextImageIndex = currentImageIndex === lastImageIndex ? 0 : currentImageIndex + 1\n        analystFunc(\"Browse Left\", this.props.articleId)\n        this.setState({ currentImageIndex: nextImageIndex })\n    }\n\n    private close = (): void => {\n        analystFunc(\"Close Gallery\", this.props.articleId)\n       this.props.onClose();\n    }\n\n\n\n\n\n\n\n    render() {\n        const { images } = this.props\n        const { currentImageIndex } = this.state\n        const settings = {\n            infinite: true,\n            dots: false,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            speed: 500,\n            arrows: true,\n            rtl: false,\n            touchMove: true,\n            initialSlide: currentImageIndex,\n            afterChange: (next) => this.setState({ currentImageIndex: next }),\n        }\n        let numOfImages = images.length ? images.length : 0\n        const isImageGotCaption = images && images[currentImageIndex] && images[currentImageIndex].caption\n        const isImageGotCredit = images && images[currentImageIndex] && (images[currentImageIndex].credit !== \"\") && (images[currentImageIndex].credit !== \" \")\n\n         return (\n            <div key={\"MobileArticleImagesGallery\"} role=\"dialog\"\n                aria-label=\"images gallery\"\n                id=\"images_gallery\" className=\"MobileArticleImagesGallery\"\n                onClick={close} tabIndex={0}>\n\n                <div className=\"GalleryWrapper\" onClick={e => e.stopPropagation()}>\n                    <div className={`galleryHeaderWrapper`}>\n                        <button className=\"closeBtn yicon-x\"\n                            title={__(\"Close\")} aria-label={__(\"Close\")} onClick={this.close} />\n                        {numOfImages > 1 && <div className=\"imagesCounter\">\n                            <span className=\"current\">{currentImageIndex + 1 < 10 ? `${currentImageIndex + 1}` : currentImageIndex + 1}/</span>\n                            <span className=\"totalNumOfImages\">{numOfImages < 10 ? `${numOfImages}` : numOfImages}</span>\n                        </div>}\n                       \n                    </div>\n                    <Slider {...settings} >\n                        {_.map(images, (image) =>\n                            <div className=\"imageContainer\" key={image.imageId}>\n                                <img src={image.imageSrc} role=\"image\" aria-label={image.caption} />\n                            </div>\n                        )}\n                    </Slider>\n                    <div className={`imageInfoAndShareOptions`}>\n                        <div className=\"imageInfo\">\n                            {isImageGotCaption && <div className=\"caption\">{images[currentImageIndex].caption}</div>}\n                            {isImageGotCredit && <div className=\"credit\">({images[currentImageIndex].credit})</div>}\n                        </div>\n                    </div>\n                </div>\n            </div>\n        )\n       \n    }\n}\n\nexport const analystFunc = (action: string, articleId: string) => {\n    window.dataLayer = window.dataLayer || []\n    window.dataLayer.push({\n        event: 'GA_Event',\n        Category: 'Photo Gallery',\n        Action: action,\n        Label: articleId\n    });\n}\n\n","require(\"./ctech_calcalist_site_buzzItem.less\")\nimport { isWcmEditor } from \"../../../../../config/serverConfig\"\n\nexport const BuzzItem = ({ item, position, isDotShow, isMobile }) => {\n    return (\n        <div className={isMobile?'slotItem':\"buzzItem\"}>\n            <div className=\"positionHolder\">\n                <span className=\"position\">{position}{isDotShow && `.`}</span>\n            </div>\n            <div className=\"itemTitle\" data-tb-title=\"\">\n                <a className=\"titleLink\" href={!isWcmEditor() ? item.publishedLink : \"\"} data-tb-link=\"\">\n                    {item.title}\n                </a>\n            </div>\n        </div>\n    )\n}","require(\"./ctech_calcalist_site_buzzItemsList.less\")\nimport * as map from \"lodash/map\"\nimport { BuzzItem } from \"./buzzItem\"\nimport { ExternalScriptToDivInjector } from \"../../../../../global/components/externalScriptToDivInjector/externalScriptToDivInjector\"\nimport { isWcmEditor } from \"../../../../../config/serverConfig\"\n\nexport const BuzzItemsList = ({ items, includeAd, isDotShow, isCtechMobile, isMobile }:{\n    items:any,includeAd:boolean,isDotShow:boolean,isCtechMobile:boolean,isMobile?:boolean}) => {\n    const list = map(items, (item, index) => {\n        return <BuzzItem key={index} item={item} position={index + 1} isDotShow={isDotShow} isMobile={isMobile} />\n    })\n    let new_dcPath = \"central\";\n    if (typeof window !== \"undefined\") {\n        if (window.dcPath != undefined) {\n            const path_category = window.dcPath;\n            let patch_array = path_category.split(\"-\");\n            if (patch_array[0].indexOf(\".\") !== -1) {\n                let new_string = patch_array[0].indexOf(\".\") + 1;\n                new_dcPath = patch_array[0].substring(new_string).toLowerCase();\n            }\n        }\n    }\n    return (\n        <div className=\"BuzzItemsList\">\n            {list} \n            {!isWcmEditor() && !isMobile && !isCtechMobile && includeAd && <div id={`native.text.${new_dcPath}`} className=\"calcalist_banner\"></div>}\n            {!isWcmEditor() && isCtechMobile && includeAd && <div id=\"buzz.6\" className=\"calcalist_banner show-small-vp\"></div>}\n            {!isWcmEditor() && !isCtechMobile && isMobile && includeAd && <div id=\"buzz6.mobile\" className=\"c-gpt__template show-small-vp\"></div>}\n        </div>\n    )\n}","require(\"./ctech_calcalist_site_calcalistBuzzComponenta.less\")\nimport * as classNames from \"classnames\"\nimport { BuzzItemsList } from \"./buzzItemsList\"\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\"\n\nenum BuzzTabsEnum {\n    Today,\n    Weekly\n}\n\ninterface SiteCalcalistBuzzComponentaProps {\n    upperLinkHref: string\n    bottomLinkHref: string\n    bottomLinkTitle: string\n    data: any\n    upperLinkTargetProperties: LinkTargetProperties\n    bottomLinkTargetProperties: LinkTargetProperties\n    includeAd: boolean\n}\n\ninterface SiteCalcalistBuzzComponentaState {\n    selectedTab: BuzzTabsEnum\n    wordsTranslations: any\n}\n\nexport class SiteCalcalistBuzzComponenta extends React.Component<{ isLTR?: boolean } & SiteCalcalistBuzzComponentaProps, SiteCalcalistBuzzComponentaState>{\n    static siteScriptName = \"SiteCalcalistBuzzComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            selectedTab: BuzzTabsEnum.Today,\n            wordsTranslations: {\n                \"he\": {\n                    \"Buzz\": \"באזז\",\n                    \"Daily\": \"היום\",\n                    \"Weekly\": \"השבוע\",\n                    \"Most popular\": \"הנצפות ביותר\"\n                },\n                \"en\": {\n                    \"Buzz\": \"Buzz\",\n                    \"Daily\": \"Daily\",\n                    \"Weekly\": \"Weekly\",\n                    \"Most popular\": \"Most popular\"\n                }\n\n            }\n        }\n    }\n\n\n    private onTodayTabClicked = (e) => {\n        this.setSelectedTab(BuzzTabsEnum.Today)\n    }\n\n    private onWeeklyTabClicked = (e) => {\n        this.setSelectedTab(BuzzTabsEnum.Weekly)\n    }\n\n    private setSelectedTab = (tabId: number) => {\n        this.setState({ selectedTab: tabId })\n    }\n\n    private getTranslation = (lang, text: string) => {\n        let obj = this.state.wordsTranslations[lang]\n        let textToShow = obj[text]\n        return textToShow\n    }\n\n    public render() {\n        const { selectedTab } = this.state\n        const { data, bottomLinkTitle, upperLinkHref, bottomLinkHref, upperLinkTargetProperties, bottomLinkTargetProperties, includeAd, isLTR } = this.props\n        const todayTabClassNames = classNames(\"tab\", { \"active\": selectedTab === BuzzTabsEnum.Today })\n        const weeklyTabClassNames = classNames(\"tab\", { \"active\": selectedTab === BuzzTabsEnum.Weekly })\n        const itemsToShow = selectedTab ? data[\"last_week_data\"] : data[\"last_day_data\"]\n        const componetaHeight = isLTR ? (includeAd ? 515 : 454) : (includeAd ? 385 : 338)\n        return (\n            <div className={classNames(\"CalcalistBuzzComponenta\", { \"Ctech\": isLTR })} style={{ height: componetaHeight + \"px\" }}>\n                <div className=\"upperContainer\">\n                    <div className=\"titlesWrapper\">\n                        <HyperLinkBuilder linkTarget={upperLinkTargetProperties} href={upperLinkHref} isDataTbLink>\n                            <div className=\"logo\"></div>\n                        </HyperLinkBuilder>\n                        <span className=\"mainTitle\" data-tb-title=\"\"><h3>{this.getTranslation(isLTR ? \"en\" : \"he\", \"Buzz\")}</h3></span>\n                        <span className=\"separator\"></span>\n                        <span className=\"secondaryTItle\" data-tb-description=\"\"><h3>{this.getTranslation(isLTR ? \"en\" : \"he\", \"Most popular\")}</h3></span>\n                    </div>\n                    <div className=\"tabsWrapper\">\n                        <div className={todayTabClassNames} onClick={this.onTodayTabClicked}>{this.getTranslation(isLTR ? \"en\" : \"he\", \"Daily\")}</div>\n                        <div className={weeklyTabClassNames} onClick={this.onWeeklyTabClicked}>{this.getTranslation(isLTR ? \"en\" : \"he\", \"Weekly\")}</div>\n                    </div>\n                </div>\n                <BuzzItemsList items={itemsToShow} includeAd={includeAd} isDotShow={false} isCtechMobile={false}/>\n                <div className=\"bottomLinkTitle\">\n                    <HyperLinkBuilder linkTarget={isLTR ? upperLinkTargetProperties : bottomLinkTargetProperties} href={isLTR ? upperLinkHref : bottomLinkHref} isDataTbLink>\n                        <span className=\"bottomLinkText no-small-vp\" data-tb-description=\"\">{bottomLinkTitle}</span>\n                        {isLTR && <span className=\"no-small-vp\"> </span>}\n                        {isLTR && <img className=\"buzzMoreArrow no-small-vp\" src=\"https://images1.calcalist.co.il/images/1280/Buzzmore.png\" />}\n                    </HyperLinkBuilder>\n                </div>\n            </div>\n        )\n    }\n\n}\n","\nimport * as classNames from \"classnames\"\nimport { BuzzItemsList } from \"./buzzItemsList\"\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\"\n\n\ninterface SiteMobileCalcalistBuzzComponentaProps {\n    upperLinkHref: string\n    bottomLinkHref: string\n    bottomLinkTitle: string\n    data: any\n    upperLinkTargetProperties: LinkTargetProperties\n    bottomLinkTargetProperties: LinkTargetProperties\n    includeAd: boolean\n    isMobile?:any\n}\n\nexport class SiteMobileCalcalistBuzzComponenta extends React.Component< SiteMobileCalcalistBuzzComponentaProps, {}>{\n    static siteScriptName = \"SiteMobileCalcalistBuzzComponenta\"\n    constructor(props) {\n        super(props)\n    }\n\n    public render() {\n        const { data, bottomLinkTitle, upperLinkHref, bottomLinkHref, upperLinkTargetProperties, bottomLinkTargetProperties, includeAd, isMobile } = this.props\n        const itemsToShow =  data[\"last_day_data\"]\n        const componetaHeight = includeAd ? 385 : 338;\n        return (\n            <div className={\"CalcalistBuzzMobileComponenta\"}>\n                <h2 className=\"tabComponenta\">\n                    <HyperLinkBuilder className=\"tabLink\" linkTarget={upperLinkTargetProperties} href={upperLinkHref} isDataTbLink>\n                        <div className=\"logo\"></div>\n                        <div className=\"textContainer\">\n                            <span className=\"tabTitle\">באזז</span>\n                            <span className=\"tabSubtitle\">הכתבות הנצפות ביותר</span>\n                        </div>\n                    <div className=\"arrow-icon\"></div>\n                    </HyperLinkBuilder>\n                </h2>\n                <BuzzItemsList items={itemsToShow} includeAd={includeAd} isDotShow={true} isCtechMobile={false} isMobile={isMobile} />\n            </div>\n        )\n    }\n\n}\n\n","require('./calcalist_site_loginComponenta.less')\ninterface calcalistLoginState {\n    user: { props: { firstName: string } }\n    isMenuVisible: boolean\n}\n\nexport class CalcalistLoginAndShare extends React.Component<{}, calcalistLoginState>{\n    static siteScriptName = \"CalcalistLoginAndShare\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            user: null,\n            isMenuVisible: false,\n        }\n    }\n    componentDidMount() {\n        if (window && window.calcalist && window.calcalist.user) {\n            this.setState({\n                user: window.calcalist.user\n            })\n        }\n    }\n\n    private toggleMenu = () => {\n        this.setState(pstate => {\n            return {\n                isMenuVisible: !pstate.isMenuVisible,\n            }\n        })\n    }\n\n\n    public render() {\n        const { isMenuVisible, user } = this.state\n        return (\n            <div className=\"calcalistLoginAndShare\">\n                <a className=\"userAction\" href=\"//www.facebook.com/calcalistonline\" target=\"_blank\">\n                    <span className=\"icon header-facebook\" title=\"פייסבוק\" />\n                </a>\n                <a className=\"userAction\" href=\"//twitter.com/calcalist\" target=\"_blank\">\n                    <span className=\"icon header-twitter\" title=\"טוויטר\" />\n                </a>\n                <a className=\"userAction ConfLink\" target=\"_blank\" href=\"https://www.calcalist.co.il/conference/home/0,7340,L-5144,00.html\">\n                    <span className=\"userText\" title=\"ועידות\">ועידות</span>\n                    <span className=\"icon Conf\" title=\"ועידות\" />\n                </a>\n                <a className=\"userAction RedMailLink\" href=\"https://www.calcalist.co.il/redmail\">\n                    <span className=\"userText\" title=\"דואר אדום\" >דואר אדום</span>\n                    <span className=\"icon RedMail\" title=\"דואר אדום\" />\n                </a>\n                <div className=\"calcalistLogin\">\n                    {!user &&\n                        <a className=\"login_calcalist\"\n                        href={`//www.calcalist.co.il/homenc/1,7340,L-4158,00.html`}>\n\n                            <span className=\"userLabel\">שלום אורח/ת</span>\n                            <div className=\"userLogin icon\" />\n                        </a>}\n\n                    {user &&\n                        <div className=\"loggedUser\" onClick={this.toggleMenu}>\n                            <span className=\"userLabel\"> {`שלום ${user.props.firstName}`}</span>\n                            <div className=\"userLogin icon\" />\n                        </div>\n                    }\n\n                    {isMenuVisible &&\n                        <div className=\"loginMenu\">\n                        <a href={\"//www.calcalist.co.il/home/1,7340,L-4159,00.html\"} className=\"menuOption\">פרופיל אישי</a>\n                        <a className=\"menuOption\" href={\"//www.calcalist.co.il/home/0,7340,4163,00.html\"}>תיק אישי</a>\n                            <a className=\"menuOption logout\"\n                            href=\"/Ext/App/Billing/Login/CdaRegBill_GeneralLogout/0,12660,4158,00.html?continue=https://www.calcalist.co.il/home/1,7340,L-4158,00.html&amp;history=https://www.calcalist.co.il/home/1,7340,L-4163,00.html\">\n                                התנתקות</a>\n                        </div>}\n                </div>\n            </div>\n        )\n    }\n}","require('./calcalist_site_mobileNavigation.less');\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\";\nimport { SiteSimpleImage } from \"../../../../commonComponents/inline/siteSimpleImage\";\nimport * as classNames from \"classnames\"\nimport { isWcmEditor } from \"../../../../../config/serverConfig\";\nimport throttle = require(\"lodash/throttle\");\n\n\ninterface CalcalistMobileNavigationComponentaState {\n    user: { firstName: string }\n    isMenuVisible: boolean\n    isUserSubscribed: boolean\n    isSticky: boolean\n    bodyOverflowState: string\n}\n\n\nexport interface MobileNavigationMenuItem {\n    id: string\n    name: string\n    url: string\n    link: string\n    catId: string\n    targetLink?: LinkTargetProperties\n}\n\n\ninterface CalcalistMobileNavigationComponentaProps {\n    menuItems?: MobileNavigationMenuItem[]\n    categoryName: string\n}\n\ntype PianoResponse = {\n    user: { firstName: string }\n    token: string\n}\n\n\nexport class CalcalistMobileNavigationComponenta extends React.Component<CalcalistMobileNavigationComponentaProps & { isPiano: boolean }, CalcalistMobileNavigationComponentaState>{\n    constructor(props) {\n        super(props);\n        if (typeof window != 'undefined') {\n            window.tp = window.tp || [];\n        }\n        this.state = {\n            isMenuVisible: false,\n            isSticky: false,\n            bodyOverflowState: '',\n            user: null,\n            isUserSubscribed: false\n        };\n    }\n\n    static siteScriptName = \"CalcalistMobileNavigationComponenta\"\n\n    private toggleUserMenu = () => {\n        this.setState(prevState => ({ isMenuVisible: !prevState.isMenuVisible }), () => {\n            if (this.state.isMenuVisible) {\n                this.setState({ bodyOverflowState: document.querySelector(\"body\").style.overflow });\n                document.querySelector(\"body\").style.overflow = \"hidden\";\n            } else {\n                document.querySelector(\"body\").style.overflow = this.state.bodyOverflowState;\n            }\n        })\n    }\n\n    private activateStickyHeader() {\n        if (!isWcmEditor()) {\n            const headerPos = document.querySelector(\".calcalist-mobile-navigation\").getBoundingClientRect().top\n            if (headerPos < 0) {\n                this.setState({ isSticky: true })\n            } else {\n                this.setState({ isSticky: false })\n            }\n        }\n    }\n\n    componentDidMount() {\n\n        window.tp.push([\"init\", () => {\n\n            const user = window && window.tp && window.tp.pianoId.getUser();\n\n            if (user) {\n                this.setUserSubscriptionStatus(window.tp, user)\n            }\n        }])\n\n        document.addEventListener(\"scroll\", this.throttledScrollHandler())\n        this.activateStickyHeader();\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener(\"scroll\", this.throttledScrollHandler())\n    }\n\n    private throttledScrollHandler = () => throttle(() => this.activateStickyHeader(), 200)\n\n    private discconectUser = () => {\n        window.tp.pianoId.logout();\n        this.setState({ user: null, isUserSubscribed: false });\n        this.toggleUserMenu();\n    }\n\n    public loginUser = () => {\n\n        const tp = window.tp || [];\n\n        tp.push([\"init\", () => {\n            tp.pianoId.show({\n                width: \"360\",\n                screen: 'login',\n                loggedIn: (data: PianoResponse) => {\n                    console.log('user ', data.user, ' logged in with token', data.token);\n                    this.setUserSubscriptionStatus(tp, data.user);\n                },\n                loggedOut: function () {\n                    console.log('user logged out');\n                }\n            });\n        }]);\n\n        if (typeof window !== \"undefined\") {\n            window.dataLayer = window.dataLayer || []\n            window.dataLayer.push({\n                event: 'GA_Events',\n                Category: 'CalcalistPro - UserMenu',\n                Action: 'Guest user',\n                Label: 'Connect to account'\n            });\n        }\n\n        this.toggleUserMenu();\n    }\n\n    private setUserSubscriptionStatus = (tp, user) => {\n        tp.api.callApi(\"/access/list\", {}, (response) => {\n            this.setState({ user: user, isUserSubscribed: response.count > 0 });\n        });\n    }\n\n\n    private handleMenuItem =(itemName)=>{\n        const { user, isUserSubscribed } = this.state\n        let action:string;\n\n        if(!user){\n            action = \"Guest user\"\n        }else{\n            action = isUserSubscribed?\"Logged user with subscription\": \"Logged user without subscription\";\n        }\n\n        if (typeof window !== \"undefined\") {\n            window.dataLayer = window.dataLayer || []\n            window.dataLayer.push({\n                event: 'GA_Events',\n                Category: 'CalcalistPro - UserMenu',\n                Action: action,\n                Label: itemName\n            });\n        }\n\n    }\n\n\n    render() {\n        const { menuItems, isPiano, categoryName } = this.props;\n        const { isMenuVisible, isSticky, user, isUserSubscribed } = this.state;\n        const isApp = typeof window !== \"undefined\" && window.location.href.indexOf(\"IsApp\") != -1;\n        if(isApp) return null;\n        else  return (\n            <div className=\"show-small-vp\">\n                <header className={classNames(\"CalcalistMobileNavigation\", { \"sticky-header\": isSticky })}>\n                    <nav>\n                        <h3> {categoryName} </h3>\n\n                        <div className={classNames(\"CalcalistMobileNavigationWrapper\", { \"FloatToLeft\": !isPiano })}>\n                            {isPiano && <div onClick={this.toggleUserMenu} className={classNames(user ? \"CalcalistLoggedUserIcon\" : \"CalcalistUserIcon\")} />}\n                            <a href=\"https://www.calcalist.co.il\"><div className=\"CalcalistLogo\" /></a>\n                        </div>\n                    </nav>\n                </header>\n                <div className={classNames(\"CalcalistMobileNavigationMenu\", isMenuVisible && \"CalcalistMobileNavigationMenuShow\", { \"sticky-menu\": isSticky })}>\n                    {user && <div className={classNames(\"CalcalistMobileNavigationMenuItem CalcalistMobileNavigationMenuItemLoggedUser\")}>\n                        <span className=\"CalcalistMobileNavigationMenuItemText\">שלום</span>  <span className=\"CalcalistMobileNavigationMenuItemTextUser\">{user.firstName}</span>\n                    </div>}\n                    {user && !isUserSubscribed && <div className={classNames(\"CalcalistMobileNavigationMenuItem\", \"subscribed-item\")}>\n                        <span className=\"CalcalistMobileNavigationMenuItemSubscribeText\">רכישת מנוי</span>\n                        <div className=\"CalcalistSubscribeIcon\"></div>\n                    </div>}\n                    {!user && <div onClick={this.loginUser} className=\"CalcalistMobileNavigationMenuItem\">\n                        <span className=\"CalcalistMobileNavigationMenuItemText\">התחברות</span>\n                        <div className=\"CalcalistUserConenctIcon\"></div>\n                    </div>}\n                    {user && <a href=\"https://qa.calcalist.co.il/category/31602\" onClick={()=>this.handleMenuItem(\"ניהול חשבון\")} className={classNames(\"CalcalistMobileNavigationMenuItem\")}>\n                        <span className=\"CalcalistMobileNavigationMenuItemText\">ניהול חשבון</span>\n                        <div className=\"CalcalistUserManageIcon\"></div>\n                   </a>}\n                    {!!menuItems.length && menuItems.map((item) => {\n                        return (\n                            <div key={item.id} className=\"CalcalistMobileNavigationMenuItem\"  onClick={()=>this.handleMenuItem(item.name)}>\n                                <HyperLinkBuilder className=\"CalcalistMobileNavigationMenuItemText\" href={item.link} linkTarget={item.targetLink}>\n                                    {item.name}\n                                </HyperLinkBuilder>\n                                <SiteSimpleImage src={item.url} className=\"icon-container\" />\n                            </div>\n                        )\n                    })}\n                    {user && <div onClick={this.discconectUser} className=\"CalcalistMobileNavigationMenuItem\">\n                        <span className=\"CalcalistMobileNavigationMenuItemText\">התנתקות</span>\n                        <div className=\"CalcalistUserDisconenctIcon\"></div>\n                    </div>}\n                    <div onClick={this.toggleUserMenu} className=\"CalcalistMobileNavigationMenuItem\">\n                        <div className=\"closeArrowIcon\" />\n                    </div>\n                </div>\n                <div className={classNames({ \"CalcalistMobileNavigationBlurScreen\": isMenuVisible })}></div>\n            </div>\n        )\n    }\n}\n\n","require(\"./calcalist_site_newsLetterComponenta.less\")\nimport * as axios from \"axios\";\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport { isWcmEditor } from \"../../../../../config/serverConfig\"\nimport { CalcalistNewsLetterItem } from \"./calcalistNewsLetterItem\";\nimport { cloningPage } from \"../../../../../config/apiUrls\"\n\n\ninterface CalcalistNewsLetterComponentItem {\n    slotId: string\n    imgUrl: string\n    title: string\n    subTitle: string\n    frequency: string\n    itemId: string\n}\n\ninterface CalcalistNewsLetterComponentaProps {\n    newsLetterItems: CalcalistNewsLetterComponentItem[]\n}\n\ninterface CalcalistNewsLetterComponentState {\n    customFields: {}\n    email: string\n    currentUser: Object\n}\n\nexport class CalcalistNewsLetterComponenta extends React.Component<CalcalistNewsLetterComponentaProps, CalcalistNewsLetterComponentState>{\n\n    public static siteScriptName = \"CalcalistNewsLetterComponenta\";\n    public formName = \"newsletter_form\";\n    constructor(props) {\n        super(props);\n\n        if (typeof window !== 'undefined') {\n            window.tp = window.tp || [];\n        }\n\n        this.state = {\n            currentUser: null,\n            email: \"\",\n            customFields: {},\n        };\n\n    }\n\n    componentDidMount() {\n        this.getCustomFieldsOnMount();\n    }\n\n    getCustomFieldsOnMount() {\n        window.tp.push([\"init\", () => {\n            const user = window && window.tp && window.tp.pianoId.getUser();\n            const customFields = {};\n            let parsedItemValue: boolean;\n            if (user) {\n                window.tp.pianoId.loadExtendedUser({\n                    extendedUserLoaded: (data) => {\n                        if (data && Object.entries(data).length !== 0) {\n                            data.custom_field_values.map(fieldItem => {\n                                parsedItemValue = fieldItem.value === '' ? false : JSON.parse(fieldItem.value.toLowerCase());\n                                customFields[fieldItem.field_name] = parsedItemValue;\n                            })\n                            this.setState({ email: user.email, customFields:customFields, currentUser: user })\n                        }\n                    }, formName: this.formName\n                });\n            }\n        }]);\n    }\n\n\n\n    public render() {\n        const { newsLetterItems } = this.props;\n        const { email, customFields } = this.state;\n        const emailText = email ? `הניוזלטר יגיע אליכם לדוא\"ל &nbsp;<span>${email}</span>` : \"&nbsp;\"; // for line height \n        \n        return (\n            <div className=\"CalcalistNewsLetterComponenta\">\n                <div className=\"CalcalistNewsLetterHeader\">\n                    <div className=\"headerImage\"></div>\n                    <div className=\"headerTitle\">הרשמו לניוזלטרים שלנו ותישארו מעודכנים בכל הדברים החשובים והמעניינים שקורים בזירה הכלכלית</div>\n                    <div className=\"headerSubTitle\" dangerouslySetInnerHTML={{ __html: emailText }}></div>\n                </div>\n                <div className=\"separator\"></div>\n                <div className=\"itemsList\">\n                    {_.map(newsLetterItems, item => <CalcalistNewsLetterItem key={item.slotId} {...item} isPinaoSubscribed={customFields[item.itemId]}  />)}\n                </div>\n            </div>\n        )\n    }\n}\n","require(\"./calcalist_site_newsLetterComponenta.less\");\nimport * as axios from \"axios\";\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\";\nimport { isWcmEditor } from \"../../../../../config/serverConfig\";\n\nconst ApiUrl =\"https://qa-primium.ynet.co.il/manager/api/Webhooks/UpdateCustomFields\";\nconst subscribeText = \"הרשמה\";\nconst unSubscribeText = \"הסרה\";\n\ninterface CalcalistNewsLetterItemProps {\n  slotId: string;\n  imgUrl: string;\n  title: string;\n  subTitle: string;\n  frequency: string;\n  itemId: string;\n  isPinaoSubscribed: boolean;\n}\n\ninterface CalcalistNewsLetterItemState {\n  registrationStatus: RecivedSubscriptoinStatus;\n  loading: boolean;\n}\n\nenum RecivedSubscriptoinStatus{\n  notSent = 0,\n  registered = 1,\n  unRegistered = 2\n}\n\nexport class CalcalistNewsLetterItem extends React.Component<CalcalistNewsLetterItemProps,CalcalistNewsLetterItemState> {\n\n  constructor(props) {\n    super(props);\n    this.state = {\n      registrationStatus: RecivedSubscriptoinStatus.notSent,\n      loading: false,\n    };\n  }\n\n  private isUserCurrentlySubscribed=(registrationStatus:RecivedSubscriptoinStatus)=>{\n    const {isPinaoSubscribed} = this.props;\n    return registrationStatus === RecivedSubscriptoinStatus.notSent ? isPinaoSubscribed : registrationStatus === RecivedSubscriptoinStatus.registered\n  }\n\n  setActionButtonName = (): string => {\n    let isSubscribed = this.isUserCurrentlySubscribed(this.state.registrationStatus);\n    return isSubscribed ? unSubscribeText : subscribeText;\n  };\n\n  handleActionButton = (title: string) => {\n    const isSubscribed=this.isUserCurrentlySubscribed(this.state.registrationStatus);\n    if (!window.tp.pianoId.getUser()) {\n      window.tp.pianoId.show({\n        loggedIn: function (data) {},\n      });\n    } else {\n      this.updatePianoCustomField();\n      window.dataLayer = window.dataLayer || []\n      window.dataLayer.push({\n          event: 'GA_Events',\n          Category: 'Newsletter',\n          Action: title,\n          Label: isSubscribed ? \"Unsubscribe\" : \"Subscribe\"\n      });\n    }\n  };\n\n  handleButtonStyle = (buttonText: string) => {\n    if (buttonText === subscribeText) {\n      return {\n        \"--btn-bg-color\": \"#13B7B1\",\n        \"--btn-color\": \"#fff\",\n        \"--btn-border-color\": \"initial\",\n      };\n    } else {\n      return {\n        \"--btn-bg-color\": \"#fff\",\n        \"--btn-color\": \"#13B7B1\",\n        \"--btn-border-color\": \"#13B7B1\",\n      };\n    }\n  };\n\n  updatePianoCustomField = () => {\n    const isSubscribed=this.isUserCurrentlySubscribed(this.state.registrationStatus);\n    this.setState({ loading: true }, () => {\n      let data = {\n        UserId: window.tp.pianoId.getUser().uid,\n        CustomFieldsValues: [\n          {\n            CFName: this.props.itemId,\n            CFValue: `${!isSubscribed}`,\n          },\n        ],\n      };\n\n      axios.post(ApiUrl,data)\n        .then((response: any) => {\n          if (response.data.code === 0) {\n            this.setState((prevState)=>{\n              const isUserCurrentlySubscribed=this.isUserCurrentlySubscribed(prevState.registrationStatus);\n              let registrationStatus=isUserCurrentlySubscribed?RecivedSubscriptoinStatus.unRegistered:RecivedSubscriptoinStatus.registered;\n              return {registrationStatus, loading: false}\n              });\n          }\n        })\n        .catch(() => {\n          this.setState({ loading: false });\n        });\n    });\n  };\n\n\n\n  public render() {\n    const { imgUrl, title, subTitle, frequency } = this.props;\n    const { registrationStatus, loading } = this.state;\n    const isSubscribed=this.isUserCurrentlySubscribed(registrationStatus);\n\n    return (\n      <div className=\"newsLetterItem\">\n        <div className=\"newsLetterItemImage\">\n          <SiteSimpleImage src={imgUrl} />\n        </div>\n        <div className=\"newsLetterItemBody\">\n          <div className={\"newsLetterItemTitle\"}>{title}</div>\n          <div className={\"newsLetterItemSubTitle\"}>{subTitle}</div>\n          <div className=\"newsLetterItemBottom\">\n            <button\n              className=\"newsLetterItemRegisterButton\"\n              style={this.handleButtonStyle(\n                isSubscribed ? unSubscribeText : subscribeText\n              )}\n              disabled={isWcmEditor() || loading}\n              onClick={() => this.handleActionButton(title)}\n            >\n              {loading ?  <div className=\"custom-loader\"></div> : this.setActionButtonName()}\n            </button>\n            <div className=\"newsLetterItemFrequency\">{frequency}</div>\n          </div>\n        </div>\n      </div>\n    );\n  }\n}\n","require(\"./calcalist_site_newsLetterNativeComponenta.less\")\nimport { CalcalistNewsLetterNativeItem } from \"./calcalistNewsLetterNativeItem\";\nimport { CalcalistNewsLetterNativeRegisterPopup } from \"./calcalistNewsLetterNativeRegisterPopup\"\nimport { isWcmEditor } from \"../../../../../config/serverConfig\"\n\n\nenum AppStates {\n    NewsLetterScreen, RegisterScreen\n}\n\nexport  interface CalcalistNewsLetterNativeComponentItem {\n    slotId: string\n    imgUrl: string\n    title: string\n    subTitle: string\n    frequency: string\n    groupId: string\n    mailingListId:string\n}\n\ninterface CalcalistNewsLetterNativeComponentaProps {\n    newsLetterItems: CalcalistNewsLetterNativeComponentItem[]\n    componentaId: string\n    generalGroupId:string\n}\n\ninterface CalcalistNewsLetterNativeComponentState {\n    selectedItems: { [key: string]: CalcalistNewsLetterNativeComponentItem };\n    state: AppStates\n    bodyOverflow:string\n}\n\nexport class CalcalistNewsLetterNativeComponenta extends React.Component<CalcalistNewsLetterNativeComponentaProps, CalcalistNewsLetterNativeComponentState>{\n\n    public static siteScriptName = \"CalcalistNewsLetterNativeComponenta\";\n\n    constructor(props) {\n        super(props);\n        this.state = {\n            selectedItems: {},\n            state: AppStates.NewsLetterScreen,\n            bodyOverflow:''\n        };\n\n    }\n\n    componentDidMount() {\n        this.setState({ bodyOverflow: document.body.style.overflow })\n    }\n\n\n    handleNewsletterItem = (selectedItem : CalcalistNewsLetterNativeComponentItem) => {\n        this.setState((prevState: CalcalistNewsLetterNativeComponentState): Partial<CalcalistNewsLetterNativeComponentState> => {\n            const { selectedItems } = prevState;\n            let updatedSelectedItems = null;\n            if (_.has(selectedItems,[selectedItem.slotId])){\n                 updatedSelectedItems = _.omit(selectedItems, [selectedItem.slotId]); \n            }else{\n                updatedSelectedItems = {...selectedItems,[selectedItem.slotId]:selectedItem}\n            }\n            return {\n              selectedItems: updatedSelectedItems,\n            };\n          });\n    }\n\n    handleOnRegisterBtn = () => {\n        this.setState({ state: AppStates.RegisterScreen })\n        document.body.style.overflow = 'hidden'; \n\n    }\n\n\n    handleCloseRegisterPopup =()=>{\n        this.setState({ state: AppStates.NewsLetterScreen })\n        document.body.style.overflow = this.state.bodyOverflow; \n    }\n\n\n    public render() {\n        const { newsLetterItems, componentaId ,generalGroupId } = this.props;\n        const { selectedItems, state } = this.state;\n\n        return (\n                    <div className=\"CalcalistNewsLetterNativeComponenta\">\n                        <div className=\"CalcalistNewsLetterNativeHeader\">\n                            <div className=\"headerImage\"></div>\n                            <div className=\"separator\"></div>\n                            <div className=\"headerTitle no-small-vp\">סמנו את הניוזלטרים שמעניינים אתכם, הירשמו ותקבלו אותם ישירות לתיבת המייל שלכם</div>\n                            {!isWcmEditor() && <div className=\"headerTitle show-small-vp\">סמנו והירשמו לכל הניוזלטרים שמעניינים אתכם</div>}\n                        </div>\n                        <div className=\"itemsList\">\n                            {_.map(newsLetterItems, item => <CalcalistNewsLetterNativeItem isChecked={_.has(selectedItems,[item.slotId])} onChange={() => this.handleNewsletterItem(item)} key={item.slotId} {...item} />)}\n                        </div>\n                        <button disabled={isWcmEditor() || !_.keys(selectedItems).length} type=\"submit\" onClick={this.handleOnRegisterBtn} className=\"registerButton\">הרשמה</button>\n                        {state === AppStates.RegisterScreen && <CalcalistNewsLetterNativeRegisterPopup generalGroupId={generalGroupId} componentaId={componentaId} selectedItems={selectedItems} onClose={this.handleCloseRegisterPopup} />}\n                    </div>        \n        )\n    }\n}\n","require(\"./calcalist_site_newsLetterNativeComponenta.less\");\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\";\nimport { isWcmEditor } from \"../../../../../config/serverConfig\";\nimport classNames = require(\"classnames\");\n\n\n\ninterface CalcalistNewsLetterNativeItemProps {\n  slotId: string;\n  imgUrl: string;\n  title: string;\n  subTitle: string;\n  frequency: string;\n  groupId: string;\n  onChange : (selectedItem:string)=> void\n  isChecked : boolean\n}\n\n\nconst CalcalistNewsLetterNativeItemCheckbox=({isChecked,onChange})=>{\n  return(\n    <div className=\"custom-checkbox\">\n        <input onChange={onChange} type=\"checkbox\" checked={isChecked}></input>\n        <span className=\"custom-checkbox-box\"></span>\n    </div>\n  )\n}\n\nexport class CalcalistNewsLetterNativeItem extends React.Component<CalcalistNewsLetterNativeItemProps, {}> {\n\n  constructor(props) {\n    super(props);\n  }\n\n  public render() {\n    const { imgUrl, title, subTitle, frequency, groupId, onChange, isChecked } = this.props;\n    const isFrequency = frequency !== 'ללא'\n    return (\n      <div className={classNames(\"newsLetterItem\",{'checked':isChecked})} onClick={isWcmEditor()?null:()=>onChange(groupId)}>\n       <CalcalistNewsLetterNativeItemCheckbox onChange={()=>onChange(groupId)} isChecked={isChecked} />\n        <div className=\"newsLetterHeadear\">\n          <div className={\"newsLetterItemTitle\"}>{title}</div>\n        </div>\n\n        <div className=\"newsLetterItemBody\">\n          <div className=\"newsLetterItemImage\">\n            <SiteSimpleImage src={imgUrl} />\n          </div>\n          <div className={\"newsLetterItemSubTitle\"}>{subTitle}</div>\n         { isFrequency && <div className=\"newsLetterItemFrequency\"><span className=\"divider\"></span><span className=\"text\">{`עדכון ${frequency}`}</span><span className=\"divider\"></span></div>}\n        </div>\n      </div>\n    );\n  }\n}\n","import classNames = require(\"classnames\");\nimport { useState } from \"react\";\nimport { isMobile } from \"utils/isMobile\"\nimport * as axios from \"axios\"\nimport { CalcalistNewsLetterNativeComponentItem } from \"./calcalistNewsLetterNativeComponenta\";\n\ndeclare var grecaptcha: any\ndeclare var window: any\n\n\n\nexport const CalcalistNewsLetterNativeRegisterPopup = ({ onClose, selectedItems, componentaId, generalGroupId }) => {\n    const [isRegisterSuccesss, setRegisterSuccess] = useState(false);\n    const [inputsData, setInputData] = useState({});\n    const activeTrailGeneralGroup = generalGroupId || 579;\n\n    const handleRegisterUserToNewsletter = (e: React.MouseEvent) => {\n        e.preventDefault();\n        const isTest = window.location.search.includes(\"is_test=1\");\n        if (isTest) {\n            sendPostRequests(\"\", true);\n        } else if (validateForm()) {\n            if (window.wcmCaptchaSiteKey && grecaptcha) {\n                grecaptcha.ready(() => {\n                    grecaptcha.execute(window.wcmCaptchaSiteKey, { action: 'submit' }).then(token => {\n                        sendPostRequests(token, false);\n                    })\n                })\n            }\n        }\n    }\n\n    const sendPostRequests = async (token: string, isTest: boolean) => {\n        try {\n            const mailingListIds = Object.values(selectedItems).map((item: CalcalistNewsLetterNativeComponentItem) => item.mailingListId).join(',');\n            let postData = {\n                groupId: parseInt(activeTrailGeneralGroup),\n                mailingListId: mailingListIds || \"\",\n                email: inputsData['email'],\n                token,\n            }\n            const response = await axios.post(`/api/newsletter/${componentaId}/subscribeToGroup${isTest ? \"?is_test=1\" : \"\"}`, postData)\n            if (response && response.status === 200) {\n                setRegisterSuccess(true);\n            }\n        } catch (error) {\n            console.error('Error in sending requests:', error);\n        }\n    }\n\n    const onChangeInputFieldHandler = (inputElement) => {\n        if (inputElement.name === 'checkbox') {\n            setInputData(prevState => ({ ...prevState, [inputElement.name]: inputElement.checked }));\n            inputElement.parentElement.classList.remove('error');\n        } else {\n            setInputData(prevState => ({ ...prevState, [inputElement.name]: inputElement.value }));\n            inputElement.classList.remove('error');\n        }\n    }\n\n    const validationRules = {\n        email: [\n            { validator: value => value.trim() !== '' },\n            { validator: value => /\\S+@\\S+\\.\\S+/.test(value) }\n        ],\n        phone: [\n            { validator: value => value.trim() !== '' },\n            { validator: value => /^((\\+972|972)|0)( |-)?([1-468-9]( |-)?\\d{7}|(5|7)[0-9]( |-)?\\d{7})$/i.test(value) }\n        ],\n        checkbox: [\n            { validator: (value) => value }\n        ]\n    };\n\n    const showErrorField = (fieldName) => {\n        const elementInput = document.querySelector(`input[name='${fieldName}']`);\n        const field = fieldName === 'checkbox' ? elementInput.parentElement : elementInput\n        field.classList.add('error');\n    }\n\n    const validField = (fieldName) => {\n        let fieldValid = true;\n        const inputElement = (document.querySelector(`input[name='${fieldName}']`) as HTMLInputElement);\n        const fieldValue = fieldName === 'checkbox' ? inputElement.checked : inputElement.value\n        for (const rule of validationRules[fieldName]) {\n            if (!rule.validator(fieldValue)) {\n                fieldValid = false;\n                showErrorField(fieldName);\n            }\n        }\n        return fieldValid;\n    }\n\n    const validateForm = () => {\n        let formValid = true;\n        for (const fieldName in validationRules) {\n            if (fieldName === 'checkbox' && isMobile()) continue;\n            if (!validField(fieldName)) {\n                formValid = false;\n            }\n        }\n        return formValid;\n    }\n\n    return (\n        <div className=\"CalcalistNewsLetterNativeRegisterPopup\">\n            <div className=\"modal\">\n                <div className={classNames('popup-content', { 'show': !isRegisterSuccesss })}>\n                    <span onClick={onClose} className=\"x-icon\"></span>\n                    <p className=\"main-title\">\n                        הירשמו לניוזלטרים\n                        של כלכליסט\n                    </p>\n                    <div className=\"form\">\n                        <input onChange={(e) => onChangeInputFieldHandler(e.target as HTMLInputElement)} placeholder=\"מייל\" type=\"email\" name=\"email\"></input> <br />\n                        <input onChange={(e) => onChangeInputFieldHandler(e.target as HTMLInputElement)} placeholder=\"טלפון\" type=\"phone\" name=\"phone\"></input>\n                        <button onClick={handleRegisterUserToNewsletter} type=\"submit\">שליחה</button>\n                        <div className=\"terms\">\n                            <div className=\"custom-checkbox no-small-vp\">\n                                <input onChange={(e) => onChangeInputFieldHandler(e.target as HTMLInputElement)} type=\"checkbox\" name=\"checkbox\" id=\"terms-checkbox\"></input>\n                                <label className=\"terms-checkbox\" htmlFor=\"terms-checkbox\"></label>\n                            </div>\n                            <label className=\"term-text no-small-vp\">\n                                מסכים/ה <a href=\"https://www.calcalist.co.il/home/0,7340,L-3856,00.html\">לתנאי השימוש</a>, ל<a href=\"https://www.calcalist.co.il/home/0,7340,L-3855,00.html\">מדיניות הפרטיות</a> ולקבלת פניות שיווקיות\n                                מ-ynet כולל טלפוניות, מבלי שהנ״ל מהווה הסכמה לעריכת עסקה\n                            </label>\n\n                            <label className=\"term-text show-small-vp\">\n                                בעת הוספת הפרטים הינני מסכים/ה <a href=\"https://www.calcalist.co.il/home/0,7340,L-3856,00.html\">לתנאי השימוש</a>, <a href=\"https://www.calcalist.co.il/home/0,7340,L-3855,00.html\">מדיניות הפרטיות</a> ולקבלת פניות שיווקיות מ-ynet כולל טלפוניות, מבלי שהנ״ל מהווה הסכמה לעריכת עסקה\n                            </label>\n\n                        </div>\n                    </div>\n                </div>\n                <div className={classNames('popup-content-success', { 'show': isRegisterSuccesss })}>\n                    <div className=\"success-icon\"></div>\n                    <p className=\"success-title\">נרשמת בהצלחה!</p>\n                    <p className=\"success-sub-title\">הכתבות הכי חמות כבר בדרך אליך.</p>\n                    <a href=\"https://www.calcalist.co.il\" className=\"return-button\">לדף הבית</a>\n                </div>\n            </div>\n        </div>\n    )\n}","import { useState } from \"react\";\nimport CalcalistPaywallCheckoutPlans, { SubscriptionPlan } from \"./calcalistPaywallCheckoutPlans\";\nimport CalcalistPaywallCheckoutPersonalDetails from \"./calcalistPaywallCheckoutPersonalDetails\";\nimport CalcalistPaywallCheckoutMultiStepsProgressbar from \"./multiStepProgressbar/calcalistPaywallCheckoutMultiStepsProgressbar\";\nimport CalcalistPaywallCheckoutPaymentDetails from \"./calcalistPaywallCheckoutPaymentDetails\";\nimport CalcalistPaywallCheckoutFinish from \"./calcalistPaywallCheckoutPaymentFinish\"\nexport const CalcalistPaywallCheckoutComponenta = () => {\n\n    const [currentStepIndex, setCurrentStepIndex] = useState<number>(0);\n    const [selectedPlan, setPlan] = useState<SubscriptionPlan>(null);\n\n    enum CheckoutStep {\n        SELECT_PLAN = \"בחירת מסלול\",\n        PERSONAL_DETAILS = \"פרטים אישיים\",\n        PAYMENT_DETAILS = \"פרטי תשלום\",\n        FINISH = \"סיום\",\n    }\n\n    const steps = Object.values(CheckoutStep);\n\n\n    const nextStep = () => {\n        setCurrentStepIndex(Math.min(currentStepIndex + 1, steps.length - 1));\n    };\n\n    const prevStep = () => {\n        setCurrentStepIndex(Math.max(currentStepIndex - 1, 0));\n    };\n\n    const renderStepContent = () => {\n        switch (steps[currentStepIndex]) {\n            case CheckoutStep.SELECT_PLAN:\n                return <CalcalistPaywallCheckoutPlans nextStep={nextStep} setPlan={setPlan} />;\n            case CheckoutStep.PERSONAL_DETAILS:\n                return <CalcalistPaywallCheckoutPersonalDetails nextStep={nextStep} prevStep={prevStep} />;\n            case CheckoutStep.PAYMENT_DETAILS:\n                return <CalcalistPaywallCheckoutPaymentDetails nextStep={nextStep} prevStep={prevStep} selectedPlan={selectedPlan} />;\n            case CheckoutStep.FINISH:\n                return <CalcalistPaywallCheckoutFinish nextStep={nextStep} />;\n            default:\n                return null;\n        }\n    };\n\n\n\n    return (\n        <div className=\"CalcalistPaywallCheckoutComponenta\">\n            <div className={`gradient-background ${Object.keys(CheckoutStep)[currentStepIndex] || ''}`}></div>\n            <div className=\"calcalist-logo-container\">\n                <div className=\"calcalist-logo\"></div>\n                <div className=\"calcalist-digital-edition-text\">המהדורה הדיגיטלית</div>\n            </div>\n            <CalcalistPaywallCheckoutMultiStepsProgressbar steps={steps} currentStepIndex={currentStepIndex} />\n            {renderStepContent()}\n        </div>\n    )\n}\n\nCalcalistPaywallCheckoutComponenta.siteScriptName = \"CalcalistPaywallCheckoutComponenta\"\n","import { useRef, useEffect } from \"react\";\nimport { usePurchase } from \"../../../../../../global/paywall/usePurchase\";\nimport { SubscriptionPlan } from \"./calcalistPaywallCheckoutPlans\"\n\ninterface CalcalistPaywallCheckoutPaymentDetailsProps {\n    nextStep: () => void\n    selectedPlan: SubscriptionPlan\n}\n\nconst CalcalistPaywallCheckoutPaymentDetails = (props: CalcalistPaywallCheckoutPaymentDetailsProps) => {\n    const {selectedPlan} = props;\n    const { purchaseStatus, paymentUrl, error, resetPurchase } = usePurchase(selectedPlan.productUniqueId);\n    const iframeRef = useRef<HTMLIFrameElement>(null);\n    const { title = \"Default Title\", price = 0 } = props.selectedPlan || {};\n\n    useEffect(() => {\n        if (purchaseStatus === \"completed\") {\n            props.nextStep()\n        }\n    }, [purchaseStatus])\n    \n    return (\n        <div className=\"CalcalistPaywallCheckoutPaymentDetails\">\n            <h1 className=\"title\">פרטי תשלום</h1>\n            <div className=\"payment-details-container\">\n                <div className=\"payment-details-checkout\">\n                    <div className=\"payment-details-plan\">\n                        <div className=\"row\"><span>מנוי</span><span>{title}</span></div>\n                        <div className=\"row\"><span>תשלום</span><span>{price.toFixed(2)} ש\"ח</span></div>\n                    </div>\n                    <div className=\"checkout-summary\">\n                        <div className=\"row bold\"> <span>לחיוב</span><span>{price.toFixed(2)} ש\"ח</span></div>\n                    </div>\n                </div>\n                <div className=\"vertivcal-separator\"></div>\n                <div className=\"creditcard-details-container\">\n                    <iframe ref={iframeRef as any} src={paymentUrl} />\n                </div>\n\n            </div>\n\n        </div>\n    );\n};\n\nexport default CalcalistPaywallCheckoutPaymentDetails;","\n\ninterface CalcalistPaywallCheckoutFinishProps {\n\n}\n\n\nconst CalcalistPaywallCheckoutFinish = (props: CalcalistPaywallCheckoutFinishProps) => {\n\n    return (\n        <div className=\"CalcalistPaywallCheckoutFinish\">\n            <h1 className=\"title\">הרכישה הושלמה!</h1>\n            <div className=\"main-container\">\n                <div className=\"finish-logo\"></div>\n                <div className=\"finish-text\">\n                    תודה שעשיתם מינוי לעיתון הדיגיטלי של כלכליסט.\n                    מוזמנים לעבור למהדורה וליהנות מתוכן מעולה!\n                </div>\n                <button className=\"finish-button\">לקריאת המהדורה</button>\n            </div>\n            <div className=\"checkout-finish-logo\"></div>\n        </div>\n    );\n};\n\nexport default CalcalistPaywallCheckoutFinish;","import { useState, useEffect } from \"react\";\nimport * as classNames from \"classnames\"\nimport { getPersonalCustomerDetails, updatePersonalCustomerDetails } from \"../../../../../../global/paywall/paywallApiUrls\";\nimport * as axios from \"axios\";\ninterface CalcalistPaywallCheckoutPersonalDetailsProps {\n    nextStep: () => void\n}\n\n\ninterface CalcalistPaywallAccessDataResponse {\n    data: {\n        id: number;\n        email: string;\n        firstName: string | null;\n        lastName: string | null;\n        personalId: string | null;\n        phoneNumber: string | null;\n    };\n    requestId: string;\n    error: any;\n}\n\n\nconst CalcalistPaywallCheckoutPersonalDetails = (props: CalcalistPaywallCheckoutPersonalDetailsProps) => {\n    const { nextStep } = props;\n\n\n\n    const [formData, setFormData] = useState<any>({\n        email: { id: 1, name: \"email\", type: \"text\", label: \"משתמש\", disabled: true, order: 1, value: \"\" },\n        firstname: { id: 2, name: \"firstname\", type: \"text\", label: \"שם פרטי\", order: 2, value: \"\" },\n        lastname: { id: 3, name: \"lastname\", type: \"text\", label: \"שם משפחה\", order: 3, value: \"\" },\n        idNumber: { id: 5, name: \"idNumber\", type: \"text\", label: \"ת.ז\", value: \"\" },\n        phone: { id: 4, name: \"phone\", type: \"text\", label: \"נייד\", value: \"\" },\n        termsOfuse: {\n            id: 6, name: \"termsOfuse\", type: \"checkbox\",\n            label: \"מסכים/ה לתנאי השימוש, מדיניות פרטיות, וקבלת פניות שיווקיות כולל טלפוניות. הודעות תפעוליות ימשיכו להישלח בתקופת המינוי גם לאחר הסרתי מרשימת מדוורים.\",\n            value: false\n        },\n    });\n\n    const [errors, setErrors] = useState({});\n    const [generalError, setGeneralError] = useState(\"\");\n\n    const validationSchema = {\n        email: {\n            required: false,\n            message: \"שדה חובה\",\n            validate: (value: string) => /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value) || \"כתובת מייל לא תקינה\",\n        },\n        firstname: {\n            required: true,\n            message: \"שדה חובה\",\n            validate: (value: string) => /^[a-zA-Z\\u0590-\\u05FF]+$/.test(value) || \"שם פרטי יכול להכיל רק אותיות\",\n        },\n        lastname: {\n            required: true,\n            message: \"שדה חובה\",\n            validate: (value: string) => /^[a-zA-Z\\u0590-\\u05FF]+$/.test(value) || \"שם משפחה יכול להכיל רק אותיות\",\n        },\n        phone: {\n            required: true,\n            message: \"שדה חובה\",\n            validate: (value: string) => /^05\\d{8}$/.test(value) || \"מספר טלפון לא תקין\",\n        },\n        idNumber: {\n            required: true,\n            message: \"שדה חובה\",\n            validate: (value: string) => {\n                const isValidIsraeliID = (id: string): boolean => {\n                    if (!/^\\d{9}$/.test(id)) return false;\n                    const idArray = id.split(\"\").map(Number);\n                    let sum = 0;\n                    for (let i = 0; i < 9; i++) {\n                        let num = idArray[i] * (i % 2 === 0 ? 1 : 2);\n                        sum += num > 9 ? num - 9 : num;\n                    }\n                    return sum % 10 === 0;\n                };\n\n                return isValidIsraeliID(value) || \"תעודת זהות לא תקינה\";\n            }\n        },\n        termsOfuse: {\n            required: true,\n            message: \"שדה חובה\",\n            validate: (value: boolean) => value || \"יש לאשר את תנאי השימוש\",\n        }\n\n    };\n\n\n    const validateField = (name, value) => {\n        const schema = validationSchema[name];\n        if (!schema) return \"\";\n        if (schema.required) {\n            if (typeof value === \"boolean\" && !value) return schema.message;\n            if (typeof value === \"string\" && !value.trim()) return schema.message;\n        }\n        if (schema.validate) {\n            return typeof schema.validate(value) === \"boolean\" ? \"\" : schema.validate(value);\n        }\n        return \"\";\n    };\n\n\n    const handleChange = (e) => {\n        let { name, value } = e.target;\n\n        if (name === \"termsOfuse\") {\n            value = e.target.checked;\n        }\n\n        setFormData(prevFormData => ({\n            ...prevFormData,\n            [name]: { ...prevFormData[name], value },\n        }));\n\n        setErrors((prevErrors) => ({\n            ...prevErrors,\n            [name]: validateField(name, value),\n        }));\n\n    };\n\n\n    const handleSubmit = async (e) => {\n        e.preventDefault();\n\n        let newErrors = {};\n        let isValid = true;\n\n        Object.keys(formData).forEach((key) => {\n            const errorMessage = validateField(key, formData[key].value);\n            if (errorMessage) {\n                newErrors[key] = errorMessage;\n                isValid = false;\n            }\n        });\n\n        setErrors(newErrors);\n\n        if (!isValid) {\n            console.log(\"Form has errors:\", newErrors);\n            return;\n        }\n\n        const response = await updateUserData(formData);\n        if (response) {\n            console.log(\"Form submitted successfully:\", formData);\n            nextStep();\n        }\n    };\n\n\n    useEffect(() => {\n        async function fetchData() {\n            const { data } = await getUserData(getPersonalCustomerDetails());\n            setFormData(prevFormData => ({\n                ...prevFormData,\n                email: { ...prevFormData.email, value: data.email },\n                firstname: { ...prevFormData.firstname, value: data.firstName || \"\" },\n                lastname: { ...prevFormData.lastname, value: data.lastName || \"\" },\n                idNumber: { ...prevFormData.idNumber, value: data.personalId || \"\" },\n                phone: { ...prevFormData.phone, value: data.phoneNumber || \"\" },\n            }));\n        }\n        fetchData();\n    }, [])\n\n    const getUserData = async (url: string): Promise<CalcalistPaywallAccessDataResponse> => {\n        try {\n            const response = await axios.get<CalcalistPaywallAccessDataResponse>(url);\n            return response.data;\n        } catch (error) {\n            console.error(error);\n            setGeneralError(\"משהו השתבש, נסו שוב מאוחר יותר\");\n        }\n    };\n\n    const updateUserData = async (data) => {\n\n        const updatedDetails = {\n            details: {\n                firstName: data.firstname.value,\n                lastName: data.lastname.value,\n                personalId: data.idNumber.value,\n                phoneNumber: data.phone.value,\n            }\n        };\n        try {\n            const response = await axios.post(updatePersonalCustomerDetails(), updatedDetails);\n            if (response.status === 200) {\n                console.log(\"Data updated successfully\");\n                return response.data;\n            }\n        } catch (error) {\n            console.error(error);\n            setGeneralError(\"משהו השתבש, נסו שוב מאוחר יותר\");\n        }\n    };\n\n    return (\n        <div className=\"CalcalistPaywallCheckoutPersonalDetails\">\n            <h1 className=\"title\">הזינו פרטים אישיים</h1>\n            <div className=\"personal-details-form\">\n                <form id=\"checkout-personal-details\" onSubmit={handleSubmit}>\n                    {Object.keys(formData).map((field) => {\n                        const inputField = formData[field];\n                        return <div\n                            className={`input-field ${classNames({ 'big': inputField.name === 'email' }, { 'terms': inputField.name === 'termsOfuse' })}`}\n                            key={inputField.id}>\n                            <label>{inputField.label}</label>\n                            <input\n                                disabled={inputField.disabled}\n                                type={inputField.type}\n                                name={inputField.name}\n                                value={inputField.value}\n                                onChange={handleChange}\n                                className={errors[field] ? \"error\" : \"\"}\n                            />\n                            {errors[field] && <span className=\"input-field-error\">{errors[field]}</span>}\n                        </div>\n                    })}\n                </form>\n                <div className=\"general-error\">{generalError}</div>\n                <button form=\"checkout-personal-details\" className=\"submit-button\" type=\"submit\">המשך</button>\n                <div className=\"personal-details-logo\"></div>\n            </div>\n\n        </div>\n    );\n};\n\nexport default CalcalistPaywallCheckoutPersonalDetails;","\ninterface CalcalistPaywallCheckoutPlansProps {\n    nextStep: () => void\n    setPlan: (selectedPlan: SubscriptionPlan) => void\n}\n\nenum ProductsUniqueIds {\n    MONTHLY_PASS = 'monthlyPass',\n    YEARLY_PASS = 'yearlyPass',\n  };\nexport interface SubscriptionPlan {\n    title: string;\n    price: number;\n    frequency: string;\n    buttonText: string;\n    cancelText: string;\n    className: string;\n    productUniqueId: ProductsUniqueIds\n}\n\nexport const plansObj = {\n    \"MONTHLY\": {\n        title: \"חודשי\",\n        price: 29.90,\n        frequency: \"בתשלום חודשי מתחדש\",\n        buttonText: \"להצטרפות\",\n        cancelText: \"ניתן לבטל את המינוי בכל עת לתנאי השימוש\",\n        className: \"monthly-plan\",\n        productUniqueId: 'monthlyPass'\n    },\n    \"YEARLY\": {\n        title: \"שנתי\",\n        price: 299.90,\n        frequency: \"בתשלום שנתי מתחדש\",\n        buttonText: \"להצטרפות\",\n        cancelText: \"ניתן לבטל את המינוי בכל עת לתנאי השימוש\",\n        className: \"yearly-plan\",\n        productUniqueId: 'yearlyPass'\n    }\n}\n\nconst CalcalistPaywallCheckoutPlans = (props: CalcalistPaywallCheckoutPlansProps) => {\n    const { nextStep, setPlan } = props;\n\n\n\n    const handleNextStep = (selectedPlan) => {\n        setPlan(selectedPlan)\n        nextStep()\n    }\n    return (\n        <div className=\"CalcalistPaywallCheckoutPlans\">\n            <div className=\"checkout-title\">\n                רוצים להמשיך לקרוא ללא הגבלה את המהדורה הדיגיטלית?\n                לרכישת מינוי של עיתון כלכליסט בדיגיטל\n            </div>\n            <div className=\"plans-contaienr\">\n                {\n                    Object.keys(plansObj).map((key) => {\n                        const plan = plansObj[key]\n                        return (\n                            <div key={key} className={`plan-box ${plan.className}`}>\n                                <div className=\"plan-title\">מסלול חיוב {plan.title} </div>\n                                <div className=\"plan-price\">{plan.price.toFixed(2)}</div>\n                                <div className=\"plan-price-frequency\">{plan.frequency}</div>\n                                <button className=\"plan-button\" onClick={() => handleNextStep(plan)}>{plan.buttonText}</button>\n                                <div className=\"plan-cancel-text\"><span>ניתן לביטול בכל עת</span> <br/> <a href=\"https://www.calcalist.co.il/home/0,7340,L-3856,00.html\">לתנאי השימוש</a></div>\n                            </div>\n                        )\n                    })\n                }\n\n            </div>\n            <div className=\"bottom-logo\"></div>\n        </div>\n    );\n};\n\nexport default CalcalistPaywallCheckoutPlans;","import * as classNames from \"classnames\"\ninterface CalcalistPaywallCheckoutMultiStepsProgressbarProps {\n    steps: string[];\n    currentStepIndex: number;\n}\n\nconst CalcalistPaywallCheckoutMultiStepsProgressbar = (props: CalcalistPaywallCheckoutMultiStepsProgressbarProps) => {\n\n    const { steps, currentStepIndex } = props;\n\n\n    const setClassesForStep = (index: number) => {\n        if (currentStepIndex > index) {\n            return \"completed\"\n        } else if (currentStepIndex === index) {\n            return \"active\"\n        } else {\n            return \"disabled\"\n        }\n    }\n\n    const setClassesForDevider = (index: number) => {\n        const isFirst = index === 0;\n        const isLast = index === steps.length - 2;\n        const isBig = isFirst || isLast;\n        const isActive = index < currentStepIndex;\n\n        return `devider ${classNames({ \"big\": isBig, \"right\": isFirst, \"left\": isLast, \"active\": isActive })}`;\n    }\n\n    if (!steps || steps.length === 0 || currentStepIndex == 0) {\n        return null;\n    }\n\n    return (\n        <div className=\"CalcalistPaywallCheckoutMultiStepsProgressbar\">\n            <div className=\"progressbar-container\">\n                <div className=\"steps-container\">\n                    {\n                        steps.map((step, index) => (\n                            <div className=\"step-container\" key={step}>\n                                {index < steps.length - 1 && <div className={`divider ${setClassesForDevider(index)}`}></div>}\n                                <div className={`step ${setClassesForStep(index)}`}></div>\n                                <div className=\"step-title\">{step}</div>\n                            </div>\n                        ))\n                    }\n                </div>\n            </div>\n        </div>\n    );\n};\n\nexport default CalcalistPaywallCheckoutMultiStepsProgressbar;","import { useState } from \"react\";\nimport CalcalistPaywallCheckoutMobilePlans, { SubscriptionPlan } from \"./calcalistPaywallCheckoutMobilePlans\";\nimport CalcalistPaywallCheckoutMobileFinish from \"./calcalistPaywallCheckoutMobilePaymentFinish\";\nimport CalcalistPaywallCheckoutMobilePaymentDetails from \"./calcalistPaywallCheckoutMobilePaymentDetails\";\nimport CalcalistPaywallCheckoutMobilePersonalDetails from \"./calcalistPaywallCheckoutMobilePersonalDetails\";\n \nexport const CalcalistPaywallCheckoutMobileComponenta = ({ isMobile }: { isMobile?: boolean }) => {\n\n    const [currentStepIndex, setCurrentStepIndex] = useState<number>(0);\n    const [selectedPlan,setPlan] = useState<SubscriptionPlan>(null);\n\n    enum CheckoutStep {\n        SELECT_PLAN = \"בחירת מסלול\",\n        PERSONAL_DETAILS = \"פרטים אישיים\",\n        PAYMENT_DETAILS = \"פרטי תשלום\",\n        FINISH = \"סיום\",\n    }\n\n    const steps = Object.values(CheckoutStep);\n\n\n    const nextStep = () => {\n        setCurrentStepIndex(Math.min(currentStepIndex + 1, steps.length - 1));\n      };\n      \n    const prevStep = () => {\n        setCurrentStepIndex( Math.max(currentStepIndex - 1, 0));\n    };\n\n    const renderStepContent = () => {\n        switch (steps[currentStepIndex]) {\n            case CheckoutStep.SELECT_PLAN:\n                return <CalcalistPaywallCheckoutMobilePlans nextStep={nextStep} setPlan={setPlan} />;\n            case CheckoutStep.PERSONAL_DETAILS:\n                return <CalcalistPaywallCheckoutMobilePersonalDetails nextStep={nextStep} prevStep={prevStep} />;\n            case CheckoutStep.PAYMENT_DETAILS:\n                return <CalcalistPaywallCheckoutMobilePaymentDetails nextStep={nextStep} prevStep={prevStep} selectedPlan={selectedPlan} />;\n            case CheckoutStep.FINISH:\n                return <CalcalistPaywallCheckoutMobileFinish nextStep={nextStep} />;\n            default:\n                return null;\n        }\n    };\n\n\n\n    return (\n        <div className=\"CalcalistPaywallCheckoutComponenta\">\n            <div className=\"gradient-background\"></div>\n            <div className=\"calcalist-digital-edition-text\">המהדורה הדיגיטלית</div>\n            {renderStepContent()}\n        </div>\n    )\n}\n\nCalcalistPaywallCheckoutMobileComponenta.siteScriptName = \"CalcalistPaywallCheckoutMobileComponenta\"\n","import { useRef, useEffect } from \"react\";\nimport { usePurchase } from \"../../../../../../global/paywall/usePurchase\";\nimport { SubscriptionPlan } from \"./calcalistPaywallCheckoutMobilePlans\"\n\ninterface CalcalistPaywallCheckoutPaymentDetailsProps {\n    nextStep: () => void\n    selectedPlan: SubscriptionPlan\n}\n\n\nconst CalcalistPaywallCheckoutMobilePaymentDetails = (props: CalcalistPaywallCheckoutPaymentDetailsProps) => {\n    const {selectedPlan} = props;\n    const { purchaseStatus, paymentUrl, error, resetPurchase } = usePurchase(selectedPlan.productUniqueId);\n    const iframeRef = useRef<HTMLIFrameElement>(null);\n    const { title = \"Default Title\", price = 0 } = props.selectedPlan || {};\n\n\n\n\n    useEffect(() => {\n        if (purchaseStatus === \"completed\") {\n            props.nextStep()\n        }\n    }, [purchaseStatus])\n    \n    return (\n        <div className=\"CalcalistPaywallCheckoutPaymentDetails\">\n            <h1 className=\"title\">פרטי תשלום</h1>\n            <div className=\"payment-details-container\">\n                <div className=\"payment-details-checkout\">\n                    <div className=\"payment-details-plan\">\n                        <div className=\"row\"><span>מנוי</span><span>{title}</span></div>\n                        <div className=\"row\"><span>תשלום</span><span>{price.toFixed(2)} ש\"ח</span></div>\n                    </div>\n                    <div className=\"checkout-summary\">\n                        <div className=\"row bold\"> <span>לחיוב</span><span>{price.toFixed(2)} ש\"ח</span></div>\n                    </div>\n                </div>\n                <div className=\"creditcard-details-container\">\n                    <div className=\"title\">הזינו פרטי אשראי</div>\n                    <iframe ref={iframeRef as any} src={paymentUrl} />\n                </div>\n\n            </div>\n\n        </div>\n    );\n};\n\nexport default CalcalistPaywallCheckoutMobilePaymentDetails;","\n\ninterface CalcalistPaywallCheckoutFinishProps {\n\n}\n\n\nconst CalcalistPaywallCheckoutMobileFinish = (props: CalcalistPaywallCheckoutFinishProps) => {\n\n    return (\n        <div className=\"CalcalistPaywallCheckoutFinish\">\n            <h1 className=\"title\">הרכישה הושלמה!</h1>\n            <div className=\"main-container\">\n                <div className=\"finish-logo\"></div>\n                <div className=\"finish-text\">\n                    תודה שעשיתם מינוי לעיתון הדיגיטלי של כלכליסט.\n                    מוזמנים לעבור למהדורה וליהנות מתוכן מעולה!\n                </div>\n                <button className=\"finish-button\">לקריאת המהדורה</button>\n            <div className=\"checkout-finish-logo\"></div>\n            </div>\n        </div>\n    );\n};\n\nexport default CalcalistPaywallCheckoutMobileFinish;","import { useState, useEffect } from \"react\"\nimport { getPersonalCustomerDetails, updatePersonalCustomerDetails } from \"../../../../../../global/paywall/paywallApiUrls\";\nimport * as axios from \"axios\";\nimport * as classNames from \"classnames\"\ninterface CalcalistPaywallCheckoutPersonalDetailsProps {\n    nextStep: () => void\n}\ninterface CalcalistPaywallAccessDataResponse {\n    data: {\n        id: number;\n        email: string;\n        firstName: string | null;\n        lastName: string | null;\n        personalId: string | null;\n        phoneNumber: string | null;\n    };\n    requestId: string;\n    error: any;\n}\n\n\nconst CalcalistPaywallCheckoutMobilePersonalDetails = (props: CalcalistPaywallCheckoutPersonalDetailsProps) => {\n    const { nextStep } = props;\n    const [formData, setFormData] = useState<any>({\n        email: { id: 1, name: \"email\", type: \"text\", label: \"משתמש\", disabled: true, order: 1, value: \"\" },\n        firstname: { id: 2, name: \"firstname\", type: \"text\", label: \"שם פרטי\", order: 2, value: \"\" },\n        lastname: { id: 3, name: \"lastname\", type: \"text\", label: \"שם משפחה\", order: 3, value: \"\" },\n        idNumber: { id: 5, name: \"idNumber\", type: \"text\", label: \"ת.ז\", value: \"\" },\n        phone: { id: 4, name: \"phone\", type: \"text\", label: \"נייד\", value: \"\" },\n        termsOfuse: {\n            id: 6, name: \"termsOfuse\", type: \"checkbox\",\n            label: \"מסכים/ה לתנאי השימוש, מדיניות פרטיות, וקבלת פניות שיווקיות כולל טלפוניות. הודעות תפעוליות ימשיכו להישלח בתקופת המינוי גם לאחר הסרתי מרשימת מדוורים.\",\n            value: false\n        },\n    });\n\n    const [generalError, setGeneralError] = useState(\"\");\n    const [errors, setErrors] = useState({});\n\n    const validationSchema = {\n        firstname: {\n            required: true,\n            message: \"שדה חובה\",\n            validate: (value: string) => /^[a-zA-Z]+$/.test(value) || \"שם פרטי יכול להכיל רק אותיות\",\n        },\n        lastname: {\n            required: true,\n            message: \"שדה חובה\",\n            validate: (value: string) => /^[a-zA-Z]+$/.test(value) || \"שם משפחה יכול להכיל רק אותיות\",\n        },\n        phone: {\n            required: true,\n            message: \"שדה חובה\",\n            validate: (value: string) => /^05\\d{8}$/.test(value) || \"מספר טלפון לא תקין\",\n        },\n        idNumber: {\n            required: true,\n            message: \"שדה חובה\",\n            validate: (value: string) => {\n                const isValidIsraeliID = (id: string): boolean => {\n                    if (!/^\\d{9}$/.test(id)) return false;\n                    const idArray = id.split(\"\").map(Number);\n                    let sum = 0;\n                    for (let i = 0; i < 9; i++) {\n                        let num = idArray[i] * (i % 2 === 0 ? 1 : 2);\n                        sum += num > 9 ? num - 9 : num;\n                    }\n                    return sum % 10 === 0;\n                };\n\n                return isValidIsraeliID(value) || \"תעודת זהות לא תקינה\";\n            }\n        },\n        termsOfuse: {\n            required: true,\n            message: \"יש לאשר את תנאי השימוש\",\n            validate: (value: boolean) => value || \"יש לאשר את תנאי השימוש\",\n        }\n\n    };\n\n\n    const validateField = (name, value) => {\n        const schema = validationSchema[name];\n        if (!schema) return \"\";\n        if (schema.required) {\n            if (typeof value === \"boolean\" && !value) return schema.message;\n            if (typeof value === \"string\" && !value.trim()) return schema.message;\n        }\n        if (schema.validate) {\n            return typeof schema.validate(value) === \"boolean\" ? \"\" : schema.validate(value);\n        }\n        return \"\";\n    };\n\n\n    const handleChange = (e) => {\n        let { name, value } = e.target;\n\n        if (name === \"termsOfuse\") {\n            value = e.target.checked;\n        }\n\n        setFormData(prevFormData => ({\n            ...prevFormData,\n            [name]: { ...prevFormData[name], value },\n        }));\n\n        setErrors((prevErrors) => ({\n            ...prevErrors,\n            [name]: validateField(name, value),\n        }));\n\n    };\n\n\n    const handleSubmit = async (e) => {\n        e.preventDefault();\n\n        let newErrors = {};\n        let isValid = true;\n\n        Object.keys(formData).forEach((key) => {\n            const errorMessage = validateField(key, formData[key].value);\n            if (errorMessage) {\n                newErrors[key] = errorMessage;\n                isValid = false;\n            }\n        });\n\n        setErrors(newErrors);\n\n        if (!isValid) {\n            console.log(\"Form has errors:\", newErrors);\n            return;\n        }\n\n        const response = await updateUserData(formData);\n        if (response) {\n            console.log(\"Form submitted successfully:\", formData);\n            nextStep();\n        }\n    };\n\n\n    useEffect(() => {\n        async function fetchData() {\n            const { data } = await getUserData(getPersonalCustomerDetails());\n            setFormData(prevFormData => ({\n                ...prevFormData,\n                email: { ...prevFormData.email, value: data.email || \"\" },\n                firstname: { ...prevFormData.firstname, value: data.firstName || \"\" },\n                lastname: { ...prevFormData.lastname, value: data.lastName || \"\" },\n                idNumber: { ...prevFormData.idNumber, value: data.personalId || \"\" },\n                phone: { ...prevFormData.phone, value: data.phoneNumber || \"\" },\n            }));\n        }\n        fetchData();\n    }, [])\n\n    const getUserData = async (url: string): Promise<CalcalistPaywallAccessDataResponse> => {\n        try {\n            const response = await axios.get<CalcalistPaywallAccessDataResponse>(url);\n            return response.data;\n        } catch (error) {\n            console.error(error);\n            setGeneralError(\"משהו השתבש, נסו שוב מאוחר יותר\");\n\n        }\n    };\n\n\n    const updateUserData = async (data) => {\n\n        const updatedDetails = {\n            details: {\n                firstName: data.firstname.value,\n                lastName: data.lastname.value,\n                personalId: data.idNumber.value,\n                phoneNumber: data.phone.value,\n            }\n        };\n        try {\n            const response = await axios.post(updatePersonalCustomerDetails(), updatedDetails);\n            if (response.status === 200) {\n                console.log(\"Data updated successfully\");\n                return response.data;\n            }\n        } catch (error) {\n            console.error(error);\n            setGeneralError(\"משהו השתבש, נסו שוב מאוחר יותר\");\n        }\n    };\n\n\n    return (\n        <div className=\"CalcalistPaywallCheckoutPersonalDetails\">\n            <h1 className=\"title\">הזינו פרטים אישיים</h1>\n            <div className=\"user-email\">{formData['email'].value}</div>\n            <div className=\"personal-details-form\">\n                <form id=\"checkout-personal-details\" onSubmit={handleSubmit}>\n                    {Object.keys(formData).map((field) => {\n                        const inputField = formData[field];\n                        return <div\n                            className={`input-field ${classNames({ 'terms': inputField.name === 'termsOfuse' })}`}\n                            key={inputField.id}>\n                            <input\n                                placeholder={inputField.label}\n                                disabled={inputField.disabled}\n                                type={inputField.type}\n                                name={inputField.name}\n                                value={inputField.value}\n                                onChange={handleChange}\n                                className={errors[field] ? \"error\" : \"\"}\n                                hidden={inputField.name === \"email\"}\n                            />\n                            {inputField.name === 'termsOfuse' && <label>{inputField.label}</label>}\n                            {errors[field] && <span className=\"input-field-error\">{errors[field]}</span>}\n                        </div>\n                    })}\n                    <div className=\"general-error\">{generalError}</div>\n                    <button form=\"checkout-personal-details\" className=\"submit-button\" type=\"submit\">המשך</button>\n                </form>\n            </div>\n\n        </div>\n    );\n};\n\nexport default CalcalistPaywallCheckoutMobilePersonalDetails;","\ninterface CalcalistPaywallCheckoutPlansProps {\n    nextStep: () => void\n    setPlan: (selectedPlan: SubscriptionPlan) => void\n}\n\nenum ProductsUniqueIds {\n    MONTHLY_PASS = 'monthlyPass',\n    YEARLY_PASS = 'yearlyPass',\n};\n\nexport interface SubscriptionPlan {\n    title: string;\n    price: number;\n    frequency: string;\n    buttonText: string;\n    cancelText: string;\n    className: string;\n    productUniqueId: ProductsUniqueIds\n}\n\n\nexport const plansObj = {\n    \"monthly\": {\n        title: \"חודשי\",\n        price: 29.90,\n        frequency: \"בתשלום חודשי מתחדש\",\n        buttonText: \"להצטרפות\",\n        className: \"monthly-plan\",\n        productUniqueId: 'monthlyPass'\n\n    },\n    \"yearly\": {\n        title: \"שנתי\",\n        price: 299.90,\n        frequency: \"בתשלום שנתי מתחדש\",\n        buttonText: \"להצטרפות\",\n        className: \"yearly-plan\",\n        productUniqueId: 'yearlyPass'\n    }\n}\n\nconst CalcalistPaywallCheckoutMobilePlans = (props: CalcalistPaywallCheckoutPlansProps) => {\n    const { nextStep, setPlan } = props;\n\n\n    const handleNextStep = (selectedPlan) => {\n        setPlan(selectedPlan)\n        nextStep()\n    }\n\n\n\n\n    return (\n        <div className=\"CalcalistPaywallCheckoutPlans\">\n            <div className=\"plans-title\">\n                רוצים להמשיך לקרוא ללא הגבלה <br />\n                את המהדורה הדיגיטלית? <br />\n                לרכישת מינוי של עיתון כלכליסט בדיגיטל\n            </div>\n            <div className=\"plans-container\">\n                {\n                    Object.keys(plansObj).map((key) => {\n                        const plan = plansObj[key]\n                        return (\n                            <div key={key} className={`plan-box ${plan.className}`}>\n                                <div className=\"plan-title\">מסלול חיוב {plan.title} </div>\n                                <div className=\"inner-container\">\n                                    <div className=\"plan-price\">\n                                        <span>{plan.price.toFixed(2)}</span>\n                                        <div className=\"plan-price-frequency\">{plan.frequency}</div>\n                                    </div>\n                                    <button className=\"plan-button\" onClick={() => handleNextStep(plan)}>{plan.buttonText}</button>\n                                </div>\n                                <div className=\"plan-cancel-text\">\n                                    <span>ניתן לביטול בכל עת</span>|\n                                    <a href=\"https://www.calcalist.co.il/home/0,7340,L-3856,00.html\">לתנאי השימוש</a>\n                                    <a href=\"https://z.calcalist.co.il/mvc/long/2018/OrganizationalStructure/About/Privacy.html\">ומדיניות פרטיות</a>\n                                </div>\n                            </div>\n                        )\n                    })\n                }\n\n            </div>\n        </div>\n    );\n};\n\nexport default CalcalistPaywallCheckoutMobilePlans;","require('./calcalist_site_calcalistPaywallLoginComponenta.less');\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\";\nimport { LinkTargetProperties } from \"../../../../global/components/linkSettings/interfaces\"\nimport { useState, useEffect } from \"react\"\nimport * as axios from \"axios\"\nimport {postPaywallLogOut } from \"../../../../global/paywall/paywallApiUrls\";\nimport { getCurrentUser, removeCurrentUser } from \"../../../../global/paywall/paywallUtils\";\n\ninterface CalcalistUser {\n    displayName: string \n}\nexport interface CalcalistMenuItem {\n    id: string\n    name: string\n    link: string\n    catId: string\n    url: string\n    targetLink?: LinkTargetProperties\n}\n\ninterface CalcalistLoginProps {\n    menuItems?: CalcalistMenuItem[]\n    subscribeBtnLink?: { link: string, linkTarget: LinkTargetProperties };\n}\nexport const CalcalistPaywallLoginComponenta = (props: CalcalistLoginProps) => {\n    const [user, setUser] = useState<CalcalistUser>(null);\n    const [isMenuVisible, setIsMenuVisible] = useState(false);\n    const [isPopupVisible, setIsPopupVisible] = useState(false);\n    const { menuItems } = props;\n\n\n    useEffect(() => {\n            const currentUser = getCurrentUser()\n            setUser(currentUser);\n    }, [])\n\n\n    const getUsernameFromEmail = (email: string): string => {\n        return email.split('@')[0];\n    }\n\n    const handleToggleMenu = () => {\n        setIsMenuVisible(!isMenuVisible);\n    }\n\n    const getUserLabel = () => {\n        let label = '';\n        if (user) {\n            label = user.displayName;\n            if (user.displayName.includes('@')) {\n                label = getUsernameFromEmail(user.displayName);\n            }\n            return <div onClick={handleToggleMenu}>שלום, <span className=\"bold\">{label}</span></div>;\n        }\n        return <div>כניסה/הרשמה</div>;\n    };\n\n    const handleDisconectUser = async () => {\n        await axios.post(postPaywallLogOut());\n        removeCurrentUser();\n        window.location.reload();\n    }\n\n    const handlePopup = () => {\n        setIsPopupVisible(!isPopupVisible);\n        document.body.style.overflowY = isPopupVisible ? 'auto' : 'hidden';\n        document.body.classList.toggle('popup');\n    }\n\n    return (\n        <div className=\"CalcalistPaywallLoginComponenta\">\n            <ul className=\"header-list\">\n                <li className=\"header-item\">\n                    <a href=\"https://www.calcalist.co.il/redmail\" className=\"header-link red-text\">\n                        <div alt=\"RedMail\" className=\"header-icon redmail\"></div>\n                        <div>דואר האדום</div>\n                    </a>\n                </li>\n                <li className=\"header-item\">\n                    <a href=\"https://www.calcalist.co.il/conferences\" className=\"header-link\">\n                        <div alt=\"Calendar\" className=\"header-icon conference\"></div>\n                        <div>ועידות</div>\n                    </a>\n                </li>\n                <li className=\"header-item\">\n                    <a href=\"#\" className=\"header-link\">\n                        <div alt=\"Newspaper\" className=\"header-icon newspaper\"></div>\n                        <div>המהדורה הדיגיטלית</div>\n                    </a>\n                </li>\n                <li className=\"separator\"><span></span></li>\n                <li className=\"header-item\">\n                    <a href=\"#\" className=\"header-link user\">\n                        <div alt=\"User\" className=\"header-icon user\"></div>\n                        {getUserLabel()}\n                    </a>\n                </li>\n            </ ul>\n            {isMenuVisible &&\n                <div className=\"CalcalistPaywallLoginComponentaUserMenu\">\n                    <div className=\"menu-item\" onClick={() => this.handleMenuItem(\"ניהול חשבון\")}>\n                        <a href=\"#\">לרכישת מנוי</a>\n                    </div>\n                    <div className=\"menu-item\" onClick={() => this.handleMenuItem(\"ניהול חשבון\")}>\n                        <a href=\"#\">שירות לקוחות</a>\n                    </div>\n                    <div className=\"menu-item\" onClick={() => this.handleMenuItem(\"ניהול חשבון\")}>\n                        <a href=\"#\">ניהול חשבון</a>\n                    </div>\n                    {menuItems.map((item, index) => {\n                        return (\n                            <div className=\"menu-item\" key={index} id={item.id} onClick={() => this.handleMenuItem(item.name)} >\n                                <HyperLinkBuilder href={item.link} linkTarget={item.targetLink}>\n                                    {item.name}\n                                </HyperLinkBuilder>\n                            </div>\n                        )\n                    })}\n                    <div onClick={handlePopup} className=\"menu-item\">התנתקות</div>\n                </div>}\n\n            {isPopupVisible &&\n                <>\n                    <div className=\"CalcalistPaywallLoginComponentaOverlay\"></div>\n                    <div className=\"CalcalistPaywallLoginComponentaPopup\">\n                        <div className=\"inner-container\">\n                            <div className=\"logo-container\">\n                                <div className=\"digital-edidion-label\">המהדורה הדיגיטלית</div>\n                                <div className=\"disconnect-logo\"></div>\n                            </div>\n                            <div className=\"text\">\n                                האם אתם בטוחים שברצונכם\n                                להתנתק מהמשתמש שלכם?\n                        </div>\n                            <div className=\"buttons-contianer\">\n                                <div onClick={handlePopup} className=\"button back\">חזרה</div>\n                                <div onClick={handleDisconectUser} className=\"button action\">כן, התנתק</div>\n                            </div>\n                        </div>\n                    </div>\n                </>\n            }\n\n        </div>\n    )\n}\nCalcalistPaywallLoginComponenta.siteScriptName = \"CalcalistPaywallLoginComponenta\"\n\n","import CalcalistPaywallMyAccountPersonalDetails from \"./calcalistPaywallMyAccountPersonalDetails\"\nimport CalcalistPaywallMyAccountLastPurchases from \"./calcalistPaywallMyAccountpLastPurchases\"\nimport CalcalistPaywallMyAccountTabs from \"./calcalistPaywallMyAccountDesktopTabs\"\n \nconst CalcalistPaywallMyAccountComponenta = () => {\n\n    const tabs = [\n        {\n            label: \"המשתמש שלי\",\n            content: <CalcalistPaywallMyAccountPersonalDetails />,\n        },\n        {\n            label: \"רכישות אחרונות\",\n            content: <CalcalistPaywallMyAccountLastPurchases />,\n        },\n    ];\n\n    return (\n        <div className=\"CalcalistPaywallMyAccountComponenta\">\n            <CalcalistPaywallMyAccountTabs tabs={tabs} />\n        </div>\n    );\n};\n\nexport default CalcalistPaywallMyAccountComponenta;\n\nCalcalistPaywallMyAccountComponenta.siteScriptName = \"CalcalistPaywallMyAccountComponenta\"\n\n","\n\nimport { useState } from \"react\";\n\ntype Tab = {\n    label: string;\n    content: React.ReactNode;\n};\n\ntype TabsProps = {\n    tabs: Tab[];\n};\n\n\nconst CalcalistPaywallMyAccountTabs = ({ tabs }: TabsProps) => {\n    const [activeIndex, setActiveIndex] = useState(0);\n\n    return (\n        <div className=\"CalcalistPaywallMyAccountTabs\">\n            <div role=\"tablist\" className=\"tabs-header\">\n                {tabs.map((tab, index) => (\n                    <button\n                        key={index}\n                        role=\"tab\"\n                        aria-selected={activeIndex === index}\n                        className={`tab-button ${activeIndex === index ? \"active\" : \"\"}`}\n                        onClick={() => setActiveIndex(index)}\n                    >\n                        {tab.label}\n                    </button>\n                ))}\n            </div>\n            <div role=\"tabpanel\" className=\"tabs-content\">\n                {tabs[activeIndex].content}\n            </div>\n        </div>\n    );\n};\n\nexport default CalcalistPaywallMyAccountTabs","import { useState, useEffect } from \"react\";\nimport * as classNames from \"classnames\"\nimport { getPersonalCustomerDetails, updatePersonalCustomerDetails } from \"../../../../../global/paywall/paywallApiUrls\";\nimport * as axios from \"axios\";\nimport { is } from \"immutable\"\n\n\n\n\n\ninterface CalcalistPaywallAccessDataResponse {\n    data: {\n        id: number;\n        email: string;\n        firstName: string | null;\n        lastName: string | null;\n        personalId: string | null;\n        phoneNumber: string | null;\n    };\n    requestId: string;\n    error: any;\n}\n\n\nconst CalcalistPaywallMyAccountPersonalDetails = () => {\n\n    const [formData, setFormData] = useState<any>({\n        firstname: { id: 2, name: \"firstname\", type: \"text\", label: \"שם פרטי\", order: 1, value: \"\" },\n        email: { id: 1, name: \"email\", type: \"text\", label: \"משתמש\", disabled: true, order: 4, value: \"\" },\n        lastname: { id: 3, name: \"lastname\", type: \"text\", label: \"שם משפחה\", order: 2, value: \"\" },\n        phone: { id: 4, name: \"phone\", type: \"text\", label: \"מספר טלפון\", value: \"\",order: 3 },\n    });\n\n    const [errors, setErrors] = useState({});\n    const [generalError, setGeneralError] = useState(\"\");\n    const [isSubmitted, setIsSubmitted] = useState(false);\n    const validationSchema = {\n        email: {\n            required: false,\n            message: \"שדה חובה\",\n            validate: (value: string) => /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value) || \"כתובת מייל לא תקינה\",\n        },\n        firstname: {\n            required: false,\n            message: \"שדה חובה\",\n            validate: (value: string) => /^[a-zA-Z\\u0590-\\u05FF]+$/.test(value) || \"שם פרטי יכול להכיל רק אותיות\",\n        },\n        lastname: {\n            required: false,\n            message: \"שדה חובה\",\n            validate: (value: string) => /^[a-zA-Z\\u0590-\\u05FF]+$/.test(value) || \"שם משפחה יכול להכיל רק אותיות\",\n        },\n        phone: {\n            required: true,\n            message: \"שדה חובה\",\n            validate: (value: string) => /^05\\d{8}$/.test(value) || \"מספר טלפון לא תקין\",\n        },\n    };\n\n\n    const validateField = (name, value) => {\n        const schema = validationSchema[name];\n        if (!schema) return \"\";\n        if (schema.required) {\n            if (typeof value === \"boolean\" && !value) return schema.message;\n            if (typeof value === \"string\" && !value.trim()) return schema.message;\n        }\n        if (schema.validate) {\n            return typeof schema.validate(value) === \"boolean\" ? \"\" : schema.validate(value);\n        }\n        return \"\";\n    };\n\n\n    const handleChange = (e) => {\n        let { name, value } = e.target;\n        setIsSubmitted(false);\n\n        setFormData(prevFormData => ({\n            ...prevFormData,\n            [name]: { ...prevFormData[name], value },\n        }));\n\n        setErrors((prevErrors) => ({\n            ...prevErrors,\n            [name]: validateField(name, value),\n        }));\n\n    };\n\n\n    const handleSubmit = async (e) => {\n        e.preventDefault();\n\n        let newErrors = {};\n        let isValid = true;\n\n        Object.keys(formData).forEach((key) => {\n            const errorMessage = validateField(key, formData[key].value);\n            if (errorMessage) {\n                newErrors[key] = errorMessage;\n                isValid = false;\n            }\n        });\n\n        setErrors(newErrors);\n\n        if (!isValid) {\n            console.log(\"Form has errors:\", newErrors);\n            return;\n        }\n\n        const response = await updateUserData(formData);\n        if (response) {\n            console.log(\"Form submitted successfully:\", formData);\n            setIsSubmitted(true);\n        }\n    };\n\n\n    useEffect(() => {\n        async function fetchData() {\n            const { data } = await getUserData(getPersonalCustomerDetails());\n            setFormData(prevFormData => ({\n                ...prevFormData,\n                email: { ...prevFormData.email, value: data.email },\n                firstname: { ...prevFormData.firstname, value: data.firstName || \"\" },\n                lastname: { ...prevFormData.lastname, value: data.lastName || \"\" },\n                phone: { ...prevFormData.phone, value: data.phoneNumber || \"\" },\n            }));\n        }\n        fetchData();\n    }, [])\n\n    const getUserData = async (url: string): Promise<CalcalistPaywallAccessDataResponse> => {\n        try {\n            const response = await axios.get<CalcalistPaywallAccessDataResponse>(url);\n            return response.data;\n        } catch (error) {\n            console.error(error);\n            setGeneralError(\"משהו השתבש, נסו שוב מאוחר יותר\");\n        }\n    };\n\n    const updateUserData = async (data) => {\n\n        const updatedDetails = {\n            details: {\n                firstName: data.firstname.value,\n                lastName: data.lastname.value,\n                phoneNumber: data.phone.value,\n                personalId:'323289769'\n            }\n        };\n        try {\n            const response = await axios.post(updatePersonalCustomerDetails(), updatedDetails);\n            if (response.status === 200) {\n                console.log(\"Data updated successfully\");\n                return response.data;\n            }\n        } catch (error) {\n            console.error(error);\n            setGeneralError(\"משהו השתבש, נסו שוב מאוחר יותר\");\n        }\n    };\n\n    return (\n        <div className=\"CalcalistPaywallMyAccountPersonalDetails\">\n            <div className=\"personal-details-form\">\n                <form id=\"checkout-personal-details\" onSubmit={handleSubmit}>\n                    {Object.keys(formData).map((field) => {\n                        const inputField = formData[field];\n                        return <div\n                            className={`input-field`}\n                            style={{ order: inputField.order }}\n                            key={inputField.id}>\n                            <label>{inputField.label}</label>\n                            <input\n                                disabled={inputField.disabled}\n                                type={inputField.type}\n                                name={inputField.name}\n                                value={inputField.value}\n                                onChange={handleChange}\n                                className={errors[field] ? \"error\" : \"\"}\n                            />\n                            {errors[field] && <span className=\"input-field-error\">{errors[field]}</span>}\n                        </div>\n                    })}\n                </form>\n                <div className=\"general-error\">{generalError}</div>\n                <button disabled={isSubmitted} form=\"checkout-personal-details\" className=\"submit-button\" type=\"submit\">שמירת שינויים</button>\n                {isSubmitted && <div className=\"success-message\">השינויים נשמרו בהצלחה!</div>}\n            </div>\n\n        </div>\n    );\n};\n\nexport default CalcalistPaywallMyAccountPersonalDetails;","\nconst CalcalistPaywallMyAccountLastPurchases = () => {\n\n    const purchases = [\n        { date: \"14/7/23\", type: \"רכישת מינוי שנתי\", action: \"ביטול מינוי\" },\n        { date: \"14/7/23\", type: \"ביטול מינוי חודשי\" },\n        { date: \"13/7/24\", type: \"רכישת מינוי חודשי\" },\n    ];\n\n    return (\n        <div className=\"CalcalistPaywallMyAccountLastPurchases\">\n            <div className=\"table\">\n                <div className=\"header\">\n                    <span className=\"header-type\">סוג חבילה</span>\n                    <span className=\"header-date\">תאריך</span>\n                </div>\n                <div className=\"list\">\n                    {purchases.map((purchase, index) => (\n                        <div key={index} className=\"row\">\n                            <div className=\"type\">{purchase.type} {index=== 0 && <button className=\"cancel\">{purchase.action}</button>}</div>\n                            <div className=\"date\">{purchase.date}</div>\n                        </div>\n                    ))}\n                </div>\n            </div>\n        </div>\n    );\n};\n\nexport default CalcalistPaywallMyAccountLastPurchases;","import { DetachedPlayer } from \"../../detachPlayer/detachedPlayer\"\n\ninterface CalcalistDetachedPlayerProps {\n    audioUrl: string\n    title: string\n    durationSeconds: number\n    podcastImage: string\n    classNames: string\n    buttonTitle?: string\n}\n\nexport const CalcalistDetachedPlayer = (props: CalcalistDetachedPlayerProps) => {\nconst {audioUrl, title, durationSeconds, podcastImage, classNames, buttonTitle } = props\n\n    const playerProps = {\n        audioUrl: audioUrl,\n        title: title,\n        durationSeconds: durationSeconds,\n        podcastImage: podcastImage\n    }\n\n    return (\n        <DetachedPlayer\n            playerWidth=\"688\"\n            playerHeight=\"118\"\n            playerName=\"CalcalistPodcastPlayer\"\n            playerProps={playerProps}\n            buttonRenderer={(renderProps) => (<button className={classNames} title={buttonTitle} onClick={renderProps.openPopupPlayer} />)}\n        />\n    )\n}\n\nCalcalistDetachedPlayer.siteScriptName = 'CalcalistDetachedPlayer'","import { AudioPlayButton, MediaMetadata } from \"../../radioWidgets/floatingPlayer/audioPlayButton\";\nimport { CalcalistPodcastPopupPlayer } from \"./calcalistPodcastPopupPlayer\";\n\ninterface CalcalistPodcastPlayerProps {\n    audioUrl: string\n    title: string\n    durationSeconds: number\n    podcastImage: string\n    openPopupPlayer: () => void\n    browserDisplayMediaMetaData?: MediaMetadata\n}\n\nexport function CalcalistPodcastPlayer(props: CalcalistPodcastPlayerProps) {\n    const { audioUrl, title, durationSeconds, podcastImage, browserDisplayMediaMetaData } = props;\n    \n    return (\n        <AudioPlayButton\n            audioUrl={audioUrl}\n            durationSeconds={durationSeconds}\n            renderer={() => null}\n            floatingPlayerRenderer={(props) => (<CalcalistPodcastPopupPlayer {...props} audioUrl={audioUrl} title={title} podcastImage={podcastImage}/>)}\n        />\n    )\n}\n\nCalcalistPodcastPlayer.siteScriptName = 'CalcalistPodcastPlayer'","\nimport { secondsToHms } from \"../../../siteWidgets/siteWidgetUtils\";\nimport { TogglePlayAction, AudioPlayButton } from \"../../radioWidgets/floatingPlayer/audioPlayButton\"\nrequire(\"./calcalist_site_calcalistPodcastPopupPlayer.less\")\n\ndeclare var window: Window & {\n    wcmAudioPlayer: AudioPlayButton\n}\n\nexport interface CalcalistPodcastPopupPlayerProps {\n    isAudioPlaying: boolean\n    playbackTime: number\n    audioElement: HTMLAudioElement\n    durationSeconds: number\n    isControlsDisabled: boolean\n    isSeeking: boolean\n    isMuted: boolean\n    loadingSource: boolean\n    onseeked: (playbackTime: number) => void\n    handleMuteSwitch: () => void\n    onTogglePlayPause: () => TogglePlayAction\n}\n\nexport interface CalcalistPodcastPopupPlayerState {\n    loadingPlay: boolean\n}\n\nexport class CalcalistPodcastPopupPlayer extends React.Component<CalcalistPodcastPopupPlayerProps & { audioUrl: string, title: string, podcastImage: string }, CalcalistPodcastPopupPlayerState> {\n\n    public static siteScriptName = \"CalcalistPodcastPopupPlayer\"\n\n    constructor() {\n        super()\n        this.state = {\n            loadingPlay: false,\n        }\n    }\n\n    componentDidMount() {\n        this.props.audioElement.autoplay = true;\n        this.props.audioElement.src = this.props.audioUrl\n\n        let playAttempt = setInterval(() => {\n            this.setState({ loadingPlay: true })\n\n            this.props.audioElement\n                .play()\n                .then(() => {\n                    clearInterval(playAttempt);\n                    this.setState({ loadingPlay: false })\n                })\n                .catch((error) => {\n                    console.log(\"Unable to play the video, User has not interacted yet.\");\n                });\n        }, 3000);\n    }\n\n    private jumpForward = () => {\n        this.props.audioElement.currentTime += 15;\n    }\n\n    private jumpPrev = () => {\n        this.props.audioElement.currentTime -= 15;\n    }\n\n    private updateCurrentTime = (e) => {\n        this.props.onseeked(Number(e.target.value));\n    }\n\n    render() {\n        const { isAudioPlaying, title, podcastImage, durationSeconds, playbackTime, isSeeking, onTogglePlayPause, loadingSource } = this.props\n        const { loadingPlay } = this.state\n        const percentage = (playbackTime - 0) * 100 / (durationSeconds - 0);\n        const rangeBackground = `linear-gradient(90deg, #ffffffde ${percentage}%, #ffffff61 ${percentage}%)`;\n\n        return (\n            <div className=\"calcalist-podcast-popup-player\">\n                <div className=\"calcalist-podcast-popup-player-wrapper\">\n                    <div className=\"popup-player-podcast-controls\">\n                        <div className=\"calcalist-popup-btns-container\">\n                            <button className={`forwardStep jumpto-button`} onClick={this.jumpForward} aria-label=\"skeep 15 seconds\"></button>\n\n                            <button className={`calcalist-popup-play-button ${loadingPlay || loadingSource || isSeeking ? \"calcalist-popup-play-button-loader\" : \"\"}`} onClick={onTogglePlayPause} aria-label={isAudioPlaying ? `pause - ${title}` : `play - ${title}`}>\n                                <div className={`calcalist-popup-play-button-status ${isAudioPlaying ? \"pause\" : \"\"}`} ></div>\n                            </button>\n\n                            <button className={`prevStep jumpto-button`} onClick={this.jumpPrev} aria-label=\"go backwards 15 seconds\"></button>\n                        </div>\n\n                        <div className=\"calcalist-popup-controls-ruler\">\n                            <div className=\"time-text\">{secondsToHms(durationSeconds)}</div>\n                            <input type=\"range\" className=\"timeline\" max={durationSeconds} value={playbackTime} onChange={this.updateCurrentTime} style={{ background: rangeBackground }} />\n                            <div className=\"time-text\">{secondsToHms(playbackTime)}</div>\n                        </div>\n                    </div>\n\n                    <div className=\"popup-player-podcast-title\">{title}</div>\n\n                    <div className=\"popup-player-podcast-image\" style={{ backgroundImage: `url(${podcastImage})` }}></div>\n                </div>\n            </div>\n        )\n    }\n}","import { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\nimport { videoList } from \"../../sideVideoGallery/components/frontSideVideoComponenta\";\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\";\nimport { separateHourFromDateAndFormatToString } from \"../../../../widgetsUtils\";\n\ninterface SideVideoProps {\n\tvideoItems: videoList[];\n\tvideoSettings: VideoSettingsData;\n\tnumOfItems: number;\n\ttitleColor: string;\n\tisAuthorVisible: boolean;\n\tisSubTitleVisible: boolean;\n\tisDateVisible: boolean;\n\tisHourVisible: boolean;\n}\n\ninterface SideVideoState {\n\tselectedId: string;\n\tvideoPlayStarted: boolean;\n\tpage: number;\n}\n\nexport class FrontTvCalcalist extends React.Component<SideVideoProps, SideVideoState> {\n\tpublic static siteScriptName = \"FrontTvCalcalist\";\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tselectedId: props.videoItems[0].id,\n\t\t\tvideoPlayStarted: false,\n\t\t\tpage: 0,\n\t\t};\n\t}\n\tprivate selectItem = (id: string) => {\n\t\tthis.setState({ selectedId: id });\n\t};\n\n\tprivate handleOnVideoPlayStarted = () => {\n\t\tthis.setState({ videoPlayStarted: true });\n\t};\n\n\tprivate handleOnVideoPlayStopped = () => {\n\t\tthis.setState({ videoPlayStarted: false });\n\t};\n\n\tprivate goPrev = () => {\n\t\tthis.setState({ page: 0 });\n\t};\n\n\tprivate goNext = () => {\n\t\tthis.setState({ page: 1 });\n\t};\n\n\trender() {\n\t\tconst { videoItems, videoSettings, numOfItems, titleColor, isAuthorVisible, isSubTitleVisible, isDateVisible, isHourVisible, } = this.props;\n\t\tconst { selectedId, page } = this.state;\n\t\tconst notSelectedItems = videoItems.filter((i) => i.id !== selectedId);\n\t\tconst selectedItem = videoItems.find((i) => i.id === selectedId);\n\t\tconst bottomListStyle = { width: 296 * notSelectedItems.length + \"px\", marginRight: page === 0 ? 0 : -888 };\n\t\tconst buttonClassName = page === 1 ? \"arrowPrev\" : \"arrowNext\";\n\n\t\treturn (\n\t\t\t<div className=\"CalcalistTvContent\">\n\t\t\t\t<div className=\"mainVideo\">\n\t\t\t\t\t<div className=\"slotView\">\n\t\t\t\t\t\t<HyperLinkBuilder\n\t\t\t\t\t\t\tclassName=\"textArea\"\n\t\t\t\t\t\t\thref={selectedItem.link}\n\t\t\t\t\t\t\tlinkTarget={selectedItem.linkTarget}\n\t\t\t\t\t\t\tisDataTbLink\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"itemTitle\"\n\t\t\t\t\t\t\t\tstyle={{ color: titleColor }}\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={{ __html: selectedItem.title }}\n\t\t\t\t\t\t\t\tdata-tb-title=\"\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{isSubTitleVisible && (\n\t\t\t\t\t\t\t\t<div className=\"itemSubTitle\" dangerouslySetInnerHTML={{ __html: selectedItem.subTitle }} data-tb-description=\"\"/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<div className=\"authorAndDateWrapper\">\n\t\t\t\t\t\t\t\t{isAuthorVisible && selectedItem.author.length > 0 && (<div className=\"authorInfo\" data-tb-author>{selectedItem.author}</div>)}\n\t\t\t\t\t\t\t\t{(isDateVisible || isHourVisible) && (\n\t\t\t\t\t\t\t\t\t<div className=\"itemDate\" data-tb-date=\"\">\n\t\t\t\t\t\t\t\t\t\t{separateHourFromDateAndFormatToString(selectedItem.date, {\n\t\t\t\t\t\t\t\t\t\t\tshowHour: isHourVisible,\n\t\t\t\t\t\t\t\t\t\t\tshowDate: isDateVisible,\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t</HyperLinkBuilder>\n\t\t\t\t\t\t<div className=\"videoPlayerPlaceholder\">\n\t\t\t\t\t\t\t{selectedItem.video !== null ? (\n\t\t\t\t\t\t\t\t<SiteMedia\n\t\t\t\t\t\t\t\t\tkey={selectedItem.video.mediaId}\n\t\t\t\t\t\t\t\t\tonPlayStarted={() => this.handleOnVideoPlayStarted()}\n\t\t\t\t\t\t\t\t\tonPlayStopped={() => this.handleOnVideoPlayStopped()}\n\t\t\t\t\t\t\t\t\tdata={selectedItem.video}\n\t\t\t\t\t\t\t\t\tvideoSettings={videoSettings}\n\t\t\t\t\t\t\t\t\twidth={580}\n\t\t\t\t\t\t\t\t\theight={Math.floor((580 / 16) * 9)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (<div />)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{numOfItems > 1 && (\n\t\t\t\t\t<div className=\"bottomList\">\n\t\t\t\t\t\t<div className=\"bottomItems\" style={bottomListStyle}>\n\t\t\t\t\t\t\t{notSelectedItems.map((item, i) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"videoItem slotView\"\n\t\t\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t\t\tonClick={() => this.selectItem(item.id)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"lisPreviewImage\">\n\t\t\t\t\t\t\t\t\t\t<img src={item.video.poster} data-tb-thumbnail/>\n\t\t\t\t\t\t\t\t\t\t<SlotIconDisplay itemId={\"\"} icon={\"video\"} iconClassName=\"medium\" isIconVisible={true} />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"itemTitle\" data-tb-title=\"\">\n\t\t\t\t\t\t\t\t\t\t<div style={{ color: titleColor }} dangerouslySetInnerHTML={{ __html: item.title }} />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"authorAndDateWrapper\">\n\t\t\t\t\t\t\t\t\t\t{isAuthorVisible && item.author.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"authorInfo\" data-tb-author>{item.author}</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{(isDateVisible || isHourVisible) && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"itemDate\" data-tb-date=\"\">\n\t\t\t\t\t\t\t\t\t\t\t\t{separateHourFromDateAndFormatToString(item.date, { showHour: isHourVisible, showDate: isDateVisible })}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{numOfItems === 7 && \n\t\t\t\t\t<button className={buttonClassName} onClick={page === 1 ? this.goPrev : this.goNext} />\n\t\t\t\t}\n\t\t\t</div>\n\t\t);\n\t}\n}\n","import { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { SiteVideoData } from \"widgets/interfaces\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\"\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { separateHourFromDateAndFormatToString } from \"../../../../widgetsUtils\"\nimport { CalcalistShareMenu } from \"../../../../commonComponents/base/CalcalistShareMenu\"\nimport { convertHtmlToString } from \"../../../../../config/utils\"\nimport { CalcalistMutamShareMenu } from \"../../generalMutamComps/calcalistMutamShareMenu\"\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\"\n\nexport interface videoList {\n    video: SiteVideoData\n    link: string\n    linkTarget: LinkTargetProperties\n    title: string\n    roof?:string\n    id: string\n    subTitle?: string\n    author?: string\n    date?: Date\n}\n\ninterface MobileTvCalcalistProps {\n    videoItems: videoList[]\n    videoSettings: VideoSettingsData\n    numOfItems: number\n    titleColor: string\n    isDateVisible: boolean\n    isAuthorVisible: boolean\n}\n\nexport class MobileTvCalcalist extends React.Component<MobileTvCalcalistProps, {}>{\n    public static siteScriptName = \"MobileTvCalcalist\";\n    constructor(props) {\n        super(props);\n    }\n\n    render() {\n        const { videoItems, videoSettings, titleColor, isAuthorVisible, isDateVisible } = this.props\n        return (\n            <div className=\"mobile-tv-calcalist\">\n                {videoItems.map((item, index) => {\n                    if (item && index === 0) {\n                        return (\n                            <MobileTvCalcalistItem\n                                key={item.id}\n                                isMainItem={true}\n                                item={item}\n                                videoSettings={videoSettings}\n                                titleColor={titleColor}\n                                isAuthorVisible={isAuthorVisible}\n                                isDateVisible={isDateVisible}\n                            />\n                        );\n                    } else if (item && index === 1) {\n                        return (\n                            <div className=\"bottom-items\" key=\"bottom-items\">\n                                <MobileTvCalcalistItem\n                                    item={item}\n                                    videoSettings={videoSettings}\n                                    titleColor={titleColor}\n                                    isAuthorVisible={isAuthorVisible}\n                                    isDateVisible={isDateVisible}\n\n                                />\n                                {videoItems.length > 2 && (\n                                    <MobileTvCalcalistItem\n                                        item={videoItems[2]}\n                                        videoSettings={videoSettings}\n                                        titleColor={titleColor}\n                                        isAuthorVisible={isAuthorVisible}\n                                        isDateVisible={isDateVisible}\n                                    />\n                                )}\n                            </div>\n                        );\n                    }\n                    return null;\n                })}\n            </div>\n        )\n    }\n}\n\n\ninterface MobileTvCalcalistItemProps {\n    isMainItem?: boolean\n    item: videoList\n    videoSettings: VideoSettingsData\n    titleColor: string\n    isDateVisible: boolean\n    isAuthorVisible: boolean\n}\n\nexport class MobileTvCalcalistItem extends React.Component<MobileTvCalcalistItemProps, { videoPlayStarted: boolean }>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            videoPlayStarted: false\n        }\n    }\n\n    private handleOnVideoPlayStarted = () => {\n        this.setState({ videoPlayStarted: true })\n    }\n\n    private handleOnVideoPlayStopped = () => {\n        this.setState({ videoPlayStarted: false })\n    }\n\n    render() {\n        const { item, titleColor, videoSettings, isMainItem, isDateVisible, isAuthorVisible } = this.props;\n        const showMore = (isDateVisible && item.date) || (isAuthorVisible && item.author);\n        const showBoth = (isDateVisible && item.date) && (isAuthorVisible && item.author);\n        return (\n            <div className=\"mobile-tv-calcalist-item\">\n                <div className=\"videoPlayerPlaceholder \">\n                    {isMainItem && <CalcalistMutamShareMenu url={item.link} title={convertHtmlToString(item.title)} />}\n                    {item.video !== null ? <SiteMedia\n                        key={item.video.mediaId}\n                        onPlayStarted={() => this.handleOnVideoPlayStarted()}\n                        onPlayStopped={() => this.handleOnVideoPlayStopped()}\n                        data={item.video} videoSettings={videoSettings} width={300} height={168} />\n                        : <div />}\n                </div>\n                <div className=\"item-body\">\n                    <HyperLinkBuilder className=\"title\" href={item.link} linkTarget={item.linkTarget}>\n                    {isMainItem && item.roof && item.roof.length>0 && <div className=\"roofTitle\" data-roof-text={item.roof}><span>{item.roof}</span></div>}\n                       {isMainItem ?  <h5  dangerouslySetInnerHTML={{ __html: item.title }} /> : <span  dangerouslySetInnerHTML={{ __html: item.title }}/>}\n                    </HyperLinkBuilder>\n                    {showMore && <div className=\"more-details\">\n                        {isDateVisible && item.date && <span className=\"dateView\"><DateDisplay date={item.date} hiddenYesterday={true} /> </span>}\n\n\n                        {showBoth && <span className=\"commaView\"> | </span>}\n                        {item.author && isAuthorVisible && <span className=\"authorInfo\" dangerouslySetInnerHTML={{ __html: item.author }} />}\n\n                    </div>}\n                </div>\n\n            </div>\n        )\n    }\n\n\n}","\nimport { formatDate } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\";\nimport * as axios from \"axios\"\nimport { getNewlinkTargetProperties } from \"widgets/widgetsUtils\"\n\n\ndeclare var window: Window & {\n    googletag: any;\n    AdUnitPropertiesClassObj: any;\n}\n\ninterface CalcalistTwentyFourSevenWideMobileProps {\n    numberOfItems: number\n}\n\ninterface CalcalistTwentyFourSevenWideMobileState {\n    currChannle: any\n    articles: CalcalistTwentyFourSevenWideMobileItem[]\n}\n\ninterface CalcalistTwentyFourSevenWideMobileItem {\n    articleId: string\n    dateUpdatedOnSite: string\n    title: string\n    publishedLink: string\n}\n\nexport class CalcalistTwentyFourSevenWideMobile extends React.Component<CalcalistTwentyFourSevenWideMobileProps, CalcalistTwentyFourSevenWideMobileState> {\n    public static siteScriptName = \"CalcalistTwentyFourSevenWideMobile\";\n    constructor(props) {\n        super(props)\n        this.state = {\n            currChannle: { description: 'כל הערוצים', id: '1' },\n            articles: []\n        }\n    }\n\n    componentDidMount() {\n        this.getArticles()\n    }\n\n    private getArticles = () => {\n        const { numberOfItems } = this.props;\n        const { currChannle } = this.state\n        const limitDateRequest = formatDate(new Date(), \"YYYY-MM-DD\");\n\n        axios.get(`/iphone/json/api/twenty_four_seven_wide/${currChannle.id}/${numberOfItems}/1/0/0/${limitDateRequest}`)\n            .then((res: any) => {\n                const recivedArticles = res.data.data;\n                this.setState({\n                    articles: recivedArticles,\n                }, () => this.onDfpRefresh())\n            })\n            .catch(err => console.error(\"error geting articles data:\", err))\n    }\n\n\n    private onDfpRefresh = () => {\n        if (window.googletag && window.AdUnitPropertiesClassObj && window.AdUnitPropertiesClassObj.Define_slots[\"flash.central\"]) {\n            window.googletag.cmd.push(function () { window.googletag.pubads().refresh([window.AdUnitPropertiesClassObj.Define_slots[\"flash.central\"]]); });\n        }\n    }\n\n    render() {\n        const { articles } = this.state;\n        const linkTarget = getNewlinkTargetProperties();\n        return (\n            <div className=\"CalcalistTwentyFourSevenWideMobile\">\n                {_.map(articles, item => {\n                    const { articleId, dateUpdatedOnSite, title, publishedLink } = item;\n                    return (\n                        <HyperLinkBuilder key={articleId} href={publishedLink} linkTarget={linkTarget} className=\"flash-item\">\n                            <DateDisplay hiddenYesterday date={dateUpdatedOnSite} />\n                            <div className=\"content\">{title}</div>\n                        </HyperLinkBuilder>\n                    )\n                })}\n            </div>\n        )\n    }\n}","\nimport { GoogleOAuthProvider } from \"@react-oauth/google\"\nimport { PremiumCalcalistPaywallDesktop } from \"../../../calcalist/calcalistPaywallForms/desktop/premiumCalcalistPaywallDesktop\";\nimport { PremiumCalcalistPaywallMobile } from \"../../../calcalist/calcalistPaywallForms/mobile/premiumCalcalistPaywallMobile\"\n//this maybe should move to Pixel\nconst GOOGLE_CLIENT_ID = \"1088977389634-sgb74uaa1bhp3k5h9hlqtd4fonmcbl3c.apps.googleusercontent.com\";\n\nexport const CalcalistUserAuthComponentaWrapper = ({ isMobile }: { isMobile?: boolean }) => {\n    return (\n        <div className=\"calcalist-page-auth-wrapper\">\n            <GoogleOAuthProvider clientId={GOOGLE_CLIENT_ID}>\n                {isMobile ? <PremiumCalcalistPaywallMobile /> : <PremiumCalcalistPaywallDesktop />}\n            </GoogleOAuthProvider>\n        </div>\n    )\n}\n\nCalcalistUserAuthComponentaWrapper.siteScriptName = \"CalcalistUserAuthComponentaWrapper\"\n","\nimport * as axios from \"axios\"\nimport { CategoryWideBuzzListItem } from \"./calcalistWideBuzzMobileWrapperComponenta\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\nimport { getNewlinkTargetProperties } from \"../../../ynet1280/ynetShops/data/ynetshopsData\"\n\ndeclare var window: Window & {\n    googletag:any;\n    AdUnitPropertiesClassObj:any;\n}\n\ninterface CalcalistWideBuzzMobileComponentaProps {\n    categories: CategoryWideBuzzListItem[]\n    componentaId: string\n}\n\ninterface CalcalistWideBuzzMobileComponentaState {\n    articles: ArticleWideBuzzItem[]\n}\n\ninterface ArticleWideBuzzItem {\n    article_id: string\n    title: string\n    publishedLink: string\n\n}\n\nexport class CalcalistWideBuzzMobileComponenta extends React.Component<CalcalistWideBuzzMobileComponentaProps, CalcalistWideBuzzMobileComponentaState> {\n    public static siteScriptName = \"CalcalistWideBuzzMobileComponenta\";\n\n    constructor() {\n        super();\n        this.state = {\n            articles: []\n        }\n    }\n\n    private getArticles = () => {\n        const { componentaId, categories } = this.props;\n        axios.get(`/iphone/json/api/calcalist_buzz_wide/${componentaId}/${categories[0].id}/1/0/0/0`)\n            .then((res: any) => {\n                const recivedArticles = res.data.data;\n                this.setState({\n                    articles: recivedArticles\n                },()=>this.onDfpRefresh())\n            }).catch(err => console.error(\"error geting articles data:\", err))\n    }\n\n    componentDidMount() {\n        this.getArticles();\n    }\n\n    private onDfpRefresh=()=>{\n        if( window.googletag && window.AdUnitPropertiesClassObj && window.AdUnitPropertiesClassObj.Define_slots[\"text.strip.buzz\"]){\n            window.googletag.cmd.push(function() { window.googletag.pubads().refresh([window.AdUnitPropertiesClassObj.Define_slots[\"text.strip.buzz\"]]); });\n        }\n    }\n\n    render() {\n        const { articles } = this.state;\n        let defaultLinkTarget = getNewlinkTargetProperties();\n        defaultLinkTarget.linkOpenType = \"same\";\n        return (\n            <div className=\"CalcalistWideBuzzMobileComponenta\">\n                {_.map(articles, (item, index) => (\n                    <HyperLinkBuilder key={item.article_id} linkTarget={defaultLinkTarget} className=\"item-container\" href={item.publishedLink}>\n                        <div> {index + 1}. </div>\n                        <div> {item.title}</div>\n                    </HyperLinkBuilder>\n                ))\n                }\n            </div>\n        )\n    }\n}","\nimport Slider from \"react-slick\";\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport { LinkTargetProperties, BaseLinkTypes } from \"../../../../../global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { LinkProperties } from \"global/components/linkSettings/interfaces\"\nimport { carouselItems } from '../../articleCarousel/components/carousel';\nimport { isAriaHidden, getImgAlt, getImgTitle, getNewlinkTargetProperties } from '../../../../widgetsUtils';\n\ninterface ArrowProps {\n    onClick?: () => void;\n}\n\ninterface CaricaturistMobileComponentaProps {\n    data: carouselItems[]\n    tabTitleLink: LinkProperties<BaseLinkTypes>\n    tabTitleLinkTarget: LinkTargetProperties\n    tabTitleText: string\n    tabStyles: React.CSSProperties\n}\n\ninterface CaricaturistMobileComponentaState {\n    currentSlide: number\n}\n\nexport class CalcalistWidePhotoMobileComponenta extends React.Component<CaricaturistMobileComponentaProps, CaricaturistMobileComponentaState> {\n    public static siteScriptName = \"CalcalistWidePhotoMobileComponenta\"\n\n    constructor() {\n        super();\n        this.state = {\n            currentSlide: 0\n        }\n    }\n\n    render() {\n        const widePhotoItems = this.props.data;\n        const { tabTitleLink, tabTitleLinkTarget, tabTitleText, tabStyles } = this.props;\n        const { currentSlide } = this.state;\n        const NextArrow = ({ onClick }: ArrowProps): JSX.Element => (<button disabled={currentSlide == widePhotoItems.length - 1} onClick={onClick} className=\"custom-arrow left\"><span className=\"arrow-icon left\"></span></button>);\n        const PrevArrow = ({ onClick }: ArrowProps): JSX.Element => (<button disabled={currentSlide == 0} onClick={onClick} className=\"custom-arrow right\"><span className=\"arrow-icon right\"></span></button>);\n        const linkTarget = getNewlinkTargetProperties();\n        let settings = {\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            arrows: true,\n            infinite: false,\n            rtl: true,\n            prevArrow: <NextArrow />,\n            nextArrow: <PrevArrow />,\n            afterChange: (current) => {\n                this.setState({ currentSlide: widePhotoItems.length - 1 - current });\n            }\n        }\n\n        return (\n            <div className='calcalistWidePhotoMobileComponenta'>\n                <HyperLinkBuilder className=\"header\" title='פוטו כלכליסט' href={tabTitleLink.link.publishedLink} linkTarget={tabTitleLinkTarget}>\n                    <span className=\"widePhotoIcon-pf\"></span>\n                    <span style={tabStyles} className=\"wide-photo-header-title\">{tabTitleText}</span>\n                    <span className=\"arrow-icon\"></span>\n                </HyperLinkBuilder>\n                <Slider {...settings} >\n                    {widePhotoItems.map(item => {\n                        const { title, publishedLink, path, id, promotionImageDetails } = item;\n                        return <HyperLinkBuilder key={id} href={publishedLink} linkTarget={linkTarget}>\n                            <div className='image-container' title={title}>\n                                <SiteSimpleImage\n                                    src={path}\n                                    alt={getImgAlt(promotionImageDetails)}\n                                    aria-hidden={isAriaHidden(promotionImageDetails)}\n                                    title={getImgTitle(promotionImageDetails)} />\n                                <div className=\"title\">{title}</div>\n                            </div>\n                        </HyperLinkBuilder>\n                    })}\n                </Slider>\n            </div>\n        )\n\n    }\n}\n\n","import { useState } from 'react';\nimport Slider from \"react-slick\";\nimport { HyperLink } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport { LinkTargetProperties, LinkProperties, BaseLinkTypes } from \"../../../../../global/components/linkSettings/interfaces\"\nimport { CaricaturistItem } from \"./caricaturistMobileWrapperComponenta\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\n\ninterface ArrowProps {\n    onClick?: () => void;\n}\n\ninterface CaricaturistMobileComponentaProps {\n    data: CaricaturistItem[]\n    tabTitleLink: string\n    tabTitleLinkTarget: LinkTargetProperties\n}\n\ninterface CaricaturistMobileComponentaState {\n    isDialogOpen: boolean\n    currentSlide: number\n}\n\nexport class CaricaturistMobileComponenta extends React.Component<CaricaturistMobileComponentaProps, CaricaturistMobileComponentaState> {\n    public static siteScriptName = \"CaricaturistMobileComponenta\"\n\n    constructor() {\n        super();\n        this.state = {\n            isDialogOpen: false,\n            currentSlide: 0\n        }\n    }\n\n\n    public openDialog = () => {\n        this.setState({ isDialogOpen: true})\n    }\n\n    public closeDialog = () => {\n        this.setState({ isDialogOpen: false })\n    }\n\n    render() {\n        const caricaturistItems = this.props.data;\n        const { tabTitleLink, tabTitleLinkTarget } = this.props;\n        const { isDialogOpen, currentSlide } = this.state;\n        const NextArrow = ({ onClick }: ArrowProps): JSX.Element => (<button disabled={currentSlide == caricaturistItems.length - 1} onClick={onClick} className=\"custom-arrow left\"><span className=\"arrow-icon left\"></span></button>);\n        const PrevArrow = ({ onClick }: ArrowProps): JSX.Element => (<button disabled={currentSlide == 0} onClick={onClick} className=\"custom-arrow right\"><span className=\"arrow-icon right\"></span></button>);\n\n        let settings = {\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            arrows: true,\n            infinite: false,\n            rtl: true,\n            \n            className: 'caricaturist-carusel',\n            prevArrow: <NextArrow />,\n            nextArrow: <PrevArrow />,\n            afterChange: (index) => {\n                this.setState({ currentSlide: caricaturistItems.length - 1 - index });\n            }\n        }\n        return (\n            <>\n                {isDialogOpen && <CaricaturistDialog {...caricaturistItems[currentSlide] as CaricaturistItem} onClose={this.closeDialog} />}\n                <div className='caricaturistMobileComponenta'>\n                    <HyperLinkBuilder className=\"header\" title='קריקטוריסט' href={tabTitleLink} linkTarget={tabTitleLinkTarget}>\n                        <span className=\"caricaturistIcon-pf\"></span>\n                        <span className=\"caricature-header-title\">קריקטוריסט</span>\n                        <span className=\"arrow-icon\"></span>\n                    </HyperLinkBuilder>\n                    <Slider {...settings} >\n                        {caricaturistItems.map((item, index) => {\n                            const { name, credits, id, path } = item;\n                            return <div key={id} onClick={() => this.openDialog()}>\n                                <div className='image-container' title={name + \", \" + credits}>\n                                    <SiteSimpleImage src={path} alt={name + \", \" + credits} />\n                                    <p className=\"bottom-date-slug\">{name}</p>\n                                </div>\n                            </div>\n                        })}\n                    </Slider>\n                </div >\n            </>\n        )\n\n    }\n}\n\n\n\nexport const CaricaturistDialog = ({ credits, name, path, onClose }) => {\n    return (\n        <div className=\"caricaturist-dialog\" onClick={onClose}>\n            <div className=\"dialog-overlay\"></div>\n            <div className=\"close-btn\"></div>\n            <SiteSimpleImage src={path} alt={name + \", \" + credits} />\n        </div>\n    )\n}\n","import { analyticsPushFunc, openFacebookShare, openTwitterShare } from \"../../../../widgetsUtils\";\n\ninterface CalcalistCartoonActionsProps {\n    articleTitle: string\n    showComments: boolean\n    publishedLink: string\n}\n\nexport class CalcalistCartoonActions extends React.Component<CalcalistCartoonActionsProps, {}> {\n\n    private printArticle = () => {\n        if (typeof window != \"undefined\") {\n            window.print();\n        }\n    }\n\n    private handleShareBtnClicked = (button: string, lang: string) => {\n        const {publishedLink, articleTitle} = this.props;\n        if (typeof window !== \"undefined\") {\n            const current_url = window.location.href;\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(publishedLink, \"\", () => analyticsPushFunc(\"Facebook\", \"Article Side\", articleTitle), \"Article Side\")\n                    break;\n                case \"tw\":\n                    openTwitterShare(publishedLink, () => analyticsPushFunc(\"Twitter\", \"Article Side\", articleTitle), \"Article Side\")\n                    break;\n            }\n        }\n    }\n\n    private isTalkbackElement = () => {\n        if (typeof window !== 'undefined') {\n            return !!document.getElementById(\"SiteArticleComments\");\n        }\n    }\n\n    public render() {\n        const { showComments, publishedLink } = this.props\n        const lang = \"heCalcalist\";\n        const _showComments = showComments || this.isTalkbackElement();\n\n        return (\n            <div className=\"CalcalistCartoonActions\">\n                <ul className=\"actionList\" >\n                    <li title=\"Print\" className=\"share-icon print\" onClick={this.printArticle} />\n                    <li title=\"Twitter\" className=\"share-icon twitter\" onClick={(e) => this.handleShareBtnClicked(\"tw\", lang)} />\n                    <li title=\"Facebook\" className=\"share-icon facebook\" onClick={(e) => this.handleShareBtnClicked(\"fb\", lang)} />\n                </ul>\n            </div>\n        )\n    }\n}","import * as axios from \"axios\"\nimport { CartoonArticleList } from \"./cartoonArticleList\"\nimport { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\"\nimport { MainArticleItem } from \"./mainArticleItem\"\nimport { BaseLinkTypes, LinkProperties, LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { formatDate } from \"../../../../siteWidgets/siteWidgetUtils\"\n\ninterface CartoonArchiveState {\n    currPage: number\n    articles: ArticleExtraData[]\n    isLoadMore: boolean\n    selectedItemIndex: number\n    isDateMenuVisible: boolean\n    limitDate: Date\n    isInitialLimitDate: boolean\n}\ninterface CartoonArchiveProps {\n    firstPageArticles: any\n    componentaId: string\n    promotionImage: string\n    promotionNotes: string\n    publishedLink: string\n    promotionImageText: string\n    promotionImageLinkTarget: LinkTargetProperties\n    promotionImageLink: string\n    isLTR: boolean\n    numberOfVisibleItems: number\n}\n\n\nexport class CartoonArchiveComponenta extends React.Component<CartoonArchiveProps, CartoonArchiveState>  {\n    public static siteScriptName = \"CartoonArchiveComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            currPage: 0,\n            articles: props.firstPageArticles ? props.firstPageArticles : [],\n            isLoadMore: props.firstPageArticles && (props.firstPageArticles.length / this.props.numberOfVisibleItems) >= 1,\n            selectedItemIndex: 0,\n            isDateMenuVisible: false,\n            limitDate:new Date() ,\n            isInitialLimitDate: true\n        }\n    }\n\n    componentDidUpdate(prevProps: CartoonArchiveProps, prevState: CartoonArchiveState, prevContext: any): void {\n        if (prevState.limitDate !== this.state.limitDate ||\n            prevState.currPage !== this.state.currPage) {\n            this.getArticles();\n        }\n        if (prevState.articles !== this.state.articles) {\n            this.setState({\n                isLoadMore: (this.state.articles.length) / ((this.state.currPage + 1) * this.props.numberOfVisibleItems) >= 1\n            })\n        }\n    }\n    private getArticles = () => {\n        const { articles, currPage, limitDate } = this.state;\n        const { componentaId } = this.props;\n        const startDate = new Date('1992-04-01');\n        const formatedStartDate = formatDate(startDate,\"YYYY-MM-DD\");\n        const formatedEndDate = formatDate(limitDate,\"YYYY-MM-DD\");\n        axios.get(`/iphone/json/api/article_list/${componentaId}/startDate/${formatedStartDate}/endDate/${formatedEndDate}/pageNumber/${currPage}`).then((res: any) => {\n            const recivedArticles = res.data.data;\n            this.setState({\n                articles: currPage > 0 ? [...articles, ...recivedArticles] : recivedArticles,\n            })\n        }).catch(err => console.error(\"error geting articles data:\", err))\n    }\n    public onSelectedItemIndexChange = (index) => {\n        this.setState({ selectedItemIndex: index })\n    }\n    private toggleDateMenu = () => {\n        this.setState({\n            isDateMenuVisible: !this.state.isDateMenuVisible,\n        })\n\n    }\n    private handleDayClick = (day, modifiers = {}) => {\n        if (modifiers['disabled']) {\n            return;\n        } else {\n            this.setState({\n                limitDate: day ? day : '',\n                currPage: 0\n            });\n            this.toggleDateMenu();\n            if (this.state.isInitialLimitDate) {\n                this.setState({ isInitialLimitDate: false })\n            }\n        }\n    }\n    private loadMoreArticles = () => {\n        this.setState({ currPage: this.state.currPage + 1 })\n    }\n    public render() {\n        const { articles, selectedItemIndex, isDateMenuVisible, limitDate, isLoadMore, isInitialLimitDate } = this.state\n        const { promotionImage, promotionImageLink, isLTR, promotionImageLinkTarget, publishedLink } = this.props\n\n        return (\n            <div className=\"CartoonArchiveComponenta\">\n                <div className=\"componentTitle\">קריקטוריסט</div>\n                {articles.length > 0 &&\n                    <MainArticleItem\n                        article={articles[selectedItemIndex]}\n                        toggleDateMenu={this.toggleDateMenu}\n                        isDateMenuVisible={isDateMenuVisible}\n                        handleDayClick={this.handleDayClick}\n                        limitDate={limitDate}\n                        isInitialLimitDate={isInitialLimitDate}\n                        isLTR={isLTR}\n                        publishedLink={publishedLink} />}\n                {promotionImage &&\n                    <div className=\"promotionImagewrapper\">\n                        <HyperLinkBuilder href={promotionImageLink} linkTarget={promotionImageLinkTarget}>\n                            <SiteSimpleImage src={promotionImage} className=\"promotionImage\" />\n                        </HyperLinkBuilder>\n                    </div>\n                }\n                {articles.length > 0 &&\n                    <div className=\"cartoons\">\n                        <span className=\"cartoonTitle\">כל הקריקטורות</span>\n                        <CartoonArticleList itemList={articles} onSelectedItemIndexChange={this.onSelectedItemIndexChange} />\n                    </div>}\n                {isLoadMore && <div className=\"loadMore\">\n                    <button className=\"loadMoreButton\" disabled={!isLoadMore || articles.length === 0}\n                        onClick={this.loadMoreArticles}>טען עוד</button>\n                </div>}\n\n            </div>\n        )\n    }\n\n}\n\n\n","import * as axios from \"axios\"\nimport { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport { formatDate } from \"../../../../siteWidgets/siteWidgetUtils\"\nimport { separateHourFromDateAndFormatToString } from \"../../../../widgetsUtils\"\nimport { CaricaturistDialog } from \"../../caricaturist/components/caricaturistMobileComponenta\";\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\"\n\n\ninterface CartoonArchiveState {\n    currPage: number\n    articles: ArticleExtraData[]\n    isLoadMore: boolean\n    selectedItemIndex: number\n    isDateMenuVisible: boolean\n    limitDate: Date\n    isInitialLimitDate: boolean\n    isDialogOpen: boolean\n    bodyOverflow: string\n}\ninterface CartoonArchiveProps {\n    firstPageArticles: any\n    componentaId: string\n    promotionImage: string\n    promotionNotes: string\n    publishedLink: string\n    promotionImageText: string\n    promotionImageLinkTarget: LinkTargetProperties\n    promotionImageLink: string\n    isLTR: boolean\n    numberOfVisibleItems: number\n}\n\n\nexport class CartoonArchiveComponentaMobile extends React.Component<CartoonArchiveProps, CartoonArchiveState>  {\n    public static siteScriptName = \"CartoonArchiveComponentaMobile\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            currPage: 0,\n            articles: props.firstPageArticles ? props.firstPageArticles : [],\n            isLoadMore: props.firstPageArticles && (props.firstPageArticles.length / this.props.numberOfVisibleItems) >= 1,\n            selectedItemIndex: 0,\n            isDateMenuVisible: false,\n            limitDate: new Date(),\n            isInitialLimitDate: true,\n            isDialogOpen: false,\n            bodyOverflow: '',\n        }\n    }\n\n\n    componentDidMount() {\n        this.setState({ bodyOverflow: document.body.style.overflow })\n    }\n\n\n    componentDidUpdate(prevProps: CartoonArchiveProps, prevState: CartoonArchiveState, prevContext: any): void {\n        if (prevState.limitDate !== this.state.limitDate ||\n            prevState.currPage !== this.state.currPage) {\n            this.getArticles();\n        }\n        if (prevState.articles !== this.state.articles) {\n            this.setState({\n                isLoadMore: (this.state.articles.length) / ((this.state.currPage + 1) * this.props.numberOfVisibleItems) >= 1\n            })\n        }\n    }\n    private getArticles = () => {\n        const { articles, currPage, limitDate } = this.state;\n        const { componentaId } = this.props;\n        const startDate = new Date('1992-04-01');\n        const formatedStartDate = formatDate(startDate, \"YYYY-MM-DD\");\n        const formatedEndDate = formatDate(limitDate, \"YYYY-MM-DD\");\n        axios.get(`/iphone/json/api/article_list/${componentaId}/startDate/${formatedStartDate}/endDate/${formatedEndDate}/pageNumber/${currPage}`).then((res: any) => {\n            const recivedArticles = res.data.data;\n            this.setState({\n                articles: currPage > 0 ? [...articles, ...recivedArticles] : recivedArticles,\n            })\n        }).catch(err => console.error(\"error geting articles data:\", err))\n    }\n    public onSelectedItemIndexChange = (index) => {\n        this.setState({ selectedItemIndex: index })\n    }\n\n    private loadMoreArticles = () => {\n        this.setState({ currPage: this.state.currPage + 1 })\n    }\n\n    public openDialog = (index: number) => {\n        this.onSelectedItemIndexChange(index);\n        document.body.style.overflow = 'hidden';\n        this.setState({ isDialogOpen: true })\n    }\n\n    public closeDialog = () => {\n        this.setState({ isDialogOpen: false })\n        document.body.style.overflow = this.state.bodyOverflow;\n    }\n\n    public render() {\n        const { articles, selectedItemIndex, isLoadMore, isDialogOpen } = this.state\n        const { title, promotionImageDetails: { url, credit } } = articles[selectedItemIndex];\n\n        return (\n            <>\n                {isDialogOpen && <CaricaturistDialog\n                    credits={credit}\n                    name={title}\n                    path={url}\n                    onClose={this.closeDialog} />}\n                <div className=\"CartoonArchiveComponenta\">\n                    {articles.map((item, index) => {\n                        const { promotionImageDetails, dateUpdatedOnSite, title } = item;\n                        const { imageId, url } = promotionImageDetails;\n                        return (\n                            <div key={imageId}>\n                                <div className=\"date\">קריקטורה יומית, {separateHourFromDateAndFormatToString(dateUpdatedOnSite, { showDate: true, showHour: false })}</div>\n                                <SiteSimpleImage className=\"img\" src={url} alt={title} onClick={() => this.openDialog(index)} />\n                            </div>\n                        )\n                    })\n                    }\n\n                    {isLoadMore && <div className=\"loadMore\">\n                        <button className=\"loadMoreButton\" disabled={!isLoadMore || articles.length === 0}\n                            onClick={this.loadMoreArticles}>טען עוד</button>\n                    </div>}\n\n                </div >\n            </>\n        )\n    }\n\n}\n","import { getImgAlt, isAriaHidden, separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport * as apiUrls from \"config/apiUrls\"\nimport { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\"\n\ninterface CartoonArticleItemSlotProps {\n    article: Partial<ArticleExtraData>\n    onSelectedItemIndexChange: (index) => void\n    currIndex: number\n}\n\nexport class CartoonArticleItemSlot extends React.Component<CartoonArticleItemSlotProps, {}>{\n    public render() {\n        const { article: { promotionImageDetails, dateUpdatedOnSite }, onSelectedItemIndexChange, currIndex } = this.props;\n        const imageTitle = `${promotionImageDetails.caption}${promotionImageDetails.caption && promotionImageDetails.credit ? \",\" : \"\"}${` ${promotionImageDetails.credit}`}`\n        return (\n            <div className=\"slotItem\" onClick={() => onSelectedItemIndexChange(currIndex)}>\n                <div className=\"mediaArea\">\n                    <div className=\"MediaCarousel\" >\n                            <img src={apiUrls.getImageUrl(promotionImageDetails, { w: 270, h: 182 })}\n                                style={{ width: 270, height: 182 }}\n                                alt={getImgAlt(promotionImageDetails)}\n                                aria-hidden={isAriaHidden(promotionImageDetails)}\n                                title={imageTitle}\n                        />\n                    </div>\n                </div>\n                <span className=\"dateView\">\n                    {separateHourFromDateAndFormatToString(dateUpdatedOnSite, { showDate: true, showHour: false })}\n                </span>\n            </div>\n\n        )\n    }\n}","import { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\"\nimport { CartoonArticleItemSlot } from \"./cartoonArticleItemSlot\"\n\ninterface CartoonArticleListProps {\n    itemList: ArticleExtraData[]\n    onSelectedItemIndexChange: (index) => void\n}\n\nexport class CartoonArticleList extends React.Component<CartoonArticleListProps, {}>{\n    public render() {\n        const { itemList, onSelectedItemIndexChange } = this.props\n        return (\n            <div className=\"CartoonArticleList slotList\" >\n                {itemList.map((item, i) =>\n                    <CartoonArticleItemSlot\n                        key={i}\n                        article={item}\n                        onSelectedItemIndexChange={onSelectedItemIndexChange}\n                        currIndex={i}\n                    />)}\n            </div>\n        )\n    }\n}","import { getImgAlt, isAriaHidden, separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport * as apiUrls from \"config/apiUrls\"\nimport { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\"\nimport { SimpleLinkRenderer } from \"../../../../commonComponents/inline/hyperLink\"\nimport { CtechDatePickerMenu } from \"../../../ctechWidgets/ctechWideBuzz/components/ctechDatePickerMenu\"\nimport { CalcalistCartoonActions } from \"./calcalistCartoonActions\"\n\ninterface MainArticleItemProps {\n    article: Partial<ArticleExtraData>\n    toggleDateMenu: () => void\n    isDateMenuVisible: boolean\n    handleDayClick: (day: any, modifiers?: {}) => void\n    isLTR: boolean\n    limitDate: Date\n    isInitialLimitDate: boolean\n    publishedLink: string\n}\n\nexport class MainArticleItem extends React.Component<MainArticleItemProps, {}>{\n    public render() {\n        const { article, article: { title, promotionImageDetails, publishedLink, dateUpdatedOnSite  },\n            toggleDateMenu, isDateMenuVisible, handleDayClick, isLTR, limitDate, isInitialLimitDate} = this.props;\n        const days = ['ראשון', 'שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת']\n        const dayPickerPreferences = {\n            showOutsideDays: true,\n            month: new Date(),\n            toMonth: new Date(),\n            fixedWeeks: true,\n            disabledDays: [\n                {\n                    after: new Date(new Date().setDate(new Date().getDate() ))\n                }\n            ]\n        }\n        const currDayName = days[new Date(`${dateUpdatedOnSite }`).getDay()]\n        const currDayDate = separateHourFromDateAndFormatToString(new Date(`${dateUpdatedOnSite }`).toUTCString(), { showDate: true, showHour: false })\n        const imageTitle = `${promotionImageDetails.caption}${promotionImageDetails.caption && promotionImageDetails.credit ? \",\" : \"\"}${` ${promotionImageDetails.credit}`}`\n\n        return (\n            <div className=\"MainArticleItem\" >\n                <div className=\"rightArea\" >\n                    <div className=\"currDayTitle\">\n                        <span className=\"currDayName\">{`יום ${currDayName}`}</span>\n                        <span className=\"currDayDate\">{currDayDate}</span>\n                    </div>\n                    <CtechDatePickerMenu toggleDateMenu={toggleDateMenu} limitDate={limitDate}\n                        isDateMenuVisible={isDateMenuVisible} handleDayClick={handleDayClick}\n                        dayPickerPreferences={dayPickerPreferences} isLTR={isLTR} isInitialLimitDate={isInitialLimitDate} />\n                    <CalcalistCartoonActions articleTitle={title}\n                        showComments={true}\n                        publishedLink={publishedLink} />\n                </div>\n                <div className=\"mediaArea\">\n                    <div className=\"MediaCarousel\" >\n                        <SimpleLinkRenderer href={publishedLink}>\n                            <img src={apiUrls.getImageUrl(promotionImageDetails, { w: 654, h: 442 })}\n                                title={imageTitle}\n                                style={{ width: 654, height: 442 }}\n                                className=\"MainImageMedia\"\n                                alt={getImgAlt(promotionImageDetails)}\n                                aria-hidden={isAriaHidden(promotionImageDetails)}\n                            />\n                        </SimpleLinkRenderer>\n                    </div>\n                </div>\n            </div>\n\n        )\n    }\n}\n","import * as classNames from \"classnames\"\nrequire('./ctech_calcalist_site_hamburgerButton.less')\n\ninterface HamburgerProps {\n    onToggleMenu: () => void\n    isOpened: boolean\n}\n\nexport class HamburgerButtonComponenta extends React.Component<HamburgerProps, {}> {\n    constructor(props) {\n        super(props)\n    }\n    render() {\n        const { onToggleMenu, isOpened } = this.props\n        let hamburgerCalssName = classNames(\"hamburger\", { \"active\": isOpened })\n        return (\n\n            <div id=\"menu-button\" className={hamburgerCalssName} onClick={onToggleMenu}>\n                <span></span>\n            </div>\n        )\n\n\n    }\n}","import * as classNames from \"classnames\"\nimport * as map from \"lodash/map\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder, SimpleLinkRenderer } from \"../../../../../commonComponents/inline/hyperLink\"\n\nexport interface HamburgerMenuItems {\n    title: string\n    link: string\n    linkTarget: LinkTargetProperties\n    color: string\n    bgColor?: string\n    isSelected?: boolean\n    categoryId: string\n    isBolded?:boolean\n}\n\ninterface MenuProps {\n    menuItems: HamburgerMenuItems[]\n    width: number\n    isOpenedHam: boolean\n}\n\nexport class MenuListComponenta extends React.Component<MenuProps, {}> {\n    constructor(props) {\n        super(props)\n\n    }\n    render() {\n        const { menuItems, width, isOpenedHam } = this.props\n        let style = { width: `${width}px` }\n        const opened = isOpenedHam ? \"opened\" : \"\";\n        return (\n\n            <div className={`CalcalistMeniList ${opened}`} style={style} >\n                <ul>\n                    {map(menuItems, (item, i) =>\n                        <li key={i}>\n                            <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} style={{ color: item.color, background: item.bgColor }}>\n                                <span dangerouslySetInnerHTML={{ __html: item.title }} />\n                            </HyperLinkBuilder>\n                        </li>)}\n                </ul>\n                <div className=\"bottomLinks\">\n                    <div className=\"linksWithIcons\">\n                      <SimpleLinkRenderer href=\"/home/0,7340,L-3857,00.html\" target=\"_blank\" className=\"c-icon-wrp hd-btn\" title=\"ניוזלטר\"><span className=\"t-newsletter icon-red\"></span><span className=\"t-title adom ShualRegular\">ניוזלטר</span></SimpleLinkRenderer>\n                        <SimpleLinkRenderer href=\"//www.calcalist.co.il/podcast\" className=\"c-icon-wrp hd-btn\" title=\"פודקאסט\"><span className=\"t-podcast icon-red\"></span><span className=\"t-title adom ShualRegular\">פודקאסט</span></SimpleLinkRenderer>\n                        <SimpleLinkRenderer href=\"//www.calcalist.co.il/tv\" className=\"c-icon-wrp hd-btn\" title=\"כלכליסט TV\"><span className=\"t-tv icon-red\"></span><span className=\"t-title adom ShualRegular\">כלכליסט TV</span></SimpleLinkRenderer>\n                        <SimpleLinkRenderer href=\"https://www.youtube.com/calcalist\" target=\"_blank\" className=\"c-icon-wrp hd-btn\" title=\"כלכליסט ביוטיוב\"><span className=\"t-youtube icon-red\"></span><span className=\"t-title adom ShualRegular\">כלכליסט ביוטיוב</span></SimpleLinkRenderer>\n                        <SimpleLinkRenderer href=\"https://z.calcalist.co.il/mvc/short/2018/Dreamcard/Home/Index\" target=\"_blank\" className=\"c-icon-wrp hd-btn\" title=\"מינוי לעיתון\"><span className=\"t-sub icon-red\"></span><span className=\"t-title adom ShualRegular\">מינוי לעיתון</span></SimpleLinkRenderer>\n                        <SimpleLinkRenderer href=\"https://z.calcalist.co.il/mvc/long/2022/DigitalSubscription/Registration/Subscribe.aspx?type=evrit\" target=\"_blank\" className=\"c-icon-wrp hd-btn downloadApp\" title=\"מינוי דיגיטלי\"><span className=\"t-paperdigital icon-red\"></span><span className=\"t-title adom ShualRegular\">מינוי דיגיטלי</span></SimpleLinkRenderer>\n                        <SimpleLinkRenderer href=\"https://www.calcalist.co.il/home/0,7340,L-3800,00.html\" className=\"c-icon-wrp hd-btn last\" title=\"שירות לקוחות\"><span className=\"t-service icon-red\"></span><span className=\"t-title adom ShualRegular\">שירות לקוחות</span></SimpleLinkRenderer>\n\n                    </div>\n                </div>\n            </div>\n        )\n\n\n    }\n}","import { HamburgerButtonComponenta } from \"./hamburgerMenuList/hamburgerButton\";\nimport { SearchButtonComponenta } from \"./searchInput/openSearchButton\";\nimport { MenuListComponenta, HamburgerMenuItems } from \"./hamburgerMenuList/menuList\"\nimport { CalcalistSearchComponenta } from \"./searchInput/searchArea\";\n\nrequire('././hamburgerMenuList/ctech_calcalist_site_menu.less')\nrequire('./searchInput/ctech_calcalist_site_search_area.less')\ninterface HamburgerProps {\n    menuItems: HamburgerMenuItems[]\n    width: number\n    domain:string\n}\n\ninterface HamburgerState {\n    isOpenedHam: boolean\n    isOpenedSearch: boolean\n}\nexport class LeftSideMenuComponenta extends React.Component<HamburgerProps, HamburgerState> {\n    public static siteScriptName = \"LeftSideMenuComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            isOpenedHam: false,\n            isOpenedSearch: false\n        }\n    }\n\n    private onToggleHam = () => {\n        this.setState({ isOpenedHam: !this.state.isOpenedHam, isOpenedSearch: false })\n    }\n    private onToggleSearch = () => {\n        this.setState({ isOpenedSearch: !this.state.isOpenedSearch, isOpenedHam: false })\n    }\n    render() {\n        const { menuItems, width , domain} = this.props\n        return (\n\n            <div className=\"LeftSideMenu no-print\">\n                <SearchButtonComponenta onToggleSearch={this.onToggleSearch} isOpened={this.state.isOpenedSearch} />\n                <HamburgerButtonComponenta onToggleMenu={this.onToggleHam} isOpened={this.state.isOpenedHam} />\n                <MenuListComponenta menuItems={menuItems} width={width} isOpenedHam={this.state.isOpenedHam} />\n                {this.state.isOpenedSearch && <CalcalistSearchComponenta width={width} domain={domain} />}\n            </div>\n        )\n\n\n    }\n}","import { LinkProperties, BaseLinkTypes, LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\n\nexport interface LogoProps {\n    url: string\n    mediaTitle: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\n\nexport class LogoComponenta extends React.Component<LogoProps, {}> {\n    constructor(props) {\n        super(props)\n    }\n\n    render() {\n        const { url, mediaTitle, link, linkTarget } = this.props\n\n        return (\n            <div className=\"logo no-print\">\n                <HyperLinkBuilder href={link} linkTarget={linkTarget} ariaLabel={mediaTitle}>\n                    <SiteSimpleImage src={url} alt={mediaTitle} title={mediaTitle} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                </HyperLinkBuilder>\n            </div>\n        )\n    }\n}","import { DataList } from \"widgets/commonDataObjects/dataList\"\nimport { MainNavItemSlotData } from \"../../data/mainNav/mainNavItemSlotData\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport { LinkTargetProperties } from \"../../../../../../global/components/linkSettings/interfaces\"\n\ninterface MainNavProps {\n    items: MainNavitem[]\n}\n\nexport interface MainNavitem {\n    link: string\n    linkTarget: LinkTargetProperties\n    mediaTitle: string\n    color: string\n    url: string\n    title: string\n}\n\nexport class MainNavComponenta extends React.Component<MainNavProps, {}> {\n    constructor(props) {\n        super(props)\n    }\n\n    render() {\n        const { items } = this.props\n        return (\n            <div className=\"mainNav no-print\" role=\"navigation\" aria-label=\"Main Menu\">\n                <ul>\n                    {_.map((items), (item: any, index: number) =>\n                        <li key={index}>\n                            <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} ariaLabel={item.mediaTitle} style={{ color: item.color }}>\n                                {item.url !== \"\" ? <SiteSimpleImage src={item.url} alt={item.mediaTitle} title={item.mediaTitle} width={\"auto\"} height={\"auto\"} /> :\n                                    <span dangerouslySetInnerHTML={{ __html: item.title }} />\n                                }\n                            </HyperLinkBuilder>\n                        </li>\n                    )}\n                </ul>\n            </div>\n        )\n    }\n}","import { MainMobileHeaderItem, SecondaryMobileHeaderItem, MenuSettings } from \"./categoryHeaderMutamWrapper\";\nimport { categoryObj } from \"../../../../ynet1280/videoGalleryVerticalWidget/components/videoGalleryVerticalMutamComponenta\";\nimport { CategoryHeaderMutamSideMenu } from \"./categoryHeaderMutamSideMenu\";\nimport { useState } from \"react\"\nimport { SimpleLinkRenderer } from \"../../../../../commonComponents/inline/hyperLink\";\n\ninterface CategoryHeaderMutamProps {\n    mainItems: MainMobileHeaderItem[]\n    secondaryItems: SecondaryMobileHeaderItem[]\n    category: categoryObj\n    menuSettings: MenuSettings\n    isArticlePage:boolean\n    domain:string\n}\n\nexport const CategoryHeaderMutam = (props: CategoryHeaderMutamProps) => {\n\n    const { mainItems, secondaryItems, category, menuSettings, isArticlePage, domain } = props\n    const [showSideMenu, setShowSideMenu] = useState<boolean>(false)\n    let selectedId = category ? category.id : \"\";\n    const selectedCategory = mainItems.find(item => item.categoryId === selectedId) || secondaryItems.find(item => item.categoryId === selectedId)\n    const onSideMenuBtnClick = () => {\n        setShowSideMenu(!showSideMenu)\n       \n    }\n    const overflow = showSideMenu ? \"hidden\" : \"scroll\";\n    const bodyStyle = `body{overflow:${overflow} ! important}`\n    return (\n        <div className=\"category-header-mutam\" style={{ backgroundColor: selectedCategory && selectedCategory.bgColor ? selectedCategory.bgColor : \"#d01e25\" }}>\n           <style>\n           {bodyStyle}\n           </style>\n            <CategoryHeaderMutamSideMenu\n                mainItems={mainItems}\n                secondaryItems={secondaryItems}\n                showSideMenu={showSideMenu}\n                menuSettings={menuSettings}\n                domain={domain}\n                oncloseMenu={onSideMenuBtnClick}\n            />\n\n            <div className=\"menu-logo side-menu-logo\" onClick={onSideMenuBtnClick}></div>\n\n            <div className=\"heder-title\">\n                {isArticlePage ? category.name :(selectedCategory && selectedCategory.categoryId!==\"8\" && selectedCategory.title ?\n                    selectedCategory.title\n                    :\n                    <div className=\"menu-logo calcalist-main-logo\"></div>)\n                }\n            </div>\n\n            <div className=\"header-logo\">\n                {selectedCategory ?\n                    <SimpleLinkRenderer href=\"/\" title=\"כלכליסט עמוד הבית\">\n                        <div className=\"menu-logo calcalist-logo\"></div>\n                    </SimpleLinkRenderer>\n                    :\n                    <SimpleLinkRenderer href=\"https://onelink.to/jetqkv\" title=\"הורדת אפליקציית כלכליסט\">\n                        <div className=\"menu-logo download-app-logo\"></div>\n                    </SimpleLinkRenderer>\n                }\n            </div>\n        </div>\n    )\n}\n\nCategoryHeaderMutam.siteScriptName = 'CategoryHeaderMutam'\n","import { MainMobileHeaderItem, SecondaryMobileHeaderItem, MenuSettings } from \"./categoryHeaderMutamWrapper\";\nimport { HyperLinkBuilder, SimpleLinkRenderer } from \"../../../../../commonComponents/inline/hyperLink\"\nimport { SiteSimpleImage } from \"../../../../../commonComponents/inline/siteSimpleImage\";\n\n\ninterface categoryHeaderMutamSideMenuProps {\n    mainItems: MainMobileHeaderItem[]\n    secondaryItems: SecondaryMobileHeaderItem[]\n    showSideMenu: boolean\n    menuSettings: MenuSettings\n    domain:string\n    oncloseMenu:()=>void\n}\ninterface menuPopUpState {\n \n    userInput: string\n}\nexport class CategoryHeaderMutamSideMenu extends React.Component<categoryHeaderMutamSideMenuProps, menuPopUpState>{\n    constructor(props) {\n        super(props)\n\n        this.state = {\n            userInput: \"\",\n        }\n\n    }\n    private updateInputValue = (evt) => {\n        this.setState({ userInput: evt.target.value });\n    }\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n    private search = () => {\n        const { userInput: typedUserInput } = this.state;\n\n        if (!typedUserInput) {\n            return\n        }\n        let fullUrl = \"\"\n        const urlTail = \"?cx=partner-pub-0047680307646695:9309925491&cof=FORID:10&ie=UTF-8&q=\"\n        fullUrl = `${this.props.domain}/category/3735${urlTail}${typedUserInput}`\n\n        fullUrl\n        window.open(fullUrl, '_top');\n    }\n    private handleInputKeyPress = (evt: React.KeyboardEvent) => {\n        if (evt.key === \"Enter\") {\n            this.search();\n        }\n\n    }\n\n    render() {\n        const { mainItems, secondaryItems, showSideMenu, menuSettings, oncloseMenu } = this.props\n        const {userInput}=this.state\n\n        const termsLinkTarget = menuSettings.termsLinkTarget.linkOpenType === \"new\" ? \"_blank\" : \"_top\";\n        const privacyLinkTarget = menuSettings.privacyLinkTarget.linkOpenType === \"new\" ? \"_blank\" : \"_top\";\n        return (\n            <div className={`category-header-mutam-side-menu ${showSideMenu ? \"show\" : \"hide\"}`}>\n                <div className=\"searchArea\">\n                    <button className=\"srhBtn\" onClick={this.search} />\n                    <input\n                        alt=\"חפש/י\"\n                        className=\"mutamSrchBox\"\n                        id=\"mutamSrchBox\"\n                        aria-label=\"חיפוש\"\n                        type=\"text\"\n                        value={userInput}\n                        placeholder=\"חפש/י\"\n                        onChange={this.updateInputValue}\n                        onKeyPress={this.handleInputKeyPress}\n\n                    />\n                </div>\n                <div className=\"navArea\">\n                <div className=\"header-categories-list\">\n              \n\n                    <div className=\"header-items main-items\">\n                        {mainItems.map(item =>\n                            <SimpleLinkRenderer href={item.link} target={item.linkTarget} ariaLabel={item.title} className=\"header-item main-item\" key={item.itemId}>\n                                {item.sideMenuImage && <SiteSimpleImage src={item.sideMenuImage} alt={item.title} title={item.title} width={15} height={15} />}\n                                <div className=\"item-title\">{item.title}</div>\n                            </SimpleLinkRenderer>\n                        )}\n                    </div>\n\n                    <div className=\"separator\"></div>\n\n                    <div className=\"header-items secondary-items\">\n                        {secondaryItems.map(item =>\n                            <SimpleLinkRenderer href={item.link} target={item.linkTarget} ariaLabel={item.title} className=\"header-item secondary-item\" key={item.itemId}>\n                                <div className=\"item-title\">{item.title}</div>\n                            </SimpleLinkRenderer>\n                        )}\n                    </div>\n\n                    <div className=\"header-items menu-settings\">\n                        <SimpleLinkRenderer href={menuSettings.privacyLink.link.publishedLink} target={termsLinkTarget} ariaLabel={'מדיניות פרטיות'} className=\"menu-settings-item\">\n                            <div className=\"menu-settings-title\">מדיניות פרטיות</div>\n                        </SimpleLinkRenderer>\n                        <SimpleLinkRenderer href={menuSettings.termsLink.link.publishedLink} target={privacyLinkTarget} ariaLabel={'תנאי שימוש'} className=\"menu-settings-item\">\n                            <div className=\"menu-settings-title\">תנאי שימוש</div>\n                        </SimpleLinkRenderer>\n                    </div>\n\n                </div>\n\n                <div className=\"side-menu-black-menu\">\n                    <SimpleLinkRenderer href=\"/stock\" className=\"black-menu-link\" title=\"פורטל פיננסי\">\n                        <div className=\"menu-icon finance-icon\" />\n                        <span className=\"menu-title\">פורטל פיננסי</span>\n                    </SimpleLinkRenderer>\n\n                    <SimpleLinkRenderer href=\"/tv\" className=\"black-menu-link\" title=\"TV כלכליסט\">\n                        <div className=\"menu-icon tv-icon\" />\n                        <span className=\"menu-title\">TV כלכליסט</span>\n                    </SimpleLinkRenderer>\n\n                    <SimpleLinkRenderer href=\"/podcast\" className=\"black-menu-link\" title=\"פודקאסט כלכליסט\">\n                        <div className=\"menu-icon podcast-icon\" />\n                        <span className=\"menu-title\">פודקאסט כלכליסט</span>\n                    </SimpleLinkRenderer>\n\n                    <SimpleLinkRenderer href=\"/redmail\" className=\"black-menu-link\" title=\"דואר אדום\">\n                        <div className=\"menu-icon red-mail-icon\" />\n                        <span className=\"menu-title red-mail-title\">דואר אדום</span>\n                    </SimpleLinkRenderer>\n\n                    <div id=\"INDmenu-btn3\" className=\"black-menu-link\" title=\"אתר נגיש\" accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" role=\"button\"\n                        onClick={this.clickAcessibilityBtn}>\n                        <div className=\"menu-icon accessability-icon\" />\n                        <span className=\"menu-title\">נגישות</span>\n                    </div>\n                </div>\n                </div>\n             \n\n               <div className=\"side-menu-mask\" onClick={oncloseMenu}></div> \n            </div>\n        )\n    }\n}\n","import * as classNames from \"classnames\"\nrequire('./ctech_calcalist_site_search_area.less')\n\ninterface SearchProps {\n    onToggleSearch: () => void\n    isOpened: boolean\n}\n\nexport class SearchButtonComponenta extends React.Component<SearchProps, {}> {\n    constructor(props) {\n        super(props)\n    }\n    render() {\n        const { onToggleSearch, isOpened } = this.props\n        let searchClassName = classNames(\"searchButton\", { \"active\": isOpened })\n        return (\n\n            <div id=\"search-button\" className={searchClassName} onClick={onToggleSearch}>\n                <img alt=\"חיפוש\" src=\"/images/1280/header/h_search.png\" />\n            </div>\n        )\n\n\n    }\n}","import { isWcmEditor } from \"config/serverConfig\"\nimport * as map from \"lodash/map\"\n\ninterface SearchProps {\n    width: number\n    domain: string\n\n}\nexport type SearchType = \"articles\" | \"stocks\" | \"video\" | \"internet\";\nexport interface SearchList {\n    type: SearchType\n    title: string\n}\nexport interface stockObj {\n    sug: string\n    linkto: string\n}\ninterface SearchState {\n    searchType: SearchType\n    typedUserInput: string,\n    stocksResultsValue: any[]\n    stockValue: string\n    selectedStock: stockObj\n}\nexport class CalcalistSearchComponenta extends React.Component<SearchProps, SearchState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            searchType: \"articles\",\n            typedUserInput: \"\",\n            stocksResultsValue: null,\n            selectedStock: null,\n            stockValue: \"\"\n\n        }\n    }\n    private updateInputValue = (evt) => {\n        this.setState({ typedUserInput: evt.target.value });\n    }\n\n    private search = () => {\n        const { typedUserInput } = this.state;\n        const { domain } = this.props\n        let urlHead = \"\"\n        let userInput = \"\"\n        let fullUrl = \"\"\n        let urlTail = \"\"\n\n        if (!isWcmEditor()) {\n            urlHead = `${domain}/category/3735`\n            userInput = typedUserInput\n            urlTail = \"?cx=partner-pub-0047680307646695:9309925491&cof=FORID:10&ie=UTF-8&q=\"\n            fullUrl = urlHead + urlTail + userInput\n            location.href = fullUrl\n        }\n\n    }\n\n    private handleInputKeyPress = (evt: React.KeyboardEvent) => {\n        if (evt.key === \"Enter\") {\n            this.search();\n        }\n\n    }\n\n\n\n\n\n\n    render() {\n        const { width } = this.props\n        const { typedUserInput } = this.state\n        let typeList: SearchList[] =\n            [{ type: \"articles\", title: \"כתבות\" }]\n        let style = { width: `${width}px` }\n        return (\n            <div className=\"SearchArea\" style={style}>\n                <div className=\"searchContainer\">\n                    <ul className=\"searchTypeList\">\n                        {map(typeList, (item, i) =>\n                            <li key={i} id={item.type} >\n                                <a data-name={item.type} className={\"active\"}>{item.title}</a>\n                            </li>\n                        )}\n                    </ul>\n                    <div className=\"search-field\">\n                        <input\n                            type=\"text\"\n                            id=\"queryString\"\n                            placeholder=\"חפש\"\n                            maxLength={25}\n                            onKeyPress={this.handleInputKeyPress}\n                            onChange={this.updateInputValue}\n                            value={typedUserInput} />\n                        <span className=\"search-btn\"></span>\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}\n","import { StampaComponenta } from \"./stampaComponenta\";\nimport { LogoComponenta } from \"./logo/logoComponenta\";\nimport { stampaType } from \"../windows/logo/stampaSelector\"\nimport { HamburgerMenuItems } from \"./hamburgerMenuList/menuList\";\nimport { LeftSideMenuComponenta } from \"./leftSideMenuComponenta\";\nimport { MainNavComponenta, MainNavitem } from \"./mainNav/mainNavComponenta\";\nimport { isWcmEditor } from \"../../../../../config/serverConfig\";\nimport { SiteSimpleImage, getImagesSrc } from \"widgets/commonComponents/inline/siteSimpleImage\"\n\ninterface SiteProps {\n    logoProps: any\n    mainNavItems: MainNavitem[]\n    menuItems: HamburgerMenuItems[]\n    stampa: stampaType\n    width: number\n    imagesDomain?:string\n    domain?:string\n}\n\ninterface SiteState {\n    isSticky: boolean\n}\n\nexport class SiteCategoryHeaderComponenta extends React.Component<SiteProps, SiteState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            isSticky: false\n        }\n    }\n\n    public static siteScriptName = \"SiteCategoryHeaderComponenta\"\n\n    private activateStickyHandler = () => {\n        let header = document.getElementById(\"CalcalistCategoryHeader\");\n        let sticky = this.getOffsetTop(header);\n\n        document.addEventListener(\"scroll\", (e) => {\n            if (window.pageYOffset > sticky) {\n                !this.state.isSticky ? this.setState({ isSticky: true }) : ''\n            } else {\n                this.state.isSticky ? this.setState({ isSticky: false }) : ''\n            }\n        })\n    }\n\n    private getOffsetTop = element => {\n        let offsetTop = 0;\n        while (element) {\n            offsetTop += element.offsetTop;\n            element = element.offsetParent;\n        }\n        return offsetTop;\n    }\n\n    componentDidMount() {\n        this.activateStickyHandler()\n    }\n\n    render() {\n        const { logoProps, mainNavItems, menuItems, stampa, width, imagesDomain, domain } = this.props\n        const { isSticky } = this.state\n\n        return (\n            <div className={isSticky ? \"isSticky\" : ''}>\n                    <SiteSimpleImage src={getImagesSrc(imagesDomain, logoProps.url)} className=\"calcalistPrintlogo\" />\n                <div id=\"CalcalistCategoryHeader\" className=\"CalcalistCategoryHeader no-print\">\n                    {!isWcmEditor() && <div className=\"calcalistHeaderBg no-print\" />}\n                    <StampaComponenta stampa={stampa} />\n                    <LogoComponenta url={getImagesSrc(imagesDomain, logoProps.url)} mediaTitle={logoProps.mediaTitle} link={logoProps.link} linkTarget={logoProps.linkTarget} />\n                    <MainNavComponenta items={mainNavItems} />\n                    <LeftSideMenuComponenta menuItems={menuItems} width={width} domain={domain} />\n                </div>\n            </div>\n        )\n    }\n}","import { stampaType } from \"../windows/logo/stampaSelector\";\n\ninterface StampaProps {\n    stampa: stampaType\n}\n\n\nexport class StampaComponenta extends React.Component<StampaProps, {}> {\n\n\n\n    render() {\n        const { stampa } = this.props\n        let imgSrc;\n        if (stampa === \"holiday\") {\n            imgSrc = \"happy.png\"\n        }\n        else if (stampa === \"independence\") {\n            imgSrc = \"NavbarPatch_M.png\"\n        }\n        else if (stampa === \"newyear\") {\n            imgSrc = \"shana.png\"\n        }\n        if (stampa === \"none\") return null\n        else return (\n            <img className={`stampa no-print ${stampa}`} src={`/images/1280/header/${imgSrc}`} />\n\n        )\n\n\n    }\n}","require(\"./calcalist_site_commertialComponenta.less\")\nimport Slider from 'react-slick'\nimport { SiteMediaData } from \"widgets/interfaces\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteMedia } from '../../../../siteWidgets/siteMedia';\nimport * as classNames from \"classnames\"\nimport * as map from \"lodash/map\"\nimport * as ResizeObserver from \"resize-observer-polyfill\"\n\nexport interface CommertialItemData {\n    media: SiteMediaData\n    title: string\n    subTitle: string\n    link: string\n    targetLink: LinkTargetProperties\n}\n\ninterface CommertialFrontComponentaMutamState {\n    activeSlide: number\n    screenWidth: number\n}\n\ninterface CommertialFrontComponentaMutamProps {\n    tabTitle: string\n    itemList: CommertialItemData[]\n    tabColor: string\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    titleColor: string\n    subTitleColor: string\n    gallerySeconds: number\n}\n\nexport class CommertialFrontComponentaMutam extends React.Component<CommertialFrontComponentaMutamProps, CommertialFrontComponentaMutamState>{\n    public static siteScriptName = \"CommertialFrontComponentaMutam\";\n    constructor(props: CommertialFrontComponentaMutamProps) {\n        super(props);\n        this.state = {\n            activeSlide: 0,\n            screenWidth:0,\n        }\n    }\n\n    private slider;\n    private resizeObserver: ResizeObserver;\n\n    componentDidMount() {\n        const screenElement = document.querySelector(\"html\");\n        this.resizeObserver = new ResizeObserver(records => records.forEach(r => {\n            this.onContentWidthChanged(r.contentRect.width)\n        }))\n\n        screenElement && this.resizeObserver.observe(screenElement);\n    }\n\n    componentWillUnmount() {\n        this.resizeObserver && this.resizeObserver.disconnect()\n\n    }\n\n    private goToSlide = (i) => {\n        this.slider.slickGoTo(i);\n        this.setState({ activeSlide: i });\n    }\n\n    private onContentWidthChanged = (screenWidth: number) => {\n        this.setState({ screenWidth });\n    }\n\n    public render() {\n        const { itemList, tabLink, tabLinkTarget, tabColor, tabTitle, titleColor, subTitleColor, gallerySeconds } = this.props;\n        const { activeSlide,screenWidth } = this.state;\n        const settings = {\n            infinite: true,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            autoplay: true,\n            beforeChange: (current, next) => this.setState({ activeSlide: next }),\n            autoplaySpeed: gallerySeconds * 100000,\n            nextArrow: <SampleNextArrow />,\n            prevArrow: <SamplePrevArrow />,\n        };\n\n        return (\n            <div className={`CommertialComponentaMutam`}>\n                <h2 className=\"tabComponenta\" >\n                    <HyperLinkBuilder className=\"titleLink tabTitle\" href={tabLink} linkTarget={tabLinkTarget} style={{ color: tabColor }}><div className=\"mainTitleText\" >{tabTitle}</div></HyperLinkBuilder>\n                </h2>\n                <div className=\"commertialSlider\" >\n                    <div className=\"sliderList\">\n                        {map(itemList, (item, i) =>\n                            <h5 className={classNames(\"slotTitle\", { \"activeSlide\": i === activeSlide })} key={i} onMouseEnter={() => this.goToSlide(i)}>\n                                    <div dangerouslySetInnerHTML={{ __html: item.title }} /> \n                            </h5>\n                        )}\n\n                    </div>\n                    <Slider ref={slider => (this.slider = slider)} {...settings} className=\"slider\"  >\n                        {map(itemList, (item, index) =>\n                            <div className=\"slotView\" key={index}>\n                                <div className=\"imgArea\">\n                                    <SiteMedia\n                                        isImageLinkable={true}\n                                        itemLinkUrl={item.link}\n                                        linkTarget={item.targetLink}\n                                        data={item.media}\n                                        videoSettings={null}\n                                        key={item.media.url} \n                                        width={screenWidth}\n                                        height={200}\n                                    />\n                                </div>                \n                                    <div dangerouslySetInnerHTML={{ __html: item.subTitle }} className=\"subTitle\" />\n                            </div>\n                        )}\n                    </Slider>\n                </div>\n            </div>\n        )\n    }\n}\n\nconst SamplePrevArrow = (props) => {\n    const { onClick } = props;\n    return (\n        <button\n            className=\"slickArrow slickPrev\"\n            onClick={onClick}\n        />\n    );\n}\n\nconst SampleNextArrow = (props) => {\n    const { onClick } = props;\n    return (\n        <button\n            className=\"slickArrow slickNext\"\n            onClick={onClick}\n        />\n    );\n}\n","require(\"./calcalist_site_commertialComponenta.less\")\nimport Slider from 'react-slick'\nimport { SiteMediaData } from \"widgets/interfaces\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteMedia } from '../../../../siteWidgets/siteMedia';\nimport { actionsOnArticles } from \"../../../../../config/apiUrls\"\nimport * as classNames from \"classnames\"\nimport * as map from \"lodash/map\"\n\nexport interface CommertialItemData {\n    media: SiteMediaData\n    title: string\n    subTitle: string\n    link: string\n    targetLink: LinkTargetProperties\n}\n\ninterface commertialState {\n    activeSlide\n}\n\ninterface commertialProps {\n    tabTitle: string\n    itemList: CommertialItemData[]\n    tabColor: string\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    titleColor: string\n    subTitleColor: string\n    gallerySeconds: number\n}\n\n\n\nexport class CommertialFrontComponenta extends React.Component<commertialProps, commertialState>{\n    constructor(props: commertialProps) {\n        super(props);\n        this.state = {\n            activeSlide: 0\n        }\n\n    }\n    private slider;\n    //private throttledMouseEnterHandler = (i) => throttle(this.setState({ activeSlide: i }), 10)\n    private previous = () => {\n        this.slider.slickPrev();\n    }\n    private next = () => {\n        this.slider.slickNext();\n\n    }\n\n    private goToSlide = (i) => {\n        this.slider.slickGoTo(i);\n        this.setState({ activeSlide: i })\n    }\n    private componentaHeight = (numOfItems: number) => {\n        switch (numOfItems) {\n            case 3: return \"277px\"\n            case 6: return \"311px\"\n            case 9: return \"345px\"\n            case 12: return \"379px\"\n\n        }\n    }\n    public static siteScriptName = \"CommertialFrontComponenta\";\n\n    public render() {\n        const { itemList, tabLink, tabLinkTarget, tabColor, tabTitle, titleColor, subTitleColor, gallerySeconds } = this.props\n        const { activeSlide } = this.state\n\n\n        const settings = {\n            infinite: true,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            autoplay: true,\n            beforeChange: (current, next) => this.setState({ activeSlide: next }),\n            autoplaySpeed: gallerySeconds * 1000,\n\n            nextArrow: <SampleNextArrow />,\n            prevArrow: <SamplePrevArrow />,\n        };\n        return (\n            <div className={`CommertialComponenta`} style={{ height: this.componentaHeight(itemList.length) }}>\n                <div className=\"TabComponenta\" >\n                    <HyperLinkBuilder className=\"titleLink mainTitleLink\" href={tabLink} linkTarget={tabLinkTarget} style={{ color: tabColor }}><div className=\"mainTitleText\" >{tabTitle}</div></HyperLinkBuilder>\n                </div>\n                <div className=\"commertialSlider\" >\n                    <div className=\"sliderList\">\n                        {map(itemList, (item, i) =>\n                            <button className={classNames(\"itemTitle\", { \"activeSlide\": i === activeSlide })} key={i} onMouseEnter={() => this.goToSlide(i)}>\n                                <HyperLinkBuilder href={item.link} linkTarget={item.targetLink} style={{ color: titleColor }}>\n                                    <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                </HyperLinkBuilder>\n                            </button>\n                        )}\n\n                    </div>\n                    <Slider ref={slider => (this.slider = slider)} {...settings} className=\"slider\"  >\n                        {map(itemList, (item, index) =>\n                            <div className=\"slotView\" key={index}>\n                                <div className=\"imgArea\">\n                                    <SiteMedia\n                                        isImageLinkable={true}\n                                        itemLinkUrl={item.link}\n                                        linkTarget={item.targetLink}\n                                        data={item.media}\n                                        videoSettings={null}\n                                        key={item.media.url} width={280} height={160}\n                                    />\n                                </div>\n                                <HyperLinkBuilder href={item.link} linkTarget={item.targetLink} className=\"subTitle\" style={{ color: subTitleColor }}>\n                                    <div dangerouslySetInnerHTML={{ __html: item.subTitle }} />\n                                </HyperLinkBuilder>\n                            </div>\n                        )}\n                    </Slider>\n                </div>\n            </div>\n        )\n    }\n}\n\nconst SamplePrevArrow = (props) => {\n    const { onClick } = props;\n    return (\n        <button\n            className=\"slickArrow slickPrev\"\n            onClick={onClick}\n        />\n    );\n}\n\nconst SampleNextArrow = (props) => {\n    const { onClick } = props;\n    return (\n        <button\n            className=\"slickArrow slickNext\"\n            onClick={onClick}\n        />\n    );\n}\n","\nrequire(\"../calcalist_site_commericalTeaserComponenta.less\");\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\"\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\"\n\nimport { LinkedItemVideoSettings } from \"../../../../commonDataObjects/linkedItemsVideoSettings\"\nimport { ContentSiteItemData } from \"./commericalTeaserComponenta\";\nimport { SiteMediaData } from \"../../../../interfaces\";\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { CalcalistShareMenu } from \"../../../../commonComponents/base/CalcalistShareMenu\"\nimport { SiteImageData } from \"widgets/interfaces\"\nimport { calculateShouldAddArticleAutoplayIndicator, separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { convertHtmlToString } from \"../../../../../config/utils\"\n\n\ninterface CommertialTeaserFrontProps {\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    tabBackgroundImage: string\n    imageWidth: number\n    imageHeight: number\n    itemList: ContentSiteItemData[]\n    fieldsDisplaySettings: any\n    videoSettings: LinkedItemVideoSettings\n    numberOfVisibleItems: number\n    bottomLinkText: string\n    tabTitleText: string\n    tabSubTitleText: string\n    commercialText: string\n    gallerySeconds: number\n    commericalTeaserType: string\n}\ninterface CommertialTeaserFrontState {\n    fromItemIndex: number\n}\n\n\nexport class CommertialTeaserFront extends React.Component<CommertialTeaserFrontProps, CommertialTeaserFrontState>{\n    public static siteScriptName = \"CommertialTeaserFront\"\n    constructor(props) {\n        super(props);\n        this.state = {\n            fromItemIndex: 0,\n        }\n    }\n    componentDidMount() {\n        if (this.props.itemList.length > 2) {\n            this.startAutoGallery();\n        }\n\n    }\n    private nextItems = () => {\n        this.setState((prevState: CommertialTeaserFrontState) => {\n            return { fromItemIndex: prevState.fromItemIndex + 2 }\n        })\n\n    }\n    private prevItems = () => {\n        this.setState((prevState: CommertialTeaserFrontState) => {\n            return { fromItemIndex: prevState.fromItemIndex - 2 }\n        })\n    }\n    private autoGalleryInterval: any;\n    private startAutoGallery = () => {\n        const { gallerySeconds, itemList } = this.props\n        const self = this;\n        if (typeof (gallerySeconds) === \"number\") {\n            if (gallerySeconds > 0) {\n                this.autoGalleryInterval = setInterval(() => {\n                    this.setState((prevState: CommertialTeaserFrontState, props: CommertialTeaserFrontProps) => {\n                        let newIndex = prevState.fromItemIndex + 2;\n                        if (newIndex >= props.itemList.length - 1) newIndex = 0;\n                        return { fromItemIndex: newIndex }\n                    });\n                }, gallerySeconds * 1000);\n            }\n            else {\n                clearInterval(this.autoGalleryInterval)\n            }\n        }\n    }\n\n    render() {\n        const { tabLink, tabLinkTarget, tabBackgroundImage, imageWidth, imageHeight, itemList, fieldsDisplaySettings, videoSettings, numberOfVisibleItems,\n            bottomLinkText, tabTitleText, tabSubTitleText, commercialText, commericalTeaserType } = this.props\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const isMore = fieldsDisplaySettings.isAuthorVisible || fieldsDisplaySettings.isHourVisible || fieldsDisplaySettings.isDateVisible\n        const isComma = fieldsDisplaySettings.isAuthorVisible && (fieldsDisplaySettings.isHourVisible || fieldsDisplaySettings.isDateVisible)\n        return (\n            <div className={`CommertialTeaserFront ${commericalTeaserType}`} >\n                {commercialText && <div className=\"header\">\n                    <span>{commercialText}</span>\n                </div>}\n\n                <div className=\"CommericalTeaserTab\">\n                    <HyperLinkBuilder className=\"tabTitleLink\"\n                        title={tabTitleText}\n                        href={tabLink}\n                        linkTarget={tabLinkTarget}>\n                        <span className=\"tabTitle\">{tabTitleText}</span>\n                    </HyperLinkBuilder>\n                    <span className=\"tabSubTitle\">{tabSubTitleText}</span>\n                </div>\n\n                <div className=\"slotList\">\n                    {itemList.map((item, index) => {\n                        const shouldAddArticleAutoplayIndicator = calculateShouldAddArticleAutoplayIndicator(item.icon, item.media);\n                        if (index < this.state.fromItemIndex || index > this.state.fromItemIndex + 1) return\n                        return (\n                            <div className={`slotView`} key={index} style={{ width: imageWidth }}>\n                                <div className=\"mediaArea CalcalistComponentaShareMenuMedia\">\n                                    <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                                        <SiteMedia\n                                            allMedias={[]}\n                                            data={item.media !== undefined ? item.media : emptyMedia}\n                                            width={imageWidth}\n                                            height={imageHeight}\n                                            videoSettings={videoSettings}\n                                            itemLinkUrl={item.titleLink}\n                                            isImageLinkable={true}\n                                            linkTarget={item.titleTargetLink}\n                                            shouldAddArticleAutoplayIndicator={shouldAddArticleAutoplayIndicator}\n                                        />\n                                        <SlotIconDisplay itemId={item.itemId} icon={item.hasVideo ? \"video\" : \"none\"} iconClassName=\"medium\" isIconVisible={shouldAddArticleAutoplayIndicator} />\n                                    </div>\n                                    <CalcalistShareMenu url={item.titleLink} title={convertHtmlToString(item.title)} isArticle={item.linkType === \"ARTICLE\"} />\n                                </div>\n                                <div className=\"slotTitle\" style={{ width: imageWidth }}>\n                                    <HyperLinkBuilder\n                                        href={item.titleLink}\n                                        linkTarget={item.titleTargetLink}>\n                                        <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                    </HyperLinkBuilder>\n                                </div>\n                                {isMore && <div className=\"moreDetails\">\n                                    <span className=\"dateView\">{separateHourFromDateAndFormatToString(item.date,\n                                        { showHour: fieldsDisplaySettings.isHourVisible, showDate: fieldsDisplaySettings.isDateVisible })} </span>\n                                    {isComma && <span className=\"commaView\">,</span>}\n                                    {fieldsDisplaySettings.isAuthorVisible && <span className=\"authorInfo\" dangerouslySetInnerHTML={{ __html: item.author }} />}\n                                </div>}\n                            </div>\n                        )\n                    })}\n                </div>\n\n\n                <div className=\"BottomComponentArea\">\n                    <HyperLinkBuilder className=\"bottomTitleLink\" href={tabLink} linkTarget={tabLinkTarget}>{bottomLinkText}</HyperLinkBuilder>\n                    {numberOfVisibleItems > 2 && <div className=\"ArrowButtons\">\n                        <button className=\"RigthArrow\" onClick={this.prevItems} disabled={this.state.fromItemIndex === 0}></button>\n                        <button className=\"LeftArrow\" onClick={this.nextItems} disabled={this.state.fromItemIndex === numberOfVisibleItems - 2}></button>\n                    </div>}\n                </div>\n\n\n            </div >\n        )\n    }\n}\n\n\n","\nimport Slider from \"react-slick\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\"\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\"\nimport { LinkedItemVideoSettings } from \"../../../../commonDataObjects/linkedItemsVideoSettings\"\nimport { ContentSiteItemData } from \"./commericalTeaserComponenta\";\nimport { SiteMediaData } from \"../../../../interfaces\";\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { SiteImageData } from \"widgets/interfaces\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\n\n\ninterface CommertialTeaserMobileProps {\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    tabBackgroundImage: string\n    imageWidth: number\n    imageHeight: number\n    itemList: ContentSiteItemData[]\n    fieldsDisplaySettings: any\n    videoSettings: LinkedItemVideoSettings\n    numberOfVisibleItems: number\n    bottomLinkText: string\n    tabTitleText: string\n    tabSubTitleText: string\n    commercialText: string\n    gallerySeconds: number\n    commericalTeaserType: string\n}\ninterface ArrowProps {\n    onClick?: () => void;\n}\n\nexport class CommertialTeaserMobile extends React.Component<CommertialTeaserMobileProps, { currentSlide: number }>{\n    public static siteScriptName = \"CommertialTeaserMobile\"\n    constructor(props) {\n        super(props);\n        this.state = {\n            currentSlide: 0\n        }\n    }\n\n    render() {\n        const { tabLink, tabLinkTarget, tabBackgroundImage, imageWidth, imageHeight, itemList, fieldsDisplaySettings, videoSettings, numberOfVisibleItems,\n            bottomLinkText, tabTitleText, tabSubTitleText, commercialText, commericalTeaserType } = this.props\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const isMore = fieldsDisplaySettings.isAuthorVisible || fieldsDisplaySettings.isHourVisible || fieldsDisplaySettings.isDateVisible\n        const isComma = fieldsDisplaySettings.isAuthorVisible && (fieldsDisplaySettings.isHourVisible || fieldsDisplaySettings.isDateVisible);\n        const { currentSlide } = this.state;\n\n        const NextArrow = ({ onClick }: ArrowProps): JSX.Element => (<button disabled={currentSlide == itemList.length - 1} onClick={onClick} className=\"arrows-pf LeftArrow-pf\"></button>);\n        const PrevArrow = ({ onClick }: ArrowProps): JSX.Element => (<button disabled={currentSlide == 0} onClick={onClick} className=\"arrows-pf RightArrow-pf\"></button>);\n\n        let settings = {\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            arrows: true,\n            infinite: false,\n            rtl: true,\n            className: 'commercial-teaser-carusel',\n            prevArrow: <NextArrow />,\n            nextArrow: <PrevArrow />,\n            afterChange: (index) => {\n                this.setState({ currentSlide: itemList.length - 1 - index });\n            }\n        }\n\n        return (\n            <div className={`CommertialTeaserMobile-pf ${commericalTeaserType}`} >\n\n                {<div className=\"header\">\n                    <div className=\"commercial-text\"><span>תוכן שיווקי</span></div>\n                    <HyperLinkBuilder className=\"tabTitleLink\"\n                        title={tabTitleText}\n                        href={tabLink}\n                        linkTarget={tabLinkTarget}>\n                        <span className=\"tabTitle profitLine\">{tabTitleText}</span>\n                        <div className=\"Linkable\">\n                            <span>כדאי</span>&nbsp;<span>להכיר</span>\n                        </div>\n                    </HyperLinkBuilder>\n                    <div className=\"tabSubTitleLink\">\n                        <span className=\"tabSubTitle\">בשיתוף visionet</span>\n                    </div>\n                </div>}\n\n                <div className=\"CommericalTeaserTab\">\n                    <HyperLinkBuilder className=\"tabTitleLink\"\n                        title={tabTitleText}\n                        href={tabLink}\n                        linkTarget={tabLinkTarget}>\n                        <span className=\"tabTitle\">{tabTitleText}</span>\n                    </HyperLinkBuilder>\n                    <span className=\"tabSubTitle\">{tabSubTitleText}</span>\n                </div>\n\n                <div className=\"slotList\">\n                    <Slider {...settings}>\n                        {itemList.map(item => (\n                            <article key={item.itemId} className=\"slotView\">\n                                <div className=\"MediaCarousel\">\n                                    <SiteMedia\n                                        allMedias={[]}\n                                        data={item.media !== undefined ? item.media : emptyMedia}\n                                        width={imageWidth}\n                                        height={imageHeight}\n                                        videoSettings={videoSettings}\n                                        itemLinkUrl={item.titleLink}\n                                        isImageLinkable={true}\n                                        linkTarget={item.titleTargetLink}\n                                    />\n                                </div>\n                                <div className=\"slotTitle\">\n                                    <HyperLinkBuilder\n                                        href={item.titleLink}\n                                        linkTarget={item.titleTargetLink}>\n                                        <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                    </HyperLinkBuilder>\n                                    {isMore && <div className=\"moreDetails\">\n                                        <span className=\"dateView\">{separateHourFromDateAndFormatToString(item.date,\n                                            { showHour: false, showDate: fieldsDisplaySettings.isDateVisible })} </span>\n                                        {isComma && <span className=\"commaView\"> | </span>}\n                                        {fieldsDisplaySettings.isAuthorVisible && <span className=\"authorInfo\" dangerouslySetInnerHTML={{ __html: item.author }} />}\n                                    </div>}\n                                </div>\n                            </article>\n                        ))}\n                    </Slider>\n                    <HyperLinkBuilder className=\"bottomTitleLink\" href={tabLink} linkTarget={tabLinkTarget}>{bottomLinkText}</HyperLinkBuilder>\n                </div>\n            </div >\n        )\n    }\n}\n\n\n\n\n\n","import { PageComponenta } from \"widgets/commonComponents/base/pageComponenta\"\nrequire('./calcalist_site_footerComponenta.less')\n\n\nexport class CalcalistFooter extends React.Component<{}, {}>{\n    public static siteScriptName = \"CalcalistFooter\";\n\n    \n    public render() {\n\n        return (\n            <div className=\"CalcalistFooter\">\n                <div className=\"calcalistTopBg\" />\n                <div className=\"calcalistFooterTop\">\n\n                    <div id=\"f_logo\">\n                        <a title=\"כלכליסט\"\n                            href=\"//www.calcalist.co.il/home/0,7340,L-8,00.html\">\n                            <img src=\"//www.calcalist.co.il/images/1280/footer/f_logo.png\" alt=\"לוגו כלכליסט\" />\n                        </a>\n                    </div>\n                    <ul className=\"rightLinksRow\">\n                        <li><a className=\"shahor\" title=\"כלכליסט מפת האתר\" href=\"/home/0,7340,L-3839,00.html\">כלכליסט מפת האתר</a></li>\n                        <li><a title=\"כתבו לנו\" className=\"shahor\" href=\"/home/0,7340,L-3800,00.html\">כתבו לנו</a></li>\n                        <li><a title=\"המערכת\" className=\"shahor\" href=\"/home/0,7340,L-3802,00.html\">המערכת</a></li>\n                        <li><a title=\"פודקאסט\" className=\"shahor\" target=\"_blank\" href=\"//www.calcalist.co.il/podcast\">פודקאסט</a></li>\n                        <li><a title=\"פוטו כלכליסט\" className=\"shahor\" href=\"//www.calcalist.co.il/photo\">פוטו כלכליסט</a></li>\n\n                        <li><a title=\"אודות כלכליסט\" className=\"shahor\" href=\"/home/0,7340,L-3854,00.html\">אודות כלכליסט</a></li>\n                        <li><a title=\"המייל האדום\" className=\"shahor redMail\" href=\"https://www.calcalist.co.il/redmail\" >המייל האדום</a></li>\n                        <li><a title=\"ההנהלה\" className=\"shahor\" href=\"/home/0,7340,L-3801,00.html\">ההנהלה</a></li>\n                        <li><a className=\"shahor\" title=\"תנאי שימוש\" href=\"/home/0,7340,L-3856,00.html\">תנאי שימוש</a></li>\n                        <li><a title=\"המרת מט&quot;ח\" className=\"shahor\" target=\"_blank\" href=\"//www.hamara.co.il/\">המרת מט\"ח</a></li>\n\n                        <li><a title=\"ועידות כלכליסט\" className=\"shahor\" href=\"/conference/home/0,7340,L-5144,00.html\">ועידות כלכליסט</a></li>\n                        <li><a title=\"מדיניות פרטיות\" className=\"shahor\" href=\"/home/0,7340,L-3855,00.html\">מדיניות פרטיות</a></li>\n                        <li><a className=\"shahor\" title=\"פרסמו אצלנו\" href=\"/home/0,7340,L-3799,00.html\">פרסמו אצלנו</a></li>\n                        <li><a title=\"הפוך לדף הבית\" className=\"shahor setHomePage\" href=\"/\">הפוך לדף הבית</a></li>\n                        <li><a title=\"עמוד מט&quot;ח כללי\" className=\"shahor\" href=\"/stocks/home/0,7340,L-4135,00.html\">עמוד מט\"ח כללי</a></li>\n\n                        <li><a title=\"מוסף כלכליסט\" className=\"shahor\" href=\"//www.calcalist.co.il/supplement\">מוסף כלכליסט</a></li>\n                        <li><a title=\"כלכליסט TV\" className=\"shahor\" target=\"_blank\" href=\"//www.calcalist.co.il/tv\">כלכליסט TV</a></li>\n\n                        <li><a title=\"קורסים אונליין\" className=\"shahor\" href=\"https://study.calcalist.co.il/\">קורסים אונליין</a></li>\n                        <li><a title=\"קריקטוריסט\" className=\"shahor\" href=\"/home/0,7340,L-3837,00.html\t\">קריקטוריסט</a></li>\n                    \n                    </ul>\n\n\n                    <div className=\"leftLinksWrp\">\n                        <ul className=\"leftLinksRow\">\n                            <li>\n                                <a title=\"פייסבוק\" href=\"//www.facebook.com/calcalistonline\" target=\"_blank\">\n                                    <img className=\"f_icon\" src=\"//www.calcalist.co.il/images/1280/footer/f_fb.png\" alt=\"פייסבוק\" />\n                                    <p className=\"shahor ShualBold\">פייסבוק</p>\n                                </a>\n                            </li>\n                            <li>\n                                <a title=\"שרות לקוחות\" href=\"//www.calcalist.co.il/home/0,7340,L-3800,00.html\">\n                                    <img className=\"f_icon\" src=\"//www.calcalist.co.il/images/1280/header/t-service.png\" alt=\"שרות לקוחות\" />\n                                    <p className=\"adom  ShualBold\" id=\"p_alert\">שרות לקוחות</p>\n                                </a>\n                            </li>\n                        </ul>\n                        <ul className=\"leftLinksRow\">                       \n                            <li>\n                                <a title=\"טוויטר\" href=\"//twitter.com/calcalist\" target=\"_blank\">\n                                    <span className=\"f_icon twitter\"  alt=\"טוויטר\" />\n                                    <p className=\"shahor ShualBold\">טוויטר</p>\n                                </a>\n                            </li>\n                            <li>\n                                <a title=\"מינוי לעיתון\"\n                                    href=\"//z.calcalist.co.il/mvc/short/2018/Dreamcard/Home/Index\" target=\"_blank\">\n                                    <img className=\"f_icon\" src=\"//www.calcalist.co.il/images/1280/footer/f_sub.png\" alt=\"מינוי לעיתון\" />\n                                    <p className=\"shahor ShualBold\">מינוי לעיתון</p>\n                                </a>\n                            </li>\n                        </ul>\n                        <ul className=\"leftLinksRow\">                          \n                            <li>\n                                <a title=\"כלכליסט TV\" href=\"//www.calcalist.co.il/tv\">\n                                <span className=\"f_icon tv\"  alt=\"טוויטר\" />\n                                    <p className=\"adom ShualBold\" id=\"p_personal\">כלכליסט TV</p>\n                                </a>\n                            </li>\n                            <li>\n                                <a title=\"ניוזלטר\" href=\"/home/0,7340,L-3857,00.html\">\n                                    <img className=\"f_icon\" src=\"//www.calcalist.co.il/images/1280/footer/f_newsletter.png\" alt=\"ניוזלטר\" />\n                                    <p className=\"yarok ShualBold\" id=\"p_newsletter\">ניוזלטר</p>\n                                </a>\n                            </li>                      \n                        </ul>\n                        <ul className=\"leftLinksRow\">                         \n                            <li>\n                                <a title=\"פודקאסט\" href=\"//www.calcalist.co.il/podcast\" className=\"SiteNagish\" target=\"_blank\">\n                                    <img className=\"f_icon\" src=\"//www.calcalist.co.il/images/1280/footer/podcast.png\" alt=\"פודקאסט\" />\n                                    <p className=\"shahor ShualBold\">פודקאסט</p>\n                                </a>\n                            </li>\n                            <li>\n                                <a title=\"דואר אדום\" className=\"redMail\" href=\"https://www.calcalist.co.il/redmail\">\n                                    <img className=\"f_icon\" src=\"//www.calcalist.co.il/images/1280/footer/f_mail.png\" alt=\"דואר אדום\" />\n                                    <p className=\"adom ShualBold\" id=\"p_mail\">דואר אדום</p>\n                                </a>\n                            </li>\n                        </ul>\n                        <ul className=\"leftLinksRow\">\n                            <li>\n                                <a title=\"כלכליסט ביוטיוב\" href=\"//www.youtube.com/calcalist\" target=\"_blank\">\n                                    <img className=\"f_icon\" src=\"//www.calcalist.co.il/images/1280/footer/f_youtube.png\" alt=\"כלכליסט ביוטיוב\" />\n                                    <p className=\"shahor ShualBold\">כלכליסט ביוטיוב</p>\n                                </a>\n                            </li>\n                        </ul>\n                    </div>\n                </div>\n                <div className=\"calcalistFooterBottom\">\n                    <a href=\"//www.yit.co.il/\" target=\"_blank\" rel=\"nofollow\">\n                        <span className=\"developed-yit shahor\">Developed by</span>\n                        <span className=\"developed-yit-logo\"><img src=\"//www.calcalist.co.il/images/1280/footer/YIT.png\" alt=\"YIT\" /></span>\n                    </a>\n                    <a href=\"http://www.basch.co.il/\" target=\"_blank\" rel=\"nofollow\">\n                        <span className=\"basch shahor\">UI &amp; UX by <span className=\"basch-bold shahor\">Basch_Interactive</span></span>\n                    </a>\n                </div>\n            </div>\n\n        )\n    }\n}\n","\nrequire(\"../calcalist_site_generalCommercialTeaserComponenta.less\");\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\"\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\"\n\nimport { LinkedItemVideoSettings } from \"../../../../commonDataObjects/linkedItemsVideoSettings\"\nimport { ContentSiteItemData } from \"./generalCommercialTeaserComponenta\";\nimport { SiteMediaData } from \"../../../../interfaces\";\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { CalcalistShareMenu } from \"../../../../commonComponents/base/CalcalistShareMenu\"\nimport { SiteImageData } from \"widgets/interfaces\"\nimport { calculateShouldAddArticleAutoplayIndicator, separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { convertHtmlToString } from \"../../../../../config/utils\"\n\n\ninterface GeneralCommercialTeaserFrontProps {\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    tabBackgroundImage: string\n    imageWidth: number\n    imageHeight: number\n    itemList: ContentSiteItemData[]\n    fieldsDisplaySettings: any\n    videoSettings: LinkedItemVideoSettings\n    numberOfVisibleItems: number\n    bottomLinkText: string\n    tabTitleText: string\n    tabSubTitleText: string\n    commercialText: string\n    gallerySeconds: number\n    marginColor?: string\n    titleFontSize?: string\n    displayType?: string\n}\ninterface CommertialTeaserFrontState {\n    fromItemIndex: number\n}\n\n\nexport class GeneralCommercialTeaserFront extends React.Component<GeneralCommercialTeaserFrontProps, CommertialTeaserFrontState>{\n    public static siteScriptName = \"GeneralCommercialTeaserFront\"\n    constructor(props) {\n        super(props);\n        this.state = {\n            fromItemIndex: 0,\n        }\n    }\n    componentDidMount() {\n        if (this.props.itemList.length > 2) {\n            this.startAutoGallery();\n        }\n\n    }\n    private nextItems = () => {\n        this.setState((prevState: CommertialTeaserFrontState) => {\n            return { fromItemIndex: prevState.fromItemIndex + 2 }\n        })\n\n    }\n    private prevItems = () => {\n        this.setState((prevState: CommertialTeaserFrontState) => {\n            return { fromItemIndex: prevState.fromItemIndex - 2 }\n        })\n    }\n    private autoGalleryInterval: any;\n    private startAutoGallery = () => {\n        const { gallerySeconds, itemList } = this.props\n        const self = this;\n        if (typeof (gallerySeconds) === \"number\") {\n            if (gallerySeconds > 0) {\n                this.autoGalleryInterval = setInterval(() => {\n                    this.setState((prevState: CommertialTeaserFrontState, props: GeneralCommercialTeaserFrontProps) => {\n                        let newIndex = prevState.fromItemIndex + 2;\n                        if (newIndex >= props.itemList.length - 1) newIndex = 0;\n                        return { fromItemIndex: newIndex }\n                    });\n                }, gallerySeconds * 1000);\n            }\n            else {\n                clearInterval(this.autoGalleryInterval)\n            }\n        }\n    }\n\n    render() {\n        const { tabLink, tabLinkTarget, tabBackgroundImage, imageWidth, imageHeight, itemList, fieldsDisplaySettings, videoSettings, numberOfVisibleItems,\n            bottomLinkText, tabTitleText, tabSubTitleText, commercialText, marginColor, titleFontSize, displayType } = this.props\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const isMore = fieldsDisplaySettings.isAuthorVisible || fieldsDisplaySettings.isHourVisible || fieldsDisplaySettings.isDateVisible\n        const isComma = fieldsDisplaySettings.isAuthorVisible && (fieldsDisplaySettings.isHourVisible || fieldsDisplaySettings.isDateVisible)\n\n        return (\n            <div className={`GeneralCommertialTeaserFront ${displayType}`} >\n\n                <HyperLinkBuilder className=\"tabTitleLink\"\n                    title={tabTitleText}\n                    href={tabLink}\n                    linkTarget={tabLinkTarget}>\n                    {commercialText && <span className=\"commercialText\">{commercialText}</span>}\n                    <span className=\"tabTitle\" style={{ fontSize: `${titleFontSize}px`, color: marginColor }}>{tabTitleText}</span>\n                    {tabSubTitleText && <span className=\"tabSubTitle\" style={{color: marginColor }}>{tabSubTitleText}</span>}\n                </HyperLinkBuilder>\n\n                <div className=\"slotList\">\n                    {itemList.map((item, index) => {\n                        const shouldAddArticleAutoplayIndicator = calculateShouldAddArticleAutoplayIndicator(item.icon, item.media);\n                        if (index < this.state.fromItemIndex || index > this.state.fromItemIndex + 1) return\n                        return (\n                            <div className={`slotView`} key={index} style={{ width: imageWidth, background: `linear-gradient(to bottom, ${marginColor} 90px, transparent 0%)` }}>\n                                <div className=\"mediaArea CalcalistComponentaShareMenuMedia\">\n                                    <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                                        <SiteMedia\n                                            allMedias={[]}\n                                            data={item.media !== undefined ? item.media : emptyMedia}\n                                            width={imageWidth}\n                                            height={imageHeight}\n                                            videoSettings={videoSettings}\n                                            itemLinkUrl={item.titleLink}\n                                            isImageLinkable={true}\n                                            linkTarget={item.titleTargetLink}\n                                            shouldAddArticleAutoplayIndicator={shouldAddArticleAutoplayIndicator}\n                                        />\n                                        <SlotIconDisplay itemId={item.itemId} icon={item.hasVideo ? \"video\" : \"none\"} iconClassName=\"medium\" isIconVisible={shouldAddArticleAutoplayIndicator} />\n                                    </div>\n                                    <CalcalistShareMenu url={item.titleLink} title={convertHtmlToString(item.title)} isArticle={item.linkType === \"ARTICLE\"} />\n                                </div>\n                                <div className=\"slotTitle\" style={{ width: imageWidth }}>\n                                    <HyperLinkBuilder\n                                        href={item.titleLink}\n                                        linkTarget={item.titleTargetLink}>\n                                        <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                    </HyperLinkBuilder>\n                                </div>\n                                {isMore &&\n                                    <div className=\"moreDetails\">\n                                        <span className=\"dateView\">\n                                            {separateHourFromDateAndFormatToString(item.date, { showHour: fieldsDisplaySettings.isHourVisible, showDate: fieldsDisplaySettings.isDateVisible })}\n                                        </span>\n                                        {isComma && <span className=\"commaView\">,</span>}\n                                        {fieldsDisplaySettings.isAuthorVisible && <span className=\"authorInfo\" dangerouslySetInnerHTML={{ __html: item.author }} />}\n                                    </div>\n                                }\n                            </div>\n                        )\n                    })}\n                </div>\n\n\n                <div className=\"BottomComponentArea\">\n                    <HyperLinkBuilder className=\"bottomTitleLink\" style={{color: marginColor}} href={tabLink} linkTarget={tabLinkTarget}>{bottomLinkText}</HyperLinkBuilder>\n                    {numberOfVisibleItems > 2 &&\n                        <div className=\"ArrowButtons\">\n                            <button className=\"RigthArrow\" onClick={this.prevItems} disabled={this.state.fromItemIndex === 0}></button>\n                            <button className=\"LeftArrow\" onClick={this.nextItems} disabled={this.state.fromItemIndex === numberOfVisibleItems - 2}></button>\n                        </div>}\n                </div>\n\n            </div >\n        )\n    }\n}\n\n\n","\nimport Slider from \"react-slick\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\"\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\"\nimport { LinkedItemVideoSettings } from \"../../../../commonDataObjects/linkedItemsVideoSettings\"\nimport { SiteMediaData } from \"../../../../interfaces\";\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { SiteImageData } from \"widgets/interfaces\"\nimport { separateHourFromDateAndFormatToString, calculateShouldAddArticleAutoplayIndicator } from \"widgets/widgetsUtils\"\nimport { ContentSiteItemData } from \"./generalCommercialTeaserComponenta\";\nimport { SlotIconDisplay } from \"../../../../commonComponents/inline/slotIconDisplay/slotIconDisplay\";\n\n\ninterface GeneralCommercialTeaserMobileProps {\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    tabBackgroundImage: string\n    imageWidth: number\n    imageHeight: number\n    itemList: ContentSiteItemData[]\n    fieldsDisplaySettings: any\n    videoSettings: LinkedItemVideoSettings\n    numberOfVisibleItems: number\n    bottomLinkText: string\n    tabTitleText: string\n    tabSubTitleText: string\n    commercialText: string\n    gallerySeconds: number\n    commericalTeaserType: string\n    marginColor?: string\n    titleFontSize?: string\n    titleColor?: string\n}\ninterface ArrowProps {\n    onClick?: () => void;\n}\n\nexport class GeneralCommercialTeaserMobile extends React.Component<GeneralCommercialTeaserMobileProps, { currentSlide: number }>{\n    public static siteScriptName = \"GeneralCommercialTeaserMobile\"\n    constructor(props) {\n        super(props);\n        this.state = {\n            currentSlide: 0\n        }\n    }\n\n    render() {\n        const { tabLink, tabLinkTarget, tabBackgroundImage, imageWidth, imageHeight, itemList, fieldsDisplaySettings, videoSettings, numberOfVisibleItems,\n            bottomLinkText, tabTitleText, tabSubTitleText, commercialText, commericalTeaserType, marginColor, titleColor, titleFontSize } = this.props\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const isMore = fieldsDisplaySettings.isAuthorVisible || fieldsDisplaySettings.isHourVisible || fieldsDisplaySettings.isDateVisible\n        const isComma = fieldsDisplaySettings.isAuthorVisible && (fieldsDisplaySettings.isHourVisible || fieldsDisplaySettings.isDateVisible);\n        const { currentSlide } = this.state;\n\n        const NextArrow = ({ onClick }: ArrowProps): JSX.Element => (<button disabled={currentSlide == itemList.length - 1} onClick={onClick} className=\"arrows-pf LeftArrow-pf\"></button>);\n        const PrevArrow = ({ onClick }: ArrowProps): JSX.Element => (<button disabled={currentSlide == 0} onClick={onClick} className=\"arrows-pf RightArrow-pf\"></button>);\n\n        let settings = {\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            arrows: true,\n            infinite: false,\n            rtl: true,\n            className: 'commercial-teaser-carusel',\n            prevArrow: <NextArrow />,\n            nextArrow: <PrevArrow />,\n            afterChange: (index) => {\n                this.setState({ currentSlide: itemList.length - 1 - index });\n            }\n        }\n\n        return (\n            <div className={`GeneralCommercialTeaserMobile-pf ${commericalTeaserType}`} >\n\n                <div className=\"header\">\n                    <HyperLinkBuilder className=\"tabTitleLink\"\n                        title={tabTitleText}\n                        href={tabLink}\n                        linkTarget={tabLinkTarget}>\n                        <span className=\"tabTitle\" style={{ fontSize: `${titleFontSize}px`, '--tabTitle-color':marginColor }}>{tabTitleText}</span>\n                    </HyperLinkBuilder>\n                </div>\n\n                <div className=\"slotList\" style={{ '--margin-color': marginColor }}>\n                    <Slider {...settings}>\n                        {itemList.map(item => {\n                            const shouldAddArticleAutoplayIndicator = calculateShouldAddArticleAutoplayIndicator(item.icon, item.media);\n                            return (\n                                <article key={item.itemId} className=\"slotView\">\n                                    <div className=\"MediaCarousel\">\n                                        <SiteMedia\n                                            allMedias={[]}\n                                            data={item.media !== undefined ? item.media : emptyMedia}\n                                            width={imageWidth}\n                                            height={imageHeight}\n                                            videoSettings={videoSettings}\n                                            itemLinkUrl={item.titleLink}\n                                            isImageLinkable={true}\n                                            linkTarget={item.titleTargetLink}\n                                            shouldAddArticleAutoplayIndicator={shouldAddArticleAutoplayIndicator}\n                                        />\n                                        <SlotIconDisplay itemId={item.itemId} icon={item.hasVideo ? \"video\" : \"none\"} iconClassName=\"large\" isIconVisible={shouldAddArticleAutoplayIndicator} />\n                                    </div>\n                                    <div className=\"slotTitle\">\n                                        <HyperLinkBuilder\n                                            href={item.titleLink}\n                                            linkTarget={item.titleTargetLink}>\n                                            <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                        </HyperLinkBuilder>\n                                        {isMore && <div className=\"moreDetails\">\n                                            <span className=\"dateView\">{separateHourFromDateAndFormatToString(item.date,\n                                                { showHour: false, showDate: fieldsDisplaySettings.isDateVisible })} </span>\n                                            {isComma && <span className=\"commaView\"> , </span>}\n                                            {fieldsDisplaySettings.isAuthorVisible && <span className=\"authorInfo\" dangerouslySetInnerHTML={{ __html: item.author }} />}\n                                        </div>}\n                                    </div>\n                                </article>\n                            )\n                        }\n                        )}\n                    </Slider>\n                    <HyperLinkBuilder style={{ color: marginColor }} className=\"bottomTitleLink\" href={tabLink} linkTarget={tabLinkTarget}>{bottomLinkText}</HyperLinkBuilder>\n                </div>\n            </div >\n        )\n    }\n}\n\n\n\n\n\n","import { openFacebookShare, openTwitterShare, openMailShare, analyticsPushFunc, openWhatsAppShare } from \"../../../widgetsUtils\"\nimport { isWcmEditor } from \"config/serverConfig\"\n\n\ninterface CalcalistMutamShareMenuState {\n    isButtonsVisible: boolean\n}\ninterface shareMenuProps {\n    url: string\n    title?: string\n}\n\nexport class CalcalistMutamShareMenu extends React.Component<shareMenuProps, CalcalistMutamShareMenuState>{\n    public static siteScriptName = \"CalcalistMutamShareMenu\";\n    constructor(props: shareMenuProps) {\n        super(props)\n        this.state = {\n            isButtonsVisible: false,\n\n        }\n    }\n    private toggleMenu = () => {\n        this.setState({\n            isButtonsVisible: !this.state.isButtonsVisible\n        })\n    }\n    render() {\n        const { isButtonsVisible } = this.state\n        const { url, title } = this.props\n        const isVisible = isButtonsVisible ? \"opened\" : \"\";\n        return (\n            <div className=\"CalcalistMutamShareMenu\">\n                <div className={`shareBtnsBox-pf ${isVisible}`}>\n                    <button onClick={() => !isWcmEditor() ? openFacebookShare(url, title, () => analyticsPushFunc(\"Facebook\", \"Article Main Image\", title), \"Article Main Image\") : null} className=\"calcalistShare-pf fb\" />\n                    <button onClick={() => !isWcmEditor() ? openTwitterShare(url, () => analyticsPushFunc(\"Twitter\", \"Article Main Image\", title), \"Article Main Image\") : null} className=\"calcalistShare-pf tw\" />\n                   <button onClick={() => !isWcmEditor() ? openMailShare(title, \"כלכליסט\", url, () => analyticsPushFunc(\"Mail\", \"Article Main Image\", title), \"Article Main Image\") : null} className=\"calcalistShare-pf mail\" />\n                    <button onClick={() => !isWcmEditor() ? openWhatsAppShare(url, () => analyticsPushFunc(\"Whatsapp\", \"Article Main Image\", title), \"Article Main Image\") : null} className=\"calcalistShare-pf wa\" />\n                </div>\n                <button className={`toggleShareButtons-pf ${isVisible}`} onClick={this.toggleMenu} />\n            </div>\n        )\n    }\n\n}\n\n","import { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\";\nimport { LinkedItemFieldDisplay } from \"widgets/commonDataObjects/linkedItemsFieldsDisplay\"\nimport { DateDisplay } from \"../../../commonComponents/inline/dateDisplay/dateDisplay\"\nimport { CalcalistMutamShareMenu } from \"./calcalistMutamShareMenu\";\nimport { RenderReactAtSite } from \"../../../commonComponents/inline/renderReactAtSite\";\nimport { SiteMedia } from \"../../../siteWidgets/siteMedia\"\nimport { SiteVideoData } from \"../../../interfaces\"\nimport { VideoArchiveArticle } from \"../videoArchive/components/siteVideoArchiveComponenta\"\n\ninterface GeneralSlotItemProps {\n    article: VideoArchiveArticle\n    fieldsDisplaySettings?: Partial<LinkedItemFieldDisplay>\n    playingVideoElement: HTMLElement\n    updateNewPlayingVideoElement: (newVideoRef: HTMLElement) => void\n}\n\nexport class StandardVideoSlotItemMutam extends React.Component<GeneralSlotItemProps, {}>{\n    private videoArticleElementRef;\n\n    private changePlayingVideo = () => {\n        const { playingVideoElement, updateNewPlayingVideoElement } = this.props\n\n        if (playingVideoElement && !playingVideoElement.isEqualNode(this.videoArticleElementRef)) {\n            playingVideoElement.querySelector('video').pause()\n        }\n        updateNewPlayingVideoElement(this.videoArticleElementRef)\n    }\n\n    private removeRefAfterPause = () => {\n        if (this.props.playingVideoElement.isEqualNode(this.videoArticleElementRef)) {\n            this.props.updateNewPlayingVideoElement(null)\n        }\n    }\n\n    public render() {\n        const { article, fieldsDisplaySettings } = this.props\n        const { title, publishedLink, dateUpdatedOnSite, author, category, video } = article\n\n        const basicLinkTargetProperties = {\n            linkOpenType: \"same\",\n            lightBoxWidth: 803,\n            lightBoxHeight: 700,\n            lightBoxOpacity: 70,\n            lightBoxBgColor: \"#000000\",\n        } as LinkTargetProperties;\n\n   \n   \n const videoData =   {\n            mediaType: \"MEDIA_VIDEO\",\n            mediaId: video && video[0] ? video[0].mediaVideoId : \"\",\n            credit:  video && video[0] ? video[0].credit: \"\",\n            url:  video && video[0] ? video[0].main_link : \"\",\n            downGradeUrl:  video && video[0] ?  video[0].low_res_link : \"\",\n            poster:  video && video[0] ?  video[0].posterSrc: \"\",\n            youtube_id:  video && video[0] ? video[0].youtube_id: \"\",\n            blockAbroadViews:  video && video[0] ? video[0].blockAbroadViews : false,\n            videoName:  video && video[0] ? video[0].videoName: \"\",\n        }  as SiteVideoData;\n     \n   \n\n\n        return (\n            <article className=\"slotItem mutamSlotItem standart\" ref={ref => this.videoArticleElementRef = ref}>\n                <div className=\"mutamVideoArea\">\n                  {video && video[0] &&  <SiteMedia\n                        width={410}\n                        height={230}\n                        data={videoData}\n                        itemLinkUrl={null}\n                        linkTarget={undefined}\n                        key={videoData.mediaId}\n                        isImageLinkable={false}\n                        onPlayStarted={this.changePlayingVideo}\n                        onPlayStopped={this.removeRefAfterPause}\n                        videoSettings={{ isVideoLightbox: false, hideVideoAds: true }}\n                    />}\n\n                    <RenderReactAtSite>\n                        <CalcalistMutamShareMenu url={publishedLink} title={title} />\n                    </RenderReactAtSite>\n                </div>\n\n                <HyperLinkBuilder href={publishedLink} linkTarget={basicLinkTargetProperties} className=\"textArea\">\n                    <div className=\"categoryTitleWrapper\">\n                        {category && <span className=\"category\">{category.textToShow}</span>}\n\n                        <h5 className=\"slotTitle\">{title}</h5>\n                    </div>\n\n                    <div className=\"slotDetails\">\n                        {fieldsDisplaySettings.isDateVisible && <DateDisplay date={dateUpdatedOnSite} hiddenYesterday={true} />}\n                        {fieldsDisplaySettings.isDateVisible && fieldsDisplaySettings.isAuthorVisible && author.length > 0 && <span className=\"separator\"> | </span>}\n                        {fieldsDisplaySettings.isAuthorVisible && <span>{author}</span>}\n                    </div>\n                </HyperLinkBuilder>\n            </article>\n        )\n    }\n\n}","import { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\";\nimport { DateDisplay } from \"../../../commonComponents/inline/dateDisplay/dateDisplay\"\nimport { CalcalistMutamShareMenu } from \"./calcalistMutamShareMenu\";\nimport { RenderReactAtSite } from \"../../../commonComponents/inline/renderReactAtSite\";\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\n\ninterface GeneralSlotItemProps {\n    fieldsDisplaySettings?: Partial<IFieldDisplayData>  \n    item:GeneralItemProp\n}\n\nexport interface GeneralItemProp{\n    title: string\n    roofTitle?: string\n    linkTarget?: LinkTargetProperties\n    link: string\n    imageSrc: string\n    publishedDate: Date\n    author: string\n    hasVideo?:boolean\n}\n\nexport class StandartSlotItemMutam extends React.Component<GeneralSlotItemProps, {}>{\n   \n    public render() {\n        const {item,  fieldsDisplaySettings, } = this.props\n        const {title, link, linkTarget, roofTitle, imageSrc, publishedDate, author,  hasVideo} = item\n        const basiclinkTargetProperties = {\n            linkOpenType: \"same\",\n            lightBoxWidth: 803,\n            lightBoxHeight: 700,\n            lightBoxOpacity: 70,\n            lightBoxBgColor: \"#000000\",\n        } as LinkTargetProperties;\n        return (\n\n            <article className=\"slotItem standart\">    \n                    <div className=\"imageArea\">\n                    <HyperLinkBuilder href={link} linkTarget={linkTarget ? linkTarget : basiclinkTargetProperties}>\n                        <img src={imageSrc} title={title} alt={title} />\n                        {hasVideo && <span className=\"videoIcon-pf\"></span>}\n                        </HyperLinkBuilder>\n                        <RenderReactAtSite>\n                        <CalcalistMutamShareMenu url={link} title={title}/>\n                        </RenderReactAtSite>\n                        \n                    </div>\n                    <HyperLinkBuilder href={link} linkTarget={linkTarget ? linkTarget : basiclinkTargetProperties} className=\"textArea\">\n                        {roofTitle && roofTitle.length>0 && <div className=\"roofTitle\" data-roof-text={roofTitle}><span>{roofTitle}</span></div>}\n                        <h5 className=\"slotTitle\">{title}</h5>\n                        <div className=\"slotDetails\">\n                            {fieldsDisplaySettings && fieldsDisplaySettings.isDateVisible && <DateDisplay date={publishedDate} hiddenYesterday={true} />}\n                            {fieldsDisplaySettings && fieldsDisplaySettings.isDateVisible && fieldsDisplaySettings.isAuthorVisible && author.length>0 && <span className=\"separator\"> | </span>}\n                            {fieldsDisplaySettings && fieldsDisplaySettings.isAuthorVisible && <span>{author}</span>}\n                        </div>\n                        </HyperLinkBuilder>          \n            </article>\n        )\n    }\n\n}","import Slider from 'react-slick'\nimport { hotArticleSlotItemData } from './hotArticleComponentaMutam';\nimport { HyperLinkBuilder } from '../../../../commonComponents/inline/hyperLink';\nimport { ImageSize } from \"constants/imageSizes\"\nimport { getFrontImageUrl } from \"front/staticServerRendering/frontImage\"\n\ninterface HotArticleSlotListMutamProps {\n    slots: hotArticleSlotItemData[]\n}\n\ninterface HotArticleSlotListMutamState {\n    activeSlide: number\n}\n\nexport class HotArticleSlotListMutam extends React.Component<HotArticleSlotListMutamProps, HotArticleSlotListMutamState>{\n    public static siteScriptName = \"hotArticleComponentaMutam\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            activeSlide: 0,\n        }\n    }\n\n    private slider;\n\n    public render() {\n        const { slots } = this.props;\n        const settings = {\n            infinite: true,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            autoplay: false,\n            beforeChange: (current, next) => this.setState({ activeSlide: next }),\n            nextArrow: <SampleNextArrow />,\n            prevArrow: <SamplePrevArrow />,\n        };\n\n        return (\n            <div className=\"slotList\">\n                <Slider ref={slider => (this.slider = slider)} {...settings} className=\"slider\"  >\n                    {slots.map((slotItem, index) =>{\n                       const  imageUrl = getFrontImageUrl(slotItem.imageSrc, { imageSize: ImageSize.large });\n                        return(\n                            <div className=\"slotView\" key={index}>\n                            <div className=\"imageArea\">\n                                <HyperLinkBuilder href={slotItem.link} linkTarget={slotItem.linkTarget} title={slotItem.item.title}>\n                                    <img src={imageUrl} alt={slotItem.item.title}/>\n                                    <div className=\"imageOverlay\">\n                                        <div className=\"overlayText\">{slotItem.item.title}</div>\n                                    </div>\n                                </HyperLinkBuilder>\n                            </div>\n                        </div>\n                        )\n                    }\n                      \n                    )}\n                </Slider>\n            </div>\n        )\n    }\n}\n\nconst SamplePrevArrow = (props) => {\n    const { onClick } = props;\n    return (\n        <button\n            className=\"slickArrow slickPrev\"\n            onClick={onClick}\n        />\n    );\n}\n\nconst SampleNextArrow = (props) => {\n    const { onClick } = props;\n    return (\n        <button\n            className=\"slickArrow slickNext\"\n            onClick={onClick}\n        />\n    );\n}","import { SiteSimpleImage } from \"../../../../commonComponents/inline/siteSimpleImage\";\n\ninterface ImageAndCaptionMutamItemProps {\n    title: string\n    subtitle: string\n    promotionImage: string\n}\n\ninterface ImageAndCaptionMutamItemState {\n    backUrl:string\n}\n\nexport class ImageAndCaptionMutamItem extends React.Component<ImageAndCaptionMutamItemProps, ImageAndCaptionMutamItemState>{\n    public static siteScriptName = 'CalcalistImageAndCaptionMutamComponenta';\n    constructor(props) {\n        super(props)\n        this.state = {\n            backUrl: \"\",\n        }\n    }\n    componentDidMount() {\n        this.onBackUrlChange();\n    }\n    \n    public onBackUrlChange = () => {\n        this.setState({backUrl: window && window.document.referrer ? \"javascript:history.back()\" : \"https://www.calcalist.co.il\"});\n    }\n\n    render() {\n        const { title, subtitle, promotionImage } = this.props;\n        const { backUrl } = this.state;\n\n        return (\n            <div className=\"imageAndCaptionMutamItemSlot\">\n                <div className=\"imageWrapper\">\n                    <SiteSimpleImage className=\"img\" src={promotionImage} alt={title}/>\n                </div>\n                <div className=\"textDiv\">\n                    <div className=\"title\">{title}</div>\n                    <div className=\"subtitle\">{subtitle}</div>\n                </div>\n                <h2 className=\"linkWrapper\">\n                    <a href={backUrl} className=\"arrowTo\" title=\"back\"/>\n                </h2>\n            </div>\n        )\n    }\n}","import { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport * as apiUrls from \"config/apiUrls\"\nimport { ArticleExtraData } from \"../../../../articlePage/stateInterfaces\";\nimport { getImgAlt, isAriaHidden, separateHourFromDateAndFormatToString } from \"../../../widgetsUtils\";\nimport { CalcalistMutamShareMenu } from \"../generalMutamComps/calcalistMutamShareMenu\";\n\ninterface MainMusafItemProps {\n    article: Partial<ArticleExtraData>\n    publishedLink: string\n    imageId: string\n    isMobile?:boolean\n}\n\nexport class MainMusafItem extends React.Component<MainMusafItemProps, {}>{\n    public render() {\n        const { article: { promotionImageDetails, publishedLink, dateUpdatedOnSite, specialData }, isMobile } = this.props;\n        let title = `שער מוסף ${separateHourFromDateAndFormatToString(dateUpdatedOnSite, { showDate: true, showHour: false })}`\n\n        return (\n            <div className=\"MainMusafItem\" >\n                <div className=\"rightArea\" >\n                    <div className=\"title\">\n                        מוסף\n                        <br />\n                        כלכליסט\n                    </div>\n                    <div className=\"dateView\">\n                        {separateHourFromDateAndFormatToString(dateUpdatedOnSite, { showDate: true, showHour: false })}\n                    </div>\n                </div>\n                <div className=\"mediaArea\">\n                    <div className=\"MediaCarousel\" >\n                        <SimpleLinkRenderer href={publishedLink} target=\"_blank\">\n                            <img src={apiUrls.getImageUrl(promotionImageDetails, { w: 566, h: 766 })}\n                                style={{ width: 566, height: 766 }}\n                                alt={getImgAlt(promotionImageDetails)}\n                                aria-hidden={isAriaHidden(promotionImageDetails)}\n                                title={title}\n                            />\n                        </SimpleLinkRenderer>\n                      {isMobile &&  <CalcalistMutamShareMenu url={publishedLink} title={title}/>}\n                    </div>\n                </div>\n            </div>\n\n        )\n    }\n}","import { ArticleExtraData } from \"articlePage/stateInterfaces\"\nimport * as apiUrls from \"config/apiUrls\"\nimport { getImgAlt, isAriaHidden, separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { ImageDetails } from \"images/interfaces\"\nimport { CalcalistMutamShareMenu } from \"../generalMutamComps/calcalistMutamShareMenu\";\ninterface MusafArticleItemSlotProps {\n    article: Partial<ArticleExtraData>\n    isMobile?:boolean\n}\n\nexport class MusafArticleItemSlot extends React.Component<MusafArticleItemSlotProps, {}>{\n    public render() {\n        const { article: {promotionImageDetails, dateUpdatedOnSite, publishedLink }, isMobile } = this.props;\n       \n        let title = `שער מוסף ${separateHourFromDateAndFormatToString(dateUpdatedOnSite, { showDate: true, showHour: false })}`\n        \n        return (\n            <div className=\"slotItem\">\n                <div className=\"mediaArea\">\n                    <div className=\"MediaCarousel\" >\n                        <a href = {publishedLink} target=\"_blank\">\n                            <img src={apiUrls.getImageUrl(promotionImageDetails, { w: 270, h: 386 })}\n                                style={{ width: 270, height: 386 }}\n                                alt={getImgAlt(promotionImageDetails)}\n                                aria-hidden={isAriaHidden(promotionImageDetails)}\n                                title={title}\n                        />\n                        </a>\n                        {isMobile &&    <CalcalistMutamShareMenu url={publishedLink} title={title}/>}\n                    </div>\n                </div>\n                <span className=\"dateView\">\n                    {separateHourFromDateAndFormatToString(dateUpdatedOnSite, { showDate: true, showHour: false })}\n                </span>\n            </div>\n\n        )\n    }\n}","import { ArticleExtraData } from \"articlePage/stateInterfaces\"\nimport { MusafArticleItemSlot } from \"./musafArticleItemSlot\";\ninterface MusafArticleListProps {\n    itemList: ArticleExtraData[]\n    isMobile:boolean\n}\n\nexport class MusafArticleList extends React.Component<MusafArticleListProps, {}>{\n    public render() {\n        const { itemList, isMobile } = this.props\n        return (\n            <div className=\"MusafArticleList slotList\" >\n                {itemList.map((item, i) =>\n                    <MusafArticleItemSlot\n                        key={i}\n                        article={item}\n                        isMobile={isMobile}\n                    />)}\n            </div>\n        )\n    }\n}","import { ArticleExtraData } from \"articlePage/stateInterfaces\"\nimport { formatDate } from \"../../../siteWidgets/siteWidgetUtils\";\nimport { MusafArticleList } from \"./musafArticleList\";\nimport { MainMusafItem } from \"./mainMusafItem\"\nimport * as axios from \"axios\"\n\ninterface MusafArchiveProps {\n    firstPageArticles: any\n    componentaId: string\n    numberOfVisibleItems: number\n    titleText: string\n    isMobile:boolean\n}\ninterface MusafArchiveState {\n    currPage: number\n    articles: ArticleExtraData[]\n    isLoadMore: boolean\n}\n\n\nexport class SiteMusafArchiveComponenta extends React.Component<MusafArchiveProps, MusafArchiveState>  {\n    public static siteScriptName = \"SiteMusafArchiveComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            currPage: 0,\n            articles: [],\n            isLoadMore: props.firstPageArticles && (props.firstPageArticles.length / this.props.numberOfVisibleItems) >= 1,\n        }\n    }\n\n    componentDidMount() {\n        this.getArticles();\n    }\n\n    componentDidUpdate(prevProps: MusafArchiveProps, prevState: MusafArchiveState, prevContext: any): void {\n\n        if (prevState.currPage !== this.state.currPage) {\n            this.getArticles();\n        }\n        if (prevState.articles !== this.state.articles) {\n            this.setState({\n                isLoadMore: (this.state.articles.length) / ((this.state.currPage + 1) * this.props.numberOfVisibleItems) >= 1\n            })\n        }\n    }\n\n\n\n    private getArticles = () => {\n        const { articles, currPage, } = this.state;\n        const { componentaId, firstPageArticles, isMobile } = this.props;\n        const firstArticle = firstPageArticles[0];\n        const startDate = new Date('2010-01-07');\n        const limitDate = new Date(firstArticle.dateUpdatedOnSite);\n        limitDate.setDate(limitDate.getDate() - 1);\n        const formatedStartDate = formatDate(startDate, \"YYYY-MM-DD\");\n        const formatedEndDate = formatDate(limitDate, \"YYYY-MM-DD\");\n        axios.get(`/iphone/json/api/article_list/${componentaId}/startDate/${formatedStartDate}/endDate/${formatedEndDate}/pageNumber/${currPage}`).then((res: any) => {\n            const recivedArticles = res.data.data;\n            this.setState({\n                articles: currPage > 0 ? [...articles, ...recivedArticles] : recivedArticles,\n            })\n        }).catch(err => console.error(\"error geting articles data:\", err))\n    }\n\n    private loadMoreArticles = () => {\n        this.setState({ currPage: this.state.currPage + 1 })\n    }\n\n    public render() {\n        const { articles, isLoadMore, } = this.state\n        const { titleText, firstPageArticles, isMobile } = this.props\n        const firstArticle = firstPageArticles[0];\n\n        return (\n            <div className=\"MusafArchiveComponenta\">\n                {articles.length > 0 &&\n                    <MainMusafItem\n                        article={firstArticle}\n                        imageId={firstArticle.specialData}\n                        publishedLink={firstArticle.publishedLink}\n                        isMobile={isMobile}\n                    />\n                }\n\n                <div className=\"separator_musaf\" />\n\n                {articles.length > 1 &&\n                    <div className=\"musafs\">\n                        <div className=\"componentTitle\">{titleText}</div>\n                        <MusafArticleList itemList={articles}  isMobile={isMobile}/>\n                    </div>}\n                {isLoadMore && <div className=\"loadMore\">\n                    <button className=\"loadMoreButton\" disabled={!isLoadMore || articles.length === 0}\n                        onClick={this.loadMoreArticles}>טען עוד</button>\n                </div>}\n\n            </div>\n        )\n    }\n\n}","import { getImgAlt, isAriaHidden, getImgTitle, calculateAutomaticComponentaUrl } from \"../../../../widgetsUtils\"\nimport { GalleryItems } from \"./photoArchiveComponenta\";\nimport { getFrontImageUrl } from \"../../../../../front/staticServerRendering/frontImage\";\nimport { ImageSize } from \"../../../../../constants/imageSizes\";\n\ninterface Props {\n    item: GalleryItems\n}\n\nexport const PhotoArchiveMainImage = (props: Props) => {\n    if (!props.item) {\n        return <div></div>\n    }\n    const { item } = props\n    const { title, promotionImageDetails } = item\n\n    return (\n        // <div className=\"slotTitle\">\n            <a href={calculateAutomaticComponentaUrl(item)} className=\"mainItem\">\n                <img src={getFrontImageUrl(promotionImageDetails, { imageSize: ImageSize.xxLarge })}\n                    style={{ width: 1182, height: 665 }}\n                    className=\"SiteImageMedia\"\n                    alt={getImgAlt(promotionImageDetails)}\n                    aria-hidden={isAriaHidden(promotionImageDetails)}\n                    title={getImgTitle(promotionImageDetails)} />\n                    <div className=\"blackLayer\">\n                        <div className=\"blackLayerText\">{title}</div>\n                    </div>\n            </a>\n        // </div>\n    )\n}\n","import { GalleryItems } from \"./sitePhotoArchiveComponenta\";\nimport { CalcalistShareMenu } from \"../../../../commonComponents/base/CalcalistShareMenu\";\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\";\nimport { getFrontImageUrl } from \"../../../../../front/staticServerRendering/frontImage\";\nimport { ImageSize } from \"../../../../../constants/imageSizes\";\nimport { getImgTitle } from \"../../../../widgetsUtils\";\n\ninterface PhotoArchiveArticleItemProps {\n    item: GalleryItems\n}\nexport class PhotoArchiveSlotItem extends React.Component<PhotoArchiveArticleItemProps, {}>{\n    static defaultProps = { isCategoryVisible: true }\n\n\n    public render() {\n        const { item } = this.props;\n        const { title, publishedLink, id, promotionImageDetails, credit, dateUpdatedOnSite } = item\n\n        return (\n            <div className=\"slotItem\" key={id} >\n                <div className=\"mediaArea\">\n                    <a href={publishedLink} title={title}>\n                        <img src={getFrontImageUrl(promotionImageDetails, { imageSize: ImageSize.xxLarge })}  className=\"SiteImageMedia\" alt={title} title={getImgTitle(promotionImageDetails)}/>\n                    </a>\n                    <CalcalistShareMenu url={publishedLink} title={title} isLTR={true} isArticle={true} />\n                </div>\n\n                <a href={publishedLink} className=\"textDiv\" >\n                    <div className=\"moreDetails\">\n                        <span className=\"dateView\">\n                            <DateDisplay date={dateUpdatedOnSite} />\n                        </span>\n                    </div>\n                    <div className=\"slotTitle\">\n                        <span>{title}</span>\n                    </div>\n                </a>\n            </div>\n        )\n    }\n}","import { PhotoArchiveMainImage } from \"./photoArchiveMainImage\";\nimport { ImageDetails } from \"../../../../../images/interfaces\";\nimport * as axios from \"axios\";\nimport { PhotoArchiveSlotItem } from \"./photoArchiveSlotItem\";\nimport { StandartSlotItemMutam } from \"../../generalMutamComps/standartSlotItemMutam\"\nimport { ImageSize } from \"../../../../../constants/imageSizes\"\nimport { getFrontImageUrl } from \"../../../../../front/staticServerRendering/frontImage\"\n\nexport interface GalleryItems {\n    title: string\n    publishedLink: string\n    path?: string\n    author: string\n    id: string\n    credit: string\n    promotionImageDetails?: ImageDetails\n    dateUpdatedOnSite: Date\n}\n\ninterface PhotoArchivePhotoComponentaProps {\n    numberOfItems: number\n    componentaId: string\n    data: any\n    extraData: any\n    isMobileWeb?: boolean\n}\n\ninterface PhotoArchivePhotoComponentaState {\n    currPage: number\n    articles: any[]\n    isLoadMore: boolean\n    isFirstRender: boolean\n    isFirstLoadingBtnClick: boolean\n}\n\nconst PhotoArchiveDict = {\n    LOAD_MORE: \"טען עוד\",\n    NO_RESULTS: \"אין תוצאות\",\n}\n\nexport class SitePhotoArchiveComponenta extends React.Component<PhotoArchivePhotoComponentaProps, PhotoArchivePhotoComponentaState>  {\n    public static siteScriptName = \"SitePhotoArchiveComponenta\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            currPage: 0,\n            articles: this.props.extraData || [],\n            isLoadMore: true,\n            isFirstRender: true,\n            isFirstLoadingBtnClick: true,\n        }\n    }\n\n    private getArticles = async () => {\n        const { componentaId } = this.props;\n        const { currPage, articles } = this.state;\n\n        const data = await axios.get(`/iphone/json/api/article_list/${componentaId}/pageNumber/${currPage}`)\n            .then((res: any) => {\n                const recivedArticles = res.data.data;\n                this.setState({\n                    articles: currPage > 0 ? [...articles, ...recivedArticles] : recivedArticles\n                })\n                if (this.state.isFirstRender) {\n                    this.setState({\n                        isFirstRender: false,\n                        currPage: currPage + 1,\n                    })\n                }\n            }).catch(err => console.error(\"error geting articles data:\", err));\n\n        return data;\n    }\n\n\n    componentDidMount() {\n        this.getArticles();\n    }\n\n    componentDidUpdate(prevProps, prevState) {\n        if (this.state.currPage !== prevState.currPage) {\n            this.getArticles();\n        }\n        if (this.state.articles !== prevState.articles) {\n            this.setState({ isLoadMore: (this.state.articles.length) / ((this.state.currPage + 1) * this.props.numberOfItems) >= 1 || this.state.isFirstLoadingBtnClick })\n        }\n    }\n\n    private loadMoreArticles = () => {\n        const { currPage } = this.state;\n        this.setState({ currPage: currPage + 1, isFirstLoadingBtnClick: false })\n    }\n\n\n    public render() {\n        const { data, numberOfItems, isMobileWeb } = this.props;\n        const { articles, isLoadMore, currPage, isFirstLoadingBtnClick } = this.state;\n        const { tabStyles, tabTitleText } = data;\n        const shouldDisplayPageChunck = isLoadMore || isFirstLoadingBtnClick;\n\n        const allItems: GalleryItems[] = articles.length !== 0 ?\n            articles.map((item) => {\n                return ({\n                    title: item.title,\n                    publishedLink: item.publishedLink,\n                    path: item.promotionImageDetails ? item.promotionImageDetails.url : \"\",\n                    author: item.author,\n                    id: item.articleId,\n                    credit: \"\",\n                    promotionImageDetails: item.promotionImageDetails,\n                    dateUpdatedOnSite: item.dateUpdatedOnSite,\n                })\n            }) : [];\n\n        const articlesToDisplay = shouldDisplayPageChunck ? allItems.slice(1, 1 + (numberOfItems * currPage)) : allItems.slice(1);\n\n        const emptyItem = {\n            title: \"\",\n            publishedLink: \"\",\n            path: \"\",\n            author: \"\",\n            id: \"\",\n            credit: \"\",\n            dateUpdatedOnSite: \"\",\n        }\n\n        return (\n            <div className=\"photoArchiveComponena Auto\">\n                {isMobileWeb ?\n                    <div className=\"mutamSlotList\">\n                        {(articles.length > 0) ?\n                            allItems.slice(0, 1 + (numberOfItems * currPage)).map((item: GalleryItems) => (\n                                <StandartSlotItemMutam\n                                    item={{\n                                        title: item.title,\n                                        link: item.publishedLink,\n                                        imageSrc: getFrontImageUrl(item.promotionImageDetails, { imageSize: ImageSize.xLarge }),\n                                        publishedDate: item.dateUpdatedOnSite,\n                                        author: item.author\n                                    }}\n                                    fieldsDisplaySettings={{ isDateVisible: true, isAuthorVisible: true }}\n                                />\n                            ))\n                            :\n                            <div className=\"noResultsMsg\">{PhotoArchiveDict.NO_RESULTS}</div>\n                        }\n                    </div>\n                    :\n                    <div className=\"slotsContent\">\n                        <PhotoArchiveMainImage item={allItems.length !== 0 ? allItems[0] : emptyItem} />\n\n                        <div className=\"separator\" />\n\n                        <div className=\"photoArchiveTitle\" style={tabStyles}>\n                            {tabTitleText}\n                        </div>\n\n                        <div className=\"photoArchiveMain\">\n                            {(articles.length > 0) ?\n                                <div className=\"slotList\">\n                                    {articlesToDisplay.map((item: GalleryItems) => (\n                                        <PhotoArchiveSlotItem key={item.id} item={item} />\n                                    ))}\n                                </div>\n                                :\n                                <div className=\"noResultsMsg\">{PhotoArchiveDict.NO_RESULTS}</div>\n                            }\n\n                            <div className=\"loadMore\">\n                                <button className=\"loadMoreButton\" disabled={!isLoadMore || articles.length <= numberOfItems} onClick={this.loadMoreArticles}>{PhotoArchiveDict.LOAD_MORE}</button>\n                            </div>\n                        </div>\n                    </div>\n                }\n            </div>\n        )\n    }\n\n}","import * as axios from \"axios\"\nimport { ArticleExtraData } from \"articlePage/stateInterfaces\"\nimport { addAxiosDateTransformerSettings } from \"../../../../../utils/network/axiosDateTransformer\";\nimport { Loader } from \"../../../yPlusLoadMore/components/loader/loader\";\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\";\nimport { GoogleSearchComponenta } from \"../../../googleSearch/components/googleSearchComponenta\";\nimport { PodcastArchiveItemList } from \"./podcastArchiveItemList\";\n\ninterface PodcastArchiveComponentaProps {\n    categoryId: string\n    componentaId?: string\n    firstPageArticles?: ArticleExtraData[]\n    numberOfVisibleItems: number\n    spotifyLink: string\n    applePodcastLink: string\n    archivePageLink: string\n    archivePageLinkTarget: LinkTargetProperties\n    pageSearchLink: string\n    showSearchField: boolean\n}\n\ninterface PodcastArchiveComponentaState {\n    articles: ArticleExtraData[]\n    pageNumber: number\n    showLoader: boolean\n    showButton: boolean\n}\n\nexport class PodcastArchiveComponenta extends React.Component<PodcastArchiveComponentaProps, PodcastArchiveComponentaState> {\n    public static siteScriptName = \"PodcastArchiveComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            articles: [],\n            pageNumber: 0,\n            showLoader: false,\n            showButton: true\n        }\n    }\n\n    componentDidUpdate(prevProps: PodcastArchiveComponentaProps) {\n        if (this.props.firstPageArticles !== prevProps.firstPageArticles) {\n            this.setState(\n                {\n                    articles: this.props.firstPageArticles\n                }\n            );\n        }\n    }\n\n    componentDidMount() {\n        const { categoryId } = this.props;\n        if (categoryId) {\n            this.getArticles()\n        }\n    }\n\n    private getArticles = () => {\n        const { componentaId, } = this.props\n        const { pageNumber, articles } = this.state\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        this.setState(\n            {\n                articles: articles,\n                showLoader: true,\n                showButton: false\n            }\n        );\n\n\n        axiosInstance.get(`/iphone/json/api/article_list/${componentaId}/pageNumber/${pageNumber}`)\n            .then((res: any) => {\n                const recivedArticles = res.data.data as ArticleExtraData[];\n                this.setState(\n                    {\n                        articles: [...articles, ...recivedArticles],\n                        pageNumber: pageNumber + 1,\n                        showLoader: false,\n                        showButton: recivedArticles && recivedArticles.length === this.props.numberOfVisibleItems * 4,\n                    }\n                );\n            })\n            .catch(err => console.error(\"error geting headline data:\", err))\n    }\n\n    public render() {\n        const { spotifyLink, applePodcastLink, pageSearchLink, showSearchField } = this.props;\n        const { articles, showLoader: loader, showButton } = this.state;\n\n        return (\n            <div className=\"podcast-multi-strip-componenta\">\n                {showSearchField &&\n                    <div className=\"search-wrapper\">\n                        <GoogleSearchComponenta placeholder=\"מה תרצו לחפש?\" link={pageSearchLink} disableInWcm={\"all\"} />\n                    </div>\n                }\n                <PodcastArchiveItemList\n                    itemList={articles}\n                    spotifyLink={spotifyLink}\n                    applePodcastLink={applePodcastLink} />\n                <div className=\"button-container\">\n                    {loader && <Loader />}\n                    {showButton &&\n                        <div className=\"load-more-button\" onClick={() => this.getArticles()}>\n                            <div className=\"load-more-text\">טען עוד פודקאסטים</div>\n                            <div className=\"load-more-icon\"></div>\n                        </div>}\n                </div>\n            </div >\n        )\n    }\n}","import { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\";\nimport { calculateAutomaticComponentaUrl, getImgAlt, isAriaHidden, getImgTitle } from \"../../../../widgetsUtils\";\nimport * as apiUrls from \"../../../../../config/apiUrls\"\nimport { CalcalistDetachedPlayer } from \"../../calcalistPodcastPopupPlayer/calcalistDetachedPlayer\"\nimport { formatDate } from \"../../../../siteWidgets/siteWidgetUtils\";\n\ninterface PodcastArchiveItemProps {\n    item: Partial<ArticleExtraData>\n    spotifyLink: string\n    applePodcastLink: string\n}\n\nexport class PodcastArchiveItem extends React.Component<PodcastArchiveItemProps, {}>{\n\n    public render() {\n        const { item } = this.props;\n        const { title, dateUpdatedOnSite, promotionImageDetails, author, category, specialData } = item\n        const { audioUrl, durationSeconds, imageUrl } = item.specialData.audioData\n\n        return (\n            <div className=\"slot-view\" >\n                <a className=\"slot-category\" href={category.publishedLink}>{category.textToShow}</a>\n                <div className=\"media-area\">\n                    <div className=\"media-carousel\" >\n                        <img src={apiUrls.getImageUrl(promotionImageDetails, { w: 270, h: 147 })}\n                            style={{ width: 270, height: 147 }}\n                            className=\"site-image-media\"\n                            alt={getImgAlt(promotionImageDetails)}\n                            aria-hidden={isAriaHidden(promotionImageDetails)}\n                            title={getImgTitle(promotionImageDetails)}\n                        />\n\n                        <CalcalistDetachedPlayer\n                            audioUrl={audioUrl}\n                            title={title}\n                            durationSeconds={durationSeconds}\n                            podcastImage={imageUrl}\n                            classNames={\"podcast-btn\"}\n                        />\n\n                        <div className=\"podcast-icon\" />\n                    </div>\n                </div>\n\n                <a href={calculateAutomaticComponentaUrl(item)} className=\"slot-title\">\n                    <span>{title}</span>\n                </a>\n\n                <a href={calculateAutomaticComponentaUrl(item)} className=\"more-details\">\n                    <span className=\"author-info\">{specialData.audioData.alternatePresenterName}</span>\n                    <span className=\"date-view\">{formatDate(dateUpdatedOnSite, \"DD.MM.YYYY\")}</span>\n                </a>\n            </div>\n        )\n    }\n}","import { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\";\nimport { PodcastArchiveItem } from \"./podcastArchiveItem\";\n\ninterface PodcastArchiveItemListProps {\n    itemList: ArticleExtraData[]\n    spotifyLink: string\n    applePodcastLink: string\n}\n\nexport class PodcastArchiveItemList extends React.Component<PodcastArchiveItemListProps, {}>{\n    public render() {\n        const { itemList, spotifyLink, applePodcastLink } = this.props;\n\n        return (\n            <div className=\"slot-list\" >\n                {itemList.map((item, i) =>\n                    <PodcastArchiveItem\n                        key={i}\n                        item={item}\n                        spotifyLink={spotifyLink}\n                        applePodcastLink={applePodcastLink}\n                    />)}\n            </div>\n        )\n    }\n}","import * as axios from \"axios\"\nimport { ArticleExtraData } from \"articlePage/stateInterfaces\"\nimport { addAxiosDateTransformerSettings } from \"../../../../../utils/network/axiosDateTransformer\";\nimport { Loader } from \"../../../yPlusLoadMore/components/loader/loader\";\nimport { PodcastCategoryItemList } from \"./podcastCategoryItemList\";\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\nimport { GoogleSearchComponenta } from \"../../../googleSearch/components/googleSearchComponenta\";\nimport { StandartSlotItemMutam } from \"../../generalMutamComps/standartSlotItemMutam\";\nimport { getFrontImageUrl } from \"../../../../../front/staticServerRendering/frontImage\"\nimport { ImageSize } from \"../../../../../constants/imageSizes\"\nimport { PodcastStandartSlotItemMutam } from \"./podcastStandartSlotItemMutam\";\n\ninterface PodcastCategoryComponentaProps {\n    categoryId: string\n    componentaId?: string\n    firstPageArticles?: ArticleExtraData[]\n    numberOfVisibleItems: number\n    spotifyLink: string\n    applePodcastLink: string\n    archivePageLink: string\n    archivePageLinkTarget: LinkTargetProperties\n    pageSearchLink: string\n    showSearchField: boolean\n    isMobileWeb?: boolean\n}\n\ninterface PodcastCategoryComponentaState {\n    articles: ArticleExtraData[]\n    pageNumber: number\n    showLoader: boolean\n    showButton: boolean\n}\n\nexport class PodcastCategoryComponenta extends React.Component<PodcastCategoryComponentaProps, PodcastCategoryComponentaState> {\n    public static siteScriptName = \"PodcastCategoryComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            articles: [],\n            pageNumber: 0,\n            showLoader: false,\n            showButton: true\n        }\n    }\n\n    componentDidUpdate(prevProps: PodcastCategoryComponentaProps) {\n        if (this.props.firstPageArticles !== prevProps.firstPageArticles) {\n            this.setState(\n                {\n                    articles: this.props.firstPageArticles\n                }\n            );\n        }\n    }\n\n    componentDidMount() {\n        const { categoryId } = this.props;\n        if (categoryId) {\n            this.getArticles()\n        }\n    }\n\n    private getArticles = () => {\n        const { componentaId, } = this.props\n        const { pageNumber, articles } = this.state\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        this.setState(\n            {\n                articles: articles,\n                showLoader: true,\n                showButton: false\n            }\n        );\n\n\n        axiosInstance.get(`/iphone/json/api/article_list/${componentaId}/pageNumber/${pageNumber}`)\n            .then((res: any) => {\n                const recivedArticles = res.data.data as ArticleExtraData[];\n                this.setState(\n                    {\n                        articles: [...articles, ...recivedArticles],\n                        pageNumber: pageNumber + 1,\n                        showLoader: false,\n                        showButton: recivedArticles && recivedArticles.length === this.props.numberOfVisibleItems,\n                    }\n                );\n            })\n            .catch(err => console.error(\"error geting headline data:\", err))\n    }\n\n\n\n    public render() {\n        const { spotifyLink, applePodcastLink, archivePageLink, archivePageLinkTarget, pageSearchLink, showSearchField, isMobileWeb } = this.props;\n        const { articles, showLoader: loader, showButton } = this.state;\n        const tabStyle = { justifyContent: showSearchField ? \"space-between\" : \"flex-end\" };\n\n        return (\n            <div className=\"podcast-category-componenta\">\n                {isMobileWeb ?\n                    <div className=\"mutam-podcasts-item-list\">\n                        {articles.map((item) => (\n                            <PodcastStandartSlotItemMutam\n                                item={{\n                                    title: item.title,\n                                    link: item.publishedLink,\n                                    imageSrc: getFrontImageUrl(item.promotionImageDetails, { imageSize: ImageSize.medium }),\n                                    publishedDate: item.dateUpdatedOnSite,\n                                    author: item.specialData && item.specialData.audioData && item.specialData.audioData.alternatePresenterName\n                                }}\n                                fieldsDisplaySettings={{ isDateVisible: true, isAuthorVisible: true }}\n                            />\n                        ))}\n                    </div>\n                    :\n                    <>\n                        <div className=\"search-and-archive-tab\" style={tabStyle}>\n                            {showSearchField &&\n                                <div className=\"search-wrapper\">\n                                    <GoogleSearchComponenta placeholder=\"מה תרצו לחפש?\" link={pageSearchLink} disableInWcm={\"all\"} />\n                                </div>\n                            }\n\n                            <HyperLinkBuilder href={archivePageLink} linkTarget={archivePageLinkTarget}>\n                                <div className=\"archive-wrapper\">\n                                    <span className=\"archive-text\">ארכיון</span>\n                                    <span className=\"archive-icon\" />\n                                </div>\n                            </HyperLinkBuilder>\n                        </div>\n\n                        <PodcastCategoryItemList\n                            itemList={articles}\n                            spotifyLink={spotifyLink}\n                            applePodcastLink={applePodcastLink}\n                        />\n\n                        <div className=\"button-container\">\n                            {loader && <Loader />}\n                            {showButton &&\n                                <div className=\"load-more-button\" onClick={() => this.getArticles()}>\n                                    <div className=\"load-more-text\">טען עוד פודקאסטים</div>\n                                    <div className=\"load-more-icon\"></div>\n                                </div>}\n                        </div>\n                    </>\n                }\n            </div >\n        )\n    }\n}","import { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\";\nimport { CalcalistDetachedPlayer } from \"../../calcalistPodcastPopupPlayer/calcalistDetachedPlayer\"\n\ninterface podcastCategoryItemProps {\n    item: Partial<ArticleExtraData>\n    spotifyLink: string\n    applePodcastLink: string\n}\n\nconst MONTHS = {\n    he: [\"ינואר\", \"פברואר\", \"מרץ\", \"אפריל\", \"מאי\", \"יוני\", \"יולי\", \"אוגוסט\", \"ספטמבר\", \"אוקטובר\", \"נובמבר\", \"דצמבר\"],\n}\n\nexport class PodcastCategoryItem extends React.Component<podcastCategoryItemProps, {}>{\n    static defaultProps = { isCategoryVisible: true };\n\n    private getDate = (date: Date) => {\n        const day = date.getDate();\n        const month = MONTHS.he[date.getMonth()];\n        const year = date.getFullYear();\n        return `${day} ב${month}, ${year}`;\n    };\n\n    public render() {\n        const { item, spotifyLink, applePodcastLink } = this.props;\n        const { title, subTitle, dateUpdatedOnSite } = item\n        const { audioUrl, durationSeconds, imageUrl } = item.specialData.audioData\n\n        return (\n            <div className=\"slot-item\" >\n                <div className=\"slot-icons-wrapper\">\n                    <CalcalistDetachedPlayer\n                        audioUrl={audioUrl}\n                        title={title}\n                        durationSeconds={durationSeconds}\n                        podcastImage={imageUrl}\n                        classNames={\"icon play-icon\"}\n                        buttonTitle=\"Play\"\n                    />\n                    <a href={applePodcastLink} target=\"blank\" title=\"Apple Podcasts\" className=\"icon apple-podcast-icon\" />\n                    <a href={spotifyLink} target=\"blank\" title=\"Spotify\" className=\"icon spotify-icon\" />\n                </div>\n\n                <div className=\"text-div\">\n                    <a className=\"slot-title\" href={item.publishedLink}>{title}</a>\n                    <div className=\"slot-subtitle\">{subTitle}</div>\n                </div>\n\n                <div className=\"date-view\">{this.getDate(dateUpdatedOnSite)}</div>\n            </div>\n        )\n    }\n}","import { PodcastCategoryItem } from \"./podcastCategoryItem\";\nimport { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\";\n\ninterface podcastCategoryItemListProps {\n    itemList: ArticleExtraData[]\n    spotifyLink: string\n    applePodcastLink: string\n}\n\nexport class PodcastCategoryItemList extends React.Component<podcastCategoryItemListProps, {}>{\n    public render() {\n        const { itemList, spotifyLink, applePodcastLink } = this.props;\n\n        return (\n            <div className=\"slot-list\" >\n                {itemList.map((item, i) =>\n                    <PodcastCategoryItem\n                        key={i}\n                        item={item}\n                        spotifyLink={spotifyLink}\n                        applePodcastLink={applePodcastLink}\n                    />)}\n            </div>\n        )\n    }\n}","import { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\";\n\ninterface GeneralSlotItemProps {\n    fieldsDisplaySettings?: Partial<IFieldDisplayData>\n    item: GeneralItemProp\n}\n\nexport interface GeneralItemProp {\n    title: string\n    linkTarget?: LinkTargetProperties\n    link: string\n    imageSrc: string\n    publishedDate: Date\n    author: string\n}\n\nexport class PodcastStandartSlotItemMutam extends React.Component<GeneralSlotItemProps, {}>{\n\n    public render() {\n        const { item, fieldsDisplaySettings, } = this.props\n        const { title, link, linkTarget, imageSrc, publishedDate, author } = item\n        const basiclinkTargetProperties = {\n            linkOpenType: \"same\",\n            lightBoxWidth: 803,\n            lightBoxHeight: 700,\n            lightBoxOpacity: 70,\n            lightBoxBgColor: \"#000000\",\n        } as LinkTargetProperties;\n        return (\n\n            <HyperLinkBuilder href={link} linkTarget={linkTarget ? linkTarget : basiclinkTargetProperties} title={title} className=\"podcast-category-slotItem\">\n                <span className=\"slotTitle\">{title}</span>\n                <div className=\"slotDetails\">\n                    {<DateDisplay date={publishedDate} hiddenYesterday={true} />}\n                    { author && author.length > 0 && <span className=\"separator\"> | </span>}\n                    {author && author.length > 0 &&<span>{author}</span>}\n                </div>\n            </HyperLinkBuilder>\n\n        )\n    }\n\n}","import { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { SiteVideoData } from \"widgets/interfaces\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\"\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\n\nexport interface videoList {\n    video: SiteVideoData\n    link: string\n    linkTarget: LinkTargetProperties\n    title: string\n    id: string\n    subTitle?: string\n    author?: string\n    date?: Date\n}\n\ninterface SideVideoProps {\n    videoItems: videoList[]\n    videoSettings: VideoSettingsData\n    numOfItems: number\n    titleColor: string\n}\n\ninterface SideVideoState {\n    selectedId: string\n    videoPlayStarted: boolean\n}\n\nexport class FrontSideVideoCalcalist extends React.Component<SideVideoProps, SideVideoState>{\n    public static siteScriptName = \"FrontSideVideoCalcalist\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            selectedId: props.videoItems[0].id,\n            videoPlayStarted: false\n        }\n    }\n    private selectItem = (id: string) => {\n        this.setState({ selectedId: id })\n    }\n\n    private handleOnVideoPlayStarted = () => {\n        this.setState({ videoPlayStarted: true })\n    }\n\n    private handleOnVideoPlayStopped = () => {\n        this.setState({ videoPlayStarted: false })\n    }\n\n    render() {\n        const { videoItems, videoSettings, numOfItems, titleColor } = this.props\n        const { selectedId } = this.state\n        const notSelectedItems = videoItems.filter(i => i.id !== selectedId)\n        const selectedItem = videoItems.find(i => i.id === selectedId)\n\n\n        return (\n            <div className=\"SideVideoContent\">\n                <div className=\"mainVideo\">\n                    <div className=\"videoPlayerPlaceholder\">\n                        {selectedItem.video !== null ? <SiteMedia\n                            key={selectedItem.video.mediaId}\n                            onPlayStarted={() => this.handleOnVideoPlayStarted()}\n                            onPlayStopped={() => this.handleOnVideoPlayStopped()}\n                            data={selectedItem.video} videoSettings={videoSettings} width={300} height={168} />\n                            : <div />}\n                    </div>\n                    <HyperLinkBuilder className=\"itemTitle\" href={selectedItem.link} linkTarget={selectedItem.linkTarget}>\n                        <div style={{ color: titleColor }} dangerouslySetInnerHTML={{ __html: selectedItem.title }} />\n\n                    </HyperLinkBuilder>\n                </div>\n                {numOfItems > 1 && notSelectedItems.map((item, i) => <div className=\"videoItem\" key={i} onClick={() => this.selectItem(item.id)}>\n                    <div className=\"lisPreviewImage\">\n                        <img src={item.video.poster} />\n                        <SlotIconDisplay itemId={\"\"} icon={\"video\"} iconClassName=\"medium\" isIconVisible={true} />\n                    </div>\n\n                    <div className=\"itemTitle\">\n                        <div style={{ color: titleColor }} dangerouslySetInnerHTML={{ __html: item.title }} />\n                    </div>\n                </div>)}\n            </div>\n        )\n    }\n}","import { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { SiteVideoData } from \"widgets/interfaces\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\"\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { CalcalistMutamShareMenu } from \"../../generalMutamComps/calcalistMutamShareMenu\";\n\nexport interface videoList {\n    video: SiteVideoData\n    link: string\n    linkTarget: LinkTargetProperties\n    title: string\n    id: string\n    subTitle?: string\n    author?: string\n    date?: Date\n}\n\ninterface SideVideoProps {\n    videoItems: videoList[]\n    videoSettings: VideoSettingsData\n    numOfItems: number\n    titleColor: string\n    shareUrl: string\n}\n\ninterface SideVideoState {\n    selectedId: string\n    videoPlayStarted: boolean\n}\n\nexport class SideVideoMutamSlots extends React.Component<SideVideoProps, SideVideoState> {\n    public static siteScriptName = \"SideVideoMutamCalcalist\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            selectedId: props.videoItems[0].id,\n            videoPlayStarted: false\n        }\n    }\n    private selectItem = (id: string) => {\n        this.setState({ selectedId: id })\n    }\n\n    private handleOnVideoPlayStarted = () => {\n        this.setState({ videoPlayStarted: true })\n    }\n\n    private handleOnVideoPlayStopped = () => {\n        this.setState({ videoPlayStarted: false })\n    }\n\n    render() {\n        const { videoItems, videoSettings, numOfItems, titleColor, shareUrl } = this.props\n        const { selectedId } = this.state\n        const notSelectedItems = videoItems.filter(i => i.id !== selectedId)\n        const selectedItem = videoItems.find(i => i.id === selectedId)\n\n        return (\n            <div className=\"SideVideoContent\">\n                <div className=\"mainVideo\">\n                    <div className=\"videoPlayerPlaceholder\">\n                        {selectedItem.video !== null ? <SiteMedia\n                            key={selectedItem.video.mediaId}\n                            onPlayStarted={() => this.handleOnVideoPlayStarted()}\n                            onPlayStopped={() => this.handleOnVideoPlayStopped()}\n                            data={selectedItem.video} videoSettings={videoSettings} width={300} height={168} />\n                            : <div />}\n                    </div>\n                    {shareUrl && <CalcalistMutamShareMenu url={shareUrl}></CalcalistMutamShareMenu>}\n                    <HyperLinkBuilder className=\"itemTitle\" href={selectedItem.link} linkTarget={selectedItem.linkTarget}>\n                        <div style={{ color: titleColor }} dangerouslySetInnerHTML={{ __html: selectedItem.title }} />\n\n                    </HyperLinkBuilder>\n                </div>\n                {numOfItems > 1 && notSelectedItems.map((item, i) => <div className=\"slotItem\" key={i} onClick={() => this.selectItem(item.id)}>\n                    <div className=\"lisPreviewImage\">\n                        <img src={item.video.poster} />\n                        <SlotIconDisplay itemId={\"\"} icon={\"video\"} iconClassName=\"medium\" isIconVisible={true} />\n                    </div>\n\n                    <div className=\"itemTitle\">\n                        <div style={{ color: titleColor }} dangerouslySetInnerHTML={{ __html: item.title }} />\n                    </div>\n                </div>)}\n            </div>\n        )\n    }\n}","import * as map from \"lodash/map\"\nimport { LinkedItemFieldDisplay } from \"../../../../commonDataObjects/linkedItemsFieldsDisplay\"\nimport { LinkedItemVideoSettings } from \"../../../../commonDataObjects/linkedItemsVideoSettings\"\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { CalcalistSpecialContentItemFront } from \"./calcalistSpecialContentItemFront\"\nimport { MultiImagesScroller } from \"../../../../commonComponents/base/multiImagesFrontScroller\"\nrequire(\"./ctech_calcalist_site_calcalistSpecialContentFront.less\")\n\ninterface CalcalistSpecialContentFrontProps {\n    tabText: string\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    titleTextColor: string\n    stirpsColor: string\n    backgroundColor: string\n    isStripsVisible: boolean\n    isTabVisible: boolean\n    imageWidth: number\n    imageHeight: number\n    itemsContainerWidth: number\n    height: number\n    itemList: any //TODO: make type for items\n    fieldsDisplaySettings: LinkedItemFieldDisplay\n    videoSettings: LinkedItemVideoSettings\n    naturalWidth: number\n    className: string\n    isBigImage: boolean\n    isLTR?: boolean\n    numberOfVisibleItems: number\n    isMobileSettings?: boolean\n}\n\nexport class CalcalistSpecialContentFront extends React.Component<CalcalistSpecialContentFrontProps>{\n    public static siteScriptName = \"CalcalistSpecialContentFront\"\n\n    private getItemMargin = (componentWidth: number, imageWidth: number) => {\n        let numberofVisibleItems = Math.floor(componentWidth / imageWidth)\n        let imagesWidth = numberofVisibleItems * imageWidth\n        let spaceForMargin = componentWidth - imagesWidth\n        let marginLeft = spaceForMargin / (numberofVisibleItems - 1)\n        return marginLeft\n    }\n\n    render() {\n        const { isStripsVisible, naturalWidth, videoSettings, imageWidth, imageHeight,\n            titleTextColor, stirpsColor, backgroundColor, height, itemsContainerWidth: width, tabLink,\n            tabLinkTarget, tabText, itemList, isTabVisible, className, isBigImage, isLTR, numberOfVisibleItems, isMobileSettings } = this.props\n        const containerStyles = {\n            width: `${naturalWidth}px`,\n            height: `${height}px`,\n            backgroundColor: backgroundColor,\n            borderTop: `3px solid ${isStripsVisible ? stirpsColor : backgroundColor}`,\n            borderBottom: `3px solid ${isStripsVisible ? stirpsColor : backgroundColor}`,\n        }\n        const items = map(itemList, (item, i) => {\n            return <CalcalistSpecialContentItemFront\n                key={i}\n                itemData={item}\n                videoSettings={videoSettings}\n                mediaWidth={imageWidth}\n                mediaHeight={imageHeight}\n                titleTextColor={titleTextColor}\n                isLTR={isLTR}\n                marginLeft={isLTR ? (i === 0 ? 0 : this.getItemMargin(width, imageWidth)) : (i === numberOfVisibleItems - 1 ? 0 : this.getItemMargin(width, imageWidth))}\n            />\n        })\n        const bigImageClass = isBigImage ? \"bigImage\" : \"\"\n        const slotsWrapperStyles = {\n            paddingTop: isTabVisible ? '0px' : '20px'\n        }\n        const ctechClassName = isLTR ? 'Ctech' : ''\n        return (\n            <div className={`CalcalistSpecialContentFront ${className} ${bigImageClass}${ctechClassName}`} style={containerStyles}>\n                {isTabVisible &&\n                    <HyperLinkBuilder\n                        href={tabLink}\n                        linkTarget={tabLinkTarget !== undefined && tabLinkTarget} >\n                        <span className=\"tabTitle\" style={{ color: stirpsColor }} data-tb-title=\"\"> {tabText}</span>\n                    </HyperLinkBuilder>}\n                <div className=\"slotsWrapper\" style={slotsWrapperStyles}>\n                    <MultiImagesScroller width={width} imageWidth={imageWidth} itemLength={numberOfVisibleItems} isLTR={isLTR}>\n                    {items}\n                    </MultiImagesScroller>\n                </div>\n            </div>\n        )\n    }\n}","import { MediaContentTypes } from \"../../../../../constants/contentTypes\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\"\nimport { SiteMediaData, SiteImageData } from \"../../../../interfaces\"\nimport { LinkedItemVideoSettings } from \"../../../../commonDataObjects/linkedItemsVideoSettings\"\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { CalcalistShareMenu } from \"../../../../commonComponents/base/CalcalistShareMenu\";\nimport { SlotIconDisplay } from \"../../../../commonComponents/inline/slotIconDisplay/slotIconDisplay\";\nimport { calculateShouldAddArticleAutoplayIndicator } from \"widgets/widgetsUtils\"\nimport classNames = require(\"classnames\")\nimport { convertHtmlToString } from \"../../../../../config/utils\";\nimport { ComponentaIconType } from \"widgets/commonDataObjects/interfaces\"\n\nrequire(\"./ctech_calcalist_site_calcalistSpecialContentItemFront.less\")\n\ninterface CalcalistSpecialContentItemFrontProps {\n    mediaWidth: number\n    mediaHeight: number\n    itemData: any\n    videoSettings: LinkedItemVideoSettings\n    marginLeft: number\n    titleTextColor: string\n    isLTR?: boolean\n}\n\nexport class CalcalistSpecialContentItemFront extends React.Component<CalcalistSpecialContentItemFrontProps, {}>{\n  \n    render() {\n        const { titleTextColor, marginLeft, videoSettings, itemData, mediaWidth, mediaHeight, isLTR } = this.props\n\n        const shouldAddArticleAutoplayIndicator = calculateShouldAddArticleAutoplayIndicator(itemData.icon, itemData.media);\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        let iconType:ComponentaIconType = \"none\";\n        if(itemData.hasVideo){\n            iconType = \"video\";\n        }\n        if(itemData.articleType === \"audio\"){\n            iconType = \"audio\";\n        }\n        return (\n            <div className={classNames(\"CalcalistSpecialContentItemFront\", { \"Ctech\": isLTR })} style={{ width: mediaWidth, marginLeft }}>\n                <div className=\"mediaArea CalcalistComponentaShareMenuMedia\">\n                    <div className=\"MediaCarousel\" style={{ width: mediaWidth, height: mediaHeight }}>\n                        <SiteMedia\n                            allMedias={[]}\n                            data={itemData.media !== undefined ? itemData.media : emptyMedia}\n                            width={mediaWidth}\n                            height={mediaHeight}\n                            videoSettings={videoSettings}\n                            itemLinkUrl={itemData.titleLink}\n                            isImageLinkable={true}\n                            linkTarget={itemData.titleTargetLink !== undefined && itemData.titleTargetLink}\n                            shouldAddArticleAutoplayIndicator={shouldAddArticleAutoplayIndicator}\n                        />\n                        <SlotIconDisplay itemId={itemData.itemId} icon={iconType} iconClassName=\"medium\" isIconVisible={iconType!==\"none\"} />\n                    </div>\n                    <CalcalistShareMenu url={itemData.titleLink} isArticle={itemData.linkType === \"ARTICLE\"} title={convertHtmlToString(itemData.title)} />\n                </div>\n                <div className=\"titleWrapper\" style={{ width: mediaWidth }}>\n                    <HyperLinkBuilder\n                        href={itemData.titleLink}\n                        linkTarget={itemData.tabLinkTarget !== undefined && itemData.tabLinkTarget}\n                        isDataTbLink>\n                        <div style={{ color: titleTextColor }} dangerouslySetInnerHTML={{ __html: itemData.title }} />\n                    </HyperLinkBuilder>\n                </div>\n            </div>\n        )\n    }\n}","import { MediaContentTypes } from \"../../../../../constants/contentTypes\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\"\nimport { SiteMediaData, SiteImageData } from \"../../../../interfaces\"\nimport { LinkedItemVideoSettings } from \"../../../../commonDataObjects/linkedItemsVideoSettings\"\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { SlotIconDisplay } from \"../../../../commonComponents/inline/slotIconDisplay/slotIconDisplay\";\nimport { calculateShouldAddArticleAutoplayIndicator } from \"widgets/widgetsUtils\"\nimport classNames = require(\"classnames\")\nimport { convertHtmlToString } from \"../../../../../config/utils\";\nimport { ComponentaIconType } from \"widgets/commonDataObjects/interfaces\"\nimport { CalcalistMutamShareMenu } from \"../../generalMutamComps/calcalistMutamShareMenu\";\nimport { separateHourFromDateAndFormatToString } from \"../../../../widgetsUtils\"\n\n\ninterface CalcalistSpecialContentItemMobileProps {\n    mediaWidth: number\n    mediaHeight: number\n    itemData: any\n    videoSettings: LinkedItemVideoSettings\n    marginLeft?: number\n    titleTextColor: string\n    isLTR?: boolean\n    isMain?: boolean\n}\n\nexport class CalcalistSpecialContentItemMobile extends React.Component<CalcalistSpecialContentItemMobileProps, {}>{\n\n    render() {\n        const { titleTextColor, videoSettings, itemData, mediaWidth, mediaHeight, isLTR, isMain } = this.props\n        const shouldAddArticleAutoplayIndicator = calculateShouldAddArticleAutoplayIndicator(itemData.icon, itemData.media);\n        const articlePublishDate = separateHourFromDateAndFormatToString(itemData.date, { showHour: false });\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        let iconType: ComponentaIconType = \"none\";\n        if (itemData.hasVideo) {\n            iconType = \"video\";\n        }\n        if (itemData.articleType === \"audio\") {\n            iconType = \"audio\";\n        }\n        return (\n            <div className={classNames(\"CalcalistSpecialContentItemMobile\")}>\n                <div className=\"mediaArea CalcalistMutamShareMenu\">\n                    <div className=\"MediaCarousel\">\n                        <SiteMedia\n                            allMedias={[]}\n                            data={itemData.media !== undefined ? itemData.media : emptyMedia}\n                            width={mediaWidth}\n                            height={mediaHeight}\n                            videoSettings={videoSettings}\n                            itemLinkUrl={itemData.titleLink}\n                            isImageLinkable={true}\n                            linkTarget={itemData.titleTargetLink !== undefined && itemData.titleTargetLink}\n                            shouldAddArticleAutoplayIndicator={shouldAddArticleAutoplayIndicator}\n                        />\n                        <SlotIconDisplay itemId={itemData.itemId} icon={iconType} iconClassName=\"big\" isIconVisible={iconType !== \"none\"} />\n                    </div>\n                    <CalcalistMutamShareMenu url={itemData.titleLink} isArticle={itemData.linkType === \"ARTICLE\"} title={convertHtmlToString(itemData.title)} />\n                </div>\n                <div className=\"titleWrapper\">\n                    <HyperLinkBuilder\n                        href={itemData.titleLink}\n                        linkTarget={itemData.tabLinkTarget !== undefined && itemData.tabLinkTarget}\n                        isDataTbLink>\n                        {isMain && itemData.roof && itemData.roof.length > 0 && <div className=\"roofTitle\" data-roof-text={itemData.roof}><span>{itemData.roof}</span></div>}\n                        {isMain ? <h5 dangerouslySetInnerHTML={{ __html: itemData.title }} className=\"title\" /> : <div dangerouslySetInnerHTML={{ __html: itemData.title }} className=\"title\" />}\n                        <div className=\"publishDate\">\n                            <span className=\"date\">{articlePublishDate}</span>\n                           {articlePublishDate && itemData.author &&  <span> | </span>}\n                            <span> {itemData.author} </span>\n                        </div>\n                    </HyperLinkBuilder>\n                </div>\n            </div>\n        )\n    }\n}","\nimport { LinkedItemFieldDisplay } from \"../../../../commonDataObjects/linkedItemsFieldsDisplay\"\nimport { LinkedItemVideoSettings } from \"../../../../commonDataObjects/linkedItemsVideoSettings\"\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\"\nimport { CalcalistSpecialContentItemMobile } from \"./calcalistSpecialContentItemMobile\";\nimport { CalcalistSpecialContentMobileItemData } from \"./calcalistSpecialContenWrapperMobile\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\n\n\ninterface CalcalistSpecialContentMobileProps {\n    tabText: string\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    titleTextColor: string\n    stirpsColor: string\n    backgroundColor: string\n    isStripsVisible: boolean\n    isTabVisible: boolean\n    imageWidth: number\n    imageHeight: number\n    itemsContainerWidth: number\n    height: number\n    itemList: CalcalistSpecialContentMobileItemData[]\n    fieldsDisplaySettings: LinkedItemFieldDisplay\n    videoSettings: LinkedItemVideoSettings\n    naturalWidth: number\n    isBigImage: boolean\n    isLTR?: boolean\n    numberOfVisibleItems: number\n    isMobileSettings?: boolean\n}\n\nexport class CalcalistSpecialContentMobile extends React.Component<CalcalistSpecialContentMobileProps>{\n    public static siteScriptName = \"CalcalistSpecialContentMobile\"\n\n    render() {\n        const { videoSettings, imageWidth, imageHeight, titleTextColor, itemList, isLTR, tabText, tabLink, \n            tabLinkTarget, isTabVisible, isStripsVisible, stirpsColor,  backgroundColor} = this.props\n       const  borderColor =  isStripsVisible ? stirpsColor : backgroundColor;\n        return (\n            <div className={`CalcalistSpecialContentMobile`}>\n                <section className=\"main-container\" style={{\"--border-color\":borderColor}}>\n                  {isTabVisible &&  <h2 className=\"header\">\n                        <HyperLinkBuilder\n                            href={tabLink}\n                            linkTarget={tabLinkTarget !== undefined && tabLinkTarget} >\n                            <span className=\"title\"  style={{ color: stirpsColor }}>{tabText}</span>\n                            <span className=\"arrow-icon\"></span>\n                        </HyperLinkBuilder>\n                    </h2>}\n                    <div className=\"items-container\">\n                        <div className=\"main-item\">\n                            <CalcalistSpecialContentItemMobile\n                                itemData={itemList[0]}\n                                videoSettings={videoSettings}\n                                mediaWidth={imageWidth}\n                                mediaHeight={imageHeight}\n                                titleTextColor={titleTextColor}\n                                isLTR={isLTR}\n                                isMain={true}\n                            />\n                        </div>\n                        <div className=\"bottom-items\">\n                            <CalcalistSpecialContentItemMobile\n                                itemData={itemList[1]}\n                                videoSettings={videoSettings}\n                                mediaWidth={imageWidth}\n                                mediaHeight={imageHeight}\n                                titleTextColor={titleTextColor}\n                                isLTR={isLTR}\n                            />\n                            <CalcalistSpecialContentItemMobile\n                                itemData={itemList[2]}\n                                videoSettings={videoSettings}\n                                mediaWidth={imageWidth}\n                                mediaHeight={imageHeight}\n                                titleTextColor={titleTextColor}\n                                isLTR={isLTR}\n                            />\n                        </div>\n                    </div>\n                </section>\n            </div>\n        )\n    }\n}","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\n\ninterface VideoGalleryVerticalItemMutamProps {\n    videoItem: SiteItemData\n    videoIndex: number\n    lastIntersectedPromoIndex: number\n    isTitleVisible: boolean\n    onOpenVideoGalleryView: (e) => void\n    onVideoEnded: () => void\n    getItemIntoViewIndex: (itemIntoViewIndex: number) => void\n    onLastIntersectingPromoCHange: (lastPromoIndex: number) => void\n    pushGA4Event: (action: string, isFeedDisplay: boolean) => void\n}\n\ninterface VideoGalleryVerticalItemMutamState {\n    isItemIntoView: boolean\n}\n\nexport class VideoGalleryVerticalItemMutam extends React.Component<VideoGalleryVerticalItemMutamProps, VideoGalleryVerticalItemMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isItemIntoView: false,\n        }\n    }\n\n    private videoRef;\n    private slotRef;\n    private intersectionObserver: IntersectionObserver;\n\n    componentDidMount() {\n        this.initObserver();\n    }\n\n    componentWillUnmount() {\n        this.intersectionObserver && this.intersectionObserver.disconnect();\n    }\n\n    private onVideoIntersectViewport = () => {\n        const { getItemIntoViewIndex, videoIndex, onLastIntersectingPromoCHange } = this.props;\n        this.setState({ isItemIntoView: true });\n        onLastIntersectingPromoCHange(videoIndex)\n        getItemIntoViewIndex(videoIndex)\n        if (this.videoRef) this.videoRef.play();\n    }\n\n    private onVideoLeaveViewport = () => {\n        this.setState({ isItemIntoView: false });\n        if (this.videoRef) this.videoRef.pause();\n    }\n\n    private secondsToMinutesHandler = (seconds: number) => {\n        const minutes = Math.floor(seconds / 60).toString().padStart(2, \"0\");\n        const newSeconds = (seconds % 60).toString().padStart(2, \"0\");\n        return `${minutes}:${newSeconds}`;\n    }\n\n    private initObserver = () => {\n        this.intersectionObserver = new IntersectionObserver(entry => {\n            entry[0].isIntersecting ? this.onVideoIntersectViewport() : this.onVideoLeaveViewport();\n        }, { threshold: 0.8 })\n        this.intersectionObserver.observe(this.slotRef);\n    }\n\n    public render() {\n        const { isItemIntoView } = this.state;\n        const { videoItem, onOpenVideoGalleryView, videoIndex, onVideoEnded, isTitleVisible } = this.props;\n        const { media, title } = videoItem;\n        const { duration, poster, promoPath } = media as SiteVideoData;\n        const shouldDisplayPromo = isItemIntoView && promoPath;\n        const slotClasses = `slotView ${shouldDisplayPromo ? \"active\" : \"\"}`;\n\n        return (\n            <div\n                className={slotClasses}\n                onClick={() => onOpenVideoGalleryView(videoIndex)}\n                ref={ref => this.slotRef = ref}\n            >\n                {shouldDisplayPromo ?\n                    <video\n                        autoPlay={true}\n                        loop={false}\n                        ref={ref => this.videoRef = ref}\n                        muted\n                        poster={poster}\n                        onEnded={onVideoEnded}\n                        className=\"promoVideo\" src={promoPath}\n                        playsInline\n                        webkit-playsInline>\n                    </video>\n                    :\n                    <img\n                        src={poster}\n                        alt=\"\" />\n                }\n                <div className=\"contentDiv\">\n                    {isTitleVisible && <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />}\n                    <div className=\"videoDuration\"><span className=\"durationLogo\"></span> <span>{this.secondsToMinutesHandler(Math.round(duration))}</span></div>\n                </div>\n            </div>\n        )\n    }\n}\n","import { SiteItemData } from \"../../../../interfaces\";\nimport { isWcmEditor } from \"config/serverConfig\";\nimport { VideoGalleryVerticalDesktop } from \"./videoGalleryVerticalDesktop\";\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\";\n\nexport interface categoryObj {\n    id: string\n    categoryColor: string\n    name:string\n}\n\ninterface VideoGalleryVerticalComponentaProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    isTitleVisible:boolean\n    isSubTitleVisible: boolean\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    category: categoryObj\n    domain: string\n    showPrerollAds: boolean\n}\n\nexport class CalcalistVideoGalleryVerticalComponenta extends React.Component<VideoGalleryVerticalComponentaProps, {}>{\n    public static siteScriptName = \"calcalistVideoGalleryVerticalComponenta\";\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, repeatAds, maxAds, firstAdPlace, category, domain, tabLink, tabLinkTarget, isTitleVisible, isSubTitleVisible, showPrerollAds } = this.props;\n        const componentClass = `calcalistVideoGalleryVerticalComponenta ${isWcmEditor() ? \"editMode\" : \"\"}`;\n\n        return (\n            <div className={componentClass}>\n                <VideoGalleryVerticalDesktop\n                    videoList={videoList}\n                    isTabVisible={isTabVisible}\n                    tabLink={tabLink}\n                    tabLinkTarget={tabLinkTarget}\n                    tabTitleText={tabTitleText}\n                    repeatAds={repeatAds}\n                    maxAds={maxAds}\n                    firstAdPlace={firstAdPlace}\n                    category={category}\n                    domain={domain}\n                    isTitleVisible={isTitleVisible}\n                    isSubTitleVisible={isSubTitleVisible}\n                    showPrerollAds={showPrerollAds}/>\n            </div>\n        )\n    }\n}","import { SiteItemData } from \"../../../../interfaces\";\nimport { VideoGalleryVerticalMutam } from \"./videoGalleryVerticalMutam\";\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\";\n\nexport interface categoryObj {\n    id: string\n    categoryColor: string\n    name:string\n}\n\ninterface VideoGalleryVerticalMutamComponentaProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    firstAdPlace: number\n    maxAds: number\n    repeatAds: number\n    shouldDisplayMobileAds: boolean\n    category: categoryObj\n    hideMoreButton:boolean \n    moreButtonText:string\n    domain: string\n    isTitleVisible: boolean\n    isSubTitleVisible: boolean\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    showPrerollAds: boolean\n}\n\nexport class CalcalistVideoGalleryVerticalMutamComponenta extends React.Component<VideoGalleryVerticalMutamComponentaProps, {}>{\n    public static siteScriptName = \"calcalistVideoGalleryVerticalMutamComponenta\";\n\n    public render() {\n        const { videoList, hideMoreButton,moreButtonText,  isTabVisible, tabTitleText, repeatAds, maxAds, firstAdPlace, shouldDisplayMobileAds, category, domain, isTitleVisible, isSubTitleVisible, tabLink, tabLinkTarget, showPrerollAds } = this.props;\n\n        return (\n            <div className=\"calcalistVideoGalleryVerticalMutamComponenta\">\n                <VideoGalleryVerticalMutam\n                    videoList={videoList}\n                    isTabVisible={isTabVisible}\n                    tabTitleText={tabTitleText}\n                    repeatAds={repeatAds}\n                    maxAds={maxAds}\n                    firstAdPlace={firstAdPlace}\n                    hideMoreButton={hideMoreButton}\n                    moreButtonText={moreButtonText}\n                    shouldDisplayMobileAds={shouldDisplayMobileAds}\n                    category={category}\n                    domain={domain}\n                    isTitleVisible={isTitleVisible}\n                    isSubTitleVisible={isSubTitleVisible}\n                    tabLink={tabLink}\n                    tabLinkTarget={tabLinkTarget}\n                    showPrerollAds={showPrerollAds}/>\n            </div>\n        )\n    }\n}\n","import Slider from \"react-slick\"\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { PromoCarousel } from \"../../../ynet1280/videoGalleryVerticalWidget/components/promoCarousel\";\nimport { disablePageRefresh, enablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport { VideoGalleryVerticalItem } from \"./videoGalleryVerticalItem\";\nimport { VideoVerticalFeedItem } from \"./videoVerticalFeedItem\";\nimport { categoryObj } from \"./calcalistVideoGalleryVerticalComponenta\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\";\n\ninterface VideoGalleryVerticalDesktopProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    category: categoryObj\n    domain: string\n    isTitleVisible: boolean\n    isSubTitleVisible: boolean\n    showPrerollAds: boolean\n}\n\ninterface VideoGalleryVerticalDesktopState {\n    feedActiveSlide: number\n    isFeedDisplay: boolean\n    initialFeedSlide: number\n    togglePromoActive: boolean\n    currentPromoIndex: number\n}\n\nexport class VideoGalleryVerticalDesktop extends React.Component<VideoGalleryVerticalDesktopProps, VideoGalleryVerticalDesktopState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            feedActiveSlide: 0,\n            isFeedDisplay: false,\n            initialFeedSlide: 0,\n            togglePromoActive: false,\n            currentPromoIndex: 0\n        };\n        this.handleKeyPress = this.handleKeyPress.bind(this);\n    }\n\n    private slider;\n\n    componentDidMount() {\n        document.addEventListener('keydown', this.handleKeyPress);\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener('keydown', this.handleKeyPress);\n    }\n\n\n    private onOpenVideoGalleryView = (videoIndex: number) => {\n        const { videoList } = this.props;\n        const initialFeedSlide = this.getListWithAds().findIndex((element) => element.itemId === videoList[videoIndex].itemId);\n        this.setState({ initialFeedSlide: initialFeedSlide, feedActiveSlide: initialFeedSlide }, () => { this.setState({ isFeedDisplay: true }) });\n        disablePageRefresh();\n    }\n\n    private onCloseVideoGalleryView = () => {\n        this.setState({ isFeedDisplay: false });\n        enablePageRefresh();\n    }\n\n    private onPromoMouseHover = (currentPromoIndex: number) => {\n        this.setState({ currentPromoIndex: currentPromoIndex });\n    }\n\n    private handleKeyPress(e) {\n        if (e.keyCode === 27) {\n            this.onCloseVideoGalleryView();\n        }\n    }\n\n    private onNextSlide = () => {\n        this.slider.slickPrev();\n    }\n\n    private getListWithAds = () => {\n        const { repeatAds, maxAds, firstAdPlace, videoList, showPrerollAds } = this.props;\n        const videoListCopy = [...videoList];\n        const videoListLength = videoListCopy.length;\n        let numberOfAds = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        const newListLength = videoListLength + numberOfAds;\n        const baseId = \"ads.vertical.native.\";\n        let newList = [];\n        let adCount = 1;\n\n        if (showPrerollAds) return this.getListWithPreRollsAds();\n        if (maxAds === 0) return videoListCopy;\n\n        for (let i = 0; i < newListLength; i++) {\n            if (i < firstAdPlace) {\n                newList.push(videoListCopy.shift());\n            } else if (i === firstAdPlace && numberOfAds > 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else if (numberOfAds > 0 && (i - firstAdPlace) % (repeatAds + 1) === 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else {\n                newList.push(videoListCopy.shift());\n            }\n        }\n\n        return newList;\n    }\n\n    private getListWithPreRollsAds = () => {\n        const { repeatAds, maxAds, firstAdPlace, videoList, showPrerollAds } = this.props;\n        const videoListCopy = [...videoList];\n        const videoListLength = videoListCopy.length;\n        let numberOfAdsLeft = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        const totalAdsNumber = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        \n        if (maxAds === 0) return videoListCopy;\n        let newList = [];\n        \n        for (let i = 0; i < videoList.length; i++) {\n            let prerollIndex = Math.abs(numberOfAdsLeft - (totalAdsNumber + 1));\n            if (i + 1 < firstAdPlace) {\n                newList.push({ ...videoList[i], hidePrerollAds: true, prerollIndex: undefined });\n            } else if (i === firstAdPlace && numberOfAdsLeft > 0) {\n                newList.push({ ...videoList[i], hidePrerollAds: false, prerollIndex: showPrerollAds ? prerollIndex : undefined });\n                numberOfAdsLeft--;\n            } else if (numberOfAdsLeft > 0 && (i - firstAdPlace) % (repeatAds + 1) === 0) {\n                newList.push({ ...videoList[i], hidePrerollAds: false, prerollIndex: showPrerollAds ? prerollIndex : undefined });\n                numberOfAdsLeft--;\n            } else {\n                newList.push({ ...videoList[i], hidePrerollAds: true, prerollIndex: undefined });\n            }\n        }\n\n        return newList;\n    }\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, domain, tabLink, tabLinkTarget, isTitleVisible, isSubTitleVisible, showPrerollAds } = this.props;\n        const { isFeedDisplay, initialFeedSlide, feedActiveSlide, togglePromoActive, currentPromoIndex } = this.state;\n\n        const feedDisplaySettings = {\n            infinite: false,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            initialSlide: initialFeedSlide, \n            draggable: false,\n            rtl: true,\n            beforeChange: (current, next) => this.setState({ feedActiveSlide: Math.abs(next - this.getListWithAds().length + 1) }),\n            nextArrow: <SampleNextArrow feedActiveSlide={feedActiveSlide} listLength={this.getListWithAds().length} />,\n            prevArrow: <SamplePrevArrow feedActiveSlide={feedActiveSlide} listLength={this.getListWithAds().length} />,\n        };\n\n        return (\n            <div className=\"videoGalleryVerticalDesktopWrapper\">\n                {isTabVisible && <div className=\"videoGalleryVerticalTab componentaTab\">\n                    <HyperLinkBuilder\n                        className=\"videoLink\"\n                        href={tabLink}\n                        linkTarget={tabLinkTarget}\n                    >\n                        {tabTitleText}\n                    </HyperLinkBuilder>\n                </div>}\n                {isFeedDisplay && <div className=\"closeBtn\" onClick={this.onCloseVideoGalleryView}></div>}\n                <PromoCarousel\n                    imageWidth={176}\n                    width={890}\n                    itemListLength={videoList.length}\n                    marginRight={16}\n                    togglePromoActive={togglePromoActive}\n                    currentPromoIndex={currentPromoIndex}\n                    videoList={videoList}\n                    initialRightOffset={16}\n                >\n                    {videoList.map((videoItem, index) => {\n                        return (\n                            <VideoGalleryVerticalItem\n                                videoItem={videoItem}\n                                onOpenVideoGalleryView={this.onOpenVideoGalleryView}\n                                videoIndex={index}\n                                key={videoItem.itemId}\n                                onPromoMouseHover={this.onPromoMouseHover}\n                                isTitleVisible={isTitleVisible}\n                            />\n                        )\n                    })}\n                </PromoCarousel >\n                {isFeedDisplay &&\n                    <div className=\"feedDisplay\">\n                        <Slider {...feedDisplaySettings} className=\"slider\" ref={slider => (this.slider = slider)} >\n                            {this.getListWithAds().map((videoItem, index) => {\n                                if ((typeof videoItem) === 'string') {\n                                return (<div key={index} id={videoItem} className=\"ads_vertical_video\"></div>)\n                                } else {\n                                return ( <VideoVerticalFeedItem\n                                        videoItem={videoItem}\n                                        key={videoItem.itemId}\n                                        feedActiveSlide={feedActiveSlide}\n                                        onNextSlide={this.onNextSlide}\n                                        onCloseVideoGalleryView={this.onCloseVideoGalleryView}\n                                        domain={domain}\n                                        index={index}\n                                        isTitleVisible={isTitleVisible} \n                                        isSubTitleVisible={isSubTitleVisible}\n                                        showPrerollAds={showPrerollAds} />\n                                  )\n                                }\n                            })}\n                        </Slider>\n                    </div>\n                }\n            </div>\n        )\n    }\n}\n\nconst SampleNextArrow = (props) => {\n    const { onClick, feedActiveSlide } = props;\n    const shouldDisplayArrow = feedActiveSlide !== 0;\n    const handleClick = () => {\n        onClick();\n    }\n\n    return (\n        <button\n            className={`slickArrow slickNext ${shouldDisplayArrow ? \"\" : \"slickDisabled\"}`}\n            onClick={handleClick}\n        ></button>\n    );\n}\n\nconst SamplePrevArrow = (props) => {\n    const { onClick, feedActiveSlide, listLength } = props;\n    const shouldDisplayArrow = (feedActiveSlide + 1) !== listLength;\n    const handleClick = () => {\n        onClick();\n    }\n    return (\n        <button\n            className={`slickArrow slickPrev ${shouldDisplayArrow ? \"\" : \"slickDisabled\"}`}\n            onClick={handleClick}\n        ></button>\n    );\n}","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\n\ninterface VideoGalleryVerticalItemProps {\n    videoItem: SiteItemData\n    videoIndex: number\n    isTitleVisible: boolean\n    onOpenVideoGalleryView: (e) => void\n    onPromoMouseHover: (currentPromoIndex: number) => void\n}\n\ninterface VideoGalleryVerticalItemState {\n    isMouseHover: boolean\n}\n\nexport class VideoGalleryVerticalItem extends React.Component<VideoGalleryVerticalItemProps, VideoGalleryVerticalItemState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isMouseHover: false,\n        }\n    }\n\n    private videoRef;\n\n    private onMouseHover = () => {\n        const { videoIndex, onPromoMouseHover } = this.props;\n        this.setState({ isMouseHover: true });\n        onPromoMouseHover(videoIndex);\n        if (this.videoRef) this.videoRef.play();\n\n    }\n\n    private onMouseLeave = () => {\n        this.setState({ isMouseHover: false });\n        if (this.videoRef) this.videoRef.pause();\n    }\n\n    private secondsToMinutesHandler = (seconds: number) => {\n        const minutes = Math.floor(seconds / 60).toString().padStart(2, \"0\");\n        const newSeconds = (seconds % 60).toString().padStart(2, \"0\");\n        return `${minutes}:${newSeconds}`;\n    }\n\n    public render() {\n        const { isMouseHover } = this.state;\n        const { videoItem, onOpenVideoGalleryView, videoIndex,isTitleVisible } = this.props;\n        const { media, title } = videoItem;\n        const { duration, poster, promoPath } = media as SiteVideoData;\n        const shouldDisplayPromo = isMouseHover && promoPath;\n        const slotClasses = `slotView ${shouldDisplayPromo ? \"hovered\" : \"\"}`;\n\n        return (\n            <div className={slotClasses} onMouseEnter={this.onMouseHover} onMouseLeave={this.onMouseLeave} onClick={() => onOpenVideoGalleryView(videoIndex)}>\n                {isMouseHover ?\n                    <video\n                        autoPlay={true}\n                        loop={true}\n                        ref={ref => this.videoRef = ref}\n                        muted\n                        poster={poster}\n                        className=\"promoVideo\" src={promoPath}>\n                    </video>\n                    :\n                    <img\n                        src={poster}\n                        alt=\"\" />\n                }\n                <div className=\"contentDiv\">\n                    {isTitleVisible && <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />}\n                    <div className=\"videoDuration\"><span className=\"durationLogo\"></span> <span>{this.secondsToMinutesHandler(Math.round(duration))}</span></div>\n                </div>\n            </div>\n        )\n    }\n}\n","import Slider from \"react-slick\";\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { PromoCarousel } from \"../../../ynet1280/videoGalleryVerticalWidget/components/promoCarousel\";\nimport { enablePageRefresh, disablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport * as ResizeObserver from \"resize-observer-polyfill\";\nimport { VideoVerticalFeedItemMutam } from \"./videoVerticalFeedItemMutam\";\nimport { VideoGalleryVerticalItemMutam } from \"./VideoGalleryVerticalItemMutam\";\nimport { categoryObj } from \"./calcalistVideoGalleryVerticalMutamComponenta\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\";\n\ninterface VideoGalleryVerticalMutamProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    shouldDisplayMobileAds: boolean\n    category: categoryObj\n    hideMoreButton: boolean\n    moreButtonText: string\n    domain: string\n    isTitleVisible: boolean\n    isSubTitleVisible: boolean\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    showPrerollAds: boolean\n}\n\ninterface VideoGalleryVerticalMutamState {\n    feedActiveSlide: number\n    isFeedDisplay: boolean\n    initialFeedSlide: number\n    togglePromoActive: boolean\n    currentPromoIndex: number\n    promoViewportWidth: number\n    lastIntersectedPromoIndex: number\n}\n\nexport class VideoGalleryVerticalMutam extends React.Component<VideoGalleryVerticalMutamProps, VideoGalleryVerticalMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            initialFeedSlide: 0,\n            feedActiveSlide: 0,\n            isFeedDisplay: false,\n            togglePromoActive: false,\n            currentPromoIndex: 0,\n            promoViewportWidth: 375,\n            lastIntersectedPromoIndex: 0,\n        }\n    }\n\n    private componentWrapperRef;\n    private resizeObserver: ResizeObserver;\n    private sliderRef;\n\n\n    componentDidMount() {\n        this.resizeObserver = new ResizeObserver(entries => entries.forEach(e => {\n            this.setState({ promoViewportWidth: e.contentRect.width })\n        }));\n        this.resizeObserver.observe(this.componentWrapperRef);\n    }\n\n    componentWillUnmount() {\n        this.resizeObserver && this.resizeObserver.disconnect();\n    }\n\n    private onOpenVideoGalleryView = (videoIndex: number) => {\n        const { videoList } = this.props;\n        const initialFeedSlide = this.getListWithAds().findIndex((element) => element.itemId === videoList[videoIndex].itemId);\n        this.setState({ initialFeedSlide: initialFeedSlide, feedActiveSlide: initialFeedSlide }, () => { this.setState({ isFeedDisplay: true }) });\n        disablePageRefresh();`                                                                                                                                                      q                           `\n    }\n\n    private onMoreVideosHandler = () => {\n        this.setState({ initialFeedSlide: 0, feedActiveSlide: 0, isFeedDisplay: true });\n    }\n\n    private onCloseVideoGalleryView = () => {\n        this.setState({ isFeedDisplay: false });\n        enablePageRefresh();\n    }\n\n    private onVideoEnded = () => {\n        this.setState({ togglePromoActive: !this.state.togglePromoActive });\n    }\n\n    private getItemIntoViewIndex = (itemIntoViewIndex: number) => {\n        this.setState({ currentPromoIndex: itemIntoViewIndex })\n    }\n    private onLastIntersectingPromoCHange = (lastPromoIndex: number) => {\n        this.setState({ lastIntersectedPromoIndex: lastPromoIndex })\n    }\n\n    private onChangeVideoHandler = () => {\n        setTimeout(() => {\n            const videoElement = document.querySelector(\".calcalistVideoGalleryVerticalMutamComponenta .feedDisplay .slick-active .videoVerticalFeedItemMutam #player.is-paused .fp-engine\") as HTMLVideoElement;\n            if (videoElement) {\n                videoElement.currentTime = 0;\n                videoElement.click();\n            };\n        }, 600)\n    }\n\n    private onNextSlide = () => {\n        this.sliderRef.slickNext();\n        this.pushGA4Event(\"swipe_up\", true)\n    }\n\n    private pushGA4Event = (action: string, isFeedDisplay: boolean) => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { category } = this.props;\n        const actionPrefix = category && category.name ? (category.name === \"דף הבית\") ? \"homepage\" : category.name : \"homepage\";\n        const gaAction = isFeedDisplay ? `video_${action}` : `${actionPrefix}_${action}`;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            vertical_video_action: gaAction,\n        });\n    };\n\n    private getListWithAds = () => {\n        const { repeatAds, maxAds, firstAdPlace, videoList, shouldDisplayMobileAds, showPrerollAds } = this.props;\n        const videoListCopy = [...videoList];\n        const videoListLength = videoListCopy.length;\n        let numberOfAds = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        const newListLength = videoListLength + numberOfAds;\n        const baseId = \"ads.vertical.native.\";\n        let newList = [];\n        let adCount = 1;\n\n        if (showPrerollAds) return this.getListWithPreRollsAds();\n        if (maxAds === 0 || !shouldDisplayMobileAds) return videoListCopy;\n\n        for (let i = 0; i < newListLength; i++) {\n            if (i < firstAdPlace) {\n                newList.push(videoListCopy.shift());\n            } else if (i === firstAdPlace && numberOfAds > 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else if (numberOfAds > 0 && (i - firstAdPlace) % (repeatAds + 1) === 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else {\n                newList.push(videoListCopy.shift());\n            }\n        }\n        return newList;\n    }\n\n    private getListWithPreRollsAds = () => {\n        const { repeatAds, maxAds, firstAdPlace, videoList, showPrerollAds } = this.props;\n        const videoListCopy = [...videoList];\n        const videoListLength = videoListCopy.length;\n        let numberOfAdsLeft = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        const totalAdsNumber = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n\n        if (maxAds === 0) return videoListCopy;\n        let newList = [];\n\n        for (let i = 0; i < videoList.length; i++) {\n            let prerollIndex = Math.abs(numberOfAdsLeft - (totalAdsNumber + 1));\n            if (i + 1 < firstAdPlace) {\n                newList.push({ ...videoList[i], hidePrerollAds: true, prerollIndex: undefined });\n            } else if (i === firstAdPlace && numberOfAdsLeft > 0) {\n                newList.push({ ...videoList[i], hidePrerollAds: false, prerollIndex: showPrerollAds ? prerollIndex : undefined });\n                numberOfAdsLeft--;\n            } else if (numberOfAdsLeft > 0 && (i - firstAdPlace) % (repeatAds + 1) === 0) {\n                newList.push({ ...videoList[i], hidePrerollAds: false, prerollIndex: showPrerollAds ? prerollIndex : undefined });\n                numberOfAdsLeft--;\n            } else {\n                newList.push({ ...videoList[i], hidePrerollAds: true, prerollIndex: undefined });\n            }\n        }\n\n        return newList;\n    }\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, hideMoreButton, moreButtonText, domain, isTitleVisible, isSubTitleVisible, tabLink, tabLinkTarget, showPrerollAds } = this.props;\n        const { isFeedDisplay, initialFeedSlide, feedActiveSlide, togglePromoActive, currentPromoIndex, promoViewportWidth, lastIntersectedPromoIndex } = this.state;\n        const basePromoWidthFit375 = 256.5;\n        const promoWidth = (promoViewportWidth / 375) * basePromoWidthFit375;\n        const feedDisplaySettings = {\n            infinite: false,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            initialSlide: initialFeedSlide,\n            autoplay: false,\n            vertical: true,\n            onSwipe: () => { this.onChangeVideoHandler() },\n            verticalSwiping: true,\n            beforeChange: (current, next) => {\n                const userSwipeDirection = next > current ? \"up\" : \"down\";\n                this.pushGA4Event(`swipe_${userSwipeDirection}`, true);\n            },\n            afterChange: (current) => {\n                this.setState({ feedActiveSlide: current });\n                this.onChangeVideoHandler();\n            },\n        };\n\n        return (\n            <div className=\"videoGalleryVerticalMutamWrapper\" ref={componentWrapperRef => (this.componentWrapperRef = componentWrapperRef)}>\n                {isFeedDisplay ?\n                    <div className=\"feedDisplay\">\n                        <Slider {...feedDisplaySettings} className=\"slider\" ref={(sliderRef) => (this.sliderRef = sliderRef)}>\n                            {this.getListWithAds().map((videoItem, index) => {\n                                const arrowDisplay = index === videoList.length - 1 ? \"none\" : \"\";\n                                if ((typeof videoItem) === 'string') {\n                                    return (\n                                        <div className=\"adsWrapper\">\n                                            <div key={index} id={videoItem} className=\"ads_vertical_video\"></div>\n                                            <div className={`arrow arrowNext ${arrowDisplay}`} onClick={this.onNextSlide}>לסרטון הבא</div>\n                                        </div>\n                                    )\n                                } else {\n                                    return (\n                                        <VideoVerticalFeedItemMutam\n                                            videoItem={videoItem}\n                                            key={videoItem.itemId}\n                                            initialFeedSlide={initialFeedSlide}\n                                            feedActiveSlide={feedActiveSlide}\n                                            feedIndex={index}\n                                            onCloseVideoGalleryView={this.onCloseVideoGalleryView}\n                                            arrowDisplay={arrowDisplay}\n                                            onNextSlide={this.onNextSlide}\n                                            domain={domain}\n                                            index={index}\n                                            isTitleVisible={isTitleVisible}\n                                            isSubTitleVisible={isSubTitleVisible}\n                                            showPrerollAds={showPrerollAds}/>\n                                    )\n                                }\n                            })}\n                        </Slider>\n                    </div>\n                    :\n                    <>\n                        {isTabVisible && <div className=\"videoGalleryVerticalTab componentaTab\">\n                            <HyperLinkBuilder\n                                className=\"videoLink\"\n                                href={tabLink}\n                                linkTarget={tabLinkTarget}\n                            >\n                                {tabTitleText}\n                            </HyperLinkBuilder>\n                        </div>}\n                        <PromoCarousel\n                            imageWidth={promoWidth}\n                            width={640}\n                            itemListLength={videoList.length}\n                            marginRight={0}\n                            togglePromoActive={togglePromoActive}\n                            currentPromoIndex={currentPromoIndex}\n                            videoList={videoList}\n                            isMobileWeb={true}\n                            pushGA4Event={this.pushGA4Event}\n                        >\n                            {videoList.map((videoItem, index) => {\n                                return (\n                                    <VideoGalleryVerticalItemMutam\n                                        videoItem={videoItem}\n                                        onOpenVideoGalleryView={this.onOpenVideoGalleryView}\n                                        videoIndex={index}\n                                        key={videoItem.itemId}\n                                        onVideoEnded={this.onVideoEnded}\n                                        getItemIntoViewIndex={this.getItemIntoViewIndex}\n                                        onLastIntersectingPromoCHange={this.onLastIntersectingPromoCHange}\n                                        lastIntersectedPromoIndex={lastIntersectedPromoIndex}\n                                        pushGA4Event={this.pushGA4Event}\n                                        isTitleVisible={isTitleVisible} />\n                                )\n                            })}\n                        </PromoCarousel >\n                        {!hideMoreButton && <div className=\"moreButton\" onClick={this.onMoreVideosHandler}>{moreButtonText}</div>}\n                    </>\n                }\n            </div>\n        )\n    }\n}\n","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\n\ninterface VideoVerticalFeedItemProps {\n    videoItem: SiteItemData & { hidePrerollAds?: boolean, prerollIndex?: number }\n    feedActiveSlide: number\n    domain: string\n    index: number\n    isTitleVisible: boolean\n    isSubTitleVisible: boolean\n    showPrerollAds: boolean\n    onNextSlide: () => void\n    onCloseVideoGalleryView: () => void\n}\n\ninterface VideoVerticalFeedItemState {\n    isSubtitleOpen: boolean\n}\n\nconst DICT = {\n    fullArticle: \"לכתבה המלאה\",\n}\nexport class VideoVerticalFeedItem extends React.Component<VideoVerticalFeedItemProps, VideoVerticalFeedItemState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isSubtitleOpen: false,\n        }\n    }\n\n    componentDidMount() {\n        this.initializeEndedEventListeners();\n        document.addEventListener('click', this.handleClickOutside);\n    }\n\n    componentWillUnmount() {\n        this.removeEndedEventListeners();\n        document.removeEventListener('click', this.handleClickOutside);\n    }\n\n    private handleClickOutside = (event: MouseEvent) => {\n        if ((event.target as Element).className.includes(\"slick-slide\")) this.props.onCloseVideoGalleryView();\n    };\n\n    private initializeEndedEventListeners() {\n        setTimeout(() => {\n            const videoElements = document.querySelectorAll(\".radionasVideoGalleryVerticalComponenta .feedDisplay .slick-slide .videoVerticalFeedItem #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n            if (videoElements.length) {\n                videoElements.forEach((element) => {\n                    element.addEventListener(\"ended\", this.handleVideoEnded);\n                })\n            };\n        }, 600)\n    }\n\n    private removeEndedEventListeners() {\n        const videoElements = document.querySelectorAll(\".radionasVideoGalleryVerticalComponenta .feedDisplay .slick-slide .videoVerticalFeedItem #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n        if (videoElements.length) {\n            videoElements.forEach((element) => {\n                element.removeEventListener(\"ended\", this.handleVideoEnded)\n            })\n        };\n    }\n\n    private handleVideoEnded = (e) => {\n        e.target.currentTime = 0;\n        e.target.click();\n        this.props.onNextSlide();\n    }\n\n    componentDidUpdate(prevProps, prevState) {\n        if (prevProps.feedActiveSlide !== this.props.feedActiveSlide) {\n            setTimeout(() => {\n                const videoElement = document.querySelector(\".radionasVideoGalleryVerticalComponenta .feedDisplay .slick-active .videoVerticalFeedItem #player.is-paused .fp-engine\") as HTMLVideoElement;\n                const unActiveVideoElement = document.querySelector(\".radionasVideoGalleryVerticalComponenta .feedDisplay .slick-slide:not(.slick-active) .videoVerticalFeedItem #player.is-playing .fp-engine\") as HTMLVideoElement;\n                if (videoElement) {\n                    setTimeout(() => {\n                        if (videoElement.paused) {\n                            videoElement.pause();\n                            videoElement.currentTime = 0;\n                            videoElement.play();\n                        }\n                    }, 500)\n                };\n                if (unActiveVideoElement) unActiveVideoElement.click();\n            }, 600)\n        }\n    }\n\n    private onSubtitleModeToggle = () => {\n        this.setState({ isSubtitleOpen: !this.state.isSubtitleOpen });\n    }\n\n    private pushGA4Event = () => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { index } = this.props;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            componenta_name: \"vertical_video\",\n            content_type: \"componenta\",\n            position_in_component: index,\n            click_text: \"לכתבה המלאה\"\n        });\n    };\n\n    public render() {\n        const { isSubtitleOpen } = this.state;\n        const { videoItem, isTitleVisible, isSubTitleVisible, showPrerollAds, index, feedActiveSlide } = this.props;\n        const { media, title, subTitle, titleLink, titleTargetLink } = videoItem;\n        const subtitleClass = `videoSubtitle ${isSubtitleOpen ? \"\" : \"close\"}`;\n        const shouldDisplayVideo = (feedActiveSlide === index || feedActiveSlide === index - 1 || feedActiveSlide === index + 1);\n\n        return (\n            <div className=\"videoVerticalFeedItem\">\n                {shouldDisplayVideo &&\n                    <SiteVideoInline\n                        data={media as SiteVideoData}\n                        applyStickyness={true}\n                        width={400}\n                        height={714}\n                        hideVideoAds={showPrerollAds ? videoItem.hidePrerollAds : true}\n                        adIndex={videoItem.prerollIndex}\n                        isShareButton={true}\n                        runArticleAutoPlayLogic={false} />\n                }\n                <div className=\"contentDiv\">\n                    {isTitleVisible && <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />}\n                    {isSubTitleVisible && <div className={subtitleClass} onClick={this.onSubtitleModeToggle} dangerouslySetInnerHTML={{ __html: subTitle }} />}\n                    {titleLink &&\n                        <div onClick={this.pushGA4Event}>\n                            <HyperLinkBuilder\n                                className=\"videoLink\"\n                                href={titleLink}\n                                linkTarget={titleTargetLink}\n                            >\n                                {DICT.fullArticle}\n                            </HyperLinkBuilder>\n                        </div>\n                    }\n                </div>\n            </div>\n        )\n    }\n}","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\n\ninterface VideoVerticalFeedItemMutamProps {\n    videoItem: SiteItemData & { hidePrerollAds?: boolean, prerollIndex?: number }\n    initialFeedSlide: number\n    feedActiveSlide: number\n    feedIndex: number\n    arrowDisplay: string\n    domain: string\n    index: number\n    isTitleVisible: boolean\n    isSubTitleVisible: boolean\n    showPrerollAds: boolean\n    onCloseVideoGalleryView: () => void\n    onNextSlide: () => void\n}\n\ninterface VideoVerticalFeedItemMutamState {\n    isSubtitleOpen: boolean\n}\n\nconst DICT = {\n    nextVideo: \"לוידאו הבא\",\n    fullArticle: \"לכתבה המלאה\",\n}\n\nexport class VideoVerticalFeedItemMutam extends React.Component<VideoVerticalFeedItemMutamProps, VideoVerticalFeedItemMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isSubtitleOpen: false,\n        }\n    }\n\n    componentDidMount() {\n        this.initializeEndedEventListeners();\n    }\n\n    componentWillUnmount() {\n        this.removeEndedEventListeners();\n    }\n\n    private initializeEndedEventListeners() {\n        setTimeout(() => {\n            const videoElements = document.querySelectorAll(\".calcalistVideoGalleryVerticalMutamComponenta .feedDisplay .slick-slide .videoVerticalFeedItemMutam #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n            if (videoElements.length) {\n                videoElements.forEach((element) => {\n                    element.addEventListener(\"ended\", this.handleVideoEnded);\n                })\n            };\n        }, 600)\n    }\n\n    private removeEndedEventListeners() {\n        const videoElements = document.querySelectorAll(\".calcalistVideoGalleryVerticalMutamComponenta .feedDisplay .slick-slide .videoVerticalFeedItemMutam #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n        if (videoElements.length) {\n            videoElements.forEach((element) => {\n                element.removeEventListener(\"ended\", this.handleVideoEnded)\n            })\n        };\n    }\n\n    private handleVideoEnded = (e) => {\n        e.target.currentTime = 0;\n        e.target.click();\n        this.props.onNextSlide();\n    }\n\n    private onSubtitleModeToggle = () => {\n        this.setState({ isSubtitleOpen: !this.state.isSubtitleOpen });\n    }\n\n    private pushGA4Event = () => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { index } = this.props;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            componenta_name: \"vertical_video\",\n            content_type: \"componenta\",\n            position_in_component: index,\n            click_text: \"לכתבה המלאה\"\n        });\n    };\n\n    public render() {\n        const { isSubtitleOpen } = this.state;\n        const { videoItem, onCloseVideoGalleryView, arrowDisplay, onNextSlide, isTitleVisible, isSubTitleVisible, showPrerollAds, index, feedActiveSlide } = this.props;\n        const { media, title, subTitle, titleLink, titleTargetLink } = videoItem;\n        const subtitleClass = `videoSubtitle ${isSubtitleOpen ? \"\" : \"close\"}`;\n        const feedItemClass = `videoVerticalFeedItemMutam ${isSubtitleOpen ? \"openMode\" : \"standardMode\"}`;\n        const shouldDisplayVideo = (feedActiveSlide === index || feedActiveSlide === index - 1 || feedActiveSlide === index + 1);\n\n        return (\n            <div className={feedItemClass}>\n                {shouldDisplayVideo &&\n                    <SiteVideoInline\n                        data={media as SiteVideoData}\n                        applyStickyness={true}\n                        hideVideoAds={showPrerollAds ? videoItem.hidePrerollAds : true}\n                        adIndex={videoItem.prerollIndex}\n                        isShareButton={false} />\n                }\n                <div className={`arrow arrowNext ${arrowDisplay}`} onClick={onNextSlide}>{DICT.nextVideo}</div>\n                <div className=\"closeBtn\" onClick={onCloseVideoGalleryView}></div>\n                <div className=\"contentDiv\">\n                    {isTitleVisible && <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />}\n                    {isSubTitleVisible && <div className={subtitleClass} onClick={this.onSubtitleModeToggle} dangerouslySetInnerHTML={{ __html: subTitle }} />}\n                    {titleLink &&\n                        <div onClick={this.pushGA4Event}>\n                            <HyperLinkBuilder\n                                className=\"videoLink\"\n                                href={titleLink}\n                                linkTarget={titleTargetLink}\n                            >\n                                {DICT.fullArticle}\n                            </HyperLinkBuilder>\n                        </div>\n                    }\n                </div>\n            </div>\n        )\n    }\n}","\nimport {  SiteVideoData } from \"widgets/interfaces\"\nimport { SiteVideoInline } from \"../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\"\n\n\nexport interface VideoItemMutam {\n  video:SiteVideoData \n  isTabVisible:boolean \n  videoCredit:string \n  videoCaption:string \n  isCaptionVisible:boolean\n  isCreditVisible:boolean\n  tabTitleText:string\n  tabColor:string\n  videoAdsHide:boolean\n}\n\n\nexport class MutamVideoItem extends React.Component<VideoItemMutam, {}>{\n    public static siteScriptName = \"MutamVideoItem\";\n  private playVideoInComp =()=>{\n    let VideoComponent: any = document.querySelector('.SideVideoMutamComponenta.VideoMutamComponentaCalcalist .videoPlayerPlaceholder video');\n    if(VideoComponent){\n        VideoComponent.togglePlay(true)\n    }\n  }\n\n \n\n\n    public render() {\n        const { video, isTabVisible, videoCredit, videoCaption, isCaptionVisible, isCreditVisible, tabTitleText, tabColor, videoAdsHide } = this.props;   \n        return (\n            <div className=\"SideVideoMutamComponenta VideoMutamComponentaCalcalist\" >\n               {isTabVisible &&  <h2 className=\"tabComponenta\" onClick={this.playVideoInComp}>          \n                    <span className={`iconImage-pf icon-video`}/>\n                    <span className=\"tabTitle\" style={{color:tabColor}}>{tabTitleText}</span>\n                    <span className=\"arrowTo-pf\"></span>        \n            </h2>}\n          \n                <div className=\"SideVideoContent\">\n                <div className=\"mainVideo\">\n                    <div className=\"videoPlayerPlaceholder\">\n                    <SiteVideoInline\n                        data={video}\n                        applyStickyness={false}\n                        hideVideoAds={videoAdsHide}\n                        isShareButton={false} />\n                    </div>\n                    <span className=\"itemTitle\" onClick={this.playVideoInComp}>\n                    {isCaptionVisible &&  <span className=\"title\" dangerouslySetInnerHTML={{ __html: videoCaption }} />}\n                    {isCreditVisible && videoCredit.length>0 && <>{` (`}<span className=\"title\" dangerouslySetInnerHTML={{ __html: videoCredit }} />{`)`}</>}\n                    </span>\n                </div>       \n            </div>\n            </div> \n        )\n    }\n}","import * as axios from \"axios\";\nimport { CategoryListItem } from \"./videoArchiveComponenta\";\nimport { VideoArchiveArticleList } from \"./videoArchiveArticleList\";\nimport { VideoArchivehDatePickerMenu } from \"./videoArchiveDatePickerMenu\";\nimport { VideoArchiveChannelMenu } from \"./videoArchiveChannelMenu\";\nimport VideoArchiveMainItem from \"./videoArchiveMainItem\";\nimport { formatDate } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport { StandardVideoSlotItemMutam } from \"../../generalMutamComps/standardVideoSlotItemMutam\";\n\n\ninterface VideoArchiveState {\n    currChannel: CategoryListItem\n    isChannelMenuVisible: boolean\n    isDateMenuVisible: boolean\n    currPage: number\n    limitDate: Date\n    articles: VideoArchiveArticle[]\n    isLoadMore: boolean\n    isLoading: boolean\n    playingVideoElement: HTMLElement\n}\ninterface VideoArchiveProps {\n    categoryList: CategoryListItem[]\n    numberOfItems: number\n    isLTR: boolean\n    componentaId: string\n    isMobileWeb?: boolean\n}\n\nexport interface VideoArchiveArticle {\n    articleId: string\n    author: string\n    publishedLink: string\n    category: any\n    hasVideo: boolean\n    video: any\n    title: string\n    dateUpdatedOnSite: Date\n    subTitle: string\n    promotionImageDetails: PromotionImageDetails\n}\ninterface PromotionImageDetails {\n    publishedLink: string\n}\n\nconst wordsTranslations = {\n    \"he\": {\n        \"Load more\": \"טען עוד\",\n        \"No results\": \"אין תוצאות\"\n    },\n    \"en\": {\n        \"Load more\": \"Load more\",\n        \"No results\": \"No results\"\n    }\n\n}\nexport class SiteVideoArchiveComponenta extends React.Component<VideoArchiveProps, VideoArchiveState> {\n    public static siteScriptName = \"SiteVideoArchiveComponenta\"\n    constructor(props) {\n        super(props)\n        this.handleDayClick = this.handleDayClick.bind(this);\n        this.state = {\n            currChannel: { description: '', id: '1' },\n            isChannelMenuVisible: false,\n            isDateMenuVisible: false,\n            currPage: 0,\n            limitDate: new Date(),\n            articles: [],\n            isLoadMore: false,\n            isLoading: false,\n            playingVideoElement: null,\n        }\n    }\n\n    componentDidMount() {\n        this.setState({ currChannel: { description: 'כל הערוצים', id: '1' } })\n    }\n\n    componentDidUpdate(prevProps, prevState) {\n        if (this.state.limitDate !== prevState.limitDate ||\n            this.state.currPage !== prevState.currPage ||\n            this.state.currChannel !== prevState.currChannel) {\n            this.setState({ isLoading: true })\n            this.getArticles();\n        }\n        if (this.state.articles !== prevState.articles) {\n            this.setState({\n                isLoadMore: (this.state.articles.length) / ((this.state.currPage + 1) * this.props.numberOfItems) >= 1\n            })\n        }\n    }\n\n    private updateNewPlayingVideoElement = (newVideoElement: HTMLElement) => {\n        this.setState({ playingVideoElement: newVideoElement })\n    }\n\n    private onChannelChanged = (newChannel) => {\n        this.toggleChannelMenu()\n        this.setState({\n            currChannel: newChannel,\n            currPage: 0\n        })\n    }\n\n    private toggleChannelMenu = () => {\n        this.setState({\n            isChannelMenuVisible: !this.state.isChannelMenuVisible,\n            isDateMenuVisible: (this.state.isDateMenuVisible && !this.state.isChannelMenuVisible) ? false : this.state.isDateMenuVisible\n        })\n    }\n\n    private toggleDateMenu = () => {\n        this.setState({\n            isDateMenuVisible: !this.state.isDateMenuVisible,\n            isChannelMenuVisible: (this.state.isChannelMenuVisible && !this.state.isDateMenuVisible) ? false : this.state.isChannelMenuVisible\n        })\n\n    }\n\n    private handleDayClick = (day, modifiers = {}) => {\n        if (modifiers['disabled']) {\n            return;\n        } else {\n            this.setState({\n                limitDate: day ? day : '',\n                currPage: 0\n            });\n            this.toggleDateMenu();\n        }\n    }\n\n    private loadMoreArticles = () => {\n        this.setState({ currPage: this.state.currPage + 1 })\n    }\n\n    private getArticles = () => {\n        const { componentaId } = this.props\n        const { currChannel, currPage, limitDate, articles } = this.state\n        const formatedStartDate = formatDate(new Date('1992-04-01'), \"YYYY-MM-DD\");\n        const date = formatDate(limitDate, \"YYYY-MM-DD\");\n        axios.get(`/iphone/json/api/article_list/${componentaId}/id/${currChannel.id}/startDate/${formatedStartDate}/endDate/${date}/pageNumber/${currPage}`)\n            .then((res: any) => {\n                const recivedArticles = res.data.data;\n                this.setState({\n                    articles: currPage > 0 ? [...articles, ...recivedArticles] : recivedArticles,\n                    isLoading: false\n                })\n            }).catch(err => console.error(\"error geting articles data:\", err))\n    }\n\n    private getTranslation = (lang, text: string) => {\n        let obj = wordsTranslations[lang]\n        let textToShow = obj[text]\n        return textToShow\n    }\n\n    private getFormattedDate = (dateUpdated: Date) => {\n        const date = new Date(dateUpdated);\n        let dd = \"\" + date.getDate();\n        let mm = \"\" + (date.getMonth() + 1);\n        const yy = date.getFullYear().toString().slice(2, 4);\n\n        if (mm.length < 2) mm = \"0\" + mm;\n        if (dd.length < 2) dd = \"0\" + dd;\n\n        return [dd, mm, yy].join(\".\");\n    }\n\n    render() {\n        const { categoryList, isLTR, isMobileWeb } = this.props\n        const { currChannel, isChannelMenuVisible, limitDate, articles, isDateMenuVisible, isLoadMore, isLoading } = this.state\n        const isFirstVideoExist = articles.length > 0 && articles[0].video;\n        const loadingMoreBtnClass = `loadMoreButton ${isLoading ? \"loading\" : \"\"}`;\n        const dayPickerPreferences = {\n            showOutsideDays: true,\n            month: new Date(),\n            toMonth: new Date(),\n            fixedWeeks: true,\n            disabledDays: [{ after: new Date() }]\n        }\n\n        return (\n            <div className=\"videoArchiveComponenta\">\n                {isMobileWeb ?\n                   articles && articles.length > 0 &&\n                        articles.map((article, i) =>\n                            <StandardVideoSlotItemMutam\n                                article={article}\n                                key={article.articleId}\n                                playingVideoElement={this.state.playingVideoElement}\n                                updateNewPlayingVideoElement={this.updateNewPlayingVideoElement}\n                                fieldsDisplaySettings={{ isDateVisible: true, isAuthorVisible: true }}\n                            />\n                        )\n                        \n\n                    :\n                    <>\n                        {isFirstVideoExist && <VideoArchiveMainItem mainArticle={articles[0]} getFormattedDate={this.getFormattedDate} />}\n\n                        <div className=\"separator\" />\n\n                        <div className=\"filters\">\n                            <VideoArchiveChannelMenu\n                                isLTR={isLTR}\n                                currChannel={currChannel}\n                                categoryList={categoryList}\n                                onChannelChanged={this.onChannelChanged}\n                                toggleChannelMenu={this.toggleChannelMenu}\n                                isChannelMenuVisible={isChannelMenuVisible}\n                            />\n\n                            <VideoArchivehDatePickerMenu\n                                isLTR={isLTR}\n                                limitDate={limitDate}\n                                toggleDateMenu={this.toggleDateMenu}\n                                handleDayClick={this.handleDayClick}\n                                isDateMenuVisible={isDateMenuVisible}\n                                dayPickerPreferences={dayPickerPreferences}\n                            />\n                        </div>\n\n                        <div className=\"bottomSeparator\" />\n\n                        <div className=\"videoMain\">\n                            <div className=\"mainTitle\">כל הסרטים</div>\n\n                            {(articles.length > 0) ?\n                                < VideoArchiveArticleList\n                                    isLTR={isLTR}\n                                    itemList={articles}\n                                    currChannel={currChannel}\n                                    getFormattedDate={this.getFormattedDate}\n                                />\n                                :\n                                <div className=\"noResultsMsg\">{this.getTranslation(isLTR ? \"en\" : \"he\", \"No results\")}</div>\n                            }\n\n                            <div className=\"loadMore\">\n                                <button className={loadingMoreBtnClass} disabled={!isLoadMore || articles.length === 0} onClick={this.loadMoreArticles}>{this.getTranslation(isLTR ? \"en\" : \"he\", \"Load more\")}</button>\n                            </div>\n                        </div>\n                    </>\n                }\n            </div>\n        )\n    }\n}","\nimport { calculateAutomaticComponentaUrl } from \"widgets/widgetsUtils\"\nimport { CalcalistShareMenu } from \"../../../../commonComponents/base/CalcalistShareMenu\";\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { getDiffFromToday } from \"../../../../siteWidgets/formatDateDisplay\";\nimport { VideoArchiveArticle } from \"./siteVideoArchiveComponenta\";\nimport { getFrontImageUrl } from \"../../../../../front/staticServerRendering/frontImage\";\nimport { ImageSize } from \"../../../../../constants/imageSizes\";\n\ninterface VideoArchiveArticleItemProps {\n    article: VideoArchiveArticle\n    isLTR?: boolean\n    getFormattedDate: (dateUpdated: Date) => string\n}\nexport class VideoArchiveArticleItem extends React.Component<VideoArchiveArticleItemProps, {}>{\n    static defaultProps = { isCategoryVisible: true }\n\n    private getIcon = (hasVideo: boolean) => {\n        if (hasVideo) return \"video\"\n        else return \"none\"\n    }\n    private viewDate = (): boolean => {\n        const { article } = this.props\n        const dateToManipulateTemp = new Date(article.dateUpdatedOnSite)\n        const diffFromToday = getDiffFromToday(dateToManipulateTemp)\n        return diffFromToday > 0\n    }\n\n    public render() {\n        const { article, isLTR, getFormattedDate } = this.props;\n        const { title, publishedLink, hasVideo, articleId, dateUpdatedOnSite, promotionImageDetails } = article\n        const textStyle = (!this.viewDate() && !isLTR) ? { color: '#C82027' } : {}\n\n        return (\n            <div className=\"slotItem\" data-wcm-article-id={articleId}>\n                <div className=\"mediaArea CalcalistComponentaShareMenuMedia\">\n                    <div className=\"MediaCarousel\" >\n                        <a href={publishedLink}>\n                            <img src={getFrontImageUrl(promotionImageDetails, { imageSize: ImageSize.medium })}\n                                alt={title}\n                                title={title}\n                                style={{ width: 270, height: 146 }}\n                                className=\"SiteImageMedia\"\n                            />\n                        </a>\n                    </div>\n                    <SlotIconDisplay itemId={\"\"} icon={this.getIcon(hasVideo)} iconClassName=\"medium\" isIconVisible={hasVideo} />\n                    <CalcalistShareMenu url={publishedLink} title={this.props.article.title} isLTR={true} isArticle={true} />\n                </div>\n                <a href={calculateAutomaticComponentaUrl(article)} className=\"textDiv\" >\n                    <div className=\"moreDetails\">\n                        <span className=\"dateView\" style={textStyle}>\n                            <span className=\"DateDisplay\">{getFormattedDate(dateUpdatedOnSite)}</span>\n                        </span>\n                    </div>\n                    <div className=\"slotTitle\">\n                        <span>{title}</span>\n                    </div>\n                </a>\n            </div>\n        )\n    }\n}","import { VideoArchiveArticleItem } from \"./videoArchiveArticleItem\";\nimport {VideoArchiveArticle} from \"./siteVideoArchiveComponenta\";\ninterface VideoArchivehArticleListProps {\n    itemList: VideoArchiveArticle[]\n    isLTR?: boolean\n    getFormattedDate: (dateUpdated:Date) => string\n}\nexport class VideoArchiveArticleList extends React.Component<VideoArchivehArticleListProps, {}>{\n    public render() {\n        const { itemList, isLTR, getFormattedDate } = this.props\n        return (\n            <div className=\"slotList\" >\n                {itemList.map((item, i) =>\n                        <VideoArchiveArticleItem\n                            key={i}\n                            article={item}\n                            isLTR={isLTR}\n                            getFormattedDate={getFormattedDate}\n                            {...this.props}\n                        />)}\n            </div>\n        )\n    }\n}","import { CategoryListItem } from \"./videoArchiveComponenta\"\n\n\ninterface VideoArchiveArticleItemProps {\n    categoryList: CategoryListItem[]\n    toggleChannelMenu: () => void\n    currChannel: CategoryListItem\n    isChannelMenuVisible: boolean\n    onChannelChanged: (newChannle: any) => void\n    isLTR?: boolean\n}\nexport class VideoArchiveChannelMenu extends React.Component<VideoArchiveArticleItemProps, {}>{\n    public render() {\n        const { toggleChannelMenu, currChannel, isChannelMenuVisible, categoryList, onChannelChanged, isLTR } = this.props;\n        const categoryNameToDisplay = isLTR ? 'All channels' : 'כל הערוצים';\n        const allList:CategoryListItem[] = [{description:categoryNameToDisplay, id:\"1\"}, ...categoryList];\n        // console.log(allList, currChannel.description, currChannel)\n        return (\n            <div className=\"CtechChannelMenu\">\n                <span className=\"selectArrow\" onClick={toggleChannelMenu} />\n                <span className=\"selected\" onClick={toggleChannelMenu}>{(currChannel.id === '1') ? categoryNameToDisplay : currChannel.description}</span>\n                {isChannelMenuVisible &&\n                    <div className=\"channleOptionsList\">\n\n                        {_.filter(_.map(allList, (categoryItem, index) => {\n                            return (\n                                <div key={index} className=\"menuOption\" onClick={() => onChannelChanged(categoryItem)}>\n                                    {(categoryItem.id === '5211' || categoryItem.id === '1') ? categoryNameToDisplay : categoryItem.description}</div>\n                            )\n                        }))\n                        }\n                    </div>}\n            </div>\n        )\n    }\n}","\nimport DayPicker from \"react-day-picker\"\nimport { formatDate } from \"../../../../siteWidgets/siteWidgetUtils\"\n\n\nexport const VideoArchivehDatePickerMenu = ({ toggleDateMenu, limitDate, isDateMenuVisible, handleDayClick, dayPickerPreferences, isLTR, isInitialLimitDate = false }) => {\n    const dateTitle = isLTR ? 'Date' : 'תאריך'\n    const local = isLTR ? 'en' : 'he'\n    const months = {\n        he: [\n            \"ינואר\",\n            \"פברואר\",\n            \"מרץ\",\n            \"אפריל\",\n            \"מאי\",\n            \"יוני\",\n            \"יולי\",\n            \"אוגוסט\",\n            \"ספטמבר\",\n            \"אוקטובר\",\n            \"נובמבר\",\n            \"דצמבר\"\n        ]\n    }\n    const weekDaysLong = { he: [\"ראשון\", \"שני\", \"שלישי\", \"רביעי\", \"חמישי\", \"שישי\", \"שבת\"] }\n    const weekdaysShort = { he: [\"א\", \"ב\", \"ג\", \"ד\", \"ה\", \"ו\", \"ש\"] }\n    const firstDayOfWeek = { he: 0 }\n    const labels = { he: { nextMonth: \"חודש הבא\", previousMonth: \"חודש קודם\" } }\n    return (\n        <div className=\"CtechDatePickerMenu\">\n            <span className=\"selectDateArrow\" onClick={toggleDateMenu} />\n            <span className={`selected ${limitDate && 'limitDate'}`} onClick={toggleDateMenu}>{(limitDate && !isInitialLimitDate) ? formatDate(limitDate,\"DD/MM/YYYY\") : dateTitle}</span>\n            {isDateMenuVisible && <DayPicker\n                showOutsideDays={dayPickerPreferences.showOutsideDays}\n                month={dayPickerPreferences.month}\n                toMonth={dayPickerPreferences.toMonth}\n                fixedWeeks={dayPickerPreferences.fixedWeeks}\n                disabledDays={dayPickerPreferences.disabledDays}\n                onDayClick={handleDayClick}\n                local={local}\n                months={months[local]}\n                weekdaysLong={weekDaysLong[local]}\n                weekdaysShort={weekdaysShort[local]}\n                firstDayOfWeek={firstDayOfWeek[local]}\n                labels={labels[local]}\n            />}\n        </div>\n    )\n}","import { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\";\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { SiteVideoData } from \"../../../../interfaces\";\nimport { VideoArchiveArticle } from \"./siteVideoArchiveComponenta\"\nimport { calculateAutomaticComponentaUrl } from \"../../../../widgetsUtils\";\n\ninterface VideoArchiveMainItemProps {\n    mainArticle: VideoArchiveArticle\n    getFormattedDate: (dateUpdated: Date) => string\n}\nexport default class VideoArchiveMainItem extends React.Component<VideoArchiveMainItemProps, {}> {\n\n    render() {\n        const { mainArticle, getFormattedDate } = this.props;\n        const { mediaVideoId, credit, main_link, low_res_link, posterSrc, youtube_id, blockAbroadViews, videoName } = mainArticle.video[0];\n        const videoData = {\n            mediaType: \"MEDIA_VIDEO\",\n            mediaId: mediaVideoId,\n            credit: credit,\n            url: main_link,\n            downGradeUrl: low_res_link,\n            poster: posterSrc,\n            youtube_id: youtube_id,\n            blockAbroadViews: blockAbroadViews,\n            videoName: videoName,\n        } as SiteVideoData;\n        const mainVideoStripText = `${videoData.videoName} ${videoData.credit}`;\n\n        return (\n            <div className=\"mainVideo\">\n                <div className=\"mainVideoWrapper\">\n                    <SiteMedia\n                        key={videoData.mediaId}\n                        data={videoData}\n                        width={750}\n                        height={422}\n                        videoSettings={{ isVideoLightbox: false, hideVideoAds: true }}\n                        itemLinkUrl={null}\n                        isImageLinkable={false}\n                        linkTarget={undefined}\n                    />\n                </div>\n                <div className=\"mainVideoStrip\">\n                    {mainVideoStripText}\n                </div>\n                <div className=\"videoText\">\n                    <div className=\"textRight\">\n                        <a href={calculateAutomaticComponentaUrl(mainArticle)} className=\"mainVideoTitle\">{mainArticle.title}</a>\n                        <div className=\"mainVideoDate\">\n                            {getFormattedDate(mainArticle.dateUpdatedOnSite)}\n                        </div>\n                    </div>\n                    <div className=\"textLeft\">\n                        <a href={calculateAutomaticComponentaUrl(mainArticle)} className=\"mainVideoSubTitle\">{mainArticle.subTitle}</a>\n                        <div className=\"mainVideoAuthor\">{mainArticle.author}</div>\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}\n","import * as axios from \"axios\"\nimport * as map from \"lodash/map\"\nimport { addAxiosDateTransformerSettings } from \"../../../../../utils/network/axiosDateTransformer\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { colorOptions } from \"../../../../../textEditor/constants/linkProperties\";\nimport Slider from 'react-slick'\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { isWcmEditor } from \"config/serverConfig\"\nrequire(\"./calcalist_site_ynetFlashList.less\")\ninterface listState {\n    articles: any[]\n}\n\n\nexport class YnetFlashListComponenta extends React.Component<{}, listState> {\n    public static siteScriptName = \"YnetFlashListComponenta\"\n    private slider;\n    constructor(props) {\n        super(props)\n        this.state = {\n            articles: [],\n        }\n    }\n\n    componentDidMount() {\n        this.getArticles()\n    }\n\n\n    private getArticles = () => {\n        const { articles } = this.state\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n\n        axiosInstance.get(`https://www.ynet.co.il/ticker/news/184/30/`)\n            .then((res: any) => {\n                this.setState({ articles: res.data });\n            }).catch(err => {\n                console.error(err, \"lsa\")\n            })\n    }\n\n\n    private openFlashPopUp = (id: string) => {\n        window.open(`https://www.ynet.co.il/Ext/Comp/CdaNewsFlash/0,2297,L-${id}_184,00.html`, '', 'height=600,width=500,location=no,status=no,directories=no,scrollbars=yes,menubars=no,toolbars=no,resizable=yes,left=50,top=50');\n        return false;\n    }\n\n\n    public render() {\n        const { articles } = this.state;\n        const linkTarget: LinkTargetProperties = {\n            linkOpenType: \"new\",\n            lightBoxWidth: 0,\n            lightBoxHeight: 0,\n            lightBoxOpacity: 70,\n            lightBoxBgColor: colorOptions[0],\n        }\n\n        var settings = {\n            draggable: false,\n            infinite: true,\n            dots: false,\n            slidesToShow: 4,\n            slidesToScroll: 1,\n            vertical: true,\n            verticalSwiping: true,\n            autoplay: true,\n            autoplaySpeed: 3000,\n            pauseOnHover: true,\n            arrows: false\n\n        }\n        return (\n            <div className={\"YnetFlashListComponenta\"}>\n                <HyperLinkBuilder\n                    className=\"TabOfList\"\n                    href=\"//www.ynet.co.il\"\n                    linkTarget={linkTarget}\n                ><div className=\"mainTitleText\" >ynet</div><div className=\"sep_line\">|</div><div className=\"subTitleText\">מבזקים</div></HyperLinkBuilder>\n\n\n                <Slider ref={slider => (this.slider = slider)} {...settings} className=\"contentList\"  >\n                    {map(articles, (item, index) =>\n                        <div className=\"slotView\" key={index} onClick={isWcmEditor() ? () => null : () => this.openFlashPopUp(item.id)}>\n                            <div className=\"itemDate\">{separateHourFromDateAndFormatToString(new Date(item.datetime), { showHour: true, showDate: false })}</div>\n                            <div className=\"itemTitle\">\n                                <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                            </div>\n                        </div>\n\n                    )}\n                </Slider>\n\n                <HyperLinkBuilder\n                    className=\"bottomLink\"\n                    href=\"//www.ynet.co.il/home/0,7340,L-184,00.html\"\n                    linkTarget={linkTarget}>לכל המבזקים ></HyperLinkBuilder>\n\n\n            </div >\n        )\n    }\n}","import { openLinkedinShare, openFacebookShare, analyticsPushFunc, openTwitterShare } from \"../../../widgetsUtils\"\nimport { WhatsAppShareButton } from \"widgets/siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\"\nimport { MailShareButton } from \"widgets/siteWidgets/socialShareButtons/mail/mailShareButton\"\n\nexport class SiteArticleBottomShareCtech extends React.Component<{ articleId?: string, title: string }, {}> {\n    public static siteScriptName = \"SiteArticleBottomShareCtech\"\n\n\n    private handleShareBtnClicked = (button: string) => {\n        const {title} = this.props;\n        if (typeof window !== \"undefined\") {\n            const current_url = window.location.href;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(current_url, document.title, () => analyticsPushFunc(\"Facebook\", \"Article Bottom\", title), \"Article Bottom\")\n                    break;\n\n                case \"tw\":\n                    openTwitterShare(current_url, () => analyticsPushFunc(\"Twitter\", \"Article Bottom\", title), \"Article Bottom\")\n                    break;\n                case \"ld\":\n                    openLinkedinShare(current_url, () => analyticsPushFunc(\"Linkedin\", \"Article Bottom\", title))\n                    break;\n                case \"wa\":\n                    WhatsAppShareButton.openWhatsAppShare(current_url, () => analyticsPushFunc(\"Whatsapp\", \"Article Bottom\", title), \"Article Bottom\")\n                    break;\n\n                case \"mailto\":\n                    MailShareButton.openMailShare(document.title, current_url, \"en\", () => analyticsPushFunc(\"Mail\", \"Article Bottom\", title), \"Article Bottom\")\n                    break;\n            }\n        }\n    }\n\n    public render() {\n        return (\n            <div className=\"articleBottomShareCtech\">\n                <div title=\"Facebook\" className=\"share-icon facebook\" onClick={(e) => this.handleShareBtnClicked(\"fb\")} />\n                <div title=\"Twitter\" className=\"share-icon twitter\" onClick={(e) => this.handleShareBtnClicked(\"tw\")} />\n                <div title=\"Linkedin\" className=\"share-icon linkedin\" onClick={(e) => this.handleShareBtnClicked(\"ld\")} />\n                <div title=\"Whatsapp\" className=\"share-icon whatsapp\" onClick={(e) => this.handleShareBtnClicked(\"wa\")} />\n                <div title=\"Email\" className=\"share-icon email\" onClick={e => this.handleShareBtnClicked(\"mailto\")} />\n            </div>\n        )\n    }\n}","import { isWcmEditor } from \"config/serverConfig\"\nrequire('./ctech_site_SearchComponenta.less')\n\ninterface SearchState {\n    typedUserInput: string,\n}\nexport class SearchComponenta extends React.Component<{domain:string}, SearchState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            typedUserInput: \"\"\n        }\n    }\n    private updateInputValue = (evt) => {\n        this.setState({ typedUserInput: evt.target.value });\n    }\n\n    private search = () => {\n        const { typedUserInput } = this.state;\n  const {domain} = this.props\n        if (typedUserInput) {\n           // console.log(\"typedUserInput in:\", typedUserInput)\n            let urlHead = \"\"\n            let userInput = \"\"\n            let fullUrl = \"\"\n            let urlTail = \"\"\n            if (!isWcmEditor()) {\n                urlHead = `${domain}/ctechnews/category/5256`\n                userInput = typedUserInput\n                urlTail = \"?cx=partner-pub-0047680307646695:6806626149&cof=FORID:10&ie=UTF-8&q=\"\n                fullUrl = urlHead + urlTail + userInput\n                location.href = fullUrl\n\n            }\n\n        }\n\n    }\n\n    private handleInputKeyPress = (evt: React.KeyboardEvent) => {\n        if (evt.key === \"Enter\") {\n            this.search();\n        }\n\n    }\n\n    render() {\n        const { typedUserInput } = this.state\n\n        return (\n            <div className=\"SearchComponenta\" >\n                <div className=\"search-field\">\n                    <input\n                        className=\"searchInput\"\n                        type=\"text\"\n                        id=\"queryString\"\n                        placeholder=\"Search\"\n                        autoComplete=\"off\"\n                        maxLength={25}\n                        onKeyPress={this.handleInputKeyPress}\n                        onChange={this.updateInputValue}\n                        value={typedUserInput} />\n                    <span className=\"search-btn\" onClick={typedUserInput.length > 0 ? this.search : null}>\n                        <img className=\"searchImg\" src=\"https://images1.calcalist.co.il/images/1280/icons/search-icon.png\" />\n                    </span>\n                </div>\n            </div>\n        )\n    }\n}\n","\nimport { HamburgerButtonComponenta } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/hamburgerButton\"\nimport {  HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\"\nimport { CtechMenuList, BottomLinksItems } from \"./ctechMenuList\"\nimport { SearchComponenta } from \"./SearchComponenta\"\nrequire('../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/ctech_calcalist_site_menu.less')\nrequire('../../../calcalistWidgets/categoryHeader/components/searchInput/ctech_calcalist_site_search_area.less')\n\ninterface HamburgerProps {\n    menuItems: HamburgerMenuItems[]\n    width: number\n    bottomLinksItems: BottomLinksItems[]\n    domain:string\n}\n\ninterface HamburgerState {\n    isOpenedHam: boolean\n    isOpenedSearch: boolean\n}\nexport class CtechHeaderMenu extends React.Component<HamburgerProps, HamburgerState> {\n    public static siteScriptName = \"CtechHeaderMenu\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            isOpenedHam: false,\n            isOpenedSearch: false\n        }\n    }\n\n    private onToggleHam = () => {\n        this.setState({ isOpenedHam: !this.state.isOpenedHam, isOpenedSearch: false })\n    }\n\n    render() {\n        const { menuItems, width, bottomLinksItems, domain } = this.props\n        return (\n\n            <div className=\"CtechHeaderMenu\">\n                <SearchComponenta domain={domain}/>\n                <HamburgerButtonComponenta onToggleMenu={this.onToggleHam} isOpened={this.state.isOpenedHam} />\n                <CtechMenuList menuItems={menuItems} width={width} isOpenedHam={this.state.isOpenedHam} bottomLinksItems={bottomLinksItems} />\n            </div>\n        )\n\n\n    }\n}","import * as map from \"lodash/map\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\n\nexport interface HamburgerMenuItems {\n    title: string\n    link: string\n    linkTarget: LinkTargetProperties\n    color: string\n    bgColor?: string\n    isSelected?: boolean\n}\nexport interface BottomLinksItems {\n    name: string\n    title: string\n    url: string\n}\n\ninterface MenuProps {\n    menuItems: HamburgerMenuItems[]\n    width?: number\n    isOpenedHam: boolean\n    bottomLinksItems: BottomLinksItems[]\n}\n\nexport class CtechMenuList extends React.Component<MenuProps, {}> {\n    constructor(props) {\n        super(props)\n\n    }\n    private clickAcessibilityBtn = () => {\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n    }\n    render() {\n        const { menuItems, width, isOpenedHam, bottomLinksItems } = this.props\n        let style = width ? { width: `${width}px` } : {}\n        const opened = isOpenedHam ? \"opened\" : \"\";\n        return (\n\n            <div className={`CtechMeniList CalcalistMeniList ${opened}`} style={style} >\n                <ul className=\"menuList\">\n                    {map(menuItems, (item, i) =>\n                        <li key={i} className=\"linkListItem\">\n                            <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} style={{ color: item.color, background: item.bgColor }}>\n                                <span dangerouslySetInnerHTML={{ __html: item.title }} />\n                            </HyperLinkBuilder>\n                        </li>)}\n                </ul>\n\n                <div className=\"bottomLinks\">\n                    <div className=\"linksWithIcons\">\n                        {map(bottomLinksItems, (link, i) =>\n                            <SimpleLinkRenderer href={link.url} title={link.title} className={`bottomLink`} key={i}>\n                                <span className={`icon ${link.name}`}></span>\n                                <span className={`bottomLinkTitle ${link.name}`}>{link.title}</span>\n                            </SimpleLinkRenderer>\n                        )}\n                        <span id=\"mainAccessibilityButton\" className=\"AccessibilityLink\"  >\n                            <div className={`bottomLink`} id=\"INDmenu-btn3\" title=\"אתר נגיש\" accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" role=\"button\"\n                                onClick={this.clickAcessibilityBtn}>\n                                <div className={`icon Accessibility`}></div>\n                                <span className=\"bottomLinkTitle\">ACCESSIBILITY</span>\n                            </div></span>\n                    </div>\n                </div>\n            </div>\n        )\n\n\n    }\n}\n","import { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport { HamburgerMenuItems, BottomLinksItems, CtechMenuList } from \"./ctechMenuList\"\n\ninterface SiteMobileCtechHeaderProps {\n    menuItems: HamburgerMenuItems[]\n    bottomLinksItems: BottomLinksItems[]\n    generalLinksItems: BottomLinksItems[]\n    categoryId: string\n    categoryName: string\n}\ninterface SiteMobileCtechHeaderState {\n    isOpenedHam: boolean\n    isOpenedSearch: boolean\n    prevScrollPos: number\n}\nexport class SiteMobileCtechHeaderComponenta extends React.Component<SiteMobileCtechHeaderProps, SiteMobileCtechHeaderState> {\n    public static siteScriptName = \"SiteMobileCtechHeaderComponenta\";\n    constructor(props) {\n        super(props)\n        this.state = {\n            isOpenedHam: false,\n            isOpenedSearch: false,\n            prevScrollPos: 0\n        };\n    }\n    componentDidMount = () => {\n        window.addEventListener('scroll', this.handleScroll);\n    }\n    componentWillUnmount = () => {\n        window.removeEventListener('scroll', this.handleScroll);\n    }\n    toggleBodyScroll = () => {\n        if (this.state.isOpenedHam) {\n            document.body.style.overflow = 'hidden';\n        } else {\n            document.body.style.overflow = 'unset';\n        }\n    }\n\n    handleScroll = () => {\n        const { prevScrollPos } = this.state;\n        const currentScrollPos = window.pageYOffset;\n        const el = document.querySelector(\".MobileCtechHeaderComponenta\")\n        if (currentScrollPos <= 43) {\n            this.setState({ prevScrollPos: currentScrollPos })\n            el.classList.remove(\"fadeHeader\");\n        } else if (prevScrollPos < currentScrollPos) {\n            this.setState({ prevScrollPos: currentScrollPos })\n            el.classList.add(\"fadeHeader\");\n        } else {\n            this.setState({ prevScrollPos: currentScrollPos })\n            el.classList.remove(\"fadeHeader\");\n        }\n    }\n    private onToggleHam = () => {\n        this.setState({ isOpenedHam: !this.state.isOpenedHam, isOpenedSearch: false }, this.toggleBodyScroll)\n    }\n    render() {\n        const { menuItems, bottomLinksItems, categoryId, categoryName, generalLinksItems } = this.props\n        const { isOpenedHam } = this.state\n        const isHomePage = categoryId === \"5211\"\n        const leftLogoLink = isHomePage ? generalLinksItems.filter(link => link.name === 'twentyFourSeven')[0]['url'] : generalLinksItems.filter(link => link.name === 'logo')[0]['url']\n        const mainLogoLink = isHomePage ? generalLinksItems.filter(link => link.name === 'logo')[0]['url'] : \"javascript:void(0);\"\n\n        const blurScreenStyle = {\n            display: 'block',\n            position: 'absolute',\n            top: '43px',\n            width: '100%',\n            height: '100vh',\n            left: 0,\n            backdropFilter: 'blur(1.5rem) contrast(100%)',\n            WebkitBackdropFilter: 'blur(1.5rem) contrast(100%)'\n        }\n\n        return (\n            <div className=\"SiteMobileCtechHeaderComponenta\">\n                <SimpleLinkRenderer href={leftLogoLink} className=\"leftLogo\">\n                    {isHomePage ?\n                        <span className=\"logoTitle\">24/7</span> :\n                        <div className=\"logoImg\"></div>}\n                </SimpleLinkRenderer>\n\n                <SimpleLinkRenderer href={mainLogoLink} className=\"mainLogo\">\n                    {isHomePage ?\n                        <div className=\"logoImg\"></div> :\n                        <span className=\"logoTitle\">{categoryName}</span>}\n                </SimpleLinkRenderer>\n\n                <button className=\"mobilHamburger\" onClick={this.onToggleHam}></button>\n                <div className=\"blurScreen\" style={isOpenedHam ? blurScreenStyle : {}} />\n                <CtechMenuList menuItems={menuItems} isOpenedHam={isOpenedHam} bottomLinksItems={bottomLinksItems} />\n            </div>\n        )\n\n    }\n}","import { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\n\nimport { datesAreOnSameDay, datesAreOnSameWeek, toDateWithoutHour, toHourWithoutDate } from \"./siteCtechTwentyFourSevenWideComponenta\";\n\ninterface CtechTwentyFourSevenWideComponentaItemProps {\n    item:any\n    index:number\n    articles:any[]\n    endWeek:number\n    isLTR:boolean\n}\n\nexport class CtechTwentyFourSevenWideComponentaItem extends React.Component<CtechTwentyFourSevenWideComponentaItemProps> {\n    render() {\n     const {item,articles,index,endWeek,isLTR} = this.props;\n             return (\n            <>\n            <div className=\"item\" style={(articles.length - 1 === index) ? { border: 'unset' } : {}}>                          \n            <span className=\"date no-small-vp\">{datesAreOnSameWeek(new Date(), new Date(item.dateUpdatedOnSite), endWeek) ?\n                    toHourWithoutDate(new Date(item.dateUpdatedOnSite)) : toDateWithoutHour(new Date(item.dateUpdatedOnSite))}</span>\n                <div className=\"textDiv no-small-vp\">\n                    <SimpleLinkRenderer href={item.publishedLink} className=\"itemTitle\" title=\"\">{item.title}</SimpleLinkRenderer>\n                    {item.hasVideo && <img className=\"twentyFourSevenVideoIcon\" src={`https://images1.calcalist.co.il/images/vds${isLTR?'-EN':''}.gif`} />}\n                    <SimpleLinkRenderer className=\"category\" href={item.category.publishedLink}>({item.category.textToShow})</SimpleLinkRenderer>\n                </div>\n\n                <SimpleLinkRenderer className=\"mobileItemContent show-small-vp\" href={item.publishedLink}>\n                    <div className=\"date\">\n                        {datesAreOnSameDay(new Date(), new Date(item.dateUpdatedOnSite)) ?\n                            toHourWithoutDate(new Date(item.dateUpdatedOnSite)) : toDateWithoutHour(new Date(item.dateUpdatedOnSite)).substring(0, 5)}\n                    </div>\n                    <span className=\"itemTitle\">{item.title}</span>\n                </SimpleLinkRenderer>      \n            </div>   \n            </> \n        );\n\n    }\n}","import * as axios from \"axios\"\nimport * as moment from \"moment\"\nimport { CtechChannelMenu } from \"../../ctechWideBuzz/components/ctechChannelMenu\"\nimport { CtechDatePickerMenu } from \"../../ctechWideBuzz/components/ctechDatePickerMenu\"\nimport { TaboolaComponenta } from \"../../../taboola/taboolaComponenta\"\nimport { CtechTwentyFourSevenWideComponentaItem } from \"./ctechTwentyFourSevenWideItem\"\nimport { Ref } from \"react\"\nimport { formatDate } from \"../../../../siteWidgets/siteWidgetUtils\"\n\ndeclare var window: Window & {\n    googletag:any;\n    AdUnitPropertiesClassObj:any;\n}\n\ninterface CtechTwentyFourSevenWideState {\n    currChannle: any\n    isChannelMenuVisible: boolean\n    isDateMenuVisible: boolean\n    currPage: number\n    type: string\n    limitDate: string\n    articles: any[]\n    isLoadMore: boolean\n    isDateFilterMode: boolean\n    videoOnly: boolean\n    currDate: Date\n    currentActiveTab: tabNameCategory\n}\n\nenum tabNameCategory {\n    ARTICLES = \"ARTICLES\",\n    VIDEOS = \"VIDEOS\"\n};\n\ninterface CtechTwentyFourSevenWideProps {\n    categoryList: CategoryListItem[]\n    useSubcategories: boolean\n    numberOfItems: number\n    isLTR: boolean\n}\n\nexport interface CategoryListItem {\n    description: string\n    id: string\n}\nexport class SiteCtechTwentyFourSevenWideComponenta extends React.Component<CtechTwentyFourSevenWideProps, CtechTwentyFourSevenWideState> {\n    public static siteScriptName = \"SiteCtechTwentyFourSevenWideComponenta\"\n    constructor(props) {\n        super(props)\n        this.handleDayClick = this.handleDayClick.bind(this);\n        const { isLTR } = this.props;\n\n        this.state = {\n            currChannle: isLTR ? { description: 'Ctech', id: '5211' } : { description: 'כל הערוצים', id: '1' },\n            isChannelMenuVisible: false,\n            isDateMenuVisible: false,\n            currPage: 0,\n            limitDate: '',\n            type: \"CATEGORY\",\n            articles: [],\n            isLoadMore: false,\n            isDateFilterMode: false,\n            videoOnly: false,\n            currDate: new Date(),\n            currentActiveTab: tabNameCategory.ARTICLES\n        }\n    }\n    componentDidMount() {\n        this.getArticles()\n    }\n    componentDidUpdate(prevProps, prevState) {\n        if (this.state.limitDate !== prevState.limitDate ||\n            this.state.currPage !== prevState.currPage ||\n            this.state.currChannle !== prevState.currChannle ||\n            this.state.videoOnly !== prevState.videoOnly) {\n            this.getArticles();\n        }\n    }\n    private onChannelChanged = (newChannle) => {\n        this.toggleChannelMenu()\n        this.setState({ currChannle: newChannle })\n    }\n    private toggleChannelMenu = () => {\n        this.setState({\n            isChannelMenuVisible: !this.state.isChannelMenuVisible,\n            isDateMenuVisible: (this.state.isDateMenuVisible && !this.state.isChannelMenuVisible) ? false : this.state.isDateMenuVisible\n        })\n    }\n    private toggleDateMenu = () => {\n        this.setState({\n            isDateMenuVisible: !this.state.isDateMenuVisible,\n            isChannelMenuVisible: (this.state.isChannelMenuVisible && !this.state.isDateMenuVisible) ? false : this.state.isChannelMenuVisible\n        })\n\n    }\n    private handleDayClick = (day, modifiers = {}) => {\n        if (modifiers['disabled']) {\n            return;\n        } else {\n            this.setState({\n                limitDate: day ? day : '',\n                isDateFilterMode: true,\n                currPage: 0\n            });\n            this.toggleDateMenu();\n        }\n    }\n    private loadMoreArticles = () => {\n        this.setState({ currPage: this.state.currPage + 1 })\n    }\n    private getArticles = () => {\n        const { numberOfItems, useSubcategories } = this.props\n        const { currChannle, type, currPage, limitDate, articles, isDateFilterMode, videoOnly } = this.state\n        const videoOnlyRequest = Number(videoOnly);\n        const useSubcategoriesRequest = Number(useSubcategories);\n        let limitDateRequest:string;\n\n        if (isDateFilterMode && limitDate) {\n            limitDateRequest = formatDate(new Date(limitDate),\"YYYY-MM-DD\");\n        }else{\n            limitDateRequest = formatDate(new Date(),\"YYYY-MM-DD\");\n        }\n        axios.get(`/iphone/json/api/twenty_four_seven_wide/${currChannle.id}/${numberOfItems}/${useSubcategoriesRequest}/${videoOnlyRequest}/${currPage}/${limitDateRequest}`)\n            .then((res: any) => {\n                const recivedArticles = res.data.data;\n                this.setState({\n                    articles: (currPage > 0) ? [...articles, ...recivedArticles] : recivedArticles,\n                    isLoadMore: (recivedArticles.length < numberOfItems) ? false : true,\n                },()=>this.onDfpRefresh())\n            })\n            .catch(err => console.error(\"error geting articles data:\", err))\n    }\n    private getUTCHDateByIndex = (currDate, index) => {\n        return new Date(new Date().setDate(currDate.getDate() - index))\n    }\n\n    private handleTabPick = (event) => {\n        const selectedTab = event.target.getAttribute(\"data-value\");\n        const isVideoOnly = selectedTab === tabNameCategory.VIDEOS;\n        this.setState({ currentActiveTab: selectedTab, videoOnly: isVideoOnly })\n    }\n\n    private onDfpRefresh=()=>{\n        if( window.googletag && window.AdUnitPropertiesClassObj && window.AdUnitPropertiesClassObj.Define_slots[\"flash.central\"]){\n            window.googletag.cmd.push(function() { window.googletag.pubads().refresh([window.AdUnitPropertiesClassObj.Define_slots[\"flash.central\"]]); });\n        }\n    }\n\n    private showDayByString=(date:Date)=>{\n            return date.toLocaleDateString(this.props.isLTR?'en-US':\"he\", { weekday: 'long' })\n    }\n\n\n    render() {\n        const { categoryList ,isLTR } = this.props;\n        const { currChannle, isChannelMenuVisible, limitDate, articles, isDateMenuVisible, isLoadMore, currDate, currentActiveTab } = this.state\n        let headings: Map<string, { text: string, used: boolean }> = new Map();\n        const endWeek = currDate.getDay()\n        headings.set('default', { text: isLTR?'More Articles':'עוד כתבות', used: false })\n        for (let i = 0; i < endWeek + 1; i++) {\n            if (i > endWeek) {\n                headings.set(toDateWithoutHour(this.getUTCHDateByIndex(currDate, i)), { text: isLTR?'More Articles':'עוד כתבות', used: false })\n            } else {\n                switch (i) {\n                    case 0:\n                        headings.set(toDateWithoutHour(currDate), { text: `${this.showDayByString(currDate)} ${toDateWithoutHour(currDate)} (${isLTR?'Today':'היום'})`, used: false })\n                        break;\n                    case 1:\n                        headings.set(toDateWithoutHour(this.getUTCHDateByIndex(currDate, i)), { text: `${this.showDayByString(this.getUTCHDateByIndex(currDate,i))} ${toDateWithoutHour(this.getUTCHDateByIndex(currDate, i))} (${isLTR?'Yesterday':'אתמול'})`, used: false })\n                        break;\n                    case 2:\n                        headings.set(toDateWithoutHour(this.getUTCHDateByIndex(currDate, i)),{ text: `${this.showDayByString(this.getUTCHDateByIndex(currDate,i))} ${toDateWithoutHour(this.getUTCHDateByIndex(currDate, i))} (${isLTR?'Two days ago':'יומיים'})`, used: false })\n                        break;\n                    default:\n                        headings.set(toDateWithoutHour(this.getUTCHDateByIndex(currDate, i)),{ text: `${this.showDayByString(this.getUTCHDateByIndex(currDate,i))} ${toDateWithoutHour(this.getUTCHDateByIndex(currDate, i))} (${i} ${isLTR?'Days ago':'ימים עברו'})`, used: false })\n                        break;\n                }\n            }\n        }\n        const dayPickerPreferences = {\n            showOutsideDays: true,\n            month: new Date(),\n            toMonth: new Date(),\n            fixedWeeks: true,\n            disabledDays: [\n                {\n                    after: new Date(new Date().setDate(new Date().getDate()))\n                }\n            ]\n        }\n\n        const itemComponents = []\n        articles.forEach((item, index) => {\n\n            if(!isLTR){\n                if (index == 2) {\n                    itemComponents.push(<div className=\"dfp-item item\" key=\"dfp\" id=\"flash.central\"></div>);\n                }\n                if (index == 9) {\n                    itemComponents.push(<div key=\"taboola\" className=\"item\"> <TaboolaComponenta container=\"taboola-category-mid-page-link\" mode=\"text-links-a\" placement=\"Category Mid Page Link\" target_type=\"mix\" /></div>)\n                }\n            }\n\n            let headingDiv = null;\n            const headingKey = toDateWithoutHour(new Date(item.dateUpdatedOnSite))\n            const headingDetials = headings.get(headingKey)\n            if (!headingDetials && !headings.get('default').used) {\n                headingDiv = <div className=\"dayHeader\" key={headingKey}>{headings.get('default').text}</div>\n                headings.get('default').used = true;\n            }\n\n            if (headingDetials && !headingDetials.used) {\n                headingDiv = <div className=\"dayHeader\" key={headingKey}>{headingDetials.text}</div>\n                headingDetials.used = true;\n            }\n\n            itemComponents.push(\n                <div key={item.articleId}>\n                    {headingDiv}\n                    <CtechTwentyFourSevenWideComponentaItem\n                        endWeek={endWeek}\n                        isLTR={isLTR}\n                        item={item}\n                        index={index}\n                        articles={articles}\n                         />\n                </div>\n            )\n        });\n        \n\n\n        return (\n            <div className=\"SiteCtechTwentyFourSevenWideComponenta\">\n                <div className=\"leftSide\">\n                    {!this.props.isLTR &&\n                        <div className=\"mainMenu\">\n                            <span data-value={tabNameCategory.ARTICLES} onClick={this.handleTabPick} className={`tab ${currentActiveTab === tabNameCategory.ARTICLES ? 'active' : ''}`}>כתבות</span>\n                            <span data-value={tabNameCategory.VIDEOS} onClick={this.handleTabPick} className={`tab ${currentActiveTab === tabNameCategory.VIDEOS ? 'active' : ''}`}>וידאו</span>\n                        </div>\n                    }\n                    <CtechChannelMenu toggleChannelMenu={this.toggleChannelMenu} currChannle={currChannle}\n                        isChannelMenuVisible={isChannelMenuVisible} categoryList={categoryList} onChannelChanged={this.onChannelChanged} isLTR={isLTR} />\n                    <CtechDatePickerMenu toggleDateMenu={this.toggleDateMenu} limitDate={limitDate}\n                        isDateMenuVisible={isDateMenuVisible} handleDayClick={this.handleDayClick}\n                        dayPickerPreferences={dayPickerPreferences} isLTR={isLTR} />\n                </div>\n\n\n                <div className=\"rightSide\">\n                    {\n                        itemComponents\n                    }\n                    <div className=\"loadMore\">\n                        <button className=\"loadMoreButton\" disabled={!isLoadMore || articles.length === 0} onClick={this.loadMoreArticles}>{isLTR?'Load more':'טען עוד'}</button>\n                    </div>\n                </div>\n            </div>\n\n        )\n\n    }\n}\n\nexport function toDateWithoutHour(date: Date) {\n    return `${formatNum(date.getDate())}.${formatNum(date.getMonth() + 1)}.${date.getFullYear().toString().substr(-2)}`\n\n}\nexport function toHourWithoutDate(date: Date) {\n    const minutes = formatNum(date.getMinutes())\n    const hours = formatNum(date.getHours())\n    return `${hours}:${minutes}`\n\n}\nexport function datesAreOnSameDay(first: Date, second: Date) {\n    return first.getFullYear() === second.getFullYear() &&\n        first.getMonth() === second.getMonth() &&\n        first.getDate() === second.getDate()\n}\nfunction formatNum(num: number) {\n    const displayNum = num < 10 ? '0' + num : num;\n    return displayNum\n}\nexport function datesAreOnSameWeek(first: Date, second: Date, endOfTheWeek: number) {\n    const oneDay = 1000 * 60 * 60 * 24;\n    const diffInTime = second.getTime() - first.getTime();\n    const diffInDays = Math.round(diffInTime / oneDay);\n    return diffInDays >= -endOfTheWeek\n}\n\n","\nimport { calculateAutomaticComponentaUrl, separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { CalcalistShareMenu } from \"../../../../commonComponents/base/CalcalistShareMenu\";\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { CtechDateDisplay } from \"../../../../commonComponents/inline/dateDisplay/ctechDateDisplay\"\nimport { getDiffFromToday } from \"../../../../siteWidgets/formatDateDisplay\";\n\n\n\ninterface CtechArticleItemProps {\n    article: Partial<SiteArticleData>\n    index: number\n    isLTR?: boolean\n}\nexport interface SiteArticleData {\n    'article_id': string\n    'author': string\n    'caption': string\n    'title': string\n    'sub_title': string\n    'path': string\n    'hasVideo': boolean\n    'publishedLink': string\n    'launch_date': Date\n}\n\nexport class CtechArticleItem extends React.Component<CtechArticleItemProps, {}>{\n    static defaultProps = { isCategoryVisible: true }\n\n    private getIcon = (hasVideo: boolean) => {\n        if (hasVideo) return \"video\"\n        else return \"none\"\n    }\n    private viewDate = (): boolean => {\n        const { article } = this.props\n        const dateToManipulateTemp = new Date(article.launch_date)\n        const diffFromToday = getDiffFromToday(dateToManipulateTemp)\n        return diffFromToday > 0\n    }\n\n    public render() {\n        const { article, index, isLTR } = this.props;\n        const { article_id, author, caption, title, sub_title, path, publishedLink, hasVideo, launch_date } = article\n        const textStyle = (!this.viewDate() && !isLTR) ? { color: '#C82027' } : {}\n        return (\n            <div className=\"slotItem\" data-wcm-article-id={article_id}>\n                <div className=\"articleIndex\">{index + 1}<span className=\"mobileDot\">.</span></div>\n                <div className=\"mediaArea CalcalistComponentaShareMenuMedia\">\n                    <div className=\"MediaCarousel\" >\n                        <a href={publishedLink}>\n                            <img src={path}\n                                alt={caption}\n                                title={caption}\n                                style={{ width: 270, height: 146 }}\n                                className=\"SiteImageMedia\"\n                            />\n                        </a>\n                    </div>\n                    <SlotIconDisplay itemId={\"\"} icon={this.getIcon(hasVideo)} iconClassName=\"medium\" isIconVisible={hasVideo} />\n                    <CalcalistShareMenu url={publishedLink} title={this.props.article.title} isLTR={true} isArticle={true} />\n                </div>\n                <a href={calculateAutomaticComponentaUrl(article)} className=\"textDiv\" >\n                    <div className=\"slotTitle\">\n                        <span>{title}</span>\n                    </div>\n                    <div className=\"moreDetails\">\n                        <span className=\"dateView\" style={textStyle}>\n                            {isLTR ? <CtechDateDisplay date={launch_date} /> :\n                                separateHourFromDateAndFormatToString(launch_date,\n                                    {\n                                        showDate: this.viewDate(),\n                                        showHour: !this.viewDate()\n                                    })}\n                        </span>\n                        {author && <span className=\"separator\">|</span>}\n                        {author && <span className=\"author\">{author} </span>}\n                    </div>\n                    <div className=\"slotSubTitle\">\n                        <span>{sub_title}</span>\n                    </div>\n                </a>\n            </div>\n        )\n    }\n}","import { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { SiteArticleData, CtechArticleItem } from \"./ctechArticleItem\"\n\n\n\ninterface CtechArticleListProps {\n    itemList: SiteArticleData[]\n    isLTR?: boolean\n}\n\nexport class CtechArticleList extends React.Component<CtechArticleListProps, {}>{\n    public render() {\n        const { itemList, isLTR } = this.props\n        return (\n            <div className=\"slotList\" >\n                {itemList.map((item, i) =>\n                    <CtechArticleItem\n                        key={i}\n                        article={item}\n                        index={i}\n                        isLTR={isLTR}\n                        {...this.props}\n                    />)}\n            </div>\n        )\n    }\n}","import { CategoryListItem } from \"./siteCtechWideBuzz\"\n\n\ninterface CtechArticleItemProps {\n    categoryList: CategoryListItem[]\n    toggleChannelMenu: () => void\n    currChannle: any\n    isChannelMenuVisible: boolean\n    onChannelChanged: (newChannle: any) => void\n    isLTR?: boolean\n}\nexport class CtechChannelMenu extends React.Component<CtechArticleItemProps, {}>{\n    public render() {\n        const { toggleChannelMenu, currChannle, isChannelMenuVisible, categoryList, onChannelChanged, isLTR } = this.props\n        const ctechDisplayName = isLTR ? 'All channels' : 'כל הערוצים'\n        return (\n            <div className=\"CtechChannelMenu\">\n                <span className=\"selectArrow\" onClick={toggleChannelMenu} />\n                <span className=\"selected\" onClick={toggleChannelMenu}>{(currChannle.id === '5211' || currChannle.id === '1') ? ctechDisplayName : currChannle.description}</span>\n                {isChannelMenuVisible &&\n                    <div className=\"channleOptionsList\">\n                        {_.filter(_.map(categoryList, (categoryItem, index) => {\n                            return (\n                                <div key={index} className=\"menuOption\" onClick={() => onChannelChanged(categoryItem)}>\n                                    {(categoryItem.id === '5211' || categoryItem.id === '1') ? ctechDisplayName : categoryItem.description}</div>\n                            )\n                        }))\n                        }\n                    </div>}\n            </div>\n        )\n    }\n}","\nimport DayPicker from \"react-day-picker\"\nimport { formatDate } from \"../../../../siteWidgets/siteWidgetUtils\"\n\n\nexport const CtechDatePickerMenu = ({ toggleDateMenu, limitDate, isDateMenuVisible, handleDayClick, dayPickerPreferences, isLTR, isInitialLimitDate = false }) => {\n    const dateTitle = isLTR ? 'Date' : 'תאריך'\n    const local = isLTR ? 'en' : 'he'\n    const months = {\n        he: [\n            \"ינואר\",\n            \"פברואר\",\n            \"מרץ\",\n            \"אפריל\",\n            \"מאי\",\n            \"יוני\",\n            \"יולי\",\n            \"אוגוסט\",\n            \"ספטמבר\",\n            \"אוקטובר\",\n            \"נובמבר\",\n            \"דצמבר\"\n        ]\n    }\n    const weekDaysLong = { he: [\"ראשון\", \"שני\", \"שלישי\", \"רביעי\", \"חמישי\", \"שישי\", \"שבת\"] }\n    const weekdaysShort = { he: [\"א\", \"ב\", \"ג\", \"ד\", \"ה\", \"ו\", \"ש\"] }\n    const firstDayOfWeek = { he: 0 }\n    const labels = { he: { nextMonth: \"חודש הבא\", previousMonth: \"חודש קודם\" } }\n    return (\n        <div className=\"CtechDatePickerMenu\">\n            <span className=\"selectDateArrow\" onClick={toggleDateMenu} />\n            <span className={`selected ${limitDate && 'limitDate'}`} onClick={toggleDateMenu}>{(limitDate && !isInitialLimitDate) ? formatDate(limitDate,\"DD/MM/YYYY\") : dateTitle}</span>\n            {isDateMenuVisible && <DayPicker\n                showOutsideDays={dayPickerPreferences.showOutsideDays}\n                month={dayPickerPreferences.month}\n                fromMonth={dayPickerPreferences.fromMonth}\n                toMonth={dayPickerPreferences.toMonth}\n                fixedWeeks={dayPickerPreferences.fixedWeeks}\n                disabledDays={dayPickerPreferences.disabledDays}\n                onDayClick={handleDayClick}\n                // \n                local={local}\n                months={months[local]}\n                weekdaysLong={weekDaysLong[local]}\n                weekdaysShort={weekdaysShort[local]}\n                firstDayOfWeek={firstDayOfWeek[local]}\n                labels={labels[local]}\n            />}\n        </div>\n    )\n}","import * as axios from \"axios\"\nimport * as classNames from \"classnames\"\nimport { SiteArticleData } from \"./ctechArticleItem\"\nimport { CtechArticleList } from \"./ctechArticleList\"\nimport { CtechDatePickerMenu } from \"./ctechDatePickerMenu\"\nimport { CtechChannelMenu } from \"./ctechChannelMenu\"\nimport { formatDate } from \"../../../../siteWidgets/siteWidgetUtils\"\n\ninterface CtechWideBuzzState {\n    currChannle: any\n    isChannelMenuVisible: boolean\n    isDateMenuVisible: boolean\n    currPage: number\n    daysToShow: number\n    limitDate: string\n    articles: SiteArticleData[]\n    isLoadMore: boolean\n    videoOnly: boolean\n    wordsTranslations: any\n}\ninterface CtechWideBuzzProps {\n    categoryList: CategoryListItem[]\n    numberOfItems: number\n    isLTR: boolean\n    componentaId: string\n}\nexport interface CategoryListItem {\n    description: string\n    id: string\n}\nexport class SiteCtechWideBuzzComponenta extends React.Component<CtechWideBuzzProps, CtechWideBuzzState> {\n    public static siteScriptName = \"SiteCtechWideBuzzComponenta\"\n    constructor(props) {\n        super(props)\n        this.handleDayClick = this.handleDayClick.bind(this);\n        this.state = {\n            currChannle: { description: '', id: '' },\n            isChannelMenuVisible: false,\n            isDateMenuVisible: false,\n            currPage: 0,\n            daysToShow: 1,\n            limitDate: '',\n            articles: [],\n            isLoadMore: false,\n            videoOnly: false,\n            wordsTranslations: {\n                \"he\": {\n                    \"Load more\": \"טען עוד\",\n                    \"Buzz\": \"באזז\",\n                    \"Daily\": \"היום\",\n                    \"Weekly\": \"השבוע\",\n                    \"Monthly\": \"החודש\",\n                    \"All Times\": \"כל הזמנים\",\n                    \"Most Popular\": \"הנצפות\",\n                    \"Articles\": \"כתבות\",\n                    \"Video\": \"וידאו\",\n                    \"No results\": \"אין תוצאות\"\n                },\n                \"en\": {\n                    \"Load more\": \"Load more\",\n                    \"Buzz\": \"Buzz\",\n                    \"Daily\": \"Daily\",\n                    \"Weekly\": \"Weekly\",\n                    \"Monthly\": \"Monthly\",\n                    \"All Times\": \"All Times\",\n                    \"Most Popular\": \"Most Popular\",\n                    \"Articles\": \"Articles\",\n                    \"Video\": \"Video\",\n                    \"No results\": \"No results\"\n                }\n\n            }\n        }\n    }\n    componentDidMount() {\n        const channel = this.props.categoryList[0]\n        this.setState({ currChannle: channel })\n    }\n    componentDidUpdate(prevProps, prevState) {\n        if (this.state.limitDate !== prevState.limitDate ||\n            this.state.daysToShow !== prevState.daysToShow ||\n            this.state.currPage !== prevState.currPage ||\n            this.state.videoOnly !== prevState.videoOnly ||\n            this.state.currChannle !== prevState.currChannle) {\n            this.getArticles();\n        }\n        if (this.state.articles !== prevState.articles) {\n            this.setState({\n                isLoadMore: (this.state.articles.length) / ((this.state.currPage + 1) * this.props.numberOfItems) >= 1\n            })\n        }\n\n\n    }\n    private onChannelChanged = (newChannle) => {\n        this.toggleChannelMenu()\n        this.setState({\n            currChannle: newChannle,\n            currPage: 0\n        })\n    }\n    private toggleChannelMenu = () => {\n        this.setState({\n            isChannelMenuVisible: !this.state.isChannelMenuVisible,\n            isDateMenuVisible: (this.state.isDateMenuVisible && !this.state.isChannelMenuVisible) ? false : this.state.isDateMenuVisible\n        })\n    }\n    private toggleDateMenu = () => {\n        this.setState({\n            isDateMenuVisible: !this.state.isDateMenuVisible,\n            isChannelMenuVisible: (this.state.isChannelMenuVisible && !this.state.isDateMenuVisible) ? false : this.state.isChannelMenuVisible\n        })\n\n    }\n    private onDayToShowTypeChanged = (newDaysToShow) => {\n        this.setState({\n            daysToShow: newDaysToShow,\n            limitDate: \"\",\n            currPage: 0\n        })\n    }\n    private onTypeToShowChanged = (isVideo) => {\n        this.setState({\n            currPage: 0,\n            videoOnly: isVideo\n        })\n    }\n    private handleDayClick = (day, modifiers = {}) => {\n        if (modifiers['disabled']) {\n            return;\n        } else {\n            this.setState({\n                limitDate: day ? day : '',\n                daysToShow: 0,\n                currPage: 0\n            });\n            this.toggleDateMenu();\n        }\n    }\n    private loadMoreArticles = () => {\n        this.setState({ currPage: this.state.currPage + 1 })\n    }\n    private getArticles = () => {\n        const { componentaId } = this.props\n        const { currChannle, currPage, daysToShow, limitDate, articles, videoOnly } = this.state\n        axios.get(`/iphone/json/api/calcalist_buzz_wide/${componentaId}/${currChannle.id}/${limitDate ? '-' : daysToShow}/${videoOnly ? 1 : 0}/${limitDate ? formatDate(new Date(limitDate),\"DD-MM-YYYY\") : 0}/${currPage}`)\n            .then((res: any) => {\n                const recivedArticles = res.data.data;\n                this.setState({\n                    articles: currPage > 0 ? [...articles, ...recivedArticles] : recivedArticles\n                })\n            }).catch(err => console.error(\"error geting articles data:\", err))\n    }\n    private getTranslation = (lang, text: string) => {\n        let obj = this.state.wordsTranslations[lang]\n        let textToShow = obj[text]\n        return textToShow\n    }\n    render() {\n        const { categoryList, isLTR } = this.props\n        const { currChannle, isChannelMenuVisible, limitDate, daysToShow, articles, isDateMenuVisible, isLoadMore, videoOnly } = this.state\n        const daysToShowTypes = [\n            { title: this.getTranslation(isLTR ? \"en\" : \"he\", \"Daily\"), value: 1 },\n            { title: this.getTranslation(isLTR ? \"en\" : \"he\", \"Weekly\"), value: 7 },\n            { title: this.getTranslation(isLTR ? \"en\" : \"he\", \"Monthly\"), value: 30 },\n            { title: this.getTranslation(isLTR ? \"en\" : \"he\", \"All Times\"), value: 0 }\n        ]\n        const typesToShow = [\n            { title: this.getTranslation(isLTR ? \"en\" : \"he\", \"Articles\"), value: false },\n            { title: this.getTranslation(isLTR ? \"en\" : \"he\", \"Video\"), value: true }\n        ]\n        const dayPickerPreferences = {\n            showOutsideDays: true,\n            month: new Date(),\n            fromMonth: new Date(new Date().setMonth(new Date().getMonth() - 1)),\n            toMonth: new Date(),\n            fixedWeeks: true,\n            disabledDays: [\n                {\n                    after: new Date(),\n                    before: new Date(new Date().setMonth(new Date().getMonth() - 1)),\n                }\n            ]\n        }\n        return (\n\n            <div className=\"CtechWideBuzzComponenta\">\n                <div className=\"filters\">\n                    <CtechChannelMenu toggleChannelMenu={this.toggleChannelMenu} currChannle={currChannle}\n                        isChannelMenuVisible={isChannelMenuVisible} categoryList={categoryList} onChannelChanged={this.onChannelChanged} isLTR={isLTR} />\n                    <CtechDatePickerMenu toggleDateMenu={this.toggleDateMenu} limitDate={limitDate}\n                        isDateMenuVisible={isDateMenuVisible} handleDayClick={this.handleDayClick}\n                        dayPickerPreferences={dayPickerPreferences} isLTR={isLTR} />\n                    {!isLTR && <div className=\"typesToShowFilter\">\n                        {_.map(typesToShow, (type, i) => {\n                            return (<span onClick={() => this.onTypeToShowChanged(type.value)} key={i}\n                                className={classNames(\"filterItem\", { 'active': (videoOnly === type.value) })}>{type.title}</span>)\n                        })}\n                    </div>}\n                </div>\n\n                <div className=\"buzzMain\">\n                    <div className=\"mostPopularTitle\"><span>{this.getTranslation(isLTR ? \"en\" : \"he\", \"Most Popular\")}</span></div>\n                    <div className=\"daysToShowFilter\">\n                        {_.map(daysToShowTypes, (type, i) => {\n                            return (<span onClick={() => this.onDayToShowTypeChanged(type.value)} key={i}\n                                className={classNames(\"filterItem\", { 'active': (daysToShow === type.value && limitDate === \"\") })}>{type.title}</span>)\n                        })}\n                    </div>\n                    {(articles.length > 0) ?\n                        (< CtechArticleList itemList={articles} isLTR={isLTR} />) :\n                        <div className=\"noResultsMsg\">{this.getTranslation(isLTR ? \"en\" : \"he\", \"No results\")}</div>\n                    } \n                    <div className=\"loadMore\">\n                        <button className=\"loadMoreButton\" disabled={!isLoadMore || articles.length === 0} onClick={this.loadMoreArticles}>{this.getTranslation(isLTR ? \"en\" : \"he\", \"Load more\")}</button>\n                    </div>\n                </div>\n            </div>\n\n        )\n\n    }\n}","import * as axios from \"axios\";\nimport { addAxiosDateTransformerSettings } from \"../../../../../utils/network/axiosDateTransformer\";\nimport { YnetNewsSlotItem } from \"./ynetNewsSlotItem\";\n\nexport interface IYnetnewsArticle {\n    title: string\n    sub_title: string\n    publishedLink: string\n    date:string\n}\n\ninterface YnetNewsComponentaState {\n    articles: IYnetnewsArticle[]\n}\n\nexport class YnetNewsComponenta extends React.Component<{}, YnetNewsComponentaState> {\n    public static siteScriptName = \"YnetNewsComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            articles: null,\n        }\n    }\n\n    componentDidMount() {\n        this.getArticles();\n    }\n    private getArticles = async () => {\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n\n        try {\n            const response = await axiosInstance.get(`https://www.ynetnews.com/iphone/json/mobile/v2/page/3083`);\n            //@ts-ignore\n            const topStoryArticle = response.data.components.find((component) => component.name === \"TopStory\");\n            //@ts-ignore\n            const stripsArticles = response.data.components.filter((component) => component.name === \"Strip\").slice(0, 3);\n            const mergedArticles = [topStoryArticle, ...stripsArticles].map((article) => {\n                const item = article.items[0];\n                return {\n                    title: item.title,\n                    sub_title: item.subTitle,\n                    publishedLink: item.linkData.link.href,\n                    date:item.linkData.link.pubDate\n                }as IYnetnewsArticle\n            })\n            this.setState({ articles: mergedArticles });\n\n        } catch (error) {\n            console.error(\"Error getting headline data:\", error);\n        }\n    }\n\n    public render() {\n        const { articles } = this.state;\n        \n        return (\n            <div className=\"slotContentDiv\">\n                <div className=\"slotList\">\n                    {articles ? articles.map((article) => (\n                        <YnetNewsSlotItem slotItem={article} />\n                    )) :\n                        <span className=\"loader\"></span>\n                    }\n                </div>\n            </div>\n        )\n    }\n}","import { injectPageComponentaContext } from \"widgets/commonComponents/base/injectPageComponentaContext\";\nimport { IYnetnewsArticle } from \"./ynetNewsComponenta\";\nimport { SimpleLinkRenderer } from \"../../../../commonComponents/inline/hyperLink\"\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\n\ninterface TwentyFourSevenItemSlotProps {\n    slotItem: IYnetnewsArticle\n}\n\n@injectPageComponentaContext()\nexport class YnetNewsSlotItem extends React.Component<TwentyFourSevenItemSlotProps, {}> {\n\n    public render() {\n        const { slotItem } = this.props;\n\n        return (\n            <div className=\"slotView\" title={slotItem.title}>\n                <div className=\"dateView\">{separateHourFromDateAndFormatToString(slotItem.date, { showDate: false, showHour: true })}</div>\n                <div className=\"slotTitle\">\n                    <SimpleLinkRenderer href={slotItem.publishedLink} className=\"titleText\"> {slotItem.title}</SimpleLinkRenderer>\n                </div>\n            </div>\n        )\n    }\n}","import { AudioPlayButton } from \"../radioWidgets/floatingPlayer/audioPlayButton\";\n\ndeclare var window: Window & {\n    radioWindow: Window\n    YITSiteWidgets: any\n    YITSiteWidgetsCallbacks: any\n    wcmAudioPlayer: AudioPlayButton\n    pageRefreshDisable(sourceType?: string): void;\n    pageRefreshEnable(sourceType?: string): void;\n}\n\ninterface DetachedPlayerRendererProps {\n    openPopupPlayer: () => void\n}\n\ninterface DetachedPlayerProps {\n    playerWidth: string\n    playerHeight: string\n    playerName: string\n    playerProps: any\n    buttonRenderer: (props: DetachedPlayerRendererProps) => React.ReactElement<DetachedPlayerRendererProps>\n}\n\nexport class DetachedPlayer extends React.Component<DetachedPlayerProps> {\n\n    private newWin;\n\n    private addScriptSrc = (src) => {\n        const script = this.newWin.document.createElement('script');\n        script.setAttribute('src', src);\n        this.newWin.document.head.appendChild(script);\n    }\n\n    private addInlineScript = (innerHtml) => {\n        const inlineScript = this.newWin.document.createElement('script');\n        inlineScript.innerHTML = innerHtml\n        this.newWin.document.body.appendChild(inlineScript);\n    }\n\n    private openPopupPlayer = () => {\n        const { playerWidth, playerHeight, playerName, playerProps } = this.props\n\n        if (window.radioWindow) window.radioWindow.close()\n\n        this.newWin = window.open(\"\", \"hello\", `innerWidth=${playerWidth}, innerHeight=${playerHeight}`);\n        this.newWin.document.title = \"Podcast Player\";\n        window.radioWindow = this.newWin;\n\n        setTimeout(() => {\n            if (this.newWin.YITSiteWidgets) return;\n\n            /** add css and widgets list  based on environment*/\n            const css = document.createElement('link')\n            \n            if (process.env.NODE_ENV === 'dev') { \n                const jsFile = (document.querySelector(`script[src*=\"/build/site/\"]`) as any).src;\n                const cssFile = (document.querySelector(`link[href*=\"/build/site/\"]`) as any).href;\n\n                this.addScriptSrc(jsFile);\n                css.setAttribute('href', cssFile);\n            } else {\n                const jsFilesList = document.querySelectorAll(`script[src*=\"/Common/frontend/site\"]`);\n                const cssFilesList = document.querySelectorAll(`link[href*=\"/Common/frontend/site\"]`);\n\n                jsFilesList.forEach(element => { this.addScriptSrc((element as any).src); });\n                cssFilesList.forEach(element => { css.setAttribute('href', (element as any).href); });\n            }\n\n            css.setAttribute('rel', 'stylesheet')\n            this.newWin.document.head.appendChild(css);\n\n            this.newWin.YITSiteWidgets = this.newWin.YITSiteWidgets || [];\n            this.newWin.YITSiteWidgetsCallbacks = this.newWin.YITSiteWidgetsCallbacks || [];\n\n            /** create div */\n            const div = this.newWin.document.createElement('div');\n            const divId = 'detachedPopupPlayer';\n            div.setAttribute(\"id\", divId)\n            this.newWin.document.body.appendChild(div);\n\n            /** create Widget */\n            const widgetScript = [divId, playerName, playerProps]\n            this.addInlineScript(\"window.isInit=true;\")\n            this.addInlineScript(\"window.YITSiteWidgets.push(\" + JSON.stringify(widgetScript) + \");\")\n        }, 0)\n    }\n\n    render() {\n        const { buttonRenderer } = this.props\n\n        return buttonRenderer({ openPopupPlayer: this.openPopupPlayer })\n    }\n}","import * as map from \"lodash/map\"\nimport * as filter from \"lodash/filter\"\nimport { separateHourFromDateAndFormatToString, getNewlinkTargetProperties } from \"widgets/widgetsUtils\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { TickerViewData } from \"../tickerAuto/interfaces\";\nimport { SiteTickerData } from \"../ticker/components/tickerComponenta\";\nimport { HyperLinkBuilder } from \"../../commonComponents/inline/hyperLink\"\nimport { CSSTransitionGroup } from \"react-transition-group\";\nrequire(\"./ynetnews_vesty_site_englishTicker.less\")\n\n\ninterface TickerAutoViewProps {\n    data: TickerViewData\n    articles: Array<any>\n\n}\n\ninterface MobileTickerState {\n    flashIndex: number\n\n}\n\nexport class MobileTickerAutoView extends React.Component<TickerAutoViewProps, MobileTickerState>  {\n    private timer = undefined;\n    constructor(props) {\n        super(props)\n        this.state = {\n            flashIndex: 0,\n\n        }\n    }\n    private getHeaderPositon = (tickerEnLength: number, tickeRuLength: number, header: Element, header1: Element) => {\n        if ((tickerEnLength !== 0 || tickeRuLength !== 0) && header !== undefined) {\n            header.classList.add(\"withTicker\")\n            header1.classList.add(\"withTicker\")\n        }\n    }\n    componentDidMount() {\n        var tickerElEn = document.getElementsByClassName('ticker-auto-english')\n        var tickerElRu = document.getElementsByClassName('ticker-auto-russian')\n        var header = document.getElementsByClassName('YnetNewsHeaderMobileComponenta')[0]\n        var header1 = document.getElementsByClassName('YnetNewsHeaderMobile ')[0]\n        this.getHeaderPositon(tickerElEn.length, tickerElRu.length, header, header1)\n    }\n    componentDidUpdate() {\n        if (this.props.articles && this.props.articles.length > 0 && this.timer === undefined) {\n            this.intervalTickerAnimation();\n        }\n\n    }\n    componentWillUnmount() {\n        const { articles } = this.props\n        clearInterval(this.timer);\n    }\n    private nextFlash = () => {\n        const { flashIndex } = this.state\n        const { articles } = this.props\n        if (flashIndex === articles.length - 1) {\n            this.setState({\n                flashIndex: 0\n            });\n\n        }\n        else {\n            this.setState({\n                flashIndex: this.state.flashIndex + 1\n            });\n        }\n\n    }\n\n    private intervalTickerAnimation = () => {\n        if (this.props.data.numberOfVisibleItems > 0) {\n            this.callTimer();\n        }\n    }\n\n    private callTimer = () => {\n        this.timer = setTimeout(() => {\n            this.nextFlash()\n            this.callTimer();\n        }, this.calculateTime() + 200)\n    }\n\n    private calculateTime = (): number => {\n        let timeInterval: number;\n\n        timeInterval = this.props.articles[this.state.flashIndex].title.length * 200\n        return timeInterval\n\n    }\n\n    public render() {\n        const { data, articles } = this.props\n        const { flashIndex } = this.state\n\n        const targetTitleLink: LinkTargetProperties = {\n            linkOpenType: \"new\",\n            lightBoxBgColor: \"\",\n            lightBoxHeight: null,\n            lightBoxOpacity: null,\n            lightBoxWidth: 0\n        }\n        let itemList = [];\n        // \n        if (articles && articles.length > 0) {\n            itemList = filter(map(articles, (article: any, index) => {\n                if (index > data.numberOfVisibleItems - 1) return null\n                let image = { url: '' }\n\n                return {\n                    title: article.title,\n                    flashDate: article.dateUpdatedOnSite,\n                    link: article.publishedLink,\n                    linkTarget: targetTitleLink,\n                    id: article.articleId\n                } as Partial<SiteTickerData>\n\n            }))\n        }\n\n        return (\n            <div className=\"MobileTickerComponenta\">\n                <div className=\"MobileTicker\">\n                    <HyperLinkBuilder className=\"tickerPageLink\" href={data.tabHref} linkTarget={getNewlinkTargetProperties()} >\n                        <span>+</span>\n                    </HyperLinkBuilder>\n                    {itemList.length > 0 && <CSSTransitionGroup transitionName=\"tickerDate\" transitionEnterTimeout={500} transitionLeave={true} transitionLeaveTimeout={500}>\n                        <div className=\"articleInfo\"\n                            key={itemList[flashIndex].id}\n                            id={itemList[flashIndex].id}>\n                            <span className=\"dateOfItem\" >\n                                {separateHourFromDateAndFormatToString(itemList[flashIndex].flashDate, { showDate: false, showHour: true })} |\n                            </span>\n                            <HyperLinkBuilder href={itemList[flashIndex].link}\n                                className=\"titleOfItem\"\n                                linkTarget={getNewlinkTargetProperties()}\n                                children={itemList[flashIndex].title} >\n                                <div style={{ animationDuration: `${this.calculateTime()}ms` }} dangerouslySetInnerHTML={{ __html: itemList[flashIndex].title }} />\n                            </HyperLinkBuilder>\n                        </div>\n                    </CSSTransitionGroup>}\n                    <HyperLinkBuilder className=\"openTicker\" href={(itemList.length == 0) ? null : itemList[flashIndex].link}\n                        linkTarget={(itemList.length == 0) ? null : itemList[flashIndex].linkTarget} />\n                </div>\n            </div>\n        )\n    }\n} \n","import * as axios from \"axios\"\nimport { TickerViewData } from \"../tickerAuto/interfaces\";\nimport { MobileTickerAutoView } from \"./mobileTickerAutoView\";\nimport { addAxiosDateTransformerSettings } from \"../../../utils/network/axiosDateTransformer\";\n\ninterface SiteTickerMobileAutoComponentaProps {\n    data: TickerViewData\n    componentaId: string\n}\n\ninterface SiteTickerMobileAutoComponentaState {\n    articles: any\n}\n\nexport class SiteTickerMobileAutoComponenta extends React.Component<SiteTickerMobileAutoComponentaProps, SiteTickerMobileAutoComponentaState>{\n    public static siteScriptName = \"SiteTickerMobileAutoComponenta\"\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            articles: []\n        }\n    }\n\n    componentWillReceiveProps(newProps) {\n        if (this.props.data !== newProps.data) {\n            this.setArticles(newProps.data)\n        }\n    }\n\n    componentDidMount() {\n        const { data } = this.props;\n        if (data.category.link.id) {\n            this.setArticles(data)\n            setInterval(() => {\n                this.setArticles(data)\n            }, 60000);\n        }\n    }\n\n    private setArticles(data) {\n        const { componentaId } = this.props\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        axiosInstance.get(`/iphone/json/api/auto_ticker/${componentaId}`)\n            .then((res: any) => {\n                this.setState({ articles: res.data.data });\n            })\n            .catch(err => console.error(\"error geting ticker data:\", err))\n    }\n\n\n    render() {\n        const { data } = this.props\n        const { articles } = this.state\n        return (\n            <MobileTickerAutoView data={data} articles={articles} />\n        )\n    }\n}","require(\"./ynet_site_plainGallery.less\")\n\nimport { SiteMedia } from \"../../../siteWidgets/siteMedia\"\nimport { SiteItemData } from \"../../../interfaces\"\nimport { GalleryViewType } from \"../../../commonComponents/base/basicMediaCarousel\"\nimport { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\"\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\"\nimport { CSSTransitionGroup } from \"react-transition-group\"\nimport { LinkedItemFieldDisplay } from \"widgets/commonDataObjects/linkedItemsFieldsDisplay\"\n\ninterface PlainGalleryProps {\n    medias: SiteItemData[]\n    width: number\n    galleryViewOption: GalleryViewType\n    videoSettings: VideoSettingsData\n    intervalTime: number\n    fieldsDisplaySettings: LinkedItemFieldDisplay\n}\n\ninterface PlainGalleryState {\n    listFocusedMediaIndex: number\n    selectedMediaIndex: number,\n    num_of_scrolls_left_available: number\n    num_of_scrolls_right_available: number\n    width_in_pixels_of_last_overflowing_item_in_row: number\n    rightOffset: number\n    videoPlayStarted: boolean\n}\n\nexport class PlainGallery extends React.Component<PlainGalleryProps, PlainGalleryState>{\n    constructor(props) {\n        super(props as PlainGalleryProps);\n        this.state = {\n            listFocusedMediaIndex: 0,\n            selectedMediaIndex: 0,\n            num_of_scrolls_left_available: null,\n            num_of_scrolls_right_available: null,\n            rightOffset: 0,\n            width_in_pixels_of_last_overflowing_item_in_row: 0,\n            videoPlayStarted: false\n        }\n    }\n\n    componentWillMount() {\n        const { medias, width } = this.props\n        if (medias.length > 0) {\n            this.setupLisScrolling(medias, width)\n        }\n    }\n    private autoGalleryInterval: any;\n    private startAutoGallery = () => {\n        const { intervalTime, medias } = this.props\n        const self = this;\n        if (typeof (intervalTime) === \"number\") {\n            if (intervalTime > 0) {\n                this.autoGalleryInterval = setInterval(() => {\n                    this.setState((prevState: PlainGalleryState, props: PlainGalleryProps) => {\n                        let newIndex = ++prevState.selectedMediaIndex;\n                        if (newIndex >= props.medias.length) newIndex = 0;\n                        return { selectedMediaIndex: newIndex }\n                    });\n                }, intervalTime * 1000);\n            }\n            else {\n                clearInterval(this.autoGalleryInterval)\n            }\n        }\n    }\n    componentDidMount() {\n        if (this.props.medias.length > 1) {\n            this.startAutoGallery();\n        }\n    }\n    public static siteScriptName = \"PlainGallery\";\n    private single_List_item_width = 142\n\n    private setupLisScrolling(medias: SiteItemData[], width: number) {\n        const num_of_items = medias.length\n        const single_media_item_width = this.single_List_item_width\n        const num_of_medias_fit_in_full_row = Math.floor(width / single_media_item_width)\n        const num_of_scrolls_left_available = Math.floor((num_of_items * single_media_item_width) / width)\n        const num_of_scrolls_right_available = 0\n        const width_in_pixels_of_last_overflowing_item_in_row = width - (single_media_item_width * num_of_medias_fit_in_full_row)\n        this.setState({ num_of_scrolls_left_available, num_of_scrolls_right_available, width_in_pixels_of_last_overflowing_item_in_row })\n    }\n\n    private handleScrollLeftClicked = () => {\n        const { width_in_pixels_of_last_overflowing_item_in_row, num_of_scrolls_left_available, num_of_scrolls_right_available, rightOffset } = this.state\n        const { width, medias } = this.props\n\n        if (num_of_scrolls_left_available === 1) {\n            const num_of_medias_fit_in_full_row = Math.floor(width / this.single_List_item_width)\n            const rightOffse = (this.single_List_item_width * (medias.length - num_of_medias_fit_in_full_row)) - width_in_pixels_of_last_overflowing_item_in_row\n            this.setState({\n                rightOffset: - rightOffse,\n                num_of_scrolls_left_available: num_of_scrolls_left_available - 1 > 0 ? num_of_scrolls_left_available - 1 : 0,\n                num_of_scrolls_right_available: num_of_scrolls_right_available + 1\n            })\n            return null\n        }\n        if (num_of_scrolls_left_available > 0) {\n            this.setState({\n                rightOffset: rightOffset - width,\n                num_of_scrolls_left_available: num_of_scrolls_left_available - 1 > 0 ? num_of_scrolls_left_available - 1 : 0,\n                num_of_scrolls_right_available: num_of_scrolls_right_available + 1\n            })\n        }\n    }\n\n    private handleScrollRightClicked = () => {\n        const { num_of_scrolls_right_available, num_of_scrolls_left_available, width_in_pixels_of_last_overflowing_item_in_row, rightOffset } = this.state\n        const { width } = this.props\n        if (num_of_scrolls_right_available === 1) {\n            this.setState({\n                rightOffset: 0,\n                num_of_scrolls_left_available: num_of_scrolls_left_available + 1,\n                num_of_scrolls_right_available: num_of_scrolls_right_available - 1 > 0 ? num_of_scrolls_right_available - 1 : 0\n            })\n            return null\n        }\n        if (num_of_scrolls_right_available > 0) {\n            this.setState({\n                rightOffset: rightOffset + width,\n                num_of_scrolls_left_available: num_of_scrolls_left_available + 1,\n                num_of_scrolls_right_available: num_of_scrolls_right_available - 1 > 0 ? num_of_scrolls_right_available - 1 : 0\n            })\n        }\n    }\n    private showPrevMedia = (medias) => {\n        this.setState(state => state.selectedMediaIndex > 0 ? { selectedMediaIndex: state.selectedMediaIndex - 1 } : { selectedMediaIndex: medias.length - 1 })\n        this.stopAutoGallery();\n    }\n    private showNextMedia = (medias) => {\n        this.setState(state => state.selectedMediaIndex < medias.length - 1 ? { selectedMediaIndex: state.selectedMediaIndex + 1 } : { selectedMediaIndex: 0 })\n        this.stopAutoGallery();\n    }\n    private stopAutoGallery = () => {\n        if (this.props.intervalTime !== 0) {\n            clearInterval(this.autoGalleryInterval)\n        }\n\n    }\n    private onSelectMedia = (e, index: number) => {\n        this.stopAutoGallery();\n        const isVideo = this.props.medias[this.state.selectedMediaIndex].media.mediaType === \"MEDIA_VIDEO\"\n        // const videoPlayStarted = this.state.selectedMediaIndex === index && isVideo\n        this.setState({ selectedMediaIndex: index, videoPlayStarted: false })\n    }\n\n    private handleOnVideoPlayStarted = () => {\n        this.setState({ videoPlayStarted: true })\n    }\n    private handleOnVideoPlayStopped = () => {\n        this.setState({ videoPlayStarted: false })\n    }\n\n    componentWillReceiveProps(nextProps: PlainGalleryProps) {\n        if (nextProps.medias.length > 0) {\n            this.setupLisScrolling(nextProps.medias, nextProps.width)\n        }\n    }\n\n    render() {\n        const { medias, width, galleryViewOption, videoSettings, fieldsDisplaySettings } = this.props\n        const { listFocusedMediaIndex, selectedMediaIndex, num_of_scrolls_right_available, num_of_scrolls_left_available, rightOffset, videoPlayStarted } = this.state\n        const { isTitleLinkVisible } = fieldsDisplaySettings\n        const noTitleLink = !medias[selectedMediaIndex].titleLink\n        const mediaHeight = Math.floor(width / 1.77)\n\n        if (medias.length === 0) { return null }\n        const selectedDetailsStyle = { zIndex: 1 }\n        const selectedMediaItem = medias[selectedMediaIndex]\n        return (\n            <span>\n                <div className=\"gallerySelectedMedia\" >\n\n                    {selectedMediaItem && (videoPlayStarted === false || null) &&\n                        <div className=\"selectedMediaDetails\" style={selectedDetailsStyle}>\n                            {!noTitleLink && isTitleLinkVisible ?\n                                <HyperLinkBuilder\n                                    href={selectedMediaItem.titleLink}\n                                    linkTarget={selectedMediaItem.titleTargetLink}\n                                    children={selectedMediaItem.title} >\n                                    <div className=\"title\"> <div dangerouslySetInnerHTML={{ __html: selectedMediaItem.title }} /> <span className=\"linkTo\">{__(\"Full Story\")}</span></div>\n                                </HyperLinkBuilder> :\n                                <div className=\"title\" dangerouslySetInnerHTML={{ __html: selectedMediaItem.title }} />}\n                            <div className=\"credit\">{selectedMediaItem.media.credit} </div>\n                        </div>}\n\n                    <div className=\"galleryDroppedImage\" style={{ height: mediaHeight }}>\n                        {galleryViewOption === \"arrows\" && <button className=\"scrollRightBtn galleryArrow\" title=\"scroll right\"\n                            aria-label=\"scroll right\"\n                            onClick={() => this.showPrevMedia(medias)} />}\n                        <CSSTransitionGroup transitionName=\"media\" transitionEnterTimeout={500} transitionLeave={false} >\n                            <SiteMedia\n                                onPlayStarted={() => this.handleOnVideoPlayStarted()}\n                                onPlayStopped={() => this.handleOnVideoPlayStopped()}\n                                data={selectedMediaItem.media} videoSettings={videoSettings} key={selectedMediaItem.media.url} width={width} height={mediaHeight} onSelect={this.stopAutoGallery} />\n                        </ CSSTransitionGroup >\n                        {galleryViewOption === \"arrows\" && <button className=\"scrollLeftBtn galleryArrow\" title=\"scroll left\" aria-label=\"scroll left\" onClick={() => this.showNextMedia(medias)} />}\n                    </div>\n                </div>\n\n                {galleryViewOption === \"bar\" && <div className=\"mediaListContainer\">\n                    {num_of_scrolls_right_available !== 0 && <button className=\"scrollRightBtn galleryArrow\" title=\"scroll right\" aria-label=\"scroll right\" onClick={(e) => this.handleScrollRightClicked()} />}\n                    {num_of_scrolls_left_available !== 0 && <button className=\"scrollLeftBtn galleryArrow\" title=\"scroll left\" aria-label=\"scroll left\" onClick={(e) => this.handleScrollLeftClicked()} />}\n                    <div className=\"mediaListWrapper\" style={{ \"marginRight\": rightOffset }} >\n                        {medias.map((item, index) =>\n                            <div key={`galleryItem_${item.media.mediaId}`} onClick={(e) => this.onSelectMedia(e, index)} onMouseOver={(e) => this.setState({ listFocusedMediaIndex: index })} className=\"mediaWrapper\">\n                                {listFocusedMediaIndex !== index && <div className=\"unselectedOverlay\" onClick={(e) => this.onSelectMedia(e, index)}> </div>}\n                                {item.media.mediaType !== \"MEDIA_VIDEO\" ? <span className=\"cameraImgIcon\"></span> : <span className=\"iconOnPoster small\"></span>}\n                                {item.media.mediaType === \"MEDIA_VIDEO\" && <img className=\"lisPreviewImage\" src={item.media.poster} />}\n                                {item.media.mediaType === \"MEDIA_IMAGE\" && <img className=\"lisPreviewImage\" title={item.media.title} aria-hidden={item.media.ariaHidden} alt={item.media.alt} src={item.media.url} />}\n                            </div>)}\n                    </div>\n                </div>}\n            </span>\n        )\n    }\n}\n","\n\ninterface GoogleSearchComponentaProps {\n    placeholder: string\n    link: string\n    disableInWcm: string\n}\n\nexport class GoogleSearchComponenta extends React.Component<GoogleSearchComponentaProps> {\n\n    public static siteScriptName = \"GoogleSearchComponenta\";\n\n    private inputRef;\n\n    constructor(props: GoogleSearchComponentaProps) {\n        super(props);\n    }\n\n    handleOnSerach = (event: React.MouseEvent | React.KeyboardEvent) => {\n\n\n\n        let searchLink;\n        if ((event as React.KeyboardEvent).key === \"Enter\") {\n            searchLink = `${this.props.link}?q=${((event.target as HTMLInputElement).value)}`;\n            window.open(searchLink);\n        }\n\n        if (event.type === \"click\") {\n            searchLink = `${this.props.link}?q=${this.inputRef.value}`;\n            window.open(searchLink);\n        }\n    }\n\n\n    render() {\n        const { placeholder, disableInWcm } = this.props;\n\n        return (\n            <div className=\"google-search-contianer-componenta\" style={{ pointerEvents: disableInWcm }}>\n                <input ref={ref=>this.inputRef = ref} onKeyDown={(event) => this.handleOnSerach(event as React.KeyboardEvent)} alt=\"חיפוש\" className=\"google-search\" aria-label=\"חיפוש\" type=\"text\" placeholder={placeholder} />\n                <div onClick={(event) => this.handleOnSerach(event as React.MouseEvent)} className=\"search-icon\"></div>\n            </div>\n        )\n    }\n}\n","import { InfinityHeadlinesItemSlot } from \"./infinityHeadlinesItemSlot\"\nimport * as InfiniteScroll from \"react-infinite-scroll-component\"\nimport { SiteInfinityHeadlinesData } from \"./InfinityHeadlinesView\"\n\n\ninterface InfinityHeadlinesListProps {\n    itemList: SiteInfinityHeadlinesData[]\n    fetchMoreHeadlines: () => void\n    height: number\n    dataLength: number\n    isCategoryVisible?: boolean\n}\n\nexport class InfinityHeadlinesList extends React.Component<InfinityHeadlinesListProps, {}>{\n\n    public render() {\n        const { itemList, fetchMoreHeadlines, dataLength, isCategoryVisible } = this.props\n\n\n        return (\n            <div className=\"slotList\" >\n                <InfiniteScroll\n                    dataLength={dataLength}\n                    next={fetchMoreHeadlines}\n                    hasMore={true}\n                    loader={<h4>Loading...</h4>}\n                >\n                    {itemList.map((item, i) =>\n                        <InfinityHeadlinesItemSlot\n                            key={i}\n                            article={item}\n                            {...this.props}\n                        />)}\n\n                </InfiniteScroll>\n            </div>\n        )\n    }\n}","import * as filter from \"lodash/filter\"\nimport * as map from \"lodash/map\"\nimport { LinkProperties } from \"global/components/linkSettings/interfaces\"\nimport { InfinityHeadlinesViewData } from \"../interfaces\"\nimport { InfinityHeadlinesList } from \"./InfinityHeadlinesList\"\nimport { ImageDetails } from \"images/interfaces\"\nimport { ArticleExtraData } from \"../../../../articlePage/stateInterfaces\"\n\n\nexport interface SiteInfinityHeadlinesData {\n    articleId: string\n    author: string\n    categoryName: string\n    dateUpdatedOnSite: Date,\n    title: string,\n    link: string\n    promotionImageDetails: ImageDetails\n    hasVideo: boolean\n    publishedLink: string\n}\n\ninterface InfinityHeadlinesViewProps {\n    height: number\n    articles: ArticleExtraData[]\n    fetchMoreHeadlines: () => void\n    isCategoryVisible?: boolean\n}\n\nexport class InfinityHeadlinesView extends React.Component<InfinityHeadlinesViewProps, {}>  {\n\n    public render() {\n        const { height, articles, fetchMoreHeadlines, isCategoryVisible } = this.props\n\n\n        let itemList = [];\n\n        if (Object.keys(articles).length > 0) {\n            itemList = filter(map(articles, (article: ArticleExtraData, index) => {\n                return {\n                    articleId: article.articleId,\n                    author: article.author,\n                    categoryName: article.category.textToShow,\n                    articlePublishDate: article.launchDate,\n                    articleUpdateDate: article.dateUpdatedOnSite,\n                    title: article.title,\n                    dateUpdatedOnSite: article.dateUpdatedOnSite,\n                    link: article.publishedLink,\n                    promotionImageDetails: article.promotionImageDetails,\n                    hasVideo: article.hasVideo,\n                    publishedLink: article.publishedLink\n                } as SiteInfinityHeadlinesData\n            }))\n        }\n\n        return (\n            <div className={\"InfinityHeadlinesComponenta StripBlazerComponenta\"}>\n                <InfinityHeadlinesList\n                    dataLength={articles.length}\n                    itemList={itemList}\n                    fetchMoreHeadlines={fetchMoreHeadlines}\n                    height={height}\n                    isCategoryVisible={isCategoryVisible}\n                />\n            </div>\n        )\n    }\n} ","import { isWcmEditor } from \"config/serverConfig\"\nimport { calculateAutomaticComponentaUrl } from \"widgets/widgetsUtils\"\nimport * as apiUrls from \"config/apiUrls\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { getImgAlt, isAriaHidden, getImgTitle } from \"../../../widgetsUtils\"\nimport { SiteInfinityHeadlinesData } from \"./InfinityHeadlinesView\"\nimport { LinkedItemFieldDisplay } from \"../../../commonDataObjects/linkedItemsFieldsDisplay\";\n\ninterface InfinityHeadlinesItemSlotProps {\n    article: Partial<SiteInfinityHeadlinesData>\n    isCategoryVisible?: boolean\n}\n\nexport class InfinityHeadlinesItemSlot extends React.Component<InfinityHeadlinesItemSlotProps, {}>{\n    static defaultProps = { isCategoryVisible: true }\n\n    private getIcon = (hasVideo: boolean) => {\n        if (hasVideo) return \"video\"\n        else return \"none\"\n    }\n    public render() {\n        const { article, isCategoryVisible } = this.props;\n        const { categoryName, title, author, promotionImageDetails } = article\n        const bgColorStyle = {\n            backgroundColor: \"#f2f1f2\"\n        }\n        const titleStyle = {\n            color: \"#000000\",\n        }\n\n        if (!isWcmEditor()) return (\n            <a href={calculateAutomaticComponentaUrl(article)} className=\"slotView\">\n                <div className=\"mediaArea\" style={bgColorStyle}>\n                    <div className=\"MediaCarousel\" style={{ width: 332, height: 187 }}>\n                        <img src={apiUrls.getImageUrl(promotionImageDetails, { w: 332, h: 187 })} style={{ width: 332, height: 187 }} alt={getImgAlt(promotionImageDetails)} aria-hidden={isAriaHidden(promotionImageDetails)} title={getImgTitle(promotionImageDetails)} />\n                        <SlotIconDisplay itemId={article.articleId} icon={this.getIcon(article.hasVideo)} iconClassName=\"medium\" isIconVisible={article.hasVideo} />\n                    </div>\n                </div>\n                <div className=\"textDiv\" style={bgColorStyle}>\n                    {isCategoryVisible && <div className=\"categoryName\"\n                        style={{ color: \"#4681f5\", borderBottom: \"2px solid #4681f5\" }}>\n                        {categoryName}\n                    </div>}\n\n                    <div className=\"slotTitle\">\n                        <span style={titleStyle}>{title}</span>\n                    </div>\n                    {author.length > 0 && <div className=\"moreDetails\">\n                        <span className=\"authorIcon\" />\n                        <span>{author} </span></div>}\n                </div>\n            </a>\n\n        )\n        else return null\n    }\n}","import * as axios from \"axios\"\nimport { InfinityHeadlinesViewData } from \"../interfaces\"\nimport { InfinityHeadlinesView } from \"./InfinityHeadlinesView\"\nimport { ArticleExtraData } from \"../../../../articlePage/stateInterfaces\"\nimport { addAxiosDateTransformerSettings } from \"../../../../utils/network/axiosDateTransformer\";\n\ninterface SiteInfinityHeadlinesComponentaProps {\n    categoryId: string\n    height?: number\n    componentaId?: string\n}\n\ninterface SiteInfinityHeadlinesComponentaState {\n    articles: ArticleExtraData[]\n    pageNumber: number\n}\n\nexport class SiteInfinityHeadlinesComponenta extends React.Component<SiteInfinityHeadlinesComponentaProps, SiteInfinityHeadlinesComponentaState>{\n    public static siteScriptName = \"SiteInfinityHeadlinesComponenta\"\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            articles: [],\n            pageNumber: 0\n        }\n    }\n\n    componentDidMount() {\n        const { categoryId } = this.props;\n        if (categoryId) {\n            this.setArticles()\n        }\n    }\n\n    private setArticles = () => {\n        const { componentaId } = this.props\n        const { pageNumber, articles } = this.state\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        axiosInstance.get(`/api/blazer_auto_headlines/${componentaId}/${pageNumber}`)\n            .then((res: any) => {\n                this.setState(\n                    {\n                        articles: [...articles, ...res.data.data],\n                        pageNumber: pageNumber + 1\n                    }\n                );\n            })\n            .catch(err => console.error(\"error geting headline data:\", err))\n    }\n\n    render() {\n        const { categoryId, height } = this.props\n        const { articles } = this.state\n        return (\n            <InfinityHeadlinesView height={height} articles={articles} fetchMoreHeadlines={this.setArticles} />\n        )\n    }\n}","require(\"./menta_laisha_site_header-mobile.less\")\n\nimport * as classNames from \"classnames\"\nimport * as map from \"lodash/map\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\";\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\n\nexport interface laishaHeaderMenuItem {\n    title: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\n\ninterface laishaHeaderMenuProps {\n    items: laishaHeaderMenuItem[]\n    id?: string\n    parentSiteLogoUrl: string\n    parentSiteLogoLink: string\n    parentSiteLogoTarget?: any\n    parentSiteLogoTitle?: any\n    isOpened?: boolean\n    onClose?: () => void\n    instagramLink: string\n    facebookLink: string\n    contactusLink: string\n}\n\n\nexport class LaishaSubChannelMenuMobile extends React.Component<laishaHeaderMenuProps, {}>{\n\n    render() {\n        const { items, instagramLink, facebookLink, contactusLink, parentSiteLogoLink, parentSiteLogoTarget, isOpened, onClose, parentSiteLogoTitle } = this.props     \n        let LaishaMobileHeaderContainer = classNames(\"LaishaMobileHeaderContainer\", { \"opened\": isOpened === true, \"closed\": isOpened === false })\n        let logoImageUrl = \"/Common/images/y-logo.png\"\n        \n        return (\n            <div className={LaishaMobileHeaderContainer} style={{ direction: \"rtl\" }}>\n                <div className=\"closeDivArea\" onClick={onClose} />\n                <div className=\"MobileMenu\" id=\"menu\"  >\n                    <div className=\"menuHeader\">\n                        <div className=\"menuContent\">\n                            <ul className=\"LaishaNavList\" >\n                                {map(items, (item, i) => {\n                                    return (\n                                        <li key={i} className={\"menuItem\"}>\n                                            <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} >\n                                                <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                            </HyperLinkBuilder>\n                                        </li>\n                                    )\n                                }\n                                )}\n                            </ul>\n\n                            {contactusLink ?\n                                <div className=\"social contactus\">\n                                    <div className=\"icons\">\n                                        <a href={contactusLink} target=\"_blank\">\n                                            <div className=\"emailIcon\" />\n                                        </a>\n                                    </div>\n                                    <span className=\"contact\"> צור קשר </span>\n                                </div>\n                                :\n                                null\n                            }    \n\n                            <div className=\"social\">\n                                <span>עקבו אחרינו</span>\n                                <div className=\"icons\">\n                                    <a href={instagramLink} target=\"_blank\">\n                                        <div className=\"instagramIcon\" />\n                                    </a>\n                                    <span className=\"vl\"></span>\n                                    <a href={facebookLink} target=\"_blank\">\n                                        <div className=\"facebookIcon\" />\n                                    </a>\n                                </div>\n                            </div>\n\n\n\n                            <HyperLinkBuilder className=\"mainSiteLogo\" href={parentSiteLogoLink} linkTarget={parentSiteLogoTarget} rel=\"nofollow\">\n                                <SiteSimpleImage src={logoImageUrl} title={parentSiteLogoTitle} />\n                                <span>    ראשי</span>\n\n                            </HyperLinkBuilder>\n                        </div>\n                    </div>\n                </div>\n\n\n            </div>\n        )\n    }\n}\n\n","require(\"./menta_laisha_site_header-mobile.less\")\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\";\nimport { LaishaSubChannelMenuMobile } from \"./laishaMobileSubChannelHeader\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport { getImagesSrc } from \"../../../../commonComponents/inline/siteSimpleImage\"\n\nexport interface laishaHeaderMenuItem {\n    title: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\n\ninterface laishaHeaderMenuProps {\n    items: laishaHeaderMenuItem[]\n    id?: string\n    siteLogoUrl: string\n    parentSiteLogoUrl: string\n    siteLogoLink: string\n    parentSiteLogoLink: string\n    parentSiteLogoTarget?: any\n    siteLogoTarget?: any\n    siteLogoTitle?: any\n    parentSiteLogoTitle?: any\n    instagramLink: string\n    facebookLink: string\n    contactusLink: string\n    imagesDomain: string\n}\n\ninterface MobileLaishaHeaderState {\n    isOpened: boolean\n}\n\nexport class MobileLaishaHeader extends React.Component<laishaHeaderMenuProps, MobileLaishaHeaderState>{\n    public static siteScriptName = \"MobileLaishaHeader\";\n    constructor(props) {\n        super(props)\n        this.state = {\n            isOpened: null\n        }\n    }\n\n    private openMenu = () => {\n        this.setState({ isOpened: true })\n        document.body.style.overflow = \"hidden\";\n\n    }\n    private closeMenu = () => {\n        this.setState({ isOpened: false })\n        document.body.style.overflow = \"auto\";\n    }\n\n    render() {\n\n        const { items, instagramLink, facebookLink, contactusLink, siteLogoUrl, parentSiteLogoUrl, siteLogoLink, parentSiteLogoTitle, siteLogoTitle,\n            parentSiteLogoLink, siteLogoTarget, parentSiteLogoTarget, imagesDomain } = this.props\n        const { isOpened } = this.state\n        return (\n            <div className={`MobileLaishaHeader LaishaHeaderComponenta`}  >\n                <div className=\"topHeader\">\n                    {!isOpened && <button className=\"HamBtn\" onClick={this.openMenu} />}\n                    {isOpened && <button className=\"hamMenuClsBtn\" onClick={this.closeMenu} />\n                    }\n\n                    <HyperLinkBuilder className=\"mainSiteLogo\" href={siteLogoLink} linkTarget={siteLogoTarget} rel=\"nofollow\">\n                        <SiteSimpleImage src={getImagesSrc(imagesDomain, siteLogoUrl)} title={siteLogoTitle} />\n                    </HyperLinkBuilder>\n\n                    <a href=\"javascript:history.back()\">\n                        <div className=\"arrowBack\" />\n                    </a>\n\n\n                </div>\n                <LaishaSubChannelMenuMobile\n                    items={items}\n                    parentSiteLogoUrl={parentSiteLogoUrl}\n                    parentSiteLogoLink={parentSiteLogoLink}\n                    parentSiteLogoTarget={parentSiteLogoTarget}\n                    parentSiteLogoTitle={parentSiteLogoTitle}\n                    isOpened={isOpened}\n                    onClose={this.closeMenu}\n                    instagramLink={instagramLink}\n                    facebookLink={facebookLink}\n                    contactusLink={contactusLink}\n                />\n\n            </div>\n        )\n    }\n}\n\n\n\n","\nimport { HyperLinkBuilder, SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport { Group } from \"./siteMagazineHeadeMutamComponenta\";\nimport { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\n\n\n\n\ninterface MenuPopUpProps {\n    groupsWithItems: Group[]\n    isVisible: boolean\n    ynetSearchPageLink: string\n    linkToInst: string\n    linkToFb: string\n    followUsText: string\n    layout?: string\n    domain?: string\n}\ninterface menuPopUpState {\n    userInput: string\n}\n\nexport class HeaderScrolledMenu extends React.Component<MenuPopUpProps, menuPopUpState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            userInput:\"\"\n        }\n    }\n\n    private updateInputValue = (evt) => {\n        this.setState({ userInput: evt.target.value });\n    }\n    private search = () => {\n        const { userInput: typedUserInput } = this.state;\n\n        if (!typedUserInput) {\n            return\n        }\n\n        let urlHead = \"\"\n        let userInput = \"\"\n        let fullUrl = \"\"\n        let site = \"\"\n\n\n        urlHead = 'https://www.google.com/search?ynet_q='\n        userInput = typedUserInput\n        site = `&q=site:www.ynet.co.il/+${typedUserInput}`\n        fullUrl = urlHead + userInput + site\n\n        fullUrl\n        window.open(fullUrl, '_blank');\n    }\n\n\n    private handleInputKeyPress = (evt: React.KeyboardEvent) => {\n        if (evt.key === \"Enter\") {\n            this.search();\n        }\n\n    }\n    \n\n    render() {\n        const { groupsWithItems, isVisible, ynetSearchPageLink, linkToFb, linkToInst, followUsText, layout, domain } = this.props\n        const { userInput } = this.state\n        const isVisibleClassName = isVisible ? \"opened\" : \"closed\";\n        const isfollowUsLinks = linkToFb || linkToInst\n        return (\n            <div className={`HeaderScrolledMenu  ${isVisibleClassName}`} role=\"sub-navigation\" aria-label=\"Sub Menu\">\n              \n                        <div className=\"searchArea\">\n                            <button className=\"srhBtn\" onClick={() => this.handleInputKeyPress} />\n                            <input\n                                alt=\"חיפוש\"\n                                className=\"mutamSrchBox\"\n                                id=\"mutamSrchBox\"\n                                aria-label=\"חיפוש\"\n                                type=\"text\"\n                                value={userInput}\n                                placeholder=\"חיפוש\"\n                                onChange={this.updateInputValue}\n                                onKeyPress={this.handleInputKeyPress}\n\n                            />\n                        </div>\n                 \n               \n           \n\n                <div className=\"linksGroups\">\n                  \n                    {_.map((groupsWithItems), (item: Group, index: number) =>\n                        <div className=\"group\" key={index}>\n                            <div className=\"groupTitle\" dangerouslySetInnerHTML={{ __html: item.groupName }} />\n\n                            <ul className=\"groupList\">\n                                {_.map((item.items), (subItem: HamburgerMenuItems, index: number) =>\n                                    <li key={index}><HyperLinkBuilder href={subItem.link} linkTarget={subItem.linkTarget} >\n                                        <span dangerouslySetInnerHTML={{ __html: subItem.title }} />\n                                    </HyperLinkBuilder></li>\n                                )}\n                            </ul>\n                        </div>\n                    )}\n                    {isfollowUsLinks && <div className=\"followUsLinks\">\n                        {followUsText !== \"\" && <div className=\"followUs\">{followUsText}</div>}\n                        {linkToFb !== \"\" && <SimpleLinkRenderer href={linkToFb} target=\"_blank\" className=\"mediaIcon linkToFb\" />}\n                        {linkToInst !== \"\" && <SimpleLinkRenderer href={linkToInst} target=\"_blank\" className=\"mediaIcon linkToInst\" />}\n\n                    </div>}\n                    <SimpleLinkRenderer href={\"/\"}  rel=\"nofollow\" className=\"ylogo\"  alt={\"ynet\"} title={\"ynet\"} aria-hidden=\"true\" aria-label=\"Ynet Logo\"/>\n\n                \n                </div>\n\n            </div>)\n    }\n}","import { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { Logo } from \"./siteMagazineHeaderComponenta\";\n\ninterface MainNavProps {\n    mainNavItems: HamburgerMenuItems[]\n    onToggleMenu: () => void\n    isOpened: boolean\n    isSticky: boolean\n    logoData: Logo\n    onToggleSearch: () => void\n}\n\nexport class MainNavHeaderComponenta extends React.Component<MainNavProps, {}> {\n\n    private getSelectedClassName = (isSelected: boolean) => {\n        if (isSelected) {\n            return \"selected\"\n        }\n    }\n\n    render() {\n        const { mainNavItems, isOpened, onToggleMenu, isSticky, logoData, onToggleSearch } = this.props\n\n        return (\n            <div className=\"mainNav\" role=\"navigation\" aria-label=\"Main Menu\">\n                {isSticky &&\n                    <HyperLinkBuilder\n                        href={logoData.link}\n                        linkTarget={logoData.linkTarget}\n                        ariaLabel={logoData.mediaTitle}\n                        className=\"magazineLogoInSticky\"\n                        style={{ \"--logoImage\": `url(${logoData.url})` }}\n                    />\n                }\n\n                <div className=\"navList\">\n                    {_.map((mainNavItems), (item: HamburgerMenuItems, index: number) => <div key={index} >\n                        <HyperLinkBuilder\n                            href={item.link}\n                            linkTarget={item.linkTarget}\n                            style={{ color: item.color }}\n                            className={this.getSelectedClassName(item.isSelected)}\n                        >\n                            <span dangerouslySetInnerHTML={{ __html: item.title }} />\n                        </HyperLinkBuilder>\n                    </div>)}\n                </div>\n\n                <div onClick={onToggleMenu} id=\"wcm_MenuDisplay\">\n                    <span className=\"moreBtn\" id=\"wcm_MenuDisplay_moreBtn\">עוד\n                        <span className={isOpened ? \"moreIcon toClose\" : \"moreIcon toOpen\"} />\n                    </span>\n                </div>\n\n                {isSticky &&\n                    <div onClick={onToggleSearch} id=\"wcm_SearchDisplay\">\n                        <span className=\"searchIcon\" id=\"wcm_MenuDisplay_searchIcon\"></span >\n                    </div>\n                }\n            </div>\n        )\n    }\n}","import { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport * as throttle from \"lodash/throttle\"\nimport * as classNames from \"classnames\"\nimport { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { openWhatsAppShare, analyticsPushFunc } from \"../../../../widgetsUtils\"\nimport { FontSlider } from \"../../../ynet1280/ynetHeader/components/mutamComponents/fontSliderComponent\"\nimport { toggleSpotImPopUp } from \"../../../article/componentas/articleSocialShare1280Component/articleSocialShareNew1280\";\nimport { HeaderScrolledMenu } from \"./headerScrolledMenu\";\n\ninterface MenuState {\n    isOpened: boolean\n    isSticky: boolean\n    isFontMenuOpen: boolean\n    fixed: boolean\n\n}\ninterface HeaderProps {\n    groupsWithItems: Group[]\n    logoData: Logo\n    ynetSearchPageLink: string\n    linkToFb: string\n    linkToInst: string\n    isArticle: boolean\n    layout?: string\n    domain: string\n    followUsText: string\n}\nexport interface Group {\n    groupId: string\n    groupName: string\n    items: HamburgerMenuItems[]\n}\nexport interface Logo {\n    url: string\n    mediaTitle: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\n\n\nexport class SiteMagazineHeaderMutamComponenta extends React.Component<HeaderProps, MenuState> {\n    public static siteScriptName = \"SiteMagazineHeaderMutamComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            isOpened: false,\n            isSticky: false,\n            isFontMenuOpen: false,\n            fixed: false\n        }\n    }\n    private toggleMenu = (isOpened:boolean) => {\n        this.setState({ isOpened: isOpened })\n    }\n    //\n\n    private stickyBar() {\n        let element = document.getElementById('ArticleBodyComponent');\n        const headerContainerPos = document.querySelector(\".magazines-header\").getBoundingClientRect().top;\n        const headerPos = document.querySelector(\"#MagazineHeaderMutam\").getBoundingClientRect().top;\n        let isSticky = element ? headerContainerPos + 40 < 0 : headerPos + 40 < 0;\n\n        if (isSticky) {\n            this.setState({ isSticky: true });\n\n\n        } else {\n            this.setState({ isSticky: false })\n        }\n\n        let winScroll = document.body.scrollTop || document.documentElement.scrollTop;\n\n\n        if (element) {\n            let headerElRect = document.querySelector(\".ArticleHeaderMobileComponent\") && document.querySelector(\".ArticleHeaderMobileComponent\").getBoundingClientRect();\n            if (!headerElRect) {\n                return\n            }\n            let scrolled = (winScroll / (element.offsetTop + element.offsetHeight - headerElRect.height)) * 100;\n            if (scrolled < 100) {\n                document.getElementById(\"progress-bar\").style.width = scrolled + \"%\";\n\n            } else {\n                document.getElementById(\"progress-bar\").style.width = \"100%\";\n            }\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(\"scroll\", this.throttledScrollHandler())\n        this.props.isArticle && this.setfontSize();\n    }\n    private setfontSize = () => {\n        if (localStorage && localStorage.fontSize) {\n            let size = localStorage.fontSize;\n            document.documentElement.style.fontSize = size * parseInt(getComputedStyle(document.documentElement).fontSize) + \"px\";\n        }\n\n    }\n\n\n\n    componentWillUnmount() {\n\n        document.removeEventListener(\"scroll\", this.throttledScrollHandler())\n\n    }\n    private throttledScrollHandler = () => throttle(() => this.stickyBar(), 200)\n\n    private openShare = async () => {\n        const { domain } = this.props;\n        const current_url = `${window.location.href}?utm_source=${domain}&utm_medium=social&utm_campaign=general_share`;\n        const shareData = { url: current_url }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n    private handleCommentsPopupVisability = () => {\n        if (typeof window !== \"undefined\") {\n            if (window.enableSpotIm) {\n                const commentsPopUp = document.querySelector('.spotimWrapper');\n                if (commentsPopUp) {\n                    toggleSpotImPopUp(commentsPopUp)\n                }\n            }\n            else {\n                window.handleCommentsPopupVisability && window.handleCommentsPopupVisability();\n            }\n        }\n    }\n\n    private showCommentsBtn = () => {\n        return typeof window !== \"undefined\" && (window.handleCommentsPopupVisability || window.enableSpotIm);\n\n    }\n    private handleFontSizePopupVisability = () => {\n        this.setState({ isFontMenuOpen: true })\n    }\n    private handleFontSizePopupClose = () => {\n        this.setState({ isFontMenuOpen: false })\n    }\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`] && window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n\n    render() {\n        const { groupsWithItems, logoData, followUsText, ynetSearchPageLink, linkToFb, linkToInst, isArticle, layout, domain } = this.props\n        const { isSticky, isFontMenuOpen } = this.state\n        const numOfComment = typeof window !== \"undefined\" && window.handleCommentsPopupVisability && window.wcmNumOfComments && window.wcmNumOfComments;\n        const hidden = isSticky ? \"hidden\" : \"\"\n        const tooltipHidden = !isSticky ? \"hidden\" : \"\";\n        const url = typeof window !== \"undefined\" && isArticle && window.location.href;\n        const isPianoLogin = typeof window != \"undefined\" && window.YitPaywall && window.YitPaywall.isPianoLogin;\n\n        /*if (isArticle) {\n            return <div className={classNames(\"MagazineHeaderMutam Article\", { \"notStickyHeader\": !isSticky })} id=\"MagazineHeaderMutam\">\n                <div className=\"progress-container\">\n                    <div className=\"progress-bar\" id=\"progress-bar\"></div>\n                </div>\n                <a href={\"javascript:history.back()\"} className=\"goBack\" title=\"back\" />\n                {!isSticky &&\n                    <>\n                        <div className={`logo`}>\n                            <HyperLinkBuilder href={logoData.link} linkTarget={logoData.linkTarget} ariaLabel={logoData.mediaTitle}>\n                                <div className=\"darkModeLogo\" aria-label=\"Page Logo\" title=\"לוגו אתר\" alt=\"לוגו אתר\"></div>\n                            </HyperLinkBuilder>\n\n                        </div>\n                        <button className=\"topBtns mobileShareBtn\" onClick={this.openShare} title={\"share\"} />\n                    </>}\n                <div className={`btnTooltips ${tooltipHidden}`} >\n                    <button className=\"topBtns fontSizeMenuOpen\" onClick={this.handleFontSizePopupVisability}></button>\n                    <button className=\"topBtns accessibiltyBtn\" onClick={this.clickAcessibilityBtn} title=\"אתר נגיש\" aria-labelledby=\"INDbtnTooltip\" accessKey=\"m\"></button>\n                    <div className=\"topBtns whatsAppShareBtn\" onClick={() => openWhatsAppShare(url, () => analyticsPushFunc(\"Whatsapp\", \"Article\"), \"Article Top\")}></div>\n                    <button className=\"topBtns mobileShareBtn\" onClick={this.openShare} title={\"share\"} />\n                    <button style={{ display: this.showCommentsBtn() ? \"block\" : \"none\" }} className=\"topBtns commentsOpen\" id=\"commentButtonInHeader\" onClick={this.handleCommentsPopupVisability}>{numOfComment}</button>\n\n                </div>\n                {isFontMenuOpen && <FontSlider onClose={this.handleFontSizePopupClose} lang=\"he\" />}\n            </div>\n        } else\n           */ return (\n                <div className={classNames(\"MagazineHeaderMutam\")} id=\"MagazineHeaderMutam\" >\n                    <div className=\"topAreaHeader\">\n                    <button className={`menuHamburger ${this.state.isOpened ? \"openedMenu\" : \"\"}`} onClick={()=>this.toggleMenu(!this.state.isOpened)} />\n                   \n                            <HyperLinkBuilder className={`logo`} href={logoData.link} linkTarget={logoData.linkTarget} ariaLabel={logoData.mediaTitle}>\n                                <img  aria-label=\"Page Logo\" title={logoData.mediaTitle} alt={logoData.mediaTitle} src={logoData.url} />\n                            </HyperLinkBuilder>\n\n\n                    </div>\n\n               <HeaderScrolledMenu\n                        groupsWithItems={groupsWithItems}\n                        isVisible={this.state.isOpened}\n                        ynetSearchPageLink={ynetSearchPageLink}\n                        linkToFb={linkToFb}\n                        linkToInst={linkToInst}\n                        followUsText={followUsText}\n                        layout={layout}\n                        domain={domain}\n                    />\n                </div>\n\n            )\n\n    }\n}","import { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder, SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport * as throttle from \"lodash/throttle\"\nimport * as classNames from \"classnames\"\nimport { MenuPopupComponenta } from \"../../../ynet1280/ynetHeader/components/menuPopUpComponenta\";\nimport { MainNavHeaderComponenta } from \"./mainNavComponenta\";\n\n\ninterface MenuState {\n    isOpened: boolean\n    isSticky: boolean\n    isSearchOpened: boolean\n}\n\ninterface HeaderProps {\n    mainNavItems: HamburgerMenuItems[]\n    groupsWithItems: Group[]\n    logoData: Logo\n    followUsText: string\n    linkToInst: string\n    linkToFb: string\n    linkToTw: string\n    linkToTiktok:string\n    enableSticky: boolean\n    ynetSearchPageLink: string\n    followUsLink:string\n    folowUsLinkTarget:LinkTargetProperties\n    domain:string\n}\n\nexport interface Group {\n    groupId: string\n    groupName: string\n    items: HamburgerMenuItems[]\n}\n\nexport interface Logo {\n    url: string\n    mediaTitle: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\nexport interface CommertialItem{\n    title:string\n    link:string\n    linkTarget: LinkTargetProperties\n}\n\nexport class SiteMagazineHeaderComponenta extends React.Component<HeaderProps, MenuState> {\n    public static siteScriptName = \"SiteMagazineHeaderComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            isOpened: false,\n            isSticky: false,\n            isSearchOpened: false\n        }\n    }\n\n    private openMenu = () => {\n        this.setState({ isOpened: !this.state.isOpened, isSearchOpened: false, })\n    }\n\n    private openSearchMenu = () => {\n        const isExternalPage = typeof window != \"undefined\" && window.isExternalPage;\n        if (isExternalPage) {\n            top.location.href = 'https://www.ynet.co.il/category/3340';\n        }\n        else this.setState({ isSearchOpened: !this.state.isSearchOpened, isOpened: false })\n    }\n\n    private stickyBar() {\n        const headerPos = document.getElementById(\"MagazineHeader\").getBoundingClientRect().top\n        if (headerPos + 160 < 0) {\n            this.setState({ isSticky: true })\n\n        } else {\n            this.setState({ isSticky: false })\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(\"scroll\", this.throttledScrollHandler())\n\n    }\n\n    componentWillUnmount() {\n        const navbar = document.getElementById(\"YnetHeader\")\n        document.removeEventListener(\"scroll\", this.throttledScrollHandler())\n\n    }\n\n    private throttledScrollHandler = () => throttle(() => this.stickyBar(), 200)\n\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n\n    render() {\n        const { mainNavItems, groupsWithItems, logoData,  enableSticky,\n          followUsText, linkToInst, linkToFb, linkToTw, linkToTiktok,\n            ynetSearchPageLink} = this.props\n        const { isSticky } = this.state\n        const isStickyAvailable = isSticky && enableSticky;\n \n        return (\n            <div className={classNames(\"Magazine2025Header\")} id=\"MagazineHeader\">\n                <button className=\"accessibiltyFixedBtn\" onClick={this.clickAcessibilityBtn} title=\"אתר נגיש\"  accessKey=\"m\"></button>\n                <div className=\"headerTop\">\n                    <div className=\"rightSideLinks\">\n                        \n                         {linkToInst !== \"\" && <SimpleLinkRenderer href={linkToInst} target=\"_blank\" className=\"headerIcon instagram\" />}\n                              {linkToFb !== \"\" && <SimpleLinkRenderer href={linkToFb} target=\"_blank\" className=\"headerIcon facebook\" />}\n                       {(linkToInst || linkToFb) && <div className=\"iconsSeparator\" />}\n                        <button className=\"headerIcon search\" onClick={this.openSearchMenu}/>           \n                        \n                    </div>\n\n                    <div className=\"logo\">\n                        <HyperLinkBuilder href={logoData.link} linkTarget={logoData.linkTarget} ariaLabel={logoData.mediaTitle}>\n                            <img src={logoData.url} alt={logoData.mediaTitle} title={logoData.mediaTitle} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                        </HyperLinkBuilder>\n\n                    </div>\n                   \n                    <SimpleLinkRenderer href={\"/\"}  rel=\"nofollow\" className=\"ylogo\" >\n                    <img src={\"//www.ynet.co.il/images/logo_ynet.png\"} alt={\"ynet\"} title={\"ynet\"} aria-hidden=\"true\" aria-label=\"Ynet Logo\" />  \n                    </SimpleLinkRenderer>\n                \n                </div>\n\n                <div className={classNames(\"BottomHeaderArea\", { \"sticky\": isStickyAvailable })} id=\"BottomHeaderArea\">\n                    <MainNavHeaderComponenta\n                        isSticky={isStickyAvailable}\n                        mainNavItems={mainNavItems}\n                        logoData={logoData}\n                        onToggleMenu={this.openMenu}\n                        onToggleSearch={this.openSearchMenu}\n                        isOpened={this.state.isOpened}\n                    />\n\n                    <MenuPopupComponenta\n                        groupsWithItems={groupsWithItems}\n                        isVisibleMenu={this.state.isOpened}\n                        isVisibleSearch={this.state.isSearchOpened}\n                        onCloseMenu={() => this.setState({ isOpened: false })}\n                        onCloseSearch={() => this.setState({ isSearchOpened: false })}\n                        followUsText={followUsText}\n                        linkToInst={linkToInst}\n                        linkToFb={linkToFb}\n                        linkToTw={linkToTw}\n                        linkToYtube={\"\"}\n                        linkToTiktok={linkToTiktok}\n                        ynetSearchPageLink={ynetSearchPageLink}\n                        displayType={\"magazine\"}\n                     \n                    />\n                </div>\n            </div>\n        )\n    }\n}","import { SiteItemData } from \"../../../../interfaces\";\nimport { isWcmEditor } from \"config/serverConfig\";\nimport { VideoGalleryVerticalDesktop } from \"./videoGalleryVerticalDesktop\";\n\nexport interface categoryObj {\n    id: string\n    categoryColor: string\n    name: string\n}\n\ninterface MagazineVideoGalleryVerticalComponentaProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    category: categoryObj\n    domain: string\n    showPrerollAds: boolean\n}\n\n\nexport class MagazineVideoGalleryVerticalComponenta extends React.Component<MagazineVideoGalleryVerticalComponentaProps, {}>{\n    public static siteScriptName = \"MagazineVideoGalleryVerticalComponenta\";\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, repeatAds, maxAds, firstAdPlace, category, domain, showPrerollAds } = this.props;\n        const componentClass = `magazineVideoGalleryVerticalComponenta ${isWcmEditor() ? \"editMode\" : \"\"}`;\n        \n        return (\n            <div className={componentClass}>\n                <VideoGalleryVerticalDesktop\n                    videoList={videoList}\n                    isTabVisible={isTabVisible}\n                    tabTitleText={tabTitleText}\n                    repeatAds={repeatAds}\n                    maxAds={maxAds}\n                    firstAdPlace={firstAdPlace}\n                    category={category}\n                    domain={domain}\n                    showPrerollAds={showPrerollAds}/>\n            </div>\n        )\n\n    }\n}\n","import { SiteItemData } from \"../../../../interfaces\";\nimport { VideoGalleryVerticalMutam } from \"./videoGalleryVerticalMutam\";\n\nexport interface categoryObj {\n    id: string\n    categoryColor: string\n    name:string\n}\n\ninterface MagazineVideoGalleryVerticalMutamComponentaProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    firstAdPlace: number\n    maxAds: number\n    repeatAds: number\n    shouldDisplayMobileAds: boolean\n    category: categoryObj\n    hideMoreButton:boolean \n    moreButtonText:string\n    domain: string\n    showPrerollAds: boolean\n}\n\nexport class MagazineVideoGalleryVerticalMutamComponenta extends React.Component<MagazineVideoGalleryVerticalMutamComponentaProps, {}>{\n    public static siteScriptName = \"MagazineVideoGalleryVerticalMutamComponenta\";\n\n    public render() {\n        const { videoList, hideMoreButton,moreButtonText,  isTabVisible, tabTitleText, repeatAds, maxAds, firstAdPlace, shouldDisplayMobileAds, category, domain, showPrerollAds } = this.props;\n\n        return (\n            <div className=\"magazineVideoGalleryVerticalMutamComponenta\">\n                <VideoGalleryVerticalMutam\n                    videoList={videoList}\n                    isTabVisible={isTabVisible}\n                    tabTitleText={tabTitleText}\n                    repeatAds={repeatAds}\n                    maxAds={maxAds}\n                    firstAdPlace={firstAdPlace}\n                    hideMoreButton={hideMoreButton}\n                    moreButtonText={moreButtonText}\n                    shouldDisplayMobileAds={shouldDisplayMobileAds}\n                    category={category}\n                    domain={domain}\n                    showPrerollAds={showPrerollAds}/>\n            </div>\n        )\n    }\n}\n","import Slider from \"react-slick\"\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { PromoCarousel } from \"../../../ynet1280/videoGalleryVerticalWidget/components/promoCarousel\";\nimport { disablePageRefresh, enablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport { categoryObj } from \"./magazineVideoGalleryVerticalComponenta\";\nimport { VideoGalleryVerticalItem } from \"./videoGalleryVerticalItem\";\nimport { VideoVerticalFeedItem } from \"./videoVerticalFeedItem\";\n\ninterface VideoGalleryVerticalDesktopProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    category: categoryObj\n    domain: string\n    showPrerollAds: boolean\n}\n\ninterface VideoGalleryVerticalDesktopState {\n    feedActiveSlide: number\n    isFeedDisplay: boolean\n    initialFeedSlide: number\n    togglePromoActive: boolean\n    currentPromoIndex: number\n}\n\nexport class VideoGalleryVerticalDesktop extends React.Component<VideoGalleryVerticalDesktopProps, VideoGalleryVerticalDesktopState> {\n    constructor(props) {\n        super(props);\n        this.state = {\n            feedActiveSlide: 0,\n            isFeedDisplay: false,\n            initialFeedSlide: 0,\n            togglePromoActive: false,\n            currentPromoIndex: 0\n        };\n        this.handleKeyPress = this.handleKeyPress.bind(this);\n    }\n\n    private slider;\n\n    componentDidMount() {\n        document.addEventListener('keydown', this.handleKeyPress);\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener('keydown', this.handleKeyPress);\n    }\n\n\n    private onOpenVideoGalleryView = (originalVideoListIndex: number) => {\n        const { videoList } = this.props;\n        const initialFeedSlide = this.getListWithAds().findIndex((element) => element.itemId === videoList[originalVideoListIndex].itemId);\n        this.setState({ initialFeedSlide: initialFeedSlide, feedActiveSlide: initialFeedSlide }, () => { this.setState({ isFeedDisplay: true }) });\n        disablePageRefresh();\n    }\n\n    private onCloseVideoGalleryView = () => {\n        this.setState({ isFeedDisplay: false });\n        enablePageRefresh();\n    }\n\n    private onPromoMouseHover = (currentPromoIndex: number) => {\n        this.setState({ currentPromoIndex: currentPromoIndex });\n    }\n\n    private handleKeyPress(e) {\n        if (e.keyCode === 27) {\n            this.onCloseVideoGalleryView();\n        }\n    }\n\n    private onNextSlide = () => {\n        this.slider.slickPrev();\n        this.pushGA4Event(\"swipe_left\", true);\n    }\n\n    private pushGA4Event = (action: string, isFeedDisplay: boolean) => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { category } = this.props;\n        const actionPrefix = category && category.name ? (category.name === \"דף הבית\") ? \"homepage\" : category.name : \"homepage\";\n        const gaAction = isFeedDisplay ? `video_${action}` : `${actionPrefix}_${action}`;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            vertical_video_action: gaAction,\n        });\n    };\n\n\n    private getListWithAds = () => {\n        const { repeatAds, maxAds, firstAdPlace, videoList, showPrerollAds } = this.props;\n        const videoListCopy = [...videoList];\n        const videoListLength = videoListCopy.length;\n        let numberOfAds = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        const newListLength = videoListLength + numberOfAds;\n        const baseId = \"ads.vertical.native.\";\n        let newList = [];\n        let adCount = 1;\n\n        if (showPrerollAds) return this.getListWithPreRollsAds();\n        if (maxAds === 0) return videoListCopy;\n\n        for (let i = 0; i < newListLength; i++) {\n            if (i < firstAdPlace) {\n                newList.push(videoListCopy.shift());\n            } else if (i === firstAdPlace && numberOfAds > 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else if (numberOfAds > 0 && (i - firstAdPlace) % (repeatAds + 1) === 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else {\n                newList.push(videoListCopy.shift());\n            }\n        }\n\n        return newList;\n    }\n\n    private getListWithPreRollsAds = () => {\n        const { repeatAds, maxAds, firstAdPlace, videoList, showPrerollAds } = this.props;\n        const videoListCopy = [...videoList];\n        const videoListLength = videoListCopy.length;\n        let numberOfAdsLeft = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        const totalAdsNumber = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        \n        if (maxAds === 0) return videoListCopy;\n        let newList = [];\n        \n        for (let i = 0; i < videoList.length; i++) {\n            let prerollIndex = Math.abs(numberOfAdsLeft - (totalAdsNumber + 1));\n            if (i + 1 < firstAdPlace) {\n                newList.push({ ...videoList[i], hidePrerollAds: true, prerollIndex: undefined });\n            } else if (i === firstAdPlace && numberOfAdsLeft > 0) {\n                newList.push({ ...videoList[i], hidePrerollAds: false, prerollIndex: showPrerollAds ? prerollIndex : undefined });\n                numberOfAdsLeft--;\n            } else if (numberOfAdsLeft > 0 && (i - firstAdPlace) % (repeatAds + 1) === 0) {\n                newList.push({ ...videoList[i], hidePrerollAds: false, prerollIndex: showPrerollAds ? prerollIndex : undefined });\n                numberOfAdsLeft--;\n            } else {\n                newList.push({ ...videoList[i], hidePrerollAds: true, prerollIndex: undefined });\n            }\n        }\n\n        return newList;\n    }\n\n    private onFeedArrowClick = () => {\n        const activeVideoElement = document.querySelector(\".videoGalleryVerticalComponenta .feedDisplay .slick-active .videoVerticalFeedItem #player .fp-engine\") as HTMLVideoElement;\n        if (activeVideoElement) activeVideoElement.pause();\n    }\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, domain, showPrerollAds } = this.props;\n        const { isFeedDisplay, initialFeedSlide, feedActiveSlide, togglePromoActive, currentPromoIndex } = this.state;\n\n        const feedDisplaySettings = {\n            infinite: false,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            initialSlide: initialFeedSlide,\n            draggable: false,\n            rtl: true,\n            beforeChange: (current, next) => {\n                this.setState({ feedActiveSlide: Math.abs(next - this.getListWithAds().length + 1) });\n                this.onFeedArrowClick();\n            },\n            nextArrow: <SampleNextArrow feedActiveSlide={feedActiveSlide} listLength={this.getListWithAds().length} pushGA4Event={this.pushGA4Event} onClick={this.onFeedArrowClick} />,\n            prevArrow: <SamplePrevArrow feedActiveSlide={feedActiveSlide} listLength={this.getListWithAds().length} pushGA4Event={this.pushGA4Event} />,\n        };\n\n        return (\n            <div className=\"videoGalleryVerticalDesktopWrapper\">\n                {isTabVisible && <div className=\"magazine-component-tab\"><span className=\"mainTabTitle\">{tabTitleText}</span></div>}\n                {isFeedDisplay && <div className=\"closeBtn\" onClick={this.onCloseVideoGalleryView}></div>}\n                <PromoCarousel\n                    imageWidth={260}\n                    width={1240}\n                    itemListLength={videoList.length}\n                    marginRight={20}\n                    togglePromoActive={togglePromoActive}\n                    currentPromoIndex={currentPromoIndex}\n                    videoList={videoList}\n                    pushGA4Event={this.pushGA4Event}\n                >\n                    {videoList.map((videoItem, index) => {\n                        return (\n                            <VideoGalleryVerticalItem\n                                videoItem={videoItem}\n                                onOpenVideoGalleryView={this.onOpenVideoGalleryView}\n                                videoIndex={index}\n                                key={videoItem.itemId}\n                                onPromoMouseHover={this.onPromoMouseHover}\n                            />\n                        )\n                    })}\n                </PromoCarousel >\n                {isFeedDisplay &&\n                    <div className=\"feedDisplay\">\n                        <Slider {...feedDisplaySettings} className=\"slider\" ref={slider => (this.slider = slider)} >\n                            {this.getListWithAds().map((videoItem, index) => {\n                                if ((typeof videoItem) === 'string') {\n                                    return (<div key={index} id={videoItem} className=\"ads_vertical_video\"></div>)\n                                } else {\n                                    return (\n                                        <VideoVerticalFeedItem\n                                            videoItem={videoItem}\n                                            key={videoItem.itemId}\n                                            feedActiveSlide={feedActiveSlide}\n                                            onNextSlide={this.onNextSlide}\n                                            onCloseVideoGalleryView={this.onCloseVideoGalleryView}\n                                            domain={domain}\n                                            index={index}\n                                            showPrerollAds={showPrerollAds} />\n                                    )\n                                }\n                            })}\n                        </Slider>\n                    </div>\n                }\n            </div>\n        )\n    }\n}\n\nconst SampleNextArrow = (props) => {\n    const { onClick, feedActiveSlide, pushGA4Event } = props;\n    const shouldDisplayArrow = feedActiveSlide !== 0;\n    const handleClick = () => {\n        onClick();\n        pushGA4Event(\"swipe_right\", true);\n    }\n\n    return (\n        <button\n            className={`slickArrow slickNext ${shouldDisplayArrow ? \"\" : \"slickDisabled\"}`}\n            onClick={handleClick}\n        ></button>\n    );\n}\n\nconst SamplePrevArrow = (props) => {\n    const { onClick, feedActiveSlide, listLength, pushGA4Event } = props;\n    const shouldDisplayArrow = (feedActiveSlide + 1) !== listLength;\n    const handleClick = () => {\n        onClick();\n        pushGA4Event(\"swipe_left\", true);\n    }\n    return (\n        <button\n            className={`slickArrow slickPrev ${shouldDisplayArrow ? \"\" : \"slickDisabled\"}`}\n            onClick={handleClick}\n        ></button>\n    );\n}","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\n\ninterface VideoGalleryVerticalItemProps {\n    videoItem: SiteItemData\n    videoIndex: number\n    onOpenVideoGalleryView: (e) => void\n    onPromoMouseHover: (currentPromoIndex: number) => void\n}\n\ninterface VideoGalleryVerticalItemState {\n    isMouseHover: boolean\n}\n\nexport class VideoGalleryVerticalItem extends React.Component<VideoGalleryVerticalItemProps, VideoGalleryVerticalItemState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isMouseHover: false,\n        }\n    }\n\n    private videoRef;\n\n    private onMouseHover = () => {\n        const { videoIndex, onPromoMouseHover } = this.props;\n        this.setState({ isMouseHover: true });\n        onPromoMouseHover(videoIndex);\n        if (this.videoRef) this.videoRef.play();\n\n    }\n\n    private onMouseLeave = () => {\n        this.setState({ isMouseHover: false });\n        if (this.videoRef) this.videoRef.pause();\n    }\n\n    private secondsToMinutesHandler = (seconds: number) => {\n        const minutes = Math.floor(seconds / 60).toString().padStart(2, \"0\");\n        const newSeconds = (seconds % 60).toString().padStart(2, \"0\");\n        return `${minutes}:${newSeconds}`;\n    }\n\n    public render() {\n        const { isMouseHover } = this.state;\n        const { videoItem, onOpenVideoGalleryView, videoIndex } = this.props;\n        const { media, title } = videoItem;\n        const { duration, poster, promoPath } = media as SiteVideoData;\n        const shouldDisplayPromo = isMouseHover && promoPath;\n        const slotClasses = `slotView ${shouldDisplayPromo ? \"hovered\" : \"\"}`;\n\n        return (\n            <div className={slotClasses} onMouseEnter={this.onMouseHover} onMouseLeave={this.onMouseLeave} onClick={() => onOpenVideoGalleryView(videoIndex)}>\n                {isMouseHover ?\n                    <video\n                        autoPlay={true}\n                        loop={true}\n                        ref={ref => this.videoRef = ref}\n                        muted\n                        poster={poster}\n                        className=\"promoVideo\" src={promoPath}>\n                    </video>\n                    :\n                    <img\n                        src={poster}\n                        alt=\"\" />\n                }\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className=\"videoDuration\"><span className=\"durationLogo\"></span> <span>{this.secondsToMinutesHandler(Math.round(duration))}</span></div>\n                </div>\n            </div>\n        )\n    }\n}\n","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\n\ninterface VideoGalleryVerticalItemMutamProps {\n    videoItem: SiteItemData\n    videoIndex: number\n    lastIntersectedPromoIndex: number\n    onOpenVideoGalleryView: (e) => void\n    onVideoEnded: () => void\n    getItemIntoViewIndex: (itemIntoViewIndex: number) => void\n    onLastIntersectingPromoCHange: (lastPromoIndex: number) => void\n    pushGA4Event: (action: string, isFeedDisplay: boolean) => void\n}\n\ninterface VideoGalleryVerticalItemMutamState {\n    isItemIntoView: boolean\n}\n\nexport class VideoGalleryVerticalItemMutam extends React.Component<VideoGalleryVerticalItemMutamProps, VideoGalleryVerticalItemMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isItemIntoView: false,\n        }\n    }\n\n    private videoRef;\n    private slotRef;\n    private intersectionObserver: IntersectionObserver;\n\n    componentDidMount() {\n        this.initObserver();\n    }\n\n    componentWillUnmount() {\n        this.intersectionObserver && this.intersectionObserver.disconnect();\n    }\n\n    private onVideoIntersectViewport = () => {\n        const { getItemIntoViewIndex, videoIndex, onLastIntersectingPromoCHange } = this.props;\n        this.setState({ isItemIntoView: true });\n        onLastIntersectingPromoCHange(videoIndex)\n        getItemIntoViewIndex(videoIndex)\n        if (this.videoRef) this.videoRef.play();\n    }\n\n    private onVideoLeaveViewport = () => {\n        this.setState({ isItemIntoView: false });\n        if (this.videoRef) this.videoRef.pause();\n    }\n\n    private secondsToMinutesHandler = (seconds: number) => {\n        const minutes = Math.floor(seconds / 60).toString().padStart(2, \"0\");\n        const newSeconds = (seconds % 60).toString().padStart(2, \"0\");\n        return `${minutes}:${newSeconds}`;\n    }\n\n    private initObserver = () => {\n        this.intersectionObserver = new IntersectionObserver(entry => {\n            entry[0].isIntersecting ? this.onVideoIntersectViewport() : this.onVideoLeaveViewport();\n        }, { threshold: 0.8 })\n        this.intersectionObserver.observe(this.slotRef);\n    }\n\n    public render() {\n        const { isItemIntoView } = this.state;\n        const { videoItem, onOpenVideoGalleryView, videoIndex, onVideoEnded } = this.props;\n        const { media, title } = videoItem;\n        const { duration, poster, promoPath } = media as SiteVideoData;\n        const shouldDisplayPromo = isItemIntoView && promoPath;\n        const slotClasses = `slotView ${shouldDisplayPromo ? \"active\" : \"\"}`;\n\n        return (\n            <div\n                className={slotClasses}\n                onClick={() => onOpenVideoGalleryView(videoIndex)}\n                ref={ref => this.slotRef = ref}\n            >\n                {shouldDisplayPromo ?\n                    <video\n                        autoPlay={true}\n                        loop={false}\n                        ref={ref => this.videoRef = ref}\n                        muted\n                        poster={poster}\n                        onEnded={onVideoEnded}\n                        className=\"promoVideo\" src={promoPath}\n                        playsInline\n                        webkit-playsInline>\n                    </video>\n                    :\n                    <img\n                        src={poster}\n                        alt=\"\" />\n                }\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className=\"videoDuration\"><span className=\"durationLogo\"></span> <span>{this.secondsToMinutesHandler(Math.round(duration))}</span></div>\n                </div>\n            </div>\n        )\n    }\n}\n","import Slider from \"react-slick\";\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { PromoCarousel } from \"../../../ynet1280/videoGalleryVerticalWidget/components/promoCarousel\";\nimport { enablePageRefresh, disablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport * as ResizeObserver from \"resize-observer-polyfill\";\nimport { categoryObj } from \"./magazineVideoGalleryVerticalMutamComponenta\";\nimport { VideoGalleryVerticalItemMutam } from \"./videoGalleryVerticalItemMutam\";\nimport { VideoVerticalFeedItemMutam } from \"./videoVerticalFeedItemMutam\";\n\ninterface VideoGalleryVerticalMutamProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    shouldDisplayMobileAds: boolean\n    category: categoryObj\n    hideMoreButton: boolean\n    moreButtonText: string\n    domain: string\n    showPrerollAds: boolean\n}\n\ninterface VideoGalleryVerticalMutamState {\n    feedActiveSlide: number\n    isFeedDisplay: boolean\n    initialFeedSlide: number\n    togglePromoActive: boolean\n    currentPromoIndex: number\n    promoViewportWidth: number\n    lastIntersectedPromoIndex: number\n}\n\nexport class VideoGalleryVerticalMutam extends React.Component<VideoGalleryVerticalMutamProps, VideoGalleryVerticalMutamState> {\n    constructor(props) {\n        super(props);\n        this.state = {\n            initialFeedSlide: 0,\n            feedActiveSlide: 0,\n            isFeedDisplay: false,\n            togglePromoActive: false,\n            currentPromoIndex: 0,\n            promoViewportWidth: 375,\n            lastIntersectedPromoIndex: 0,\n        }\n    }\n\n    private componentWrapperRef;\n    private resizeObserver: ResizeObserver;\n    private sliderRef;\n\n\n    componentDidMount() {\n        this.resizeObserver = new ResizeObserver(entries => entries.forEach(e => {\n            this.setState({ promoViewportWidth: e.contentRect.width })\n        }));\n        this.resizeObserver.observe(this.componentWrapperRef);\n    }\n\n    componentWillUnmount() {\n        this.resizeObserver && this.resizeObserver.disconnect();\n    }\n\n    private onOpenVideoGalleryView = (originalVideoListIndex: number) => {\n        const { videoList } = this.props;\n        const initialFeedSlide = this.getListWithAds().findIndex((element) => element.itemId === videoList[originalVideoListIndex].itemId);\n        this.setState({ initialFeedSlide: initialFeedSlide, feedActiveSlide: initialFeedSlide }, () => { this.setState({ isFeedDisplay: true }) });\n        disablePageRefresh();\n    }\n\n    private onMoreVideosHandler = () => {\n        this.setState({ initialFeedSlide: 0, feedActiveSlide: 0, isFeedDisplay: true });\n    }\n\n    private onCloseVideoGalleryView = () => {\n        this.setState({ isFeedDisplay: false });\n        enablePageRefresh();\n    }\n\n    private onVideoEnded = () => {\n        this.setState({ togglePromoActive: !this.state.togglePromoActive });\n    }\n\n    private getItemIntoViewIndex = (itemIntoViewIndex: number) => {\n        this.setState({ currentPromoIndex: itemIntoViewIndex })\n    }\n    private onLastIntersectingPromoCHange = (lastPromoIndex: number) => {\n        this.setState({ lastIntersectedPromoIndex: lastPromoIndex })\n    }\n\n    private onChangeVideoHandler = () => {\n        setTimeout(() => {\n            const videoElement = document.querySelector(\".videoGalleryVerticalMutamComponenta .feedDisplay .slick-active .videoVerticalFeedItemMutam #player.is-paused .fp-engine\") as HTMLVideoElement;\n            if (videoElement) {\n                videoElement.currentTime = 0;\n                videoElement.click();\n            };\n        }, 600)\n    }\n\n    private onStopPlayingVideoHandler = () => {\n        const playingVideoElement = document.querySelector(\".videoGalleryVerticalMutamComponenta .feedDisplay .slick-slide:not(.slick-active) .videoVerticalFeedItemMutam #player.is-playing .fp-engine\") as HTMLVideoElement;\n        if (playingVideoElement) {\n            playingVideoElement.currentTime = 0;\n            playingVideoElement.pause();\n        };\n    }\n\n    private onNextSlide = () => {\n        this.onChangeVideoHandler();\n        this.sliderRef.slickNext();\n        this.pushGA4Event(\"swipe_up\", true);\n    }\n\n    private pushGA4Event = (action: string, isFeedDisplay: boolean) => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { category } = this.props;\n        const actionPrefix = category && category.name ? (category.name === \"דף הבית\") ? \"homepage\" : category.name : \"homepage\";\n        const gaAction = isFeedDisplay ? `video_${action}` : `${actionPrefix}_${action}`;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            vertical_video_action: gaAction,\n        });\n    };\n\n    private getListWithAds = () => {\n        const { repeatAds, maxAds, firstAdPlace, videoList, shouldDisplayMobileAds, showPrerollAds } = this.props;\n        const videoListCopy = [...videoList];\n        const videoListLength = videoListCopy.length;\n        let numberOfAds = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        const newListLength = videoListLength + numberOfAds;\n        const baseId = \"ads.vertical.native.\";\n        let newList = [];\n        let adCount = 1;\n\n        if (showPrerollAds) return this.getListWithPreRollsAds();\n        if (maxAds === 0 || !shouldDisplayMobileAds) return videoListCopy;\n\n        for (let i = 0; i < newListLength; i++) {\n            if (i < firstAdPlace) {\n                newList.push(videoListCopy.shift());\n            } else if (i === firstAdPlace && numberOfAds > 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else if (numberOfAds > 0 && (i - firstAdPlace) % (repeatAds + 1) === 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else {\n                newList.push(videoListCopy.shift());\n            }\n        }\n        return newList;\n    }\n\n    private getListWithPreRollsAds = () => {\n        const { repeatAds, maxAds, firstAdPlace, videoList, showPrerollAds } = this.props;\n        const videoListCopy = [...videoList];\n        const videoListLength = videoListCopy.length;\n        let numberOfAdsLeft = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        const totalAdsNumber = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n\n        if (maxAds === 0) return videoListCopy;\n        let newList = [];\n\n        for (let i = 0; i < videoList.length; i++) {\n            let prerollIndex = Math.abs(numberOfAdsLeft - (totalAdsNumber + 1));\n            if (i + 1 < firstAdPlace) {\n                newList.push({ ...videoList[i], hidePrerollAds: true, prerollIndex: undefined });\n            } else if (i === firstAdPlace && numberOfAdsLeft > 0) {\n                newList.push({ ...videoList[i], hidePrerollAds: false, prerollIndex: showPrerollAds ? prerollIndex : undefined });\n                numberOfAdsLeft--;\n            } else if (numberOfAdsLeft > 0 && (i - firstAdPlace) % (repeatAds + 1) === 0) {\n                newList.push({ ...videoList[i], hidePrerollAds: false, prerollIndex: showPrerollAds ? prerollIndex : undefined });\n                numberOfAdsLeft--;\n            } else {\n                newList.push({ ...videoList[i], hidePrerollAds: true, prerollIndex: undefined });\n            }\n        }\n\n        return newList;\n    }\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, hideMoreButton, moreButtonText, domain, showPrerollAds } = this.props;\n        const { isFeedDisplay, initialFeedSlide, feedActiveSlide, togglePromoActive, currentPromoIndex, promoViewportWidth, lastIntersectedPromoIndex } = this.state;\n        const basePromoWidthFit375 = 164;\n        const promoWidth = (promoViewportWidth / 375) * basePromoWidthFit375;\n        const bottomText = moreButtonText && moreButtonText.length > 0 ? moreButtonText : `עוד ב${tabTitleText}`\n        const feedDisplaySettings = {\n            infinite: false,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            initialSlide: initialFeedSlide,\n            autoplay: false,\n            vertical: true,\n            onSwipe: () => { this.onChangeVideoHandler() },\n            verticalSwiping: true,\n            beforeChange: (current, next) => {\n                const userSwipeDirection = next > current ? \"up\" : \"down\";\n                this.pushGA4Event(`swipe_${userSwipeDirection}`, true);\n            },\n            afterChange: (current) => {\n                this.setState({ feedActiveSlide: current })\n                this.onStopPlayingVideoHandler();\n            },\n        };\n\n        return (\n            <div className=\"videoGalleryVerticalMutamWrapper\" ref={componentWrapperRef => (this.componentWrapperRef = componentWrapperRef)}>\n                {isFeedDisplay ?\n                    <div className=\"feedDisplay\">\n                        <Slider {...feedDisplaySettings} className=\"slider\" ref={(sliderRef) => (this.sliderRef = sliderRef)}>\n                            {this.getListWithAds().map((videoItem, index) => {\n                                const arrowDisplay = index === this.getListWithAds().length - 1 ? \"none\" : \"\";\n                                if ((typeof videoItem) === 'string') {\n                                    return (\n                                        <div className=\"adsWrapper\">\n                                            <div key={index} id={videoItem} className=\"ads_vertical_video\"></div>\n                                            <div className={`arrow arrowNext ${arrowDisplay}`} onClick={this.onNextSlide}>לסרטון הבא</div>\n                                        </div>\n                                    )\n                                } else {\n                                    return (\n                                        <VideoVerticalFeedItemMutam\n                                            videoItem={videoItem}\n                                            key={videoItem.itemId}\n                                            initialFeedSlide={initialFeedSlide}\n                                            feedActiveSlide={feedActiveSlide}\n                                            feedIndex={index}\n                                            onCloseVideoGalleryView={this.onCloseVideoGalleryView}\n                                            arrowDisplay={arrowDisplay}\n                                            onNextSlide={this.onNextSlide}\n                                            domain={domain}\n                                            index={index}\n                                            showPrerollAds={showPrerollAds} />\n                                    )\n                                }\n                            })}\n                        </Slider>\n                    </div>\n                    :\n                    <>\n                        {isTabVisible && <div className=\"magazine-component-tab\"><span className=\"mainTabTitle\">{tabTitleText}</span></div>}\n                        <PromoCarousel\n                            imageWidth={promoWidth}\n                            width={640}\n                            itemListLength={videoList.length}\n                            marginRight={0}\n                            togglePromoActive={togglePromoActive}\n                            currentPromoIndex={currentPromoIndex}\n                            videoList={videoList}\n                            isMobileWeb={true}\n                            pushGA4Event={this.pushGA4Event}\n                        >\n                            {videoList.map((videoItem, index) => {\n                                return (\n                                    <VideoGalleryVerticalItemMutam\n                                        videoItem={videoItem}\n                                        onOpenVideoGalleryView={this.onOpenVideoGalleryView}\n                                        videoIndex={index}\n                                        key={videoItem.itemId}\n                                        onVideoEnded={this.onVideoEnded}\n                                        getItemIntoViewIndex={this.getItemIntoViewIndex}\n                                        onLastIntersectingPromoCHange={this.onLastIntersectingPromoCHange}\n                                        lastIntersectedPromoIndex={lastIntersectedPromoIndex}\n                                        pushGA4Event={this.pushGA4Event}\n                                    />\n                                )\n                            })}\n                        </PromoCarousel >\n                        {!hideMoreButton && <div className=\"moreButton\" onClick={this.onMoreVideosHandler}>{bottomText}</div>}\n                    </>\n                }\n            </div>\n        )\n    }\n}\n","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\nimport { FrontCopyButton } from \"../../../../commonComponents/inline/frontCopyButton/frontCopyButton\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\nimport { openFacebookShare, openTwitterShare } from \"../../../../widgetsUtils\";\nimport { WhatsAppShareButton } from \"../../../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\";\n\ninterface VideoVerticalFeedItemProps {\n    videoItem: SiteItemData & { hidePrerollAds?: boolean, prerollIndex?: number }\n    feedActiveSlide: number\n    domain: string\n    index: number\n    showPrerollAds: boolean\n    onNextSlide: () => void\n    onCloseVideoGalleryView: () => void\n}\n\ninterface VideoVerticalFeedItemState {\n    isSubtitleOpen: boolean\n    isMediaShareVisible: boolean\n    dynamicHeight: number;\n}\nexport class VideoVerticalFeedItem extends React.Component<VideoVerticalFeedItemProps, VideoVerticalFeedItemState>{\n    private resizeObserver: IntersectionObserver | null = null;\n    constructor(props) {\n        super(props);\n        this.state = {\n            isSubtitleOpen: false,\n            isMediaShareVisible: false,\n            dynamicHeight: window.innerHeight,\n        }\n    }\n\n    componentDidMount() {\n        this.initializeEndedEventListeners();\n        document.addEventListener('click', this.handleClickOutside);\n\n        this.updateDynamicHeight();\n        this.initializeResizeObserver();\n        window.addEventListener(\"resize\", this.updateDynamicHeight);\n    }\n\n    componentWillUnmount() {\n        this.removeEndedEventListeners();\n        document.removeEventListener('click', this.handleClickOutside);\n\n        this.cleanupResizeObserver();\n        window.removeEventListener(\"resize\", this.updateDynamicHeight);\n    }\n\n    private initializeResizeObserver() {\n        this.resizeObserver = new IntersectionObserver(() => {\n            this.updateDynamicHeight();\n        });\n\n        const target = document.body;\n        if (target && this.resizeObserver) {\n            this.resizeObserver.observe(target);\n        }\n    }\n\n    private cleanupResizeObserver() {\n        if (this.resizeObserver) {\n            this.resizeObserver.disconnect();\n            this.resizeObserver = null;\n        }\n    }\n\n    private updateDynamicHeight = () => {\n        const viewportHeight = window.innerHeight;\n\n        const mainNavElement = document.querySelector(\".BottomHeaderArea.sticky .mainNav\") as HTMLElement;\n        const adsSargelElement = document.getElementById(\"ads.sargel\");\n        const adsBannerElement = document.getElementById(\"ads.banner\");\n\n        const mainNavHeight = mainNavElement ? mainNavElement.offsetHeight : 0;\n        const adsSargelHeight = adsSargelElement ? adsSargelElement.offsetHeight : 0;\n        const adsBannerHeight = adsBannerElement ? adsBannerElement.offsetHeight : 0;\n\n        const dynamicHeight = viewportHeight - mainNavHeight - adsSargelHeight - adsBannerHeight;\n\n        this.setState({ dynamicHeight });\n    };\n\n    private handleClickOutside = (event: MouseEvent) => {\n        if ((event.target as Element).className.includes(\"slick-slide\")) this.props.onCloseVideoGalleryView();\n    };\n\n    private initializeEndedEventListeners() {\n        setTimeout(() => {\n            const videoElements = document.querySelectorAll(\".videoGalleryVerticalComponenta .feedDisplay .slick-slide .videoVerticalFeedItem #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n            if (videoElements.length) {\n                videoElements.forEach((element) => {\n                    element.addEventListener(\"ended\", this.handleVideoEnded);\n                })\n            };\n        }, 600)\n    }\n\n    private removeEndedEventListeners() {\n        const videoElements = document.querySelectorAll(\".videoGalleryVerticalComponenta .feedDisplay .slick-slide .videoVerticalFeedItem #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n        if (videoElements.length) {\n            videoElements.forEach((element) => {\n                element.removeEventListener(\"ended\", this.handleVideoEnded)\n            })\n        };\n    }\n\n    private handleVideoEnded = (e) => {\n        e.target.currentTime = 0;\n        e.target.click();\n        this.props.onNextSlide();\n    }\n\n    componentDidUpdate(prevProps, prevState) {\n        if (prevProps.feedActiveSlide !== this.props.feedActiveSlide) {\n            setTimeout(() => {\n                const videoElement = document.querySelector(\".videoGalleryVerticalComponenta .feedDisplay .slick-active .videoVerticalFeedItem #player.is-paused .fp-engine\") as HTMLVideoElement;\n                const unActiveVideoElement = document.querySelector(\".videoGalleryVerticalComponenta .feedDisplay .slick-slide:not(.slick-active) .videoVerticalFeedItem #player.is-playing .fp-engine\") as HTMLVideoElement;\n                if (videoElement) {\n                    setTimeout(() => {\n                        if (videoElement.paused) {\n                            videoElement.pause();\n                            videoElement.currentTime = 0;\n                            videoElement.play();\n                        }\n                    }, 500)\n                };\n                if (unActiveVideoElement) unActiveVideoElement.click();\n            }, 600)\n        }\n    }\n\n    private onSubtitleModeToggle = () => {\n        this.setState({ isSubtitleOpen: !this.state.isSubtitleOpen });\n    }\n\n    private onMediaShareToggle = () => {\n        this.setState({ isMediaShareVisible: !this.state.isMediaShareVisible });\n    }\n\n    private handleShareBtnClicked = (button: string) => {\n        this.setState({ isMediaShareVisible: false });\n        const { domain, videoItem } = this.props;\n\n        if (typeof window !== \"undefined\") {\n            const baseUrl = `${domain}/video/${(videoItem.media as SiteVideoData).videoPageId}`;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(baseUrl, \"\", () => { }, \"vertical_video\")\n                    break;\n                case \"tw\":\n                    openTwitterShare(baseUrl, () => { }, \"vertical_video\")\n                    break;\n                case \"wa\":\n                    WhatsAppShareButton.openWhatsAppShare(baseUrl, () => { }, \"vertical_video\")\n                    break;\n            }\n        }\n    }\n\n    private pushGA4Event = () => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { index } = this.props;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            componenta_name: \"vertical_video\",\n            content_type: \"componenta\",\n            position_in_component: index,\n            click_text: \"לכתבה המלאה\"\n        });\n    };\n\n    public render() {\n        const { isSubtitleOpen, isMediaShareVisible, dynamicHeight } = this.state;\n        const { videoItem, domain, showPrerollAds, feedActiveSlide, index } = this.props;\n        const { media, title, subTitle, titleLink, titleTargetLink } = videoItem;\n        const subtitleClass = `videoSubtitle ${isSubtitleOpen ? \"\" : \"close\"}`;\n        const videoPageId = (videoItem.media as SiteVideoData).videoPageId;\n        const videoPageShareUrl = `${domain}/video/${videoPageId}?utm_source=ynet.co.il&utm_medium=share&utm_campaign=copy_url&utm_content=vertical_video`;\n        const shouldDisplayVideo = (feedActiveSlide === index || feedActiveSlide === index - 1 || feedActiveSlide === index + 1);\n\n        return (\n            <div className=\"videoVerticalFeedItemWrapper\" style={{ height: dynamicHeight, width: dynamicHeight * 0.56 }}>\n                <div className=\"videoVerticalFeedItem\" style={{ height: dynamicHeight, width: dynamicHeight * 0.56 }}>\n                    {videoPageId &&\n                        <div className=\"shareArea\">\n                            <div className=\"shareBtn\" onClick={this.onMediaShareToggle}></div>\n                            {isMediaShareVisible &&\n                                <div className=\"mediaShareWrapper\">\n                                    <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"fb\")}>\n                                        <div className=\"mediaShareIcon facebook\"></div>\n                                        <div className=\"mediaShareText\">Facebook</div>\n                                    </div>\n                                    <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"wa\")}>\n                                        <div className=\"mediaShareIcon whatsapp\"></div>\n                                        <div className=\"mediaShareText\">WhatsApp</div>\n                                    </div>\n                                    <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"tw\")}>\n                                        <div className=\"mediaShareIcon twitter\"></div>\n                                        <div className=\"mediaShareText\">Twitter</div>\n                                    </div>\n                                    <div className=\"mediaShareItem\">\n                                        <FrontCopyButton popupText=\"הקישור הועתק ללוח\" title={title} url={videoPageShareUrl} />\n                                        <div className=\"mediaShareText\">העתקת קישור</div>\n                                    </div>\n                                </div>\n                            }\n                        </div>\n                    }\n                    {shouldDisplayVideo &&\n                        <SiteVideoInline\n                            data={media as SiteVideoData}\n                            applyStickyness={true}\n                            width={dynamicHeight * 0.56}\n                            height={dynamicHeight}\n                            hideVideoAds={showPrerollAds ? videoItem.hidePrerollAds : true}\n                            isShareButton={true}\n                            adIndex={videoItem.prerollIndex}\n                            runArticleAutoPlayLogic={false} />\n                    }\n                    <div className=\"contentDiv\">\n                        <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                        <div className={subtitleClass} onClick={this.onSubtitleModeToggle} dangerouslySetInnerHTML={{ __html: subTitle }} />\n                        {titleLink &&\n                            <div onClick={this.pushGA4Event}>\n                                <HyperLinkBuilder\n                                    className=\"videoLink\"\n                                    href={titleLink}\n                                    linkTarget={titleTargetLink}\n                                >\n                                    לכתבה המלאה\n                        </HyperLinkBuilder>\n                            </div>\n                        }\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\n\ninterface VideoVerticalFeedItemMutamProps {\n    videoItem: SiteItemData & {hidePrerollAds?: boolean,prerollIndex?: number}\n    initialFeedSlide: number\n    feedActiveSlide: number\n    feedIndex: number\n    arrowDisplay: string\n    domain: string\n    index: number\n    showPrerollAds: boolean\n    onCloseVideoGalleryView: () => void\n    onNextSlide: () => void\n}\n\ninterface VideoVerticalFeedItemMutamState {\n    isSubtitleOpen: boolean\n}\n\nexport class VideoVerticalFeedItemMutam extends React.Component<VideoVerticalFeedItemMutamProps, VideoVerticalFeedItemMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isSubtitleOpen: false,\n        }\n    }\n\n    componentDidMount() {\n        this.initializeEndedEventListeners();\n    }\n\n    componentWillUnmount() {\n        this.removeEndedEventListeners();\n    }\n\n    private initializeEndedEventListeners() {\n        setTimeout(() => {\n            const videoElements = document.querySelectorAll(\".videoGalleryVerticalMutamComponenta .feedDisplay .slick-slide .videoVerticalFeedItemMutam #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n            if (videoElements.length) {\n                videoElements.forEach((element) => {\n                    element.addEventListener(\"ended\", this.handleVideoEnded);\n                })\n            };\n        }, 600)\n    }\n\n    private removeEndedEventListeners() {\n        const videoElements = document.querySelectorAll(\".videoGalleryVerticalMutamComponenta .feedDisplay .slick-slide .videoVerticalFeedItemMutam #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n        if (videoElements.length) {\n            videoElements.forEach((element) => {\n                element.removeEventListener(\"ended\", this.handleVideoEnded)\n            })\n        };\n    }\n\n    private handleVideoEnded = (e) => {\n        e.target.currentTime = 0;\n        e.target.click();\n        this.props.onNextSlide();\n    }\n\n    private onSubtitleModeToggle = () => {\n        this.setState({ isSubtitleOpen: !this.state.isSubtitleOpen });\n    }\n\n    private openShare = async () => {\n        const { domain, videoItem: { media } } = this.props;\n        const shareUrl = `${domain}/video/${(media as SiteVideoData).videoPageId}?utm_source=ynet.co.il&utm_medium=Share&utm_campaign=copy_url&utm_content=vertical_video`;\n        const shareData = { url: shareUrl };\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    private pushGA4Event = () => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { index } = this.props;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            componenta_name: \"vertical_video\",\n            content_type: \"componenta\",\n            position_in_component: index,\n            click_text:\"לכתבה המלאה\"\n        });\n    };\n\n    public render() {\n        const { isSubtitleOpen } = this.state;\n        const { videoItem, onCloseVideoGalleryView, arrowDisplay, onNextSlide, showPrerollAds, index, feedActiveSlide } = this.props;\n        const { media, title, subTitle, titleLink, titleTargetLink } = videoItem;\n        const subtitleClass = `videoSubtitle ${isSubtitleOpen ? \"\" : \"close\"}`;\n        const feedItemClass = `videoVerticalFeedItemMutam ${isSubtitleOpen ? \"openMode\" : \"standardMode\"}`;\n        const videoPageId = (media as SiteVideoData).videoPageId;\n        const shouldDisplayVideo = (feedActiveSlide === index || feedActiveSlide === index - 1 || feedActiveSlide === index + 1);\n\n        return (\n            <div className={feedItemClass}>\n                {shouldDisplayVideo && \n                <SiteVideoInline\n                data={media as SiteVideoData}\n                applyStickyness={true}\n                hideVideoAds={showPrerollAds ? videoItem.hidePrerollAds : true}\n                adIndex={videoItem.prerollIndex}\n                isShareButton={false}/>\n            }\n                <div className={`arrow arrowNext ${arrowDisplay}`} onClick={onNextSlide}>לסרטון הבא</div>\n                <div className=\"closeBtn\" onClick={onCloseVideoGalleryView}></div>\n                {videoPageId && <div className=\"shareBtn\" onClick={this.openShare}></div>}\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className={subtitleClass} onClick={this.onSubtitleModeToggle} dangerouslySetInnerHTML={{ __html: subTitle }} />\n                    {titleLink &&\n                        <div onClick={this.pushGA4Event}>\n                            <HyperLinkBuilder\n                                className=\"videoLink\"\n                                href={titleLink}\n                                linkTarget={titleTargetLink}\n                            >\n                                לכתבה המלאה\n                        </HyperLinkBuilder>\n                        </div>\n                    }\n                </div>\n            </div>\n        )\n    }\n}","import * as map from \"lodash/map\"\nrequire(\"./site_mediaGalleryComponenta.less\")\nrequire(\"./../../tab/componentas/site_tabComponenta.less\")\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteMediaData } from \"../../../interfaces\"\nimport * as classNames from \"classnames\"\nimport { SiteMedia } from \"../../../siteWidgets/siteMedia\";\nimport { LinkTargetProperties } from \"../../../../global/components/linkSettings/interfaces\";\nimport { getImagesSrc } from \"../../../commonComponents/inline/siteSimpleImage\";\nimport { GroupItemSlotData } from \"../../multiArticleRotation/data/groupItemSlotData\";\n\n\n\n\n\ninterface mediaGalleryState {\n    selectedIndex: number\n}\nexport interface GroupItemData {\n    media: SiteMediaData,\n    title: string,\n    link: string,\n    targetLink: LinkTargetProperties,\n}\ninterface mediaGalleryProps {\n    isEnglish?: boolean\n    mainTitleText: string\n    groupList: GroupItemData[]\n    isTitleVisible?: boolean\n    tabBackgroundColor: string\n    tabBackgroundImageUrl: string\n    componentaWidth: number\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    groupItemsArray: GroupItemSlotData[]\n    videoSettings: any\n    imagesDomain: string\n}\n\n\nexport class FrontGalleryComponenta extends React.Component<mediaGalleryProps, mediaGalleryState>{\n    public static siteScriptName = \"FrontGalleryComponenta\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            selectedIndex: 0\n        }\n    }\n    private setActiveItem = (index) => {\n        this.setState({ selectedIndex: index });\n    }\n    private slidePrev = () => {\n        let newIndex;\n        if (this.state.selectedIndex !== 0) { newIndex = this.state.selectedIndex - 1 }\n        this.setState({ selectedIndex: newIndex });\n    }\n    private slideNext = () => {\n        const { groupItemsArray } = this.props\n        let newIndex;\n        if (this.state.selectedIndex < groupItemsArray.length - 1) {\n            newIndex = this.state.selectedIndex + 1\n        }\n        this.setState({ selectedIndex: newIndex });\n    }\n    public render() {\n        const { isEnglish, groupList, tabLink, tabLinkTarget, isTitleVisible, videoSettings, mainTitleText,\n            groupItemsArray, tabBackgroundColor, tabBackgroundImageUrl, componentaWidth, imagesDomain } = this.props\n\n        const tabStyles = tabBackgroundColor ? { backgroundColor: tabBackgroundColor } : { backgroundImage: `url(\"${getImagesSrc(imagesDomain, tabBackgroundImageUrl)}\")`, backgroundRepeat: \"no-repeat\" }\n        const allMedia = groupList.map(item => item.media)\n        let englishSite = isEnglish ? \"englishSite\" : \"\"\n        const { selectedIndex } = this.state\n\n\n        let disabledNext = selectedIndex === groupItemsArray.length - 1\n        let disabledPrev = selectedIndex === 0\n        const innerStyle = {\n            width: (groupItemsArray.length * componentaWidth) + \"px\",\n            right: (selectedIndex * componentaWidth * -1) + \"px\"\n        };\n        const bigItem: GroupItemData = groupList[selectedIndex * 3]\n        const smallItems = groupList.slice(selectedIndex * 3 + 1, selectedIndex * 3 + 3)\n\n        return (\n            <div className={`MediaGalleryComponenta ${englishSite}`}  >\n                <div className=\"TabComponenta mediaGalleryTab\" style={tabStyles}>\n                    <HyperLinkBuilder className=\"titleLink mainTitleLink\" href={tabLink} linkTarget={tabLinkTarget}><div className=\"mainTitleText\">{mainTitleText}</div></HyperLinkBuilder>\n                    {groupItemsArray.length > 1 && <div className=\"pager\">\n                        {map(groupItemsArray, (item, index) =>\n                            <button\n                                className={index === selectedIndex ? \"isActive\" : \"\"}\n                                onClick={() => this.setActiveItem(index)}\n                                key={index}\n                            />)}\n                    </div>}\n                    {groupItemsArray.length > 1 && <div className=\"gallery_arrows\">\n                        <button className=\"gallery_arrow_right\" onClick={isEnglish ? this.slideNext : this.slidePrev} disabled={isEnglish ? disabledNext : disabledPrev} title={isEnglish ? \"next\" : \"previos\"} />\n                        <div className=\"gallery_separator\" />\n                        <button className=\"gallery_arrow_left\" onClick={isEnglish ? this.slidePrev : this.slideNext} disabled={isEnglish ? disabledPrev : disabledNext} title={isEnglish ? \"previos\" : \"next\"} />\n                    </div>}\n                </div>\n                <div className=\"main-gallery\">\n                    <div className=\"slider\" style={innerStyle}>  {map(groupItemsArray, (item, i) =>\n                        <div className=\"GroupContent\" key={i}>\n                            <div className=\"firstItemInGroup\">\n                                <div className={classNames(\"slotView\")}>\n                                    <SiteMedia\n                                        allMedias={allMedia}\n                                        data={bigItem.media}\n                                        videoSettings={videoSettings} key={bigItem.media.url} width={437} height={246} />\n\n                                    {isTitleVisible && <div className=\"itemTitle\">\n                                        <HyperLinkBuilder href={bigItem.link} linkTarget={bigItem.targetLink}>\n                                            <div dangerouslySetInnerHTML={{ __html: bigItem.title }} />\n                                        </HyperLinkBuilder>\n                                    </div>}\n\n                                </div>\n                            </div>\n                            <div className=\"slotList\">\n                                <div>\n                                    {smallItems.map((item, index) => <div className={classNames(\"slotView\")} key={index}>\n                                        <SiteMedia\n                                            allMedias={allMedia}\n                                            data={item.media}\n                                            videoSettings={videoSettings} key={item.media.url} width={211} height={118} />\n\n                                        {isTitleVisible && <div className=\"itemTitle\">\n                                            <HyperLinkBuilder href={item.link} linkTarget={item.targetLink}>\n                                                <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                            </HyperLinkBuilder>\n                                        </div>}\n\n                                    </div>)}\n                                </div>\n                            </div>\n                        </div>)}\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}\n","require(\"./site_mediaGalleryComponenta.less\")\nrequire(\"./../../tab/componentas/site_tabComponenta.less\")\nimport { SiteMedia } from \"../../../siteWidgets/siteMedia\";\nimport * as classNames from \"classnames\"\nimport * as map from \"lodash/map\"\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\";\nimport { GroupItemData } from \"./frontMediaGallery\";\nimport { LinkTargetProperties } from \"../../../../global/components/linkSettings/interfaces\";\nimport { SiteSettings, SiteSettingsHOC } from \"global/components/siteSettingsHOC\"\nimport { getImagesSrc } from \"../../../commonComponents/inline/siteSimpleImage\";\nimport Slider from 'react-slick'\n\ninterface mediaGalleryState {\n    activeSlide\n    isLightBoxOpened: boolean\n}\n\ninterface mediaGalleryProps {\n    isEnglish?: boolean\n    mainTitleText: string\n    groupList: GroupItemData[]\n    isTitleVisible?: boolean\n    tabBackgroundColor: string\n    tabBackgroundImageUrl: string\n    componentaWidth: number\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    videoSettings: any\n    imagesDomain: string\n}\n\n\n\nexport class MediaGalleryMobile extends React.Component<mediaGalleryProps, mediaGalleryState>{\n    constructor(props: mediaGalleryProps) {\n        super(props);\n        this.state = {\n            activeSlide: 0,\n            isLightBoxOpened: false\n        }\n\n    }\n    private slider;\n    private previous = () => {\n        this.slider.slickPrev();\n    }\n    private next = () => {\n        this.slider.slickNext();\n    }\n\n    private addCssOnLightBox = () => {\n        this.setState({ isLightBoxOpened: true })\n\n    }\n    private removeCssOnLightBox = () => {\n        this.setState({ isLightBoxOpened: false })\n\n    }\n    public static siteScriptName = \"MediaGalleryMobile\";\n\n    public render() {\n        const { isEnglish, groupList, tabLink, tabLinkTarget, isTitleVisible, videoSettings, mainTitleText,\n            tabBackgroundColor, tabBackgroundImageUrl, componentaWidth, imagesDomain } = this.props\n        const { isLightBoxOpened } = this.state\n        const tabStyles = tabBackgroundColor ? { backgroundColor: tabBackgroundColor } : { backgroundImage: `url(\"${getImagesSrc(imagesDomain, tabBackgroundImageUrl)}\")`, backgroundRepeat: \"no-repeat\" }\n\n        let englishSite = isEnglish ? \"englishSite\" : \"\"\n        const innerStyle = {\n            width: (groupList.length * 167) + \"px\",\n            right: (this.state.activeSlide * 167 * -1) + \"px\"\n        };\n        const innerEnglishStyle = {\n            width: (groupList.length * 167) + \"px\",\n            left: (this.state.activeSlide * 167 * -1) + \"px\"\n        };\n        var settings = {\n            draggable: false,\n            speed: 500,\n            infinite: true,\n            dots: false,\n            slidesToShow: 1,\n            variableWidth: true\n\n        }\n        const mainGallery = classNames(\"main-gallery\", { \"withoutTransform\": isLightBoxOpened })\n        return (\n            <div className={`MediaGalleryComponenta ${englishSite}`}>\n                <div className=\"TabComponenta mediaGalleryTab\" style={tabStyles}>\n                    <HyperLinkBuilder className=\"titleLink mainTitleLink\" href={tabLink} linkTarget={tabLinkTarget}><div className=\"mainTitleText\">{mainTitleText}</div></HyperLinkBuilder>\n                </div>\n                <div className={mainGallery}>\n\n                    <Slider ref={slider => (this.slider = slider)} {...settings} className=\"slider\"  >\n                        {map(groupList, (item, index) =>\n                            <div className={classNames(\"slotView\")} key={index}>\n                                <SiteMedia\n                                    data={item.media}\n                                    onLightBoxOpened={this.addCssOnLightBox}\n                                    onLightBoxClosed={this.removeCssOnLightBox}\n                                    videoSettings={videoSettings}\n                                    key={item.media.url} width={211} height={118} />\n\n                                {isTitleVisible && <div className=\"itemTitle\">\n                                    <HyperLinkBuilder href={item.link} linkTarget={item.targetLink}>\n                                        <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                    </HyperLinkBuilder>\n                                </div>}\n\n                            </div>\n                        )}\n                    </Slider>\n                </div>\n            </div>\n        )\n    }\n}\n\n\n","import { SiteMediaData, SiteItemData, SiteImageData } from \"../../../interfaces\"\nimport { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\"\nimport { IFieldDisplayData } from \"../../../commonDataObjects/interfaces\"\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\"\nimport { SiteMedia } from \"../../../siteWidgets/siteMedia\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\n\n\n\ninterface MultiImagesLabelsFrontProps {\n    width: number\n    imageWidth: number\n    imageHeight: number\n    itemList: Partial<SiteItemData>[]\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    titleColor: string\n    lastHeightSize?: number\n    isBottomLinkVissible?: boolean\n    bottomLinkColor: string\n    isLabelVisible: boolean\n    bgColor: string\n}\n\ninterface MultiImagesLabelsFrontState {\n    rightOffset: number\n    selectedIndex: number\n}\n\n\nexport class MultiImagesLabelsFront2 extends React.Component<MultiImagesLabelsFrontProps, MultiImagesLabelsFrontState>{\n    public static siteScriptName = \"MultiImagesLabelsFront2\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            selectedIndex: 0,\n            rightOffset: 0,\n\n        }\n    }\n    private numberOfImagesToView = (width, imageWidth) => {\n        const itemWidth = imageWidth + 17\n        const numberOfImagesToView = Math.floor(width / itemWidth)\n        return numberOfImagesToView;\n    }\n\n    private handleScrollLeftClicked = () => {\n        const { selectedIndex, rightOffset } = this.state\n        const { itemList, width, imageWidth, imageHeight } = this.props\n        const single_media_item_width = imageWidth + 17\n        let newIndex = selectedIndex + 1;\n        const scrollBarWidth = width - 76\n        const lastScrollingsize = single_media_item_width - (scrollBarWidth - this.numberOfImagesToView(width - 76, imageWidth) * single_media_item_width)\n        const newRightOffset = rightOffset - single_media_item_width\n        const lastNewOffset = rightOffset - lastScrollingsize\n        if (selectedIndex < itemList.length - this.numberOfImagesToView(scrollBarWidth, imageWidth) - 1) {\n            this.setState({\n                rightOffset: newRightOffset,\n                selectedIndex: newIndex\n            })\n        }\n        else if (selectedIndex === itemList.length - this.numberOfImagesToView(scrollBarWidth, imageWidth) - 1) {\n            this.setState({\n                rightOffset: lastNewOffset,\n                selectedIndex: newIndex\n            })\n        }\n\n    }\n\n    private handleScrollRightClicked = () => {\n        const { selectedIndex, rightOffset } = this.state\n        const { itemList, width, imageWidth, imageHeight } = this.props\n        const scrollBarWidth = width - 76\n        const single_media_item_width = imageWidth + 17\n        let newIndex = selectedIndex - 1\n        const lastScrollingsize = single_media_item_width - (scrollBarWidth - this.numberOfImagesToView(scrollBarWidth, imageWidth) * single_media_item_width)\n        const firstOffset = rightOffset + lastScrollingsize\n        const newRightOffset = rightOffset + single_media_item_width\n\n        if (selectedIndex > 1) {\n            this.setState({\n                rightOffset: newRightOffset,\n                selectedIndex: newIndex\n            })\n        }\n        else if (selectedIndex === 1) {\n            this.setState({\n                rightOffset: 0,\n                selectedIndex: 0\n            })\n        }\n        /*  else if (selectedIndex === itemList.length - this.numberOfImagesToView(scrollBarWidth, imageWidth)) {\n              this.setState({\n                  rightOffset: firstOffset,\n                  selectedIndex: newIndex\n              })\n          }*/\n    }\n\n    public render() {\n        const { width, imageWidth, itemList, imageHeight, videoSettings, fieldsDisplaySettings, titleColor, lastHeightSize,\n            isLabelVisible, isBottomLinkVissible, bottomLinkColor, bgColor } = this.props\n        const { selectedIndex, rightOffset } = this.state\n        let isRightArrowAvailble = selectedIndex !== 0\n        let isLeftArrowAvailble = selectedIndex !== itemList.length - this.numberOfImagesToView(width - 76, imageWidth)\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        return (\n            <div className=\"slotsContent\" style={{ height: lastHeightSize }}>\n                <button\n                    disabled={!isRightArrowAvailble}\n                    className=\"scrollRightBtn slotListArrow\"\n                    aria-label=\"scroll right\"\n                    title=\"scroll right\"\n                    style={{ top: isLabelVisible ? 22 : 2 }} onClick={(e) => this.handleScrollRightClicked()} />\n                <div className=\"frame_forList\">\n                    <div className=\"slotListWrapper\" style={{ \"marginRight\": rightOffset }} >\n                        {itemList.map((slot, index) =>\n                            <div className=\"slotView\" key={`slotItem_${slot.itemId}_${index}`}\n                                style={{ background: bgColor }}>\n                                {isLabelVisible && <div className=\"mediaLabel\">\n\n                                    {slot.labelUrl !== \"\" && <HyperLinkBuilder\n                                        href={slot.labelLink}\n                                        linkTarget={slot.labelLink !== undefined && slot.labelLinkTarget}\n                                        ariaLabel={slot.labelName}\n                                    >\n                                        <img src={slot.labelUrl} width={182} aria-hidden=\"true\" title={slot.labelName} height={20} />\n                                    </HyperLinkBuilder>}\n                                </div>}\n                                <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                                    <SiteMedia itemLinkUrl={slot.titleLink} linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink} isImageLinkable={true} data={slot.media !== undefined ? slot.media : emptyMedia}\n                                        width={imageWidth} height={imageHeight} videoSettings={videoSettings} />\n\n                                </div>\n                                <div className=\"slotTextArea\">\n                                    {fieldsDisplaySettings.isTitleVisible && <div className=\"slotTitle twoRow\">\n                                        <HyperLinkBuilder\n                                            href={slot.titleLink}\n                                            linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                            children={slot.title} >\n                                            <span style={{ color: titleColor }} >\n                                                <div dangerouslySetInnerHTML={{ __html: slot.title }} />\n                                            </span>\n                                        </HyperLinkBuilder>\n                                    </div>}\n                                    {isBottomLinkVissible && slot.bottomText !== undefined && <div className=\"slotBottomLink\" >\n                                        <HyperLinkBuilder\n                                            href={slot.bottomTextLink !== undefined && slot.bottomTextLink}\n                                            linkTarget={slot.bottomTextLinkTarget !== undefined && slot.bottomTextLinkTarget}\n                                            children={slot.bottomTextLink} >\n                                            <span style={{ color: bottomLinkColor }} >\n                                                <div dangerouslySetInnerHTML={{ __html: slot.bottomText }} />\n                                            </span>\n                                        </HyperLinkBuilder>\n                                    </div>}\n                                </div>     </div>)}</div>\n                </div>\n                <button\n                    disabled={!isLeftArrowAvailble}\n                    title=\"scroll left\"\n                    aria-label=\"scroll left\"\n                    className=\"scrollLeftBtn slotListArrow\"\n                    style={{ top: isLabelVisible ? 22 : 2 }}\n                    onClick={(e) => this.handleScrollLeftClicked()} />\n\n\n\n            </div>)\n    }\n}\n","require(\"./ynet_site_miltiArticleRotationComponenta.less\")\nrequire(\"./../../tab/componentas/site_tabComponenta.less\")\nimport * as map from \"lodash/map\"\nimport { MultiArticleRotationDispalyDate } from \"../data/multiArticleRotationData\"\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { SiteMediaData } from \"../../../interfaces\"\nimport { SimpleBottomLinkItemData } from \"../data/bottomLinkItemData\"\nimport { SiteMedia } from \"../../../siteWidgets/siteMedia\"\n\n\n\n\nexport interface GroupSlotItemData {\n    title?: string\n    link?: string\n    subTitle: string\n    targetLink?: LinkTargetProperties\n    media: SiteMediaData\n    commertialText: string\n    isVisible: boolean\n}\n\nexport interface GroupItemAtSiteProps extends MultiArticleRotationDispalyDate {\n    groupItemData: GroupSlotItemData[]\n    bottomLinks: SimpleBottomLinkItemData[]\n}\n\n\nexport class GroupItemAtSite extends React.Component<GroupItemAtSiteProps, {}>{\n    public render() {\n        const { bottomLinks, groupItemData, isBottomLinksVisible, titleColor,\n            subTitleColor, commertialColor, bgColor, fieldsDisplaySettings,\n            isCommertialText, videoSettings,\n            imageWidth, imageHeight } = this.props\n        return (\n            <div className=\"GroupContent\" style={{ background: bgColor }} >\n                <div className=\"slotsContent\">\n\n                    {groupItemData.map((item, index) =>\n                        <div key={index}> <div><div><div className=\"slotView\">\n                            <div className=\"MediaCarousel\" style={{ \"height\": imageHeight, \"width\": imageWidth, \"overflow\": \"hidden\" }}>\n                                <SiteMedia data={item.media} videoSettings={videoSettings} key={item.media.url} width={imageWidth} height={imageHeight} />\n                            </div>\n                            {fieldsDisplaySettings.isTitleVisible && <div className=\"slotTitle\" style={{ color: titleColor }}>\n                                <HyperLinkBuilder href={item.link} linkTarget={item.targetLink} style={{ color: titleColor }}\n                                > <div dangerouslySetInnerHTML={{ __html: item.title }} /></HyperLinkBuilder> </div>}\n                            {fieldsDisplaySettings.isSubTitleVisible && <div className=\"slotSubTitle\" style={{ color: subTitleColor }} >\n                                <HyperLinkBuilder href={item.link} linkTarget={item.targetLink} style={{ color: subTitleColor }}\n                                > <div dangerouslySetInnerHTML={{ __html: item.subTitle }} /></HyperLinkBuilder>\n                            </div>}\n\n                            {isCommertialText && <div className=\"commertialContent\" style={{ color: commertialColor }} >\n                                <HyperLinkBuilder href={item.link} linkTarget={item.targetLink} style={{ color: commertialColor }}\n                                ><div dangerouslySetInnerHTML={{ __html: item.commertialText }} /></HyperLinkBuilder>\n                            </div>}\n\n                        </div></div></div></div>\n                    )}\n                </div>\n                {isBottomLinksVisible && <ul className=\"bottomLinks\">\n                    {map(bottomLinks, (item) => <li key={item.slotId} style={{ color: item.color }}>\n                        <HyperLinkBuilder style={{ color: item.color }} href={item.link} linkTarget={item.linkTarget} children={item.name} />\n                    </li>)}\n                </ul>}\n            </div>\n        )\n    }\n}\n\n","import { GroupItemAtSite, GroupSlotItemData } from \"./groupItemAtSite\"\nimport { SimpleBottomLinkItemData } from \"../data/bottomLinkItemData\";\nimport { MultiArticleRotationDispalyDate } from \"../data/multiArticleRotationData\";\n\n\ninterface GroupsProps extends MultiArticleRotationDispalyDate {\n    groupItemData: GroupSlotItemData[]\n    bottomLinks: { [packNumber: number]: SimpleBottomLinkItemData[] }\n    numberOfVisibleItems: number\n    totalNumberofGroups: number\n}\n\nexport class GroupsSite extends React.Component<GroupsProps, {}>{\n    public static siteScriptName = \"GroupsSite\";\n\n    private rotateGroupsView = () => {\n        const { timeInterval, totalNumberofGroups } = this.props\n        var d = new Date();\n        var h = d.getHours();\n        var m = d.getMinutes()\n        let timeMinutes = h * 60 + m\n        let packNumber = Math.floor((timeMinutes / timeInterval) % totalNumberofGroups)\n        return packNumber\n    }\n    public render() {\n        const { groupItemData, numberOfVisibleItems, bottomLinks,\n            ...rest } = this.props\n        const packNumber = this.rotateGroupsView();\n        const groupVisibleList = groupItemData\n        let startSlot = packNumber * numberOfVisibleItems;\n        let endSlot = startSlot + numberOfVisibleItems\n        let groupSlotsList = groupItemData.slice(startSlot, endSlot)\n        let bootomLinksToShow = bottomLinks[packNumber]\n        return (\n            <GroupItemAtSite\n                {...rest}\n                groupItemData={groupSlotsList}\n                bottomLinks={bootomLinksToShow} />)\n    }\n}\n","import { SiteMediaData, SiteItemData, SiteImageData } from \"../../../interfaces\"\nimport { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\"\nimport { IFieldDisplayData } from \"../../../commonDataObjects/interfaces\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { MultiImagesFrontItem } from \"./multiImagesFrontItem\";\nimport { googleScript } from \"widgets/widgetsUtils\"\n\nrequire(\"./site_miltiImagesComponenta.less\")\n\n\ninterface MultiImagesFrontProps {\n    width: number\n    imageWidth: number\n    imageHeight: number\n    itemList: SiteItemData[]\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    subTitleColor: string\n    titleColor: string\n    lastHeightSize?: number\n    isGrid1280?: boolean\n    isDoubleTab?: boolean\n    isLtr?: boolean\n    ads_infrastructure_type?: string\n}\n\ninterface MultiImagesFrontState {\n    num_of_scrolls_left_available: number\n    num_of_scrolls_right_available: number\n    width_in_pixels_of_last_overflowing_item_in_row: number\n    rightOffset: number\n}\n\n\nexport class MultiImagesFront extends React.Component<MultiImagesFrontProps, MultiImagesFrontState>{\n    public static siteScriptName = \"MultiImagesFront\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            num_of_scrolls_left_available: null,\n            num_of_scrolls_right_available: null,\n            rightOffset: 0,\n            width_in_pixels_of_last_overflowing_item_in_row: 0\n        }\n    }\n\n\n    private getItemMargin = (componentWidth: number, imageWidth: number) => {\n        const singleItemWidth = imageWidth\n        let numberofVisibleItems = Math.floor(componentWidth / singleItemWidth)\n        let imagesWidth = numberofVisibleItems * singleItemWidth\n        let spaceForMargin = componentWidth - imagesWidth\n        let marginLeft = spaceForMargin / (numberofVisibleItems - 1)\n        return marginLeft\n    }\n    public componentWillMount() {\n        const { itemList, imageWidth, width } = this.props\n        if (itemList.length > 0) {\n            this.setupLisScrolling(itemList, width, imageWidth)\n        }\n    }\n\n\n    private setupLisScrolling(medias: any[], width: number, imageWidth: number) {\n        const num_of_items = medias.length\n        const single_media_item_width = imageWidth + this.getItemMargin(width, imageWidth)\n        const num_of_medias_fit_in_full_row = Math.floor(width / imageWidth)\n        const items_in_last_row = num_of_items % num_of_medias_fit_in_full_row;\n        let num_of_scrolls_left_available: number;\n        if (items_in_last_row !== 0) {\n            num_of_scrolls_left_available = Math.floor(num_of_items / num_of_medias_fit_in_full_row)\n        }\n        else { num_of_scrolls_left_available = Math.floor(num_of_items / num_of_medias_fit_in_full_row) - 1 }\n        const num_of_scrolls_right_available = 0\n        this.setState({ num_of_scrolls_left_available, num_of_scrolls_right_available, width_in_pixels_of_last_overflowing_item_in_row: this.getItemMargin(width, imageWidth) })\n    }\n\n    private handleScrollLeftClicked = () => {\n        const { width_in_pixels_of_last_overflowing_item_in_row, num_of_scrolls_left_available, num_of_scrolls_right_available, rightOffset } = this.state\n        const { itemList, width, imageWidth, imageHeight } = this.props\n        const single_media_item_width = imageWidth + width_in_pixels_of_last_overflowing_item_in_row\n\n        if (num_of_scrolls_left_available === 1) {\n            const num_of_medias_fit_in_full_row = Math.floor(width / imageWidth)\n            const rightOffset = (single_media_item_width * (itemList.length - num_of_medias_fit_in_full_row)) - width_in_pixels_of_last_overflowing_item_in_row\n            this.setState({\n                rightOffset: - rightOffset - width_in_pixels_of_last_overflowing_item_in_row,\n                num_of_scrolls_left_available: 0,\n                num_of_scrolls_right_available: num_of_scrolls_right_available + 1\n            })\n\n            return null\n\n        }\n        if (num_of_scrolls_left_available > 0) {\n            this.setState({\n                rightOffset: rightOffset - width - width_in_pixels_of_last_overflowing_item_in_row,\n                num_of_scrolls_left_available: num_of_scrolls_left_available - 1 !== 0 ? num_of_scrolls_left_available - 1 : 0,\n                num_of_scrolls_right_available: num_of_scrolls_right_available + 1\n            })\n        }\n    }\n\n    private handleScrollRightClicked = () => {\n        const { num_of_scrolls_right_available, num_of_scrolls_left_available, width_in_pixels_of_last_overflowing_item_in_row, rightOffset } = this.state\n        const { width } = this.props\n        if (num_of_scrolls_right_available === 1) {\n            this.setState({\n                rightOffset: 0,\n                num_of_scrolls_left_available: num_of_scrolls_left_available + 1,\n                num_of_scrolls_right_available: 0\n            })\n            return null\n        }\n        if (num_of_scrolls_right_available > 0) {\n            this.setState({\n                rightOffset: rightOffset + width + width_in_pixels_of_last_overflowing_item_in_row,\n                num_of_scrolls_left_available: num_of_scrolls_left_available + 1,\n                num_of_scrolls_right_available: num_of_scrolls_right_available - 1 > 0 ? num_of_scrolls_right_available - 1 : 0\n            })\n        }\n    }\n    public componentWillReceiveProps(nextProps) {\n        const { itemList, imageWidth, width } = nextProps\n\n        if (nextProps.itemList.length > 0) {\n            this.setupLisScrolling(itemList, width, imageWidth)\n        }\n    }\n\n    public render() {\n        const { width, imageWidth, itemList, imageHeight, videoSettings, isDoubleTab, isLtr, \n            fieldsDisplaySettings, titleColor, subTitleColor, lastHeightSize, isGrid1280, ads_infrastructure_type } = this.props\n        const { num_of_scrolls_right_available, num_of_scrolls_left_available, rightOffset } = this.state\n        const itemWidth = this.getItemMargin(width, imageWidth) + imageWidth\n        let isLeftArrowVisible = num_of_scrolls_left_available !== 0\n        let isRightArrowVisible = num_of_scrolls_right_available !== 0\n        const marginStyle = isLtr ? { marginLeft: rightOffset } : { marginRight: rightOffset }\n        const dfpMarginStyle = isLtr ? { marginRight: this.getItemMargin(width, imageWidth) } : { marginLeft: this.getItemMargin(width, imageWidth) }\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const allMediaItems: SiteMediaData[] = itemList.map(item => { return item.media })\n        let AutoIndex = 0;\n        const scrollNextClass = isLtr ? \"scrollRightBtn slotListArrow\" : \"scrollLeftBtn slotListArrow\"\n        const scrollPrevClass = isLtr ? \"scrollLeftBtn slotListArrow\" : \"scrollRightBtn slotListArrow\"\n        return (<div className=\"slotsContent\" style={{ height: lastHeightSize }}>\n            {isRightArrowVisible && <button className={scrollPrevClass}\n                onClick={(e) => this.handleScrollRightClicked()}\n                title=\"scroll prev\"\n                aria-label=\"scroll prev\" />}\n            <div className=\"slotListWrapper\" style={marginStyle} >\n                {itemList.map((slot, index) => {\n                    if (slot.isDFP) return <div id={slot.dfpId} key={index} className=\"slotView dfpId\" style={dfpMarginStyle} >\n                        {ads_infrastructure_type && ads_infrastructure_type === \"new\" && <script type=\"text/javascript\" dangerouslySetInnerHTML={{ __html: googleScript(slot.dfpId) }}></script>}\n                    </div>\n                    else return (<MultiImagesFrontItem\n                        key={index}\n                        slot={slot}\n                        index={index}\n                        margin={this.getItemMargin(width, imageWidth)}\n                        {...this.props} />)\n                })}\n            </div>\n            {isLeftArrowVisible && <button className={scrollNextClass} title=\"scroll next\" aria-label=\"scroll next\" onClick={(e) => this.handleScrollLeftClicked()} />}\n        </div>\n        )\n    }\n}\n\n","import { SiteMediaData, SiteItemData, SiteImageData } from \"../../../interfaces\"\nimport { VideoSettingsData, LinkedItemType, ComponentaIconType } from \"widgets/commonDataObjects/interfaces\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { IFieldDisplayData } from \"../../../commonDataObjects/interfaces\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\"\nimport { SiteMedia } from \"../../../siteWidgets/siteMedia\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { PayWallArctilceIcon } from \"../../../commonComponents/inline/payWallHavak/payWallHavak\";\nimport { MarketingSign } from \"../../../commonComponents/inline/marketingSign/marketingSign\";\nimport { isWcmEditor } from \"../../../../config/serverConfig\";\nrequire(\"./site_miltiImagesComponenta.less\")\n\n\ninterface MultiImagesFrontProps {\n    width: number\n    imageWidth: number\n    imageHeight: number\n    slot: SiteItemData\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    subTitleColor: string\n    titleColor: string\n    lastHeightSize?: number\n    isGrid1280?: boolean\n    isDoubleTab?: boolean\n    margin: number\n    index: number\n    isYplusItem?: boolean\n    isLtr?: boolean\n}\n\n\nexport class MultiImagesFrontItem extends React.Component<MultiImagesFrontProps>{\n    private commaDateView = (itemType) => {\n        const { fieldsDisplaySettings } = this.props\n        if (itemType === LinkedItemType.ARTICLE && (fieldsDisplaySettings.isDateVisible || fieldsDisplaySettings.isHourVisible))\n            return true\n        else return false\n    }\n    private dateView = (itemType) => {\n        const { fieldsDisplaySettings } = this.props\n        if (itemType === LinkedItemType.ARTICLE && fieldsDisplaySettings.isDateVisible)\n            return true\n        else return false\n    }\n    private hourView = (itemType) => {\n        const { fieldsDisplaySettings } = this.props\n        if (itemType === LinkedItemType.ARTICLE && fieldsDisplaySettings.isHourVisible)\n            return true\n        else return false\n    }\n    private titleClassName = (isSubTitleVisible: boolean) => {\n        if (isSubTitleVisible) return \"slotTitle oneRow\"\n        else return \"slotTitle twoRow\"\n\n    }\n    private getIcon = (icon: ComponentaIconType, hasVideo: boolean) => {\n        if (icon === \"automatic\" && hasVideo) return \"video\"\n        return icon;\n    }\n\n    public render() {\n        const { imageWidth, slot, imageHeight, videoSettings, isDoubleTab, margin, isLtr,\n            fieldsDisplaySettings, titleColor, subTitleColor, isGrid1280, index, isYplusItem } = this.props;\n        const { itemId, icon, hasVideo, premiumExpireDays, dateUpdatedOnSite, marketingContentText, media, titleTargetLink, titleLink, subTitle, title, author, itemType, isCommertial } = slot;\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const marginStyle = isLtr ? { marginRight: margin } : { marginLeft: margin };\n\n        return (\n            <div className={`slotView ${isWcmEditor() ? \"inEditMode\" : \"\"}`} key={`slotItem_${itemId}_${index}`}\n                style={marginStyle}>\n\n                <div className=\"imageArea\">\n                    {marketingContentText && <MarketingSign isSmallItem={true} marketingContentText={marketingContentText} />}\n                    <SlotIconDisplay itemId={itemId} icon={this.getIcon(icon, hasVideo)} iconClassName=\"medium\" isIconVisible={hasVideo} />\n                    <PayWallArctilceIcon\n                        premiumExpireDays={premiumExpireDays}\n                        dateUpdatedOnSite={dateUpdatedOnSite}\n                        className=\"onImage\" />\n                    {isGrid1280 && isCommertial && <div className=\"commertialTExt\">מודעה</div>}\n                    <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                        <SiteMedia\n\n                            data={media !== undefined ? media : emptyMedia}\n                            width={imageWidth}\n                            height={imageHeight}\n                            videoSettings={videoSettings}\n                            itemLinkUrl={titleLink}\n                            isImageLinkable={true}\n                            linkTarget={titleTargetLink !== undefined && titleTargetLink}\n                        />\n                    </div> </div>\n                <div className=\"slotTextArea\">\n                    {fieldsDisplaySettings.isTitleVisible && <div className={this.titleClassName(fieldsDisplaySettings.isSubTitleVisible && subTitle !== undefined)}>\n                        <HyperLinkBuilder\n                            href={titleLink}\n                            linkTarget={titleTargetLink !== undefined && titleTargetLink}\n                            children={title} >\n                            <span style={{ color: titleColor }} >\n                                <div dangerouslySetInnerHTML={{ __html: title }} />\n                            </span>\n                        </HyperLinkBuilder>\n                    </div>}\n                    {fieldsDisplaySettings.isSubTitleVisible && subTitle !== undefined && !isDoubleTab && !isYplusItem && <div className=\"slotSubTitle\" >\n                        <HyperLinkBuilder\n                            href={titleLink}\n                            linkTarget={titleTargetLink !== undefined && titleTargetLink}\n                            children={subTitle} >\n                            <span style={{ color: subTitleColor }} >  <div dangerouslySetInnerHTML={{ __html: subTitle }} /></span>\n                        </HyperLinkBuilder>\n                    </div>}\n                    {!isYplusItem && <div className=\"moreDetails\">\n                        {fieldsDisplaySettings.isAuthorVisible && <span className=\"authorField\">{author}</span>}\n                        {fieldsDisplaySettings.isAuthorVisible && this.commaDateView(itemType) && author.length > 0 && <span>, </span>}\n                        {(this.dateView(itemType) || this.hourView(itemType)) && <span> {separateHourFromDateAndFormatToString(dateUpdatedOnSite, { showDate: this.dateView(itemType), showHour: this.hourView(itemType) })} </span>} </div>}\n                </div>\n            </div>\n        )\n    }\n}","import { SiteMediaData, SiteItemData, SiteImageData } from \"../../../interfaces\"\nimport { VideoSettingsData, LinkedItemType, ComponentaIconType } from \"widgets/commonDataObjects/interfaces\"\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteMedia } from \"../../../siteWidgets/siteMedia\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nrequire(\"../../multiImages/components/site_miltiImagesComponenta.less\")\n\n\ninterface MultiImagesFrontProps {\n    width: number\n    imageWidth: number\n    imageHeight: number\n    itemList: SiteItemData[]\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    subTitleColor: string\n    titleColor: string\n    lastHeightSize?: number\n    numberOfVisibleItems: number\n    isBottomLinkVisible: boolean\n    bottomLinkColor: string\n}\n\ninterface MultiImagesFrontState {\n    num_of_scrolls_left_available: number\n    num_of_scrolls_right_available: number\n    width_in_pixels_of_last_overflowing_item_in_row: number\n    rightOffset: number\n}\n\n\nexport class MultiImagesCommertialFront extends React.Component<MultiImagesFrontProps, MultiImagesFrontState>{\n    public static siteScriptName = \"MultiImagesCommertialFront\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            num_of_scrolls_left_available: null,\n            num_of_scrolls_right_available: null,\n            rightOffset: 0,\n            width_in_pixels_of_last_overflowing_item_in_row: 0\n        }\n    }\n\n\n    private getItemMargin = (componentWidth: number, imageWidth: number) => {\n        const singleItemWidth = imageWidth\n        let numberofVisibleItems = Math.floor(componentWidth / singleItemWidth)\n        let imagesWidth = numberofVisibleItems * singleItemWidth\n        let spaceForMargin = componentWidth - imagesWidth\n        let marginLeft = spaceForMargin / (numberofVisibleItems - 1)\n        return marginLeft\n    }\n    public componentWillMount() {\n        const { imageWidth, width, numberOfVisibleItems } = this.props\n        if (numberOfVisibleItems > 0) {\n            this.setupLisScrolling(numberOfVisibleItems, width, imageWidth)\n        }\n    }\n\n\n    private setupLisScrolling(numberOfVisibleItems: number, width: number, imageWidth: number) {\n        const single_media_item_width = imageWidth + this.getItemMargin(width, imageWidth)\n        const num_of_medias_fit_in_full_row = Math.floor(width / (imageWidth))\n        const items_in_last_row = numberOfVisibleItems % num_of_medias_fit_in_full_row;\n        let num_of_scrolls_left_available: number;\n        if (items_in_last_row !== 0) {\n            num_of_scrolls_left_available = Math.floor(numberOfVisibleItems / num_of_medias_fit_in_full_row)\n        }\n        else { num_of_scrolls_left_available = Math.floor(numberOfVisibleItems / num_of_medias_fit_in_full_row) - 1 }\n        const num_of_scrolls_right_available = 0\n        this.setState({ num_of_scrolls_left_available, num_of_scrolls_right_available, width_in_pixels_of_last_overflowing_item_in_row: this.getItemMargin(width, imageWidth) })\n    }\n\n    private handleScrollLeftClicked = () => {\n        const { width_in_pixels_of_last_overflowing_item_in_row, num_of_scrolls_left_available, num_of_scrolls_right_available, rightOffset } = this.state\n        const { width, imageWidth, imageHeight, numberOfVisibleItems } = this.props\n        const single_media_item_width = imageWidth + width_in_pixels_of_last_overflowing_item_in_row\n\n        if (num_of_scrolls_left_available === 1) {\n            const num_of_medias_fit_in_full_row = Math.floor(width / (imageWidth))\n            const rightOffset = (single_media_item_width * (numberOfVisibleItems - num_of_medias_fit_in_full_row)) - width_in_pixels_of_last_overflowing_item_in_row\n            this.setState({\n                rightOffset: - rightOffset - width_in_pixels_of_last_overflowing_item_in_row,\n                num_of_scrolls_left_available: 0,\n                num_of_scrolls_right_available: num_of_scrolls_right_available + 1\n            })\n\n            return null\n\n        }\n        if (num_of_scrolls_left_available > 0) {\n            this.setState({\n                rightOffset: rightOffset - width - width_in_pixels_of_last_overflowing_item_in_row,\n                num_of_scrolls_left_available: num_of_scrolls_left_available - 1 !== 0 ? num_of_scrolls_left_available - 1 : 0,\n                num_of_scrolls_right_available: num_of_scrolls_right_available + 1\n            })\n        }\n    }\n\n    private handleScrollRightClicked = () => {\n        const { num_of_scrolls_right_available, num_of_scrolls_left_available, width_in_pixels_of_last_overflowing_item_in_row, rightOffset } = this.state\n        const { width } = this.props\n        if (num_of_scrolls_right_available === 1) {\n            this.setState({\n                rightOffset: 0,\n                num_of_scrolls_left_available: num_of_scrolls_left_available + 1,\n                num_of_scrolls_right_available: 0\n            })\n            return null\n        }\n        if (num_of_scrolls_right_available > 0) {\n            this.setState({\n                rightOffset: rightOffset + width + width_in_pixels_of_last_overflowing_item_in_row,\n                num_of_scrolls_left_available: num_of_scrolls_left_available + 1,\n                num_of_scrolls_right_available: num_of_scrolls_right_available - 1 > 0 ? num_of_scrolls_right_available - 1 : 0\n            })\n        }\n    }\n    public componentWillReceiveProps(nextProps) {\n        const { imageWidth, width, numberOfVisibleItems } = nextProps\n\n        if (nextProps.numberOfVisibleItems > 0) {\n            this.setupLisScrolling(numberOfVisibleItems, width, imageWidth)\n        }\n    }\n    private titleClassName = (isSubTitleVisible: boolean) => {\n        if (isSubTitleVisible) return \"slotTitle oneRow\"\n        else return \"slotTitle twoRow\"\n\n    }\n    private getIcon = (icon: ComponentaIconType, hasVideo: boolean) => {\n        if (icon === \"automatic\" && hasVideo) return \"video\"\n        return icon;\n    }\n    public render() {\n        const { width, imageWidth, itemList, imageHeight, videoSettings, fieldsDisplaySettings, titleColor, subTitleColor, lastHeightSize, isBottomLinkVisible, bottomLinkColor } = this.props\n        const { num_of_scrolls_right_available, num_of_scrolls_left_available, rightOffset } = this.state\n        const itemWidth = this.getItemMargin(width, imageWidth) + imageWidth\n        let isLeftArrowVisible = num_of_scrolls_left_available !== 0\n        let isRightArrowVisible = num_of_scrolls_right_available !== 0\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\" } as SiteImageData\n        return (<div className=\"slotsContent\" style={{ height: lastHeightSize }}>\n            {isRightArrowVisible && <button className=\"scrollRightBtn slotListArrow\" title=\"scroll right\" aria-label=\"scroll right\" onClick={(e) => this.handleScrollRightClicked()} />}\n            <div className=\"slotListWrapper\" style={{ \"marginRight\": rightOffset }} >\n                {itemList.map((slot, index) =>\n                    <div className=\"slotView\" key={`slotItem_${slot.itemId}_${index}`}\n                        style={{ marginLeft: this.getItemMargin(width, imageWidth) }}>\n                        {slot.media.mediaType === \"MEDIA_VIDEO\" ? <div className=\"imageArea\">\n                            <SlotIconDisplay itemId={slot.itemId} icon={this.getIcon(slot.icon, slot.hasVideo)} iconClassName=\"medium\" isIconVisible={slot.hasVideo} />\n                            <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                                <SiteMedia data={slot.media !== undefined ? slot.media : emptyMedia} width={imageWidth} height={imageHeight} videoSettings={videoSettings} />\n                            </div></div> : <HyperLinkBuilder\n                                href={slot.titleLink}\n                                linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                            >\n                                <div className=\"imageArea\">\n                                    <SlotIconDisplay itemId={slot.itemId} icon={this.getIcon(slot.icon, slot.hasVideo)} iconClassName=\"medium\" isIconVisible={slot.hasVideo} />\n                                    <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                                        <SiteMedia data={slot.media !== undefined ? slot.media : emptyMedia} width={imageWidth} height={imageHeight} videoSettings={videoSettings} />\n                                    </div></div> </ HyperLinkBuilder>}\n                        <div className=\"slotTextArea\">\n                            {fieldsDisplaySettings.isTitleVisible && <div className={this.titleClassName(fieldsDisplaySettings.isSubTitleVisible && slot.subTitle !== undefined)}>\n                                <HyperLinkBuilder\n                                    href={slot.titleLink}\n                                    linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                    children={slot.title} >\n                                    <span style={{ color: titleColor }} > <div dangerouslySetInnerHTML={{ __html: slot.title }} /></span>\n                                </HyperLinkBuilder>\n                            </div>}\n                            {fieldsDisplaySettings.isSubTitleVisible && slot.subTitle !== undefined && <div className=\"slotSubTitle\" >\n                                <HyperLinkBuilder\n                                    href={slot.titleLink}\n                                    linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                    children={slot.subTitle} >\n                                    <span style={{ color: subTitleColor }} > <div dangerouslySetInnerHTML={{ __html: slot.subTitle }} /></span>\n                                </HyperLinkBuilder>\n                            </div>}\n                            {isBottomLinkVisible && slot.bottomText !== undefined && <div className=\"slotBottomLink\" >\n                                <HyperLinkBuilder\n                                    href={slot.bottomTextLink}\n                                    linkTarget={slot.bottomTextLinkTarget !== undefined && slot.bottomTextLinkTarget}\n                                    children={slot.bottomText} >\n                                    <span style={{ color: bottomLinkColor }} > <div dangerouslySetInnerHTML={{ __html: slot.bottomText }} /></span>\n                                </HyperLinkBuilder>\n                            </div>}\n                        </div>\n                    </div>)}\n            </div>\n            {isLeftArrowVisible && <button className=\"scrollLeftBtn slotListArrow\" title=\"scroll left\" aria-label=\"scroll left\" onClick={(e) => this.handleScrollLeftClicked()} />}\n        </div>\n        )\n    }\n}\n// <div >","import { SiteItemData, SiteMediaData, SiteImageData } from \"../../../interfaces\"\nimport { IFieldDisplayData } from \"../../../commonDataObjects/interfaces\";\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\"\nimport { SiteMedia } from \"../../../siteWidgets/siteMedia\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { isAriaHidden } from \"../../../widgetsUtils\"\n\n\n\ninterface MultiImagesFrontState {\n    selectedIndex: number\n}\n\ninterface MultiImagesFrontProps {\n    imageWidth: number\n    imageHeight: number\n    itemList: SiteItemData[]\n    fieldsDisplaySettings?: IFieldDisplayData\n    titleColor: string\n    numberOfVisibleItems: number\n    timeInterval: number\n}\n\nexport class MultiImagesSpecialFront extends React.Component<MultiImagesFrontProps, MultiImagesFrontState>{\n    public static siteScriptName = \"MultiImagesSpecialFront\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            selectedIndex: this.rotateSelectedItemView()\n        }\n    }\n    private rotateSelectedItemView = () => {\n        const { timeInterval, numberOfVisibleItems } = this.props\n        var d = new Date();\n        var h = d.getHours();\n        var m = d.getMinutes()\n        let timeMinutes = h * 60 + m\n        let selectedIndex = Math.floor((timeMinutes / timeInterval) % numberOfVisibleItems)\n        return selectedIndex\n    }\n    private handleScrollLeftClicked = () => {\n        const { selectedIndex } = this.state\n        const { numberOfVisibleItems } = this.props\n        if (selectedIndex === numberOfVisibleItems - 1) { this.setState({ selectedIndex: 0 }) }\n        else {\n            this.setState({ selectedIndex: selectedIndex + 1 })\n        }\n    }\n\n    private handleScrollRightClicked = () => {\n        const { selectedIndex } = this.state\n        const { numberOfVisibleItems } = this.props\n        if (selectedIndex === 0)\n            this.setState({ selectedIndex: numberOfVisibleItems - 1 })\n        else {\n            this.setState({ selectedIndex: selectedIndex - 1 })\n        }\n    }\n\n    public render() {\n        const { imageWidth, imageHeight, itemList, fieldsDisplaySettings, titleColor, numberOfVisibleItems } = this.props;\n        const { selectedIndex } = this.state;\n        const slot = itemList[selectedIndex]\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", credit: \"\", className: \"\", alt: \"\", isAriaHidden: true } as SiteImageData\n        return (\n            <div className=\"slotsContent\">\n\n                <div className=\"slotView\" key={`slotItem_${slot.itemId}_${selectedIndex}`}>\n                    <HyperLinkBuilder\n                        href={slot.titleLink}\n                        linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                    >  <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                            <SiteMedia data={slot.media !== undefined ? slot.media : emptyMedia} width={imageWidth} height={imageHeight} videoSettings={null} />\n                        </div> </ HyperLinkBuilder>\n                    <div className=\"slotTextArea\">\n                        {numberOfVisibleItems > 1 && <button className=\"scrollRightBtn slotListArrow\"\n                            aria-label=\"scroll right\"\n                            title=\"scroll right\"\n                            onClick={(e) => this.handleScrollRightClicked()} />}\n                        {fieldsDisplaySettings.isTitleVisible && <div className=\"slotTitle\">\n                            <HyperLinkBuilder\n                                href={slot.titleLink}\n                                linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                children={slot.title}  >\n                                <span style={{ color: titleColor }} ><div dangerouslySetInnerHTML={{ __html: slot.title }} /></span>\n                            </HyperLinkBuilder>\n                        </div>}\n                        {numberOfVisibleItems > 1 && <button className=\"scrollLeftBtn slotListArrow\" title=\"scroll left\"\n                            aria-label=\"scroll left\"\n                            onClick={(e) => this.handleScrollLeftClicked()} />}\n                    </div>\n                </div>\n\n            </div>\n        )\n    }\n}","import { SiteItemData, SiteMediaData, SiteImageData } from \"../../../interfaces\"\nimport { IFieldDisplayData } from \"../../../commonDataObjects/interfaces\";\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\"\nimport { SiteMedia } from \"../../../siteWidgets/siteMedia\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { LinkedItemVideoSettings } from \"widgets/commonDataObjects/linkedItemsVideoSettings\"\n\n\n\n\ninterface MultiImagesFrontState {\n    selectedIndex: number\n}\n\ninterface MultiImagesFrontProps {\n    imageWidth: number\n    imageHeight: number\n    itemList: SiteItemData[]\n    fieldsDisplaySettings?: IFieldDisplayData\n    titleColor: string\n    subTitleColor: string\n    numberOfVisibleItems: number\n    videoSettings: LinkedItemVideoSettings\n    timeInterval: number\n}\n\nexport class MultiImagesWithFrameFront extends React.Component<MultiImagesFrontProps, MultiImagesFrontState>{\n    public static siteScriptName = \"MultiImagesWithFrameFront\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            selectedIndex: this.rotateSelectedItemView()\n        }\n    }\n    private rotateSelectedItemView = () => {\n        const { timeInterval, numberOfVisibleItems } = this.props\n        var d = new Date();\n        var h = d.getHours();\n        var m = d.getMinutes()\n        let timeMinutes = h * 60 + m\n        let selectedIndex = Math.floor((timeMinutes / timeInterval) % numberOfVisibleItems)\n        return selectedIndex\n    }\n    private handleScrollLeftClicked = () => {\n        const { selectedIndex } = this.state\n        const { numberOfVisibleItems } = this.props\n        if (selectedIndex === numberOfVisibleItems - 1) { this.setState({ selectedIndex: 0 }) }\n        else {\n            this.setState({ selectedIndex: selectedIndex + 1 })\n        }\n    }\n\n    private handleScrollRightClicked = () => {\n        const { selectedIndex } = this.state\n        const { numberOfVisibleItems } = this.props\n        if (selectedIndex === 0)\n            this.setState({ selectedIndex: numberOfVisibleItems - 1 })\n        else {\n            this.setState({ selectedIndex: selectedIndex - 1 })\n        }\n    }\n\n    public render() {\n        const { imageWidth, imageHeight, itemList, fieldsDisplaySettings, titleColor, numberOfVisibleItems, subTitleColor, videoSettings } = this.props;\n        const { selectedIndex } = this.state;\n        const slot = itemList[selectedIndex]\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", credit: \"\", className: \"\", alt: \"\", isAriaHidden: true } as SiteImageData\n        return (\n            <div className=\"slotsContent\">\n\n                <div className=\"slotView\" key={`slotItem_${slot.itemId}_${selectedIndex}`}>\n                    <HyperLinkBuilder\n                        href={slot.titleLink}\n                        linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                    >  <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                            <SiteMedia data={slot.media !== undefined ? slot.media : emptyMedia} width={imageWidth} height={imageHeight} videoSettings={videoSettings} />\n                        </div> </ HyperLinkBuilder>\n                    <div className=\"slotTextArea\">\n                        {numberOfVisibleItems > 1 && <button className=\"scrollRightBtn slotListArrow\"\n                            title=\"scroll right\"\n                            onClick={(e) => this.handleScrollRightClicked()} />}\n                        {fieldsDisplaySettings.isTitleVisible && <div className=\"slotTitle\">\n                            <HyperLinkBuilder\n                                href={slot.titleLink}\n                                linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                children={slot.title}  >\n                                <span style={{ color: titleColor }} ><div dangerouslySetInnerHTML={{ __html: slot.title }} /></span>\n                            </HyperLinkBuilder>\n                        </div>}\n                        {fieldsDisplaySettings.isSubTitleVisible && <div className=\"slotSubTitle\">\n                            <HyperLinkBuilder\n                                href={slot.titleLink}\n                                linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                children={slot.subTitle}  >\n                                <span style={{ color: subTitleColor }} ><div dangerouslySetInnerHTML={{ __html: slot.subTitle }} /></span>\n                            </HyperLinkBuilder>\n                        </div>}\n                        {numberOfVisibleItems > 1 && <button\n                            title=\"scroll left\"\n                            aria-label=\"scroll left\"\n                            className=\"scrollLeftBtn slotListArrow\" onClick={(e) => this.handleScrollLeftClicked()} />}\n                    </div>\n                </div>\n\n            </div>\n        )\n    }\n}","import { SiteMediaData, SiteItemData, SiteImageData } from \"../../../interfaces\"\nimport { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\"\nimport { IFieldDisplayData } from \"../../../commonDataObjects/interfaces\"\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\"\nimport { SiteMedia } from \"../../../siteWidgets/siteMedia\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { SiteSimpleImage } from \"../../../commonComponents/inline/siteSimpleImage\";\nrequire(\"./ynet_site_miltiImagesLabelsComponenta.less\")\n\n\ninterface MultiImagesLabelsFrontProps {\n    width: number\n    imageWidth: number\n    imageHeight: number\n    itemList: Partial<SiteItemData>[]\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    titleColor: string\n    lastHeightSize?: number\n    isBottomLinkVissible?: boolean\n    bottomLinkColor: string\n    isLabelVisible: boolean\n    bgColor: string\n}\n\ninterface MultiImagesLabelsFrontState {\n    num_of_scrolls_left_available: number\n    num_of_scrolls_right_available: number\n    width_in_pixels_of_last_overflowing_item_in_row: number\n    rightOffset: number\n}\n\n\nexport class MultiImagesLabelsFront extends React.Component<MultiImagesLabelsFrontProps, MultiImagesLabelsFrontState>{\n    public static siteScriptName = \"MultiImagesLabelsFront\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            num_of_scrolls_left_available: null,\n            num_of_scrolls_right_available: null,\n            rightOffset: 0,\n            width_in_pixels_of_last_overflowing_item_in_row: 0\n        }\n    }\n\n\n    private getItemMargin = (componentWidth: number, imageWidth: number) => {\n        const singleItemWidth = imageWidth\n        let numberofVisibleItems = Math.floor(componentWidth / singleItemWidth)\n        let imagesWidth = numberofVisibleItems * singleItemWidth\n        let spaceForMargin = componentWidth - imagesWidth\n        let marginLeft = spaceForMargin / (numberofVisibleItems - 1)\n        return marginLeft\n    }\n    public componentWillMount() {\n        const { itemList, imageWidth, width } = this.props\n        if (itemList.length > 0) {\n            this.setupLisScrolling(itemList, width, imageWidth)\n        }\n    }\n\n\n    private setupLisScrolling(medias: any[], width: number, imageWidth: number) {\n        const num_of_items = medias.length\n        const single_media_item_width = imageWidth + this.getItemMargin(width, imageWidth)\n        const num_of_medias_fit_in_full_row = Math.floor(width / (imageWidth))\n        const items_in_last_row = num_of_items % num_of_medias_fit_in_full_row;\n        let num_of_scrolls_left_available: number;\n        if (items_in_last_row !== 0) {\n            num_of_scrolls_left_available = Math.floor(num_of_items / num_of_medias_fit_in_full_row)\n        }\n        else { num_of_scrolls_left_available = Math.floor(num_of_items / num_of_medias_fit_in_full_row) - 1 }\n        const num_of_scrolls_right_available = 0\n        this.setState({ num_of_scrolls_left_available, num_of_scrolls_right_available, width_in_pixels_of_last_overflowing_item_in_row: this.getItemMargin(width, imageWidth) })\n    }\n\n    private handleScrollLeftClicked = () => {\n        const { width_in_pixels_of_last_overflowing_item_in_row, num_of_scrolls_left_available, num_of_scrolls_right_available, rightOffset } = this.state\n        const { itemList, width, imageWidth, imageHeight } = this.props\n        const single_media_item_width = imageWidth + width_in_pixels_of_last_overflowing_item_in_row\n\n        if (num_of_scrolls_left_available === 1) {\n            const num_of_medias_fit_in_full_row = Math.floor(width / (imageWidth))\n            const rightOffset = (single_media_item_width * (itemList.length - num_of_medias_fit_in_full_row)) - width_in_pixels_of_last_overflowing_item_in_row\n            this.setState({\n                rightOffset: - rightOffset - width_in_pixels_of_last_overflowing_item_in_row,\n                num_of_scrolls_left_available: 0,\n                num_of_scrolls_right_available: num_of_scrolls_right_available + 1\n            })\n\n            return null\n\n        }\n        if (num_of_scrolls_left_available > 0) {\n            this.setState({\n                rightOffset: rightOffset - width - width_in_pixels_of_last_overflowing_item_in_row,\n                num_of_scrolls_left_available: num_of_scrolls_left_available - 1 !== 0 ? num_of_scrolls_left_available - 1 : 0,\n                num_of_scrolls_right_available: num_of_scrolls_right_available + 1\n            })\n        }\n    }\n\n    private handleScrollRightClicked = () => {\n        const { num_of_scrolls_right_available, num_of_scrolls_left_available, width_in_pixels_of_last_overflowing_item_in_row, rightOffset } = this.state\n        const { width } = this.props\n        if (num_of_scrolls_right_available === 1) {\n            this.setState({\n                rightOffset: 0,\n                num_of_scrolls_left_available: num_of_scrolls_left_available + 1,\n                num_of_scrolls_right_available: 0\n            })\n            return null\n        }\n        if (num_of_scrolls_right_available > 0) {\n            this.setState({\n                rightOffset: rightOffset + width + width_in_pixels_of_last_overflowing_item_in_row,\n                num_of_scrolls_left_available: num_of_scrolls_left_available + 1,\n                num_of_scrolls_right_available: num_of_scrolls_right_available - 1 > 0 ? num_of_scrolls_right_available - 1 : 0\n            })\n        }\n    }\n    public componentWillReceiveProps(nextProps) {\n        const { itemList, imageWidth, width } = nextProps\n\n        if (nextProps.itemList.length > 0) {\n            this.setupLisScrolling(itemList, width, imageWidth)\n        }\n    }\n\n\n    public render() {\n        const { width, imageWidth, itemList, imageHeight, videoSettings, fieldsDisplaySettings, titleColor, lastHeightSize,\n            isLabelVisible, isBottomLinkVissible, bottomLinkColor, bgColor } = this.props\n        const { num_of_scrolls_right_available, num_of_scrolls_left_available, rightOffset } = this.state\n        const itemWidth = this.getItemMargin(width, imageWidth) + imageWidth\n        let isLeftArrowVisible = num_of_scrolls_left_available !== 0\n        let isRightArrowVisible = num_of_scrolls_right_available !== 0\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        return (\n            <div className=\"slotsContent\" style={{ height: lastHeightSize }}>\n                {isRightArrowVisible && <button\n                    className=\"scrollRightBtn slotListArrow\"\n                    aria-label=\"scroll right\"\n                    title=\"scroll right\"\n                    style={{ top: isLabelVisible ? 48 : 28 }} onClick={(e) => this.handleScrollRightClicked()} />}\n                <div className=\"slotListWrapper\" style={{ \"marginRight\": rightOffset }} >\n                    {itemList.map((slot, index) =>\n                        <div className=\"slotView\" key={`slotItem_${slot.itemId}_${index}`}\n                            style={{ marginLeft: this.getItemMargin(width, imageWidth), background: bgColor }}>\n                            {isLabelVisible && <div className=\"mediaLabel\">\n\n                                {slot.labelUrl !== \"\" && <HyperLinkBuilder\n                                    href={slot.labelLink}\n                                    linkTarget={slot.labelLink !== undefined && slot.labelLinkTarget}\n                                    ariaLabel={slot.labelName}\n                                >\n                                    <SiteSimpleImage src={slot.labelUrl} width={146} aria-hidden=\"true\" title={slot.labelName} height={20} />\n                                </HyperLinkBuilder>}\n                            </div>}\n                            <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                                <SiteMedia itemLinkUrl={slot.titleLink} linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink} isImageLinkable={true} data={slot.media !== undefined ? slot.media : emptyMedia}\n                                    width={imageWidth} height={imageHeight} videoSettings={videoSettings} />\n\n                            </div>\n                            <div className=\"slotTextArea\">\n                                {fieldsDisplaySettings.isTitleVisible && <div className=\"slotTitle twoRow\">\n                                    <HyperLinkBuilder\n                                        href={slot.titleLink}\n                                        linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                        children={slot.title} >\n                                        <span style={{ color: titleColor }} >\n                                            <div dangerouslySetInnerHTML={{ __html: slot.title }} />\n                                        </span>\n                                    </HyperLinkBuilder>\n                                </div>}\n                                {isBottomLinkVissible && slot.bottomText !== undefined && <div className=\"slotBottomLink\" >\n                                    <HyperLinkBuilder\n                                        href={slot.bottomTextLink !== undefined && slot.bottomTextLink}\n                                        linkTarget={slot.bottomTextLinkTarget !== undefined && slot.bottomTextLinkTarget}\n                                        children={slot.bottomTextLink} >\n                                        <span style={{ color: bottomLinkColor }} >{slot.bottomText}</span>\n                                    </HyperLinkBuilder>\n                                </div>}\n                            </div>     </div>)}</div>\n                {isLeftArrowVisible && <button\n                    title=\"scroll left\"\n                    aria-label=\"scroll left\"\n                    className=\"scrollLeftBtn slotListArrow\"\n                    style={{ top: isLabelVisible ? 48 : 28 }}\n                    onClick={(e) => this.handleScrollLeftClicked()} />}\n\n\n\n            </div>)\n    }\n}\n","import * as map from \"lodash/map\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\"\nconst clickOutside = require('react-click-outside');\n\nexport interface CityList {\n    name: string\n    link: string\n    linkTarget: LinkTargetProperties\n    id: string\n}\n\ninterface MyNetTabProps {\n    cityItems: CityList[]\n}\n\ninterface CityListState {\n    isListOpen: boolean\n}\n\n@clickOutside\nexport class CityList extends React.Component<MyNetTabProps, CityListState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isListOpen: false,\n        }\n    }\n    public static siteScriptName = \"CityList\";\n    private handleClickOutside = () => {\n        this.setState({\n            isListOpen: false\n        });\n    }\n\n\n    private toggleCityList = () => {\n        this.setState({\n            isListOpen: !this.state.isListOpen,\n        });\n    }\n    private getWidth = (itemLength) => {\n        let numOfCol = Math.floor(itemLength / 4) + 1\n        return 155 * numOfCol\n    }\n    public render() {\n        const { isListOpen } = this.state\n        const { cityItems } = this.props\n        return (\n            <div className=\"CityList\" >\n                <button className=\"cityList\" title=\"בחר את העיר שלך\" onClick={this.toggleCityList}>בחר את העיר שלך</button>\n                {isListOpen && <div className=\"cityLinksList\" style={{ width: this.getWidth(cityItems.length) }} >{map(cityItems, (city, i) =>\n                    <div key={city.id}>\n                        <HyperLinkBuilder href={city.link} linkTarget={city.linkTarget}>{city.name}</HyperLinkBuilder>\n                    </div>\n                )}</div>}\n            </div>\n        )\n    }\n}\n","import { getShareTranslations } from \"../../../article/componentas/articleSideShareComponenta/translations\"\nimport { MailShareButton } from \"../../../../siteWidgets/socialShareButtons/mail/mailShareButton\"\nimport { openFacebookShare, openTwitterShare, analyticsPushFunc } from \"../../../../widgetsUtils\"\nimport { copyToClipboard } from \"../../../../siteWidgets/socialShareButtons/utils\"\nrequire(\"./mynet_site_MynetArticleSideShare.less\")\n\ninterface SiteMynetArticleSideShareProps {\n    className?: string\n    title?: string\n}\n\nexport class SiteMynetArticleSideShare extends React.Component<SiteMynetArticleSideShareProps, {}> {\n    public static siteScriptName = \"SiteMynetArticleSideShare\"\n    private whatsappShareLinkElem;\n    private handleShareBtnClicked = (button: string) => {\n        const {title} = this.props;\n        if (typeof window !== \"undefined\") {\n            const current_url = window.location.href;\n\n            switch (button) {\n                case \"facebook\":\n                    openFacebookShare(current_url, \"\", () => analyticsPushFunc(\"Facebook\", \"Article Side\", title), \"Article Side\")\n                    break;\n\n                case \"twitter\":\n                    openTwitterShare(current_url, () => analyticsPushFunc(\"Twitter\", \"Article Side\", title), \"Article Side\")\n                    break;\n\n                case \"mailto\":\n                    MailShareButton.openMailShare(document.title, current_url, \"heMynet\", () => analyticsPushFunc(\"Mail\", \"Article Side\", title), \"Article Side\")\n                    break;\n\n                case \"copy\":\n                    copyToClipboard(current_url)\n                    analyticsPushFunc(\"Link\", \"Article Side\", title);\n                    break;\n            }\n        }\n    }\n\n    private onWhatsappSharePress = () => {\n        const {title} = this.props;\n        analyticsPushFunc(\"Whatsapp\", \"Article Side\", title);\n        this.whatsappShareLinkElem.href = `https://api.whatsapp.com/send?text=${window.location.href}`\n    }\n\n    public render() {\n        const lang = \"he\";\n        const { className } = this.props\n        return (\n            <div className={`MynetArticleSideShareComponent ${className}`}>\n                <div\n                    className=\"facebook wrapper\"\n                    title=\"שיתוף בפייסבוק\"\n                    onClick={(e) => this.handleShareBtnClicked(\"facebook\")}>\n                    <span className=\"shareBtnLabel\">\n                        שיתוף בפייסבוק\n                    </span>\n                    <span className=\"shareIcon facebook\"></span>\n                </div>\n\n                <div\n                    className=\"twitter wrapper\"\n                    title=\"שיתוף בטוויטר\"\n                    onClick={(e) => this.handleShareBtnClicked(\"twitter\")}>\n                    <span className=\"shareBtnLabel\">\n                        שיתוף בטוויטר\n                    </span>\n                    <span className=\"shareIcon twitter\"></span>\n                </div>\n\n                <div\n                    className=\"whatsapp wrapper\"\n                    title=\"שיתוף בווטסאפ\">\n                    <a onClick={this.onWhatsappSharePress} ref={ref => this.whatsappShareLinkElem = ref} className=\"whatsappWrapper\" href=\"\" data-action=\"share/whatsapp/share\">\n                        <span className=\"shareBtnLabel\">\n                            שיתוף בווטסאפ\n                        </span>\n                        <span className=\"shareIcon whatsapp\"></span>\n                    </a>\n                </div>\n\n                <div\n                    className=\"mail wrapper\"\n                    title=\"שלח לחבר\"\n                    onClick={(e) => this.handleShareBtnClicked(\"mailto\")}>\n                    <span className=\"shareBtnLabel mailto\">\n                        שלח לחבר\n                    </span>\n                    <span className=\"shareIcon mailto\"></span>\n                </div>\n\n                <div\n                    className=\"copy wrapper\"\n                    title={getShareTranslations(lang, \"copy link\")}\n                    onClick={(e) => this.handleShareBtnClicked(\"copy\")}>\n                    <span className=\"shareBtnLabel\">\n                        {getShareTranslations(lang, \"copy link\")}\n                    </span>\n                    <span className=\"shareIcon copyLink\"></span>\n                </div>\n\n            </div>\n\n        )\n    }\n}","import { MynetFooterData } from \"../data/mynetFooterData\";\nimport { ComponentaInstanceProps, PageComponentaContext } from \"widgets/interfaces\"\nimport { getNewlinkTargetProperties } from \"widgets/widgetsUtils\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport * as classNames from \"classnames\"\nimport { isWcmEditor } from \"config/serverConfig\"\n\nrequire('./mynet_site_mynetFooter.less')\n\ninterface mynetFooterPrps {\n    curSubSite: string\n    items: MynetSiteList[]\n\n}\nexport class SiteMynetFooter extends React.Component<mynetFooterPrps, {}> {\n    public static siteScriptName = \"SiteMynetFooter\"\n\n    private analyticsMynetFooterPushFunc = () => {\n        if (typeof window !== \"undefined\") {\n            window.dataLayer = window.dataLayer || []\n            window.dataLayer.push({\n                event: 'contact_us',\n                Category: 'Contact Us',\n                Action: 'footer'\n            });\n        }\n    }\n\n    render() {\n        const { curSubSite, items } = this.props\n        const emptyLinkItem = {\n            contactCaption: \"\",\n            contactLink: \"\"\n        }\n        const emptyMainItem = {\n            name: \"\",\n            url: \"\",\n            link: \"\",\n            linkTarget: getNewlinkTargetProperties(),\n            mainSiteLinks: [emptyLinkItem],\n            facebookLink: \"\"\n        } as MynetSiteList\n        const mainItem = items.find(x => x.subSite === curSubSite)\n        let mainSite = mainItem !== undefined ? mainItem : emptyMainItem\n        const hostname_url = typeof window !== \"undefined\" ? window.location.hostname : \"\"\n\n\n        return (\n            <div className=\"MynetFooter\">\n                <div className=\"logoArea\">\n                    <HyperLinkBuilder href={mainSite.link} ariaLabel={mainSite.name} linkTarget={mainSite.linkTarget}>\n                        <SiteSimpleImage src={mainSite.url} alt={mainSite.name} title={mainSite.name} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                    </HyperLinkBuilder>\n                </div>\n                <div className=\"menuArea\">\n                    <div className=\"citiesList\">\n                        {items.map((slot, index) =>\n                            <div className={classNames(\"slotView\", { \"inEditMode\": isWcmEditor(), \"selected\": mainItem === slot })} key={index}>\n                                <HyperLinkBuilder href={slot.link} linkTarget={slot.linkTarget}  >\n                                    <span> {slot.name}</span>\n                                </HyperLinkBuilder>\n                            </div>\n                        )}\n                    </div>\n\n                    <div className=\"contacts\">\n                        <div className=\"infoArea\">\n                            <a onMouseUp={this.analyticsMynetFooterPushFunc} href=\"mailto:mynet@yedtik.co.il\" className=\"\">\n                                פרסם <span title=\"פרסם אצלנו\" className=\"icon publish\" />\n                            </a>\n                            <span className=\"termSeparator\" />\n                            <HyperLinkBuilder href={`//www.facebook.com/${mainSite.facebookLink}`} linkTarget={getNewlinkTargetProperties()}>\n                                פייסבוק <span title=\"הדף שלנו בפייסבוק\" className=\"icon facebook\" />\n                            </HyperLinkBuilder>\n\n                        </div>\n                        <div className=\"termsOfUseLinks\">\n                            <span className=\"termSeparator\" />\n                            <a href=\"//z.ynet.co.il/short/content/2018/privacypolicy/terms.html\" target=\"_blank\">תנאי שימוש</a>{\" \"}\n                            <span className=\"termSeparator\" />\n                            <a href=\"//z.ynet.co.il/short/content/2018/privacypolicy/policy.html\" target=\"_blank\">ומדיניות פרטיות</a>\n                            <span className=\"termSeparator\" />\n                            <a href={`//www.yit.co.il/?utm_source=${hostname_url}&utm_medium=referral&utm_campaign=footer`} className=\"withLogo\" target=\"_blank\">אפיון, עיצוב ופיתוח <span className=\"yitLogo\" /></a>\n                        </div>\n                    </div>\n                </div>\n\n\n            </div>\n        )\n    }\n}\n\nexport interface MynetSiteList {\n    name: string\n    link: string\n    linkTarget: LinkTargetProperties\n    url?: string\n    subSite?: string\n    mainSiteLinks: ContactLinksItem[]\n    facebookLink: string\n}\n\nexport interface ContactLinksItem {\n    contactCaption: string\n    contactLink: string\n}\n\n\n","import * as classNames from \"classnames\"\nimport * as map from \"lodash/map\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\n\nexport interface SiteList {\n    name: string\n    link: string\n    linkTarget: LinkTargetProperties\n    url?: string\n    subSite?: string\n    mainSiteSubNav: SubNavItem[]\n}\nexport interface SubNavItem {\n    title: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\ninterface CitiesProps {\n    mainSite: SiteList\n    siteList: SiteList[]\n    onClose: () => void\n}\n\nexport class CitiesMenuComponenta extends React.Component<CitiesProps, {}> {\n\n    render() {\n        const { mainSite, siteList, onClose } = this.props\n\n        return (\n            <div className=\"MobileCitiesMenu\">\n                <div className=\"mainHeader\">\n                    <button className=\"backBtnArrow btn\" title=\"חזרה\" onClick={onClose} >&#10095;</button>\n                    <div className=\"logo\">\n                        <HyperLinkBuilder href={mainSite.link} ariaLabel={mainSite.name} linkTarget={mainSite.linkTarget}>\n                            <SiteSimpleImage src={mainSite.url} alt={mainSite.name} title={mainSite.name} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                        </HyperLinkBuilder>\n                    </div>\n                </div>\n                <div className=\"navTitle\">עבור עיר</div>\n                <div className=\"CitiesList\" >\n\n                    {map(siteList, (item, i) => {\n                        return (\n                            <div key={i} className={classNames(\"menuItem\", { \"selected\": item.name === mainSite.name })}>\n                                <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} >\n                                    <div dangerouslySetInnerHTML={{ __html: item.name }} />\n                                </HyperLinkBuilder>\n                            </div>\n                        )\n                    }\n                    )}\n                </div>\n            </div>\n        )\n\n    }\n}","import * as classNames from \"classnames\"\nimport * as map from \"lodash/map\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { BaseLinkTypes, LinkProperties, LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { getNewlinkTargetProperties } from \"widgets/widgetsUtils\"\nimport { CitiesMenuComponenta } from \"./citiesMenu\";\nimport { MynetSearchForm } from \"./myNetSearchInput\";\nimport { CSSTransitionGroup } from \"react-transition-group\"\n\n\nexport interface SiteList {\n    name: string\n    link: string\n    linkTarget: LinkTargetProperties\n    url?: string\n    subSite?: string\n    mainSiteSubNav: SubNavItem[]\n}\nexport interface SubNavItem {\n    title: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\ninterface MenuProps {\n    mainSite: SiteList\n    siteList: SiteList[]\n    onClose: () => void\n    isCitiesOpened: boolean\n    onCloseCities: () => void\n    onOpenCities: () => void\n    isOpen: boolean\n    isIndependedHeader?: boolean\n    changingFieldText: string\n    changingFieldLink: LinkProperties<BaseLinkTypes>\n    changingFieldLinkTarget: LinkTargetProperties\n    changingFieldColor: string\n}\n\nexport class MynetMenuComponenta extends React.Component<MenuProps, {}> {\n\n\n    private analyticsMynetAccessibilityPushFunc = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n        if (typeof window !== \"undefined\") {\n            window.dataLayer = window.dataLayer || []\n            window.dataLayer.push({\n                event: 'accessibility',\n                Category: 'Accessibility',\n                Action: 'Accessibility Clicked'\n            });\n        }\n\n    }\n    private analyticsMynetRedMailPushFunc = () => {\n\n        if (typeof window !== \"undefined\") {\n            window.dataLayer = window.dataLayer || []\n            window.dataLayer.push({\n                event: 'contact_us',\n                Category: 'Contact Us',\n                Action: 'red_mail'\n            });\n        }\n\n    }\n\n    render() {\n        const { mainSite, siteList, onClose, isCitiesOpened, onCloseCities, onOpenCities, isOpen, isIndependedHeader,\n            changingFieldText, changingFieldLink, changingFieldLinkTarget, changingFieldColor } = this.props\n        let menuClassName = classNames(\"MobileMenu\", { \"menuOpen\": isOpen === true, \"menuClose\": isOpen === false })\n        const isApp = typeof window !== \"undefined\" && window.location.href.indexOf(\"IsApp\") != -1;\n        return (\n            <div className={menuClassName} id=\"menu\">\n                <div className=\"mainHeader\">\n                    <button className=\"menuClsBtn btn\" title=\"פתיחת תפריט\" onClick={onClose} />\n                    <div className=\"logo\">\n                        <HyperLinkBuilder href={mainSite.link} ariaLabel={mainSite.name} linkTarget={mainSite.linkTarget}>\n                            <SiteSimpleImage src={mainSite.url} alt={mainSite.name} title={mainSite.name} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                        </HyperLinkBuilder>\n                    </div>\n                </div>\n                <MynetSearchForm />\n                <ul className=\"MynetNavList\" >\n                    {map(mainSite.mainSiteSubNav, (item, i) => {\n                        return (\n                            <li key={i} className={classNames(\"menuItem\")}>\n                                <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} >\n                                    <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                </HyperLinkBuilder>\n                            </li>\n\n                        )\n                    }\n                    )}\n                    {!isIndependedHeader && <li className={classNames(\"menuItem\")}>\n                        <button className=\"openCities\" onClick={onOpenCities}>\n                            עבור עיר\n                        </button>\n                    </li>}\n                    {changingFieldText && <li className={classNames(\"menuItem\")}>\n                        <HyperLinkBuilder href={changingFieldLink.link.publishedLink} linkTarget={changingFieldLinkTarget} className=\"usefulLink changingField\">\n                            {changingFieldText}\n                        </HyperLinkBuilder>\n                    </li>}\n                    <li className={classNames(\"menuItem\")}>\n                        <a onMouseUp={this.analyticsMynetRedMailPushFunc} href=\"mailto:mynet@yedtik.co.il\" className=\"usefulLink redMail\">\n                            המייל האדום\n                        </a>\n                    </li>\n                    {isApp && <li className={classNames(\"menuItem\")}>\n                        <a href=\"open_push_options\" className=\"usefulLink push-pf\">\n                            התראות\n                        </a>\n                    </li>}\n                    <li className={classNames(\"menuItem\")} style={{ position: \"relative\" }}>\n                        <a id=\"INDmenu-btn3\"\n                            onMouseUp={this.analyticsMynetAccessibilityPushFunc}\n                            className=\"follow\"\n                            tabIndex={0}\n                            style={{ fontFamily: \"Arimo !important\", top: \"unset\", left: \"unset\" }}\n                            accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" >\n                            <img src=\"https://www.ynet.co.il/images/nagishot.png\" style={{ width: \"21px\", height: \"21px\", marginLeft: \"10px\" }} />\n                            נגישות</a>\n                    </li>\n                </ul>\n                {!isIndependedHeader && <CSSTransitionGroup transitionName=\"subMenuApperiance\" transitionEnterTimeout={500} transitionLeave={true} transitionLeaveTimeout={500}>\n                    {isCitiesOpened && <CitiesMenuComponenta mainSite={mainSite} siteList={siteList} onClose={onCloseCities} />}\n                </CSSTransitionGroup>}\n            </div>\n        )\n\n    }\n}","\nexport class MynetSearchForm extends React.Component<{}, {}> {\n    public render() {\n        return (\n            <div className=\"gcse-searchbox-only\" ></div>\n        )\n    }\n}","import { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { BaseLinkTypes, LinkProperties, LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { MynetMenuComponenta } from \"./mobileMenu\"\nimport { CSSTransitionGroup } from \"react-transition-group\"\n\nexport interface SiteList {\n    name: string\n    link: string\n    linkTarget: LinkTargetProperties\n    url?: string\n    subSite?: string\n    mainSiteSubNav: SubNavItem[]\n}\nexport interface SubNavItem {\n    title: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\ninterface SiteMynetHeaderProps {\n    mainSite: SiteList\n    siteList: SiteList[]\n    isIndependedHeader?: boolean\n    changingFieldText: string\n    changingFieldLink: LinkProperties<BaseLinkTypes>\n    changingFieldLinkTarget: LinkTargetProperties\n    changingFieldColor: string\n}\ninterface SiteMynetHeaderState {\n    isMenuOpen: boolean\n    isCitiesOpened: boolean\n}\nexport class SiteMynetHeaderMobileComponenta extends React.Component<SiteMynetHeaderProps, SiteMynetHeaderState> {\n    public static siteScriptName = \"SiteMynetHeaderMobileComponenta\";\n    constructor(props) {\n        super(props)\n        this.state = { isMenuOpen: null, isCitiesOpened: false };\n    }\n    private openMenu = () => {\n        this.setState({ isMenuOpen: true })\n    }\n    private closeMenu = () => {\n        this.setState({ isMenuOpen: false })\n    }\n    private openCitiesList = () => {\n        this.setState({ isCitiesOpened: true })\n    }\n    private closeCitiesList = () => {\n        this.setState({ isCitiesOpened: false })\n    }\n    render() {\n        const { mainSite, siteList, isIndependedHeader, changingFieldText, changingFieldLink, changingFieldLinkTarget, changingFieldColor } = this.props\n        const { isMenuOpen, isCitiesOpened } = this.state\n\n        return (\n            <div className=\"MynetHeaderMobileComponenta\">\n                <div className=\"mainHeader\">\n                    <button className=\"menuBtn btn\" title=\"פתיחת תפריט\" onClick={this.openMenu} />\n                    <div className=\"logo\">\n                        <HyperLinkBuilder href={mainSite.link} ariaLabel={mainSite.name} linkTarget={mainSite.linkTarget}>\n                            <SiteSimpleImage src={mainSite.url} alt={mainSite.name} title={mainSite.name} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                        </HyperLinkBuilder>\n                    </div>\n                    <a href={\"javascript:history.back()\"} className=\"goBackBtn\" title=\"back\" />\n                </div>\n                <MynetMenuComponenta\n                    mainSite={mainSite}\n                    siteList={siteList}\n                    onClose={this.closeMenu}\n                    onOpenCities={this.openCitiesList}\n                    onCloseCities={this.closeCitiesList}\n                    isCitiesOpened={this.state.isCitiesOpened}\n                    isOpen={isMenuOpen}\n                    isIndependedHeader={isIndependedHeader}\n                    changingFieldText={changingFieldText}\n                    changingFieldLink={changingFieldLink}\n                    changingFieldLinkTarget={changingFieldLinkTarget}\n                    changingFieldColor={changingFieldColor} />\n            </div>\n        )\n\n    }\n}","import { SiteSimpleImage } from \"../../../../commonComponents/inline/siteSimpleImage\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { BaseLinkTypes, LinkProperties, LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\";\nimport * as classNames from \"classnames\"\nimport { isWcmEditor } from \"config/serverConfig\"\nimport { MynetSearchForm } from \"./mobileHeader/myNetSearchInput\";\nconst clickOutside = require('react-click-outside');\n\nexport interface SiteList {\n    name: string\n    link: string\n    linkTarget: LinkTargetProperties\n    url?: string\n    subSite?: string\n    mainSiteSubNav: SubNavItem[]\n}\nexport interface SubNavItem {\n    title: string\n    link: string\n    linkTarget: LinkTargetProperties\n    textColor: string\n}\ninterface SiteMynetHeaderProps {\n    mainSite: SiteList\n    siteList: SiteList[]\n    bgColor: string\n    separatorColor: string\n    changingFieldText: string\n    changingFieldLink: LinkProperties<BaseLinkTypes>\n    changingFieldLinkTarget: LinkTargetProperties\n    changingFieldColor: string\n    isShowMoreBtn?: boolean,\n    moreBtnColor?: string\n}\n@clickOutside\nexport class SiteMynetHeaderComponenta extends React.Component<SiteMynetHeaderProps, { isMenuOpened: boolean }> {\n    public static siteScriptName = \"SiteMynetHeaderComponenta\";\n    constructor(props) {\n        super(props)\n        this.state = {\n            isMenuOpened: false,\n\n        }\n    }\n\n    handleClickOutside = () => {\n        this.setState({ isMenuOpened: false })\n    }\n    private analyticsMynetAccessibilityPushFunc = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n        if (typeof window !== \"undefined\") {\n            window.dataLayer = window.dataLayer || []\n            window.dataLayer.push({\n                event: 'accessibility',\n                Category: 'Accessibility',\n                Action: 'Accessibility Clicked'\n            });\n        }\n\n    }\n\n    private analyticsMynetRedMailPushFunc = () => {\n        if (typeof window !== \"undefined\") {\n            window.dataLayer = window.dataLayer || []\n            window.dataLayer.push({\n                event: 'contact_us',\n                Category: 'Contact Us',\n                Action: 'red_mail'\n            });\n        }\n\n    }\n\n    private myNetDateFormatting = () => {\n        const months = [\"ינו'\", \"פבר'\", \"מרץ\", \"אפר'\", \"מאי\", \"יונ'\", \"יול'\", \"אוג'\", \"ספט'\", \"אוק'\", \"נוב'\", \"דצמ'\"];\n        let today = new Date()\n        let formattedDate = today.getDate() + \" \" + months[today.getMonth()] + \" \" + today.getFullYear()\n        return formattedDate;\n    }\n    private toggleMenu = () => {\n        this.setState({ isMenuOpened: !this.state.isMenuOpened })\n    }\n    render() {\n        const { mainSite, siteList, bgColor, separatorColor, moreBtnColor, changingFieldText, changingFieldLink, changingFieldLinkTarget, changingFieldColor, isShowMoreBtn } = this.props\n        const itemStyle = {\n            borderLeft: `1px solid ${separatorColor}`\n        }\n        const englishItemStyle = {\n            borderRight: `1px solid ${separatorColor}`\n        }\n        let itemsInMainNav = mainSite.mainSiteSubNav;\n        let itemsInDropDown;\n        const hasMoreButton = mainSite.mainSiteSubNav.length > 13 && isShowMoreBtn;\n\n        if (hasMoreButton) {\n            const lastElements = mainSite.mainSiteSubNav.length - 13;\n            itemsInMainNav = mainSite.mainSiteSubNav.slice(0, 13);\n            itemsInDropDown = mainSite.mainSiteSubNav.slice(-lastElements);\n        }\n        const isMenuHidden = !this.state.isMenuOpened ? \"hidden\" : \"\"\n        return (\n            <div className=\"MynetHeaderComponenta\">\n                <div className=\"mainHeader\">\n                    <div className=\"logo\">\n                        <HyperLinkBuilder href={mainSite.link} ariaLabel={mainSite.name} linkTarget={mainSite.linkTarget}>\n                            <SiteSimpleImage src={mainSite.url} alt={mainSite.name} title={mainSite.name} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                        </HyperLinkBuilder>\n                    </div>\n                    <div className=\"infoArea\">\n                        <a id=\"INDmenu-btn\" onMouseUp={this.analyticsMynetAccessibilityPushFunc} className=\"follow\" accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\"\n                            style={{ marginLeft: \"10px\", padding: \"3px 5px\", borderRadius: \"50%\", border: \"1px solid #b11412\", top: \"0px\", left: \"unset\", right: \"unset\" }}>\n                            <img src=\"https://www.ynet.co.il/images/nagishot.png\" style={{ width: \"15px\", height: \"15px\" }} />\n                        </a>\n                        <div className=\"dateToday\">\n                            {this.myNetDateFormatting()}\n                        </div>\n\n                        <div className=\"separator\" />\n                        <a onMouseUp={this.analyticsMynetRedMailPushFunc} href=\"mailto:mynet@yedtik.co.il\" className=\"usefulLink redMail\">\n                            המייל האדום\n                        </a>\n                        <div className=\"separator\" />\n                        {changingFieldText && <HyperLinkBuilder className=\"usefulLink changingField\" href={changingFieldLink.link.publishedLink}\n                            style={{ color: changingFieldColor }} linkTarget={changingFieldLinkTarget}>\n                            {changingFieldText}\n                        </HyperLinkBuilder>}\n                        {changingFieldText && <div className=\"separator\" />}\n                        <MynetSearchForm />\n                    </div>\n\n                </div>\n                <div className=\"SubNavigationComponenta\" style={{ background: bgColor }}>\n                    <div className=\"slotsContent\">\n                        <div className=\"slotList\">\n                            {itemsInMainNav.map((slot, index) =>\n                                <div className={classNames(\"slotView\", { \"inEditMode\": isWcmEditor() })} style={itemStyle} key={index}>\n                                    <HyperLinkBuilder href={slot.link} linkTarget={slot.linkTarget} style={{ color: slot.textColor }} >\n                                        <span dangerouslySetInnerHTML={{ __html: slot.title }} ></span>\n                                    </HyperLinkBuilder>\n                                </div>\n                            )}\n                            {hasMoreButton && <div className={classNames(\"slotView secondLevelH\", { \"inEditMode\": isWcmEditor() })} onClick={this.toggleMenu} style={{ color: moreBtnColor? moreBtnColor : \"#fff\" }} ><span >עוד\n                        </span>\n                                <span className=\"menuTogglerWrapper\" onClick={this.toggleMenu}>\n                                    <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"menuToggler\" width=\"11.995\" height=\"5.6\" viewBox=\"0 0 11.995 5.6\">\n                                        <defs>\n       \n                                        </defs>\n                                        <g id=\"drop_down\" data-name=\"drop down\" transform=\"translate(-151.032 -40.197)\">\n                                            <path id=\"Shape_744\" d=\"M2510.03 1068.8a.842.842 0 0 1-.594-.243l-5.157-3.932a.831.831 0 0 1 0-1.181.845.845 0 0 1 1.188 0l4.564 3.34 4.563-3.34a.845.845 0 0 1 1.188 0 .832.832 0 0 1 0 1.181l-5.158 3.932a.837.837 0 0 1-.593.243zm0 0\"  data-name=\"Shape 744\" transform=\"translate(-2353 -1023)\" fill={moreBtnColor? moreBtnColor : \"#fff\"} />\n                                        </g>\n                                    </svg>\n                                </span>\n                                <ul className={`secondLevelMenu ${isMenuHidden}`}>\n                                    {itemsInDropDown.map((item, i) => {\n                                        return (\n                                            <li key={i} className={classNames(\"menuItem\")}>\n                                                <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} style={{ color: item.textColor }} >\n                                                    <span dangerouslySetInnerHTML={{ __html: item.title }} ></span>\n                                                </HyperLinkBuilder>\n                                            </li>\n                                        )\n                                    }\n                                    )}\n                                </ul>\n                            </div>\n                            }\n                        </div>\n                    </div>\n                </div>\n            </div>\n        )\n\n    }\n}\n\n\n","import { SiteMediaData, SiteItemData, SiteImageData } from \"../../../interfaces\"\nimport { VideoSettingsData, LinkedItemType, ComponentaIconType } from \"widgets/commonDataObjects/interfaces\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\"\nimport { SiteMedia } from \"../../../siteWidgets/siteMedia\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { LinkedItemFieldDisplay } from \"../../../commonDataObjects/linkedItemsFieldsDisplay\"\nimport { RenderReactAtSite } from \"../../../commonComponents/inline/renderReactAtSite\";\nimport { MutamMarketingSign } from \"../../../commonComponents/inline/marketingSign/mutamMarketingSign\";\nimport {separateHourFromDateAndFormatToString} from \"widgets/widgetsUtils\"\n\ninterface MultiImagesFrontProps {\n    width: number\n    imageWidth: number\n    imageHeight: number\n    itemList: SiteItemData[]\n    videoSettings?: VideoSettingsData\n    fieldDisplaySettings?: LinkedItemFieldDisplay\n}\n\n\nexport class MultiImagesMobile extends React.Component<MultiImagesFrontProps, {}>{\n    public static siteScriptName = \"MultiImagesMobile\";\n    private getIcon = (icon: ComponentaIconType, hasVideo: boolean) => {\n        if (icon === \"automatic\" && hasVideo) return \"video\"\n        return icon;\n    }\n    public render() {\n        const { imageWidth, itemList, imageHeight, videoSettings, fieldDisplaySettings } = this.props;\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const allMediaItems: SiteMediaData[] = itemList.map(item => { return item.media })\n\n        return (<div className=\"slotsContent\" >\n\n            {itemList.map((slot, index) => {\n                const shouldDisplayDateSeparator = fieldDisplaySettings.isAuthorVisible && (fieldDisplaySettings.isDateVisible || fieldDisplaySettings.isHourVisible) && slot.author && slot.author.length > 0;\n\n                return (\n                    <div className=\"slotView\" key={`slotItem_${slot.itemId}_${index}`} >\n\n                        <div className=\"imageArea\">\n                            {slot.marketingContentText && <div className=\"show-small-vp\"><RenderReactAtSite>\n                                <MutamMarketingSign isSmallItem={true} marketingContentText={slot.marketingContentText} />\n                            </RenderReactAtSite></div>}\n                            <SlotIconDisplay itemId={slot.itemId} icon={this.getIcon(slot.icon, slot.hasVideo)} iconClassName=\"medium\" isIconVisible={slot.hasVideo} />\n                            <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                                <SiteMedia\n                                    allMedias={allMediaItems}\n                                    data={slot.media !== undefined ? slot.media : emptyMedia}\n                                    width={imageWidth}\n                                    height={imageHeight}\n                                    videoSettings={videoSettings}\n                                    itemLinkUrl={slot.titleLink}\n                                    isImageLinkable={true}\n                                    linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                />\n                            </div> </div>\n                        <div className=\"slotTextArea\">\n                            {fieldDisplaySettings.isTitleVisible && <div className=\"slotTitle\">\n                                <HyperLinkBuilder\n                                    href={slot.titleLink}\n                                    linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                    children={slot.title} >\n                                    <div dangerouslySetInnerHTML={{ __html: slot.title }} />\n                                </HyperLinkBuilder>\n                            </div>}\n                            {fieldDisplaySettings.isSubTitleVisible && slot.subTitle !== undefined && <div className=\"slotSubTitle\" >\n                                <HyperLinkBuilder\n                                    href={slot.titleLink}\n                                    linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                    children={slot.subTitle} >\n                                    <div dangerouslySetInnerHTML={{ __html: slot.subTitle }} />\n                                </HyperLinkBuilder>\n                            </div>}\n                            <div className=\"moreDetails\">\n                                {fieldDisplaySettings.isAuthorVisible && slot.author && slot.author.length > 0 && <span className=\"authorField\">{slot.author}</span>}\n                                {shouldDisplayDateSeparator && <span>, </span>}\n                                {(fieldDisplaySettings.isDateVisible || fieldDisplaySettings.isHourVisible) && <span>{separateHourFromDateAndFormatToString(slot.dateUpdatedOnSite, { showDate: fieldDisplaySettings.isDateVisible, showHour: fieldDisplaySettings.isHourVisible, dateTimeSeperator: \" / \" })} </span>}\n                            </div>\n                        </div>\n                    </div>\n                )\n            }\n            )}\n        </div>\n\n        )\n    }\n}\n","import * as axios from \"axios\"\nimport * as map from \"lodash/map\"\nimport * as filter from \"lodash/filter\"\nimport { SiteMediaData, SiteItemData, SiteImageData } from \"../../../../interfaces\"\nimport { VideoSettingsData, LinkedItemType, ComponentaIconType } from \"widgets/commonDataObjects/interfaces\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { PayWallArctilceIcon } from \"widgets/commonComponents/inline/payWallHavak/payWallHavak\";\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { addAxiosDateTransformerSettings } from \"../../../../../utils/network/axiosDateTransformer\";\nimport { ContentTypes } from \"constants/contentTypes\"\nimport { calculateAutomaticComponentaUrl, getImgAlt, getImgTitle } from \"../../../../widgetsUtils\"\nimport * as apiUrls from \"config/apiUrls\"\nimport { ImageDetails } from \"images/interfaces\"\nimport { Loader } from \"../../../yPlusLoadMore/components/loader/loader\";\n\ninterface MultiImagesFrontProps {\n    imageWidth: number\n    imageHeight: number\n    firstData: any\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    subTitleColor: string\n    titleColor: string\n    categoryId: string\n    componentaId?: string\n    numberOfVisibleItems: number\n    isLoadMoreVisible: boolean\n    defaultImageUrl: string\n}\n\ninterface MultiImagesRowsState {\n    articles: MultiImagesRowsData[]\n    pageNumber: number\n    showLoader: boolean\n    showButton: boolean\n}\n\nexport interface MultiImagesRowsData extends Partial<SiteItemData> {\n    promotionImage: string\n    promotionImageDetails: ImageDetails\n}\n\nexport class MultiImagesRowsFront extends React.Component<MultiImagesFrontProps, MultiImagesRowsState> {\n    public static siteScriptName = \"MultiImagesRowsFront\";\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            articles: props.firstData,\n            pageNumber: 1,\n            showLoader: false,\n            showButton: true\n        }\n    }\n\n    componentDidUpdate(prevProps: MultiImagesFrontProps) {\n        if (this.props.firstData !== prevProps.firstData) {\n            this.setState(\n                {\n                    articles: this.props.firstData\n                }\n            );\n        }\n    }\n\n\n    private showHIdeButton = (newArticles: MultiImagesRowsData[]) => {\n        const { showLoader: loader, articles } = this.state;\n        const showButton = !loader &&\n            newArticles.length > 0 &&\n            !(articles.length % this.props.numberOfVisibleItems)\n        this.setState({ showButton })\n    }\n\n    private getArticles = () => {\n        const { componentaId } = this.props\n        const { pageNumber, articles } = this.state\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        this.setState(\n            {\n                articles: articles,\n                showLoader: true,\n                showButton: false\n            }\n        );\n\n        axiosInstance.get(`/iphone/json/api/mynet_auto_articles/${componentaId}/${pageNumber}`)\n            .then((res: any) => {\n                const newArticles = res.data.data as MultiImagesRowsData[];\n\n                this.setState(\n                    {\n                        articles: [...articles, ...newArticles] as MultiImagesRowsData[],\n                        pageNumber: pageNumber + 1,\n                        showLoader: false,\n                        showButton: true\n                    }\n                );\n                this.showHIdeButton(newArticles)\n            })\n            .catch(err => console.error(\"error geting headline data:\", err))\n    }\n\n\n    private commaDateView = (itemType) => {\n        const { fieldsDisplaySettings } = this.props\n        if (itemType === LinkedItemType.ARTICLE && (fieldsDisplaySettings.isDateVisible || fieldsDisplaySettings.isHourVisible))\n            return true\n        else return false\n    }\n    private dateView = (itemType) => {\n        const { fieldsDisplaySettings } = this.props\n        if (itemType === LinkedItemType.ARTICLE && fieldsDisplaySettings.isDateVisible)\n            return true\n        else return false\n    }\n    private hourView = (itemType) => {\n        const { fieldsDisplaySettings } = this.props\n        if (itemType === LinkedItemType.ARTICLE && fieldsDisplaySettings.isHourVisible)\n            return true\n        else return false\n    }\n    private titleClassName = (isSubTitleVisible: boolean) => {\n        if (isSubTitleVisible) return \"slotTitle oneRow\"\n        else return \"slotTitle twoRow\"\n\n    }\n    private getIcon = (icon: ComponentaIconType, hasVideo: boolean) => {\n        if (icon === \"automatic\" && hasVideo) return \"video\"\n        return icon;\n    }\n\n    public render() {\n        const { isLoadMoreVisible, videoSettings, fieldsDisplaySettings, titleColor, subTitleColor, imageWidth, imageHeight, defaultImageUrl } = this.props\n        const { articles, showLoader: loader, showButton } = this.state;\n        let itemList = []\n\n        const targetTitleLink: LinkTargetProperties = {\n            linkOpenType: \"same\",\n            lightBoxBgColor: \"\",\n            lightBoxHeight: null,\n            lightBoxOpacity: null,\n            lightBoxWidth: 0\n        }\n        if (articles) {\n            if (Object.keys(articles).length > 0) {\n                itemList = filter(map(articles, (article: any, index) => {\n                    let image: Partial<ImageDetails>\n                    const promotionImage = articles[index].promotionImage\n                    if (typeof promotionImage !== 'undefined') {\n                        image = articles[index].promotionImageDetails\n                    } else image = {};\n\n                    return {\n                        media: {\n                            mediaType: \"MEDIA_IMAGE\" as ContentTypes,\n                            mediaId: article.articleId,\n                            url: image.publishedLink ? apiUrls.getImageUrl(image, { w: imageWidth, h: imageHeight }) : defaultImageUrl,\n                            title: getImgTitle(image),\n                            alt: getImgAlt(image),\n                            credit: image.credit,\n                            className: \"\",\n                        },\n                        title: article.title,\n                        subTitle: article.subTitle,\n                        titleLink: calculateAutomaticComponentaUrl(article),\n                        titleTargetLink: targetTitleLink,\n                        itemId: article.articleId,\n                        hasVideo: article.hasVideo,\n                        itemType: \"ARTICLE\" as LinkedItemType,\n                        icon: article.hasVideo ? \"video\" : \"none\",\n                        dateUpdatedOnSite: article.dateUpdatedOnSite,\n                        author: article.author,\n                        premiumExpireDays: article.premiumExpireDays\n                    } as SiteItemData\n                }))\n            }\n        }\n\n\n        let emptyMedia: SiteMediaData = { url: defaultImageUrl, mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const allMediaItems: SiteMediaData[] = itemList.map(item => { return item.media })\n        return (\n            <div className=\"slotsContent\">\n                <div className=\"slotListWrapper\">\n                    {itemList.map((slot, index) => {\n                        return (\n                            <div className=\"slotView\" key={`slotItem_${slot.itemId}_${index}`} >\n                                <div className=\"imageArea\">\n                                    <SlotIconDisplay itemId={slot.itemId} icon={this.getIcon(slot.icon, slot.hasVideo)} iconClassName=\"medium\" isIconVisible={slot.hasVideo} />\n                                    <PayWallArctilceIcon\n                                        premiumExpireDays={slot.premiumExpireDays}\n                                        dateUpdatedOnSite={slot.dateUpdatedOnSite}\n                                        className=\"onImage\" />\n                                    <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                                        <SiteMedia\n                                            allMedias={allMediaItems}\n                                            data={slot.media !== undefined ? slot.media : emptyMedia}\n                                            width={imageWidth}\n                                            height={imageHeight}\n                                            videoSettings={videoSettings}\n                                            itemLinkUrl={slot.titleLink}\n                                            isImageLinkable={true}\n                                            linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                        />\n                                    </div>\n                                </div>\n                                <div className=\"slotTextArea\">\n                                    {fieldsDisplaySettings.isTitleVisible && <div className={this.titleClassName(fieldsDisplaySettings.isSubTitleVisible && slot.subTitle !== undefined)}>\n                                        <HyperLinkBuilder\n                                            href={slot.titleLink}\n                                            linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                            children={slot.title} >\n                                            <span style={{ color: titleColor }} >\n                                                <div dangerouslySetInnerHTML={{ __html: slot.title }} />\n                                            </span>\n                                        </HyperLinkBuilder>\n                                    </div>}\n                                    {fieldsDisplaySettings.isSubTitleVisible && slot.subTitle !== undefined && <div className=\"slotSubTitle\" >\n                                        <HyperLinkBuilder\n                                            href={slot.titleLink}\n                                            linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                            children={slot.subTitle} >\n                                            <span style={{ color: subTitleColor }} >  <div dangerouslySetInnerHTML={{ __html: slot.subTitle }} /></span>\n                                        </HyperLinkBuilder>\n                                    </div>}\n                                    <div className=\"moreDetails\">\n                                        {fieldsDisplaySettings.isAuthorVisible && slot.author.length > 0 && <span className=\"authorField\">{slot.author}</span>}\n                                        {fieldsDisplaySettings.isAuthorVisible && this.commaDateView(slot.itemType) && slot.author.length > 0 && <span>, </span>}\n                                        {(this.dateView(slot.itemType) || this.hourView(slot.itemType)) && <span> {separateHourFromDateAndFormatToString(slot.dateUpdatedOnSite, { showDate: this.dateView(slot.itemType), showHour: this.hourView(slot.itemType), dateTimeSeperator: \" / \" })} </span>} </div>\n                                </div>\n                            </div>\n                        )\n                    }\n                    )}\n                </div>\n                <div className=\"ButtonAndLoaderContainer\">\n                    {loader && <Loader />}\n                    {isLoadMoreVisible && showButton && <div className={\"loadMoreButton\"} onClick={() => this.getArticles()} >טען עוד </div>}\n                </div>\n            </div>\n        )\n    }\n\n}\n\n","import * as map from \"lodash/map\"\nimport { SiteTickerData } from \"./tickerComponenta\";\nimport { TickerItemSlotMynet } from \"./tickerItemSlot\"\nimport { LinkedItemFieldDisplay } from \"widgets/commonDataObjects/linkedItemsFieldsDisplay\"\n\n\ninterface TickerListProps {\n    siteFlashList: Partial<SiteTickerData>[]\n    titleColor: string\n    subTitleColor: string\n    fieldsDisplaySettings: LinkedItemFieldDisplay\n}\n\nexport class TickerList extends React.Component<TickerListProps, {}>{\n    public static siteScriptName = \"TickerListMynet\"\n    private getNumberofDuplicates = () => {\n        const { siteFlashList } = this.props\n        let number;\n        if (siteFlashList.length > 0 && siteFlashList.length < 40) {\n            number = Math.round(40 / siteFlashList.length)\n        }\n        else { number = 1 }\n\n        return number\n\n    }\n    private replicateArray(array, n) {\n        // Create an array of size \"n\" with undefined values\n        // console.time(\"answer time\");\n        var arrays = Array.apply(null, new Array(n));\n\n        // Replace each \"undefined\" with our array, resulting in an array of n copies of our array\n        arrays = arrays.map(function () { return array });\n\n        // Flatten our array of arrays\n        const r = [].concat.apply([], arrays);\n        return r;\n    }\n    public render() {\n        const { siteFlashList, titleColor, subTitleColor, fieldsDisplaySettings } = this.props\n\n        const arrayOfTitles = siteFlashList.length !== 0 && this.replicateArray(siteFlashList, this.getNumberofDuplicates()).map((flashItem => flashItem.title))\n        const n = arrayOfTitles && arrayOfTitles.reduce((a, b) => a + b)\n        const duration = n ? n.length * 0.18 : 0\n        if (!siteFlashList || siteFlashList.length == 0) {\n            return null\n        }\n        return (\n            <div className=\"ticker-wrap\"  >\n                <div className=\"animationDiv\" style={{ animationDuration: `${duration}s, ${duration}s`, animationDelay: `${0}s, ${duration}s` }}>\n                    {this.replicateArray(siteFlashList, this.getNumberofDuplicates()).map((flashItem, i) => <TickerItemSlotMynet\n                        title={flashItem.title}\n                        flashDate={flashItem.flashDate}\n                        linkTarget={flashItem.linkTarget}\n                        link={flashItem.link}\n                        key={i}\n                        titleColor={titleColor}\n                        subTitleColor={subTitleColor}\n                        flashId={flashItem.slotId}\n                        flashLinkType={flashItem.flashLinkType}\n                        fieldsDisplaySettings={fieldsDisplaySettings}\n\n                    />)}\n                </div>\n\n            </div>\n        )\n    }\n}","import { SiteTickerData } from \"./tickerComponenta\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { injectPageComponentaContext } from \"widgets/commonComponents/base/injectPageComponentaContext\"\nimport { PageComponentaContext } from \"widgets/interfaces\"\nimport { ArticleShareButtons } from \"../../../../siteWidgets/socialShareButtons/ArticleShareButtons/ArticleShareButtons\"\n\n\ninterface TickerPopUpContentProps {\n    item: SiteTickerData\n    onClickNext: () => void\n    onClickBack: () => void\n    selectedIndex: number\n    canNavigateBack: boolean\n    canNavigateNext: boolean\n}\n\n@injectPageComponentaContext()\nexport class TickerPopUpContent extends React.Component<TickerPopUpContentProps & Partial<PageComponentaContext>, {}>{\n\n    private popUpContainerDiv: HTMLDivElement;\n\n\n\n\n    render() {\n        const { item, selectedIndex, onClickNext, onClickBack, getImage, canNavigateBack, canNavigateNext } = this.props\n        let media;\n        const image = item.itemImg || null\n        const arrowNext = \"swipeLeft\"\n        const arrowPrev = \"swipeRight\"\n        const titlePrev = __(\"Prev. Flash\")\n        const titleNext = __(\"Next Flash\")\n        return (\n            <div className=\"flashContainer\">\n                <div className=\"topArea\">\n                    <div className=\"imgArea\" />\n\n                    <div className=\"titleArea\">\n                        <div className=\"flashTitle\" dangerouslySetInnerHTML={{ __html: item.title }} />\n                        <div className=\"flashDate\">\n                            {separateHourFromDateAndFormatToString(item.flashDate, { dateTimeSeperator: \" | \", showDate: true, showHour: true })}\n                        </div>\n\n                    </div>\n                    <ArticleShareButtons\n                        url={item.link}\n                        className=\"tickerShareBtns\"\n                        isCopyButtonVisible={false}\n                        lang=\"he\"\n                    />\n                </div>\n                <div className=\"Separator\" />\n                <div className=\"flashText\">\n                    <span>{item.flashText}</span>\n                </div>\n                <div className=\"flashFooter\">\n                    {item && <div className=\"itemArrows\">\n                        {canNavigateNext && <button className={`navigationArrow ${arrowNext}`}\n                            title={titleNext}\n                            onClick={e => onClickNext()}>{titleNext}</button>}\n\n                        {canNavigateBack && <button className={`navigationArrow ${arrowPrev}`}\n                            title={titlePrev}\n                            onClick={e => onClickBack()}>{titlePrev}</button>}\n                    </div>}\n                </div>\n\n            </div>)\n\n\n    }\n}\n","import { SiteTickerData } from \"./tickerComponenta\"\nimport { TickerPopUpContent } from \"./popUpContent\"\nimport { renderTaboolaThumbnails } from \"./tickerPopUpTaboola\"\nimport { SiteSimpleImage } from \"../../../../commonComponents/inline/siteSimpleImage\";\n\n\ninterface PopUpProps {\n    items: SiteTickerData[]\n    popUpTitle: string\n    popUpTitleColor: string\n    currentIndex: number\n    swipeBack: () => void\n    swipeNext: () => void\n    close: () => void\n    logoUrl: string\n}\n\nexport class PopUpView extends React.Component<PopUpProps, {}>{\n    private popUpCloseButton: HTMLButtonElement;\n\n    componentDidMount() {\n        this.popUpCloseButton.focus()\n        var focusableEls = document.getElementById('SiteFlashPopUp').querySelectorAll('a[href], area[href], button:not([disabled]), [tabindex=\"0\"]');\n        document.addEventListener(\"keydown\", (e) => this.handleKeyPress(e, focusableEls))\n    }\n    componentDidUpdate(_prevProps: PopUpProps) {\n        if (_prevProps.currentIndex !== this.props.currentIndex) {\n            this.popUpCloseButton.focus();\n            var focusableEls = document.getElementById('SiteFlashPopUp').querySelectorAll('a[href], area[href], button:not([disabled]), [tabindex=\"0\"]');\n            document.addEventListener(\"keydown\", (e) => this.handleKeyPress(e, focusableEls))\n        }\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener(\"keydown\", (e) => this.handleKeyPress(e, null))\n    }\n\n\n\n    private handleKeyPress = (e: any, focusableEls): void => {\n        if (e.key === \"Escape\") { this.props.close() }\n        if (e.key === \"ArrowLeft\") { this.props.swipeNext() }\n        if (e.key === \"ArrowRight\") { this.props.swipeBack() }\n        if (e.keyCode === 9) {\n            if (focusableEls.length > 1) {\n                if (e.shiftKey) {\n                    this.handleBackwardTab(e, focusableEls);\n                } else {\n                    this.handleForwardTab(e, focusableEls);\n                }\n            }\n            else e.preventDefault();\n        }\n    }\n    private handleBackwardTab = (e, focusableEls) => {\n        if (document.activeElement === focusableEls[0]) {\n            e.preventDefault();\n            focusableEls[focusableEls.length - 1].focus();\n        }\n\n    }\n    private handleForwardTab = (e, focusableEls) => {\n        if (document.activeElement === focusableEls[focusableEls.length - 1] && (document.activeElement.classList.contains(\"swipeLeft\") || document.activeElement.classList.contains(\"swipeRight\"))) {\n            e.preventDefault();\n            focusableEls[0].focus()\n        }\n    }\n    render() {\n        const { items, popUpTitle, popUpTitleColor, currentIndex, logoUrl } = this.props\n        const canNavigateBack = !(currentIndex === 0)\n        const canNavigateNext = !(currentIndex === items.length - 1)\n        const item = items[currentIndex]\n        let TaboolaTitle = \"כתבות נוספות\"\n        this.handleKeyPress\n        return (\n            <div key={\"SiteFlashPopUp\"}\n                id=\"SiteFlashPopUp\" role=\"dialog\" aria-label={`${popUpTitle}`} className={`SiteFlashPopUp `} onClick={this.props.close}  >\n                <div className=\"ItemWrapper\" onClick={e => e.stopPropagation()} tabIndex={0}>\n                    <div className=\"flashHeader\" >\n                        <button className=\"closeBtn yicon-x\" title={__(\"Close\")} onClick={this.props.close} ref={ref => this.popUpCloseButton = ref} />\n                        <div className=\"flashLogo\">\n                            <SiteSimpleImage src={logoUrl} alt={popUpTitle} title={popUpTitle} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                        </div>\n                        <div className=\"headerTitle\"><span style={{ color: popUpTitleColor }}>{popUpTitle}</span></div>\n                    </div>\n                    <TickerPopUpContent\n                        item={item}\n                        onClickNext={this.props.swipeNext}\n                        onClickBack={this.props.swipeBack}\n                        selectedIndex={currentIndex}\n                        canNavigateBack={canNavigateBack}\n                        canNavigateNext={canNavigateNext}\n                    />\n\n                </div>\n            </div>\n        )\n    }\n}\n\n/**   <div className=\"taboolaArea\" > <div className=\"taboolaTitle\">{TaboolaTitle}</div>\n                        {renderTaboolaThumbnails()}</div> */","import * as classNames from \"classnames\"\nimport { RichInput } from \"widgets/commonComponents/base/richInput\"\nimport { isWcmEditor } from \"config/serverConfig\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { LinkedItemFieldDisplay } from \"widgets/commonDataObjects/linkedItemsFieldsDisplay\"\nimport { FlashLinkType } from \"../../../ticker/windows/flashLinkSelector\";\nimport { analyticsMynetTickerPushFunc } from \"./tickerPopUp\"\n\n\ninterface TickerItemSlotProps {\n    titleColor: string\n    subTitleColor: string\n    title: string\n    flashDate: Date\n    linkTarget: LinkTargetProperties\n    link: string\n    flashId: string\n    flashLinkType: FlashLinkType\n    fieldsDisplaySettings: LinkedItemFieldDisplay\n}\n\nexport class TickerItemSlotMynet extends React.Component<TickerItemSlotProps, {}>{\n    public componentDidMount() {\n        const { flashLinkType, link, flashId } = this.props\n        if (flashLinkType === \"link\" && link) {\n            const linkElm = document.getElementById(`mynetFlashLink-${flashId}`);\n            if (linkElm) {\n                linkElm.addEventListener(\"mouseup\", () => analyticsMynetTickerPushFunc(flashId))\n            }\n        }\n    }\n\n    private renderLink(textStyle: any, popUpLink: any) {\n        const { flashLinkType, link, linkTarget, title, flashId } = this.props\n        if (flashLinkType === \"link\") {\n            const extraProps = !!link ? { \"id\": `mynetFlashLink-${flashId}` } : {}\n            return (\n                <HyperLinkBuilder href={link}\n                    linkTarget={linkTarget}\n                    extraProps={extraProps}\n                    children={title} >\n                    <div dangerouslySetInnerHTML={{ __html: title }} style={textStyle} /></HyperLinkBuilder>\n\n            )\n        }\n        else {\n            return (popUpLink)\n        }\n    }\n\n\n    public render() {\n        const { titleColor, subTitleColor, title, flashDate, flashId, fieldsDisplaySettings } = this.props\n\n        const dateStyle = {\n            color: titleColor\n        }\n        const textStyle = {\n            color: subTitleColor\n        }\n        const popUpLink = !isWcmEditor() ? <a tabIndex={0} className=\"flashItem\" data-flashid={flashId} id={flashId}>\n            <div dangerouslySetInnerHTML={{ __html: title }} style={textStyle} />\n        </a> : <div dangerouslySetInnerHTML={{ __html: title }} style={textStyle} />\n        return (\n            <div className={classNames(\"slotView\", { \"inEditMode\": isWcmEditor(), \"emptySlot\": title.length === 0 })}>\n                <div className={classNames(\"slotTitle\", { \"withWidth\": title.length === 0 })}>\n                    <span style={dateStyle} >{separateHourFromDateAndFormatToString(flashDate, { showDate: fieldsDisplaySettings.isDateVisible, showHour: fieldsDisplaySettings.isHourVisible, isSlashSeparator: false, fullYear: false })}</span>\n                </div>\n\n                <div className=\"moreDetails\" >\n                    {this.renderLink(textStyle, popUpLink)}\n\n                </div>\n                <span className=\"separator\" style={{ backgroundColor: subTitleColor }} />\n            </div>\n        )\n    }\n}\n\n","require('./mynet_site_tickerPopUp.less')\n\nimport { SiteTickerData } from \"./tickerComponenta\"\nimport { PopUpView } from \"./popupView\"\n\n\ninterface SiteTickerPopUpProps {\n    items: SiteTickerData[]\n    popUpTitle: string\n    popUpTitleColor: string\n    logoUrl: string\n\n}\ninterface SiteTickerPopUpState {\n    currentFlashId: string\n}\nexport class SiteTickerPopUpMynet extends React.Component<SiteTickerPopUpProps, SiteTickerPopUpState>{\n    constructor(props) {\n        super(props)\n        this.state = {\n            currentFlashId: null,\n        }\n    }\n    public static siteScriptName = \"SiteTickerPopUpMynet\"\n\n    private handleElementsClick = (e: MouseEvent) => {\n        const flashId = (e.currentTarget as HTMLElement).getAttribute(\"data-flashid\")\n        this.setState({ currentFlashId: flashId })\n\n    }\n\n    private findItemIndexByFlashId = (flashId: string): number => {\n        const { items } = this.props\n        for (let i = 0; i < items.length; i++) {\n            if (items[i].slotId === flashId) { return i }\n        }\n    }\n\n    private attachClickEventToFlashElements = () => {\n        if (typeof window !== \"undefined\") {\n            const elements = document.querySelectorAll(\".animationDiv  .flashItem\")\n            for (let el of elements) {\n                el.addEventListener(\"keypress\", this.handleElementsClick)\n                el.addEventListener(\"click\", this.handleElementsClick)\n            }\n        }\n    }\n\n    componentDidMount() {\n        this.attachClickEventToFlashElements()\n    }\n\n    componentDidUpdate() {\n        this.attachClickEventToFlashElements()\n    }\n    shouldComponentUpdate(nextProps, nextState) {\n        this.attachClickEventToFlashElements()\n        return this.state.currentFlashId !== nextState.currentFlashId\n    }\n    // Go to previous\n    public swipeBack = (): void => {\n        const { currentFlashId } = this.state\n        const { items } = this.props\n        const currentItemIndex = this.findItemIndexByFlashId(currentFlashId)\n        const nextItemIndex = currentItemIndex > 0 ? currentItemIndex - 1 : 0\n        this.setState({ currentFlashId: items[nextItemIndex].slotId })\n\n    }\n\n    // Go to next\n    public swipeNext = (): void => {\n        const { currentFlashId } = this.state\n        const { items } = this.props\n        const currentItemIndex = this.findItemIndexByFlashId(currentFlashId)\n        const nextItemIndex = currentItemIndex < items.length - 1 ? currentItemIndex + 1 : items.length - 1\n        this.setState({ currentFlashId: items[nextItemIndex].slotId })\n\n    }\n\n    private close = (): void => {\n        let focusedId: string = this.state.currentFlashId;\n        document.getElementById(focusedId).focus()\n        this.setState({ currentFlashId: null })\n    }\n\n    //\n    render() {\n        const { items, popUpTitle, popUpTitleColor, logoUrl } = this.props\n        const { currentFlashId } = this.state\n        const currentItemIndex = this.findItemIndexByFlashId(currentFlashId)\n        const canNavigateBack = !(currentItemIndex === 0)\n        const canNavigateNext = !(currentItemIndex === items.length - 1)\n        const item = items[currentItemIndex]\n        if (currentFlashId) {\n            analystFlashFunc(item.title)\n            analyticsMynetTickerPushFunc(item.slotId)\n        }\n        if (currentFlashId) return (\n            <PopUpView\n                items={items}\n                currentIndex={currentItemIndex}\n                swipeBack={this.swipeBack}\n                swipeNext={this.swipeNext}\n                popUpTitleColor={popUpTitleColor}\n                close={this.close}\n                popUpTitle={popUpTitle}\n                logoUrl={logoUrl}\n            />\n        )\n        else return null;\n    }\n}\n//  \nexport const analystFlashFunc = (title: string) => {\n    window.dataLayer = window.dataLayer || []\n    window.dataLayer.push({\n        event: 'virtualPageview',\n        virtualPageURL: `/ManualNewsFlash/prof=${window.dcPath}`,\n        virtualPageTitle: title\n    });\n}\n\nexport const analyticsMynetTickerPushFunc = (flashId: string) => {\n    if (typeof window !== \"undefined\") {\n        window.dataLayer = window.dataLayer || []\n        window.dataLayer.push({\n            event: 'breaking_news',\n            Category: 'Breaking News',\n            Action: 'News Item Clicked',\n            Label: flashId\n        });\n    }\n}","import { isWcmEditor } from \"../../../../../config/serverConfig\"\n\ninterface counterState {\n    distance: number\n}\ninterface counterProps {\n    electionDate: Date\n    electionYear: string\n    electionTitle: string\n\n}\n\nconst electionsDict = {\n    ELECTIONS: \"בחירות\",\n    SECONDS: \"שניות\",\n    MINUTES: \"דקות\",\n    HOURS: \"שעות\",\n    DAYS: \"ימים\",\n}\nexport class ElectionDateCounter extends React.PureComponent<counterProps, counterState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            distance: 0,\n        }\n    }\n    public static siteScriptName = \"ElectionDateCounter\"\n    private counter: number;\n\n    public componentDidMount() {\n        if (isWcmEditor()) return;\n        const { electionDate } = this.props;\n        if (!electionDate) return;\n        const electionDateAsNumber = new Date(electionDate).getTime()\n        this.counter = window.setInterval(() => {\n\n            const distance = Math.max(electionDateAsNumber - new Date().getTime(), 0);\n            // Time calculations for days, hours, minutes and seconds\n\n            this.setState({\n                distance\n            })\n\n            // If the count down is finished, write some text\n            if (distance == 0) {\n                clearInterval(this.counter);\n\n            }\n        }, 1000);\n    }\n\n    public render() {\n        let distance = 0;\n        if (isWcmEditor()) {\n            const { electionDate } = this.props;\n            const electionDateAsNumber = new Date(electionDate).getTime()\n            distance = Math.max(electionDateAsNumber - new Date().getTime(), 0);\n        }\n        else {\n            distance = this.state.distance;\n        }\n        // if (distance == 0) return null;\n\n        const { electionTitle, electionYear } = this.props;\n        const {ELECTIONS, SECONDS, MINUTES, HOURS, DAYS} = electionsDict;\n        const isCounterEnded = distance === 0;\n        const days = Math.floor(distance / (1000 * 60 * 60 * 24));\n        const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n        const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\n        const seconds = Math.floor((distance % (1000 * 60)) / 1000);\n        \n        return (\n            <div className=\"electionDateCounter\">\n                {isCounterEnded ?\n                    <div  className=\"electionYearTitle\">\n                        <div className=\"upperText\">{ELECTIONS}</div>\n                        <div className=\"lowerText\">\n                            <div className=\"yearText\">{electionYear}</div>\n                            <div className=\"ynetLogo\"></div>\n                        </div>\n                    </div>\n                    :\n                    <div className=\"dateCounterWrapper\">\n                        <div className=\"electionTitle\">{electionTitle}</div>\n                        <div className=\"dateDisplay\">\n                            <div className=\"countItem\">\n                                <div className=\"number\">{seconds}</div>\n                                <div className=\"text\">{SECONDS}</div>\n                            </div>\n                            <div className=\"separatorBar\" />\n                            <div className=\"countItem\">\n                                <div className=\"number\">{minutes}</div>\n                                <div className=\"text\">{MINUTES}</div>\n                            </div>\n                            <div className=\"separatorBar\" />\n                            <div className=\"countItem\">\n                                <div className=\"number\">{hours}</div>\n                                <div className=\"text\">{HOURS}</div></div>\n                            <div className=\"separatorBar\" />\n                            <div className=\"countItem \">\n                                <div className=\"number bold\">{days}</div>\n                                <div className=\"text\">{DAYS}</div></div>\n\n                        </div>\n                    </div>\n                }\n            </div>\n        )\n    }\n}","import { GalleryViewType } from \"widgets/commonComponents/base/basicMediaCarousel\"\nimport { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { CSSTransitionGroup } from \"react-transition-group\"\nimport { LinkedItemFieldDisplay } from \"widgets/commonDataObjects/linkedItemsFieldsDisplay\"\nimport { hexToRgbA } from \"widgets/widgetsUtils\"\nimport { SiteItemData } from \"widgets/interfaces\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\n\ninterface PlainGalleryProps {\n    medias: SiteItemData[]\n    width: number\n    galleryViewOption: GalleryViewType\n    videoSettings: VideoSettingsData\n    intervalTime: number\n    fieldsDisplaySettings: LinkedItemFieldDisplay\n    componentaColor: string\n}\n\ninterface PlainGalleryState {\n    listFocusedMediaIndex: number\n    selectedMediaIndex: number,\n    num_of_scrolls_left_available: number\n    num_of_scrolls_right_available: number\n    width_in_pixels_of_last_overflowing_item_in_row: number\n    rightOffset: number\n    videoPlayStarted: boolean\n}\n\nexport class PlainGallery1280 extends React.Component<PlainGalleryProps, PlainGalleryState>{\n    constructor(props) {\n        super(props as PlainGalleryProps);\n        this.state = {\n            listFocusedMediaIndex: 0,\n            selectedMediaIndex: 0,\n            num_of_scrolls_left_available: null,\n            num_of_scrolls_right_available: null,\n            rightOffset: 0,\n            width_in_pixels_of_last_overflowing_item_in_row: 0,\n            videoPlayStarted: false\n        }\n    }\n\n    componentWillMount() {\n        const { medias, width } = this.props\n        if (medias.length > 0) {\n            this.setupLisScrolling(medias, width)\n        }\n    }\n    private autoGalleryInterval: any;\n    private startAutoGallery = () => {\n        const { intervalTime, medias } = this.props\n        const self = this;\n        if (typeof (intervalTime) === \"number\") {\n            if (intervalTime > 0) {\n                this.autoGalleryInterval = setInterval(() => {\n                    this.setState((prevState: PlainGalleryState, props: PlainGalleryProps) => {\n                        let newIndex = ++prevState.selectedMediaIndex;\n                        if (newIndex >= props.medias.length) newIndex = 0;\n                        return { selectedMediaIndex: newIndex }\n                    });\n                }, intervalTime * 1000);\n            }\n            else {\n                clearInterval(this.autoGalleryInterval)\n            }\n        }\n    }\n    componentDidMount() {\n        if (this.props.medias.length > 1) {\n            this.startAutoGallery();\n        }\n    }\n    public static siteScriptName = \"PlainGallery1280\";\n    private single_List_item_width = 198\n\n    private setupLisScrolling(medias: SiteItemData[], width: number) {\n        const num_of_items = medias.length\n        const single_media_item_width = this.single_List_item_width\n        const num_of_medias_fit_in_full_row = Math.floor(width / single_media_item_width)\n        const num_of_scrolls_left_available = Math.floor((num_of_items * single_media_item_width) / width)\n        const num_of_scrolls_right_available = 0\n        const width_in_pixels_of_last_overflowing_item_in_row = width - (single_media_item_width * num_of_medias_fit_in_full_row)\n        this.setState({ num_of_scrolls_left_available, num_of_scrolls_right_available, width_in_pixels_of_last_overflowing_item_in_row })\n    }\n\n    private handleScrollLeftClicked = () => {\n        const { width_in_pixels_of_last_overflowing_item_in_row, num_of_scrolls_left_available, num_of_scrolls_right_available, rightOffset } = this.state\n        const { width, medias } = this.props\n\n        if (num_of_scrolls_left_available === 1) {\n            const num_of_medias_fit_in_full_row = Math.floor(width / this.single_List_item_width)\n            const rightOffse = (this.single_List_item_width * (medias.length - num_of_medias_fit_in_full_row)) - width_in_pixels_of_last_overflowing_item_in_row\n            this.setState({\n                rightOffset: - rightOffse,\n                num_of_scrolls_left_available: num_of_scrolls_left_available - 1 > 0 ? num_of_scrolls_left_available - 1 : 0,\n                num_of_scrolls_right_available: num_of_scrolls_right_available + 1\n            })\n            return null\n        }\n        if (num_of_scrolls_left_available > 0) {\n            this.setState({\n                rightOffset: rightOffset - width,\n                num_of_scrolls_left_available: num_of_scrolls_left_available - 1 > 0 ? num_of_scrolls_left_available - 1 : 0,\n                num_of_scrolls_right_available: num_of_scrolls_right_available + 1\n            })\n        }\n    }\n\n    private handleScrollRightClicked = () => {\n        const { num_of_scrolls_right_available, num_of_scrolls_left_available, width_in_pixels_of_last_overflowing_item_in_row, rightOffset } = this.state\n        const { width } = this.props\n        if (num_of_scrolls_right_available === 1) {\n            this.setState({\n                rightOffset: 0,\n                num_of_scrolls_left_available: num_of_scrolls_left_available + 1,\n                num_of_scrolls_right_available: num_of_scrolls_right_available - 1 > 0 ? num_of_scrolls_right_available - 1 : 0\n            })\n            return null\n        }\n        if (num_of_scrolls_right_available > 0) {\n            this.setState({\n                rightOffset: rightOffset + width,\n                num_of_scrolls_left_available: num_of_scrolls_left_available + 1,\n                num_of_scrolls_right_available: num_of_scrolls_right_available - 1 > 0 ? num_of_scrolls_right_available - 1 : 0\n            })\n        }\n    }\n    private showPrevMedia = (medias) => {\n        this.setState(state => state.selectedMediaIndex > 0 ? { selectedMediaIndex: state.selectedMediaIndex - 1 } : { selectedMediaIndex: medias.length - 1 })\n        this.stopAutoGallery();\n    }\n    private showNextMedia = (medias) => {\n        this.setState(state => state.selectedMediaIndex < medias.length - 1 ? { selectedMediaIndex: state.selectedMediaIndex + 1 } : { selectedMediaIndex: 0 })\n        this.stopAutoGallery();\n    }\n    private stopAutoGallery = () => {\n        if (this.props.intervalTime !== 0) {\n            clearInterval(this.autoGalleryInterval)\n        }\n\n    }\n    private onSelectMedia = (e, index: number) => {\n        this.stopAutoGallery();\n        const isVideo = this.props.medias[this.state.selectedMediaIndex].media.mediaType === \"MEDIA_VIDEO\"\n        // const videoPlayStarted = this.state.selectedMediaIndex === index && isVideo\n        this.setState({ selectedMediaIndex: index, videoPlayStarted: false })\n    }\n\n    private handleOnVideoPlayStarted = () => {\n        this.setState({ videoPlayStarted: true })\n    }\n    private handleOnVideoPlayStopped = () => {\n        this.setState({ videoPlayStarted: false })\n    }\n\n    componentWillReceiveProps(nextProps: PlainGalleryProps) {\n        if (nextProps.medias.length > 0) {\n            this.setupLisScrolling(nextProps.medias, nextProps.width)\n        }\n    }\n\n    render() {\n        const { medias, width, galleryViewOption, videoSettings, fieldsDisplaySettings, componentaColor } = this.props\n        const { listFocusedMediaIndex, selectedMediaIndex, num_of_scrolls_right_available, num_of_scrolls_left_available, rightOffset, videoPlayStarted } = this.state\n        const { isTitleLinkVisible, isTitleVisible } = fieldsDisplaySettings\n        const noTitleLink = !medias[selectedMediaIndex].titleLink\n        const mediaHeight = Math.floor(width / 1.77)\n\n        if (medias.length === 0) { return null }\n        const selectedDetailsStyle = { zIndex: 1, backgroundColor: hexToRgbA(componentaColor, \"0.85\") }\n        const arrowStyle = { backgroundColor: componentaColor }\n        const selectedMediaItem = medias[selectedMediaIndex]\n        const mainTitle = !noTitleLink && isTitleLinkVisible ?\n            <HyperLinkBuilder\n                href={selectedMediaItem.titleLink}\n                linkTarget={selectedMediaItem.titleTargetLink}\n                children={selectedMediaItem.title} >\n                <div className=\"title\"> <div dangerouslySetInnerHTML={{ __html: selectedMediaItem.title }} /> <span className=\"linkTo\">{__(\"Full Story\")}</span></div>\n            </HyperLinkBuilder> :\n            <div className=\"title\" dangerouslySetInnerHTML={{ __html: selectedMediaItem.title }} />\n        return (\n            <span>\n                <div className=\"gallerySelectedMedia\" >\n\n                    {selectedMediaItem && (videoPlayStarted === false || null) &&\n                        <div className=\"selectedMediaDetails\" style={selectedDetailsStyle}>\n                            {isTitleVisible ? mainTitle : <div className=\"title\" />}\n                            <div className=\"credit\">{selectedMediaItem.media.credit} </div>\n                        </div>}\n\n                    <div className=\"galleryDroppedImage\" style={{ height: mediaHeight }}>\n                        {galleryViewOption === \"arrows\" && <button className=\"scrollRightBtn galleryArrow\" title=\"scroll right\"\n                            style={arrowStyle}\n                            aria-label=\"scroll right\"\n                            onClick={() => this.showPrevMedia(medias)} />}\n                        <CSSTransitionGroup transitionName=\"media\" transitionEnterTimeout={500} transitionLeave={false} >\n                            <SiteMedia\n                                onPlayStarted={() => this.handleOnVideoPlayStarted()}\n                                onPlayStopped={() => this.handleOnVideoPlayStopped()}\n                                data={selectedMediaItem.media} videoSettings={videoSettings} key={selectedMediaItem.media.url} width={width} height={mediaHeight} onSelect={this.stopAutoGallery} />\n                        </ CSSTransitionGroup >\n                        {galleryViewOption === \"arrows\" && <button className=\"scrollLeftBtn galleryArrow\"\n                            style={arrowStyle}\n                            title=\"scroll left\" aria-label=\"scroll left\" onClick={() => this.showNextMedia(medias)} />}\n                    </div>\n                </div>\n\n                {galleryViewOption === \"bar\" && <div className=\"mediaListContainer\">\n                    {num_of_scrolls_right_available !== 0 && <button className=\"scrollRightBtn galleryArrow\"\n                        style={arrowStyle}\n                        title=\"scroll right\" aria-label=\"scroll right\" onClick={(e) => this.handleScrollRightClicked()} />}\n                    {num_of_scrolls_left_available !== 0 && <button className=\"scrollLeftBtn galleryArrow\"\n                        style={arrowStyle}\n                        title=\"scroll left\" aria-label=\"scroll left\" onClick={(e) => this.handleScrollLeftClicked()} />}\n                    <div className=\"mediaListWrapper\" style={{ \"marginRight\": rightOffset }} >\n                        {medias.map((item, index) =>\n                            <div key={`galleryItem_${item.media.mediaId}`} onClick={(e) => this.onSelectMedia(e, index)} onMouseOver={(e) => this.setState({ listFocusedMediaIndex: index })} className=\"mediaWrapper\">\n                                {selectedMediaIndex !== index && listFocusedMediaIndex !== index && <div className=\"unselectedOverlay\" />}\n\n                                {item.media.mediaType === \"MEDIA_VIDEO\" && <img className=\"lisPreviewImage\" src={item.media.poster} style={index === selectedMediaIndex ? { border: `6px solid ${componentaColor}` } : { border: `6px solid transparent` }} />}\n                                {item.media.mediaType === \"MEDIA_IMAGE\" && <img className=\"lisPreviewImage\" title={item.media.title} style={index === selectedMediaIndex ? { border: `6px solid ${componentaColor}` } : { border: `6px solid transparent` }} aria-hidden={item.media.ariaHidden} alt={item.media.alt} src={item.media.url} />}\n                            </div>)}\n                    </div>\n                </div>}\n            </span>\n        )\n    }\n}\n","import { PageComponentaContext, SiteComponentaProps } from \"widgets/interfaces\";\nimport { SiteSettings, SiteSettingsHOC } from \"global/components/siteSettingsHOC\";\nimport { injectPageComponentaContext } from \"widgets/commonComponents/base/injectPageComponentaContext\";\nimport { NoData } from \"widgets/commonDataObjects/noData\";\nimport { RenderReactAtSite } from \"../../../commonComponents/inline/renderReactAtSite\";\nimport { HotTagsFrontComponenta } from \"./hotTagsFront\";\nrequire(\"./ynet_site_hotTagsComponenta.less\");\nrequire(\"./vesty_ynetnews_site_hotTagsComponenta.less\");\n\ninterface HotTagsProps extends Partial<PageComponentaContext>, SiteComponentaProps<NoData> { }\n\nexport const HotTagsDict = {\n    \"he\": {\n        hotTags: \"תגיות חמות\",\n        today: \"היום\",\n        week: \"השבוע\",\n        month: \"החודש\",\n    },\n    \"en\": {\n        hotTags: \"Hot Tags\",\n        today: \"Today\",\n        week: \"This Week\",\n        month: \"This Month\",\n    },\n    \"ru\": {\n        hotTags: \"Популярные теги\",\n        today: \"Сегодня\",\n        week: \"Неделя\",\n        month: \"Месяц\",\n    }\n};\n\ndeclare let window: Window & {\n    languageCode: string\n}\n\n@injectPageComponentaContext()\n@SiteSettingsHOC()\nexport class HotTagsComponenta extends React.Component<Partial<SiteSettings> & { WidgetType?: string } & HotTagsProps, {}> {\n    render() {\n        const { extraData, widgetType, languageCode } = this.props;\n        const langcode = typeof window !== \"undefined\" && window && window.languageCode  || languageCode;\n        const lang = langcode.slice(0,2) || \"he\";\n\n        return (\n            <div className=\"RelatedTags HotTags\">\n                <div className=\"componentaTab\">\n                    <span>{HotTagsDict[lang].hotTags}</span>\n                </div>\n                <RenderReactAtSite>\n                    <HotTagsFrontComponenta\n                     data={extraData}\n                     widgetType={widgetType}\n                     languageCode={langcode}/>\n                </RenderReactAtSite>\n            </div>\n        )\n    }\n}\n\n","import * as classNames from \"classnames\";\nimport * as map from \"lodash/map\";\nimport { calculateAutomaticComponentaUrl } from \"widgets/widgetsUtils\";\nimport { HotTagsDict } from \"./hotTagsComponenta\";\n\n\nenum HotTabsEnum {\n    Today,\n    Weekly,\n    Month,\n}\n\ninterface HotTagsComponentaProps {\n    data: any,\n    widgetType: string\n    languageCode: string\n}\n\ninterface HotTagsComponentaState {\n    selectedTab: HotTabsEnum\n}\n\nconst hotTabsObj = {\n    0: \"last_day_data\", \n    1: \"last_week_data\", \n    2: \"last_month_data\", \n}\n\nexport class HotTagsFrontComponenta extends React.Component<HotTagsComponentaProps, HotTagsComponentaState>{\n    static siteScriptName = \"HotTagsFrontComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            selectedTab: HotTabsEnum.Today\n        }\n    }\n    private onTodayTabClicked = (e) => {\n        this.setSelectedTab(HotTabsEnum.Today)\n    }\n    private onWeeklyTabClicked = (e) => {\n        this.setSelectedTab(HotTabsEnum.Weekly)\n    }\n    private onMonthTabClicked = (e) => {\n        this.setSelectedTab(HotTabsEnum.Month)\n    }\n    private setSelectedTab = (tabId: number) => {\n        this.setState({ selectedTab: tabId })\n    }\n    public render() {\n        const { selectedTab } = this.state\n        const { data, widgetType, languageCode } = this.props\n        const todayTabClassNames = classNames(\"tab\", { \"active\": selectedTab === HotTabsEnum.Today })\n        const weeklyTabClassNames = classNames(\"tab\", { \"active\": selectedTab === HotTabsEnum.Weekly })\n        const monthTabClassNames = classNames(\"tab\", { \"active\": selectedTab === HotTabsEnum.Month })\n        const selectedSlotsContent = widgetType === \"hot-tags-1280\" ? classNames(\"slotsContent\", { \"active\": selectedTab === HotTabsEnum.Today }, { \"active\": selectedTab === HotTabsEnum.Weekly }, { \"active\": selectedTab === HotTabsEnum.Month }) : \"slotsContent\";\n        const lang = languageCode.slice(0, 2) || \"he\";\n        const listData = data[hotTabsObj[selectedTab]];\n\n        const list = map(listData, (item: any, index) => {\n            return <a className=\"slotItem\" key={index} href={calculateAutomaticComponentaUrl(item)} >{item.title}</a>\n        })\n\n        return (\n            <div className=\"HotTagsContent\">\n                <div className=\"tabsWrapper\">\n                    <div className={todayTabClassNames} onClick={this.onTodayTabClicked}>{HotTagsDict[lang].today}</div>\n                    <div className={weeklyTabClassNames} onClick={this.onWeeklyTabClicked}>{HotTagsDict[lang].week}</div>\n                    <div className={monthTabClassNames} onClick={this.onMonthTabClicked}>{HotTagsDict[lang].month}</div>\n                </div>\n\n                <div className={selectedSlotsContent}>\n                    <div className=\"contentBox\"> {list}</div>\n\n                </div>\n            </div>\n        )\n    }\n\n}\n/**\n * let data = {\n            \"last_day_data\": [{ publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"אמריקה\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"אמריקה\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"אמריקה\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"יקה\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"ברזיל\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"ביבי נתניהו\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"הדמוקרטית\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"הרפובליקה הדמוקרטית של קונגו\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"סמים\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"הרפובליקה  של קונגו\" }],\n            \"last_week_data\": [{ publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"אמריקה\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"אמריקה\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"אמריקה\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"lkjh\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"ברזhgfל\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"ביבי נתניהו\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"הדמוקרטית\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"הרפובליקה  של קונגו\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"סמים\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"  של קונגו\" }],\n            \"last_month_data\": [{ publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"אמריקה\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"אמריקה\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"אמריקה\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"lkjh\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"ברזhgfל\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"ביבי נתניהו\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"הדמוקרטית\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"הרפובליקה  של קונגו\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"סמים\" },\n            { publishedLink: \"https://dev-v2.ynet.co.il/news\", title: \"  של קונגו\" }]\n        }\n */\n","import { MediaContentTypes } from \"constants/contentTypes\"\nimport { SiteItemData, SiteMediaData, SiteImageData } from \"widgets/interfaces\"\nimport { VideoSettingsData, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\n\n\n\ninterface MultiImagesLabelsFrontProps {\n    width: number\n    imageWidth: number\n    imageHeight: number\n    itemList: Partial<SiteItemData>[]\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    titleColor: string\n    lastHeightSize?: number\n    isBottomLinkVissible?: boolean\n    bottomLinkColor: string\n    isLabelVisible: boolean\n\n}\n\ninterface MultiImagesLabelsFrontState {\n    rightOffset: number\n    selectedIndex: number\n}\n\n\nexport class MultiImagesLabelsGallery extends React.Component<MultiImagesLabelsFrontProps, MultiImagesLabelsFrontState>{\n    public static siteScriptName = \"MultiImagesLabelsGallery\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            selectedIndex: 0,\n            rightOffset: 0,\n\n        }\n    }\n    private numberOfImagesToView = (width, imageWidth) => {\n        const itemWidth = imageWidth + 20\n        const numberOfImagesToView = Math.floor(width / itemWidth)\n        return numberOfImagesToView;\n    }\n\n    private handleScrollLeftClicked = () => {\n        const { selectedIndex, rightOffset } = this.state\n        const { itemList, width, imageWidth, imageHeight } = this.props\n        const single_media_item_width = imageWidth + 20\n        let newIndex = selectedIndex + 1;\n        const scrollBarWidth = width + 20\n        const lastScrollingsize = single_media_item_width - (scrollBarWidth - this.numberOfImagesToView(scrollBarWidth, imageWidth) * single_media_item_width)\n        const newRightOffset = rightOffset - single_media_item_width\n        const lastNewOffset = rightOffset - lastScrollingsize\n        if (selectedIndex < itemList.length - this.numberOfImagesToView(scrollBarWidth, imageWidth) - 1) {\n            this.setState({\n                rightOffset: newRightOffset,\n                selectedIndex: newIndex\n            })\n        }\n        else if (selectedIndex === itemList.length - this.numberOfImagesToView(scrollBarWidth, imageWidth) - 1) {\n            this.setState({\n                rightOffset: lastNewOffset,\n                selectedIndex: newIndex\n            })\n        }\n\n    }\n\n    private handleScrollRightClicked = () => {\n        const { selectedIndex, rightOffset } = this.state\n        const { itemList, width, imageWidth, imageHeight } = this.props\n        const scrollBarWidth = width + 20\n        const single_media_item_width = imageWidth + 20\n        let newIndex = selectedIndex - 1\n        const lastScrollingsize = single_media_item_width - (scrollBarWidth - this.numberOfImagesToView(scrollBarWidth, imageWidth) * single_media_item_width)\n        const firstOffset = rightOffset + lastScrollingsize\n        const newRightOffset = rightOffset + single_media_item_width\n\n        if (selectedIndex > 1) {\n            this.setState({\n                rightOffset: newRightOffset,\n                selectedIndex: newIndex\n            })\n        }\n        else if (selectedIndex === 1) {\n            this.setState({\n                rightOffset: 0,\n                selectedIndex: 0\n            })\n        }\n    }\n\n    public render() {\n        const { width, imageWidth, itemList, imageHeight, videoSettings, fieldsDisplaySettings, titleColor, lastHeightSize,\n            isLabelVisible, isBottomLinkVissible, bottomLinkColor } = this.props\n        const { selectedIndex, rightOffset } = this.state\n        let isRightArrowAvailble = selectedIndex !== 0\n        let isLeftArrowAvailble = selectedIndex !== itemList.length - this.numberOfImagesToView(width + 20, imageWidth)\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        return (\n            <div className=\"slotsContent\" style={{ height: lastHeightSize }}>\n                {itemList.length > 6 && <button\n                    disabled={!isRightArrowAvailble}\n                    className=\"scrollRightBtn slotListArrow\"\n                    aria-label=\"scroll right\"\n                    title=\"scroll right\"\n                    onClick={(e) => this.handleScrollRightClicked()} />}\n                <div className=\"frame_forList\">\n                    <div className=\"slotListWrapper\" style={{ \"marginRight\": rightOffset }} >\n                        {itemList.map((slot, index) =>\n                            <div className=\"slotView\" key={`slotItem_${slot.itemId}_${index}`}\n                            >\n\n                                <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                                    <SiteMedia itemLinkUrl={slot.titleLink} linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink} isImageLinkable={true} data={slot.media !== undefined ? slot.media : emptyMedia}\n                                        width={imageWidth} height={imageHeight} videoSettings={videoSettings} />\n\n                                </div>\n                                {isLabelVisible && <div className=\"mediaLabel\">\n\n                                    {slot.labelUrl !== \"\" && <HyperLinkBuilder\n                                        href={slot.labelLink}\n                                        linkTarget={slot.labelLink !== undefined && slot.labelLinkTarget}\n                                        ariaLabel={slot.labelName}\n                                    >\n                                        <img src={slot.labelUrl} aria-hidden=\"true\" title={slot.labelName} />\n                                    </HyperLinkBuilder>}\n                                </div>}\n                                <div className=\"slotTextArea\">\n                                    {fieldsDisplaySettings.isTitleVisible && <div className=\"slotTitle twoRow\">\n                                        <HyperLinkBuilder\n                                            href={slot.titleLink}\n                                            linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                            children={slot.title} >\n                                            <span style={{ color: titleColor }} >\n                                                <div dangerouslySetInnerHTML={{ __html: slot.title }} />\n                                            </span>\n                                        </HyperLinkBuilder>\n                                    </div>}\n                                    {isBottomLinkVissible && slot.bottomText !== undefined && <div className=\"slotBottomLink\" >\n                                        <HyperLinkBuilder\n                                            href={slot.bottomTextLink !== undefined && slot.bottomTextLink}\n                                            linkTarget={slot.bottomTextLinkTarget !== undefined && slot.bottomTextLinkTarget}\n                                            children={slot.bottomTextLink} >\n                                            <span style={{ color: bottomLinkColor }} >\n                                                <div dangerouslySetInnerHTML={{ __html: slot.bottomText }} />\n                                            </span>\n                                        </HyperLinkBuilder>\n                                    </div>}\n                                </div>     </div>)}</div>\n                </div>\n                {itemList.length > 6 && <button\n                    disabled={!isLeftArrowAvailble}\n                    title=\"scroll left\"\n                    aria-label=\"scroll left\"\n                    className=\"scrollLeftBtn slotListArrow\"\n                    onClick={(e) => this.handleScrollLeftClicked()} />}\n\n\n            </div>)\n    }\n}\n","import * as map from \"lodash/map\"\nimport { SiteTickerData } from \"../../../ticker/components/tickerComponenta\";\nimport { TickerItemSlotWar } from \"./tickerItemSlot\";\n\n\ninterface TickerListProps {\n    siteFlashList: Partial<SiteTickerData>[]\n\n}\n\nexport class TickerList extends React.Component<TickerListProps, {}>{\n\n    public render() {\n        const { siteFlashList } = this.props\n        const arrayOfTitles = map(siteFlashList, item => item.title);\n        let n;\n        if (arrayOfTitles.length > 0) { n = arrayOfTitles.reduce((a, b) => a + b) }\n        else {\n            n = 1;\n        }\n        const duration = arrayOfTitles.length > 3 ? n.length * 0.30 : n.length * 0.60;\n\n        if (!siteFlashList || siteFlashList.length == 0) {\n            return null\n        }\n        return (\n            <div className=\"ticker-wrap\"  >\n                <div className=\"animationDiv\" style={{ animationDuration: `${duration}s, ${duration}s`, animationDelay: `${0}s, ${duration}s` }}>\n                    {siteFlashList.map((flashItem, i) => <TickerItemSlotWar\n                        title={flashItem.title}\n                        flashDate={flashItem.flashDate}\n                        linkTarget={flashItem.linkTarget}\n                        link={flashItem.link}\n                        key={flashItem.slotId}\n                        flashId={flashItem.slotId}\n                        flashLinkType={flashItem.flashLinkType}\n                    />)}\n                </div>\n\n            </div>\n        )\n    }\n}","import * as classNames from \"classnames\"\nimport { RichInput } from \"widgets/commonComponents/base/richInput\"\nimport { isWcmEditor } from \"config/serverConfig\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { FlashLinkType } from \"../../../ticker/windows/flashLinkSelector\";\n\n\ninterface TickerItemSlotProps {\n    title: string\n    flashDate: Date\n    linkTarget: LinkTargetProperties\n    link: string\n    flashId: string\n    flashLinkType: FlashLinkType\n}\n\nexport class TickerItemSlotWar extends React.Component<TickerItemSlotProps, {}>{\n    public static siteScriptName = \"TickerItemSlotWar\"\n    private titleRef: RichInput;\n\n    private renderLink(popUpLink: any) {\n        const { flashLinkType, link, linkTarget, title, flashId } = this.props\n        if (flashLinkType === \"link\") {\n\n            return (\n                <HyperLinkBuilder href={link}\n                    linkTarget={linkTarget}\n                    children={title} >\n                    <div dangerouslySetInnerHTML={{ __html: title }} /></HyperLinkBuilder>\n\n            )\n        }\n        else {\n            return (popUpLink)\n        }\n    }\n\n\n    public render() {\n        const { title, flashDate, flashId } = this.props\n\n        const popUpLink = !isWcmEditor() ? <a tabIndex={0} className=\"flashItem\" data-flashid={flashId} id={flashId}>\n            <div dangerouslySetInnerHTML={{ __html: title }} />\n        </a> : <div dangerouslySetInnerHTML={{ __html: title }} />\n        return (\n            <div className={classNames(\"slotView\", { \"inEditMode\": isWcmEditor(), \"emptySlot\": title.length === 0 })}>\n                <span className=\"bullet\" />\n                <div className={classNames(\"slotTitle\", { \"withWidth\": title.length === 0 })}>\n                    <span  >{separateHourFromDateAndFormatToString(flashDate, { showDate: true, showHour: true, isSlashSeparator: true, fullYear: true })}</span>\n                </div>\n\n                <div className=\"moreDetails\" >\n                    {this.renderLink(popUpLink)}\n\n                </div>\n\n            </div>\n        )\n    }\n}\n\n","import * as map from \"lodash/map\"\nimport * as filter from \"lodash/filter\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { TickerViewData } from \"../../../tickerAuto/interfaces\"\nimport { SiteTickerData } from \"../../../ticker/components/tickerComponenta\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteTickerPopUp } from \"../../../ticker/components/tickerPopUp\";\nimport { TickerList } from \"./flashList\";\n\nrequire(\"./ynet_site_tickerWar.less\")\nrequire(\"../../../ticker/components/site_tickerComponenta.less\")\n\n\ninterface TickerAutoViewProps {\n    data: TickerViewData\n    articles: any\n}\n\n\nexport class TickerWarView extends React.Component<TickerAutoViewProps, {}>  {\n\n    public render() {\n        const { data, articles } = this.props\n        const mainStyleBg = { backgroundColor: \"#000000\" }\n        const targetTitleLink: LinkTargetProperties = {\n            linkOpenType: \"new\",\n            lightBoxBgColor: \"\",\n            lightBoxHeight: null,\n            lightBoxOpacity: null,\n            lightBoxWidth: 0\n        }\n        let itemList = [];\n\n        if (Object.keys(articles).length > 0) {\n            itemList = filter(map(articles, (article: any, index) => {\n                if (index > data.numberOfVisibleItems - 1) return null\n                let image = { url: '' }\n\n                return {\n                    articlePublishDate: article.launchDate,\n                    articleUpdateDate: article.dateUpdatedOnSite,\n                    slotId: article.articleId,\n                    title: article.title,\n                    flashText: article.plainText,\n                    flashDate: article.dateUpdatedOnSite,\n                    flashDateType: \"update\",\n                    link: article.publishedLink,\n                    linkTarget: targetTitleLink,\n                    flashLinkType: \"flash\",\n                    itemImg: article.promotionImageDetails,\n                    articleId: article.articleId,\n                    author: article.author,\n                } as SiteTickerData\n\n            }))\n        }\n        return (\n            <div className={`TickerWarComponenta`} style={mainStyleBg}>\n                {data.fieldsDisplaySettings.isTabVisible &&\n                    <div className=\"tickerTab\">\n                        <HyperLinkBuilder href={data.tabHref} linkTarget={data.tabTitleLinkTarget}>\n                            {data.tabTitleText}\n                        </HyperLinkBuilder>\n                    </div>\n                }\n                <div className=\"slotsContent\" >\n\n                    <TickerList siteFlashList={itemList} isAuto={true} />\n                    <SiteTickerPopUp items={itemList} popUpTitle={data.popUpTitle} popUpTitleColor={data.popUpTitleColor} isAuto={true} />\n                </div>\n            </div>\n        )\n    }\n} ","import { SimpleLinkRenderer } from \"../../../../commonComponents/inline/hyperLink\"\n\n\ninterface ynetShopsProps {\n    items: any[]\n    width: number\n}\n\ninterface ynetShopsState {\n    rightOffset: number\n    selectedIndex: number\n}\nexport class YnetShopsGallery extends React.Component<ynetShopsProps, ynetShopsState> {\n    public static siteScriptName = \"YnetShopsGallery\";\n    constructor(props) {\n        super(props)\n        this.state = {\n            selectedIndex: 0,\n            rightOffset: 0,\n        }\n    }\n    private numberOfImagesToView = (width, imageWidth) => {\n        const itemWidth = imageWidth + 20\n        const numberOfImagesToView = Math.floor(width / itemWidth)\n        return numberOfImagesToView;\n    }\n\n    private handleScrollLeftClicked = () => {\n        const { selectedIndex, rightOffset } = this.state\n        const { items, width } = this.props\n        const single_media_item_width = 202\n        let newIndex = selectedIndex + 1;\n        const scrollBarWidth = width + 20\n        const lastScrollingsize = single_media_item_width - (scrollBarWidth - this.numberOfImagesToView(scrollBarWidth, 182) * single_media_item_width)\n        const newRightOffset = rightOffset - single_media_item_width\n        const lastNewOffset = rightOffset - lastScrollingsize\n        if (selectedIndex < items.length - this.numberOfImagesToView(scrollBarWidth, 182) - 1) {\n            this.setState({\n                rightOffset: newRightOffset,\n                selectedIndex: newIndex\n            })\n        }\n        else if (selectedIndex === items.length - this.numberOfImagesToView(scrollBarWidth, 182) - 1) {\n            this.setState({\n                rightOffset: lastNewOffset,\n                selectedIndex: newIndex\n            })\n        }\n\n    }\n\n    private handleScrollRightClicked = () => {\n        const { selectedIndex, rightOffset } = this.state\n        const { items, width } = this.props\n        const scrollBarWidth = width + 20\n        const single_media_item_width = 202\n        let newIndex = selectedIndex - 1\n        const lastScrollingsize = single_media_item_width - (scrollBarWidth - this.numberOfImagesToView(scrollBarWidth, 182) * single_media_item_width)\n        const firstOffset = rightOffset + lastScrollingsize\n        const newRightOffset = rightOffset + single_media_item_width\n\n        if (selectedIndex > 1) {\n            this.setState({\n                rightOffset: newRightOffset,\n                selectedIndex: newIndex\n            })\n        }\n        else if (selectedIndex === 1) {\n            this.setState({\n                rightOffset: 0,\n                selectedIndex: 0\n            })\n        }\n    }\n\n    render() {\n        const { items, width } = this.props\n        const { selectedIndex, rightOffset } = this.state\n        let isRightArrowAvailble = selectedIndex !== 0\n        let isLeftArrowAvailble = selectedIndex !== items.length - this.numberOfImagesToView(width + 20, 182)\n\n        return (\n            <div className=\"slotsContent\">\n                {items.length > 6 && <button\n                    disabled={!isRightArrowAvailble}\n                    className=\"scrollRightBtn slotListArrow\"\n                    aria-label=\"scroll right\"\n                    title=\"scroll right\"\n                    onClick={(e) => this.handleScrollRightClicked()} />}\n                <div className=\"frame_forList\">\n                    <div className=\"slotListWrapper\" style={{ \"marginRight\": rightOffset }} >\n                        {items.map((item, index) =>\n                            <div className=\"slotView\" key={`slotItem_${index}`} >\n\n                                <SimpleLinkRenderer href={item.url} target=\"_blank\">\n                                    <img src={item.image} title={item.title} />\n                                    <div className=\"titleItem\">\n                                        {item.title}\n                                    </div>\n                                    <div className=\"price\">\n                                        {item.price_surfix} {item.price} ₪\n                            </div>\n                                </SimpleLinkRenderer>\n                            </div>)}</div>\n                </div>\n                {items.length > 6 && <button\n                    disabled={!isLeftArrowAvailble}\n                    title=\"scroll left\"\n                    aria-label=\"scroll left\"\n                    className=\"scrollLeftBtn slotListArrow\"\n                    onClick={(e) => this.handleScrollLeftClicked()} />}\n\n\n            </div>\n\n        )\n\n    }\n}\n","import { NewsLetterSignBox } from \"./newsletterBox\";\n\n\ninterface NewsLetterSignUpPopUpProps {\n    itemId: string\n    componentaId: string\n    isPlus: boolean\n    itemTitle:string\n    accountName: string\n}\n\ninterface NewsLetterSignUpPopUpState {\n    isPopUpVisible: boolean\n    hasSend: boolean\n    user: { props: { firstName: string } }\n    isLoginOpened: boolean,\n}\n\n\n\nexport class NewsLetterSignUpPopUp extends React.Component<NewsLetterSignUpPopUpProps, NewsLetterSignUpPopUpState>{\n    public static siteScriptName = \"NewsLetterSignUpPopUp\";\n    constructor(props) {\n        super(props)\n        this.state = {\n            isPopUpVisible: false,\n            hasSend: false,\n            user: null,\n            isLoginOpened: false\n\n        }\n    }\n    componentDidMount() {\n        if (window && window.YitPaywall && window.YitPaywall.user) {\n            this.setState({\n                user: window.YitPaywall.user\n            })\n        }\n    }\n    private openPopUp = () => {\n        const { itemId, componentaId, isPlus } = this.props\n        const { isPopUpVisible, user } = this.state\n        if (!isPlus || (isPlus && user)) {\n            this.setState({ isPopUpVisible: true })\n            document.body.style.overflow = \"hidden\";\n        }\n        else {\n            window && window.YitPaywall.openLoginPopUp()\n        }\n\n    }\n\n    private closePopUp = () => {\n        this.setState({ isPopUpVisible: false })\n\n        document.body.style.overflow = \"\";\n    }\n\n    render() {\n        const { itemId, componentaId, itemTitle, accountName} = this.props\n        const { isPopUpVisible } = this.state\n\n        return (\n            <>\n                <button className=\"signUpBtn\" onClick={this.openPopUp}>להרשמה</button>\n                {isPopUpVisible && <div className=\"popUpMask\">\n                    <NewsLetterSignBox itemTitle={itemTitle} itemId={itemId} onClose={this.closePopUp} componentaId={componentaId} accountName={accountName}/>\n                </div>\n                }\n            </>\n        )\n\n\n    }\n}\n","import * as classNames from \"classnames\"\nconst clickOutside = require('react-click-outside');\nimport * as axios from \"axios\"\n\ninterface NewsLetterSignBoxProps {\n    itemId: string\n    componentaId: string\n    onClose: () => void\n    itemTitle:string\n    accountName: string\n}\n\ninterface NewsLetterSignBoxState {\n    sendStatus: SendStatus\n    checkedTerms: boolean\n    mailValue: string\n}\nenum SendStatus {\n    beforeSend = 0,\n    validationError = 1,\n    sent = 2,\n    networkError = 3,\n    sendPending = 4,\n}\n\ndeclare var grecaptcha: any\ndeclare var window: any\n\n@clickOutside\nexport class NewsLetterSignBox extends React.Component<NewsLetterSignBoxProps, NewsLetterSignBoxState>{\n    constructor(props) {\n        super(props)\n        this.state = {\n            sendStatus: 0,\n            checkedTerms: false,\n            mailValue: \"\",\n        }\n    }\n\n    private handleClickOutside = () => {\n        this.props.onClose()\n    }\n\n    private closePopUp = () => {\n        this.props.onClose()\n    }\n\n    private validateEmail = (email: string) => {\n        if (!email) return false;\n        const re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n        return re.test(String(email).toLowerCase());\n    }\n    private changeMailValue = (e) => {\n        this.setState({ mailValue: e.target.value })\n    }\n    private showError = (isMailError: boolean, checkedTerms: boolean) => {\n        const { sendStatus } = this.state\n        let text = \"\";\n        if (sendStatus === SendStatus.validationError) {\n            if (!checkedTerms) {\n                text = \"נדרש לאשר הסכמה לתנאי השימוש ומדיניות הפרטיות\";\n            }\n            if (isMailError) {\n                text = \"יש למלא כתובת מייל תקינה\";\n            }\n        } else if (sendStatus === SendStatus.networkError) {\n            text = \"אירעה שגיאה בשליחה, נסה מאוחר יותר\"\n        }\n        return text;\n    }\n    private changeTerms = () => {\n        this.setState({ checkedTerms: !this.state.checkedTerms })\n    }\n    private onHandleSend = () => {\n        const isTest = window.location.search.includes(\"is_test=1\");\n        if (isTest) {\n            this.sendSub(\"\", true);\n        } else if (window.wcmCaptchaSiteKey && grecaptcha) {\n            grecaptcha.ready(() => {\n                grecaptcha.execute(window.wcmCaptchaSiteKey, { action: 'submit' }).then(token => {\n                    this.sendSub(token, false);\n                })\n            })\n        }\n    }\n\n\n    private sendSub = async (token: string, isTest: boolean) => {\n        const { itemId, componentaId, itemTitle, accountName } = this.props\n        const { mailValue, checkedTerms } = this.state\n        let postData = {\n            groupId: itemId || '',\n            email: mailValue,\n            token,\n            accountName,\n        }\n        if (this.validateEmail(mailValue) && checkedTerms) {\n            try {\n                this.setState({ sendStatus: SendStatus.sendPending });\n                window.dataLayer = window.dataLayer || []\n                window.dataLayer.push({ 'event': 'GA_event', 'Category': 'Newsletter', 'Action': 'Registered to Newsletter', 'Label': itemTitle });\n                const response = await axios.post(`/api/newsletter/${componentaId}/subscribeToGroup${isTest ? \"?is_test=1\" : \"\"}`, postData)\n                if (response.status === 200) {\n                    this.setState({ sendStatus: SendStatus.sent });\n                }\n            } catch {\n                this.setState({ sendStatus: SendStatus.networkError })\n            }\n        }\n        else {\n            this.setState({\n                sendStatus: 1\n            })\n        }\n    }\n\n    render() {\n        const { mailValue, sendStatus, checkedTerms } = this.state\n        const termsLink = <a href=\"https://z.ynet.co.il/short/content/2018/privacypolicy/terms.html\" target=\"_blank\">תנאי השימוש</a>\n        const policyLink = <a href=\"https://z.ynet.co.il/short/content/2018/privacypolicy/policy.html\" target=\"_blank\">מדיניות הפרטיות</a>\n        const emailError = sendStatus == SendStatus.validationError && !this.validateEmail(mailValue);\n        const checkboxError = sendStatus === 1 && !checkedTerms ? \"error\" : \"\";\n        const emailErrorClass = emailError ? \"error\" : \"\";\n        const titleText = sendStatus === 2 ? \"תודה!\" : \"הכניסו את כתובת המייל והירשמו לדיוור\";\n        return (\n            <div className={classNames(\"newLetterSignUp\", { \"messageSent\": sendStatus === 2 })}>\n                <div className=\"closeButton\" onClick={this.closePopUp}></div>\n                <div className=\"headerImage\"></div>\n                <div className=\"popUpTitle\">{titleText}</div>\n                {sendStatus === 2 && <div className=\"popUpSubTitle\">הרשמתך התקבלה בהצלחה</div>}\n                {sendStatus !== 2 && <> <div className=\"emailInput\">\n                    <input placeholder=\"כתובת מייל\" type=\"text\" name=\"mail\" required value={mailValue} className={emailErrorClass} onChange={this.changeMailValue} />\n                    <button className=\"sendBtn\" disabled={sendStatus === 4} onClick={this.onHandleSend}>{sendStatus === 4 ? \"שולח...\" : \"שליחה\"}</button>\n                    <div className=\"errorMessage\">{this.showError(emailError, checkedTerms)}</div>\n                </div>\n                    <div className=\"acceptTerms\">\n                        <input type=\"checkbox\" id=\"accept-terms-newsletter\" className={checkboxError} onChange={this.changeTerms} />\n\n                        <span> מסכים/ה ל{termsLink}, {policyLink} ולקבלת פניות שיווקיות מ-ynet כולל טלפוניות, מבלי שהנ\"ל מהווה הסכמה לעריכת עסקה</span>\n                    </div></>}\n            </div>\n\n        )\n\n\n    }\n}\n","import { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\";\nimport { getNewlinkTargetProperties } from \"../../../widgetsUtils\";\nimport { CategorySelectionItem } from \"../../../../global/components/categorySelectInput/categorySelectInput\";\n\nrequire('./pplus_site_categoryLabel.less')\n\n\ninterface CategoryLabelProps {\n    category: CategorySelectionItem\n    defaultBgColor?: string\n    id?: string\n}\n\nexport class CategoryLabel extends React.Component<CategoryLabelProps, {}> {\n    public render() {\n        const { category, defaultBgColor, id } = this.props;\n        const categoryBgColor = category.categoryColor && category.categoryColor !== '' ?\n            category.categoryColor : defaultBgColor && defaultBgColor !== '' ?\n                defaultBgColor : \"#272727\";\n        return (\n            <HyperLinkBuilder href={category.publishedLink} linkTarget={getNewlinkTargetProperties()} style={{ color: '#fff' }}>\n                <div className=\"CategoryLabel\" id={id} style={{ backgroundColor: categoryBgColor, color: '#fff' }}>\n                    <div>{category.textToShow}</div>\n                </div>\n            </HyperLinkBuilder>\n        )\n    }\n}","require(\"./pplus_site_plainGallery.less\")\n\nimport { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\"\nimport { CSSTransitionGroup } from \"react-transition-group\"\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { GalleryViewType } from \"../../../../commonComponents/base/basicMediaCarousel\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\n\ninterface PlainGalleryProps {\n    medias: SiteItemData[]\n    width: number\n    videoSettings: VideoSettingsData\n    intervalTime: number\n    componentaColor: string\n}\n\ninterface PlainGalleryState {\n    selectedMediaIndex: number,\n    num_of_scrolls_left_available: number\n    num_of_scrolls_right_available: number\n    width_in_pixels_of_last_overflowing_item_in_row: number\n    rightOffset: number\n    videoPlayStarted: boolean\n}\n\nexport class PplusPlainGallery extends React.Component<PlainGalleryProps, PlainGalleryState>{\n    constructor(props) {\n        super(props as PlainGalleryProps);\n        this.state = {\n            selectedMediaIndex: 0,\n            num_of_scrolls_left_available: null,\n            num_of_scrolls_right_available: null,\n            rightOffset: 0,\n            width_in_pixels_of_last_overflowing_item_in_row: 0,\n            videoPlayStarted: false\n        }\n    }\n\n    componentWillMount() {\n        const { medias, width } = this.props\n        const galleryWidth = width - 46;\n        if (medias.length > 0) {\n            this.setupLisScrolling(medias, galleryWidth)\n        }\n    }\n    private autoGalleryInterval: any;\n    private startAutoGallery = () => {\n        const { intervalTime, medias } = this.props\n        const self = this;\n        if (typeof (intervalTime) === \"number\") {\n            if (intervalTime > 0) {\n                this.autoGalleryInterval = setInterval(() => {\n                    this.setState((prevState: PlainGalleryState, props: PlainGalleryProps) => {\n                        let newIndex = ++prevState.selectedMediaIndex;\n                        if (newIndex >= props.medias.length) newIndex = 0;\n                        return { selectedMediaIndex: newIndex }\n                    });\n                }, intervalTime * 1000);\n            }\n            else {\n                clearInterval(this.autoGalleryInterval)\n            }\n        }\n    }\n    componentDidMount() {\n        if (this.props.medias.length > 1) {\n            this.startAutoGallery();\n        }\n    }\n    public static siteScriptName = \"PplusPlainGallery\";\n    private single_List_item_width = 151\n\n    private setupLisScrolling(medias: SiteItemData[], width: number) {\n        const num_of_items = medias.length\n        const single_media_item_width = this.single_List_item_width\n        const num_of_medias_fit_in_full_row = Math.floor(width / single_media_item_width)\n        const num_of_scrolls_left_available = Math.floor((num_of_items * single_media_item_width) / width)\n        const num_of_scrolls_right_available = 0\n        const width_in_pixels_of_last_overflowing_item_in_row = width - (single_media_item_width * num_of_medias_fit_in_full_row)\n        this.setState({ num_of_scrolls_left_available, num_of_scrolls_right_available, width_in_pixels_of_last_overflowing_item_in_row })\n    }\n\n    private handleScrollLeftClicked = () => {\n        const { width_in_pixels_of_last_overflowing_item_in_row, num_of_scrolls_left_available, num_of_scrolls_right_available, rightOffset } = this.state\n        const { width, medias } = this.props\n        const galleryWidth = width - 46;\n        if (num_of_scrolls_left_available === 1) {\n            const num_of_medias_fit_in_full_row = Math.floor(galleryWidth / this.single_List_item_width)\n            const rightOffse = (this.single_List_item_width * (medias.length - num_of_medias_fit_in_full_row)) - width_in_pixels_of_last_overflowing_item_in_row\n            this.setState({\n                rightOffset: - rightOffse,\n                num_of_scrolls_left_available: num_of_scrolls_left_available - 1 > 0 ? num_of_scrolls_left_available - 1 : 0,\n                num_of_scrolls_right_available: num_of_scrolls_right_available + 1\n            })\n            return null\n        }\n        if (num_of_scrolls_left_available > 0) {\n            this.setState({\n                rightOffset: rightOffset - galleryWidth,\n                num_of_scrolls_left_available: num_of_scrolls_left_available - 1 > 0 ? num_of_scrolls_left_available - 1 : 0,\n                num_of_scrolls_right_available: num_of_scrolls_right_available + 1\n            })\n        }\n    }\n\n    private handleScrollRightClicked = () => {\n        const { num_of_scrolls_right_available, num_of_scrolls_left_available, width_in_pixels_of_last_overflowing_item_in_row, rightOffset } = this.state\n        const { width } = this.props\n        const galleryWidth = width - 46;\n\n        if (num_of_scrolls_right_available === 1) {\n            this.setState({\n                rightOffset: 0,\n                num_of_scrolls_left_available: num_of_scrolls_left_available + 1,\n                num_of_scrolls_right_available: num_of_scrolls_right_available - 1 > 0 ? num_of_scrolls_right_available - 1 : 0\n            })\n            return null\n        }\n        if (num_of_scrolls_right_available > 0) {\n            this.setState({\n                rightOffset: rightOffset + galleryWidth,\n                num_of_scrolls_left_available: num_of_scrolls_left_available + 1,\n                num_of_scrolls_right_available: num_of_scrolls_right_available - 1 > 0 ? num_of_scrolls_right_available - 1 : 0\n            })\n        }\n    }\n    private showPrevMedia = (medias) => {\n        this.setState(state => state.selectedMediaIndex > 0 ? { selectedMediaIndex: state.selectedMediaIndex - 1 } : { selectedMediaIndex: medias.length - 1 })\n        this.stopAutoGallery();\n    }\n    private showNextMedia = (medias) => {\n        this.setState(state => state.selectedMediaIndex < medias.length - 1 ? { selectedMediaIndex: state.selectedMediaIndex + 1 } : { selectedMediaIndex: 0 })\n        this.stopAutoGallery();\n    }\n    private stopAutoGallery = () => {\n        if (this.props.intervalTime !== 0) {\n            clearInterval(this.autoGalleryInterval)\n        }\n\n    }\n    private onSelectMedia = (e, index: number) => {\n        this.stopAutoGallery();\n        const isVideo = this.props.medias[this.state.selectedMediaIndex].media.mediaType === \"MEDIA_VIDEO\"\n        // const videoPlayStarted = this.state.selectedMediaIndex === index && isVideo\n        this.setState({ selectedMediaIndex: index, videoPlayStarted: false })\n    }\n\n    private handleOnVideoPlayStarted = () => {\n        this.setState({ videoPlayStarted: true })\n    }\n    private handleOnVideoPlayStopped = () => {\n        this.setState({ videoPlayStarted: false })\n    }\n\n    componentWillReceiveProps(nextProps: PlainGalleryProps) {\n        if (nextProps.medias.length > 0) {\n            this.setupLisScrolling(nextProps.medias, nextProps.width)\n        }\n    }\n\n    render() {\n        const { medias, width, videoSettings, componentaColor } = this.props\n        const { selectedMediaIndex, num_of_scrolls_right_available, num_of_scrolls_left_available, rightOffset, videoPlayStarted } = this.state\n        const noTitleLink = !medias[selectedMediaIndex].titleLink\n        const mediaHeight = Math.floor(width / 1.77)\n        const galleryWidth = width - 46;\n        if (medias.length === 0) { return null }\n        const selectedDetailsStyle = { zIndex: 1 }\n        const selectedMediaItem = medias[selectedMediaIndex]\n        const buttonBg = { backgroundColor: componentaColor }\n        return (\n            <span>\n                <div className=\"gallerySelectedMedia\" >\n\n                    {selectedMediaItem && (videoPlayStarted === false || null) &&\n                        <div className=\"selectedMediaDetails\" style={selectedDetailsStyle}>\n                            {!noTitleLink ?\n                                <HyperLinkBuilder\n                                    href={selectedMediaItem.titleLink}\n                                    linkTarget={selectedMediaItem.titleTargetLink}\n                                    children={selectedMediaItem.title} >\n                                    <div className=\"title\"> <div dangerouslySetInnerHTML={{ __html: selectedMediaItem.title }} /> <span className=\"linkTo\">{__(\"Full Story\")}</span></div>\n                                </HyperLinkBuilder> :\n                                <div className=\"title\" dangerouslySetInnerHTML={{ __html: selectedMediaItem.title }} />}\n                        </div>}\n\n                    <div className=\"galleryDroppedImage\" style={{ height: mediaHeight }}>\n                        <CSSTransitionGroup transitionName=\"media\" transitionEnterTimeout={500} transitionLeave={false} >\n                            <SiteMedia\n                                onPlayStarted={() => this.handleOnVideoPlayStarted()}\n                                onPlayStopped={() => this.handleOnVideoPlayStopped()}\n                                data={selectedMediaItem.media} videoSettings={videoSettings} key={selectedMediaItem.media.url} width={width} height={mediaHeight} onSelect={this.stopAutoGallery} />\n                        </ CSSTransitionGroup >\n\n                    </div>\n                </div>\n\n                <div className=\"mediaListContainer\">\n                    <button className=\"scrollRightBtn galleryArrow\"\n                        disabled={num_of_scrolls_right_available === 0}\n                        title=\"scroll right\"\n                        style={buttonBg}\n                        aria-label=\"scroll right\"\n                        onClick={(e) => this.handleScrollRightClicked()} />\n                    <button className=\"scrollLeftBtn galleryArrow\"\n                        disabled={num_of_scrolls_left_available === 0}\n                        style={buttonBg}\n                        title=\"scroll left\"\n                        aria-label=\"scroll left\"\n                        onClick={(e) => this.handleScrollLeftClicked()} />\n                    <div className=\"mediaList\" style={{ width: `${galleryWidth}px` }}>\n                        <div className=\"mediaListWrapper\" style={{ \"marginRight\": rightOffset }} >\n                            {medias.map((item, index) =>\n                                <div key={`galleryItem_${item.media.mediaId}`} onClick={(e) => this.onSelectMedia(e, index)} className=\"mediaWrapper\">\n                                    {item.media.mediaType === \"MEDIA_VIDEO\" && <span className=\"iconOnPoster small\"></span>}\n                                    {item.media.mediaType === \"MEDIA_VIDEO\" && <img className=\"lisPreviewImage\" src={item.media.poster} />}\n                                    {item.media.mediaType === \"MEDIA_IMAGE\" && <img className=\"lisPreviewImage\" title={item.media.title} aria-hidden={item.media.ariaHidden} alt={item.media.alt} src={item.media.url} />}\n                                    <div className=\"itemTitle\" style={index === selectedMediaIndex ? { background: componentaColor } : { background: \"#000\" }}>{item.bottomText}</div>\n                                </div>)}\n                        </div>\n                    </div>\n                </div>\n            </span>\n        )\n    }\n}\n","\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\";\nimport { isWcmEditor } from \"../../../../../config/serverConfig\";\nimport * as throttle from \"lodash/throttle\"\nimport * as classNames from \"classnames\"\nrequire('./pplus_site_pplusHeader.less')\n\nexport interface PplusMenuItem {\n    id: string\n    name: string\n    link: string\n    catId: string\n    targetLink?: LinkTargetProperties\n}\ninterface pplusHeaderProps {\n    menuItems: PplusMenuItem[]\n    categoryId: string\n}\ninterface SiteState {\n    isSticky: boolean\n}\n\nexport class PplusHeaderFront extends React.Component<pplusHeaderProps, SiteState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            isSticky: false\n        }\n    }\n\n    public static siteScriptName = \"PplusHeaderFront\";\n\n    private activateStickyHeader() {\n        if (!isWcmEditor()) {\n            const headerPos = document.querySelector(\".pplus-header\").getBoundingClientRect().top\n            if (headerPos + 34 <= 0) {\n                this.setState({ isSticky: true })\n            } else {\n                this.setState({ isSticky: false })\n            }\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(\"scroll\", this.throttledScrollHandler())\n        this.activateStickyHeader()\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener(\"scroll\", this.throttledScrollHandler())\n    }\n\n    private throttledScrollHandler = () => throttle(() => this.activateStickyHeader(), 200)\n\n    private currentCatName = (catId: string) => {\n        const { categoryId } = this.props\n        if (categoryId === catId)\n            return \"current\"\n        else return \"\";\n    }\n\n    render() {\n        const { menuItems } = this.props\n        const { isSticky } = this.state\n\n        return (\n            <div className={classNames(\"PplusHeader\", { \"sticky-header\": isSticky })} id=\"PplusHeader\">\n\n                <SimpleLinkRenderer className=\"pplusLogo\" href={\"//pplus.ynet.co.il/home/0,7340,L-11211,00.html\"}/>\n\n                <nav className=\"linksWrapper\" role=\"navigation\" aria-label=\"Menu\">\n                    <ul>\n                        {menuItems.map((item, index) => {\n                            return (\n                                <li className={`menuItem ${this.currentCatName(item.catId)}`} key={index} id={item.id} >\n                                    <HyperLinkBuilder href={item.link} linkTarget={item.targetLink}>\n                                        {item.name}\n                                    </HyperLinkBuilder>\n                                </li>\n                            )\n                        })}\n                    </ul>\n                </nav>\n                <div className=\"stick-left-wrapper\">\n                    <div className=\"pplusSocial\">\n                        <SimpleLinkRenderer href=\"//www.instagram.com/pnaiplus\" target=\"_blank\" className=\"socialBtn pplus_instagram\" />\n                        <SimpleLinkRenderer href=\"//www.facebook.com/pnai.plus\" target=\"_blank\" className=\"socialBtn pplus_fb\" />\n                        <SimpleLinkRenderer href=\"//www.tiktok.com/@pnai_plus\" target=\"_blank\" className=\"socialBtn pplus_tiktok\" />\n                    </div>\n                    <SimpleLinkRenderer className=\"ynetLogo\" href=\"//www.ynet.co.il/home/0,7340,L-8,00.html\" />\n                </div>\n            </div>\n        )\n    }\n}","import { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\n\ninterface articleHeaderProps {\n    logoLink: string\n}\n\nexport class PplusMobileArticleHeader extends React.Component<articleHeaderProps, {}> {\n\n    private openShare = async () => {\n        const current_url = window.location.href;\n        const shareData = { url: current_url }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    render() {\n        const { logoLink } = this.props\n\n        return (\n            <div className=\"pplusMobileArticleHeader\">\n                <div className=\"rightSideWrapper\">\n                    <a className=\"goBackArrow\" href={\"javascript:history.back()\"}></a>\n                    <div className=\"seperator\"></div>\n                </div>\n\n                <SimpleLinkRenderer className=\"logoLinkWrapper\" href={logoLink} >\n                    <div className=\"pplusLogo\"></div>\n                </SimpleLinkRenderer>\n\n                <div className=\"shareBtn\" onClick={this.openShare}></div>\n            </div>\n        )\n    }\n}","\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\";\nimport { PplusMobileArticleHeader } from \"./pplusMobileArticleHeader\";\nimport { isWcmEditor } from \"../../../../../config/serverConfig\";\nimport * as throttle from \"lodash/throttle\"\nimport * as ClassNames from \"classnames\"\nrequire('./m_pplus_pplusHeader.less')\n\nexport interface PplusMenuItem {\n    id: string\n    name: string\n    link: string\n    catId: string\n    targetLink?: LinkTargetProperties\n}\n\ninterface pplusHeaderProps {\n    menuItems: PplusMenuItem[]\n    categoryId: string\n    isArticlePage?: boolean\n}\n\ninterface SiteState {\n    isSticky: boolean\n    isMenuActive: boolean\n    isSearchActive: boolean\n    userInput: string\n    bodyOverflowState: string\n}\n\nexport class PplusMobileHeader extends React.Component<pplusHeaderProps, SiteState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            isSticky: false,\n            isMenuActive: false,\n            isSearchActive: false,\n            userInput: \"\",\n            bodyOverflowState: \"\"\n        }\n    }\n\n    public static siteScriptName = \"PplusMobileHeader\";\n\n    private activateStickyHeader() {\n        const headerPos = document.querySelector(\".pplus-header\").getBoundingClientRect().top\n        if (headerPos < 0) {\n            this.setState({ isSticky: true })\n        } else {\n            this.setState({ isSticky: false })\n        }\n    }\n\n    private throttledScrollHandler = () => throttle(() => this.activateStickyHeader(), 200)\n\n    public componentDidMount() {\n        document.addEventListener(\"scroll\", this.throttledScrollHandler())\n        if (!this.props.isArticlePage && !isWcmEditor()) { this.scrollCurrentCategoryIntoView() }\n    }\n\n    componentWillUnmount() {\n        document.addEventListener(\"scroll\", this.throttledScrollHandler())\n    }\n\n    private scrollCurrentCategoryIntoView = () => {\n        const { categoryId } = this.props\n\n        const elementToScroll = document.getElementById(`category-${categoryId}`);\n        elementToScroll && elementToScroll.scrollIntoView({ behavior: \"smooth\", block: \"end\", inline: \"center\" });\n    }\n\n    private currentCatName = (catId: string) => {\n        const { categoryId } = this.props\n        if (categoryId === catId)\n            return \"current\"\n        else return \"\";\n    }\n\n    private activateSideMenu = () => {\n        this.setState(state => ({ isMenuActive: !state.isMenuActive }), () => {\n            if (this.state.isMenuActive) {\n                this.setState({ bodyOverflowState: document.querySelector(\"body\").style.overflow });\n                document.querySelector(\"body\").style.overflow = \"hidden\";\n                document.body.classList.add(\"showNagish\");\n            } else {\n                this.setState({ isSearchActive: false });\n                document.querySelector(\"body\").style.overflow = this.state.bodyOverflowState;\n                document.body.classList.remove(\"showNagish\");\n            }\n        });\n    }\n\n    private activateSearch = () => {\n        this.setState({ isSearchActive: !this.state.isSearchActive })\n    }\n\n    private updateInputValue = (e) => {\n        this.setState({ userInput: e.target.value })\n    }\n\n    private search = () => {\n        const { userInput: typedUserInput } = this.state;\n\n        if (!typedUserInput) { return }\n\n        let urlHead = 'https://www.google.com/search?pplus_q='\n        let userInput = typedUserInput\n        let site = `&q=site:m.pplus.ynet.co.il/+${typedUserInput}`\n        let fullUrl = urlHead + userInput + site\n\n        window.open(fullUrl, '_blank');\n    }\n\n    private handleInputKeyPress = (evt: React.KeyboardEvent) => {\n        if (evt.key === \"Enter\") {\n            this.search();\n        }\n    }\n\n    render() {\n        const { menuItems, isArticlePage } = this.props\n        const { isSticky, isMenuActive, isSearchActive, userInput } = this.state\n        const logoLink = \"//pplus.ynet.co.il/home/0,7340,L-11211,00.html\"\n\n        if (isArticlePage) {\n            return <PplusMobileArticleHeader logoLink={logoLink} />\n        }\n        else {\n            return (\n                <div className={ClassNames(\"PplusMobileHeader\", { \"sticky-header\": isSticky && !isMenuActive, \"enlargeHeader\": isMenuActive })} id=\"PplusMobileHeader\">\n\n                    <div className=\"logo-wrapper\">\n                        <SimpleLinkRenderer className=\"pplusLogo\" href={logoLink} />\n                    </div>\n\n                    <div className=\"header-content-wrapper\">\n                        <nav className={ClassNames(\"linksWrapper\", { 'hide-categories': isMenuActive })} role=\"navigation\" aria-label=\"Menu\">\n                            <ul>\n                                {menuItems.map((item, index) => {\n                                    return (\n                                        <li className={`menuItem ${this.currentCatName(item.catId)}`} key={index} id={`category-${item.catId}`} >\n                                            <HyperLinkBuilder href={item.link} linkTarget={item.targetLink}>\n                                                {item.name}\n                                            </HyperLinkBuilder>\n                                        </li>\n                                    )\n                                })}\n                            </ul>\n                        </nav>\n\n                        <div className=\"menu-btn-wrapper\">\n                            <div className={ClassNames(\"menu-btn\", { \"show-x-btn\": isMenuActive })} onClick={this.activateSideMenu}></div>\n                        </div>\n                    </div>\n\n                    <div className={ClassNames(\"side-menu-wrapper\", { 'menu-active': isMenuActive })}>\n\n                        <div className=\"search-wrapper\">\n                            <div className={ClassNames(\"open-search-box-btn\", { \"hide-search-box-btn\": isSearchActive })} onClick={this.activateSearch}></div>\n                            <input\n                                type='text'\n                                dir=\"rtl\"\n                                placeholder='חיפוש'\n                                onChange={this.updateInputValue}\n                                className={ClassNames(\"search-input\", { \"show-search-box\": isSearchActive })}\n                                onKeyPress={this.handleInputKeyPress}\n                            >\n                            </input>\n                            <SimpleLinkRenderer\n                                href={`//www.google.com/search?q=site%3Ahttps://m.pplus.ynet.co.il/+${userInput}`}\n                                target=\"_blank\"\n                                className={ClassNames(\"search-btn\", { \"show-search-btn\": isSearchActive })}\n                            />\n                        </div>\n\n                        <div className=\"categories-wrapper\">\n                            <ul>\n                                {menuItems.map((item, index) => {\n                                    return (\n                                        <li className={`menuItem ${this.currentCatName(item.catId)}`} key={index} id={`category-${item.catId}`} >\n                                            <HyperLinkBuilder href={item.link} linkTarget={item.targetLink}>\n                                                {item.name}\n                                            </HyperLinkBuilder>\n                                        </li>\n                                    )\n                                })}\n                            </ul>\n\n                            <div className=\"ynet-logo-wrapper\">\n                                <SimpleLinkRenderer className=\"menu-ynet-logo\" href=\"//www.ynet.co.il/home/0,7340,L-8,00.html\" />\n                            </div>\n                        </div>\n\n                        <div className=\"footer\">\n                            <div className=\"seperator\"></div>\n                            <div className=\"pplus-social\">\n                                <SimpleLinkRenderer href=\"//www.instagram.com/pnaiplus\" target=\"_blank\" className=\"socialBtn pplus_instagram\" />\n                                <SimpleLinkRenderer href=\"//www.facebook.com/pnai.plus\" target=\"_blank\" className=\"socialBtn pplus_fb\" />\n                                <SimpleLinkRenderer href=\"//www.tiktok.com/@pnai_plus\" target=\"_blank\" className=\"socialBtn pplus_tiktok\" />\n                            </div>\n                        </div>\n\n                    </div>\n                </div>\n            )\n        }\n    }\n}","export class Loader extends React.Component<{}, {}> {\n    public render() {\n        return (\n            <div id=\"circularG\">\n                <div id=\"circularG_1\" className=\"circularG\"></div>\n                <div id=\"circularG_2\" className=\"circularG\"></div>\n                <div id=\"circularG_3\" className=\"circularG\"></div>\n                <div id=\"circularG_4\" className=\"circularG\"></div>\n                <div id=\"circularG_5\" className=\"circularG\"></div>\n                <div id=\"circularG_6\" className=\"circularG\"></div>\n                <div id=\"circularG_7\" className=\"circularG\"></div>\n                <div id=\"circularG_8\" className=\"circularG\"></div>\n            </div>\n        )\n    }\n}","import { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\"\nimport { PplusLoadMoreView } from \"./pplusLoadMoreView\"\nimport * as axios from \"axios\"\nimport { Loader } from \"./loader/loader\"\nimport { addAxiosDateTransformerSettings } from \"../../../../../utils/network/axiosDateTransformer\";\n\nconst MAX_NUMBER_OF_ITEMS = 240\n\ninterface PplusLoadMoreProps {\n    categoryId: string\n    height?: number\n    componentaId?: string\n    showCategoryLabel?: boolean\n    isMobileWeb?: boolean\n    numberOfItems: number\n    imagesDomain?:string\n}\n\ninterface PplusLoadMoreState {\n    articles: ArticleExtraData[]\n    pageNumber: number\n    showLoader: boolean\n    showButton: boolean\n}\n\nexport class SitePplusLoadMoreComponenta extends React.Component<PplusLoadMoreProps, PplusLoadMoreState> {\n    public static siteScriptName = \"SitePplusLoadMoreComponenta\"\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            articles: [],\n            pageNumber: 0,\n            showLoader: false,\n            showButton: true\n        }\n    }\n\n    private showHIdeButton = (newArticles: ArticleExtraData[]) => {\n        const { showLoader: loader, articles } = this.state;\n        const showButton = !loader &&\n            newArticles &&\n            !(articles.length % this.props.numberOfItems) &&\n            articles.length < MAX_NUMBER_OF_ITEMS;\n\n        this.setState({ showButton })\n    }\n\n    private getArticles = () => {\n        const { componentaId } = this.props\n        const { pageNumber, articles } = this.state\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        this.setState({ showLoader: true, showButton: false })\n\n        axiosInstance.get(`/iphone/json/api/article_list/${componentaId}/pageNumber/${pageNumber}`)\n            .then((res: any) => {\n                const newArticles = res.data.data as ArticleExtraData[];\n\n                this.setState(\n                    {\n                        articles: [...articles, ...newArticles],\n                        pageNumber: pageNumber + 1,\n                        showLoader: false,\n                    }\n                );\n                if (typeof (window) !== \"undefined\") {\n                    window.AddBanner && window.AddBanner();\n                }\n                this.showHIdeButton(newArticles)\n            })\n            .catch(err => console.error(\"error geting headline data:\", err))\n    }\n\n    public render() {\n        const { height, showCategoryLabel, isMobileWeb, imagesDomain } = this.props\n        const { articles, showLoader: loader, showButton } = this.state;\n\n\n        return (\n            <div className={\"pplusLoadMoreComponenta\"}>\n                <PplusLoadMoreView loader={loader} imagesDomain={imagesDomain} isCategoryVisible={showCategoryLabel} height={height} articles={articles} isMobileWeb={isMobileWeb} />\n                <div className=\"buttonAndLoaderContainer\">\n                    {loader && <Loader />}\n                    {showButton && <div className={\"loadMoreArticlesButton\"} onClick={() => this.getArticles()}>\n                        <div className=\"btnImage\"></div>\n                        טען עוד...\n                        </div>}\n                </div>\n            </div >\n        )\n    }\n}","import { SitePplusLoadMoreData } from \"./pplusLoadMoreView\"\nimport * as apiUrls from \"config/apiUrls\"\nimport { getImgAlt, isAriaHidden, getImgTitle } from \"../../../../widgetsUtils\"\nimport * as classNames from \"classnames\"\nimport { PageComponentaContext } from \"widgets/interfaces\"\nimport { injectPageComponentaContext } from \"widgets/commonComponents/base/injectPageComponentaContext\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { CategoryLabel } from \"../../pplusCategoryLabel/pplusCategoryLabel\";\nimport { DateDisplay } from \"widgets/commonComponents/inline/dateDisplay/dateDisplay\"\nimport { PayWallArctilceIcon } from \"widgets/commonComponents/inline/payWallHavak/payWallHavak\";\nimport { PplusShareMenu } from \"../../pplusShareMenu/pplusShareMenu\"\nimport { RenderReactAtSite } from \"../../../../commonComponents/inline/renderReactAtSite\"\nimport { ImageSize } from \"constants/imageSizes\";\nimport { SiteSimpleImage } from \"../../../../commonComponents/inline/siteSimpleImage\"\n\ninterface PplusLoadMoreItemSlotProps {\n    article: Partial<SitePplusLoadMoreData>\n    isCategoryVisible?: boolean\n    isMobileWeb?: boolean\n}\n\n@injectPageComponentaContext()\nexport class PplusLoadMoreItemSlot extends React.Component<PplusLoadMoreItemSlotProps & Partial<PageComponentaContext>, {}>{\n    static defaultProps = { isCategoryVisible: true }\n\n    public render() {\n        const { article, isCategoryVisible, isMobileWeb } = this.props\n        const { title, subTitle, author, promotionImageDetails, articleId, link, hasVideo, category, dateUpdatedOnSite, firstAuthorImage, premiumExpireDays } = article\n\n        const headLineSeperator = category.categoryColor ? category.categoryColor : '#272727';\n\n        return (\n            <div className={classNames(\"slotView\", \"fadeInUp\", { \"emptySlot\": subTitle.length === 0 && title.length === 0 })} >\n                <div className=\"headlineArea\" >\n                    <div className=\"lineContainer\">\n                        <div className=\"rightStar\" style={{ backgroundColor: headLineSeperator }}></div>\n                        <div className=\"line\" style={{ backgroundColor: headLineSeperator }}></div>\n                        <div className=\"leftStar\" style={{ backgroundColor: headLineSeperator }}></div>\n                    </div>\n                    <div className=\"slotTitle\" >\n                        <a href={link} target=\"blank\" >\n                            {title}\n                        </a>\n                    </div>\n                    <div className=\"articleInfo\">\n                        <div className=\"author\">\n                            {firstAuthorImage &&\n                                <div className=\"authorImg\">\n                                    <SiteSimpleImage src={firstAuthorImage} />\n                                </div>\n                            }\n                            <div className=\"Details\">\n                                <div className=\"authorName\">\n                                    {author}\n                                </div>\n                                <div className=\"timeOfPublishing\">\n                                    <DateDisplay date={dateUpdatedOnSite} />\n                                </div>\n                            </div>\n                        </div>\n                        <div className=\"socialMedia\">\n                            <RenderReactAtSite>\n                                <PplusShareMenu url={link} title={title} isMobileWeb={isMobileWeb} />\n                            </RenderReactAtSite>\n                        </div>\n                    </div>\n                </div>\n                <div className=\"mediaArea\">\n                    {isCategoryVisible &&\n                        <CategoryLabel category={category} defaultBgColor={category.categoryColor} id={`categoryLabel_${articleId}`} />}\n                    <PayWallArctilceIcon\n                        premiumExpireDays={premiumExpireDays}\n                        dateUpdatedOnSite={dateUpdatedOnSite}\n                        className=\"onImage\"\n                    />\n                    <a href={link}>\n                        <img\n                            src={apiUrls.getImageUrl(promotionImageDetails, { imageSize: ImageSize.xLarge })}\n                            width={\"100%\"}\n                            height={\"auto\"}\n                            alt={getImgAlt(promotionImageDetails)}\n                            title={getImgTitle(promotionImageDetails)}\n                            aria-hidden={isAriaHidden(promotionImageDetails)}\n                        />\n                    </a>\n                    <SlotIconDisplay itemId={articleId} icon={\"video\"} iconClassName=\"big\" isIconVisible={hasVideo} />\n                </div>\n            </div>\n        )\n    }\n}","import { SitePplusLoadMoreData } from \"./pplusLoadMoreView\";\nimport { PplusLoadMoreItemSlot } from \"./pplusLoadMoreItemSlot\";\n\ninterface PplusLoadMoreListProps {\n    itemList: SitePplusLoadMoreData[]\n    height: number\n    dataLength: number\n    isCategoryVisible?: boolean\n    isMobileWeb?: boolean\n}\n\nexport class PplusLoadMoreList extends React.Component<PplusLoadMoreListProps, {}>{\n    public render() {\n        const { itemList } = this.props\n        return (\n            <div className=\"slotList\" >\n                {itemList.map((item, i) =>\n                    <PplusLoadMoreItemSlot\n                        key={i}\n                        article={item}\n                        {...this.props}\n                    />)}\n            </div>\n        )\n    }\n}","import * as map from \"lodash/map\"\nimport * as filter from \"lodash/filter\"\nimport { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\"\nimport { ImageDetails } from \"images/interfaces\"\nimport { PplusLoadMoreList } from \"./pplusLoadMoreList\";\nimport { CategorySelectionItem } from \"../../../../../global/components/categorySelectInput/categorySelectInput\";\nimport { getImagesSrc } from \"widgets/commonComponents/inline/siteSimpleImage\"\n\nrequire('./pplus_site_loadMore.less')\nrequire('./m_pplus_loadMore.less')\n\nexport interface SitePplusLoadMoreData {\n    articleId: string\n    author: string\n    credit: string\n    categoryName: string\n    title: string,\n    subTitle: string,\n    link: string\n    promotionImageDetails: ImageDetails\n    hasVideo: boolean\n    publishedLink: string\n    premiumExpireDays: number\n    category: CategorySelectionItem\n    dateUpdatedOnSite: Date\n    firstAuthorImage: string\n}\n\ninterface InfinityHeadlinesViewProps {\n    height: number\n    articles: ArticleExtraData[]\n    isCategoryVisible: boolean\n    loader: boolean\n    isMobileWeb?: boolean\n    imagesDomain?:string\n}\n\nexport class PplusLoadMoreView extends React.Component<InfinityHeadlinesViewProps, {}>  {\n\n    public render() {\n        const { height, articles, isCategoryVisible, isMobileWeb, imagesDomain } = this.props\n        let itemList: SitePplusLoadMoreData[] = [];\n\n        if (Object.keys(articles).length > 0) {\n            itemList = filter(map(articles, (article: ArticleExtraData): SitePplusLoadMoreData =>\n                ({\n                    articleId: article.articleId,\n                    author: article.author,\n                    credit: article.promotionImageDetails ? article.promotionImageDetails.credit : null,\n                    categoryName: article.category.textToShow,\n                    title: article.title,\n                    subTitle: article.subTitle,\n                    link: article.publishedLink,\n                    promotionImageDetails: article.promotionImageDetails,\n                    hasVideo: article.hasVideo,\n                    publishedLink: article.publishedLink,\n                    premiumExpireDays: article.premiumExpireDays,\n                    category: article.category,\n                    dateUpdatedOnSite: article.dateUpdatedOnSite,\n                    firstAuthorImage: getImagesSrc(imagesDomain, article.firstAuthorImage)\n                })\n            ))\n        }\n\n        return (\n            <PplusLoadMoreList\n                dataLength={articles.length}\n                itemList={itemList}\n                height={height}\n                isCategoryVisible={isCategoryVisible}\n                isMobileWeb={isMobileWeb}\n            />\n        )\n    }\n} ","require(\"./pplus_site_shareMenu.less\")\nimport { openFacebookShare, openTwitterShare, openMailShare, analyticsPushFunc, openWhatsAppShare } from \"../../../widgetsUtils\"\n\ninterface shareMenuProps {\n    url: string\n    title?: string\n    isMobileWeb: boolean\n}\n\nexport class PplusShareMenu extends React.Component<shareMenuProps, {}>{\n    public static siteScriptName = \"PplusShareMenu\";\n\n    private openShare = async () => {\n        const shareData = { url: this.props.url, title: this.props.title }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    render() {\n        const { url, title, isMobileWeb } = this.props\n        let isShareButtonvisible = true;\n        if (typeof window !== \"undefined\" && window.location.href.indexOf(\"IsApp\") != -1) {\n            isShareButtonvisible = false\n        }\n\n        return (\n            <div>\n                {isMobileWeb ?\n                    <div className={`${isShareButtonvisible ? 'mobileShareBtn' : 'mobileShareBtnNone'}`} onClick={this.openShare}>\n                    </div> :\n                    <div className=\"shareMenu\">\n                        <div className=\"whatsapp socialIcon\" onClick={() => openWhatsAppShare(url, () => analyticsPushFunc(\"Whatsapp\", \"Article\", title), \"Article Top\")}></div>\n                        <div className=\"twitter socialIcon\" onClick={() => openTwitterShare(url, () => analyticsPushFunc(\"Tweeter\", \"Article\", title), \"Article Main Image\")}></div>\n                        <div className=\"facebook socialIcon\" onClick={() => openFacebookShare(url, title, () => analyticsPushFunc(\"Facebook\", \"Article\", title), \"Article Main Image\")}></div>\n                        <div className=\"email socialIcon\" onClick={() => openMailShare(title, \"פנאי פלוס\", url, () => analyticsPushFunc(\"Mail\", \"Article\", title), \"Article Main Image\")}></div>\n                    </div>}\n            </div>\n        )\n    }\n}","require(\"./ynet_pplus_magazine_site_articleAudioPodcast.less\")\nimport { PodcastPlayer } from \"../../floatingPlayer/podcastPlayerButton\"\nimport { secondsToHms } from \"../../../../siteWidgets/siteWidgetUtils\"\nimport { SignUpForPodcast } from \"./signupForPodcast\";\nimport { isWcmEditor } from \"../../../../../config/serverConfig\"\nimport { ArticleData } from \"../../../../../articlePage/stateInterfaces\";\n\ninterface AudioPodcastPlayerProps {\n    title: string\n    category: string\n    categoryId?: string\n    audioUrl: string\n    durationSeconds: number\n    imageUrl: string\n    isMobileWeb?: boolean\n    articleLink?: string\n    articleData?: ArticleData\n}\n\nexport const AudioPodcastPlayer = (props: AudioPodcastPlayerProps) => {\n    const { title, category, categoryId, audioUrl, durationSeconds, imageUrl, isMobileWeb, articleLink } = props\n    const podcastDuration = secondsToHms(durationSeconds);\n    const browserDisplayMediaMetaData = { title: title, artist: \"ynet\", album: category }\n    const isMagazine2025 = typeof window !== \"undefined\" && document.querySelector(\".magazine2025\") !== null;\n    const rangeThumbColor = isMagazine2025 ? \"#fff\" : \"\";\n    const rangeColor = isMagazine2025 ? \"#ffffff6c\" : \"\";\n    const rangeProgressColor = isMagazine2025 ? \"#fff\" : \"\";\n\n    return (\n        <div className=\"audio-podcast-player\">\n            <div className=\"audio-podcast-player-container\">\n                <div className=\"podcast-image\" style={{ backgroundImage: `url(${imageUrl})` }}></div>\n                <div className=\"podcast-container-details-image-container\">\n                    <div className=\"container-background-image\" style={{ backgroundImage: `url(${imageUrl})` }}></div>\n                </div>\n                <div className=\"podcast-container-details\">\n\n                    <div className=\"podcast-information\">\n                        <div className=\"podcast-category-rpf\">{category}</div>\n                        <div className=\"podcast-title-rpf\">{title}</div>\n                        <div className=\"duration-container\">\n                            <div className=\"duration-icon\"></div>\n                            <div className=\"podcast-duration-rpf\">{podcastDuration}</div>\n                        </div>\n                    </div>\n\n                    <div className=\"podcast-play-btn-container\">\n                        <PodcastPlayer\n                            audioUrl={audioUrl}\n                            title={title}\n                            isMobileWeb={isMobileWeb}\n                            className=\"audio-play-button\"\n                            durationSeconds={durationSeconds}\n                            browserDisplayMediaMetaData={browserDisplayMediaMetaData}\n                            articleLink={articleLink}\n                            articleData={props.articleData}\n                            rangeThumbColor={rangeThumbColor}\n                            rangeColor={rangeColor}\n                            rangeProgressColor={rangeProgressColor}\n                        />\n                    </div>\n                </div>\n            </div>\n\n            {!isWcmEditor() && <SignUpForPodcast categoryId={categoryId} />}\n        </div>\n    )\n}\nAudioPodcastPlayer.siteScriptName = \"AudioPodcastPlayer\"","require(\"./ynet_pplus_magazine_site_signupForPodcast.less\")\n\ninterface SignUpForPodcastProps {\n    categoryId: string\n}\ninterface PodcastShareLInks {\n    google: string\n    apple: string\n    spotify: string\n    youtube:string\n}\n\ndeclare let window: Window & {\n    podcastsShareLinksList: any\n}\n\nexport const SignUpForPodcast = (props: SignUpForPodcastProps) => {\n    const { categoryId } = props\n    const podcastsShareLinksList = typeof window !== \"undefined\" && window.podcastsShareLinksList;\n    const categoryShareLinks = podcastsShareLinksList && podcastsShareLinksList[categoryId] ? podcastsShareLinksList[categoryId] as PodcastShareLInks : null;\n\n    return (\n        <div className=\"signup-for-podcast\" style={!categoryShareLinks ? { display: 'none' } : {}}>\n            <div className=\"signup-for-podcast-title-rpf\">עקבו אחר הפודקאסט</div>\n            <div className=\"signup-for-podcast-buttons\">\n                <a className=\"spotify-signup-btn podcast-signup-btn\" href={categoryShareLinks ? categoryShareLinks.spotify : \"\"} target=\"_blank\" />\n                <a className=\"apple-podcasts-signup-btn podcast-signup-btn\" href={categoryShareLinks ? categoryShareLinks.apple : \"\"} target=\"_blank\" />\n               { categoryShareLinks && categoryShareLinks.youtube ? \n               <a className=\"youtube-podcasts-signup-btn podcast-signup-btn\" href={categoryShareLinks.youtube} target=\"_blank\" /> \n               : <a className=\"youtube-podcasts-signup-btn podcast-signup-btn\" style={{cursor:\"inherit\"}}  />}\n            </div>\n        </div>\n    )\n}\n\nSignUpForPodcast.siteScriptName = \"SignUpForPodcast\"","import { AudioPlayButton, AudioRendererProps } from \"../floatingPlayer/audioPlayButton\";\nimport { AodFloatingPlayer } from \"../floatingPlayer/aodFloatingPlayer\";\nimport { AodFloatingPlayerMobileWeb } from \"../floatingPlayer/aodFloatingPlayerMobileWeb\";\n\ninterface RadioNewsflashPlayerProps {\n    audioUrl: string\n    hour: string\n    durationSeconds: number\n    isMobileWeb?: boolean\n}\n\nexport function RadioNewsflashPlayer(props: RadioNewsflashPlayerProps) {\n    const { hour, durationSeconds, isMobileWeb } = props;\n    const playerTitle = `ynet Radio | מהדורת החדשות של שעה ${hour}`;\n    const mobileWebPlayerTitle = \"מהדורת החדשות האחרונה\";\n\n    return (\n        <>\n            {isMobileWeb ?\n                <AudioPlayButton\n                    {...props}\n                    durationSeconds={durationSeconds}\n                    renderer={(props: AudioRendererProps) => (<RadioNewsflashMobileWeb {...props} />)}\n                    floatingPlayerRenderer={(props) => (<AodFloatingPlayerMobileWeb {...props} title={mobileWebPlayerTitle} />)}\n                />\n                :\n                <AudioPlayButton\n                    {...props}\n                    durationSeconds={durationSeconds}\n                    renderer={(props: AudioRendererProps) => (<RadioNewsflash {...props} hour={hour} />)}\n                    floatingPlayerRenderer={(props) => (<AodFloatingPlayer {...props} title={playerTitle} isMobileWeb={isMobileWeb} />)}\n                />\n            }\n        </>\n    )\n}\n\nRadioNewsflashPlayer.siteScriptName = \"RadioNewsflashPlayer\"\n\nfunction RadioNewsflash({ hour, isAudioPlaying, onTogglePlayPause, }: AudioRendererProps & { hour: string }) {\n    return (\n        <div onClick={onTogglePlayPause} className=\"RadioNewsflash\">\n            <div className=\"rnf-text\">למהדורת החדשות של {hour}</div>\n            <div className={`rnf audio-play-button-status ${isAudioPlaying ? \"pause\" : \"\"}`} ></div>\n        </div>\n    );\n}\n\nfunction RadioNewsflashMobileWeb({ isAudioPlaying, onTogglePlayPause, }: AudioRendererProps) {\n    return (\n        <div className=\"RadioNewsflashMobileWebWrapper\" onClick={analyticsPushFunc}>\n            <div onClick={onTogglePlayPause} className=\"RadioNewsflashMobileWeb\">\n                <div className=\"rnf-text\">להאזנה למהדורת החדשות האחרונה</div>\n                <div className={`rnf audio-headphones-button ${isAudioPlaying ? \"pause\" : \"\"}`} ></div>\n            </div>\n        </div>\n    );\n}\n\nexport const analyticsPushFunc = () => {\n    window.dataLayer = window.dataLayer || []\n    window.dataLayer.push({\n        event: \"GA_Events\",\n        Category: \"Navigation Bar\",\n        Action: \"Click to latest audio news edition\",\n        Label: \"\",\n    });\n}","import { secondsToHms } from \"../../../siteWidgets/siteWidgetUtils\"\n\ninterface AdsProgressBarProps {\n    adDuration: number\n    adPlaybackTime: number\n    onSeeked: (num: number) => void\n}\n\nexport class AdsProgressBar extends React.Component<AdsProgressBarProps> {\n\n    private updateCurrentTime = (e) => {\n        this.props.onSeeked(Number(e.target.value));\n    }\n\n    render() {\n        const { adDuration, adPlaybackTime } = this.props\n        const percentage = (adPlaybackTime - 0) * 100 / (adDuration - 0);\n        const rangeBackground = `linear-gradient(90deg, #fec300 ${percentage}%, #cacdce ${percentage}%)`;\n\n        return (\n            <>\n                <div className=\"control-ruler-buttons\">\n                    <button className=\"go-live-btn ruler-btn disabled\" aria-label=\"go to live\" disabled={true}></button>\n                    <button className=\"start-over-btn ruler-btn disabled\" aria-label=\"start program over\" disabled={true}></button>\n                </div>\n\n                <div className=\"ads-ruler-timeline\">\n                    <div className=\"range-wrap\">\n                        <input type=\"range\" className=\"dvr-timeline\" max={adDuration} value={adPlaybackTime} onChange={this.updateCurrentTime} style={{ background: rangeBackground }} />\n                    </div>\n\n                    <div className=\"control-ruler-bottom-details\">\n                        <div className=\"progress-time\">{`${secondsToHms(adPlaybackTime)}/${secondsToHms(adDuration)}`}</div>\n\n                        <div className=\"live-feedback\">\n                            <div className=\"dot\"></div>\n                            <div className=\"live-text\">מודעה</div>\n                        </div>\n                    </div>\n                </div >\n            </>\n        )\n    }\n}","\nimport { RadioProgramJsonItem } from \"../../../jsonSerializer/radioScheduleJsonSerializer\";\nimport { AudioPlayButton, TogglePlayAction, AudioRendererProps } from \"../floatingPlayer/audioPlayButton\";\nimport { LiveFloatingRadioPlayer } from \"../floatingPlayer/LiveFloatingRadioPlayer\";\nimport { LiveProgressBar } from \"./liveProgressBar\";\nimport { PlaybackProgressBar } from \"./playbackProgressBar\";\nimport { isWcmEditor } from \"config/serverConfig\"\nimport { AdsProgressBar } from \"./adsProgressBar\"\nimport { buildAdTag } from \"../floatingPlayer/imaAdTagBuilder\";\nimport { getDevice } from \"../../../siteWidgets/videoPlayer/videoPlayerAds\"\nimport { SimpleLiveFloatingPlayer } from \"../floatingPlayer/simpleLiveFloatingPlayer\";\n\nconst HLS_LOADED_EVENT = \"hls_lodaed\";\ndeclare var Hls: any\n\nexport interface RadioProgramItem extends Partial<RadioProgramJsonItem> {\n    startTime: string\n    endTime: string\n}\n\ninterface PlayerComponentaProps extends AudioRendererProps {\n    programItem: RadioProgramItem\n}\n\nexport interface DvrRadioPlayerProps {\n    title: string;\n    liveBroadCastDVRSource: string\n    liveBroadCastSource: string\n    radioScheduleList: RadioProgramItem[]\n    startingIndex: number\n    isMobileWeb: boolean\n    playerComponentaRenderer: (props: PlayerComponentaProps) => React.ReactElement<PlayerComponentaProps>\n    onCurrentShowIndexChange?: (currentShowIndex: number) => void\n    shouldAppearOnComponentOutOfView?: boolean\n    site?: string\n    isSimplePlayer?: boolean\n}\n\ninterface DvrRadioPlayerState {\n    showPlayingIndex: number\n    playbackProgramIndex: number\n    startPostion: number\n    isHlsLoaded: boolean\n    isHlsLoadingError: boolean\n    isAdPlaying: boolean\n}\n\ndeclare var window: Window & {\n    wcmAudioPlayer: AudioPlayButton\n}\n\nexport class DvrRadioPlayer extends React.Component<DvrRadioPlayerProps, DvrRadioPlayerState> {\n    public static siteScriptName = \"RadioHomepagePlayerComponenta\"\n\n    private timer;\n    private playButtonRef: AudioPlayButton;\n\n    constructor(props) {\n        super(props)\n        const isIos = getDevice() === \"iphone\"\n        if (!isWcmEditor() && !isIos && typeof window !== 'undefined' && !document.getElementById(\"hlsjsscript\")) {\n            const script = document.createElement('script')\n            script.id = \"hlsjsscript\"\n            script.src = 'https://cdn.jsdelivr.net/npm/hls.js@1.2.3'\n            script.onload = () => document.dispatchEvent(new CustomEvent(HLS_LOADED_EVENT));\n            script.onerror = this.updateHlsLoadError\n            document.head.appendChild(script)\n        }\n\n        this.state = {\n            showPlayingIndex: props.startingIndex,\n            playbackProgramIndex: -1, // -1: live,   any other index: playback\n            startPostion: -1,\n            isHlsLoaded: isWcmEditor() || typeof Hls !== \"undefined\" || isIos || typeof window === 'undefined',\n            isHlsLoadingError: false,\n            isAdPlaying: false,\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(HLS_LOADED_EVENT, this.updateHlsLoaded)\n        this.createTimerForNextShow()\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener(HLS_LOADED_EVENT, this.updateHlsLoaded)\n        clearTimeout(this.timer);\n    }\n\n    private updateHlsLoaded = () => {\n        this.setState({ isHlsLoaded: true })\n    }\n\n    private updateHlsLoadError = () => {\n        this.setState({ isHlsLoadingError: true })\n    }\n\n    private onAdPlayingStateChange = (state) => {\n        this.setState({ isAdPlaying: state })\n    }\n\n    createTimerForNextShow = () => {\n        const { radioScheduleList, onCurrentShowIndexChange } = this.props\n        const { showPlayingIndex } = this.state\n\n        if (radioScheduleList.length > 0 && showPlayingIndex !== -1 && showPlayingIndex + 1 < radioScheduleList.length && radioScheduleList[showPlayingIndex] && radioScheduleList[showPlayingIndex].endProgram) {\n            this.timer = setTimeout(() => {\n                this.setState({ showPlayingIndex: showPlayingIndex + 1 }, () => {\n                    //recursive until no show is available\n                    const program = radioScheduleList[this.state.showPlayingIndex]\n                    onCurrentShowIndexChange && onCurrentShowIndexChange(this.state.showPlayingIndex)\n                    this.playButtonRef && document.dispatchEvent(\n                        new CustomEvent(\"radioFlashChange\",\n                            {\n                                detail: {\n                                    program,\n                                    isPlaying: this.playButtonRef.isPlaying(),\n                                }\n                            }\n                        ))\n                    this.createTimerForNextShow()\n                })\n            }, new Date(radioScheduleList[showPlayingIndex].endProgram).getTime() - new Date().getTime());\n        }\n    }\n\n    private setPlayButtonRef = (ref: AudioPlayButton) => {\n        this.playButtonRef = ref\n    }\n\n    private toLive = () => {\n        this.setState({ playbackProgramIndex: -1, startPostion: undefined }, () => { window.wcmAudioPlayer.play() })\n        document.dispatchEvent(new CustomEvent(\"dvrRadioPlayerToLive\"))\n    }\n\n    private toPlayback = (startPostion: number, disablePlay?: boolean) => {\n        this.setState({ playbackProgramIndex: this.state.showPlayingIndex, startPostion }, () => { !disablePlay && window.wcmAudioPlayer.play(true) })\n        !disablePlay && document.dispatchEvent(new CustomEvent(\"dvrRadioPlayerToPlayBack\"));\n    }\n\n    private handleTogglePlayPause = (onTogglePlayPause: () => TogglePlayAction) => {\n        const { radioScheduleList, liveBroadCastDVRSource } = this.props\n        const { showPlayingIndex, isAdPlaying, playbackProgramIndex } = this.state\n\n        return () => {\n            const action = onTogglePlayPause();\n            const currentProgram = radioScheduleList[showPlayingIndex]\n            if (!isAdPlaying && action == TogglePlayAction.PAUSE && liveBroadCastDVRSource && playbackProgramIndex == -1 && currentProgram.isProgramLive) {\n                const liveCurrentPlayTime = (new Date().getTime() - new Date(currentProgram.startProgram).getTime()) / 1000\n                setTimeout(() => this.toPlayback(liveCurrentPlayTime, true), 0)\n            }\n            return action;\n        }\n    }\n\n    private handlePlayerProgramEnd = () => {\n        this.setState({ playbackProgramIndex: -1 })\n    }\n\n    private handleFloatingPlayerClose = (audioPlayButtonCloseHandler: () => void) => () => {\n        this.setState({ playbackProgramIndex: -1 })\n        setTimeout(audioPlayButtonCloseHandler, 0)\n    }\n\n    render() {\n        const { isHlsLoaded, isHlsLoadingError } = this.state;\n        if (!isHlsLoaded && !isHlsLoadingError) return null;\n\n        const { showPlayingIndex, playbackProgramIndex, startPostion, isAdPlaying } = this.state\n        const { title, radioScheduleList, isMobileWeb, liveBroadCastDVRSource, playerComponentaRenderer, shouldAppearOnComponentOutOfView, liveBroadCastSource, site, isSimplePlayer } = this.props\n        const item = radioScheduleList[playbackProgramIndex < 0 ? showPlayingIndex : playbackProgramIndex] || emptyProgramItem;\n        const browserDisplayMediaMetaData = { title: item.title, artist: site === \"radionas\" ? \"radioNas\" : \"ynet\", album: title }\n        const source = playbackProgramIndex < 0 ? (isHlsLoadingError || !liveBroadCastDVRSource ? liveBroadCastSource : liveBroadCastDVRSource) : item.dvrSource;\n        const programDurationSeconds = (new Date(item.endProgram).getTime() - new Date(item.startProgram).getTime()) / 1000;\n        const adTagUrl = buildAdTag(isMobileWeb);\n\n        return (\n            <AudioPlayButton\n                isLive=\"LIVE\"\n                ref={this.setPlayButtonRef}\n                audioUrl={source}\n                durationSeconds={0}\n                shouldAppearOnComponentOutOfView={shouldAppearOnComponentOutOfView}\n                browserDisplayMediaMetaData={browserDisplayMediaMetaData}\n                startPostion={startPostion}\n                onEnd={this.handlePlayerProgramEnd}\n                adTag={adTagUrl}\n                isAdPlaying={isAdPlaying}\n                onAdPlayingStateChange={this.onAdPlayingStateChange}\n                renderer={(rendererProps: AudioRendererProps) =>\n                    playerComponentaRenderer({\n                        programItem: item,\n                        isAudioPlaying: rendererProps.isAudioPlaying,\n                        onTogglePlayPause: this.handleTogglePlayPause(rendererProps.onTogglePlayPause),\n                        onRefChanged: rendererProps.onRefChanged\n                    })\n                }\n                floatingPlayerRenderer={(rendererProps) => {\n                    return isSimplePlayer ?\n                        <SimpleLiveFloatingPlayer\n                            site={site}\n                            programItem={item}\n                            isMobileWeb={isMobileWeb}\n                            isAudioPlaying={rendererProps.isAudioPlaying}\n                            isFloatingPlayerVisible={rendererProps.isFloatingPlayerVisible}\n                            audioElement={rendererProps.audioElement}\n                            isSeeking={rendererProps.isSeeking}\n                            onClose={this.handleFloatingPlayerClose(rendererProps.onClose)}\n                            onTogglePlayPause={this.handleTogglePlayPause(rendererProps.onTogglePlayPause)}\n                        />\n                        :\n                        <LiveFloatingRadioPlayer\n                            programItem={item}\n                            isMobileWeb={isMobileWeb}\n                            isAudioPlaying={rendererProps.isAudioPlaying}\n                            isFloatingPlayerVisible={rendererProps.isFloatingPlayerVisible}\n                            audioElement={rendererProps.audioElement}\n                            onClose={this.handleFloatingPlayerClose(rendererProps.onClose)}\n                            isMuted={rendererProps.isMuted}\n                            isSeeking={rendererProps.isSeeking}\n                            handleMuteSwitch={rendererProps.handleMuteSwitch}\n                            toPlayback={this.toPlayback}\n                            onTogglePlayPause={this.handleTogglePlayPause(rendererProps.onTogglePlayPause)}\n                        >\n                            {isAdPlaying ?\n                                <AdsProgressBar\n                                    adDuration={rendererProps.adDuration}\n                                    adPlaybackTime={rendererProps.adPlaybackTime}\n                                    onSeeked={rendererProps.onseeked}\n                                />\n                                :\n                                playbackProgramIndex < 0 ?\n                                    <LiveProgressBar\n                                        playbackTime={rendererProps.playbackTime}\n                                        onSeeked={rendererProps.onseeked}\n                                        toPlayback={this.toPlayback}\n                                        startProgram={item.startProgram}\n                                        isDisabled={!(source.endsWith(\".m3u8\") || source.endsWith(\".mpd\"))}\n                                        isLive={item.isProgramLive}\n                                    />\n                                    :\n                                    <PlaybackProgressBar\n                                        durationSeconds={programDurationSeconds}\n                                        playbackTime={rendererProps.playbackTime}\n                                        onSeeked={rendererProps.onseeked}\n                                        toLive={this.toLive}\n                                        isDisabled={!(source.endsWith(\".m3u8\") || source.endsWith(\".mpd\"))}\n                                    />\n                            }\n                        </LiveFloatingRadioPlayer>\n                }\n                }\n            />\n        )\n    }\n}\n\nconst emptyProgramItem: RadioProgramItem = {\n    title: \"\",\n    startTime: \"\",\n    endTime: \"\",\n    isProgramLive: false,\n    hideHours: false,\n}","import { secondsToHms } from \"../../../siteWidgets/siteWidgetUtils\"\n\ninterface LiveProgressBarProps {\n    playbackTime: number\n    onSeeked: (num: number) => void\n    toPlayback: (startPostion: number) => void\n    startProgram: Date | string\n    isDisabled: boolean\n    isLive: boolean\n}\n\ninterface LiveProgressBarState {\n    seekTime: number\n}\n\nexport class LiveProgressBar extends React.Component<LiveProgressBarProps, LiveProgressBarState> {\n    constructor() {\n        super()\n        this.state = {\n            seekTime: null,\n        }\n    }\n\n    private updateCurrentTime = (e) => {\n        this.props.toPlayback(Number(e.target.value))\n    }\n\n    private onChange = (e) => {\n        this.setState({ seekTime: e.target.value })\n    }\n\n    render() {\n        const { toPlayback, startProgram, isDisabled, isLive } = this.props\n        const { seekTime } = this.state\n\n        const programCurrentPlayTime = (new Date().getTime() - new Date(startProgram).getTime()) / 1000\n        const playbackTimeString = secondsToHms(programCurrentPlayTime)\n        const bubbleValue = seekTime !== null ? secondsToHms(seekTime) : playbackTimeString\n        const bubbleElement = document.querySelector(\".range-bubble\");\n        \n        const percentage = ((seekTime !== null ? seekTime : programCurrentPlayTime) - 0) * 100 / (programCurrentPlayTime - 0);\n        const bubbleWidth = bubbleElement && (bubbleElement.clientWidth / 2)\n        const bubbleMovment = percentage < 25 ? bubbleWidth - 5 : percentage > 85 ? bubbleWidth + 5 : bubbleWidth;\n        const bubbleLeftMovment = `calc(${percentage}% - ${bubbleMovment}px)`;\n\n        const rangeBackground = `linear-gradient(90deg, #de1a1a ${percentage}%, #cacdce ${percentage}%)`;\n\n        return (\n            <>\n                <div className=\"control-ruler-buttons\">\n                    <button className=\"go-live-btn ruler-btn disabled\" aria-label=\"go to live\" disabled={false}></button>\n                    <button className={`start-over-btn ruler-btn ${isDisabled || !isLive ? \" disabled\" : \"\"}`} onClick={() => toPlayback(0)} aria-label=\"start program over\" disabled={isDisabled || !isLive}></button>\n                </div>\n\n                <div className=\"control-ruler-timeline\">\n                    <div className=\"range-wrap\">\n                        <div className=\"range-bubble\" style={{ left: bubbleLeftMovment }} >{bubbleValue}</div>\n                        <input type=\"range\" className={`live-timeline ${!isLive ? \"disabled\" : \"\"}`} max={programCurrentPlayTime} style={{ background: rangeBackground }} value={seekTime !== null ? seekTime : programCurrentPlayTime} onChange={this.onChange} onMouseUp={this.updateCurrentTime} onTouchEnd={this.updateCurrentTime} disabled={isDisabled || !isLive} />\n                    </div>\n                    <div className={`live-feedback ${!isLive ? \"disabled\" : \"\"}`}>\n                        <div className=\"dot\"></div>\n                        <div className=\"live-text\">שידור חי</div>\n                    </div>\n                </div>\n            </>\n        )\n    }\n}","import { secondsToHms } from \"../../../siteWidgets/siteWidgetUtils\"\nimport { AudioPlayButton } from \"../floatingPlayer/audioPlayButton\"\n\ninterface PlaybackProgressBarProps {\n    durationSeconds: number\n    playbackTime: number\n    onSeeked: (num: number) => void\n    toLive: () => void\n    isDisabled: boolean\n}\n\ndeclare var window: Window & {\n    wcmAudioPlayer: AudioPlayButton\n}\n\nexport class PlaybackProgressBar extends React.Component<PlaybackProgressBarProps> {\n\n    private updateCurrentTime = (e) => {\n        this.props.onSeeked(Number(e.target.value));\n    }\n\n    private onStartOverClick = () => {\n        this.props.onSeeked(0)\n        window.wcmAudioPlayer.play()\n        document.dispatchEvent(new CustomEvent(\"dvrRadioPlayerToPlayBack\"));\n    }\n\n    render() {\n        const { durationSeconds, playbackTime, toLive, isDisabled } = this.props\n        const bubbleElement = document.querySelector(\".range-bubble\");\n        const playbackTimeString = secondsToHms(playbackTime)\n        const bubbleValue = playbackTimeString\n\n        const percentage = (this.props.playbackTime - 0) * 100 / (this.props.durationSeconds - 0);\n        const bubbleWidth = bubbleElement && (bubbleElement.clientWidth / 2)\n        const bubbleMovment = percentage < 25 ? bubbleWidth - 5 : percentage > 85 ? bubbleWidth + 5 : bubbleWidth;\n        const bubbleLeftMovment = `calc(${percentage}% - ${bubbleMovment}px)`;\n\n        const rangeBackground = `linear-gradient(90deg, #de1a1a ${percentage}%, #cacdce ${percentage}%)`;\n\n        return (\n            <>\n                <div className=\"control-ruler-buttons\">\n                    <button className={`go-live-btn ruler-btn ${isDisabled ? \" disabled\" : \"\"}`} onClick={toLive} aria-label=\"go to live\" disabled={isDisabled}></button>\n                    <button className={`start-over-btn ruler-btn ${isDisabled ? \" disabled\" : \"\"}`} onClick={this.onStartOverClick} aria-label=\"start program over\" disabled={isDisabled}></button>\n                </div>\n\n                <div className=\"control-ruler-timeline\">\n                    <div className=\"range-wrap\">\n                        <div className=\"range-bubble\" id=\"range-bubble\" style={{ left: bubbleLeftMovment }}>{bubbleValue}</div>\n                        <input type=\"range\" className=\"dvr-timeline\" max={durationSeconds ? durationSeconds : playbackTime} value={playbackTime} onChange={this.updateCurrentTime} style={{ background: rangeBackground }} disabled={isDisabled} />\n                    </div>\n                    <div className=\"live-feedback disabled\">\n                        <div className=\"dot disabled\"></div>\n                        <div className=\"live-text\">שידור חי</div>\n                    </div>\n                </div >\n            </>\n        )\n    }\n}","require(\"./ynet_pplus_magazine_site_liveFloatingRadioPlayer.less\")\nimport { RadioProgramItem } from \"../radioHompage/components/radioHomepagePlayerComponenta\";\nimport Slider from \"react-slick\"\nimport * as ResizeObserver from \"resize-observer-polyfill\"\nimport { TogglePlayAction } from \"./audioPlayButton\";\n\ninterface FloatingRadioPlayerProps {\n    programItem: RadioProgramItem\n    isMobileWeb: boolean\n    isAudioPlaying: boolean\n    isFloatingPlayerVisible: boolean\n    audioElement: HTMLAudioElement\n    onClose: () => void\n    isMuted: boolean\n    isSeeking: boolean\n    handleMuteSwitch: () => void\n    toPlayback: (startPostion: number) => void\n    onTogglePlayPause: () => TogglePlayAction\n}\n\ninterface FloatingRadioPlayerState {\n    isTitleOverFlowing: boolean\n    floatingPlayerBottomHeight: number\n}\n\nexport class LiveFloatingRadioPlayer extends React.Component<FloatingRadioPlayerProps, FloatingRadioPlayerState> {\n    constructor() {\n        super()\n        this.state = {\n            isTitleOverFlowing: null,\n            floatingPlayerBottomHeight: 0\n        }\n    }\n\n    private resizeObserver: ResizeObserver;\n\n    componentDidMount() {\n        const elementId = this.props.isMobileWeb ? \"ads.banner\" : \"ads.sargel\"\n        const stickyAdElement = document.getElementById(elementId)\n\n        this.setState({ isTitleOverFlowing: this.getTitleOverflowStatus() })\n\n\n        this.resizeObserver = new ResizeObserver(records => records.forEach(r => {\n            this.onContentHeightChanged(r.contentRect.height)\n        }))\n\n        stickyAdElement && this.resizeObserver.observe(stickyAdElement);\n    }\n\n    componentDidUpdate(prevProps) {\n        if (this.props.programItem !== prevProps.programItem) {\n            this.setState({ isTitleOverFlowing: this.getTitleOverflowStatus() })\n        }\n    }\n\n    componentWillUnmount() {\n        this.resizeObserver && this.resizeObserver.disconnect()\n    }\n\n    private getTitleOverflowStatus = () => {\n        const titleElement = document.querySelector(\".floating-player-show-title\") as HTMLElement\n        const wrapperElement = document.querySelector(\".floating-player-show-title-wrapper\") as HTMLElement\n        let titleOverflow = false\n        if (titleElement && wrapperElement) {\n            titleOverflow = titleElement.offsetWidth > wrapperElement.offsetWidth\n        }\n        return titleOverflow\n    }\n\n    private getShowTime = (item: RadioProgramItem) => {\n        if (item && !item.hideHours) {\n            return `${item.startTime} - ${item.endTime}`\n        }\n        return \"\"\n    }\n\n    private onContentHeightChanged = (height: number) => {\n        this.setState({ floatingPlayerBottomHeight: height })\n    }\n\n    render() {\n        const { programItem, isAudioPlaying, isFloatingPlayerVisible, onClose, isMuted, isSeeking, handleMuteSwitch, isMobileWeb, onTogglePlayPause } = this.props\n        const { floatingPlayerBottomHeight, isTitleOverFlowing } = this.state\n        const progressBar = this.props.children\n        const settings = {\n            dots: false, infinite: true, slidesToShow: 1, slidesToScroll: 1, autoplay: true,\n            speed: programItem.title.length * 200, autoplaySpeed: 0, rtl: true, arrows: false, cssEase: \"linear\"\n        }\n\n        return (\n            <div className={`radio-floating-player ${isFloatingPlayerVisible ? \"show\" : \"hide\"}`} style={{ bottom: floatingPlayerBottomHeight }}>\n                <button className=\"floating-player-close-sign\" onClick={onClose} aria-label=\"close player\"></button>\n\n                <div className=\"floating-player-logic-container\">\n                    <button className={`floating-player-button ${isSeeking ? \"floating-play-button-loader\" : \"\"}`} onClick={onTogglePlayPause} aria-label={isAudioPlaying ? `pause - ${programItem.title}` : `play - ${programItem.title}`}>\n                        <div className={`floating-player-button-status ${isAudioPlaying ? \"pause\" : \"\"}`} ></div>\n                    </button>\n\n                    <div className=\"floating-player-control-ruler\">\n                        {!isMobileWeb && <div className=\"control-ruler-buttons\">\n                            <button className={`${isMuted ? 'sound-off-btn' : 'sound-on-btn'} ruler-btn`} onClick={handleMuteSwitch} aria-label={isMuted ? 'sound is off' : 'sound is on'}></button>\n                        </div>}\n\n                        {progressBar}\n                    </div>\n                </div>\n\n                <div className=\"floating-player-content\">\n                    <div className=\"floating-player-show-details\">\n                        {!isMobileWeb && <img className=\"floating-player-equalizer-gif\" src={\"https://www.ynet.co.il/images/equalizer.gif\"} />}\n                        {!programItem.hideHours && <div className=\"floating-player-show-time\">{this.getShowTime(programItem)} | </div>}\n                    </div>\n\n                    <div className=\"floating-player-show-title-wrapper\">\n                        {isTitleOverFlowing ?\n                            <>\n                                <div className=\"fadder-right\"></div>\n                                <div className=\"slider-wrapper\">\n                                    <Slider {...settings}>\n                                        <div className=\"floating-player-show-title\">{programItem.title || 'אין תוכנית לנגן'}</div>\n                                        <div className=\"floating-player-show-title\">{programItem.title || 'אין תוכנית לנגן'}</div>\n                                    </Slider>\n                                </div>\n                                <div className=\"fadder-left\"></div>\n                            </> :\n                            <div className=\"floating-player-show-title\">{programItem.title || 'אין תוכנית לנגן'}</div>\n                        }\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}","import { secondsToHms } from \"../../../siteWidgets/siteWidgetUtils\";\nimport Slider from \"react-slick\"\nimport { TogglePlayAction } from \"./audioPlayButton\";\nimport { ImaAd } from \"./imaAd\"\nimport { getDevice } from \"../../../siteWidgets/videoPlayer/videoPlayerAds\"\nimport * as ResizeObserver from \"resize-observer-polyfill\"\nrequire(\"./ynet_pplus_magazine_site_aodFloatingPlayer.less\")\n\nexport interface AodFloatingPlayerProps {\n    isAudioPlaying: boolean\n    playbackTime: number\n    onClose: () => void\n    audioElement: HTMLAudioElement\n    durationSeconds: number\n    isFloatingPlayerVisible: boolean\n    isControlsDisabled: boolean\n    isSeeking: boolean\n    isMuted: boolean\n    adDuration: number\n    adPlaybackTime: number\n    loadingSource: boolean\n    onseeked: (playbackTime: number) => void\n    handleMuteSwitch: () => void\n    onTogglePlayPause: () => TogglePlayAction\n}\n\ninterface AodFloatingPlayerAddedProps {\n    title: string\n    site?: string\n    isMobileWeb?: boolean\n    articleLink?: string\n    customCopyToClipBoardMessage?: string\n    rulerColor?: string\n    rangeThumbColor?: string\n    rangeColor?: string\n    rangeProgressColor?: string\n}\n\ninterface AodFloatingPlayerState {\n    isTitleOverFlowing: boolean,\n    programTitleWidth: string,\n    floatingPlayerBottomHeight: number,\n    popupMessageClassName: string,\n}\n\nconst MUTAM_SCREEN_WIDTH = 640\nconst DEFAULT_YNET_RED = \"#de1a1a\"\nconst DEFAULT_YNET_GRAY = \"#cacdce\"\n\nexport class AodFloatingPlayer extends React.Component<AodFloatingPlayerProps & AodFloatingPlayerAddedProps, AodFloatingPlayerState> {\n    constructor() {\n        super();\n        this.state = {\n            isTitleOverFlowing: null,\n            programTitleWidth: \"0vw\",\n            floatingPlayerBottomHeight: 0,\n            popupMessageClassName: \"hide\",\n        }\n    }\n\n    private resizeObserver: ResizeObserver;\n\n    componentDidMount() {\n        const elementId = this.props.isMobileWeb ? \"ads.banner\" : \"ads.sargel\"\n        const stickyAdElement = document.getElementById(elementId)\n\n        this.resizeObserver = new ResizeObserver(records => records.forEach(r => {\n            this.onContentHeightChanged(r.contentRect.height)\n        }))\n\n        stickyAdElement && this.resizeObserver.observe(stickyAdElement);\n    }\n\n    componentWillUnmount() {\n        this.resizeObserver && this.resizeObserver.disconnect()\n    }\n\n    private onContentHeightChanged = (height: number) => {\n        this.setState({ floatingPlayerBottomHeight: height })\n    }\n\n    private onToggleAudioPlaying = () => {\n        const { isAudioPlaying } = this.props\n        isAudioPlaying ? this.props.audioElement.pause() : this.props.audioElement.play()\n    }\n\n    private jumpForward = () => {\n        this.props.audioElement.currentTime += 15;\n    }\n\n    private jumpPrev = () => {\n        this.props.audioElement.currentTime -= 15;\n    }\n\n    private updateCurrentTime = (e) => {\n        this.props.onseeked(Number(e.target.value));\n    }\n\n    private pxToVw = (titleOffsetWidth: number) => {\n        const calculatedWidth = (100 * titleOffsetWidth) / MUTAM_SCREEN_WIDTH\n        return calculatedWidth + \"vw\"\n    }\n\n    private calculateIsTitleOverFlowing = (ref: HTMLDivElement) => {\n        const { isMobileWeb } = this.props\n\n        if (ref) {\n            const wrapperElement = document.querySelector(\".aod-player-show-title-wrapper\") as HTMLElement\n            const titleOverflow = wrapperElement ? ref.offsetWidth > wrapperElement.offsetWidth : false\n            this.setState({\n                isTitleOverFlowing: titleOverflow,\n                programTitleWidth: isMobileWeb ? this.pxToVw(ref.offsetWidth) : ref.offsetWidth + \"px\"\n            });\n        }\n    }\n\n    private openNativeShare = async () => {\n        const shareData = { url: this.props.articleLink, title: this.props.title }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    private handleCopyLink = () => {\n        if (typeof navigator !== \"undefined\") {\n            if (this.props.isMobileWeb) {\n                this.openNativeShare();\n            } else {\n                navigator.clipboard.writeText(this.props.articleLink);\n                this.setState({ popupMessageClassName: \"show\" })\n                setTimeout(() => this.setState({ popupMessageClassName: \"hide\" }), 1000)\n            }\n        }\n    }\n\n    render() {\n        const { isAudioPlaying, onClose, title, durationSeconds, audioElement, isFloatingPlayerVisible, isControlsDisabled, playbackTime, isSeeking, articleLink, isMobileWeb, customCopyToClipBoardMessage, site, rulerColor, rangeThumbColor, rangeColor, rangeProgressColor } = this.props\n        const { isTitleOverFlowing, programTitleWidth, floatingPlayerBottomHeight, popupMessageClassName } = this.state\n\n        const duration = audioElement && audioElement.src !== \"\" && audioElement.duration && audioElement.duration !== Infinity ? audioElement.duration : durationSeconds;\n        const copyToClipBoardMessage = customCopyToClipBoardMessage ? customCopyToClipBoardMessage : \"הקישור הועתק ללוח\"\n        const noShowsText = site === \"radionas\" ? \"لا توجد خطة للعب\" : \"אין תוכנית לנגן\"\n        const percentage = (playbackTime - 0) * 100 / (duration - 0);\n        const playerRangeProgressColor = rulerColor ? rulerColor : rangeProgressColor ? rangeProgressColor : DEFAULT_YNET_RED;\n        const playerRangeColor = rangeColor ? rangeColor : DEFAULT_YNET_GRAY;\n        const playerThumbColor = rangeThumbColor ? rangeThumbColor : DEFAULT_YNET_RED;\n        const rangeBackground = `linear-gradient(90deg, ${playerRangeProgressColor} ${percentage}%, ${playerRangeColor} ${percentage}%)`;\n        const rangeStyles = rangeThumbColor ? { background: rangeBackground, \"--thumb-color\": playerThumbColor } : { background: rangeBackground };\n        const mobileDeviceType = getDevice();\n        const settings = {\n            dots: false,\n            infinite: true,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            autoplay: true,\n            speed: title.length * 200,\n            autoplaySpeed: 0,\n            rtl: true,\n            arrows: false,\n            cssEase: \"linear\"\n        }\n\n        return (\n            <div className={`aod-floating-player-wrapper ${isFloatingPlayerVisible ? \"show\" : \"hide\"}`} style={{ bottom: floatingPlayerBottomHeight }} >\n                <button className=\"aod-player-close-sign\" onClick={onClose} aria-label=\"close player\"></button>\n\n                <div className=\"aod-floating-player\">\n\n                    <div className=\"aod-player-controls\">\n                        <button className={`aod-play-button ${isControlsDisabled || isSeeking ? \"aod-play-button-loader\" : \"\"}`} onClick={this.onToggleAudioPlaying} aria-label={isAudioPlaying ? `pause - ${title}` : `play - ${title}`}>\n                            <div className={`aod-play-button-status ${isAudioPlaying ? \"pause\" : \"\"}`} ></div>\n                        </button>\n\n                        <button className={`forwardStep jumpto-button ${isControlsDisabled ? \"disabled\" : \"\"}`} onClick={this.jumpForward} disabled={isControlsDisabled} aria-label=\"skeep 15 seconds\">{site === \"radionas\" ? \"\" : 15}</button>\n                        <button className={`prevStep jumpto-button ${isControlsDisabled ? \"disabled\" : \"\"}`} onClick={this.jumpPrev} disabled={isControlsDisabled} aria-label=\"go backwards 15 seconds\">{site === \"radionas\" ? \"\" : 15}</button>\n\n                        <div className={`aod-player-controls-ruler-wrapper ${isControlsDisabled ? \"disabled\" : \"\"}`}>\n                            <div className=\"aod-player-controls-ruler\">\n                                <div className=\"\">\n                                    <input\n                                        type=\"range\"\n                                        max={duration}\n                                        style={rangeStyles}\n                                        className=\"timeline\"\n                                        value={playbackTime}\n                                        disabled={isControlsDisabled}\n                                        onChange={this.updateCurrentTime}\n                                    />\n                                </div>\n\n                                <div className=\"aod-player-durations\">\n                                    <span>{secondsToHms(playbackTime)}</span>\n                                    <span>{secondsToHms(duration)}</span>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n\n                    <div className=\"aod-player-title-btn-container\">\n                        {articleLink &&\n                            <div className=\"aod-player-copy-btn-wrapper\">\n                                <div className={`aod-player-copy-link-message ${popupMessageClassName}`}>{copyToClipBoardMessage}</div>\n                                <button className=\"aod-player-copy-link-btn\" onClick={this.handleCopyLink}>\n                                    {isMobileWeb ?\n                                        mobileDeviceType === \"iphone\" ? <div className=\"copy-link-iphone-icon\"></div> : <div className=\"copy-link-android-icon\"></div>\n                                        :\n                                        <div className=\"copy-link-desktop-icon\"></div>\n                                    }\n                                </button>\n                            </div>}\n\n                        <div className=\"aod-player-show-title-wrapper\">\n                            {isTitleOverFlowing ?\n                                <>\n                                    <div className=\"fadder-right\"></div>\n                                    <div className=\"slider-wrapper\" style={{ width: programTitleWidth }}>\n                                        <Slider {...settings}>\n                                            <div className={\"aod-player-show-title\"} dangerouslySetInnerHTML={{ __html: title || noShowsText }}></div>\n                                            <div className={\"aod-player-show-title\"} dangerouslySetInnerHTML={{ __html: title || noShowsText }}></div>\n                                        </Slider>\n                                    </div>\n                                    <div className=\"fadder-left\"></div>\n                                </> :\n                                <div className={\"aod-player-show-title\"} ref={this.calculateIsTitleOverFlowing} dangerouslySetInnerHTML={{ __html: title || noShowsText }}></div>\n                            }\n                        </div>\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}","import { secondsToHms } from \"../../../siteWidgets/siteWidgetUtils\";\nimport { getDevice } from \"../../../siteWidgets/videoPlayer/videoPlayerAds\";\nimport * as ResizeObserver from \"resize-observer-polyfill\";\nrequire(\"./ynet_pplus_magazine_site_aodFloatingPlayer.less\");\n\nexport interface AodFloatingPlayerProps {\n    isAudioPlaying: boolean\n    playbackTime: number\n    onClose: () => void\n    audioElement: HTMLAudioElement\n    durationSeconds: number\n    isFloatingPlayerVisible: boolean\n    isControlsDisabled: boolean\n    isSeeking: boolean\n    onseeked: (playbackTime: number) => void\n}\n\ninterface AodFloatingPlayerState {\n    floatingPlayerBottomHeight: number,\n    popupMessageCalssName: string,\n}\n\nexport class AodFloatingPlayerMobileWeb extends React.Component<AodFloatingPlayerProps & { title: string, articleLink?: string }, AodFloatingPlayerState> {\n    constructor() {\n        super();\n        this.state = {\n            floatingPlayerBottomHeight: 0,\n            popupMessageCalssName: \"hide\",\n        }\n    }\n\n    private resizeObserver: ResizeObserver;\n\n    componentDidMount() {\n        const elementId = \"ads.banner\";\n        const stickyAdElement = document.getElementById(elementId)\n\n        this.resizeObserver = new ResizeObserver(records => records.forEach(r => {\n            this.onContentHeightChanged(r.contentRect.height)\n        }))\n\n        stickyAdElement && this.resizeObserver.observe(stickyAdElement);\n    }\n\n    componentWillUnmount() {\n        this.resizeObserver && this.resizeObserver.disconnect()\n    }\n\n    private onContentHeightChanged = (height: number) => {\n        this.setState({ floatingPlayerBottomHeight: height })\n    }\n\n    private onToggleAudioPlaying = () => {\n        const { isAudioPlaying } = this.props\n        isAudioPlaying ? this.props.audioElement.pause() : this.props.audioElement.play()\n    }\n\n    private jumpForward = () => {\n        this.props.audioElement.currentTime += 15;\n    }\n\n    private jumpPrev = () => {\n        this.props.audioElement.currentTime -= 15;\n    }\n\n    private updateCurrentTime = (e) => {\n        this.props.onseeked(Number(e.target.value));\n    }\n\n    private openNativeShare = async () => {\n        const shareData = { url: this.props.articleLink, title: this.props.title }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    private handleCopyLink = () => {\n        if (typeof navigator !== \"undefined\") {\n            this.openNativeShare();\n        }\n    }\n\n    render() {\n        const { isAudioPlaying, onClose, title, durationSeconds, audioElement, isFloatingPlayerVisible, isControlsDisabled, playbackTime, isSeeking, articleLink } = this.props\n        const { floatingPlayerBottomHeight, popupMessageCalssName } = this.state\n        const mobileDeviceType = getDevice();\n        const duration = audioElement && audioElement.src !== \"\" && audioElement.duration && audioElement.duration !== Infinity ? audioElement.duration : durationSeconds;\n\n        return (\n            <div className={`aod-floating-player-wrapper ${isFloatingPlayerVisible ? \"show\" : \"hide\"}`} style={{ bottom: floatingPlayerBottomHeight }} >\n                <button className=\"aod-player-close-sign\" onClick={onClose} aria-label=\"close player\"></button>\n\n                <div className=\"aod-floating-player\">\n\n                    <div className=\"aod-player-controls\">\n                        <button className={`aod-play-button ${isControlsDisabled || isSeeking ? \"aod-play-button-loader\" : \"\"}`} onClick={this.onToggleAudioPlaying} aria-label={isAudioPlaying ? `pause - ${title}` : `play - ${title}`}>\n                            <div className={`aod-play-button-status ${isAudioPlaying ? \"pause\" : \"\"}`} ></div>\n                        </button>\n\n                        <button className={`forwardStep jumpto-button ${isControlsDisabled ? \"disabled\" : \"\"}`} onClick={this.jumpForward} disabled={isControlsDisabled} aria-label=\"skeep 15 seconds\">15</button>\n                        <button className={`prevStep jumpto-button ${isControlsDisabled ? \"disabled\" : \"\"}`} onClick={this.jumpPrev} disabled={isControlsDisabled} aria-label=\"go backwards 15 seconds\">15</button>\n\n                        <div className={`aod-player-controls-ruler-wrapper ${isControlsDisabled ? \"disabled\" : \"\"}`}>\n                            <div className=\"aod-player-controls-ruler\">\n                                <div className=\"\">\n                                    <input type=\"range\" className=\"timeline\" max={duration} value={playbackTime} onChange={this.updateCurrentTime} disabled={isControlsDisabled} />\n                                </div>\n\n                                <div className=\"aod-player-durations\">\n                                    <span>{secondsToHms(playbackTime)}</span>\n                                    <span>{secondsToHms(duration)}</span>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n\n                    <div className=\"aod-player-title-btn-container\">\n                        {articleLink &&\n                            <div className=\"aod-player-copy-btn-wrapper\">\n                                <div className={`aod-player-copy-link-message ${popupMessageCalssName}`}>הקישור הועתק ללוח</div>\n                                <button className=\"aod-player-copy-link-btn\" onClick={this.handleCopyLink}>\n                                    {mobileDeviceType === \"iphone\" ? <div className=\"copy-link-iphone-icon\"></div> : <div className=\"copy-link-android-icon\"></div>}\n                                </button>\n                            </div>}\n\n                        <div className=\"aod-player-show-title-wrapper\">\n                            <div className={\"aod-player-show-title\"} dangerouslySetInnerHTML={{ __html: title || 'אין תוכנית לנגן' }}></div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}","import { AodFloatingPlayerProps } from \"./aodFloatingPlayer\";\nimport {\n    enablePageRefresh,\n    disablePageRefresh,\n} from \"../../../siteWidgets/siteWidgetUtils\";\nimport { isWcmEditor } from \"config/serverConfig\";\nimport { ImaAd } from \"./imaAd\";\nimport { injectArticleComponentaContext } from \"../../../commonComponents/base/injectArticleComponentaContext\";\nimport { ArticleComponentaContext } from \"../../../interfaces\";\nimport { ArticleData } from \"../../../../articlePage/stateInterfaces\";\n\nexport interface MediaMetadata {\n    // from https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/wicg-mediasession/index.d.ts\n    // Media's title.\n    title?: string;\n    // Media's artist.\n    artist?: string;\n    // Media's album.\n    album?: string;\n}\n\ndeclare var MediaMetadata: {\n    prototype: MediaMetadata;\n    new (init?: MediaMetadata): MediaMetadata;\n};\n\ndeclare var Hls: any;\n\nexport enum TogglePlayAction {\n    \"PLAY\",\n    \"PAUSE\",\n}\nexport interface AudioRendererProps {\n    isAudioPlaying: boolean;\n    isAdPlaying?: boolean;\n    onTogglePlayPause: () => TogglePlayAction;\n    onRefChanged?: (elementRef) => void;\n}\n\ninterface AudioPlayButtonState {\n    isAudioPlaying: boolean;\n    isFloatingPlayerVisible: boolean;\n    playbackTime: number;\n    isControlsDisabled: boolean;\n    isSeeking: boolean;\n    isMuted: boolean;\n    adDuration: number;\n    adPlaybackTime: number;\n    playedAdOnFirstPlay: boolean;\n    loadingSource: boolean;\n}\n\ninterface AudioPlayButtonProps {\n    audioUrl: string;\n    durationSeconds: number;\n    floatingPlayerRenderer: (\n        props: AodFloatingPlayerProps\n    ) => React.ReactElement<AodFloatingPlayerProps>;\n    renderer: (\n        props: AudioRendererProps\n    ) => React.ReactElement<AudioRendererProps>;\n    shouldAppearOnComponentOutOfView?: boolean;\n    browserDisplayMediaMetaData?: MediaMetadata;\n    startPostion?: number;\n    adTag?: string;\n    isAdPlaying?: boolean;\n    onAdPlayingStateChange?: (adPlayingState: boolean) => void;\n    onEnd?: () => void;\n    articleData?: ArticleData;\n    title?: string,\n    articleLink?: string;\n    isLive?: string;\n}\n\ndeclare var window: Window & {\n    wcmAudioPlayer: AudioPlayButton;\n};\n\nexport class AudioPlayButton extends React.Component<\n    AudioPlayButtonProps,\n    AudioPlayButtonState\n> {\n    private audioElement: HTMLAudioElement = RUNNING_IN_SERVER\n        ? null\n        : new Audio();\n    private intersectionObserver: IntersectionObserver;\n    private hls: any;\n    private seekTo = -1;\n    private imaAd: ImaAd = null;\n\n    constructor(props: AudioPlayButtonProps) {\n        super(props);\n        this.state = {\n            isAudioPlaying: false,\n            isFloatingPlayerVisible: false,\n            playbackTime: 0,\n            isControlsDisabled: true,\n            isSeeking: false,\n            isMuted: false,\n            adDuration: 0,\n            adPlaybackTime: 0,\n            playedAdOnFirstPlay: false,\n            loadingSource: false,\n        };\n    }\n\n    componentDidMount() {\n        if (isWcmEditor()) return;\n        if (\n            typeof Hls !== \"undefined\" &&\n            Hls.isSupported() &&\n            this.props.audioUrl.endsWith(\".m3u8\")\n        ) {\n            this.hls = new Hls();\n        }\n        this.audioElement.addEventListener(\"ended\", this.handleAudioEnded);\n        this.audioElement.addEventListener(\"error\", this.handleAudioError);\n        this.audioElement.addEventListener(\"pause\", this.handleAudioPause);\n        this.audioElement.addEventListener(\"play\", this.handleAudioPlay);\n        this.audioElement.addEventListener(\n            \"timeupdate\",\n            this.handleAudioTimeUpdate\n        );\n        this.audioElement.addEventListener(\"canplay\", this.handleAudioCanplay);\n        this.audioElement.addEventListener(\"seeking\", this.handleAudioSeeking);\n        this.audioElement.addEventListener(\"seeked\", this.handleAudioSeeked);\n    }\n\n    componentWillUnmount() {\n        if (isWcmEditor()) return;\n        this.audioElement.removeEventListener(\"ended\", this.handleAudioEnded);\n        this.audioElement.removeEventListener(\"error\", this.handleAudioError);\n        this.audioElement.removeEventListener(\"pause\", this.handleAudioPause);\n        this.audioElement.removeEventListener(\"play\", this.handleAudioPlay);\n        this.audioElement.removeEventListener(\n            \"timeupdate\",\n            this.handleAudioTimeUpdate\n        );\n        this.audioElement.removeEventListener(\n            \"canplay\",\n            this.handleAudioCanplay\n        );\n        this.audioElement.removeEventListener(\n            \"seeking\",\n            this.handleAudioSeeking\n        );\n        this.audioElement.removeEventListener(\"seeked\", this.handleAudioSeeked);\n        this.audioElement.pause();\n        this.intersectionObserver && this.intersectionObserver.disconnect();\n    }\n\n    componentDidUpdate(prevProp: AudioPlayButtonProps) {\n        if (isWcmEditor()) return;\n        if (this.props.audioUrl !== prevProp.audioUrl) {\n            this.changeSrc(this.props.audioUrl);\n        }\n        this.handlePercentagePlayedEvent();\n    }\n\n    private handlePercentagePlayedEvent = () => {\n        const { durationSeconds } = this.props;\n        const { playbackTime } = this.state;\n        const percentagePlayed = Math.floor(\n            (playbackTime / durationSeconds) * 100\n        );\n        if (percentagePlayed === 25) {\n            this.pushGA4Event(\"media_watch_25_percent\");\n        } else if (percentagePlayed === 50) {\n            this.pushGA4Event(\"media_watch_50_percent\");\n        } else if (percentagePlayed === 75) {\n            this.pushGA4Event(\"media_watch_75_percent\");\n        }\n    };\n\n    /**\n     * Pauses video content and sets up ad UI.\n     */\n    private onContentPauseRequested = () => {\n        this.audioElement.pause();\n        this.props.onAdPlayingStateChange(true);\n    };\n\n    /**\n     * Resumes video content and removes ad UI.\n     */\n    private onContentResumeRequested = () => {\n        this.props.onAdPlayingStateChange(false);\n        this.audioElement.play();\n    };\n\n    private onAdProgressUpdate = (currentTime) => {\n        this.setState({ adPlaybackTime: currentTime });\n    };\n\n    private updateAdDuration = (duration: number) => {\n        this.setState({ adDuration: duration });\n    };\n\n    public isPlaying = () => {\n        return this.state.isAudioPlaying;\n    };\n\n    onPlayBtnClick = () => {\n        const { isAudioPlaying, playedAdOnFirstPlay } = this.state;\n        const { audioUrl, browserDisplayMediaMetaData, isAdPlaying } =\n            this.props;\n\n        if (isWcmEditor()) return;\n\n        if (isAudioPlaying) {\n            this.imaAd && this.imaAd.pauseAd();\n            this.audioElement.pause();\n            this.pushGA4Event(\"media_pause\");\n            return TogglePlayAction.PAUSE;\n        } else {\n            if (!this.audioElement.getAttribute(\"data-src-loaded\")) {\n                this.audioElement.setAttribute(\"data-src-loaded\", \"1\");\n                this.changeSrc(audioUrl);\n            }\n            if (browserDisplayMediaMetaData && \"mediaSession\" in navigator) {\n                //@ts-ignore\n                navigator.mediaSession.metadata = new MediaMetadata(\n                    browserDisplayMediaMetaData\n                );\n            }\n            if (window.wcmAudioPlayer !== this) {\n                if (window.wcmAudioPlayer) {\n                    window.wcmAudioPlayer.stop();\n                }\n                window.wcmAudioPlayer = this;\n            }\n            if (this.imaAd && !playedAdOnFirstPlay) {\n                this.imaAd.playAds();\n                this.pushGA4Event(\"media_start_preroll\");\n                this.setState({ playedAdOnFirstPlay: true });\n            } else if (isAdPlaying) {\n                this.imaAd.resumeAd();\n            } else {\n                this.pushGA4Event(\"media_completed_preroll\");\n                let playPromise = this.audioElement.play();\n                this.setState({ loadingSource: true });\n\n                if (playPromise !== undefined) {\n                    playPromise\n                        .then((_) => {\n                            this.setState({ loadingSource: false });\n                            this.pushGA4Event(\"media_start\");\n                        })\n                        .catch((error) => {\n                            console.error(error);\n                        });\n                }\n            }\n            this.pushGA4Event(\"media_click_play\");\n            return TogglePlayAction.PLAY;\n        }\n    };\n\n    public stop = () => {\n        this.setState({\n            isFloatingPlayerVisible: false,\n            playedAdOnFirstPlay: false,\n        });\n\n        if (this.props.isAdPlaying) {\n            this.imaAd && this.imaAd.pauseAd();\n            this.props.onAdPlayingStateChange(false);\n            this.handleAudioPause();\n        } else {\n            this.audioElement.pause();\n            this.audioElement.currentTime = 0;\n        }\n\n        this.imaAd && this.imaAd.restartAds(true);\n    };\n\n    public play = (shouldPlayAd?: boolean) => {\n        if (this.imaAd && shouldPlayAd) {\n            this.imaAd.playAds();\n            this.pushGA4Event(\"media_start_preroll\");\n        } else {\n            this.audioElement.play();\n        }\n    };\n\n    public changeSrc = (newSrc: string) => {\n        const wasPlaying = this.state.isAudioPlaying;\n        const startPosition = this.props.startPostion;\n\n        if (this.hls) {\n            this.hls.destroy();\n            this.hls = new Hls({ startPosition: startPosition });\n            this.hls.loadSource(newSrc);\n            this.hls.attachMedia(this.audioElement);\n        } else {\n            this.audioElement.src = newSrc;\n            this.seekTo = startPosition;\n        }\n\n        if (wasPlaying) {\n            let playPromise = this.audioElement.play();\n            this.setState({ loadingSource: true });\n\n            if (playPromise !== undefined) {\n                playPromise\n                    .then((_) => {\n                        this.setState({ loadingSource: false });\n                    })\n                    .catch((error) => {\n                        console.error(error);\n                    });\n            }\n        }\n    };\n\n    private onRenderrRefUpdated = (ref) => {\n        if (this.props.shouldAppearOnComponentOutOfView && ref) {\n            this.intersectionObserver = new IntersectionObserver(\n                ([entry]) => {\n                    this.setState((state) => ({\n                        isFloatingPlayerVisible:\n                            state.isAudioPlaying && !entry.isIntersecting,\n                    }));\n                },\n                { threshold: 0.5 }\n            );\n            this.intersectionObserver.observe(ref);\n        }\n    };\n\n    private handleAudioTimeUpdate = () =>\n        this.setState({ playbackTime: this.audioElement.currentTime });\n\n    private handleAudioPlay = () => {\n        this.setState({ isAudioPlaying: true });\n        if (!this.props.shouldAppearOnComponentOutOfView) {\n            this.setState({ isFloatingPlayerVisible: true });\n        }\n        disablePageRefresh();\n    };\n\n    private handleAudioPause = () => {\n        this.setState({ isAudioPlaying: false });\n        enablePageRefresh();\n\n        this.pushGA4Event(\"media_pause\");\n    };\n\n    private handleAudioError = () =>\n        this.setState({\n            isAudioPlaying: false,\n            isFloatingPlayerVisible: false,\n        });\n\n    private handleAudioEnded = () => {\n        const { onEnd } = this.props;\n\n        if (onEnd) {\n            this.setState({ isAudioPlaying: true }, () => onEnd());\n        } else {\n            this.setState({ isAudioPlaying: false });\n        }\n        this.pushGA4Event(\"media_finish\");\n    };\n\n    private pushGA4Event = (eventName: string) => {\n        if (typeof window == \"undefined\" || !window.dataLayer || !this.props.articleData) return;\n\n        const { articleData, durationSeconds, articleLink, audioUrl, isLive, browserDisplayMediaMetaData } =\n            this.props;\n        const { articleId, title, isMarketingContent, publishedLink } = articleData;\n        let link = articleLink || publishedLink || \"\";\n        let mediaTitle =browserDisplayMediaMetaData ? browserDisplayMediaMetaData.title :  (title || \"\");\n        let mediaAlbom = browserDisplayMediaMetaData ? browserDisplayMediaMetaData.album : \"\";\n        window.dataLayer.push({\n            event: eventName,\n            article_id: articleId ? articleId : \"\",\n            sponsored_content: isMarketingContent,\n            // word_count: wordCount,\n            media_type: `podcast`,\n            media_length: durationSeconds,\n            media_title: mediaTitle,\n            media_id: link.split(\"/\").pop(),\n            media_location: \"article page\",\n            media_player_name: \"native ynet audio player\",\n            media_url: audioUrl,\n            media_autoplay: \"false\",\n            media_live: isLive ? isLive : \"false\",\n            media_program_host: mediaAlbom,\n            media_program_name: mediaAlbom,\n            media_program_chapter_number: `${mediaAlbom} ${mediaTitle}`,\n\n        });\n    };\n\n    private handleAudioCanplay = () => {\n        if (!this.hls && this.seekTo > -1) {\n            this.audioElement.currentTime = this.seekTo;\n            this.seekTo = -1;\n        }\n\n        this.setState({ isControlsDisabled: false });\n    };\n\n    private handleAudioSeeking = () => this.setState({ isSeeking: true });\n\n    private handleAudioSeeked = () => this.setState({ isSeeking: false });\n\n    public handlePlayerSeeked = (playbackTime: number) => {\n        this.setState({ playbackTime }, () => {\n            this.audioElement.currentTime = this.state.playbackTime;\n        });\n    };\n\n    private handleMuteSwitch = () => {\n        this.setState({ isMuted: !this.state.isMuted }, () => {\n            if (this.state.isMuted) {\n                this.audioElement.muted = true;\n                this.imaAd && this.imaAd.setAdVolume(0);\n                this.pushGA4Event(\"media_mute\");\n            } else {\n                this.audioElement.muted = false;\n                this.imaAd && this.imaAd.setAdVolume(1);\n                this.pushGA4Event(\"media_unmute\");\n            }\n        });\n    };\n\n    private setImaAd = (ref: ImaAd) => {\n        if (this.props.adTag) this.imaAd = ref;\n    };\n\n    private handleAdEnded = () => {\n        this.setState({ isAudioPlaying: true });\n        this.pushGA4Event(\"media_finish_preroll\");\n    };\n\n    render() {\n        const {\n            isAudioPlaying,\n            isFloatingPlayerVisible,\n            playbackTime,\n            isControlsDisabled,\n            isSeeking,\n            isMuted,\n            adDuration,\n            adPlaybackTime,\n            loadingSource,\n        } = this.state;\n        const { durationSeconds, floatingPlayerRenderer, renderer, adTag } =\n            this.props;\n        if (RUNNING_IN_SERVER || isWcmEditor()) {\n            return (\n                <div className=\"audio-play-button-wrapper\">\n                    {renderer({\n                        isAudioPlaying,\n                        onTogglePlayPause: this.onPlayBtnClick,\n                        onRefChanged: this.onRenderrRefUpdated,\n                    })}\n                </div>\n            );\n        }\n        return (\n            <div className=\"audio-play-button-wrapper\">\n                <ImaAd\n                    ref={this.setImaAd}\n                    adTag={adTag}\n                    audioElement={this.audioElement}\n                    onContentPauseRequested={this.onContentPauseRequested}\n                    onContentResumeRequested={this.onContentResumeRequested}\n                    onAdProgressUpdate={this.onAdProgressUpdate}\n                    updateAdDuration={this.updateAdDuration}\n                    onAdPlayStarted={this.handleAudioPlay}\n                    onAdPlayPause={this.handleAudioPause}\n                    onAdPlayComplete={this.handleAdEnded}\n                />\n                {renderer({\n                    isAudioPlaying,\n                    onTogglePlayPause: this.onPlayBtnClick,\n                    onRefChanged: this.onRenderrRefUpdated,\n                })}\n                {floatingPlayerRenderer({\n                    durationSeconds,\n                    playbackTime,\n                    onClose: this.stop,\n                    isAudioPlaying,\n                    audioElement: this.audioElement,\n                    isFloatingPlayerVisible: isFloatingPlayerVisible,\n                    isControlsDisabled,\n                    isSeeking,\n                    isMuted,\n                    adDuration,\n                    adPlaybackTime,\n                    loadingSource,\n                    onseeked: this.handlePlayerSeeked,\n                    handleMuteSwitch: this.handleMuteSwitch,\n                    onTogglePlayPause: this.onPlayBtnClick,\n                })}\n            </div>\n        );\n    }\n}\n","interface imaAdProps {\n    adTag: string\n    audioElement: HTMLAudioElement\n    onContentPauseRequested: () => void\n    onContentResumeRequested: () => void\n    onAdProgressUpdate: (cuurentTime: number) => void\n    updateAdDuration: (adDuration: number) => void\n    onAdPlayStarted: () => void\n    onAdPlayPause: () => void\n    onAdPlayComplete: () => void\n}\n\ndeclare var google: any\n\nexport class ImaAd extends React.Component<imaAdProps> {\n\n    private adDisplayContainer\n    private adsLoader\n    private adsManager\n    private adLastPlayedTime = new Date().setMinutes(-5)\n\n    public playAds = () => {\n        try {\n            if (this.shouldPlayAd()) {\n                this.adDisplayContainer.initialize()\n                this.adsManager.init()\n                this.adsManager.start()\n            } else {\n                this.props.audioElement.play();\n            }\n        } catch (adError) {\n            this.props.audioElement.play();\n            console.error(adError);\n        }\n    }\n\n    public pauseAd = () => {\n        this.adsManager && this.adsManager.pause()\n    }\n\n    public resumeAd = () => {\n        this.adsManager && this.adsManager.resume()\n    }\n\n    public stopAd = () => {\n        this.adsManager && this.adsManager.stop()\n    }\n\n    public setAdVolume = (volume: number) => {\n        this.adsManager && this.adsManager.setVolume(volume)\n    }\n\n\n    public restartAds = (shouldResetAdTimer?: boolean) => {\n        if(shouldResetAdTimer) this.adLastPlayedTime = new Date().setMinutes(-5);\n        this.adsLoader.contentComplete();\n        this.adsManager.destroy();\n        this.requestAds(this.props.adTag)\n    }\n\n    private initAds = (adsContainer: HTMLDivElement) => {\n        const { audioElement } = this.props\n        try {\n            this.adDisplayContainer = new google.ima.AdDisplayContainer(adsContainer, audioElement); // Create the ad display container.\n            this.adsLoader = new google.ima.AdsLoader(this.adDisplayContainer); // Create ads loader.\n\n            this.requestAds(this.props.adTag)\n\n            this.adsLoader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, this.onAdsManagerLoaded, false);\n        } catch{\n            console.error(\"Cannot init google.ima\")\n        }\n    }\n\n    private requestAds = (adTag: string) => {\n        const adsRequest = new google.ima.AdsRequest(); // Create ads requset.\n        adsRequest.adTagUrl = adTag\n        this.adsLoader.requestAds(adsRequest); // Send ads request\n    }\n\n    private onAdsManagerLoaded = (adsManagerLoadedEvent) => {\n        const { audioElement, onContentPauseRequested, onContentResumeRequested, onAdProgressUpdate } = this.props\n\n        // Get the ads manager.\n        const adsRenderingSettings = new google.ima.AdsRenderingSettings();\n        adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true;\n        // Instantiate the AdsManager from the adsLoader response and pass it the video element\n        this.adsManager = adsManagerLoadedEvent.getAdsManager(audioElement, adsRenderingSettings);\n\n        // Add listeners to the required events.\n        this.adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, this.onAdError);\n        this.adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested);\n        this.adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested);\n        this.adsManager.addEventListener(google.ima.AdEvent.Type.ALL_ADS_COMPLETED, this.onAdEvent);\n        this.adsManager.addEventListener(google.ima.AdEvent.Type.AD_PROGRESS, (IMAEvent) => onAdProgressUpdate(IMAEvent.getAdData().currentTime));\n\n        // Listen to any additional events, if necessary.\n        this.adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, this.onAdEvent);\n        this.adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, this.onAdEvent);\n        this.adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, this.onAdEvent);\n        this.adsManager.addEventListener(google.ima.AdEvent.Type.PAUSED, this.onAdEvent);\n        this.adsManager.addEventListener(google.ima.AdEvent.Type.RESUMED, this.onAdEvent);\n    }\n\n    /**\n    * Handles ad errors.\n    * @param {!google.ima.AdErrorEvent} adErrorEvent\n    */\n    private onAdError = (adErrorEvent) => {\n        console.error(adErrorEvent.getError());\n        this.adsManager.destroy();\n    }\n\n    /**\n    * Handles actions taken in response to ad events.\n    * @param {!google.ima.AdEvent} adEvent\n    */\n    private onAdEvent = (adEvent) => {\n        // Retrieve the ad from the event. Some events (for example, ALL_ADS_COMPLETED) don't have ad object associated.\n        const ad = adEvent.getAd();\n\n        switch (adEvent.type) {\n            case google.ima.AdEvent.Type.LOADED:\n                // This is the first event sent for an ad - it is possible to determine whether the ad is a video ad or an overlay.\n                if (!ad.isLinear()) {\n                }\n                break;\n\n            case google.ima.AdEvent.Type.STARTED:\n                if (ad.isLinear()) {\n                    this.props.onAdPlayStarted()\n                    this.props.updateAdDuration(ad.getDuration());\n                }\n                break;\n\n            case google.ima.AdEvent.Type.PAUSED:\n                if (ad.isLinear()) {\n                    this.props.onAdPlayPause();\n                }\n                break;\n\n            case google.ima.AdEvent.Type.RESUMED:\n                if (ad.isLinear()) {\n                    this.props.onAdPlayStarted()\n                }\n                break;\n\n            case google.ima.AdEvent.Type.COMPLETE:\n                if (ad.isLinear()) {\n                    this.adLastPlayedTime = new Date().getTime()\n                }\n                this.props.onAdPlayComplete();\n                break;\n\n            case google.ima.AdEvent.Type.ALL_ADS_COMPLETED:\n                if (ad.isLinear()) {\n                    this.restartAds()\n                }\n                break;\n        }\n    }\n\n    private shouldPlayAd = () => {\n        // check if 5 minutes has passed\n        return (new Date().getTime() - this.adLastPlayedTime) > 300000\n    }\n\n    render() {\n        const { adTag } = this.props\n\n        if (!adTag) return null\n\n        return <div className=\"radio-player-ad-container\" style={{ display: \"none\" }} ref={this.initAds} />\n    }\n}","import { getDevice } from \"../../../siteWidgets/videoPlayer/videoPlayerAds\"\n\nexport function buildAdTag(isMobileWeb: boolean) {\n    if (RUNNING_IN_SERVER) return \"\";\n    const iu = getPlayerAdIu(isMobileWeb)\n    const custParams = getCustomParmsString(window.dcPath, window.video_ad_yncd);\n\n    return getAdTagTemplate(iu, window.video_ad_description_url, custParams)\n}\n\nconst getAdTagTemplate = (iu: string, description_url: string, cust_params: string) =>\n    `https://pubads.g.doubleclick.net/gampad/ads?iu=${iu}&description_url=${encodeURIComponent(description_url)}&tfcd=0&npa=0&ad_type=audio&sz=1x1&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=&cust_params=${encodeURIComponent(cust_params)}`\n\nfunction getPlayerAdIu(isMobileWeb: boolean) {\n    let platformPart\n\n    if (isMobileWeb) {\n        platformPart = `mobileweb_${getDevice()}`;\n    } else {\n        platformPart = \"desktop\"\n    }\n\n    return `/6870/ynet/${platformPart}/radio.audio`\n}\n\nfunction getCustomParmsString(dcPath: string, yncd: string) {\n    const searchUrlParams = new URLSearchParams(window.location.search);\n    let value = `dcPath=${dcPath}&yncd=${yncd}`;\n\n    if (searchUrlParams.has('dcStage')) {\n        value += `&dcStage=${searchUrlParams.get('dcStage')}`;\n    }\n\n    return value;\n}","import { AudioPlayButton, AudioRendererProps, MediaMetadata } from \"./audioPlayButton\";\nimport { AodFloatingPlayer } from \"./aodFloatingPlayer\";\nimport { ArticleData } from \"../../../../articlePage/stateInterfaces\";\nimport { getQueryStringValue } from \"../../../widgetsUtils\";\n\ninterface PodcastPlayerProps {\n    audioUrl: string\n    title: string\n    durationSeconds: number\n    className: string\n    isMobileWeb?: boolean\n    browserDisplayMediaMetaData?: MediaMetadata\n    articleLink?: string\n    articleData?: ArticleData\n    rangeThumbColor?: string\n    rangeColor?: string\n    rangeProgressColor?: string\n}\n\nexport function PodcastPlayer(props: PodcastPlayerProps) {\n    const { className, title, isMobileWeb, articleLink, articleData, rangeThumbColor, rangeColor, rangeProgressColor } = props;\n\n    return (\n        <AudioPlayButton\n            {...props}\n            isLive={'false'}\n            articleData={articleData}\n            renderer={(props: AudioRendererProps) => (<ButtonRnederer {...props} className={className} articleData={articleData} />)}\n            floatingPlayerRenderer={(props) => (\n                <AodFloatingPlayer\n                    {...props}\n                    title={title}\n                    isMobileWeb={isMobileWeb}\n                    articleLink={articleLink}\n                    rangeThumbColor={rangeThumbColor}\n                    rangeColor={rangeColor}\n                    rangeProgressColor={rangeProgressColor}\n                />\n            )}\n        />\n    )\n}\n\nPodcastPlayer.siteScriptName = \"PodcastPlayer\"\n\nexport function ButtonRnederer({ isAudioPlaying, onTogglePlayPause, className, articleData }: AudioRendererProps & { className: string, articleData?: ArticleData }) {\n\n    const audioArticleData = articleData && articleData.specialData && articleData.specialData.audioData\n    const category = articleData && articleData.category ? articleData.category.textToShow : \"\";\n    let scriptObj = {}\n    \n    if (articleData && audioArticleData) {\n        scriptObj = {\n            id: articleData.articleId,\n            name: articleData.title,\n            title: `${category} - ${articleData.title}`,\n            durationSeconds: audioArticleData.durationSeconds,\n            imageUrl: audioArticleData.imageUrl,\n            audioUrl: audioArticleData.audioUrl,\n            articleLink: articleData.publishedLink\n        };\n    }\n\n    const scriptString = `window.podcastsData = window.podcastsData || {};\n        window.podcastsData[\"${articleData ? articleData.articleId : \"\"}\"] = ${JSON.stringify(scriptObj)};`\n\n    return (\n        articleData && typeof window !== \"undefined\" && getQueryStringValue(\"IsApp\") && !window.disableAppNativePlayer ?\n            <a href={`//podcast/${articleData.articleId}`}>\n                <div className=\"preview-audio-play-button\">\n                    <div className=\"audio-play-button-status\"></div>\n                </div>\n                <script type=\"text/javascript\" dangerouslySetInnerHTML={{ __html: scriptString }} />\n            </a>\n            :\n            <button className={className} onClick={onTogglePlayPause} aria-label={isAudioPlaying ? \"pause\" : \"play\"} >\n                <div className={`audio-play-button-status ${isAudioPlaying ? \"pause\" : \"\"}`} ></div>\n            </button>\n    );\n}","require(\"./radionas_site_simpleLiveFloatingPlayer.less\")\nimport { RadioProgramItem } from \"../radioHompage/components/radioHomepagePlayerComponenta\";\nimport Slider from \"react-slick\"\nimport * as ResizeObserver from \"resize-observer-polyfill\"\nimport { TogglePlayAction } from \"./audioPlayButton\";\n\ninterface SimpleLiveFloatingPlayerProps {\n    programItem: RadioProgramItem\n    isMobileWeb: boolean\n    isAudioPlaying: boolean\n    isFloatingPlayerVisible: boolean\n    audioElement: HTMLAudioElement\n    isSeeking: boolean\n    onClose: () => void\n    onTogglePlayPause: () => TogglePlayAction\n}\n\ninterface SimpleLiveFloatingPlayerState {\n    isTitleOverFlowing: boolean\n    floatingPlayerBottomHeight: number\n}\n\nexport class SimpleLiveFloatingPlayer extends React.Component<SimpleLiveFloatingPlayerProps & { site?: string }, SimpleLiveFloatingPlayerState> {\n    constructor() {\n        super()\n        this.state = {\n            isTitleOverFlowing: null,\n            floatingPlayerBottomHeight: 0\n        }\n    }\n\n    private resizeObserver: ResizeObserver;\n\n    componentDidMount() {\n        const elementId = this.props.isMobileWeb ? \"ads.banner\" : \"ads.sargel\"\n        const stickyAdElement = document.getElementById(elementId)\n\n        this.setState({ isTitleOverFlowing: this.getTitleOverflowStatus() })\n\n\n        this.resizeObserver = new ResizeObserver(records => records.forEach(r => {\n            this.onContentHeightChanged(r.contentRect.height)\n        }))\n\n        stickyAdElement && this.resizeObserver.observe(stickyAdElement);\n    }\n\n    componentDidUpdate(prevProps) {\n        if (this.props.programItem !== prevProps.programItem) {\n            this.setState({ isTitleOverFlowing: this.getTitleOverflowStatus() })\n        }\n    }\n\n    componentWillUnmount() {\n        this.resizeObserver && this.resizeObserver.disconnect()\n    }\n\n    private getTitleOverflowStatus = () => {\n        const titleElement = document.querySelector(\".floating-player-show-title\") as HTMLElement\n        const wrapperElement = document.querySelector(\".floating-player-show-title-wrapper\") as HTMLElement\n        let titleOverflow = false\n        if (titleElement && wrapperElement) {\n            titleOverflow = titleElement.offsetWidth > wrapperElement.offsetWidth\n        }\n        return titleOverflow\n    }\n\n    private onContentHeightChanged = (height: number) => {\n        this.setState({ floatingPlayerBottomHeight: height })\n    }\n\n    render() {\n        const { programItem: { title, anchor }, isAudioPlaying, isFloatingPlayerVisible, onClose, isSeeking, isMobileWeb, onTogglePlayPause, site } = this.props\n        const { floatingPlayerBottomHeight, isTitleOverFlowing } = this.state\n\n        const liveIndicationText = site === \"radionas\" ? \"بث مباشر\" : \"שידור חי\"\n        const noShowsText = site === \"radionas\" ? \"لا توجد خطة للعب\" : \"אין תוכנית לנגן\"\n        const settings = {\n            dots: false, infinite: true, slidesToShow: 1, slidesToScroll: 1, autoplay: true,\n            speed: title.length * 200, autoplaySpeed: 0, rtl: true, arrows: false, cssEase: \"linear\"\n        }\n\n        const titleToShow = title ?\n            <>\n                <div className=\"title\">{title}</div>\n                <div className=\"separator\"></div>\n                <div className=\"anchor\">{anchor}</div>\n            </>\n            :\n            noShowsText;\n\n        return (\n            <div className={`simple-floating-player ${isFloatingPlayerVisible ? \"show\" : \"hide\"}`} style={{ bottom: floatingPlayerBottomHeight }}>\n                <button className=\"floating-player-close-sign\" onClick={onClose} aria-label=\"close player\"></button>\n\n                <button className={`floating-player-button ${isSeeking ? \"floating-play-button-loader\" : \"\"}`} onClick={onTogglePlayPause} aria-label={isAudioPlaying ? `pause - ${title}` : `play - ${title}`}>\n                    <div className={`floating-player-button-status ${isAudioPlaying ? \"pause\" : \"\"}`} ></div>\n                </button>\n\n                <div className=\"live-indication\">\n                    <div className=\"dot\"></div>\n                    <div className=\"live-text\">{liveIndicationText}</div>\n                </div>\n\n                <div className=\"floating-player-content\">\n                    <div className=\"floating-player-show-title-wrapper\">\n                        {isTitleOverFlowing ?\n                            <>\n                                <div className=\"fadder-right\"></div>\n                                <div className=\"slider-wrapper\">\n                                    <Slider {...settings}>\n                                        <div className=\"floating-player-show-title\">{titleToShow}</div>\n                                        <div className=\"floating-player-show-title\">{titleToShow}</div>\n                                    </Slider>\n                                </div>\n                                <div className=\"fadder-left\"></div>\n                            </> :\n                            <div className=\"floating-player-show-title\">{titleToShow}</div>\n                        }\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}","import { RadioProgramItem } from \"../../radioHompage/components/radioHomepagePlayerComponenta\";\nimport { LinkProperties, BaseLinkTypes } from \"../../../../../global/components/linkSettings/interfaces\"\n\ninterface AppRadioArticleLivePlayerProps {\n    buttonTitle: string\n    buttonLink: LinkProperties<BaseLinkTypes>\n    startingIndex: number\n    radioScheduleList: any[]\n}\n\ninterface AppRadioArticleLivePlayerState {\n    showPlayingIndex: number\n}\n\nexport class AppRadioArticleLivePlayer extends React.Component<AppRadioArticleLivePlayerProps, AppRadioArticleLivePlayerState> {\n    public static siteScriptName = \"AppRadioArticleLivePlayer\"\n\n    private timer;\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            showPlayingIndex: props.startingIndex,\n        }\n    }\n\n    componentDidMount() {\n        this.createTimerForNextShow()\n    }\n\n    componentWillUnmount() {\n        clearTimeout(this.timer);\n    }\n\n    createTimerForNextShow = () => {\n        const { radioScheduleList } = this.props\n        const { showPlayingIndex } = this.state\n\n        if (radioScheduleList.length > 0 && showPlayingIndex !== -1 && showPlayingIndex + 1 < radioScheduleList.length && radioScheduleList[showPlayingIndex] && radioScheduleList[showPlayingIndex].endProgram) {\n            this.timer = setTimeout(() => {\n                this.setState({ showPlayingIndex: showPlayingIndex + 1 }, () => {\n                    //recursive until no show is available\n                    const program = radioScheduleList[this.state.showPlayingIndex]\n                    this.createTimerForNextShow()\n                })\n            }, new Date(radioScheduleList[showPlayingIndex].endProgram).getTime() - new Date().getTime());\n        }\n    }\n\n    private getShowTime = (item: RadioProgramItem) => {\n        if (item && !item.hideHours) {\n            return `| ${item.startTime} - ${item.endTime}`\n        }\n        return \"\"\n    }\n\n    render() {\n        const { buttonTitle, buttonLink, radioScheduleList } = this.props;\n        const { showPlayingIndex } = this.state;\n        const programItem = radioScheduleList && radioScheduleList[showPlayingIndex] || emptyProgramItem;\n\n        return (\n            <>\n                <div className=\"app-article-live-homepage-player\">\n                    <a href={`//appRadioArticleLivePlayer/`}>\n\n                        <div className=\"radio-player-content\">\n                            <div className=\"radio-player-button\">\n                                <div className=\"radio-player-button-status\" ></div>\n                            </div>\n\n                            <div className=\"radio-player-show-info-wrapper\">\n                                <div className=\"radio-player-show-info\">\n                                    <div className=\"radio-player-live-indication-rpf\">{programItem.isProgramLive ? \"LIVE\" : \"\"}</div>\n                                    {!programItem.hideHours && <img className=\"radio-player-equalizer-gif\" src={\"https://www.ynet.co.il/images/equalizer.gif\"} />}\n                                    {!programItem.hideHours && <div className=\"radio-player-label-rpf\">ynet radio</div>}\n                                    <div className=\"radio-player-show-time-rpf\">{this.getShowTime(programItem)}</div>\n                                </div>\n\n                                <div className=\"radio-player-show-title-rpf\">{programItem.title || 'אין תוכנית לנגן'}</div>\n                            </div>\n                        </div>\n                    </a>\n\n                    <div className=\"radio-player-goto-btn-wrapper\">\n                        {buttonTitle &&\n                            <div className=\"radio-player-goto-btn\">\n                                <a className=\"radio-player-goto-btn-link-rpf\" href={buttonLink.link.publishedLink}>\n                                    <div className=\"radio-player-goto-btn-title-rpf\">{buttonTitle}</div>\n                                    <div className=\"radio-player-goto-btn-arrow\"></div>\n                                </a>\n                            </div>}\n                    </div>\n                </div>\n            </>\n        )\n    }\n}\n\nconst emptyProgramItem: RadioProgramItem = {\n    title: \"\",\n    startTime: \"\",\n    endTime: \"\",\n    isProgramLive: false,\n    hideHours: false,\n}","import { RadioProgramItem } from \"../../radioHompage/components/radioHomepagePlayerComponenta\";\nimport Slider from \"react-slick\"\nimport { useEffect, useState } from \"react\"\nimport { LinkProperties, BaseLinkTypes, LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { AudioRendererProps } from \"../../floatingPlayer/audioPlayButton\";\n\ninterface FrontRadioArticleLivePlayerProps extends AudioRendererProps {\n    buttonTitle: string\n    buttonHref: string\n    buttonLink: LinkProperties<BaseLinkTypes>\n    buttonLinkTarget: LinkTargetProperties\n    programItem: RadioProgramItem\n}\n\nexport const FrontRadioArticleLivePlayer = (props: FrontRadioArticleLivePlayerProps) => {\n    const settings = {\n        dots: false,\n        infinite: true,\n        slidesToShow: 1,\n        slidesToScroll: 1,\n        autoplay: true,\n        speed: props.programItem.title.length * 200,\n        autoplaySpeed: 0,\n        rtl: true,\n        arrows: false,\n        cssEase: \"linear\"\n    }\n    const { programItem, isAudioPlaying, onTogglePlayPause, onRefChanged, buttonTitle, buttonHref, buttonLink, buttonLinkTarget,\n        programItem: { title, isProgramLive, hideHours } } = props\n    const [programTitleWidth, setProgramTitleWidth] = useState(\"0\")\n    const [isTitleOverFlowing, setIsTitleOverFlowing] = useState(null)\n    const shouldeShowEqualizer = isProgramLive || !hideHours\n\n    const getShowTime = (item: RadioProgramItem) => {\n        if (item && !item.hideHours) {\n            return `${item.startTime} - ${item.endTime}`\n        }\n        return \"\"\n    }\n\n    const getTitleOverflowStatus = () => {\n        const titleElement = document.querySelector(\".radio-player-show-title\") as HTMLElement\n        const wrapperElement = document.querySelector(\".radio-player-show-info-wrapper\") as HTMLElement\n        let titleOverflow = false\n        if (titleElement) {\n            titleOverflow = titleElement.offsetWidth > wrapperElement.offsetWidth\n        }\n        return titleOverflow\n    }\n\n    const updateProgramTitleWidth = () => {\n        const titleElement = document.querySelector(\".radio-player-show-title\") as HTMLElement\n        setProgramTitleWidth(titleElement.offsetWidth + \"px\")\n    }\n\n    useEffect(() => {\n        setIsTitleOverFlowing(getTitleOverflowStatus())\n        updateProgramTitleWidth()\n    }, [programItem])\n\n    return (\n        <div className=\"radio-article-live-player\" ref={onRefChanged}>\n            <HyperLinkBuilder className=\"ynet-radio-gif-wrapper\" href={buttonHref} link={buttonLink} linkTarget={buttonLinkTarget}>\n                <img className=\"radio-player-y-equalizer-gif\" src={\"https://www.ynet.co.il/images/radio/new-radio-logo.gif\"} />\n            </HyperLinkBuilder>\n\n            <div className=\"radio-player-content\">\n                <div className=\"live-and-time-indication\">\n                    {isProgramLive && <div className=\"radio-player-live-indication\">LIVE</div>}\n                    {shouldeShowEqualizer && <img className=\"radio-player-equalizer-gif\" src={\"https://www.ynet.co.il/images/equalizer.gif\"} />}\n                    <div className=\"radio-player-show-time\">{getShowTime(programItem)}</div>\n                </div>\n\n                <div className=\"radio-player-show-info-wrapper\">\n                    {isTitleOverFlowing ?\n                        <>\n                            <div className=\"fadder-right\"></div>\n                            <div className=\"slider-wrapper\" style={{ width: programTitleWidth }}>\n                                <Slider {...settings}>\n                                    <div className=\"radio-player-show-title\">{title || 'אין תוכנית לנגן'}</div>\n                                    <div className=\"radio-player-show-title\">{title || 'אין תוכנית לנגן'}</div>\n                                </Slider>\n                            </div>\n                            <div className=\"fadder-left\"></div>\n                        </> :\n                        <div className=\"radio-player-show-title\">{title || 'אין תוכנית לנגן'}</div>\n                    }\n                </div>\n\n                {buttonTitle &&\n                    <HyperLinkBuilder className=\"radio-player-goto-btn-link\" href={buttonHref} link={buttonLink} linkTarget={buttonLinkTarget}>\n                        <div className=\"radio-player-goto-btn\">{buttonTitle}</div>\n                        <div className=\"radio-btn-arrow\"></div>\n                    </HyperLinkBuilder>}\n            </div>\n\n            <div className=\"radio-player-button\" onClick={onTogglePlayPause}>\n                <div className={`radio-player-button-status ${isAudioPlaying ? \"pause\" : \"\"}`} ></div>\n            </div>\n        </div>\n    )\n}","import { RadioProgramItem } from \"../../radioHompage/components/radioHomepagePlayerComponenta\";\nimport { LinkProperties, BaseLinkTypes, LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { AudioRendererProps } from \"../../floatingPlayer/audioPlayButton\";\n\ninterface MutamRadioArticleLivePlayerProps extends AudioRendererProps {\n    buttonTitle: string\n    buttonHref: string\n    buttonLink: LinkProperties<BaseLinkTypes>\n    buttonLinkTarget: LinkTargetProperties\n    programItem: RadioProgramItem\n}\n\nexport const MutamRadioArticleLivePlayer = (props: MutamRadioArticleLivePlayerProps) => {\n\n    const { buttonTitle, buttonHref, buttonLink, buttonLinkTarget, programItem, isAudioPlaying, onTogglePlayPause, onRefChanged } = props\n\n    const getShowTime = (item: RadioProgramItem) => {\n        if (item && !item.hideHours) {\n            return `${item.startTime} - ${item.endTime}`\n        }\n        return \"\"\n    }\n\n    return (\n        <div className=\"mutam-article-live-homepage-player\" ref={onRefChanged}>\n            <div className=\"radio-player-content\">\n                <div className=\"radio-player-button\" onClick={onTogglePlayPause}>\n                    <div className={`radio-player-button-status ${isAudioPlaying ? \"pause\" : \"\"}`} ></div>\n                </div>\n\n                <div className=\"radio-player-show-info-wrapper\">\n                    <div className=\"radio-player-show-info\">\n                        <div className=\"radio-player-live-indication\">{programItem.isProgramLive ? \"LIVE\" : \"\"}</div>\n                        <img className=\"radio-player-equalizer-gif\" src={\"https://www.ynet.co.il/images/equalizer.gif\"} />\n                        <div className=\"radio-player-show-time\">{getShowTime(programItem)}</div>\n                    </div>\n\n                    <div className=\"radio-player-show-title\">{programItem.title || 'אין תוכנית לנגן'}</div>\n                </div>\n            </div>\n\n            <div className=\"radio-player-goto-btn-wrapper\">\n                {buttonTitle &&\n                    <div className=\"radio-player-goto-btn\">\n                        <HyperLinkBuilder className=\"radio-player-goto-btn-link\" href={buttonHref} link={buttonLink} linkTarget={buttonLinkTarget}>\n                            <div className=\"radio-player-goto-btn-title\">{buttonTitle}</div>\n                            <div className=\"radio-player-goto-btn-arrow\"></div>\n                        </HyperLinkBuilder>\n                    </div>}\n            </div>\n        </div>\n    )\n}","import { RadioProgramItem } from \"./radioHomepagePlayerComponenta\";\nimport Slider from \"react-slick\"\nimport { useEffect, useState, useRef, RefObject } from \"react\"\nimport { LinkProperties, BaseLinkTypes, LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { AudioRendererProps } from \"../../floatingPlayer/audioPlayButton\";\n\ninterface FrontRadioHomepagePlayerProps extends AudioRendererProps {\n    tabColor: string\n    title: string\n    tabButtonTitle: string\n    tabButtonHref: string\n    tabButtonLink: LinkProperties<BaseLinkTypes>\n    tabButtonLinkTarget: LinkTargetProperties\n    programItem: RadioProgramItem\n}\n\n\nexport const FrontRadioHomepagePlayer = (props: FrontRadioHomepagePlayerProps) => {\n    const settings = {\n        dots: false,\n        infinite: true,\n        slidesToShow: 1,\n        slidesToScroll: 1,\n        autoplay: true,\n        speed: props.programItem.title.length * 200,\n        autoplaySpeed: 0,\n        rtl: true,\n        arrows: false,\n        cssEase: \"linear\"\n    }\n    const { tabColor, title, programItem, isAudioPlaying, onTogglePlayPause, tabButtonTitle, tabButtonHref, tabButtonLink, tabButtonLinkTarget, onRefChanged } = props\n    const [programTitleWidth, setProgramTitleWidth] = useState(\"0\")\n    const [isTitleOverFlowing, setIsTitleOverFlowing] = useState(null)\n\n\n    const getShowTime = (item: RadioProgramItem) => {\n        if (item && !item.hideHours) {\n            return `${item.startTime} - ${item.endTime} | `\n        }\n        return \"\"\n    }\n\n    const getTitleOverflowStatus = () => {\n        const titleElement = document.querySelector(\".radio-player-show-info\") as HTMLElement\n        const wrapperElement = document.querySelector(\".radio-player-show-info-wrapper\") as HTMLElement\n        let titleOverflow = false\n        if (titleElement) {\n            titleOverflow = titleElement.offsetWidth > wrapperElement.offsetWidth\n        }\n        return titleOverflow\n    }\n\n    const updateProgramTitleWidth = () => {\n        const titleElement = document.querySelector(\".radio-player-show-info\") as HTMLElement\n        setProgramTitleWidth(titleElement.offsetWidth + \"px\")\n    }\n\n    useEffect(() => {\n        setIsTitleOverFlowing(getTitleOverflowStatus())\n        updateProgramTitleWidth()\n    }, [programItem])\n\n    return (\n        <div className=\"radio-homepage-player\" ref={onRefChanged}>\n            <div className=\"radio-player-tab\" style={{ backgroundColor: tabColor }}>\n                <div className=\"radio-player-tab-title\">{title}</div>\n                {tabButtonTitle &&\n                    <HyperLinkBuilder className=\"radio-player-tab-btn-link\" href={tabButtonHref} link={tabButtonLink} linkTarget={tabButtonLinkTarget}>\n                        <div className=\"radio-player-tab-btn\">{tabButtonTitle}</div>\n                    </HyperLinkBuilder>}\n            </div>\n\n            <div className=\"radio-player-content\">\n                <HyperLinkBuilder className=\"ynet-radio-gif-wrapper\" href={tabButtonHref} link={tabButtonLink} linkTarget={tabButtonLinkTarget}>\n                    <img className=\"radio-player-equalizer-gif\" src={\"https://www.ynet.co.il/images/radio/new-radio-logo.gif\"} />\n                </HyperLinkBuilder>\n\n                <div className=\"radio-player-show-info-wrapper\">\n                    {isTitleOverFlowing ?\n                        <>\n                            <div className=\"fadder-right\"></div>\n                            <div className=\"slider-wrapper\" style={{ width: programTitleWidth }}>\n                                <Slider {...settings}>\n                                    <div className=\"radio-player-show-info\">\n                                        <div className=\"radio-player-show-time\">{getShowTime(programItem)}</div>\n                                        <div className=\"radio-player-show-title\">{programItem.title || 'אין תוכנית לנגן'}</div>\n                                    </div>\n                                    <div className=\"radio-player-show-info\">\n                                        <div className=\"radio-player-show-time\">{getShowTime(programItem)}</div>\n                                        <div className=\"radio-player-show-title\">{programItem.title || 'אין תוכנית לנגן'}</div>\n                                    </div>\n                                </Slider>\n                            </div>\n                            <div className=\"fadder-left\"></div>\n                        </> :\n                        <div className=\"radio-player-show-info\">\n                            <div className=\"radio-player-show-time\">{getShowTime(programItem)}</div>\n                            <div className=\"radio-player-show-title\">{programItem.title || 'אין תוכנית לנגן'}</div>\n                        </div>}\n                </div>\n\n                {programItem.isProgramLive && <div className=\"radio-player-tab-live-indication\">LIVE</div>}\n\n                <div className=\"radio-player-button\" onClick={onTogglePlayPause}>\n                    <div className={`radio-player-button-status ${isAudioPlaying ? \"pause\" : \"\"}`} ></div>\n                </div>\n            </div>\n        </div>\n    )\n}","import { RadioProgramItem } from \"./radioHomepagePlayerComponenta\";\nimport { LinkProperties, BaseLinkTypes, LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { AudioRendererProps } from \"../../floatingPlayer/audioPlayButton\";\n\ninterface MutamRadioHomepagePlayerProps extends AudioRendererProps{\n    tabColor: string\n    title: string\n    tabButtonTitle: string\n    tabButtonHref: string\n    tabButtonLink: LinkProperties<BaseLinkTypes>\n    tabButtonLinkTarget: LinkTargetProperties\n    programItem: RadioProgramItem\n}\n\nexport const MutamRadioHomepagePlayer = (props: MutamRadioHomepagePlayerProps) => {\n\n    const { tabColor, title, tabButtonTitle, tabButtonHref, tabButtonLink, tabButtonLinkTarget, programItem, isAudioPlaying , onTogglePlayPause, onRefChanged } = props\n\n    const getShowTime = (item: RadioProgramItem) => {\n        if (item && !item.hideHours) {\n            return `${item.startTime} - ${item.endTime}`\n        }\n        return \"\"\n    }\n\n    return (\n        <div className=\"mutam-radio-homepage-player\" ref={onRefChanged}>\n            <div className=\"radio-player-tab\" style={{ backgroundColor: tabColor }}>\n                <div className=\"radio-player-tab-title\">{title}</div>\n                <div className=\"radio-player-tab-live-indication\">{programItem.isProgramLive ? \"LIVE\" : \"\"}</div>\n            </div>\n\n            <div className=\"radio-player-content\">\n                <div className=\"radio-player-button\" onClick={onTogglePlayPause}>\n                    <div className={`radio-player-button-status ${isAudioPlaying ? \"pause\" : \"\"}`} ></div>\n                </div>\n\n                <div className=\"radio-player-show-info-wrapper\">\n                    <div className=\"radio-player-show-info\">\n                        <div className=\"radio-player-show-time\">{getShowTime(programItem)}</div>\n                        <div className=\"radio-player-show-title\">{programItem.title || 'אין תוכנית לנגן'}</div>\n                    </div>\n                </div>\n\n                <img className=\"radio-player-equalizer-gif\" src={\"https://www.ynet.co.il/images/radio/equalizer.gif\"} />\n            </div>\n\n            {tabButtonTitle &&\n                <div className=\"radio-player-goto-btn\">\n                    <HyperLinkBuilder className=\"radio-player-goto-btn-link\" href={tabButtonHref} link={tabButtonLink} linkTarget={tabButtonLinkTarget}>\n                        <div className=\"radio-player-goto-btn-title\">{tabButtonTitle}</div>\n                        <div className=\"radio-player-goto-btn-arrow\"></div>\n                    </HyperLinkBuilder>\n                </div>}\n        </div>\n    )\n}","require(\"./ynet_site_radioHomepagePlayerComponenta.less\")\nrequire(\"../../radioArticleLivePlayer/components/ynet_site_radioArticleLivePlayerComponenta.less\")\nimport { RadioProgramJsonItem } from \"../../../../jsonSerializer/radioScheduleJsonSerializer\"\nimport { FrontRadioHomepagePlayer } from \"./frontRadioHompagePlayer\";\nimport { MutamRadioHomepagePlayer } from \"./mutamRadioHomepagePlayer\";\nimport { LinkProperties, BaseLinkTypes, LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { FrontRadioArticleLivePlayer } from \"../../radioArticleLivePlayer/components/frontRadioArticleLivePlayer\";\nimport { MutamRadioArticleLivePlayer } from \"../../radioArticleLivePlayer/components/mutamRadioArticleLivePlayer\";\nimport { DvrRadioPlayer } from \"../../dvrRadioPlayer/dvrRadioPlayer\";\n\nexport interface RadioProgramItem extends Partial<RadioProgramJsonItem> {\n    startTime: string\n    endTime: string\n}\n\nexport interface RadioHomepagePlayerComponentaProps {\n    tabColor: string;\n    title: string;\n    tabButtonTitle: string\n    tabButtonHref: string\n    tabButtonLink: LinkProperties<BaseLinkTypes>\n    tabButtonLinkTarget: LinkTargetProperties\n    liveBroadCastSource: string\n    liveBroadCastDVRSource: string\n    radioScheduleList: RadioProgramItem[]\n    startingIndex: number\n    isMobileWeb: boolean\n    isArticleLivePlayer: boolean\n}\n\nexport class RadioHomepagePlayerComponenta extends React.Component<RadioHomepagePlayerComponentaProps> {\n    public static siteScriptName = \"RadioHomepagePlayerComponenta\"\n\n    render() {\n        const { tabColor, title, tabButtonTitle, tabButtonHref, tabButtonLink, tabButtonLinkTarget, radioScheduleList, isMobileWeb, startingIndex,\n            liveBroadCastDVRSource, isArticleLivePlayer, liveBroadCastSource } = this.props\n        const Player = isMobileWeb ? MutamRadioHomepagePlayer : FrontRadioHomepagePlayer;\n        const ArticlePlayer = isMobileWeb ? MutamRadioArticleLivePlayer : FrontRadioArticleLivePlayer;\n        return (\n            <DvrRadioPlayer\n                title={title}\n                isMobileWeb={isMobileWeb}\n                startingIndex={startingIndex}\n                radioScheduleList={radioScheduleList}\n                liveBroadCastDVRSource={liveBroadCastDVRSource}\n                liveBroadCastSource={liveBroadCastSource}\n                shouldAppearOnComponentOutOfView={true}\n                playerComponentaRenderer={({ isAudioPlaying, onTogglePlayPause, onRefChanged, programItem }) => isArticleLivePlayer ?\n                    <ArticlePlayer\n                        buttonTitle={tabButtonTitle}\n                        buttonHref={tabButtonHref}\n                        buttonLink={tabButtonLink}\n                        buttonLinkTarget={tabButtonLinkTarget}\n                        programItem={programItem}\n                        isAudioPlaying={isAudioPlaying}\n                        onTogglePlayPause={onTogglePlayPause}\n                        onRefChanged={onRefChanged}\n                    />\n                    :\n                    <Player\n                        tabColor={tabColor}\n                        title={title}\n                        tabButtonTitle={tabButtonTitle}\n                        tabButtonHref={tabButtonHref}\n                        tabButtonLink={tabButtonLink}\n                        tabButtonLinkTarget={tabButtonLinkTarget}\n                        programItem={programItem}\n                        isAudioPlaying={isAudioPlaying}\n                        onTogglePlayPause={onTogglePlayPause}\n                        onRefChanged={onRefChanged}\n                    />\n                }\n            />\n        )\n    }\n}\n","import { RadioProgramItem } from \"../../radioHompage/components/radioHomepagePlayerComponenta\";\nimport { RadioScheduleListRow } from \"./radioScheduleListRow/radioScheduleListRow\"\nimport { RadioScheduleMediaBox } from \"./radioScheduleMediaBox/radioScheduleMediaBox\";\nimport { AudioPlayButton } from \"../../floatingPlayer/audioPlayButton\"\n\ninterface RadioScheduleComponentProps {\n    liveBroadCastSource: string\n    liveBroadCastDVRSource: string\n    radioScheduleList: RadioProgramItem[]\n    startingIndex: number\n    isMobileWeb: boolean\n    offsetStart: number\n    offsetEnd: number\n}\n\ninterface RadioScheduleComponentState {\n    currentShow: number\n}\n\ndeclare var window: Window & {\n    wcmAudioPlayer: AudioPlayButton\n}\n\nexport class RadioScheduleComponent extends React.Component<RadioScheduleComponentProps, RadioScheduleComponentState> {\n    public static siteScriptName = \"RadioScheduleComponent\"\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            currentShow: props.startingIndex,\n        }\n    }\n\n    private handleCurrentShowIndexChange = (currentShowIndex: number) => {\n        this.setState({ currentShow: currentShowIndex })\n    }\n\n    render() {\n        const { radioScheduleList, isMobileWeb, liveBroadCastSource, liveBroadCastDVRSource, offsetEnd, offsetStart, startingIndex } = this.props\n        const { currentShow } = this.state\n\n        return (\n            <div className=\"radio-schedule-component\">\n                <RadioScheduleMediaBox\n                    radioCurrentProgram={radioScheduleList[currentShow]}\n                    liveBroadCastSource={liveBroadCastSource}\n                    liveBroadCastDVRSource={liveBroadCastDVRSource}\n                    isMobileWeb={isMobileWeb}\n                    startingIndex={startingIndex}\n                    radioScheduleList={radioScheduleList}\n                    onCurrentShowIndexChange={this.handleCurrentShowIndexChange}\n                />\n                <RadioScheduleListRow\n                    radioScheduleList={radioScheduleList}\n                    currentShow={currentShow}\n                    isMobileWeb={isMobileWeb}\n                    offsetEnd={offsetEnd}\n                    offsetStart={offsetStart}\n                />\n            </div>\n        )\n    }\n}","import { RadioProgramItem } from \"../../../radioHompage/components/radioHomepagePlayerComponenta\";\nimport { getDiffFromToday } from \"../../../../../siteWidgets/formatDateDisplay\";\nimport { HyperLink, HyperLinkBuilder } from \"../../../../../commonComponents/inline/hyperLink\";\n\ninterface RadioScheduleListItemProps {\n    item: RadioProgramItem\n    isCurrentShow: boolean\n    index: number\n    isProgramFinished: boolean\n}\n\nconst RadioScheduleListItem = (props: RadioScheduleListItemProps) => {\n    const { item, isCurrentShow, isProgramFinished, index } = props\n    const { startTime, endTime, title, startProgram, hideHours, linkData, linkTarget } = item\n\n    const getDiffDateInString = () => {\n        const diffInDays = getDiffFromToday(startProgram as Date)\n        const day = String(new Date(startProgram).getDate()).padStart(2, '0');\n        const month = String(new Date(startProgram).getMonth() + 1).padStart(2, '0');\n        const year = new Date(startProgram).getFullYear().toString().substr(-2);\n        const date = `${day}.${month}.${year}`\n\n        if (diffInDays === 1) {\n            return \"אתמול\"; // '2 days ago' etc.\n        }\n        if (diffInDays === -1) {\n            return \"מחר\"\n        }\n        if (diffInDays > 1 || diffInDays < -1) {\n            return date\n        }\n        return \"\"\n    }\n\n    const diff = getDiffDateInString()\n    const broadcastHours = hideHours ? `${diff ? diff : \"\"}` : `${diff ? diff + \" |\" : \"\"} ${startTime} - ${endTime}`\n\n    return (\n        <div className={`schedule-list-item ${isProgramFinished ? \"passed\" : \"\"}`} id={`schedule-list-item_${index}`}>\n            {isCurrentShow ?\n                <div className=\"broadcast-live\">\n                    <div className=\"red-dot\" />\n                    <div className=\"live-title\">\n                        עכשיו בשידור\n                </div>\n                </div>\n                :\n                <div className=\"broadcast-hours\">\n                    {broadcastHours}\n                </div>}\n            <HyperLinkBuilder className=\"item-title\" href={linkData && linkData.link && linkData.link.href} linkTarget={linkTarget} >\n                {title}\n            </HyperLinkBuilder>\n        </div>\n    )\n}\n\nexport default RadioScheduleListItem","import RadioScheduleListItem from \"./radioScheduleListItem\";\nimport { RadioProgramItem } from \"../../../radioHompage/components/radioHomepagePlayerComponenta\";\ninterface RadioScheduleListRowProps {\n    radioScheduleList: RadioProgramItem[]\n    currentShow: number\n    isMobileWeb: boolean\n    offsetStart: number\n    offsetEnd: number\n}\n\ninterface RadioScheduleListRowState {\n    programToShow: number\n}\n\n\n\nexport class RadioScheduleListRow extends React.Component<RadioScheduleListRowProps, RadioScheduleListRowState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            programToShow: 0\n        }\n    }\n\n    private CARD_SIZE: number = 265\n\n    componentDidMount() {\n        const { currentShow, isMobileWeb, radioScheduleList } = this.props\n        if (currentShow !== -1) {\n            this.setState({ programToShow: currentShow })\n            const selectedEl = document.querySelector(`#schedule-list-item_${currentShow}`)\n            if (selectedEl && radioScheduleList.length) {\n                let offsetCalculation = (selectedEl as any).offsetLeft - this.CARD_SIZE * 1.5\n                if (isMobileWeb) {\n                    this.CARD_SIZE = (document.querySelector(`#schedule-list-item_${currentShow}`) as HTMLElement).offsetWidth\n                    offsetCalculation = (selectedEl as any).offsetLeft - this.CARD_SIZE / 2.6\n                }\n                document.querySelector('.schedule-list').scrollLeft = offsetCalculation;\n            }\n        }\n    }\n\n    moveToProgramShow = (action: string) => {\n        const { isMobileWeb } = this.props\n        if (isMobileWeb) {\n            return\n        }\n        const options = {\n            top: 0,\n            left: 0,\n            behavior: 'smooth'\n        };\n        options.left = this.CARD_SIZE\n        if (action === \"forward\") {\n            options.left = - this.CARD_SIZE\n        }\n        document.querySelector('.schedule-list').scrollBy(options as any)\n    }\n\n    render() {\n        const { radioScheduleList, currentShow, offsetEnd, offsetStart } = this.props\n\n        const items = []\n        for (let index = 0; index < radioScheduleList.length; index++) {\n            const item = radioScheduleList[index];\n            if (index >= currentShow - offsetStart && index <= currentShow + offsetEnd - 1) {\n                items.push(\n                    <RadioScheduleListItem\n                        item={item}\n                        index={index}\n                        isCurrentShow={index === currentShow}\n                        key={index}\n                        isProgramFinished={new Date().getTime() > new Date(item.endProgram).getTime()}\n                    />\n                )\n            }\n            if (index > currentShow + offsetEnd - 1) {\n                break;\n            }\n        }\n\n        return (\n            <div className=\"schedule-list-row\">\n                <div className=\"schedule-list-header\">\n                    <div className=\"title\">\n                        לוח שידורים\n                    </div>\n                </div>\n\n                <div className=\"schedule-row-wrapper\">\n                    <div className=\"white-fade-right\">\n                        <div className=\"schedule-list-arrow right\" onClick={() => this.moveToProgramShow(\"backward\")} />\n                    </div>\n\n                    <div className=\"schedule-list\">\n                        {items}\n                    </div>\n\n                    <div className=\"white-fade-left\">\n                        <div className=\"schedule-list-arrow left\" onClick={() => this.moveToProgramShow(\"forward\")} />\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}","import { RadioProgramItem } from \"../../../radioHompage/components/radioHomepagePlayerComponenta\";\nimport { ButtonRnederer } from \"../../../floatingPlayer/podcastPlayerButton\";\nimport { isWcmEditor } from \"config/serverConfig\"\nimport { DvrRadioPlayer } from \"../../../dvrRadioPlayer/dvrRadioPlayer\";\n\ninterface RadioScheduleMediaBoxProps {\n    radioCurrentProgram: RadioProgramItem\n    liveBroadCastSource: string\n    liveBroadCastDVRSource: string\n    isMobileWeb: boolean\n    radioScheduleList: RadioProgramItem[]\n    startingIndex: number\n    onCurrentShowIndexChange: (currentShowIndex: number) => void\n}\n\ninterface RadioScheduleMediaBoxState {}\n\nexport class RadioScheduleMediaBox extends React.Component<RadioScheduleMediaBoxProps, RadioScheduleMediaBoxState> {\n    render() {\n        const { radioCurrentProgram, liveBroadCastDVRSource, isMobileWeb, radioScheduleList, startingIndex, onCurrentShowIndexChange, liveBroadCastSource } = this.props\n      \n        if (!radioCurrentProgram) {\n            return <div className=\"radio-schedule-media-box\" />\n        }\n\n        const { image, title, endTime, startTime, isProgramLive } = radioCurrentProgram\n\n        return (\n            <div className=\"radio-schedule-media-box\">\n                <img src={image} className=\"media-box-background\" />\n\n                {isProgramLive && <div className=\"live-box\">\n                    <img className=\"radio-player-equalizer-gif\" src={\"https://www.ynet.co.il/images/equalizer.gif\"} />\n                    LIVE\n                </div>}\n\n                <div className={`radio-player-btn-container ${isWcmEditor() ? \"wcm-editor\" : \"\"}`}>\n                    <DvrRadioPlayer \n                        isMobileWeb={isMobileWeb}\n                        liveBroadCastDVRSource={liveBroadCastDVRSource}\n                        liveBroadCastSource={liveBroadCastSource}\n                        radioScheduleList={radioScheduleList}\n                        startingIndex={startingIndex}\n                        title=\"ynet Radio\"\n                        onCurrentShowIndexChange={onCurrentShowIndexChange}\n                        playerComponentaRenderer={(props)=>(<ButtonRnederer {...props} className={\"audio-play-button\"} />)}\n\n                    />\n                </div>\n\n                <div className=\"black-fade\">\n                    <div className=\"info-box\">\n                        {!radioCurrentProgram.hideHours &&\n                            <div className=\"hours-row\">\n                                <div className=\"headphones\" />\n                                {startTime} - {endTime}\n                            </div>}\n                        <div className=\"box-title\">\n                            {title}\n                        </div>\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}","import { AudioPlayButton, AudioRendererProps, MediaMetadata } from \"./../../radioWidgets/floatingPlayer/audioPlayButton\";\nimport { ArticleData } from \"../../../../articlePage/stateInterfaces\";\nimport { ButtonRnederer } from \"../../radioWidgets/floatingPlayer/podcastPlayerButton\";\nimport { AodFloatingPlayer } from \"../../radioWidgets/floatingPlayer/aodFloatingPlayer\";\nimport \"./radionas_site_radionasAudioPlayer.less\"\n\ninterface RadionasAudioPlayerProps {\n    audioUrl: string\n    title: string\n    durationSeconds: number\n    className: string\n    isMobileWeb?: boolean\n    browserDisplayMediaMetaData?: MediaMetadata\n    articleLink?: string\n    articleData?: ArticleData\n}\n\nexport function RadionasAudioPlayer(props: RadionasAudioPlayerProps) {\n    const { className, title, articleLink, isMobileWeb } = props;\n\n    return (\n        <AudioPlayButton\n            {...props}\n            isLive={'false'}\n            renderer={(props: AudioRendererProps) => (<ButtonRnederer {...props} className={className} />)}\n            floatingPlayerRenderer={(props) => (\n                <AodFloatingPlayer\n                    {...props}\n                    title={title}\n                    site=\"radionas\"\n                    isMobileWeb={isMobileWeb}\n                    articleLink={articleLink}\n                    rulerColor={\"#fff\"}\n                    customCopyToClipBoardMessage=\"تم نسخ الرابط إلى الحافظة\"\n                />\n            )}\n        />\n    )\n}\n\nRadionasAudioPlayer.siteScriptName = \"RadionasAudioPlayer\"","\nimport {LiveVideoPlayer} from \"../../../ynet1280/liveVideoPlayerMutam/components/liveVideoPlayer\"\n\nexport class RadionasVideoLiveMutamComponenta extends React.Component<{ videoSource: string }>{\n    static siteScriptName = \"RadionasVideoLiveMutamComponenta\"\n    public render() {\n        const { videoSource } = this.props\n        if (!videoSource) return null;\n        return (\n            <div className=\"liveVideoPlayerMutamWrapper\">\n                <LiveVideoPlayer\n                    videoSource={videoSource}\n                    isCustomControllers={true}\n                    lang=\"ar\" />\n            </div>)\n    }\n}","import { SiteItemData } from \"../../../../interfaces\";\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\";\nimport { SlotIconDisplay } from \"../../../../commonComponents/inline/slotIconDisplay/slotIconDisplay\";\nimport { useState } from \"react\"\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\nimport { LinkedItemFieldDisplay } from \"../../../../commonDataObjects/linkedItemsFieldsDisplay\"\n\ninterface MagazineGalleryImagesProps {\n    items: SiteItemData[]\n    isMobile?: boolean\n    componentColor: string\n    fieldsDisplaySettings: LinkedItemFieldDisplay\n}\n\nexport const MagazineGalleryImages = (props: MagazineGalleryImagesProps) => {\n\n    const [presentedArticleIndex, setPresentedArticleIndex] = useState(0)\n    const [shouldAnimate, setShouldAnimate] = useState(false)\n    const [touchStart, setTouchStart] = useState(null)\n    const [touchEnd, setTouchEnd] = useState(null)\n    const { items, isMobile, componentColor, fieldsDisplaySettings: { isTitleVisible, isAuthorVisible, isCategoryVisible, isDateVisible } } = props\n    const arrowZindex = items.length + 2;\n    const showAnimation = isMobile && shouldAnimate;\n    const animationDuration = 400; //make sure to update the animation duration on the css file as well so they match\n    const minSwipeDistance = 50 // the required distance between touchStart and touchEnd to be detected as a swipe\n\n    const onTouchStart = (e) => {\n        setTouchEnd(null) // otherwise the swipe is fired even with usual touch events\n        setTouchStart(e.targetTouches[0].clientX)\n    }\n\n    const onTouchMove = (e) => setTouchEnd(e.targetTouches[0].clientX)\n\n    const onTouchEnd = () => {\n        if (!touchStart || !touchEnd) return\n        const distance = touchStart - touchEnd\n        const isLeftSwipe = distance > minSwipeDistance\n        const isRightSwipe = distance < -minSwipeDistance\n        if (isLeftSwipe) {\n            showPrevImage()\n        }else if (isRightSwipe) {\n            showNextImage()\n        }\n    }\n\n    const showNextImage = () => {\n        if (presentedArticleIndex === items.length - 1) {\n            setPresentedArticleIndex(0)\n            setShouldAnimate(true)\n        } else if (presentedArticleIndex < items.length - 1) {\n            setPresentedArticleIndex(presentedArticleIndex + 1)\n            setShouldAnimate(true)\n        }\n        setTimeout(() => {\n            setShouldAnimate(false)\n        }, animationDuration);\n    }\n\n    const showPrevImage = () => {\n        if (presentedArticleIndex === 0) {\n            setPresentedArticleIndex(items.length - 1)\n            setShouldAnimate(true)\n        } else if (presentedArticleIndex <= items.length - 1) {\n            setPresentedArticleIndex(presentedArticleIndex - 1)\n            setShouldAnimate(true)\n        }\n        setTimeout(() => {\n            setShouldAnimate(false)\n        }, animationDuration);\n    }\n\n    return (\n        <div className=\"magazine-gallery-images\" style={{ \"--component-color\": componentColor }}>\n            <div className=\"magazine-gallery-images-container\">\n                <div className=\"right-arrow arrow\" style={{ zIndex: arrowZindex }} onClick={showPrevImage}></div>\n\n                <div className=\"magazine-gallery-images-list\">\n\n                    {items.map((item, index) =>\n                        <div\n                            key={item.itemId}\n                            onTouchEnd={onTouchEnd}\n                            onTouchMove={onTouchMove}\n                            onTouchStart={onTouchStart}\n                            className={`magazine-gallery-article ${showAnimation ? \"animate-article\" : \"\"}`}\n                            style={{ zIndex: presentedArticleIndex === index ? items.length + 1 : items.length - index }}\n                        >\n                            <img className=\"magazine-gallery-image\" src={item.media.url} title={item.media.title} alt={item.media.title} />\n\n                            <div className=\"dark-area\">\n                                {/* <div className={`gradient ${showAnimation ? \"animate-gradient\" : \"\"}`} /> */}\n                                <HyperLinkBuilder href={item.titleLink} linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink} children={item.title} >\n                                    <div className=\"article-data\">\n                                        {isTitleVisible && <div className=\"article-title\">{item.title}</div>}\n\n                                        <div className=\"article-details\">\n                                            {isCategoryVisible && <div className=\"category\">{item.categoryName}</div>}\n                                            {isCategoryVisible && item.categoryName && <div className=\"separator\" />}\n                                            {isAuthorVisible && <div className=\"author\">{item.author}</div>}\n                                            {isAuthorVisible && item.author && <div className=\"separator\" />}\n                                            {isDateVisible && <DateDisplay date={item.dateUpdatedOnSite} />}\n                                        </div>\n                                    </div>\n                                </HyperLinkBuilder>\n\n                                <SlotIconDisplay itemId={item.itemId} icon={\"video\"} iconClassName={\"big\"} isIconVisible={item.hasVideo} />\n                            </div>\n                        </div>)}\n                </div>\n\n                <div className=\"left-arrow arrow\" style={{ zIndex: arrowZindex }} onClick={showNextImage}></div>\n            </div>\n\n            <div className=\"magazine-gallery-images-lines\">\n                <div className={`line-1 line ${showAnimation ? \"animate1\" : \"\"}`}></div>\n                <div className={`line-2 line ${showAnimation ? \"animate2\" : \"\"}`}></div>\n                <div className={`line-3 line ${showAnimation ? \"animate3\" : \"\"}`}></div>\n                <div className={`hidden-line line ${showAnimation ? \"animate-hidden\" : \"\"}`}></div>\n            </div>\n\n            <div className=\"magazine-gallery-dots\">\n                {items.map((item, index) => <div className={`dot ${index === presentedArticleIndex ? \"selected\" : \"\"}`} key={index} />)}\n            </div>\n        </div >\n    )\n}\n\nMagazineGalleryImages.siteScriptName = \"MagazineGalleryImages\";","import { VideoSettingsData, LinkedItemType, ComponentaIconType, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { SiteItemData, SiteMediaData, SiteImageData, PageComponentaContext } from \"widgets/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { RenderReactAtSite } from \"widgets/commonComponents/inline/renderReactAtSite\"\nimport { MutamMarketingSign } from \"../../../../commonComponents/inline/marketingSign/mutamMarketingSign\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport { ArticleData } from \"articlePage/stateInterfaces\"\nimport { SiteMediaMobileWrapper } from \"../../../../siteWidgets/siteMediaMutamWrapper\";\n\ninterface MultiImagesFrontProps {\n    imageWidth: number\n    imageHeight: number\n    item?: SiteItemData\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    titleColor: string\n    getArticle(articleId: string): ArticleData\n    displayType: string\n    index: number\n    isImageOnly: boolean\n}\n\nexport class MultiImagesItemFrontMobile extends React.Component<MultiImagesFrontProps & Partial<PageComponentaContext>>{\n    private getIcon = (icon: ComponentaIconType, hasVideo: boolean) => {\n        if (icon === \"automatic\" && hasVideo) return \"video\"\n        return icon;\n    }\n    public render() {\n        const { imageWidth, item, imageHeight, videoSettings, fieldsDisplaySettings, titleColor, getArticle, displayType, index, isImageOnly } = this.props\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const titleStyle = { color: titleColor }\n        const icon = item.icon ? item.icon : \"automatic\"\n        const showUpInfoArea = fieldsDisplaySettings.isChannelNameVisible\n        const authorImage = getArticle(item.itemId).firstAuthorImage\n        const isSpecialBigItem = displayType === \"MultiArticleImages\" && index === 0;\n        const isSmallItem = !isSpecialBigItem;\n\n        return (\n            <div className=\"slotView\">\n                <div className=\"mediaArea\" data-tb-thumbnail='' style={{ position: !isSmallItem ? \"relative\" : \"unset\" }}>\n                    <div className=\"MediaCarousel\">\n                        <RenderReactAtSite>\n                            <SiteMediaMobileWrapper\n                                data={item.media !== undefined ? item.media : emptyMedia}\n                                width={imageWidth}\n                                height={imageHeight}\n                                videoSettings={videoSettings}\n                                itemLinkUrl={item.titleLink}\n                                isImageLinkable={true}\n                                linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink} />\n                        </RenderReactAtSite>\n\n                        <SlotIconDisplay itemId={item.itemId} icon={this.getIcon(icon, item.hasVideo)} iconClassName=\"medium\" isIconVisible={item.hasVideo || icon === \"video\" || icon === \"automatic\"} />\n                        {!item.isMarketingContent && item.redLabelText && item.redLabelText.length > 0 && <span className={`basicLabel labelText ${item.textPlace}`}>{item.redLabelText}</span>}\n                    </div>\n\n                    {!isSmallItem && item.isMarketingContent &&\n                        <RenderReactAtSite>\n                            <MutamMarketingSign isSmallItem={false} marketingContentText={item.marketingContentText} />\n                        </RenderReactAtSite>}\n\n                </div>\n\n                {!isImageOnly && <div className=\"textArea\">\n                    {showUpInfoArea &&\n                        <div className=\"upInfoArea\">\n                            {fieldsDisplaySettings.isChannelNameVisible && item.subchannelName !== null && item.subchannelName}\n                        </div>}\n\n                    {fieldsDisplaySettings.isTitleVisible &&\n                        <div className={`slotTitle medium ${item.isCommertial ? \"commertialTitle\" : \"\"}`}>\n                            <HyperLinkBuilder\n                                href={item.titleLink}\n                                linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                                children={item.title}\n                                isDataTbLink >\n                                <div dangerouslySetInnerHTML={{ __html: item.title }} style={titleStyle} data-tb-title />\n                            </HyperLinkBuilder>\n                        </div>}\n                    {fieldsDisplaySettings.isSubTitleVisible &&\n                        <div className=\"slotSubtitle\">\n                            <HyperLinkBuilder\n                                href={item.titleLink}\n                                linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                                children={item.subTitle}\n                                isDataTbLink >\n                                <div dangerouslySetInnerHTML={{ __html: item.subTitle}} style={titleStyle} data-tb-title />\n                            </HyperLinkBuilder>\n                        </div>}\n\n                    <div className=\"moreDetails\">\n                        {displayType === \"MultiArticleImages\" && authorImage && <div className=\"authorImage\"><SiteSimpleImage src={authorImage} /></div>}\n                        {fieldsDisplaySettings.isAuthorVisible && <span className=\"authorInfo\" data-tb-author>{item.author}</span>}\n                        {fieldsDisplaySettings.isAuthorVisible && fieldsDisplaySettings.isDateVisible && item.author.length > 0 && item.itemType === LinkedItemType.ARTICLE && <span className=\"separator\">|</span>}\n                        {fieldsDisplaySettings.isDateVisible && item.itemType === LinkedItemType.ARTICLE && <DateDisplay date={item.dateUpdatedOnSite} isTbDate />}\n                    </div>\n                </div>}\n                {isSmallItem && item.isMarketingContent &&\n                    <RenderReactAtSite>\n                        <MutamMarketingSign isSmallItem={true} marketingContentText={item.marketingContentText} />\n                    </RenderReactAtSite>}\n            </div>\n        )\n    }\n}","\n\nimport { VideoSettingsData, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { MultiImagesScroller, getItemMargin } from \"widgets/commonComponents/base/multiImagesFrontScroller\";\nimport { SiteItemData } from \"widgets/interfaces\"\nimport { googleScript } from \"../../../../widgetsUtils\"\nimport { MultiImagesItemFront } from \"./multiImagesItemFront\";\n\ninterface MultiImagesFrontProps {\n    itemList: SiteItemData[]\n    width: number\n    fieldsDisplaySettings: IFieldDisplayData\n    videoSettings: VideoSettingsData\n    imageWidth: number\n    imageHeight: number\n    onRowDisplay: boolean\n    titleColor: string\n    isYplusComp?: boolean\n    isImageOnly?: boolean\n    ads_infrastructure_type?: string\n}\n\nexport class MultiImagesRadionasFront extends React.Component<MultiImagesFrontProps>{\n    public static siteScriptName = \"MultiImagesRadionasFront\";\n    public render() {\n        const { imageWidth, itemList, imageHeight, videoSettings, fieldsDisplaySettings, width, onRowDisplay, titleColor, isYplusComp, isImageOnly, ads_infrastructure_type } = this.props\n        const itemStyle = { marginLeft: getItemMargin(width, imageWidth)};\n        if (onRowDisplay) return (\n            <MultiImagesScroller imageWidth={imageWidth} width={width} itemLength={itemList.length}>\n                {itemList.map((slot, index) => {\n                    if (slot.isDFP) return <div id={slot.dfpId} key={index} className={`slotView dfpId ${slot.isCommertial ?  \"commertialStyle\" : \"\"}`} style={itemStyle}>\n                         {ads_infrastructure_type && ads_infrastructure_type === \"new\" && <script type=\"text/javascript\" dangerouslySetInnerHTML={{ __html: googleScript(slot.dfpId) }}></script>}\n                    </div>\n                    else return (\n                        <MultiImagesItemFront\n                            imageWidth={imageWidth}\n                            key={index}\n                            imageHeight={imageHeight}\n                            videoSettings={videoSettings}\n                            fieldsDisplaySettings={fieldsDisplaySettings}\n                            item={slot}\n                            titleColor={titleColor}\n                            margin={getItemMargin(width, imageWidth)}\n                            onRowDisplay={onRowDisplay}\n                            isYplusComp={isYplusComp}\n                            isSmallItem={true}\n                            isImageOnly = {isImageOnly}\n                        />\n                    )\n                }\n                )}\n            </MultiImagesScroller >)\n        else return (\n            <div className=\"slotsContent\">{itemList.map((slot, index) => {\n                if (slot.isDFP) return <div id={slot.dfpId} key={index} className={`slotView dfpId ${slot.isCommertial ? \"commertialStyle\" : \"\"}`} style={{ margin: \"0 10px 24px\" }} >\n                    {ads_infrastructure_type && ads_infrastructure_type === \"new\" && <script type=\"text/javascript\" dangerouslySetInnerHTML={{ __html: googleScript(slot.dfpId) }}></script>}\n                </div>\n                else return (\n                    <MultiImagesItemFront\n                        imageWidth={imageWidth}\n                        key={index}\n                        imageHeight={imageHeight}\n                        videoSettings={videoSettings}\n                        fieldsDisplaySettings={fieldsDisplaySettings}\n                        item={slot}\n                        margin={getItemMargin(width, imageWidth)}\n                        onRowDisplay={onRowDisplay}\n                        titleColor={titleColor}\n                        isYplusComp={isYplusComp}\n                        isSmallItem={true}\n                        isImageOnly = {isImageOnly}\n                    />\n                )\n            }\n            )}  </div>\n        )\n    }\n}","import { VideoSettingsData, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { SiteItemData } from \"widgets/interfaces\"\nimport { ArticleData } from \"articlePage/stateInterfaces\"\nimport { MultiImagesItemFrontMobile } from \"./frontItemMobile\";\n\ninterface MultiImagesFrontProps {\n    itemList: SiteItemData[]\n    width: number\n    fieldsDisplaySettings: IFieldDisplayData\n    videoSettings: VideoSettingsData\n    imageWidth: number\n    imageHeight: number\n    titleColor: string\n    displayType: string\n    isImageOnly?: boolean\n    getArticle(articleId: string): ArticleData\n}\n\nexport class MultiImagesRadionasFrontMobile extends React.Component<MultiImagesFrontProps>{\n    public static siteScriptName = \"MultiImagesRadionasFrontMobile\";\n    \n    public render() {\n        const { imageWidth, itemList, imageHeight, videoSettings, fieldsDisplaySettings, titleColor, getArticle, displayType, isImageOnly } = this.props\n        const className = `slotList ${isImageOnly ? \"imageOnly\" : \"\"}`;\n\n        return (\n            <div className=\"slotsContent\">\n                <div className={className}>\n                    {itemList.map((slot, index) => {\n                        return (\n                            <MultiImagesItemFrontMobile\n                                imageWidth={imageWidth}\n                                index={index}\n                                imageHeight={imageHeight}\n                                videoSettings={videoSettings}\n                                fieldsDisplaySettings={fieldsDisplaySettings}\n                                item={slot}\n                                titleColor={titleColor}\n                                isMutamView={true}\n                                getArticle={getArticle}\n                                displayType={displayType}\n                                isImageOnly={isImageOnly}\n                            />\n                        )\n                    })}\n                </div>\n            </div>\n        )\n    }\n}","import { VideoSettingsData, LinkedItemType, ComponentaIconType, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { SiteItemData, SiteMediaData, SiteImageData } from \"widgets/interfaces\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { MarketingSign } from \"../../../../commonComponents/inline/marketingSign/marketingSign\"\n\n\ninterface MultiImagesFrontProps {\n    imageWidth: number\n    imageHeight: number\n    item?: SiteItemData\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    margin?: number\n    onRowDisplay: boolean\n    titleColor: string\n    isSmallItem?: boolean\n    isImageOnly: boolean\n}\n\n\n\nexport class MultiImagesItemFront extends React.Component<MultiImagesFrontProps>{\n\n    private getIcon = (icon: ComponentaIconType, hasVideo: boolean) => {\n        if (icon === \"automatic\" && hasVideo) return \"video\"\n        return icon;\n    }\n\n    private getSlotViewStyle = () => {\n        const { onRowDisplay, margin, isImageOnly } = this.props;\n        let marginStyle = { margin: \"0 10px 24px\" };\n        if (onRowDisplay) {\n            marginStyle = { margin: \"unset\", marginRight: margin }\n        }\n        if (isImageOnly) {\n            marginStyle = { margin: \"0 10px 10px\" }\n        }\n        return marginStyle;\n    }\n\n    public render() {\n        const { imageWidth, item, imageHeight, videoSettings, fieldsDisplaySettings, titleColor, isSmallItem, isImageOnly } = this.props;\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const slotViewStyle = this.getSlotViewStyle();\n        const titleStyle = { color: \"#020E24\" };\n        const icon = item.icon ? item.icon : \"automatic\"\n        const showUpInfoArea = fieldsDisplaySettings.isChannelNameVisible\n        const shouldDisplaySeparator = fieldsDisplaySettings.isAuthorVisible && item.itemType === LinkedItemType.ARTICLE && fieldsDisplaySettings.isDateVisible && item.author.length > 0;\n        const shouldDisplayDate = fieldsDisplaySettings.isDateVisible && item.itemType === LinkedItemType.ARTICLE;\n        return (<div className=\"slotView\" style={slotViewStyle}>\n\n            <div className=\"imageArea\" data-tb-thumbnail=''>\n                <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }} >\n                    <SiteMedia\n                        data={item.media !== undefined ? item.media : emptyMedia}\n                        width={imageWidth}\n                        height={imageHeight}\n                        videoSettings={videoSettings}\n                        itemLinkUrl={item.titleLink}\n                        isImageLinkable={true}\n                        linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                    />\n                    <SlotIconDisplay itemId={item.itemId} icon={this.getIcon(icon, item.hasVideo)} iconClassName=\"medium\" isIconVisible={item.hasVideo || icon === \"video\" || icon === \"automatic\"} />\n                </div>\n                {item.isMarketingContent && <MarketingSign isSmallItem={isSmallItem} marketingContentText={item.marketingContentText} />}\n                {!item.isMarketingContent && item.redLabelText && item.redLabelText.length > 0 && <span className={`basicLabel labelText ${item.textPlace}`}>{item.redLabelText}</span>}\n            </div>\n            {!isImageOnly && <div className=\"slotTextArea\">\n                {showUpInfoArea && <div className=\"upInfoArea\">\n                    {fieldsDisplaySettings.isChannelNameVisible && item.subchannelName !== null && item.subchannelName}\n                </div>}\n                {fieldsDisplaySettings.isTitleVisible && <div className={`slotTitle medium ${item.isCommertial ? \"commertialTitle\" : \"\"}`} >\n                    <HyperLinkBuilder\n                        href={item.titleLink}\n                        isDataTbLink={true}\n                        linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                        children={item.title} >\n                        <div dangerouslySetInnerHTML={{ __html: item.title }} style={titleStyle} data-tb-title='' />\n                    </HyperLinkBuilder>\n                </div>}\n                {fieldsDisplaySettings.isSubTitleVisible && <div className=\"slotSubtitle\" >\n                    <HyperLinkBuilder\n                        href={item.titleLink}\n                        linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                        children={item.title} >\n                        <div dangerouslySetInnerHTML={{ __html: item.subTitle}} style={titleStyle} data-tb-title='' />\n                    </HyperLinkBuilder>\n                </div>}\n\n                <div className=\"moreDetails\">\n                    {fieldsDisplaySettings.isAuthorVisible && <span className=\"authorField\" data-tb-author=''>{item.author}</span>}\n                    {shouldDisplaySeparator && <span>|</span>}\n                    {shouldDisplayDate && <DateDisplay date={item.dateUpdatedOnSite} isTbDate />}\n                </div>\n            </div>}\n        </div>\n        )\n    }\n}","import { SiteMedia } from \"../../../siteWidgets/siteMedia\";\nimport {  SiteMediaData } from \"widgets/interfaces\"\nimport { SiteSimpleImage } from \"../../../commonComponents/inline/siteSimpleImage\";\n\nexport class ArticleStoryComponent extends React.Component<{data:SiteMediaData}, {}> {\n    public static siteScriptName = \"ArticleStoryComponent\";\n    render() {\n        const { data } = this.props     \n        if (data.mediaType == \"MEDIA_VIDEO\") {\n         return (    \n             <SiteMedia width={360} height={640} data={data} videoSettings={{isVideoLightbox:false, hideVideoAds:false}} />                \n            )\n        } else if (data.mediaType == \"MEDIA_IMAGE\") {\n            return (\n                <SiteSimpleImage src={data.url} alt={data.alt} width={360} height={640} />\n            )\n        }\n    }\n}\n","import { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\";\nimport { useState, useRef, useEffect } from \"react\"\nimport { SiteVideoMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { getFrontImageUrl } from \"../../../../../front/staticServerRendering/frontImage\";\nimport { ImageSize } from \"../../../../../constants/imageSizes\";\nimport { MediaContentTypes } from \"../../../../../constants/contentTypes\";\nimport { SiteVideoData } from \"../../../../interfaces\";\nimport { openFacebookShare, openWhatsAppShare, openTwitterShare } from \"../../../../widgetsUtils\";\nimport { SimpleAudioPlayer } from \"../../simpleAudioPlayer/simpleAudioPlayer\";\nimport { NewsFlashItemType } from \"./radionasNewsFlashComponent\";\n\ninterface NewsFlashItemProps {\n    article: NewsFlashItemType\n    audioDomain: string\n    isTogglesOpen: boolean\n    isMobileWeb: boolean\n}\n\nexport const NewsFlashItem = (props: NewsFlashItemProps) => {\n\n    const { article, isTogglesOpen, audioDomain, isMobileWeb } = props\n    const [toggleState, setToggleState] = useState(isTogglesOpen)\n    const [textHeight, setTextHeight] = useState(null)\n    const accordionWrapperRef = useRef<HTMLDivElement>()\n    const articleBodyTextStyles = toggleState ? { maxHeight: textHeight } : { maxHeight: 0 }\n\n    useEffect(() => {\n        setToggleState(isTogglesOpen)\n    }, [isTogglesOpen])\n\n    useEffect(() => {\n        setTextHeight(accordionWrapperRef.current.scrollHeight)\n    }, [])\n\n    const onToggleClick = () => {\n        setToggleState(!toggleState)\n    }\n\n    const getArticleMedia = () => {\n        switch (article.specialData.mediaLinkType!==undefined && article.specialData.mediaLinkType) {\n            case \"image\":\n                return <img src={getFrontImageUrl({ publishedLink: article.imageUrl }, { imageSize: ImageSize.large })} />\n\n            case \"video\":\n                const videoData: SiteVideoData = {\n                    mediaType: MediaContentTypes.MEDIA_VIDEO,\n                    url: article.video[0].main_link,\n                    downGradeUrl: article.video[0].low_res_link,\n                    poster: article.video[0].posterSrc,\n                    isPlayerBarVisible: article.specialData.videoBehaivior.isPlayerBarVisible,\n                    isAutoPlaying: false,\n                    isLoopPlaying: article.specialData.videoBehaivior.isLoopPlaying,\n                    isMuteAvailable: article.specialData.videoBehaivior.isMuteAvailable,\n                    isSoundButtonVisible: article.specialData.videoBehaivior.isSoundButtonVisible,\n                    isBigVideo: true,\n                    youtube_id: article.video[0].youtube_id,\n                    mediaId: article.video[0].mediaVideoId,\n                    blockAbroadViews: article.video[0].blockAbroadViews,\n                    credit: article.video[0].credit,\n                }\n\n                return <SiteVideoMedia data={videoData} videoSettings={{ ...article.specialData.videoSettings, isVideoLightbox: false }} />\n\n            case \"audio\":\n                return <SimpleAudioPlayer src={`${audioDomain}${article.specialData.audioNewsflashData.filePath}`} duration={article.specialData.audioNewsflashData.durationSeconds} />\n\n            default:\n                break;\n        }\n    }\n\n    const handleShareBtnClick = () => {\n        if (isMobileWeb) {\n            openMobileShare()\n        }\n    }\n\n    const openMobileShare = async () => {\n        const shareData = { url: article.publishedLink, title: article.title }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    return (\n        <div className=\"news-flash-item\">\n            <div className=\"item-content-wrapper\">\n                <div className=\"flash-item-header\">\n                    <div className=\"author-details\">\n                        {article.firstAuthorImage ?\n                            <img className=\"author-image\" src={article.firstAuthorImage} />\n                            :\n                            <div className=\"author-image default-author-image\"></div>\n                        }\n                        <div className=\"author-name\">{article.author}</div>\n                    </div>\n\n                    <DateDisplay date={article.date} />\n                </div>\n\n                <div className=\"flash-item-body\">\n                    {getArticleMedia()}\n\n                    <div className=\"article-title\">{article.title}</div>\n\n                    <div className=\"article-body-text\" style={articleBodyTextStyles} ref={accordionWrapperRef as any}>\n                        {article.text}\n                    </div>\n                </div>\n\n                <div className=\"flash-item-footer\">\n                    <div className=\"share-menu\" onClick={handleShareBtnClick}>\n                        {!isMobileWeb && <div className=\"twitter icon\" onClick={() => openTwitterShare(article.publishedLink)}></div>}\n                        {!isMobileWeb && <div className=\"whatsapp icon\" onClick={() => openWhatsAppShare(article.publishedLink)}></div>}\n                        {!isMobileWeb && <div className=\"facebook icon\" onClick={() => openFacebookShare(article.publishedLink, article.title)}></div>}\n                    </div>\n\n                    {isMobileWeb && <div className={`toggle-btn icon ${toggleState ? \"open\" : \"\"}`} onClick={onToggleClick}></div>}\n                </div>\n            </div>\n\n            {!isMobileWeb && <div className={`toggle-btn icon ${toggleState ? \"open\" : \"\"}`} onClick={onToggleClick}></div>}\n        </div>\n    )\n}\n","import { useState } from \"react\";\nimport { NewsFlashItemType } from \"./radionasNewsFlashComponent\";\nimport { NewsFlashItem } from \"./newsFlashItem\"\n\ninterface NewsFlashListProps {\n    itemsList: NewsFlashItemType[]\n    audioDomain: string\n    isMobileWeb: boolean\n}\n\nexport const NewsFlashListWrapper = (props: NewsFlashListProps) => {\n    const { itemsList, audioDomain, isMobileWeb } = props\n    const [isTogglesOpen, setIsTogglesOpen] = useState<boolean>(true)\n\n    const onRadioBtnClick = (state: boolean) => {\n        setIsTogglesOpen(state)\n    }\n\n    return (\n        <div className=\"news-flash-list-wrapper\">\n            <div className=\"radio-btn-wrapper\">\n                <input type=\"radio\" className=\"radio-btn\" checked={!isTogglesOpen} onChange={() => onRadioBtnClick(false)} />\n                <div className=\"input-label close\" style={{ marginLeft: 16 }}>العرض العادي</div>\n\n                <input type=\"radio\" className=\"radio-btn\" checked={isTogglesOpen} onChange={() => onRadioBtnClick(true)} />\n                <div className=\"input-label open\">عرض ممتد</div>\n            </div>\n\n            <div className=\"news-flash-list\">\n                {itemsList.map(item => <NewsFlashItem key={item.articleId} article={item} isTogglesOpen={isTogglesOpen} audioDomain={audioDomain} isMobileWeb={isMobileWeb} />)}\n            </div>\n        </div>\n    )\n}\n\nNewsFlashListWrapper.siteScriptName = \"NewsFlashListWrapper\"\n","import { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\";\nimport { useState, useRef, useEffect } from \"react\"\nimport { SiteVideoMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { getFrontImageUrl } from \"../../../../../front/staticServerRendering/frontImage\";\nimport { ImageSize } from \"../../../../../constants/imageSizes\";\nimport { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\";\nimport { MediaContentTypes } from \"../../../../../constants/contentTypes\";\nimport { SiteVideoData } from \"../../../../interfaces\";\nimport { openFacebookShare, openWhatsAppShare, openTwitterShare } from \"../../../../widgetsUtils\";\nimport { SimpleAudioPlayer } from \"../../simpleAudioPlayer/simpleAudioPlayer\";\n\ninterface RadionasFlashItemProps {\n    article: ArticleExtraData\n    audioDomain: string\n    isMobileWeb: boolean\n    authorCaptionColor: string\n    dateCaptionColor: string\n    newsflashCaptionColor: string\n    componentBackgroundColor: string\n}\n\nconst TRANSITION_TIME = 400;\n\nexport const RadionasFlashItem = (props: RadionasFlashItemProps) => {\n\n    const { article, isMobileWeb, authorCaptionColor, dateCaptionColor, newsflashCaptionColor, componentBackgroundColor, audioDomain } = props\n    const [toggleOpen, setToggleOpen] = useState<boolean>(false)\n    const [isShareMenuOpen, setIsShareMenuOpen] = useState<boolean>(false)\n    const [shouldExpand, setShouldExpand] = useState<boolean>(false)\n    const [itemHeight, setItemHeight] = useState<number>(0)\n    const [textHeight, setTextHeight] = useState<number>(0)\n    const itemRef = useRef<HTMLDivElement>()\n    const accordionWrapperRef = useRef<HTMLDivElement>()\n    const flashItemStyles = isMobileWeb ? { backgroundColor: componentBackgroundColor } : { minHeight: itemHeight, backgroundColor: componentBackgroundColor }\n    const articleBodyTextStyles = toggleOpen ? { maxHeight: textHeight, color: newsflashCaptionColor } : { maxHeight: 0, marginTop: 0, color: newsflashCaptionColor }\n\n    useEffect(() => {\n        if (toggleOpen) {\n            setShouldExpand(true)\n        } else {\n            const timer = setTimeout(() => setShouldExpand(false), TRANSITION_TIME)\n            return () => {\n                clearTimeout(timer)\n            }\n        }\n    }, [toggleOpen])\n\n    useEffect(() => {\n        setItemHeight(itemRef.current.scrollHeight)\n        setTextHeight(accordionWrapperRef.current.scrollHeight)\n        console.log(\"updatedState\", \"itemRef: \" + itemRef.current.scrollHeight, \"accordionWrapperRef: \" + accordionWrapperRef.current.scrollHeight);\n\n    }, [itemRef.current, accordionWrapperRef.current])\n\n    const getArticleMedia = () => {\n        switch (article.specialData.mediaLinkType!==undefined  && article.specialData.mediaLinkType) {\n            case \"image\":\n                return <img src={getFrontImageUrl({ publishedLink: article.promotionImageDetails.publishedLink }, { imageSize: ImageSize.large })} />\n\n            case \"video\":\n                const videoData: SiteVideoData = {\n                    mediaType: MediaContentTypes.MEDIA_VIDEO,\n                    url: article.video[0].main_link,\n                    downGradeUrl: article.video[0].low_res_link,\n                    poster: article.video[0].posterSrc,\n                    isPlayerBarVisible: article.specialData.videoBehaivior.isPlayerBarVisible,\n                    isAutoPlaying: false,\n                    isLoopPlaying: article.specialData.videoBehaivior.isLoopPlaying,\n                    isMuteAvailable: article.specialData.videoBehaivior.isMuteAvailable,\n                    isSoundButtonVisible: article.specialData.videoBehaivior.isSoundButtonVisible,\n                    isBigVideo: true,\n                    youtube_id: article.video[0].youtube_id,\n                    mediaId: article.video[0].mediaVideoId,\n                    blockAbroadViews: article.video[0].blockAbroadViews,\n                    credit: article.video[0].credit,\n                }\n\n                return <SiteVideoMedia data={videoData} videoSettings={{ ...article.specialData.videoSettings, isVideoLightbox: false }} />\n\n            case \"audio\":\n                return <SimpleAudioPlayer src={`${audioDomain}${article.specialData.audioNewsflashData.filePath}`} duration={article.specialData.audioNewsflashData.durationSeconds} />\n\n            default:\n                break;\n        }\n    }\n\n    const handleShareBtnClick = () => {\n        if (isMobileWeb) {\n            openMobileShare()\n        } else {\n            setIsShareMenuOpen(!isShareMenuOpen)\n        }\n    }\n\n    const openMobileShare = async () => {\n        const shareData = { url: article.publishedLink, title: article.title }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    return (\n        <div className=\"radionas-flash-item\" style={flashItemStyles} ref={itemRef as any}>\n            <div className=\"radionas-flash-item-inner\">\n                <div className={`flash-item-expandable-container ${shouldExpand ? \"expanded\" : \"\"}`} >\n                    <div className=\"flash-item-header\">\n                        <div className=\"author-details\">\n                            {article.firstAuthorImage ?\n                                <img className=\"author-image\" src={article.firstAuthorImage} />\n                                :\n                                <div className=\"author-image default-author-image\"></div>\n                            }\n\n                            <div className=\"author-name\" style={{ color: authorCaptionColor }}>{article.author}</div>\n                        </div>\n\n                        <DateDisplay date={article.dateUpdatedOnSite} style={{ color: dateCaptionColor }} />\n                    </div>\n\n                    <div className=\"flash-item-body\">\n                        {getArticleMedia()}\n\n                        <div className=\"article-title\">{article.title}</div>\n\n                        <div className=\"article-body-text\" style={articleBodyTextStyles} ref={accordionWrapperRef as any}>\n                            {article.plainText}\n                        </div>\n                    </div>\n\n                    <div className=\"flash-item-footer\">\n                        <div className={`toggle-btn icon ${toggleOpen ? \"open\" : \"\"}`} onClick={() => setToggleOpen(!toggleOpen)}></div>\n\n                        <div className=\"share-btn icon\" onClick={handleShareBtnClick}>\n                            {isShareMenuOpen &&\n                                <div className=\"share-menu\">\n                                    <div className=\"twitter icon\" onClick={() => openTwitterShare(article.publishedLink)}></div>\n                                    <div className=\"whatsapp icon\" onClick={() => openWhatsAppShare(article.publishedLink)}></div>\n                                    <div className=\"facebook icon\" onClick={() => openFacebookShare(article.publishedLink, article.title)}></div>\n                                </div>}\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    )\n}\n","import { minutesDiff } from '../../../ynet1280/newsflashAndTwentyFourSeven/components/newsFlashAndTwentyFourSevenMobileComponenta';\nimport { ArticleExtraData } from '../../../../../articlePage/stateInterfaces';\nimport { addAxiosDateTransformerSettings } from '../../../../../utils/network/axiosDateTransformer';\nimport { RadionasNewsFlashHomepageViewData } from '../utils';\nimport { RadionasNewsFlashItemsList } from './radionasNewsFlashItemsList';\nimport * as axios from \"axios\"\nrequire(\"./radionas_site_radionasNewsFlashHomepageComponent.less\")\n\ninterface RadionasNewsFlashHomepageComponentProps {\n    data: RadionasNewsFlashHomepageViewData\n    isMobileWeb: boolean\n    audioDomain: string\n    componentaId: string\n    listHeight: number\n}\ninterface TickerAutoRowViewState {\n    tickerArticles: ArticleExtraData[]\n    isFirstInterval: boolean\n    shouldDisplayLoader: boolean\n}\n\nexport default class RadionasNewsFlashHomepageComponent extends React.Component<RadionasNewsFlashHomepageComponentProps, TickerAutoRowViewState> {\n\n    public static siteScriptName = \"RadionasNewsFlashHomepageComponent\"\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            tickerArticles: [],\n            isFirstInterval: true,\n            shouldDisplayLoader: false,\n        }\n    }\n\n    componentWillReceiveProps(newProps) {\n        if (this.props.data !== newProps.data) {\n            this.getTickerArticles(newProps.data)\n        }\n    }\n\n    componentDidMount() {\n        const { data } = this.props;\n        const highlightingDuration = 3;\n        if (data.category.link.id) {\n            this.getTickerArticles(highlightingDuration)\n            setInterval(() => {\n                this.getTickerArticles(highlightingDuration)\n            }, 60000);\n        }\n    }\n\n    private getTickerArticles(highlightingDuration: number) {\n        const { componentaId } = this.props;\n        const { isFirstInterval, shouldDisplayLoader, tickerArticles } = this.state;\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n\n        axiosInstance.get(`/iphone/json/api/article_list/${componentaId}/`)\n            .then((res: any) => {\n                this.setState({ tickerArticles: res.data.data });\n            }).then(() => {\n                const zeroMinDiff = tickerArticles.some((article) => minutesDiff(article) < 1);\n                const upToFiveMinDiff = tickerArticles.some((article) => minutesDiff(article) < highlightingDuration);\n\n                if ((isFirstInterval && upToFiveMinDiff) || zeroMinDiff) {\n                    this.setState({ shouldDisplayLoader: true })\n                    setTimeout(() => {\n                        this.setState({ shouldDisplayLoader: false })\n                    }, 2000)\n                };\n            })\n            .catch(err => console.error(\"error getting ticker data:\", err))\n    }\n    render() {\n        const { data, isMobileWeb, audioDomain, listHeight } = this.props\n\n        return (\n            <RadionasNewsFlashItemsList\n                data={data}\n                listHeight={listHeight}\n                audioDomain={audioDomain}\n                isMobileWeb={isMobileWeb}\n                articles={this.state.tickerArticles}\n            />\n        )\n    }\n}\n","import { RadionasNewsFlashHomepageViewData } from \"../utils\";\nimport { RadionasFlashItem } from \"./radionasFlashItem\";\nimport { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\";\n\ninterface RadionasNewsFlashItemsListProps {\n    data: RadionasNewsFlashHomepageViewData\n    articles: ArticleExtraData[]\n    isMobileWeb: boolean\n    audioDomain: string\n    listHeight: number\n}\n\nexport const RadionasNewsFlashItemsList = (props: RadionasNewsFlashItemsListProps) => {\n    const { data, articles, isMobileWeb, audioDomain, listHeight } = props\n    const { numberOfVisibleItemsDesktop, numberOfVisibleItemsMobile, authorCaptionColor, dateCaptionColor, newsflashCaptionColor, componentBackgroundColor } = data\n    const numberOfItemsToShow = isMobileWeb ? numberOfVisibleItemsMobile : numberOfVisibleItemsDesktop\n    const styles = isMobileWeb ? { backgroundColor: data.componentBackgroundColor } : { backgroundColor: data.componentBackgroundColor, height: listHeight }\n\n    return (\n        <div className=\"radionas-newsflash-items-list\" style={styles}>\n            {articles && articles.length > 0 ?\n                articles.slice(0, numberOfItemsToShow).map(article =>\n                    <RadionasFlashItem\n                        article={article}\n                        key={article.articleId}\n                        isMobileWeb={isMobileWeb}\n                        audioDomain={audioDomain}\n                        authorCaptionColor={authorCaptionColor}\n                        dateCaptionColor={dateCaptionColor}\n                        newsflashCaptionColor={newsflashCaptionColor}\n                        componentBackgroundColor={componentBackgroundColor}\n                    />\n                )\n                :\n                <div className=\"no-newsflash-alert\">لا توجد ومضات للعرض</div>\n            }\n        </div>\n    )\n}","import { RadioProgramItem, DvrRadioPlayer } from \"../../../radioWidgets/dvrRadioPlayer/dvrRadioPlayer\"\nimport { ButtonRnederer } from \"../../../radioWidgets/floatingPlayer/podcastPlayerButton\";\nimport Slider from \"react-slick\"\nimport { useState, useEffect } from \"react\"\n\ninterface NasRadioHomepageTeaserProps {\n    isMobileWeb: boolean\n    startingIndex: number\n    radioScheduleList: RadioProgramItem[]\n    liveBroadCastSource: string\n}\n\nexport const NasRadioHomepageTeaser = (props: NasRadioHomepageTeaserProps) => {\n    const { isMobileWeb, startingIndex, radioScheduleList, liveBroadCastSource } = props\n    const currentShow = radioScheduleList[startingIndex]\n    const [isTitleOverFlowing, setIsTitleOverFlowing] = useState(null)\n    const noShowsText = \"لا توجد خطة للعب\"\n\n    useEffect(() => {\n        getTitleOverflowStatus()\n    }, [currentShow])\n\n    const getTitleOverflowStatus = () => {\n        const titleElement = document.querySelector(\".homepage-teaser-show-title\") as HTMLElement\n        const wrapperElement = document.querySelector(\".homepage-teaser-show-title-wrapper\") as HTMLElement\n        let titleOverflow = false\n        if (titleElement && wrapperElement) {\n            titleOverflow = titleElement.offsetWidth > wrapperElement.offsetWidth\n        }\n        setIsTitleOverFlowing(titleOverflow)\n    }\n\n\n    if (radioScheduleList.length === 0) {\n        return (\n            <div className=\"nas-radio-homepage-teaser-no-shows\">\n                <div className=\"no-shows-image\"></div>\n                <div className=\"no-shows-text\">لا توجد برامج في الجدول الزمني</div>\n            </div>\n        )\n    }\n\n    const settings = {\n        dots: false,\n        infinite: true,\n        slidesToShow: 1,\n        slidesToScroll: 1,\n        autoplay: true,\n        speed: currentShow.title.length * 200,\n        autoplaySpeed: 0,\n        rtl: true,\n        arrows: false,\n        cssEase: \"linear\"\n    }\n\n    return (\n        <div className=\"nas-radio-homepage-teaser\">\n            <DvrRadioPlayer\n                title={currentShow.title}\n                site={\"radionas\"}\n                isSimplePlayer={true}\n                isMobileWeb={isMobileWeb}\n                liveBroadCastDVRSource={\"\"}\n                startingIndex={startingIndex}\n                radioScheduleList={radioScheduleList}\n                liveBroadCastSource={liveBroadCastSource}\n                playerComponentaRenderer={(props) => (<ButtonRnederer {...props} className={\"audio-play-button\"} />)}\n            />\n\n            <img src={currentShow.image} alt={currentShow.title} />\n\n            <div className=\"show-details\">\n                <div className=\"homepage-teaser-title-content\">\n                    <div className=\"homepage-teaser-show-title-wrapper\">\n                        {isTitleOverFlowing ?\n                            <>\n                                <div className=\"fadder-right\"></div>\n                                <div className=\"slider-wrapper\">\n                                    <Slider {...settings}>\n                                        <div className={\"homepage-teaser-show-title\"} dangerouslySetInnerHTML={{ __html: currentShow.title || noShowsText }}></div>\n                                        <div className={\"homepage-teaser-show-title\"} dangerouslySetInnerHTML={{ __html: currentShow.title || noShowsText }}></div>\n                                    </Slider>\n                                </div>\n                                <div className=\"fadder-left\"></div>\n                            </> :\n                            <div className={\"homepage-teaser-show-title\"} dangerouslySetInnerHTML={{ __html: currentShow.title || noShowsText }}></div>\n                        }\n                    </div>\n                </div>\n\n                <div className=\"show-info\">\n                    <div className=\"show-anchor\">{currentShow.anchor}</div>\n\n                    <div className=\"show-hours\">{currentShow.startTime} - {currentShow.endTime}</div>\n                </div>\n            </div>\n        </div>\n    )\n}\n\nNasRadioHomepageTeaser.siteScriptName = \"NasRadioHomepageTeaser\"","import { LinkProperties, BaseLinkTypes, LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { RadioProgramItem, DvrRadioPlayer } from \"../../../radioWidgets/dvrRadioPlayer/dvrRadioPlayer\"\nimport { ButtonRnederer } from \"../../../radioWidgets/floatingPlayer/podcastPlayerButton\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\n\ninterface NasRadioHomepageComponentProps {\n    title: string;\n    subTitle?: string;\n    tabButtonHref: string;\n    tabButtonLink: LinkProperties<BaseLinkTypes>;\n    tabButtonLinkTarget?: LinkTargetProperties;\n    liveBroadCastSource: string;\n    radioScheduleList: RadioProgramItem[];\n    startingIndex: number;\n    isMobileWeb: boolean;\n}\n\nexport const NasRadioHomepageComponent = (props: NasRadioHomepageComponentProps) => {\n\n    const { title, subTitle, tabButtonHref, tabButtonLink, tabButtonLinkTarget, liveBroadCastSource, radioScheduleList, startingIndex, isMobileWeb } = props\n    const currentShow = radioScheduleList[startingIndex]\n    const nextShows = radioScheduleList.filter((item, index) => index > startingIndex).slice(0, 4)\n\n    return (\n        <div className=\"nas-radio-homepage-component\">\n            <div className=\"componentaTab\">\n                <div className=\"homepage-tab-title\">{title}</div>\n\n                <HyperLinkBuilder className=\"homepage-tab-btn-link\" href={tabButtonHref} link={tabButtonLink} linkTarget={tabButtonLinkTarget}>\n                    <div className=\"homepage-tab-sub-title\">{subTitle}</div>\n                </HyperLinkBuilder>\n            </div>\n\n            {radioScheduleList.length > 0 ?\n                <div className=\"radio-homepage-shows\">\n                    <div className=\"current-show\">\n                        <div className=\"show-image\">\n                            <div className=\"image-wrapper\">\n                                <img src={currentShow.image} alt={currentShow.title} />\n                                {isMobileWeb && <div className=\"now-playing-indication\">راديو مباشر</div>}\n                            </div>\n\n                            <DvrRadioPlayer\n                                title={title}\n                                site={\"radionas\"}\n                                isSimplePlayer={true}\n                                isMobileWeb={isMobileWeb}\n                                liveBroadCastDVRSource={\"\"}\n                                startingIndex={startingIndex}\n                                radioScheduleList={radioScheduleList}\n                                liveBroadCastSource={liveBroadCastSource}\n                                // onCurrentShowIndexChange={handleCurrentShowIndexChange}\n                                playerComponentaRenderer={(props) => (<ButtonRnederer {...props} className={\"audio-play-button\"} />)}\n                            />\n                        </div>\n\n                        <div className=\"show-details\">\n                            {!isMobileWeb && <div className=\"now-playing-indication\">راديو مباشر</div>}\n\n                            <div className=\"show-title\">{currentShow.title}</div>\n\n                            <div className=\"show-sub-title\">{currentShow.subTitle}</div>\n\n                            <div className=\"show-info\">\n                                <div className=\"show-anchor\">{currentShow.anchor}</div>\n\n                                <div className=\"separator\"></div>\n\n                                <div className=\"show-hours\">{currentShow.startTime} - {currentShow.endTime}</div>\n                            </div>\n                        </div>\n                    </div>\n\n                    <div className=\"next-shows\">\n                        {nextShows.map((show, index) => (\n                            <div className=\"show-item\" key={index}>\n                                <div className=\"image-wrapper\">\n                                    <img src={show.image} alt={show.title} />\n\n                                    <div className=\"show-hours-label\">\n                                        <div className=\"radio-icon\" />\n                                        \n                                        <div className=\"hours\">{show.endTime} - {show.startTime}</div>\n                                    </div>\n                                </div>\n\n                                <div className=\"show-info-wrapper\">\n                                    <div className=\"show-title\">{show.title}</div>\n\n                                    <div className=\"show-anchor\">{show.anchor}</div>\n                                </div>\n                            </div>\n                        ))}\n                    </div>\n                </div>\n                :\n                <div className=\"no-shows-in-schedule\">لا يوجد عروض للعرض - No Shows To Display</div>\n            }\n        </div>\n    )\n}\n\nNasRadioHomepageComponent.siteScriptName = \"NasRadioHomepageComponent\";\n","import { RadioProgramItem, DvrRadioPlayer } from \"../../../radioWidgets/dvrRadioPlayer/dvrRadioPlayer\"\nimport { ButtonRnederer } from \"../../../radioWidgets/floatingPlayer/podcastPlayerButton\";\n\ninterface CurrentShowItemProps {\n    isMobileWeb: boolean\n    currentShowIndex: number\n    liveBroadCastSource: string\n    radioScheduleList: RadioProgramItem[]\n    handleCurrentShowIndexChange: (currentShowIndex: number) => void\n}\n\nexport const CurrentShowItem = (props: CurrentShowItemProps) => {\n\n    const { isMobileWeb, liveBroadCastSource, currentShowIndex, radioScheduleList, handleCurrentShowIndexChange } = props\n    const { image, title, subTitle, anchor, startTime, endTime } = radioScheduleList[currentShowIndex]\n\n    return (\n        <div className=\"current-show-item\">\n            <div className=\"show-image-container\">\n                <img src={image} />\n\n                <div className=\"live-label\">راديو مباشر</div>\n\n                <DvrRadioPlayer\n                    title={title}\n                    site={\"radionas\"}\n                    isSimplePlayer={true}\n                    isMobileWeb={isMobileWeb}\n                    liveBroadCastDVRSource={\"\"}\n                    startingIndex={currentShowIndex}\n                    radioScheduleList={radioScheduleList}\n                    liveBroadCastSource={liveBroadCastSource}\n                    onCurrentShowIndexChange={handleCurrentShowIndexChange}\n                    playerComponentaRenderer={(props) => (<ButtonRnederer {...props} className={\"audio-play-button\"} />)}\n                />\n            </div>\n\n            <div className=\"current-show-titles\">\n                <div className=\"current-item-title\">{title}</div>\n\n                <div className=\"current-item-sub-title\">{subTitle}</div>\n\n                <div className=\"current-item-details\">\n                    <div className=\"anchor\">{anchor}</div>\n\n                    <div className=\"separator\"></div>\n\n                    <div className=\"show-time\">{startTime} - {endTime}</div>\n                </div>\n            </div>\n\n        </div>\n    )\n}","import { RadioDayItemData } from \"../../../radioWidgets/radioSchedule/data/radioDayItemData\"\nimport { SingleShowItem } from \"./singleShowItem\";\nimport { RadioProgramItem } from \"../../../radioWidgets/dvrRadioPlayer/dvrRadioPlayer\"\nimport { useState, useEffect, useRef } from \"react\"\n\ninterface DailyScheduleItemProps {\n    isMobileWeb: boolean\n    dayItem: RadioDayItemData\n    isTogglesOpen: boolean\n    radioScheduleList: RadioProgramItem[]\n}\n\nexport const DailyScheduleItem = (props: DailyScheduleItemProps) => {\n\n    const { dayItem: { dayProgramsSchedule, dayItemId, dayDate }, isTogglesOpen, radioScheduleList, isMobileWeb } = props\n    const [toggleState, setToggleState] = useState(isTogglesOpen)\n    const accordionWrapperRef = useRef<HTMLDivElement>()\n    const date = new Date(dayDate)\n    const dateToShow = `${date.toLocaleDateString(\"ar\", { weekday: 'long' })} ${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}`\n\n    useEffect(() => {\n        setToggleState(isTogglesOpen)\n    }, [isTogglesOpen])\n\n    const onToggleClick = () => {\n        setToggleState(!toggleState)\n    }\n\n    const list = (\n        //@ts-ignore\n        <div className=\"daily-shows-list\" style={toggleState ? { maxHeight: accordionWrapperRef.current.scrollHeight } : { maxHeight: 0, borderBottom: \"1px solid #BCBCBC\" }} ref={accordionWrapperRef}>\n            {dayProgramsSchedule && dayProgramsSchedule.array.map(show => {\n                const showItem = radioScheduleList.find(showItem => showItem.showId === show.showId)\n                if (showItem) return <SingleShowItem show={showItem} key={`${dayItemId}_${showItem.showId}`} dayDate={dayDate} isMobileWeb={isMobileWeb} />\n            })}\n        </div>\n    )\n\n    return (\n        <div className=\"show-day-schedule\">\n            <div className=\"accordion-toggle-wrapper\" onClick={onToggleClick}>\n                <div className=\"day-date\">{dateToShow}</div>\n                <div className={`toggle-btn ${toggleState ? \"open\" : \"\"}`}></div>\n            </div>\n\n            {list}\n        </div>\n    )\n}","import { RadioProgramItem } from \"../../../radioWidgets/dvrRadioPlayer/dvrRadioPlayer\"\nimport { useState } from \"react\"\nimport { CurrentShowItem } from \"./currentShowItem\";\nimport { NextShowsList } from \"./nextShowsList\";\nimport { RadioDayItemData } from \"../../../radioWidgets/radioSchedule/data/radioDayItemData\";\n\ninterface RadioScheduleComponentProps {\n    liveBroadCastSource: string\n    liveBroadCastDVRSource: string\n    radioScheduleList: RadioProgramItem[]\n    daysSchedule: RadioDayItemData[]\n    startingIndex: number\n    isMobileWeb: boolean\n    numberOfVisibleDays: number\n}\n\nexport const NasRadioScheduleComponent = (props: RadioScheduleComponentProps) => {\n    const { liveBroadCastSource, radioScheduleList, daysSchedule, startingIndex, isMobileWeb, numberOfVisibleDays } = props\n    const [currentShow, setCurrentShow] = useState(startingIndex)\n\n    const handleCurrentShowIndexChange = (currentShowIndex: number) => {\n        setCurrentShow(currentShowIndex)\n    }\n\n    return (\n        <div className={isMobileWeb ? \"mutam-nas-radio-schedule-wrapper\" : \"nas-radio-schedule-wrapper\"}>\n            <div className=\"component-title\">راديو الناس</div>\n\n            <CurrentShowItem\n                isMobileWeb={isMobileWeb}\n                currentShowIndex={currentShow}\n                radioScheduleList={radioScheduleList}\n                liveBroadCastSource={liveBroadCastSource}\n                handleCurrentShowIndexChange={handleCurrentShowIndexChange}\n            />\n\n            <NextShowsList\n                isMobileWeb={isMobileWeb}\n                daysSchedule={daysSchedule}\n                radioScheduleList={radioScheduleList}\n                numberOfVisibleDays={numberOfVisibleDays}\n                nextShow={radioScheduleList[currentShow + 1]}\n            />\n        </div>\n    )\n}\n\nNasRadioScheduleComponent.siteScriptName = \"NasRadioScheduleComponent\"","import { RadioProgramItem } from \"../../../radioWidgets/dvrRadioPlayer/dvrRadioPlayer\"\nimport { RadioDayItemData } from \"../../../radioWidgets/radioSchedule/data/radioDayItemData\";\nimport { SingleShowItem } from \"./singleShowItem\";\nimport { DailyScheduleItem } from \"./dailyScheduleItem\";\nimport { useState } from \"react\"\n\ninterface NextShowsListProps {\n    nextShow: RadioProgramItem\n    isMobileWeb: boolean\n    daysSchedule: RadioDayItemData[]\n    radioScheduleList: RadioProgramItem[]\n    numberOfVisibleDays: number\n}\n\nexport const NextShowsList = (props: NextShowsListProps) => {\n\n    const { nextShow, daysSchedule, radioScheduleList, isMobileWeb, numberOfVisibleDays } = props\n    const [isTogglesOpen, setIsTogglesOpen] = useState(false)\n\n    const onRadioBtnClick = (state: boolean) => {\n        setIsTogglesOpen(state)\n    }\n\n    return (\n        <div className=\"next-shows-list\">\n          <div className=\"radio-btn-wrapper\">\n                <input type=\"radio\" className=\"radio-btn\" checked={!isTogglesOpen} onChange={() => onRadioBtnClick(false)} />\n                <div className=\"input-label close-toggles\" style={{ marginLeft: 16 }}>العرض العادي</div>\n\n                <input type=\"radio\" className=\"radio-btn\" checked={isTogglesOpen} onChange={() => onRadioBtnClick(true)} />\n                <div className=\"input-label open-toggles\">عرض ممتد</div>\n            </div>\n\n            <div className=\"next-show-wrapper\">\n                <div className=\"next-show-title\">البرنامج القادم</div>\n\n                <SingleShowItem show={nextShow} isMobileWeb={isMobileWeb} />\n            </div>\n\n            <div className=\"daily-schedule-list-wrapper\">\n                {daysSchedule && daysSchedule.slice(0, numberOfVisibleDays).map(day =>\n                    <DailyScheduleItem\n                        dayItem={day}\n                        key={day.dayItemId}\n                        isMobileWeb={isMobileWeb}\n                        isTogglesOpen={isTogglesOpen}\n                        radioScheduleList={radioScheduleList}\n                    />\n                )}\n            </div>\n        </div>\n    )\n}\n","import { RadioProgramItem } from \"../../../radioWidgets/dvrRadioPlayer/dvrRadioPlayer\"\n\ninterface SingleShowItemProps {\n    show: RadioProgramItem\n    dayDate?: Date\n    isMobileWeb: boolean\n}\n\nexport const SingleShowItem = (props: SingleShowItemProps) => {\n    const { show, dayDate, isMobileWeb } = props\n\n    if (!show) {\n        return <div className=\"single-show-item\" />\n    }\n\n    const { image, title, anchor, startTime, endTime } = show\n    const s = startTime.split(':')\n    const e = endTime.split(':')\n    const startDate = new Date(dayDate)\n    const endDate = new Date(dayDate)\n    startDate.setHours(Number(s[0]), Number(s[1]))\n    endDate.setHours(Number(e[0]), Number(e[1]))\n\n    const nowTime = new Date().getTime()\n    const isProgramEnded = nowTime > startDate.getTime() && nowTime > endDate.getTime()\n    const isNowPlaying = nowTime >= startDate.getTime() && nowTime <= endDate.getTime()\n\n    return (\n        <div className={`single-show-item ${isProgramEnded ? \"disabled\" : \"\"}`} >\n            <div className=\"show-item-data\">\n                <div className=\"image-wrapper\">\n                    <img className=\"show-image\" src={image} />\n\n                    {isNowPlaying && isMobileWeb && <div className=\"now-playing-indication\">الآن على الهواء</div>}\n                </div>\n\n                <div className=\"show-details\">\n                    {isNowPlaying && !isMobileWeb && <div className=\"now-playing-indication\">الآن على الهواء</div>}\n\n                    <div className=\"show-title\">{title}</div>\n\n                    <div className=\"show-info\">\n                        <div className=\"show-anchor\">{anchor}</div>\n\n                        <div className=\"separator\"></div>\n\n                        <div className=\"show-hours\">{startTime} - {endTime}</div>\n                    </div>\n                </div>\n            </div>\n\n            <div className=\"under-show-separator\"></div>\n        </div>\n    )\n}","\nimport { HyperLinkBuilder, SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { Group } from \"./siteMutamRadionasHeaderComponenta\";\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\n\ninterface MenuPopUpProps {\n    groupsWithItems: Group[]\n    isVisible: boolean\n    onClose: () => void\n    ynetSearchPageLink: string\n    linkToTw: string\n    linkToFb: string\n    linkToYtube: string\n    linkToInst:string\n    linkToTiktok?:string\n    linkToRadioNas?:string\n    followUsText:string\n    layout?:string  \n    domain?:string\n    flashPageLink: string\n    flashLinkTarget: LinkTargetProperties\n    redMailLink: string\n    mailLinkTarget: LinkTargetProperties\n   \n}\ninterface menuPopUpState {\n    isSearchInputVisible: boolean\n    userInput: string\n}\n\nexport class HeaderScrolledMenu extends React.Component<MenuPopUpProps, menuPopUpState> {\n    constructor(props) {\n        super(props)\n\n        this.state = {\n            isSearchInputVisible: false,\n            userInput: \"\",\n        }\n\n    }\n\n    private updateInputValue = (evt) => {\n        this.setState({ userInput: evt.target.value });\n    }\n    private search = () => {\n        const { userInput: typedUserInput } = this.state;\n\n        if (!typedUserInput) {\n            return\n        }\n\n        let urlHead = \"\"\n        let userInput = \"\"\n        let fullUrl = \"\"\n        let site = \"\"\n\n\n        urlHead = 'https://www.google.com/search?radionas_q='\n        userInput = typedUserInput\n        site = `&q=site:www.radionas.co.il+${typedUserInput}`\n        fullUrl = urlHead + userInput + site\n\n        fullUrl\n        window.open(fullUrl, '_blank');\n    }\n\n\n    private handleInputKeyPress = (evt: React.KeyboardEvent) => {\n        if (evt.key === \"Enter\") {\n            this.search();\n        }\n\n    }\n    private clickAcessibilityBtn = () => {\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n\n    }\n\n    render() {\n        const { groupsWithItems, isVisible,  onClose, linkToTw, linkToFb, linkToYtube, linkToInst, followUsText, linkToRadioNas, linkToTiktok} = this.props\n        const {redMailLink, mailLinkTarget, flashPageLink, flashLinkTarget} = this.props\n        const {  userInput } = this.state\n        const isVisibleClassName = isVisible ? \"opened\" : \"closed\";\n        const isfollowUsLinks = linkToTw || linkToFb || linkToYtube || linkToInst\n        return (\n            <div className={`HeaderScrolledMenu  ${isVisibleClassName}`} role=\"sub-navigation\" aria-label=\"Sub Menu\">\n                <div className=\"hamTopArea\">\n                    <div>\n                    <div className=\"rightSideLinks\">\n                    <HyperLinkBuilder href={redMailLink} linkTarget={mailLinkTarget} >\n                            <span className=\"headerIcon redMail\" /> <span className=\"redMailText\">أرسل لنا</span>\n                        </HyperLinkBuilder> \n                          <HyperLinkBuilder href={flashPageLink} linkTarget={flashLinkTarget} >\n                            <span className=\"headerIcon flash\" id=\"flashBell\" /> <span className=\"flashText\">مراسلون</span>\n                        </HyperLinkBuilder>\n                        <div id=\"mainAccessibilityButton\">\n                            <a id=\"INDmenu-btn\" title=\"אתר נגיש\" accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" role=\"button\" onClick={this.clickAcessibilityBtn}>\n\n                            </a></div>\n                        </div> \n                    <button className=\"closeBtn\" onClick={onClose} />\n                    </div>\n                    <div className=\"searchArea\">    \n                             <input\n                                alt=\"أكتب هنا للبحث\"\n                                className=\"mutamSrchBox\"\n                                id=\"mutamSrchBox\"\n                                aria-label=\"أكتب هنا للبحث\"\n                                type=\"text\"\n                                placeholder=\"أكتب هنا للبحث\"\n                                value={userInput}\n                                onChange={this.updateInputValue}\n                                onKeyPress={this.handleInputKeyPress}\n\n                            />\n                              <button className=\"srhBtn\" onClick={()=>this.handleInputKeyPress} />\n                        </div>\n                </div>\n\n                <div className=\"linksGroups\">\n               {_.map((groupsWithItems), (item: Group, index: number) =>\n                        <div className=\"group\" key={index}>\n                            <div className=\"groupTitle\" dangerouslySetInnerHTML={{ __html: item.groupName }} />\n\n                            <ul className=\"groupList\">\n                                {_.map((item.items), (subItem: HamburgerMenuItems, index: number) =>\n                                    <li key={index}><HyperLinkBuilder href={subItem.link} linkTarget={subItem.linkTarget} style={{ color: subItem.color }}>\n                                        <span dangerouslySetInnerHTML={{ __html: subItem.title }} />\n                                    </HyperLinkBuilder></li>\n                                )}\n                            </ul>\n                        </div>\n                    )}\n                    {isfollowUsLinks &&  <div className=\"followUsLinks group\">\n                        {followUsText !== \"\" && <div className=\"followUs groupTitle\">{followUsText}</div>}\n                        <div className=\"mediaLinks\">\n                          {linkToFb !== \"\" && <SimpleLinkRenderer href={linkToFb} target=\"_blank\" className=\"mediaIcon linkToFb\" />}\n                            {linkToInst !== \"\" && <SimpleLinkRenderer href={linkToInst} target=\"_blank\" className=\"mediaIcon linkToInst\" />}\n                           {linkToTiktok !== \"\" && <SimpleLinkRenderer href={linkToTiktok} target=\"_blank\" className=\"mediaIcon linkToTiktok\" />}\n                            {linkToRadioNas !== \"\" && <SimpleLinkRenderer href={linkToRadioNas} target=\"_blank\" className=\"mediaIcon linkToRadio\" />}\n                  \n                        </div>\n                    </div>}\n                </div>\n\n            </div>)\n    }\n}","import { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { Logo } from \"./siteRadionasHeaderComponenta\";\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport * as map from \"lodash/map\"\n\ninterface MainNavProps {\n    mainNavItems: HamburgerMenuItems[]\n    onToggleMenu: () => void\n    isOpened: boolean\n    tabBgColor: string\n    isSticky: boolean\n    logoData: Logo\n    onToggleSearch: () => void\n}\n\nexport class MainNavHeaderComponenta extends React.Component<MainNavProps, {}> {\n    private getSelectedClassName = (isSelected: boolean) => {\n        if (isSelected) {\n            return \"selected\"\n        }\n    }\n    render() {\n        const { mainNavItems, isOpened, onToggleMenu, tabBgColor, isSticky, logoData, onToggleSearch } = this.props\n       \n      \n\n        return (\n            <div className=\"mainNav\" role=\"navigation\" aria-label=\"Main Menu\" >\n                {isSticky && <HyperLinkBuilder href={logoData.link} linkTarget={logoData.linkTarget} className=\"ynetLogoInSticky\">\n                <SiteSimpleImage src={logoData.url} alt={logoData.mediaTitle} title={logoData.mediaTitle} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                    </HyperLinkBuilder>}\n                <div className=\"navList\">\n                {map((mainNavItems), (item: HamburgerMenuItems, index: number) => <div key={index} style={{ color:  item.color , \"--menuItemColor\":  item.color, textShadow: item.isBolded ?  `-.4px 0 ${item.color}, 0 .4px ${item.color}, .4px 0 ${item.color}, 0 -.4px ${item.color}` : \"none\" }}>\n                    <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} className={this.getSelectedClassName(item.isSelected)} >\n                        <span dangerouslySetInnerHTML={{ __html: item.title }} />\n                    </HyperLinkBuilder>\n                </div>)}\n             <div onClick={onToggleMenu} id=\"wcm_MenuDisplay\"><span className=\"moreBtn\" id=\"wcm_MenuDisplay_moreBtn\">اخرى<span className={isOpened ? \"moreIcon toClose\" : \"moreIcon toOpen\"} /></span></div>\n                   </div>\n                <div onClick={onToggleSearch} id=\"wcm_SearchDisplay\"  ><span id=\"wcm_MenuDisplay_searchIcon\" className=\"searchIcon\"></span ></div>\n\n            </div>\n        )\n    }\n}","import * as classNames from \"classnames\"\nimport { YnetSearchForm } from \"../../../ynetSearch/components/ynetSearchForm/ynetSearchForm\";\nimport { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { HyperLinkBuilder, SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport { Group } from \"./siteRadionasHeaderComponenta\";\nimport * as map from \"lodash/map\"\nconst clickOutside = require('react-click-outside');\n\ninterface MenuPopUpProps {\n    groupsWithItems: Group[]\n    isVisibleMenu: boolean\n    isVisibleSearch: boolean\n    onCloseMenu: () => void\n    onCloseSearch: () => void\n    followUsText: string\n    linkToInst: string\n    linkToFb: string\n    linkToTiktok: string\n    linkToRadioNas: string\n    ynetSearchPageLink: string\n}\n\n@clickOutside\nexport class MenuPopupComponenta extends React.Component<MenuPopUpProps, {}> {\n\n    private handleClickOutside = (e) => {\n        const isVisible = this.props.isVisibleMenu || this.props.isVisibleSearch;\n        if (isVisible && e.target && e.target.id !== \"wcm_MenuDisplay\" && e.target.id !== \"wcm_MenuDisplay_moreBtn\" && e.target.id !== \"wcm_MenuDisplay_searchIcon\" && e.target.id !== \"wcm_SearchDisplay\") {\n            this.props.onCloseMenu();\n            this.props.onCloseSearch();\n        }\n\n    }\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n    render() {\n        const { groupsWithItems, followUsText, linkToInst, linkToFb, linkToRadioNas, linkToTiktok, ynetSearchPageLink, isVisibleSearch } = this.props\n        const isVisible = this.props.isVisibleMenu || this.props.isVisibleSearch;\n\n        return (\n            <div className={classNames(\"popUpmenu\", { \"opened\": isVisible, \"closed\": !isVisible, \"searchPopUp\": this.props.isVisibleSearch })} role=\"sub-navigation\" aria-label=\"Sub Menu\">\n                <YnetSearchForm placeholder=\"أكتب هنا للبحث\" ynetSearchPageLink={ynetSearchPageLink} />\n                {!isVisibleSearch && <>  <div id=\"mainAccessibilityButton\" >\n                    <a id=\"INDmenu-btn\" onClick={this.clickAcessibilityBtn} title=\"موقع يمكن الوصول إليه\" accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" role=\"button\">\n                        <span className=\"icon\" ></span>\n                    </a></div>\n                    <div className=\"linksGroups\">\n                        {map((groupsWithItems), (item: Group, index: number) =>\n                            <div className=\"group\" key={index}>\n                                <div className=\"groupTitle\" dangerouslySetInnerHTML={{ __html: item.groupName }} />\n\n                                <ul className=\"groupList\">\n                                    {map((item.items), (subItem: HamburgerMenuItems, index: number) =>\n                                        <li key={index}><HyperLinkBuilder href={subItem.link} linkTarget={subItem.linkTarget} style={{ color: subItem.color }}>\n                                            <span dangerouslySetInnerHTML={{ __html: subItem.title }} />\n                                        </HyperLinkBuilder></li>\n                                    )}\n                                </ul>\n                            </div>\n                        )}\n                           <div className=\"followUsLinks group\">\n                        {followUsText !== \"\" && <div className=\"followUs groupTitle\">{followUsText}</div>}\n                        <div className=\"mediaLinks\">\n                        {linkToFb !== \"\" && <SimpleLinkRenderer href={linkToFb} target=\"_blank\" className=\"mediaIcon linkToFb\" />}\n                            {linkToInst !== \"\" && <SimpleLinkRenderer href={linkToInst} target=\"_blank\" className=\"mediaIcon linkToInst\" />}\n                            {linkToTiktok !== \"\" && <SimpleLinkRenderer href={linkToTiktok} target=\"_blank\" className=\"mediaIcon linkToTiktok\" />}\n                           {linkToRadioNas !== \"\" && <SimpleLinkRenderer href={linkToRadioNas} target=\"_blank\" className=\"mediaIcon linkToRadio\" />}\n                        </div>\n                    </div>\n                        </div>\n                 \n                </>}\n            </div>)\n    }\n}","\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport * as throttle from \"lodash/throttle\"\nimport * as classNames from \"classnames\"\nimport { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { toggleSpotImPopUp } from \"../../../article/componentas/articleSocialShare1280Component/articleSocialShareNew1280\";\nimport { MainNavMutam } from \"../../../ynet1280/ynetHeader/components/mutamComponents/mainNavMutam\";\nimport { HeaderScrolledMenu } from \"./headerScrolledMenu\";\n\ninterface MenuState {\n    isOpened: boolean\n    isSticky: boolean\n    isFontMenuOpen: boolean\n\n}\ninterface HeaderProps {\n    mainNavItems: HamburgerMenuItems[]\n    groupsWithItems: Group[]\n    flashPageLink: string\n    flashLinkTarget: LinkTargetProperties\n    redMailLink: string\n    mailLinkTarget: LinkTargetProperties\n    radioLink:string \n    radioLinkTarget:LinkTargetProperties\n    logoData: Logo\n    ynetSearchPageLink: string\n    linkToFb: string\n    linkToTw: string\n    linkToYtube: string\n    linkToInst:string\n    isArticle: boolean\n    layout?: string\n    domain: string\n    followUsText:string\n    shoppingPageUrl: string\n    shoppingPageUrlTarget: LinkTargetProperties\n    linkToRadioNas?:string \n    linkToTiktok?:string\n}\nexport interface Group {\n    groupId: string\n    groupName: string\n    items: HamburgerMenuItems[]\n}\nexport interface Logo {\n    url: string\n    mediaTitle: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\n\n\nexport class SiteMutamRadionasHeaderComponenta extends React.Component<HeaderProps, MenuState> {\n    public static siteScriptName = \"SiteMutamRadionasHeaderComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            isOpened: false,\n            isSticky: false,\n            isFontMenuOpen: false\n        }\n    }\n    private openMenu = () => {\n        this.setState({ isOpened: !this.state.isOpened })\n        document.body.classList.toggle('lock-scroll');\n    }\n    //\n\n    private stickyBar() {\n        const headerPos = document.querySelector(\".radionas-header\").getBoundingClientRect().top\n        if (headerPos + 40 < 0) {\n            this.setState({ isSticky: true })\n\n        } else {\n            this.setState({ isSticky: false })\n        }\n\n    }\n\n    componentDidMount() {\n        document.addEventListener(\"scroll\", this.throttledScrollHandler())\n    }\n  \n\n\n\n    componentWillUnmount() {\n        document.removeEventListener(\"scroll\", this.throttledScrollHandler())\n    }\n    private throttledScrollHandler = () => throttle(() => this.stickyBar(), 200)\n\n    private openShare = async () => {\n        const { domain } = this.props;\n        const current_url = `${window.location.href}?utm_source=${domain}&utm_medium=social&utm_campaign=general_share`;\n        const shareData = { url: current_url }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n    private handleCommentsPopupVisability = () => {\n        if (typeof window !== \"undefined\") {\n            if (window.enableSpotIm) {\n                const commentsPopUp = document.querySelector('.spotimWrapper');\n                if (commentsPopUp) {\n                    toggleSpotImPopUp(commentsPopUp)\n                }\n            }\n            else {\n                window.handleCommentsPopupVisability && window.handleCommentsPopupVisability();\n            }\n        }\n    }\n\n\n\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n    \n    render() {\n        const { mailLinkTarget, flashPageLink, flashLinkTarget,radioLinkTarget,followUsText,   mainNavItems, groupsWithItems,linkToInst, logoData, \n            ynetSearchPageLink, linkToFb, linkToTw, linkToYtube,  redMailLink, layout, domain,radioLink , \n            linkToTiktok, linkToRadioNas, shoppingPageUrl, shoppingPageUrlTarget } = this.props\n        const { isSticky,  isOpened } = this.state\n        const numOfComment = typeof window !== \"undefined\" && window.handleCommentsPopupVisability && window.wcmNumOfComments && window.wcmNumOfComments;\n        const hidden = isSticky ? \"hidden\" : \"\"\n     \n        \n\n            return (\n                <div className={classNames(\"RadionasMutamHeader\")} id=\"RadionasMutamHeader\" >\n\n                    <div className={`logo`}>\n                        <HyperLinkBuilder href={logoData.link} linkTarget={logoData.linkTarget} ariaLabel={logoData.mediaTitle}>\n                        <SiteSimpleImage src={logoData.url} alt={logoData.mediaTitle} title={logoData.mediaTitle} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                        </HyperLinkBuilder>\n\n                        <button className={`menuHamburger ${isOpened ? \"closeX\" : \"\"}`} onClick={this.openMenu} />\n                    </div>\n\n\n                    <MainNavMutam\n                        mainNavItems={mainNavItems}\n                        openHam={this.openMenu}\n                        className={hidden}\n                        hideNav={true}\n                    >\n                             {shoppingPageUrl && shoppingPageUrl.length>0 &&  <HyperLinkBuilder href={shoppingPageUrl} linkTarget={shoppingPageUrlTarget} title={\"ناسكم\"} >\n                            <span className=\"headerIcon shopping\" />\n                        </HyperLinkBuilder>}\n                      {radioLink && radioLink.length>0 && <HyperLinkBuilder href={radioLink} linkTarget={radioLinkTarget}  title={\"راديو الناس\"}>\n                            <span className=\"headerIcon radio\" />\n                        </HyperLinkBuilder>}\n                    </MainNavMutam>\n\n\n           \n                    <HeaderScrolledMenu\n                        groupsWithItems={groupsWithItems}\n                        isVisible={this.state.isOpened}\n                        onClose={this.openMenu}\n                        ynetSearchPageLink={ynetSearchPageLink}\n                        linkToFb={linkToFb}\n                        linkToTw={linkToTw}\n                        linkToYtube={linkToYtube}  \n                        layout={layout}\n                        domain={domain}\n                        flashPageLink={flashPageLink}\n                        flashLinkTarget={flashLinkTarget}\n                        redMailLink={redMailLink}\n                        mailLinkTarget={mailLinkTarget}\n                        linkToInst={linkToInst}\n                        followUsText={followUsText}\n                        linkToRadioNas={linkToRadioNas}\n                        linkToTiktok={linkToTiktok}\n                        />\n                </div>\n\n            )\n\n    }\n}","import { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport * as throttle from \"lodash/throttle\"\nimport * as classNames from \"classnames\"\nimport { MenuPopupComponenta } from \"./menuPopUpComponenta\";\nimport { MainNavHeaderComponenta } from \"./mainNavComponenta\";\n\n\n\ninterface MenuState {\n    isOpened: boolean\n    isSticky: boolean\n    isSearchOpened: boolean\n}\n\ninterface HeaderProps {\n    mainNavItems: HamburgerMenuItems[]\n    groupsWithItems: Group[]\n    radioLink: string\n    radioPageLinkTarget: LinkTargetProperties\n    logoData: Logo\n    tabBgColor: string\n    shoppingPageUrl: string\n    shoppingPageUrlTarget: LinkTargetProperties\n    followUsText: string\n    linkToInst: string\n    linkToFb: string\n    linkToRadioNas: string\n    linkToTiktok: string\n    enableSticky: boolean\n    followUsLink: string\n    folowUsLinkTarget: LinkTargetProperties\n    domain: string\n    searchPageLink: string\n}\n\nexport interface Group {\n    groupId: string\n    groupName: string\n    items: HamburgerMenuItems[]\n}\n\nexport interface Logo {\n    url: string\n    mediaTitle: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\nexport interface CommertialItem {\n    title: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\n\nexport class SiteRadionasHeaderComponenta extends React.Component<HeaderProps, MenuState> {\n    public static siteScriptName = \"SiteRadionasHeaderComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            isOpened: false,\n            isSticky: false,\n            isSearchOpened: false\n        }\n    }\n\n    private openMenu = () => {\n        this.setState({ isOpened: !this.state.isOpened, isSearchOpened: false, })\n    }\n\n    private openSearchMenu = () => {\n        const isExternalPage = typeof window != \"undefined\" && window.isExternalPage;\n        if (isExternalPage) {\n            top.location.href = '';\n        }\n        else this.setState({ isSearchOpened: !this.state.isSearchOpened, isOpened: false })\n    }\n\n    private stickyBar() {\n        const headerPos = document.getElementById(\"RadionasHeader\").getBoundingClientRect().top\n        if (headerPos + 130 < 0) {\n            this.setState({ isSticky: true })\n\n        } else {\n            this.setState({ isSticky: false })\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(\"scroll\", this.throttledScrollHandler())\n\n    }\n\n    componentWillUnmount() {\n        const navbar = document.getElementById(\"RadionasHeader\")\n        document.removeEventListener(\"scroll\", this.throttledScrollHandler())\n\n    }\n\n    private throttledScrollHandler = () => throttle(() => this.stickyBar(), 200)\n\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n\n    render() {\n        const { mainNavItems, groupsWithItems, logoData, enableSticky, radioLink, searchPageLink, shoppingPageUrl, shoppingPageUrlTarget,\n            tabBgColor, followUsText, linkToInst, linkToFb, linkToRadioNas, linkToTiktok, radioPageLinkTarget,\n        } = this.props\n        const { isSticky } = this.state\n        const isStickyAvailable = isSticky && enableSticky;\n        return (\n            <div className={classNames(\"RadionasHeader\")} id=\"RadionasHeader\">\n                <button className=\"accessibiltyFixedBtn\" onClick={this.clickAcessibilityBtn} id=\"INDmenu-btn-fixed\" title=\"אתר נגיש\" aria-labelledby=\"INDbtnTooltip\" accessKey=\"m\"></button>\n                <div className=\"headerTop\">\n                    <div className=\"logo\">\n                        <HyperLinkBuilder href={logoData.link} linkTarget={logoData.linkTarget} ariaLabel={logoData.mediaTitle}>\n                            <SiteSimpleImage src={logoData.url} alt={logoData.mediaTitle} title={logoData.mediaTitle} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                        </HyperLinkBuilder>\n\n                    </div>\n                    <div className=\"leftSideLinks\">\n                      {shoppingPageUrl && shoppingPageUrl.length>0 &&  <HyperLinkBuilder href={shoppingPageUrl} linkTarget={shoppingPageUrlTarget} title={\"ناسكم\"} >\n                            <span className=\"headerIcon shopping\" />\n                        </HyperLinkBuilder>}\n                        {shoppingPageUrl && shoppingPageUrl.length>0 && radioLink && radioLink.length>0  && <span className=\"separator\"/>}\n                      {radioLink && radioLink.length>0 && <HyperLinkBuilder href={radioLink} linkTarget={radioPageLinkTarget}  title={\"راديو الناس\"}>\n                            <span className=\"headerIcon radio\" />\n                        </HyperLinkBuilder>}\n                        </div>\n\n\n\n                </div>\n\n                <div className={classNames(\"BottomHeaderArea\", { \"sticky\": isStickyAvailable })} id=\"BottomHeaderArea\">\n                    <MainNavHeaderComponenta\n                        isSticky={isStickyAvailable}\n                        mainNavItems={mainNavItems}\n                        logoData={logoData}\n                        onToggleMenu={this.openMenu}\n                        onToggleSearch={this.openSearchMenu}\n                        isOpened={this.state.isOpened}\n                        tabBgColor={tabBgColor}\n                    />\n\n                    <MenuPopupComponenta\n                        groupsWithItems={groupsWithItems}\n                        isVisibleMenu={this.state.isOpened}\n                        isVisibleSearch={this.state.isSearchOpened}\n                        onCloseMenu={() => this.setState({ isOpened: false })}\n                        onCloseSearch={() => this.setState({ isSearchOpened: false })}\n                        followUsText={followUsText}\n                        linkToInst={linkToInst}\n                        linkToFb={linkToFb}\n                        linkToRadioNas={linkToRadioNas}\n                        linkToTiktok={linkToTiktok}\n                        ynetSearchPageLink={searchPageLink}\n                    />\n                </div>\n            </div>\n        )\n    }\n}","interface ExtraDetailsProps {\n    photographer: string\n    sender: string\n    mail: string\n    phoneNumber: string\n    validation: { mail: boolean, phoneNumber: boolean }\n    onChange: (e: any) => void\n    extraDetailsData: any\n}\n\nexport class ExtraDetails extends React.Component<ExtraDetailsProps, State> {\n\n    render() {\n        const { photographer, sender, mail, phoneNumber, onChange, validation, extraDetailsData: { title, subTitle, mailPattern } } = this.props\n\n        return (\n            <div className=\"RedMailExtraDetails\">\n                {title && <div className=\"ExtraDetailsTitle\">{title}</div>}\n                {subTitle && <div className=\"ExtraDetailsSubTitle\">{subTitle}</div>}\n\n                <div className=\"inputFieldWrapper\">\n                    <div className=\"inputField\">      \n                        <input name=\"photographer\" dir=\"rtl\" value={photographer} onChange={(e) => onChange(e)} type=\"text\" id=\"photographer\" placeholder=\"اسم المصور\" ></input>\n                    </div>\n\n                    <div className=\"inputField\">      \n                        <input name=\"sender\" dir=\"rtl\" value={sender} onChange={(e) => onChange(e)} type=\"text\" id=\"sender\" placeholder=\"اسم المرسل\" ></input>\n                    </div>\n\n                    <div className=\"inputField\">\n                        <input name=\"mail\" dir=\"rtl\" value={mail} style={{borderColor:mail && !validation.mail ? \"#B90302\" : \"#9BA9C1\" }} onChange={(e) => onChange(e)} type=\"email\" id=\"mail\" placeholder=\"عنوان البريد الإلكتروني\" ></input>\n                        {(mail && !validation.mail) && <p className=\"redMail-error-validation\">{mailPattern}</p>}\n                    </div>\n                    \n                    <div className=\"inputField\">\n                        <input name=\"phoneNumber\" dir=\"rtl\" style={{borderColor:(phoneNumber && !validation.phoneNumber) ? \"#B90302\" : \"#9BA9C1\" }} value={phoneNumber} onChange={(e) => onChange(e)} type=\"text\" id=\"phoneNumber\" placeholder=\"رقم الهاتف\" ></input>\n                        {(phoneNumber && !validation.phoneNumber) && <p className=\"redMail-error-validation\">رقم الهاتف يجب أن يكون من 10 أرقام ودون رموز</p>}\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}","import * as has from \"lodash/has\"\n\ninterface RedMailFileUploadProps {\n    handleSelectedFile: (e: any) => void\n    selectedFiles: any\n    hashes: string[]\n    invalidFilesName: string[]\n    showFileStatusProgress: (fileKey: any) => string\n}\n\nexport class RedMailFileUploadYnet extends React.Component<RedMailFileUploadProps, {}> {\n\n    render() {\n        const { handleSelectedFile,  invalidFilesName, hashes, showFileStatusProgress, selectedFiles } = this.props;\n      \n        return (\n            <div className=\"RedMailFilesUpload\">\n                <div style={{ display: Object.keys(selectedFiles).length > 0 && \"none\" }} className=\"FilesUploadButtonWrapper\">\n                    <input type=\"file\" id=\"inputFile\"\n                        onChange={handleSelectedFile}\n                        multiple\n                    />\n                    <button className=\"FilesUploadButton\">\n                    إضافة صور أو ملفات      \n                    </button>\n                </div>\n                \n                <div className=\"addFileWrapper\">\n                   \n                    <div className=\"addFileInputWrapper\">\n                        {Object.keys(selectedFiles).length > 0 && <div className=\"fileWrapper\" style={{ width: '100%' }}>\n                            {Object.keys(selectedFiles).map(fileKey =>\n                                <div className=\"fileName\" key={fileKey}>\n                                    <input type=\"text\" dir=\"rtl\" value={selectedFiles[fileKey].fileName} />\n                                </div>)}\n                        </div>}\n                        {Object.keys(selectedFiles).length > 0 && Object.keys(selectedFiles).length < 5 &&\n                            <div className=\"addFile\" onClick={() => document.getElementById(\"inputFile\").click()}>\n                                <div className=\"addFilePlusIcon\">+</div>\n                                <div className=\"textInstruction\">\n                                 <span className=\"addFileTitle\">ارفاق ملف اخر</span><span>{`حتى 200 ميجا بايت mov,png,jpeg,jpg,mp4 `}</span></div></div>}\n                       \n                        {!!invalidFilesName.length && <div className=\"files-names-error-row\">\n                            {invalidFilesName.map(file => <span key={file}>الملف كبير جدًا، الرجاء إرفاق ملف حتى 200 ميغا</span>)}\n                        </div>}\n                       \n                      \n                    </div>\n                </div>\n            </div>\n        )\n    }\n}\n","export class PopUp extends React.Component<{ onClose: () => void, loading: boolean }, {}> {\n    public render() {\n        const { loading } = this.props;\n        if (loading) {\n            return (\n                <div className=\"redMailPopUp\">\n                    <div className=\"loading\"></div>\n                    <p className=\"title\">لحظات وننتهي...</p>\n                </div>\n            )\n        } else {\n            return (\n                <div className=\"redMailPopUp\">\n                    <div className=\"finish\"></div>\n                    <p className=\"title\"> شكرًا لكم! رسالتكم قيد الفحص قبل المشاركة</p>\n                    <p className=\"subTitle\"></p>\n                    <button className=\"popUpButton\"><a href=\"/\">العودة إلى الصفحة الرئيسية</a></button>\n                </div>\n            )\n        }\n    }\n\n}\n\n\n\n","require(\"./radionas_site_redmailComponenta.less\")\n\nimport { ExtraDetails } from \"./extraDetails/extraDetails\"\nimport { TextArea } from \"./textArea/textArea\"\nimport { PopUp } from \"./popUp/popUp\"\nimport { RedMailFileUploadYnet } from \"./filesUpload/RedMailFileUploadYnet\";\nimport { RedMailComponentaProps } from \"../../../redMail/interfaces/redMailInterfaces\";\n\n\nexport interface RedMailComponentaRadionasProps extends RedMailComponentaProps {\n\n}\n\nexport class RedMailComponentaRadionas extends React.Component<RedMailComponentaRadionasProps & {isChecked?: boolean}, {}>{\n\n    public render() {\n        const { handleChangeText, isTextAreaBlank, countSubmitAttempts, textArea,\n                handleSelectedFile, selectedFiles, hashes, invalidFilesName, showFileStatusProgress,\n                photographer, sender, mail, phoneNumber, validation, handleChangeExtraData, isAgreementApproved,\n                IsPopUp, submitForm, loading, onClose, submitButtonDisabled, isChecked } = this.props;\n\n        const ynetTermsHref = \"https://z.ynet.co.il/short/content/2018/privacypolicy/terms.html\";\n        const ynetPolicyHref = \"https://z.ynet.co.il/short/content/2018/privacypolicy/policy.html\";\n        const ynetTermsLink = <a href={ynetTermsHref} className=\"termsClick\">תנאי השימוש</a>\n        const ynetPolicyLink = <a href={ynetPolicyHref} className=\"termsClick\">מדיניות הפרטיות</a>\n\n        const textData = {\n            headlineText: \"أرسلوا لنا\",\n            textArea: {\n                textAreaHeadline: 'ترغبون بإرسال خبر أو دعوة للتغطية أو معلومات لنشرها في منصات وتطبيق \"ناس\"؟',\n                textAreaHeadlineShareButtonsActive: 'هل لديك معلومات هامّة لم يتم الحديث عنها بعد؟ هل ترغب بمشاركة أخبار أو صور لحدثٍ ما؟',\n                textAreaHeadlineShareButtonsActiveSecondLine:\"يسرّنا التعاون معكم\",\n                placeholder: \"يمكنكم مشاركتنا هنا\",\n            },\n            extraDetailsData: {\n                title: \" تفاصيل إضافية (اختياري)\",\n                subTitle: \"\",\n                mailPattern: \"يجب الكتابة وفق الصيغة التالية: email@domain.com \"\n            },\n            terms: <>اؤكد أنَّ المحتوى المرسل ليس كاذبًا أو مزيّفًا، ولم يتم انتاجه خصيصًا، كما أنّه ليس منقولاً أو منسوخًا بطريقة غير قانونيّة ولا يندرج ضمن التعديّ على الممتلكات أو ينتهك الخصوصيّة.  لم يتم ارسال المحتوى إلى جهة أخرى بنفس الوقت. البيانات المرفقة موثوقة وصالحة. قرأت ووافقت على سياسة الخصوصيّة وشروط الاستخدام الخاصّة بتطبيق \"ناس\"</>\n        }\n\n        return (\n            <div>\n                <div className=\"RedMailComponenta\">\n                    <div className=\"redMailLeftSide\">\n                        <div className=\"redMailHeadline\">\n                            <p className=\"headlineText\">{textData.headlineText}</p>\n                        </div>\n                        \n                        <TextArea borderColor={(isTextAreaBlank && countSubmitAttempts > 0) ? \"#B90302\" : \"#9BA9C1\"  }textAreaData={textData.textArea} value={textArea} isChecked={isChecked} onChange={handleChangeText} isTextAreaBlank={isTextAreaBlank && countSubmitAttempts > 0} />\n                        {(isTextAreaBlank && countSubmitAttempts > 0) && <div className=\"contentErrorMessage\">نسيتم كتابة فحوى رسالة</div>}\n                        <RedMailFileUploadYnet\n                            handleSelectedFile={handleSelectedFile}\n                            selectedFiles={selectedFiles}\n                            hashes={hashes}\n                            invalidFilesName={invalidFilesName}\n                            showFileStatusProgress={showFileStatusProgress}\n                        />\n\n                        <ExtraDetails\n                            photographer={photographer}\n                            sender={sender}\n                            mail={mail}\n                            phoneNumber={phoneNumber}\n                            onChange={handleChangeExtraData}\n                            validation={validation}\n                            extraDetailsData={textData.extraDetailsData}\n                        />\n\n                        <p className=\"terms\">\n                            <input className=\"checkBox\" id=\"agreementApproved\" type=\"checkbox\" checked={isAgreementApproved} onChange={(e) => handleChangeExtraData(e)} />\n                            {textData.terms}\n                        </p>\n\n                        {(!isAgreementApproved && countSubmitAttempts > 0) && <div className=\"contentErrorMessage terms-error\">يجب الموافقة على شروط الاستخدام</div>}\n                        <button\n                            disabled={submitButtonDisabled}\n                            className=\"submitButton\"\n                            type=\"submit\"\n                            onClick={submitForm}>\n                            إرسال\n                        </button>\n                        {IsPopUp && <PopUp onClose={onClose} loading={loading} />}\n                    </div>\n                </div>\n            </div>\n        )\n\n    }\n}\n\n\n\n","import * as classNames from \"classnames\"\n\ninterface Props {\n    value: string\n    onChange: (value: any) => void\n    isTextAreaBlank: boolean\n    textAreaData: any\n    borderColor:string\n    isChecked: boolean\n}\nexport class TextArea extends React.Component<Props, State> {\n\n    render() {\n        const { value, onChange, isTextAreaBlank, textAreaData, isChecked , borderColor} = this.props\n        return (\n            <div id=\"RedMailTextAreaElement\" className=\"RedMailTextArea\">\n                <div className=\"redMailTextAreaTop\">\n                    <p className=\"TextAreaHeadline\">{textAreaData.textAreaHeadline}</p>\n                 \n                    {isChecked &&\n                        <div className=\"shareButtonsWrapper\">\n                            <a href=\"https://wa.me/972548243550\" className=\"whatsappButton\" target=\"_blank\">\n                                <img />\n                                <div>Whatsapp</div>\n                            </a>\n                            <a href=\"https://t.me/ynetTbot\" className=\"telegramButton\" target=\"_blank\">\n                                <img />\n                                <div>Telegram</div>\n                            </a>\n                        </div>\n                    }\n                </div>\n                <div className=\"textAreaWrapper\">\n                <div>{textAreaData.textAreaHeadlineShareButtonsActiveSecondLine}</div>\n                    <textarea style={{borderColor:borderColor}} dir=\"rtl\" placeholder={textAreaData.placeholder} value={value} onChange={(e) => onChange(e)} required className={classNames(\"textAre\", { \"placeholderErrorStyle\": isTextAreaBlank })}></textarea>\n                </div>\n            </div>\n        )\n    }\n}","import { useState, useEffect, useRef, Ref } from \"react\"\nrequire(\"./radionas_site_simpleAudioPlayer.less\")\n\ninterface SimpleAudioPlayerProps {\n    src: string\n    duration: number\n}\n\nexport const SimpleAudioPlayer = (props: SimpleAudioPlayerProps) => {\n\n    const { src, duration } = props\n    const [isPlaying, setIsPlaying] = useState<boolean>(false)\n    const [isFirstPlay, setIsFirstPlay] = useState<boolean>(true)\n    const [playbackTime, setPlaybackTime] = useState<number>(0)\n\n    const audioRef = useRef<HTMLAudioElement>()\n\n    useEffect(() => {\n        audioRef.current.addEventListener('timeupdate', () => {\n            setPlaybackTime(Math.floor(audioRef.current.currentTime))\n        });\n        audioRef.current.addEventListener(\"ended\", () => {\n            setIsPlaying(false)\n        });\n\n        return () => {\n            audioRef.current.removeEventListener('timeupdate', () => {\n                setPlaybackTime(Math.floor(audioRef.current.currentTime))\n            });\n            audioRef.current.removeEventListener(\"ended\", () => {\n                setIsPlaying(false)\n            });\n        }\n    }, [])\n\n\n    const onPLayBtnClick = () => {\n        if (isPlaying) {\n            audioRef.current.pause();\n            setIsPlaying(false)\n        } else {\n            audioRef.current.play();\n            setIsPlaying(true)\n            if (isFirstPlay) {\n                setIsFirstPlay(false)\n            }\n        }\n    }\n\n    const calculateTime = (secs: number) => {\n        const minutes = Math.floor(secs / 60);\n        const seconds = Math.floor(secs % 60);\n        const returnedSeconds = seconds < 10 ? `0${seconds}` : `${seconds}`;\n        return `${minutes}:${returnedSeconds}`;\n    }\n\n    return (\n        <div className=\"simple-audio-player\">\n            <audio className=\"audio-element\" src={src} ref={audioRef as any} />\n\n            <div className=\"duration\">{isFirstPlay ? calculateTime(duration) : calculateTime(playbackTime)}</div>\n\n            <img className=\"waveform-gif\" src={\"https://www.ynet.co.il/images/radio/waveform-gif4.gif\"} />\n\n            <div className={`play-btn ${isPlaying ? \"pause\" : \"play\"}`} onClick={onPLayBtnClick}></div>\n        </div>\n    )\n}\n","import * as axios from \"axios\";\nimport { ArticleExtraData } from \"articlePage/stateInterfaces\";\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\";\nimport { addAxiosDateTransformerSettings } from \"../../../../../utils/network/axiosDateTransformer\";\nimport { StoriesAutoSlotItem } from \"./storiesAutoSlotItem\";\nimport { ISlot } from \"./storiesAutoWrapper\";\nimport Slider from 'react-slick'\nimport { StoriesItem } from \"./storiesItem\";\nimport { disablePageRefresh, enablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport { Splide, SplideSlide } from '@splidejs/react-splide';\n\ninterface StoriesAutoComponentaProps {\n    componentaId?: string\n    fieldsDisplaySettings: IFieldDisplayData\n    hideVideoAds?: boolean\n    tabBackgroundColor?: string\n    slots: ISlot[]\n    storiesProgressTime: number\n    tabTitle: string\n}\n\ninterface StoriesAutoComponentaState {\n    storyEntities: StoriesEntity[]\n    pageNumber: number\n    isStoriesDisplay: boolean\n    activeEntityIndex: number\n}\n\nexport interface StoriesEntity extends ISlot {\n    linkedItems: ArticleExtraData[]\n    slotId: string\n    isAllStoriesFinished:boolean\n}\n\nexport const DICT = {\n    \"The link has been copied to the clipboard\":\"تم نسخ الرابط إلى الحافظة\"\n}\nexport class StoriesAutoComponenta extends React.Component<StoriesAutoComponentaProps, StoriesAutoComponentaState> {\n    public static siteScriptName = \"StoriesAutoComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            storyEntities: [],\n            pageNumber: 0,\n            isStoriesDisplay: false,\n            activeEntityIndex: 0,\n        }\n    }\n    \n    private splideSliderRef;\n\n    componentDidMount() {\n        this.initializeComponent();\n        \n    }\n\n    private initializeComponent = async () => {\n        await this.getArticles();\n        this.handleFinishedStories();\n    }\n\n    private getArticles = async () => {\n        const { componentaId, slots } = this.props;\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n\n        try {\n            const articleRequests = slots.map(async (item) => {\n                const response = await axiosInstance.get(`/iphone/json/api/article_list/${componentaId}/type/${item.contentSource.type}/id/${item.contentSource.link.id}`);\n                // @ts-ignore\n                const linkedItems = response.data.data as ArticleExtraData[];\n                return {\n                    ...item,\n                    linkedItems,\n                    slotId: item.slotId,\n                    isAllStoriesFinished: false,\n                };\n            });\n\n            const allArticles: StoriesEntity[] = await Promise.all(articleRequests);\n\n            this.setState({ storyEntities: allArticles });\n        } catch (error) {\n            console.error(\"Error getting headline data:\", error);\n        }\n    }\n\n    private onStoriesOpen = (clickedIndex: number) => {\n        this.setState({ isStoriesDisplay: true, activeEntityIndex: clickedIndex });\n        disablePageRefresh();\n    }\n\n    private onCloseVideoGalleryView = () => {\n        this.setState({ isStoriesDisplay: false });\n        enablePageRefresh();\n    }\n\n    private onStorySelect = (index: number) => {\n        this.splideSliderRef.go(index);\n        this.setState({ activeEntityIndex: index });\n    }\n\n    private onAllStoriesEnd = (nextSlideIndex: number) => {\n        const { storyEntities } = this.state;\n        if (nextSlideIndex > storyEntities.length - 1) return;\n        this.splideSliderRef.go(nextSlideIndex);\n        this.setState({ activeEntityIndex: nextSlideIndex });\n    }\n\n    private handleNextSlide = () => {\n        this.splideSliderRef.go(\"1\");\n        this.setState({ activeEntityIndex: this.state.activeEntityIndex + 1 });\n    }\n\n    private handlePrevSlide = () => {\n        this.splideSliderRef.go(\"-1\");\n        this.setState({ activeEntityIndex: this.state.activeEntityIndex - 1 });\n    }\n\n    private handleFinishedStories = () => {\n        const { storyEntities } = this.state;\n        const updatedStoryEntities = storyEntities.map((entity) => {\n            const storyCount = localStorage.getItem(entity.slotId);\n            const isAllStoriesFinished = +storyCount === entity.linkedItems.length - 1 || entity.isAllStoriesFinished;\n            return {\n                ...entity,\n                isAllStoriesFinished,\n            }\n        })\n\n        this.setState({ storyEntities: updatedStoryEntities });\n    }\n\n    public render() {\n        const { fieldsDisplaySettings, tabTitle, storiesProgressTime, slots } = this.props;\n        const { storyEntities, isStoriesDisplay, activeEntityIndex } = this.state;\n\n        const desktopSettings = {\n            infinite: false,\n            slidesToShow: 4,\n            slidesToScroll: 1,\n            autoplay: false,\n            rtl: slots.length > 4,\n            initialSlide: 3 - slots.length,\n        };\n\n        const storiesOptions = {\n            type: 'slide',\n            speed: 800,\n            perPage: 5,\n            perMove: 1,\n            focus: 'center',\n            trimSpace: false,\n            arrows: false,\n            pagination: false,\n            start: activeEntityIndex,\n            gap: \"1em\",\n            easing: 'cubic-bezier(0.25, 1, 0.5, 1)',\n            direction: \"rtl\",\n        };\n\n        return (\n            <div className=\"storiesAutoComponenta\">\n                {fieldsDisplaySettings.isTabVisible &&\n                    <div className=\"storiesAutoComponentaTab componentaTab\">\n                        <div className=\"tabTitle\">{tabTitle}</div>\n                    </div>\n                }\n                {isStoriesDisplay && <div className=\"closeBtn\" onClick={this.onCloseVideoGalleryView}></div>}\n                <div className=\"galleryWrapper\">\n                    <Slider {...desktopSettings} className=\"slider\"  >\n                        {storyEntities.map((entity, index) => <StoriesAutoSlotItem\n                            key={entity.slotId}\n                            entity={entity}\n                            onStoriesOpen={this.onStoriesOpen}\n                            index={index} \n                            isAllStoriesFinished={entity.isAllStoriesFinished}/>)}\n                    </Slider>\n                </div>\n                {isStoriesDisplay &&\n                    <div className=\"storiesDisplayWrapper\">\n                        <Splide\n                            options={storiesOptions}\n                            ref={ref => this.splideSliderRef = ref}\n                        >\n                            {storyEntities.map((entity, index) => (\n                                <SplideSlide>\n                                    <StoriesItem\n                                        key={entity.slotId}\n                                        entity={entity}\n                                        index={index}\n                                        activeEntityIndex={activeEntityIndex}\n                                        storiesProgressTime={storiesProgressTime}\n                                        onStorySelect={this.onStorySelect}\n                                        handleNextSlide={this.handleNextSlide}\n                                        handlePrevSlide={this.handlePrevSlide}\n                                        onAllStoriesEnd={this.onAllStoriesEnd}\n                                        numberOfEntities={storyEntities.length}\n                                        handleFinishedStories={this.handleFinishedStories}\n                                    />\n                                </SplideSlide>\n                            ))}\n                        </Splide>\n                    </div>\n                }\n            </div>\n        )\n    }\n}","import * as axios from \"axios\";\nimport { ArticleExtraData } from \"articlePage/stateInterfaces\";\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\";\nimport { addAxiosDateTransformerSettings } from \"../../../../../utils/network/axiosDateTransformer\";\nimport { ISlot } from \"./storiesAutoWrapper\";\nimport Slider from 'react-slick'\nimport { StoriesAutoMobileSlotItem } from \"./storiesAutoMobileSlotItem\";\nimport { StoriesItemMobile } from \"./storiesItemMobile\";\nimport { disablePageRefresh, enablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport { Splide, SplideSlide } from '@splidejs/react-splide';\n\ninterface StoriesAutoMobileComponentaProps {\n    componentaId?: string\n    fieldsDisplaySettings: IFieldDisplayData\n    hideVideoAds?: boolean\n    tabBackgroundColor?: string\n    slots: ISlot[]\n    storiesProgressTime: number\n    tabTitle: string\n}\n\ninterface StoriesAutoMobileComponentaState {\n    storyEntities: StoriesEntity[]\n    isStoriesDisplay: boolean\n    activeEntityIndex: number\n}\n\nexport interface StoriesEntity extends ISlot {\n    linkedItems: ArticleExtraData[]\n    slotId: string\n    isAllStoriesFinished: boolean\n}\n\nexport const DICT = {\n    \"The link has been copied to the clipboard\": \"تم نسخ الرابط إلى الحافظة\"\n}\n\nexport class StoriesAutoMobileComponenta extends React.Component<StoriesAutoMobileComponentaProps, StoriesAutoMobileComponentaState> {\n    public static siteScriptName = \"StoriesAutoMobileComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            storyEntities: [],\n            isStoriesDisplay: false,\n            activeEntityIndex: 0,\n        }\n    }\n\n    private splideSliderRef;\n\n    componentDidMount() {\n        this.initializeComponent();\n    }\n\n    private initializeComponent = async () => {\n        await this.getArticles();\n        this.handleFinishedStories();\n    }\n\n    private getArticles = async () => {\n        const { componentaId, slots } = this.props;\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        try {\n            const articleRequests = slots.map(async (item, index) => {\n                const response = await axiosInstance.get(`/iphone/json/api/article_list/${componentaId}/type/${item.contentSource.type}/id/${item.contentSource.link.id}`);\n                // @ts-ignore\n                const linkedItems = response.data.data as ArticleExtraData[];\n                return {\n                    ...item,\n                    linkedItems,\n                    slotId: item.slotId,\n                    isAllStoriesFinished: false,\n                };\n            });\n            const allArticles: StoriesEntity[] = await Promise.all(articleRequests);\n            this.setState({ storyEntities: allArticles });\n        } catch (error) {\n            console.error(\"Error getting headline data:\", error);\n        }\n    }\n\n    private onStoriesOpen = (clickedIndex: number) => {\n        this.setState({ isStoriesDisplay: true, activeEntityIndex: clickedIndex });\n        disablePageRefresh();\n    }\n\n    private onStoriesClose = () => {\n        this.setState({ isStoriesDisplay: false });\n        enablePageRefresh();\n    }\n\n    private handleNextSlide = () => {\n        const {activeEntityIndex, storyEntities} = this.state;\n        if(activeEntityIndex === storyEntities.length - 1) return;\n        this.splideSliderRef.go(activeEntityIndex + 1);\n        this.setState({ activeEntityIndex: this.state.activeEntityIndex + 1 });\n    }\n\n    private handlePrevSlide = () => {\n        const {activeEntityIndex} = this.state;\n        if(activeEntityIndex === 0) return;\n        this.splideSliderRef.go(\"<\");\n        this.setState({ activeEntityIndex: this.state.activeEntityIndex - 1 });\n    }\n\n    private handleFinishedStories = () => {\n        const { storyEntities } = this.state;\n        const updatedStoryEntities = storyEntities.map((entity) => {\n            const storyCount = localStorage.getItem(entity.slotId);\n            const isAllStoriesFinished = +storyCount === entity.linkedItems.length - 1 || entity.isAllStoriesFinished;\n            return {\n                ...entity,\n                isAllStoriesFinished,\n            }\n        })\n\n        this.setState({ storyEntities: updatedStoryEntities });\n    }\n\n    private onAllStoriesEnd = (nextSlideIndex: number) => {\n        const { storyEntities } = this.state;\n        if (nextSlideIndex > storyEntities.length - 1) return;\n        this.splideSliderRef.go(nextSlideIndex);\n        this.setState({ activeEntityIndex: nextSlideIndex });\n    }\n\n    private onSlideMove = (index: number) => {\n        this.setState({activeEntityIndex: index});\n    }\n\n    public render() {\n        const { fieldsDisplaySettings, tabTitle, storiesProgressTime, slots } = this.props;\n        const { storyEntities, isStoriesDisplay, activeEntityIndex } = this.state;\n\n        const mobileSettings = {\n            infinite: false,\n            slidesToShow: 5,\n            slidesToScroll: 1,\n            arrows: false,\n            swipeToSlide: false,\n            rtl: slots.length > 5,\n            initialSlide: 4 - slots.length,\n        };\n\n        const storiesOptions = {\n            type: 'slide',\n            speed: 800,\n            perPage: 1,\n            perMove: 1,\n            trimSpace: false,\n            arrows: false,\n            pagination: false,\n            start: activeEntityIndex,\n            gap: \"1em\",\n            easing: 'cubic-bezier(0.25, 1, 0.5, 1)',\n            direction: \"rtl\",\n        };\n\n        return (\n            <div className=\"storiesAutoMutamComponenta\">\n                {fieldsDisplaySettings.isTabVisible &&\n                    <div className=\"storiesAutoComponentaTab componentaTab\">\n                        <div className=\"tabTitle\">{tabTitle}</div>\n                    </div>\n                }\n                <div className=\"galleryWrapper\">\n                    <Slider {...mobileSettings} className=\"slider\">\n                        {storyEntities.map((entity, index) =>\n                            <StoriesAutoMobileSlotItem\n                                key={entity.slotId}\n                                entity={entity}\n                                index={index}\n                                onStoriesOpen={this.onStoriesOpen}\n                                isAllStoriesFinished={entity.isAllStoriesFinished}\n                            />)}\n                    </Slider>\n                </div>\n                {isStoriesDisplay &&\n                    <div className=\"storiesDisplayWrapper\">\n                        <Splide\n                            options={storiesOptions}\n                            ref={ref => this.splideSliderRef = ref}\n                            onMove={(dest: number, newIndex: number) => this.onSlideMove(newIndex)}\n                        >\n                            {storyEntities.map((entity, index) => (\n                                <SplideSlide>\n                                    <StoriesItemMobile\n                                        key={entity.slotId}\n                                        entity={entity}\n                                        index={index}\n                                        onStoriesClose={this.onStoriesClose}\n                                        activeEntityIndex={activeEntityIndex}\n                                        storiesProgressTime={storiesProgressTime}\n                                        handleNextSlide={this.handleNextSlide}\n                                        handlePrevSlide={this.handlePrevSlide}\n                                        onAllStoriesEnd={this.onAllStoriesEnd}\n                                        handleFinishedStories={this.handleFinishedStories}\n                                    />\n                                </SplideSlide>\n                            ))}\n                        </Splide>\n                    </div>\n                }\n            </div >\n        )\n    }\n}","import { StoriesEntity } from \"./storiesAutoComponenta\";\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\n\ninterface StoriesAutoMobileSlotItemProps {\n    entity: StoriesEntity\n    index:number\n    isAllStoriesFinished: boolean\n    onStoriesOpen: (clickedIndex:number) => void\n}\n\nexport class StoriesAutoMobileSlotItem extends React.Component<StoriesAutoMobileSlotItemProps, {}> {\n\n    public render() {\n        const { entity: { promotionName, media, linkTarget, link }, onStoriesOpen, index, isAllStoriesFinished } = this.props;\n        const slotClass = `slotView ${isAllStoriesFinished ? \"finished\" : \"\"}`\n\n        return (\n            <div className={slotClass} onClick={() =>onStoriesOpen(index)}>\n                <div className=\"MediaCarousel\">\n                    <SiteMedia\n                        data={media}\n                        width={100}\n                        height={100}\n                        videoSettings={null}\n                        itemLinkUrl={link.link.publishedLink}\n                        isImageLinkable={true}\n                        linkTarget={linkTarget}\n                    />\n                </div>\n                <div className=\"contentDiv\">\n                    <div className=\"slotTitle\">{promotionName}</div>\n                </div>\n            </div >\n        )\n    }\n}","import { StoriesEntity } from \"./storiesAutoComponenta\";\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\n\ninterface StoriesAutoSlotItemProps {\n    entity: StoriesEntity\n    onStoriesOpen: (clickedIndex: number) => void\n    index: number\n    isAllStoriesFinished: boolean\n}\n\nexport class StoriesAutoSlotItem extends React.Component<StoriesAutoSlotItemProps, {}> {\n\n    public render() {\n        const { entity: { promotionName, media, linkTarget, link }, onStoriesOpen, index, isAllStoriesFinished } = this.props;\n        const slotClass = `slotView ${isAllStoriesFinished ? \"finished\" : \"\"}`\n\n        return (\n            <div className={slotClass} onClick={() => onStoriesOpen(index)}>\n                <div className=\"MediaCarousel\">\n                    <SiteMedia\n                        data={media}\n                        width={100}\n                        height={100}\n                        videoSettings={null}\n                        itemLinkUrl={link.link.publishedLink}\n                        isImageLinkable={true}\n                        linkTarget={linkTarget}\n                    />\n                </div>\n                <div className=\"contentDiv\">\n                    <div className=\"slotTitle\">{promotionName}</div>\n                </div>\n            </div >\n        )\n    }\n}","import { ReactInstaStories } from \"../../../react-insta-stories/reactInstaStories\";\nimport { Story } from \"../../../react-insta-stories/interfaces\";\nimport { StoriesEntity, DICT } from \"./storiesAutoComponenta\";\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { FrontCopyButton } from \"../../../../commonComponents/inline/frontCopyButton/frontCopyButton\";\nimport * as classNames from \"classnames\"\n\ninterface StoriesItemProps {\n    entity: StoriesEntity\n    activeEntityIndex: number\n    index: number\n    numberOfEntities: number\n    storiesProgressTime: number\n    handleNextSlide: () => void\n    handlePrevSlide: () => void\n    handleFinishedStories: () => void\n    onStorySelect: (index: number) => void\n    onAllStoriesEnd: (nextSlideIndex: number) => void\n}\n\ninterface StoriesItemState {\n    stories: Story[]\n    currentIndex: number\n    isMuted: boolean\n}\n\nexport class StoriesItem extends React.Component<StoriesItemProps, StoriesItemState> {\n    constructor(props) {\n        super(props);\n        this.state = {\n            stories: [],\n            currentIndex: 0,\n            isMuted: false,\n        }\n    }\n\n    componentDidMount() {\n        const { entity: { slotId } } = this.props;\n        this.getStories();\n        this.getStoryCurrentIndex(slotId);\n    }\n\n    componentDidUpdate(prevProps) {\n        const { entity: { slotId }, activeEntityIndex } = this.props;\n        if (prevProps.activeEntityIndex !== activeEntityIndex) this.getStoryCurrentIndex(slotId);\n    }\n\n    componentWillUnmount() {\n        const { entity: { slotId }, handleFinishedStories } = this.props;\n        this.getStoryCurrentIndex(slotId);\n        handleFinishedStories();\n    }\n\n    public getStories() {\n        const { entity } = this.props;\n        const {shouldDisplayStoryTitle} = entity;\n        const {isMuted} = this.state;\n        const storiesArray = entity.linkedItems.map((linkedItem) => {\n            const isVideoStory = linkedItem.hasVideo;\n            const url = isVideoStory && linkedItem.video ? linkedItem.video[0].high_res_link : linkedItem.promotionImageDetails.url;\n            return { url, type: isVideoStory ? 'video' : \"\", link: linkedItem.publishedLink, header: {heading: linkedItem.title, subheading:\"\", profileImage:\"\"}, storyClasses: shouldDisplayStoryTitle && linkedItem.specialData.titlePosition.value, muted: isMuted }\n        });\n        this.setState({ stories: storiesArray });\n    }\n\n    public setStoryCurrentIndex = (slotId: string, index: number) => {\n        localStorage.setItem(slotId, index.toString())\n    }\n\n    public getStoryCurrentIndex = (slotId: string) => {\n        const currentIndex = localStorage.getItem(slotId);\n        this.setState({ currentIndex: +currentIndex });\n    }\n\n    public onNextStory = () => {\n        const { currentIndex, stories, isMuted } = this.state;\n        const { entity: { slotId }, handleNextSlide } = this.props;\n        if (currentIndex === stories.length - 1) return handleNextSlide();\n        const updatedStories = stories.map((story) => ({...story, muted: isMuted}));\n\n        this.setState({ currentIndex: this.state.currentIndex + 1, stories: updatedStories }, () => this.setStoryCurrentIndex(slotId, this.state.currentIndex));\n    }\n\n    public onPrevStory = () => {\n        const { currentIndex, stories, isMuted } = this.state;\n        const { entity: { slotId }, handlePrevSlide } = this.props;\n        const updatedStories = stories.map((story) => ({...story, muted: isMuted}));\n        if (currentIndex === 0) return handlePrevSlide();\n\n        this.setState({ currentIndex: this.state.currentIndex - 1, stories:updatedStories }, () => this.setStoryCurrentIndex(slotId, this.state.currentIndex));\n    }\n \n    public onStoryEnd = () => {\n        const { entity: { slotId } } = this.props;\n        const { currentIndex, stories, isMuted } = this.state;\n        const updatedStories = stories.map((story) => ({...story, muted: isMuted}));\n        if (currentIndex === stories.length - 1) return;\n\n        this.setState({ currentIndex: this.state.currentIndex + 1, stories: updatedStories }, () => this.setStoryCurrentIndex(slotId, this.state.currentIndex));\n    }\n\n    public onToggleMute = () => {\n        const videoElement = document.querySelector(\".storiesDisplayWrapper .splide__slide.is-active .storyContent video\") as HTMLVideoElement;\n        if (!videoElement) return;\n        videoElement.muted ? this.setState({ isMuted: false }, () => videoElement.muted = false) : this.setState({ isMuted: true }, () => videoElement.muted = true);\n    }\n\n    public onEntitySelect = () => {\n        const {onStorySelect, index} = this.props;\n        const {stories, isMuted} = this.state;\n        const updatedStories = stories.map((story) => ({...story, muted: isMuted}));\n\n        this.setState({stories: updatedStories}, () => onStorySelect(index));\n    }\n\n    public render() {\n        const { stories, currentIndex, isMuted } = this.state;\n        const isStoriesExist = stories.length;\n        const { entity, index, activeEntityIndex, onStorySelect, onAllStoriesEnd, numberOfEntities, storiesProgressTime } = this.props;\n        const {promotionName, media, linkTarget, link, shouldDisplayStoryTitle} = entity;\n        if (!stories) return null;\n\n        const isMainStory = index === activeEntityIndex;\n        const isFirstStory = currentIndex === 0 && activeEntityIndex === 0;\n        const isLastStory = stories ? (currentIndex === stories.length - 1 && activeEntityIndex === numberOfEntities - 1) : false;\n        const isCurrentStoryHasVideo = stories && stories[currentIndex] && stories[currentIndex].type === \"video\";\n        const millisecDefaultInterval = storiesProgressTime * 1000;\n        const slotClass = classNames(\"slotView\", {\"muted\": isMuted, \"firstStory\": isFirstStory, \"lastStory\": isLastStory, \"videoStory\": isCurrentStoryHasVideo});\n        const storyClass = `mainStory ${shouldDisplayStoryTitle ? \"withHeader\" : \"\"}`;\n\n        return (\n            <div className={slotClass}>\n                <div className=\"storyItems\">\n                    {isMainStory && isStoriesExist  ?\n                        <div className={storyClass}>\n                            <div className=\"muteBtn\" onClick={this.onToggleMute}></div>\n\n                            <ReactInstaStories\n                                stories={stories}\n                                defaultInterval={millisecDefaultInterval}\n                                width={400}\n                                height={709}\n                                onNext={this.onNextStory}\n                                onPrevious={this.onPrevStory}\n                                onAllStoriesEnd={() => onAllStoriesEnd(index + 1)}\n                                currentIndex={currentIndex}\n                                onStoryEnd={this.onStoryEnd}\n                                preventDefault={true}\n                            />\n                            <div className=\"moreDetails\" >\n                                <div className=\"mediaArea\">\n                                    <div className=\"MediaCarousel\">\n                                        <SiteMedia\n                                            data={media}\n                                            width={50}\n                                            height={50}\n                                            videoSettings={null}\n                                            itemLinkUrl={link.link.publishedLink}\n                                            isImageLinkable={true}\n                                            linkTarget={linkTarget}\n                                        />\n                                    </div>\n                                    <div className=\"slotTitle\">{promotionName}</div>\n                                </div>\n                                <FrontCopyButton popupText={DICT[\"The link has been copied to the clipboard\"]} url={stories[currentIndex] ? stories[currentIndex].link : null} classes=\"shareBtn\" />\n                            </div>\n                        </div>\n                        :\n                        <div className=\"storyPlaceholder\" onClick={this.onEntitySelect}>\n                            <div className=\"MediaCarousel\">\n                                <SiteMedia\n                                    data={media}\n                                    width={100}\n                                    height={100}\n                                    videoSettings={null}\n                                    itemLinkUrl={link.link.publishedLink}\n                                    isImageLinkable={true}\n                                    linkTarget={linkTarget}\n                                />\n                            </div>\n                            <div className=\"slotTitle\">{promotionName}</div>\n                        </div>\n                    }\n                </div>\n            </div>\n        )\n    }\n}","import { ReactInstaStories } from \"../../../react-insta-stories/reactInstaStories\";\nimport { Story } from \"../../../react-insta-stories/interfaces\";\nimport { StoriesEntity } from \"./storiesAutoComponenta\";\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { FrontCopyButton } from \"../../../../commonComponents/inline/frontCopyButton/frontCopyButton\";\nimport { DICT } from \"./storiesAutoMobileComponenta\";\nimport * as classNames from \"classnames\"\n\ninterface StoriesItemProps {\n    entity: StoriesEntity\n    activeEntityIndex: number\n    index: number\n    storiesProgressTime: number\n    onAllStoriesEnd: (nextSlideIndex: number) => void\n    onStoriesClose: () => void\n    handleNextSlide: () => void\n    handlePrevSlide: () => void\n    handleFinishedStories: () => void\n}\n\ninterface StoriesItemState {\n    isPaused: boolean\n    stories: Story[]\n    currentIndex: number\n    isMuted: boolean\n    windowHeight: number\n}\n\nexport class StoriesItemMobile extends React.Component<StoriesItemProps, StoriesItemState> {\n    constructor(props) {\n        super(props);\n        this.state = {\n            isPaused: true,\n            stories: [],\n            currentIndex: 0,\n            isMuted: false,\n            windowHeight: window.innerHeight,\n        }\n    }\n\n    componentDidMount() {\n        const { entity: { slotId } } = this.props;\n        this.getStories();\n        this.getStoryCurrentIndex(slotId);\n\n    }\n\n    componentDidUpdate(prevProps) {\n        const { entity: { slotId }, activeEntityIndex } = this.props;\n        if (prevProps.activeEntityIndex !== this.props.activeEntityIndex) {\n            this.getStories();\n        }\n        if (prevProps.activeEntityIndex !== activeEntityIndex) this.getStoryCurrentIndex(slotId);\n    }\n\n    componentWillUnmount() {\n        const { entity: { slotId }, handleFinishedStories } = this.props;\n        this.getStoryCurrentIndex(slotId);\n        handleFinishedStories();\n    }\n\n    public getStories() {\n        const { entity } = this.props;\n        const {isMuted} = this.state;\n        const {shouldDisplayStoryTitle} = entity;\n        const storiesArray = entity.linkedItems.map((linkedItem) => {\n            const isVideoStory = linkedItem.hasVideo;\n            const url = isVideoStory && linkedItem.video ? linkedItem.video[0].high_res_link : linkedItem.promotionImageDetails.url;\n            return { url, type: isVideoStory ? 'video' : \"\", muted: isMuted, link: linkedItem.publishedLink, header: {heading: linkedItem.title, subheading:\"\", profileImage:\"\"}, storyClasses: shouldDisplayStoryTitle && linkedItem.specialData.titlePosition.value }\n        });\n        this.setState({ stories: storiesArray });\n    }\n\n    public onToggleMute = () => {\n        const videoElement = document.querySelector(\".storiesDisplayWrapper .splide__slide.is-active .storyContent video\") as HTMLVideoElement;\n        if (!videoElement) return;\n        videoElement.muted ? this.setState({ isMuted: false }, () => videoElement.muted = false) : this.setState({ isMuted: true }, () => videoElement.muted = true);\n    }\n\n    public setStoryCurrentIndex = (slotId: string, index: number) => {\n        localStorage.setItem(slotId, index.toString())\n    }\n\n    public getStoryCurrentIndex = (slotId: string) => {\n        const currentIndex = localStorage.getItem(slotId);\n        this.setState({ currentIndex: +currentIndex });\n    }\n\n    public onNextStory = () => {\n        const { currentIndex, stories } = this.state;\n        const { entity: { slotId }, handleNextSlide } = this.props;\n        if (currentIndex === stories.length - 1) return handleNextSlide();\n\n        this.setState({ currentIndex: this.state.currentIndex + 1 }, () => this.setStoryCurrentIndex(slotId, this.state.currentIndex));\n    }\n\n    public onPrevStory = () => {\n        const { currentIndex } = this.state;\n        const { entity: { slotId }, handlePrevSlide } = this.props;\n        if (currentIndex === 0) return handlePrevSlide();\n        this.setState({ currentIndex: this.state.currentIndex - 1 }, () => this.setStoryCurrentIndex(slotId, this.state.currentIndex));\n    }\n\n    public onStoryEnd = () => {\n        const { entity: { slotId } } = this.props;\n        const { currentIndex, stories } = this.state;\n        if (currentIndex === stories.length - 1) return;\n\n        this.setState({currentIndex: this.state.currentIndex + 1})\n        const localStorageCurrentIndex = localStorage.getItem(slotId);\n        this.setStoryCurrentIndex(slotId, +localStorageCurrentIndex + 1);\n    }\n\n    public render() {\n        const { onStoriesClose, entity, index, activeEntityIndex, storiesProgressTime, onAllStoriesEnd } = this.props;\n        const { stories, currentIndex, isMuted, windowHeight } = this.state;\n        const {promotionName, media, linkTarget, link, shouldDisplayStoryTitle} = entity;\n        const isStoriesExist = stories.length;\n\n        const millisecDefaultInterval = storiesProgressTime * 1000;\n        const isMainStory = index === activeEntityIndex;\n        const isCurrentStoryHasVideo = stories && stories[currentIndex] && stories[currentIndex].type === \"video\";\n        const slotClass = classNames(\"slotView\", {\"muted\": isMuted, \"videoStory\": isCurrentStoryHasVideo});\n        const storyClass = `mainStory ${shouldDisplayStoryTitle ? \"withHeader\" : \"\"}`;\n\n        return (\n            <div className={slotClass} style={{ height: `${windowHeight}px` }}>\n                {isMainStory &&\n                    <>\n                        <div className=\"closeBtn\" onClick={onStoriesClose}></div>\n                        <div className=\"muteBtn\" onClick={this.onToggleMute}></div>\n                    </>\n                }\n                <div className=\"storyItems\">\n                    {isMainStory && isStoriesExist ?\n                        <div className={storyClass}>\n                            <ReactInstaStories\n                                stories={stories}\n                                defaultInterval={millisecDefaultInterval}\n                                onNext={this.onNextStory}\n                                onPrevious={this.onPrevStory}\n                                onAllStoriesEnd={() => onAllStoriesEnd(activeEntityIndex + 1)}\n                                currentIndex={currentIndex}\n                                onStoryEnd={this.onStoryEnd}\n                            />\n                            <div className=\"moreDetails\" >\n                                <FrontCopyButton popupText={DICT[\"The link has been copied to the clipboard\"]} url={stories[currentIndex] ? stories[currentIndex].link : null} classes=\"shareBtn\" />\n                                <div className=\"mediaArea\">\n                                    <div className=\"MediaCarousel\">\n                                        <SiteMedia\n                                            data={media}\n                                            width={50}\n                                            height={50}\n                                            videoSettings={null}\n                                            itemLinkUrl={link.link.publishedLink}\n                                            isImageLinkable={true}\n                                            linkTarget={linkTarget}\n                                        />\n                                    </div>\n                                    <div className=\"slotTitle\">{promotionName}</div>\n                                </div>\n                            </div>\n                        </div>\n                        :\n                        <div className=\"storyPlaceholder\">\n                            <div className=\"loader\"></div>\n                        </div>\n                    }\n                </div>\n            </div>\n        )\n    }\n}","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\n\ninterface VideoGalleryVerticalItemMutamProps {\n    videoItem: SiteItemData\n    videoIndex: number\n    lastIntersectedPromoIndex: number\n    onOpenVideoGalleryView: (e) => void\n    onVideoEnded: () => void\n    getItemIntoViewIndex: (itemIntoViewIndex: number) => void\n    onLastIntersectingPromoCHange: (lastPromoIndex: number) => void\n    pushGA4Event: (action: string, isFeedDisplay: boolean) => void\n}\n\ninterface VideoGalleryVerticalItemMutamState {\n    isItemIntoView: boolean\n}\n\nexport class VideoGalleryVerticalItemMutam extends React.Component<VideoGalleryVerticalItemMutamProps, VideoGalleryVerticalItemMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isItemIntoView: false,\n        }\n    }\n\n    private videoRef;\n    private slotRef;\n    private intersectionObserver: IntersectionObserver;\n\n    componentDidMount() {\n        this.initObserver();\n    }\n\n    componentWillUnmount() {\n        this.intersectionObserver && this.intersectionObserver.disconnect();\n    }\n\n    private onVideoIntersectViewport = () => {\n        const { getItemIntoViewIndex, videoIndex, onLastIntersectingPromoCHange } = this.props;\n        this.setState({ isItemIntoView: true });\n        onLastIntersectingPromoCHange(videoIndex)\n        getItemIntoViewIndex(videoIndex)\n        if (this.videoRef) this.videoRef.play();\n    }\n\n    private onVideoLeaveViewport = () => {\n        this.setState({ isItemIntoView: false });\n        if (this.videoRef) this.videoRef.pause();\n    }\n\n    private secondsToMinutesHandler = (seconds: number) => {\n        const minutes = Math.floor(seconds / 60).toString().padStart(2, \"0\");\n        const newSeconds = (seconds % 60).toString().padStart(2, \"0\");\n        return `${minutes}:${newSeconds}`;\n    }\n\n    private initObserver = () => {\n        this.intersectionObserver = new IntersectionObserver(entry => {\n            entry[0].isIntersecting ? this.onVideoIntersectViewport() : this.onVideoLeaveViewport();\n        }, { threshold: 0.8 })\n        this.intersectionObserver.observe(this.slotRef);\n    }\n\n    public render() {\n        const { isItemIntoView } = this.state;\n        const { videoItem, onOpenVideoGalleryView, videoIndex, onVideoEnded } = this.props;\n        const { media, title } = videoItem;\n        const { duration, poster, promoPath } = media as SiteVideoData;\n        const shouldDisplayPromo = isItemIntoView && promoPath;\n        const slotClasses = `slotView ${shouldDisplayPromo ? \"active\" : \"\"}`;\n\n        return (\n            <div\n                className={slotClasses}\n                onClick={() => onOpenVideoGalleryView(videoIndex)}\n                ref={ref => this.slotRef = ref}\n            >\n                {shouldDisplayPromo ?\n                    <video\n                        autoPlay={true}\n                        loop={false}\n                        ref={ref => this.videoRef = ref}\n                        muted\n                        poster={poster}\n                        onEnded={onVideoEnded}\n                        className=\"promoVideo\" src={promoPath}\n                        playsInline\n                        webkit-playsInline>\n                    </video>\n                    :\n                    <img\n                        src={poster}\n                        alt=\"\" />\n                }\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className=\"videoDuration\"><span className=\"durationLogo\"></span> <span>{this.secondsToMinutesHandler(Math.round(duration))}</span></div>\n                </div>\n            </div>\n        )\n    }\n}\n","import { VideoGalleryVerticalDesktop } from \"./videoGalleryVerticalDesktop\";\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { isWcmEditor } from \"config/serverConfig\";\n\nexport interface categoryObj {\n    id: string\n    categoryColor: string\n    name:string\n}\n\ninterface VideoGalleryVerticalComponentaProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    category: categoryObj\n    domain: string\n}\n\n\nexport class RadionasVideoGalleryVerticalComponenta extends React.Component<VideoGalleryVerticalComponentaProps, {}>{\n    public static siteScriptName = \"RadionasVideoGalleryVerticalComponenta\";\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, repeatAds, maxAds, firstAdPlace, category, domain } = this.props;\n        const componentClass = `radionasVideoGalleryVerticalComponenta ${isWcmEditor() ? \"editMode\" : \"\"}`;\n        return (\n            <div className={componentClass}>\n                <VideoGalleryVerticalDesktop\n                    videoList={videoList}\n                    isTabVisible={isTabVisible}\n                    tabTitleText={tabTitleText}\n                    repeatAds={repeatAds}\n                    maxAds={maxAds}\n                    firstAdPlace={firstAdPlace}\n                    category={category}\n                    domain={domain}/>\n            </div>\n        )\n    }\n}\n","import { SiteItemData } from \"../../../../interfaces\";\nimport { VideoGalleryVerticalMutam } from \"./videoGalleryVerticalMutam\";\n\nexport interface categoryObj {\n    id: string\n    categoryColor: string\n    name:string\n}\n\ninterface VideoGalleryVerticalMutamComponentaProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    firstAdPlace: number\n    maxAds: number\n    repeatAds: number\n    shouldDisplayMobileAds: boolean\n    category: categoryObj\n    hideMoreButton:boolean \n    moreButtonText:string\n    domain: string\n\n}\n\nexport class RadionasVideoGalleryVerticalMutamComponenta extends React.Component<VideoGalleryVerticalMutamComponentaProps, {}>{\n    public static siteScriptName = \"RadionasVideoGalleryVerticalMutamComponenta\";\n\n    public render() {\n        const { videoList, hideMoreButton,moreButtonText,  isTabVisible, tabTitleText, repeatAds, maxAds, firstAdPlace, shouldDisplayMobileAds, category, domain } = this.props;\n        return (\n            <div className=\"radionasVideoGalleryVerticalMutamComponenta\">\n                <VideoGalleryVerticalMutam\n                    videoList={videoList}\n                    isTabVisible={isTabVisible}\n                    tabTitleText={tabTitleText}\n                    repeatAds={repeatAds}\n                    maxAds={maxAds}\n                    firstAdPlace={firstAdPlace}\n                    hideMoreButton={hideMoreButton}\n                    moreButtonText={moreButtonText}\n                    shouldDisplayMobileAds={shouldDisplayMobileAds}\n                    category={category}\n                    domain={domain}/>\n            </div>\n        )\n    }\n}\n","import { VideoGalleryVerticalItem } from \"./videoGalleryVerticalItem\";\nimport Slider from \"react-slick\"\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { VideoVerticalFeedItem } from \"./videoVerticalFeedItem\";\nimport { PromoCarousel } from \"../../../ynet1280/videoGalleryVerticalWidget/components/promoCarousel\";\nimport { disablePageRefresh, enablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport { categoryObj } from \"./radionasVideoGalleryVerticalComponenta\";\n\ninterface VideoGalleryVerticalDesktopProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    category: categoryObj\n    domain: string\n}\n\ninterface VideoGalleryVerticalDesktopState {\n    feedActiveSlide: number\n    isFeedDisplay: boolean\n    initialFeedSlide: number\n    togglePromoActive: boolean\n    currentPromoIndex: number\n}\n\nexport class VideoGalleryVerticalDesktop extends React.Component<VideoGalleryVerticalDesktopProps, VideoGalleryVerticalDesktopState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            feedActiveSlide: 0,\n            isFeedDisplay: false,\n            initialFeedSlide: 0,\n            togglePromoActive: false,\n            currentPromoIndex: 0\n        };\n        this.handleKeyPress = this.handleKeyPress.bind(this);\n    }\n\n    private slider;\n\n    componentDidMount() {\n        document.addEventListener('keydown', this.handleKeyPress);\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener('keydown', this.handleKeyPress);\n    }\n\n\n    private onOpenVideoGalleryView = (videoIndex: number) => {\n        const { videoList } = this.props;\n        const initialFeedSlide = videoList.findIndex((element) => element.itemId === videoList[videoIndex].itemId);\n        this.setState({ initialFeedSlide: initialFeedSlide, feedActiveSlide: initialFeedSlide }, () => { this.setState({ isFeedDisplay: true }) });\n        disablePageRefresh();\n    }\n\n    private onCloseVideoGalleryView = () => {\n        this.setState({ isFeedDisplay: false });\n        enablePageRefresh();\n    }\n\n    private onPromoMouseHover = (currentPromoIndex: number) => {\n        this.setState({ currentPromoIndex: currentPromoIndex });\n    }\n\n    private handleKeyPress(e) {\n        if (e.keyCode === 27) {\n            this.onCloseVideoGalleryView();\n        }\n    }\n\n    private onNextSlide = () => {\n        this.slider.slickPrev();\n        this.pushGA4Event(\"swipe_left\", true);\n    }\n\n    private pushGA4Event = (action: string, isFeedDisplay: boolean) => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { category } = this.props;\n        const actionPrefix = category && category.name ? (category.name === \"דף הבית\") ? \"homepage\" : category.name : \"homepage\";\n        const gaAction = isFeedDisplay ? `video_${action}` : `${actionPrefix}_${action}`;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            vertical_video_action: gaAction,\n        });\n    };\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, domain } = this.props;\n        const { isFeedDisplay, initialFeedSlide, feedActiveSlide, togglePromoActive, currentPromoIndex } = this.state;\n\n        const feedDisplaySettings = {\n            infinite: false,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            initialSlide: initialFeedSlide,\n            draggable: false,\n            rtl: true,\n            beforeChange: (current, next) => this.setState({ feedActiveSlide: Math.abs(next - videoList.length + 1) }),\n            nextArrow: <SampleNextArrow feedActiveSlide={feedActiveSlide} listLength={videoList.length} pushGA4Event={this.pushGA4Event}/>,\n            prevArrow: <SamplePrevArrow feedActiveSlide={feedActiveSlide} listLength={videoList.length} pushGA4Event={this.pushGA4Event}/>,\n        };\n\n        return (\n            <div className=\"videoGalleryVerticalDesktopWrapper\">\n                {isTabVisible && <div className=\"videoGalleryVerticalTab componentaTab\"><div className=\"rightTitleText\">{tabTitleText}</div></div>}\n                {isFeedDisplay && <div className=\"closeBtn\" onClick={this.onCloseVideoGalleryView}></div>}\n                <PromoCarousel\n                    imageWidth={273}\n                    width={1240}\n                    itemListLength={videoList.length}\n                    marginRight={20}\n                    togglePromoActive={togglePromoActive}\n                    currentPromoIndex={currentPromoIndex}\n                    videoList={videoList}\n                    pushGA4Event={this.pushGA4Event}\n                >\n                    {videoList.map((videoItem, index) => {\n                        return (\n                            <VideoGalleryVerticalItem\n                                videoItem={videoItem}\n                                onOpenVideoGalleryView={this.onOpenVideoGalleryView}\n                                videoIndex={index}\n                                key={videoItem.itemId}\n                                onPromoMouseHover={this.onPromoMouseHover}\n                            />\n                        )\n                    })}\n                </PromoCarousel >\n                {isFeedDisplay &&\n                    <div className=\"feedDisplay\">\n                        <Slider {...feedDisplaySettings} className=\"slider\" ref={slider => (this.slider = slider)} >\n                            {videoList.map((videoItem,index) => (\n                                   <VideoVerticalFeedItem\n                                   videoItem={videoItem}\n                                   key={videoItem.itemId}\n                                   feedActiveSlide={feedActiveSlide}\n                                   onNextSlide={this.onNextSlide}\n                                   onCloseVideoGalleryView={this.onCloseVideoGalleryView}\n                                   domain={domain}\n                                   index={index} />\n                            ))}\n                        </Slider>\n                    </div>\n                }\n            </div>\n        )\n    }\n}\n\nconst SampleNextArrow = (props) => {\n    const { onClick, feedActiveSlide, pushGA4Event } = props;\n    const shouldDisplayArrow = feedActiveSlide !== 0;\n    const handleClick = () => {\n        onClick();\n        pushGA4Event(\"swipe_right\",true);\n    }\n\n    return (\n        <button\n            className={`slickArrow slickNext ${shouldDisplayArrow ? \"\" : \"slickDisabled\"}`}\n            onClick={handleClick}\n        ></button>\n    );\n}\n\nconst SamplePrevArrow = (props) => {\n    const { onClick, feedActiveSlide, listLength, pushGA4Event } = props;\n    const shouldDisplayArrow = (feedActiveSlide + 1) !== listLength;\n    const handleClick = () => {\n        onClick();\n        pushGA4Event(\"swipe_left\",true);\n    }\n    return (\n        <button\n            className={`slickArrow slickPrev ${shouldDisplayArrow ? \"\" : \"slickDisabled\"}`}\n            onClick={handleClick}\n        ></button>\n    );\n}","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\n\ninterface VideoGalleryVerticalItemProps {\n    videoItem: SiteItemData\n    videoIndex: number\n    onOpenVideoGalleryView: (e) => void\n    onPromoMouseHover: (currentPromoIndex: number) => void\n}\n\ninterface VideoGalleryVerticalItemState {\n    isMouseHover: boolean\n}\n\nexport class VideoGalleryVerticalItem extends React.Component<VideoGalleryVerticalItemProps, VideoGalleryVerticalItemState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isMouseHover: false,\n        }\n    }\n\n    private videoRef;\n\n    private onMouseHover = () => {\n        const { videoIndex, onPromoMouseHover } = this.props;\n        this.setState({ isMouseHover: true });\n        onPromoMouseHover(videoIndex);\n        if (this.videoRef) this.videoRef.play();\n\n    }\n\n    private onMouseLeave = () => {\n        this.setState({ isMouseHover: false });\n        if (this.videoRef) this.videoRef.pause();\n    }\n\n    private secondsToMinutesHandler = (seconds: number) => {\n        const minutes = Math.floor(seconds / 60).toString().padStart(2, \"0\");\n        const newSeconds = (seconds % 60).toString().padStart(2, \"0\");\n        return `${minutes}:${newSeconds}`;\n    }\n\n    public render() {\n        const { isMouseHover } = this.state;\n        const { videoItem, onOpenVideoGalleryView, videoIndex } = this.props;\n        const { media, title } = videoItem;\n        const { duration, poster, promoPath } = media as SiteVideoData;\n        const shouldDisplayPromo = isMouseHover && promoPath;\n        const slotClasses = `slotView ${shouldDisplayPromo ? \"hovered\" : \"\"}`;\n\n        return (\n            <div className={slotClasses} onMouseEnter={this.onMouseHover} onMouseLeave={this.onMouseLeave} onClick={() => onOpenVideoGalleryView(videoIndex)} title=\"فتح الفيديو\">\n                {isMouseHover ?\n                    <video\n                        autoPlay={true}\n                        loop={true}\n                        ref={ref => this.videoRef = ref}\n                        muted\n                        poster={poster}\n                        className=\"promoVideo\" src={promoPath}>\n                    </video>\n                    :\n                    <img\n                        src={poster}\n                        alt=\"\" />\n                }\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className=\"videoDuration\"><span className=\"durationLogo\"></span> <span>{this.secondsToMinutesHandler(Math.round(duration))}</span></div>\n                </div>\n            </div>\n        )\n    }\n}\n","import Slider from \"react-slick\";\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { VideoVerticalFeedItemMutam } from \"./videoVerticalFeedItemMutam\";\nimport { PromoCarousel } from \"../../../ynet1280/videoGalleryVerticalWidget/components/promoCarousel\";\nimport { enablePageRefresh, disablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport * as ResizeObserver from \"resize-observer-polyfill\";\nimport { categoryObj } from \"./radionasVideoGalleryVerticalMutamComponenta\";\nimport { VideoGalleryVerticalItemMutam } from \"./VideoGalleryVerticalItemMutam\";\n\ninterface VideoGalleryVerticalMutamProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    shouldDisplayMobileAds: boolean\n    category: categoryObj\n    hideMoreButton: boolean\n    moreButtonText: string\n    domain: string\n}\n\ninterface VideoGalleryVerticalMutamState {\n    feedActiveSlide: number\n    isFeedDisplay: boolean\n    initialFeedSlide: number\n    togglePromoActive: boolean\n    currentPromoIndex: number\n    promoViewportWidth: number\n    lastIntersectedPromoIndex: number\n}\n\nexport class VideoGalleryVerticalMutam extends React.Component<VideoGalleryVerticalMutamProps, VideoGalleryVerticalMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            initialFeedSlide: 0,\n            feedActiveSlide: 0,\n            isFeedDisplay: false,\n            togglePromoActive: false,\n            currentPromoIndex: 0,\n            promoViewportWidth: 375,\n            lastIntersectedPromoIndex: 0,\n        }\n    }\n\n    private componentWrapperRef;\n    private resizeObserver: ResizeObserver;\n    private sliderRef;\n\n\n    componentDidMount() {\n        this.resizeObserver = new ResizeObserver(entries => entries.forEach(e => {\n            this.setState({ promoViewportWidth: e.contentRect.width })\n        }));\n        this.resizeObserver.observe(this.componentWrapperRef);\n    }\n\n    componentWillUnmount() {\n        this.resizeObserver && this.resizeObserver.disconnect();\n    }\n\n    private onOpenVideoGalleryView = (videoIndex: number) => {\n        const { videoList } = this.props;\n        const initialFeedSlide = videoList.findIndex((element) => element.itemId === videoList[videoIndex].itemId);\n        this.setState({ initialFeedSlide: initialFeedSlide, feedActiveSlide: initialFeedSlide }, () => { this.setState({ isFeedDisplay: true }) });\n        disablePageRefresh();\n    }\n\n    private onMoreVideosHandler = () => {\n        this.setState({ initialFeedSlide: 0, feedActiveSlide: 0, isFeedDisplay: true });\n    }\n\n    private onCloseVideoGalleryView = () => {\n        this.setState({ isFeedDisplay: false });\n        enablePageRefresh();\n    }\n\n    private onVideoEnded = () => {\n        this.setState({ togglePromoActive: !this.state.togglePromoActive });\n    }\n\n    private getItemIntoViewIndex = (itemIntoViewIndex: number) => {\n        this.setState({ currentPromoIndex: itemIntoViewIndex })\n    }\n    private onLastIntersectingPromoCHange = (lastPromoIndex: number) => {\n        this.setState({ lastIntersectedPromoIndex: lastPromoIndex })\n    }\n\n    private onChangeVideoHandler = () => {\n        setTimeout(() => {\n            const videoElement = document.querySelector(\".radionasVideoGalleryVerticalMutamComponenta .feedDisplay .slick-active .videoVerticalFeedItemMutam #player.is-paused .fp-engine\") as HTMLVideoElement;\n            if (videoElement) {\n                videoElement.currentTime = 0;\n                videoElement.click();\n            };\n        }, 600)\n    }\n\n    private onNextSlide = () => {\n        this.sliderRef.slickNext();\n        this.pushGA4Event(\"swipe_up\", true)\n    }\n\n    private pushGA4Event = (action: string, isFeedDisplay: boolean) => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { category } = this.props;\n        const actionPrefix = category && category.name ? (category.name === \"דף הבית\") ? \"homepage\" : category.name : \"homepage\";\n        const gaAction = isFeedDisplay ? `video_${action}` : `${actionPrefix}_${action}`;\n        \n        window.dataLayer.push({\n            event: \"content_click\",\n            vertical_video_action: gaAction,\n        });\n    };\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, hideMoreButton, moreButtonText, domain } = this.props;\n        const { isFeedDisplay, initialFeedSlide, feedActiveSlide, togglePromoActive, currentPromoIndex, promoViewportWidth, lastIntersectedPromoIndex } = this.state;\n        const basePromoWidthFit375 = 283;\n        const promoWidth = (promoViewportWidth / 375) * basePromoWidthFit375;\n        const feedDisplaySettings = {\n            infinite: false,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            initialSlide: initialFeedSlide,\n            autoplay: false,\n            vertical: true,\n            onSwipe: () => { this.onChangeVideoHandler() },\n            verticalSwiping: true,\n            beforeChange: (current, next) => {\n                const userSwipeDirection = next > current ? \"up\" : \"down\";\n                this.pushGA4Event(`swipe_${userSwipeDirection}`, true);\n            },\n            afterChange: (current) => {\n                this.setState({ feedActiveSlide: current });\n                this.onChangeVideoHandler();\n            },\n        };\n\n        return (\n            <div className=\"videoGalleryVerticalMutamWrapper\" ref={componentWrapperRef => (this.componentWrapperRef = componentWrapperRef)}>\n                {isFeedDisplay ?\n                    <div className=\"feedDisplay\">\n                        <Slider {...feedDisplaySettings} className=\"slider\" ref={(sliderRef) => (this.sliderRef = sliderRef)}>\n                            {videoList.map((videoItem, index) => {\n                                const arrowDisplay = index === videoList.length - 1 ? \"none\" : \"\";\n                                return (\n                                    <VideoVerticalFeedItemMutam\n                                        videoItem={videoItem}\n                                        key={videoItem.itemId}\n                                        initialFeedSlide={initialFeedSlide}\n                                        feedActiveSlide={feedActiveSlide}\n                                        feedIndex={index}\n                                        onCloseVideoGalleryView={this.onCloseVideoGalleryView}\n                                        arrowDisplay={arrowDisplay}\n                                        onNextSlide={this.onNextSlide}\n                                        domain={domain}\n                                        index={index} />\n                                )\n\n                            })}\n                        </Slider>\n                    </div>\n                    :\n                    <>\n                        {isTabVisible && <div className=\"videoGalleryVerticalTab componentaTab\"><div className=\"rightTitleText\">{tabTitleText}</div></div>}\n                        <PromoCarousel\n                            imageWidth={promoWidth}\n                            width={640}\n                            itemListLength={videoList.length}\n                            marginRight={0}\n                            togglePromoActive={togglePromoActive}\n                            currentPromoIndex={currentPromoIndex}\n                            videoList={videoList}\n                            isMobileWeb={true}\n                            pushGA4Event={this.pushGA4Event}\n                        >\n                            {videoList.map((videoItem, index) => {\n                                return (\n                                    <VideoGalleryVerticalItemMutam\n                                        videoItem={videoItem}\n                                        onOpenVideoGalleryView={this.onOpenVideoGalleryView}\n                                        videoIndex={index}\n                                        key={videoItem.itemId}\n                                        onVideoEnded={this.onVideoEnded}\n                                        getItemIntoViewIndex={this.getItemIntoViewIndex}\n                                        onLastIntersectingPromoCHange={this.onLastIntersectingPromoCHange}\n                                        lastIntersectedPromoIndex={lastIntersectedPromoIndex}\n                                        pushGA4Event={this.pushGA4Event}\n                                    />\n                                )\n                            })}\n                        </PromoCarousel >\n                        {!hideMoreButton && <div className=\"moreButton\" onClick={this.onMoreVideosHandler}>{moreButtonText}</div>}\n                    </>\n                }\n            </div>\n        )\n    }\n}\n","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\nimport { FrontCopyButton } from \"../../../../commonComponents/inline/frontCopyButton/frontCopyButton\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\nimport { openFacebookShare, openTwitterShare } from \"../../../../widgetsUtils\";\nimport { WhatsAppShareButton } from \"../../../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\";\n\ninterface VideoVerticalFeedItemProps {\n    videoItem: SiteItemData\n    feedActiveSlide: number\n    domain: string\n    index: number\n    onNextSlide: () => void\n    onCloseVideoGalleryView: () => void\n}\n\ninterface VideoVerticalFeedItemState {\n    isSubtitleOpen: boolean\n    isMediaShareVisible: boolean\n}\n\nconst DICT = {\n    copyLink: \"نسخ الوصلة\",\n    linkCopied: \"تم نسخ الرابط إلى الحافظة\",\n    fullArticle: \"إلى المقال كاملا\",\n}\nexport class VideoVerticalFeedItem extends React.Component<VideoVerticalFeedItemProps, VideoVerticalFeedItemState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isSubtitleOpen: false,\n            isMediaShareVisible: false,\n        }\n    }\n\n    componentDidMount() {\n        this.initializeEndedEventListeners();\n        document.addEventListener('click', this.handleClickOutside);\n    }\n\n    componentWillUnmount() {\n        this.removeEndedEventListeners();\n        document.removeEventListener('click', this.handleClickOutside);\n    }\n\n    private handleClickOutside = (event: MouseEvent) => {\n        if ((event.target as Element).className.includes(\"slick-slide\")) this.props.onCloseVideoGalleryView();\n    };\n\n    private initializeEndedEventListeners() {\n        setTimeout(() => {\n            const videoElements = document.querySelectorAll(\".radionasVideoGalleryVerticalComponenta .feedDisplay .slick-slide .videoVerticalFeedItem #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n            if (videoElements.length) {\n                videoElements.forEach((element) => {\n                    element.addEventListener(\"ended\", this.handleVideoEnded);\n                })\n            };\n        }, 600)\n    }\n\n    private removeEndedEventListeners() {\n        const videoElements = document.querySelectorAll(\".radionasVideoGalleryVerticalComponenta .feedDisplay .slick-slide .videoVerticalFeedItem #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n        if (videoElements.length) {\n            videoElements.forEach((element) => {\n                element.removeEventListener(\"ended\", this.handleVideoEnded)\n            })\n        };\n    }\n\n    private handleVideoEnded = (e) => {\n        e.target.currentTime = 0;\n        e.target.click();\n        this.props.onNextSlide();\n    }\n\n    componentDidUpdate(prevProps, prevState) {\n        if (prevProps.feedActiveSlide !== this.props.feedActiveSlide) {\n            setTimeout(() => {\n                const videoElement = document.querySelector(\".radionasVideoGalleryVerticalComponenta .feedDisplay .slick-active .videoVerticalFeedItem #player.is-paused .fp-engine\") as HTMLVideoElement;\n                const unActiveVideoElement = document.querySelector(\".radionasVideoGalleryVerticalComponenta .feedDisplay .slick-slide:not(.slick-active) .videoVerticalFeedItem #player.is-playing .fp-engine\") as HTMLVideoElement;\n                if (videoElement) {\n                    setTimeout(() => {\n                        if (videoElement.paused) {\n                            videoElement.pause();\n                            videoElement.currentTime = 0;\n                            videoElement.play();\n                        }\n                    }, 500)\n                };\n                if (unActiveVideoElement) unActiveVideoElement.click();\n            }, 600)\n        }\n    }\n\n    private onSubtitleModeToggle = () => {\n        this.setState({ isSubtitleOpen: !this.state.isSubtitleOpen });\n    }\n\n    private onMediaShareToggle = () => {\n        this.setState({ isMediaShareVisible: !this.state.isMediaShareVisible });\n    }\n\n    private handleShareBtnClicked = (button: string) => {\n        this.setState({ isMediaShareVisible: false });\n        const { domain, videoItem } = this.props;\n\n        if (typeof window !== \"undefined\") {\n            const baseUrl = `${domain}/video/${(videoItem.media as SiteVideoData).videoPageId}`;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(baseUrl, \"\")\n                    break;\n                case \"tw\":\n                    openTwitterShare(baseUrl)\n                    break;\n                case \"wa\":\n                    WhatsAppShareButton.openWhatsAppShare(baseUrl)\n                    break;\n            }\n        }\n    }\n\n    private pushGA4Event = () => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { index } = this.props;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            componenta_name: \"vertical_video\",\n            content_type: \"componenta\",\n            position_in_component: index,\n            click_text: \"לכתבה המלאה\"\n        });\n    };\n\n    public render() {\n        const { isSubtitleOpen, isMediaShareVisible } = this.state;\n        const { videoItem, domain, feedActiveSlide, index } = this.props;\n        const { media, title, subTitle, titleLink, titleTargetLink } = videoItem;\n        const subtitleClass = `videoSubtitle ${isSubtitleOpen ? \"\" : \"close\"}`;\n        const videoPageId = (videoItem.media as SiteVideoData).videoPageId;\n        const videoPageShareUrl = `${domain}/video/${videoPageId}`;\n        const shouldDisplayVideo = (feedActiveSlide === index || feedActiveSlide === index - 1 || feedActiveSlide === index + 1);\n\n        return (\n            <div className=\"videoVerticalFeedItem\">\n                {videoPageId &&\n                    <div className=\"shareArea\">\n                        <div className=\"shareBtn\" onClick={this.onMediaShareToggle}></div>\n                        {isMediaShareVisible &&\n                            <div className=\"mediaShareWrapper\">\n                                <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"fb\")}>\n                                    <div className=\"mediaShareIcon facebook\"></div>\n                                    <div className=\"mediaShareText\">Facebook</div>\n                                </div>\n                                <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"wa\")}>\n                                    <div className=\"mediaShareIcon whatsapp\"></div>\n                                    <div className=\"mediaShareText\">WhatsApp</div>\n                                </div>\n                                <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"tw\")}>\n                                    <div className=\"mediaShareIcon twitter\"></div>\n                                    <div className=\"mediaShareText\">Twitter</div>\n                                </div>\n                                <div className=\"mediaShareItem\">\n                                    <FrontCopyButton popupText={DICT.linkCopied} title={title} url={videoPageShareUrl} />\n                                    <div className=\"mediaShareText\">{DICT.copyLink}</div>\n                                </div>\n                            </div>\n                        }\n                    </div>\n                }\n                {shouldDisplayVideo &&\n                    <SiteVideoInline\n                        data={media as SiteVideoData}\n                        applyStickyness={true}\n                        width={400}\n                        height={714}\n                        hideVideoAds={true}\n                        isShareButton={true}\n                        runArticleAutoPlayLogic={false} />\n                }\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className={subtitleClass} onClick={this.onSubtitleModeToggle} dangerouslySetInnerHTML={{ __html: subTitle }} />\n                    {titleLink &&\n                        <div onClick={this.pushGA4Event}>\n                            <HyperLinkBuilder\n                                className=\"videoLink\"\n                                href={titleLink}\n                                linkTarget={titleTargetLink}\n                            >\n                                {DICT.fullArticle}\n                            </HyperLinkBuilder>\n                        </div>\n                    }\n                </div>\n            </div>\n        )\n    }\n}","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\n\ninterface VideoVerticalFeedItemMutamProps {\n    videoItem: SiteItemData\n    initialFeedSlide: number\n    feedActiveSlide: number\n    feedIndex: number\n    arrowDisplay: string\n    domain: string\n    index: number\n    onCloseVideoGalleryView: () => void\n    onNextSlide: () => void\n}\n\ninterface VideoVerticalFeedItemMutamState {\n    isSubtitleOpen: boolean\n}\n\nconst DICT = {\n    nextVideo: \"إلى الفيديو التالي\",\n    fullArticle: \"إلى المقال كاملا\",\n}\n\nexport class VideoVerticalFeedItemMutam extends React.Component<VideoVerticalFeedItemMutamProps, VideoVerticalFeedItemMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isSubtitleOpen: false,\n        }\n    }\n\n    componentDidMount() {\n        this.initializeEndedEventListeners();\n    }\n\n    componentWillUnmount() {\n        this.removeEndedEventListeners();\n    }\n\n    private initializeEndedEventListeners() {\n        setTimeout(() => {\n            const videoElements = document.querySelectorAll(\".radionasVideoGalleryVerticalMutamComponenta .feedDisplay .slick-slide .videoVerticalFeedItemMutam #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n            if (videoElements.length) {\n                videoElements.forEach((element) => {\n                    element.addEventListener(\"ended\", this.handleVideoEnded);\n                })\n            };\n        }, 600)\n    }\n\n    private removeEndedEventListeners() {\n        const videoElements = document.querySelectorAll(\".radionasVideoGalleryVerticalMutamComponenta .feedDisplay .slick-slide .videoVerticalFeedItemMutam #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n        if (videoElements.length) {\n            videoElements.forEach((element) => {\n                element.removeEventListener(\"ended\", this.handleVideoEnded)\n            })\n        };\n    }\n\n    private handleVideoEnded = (e) => {\n        e.target.currentTime = 0;\n        e.target.click();\n        this.props.onNextSlide();\n    }\n\n    private onSubtitleModeToggle = () => {\n        this.setState({ isSubtitleOpen: !this.state.isSubtitleOpen });\n    }\n\n    private openShare = async () => {\n        const { domain, videoItem: { media } } = this.props;\n        const shareUrl = `${domain}/video/${(media as SiteVideoData).videoPageId}`;\n        const shareData = { url: shareUrl };\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    private pushGA4Event = () => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { index } = this.props;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            componenta_name: \"vertical_video\",\n            content_type: \"componenta\",\n            position_in_component: index,\n            click_text: \"לכתבה המלאה\"\n        });\n    };\n\n    public render() {\n        const { isSubtitleOpen } = this.state;\n        const { videoItem, onCloseVideoGalleryView, arrowDisplay, onNextSlide, index, feedActiveSlide } = this.props;\n        const { media, title, subTitle, titleLink, titleTargetLink } = videoItem;\n        const subtitleClass = `videoSubtitle ${isSubtitleOpen ? \"\" : \"close\"}`;\n        const feedItemClass = `videoVerticalFeedItemMutam ${isSubtitleOpen ? \"openMode\" : \"standardMode\"}`;\n        const videoPageId = (media as SiteVideoData).videoPageId;\n        const shouldDisplayVideo = (feedActiveSlide === index || feedActiveSlide === index - 1 || feedActiveSlide === index + 1);\n\n        return (\n            <div className={feedItemClass}>\n                {shouldDisplayVideo &&\n                    <SiteVideoInline\n                        data={media as SiteVideoData}\n                        applyStickyness={true}\n                        hideVideoAds={true}\n                        isShareButton={false}\n                    />\n                }\n                <div className={`arrow arrowNext ${arrowDisplay}`} onClick={onNextSlide}>{DICT.nextVideo}</div>\n                <div className=\"closeBtn\" onClick={onCloseVideoGalleryView}></div>\n                {videoPageId && <div className=\"shareBtn\" onClick={this.openShare}></div>}\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className={subtitleClass} onClick={this.onSubtitleModeToggle} dangerouslySetInnerHTML={{ __html: subTitle }} />\n                    {titleLink &&\n                        <div onClick={this.pushGA4Event}>\n                            <HyperLinkBuilder\n                                className=\"videoLink\"\n                                href={titleLink}\n                                linkTarget={titleTargetLink}\n                            >\n                                {DICT.fullArticle}\n                            </HyperLinkBuilder>\n                        </div>\n                    }\n                </div>\n            </div>\n        )\n    }\n}","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\n\ninterface VideoVerticalFeedItemMutamProps {\n    videoItem: SiteItemData\n    initialFeedSlide: number\n    feedActiveSlide: number\n    feedIndex: number\n    arrowDisplay: string\n    domain: string\n    index: number\n    onCloseVideoGalleryView: () => void\n    onNextSlide: () => void\n}\n\ninterface VideoVerticalFeedItemMutamState {\n    isSubtitleOpen: boolean\n}\n\nconst DICT = {\n    nextVideo: \"إلى الفيديو التالي\",\n    fullArticle: \"إلى المقال كاملا\",\n}\n\nexport class VideoVerticalFeedItemMutam extends React.Component<VideoVerticalFeedItemMutamProps, VideoVerticalFeedItemMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isSubtitleOpen: false,\n        }\n    }\n\n    componentDidMount() {\n        this.initializeEndedEventListeners();\n    }\n\n    componentWillUnmount() {\n        this.removeEndedEventListeners();\n    }\n\n    private initializeEndedEventListeners() {\n        setTimeout(() => {\n            const videoElements = document.querySelectorAll(\".radionasVideoGalleryVerticalMutamComponenta .feedDisplay .slick-slide .videoVerticalFeedItemMutam #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n            if (videoElements.length) {\n                videoElements.forEach((element) => {\n                    element.addEventListener(\"ended\", this.handleVideoEnded);\n                })\n            };\n        }, 600)\n    }\n\n    private removeEndedEventListeners() {\n        const videoElements = document.querySelectorAll(\".radionasVideoGalleryVerticalMutamComponenta .feedDisplay .slick-slide .videoVerticalFeedItemMutam #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n        if (videoElements.length) {\n            videoElements.forEach((element) => {\n                element.removeEventListener(\"ended\", this.handleVideoEnded)\n            })\n        };\n    }\n\n    private handleVideoEnded = (e) => {\n        e.target.currentTime = 0;\n        e.target.click();\n        this.props.onNextSlide();\n    }\n\n    private openShare = async () => {\n        const { domain, videoItem: { media } } = this.props;\n        const shareUrl = `${domain}/video/${(media as SiteVideoData).videoPageId}`;\n        const shareData = { url: shareUrl };\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    public render() {\n        const { isSubtitleOpen } = this.state;\n        const { videoItem, onCloseVideoGalleryView, arrowDisplay, onNextSlide } = this.props;\n        const { media, title  } = videoItem;\n        const feedItemClass = `videoVerticalFeedItemMutam ${isSubtitleOpen ? \"openMode\" : \"standardMode\"}`;\n        const videoPageId = (media as SiteVideoData).videoPageId;\n\n        return (\n            <div className={feedItemClass}>\n                <SiteVideoInline\n                    data={media as SiteVideoData}\n                    applyStickyness={true}\n                    hideVideoAds={true}\n                    isShareButton={false}\n                />\n                <div className={`arrow arrowNext ${arrowDisplay}`} onClick={onNextSlide}>{DICT.nextVideo}</div>\n                <div className=\"closeBtn\" onClick={onCloseVideoGalleryView}></div>\n                {videoPageId && <div className=\"shareBtn\" onClick={this.openShare}></div>}\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                </div>\n            </div>\n        )\n    }\n}","import { SiteItemData } from \"../../../../interfaces\";\nimport { isWcmEditor } from \"../../../../../config/serverConfig\";\nimport { VideoGalleryVerticalDesktop } from \"./videoGalleryVerticalDesktop\";\n\nexport interface categoryObj {\n    id: string\n    categoryColor: string\n    name:string\n}\n\ninterface VideoGalleryVerticalComponentaProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    category: categoryObj\n    domain: string\n}\n\nexport class VideoGalleryVerticalAutoComponenta extends React.Component<VideoGalleryVerticalComponentaProps, {}>{\n    public static siteScriptName = \"RadionasVideoGalleryVerticalAutoComponenta\";\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, repeatAds, maxAds, firstAdPlace, category, domain } = this.props;\n        const componentClass = `radionasVideoGalleryVerticalAutoComponenta ${isWcmEditor() ? \"editMode\" : \"\"}`;\n\n        return (\n            <div className={componentClass}>\n                <VideoGalleryVerticalDesktop\n                    videoList={videoList}\n                    isTabVisible={isTabVisible}\n                    tabTitleText={tabTitleText}\n                    repeatAds={repeatAds}\n                    maxAds={maxAds}\n                    firstAdPlace={firstAdPlace}\n                    category={category}\n                    domain={domain}/>\n            </div>\n        )\n    }\n}\n","import { SiteItemData } from \"../../../../interfaces\";\nimport { VideoGalleryVerticalMutam } from \"./videoGalleryVerticalMutam\";\n\nexport interface categoryObj {\n    id: string\n    categoryColor: string\n    name:string\n}\n\ninterface VideoGalleryVerticalComponentaProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    firstAdPlace: number\n    maxAds: number\n    repeatAds: number\n    shouldDisplayMobileAds: boolean\n    category: categoryObj\n    hideMoreButton:boolean \n    moreButtonText:string\n    domain: string\n}\n\nexport class VideoGalleryVerticalAutoMutamComponenta extends React.Component<VideoGalleryVerticalComponentaProps, {}>{\n    public static siteScriptName = \"RadionasVideoGalleryVerticalAutoMutamComponenta\";\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, repeatAds, maxAds, firstAdPlace, category, domain, hideMoreButton, moreButtonText, shouldDisplayMobileAds } = this.props;\n\n        return (\n            <div className=\"radionasVideoGalleryVerticalAutoMutamComponenta\">\n                <VideoGalleryVerticalMutam\n                     videoList={videoList}\n                     isTabVisible={isTabVisible}\n                     tabTitleText={tabTitleText}\n                     repeatAds={repeatAds}\n                     maxAds={maxAds}\n                     firstAdPlace={firstAdPlace}\n                     hideMoreButton={hideMoreButton}\n                     moreButtonText={moreButtonText}\n                     shouldDisplayMobileAds={shouldDisplayMobileAds}\n                     category={category}\n                     domain={domain}/>\n            </div>\n        )\n    }\n}\n","import { VideoGalleryVerticalItem } from \"./videoGalleryVerticalItem\";\nimport Slider from \"react-slick\"\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { VideoVerticalFeedItem } from \"./videoVerticalFeedItem\";\nimport { PromoCarousel } from \"../../../ynet1280/videoGalleryVerticalWidget/components/promoCarousel\";\nimport { disablePageRefresh, enablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport { categoryObj } from \"./videoGalleryVerticalAutoComponenta\";\n\ninterface VideoGalleryVerticalDesktopProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    category: categoryObj\n    domain: string\n}\n\ninterface VideoGalleryVerticalDesktopState {\n    feedActiveSlide: number\n    isFeedDisplay: boolean\n    initialFeedSlide: number\n    togglePromoActive: boolean\n    currentPromoIndex: number\n}\n\nexport class VideoGalleryVerticalDesktop extends React.Component<VideoGalleryVerticalDesktopProps, VideoGalleryVerticalDesktopState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            feedActiveSlide: 0,\n            isFeedDisplay: false,\n            initialFeedSlide: 0,\n            togglePromoActive: false,\n            currentPromoIndex: 0\n        };\n        this.handleKeyPress = this.handleKeyPress.bind(this);\n    }\n\n    private slider;\n\n    componentDidMount() {\n        document.addEventListener('keydown', this.handleKeyPress);\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener('keydown', this.handleKeyPress);\n    }\n\n\n    private onOpenVideoGalleryView = (videoIndex: number) => {\n        const { videoList } = this.props;\n        const initialFeedSlide = videoList.findIndex((element) => element.itemId === videoList[videoIndex].itemId);\n        this.setState({ initialFeedSlide: initialFeedSlide, feedActiveSlide: initialFeedSlide }, () => { this.setState({ isFeedDisplay: true }) });\n        disablePageRefresh();\n    }\n\n    private onCloseVideoGalleryView = () => {\n        this.setState({ isFeedDisplay: false });\n        enablePageRefresh();\n    }\n\n    private onPromoMouseHover = (currentPromoIndex: number) => {\n        this.setState({ currentPromoIndex: currentPromoIndex });\n    }\n\n    private handleKeyPress(e) {\n        if (e.keyCode === 27) {\n            this.onCloseVideoGalleryView();\n        }\n    }\n\n    private onNextSlide = () => {\n        this.slider.slickPrev();\n        this.pushGA4Event(\"swipe_left\", true);\n    }\n\n    private pushGA4Event = (action: string, isFeedDisplay: boolean) => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { category } = this.props;\n        const actionPrefix = category && category.name ? (category.name === \"דף הבית\") ? \"homepage\" : category.name : \"homepage\";\n        const gaAction = isFeedDisplay ? `video_${action}` : `${actionPrefix}_${action}`;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            vertical_video_action: gaAction,\n        });\n    };\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, domain } = this.props;\n        const { isFeedDisplay, initialFeedSlide, feedActiveSlide, togglePromoActive, currentPromoIndex } = this.state;\n\n        const feedDisplaySettings = {\n            infinite: false,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            initialSlide: initialFeedSlide,\n            draggable: false,\n            rtl: true,\n            beforeChange: (current, next) => this.setState({ feedActiveSlide: Math.abs(next - videoList.length + 1) }),\n            nextArrow: <SampleNextArrow feedActiveSlide={feedActiveSlide} listLength={videoList.length} pushGA4Event={this.pushGA4Event}/>,\n            prevArrow: <SamplePrevArrow feedActiveSlide={feedActiveSlide} listLength={videoList.length} pushGA4Event={this.pushGA4Event}/>,\n        };\n\n        return (\n            <div className=\"videoGalleryVerticalDesktopWrapper\">\n                {isTabVisible && <div className=\"videoGalleryVerticalTab componentaTab\"><div className=\"rightTitleText\">{tabTitleText}</div></div>}\n                {isFeedDisplay && <div className=\"closeBtn\" onClick={this.onCloseVideoGalleryView}></div>}\n                <PromoCarousel\n                    imageWidth={273}\n                    width={1240}\n                    itemListLength={videoList.length}\n                    marginRight={20}\n                    togglePromoActive={togglePromoActive}\n                    currentPromoIndex={currentPromoIndex}\n                    videoList={videoList}\n                    pushGA4Event={this.pushGA4Event}\n                >\n                    {videoList.map((videoItem, index) => {\n                        return (\n                            <VideoGalleryVerticalItem\n                                videoItem={videoItem}\n                                onOpenVideoGalleryView={this.onOpenVideoGalleryView}\n                                videoIndex={index}\n                                key={videoItem.itemId}\n                                onPromoMouseHover={this.onPromoMouseHover}\n                            />\n                        )\n                    })}\n                </PromoCarousel >\n                {isFeedDisplay &&\n                    <div className=\"feedDisplay\">\n                        <Slider {...feedDisplaySettings} className=\"slider\" ref={slider => (this.slider = slider)} >\n                            {videoList.map((videoItem,index) => (\n                                   <VideoVerticalFeedItem\n                                   videoItem={videoItem}\n                                   key={videoItem.itemId}\n                                   feedActiveSlide={feedActiveSlide}\n                                   onNextSlide={this.onNextSlide}\n                                   onCloseVideoGalleryView={this.onCloseVideoGalleryView}\n                                   domain={domain}\n                                   index={index} />\n                            ))}\n                        </Slider>\n                    </div>\n                }\n            </div>\n        )\n    }\n}\n\nconst SampleNextArrow = (props) => {\n    const { onClick, feedActiveSlide, pushGA4Event } = props;\n    const shouldDisplayArrow = feedActiveSlide !== 0;\n    const handleClick = () => {\n        onClick();\n        pushGA4Event(\"swipe_right\",true);\n    }\n\n    return (\n        <button\n            className={`slickArrow slickNext ${shouldDisplayArrow ? \"\" : \"slickDisabled\"}`}\n            onClick={handleClick}\n        ></button>\n    );\n}\n\nconst SamplePrevArrow = (props) => {\n    const { onClick, feedActiveSlide, listLength, pushGA4Event } = props;\n    const shouldDisplayArrow = (feedActiveSlide + 1) !== listLength;\n    const handleClick = () => {\n        onClick();\n        pushGA4Event(\"swipe_left\",true);\n    }\n    return (\n        <button\n            className={`slickArrow slickPrev ${shouldDisplayArrow ? \"\" : \"slickDisabled\"}`}\n            onClick={handleClick}\n        ></button>\n    );\n}","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\n\ninterface VideoGalleryVerticalItemProps {\n    videoItem: SiteItemData\n    videoIndex: number\n    onOpenVideoGalleryView: (e) => void\n    onPromoMouseHover: (currentPromoIndex: number) => void\n}\n\ninterface VideoGalleryVerticalItemState {\n    isMouseHover: boolean\n}\n\nexport class VideoGalleryVerticalItem extends React.Component<VideoGalleryVerticalItemProps, VideoGalleryVerticalItemState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isMouseHover: false,\n        }\n    }\n\n    private videoRef;\n\n    private onMouseHover = () => {\n        const { videoIndex, onPromoMouseHover } = this.props;\n        this.setState({ isMouseHover: true });\n        onPromoMouseHover(videoIndex);\n        if (this.videoRef) this.videoRef.play();\n\n    }\n\n    private onMouseLeave = () => {\n        this.setState({ isMouseHover: false });\n        if (this.videoRef) this.videoRef.pause();\n    }\n\n    private secondsToMinutesHandler = (seconds: number) => {\n        const minutes = Math.floor(seconds / 60).toString().padStart(2, \"0\");\n        const newSeconds = (seconds % 60).toString().padStart(2, \"0\");\n        return `${minutes}:${newSeconds}`;\n    }\n\n    public render() {\n        const { isMouseHover } = this.state;\n        const { videoItem, onOpenVideoGalleryView, videoIndex } = this.props;\n        const { media, title } = videoItem;\n        const { duration, poster, promoPath } = media as SiteVideoData;\n        const shouldDisplayPromo = isMouseHover && promoPath;\n        const slotClasses = `slotView ${shouldDisplayPromo ? \"hovered\" : \"\"}`;\n\n        return (\n            <div className={slotClasses} onMouseEnter={this.onMouseHover} onMouseLeave={this.onMouseLeave} onClick={() => onOpenVideoGalleryView(videoIndex)}>\n                {isMouseHover ?\n                    <video\n                        autoPlay={true}\n                        loop={true}\n                        ref={ref => this.videoRef = ref}\n                        muted\n                        poster={poster}\n                        className=\"promoVideo\" src={promoPath}>\n                    </video>\n                    :\n                    <img\n                        src={poster}\n                        alt=\"\" />\n                }\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className=\"videoDuration\"><span className=\"durationLogo\"></span> <span>{this.secondsToMinutesHandler(Math.round(duration))}</span></div>\n                </div>\n            </div>\n        )\n    }\n}\n","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\n\ninterface VideoGalleryVerticalItemMutamProps {\n    videoItem: SiteItemData\n    videoIndex: number\n    lastIntersectedPromoIndex: number\n    onOpenVideoGalleryView: (e) => void\n    onVideoEnded: () => void\n    getItemIntoViewIndex: (itemIntoViewIndex: number) => void\n    onLastIntersectingPromoCHange: (lastPromoIndex: number) => void\n    pushGA4Event: (action: string, isFeedDisplay: boolean) => void\n}\n\ninterface VideoGalleryVerticalItemMutamState {\n    isItemIntoView: boolean\n}\n\nexport class VideoGalleryVerticalItemMutam extends React.Component<VideoGalleryVerticalItemMutamProps, VideoGalleryVerticalItemMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isItemIntoView: false,\n        }\n    }\n\n    private videoRef;\n    private slotRef;\n    private intersectionObserver: IntersectionObserver;\n\n    componentDidMount() {\n        this.initObserver();\n    }\n\n    componentWillUnmount() {\n        this.intersectionObserver && this.intersectionObserver.disconnect();\n    }\n\n    private onVideoIntersectViewport = () => {\n        const { getItemIntoViewIndex, videoIndex, onLastIntersectingPromoCHange } = this.props;\n        this.setState({ isItemIntoView: true });\n        onLastIntersectingPromoCHange(videoIndex)\n        getItemIntoViewIndex(videoIndex)\n        if (this.videoRef) this.videoRef.play();\n    }\n\n    private onVideoLeaveViewport = () => {\n        this.setState({ isItemIntoView: false });\n        if (this.videoRef) this.videoRef.pause();\n    }\n\n    private secondsToMinutesHandler = (seconds: number) => {\n        const minutes = Math.floor(seconds / 60).toString().padStart(2, \"0\");\n        const newSeconds = (seconds % 60).toString().padStart(2, \"0\");\n        return `${minutes}:${newSeconds}`;\n    }\n\n    private initObserver = () => {\n        this.intersectionObserver = new IntersectionObserver(entry => {\n            entry[0].isIntersecting ? this.onVideoIntersectViewport() : this.onVideoLeaveViewport();\n        }, { threshold: 0.8 })\n        this.intersectionObserver.observe(this.slotRef);\n    }\n\n    public render() {\n        const { isItemIntoView } = this.state;\n        const { videoItem, onOpenVideoGalleryView, videoIndex, onVideoEnded } = this.props;\n        const { media, title } = videoItem;\n        const { duration, poster, promoPath } = media as SiteVideoData;\n        const shouldDisplayPromo = isItemIntoView && promoPath;\n        const slotClasses = `slotView ${shouldDisplayPromo ? \"active\" : \"\"}`;\n\n        return (\n            <div\n                className={slotClasses}\n                onClick={() => onOpenVideoGalleryView(videoIndex)}\n                ref={ref => this.slotRef = ref}\n            >\n                {shouldDisplayPromo ?\n                    <video\n                        autoPlay={true}\n                        loop={false}\n                        ref={ref => this.videoRef = ref}\n                        muted\n                        poster={poster}\n                        onEnded={onVideoEnded}\n                        className=\"promoVideo\" src={promoPath}\n                        playsInline\n                        webkit-playsInline>\n                    </video>\n                    :\n                    <img\n                        src={poster}\n                        alt=\"\" />\n                }\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className=\"videoDuration\"><span className=\"durationLogo\"></span> <span>{this.secondsToMinutesHandler(Math.round(duration))}</span></div>\n                </div>\n            </div>\n        )\n    }\n}\n","import Slider from \"react-slick\";\nimport { PromoCarousel } from \"../../../ynet1280/videoGalleryVerticalWidget/components/promoCarousel\";\nimport { enablePageRefresh, disablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport * as ResizeObserver from \"resize-observer-polyfill\";\nimport { categoryObj } from \"./videoGalleryVerticalAutoMutamComponenta\";\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { VideoVerticalFeedItemMutam } from \"./VideoVerticalFeedItemMutam\";\nimport { VideoGalleryVerticalItemMutam } from \"./videoGalleryVerticalItemMutam\";\n\ninterface VideoGalleryVerticalMutamProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    shouldDisplayMobileAds: boolean\n    category: categoryObj\n    hideMoreButton: boolean\n    moreButtonText: string\n    domain: string\n}\n\ninterface VideoGalleryVerticalMutamState {\n    feedActiveSlide: number\n    isFeedDisplay: boolean\n    initialFeedSlide: number\n    togglePromoActive: boolean\n    currentPromoIndex: number\n    promoViewportWidth: number\n    lastIntersectedPromoIndex: number\n}\n\nexport class VideoGalleryVerticalMutam extends React.Component<VideoGalleryVerticalMutamProps, VideoGalleryVerticalMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            initialFeedSlide: 0,\n            feedActiveSlide: 0,\n            isFeedDisplay: false,\n            togglePromoActive: false,\n            currentPromoIndex: 0,\n            promoViewportWidth: 375,\n            lastIntersectedPromoIndex: 0,\n        }\n    }\n\n    private componentWrapperRef;\n    private resizeObserver: ResizeObserver;\n    private sliderRef;\n\n\n    componentDidMount() {\n        this.resizeObserver = new ResizeObserver(entries => entries.forEach(e => {\n            this.setState({ promoViewportWidth: e.contentRect.width })\n        }));\n        this.resizeObserver.observe(this.componentWrapperRef);\n    }\n\n    componentWillUnmount() {\n        this.resizeObserver && this.resizeObserver.disconnect();\n    }\n\n    private onOpenVideoGalleryView = (videoIndex: number) => {\n        const { videoList } = this.props;\n        const initialFeedSlide = videoList.findIndex((element) => element.itemId === videoList[videoIndex].itemId);\n        this.setState({ initialFeedSlide: initialFeedSlide, feedActiveSlide: initialFeedSlide }, () => { this.setState({ isFeedDisplay: true }) });\n        disablePageRefresh();\n    }\n\n    private onMoreVideosHandler = () => {\n        this.setState({ initialFeedSlide: 0, feedActiveSlide: 0, isFeedDisplay: true });\n    }\n\n    private onCloseVideoGalleryView = () => {\n        this.setState({ isFeedDisplay: false });\n        enablePageRefresh();\n    }\n\n    private onVideoEnded = () => {\n        this.setState({ togglePromoActive: !this.state.togglePromoActive });\n    }\n\n    private getItemIntoViewIndex = (itemIntoViewIndex: number) => {\n        this.setState({ currentPromoIndex: itemIntoViewIndex })\n    }\n    private onLastIntersectingPromoCHange = (lastPromoIndex: number) => {\n        this.setState({ lastIntersectedPromoIndex: lastPromoIndex })\n    }\n\n    private onChangeVideoHandler = () => {\n        setTimeout(() => {\n            const videoElement = document.querySelector(\".radionasVideoGalleryVerticalMutamComponenta .feedDisplay .slick-active .videoVerticalFeedItemMutam #player.is-paused .fp-engine\") as HTMLVideoElement;\n            if (videoElement) {\n                videoElement.currentTime = 0;\n                videoElement.click();\n            };\n        }, 600)\n    }\n\n    private onNextSlide = () => {\n        this.sliderRef.slickNext();\n        this.pushGA4Event(\"swipe_up\", true)\n    }\n\n    private pushGA4Event = (action: string, isFeedDisplay: boolean) => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { category } = this.props;\n        const actionPrefix = category && category.name ? (category.name === \"דף הבית\") ? \"homepage\" : category.name : \"homepage\";\n        const gaAction = isFeedDisplay ? `video_${action}` : `${actionPrefix}_${action}`;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            vertical_video_action: gaAction,\n        });\n    };\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, hideMoreButton, moreButtonText, domain } = this.props;\n        const { isFeedDisplay, initialFeedSlide, feedActiveSlide, togglePromoActive, currentPromoIndex, promoViewportWidth, lastIntersectedPromoIndex } = this.state;\n        const basePromoWidthFit375 = 283;\n        const promoWidth = (promoViewportWidth / 375) * basePromoWidthFit375;\n        const feedDisplaySettings = {\n            infinite: false,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            initialSlide: initialFeedSlide,\n            autoplay: false,\n            vertical: true,\n            onSwipe: () => { this.onChangeVideoHandler() },\n            verticalSwiping: true,\n            beforeChange: (current, next) => {\n                const userSwipeDirection = next > current ? \"up\" : \"down\";\n                this.pushGA4Event(`swipe_${userSwipeDirection}`, true);\n            },\n            afterChange: (current) => {\n                this.setState({ feedActiveSlide: current });\n                this.onChangeVideoHandler();\n            },\n        };\n\n        return (\n            <div className=\"videoGalleryVerticalMutamWrapper\" ref={componentWrapperRef => (this.componentWrapperRef = componentWrapperRef)}>\n                {isFeedDisplay ?\n                    <div className=\"feedDisplay\">\n                        <Slider {...feedDisplaySettings} className=\"slider\" ref={(sliderRef) => (this.sliderRef = sliderRef)}>\n                            {videoList.map((videoItem, index) => {\n                                const arrowDisplay = index === videoList.length - 1 ? \"none\" : \"\";\n                                return (\n                                    <VideoVerticalFeedItemMutam\n                                        videoItem={videoItem}\n                                        key={videoItem.itemId}\n                                        initialFeedSlide={initialFeedSlide}\n                                        feedActiveSlide={feedActiveSlide}\n                                        feedIndex={index}\n                                        onCloseVideoGalleryView={this.onCloseVideoGalleryView}\n                                        arrowDisplay={arrowDisplay}\n                                        onNextSlide={this.onNextSlide}\n                                        domain={domain}\n                                        index={index} />\n                                )\n                            })}\n                        </Slider>\n                    </div>\n                    :\n                    <>\n                        {isTabVisible && <div className=\"videoGalleryVerticalTab componentaTab\"><div className=\"rightTitleText\">{tabTitleText}</div></div>}\n                        <PromoCarousel\n                            imageWidth={promoWidth}\n                            width={640}\n                            itemListLength={videoList.length}\n                            marginRight={0}\n                            togglePromoActive={togglePromoActive}\n                            currentPromoIndex={currentPromoIndex}\n                            videoList={videoList}\n                            isMobileWeb={true}\n                            pushGA4Event={this.pushGA4Event}\n                        >\n                            {videoList.map((videoItem, index) => {\n                                return (\n                                    <VideoGalleryVerticalItemMutam\n                                        videoItem={videoItem}\n                                        onOpenVideoGalleryView={this.onOpenVideoGalleryView}\n                                        videoIndex={index}\n                                        key={videoItem.itemId}\n                                        onVideoEnded={this.onVideoEnded}\n                                        getItemIntoViewIndex={this.getItemIntoViewIndex}\n                                        onLastIntersectingPromoCHange={this.onLastIntersectingPromoCHange}\n                                        lastIntersectedPromoIndex={lastIntersectedPromoIndex}\n                                        pushGA4Event={this.pushGA4Event}\n                                    />\n                                )\n                            })}\n                        </PromoCarousel >\n                        {!hideMoreButton && <div className=\"moreButton\" onClick={this.onMoreVideosHandler}>{moreButtonText}</div>}\n                    </>\n                }\n            </div>\n        )\n    }\n}\n","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\nimport { FrontCopyButton } from \"../../../../commonComponents/inline/frontCopyButton/frontCopyButton\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\nimport { openFacebookShare, openTwitterShare } from \"../../../../widgetsUtils\";\nimport { WhatsAppShareButton } from \"../../../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\";\n\ninterface VideoVerticalFeedItemProps {\n    videoItem: SiteItemData\n    feedActiveSlide: number\n    domain: string\n    index: number\n    onNextSlide: () => void\n    onCloseVideoGalleryView: () => void\n}\n\ninterface VideoVerticalFeedItemState {\n    isSubtitleOpen: boolean\n    isMediaShareVisible: boolean\n}\n\nconst DICT = {\n    copyLink: \"نسخ الوصلة\",\n    linkCopied: \"تم نسخ الرابط إلى الحافظة\",\n    fullArticle: \"إلى المقال كاملا\",\n}\nexport class VideoVerticalFeedItem extends React.Component<VideoVerticalFeedItemProps, VideoVerticalFeedItemState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isSubtitleOpen: false,\n            isMediaShareVisible: false,\n        }\n    }\n\n    componentDidMount() {\n        this.initializeEndedEventListeners();\n        document.addEventListener('click', this.handleClickOutside);\n    }\n\n    componentWillUnmount() {\n        this.removeEndedEventListeners();\n        document.removeEventListener('click', this.handleClickOutside);\n    }\n\n    private handleClickOutside = (event: MouseEvent) => {\n        if ((event.target as Element).className.includes(\"slick-slide\")) this.props.onCloseVideoGalleryView();\n    };\n\n    private initializeEndedEventListeners() {\n        setTimeout(() => {\n            const videoElements = document.querySelectorAll(\".radionasVideoGalleryVerticalComponenta .feedDisplay .slick-slide .videoVerticalFeedItem #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n            if (videoElements.length) {\n                videoElements.forEach((element) => {\n                    element.addEventListener(\"ended\", this.handleVideoEnded);\n                })\n            };\n        }, 600)\n    }\n\n    private removeEndedEventListeners() {\n        const videoElements = document.querySelectorAll(\".radionasVideoGalleryVerticalComponenta .feedDisplay .slick-slide .videoVerticalFeedItem #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n        if (videoElements.length) {\n            videoElements.forEach((element) => {\n                element.removeEventListener(\"ended\", this.handleVideoEnded)\n            })\n        };\n    }\n\n    private handleVideoEnded = (e) => {\n        e.target.currentTime = 0;\n        e.target.click();\n        this.props.onNextSlide();\n    }\n\n    componentDidUpdate(prevProps, prevState) {\n        if (prevProps.feedActiveSlide !== this.props.feedActiveSlide) {\n            setTimeout(() => {\n                const videoElement = document.querySelector(\".radionasVideoGalleryVerticalComponenta .feedDisplay .slick-active .videoVerticalFeedItem #player.is-paused .fp-engine\") as HTMLVideoElement;\n                const unActiveVideoElement = document.querySelector(\".radionasVideoGalleryVerticalComponenta .feedDisplay .slick-slide:not(.slick-active) .videoVerticalFeedItem #player.is-playing .fp-engine\") as HTMLVideoElement;\n                if (videoElement) {\n                    setTimeout(() => {\n                        if (videoElement.paused) {\n                            videoElement.pause();\n                            videoElement.currentTime = 0;\n                            videoElement.play();\n                        }\n                    }, 500)\n                };\n                if (unActiveVideoElement) unActiveVideoElement.click();\n            }, 600)\n        }\n    }\n\n    private onMediaShareToggle = () => {\n        this.setState({ isMediaShareVisible: !this.state.isMediaShareVisible });\n    }\n\n    private handleShareBtnClicked = (button: string) => {\n        this.setState({ isMediaShareVisible: false });\n        const { domain, videoItem } = this.props;\n\n        if (typeof window !== \"undefined\") {\n            const baseUrl = `${domain}/video/${(videoItem.media as SiteVideoData).videoPageId}`;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(baseUrl, \"\")\n                    break;\n                case \"tw\":\n                    openTwitterShare(baseUrl)\n                    break;\n                case \"wa\":\n                    WhatsAppShareButton.openWhatsAppShare(baseUrl)\n                    break;\n            }\n        }\n    }\n\n    private pushGA4Event = () => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { index } = this.props;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            componenta_name: \"vertical_video\",\n            content_type: \"componenta\",\n            position_in_component: index,\n            click_text:\"לכתבה המלאה\"\n        });\n    };\n\n    public render() {\n        const { isMediaShareVisible } = this.state;\n        const { videoItem, domain } = this.props;\n        const { media, title, titleLink, titleTargetLink } = videoItem;\n        const videoPageId = (videoItem.media as SiteVideoData).videoPageId;\n        const videoPageShareUrl = `${domain}/video/${videoPageId}`;\n\n        return (\n            <div className=\"videoVerticalFeedItem\">\n                {videoPageId &&\n                    <div className=\"shareArea\">\n                        <div className=\"shareBtn\" onClick={this.onMediaShareToggle}></div>\n                        {isMediaShareVisible &&\n                            <div className=\"mediaShareWrapper\">\n                                <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"fb\")}>\n                                    <div className=\"mediaShareIcon facebook\"></div>\n                                    <div className=\"mediaShareText\">Facebook</div>\n                                </div>\n                                <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"wa\")}>\n                                    <div className=\"mediaShareIcon whatsapp\"></div>\n                                    <div className=\"mediaShareText\">WhatsApp</div>\n                                </div>\n                                <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"tw\")}>\n                                    <div className=\"mediaShareIcon twitter\"></div>\n                                    <div className=\"mediaShareText\">Twitter</div>\n                                </div>\n                                <div className=\"mediaShareItem\">\n                                    <FrontCopyButton popupText={DICT.linkCopied} title={title} url={videoPageShareUrl} />\n                                    <div className=\"mediaShareText\">{DICT.copyLink}</div>\n                                </div>\n                            </div>\n                        }\n                    </div>\n                }\n                <SiteVideoInline\n                    data={media as SiteVideoData}\n                    applyStickyness={true}\n                    width={400}\n                    height={714}\n                    hideVideoAds={true}\n                    isShareButton={true}\n                    runArticleAutoPlayLogic={false} />\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                </div>\n            </div>\n        )\n    }\n}","import { VideoMainPageMediaShare } from \"./videoMainPageMediaShare\";\nimport { SiteVideoData, SiteItemData } from \"../../../../interfaces\";\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\";\n\ninterface VideoPageMainProps {\n    video: SiteItemData\n    languageCode: string\n    isMobileWeb: boolean\n    domain: string\n}\n\nexport class RadionasVideoPageMain extends React.Component<VideoPageMainProps, {}>{\n    public static siteScriptName = \"RadionasVideoPageMain\";\n\n    public render() {\n        const { video, languageCode, isMobileWeb, domain } = this.props;\n        const { media, categoryName } = video;\n        const { dateCreated, credit, videoName, mediaId, aspectRatio } = media as SiteVideoData;\n        const lang = languageCode.split(\"-\")[0];\n        const videoMainPageClass = `videoPageMain ${aspectRatio === \"9:16\" ? \"vertical\": \"\"}`;\n        \n        return (\n            <div className={videoMainPageClass}>\n                <div className=\"contentDiv\">\n                    {!isMobileWeb && <div className=\"videoPageMainCategory\">{categoryName}</div>}\n                    <div className=\"videoPageMainTitle\">{videoName}</div>\n                    <div className=\"videoPageMainTop\">\n                        <div className=\"videoPageMainDetails\">\n                            <span className=\"videoPageMainCredit\">{credit}</span>\n                            <span className=\"separator\"></span>\n                            <DateDisplay date={dateCreated} isArticle={true} />\n                        </div>\n                        <VideoMainPageMediaShare\n                            categorySubChannel={\"categorySubChannel\"}\n                            credit={credit}\n                            articleId={mediaId}\n                            showComments={false}\n                            lang={lang}\n                            isMobileWeb={isMobileWeb}\n                            title={videoName}\n                            domain={domain} />\n                    </div>\n                </div>\n                <div className=\"videoWrapper\">\n                    <SiteVideoInline\n                        data={media as SiteVideoData}\n                        applyStickyness={true}\n                        hideVideoAds={false}\n                        isShareButton={true}\n                        runArticleAutoPlayLogic={false} />\n                </div>\n            </div>\n\n        )\n    }\n}\n","import { openFacebookShare, openTwitterShare } from \"../../../../widgetsUtils\"\nimport { MailShareButton } from \"../../../../siteWidgets/socialShareButtons/mail/mailShareButton\"\nimport { WhatsAppShareButton } from \"../../../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\"\nimport { FrontCopyButton } from \"../../../../commonComponents/inline/frontCopyButton/frontCopyButton\";\nconst clickOutside = require('react-click-outside');\n\ninterface shareState {\n    isMenuOpened: boolean\n}\n\ninterface shareProps {\n    categorySubChannel: string\n    credit: string\n    articleId: string\n    isMobileWeb: boolean\n    lang?: string\n    verticalSidebar?: boolean\n    title?: string\n    domain: string\n}\n\n@clickOutside\nexport class VideoMainPageMediaShare extends React.Component<shareProps, shareState>{\n    static siteScriptName = \"VideoMainPageMediaShare\"\n    constructor() {\n        super();\n        this.state = {\n            isMenuOpened: null,\n        }\n    }\n\n    private handleClickOutside = () => {\n        this.setState({\n            isMenuOpened: false\n        });\n    }\n\n    private handleShareBtnClicked = (button: string) => {\n        const { lang, title } = this.props;\n        this.setState({ isMenuOpened: false })\n        if (typeof window !== \"undefined\") {\n            const current_url = window.location.href;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(current_url, \"\")\n                    break;\n                case \"tw\":\n                    openTwitterShare(current_url)\n                    break;\n                case \"mailto\":\n                    MailShareButton.openMailShare(title, current_url, lang)\n                    break;\n                case \"wa\":\n                    WhatsAppShareButton.openWhatsAppShare(current_url)\n                    break;  \n            }\n        }\n    }\n\n    private openShare = async () => {\n        const { domain } = this.props;\n        const current_url = `${window.location.href}?utm_source=${domain}&utm_medium=social&utm_campaign=general_share`;\n        const shareData = { url: current_url }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    render() {\n        const { title, isMobileWeb } = this.props;\n        const isApp = typeof window !== \"undefined\" && window.location.href.indexOf(\"IsApp\") != -1;\n        const dict = {\n            ar: {\n                textMail: \"شكرا جزيلا\",\n                textTw: \"تلميع بيوتيتر\",\n                textFb: \"البريد الإلكتروني\",\n                textWa: \"هذا هو الحال\",\n            }\n        };\n        const { ar: { textMail, textFb, textTw, textWa } } = dict;\n\n        return (\n            <div className=\"SiteArticleSocialShareNew1280\">\n                {isApp ?\n                    <>\n                        <a href=\"whatsapp:\">\n                            <span className=\"shareIcon1280 wa\" />\n                        </a>\n                        <a href=\"share_article\">\n                            <span className=\"shareIcon1280 shareBtn\" />\n                        </a>\n                    </>\n                    :\n                    <>\n                        <button title={textWa} className=\"shareIcon1280 wa\" onClick={e => this.handleShareBtnClicked(\"wa\")}></button>\n                        {isMobileWeb && <div className=\"shareIcon1280 shareBtn\" onClick={this.openShare}></div>}\n                        {!isMobileWeb &&\n                            <>\n                                <button title={textFb} className=\"shareIcon1280 fb\" onClick={e => this.handleShareBtnClicked(\"fb\")}></button>\n                                <button title={textTw} className={`shareIcon1280 tw`} onClick={e => this.handleShareBtnClicked(\"tw\")}></button>\n                                <button title={textMail} className=\"shareIcon1280 mailto\" onClick={e => this.handleShareBtnClicked(\"mailto\")}></button>\n                                <FrontCopyButton classes=\"btnShare\" popupText=\"اختر ما يناسبك\" title={title} />\n                            </>\n                        }\n                    </>\n                }\n            </div>\n        )\n    }\n}","import { useContext, useState, useRef, useEffect } from \"react\";\nimport GlobalContext from \"./../context/Global\";\nimport StoriesContext from \"./../context/Stories\";\nimport ProgressContext from \"./../context/Progress\";\nimport Story from \"./Story\";\nimport ProgressArray from \"./ProgressArray\";\nimport {\n  GlobalCtx,\n  StoriesContext as StoriesContextInterface,\n} from \"./../interfaces\";\nimport useIsMounted from \"./../util/use-is-mounted\";\nimport { usePreLoader } from \"../util/usePreLoader\";\n\nexport default function () {\n  const [currentId, setCurrentId] = useState<number>(0);\n  const [pause, setPause] = useState<boolean>(true);\n  const [bufferAction, setBufferAction] = useState<boolean>(true);\n  const [videoDuration, setVideoDuration] = useState<number>(0);\n  const isMounted = useIsMounted();\n\n  let mousedownId: any = useRef<any>();\n\n  const {\n    width,\n    height,\n    loop,\n    currentIndex,\n    isPaused,\n    keyboardNavigation,\n    preventDefault,\n    storyContainerStyles = {},\n    onAllStoriesEnd,\n    onPrevious,\n    onNext,\n    preloadCount,\n  } = useContext<GlobalCtx>(GlobalContext);\n  const { stories } = useContext<StoriesContextInterface>(StoriesContext);\n  usePreLoader(stories, currentId, preloadCount);\n  \n  useEffect(() => {\n    if (typeof currentIndex === \"number\") {\n      if (currentIndex >= 0 && currentIndex < stories.length) {\n        setCurrentIdWrapper(() => currentIndex);\n      } else {\n        console.error(\n          \"Index out of bounds. Current index was set to value more than the length of stories array.\",\n          currentIndex\n          );\n        }\n      }\n  }, [currentIndex]);\n\n\n  useEffect(() => {\n    if (typeof isPaused === \"boolean\") {\n      setPause(isPaused);\n    }\n  }, [isPaused]);\n\n  useEffect(() => {\n    const isClient = typeof window !== \"undefined\" && window.document;\n    if (\n      isClient &&\n      typeof keyboardNavigation === \"boolean\" &&\n      keyboardNavigation\n    ) {\n      document.addEventListener(\"keydown\", handleKeyDown);\n      return () => {\n        document.removeEventListener(\"keydown\", handleKeyDown);\n      };\n    }\n  }, [keyboardNavigation]);\n\n  const handleKeyDown = (e: KeyboardEvent) => {\n    if (e.key === \"ArrowLeft\") {\n      previous();\n    } else if (e.key === \"ArrowRight\") {\n      next({ isSkippedByUser: true });\n    }\n  };\n\n  const toggleState = (action: string, bufferAction?: boolean) => {\n    setPause(action === \"pause\");\n    setBufferAction(!!bufferAction);\n  };\n\n  const setCurrentIdWrapper = (callback) => {\n    setCurrentId(callback(currentId));\n    toggleState(\"pause\", true);\n  };\n\n  const previous = () => {\n    if (onPrevious != undefined) {\n      onPrevious();\n    }\n    setCurrentIdWrapper((prev) => (prev > 0 ? prev - 1 : prev));\n  };\n\n  const next = (options?: { isSkippedByUser?: boolean }) => {\n    if (onNext != undefined && options && options.isSkippedByUser) {\n      onNext();\n    }\n    // Check if component is mounted - for issue #130 (https://github.com/mohitk05/react-insta-stories/issues/130)\n    if (isMounted()) {\n      if (loop) {\n        updateNextStoryIdForLoop();\n      } else {\n        updateNextStoryId();\n      }\n    }\n  };\n\n  const updateNextStoryIdForLoop = () => {\n    setCurrentIdWrapper((prev) => {\n      if (prev >= stories.length - 1) {\n        onAllStoriesEnd && onAllStoriesEnd(currentId, stories);\n      }\n      return (prev + 1) % stories.length;\n    });\n  };\n\n  const updateNextStoryId = () => {\n    setCurrentIdWrapper((prev) => {\n      if (prev < stories.length - 1) return prev + 1;\n      onAllStoriesEnd && onAllStoriesEnd(currentId, stories);\n      return prev;\n    });\n  };\n\n  const debouncePause = (e: React.MouseEvent | React.TouchEvent) => {\n    e.preventDefault();\n    mousedownId.current = setTimeout(() => {\n      toggleState(\"pause\");\n    }, 200);\n  };\n\n  const mouseUp =\n    (type: string) => (e: React.MouseEvent | React.TouchEvent) => {\n      e.preventDefault();\n      mousedownId.current && clearTimeout(mousedownId.current);\n      if (pause) {\n        toggleState(\"play\");\n      } else {\n        type === \"next\" ? next({ isSkippedByUser: true }) : previous();\n      }\n    };\n\n  const getVideoDuration = (duration: number) => {\n    setVideoDuration(duration * 1000);\n  };\n\n  return (\n    <div\n      style={{\n        ...styles.container,\n        ...storyContainerStyles,\n        ...{ width, height },\n      }}\n      className=\"storyContainer\"\n    >\n      <ProgressContext.Provider\n        value={{\n          bufferAction: bufferAction,\n          videoDuration: videoDuration,\n          currentId,\n          pause,\n          next,\n        }}\n      >\n        <ProgressArray />\n      </ProgressContext.Provider>\n      <Story\n        action={toggleState}\n        bufferAction={bufferAction}\n        playState={pause}\n        story={stories[currentId]}\n        getVideoDuration={getVideoDuration}\n      />\n      {preventDefault ? (\n        <div className=\"storyArrowsContainer\" style={styles.overlay}>\n          <div className=\"storyArrow storyArrowNext\"\n            style={{ width: \"50%\", zIndex: 9999 }}\n            onTouchStart={debouncePause}\n            onTouchEnd={mouseUp(\"next\")}\n            onMouseDown={debouncePause}\n            onMouseUp={mouseUp(\"next\")}\n          />\n          <div\n            className=\"storyArrow storyArrowPrev\"\n            style={{ width: \"50%\", zIndex: 9999 }}\n            onTouchStart={debouncePause}\n            onTouchEnd={mouseUp(\"previous\")}\n            onMouseDown={debouncePause}\n            onMouseUp={mouseUp(\"previous\")}\n          />\n        </div>\n      ) :\n        <div className=\"storyArrowsContainer\" style={styles.overlay}>\n          <div\n            style={{ width: \"50%\", zIndex: 999 }}\n            onTouchStart={debouncePause}\n            onTouchEnd={mouseUp(\"next\")}\n            onMouseDown={debouncePause}\n            onMouseUp={mouseUp(\"next\")}\n          />\n          <div\n            style={{ width: \"50%\", zIndex: 999 }}\n            onTouchStart={debouncePause}\n            onTouchEnd={mouseUp(\"previous\")}\n            onMouseDown={debouncePause}\n            onMouseUp={mouseUp(\"previous\")}\n          />\n        </div>\n      }\n    </div>\n  );\n}\n\nconst styles = {\n  container: {\n    display: \"flex\",\n    flexDirection: \"column\" as const,\n    background: \"#111\",\n    position: \"relative\" as const,\n    WebkitUserSelect: 'none' as const,\n  },\n  overlay: {\n    position: \"absolute\" as const,\n    height: \"inherit\",\n    width: \"inherit\",\n    display: \"flex\",\n  },\n};\n","import { HeaderProps } from \"./../interfaces\";\n\nconst Header = ({ profileImage, heading, subheading }: HeaderProps) => (\n  <div style={styles.main}>\n    {profileImage && <img style={styles.img} src={profileImage} />}\n    <span style={styles.text}>\n      {heading && <p style={styles.heading}>{heading}</p>}\n      {subheading && <p style={styles.subheading}>{subheading}</p>}\n    </span>\n  </div>\n);\n\nconst styles = {\n  main: {\n    display: \"flex\",\n    alignItems: \"center\",\n  },\n  img: {\n    width: 40,\n    height: 40,\n    borderRadius: 40,\n    marginRight: 10,\n    filter: \"drop-shadow(0 0px 2px rgba(0, 0, 0, 0.5))\",\n    border: \"2px solid rgba(255, 255, 255, 0.8)\",\n  },\n  text: {\n    display: \"flex\",\n    flexDirection: \"column\" as const,\n    filter: \"drop-shadow(0 0px 3px rgba(0, 0, 0, 0.9))\",\n  },\n  heading: {\n    fontSize: \"1rem\",\n    color: \"rgba(255, 255, 255, 0.9)\",\n    margin: 0,\n    marginBottom: 2,\n  },\n  subheading: {\n    fontSize: \"0.6rem\",\n    color: \"rgba(255, 255, 255, 0.8)\",\n    margin: 0,\n  },\n};\n\nexport default Header;\n","import { useContext } from 'react'\nimport { ProgressProps, ProgressContext, GlobalCtx } from './../interfaces'\nimport ProgressWrapper from './ProgressWrapper'\nimport GlobalContext from \"./../context/Global\";\nimport ProgressCtx from './../context/Progress'\n\nexport default (props: ProgressProps) => {\n    const { progressStyles } = useContext<GlobalCtx>(GlobalContext);\n    const { bufferAction, pause } = useContext<ProgressContext>(ProgressCtx)\n\n    const getProgressStyle = ({ active }) => {\n        switch (active) {\n            case 2:\n                return { width: 0 }\n            case 1:\n                return { transform: `scaleX(${Math.abs((props.count / 100) - 1)})` }\n            case 0:\n                return { width: \"100%\" }\n            default:\n                return { width: 0 }\n        }\n    }\n\n    const { width, active } = props\n    return (\n        <ProgressWrapper width={width} pause={pause} bufferAction={bufferAction}>\n            <div\n                style={{ \n                    ...styles.inner,\n                    ...progressStyles,\n                    ...getProgressStyle({ active }),\n                }} />\n        </ProgressWrapper>\n    )\n}\n\nconst styles: any = {\n    inner: {\n        background: '#555',\n        height: '100%',\n        maxWidth: '100%',\n        borderRadius: 2,\n        transformOrigin: 'center left',\n        WebkitBackfaceVisibility: 'hidden',\n        MozBackfaceVisibility: 'hidden',\n        msBackfaceVisibility: 'hidden',\n        backfaceVisibility: 'hidden',\n        WebkitPerspective: 1000,\n        MozPerspective: 1000,\n        msPerspective: 1000,\n        perspective: 1000\n    }\n}","import { useContext, useState, useEffect, useRef } from \"react\";\nimport Progress from \"./Progress\";\nimport {\n  ProgressContext,\n  GlobalCtx,\n  StoriesContext as StoriesContextInterface,\n} from \"./../interfaces\";\nimport ProgressCtx from \"./../context/Progress\";\nimport GlobalContext from \"./../context/Global\";\nimport StoriesContext from \"./../context/Stories\";\nimport { timestamp } from \"../util/time\";\n\nexport default () => {\n  const [count, setCount] = useState<number>(0);\n  const lastTime:any = useRef<number>();\n\n  const { currentId, next, videoDuration, pause, bufferAction } =\n    useContext<ProgressContext>(ProgressCtx);\n  const {\n    defaultInterval,\n    onStoryEnd,\n    onStoryStart,\n    progressContainerStyles,\n  } = useContext<GlobalCtx>(GlobalContext);\n  const { stories } = useContext<StoriesContextInterface>(StoriesContext);\n\n  useEffect(() => {\n    setCount(0);\n  }, [currentId, stories]);\n\n  useEffect(() => {\n    if (!pause) {\n      animationFrameId.current = requestAnimationFrame(incrementCount);\n      lastTime.current = timestamp();\n    }\n    return () => {\n      cancelAnimationFrame(animationFrameId.current);\n    };\n  }, [currentId, pause]);\n\n  let animationFrameId:any = useRef<number>();\n\n  let countCopy = count;\n  const incrementCount = () => {\n    if (countCopy === 0) storyStartCallback();\n    if (lastTime.current == undefined) lastTime.current = timestamp();\n    const t = timestamp();\n    const dt = t - lastTime.current;\n    lastTime.current = t;\n    setCount(((count: number) => {\n      const interval = getCurrentInterval();\n      countCopy = count + (dt * 100) / interval;\n      return countCopy;\n    }) as any);\n    if (countCopy < 100) {\n      animationFrameId.current = requestAnimationFrame(incrementCount);\n    } else {\n      storyEndCallback();\n      cancelAnimationFrame(animationFrameId.current);\n      next();\n    }\n  };\n\n  const storyStartCallback = () => {\n    onStoryStart && onStoryStart(currentId, stories[currentId]);\n  };\n\n  const storyEndCallback = () => {\n    onStoryEnd && onStoryEnd(currentId, stories[currentId]);\n  };\n\n  const getCurrentInterval = () => {\n    if (stories[currentId].type === \"video\") return videoDuration;\n    if (typeof stories[currentId].duration === \"number\")\n      return stories[currentId].duration;\n    return defaultInterval;\n  };\n\n  const opacityStyles = {\n    opacity: pause && !bufferAction ? 0 : 1,\n  };\n\n  return (\n    <div style={{\n      ...styles.progressArr,\n      ...progressContainerStyles,\n      ...opacityStyles\n    }}\n    className=\"progressArray\">\n      {stories.map((_, i) => (\n        <Progress\n          key={i}\n          count={count}\n          width={1 / stories.length}\n          active={i === currentId ? 1 : i < currentId ? 2 : 0}\n        />\n      ))}\n    </div>\n  );\n};\n\nconst styles = {\n  progressArr: {\n    display: \"flex\",\n    flexDirection: \"row-reverse\",\n    justifyContent: \"center\",\n    maxWidth: \"100%\",\n    flexWrap: \"nowrap\" as const,\n    position: \"absolute\" as const,\n    width: \"98%\",\n    padding: 5,\n    paddingTop: 7,\n    alignSelf: \"center\",\n    zIndex: 1001,\n    filter: \"drop-shadow(0 1px 8px #222)\",\n    transition: \"opacity 400ms ease-in-out\",\n  },\n};\n","import { useContext } from 'react'\nimport { ProgressWrapperProps, GlobalCtx } from './../interfaces'\nimport GlobalContext from \"./../context/Global\";\n\nconst ProgressWrapper = (props: ProgressWrapperProps) => {\n    const { progressWrapperStyles } = useContext<GlobalCtx>(GlobalContext);\n\n    return (\n        <div style={{\n            ...styles.progress, \n            ...progressWrapperStyles, \n            ...getProgressWrapperStyle(props) \n        }}>\n            {props.children}\n        </div>\n    )\n}\n\nconst getProgressWrapperStyle = ({ width }) => ({\n    width: `${width * 100}%`,\n})\n\nconst styles = {\n    progress: {\n        height: 2,\n        maxWidth: '100%',\n        background: '#fff',\n        margin: 2,\n        borderRadius: 2,\n        WebkitBackfaceVisibility: 'hidden' as const,\n        MozBackfaceVisibility: 'hidden' as const,\n        msBackfaceVisibility: 'hidden',\n        backfaceVisibility: 'hidden' as const,\n    }\n}\n\nexport default ProgressWrapper","import  { useEffect, useContext } from 'react'\nimport GlobalContext from './../context/Global'\nimport { GlobalCtx } from './../interfaces'\nimport { SeeMoreProps } from './../interfaces'\n\nexport default function seeMore(props: SeeMoreProps) {\n    const SeeMoreContent = props.seeMoreContent;\n    const CustomCollapsed = props.customCollapsed;\n\n    const { keyboardNavigation } = useContext<GlobalCtx>(GlobalContext);\n\n    useEffect(() => {\n        const isClient = (typeof window !== 'undefined' && window.document);\n        if (isClient && (typeof keyboardNavigation === 'boolean' && keyboardNavigation)) {\n            document.addEventListener(\"keydown\", handleKeyDown);\n            return () => {\n                document.removeEventListener(\"keydown\", handleKeyDown);\n            }\n        }\n    }, [keyboardNavigation])\n\n    const handleKeyDown = (e: KeyboardEvent) => {\n        if (e.key === 'ArrowUp') {\n            e.preventDefault()\n            props.toggleMore(true)\n        }\n        else if (e.key === 'ArrowDown' || e.key === 'Escape') {\n            e.preventDefault()\n            props.toggleMore(false)\n        }\n    }\n\n    return (\n        props.showContent\n            ? <div style={styles.seeMoreExpanded}>\n                <SeeMoreContent close={() => props.toggleMore(false)} />\n            </div>\n            :\n            (CustomCollapsed ? <CustomCollapsed action={props.action} toggleMore={props.toggleMore} /> : <div style={styles.seeMore} onClick={(e) => {\n                e.preventDefault();\n                e.stopPropagation();\n                props.toggleMore(true)\n            }} >\n                <span style={styles.seeMoreIcon}>⌃</span>\n                <span style={styles.seeMoreText}>See more</span>\n            </div>\n            )\n    )\n}\n\nconst styles: any = {\n    seeMore: {\n        height: \"10vh\",\n        background: \"linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2))\",\n        display: \"flex\",\n        flexDirection: \"column\",\n        width: \"100%\",\n        alignItems: \"center\",\n        justifyContent: \"flex-end\",\n        bottom: 0\n    },\n    seeMoreExpanded: {\n        position: 'absolute',\n        top: 0,\n        left: 0,\n        width: '100%',\n        height: '100%',\n        boxSizing: 'border-box',\n        zIndex: 99999\n    },\n    seeMoreText: {\n        color: \"white\",\n        textAlign: \"center\",\n        letterSpacing: \"0.1em\",\n        marginBottom: \"2.2vh\",\n        textTransform: \"capitalize\",\n        opacity: \"1\",\n        fontSize: \"0.8em\",\n        transition: \"opacity 300ms ease-in-out\"\n    },\n    seeMoreIcon: {\n        color: \"white\",\n        textAlign: \"center\",\n        letterSpacing: \"0.2em\",\n        marginBottom: \"0.4vh\",\n        opacity: \"1\",\n        filter: \"drop-shadow(0 0 5px black)\",\n        textTransform: \"capitalize\",\n        transition: \"opacity 300ms ease-in-out\"\n    },\n    seeMoreClose: {\n        position: \"absolute\",\n        filter: \"drop-shadow(0 3px 2px #ccc)\",\n        right: \"0.5rem\",\n        top: \"0.5rem\",\n        fontSize: \"1.5rem\",\n        opacity: \"0.7\",\n        padding: \"1rem\"\n    }\n}","// const SpinnerSVG = require('../assets/puff.svg');\n\nconst Spinner = () => {\n    return null//<SpinnerSVG />\n}\n\nexport default Spinner;","import { useContext } from \"react\";\nimport { StoryProps, GlobalCtx } from \"./../interfaces\";\nimport GlobalContext from \"./../context/Global\";\n\nconst Story = (props: StoryProps) => {\n  const globalContext = useContext<GlobalCtx>(GlobalContext);\n\n  const {\n    width,\n    height,\n    loader,\n    header,\n    storyStyles,\n    storyInnerContainerStyles = {},\n  } = globalContext;\n\n  const rendererMessageHandler = (type: string, data: any) => {\n    switch (type) {\n      case \"UPDATE_VIDEO_DURATION\":\n        props.getVideoDuration(data.duration);\n        return { ack: \"OK\" as \"OK\" };\n    }\n  };\n\n  const getStoryContent = () => {\n    let InnerContent = props.story.content;\n    let config = { width, height, loader, header, storyStyles };\n    return (\n      <InnerContent\n        action={props.action}\n        isPaused={props.playState}\n        story={props.story}\n        config={config}\n        messageHandler={rendererMessageHandler}\n      />\n    );\n  };\n\n  return (\n    <div\n      style={{\n        ...styles.story,\n        ...storyInnerContainerStyles,\n        width: width,\n        height: height,\n      }}\n      className=\"storyContent\"\n    >\n      {getStoryContent()}\n    </div>\n  );\n};\n\nconst styles = {\n  story: {\n    display: \"flex\",\n    position: \"relative\" as \"relative\",\n    overflow: \"hidden\",\n    alignItems: \"center\",\n  },\n  storyContent: {\n    width: \"auto\",\n    maxWidth: \"100%\",\n    maxHeight: \"100%\",\n    margin: \"auto\",\n  },\n};\n\nexport default Story;\n","import { GlobalCtx } from '../interfaces';\n\nexport const initialContext = {\n\tdefaultInterval: 4000,\n\twidth: 360,\n\theight: 640,\n};\n\nconst GlobalContext = React.createContext<GlobalCtx>(initialContext);\n\nexport default GlobalContext;\n","import { ProgressContext } from './../interfaces'\n\nexport default React.createContext<ProgressContext>({\n    currentId: 0,\n    videoDuration: 0,\n    bufferAction: false,\n    pause: false,\n    next: () => { }\n})","import {\n\tStoriesContext as StoriesContextInterface,\n\tStory,\n} from '../interfaces';\n\nexport const initialContext: { stories: Story[] } = {\n\tstories: [],\n};\n\nconst StoriesContext = React.createContext<StoriesContextInterface>(\n\tinitialContext\n);\n\nexport default StoriesContext;\n","import  { useEffect, useState } from 'react'\nimport { ReactInstaStoriesProps, GlobalCtx, Story, Tester, Renderer } from './interfaces'\nimport Container from './components/Container'\nimport GlobalContext from './context/Global'\nimport StoriesContext from './context/Stories';\nimport { getRenderer } from './util/renderers'\nimport { renderers as defaultRenderers } from './renderers/index';\nimport withHeader from './renderers/wrappers/withHeader'\nimport withSeeMore from './renderers/wrappers/withSeeMore'\n\nexport const ReactInstaStories = function (props: ReactInstaStoriesProps) {\n    let renderers = props.renderers ? props.renderers.concat(defaultRenderers) : defaultRenderers;\n    let context: GlobalCtx = {\n        width: props.width,\n        height: props.height,\n        loader: props.loader,\n        header: props.header,\n        storyContainerStyles: props.storyContainerStyles,\n        storyInnerContainerStyles: props.storyInnerContainerStyles,\n        storyStyles: props.storyStyles,\n        progressContainerStyles: props.progressContainerStyles,\n        progressWrapperStyles: props.progressWrapperStyles,\n        progressStyles: props.progressStyles,\n        loop: props.loop,\n        defaultInterval: props.defaultInterval,\n        isPaused: props.isPaused,\n        currentIndex: props.currentIndex,\n        onStoryStart: props.onStoryStart,\n        onStoryEnd: props.onStoryEnd,\n        onAllStoriesEnd: props.onAllStoriesEnd,\n        onNext: props.onNext,\n        onPrevious: props.onPrevious,\n        keyboardNavigation: props.keyboardNavigation,\n        preventDefault: props.preventDefault,\n        preloadCount: props.preloadCount,\n    }\n    const [stories, setStories] = useState<{ stories: Story[] }>({ stories: generateStories(props.stories, renderers) });\n\n\n    useEffect(() => {\n        setStories({ stories: generateStories(props.stories, renderers) });\n    }, [props.stories, props.renderers]);\n\n    return <GlobalContext.Provider value={context}>\n        <StoriesContext.Provider value={stories}>\n            <Container />\n        </StoriesContext.Provider>\n    </GlobalContext.Provider>\n}\n\nconst generateStories = (stories: any[], renderers: { renderer: Renderer, tester: Tester }[]) => {\n    return stories.map(s => {\n        let story: Story = {};\n\n        if (typeof s === 'string') {\n            story.url = s;\n            story.type = 'image';\n        } else if (typeof s === 'object') {\n            story = Object.assign(story, s);\n        }\n\n        let renderer = getRenderer(story, renderers);\n        story.originalContent = story.content;\n        story.content = renderer;\n        return story\n    })\n};\n\nReactInstaStories.defaultProps = {\n    width: 360,\n    height: 640,\n    defaultInterval: 4000,\n    preloadCount: 1,\n}\n\nexport const WithHeader = withHeader;\nexport const WithSeeMore = withSeeMore;\n","import * as React from 'react';\nimport { Renderer, Tester } from './../interfaces';\n\nexport const renderer: Renderer = (props) => {\n    React.useEffect(() => {\n        props.action('play');\n    }, [props.story])\n    const Content = props.story.originalContent;\n    return <Content {...props} />\n}\n\nexport const tester: Tester = (story) => {\n    return {\n        condition: !!story.content,\n        priority: 2\n    }\n}\n\nexport default {\n    renderer,\n    tester\n}","import * as React from \"react\";\nimport { Renderer, Tester } from \"./../interfaces\";\n\nexport const renderer: Renderer = ({ story, action }) => {\n  React.useEffect(() => {\n    action(\"play\");\n  }, [story]);\n\n  return (\n    <div style={styles.storyContent}>\n      <p style={styles.text}>This story could not be loaded.</p>\n    </div>\n  );\n};\n\nconst styles = {\n  storyContent: {\n    width: \"100%\",\n    maxHeight: \"100%\",\n    margin: \"auto\",\n  },\n  text: {\n    textAlign: \"center\" as \"center\",\n    color: \"white\",\n    width: \"90%\",\n    margin: \"auto\",\n  },\n};\n\nexport const tester: Tester = () => {\n  return {\n    condition: true,\n    priority: 1,\n  };\n};\n\nexport default {\n  renderer,\n  tester,\n};\n","import * as React from \"react\";\nimport Spinner from \"../components/Spinner\";\nimport { Renderer, Tester } from \"./../interfaces\";\nimport WithHeader from \"./wrappers/withHeader\";\nimport WithSeeMore from \"./wrappers/withSeeMore\";\n\nexport const renderer: Renderer = ({ story, action, isPaused, config }) => {\n  const [loaded, setLoaded] = React.useState(false);\n  const { width, height, loader, storyStyles } = config;\n  let computedStyles = {\n    ...styles.storyContent,\n    ...(storyStyles || {}),\n  };\n\n  const imageLoaded = () => {\n    setLoaded(true);\n    action(\"play\");\n  };\n  return (\n    <WithHeader {...{ story, globalHeader: config.header }}>\n      <WithSeeMore {...{ story, action }}>\n        <div>\n          <img style={computedStyles} src={story.url} onLoad={imageLoaded} />\n          {!loaded && (\n            <div\n              style={{\n                width: width,\n                height: height,\n                position: \"absolute\",\n                left: 0,\n                top: 0,\n                background: \"rgba(0, 0, 0, 0.9)\",\n                zIndex: 9,\n                display: \"flex\",\n                justifyContent: \"center\",\n                alignItems: \"center\",\n                color: \"#ccc\",\n              }}\n            >\n              {loader || <Spinner />}\n            </div>\n          )}\n        </div>\n      </WithSeeMore>\n    </WithHeader>\n  );\n};\n\nconst styles = {\n  story: {\n    display: \"flex\",\n    position: \"relative\",\n    overflow: \"hidden\",\n  },\n  storyContent: {\n    width: \"auto\",\n    maxWidth: \"100%\",\n    maxHeight: \"100%\",\n    margin: \"auto\",\n  },\n};\n\nexport const tester: Tester = (story) => {\n  return {\n    condition: !story.content && (!story.type || story.type === \"image\"),\n    priority: 2,\n  };\n};\n\nexport default {\n  renderer,\n  tester,\n};\n","import * as React from \"react\";\nimport Spinner from \"../components/Spinner\";\nimport { Renderer, Tester } from \"./../interfaces\";\nimport WithHeader from \"./wrappers/withHeader\";\nimport WithSeeMore from \"./wrappers/withSeeMore\";\n\nexport const renderer: Renderer = ({\n  story,\n  action,\n  isPaused,\n  config,\n  messageHandler,\n}) => {\n  const [loaded, setLoaded] = React.useState(false);\n  const [muted, setMuted] = React.useState(story.muted || false);\n  const { width, height, loader, storyStyles } = config;\n\n  let computedStyles = {\n    ...styles.storyContent,\n    ...(storyStyles || {}),\n  };\n\n  let vid = React.useRef<HTMLVideoElement>(null);\n\n  React.useEffect(() => {\n    if (vid.current) {\n      if (isPaused) {\n        vid.current.pause();\n      } else {\n        vid.current.play().catch(() => { });\n      }\n    }\n  }, [isPaused]);\n\n  const onWaiting = () => {\n    action(\"pause\", true);\n  };\n\n  const onPlaying = () => {\n    action(\"play\", true);\n  };\n\n  const videoLoaded = () => {\n    messageHandler(\"UPDATE_VIDEO_DURATION\", { duration: vid.current.duration });\n    setLoaded(true);\n    vid.current\n      .play()\n      .then(() => {\n        action(\"play\");\n      })\n      .catch(async () => {\n        try {\n          setMuted(true);\n          await vid.current.play();\n        } catch (error) {\n\n        } finally {\n          action(\"play\");\n        }\n      });\n  };\n\n  return (\n    <WithHeader {...{ story, globalHeader: config.header }}>\n      <WithSeeMore {...{ story, action }}>\n        <div style={styles.videoContainer}>\n          <video\n            ref={vid as  any}\n            style={computedStyles}\n            src={story.url}\n            controls={false}\n            onLoadedData={videoLoaded}\n            playsInline\n            onWaiting={onWaiting}\n            onPlaying={onPlaying}\n            muted={story.muted}\n            autoPlay\n            webkit-playsinline=\"true\"\n          />\n          {!loaded && (\n            <div\n              style={{\n                width: width,\n                height: height,\n                position: \"absolute\",\n                left: 0,\n                top: 0,\n                background: \"rgba(0, 0, 0, 0.9)\",\n                zIndex: 9,\n                display: \"flex\",\n                justifyContent: \"center\",\n                alignItems: \"center\",\n                color: \"#ccc\",\n              }}\n            >\n              {loader || <Spinner />}\n            </div>\n          )}\n        </div>\n      </WithSeeMore>\n    </WithHeader>\n  );\n};\n\nconst styles = {\n  storyContent: {\n    width: \"auto\",\n    maxWidth: \"100%\",\n    maxHeight: \"100%\",\n    margin: \"auto\",\n  },\n  videoContainer: {\n    display: \"flex\",\n    alignItems: \"center\",\n    justifyContent: \"center\",\n  },\n};\n\nexport const tester: Tester = (story) => {\n  return {\n    condition: story.type === \"video\",\n    priority: 2,\n  };\n};\n\nexport default {\n  renderer,\n  tester,\n};\n","import image from './Image';\nimport video from './Video';\nimport defaultRenderer from './Default';\nimport autoplayContent from './AutoPlayContent';\n\nexport const renderers = [image, video, autoplayContent, defaultRenderer];\n","import Header from \"./../../components/Header\";\n\n\n//@ts-ignore\nconst withHeader: React.FC<React.PropsWithChildren<{\n  story: Story;\n  globalHeader: Function;\n}>> = ({ story, globalHeader, children }) => {\n  return (\n    <>\n      {children}\n      {story.header && (\n        <div className={story.storyClasses} style={{ position: \"absolute\", left: 12, top: 20, zIndex: 19 }}>\n          {typeof story === \"object\" ? (\n            globalHeader ? (\n              globalHeader(story.header)\n            ) : (\n              <Header\n                heading={story.header.heading}\n                subheading={story.header.subheading}\n                profileImage={story.header.profileImage}\n              />\n            )\n          ) : null}\n        </div>\n      )}\n    </>\n  );\n};\n\nexport default withHeader;\n","import { useState } from \"react\";\nimport { Action, SeeMoreProps, Story } from \"../../interfaces\";\nimport SeeMore from \"./../../components/SeeMore\";\n//@ts-ignore\n\nconst withSeeMore: React.FC<React.PropsWithChildren<{\n  story: Story;\n  action: Action;\n  customCollapsed?: SeeMoreProps[\"customCollapsed\"];\n}>> = ({ story, action, customCollapsed, children }) => {\n  const [showMore, setShowMore] = useState(false);\n  const toggleMore = (show: boolean) => {\n    action(show ? \"pause\" : \"play\");\n    setShowMore(show);\n  };\n  const CollapsedComponent = SeeMore;\n  return (\n    <>\n      {children}\n      {story.seeMore && (\n        <div\n          style={{\n            position: \"absolute\",\n            margin: \"auto\",\n            bottom: showMore ? \"unset\" : 0,\n            zIndex: 9999,\n            width: \"100%\",\n            height: showMore ? \"100%\" : \"auto\",\n          }}\n        >\n          <CollapsedComponent\n            action={action}\n            toggleMore={toggleMore}\n            showContent={showMore}\n            seeMoreContent={story.seeMore}\n            customCollapsed={customCollapsed || story.seeMoreCollapsed}\n          />\n        </div>\n      )}\n    </>\n  );\n};\n\nexport default withSeeMore;\n","import { Renderer, Story, Tester } from \"../interfaces\";\n\nexport const getRenderer = (story: Story, renderers: { renderer: Renderer, tester: Tester }[]): Renderer => {\n    let probable = renderers.map(r => {\n        return {\n            ...r,\n            testerResult: r.tester(story)\n        }\n    }).filter(r => r.testerResult.condition);\n    probable.sort((a, b) => b.testerResult.priority - a.testerResult.priority);\n    return probable[0].renderer;\n}","export function timestamp() {\n  return window.performance && window.performance.now\n    ? window.performance.now()\n    : new Date().getTime();\n}\n","import { useCallback, useEffect, useRef } from \"react\";\n\nfunction useIsMounted() {\n  const isMounted:any = useRef(false);\n\n  useEffect(() => {\n    isMounted.current = true;\n\n    return () => {\n      isMounted.current = false;\n    };\n  }, []);\n\n  return useCallback(() => isMounted.current, []);\n}\n\nexport default useIsMounted;\n","import {Story} from \"../interfaces\";\nimport {useEffect} from \"react\";\n\n\n// Caches given Story[] using HTMLImageElement and HTMLVideoElement\nconst cacheContent = async (contents: Story[]) => {\n\tconst promises = contents.map((content) => {\n\t\treturn new Promise(function (resolve, reject) {\n\t\t\tif(!content.url) return\n\n\t\t\tif(content.type === 'video') {\n\t\t\t\tconst video = document.createElement('video');\n\t\t\t\tvideo.src = content.url;\n\t\t\t\tvideo.onloadeddata = resolve;\n\t\t\t\tvideo.onerror = reject;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst img = new Image();\n\t\t\timg.src = content.url;\n\t\t\timg.onload = resolve;\n\t\t\timg.onerror = reject;\n\n\t\t})\n\t})\n\n\tawait Promise.all(promises);\n}\n\n// Keeps track of urls that have been loaded\nconst urlsLoaded = new Set<string>();\n\n// Pushes urls to urlsLoaded\nconst markUrlsLoaded = (contents: Story[]) => {\n\tcontents.forEach((content) => {\n\t\turlsLoaded.add(content.url)\n\t})\n}\n\n\n// Returns true if given Story should be preloaded\nconst shouldPreload = (content: Story) => {\n\tif (!content.url) return false\n\tif (urlsLoaded.has(content.url)) return false\n\tif (content.preloadResource !== undefined) return content.preloadResource\n\tif (content.type === 'video') return false\n\n\treturn true\n}\n\n// Preloads images and videos from given Story[] using a cursor and preloadCount\n// Preload count is the number of images/videos to preload after the cursor\n// Cursor is the current index to start preloading from\nexport const usePreLoader = (contents: Story[], cursor: number, preloadCount: number) => {\n\tuseEffect(() => {\n\t\tconst start = cursor + 1;\n\t\tconst end = cursor + preloadCount + 1;\n\n\t\tconst toPreload = contents\n\t\t\t.slice(start, end)\n\t\t\t.filter(shouldPreload);\n\n\t\tmarkUrlsLoaded(toPreload)\n\t\tcacheContent(toPreload)\n\t}, [cursor, preloadCount, contents])\n}\n","interface ExtraDetailsProps {\n    photographer: string\n    sender: string\n    mail: string\n    phoneNumber: string\n    validation: { mail: boolean, phoneNumber: boolean }\n    onChange: (e: any) => void\n    extraDetailsData: any\n}\n\nexport class ExtraDetails extends React.Component<ExtraDetailsProps, State> {\n\n    render() {\n        const { photographer, sender, mail, phoneNumber, onChange, validation, extraDetailsData: { title, subTitle, mailPattern } } = this.props\n\n        return (\n            <div className=\"RedMailExtraDetails\">\n                {title && <div className=\"ExtraDetailsTitle\">{title}</div>}\n                {subTitle && <div className=\"ExtraDetailsSubTitle\">{subTitle}</div>}\n\n                <div className=\"inputFieldWrapper\">\n                    <div className=\"inputField\">\n                        <p className=\"title\">קרדיט צלמ/ת</p>\n                        <input name=\"photographer\" dir=\"rtl\" value={photographer} onChange={(e) => onChange(e)} type=\"text\" id=\"photographer\" placeholder=\"הזינו שם לקרדיט\" ></input>\n                    </div>\n\n                    <div className=\"inputField\">\n                        <p className=\"title\">שם השולח/ת</p>\n                        <input name=\"sender\" dir=\"rtl\" value={sender} onChange={(e) => onChange(e)} type=\"text\" id=\"sender\" placeholder=\"הזינו שם פרטי ושם משפחה\" ></input>\n                    </div>\n\n                    <div className=\"inputField\">\n                        <p className=\"title\">כתובת מייל</p>\n                        <input name=\"mail\" dir=\"rtl\" value={mail} onChange={(e) => onChange(e)} type=\"email\" id=\"mail\" placeholder=\"הזינו את האימייל שלכם\" ></input>\n                        {(mail && !validation.mail) && <p className=\"redMail-error-validation\">{mailPattern}</p>}\n                    </div>\n                    \n                    <div className=\"inputField\">\n                        <p className=\"title\">מספר טלפון</p>\n                        <input name=\"phoneNumber\" dir=\"rtl\" value={phoneNumber} onChange={(e) => onChange(e)} type=\"text\" id=\"phoneNumber\" placeholder=\"הזינו מספר\" ></input>\n                        {(phoneNumber && !validation.phoneNumber) && <p className=\"redMail-error-validation\">המספר צריך להיות מורכב מ-10 ספרות ללא מקף</p>}\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}","import * as has from \"lodash/has\"\n\ninterface RedMailFileUploadProps {\n    handleSelectedFile: (e: any) => void\n    selectedFiles: any\n    hashes: string[]\n    invalidFilesName: string[]\n    showFileStatusProgress: (fileKey: any) => string\n}\n\nexport class RedMailFileUploadCalcalist extends React.Component<RedMailFileUploadProps, {}> {\n\n    render() {\n        const { handleSelectedFile, selectedFiles, invalidFilesName, hashes, showFileStatusProgress } = this.props;\n        return (\n            <div className=\"RedMailFilesUpload\">\n                <div style={{ display: Object.keys(selectedFiles).length > 0 && \"none\" }} className=\"FilesUploadButtonWrapper\">\n\n                    <input type=\"file\" id=\"inputFile\"\n                        onChange={handleSelectedFile}\n                        multiple\n                    />\n                    <button className=\"FilesUploadButton\">הוספת קובץ\n                        <div className=\"uploadIcon\"></div>\n                    </button>\n                </div>\n                {hashes.length === 0 && <span className=\"fileDescription\">  תמונה, וידאו, מסמך עד 200 מגה</span>}\n                {Object.keys(selectedFiles).length > 0 && <div className=\"fileWrapper\" style={{ width: '100%' }}>\n                    {Object.keys(selectedFiles).map(fileKey =>\n                        <div className=\"fileName\" key={fileKey}>\n                            <input type=\"text\" className=\"FileNameText\" value={selectedFiles[fileKey].fileName} />\n                            <div className=\"FileNameIconsWrapper\">\n                                <span className=\"FileNameUploadProgress\">{showFileStatusProgress(fileKey)}</span>\n                                {has(selectedFiles[fileKey], \"progress\") && <div className=\"FileNameLoadingIcon\"></div>}\n                                <div className=\"FileNameUploadIcon\"></div>\n                            </div>\n                        </div>)}\n                </div>}\n                {Object.keys(selectedFiles).length > 0 && Object.keys(selectedFiles).length < 5 && \n                   <div className=\"addFile\" onClick={() => document.getElementById(\"inputFile\").click()}>\n                       <div className=\"addFileIcon\"></div>\n                         הוספת קובץ נוסף (תמונה, וידאו, מסמך)\n                   </div>}\n                {!!invalidFilesName.length && <div className=\"files-names-error-row\">\n                    {invalidFilesName.map(file => <span key={file}> הקובץ {`${file}`}  כבד מדיי – העלה קובץ עד 200 מגה בלבד </span>)}\n                </div>}\n            </div>\n        )\n    }\n}\n","import * as has from \"lodash/has\"\n\ninterface RedMailFileUploadProps {\n    handleSelectedFile: (e: any) => void\n    selectedFiles: any\n    hashes: string[]\n    invalidFilesName: string[]\n    showFileStatusProgress: (fileKey: any) => string\n}\n\nexport class RedMailFileUploadYnet extends React.Component<RedMailFileUploadProps, {}> {\n\n    render() {\n        const { handleSelectedFile, selectedFiles, invalidFilesName, hashes, showFileStatusProgress } = this.props;\n        return (\n            <div className=\"RedMailFilesUpload\">\n                <div style={{ display: Object.keys(selectedFiles).length > 0 && \"none\" }} className=\"FilesUploadButtonWrapper\">\n                    <input type=\"file\" id=\"inputFile\"\n                        onChange={handleSelectedFile}\n                        multiple\n                    />\n                    <button className=\"FilesUploadButton\">\n                        הוספת קובץ\n                        <div className=\"uploadIcon\"></div>\n                    </button>\n                </div>\n                \n                <div className=\"addFileWrapper\">\n                    <div className=\"addFileText\" style={{ display: Object.keys(selectedFiles).length === 0 && \"none\" }}>הוספת קובץ</div>\n                    <div className=\"addFileInputWrapper\">\n                        {Object.keys(selectedFiles).length > 0 && <div className=\"fileWrapper\" style={{ width: '100%' }}>\n                            {Object.keys(selectedFiles).map(fileKey =>\n                                <div className=\"fileName\" key={fileKey}>\n                                    <div className=\"fileNameIcon\"></div>\n                                    <input type=\"text\" dir=\"rtl\" value={selectedFiles[fileKey].fileName} />\n                                </div>)}\n                        </div>}\n                        {Object.keys(selectedFiles).length > 0 && Object.keys(selectedFiles).length < 5 &&\n                            <div className=\"addFile\" onClick={() => document.getElementById(\"inputFile\").click()}><div className=\"addFilePlusIcon\"></div> &nbsp;<span className=\"addFileTitle\">הוספת קובץ נוסף</span> &nbsp;<span>{`mov,png,jpeg,jpg,mp4 עד 200 MB`}</span></div>}\n                        {!!invalidFilesName.length && <div className=\"files-names-error-row\">\n                            {invalidFilesName.map(file => <span key={file}> הקובץ {`${file}`}  כבד מדיי – העלה קובץ עד 200 מגה בלבד  </span>)}\n                        </div>}\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}\n","export class PopUp extends React.Component<{ onClose: () => void, loading: boolean }, {}> {\n    public render() {\n        const { loading } = this.props;\n        if (loading) {\n            return (\n                <div className=\"redMailPopUp\">\n                    <div className=\"loading\"></div>\n                    <p className=\"title\">עוד רגע מסיימים...</p>\n                </div>\n            )\n        } else {\n            return (\n                <div className=\"redMailPopUp\">\n                    <div className=\"finish\"></div>\n                    <p className=\"title\">המידע התקבל ונשלח לבדיקה.</p>\n                    <p className=\"subTitle\">תודה על השיתוף</p>\n                    <button className=\"popUpButton\"><a href=\"/\">חזרה לעמוד הבית</a></button>\n                </div>\n            )\n        }\n    }\n\n}\n\n\n\n","require(\"../../calcalistWidgets/calcalistRedMail/calcalist_site_redMailComponenta.less\")\nimport { ExtraDetails } from \"./extraDetails/extraDetails\"\nimport { TextArea } from \"./textArea/textArea\"\nimport { PopUp } from \"./popUp/popUp\"\nimport { RedMailFileUploadCalcalist } from \"./filesUpload/RedMailFileUploadCalcalist\";\nimport { RedMailComponentaProps } from \"../interfaces/redMailInterfaces\";\n\nexport interface RedMailComponentaCalcalistProps extends RedMailComponentaProps {\n\n}\n\n\n\nexport class RedMailComponentaCalcalist extends React.Component<RedMailComponentaCalcalistProps & {isChecked: boolean}, {}>{\n\n    public render() {\n        const { handleChangeText, isTextAreaBlank, countSubmitAttempts, textArea, handleSelectedFile, selectedFiles, hashes, invalidFilesName, showFileStatusProgress,\n            photographer, sender, mail, phoneNumber, validation, handleChangeExtraData, isAgreementApproved, IsPopUp, submitForm, loading, onClose, submitButtonDisabled,\n            isChecked} = this.props;\n\n\n        const calcalistTermsHref = \"https://www.calcalist.co.il/articles/1,7340,L-3060415,00.html\";\n        const calcalistTermsLink = <a href={calcalistTermsHref} className=\"termsClick\" target=\"_blank\">הסכם משלוח התכנים</a>\n        \n        const textData = {\n            headlineText: \"דואר אדום\",\n            textArea: {\n                textAreaHeadline: \"יש לכם מידע חשוב שטרם נחשף? צילומים מארוע חדשותי? נשמח שתשתפו אותנו. אנחנו נבדוק, נאמת ונפרסם בהתאם להחלטת מערכת כלכליסט.\",\n                placeholder: \"מה רצית לשתף איתנו?\"\n            },\n            extraDetailsData: {\n                title: \"פרטים נוספים\",\n                subTitle: \"אין שום בעיה שתישארו אנונימיים, אבל מספר הטלפון או כתובת המייל שלכם יקלו עלינו לטפל במידע. חשוב לדעת שבמקרה שאתם עושים שימוש בתמונה או קובץ שמוגנים בזכויות יוצרים - חובה לצרף פרטים מזהים.\",\n                mailPattern: \"צריך להיות בתבנית הבאה: calcalist@calcalist.com \"\n            },\n            terms: <> בלחיצה על שליחה, קראתי והבנתי את {calcalistTermsLink} לכלכליסט, והסכמתי לתנאיו</>\n        }\n\n        return (\n            <div>\n                <div className=\"RedMailComponenta\">\n                    <div className=\"redMailHeadline\">\n                        <div className=\"headlineImage\" />\n                        <p className=\"headlineText\">\n                            <a className=\"headlineTitle\" href=\"https://m.calcalist.co.il/\"></a> \n                            <span className=\"headlineSubTitle\">{textData.headlineText}</span>\n                        </p>\n                    </div>\n\n                    <div className=\"redMailLeftSide\">\n                        <TextArea textAreaData={textData.textArea} value={textArea} isChecked={isChecked}  onChange={handleChangeText} isTextAreaBlank={isTextAreaBlank && countSubmitAttempts > 0} />\n                        {(isTextAreaBlank && countSubmitAttempts > 0) && <div className=\"contentErrorMessage\">נראה ששכחת לצרף את תוכן ההודעה</div>}\n                        <RedMailFileUploadCalcalist\n                            handleSelectedFile={handleSelectedFile}\n                            selectedFiles={selectedFiles}\n                            hashes={hashes}\n                            invalidFilesName={invalidFilesName}\n                            showFileStatusProgress={showFileStatusProgress}\n                        />\n\n                        <div className=\"separator\" />\n\n                        <ExtraDetails\n                            photographer={photographer}\n                            sender={sender}\n                            mail={mail}\n                            phoneNumber={phoneNumber}\n                            onChange={handleChangeExtraData}\n                            validation={validation}\n                            extraDetailsData={textData.extraDetailsData}\n                        />\n\n                        <div className=\"separator\" />\n                        <div className=\"bottomArea\">\n                            <p className=\"terms\">\n                                <input className=\"checkBox\" id=\"agreementApproved\" type=\"checkbox\" checked={isAgreementApproved} onChange={(e) => handleChangeExtraData(e)} />\n                                {textData.terms}\n                                {(!isAgreementApproved && countSubmitAttempts > 0) && <div className=\"contentErrorMessage terms-error \">יש לאשר את תנאי השימוש</div>}\n                            </p>\n\n                            <button\n                                disabled={submitButtonDisabled}\n                                className=\"submitButton\"\n                                type=\"submit\"\n                                onClick={submitForm}>\n                                שליחה\n                        </button>\n                        </div>\n\n                        {IsPopUp && <PopUp onClose={onClose} loading={loading} />}\n                    </div>\n                </div>\n            </div>\n        )\n\n    }\n}\n\n\n\n","require(\"./ynet_site_redMailComponenta.less\")\n\nimport { ExtraDetails } from \"./extraDetails/extraDetails\"\nimport { TextArea } from \"./textArea/textArea\"\nimport { PopUp } from \"./popUp/popUp\"\nimport { RedMailFileUploadYnet } from \"./filesUpload/RedMailFileUploadYnet\";\nimport { RedMailComponentaProps } from \"../interfaces/redMailInterfaces\";\n\nexport interface RedMailComponentaYnetProps extends RedMailComponentaProps {\n\n}\n\nexport class RedMailComponentaYnet extends React.Component<RedMailComponentaYnetProps & {isChecked: boolean}, {}>{\n\n    public render() {\n        const { handleChangeText, isTextAreaBlank, countSubmitAttempts, textArea,\n                handleSelectedFile, selectedFiles, hashes, invalidFilesName, showFileStatusProgress,\n                photographer, sender, mail, phoneNumber, validation, handleChangeExtraData, isAgreementApproved,\n                IsPopUp, submitForm, loading, onClose, submitButtonDisabled, isChecked } = this.props;\n\n        const ynetTermsHref = \"https://z.ynet.co.il/short/content/2018/privacypolicy/terms.html\";\n        const ynetPolicyHref = \"https://z.ynet.co.il/short/content/2018/privacypolicy/policy.html\";\n        const ynetTermsLink = <a href={ynetTermsHref} className=\"termsClick\">תנאי השימוש</a>\n        const ynetPolicyLink = <a href={ynetPolicyHref} className=\"termsClick\">מדיניות הפרטיות</a>\n\n        const textData = {\n            headlineText: \"המייל האדום\",\n            textArea: {\n                textAreaHeadline: \"יש לכם מידע חשוב שטרם נחשף? צילומים מאירוע חדשותי? נשמח שתשתפו אותנו.\",\n                textAreaHeadlineShareButtonsActive: 'יש לכם מידע חשוב שטרם נחשף? צילומים מאירוע חדשותי?',\n                textAreaHeadlineShareButtonsActiveSecondLine:\" נשמח שתשתפו אותנו – בטופס זה, בווטסאפ או בטלגרם\",\n                placeholder: \"תוכלו לשתף אותנו גם כאן\",\n            },\n            extraDetailsData: {\n                title: \"פרטים נוספים (לא חובה)\",\n                subTitle: \"\",\n                mailPattern: \"צריך להיות בתבנית הבאה: ynet@ynet.com \"\n            },\n            terms: <>הריני לאשר שהתוכן שאשלח: מקורי, לא מזויף או מבוים, לא מימנתי את הפקתו, הוא אינו מועתק או נגוע במעשה בלתי חוקי כגון הסגת גבול ופגיעה בפרטיות. התוכן לא נשלח לשום גורם אחר במקביל והוא מועבר לבעלותכם הבלעדית, ללא עלות וללא מגבלה. פרטיי מהימנים לטובת קרדיט לצד פרסום התוכן, אם תבחרו לפרסמו ובמידה ותידרשו למסור אותם לגורם רשמי. קראתי, הבנתי ומסכים לאמור ב{ynetTermsLink} וב{ynetPolicyLink} ולקבלת דיוורים מאתר ynet.</>\n        }\n\n        return (\n            <div>\n                <div className=\"RedMailComponenta\">\n                    <div className=\"redMailLeftSide\">\n                        <div className=\"redMailHeadline\">\n                            <div className=\"headlineImage\" />\n                            <p className=\"headlineText\">המייל&nbsp;<span>האדום</span></p>\n                        </div>\n                        \n                        <TextArea textAreaData={textData.textArea} value={textArea} isChecked={isChecked} onChange={handleChangeText} isTextAreaBlank={isTextAreaBlank && countSubmitAttempts > 0} />\n                        {(isTextAreaBlank && countSubmitAttempts > 0) && <div className=\"contentErrorMessage\">נראה ששכחת לצרף את תוכן ההודעה</div>}\n                        <RedMailFileUploadYnet\n                            handleSelectedFile={handleSelectedFile}\n                            selectedFiles={selectedFiles}\n                            hashes={hashes}\n                            invalidFilesName={invalidFilesName}\n                            showFileStatusProgress={showFileStatusProgress}\n                        />\n\n                        <ExtraDetails\n                            photographer={photographer}\n                            sender={sender}\n                            mail={mail}\n                            phoneNumber={phoneNumber}\n                            onChange={handleChangeExtraData}\n                            validation={validation}\n                            extraDetailsData={textData.extraDetailsData}\n                        />\n\n                        <p className=\"terms\">\n                            <input className=\"checkBox\" id=\"agreementApproved\" type=\"checkbox\" checked={isAgreementApproved} onChange={(e) => handleChangeExtraData(e)} />\n                            {textData.terms}\n                        </p>\n\n                        {(!isAgreementApproved && countSubmitAttempts > 0) && <div className=\"contentErrorMessage terms-error\">יש לאשר את תנאי השימוש</div>}\n                        <button\n                            disabled={submitButtonDisabled}\n                            className=\"submitButton\"\n                            type=\"submit\"\n                            onClick={submitForm}>\n                            שליחה\n                        </button>\n                        {IsPopUp && <PopUp onClose={onClose} loading={loading} />}\n                    </div>\n                </div>\n            </div>\n        )\n\n    }\n}\n\n\n\n","import * as axios from \"axios\"\nimport { enablePageRefresh, disablePageRefresh } from \"../../../siteWidgets/siteWidgetUtils\"\nimport { isMobile } from \"../../../../utils/isMobile\"\nimport * as reject from \"lodash/reject\"\nimport * as has from \"lodash/has\"\nimport { RedMailComponentaYnet } from \"./redMailComponentaYnet\";\nimport { RedMailComponentaCalcalist } from \"./redMailComponentaCalcalist\";\nimport { RedMailComponentaYnetnews } from \"../../ynetnews1280/redMail/components/redMailComponentaYnetnews\";\nimport { RedMailComponentaRadionas } from \"../../radionas/redmail/components/redMailComponentaRadionas\";\n\ndeclare var grecaptcha: any\ndeclare var window: any\ndeclare var grecaptcha: any\ndeclare var window: any\ndeclare var AWS: any\n\nconst MB = 1024 * 1024\nconst MAX_PART_SIZE = MB * 5\nconst MAX_SIZE_ALLOWED_PER_FILE = MB * 200\nconst maxFileAlertMessage = {\n    ynetnews: \"Up to 5 files\",\n    Ynet: \"מקסימום 5 קבצים\",\n    ynet: \"מקסימום 5 קבצים\",\n    Calcalist: \"מקסימום 5 קבצים\",\n    vesty: \"До 5 файлов\"\n}\n\ninterface State {\n    textArea: string\n    hashes: string[]\n    photographer: string\n    sender: string\n    mail: string\n    phoneNumber: string\n    IsPopUp: boolean\n    loading: boolean\n    isTextAreaBlank: boolean\n    validation: { mail: boolean, phoneNumber: boolean }\n    numOfFiles: number\n    isAgreementApproved: boolean\n    countSubmitAttempts: number\n    submitButtonDisabled: boolean\n    selectedFiles: any\n    s3Policy: any\n    invalidFilesName: string[]\n}\n\ninterface RedMailCoomponentaProps {\n    siteName: string,\n    isChecked: boolean\n    languageCode: string\n    siteSettingSitename: string\n}\n\ntype Action = \"add\" | \"remove\"\n\n\n\nexport class RedMailSiteComponentaWrapper extends React.Component<RedMailCoomponentaProps, State>{\n    public static siteScriptName = \"RedMailSiteComponentaWrapper\";\n    public constructor(props) {\n        super(props);\n        this.state = {\n            textArea: \"\",\n            hashes: [],\n            photographer: \"\",\n            sender: \"\",\n            mail: \"\",\n            phoneNumber: \"\",\n            IsPopUp: false,\n            loading: false,\n            numOfFiles: 0,\n            isTextAreaBlank: true,\n            validation: { mail: true, phoneNumber: true },\n            isAgreementApproved: false,\n            countSubmitAttempts: 0,\n            submitButtonDisabled: false,\n            selectedFiles: {},\n            s3Policy: null,\n            invalidFilesName: []\n        };\n        this.submitForm = this.submitForm.bind(this);\n    }\n\n    public s3\n\n    componentDidMount() {\n        this.createAWS3Script()\n        disablePageRefresh()\n    }\n\n    componentWillUnmount() {\n        enablePageRefresh()\n    }\n\n    private submitForm = () => {\n        if (this.state.isTextAreaBlank || !this.state.validation.mail || !this.state.validation.phoneNumber || !this.state.isAgreementApproved) {\n            if (isMobile()) {\n                this.scrollScreenToErrorElement();\n            }\n            this.setState(prevState => ({ ...prevState, countSubmitAttempts: prevState.countSubmitAttempts + 1 }))\n            return\n        } else {\n            this.setState({ loading: true });\n            const isTest = window.location.search.includes(\"is_test=1\");\n\n            if (isTest) {\n                this.sendSub(\"\", true);\n            } else if (window.wcmCaptchaSiteKey && grecaptcha) {\n                grecaptcha.ready(() => {\n                    grecaptcha.execute(window.wcmCaptchaSiteKey, { action: 'submit' }).then(token => {\n                        this.sendSub(token, false);\n                    })\n                });\n            }\n        }\n    }\n\n    private sendSub = async (token: string, isTest: boolean) => {\n        const { siteName, siteSettingSitename } = this.props\n        const urlParams = new URLSearchParams(window.location.search.slice(0));\n        const articleId = urlParams.get('notifyMistake') || null;\n        const sitenameForCaptcha = siteName ? siteName.toLowerCase() : siteSettingSitename.toLowerCase();\n        let data = {\n            sender: this.state.sender,\n            credit: this.state.photographer,\n            email: this.state.mail,\n            phone: this.state.phoneNumber,\n            text: this.state.textArea,\n            hashes: this.state.hashes,\n            num_of_files: this.state.numOfFiles,\n            token: token,\n            siteName: window[\"siteID\"],\n            sent_from: sitenameForCaptcha\n        }\n        axios.post(`/api/red_mail/save/${articleId ? articleId : ''}${isTest ? \"?is_test=1\" : \"\"}`, data)\n            .then((res: any) => res.status === 200 && this.setState({ IsPopUp: true, loading: false, countSubmitAttempts: 0 }))\n            .catch(err => {\n                console.log('err', err);\n                this.setState({ loading: false });\n            })\n    }\n\n    private handleChangeText = (e) => {\n        const value = e.target.value;\n        if (value.length === 0) {\n            this.setState({ isTextAreaBlank: true })\n        } else {\n            this.setState({ isTextAreaBlank: false })\n        }\n        this.setState({ textArea: value })\n    }\n\n    private handleChangeExtraData = (e) => {\n        const inputName = e.target.name\n        const value = e.target.value;\n        let isInputValid = true\n        if (e.target.id === 'phoneNumber') {\n            let pattern = /^[0-9\\b]{10}$/;\n            if (value) {\n                isInputValid = pattern.test(value);\n            }\n        }\n\n        if (e.target.id === 'mail') {\n            let pattern = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n            if (value) {\n                isInputValid = pattern.test(value);\n            }\n        }\n        if (e.target.id === \"agreementApproved\") {\n            this.setState(prevState => ({ ...prevState, isAgreementApproved: !prevState.isAgreementApproved }))\n        }\n        this.setState(prevState => ({ [inputName]: value, validation: { ...prevState.validation, [inputName]: isInputValid } }))\n    }\n\n    public onClose = () => {\n        this.resetInputs();\n    }\n\n    private handleNumOfFiles = (action: Action) => {\n        switch (action) {\n            case \"add\":\n                this.setState(prevState => ({ ...prevState, numOfFiles: prevState.numOfFiles + 1 }))\n                break;\n            case \"remove\":\n                this.setState(prevState => ({ ...prevState, numOfFiles: prevState.numOfFiles - 1 }))\n                break;\n            default: null;\n        }\n    }\n\n    private resetInputs = () => {\n        this.setState({\n            hashes: [],\n            loading: false,\n            IsPopUp: false,\n            textArea: '',\n            photographer: '',\n            sender: '',\n            mail: '',\n            phoneNumber: '',\n            numOfFiles: 0,\n            validation: { mail: true, phoneNumber: true },\n            isTextAreaBlank: true,\n        })\n    }\n\n    private setSubmitButtonDisabled = () => {\n        this.setState({ submitButtonDisabled: true })\n    }\n\n    private setSubmitButtonEnabled = () => {\n        this.setState({ submitButtonDisabled: false })\n    }\n\n    private scrollScreenToErrorElement = () => {\n\n        let errorElement = null;\n\n        if (this.state.isTextAreaBlank) {\n            errorElement = '#RedMailTextAreaElement';\n        } else if (!this.state.validation.mail) {\n            errorElement = '#mail';\n        } else if (!this.state.validation.phoneNumber) {\n            errorElement = '#PhoneNumber';\n        } else if (!this.state.isAgreementApproved) {\n            errorElement = '#agreementApproved';\n        }\n\n        const elementToScroll = document.querySelector(errorElement);\n        elementToScroll.scrollIntoView({\n            behavior: 'smooth',\n            block: 'start'\n        });\n    }\n\n    //------------AWS upload logic------------\\\\\n\n    createAWS3Script = () => {\n        const script = document.createElement(\"script\");\n        script.src = 'https://sdk.amazonaws.com/js/aws-sdk-2.945.0.min.js';\n        script.type = \"text/javascript\";\n        script.id = \"amazonS3\";\n        document.body.appendChild(script);\n    }\n\n    sendS3 = (filesData, file: File) => {\n        const { AccessKeyId, SecretAccessKey, SessionToken } = filesData.policy\n\n        AWS.config.update({\n            region: filesData.region,\n            credentials: new AWS.Credentials(AccessKeyId, SecretAccessKey, SessionToken),\n        });\n        AWS.config.apiVersions = {\n            s3: '2006-03-01',\n        };\n        this.s3 = new AWS.S3();\n        const key = `${filesData.key}_${Math.random().toString().substr(2)}_${file.name.replace(/\\s/g, '')}`;\n        let uploadParams = {\n            Bucket: filesData.bucket,\n            Key: key,\n            ContentType: file.type\n        }\n\n        this.s3.createMultipartUpload(uploadParams, (err, data) => {\n            if (err) {\n                console.error(\"S3 Upload error\", err)\n            }\n            if (data) {\n                this.setSubmitButtonDisabled;\n                this.setState({ selectedFiles: { ...this.state.selectedFiles, [file[\"key\"]]: { fileName: file.name, progress: 0, uploadKey: data.Key } } });\n                this.uploadS3Part(data.UploadId, filesData.bucket, 1, Math.ceil(file.size / MAX_PART_SIZE), file, key, [])\n            }\n        })\n    }\n\n    uploadS3Part = (uploadid: string, bucket, partNum: number, totalParts: number, file: File, key: string, etags: string[]) => {\n        const start = (partNum - 1) * MAX_PART_SIZE\n        const end = partNum * MAX_PART_SIZE //file slice dosent reach beyond the size of the file\n        const params = {\n            Body: file.slice(start, end),\n            Bucket: bucket,\n            Key: key,\n            PartNumber: partNum,\n            UploadId: uploadid\n        }\n        //https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#uploadPart-property\n        this.s3.uploadPart(params, (err, data) => {\n            if (err) {\n                const existingFiles = this.state.selectedFiles;\n                delete existingFiles[file[\"key\"]].progress;\n                this.setState({ selectedFiles: existingFiles })\n                this.isUploadFinished();\n                console.error(err, err.stack)\n            }\n            else {\n                etags.push(data.ETag)\n                if (partNum !== totalParts) {\n                    this.setState({ selectedFiles: { ...this.state.selectedFiles, [file[\"key\"]]: { fileName: file.name, progress: (partNum * 100) / totalParts, uploadKey: key } } });\n                    this.uploadS3Part(uploadid, bucket, partNum + 1, totalParts, file, key, etags)\n                } else {\n                    this.finishS3Part(bucket, uploadid, key, etags)\n                }\n            }\n        });\n    }\n\n    finishS3Part = (bucket, uploadId, key: string, etags: string[]) => {\n        const params = {\n            Bucket: bucket,\n            Key: key,\n            MultipartUpload: {\n                Parts: etags.map((eTag, index) => (\n                    {\n                        ETag: eTag,\n                        PartNumber: index + 1\n                    })\n                )\n            },\n            UploadId: uploadId\n        };\n        //https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#completeMultipartUpload-property\n        this.s3.completeMultipartUpload(params, (err, data) => {\n            if (err) {\n                console.error(err, err.stack)\n            }\n            else {\n                this.handleNumOfFiles(\"add\")\n                Object.keys(this.state.selectedFiles).map((fileKey, index) => {\n                    if (this.state.selectedFiles[fileKey].uploadKey === data.Key) {\n                        const existingFiles = this.state.selectedFiles;\n                        delete existingFiles[fileKey].progress;\n                        this.setState({ selectedFiles: existingFiles })\n                    }\n                })\n                this.isUploadFinished();\n            };\n        });\n    }\n\n    manageFileUpload = (policy: any, file: File) => {\n        const filesData = policy\n        const oldHashesArray = this.state.hashes;\n        this.sendS3(filesData, file);\n        this.setState({ hashes: [...oldHashesArray, policy.hash] });\n    }\n\n    getS3Policy = () => {\n        const isTest = window.location.search.includes(\"is_test=1\");\n        return new Promise((resolve, reject) => {\n            if(isTest) {\n                let data = {token: \"\", content_type: \"\"}\n                axios.post(`/api/red_mail/get_policy?is_test=1`, data).then(res => {\n                    this.setState({ s3Policy: res.data })\n                    return resolve(res.data)\n                })\n            }else if (window.wcmCaptchaSiteKey && grecaptcha) {\n                grecaptcha.ready(() => {\n                    grecaptcha.execute(window.wcmCaptchaSiteKey, { action: 'submit' }).then(token => {\n                        let data = {token: token, content_type: \"\"}\n                        axios.post(`/api/red_mail/get_policy`, data).then(res => {\n                            this.setState({ s3Policy: res.data })\n                            return resolve(res.data)\n                        })\n                    })\n                })\n            }\n        })\n    }\n\n    handleSelectedFile = (e) => {\n        const files = e.target.files;\n        const { siteSettingSitename } = this.props;\n        if (files.length > 5 || files.length + Object.keys(this.state.selectedFiles).length > 5) {\n            alert(maxFileAlertMessage[siteSettingSitename]);\n        } else {\n            const validFiles = this.isFilesSizeValid(files)\n            if (!this.state.s3Policy) {\n                this.getS3Policy().then(res => {\n                    this.sendFiles(validFiles);\n                })\n            } else {\n                this.sendFiles(validFiles);\n            }\n        }\n    };\n\n    handleRemoveFile = (index: number) => {\n        const { selectedFiles } = this.state\n        const newFiles = reject(selectedFiles, (f, i) => i === index);\n        this.setState({ selectedFiles: newFiles })\n        this.handleNumOfFiles(\"remove\");\n    }\n\n    sendFiles = (files: any) => {\n        const { numOfFiles } = this.state\n        for (let i = 0; i < files.length; i++) {\n            let file: File = files[i];\n\n            if (this.containsHeb(file.name)) {\n                const ext = file.name.split('.').pop();\n                file = this.renameFile(file, `custom_file_${numOfFiles + 1}.${ext}`)\n            }\n            const existingFiles = this.state.selectedFiles;\n            const key = Date.now();\n            existingFiles[key] = { fileName: file.name };\n            file[\"key\"] = key;\n            this.setState({ selectedFiles: { ...existingFiles } });\n            this.manageFileUpload(this.state.s3Policy, file);\n        }\n    }\n\n    containsHeb = (str) => {\n        return (/[\\u0590-\\u05FF]/).test(str);\n    }\n\n    renameFile = (originalFile, newName) => {\n        return new File([originalFile], newName, {\n            type: originalFile.type,\n            lastModified: originalFile.lastModified,\n        });\n    }\n\n    isUploadFinished = () => {\n        let isUploadFinished: boolean;\n        Object.keys(this.state.selectedFiles).forEach((fileKey) => {\n            isUploadFinished = !has(this.state.selectedFiles[fileKey], \"progress\");\n        });\n\n        if (isUploadFinished) {\n            this.setSubmitButtonEnabled;\n        } else {\n            this.setSubmitButtonDisabled;\n        }\n    }\n\n    isFilesSizeValid = (files: File[]) => {\n        const { invalidFilesName } = this.state\n        const dt = new DataTransfer()\n        for (let i = 0; i < files.length; i++) {\n            const file = files[i];\n            if (file.size > MAX_SIZE_ALLOWED_PER_FILE || file.size < 1) {\n                this.setState({ invalidFilesName: [...invalidFilesName, file.name] })\n                continue\n            }\n            dt.items.add(file)\n        }\n        return dt.files\n    }\n\n    showFileStatusProgress = (fileKey) => {\n        if (this.state.selectedFiles[fileKey].progress) {\n            return Math.round(this.state.selectedFiles[fileKey].progress) + \"%\";\n        } else {\n            return null;\n        }\n    }\n\n    //------------/AWS upload logic------------\\\\\n\n    public render() {\n        const { siteName, isChecked, languageCode, siteSettingSitename } = this.props;\n        const generalSiteName = siteName ? siteName : siteSettingSitename;\n\n        const redMailComponentBySite = {\n            Ynet: <RedMailComponentaYnet\n                {...this.state}\n                handleChangeText={this.handleChangeText}\n                handleSelectedFile={this.handleSelectedFile}\n                showFileStatusProgress={this.showFileStatusProgress}\n                handleChangeExtraData={this.handleChangeExtraData}\n                submitForm={this.submitForm}\n                onClose={this.onClose}\n                isChecked={isChecked}\n                lang={languageCode}\n            />,\n            Calcalist: <RedMailComponentaCalcalist\n                {...this.state}\n                handleChangeText={this.handleChangeText}\n                handleSelectedFile={this.handleSelectedFile}\n                showFileStatusProgress={this.showFileStatusProgress}\n                handleChangeExtraData={this.handleChangeExtraData}\n                submitForm={this.submitForm}\n                onClose={this.onClose}\n                isChecked={isChecked}\n                lang={languageCode}\n            />,\n            ynetnews: <RedMailComponentaYnetnews\n                {...this.state}\n                handleChangeText={this.handleChangeText}\n                handleSelectedFile={this.handleSelectedFile}\n                showFileStatusProgress={this.showFileStatusProgress}\n                handleChangeExtraData={this.handleChangeExtraData}\n                submitForm={this.submitForm}\n                onClose={this.onClose}\n                isChecked={isChecked}\n                lang={languageCode}\n            />,\n            vesty: <RedMailComponentaYnetnews\n                {...this.state}\n                handleChangeText={this.handleChangeText}\n                handleSelectedFile={this.handleSelectedFile}\n                showFileStatusProgress={this.showFileStatusProgress}\n                handleChangeExtraData={this.handleChangeExtraData}\n                submitForm={this.submitForm}\n                onClose={this.onClose}\n                isChecked={isChecked}\n                lang={languageCode}\n            />,\n           Radionas:  <RedMailComponentaRadionas\n           {...this.state}\n           handleChangeText={this.handleChangeText}\n           handleSelectedFile={this.handleSelectedFile}\n           showFileStatusProgress={this.showFileStatusProgress}\n           handleChangeExtraData={this.handleChangeExtraData}\n           submitForm={this.submitForm}\n           onClose={this.onClose}\n           isChecked={isChecked}\n           lang={languageCode}\n       />,\n        }\n\n        return (\n            <>\n                {redMailComponentBySite[generalSiteName]}\n            </>\n        )\n\n    }\n}\n\n\n\n","import * as classNames from \"classnames\"\n\ninterface Props {\n    value: string\n    onChange: (value: any) => void\n    isTextAreaBlank: boolean\n    textAreaData: any\n    isChecked: boolean\n}\nexport class TextArea extends React.Component<Props, State> {\n\n    render() {\n        const { value, onChange, isTextAreaBlank, textAreaData, isChecked } = this.props\n        return (\n            <div id=\"RedMailTextAreaElement\" className=\"RedMailTextArea\">\n                <div className=\"redMailTextAreaTop\">\n                    <p className=\"TextAreaHeadline\">{textAreaData.textAreaHeadlineShareButtonsActive}&nbsp;<span>מצאתם טעות בכתבה?</span></p>\n                    <p className=\"TextAreaHeadline\">{textAreaData.textAreaHeadlineShareButtonsActiveSecondLine}</p>\n                    {isChecked &&\n                        <div className=\"shareButtonsWrapper\">\n                            <a href=\"https://wa.me/972548243550\" className=\"whatsappButton\" target=\"_blank\">\n                                <img />\n                                <div>Whatsapp</div>\n                            </a>\n                            <a href=\"https://t.me/ynetTbot\" className=\"telegramButton\" target=\"_blank\">\n                                <img />\n                                <div>Telegram</div>\n                            </a>\n                        </div>\n                    }\n                </div>\n                <div className=\"textAreaWrapper\">\n                    <div>{textAreaData.placeholder}</div>\n                    <textarea dir=\"rtl\" placeholder={textAreaData.placeholder} value={value} onChange={(e) => onChange(e)} required className={classNames(\"textAre\", { \"placeholderErrorStyle\": isTextAreaBlank })}></textarea>\n                </div>\n            </div>\n        )\n    }\n}","import * as ReactDOM from \"react-dom\"\n//-- start imports\nimport { SiteMediaCarousel } from \"../siteWidgets/siteMediaCarousel\"\nimport { PlainGallery } from \"./gallery/components/plainGallery\"\nimport { YnetSearch } from \"./ynetSearch/components/ynetSearch/ynetSearch\";\nimport { SiteArticleComments } from \"../siteWidgets/SiteArticleComments\"\nimport { SiteArticleImagesGallery } from \"./article/componentas/articleImagesGallery/SiteArticleImagesGallery\"\nimport { MultiImagesFront } from \"./multiImages/components/multiImagesFront\"\nimport { SiteScrollToTopButton } from \"../siteWidgets/scrollToTopButton/SiteScrollToTopButton\"\nimport { SiteTickerPopUp } from \"./ticker/components/tickerPopUp\"\nimport { SiteArticleSideShare } from \"./article/componentas/articleSideShareComponenta/articleSideShareComponent\"\nimport { SiteArticleBottomShare } from \"./article/componentas/articleBottomShareComponenta/articleBottomShareComponent\"\nimport { SiteBreakingNewsComponenta } from \"./breakingNews/components/SiteBreakingNewsComponenta\"\nimport { SiteTickerAutoComponenta } from \"./tickerAuto/components/siteTickerAutoComponenta\"\nimport { MultiImagesLabelsFront } from \"./multiImagesWithLabels/components/multiImagesLabelsFront\"\nimport { SiteArticleHeaderShare } from \"./article/componentas/articleHeaderComponenta/articleHeaderShareComponenta\";\nimport { SiteArticleHeaderMobileShare } from \"./article/componentas/articleHeaderComponenta/SiteArticleHeaderMobileShare\";\nimport { MultiImagesCommertialFront } from \"./multiImagesCommertial/components/multiImagesFront\"\nimport { MultiImagesSpecialFront } from \"./multiImagesSpecial/components/multiImagesSpecialFront\"\nimport { MultiImagesWithFrameFront } from \"./multiImagesWithIframe/components/multiImagesWithFrameFront\"\nimport { GroupsSite } from \"./multiArticleRotation/components/groupsSite\"\nimport { YnetTvSiteMedia, SiteVideoMedia, siteScriptName } from \"../siteWidgets/siteMedia\"\nimport { CityList } from \"./myNet/components/CityList\"\nimport { MultiImagesLabelsFront2 } from \"./multImagesLabels2/components/multiImagesLabelsFront\"\nimport { YnetNewsSearch } from \"./ynetNewsSearch/components/ynetSearch/ynetNewsSearch\";\nimport { MobileHeaderComponenta } from \"./ynetNewsHeader/components/mobileHeader\";\nimport { SiteTickerMobileAutoComponenta } from \"./englishTicker/siteMobileTickerComponentaInside\";\nimport { PikudHaOrefAlerts } from \"../siteWidgets/PikudHaorefAlerts/pikudHaOrefAlerts\"\nimport { SiteInfinityHeadlinesComponenta } from \"./infinityHeadlines/components/siteInfinityHeadlinesComponenta\";\nimport { TaboolaComponenta } from \"./taboola/taboolaComponenta\";\nimport { FrontGalleryComponenta } from \"./mediaGallery/components/frontMediaGallery\";\nimport { MediaGalleryMobile } from \"./mediaGallery/components/mediaGalleryMobile\";\nimport { InfinityArticleComponenta } from \"./InfinityArticle/components/infinityArticleComponenta\"\nimport { SiteLinkLightBoxInjector } from \"../../front/staticServerRendering/LightboxInjector/SiteLightBoxInjector/SiteLightBoxInjector\"\nimport { PplusHeaderFront } from \"./pplus/pplusHeader/components/pplusFrontHeader\";\nimport { PplusPlainGallery } from \"./pplus/pplusGallery/components/plainGallery\";\nimport { PremiumArticleHeaderShareButtons } from \"./article/componentas/premium/componentas/premiumArticleHeaderComponenta/premiumArticleHeaderShareButtons\"\nimport { FrontYnetPlusHeader } from \"./ynetPlusHeader/components/headerFront\";\nimport { YplusStickyMenu } from \"./ynetPlusHeader/components/menu\";\nimport { SiteVideoInline } from \"../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\"\nimport { SiteYplusSubChannelMenu } from \"./yPlusSubChannelHeader/components/subChannelHeader\"\nimport { SiteYplusLoadMoreComponenta } from \"./yPlusLoadMore/components/yplusLoadMore\"\nimport { ImageSlider } from \"../commonComponents/inline/imageSlider/imageSlider\";\nimport { YnetPremiumLoginMobile } from \"./article/componentas/premium/componentas/ynetPremiumLogin/ynetPremiumLoginMobile\";\nimport { MobileYnetPlusHeader } from \"./ynetPlusHeader/components/ynetPlusMobileHeader\";\nimport { SiteYnetFooter } from \"./ynetFooter/components/ynetFooter\";\nimport { SitePremiumArticleTitleImageComponenta } from \"./article/componentas/premium/componentas/premiumArticleTitleImageComponenta/sitePremiumArticleTitleImageComponenta\";\nimport { SiteMynetHeaderComponenta } from \"./mynetWidgets/header/components/siteMynetHeaderComponenta\";\nimport { SpotimScriptInjector } from \"./article/componentas/articleComments/spotimScriptInjector\"\nimport { SiteTickerPopUpMynet } from \"./mynetWidgets/ticker/components/tickerPopUp\";\nimport { YplusSubChannelMenuMobileSite } from \"./yPlusSubChannelHeader/components/mobileSubChannelHeader\";\nimport { SiteYplusSearchResultsWidgetComponenta } from \"./yplusSearchResults/componentas/SiteYplusSearchResultsWidgetComponenta\"\nimport { MobileTickerManualView } from \"./ticker/components/mobileTickerManualView\";\nimport { CalcalistShareMenu } from \"../commonComponents/base/CalcalistShareMenu\";\nimport { CalcalistArticleActions } from \"./calcalist/components/calcalistArticleActions\"\nimport { SiteMynetHeaderMobileComponenta } from \"./mynetWidgets/header/components/mobileHeader/siteMynetHeaderMobileComponenta\";\nimport { SiteMynetArticleSideShare } from \"./mynetWidgets/articleSocialShareWidget/componentas/SiteMynetArticleSideShare\"\nimport { CommertialFrontComponenta } from \"./calcalistWidgets/commercial/components/commertialFrontComponenta\";\nimport { SiteArticleHeadlinesComponenta } from \"./calcalistWidgets/articleHeadlines/components/calcalistLoadMore\";\nimport { SiteCalcalistBuzzComponenta } from \"./calcalistWidgets/buzz/componentas/siteCalcalistBuzzComponenta\"\nimport { CalcalistSpecialContentFront } from \"./calcalistWidgets/specialContent/components/calcalistSpecialContentFront\"\nimport { MultiImagesMobile } from \"./mynetWidgets/multiImages/multiImageMobile\";\nimport { LeftSideMenuComponenta } from \"./calcalistWidgets/categoryHeader/components/leftSideMenuComponenta\"\nimport { SiteArticleSocialShare1280 } from \"./article/componentas/articleSocialShare1280Component/siteArticleSocialShare1280\"\nimport { TickerList } from \"./mynetWidgets/ticker/components/flashList\";\nimport { SiteMynetFooter } from \"./mynetWidgets/footer/components/SiteMynetFooterComponenta\"\nimport { TickerItemSlotWar } from \"./newYnetWidgets/tickerWar/components/tickerItemSlot\";\nimport { CalcalistFooter } from \"./calcalistWidgets/footer/components/footerCalcalistContent\"\nimport { MultiImagesLabelsGallery } from \"./newYnetWidgets/multiImagesGallery/components/multiImagesLabelsFront\";\nimport { SiteArticleSocialBottomShare1280 } from \"./article/componentas/articleBottomShareComponenta/siteArticleSocialBottomShare1280\"\nimport { YnetFlashListComponenta } from \"./calcalistWidgets/ynetFlashList/components/ynetFlashList\";\nimport { MultiImagesRowsFront } from \"./mynetWidgets/multiImagesMultiRows/components/multiImagesRowsFront\"\nimport { SiteStockLinksInjector } from \"../../front/staticServerRendering/stockLinksInjector/SiteStockLinksInjector\";\nimport { CalcalistCarouselComponenta } from \"./calcalistWidgets/articleCarousel/components/carousel\"\nimport { CalcalistLoginAndShare } from \"./calcalistWidgets/calcalistLoginArea/calcalistLoginComponenta\"\nimport { HotTagsFrontComponenta } from \"./newYnetWidgets/hotTagsComponenta/hotTagsFront\";\nimport { SiteArticleVideoComponentaShareButtons } from \"./articleVideo/siteArticleVideoComponentaShareButtons\"\nimport { PlainGallery1280 } from \"./newYnetWidgets/gallery/components/plainGallery\"\nimport { WeatherCitySelectorRow } from \"./weather/components/citySelectorDropdown/WeatherCitySelector\"\nimport { FrontSideVideoCalcalist } from \"./calcalistWidgets/sideVideoGallery/components/frontSideVideoComponenta\";\nimport { FrontTvCalcalist } from \"./calcalistWidgets/calcalistTv/components/calcalistTvFront\";\nimport { TaboolaComponentaGrid1280 } from \"./taboola/taboolaComponentaGrid1280\";\nimport { WeatherMapExtendedTab } from \"./weatherMapYnet/components/WeatherMapExtendedTab/WeatherMapExtendedTab\";\nimport { SiteArticlePremiumCutter } from \"../../textEditor/components/premiumFlag/siteArticlePremiumCutter\";\nimport { YnetShopsGallery } from \"./newYnetWidgets/ynetShops/component/ynetShopsGalleryComponenta\"\nimport { CalcalistStockRecommendationPoints } from \"./calcalist/components/calcalistArticleStockRecommend/components/calcalistStockRecommendationPoints\";\nimport { MobileLaishaHeader } from \"./laishaWidgets/header/components/mobileLaishaHeaderComponenta\";\nimport { TagsSearchComponenta } from \"./tagPageMain/tagsSearchComponenta\"\nimport { ArticleHotUpdateComponent } from \"./article/componentas/articleHotUpdate/components/articleHotUpdateComponent\";\nimport { insertDateInSiteServerRender } from \"../siteWidgets/formatDateDisplay\"\nimport { StripMarketingFront } from \"./ynet1280/marketingStrip/components/frontStripMarketingComponenta\";\nimport { SiteTickerAutoRowComponenta } from \"./ynet1280/autoTickerRowWidget/components/siteAutoTickerRowComponenta\";\nimport { FrontVideoGallery } from \"./ynet1280/ynetTv/components/frontYnetVideo\";\nimport { MultiImagesMagazineFront } from \"./ynet1280/magazineMultiImages/components/multiMagazineFront\";\nimport { ElectionDateCounter } from \"./newYnetWidgets/election/components/electionDateCounter\";\nimport { Gallery1280 } from \"./ynet1280/galleryWidget/components/plainGallery\"\nimport { SiteArticleSocialShareNew1280 } from \"./article/componentas/articleSocialShare1280Component/articleSocialShareNew1280\";\nimport { BlogsAutoFeedComponent } from \"./blogsAutoFeed/components/blogsAutoFeedComponent\";\nimport { SiteYnetHeaderComponenta } from \"./ynet1280/ynetHeader/components/siteYnetHeaderComponenta\"\nimport { MultiImages1280Front } from \"./ynet1280/multiImages/components/mulitImagesFront\";\nimport { YnetPlusPromotion } from \"./ynet1280/multiImagesYplus/components/promotionYplus\"\nimport { SiteArticleContact } from \"./ynet1280/articleConnectUs/siteArticleContact\";\nimport { Accordion } from \"../siteWidgets/accordion/accordion\";\nimport { YnetShops1280Gallery } from \"./ynet1280/ynetShops/components/ynetShops1280Gallery\";\nimport { ArticleImageSlider } from \"./calcalistWidgets/articleImageGallery/components/articleImageSlider\";\nimport { ArticleImagePriceTagPointsComponent } from \"./articleImageTagPrice/component/articleImagePriceTagPointsComponent\"\nimport { CommertialTeaserFront } from \"./calcalistWidgets/commericalTeaser/components/commertialTeaserFront\"\nimport { AppArticleContact } from \"./ynet1280/articleConnectUs/appArticleContact\";\nimport { SiteArticleBottomShareCtech } from \"./ctechWidgets/ctechBottomShareButtons/articleBottomshareButtonsCtech\";\nimport { SiteCategoryHeaderComponenta } from \"./calcalistWidgets/categoryHeader/components/siteCategoryHeaderComponenta\"\nimport { CtechHeaderMenu } from \"./ctechWidgets/ctechHeader/components/ctechHeaderMenu\"\nimport { WeatherMultiArticleItem } from \"./ynet1280/multiArticleWidget/components/weatherMultiArticleItem\";\nimport { SiteMobileCtechHeaderComponenta } from \"./ctechWidgets/ctechHeader/components/siteMobileCtechHeaderComponenta\"\nimport { OneVideoGallery } from \"./ynet1280/oneVideo/oneVideoGallery\";\nimport { SiteCtechWideBuzzComponenta } from \"./ctechWidgets/ctechWideBuzz/components/siteCtechWideBuzz\"\nimport { PplusMobileHeader } from \"./pplus/pplusHeader/components/pplusMobileHeader\";\nimport { PplusShareMenu } from \"./pplus/pplusShareMenu/pplusShareMenu\";\nimport { SiteCtechTwentyFourSevenWideComponenta } from \"./ctechWidgets/ctechTwentyFourSevenWide/components/siteCtechTwentyFourSevenWideComponenta\"\nimport { MobileArticleImagesGallery } from \"./article/componentas/articleImagesGallery/mobileArticleImagesGallery\";\nimport { SitePplusLoadMoreComponenta } from \"./pplus/pplusLoadMore/components/pplusLoadMore\";\nimport { CartoonArchiveComponenta } from \"./calcalistWidgets/cartoonArchive/components/cartoonArchiveComponenta\"\nimport { MobileYPlusTopStory } from \"./ynetPlusHeader/components/mobileYplusTopStory\";\nimport { YplusMultiImagesFront } from \"./yplusMultiImages/components/yplusMultiImagesFront\";\nimport { ArticleMobileHeaderShareComponent } from \"./article/componentas/articleHeaderComponenta/articleMobileHeaderShareComopnent\";\nimport { SiteMediaMobileCarousel } from \"../siteWidgets/siteMobileMediaCarousel\";\nimport { MutamMarketingSign } from \"../commonComponents/inline/marketingSign/mutamMarketingSign\";\nimport { SiteMutamYnetHeaderComponenta } from \"./ynet1280/ynetHeader/components/mutamComponents/siteMutamYnetHeaderComponenta\";\nimport { SiteArticleVerticalSocialShare } from \"./article/componentas/articleVerticalSocialShareComponent/siteArticleVerticalSocialShare\";\nimport { RedMailSiteComponentaWrapper } from \"./redMail/components/redMailSiteComponentaWrapper\"\nimport { NewsLetterSignUpPopUp } from \"./newsLetter/components/newsLetterSignUpPopUp\";\nimport { PremiumMutamHeader } from \"./article/componentas/premium/componentas/premiumMutamHeader/premiumMutamHeader\";\nimport { PromoYplusBtn } from \"./ynet1280/yPlusWithPaper/components/promoBtn\"\nimport { SiteYnetNewsHeaderComponenta } from \"./ynetnews1280/siteHeader/components/siteYnetHeaderComponenta\";\nimport { SiteMutamYnetNewsHeaderComponenta } from \"./ynetnews1280/siteHeader/components/mutamComponents/siteMutamYnetHeaderComponenta\";\nimport { RadioHomepagePlayerComponenta } from \"./radioWidgets/radioHompage/components/radioHomepagePlayerComponenta\";\nimport { GeneralCommercialTeaserFront } from \"./calcalistWidgets/generalCommercialTeaser/components/generalCommercialTeaserFront\";\nimport { RadioScheduleComponent } from \"./radioWidgets/radioSchedule/components/radioScheduleComponent\";\nimport { PodcastPlayer } from \"./radioWidgets/floatingPlayer/podcastPlayerButton\";\nimport { RadioNewsflashPlayer } from \"./radioWidgets/audioNewsflash/radioNewsflashPlayer\";\nimport { SiteArticleRecipeRatingComponenta } from \"./articleRecipeRating/siteArticleRecipeRatingComponenta\";\nimport { CalcalistMobileNavigationComponenta } from \"./calcalistWidgets/calcalistMobileNavigation/components/calcalistMobileNavigationComponenta\";\nimport { IngredientsSection } from \"./article/componentas/articleRecipeComponenta/components/ingredientsSection\";\nimport { TimerComponenta } from \"./article/componentas/articleRecipeTimer/components/timerComponenta\"\nimport { SiteVideoArchiveComponenta } from \"./calcalistWidgets/videoArchive/components/siteVideoArchiveComponenta\";\nimport { SiteAnalyticsInjector } from \"../../front/staticServerRendering/AnalyticsInjector/siteAnalyticsInjector\"\nimport { CalcalistNewsLetterComponenta } from \"./calcalistWidgets/calcalistNewsLetter/components/calcalistNewsLetterComponenta\";\nimport { FloatingVideoLivePlayer } from \"../siteWidgets/videoPlayer/genericInlineVideoPlayer/floatingVideoLivePlayer/floatingVideoLivePlayer\"\nimport { AppRadioArticleLivePlayer } from \"./radioWidgets/radioArticleLivePlayer/components/appRadioArticleLivePlayer\";\nimport { SitePhotoArchiveComponenta } from \"./calcalistWidgets/photoArchive/components/sitePhotoArchiveComponenta\";\nimport { GoogleSearchComponenta } from \"./googleSearch/components/googleSearchComponenta\";\nimport { AudioPodcastPlayer } from \"./radioWidgets/articleAudioPodcast/components/audioPodcastPlayer\"\nimport { TwentyFourSeven1280Componenta } from \"./ynet1280/twentyFourSeven/components/twentyFourSeven1280Componenta\";\nimport { CalcalistPodcastShareMenu } from \"./article/componentas/calcalistArticlePodcastTopStoryCoponenta/components/calcalistPodcastShareMenu\"\nimport { PodcastCategoryComponenta } from \"./calcalistWidgets/podcastCategory/components/podcastCategoryComponenta\";\nimport { SiteMusafArchiveComponenta } from \"./calcalistWidgets/musafArchive/siteMusafArchiveComponenta\";\nimport { ArticleNewsletterWrapper } from \"./articleNewsletter/components/articleNewsletterWrapper\";\nimport { SignUpForPodcast } from \"./radioWidgets/articleAudioPodcast/components/signupForPodcast\"\nimport { PodcastArchiveComponenta } from \"./calcalistWidgets/podcastArchive/components/podcastArchiveComponenta\";\nimport { CalcalistDetachedPlayer } from \"./calcalistWidgets/calcalistPodcastPopupPlayer/calcalistDetachedPlayer\"\nimport { CalcalistPodcastPlayer } from \"./calcalistWidgets/calcalistPodcastPopupPlayer/calcalistPodcastPlayer\"\nimport { PodcastPlayerControlsComponent } from \"./article/componentas/calcalistArticlePodcastTopStoryCoponenta/components/podcastPlayerControlsComponent\";\nimport { YplusAccessibiltyButton } from \"./ynetPlusFooter/components/yplusAccessibiltyButton\";\nimport { NewsFlashAndTwentyFourSevenMobileComponenta } from \"./ynet1280/newsflashAndTwentyFourSeven/components/newsFlashAndTwentyFourSevenMobileComponenta\";\nimport { YplusNotStickyMenu } from \"./ynetPlusHeader/components/nonStickyNavList\";\nimport { YnetLiveComponenta } from \"./ynet1280/ynetLive/components/ynetLiveComponenta\";\nimport { TickerAutoDesktopView } from \"./ynet1280/newsflashAndTwentyFourSeven/components/autoTickerDesktopView\"\nimport { LiveVideoPlayerMutamComponenta } from \"./ynet1280/liveVideoPlayerMutam/components/liveVideoPlayerMutamComponenta\";\nimport { BlogPostsSorter } from \"./article/componentas/articleBlog/components/blogPostsSorter\";\nimport { ArticleBlogsReadMoreHandler } from \"../../front/staticServerRendering/articleBlogsReadMoreHandler/articleBlogsReadMoreHandler\";\nimport { SiteMobileCalcalistBuzzComponenta } from \"./calcalistWidgets/buzz/componentas/siteMobileCalcalistBuzzComponenta\";\nimport { CommertialFrontComponentaMutam } from \"./calcalistWidgets/commercial/components/commercialFrontComponentaMutam\";\nimport { CalcalistMutamShareMenu } from \"./calcalistWidgets/generalMutamComps/calcalistMutamShareMenu\";\nimport { CalcalistNewsLetterNativeComponenta } from \"./calcalistWidgets/calcalistNewsLetterNative/components/calcalistNewsLetterNativeComponenta\";\nimport { BlogsSpotimScriptInjector } from \"./article/componentas/articleComments/blogsSpotimScriptInjector\";\nimport { HotArticleSlotListMutam } from \"./calcalistWidgets/hotArticles/components/hotArticleSlotListMutam\";\nimport { VideoGalleryVerticalComponenta } from \"./ynet1280/videoGalleryVerticalWidget/components/videoGalleryVerticalComponenta\";\nimport { StockPopUp } from \"../../front/staticServerRendering/stockPopUp\";\nimport { VideoGalleryVerticalMutamComponenta } from \"./ynet1280/videoGalleryVerticalWidget/components/videoGalleryVerticalMutamComponenta\";\nimport { CommertialTeaserMobile } from \"./calcalistWidgets/commericalTeaser/components/commertialTeaserMobile\"\nimport { VideoPageMain } from \"./ynet1280/videoPageMain/components/videoMainPage\";\nimport { VideoMainPageMediaShare } from \"./ynet1280/videoPageMain/components/videoMainPageMediaShare\";\nimport { ArticleMutamHeaderShareComponent } from \"./calcalist/components/articleMutamHeaderShareComponent\";\nimport { StockPopUpMobile } from \"../../front/staticServerRendering/stockPopUpMobile\";\nimport { CalcalistSpecialContentMobile } from \"./calcalistWidgets/specialContent/components/calcalistSpecialContentMobile\"\nimport { ArticleImageGalleryMutamCalcalist } from \"./calcalistWidgets/articleImageGallery/components/calcalistArticleGalleryMobile\"\nimport { CaricaturistMobileComponenta } from \"./calcalistWidgets/caricaturist/components/caricaturistMobileComponenta\"\nimport { MobileTvCalcalist } from \"./calcalistWidgets/calcalistTv/components/calcalistTvMobile\"\nimport { CalcalistWideBuzzMobileComponenta } from \"./calcalistWidgets/calcalistWideBuzz/components/calcalistWideBuzzMobileComponenta\"\nimport { CartoonArchiveComponentaMobile } from \"./calcalistWidgets/cartoonArchive/components/cartoonArchiveComponentaMobile\"\nimport { SiteMediaMobileWrapper } from \"../siteWidgets/siteMediaMutamWrapper\";\nimport { CalcalistWidePhotoMobileComponenta } from \"./calcalistWidgets/calcalistWidePhoto/components/calcalistWidePhotoMobileComponenta\";\nimport { CategoryHeaderMutam } from \"./calcalistWidgets/categoryHeader/components/mutamHeader/categoryHeaderMutam\";\nimport { CalcalistTwentyFourSevenWideMobile } from \"./calcalistWidgets/calcalistTwentyFourSevenWide/components/calcalistTwentyFourSevenWideMobile\";\nimport { RadionasVideoGalleryVerticalComponenta } from \"./radionas/verticalVideoGallery/components/radionasVideoGalleryVerticalComponenta\";\nimport { RadionasVideoGalleryVerticalMutamComponenta } from \"./radionas/verticalVideoGallery/components/radionasVideoGalleryVerticalMutamComponenta\";\nimport { SiteRadionasHeaderComponenta } from \"./radionas/radionasHeader/components/siteRadionasHeaderComponenta\";\nimport { SiteMutamRadionasHeaderComponenta } from \"./radionas/radionasHeader/components/siteMutamRadionasHeaderComponenta\";\nimport { VideoGalleryVerticalAutoComponenta } from \"./radionas/verticalVideoGalleryAuto/components/videoGalleryVerticalAutoComponenta\";\nimport { VideoGalleryVerticalAutoMutamComponenta } from \"./radionas/verticalVideoGalleryAuto/components/videoGalleryVerticalAutoMutamComponenta\";\nimport { MagazineGalleryImages } from \"./radionas/magazineGallery/components/magazineGalleryImages\";\nimport { RadionasVideoLiveMutamComponenta } from \"./radionas/live/components/radionasVideoliveMutam\";\nimport { ArticleMagazineChapterMenu } from \"./article/articleMagazineChapterMenu/articleMagazineChapterMenu\";\nimport { RadionasAudioPlayer } from \"./radionas/audioPlayer/radionasAudioPlayer\";\nimport { NasRadioScheduleComponent } from \"./radionas/radioSchedule/components/nasRadioScheduleComopnent\";\nimport { NasRadioHomepageComponent } from \"./radionas/radioHompage/components/nasRadioHomepageComponent\";\nimport { NasRadioHomepageTeaser } from \"./radionas/radioHomepageTeaser/components/nasRadioHomepageTeaser\";\nimport { MultiImagesRadionasFront } from \"./radionas/multiImages/components/multiImagesFront\";\nimport { MultiImagesRadionasFrontMobile } from \"./radionas/multiImages/components/multiImagesFrontMobile\";\nimport { SiteArticleBlogHeaderComponenta } from \"./calcalistWidgets/articleBlogHeader/components/siteArticleBlogHeaderComponenta\";\nimport RadionasNewsFlashHomepageComponent from \"./radionas/newsFlashHomepage/components/radionasNewsFlashHomepageComponent\"\nimport { FrontCopyButton } from \"../commonComponents/inline/frontCopyButton/frontCopyButton\";\nimport { NewsFlashListWrapper } from \"./radionas/newsFlash/components/newsFlashListWrapper\";\nimport { RadionasVideoPageMain } from \"./radionas/videoPageMain/components/radionasVideoMainPage\";\nimport ArticleImageSliderGalleryComponenta from \"./article/componentas/articleImageGalleryComponenta/articleImageSliderGalleryComponenta\"\nimport { ArticleCommercialVideoPlayer } from \"./calcalistWidgets/articleCommercialVideo/components/articleCommercialVideoPlayer\";\nimport { StoriesAutoComponenta } from \"./radionas/storiesAuto/components/storiesAutoComponenta\";\nimport { StoriesAutoMobileComponenta } from \"./radionas/storiesAuto/components/storiesAutoMobileComponenta\";\nimport { GeneralCommercialTeaserMobile } from \"./calcalistWidgets/generalCommercialTeaser/components/generalCommercialTeaserMobile\";\nimport { CalcalistVideoGalleryVerticalComponenta } from \"./calcalistWidgets/verticalVideoGallery/components/calcalistVideoGalleryVerticalComponenta\";\nimport { CalcalistVideoGalleryVerticalMutamComponenta } from \"./calcalistWidgets/verticalVideoGallery/components/calcalistVideoGalleryVerticalMutamComponenta\";\nimport { SideVideoMutamSlots } from \"./calcalistWidgets/sideVideoGallery/components/sideVideoMutamSlots\";\nimport { ImageAndCaptionMutamItem } from \"./calcalistWidgets/imageAndCaption/components/imageAndCaptionMutamItem\";\nimport { YnetNewsComponenta } from \"./ctechWidgets/ynetNews/components/ynetNewsComponenta\";\nimport { MultiMagazineYplusFront } from \"./ynet1280/multiImagesMagazinesYplus/components/multiMagazineYplusFront\";\nimport { MultiImagesYplusFrontMobile } from \"./ynet1280/multiImagesMagazinesYplus/components/multiImagesYplusFrontMobile\";\nimport { DynamicVideoGalleryVerticalComponenta } from \"./ynet1280/dynamicVerticalVideoGallery/components/dynamicVideoGalleryVerticalComponenta\";\nimport { DynamicVideoGalleryVerticalMutamComponenta } from \"./ynet1280/dynamicVerticalVideoGallery/components/dynamicVideoGalleryVerticalMutamComponenta\";\nimport { ArticleStoryComponent } from \"./radionas/nasArticleStory/articleStoryComponent\";\nimport { MutamVideoItem } from \"./calcalistWidgets/video/mutamVideoItem\"\nimport { MultiArticlesSectionFront } from \"./ynet1280/multiArticlesSection/components/multiArticlesSectionFront\";\nimport { YplusWithPaperUpperSection } from \"./ynet1280/yPlusWithPaper/components/yplusWithPaperComponentaUpperSection\";\nimport { LiveVideoPlayerMutamComponentaEng } from \"./ynet1280/liveVideoPlayerMutameEng/components/liveVideoPlayerMutamComponentaEng\";\nimport { SiteMagazineHeaderComponenta } from \"./magazineWidgets/magazineHeader/components/siteMagazineHeaderComponenta\"\nimport { SiteMagazineHeaderMutamComponenta } from \"./magazineWidgets/magazineHeader/components/siteMagazineHeadeMutamComponenta\";\nimport { AccessebilityButton } from \"./article/articleMagazineTopStory/renders/articleMagazineNagishButton\";\nimport { MagazineVideoGalleryVerticalComponenta } from \"./magazineWidgets/magazineVerticalVideoGallery/components/magazineVideoGalleryVerticalComponenta\";\nimport { MagazineVideoGalleryVerticalMutamComponenta } from \"./magazineWidgets/magazineVerticalVideoGallery/components/magazineVideoGalleryVerticalMutamComponenta\";\nimport { CalcalistUserAuthComponentaWrapper } from \"./calcalistWidgets/calcalistUserAuth/components/calcalistUserAuthComponentaWrapper\";\nimport { CalcalistPaywallCheckoutComponenta } from \"./calcalistWidgets/calcalistPaywallCheckhout/components/desktop/calcalistPaywallCheckoutComponenta\";\nimport { CalcalistPaywallCheckoutMobileComponenta } from \"./calcalistWidgets/calcalistPaywallCheckhout/components/mobile/calcalistPaywallCheckoutMobileComponenta\";\nimport { CalcalistPaywallLoginComponenta } from \"./calcalistWidgets/calcalistPaywallHeader/calcalistPaywallLoginComponenta\";\nimport CalcalistPaywallMyAccountComponenta from \"./calcalistWidgets/calcalistPaywallMyAccount/components/calcalistPaywallMyAccountComponenta\"\n\n\n//-- end imports\n\n\nclass YITSiteWidgets {\n    private rendersIds: Set<string> = null;\n    constructor() {\n        if (typeof window['YITSiteWidgets'] == \"object\" && Array.isArray(window['YITSiteWidgets'])) {\n            this.rendersIds = new Set(window['YITSiteWidgets'].map(parms => parms[0]))\n            window['YITSiteWidgets'].forEach((parms: [string, string, any]) => {\n                this.render(...parms);\n            });\n        }\n        insertDateInSiteServerRender()\n    }\n    private renderCallbackCreator = (parentId: string) => {\n        if (this.rendersIds && typeof window['YITSiteWidgetsCallbacks'] == \"object\" && Array.isArray(window['YITSiteWidgetsCallbacks'])) {\n            return () => {\n                if (this.rendersIds.has(parentId)) {\n                    this.rendersIds.delete(parentId);\n                    if (this.rendersIds.size === 0) {\n                        console.info(\"renderFinnished\");\n                        window['YITSiteWidgetsCallbacks'].forEach(f => typeof f == \"function\" && f());\n                        window['YITSiteWidgetsCallbacks'] = new YITSiteWidgetsCallbacks();\n                    }\n                }\n            }\n        }\n        return undefined;\n    }\n    private render = (parentId: string, siteScriptName: string, props: any) => {\n        if (props[\"__objectDataTypeName\"]) {\n            console.error(\"props of object %s with id %s are not a simple object\", siteScriptName, parentId)\n            return;\n        }\n        const siteScript = list[siteScriptName];\n        if (typeof siteScript == \"function\") {\n            try {\n                ReactDOM.render(siteScript(props), document.getElementById(parentId), this.renderCallbackCreator(parentId));\n            } catch (ex) {\n                console.error(`Error rendering widget ${parentId}-${siteScriptName}`, ex);\n            }\n        } else {\n            console.error(\"Cannot find component \", siteScriptName)\n        }\n    }\n\n    public push = (parms: [string, string, any]) => {\n        this.render(...parms);\n    }\n}\n\nclass YITSiteWidgetsCallbacks {\n    public push = (func: () => void) => func();\n}\n\nconst list = {\n    //-- start list\n    //-- common - components not connected to widgets section:\n    [SiteAnalyticsInjector.siteScriptName]: (props) => <SiteAnalyticsInjector {...props} />,\n    [SiteArticleImagesGallery.siteScriptName]: (props) => <SiteArticleImagesGallery {...props} />,\n    [SiteLinkLightBoxInjector.siteScriptName]: (props) => <SiteLinkLightBoxInjector {...props} />,\n    [SiteScrollToTopButton.siteScriptName]: (props) => <SiteScrollToTopButton {...props} />,\n    [PikudHaOrefAlerts.siteScriptName]: (props) => <PikudHaOrefAlerts {...props} />,\n    [SiteStockLinksInjector.siteScriptName]: (props) => <SiteStockLinksInjector {...props} />,\n    //-- end common section\n    //-- inside widgets Section:\n    [SpotimScriptInjector.siteScriptName]: (props) => <SpotimScriptInjector {...props} />,\n    [SiteMediaCarousel.siteScriptName]: (props) => <SiteMediaCarousel {...props} />,\n    [PlainGallery.siteScriptName]: (props) => <PlainGallery {...props} />,\n    [MultiImagesFront.siteScriptName]: (props) => <MultiImagesFront {...props} />,\n    [MultiImagesLabelsFront.siteScriptName]: (props) => <MultiImagesLabelsFront {...props} />,\n    [MultiImagesLabelsFront2.siteScriptName]: (props) => <MultiImagesLabelsFront2 {...props} />,\n    [YnetSearch.siteScriptName]: (props) => <YnetSearch {...props} />,\n    [SiteArticleComments.siteScriptName]: (props) => <SiteArticleComments {...props} />,\n    [SiteVideoInline.siteScriptName]: (props) => <SiteVideoInline {...props} />,\n    [SiteTickerPopUp.siteScriptName]: (props) => <SiteTickerPopUp {...props} />,\n    [SiteTickerAutoComponenta.siteScriptName]: (props) => <SiteTickerAutoComponenta {...props} />,\n    [SiteTickerAutoRowComponenta.siteScriptName]: (props) => <SiteTickerAutoRowComponenta {...props} />,\n    [SiteArticleSideShare.siteScriptName]: (props) => <SiteArticleSideShare {...props} />,\n    [SiteArticleBottomShare.siteScriptName]: (props) => <SiteArticleBottomShare {...props} />,\n    [SiteBreakingNewsComponenta.siteScriptName]: (props) => <SiteBreakingNewsComponenta {...props} />,\n    [SiteArticleHeaderShare.siteScriptName]: (props) => <SiteArticleHeaderShare {...props} />,\n    [MultiImagesCommertialFront.siteScriptName]: (props) => <MultiImagesCommertialFront {...props} />,\n    [MultiImagesSpecialFront.siteScriptName]: (props) => <MultiImagesSpecialFront {...props} />,\n    [MultiImagesWithFrameFront.siteScriptName]: (props) => <MultiImagesWithFrameFront {...props} />,\n    [GroupsSite.siteScriptName]: (props) => <GroupsSite {...props} />,\n    [YnetTvSiteMedia[\"siteScriptName\"]]: (props) => <YnetTvSiteMedia {...props} />,\n    [SiteVideoMedia[\"siteScriptName\"]]: (props) => <SiteVideoMedia {...props} />,\n    [CityList.siteScriptName]: (props) => <CityList {...props} />,\n    [YnetNewsSearch.siteScriptName]: (props) => <YnetNewsSearch {...props} />,\n    [MobileHeaderComponenta.siteScriptName]: (props) => <MobileHeaderComponenta {...props} />,\n    [SiteTickerMobileAutoComponenta.siteScriptName]: (props) => <SiteTickerMobileAutoComponenta {...props} />,\n    [SiteArticleHeaderMobileShare.siteScriptName]: (props) => <SiteArticleHeaderMobileShare {...props} />,\n    [SiteInfinityHeadlinesComponenta.siteScriptName]: (props) => <SiteInfinityHeadlinesComponenta {...props} />,\n    [TaboolaComponenta.siteScriptName]: (props) => <TaboolaComponenta {...props} />,\n    [FrontGalleryComponenta.siteScriptName]: (props) => <FrontGalleryComponenta {...props} />,\n    [MediaGalleryMobile.siteScriptName]: (props) => <MediaGalleryMobile {...props} />,\n    [InfinityArticleComponenta.siteScriptName]: (props) => <InfinityArticleComponenta {...props} />,\n    [PremiumArticleHeaderShareButtons.siteScriptName]: (props) => <PremiumArticleHeaderShareButtons {...props} />,\n    [PplusHeaderFront.siteScriptName]: (props) => <PplusHeaderFront {...props} />,\n    [PplusPlainGallery.siteScriptName]: (props) => <PplusPlainGallery {...props} />,\n    [FrontYnetPlusHeader.siteScriptName]: (props) => <FrontYnetPlusHeader {...props} />,\n    [YplusStickyMenu.siteScriptName]: (props) => <FrontYnetPlusHeader {...props} />,\n    [SitePremiumArticleTitleImageComponenta.siteScriptName]: (props) => <SitePremiumArticleTitleImageComponenta {...props} />,\n    [SiteYplusSubChannelMenu.siteScriptName]: (props) => <SiteYplusSubChannelMenu {...props} />,\n    [SiteYplusLoadMoreComponenta.siteScriptName]: (props) => <SiteYplusLoadMoreComponenta {...props} />,\n    [ImageSlider.siteScriptName]: (props) => <ImageSlider {...props} />,\n    [YnetPremiumLoginMobile.siteScriptName]: (props) => <YnetPremiumLoginMobile {...props} />,\n    [MobileYnetPlusHeader.siteScriptName]: (props) => <MobileYnetPlusHeader {...props} />,\n    [SiteYnetFooter.siteScriptName]: (props) => <SiteYnetFooter {...props} />,\n    [SiteMynetHeaderComponenta.siteScriptName]: (props) => <SiteMynetHeaderComponenta {...props} />,\n    [SiteTickerPopUpMynet.siteScriptName]: (props) => <SiteTickerPopUpMynet {...props} />,\n    [YplusSubChannelMenuMobileSite.siteScriptName]: (props) => <YplusSubChannelMenuMobileSite {...props} />,\n    [SiteYplusSearchResultsWidgetComponenta.siteScriptName]: (props) => <SiteYplusSearchResultsWidgetComponenta {...props} />,\n    [MobileTickerManualView.siteScriptName]: (props) => <MobileTickerManualView {...props} />,\n    [CalcalistShareMenu.siteScriptName]: (props) => <CalcalistShareMenu {...props} />,\n    [CalcalistArticleActions.siteScriptName]: (props) => <CalcalistArticleActions {...props} />,\n    [SiteMynetHeaderMobileComponenta.siteScriptName]: (props) => <SiteMynetHeaderMobileComponenta {...props} />,\n    [SiteMynetArticleSideShare.siteScriptName]: (props) => <SiteMynetArticleSideShare {...props} />,\n    [CommertialFrontComponenta.siteScriptName]: (props) => <CommertialFrontComponenta {...props} />,\n    [CommertialFrontComponentaMutam.siteScriptName]: (props) => <CommertialFrontComponentaMutam {...props} />,\n    [SiteArticleHeadlinesComponenta.siteScriptName]: (props) => <SiteArticleHeadlinesComponenta {...props} />,\n    [SiteCalcalistBuzzComponenta.siteScriptName]: (props) => <SiteCalcalistBuzzComponenta {...props} />,\n    [SiteMobileCalcalistBuzzComponenta.siteScriptName]: (props) => <SiteMobileCalcalistBuzzComponenta {...props} />,\n    [CalcalistSpecialContentFront.siteScriptName]: (props) => <CalcalistSpecialContentFront {...props} />,\n    [CalcalistSpecialContentMobile.siteScriptName]: (props) => <CalcalistSpecialContentMobile {...props} />,\n    [MultiImagesMobile.siteScriptName]: (props) => <MultiImagesMobile {...props} />,\n    [LeftSideMenuComponenta.siteScriptName]: (props) => <LeftSideMenuComponenta {...props} />,\n    [SiteArticleSocialShare1280.siteScriptName]: (props) => <SiteArticleSocialShare1280 {...props} />,\n    [TickerList.siteScriptName]: (props) => <TickerList {...props} />,\n    [SiteMynetFooter.siteScriptName]: (props) => <SiteMynetFooter {...props} />,\n    [TickerItemSlotWar.siteScriptName]: (props) => <TickerItemSlotWar {...props} />,\n    [CalcalistFooter.siteScriptName]: (props) => <CalcalistFooter {...props} />,\n    [MultiImagesLabelsGallery.siteScriptName]: (props) => <MultiImagesLabelsGallery {...props} />,\n    [SiteArticleSocialBottomShare1280.siteScriptName]: (props) => <SiteArticleSocialBottomShare1280 {...props} />,\n    [YnetFlashListComponenta.siteScriptName]: (props) => <YnetFlashListComponenta {...props} />,\n    [MultiImagesRowsFront.siteScriptName]: (props) => <MultiImagesRowsFront {...props} />,\n    [CalcalistCarouselComponenta.siteScriptName]: (props) => <CalcalistCarouselComponenta {...props} />,\n    [CalcalistLoginAndShare.siteScriptName]: (props) => <CalcalistLoginAndShare {...props} />,\n    [HotTagsFrontComponenta.siteScriptName]: (props) => <HotTagsFrontComponenta {...props} />,\n    [SiteArticleVideoComponentaShareButtons.siteScriptName]: (props) => <SiteArticleVideoComponentaShareButtons {...props} />,\n    [PlainGallery1280.siteScriptName]: (props) => <PlainGallery1280 {...props} />,\n    [WeatherCitySelectorRow.siteScriptName]: (props) => <WeatherCitySelectorRow {...props} />,\n    [FrontSideVideoCalcalist.siteScriptName]: (props) => <FrontSideVideoCalcalist {...props} />,\n    [FrontTvCalcalist.siteScriptName]: (props) => <FrontTvCalcalist {...props} />,\n    [MobileTvCalcalist.siteScriptName]: (props) => <MobileTvCalcalist {...props} />,\n    [TaboolaComponentaGrid1280.siteScriptName]: (props) => <TaboolaComponentaGrid1280 {...props} />,\n    [WeatherMapExtendedTab.siteScriptName]: (props) => <WeatherMapExtendedTab {...props} />,\n    [SiteArticlePremiumCutter.siteScriptName]: (props) => <SiteArticlePremiumCutter {...props} />,\n    [YnetShopsGallery.siteScriptName]: (props) => <YnetShopsGallery {...props} />,\n    [CalcalistStockRecommendationPoints.siteScriptName]: (props) => <CalcalistStockRecommendationPoints {...props} />,\n    [MobileLaishaHeader.siteScriptName]: (props) => <MobileLaishaHeader {...props} />,\n    [TagsSearchComponenta.siteScriptName]: (props) => <TagsSearchComponenta {...props} />,\n    [ArticleHotUpdateComponent.siteScriptName]: (props) => <ArticleHotUpdateComponent {...props} />,\n    [StripMarketingFront.siteScriptName]: (props) => <StripMarketingFront {...props} />,\n    [FrontVideoGallery.siteScriptName]: (props) => <FrontVideoGallery {...props} />,\n    [MultiImagesMagazineFront.siteScriptName]: (props) => <MultiImagesMagazineFront {...props} />,\n    [ElectionDateCounter.siteScriptName]: (props) => <ElectionDateCounter {...props} />,\n    [Gallery1280.siteScriptName]: (props) => <Gallery1280 {...props} />,\n    [SiteArticleSocialShareNew1280.siteScriptName]: (props) => <SiteArticleSocialShareNew1280 {...props} />,\n    [ArticleHotUpdateComponent.siteScriptName]: (props) => <ArticleHotUpdateComponent {...props} />,\n    [BlogsAutoFeedComponent.siteScriptName]: (props) => <BlogsAutoFeedComponent {...props} />,\n    [SiteYnetHeaderComponenta.siteScriptName]: (props) => <SiteYnetHeaderComponenta {...props} />,\n    [MultiImages1280Front.siteScriptName]: (props) => <MultiImages1280Front {...props} />,\n    [YnetPlusPromotion.siteScriptName]: (props) => <YnetPlusPromotion {...props} />,\n    [SiteArticleContact.siteScriptName]: (props) => <SiteArticleContact {...props} />,\n    [Accordion.siteScriptName]: (props) => <Accordion {...props} />,\n    [YnetShops1280Gallery.siteScriptName]: (props) => <YnetShops1280Gallery {...props} />,\n    [ArticleImageSlider.siteScriptName]: (props) => <ArticleImageSlider {...props} />,\n    [RedMailSiteComponentaWrapper.siteScriptName]: (props) => <RedMailSiteComponentaWrapper {...props} />,\n    [ArticleImagePriceTagPointsComponent.siteScriptName]: (props) => <ArticleImagePriceTagPointsComponent {...props} />,\n    [AppArticleContact.siteScriptName]: (props) => <AppArticleContact {...props} />,\n    [CommertialTeaserFront.siteScriptName]: (props) => <CommertialTeaserFront {...props} />,\n    [CommertialTeaserMobile.siteScriptName]: (props) => <CommertialTeaserMobile {...props} />,\n    [SiteArticleBottomShareCtech.siteScriptName]: (props) => <SiteArticleBottomShareCtech {...props} />,\n    [SiteCategoryHeaderComponenta.siteScriptName]: (props) => <SiteCategoryHeaderComponenta {...props} />,\n    [CtechHeaderMenu.siteScriptName]: (props) => <CtechHeaderMenu {...props} />,\n    [WeatherMultiArticleItem.siteScriptName]: (props) => <WeatherMultiArticleItem {...props} />,\n    [SiteMobileCtechHeaderComponenta.siteScriptName]: (props) => <SiteMobileCtechHeaderComponenta {...props} />,\n    [OneVideoGallery.siteScriptName]: (props) => <OneVideoGallery {...props} />,\n    [SiteCtechWideBuzzComponenta.siteScriptName]: (props) => <SiteCtechWideBuzzComponenta {...props} />,\n    [PplusMobileHeader.siteScriptName]: (props) => <PplusMobileHeader {...props} />,\n    [PplusShareMenu.siteScriptName]: (props) => <PplusShareMenu {...props} />,\n    [SiteCtechTwentyFourSevenWideComponenta.siteScriptName]: (props) => <SiteCtechTwentyFourSevenWideComponenta {...props} />,\n    [MobileArticleImagesGallery.siteScriptName]: (props) => <MobileArticleImagesGallery {...props} />,\n    [SitePplusLoadMoreComponenta.siteScriptName]: (props) => <SitePplusLoadMoreComponenta {...props} />,\n    [CartoonArchiveComponenta.siteScriptName]: (props) => <CartoonArchiveComponenta {...props} />,\n    [CartoonArchiveComponentaMobile.siteScriptName]: (props) => <CartoonArchiveComponentaMobile {...props} />,\n    [MobileYPlusTopStory.siteScriptName]: (props) => <MobileYPlusTopStory {...props} />,\n    [YplusMultiImagesFront.siteScriptName]: (props) => <YplusMultiImagesFront {...props} />,\n    [ArticleMobileHeaderShareComponent.siteScriptName]: (props) => <ArticleMobileHeaderShareComponent {...props} />,\n    [SiteMediaMobileCarousel.siteScriptName]: (props) => <SiteMediaMobileCarousel {...props} />,\n    [MutamMarketingSign.siteScriptName]: (props) => <MutamMarketingSign {...props} />,\n    [SiteMutamYnetHeaderComponenta.siteScriptName]: (props) => <SiteMutamYnetHeaderComponenta {...props} />,\n    [SiteArticleVerticalSocialShare.siteScriptName]: (props) => <SiteArticleVerticalSocialShare {...props} />,\n    [NewsLetterSignUpPopUp.siteScriptName]: (props) => <NewsLetterSignUpPopUp {...props} />,\n    [PremiumMutamHeader.siteScriptName]: (props) => <PremiumMutamHeader {...props} />,\n    [PromoYplusBtn.siteScriptName]: (props) => <PromoYplusBtn {...props} />,\n    [SiteYnetNewsHeaderComponenta.siteScriptName]: (props) => <SiteYnetNewsHeaderComponenta {...props} />,\n    [SiteMutamYnetNewsHeaderComponenta.siteScriptName]: (props) => <SiteMutamYnetNewsHeaderComponenta {...props} />,\n    [RadioHomepagePlayerComponenta.siteScriptName]: (props) => <RadioHomepagePlayerComponenta {...props} />,\n    [GeneralCommercialTeaserFront.siteScriptName]: (props) => <GeneralCommercialTeaserFront {...props} />,\n    [RadioScheduleComponent.siteScriptName]: (props) => <RadioScheduleComponent {...props} />,\n    [PodcastPlayer.siteScriptName]: (props) => <PodcastPlayer {...props} />,\n    [RadioNewsflashPlayer.siteScriptName]: (props) => <RadioNewsflashPlayer {...props} />,\n    [SiteArticleRecipeRatingComponenta.siteScriptName]: (props) => <SiteArticleRecipeRatingComponenta {...props} />,\n    [CalcalistMobileNavigationComponenta.siteScriptName]: (props) => <CalcalistMobileNavigationComponenta {...props} />,\n    [IngredientsSection.siteScriptName]: (props) => <IngredientsSection {...props} />,\n    [TimerComponenta.siteScriptName]: (props) => <TimerComponenta {...props} />,\n    [SiteVideoArchiveComponenta.siteScriptName]: (props) => <SiteVideoArchiveComponenta {...props} />,\n    [CalcalistNewsLetterComponenta.siteScriptName]: (props) => <CalcalistNewsLetterComponenta {...props} />,\n    [CalcalistNewsLetterNativeComponenta.siteScriptName]: (props) => <CalcalistNewsLetterNativeComponenta {...props} />,\n    [FloatingVideoLivePlayer.siteScriptName]: (props) => <FloatingVideoLivePlayer {...props} />,\n    [AppRadioArticleLivePlayer.siteScriptName]: (props) => <AppRadioArticleLivePlayer {...props} />,\n    [SitePhotoArchiveComponenta.siteScriptName]: (props) => <SitePhotoArchiveComponenta {...props} />,\n    [GoogleSearchComponenta.siteScriptName]: (props) => <GoogleSearchComponenta {...props} />,\n    [AudioPodcastPlayer.siteScriptName]: (props) => <AudioPodcastPlayer {...props} />,\n    [TwentyFourSeven1280Componenta.siteScriptName]: (props) => <TwentyFourSeven1280Componenta {...props} />,\n    [PodcastCategoryComponenta.siteScriptName]: (props) => <PodcastCategoryComponenta {...props} />,\n    [SiteMusafArchiveComponenta.siteScriptName]: (props) => <SiteMusafArchiveComponenta {...props} />,\n    [ArticleNewsletterWrapper.siteScriptName]: (props) => <ArticleNewsletterWrapper {...props} />,\n    [CalcalistPodcastShareMenu.siteScriptName]: (props) => <CalcalistPodcastShareMenu {...props} />,\n    [SignUpForPodcast.siteScriptName]: (props) => <SignUpForPodcast {...props} />,\n    [PodcastArchiveComponenta.siteScriptName]: (props) => <PodcastArchiveComponenta {...props} />,\n    [CalcalistDetachedPlayer.siteScriptName]: (props) => <CalcalistDetachedPlayer {...props} />,\n    [CalcalistPodcastPlayer.siteScriptName]: (props) => <CalcalistPodcastPlayer {...props} />,\n    [PodcastPlayerControlsComponent.siteScriptName]: (props) => <PodcastPlayerControlsComponent {...props} />,\n    [YplusAccessibiltyButton.siteScriptName]: (props) => <YplusAccessibiltyButton {...props} />,\n    [NewsFlashAndTwentyFourSevenMobileComponenta.siteScriptName]: (props) => <NewsFlashAndTwentyFourSevenMobileComponenta {...props} />,\n    [YplusNotStickyMenu.siteScriptName]: (props) => <YplusNotStickyMenu {...props} />,\n    [YnetLiveComponenta.siteScriptName]: (props) => <YnetLiveComponenta {...props} />,\n    [TickerAutoDesktopView.siteScriptName]: (props) => <TickerAutoDesktopView {...props} />,\n    [LiveVideoPlayerMutamComponenta.siteScriptName]: (props) => <LiveVideoPlayerMutamComponenta {...props} />,\n    [BlogPostsSorter.siteScriptName]: (props) => <BlogPostsSorter {...props} />,\n    [ArticleBlogsReadMoreHandler.siteScriptName]: (props) => <ArticleBlogsReadMoreHandler {...props} />,\n    [CalcalistMutamShareMenu.siteScriptName]: (props) => <CalcalistMutamShareMenu {...props} />,\n    [BlogsSpotimScriptInjector.siteScriptName]: (props) => <BlogsSpotimScriptInjector {...props} />,\n    [HotArticleSlotListMutam.siteScriptName]: (props) => <HotArticleSlotListMutam {...props} />,\n    [VideoGalleryVerticalComponenta.siteScriptName]: (props) => <VideoGalleryVerticalComponenta {...props} />,\n    [VideoGalleryVerticalMutamComponenta.siteScriptName]: (props) => <VideoGalleryVerticalMutamComponenta {...props} />,\n    [StockPopUp.siteScriptName]: (props) => <StockPopUp {...props} />,\n    [VideoPageMain.siteScriptName]: (props) => <VideoPageMain {...props} />,\n    [VideoMainPageMediaShare.siteScriptName]: (props) => <VideoMainPageMediaShare {...props} />,\n    [ArticleMutamHeaderShareComponent.siteScriptName]: (props) => <ArticleMutamHeaderShareComponent {...props} />,\n    [StockPopUpMobile.siteScriptName]: (props) => <StockPopUpMobile {...props} />,\n    [CaricaturistMobileComponenta.siteScriptName]: (props) => <CaricaturistMobileComponenta {...props} />,\n    [CalcalistWideBuzzMobileComponenta.siteScriptName]: (props) => <CalcalistWideBuzzMobileComponenta {...props} />,\n    [SiteArticleBlogHeaderComponenta.siteScriptName]: (props) => <SiteArticleBlogHeaderComponenta {...props} />,\n    [ArticleImageGalleryMutamCalcalist.siteScriptName]: (props) => <ArticleImageGalleryMutamCalcalist {...props} />,\n    [SiteMediaMobileWrapper.siteScriptName]: (props) => <SiteMediaMobileWrapper {...props} />,\n    [CalcalistWidePhotoMobileComponenta.siteScriptName]: (props) => <CalcalistWidePhotoMobileComponenta {...props} />,\n    [CategoryHeaderMutam.siteScriptName]: (props) => <CategoryHeaderMutam {...props} />,\n    [RadionasVideoGalleryVerticalMutamComponenta.siteScriptName]: (props) => <RadionasVideoGalleryVerticalMutamComponenta {...props} />,\n    [RadionasVideoGalleryVerticalComponenta.siteScriptName]: (props) => <RadionasVideoGalleryVerticalComponenta {...props} />,\n    [VideoGalleryVerticalAutoComponenta.siteScriptName]: (props) => <VideoGalleryVerticalAutoComponenta {...props} />,\n    [VideoGalleryVerticalAutoMutamComponenta.siteScriptName]: (props) => <VideoGalleryVerticalAutoMutamComponenta {...props} />,\n    [MagazineGalleryImages.siteScriptName]: (props) => <MagazineGalleryImages {...props} />,\n    [CategoryHeaderMutam.siteScriptName]: (props) => <CategoryHeaderMutam {...props} />,\n    [CalcalistTwentyFourSevenWideMobile.siteScriptName]: (props) => <CalcalistTwentyFourSevenWideMobile {...props} />,\n    [SiteRadionasHeaderComponenta.siteScriptName]: (props) => <SiteRadionasHeaderComponenta {...props} />,\n    [SiteMutamRadionasHeaderComponenta.siteScriptName]: (props) => <SiteMutamRadionasHeaderComponenta {...props} />,\n    [RadionasVideoLiveMutamComponenta.siteScriptName]: (props) => <RadionasVideoLiveMutamComponenta {...props} />,\n    [ArticleMagazineChapterMenu.siteScriptName]: (props) => <ArticleMagazineChapterMenu {...props} />,\n    [RadionasAudioPlayer.siteScriptName]: (props) => <RadionasAudioPlayer {...props} />,\n    [NasRadioScheduleComponent.siteScriptName]: (props) => <NasRadioScheduleComponent {...props} />,\n    [NasRadioHomepageComponent.siteScriptName]: (props) => <NasRadioHomepageComponent {...props} />,\n    [NasRadioHomepageTeaser.siteScriptName]: (props) => <NasRadioHomepageTeaser {...props} />,\n    [MultiImagesRadionasFront.siteScriptName]: (props) => <MultiImagesRadionasFront {...props} />,\n    [MultiImagesRadionasFrontMobile.siteScriptName]: (props) => <MultiImagesRadionasFrontMobile {...props} />,\n    [RadionasNewsFlashHomepageComponent.siteScriptName]: (props) => <RadionasNewsFlashHomepageComponent {...props} />,\n    [FrontCopyButton.siteScriptName]: (props) => <FrontCopyButton {...props} />,\n    [NewsFlashListWrapper.siteScriptName]: (props) => <NewsFlashListWrapper {...props} />,\n    [RadionasVideoPageMain.siteScriptName]: (props) => <RadionasVideoPageMain {...props} />,\n    [ArticleImageSliderGalleryComponenta.siteScriptName]: (props) => <ArticleImageSliderGalleryComponenta {...props} />,\n    [ArticleCommercialVideoPlayer.siteScriptName]: (props) => <ArticleCommercialVideoPlayer {...props} />,\n    [GeneralCommercialTeaserMobile.siteScriptName]: (props) => <GeneralCommercialTeaserMobile {...props} />,\n    [CalcalistVideoGalleryVerticalComponenta.siteScriptName]: (props) => <CalcalistVideoGalleryVerticalComponenta {...props} />,\n    [CalcalistVideoGalleryVerticalMutamComponenta.siteScriptName]: (props) => <CalcalistVideoGalleryVerticalMutamComponenta {...props} />,\n    [SideVideoMutamSlots.siteScriptName]: (props) => <SideVideoMutamSlots {...props} />,\n    [ImageAndCaptionMutamItem.siteScriptName]: (props) => <ImageAndCaptionMutamItem {...props} />,\n    [YnetNewsComponenta.siteScriptName]: (props) => <YnetNewsComponenta {...props} />,\n    [MultiMagazineYplusFront.siteScriptName]: (props) => <MultiMagazineYplusFront {...props} />,\n    [MultiImagesYplusFrontMobile.siteScriptName]: (props) => <MultiImagesYplusFrontMobile {...props} />,\n    [DynamicVideoGalleryVerticalComponenta.siteScriptName]: (props) => <DynamicVideoGalleryVerticalComponenta {...props} />,\n    [DynamicVideoGalleryVerticalMutamComponenta.siteScriptName]: (props) => <DynamicVideoGalleryVerticalMutamComponenta {...props} />,\n    [StoriesAutoComponenta.siteScriptName]: (props) => <StoriesAutoComponenta {...props} />,\n    [StoriesAutoMobileComponenta.siteScriptName]: (props) => <StoriesAutoMobileComponenta {...props} />,\n    [ArticleStoryComponent.siteScriptName]: (props) => <ArticleStoryComponent {...props} />,\n    [MutamVideoItem.siteScriptName]: (props) => <MutamVideoItem {...props} />,\n    [MultiArticlesSectionFront.siteScriptName]: (props) => <MultiArticlesSectionFront {...props} />,\n    [YplusWithPaperUpperSection.siteScriptName]: (props) => <YplusWithPaperUpperSection {...props} />,\n    [LiveVideoPlayerMutamComponentaEng.siteScriptName]: (props) => <LiveVideoPlayerMutamComponentaEng {...props} />,\n    [SiteMagazineHeaderComponenta.siteScriptName]: (props) => <SiteMagazineHeaderComponenta {...props} />,\n    [SiteMagazineHeaderMutamComponenta.siteScriptName]: (props) => <SiteMagazineHeaderMutamComponenta {...props} />,\n    [AccessebilityButton.siteScriptName]: (props) => <AccessebilityButton {...props} />,\n    [MagazineVideoGalleryVerticalComponenta.siteScriptName]: (props) => <MagazineVideoGalleryVerticalComponenta {...props} />,\n    [MagazineVideoGalleryVerticalMutamComponenta.siteScriptName]: (props) => <MagazineVideoGalleryVerticalMutamComponenta {...props} />,\n    [CalcalistUserAuthComponentaWrapper.siteScriptName]: (props) => <CalcalistUserAuthComponentaWrapper {...props} />,\n    [CalcalistPaywallCheckoutComponenta.siteScriptName]: (props) => <CalcalistPaywallCheckoutComponenta {...props} />,\n    [CalcalistPaywallCheckoutMobileComponenta.siteScriptName]: (props) => <CalcalistPaywallCheckoutMobileComponenta {...props} />,\n    [CalcalistPaywallLoginComponenta.siteScriptName]:(props) => <CalcalistPaywallLoginComponenta {...props} />,\n    [CalcalistPaywallMyAccountComponenta.siteScriptName]: (props) => <CalcalistPaywallMyAccountComponenta {...props} />,\n\n    //-- REMEMBER: common frontend code goes in the start of the list!!!!\n    //-- end list\n\n    [\"test\"]: (props) => <div>{props}</div>\n}\n\nwindow['YITSiteWidgets'] = new YITSiteWidgets();","declare var window: Window & {\n    removeTaboolaContentOverwriteClass: any\n    shouldRenderTaboolaOverwriteCb: any\n}\n\nexport interface taboolaProps {\n    mode: string\n    container: string\n    placement: string\n    target_type: string\n    isTabollaContainerOverwrite?: boolean\n}\n\nexport class TaboolaComponenta extends React.Component<taboolaProps, {}>{\n    public static siteScriptName = \"TaboolaComponenta\"\n\n    componentDidMount() {\n        window._taboola = window._taboola || [];\n        window._taboola.push({\n            mode: this.props.mode,\n            container: this.props.container,\n            placement: this.props.placement,\n            target_type: this.props.target_type,\n            on_error: this.props.isTabollaContainerOverwrite ? window.removeTaboolaContentOverwriteClass : undefined,\n            should_render: this.props.isTabollaContainerOverwrite ? window.shouldRenderTaboolaOverwriteCb : undefined,\n        })\n    }\n    render() {\n\n        return <div id={this.props.container}></div>\n\n    }\n}    ","require(\"./ynet_site_taboolaGrid1280.less\")\n\nexport interface taboolaProps {\n    mode: string\n    container: string\n    placement: string\n    target_type: string\n}\n\nexport class TaboolaComponentaGrid1280 extends React.Component<taboolaProps, {}>{\n    public static siteScriptName = \"TaboolaComponentaGrid1280\"\n\n    componentDidMount() {\n        window._taboola = window._taboola || [];\n        window._taboola.push({\n            mode: this.props.mode,\n            container: this.props.container,\n            placement: this.props.placement,\n            target_type: this.props.target_type,\n        })\n    }\n    render() {\n\n        return <div className=\"sb150Width260\"><div id={this.props.container}></div></div>\n\n    }\n}    ","import { tagObj } from \"./tagsSearchComponenta\";\nimport {TagsSearchDict} from \"./tagsSearchComponenta\";\nrequire(\"./ynet_site_tagPageMain.less\")\ninterface TagsSearchProps {\n    items: tagObj[]\n    onChooseItem: (selectedItem: tagObj) => void\n    isOpened: boolean\n    selectedItem: string\n    lang:string\n}\nexport class TagListComponenta extends React.Component<TagsSearchProps> {\n\n    render() {\n        const { items, onChooseItem, isOpened, selectedItem , lang} = this.props;\n\n        if (isOpened) {\n            return (\n                <div>\n                    {items.length > 0 ?\n                        <div className=\"tagsList\">\n                            {items.map((item, i) =>\n                                <a className={`tagItem ${selectedItem === item.tagName ? \"selected\" : \"\"}`} onMouseOver={() => onChooseItem(item)} key={i} href={item.tagLink}>\n                                    {item.tagName}\n                                </a>\n                            )}\n                        </div>\n                        :\n                        <span className=\"noResult\">{TagsSearchDict[lang].noResults}</span>}\n                </div>\n            )\n        }\n        else return null\n    }\n}","require(\"../tagSeach/ynet_mynet_calcalist_site_tagSearchComponenta.less\");\nrequire(\"../tagSeach/vesty_ynetnews_ctech_site_tagSearchComponenta.less\");\nimport * as axios from \"axios\";\nimport * as  debounce from \"lodash/debounce\";\nimport { TagListComponenta } from \"./tagListComponeta\";\nconst clickOutside = require('react-click-outside');\n\nexport interface tagObj {\n    tagName: string\n    tagLink: string\n}\n\ninterface SearchState {\n    tagValue: string\n    tagsResultsValue: any[]\n    selectedTag: tagObj\n    isResultsOpened: boolean\n}\n\ndeclare let window: Window & {\n    languageCode: string\n}\n\ninterface TagsSearchComponentaProps {\n    languageCode:string\n    isLTR:boolean\n}\n\nenum ArrowKeyCode {\n    Up = 38,\n    Down = 40,\n    Enter = 13,\n    Esc = 27\n}\n\nexport const TagsSearchDict = {\n    \"he\": {\n        searchTag: \"חפש תגית\",\n        noResults: \"לא נמצאו תגיות התואמות את החיפוש \",\n    },\n    \"en\": {\n        searchTag: \"Search Tag\",\n        noResults: \"No tags matching your search were found\",\n\n    },\n    \"ru\": {\n        searchTag: \"Поиск\",\n        noResults: \"Теги по вашему запросу не найдены\",\n    }\n}\n\n@clickOutside\nexport class TagsSearchComponenta extends React.Component<TagsSearchComponentaProps, SearchState> {\n    public static siteScriptName = \"TagsSearchComponenta\";\n    private search: HTMLInputElement;\n    constructor(props) {\n        super(props)\n        this.state = {\n            tagValue: \"\",\n            tagsResultsValue: null,\n            selectedTag: null,\n            isResultsOpened: false\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(\"keydown\", this.handleKeyPress)\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener(\"keydown\", this.handleKeyPress);\n    }\n\n    private selectedItemChoosed = (item) => {\n        this.setState({ selectedTag: item })\n    }\n\n    private getTagSearchResults = (value: string) => {\n        this.setState({\n            tagValue: value,\n            isResultsOpened: true\n        })\n\n        if (value.length > 2) {\n            axios.get(`/iphone/json/api/tag/search/${value}`, { responseType: 'json' })\n                .then((res: any) => {\n                    const items = res.data.options;\n                    let itemsTosHow = items;\n                    if (items.length > 5) {\n                        itemsTosHow = items.filter((item, idx) => idx < 5)\n                    }\n\n                    const suggestions = [];\n\n                    for (const item of itemsTosHow) {\n                        suggestions.push({\n                            tagName: item.name,\n                            tagLink: item.publishedLink\n                        })\n                    }\n\n                    this.setState(\n                        {\n                            tagsResultsValue: suggestions,\n                            selectedTag: suggestions[0]\n\n                        }\n                    );\n                })\n                .catch(err => console.error(\"error geting headline data:\", err))\n        }\n        else return;\n    }\n\n    private getTagSearchResultsDebounced = debounce(this.getTagSearchResults, 500)\n\n    private handleKeyPress = (e) => {\n        const { selectedTag, tagsResultsValue } = this.state\n        const currentIndex = tagsResultsValue.length && tagsResultsValue.findIndex((item) => selectedTag.tagName === item.tagName) || 0\n        if (e.keyCode === ArrowKeyCode.Esc) {\n            this.setState({ tagValue: \"\" })\n        }\n        if (e.keyCode === ArrowKeyCode.Down && tagsResultsValue[currentIndex + 1]) {\n            this.setState({ selectedTag: tagsResultsValue[currentIndex + 1] })\n        }\n        if (e.keyCode === ArrowKeyCode.Up && tagsResultsValue[currentIndex - 1]) {\n            this.setState({ selectedTag: tagsResultsValue[currentIndex - 1] })\n        }\n        if (e.keyCode === ArrowKeyCode.Enter && selectedTag) {\n            window.location.href = selectedTag.tagLink;\n        }\n    }\n\n    render() {\n        const { tagsResultsValue, selectedTag, tagValue } = this.state\n        const {isLTR, languageCode} = this.props;\n        const lang = languageCode ? languageCode.slice(0,2) : \"he\";\n        const dir = isLTR ? 'ltr' : 'rtl' ;\n\n        return (\n            <div className=\"TagSearchComponenta\">\n                <div id=\"search_tag\" className=\"search-field\">\n                    <input\n                        type=\"text\"\n                        id=\"TagSuggest\"\n                        autoComplete=\"off\"\n                        onChange={e => this.getTagSearchResultsDebounced((e.target as HTMLInputElement).value)}\n                        placeholder={TagsSearchDict[lang].searchTag}\n                        ref={c => { this.search = c }}\n                        dir={dir}\n                    />\n                    <span className=\"searchIcon\"></span>\n                    {tagsResultsValue !== null &&\n                        tagValue.length > 2 &&\n                        <TagListComponenta\n                            items={tagsResultsValue}\n                            onChooseItem={(item) => this.selectedItemChoosed(item)}\n                            isOpened={this.state.isResultsOpened}\n                            selectedItem={selectedTag && selectedTag.tagName}\n                            lang={lang}\n                        />}\n                </div>\n            </div>\n        )\n    }\n}\n","import { SiteTickerData } from \"./tickerComponenta\";\nimport { TickerItemSlot } from \"./tickerItemSlot\"\n\n\ninterface TickerListProps {\n    siteFlashList: Partial<SiteTickerData>[]\n    titleColor: string\n    subTitleColor: string\n    isAuto: boolean\n    isEnglish?: boolean\n}\n\nexport class TickerList extends React.Component<TickerListProps, {}>{\n    private getNumberofDuplicates = () => {\n        const { siteFlashList } = this.props\n        let number;\n        if (siteFlashList.length > 0 && siteFlashList.length < 40) {\n            number = Math.round(40 / siteFlashList.length)\n        }\n        else { number = 1 }\n\n        return number\n\n    }\n\n    private replicateArray(array, n) {\n        // Create an array of size \"n\" with undefined values\n        var arrays = Array.apply(null, new Array(n));\n\n        // Replace each \"undefined\" with our array, resulting in an array of n copies of our array\n        arrays = arrays.map(function () { return array });\n\n        // Flatten our array of arrays\n        const r = [].concat.apply([], arrays);\n        return r;\n    }\n    public render() {\n        const { siteFlashList, titleColor, subTitleColor, isAuto, isEnglish } = this.props\n\n        if (!siteFlashList || siteFlashList.length == 0) {\n            return null\n        }\n        // const duplicatedList = siteFlashList.concat(siteFlashList.concat(siteFlashList))\n        const duration = siteFlashList.length * 3 * this.getNumberofDuplicates()\n        return (\n            <div className=\"slotList\"  >\n                <div className=\"animationDiv\" style={{ animationDuration: `${duration}s, ${duration}s`, animationDelay: `${0}s, ${0}s` }}>\n                    {this.replicateArray(siteFlashList, this.getNumberofDuplicates()).map((flashItem, i) => <TickerItemSlot\n                        articlePublishDate={flashItem.articlePublishDate}\n                        articleUpdateDate={flashItem.articleUpdateDate}\n                        title={flashItem.title}\n                        flashDate={flashItem.flashDate}\n                        flashDateType={flashItem.flashDateType}\n                        linkTarget={flashItem.linkTarget}\n                        link={flashItem.link}\n                        key={i}\n                        titleColor={titleColor}\n                        subTitleColor={subTitleColor}\n                        flashId={flashItem.slotId}\n                        flashLinkType={flashItem.flashLinkType}\n                        isAuto={isAuto}\n                        articleId={flashItem.articleId}\n                        isEnglish={isEnglish}\n                    />)}\n\n                </div>\n            </div>\n        )\n    }\n}","import { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { CSSTransitionGroup } from \"react-transition-group\";\nimport { MobileSiteItemTickerData } from \"./siteMobileManualTickerComponenta\";\nrequire(\"../../englishTicker/ynetnews_vesty_site_englishTicker.less\")\n\n\ninterface TickerViewProps {\n    tabLink: string\n    tabLinkTarget: LinkTargetProperties\n    articles: MobileSiteItemTickerData[]\n\n}\n\ninterface MobileTickerState {\n    flashIndex: number\n\n}\n\nexport class MobileTickerManualView extends React.Component<TickerViewProps, MobileTickerState>  {\n    public static siteScriptName = \"MobileTickerManualView\";\n    private timer = undefined;\n    constructor(props) {\n        super(props)\n        this.state = {\n            flashIndex: 0,\n\n        }\n    }\n    private getHeaderPositon = (tickerLength: number, header: Element, header1: Element) => {\n        if (tickerLength !== 0 && header !== undefined) {\n            header.classList.add(\"withTicker\")\n            header1.classList.add(\"withTicker\")\n        }\n    }\n    componentDidMount() {\n        var ticker = document.getElementsByClassName('manual-ticker')\n        var header = document.getElementsByClassName('YnetNewsHeaderMobileComponenta')[0]\n        var header1 = document.getElementsByClassName('YnetNewsHeaderMobile ')[0]\n        this.getHeaderPositon(ticker.length, header, header1)\n        const { articles } = this.props\n        if (articles && articles.length > 0 && this.timer === undefined) {\n            this.intervalTickerAnimation();\n        }\n    }\n\n    componentWillUnmount() {\n        clearInterval(this.timer);\n    }\n    private nextFlash = () => {\n        const { flashIndex } = this.state\n        const { articles } = this.props\n        if (flashIndex === articles.length - 1) {\n            this.setState({\n                flashIndex: 0\n            });\n\n        }\n        else {\n            this.setState({\n                flashIndex: this.state.flashIndex + 1\n            });\n        }\n\n    }\n\n    private intervalTickerAnimation = () => {\n        const { articles } = this.props\n        if (articles.length > 0) {\n            this.callTimer();\n        }\n    }\n\n    private callTimer = () => {\n        this.timer = setTimeout(() => {\n            this.nextFlash()\n            this.callTimer();\n        }, this.calculateTime() + 200)\n    }\n\n    private calculateTime = (): number => {\n        const { articles } = this.props\n        let timeInterval: number;\n\n        timeInterval = articles[this.state.flashIndex].title.length * 200\n        return timeInterval\n\n    }\n\n    public render() {\n        const { tabLink, tabLinkTarget, articles } = this.props\n        const { flashIndex } = this.state\n\n        return (\n            <div className=\"MobileTickerComponenta\">\n                <div className=\"MobileTicker\">\n                    <HyperLinkBuilder className=\"tickerPageLink\" href={tabLink} linkTarget={tabLinkTarget} >\n                        <span>+</span>\n                    </HyperLinkBuilder>\n                    {articles.length > 0 && <CSSTransitionGroup transitionName=\"tickerDate\" transitionEnterTimeout={500} transitionLeave={true} transitionLeaveTimeout={500}>\n                        <div className=\"articleInfo\"\n                            key={articles[flashIndex].id}\n                            id={articles[flashIndex].id}>\n                            <span className=\"dateOfItem\" >\n                                {separateHourFromDateAndFormatToString(articles[flashIndex].flashDate, { showDate: false, showHour: true })} |\n                            </span>\n                            <HyperLinkBuilder href={articles[flashIndex].link}\n                                className=\"titleOfItem\"\n                                linkTarget={articles[flashIndex].linkTarget}\n                                children={articles[flashIndex].title} >\n                                <div style={{ animationDuration: `${this.calculateTime()}ms` }} dangerouslySetInnerHTML={{ __html: articles[flashIndex].title }} />\n                            </HyperLinkBuilder>\n                        </div>\n                    </CSSTransitionGroup>}\n                    <HyperLinkBuilder className=\"openTicker\" href={(articles.length == 0) ? null : articles[flashIndex].link}\n                        linkTarget={(articles.length == 0) ? null : articles[flashIndex].linkTarget} />\n                </div>\n            </div>\n        )\n    }\n} \n","require('./site_tickerPopUp.less')\n\nimport { ArticleShareButtons } from \"../../../siteWidgets/socialShareButtons/ArticleShareButtons/ArticleShareButtons\"\nimport { SiteTickerData } from \"./tickerComponenta\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { injectPageComponentaContext } from \"widgets/commonComponents/base/injectPageComponentaContext\"\nimport { PageComponentaContext } from \"widgets/interfaces\"\nimport { getImgTitle, getImgAlt, isAriaHidden } from \"../../../widgetsUtils\"\n\ninterface TickerPopUpContentProps {\n    item: SiteTickerData\n    onClickNext: () => void\n    onClickBack: () => void\n    selectedIndex: number\n    canNavigateBack: boolean\n    canNavigateNext: boolean\n    isEnglish: boolean\n}\n\n@injectPageComponentaContext()\nexport class TickerPopUpContent extends React.Component<TickerPopUpContentProps & Partial<PageComponentaContext>, {}>{\n\n    private popUpContainerDiv: HTMLDivElement;\n\n\n    private textToShow = (item: SiteTickerData) => {\n        switch (item.flashLinkType) {\n            case \"flash\": return item.plainText\n            case \"text\": return item.flashText;\n            default: return null;\n        }\n    }\n\n    render() {\n        const { item, selectedIndex, onClickNext, onClickBack, getImage, canNavigateBack, canNavigateNext, isEnglish } = this.props\n        let media;\n        const image = item.itemImg || null\n        const arrowNext = isEnglish ? \"swipeRight\" : \"swipeLeft\"\n        const arrowPrev = isEnglish ? \"swipeLeft\" : \"swipeRight\"\n        const titlePrev = isEnglish ? \"Prev.\" : __(\"Prev. Flash\")\n        const titleNext = isEnglish ? \"Next\" : __(\"Next Flash\")\n        return (\n            <div className=\"flashContainer\">\n                <div className=\"topArea\">\n                    <div className=\"titleArea\">\n                        <div className=\"flashTitle\" dangerouslySetInnerHTML={{ __html: item.title }} />\n                        <div className=\"flashDate\">\n                            {separateHourFromDateAndFormatToString(item.flashDate, { dateTimeSeperator: \" | \", showDate: true, showHour: true })}\n                        </div>\n\n                    </div>\n                    <ArticleShareButtons\n                        url={item.link}\n                        className=\"tickerShareBtns\"\n                        isCopyButtonVisible={item.flashLinkType === \"flash\" ? true : false}\n                        isEnglish={isEnglish}\n                        lang={isEnglish ? \"en\" : \"he\"}\n                    />\n                </div>\n                <div className=\"Separator\" />\n                <div className=\"flashText\">\n                    <span>{item.flashText}</span>\n                    {item.author !== \"\" && <span className=\"smallSpan\">({item.author})</span>}\n                    {!isEnglish && <span className=\"linkToMail\"><a href=\"//redmail.ynet.co.il\" target=\"_blank\" title=\"מצאתם טעות במבזק? כתבו לנו\" >מצאתם טעות במבזק? כתבו לנו</a></span>}\n                </div>\n                <div className=\"flashFooter\">\n                    {item && <div className=\"itemArrows\">\n                        {canNavigateNext && <button className={`navigationArrow ${arrowNext}`}\n                            title={titleNext}\n                            onClick={e => onClickNext()}>{titleNext}</button>}\n\n                        {canNavigateBack && <button className={`navigationArrow ${arrowPrev}`}\n                            title={titlePrev}\n                            onClick={e => onClickBack()}>{titlePrev}</button>}\n                    </div>}\n                </div>\n\n            </div>)\n\n\n    }\n}\n","require('./site_tickerPopUp.less')\n\nimport { SiteTickerData } from \"./tickerComponenta\"\nimport { TickerPopUpContent } from \"./popUpContent\"\nimport { renderTaboolaThumbnails } from \"./tickerPopUpTaboola\"\n\n\ninterface PopUpProps {\n    items: SiteTickerData[]\n    popUpTitle: string\n    popUpTitleColor: string\n    currentIndex: number\n    swipeBack: () => void\n    swipeNext: () => void\n    close: () => void\n    isEnglish?: boolean\n}\n\nexport class PopUpView extends React.Component<PopUpProps, {}>{\n    static defaultProps = { isEnglish: false }\n    private popUpCloseButton: HTMLButtonElement;\n\n    componentDidMount() {\n        this.popUpCloseButton.focus()\n        var focusableEls = document.getElementById('SiteFlashPopUp').querySelectorAll('a[href], area[href], button:not([disabled]), [tabindex=\"0\"]');\n        document.addEventListener(\"keydown\", (e) => this.handleKeyPress(e, focusableEls))\n    }\n    componentDidUpdate(_prevProps: PopUpProps) {\n        if (_prevProps.currentIndex !== this.props.currentIndex) {\n            this.popUpCloseButton.focus();\n            var focusableEls = document.getElementById('SiteFlashPopUp').querySelectorAll('a[href], area[href], button:not([disabled]), [tabindex=\"0\"]');\n            document.addEventListener(\"keydown\", (e) => this.handleKeyPress(e, focusableEls))\n        }\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener(\"keydown\", (e) => this.handleKeyPress(e, null))\n    }\n\n\n    private getYnetUrl() {\n        return \"//www.ynet.co.il/images/CENTRAL_1024_ynet_logo.png\";\n    }\n    private getYnetNewsUrl() {\n        return \"//www.ynet.co.il/images/CENTRAL_1024_ynet_logo_en.png\";\n    }\n    private handleKeyPress = (e: any, focusableEls): void => {\n        if (e.key === \"Escape\") { this.props.close() }\n        if (e.key === \"ArrowLeft\") { this.props.swipeNext() }\n        if (e.key === \"ArrowRight\") { this.props.swipeBack() }\n        if (e.keyCode === 9) {\n            if (focusableEls.length > 1) {\n                if (e.shiftKey) {\n                    this.handleBackwardTab(e, focusableEls);\n                } else {\n                    this.handleForwardTab(e, focusableEls);\n                }\n            }\n            else e.preventDefault();\n        }\n    }\n    private handleBackwardTab = (e, focusableEls) => {\n        if (document.activeElement === focusableEls[0]) {\n            e.preventDefault();\n            focusableEls[focusableEls.length - 1].focus();\n        }\n\n    }\n    private handleForwardTab = (e, focusableEls) => {\n        if (document.activeElement === focusableEls[focusableEls.length - 1] && (document.activeElement.classList.contains(\"swipeLeft\") || document.activeElement.classList.contains(\"swipeRight\"))) {\n            e.preventDefault();\n            focusableEls[0].focus()\n        }\n    }\n    render() {\n        const { items, popUpTitle, popUpTitleColor, currentIndex, isEnglish } = this.props\n        const canNavigateBack = !(currentIndex === 0)\n        const canNavigateNext = !(currentIndex === items.length - 1)\n        const item = items[currentIndex]\n        let TaboolaTitle = !isEnglish && \"כתבות נוספות\"\n        let englishSite = isEnglish ? \"englishSite\" : \"\"\n        this.handleKeyPress\n        return (\n            <div key={\"SiteFlashPopUp\"}\n                id=\"SiteFlashPopUp\" role=\"dialog\" aria-label={`${popUpTitle}`} className={`SiteFlashPopUp ${englishSite}`} onClick={this.props.close}  >\n                <div className=\"ItemWrapper\" onClick={e => e.stopPropagation()} tabIndex={0}>\n                    <div className=\"flashHeader\" >\n                        <button className=\"closeBtn yicon-x\" title={__(\"Close\")} onClick={this.props.close} ref={ref => this.popUpCloseButton = ref} />\n                        <div className=\"flashLogo\"> <img src={isEnglish ? this.getYnetNewsUrl() : this.getYnetUrl()} title=\"ynet\" role=\"logo\" /></div>\n                        <div className=\"headerTitle\"><span style={{ color: popUpTitleColor }}>{popUpTitle}</span></div>\n                    </div>\n                    <TickerPopUpContent\n                        item={item}\n                        onClickNext={this.props.swipeNext}\n                        onClickBack={this.props.swipeBack}\n                        selectedIndex={currentIndex}\n                        canNavigateBack={canNavigateBack}\n                        canNavigateNext={canNavigateNext}\n                        isEnglish={isEnglish}\n                    />\n                    <div className=\"taboolaArea\" > <div className=\"taboolaTitle\">{TaboolaTitle}</div>\n                        {renderTaboolaThumbnails()}</div>\n                </div>\n            </div>\n        )\n    }\n}\n\n","import * as classNames from \"classnames\"\nimport { RichInput } from \"widgets/commonComponents/base/richInput\"\nimport { isWcmEditor } from \"config/serverConfig\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { HyperLinkBuilder, SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\n\nimport { DateType } from \"../windows/dateSelector\"\nimport { LinkTargetProperties } from \"../../../../global/components/linkSettings/interfaces\"\nimport { FlashLinkType } from \"../windows/flashLinkSelector\"\n\n\ninterface TickerItemSlotProps {\n    titleColor: string\n    subTitleColor: string\n    articlePublishDate: Date\n    articleUpdateDate: Date\n    title: string\n    flashDate: Date\n    flashDateType: DateType\n    linkTarget: LinkTargetProperties\n    link: string\n    flashId: string\n    flashLinkType: FlashLinkType\n    articleId?: string\n    isAuto?: boolean\n    isEnglish: boolean\n}\n\nexport class TickerItemSlot extends React.Component<TickerItemSlotProps, {}>{\n    private titleRef: RichInput;\n    private renderLink(textStyle: any, popUpLink: any) {\n        const { flashLinkType, link, isEnglish, linkTarget, title } = this.props\n        if (flashLinkType === \"link\" || isEnglish) {\n                return (\n                    <HyperLinkBuilder href={link}\n                        linkTarget={linkTarget}\n                        children={title} >\n                        <div dangerouslySetInnerHTML={{ __html: title }} style={textStyle} /></HyperLinkBuilder>\n                )\n            }\n            else {\n            return (popUpLink)\n        }\n    }\n\n    public render() {\n        const { titleColor, subTitleColor, title, flashDate, flashId, isEnglish } = this.props\n\n        const dateStyle = {\n            color: titleColor\n        }\n        const textStyle = {\n            color: subTitleColor\n        }\n        const popUpLink = !isWcmEditor() ? <a tabIndex={0} className=\"flashItem\" data-flashid={flashId} id={flashId}>\n            <div dangerouslySetInnerHTML={{ __html: title }} style={textStyle} />\n        </a> : <div dangerouslySetInnerHTML={{ __html: title }} style={textStyle} />\n        return (\n            <div className={classNames(\"slotView\", { \"inEditMode\": isWcmEditor(), \"emptySlot\": title.length === 0 })}>\n                <div className={classNames(\"slotTitle\", { \"withWidth\": title.length === 0 })}>\n                    <span style={dateStyle} >{separateHourFromDateAndFormatToString(flashDate, { showDate: true, showHour: true, isSlashSeparator: true, fullYear: isEnglish, dateTimeSeperator: isEnglish ? \", \" : \" \" })}</span>\n                </div>\n\n                <div className=\"moreDetails\" >\n                    {this.renderLink(textStyle, popUpLink)}\n\n                </div>\n            </div>\n        )\n    }\n}","require('./site_tickerPopUp.less')\n\nimport { SiteTickerData } from \"./tickerComponenta\"\nimport { PopUpView } from \"./popupView\"\n\n\ninterface SiteTickerPopUpProps {\n    items: SiteTickerData[]\n    popUpTitle: string\n    popUpTitleColor: string\n    isAuto?: boolean\n\n}\ninterface SiteTickerPopUpState {\n    currentFlashId: string\n}\nexport class SiteTickerPopUp extends React.Component<SiteTickerPopUpProps, SiteTickerPopUpState>{\n    constructor(props) {\n        super(props)\n        this.state = {\n            currentFlashId: null,\n        }\n    }\n    public static siteScriptName = \"SiteTickerPopUp\"\n\n    private handleElementsClick = (e: MouseEvent) => {\n        const flashId = (e.currentTarget as HTMLElement).getAttribute(\"data-flashid\")\n        this.setState({ currentFlashId: flashId })\n        document.body.style.overflow = \"hidden\"\n\n    }\n\n    private findItemIndexByFlashId = (flashId: string): number => {\n        const { items } = this.props\n        for (let i = 0; i < items.length; i++) {\n            if (items[i].slotId === flashId) { return i }\n        }\n    }\n\n    private attachClickEventToFlashElements = () => {\n        if (typeof window !== \"undefined\") {\n            const elements = document.querySelectorAll(\".slotView  .flashItem\")\n            for (let el of elements) {\n                el.addEventListener(\"keypress\", this.handleElementsClick)\n                el.addEventListener(\"click\", this.handleElementsClick)\n            }\n        }\n    }\n\n    componentDidMount() {\n        this.attachClickEventToFlashElements()\n    }\n\n    componentDidUpdate() {\n        this.attachClickEventToFlashElements()\n    }\n    shouldComponentUpdate(nextProps: SiteTickerPopUpProps, nextState: SiteTickerPopUpState) {\n        this.attachClickEventToFlashElements()\n        return this.state.currentFlashId !== nextState.currentFlashId\n            || this.props.items.length !== nextProps.items.length;\n    }\n    // Go to previous\n    public swipeBack = (): void => {\n        const { currentFlashId } = this.state\n        const { items } = this.props\n        const currentItemIndex = this.findItemIndexByFlashId(currentFlashId)\n        const nextItemIndex = currentItemIndex > 0 ? currentItemIndex - 1 : 0\n        this.setState({ currentFlashId: items[nextItemIndex].slotId })\n\n    }\n\n    // Go to next\n    public swipeNext = (): void => {\n        const { currentFlashId } = this.state\n        const { items } = this.props\n        const currentItemIndex = this.findItemIndexByFlashId(currentFlashId)\n        const nextItemIndex = currentItemIndex < items.length - 1 ? currentItemIndex + 1 : items.length - 1\n        this.setState({ currentFlashId: items[nextItemIndex].slotId })\n\n    }\n\n    private close = (): void => {\n        let focusedId: string = this.state.currentFlashId;\n        document.getElementById(focusedId).focus()\n        this.setState({ currentFlashId: null })\n        document.body.style.overflow = \"\"\n\n    }\n\n    //\n    render() {\n        const { items, popUpTitle, popUpTitleColor, isAuto } = this.props\n        const { currentFlashId } = this.state\n        const currentItemIndex = this.findItemIndexByFlashId(currentFlashId)\n        const canNavigateBack = !(currentItemIndex === 0)\n        const canNavigateNext = !(currentItemIndex === items.length - 1)\n\n        const item = items[currentItemIndex]\n        if (currentFlashId) { analystFlashFunc(item.title, isAuto, item.articleId) }\n        if (currentFlashId) return (\n            <PopUpView\n                items={items}\n                currentIndex={currentItemIndex}\n                swipeBack={this.swipeBack}\n                swipeNext={this.swipeNext}\n                popUpTitleColor={popUpTitleColor}\n                close={this.close}\n                popUpTitle={popUpTitle}\n            />\n        )\n        else return null;\n    }\n}\n//  \nexport const analystFlashFunc = (title: string, isAuto: boolean, articleId: string) => {\n    window.dataLayer = window.dataLayer || []\n    window.dataLayer.push({\n        event: 'virtualPageview',\n        virtualPageURL: isAuto ? `/NewsFlash/${articleId}/prof=${window.dcPath}` : `/ManualNewsFlash/prof=${window.dcPath}`,\n        virtualPageTitle: title\n    });\n}","import { IdGenerator } from \"../../../../utils/idGenerator\"\nexport const renderTaboolaThumbnails = () => {\n    window._taboola = window._taboola || [];\n    window._taboola.push({\n        mode: 'alternating-thumbnails-a',\n        container: 'taboola-below-main-column-thumbnails',\n        placement: 'Below News Update Thumbnails',\n        target_type: 'mix'\n    });\n\n    return (\n        <div id='taboola-below-main-column-thumbnails' key={IdGenerator.generate()} className='trc_related_container trc_spotlight_widget trc_elastic trc_elastic_trc_50898 '></div>\n    )\n}","\nimport { TickerAutoView } from \"./tickerAutoView\"\nimport { TickerViewData } from \"../interfaces\"\nimport * as axios from \"axios\"\nimport { addAxiosDateTransformerSettings } from \"../../../../utils/network/axiosDateTransformer\";\nimport { TickerWarView } from \"../../newYnetWidgets/tickerWar/components/tickerWarView\"\n\ninterface SiteTickerAutoComponentaProps {\n    data: TickerViewData\n    height: number\n    componentaId: string\n    isEnglish: boolean\n    isWar?: boolean\n}\n\ninterface SiteTickerAutoComponentaState {\n    articles: any\n}\n\nexport class SiteTickerAutoComponenta extends React.Component<SiteTickerAutoComponentaProps, SiteTickerAutoComponentaState>{\n    public static siteScriptName = \"SiteTickerAutoComponenta\"\n    static defaultProps = { isWar: false }\n    constructor(props) {\n        super(props)\n        this.state = {\n            articles: []\n        }\n    }\n\n    componentWillReceiveProps(newProps) {\n        if (this.props.data !== newProps.data) {\n            this.setArticles(newProps.data)\n        }\n    }\n\n    componentDidMount() {\n        const { data } = this.props;\n        if (data.category.link.id) {\n            this.setArticles(data)\n            setInterval(() => {\n                this.setArticles(data)\n            }, 60000);\n        }\n    }\n\n    private setArticles(data) {\n        const { componentaId } = this.props\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        axiosInstance.get(`/iphone/json/api/auto_ticker/${componentaId}`)\n            .then((res: any) => {\n                this.setState({ articles: res.data.data });\n            })\n            .catch(err => console.error(\"error geting ticker data:\", err))\n    }\n\n\n    render() {\n        const { data, height, isEnglish, isWar } = this.props\n        const { articles } = this.state\n        if (isWar) {\n            return (\n                <TickerWarView data={data} articles={articles} />\n            )\n        }\n        else {\n            return (\n                <TickerAutoView data={data} height={height} articles={articles} isEnglish={isEnglish} />\n            )\n        }\n\n    }\n}","import * as filter from \"lodash/filter\"\nimport * as map from \"lodash/map\"\nimport { separateHourFromDateAndFormatToString } from \"widgets/widgetsUtils\"\nimport { TickerList } from \"../../ticker/components/flashList\"\nimport { SiteTickerPopUp } from \"../../ticker/components/tickerPopUp\"\nimport { SiteTickerData } from \"../../ticker/components/tickerComponenta\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\"\nimport { TickerViewData } from \"../interfaces\"\n\nrequire(\"../../ticker/components/site_tickerComponenta.less\")\nrequire(\"../../englishTicker/ynetnews_vesty_site_englishTicker.less\")\nrequire(\"./../../tab/componentas/site_tabComponenta.less\")\n\ninterface TickerAutoViewProps {\n    data: TickerViewData\n    height: number\n    articles: any\n    isEnglish?: boolean\n}\n\n\nexport class TickerAutoView extends React.Component<TickerAutoViewProps, {}>  {\n\n    public render() {\n        const { data, height, articles, isEnglish } = this.props\n        const tabStyles = { backgroundColor: data.tabBackgroundColor }\n        const mainStyleBg = { backgroundColor: data.bgColor }\n        const targetTitleLink: LinkTargetProperties = {\n            linkOpenType: \"new\",\n            lightBoxBgColor: \"\",\n            lightBoxHeight: null,\n            lightBoxOpacity: null,\n            lightBoxWidth: 0\n        }\n        let itemList = [];\n\n        if (Object.keys(articles).length > 0) {\n            itemList = filter(map(articles, (article: any, index) => {\n                if (index > data.numberOfVisibleItems - 1) return null\n                let image = { url: '' }\n\n                return {\n                    articlePublishDate: article.launchDate,\n                    articleUpdateDate: article.dateUpdatedOnSite,\n                    slotId: article.articleId,\n                    title: article.title,\n                    flashText: article.plainText,\n                    flashDate: article.dateUpdatedOnSite,\n                    flashDateType: \"update\",\n                    link: article.publishedLink,\n                    linkTarget: data.itemLinkTarget ? data.itemLinkTarget : targetTitleLink,\n                    flashLinkType: \"flash\",\n                    itemImg: article.promotionImageDetails,\n                    articleId: article.articleId,\n                    author: article.author,\n                } as SiteTickerData\n\n            }))\n        }\n        let englishSite = this.props.isEnglish ? \"englishSite\" : \"\"\n        return (\n            <div className={`TickerComponenta ${englishSite}`} style={mainStyleBg}>\n                {data.fieldsDisplaySettings.isTabVisible &&\n                    <div className=\"TabComponenta tickerTab\" style={tabStyles}>\n                        <HyperLinkBuilder className=\"titleLink rightTitleLink\" href={data.tabHref} linkTarget={data.tabTitleLinkTarget}>\n                            {\n                                englishSite\n                                    ?\n                                    <div className=\"rightTitleText\">{data.tabTitleText}</div>\n                                    :\n                                    <h3 className=\"rightTitleText\">{data.tabTitleText}</h3>\n\n                            }\n                        </HyperLinkBuilder>\n                    </div>\n                }\n                <div className=\"slotsContent\" style={{ height: `${height - 24}px` }}>\n                    {data.fieldsDisplaySettings.isDateVisible && <div className=\"tickerDate\" title={separateHourFromDateAndFormatToString(new Date(), { showDate: true, showHour: false, padDateWithZero: false })}>\n                        {separateHourFromDateAndFormatToString(new Date(), { showDate: true, showHour: false, padDateWithZero: false })}\n                    </div>}\n\n                    <TickerList siteFlashList={itemList} titleColor={data.titleColor} subTitleColor={data.subTitleColor} isAuto={true} isEnglish={isEnglish} />\n                    {!isEnglish && <SiteTickerPopUp items={itemList} popUpTitle={data.popUpTitle} popUpTitleColor={data.popUpTitleColor} isAuto={true} />}\n                </div>\n            </div>\n        )\n    }\n} ","import { CityLocation } from \"./WeatherCitySelector\"\nimport isSubZero from '../helpers/isSubZero'\ninterface DropDownItemProps {\n    city: CityLocation\n    lang: String\n}\n\nconst DropDownItem = (props: DropDownItemProps) => {\n    const { city, lang } = props\n\n    const isHeb = () => {\n        return lang === \"he\"\n    }\n\n    return (\n        <a href={city.url} style={{ textDecoration: \"none\", color: \"unset\" }}>\n            <div className=\"dropdown-item\">\n                <div className=\"dropdown-city-name\" role=\"progressbar\" aria-valuenow={isHeb() ? city.nameHeb : city.name}>{isHeb() ? city.nameHeb : city.name}</div>\n                <div className=\"dropdown-country-name\">{isHeb() ? city.countryHeb : city.country}</div>\n                {/* <div className=\"dropdown-tempature\">\n                    <div> {isSubZero(city.minimumTemperature)} -  {isSubZero(city.maximumTemperature)}</div>\n                    <div className=\"dropdown-tempature-icon\">\n                        <img role=\"presentation\" className=\"icon\" src={`/images/weather/${city.weatherCode}.svg`} />\n                    </div>\n                    <div className=\"dropdown-tempature-info\">{city.desc}</div>\n                </div> */}\n            </div>\n        </a>\n    );\n}\nexport default DropDownItem;","import DropDownItem from \"./DropDownItem\"\nconst clickOutside = require('react-click-outside');\n\nexport interface CityLocation {\n    id: number\n    name: string\n    nameHeb: string\n    isWorld: boolean\n    country: string\n    countryHeb: string\n    weatherCode: number\n    desc: string\n    minimumTemperature: number\n    maximumTemperature: number\n    currentTemperature: number\n    feelsLike: number\n    url: string\n}\n\ninterface WeatherProps {\n    selectedLocationId: number\n    updateTime: string\n    locations: CityLocation[]\n    ariaLabelContent: string,\n    lang: string,\n}\n\ninterface State {\n    selectedCity: CityLocation\n    isSearchBoxVisibile: boolean\n    searchQuery: string\n}\n\n@clickOutside\nexport class WeatherCitySelectorRow extends React.Component<Partial<WeatherProps>, State> {\n    static siteScriptName = \"WeatherCityDropDown\";\n    constructor(props: WeatherProps) {\n        super(props);\n        this.state = {\n            selectedCity: props.locations.find(city => city.id === props.selectedLocationId),\n            isSearchBoxVisibile: false,\n            searchQuery: \"\",\n        }\n    }\n\n    private inputRef: any;\n\n    componentDidMount() {\n        const { selectedLocationId } = this.props\n        this.onCityChangeHandler(selectedLocationId)\n        document.addEventListener(\"keydown\", this.handleEscapeHandler, false);\n    };\n\n    componentWillUnmount() {\n        document.removeEventListener(\"keydown\", this.handleEscapeHandler, false);\n    }\n\n    onCityChangeHandler = (cityId: number) => {\n        const { locations } = this.props\n        const selectedCity = locations.find(city => city.id === cityId)\n        this.setState({ selectedCity: selectedCity, searchQuery: \"\" })\n    }\n\n    onSearchHandler = (value) => {\n        this.setState({ searchQuery: value })\n    }\n\n    toggleSearchBox = () => {\n        this.setState({ isSearchBoxVisibile: !this.state.isSearchBoxVisibile })\n    }\n\n    handleClickOutside = () => {\n        this.setState({ isSearchBoxVisibile: false, searchQuery: \"\" });\n    }\n\n    handleEscapeHandler = (e) => {\n        const { isSearchBoxVisibile, searchQuery } = this.state\n        const { locations } = this.props\n        if (e.key === \"Escape\" && isSearchBoxVisibile) {\n            this.handleClickOutside()\n        } else if (e.key === \"Tab\") {\n            this.toggleSearchBox()\n        } else if (e.key === \"Enter\" && isSearchBoxVisibile) {\n            const filteredCities = searchQuery ? locations.filter((city: CityLocation) => {\n                return city.name.toLowerCase().includes(searchQuery.toLowerCase())\n            }) : locations\n            window.location.href = filteredCities[0].url;\n        }\n    }\n    public render() {\n\n        const { ariaLabelContent, locations, lang } = this.props\n        const { searchQuery, isSearchBoxVisibile } = this.state\n\n        const filteredCities = searchQuery ? lang === \"he\" ?\n            locations.filter((city: CityLocation) => {\n                return city.nameHeb.includes(searchQuery)\n            })\n            : locations.filter((city: CityLocation) => {\n                return city.name.toLowerCase().includes(searchQuery.toLowerCase())\n            }) : locations.filter((city: CityLocation) => {\n                return !city.isWorld\n            })\n\n        const dropDownItems = !!filteredCities.length && filteredCities.map((city: CityLocation) => {\n            return (\n                <DropDownItem\n                    key={city.id}\n                    city={city}\n                    lang={lang}\n                />\n            )\n        })\n\n        return (\n            <div>\n                <div style={{ width: \"100%\" }}>\n                    {isSearchBoxVisibile ?\n                        <div>\n                            <div className=\"city-selector city-selector-bottom-border-off\" aria-label={ariaLabelContent}>\n                                <div className=\"search-box-bottom-border\">\n                                    <input\n                                        placeholder={`${__(\"Search any location\")}...`}\n                                        value={searchQuery}\n                                        onChange={(e: any) => this.onSearchHandler(e.target.value)}\n                                        className=\"search-input\"\n                                        name=\"input\"\n                                        ref={ref => this.inputRef = ref}\n                                        onBlur={() => this.inputRef.focus()}\n                                        autoFocus\n                                    />\n                                </div>\n                                <div className=\"arrow-up\" onClick={() => this.toggleSearchBox()} />\n                            </div>\n                            <div className=\"dropdown\">\n                                <div className=\"dropdown-window\">\n                                    {dropDownItems}\n                                </div>\n                            </div>\n                        </div> :\n                        <div className=\"city-selector\" onClick={() => this.toggleSearchBox()} aria-label={ariaLabelContent}>\n                            <div className=\"city-title\" >\n                                {lang === \"he\" ? this.state.selectedCity && this.state.selectedCity.nameHeb : this.state.selectedCity && this.state.selectedCity.name}\n                            </div>\n                            <div className=\"arrow-down\" />\n                        </div>}\n                </div>\n            </div>\n        )\n    }\n}","import iconTranslate from '../../../weather/translations/weatherIconTranslations'\n\nconst getWeatherCode = (weatherCode: number, isNewLayout: boolean = false) => {\n    if (isNewLayout) {\n        return `/images/weather-new-icons/newWeatherSvgs/${weatherCode}.svg`\n    }\n    return `/images/weather/${iconTranslate(weatherCode)}.svg`\n}\n\nexport default getWeatherCode","export default (degree: number) => {\n    if (degree === null) {\n        return \"n/a\"\n    } else if (degree < 0) {\n        return `(${degree}°)`\n    } else {\n        return `${degree}°`\n    }\n}","export type SiteLanguage = \"he\" | \"en\" | \"es\"\n\nconst dict = {\n    \"ru\": {\n        \"Sandstorm\": \"Песчаная буря\",\n        \"Thunderstorms\": \"Грозы\",\n        \"Snow\": \"Снег\",\n        \"Light snow\": \"Легкий снег\",\n        \"Sleet\": \"Мокрый снег\",\n        \"Rain\": \"Дождь\",\n        \"Drizzle\": \"Изморось\",\n        \"Partly cloudy\": \"Переменная облачность\",\n        \"Cloudy\": \"Облачно\",\n        \"Clear\": \"Безоблачное небо\",\n        \"Windy\": \"Ветрено\",\n        \"Frost\": \"Иней\",\n        \"Freezing\": \"Заморозки\",\n        \"Hot\": \"Жарко\",\n        \"Cold\": \"Холодно\",\n        \"Stormy\": \"Шторм\",\n        \"Heavy Snow\": \"Снегопад\",\n        \"Partly cloudy, possible rain\": \"Переменная облачность, возможен дождь\",\n        \"Cloudy, possible rain\": \"Облачно, возможен дождь\",\n        \"Cloudy, light rain\": \"Облачно, небольшой дождь\",\n        \"Haze\": \"Мгла\",\n        \"Extremely hot\": \"Очень жарко\",\n        \"Extremely cold\": \"Очень холодно\",\n    },\n    \"he\": {\n        \"Sandstorm\": \"סופות חול\",\n        \"Thunderstorms\": \"סופות רעמים וברקים\",\n        \"Snow\": \"שלג\",\n        \"Light snow\": \"שלג קל\",\n        \"Sleet\": \"גשם מעורב בשלג\",\n        \"Rain\": \"גשם\",\n        \"Drizzle\": \"ערפל\",\n        \"Partly cloudy\": \"מעונן חלקית\",\n        \"Cloudy\": \"מעונן\",\n        \"Clear\": \"בהיר\",\n        \"Windy\": \"רוחות ערות\",\n        \"Frost\": \"הביל\",\n        \"Freezing\": \"קרה\",\n        \"Hot\": \"חם\",\n        \"Cold\": \"קר\",\n        \"Stormy\": \"סוער\",\n        \"Heavy Snow\": \"שלג כבד\",\n        \"Partly cloudy, possible rain\": \"מעונן חלקית, אפשרות לגשם\",\n        \"Cloudy, possible rain\": \"מעונן, אפשרות לגשם\",\n        \"Cloudy, light rain\": \"מעונן, גשם קל\",\n        \"Haze\": \"אביך\",\n        \"Extremely hot\": \"חם מאוד\",\n        \"Extremely cold\": \"קר מאוד\",\n    }\n}\n\nconst translate = (language) => {\n    const lang = language\n    return (phrase) => {\n        if (language in dict) {\n            return dict[lang][phrase] || phrase\n        } else {\n            return phrase\n        }\n    }\n}\n\n\nexport default (language) => {\n    const t_ui = translate(language)\n    return (weatherCode) => {\n        const defaultCode = 10\n        const weatherCodeDesc = {\n            10: \"דומם\",\n            20: \"שקט\",\n            30: \"נוח\",\n            40: \"נוח עד גלי\",\n            50: \"גלי\",\n            55: \"גלי עד גבה גלים\",\n            60: \"גבה גלים\",\n            70: \"גבה גלים עד רוגש\",\n            80: \"רוגש\",\n            90: \"רוגש עד סוער\",\n            110: \"סוער עד גועש\",\n            120: \"סוער עד גועש\",\n            130: \"גועש\",\n            140: \"גועש עד זועף\",\n            150: \"זועף\",\n            160: \"זועף מאד\",\n            161: \"נח בתחילה יעשה גלי\",\n            162: \"נוח. במשך היום יעשה גלי\",\n            163: \"נח. יעשה גלי עד גבה גלים מחר\",\n            164: \"נח. יעשה גלי עד גבה גלים מחר\",\n            165: \"נח עד גלי יעשה גבה גלים\",\n            166: \"נח בגדה המערבית, גלי בגדה המזרחית\",\n            167: \"נח עד גלי. יעשה גלי עד גבה גלים\",\n            168: \"גלי. יעשה גבה גלים\",\n            169: \"נח עד גלי. יעשה גבה גלים עד רוגש\",\n            170: \"גלי בגדה המערבית, גבה גלים בגדה המזרחית\",\n            171: \"גלי עד גבה גלים. יעשה גבה גלים עד רוגש\",\n        }\n        let desc = \"\"\n\n        if (weatherCode in weatherCodeDesc) {\n            desc = weatherCodeDesc[weatherCode]\n        } else {\n            desc = weatherCodeDesc[defaultCode]\n        }\n\n        return t_ui(desc)\n    }\n}\n//import translate from \"./tanslations/uiTranslations\"\n//const lang = \"he\"\n//const t_ui = translate(lang)\n//<div> t_ui(\"last update\") </div>\n\n","export type SiteLanguage = \"he\" | \"en\" | \"es\"\n\nconst dict = {\n    \"ru\": {\n        \"Weather\": \"Погода\",\n        \"Weather in\": \"Погода в\",\n        \"Weather data\": \"Погодные данные\",\n        \"Provided by IMS\": \"Предоставлено IMS\",\n        \"Provided by sunrise sunset\": \"Предоставлено sunrise sunset\",\n        \"High/Low\": \"Мин/Макс\",\n        \"Precipitation\": \"Вероятность осадков\",\n        \"Humidity\": \"Влажность воздуха\",\n        \"Wind\": \"Ветер\",\n        \"Wave height\": \"Высота волн\",\n        \"Water temp\": \"Температура воды\",\n        \"Sunrise\": \"Восход\",\n        \"Sunset\": \"Закат\",\n        \"Now\": \"Сейчас\",\n        \"Feels like\": \"Ощущается как\",\n        \"Precipitation radar\": \"Погодный радар\",\n        \"Weather map\": \"Погодная карта\",\n        \"More international cities\": \"Погода в мире\",\n        \"kph\": \"км/ч\",\n        \"cm\": \"см\",\n        \"North\": \"север\",\n        \"South\": \"юг\",\n        \"East\": \"Восток\",\n        \"West\": \"Запад\",\n        \"Choose city. type the start letters and hit enter\": \"Выбрать город, набрать первые буквы названия и нажать Enter\",\n        \"mm\": \"mm\",\n        \"Jellyfish map\": 'карта медуз',\n    },\n    \"he\": {\n        \"Weather\": \"מזג אוויר\",\n        \"Weather in\": \"מזג האוויר ב\",\n        \"Weather data\": \"נתוני מזג האוויר\",\n        \"Provided by IMS\": \"נתוני מזג אוויר באדיבות השירות המטאורולוגי\",\n        \"Provided by sunrise sunset\": \"נתוני שעות זריחה ושקיעה\",\n        \"High/Low\": \"טווח טמפרטורה\",\n        \"Precipitation\": \"משקעים\",\n        \"Humidity\": \"אחוזי לחות\",\n        \"Wind\": \"Ветер\",\n        \"Wave height\": \"גובה הגלים\",\n        \"Water temp\": \"טמפ' המים\",\n        \"Sunrise\": \"זריחה\",\n        \"Sunset\": \"שקיעה\",\n        \"Now\": \"עכשיו\",\n        \"Feels like\": \"מרגיש\",\n        \"Precipitation radar\": 'מכ\"מ משקעים',\n        \"Jellyfish map\": 'מפת מדוזות',\n        \"Weather map\": 'מכ\"ם גשם',\n        \"More International cities\": \"ערים נוספות בעולם\",\n        \"kph\": 'ק\"מ',\n        \"cm\": 'ס\"מ',\n        \"North\": \"צפון\",\n        \"North East\": \"צפון מזרח\",\n        \"South\": \"דרום\",\n        \"East\": \"מזרח\",\n        \"West\": \"מערב\",\n        \"North West\": \"צפון מערב\",\n        \"South West\": \"דרום מערב\",\n        \"South East\": \"דרום מזרח\",\n        \"to \": \"ל\",\n        \"Choose city. type the start letters and hit enter\": \"Выбрать город, набрать первые буквы названия и нажать Enter\",\n        \"mm\": \"מ\\\"מ\",\n    }\n}\n\nexport default (language) => {\n    const lang = language\n    return (phrase) => {\n        if (language in dict) {\n            return dict[lang][phrase] || phrase\n        } else {\n            return phrase\n        }\n    }\n}\n\n//import translate from \"./tanslations/cityTranslations\"\n//const lang = \"he\"\n//const t_ui = translate(lang)\n//<div> t_ui(\"last update\") </div>\n\n","export type SiteLanguage = \"he\" | \"en\" | \"es\"\n\nconst dict = {\n    \"ru\": {\n        \"Sandstorm, Duststorm, Sand, Dust\": \"Песчаная буря, Пыльная буря, Песок, Пыль\",\n        \"Thunderstorm, Thundershowers, Storm\": \"Буря с грозами и молниями\",\n        \"Hall\": \"Град\",\n        \"Blowing Snoe, Blizzard, Snowdrift, Snow storm\": \"Метель\",\n        \"Snow, Showers, Flurries\": \"Снег, ливни, вьюга\",\n        \"Snow, Heavy Snow, Snowfall\": \"Снег, Снегопад\",\n        \"Light Snow\": \"Легкий снег\",\n        \"Sleet\": \"Мокрый снег\",\n        \"Showers, Heavy Showers\": \"Ливни, тяжелые ливни\",\n        \"Occasional Showers, Scattered, Scattered Showers\": \"Возможны дожди, моросящий дождь\",\n        \"Isolated Showers\": \"Местами дождь \",\n        \"Light Showers\": \"Легкие дожди\",\n        \"Freezing Rain\": \"Ледяной дождь\",\n        \"Rain\": \"Дождь\",\n        \"Drizzle, Light Rain\": \"Морось, легкий дождь\",\n        \"Fog\": \"Туман\",\n        \"Mist\": \"Легкий туман\",\n        \"Smoke\": \"Дымка\",\n        \"Haze\": \"Мгла\",\n        \"Overcast\": \"Пасмурная погода\",\n        \"Sunny Interval, No Rain, Clearing\": \"Временами солнечно, без дождя, с прояснениями\",\n        \"Sunny Period, Partly Cloudy, Partly Bright Mild\": \"Переменная облачность\",\n        \"Cloudy, Mostly Cloudy\": \"Облачно, преимущественно облачно\",\n        \"Bright, Sunny, Fair\": \"Солнечно\",\n        \"Fine, Clear\": \"Ясно\",\n        \"Windy, Squall, Stormy, Gale\": \"Ветрено, Шквал,  Буря\",\n        \"Wet, Humid\": \"Влажно\",\n        \"Dry\": \"Сухо\",\n        \"Freezing\": \"Заморозки\",\n        \"Frost\": \"Мороз\",\n        \"Hot\": \"Жарко\",\n        \"Cold\": \"Холодно\",\n        \"Warming\": \"Потепление\",\n        \"Cooling\": \"Похолодание\",\n        \"Stormy\": \"Шторм\",\n        \"Heavy Snow\": \"Снегопад\",\n        \"Partly cloudy, possible rain\": \"Переменная облачность, возможен дождь\",\n        \"Cloudy, possible rain\": \"Облачно, возможен дождь\",\n        \"Cloudy, light rain\": \"Облачно, небольшой дождь\",\n        \"Dust\": \"Мгла\",\n        \"Extremely hot\": \"Очень жарко\",\n        \"Extremely cold\": \"Очень холодно\",\n    },\n    \"he\": {\n        \"Sandstorm, Duststorm, Sand, Dust\": \"סופות חול, סופות אבק\",\n        \"Thunderstorm, Thundershowers, Storm\": \"סופת רעמים וברקים\",\n        \"Hall\": \"ברד\",\n        \"Blowing Snoe, Blizzard, Snowdrift, Snow storm\": \"סופת שלג\",\n        \"Snow, Showers, Flurries\": \"תזזיות שלג\",\n        \"Snow, Heavy Snow, Snowfall\": \"שלג, שלג כבד\",\n        \"Light Snow\": \"שלג קל\",\n        \"Sleet\": \"גשם מעורב בשלב\",\n        \"Showers, Heavy Showers\": \"ממטרים, ממטרים כבדים\",\n        \"Occasional Showers, Scattered, Scattered Showers\": \"ממטרים פזורים, ממטרים לסרוגין\",\n        \"Isolated Showers\": \"ממטרים מקומיים\",\n        \"Light Showers\": \"ממטרים קלים\",\n        \"Freezing Rain\": \"גשם קופא\",\n        \"Rain\": \"גשם\",\n        \"Drizzle, Light Rain\": \"רסס\",\n        \"Fog\": \"ערפל\",\n        \"Mist\": \"ערפל קל\",\n        \"Smoke\": \"עשן\",\n        \"Haze\": \"אובך\",\n        \"Overcast\": \"כיסוי מלא בעננים\",\n        \"Sunny Interval, No Rain, Clearing\": \"בדרך כלל מעונן\",\n        \"Sunny Period, Partly Cloudy, Partly Bright Mild\": \"מעונן חלקית\",\n        \"Cloudy, Mostly Cloudy\": \"מעונן\",\n        \"Bright, Sunny, Fair\": \"נאה\",\n        \"Fine, Clear\": \"בהיר, צח\",\n        \"Windy, Squall, Stormy, Gale\": \"רוחות ערות, רוחות סערה\",\n        \"Wet, Humid\": \"לח\",\n        \"Dry\": \"יבש\",\n        \"Freezing\": \"קפיאה\",\n        \"Frost\": \"קרה\",\n        \"Hot\": \"חם מאוד\",\n        \"Cold\": \"קרה\",\n        \"Warming\": \"התחממות\",\n        \"Cooling\": \"התקררות\",\n        \"Stormy\": \"סוער\",\n        \"Heavy Snow\": \"שלג כבד\",\n        \"Partly cloudy, possible rain\": \"מעונן חלקית, אפשרות לגשם\",\n        \"Cloudy, possible rain\": \"מעונן, אפשרות לגשם\",\n        \"Cloudy, light rain\": \"מעונן, גשם קל\",\n        \"Dust\": \"אביך\",\n        \"Extremely hot\": \"חם מאוד\",\n        \"Extremely cold\": \"קר מאוד\",\n    }\n}\n\nconst translate = (language) => {\n    const lang = language\n    return (phrase) => {\n        if (language in dict) {\n            return dict[lang][phrase] || phrase\n        } else {\n            return phrase\n        }\n    }\n}\n\n\nexport default (language) => {\n    const t_ui = translate(language)\n    return (weatherCode) => {\n        const defaultCode = 1250\n        const weatherCodeDesc = {\n            1010: \"Sandstorm, Duststorm, Sand, Dust\",\n            1020: \"Thunderstorm, Thundershowers, Storm\",\n            1030: \"Hall\",\n            1040: \"Blowing Snoe, Blizzard, Snowdrift, Snow storm\",\n            1050: \"Snow, Showers, Flurries\",\n            1060: \"Snow, Heavy Snow, Snowfall\",\n            1070: \"Light Snow\",\n            1080: \"Sleet\",\n            1090: \"Showers, Heavy Showers\",\n            1100: \"Occasional Showers, Scattered, Scattered Showers\",\n            1110: \"Isolated Showers\",\n            1120: \"Light Showers\",\n            1130: \"Freezing Rain\",\n            1140: \"Rain\",\n            1150: \"Drizzle, Light Rain\",\n            1160: \"Fog\",\n            1170: \"Mist\",\n            1180: \"Smoke\",\n            1190: \"Haze\",\n            1200: \"Overcast\",\n            1210: \"Sunny Interval, No Rain, Clearing\",\n            1220: \"Sunny Period, Partly Cloudy, Partly Bright Mild\",\n            1230: \"Cloudy, Mostly Cloudy\",\n            1240: \"Bright, Sunny, Fair\",\n            1250: \"Fine, Clear\",\n            1260: \"Windy, Squall, Stormy, Gale\",\n            1270: \"Wet, Humid\",\n            1280: \"Dry\",\n            1290: \"Freezing\",\n            1300: \"Frost\",\n            1310: \"Hot\",\n            1320: \"Cold\",\n            1330: \"Warming\",\n            1340: \"Cooling\",\n            1510: \"Stormy\",\n            1520: \"Heavy Snow\",\n            1530: \"Partly cloudy, possible rain\",\n            1540: \"Cloudy, possible rain\",\n            1560: \"Cloudy, light rain\",\n            1570: \"Dust\",\n            1580: \"Extremely hot\",\n            1590: \"Extremely cold\",\n        }\n        let desc = \"\"\n\n        if (weatherCode in weatherCodeDesc) {\n            desc = weatherCodeDesc[weatherCode]\n        } else {\n            desc = weatherCodeDesc[defaultCode]\n        }\n\n        return t_ui(desc)\n    }\n}\n//import translate from \"./tanslations/uiTranslations\"\n//const lang = \"he\"\n//const t_ui = translate(lang)\n//<div> t_ui(\"last update\") </div>\n\n","export default (weatherCode: number) => {\n    const defaultCode = 1250\n    const weatherCodeDesc = {\n        1010: \"Sandstorm\",\n        1020: \"Thunderstorms\",\n        1060: \"Snow\",\n        1070: \"Light snow\",\n        1080: \"Sleet\",\n        1140: \"Rain\",\n        1160: \"Drizzle\",\n        1220: \"Partly cloudy\",\n        1230: \"Cloudy\",\n        1250: \"Clear\",\n        1260: \"Windy\",\n        1270: \"Frost\",\n        1300: \"Freezing\",\n        1310: \"Hot\",\n        1320: \"Cold\",\n        1510: \"Stormy\",\n        1520: \"Heavy Snow\",\n        1530: \"Partly cloudy, possible rain\",\n        1540: \"Cloudy, possible rain\",\n        1560: \"Cloudy, light rain\",\n        1570: \"Haze\",\n        1580: \"Extremely hot\",\n        1590: \"Extremely cold\",\n    }\n\n    if (weatherCode in weatherCodeDesc) {\n        return weatherCode\n    }\n    return defaultCode\n}\n","import { Pollution } from '../WeatherMapExtendedTab/WeatherMapExtendedTab'\n\ninterface MapProps {\n    pollutionList: Array<Pollution>\n    isNewLayout: boolean\n}\n\nconst getPollutionLevel = (index: number) => {\n    if (index === null) {\n        return null\n    }\n    if (index > 50) {\n        return \"L\"\n    } else if (index < 51 && index > -1) {\n        return \"M\"\n    } else if (index < 0 && index > -201) {\n        return \"H\"\n    } else {\n        return \"D\"\n    }\n}\n\nconst getDotColor = (index: number) => {\n    const pollution = getPollutionLevel(index)\n    switch (pollution) {\n        case \"L\":\n            return { backgroundColor: \"#62ac00\" }\n            break;\n        case \"M\":\n            return { backgroundColor: \"#ecc500\" }\n            break;\n        case \"H\":\n            return { backgroundColor: \"#e21818\" }\n            break;\n        case \"D\":\n            return { backgroundColor: \"#8b2c09\" }\n            break;\n        default:\n            return { backgroundColor: \"#707070\" }\n            break;\n    }\n}\n\n\n\nconst getRegionName = (regionId: number) => {\n    switch (regionId) {\n        case 1:\n            return \"צפון\"\n            break;\n        case 2:\n            return \"חיפה וקריות\"\n            break;\n        case 3:\n            return \"עמק יזרעאל\"\n            break;\n        case 4:\n            return \"שרון כרמל\"\n            break;\n        case 5:\n            return \"שומרון\"\n            break;\n        case 6:\n            return \"שפלה פנימית\"\n            break;\n        case 7:\n            return \"גוש דן\"\n            break;\n        case 8:\n            return \"ירושלים\"\n            break;\n        case 9:\n            return \"אזור יהודה\"\n            break;\n        case 10:\n            return \"מישור החוף הדרומי\"\n            break;\n        case 11:\n            return \"צפון הנגב\"\n            break;\n        case 12:\n            return \"אילת\"\n            break;\n        default:\n            return null\n            break;\n    }\n}\n\nconst WeatherAirPollutionMap = (props: MapProps) => {\n    const { pollutionList, isNewLayout } = props\n\n    let regions = pollutionList && pollutionList.map((region: Pollution) => {\n        if (region && region.regionId) {\n            return (\n                <div key={region.regionId} className={`city-item region-item-${region.regionId}`} style={{ display: \"block\" }}>\n                    <div className=\"info-title\">\n                        <div className=\"region-title\">{getRegionName(region.regionId)}</div>\n                    </div>\n                    <div style={{ display: \"flex\", alignItems: \"center\" }}>\n                        <div className=\"dot\" style={getDotColor(region.index)} />\n                        <div className=\"index-title\">{region.index}</div>\n                    </div>\n                    {region.index === null ? <div className=\"missing-data-title\">אין נתונים</div> : null}\n                </div>\n            )\n        }\n        return null\n    })\n\n    return (\n        <div className=\"weather-extended-map-module pollution\" role=\"presentation\">\n            <div className=\"map-container\">\n                {regions}\n            </div>\n\n            <div className=\"indicator-container\">\n                {isNewLayout ? <>\n                    <div className=\"legend-color-block\" />\n\n                    <div className=\"indicator-info-container\">\n                        <div className=\"indicator-box\">\n                            <div className=\"indicator-info\">\n                                <div className=\"range\">{`(400-) - (201-)`}</div>\n                                <div className=\"desc\">זיהום אוויר גבוה מאוד</div>\n                            </div>\n                        </div>\n\n                        <div className=\"indicator-box\">\n                            <div className=\"indicator-info\">\n                                <div className=\"range\">{`(200-) - (1-)`}</div>\n                                <div className=\"desc\">זיהום אוויר גבוה</div>\n                            </div>\n                        </div>\n\n                        <div className=\"indicator-box\">\n                            <div className=\"indicator-info\">\n                                <div className=\"range\">{`0 - 50`}</div>\n                                <div className=\"desc\">זיהום אוויר בינוני</div>\n                            </div>\n                        </div>\n\n                        <div className=\"indicator-box\">\n                            <div className=\"indicator-info\">\n                                <div className=\"range\">{`51 - 100`}</div>\n                                <div className=\"desc\">זיהום אוויר נמוך</div>\n                            </div>\n                        </div>\n\n                    </div>\n                </>\n                    :\n                    <>\n                        <div className=\"indicator-box\">\n                            <div className=\"indicator-block border-radius-top\" style={getDotColor(51)}></div>\n                            <div className=\"indicator-info\">\n                                <div className=\"range\">{`51 - 100`}</div>\n                                <div className=\"desc\">זיהום אוויר נמוך</div>\n                            </div>\n                        </div>\n\n\n                        <div className=\"indicator-box\">\n                            <div className=\"indicator-block\" style={getDotColor(0)}></div>\n                            <div className=\"indicator-info\">\n                                <div className=\"range\">{`0 - 50`}</div>\n                                <div className=\"desc\">זיהום אוויר בינוני</div>\n                            </div>\n                        </div>\n\n                        <div className=\"indicator-box\">\n                            <div className=\"indicator-block\" style={getDotColor(-1)}></div>\n                            <div className=\"indicator-info\">\n                                <div className=\"range\">{`(200-) - (1-)`}</div>\n                                <div className=\"desc\">זיהום אוויר גבוה</div>\n                            </div>\n                        </div>\n\n                        <div className=\"indicator-box\">\n                            <div className=\"indicator-block border-radius-bottom\" style={getDotColor(-201)}></div>\n                            <div className=\"indicator-info\">\n                                <div className=\"range\">{`(400-) - (201-)`}</div>\n                                <div className=\"desc\">זיהום אוויר גבוה מאוד</div>\n                            </div>\n                        </div>\n\n                        <div className=\"pollution-provided-by\">\n                            באדיבות המשרד לאיכות הסביבה<br />\n                            מרכז ניתור אוויר ארצי<br />\n                            www.sviva.gov.il<br />\n                            ובאדיבות איגוד ערים חיפה\n                </div>\n\n                        <div>\n                            <img src={`/images/weather/ministry_of_environmental_protection.png`} className=\"sviva-img\" />\n                        </div>\n                    </>}\n            </div>\n        </div>\n    )\n}\n\nexport default WeatherAirPollutionMap","import { City } from '../WeatherMapExtendedTab/WeatherMapExtendedTab'\n\ninterface MapProps {\n    citiesList: Array<City>\n    isNewLayout: boolean\n}\n\n\nconst WeatherHumidityMap = (props: MapProps) => {\n    const { citiesList, isNewLayout } = props\n    const oldIcon = `/images/weather/humidity.svg`\n    const newIcon = `/images/weather-new-icons/weatherMapIcons/lahot_icon.svg`\n\n    const chosenCities = [\"Elat\", \"Ashdod\", \"Beer Sheva\", \"Bet Shean\", \"Haifa\", \"Tiberias\", \"Jerusalem\", \"Mizpe Ramon\", \"Zefat\", \"Tel Aviv Yafo\"]\n\n    let cities = citiesList && citiesList.map((city: City) => {\n        if (city && city.name && (chosenCities as any).includes(city.name)) {\n            return (\n                <div key={city.name} className={`city-item ${city.name.toLowerCase().replace(/ /g, \"-\")}`}>\n                    <div>\n                        <img src={!!isNewLayout ? newIcon : oldIcon} className=\"humidity-img\" />\n                    </div>\n                    <div className=\"info-title\">\n                        <span className=\"temp-info\">{`${city.humidity}`}</span><span className=\"prec-text\">%</span>\n                        <br />\n                        <span className=\"city-title\">{city.nameHeb}</span>\n                    </div>\n                </div>\n            )\n        }\n        return null\n    })\n\n    return (\n        <div className=\"weather-extended-map-module\" role=\"presentation\">\n            <div className=\"map-container\">\n                {cities}\n            </div>\n        </div>\n    )\n}\n\nexport default WeatherHumidityMap","import { City } from '../WeatherMapExtendedTab/WeatherMapExtendedTab'\n\ninterface MapProps {\n    citiesList: Array<City>\n    isNewLayout: boolean\n}\n\n\nconst WeatherPrecipitationMap = (props: MapProps) => {\n    const { citiesList, isNewLayout } = props\n    const chosenCities = [\"Elat\", \"Ashdod\", \"Beer Sheva\", \"Bet Shean\", \"Haifa\", \"Tiberias\", \"Jerusalem\", \"Mizpe Ramon\", \"Zefat\", \"Tel Aviv Yafo\"]\n    const newPrepIcon = `/images/weather-new-icons/weatherMapIcons/precipation_icon.svg`\n    const oldPrepIcon = `/images/weather/waterDrop.png`\n\n    let cities = citiesList && citiesList.map((city: City) => {\n        if (city && city.name && (chosenCities as any).includes(city.name)) {\n            return (\n                <div key={city.name} className={`city-item ${city.name.toLowerCase().replace(/ /g, \"-\")}`}>\n                    <div>\n                        <img src={!!isNewLayout ? newPrepIcon : oldPrepIcon} className=\"weather-drop-img\" />\n                    </div>\n                    <div className=\"info-title\">\n                        <span className=\"temp-info\">{`${city.precipitation} `}</span><span className=\"preci-text\">מ\"מ</span>\n                        <br />\n                        <span className=\"city-title\">{city.nameHeb}</span>\n                    </div>\n                </div>\n            )\n        }\n        return null\n    })\n\n    return (\n        <div className=\"weather-extended-map-module\" role=\"presentation\">\n            <div className=\"map-container\">\n                {cities}\n            </div>\n        </div>\n    )\n}\n\nexport default WeatherPrecipitationMap","import isSubZero from '../../../weather/components/helpers/isSubZero'\nimport { City } from '../WeatherMapExtendedTab/WeatherMapExtendedTab'\nimport iconTranslate from '../../../weather/translations/weatherIconTranslations'\nimport getWeatherCode from '../../../weather/components/helpers/getWeatherCode';\ninterface MapProps {\n    citiesList: Array<City>\n    isNewLayout?: boolean\n}\n\n\nconst WeatherMapTemprMap = (props: MapProps) => {\n    const { citiesList, isNewLayout } = props\n\n    const chosenCities = [\"Elat\", \"Ashdod\", \"Beer Sheva\", \"Bet Shean\", \"Haifa\", \"Tiberias\", \"Jerusalem\", \"Mizpe Ramon\", \"Zefat\", \"Tel Aviv Yafo\"]\n\n    if(isNewLayout){\n        chosenCities.push(\"En Gedi\")\n    }\n\n    let cities = citiesList && citiesList.map((city: City) => {\n        if (city && city.name && (chosenCities as any).includes(city.name)) {\n            return (\n                <a href={city.url} key={city.name} style={{ textDecoration: \"none\", color: \"unset\" }}>\n                    <div className={`city-item ${city.name.toLowerCase().replace(/ /g, \"-\")}`}>\n                        <div>\n                            <img src={getWeatherCode(city.weatherCode, !!isNewLayout)} className=\"weather-img\" />\n                        </div>\n                        <div className=\"info-title\">\n                            <span className=\"temp-info\">{isSubZero(city.minimumTemperature)}-{isSubZero(city.maximumTemperature)}</span>\n                            <br />\n                            <span className=\"city-title\">{city.nameHeb}</span>\n                        </div>\n                    </div>\n                </a>\n            )\n        }\n        return null\n    })\n\n    return (\n        <div className=\"weather-extended-map-module\" role=\"presentation\">\n            <div className=\"map-container\">\n                {cities}\n            </div>\n        </div>\n    )\n}\n\nexport default WeatherMapTemprMap","import { City } from '../WeatherMapExtendedTab/WeatherMapExtendedTab'\n\ninterface MapProps {\n    citiesList: Array<City>\n    isNewLayout: boolean\n}\n\n\n\nconst WeatherUvMap = (props: MapProps) => {\n    const { citiesList, isNewLayout } = props\n\n    const chosenCities = [\"Elat\", \"Ashdod\", \"Beer Sheva\", \"Bet Shean\", \"Haifa\", \"Tiberias\", \"Jerusalem\", \"Mizpe Ramon\", \"Zefat\", \"Tel Aviv Yafo\"]\n\n    const getDotColor = (uv) => {\n        const {isNewLayout} = props\n        switch (uv) {\n            case \"L\":\n                return { backgroundColor: isNewLayout? \"linear-gradient(to bottom, #9bde42, #ecc400 86%)\" : \"#62ac00\" }\n                break;\n            case \"M\":\n                return { backgroundColor: isNewLayout?\"linear-gradient(to bottom, #e28800 70%)\" :\"#ecc500\" }\n                break;\n            case \"H\":\n                return { backgroundColor: isNewLayout?\"linear-gradient(to bottom, #ea6528 53%)\" :\"#e28800\" }\n                break;\n            case \"V\":\n                return { backgroundColor: isNewLayout?\"linear-gradient(to bottom, #d10000 35%)\" :\"#d20000\" }\n                break;\n            case \"E\":\n                return { backgroundColor: isNewLayout?\"linear-gradient(to bottom, #d100a1 16%)\" :\"#d200a1\" }\n                break;\n            default:\n                return { backgroundColor: isNewLayout?\"#ff009c\" :\"#62ac00\" }\n                break;\n        }\n    }\n\n    const getImageColor = (uv) => {\n        const baseIconUrl = `/images/weather-new-icons/weatherMapIcons/uv_`\n        switch (uv) {\n            case \"L\":\n                return baseIconUrl + \"low.svg\"\n                break;\n            case \"M\":\n                return baseIconUrl + \"medium.svg\"\n                break;\n            case \"H\":\n                return baseIconUrl + \"high.svg\"\n                break;\n            case \"V\":\n                return baseIconUrl + \"very_high.svg\"\n                break;\n            case \"E\":\n                return baseIconUrl + \"extreme.svg\"\n                break;\n            default:\n                return baseIconUrl + \"low.svg\"\n                break;\n        }\n    }\n\n    let cities = citiesList && citiesList.map((city: City) => {\n        if (city && city.name && (chosenCities as any).includes(city.name)) {\n            return (\n                <div key={city.name} className={`city-item ${city.name.toLowerCase().replace(/ /g, \"-\")}`} style={isNewLayout ? {} : { display: \"block\" }}>\n                    <div>\n                        {isNewLayout ?\n                            <img src={getImageColor(city.radiation)} className=\"uv-img\" /> :\n                            <span className=\"dot\" style={getDotColor(city.radiation)} />}\n                    </div>\n                    <div className=\"info-title\">\n                        <span className=\"temp-info\">{isNewLayout ? city.radiationIndex : city.radiation}</span>\n                            <br />\n                            <span className=\"city-title\">{city.nameHeb}</span>\n                    </div>\n                </div>\n            )\n        }\n        return null\n    })\n\n    const indicators = () =>{\n        return (\n            <>\n              <div className=\"indicator-box\">\n                    <div className=\"indicator-block border-radius-top\" style={getDotColor(\"E\")}></div>\n                    <div className=\"indicator-info\">\n                        <div className=\"range\">{`11 ומעלה`}</div>\n                        <div className=\"desc\">קיצוני</div>\n                    </div>\n                </div>\n\n\n                <div className=\"indicator-box\">\n                    <div className=\"indicator-block\" style={getDotColor(\"V\")}></div>\n                    <div className=\"indicator-info\">\n                        <div className=\"range\">{`8 - 10`}</div>\n                        <div className=\"desc\">גבוה מאוד</div>\n                    </div>\n                </div>\n\n                <div className=\"indicator-box\">\n                    <div className=\"indicator-block\" style={getDotColor(\"H\")}></div>\n                    <div className=\"indicator-info\">\n                        <div className=\"range\">{`6 - 7`}</div>\n                        <div className=\"desc\">גבוה</div>\n                    </div>\n                </div>\n\n                <div className=\"indicator-box\">\n                    <div className=\"indicator-block\" style={getDotColor(\"M\")}></div>\n                    <div className=\"indicator-info\">\n                        <div className=\"range\">{`3 - 5`}</div>\n                        <div className=\"desc\">בינוני</div>\n                    </div>\n                </div>\n\n                <div className=\"indicator-box\">\n                    <div className=\"indicator-block border-radius-bottom\" style={getDotColor(\"L\")}></div>\n                    <div className=\"indicator-info\">\n                        <div className=\"range\">{`1 - 2`}</div>\n                        <div className=\"desc\">נמוך</div>\n                    </div>\n                </div>\n            </>\n        )\n    }\n\n    return (\n        <div className=\"weather-extended-map-module\" role=\"presentation\">\n            <div className=\"map-container\">\n                {cities}\n            </div>\n\n            <div className=\"indicator-container\">\n\n            {isNewLayout? \n            <>\n            <div className=\"indicator-legend uv-map\" />\n            <div className=\"indicator-box-container\">\n                {indicators()}\n            </div>\n            </>\n             : indicators()}\n\n              \n            \n            </div>\n        </div>\n    )\n}\n\nexport default WeatherUvMap","import { City } from '../WeatherMapExtendedTab/WeatherMapExtendedTab'\nimport * as  ReactTooltip from \"react-tooltip\"\nimport translate from '../../../weather/translations/UiTranslation'\nimport seaTranslate from '../../../weather/translations/SeaCodeTranslations'\nimport isSubZero from '../../../weather/components/helpers/isSubZero'\n\ninterface MapProps {\n    citiesList: Array<City>\n    lang: string\n    isNewLayout: boolean\n}\n\n\nconst WeatherWaveHeightMap = (props: MapProps) => {\n    const { citiesList, lang, isNewLayout } = props\n    const t_ui = translate(lang)\n    const t_sea = seaTranslate(lang)\n    const newIcon = `/images/weather-new-icons/weatherMapIcons/wave_icon.svg`\n    const oldIcon = `/images/weather/waveHeight.svg`\n\n    const chosenCities = [\"Elat\", \"Ashdod\", \"Beer Sheva\", \"Bet Shean\", \"Haifa\", \"Tiberias\", \"Jerusalem\", \"Mizpe Ramon\", \"Zefat\", \"Tel Aviv Yafo\"]\n\n    const getDirectionalWindTranslate = (windDirection: Array<String>) => {\n        if (windDirection.length > 1) {\n            return `${t_ui(windDirection[0])} ${t_ui(\"עד\")} ${t_ui(windDirection[1])}`\n        }\n        return t_ui(windDirection[0])\n    }\n\n    let cities = citiesList && citiesList.map((city: City) => {\n        if (city && city.name && (chosenCities as any).includes(city.name) && city.wavesHeight) {\n\n            return (\n                <div key={city.name}>\n                    {window.isMobile1 ? null : <ReactTooltip place={\"top\"} type=\"light\" effect=\"solid\">\n                        <div className=\"tool-tip-container\">\n                            <div className=\"tool-tip-item\">\n                                <div className=\"tool-tip-info\">טמפרטורת פני הים:</div>\n                                <div className=\"tool-tip-value\">{isSubZero(city.seaTemperature) + \"C\"}</div>\n                            </div>\n                            <div className=\"tool-tip-item\">\n                                <div className=\"tool-tip-info\">כיוון הרוח:</div>\n                                <div className=\"tool-tip-value\">{getDirectionalWindTranslate(city.windDirection)}</div>\n                            </div>\n                            <div className=\"tool-tip-item\">\n                                <div className=\"tool-tip-info\">מהירות הרוח:</div>\n                                <div className=\"tool-tip-value\">{city.windSpeed + ' קמ\"ש'}</div>\n                            </div>\n                            <div className=\"tool-tip-item\">\n                                <div className=\"tool-tip-info\">גובה הגלים:</div>\n                                <div className=\"tool-tip-value\">{city.wavesHeight + ` ס\"מ`}</div>\n                            </div>\n                            <div className=\"tool-tip-item\">\n                                <div className=\"tool-tip-info\">מצב הים:</div>\n                                <div className=\"tool-tip-value\">{t_sea(city.seaStateCode)}</div>\n                            </div>\n                        </div>\n                    </ReactTooltip>\n                    }\n                    <div\n                        className={`city-item ${city.name.toLowerCase().replace(/ /g, \"-\")}`}\n                        style={city.name === \"Ashdod\" ? { right: \"67%\" } : {}}\n                        data-tip={\"React-tooltip\"}\n                    >\n                        <div>\n                            <img src={!!isNewLayout ? newIcon : oldIcon} className=\"wave-height-img\" />\n                        </div>\n                        <div className=\"info-title\">\n                            <span className=\"temp-info\">{`${city.wavesHeight} `}</span><span className=\"preci-text\">ס\"מ</span>\n                            <br />\n                            <span className=\"city-title\">{city.nameHeb}</span>\n                        </div>\n                    </div>\n                </div>\n            )\n        }\n        return null\n    })\n\n    return (\n        <div className=\"weather-extended-map-module\" role=\"presentation\">\n            <div className=\"map-container\">\n                {cities}\n            </div>\n        </div>\n    )\n}\n\nexport default WeatherWaveHeightMap","import WeatherTab from \"./WeatherTab\";\nimport WeatherMapTemprMap from \"../WeatherMapExtendedComponents/WeatherTemprMap\"\nimport WeatherPrecipitationMap from \"../WeatherMapExtendedComponents/WeatherPrecipitationMap\";\nimport WeatherHumidityMap from \"../WeatherMapExtendedComponents/WeatherHumidityMap\";\nimport WeatherWaveHeightMap from \"../WeatherMapExtendedComponents/WeatherWaveHeightMap\";\nimport WeatherUvMap from \"../WeatherMapExtendedComponents/WeatherUvMap\";\nimport WeatherAirPollutionMap from \"../WeatherMapExtendedComponents/WeatherAirPollutionMap\"\n\ninterface WeatherTabProps {\n    lang: string\n    citiesList: Array<City>\n    pollutionList: Array<Pollution>\n    isNewLayout: boolean\n}\n\nexport interface Pollution {\n    regionId: number\n    index: number\n}\nexport interface City {\n    name: string\n    nameHeb: string\n    weatherCode: number\n    minimumTemperature: number\n    maximumTemperature: number\n    humidity: number,\n    precipitation: number,\n    windDirection: Array<string>\n    windSpeed?: string\n    seaTemperature?: number\n    wavesHeight?: string\n    seaStateCode: number\n    radiation: string\n    radiationIndex: number\n    url: string\n}\n\nexport interface Tab {\n    name: string,\n}\n\ninterface State {\n    selectedTab: number\n}\n\nexport class WeatherMapExtendedTab extends React.Component<Partial<WeatherTabProps>, State> {\n    static siteScriptName = \"WeatherMapExtendedTab\";\n    constructor(props: WeatherTabProps) {\n        super(props);\n        this.state = {\n            selectedTab: 0\n        }\n    }\n\n    setSelectedTab = (index: number) => {\n        this.setState({ selectedTab: index }, () => {\n            this.analystFunc(this.getMapType())\n        })\n    }\n\n    getComponentByTab = () => {\n        const { citiesList, lang, pollutionList, isNewLayout } = this.props\n        switch (this.state.selectedTab) {\n            case 0:\n                return <WeatherMapTemprMap key={\"0\"} citiesList={citiesList} isNewLayout={isNewLayout} />\n                break;\n            case 1:\n                return <WeatherAirPollutionMap key={\"1\"} pollutionList={pollutionList} isNewLayout={isNewLayout} />\n                break;\n            case 2:\n                return <WeatherPrecipitationMap key={\"2\"} citiesList={citiesList} isNewLayout={isNewLayout} />\n                break;\n            case 3:\n                return <WeatherWaveHeightMap key={\"3\"} citiesList={citiesList} lang={lang} isNewLayout={isNewLayout} />\n                break;\n            case 4:\n                return <WeatherHumidityMap key={\"4\"} citiesList={citiesList} isNewLayout={isNewLayout} />\n                break;\n            case 5:\n                return <WeatherUvMap key={\"4\"} citiesList={citiesList} isNewLayout={isNewLayout} />\n                break;\n            default:\n                return \"1\"\n                break;\n        }\n    }\n\n    getMapType = () => {\n        switch (this.state.selectedTab) {\n            case 0:\n                return \"Weather\"\n                break;\n            case 1:\n                return \"Air pollution\"\n                break;\n            case 2:\n                return \"Precipitation\"\n                break;\n            case 3:\n                return \"Wave height\"\n                break;\n            case 4:\n                return \"Humidity\"\n                break;\n            case 5:\n                return \"UV index Map\"\n                break;\n            default:\n                return \"Weather\"\n                break;\n        }\n    }\n\n    analystFunc = (mapType: string) => {\n        window.dataLayer = window.dataLayer || []\n        window.dataLayer.push({\n            event: 'map_Events',\n            Category: 'Weather',\n            Action: \"Weather Map\",\n            Label: mapType,\n        });\n    }\n\n    public render() {\n        const {isNewLayout} = this.props\n        const tabs: Array<Tab> = [\n            { name: \"מזג אוויר\" },\n            { name: \"זיהום אוויר\" },\n            { name: \"משקעים\" },\n            { name: \"גובה גלים\" },\n            { name: isNewLayout? \"אחוזי לחות\" : \"לחות\" },\n            { name: \"מדד UV\" }\n        ]\n\n        const tabsDisplay = tabs.map((item, index) => {\n            return (\n                <div key={index} onClick={() => this.setSelectedTab(index)}>\n                    <WeatherTab tab={item} isSelected={index === this.state.selectedTab} />\n                </div>\n            )\n        })\n\n        return (\n            <div>\n                <div className=\"tabs-container\">\n                    {tabsDisplay}\n                </div>\n                <div className=\"component-container\">\n                    {this.getComponentByTab()}\n                </div>\n            </div>\n        )\n    }\n}","import { Tab } from \"./WeatherMapExtendedTab\"\n\ninterface WeatherTabProps {\n    tab: Tab\n    isSelected: boolean\n}\n\nconst WeatherTab = (props: WeatherTabProps) => {\n    const { isSelected, tab } = props\n\n    return (\n        <div className={isSelected ? 'tab-item selected' : 'tab-item'}>\n            <div>{tab.name}</div>\n        </div>\n    )\n}\n\nexport default WeatherTab","import * as map from \"lodash/map\"\nimport * as filter from \"lodash/filter\"\nimport { ArticleExtraData } from \"../../../../articlePage/stateInterfaces\"\nimport { ImageDetails } from \"images/interfaces\"\nimport { YPlusLoadMoreList } from \"./yplusLoadMoreList\";\n\n\nrequire('./yplus_site_loadMore.less')\nrequire('./yplus_site_loadMore-mobile.less')\n\nexport interface SiteYPlusLoadMoreData {\n    articleId: string\n    author: string\n    credit: string\n    categoryName: string\n    title: string,\n    subTitle: string,\n    link: string\n    promotionImageDetails: ImageDetails\n    hasVideo: boolean\n    publishedLink: string\n\n}\n\ninterface InfinityHeadlinesViewProps {\n    height: number\n    articles: ArticleExtraData[]\n    isCategoryVisible: boolean\n    loader: boolean\n    ver?: number \n    commercialItemsNum?:number\n    commercialRepetitionsNum?:number\n}\n\n\nexport class YPlusLoadMoreView extends React.Component<InfinityHeadlinesViewProps, {}>  {\n\n    public render() {\n        const { height, articles, isCategoryVisible, ver,     commercialItemsNum, commercialRepetitionsNum} = this.props\n        let itemList: SiteYPlusLoadMoreData[] = [];\n\n        if (Object.keys(articles).length > 0) {\n            itemList = filter(map(articles, (article: ArticleExtraData): SiteYPlusLoadMoreData =>\n                ({\n                    articleId: article.articleId,\n                    author: article.author,\n                    credit: article.promotionImageDetails ? article.promotionImageDetails.credit : null,\n                    categoryName: article.category.textToShow,\n                    title: article.title,\n                    subTitle: article.subTitle,\n                    link: article.publishedLink,\n                    promotionImageDetails: article.promotionImageDetails,\n                    hasVideo: article.hasVideo,\n                    publishedLink: article.publishedLink\n                })\n            ))\n        }\n\n        return (\n            <YPlusLoadMoreList\n                dataLength={articles.length}\n                itemList={itemList}\n                height={height}\n                isCategoryVisible={isCategoryVisible}\n                ver={ver}\n                commercialItemsNum={commercialItemsNum}\n                commercialRepetitionsNum={commercialRepetitionsNum}\n            />\n        )\n    }\n} ","export class Loader extends React.Component<{}, {}> {\n    public render() {\n        return (\n            <div id=\"circularG\">\n                <div id=\"circularG_1\" className=\"circularG\"></div>\n                <div id=\"circularG_2\" className=\"circularG\"></div>\n                <div id=\"circularG_3\" className=\"circularG\"></div>\n                <div id=\"circularG_4\" className=\"circularG\"></div>\n                <div id=\"circularG_5\" className=\"circularG\"></div>\n                <div id=\"circularG_6\" className=\"circularG\"></div>\n                <div id=\"circularG_7\" className=\"circularG\"></div>\n                <div id=\"circularG_8\" className=\"circularG\"></div>\n            </div>\n        )\n    }\n}","import { ArticleExtraData } from \"../../../../articlePage/stateInterfaces\"\nimport { YPlusLoadMoreView } from \"./YplusLoadMoreView\"\nimport * as axios from \"axios\"\nimport { Loader } from \"./loader/loader\"\nimport { addAxiosDateTransformerSettings } from \"../../../../utils/network/axiosDateTransformer\";\n\n//const NUMBER_OF_ITEMS_PER_LOAD = 12\nconst MAX_NUMBER_OF_ITEMS = 240\n\ninterface YplusLoadMoreProps {\n    categoryId: string\n    height?: number\n    componentaId?: string\n    showCategoryLabel?: boolean\n    loadFirstPage?: boolean\n    firstPageArticles?: ArticleExtraData[]\n    ver?: number\n    numberOfItems: number\n    commercialItemsNum?:number\n    commercialRepetitionsNum?:number\n}\n\ninterface YplusLoadMoreState {\n    articles: ArticleExtraData[]\n    pageNumber: number\n    showLoader: boolean\n    showButton: boolean\n}\n\nexport class SiteYplusLoadMoreComponenta extends React.Component<YplusLoadMoreProps, YplusLoadMoreState> {\n    public static siteScriptName = \"SiteYplusLoadMoreComponenta\"\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            articles: [],\n            pageNumber: 0,\n            showLoader: false,\n            showButton: true\n        }\n    }\n\n    componentDidMount() {\n        const { categoryId, loadFirstPage, } = this.props;\n        if (categoryId && loadFirstPage) {\n            this.getArticles(true)\n        }\n    }\n\n    private showHIdeButton = (newArticles: ArticleExtraData[]) => {\n        const { showLoader: loader, articles } = this.state;\n\n        const showButton = !loader &&\n            newArticles &&\n            !(articles.length % this.props.numberOfItems) &&\n            articles.length < MAX_NUMBER_OF_ITEMS;\n\n        this.setState({ showButton })\n    }\n\n    private getArticles = (loadFirstPageOnMount: boolean = false) => {\n        const { componentaId, firstPageArticles } = this.props\n        const { pageNumber, articles } = this.state\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        this.setState({ showLoader: true, showButton: false })\n\n        if (loadFirstPageOnMount) {\n            this.setState(\n                {\n                    articles: firstPageArticles,\n                    pageNumber: pageNumber + 1,\n                    showLoader: false,\n                    showButton: true\n                }\n            );\n        }\n\n\n        axiosInstance.get(`/iphone/json/api/premium_auto_articles/${componentaId}/${pageNumber}`)\n            .then((res: any) => {\n                const newArticles = res.data.data as ArticleExtraData[];\n\n                this.setState(\n                    {\n                        articles: [...articles, ...newArticles],\n                        pageNumber: pageNumber + 1,\n                        showLoader: false,\n                    }\n                );\n                if (typeof (window) !== \"undefined\") {\n                    window.AddBanner && window.AddBanner();\n                }\n                this.showHIdeButton(newArticles)\n            })\n            .catch(err => console.error(\"error geting headline data:\", err))\n    }\n\n    private handleLoadMoreClick = () => {\n        this.getArticles()\n        this.analyticsLoadMorePushFunc()\n    }\n\n    private analyticsLoadMorePushFunc = () => {\n        if (typeof window !== \"undefined\") {\n            window.dataLayer = window.dataLayer || []\n            window.dataLayer.push({\n                event: 'Navigation_Events',\n                Category: 'Ynet+ - Navigation',\n                Action: 'Load More Articles',\n                Label: 'Load More Articles'\n            });\n        }\n    }\n\n    public render() {\n        const { height, showCategoryLabel, ver , commercialRepetitionsNum, commercialItemsNum} = this.props\n        const { articles, showLoader: loader, showButton } = this.state;\n        const verClass = ver && ver > 1 ? \"ver2\" : \"\"\n\n        return (\n            <div className={`YPlusLoadMoreComponenta ${verClass}`}>\n                <YPlusLoadMoreView loader={loader} isCategoryVisible={showCategoryLabel} height={height} articles={articles} ver={ver} commercialRepetitionsNum={commercialRepetitionsNum} commercialItemsNum={commercialItemsNum}/>\n                <div className=\"ButtonAndLoaderContainer\">\n                    {loader && <Loader />}\n                    {showButton && <div className={\"loadMoreArticlesButton\"} onClick={() => this.handleLoadMoreClick()} >טען עוד כתבות</div>}\n                </div>\n            </div >\n        )\n    }\n}","import { SiteYPlusLoadMoreData } from \"./YplusLoadMoreView\"\nimport { calculateAutomaticComponentaUrl } from \"widgets/widgetsUtils\"\nimport * as apiUrls from \"config/apiUrls\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { getImgAlt, isAriaHidden, getImgTitle } from \"../../../widgetsUtils\"\ninterface YPlusLoadMoreItemSlotProps {\n    article: Partial<SiteYPlusLoadMoreData>\n    isCategoryVisible?: boolean\n    ver?: number\n}\n\nexport class YPlusLoadMoreItemSlot extends React.Component<YPlusLoadMoreItemSlotProps, {}>{\n    static defaultProps = { isCategoryVisible: true }\n\n    private getIcon = (hasVideo: boolean) => {\n        if (hasVideo) return \"video\"\n        else return \"none\"\n    }\n    public render() {\n        const { article, isCategoryVisible, ver } = this.props;\n        const { categoryName, title, subTitle, author, credit, promotionImageDetails, articleId } = article\n        const width = ver > 1 ? 292 : 314;\n        const height = ver > 1 ? 164 : 177;\n        return (\n            <a href={calculateAutomaticComponentaUrl(article)} articleid={articleId} className=\"slotView fadeInUp\">\n                <div className=\"mediaArea\">\n                    <div className=\"MediaCarousel\" >\n                        <img src={apiUrls.getImageUrl(promotionImageDetails, { w: width, h: height })} style={{ width: width, height: height }} alt={getImgAlt(promotionImageDetails)} aria-hidden={isAriaHidden(promotionImageDetails)} title={getImgTitle(promotionImageDetails)} />\n                    </div>\n                    {isCategoryVisible && <div className=\"categoryName\">\n                        {categoryName}\n                    </div>}\n                    {ver > 1 && <SlotIconDisplay itemId={article.articleId} icon={\"video\"} iconClassName=\"medium\" isIconVisible={article.hasVideo} />}\n                </div>\n                <div className=\"textDiv slotTextArea\" >\n                    {isCategoryVisible && <div className=\"categoryName\">\n                        {categoryName}\n                    </div>}\n\n                    <div className=\"slotTitle\">\n                        <span>{title}</span>\n                    </div>\n                    <div className=\"slotSubTitle\">\n                        <span>{subTitle}</span>\n                    </div>\n                    {author && author.length > 0 && <div className=\"moreDetails\">\n                        <span>{author} </span>\n                    </div>}\n                </div>\n            </a>\n\n        )\n    }\n}","import { SiteYPlusLoadMoreData } from \"./YplusLoadMoreView\";\nimport { YPlusLoadMoreItemSlot } from \"./yplusLoadMoreItemSlot\";\nimport { TaboolaItemArticleHeadlines } from \"../../ynet1280/articleHeadlinesAutoWidget/components/taboolaItem\"\n\ninterface YPlusLoadMoreListProps {\n    itemList: SiteYPlusLoadMoreData[]\n    height: number\n    dataLength: number\n    isCategoryVisible?: boolean\n    ver?: number\n    commercialRepetitionsNum?:number \n    commercialItemsNum?:number\n}\n\nexport class YPlusLoadMoreList extends React.Component<YPlusLoadMoreListProps, {}>{\n    public render() {\n        const { itemList, commercialRepetitionsNum, commercialItemsNum } = this.props\n        const articles = itemList;\n        const articleLength = articles.length;\n        const isMobile = typeof window !== \"undefined\" && window.isMobile1;\n        let visibleItems = [];\n        if(articleLength>0){\n            const availibaleRepetitions = Math.floor(articleLength/commercialItemsNum);\n            const hasTaboolaItems = commercialRepetitionsNum > 0 && commercialItemsNum > 0 && articleLength > 0;\n            const numberOfTaboolaItems  = availibaleRepetitions < commercialRepetitionsNum ? availibaleRepetitions : commercialRepetitionsNum;\n            for (var i = 0; i < articleLength; i++) {           \n                    visibleItems.push(<YPlusLoadMoreItemSlot\n                        key={i}\n                        article={articles[i]}\n                        {...this.props}\n                    />)\n                }\n            \n            if(hasTaboolaItems && isMobile){\n                for (var i=0; i<numberOfTaboolaItems; i++){\n                   visibleItems.splice(commercialItemsNum*(i+1)+i, 0, <TaboolaItemArticleHeadlines id={\"taboola-mid-category-thumbnails-plus-\"+(i+1)} />) \n                  }\n              }\n            }\n        \n        return (\n            <div className=\"slotList\">\n                {visibleItems}\n            </div>\n        )\n    }\n}","require(\"./yplus_site_subChannelHeader-mobile.less\")\nimport * as classNames from \"classnames\"\nimport * as map from \"lodash/map\"\nimport { LinkTargetProperties } from \"../../../../global/components/linkSettings/interfaces\";\nimport { HyperLinkBuilder, SimpleLinkRenderer } from \"../../../commonComponents/inline/hyperLink\"\nimport { YnetPremiumLoginMobile } from \"../../article/componentas/premium/componentas/ynetPremiumLogin/ynetPremiumLoginMobile\";\nimport { getQueryStringValue } from \"../../../widgetsUtils\";\nimport { YplusSearchInput } from \"./searchInput\";\nimport { YnetPlusUserMenuItems, YnetPianoLogin } from \"../../ynetSearch/components/ynetPianoLogin/ynetPianoLogin\";\ndeclare var $: JQueryStatic\n\nexport interface yPlusHeaderMenuItem {\n    title: string\n    link: string\n    linkTarget: LinkTargetProperties\n    catId: string\n}\n\ninterface yPlusHeaderMenuProps {\n    items: yPlusHeaderMenuItem[]\n    categoryId: string\n    id?: string\n    isMenuVisible: boolean\n    siteId?: string\n    isInline?: boolean\n    isHeaderForAppUnvisible?: boolean\n    seachPageLink: string\n    isUserLogged?: boolean\n    mainLogoLink: string\n    parentSiteLink: string\n    ynetPlusMenuItems?:YnetPlusUserMenuItems[]\n}\ninterface yplusheaderMenuState {\n    isOpened: boolean\n}\nexport class YplusSubChannelMenuMobile extends React.Component<yPlusHeaderMenuProps, yplusheaderMenuState>{\n    constructor(props) {\n        super(props)\n        this.state = {\n            isOpened: null\n        }\n    }\n\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n\n\n    private analyticsMenuPushFunc = () => {\n        const { isOpened } = this.state\n        if (typeof window !== \"undefined\") {\n            window.dataLayer = window.dataLayer || []\n            const menuStatus = isOpened ? 'Close' : 'Open';\n            window.dataLayer.push({\n                event: 'Navigation_Events',\n                Category: 'Ynet+ - Navigation',\n                Action: `Side Menu - ${menuStatus}`\n            });\n        }\n    }\n\n    private openMenu = () => {\n        document.body.style.top = `-${window.scrollY}px`;\n        document.body.style.position = \"fixed\";\n        this.setState({ isOpened: true })\n        this.analyticsMenuPushFunc()\n\n    }\n    private closeMenu = () => {\n        const scrollY = document.body.style.top;\n        document.body.style.position = '';\n        document.body.style.top = '';\n        window.scrollTo(0, parseInt(scrollY || '0') * -1);\n        this.setState({ isOpened: false })\n        this.analyticsMenuPushFunc()\n    }\n   \n    render() {\n        const { items, categoryId, isMenuVisible, siteId, isHeaderForAppUnvisible,\n            seachPageLink, isUserLogged, mainLogoLink, parentSiteLink,ynetPlusMenuItems } = this.props\n        const { isOpened } = this.state\n        let logoImageUrl;\n        logoImageUrl = siteId === \"pplus\" ? \"/Common/images/pplus-logo.png\" : \"/Common/images/y-logo.png\"\n        let menuClassName = classNames(\"MobileMenu\", { \"opened\": isOpened === true, \"closed\": isOpened === false })\n        const isPianoLogin = typeof window !== \"undefined\" && window.YitPaywall && window.YitPaywall.isPianoLogin;\n        const isPianoUserValid =  typeof window != \"undefined\" && window.tp && window.tp.pianoId &&  window.tp.pianoId.isUserValid();\n        const isUserAuthenticated = isPianoLogin? isPianoUserValid : isUserLogged;\n\n        if (isHeaderForAppUnvisible) return null\n        else return (\n            <div className=\"YplusMobileHeaderContainer\" style={{ direction: \"rtl\" }}>\n\n                <div className={menuClassName} id=\"menu\"  >\n                    <div className=\"menuContent\">\n                        <div className=\"menuHeader\">\n                            <SimpleLinkRenderer className=\"midLogo withBgLogo\" href={mainLogoLink} />\n                            <div className=\"headerButtonsWrapper\">\n                                <button id=\"INDmenu-btn3\" className=\"headerAccessibiltyBtn\"\n                                    accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" onClick={this.clickAcessibilityBtn}>\n                                </button>\n                                <button className=\"hamMenuClsBtn\" onClick={this.closeMenu} />\n                            </div>\n                        </div>\n           \n                        {isPianoLogin? <YnetPianoLogin ynetPlusMenuItems={ynetPlusMenuItems} isPremiumHeaderArticle={true} /> : <YnetPremiumLoginMobile />}\n\n                        {seachPageLink !== undefined && (isUserAuthenticated || (typeof window !==\"undefined\" && window.AWS_PLUS_SEARCH_URL)) && <YplusSearchInput\n                            className=\"mobileInput\"\n                            seachPageLink={seachPageLink}\n                            isInputOpened={true}\n\n\n                        />}\n                        <ul className=\"YplusNavList\" >\n                            {map(items, (item, i) => {\n                                return (\n                                    <li key={i} className={classNames(\"menuItem\", { \"selected\": item.catId === categoryId })}>\n                                        <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} >\n                                            <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                        </HyperLinkBuilder>\n                                    </li>\n                                )\n                            }\n                            )}\n                        </ul>\n                        <div className=\"contactLink\" >\n                            <div className=\"contact-row\">\n                                <a href=\"https://www.ynet.co.il/plus/contact\" target=\"_blank\" id=\"contactUs\"> שירות לקוחות </a>\n                            </div>\n                            <div className=\"mini-contact-link\" style={{ position: \"relative\" }}>\n                                <a href=\"//z.ynet.co.il/short/content/2018/privacypolicy/policy.html\" target=\"_blank\" id=\"privay\">\n                                    {` מדיניות פרטיות | `}\n                                </a>\n                                <a href=\"//www.ynet.co.il/article/hklworybp\" target=\"_blank\" id=\"term\">\n                                    {` תנאי שימוש | `}\n                                </a>\n                                <a href=\"https://www.ynet.co.il/plus/contact\" target=\"_blank\" id=\"contact\">\n                                {` צור קשר ` }\n                            </a>\n                            </div>\n                        </div>\n                        <SimpleLinkRenderer className=\"mainSiteLogo\" href={parentSiteLink} >\n                            <img src={logoImageUrl} />\n                            <span>    ראשי</span>\n                        </SimpleLinkRenderer>\n                    </div>\n                    <div className=\"closeDivArea\" onClick={this.closeMenu} />\n                </div>\n                <nav role=\"navigation\" className=\"YplusMobileHeader\">\n                    {isMenuVisible ? <div id=\"menuToggle\">\n                        <button className=\"yplusHamBtn\" onClick={this.openMenu} />\n\n\n                    </div>\n                        :\n                        <SimpleLinkRenderer className=\"leftSideHeader\" href={parentSiteLink} >\n                            <img src={logoImageUrl} />\n                            <span>    ראשי</span>\n                        </SimpleLinkRenderer>}\n                    <SimpleLinkRenderer className=\"midLogo withBgLogo\" href={mainLogoLink} />\n\n                    <div className=\"menuWrapper\">\n                        <SimpleLinkRenderer href=\"javascript:history.back()\"><div className=\"arrowBack\" /></SimpleLinkRenderer>\n                    </div>\n                </nav>\n\n            </div>\n        )\n    }\n}\ninterface yPlusHeaderMenuState {\n\n    isUserLogged: boolean\n}\n\nexport class YplusSubChannelMenuMobileSite extends React.Component<yPlusHeaderMenuProps, yPlusHeaderMenuState>{\n    public static siteScriptName = \"YplusSubChannelMenuMobileSite\";\n    constructor(props) {\n        super(props as yPlusHeaderMenuProps);\n        this.state = {\n            isUserLogged: false\n        }\n    }\n    componentDidMount() {\n        if (window && window.YitPaywall && window.YitPaywall.user) {\n            this.setState({ isUserLogged: true })\n        }\n    }\n\n    public render() {\n        const { items, categoryId, isMenuVisible, seachPageLink, mainLogoLink, parentSiteLink, ynetPlusMenuItems } = this.props\n        const { isUserLogged } = this.state\n        let isHeaderForAppUnvisible = false;\n        if (typeof window !== \"undefined\" && getQueryStringValue(\"IsApp\")) {\n            isHeaderForAppUnvisible = true\n        }\n\n        return (\n            <YplusSubChannelMenuMobile\n                items={items} categoryId={categoryId}\n                isMenuVisible={isMenuVisible}\n                isInline={false}\n                isHeaderForAppUnvisible={isHeaderForAppUnvisible}\n                seachPageLink={seachPageLink}\n                isUserLogged={isUserLogged}\n                parentSiteLink={parentSiteLink}\n                mainLogoLink={mainLogoLink}\n                ynetPlusMenuItems={ynetPlusMenuItems}\n            />\n        )\n    }\n}","\ninterface yplusSearchProps {\n    className: string\n    seachPageLink?: string\n    onFocusOutSearch?: () => void\n    isInputOpened: boolean\n    showInput?: () => void\n    placeholder?: string\n}\ninterface SearInputState {\n    searchValue: string\n}\nexport class YplusSearchInput extends React.Component<yplusSearchProps, SearInputState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            searchValue: \"\"\n        }\n    }\n    private searchInput;\n    private handleSearchValueChanged = (e: React.FormEvent) => {\n        const searchValue = (e.target as HTMLInputElement).value;\n        this.setState({ searchValue })\n    }\n    private handleEnter = (e) => {\n        const { seachPageLink } = this.props\n        var keycode = (e.keyCode ? e.keyCode : e.which);\n        if (keycode == '13' && seachPageLink.length > 0 && this.state.searchValue.length > 0) {\n            window.location.href = `${seachPageLink}?q=${this.state.searchValue}`\n        }\n    }\n    private onShowInput = () => {\n        this.props.showInput()\n        if (this.searchInput) {\n            this.searchInput.focus();\n        }\n\n    }\n\n    public render() {\n        const { className,\n            seachPageLink, onFocusOutSearch, isInputOpened, placeholder } = this.props\n        const { searchValue } = this.state\n        const inputClassName = isInputOpened ? \"opened\" : \"closed\"\n        return (\n            <div className={`searchDiv ${className}`}>\n                <input\n                    ref={(input) => this.searchInput = input}\n                    value={searchValue}\n                    className={`searchInput ${inputClassName}`}\n                    onChange={this.handleSearchValueChanged}\n                    onKeyPress={(e) => this.handleEnter(e)}\n                    placeholder={placeholder ? placeholder : \"חפש בכתבות +ynet\"}\n                    onBlur={onFocusOutSearch} />\n                {isInputOpened && searchValue.length > 0 && seachPageLink.length > 0 ?\n                    <a href={`${seachPageLink}?q=${searchValue}`} className=\"searchButton\" alt=\"חיפוש\" title=\"חיפוש\" />\n\n                    :\n                    <button\n                        className=\"searchButton\"\n                        onClick={this.onShowInput} />\n\n                }\n            </div>\n\n        )\n    }\n}","require(\"../../ynetPlusHeader/components/yplus_site_menu.less\")\nimport * as classNames from \"classnames\"\nimport * as map from \"lodash/map\"\nimport { LinkTargetProperties } from \"../../../../global/components/linkSettings/interfaces\";\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\"\nimport { PremiumHeader } from \"../../article/componentas/premium/componentas/premiumHeader/premiumHeader\";\nimport { YplusSearchInput } from \"./searchInput\";\nimport { YnetPlusUserMenuItems } from \"../../ynetSearch/components/ynetPianoLogin/ynetPianoLogin\";\nconst clickOutside = require('react-click-outside');\n\nexport interface yPlusHeaderMenuItem {\n    title: string\n    link: string\n    linkTarget: LinkTargetProperties\n    catId: string\n}\n\ninterface yPlusHeaderMenuProps {\n    items: yPlusHeaderMenuItem[]\n    categoryId: string\n    id?: string\n    isMenuVisible: boolean\n    siteId?: string\n    isInline?: boolean\n    seachPageLink: string\n    mainLogoLink: string\n    parentSiteLink: string\n    ynetPlusMenuItems?:YnetPlusUserMenuItems[]\n}\n\n\n\ninterface yPlusHeaderMenuState {\n    isMenuOpened: boolean\n    isInputOpened: boolean\n    isUserLogged: boolean\n}\n@clickOutside\nexport class YplusSubChannelMenu extends React.Component<yPlusHeaderMenuProps, yPlusHeaderMenuState>{\n    constructor(props) {\n        super(props as yPlusHeaderMenuProps);\n        this.state = {\n            isMenuOpened: false,\n            isInputOpened: false,\n            isUserLogged: false\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(\"scroll\", this.onScrollCallback)\n        if (window && window.YitPaywall && window.YitPaywall.user) {\n            this.setState({ isUserLogged: true })\n        }\n    }\n\n\n    componentWillUnmount() {\n        document.removeEventListener(\"scroll\", this.onScrollCallback)\n    }\n\n\n    private toggleMenu = () => {\n        this.setState({ isMenuOpened: !this.state.isMenuOpened })\n    }\n    private showInput = () => {\n        this.setState({ isInputOpened: true })\n    }\n    private hideInput = () => {\n        this.setState({ isInputOpened: false })\n    }\n    private handleClickOutside = () => {\n        this.setState({ isMenuOpened: false })\n    }\n    private onScrollCallback = (e) => {\n        this.setState({ isMenuOpened: false })\n    }\n    render() {\n        const { items, categoryId, id, isMenuVisible, isInline, seachPageLink, mainLogoLink, parentSiteLink, ynetPlusMenuItems } = this.props\n        const { isInputOpened, isUserLogged } = this.state\n        let firstList: yPlusHeaderMenuItem[];\n        let secondList: yPlusHeaderMenuItem[];\n        if (items.length > 6) {\n            firstList = items.slice(0, 6)\n            secondList = items.slice(6, items.length)\n        }\n        else firstList = items\n        const isMenuHidden = !this.state.isMenuOpened ? \"hidden\" : \"\"\n        const isStycky = isInline ? \"inEditNotSticky\" : \"\"\n        return (\n            <div className=\"YplusMenu subChannelPageMenu\" >\n                <div className={`yPlusStyckyHeader stickyAllTime ${isStycky}`} >\n                    <PremiumHeader  className=\"yPlusPageHeader\" isArticlePage={false} isStyckyBar={true}\n                        mainLogoLink={mainLogoLink}\n                        parentSiteLink={parentSiteLink}\n                        ynetPlusMenuItems={ynetPlusMenuItems}>\n\n                        {isMenuVisible &&\n                            <div className=\"YplusNavigationList\">\n                                <ul>\n                                    {map(firstList, (item, i) => {\n                                        return (\n                                            <li key={i} className={classNames(\"menuItem\", { \"selected\": item.catId === categoryId })}>\n                                                <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} >\n                                                    <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                                </HyperLinkBuilder>\n                                            </li>\n                                        )\n                                    }\n                                    )}\n                                    {items.length > 6 && <li className=\"menuItem secondLevelH\"><span onClick={this.toggleMenu}>עוד\n                        </span>\n                                        <span className=\"menuTogglerWrapper\" onClick={this.toggleMenu}>\n                                            <span className=\"menuToggler\"></span>\n                                        </span>\n                                        <ul className={`secondLevelMenu ${isMenuHidden}`}>\n                                            {map(secondList, (item, i) => {\n                                                return (\n                                                    <li key={i} className={classNames(\"menuItem\", { \"selected\": item.catId === categoryId })}>\n                                                        <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} >\n                                                            <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                                        </HyperLinkBuilder>\n                                                    </li>\n                                                )\n                                            }\n                                            )}\n                                        </ul>\n                                    </li>\n                                    }\n                                </ul>       {seachPageLink !== undefined && (isUserLogged || (typeof window !==\"undefined\" && window.AWS_PLUS_SEARCH_URL)) && <YplusSearchInput\n                                    className=\"mobileInput\"\n                                    seachPageLink={seachPageLink}\n                                    isInputOpened={isInputOpened}\n                                    showInput={this.showInput}\n                                    onFocusOutSearch={this.hideInput}\n\n                                />}</div>}\n\n                    </PremiumHeader>\n                </div>\n\n            </div>\n        )\n    }\n}\n\nexport class SiteYplusSubChannelMenu extends React.Component<yPlusHeaderMenuProps, {}>{\n    public static siteScriptName = \"SiteYplusSubChannelMenu\";\n    render() {\n        const { items, categoryId, id, isMenuVisible } = this.props\n\n        return (\n            <YplusSubChannelMenu {...this.props} isInline={false} />\n        )\n\n    }\n}","import { SimpleLinkRenderer } from \"../../../commonComponents/inline/hyperLink\";\nimport { MessageToAuthor } from \"./messageToAuthorBox\";\nimport { getTalkbackNumberView, toggleSpotImPopUp } from \"../../article/componentas/articleSocialShare1280Component/articleSocialShareNew1280\";\nimport { removeHtmlTagsFromString } from \"../../../jsonSerializer/common/jsonHelperUtils\";\nimport { getTranslation } from \"../../article/componentas/articleComments/translations\";\n\n\ninterface SiteArticleContactProps {\n    articleId: string\n    categorySubChannel: number\n    isCommertialArticle: boolean\n    showComments: boolean\n    version: number\n    isSpotim?: boolean\n    linkText: string\n    linkUrl: string\n    siteLayoutType: string\n    lang?:string\n}\n\ninterface SiteArticleContactState {\n    isMessageWindowOpened: boolean\n    wcmNumOfComments:string\n}\n\ndeclare let window: Window & {\n    languageCode: string\n}\n\nexport class AppArticleContact extends React.Component<SiteArticleContactProps, SiteArticleContactState>{\n    static siteScriptName = \"AppArticleContact\"\n    public ON_WCM_COMMENTS_RECIVED = \"onWcmCommetnsRecived\";\n    constructor(props) {\n        super(props)\n        this.state = {\n            isMessageWindowOpened: false,\n            wcmNumOfComments:''\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(this.ON_WCM_COMMENTS_RECIVED, this.handleOnWcmCommentsRecived);\n      }\n      componentWillUnmount(): void {\n        document.removeEventListener(this.ON_WCM_COMMENTS_RECIVED, this.handleOnWcmCommentsRecived);\n      }\n      private handleOnWcmCommentsRecived = (e) => {\n        this.setState({ wcmNumOfComments: e.detail.wcmNumOfComments });\n      };\n\n\n    private openContactPopup = () => {\n        this.setState({\n            isMessageWindowOpened: true\n        })\n    }\n    private closeContactPopup = () => {\n        this.setState({\n            isMessageWindowOpened: false\n        })\n    }\n\n    private handleCommentsPopupVisability = () => {\n        if (typeof window !== \"undefined\") {\n            window.handleCommentsPopupVisability && window.handleCommentsPopupVisability();\n        }\n    }\n\n    private onCommentBtnClick = () => {\n        const { isSpotim, siteLayoutType } = this.props\n        const newCommentBtn = document.querySelector('[class*=\"newCommentBtn\"]') as HTMLElement;\n      //  document.querySelector(\".newCommentBtn-pf\")\n        if (newCommentBtn) {\n            newCommentBtn.click();\n        }\n        const elementToScroll = document.querySelector('#SiteArticleComments')\n\n        if (elementToScroll) {\n        setTimeout(() => {\n            elementToScroll.scrollIntoView({\n                behavior: 'smooth',\n                block: 'center'\n            });\n        }, 0)\n        }\n        if (isSpotim ) {\n            const commentsPopUp = document.querySelector('.spotimWrapper');  \n            if (commentsPopUp && siteLayoutType!==\"mobileApp\") {\n                    toggleSpotImPopUp(commentsPopUp)\n                }\n        }\n    }\n    private onGotoSpotimComments = () => {\n        const {  siteLayoutType } = this.props\n            const commentsPopUp = document.querySelector('.spotimWrapper');\n                if (commentsPopUp) {\n                    toggleSpotImPopUp(commentsPopUp)         \n            }\n    }\n    private getLinkText = () => {\n        const { isSpotim, siteLayoutType } = this.props\n        const {wcmNumOfComments} = this.state;\n        const commentNumber = getTalkbackNumberView(wcmNumOfComments ? wcmNumOfComments.toString() : \"\")\n        let txtFirst = \"היו הראשונים להגיב\";\n        let toThisArticle = \"לכתבה זו \";\n        let comments = \" תגובות\";\n        const language = (typeof window !== \"undefined\" &&  window.languageCode)  || \"\";\n        let lang;\n        if (language.includes(\"ru\")){\n            lang = \"ru\";\n        }\n        else if(language.includes(\"en\")){\n            lang = \"en\";  \n        }\n        if(lang===\"en\"){\n            txtFirst = \"Be the first to comment\" ;\n            toThisArticle = \"\";\n            comments=\" Comments\";\n\n        }\n      else  if(lang===\"ru\"){\n            txtFirst = \"Ваш комментарий – первый\" ;\n            toThisArticle = \"\";\n            comments=\"Комментарии: \";\n\n        }\n        const firstCommentTxt = <div className=\"commentInfoText-pf\">{txtFirst}</div>\n        const commentExistTxt = <div className=\"commentInfoText-pf\"> <a className=\"toAllComments-pf\" href=\"go_to_all_comments\">{lang===\"ru\" ? `${comments} ${commentNumber}` : `${commentNumber} ${comments}`} </a></div>;\n        const cmntExistTxtInMobileWeb = <div className=\"commentInfoText-pf\">  <a className=\"toAllComments-pf\" onClick={this.handleCommentsPopupVisability}>{lang===\"ru\" ? `${comments} ${commentNumber}` : `${commentNumber} ${comments}`} </a></div>;\n        const spotimElement = siteLayoutType===\"mobileApp\" ? <a id=\"bottomSpotimCounter\" href=\"spotComments\" /> : <a id=\"bottomSpotimCounterMobileWeb\" onClick={this.onGotoSpotimComments} />\n        if (isSpotim) {\n            return spotimElement\n        }\n        else {\n            if (commentNumber.length) {\n                if (siteLayoutType == \"mobileApp\") {\n                return commentExistTxt\n                }\n                else return cmntExistTxtInMobileWeb;\n            }\n            return firstCommentTxt\n        }\n    }\n\n    private getUrlLink = () => {\n        const { articleId, linkUrl } = this.props\n        return linkUrl && linkUrl.replace('{article_id}', articleId)\n    }\n\n    render() {\n        const { categorySubChannel, articleId, isCommertialArticle, showComments, version, linkText, linkUrl, siteLayoutType, isSpotim } = this.props\n        const { isMessageWindowOpened } = this.state\n        const language = (typeof window !== \"undefined\" &&  window.languageCode)  || \"\";\n        let lang;\n        if (language.includes(\"ru\")){\n            lang = \"ru\";\n        }\n        else if(language.includes(\"ru\")){\n            lang = \"en\";  \n        }\n        const visibleInApp = siteLayoutType === \"mobileApp\" && version > 2; \n        let addCommentTxt = \"הוספת תגובה\";\n        let contactUsTxt = \" מצאתם טעות בכתבה? כתבו לנו על זה\";\n        if(lang===\"en\"){\n            addCommentTxt = \"Add a comment\";\n            contactUsTxt  = \"Contact us\";\n        }\n\n        else if(lang===\"ru\"){\n            addCommentTxt = \"Обсудить\";\n            contactUsTxt  = \"Связь с редакцией\";\n        }\n\n        const urlLink = this.getUrlLink()\n        return (\n            <div className=\"SiteArticleContact\">\n                <div className=\"foundMistake-pf\">\n                    <SimpleLinkRenderer\n                        href={urlLink ? urlLink : WCM_FEATURES_FLAGS.ENABLE_NEW_RED_MAIL ? \"//ynet.co.il/redmail?notifyMistake=\" + articleId : \"//redmail.ynet.co.il/?notifyMistake=1\"}\n                        target=\"_blank\"\n                        className=\"mistakeText\">\n                        {linkText ? removeHtmlTagsFromString(linkText) : contactUsTxt}\n\n                    </SimpleLinkRenderer>\n                </div>\n                {(subChannelIdsToAccept as any).includes(categorySubChannel) && !isCommertialArticle && (visibleInApp || siteLayoutType === \"mobileWeb\") ?\n                    <div className=\"contactAuthor\" id=\"contactAuthor\">\n                        <span className=\"contactWrapper\" id=\"contactWrapper\" onClick={() => this.openContactPopup()}>{`פנייה לכתב/ת`}</span>\n                        {isMessageWindowOpened && <MessageToAuthor onClose={this.closeContactPopup} articleId={articleId} isApp={true} />}\n                    </div>\n                    : <div />}\n                {showComments && (visibleInApp || siteLayoutType === \"mobileWeb\") && <div className=\"commentInfoBox-pf\">\n                    {this.getLinkText()}\n                    <div>\n                   { siteLayoutType === \"mobileApp\" && isSpotim  ?  <a href=\"spotComments\" className=\"addNewComment-pf\" title={addCommentTxt}>\n                            <span>{addCommentTxt}</span>\n                        </a>  : <button onClick={this.onCommentBtnClick} className=\"addNewComment-pf\" title={addCommentTxt}>\n                            <span>{addCommentTxt}</span>\n                        </button>}\n                    </div>\n                </div>\n                }\n            </div>\n        )\n    }\n}\n\nconst subChannelIdsToAccept = [8, 2, 6, 437, 3, 538, 1208, 544, 2142, 6377, 550, 598, 975, 194, 1069, 813, 5, 3262, 4872, 3052, 3925, 4403,\n    1361, 4002, 3456, 3630, 5419, 5420, 5423, 5421, 5425, 5422, 5427, 5426, 5428, 5424, 5429, 2, 6, 3, 538, 544, 1208, 5363, 11679,\n    8315, 598, 550, 975, 3925, 3052, 4403, 4880, 2142, 3262, 194, 8841, 11691, 13317]","require(\"./ynet_pplus_site_messageToAuthor.less\")\nimport * as axios from \"axios\"\nimport * as classNames from \"classnames\"\nconst clickOutside = require('react-click-outside');\ndeclare var grecaptcha: any\ndeclare var window: any\n\ninterface MessageToAuthorProps {\n    articleId: string\n    onClose: () => void\n    isApp?: boolean\n}\ninterface MessageToAuthorState {\n    phone: string\n    email: string\n    name: string\n    content: string\n    isError: boolean\n    isSend: boolean\n}\ninterface itemToSend {\n    articleId: string\n    phone: string\n    email: string\n    name: string\n    content: string\n}\n\n@clickOutside\nexport class MessageToAuthor extends React.Component<MessageToAuthorProps, MessageToAuthorState>{\n    constructor(props) {\n        super(props)\n        this.state = {\n            phone: \"\",\n            email: \"\",\n            name: \"\",\n            content: \"\",\n            isError: false,\n            isSend: false\n        }\n    }\n    private handleClickOutside = () => {\n        this.props.onClose()\n    }\n    private finalClassnames = (classname) => {\n        const name = this.props.isApp ? classname + \"-pf\" : classname\n        return name\n    }\n    private onHandleSend = () => {\n        const { articleId } = this.props\n        const { phone, email, name, content } = this.state\n        const isTest = window.location.search.includes(\"is_test=1\");\n        if (content.length > 0) {\n            let postData = {\n                articleId: articleId,\n                name: name,\n                phone: phone,\n                email: email,\n                content: content\n            }\n\n            if (window.wcmCaptchaSiteKey && grecaptcha) {\n                grecaptcha.ready(() => {\n                    grecaptcha.execute(window.wcmCaptchaSiteKey, { action: 'submit' }).then(token => {\n                        postData = { ...postData, token: token }\n                    })\n                });\n            }\n            setTimeout(() => {\n                axios.post(`/api/contact_author${isTest ? \"?is_test=1\" : \"/\"}`, postData)\n                this.setState({ isSend: true })\n            }, 3000);\n\n        }\n        else {\n            this.setState({ isError: true })\n        }\n    }\n\n    render() {\n        const { phone, email, name, content, isError, isSend } = this.state\n        const { onClose, isApp } = this.props\n        if (isSend) return (\n            <div className={this.finalClassnames(\"MessageToAuthor\")}>\n                <div>\n                    <div className={this.finalClassnames(\"successMsg\")}>ההודעה נשלחה בהצלחה!</div>\n                    <div className={this.finalClassnames(\"infoArea\")}>\n                        <button className={this.finalClassnames(\"closeWindow\")} onClick={onClose} >{isApp ? \"סגירה\" : \"\"}</button>\n                    </div>\n                </div>\n            </div>\n        )\n        else return (\n            <div className={this.finalClassnames(\"MessageToAuthor\")}>\n                <div className=\"content-pf\">\n                    {isApp && <div className=\"msgTitle-pf\">תוכן הפנייה</div>}\n                    <textarea value={content} className={classNames(this.finalClassnames(\"input\"), { \"error\": isError })} placeholder={isApp ? \"נשמח לשמוע ממך\" : \"מה רצית לכתוב?\"} onChange={(e) => this.setState({ content: (e.target as HTMLInputElement).value, isError: false })} />\n                    <div className={this.finalClassnames(\"infoArea\")}>\n                        <button className={this.finalClassnames(\"closeWindow\")} onClick={onClose} >{isApp ? \"סגירה\" : \"\"}</button>\n                        <div className={this.finalClassnames(\"title\")}>פרטים אישיים</div>\n                        <input className={this.finalClassnames(\"input\")} value={name} placeholder=\"שם\" onChange={(e) => this.setState({ name: (e.target as HTMLInputElement).value })} />\n                        <input className={this.finalClassnames(\"input\")} value={phone} placeholder=\"טלפון\" onChange={(e) => this.setState({ phone: (e.target as HTMLInputElement).value })} />\n                        <input className={this.finalClassnames(\"input\")} value={email} placeholder=\"דוא''ל\" onChange={(e) => this.setState({ email: (e.target as HTMLInputElement).value })} />\n                        <button className={this.finalClassnames(\"sendToAuthor\")} onClick={this.onHandleSend} >לשליחה</button>\n                </div>\n                </div>\n            </div>\n        )\n    }\n}\n","import { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport { SimpleLinkRenderer } from \"../../../commonComponents/inline/hyperLink\";\nimport { MessageToAuthor } from \"./messageToAuthorBox\";\nimport { getTalkbackNumberView, toggleSpotImPopUp } from \"../../article/componentas/articleSocialShare1280Component/articleSocialShareNew1280\";\nimport { disablePageRefresh, enablePageRefresh } from \"../../../siteWidgets/siteWidgetUtils\";\nimport { removeHtmlTagsFromString } from \"../../../jsonSerializer/common/jsonHelperUtils\";\n\n\ninterface SiteArticleContactProps {\n    articleId: string\n    categorySubChannel: number\n    isCommertialArticle: boolean\n    showComments: boolean\n    isSpotim?: boolean\n    linkText: string\n    linkUrl: string\n    lang?:string\n}\n\ninterface SiteArticleContactState {\n    isMessageWindowOpened: boolean\n    wcmNumOfComments:string\n}\n\ndeclare let window: Window & {\n    languageCode: string\n}\n\nexport class SiteArticleContact extends React.Component<SiteArticleContactProps, SiteArticleContactState>{\n    static siteScriptName = \"SiteArticleContact\";\n    public ON_WCM_COMMENTS_RECIVED = \"onWcmCommetnsRecived\";\n    constructor(props) {\n        super(props)\n        this.state = {\n            isMessageWindowOpened: false,\n            wcmNumOfComments:''\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(this.ON_WCM_COMMENTS_RECIVED, this.handleOnWcmCommentsRecived);\n      }\n    componentWillUnmount(): void {\n        document.removeEventListener(this.ON_WCM_COMMENTS_RECIVED, this.handleOnWcmCommentsRecived);\n      }\n      private handleOnWcmCommentsRecived = (e) => {\n        this.setState({ wcmNumOfComments: e.detail.wcmNumOfComments });\n      };\n\n    private openContactPopup = () => {\n        this.setState({\n            isMessageWindowOpened: true\n        })\n    }\n    private closeContactPopup = () => {\n        this.setState({\n            isMessageWindowOpened: false\n        })\n    }\n    private onCommentBtnClick = () => {\n        const newCommentBtn = document.querySelector(\".newCommentBtn\") as HTMLElement;\n        const elementToScroll = document.querySelector('#SiteArticleComments');\n        const popupComment = document.querySelector('.spotimWrapper');\n        if (newCommentBtn) {\n            newCommentBtn.click();\n        }\n\n        if (elementToScroll) {\n            setTimeout(() => {\n                elementToScroll.scrollIntoView({\n                    behavior: 'smooth',\n                    block: 'center'\n                });\n            }, 0)\n        }\n        if (popupComment) {\n            toggleSpotImPopUp(popupComment)\n        }\n\n    }\n\n\n    private goToComments = () => {\n        const elementToScroll = document.querySelector('#SiteArticleComments')\n        const popupComment = document.querySelector('.spotimWrapper')\n        if (elementToScroll) {\n            setTimeout(() => {\n                elementToScroll.scrollIntoView({\n                    behavior: 'smooth',\n                    block: 'center'\n                });\n            }, 0)\n        }\n        if (popupComment) {\n            toggleSpotImPopUp(popupComment);\n        }\n    }\n\n    private getUrlLink = () => {\n        const { articleId, linkUrl } = this.props\n        return linkUrl && linkUrl.replace('{article_id}', articleId)\n    }\n\n    render() {\n        const { categorySubChannel, articleId, isCommertialArticle, showComments, isSpotim, linkText } = this.props\n        const { isMessageWindowOpened,wcmNumOfComments} = this.state\n        const commentNumber = getTalkbackNumberView(wcmNumOfComments ? wcmNumOfComments.toString() : \"\")\n        const language = (typeof window !== \"undefined\" &&  window.languageCode)  ||  \"\";\n        let lang;\n        if (language.includes(\"ru\")){\n            lang = \"ru\";\n        }\n        else if(language.includes(\"en\")){\n            lang = \"en\";  \n        } \n        let firstCommentTxt = \"לכתבה זו לא התפרסמו תגובות, היו הראשונים להגיב\"\n        let toThisArticle = \"\";\n        let comments = \" תגובות\";\n        let readAllComments = \"לקריאת כל התגובות\";\n        let addCommentTxt = \"הוספת תגובה\";\n        \n        let contactUsTxt = \" מצאתם טעות בכתבה? כתבו לנו על זה\";\n        if(lang===\"en\"){\n            firstCommentTxt = \"Be the first to comment\" ;\n            toThisArticle = \"\";\n            comments=\" Comments\";\n            readAllComments=\"Read all comments\";\n            addCommentTxt = \"Add a comment\";\n            contactUsTxt  = \"Contact us\";\n        }\n        else if(lang===\"ru\"){\n            firstCommentTxt = \"Ваш комментарий – первый\" ;\n            toThisArticle = \"\";\n            comments=\"Комментарии:\";\n            readAllComments=\"Все комментарии\";\n            addCommentTxt = \"Обсудить\";\n            contactUsTxt  = \"Связь с редакцией\"; \n        }\n      const infoTExtByLang = lang===\"en\" ? `${comments} ${commentNumber} ` : `${commentNumber}  ${comments}`;\n        const infoText = commentNumber.length > 0 ? infoTExtByLang : firstCommentTxt;\n        const urlLink = this.getUrlLink()\n        return (\n            <div className=\"SiteArticleContact\">\n                {(subChannelIdsToAccept as any).includes(categorySubChannel) && !isCommertialArticle ?\n                    <div className=\"contactAuthor\" id=\"contactAuthor\">\n                        <span className=\"contactWrapper\" id=\"contactWrapper\" onClick={() => this.openContactPopup()}>{`פנייה לכתב/ת`}</span>\n                        {isMessageWindowOpened && <MessageToAuthor onClose={this.closeContactPopup} articleId={articleId} />}\n                    </div>\n                    : <div />}\n\n\n                <div className=\"foundMistake\">\n                    <SimpleLinkRenderer\n                        href={urlLink ? urlLink : WCM_FEATURES_FLAGS.ENABLE_NEW_RED_MAIL ? \"//ynet.co.il/redmail?notifyMistake=\" + articleId : \"//redmail.ynet.co.il/?notifyMistake=1\"}\n                        target=\"_blank\"\n                        className=\"mistakeText\">\n                        {linkText ? removeHtmlTagsFromString(linkText) : contactUsTxt}\n                    </SimpleLinkRenderer>\n                </div>\n                {showComments && <div className=\"commentInfoBox\">\n                <div className={commentNumber.length > 0 ? \"toAllComments hasComment\" : \"toAllComments\"} onClick={this.goToComments} id=\"bottomSpotimCommentsExist\"> {commentNumber.length > 0 && !isSpotim && readAllComments}</div>\n                    <div>\n                    {isSpotim ? <div id=\"bottomSpotimCounter\" /> : <div className=\"commentInfoText\">{infoText}</div>}\n                       \n                        <button onClick={this.onCommentBtnClick} className=\"addNewComment\" title={addCommentTxt}>\n                            <span className=\"shareIcon1280\" />\n                            <span>{addCommentTxt}</span>\n                        </button>\n                    </div>\n                </div>\n                }\n\n            </div>\n        )\n    }\n}\n\nconst subChannelIdsToAccept = [8, 2, 6, 437, 3, 538, 1208, 544, 2142, 6377, 550, 598, 975, 194, 1069, 813, 5, 3262, 4872, 3052, 3925, 4403,\n    1361, 4002, 3456, 3630, 5419, 5420, 5423, 5421, 5425, 5422, 5427, 5426, 5428, 5424, 5429, 2, 6, 3, 538,  544, 1208, 5363, 11679,\n    8315, 598, 550, 975, 3925, 3052, 4403, 4880, 2142, 3262, 194, 8841, 11691]\n\n","\ninterface TaboolaItemArticleHeadlinesProps {\n  id:string\n}\n\nexport class TaboolaItemArticleHeadlines extends React.Component<TaboolaItemArticleHeadlinesProps, {}> {\n\n   \n    public render() {\n        const { id } = this.props\n\n\n        return   <div className={`slotView taboolaItemArticleHeadlines`} id={id}/>\n                                      \n    }\n}","import * as filter from \"lodash/filter\";\n\nexport const autoTickerRowTranslations =\n{\n    \"he\": {\n        \"Now\": \"עכשיו\",\n        \"ExtendedView\": \"תצוגה מורחבת\",\n        \"StandardView\": \"תצוגה רגילה\",\n        \"ShareByMail\": \"שיתוף במייל\",\n        \"ShareByTwitter\": \"שיתוף בטוויטר\",\n        \"ShareByFacebook\": \"שיתוף בפייסבוק\",\n        \"ShareByWhatsApp\": \"שיתוף בואטסאפ\",\n    },\n    \"en\": {\n        \"Now\": \"now\",\n        \"ExtendedView\": \"Extended view\",\n        \"StandardView\": \"Standard view\",\n        \"ShareByMail\": \"Share by Mail\",\n        \"ShareByTwitter\": \"Share by Twitter\",\n        \"ShareByFacebook\": \"Share by Facebook\",\n        \"ShareByWhatsApp\": \"Share by WhatsApp\",\n    },\n    \"ru\": {\n        \"Now\": \"в настоящее время\",\n        \"ExtendedView\": \"Расширенный вид\",\n        \"StandardView\": \"Стандартный вид\",\n        \"ShareByMail\": \"Поделиться по почте\",\n        \"ShareByTwitter\": \"Поделиться в Твиттере\",\n        \"ShareByFacebook\": \"Поделиться через Facebook\",\n        \"ShareByWhatsApp\": \"Поделиться по WhatsApp\",\n    },\n}\n\n\nexport const getTranslation = (lang, text: string) => {\n    var obj = filter(autoTickerRowTranslations, function (v, k) {\n        return k === lang;\n    });\n    var content = filter(obj[0], function (v, k) {\n        return k === text;\n    })\n    return content[0]\n\n}","import * as classNames from \"classnames\"\nimport { isWcmEditor } from \"config/serverConfig\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { DateType } from \"../../../ticker/windows/dateSelector\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { FlashLinkType } from \"../../../ticker/windows/flashLinkSelector\"\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\"\nimport { AccordionSocialsShareComponenta } from \"../../../../siteWidgets/accordion/accordionSocialsShareComponenta\"\nimport { getTranslation } from \"../autoTickerRowTranslations\"\n\ninterface TickerItemSlotProps {\n    titleColor: string\n    subTitleColor: string\n    articlePublishDate: Date\n    articleUpdateDate: Date\n    title: string\n    flashDate: Date\n    flashDateType: DateType\n    linkTarget: LinkTargetProperties\n    link: string\n    flashId: string\n    flashLinkType: FlashLinkType\n    articleId?: string\n    isAuto?: boolean\n    flashText: string\n    tabHref: string\n    isFirstItem: boolean\n    hasArticleLink: boolean\n    publishedLink: string\n    onHoverIn: () => void\n    onHoverOut: () => void\n    author?: string\n}\n\ndeclare let window: Window & {\n    languageCode: string\n}\nexport class RowTickerItemSlot extends React.Component<TickerItemSlotProps>{\n    private secondsDiff = (d1, d2) => {\n        let secDiff = Math.floor((d1 - d2) / 1000);\n        let minutesDiff = Math.floor(secDiff / 60);\n        return minutesDiff;\n    }\n    public render() {\n        const { title, author, flashDate, link, flashText, linkTarget, articleId, tabHref, isFirstItem, onHoverIn, onHoverOut, hasArticleLink, publishedLink } = this.props\n        const href = hasArticleLink ? publishedLink : `${tabHref}#${articleId}`;\n        let lastPublished = this.secondsDiff(Date.now(), flashDate.getTime());\n        const lang = window && window.languageCode.slice(0, 2) ? window.languageCode.slice(0, 2) : \"he\";\n        const showTooltip = flashText.length > 0 && !hasArticleLink;\n        const isAuthor = author && author.length > 0;\n        return (\n            <div className={classNames(\n                \"slotView\",\n                {\n                    \"inEditMode\": isWcmEditor(),\n                    \"emptySlot\": title.length === 0,\n                    \"now\": lastPublished < 3 && isFirstItem,\n                    \"firstItem\": isFirstItem\n                }\n            )}\n                onMouseEnter={onHoverIn}\n                onMouseLeave={onHoverOut}\n            >\n                <div className={classNames(\"slotTitle\", { \"withWidth\": title.length === 0 })}>\n                    <span>\n                        {(lastPublished < 3 && isFirstItem) ? getTranslation(lang, \"Now\") : <DateDisplay date={flashDate} />}\n                    </span>\n                </div>\n                <div className=\"moreDetails\" >\n                    <HyperLinkBuilder href={href}\n                        linkTarget={linkTarget}\n                        children={title} >\n                        <div dangerouslySetInnerHTML={{ __html: title }} />\n                    </HyperLinkBuilder>\n                </div>\n                {showTooltip && <div className=\"tooltip\">\n                    <div className=\"text\">\n                        {flashText}\n                        {isAuthor && <br />}\n                        {isAuthor && `(${author})`}\n                    </div>\n                    <AccordionSocialsShareComponenta shareUrl={this.props.link} title={this.props.title} articleId={this.props.articleId} />\n                </div>}\n            </div>\n        )\n    }\n}","import { SiteTickerData } from \"../../../ticker/components/tickerComponenta\";\nimport { RowTickerItemSlot } from \"./rowTickerItemSlot\"\nimport * as map from \"lodash/map\"\nimport Slider from \"react-slick\"\nimport { isWcmEditor } from \"config/serverConfig\"\nimport * as classNames from \"classnames\"\n\n\ninterface RowTickerListProps {\n    siteFlashList: Partial<SiteTickerData>[]\n    titleColor: string\n    subTitleColor: string\n    isAuto: boolean\n    tabHref: string\n    seconds: number\n    firstArticleId: string\n    isLTR: boolean\n    hasArticleLink: boolean\n}\n\ninterface ComponentState {\n    isHovered: boolean\n}\n\n\nexport class RowTickerList extends React.Component<RowTickerListProps, ComponentState>{\n    constructor(props) {\n        super(props)\n        this.state = {\n            isHovered: false\n        }\n    }\n\n\n\n    private handleItemHoverIn = () => {\n        this.setState({ isHovered: true })\n    }\n\n    private handleItemHoverOut = () => {\n        this.setState({ isHovered: false })\n    }\n\n    public render() {\n        let { siteFlashList, titleColor, subTitleColor, isAuto, tabHref, seconds, firstArticleId, isLTR, hasArticleLink } = this.props\n\n        const initialSlide = 0// 9 - siteFlashList.length;\n\n        let wrappedImageClassNames = isWcmEditor() ? \"animationDiv isEditor\" : \"animationDiv tickerAnimation\";\n\n        let settings = {\n            draggable: false,\n            infinite: true,\n            dots: false,\n            slidesToShow: 5,\n            slidesToScroll: 1,\n            autoplay: true,\n            autoplaySpeed: seconds * 1000,\n            pauseOnHover: true,\n            arrows: false,\n            rtl: !isLTR,\n            centerMode: false,\n            initialSlide: initialSlide\n        }\n\n        if (!siteFlashList || siteFlashList.length == 0) {\n            return null\n        }\n\n        return (\n            <div className={classNames(\"slotListRow\", { \"hovered\": this.state.isHovered })}  >\n                <Slider {...settings} className={wrappedImageClassNames}>\n                    {map(siteFlashList, (flashItem, i) => <RowTickerItemSlot\n                        articlePublishDate={flashItem.articlePublishDate}\n                        articleUpdateDate={flashItem.articleUpdateDate}\n                        title={flashItem.title}\n                        author={flashItem.author}\n                        flashDate={flashItem.flashDate}\n                        flashDateType={flashItem.flashDateType}\n                        linkTarget={flashItem.linkTarget}\n                        link={flashItem.link}\n                        key={i}\n                        titleColor={titleColor}\n                        subTitleColor={subTitleColor}\n                        flashId={flashItem.slotId}\n                        flashLinkType={flashItem.flashLinkType}\n                        isAuto={isAuto}\n                        articleId={flashItem.articleId}\n                        flashText={flashItem.flashText}\n                        publishedLink={flashItem.publishedLink}\n                        tabHref={tabHref}\n                        isFirstItem={firstArticleId === flashItem.articleId}\n                        onHoverIn={this.handleItemHoverIn}\n                        onHoverOut={this.handleItemHoverOut}\n                        hasArticleLink={hasArticleLink}\n                    />)}\n                </Slider>\n            </div>\n        )\n    }\n}","\n\nimport * as axios from \"axios\"\nimport { addAxiosDateTransformerSettings } from \"../../../../../utils/network/axiosDateTransformer\"\nimport { TickerViewData } from \"../../../tickerAuto/interfaces\"\nimport { TickerAutoRowView } from \"./tickerAutoRowView\"\nimport { TickerAutoRowViewMobileWeb } from \"./tickerAutoRowViewMobileWeb\"\n\ninterface SiteTickerAutoRowComponentaProps {\n    data: TickerViewData\n    height: number\n    componentaId: string\n    isMobileWeb: boolean\n    isEnglish: boolean\n    languageCode: string\n    hasArticleLink: boolean\n}\n\ninterface SiteTickerAutoRowComponentaState {\n    articles: any\n}\n\nconst MINUTES_TO_SHOW_NEW_FLASH_ALERT = 5\n\nexport class SiteTickerAutoRowComponenta extends React.Component<SiteTickerAutoRowComponentaProps, SiteTickerAutoRowComponentaState>{\n    public static siteScriptName = \"SiteTickerAutoRowComponenta\"\n\n    static defaultProps = { isWar: false }\n    constructor(props) {\n        super(props)\n        this.state = {\n            articles: []\n        }\n    }\n\n    componentWillReceiveProps(newProps) {\n        if (this.props.data !== newProps.data) {\n            this.setArticles(newProps.data)\n        }\n    }\n\n    componentDidMount() {\n        const { data } = this.props;\n        if (data.category.link.id) {\n            this.setArticles(data)\n            setInterval(() => {\n                this.setArticles(data)\n            }, 60000);\n        }\n    }\n\n    private setArticles(data) {\n        const { componentaId } = this.props\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        axiosInstance.get(`/iphone/json/api/auto_ticker/${componentaId}`)\n            .then((res: any) => {\n                const articles = res.data.data;\n                if (articles && articles[0] && document.getElementById('flashBell')) {\n                    const articleDate = articles[0].dateUpdatedOnSite;\n                    if (new Date().getTime() - articleDate < MINUTES_TO_SHOW_NEW_FLASH_ALERT * 60 * 1000) {\n                        document.getElementById('flashBell').classList.add(\"newFlash\");\n                    } else {\n                        document.getElementById('flashBell').classList.remove(\"newFlash\");\n                    }\n                }\n                this.setState({ articles });\n            })\n            .catch(err => console.error(\"error geting ticker data:\", err))\n    }\n\n    render() {\n        const { data, height, isMobileWeb, isEnglish, languageCode, hasArticleLink } = this.props\n        const { articles } = this.state\n        return (\n            <div>\n                {isMobileWeb ?\n                    <TickerAutoRowViewMobileWeb data={data} height={height} articles={articles} isMobileWeb={isMobileWeb} isEnglish={isEnglish} languageCode={languageCode} hasArticleLink={hasArticleLink}/> :\n                    <TickerAutoRowView data={data} height={height} articles={articles} isEnglish={isEnglish} hasArticleLink={hasArticleLink}/>\n                }\n            </div>\n        )\n    }\n}","require(\"./ynet_site_tickerAutoRowView.less\")\nrequire(\"./ynetnews_vesty_site_tickerAutoRowView.less\")\nimport * as map from \"lodash/map\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { TickerViewData } from \"../../../tickerAuto/interfaces\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { SiteTickerData } from \"../../../ticker/components/tickerComponenta\"\nimport { RowTickerList } from \"./rowTickerList\"\n\ninterface TickerAutoRowViewProps {\n    data: TickerViewData\n    articles: Array<any>\n    isEnglish: boolean\n    hasArticleLink: boolean\n}\n\nexport class TickerAutoRowView extends React.Component<TickerAutoRowViewProps, {}>  {\n\n    public render() {\n        const { data, articles, isEnglish, hasArticleLink } = this.props\n        const targetTitleLink: LinkTargetProperties = {\n            linkOpenType: \"same\",\n            lightBoxBgColor: \"\",\n            lightBoxHeight: null,\n            lightBoxOpacity: null,\n            lightBoxWidth: 0\n        }\n        let itemList = [];\n        const shiftValue = 9 - articles.length;\n        const arrayFixFunction = articles.length > 5 ? rotate : reverse;\n        \n        if (Object.keys(articles).length > 0) {\n            itemList = map(articles, (article: any, index) => {\n                return {\n                    articlePublishDate: article.launchDate,\n                    articleUpdateDate: article.dateUpdatedOnSite,\n                    slotId: article.articleId,\n                    title: article.title,\n                    flashText: article.plainText,\n                    flashDate: article.dateUpdatedOnSite,\n                    flashDateType: \"update\",\n                    link: article.publishedLink,\n                    linkTarget: targetTitleLink,\n                    flashLinkType: \"flash\",\n                    itemImg: article.promotionImageDetails,\n                    articleId: article.articleId,\n                    author: article.author,\n                    publishedLink: article.publishedLink,\n                } as SiteTickerData\n            })\n\n            !isEnglish ? itemList = arrayFixFunction(itemList, shiftValue) : itemList \n        }\n\n        return (\n            <div className={`TickerComponenta1280 ${isEnglish ? \"ltr\" : \"\"}`}>\n                <div className=\"slotsContent\">\n                    <RowTickerList \n                        siteFlashList={itemList}\n                        titleColor={data.titleColor}\n                        subTitleColor={data.subTitleColor} \n                        isAuto={true}\n                        isLTR={isEnglish}\n                        tabHref={data.tabHref}\n                        seconds={data.seconds || 4}\n                        firstArticleId={articles && articles.length > 0 ? articles[0].articleId : \"\"}\n                        hasArticleLink={hasArticleLink}\n                    />\n                </div>\n                <div className=\"moreTickersLink\">\n                    <HyperLinkBuilder href={data.tabHref} linkTarget={data.tabTitleLinkTarget}>\n                        {data.tabTitleText}\n                    </HyperLinkBuilder>\n                </div>\n            </div>\n        )\n    }\n}\n\nfunction rotate(arr: Array<any>, moveBy: number) {\n    const dest = [];\n    let current = moveBy <= 0 ? Math.abs(moveBy) : arr.length - moveBy;\n    for (let index = 0; index < arr.length; index++) {\n        dest[current] = arr[index];\n        current++;\n        if (current === arr.length) current = 0;\n    }\n    return dest;\n}\n\nfunction reverse(src: Array<any>) {\n    const dest = [];\n    for (let index = src.length - 1; index >= 0; index--) {\n        dest.push(src[index]);\n    }\n    return dest;\n}","require(\"./m_ynet_tickerAutoRowView.less\")\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { TickerViewData } from \"../../../tickerAuto/interfaces\"\nimport { Accordion } from \"../../../../siteWidgets/accordion/accordion\";\n\ninterface TickerAutoRowViewProps {\n    data: TickerViewData\n    articles: Array<any>\n    isMobileWeb?: boolean\n    isEnglish: boolean\n    languageCode:string\n    hasArticleLink: boolean\n}\n\nexport class TickerAutoRowViewMobileWeb extends React.Component<TickerAutoRowViewProps, {}>  {\n\n    public render() {\n        const { data, articles, isMobileWeb, isEnglish, languageCode, hasArticleLink } = this.props\n\n        let visibleItems = [];\n\n        if (articles.length > 0) {\n            for (var i = 0; i < 3; i++) {\n                if (typeof articles[i] !== 'undefined') {\n                    const item = {\n                        articleId: articles[i].articleId,\n                        date: articles[i].dateUpdatedOnSite,\n                        text: articles[i].plainText,\n                        title: articles[i].title,\n                        shareUrl: articles[i].publishedLink,\n                        author:articles[i].author,\n                    }\n                    visibleItems.push(item)\n                }\n            }\n        }\n\n        return (\n            <div className={`TickerComponentaMobileWeb ${isEnglish ? \"ltr\" : \"\"}`}>\n                <div className=\"mobileHeader\" style={{ backgroundColor: data.tabBackgroundColor }}>\n                {isEnglish  ? data.tabTitleText : \"מבזקים\"}\n                </div>\n\n                <div className=\"slotsContent\">\n                    <Accordion items={visibleItems} isMobileWeb={isMobileWeb} languageCode={languageCode} hasArticleLink={hasArticleLink}/>\n                </div>\n\n                <HyperLinkBuilder href={data.tabHref} linkTarget={data.tabTitleLinkTarget}>\n                    <div className=\"moreTickersLink\">\n                        {data.tabTitleText}\n                    </div>\n                </HyperLinkBuilder>\n            </div>\n        )\n    }\n}","import { SiteItemData } from \"../../../../interfaces\";\nimport { isWcmEditor } from \"config/serverConfig\";\nimport { DynamicVideoGalleryVerticalDesktop } from \"./dynamicVideoGalleryVerticalDesktop\";\n\nexport interface categoryObj {\n    id: string\n    categoryColor: string\n    name: string\n}\n\ninterface VideoGalleryVerticalComponentaProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    category: categoryObj\n    domain: string\n    componentLayoutWidth: number\n    channelIconUrl: string\n    tabBackgroundColor: string\n    tabColor: string\n}\n\n\nexport class DynamicVideoGalleryVerticalComponenta extends React.Component<VideoGalleryVerticalComponentaProps, {}>{\n    public static siteScriptName = \"DynamicVideoGalleryVerticalComponenta\";\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, repeatAds, maxAds, firstAdPlace, category, domain, componentLayoutWidth, channelIconUrl, tabBackgroundColor, tabColor } = this.props;\n        const componentClass = `dynamicVideoGalleryVerticalComponenta ${isWcmEditor() ? \"editMode\" : \"\"}`;\n        return (\n            <div className={componentClass}>\n                <DynamicVideoGalleryVerticalDesktop\n                    videoList={videoList}\n                    isTabVisible={isTabVisible}\n                    tabTitleText={tabTitleText}\n                    repeatAds={repeatAds}\n                    maxAds={maxAds}\n                    firstAdPlace={firstAdPlace}\n                    category={category}\n                    domain={domain}\n                    componentLayoutWidth={componentLayoutWidth}\n                    channelIconUrl={channelIconUrl}\n                    tabBackgroundColor={tabBackgroundColor}\n                    tabColor={tabColor}/>\n            </div>\n        )\n\n    }\n}\n","import Slider from \"react-slick\"\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { PromoCarousel } from \"../../videoGalleryVerticalWidget/components/promoCarousel\";\nimport { disablePageRefresh, enablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport { categoryObj } from \"./dynamicVideoGalleryVerticalComponenta\";\nimport { DynamicVideoGalleryVerticalItem } from \"./dynamicVideoGalleryVerticalItem\";\nimport { DynamicVideoVerticalFeedItem } from \"./dynamicVideoVerticalFeedItem\";\nimport { SiteSimpleImage } from \"../../../../commonComponents/inline/siteSimpleImage\";\n\ninterface VideoGalleryVerticalDesktopProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    category: categoryObj\n    domain: string\n    componentLayoutWidth: number\n    channelIconUrl: string\n    tabBackgroundColor: string\n    tabColor: string\n}\n\ninterface VideoGalleryVerticalDesktopState {\n    feedActiveSlide: number\n    isFeedDisplay: boolean\n    initialFeedSlide: number\n    togglePromoActive: boolean\n    currentPromoIndex: number\n}\n\nexport class DynamicVideoGalleryVerticalDesktop extends React.Component<VideoGalleryVerticalDesktopProps, VideoGalleryVerticalDesktopState> {\n    constructor(props) {\n        super(props);\n        this.state = {\n            feedActiveSlide: 0,\n            isFeedDisplay: false,\n            initialFeedSlide: 0,\n            togglePromoActive: false,\n            currentPromoIndex: 0\n        };\n        this.handleKeyPress = this.handleKeyPress.bind(this);\n    }\n\n    private slider;\n\n    componentDidMount() {\n        document.addEventListener('keydown', this.handleKeyPress);\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener('keydown', this.handleKeyPress);\n    }\n\n\n    private onOpenVideoGalleryView = (originalVideoListIndex: number) => {\n        const { videoList } = this.props;\n        const initialFeedSlide = this.getListWithAds().findIndex((element) => element.itemId === videoList[originalVideoListIndex].itemId);\n        this.setState({ initialFeedSlide: initialFeedSlide, feedActiveSlide: initialFeedSlide }, () => { this.setState({ isFeedDisplay: true }) });\n        disablePageRefresh();\n    }\n\n    private onCloseVideoGalleryView = () => {\n        this.setState({ isFeedDisplay: false });\n        enablePageRefresh();\n    }\n\n    private onPromoMouseHover = (currentPromoIndex: number) => {\n        this.setState({ currentPromoIndex: currentPromoIndex });\n    }\n\n    private handleKeyPress(e) {\n        if (e.keyCode === 27) {\n            this.onCloseVideoGalleryView();\n        }\n    }\n\n    private onNextSlide = () => {\n        this.slider.slickPrev();\n        this.pushGA4Event(\"swipe_left\", true);\n    }\n\n    private pushGA4Event = (action: string, isFeedDisplay: boolean) => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { category } = this.props;\n        const actionPrefix = category && category.name ? (category.name === \"דף הבית\") ? \"homepage\" : category.name : \"homepage\";\n        const gaAction = isFeedDisplay ? `video_${action}` : `${actionPrefix}_${action}`;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            vertical_video_action: gaAction,\n        });\n    };\n\n\n    private getListWithAds = () => {\n        const { repeatAds, maxAds, firstAdPlace, videoList } = this.props;\n        const videoListCopy = [...videoList];\n        const videoListLength = videoListCopy.length;\n        let numberOfAds = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        const newListLength = videoListLength + numberOfAds;\n        const baseId = \"ads.vertical.native.\";\n        let newList = [];\n        let adCount = 1;\n\n        if (maxAds === 0) return videoListCopy;\n\n        for (let i = 0; i < newListLength; i++) {\n            if (i < firstAdPlace) {\n                newList.push(videoListCopy.shift());\n            } else if (i === firstAdPlace && numberOfAds > 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else if (numberOfAds > 0 && (i - firstAdPlace) % (repeatAds + 1) === 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else {\n                newList.push(videoListCopy.shift());\n            }\n        }\n\n        return newList;\n    }\n\n    private onFeedArrowClick = () => {\n        const activeVideoElement = document.querySelector(\".dynamicVideoGalleryVerticalComponenta .feedDisplay .slick-active .videoVerticalFeedItem #player .fp-engine\") as HTMLVideoElement;\n        if (activeVideoElement) activeVideoElement.pause();\n    }\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, domain, componentLayoutWidth, channelIconUrl, tabBackgroundColor, tabColor } = this.props;\n        const { isFeedDisplay, initialFeedSlide, feedActiveSlide, togglePromoActive, currentPromoIndex } = this.state;\n\n        const feedDisplaySettings = {\n            infinite: false,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            initialSlide: initialFeedSlide,\n            draggable: false,\n            rtl: true,\n            beforeChange: (current, next) => {\n                this.setState({ feedActiveSlide: Math.abs(next - this.getListWithAds().length + 1) });\n                this.onFeedArrowClick();\n            },\n            nextArrow: <SampleNextArrow feedActiveSlide={feedActiveSlide} listLength={this.getListWithAds().length} pushGA4Event={this.pushGA4Event} onClick={this.onFeedArrowClick} />,\n            prevArrow: <SamplePrevArrow feedActiveSlide={feedActiveSlide} listLength={this.getListWithAds().length} pushGA4Event={this.pushGA4Event} />,\n        };\n\n        return (\n            <div className=\"videoGalleryVerticalDesktopWrapper\">\n                {isTabVisible &&\n                    <div className=\"videoGalleryVerticalTab componentaTab\" style={{background: tabBackgroundColor, color: tabColor}}>\n                        {channelIconUrl && <SiteSimpleImage src={channelIconUrl} width=\"auto\" height={15} className=\"tabIcon\"/>}\n                        <span>{tabTitleText}</span>\n                    </div>}\n                {isFeedDisplay && <div className=\"closeBtn\" onClick={this.onCloseVideoGalleryView}></div>}\n                <PromoCarousel\n                    imageWidth={243}\n                    width={componentLayoutWidth + 2}\n                    itemListLength={videoList.length}\n                    marginRight={20}\n                    togglePromoActive={togglePromoActive}\n                    currentPromoIndex={currentPromoIndex}\n                    videoList={videoList}\n                    pushGA4Event={this.pushGA4Event}\n                >\n                    {videoList.map((videoItem, index) => {\n                        return (\n                            <DynamicVideoGalleryVerticalItem\n                                videoItem={videoItem}\n                                onOpenVideoGalleryView={this.onOpenVideoGalleryView}\n                                videoIndex={index}\n                                key={videoItem.itemId}\n                                onPromoMouseHover={this.onPromoMouseHover}\n                            />\n                        )\n                    })}\n                </PromoCarousel >\n                {isFeedDisplay &&\n                    <div className=\"feedDisplay\">\n                        <Slider {...feedDisplaySettings} className=\"slider\" ref={slider => (this.slider = slider)} >\n                            {this.getListWithAds().map((videoItem, index) => {\n                                if ((typeof videoItem) === 'string') {\n                                    return (<div key={index} id={videoItem} className=\"ads_vertical_video\"></div>)\n                                } else {\n                                    return (\n                                        <DynamicVideoVerticalFeedItem\n                                            videoItem={videoItem}\n                                            key={videoItem.itemId}\n                                            feedActiveSlide={feedActiveSlide}\n                                            onNextSlide={this.onNextSlide}\n                                            onCloseVideoGalleryView={this.onCloseVideoGalleryView}\n                                            domain={domain}\n                                            index={index} />\n                                    )\n                                }\n                            })}\n                        </Slider>\n                    </div>\n                }\n            </div>\n        )\n    }\n}\n\nconst SampleNextArrow = (props) => {\n    const { onClick, feedActiveSlide, pushGA4Event } = props;\n    const shouldDisplayArrow = feedActiveSlide !== 0;\n    const handleClick = () => {\n        onClick();\n        pushGA4Event(\"swipe_right\", true);\n    }\n\n    return (\n        <button\n            className={`slickArrow slickNext ${shouldDisplayArrow ? \"\" : \"slickDisabled\"}`}\n            onClick={handleClick}\n        ></button>\n    );\n}\n\nconst SamplePrevArrow = (props) => {\n    const { onClick, feedActiveSlide, listLength, pushGA4Event } = props;\n    const shouldDisplayArrow = (feedActiveSlide + 1) !== listLength;\n    const handleClick = () => {\n        onClick();\n        pushGA4Event(\"swipe_left\", true);\n    }\n    return (\n        <button\n            className={`slickArrow slickPrev ${shouldDisplayArrow ? \"\" : \"slickDisabled\"}`}\n            onClick={handleClick}\n        ></button>\n    );\n}","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\n\ninterface VideoGalleryVerticalItemProps {\n    videoItem: SiteItemData\n    videoIndex: number\n    onOpenVideoGalleryView: (e) => void\n    onPromoMouseHover: (currentPromoIndex: number) => void\n}\n\ninterface VideoGalleryVerticalItemState {\n    isMouseHover: boolean\n}\n\nexport class DynamicVideoGalleryVerticalItem extends React.Component<VideoGalleryVerticalItemProps, VideoGalleryVerticalItemState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isMouseHover: false,\n        }\n    }\n\n    private videoRef;\n\n    private onMouseHover = () => {\n        const { videoIndex, onPromoMouseHover } = this.props;\n        this.setState({ isMouseHover: true });\n        onPromoMouseHover(videoIndex);\n        if (this.videoRef) this.videoRef.play();\n\n    }\n\n    private onMouseLeave = () => {\n        this.setState({ isMouseHover: false });\n        if (this.videoRef) this.videoRef.pause();\n    }\n\n    private secondsToMinutesHandler = (seconds: number) => {\n        const minutes = Math.floor(seconds / 60).toString().padStart(2, \"0\");\n        const newSeconds = (seconds % 60).toString().padStart(2, \"0\");\n        return `${minutes}:${newSeconds}`;\n    }\n\n    public render() {\n        const { isMouseHover } = this.state;\n        const { videoItem, onOpenVideoGalleryView, videoIndex } = this.props;\n        const { media, title } = videoItem;\n        const { duration, poster, promoPath } = media as SiteVideoData;\n        const shouldDisplayPromo = isMouseHover && promoPath;\n        const slotClasses = `slotView ${shouldDisplayPromo ? \"hovered\" : \"\"}`;\n\n        return (\n            <div className={slotClasses} onMouseEnter={this.onMouseHover} onMouseLeave={this.onMouseLeave} onClick={() => onOpenVideoGalleryView(videoIndex)}>\n                {isMouseHover ?\n                    <video\n                        autoPlay={true}\n                        loop={true}\n                        ref={ref => this.videoRef = ref}\n                        muted\n                        poster={poster}\n                        className=\"promoVideo\" src={promoPath}>\n                    </video>\n                    :\n                    <img\n                        src={poster}\n                        alt=\"\" />\n                }\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className=\"videoDuration\"><span className=\"durationLogo\"></span> <span>{this.secondsToMinutesHandler(Math.round(duration))}</span></div>\n                </div>\n            </div>\n        )\n    }\n}\n","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\n\ninterface VideoGalleryVerticalItemMutamProps {\n    videoItem: SiteItemData\n    videoIndex: number\n    lastIntersectedPromoIndex: number\n    onOpenVideoGalleryView: (e) => void\n    onVideoEnded: () => void\n    getItemIntoViewIndex: (itemIntoViewIndex: number) => void\n    onLastIntersectingPromoCHange: (lastPromoIndex: number) => void\n    pushGA4Event: (action: string, isFeedDisplay: boolean) => void\n}\n\ninterface VideoGalleryVerticalItemMutamState {\n    isItemIntoView: boolean\n}\n\nexport class DynamicVideoGalleryVerticalItemMutam extends React.Component<VideoGalleryVerticalItemMutamProps, VideoGalleryVerticalItemMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isItemIntoView: false,\n        }\n    }\n\n    private videoRef;\n    private slotRef;\n    private intersectionObserver: IntersectionObserver;\n\n    componentDidMount() {\n        this.initObserver();\n    }\n\n    componentWillUnmount() {\n        this.intersectionObserver && this.intersectionObserver.disconnect();\n    }\n\n    private onVideoIntersectViewport = () => {\n        const { getItemIntoViewIndex, videoIndex, onLastIntersectingPromoCHange } = this.props;\n        this.setState({ isItemIntoView: true });\n        onLastIntersectingPromoCHange(videoIndex)\n        getItemIntoViewIndex(videoIndex)\n        if (this.videoRef) this.videoRef.play();\n    }\n\n    private onVideoLeaveViewport = () => {\n        this.setState({ isItemIntoView: false });\n        if (this.videoRef) this.videoRef.pause();\n    }\n\n    private secondsToMinutesHandler = (seconds: number) => {\n        const minutes = Math.floor(seconds / 60).toString().padStart(2, \"0\");\n        const newSeconds = (seconds % 60).toString().padStart(2, \"0\");\n        return `${minutes}:${newSeconds}`;\n    }\n\n    private initObserver = () => {\n        this.intersectionObserver = new IntersectionObserver(entry => {\n            entry[0].isIntersecting ? this.onVideoIntersectViewport() : this.onVideoLeaveViewport();\n        }, { threshold: 0.8 })\n        this.intersectionObserver.observe(this.slotRef);\n    }\n\n    public render() {\n        const { isItemIntoView } = this.state;\n        const { videoItem, onOpenVideoGalleryView, videoIndex, onVideoEnded } = this.props;\n        const { media, title } = videoItem;\n        const { duration, poster, promoPath } = media as SiteVideoData;\n        const shouldDisplayPromo = isItemIntoView && promoPath;\n        const slotClasses = `slotView ${shouldDisplayPromo ? \"active\" : \"\"}`;\n\n        return (\n            <div\n                className={slotClasses}\n                onClick={() => onOpenVideoGalleryView(videoIndex)}\n                ref={ref => this.slotRef = ref}\n            >\n                {shouldDisplayPromo ?\n                    <video\n                        autoPlay={true}\n                        loop={false}\n                        ref={ref => this.videoRef = ref}\n                        muted\n                        poster={poster}\n                        onEnded={onVideoEnded}\n                        className=\"promoVideo\" src={promoPath}\n                        playsInline\n                        webkit-playsInline>\n                    </video>\n                    :\n                    <img\n                        src={poster}\n                        alt=\"\" />\n                }\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className=\"videoDuration\"><span className=\"durationLogo\"></span> <span>{this.secondsToMinutesHandler(Math.round(duration))}</span></div>\n                </div>\n            </div>\n        )\n    }\n}\n","import Slider from \"react-slick\";\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { PromoCarousel } from \"../../videoGalleryVerticalWidget/components/promoCarousel\";\nimport { enablePageRefresh, disablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport * as ResizeObserver from \"resize-observer-polyfill\";\nimport { categoryObj } from \"./dynamicVideoGalleryVerticalMutamComponenta\";\nimport { DynamicVideoVerticalFeedItemMutam } from \"./dynamicVideoVerticalFeedItemMutam\";\nimport { DynamicVideoGalleryVerticalItemMutam } from \"./dynamicVideoGalleryVerticalItemMutam\";\nimport { SiteSimpleImage } from \"../../../../commonComponents/inline/siteSimpleImage\";\n\ninterface VideoGalleryVerticalMutamProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    shouldDisplayMobileAds: boolean\n    category: categoryObj\n    hideMoreButton: boolean\n    moreButtonText: string\n    domain: string\n    mobileChannelIconUrl: string\n    tabBackgroundColor: string\n    tabColor: string\n}\n\ninterface VideoGalleryVerticalMutamState {\n    feedActiveSlide: number\n    isFeedDisplay: boolean\n    initialFeedSlide: number\n    togglePromoActive: boolean\n    currentPromoIndex: number\n    promoViewportWidth: number\n    lastIntersectedPromoIndex: number\n}\n\nexport class DynamicVideoGalleryVerticalMutam extends React.Component<VideoGalleryVerticalMutamProps, VideoGalleryVerticalMutamState> {\n    constructor(props) {\n        super(props);\n        this.state = {\n            initialFeedSlide: 0,\n            feedActiveSlide: 0,\n            isFeedDisplay: false,\n            togglePromoActive: false,\n            currentPromoIndex: 0,\n            promoViewportWidth: 375,\n            lastIntersectedPromoIndex: 0,\n        }\n    }\n\n    private componentWrapperRef;\n    private resizeObserver: ResizeObserver;\n    private sliderRef;\n\n\n    componentDidMount() {\n        this.resizeObserver = new ResizeObserver(entries => entries.forEach(e => {\n            this.setState({ promoViewportWidth: e.contentRect.width })\n        }));\n        this.resizeObserver.observe(this.componentWrapperRef);\n    }\n\n    componentWillUnmount() {\n        this.resizeObserver && this.resizeObserver.disconnect();\n    }\n\n    private onOpenVideoGalleryView = (originalVideoListIndex: number) => {\n        const { videoList } = this.props;\n        const initialFeedSlide = this.getListWithAds().findIndex((element) => element.itemId === videoList[originalVideoListIndex].itemId);\n        this.setState({ initialFeedSlide: initialFeedSlide, feedActiveSlide: initialFeedSlide }, () => { this.setState({ isFeedDisplay: true }) });\n        disablePageRefresh();\n    }\n\n    private onMoreVideosHandler = () => {\n        this.setState({ initialFeedSlide: 0, feedActiveSlide: 0, isFeedDisplay: true });\n    }\n\n    private onCloseVideoGalleryView = () => {\n        this.setState({ isFeedDisplay: false });\n        enablePageRefresh();\n    }\n\n    private onVideoEnded = () => {\n        this.setState({ togglePromoActive: !this.state.togglePromoActive });\n    }\n\n    private getItemIntoViewIndex = (itemIntoViewIndex: number) => {\n        this.setState({ currentPromoIndex: itemIntoViewIndex })\n    }\n    private onLastIntersectingPromoCHange = (lastPromoIndex: number) => {\n        this.setState({ lastIntersectedPromoIndex: lastPromoIndex })\n    }\n\n    private onChangeVideoHandler = () => {\n        setTimeout(() => {\n            const videoElement = document.querySelector(\".videoGalleryVerticalMutamComponenta .feedDisplay .slick-active .videoVerticalFeedItemMutam #player.is-paused .fp-engine\") as HTMLVideoElement;\n            if (videoElement) {\n                videoElement.currentTime = 0;\n                videoElement.click();\n            };\n        }, 600)\n    }\n\n    private onStopPlayingVideoHandler = () => {\n        const playingVideoElement = document.querySelector(\".videoGalleryVerticalMutamComponenta .feedDisplay .slick-slide:not(.slick-active) .videoVerticalFeedItemMutam #player.is-playing .fp-engine\") as HTMLVideoElement;\n        if (playingVideoElement) {\n            playingVideoElement.currentTime = 0;\n            playingVideoElement.pause();\n        };\n    }\n\n    private onNextSlide = () => {\n        this.onChangeVideoHandler();\n        this.sliderRef.slickNext();\n        this.pushGA4Event(\"swipe_up\", true);\n    }\n\n    private pushGA4Event = (action: string, isFeedDisplay: boolean) => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { category } = this.props;\n        const actionPrefix = category && category.name ? (category.name === \"דף הבית\") ? \"homepage\" : category.name : \"homepage\";\n        const gaAction = isFeedDisplay ? `video_${action}` : `${actionPrefix}_${action}`;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            vertical_video_action: gaAction,\n        });\n    };\n\n    private getListWithAds = () => {\n        const { repeatAds, maxAds, firstAdPlace, videoList, shouldDisplayMobileAds } = this.props;\n        const videoListCopy = [...videoList];\n        const videoListLength = videoListCopy.length;\n        let numberOfAds = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        const newListLength = videoListLength + numberOfAds;\n        const baseId = \"ads.vertical.native.\";\n        let newList = [];\n        let adCount = 1;\n\n        if (maxAds === 0 || !shouldDisplayMobileAds) return videoListCopy;\n\n        for (let i = 0; i < newListLength; i++) {\n            if (i < firstAdPlace) {\n                newList.push(videoListCopy.shift());\n            } else if (i === firstAdPlace && numberOfAds > 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else if (numberOfAds > 0 && (i - firstAdPlace) % (repeatAds + 1) === 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else {\n                newList.push(videoListCopy.shift());\n            }\n        }\n        return newList;\n    }\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, hideMoreButton, moreButtonText, domain, mobileChannelIconUrl, tabBackgroundColor, tabColor } = this.props;\n        const { isFeedDisplay, initialFeedSlide, feedActiveSlide, togglePromoActive, currentPromoIndex, promoViewportWidth, lastIntersectedPromoIndex } = this.state;\n        const basePromoWidthFit375 = 142;\n        const promoWidth = (promoViewportWidth / 375) * basePromoWidthFit375;\n        const bottomText = moreButtonText && moreButtonText.length > 0 ? moreButtonText : `עוד ב${tabTitleText}`\n        const feedDisplaySettings = {\n            infinite: false,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            initialSlide: initialFeedSlide,\n            autoplay: false,\n            vertical: true,\n            onSwipe: () => { this.onChangeVideoHandler() },\n            verticalSwiping: true,\n            beforeChange: (current, next) => {\n                const userSwipeDirection = next > current ? \"up\" : \"down\";\n                this.pushGA4Event(`swipe_${userSwipeDirection}`, true);\n            },\n            afterChange: (current) => {\n                this.setState({ feedActiveSlide: current })\n                this.onStopPlayingVideoHandler();\n            },\n        };\n\n        return (\n            <div className=\"videoGalleryVerticalMutamWrapper\" ref={componentWrapperRef => (this.componentWrapperRef = componentWrapperRef)}>\n                {isFeedDisplay ?\n                    <div className=\"feedDisplay\">\n                        <Slider {...feedDisplaySettings} className=\"slider\" ref={(sliderRef) => (this.sliderRef = sliderRef)}>\n                            {this.getListWithAds().map((videoItem, index) => {\n                                const arrowDisplay = index === this.getListWithAds().length - 1 ? \"none\" : \"\";\n                                if ((typeof videoItem) === 'string') {\n                                    return (\n                                        <div className=\"adsWrapper\">\n                                            <div key={index} id={videoItem} className=\"ads_vertical_video\"></div>\n                                            <div className={`arrow arrowNext ${arrowDisplay}`} onClick={this.onNextSlide}>לסרטון הבא</div>\n                                        </div>\n                                    )\n                                } else {\n                                    return (\n                                        <DynamicVideoVerticalFeedItemMutam\n                                            videoItem={videoItem}\n                                            key={videoItem.itemId}\n                                            initialFeedSlide={initialFeedSlide}\n                                            feedActiveSlide={feedActiveSlide}\n                                            feedIndex={index}\n                                            onCloseVideoGalleryView={this.onCloseVideoGalleryView}\n                                            arrowDisplay={arrowDisplay}\n                                            onNextSlide={this.onNextSlide}\n                                            domain={domain}\n                                            index={index} />\n                                    )\n                                }\n                            })}\n                        </Slider>\n                    </div>\n                    :\n                    <>\n                        {isTabVisible &&\n                            <div className=\"videoGalleryVerticalTab componentaTab\" style={{backgroundColor: tabBackgroundColor, color: tabColor}}>\n                                {mobileChannelIconUrl && <SiteSimpleImage src={mobileChannelIconUrl} /* width=\"auto\" height={20} */ className=\"tabIcon\"/>}\n                                <span>{tabTitleText}</span>\n                            </div>}\n                        <PromoCarousel\n                            imageWidth={promoWidth}\n                            width={640}\n                            itemListLength={videoList.length}\n                            marginRight={14}\n                            togglePromoActive={togglePromoActive}\n                            currentPromoIndex={currentPromoIndex}\n                            videoList={videoList}\n                            isMobileWeb={true}\n                            pushGA4Event={this.pushGA4Event}\n                        >\n                            {videoList.map((videoItem, index) => {\n                                return (\n                                    <DynamicVideoGalleryVerticalItemMutam\n                                        videoItem={videoItem}\n                                        onOpenVideoGalleryView={this.onOpenVideoGalleryView}\n                                        videoIndex={index}\n                                        key={videoItem.itemId}\n                                        onVideoEnded={this.onVideoEnded}\n                                        getItemIntoViewIndex={this.getItemIntoViewIndex}\n                                        onLastIntersectingPromoCHange={this.onLastIntersectingPromoCHange}\n                                        lastIntersectedPromoIndex={lastIntersectedPromoIndex}\n                                        pushGA4Event={this.pushGA4Event}\n                                    />\n                                )\n                            })}\n                        </PromoCarousel >\n                        {!hideMoreButton && <div className=\"moreButton\" onClick={this.onMoreVideosHandler}>{bottomText}</div>}\n                    </>\n                }\n            </div>\n        )\n    }\n}\n","import { SiteItemData } from \"../../../../interfaces\";\nimport { DynamicVideoGalleryVerticalMutam } from \"./dynamicVideoGalleryVerticalMutam\";\n\nexport interface categoryObj {\n    id: string\n    categoryColor: string\n    name:string\n}\n\ninterface VideoGalleryVerticalMutamComponentaProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    firstAdPlace: number\n    maxAds: number\n    repeatAds: number\n    shouldDisplayMobileAds: boolean\n    category: categoryObj\n    hideMoreButton:boolean \n    moreButtonText:string\n    domain: string\n    mobileChannelIconUrl: string\n    tabBackgroundColor: string\n    tabColor: string\n}\n\nexport class DynamicVideoGalleryVerticalMutamComponenta extends React.Component<VideoGalleryVerticalMutamComponentaProps, {}>{\n    public static siteScriptName = \"DynamicVideoGalleryVerticalMutamComponenta\";\n\n    public render() {\n        const { videoList, hideMoreButton,moreButtonText,  isTabVisible, tabTitleText, repeatAds, maxAds, firstAdPlace, shouldDisplayMobileAds, category, domain, mobileChannelIconUrl, tabBackgroundColor, tabColor } = this.props;\n\n        return (\n            <div className=\"dynamicVideoGalleryVerticalMutamComponenta\">\n                <DynamicVideoGalleryVerticalMutam\n                    videoList={videoList}\n                    isTabVisible={isTabVisible}\n                    tabTitleText={tabTitleText}\n                    repeatAds={repeatAds}\n                    maxAds={maxAds}\n                    firstAdPlace={firstAdPlace}\n                    hideMoreButton={hideMoreButton}\n                    moreButtonText={moreButtonText}\n                    shouldDisplayMobileAds={shouldDisplayMobileAds}\n                    category={category}\n                    domain={domain}\n                    mobileChannelIconUrl={mobileChannelIconUrl}\n                    tabBackgroundColor={tabBackgroundColor}\n                    tabColor={tabColor}/>\n            </div>\n        )\n    }\n}\n","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\nimport { FrontCopyButton } from \"../../../../commonComponents/inline/frontCopyButton/frontCopyButton\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\nimport { openFacebookShare, openTwitterShare } from \"../../../../widgetsUtils\";\nimport { WhatsAppShareButton } from \"../../../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\";\n\ninterface VideoVerticalFeedItemProps {\n    videoItem: SiteItemData\n    feedActiveSlide: number\n    domain: string\n    index: number\n    onNextSlide: () => void\n    onCloseVideoGalleryView: () => void\n}\n\ninterface VideoVerticalFeedItemState {\n    isSubtitleOpen: boolean\n    isMediaShareVisible: boolean\n}\nexport class DynamicVideoVerticalFeedItem extends React.Component<VideoVerticalFeedItemProps, VideoVerticalFeedItemState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isSubtitleOpen: false,\n            isMediaShareVisible: false,\n        }\n    }\n\n    componentDidMount() {\n        this.initializeEndedEventListeners();\n        document.addEventListener('click', this.handleClickOutside);\n    }\n\n    componentWillUnmount() {\n        this.removeEndedEventListeners();\n        document.removeEventListener('click', this.handleClickOutside);\n    }\n\n    private handleClickOutside = (event: MouseEvent) => {\n        if ((event.target as Element).className.includes(\"slick-slide\")) this.props.onCloseVideoGalleryView();\n    };\n\n    private initializeEndedEventListeners() {\n        setTimeout(() => {\n            const videoElements = document.querySelectorAll(\".dynamicVideoGalleryVerticalComponenta .feedDisplay .slick-slide .videoVerticalFeedItem #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n            if (videoElements.length) {\n                videoElements.forEach((element) => {\n                    element.addEventListener(\"ended\", this.handleVideoEnded);\n                })\n            };\n        }, 600)\n    }\n\n    private removeEndedEventListeners() {\n        const videoElements = document.querySelectorAll(\".dynamicVideoGalleryVerticalComponenta .feedDisplay .slick-slide .videoVerticalFeedItem #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n        if (videoElements.length) {\n            videoElements.forEach((element) => {\n                element.removeEventListener(\"ended\", this.handleVideoEnded)\n            })\n        };\n    }\n\n    private handleVideoEnded = (e) => {\n        e.target.currentTime = 0;\n        e.target.click();\n        this.props.onNextSlide();\n    }\n\n    componentDidUpdate(prevProps, prevState) {\n        if (prevProps.feedActiveSlide !== this.props.feedActiveSlide) {\n            setTimeout(() => {\n                const videoElement = document.querySelector(\".dynamicVideoGalleryVerticalComponenta .feedDisplay .slick-active .videoVerticalFeedItem #player.is-paused .fp-engine\") as HTMLVideoElement;\n                const unActiveVideoElement = document.querySelector(\".dynamicVideoGalleryVerticalComponenta .feedDisplay .slick-slide:not(.slick-active) .videoVerticalFeedItem #player.is-playing .fp-engine\") as HTMLVideoElement;\n                if (videoElement) {\n                    setTimeout(() => {\n                        if (videoElement.paused) {\n                            videoElement.pause();\n                            videoElement.currentTime = 0;\n                            videoElement.play();\n                        }\n                    }, 500)\n                };\n                if (unActiveVideoElement) unActiveVideoElement.click();\n            }, 600)\n        }\n    }\n\n    private onSubtitleModeToggle = () => {\n        this.setState({ isSubtitleOpen: !this.state.isSubtitleOpen });\n    }\n\n    private onMediaShareToggle = () => {\n        this.setState({ isMediaShareVisible: !this.state.isMediaShareVisible });\n    }\n\n    private handleShareBtnClicked = (button: string) => {\n        this.setState({ isMediaShareVisible: false });\n        const { domain, videoItem } = this.props;\n\n        if (typeof window !== \"undefined\") {\n            const baseUrl = `${domain}/video/${(videoItem.media as SiteVideoData).videoPageId}`;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(baseUrl, \"\", () => { }, \"vertical_video\")\n                    break;\n                case \"tw\":\n                    openTwitterShare(baseUrl, () => { }, \"vertical_video\")\n                    break;\n                case \"wa\":\n                    WhatsAppShareButton.openWhatsAppShare(baseUrl, () => { }, \"vertical_video\")\n                    break;\n            }\n        }\n    }\n\n    private pushGA4Event = () => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { index } = this.props;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            componenta_name: \"vertical_video\",\n            content_type: \"componenta\",\n            position_in_component: index,\n            click_text: \"לכתבה המלאה\"\n        });\n    };\n\n    public render() {\n        const { isSubtitleOpen, isMediaShareVisible } = this.state;\n        const { videoItem, domain } = this.props;\n        const { media, title, subTitle, titleLink, titleTargetLink } = videoItem;\n        const subtitleClass = `videoSubtitle ${isSubtitleOpen ? \"\" : \"close\"}`;\n        const videoPageId = (videoItem.media as SiteVideoData).videoPageId;\n        const videoPageShareUrl = `${domain}/video/${videoPageId}?utm_source=ynet.co.il&utm_medium=share&utm_campaign=copy_url&utm_content=vertical_video`;\n\n        return (\n            <div className=\"videoVerticalFeedItem\">\n                {videoPageId &&\n                    <div className=\"shareArea\">\n                        <div className=\"shareBtn\" onClick={this.onMediaShareToggle}></div>\n                        {isMediaShareVisible &&\n                            <div className=\"mediaShareWrapper\">\n                                <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"fb\")}>\n                                    <div className=\"mediaShareIcon facebook\"></div>\n                                    <div className=\"mediaShareText\">Facebook</div>\n                                </div>\n                                <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"wa\")}>\n                                    <div className=\"mediaShareIcon whatsapp\"></div>\n                                    <div className=\"mediaShareText\">WhatsApp</div>\n                                </div>\n                                <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"tw\")}>\n                                    <div className=\"mediaShareIcon twitter\"></div>\n                                    <div className=\"mediaShareText\">Twitter</div>\n                                </div>\n                                <div className=\"mediaShareItem\">\n                                    <FrontCopyButton popupText=\"הקישור הועתק ללוח\" title={title} url={videoPageShareUrl} />\n                                    <div className=\"mediaShareText\">העתקת קישור</div>\n                                </div>\n                            </div>\n                        }\n                    </div>\n                }\n                <SiteVideoInline\n                    data={media as SiteVideoData}\n                    applyStickyness={true}\n                    width={400}\n                    height={714}\n                    hideVideoAds={true}\n                    isShareButton={true}\n                    runArticleAutoPlayLogic={false} />\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className={subtitleClass} onClick={this.onSubtitleModeToggle} dangerouslySetInnerHTML={{ __html: subTitle }} />\n                    {titleLink &&\n                        <div onClick={this.pushGA4Event}>\n                            <HyperLinkBuilder\n                                className=\"videoLink\"\n                                href={titleLink}\n                                linkTarget={titleTargetLink}\n                            >\n                                לכתבה המלאה\n                        </HyperLinkBuilder>\n                        </div>\n                    }\n                </div>\n            </div>\n        )\n    }\n}","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\n\ninterface VideoVerticalFeedItemMutamProps {\n    videoItem: SiteItemData\n    initialFeedSlide: number\n    feedActiveSlide: number\n    feedIndex: number\n    arrowDisplay: string\n    domain: string\n    index: number\n    onCloseVideoGalleryView: () => void\n    onNextSlide: () => void\n}\n\ninterface VideoVerticalFeedItemMutamState {\n    isSubtitleOpen: boolean\n}\n\nexport class DynamicVideoVerticalFeedItemMutam extends React.Component<VideoVerticalFeedItemMutamProps, VideoVerticalFeedItemMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isSubtitleOpen: false,\n        }\n    }\n\n    componentDidMount() {\n        this.initializeEndedEventListeners();\n    }\n\n    componentWillUnmount() {\n        this.removeEndedEventListeners();\n    }\n\n    private initializeEndedEventListeners() {\n        setTimeout(() => {\n            const videoElements = document.querySelectorAll(\".videoGalleryVerticalMutamComponenta .feedDisplay .slick-slide .videoVerticalFeedItemMutam #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n            if (videoElements.length) {\n                videoElements.forEach((element) => {\n                    element.addEventListener(\"ended\", this.handleVideoEnded);\n                })\n            };\n        }, 600)\n    }\n\n    private removeEndedEventListeners() {\n        const videoElements = document.querySelectorAll(\".videoGalleryVerticalMutamComponenta .feedDisplay .slick-slide .videoVerticalFeedItemMutam #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n        if (videoElements.length) {\n            videoElements.forEach((element) => {\n                element.removeEventListener(\"ended\", this.handleVideoEnded)\n            })\n        };\n    }\n\n    private handleVideoEnded = (e) => {\n        e.target.currentTime = 0;\n        e.target.click();\n        this.props.onNextSlide();\n    }\n\n    private onSubtitleModeToggle = () => {\n        this.setState({ isSubtitleOpen: !this.state.isSubtitleOpen });\n    }\n\n    private openShare = async () => {\n        const { domain, videoItem: { media } } = this.props;\n        const shareUrl = `${domain}/video/${(media as SiteVideoData).videoPageId}?utm_source=ynet.co.il&utm_medium=Share&utm_campaign=copy_url&utm_content=vertical_video`;\n        const shareData = { url: shareUrl };\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    private pushGA4Event = () => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { index } = this.props;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            componenta_name: \"vertical_video\",\n            content_type: \"componenta\",\n            position_in_component: index,\n            click_text:\"לכתבה המלאה\"\n        });\n    };\n\n    public render() {\n        const { isSubtitleOpen } = this.state;\n        const { videoItem, onCloseVideoGalleryView, arrowDisplay, onNextSlide } = this.props;\n        const { media, title, subTitle, titleLink, titleTargetLink } = videoItem;\n        const subtitleClass = `videoSubtitle ${isSubtitleOpen ? \"\" : \"close\"}`;\n        const feedItemClass = `videoVerticalFeedItemMutam ${isSubtitleOpen ? \"openMode\" : \"standardMode\"}`;\n        const videoPageId = (media as SiteVideoData).videoPageId;\n\n        return (\n            <div className={feedItemClass}>\n                <SiteVideoInline\n                    data={media as SiteVideoData}\n                    applyStickyness={true}\n                    hideVideoAds={true}\n                    isShareButton={false}\n                />\n                <div className={`arrow arrowNext ${arrowDisplay}`} onClick={onNextSlide}>לסרטון הבא</div>\n                <div className=\"closeBtn\" onClick={onCloseVideoGalleryView}></div>\n                {videoPageId && <div className=\"shareBtn\" onClick={this.openShare}></div>}\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className={subtitleClass} onClick={this.onSubtitleModeToggle} dangerouslySetInnerHTML={{ __html: subTitle }} />\n                    {titleLink &&\n                        <div onClick={this.pushGA4Event}>\n                            <HyperLinkBuilder\n                                className=\"videoLink\"\n                                href={titleLink}\n                                linkTarget={titleTargetLink}\n                            >\n                                לכתבה המלאה\n                        </HyperLinkBuilder>\n                        </div>\n                    }\n                </div>\n            </div>\n        )\n    }\n}","import { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\"\nimport { CSSTransitionGroup } from \"react-transition-group\"\nimport { LinkedItemFieldDisplay } from \"widgets/commonDataObjects/linkedItemsFieldsDisplay\"\nimport { SiteItemData } from \"widgets/interfaces\"\nimport { GalleryViewType } from \"widgets/commonComponents/base/basicMediaCarousel\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\"\nimport { MultiImagesScrollPerItem } from \"../../../../commonComponents/base/multiImagesScrollPerItem\"\n\ninterface PlainGalleryProps {\n    medias: SiteItemData[]\n    width: number\n    galleryViewOption: GalleryViewType\n    videoSettings: VideoSettingsData\n    intervalTime: number\n    fieldsDisplaySettings: LinkedItemFieldDisplay\n}\n\ninterface PlainGalleryState {\n    selectedMediaIndex: number,\n    videoPlayStarted: boolean\n}\n\nexport class Gallery1280 extends React.Component<PlainGalleryProps, PlainGalleryState>{\n    constructor(props) {\n        super(props as PlainGalleryProps);\n        this.state = {\n            selectedMediaIndex: 0,\n            videoPlayStarted: false\n        }\n    }\n\n\n    private autoGalleryInterval: any;\n    private startAutoGallery = () => {\n        const { intervalTime, medias } = this.props\n        const self = this;\n        if (typeof (intervalTime) === \"number\") {\n            if (intervalTime > 0) {\n                this.autoGalleryInterval = setInterval(() => {\n                    this.setState((prevState: PlainGalleryState, props: PlainGalleryProps) => {\n                        let newIndex = ++prevState.selectedMediaIndex;\n                        if (newIndex >= props.medias.length) newIndex = 0;\n                        return { selectedMediaIndex: newIndex }\n                    });\n                }, intervalTime * 1000);\n            }\n            else {\n                clearInterval(this.autoGalleryInterval)\n            }\n        }\n    }\n    componentDidUpdate(_, prevState: PlainGalleryState) {\n        if (this.state.selectedMediaIndex !== prevState.selectedMediaIndex) {\n            window.YitVideo && window.YitVideo.InfrastructureReInitialize();\n        }\n    }\n\n    componentDidMount() {\n        if (this.props.medias.length > 1) {\n            this.startAutoGallery();\n        }\n        window.YitVideo && window.YitVideo.InfrastructureReInitialize();\n\n    }\n    public static siteScriptName = \"Gallery1280\";\n    private single_List_item_width = 283;\n\n\n\n    private showPrevMedia = (medias) => {\n        this.setState(state => state.selectedMediaIndex > 0 ? { selectedMediaIndex: state.selectedMediaIndex - 1 } : { selectedMediaIndex: medias.length - 1 })\n        this.stopAutoGallery();\n    }\n    private showNextMedia = (medias) => {\n        this.setState(state => state.selectedMediaIndex < medias.length - 1 ? { selectedMediaIndex: state.selectedMediaIndex + 1 } : { selectedMediaIndex: 0 })\n        this.stopAutoGallery();\n    }\n    private stopAutoGallery = () => {\n        if (this.props.intervalTime !== 0) {\n            clearInterval(this.autoGalleryInterval)\n        }\n\n    }\n    private onSelectMedia = (e, index: number) => {\n        this.stopAutoGallery();\n        const isVideo = this.props.medias[this.state.selectedMediaIndex].media.mediaType === \"MEDIA_VIDEO\"\n        const videoPlayStarted = this.state.selectedMediaIndex === index && isVideo\n        this.setState({ selectedMediaIndex: index, videoPlayStarted: false })\n    }\n\n    private handleOnVideoPlayStarted = () => {\n        this.setState({ videoPlayStarted: true })\n    }\n    private handleOnVideoPlayStopped = () => {\n        this.setState({ videoPlayStarted: false })\n    }\n\n\n    render() {\n        const { medias, width, galleryViewOption, videoSettings, fieldsDisplaySettings } = this.props\n        const { selectedMediaIndex, videoPlayStarted } = this.state\n        const { isTitleLinkVisible } = fieldsDisplaySettings\n        const noTitleLink = !medias[selectedMediaIndex].titleLink\n        const mediaHeight = Math.floor(width / 1.77)\n\n        if (medias.length === 0) { return null }\n        const selectedDetailsStyle = { zIndex: 1 }\n        const selectedMediaItem = medias[selectedMediaIndex]\n\n        return (\n            <span>\n                <div className=\"gallerySelectedMedia\">\n\n                    {selectedMediaItem && (videoPlayStarted === false || null) &&\n                        <div className=\"selectedMediaDetails\" style={selectedDetailsStyle}>\n                            {!noTitleLink && isTitleLinkVisible ?\n                                <HyperLinkBuilder\n                                    href={selectedMediaItem.titleLink}\n                                    linkTarget={selectedMediaItem.titleTargetLink}\n                                    children={selectedMediaItem.title} >\n                                <div className=\"title\"> <div dangerouslySetInnerHTML={{ __html: selectedMediaItem.title }} /></div>\n                                </HyperLinkBuilder> :\n                                <div className=\"title\" dangerouslySetInnerHTML={{ __html: selectedMediaItem.title }} />}\n                             <div className=\"credit\">{selectedMediaItem.media.credit} </div>\n                        </div>}\n\n                    <div className=\"galleryDroppedImage\" style={{ height: mediaHeight }}>\n                        {galleryViewOption === \"arrows\" && <button className=\"scrollRightBtn galleryArrow\" title=\"scroll right\"\n                            aria-label=\"scroll right\"\n                            onClick={() => this.showPrevMedia(medias)} />}\n                        <CSSTransitionGroup transitionName=\"media\" transitionEnterTimeout={500} transitionLeave={false} >\n                            <SiteMedia\n                                onPlayStarted={this.handleOnVideoPlayStarted}\n                                onPlayStopped={this.handleOnVideoPlayStopped}\n                                data={selectedMediaItem.media} videoSettings={videoSettings} width={width} height={mediaHeight} onSelect={this.stopAutoGallery} />\n                        </CSSTransitionGroup >\n                        {galleryViewOption === \"arrows\" && <button className=\"scrollLeftBtn galleryArrow\" title=\"scroll left\" aria-label=\"scroll left\" onClick={() => this.showNextMedia(medias)} />}\n                    </div>\n                </div>\n\n                {galleryViewOption === \"bar\" && <div className=\"mediaListContainer\">\n                    <MultiImagesScrollPerItem imageWidth={this.single_List_item_width} width={width} itemLength={medias.length} marginRight={8}>\n                        {medias.map((item, index) =>\n                            <div\n                                key={`galleryItem_${item.media.mediaId}`}\n                                onClick={(e) => this.onSelectMedia(e, index)}\n                                style={{ marginLeft: \"8px\" }}\n                                className=\"mediaWrapper\">\n                                {item.media.mediaType === \"MEDIA_VIDEO\" && <img className=\"lisPreviewImage\" src={item.media.poster} />}\n                                {item.media.mediaType === \"MEDIA_IMAGE\" && <img className=\"lisPreviewImage\" title={item.media.title} aria-hidden={item.media.ariaHidden} alt={item.media.alt} src={item.media.url} />}\n                            </div>)}\n                    </MultiImagesScrollPerItem>\n                </div>}\n\n            </span>\n        )\n    }\n}\n","import { enablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\"\nimport { SiteVideoData } from \"widgets/interfaces\"\nimport { buildAdTag } from \"../../../../siteWidgets/videoPlayer/videoPlayerAds\"\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\n\ninterface LiveVideoPlayerProps {\n    videoSource: string\n    isCustomControllers?: boolean\n    lang?:string\n}\n\ninterface LiveVideoPlayerPropsState {\n    preRollAdPlayed: boolean\n    isMinimizedMode: boolean\n}\n\nexport class LiveVideoPlayer extends React.Component<LiveVideoPlayerProps, LiveVideoPlayerPropsState> {\n\n    constructor() {\n        super();\n        this.state = {\n            preRollAdPlayed: false,\n            isMinimizedMode: false,\n        };\n    }\n\n    private playerRef;\n    private intersectionObserver: IntersectionObserver;\n\n    componentDidMount() {\n        enablePageRefresh();\n        this.initObserver();\n    }\n\n    componentWillUnmount() {\n        this.intersectionObserver && this.intersectionObserver.disconnect();\n    }\n\n    private initObserver = () => {\n        this.intersectionObserver = new IntersectionObserver(entry => {\n            const observedPlayerDiv = document.getElementById('player');\n            const ismuted = observedPlayerDiv.classList.contains(\"is-muted\");\n            const shouldDisplayMinimizedMode = !ismuted && !entry[0].isIntersecting && !this.state.isMinimizedMode;\n            if (shouldDisplayMinimizedMode) this.setState({ isMinimizedMode: true });\n        })\n        this.intersectionObserver.observe(this.playerRef);\n    }\n\n    private getFlowPlayerData = (): SiteVideoData => {\n        const { videoSource } = this.props;\n        return {\n            mediaType: \"MEDIA_VIDEO\",\n            url: videoSource,\n            downGradeUrl: videoSource,\n            poster: \"\",\n            youtube_id: \"\",\n            blockAbroadViews: false,\n            isLive: true,\n            isAutoPlaying: true,\n            isPlayerBarVisible: true,\n            isSoundButtonVisible: true,\n            isMuteAvailable: true\n        }\n    }\n\n    private handlePlayerLoaded = (player) => {\n        const {lang} = this.props\n        const browserDisplayMediaMetaData = { title: lang && lang===\"ar\" ? \"Nas-live\" : \"Ynet-live\", artist: lang && lang===\"ar\"? \"radionas\" : \"ynet\", album: lang && lang===\"ar\"? \"radionas\" :  \"Ynet\" };\n        if (browserDisplayMediaMetaData && \"mediaSession\" in navigator) {\n            //@ts-ignore\n            navigator.mediaSession.metadata = new MediaMetadata(\n                browserDisplayMediaMetaData\n            );\n        }\n\n        const that = this;\n        player.setOpts({ ima: null });\n        player.setOpts({ muted: this.state.isMinimizedMode ? false : true });\n        player.play();\n        setImmediate(() => {\n            player.on(\"volumechange\", function (e) { that.onStartAds(player, e) })\n            player.ads.on(\"ad-completed\", function () {\n                that.setState({ preRollAdPlayed: true })\n                player.setOpts({ muted: false });\n                player.play();\n            })\n        })\n\n        setImmediate(() => player.ads.on(\"ad-completed\", function () {\n            that.setState({ preRollAdPlayed: true })\n            player.setOpts({ muted: false });\n            player.play();\n        }))\n\n    }\n\n    private onStartAds = (player, e) => {\n        if (this.state.preRollAdPlayed) return;\n        player.setOpts({ ima: { locale: \"he\", ads: [] } });\n        const adTag = buildAdTag(\"Preroll\", false, true, \"fpn\");\n        player.ads.requestAd(adTag);\n    }\n\n    private onMinimizedModeToggle = () => {\n        this.setState({ isMinimizedMode: !this.state.isMinimizedMode });\n    }\n\n    private onMinimizedPlayerPlayToggler = () => {\n        const playerElement: any = document.querySelector('.minimizedPlayer .fp-engine');\n        if (playerElement) {\n            playerElement.togglePlay();\n            const toggleBtn = document.querySelector(\".minimizedPlayerToggleBtn\");\n            toggleBtn.classList.toggle(\"playBtn\");\n        }\n    }\n\n    public render() {\n        const { isMinimizedMode } = this.state;\n        const { isCustomControllers, lang } = this.props;\nconst text = lang && lang===\"ar\"?  \"بث مباشر\" : \"שידור חי\";\n        return (\n            <div className=\"YITFloatingPlayer is-sticky\" ref={ref => this.playerRef = ref}>\n                {isMinimizedMode ?\n                    <div className=\"minimizedPlayer\" id=\"minimized-player\">\n                        <div className=\"videoPlayerWrapper\">\n                            <SiteVideoInline\n                                data={this.getFlowPlayerData()}\n                                applyStickyness={true}\n                                hideVideoAds\n                                isShareButton={false}\n                                onPlayerLoaded={this.handlePlayerLoaded}\n                            />\n                        </div>\n                        <div className=\"YITFloatingPlayerCloseButton\" onClick={this.onMinimizedModeToggle}></div>\n                        <div className=\"content\">\n                            <div className=\"textDiv\">{text}</div>\n                            <div className=\"minimizedPlayerToggleBtn\" onClick={this.onMinimizedPlayerPlayToggler}></div>\n                        </div>\n                    </div>\n                    :\n                    <>\n                        {isCustomControllers &&\n                            <div className=\"customControllers\">\n                                <div className=\"controller stickyController\" onClick={this.onMinimizedModeToggle} ></div>\n                            </div>\n                        }\n                        <SiteVideoInline\n                            data={this.getFlowPlayerData()}\n                            applyStickyness={true}\n                            hideVideoAds\n                            isShareButton={false}\n                            onPlayerLoaded={this.handlePlayerLoaded}\n                        />\n                    </>\n                }\n            </div>\n        )\n    }\n}\n\n\n\n","import { LiveVideoPlayer } from \"./liveVideoPlayer\";\nimport * as axios from \"axios\"\n\ninterface LiveVideoPlayerMutamComponentaProps {\n    showVideoOnMobile: boolean\n    domain: string\n}\n\ninterface LiveVideoPlayerMutamComponentaState {\n    videoSource: string\n}\n\nexport class LiveVideoPlayerMutamComponenta extends React.Component<LiveVideoPlayerMutamComponentaProps, LiveVideoPlayerMutamComponentaState> {\n    static siteScriptName = \"liveVideoPlayer\"\n    constructor() {\n        super();\n        this.state = {\n            videoSource: \"\",\n        }\n    }\n\n    private intervalId;\n\n    componentDidMount() {\n        this.getVideoSrc();\n        this.intervalId = setInterval(() => {\n            this.getVideoSrc();\n        }, 600000)\n    }\n\n    componentWillUnmount() {\n        clearInterval(this.intervalId)\n    }\n\n    private getVideoSrc = () => {\n        const { domain } = this.props;\n        const url = domain === \"https://dev-v3.ynet.co.il\" ? \"https://qa.ynet.co.il/iphone/json/mobile/v2/page/7757\" : \"/iphone/json/mobile/v2/page/7757\";\n        axios.get(url).then((res: any) => {\n            const videoSource = res.data.components[0].items[0].linkData.link.href;\n            if (res.data && videoSource) {\n                if (videoSource !== this.state.videoSource) this.setState({ videoSource })\n            }\n        }).catch(err => console.error(\"error geting video source\", err))\n    }\n\n    render() {\n        const { showVideoOnMobile } = this.props;\n        const { videoSource } = this.state;\n        if (!showVideoOnMobile || !videoSource) return null;\n\n        return (\n            <div className=\"liveVideoPlayerMutamComponenta\">\n                <LiveVideoPlayer\n                    videoSource={videoSource}\n                    isCustomControllers={true} />\n            </div>\n        )\n    }\n}","import { enablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\"\nimport { SiteVideoData } from \"widgets/interfaces\"\nimport { buildAdTag } from \"../../../../siteWidgets/videoPlayer/videoPlayerAds\"\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\n\ninterface LiveVideoPlayerProps {\n    videoSource: string\n    isCustomControllers?: boolean\n    lang?: string\n}\n\ninterface LiveVideoPlayerPropsState {\n    preRollAdPlayed: boolean\n    isMinimizedMode: boolean\n}\n\nexport class LiveVideoPlayer extends React.Component<LiveVideoPlayerProps, LiveVideoPlayerPropsState> {\n\n    constructor() {\n        super();\n        this.state = {\n            preRollAdPlayed: false,\n            isMinimizedMode: false,\n        };\n    }\n\n    private playerRef;\n    private intersectionObserver: IntersectionObserver;\n\n    componentDidMount() {\n        enablePageRefresh();\n        this.initObserver();\n    }\n\n    componentWillUnmount() {\n        this.intersectionObserver && this.intersectionObserver.disconnect();\n    }\n\n    private initObserver = () => {\n        this.intersectionObserver = new IntersectionObserver(entry => {\n            const observedPlayerDiv = document.getElementById('player');\n            const ismuted = observedPlayerDiv.classList.contains(\"is-muted\");\n            const shouldDisplayMinimizedMode = !ismuted && !entry[0].isIntersecting && !this.state.isMinimizedMode;\n            if (shouldDisplayMinimizedMode) this.setState({ isMinimizedMode: true });\n        })\n        this.intersectionObserver.observe(this.playerRef);\n    }\n\n    private getFlowPlayerData = (): SiteVideoData => {\n        const { videoSource } = this.props;\n        return {\n            mediaType: \"MEDIA_VIDEO\",\n            url: videoSource,\n            downGradeUrl: videoSource,\n            poster: \"\",\n            youtube_id: \"\",\n            blockAbroadViews: false,\n            isLive: true,\n            isAutoPlaying: true,\n            isPlayerBarVisible: true,\n            isSoundButtonVisible: true,\n            isMuteAvailable: true\n        }\n    }\n\n    private handlePlayerLoaded = (player) => {\n        const { lang } = this.props\n\n        let browserDisplayMediaMetaData = { title: \"Ynetnews-live\", artist: \"ynetnews\", album: \"Ynetnews\" }; \n        if (lang === \"ru\") {\n            browserDisplayMediaMetaData = { title: \"Vesty-live\", artist: \"vesty\", album: \"vesty\" };\n        }\n        if (browserDisplayMediaMetaData && \"mediaSession\" in navigator) {\n            //@ts-ignore\n            navigator.mediaSession.metadata = new MediaMetadata(\n                browserDisplayMediaMetaData\n            );\n        }\n\n        const that = this;\n        player.setOpts({ ima: null });\n        player.setOpts({ muted: this.state.isMinimizedMode ? false : true });\n        player.play();\n        setImmediate(() => {\n            player.on(\"volumechange\", function (e) { that.onStartAds(player, e) })\n            player.ads.on(\"ad-completed\", function () {\n                that.setState({ preRollAdPlayed: true })\n                player.setOpts({ muted: false });\n                player.play();\n            })\n        })\n\n        setImmediate(() => player.ads.on(\"ad-completed\", function () {\n            that.setState({ preRollAdPlayed: true })\n            player.setOpts({ muted: false });\n            player.play();\n        }))\n\n    }\n\n    private onStartAds = (player, e) => {\n        if (this.state.preRollAdPlayed) return;\n        player.setOpts({ ima: { locale: \"he\", ads: [] } });\n        const adTag = buildAdTag(\"Preroll\", false, true, \"fpn\");\n        player.ads.requestAd(adTag);\n    }\n\n    private onMinimizedModeToggle = () => {\n        this.setState({ isMinimizedMode: !this.state.isMinimizedMode });\n    }\n\n    private onMinimizedPlayerPlayToggler = () => {\n        const playerElement: any = document.querySelector('.minimizedPlayer-pf .fp-engine');\n        if (playerElement) {\n            playerElement.togglePlay();\n            const toggleBtn = document.querySelector(\".minimizedPlayerToggleBtn\");\n            toggleBtn.classList.toggle(\"playBtn\");\n        }\n    }\n\n    public render() {\n        const { isMinimizedMode } = this.state;\n        const { isCustomControllers, lang } = this.props;\n\n        let text = 'live';\n        if (lang === \"ru\") {\n           text = 'прямой эфир';\n        }\n\n        return (\n            <div className=\"YITFloatingPlayer is-sticky\" ref={ref => this.playerRef = ref}>\n                {isMinimizedMode ?\n                    <div className=\"minimizedPlayer-pf\" id=\"minimized-player\">\n                        <div className=\"videoPlayerWrapper\">\n                            <SiteVideoInline\n                                data={this.getFlowPlayerData()}\n                                applyStickyness={true}\n                                hideVideoAds\n                                isShareButton={false}\n                                onPlayerLoaded={this.handlePlayerLoaded}\n                            />\n                        </div>\n                        <div className=\"YITFloatingPlayerCloseButton\" onClick={this.onMinimizedModeToggle}></div>\n                        <div className=\"content\">\n                            <div className=\"textDiv\">{text}</div>\n                            <div className=\"minimizedPlayerToggleBtn\" onClick={this.onMinimizedPlayerPlayToggler}></div>\n                        </div>\n                    </div>\n                    :\n                    <>\n                        {isCustomControllers &&\n                            <div className=\"customControllers\">\n                                <div className=\"controller stickyController\" onClick={this.onMinimizedModeToggle} ></div>\n                            </div>\n                        }\n                        <SiteVideoInline\n                            data={this.getFlowPlayerData()}\n                            applyStickyness={true}\n                            hideVideoAds\n                            isShareButton={false}\n                            onPlayerLoaded={this.handlePlayerLoaded}\n                        />\n                    </>\n                }\n            </div>\n        )\n    }\n}\n\n\n\n","import { LiveVideoPlayer } from \"./liveVideoPlayer\";\n\ninterface LiveVideoPlayerMutamComponentaProps {\n    showVideoOnMobile: boolean\n    videoSource: string\n    lang?: string\n}\nexport class LiveVideoPlayerMutamComponentaEng extends React.Component<LiveVideoPlayerMutamComponentaProps, {}> {\n    static siteScriptName = \"liveVideoPlayerEng\"\n    constructor() {\n        super();\n    }\n\n    render() {\n        const { showVideoOnMobile,videoSource } = this.props;\n        \n        if (!showVideoOnMobile || !videoSource) return null;\n\n        return (\n            <div className=\"liveVideoPlayerMutamComponenta\">\n                <LiveVideoPlayer\n                    lang={this.props.lang} \n                    videoSource={videoSource}\n                    isCustomControllers={true} />\n            </div>\n        )\n    }\n}","import { VideoSettingsData, LinkedItemType, ComponentaIconType, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { SiteItemData, SiteMediaData, SiteImageData } from \"widgets/interfaces\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { isHavakVisible, PayWallArctilceIcon } from \"widgets/commonComponents/inline/payWallHavak/payWallHavak\"\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport * as classNames from \"classnames\"\nimport { MarketingSign } from \"../../../../commonComponents/inline/marketingSign/marketingSign\"\nimport { googleScript } from \"../../../../widgetsUtils\"\n\n\ninterface MultiImagesFrontProps {\n    imageWidth: number\n    imageHeight: number\n    item?: SiteItemData\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    marginLeft?: number\n    ads_infrastructure_type?: string\n}\n\n\n\nexport class ItemMagazineFront extends React.Component<MultiImagesFrontProps>{\n    private getIcon = (icon: ComponentaIconType, hasVideo: boolean) => {\n        if (icon === \"automatic\" && hasVideo) return \"video\"\n        return icon;\n    }\n    public render() {\n        const { imageWidth, item, imageHeight, videoSettings, marginLeft, fieldsDisplaySettings, ads_infrastructure_type } = this.props\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        if (item.isDFP) return <div className=\"slotView dfpId\" style={{ marginLeft: marginLeft }} id={item.dfpId}>\n            {ads_infrastructure_type && ads_infrastructure_type === \"new\" && <script type=\"text/javascript\" dangerouslySetInnerHTML={{ __html: googleScript(item.dfpId) }}></script>}\n        </div>\n        return (<div className=\"slotView\" style={{ marginLeft: marginLeft }}>\n            <div className=\"imageArea\"  data-tb-thumbnail=''>\n                <SlotIconDisplay itemId={item.itemId} icon={this.getIcon(item.icon, item.hasVideo)} iconClassName=\"medium\" isIconVisible={item.hasVideo} />\n                {!isHavakVisible({ premiumExpireDays: item.premiumExpireDays, dateUpdatedOnSite: item.dateUpdatedOnSite }) &&\n                    item.isMarketingContent && <MarketingSign isSmallItem={true} marketingContentText={item.marketingContentText} />}\n                <PayWallArctilceIcon\n                    premiumExpireDays={item.premiumExpireDays}\n                    dateUpdatedOnSite={item.dateUpdatedOnSite}\n                    className={`onImage`} />\n                <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                    <SiteMedia\n                        data={item.media !== undefined ? item.media : emptyMedia}\n                        width={imageWidth}\n                        height={imageHeight}\n                        videoSettings={videoSettings}\n                        itemLinkUrl={item.titleLink}\n                        isImageLinkable={true}\n                        linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                    />\n                </div> </div>\n            <div className=\"slotTextArea\">\n\n                <div className=\"upInfoArea\">\n                    {fieldsDisplaySettings.isChannelNameVisible && item.subchannelName !== null && item.subchannelName}\n                    {fieldsDisplaySettings.isCategoryVisible && !fieldsDisplaySettings.isChannelNameVisible && item.categoryName !== null && item.categoryName}\n                    {item.itemType !== LinkedItemType.ARTICLE && item.promotionText}\n                </div>\n                {fieldsDisplaySettings.isTitleVisible && <div className={classNames(\"slotTitle medium\", item.isCommertial ? \"commertialTitle\" : \"\")}>\n                    <HyperLinkBuilder\n                        href={item.titleLink}\n                        linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                        children={item.title}\n                        isDataTbLink >\n                        <div dangerouslySetInnerHTML={{ __html: item.title }} data-tb-title/>\n                    </HyperLinkBuilder>\n                </div>}\n                {fieldsDisplaySettings.isSubTitleVisible && item.subTitle !== undefined && <div className=\"slotSubTitle\" >\n                    <HyperLinkBuilder\n                        href={item.titleLink}\n                        linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                        children={item.subTitle} >\n                        <div dangerouslySetInnerHTML={{ __html: item.subTitle }} />\n                    </HyperLinkBuilder>\n                </div>}\n                <div className=\"moreDetails\">\n                    {fieldsDisplaySettings.isAuthorVisible && <span className=\"authorField\" data-tb-author>{item.author}</span>}\n                    {fieldsDisplaySettings.isAuthorVisible && item.itemType === LinkedItemType.ARTICLE && fieldsDisplaySettings.isDateVisible && item.author.length > 0 && <span>| </span>}\n                    {item.itemType === LinkedItemType.ARTICLE && fieldsDisplaySettings.isDateVisible && <DateDisplay date={item.dateUpdatedOnSite} isTbDate/>}\n                </div>\n            </div>\n            <div className={classNames(\"commertialTitleLine\", item.isCommertial ? \"showLine\" : \"\")}> </div>\n        </div>\n        )\n    }\n}\n// <div >","\n\nimport { VideoSettingsData, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { MultiImagesScroller, getItemMargin } from \"../../../../commonComponents/base/multiImagesFrontScroller\";\nimport { SiteItemData } from \"widgets/interfaces\"\nimport { ItemMagazineFront } from \"./frontItem\";\nimport { MultiImagesScrollPerItem } from \"../../../../commonComponents/base/multiImagesScrollPerItem\";\n\n\n\n\ninterface MultiImagesFrontProps {\n    itemList: SiteItemData[]\n    width: number\n    fieldsDisplaySettings: IFieldDisplayData\n    videoSettings: VideoSettingsData\n    imageWidth: number\n    imageHeight: number\n    ads_infrastructure_type?: string\n}\n\n\n\nexport class MultiImagesMagazineFront extends React.Component<MultiImagesFrontProps>{\n    public static siteScriptName = \"MultiImagesMagazineFront\";\n    public render() {\n        const { imageWidth, itemList, imageHeight, videoSettings, fieldsDisplaySettings, width, ads_infrastructure_type } = this.props\n        return (\n            <MultiImagesScrollPerItem imageWidth={imageWidth} width={width} itemLength={itemList.length} marginRight={8}>\n                {itemList.map((slot, index) => {\n                    return (\n                        <ItemMagazineFront\n                            imageWidth={imageWidth}\n                            key={index}\n                            imageHeight={imageHeight}\n                            videoSettings={videoSettings}\n                            fieldsDisplaySettings={fieldsDisplaySettings}\n                            item={slot}\n                            marginLeft={8}\n                            ads_infrastructure_type={ads_infrastructure_type}\n                        />\n                    )\n                }\n                )}\n            </MultiImagesScrollPerItem >)\n    }\n}","import { VideoSettingsData, ComponentaIconType, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { SiteItemData, SiteMediaData, SiteImageData } from \"widgets/interfaces\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { MultiImagesScroller } from \"../../../../commonComponents/base/multiImagesFrontScroller\";\nimport { isHavakVisible } from \"../../../../commonComponents/inline/payWallHavak/payWallHavak\";\nimport { MarketingSign } from \"../../../../commonComponents/inline/marketingSign/marketingSign\"\nimport { googleScript } from \"../../../../widgetsUtils\"\n\ninterface MultiImagesFrontProps {\n    width: number\n    imageWidth: number\n    imageHeight: number\n    itemList: SiteItemData[]\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    commertialColor: string\n    titleColor: string\n    subTitleColor: string\n    isCommertial: boolean\n    isLtr?: boolean\n    ads_infrastructure_type?: string\n}\n\n\nexport class StripMarketingFront extends React.Component<MultiImagesFrontProps>{\n    public static siteScriptName = \"StripMarketingFront\";\n\n    private getItemMargin = (componentWidth: number, imageWidth: number) => {\n        const singleItemWidth = imageWidth\n        let numberofVisibleItems = Math.floor(componentWidth / singleItemWidth)\n        let imagesWidth = numberofVisibleItems * singleItemWidth\n        let spaceForMargin = componentWidth - imagesWidth\n        let marginLeft = spaceForMargin / (numberofVisibleItems - 1)\n        return marginLeft\n    }\n\n\n\n    private getIcon = (icon: ComponentaIconType, hasVideo: boolean) => {\n        if (icon === \"automatic\" && hasVideo) return \"video\"\n        return icon;\n    }\n    public render() {\n        const { width, imageWidth, itemList, imageHeight, videoSettings,\n            fieldsDisplaySettings, commertialColor, titleColor,\n            subTitleColor, isCommertial, isLtr, ads_infrastructure_type } = this.props\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const allMediaItems: SiteMediaData[] = itemList.map(item => { return item.media })\n        const dfpMarginStyle = isLtr ? { marginRight: this.getItemMargin(width, imageWidth) } : { marginLeft: this.getItemMargin(width, imageWidth) }\n        return (<MultiImagesScroller width={width} imageWidth={imageWidth} itemLength={itemList.length}>\n            <div>\n                {itemList.map((slot, index) => {\n                    if (slot.isDFP) return <div id={slot.dfpId} key={index} className=\"slotView dfpId\" style={dfpMarginStyle}>\n                                            {ads_infrastructure_type && ads_infrastructure_type === \"new\" && <script type=\"text/javascript\" dangerouslySetInnerHTML={{ __html: googleScript(slot.dfpId) }}></script>}\n                                           </div>\n                    else return (\n                        <div className=\"slotView\" key={`slotItem_${slot.itemId}_${index}`}\n                            style={{ marginLeft: this.getItemMargin(width, imageWidth) }}>\n                            <div className=\"imageArea\">\n                                {!isHavakVisible({ premiumExpireDays: slot.premiumExpireDays, dateUpdatedOnSite: slot.dateUpdatedOnSite }) &&\n                                    slot.isMarketingContent && <MarketingSign isSmallItem={true} marketingContentText={slot.marketingContentText} />}\n                                <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                                    <SiteMedia\n                                        data={slot.media !== undefined ? slot.media : emptyMedia}\n                                        width={imageWidth}\n                                        height={imageHeight}\n                                        videoSettings={videoSettings}\n                                        itemLinkUrl={slot.titleLink}\n                                        isImageLinkable={true}\n                                        linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                    />\n                                </div> </div>\n                            <div className=\"slotTextArea\">\n                                {fieldsDisplaySettings.isTitleVisible && <div className=\"slotTitle small\" style={{ color: titleColor }}>\n                                    <HyperLinkBuilder\n                                        href={slot.titleLink}\n                                        linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                        children={slot.title} >\n                                        <span>\n                                            <div dangerouslySetInnerHTML={{ __html: slot.title }} />\n                                        </span>\n                                    </HyperLinkBuilder>\n                                </div>}\n                                {fieldsDisplaySettings.isSubTitleVisible && slot.subTitle !== undefined && <div className=\"slotSubTitle\" style={{ color: subTitleColor }}>\n                                    <HyperLinkBuilder\n                                        href={slot.titleLink}\n                                        linkTarget={slot.titleTargetLink !== undefined && slot.titleTargetLink}\n                                        children={slot.subTitle} >\n                                        <span>  <div dangerouslySetInnerHTML={{ __html: slot.subTitle }} /></span>\n                                    </HyperLinkBuilder>\n                                </div>}\n                                {isCommertial && <div dangerouslySetInnerHTML={{ __html: slot.bottomText }} className=\"moreDetails\" style={{ color: commertialColor }} />}\n                            </div>\n                        </div>\n                    )\n                }\n                )}\n            </div>\n        </MultiImagesScroller>\n        )\n    }\n}\n","import { YnetWeatherInHeader, WeatherData } from \"../../ynetHeader/components/newYnetWeatherComponenta\";\nimport * as axios from \"axios\"\nimport weatherCodeTranslate from '../../../weather/translations/weatherCodeTranslations'\nimport { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport * as filter from \"lodash/filter\"\nimport { isWcmEditor } from \"../../../../../config/serverConfig\";\n\ninterface WeatherProps {\n    languageCode: string\n    showDescription?:boolean\n}\n\ndeclare let window: Window & {\n    languageCode: string\n}\n\nexport class WeatherMultiArticleItem extends React.Component<WeatherProps,{}> {\n    public static siteScriptName = \"WeatherMultiArticleItem\"\n    constructor(props) {\n        super(props)\n    }\n\n    public render() {\n        const {showDescription,languageCode} = this.props\n        const lang = isWcmEditor()? WCM_LANG_CODE : (typeof window !== \"undefined\" &&  languageCode  && languageCode.slice(0, 2)) || \"\" ;\n        return (\n            <div className=\"weatherItem\">\n                <span className=\"title\">{getWordTranslation(lang,'עכשיו') }</span>\n                <YnetWeatherInHeader showDescription={showDescription} placement={\"weatherInMultiArticle\"} lang={lang} />\n                <SimpleLinkRenderer className=\"goToWeather\" href={getWordTranslation(lang, 'linkToWeather')} >\n                    {getWordTranslation(lang,'לתחזית המלאה') }\n                </SimpleLinkRenderer>\n            </div>\n        )\n    }\n}\n\nexport const getWordTranslation = (lang, text: string) => {\n    var obj = filter(words, function (v, k) {\n        return k === lang;\n    });\n    var content = filter(obj[0], function (v, k) {\n        return k === text;\n    })\n    return content[0]\n\n}\n\nexport const words =\n{\n    \"he\": {\n        \"עכשיו\" : \"עכשיו\",\n        'לתחזית המלאה' : 'לתחזית המלאה' ,\n        'דני רופ'  :'דני רופ' ,\n        'linkToWeather' : 'https://www.ynet.co.il/weather'\n\n    },\n    \"en\": {\n        \"עכשיו\" : \"now\",\n        'לתחזית המלאה'  : 'full forecast',\n        'דני רופ'  : 'Dani Roop',\n        'linkToWeather' : 'https://www.ynetnews.com/weather'\n    },\n    \"ru\": {\n        \"עכשיו\" : \"сейчас\",\n        'לתחזית המלאה'  : 'полный прогноз',\n        'דני רופ'  : 'Данни Рупп',\n        'linkToWeather' : 'https://www.vesty.co.il/weather'\n    },\n  \n}\n\n","import { VideoSettingsData, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { SiteItemData } from \"widgets/interfaces\"\nimport { MultiArticlesSectionItemFront } from \"./multiArticlesSectionItemFront\";\n\ninterface MultiImagesFrontProps {\n    itemList: SiteItemData[]\n    fieldsDisplaySettings: IFieldDisplayData\n    videoSettings: VideoSettingsData\n    imageWidth: number\n    imageHeight: number\n    ads_infrastructure_type?: string\n}\n\ninterface MultiImagesFrontState {\n    lastHovered: number\n}\n\nexport class MultiArticlesSectionFront extends React.Component<MultiImagesFrontProps, MultiImagesFrontState>{\n    public static siteScriptName = \"MultiArticlesSectionFront\";\n    constructor() {\n        super();\n        this.state = {\n            lastHovered: 0,\n        };\n    }\n\n    private slotHoverHandler = (slotIndex: number) => this.setState({lastHovered: slotIndex});\n\n    public render() {\n        const { imageWidth, itemList, imageHeight, videoSettings, fieldsDisplaySettings } = this.props;\n        const {lastHovered} = this.state;\n\n        return (\n            <div className=\"slotList\">{\n                itemList.map((slot, index) => {\n                    return (\n                        <MultiArticlesSectionItemFront\n                            imageWidth={imageWidth}\n                            key={index}\n                            index={index}\n                            imageHeight={imageHeight}\n                            videoSettings={videoSettings}\n                            fieldsDisplaySettings={fieldsDisplaySettings}\n                            item={slot}\n                            marginLeft={20}\n                            lastHovered={lastHovered}\n                            slotHoverHandler={this.slotHoverHandler}\n                        />\n                    )\n                })}\n            </div>\n        )\n    }\n}","import { VideoSettingsData, LinkedItemType, ComponentaIconType, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { SiteItemData, SiteMediaData, SiteImageData } from \"widgets/interfaces\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { isHavakVisible, PayWallArctilceIcon } from \"widgets/commonComponents/inline/payWallHavak/payWallHavak\"\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport * as classNames from \"classnames\"\nimport { MarketingSign } from \"../../../../commonComponents/inline/marketingSign/marketingSign\"\nimport { LabelText } from \"../../topStory/components/labelText\";\n\ninterface MultiArticlesSectionItemFrontProps {\n    imageWidth: number\n    imageHeight: number\n    item?: SiteItemData\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    marginLeft?: number\n    index: number\n    lastHovered: number\n    slotHoverHandler: (slotIndex: number) => void\n}\n\nexport class MultiArticlesSectionItemFront extends React.Component<MultiArticlesSectionItemFrontProps>{\n    private getIcon = (icon: ComponentaIconType, hasVideo: boolean) => {\n        if (icon === \"automatic\" && hasVideo) return \"video\"\n        return icon;\n    }\n\n    public render() {\n        const { imageWidth, item, imageHeight, videoSettings, marginLeft, fieldsDisplaySettings, index, lastHovered, slotHoverHandler } = this.props\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const slotClasses = `slotView${lastHovered === index ? \" active\" : \"\"}`;\n        const isPlus = isHavakVisible({ premiumExpireDays: item.premiumExpireDays, dateUpdatedOnSite: item.dateUpdatedOnSite });\n           let moreInfo;\n        const isChannelVisible = fieldsDisplaySettings.isChannelNameVisible\n        const isAuthor = fieldsDisplaySettings.isAuthorVisible\n        const isSeparatorAfterChannel = isChannelVisible && item.subchannelName && item.subchannelName.length>0;\n        const isSeparatorAfterAuthor = isAuthor && item.author && item.author.length>0 ;\n        const separatorAfterChannel = isSeparatorAfterChannel ? <span className=\"separator\">|</span> : \"\";\n        const separatorAfterAuthor = isSeparatorAfterAuthor ? <span className=\"separator\">|</span> : \"\";\n        if (isChannelVisible || isAuthor) {\n            let authorName;\n            const channel = isSeparatorAfterChannel && <span className=\"channel\" data-tb-category>{item.subchannelName} </span>;\n\n            if (isSeparatorAfterAuthor) {\n                authorName = <span className=\"authorInfo\" data-tb-author>{item.author}</span>\n            }\n       \n\n            moreInfo = <span className=\"moreInfoRow\">{channel}{separatorAfterChannel}{authorName}{separatorAfterAuthor}</span>\n        }\n\n        return (\n            <div className={slotClasses} style={{ marginLeft: marginLeft, width: 190, height: 372 }} onMouseEnter={() => slotHoverHandler(index)}>\n                <div className=\"imageArea\">\n                    <SlotIconDisplay itemId={item.itemId} icon={this.getIcon(item.icon, item.hasVideo)} iconClassName=\"medium\" isIconVisible={item.hasVideo} />\n                    {!isPlus &&\n                            item.isMarketingContent && <MarketingSign isSmallItem={false} marketingContentText={item.marketingContentText} languageCode={\"he-IL\"} />}\n                    { !isPlus &&  <LabelText className=\"basicLabel\" labelText={item.redLabelText} mediaIconPlace={item.textPlace} onLabelTextChange={() => null} />}\n                   <PayWallArctilceIcon\n                        premiumExpireDays={item.premiumExpireDays}\n                        dateUpdatedOnSite={item.dateUpdatedOnSite}\n                        className={`onImage`} />\n                    <div className=\"MediaCarousel\" style={{ width: 190, height: 300 }}>\n                        <SiteMedia\n                            data={item.media !== undefined ? item.media : emptyMedia}\n                            width={imageWidth}\n                            height={imageHeight}\n                            videoSettings={videoSettings}\n                            itemLinkUrl={item.titleLink}\n                            isImageLinkable={true}\n                            linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                        />\n                    </div>\n                </div>\n\n                <div className={`slotTextArea ${fieldsDisplaySettings.isRoofTitleVisible ? \"\" : \"noRoof\"}`}>\n                    {fieldsDisplaySettings.isRoofTitleVisible && <div className=\"slotRoofTitle\" dangerouslySetInnerHTML={{ __html: item.roofTitle }} />}\n\n                \n                    {fieldsDisplaySettings.isTitleVisible && <div className={classNames(\"slotTitle medium\", item.isCommertial ? \"commertialTitle\" : \"\")}>\n                        <HyperLinkBuilder\n                            href={item.titleLink}\n                            linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                            children={item.title}>\n                            <div dangerouslySetInnerHTML={{ __html: item.title }}/>\n                        </HyperLinkBuilder>\n                    </div>}\n                    <a className=\"moreDetails\" href={item.titleLink}>\n                        {moreInfo}\n                     \n                        {item.itemType === LinkedItemType.ARTICLE && <DateDisplay date={item.dateUpdatedOnSite} isTbDate />}\n                    </a>\n                </div>\n                <div className={classNames(\"commertialTitleLine\", item.isCommertial ? \"showLine\" : \"\")}> </div>\n            </div>\n        )\n    }\n}","import { VideoSettingsData, LinkedItemType, ComponentaIconType, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { SiteItemData, SiteMediaData, SiteImageData } from \"widgets/interfaces\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { isHavakVisible, PayWallArctilceIcon } from \"widgets/commonComponents/inline/payWallHavak/payWallHavak\"\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { MarketingSign } from \"../../../../commonComponents/inline/marketingSign/marketingSign\"\nimport { PodcastPlayer } from \"../../../radioWidgets/floatingPlayer/podcastPlayerButton\";\nimport { secondsToHms } from \"../../../../siteWidgets/siteWidgetUtils\";\n\ninterface MultiImagesFrontProps {\n    imageWidth: number\n    imageHeight: number\n    item?: SiteItemData\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    margin?: number\n    onRowDisplay: boolean\n    titleColor: string\n    isYplusComp?: boolean\n    isSmallItem?: boolean\n    isLTR: boolean\n    isImageOnly: boolean\n    includeAudioPlayer: boolean\n    siteName?: string\n}\n\nexport class MultiImagesItemFront extends React.Component<MultiImagesFrontProps>{\n\n    private getIcon = (icon: ComponentaIconType, hasVideo: boolean) => {\n        if (icon === \"automatic\" && hasVideo) return \"video\"\n        return icon;\n    }\n\n    private getSlotViewStyle = () => {\n        const { onRowDisplay, isLTR, margin, isImageOnly } = this.props;\n        let marginStyle = { margin: \"0 10px 24px\" };\n        if (onRowDisplay) {\n            if (!isLTR) {\n                marginStyle = { margin: \"unset\", marginInlineEnd: margin }\n            }\n            else {\n                marginStyle = { margin: \"unset\", marginInlineEnd: margin }\n            }\n        }\n        if (isImageOnly) {\n            marginStyle = { margin: \"0 10px 10px\" }\n        }\n\n        return marginStyle;\n    }\n\n\n    public render() {\n        const { imageWidth, item, imageHeight, videoSettings, margin, fieldsDisplaySettings, onRowDisplay, titleColor, isYplusComp, isSmallItem, isImageOnly, includeAudioPlayer, siteName } = this.props\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const slotViewStyle = this.getSlotViewStyle();\n        const titleStyle = { color: titleColor }\n        const icon = item.icon ? item.icon : \"automatic\";\n        const showUpInfoArea = fieldsDisplaySettings.isChannelNameVisible\n        const shouldDisplaySeparator = fieldsDisplaySettings.isAuthorVisible && item.itemType === LinkedItemType.ARTICLE && fieldsDisplaySettings.isDateVisible && item.author.length > 0;\n        const shouldDisplayFirstSep = fieldsDisplaySettings.isCategoryVisible && includeAudioPlayer && fieldsDisplaySettings.isAuthorVisible && item.itemType === LinkedItemType.ARTICLE;\n        const shouldDisplayDate = fieldsDisplaySettings.isDateVisible && item.itemType === LinkedItemType.ARTICLE;\n        const isPlus = isHavakVisible({ premiumExpireDays: item.premiumExpireDays, dateUpdatedOnSite: item.dateUpdatedOnSite });\n        const isAudioIconVisible = includeAudioPlayer && (item.icon === \"audio\" || item.icon === \"automatic\") && item.audioArticleData && item.audioArticleData.audioUrl && item.audioArticleData.durationSeconds;\n        const itemLabel = `${item.categoryName} - ${item.title}`;\n        const browserDisplayMediaMetaData = { title: item.title, artist: \"ynet\", album: item.categoryName }\n        const alternatePresenterName = item.audioArticleData && item.audioArticleData.alternatePresenterName;\n        const displayCategoryOrPresenterName = alternatePresenterName ? alternatePresenterName : item.categoryName;\n        //    const author =   fieldsDisplaySettings.isCategoryVisible && (item.category || alternatePresenterName) && <span className=\"category\">{displayCategoryOrPresenterName}</span>\n        const isMoreDetails = fieldsDisplaySettings.isDateVisible || (fieldsDisplaySettings.isCategoryVisible && includeAudioPlayer) || fieldsDisplaySettings.isAuthorVisible;\n        let rangeThumbColor = \"\";\n        let rangeColor = \"\";\n        let rangeProgressColor = \"\";\n\n        switch (siteName) {\n            case \"magazine2025\":\n                rangeThumbColor = \"#fff\";\n                rangeColor = \"#ffffff6c\";\n                rangeProgressColor = \"#fff\";\n                break;\n\n            default: //by leaving an empty strings the default colors will be used which are ynets colors\n                break;\n        }\n\n        return (\n            <div className=\"slotView\" style={slotViewStyle}>\n                <div className=\"imageArea\" data-tb-thumbnail=''>\n                    <PayWallArctilceIcon\n                        premiumExpireDays={item.premiumExpireDays}\n                        dateUpdatedOnSite={item.dateUpdatedOnSite}\n                        className={`onImage`}\n                        dataTbPremium\n                    />\n\n                    <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }} >\n                        <SiteMedia\n                            data={item.media !== undefined ? item.media : emptyMedia}\n                            width={imageWidth}\n                            height={imageHeight}\n                            videoSettings={videoSettings}\n                            itemLinkUrl={item.titleLink}\n                            isImageLinkable={!isAudioIconVisible}\n                            linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                        />\n\n                        <SlotIconDisplay\n                            itemId={item.itemId} icon={isAudioIconVisible ? \"audio\" : this.getIcon(icon, item.hasVideo)} iconClassName=\"medium\"\n                            isIconVisible={item.hasVideo || icon === \"video\" || icon === \"automatic\" || icon === \"audio\"}\n                            duration={isAudioIconVisible && secondsToHms(item.audioArticleData.durationSeconds)}\n                            durationShow={isAudioIconVisible}\n                        />\n                    </div>\n\n                    {!isPlus && !includeAudioPlayer && item.isMarketingContent &&\n                        <MarketingSign isSmallItem={isSmallItem} marketingContentText={item.marketingContentText} />\n                    }\n\n                    {!isPlus && !item.isMarketingContent && item.redLabelText && item.redLabelText.length > 0 &&\n                        <span className={`basicLabel labelText ${item.textPlace}`}>{item.redLabelText}</span>\n                    }\n                </div>\n\n                {!isImageOnly &&\n                    <div className=\"slotTextArea\">\n                        {showUpInfoArea &&\n                            <div className=\"upInfoArea\">\n                                {fieldsDisplaySettings.isChannelNameVisible && item.subchannelName !== null && item.subchannelName}\n                            </div>\n                        }\n\n                        {fieldsDisplaySettings.isTitleVisible &&\n                            <div className={`slotTitle medium ${item.isCommertial ? \"commertialTitle\" : \"\"}`}>\n                                <HyperLinkBuilder\n                                    href={item.titleLink}\n                                    isDataTbLink={true}\n                                    linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                                    children={item.title}\n                                >\n                                    <div dangerouslySetInnerHTML={{ __html: item.title }} style={titleStyle} data-tb-title='' />\n                                </HyperLinkBuilder>\n                            </div>\n                        }\n\n                        {(!item.isYplusItem || !isYplusComp) && isMoreDetails &&\n                            <div className=\"moreDetails\">\n                                {fieldsDisplaySettings.isCategoryVisible && includeAudioPlayer && (item.categoryName || alternatePresenterName) && <span className=\"authorField\">{displayCategoryOrPresenterName}</span>}\n                                {shouldDisplayFirstSep && <span className=\"separator\">|</span>}\n                                {fieldsDisplaySettings.isAuthorVisible && <span className=\"authorField\" data-tb-author=''>{item.author}</span>}\n                                {shouldDisplaySeparator && <span className=\"separator\">|</span>}\n                                {shouldDisplayDate && <DateDisplay date={item.dateUpdatedOnSite} isTbDate />}\n                            </div>\n                        }\n                    </div>}\n\n                {isAudioIconVisible &&\n                    <PodcastPlayer\n                        audioUrl={item.audioArticleData.audioUrl}\n                        title={itemLabel}\n                        className=\"audio-play-button\"\n                        durationSeconds={item.audioArticleData.durationSeconds}\n                        browserDisplayMediaMetaData={browserDisplayMediaMetaData}\n                        isMobileWeb={false}\n                        articleLink={item.titleLink}\n                        articleData={item}\n                        rangeColor={rangeColor}\n                        rangeThumbColor={rangeThumbColor}\n                        rangeProgressColor={rangeProgressColor}\n                    />\n                }\n            </div>\n        )\n    }\n}","\n\nimport { VideoSettingsData, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { MultiImagesScroller, getItemMargin } from \"widgets/commonComponents/base/multiImagesFrontScroller\";\nimport { SiteItemData } from \"widgets/interfaces\"\nimport { MultiImagesItemFront } from \"./frontItem\"\nimport { googleScript } from \"../../../../widgetsUtils\"\nimport { MultiImagesScrollPerItem } from \"widgets/commonComponents/base/multiImagesScrollPerItem\"\n\ninterface MultiImagesFrontProps {\n    itemList: SiteItemData[]\n    width: number\n    fieldsDisplaySettings: IFieldDisplayData\n    videoSettings: VideoSettingsData\n    imageWidth: number\n    imageHeight: number\n    onRowDisplay: boolean\n    titleColor: string\n    isYplusComp?: boolean\n    isLTR?: boolean\n    isImageOnly?: boolean\n    ads_infrastructure_type?: string\n    includeAudioPlayer?: boolean\n    siteName?: string\n}\n\nexport class MultiImages1280Front extends React.Component<MultiImagesFrontProps>{\n    public static siteScriptName = \"MultiImages1280Front\";\n\n    public render() {\n        const { imageWidth, itemList, imageHeight, videoSettings, fieldsDisplaySettings, width, onRowDisplay, titleColor, isYplusComp, isLTR, isImageOnly, ads_infrastructure_type, includeAudioPlayer, siteName } = this.props\n        const itemStyle = { marginInlineEnd: getItemMargin(width, imageWidth) }\n\n        if (onRowDisplay) return (\n            <MultiImagesScrollPerItem imageWidth={imageWidth} width={width} itemLength={itemList.length} isLTR={isLTR} marginRight={getItemMargin(width, imageWidth)} >\n                {itemList.map((slot, index) => {\n                    if (slot.isDFP) return (\n                        <div id={slot.dfpId} key={index} className={`slotView dfpId ${slot.isCommertial ? \"commertialStyle\" : \"\"}`} style={itemStyle}>\n                            {ads_infrastructure_type && ads_infrastructure_type === \"new\" && <script type=\"text/javascript\" dangerouslySetInnerHTML={{ __html: googleScript(slot.dfpId) }}></script>}\n                        </div>\n                    )\n                    else return (\n                        <MultiImagesItemFront\n                            imageWidth={imageWidth}\n                            key={index}\n                            imageHeight={imageHeight}\n                            videoSettings={videoSettings}\n                            fieldsDisplaySettings={fieldsDisplaySettings}\n                            item={slot}\n                            titleColor={titleColor}\n                            margin={getItemMargin(width, imageWidth)}\n                            onRowDisplay={onRowDisplay}\n                            isYplusComp={isYplusComp}\n                            isSmallItem={true}\n                            isLTR={isLTR}\n                            isImageOnly={isImageOnly}\n                            includeAudioPlayer={includeAudioPlayer}\n                            siteName={siteName}\n                        />\n                    )\n                })}\n            </MultiImagesScrollPerItem >\n        )\n        else return (\n            <div className=\"slotsContent\">\n                {itemList.map((slot, index) => {\n                    if (slot.isDFP) return (\n                        <div id={slot.dfpId} key={index} className={`slotView dfpId ${slot.isCommertial ? \"commertialStyle\" : \"\"}`} style={{ margin: \"0 10px 24px\" }} >\n                            {ads_infrastructure_type && ads_infrastructure_type === \"new\" && <script type=\"text/javascript\" dangerouslySetInnerHTML={{ __html: googleScript(slot.dfpId) }}></script>}\n                        </div>\n                    )\n                    else return (\n                        <MultiImagesItemFront\n                            imageWidth={imageWidth}\n                            key={index}\n                            imageHeight={imageHeight}\n                            videoSettings={videoSettings}\n                            fieldsDisplaySettings={fieldsDisplaySettings}\n                            item={slot}\n                            margin={getItemMargin(width, imageWidth)}\n                            onRowDisplay={onRowDisplay}\n                            titleColor={titleColor}\n                            isYplusComp={isYplusComp}\n                            isSmallItem={true}\n                            isLTR={isLTR}\n                            isImageOnly={isImageOnly}\n                            includeAudioPlayer={includeAudioPlayer}\n                            siteName={siteName}\n                        />\n                    )\n                })}\n            </div>\n        )\n    }\n}","import { VideoSettingsData, LinkedItemType, ComponentaIconType, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { SiteItemData, SiteMediaData, SiteImageData } from \"widgets/interfaces\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { isHavakVisible, PayWallArctilceIcon } from \"widgets/commonComponents/inline/payWallHavak/payWallHavak\"\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport * as classNames from \"classnames\"\nimport { MarketingSign } from \"../../../../commonComponents/inline/marketingSign/marketingSign\"\nimport { googleScript } from \"../../../../widgetsUtils\"\n\ninterface MultiImagesFrontProps {\n    imageWidth: number\n    imageHeight: number\n    item?: SiteItemData\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    marginLeft?: number\n    ads_infrastructure_type?: string\n}\n\nexport class ItemMagazineFront extends React.Component<MultiImagesFrontProps>{\n    private getIcon = (icon: ComponentaIconType, hasVideo: boolean) => {\n        if (icon === \"automatic\" && hasVideo) return \"video\"\n        return icon;\n    }\n    public render() {\n        const { imageWidth, item, imageHeight, videoSettings, marginLeft, fieldsDisplaySettings, ads_infrastructure_type } = this.props\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        if (item.isDFP) return <div className=\"slotView dfpId\" style={{ marginLeft: marginLeft }} id={item.dfpId}>\n            {ads_infrastructure_type && ads_infrastructure_type === \"new\" && <script type=\"text/javascript\" dangerouslySetInnerHTML={{ __html: googleScript(item.dfpId) }}></script>}\n        </div>\n        return (<div className=\"slotView\" style={{ marginLeft: marginLeft, width: imageWidth, height: 272 }}>\n            <div className=\"imageArea\" data-tb-thumbnail=''>\n                <SlotIconDisplay itemId={item.itemId} icon={this.getIcon(item.icon, item.hasVideo)} iconClassName=\"medium\" isIconVisible={item.hasVideo} />\n              \n                {!isHavakVisible({ premiumExpireDays: item.premiumExpireDays, dateUpdatedOnSite: item.dateUpdatedOnSite }) && !fieldsDisplaySettings.isDesktopYplusLogoVisible &&\n                    item.isMarketingContent && <MarketingSign isSmallItem={true} marketingContentText={item.marketingContentText} />}\n               {fieldsDisplaySettings.isDesktopYplusLogoVisible &&   <PayWallArctilceIcon\n                    premiumExpireDays={item.premiumExpireDays}\n                    dateUpdatedOnSite={item.dateUpdatedOnSite}\n                    className={`onImage`} />}\n                <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                    <SiteMedia\n                        data={item.media !== undefined ? item.media : emptyMedia}\n                        width={imageWidth}\n                        height={imageHeight}\n                        videoSettings={videoSettings}\n                        itemLinkUrl={item.titleLink}\n                        isImageLinkable={true}\n                        linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                    />\n                </div> </div>\n            <div className={`slotTextArea ${fieldsDisplaySettings.isRoofTitleVisible ? \"\" : \"noRoof\"}`}>\n                {fieldsDisplaySettings.isRoofTitleVisible &&  <div  className=\"slotRoofTitle\" dangerouslySetInnerHTML={{ __html: item.roofTitle }}/>}\n\n                <div className=\"upInfoArea\">\n                    {fieldsDisplaySettings.isChannelNameVisible && item.subchannelName !== null && item.subchannelName}\n                    {fieldsDisplaySettings.isCategoryVisible && !fieldsDisplaySettings.isChannelNameVisible && item.categoryName !== null && item.categoryName}\n                    {item.itemType !== LinkedItemType.ARTICLE && item.promotionText}\n                </div>\n                {fieldsDisplaySettings.isTitleVisible && <div className={classNames(\"slotTitle medium\", item.isCommertial ? \"commertialTitle\" : \"\")}>\n                    <HyperLinkBuilder\n                        href={item.titleLink}\n                        linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                        children={item.title}\n                        isDataTbLink >\n                        <div dangerouslySetInnerHTML={{ __html: item.title }} data-tb-title />\n                    </HyperLinkBuilder>\n                </div>}\n                {fieldsDisplaySettings.isSubTitleVisible && item.subTitle !== undefined && <div className=\"slotSubTitle\" >\n                    <HyperLinkBuilder\n                        href={item.titleLink}\n                        linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                        children={item.subTitle} >\n                        <div dangerouslySetInnerHTML={{ __html: item.subTitle }} />\n                    </HyperLinkBuilder>\n                </div>}\n                <div className=\"moreDetails\">\n                    {fieldsDisplaySettings.isAuthorVisible && <span className=\"authorField\" data-tb-author>{item.author}</span>}\n                    {fieldsDisplaySettings.isAuthorVisible && item.itemType === LinkedItemType.ARTICLE && fieldsDisplaySettings.isDateVisible && item.author.length > 0 && <span>| </span>}\n                    {item.itemType === LinkedItemType.ARTICLE && fieldsDisplaySettings.isDateVisible && <DateDisplay date={item.dateUpdatedOnSite} isTbDate />}\n                </div>\n            </div>\n            <div className={classNames(\"commertialTitleLine\", item.isCommertial ? \"showLine\" : \"\")}> </div>\n        </div>\n        )\n    }\n}\n// <div >","import { VideoSettingsData, LinkedItemType, ComponentaIconType, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { SiteItemData, SiteMediaData, SiteImageData, PageComponentaContext } from \"widgets/interfaces\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { isHavakVisible, PayWallArctilceIcon } from \"widgets/commonComponents/inline/payWallHavak/payWallHavak\"\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { RenderReactAtSite } from \"widgets/commonComponents/inline/renderReactAtSite\"\nimport { MutamMarketingSign } from \"../../../../commonComponents/inline/marketingSign/mutamMarketingSign\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport { ArticleData } from \"articlePage/stateInterfaces\"\nimport { SiteMediaMobileWrapper } from \"../../../../siteWidgets/siteMediaMutamWrapper\";\n\ninterface MultiImagesFrontProps {\n    imageWidth: number\n    imageHeight: number\n    item?: SiteItemData\n    videoSettings?: VideoSettingsData\n    fieldsDisplaySettings?: IFieldDisplayData\n    titleColor: string\n    isYplusComp?: boolean\n    getArticle(articleId: string): ArticleData\n    displayType: string\n    index: number\n    isSpecial?: boolean\n    isImageOnly: boolean\n}\n\nexport class MultiImagesItemFrontMobile extends React.Component<MultiImagesFrontProps & Partial<PageComponentaContext>>{\n    private getIcon = (icon: ComponentaIconType, hasVideo: boolean) => {\n        if (icon === \"automatic\" && hasVideo) return \"video\"\n        return icon;\n    }\n    public render() {\n        const { imageWidth, item, imageHeight, videoSettings, fieldsDisplaySettings, titleColor, isYplusComp, getArticle, displayType, index, isSpecial, isImageOnly } = this.props\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const titleStyle = { color: titleColor }\n        const icon = item.icon ? item.icon : \"automatic\"\n        const showUpInfoArea = fieldsDisplaySettings.isChannelNameVisible\n        const authorImage = getArticle(item.itemId).firstAuthorImage\n        const isSpecialBigItem = displayType === \"MultiArticleImages\" && index === 0;\n        const isSmallItem = isSpecial && !isSpecialBigItem;\n        const isPlus = isHavakVisible({ premiumExpireDays: item.premiumExpireDays, dateUpdatedOnSite: item.dateUpdatedOnSite }) && fieldsDisplaySettings.isMobileYplusLogoVisible;\n\n        return (\n            <div className=\"slotView\">\n                <div className=\"mediaArea\" data-tb-thumbnail='' style={{ position: !isSmallItem && !isPlus ? \"relative\" : \"unset\" }}>\n                  {fieldsDisplaySettings.isMobileYplusLogoVisible && <PayWallArctilceIcon  premiumExpireDays={item.premiumExpireDays} dateUpdatedOnSite={item.dateUpdatedOnSite} className={`onImage`} />}\n                    <div className=\"MediaCarousel\">\n                        <RenderReactAtSite>\n                            <SiteMediaMobileWrapper\n                                data={item.media !== undefined ? item.media : emptyMedia}\n                                width={imageWidth}\n                                height={imageHeight}\n                                videoSettings={videoSettings}\n                                itemLinkUrl={item.titleLink}\n                                isImageLinkable={true}\n                                linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink} />\n                        </RenderReactAtSite>\n                       \n                        <SlotIconDisplay itemId={item.itemId} icon={this.getIcon(icon, item.hasVideo)} iconClassName=\"medium\" isIconVisible={item.hasVideo || icon === \"video\" || icon === \"automatic\"} />\n                        {!isPlus &&\n                            !item.isMarketingContent && item.redLabelText && item.redLabelText.length > 0 && <span className={`basicLabel labelText ${item.textPlace}`}>{item.redLabelText}</span>}\n                    </div>\n\n                    {!isSmallItem && !isPlus && item.isMarketingContent &&\n                        <RenderReactAtSite>\n                            <MutamMarketingSign isSmallItem={false} marketingContentText={item.marketingContentText} />\n                        </RenderReactAtSite>}\n\n                </div>\n\n                {!isImageOnly && <div className=\"textArea\">\n                    {showUpInfoArea &&\n                        <div className=\"upInfoArea\">\n                            {fieldsDisplaySettings.isChannelNameVisible && item.subchannelName !== null && item.subchannelName}\n                        </div>}\n                    <div className=\"slotRoofTitle\" dangerouslySetInnerHTML={{ __html: item.roofTitle }}/>\n                    {fieldsDisplaySettings.isTitleVisible &&\n                        <div className={`slotTitle medium ${item.isCommertial ? \"commertialTitle\" : \"\"}`}>\n                            <HyperLinkBuilder\n                                href={item.titleLink}\n                                linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                                children={item.title}\n                                isDataTbLink >\n                                <div dangerouslySetInnerHTML={{ __html: item.title }} style={titleStyle} data-tb-title />\n                            </HyperLinkBuilder>\n                        </div>}\n\n                    {(!item.isYplusItem || !isYplusComp) &&\n                        <div className=\"moreDetails\">\n                            {displayType === \"MultiArticleImages\" && authorImage && <div className=\"authorImage\"><SiteSimpleImage src={authorImage} /></div>}\n                            {fieldsDisplaySettings.isAuthorVisible && <span className=\"authorInfo\" data-tb-author>{item.author}</span>}\n                            {fieldsDisplaySettings.isAuthorVisible && fieldsDisplaySettings.isDateVisible && item.author.length > 0 && item.itemType === LinkedItemType.ARTICLE && <span className=\"separator\">|</span>}\n                            {fieldsDisplaySettings.isDateVisible && item.itemType === LinkedItemType.ARTICLE && <DateDisplay date={item.dateUpdatedOnSite} isTbDate />}\n                        </div>}\n                </div>}\n                {isSmallItem && !isHavakVisible({ premiumExpireDays: item.premiumExpireDays, dateUpdatedOnSite: item.dateUpdatedOnSite }) && item.isMarketingContent &&\n                    <RenderReactAtSite>\n                        <MutamMarketingSign isSmallItem={true} marketingContentText={item.marketingContentText} />\n                    </RenderReactAtSite>}\n            </div>\n        )\n    }\n}","import { VideoSettingsData, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { SiteItemData } from \"widgets/interfaces\"\nimport { MultiImagesItemFrontMobile } from \"./frontItemMobile\";\nimport { ArticleData } from \"articlePage/stateInterfaces\"\n\ninterface MultiImagesFrontProps {\n    itemList: SiteItemData[]\n    width: number\n    fieldsDisplaySettings: IFieldDisplayData\n    videoSettings: VideoSettingsData\n    imageWidth: number\n    imageHeight: number\n    titleColor: string\n    isYplusComp?: boolean\n    displayType: string\n    isSpecial?: boolean\n    isImageOnly?: boolean\n    getArticle(articleId: string): ArticleData\n}\n\nexport class MultiImagesYplusFrontMobile extends React.Component<MultiImagesFrontProps>{\n    public static siteScriptName = \"MultiImagesYplusFrontMobile\";\n    \n    public render() {\n        const { imageWidth, itemList, imageHeight, videoSettings, fieldsDisplaySettings, titleColor, isYplusComp, getArticle, displayType, isSpecial, isImageOnly } = this.props\n        const className = `slotList ${isImageOnly ? \"imageOnly\" : \"\"}`;\n\n        return (\n            <div className=\"slotsContent\">\n                <div className={className}>\n                    {itemList.map((slot, index) => {\n                        return (\n                            <MultiImagesItemFrontMobile\n                                imageWidth={imageWidth}\n                                index={index}\n                                imageHeight={imageHeight}\n                                videoSettings={videoSettings}\n                                fieldsDisplaySettings={fieldsDisplaySettings}\n                                item={slot}\n                                titleColor={titleColor}\n                                isYplusComp={isYplusComp}\n                                isMutamView={true}\n                                getArticle={getArticle}\n                                displayType={displayType}\n                                isSpecial={isSpecial}\n                                isImageOnly={isImageOnly}\n                            />\n                        )\n                    })}\n                </div>\n            </div>\n        )\n    }\n}","\n\nimport { VideoSettingsData, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { MultiImagesScroller, getItemMargin } from \"../../../../commonComponents/base/multiImagesFrontScroller\";\nimport { SiteItemData } from \"widgets/interfaces\"\nimport { MultiImagesScrollPerItem } from \"../../../../commonComponents/base/multiImagesScrollPerItem\";\nimport { ItemMagazineFront } from \"./frontItem\";\n\n\n\n\ninterface MultiImagesFrontProps {\n    itemList: SiteItemData[]\n    width: number\n    fieldsDisplaySettings: IFieldDisplayData\n    videoSettings: VideoSettingsData\n    imageWidth: number\n    imageHeight: number\n    ads_infrastructure_type?: string\n}\n\n\n\nexport class MultiMagazineYplusFront extends React.Component<MultiImagesFrontProps>{\n    public static siteScriptName = \"MultiImagesMagazineYplusFront\";\n    public render() {\n        const { imageWidth, itemList, imageHeight, videoSettings, fieldsDisplaySettings, width, ads_infrastructure_type } = this.props\n        return (\n            <MultiImagesScrollPerItem imageWidth={imageWidth} width={width} itemLength={itemList.length} marginRight={20}>\n                {itemList.map((slot, index) => {\n                    return (\n                        <ItemMagazineFront\n                            imageWidth={imageWidth}\n                            key={index}\n                            imageHeight={imageHeight}\n                            videoSettings={videoSettings}\n                            fieldsDisplaySettings={fieldsDisplaySettings}\n                            item={slot}\n                            marginLeft={20}\n                            ads_infrastructure_type={ads_infrastructure_type}\n                        />\n                    )\n                }\n                )}\n            </MultiImagesScrollPerItem >)\n    }\n}","import { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\n\n\ninterface YnetPremiumLoginState {\n    user: { props: { firstName: string } }\n}\nexport interface promItem {\n    link: string\n    urlLogo: string\n    logoLink: string\n    btnText: string\n    title: string\n    subTitle: string\n    logoLinkTarget: LinkTargetProperties\n    linkTarget: LinkTargetProperties\n}\ninterface YnetPlusPropmotionProps {\n    loggedView: promItem\n    promView: promItem\n}\nexport class YnetPlusPromotion extends React.Component<YnetPlusPropmotionProps, YnetPremiumLoginState>{\n    public static siteScriptName = \"YnetPlusPromotion\";\n    constructor(props) {\n        super(props)\n        this.state = {\n            user: null,\n        }\n    }\n\n    componentDidMount() {\n        if (window && window.YitPaywall && window.YitPaywall.user) {\n            this.setState({\n                user: window.YitPaywall.user\n            })\n        }\n    }\n\n\n\n    render() {\n        const { user } = this.state\n        const { loggedView, promView } = this.props\n        const item = !user ? promView : loggedView\n        return (\n            <div className=\"promotionItem\">\n                {item.urlLogo !== \"\" &&\n                    <HyperLinkBuilder href={item.logoLink} linkTarget={item.logoLinkTarget}>\n                        <SiteSimpleImage src={item.urlLogo} className=\"promLogo\" width={90} height={33} />\n                    </HyperLinkBuilder>}\n                <div className=\"promTitle\">{item.title}</div>\n                <div className=\"promSubTitle\">{item.subTitle}</div>\n                <HyperLinkBuilder className=\"promButton\" href={item.link} linkTarget={item.linkTarget}>{item.btnText}</HyperLinkBuilder>\n            </div>\n        )\n    }\n}","import * as axios from \"axios\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { TickerViewData } from \"../../../tickerAuto/interfaces\";\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { ArticleExtraData } from \"articlePage/stateInterfaces\"\nimport { addAxiosDateTransformerSettings } from \"../../../../../utils/network/axiosDateTransformer\";\nimport { RowTickerList } from \"./rowTickerList\";\n\ninterface TickerAutoRowViewProps {\n    data: Partial<TickerViewData>\n    componentaId: string\n    articles: ArticleExtraData[]\n    displayType: string\n    isLtr?:boolean\n    languageCode?:string \n}\ninterface TickerAutoRowViewState {\n    tickerArticles: ArticleExtraData[]\n    isFirstInterval: boolean\n    shouldDisplayLoader: boolean\n}\ndeclare let window: Window & {\n    languageCode: string\n}\n\n\nexport class TickerAutoDesktopView extends React.Component<TickerAutoRowViewProps, TickerAutoRowViewState>  {\n    public static siteScriptName = \"TickerAutoDesktopView\"\n\n    static defaultProps = { isWar: false }\n    constructor(props) {\n        super(props)\n        this.state = {\n            tickerArticles: [],\n            isFirstInterval: true,\n            shouldDisplayLoader: false,\n        }\n    }\n\n    componentDidMount() {\n        const { data } = this.props;\n        const highlightingDuration = data.highlightingDuration ? data.highlightingDuration : 3;\n        if (data.category.link.id) {\n            this.getTickerArticles(highlightingDuration)\n            setInterval(() => {\n                this.setState({ isFirstInterval: false })\n                this.getTickerArticles(highlightingDuration)\n            }, 60000);\n        }\n    }\n\n    private getTickerArticles(highlightingDuration: number) {\n        const { componentaId, data, languageCode } = this.props;\n        const { isFirstInterval, shouldDisplayLoader, tickerArticles } = this.state;\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n\n        axiosInstance.get(`/iphone/json/api/auto_ticker/${componentaId}`)\n            .then((res: any) => {\n                this.setState({ tickerArticles: res.data.data.tickerAutoDesktop.data });\n            }).then(() => {\n                const zeroMinDiff = this.state.tickerArticles.some((article) => minutesDiff(article) < 1);\n                const upToFiveMinDiff = this.state.tickerArticles.some((article) => minutesDiff(article) < highlightingDuration);\n\n                if ((isFirstInterval && upToFiveMinDiff) || zeroMinDiff) {\n                    this.setState({ shouldDisplayLoader: true })\n                    setTimeout(() => {\n                        this.setState({ shouldDisplayLoader: false })\n                    }, 2000)\n                };\n            })\n            .catch(err => console.error(\"error geting ticker data:\", err))\n    }\n\n    public render() {\n        const { data, displayType, isLtr, languageCode } = this.props\n        const { tickerArticles, isFirstInterval, shouldDisplayLoader } = this.state\n        const highlightingDuration = data.highlightingDuration ? data.highlightingDuration : 3;\n        const lang = (typeof window !== \"undefined\" &&  window.languageCode)  || \"\";\n        const targetTitleLink: LinkTargetProperties = {\n            linkOpenType: \"same\",\n            lightBoxBgColor: \"\",\n            lightBoxHeight: null,\n            lightBoxOpacity: null,\n            lightBoxWidth: 0\n        }\n        let itemList = [];\n        const shiftValue = 9 - tickerArticles.length;\n\n        itemList = tickerArticles;\n        const isShortMode = displayType && displayType === \"short\";\n        const mainClassName = isLtr ? \"TickerSliderEngComponenta\" : \"TickerSliderComponenta\";\n      let allUpdatesText = \"לכל העדכונים\";\n      let title =  isShortMode ? \"לכל המבזקים\" : \"מבזקים\";\n      if(lang && lang.includes(\"ru\")){\n        title = \"последние новости\";\n      }\n      else if(lang && lang.includes(\"en\")){\n        title = \"Breaking News\";\n      }\n        return (\n            <div className={`${mainClassName} ${displayType ? displayType : \"\"}`}>\n                <HyperLinkBuilder className=\"titleArea\" href={data.tabHref} linkTarget={data.tabTitleLinkTarget}>\n                    <div className=\"tickerTitle\">  {!isShortMode && <img className={\"tickerBell\"} src={\"https://www.ynet.co.il/images/NewsFlash/Desktop_Bell_6_seconds_new.gif\"} />} <span>{title}</span></div>\n                    {!isShortMode && !isLtr &&  <span className=\"gotoButton\" >{allUpdatesText}</span>}\n                </HyperLinkBuilder>\n                <div className=\"slotsContent\">\n                    <RowTickerList siteFlashList={itemList}\n                        seconds={data.seconds}\n                        highlightingDuration={highlightingDuration}\n                        tabHref={data.tabHref}\n                        firstArticleId={tickerArticles && tickerArticles.length > 0 ? tickerArticles[0].articleId : \"\"}\n                        isFirstInterval={isFirstInterval}\n                        shouldDisplayLoader={shouldDisplayLoader}\n                        isShortMode={isShortMode}\n                        isLtr={isLtr}\n                        lang={lang}\n                    />\n                </div>\n\n            </div>\n        )\n    }\n}\n\nfunction rotate(arr: Array<any>, moveBy: number) {\n    const dest = [];\n    let current = moveBy <= 0 ? Math.abs(moveBy) : arr.length - moveBy;\n    for (let index = 0; index < arr.length; index++) {\n        dest[current] = arr[index];\n        current++;\n        if (current === arr.length) current = 0;\n    }\n    return dest;\n}\n\nfunction reverse(src: Array<any>) {\n    const dest = [];\n    for (let index = src.length - 1; index >= 0; index--) {\n        dest.push(src[index]);\n    }\n    return dest;\n}\n\nexport const minutesDiff = (article: ArticleExtraData) => {\n    return Math.floor((new Date().getTime() - article.dateUpdatedOnSite.getTime()) / (1000 * 60));\n}","import * as axios from \"axios\";\nimport { ArticleExtraData } from \"articlePage/stateInterfaces\";\nimport { addAxiosDateTransformerSettings } from \"../../../../../utils/network/axiosDateTransformer\";\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { formatDate } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport { TwentyFourSevenSlotList } from \"./twentyFourSevenSlotList\";\nimport { TickerSlotList } from \"./tickerSlotList\";\n\ninterface NewsFlashAndTwentyFourSevenMobileComponentaProps {\n    componentaId?: string\n    languageCode: string\n    twentyFourSevenCategoryId: string\n    numberOfVisibleDays: number\n    twentyFourSevenBottomTitle: string\n    twentyFourSevenFieldsDisplaySettings: IFieldDisplayData\n    twentyFourSevenBottomLink: string\n    tickerFieldsDisplaySettings: IFieldDisplayData\n    tickerCategoryId: string\n    tickerBottomLink: string\n    tickerBottomTitle: string\n    highlightingDuration:number\n    mobileDisplayType:string\n}\n\ninterface NewsFlashAndTwentyFourSevenMobileComponentaState {\n    shouldDisplayTicker: boolean\n    pageNumber: number\n    twentyFourSevenArticles: ArticleExtraData[]\n    tickerArticles: ArticleExtraData[]\n    isFirstInterval: boolean\n    shouldDisplayLoader: boolean\n   \n}\n\nexport class NewsFlashAndTwentyFourSevenMobileComponenta extends React.Component<NewsFlashAndTwentyFourSevenMobileComponentaProps, NewsFlashAndTwentyFourSevenMobileComponentaState> {\n    public static siteScriptName = \"SiteNewsFlashAndTwentyFourSevenComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            shouldDisplayTicker: true,\n            pageNumber: 0,\n            twentyFourSevenArticles: [],\n            tickerArticles: [],\n            isFirstInterval: true,\n            shouldDisplayLoader: false,\n        }\n    }\n\n    componentDidMount() {\n        const { twentyFourSevenCategoryId, tickerCategoryId } = this.props;\n\n        if (twentyFourSevenCategoryId) {\n            this.getTwentyFourSevenArticles()\n        }\n        \n        if (tickerCategoryId) {\n            this.getTickerArticles()\n            setInterval(() => {\n                this.setState({ isFirstInterval: false })\n                this.getTickerArticles()\n            }, 60000);\n        }\n    }\n\n    private getStartDate = (numberOfDays: number) => {\n        const today = new Date();\n        const startDate = new Date(today.getTime() - ((numberOfDays - 1) * 24 * 60 * 60 * 1000));\n        return startDate;\n    }\n\n    private getTwentyFourSevenArticles = () => {\n        const { componentaId, numberOfVisibleDays } = this.props\n        const { pageNumber, twentyFourSevenArticles } = this.state\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        const formatedStartDate = formatDate(new Date(this.getStartDate(numberOfVisibleDays)), \"YYYY-MM-DD\");\n\n        axiosInstance.get(`/iphone/json/api/article_list/${componentaId}/pageNumber/${pageNumber}/startDate/${formatedStartDate}`)\n            .then((res: any) => {\n                const recivedArticles = res.data.data.twentyFourSeven.data as ArticleExtraData[];\n                this.setState(\n                    {\n                        twentyFourSevenArticles: [...twentyFourSevenArticles, ...recivedArticles],\n                        pageNumber: pageNumber + 1,\n                    }\n                );\n            })\n            .catch(err => console.error(\"error geting headline data:\", err));\n    }\n\n    private getTickerArticles() {\n        const { componentaId, highlightingDuration } = this.props;\n        const { isFirstInterval } = this.state;\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        const highlightDur = highlightingDuration ? highlightingDuration : 3;\n        axiosInstance.get(`/iphone/json/api/auto_ticker/${componentaId}`)\n            .then((res: any) => {\n                this.setState({ tickerArticles: res.data.data.tickerAuto.data });\n            }).then(() => {\n                const zeroMinDiff = this.state.tickerArticles.some((article) => minutesDiff(article) === 0);\n                const upToFiveMinDiff = this.state.tickerArticles.some((article) => minutesDiff(article) < highlightDur);\n\n                if (isFirstInterval && upToFiveMinDiff) {\n                    this.setState({ shouldDisplayLoader: true })\n                    setTimeout(() => {\n                        this.setState({ shouldDisplayLoader: false })\n                    }, 3000)\n                };\n\n                if (!isFirstInterval && zeroMinDiff) {\n                    this.setState({ shouldDisplayLoader: true })\n                    setTimeout(() => {\n                        this.setState({ shouldDisplayLoader: false })\n                    }, 3000)\n                };\n            })\n            .catch(err => console.error(\"error geting ticker data:\", err))\n    }\n\n\n    private onToggleHandler(shouldDisplayTicker: boolean) {\n        this.setState({ shouldDisplayTicker });\n    }\n\n\n    public render() {\n        const { tickerFieldsDisplaySettings, twentyFourSevenFieldsDisplaySettings, twentyFourSevenBottomLink, tickerBottomLink, languageCode, twentyFourSevenBottomTitle, tickerBottomTitle, highlightingDuration, mobileDisplayType } = this.props;\n        const { twentyFourSevenArticles, tickerArticles, shouldDisplayTicker, isFirstInterval } = this.state;\n        const highlightDur = highlightingDuration ? highlightingDuration : 3;\n       let flashTitle = \"מבזקים\";\n       let title247 = \"24/7 כל הכתבות\";\n       if(languageCode && languageCode.includes(\"en\")){\n        flashTitle = \"Breaking News\"\n        title247 = \"24/7 Articles\"\n       }\n      else if(languageCode && languageCode.includes(\"ru\")){\n        title247 = \"24/7 – все статьи\"\n        flashTitle = \"последние новости\"\n       }\n        return (\n            <div className={`newsFlashAndTwentyFourSevenMobileComponenta ${mobileDisplayType ? mobileDisplayType : \"\"}`}>\n                <div className=\"tabsContainer\">\n                    <div className={`tabTitle ticker ${shouldDisplayTicker ? \"active\" : \"\"}`} onClick={() => this.onToggleHandler(true)}>\n                        <div className=\"text\">{flashTitle}</div>\n                        <div className={`bottomBar ${shouldDisplayTicker ? \"red\" : \"\"}`}></div>\n                    </div>\n                    <div className={`tabTitle twentyFourSeven ${shouldDisplayTicker ? \"\" : \"active\"}`} onClick={() => this.onToggleHandler(false)}>\n                        <div className=\"text\">{title247}</div>\n                        <div className={`bottomBar ${shouldDisplayTicker ? \"\" : \"blue\"}`}></div>\n                    </div>\n                </div>\n                <TickerSlotList\n                    tickerArticles={tickerArticles}\n                    tickerBottomLink={tickerBottomLink}\n                    tickerFieldsDisplaySettings={tickerFieldsDisplaySettings}\n                    languageCode={languageCode}\n                    isFirstInterval={isFirstInterval}\n                    shouldDisplayLoader={this.state.shouldDisplayLoader}\n                    tickerBottomTitle={tickerBottomTitle}\n                    highlightingDuration={highlightDur}\n                    shouldDisplayTicker={shouldDisplayTicker} \n                    mobileDisplayType={mobileDisplayType}/>\n                <TwentyFourSevenSlotList\n                    twentyFourSevenArticles={twentyFourSevenArticles}\n                    twentyFourSevenFieldsDisplaySettings={twentyFourSevenFieldsDisplaySettings}\n                    twentyFourSevenBottomLink={twentyFourSevenBottomLink}\n                    twentyFourSevenBottomTitle={twentyFourSevenBottomTitle}\n                    shouldDisplayTicker={shouldDisplayTicker} />\n            </div >\n        )\n    }\n}\n\nexport const minutesDiff = (article: ArticleExtraData) => {\n    return Math.floor((new Date().getTime() - article.dateUpdatedOnSite.getTime()) / (1000 * 60));\n}","var clickOutside = require(\"react-click-outside\")\nimport * as classNames from \"classnames\"\nimport { isWcmEditor } from \"config/serverConfig\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\"\nimport { AccordionSocialsShareComponenta } from \"../../../../siteWidgets/accordion/accordionSocialsShareComponenta\"\nimport { getTranslation } from \"../../autoTickerRowWidget/autoTickerRowTranslations\"\nimport { getNewlinkTargetProperties } from \"../../ynetShops/data/ynetshopsData\";\n\ninterface TickerItemSlotProps {\n    title: string\n    flashDate: Date\n    author?: string\n    articleId?: string\n    isAuto?: boolean\n    flashText: string\n    tabHref: string\n    isFirstItem?: boolean\n    onToggleOpenItem: (articleId: string) => void\n    onOpenItem: (articleId: string) => void\n    onOpenShareItemButtons: (articleId: string) => void\n    link: string\n    roof: string\n    newItem?: boolean\n    openedItemId: string\n    openedShareItemId: string\n    isFirstInterval: boolean\n    shouldDisplayLoader: boolean\n    isShortMode?: boolean\n    lang:string\n}\n\ninterface TickerItemSlotState {\n    isFirstRender: boolean\n}\n\n@clickOutside\nexport class RowTickerItemSlot extends React.Component<TickerItemSlotProps, TickerItemSlotState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isFirstRender: true,        \n        }\n    }\n\n    private secondsDiff = (d1, d2) => {\n        let secDiff = Math.floor((d1 - d2) / 1000);\n        let minutesDiff = Math.floor(secDiff / 60);\n        return minutesDiff;\n    }\n\n    private mouseLeaveItem = () => {\n        setTimeout(() => {\n            if (this.props.openedItemId === this.props.articleId) {\n                this.props.onToggleOpenItem(this.props.articleId)\n            }\n            this.props.onOpenShareItemButtons(null)\n        }, 500);\n    }\n\n\n    private openShare = (articleId) => {\n        event.preventDefault();\n        this.props.onOpenShareItemButtons(articleId)\n    }\n\n\n    public render() {\n        const { title, flashDate, flashText, articleId, tabHref, author, isFirstItem, link, roof, newItem, openedShareItemId, openedItemId, isFirstInterval, shouldDisplayLoader, isShortMode, lang } = this.props\n\n        const href = `${tabHref}#${articleId}`;\n        const shouldOpenItem = openedItemId === articleId && flashText.length > 0;\n        const isShareOpened = openedShareItemId === articleId;\n        const langToUse = lang.slice(0, 2);\n        const newDate = getTranslation(langToUse, \"Now\");\n        const text = author && author.length > 0 ? `${flashText} (${author})` : flashText;\n        const isAuthor = author && author.length > 0;\n        let slotHeight = isShortMode ? \"100px\" : \"126px\";\n        return (\n            <div className={classNames(\n                \"slotView\",\n                {\n                    \"inEditMode\": isWcmEditor(),\n                    \"emptySlot\": title.length === 0,\n                    \"now\": newItem,\n                    \"firstItem\": isFirstItem && newItem,\n                    \"opened\": shouldOpenItem,\n                    \"newItem\":newItem && isShortMode,\n                }\n            )}\n                style={{ height: shouldOpenItem ? \"auto\" : slotHeight}}\n                onMouseLeave={this.mouseLeaveItem}\n\n            >\n                <div className=\"toggleElm\" onClick={() => this.props.onToggleOpenItem(articleId)}></div>\n\n                {!isShortMode && <div className=\"topRow\" id={articleId + \"_flashElem\"}>\n                    <div className={classNames(\"flashDate\", { \"withWidth\": title.length === 0 })}>\n                        <span>\n                            {newItem ? newDate : <DateDisplay date={flashDate} isMinutesAgo={true} />}\n                        </span>\n                    </div>\n                    {roof && roof.length > 0 && <div className=\"roofTitle\">{roof}</div>}\n                </div>}\n\n                <div className=\"mainArea\" id={articleId + \"_flashElem\"}>\n                    <span className=\"itemTitle\"\n\n                        children={title} >\n                        {shouldDisplayLoader ? <img className={\"newTickerLoader\"} src={\"https://www.ynet.co.il/images/NewsFlash/NF_Desktop_Loader.gif\"} /> : <> {roof && roof.length > 0 && isShortMode && <div className=\"roofTitle\">{roof}</div>}<div dangerouslySetInnerHTML={{ __html: title }} /></>}\n                    </span>\n\n                    <div className={`text ${shouldOpenItem ? \"vissible\" : \"hidden\"}`}>\n                        {flashText}\n                        {isAuthor && <br />}\n                        {isAuthor && `(${author})`}\n                    </div>\n\n\n                </div>\n                <div className=\"buttonsArea\">\n                    <span className={`openMoreButton ${shouldOpenItem ? \"opened\" : \"\"}`} ></span>\n                    <span className={`shareBtn ${isShareOpened ? \"opened\" : \"\"}`} onClick={() => this.openShare(articleId)}></span>\n                    <AccordionSocialsShareComponenta className={isShareOpened ? \"visible\" : \"hidden\"} shareUrl={link} title={title} articleId={articleId} isNew={true} />\n                    {isShortMode && <div className={classNames(\"flashDate\", { \"withWidth\": title.length === 0 })}>\n                        <span>\n                            {newItem ? newDate : <DateDisplay date={flashDate} isMinutesAgo={true} />}\n                        </span>\n                    </div>}\n                </div>\n\n            </div>\n        )\n    }\n}","\nimport * as map from \"lodash/map\"\nimport Slider from \"react-slick\"\nimport { isWcmEditor } from \"config/serverConfig\"\nimport * as classNames from \"classnames\"\nimport { RowTickerItemSlot } from \"./rowTickerItemSlot\";\nimport { ArticleExtraData } from \"articlePage/stateInterfaces\"\nimport { minutesDiff } from \"./newsFlashAndTwentyFourSevenMobileComponenta\";\n\n\ninterface RowTickerListProps {\n    siteFlashList: ArticleExtraData[]\n    seconds: number\n    tabHref: string\n    firstArticleId: string\n    isFirstInterval: boolean\n    shouldDisplayLoader?: boolean\n    highlightingDuration? :number\n    isShortMode?:boolean\n    lang?:string\n    isLtr?:boolean\n}\n\ninterface ComponentState {\n    openedItemId: string\n    openedShareItemId: string\n    rightPosition: number\n\n}\n\nconst SampleArrow = (props) => {\n    const { className, style, onClick } = props;\n    return (\n        <div\n            className={className}\n            onClick={onClick}\n        />\n    );\n}\n\n\nexport class RowTickerList extends React.Component<RowTickerListProps, ComponentState>{\n    private slider;\n    constructor(props) {\n        super(props)\n        this.state = {\n            openedItemId: null,\n            openedShareItemId: null,\n            rightPosition: 0,\n\n        }\n    }\n\n\n\n    private handleItemToggle = (articleId: string) => {\n      //  if (this.state.openedItemId !== articleId) {\n            this.setState({ openedItemId: this.state.openedItemId !== articleId ? articleId : null })\n      //  }\n      //  else this.setState({ openedItemId: null })\n\n        this.dispatchCustomEvent(articleId);\n    }\n\n    private handleItemOpened = (articleId: string) => {\n            if(this.state.openedItemId !== articleId){\n                this.dispatchCustomEvent(articleId);\n              }\n              this.setState({ openedItemId:  articleId })\n     \n\n         \n      }\n    private dispatchCustomEvent = (articleId:string) => {\n        const { openedItemId } = this.state;\n        const { siteFlashList } = this.props;\n        const openIndex = siteFlashList.findIndex(item => item.articleId === articleId);\n        const title = siteFlashList[openIndex] && siteFlashList[openIndex].title;\n        document.dispatchEvent(\n            new CustomEvent(\"newsFlashesReadMoreChange\",\n                {\n                    detail: {\n                        action:  articleId===openedItemId ? \"Collapse\" : \"Expand\",\n                        label: title\n                    }\n                }\n            ))\n    }\n    private handleShareItemOpened = (articleId: string) => {\n\n        if (this.state.openedShareItemId === articleId) {\n            this.setState({ openedShareItemId: null })\n        }\n        else this.setState({ openedShareItemId: articleId })\n    }\n    private closeItem = () => {\n        if(this.state.openedShareItemId!==null){\n            this.setState({ openedShareItemId: null})\n        }\n        \n    }\n    componentDidMount() {\n        window.addEventListener('scroll', this.closeItem);\n    }\n\n    componentWillUnmount() {\n        window.removeEventListener('scroll', this.closeItem);\n    }\n\n    componentDidUpdate(prevProps: RowTickerListProps) {\n        if (prevProps.shouldDisplayLoader !== this.props.shouldDisplayLoader && this.props.shouldDisplayLoader) {\n            this.slider.slickGoTo(6)\n\n        }\n    }\n\n    public render() {\n        let { siteFlashList, seconds, tabHref, firstArticleId, isFirstInterval, shouldDisplayLoader, highlightingDuration, isShortMode, lang, isLtr } = this.props\n        const { openedShareItemId, openedItemId, rightPosition } = this.state\n        if (!siteFlashList || siteFlashList.length === 0) return null;\n        const initialSlide = 2;//siteFlashList.findIndex(obj => obj.articleId == firstArticleId);\n\n        let wrappedImageClassNames = isWcmEditor() ? \"animationDiv isEditor\" : \"animationDiv tickerAnimation\";\n\n        let settings = {\n            draggable: false,\n            infinite: true,\n            dots: false,\n            variableWidth: true,\n            // slidesToShow: 3.56,\n            slidesToScroll: 1,\n            autoplay: seconds > 0,\n            autoplaySpeed: seconds * 1000,\n            pauseOnHover: true,\n            arrows: true,\n            rtl: !isLtr,\n            centerMode: false,\n            beforeChange: (current, next) => {\n                this.setState({ openedShareItemId: null, openedItemId: null })\n                return this.setState({ rightPosition: siteFlashList && siteFlashList.length > 0 && (siteFlashList.length - 1 - current) * (1144 / siteFlashList.length) })\n            },\n            initialSlide:isLtr  ? 0:  3,\n            nextArrow: <SampleArrow />,\n            prevArrow: <SampleArrow />,\n\n        }\n\n        if (!siteFlashList || siteFlashList.length == 0) {\n            return null\n        }\n\n        return (\n            <div className={classNames(\"slotListRow\")}  >\n                <Slider {...settings} className={wrappedImageClassNames} ref={slider => (this.slider = slider)}>\n                    {map(siteFlashList, (flashItem, i) => {\n                        const newItem = minutesDiff(flashItem) < highlightingDuration;\n                        return <RowTickerItemSlot\n                            title={flashItem.title}\n                            link={flashItem.publishedLink}\n                            flashDate={flashItem.dateUpdatedOnSite}\n                            roof={flashItem.roof}\n                            key={i}\n                            isShortMode={isShortMode}\n                            author={flashItem.author}\n                            articleId={flashItem.articleId}\n                            flashText={flashItem.plainText}\n                            tabHref={tabHref}\n                            onToggleOpenItem={this.handleItemToggle}\n                            onOpenItem={this.handleItemOpened}\n                            onOpenShareItemButtons={this.handleShareItemOpened}\n                            isFirstItem={firstArticleId === flashItem.articleId}\n                            newItem={newItem}\n                            openedItemId={openedItemId}\n                            openedShareItemId={openedShareItemId}\n                            isFirstInterval={isFirstInterval}\n                            lang={lang}\n                            shouldDisplayLoader={shouldDisplayLoader && firstArticleId === flashItem.articleId}\n                        />\n                    })}\n                </Slider>\n            </div>\n        )\n    }\n}","import { IFieldDisplayData } from \"../../../../commonDataObjects/interfaces\";\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\";\nimport { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\";\nimport { getTranslation } from \"../../autoTickerRowWidget/autoTickerRowTranslations\";\nimport { minutesDiff } from \"./newsFlashAndTwentyFourSevenMobileComponenta\";\nimport { getDevice } from \"../../../../siteWidgets/videoPlayer/videoPlayerAds\";\n\ninterface TickerSlotItemProps {\n    article: ArticleExtraData\n    tickerFieldsDisplaySettings: IFieldDisplayData\n    isFirstInterval: boolean\n    languageCode: string\n    highlightingDuration: number\n    mobileDisplayType:string\n}\n\ninterface TickerSlotItemState {\n    isExpandOpen: boolean\n    shouldDisplayArticle: boolean\n    isFirstRender: boolean\n    shouldBePinkBg:boolean\n}\n\nexport class TickerSlotItem extends React.Component<TickerSlotItemProps, TickerSlotItemState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isExpandOpen: false,\n            shouldDisplayArticle: true,\n            isFirstRender: true,\n            shouldBePinkBg:true\n        }\n    }\n\n    private onSlotClickHandler = (e: React.MouseEvent) => {\n        const { title } = this.props.article;\n        const { isExpandOpen } = this.state;\n        if ((e.target as HTMLButtonElement).id !== \"ticker-button-share\") {\n            this.dispatchCustomEvent(title);\n            this.setState({ isExpandOpen: !isExpandOpen });\n        } else {\n            this.openShare();\n        }\n    }\n\n    private dispatchCustomEvent = (title: string) => {\n        const { isExpandOpen } = this.state;\n        document.dispatchEvent(\n            new CustomEvent(\"newsFlashesTwentyFourSevenReadMoreChange\",\n                {\n                    detail: {\n                        action: isExpandOpen ? \"Collapse\" : \"Expand\",\n                        label: title,\n                    }\n                }\n            ))\n    }\n\n    private dispatchShareCustomEvent = (title: string) => {\n        document.dispatchEvent(\n            new CustomEvent(\"newsFlashesTwentyFourSevenShare\",\n                {\n                    detail: {\n                        label: title,\n                    }\n                })\n        )\n    }\n\n    private openShare = async () => {\n        const { article: { title, publishedLink } } = this.props;\n        const shareData = { url: publishedLink, title: title };\n        try {\n            // @ts-ignore\n            navigator.share(shareData);\n            this.dispatchShareCustomEvent(title);\n        } catch (error) {\n            console.log(\"error with sharing function\", error)\n        }\n    }\n\n    componentDidMount() {\n        if (this.state.isFirstRender) {\n            this.firstRender();\n            this.setState({ isFirstRender: false })\n        }\n    }\n\n    private firstRender = () => {\n        const { isFirstInterval, article, highlightingDuration } = this.props;\n        const isNow = minutesDiff(article) === 0;\n        const isUpToFiveMin = minutesDiff(article) < highlightingDuration;\n        if (isFirstInterval) {\n            isUpToFiveMin && this.setState({ shouldDisplayArticle: false });\n            setTimeout(() => {\n                this.setState({ shouldDisplayArticle: true })\n            }, 3000)\n            setTimeout(() => {\n                this.setState({  shouldBePinkBg:false });\n            }, 6000)\n        } else {\n            isNow && this.setState({ shouldDisplayArticle: false });\n            setTimeout(() => {\n                this.setState({ shouldDisplayArticle: true, shouldBePinkBg:true });\n            }, 3000)\n            setTimeout(() => {\n                this.setState({  shouldBePinkBg:false });\n            }, 6000)\n        }\n    }\n\n    public render() {\n        const { article, languageCode, highlightingDuration, mobileDisplayType } = this.props;\n        const { title, dateUpdatedOnSite, plainText, roof, author } = article;\n        const { isExpandOpen, shouldDisplayArticle, shouldBePinkBg } = this.state;\n        const newItem = minutesDiff(article) < highlightingDuration;\n        const isPublishedNow = newItem ? \"now\" : \"\";\n        const newPublished = newItem && shouldBePinkBg && mobileDisplayType===\"light\" ? \"newItem\" : \"\";\n        const isOpen = isExpandOpen ? \"open\" : \"\";\n        const lang = languageCode ? languageCode.slice(0, 2) : \"he\";\n        const date = newItem ? getTranslation(lang, \"Now\") : <DateDisplay date={dateUpdatedOnSite} isMinutesAgo={true} isArticle={true} />;\n        const isAuthor = author && author.length > 0;\n       const isLightMode = mobileDisplayType && mobileDisplayType===\"light\";\n       const isAndroid = getDevice() === \"android\";\n        return (\n            <>\n                {shouldDisplayArticle &&\n                    <div className={`slotView ${isOpen} ${isPublishedNow} ${newPublished}`} onClick={this.onSlotClickHandler}>\n                        {roof && !isLightMode && <div className=\"roofTitle\">{roof}</div>}\n                        <div className=\"textDiv\">\n                        {roof && isLightMode && <span className=\"roofTitle\">{roof}</span>}\n                          <div className=\"slotTitle\">\n                               {title}\n                            </div>\n                            <div className={`slotText ${isOpen ? \"show\" : \"\"}`}>\n                                {plainText}\n                                {isAuthor &&   <br/>}\n                                {isAuthor &&  <b>{`(${author})`}</b>}\n                            </div>\n                        </div>\n                        <div className=\"moreDetails\" >\n                            <div className=\"dateView\">{date}</div>\n                            <div className=\"buttonsWrapper\">\n                                <div className={`buttonShare ${isAndroid ? \"android\": \"\"}`} id=\"ticker-button-share\" />\n                                <div className=\"buttonExpand\" />\n                            </div>\n                        </div>\n                    </div>\n                }\n            </>\n        )\n    }\n}","import { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\";\nimport { IFieldDisplayData } from \"../../../../commonDataObjects/interfaces\";\nimport { TickerSlotItem } from \"./tickerSlotItem\";\n\ninterface TickerSlotListProps {\n    tickerArticles: ArticleExtraData[]\n    tickerFieldsDisplaySettings: IFieldDisplayData\n    isFirstInterval: boolean\n    languageCode: string\n    tickerBottomLink: string\n    shouldDisplayLoader: boolean\n    tickerBottomTitle: string\n    shouldDisplayTicker: boolean\n    highlightingDuration:number\n    mobileDisplayType:string\n}\n\nexport class TickerSlotList extends React.Component<TickerSlotListProps, {}> {\n\n    public render() {\n        const { mobileDisplayType, tickerArticles, tickerFieldsDisplaySettings, isFirstInterval, languageCode, tickerBottomLink, shouldDisplayLoader, tickerBottomTitle, shouldDisplayTicker, highlightingDuration } = this.props;\n        const tickerLoaderClass = `newTickerLoader ${shouldDisplayLoader ? \"\" : \"none\"}`;\n        const classNames = `tickerSlotListWrapper ${shouldDisplayTicker ? \"\" : \"none\"}`;\n\n        return (\n            <div className={classNames}>\n                <img className={tickerLoaderClass} src={\"https://www.ynet.co.il/images/NewsFlash/news-flashes-bell.gif\"} />\n                <div className=\"tickerSlotList\">\n                    {tickerArticles.map((article) => (\n                        <TickerSlotItem\n                            article={article}\n                            tickerFieldsDisplaySettings={tickerFieldsDisplaySettings}\n                            isFirstInterval={isFirstInterval}\n                            languageCode={languageCode}\n                            key={article.articleId} \n                            highlightingDuration={highlightingDuration}\n                            mobileDisplayType={mobileDisplayType}/>\n                    ))}\n                </div>\n                <a href={tickerBottomLink} className=\"bottomLink\" id=\"ticker-bottom-link\">\n                    <span className=\" bottomLinkTitle\">{tickerBottomTitle}</span>\n                    <div className=\"bottomLinkIcon\" />\n                </a>\n            </div>\n        )\n    }\n}","\nimport { calculateAutomaticComponentaUrl, getImgAlt, isAriaHidden, getImgTitle } from \"widgets/widgetsUtils\";\nimport * as apiUrls from \"config/apiUrls\";\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\";\nimport { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\";\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\";\nimport { SlotIconDisplay } from \"../../../../commonComponents/inline/slotIconDisplay/slotIconDisplay\";\nimport { PayWallArctilceIcon } from \"../../../../commonComponents/inline/payWallHavak/payWallHavak\";\n\ninterface TwentyFourSevenSlotItemProps {\n    article: Partial<ArticleExtraData>\n    twentyFourSevenFieldsDisplaySettings: IFieldDisplayData\n    hideVideoAds?: boolean\n}\n\nexport class TwentyFourSevenSlotItem extends React.Component<TwentyFourSevenSlotItemProps, {}>{\n\n    private getIcon = (hasVideo: boolean) => {\n        if (hasVideo) return \"video\"\n        else return \"none\"\n    }\n\n    public render() {\n        const { article, twentyFourSevenFieldsDisplaySettings } = this.props;\n        const { publishedLink, promotionImageDetails, dateUpdatedOnSite, title, author, hasVideo, premiumExpireDays, category, subchannelName } = article;\n        const { isTitleVisible, isAuthorVisible, isDateVisible, isCategoryVisible, isHourVisible } = twentyFourSevenFieldsDisplaySettings;\n        const isMoreDetails = isAuthorVisible || isDateVisible || isCategoryVisible;\n        const shouldDisplayAuthor = isAuthorVisible && author;\n\n        return (\n            <div className=\"slotItem\">\n                <div className=\"mediaArea\">\n                    <div className=\"MediaCarousel\" >\n                        <a href={publishedLink}>\n                            <img src={apiUrls.getImageUrl(promotionImageDetails, { w: 236, h: 132 })}\n                                className=\"SiteImageMedia\"\n                                alt={getImgAlt(promotionImageDetails)}\n                                aria-hidden={isAriaHidden(promotionImageDetails)}\n                                title={getImgTitle(promotionImageDetails)}\n                            />\n                        </a>\n                    </div>\n                    {hasVideo && <SlotIconDisplay itemId={\"\"} icon={this.getIcon(hasVideo)} iconClassName=\"medium\" isIconVisible={hasVideo} />}\n                    <PayWallArctilceIcon\n                        premiumExpireDays={premiumExpireDays}\n                        dateUpdatedOnSite={dateUpdatedOnSite}\n                        className=\"onImage\" />\n                </div>\n                <a href={calculateAutomaticComponentaUrl(article)} className=\"textDiv\" >\n                    {isTitleVisible && <div className=\"slotTitle\">{title}</div>}\n                    {isMoreDetails &&\n                        <div className=\"moreDetails\">\n                            {isCategoryVisible &&\n                                <>\n                                    <div className=\"categoryView\">{subchannelName}</div>\n                                    {(isDateVisible || shouldDisplayAuthor) && <span className=\"separator\">|</span>}\n                                </>\n                            }\n                            {shouldDisplayAuthor &&\n                                <>\n                                    <span className=\"author\">{author} </span>\n                                    {isDateVisible && <span className=\"separator\">|</span>}\n                                </>\n                            }\n                            {isDateVisible &&\n                                <span className=\"dateView\">\n                                    <DateDisplay date={dateUpdatedOnSite} isArticle={isHourVisible} />\n                                </span>}\n                        </div>}\n                </a>\n            </div>\n        )\n    }\n}","import { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\";\nimport { TwentyFourSevenSlotItem } from \"./twentyFourSevenSlotItem\";\nimport { IFieldDisplayData } from \"../../../../commonDataObjects/interfaces\";\n\n\ninterface TwentyFourSevenSlotListProps {\n    twentyFourSevenArticles: ArticleExtraData[]\n    twentyFourSevenFieldsDisplaySettings: IFieldDisplayData\n    twentyFourSevenBottomLink: string\n    twentyFourSevenBottomTitle: string\n    shouldDisplayTicker: boolean\n}\n\nexport class TwentyFourSevenSlotList extends React.Component<TwentyFourSevenSlotListProps, {}> {\n\n    public render() {\n        const { twentyFourSevenArticles, twentyFourSevenFieldsDisplaySettings, twentyFourSevenBottomLink, twentyFourSevenBottomTitle, shouldDisplayTicker } = this.props;\n        const classNames = `twentyFourSevenSlotListWrapper ${shouldDisplayTicker ? \"none\" : \"\"}`;\n\n        return (\n            <div className={classNames}>\n                <div className=\"twentyFourSevenSlotList\">\n                    {twentyFourSevenArticles.map((article) => (\n                        <TwentyFourSevenSlotItem\n                            article={article}\n                            twentyFourSevenFieldsDisplaySettings={twentyFourSevenFieldsDisplaySettings}\n                            key={article.articleId} />\n                    ))}\n                </div>\n                <a href={twentyFourSevenBottomLink} className=\"bottomLink\" id=\"twenty-four-seven-bottom-link\">\n                    <span className=\" bottomLinkTitle\">{twentyFourSevenBottomTitle}</span>\n                    <div className=\"bottomLinkIcon\" />\n                </a>\n            </div>\n        )\n    }\n}","\nimport { MultiImagesScrollPerItem } from \"widgets/commonComponents/base/multiImagesScrollPerItem\";\nimport { SiteMedia } from \"../../../siteWidgets/siteMedia\";\nimport { VideoSettingsData } from \"commonDataObjects/interfaces\"\nimport { isWcmEditor } from \"config/serverConfig\"\n\n\ninterface ynetShopsProps {\n    items: any[]\n\n    videoSettings: VideoSettingsData\n    isDfp: boolean\n    dfpId: string\n}\n\n\nexport class OneVideoGallery extends React.Component<ynetShopsProps, {}> {\n    public static siteScriptName = \"OneVideoGallery\";\n    render() {\n        const { items, videoSettings, isDfp, dfpId } = this.props\n\n\n        return (\n            <div className=\"slotsContent\">\n                <div className=\"frame_forList\">\n                    <div className=\"slotListWrapper\" >\n                {items.map((item, index) =>\n                    <div className=\"slotView\" key={`slotItem_${index}`} style={{ marginLeft: \"20px\" }} >\n                        <div className=\"imageArea\" style={{ width: 190 + \"px\", height: 107 + \"px\" }}>\n                            <SiteMedia\n                                data={item.media}\n                                width={190}\n                                height={107}\n                                videoSettings={videoSettings}\n                                key={item.media.url}\n                            />\n                        </div>\n                        <div dangerouslySetInnerHTML={{ __html: item.title }} className=\"slotTitle medium\" />\n                    </div>)}\n                        {isDfp && <div className=\"slotView dfpId\" id={dfpId}>{isWcmEditor() && <div className=\"imageArea\">{dfpId}</div>}</div>}\n                    </div></div>\n            </div>\n        )\n\n    }\n}\n","import { LabelPlace } from \"../../../topStory/labelIconUtils\";\nimport { RichInput } from \"widgets/commonComponents/base/richInput\"\n\n\ninterface mediaLabelProps {\n    labelText: string\n    mediaIconPlace: LabelPlace\n    className?: string\n    onLabelTextChange: (val: string) => void\n}\n\nexport class LabelText extends React.Component<mediaLabelProps, {}>{\n    private getStyleForLabelPosition = (mediaIconPlace: string) => {\n        switch (mediaIconPlace) {\n            case \"top right\": return { top: \"16px\", right: \"16px\" }\n            case \"top left\": return { top: \"16px\", left: \"16px\" }\n            case \"bottom right\": return { bottom: \"16px\", right: \"16px\" }\n            case \"bottom left\": return { bottom: \"16px\", left: \"16px\" }\n        }\n    }\n\n    public render() {\n        const { labelText, mediaIconPlace, onLabelTextChange, className } = this.props;\n        if (labelText && labelText !== \"\") {\n            return (\n                <RichInput className={`labelText ${mediaIconPlace} ${className}`}\n                    style={this.getStyleForLabelPosition(mediaIconPlace)}\n                    value={labelText}\n                    onChange={(val) => onLabelTextChange(val)} />\n\n            )\n        }\n        else return null;\n    }\n} ","import * as axios from \"axios\";\nimport { ArticleExtraData } from \"articlePage/stateInterfaces\";\nimport { addAxiosDateTransformerSettings } from \"../../../../../utils/network/axiosDateTransformer\";\nimport { Loader } from \"../../../yPlusLoadMore/components/loader/loader\";\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { TwentyFourSeven1280SlotList } from \"./twentyFourSeven1280SlotList\";\nimport { formatDate } from \"../../../../siteWidgets/siteWidgetUtils\";\n\ninterface TwentyFourSeven1280ComponentaProps {\n    categoryId: string\n    componentaId?: string\n    firstPageArticles?: ArticleExtraData[]\n    numberOfVisibleItems: number\n    fieldsDisplaySettings: IFieldDisplayData\n    titleColor: string\n    subTitleColor: string\n    isLoadMoreVisible: boolean\n    tabColor: string\n    includeVideo: boolean\n    hideVideoAds?: boolean\n    tabBackgroundColor?: string\n    isMobileWeb: boolean\n    numberOfVisibleDays: number\n    isLTR: boolean\n    sitename: string\n}\n\ninterface TwentyFourSeven1280ComponentaState {\n    articles: ArticleExtraData[]\n    pageNumber: number\n    showLoader: boolean\n    showButton: boolean\n}\n\nexport const DICTIONARY = {\n    ynet: {\n        weekDays: [\"יום ראשון\", \"יום שני\", \"יום שלישי\", \"יום רביעי\", \"יום חמישי\", \"יום שישי\", \"יום שבת\"],\n        today: \"היום\",\n        yesterday: \"אתמול\",\n        loadMore: \"טען עוד כתבות\",\n    },\n    ynetnews: {\n        weekDays: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n        today: \"Today\",\n        yesterday: \"Yesterday\",\n        loadMore: \"Load more articles\",\n    },\n    vesty: {\n        weekDays: [\"Воскресенье\", \"Понедельник\", \"Вторник\", \"Среда\", \"Четверг\", \"Пятница\", \"Суббота\"],\n        today: \"Сегодня\",\n        yesterday: \"Вчера\",\n        loadMore: \"Загрузить еще\",\n    },\n}\n\nexport class TwentyFourSeven1280Componenta extends React.Component<TwentyFourSeven1280ComponentaProps, TwentyFourSeven1280ComponentaState> {\n    public static siteScriptName = \"SiteTwentyFourSevenComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            articles: [],\n            pageNumber: 0,\n            showLoader: false,\n            showButton: true\n        }\n    }\n\n    componentDidMount() {\n        const { categoryId } = this.props;\n        if (categoryId) {\n            this.getArticles()\n        }\n    }\n\n    private analystFunc = (action: string) => {\n        window.dataLayer = window.dataLayer || []\n        window.dataLayer.push({\n            event: 'GA_Event',\n            Category: 'Article Headline',\n            Action: action,\n            Label: \"\",\n        });\n    }\n\n    private getStartDate = (numberOfDays: number) => {\n        const today = new Date();\n        const startDate = new Date(today.getTime() - ((numberOfDays - 1) * 24 * 60 * 60 * 1000));\n        return startDate;\n    }\n\n    private getArticles = () => {\n        const { componentaId, numberOfVisibleDays } = this.props\n        const { pageNumber, articles } = this.state\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        const formatedStartDate = formatDate(new Date(this.getStartDate(numberOfVisibleDays)), \"YYYY-MM-DD\");\n        this.setState({\n            articles: articles,\n            showLoader: true,\n            showButton: false\n        });\n\n        axiosInstance.get(`/iphone/json/api/article_list/${componentaId}/pageNumber/${pageNumber}/startDate/${formatedStartDate}`)\n            .then((res: any) => {\n                const recivedArticles = res.data.data as ArticleExtraData[];\n                this.setState(\n                    {\n                        articles: [...articles, ...recivedArticles],\n                        pageNumber: pageNumber + 1,\n                        showLoader: false,\n                        showButton: recivedArticles && recivedArticles.length === this.props.numberOfVisibleItems,\n                    }\n                );\n            })\n            .catch(err => console.error(\"error geting headline data:\", err));\n\n        this.analystFunc(\"Load more articles\");\n    }\n\n    public render() {\n        const { isLoadMoreVisible, fieldsDisplaySettings, tabColor, tabBackgroundColor, isMobileWeb, titleColor, subTitleColor, isLTR, sitename } = this.props;\n        const { articles, showLoader, showButton } = this.state;\n        const twentyFourSevenClassName = `twentyFourSeven1280Componenta ${isLTR ? \"ltr\" : \"\"}`;\n\n        return (\n            <div className={twentyFourSevenClassName}>\n                <TwentyFourSeven1280SlotList\n                    articles={articles}\n                    tabBackgroundColor={tabBackgroundColor}\n                    tabColor={tabColor}\n                    fieldsDisplaySettings={fieldsDisplaySettings}\n                    isMobileWeb={isMobileWeb}\n                    titleColor={titleColor}\n                    subTitleColor={subTitleColor}\n                    sitename={sitename}\n                />\n                <div className=\"ButtonAndLoaderContainer\">\n                    {showLoader && <Loader />}\n                    {isLoadMoreVisible && showButton && <div className={\"loadMoreButton\"} onClick={() => this.getArticles()} style={{ backgroundColor: tabBackgroundColor }} >{DICTIONARY[sitename].loadMore}</div>}\n                </div>\n            </div >\n        )\n    }\n}","\nimport { calculateAutomaticComponentaUrl, separateHourFromDateAndFormatToString, getImgAlt, isAriaHidden, getImgTitle } from \"widgets/widgetsUtils\";\nimport * as apiUrls from \"config/apiUrls\";\nimport { ImageDetails } from \"images/interfaces\";\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\";\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\";\nimport { MediaVideoData } from \"../../../../../media/interfaces\";\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { PayWallArctilceIcon } from \"../../../../commonComponents/inline/payWallHavak/payWallHavak\";\nimport { CategorySelectionItem } from \"../../../../../global/components/categoryMultiSelect/categoryMultiSelect\";\n\ninterface TwentyFourSeven1280SlotItemProps {\n    article: Partial<TwentyFourSeven1280SlotItemData>\n    fieldsDisplaySettings: IFieldDisplayData\n    titleColor: string\n    subTitleColor: string\n    hideVideoAds?: boolean\n    isMobileWeb: boolean\n}\n\nexport interface TwentyFourSeven1280SlotItemData {\n    articleId: string\n    author: string\n    credit: string\n    title: string\n    subTitle: string\n    promotionImageDetails: ImageDetails\n    hasVideo: boolean\n    publishedLink: string\n    dateUpdatedOnSite: Date\n    premiumExpireDays: number\n    video?: MediaVideoData[]\n    category: CategorySelectionItem\n    subchannelName:string\n}\n\nexport class TwentyFourSeven1280SlotItem extends React.Component<TwentyFourSeven1280SlotItemProps, {}>{\n\n    private getIcon = (hasVideo: boolean) => {\n        if (hasVideo) return \"video\"\n        else return \"none\"\n    }\n\n    public render() {\n        const { article, fieldsDisplaySettings, titleColor, subTitleColor, hideVideoAds, isMobileWeb } = this.props;\n        const { title, subTitle, author, promotionImageDetails, publishedLink, dateUpdatedOnSite, hasVideo, video, premiumExpireDays, category: { textToShow }, subchannelName } = article;\n        const { isAuthorVisible, isDateVisible, isHourVisible, isTitleVisible, isCategoryVisible } = fieldsDisplaySettings;\n        const isMoreDetails = isAuthorVisible || isDateVisible || isHourVisible || isCategoryVisible;\n        const isDateView = isDateVisible || isHourVisible;\n        const articleMainVideo = article.video && article.video.length && article.video[0];\n        const shouldDisplayAuthor = isAuthorVisible && author;\n        const shouldDisplaySubTitle = fieldsDisplaySettings.isSubTitleVisible && !isMobileWeb;\n\n        return (\n            <>\n                <div className=\"slotItem\">\n                    <div className=\"mediaArea\">\n                        <div className=\"MediaCarousel\" >\n\n                            {articleMainVideo ?\n                                <a>\n                                    <SiteMedia\n                                        data={{\n                                            ...articleMainVideo,\n                                            url: articleMainVideo.main_link,\n                                            poster: apiUrls.getImageUrl(promotionImageDetails, { w: 190, h: 112 }),\n                                            mediaType: \"MEDIA_VIDEO\",\n                                            title,\n                                            showAds: !hideVideoAds\n                                        } as any}\n                                        width={190}\n                                        height={112}\n                                        videoSettings={{\n                                            isVideoLightbox: true,\n                                            hideVideoAds: hideVideoAds\n                                        }}\n                                        itemLinkUrl={title}\n                                        isImageLinkable={true}\n                                    />\n                                </a>\n                                :\n                                <a href={publishedLink}>\n                                    <img src={apiUrls.getImageUrl(promotionImageDetails, { w: 190, h: 112 })}\n                                        style={{ width: 190, height: 112 }}\n                                        className=\"SiteImageMedia\"\n                                        alt={getImgAlt(promotionImageDetails)}\n                                        aria-hidden={isAriaHidden(promotionImageDetails)}\n                                        title={getImgTitle(promotionImageDetails)}\n                                    />\n                                </a>}\n\n                        </div>\n                        {!video && <SlotIconDisplay itemId={\"\"} icon={this.getIcon(hasVideo)} iconClassName=\"medium\" isIconVisible={hasVideo} />}\n                        <PayWallArctilceIcon\n                            premiumExpireDays={premiumExpireDays}\n                            dateUpdatedOnSite={dateUpdatedOnSite}\n                            className=\"onImage\" />\n                    </div>\n                    <a href={calculateAutomaticComponentaUrl(article)} className=\"textDiv\" >\n                        {isTitleVisible && <div className=\"slotTitle\" style={{ color: titleColor }}>\n                            <span>{title}</span>\n                        </div>}\n                        {shouldDisplaySubTitle &&\n                            <div className=\"slotSubTitle\" style={{ color: subTitleColor }}>\n                                <span>{subTitle}</span>\n                            </div>}\n                        {isMoreDetails &&\n                            <div className=\"moreDetails\">\n                                {isCategoryVisible &&\n                                    <>\n                                        <div className=\"categoryView\">{subchannelName}</div>\n                                        {(isDateView || shouldDisplayAuthor) && <span className=\"separator\">|</span>}\n                                    </>\n                                }\n                                {shouldDisplayAuthor &&\n                                    <>\n                                        <span className=\"author\">{author} </span>\n                                        {isDateView && <span className=\"separator\">|</span>}\n                                    </>\n                                }\n                                {isDateView &&\n                                    <span className=\"dateView\">\n                                        {separateHourFromDateAndFormatToString(dateUpdatedOnSite,\n                                            {\n                                                showDate: isDateVisible,\n                                                showHour: isHourVisible,\n                                                dateTimeSeperator: \" | \",\n                                            })}\n                                    </span>}\n                            </div>}\n                    </a>\n                </div>\n            </>\n        )\n    }\n}","import * as map from \"lodash/map\";\nimport { ArticleExtraData } from \"../../../../../articlePage/stateInterfaces\";\nimport { IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { TwentyFourSeven1280SlotItem } from \"./twentyFourSeven1280SlotItem\";\nimport { separateHourFromDateAndFormatToString } from \"../../../../widgetsUtils\";\nimport {DICTIONARY} from \"./twentyFourSeven1280Componenta\";\n\ninterface TwentyFourSeven1280SlotListProps {\n    articles: ArticleExtraData[]\n    fieldsDisplaySettings: IFieldDisplayData\n    titleColor: string\n    subTitleColor: string\n    tabBackgroundColor: string\n    tabColor: string\n    isMobileWeb: boolean\n    sitename: string\n}\n\nexport class TwentyFourSeven1280SlotList extends React.Component<TwentyFourSeven1280SlotListProps, {}>  {\n\n    private todayOrYesterday = (date: Date) => {\n        const {sitename} = this.props;\n        const today = new Date();\n        const yesterday = new Date(today);\n        yesterday.setDate(today.getDate() - 1);\n        if (date.toLocaleDateString() === today.toLocaleDateString()) return `(${DICTIONARY[sitename].today})`;\n        if (date.toLocaleDateString() === yesterday.toLocaleDateString()) return `(${DICTIONARY[sitename].yesterday})`;\n        return \"\";\n    };\n    \n    private tabDateFormatter = (date: Date) => {\n        const {sitename} = this.props;\n        const weekDays = DICTIONARY[sitename].weekDays;\n        const weekDay = weekDays[date.getDay()];\n        return `${weekDay} ${separateHourFromDateAndFormatToString(date,{showHour: false})} ${this.todayOrYesterday(date)}`;\n    };\n\n    public render() {\n        const { articles, tabBackgroundColor, tabColor, isMobileWeb, fieldsDisplaySettings } = this.props\n        const mainTabStyle = {backgroundColor: tabBackgroundColor, color: tabColor, display: `${fieldsDisplaySettings.isTabVisible ? \"flex\" : \"none\"}`};\n        let prevDate = null;\n\n        const itemList = map(articles, (article: ArticleExtraData, i) => {\n            let dateTab = null;\n\n            const itemData = {\n                articleId: article.articleId,\n                author: article.author,\n                credit: article.promotionImageDetails ? article.promotionImageDetails.credit : null,\n                title: article.title,\n                subTitle: article.subTitle,\n                promotionImageDetails: article.promotionImageDetails,\n                hasVideo: article.hasVideo,\n                publishedLink: article.publishedLink,\n                dateUpdatedOnSite: article.dateUpdatedOnSite,\n                video: article.video,\n                premiumExpireDays: article.premiumExpireDays,\n                category: article.category,\n                subchannelName:article.subchannelName\n            }\n            if (i === 0 || (prevDate && prevDate !== itemData.dateUpdatedOnSite.toLocaleDateString())) {\n                dateTab = <div className=\"mainTab\" style={mainTabStyle}>{this.tabDateFormatter(itemData.dateUpdatedOnSite)}</div>\n            }\n            prevDate = itemData.dateUpdatedOnSite.toLocaleDateString();\n\n            return (\n              <>  {dateTab}\n                <div key={itemData.articleId}>  \n                   \n                    <TwentyFourSeven1280SlotItem\n                        key={itemData.articleId}\n                        article={itemData}\n                        isMobileWeb={isMobileWeb}\n                        {...this.props}\n                    />\n                </div></>\n            )\n        })\n\n        return (\n            <div className=\"slotList\" >\n                {itemList}\n            </div>\n        )\n    }\n}\n\n","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\n\ninterface PromoCarouselProps {\n    width: number\n    imageWidth: number\n    itemListLength: number\n    marginRight: number\n    togglePromoActive?: boolean\n    currentPromoIndex?: number\n    videoList?: SiteItemData[]\n    isMobileWeb?: boolean\n    initialRightOffset?:number\n    pushGA4Event?: (action: string, isFeedDisplay: boolean) => void\n}\n\ninterface PromoCarouselState {\n    rightOffset: number\n    selectedIndex: number\n    isCarouselMoving: boolean\n    touchStartX: number | null\n}\nexport const numberOfImagesToView = (width, imageWidth, marginRight) => {\n    const itemWidth = imageWidth + marginRight\n    const numberOfImagesToView = Math.floor(width / itemWidth)\n    return numberOfImagesToView;\n}\n\nexport class PromoCarousel extends React.Component<PromoCarouselProps, PromoCarouselState>{\n\n    constructor(props) {\n        super(props);\n        this.state = {\n            selectedIndex: 0,\n            rightOffset: this.props.initialRightOffset || 0,\n            isCarouselMoving: false,\n            touchStartX: null\n        }\n    }\n\n    private slotWrapperRef;\n    private timeoutId;\n\n    componentDidUpdate(prevProps, prevState) {\n        const { videoList, currentPromoIndex, isMobileWeb } = this.props;\n        if(!videoList.length) return;\n        if (!isMobileWeb) return;\n        const { isCarouselMoving } = this.state;\n        const isCurrentVideoHasPromo = (videoList[currentPromoIndex].media as SiteVideoData).promoPath;\n        if (this.timeoutId) clearTimeout(this.timeoutId);\n\n        if (prevProps.togglePromoActive !== this.props.togglePromoActive) {\n            this.scrollToHandler();\n        } else if (!isCurrentVideoHasPromo && !isCarouselMoving) {\n            this.timeoutId = setTimeout(() => {\n                this.scrollToHandler();\n            }, 3000)\n        }\n    }\n\n    componentWillUnmount() {\n       this.timeoutId && clearTimeout(this.timeoutId); \n    }\n\n    private scrollToHandler = () => {\n        const { imageWidth, marginRight, currentPromoIndex } = this.props;\n        if (!this.slotWrapperRef) return;\n        const scrollTo = currentPromoIndex + 1;\n        this.slotWrapperRef.scrollLeft = -(scrollTo * (imageWidth + marginRight));\n    }\n\n    private onTouchStart = (e) => {\n        clearTimeout(this.timeoutId);\n        this.setState({ isCarouselMoving: true });\n        this.setState({touchStartX: e.touches[0].clientX})\n    }\n\n    private onTouchEnd = (e) => {\n        const {pushGA4Event, currentPromoIndex, itemListLength} = this.props;\n        const { touchStartX } = this.state;\n\n        setTimeout(() => {\n            this.setState({ isCarouselMoving: false });\n        }, 1000);\n\n        if (touchStartX !== null && e.changedTouches.length > 0) {\n            const touchEndX = e.changedTouches[0].clientX;\n            const deltaX = touchEndX - touchStartX;\n            const shouldPushEventRight = deltaX < 0 && currentPromoIndex > 0;\n            const shouldPushEventleft = deltaX > 0 && currentPromoIndex < itemListLength - 1;\n\n            shouldPushEventRight ? pushGA4Event(`swipe_right`, false) : shouldPushEventleft && pushGA4Event(`swipe_left`, false);\n        }\n    }\n\n\n    private handleScrollLeftClicked = () => {\n        const { selectedIndex, rightOffset } = this.state\n        const { itemListLength, width, imageWidth, marginRight, pushGA4Event, initialRightOffset } = this.props\n        const single_media_item_width = imageWidth + marginRight\n        let newIndex = selectedIndex + 1;\n        const scrollBarWidth = width + marginRight\n        const lastScrollingsize = single_media_item_width - (scrollBarWidth - numberOfImagesToView(scrollBarWidth, imageWidth, marginRight) * single_media_item_width)\n        const newRightOffset = rightOffset - single_media_item_width\n        const lastNewOffset = rightOffset - lastScrollingsize -(initialRightOffset || 0);\n        if (selectedIndex < itemListLength - numberOfImagesToView(scrollBarWidth, imageWidth, marginRight) - 1) {\n            this.setState({\n                rightOffset: newRightOffset,\n                selectedIndex: newIndex\n            })\n        }\n        else if (selectedIndex === itemListLength - numberOfImagesToView(scrollBarWidth, imageWidth, marginRight) - 1) {\n            this.setState({\n                rightOffset: lastNewOffset,\n                selectedIndex: newIndex\n            })\n        }\n        pushGA4Event(\"swipe_left\", false);\n    }\n\n    private handleScrollRightClicked = () => {\n        const { selectedIndex, rightOffset } = this.state;\n        const { itemListLength, width, imageWidth, marginRight, pushGA4Event, initialRightOffset } = this.props;\n        const single_media_item_width = imageWidth + marginRight;\n        const newIndex = selectedIndex - 1;\n        const newRightOffset = rightOffset + single_media_item_width;\n        const itemsToViewAmount = numberOfImagesToView(width + marginRight, imageWidth, marginRight);\n        const lastItemRightOffset = rightOffset + (single_media_item_width - (width - itemsToViewAmount * (imageWidth) - (itemsToViewAmount - 1) * marginRight));\n        const isLastItemDisplayed = selectedIndex !== itemListLength - itemsToViewAmount;\n\n        if (isLastItemDisplayed) {\n            if (selectedIndex > 1) {\n                this.setState({\n                    rightOffset: newRightOffset,\n                    selectedIndex: newIndex\n                })\n            }\n            else if (selectedIndex === 1) {\n                this.setState({\n                    rightOffset: initialRightOffset || 0,\n                    selectedIndex: 0\n                })\n            }\n        } else {\n            this.setState({\n                rightOffset: lastItemRightOffset,\n                selectedIndex: newIndex,\n            })\n        }\n        pushGA4Event(\"swipe_Right\", false);\n    }\n\n    public render() {\n        const { width, imageWidth, itemListLength, marginRight } = this.props;\n        const { selectedIndex, rightOffset } = this.state;\n        let isRightArrowAvailble = selectedIndex !== 0;\n        let isLeftArrowAvailble = selectedIndex !== itemListLength - numberOfImagesToView(width + marginRight, imageWidth, marginRight);\n\n        return (\n            <div className=\"slotsContent\">\n                <button\n                    disabled={!isRightArrowAvailble}\n                    className=\"scrollRight arrowBtn\"\n                    aria-label=\"scroll right\"\n                    onClick={(e) => this.handleScrollRightClicked()} />\n                <div className=\"frame_forList\">\n                    <div className=\"slotListWrapper\" style={{ \"marginRight\": rightOffset }} ref={slotWrapperRef => (this.slotWrapperRef = slotWrapperRef)} onTouchEnd={this.onTouchEnd} onTouchStart={this.onTouchStart}>\n                        {this.props.children}</div>\n                </div>\n                <button\n                    disabled={!isLeftArrowAvailble}\n                    aria-label=\"scroll left\"\n                    className=\"scrollLeft arrowBtn\"\n                    onClick={(e) => this.handleScrollLeftClicked()} />\n            </div>)\n    }\n}\n","import { VideoGalleryVerticalDesktop } from \"./videoGalleryVerticalDesktop\";\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { isWcmEditor } from \"config/serverConfig\";\n\nexport interface categoryObj {\n    id: string\n    categoryColor: string\n    name: string\n}\n\ninterface VideoGalleryVerticalComponentaProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    category: categoryObj\n    domain: string\n    showPrerollAds: boolean\n}\n\n\nexport class VideoGalleryVerticalComponenta extends React.Component<VideoGalleryVerticalComponentaProps, {}>{\n    public static siteScriptName = \"VideoGalleryVerticalComponenta\";\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, repeatAds, maxAds, firstAdPlace, category, domain, showPrerollAds } = this.props;\n        const componentClass = `videoGalleryVerticalComponenta ${isWcmEditor() ? \"editMode\" : \"\"}`;\n        \n        return (\n            <div className={componentClass}>\n                <VideoGalleryVerticalDesktop\n                    videoList={videoList}\n                    isTabVisible={isTabVisible}\n                    tabTitleText={tabTitleText}\n                    repeatAds={repeatAds}\n                    maxAds={maxAds}\n                    firstAdPlace={firstAdPlace}\n                    category={category}\n                    domain={domain}\n                    showPrerollAds={showPrerollAds}/>\n            </div>\n        )\n\n    }\n}\n","import { VideoGalleryVerticalItem } from \"./videoGalleryVerticalItem\";\nimport Slider from \"react-slick\"\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { VideoVerticalFeedItem } from \"./videoVerticalFeedItem\";\nimport { PromoCarousel } from \"./promoCarousel\";\nimport { disablePageRefresh, enablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport { categoryObj } from \"./videoGalleryVerticalComponenta\";\n\ninterface VideoGalleryVerticalDesktopProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    category: categoryObj\n    domain: string\n    showPrerollAds: boolean\n}\n\ninterface VideoGalleryVerticalDesktopState {\n    feedActiveSlide: number\n    isFeedDisplay: boolean\n    initialFeedSlide: number\n    togglePromoActive: boolean\n    currentPromoIndex: number\n}\n\nexport class VideoGalleryVerticalDesktop extends React.Component<VideoGalleryVerticalDesktopProps, VideoGalleryVerticalDesktopState> {\n    public static siteScriptName = \"VideoGalleryVerticalDesktop\";\n    constructor(props) {\n        super(props);\n        this.state = {\n            feedActiveSlide: 0,\n            isFeedDisplay: false,\n            initialFeedSlide: 0,\n            togglePromoActive: false,\n            currentPromoIndex: 0\n        };\n        this.handleKeyPress = this.handleKeyPress.bind(this);\n    }\n\n    private slider;\n\n    componentDidMount() {\n        document.addEventListener('keydown', this.handleKeyPress);\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener('keydown', this.handleKeyPress);\n    }\n\n\n    private onOpenVideoGalleryView = (originalVideoListIndex: number) => {\n        const { videoList } = this.props;\n        const initialFeedSlide = this.getListWithAds().findIndex((element) => element.itemId === videoList[originalVideoListIndex].itemId);\n        this.setState({ initialFeedSlide: initialFeedSlide, feedActiveSlide: initialFeedSlide }, () => { this.setState({ isFeedDisplay: true }) });\n        disablePageRefresh();\n    }\n\n    private onCloseVideoGalleryView = () => {\n        this.setState({ isFeedDisplay: false });\n        enablePageRefresh();\n    }\n\n    private onPromoMouseHover = (currentPromoIndex: number) => {\n        this.setState({ currentPromoIndex: currentPromoIndex });\n    }\n\n    private handleKeyPress(e) {\n        if (e.keyCode === 27) {\n            this.onCloseVideoGalleryView();\n        }\n    }\n\n    private onNextSlide = () => {\n        this.slider.slickPrev();\n        this.pushGA4Event(\"swipe_left\", true);\n    }\n\n    private pushGA4Event = (action: string, isFeedDisplay: boolean) => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { category } = this.props;\n        const actionPrefix = category && category.name ? (category.name === \"דף הבית\") ? \"homepage\" : category.name : \"homepage\";\n        const gaAction = isFeedDisplay ? `video_${action}` : `${actionPrefix}_${action}`;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            vertical_video_action: gaAction,\n        });\n    };\n\n\n    private getListWithAds = () => {\n        const { repeatAds, maxAds, firstAdPlace, videoList, showPrerollAds } = this.props;\n        const videoListCopy = [...videoList];\n        const videoListLength = videoListCopy.length;\n        let numberOfAds = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        const newListLength = videoListLength + numberOfAds;\n        const baseId = \"ads.vertical.native.\";\n        let newList = [];\n        let adCount = 1;\n\n        if (showPrerollAds) return this.getListWithPreRollsAds();\n        if (maxAds === 0) return videoListCopy;\n\n        for (let i = 0; i < newListLength; i++) {\n            if (i < firstAdPlace) {\n                newList.push(videoListCopy.shift());\n            } else if (i === firstAdPlace && numberOfAds > 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else if (numberOfAds > 0 && (i - firstAdPlace) % (repeatAds + 1) === 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else {\n                newList.push(videoListCopy.shift());\n            }\n        }\n\n        return newList;\n    }\n\n    private getListWithPreRollsAds = () => {\n        const { repeatAds, maxAds, firstAdPlace, videoList, showPrerollAds } = this.props;\n        const videoListCopy = [...videoList];\n        const videoListLength = videoListCopy.length;\n        let numberOfAdsLeft = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        const totalAdsNumber = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        \n        if (maxAds === 0) return videoListCopy;\n        let newList = [];\n        \n        for (let i = 0; i < videoList.length; i++) {\n            let prerollIndex = Math.abs(numberOfAdsLeft - (totalAdsNumber + 1));\n            if (i + 1 < firstAdPlace) {\n                newList.push({ ...videoList[i], hidePrerollAds: true, prerollIndex: undefined });\n            } else if (i === firstAdPlace && numberOfAdsLeft > 0) {\n                newList.push({ ...videoList[i], hidePrerollAds: false, prerollIndex: showPrerollAds ? prerollIndex : undefined });\n                numberOfAdsLeft--;\n            } else if (numberOfAdsLeft > 0 && (i - firstAdPlace) % (repeatAds + 1) === 0) {\n                newList.push({ ...videoList[i], hidePrerollAds: false, prerollIndex: showPrerollAds ? prerollIndex : undefined });\n                numberOfAdsLeft--;\n            } else {\n                newList.push({ ...videoList[i], hidePrerollAds: true, prerollIndex: undefined });\n            }\n        }\n\n        return newList;\n    }\n\n    private onFeedArrowClick = () => {\n        const activeVideoElement = document.querySelector(\".videoGalleryVerticalComponenta .feedDisplay .slick-active .videoVerticalFeedItem #player .fp-engine\") as HTMLVideoElement;\n        if (activeVideoElement) activeVideoElement.pause();\n    }\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, domain, showPrerollAds } = this.props;\n        const { isFeedDisplay, initialFeedSlide, feedActiveSlide, togglePromoActive, currentPromoIndex } = this.state;\n\n        const feedDisplaySettings = {\n            infinite: false,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            initialSlide: initialFeedSlide,\n            draggable: false,\n            rtl: true,\n            beforeChange: (current, next) => {\n                this.setState({ feedActiveSlide: Math.abs(next - this.getListWithAds().length + 1) });\n                this.onFeedArrowClick();\n            },\n            nextArrow: <SampleNextArrow feedActiveSlide={feedActiveSlide} listLength={this.getListWithAds().length} pushGA4Event={this.pushGA4Event} onClick={this.onFeedArrowClick} />,\n            prevArrow: <SamplePrevArrow feedActiveSlide={feedActiveSlide} listLength={this.getListWithAds().length} pushGA4Event={this.pushGA4Event} />,\n        };\n\n        return (\n            <div className=\"videoGalleryVerticalDesktopWrapper\">\n                {isTabVisible && <div className=\"videoGalleryVerticalTab componentaTab\"><span className=\"tabIcon\"></span><span>{tabTitleText}</span></div>}\n                {isFeedDisplay && <div className=\"closeBtn\" onClick={this.onCloseVideoGalleryView}></div>}\n                <PromoCarousel\n                    imageWidth={273}\n                    width={1240}\n                    itemListLength={videoList.length}\n                    marginRight={20}\n                    togglePromoActive={togglePromoActive}\n                    currentPromoIndex={currentPromoIndex}\n                    videoList={videoList}\n                    pushGA4Event={this.pushGA4Event}\n                >\n                    {videoList.map((videoItem, index) => {\n                        return (\n                            <VideoGalleryVerticalItem\n                                videoItem={videoItem}\n                                onOpenVideoGalleryView={this.onOpenVideoGalleryView}\n                                videoIndex={index}\n                                key={videoItem.itemId}\n                                onPromoMouseHover={this.onPromoMouseHover}\n                            />\n                        )\n                    })}\n                </PromoCarousel >\n                {isFeedDisplay &&\n                    <div className=\"feedDisplay\">\n                        <Slider {...feedDisplaySettings} className=\"slider\" ref={slider => (this.slider = slider)} >\n                            {this.getListWithAds().map((videoItem, index) => {\n                                if ((typeof videoItem) === 'string') {\n                                    return (<div key={index} id={videoItem} className=\"ads_vertical_video\"></div>)\n                                } else {\n                                    return (\n                                        <VideoVerticalFeedItem\n                                            videoItem={videoItem}\n                                            key={videoItem.itemId}\n                                            feedActiveSlide={feedActiveSlide}\n                                            onNextSlide={this.onNextSlide}\n                                            onCloseVideoGalleryView={this.onCloseVideoGalleryView}\n                                            domain={domain}\n                                            index={index}\n                                            showPrerollAds={showPrerollAds} />\n                                    )\n                                }\n                            })}\n                        </Slider>\n                    </div>\n                }\n            </div>\n        )\n    }\n}\n\nconst SampleNextArrow = (props) => {\n    const { onClick, feedActiveSlide, pushGA4Event } = props;\n    const shouldDisplayArrow = feedActiveSlide !== 0;\n    const handleClick = () => {\n        onClick();\n        pushGA4Event(\"swipe_right\", true);\n    }\n\n    return (\n        <button\n            className={`slickArrow slickNext ${shouldDisplayArrow ? \"\" : \"slickDisabled\"}`}\n            onClick={handleClick}\n        ></button>\n    );\n}\n\nconst SamplePrevArrow = (props) => {\n    const { onClick, feedActiveSlide, listLength, pushGA4Event } = props;\n    const shouldDisplayArrow = (feedActiveSlide + 1) !== listLength;\n    const handleClick = () => {\n        onClick();\n        pushGA4Event(\"swipe_left\", true);\n    }\n    return (\n        <button\n            className={`slickArrow slickPrev ${shouldDisplayArrow ? \"\" : \"slickDisabled\"}`}\n            onClick={handleClick}\n        ></button>\n    );\n}","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\n\ninterface VideoGalleryVerticalItemProps {\n    videoItem: SiteItemData\n    videoIndex: number\n    onOpenVideoGalleryView: (e) => void\n    onPromoMouseHover: (currentPromoIndex: number) => void\n}\n\ninterface VideoGalleryVerticalItemState {\n    isMouseHover: boolean\n}\n\nexport class VideoGalleryVerticalItem extends React.Component<VideoGalleryVerticalItemProps, VideoGalleryVerticalItemState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isMouseHover: false,\n        }\n    }\n\n    private videoRef;\n\n    private onMouseHover = () => {\n        const { videoIndex, onPromoMouseHover } = this.props;\n        this.setState({ isMouseHover: true });\n        onPromoMouseHover(videoIndex);\n        if (this.videoRef) this.videoRef.play();\n\n    }\n\n    private onMouseLeave = () => {\n        this.setState({ isMouseHover: false });\n        if (this.videoRef) this.videoRef.pause();\n    }\n\n    private secondsToMinutesHandler = (seconds: number) => {\n        const minutes = Math.floor(seconds / 60).toString().padStart(2, \"0\");\n        const newSeconds = (seconds % 60).toString().padStart(2, \"0\");\n        return `${minutes}:${newSeconds}`;\n    }\n\n    public render() {\n        const { isMouseHover } = this.state;\n        const { videoItem, onOpenVideoGalleryView, videoIndex } = this.props;\n        const { media, title } = videoItem;\n        const { duration, poster, promoPath } = media as SiteVideoData;\n        const shouldDisplayPromo = isMouseHover && promoPath;\n        const slotClasses = `slotView ${shouldDisplayPromo ? \"hovered\" : \"\"}`;\n\n        return (\n            <div className={slotClasses} onMouseEnter={this.onMouseHover} onMouseLeave={this.onMouseLeave} onClick={() => onOpenVideoGalleryView(videoIndex)}>\n                {isMouseHover ?\n                    <video\n                        autoPlay={true}\n                        loop={true}\n                        ref={ref => this.videoRef = ref}\n                        muted\n                        poster={poster}\n                        className=\"promoVideo\" src={promoPath}>\n                    </video>\n                    :\n                    <img\n                        src={poster}\n                        alt=\"\" />\n                }\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className=\"videoDuration\"><span className=\"durationLogo\"></span> <span>{this.secondsToMinutesHandler(Math.round(duration))}</span></div>\n                </div>\n            </div>\n        )\n    }\n}\n","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\n\ninterface VideoGalleryVerticalItemMutamProps {\n    videoItem: SiteItemData\n    videoIndex: number\n    lastIntersectedPromoIndex: number\n    onOpenVideoGalleryView: (e) => void\n    onVideoEnded: () => void\n    getItemIntoViewIndex: (itemIntoViewIndex: number) => void\n    onLastIntersectingPromoCHange: (lastPromoIndex: number) => void\n    pushGA4Event: (action: string, isFeedDisplay: boolean) => void\n}\n\ninterface VideoGalleryVerticalItemMutamState {\n    isItemIntoView: boolean\n}\n\nexport class VideoGalleryVerticalItemMutam extends React.Component<VideoGalleryVerticalItemMutamProps, VideoGalleryVerticalItemMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isItemIntoView: false,\n        }\n    }\n\n    private videoRef;\n    private slotRef;\n    private intersectionObserver: IntersectionObserver;\n\n    componentDidMount() {\n        this.initObserver();\n    }\n\n    componentWillUnmount() {\n        this.intersectionObserver && this.intersectionObserver.disconnect();\n    }\n\n    private onVideoIntersectViewport = () => {\n        const { getItemIntoViewIndex, videoIndex, onLastIntersectingPromoCHange } = this.props;\n        this.setState({ isItemIntoView: true });\n        onLastIntersectingPromoCHange(videoIndex)\n        getItemIntoViewIndex(videoIndex)\n        if (this.videoRef) this.videoRef.play();\n    }\n\n    private onVideoLeaveViewport = () => {\n        this.setState({ isItemIntoView: false });\n        if (this.videoRef) this.videoRef.pause();\n    }\n\n    private secondsToMinutesHandler = (seconds: number) => {\n        const minutes = Math.floor(seconds / 60).toString().padStart(2, \"0\");\n        const newSeconds = (seconds % 60).toString().padStart(2, \"0\");\n        return `${minutes}:${newSeconds}`;\n    }\n\n    private initObserver = () => {\n        this.intersectionObserver = new IntersectionObserver(entry => {\n            entry[0].isIntersecting ? this.onVideoIntersectViewport() : this.onVideoLeaveViewport();\n        }, { threshold: 0.8 })\n        this.intersectionObserver.observe(this.slotRef);\n    }\n\n    public render() {\n        const { isItemIntoView } = this.state;\n        const { videoItem, onOpenVideoGalleryView, videoIndex, onVideoEnded } = this.props;\n        const { media, title } = videoItem;\n        const { duration, poster, promoPath } = media as SiteVideoData;\n        const shouldDisplayPromo = isItemIntoView && promoPath;\n        const slotClasses = `slotView ${shouldDisplayPromo ? \"active\" : \"\"}`;\n\n        return (\n            <div\n                className={slotClasses}\n                onClick={() => onOpenVideoGalleryView(videoIndex)}\n                ref={ref => this.slotRef = ref}\n            >\n                {shouldDisplayPromo ?\n                    <video\n                        autoPlay={true}\n                        loop={false}\n                        ref={ref => this.videoRef = ref}\n                        muted\n                        poster={poster}\n                        onEnded={onVideoEnded}\n                        className=\"promoVideo\" src={promoPath}\n                        playsInline\n                        webkit-playsInline>\n                    </video>\n                    :\n                    <img\n                        src={poster}\n                        alt=\"\" />\n                }\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className=\"videoDuration\"><span className=\"durationLogo\"></span> <span>{this.secondsToMinutesHandler(Math.round(duration))}</span></div>\n                </div>\n            </div>\n        )\n    }\n}\n","import Slider from \"react-slick\";\nimport { SiteItemData } from \"../../../../interfaces\";\nimport { VideoGalleryVerticalItemMutam } from \"./videoGalleryVerticalItemMutam\";\nimport { VideoVerticalFeedItemMutam } from \"./videoVerticalFeedItemMutam\";\nimport { PromoCarousel } from \"./promoCarousel\";\nimport { enablePageRefresh, disablePageRefresh } from \"../../../../siteWidgets/siteWidgetUtils\";\nimport * as ResizeObserver from \"resize-observer-polyfill\";\nimport { categoryObj } from \"./videoGalleryVerticalMutamComponenta\";\n\ninterface VideoGalleryVerticalMutamProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    repeatAds: number\n    maxAds: number\n    firstAdPlace: number\n    shouldDisplayMobileAds: boolean\n    category: categoryObj\n    hideMoreButton: boolean\n    moreButtonText: string\n    domain: string\n    showPrerollAds: boolean\n}\n\ninterface VideoGalleryVerticalMutamState {\n    feedActiveSlide: number\n    isFeedDisplay: boolean\n    initialFeedSlide: number\n    togglePromoActive: boolean\n    currentPromoIndex: number\n    promoViewportWidth: number\n    lastIntersectedPromoIndex: number\n}\n\nexport class VideoGalleryVerticalMutam extends React.Component<VideoGalleryVerticalMutamProps, VideoGalleryVerticalMutamState> {\n    constructor(props) {\n        super(props);\n        this.state = {\n            initialFeedSlide: 0,\n            feedActiveSlide: 0,\n            isFeedDisplay: false,\n            togglePromoActive: false,\n            currentPromoIndex: 0,\n            promoViewportWidth: 375,\n            lastIntersectedPromoIndex: 0,\n        }\n    }\n\n    private componentWrapperRef;\n    private resizeObserver: ResizeObserver;\n    private sliderRef;\n\n\n    componentDidMount() {\n        this.resizeObserver = new ResizeObserver(entries => entries.forEach(e => {\n            this.setState({ promoViewportWidth: e.contentRect.width })\n        }));\n        this.resizeObserver.observe(this.componentWrapperRef);\n    }\n\n    componentWillUnmount() {\n        this.resizeObserver && this.resizeObserver.disconnect();\n    }\n\n    private onOpenVideoGalleryView = (originalVideoListIndex: number) => {\n        const { videoList } = this.props;\n        const initialFeedSlide = this.getListWithAds().findIndex((element) => element.itemId === videoList[originalVideoListIndex].itemId);\n        this.setState({ initialFeedSlide: initialFeedSlide, feedActiveSlide: initialFeedSlide }, () => { this.setState({ isFeedDisplay: true }) });\n        disablePageRefresh();\n    }\n\n    private onMoreVideosHandler = () => {\n        this.setState({ initialFeedSlide: 0, feedActiveSlide: 0, isFeedDisplay: true });\n    }\n\n    private onCloseVideoGalleryView = () => {\n        this.setState({ isFeedDisplay: false });\n        enablePageRefresh();\n    }\n\n    private onVideoEnded = () => {\n        this.setState({ togglePromoActive: !this.state.togglePromoActive });\n    }\n\n    private getItemIntoViewIndex = (itemIntoViewIndex: number) => {\n        this.setState({ currentPromoIndex: itemIntoViewIndex })\n    }\n    private onLastIntersectingPromoCHange = (lastPromoIndex: number) => {\n        this.setState({ lastIntersectedPromoIndex: lastPromoIndex })\n    }\n\n    private onChangeVideoHandler = () => {\n        setTimeout(() => {\n            const videoElement = document.querySelector(\".videoGalleryVerticalMutamComponenta .feedDisplay .slick-active .videoVerticalFeedItemMutam #player.is-paused .fp-engine\") as HTMLVideoElement;\n            if (videoElement) {\n                videoElement.currentTime = 0;\n                videoElement.click();\n            };\n        }, 600)\n    }\n\n    private onStopPlayingVideoHandler = () => {\n        const playingVideoElement = document.querySelector(\".videoGalleryVerticalMutamComponenta .feedDisplay .slick-slide:not(.slick-active) .videoVerticalFeedItemMutam #player.is-playing .fp-engine\") as HTMLVideoElement;\n        if (playingVideoElement) {\n            playingVideoElement.currentTime = 0;\n            playingVideoElement.pause();\n        };\n    }\n\n    private onNextSlide = () => {\n        this.onChangeVideoHandler();\n        this.sliderRef.slickNext();\n        this.pushGA4Event(\"swipe_up\", true);\n    }\n\n    private pushGA4Event = (action: string, isFeedDisplay: boolean) => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { category } = this.props;\n        const actionPrefix = category && category.name ? (category.name === \"דף הבית\") ? \"homepage\" : category.name : \"homepage\";\n        const gaAction = isFeedDisplay ? `video_${action}` : `${actionPrefix}_${action}`;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            vertical_video_action: gaAction,\n        });\n    };\n\n    private getListWithAds = () => {\n        const { repeatAds, maxAds, firstAdPlace, videoList, shouldDisplayMobileAds, showPrerollAds } = this.props;\n        const videoListCopy = [...videoList];\n        const videoListLength = videoListCopy.length;\n        let numberOfAds = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        const newListLength = videoListLength + numberOfAds;\n        const baseId = \"ads.vertical.native.\";\n        let newList = [];\n        let adCount = 1;\n\n        if (showPrerollAds) return this.getListWithPreRollsAds();\n        if (maxAds === 0 || !shouldDisplayMobileAds) return videoListCopy;\n\n        for (let i = 0; i < newListLength; i++) {\n            if (i < firstAdPlace) {\n                newList.push(videoListCopy.shift());\n            } else if (i === firstAdPlace && numberOfAds > 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else if (numberOfAds > 0 && (i - firstAdPlace) % (repeatAds + 1) === 0) {\n                newList.push(`${baseId}${adCount}`);\n                numberOfAds--;\n                adCount++;\n            } else {\n                newList.push(videoListCopy.shift());\n            }\n        }\n        return newList;\n    }\n\n    private getListWithPreRollsAds = () => {\n        const { repeatAds, maxAds, firstAdPlace, videoList, showPrerollAds } = this.props;\n        const videoListCopy = [...videoList];\n        const videoListLength = videoListCopy.length;\n        let numberOfAdsLeft = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n        const totalAdsNumber = firstAdPlace > videoListLength ? 0 : Math.min(maxAds, videoListLength - firstAdPlace, Math.floor((videoListLength - firstAdPlace) / repeatAds + 1));\n\n        if (maxAds === 0) return videoListCopy;\n        let newList = [];\n\n        for (let i = 0; i < videoList.length; i++) {\n            let prerollIndex = Math.abs(numberOfAdsLeft - (totalAdsNumber + 1));\n            if (i + 1 < firstAdPlace) {\n                newList.push({ ...videoList[i], hidePrerollAds: true, prerollIndex: undefined });\n            } else if (i === firstAdPlace && numberOfAdsLeft > 0) {\n                newList.push({ ...videoList[i], hidePrerollAds: false, prerollIndex: showPrerollAds ? prerollIndex : undefined });\n                numberOfAdsLeft--;\n            } else if (numberOfAdsLeft > 0 && (i - firstAdPlace) % (repeatAds + 1) === 0) {\n                newList.push({ ...videoList[i], hidePrerollAds: false, prerollIndex: showPrerollAds ? prerollIndex : undefined });\n                numberOfAdsLeft--;\n            } else {\n                newList.push({ ...videoList[i], hidePrerollAds: true, prerollIndex: undefined });\n            }\n        }\n\n        return newList;\n    }\n\n    public render() {\n        const { videoList, isTabVisible, tabTitleText, hideMoreButton, moreButtonText, domain, showPrerollAds } = this.props;\n        const { isFeedDisplay, initialFeedSlide, feedActiveSlide, togglePromoActive, currentPromoIndex, promoViewportWidth, lastIntersectedPromoIndex } = this.state;\n        const basePromoWidthFit375 = 283;\n        const promoWidth = (promoViewportWidth / 375) * basePromoWidthFit375;\n        const bottomText = moreButtonText && moreButtonText.length > 0 ? moreButtonText : `עוד ב${tabTitleText}`\n        const feedDisplaySettings = {\n            infinite: false,\n            speed: 500,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            initialSlide: initialFeedSlide,\n            autoplay: false,\n            vertical: true,\n            onSwipe: () => { this.onChangeVideoHandler() },\n            verticalSwiping: true,\n            beforeChange: (current, next) => {\n                const userSwipeDirection = next > current ? \"up\" : \"down\";\n                this.pushGA4Event(`swipe_${userSwipeDirection}`, true);\n            },\n            afterChange: (current) => {\n                this.setState({ feedActiveSlide: current })\n                this.onStopPlayingVideoHandler();\n            },\n        };\n\n        return (\n            <div className=\"videoGalleryVerticalMutamWrapper\" ref={componentWrapperRef => (this.componentWrapperRef = componentWrapperRef)}>\n                {isFeedDisplay ?\n                    <div className=\"feedDisplay\">\n                        <Slider {...feedDisplaySettings} className=\"slider\" ref={(sliderRef) => (this.sliderRef = sliderRef)}>\n                            {this.getListWithAds().map((videoItem, index) => {\n                                const arrowDisplay = index === this.getListWithAds().length - 1 ? \"none\" : \"\";\n                                if ((typeof videoItem) === 'string') {\n                                    return (\n                                        <div className=\"adsWrapper\">\n                                            <div key={index} id={videoItem} className=\"ads_vertical_video\"></div>\n                                            <div className={`arrow arrowNext ${arrowDisplay}`} onClick={this.onNextSlide}>לסרטון הבא</div>\n                                        </div>\n                                    )\n                                } else {\n                                    return (\n                                        <VideoVerticalFeedItemMutam\n                                            videoItem={videoItem}\n                                            key={videoItem.itemId}\n                                            initialFeedSlide={initialFeedSlide}\n                                            feedActiveSlide={feedActiveSlide}\n                                            feedIndex={index}\n                                            onCloseVideoGalleryView={this.onCloseVideoGalleryView}\n                                            arrowDisplay={arrowDisplay}\n                                            onNextSlide={this.onNextSlide}\n                                            domain={domain}\n                                            index={index}\n                                            showPrerollAds={showPrerollAds} />\n                                    )\n                                }\n                            })}\n                        </Slider>\n                    </div>\n                    :\n                    <>\n                        {isTabVisible && <div className=\"videoGalleryVerticalTab componentaTab\"><span className=\"tabIcon\"></span><span>{tabTitleText}</span></div>}\n                        <PromoCarousel\n                            imageWidth={promoWidth}\n                            width={640}\n                            itemListLength={videoList.length}\n                            marginRight={0}\n                            togglePromoActive={togglePromoActive}\n                            currentPromoIndex={currentPromoIndex}\n                            videoList={videoList}\n                            isMobileWeb={true}\n                            pushGA4Event={this.pushGA4Event}\n                        >\n                            {videoList.map((videoItem, index) => {\n                                return (\n                                    <VideoGalleryVerticalItemMutam\n                                        videoItem={videoItem}\n                                        onOpenVideoGalleryView={this.onOpenVideoGalleryView}\n                                        videoIndex={index}\n                                        key={videoItem.itemId}\n                                        onVideoEnded={this.onVideoEnded}\n                                        getItemIntoViewIndex={this.getItemIntoViewIndex}\n                                        onLastIntersectingPromoCHange={this.onLastIntersectingPromoCHange}\n                                        lastIntersectedPromoIndex={lastIntersectedPromoIndex}\n                                        pushGA4Event={this.pushGA4Event}\n                                    />\n                                )\n                            })}\n                        </PromoCarousel >\n                        {!hideMoreButton && <div className=\"moreButton\" onClick={this.onMoreVideosHandler}>{bottomText}</div>}\n                    </>\n                }\n            </div>\n        )\n    }\n}\n","import { SiteItemData } from \"../../../../interfaces\";\nimport { VideoGalleryVerticalMutam } from \"./videoGalleryVerticalMutam\";\n\nexport interface categoryObj {\n    id: string\n    categoryColor: string\n    name:string\n}\n\ninterface VideoGalleryVerticalMutamComponentaProps {\n    videoList: SiteItemData[]\n    isTabVisible: boolean\n    tabTitleText: string\n    firstAdPlace: number\n    maxAds: number\n    repeatAds: number\n    shouldDisplayMobileAds: boolean\n    category: categoryObj\n    hideMoreButton:boolean \n    moreButtonText:string\n    domain: string\n    showPrerollAds: boolean\n}\n\nexport class VideoGalleryVerticalMutamComponenta extends React.Component<VideoGalleryVerticalMutamComponentaProps, {}>{\n    public static siteScriptName = \"VideoGalleryVerticalMutamComponenta\";\n\n    public render() {\n        const { videoList, hideMoreButton,moreButtonText,  isTabVisible, tabTitleText, repeatAds, maxAds, firstAdPlace, shouldDisplayMobileAds, category, domain, showPrerollAds } = this.props;\n\n        return (\n            <div className=\"videoGalleryVerticalMutamComponenta\">\n                <VideoGalleryVerticalMutam\n                    videoList={videoList}\n                    isTabVisible={isTabVisible}\n                    tabTitleText={tabTitleText}\n                    repeatAds={repeatAds}\n                    maxAds={maxAds}\n                    firstAdPlace={firstAdPlace}\n                    hideMoreButton={hideMoreButton}\n                    moreButtonText={moreButtonText}\n                    shouldDisplayMobileAds={shouldDisplayMobileAds}\n                    category={category}\n                    domain={domain}\n                    showPrerollAds={showPrerollAds}/>\n            </div>\n        )\n    }\n}\n","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\nimport { FrontCopyButton } from \"../../../../commonComponents/inline/frontCopyButton/frontCopyButton\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\nimport { openFacebookShare, openTwitterShare } from \"../../../../widgetsUtils\";\nimport { WhatsAppShareButton } from \"../../../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\";\n\ninterface VideoVerticalFeedItemProps {\n    videoItem: SiteItemData & { hidePrerollAds?: boolean, prerollIndex?: number }\n    feedActiveSlide: number\n    domain: string\n    index: number\n    showPrerollAds: boolean\n    onNextSlide: () => void\n    onCloseVideoGalleryView: () => void\n}\n\ninterface VideoVerticalFeedItemState {\n    isSubtitleOpen: boolean\n    isMediaShareVisible: boolean\n    dynamicHeight: number\n    topSpace: number\n}\nexport class VideoVerticalFeedItem extends React.Component<VideoVerticalFeedItemProps, VideoVerticalFeedItemState>{\n    private resizeObserver: IntersectionObserver | null = null;\n    constructor(props) {\n        super(props);\n        this.state = {\n            isSubtitleOpen: false,\n            isMediaShareVisible: false,\n            dynamicHeight: window.innerHeight,\n            topSpace: 0,\n        }\n    }\n\n    componentDidMount() {\n        this.initializeEndedEventListeners();\n        document.addEventListener('click', this.handleClickOutside);\n\n        this.updateDynamicHeight();\n        this.initializeResizeObserver();\n        window.addEventListener(\"resize\", this.updateDynamicHeight);\n    }\n\n    componentWillUnmount() {\n        this.removeEndedEventListeners();\n        document.removeEventListener('click', this.handleClickOutside);\n\n        this.cleanupResizeObserver();\n        window.removeEventListener(\"resize\", this.updateDynamicHeight);\n    }\n\n    private initializeResizeObserver() {\n        this.resizeObserver = new IntersectionObserver(() => {\n            this.updateDynamicHeight();\n        });\n\n        const target = document.body;\n        if (target && this.resizeObserver) {\n            this.resizeObserver.observe(target);\n        }\n    }\n\n    private cleanupResizeObserver() {\n        if (this.resizeObserver) {\n            this.resizeObserver.disconnect();\n            this.resizeObserver = null;\n        }\n    }\n\n    private updateDynamicHeight = () => {\n        const viewportHeight = window.innerHeight;\n\n        const mainNavElement = document.querySelector(\".BottomHeaderArea.sticky .mainNav\") as HTMLElement;\n        const adsSargelElement = document.getElementById(\"ads.sargel\");\n        const adsBannerElement = document.getElementById(\"ads.banner\");\n\n        const mainNavHeight = mainNavElement ? mainNavElement.offsetHeight : 0;\n        const adsSargelHeight = adsSargelElement ? adsSargelElement.offsetHeight : 0;\n        const adsBannerHeight = adsBannerElement ? adsBannerElement.offsetHeight : 0;\n\n        const dynamicHeight = viewportHeight - mainNavHeight - adsSargelHeight - adsBannerHeight;\n        const top = adsSargelHeight || adsBannerHeight ? -12 : 13;\n\n        this.setState({ dynamicHeight, topSpace: top });\n\n    };\n\n    private handleClickOutside = (event: MouseEvent) => {\n        if ((event.target as Element).className.includes(\"slick-slide\")) this.props.onCloseVideoGalleryView();\n    };\n\n    private initializeEndedEventListeners() {\n        setTimeout(() => {\n            const videoElements = document.querySelectorAll(\".videoGalleryVerticalComponenta .feedDisplay .slick-slide .videoVerticalFeedItem #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n            if (videoElements.length) {\n                videoElements.forEach((element) => {\n                    element.addEventListener(\"ended\", this.handleVideoEnded);\n                })\n            };\n        }, 600)\n    }\n\n    private removeEndedEventListeners() {\n        const videoElements = document.querySelectorAll(\".videoGalleryVerticalComponenta .feedDisplay .slick-slide .videoVerticalFeedItem #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n        if (videoElements.length) {\n            videoElements.forEach((element) => {\n                element.removeEventListener(\"ended\", this.handleVideoEnded)\n            })\n        };\n    }\n\n    private handleVideoEnded = (e) => {\n        e.target.currentTime = 0;\n        e.target.click();\n        this.props.onNextSlide();\n    }\n\n    componentDidUpdate(prevProps, prevState) {\n        if (prevProps.feedActiveSlide !== this.props.feedActiveSlide) {\n            setTimeout(() => {\n                const videoElement = document.querySelector(\".videoGalleryVerticalComponenta .feedDisplay .slick-active .videoVerticalFeedItem #player.is-paused .fp-engine\") as HTMLVideoElement;\n                const unActiveVideoElement = document.querySelector(\".videoGalleryVerticalComponenta .feedDisplay .slick-slide:not(.slick-active) .videoVerticalFeedItem #player.is-playing .fp-engine\") as HTMLVideoElement;\n                if (videoElement) {\n                    setTimeout(() => {\n                        if (videoElement.paused) {\n                            videoElement.pause();\n                            videoElement.currentTime = 0;\n                            videoElement.play();\n                        }\n                    }, 500)\n                };\n                if (unActiveVideoElement) unActiveVideoElement.click();\n            }, 600)\n        }\n    }\n\n    private onSubtitleModeToggle = () => {\n        this.setState({ isSubtitleOpen: !this.state.isSubtitleOpen });\n    }\n\n    private onMediaShareToggle = () => {\n        this.setState({ isMediaShareVisible: !this.state.isMediaShareVisible });\n    }\n\n    private handleShareBtnClicked = (button: string) => {\n        this.setState({ isMediaShareVisible: false });\n        const { domain, videoItem } = this.props;\n\n        if (typeof window !== \"undefined\") {\n            const baseUrl = `${domain}/video/${(videoItem.media as SiteVideoData).videoPageId}`;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(baseUrl, \"\", () => { }, \"vertical_video\")\n                    break;\n                case \"tw\":\n                    openTwitterShare(baseUrl, () => { }, \"vertical_video\")\n                    break;\n                case \"wa\":\n                    WhatsAppShareButton.openWhatsAppShare(baseUrl, () => { }, \"vertical_video\")\n                    break;\n            }\n        }\n    }\n\n    private pushGA4Event = () => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { index } = this.props;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            componenta_name: \"vertical_video\",\n            content_type: \"componenta\",\n            position_in_component: index,\n            click_text: \"לכתבה המלאה\"\n        });\n    };\n\n    public render() {\n        const { isSubtitleOpen, isMediaShareVisible, dynamicHeight, topSpace } = this.state;\n        const { videoItem, domain, showPrerollAds, index, feedActiveSlide } = this.props;\n        const { media, title, subTitle, titleLink, titleTargetLink } = videoItem;\n        const subtitleClass = `videoSubtitle ${isSubtitleOpen ? \"\" : \"close\"}`;\n        const videoPageId = (videoItem.media as SiteVideoData).videoPageId;\n        const videoPageShareUrl = `${domain}/video/${videoPageId}?utm_source=ynet.co.il&utm_medium=share&utm_campaign=copy_url&utm_content=vertical_video`;\n        const shouldDisplayVideo = (feedActiveSlide === index || feedActiveSlide === index - 1 || feedActiveSlide === index + 1);\n\n        return (\n            <div className=\"videoVerticalFeedItemWrapper\" style={{ height: dynamicHeight, width: dynamicHeight * 0.56 }}>\n                <div className=\"videoVerticalFeedItem\" style={{ height: dynamicHeight, width: dynamicHeight * 0.56, top: topSpace }}>\n                    {videoPageId &&\n                        <div className=\"shareArea\">\n                            <div className=\"shareBtn\" onClick={this.onMediaShareToggle}></div>\n                            {isMediaShareVisible &&\n                                <div className=\"mediaShareWrapper\">\n                                    <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"fb\")}>\n                                        <div className=\"mediaShareIcon facebook\"></div>\n                                        <div className=\"mediaShareText\">Facebook</div>\n                                    </div>\n                                    <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"wa\")}>\n                                        <div className=\"mediaShareIcon whatsapp\"></div>\n                                        <div className=\"mediaShareText\">WhatsApp</div>\n                                    </div>\n                                    <div className=\"mediaShareItem\" onClick={e => this.handleShareBtnClicked(\"tw\")}>\n                                        <div className=\"mediaShareIcon twitter\"></div>\n                                        <div className=\"mediaShareText\">Twitter</div>\n                                    </div>\n                                    <div className=\"mediaShareItem\">\n                                        <FrontCopyButton popupText=\"הקישור הועתק ללוח\" title={title} url={videoPageShareUrl} />\n                                        <div className=\"mediaShareText\">העתקת קישור</div>\n                                    </div>\n                                </div>\n                            }\n                        </div>\n                    }\n                    {shouldDisplayVideo &&\n                        <SiteVideoInline\n                            data={media as SiteVideoData}\n                            applyStickyness={true}\n                            width={dynamicHeight * 0.56}\n                            height={dynamicHeight}\n                            hideVideoAds={showPrerollAds ? videoItem.hidePrerollAds : true}\n                            isShareButton={true}\n                            adIndex={videoItem.prerollIndex}\n                            runArticleAutoPlayLogic={false} />\n                    }\n                    <div className=\"contentDiv\">\n                        <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                        <div className={subtitleClass} onClick={this.onSubtitleModeToggle} dangerouslySetInnerHTML={{ __html: subTitle }} />\n                        {titleLink &&\n                            <div onClick={this.pushGA4Event}>\n                                <HyperLinkBuilder\n                                    className=\"videoLink\"\n                                    href={titleLink}\n                                    linkTarget={titleTargetLink}\n                                >\n                                    לכתבה המלאה\n                        </HyperLinkBuilder>\n                            </div>\n                        }\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}","import { SiteItemData, SiteVideoData } from \"../../../../interfaces\";\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\";\n\ninterface VideoVerticalFeedItemMutamProps {\n    videoItem: SiteItemData & { hidePrerollAds?: boolean, prerollIndex?: number }\n    initialFeedSlide: number\n    feedActiveSlide: number\n    feedIndex: number\n    arrowDisplay: string\n    domain: string\n    index: number\n    showPrerollAds: boolean\n    onCloseVideoGalleryView: () => void\n    onNextSlide: () => void\n}\n\ninterface VideoVerticalFeedItemMutamState {\n    isSubtitleOpen: boolean\n}\n\nexport class VideoVerticalFeedItemMutam extends React.Component<VideoVerticalFeedItemMutamProps, VideoVerticalFeedItemMutamState>{\n    constructor(props) {\n        super(props);\n        this.state = {\n            isSubtitleOpen: false,\n        }\n    }\n\n    componentDidMount() {\n        this.initializeEndedEventListeners();\n    }\n\n    componentWillUnmount() {\n        this.removeEndedEventListeners();\n    }\n\n    private initializeEndedEventListeners() {\n        setTimeout(() => {\n            const videoElements = document.querySelectorAll(\".videoGalleryVerticalMutamComponenta .feedDisplay .slick-slide .videoVerticalFeedItemMutam #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n            if (videoElements.length) {\n                videoElements.forEach((element) => {\n                    element.addEventListener(\"ended\", this.handleVideoEnded);\n                })\n            };\n        }, 600)\n    }\n\n    private removeEndedEventListeners() {\n        const videoElements = document.querySelectorAll(\".videoGalleryVerticalMutamComponenta .feedDisplay .slick-slide .videoVerticalFeedItemMutam #player .fp-engine\") as NodeListOf<HTMLVideoElement>;\n        if (videoElements.length) {\n            videoElements.forEach((element) => {\n                element.removeEventListener(\"ended\", this.handleVideoEnded)\n            })\n        };\n    }\n\n    private handleVideoEnded = (e) => {\n        e.target.currentTime = 0;\n        e.target.click();\n        this.props.onNextSlide();\n    }\n\n    private onSubtitleModeToggle = () => {\n        this.setState({ isSubtitleOpen: !this.state.isSubtitleOpen });\n    }\n\n    private openShare = async () => {\n        const { domain, videoItem: { media } } = this.props;\n        const shareUrl = `${domain}/video/${(media as SiteVideoData).videoPageId}?utm_source=ynet.co.il&utm_medium=Share&utm_campaign=copy_url&utm_content=vertical_video`;\n        const shareData = { url: shareUrl };\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    private pushGA4Event = () => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n        const { index } = this.props;\n\n        window.dataLayer.push({\n            event: \"content_click\",\n            componenta_name: \"vertical_video\",\n            content_type: \"componenta\",\n            position_in_component: index,\n            click_text: \"לכתבה המלאה\"\n        });\n    };\n\n    public render() {\n        const { isSubtitleOpen } = this.state;\n        const { videoItem, onCloseVideoGalleryView, arrowDisplay, onNextSlide, showPrerollAds, feedActiveSlide, index } = this.props;\n        const { media, title, subTitle, titleLink, titleTargetLink } = videoItem;\n        const subtitleClass = `videoSubtitle ${isSubtitleOpen ? \"\" : \"close\"}`;\n        const feedItemClass = `videoVerticalFeedItemMutam ${isSubtitleOpen ? \"openMode\" : \"standardMode\"}`;\n        const videoPageId = (media as SiteVideoData).videoPageId;\n        const shouldDisplayVideo = (feedActiveSlide === index || feedActiveSlide === index - 1 || feedActiveSlide === index + 1);\n\n        return (\n            <div className={feedItemClass}>\n                {shouldDisplayVideo &&\n                    <SiteVideoInline\n                        data={media as SiteVideoData}\n                        applyStickyness={true}\n                        hideVideoAds={showPrerollAds ? videoItem.hidePrerollAds : true}\n                        adIndex={videoItem.prerollIndex}\n                        isShareButton={false}\n                    />\n                }\n                <div className={`arrow arrowNext ${arrowDisplay}`} onClick={onNextSlide}>לסרטון הבא</div>\n                <div className=\"closeBtn\" onClick={onCloseVideoGalleryView}></div>\n                {videoPageId && <div className=\"shareBtn\" onClick={this.openShare}></div>}\n                <div className=\"contentDiv\">\n                    <div className=\"videoTitle\" dangerouslySetInnerHTML={{ __html: title }} />\n                    <div className={subtitleClass} onClick={this.onSubtitleModeToggle} dangerouslySetInnerHTML={{ __html: subTitle }} />\n                    {titleLink &&\n                        <div onClick={this.pushGA4Event}>\n                            <HyperLinkBuilder\n                                className=\"videoLink\"\n                                href={titleLink}\n                                linkTarget={titleTargetLink}\n                            >\n                                לכתבה המלאה\n                        </HyperLinkBuilder>\n                        </div>\n                    }\n                </div>\n            </div>\n        )\n    }\n}","import { VideoMainPageMediaShare } from \"./videoMainPageMediaShare\";\nimport { SiteVideoData, SiteItemData } from \"../../../../interfaces\";\nimport { SiteVideoInline } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/siteVideoInline\";\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\";\n\ninterface VideoPageMainProps {\n    video: SiteItemData\n    languageCode: string\n    isMobileWeb: boolean\n    domain: string\n}\n\nexport class VideoPageMain extends React.Component<VideoPageMainProps, {}>{\n    public static siteScriptName = \"VideoPageMain\";\n\n    public render() {\n        const { video, languageCode, isMobileWeb, domain } = this.props;\n        const { media, categoryName } = video;\n        const { dateCreated, credit, videoName, mediaId, aspectRatio } = media as SiteVideoData;\n        const lang = languageCode.split(\"-\")[0];\n        const videoMainPageClass = `videoPageMain ${aspectRatio === \"9:16\" ? \"vertical\": \"\"}`;\n        \n        return (\n            <div className={videoMainPageClass}>\n                <div className=\"contentDiv\">\n                    {!isMobileWeb && <div className=\"videoPageMainCategory\">{categoryName}</div>}\n                    <div className=\"videoPageMainTitle\">{videoName}</div>\n                    <div className=\"videoPageMainTop\">\n                        <div className=\"videoPageMainDetails\">\n                            <span className=\"videoPageMainCredit\">{credit}</span>\n                            <span className=\"separator\"></span>\n                            <DateDisplay date={dateCreated} isArticle={true} />\n                        </div>\n                        <VideoMainPageMediaShare\n                            categorySubChannel={\"categorySubChannel\"}\n                            credit={credit}\n                            articleId={mediaId}\n                            showComments={false}\n                            lang={lang}\n                            isMobileWeb={isMobileWeb}\n                            domain={domain} />\n                    </div>\n                </div>\n                <div className=\"videoWrapper\">\n                    <SiteVideoInline\n                        data={media as SiteVideoData}\n                        applyStickyness={true}\n                        hideVideoAds={false}\n                        isShareButton={true}\n                        runArticleAutoPlayLogic={false} />\n                </div>\n            </div>\n\n        )\n    }\n}\n","require(\"../../../article/componentas/articleSocialShare1280Component/ynet_pplus_magazine_site_siteArticleSocialShare1280.less\")\nimport { openFacebookShare, openTwitterShare } from \"../../../../widgetsUtils\"\nimport { MailShareButton } from \"../../../../siteWidgets/socialShareButtons/mail/mailShareButton\"\nimport { WhatsAppShareButton } from \"../../../../siteWidgets/socialShareButtons/whatsApp/whatsAppShareButton\"\nimport { FrontCopyButton } from \"../../../../commonComponents/inline/frontCopyButton/frontCopyButton\";\nconst clickOutside = require('react-click-outside');\n\ninterface shareState {\n    isMenuOpened: boolean\n}\n\ninterface shareProps {\n    categorySubChannel: string\n    credit: string\n    articleId: string\n    isMobileWeb: boolean\n    lang?: string\n    verticalSidebar?: boolean\n    title?: string\n    domain: string\n}\n\n@clickOutside\nexport class VideoMainPageMediaShare extends React.Component<shareProps, shareState>{\n    static siteScriptName = \"VideoMainPageMediaShare\"\n    constructor() {\n        super();\n        this.state = {\n            isMenuOpened: null,\n        }\n    }\n\n    private handleClickOutside = () => {\n        this.setState({\n            isMenuOpened: false\n        });\n    }\n\n    private handleShareBtnClicked = (button: string) => {\n        const { lang } = this.props;\n        this.setState({ isMenuOpened: false })\n        if (typeof window !== \"undefined\") {\n            const current_url = window.location.href;\n\n            switch (button) {\n                case \"fb\":\n                    openFacebookShare(current_url, \"\")\n                    break;\n                case \"tw\":\n                    openTwitterShare(current_url)\n                    break;\n                case \"mailto\":\n                    MailShareButton.openMailShare(document.title, current_url, lang)\n                    break;\n                case \"wa\":\n                    WhatsAppShareButton.openWhatsAppShare(current_url)\n                    break;  \n            }\n        }\n    }\n\n    private openShare = async () => {\n        const { domain } = this.props;\n        const current_url = `${window.location.href}?utm_source=${domain}&utm_medium=social&utm_campaign=general_share`;\n        const shareData = { url: current_url }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    render() {\n        const { title, isMobileWeb } = this.props;\n        const isApp = typeof window !== \"undefined\" && window.location.href.indexOf(\"IsApp\") != -1;\n        const dict = {\n            he: {\n                textMail: \"שלחו כתבה\",\n                textTw: \"שיתוף בטוויטר\",\n                textFb: \"שיתוף בפייסבוק\",\n                textWa: \"שיתוף בואטסאפ\",\n            }\n        };\n        const { he: { textMail, textFb, textTw, textWa } } = dict;\n\n        return (\n            <div className=\"SiteArticleSocialShareNew1280\">\n                {isApp ?\n                    <>\n                        <a href=\"whatsapp:\">\n                            <span className=\"shareIcon1280 wa\" />\n                        </a>\n                        <a href=\"share_article\">\n                            <span className=\"shareIcon1280 shareBtn\" />\n                        </a>\n                    </>\n                    :\n                    <>\n                        <button title={textWa} className=\"shareIcon1280 wa\" onClick={e => this.handleShareBtnClicked(\"wa\")}></button>\n                        {isMobileWeb && <div className=\"shareIcon1280 shareBtn\" onClick={this.openShare}></div>}\n                        {!isMobileWeb &&\n                            <>\n                                <button title={textFb} className=\"shareIcon1280 fb\" onClick={e => this.handleShareBtnClicked(\"fb\")}></button>\n                                <button title={textTw} className={`shareIcon1280 tw`} onClick={e => this.handleShareBtnClicked(\"tw\")}></button>\n                                <button title={textMail} className=\"shareIcon1280 mailto\" onClick={e => this.handleShareBtnClicked(\"mailto\")}></button>\n                                <FrontCopyButton popupText=\"הקישור הועתק ללוח\" title={title} />\n                            </>\n                        }\n                    </>\n                }\n            </div>\n        )\n    }\n}","import { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { isWcmEditor } from \"../../../../../config/serverConfig\"\ninterface promoYplusBtnProps {\n    link: string\n    text: string\n    linkTarget: LinkTargetProperties\n    isBottomButton?: boolean\n\n}\nexport class PromoYplusBtn extends React.Component<promoYplusBtnProps, {}>{\n    public static siteScriptName = \"PromoYplusBtn\";\n\n    constructor() {\n        super();\n    }\n\n    private analyticsPushPremium = (link: string, linkTarget: LinkTargetProperties, btnClassName: string) => {\n        if (btnClassName == \"bottomGoToLink\") {\n            let category = \"Home Page CTR\"\n            let action = \"Click on Componenta All ynet+ Articles button\"\n            let label = \"button all articles\"\n            sessionStorage.setItem('Saved_Event_For_Tag_Manager', JSON.stringify({\n                event: \"GA_Event\",\n                Category: category,\n                Action: action,\n                Label: label\n            }));\n        }\n        let target = \"_self\"\n        if (linkTarget.linkOpenType && linkTarget.linkOpenType == 'new') {\n            target = '_blank'\n        }\n        setTimeout(function () { !isWcmEditor() && window.open(link, target) }, 2000);\n    }\n\n    render() {\n\n        const { text, link, linkTarget, isBottomButton } = this.props\n        const btnClassName = isBottomButton ? \"bottomGoToLink\" : \"promoBtn\";\n\n        if (text.length === 0) return null\n        else {\n            return (\n                <button className={btnClassName} onClick={() => this.analyticsPushPremium(link, linkTarget, btnClassName)}>\n                    <div>{text}</div>\n                </button>\n            )\n        }\n    }\n}\n\n\n\n\n\n","import { LinkTargetProperties, BaseLinkTypes } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { PromoYplusBtn } from \"./promoBtn\";\nimport { SiteSimpleImage } from \"../../../../commonComponents/inline/siteSimpleImage\";\nimport { getImagesSrc } from \"widgets/commonComponents/inline/siteSimpleImage\"\n\n\n\ninterface YplusWithPaperUpperSectionProps {\n    tabLogoUrl:string\n    isMobile:boolean\n    rightTitleLink:string\n    rightTitleLinkTarget:LinkTargetProperties\n    promoBtnLinkTarget:LinkTargetProperties \n    promoBtnText:string\n    promoLink:string\n    imagesDomain:string\n    categoryId:string\n}\n\n\ninterface YplusWithPaperUpperSectionState {\n    isUserLogged:boolean\n}\n\nexport class YplusWithPaperUpperSection extends React.Component<YplusWithPaperUpperSectionProps, YplusWithPaperUpperSectionState>{\n    public static siteScriptName = \"YplusWithPaperUpperSection\";\n\n    constructor(props) {\n        super(props as YplusWithPaperUpperSectionProps);\n        this.state = {\n            isUserLogged: false\n        }\n    }\n\n    componentDidMount() {\n        window && window.tp && window.tp.push([\"init\", () => {\n            const user = window && window.tp && window.tp.pianoId && window.tp.pianoId.getUser();\n            if (user) {\n                this.setState({ isUserLogged: true })\n            }\n        }])\n    }\n    render() {\n        const {tabLogoUrl,isMobile,rightTitleLink,rightTitleLinkTarget,promoBtnLinkTarget,promoBtnText,promoLink,imagesDomain, categoryId } = this.props;\n        const {isUserLogged} = this.state;\n        const isHP = categoryId===\"8\";\n        const userLoggedClass = isUserLogged && !isMobile && isHP ? 'reverse' : '';\n       \n\n        return (\n            <div className={`upper-container ${userLoggedClass}`}>\n                {tabLogoUrl.length && <HyperLinkBuilder className=\"logoLink\" href={rightTitleLink} linkTarget={rightTitleLinkTarget}>\n                    <img src={getImagesSrc(imagesDomain,tabLogoUrl)} alt=\"logo\" /></HyperLinkBuilder>}\n                {isHP && <div className=\"newspapper-label\"></div>}\n                {!isMobile && !isUserLogged  && <PromoYplusBtn link={promoLink} linkTarget={promoBtnLinkTarget} text={promoBtnText} />}\n            </div>\n        )\n\n\n    }\n}\n\n\n\n\n\n","require(\"./ynet_site_commercialHeaderButton.less\")\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { CommertialItem } from \"./siteYnetHeaderComponenta\";\n\nconst clickOutside = require('react-click-outside');\n\ninterface CommercialHeaderButtonState {\n    isMenuOpened: boolean\n}\n\ninterface CommercialHeaderButtonProps {\n    btnTitle: string\n    linksData: CommertialItem[]\n    followUsLink: string\n    followUsLinkTarget: LinkTargetProperties\n}\n\n@clickOutside\nexport class CommercialHeaderButton extends React.Component<CommercialHeaderButtonProps, CommercialHeaderButtonState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            isMenuOpened: false\n        }\n    }\n\n    /* used for global clickOutside functionality don't remove */\n    private handleClickOutside = () => {\n        this.setState({ isMenuOpened: false });\n    }\n\n    private toggleMenu = () => {\n        this.setState({ isMenuOpened: !this.state.isMenuOpened })\n    }\n\n    render() {\n        const { btnTitle, linksData, followUsLink, followUsLinkTarget } = this.props\n        const { isMenuOpened } = this.state\n        const hasFollowUsLink = followUsLink && followUsLink.length > 0;\n        return (\n            <div className=\"commercial-header-btn\">\n                <div className=\"commercial-btn-icon\"></div>\n\n                <div className=\"commercial-btn-wrapper\" onClick={this.toggleMenu}>\n                    {!hasFollowUsLink ? <div className=\"commercial-btn-title\">{btnTitle}</div> : <HyperLinkBuilder href={followUsLink} className=\"commercial-btn-title\" linkTarget={followUsLinkTarget}>\n                        {btnTitle}\n                    </HyperLinkBuilder>}\n                    {!hasFollowUsLink && <div className={`menu-toggler ${isMenuOpened ? \"to-close\" : \"to-open\"}`} />}\n                </div>\n\n                {isMenuOpened && !hasFollowUsLink &&\n                    <div className=\"commercial-link-select\">\n                        {linksData.map((linkData, i) =>\n                            <HyperLinkBuilder className=\"commercial-link-btn\" href={linkData.link} linkTarget={linkData.linkTarget} >\n                                {linkData.title}\n                            </HyperLinkBuilder>\n                        )}\n                    </div>}\n            </div>\n        )\n    }\n}","import { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { Logo } from \"./siteYnetHeaderComponenta\";\n\ninterface MainNavProps {\n    mainNavItems: HamburgerMenuItems[]\n    onToggleMenu: () => void\n    isOpened: boolean\n    tabBgColor: string\n    isSticky: boolean\n    logoData: Logo\n    onToggleSearch: () => void\n    displayType: string\n}\n\nexport class MainNavHeaderComponenta extends React.Component<MainNavProps, {}> {\n    private getSelectedClassName = (isSelected: boolean) => {\n        if (isSelected) {\n            return \"selected\"\n        }\n    }\n    render() {\n        const { mainNavItems, isOpened, onToggleMenu, tabBgColor, isSticky, logoData, onToggleSearch, displayType } = this.props\n        let defaultColors = { tabBgColor: \"#de1a1a\" }\n        const tabBackgruondStyle = tabBgColor ? tabBgColor : defaultColors.tabBgColor;\n        const isLightMode = displayType && displayType === \"light\";\n        const navStyle = isLightMode ? { borderBottom: `1px solid ${tabBackgruondStyle}` } : { backgroundColor: tabBackgruondStyle }\n        return (\n            <div className=\"mainNav\" role=\"navigation\" aria-label=\"Main Menu\" style={navStyle}>\n                {isSticky && <HyperLinkBuilder href={logoData.link} linkTarget={logoData.linkTarget} ariaLabel={logoData.mediaTitle} className=\"ynetLogoInSticky\" />}\n                <div className=\"navList\">\n                    {_.map((mainNavItems), (item: HamburgerMenuItems, index: number) => <div key={index} >\n                        <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} className={this.getSelectedClassName(item.isSelected)} style={{ color: isLightMode ? \"#000000\" : item.color, \"--menuItemColor\": isLightMode ? \"#000000\" : item.color, }}>\n                            <span dangerouslySetInnerHTML={{ __html: item.title }} />\n                        </HyperLinkBuilder>\n                    </div>)}</div>\n                <div onClick={onToggleMenu} id=\"wcm_MenuDisplay\"><span className=\"moreBtn\" id=\"wcm_MenuDisplay_moreBtn\">עוד<span className={isOpened ? \"moreIcon toClose\" : \"moreIcon toOpen\"} /></span></div>\n                {!isLightMode && <div onClick={onToggleSearch} id=\"wcm_SearchDisplay\"><span className=\"searchIcon\" id=\"wcm_MenuDisplay_searchIcon\">חיפוש</span ></div>}\n\n            </div>\n        )\n    }\n}","import { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { HyperLinkBuilder, SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport { Group } from \"./siteYnetHeaderComponenta\";\nimport { YnetSearchForm } from \"../../../ynetSearch/components/ynetSearchForm/ynetSearchForm\";\nimport * as classNames from \"classnames\"\nconst clickOutside = require('react-click-outside');\n\ninterface MenuPopUpProps {\n    groupsWithItems: Group[]\n    isVisibleMenu: boolean\n    isVisibleSearch: boolean\n    onCloseMenu: () => void\n    onCloseSearch: () => void\n    followUsText: string\n    linkToInst: string\n    linkToFb: string\n    linkToTw: string\n    linkToYtube: string\n    ynetSearchPageLink: string\n    displayType: string\n    linkToTiktok?:string   \n}\n\n@clickOutside\nexport class MenuPopupComponenta extends React.Component<MenuPopUpProps> {\n\n    private handleClickOutside = (e) => {\n        const isVisible = this.props.isVisibleMenu || this.props.isVisibleSearch;\n        if (isVisible && e.target && e.target.id !== \"wcm_MenuDisplay\" && e.target.id !== \"wcm_MenuDisplay_moreBtn\" && e.target.id !== \"wcm_MenuDisplay_searchIcon\" && e.target.id !== \"wcm_SearchDisplay\") {\n            this.props.onCloseMenu();\n            this.props.onCloseSearch();\n        }\n\n    }\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n\n\n     private clickRevokeBtn = (e) => {\n        e.preventDefault();\n        typeof window !== 'undefined' &&  window.googlefc && window.googlefc.callbackQueue.push({'CONSENT_DATA_READY': () => window.googlefc.showRevocationMessage()})\n     }\n\n\n    render() {\n        const { groupsWithItems, isVisibleMenu, displayType, followUsText, linkToInst, linkToTiktok, linkToFb, linkToTw, linkToYtube, ynetSearchPageLink, isVisibleSearch } = this.props\n        const isLightMode = displayType && displayType === \"light\";\n        const searchVisible = !isLightMode && this.props.isVisibleSearch;\n        const isVisible = this.props.isVisibleMenu || searchVisible;\n        const showAbroad = typeof window !== 'undefined' && window.isAbroad\n  \n        return (\n            <div className={classNames(\"popUpmenu\", { \"opened\": isVisible, \"closed\": !isVisible, \"searchPopUp\": this.props.isVisibleSearch })} role=\"sub-navigation\" aria-label=\"Sub Menu\">\n                {!isLightMode && <YnetSearchForm placeholder=\"חיפוש באתר\" ynetSearchPageLink={ynetSearchPageLink} />}\n                {!searchVisible && <>  <div id=\"mainAccessibilityButton\" >\n                    <a id=\"INDmenu-btn\" onClick={this.clickAcessibilityBtn} title=\"אתר נגיש\" accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" role=\"button\">\n                        <span className=\"icon\" ></span>\n                    </a></div>\n                    <div className=\"linksGroups\">\n                        {_.map((groupsWithItems), (item: Group, index: number) =>\n                            <div className=\"group\" key={index}>\n                                <div className=\"groupTitle\" dangerouslySetInnerHTML={{ __html: item.groupName }} />\n\n                                <ul className=\"groupList\">\n                                    {_.map((item.items), (subItem: HamburgerMenuItems, index: number) =>\n                                        <li key={index}><HyperLinkBuilder href={subItem.link} linkTarget={subItem.linkTarget} style={{ color: subItem.color, fontWeight: displayType===\"magazine\" ? (subItem.isBolded ? 400 : 300) : undefined }}>\n                                            <span dangerouslySetInnerHTML={{ __html: subItem.title }} />\n                                        </HyperLinkBuilder></li>\n                                    )}\n                                </ul>\n                            </div>\n                        )}\n                      {displayType===\"magazine\" &&    <div className=\"followUsLinks\">\n                        {followUsText !== \"\" && <div className=\"followUs\">{followUsText}</div>}\n                        <div className=\"mediaLinks\">\n                            {linkToTw !== \"\" && <SimpleLinkRenderer href={linkToTw} target=\"_blank\" className=\"mediaIcon linkToTw\" />}\n                            {linkToFb !== \"\" && <SimpleLinkRenderer href={linkToFb} target=\"_blank\" className=\"mediaIcon linkToFb\" />}\n                            {linkToInst !== \"\" && <SimpleLinkRenderer href={linkToInst} target=\"_blank\" className=\"mediaIcon linkToInst\" />}\n                            {linkToYtube !== \"\" && <SimpleLinkRenderer href={linkToYtube} target=\"_blank\" className=\"mediaIcon linkToYtube\" />}\n                       {linkToTiktok !==\"\" && <SimpleLinkRenderer href={linkToTiktok} target=\"_blank\" className=\"mediaIcon linkToTiktok\" />}\n                        </div>\n                    </div>}\n                        </div>\n                      {displayType!==\"magazine\" && <div className=\"followUsLinks\">\n\n                       {showAbroad && <div className=\"revokeButtonContainer\">\n                            <a role=\"button\" id=\"revokeButton\"  onClick={this.clickRevokeBtn}></a> \n                            <span>Privacy settings</span>                  \n                        </div>}\n                      \n                        \n                        {followUsText !== \"\" && <div className=\"followUs\">{followUsText}</div>}\n                        <div className=\"mediaLinks\">\n                            {linkToTw !== \"\" && <SimpleLinkRenderer href={linkToTw} target=\"_blank\" className=\"mediaIcon linkToTw\" />}\n                            {linkToFb !== \"\" && <SimpleLinkRenderer href={linkToFb} target=\"_blank\" className=\"mediaIcon linkToFb\" />}\n                            {linkToInst !== \"\" && <SimpleLinkRenderer href={linkToInst} target=\"_blank\" className=\"mediaIcon linkToInst\" />}\n                            {linkToYtube !== \"\" && <SimpleLinkRenderer href={linkToYtube} target=\"_blank\" className=\"mediaIcon linkToYtube\" />}\n                       {linkToTiktok !==\"\" && <SimpleLinkRenderer href={linkToTiktok} target=\"_blank\" className=\"mediaIcon linkToTiktok\" />}\n                        </div>\n                    </div>}\n                </>}\n            </div>)\n    }\n}","const clickOutside = require('react-click-outside');\n\n\ninterface fontSliderState {\n    fontValue: number\n}\ninterface fontSliderProps {\n    onClose: () => void\n    lang:string\n}\n\nconst translationDict = {\n    \"en\": {\n        \"Font size in the article\": \"Font size in the article\",\n        \"Back to default\": \"Back to default\",\n        \"close\": \"close\",\n        \"A\": \"A\",\n    },\n    \"he\": {\n        \"Font size in the article\": \"גודל גופן בכתבה\",\n        \"Back to default\": \"חזרה לברירת המחדל\",\n        \"close\": \"סגירה\",\n        \"A\": \"א\",\n    },\n    \"ru\":{\n        \"Font size in the article\":\"Размер шрифта\",\n        \"Back to default\": \"вернуться\",\n        \"close\": \"закрыть\",\n        \"A\":\"A\"\n\n    },\n    \"ar\":{\n        \"Font size in the article\":\"حجم الخط في المقال\",\n        \"Back to default\": \"العودة إلى الافتراضي\",\n        \"close\": \"ليغلق\",\n        \"A\":\"أ\" \n    }\n}\n@clickOutside\nexport class FontSlider extends React.Component<fontSliderProps, fontSliderState> {\n    public fontSlider: HTMLDivElement;\n    constructor(props) {\n        super(props)\n        let fontValue = 1;\n        if (localStorage.fontSize) {\n            fontValue = localStorage.fontSize;\n        }\n        this.state = {\n            fontValue: fontValue * 100,\n\n        }\n    }\n    private handleClickOutside = () => {\n        this.props.onClose();\n    }\n\n\n    private updateSliderValue = (e) => {\n        const value = parseInt(e.target.value);\n        this.setState({ fontValue: value }, () => {\n            const fontSize = this.state.fontValue / 100;\n            localStorage.fontSize = fontSize;\n            document.documentElement.style.fontSize = fontSize * 16 + \"px\";\n        })\n    }\n\n    private resetValue = () => {\n        this.setState({ fontValue: 100 }, () => {\n            localStorage.fontSize = 1;\n            const fontSize = this.state.fontValue / 100;\n            document.documentElement.style.fontSize =  fontSize * 16+ \"px\";\n            this.props.onClose()\n        })\n\n    }\n\n    private FontSliderWindowTranslation = (key: string) => {\n        const {lang} = this.props;\n        return translationDict[lang || \"he\"][key]\n    }\n\n\n    public render() {\n        const { fontValue } = this.state;\n\n        return (\n            <div className=\"FontSliderWindow\"  >\n                <div className=\"FontSliderWindowHeader\">\n                    <div className=\"changeFontTitle\">{this.FontSliderWindowTranslation(\"Font size in the article\")}</div>\n                    <div className=\"resetSize\" onClick={this.resetValue}>{this.FontSliderWindowTranslation(\"Back to default\")}</div>\n                </div>\n                <div className=\"inputArea\">\n                    <span className=\"fontsize small\">{this.FontSliderWindowTranslation(\"A\")}</span>\n                    <input type=\"range\" min=\"90\" max=\"150\" value={`${fontValue}`} id=\"font-slider\" onChange={this.updateSliderValue}></input>\n                    <span className=\"fontsize big\">{this.FontSliderWindowTranslation(\"A\")}</span>\n                </div>\n                <button className=\"closeWindow\" onClick={this.props.onClose}>{this.FontSliderWindowTranslation(\"close\")}</button>\n            </div>\n\n        )\n    }\n}\n","\nimport { HyperLinkBuilder, SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport { Group } from \"../siteYnetHeaderComponenta\";\nimport { HamburgerMenuItems } from \"../../../../ctechWidgets/ctechHeader/components/ctechMenuList\";\nimport { YnetPremiumLogin } from \"../../../../ynetSearch/components/ynetPremiumLogin/ynetPremiumLogin\";\nimport { YnetPianoLogin, YnetPlusUserMenuItems } from \"../../../../ynetSearch/components/ynetPianoLogin/ynetPianoLogin\";\n\n\n\ninterface MenuPopUpProps {\n    groupsWithItems: Group[]\n    isVisible: boolean\n    onClose: () => void\n    ynetSearchPageLink: string\n    linkToTw: string\n    linkToFb: string\n    linkToYtube: string\n    yplusLink: string\n    promoText: string\n    promoLink: string\n    redMailLink: string\n    isPianoLogin:boolean\n    layout?:string\n    ynetPlusMenuItems?:YnetPlusUserMenuItems[]\n    domain?:string\n}\ninterface menuPopUpState {\n    isSearchInputVisible: boolean\n    userInput: string\n}\n\nexport class HeaderScrolledMenu extends React.Component<MenuPopUpProps, menuPopUpState> {\n    constructor(props) {\n        super(props)\n\n        this.state = {\n            isSearchInputVisible: false,\n            userInput: \"\",\n        }\n\n    }\n\n    private toggleSearch = () => {\n        this.setState({ isSearchInputVisible: !this.state.isSearchInputVisible })\n    }\n\n    private updateInputValue = (evt) => {\n        this.setState({ userInput: evt.target.value });\n    }\n\n    private search = () => {\n        const { userInput: typedUserInput } = this.state;\n\n        if (!typedUserInput) {\n            return\n        }\n\n        let urlHead = \"\"\n        let userInput = \"\"\n        let fullUrl = \"\"\n        let site = \"\"\n\n\n        urlHead = 'https://www.google.com/search?ynet_q='\n        userInput = typedUserInput\n        site = `&q=site:www.ynet.co.il+${typedUserInput}`\n        fullUrl = urlHead + userInput + site\n\n        fullUrl\n        window.open(fullUrl, '_blank');\n    }\n\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n\n    private clickRevokeBtn = (e) => {\n        e.preventDefault();\n        typeof window !== 'undefined' &&  window.googlefc && window.googlefc.callbackQueue.push({'CONSENT_DATA_READY': () => window.googlefc.showRevocationMessage()})\n    }\n\n    private handleInputKeyPress = (evt: React.KeyboardEvent) => {\n        if (evt.key === \"Enter\") {\n            this.search();\n        }\n\n    }\n    //https://www.google.com/search?ynet_q=fdgfd&q=site%3Am.ynet.co.il+fdgfd\n\n    render() {\n        const { groupsWithItems, isVisible, ynetSearchPageLink, onClose, linkToTw, linkToFb, linkToYtube, promoText, promoLink, yplusLink, redMailLink, isPianoLogin,ynetPlusMenuItems,layout,domain} = this.props\n        const { isSearchInputVisible, userInput } = this.state\n        const isVisibleClassName = isVisible ? \"opened\" : \"closed\";\n        const isfollowUsLinks = linkToTw || linkToFb || linkToYtube\n        const showAbroad = typeof window !== 'undefined' && window.isAbroad\n\n        return (\n            <div className={`HeaderScrolledMenu  ${isVisibleClassName}`} role=\"sub-navigation\" aria-label=\"Sub Menu\">\n                <div className=\"hamTopArea\">\n                    <div>\n                        <div className=\"searchArea\">\n                            <button className=\"srhBtn\" onClick={this.toggleSearch} />\n                            {isSearchInputVisible && <input\n                                alt=\"חיפוש\"\n                                className=\"mutamSrchBox\"\n                                id=\"mutamSrchBox\"\n                                aria-label=\"חיפוש\"\n                                type=\"text\"\n                                value={userInput}\n                                onChange={this.updateInputValue}\n                                onKeyPress={this.handleInputKeyPress}\n\n                            />}\n                        </div>\n                        <div id=\"mainAccessibilityButton\">\n                            <a id=\"INDmenu-btn\" title=\"אתר נגיש\" accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" role=\"button\" onClick={this.clickAcessibilityBtn}>\n\n                            </a></div>\n\n                        <SimpleLinkRenderer className=\"redMailHeaderBtn\" href={redMailLink} target=\"_blank\">\n                            <div className=\"redmailIcon\"></div>\n                            <span className=\"redMailTitle\">המייל האדום</span>\n                        </SimpleLinkRenderer>\n                      \n                        {showAbroad && <div className=\"revokeButtonContainer\">\n                            <a role=\"button\" id=\"revokeButton\"  onClick={this.clickRevokeBtn}></a> \n                            <span>Privacy settings</span>                  \n                        </div>}\n\n                    </div>\n                    <button className=\"closeBtn\" onClick={onClose} />\n                </div>\n\n                <div className=\"linksGroups\">\n                {isPianoLogin ? <YnetPianoLogin domain={domain} layout={layout} ynetPlusMenuItems={ynetPlusMenuItems} promoText={promoText} promoLink={promoLink}  yplusLink={yplusLink}/>  :  <YnetPremiumLogin promoText={promoText} promoLink={promoLink} yplusLink={yplusLink} isYnet1280={true} />}\n            \n\n                    {_.map((groupsWithItems), (item: Group, index: number) =>\n                        <div className=\"group\" key={index}>\n                            <div className=\"groupTitle\" dangerouslySetInnerHTML={{ __html: item.groupName }} />\n\n                            <ul className=\"groupList\">\n                                {_.map((item.items), (subItem: HamburgerMenuItems, index: number) =>\n                                    <li key={index}><HyperLinkBuilder href={subItem.link} linkTarget={subItem.linkTarget} style={{ color: subItem.color }}>\n                                        <span dangerouslySetInnerHTML={{ __html: subItem.title }} />\n                                    </HyperLinkBuilder></li>\n                                )}\n                            </ul>\n                        </div>\n                    )}\n                    {isfollowUsLinks && <div className=\"followUsLinks\">\n\n                        {linkToTw !== \"\" && <SimpleLinkRenderer href={linkToTw} target=\"_blank\" className=\"mediaIcon linkToTw\" />}\n                        {linkToFb !== \"\" && <SimpleLinkRenderer href={linkToFb} target=\"_blank\" className=\"mediaIcon linkToFb\" />}\n                        {linkToYtube !== \"\" && <SimpleLinkRenderer href={linkToYtube} target=\"_blank\" className=\"mediaIcon linkToYtube\" />}\n\n                    </div>}\n                </div>\n\n            </div>)\n    }\n}","\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { HamburgerMenuItems } from \"../../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\n\n\ninterface MainNavProps {\n    mainNavItems: HamburgerMenuItems[]\n    openHam: () => void\n    className?:string\n    hideNav?:boolean\n\n}\n\nexport class MainNavMutam extends React.Component<MainNavProps, {}> {\n    private getSelectedClassName = (isSelected: boolean) => {\n        if (isSelected) {\n            return \"selected\"\n        }\n    }\n    render() {\n        const { mainNavItems, openHam, className, hideNav } = this.props\n\n\n        return (\n            <div className={`mainNav ${className}`} role=\"navigation\" aria-label=\"Main Menu\">\n                {this.props.children}\n                <div className=\"navList\">\n                    {_.map((mainNavItems), (item: HamburgerMenuItems, index: number) => <div key={index} >\n                        <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} className={this.getSelectedClassName(item.isSelected)}>\n                            <span dangerouslySetInnerHTML={{ __html: item.title }} />\n                        </HyperLinkBuilder>\n                    </div>)}</div>\n              {!hideNav &&  <button className=\"menuHamburger\" onClick={openHam} />}\n            </div>\n        )\n    }\n}","\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport * as throttle from \"lodash/throttle\"\nimport * as classNames from \"classnames\"\nimport { HamburgerMenuItems } from \"../../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { YnetWeatherMutam } from \"./ynetWeatherMutam\"\nimport { YnetPremiumLogin } from \"../../../../ynetSearch/components/ynetPremiumLogin/ynetPremiumLogin\";\nimport { HeaderScrolledMenu } from \"./headerScrolledMenu\";\nimport { MainNavMutam } from \"./mainNavMutam\";\nimport { FontSlider } from \"./fontSliderComponent\";\nimport { openWhatsAppShare, analyticsPushFunc } from \"../../../../../widgetsUtils\";\nimport { toggleSpotImPopUp } from \"../../../../article/componentas/articleSocialShare1280Component/articleSocialShareNew1280\"\nimport { YnetPlusUserMenuItems, YnetPianoLogin } from \"../../../../ynetSearch/components/ynetPianoLogin/ynetPianoLogin\";\n\n\ninterface MenuState {\n    isOpened: boolean\n    isSticky: boolean\n    isFontMenuOpen: boolean\n    fixed:boolean\n\n}\ninterface HeaderProps {\n    mainNavItems: HamburgerMenuItems[]\n    groupsWithItems: Group[]\n    flashPageLink: string\n    flashLinkTarget: LinkTargetProperties\n    redMailLink: string\n    mailLinkTarget: LinkTargetProperties\n    logoData: Logo\n    promoText: string\n    promoLink: string\n    yplusLink: string\n    ynetSearchPageLink: string\n    linkToFb: string\n    linkToTw: string\n    linkToYtube: string\n    isArticle: boolean\n    layout?: string\n    domain: string\n    ynetPlusMenuItems:YnetPlusUserMenuItems[]\n}\nexport interface Group {\n    groupId: string\n    groupName: string\n    items: HamburgerMenuItems[]\n}\nexport interface Logo {\n    url: string\n    mediaTitle: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\n\n\nexport class SiteMutamYnetHeaderComponenta extends React.Component<HeaderProps, MenuState> {\n    public static siteScriptName = \"SiteMutamYnetHeaderComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            isOpened: false,\n            isSticky: false,\n            isFontMenuOpen: false,\n            fixed:false\n        }\n    }\n    private openMenu = () => {\n        this.setState({ isOpened: !this.state.isOpened })\n        document.body.classList.toggle('lock-scroll');\n    }\n    //\n\n    private stickyBar() {\n        let element = document.getElementById('ArticleBodyComponent');\n        const headerContainerPos = document.querySelector(\".ynet-header\").getBoundingClientRect().top;\n        const headerPos =  document.querySelector(\"#YnetMutamHeader\").getBoundingClientRect().top;\n        let isSticky =  element ? headerContainerPos + 40 < 0 : headerPos + 40 < 0;\n\n        if (isSticky) {\n            this.setState({ isSticky: true });\n            \n\n        } else {\n            this.setState({ isSticky: false })\n        }\n\n        let winScroll = document.body.scrollTop || document.documentElement.scrollTop;\n\n      \n        if (element) {\n            let headerElRect = document.querySelector(\".ArticleHeaderMobileComponent\") && document.querySelector(\".ArticleHeaderMobileComponent\").getBoundingClientRect();\n            if (!headerElRect) {\n                return\n            }\n            let scrolled = (winScroll / (element.offsetTop + element.offsetHeight - headerElRect.height)) * 100;\n            if (scrolled < 100) {\n                document.getElementById(\"progress-bar\").style.width = scrolled + \"%\";\n\n            } else {\n                document.getElementById(\"progress-bar\").style.width = \"100%\";\n            }\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(\"scroll\", this.throttledScrollHandler())\n        this.props.isArticle && this.setfontSize();\n    }\n    private setfontSize = () => {\n        if (localStorage && localStorage.fontSize) {\n            let size = localStorage.fontSize;\n            document.documentElement.style.fontSize = size * parseInt(getComputedStyle(document.documentElement).fontSize) + \"px\";\n        }\n\n    }\n\n\n\n    componentWillUnmount() {\n\n        document.removeEventListener(\"scroll\", this.throttledScrollHandler())\n\n    }\n    private throttledScrollHandler = () => throttle(() => this.stickyBar(), 200)\n\n    private openShare = async () => {\n        const { domain } = this.props;\n        const current_url = `${window.location.href}?utm_source=${domain}&utm_medium=social&utm_campaign=general_share`;\n        const shareData = { url: current_url }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n    private handleCommentsPopupVisability = () => {\n        if (typeof window !== \"undefined\") {\n            if (window.enableSpotIm) {\n                const commentsPopUp = document.querySelector('.spotimWrapper');\n                if (commentsPopUp) {\n                    toggleSpotImPopUp(commentsPopUp)\n                }\n            }\n            else {\n                window.handleCommentsPopupVisability && window.handleCommentsPopupVisability();\n            }\n        }\n    }\n\n    private showCommentsBtn = () => {\n        return typeof window !== \"undefined\" && (window.handleCommentsPopupVisability || window.enableSpotIm);\n\n    }\n    private handleFontSizePopupVisability = () => {\n        this.setState({ isFontMenuOpen: true })\n    }\n    private handleFontSizePopupClose = () => {\n        this.setState({ isFontMenuOpen: false })\n    }\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n    \n    render() {\n        const { mainNavItems, groupsWithItems, logoData, promoText,\n         promoLink, yplusLink, ynetSearchPageLink, linkToFb, linkToTw, linkToYtube, isArticle, redMailLink, layout,ynetPlusMenuItems, domain } = this.props\n        const { isSticky, isFontMenuOpen } = this.state\n        const numOfComment = typeof window !== \"undefined\" && window.handleCommentsPopupVisability && window.wcmNumOfComments && window.wcmNumOfComments;\n        const hidden = isSticky ? \"hidden\" : \"\"\n        const tooltipHidden = !isSticky ? \"hidden\" : \"\";\n        const url = typeof window !== \"undefined\" && isArticle && window.location.href;\n        const isPianoLogin = typeof window != \"undefined\" && window.YitPaywall && window.YitPaywall.isPianoLogin;\n        \n        if (isArticle) {\n            return <div className={classNames(\"YnetMutamHeader Article\",{\"notStickyHeader\": !isSticky})} id=\"YnetMutamHeader\">\n                <div className=\"progress-container\">\n                    <div className=\"progress-bar\" id=\"progress-bar\"></div>\n                </div>\n                <a href={\"javascript:history.back()\"} className=\"goBack\" title=\"back\" />\n                {!isSticky && \n                <>\n                <div className={`logo`}>\n                    <HyperLinkBuilder href={logoData.link} linkTarget={logoData.linkTarget} ariaLabel={logoData.mediaTitle}>\n                        <div className=\"darkModeLogo\" aria-label=\"Page Logo\" title=\"לוגו אתר YNET\" alt=\"לוגו אתר YNET\"></div>\n                    </HyperLinkBuilder>\n\n                </div>\n                    <button className=\"topBtns mobileShareBtn\" onClick={this.openShare} title={\"share\"} />\n                    </>}\n                <div className={`btnTooltips ${tooltipHidden}`} >\n                    <button className=\"topBtns fontSizeMenuOpen\" onClick={this.handleFontSizePopupVisability}></button>\n                    <button className=\"topBtns accessibiltyBtn\" onClick={this.clickAcessibilityBtn} title=\"אתר נגיש\" aria-labelledby=\"INDbtnTooltip\"  accessKey=\"m\"></button>\n                    <div className=\"topBtns whatsAppShareBtn\" onClick={() => openWhatsAppShare(url, () => analyticsPushFunc(\"Whatsapp\", \"Article\"), \"Article Top\")}></div>\n                    <button className=\"topBtns mobileShareBtn\" onClick={this.openShare} title={\"share\"} />\n                    <button style={{ display: this.showCommentsBtn() ? \"block\" : \"none\" }} className=\"topBtns commentsOpen\" id=\"commentButtonInHeader\" onClick={this.handleCommentsPopupVisability}>{numOfComment}</button>\n\n                </div>\n                {isFontMenuOpen && <FontSlider onClose={this.handleFontSizePopupClose} lang=\"he\" />}\n            </div>\n        } else\n            return (\n                <div className={classNames(\"YnetMutamHeader\")} id=\"YnetMutamHeader\" >\n\n                    <div className={`logo ${hidden}`}>\n                        <HyperLinkBuilder href={logoData.link} linkTarget={logoData.linkTarget} ariaLabel={logoData.mediaTitle}>\n                            <div className=\"darkModeLogo\" aria-label=\"Page Logo\" title=\"לוגו אתר YNET\" alt=\"לוגו אתר YNET\"></div>\n                        </HyperLinkBuilder>\n\n                    </div>\n\n\n                    <MainNavMutam\n                        mainNavItems={mainNavItems}\n                        openHam={this.openMenu}\n                        className={isSticky ? \"fixed\" : \"\"}\n                    />\n\n\n                    <div className={`bottomHeaderArea ${hidden}`} >\n                        \n                        {isPianoLogin ? <YnetPianoLogin domain={domain}  layout={layout} ynetPlusMenuItems={ynetPlusMenuItems} promoText={promoText} promoLink={promoLink}  yplusLink={yplusLink}/>  : <YnetPremiumLogin promoText={promoText} promoLink={promoLink} yplusLink={yplusLink} isYnet1280={true} layout={layout} />}\n\n                        <YnetWeatherMutam />\n                    </div>\n                    <HeaderScrolledMenu\n                        groupsWithItems={groupsWithItems}\n                        isVisible={this.state.isOpened}\n                        onClose={this.openMenu}\n                        ynetSearchPageLink={ynetSearchPageLink}\n                        linkToFb={linkToFb}\n                        linkToTw={linkToTw}\n                        linkToYtube={linkToYtube}\n                        promoText={promoText}\n                        promoLink={promoLink}\n                        yplusLink={yplusLink}\n                        redMailLink={redMailLink} \n                        isPianoLogin={isPianoLogin}\n                        ynetPlusMenuItems={ynetPlusMenuItems}\n                        layout={layout}\n                        domain={domain}\n                        />\n                </div>\n\n            )\n\n    }\n}","import { getCityNameTranslation } from \"../../../../ynetSearch/components/ynetWeather/cityNamesTranslator\";\nimport { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport getWeatherCode from \"../../../../weather/components/helpers/getWeatherCode\";\nimport { WeatherData } from \"../newYnetWeatherComponenta\";\nimport * as axios from \"axios\"\nvar Cookies = require('js-cookie');\n\n\ninterface YnetWeatherState {\n    selectedCityIndex: number\n    weatherDataList: WeatherData[]\n}\n\nexport class YnetWeatherMutam extends React.Component<{}, YnetWeatherState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            selectedCityIndex: null,\n            weatherDataList: null\n        }\n    }\n\n    \n    componentDidMount() {\n        this.getWeatherData();\n    }\n\n    private getWeatherData = async () => {\n        let defaultCityIndex = await Cookies.get('weatherCity')\n        const { data: { data: { items } } } = await axios.get('/weather/api/data/ynetapp');\n\n        if (!defaultCityIndex && items) {\n            let defaultCity =  items.find(city => city.Name === \"תל אביב - יפו\");\n            defaultCityIndex = items.indexOf(defaultCity);\n        }\n        this.setState({\n            weatherDataList: items,\n            selectedCityIndex: defaultCityIndex\n        });\n    }\n\n\n    public render() {\n        const { } = this.props\n        const { selectedCityIndex, weatherDataList } = this.state\n        const selectedCityWeather: WeatherData = weatherDataList && weatherDataList[selectedCityIndex];\n        const imgSrc = getWeatherCode(selectedCityWeather && selectedCityWeather.IconCode, true);\n        const urlToCity = getCityNameTranslation(\"link\", selectedCityWeather && selectedCityWeather.Name) ? \"/\" + getCityNameTranslation(\"link\", selectedCityWeather && selectedCityWeather.Name) : \"\";\n        const weatherPageUrl = selectedCityWeather ? selectedCityWeather.Url  : \"//www.ynet.co.il/home/0,7340,L-201,00.html\";\n        return (\n            <div className=\"WeatherView\">\n                <div className=\"weatherimage\">\n                    {selectedCityWeather &&\n                        <SimpleLinkRenderer href={weatherPageUrl} aria-label=\"מזג האוויר\">\n                            <img src={imgSrc} aria-hidden=\"true\" className=\"iconWeather\"/>\n                        </SimpleLinkRenderer>}\n                </div>\n                <div className=\"weathertempsdiv\">\n                    {selectedCityWeather &&\n                        <SimpleLinkRenderer className=\"weatherLink\" href={weatherPageUrl}>\n                            <span className=\"weathertemps\">{selectedCityWeather.RoundedTemperature}&deg;</span>\n                        </SimpleLinkRenderer>}\n                </div>\n\n                <div className=\"headerWeatherSelect\">\n                    <SimpleLinkRenderer href={weatherPageUrl} aria-label=\"מזג האוויר\" className=\"selectedCity\" >מזג אוויר</SimpleLinkRenderer>\n                    <div className={\"menuToggler toOpen\"} />\n\n                </div>\n            </div>\n        )\n    }\n}","import { YnetSearchForm } from \"../../../ynetSearch/components/ynetSearchForm/ynetSearchForm\"\nconst clickOutside = require('react-click-outside');\n\ninterface SearchProps {\n    ynetSearchPageLink: string\n}\ninterface SearchState {\n    isSeachInputVisible: boolean\n}\n\n@clickOutside\nexport class SearchBtnDisplay extends React.Component<SearchProps, SearchState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            isSeachInputVisible: false,\n\n        }\n    }\n    private openSearch=()=>{\n        this.setState({isSeachInputVisible:true})\n    }\n    private closeSearch=()=>{\n        this.setState({isSeachInputVisible:false})\n    }\n    private handleClickOutside = (e) => {\n        this.setState({isSeachInputVisible:false})\n    }\n    render() {\n        return (\n            <div className=\"searchArea\">\n                <button className=\"searchBtn\" onClick={this.openSearch}>חיפוש</button>\n                {this.state.isSeachInputVisible && <YnetSearchForm placeholder=\"מה מעניין אותך?\" ynetSearchPageLink={this.props.ynetSearchPageLink} closeX={true} closeSearchInput={this.closeSearch} />}\n            </div>\n\n        )\n\n\n    }\n}","require('./ynet_site_newYnetWeather.less')\nimport { SimpleLinkRenderer } from \"../../../../commonComponents/inline/hyperLink\"\nimport * as classNames from \"classnames\"\nimport * as axios from \"axios\"\nimport weatherCodeTranslate from '../../../weather/translations/weatherCodeTranslations'\nimport { getCityNameTranslation } from \"../../../ynetSearch/components/ynetWeather/cityNamesTranslator\";\nvar Cookies = require('js-cookie');\nconst clickOutside = require('react-click-outside');\n\ninterface YnetWeatherState {\n    selectedCityIndex: number\n    isMenuOpened: boolean\n    weatherDataList: WeatherData[]\n}\n\nexport interface WeatherData {\n    IconCode: number\n    Id: number\n    Latitude: number\n    Longitude: number\n    Name: string\n    RoundedTemperature: string\n    Url: string\n}\n\ninterface YnetWeatherProps {\n    placement?: string\n    lang: string\n    showDescription?: boolean\n}\n\n\n@clickOutside\nexport class YnetWeatherInHeader extends React.Component<YnetWeatherProps, YnetWeatherState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            selectedCityIndex: null,\n            isMenuOpened: false,\n            weatherDataList: null\n        }\n\n    }\n    private handleClickOutside = () => {\n        this.setState({\n            isMenuOpened: false\n        });\n    }\n\n    componentDidMount() {\n        this.getWeatherData();\n    }\n\n    private getWeatherData = async () => {\n        let defaultCityIndex = await Cookies.get('weatherCity')\n        const { data: { data: { items } } } = await axios.get('/weather/api/data/ynetapp');\n\n        if (!defaultCityIndex && items) {\n            let defaultCity =  items.find(city => city.Name === \"תל אביב - יפו\");\n            defaultCityIndex = items.indexOf(defaultCity);\n        }\n        this.setState({\n            weatherDataList: items,\n            selectedCityIndex: defaultCityIndex\n        });\n    }\n\n    private updateTemperature = (i) => {\n        this.setState({ selectedCityIndex: i }, () => {\n            Cookies.set('weatherCity', i, { expires: 365 });\n        })\n        this.toggleMenu()\n    }\n    private toggleMenu = () => {\n        this.setState({ isMenuOpened: !this.state.isMenuOpened })\n    }\n    public render() {\n        const { placement, lang, showDescription } = this.props\n        const { selectedCityIndex, isMenuOpened, weatherDataList } = this.state\n        const selectedCityWeather: WeatherData = weatherDataList && weatherDataList[selectedCityIndex];\n        const imgSrc = `//www.ynet.co.il/Cnt/Images/Weather/${selectedCityWeather && selectedCityWeather.IconCode}.png`;\n        const weatherPageUrl = selectedCityWeather ? selectedCityWeather.Url : \"//www.ynet.co.il/home/0,7340,L-201,00.html\";\n        const description = weatherCodeTranslate(lang)\n        const descriptionByCity = description(selectedCityWeather && selectedCityWeather.IconCode)\n\n        return (\n            <>\n                <div className={classNames(\"WeatherViewInHeader\", placement)} id={placement ? placement : \"main_header_weather\"}>\n                    <div className=\"weatherimage\">\n                        {selectedCityWeather &&\n                            <SimpleLinkRenderer href={weatherPageUrl} aria-label=\"מזג האוויר\">\n                                <img src={imgSrc} aria-hidden=\"true\" />\n                            </SimpleLinkRenderer>}\n                    </div>\n                    <div className=\"weathertempsdiv\">\n                        {selectedCityWeather &&\n                            <SimpleLinkRenderer className=\"weatherLink\" href={weatherPageUrl}>\n                                <span className=\"weathertemps\">{selectedCityWeather.RoundedTemperature}&deg;</span>\n                            </SimpleLinkRenderer>}\n                    </div>\n\n                    <div id={placement ? `${placement}_weatherselect` : `headerWeatherSelect`} className=\"headerWeatherSelect\">\n                        <SimpleLinkRenderer href={weatherPageUrl} aria-label=\"מזג האוויר\" className=\"selectedCity\" >{selectedCityWeather ? getCityNameTranslation(lang, selectedCityWeather && selectedCityWeather.Name) : selectedCityWeather && selectedCityWeather.Name}</SimpleLinkRenderer>\n                        <div className={isMenuOpened ? \" menuToggler toClose\" : \"menuToggler toOpen\"} onClick={this.toggleMenu} />\n                        {isMenuOpened && <div id='weatherCitySelect' aria-label=\"בחרו עיר\" className=\"weatherCitieSelect\">\n                            {weatherDataList && weatherDataList.map((city, i) => <div key={city.Name} onClick={() => this.updateTemperature(i)}>{selectedCityWeather ? getCityNameTranslation(lang, city.Name) : city.Name}</div>)}\n                        </div>}\n                    </div>\n                </div>\n                <div className=\"descriptionWeather\">\n                    {showDescription && descriptionByCity}\n                </div>\n            </>\n        )\n    }\n}","import { MainNavHeaderComponenta } from \"./mainNavComponenta\";\nimport { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { MenuPopupComponenta } from \"./menuPopUpComponenta\";\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { YnetPremiumLogin } from \"../../../ynetSearch/components/ynetPremiumLogin/ynetPremiumLogin\";\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport { YnetWeatherInHeader } from \"./newYnetWeatherComponenta\"\nimport * as throttle from \"lodash/throttle\"\nimport * as classNames from \"classnames\"\nimport { CommercialHeaderButton } from \"./commercialHeaderButton\";\nimport { YnetPianoLogin, YnetPlusUserMenuItems } from \"../../../ynetSearch/components/ynetPianoLogin/ynetPianoLogin\";\nimport { SearchBtnDisplay } from \"./newSearchButton\";\n\ninterface MenuState {\n    isOpened: boolean\n    isSticky: boolean\n    isSearchOpened: boolean\n}\n\ninterface HeaderProps {\n    mainNavItems: HamburgerMenuItems[]\n    groupsWithItems: Group[]\n    flashPageLink: string\n    flashLinkTarget: LinkTargetProperties\n    redMailLink: string\n    mailLinkTarget: LinkTargetProperties\n    logoData: Logo\n    promoText: string\n    promoLink: string\n    tabBgColor: string\n    yplusLink: string\n    followUsText: string\n    linkToInst: string\n    linkToFb: string\n    linkToTw: string\n    linkToYtube: string\n    enableSticky: boolean\n    ynetSearchPageLink: string\n    commercialBtnTitle: string\n    commercialLinksList:CommertialItem[]\n    followUsLink:string\n    folowUsLinkTarget:LinkTargetProperties\n    ynetPlusMenuItems?:YnetPlusUserMenuItems[]\n    domain:string\n    displayType:string\n}\n\nexport interface Group {\n    groupId: string\n    groupName: string\n    items: HamburgerMenuItems[]\n}\n\nexport interface Logo {\n    url: string\n    mediaTitle: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\nexport interface CommertialItem{\n    title:string\n    link:string\n    linkTarget: LinkTargetProperties\n}\n\nexport class SiteYnetHeaderComponenta extends React.Component<HeaderProps, MenuState> {\n    public static siteScriptName = \"SiteYnetHeaderComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            isOpened: false,\n            isSticky: false,\n            isSearchOpened: false\n        }\n    }\n\n    private openMenu = () => {\n        this.setState({ isOpened: !this.state.isOpened, isSearchOpened: false, })\n    }\n\n    private openSearchMenu = () => {\n        const isExternalPage = typeof window != \"undefined\" && window.isExternalPage;\n        if (isExternalPage) {\n            top.location.href = 'https://www.ynet.co.il/category/3340';\n        }\n        else this.setState({ isSearchOpened: !this.state.isSearchOpened, isOpened: false })\n    }\n\n    private stickyBar() {\n        const headerPos = document.getElementById(\"YnetHeader\").getBoundingClientRect().top\n        if (headerPos + 130 < 0) {\n            this.setState({ isSticky: true })\n\n        } else {\n            this.setState({ isSticky: false })\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(\"scroll\", this.throttledScrollHandler())\n\n    }\n\n    componentWillUnmount() {\n        const navbar = document.getElementById(\"YnetHeader\")\n        document.removeEventListener(\"scroll\", this.throttledScrollHandler())\n\n    }\n\n    private throttledScrollHandler = () => throttle(() => this.stickyBar(), 200)\n\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n\n    render() {\n        const { mainNavItems, groupsWithItems, flashPageLink, flashLinkTarget, logoData, promoText, enableSticky,\n            mailLinkTarget, redMailLink, promoLink, tabBgColor, yplusLink, followUsText, linkToInst, linkToFb, linkToTw, linkToYtube,\n            ynetSearchPageLink, commercialBtnTitle, commercialLinksList, followUsLink,  folowUsLinkTarget, ynetPlusMenuItems, domain, displayType} = this.props\n        const { isSticky } = this.state\n        const isStickyAvailable = isSticky && enableSticky;\n        const isPianoLogin = typeof window != \"undefined\" && window.YitPaywall && window.YitPaywall.isPianoLogin;\n        const isLightMode = displayType && displayType===\"light\";\n        return (\n            <div className={classNames(\"YnetHeader\", displayType)} id=\"YnetHeader\">\n                <button className=\"accessibiltyFixedBtn\" onClick={this.clickAcessibilityBtn} id=\"INDmenu-btn-fixed\" title=\"אתר נגיש\" aria-labelledby=\"INDbtnTooltip\"  accessKey=\"m\"></button>\n                <div className=\"headerTop\">\n                    <div className=\"rightSideLinks\">\n                        <HyperLinkBuilder href={flashPageLink} linkTarget={flashLinkTarget} >\n                            <span className=\"headerIcon flash\" id=\"flashBell\" /> <span className=\"flashText\">מבזקים</span>\n                        </HyperLinkBuilder>\n                        <HyperLinkBuilder href={redMailLink} linkTarget={mailLinkTarget} >\n                            <span className=\"headerIcon redMail\" /> <span className=\"redMailText\">המייל האדום</span>\n                        </HyperLinkBuilder>\n                        {commercialBtnTitle && <CommercialHeaderButton btnTitle={commercialBtnTitle} linksData={commercialLinksList} followUsLink={followUsLink} followUsLinkTarget={folowUsLinkTarget} />}\n                        <YnetWeatherInHeader lang={\"he\"} />\n                    </div>\n\n                    <div className=\"logo\">\n                        <HyperLinkBuilder href={logoData.link} linkTarget={logoData.linkTarget} ariaLabel={logoData.mediaTitle}>\n                            <SiteSimpleImage src={logoData.url} alt={logoData.mediaTitle} title={logoData.mediaTitle} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                        </HyperLinkBuilder>\n\n                    </div>\n                    {isLightMode ? <div className=\"leftHeader\">\n                        <SearchBtnDisplay  ynetSearchPageLink={ynetSearchPageLink}/>\n                        { isPianoLogin ? <YnetPianoLogin domain={domain} ynetPlusMenuItems={ynetPlusMenuItems} promoText={promoText} promoLink={promoLink}  yplusLink={yplusLink}/>  : <YnetPremiumLogin promoText={promoText} promoLink={promoLink} yplusLink={yplusLink} isYnet1280={true} />}\n                    </div> :\n                 isPianoLogin ? <YnetPianoLogin domain={domain} ynetPlusMenuItems={ynetPlusMenuItems} promoText={promoText} promoLink={promoLink}  yplusLink={yplusLink}/>  : <YnetPremiumLogin promoText={promoText} promoLink={promoLink} yplusLink={yplusLink} isYnet1280={true} />}\n                </div>\n\n                <div className={classNames(\"BottomHeaderArea\", { \"sticky\": isStickyAvailable })} id=\"BottomHeaderArea\">\n                    <MainNavHeaderComponenta\n                        isSticky={isStickyAvailable}\n                        mainNavItems={mainNavItems}\n                        logoData={logoData}\n                        onToggleMenu={this.openMenu}\n                        onToggleSearch={this.openSearchMenu}\n                        isOpened={this.state.isOpened}\n                        tabBgColor={tabBgColor}\n                        displayType={displayType}\n                    />\n\n                    <MenuPopupComponenta\n                        groupsWithItems={groupsWithItems}\n                        isVisibleMenu={this.state.isOpened}\n                        isVisibleSearch={this.state.isSearchOpened}\n                        onCloseMenu={() => this.setState({ isOpened: false })}\n                        onCloseSearch={() => this.setState({ isSearchOpened: false })}\n                        followUsText={followUsText}\n                        linkToInst={linkToInst}\n                        linkToFb={linkToFb}\n                        linkToTw={linkToTw}\n                        linkToYtube={linkToYtube}\n                        ynetSearchPageLink={ynetSearchPageLink}\n                        displayType={displayType}\n                    />\n                </div>\n            </div>\n        )\n    }\n}","import { secondsToHms } from \"../../../../siteWidgets/siteWidgetUtils\"\nimport { getTranslation } from \"../translations\";\n\ninterface AdsProgressBarProps {\n    adDuration: number\n    adPlaybackTime: number\n    isAdPlaying: boolean\n    lang: string\n    onSeeked?: (num: number) => void\n}\n\nexport class AdsProgressBar extends React.Component<AdsProgressBarProps> {\n\n    render() {\n        const { adDuration, adPlaybackTime, isAdPlaying, lang } = this.props;\n        const percentage = (adPlaybackTime * 100) / adDuration;\n        const rangeBackground = `linear-gradient(90deg, #fec300 ${percentage}%, #cacdce ${percentage}%)`;\n        const rangeInputValue = adPlaybackTime >= adDuration ? adDuration : adPlaybackTime;\n\n        return (\n            <>\n                {isAdPlaying ?\n                    <div className=\"ads-ruler-timeline\">\n                        <div className=\"ruler-details\">\n                            <div className=\"live-feedback\">\n                                <div className=\"dot\"></div>\n                                <div className=\"live-text\">{getTranslation(lang, \"Ad\")}</div>\n                            </div>\n                            <div className=\"progress-time\">{`${secondsToHms(adPlaybackTime)}/${secondsToHms(adDuration)}`}</div>\n                        </div>\n                        <div className=\"range-wrap\">\n                            <input type=\"range\" className=\"timeline\" max={adDuration} value={rangeInputValue} style={{ background: rangeBackground }} />\n                        </div>\n                    </div >\n                    :\n                    <>\n                        <div className=\"floating-player-indication-wrapper\">\n                            <div className=\"floating-player-dot\" />\n                            <div className=\"floating-player-live-indication\">{getTranslation(lang, \"Now Live\")}</div>\n                        </div>\n                        <input className=\"floating-player-range\" type=\"range\" value=\"0\" readOnly/>\n                    </>\n                }\n            </>\n        )\n    }\n}","import {\n    enablePageRefresh,\n    disablePageRefresh,\n} from \"../../../../siteWidgets/siteWidgetUtils\";\nimport { ImaAd } from \"../../../radioWidgets/floatingPlayer/imaAd\";\nimport { ArticleData } from \"../../../../../articlePage/stateInterfaces\";\n\nexport interface AodFloatingPlayerProps {\n    isAudioPlaying: boolean;\n    audioElement: HTMLAudioElement;\n    durationSeconds: number;\n    isFloatingPlayerVisible: boolean;\n    isSeeking: boolean;\n    adDuration: number;\n    adPlaybackTime: number;\n    onClose: () => void;\n    onTogglePlayPause: () => void;\n}\n\nexport interface MediaMetadata {\n    // from https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/wicg-mediasession/index.d.ts\n    // Media's title.\n    title?: string;\n    // Media's artist.\n    artist?: string;\n    // Media's album.\n    album?: string;\n}\n\ndeclare var MediaMetadata: {\n    prototype: MediaMetadata;\n    new(init?: MediaMetadata): MediaMetadata;\n};\n\nexport interface AudioRendererProps {\n    isAudioPlaying: boolean;\n    isAdPlaying?: boolean;\n    lang: string\n    onTogglePlayPause: () => void;\n    onRefChanged?: (elementRef) => void;\n}\n\ninterface YnetLiveAudioPlayButtonState {\n    isAudioPlaying: boolean;\n    isFloatingPlayerVisible: boolean;\n    isSeeking: boolean;\n    adDuration: number;\n    adPlaybackTime: number;\n    playedAdOnFirstPlay: boolean;\n    loadingSource: boolean;\n}\n\ninterface YnetLiveAudioPlayButtonProps {\n    audioUrl: string;\n    durationSeconds: number;\n    shouldAppearOnComponentOutOfView?: boolean;\n    browserDisplayMediaMetaData?: MediaMetadata;\n    adTag?: string;\n    isAdPlaying?: boolean;\n    startPostion?: number;\n    programTitle: string\n    isVideoFloatingPlayerVisible: boolean\n    lang: string\n    floatingPlayerRenderer: (\n        props: AodFloatingPlayerProps\n    ) => React.ReactElement<AodFloatingPlayerProps>;\n    renderer: (\n        props: AudioRendererProps\n    ) => React.ReactElement<AudioRendererProps>;\n    onAdPlayingStateChange?: (adPlayingState: boolean) => void;\n    onVideoFloatingPlayerClose: () => void;\n    articleData?: ArticleData;\n    articleLink?: string;\n}\n\ndeclare var window: Window & {\n    wcmAudioPlayer: YnetLiveAudioPlayButton;\n};\n\ndeclare var Hls: any\n\nexport class YnetLiveAudioPlayButton extends React.Component<YnetLiveAudioPlayButtonProps, YnetLiveAudioPlayButtonState> {\n    private audioElement: HTMLAudioElement = RUNNING_IN_SERVER ? null : new Audio();\n    private imaAd: ImaAd = null;\n    private hls: any\n    private intersectionObserver: IntersectionObserver;\n\n    constructor(props: YnetLiveAudioPlayButtonProps) {\n        super(props);\n        this.state = {\n            isAudioPlaying: false,\n            isFloatingPlayerVisible: false,\n            isSeeking: false,\n            adDuration: 0,\n            adPlaybackTime: 0,\n            playedAdOnFirstPlay: false,\n            loadingSource: false,\n        };\n    }\n\n    componentDidMount() {\n        if (typeof Hls !== \"undefined\" && Hls.isSupported() && this.props.audioUrl.endsWith(\".m3u8\")) {\n            this.hls = new Hls();\n        }\n        this.audioElement.addEventListener(\"ended\", this.handleAudioEnded)\n        this.audioElement.addEventListener(\"error\", this.handleAudioError)\n        this.audioElement.addEventListener(\"pause\", this.handleAudioPause)\n        this.audioElement.addEventListener(\"play\", this.handleAudioPlay)\n        this.audioElement.addEventListener(\"seeking\", this.handleAudioSeeking)\n        this.audioElement.addEventListener(\"seeked\", this.handleAudioSeeked)\n    }\n\n    componentWillUnmount() {\n        this.audioElement.removeEventListener(\"ended\", this.handleAudioEnded);\n        this.audioElement.removeEventListener(\"error\", this.handleAudioError);\n        this.audioElement.removeEventListener(\"pause\", this.handleAudioPause);\n        this.audioElement.removeEventListener(\"play\", this.handleAudioPlay);\n        this.audioElement.removeEventListener(\n            \"seeking\",\n            this.handleAudioSeeking\n        );\n        this.audioElement.removeEventListener(\"seeked\", this.handleAudioSeeked);\n        this.audioElement.pause();\n        this.intersectionObserver && this.intersectionObserver.disconnect();\n    }\n\n    /**\n     * Pauses video content and sets up ad UI.\n     */\n    private onContentPauseRequested = () => {\n        this.audioElement.pause();\n        this.props.onAdPlayingStateChange(true);\n    };\n\n    /**\n     * Resumes video content and removes ad UI.\n     */\n    private onContentResumeRequested = () => {\n        this.props.onAdPlayingStateChange(false);\n        this.audioElement.play();\n    };\n\n    private onAdProgressUpdate = (currentTime) => {\n        this.setState({ adPlaybackTime: currentTime });\n    };\n\n    private updateAdDuration = (duration: number) => {\n        this.setState({ adDuration: duration });\n    };\n\n    public changeSrc = (newSrc: string) => {\n        const wasPlaying = this.state.isAudioPlaying;\n        const startPosition = this.props.startPostion;\n\n        if (this.hls) {\n            this.hls.destroy();\n            this.hls = new Hls({ startPosition: startPosition });\n            this.hls.loadSource(newSrc);\n            this.hls.attachMedia(this.audioElement);\n        } else {\n            this.audioElement.src = newSrc;\n        }\n        if (wasPlaying) {\n            let playPromise = this.audioElement.play();\n            this.setState({ loadingSource: true });\n\n            if (playPromise !== undefined) {\n                playPromise\n                    .then((_) => {\n                        this.setState({ loadingSource: false });\n                    })\n                    .catch((error) => {\n                        console.error(error);\n                    });\n            }\n        }\n    };\n\n    private onClosePlayingVideo = () => {\n        const liveVideoElement: HTMLElement = document.getElementById(\"minimized-player\");\n        const playerElement: any = document.querySelector('.minimizedPlayer .fp-engine');\n        liveVideoElement && liveVideoElement.classList.add(\"none\");\n        liveVideoElement && playerElement.pause();\n    }\n\n    onPlayBtnClick = () => {\n        const { isAudioPlaying, playedAdOnFirstPlay } = this.state;\n        const { audioUrl, browserDisplayMediaMetaData, isAdPlaying, onVideoFloatingPlayerClose, programTitle } = this.props;\n\n        this.onClosePlayingVideo();\n\n        if (isAudioPlaying) {\n            this.handleAudioPlayerPause();\n        } else {\n            this.setState({ isFloatingPlayerVisible: true });\n            onVideoFloatingPlayerClose();\n\n            if (!this.audioElement.getAttribute(\"data-src-loaded\")) {\n                this.audioElement.setAttribute(\"data-src-loaded\", \"1\")\n                this.changeSrc(audioUrl);\n                this.analyticstFunc(\"Play - Audio Starts\", programTitle);\n            }\n            if (browserDisplayMediaMetaData && 'mediaSession' in navigator) {\n                //@ts-ignore\n                navigator.mediaSession.metadata = new MediaMetadata(\n                    browserDisplayMediaMetaData\n                );\n            }\n            if (window.wcmAudioPlayer !== this) {\n                if (window.wcmAudioPlayer) {\n                    window.wcmAudioPlayer.stop();\n                }\n                window.wcmAudioPlayer = this;\n            }\n            if (this.imaAd && !playedAdOnFirstPlay) {\n                this.imaAd.playAds();\n                this.pushGA4Event(\"media_start_preroll\");\n                this.setState({ playedAdOnFirstPlay: true });\n            } else if (isAdPlaying) {\n                this.imaAd.resumeAd();\n                this.analyticstFunc(\"Play - Ads\", programTitle);\n            } else {\n                this.pushGA4Event(\"media_completed_preroll\");\n                let playPromise = this.audioElement.play();\n                this.setState({ loadingSource: true });\n                this.analyticstFunc(\"Resume\", programTitle);\n\n                if (playPromise !== undefined) {\n                    playPromise\n                        .then((_) => {\n                            this.setState({ loadingSource: false });\n                            this.pushGA4Event(\"media_start\");\n                        })\n                        .catch((error) => {\n                            console.error(error);\n                        });\n                }\n            }\n            this.pushGA4Event(\"media_click_play\");\n        }\n    };\n\n    public stop = () => {\n        const { isAudioPlaying } = this.state;\n        isAudioPlaying && this.onPlayBtnClick();\n        this.audioElement.currentTime = 0;\n        this.setState({ isFloatingPlayerVisible: false });\n    };\n\n    private onRenderrRefUpdated = (ref) => {\n        if (this.props.shouldAppearOnComponentOutOfView && ref) {\n            this.intersectionObserver = new IntersectionObserver(\n                ([entry]) => {\n                    this.setState((state) => ({\n                        isFloatingPlayerVisible:\n                            state.isAudioPlaying && !entry.isIntersecting,\n                    }));\n                },\n                { threshold: 0.5 }\n            );\n            this.intersectionObserver.observe(ref);\n        }\n    };\n\n    private handleAudioPlay = () => {\n        this.setState({ isAudioPlaying: true });\n        if (!this.props.shouldAppearOnComponentOutOfView) {\n            this.setState({ isFloatingPlayerVisible: true });\n        }\n        disablePageRefresh();\n    };\n\n    private handleAudioPause = () => {\n        this.setState({ isAudioPlaying: false });\n        enablePageRefresh();\n        this.pushGA4Event(\"media_pause\");\n    };\n\n    private handleAudioError = () => this.setState({ isAudioPlaying: false, isFloatingPlayerVisible: false });\n\n    private handleAudioEnded = () => this.setState({ isAudioPlaying: false });\n\n    private pushGA4Event = (eventName: string) => {\n        if (typeof window == \"undefined\" || !window.dataLayer) return;\n\n        const { durationSeconds, audioUrl } = this.props;\n\n        window.dataLayer.push({\n            event: eventName,\n            media_type: \"audio\",\n            media_length: durationSeconds,\n            media_title: \"ynet live\",\n            media_location: \"category page\",\n            media_player_name: \"native ynet audio player\",\n            media_url: audioUrl,\n            media_autoplay: \"false\",\n            media_live: \"LIVE\",\n        });\n    };\n\n    private analyticstFunc = (action: string, title: string) => {\n        window.dataLayer = window.dataLayer || []\n        window.dataLayer.push({\n            event: 'GA_Event',\n            Category: 'Audio',\n            Action: action,\n            Label: `LIVE_AUDIO#${title}`,\n        });\n    }\n\n    private handleAudioSeeking = () => this.setState({ isSeeking: true });\n\n    private handleAudioSeeked = () => this.setState({ isSeeking: false });\n\n    private setImaAd = (ref: ImaAd) => {\n        if (this.props.adTag) this.imaAd = ref;\n    };\n\n    private handleAdEnded = () => {\n        this.setState({ isAudioPlaying: true });\n        this.pushGA4Event(\"media_finish_preroll\");\n    }\n\n    private handleAudioPlayerPause = () => {\n        const {programTitle} = this.props;\n        this.audioElement.pause();\n        this.imaAd && this.imaAd.pauseAd();\n        this.analyticstFunc(\"Pause\", programTitle);\n    }\n\n    render() {\n        const { isAudioPlaying, isFloatingPlayerVisible, isSeeking, adDuration, adPlaybackTime } = this.state;\n        const { durationSeconds, floatingPlayerRenderer, renderer, adTag, isVideoFloatingPlayerVisible, lang } = this.props;\n        isVideoFloatingPlayerVisible && this.handleAudioPlayerPause();\n\n        return (\n            <div className=\"audio-play-button-wrapper\">\n                <ImaAd\n                    ref={this.setImaAd}\n                    adTag={adTag}\n                    audioElement={this.audioElement}\n                    onContentPauseRequested={this.onContentPauseRequested}\n                    onContentResumeRequested={this.onContentResumeRequested}\n                    onAdProgressUpdate={this.onAdProgressUpdate}\n                    updateAdDuration={this.updateAdDuration}\n                    onAdPlayStarted={this.handleAudioPlay}\n                    onAdPlayPause={this.handleAudioPause}\n                    onAdPlayComplete={this.handleAdEnded}\n                />\n                {renderer({\n                    isAudioPlaying,\n                    onTogglePlayPause: this.onPlayBtnClick,\n                    onRefChanged: this.onRenderrRefUpdated,\n                    lang: lang,\n                })}\n                {floatingPlayerRenderer({\n                    durationSeconds,\n                    onClose: this.stop,\n                    isAudioPlaying,\n                    audioElement: this.audioElement,\n                    isFloatingPlayerVisible: isFloatingPlayerVisible,\n                    isSeeking,\n                    onTogglePlayPause: this.onPlayBtnClick,\n                    adDuration,\n                    adPlaybackTime,\n                })}\n            </div>\n        );\n    }\n}","import { RadioProgramJsonItem } from \"../../../../jsonSerializer/radioScheduleJsonSerializer\"\nimport { YnetLiveFloatingPlayer } from \"./ynetLiveFloatingPlayer\";\nimport { YnetLiveAudioPlayButton, AudioRendererProps } from \"./ynetLiveAudioPlayButton\";\nimport { AdsProgressBar } from \"./adProgressBar\";\nimport { FloatingVideoLivePlayer } from \"../../../../siteWidgets/videoPlayer/genericInlineVideoPlayer/floatingVideoLivePlayer/floatingVideoLivePlayer\";\nimport { isWcmEditor } from \"../../../../../config/serverConfig\";\nimport { buildAdTag } from \"../../../radioWidgets/floatingPlayer/imaAdTagBuilder\";\nimport * as ResizeObserver from \"resize-observer-polyfill\"\nimport { getTranslation } from \"../translations\";\n\nconst HLS_LOADED_EVENT = \"hls_lodaed\";\n\nexport interface RadioProgramItem extends Partial<RadioProgramJsonItem> {\n    startTime: string\n    endTime: string\n}\n\nexport interface YnetLiveComponentaProps {\n    isMobileWeb: boolean\n    programTitle: string\n    liveBroadcastSource: string\n    floatingVideoLivePlayerSource: string\n    lang?: string\n    hideYnetLive?:boolean\n}\n\ninterface YnetLiveComponentaState {\n    isAdPlaying: boolean\n    isVideoFloatingPlayerVisible: boolean\n    isHlsLoaded: boolean\n    isHlsLoadingError: boolean\n    floatingPlayerBottomHeight: number\n    isTitleOverFlowing: boolean\n   \n   \n}\nconst MUTAM_SCREEN_WIDTH = 640;\n\nexport class YnetLiveComponenta extends React.Component<YnetLiveComponentaProps, YnetLiveComponentaState> {\n    public static siteScriptName = \"YnetLiveComponenta\"\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            isAdPlaying: false,\n            isVideoFloatingPlayerVisible: false,\n            isHlsLoaded: false,\n            isHlsLoadingError: false,\n            floatingPlayerBottomHeight: 0,\n            isTitleOverFlowing:null\n        }\n        if (!isWcmEditor() && typeof window !== 'undefined' && !document.getElementById(\"hlsjsscript\")) {\n            const script = document.createElement('script')\n            script.id = \"hlsjsscript\"\n            script.src = 'https://cdn.jsdelivr.net/npm/hls.js@1.2.3'\n            script.onload = () => document.dispatchEvent(new CustomEvent(HLS_LOADED_EVENT));\n            script.onerror = this.updateHlsLoadError\n            document.head.appendChild(script)\n        }\n    }\n\n    private resizeObserver: ResizeObserver;\n\n    componentDidMount() {\n        document.addEventListener(HLS_LOADED_EVENT, this.updateHlsLoaded);\n\n        const elementId = this.props.isMobileWeb ? \"ads.banner\" : \"ads.sargel\"\n        const stickyAdElement = document.getElementById(elementId)\n        this.resizeObserver = new ResizeObserver(records => records.forEach(r => {\n            this.onContentHeightChanged(r.contentRect.height)\n        }))\n        stickyAdElement && this.resizeObserver.observe(stickyAdElement);\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener(HLS_LOADED_EVENT, this.updateHlsLoaded)\n        this.resizeObserver && this.resizeObserver.disconnect()\n    }\n\n    private onContentHeightChanged = (height: number) => {\n        this.setState({ floatingPlayerBottomHeight: height })\n    }\n\n    private updateHlsLoaded = () => {\n        this.setState({ isHlsLoaded: true })\n    }\n\n    private updateHlsLoadError = () => {\n        this.setState({ isHlsLoadingError: true })\n    }\n\n    private onAdPlayingStateChange = (isAdPlaying) => {\n        this.setState({ isAdPlaying })\n    }\n\n    private onVideoFloatingPlayerClose = () => {\n        this.setState({ isVideoFloatingPlayerVisible: false });\n    }\n\n\n\n    private calculateIsTitleOverFlowing = (ref: HTMLDivElement) => {\n         if (ref) {\n            const wrapperElement = document.querySelector(\".program-title-wrapper\") as HTMLElement\n            const titleOverflow = wrapperElement ? ref.offsetWidth > wrapperElement.offsetWidth : false\n            this.setState({\n                isTitleOverFlowing: titleOverflow,\n            });\n        }\n    }\n    render() {\n        const { isMobileWeb, liveBroadcastSource, programTitle, floatingVideoLivePlayerSource, lang, hideYnetLive } = this.props;\n        const { isAdPlaying, isVideoFloatingPlayerVisible, floatingPlayerBottomHeight, isTitleOverFlowing } = this.state;\n        const browserDisplayMediaMetaData = { title: programTitle, artist: \"ynet\" };\n        const sourceImage = isMobileWeb ? \"https://www.ynet.co.il/images/live/mobile.gif\" : \"https://www.ynet.co.il/images/live/logo.gif\";\n        const mainTitle = isMobileWeb ? getTranslation(lang, \"Listen to the broadcast\") : getTranslation(lang, \"Now Live\");\n        const noShowsText = \"\";\n        const adTagUrl = buildAdTag(isMobileWeb);\n        const { isHlsLoaded, isHlsLoadingError } = this.state;\n        if ((!isHlsLoaded && !isHlsLoadingError) || hideYnetLive) return null;\n\n        return (\n            <div className=\"ynet-live-componenta\">\n                <img className=\"main-logo\" src={sourceImage} />\n                <div className=\"text-div\">\n                    <div className=\"main-title\">{mainTitle}</div>\n                    <div className=\"separator\"></div>\n                  {isMobileWeb ?   <div className=\"program-title-wrapper\">\n                    {isTitleOverFlowing ?\n                                <>\n                            \n                                    <div className=\"slider-wrapper\" >                                 \n                                            <div className={\"program-title\"} style={{ \"--titleLength\":`${programTitle.length*0.2}s`}} key={1} dangerouslySetInnerHTML={{ __html: programTitle || noShowsText }}></div>\n                                            <div className={\"program-title\"} style={{ \"--titleLength\":`${programTitle.length*0.2}s`}} aria-hidden   key={2} dangerouslySetInnerHTML={{ __html: programTitle || noShowsText }}></div>        \n                                    \n                                    </div>\n                                   \n                                </> :\n                                <div className={\"program-title\"} ref={this.calculateIsTitleOverFlowing} dangerouslySetInnerHTML={{ __html: programTitle || noShowsText }}></div>\n                            }</div> :  <div className=\"program-title\"  dangerouslySetInnerHTML={{ __html: programTitle || noShowsText }}></div>}\n\n                    </div>\n\n                {isMobileWeb ?\n                    <YnetLiveAudioPlayButton\n                        audioUrl={liveBroadcastSource}\n                        durationSeconds={0}\n                        shouldAppearOnComponentOutOfView={true}\n                        browserDisplayMediaMetaData={browserDisplayMediaMetaData}\n                        isAdPlaying={isAdPlaying}\n                        adTag={adTagUrl}\n                        onAdPlayingStateChange={this.onAdPlayingStateChange}\n                        onVideoFloatingPlayerClose={this.onVideoFloatingPlayerClose}\n                        programTitle={programTitle}\n                        lang={lang}\n                        isVideoFloatingPlayerVisible={isVideoFloatingPlayerVisible}\n                        renderer={(props: AudioRendererProps) => (<YnetLiveRadioMobileWeb {...props} />)}\n                        floatingPlayerRenderer={(rendererProps) => (\n                            <YnetLiveFloatingPlayer\n                                isMobileWeb={isMobileWeb}\n                                isAudioPlaying={rendererProps.isAudioPlaying}\n                                isFloatingPlayerVisible={isVideoFloatingPlayerVisible ? false : rendererProps.isFloatingPlayerVisible}\n                                onTogglePlayPause={rendererProps.onTogglePlayPause}\n                                onClose={rendererProps.onClose}\n                                title={programTitle}\n                                lang={lang}\n                                floatingPlayerBottomHeight={floatingPlayerBottomHeight}\n                            >\n                                <AdsProgressBar\n                                    adDuration={rendererProps.adDuration}\n                                    adPlaybackTime={rendererProps.adPlaybackTime}\n                                    isAdPlaying={isAdPlaying}\n                                    lang={lang} />\n                            </YnetLiveFloatingPlayer>)}\n                    />\n                    :\n                    <div className=\"buttons-div\">\n                        <button className=\"video-button btn\" onClick={() => this.setState({ isVideoFloatingPlayerVisible: true })}>{`${getTranslation(lang, \"Watch\")} >`}</button>\n                        <YnetLiveAudioPlayButton\n                            audioUrl={liveBroadcastSource}\n                            durationSeconds={0}\n                            shouldAppearOnComponentOutOfView={true}\n                            browserDisplayMediaMetaData={browserDisplayMediaMetaData}\n                            isAdPlaying={isAdPlaying}\n                            adTag={adTagUrl}\n                            lang={lang}\n                            onAdPlayingStateChange={this.onAdPlayingStateChange}\n                            onVideoFloatingPlayerClose={this.onVideoFloatingPlayerClose}\n                            programTitle={programTitle}\n                            isVideoFloatingPlayerVisible={isVideoFloatingPlayerVisible}\n                            renderer={(props: AudioRendererProps) => (<YnetLiveRadio {...props} />)}\n                            floatingPlayerRenderer={(rendererProps) => (\n                                <YnetLiveFloatingPlayer\n                                    isMobileWeb={isMobileWeb}\n                                    isAudioPlaying={rendererProps.isAudioPlaying}\n                                    isFloatingPlayerVisible={isVideoFloatingPlayerVisible ? false : rendererProps.isFloatingPlayerVisible}\n                                    onTogglePlayPause={rendererProps.onTogglePlayPause}\n                                    onClose={rendererProps.onClose}\n                                    title={programTitle}\n                                    lang={lang}\n                                    floatingPlayerBottomHeight={floatingPlayerBottomHeight}\n                                >\n                                    <AdsProgressBar\n                                        adDuration={rendererProps.adDuration}\n                                        adPlaybackTime={rendererProps.adPlaybackTime}\n                                        isAdPlaying={isAdPlaying}\n                                        lang={lang}/>\n                                </YnetLiveFloatingPlayer>)}\n                        />\n                        {this.state.isVideoFloatingPlayerVisible &&\n                            <div className=\"live-video-floating-player\">\n                                <FloatingVideoLivePlayer videoSource={floatingVideoLivePlayerSource} isYnetLive={true} onClose={this.onVideoFloatingPlayerClose} />\n                            </div>\n                        }\n                    </div>}\n            </div>\n        )\n    }\n}\n\nfunction YnetLiveRadio({ isAudioPlaying, onTogglePlayPause, lang }: AudioRendererProps) {\n    const buttonClass = `audio-button btn ${isAudioPlaying ? \"pause\" : \"play\"}`;\n    return (\n        <button className={buttonClass} onClick={onTogglePlayPause}>{`${getTranslation(lang, \"Listen\")} >`}</button>\n    );\n}\n\nfunction YnetLiveRadioMobileWeb({ isAudioPlaying, onTogglePlayPause }: AudioRendererProps) {\n    const buttonClass = `media-button ${isAudioPlaying ? \"pause\" : \"play\"}`;\n    return (\n        <div className={buttonClass} onClick={onTogglePlayPause}></div>\n    );\n}","import { getTranslation } from \"../translations\";\n\ninterface YnetLiveFloatingPlayerProps {\n    isMobileWeb: boolean\n    isAudioPlaying: boolean\n    isFloatingPlayerVisible: boolean\n    floatingPlayerBottomHeight: number\n    onClose: () => void\n    children?: any\n    title: string\n    lang: string\n    onTogglePlayPause: () => void\n}\ninterface YnetLiveFloatingPlayerState {\n    isTitleOverFlowing: boolean\n    programTitleWidth: string\n}\nconst MUTAM_SCREEN_WIDTH = 640;\nexport class YnetLiveFloatingPlayer extends React.Component<YnetLiveFloatingPlayerProps, YnetLiveFloatingPlayerState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            programTitleWidth: \"0vw\",\n            isTitleOverFlowing: null\n        }\n    }\n    private pxToVw = (titleOffsetWidth: number) => {\n        const calculatedWidth = (100 * titleOffsetWidth) / MUTAM_SCREEN_WIDTH\n        return calculatedWidth + \"vw\"\n    }\n\n    private calculateIsTitleOverFlowing = (ref: HTMLDivElement) => {\n        const { isMobileWeb } = this.props\n\n        if (ref) {\n            const wrapperElement = document.querySelector(\".floating-player-title-wrapper\") as HTMLElement\n            const titleOverflow = wrapperElement ? ref.offsetWidth > wrapperElement.offsetWidth : false\n            this.setState({\n                isTitleOverFlowing: titleOverflow,\n                programTitleWidth: isMobileWeb ? this.pxToVw(ref.offsetWidth) : ref.offsetWidth + \"px\"\n            });\n        }\n    }\n    render() {\n        const { isAudioPlaying, isFloatingPlayerVisible, isMobileWeb, onClose, title, onTogglePlayPause, floatingPlayerBottomHeight, lang } = this.props;\n        const { isTitleOverFlowing } = this.state\n        const mainTitle = isMobileWeb ? getTranslation(lang, \"Listen to the broadcast\") : getTranslation(lang, \"Now Live\");\n        const progressBar = this.props.children;\n        const mobileBanner = document.getElementById(\"ads.banner\");\n        const mobileStyle = mobileBanner ? mobileBanner.clientHeight : 65;\n        const noShowsText =  getTranslation(lang, \"No broadcasts\");\n  \n        return (\n            <div className={`ynet-live-floating-player ${isFloatingPlayerVisible ? \"show\" : \"hide\"}`} style={{ bottom: `${isMobileWeb ? mobileStyle : floatingPlayerBottomHeight}px` }}>\n\n                <div className=\"floating-player-content\">\n                    <div className=\"floating-player-show-details\">\n                        <button className=\"floating-player-button\" onClick={onTogglePlayPause} aria-label={isAudioPlaying ? `pause - ${title}` : `play - ${title}`}>\n                            <div className={`floating-player-button-status ${isAudioPlaying ? \"pause\" : \"play\"}`} ></div>\n                        </button>\n                        {progressBar}\n                        <img className=\"floating-player-equalizer-gif\" src={\"https://www.ynet.co.il/images/equalizer.gif\"} />\n                    </div>\n                    <div className=\"floating-player-show-title-wrapper\">\n                        <div className=\"floating-player-show-main-title\">{mainTitle}</div>\n                        <div className=\"separator\"></div>\n\n                        {!isMobileWeb ?\n                            <div className=\"floating-player-show-title\">{title || noShowsText}</div> :\n                            <div className=\"floating-player-title-wrapper\">\n                            {(isTitleOverFlowing ?\n                                <>\n                                    <div className=\"fadder-right\"></div>\n                                    <div className=\"slider-wrapper\">\n                                    <div className={\"floating-player-show-title\"} style={{ \"--titleLength\":`${title.length*0.2}s`}} dangerouslySetInnerHTML={{ __html: title || noShowsText }}></div>\n                                          \n                                            <div className={\"floating-player-show-title\"} aria-hidden   style={{ \"--titleLength\":`${title.length*0.2}s`}} dangerouslySetInnerHTML={{ __html: title || noShowsText }}></div>\n                                       \n                                    </div>\n                                    <div className=\"fadder-left\"></div>\n                                </> :\n                                <div className={\"floating-player-show-title\"} ref={this.calculateIsTitleOverFlowing} dangerouslySetInnerHTML={{ __html: title || noShowsText }}></div>\n                            )}</div>}\n                    </div>\n                </div>\n                <button className=\"floating-player-close-sign\" onClick={onClose} aria-label=\"close player\"></button>\n            </div>\n        )\n    }\n}","import * as filter from \"lodash/filter\"\n\nexport const ynetLiveTranslations =\n{\n    \"he\": {\n        \"Now Live\": \"עכשיו בשידור\",\n        \"live broadcast\": \"שידור חי\",\n        \"Watch\": \"לצפייה\",\n        \"Listen\": \"להאזנה\",\n        \"Listen to the broadcast\":\"האזינו לשידור\",\n        \"No broadcasts\":\"אין תוכנית לנגן\",\n        \"Ad\":\"מודעה\",\n    },\n    \"en\": {\n        \"Now Live\": \"Now Live\",\n        \"live broadcast\": \"live broadcast\",\n        \"Watch\": \"Watch\",\n        \"Listen\": \"Listen\",\n        \"Listen to the broadcast\":\"Listen to the broadcast\",\n        \"No broadcasts\":\"No broadcasts\",\n        \"Ad\":\"Ad\",\n    },\n    \"ru\": {\n        \"Now Live\": \"Сейчас в эфире\",\n        \"live broadcast\": \"Прямой эфир\",\n        \"Watch\": \"Смотреть\",\n        \"Listen\":\"Слушать\",\n        \"Listen to the broadcast\":\"Послушать трансляцию\",\n        \"No broadcasts\":\"трансляции отсутствуют\",\n        \"Ad\":\"объявление\",\n    }\n}\n\n\nexport const getTranslation = (lang, text: string) => {\n    const obj = filter(ynetLiveTranslations, function (v, k) {\n        return k === lang;\n    });\n    const content = filter(obj[0], function (v, k) {\n        return k === text;\n    })\n    return content[0]\n}","import { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport { MultiImagesScrollPerItem } from \"widgets/commonComponents/base/multiImagesScrollPerItem\";\n\n\ninterface ynetShopsProps {\n    items: any[]\n    width: number\n    imageWidth: number\n}\n\n\nexport class YnetShops1280Gallery extends React.Component<ynetShopsProps, {}> {\n    public static siteScriptName = \"YnetShops1280Gallery\";\n\n    render() {\n        const { items, width, imageWidth } = this.props\n\n\n        return (\n            <MultiImagesScrollPerItem imageWidth={imageWidth} width={width - 28} itemLength={items.length} marginRight={6}>\n                {items.map((item, index) =>\n                    <div className=\"slotView\" key={`slotItem_${index}`} style={{ marginLeft: \"6px\" }} >\n\n                        <SimpleLinkRenderer href={item.url} target=\"_blank\">\n                            <img src={item.image} title={item.title} />\n                            <div className=\"titleItem\">\n                                {item.title}\n                            </div>\n                            <div className=\"subTitleItem\">\n                                {item.price_surfix} {item.price} ₪\n                            </div>\n                        </SimpleLinkRenderer>\n                    </div>)}\n            </MultiImagesScrollPerItem>\n        )\n\n    }\n}\n","import { registerDataClass } from \"widgets/dataObjectFacrories\"\nimport { DataObjectBase } from \"widgets/commonDataObjects/dataObjectBase\"\nimport { LinkTargetProperties, LinkProperties, BaseLinkTypes } from \"global/components/linkSettings/interfaces\"\nimport { LinkedPageResource } from \"widgets/interfaces\"\nimport { getLinkResource, getNewLinkProperties } from \"widgets/widgetsUtils\"\nimport { LinkedItemVideoSettings } from \"widgets/commonDataObjects/linkedItemsVideoSettings\"\nimport { VideoBehaiforData } from \"widgets/commonDataObjects/interfaces\"\n\n\n\n@registerDataClass\nexport class YnetshopsData extends DataObjectBase {\n\n    get rightTitleText(): string {\n        return this.data.rightTitleText;\n    }\n    setRightTitleText(rightTitleText: string) {\n        return this.setData({ rightTitleText })\n    }\n\n    get rightTitleLink(): LinkProperties<BaseLinkTypes> {\n        return this.data.rightTitleLink;\n    }\n    setRightTitleLink(rightTitleLink: LinkProperties<BaseLinkTypes>) {\n        return this.setData({ rightTitleLink }).setRightTitleLinkTarget(getNewlinkTargetProperties());\n    }\n\n    get rightTitleLinkTarget(): LinkTargetProperties {\n        return this.data.rightTitleLinkTarget;\n    }\n    setRightTitleLinkTarget(rightTitleLinkTarget: LinkTargetProperties) {\n        return this.setData({ rightTitleLinkTarget });\n    }\n\n\n\n    get tabTitleColor(): string {\n        return this.data.tabTitleColor;\n    }\n\n    setTabTitleColor(tabTitleColor: string) {\n        return this.setData({ tabTitleColor })\n    }\n\n    get tabBackgroundColor(): string {\n        return this.data.tabBackgroundColor;\n    }\n\n    setTabBackgroundColor(tabBackgroundColor: string) {\n        return this.setData({ tabBackgroundColor, tabBackgroundImageUrl: \"\" })\n    }\n\n    get leftTitleText(): string {\n        return this.data.leftTitleText;\n    }\n\n    setLeftTitleText(leftTitleText: string) {\n        return this.setData({ leftTitleText })\n    }\n\n    get leftTitleLink(): LinkProperties<BaseLinkTypes> {\n        return this.data.leftTitleLink;\n    }\n\n    setLeftTitleLink(leftTitleLink: LinkProperties<BaseLinkTypes>) {\n        return this.setData({ leftTitleLink })\n    }\n\n\n\n    get leftTitleLinkTarget(): LinkTargetProperties {\n        return this.data.leftTitleLinkTarget;\n    }\n\n    setLeftTitleLinkTarget(leftTitleLinkTarget: LinkTargetProperties) {\n        return this.setData({ leftTitleLinkTarget })\n    }\n    get videoSettings(): LinkedItemVideoSettings {\n        return this.data.videoSettings\n    }\n    setVideoSettings(videoSettings: LinkedItemVideoSettings) {\n        return this.setData({ videoSettings })\n    }\n\n    get videoBehaivior(): VideoBehaiforData {\n        return this.data.videoBehaivior\n    }\n    setVideoBehaivior(videoBehaivior: VideoBehaiforData) {\n        return this.setData({ videoBehaivior })\n    }\n\n    get isDfp(): boolean {\n        return this.data.isDfp\n    }\n    setIsDfp(isDfp: boolean) {\n        return this.setData({ isDfp })\n    }\n\n    get dfpId(): string {\n        return this.data.dfpId\n    }\n\n    setDfpId(dfpId: string) {\n        return this.setData({ dfpId })\n    }\n    protected GetLinkedResourcesForCurrent() {\n        const resources: LinkedPageResource[] = [\n            getLinkResource(this.leftTitleLink),\n            getLinkResource(this.rightTitleLink),\n        ];\n        return _.filter(resources); //remove links that are not resources\n    }\n\n    protected createNewInstance(data) {\n        return new YnetshopsData(data) as this;\n    }\n    protected getDefaultData() {\n        const tabBackgroundColor: string = \"#556775\"\n        const tabTitleColor: string = \"#ffffff\"\n\n        const leftTitleText: string = \"\"\n        const leftTitleLink: LinkProperties<BaseLinkTypes> = getNewLinkProperties()\n        const leftTitleLinkTarget: LinkTargetProperties = getNewlinkTargetProperties()\n\n        const rightTitleText: string = \"\"\n        const rightTitleLink: LinkProperties<BaseLinkTypes> = getNewLinkProperties()\n        const rightTitleLinkTarget: LinkTargetProperties = getNewlinkTargetProperties()\n\n        return {\n            tabTitleColor,\n            tabBackgroundColor,\n\n            rightTitleText,\n            rightTitleLink,\n            rightTitleLinkTarget,\n\n            leftTitleText,\n            leftTitleLink,\n            leftTitleLinkTarget,\n            videoSettings: new LinkedItemVideoSettings,\n            videoBehaivior: {\n                isAutoPlaying: false,\n                isLoopPlaying: false,\n                isPlayerBarVisible: true,\n                isSoundButtonVisible: true,\n                isMuteAvailable: true\n            },\n            isDfp: false,\n            dfpId: \"\"\n        }\n    }\n}\nexport const getNewlinkTargetProperties = (): LinkTargetProperties => ({\n    linkOpenType: \"new\",\n    lightBoxWidth: 803,\n    lightBoxHeight: 700,\n    lightBoxOpacity: 70,\n    lightBoxBgColor: \"#000000\",\n})\n","import { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { LinkedItemFieldDisplay } from \"widgets/commonDataObjects/linkedItemsFieldsDisplay\"\nimport { SiteItemData, SiteVideoData } from \"widgets/interfaces\"\nimport { SiteMedia } from \"../../../../siteWidgets/siteMedia\";\nimport { VideoGalleryTab } from \"./videoGalleryTab\";\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\";\n\ninterface PlainGalleryProps {\n    medias: SiteItemData[]\n    fieldsDisplaySettings: LinkedItemFieldDisplay\n    channelIconUrl: string\n    tabTitleText: string\n    isLTR: boolean\n    fullArticleText: string\n}\n\ninterface PlainGalleryState {\n    selectedItemId: string\n    videoPlayStarted: boolean\n    isMediaSelected: boolean\n}\n\nexport class FrontVideoGallery extends React.Component<PlainGalleryProps, PlainGalleryState>{\n    public static siteScriptName = \"FrontVideoGallery\";\n    constructor(props: PlainGalleryProps) {\n        super(props as PlainGalleryProps);\n\n        this.state = {\n            selectedItemId: props.medias[0].itemId,\n            videoPlayStarted: false,\n            isMediaSelected: false,\n\n        }\n    }\n\n\n    componentDidUpdate(_, prevState: PlainGalleryState) {\n        if (this.state.selectedItemId !== prevState.selectedItemId) {\n            // @ts-ignore\n            if (window.YitVideo) {\n                window.YitVideo.options.callback = function () {\n                    let YtvComponent: any = document.querySelector(`${this.props.isLTR ? 'div.VideoGalleryEnglishComponenta .video-wrap[initialized=\"true\"] video' : 'div.VideoGalleryComponenta .video-wrap[initialized=\"true\"] video'} `);\n                    YtvComponent && YtvComponent.paused && YtvComponent.play();\n                }\n                window.YitVideo.InfrastructureReInitialize();\n            }\n            if (window[\"defaultNativeVideoType\"] === \"flowplayer\") {\n\n                let VideoComponent: any = document.querySelector(`${this.props.isLTR ? 'div.VideoGalleryEnglishComponenta .mainVideo video' : 'div.VideoGalleryComponenta .mainVideo video'}`);\n                const selectedItem = this.props.medias.find(item => item.itemId === this.state.selectedItemId)\n                const media = selectedItem.media as SiteVideoData;\n                const isMuteAvailable = media.isMuteAvailable;\n                if(VideoComponent && VideoComponent.setSrc(selectedItem.media.url)) {VideoComponent.togglePlay(); VideoComponent.muted = true;}\n                VideoComponent.on(\"cuepointend\", function(e) {\n                    if(!isMuteAvailable)  { VideoComponent.muted=false;}\n                })\n\n\n                //  window[\"defaultNativeVideoType\"].InfrastructureReInitialize();\n            }\n\n        }\n    }\n\n    private onSelectMedia = (e, id: string) => {\n        const isVideo = this.props.medias.find(x => x.itemId === id).media.mediaType === \"MEDIA_VIDEO\"\n        if (!this.state.isMediaSelected) {\n            _.forEach(this.props.medias, mediaItem => {\n                if (mediaItem.media) {\n                    (mediaItem.media as SiteVideoData).isAutoPlaying = true;\n                }\n            });\n            this.setState({ isMediaSelected: true })\n        }\n        this.setState({ selectedItemId: id, videoPlayStarted: true })\n    }\n\n\n    private handleOnVideoPlayStarted = () => {\n        this.setState({ videoPlayStarted: true })\n    }\n    private handleOnVideoPlayStopped = () => {\n        this.setState({ videoPlayStarted: false })\n    }\n\n\n\n    render() {\n        const { medias, fieldsDisplaySettings, channelIconUrl, tabTitleText, isLTR, fullArticleText } = this.props\n        const { selectedItemId } = this.state\n        const { isTitleVisible, isSubTitleVisible, isTabVisible } = fieldsDisplaySettings\n        const selectedItem = medias.find(item => item.itemId === selectedItemId)\n        const withlink = selectedItem.titleLink ? \"withLink\" : \"\";\n        const notSelectedItems = medias.filter(item => item.itemId !== selectedItemId)\n        if (medias.length === 0) { return null }\n        return (\n            <div className={isLTR ? 'VideoGalleryEnglishComponenta' : \"VideoGalleryComponenta\"} >\n                <VideoGalleryTab isVisible={isTabVisible} text={tabTitleText} icon={channelIconUrl} />\n                <div className=\"SelectedVideo\" >\n                    <div className={`slotDetails ${withlink}`} >\n                        { isTitleVisible && <div className=\"slotTitle\" dangerouslySetInnerHTML={{ __html: selectedItem.title }} />}\n                        {isSubTitleVisible && <div className=\"slotSubTitle\" dangerouslySetInnerHTML={{ __html: selectedItem.subTitle }} />}\n                  \n                    </div>\n                    {selectedItem.titleLink &&\n                        <HyperLinkBuilder\n                            className=\"linkTo\"\n                            href={selectedItem.titleLink}\n                            linkTarget={selectedItem.titleTargetLink}\n                        >\n                            {fullArticleText}\n                        </HyperLinkBuilder>}\n                    <div className=\"mainVideo\">\n                        {selectedItem.media &&\n                            <SiteMedia\n                                onPlayStarted={() => this.handleOnVideoPlayStarted()}\n                                onPlayStopped={() => this.handleOnVideoPlayStopped()}\n                                data={selectedItem.media} videoSettings={{ hideVideoAds: false, isVideoLightbox: false }} width={590} height={331}\n                            />}\n                    </div>\n\n                </div>\n                <div className=\"mediaListContainer\">\n                    {notSelectedItems.map((item, index) => {\n                        if (item.media) return (<div key={index} onClick={(e) => this.onSelectMedia(e, item.itemId)} className=\"videoItem\">\n                            <div className=\"lisPreviewImage\">\n                                <img src={item.media.poster} />\n                                <SlotIconDisplay itemId={item.itemId} icon={\"video\"} iconClassName=\"medium\" isIconVisible={true} />\n                            </div>\n                            {isTitleVisible && <div className=\"slotTitle\" dangerouslySetInnerHTML={{ __html: item.title }} />}\n                        </div>)\n                    })}\n                </div>\n            </div>\n        )\n    }\n}\n","import { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\";\n\ninterface GallreyTabProps {\n    text: string\n    icon: string\n    isVisible: boolean\n}\n\nexport class VideoGalleryTab extends React.Component<GallreyTabProps, {}> {\n\n    public render() {\n        const { text, icon, isVisible } = this.props;\n        if (isVisible) {\n            return (\n                <div className=\"VideoGalleryTab\" >\n                    {icon.length > 0 && <SiteSimpleImage className=\"tabIcon\" src={icon} />}\n                    {text}\n\n                </div>\n            )\n        }\n        else return null\n    }\n}\n\n","require(\"./site_aboutLinks.less\")\n\nexport const AboutLinks = () => {\n    return (\n        <div className=\"AboutLinksList\">\n            <ul>\n                <li><a href=\"//www.ynet.co.il/home/0,7340,L-824,00.html\" title=\"כתבו אלינו\" target=\"_blank\">כתבו אלינו</a></li>\n                <li><a href=\"//www.ynet.co.il/home/0,7340,L-1893,00.html\" title=\"עזרה\" target=\"_blank\">עזרה</a></li>\n                <li><a href=\"//z.ynet.co.il/short/content/2018/privacypolicy/policy.html\" title=\"מדיניות פרטיות\" target=\"_blank\">מדיניות פרטיות</a></li>\n                <li><a href=\"//z.ynet.co.il/short/content/2018/privacypolicy/terms.html\" title=\"תנאי שימוש\" target=\"_blank\">תנאי שימוש</a></li>\n                <li ><a href=\"//www.ynet.co.il/home/0,7340,L-4080,00.html\" title=\"מפת האתר\" target=\"_blank\">מפת האתר</a></li>\n            </ul>\n\n            <ul>\n                <li><a href=\"//www.visit.yedioth.co.il/\" title=\"מרכזי המבקרים\" target=\"_blank\">מרכזי המבקרים</a></li>\n                <li><a href=\"//www.ynetnews.com/home/0,7340,L-3083,00.html\" title=\"Israel News\" target=\"_blank\">Israel News</a></li>\n                <li><a href=\"//www.ynet.co.il/home/0,7340,L-822,00.html\" title=\"אודות האתר\" target=\"_blank\">אודות האתר</a></li>\n                <li ><a href=\"//www.ynet.co.il/articles/0,7340,L-3369891,00.html\" title=\"RSS\" target=\"_blank\">RSS</a></li>\n            </ul>\n\n            <ul>\n                <li><a href=\"//www.ynet.co.il/home/0,7340,L-8,00.html\" title=\"הפוך לדף הבית\" target=\"_blank\">הפוך לדף הבית</a></li>\n                <li><a href=\"//ynetads-10fd1.firebaseapp.com/\" title=\"פרסמו אצלנו\" target=\"_blank\">פרסמו אצלנו</a></li>\n                <li><a href=\"//www.ynet.co.il/home/0,7340,L-1361,00.html\" title=\"אנציקלופדיה\" target=\"_blank\">אנציקלופדיה</a></li>\n                <li><a href=\"//premium.ynet.co.il/Web/Manage/Main\" className=\"bold\" title=\"רכישת מנוי +ynet\" target=\"_blank\">רכישת מנוי +ynet</a></li>\n            </ul>\n        </div>\n    )\n}","require(\"./site_channels.less\")\nimport { SectionLabelWithUnderlineDecoration } from \"../sectionLabelWithUnderlineDecoration/sectionLabelWithUnderlineDecoration\"\n\nexport const Channels = () => {\n    return (\n        <div className=\"Channels\">\n            <div className=\"sectionLabelContainer\">\n                <SectionLabelWithUnderlineDecoration label=\"ערוצי תוכן\" />\n                <span className=\"ynetLogo\"></span>\n            </div>\n\n            <div className=\"channelsContainer\">\n                <ul >\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-2,00.html\" title=\"חדשות\" target=\"_blank\" >חדשות</a></li>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-6,00.html\" title=\"כלכלה\" target=\"_blank\" >כלכלה</a></li>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-3,00.html\" title=\"ספורט\" target=\"_blank\" >ספורט</a></li>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-538,00.html\" title=\"תרבות\" target=\"_blank\" >תרבות</a></li>\n                </ul>\n\n                <ul>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-1208,00.html\" title=\"בריאות\" target=\"_blank\">בריאות</a></li>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-544,00.html\" title=\"מחשבים\" target=\"_blank\" >מחשבים</a></li>\n                    <li><a href=\"//pplus.ynet.co.il/home/0,7340,L-11211,00.html\" title=\"Pplus רכילות\" target=\"_blank\" >Pplus רכילות</a></li>\n                    <li><a href=\"//b.ynet.co.il/pearl/~v090820/clientzone/vehicle/proposal.html?utm_source=ynet.hp&amp;utm_medium=buy_save_146_82&amp;utm_campaign=bituach.car&amp;utm_content=bituach.car-buy_save_146_82#/\" title=\"מימון\" target=\"_blank\">מימון</a>\n                    </li>\n                </ul>\n\n                <ul>\n                    <li><a href=\"//xnet.ynet.co.il/home/0,14538,L-8,00.html?utm_source=ynet&amp;utm_medium=footer&amp;utm_campaign=november\" title=\"Xnet\" target=\"_blank\" >Xnet</a></li>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-4403,00.html\" title=\"יהדות\" target=\"_blank\" >יהדות</a></li>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-194,00.html\" title=\"דעות\" target=\"_blank\" >דעות</a></li>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-5363,00.html\" title=\"צרכנות\" target=\"_blank\" >צרכנות</a></li>\n                </ul>\n\n                <ul>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-598,00.html\" title=\"תיירות\" target=\"_blank\" >תיירות</a></li>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-975,00.html\" title=\"אוכל\" target=\"_blank\" >אוכל</a></li>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-550,00.html\" title=\"רכב\" target=\"_blank\" >רכב</a></li>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-4880,00.html\" title=\"בעלי חיים\" target=\"_blank\" >בעלי חיים</a></li>\n                </ul>\n\n\n                <ul>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-3925,00.html\" title=\"יחסים\" target=\"_blank\" >יחסים</a></li>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-1069,00.html\" title=\"אסטרולוגיה\" target=\"_blank\" >אסטרולוגיה</a></li>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-3262,00.html\" title=\"מעורבות\" target=\"_blank\" >מעורבות</a></li>\n                    <li><a href=\"//xnet.ynet.co.il/home/0,7340,L-11946,00.html\" title=\"לאשה\" target=\"_blank\" >לאשה</a></li>\n                </ul>\n\n                <ul>\n                    <li><a href=\"//www.bigdeal.co.il/\" title=\"דילים\" target=\"_blank\" >דילים</a></li>\n                    <li><a href=\"//www.calcalist.co.il/home/0,7340,L-8,00.html\" title=\"כלכליסט\" target=\"_blank\" >כלכליסט</a></li>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-3456,00.html\" title=\"בלייזר\" target=\"_blank\" >בלייזר</a></li>\n                    <li><a href=\"//www.ynet.co.il/home/0,7340,L-1209,00.html\" title=\"מנטה\" target=\"_blank\" >מנטה</a></li>\n                </ul>\n\n                <ul>\n                    <li><a href=\"//www.mynet.co.il/\" title=\"mynet\" target=\"_blank\" >mynet</a></li>\n                    <li><a href=\"//www.frogi.co.il/?utm_source=ynet.co.il&utm_medium=referral&utm_campaign=Footer\" title=\"פרוגי\" target=\"_blank\" >פרוגי</a></li>\n                    <li><a href=\"//www.yschool.co.il/\" title=\"Yschool\" target=\"_blank\" >Yschool</a></li>\n                    <li><a href=\"//nadlan.ynet.co.il/?externalurl=true\" title=\"nadlan\" target=\"_blank\" >ynet נדל\"ן</a></li>\n                </ul>\n\n                <ul>\n                    <li><a href=\"//www.vesty.co.il\" title=\"Вести\" target=\"_blank\">Вести</a></li>\n                </ul>\n            </div>\n        </div>\n    )\n}","require(\"./site_creditLogos.less\")\n\nexport const CreditLogos = () => {\n    return (\n        <div className=\"CreditLogos\">\n            <div className=\"iconsWrapper\">\n                <a href=\"https://yit.co.il/#utm_source=ynet.co.il&utm_medium=referral&utm_campaign=footer2\" target=\"_blank\" rel=\"nofollow\" className=\" footer_yit_icon\" title=\"אפיון ועיצוב UX UI, פיתוח\"></a>\n                <div className=\"homepage_footer_separator\"></div>\n                <a href=\"https://www.nagich.co.il/html5/sbs.py?_id=8675&amp;did=5905&amp;G=5905\" target=\"_blank\" rel=\"nofollow\" className=\"footer_accessability_icon\" title=\"נגיש בקליק\"></a>\n                <div className=\"homepage_footer_separator\"></div>\n                <a href=\"http://www.radware.com\" target=\"_blank\" rel=\"nofollow\" className=\" footer_radware_icon\" title=\"Application delivery by radware\"></a>\n                <div className=\"homepage_footer_separator\"></div>\n                <a href=\"http://www.acum.org.il\" target=\"_blank\" rel=\"nofollow\" className=\" footer_acum_icon\" title=\"האתר פועל ברישיון אקו&quot;ם\"></a>\n                <div className=\"homepage_footer_separator\"></div>\n                <a href=\"http://www.tali-rights.co.il/\" target=\"_blank\" rel=\"nofollow\" className=\" footer_tali_icon\" title=\"האתר פועל ברישיון תל&quot;י\"></a>\n                <div className=\"homepage_footer_separator\"></div>\n                <a href=\"https://www.activetrail.co.il/?utm_source=ynet&amp;utm_medium=website&amp;utm_campaign=logo\" target=\"_blank\" rel=\"nofollow\" className=\"footer_activetrail_icon \" title=\"אקטיב טרייל\"></a>\n            </div>\n        </div>\n    )\n}","require(\"./site_footerLogos.less\")\n\nexport const FooterLogos = () => {\n    return (\n        <div className=\"FooterLogos\">\n            <a href=\"//nadlan.ynet.co.il/?externalurl=true\" title=\"Nadlan\" className=\"nadlan\" rel=\"nofollow\"></a>\n            <a href=\"//www.bigdeal.co.il/\" title=\"BigDeal\" className=\"bigdeal\" rel=\"nofollow\"></a>\n            <a href=\"//www.pro.co.il/?utm_source=ynet.hp&amp;utm_medium=D.photer.logo&amp;utm_campaign=pro&amp;utm_content=pro-D.photer.logo\" title=\"המקצוענים\" className=\"professionals\" rel=\"nofollow\" target=\"_blank\"></a>\n            <a href=\"//b.ynet.co.il/?utm_source=ynet.hp&amp;utm_medium=D.photer.Inside.logoPage&amp;utm_campaign=bituach&amp;utm_content=bituach-D.photer.InsidePage.logo\" title=\"ביטוח ynet\" className=\"insurance\" rel=\"nofollow\" target=\"_blank\"></a>\n            <a href=\"//b.ynet.co.il/pearl/~v090820/clientzone/vehicle/proposal.html?utm_source=ynet.hp&amp;utm_medium=buy_save_146_82&amp;utm_campaign=bituach.car&amp;utm_content=bituach.car-buy_save_146_82#/\" title=\"ynet מימון\" className=\"mimun\" rel=\"nofollow\" target=\"_blank\" />\n            <a href=\"//www.ynetshops.co.il/?utm_source=ynet.hp&amp;utm_medium=d.photer.inside.logopage&amp;utm_campaign=ynetshops\" title=\"YnetShops\" className=\"shops\" rel=\"nofollow\" target=\"_blank\"></a>\n        </div>\n    )\n}","require(\"./site_sectionLabelWithUnderlineDecoration.less\")\n\nexport const SectionLabelWithUnderlineDecoration = ({ label }) => {\n    return (\n        <div className=\"SectionLabelWithUnderlineDecoration\">{label}<span className=\"underline\"></span></div>\n    )\n}\n\n","require(\"./site_socialLinks.less\")\n\nexport class SocialLinks extends React.Component<{}, {}>  {\n\n    componentDidMount() {\n        const element: HTMLElement = document.getElementById(\"INDmenu-btn3\");\n        element && element.addEventListener(\"click\", this.clickAcessibilityBtn)\n    }\n\n    componentWillUnmount() {\n        const element: HTMLElement = document.getElementById(\"INDmenu-btn3\");\n        element && element.removeEventListener(\"click\", this.clickAcessibilityBtn)\n    }\n\n    private clickAcessibilityBtn = () => {\n        const element: HTMLElement = document.getElementById('INDmenu-btn')\n        element.click();\n    }\n\n    render() {\n        return (\n            <div className=\"SocialLinks\">\n                <a href=\"\" target=\"_blank\" rel=\"nofollow\" className=\"ynetLogo\" title=\"ynet ברשת\"></a>\n                <a href=\"https://www.instagram.com/ynetgram/\" target=\"_blank\" rel=\"nofollow\" className=\"logo instagram\" title=\"הדף שלנו באינסטגרם\"></a>\n                <a href=\"https://www.youtube.com/channel/UCpSSzrovhI4fA2PQNItecUA\" target=\"_blank\" rel=\"nofollow\" className=\"logo youtube\" title=\"ynet ביוטיוב\"></a>\n                <a href=\"https://twitter.com/ynetalerts\" target=\"_blank\" rel=\"nofollow\" className=\"logo twitter\" title=\"עקוב אחרינו בטוויטר\"></a>\n                <a href=\"https://www.facebook.com/ynetnews\" target=\"_blank\" rel=\"nofollow\" className=\"logo facebook\" title=\"הדף שלנו בפייסבוק\"></a>\n                <span className=\"footer_tools_separator\"></span>\n                <a id=\"INDmenu-btn3\" className=\"logo negishut\" title=\"אתר נגיש\"></a>\n            </div>\n        )\n    }\n}","require(\"./site_toolsAndAbout.less\")\nimport { SectionLabelWithUnderlineDecoration } from \"../sectionLabelWithUnderlineDecoration/sectionLabelWithUnderlineDecoration\"\nimport { AboutLinks } from \"../aboutLinks/aboutLinks\"\nimport { ToolsLinks } from \"../toolsLinks/toolsLinks\"\nimport { SocialLinks } from \"../socialLinks/socialLinks\"\n\nexport const ToolsAndAbout = () => {\n    return (\n        <div className=\"ToolsAndAbout\">\n            <div className=\"wrapper\">\n                <div className=\"aboutWrapper\">\n                    <SectionLabelWithUnderlineDecoration label={\"אודות ועזרה\"} />\n                    <AboutLinks />\n                </div>\n                <div className=\"toolsWrapper\">\n                    <div className=\"sectionTitleWrapper\">\n                        <SectionLabelWithUnderlineDecoration label={\"כלים ושירותים\"} />\n                        <div className=\"socialNetworks\"><SocialLinks /></div>\n                    </div>\n                    <ToolsLinks />\n                </div>\n            </div>\n        </div>\n    )\n}","require(\"./site_toolsLinks.less\")\n\nexport const ToolsLinks = () => {\n    return (\n        <div className=\"ToolsLinksList\">\n            <ul>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//www.bigdeal.co.il/AllCamp.aspx?s=1&amp;categoryid=3\" title=\"קניות\" target=\"_blank\">קניות</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//www.calcalist.co.il/stocks/home/0,7340,L-6,00.html\" title=\"מניות\" target=\"_blank\">מניות</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//www.calcalist.co.il/stocks/home/0,7340,L-4135-22212222,00.html\" title=\"שער הדולר\" target=\"_blank\">שער הדולר</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//www.calcalist.co.il/stocks/home/0,7340,L-4135-22242222,00.html\" title=\"שער היורו\" target=\"_blank\">שער היורו</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//www.alljobs.co.il/?utm_source=ynet&amp;utm_medium=cooperation&amp;utm_content=Internal%20Pages%20Footer&amp;utm_campaign=Placements%20-%20Permanent\" title=\"דרושים\" target=\"_blank\">דרושים</a>\n                </li>\n\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//nadlan.ynet.co.il/search/apartments-for-rent\" title=\"דירות להשכרה\" target=\"_blank\">דירות להשכרה</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//www.bigdeal.co.il/\" title=\"קופונים\" target=\"_blank\">קופונים</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//nadlan.ynet.co.il/search/apartments-for-sale\" title=\"דירות למכירה\" target=\"_blank\">דירות למכירה</a>\n                </li>\n                <li>\n                    <span className=\"seperator\">|</span>\n                    <a href=\"//www.ynet.co.il/home/0,7340,L-10978,00.html?utm_source=ynet.ros&amp;utm_medium=ros_D.photer&amp;utm_campaign=baaley.miktzua&amp;utm_content=baaley.miktzua-ros_D.photer\" title=\"בעלי מקצוע\" target=\"_blank\">בעלי מקצוע</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//bit.ly/1GS78ns\" title=\"עברית\" target=\"_blank\">עברית</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//nadlan.winwin.co.il/\" title=\"דירות חדשות\" target=\"_blank\">דירות חדשות</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//www.ynetart.co.il/?utm_source=ynet.ros&amp;utm_medium=ros_D.photer&amp;utm_campaign=general&amp;utm_content=ynetart-ros_D.photer\" title=\"ynetArt\" target=\"_blank\">ynetArt</a>\n                </li>\n                <li>\n                    <span className=\"seperator\">|</span>\n                    <a href=\"//www.yedschool.co.il/\" title=\"ידיעות בתי ספר\" target=\"_blank\">ידיעות בתי ספר</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"http://yedioth-magazine.co.il/\" title=\"מנוי למגזין\" target=\"_blank\">מנוי למגזין</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//www.yediot.co.il/home/0,7340,L-3630,00.html\" title=\"ידיעות אחרונות\" target=\"_blank\">ידיעות אחרונות</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"https://yit.co.il/#utm_source=ynet.co.il&utm_medium=referral&utm_campaign=footer3&utm_term=web%20development\" title=\"פיתוח אתרים\" target=\"_blank\">פיתוח אתרים</a></li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"https://yit.co.il/#utm_source=ynet.co.il&utm_medium=referral&utm_campaign=footer3&utm_term=apps%20development\" title=\"פיתוח אפליקציות\" target=\"_blank\">פיתוח אפליקציות</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//www.yad2.co.il/realestate/rent\" title=\"חיפוש דירות להשכרה\" target=\"_blank\">חיפוש דירות להשכרה</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//www.yad2.co.il/realestate/forsale\" title=\"דירות למכירה מיד שנייה\" target=\"_blank\">דירות למכירה מיד שנייה</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//www.sefereshet.org.il/#/home\" title=\"ספרשת\" target=\"_blank\">ספרשת</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"//yschool.co.il/\" title=\"ymath - בני גורן\" target=\"_blank\">ymath - בני גורן</a>\n                </li>\n                <li><span className=\"seperator\">|</span>\n                    <a href=\"https://nadlan.ynet.co.il/?externalurl=true\" title=\"דירות בפרויקטים חדשים\" target=\"_blank\">דירות בפרויקטים חדשים</a>\n                </li>\n            </ul>\n        </div>\n    )\n}","import { FooterLogos } from \"./footerLogos/footerLogos\"\nimport { CreditLogos } from \"./creditLogos/creditLogos\"\nimport { Channels } from \"./channels/channels\"\nimport { ToolsAndAbout } from \"./toolsAndAbout/toolsAndAbout\"\n\nrequire('./ynet_magazine_site_ynetFooter.less')\n\nexport class SiteYnetFooter extends React.Component<{}, {}> {\n    public static siteScriptName = \"SiteYnetFooter\";\n\n    render() {\n        return (\n            <div className=\"ynetFooter\">\n                <CreditLogos />\n                <ToolsAndAbout />\n                <FooterLogos />\n                <Channels />\n            </div>\n        )\n    }\n}\n","import * as classNames from \"classnames\"\nimport * as map from \"lodash/map\"\nimport { menuItems } from \"./mobileMenu\"\nvar Cookies = require('js-cookie');\nrequire('./ynetnews_vesty_site_ynetNewsHeader.less')\n\n\ninterface MobileMenuProps {\n    isOpened: boolean\n    items: menuItems[]\n}\nexport class EsMobileMenuComponenta extends React.Component<MobileMenuProps, {}> {\n\n    render() {\n        const { isOpened, items } = this.props\n\n        let menuClassName = classNames(\"MobileMenu\", { \"opened\": isOpened === true, \"closed\": isOpened === false })\n        const dataItems = items ? items : [{ name: \"\", link: \"\", color: \"\" }]\n        return (\n            <div className={menuClassName} >\n                <div className=\"head\">\n                    <span className=\"cp-big-h1\">Canales</span>\n                </div>\n                <ul>     {map(dataItems, (item, i) => <li key={i}>\n                    <div className=\"color\"></div>\n                    <a href={item.link}>\n                        <div className=\"icon\" style={{ color: item.color }}>{item.name} </div>\n                    </a></li>\n\n                )}\n                </ul>\n\n            </div>\n        )\n\n    }\n}","import { VestiMobileMenuComponenta } from \"./vestiMobileMenu\";\nimport { EsMobileMenuComponenta } from \"./esMobileMenu\"\nimport * as classNames from \"classnames\"\nimport { YnetNewsMenuComponenta } from \"./ynetNewsMobileMenu\";\nimport { menuItems } from \"./mobileMenu\";\nvar Cookies = require('js-cookie');\nrequire('./ynetnews_vesty_site_ynetNewsHeader.less')\n\ninterface MobileHeaderProps {\n    weather: any\n    lang: string\n    items: menuItems[]\n}\ninterface YnetWeatherState {\n    selectedCity: string\n    isMenuOpen: boolean\n}\n\n\nexport class MobileHeaderComponenta extends React.Component<MobileHeaderProps, YnetWeatherState> {\n    public static siteScriptName = \"MobileHeaderComponenta\"\n    constructor(props) {\n        super(props)\n        let city = Cookies.get('weatherCity');\n        if (city) {\n            this.state = {\n                selectedCity: city,\n                isMenuOpen: null\n            }\n        }\n        else {\n            this.state = {\n                selectedCity: '0', ...this.state\n            }\n        }\n    }\n\n    private toggleMenu = () => {\n        let toggleMenu = !this.state.isMenuOpen\n        this.setState({ isMenuOpen: toggleMenu })\n    }\n\n    private getLogo = () => {\n        const { lang } = this.props\n        if (lang === \"ru\") return \"//www.vesty.co.il/images/ynetnewsresp/logo-menu_vesti.png\"\n        else if (lang === \"es\") return \"//www.ynetespanol.com/picserver/ynetespanol/wcm_upload/2019/07/07/SkEWoOJbB/espnyol_logo_new.jpg\"\n        else return \"//www.ynetnews.com/images/ynetnewsresp/logo-menu.png\"\n    }\n\n    private getMainLink = () => {\n        const { lang } = this.props\n        if (lang === \"ru\") return \"/home/0,7340,L-50,00.html\"\n        else if (lang === \"es\") return \"//www.ynetespanol.com/\"\n        else return \"//www.ynetnews.com/\"\n    }\n    private getMenu = (lang: string) => {\n        switch (lang) {\n            case \"ru\": return <VestiMobileMenuComponenta isOpened={this.state.isMenuOpen} items={this.props.items} />\n            case \"en\": return <YnetNewsMenuComponenta isOpened={this.state.isMenuOpen} items={this.props.items} />\n            case \"es\": return <EsMobileMenuComponenta items={this.props.items} isOpened={this.state.isMenuOpen} />\n        }\n    }\n\n    private getWeatherLink = () => {\n        const { lang } = this.props\n        if (lang === \"ru\") return \"//www.vesty.co.il/weather\"\n        else if (lang === \"en\") return \"//www.ynetnews.com/weather\"\n        else return \"//weather.ynet.co.il/\"\n    }\n\n    render() {\n        const { weather, lang } = this.props\n        const { selectedCity, isMenuOpen } = this.state\n        let weatherData;\n        if (lang !== \"es\") {\n            weatherData = weather ? weather : [{ temp: \"20\", imageName: \"1220.png\" }]\n        }\n        else weatherData = []\n        let cityNum = weather && lang !== \"es\" ? selectedCity : 0\n        let openClass = isMenuOpen ? \"open\" : \"\";\n        let menuClass = classNames(\"inner-menu\", { \"isMenuOpen\": isMenuOpen === true, \"isMenuClose\": isMenuOpen === false, \"\": isMenuOpen === null })\n        let vesty = lang === \"ru\" ? \"vestyHeader\" : \"\"\n        return (\n            <div className={`YnetNewsHeaderMobile ${vesty}`}>\n                <div className=\"YnetNewsHeaderMobileComponenta\">\n                    <div className=\"inner-text\"></div>\n                    <div className=\"inner-logo\">\n                        <a href={this.getMainLink()}>\n                            <img src={this.getLogo()} />\n                        </a>\n                    </div>\n\n                    {lang !== \"es\" && <div className=\"weather_resp\">\n                        <div id=\"cdanwmansrch_weather1\">\n                            <div id=\"cdanwmansrch_weathertempsdiv1\">\n                                <a href={this.getWeatherLink()} className=\"main_search_nounderlined_link\"><span id=\"cdanwmansrch_weathertemps1\">{weatherData[cityNum].temp + 'C'}</span></a>\n                                <span id=\"cdanwmansrch_weatherimage1\">\n                                    <a href={this.getWeatherLink()}>\n                                        <img src={\"//www.ynet.co.il/Cnt/Images/Weather/\" + weatherData[cityNum].imageName} width=\"20\" height=\"20\" />\n                                    </a>\n                                </span>\n                            </div>\n                        </div>\n                    </div>}\n\n                    <div className={menuClass} >\n                        <div className=\"menu-btn\" onClick={this.toggleMenu}></div>\n                        <div className=\"menu-btn-right-line\"></div>\n                    </div>\n                    <div className={`MobileBg ${openClass}`} onClick={this.toggleMenu} />\n                    {this.getMenu(lang)}\n                </div>\n            </div>\n        )\n    }\n}\n\n","var Cookies = require('js-cookie');\nimport * as map from \"lodash/map\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nrequire('./ynetnews_vesty_site_ynetNewsHeader.less')\n\nexport interface menuItems {\n    name: string\n    link: string\n    mobileIcon?: string\n    color?: string\n}\ninterface MobileMenuProps {\n    items: menuItems[]\n\n}\n\n\nexport class MobileMenuComponenta extends React.Component<MobileMenuProps, {}> {\n    componentDidMount() {\n        const element: HTMLElement = document.getElementById(\"INDmenu-btn3\");\n        element && element.addEventListener(\"click\", (e) => this.clickAcessibilityBtn())\n    }\n\n    private clickAcessibilityBtn = () => {\n        const element: HTMLElement = document.getElementById('INDmenu-btn')\n        element.click();\n    }\n\n\n    render() {\n        const { items } = this.props\n        const dataItems = items ? items : [{ name: \"\", link: \"\", mobileIcon: \"\", color: \"\" }]\n        const firstItem = dataItems[0]\n        const otherItems = dataItems.slice(1)\n        return (\n            <ul>\n                <li >\n                    <div className=\"color\"></div>\n                    <a href={firstItem.link}>\n                        <div className=\"icon\" style={{ color: firstItem.color }}>{firstItem.name}\n                            {firstItem.mobileIcon === \"\" ? null :\n                                <SiteSimpleImage src={firstItem.mobileIcon} aria-hidden=\"true\" className=\"menu-img-item menu-img-size\" />\n                            }\n                        </div>\n                    </a></li>\n                {this.props.children}\n                {map(otherItems, (item, i) => <li key={i}>\n                    <div className=\"color\"></div>\n                    <a href={item.link}>\n                        <div className=\"icon\" style={{ color: item.color }}>{item.name}\n                            {item.mobileIcon === \"\" ? null : <SiteSimpleImage src={item.mobileIcon} aria-hidden=\"true\" className=\"menu-img-item menu-img-size\" />}\n                        </div>\n                    </a></li>\n                )}\n            </ul>\n\n        )\n    }\n}\n","import { MobileMenuComponenta, menuItems } from \"./mobileMenu\"\nimport * as classNames from \"classnames\"\n\n\ninterface MobileMenuProps {\n    isOpened: boolean\n    items: menuItems[]\n}\n\nexport class VestiMobileMenuComponenta extends React.Component<MobileMenuProps, {}> {\n\n\n\n    render() {\n        const { isOpened, items } = this.props\n        let opened;\n\n        let vestyMenuClassName = classNames(\"MobileMenu Vesty\", { \"opened\": isOpened === true, \"closed\": isOpened === false })\n\n        return (\n            <div className={vestyMenuClassName} >\n                <div className=\"head\">\n                    <span className=\"cp-big-h1\">Меню</span>\n                    <a id=\"INDmenu-btn3\" className=\"follow\"\n                        accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" style={{ position: \"absolute\", top: \"15px\", left: \"5%\" }}>\n                        <img src=\"//www.vesty.co.il/images/nagishot.png\" style={{ width: \"21px\", height: \"21px\" }} />\n                    </a>\n                </div>\n                < MobileMenuComponenta items={items} >\n                    <li aria-label=\"Новости-молнии\"><div className=\"color\" />\n                        <a href=\"/home/0,7340,L-13148,00.html\">\n                            <div className=\"icon\">Новости-молнии\n                             <img src=\"//www.vesty.co.il/images/ynetnewsresp/mivzakim_menu_item.png\" className=\"menu-img-item menu-img-size\" /></div>\n                        </a>\n                    </li>\n                </MobileMenuComponenta>\n\n            </div>\n        )\n\n    }\n}","import { MobileMenuComponenta, menuItems } from \"./mobileMenu\";\nimport * as classNames from \"classnames\"\n\n\ninterface MobileMenuProps {\n    isOpened: boolean\n    items: menuItems[]\n}\n\n\nexport class YnetNewsMenuComponenta extends React.Component<MobileMenuProps, {}> {\n\n    render() {\n        const { isOpened, items } = this.props\n        let menuClassName = classNames(\"MobileMenu\", { \"opened\": isOpened === true, \"closed\": isOpened === false })\n\n        return (\n            <div className={menuClassName} >\n                <div className=\"head\">\n                    <span className=\"cp-big-h1\">Channels</span>\n                    <a id=\"INDmenu-btn3\" className=\"follow\"\n                        accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" style={{ position: \"absolute\", top: \"15px\", left: \"5%\" }} >\n                        <img src=\"//www.vesty.co.il/images/nagishot.png\" style={{ width: \"21px\", height: \"21px\" }} />\n                    </a>\n                </div>\n                < MobileMenuComponenta items={items} >\n                    <li><div className=\"color\"></div><a href=\"//www.ynetnews.com/home/0,7340,L-3089,00.html\"><div className=\"icon\">Breaking News\n             <img src=\"/images/ynetnewsresp/mivzakim_menu_item.png\" className=\"menu-img-item menu-img-size\" /></div></a></li>\n                </MobileMenuComponenta>\n\n            </div>\n        )\n    }\n}\n","import * as map from \"lodash/map\"\nimport { CurrencyObj } from \"./ynetNewsSearch\";\n\ninterface vestyCurrencyProps {\n    currency: CurrencyObj[]\n}\nexport class VestyCurrency extends React.Component<vestyCurrencyProps, {}> {\n\n\n    public render() {\n        const { currency } = this.props\n        return (\n            <div className=\"currency_list\">\n                {map(currency, (item, i) =>\n                    <div className=\"currency\" title={item.name} key={i}>\n                        <span>{item.value.toFixed(3)}</span>\n                        <img className=\"currency_logo\" src={item.imageName} />\n                    </div>\n                )}\n            </div>\n        )\n\n    }\n}\n","import { isWcmEditor } from \"../../../../../config/serverConfig\";\ninterface socialProp {\n    openWindow: (url: string, name: string, width: number, height: number) => void\n}\n\nexport class VestySocial extends React.Component<socialProp, {}> {\n\n\n    public render() {\n        const { openWindow } = this.props\n        if (!isWcmEditor())\n            return (\n                <div className=\"main_search_social main_search_elements\">\n                    <div className=\"main_search_sep2 main_search_elements\">\n                        <img src=\"/images/mainsearch_sep.png\" aria-hidden=\"true\" />\n                    </div>\n                    <a href=\"//www.vesty.co.il/home/0,7340,L-13433,00.html\" ><img src=\"//www.vesty.co.il/images/rssIconVesty.png\" alt=\"RSS\" title=\"RSS\" /></a>\n                    <div className=\"main_search_sep2 main_search_elements\">\n                        <img src=\"/images/mainsearch_sep.png\" aria-hidden=\"true\" />\n                    </div>\n                    <a href=\"mailto:doaradom@vesty.co.il\" ><img src=\"//www.vesty.co.il/images/emailVestyIcon.png\" alt=\"Имейл\" title=\"Имейл\" /></a>\n\n                    <div className=\"main_search_sep2 main_search_elements\">\n                        <img src=\"/images/mainsearch_sep.png\" aria-hidden=\"true\" />\n                    </div>\n                    <a href='//www.facebook.com/VestyIsrael/' target=\"_blank\">\n                        <img src=\"/images/faceVesty.png\" alt=\"Вести в Фейсбуке\" title=\"Вести в Фейсбуке\" />\n                    </a>\n                </div>\n            )\n        else return null\n    }\n}\n","import { YnetWeather } from \"../ynetWeather/ynetWeather\";\nimport { YnetSearchForm } from \"../ynetSearchForm/ynetSearchForm\";\nimport { YnetNewsSocial } from \"./ynetnewsSocialButtons\";\nimport { VestySocial } from \"./vestySocialButtons\";\nimport { VestyCurrency } from \"./vestyCurrency\";\nimport { isWcmEditor } from \"../../../../../config/serverConfig\"\nvar Cookies = require('js-cookie');\nrequire('./ynetnews_vesty_site_ynetSearch.less')\n\ninterface YnetSearchProps {\n    weather: WeatherObject[]\n    weatherUrl?: string\n    lang: string\n    currency: CurrencyObj[]\n}\ninterface WeatherObject {\n    city: string\n    temp: number\n    imageName: string\n}\nexport interface CurrencyObj {\n    name: string\n    value: number\n    imageName: string\n}\ninterface YnetSearchState {\n    selectedCity: string\n    selectedSearchVal: string\n}\ninterface YnetSearchProps { }\n\nexport class YnetNewsSearch extends React.Component<YnetSearchProps, YnetSearchState> {\n    public static siteScriptName = \"YnetNewsSearch\";\n    constructor(props) {\n        super(props)\n    }\n    private openInnewWindow = (url: string, name: string, width: number, height: number) => {\n        if (!isWcmEditor()) {\n            window.open(url, name, `toolbar=no,location=yes,directories=yes,status=yes,menubar=no,scrollbars=no,resizable=no,width=${width},height=${height}`)\n        }\n    }\n\n    public render() {\n        const { weather, lang, currency, weatherUrl } = this.props\n\n        return (\n            <div className={`ynetNewsSearch ${lang}`}>\n                <div className=\"main_search\">\n                    <YnetSearchForm lang={lang} />\n                    {lang === \"ru\" && <VestyCurrency currency={currency} />}\n                    <div className=\"iframe_combina_container\">\n                        {isWcmEditor() && <div className=\"iframe_combina_kesem\"></div>}\n                        {lang !== \"ru\" ? <YnetNewsSocial openWindow={this.openInnewWindow} lang={lang} /> : <VestySocial openWindow={this.openInnewWindow} />}\n                    </div>\n                    {lang !== \"es\" && weather && <YnetWeather weather={weather} lang={lang} weatherUrl={weatherUrl} />}\n                </div>\n            </div>\n        )\n    }\n}\n","import { isWcmEditor } from \"../../../../../config/serverConfig\";\ninterface socialProp {\n    openWindow: (url: string, name: string, width: number, height: number) => void\n    lang: string\n}\n\nexport class YnetNewsSocial extends React.Component<socialProp, {}> {\n    private getSiteName = (lang: string, site: string) => {\n        if (site === \"fb\") {\n            switch (lang) {\n                case \"en\": return \"ynetenglish\"\n                case \"es\": return \"ynetespanol\"\n                default: return \"ynetenglish\"\n            }\n        }\n        else {\n            switch (lang) {\n                case \"en\": return \"ynetnews\"\n                case \"es\": return \"ynetespanol\"\n                default: return \"ynetnews\"\n            }\n        }\n    }\n\n\n\n    public render() {\n        const { openWindow, lang } = this.props\n        if (!isWcmEditor())\n            return (\n                <div className=\"main_search_social main_search_elements\">\n                    {lang === \"es\" && <a onClick={() => openWindow(`//instagram.com/ynetespanol`, \"instagram window\", 800, 600)} style={{ marginLeft: \"30px\" }}>\n                        <img src=\"/images/instagram.png\" alt=\"YnetEspanol on Instagram\" title=\"YnetEspanol on Instagram\" />\n                    </a>}\n                    <a onClick={() => openWindow(`//www.facebook.com/${lang !== \"es\" ? \"pages/\" : \"\"}${this.getSiteName(lang, \"fb\")}`, \"facebook window\", 800, 600)} style={{ marginLeft: \"30px\" }}>\n                        <img src=\"/images/face.png\" alt={`${this.getSiteName(lang, \"\")} on Facebook`} title={`${this.getSiteName(lang, \"\")} on Facebook`} />\n                    </a>\n                    <a onClick={() => openWindow(`//twitter.com/${this.getSiteName(lang, \"tw\")}`, \"twitter window\", 800, 600)}>\n                        <img src=\"/images/twitter.png\" alt={`${this.getSiteName(lang, \"\")} on Twitter`} title={`${this.getSiteName(lang, \"\")} on Twitter`} width={35} height={35} />\n                    </a>\n                </div>\n            )\n        else return null\n    }\n}\n","import { isWcmEditor } from \"../../../../../config/serverConfig\";\n\nrequire(\"./ynetnews_vesty_site_ynetSearchForm.less\")\n\ntype SelectedTypes = \"web\" | \"siteName\";\ninterface YnetSearchFormProps {\n    lang: string\n    placeholder?: string\n    searchPageLink?: string\n    isGrid1280?: boolean\n    closeX?:boolean\n    closeSearchInput?:()=>void\n}\ninterface YnetSearchFormState {\n    selectedSearchVal: SelectedTypes\n    userInput: string\n    isInFocus: boolean\n    backgroundImg?: string\n}\n\nexport class YnetSearchForm extends React.Component<YnetSearchFormProps, YnetSearchFormState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            selectedSearchVal: (props.lang === \"ru\" && !this.props.isGrid1280) ? \"siteName\" : \"web\",\n            userInput: \"\",\n            isInFocus: false,\n        }\n    }\n\n\n\n    private proffesionsUtf8Encode = (src: string): string => {\n        let encodedString = \"\"\n        for (let i = 0; i < src.length; i++) {\n            let cha = src.charCodeAt(i)\n            if (cha >= 1488 && cha <= 1514) {\n                cha -= 1264\n                encodedString += \"%\" + cha.toString(16).toUpperCase()\n            } else {\n                encodedString += encodeURI(src.charAt(i))\n            }\n        }\n        return encodedString\n    }\n    private search = () => {\n        const { lang, searchPageLink, isGrid1280, closeX } = this.props\n        const { selectedSearchVal, userInput: typedUserInput } = this.state;\n        if (!typedUserInput) {\n            return\n        }\n\n        let urlHead = \"\"\n        let userInput = \"\"\n        let fullUrl = \"\"\n        let urlTail = \"\"\n\n        if (!isWcmEditor()) {\n            let urlTWeb: string;\n            let urlHWeb: string;\n            let urlHSite: string;\n            let urlSearchInSite: string;\n\n            switch (lang) {\n                case \"en\":\n                    if (isGrid1280) {\n                        urlTWeb = \"\";\n                        urlHWeb = searchPageLink ? searchPageLink + \"?q=\" : \"//www.google.com/search?as_sitesearch=www.ynetnews.com&q=\";\n                        urlHSite = \"&as_sitesearch=www.ynetnews.com\"\n                    }\n                    else {\n                        urlTWeb = \"\"\n                        urlHWeb = \"//search.ynetnews.com/serp?q=\"\n                        urlHSite = searchPageLink ? searchPageLink + \"?q=\" : \"//search.ynetnews.com/serp?q=\"\n                    }\n                    break;\n                case \"ru\":\n                    if (isGrid1280) {\n                        urlTWeb = \"\";\n                        urlHWeb = searchPageLink ? searchPageLink + \"?q=\" : \"//www.google.com/search?as_sitesearch=www.vesty.co.il&q=\";\n                        urlHSite = \"&as_sitesearch=www.vesty.co.il\"\n                    }\n                    else{\n                        urlTWeb = \"&cx=partner-pub-4207657971126930%3A3070512948&cof=FORID%3A10&ie=UTF-8&sa=Search&mainSearchGoogle=Web\"\n                        urlHWeb = \"//www.vesty.co.il/home/0,7340,L-13223,00.html?sort=date&q=\"\n                        urlHSite = \"//www.vesty.co.il/home/0,7340,L-13223,00.html?sort=date&q=\"\n                        urlSearchInSite = \"&cx=partner-pub-4207657971126930:7839563526&cof=FORID%3A10&ie=UTF-8&sa=Search&mainSearchGoogle=Vesti\"\n                    }\n                    break;\n                case \"es\":\n                    urlTWeb = \"&as_sitesearch=www.ynetespanol.com\"\n                    urlHWeb = \"//www.google.com/search?q=\"\n                    urlHSite = \"//www.google.com/search?q=\"\n                    break;\n            }\n\n            switch (selectedSearchVal) {\n                case \"web\":\n                    urlHead = urlHWeb\n                    userInput = typedUserInput\n                    urlTail = urlTWeb\n                    fullUrl = lang !== \"es\" ? urlHead + userInput + urlTail : urlHead + userInput\n                    location.href = fullUrl\n                    break;\n                case \"siteName\":\n                    urlHead = urlHSite\n                    userInput = typedUserInput\n                    if (lang == \"ru\") {\n                        fullUrl = urlHead + userInput + urlSearchInSite\n                    } else {\n                        fullUrl = lang !== \"es\" ? urlHead + userInput : urlHead + userInput + urlTWeb\n                    }\n\n                    location.href = fullUrl\n                    break;\n            }\n        }\n\n    }\n\n    private updateSearchSelection = (data) => {\n        this.setState({ selectedSearchVal: data.target.value });\n    }\n\n    private updateInputValue = (evt) => {\n        this.setState({ userInput: evt.target.value });\n    }\n\n    private handleInputFocus = () => {\n        this.setState({ isInFocus: true });\n    }\n\n    private handleInputBlur = () => {\n        this.setState({ isInFocus: false });\n    }\n\n\n    private handleInputKeyPress = (evt: React.KeyboardEvent) => {\n        if (evt.key === \"Enter\") {\n            this.search();\n        }\n\n    }\n\n    public render() {\n        const { lang , placeholder} = this.props\n        const { selectedSearchVal, userInput } = this.state;\n        let SearchSiteName: string;\n        let SearchWeb: string;\n\n        switch (lang) {\n            case \"en\":\n                SearchSiteName = \"ynetNews\"\n                SearchWeb = \"web\"\n                break;\n            case \"ru\":\n                SearchSiteName = \"Вести\"\n                SearchWeb = \"веб\"\n                break;\n            case \"es\":\n                SearchSiteName = \"YnetEspanol\"\n                SearchWeb = \"web\"\n                break;\n        }\n        return (\n\n            <div className=\"main_search_elements\" id=\"mainSrchElements\">\n                <a href=\"javascript:void(0);\" id=\"MsBtn\" className={lang} role=\"button\" onClick={this.search} />\n                <div id=\"main_search_bg\">\n                    {lang !== \"en\" &&\n                        <div id=\"mainSearchSelect\">\n                            <select id=\"mainSearchSelectType\" aria-label=\"Choose select type\" onChange={(data) => this.updateSearchSelection(data)} value={selectedSearchVal}>\n                                <option value=\"siteName\">\n                                    {SearchSiteName}\n                                </option>\n                                <option value=\"web\">\n                                    {SearchWeb}\n                                </option>\n                            </select>\n                        </div>\n                    }\n                    <div id=\"mainSrchBoxInput\">\n                        <input\n                            alt=\"חיפוש\"\n                            className=\"mainSrchclass\"\n                            id=\"mainSrchBox\"\n                            aria-label=\"חיפוש\"\n                            type=\"text\"\n                            value={userInput}\n                            placeholder={placeholder && placeholder}\n                            onFocus={this.handleInputFocus}\n                            onBlur={this.handleInputBlur}\n                            onChange={this.updateInputValue}\n                            onKeyPress={this.handleInputKeyPress}\n                            style={{ background: \"#fff\" }}\n                        />\n\n                    </div>\n                </div>\n                {this.props.closeX &&<button className=\"closeBtn\" onClick={this.props.closeSearchInput}></button>}\n            </div>\n        )\n    }\n}","import { getCityNameTranslation } from \"../../../ynetSearch/components/ynetWeather/cityNamesTranslator\";\n\nrequire('./ynetnews_vesty_site_ynetWeather.less')\nvar Cookies = require('js-cookie');\n\ninterface YnetWeatherState {\n    selectedCity: string\n}\n\nexport class YnetWeather extends React.Component<any, YnetWeatherState> {\n    constructor(props) {\n        super(props)\n        let city = Cookies.get('weatherCity');\n        if (city) {\n            this.state = {\n                ...this.state,\n                selectedCity: city\n            }\n        }\n        else {\n            this.state = {\n                ...this.state,\n                selectedCity: '0'\n            }\n        }\n    }\n    private updateTemperature = (data) => {\n        this.setState({\n            ...this.state,\n            selectedCity: data.target.value\n        })\n\n        Cookies.set('weatherCity', data.target.value, { expires: 365 });\n    }\n    public render() {\n        const { weather, lang, weatherUrl } = this.props\n        const { selectedCity } = this.state\n        const selectedWeather = weather[selectedCity];\n        return (\n\n            <div id=\"main_search_weather\" className=\"main_search_elements\">\n                <div id=\"cdanwmansrch_weather\">\n                    <span>{getCityNameTranslation(lang, \"תחזית:\")}</span>\n                    <div id=\"cdanwmansrch_weathertempsdiv\">\n                        <div className=\"weathertempsdiv\">\n                            {selectedWeather && <a className=\"main_search_nounderlined_link\" href={weatherUrl ? weatherUrl : \"//www.ynet.co.il/home/0,7340,L-201,00.html\"}><span className=\"weathertemps\">{selectedWeather.temp + 'C'}</span></a>}\n                        </div>\n                        <div className=\"weatherimage\">\n                            {selectedWeather && <a href={weatherUrl ? weatherUrl : \"//www.ynet.co.il/home/0,7340,L-201,00.html\"} aria-label=\"WEATHER\"><img height=\"20\" src={\"/Cnt/Images/Weather/\" + selectedWeather.imageName} aria-hidden=\"true\" width=\"20\"></img></a>}\n                        </div>\n                        <div id=\"mainWeatherSelect\">\n                            <select id='weathercityselect' aria-label=\"CHOOSE A CITY\" className=\"weathercitieselect\" onChange={(data) => this.updateTemperature(data)} value={this.state.selectedCity}>\n                                {weather.map((city, i) => <option key={i} value={i.toString()}>{getCityNameTranslation(lang, city.city)}</option>)}\n                            </select>\n                        </div>\n                    </div></div>\n                <div className=\"main_search_sep2 main_search_elements\">\n                    <img src=\"/images/mainsearch_sep.png\" aria-hidden=\"true\" />\n                </div>\n            </div>\n\n\n        )\n    }\n}\n","\nexport class YplusAccessibiltyButton extends React.Component<{}, {}> {\n    public static siteScriptName = \"yplusAccessibiltyFixedBtn\";\n\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n\n    render() {\n        return (\n            <button className=\"accessibiltyFixedBtn\" onClick={this.clickAcessibilityBtn} id=\"INDmenu-btn-fixed\" title=\"אתר נגיש\" aria-labelledby=\"INDbtnTooltip\" accessKey=\"m\"></button>\n        )\n    }\n}","require(\"./site_circleProgressBar.less\")\n\ninterface circularProps {\n    sqSize: number\n    strokeWidth: number\n    percentage: number\n    index: number\n}\nclass Circular extends React.Component<circularProps, {}> {\n    constructor(props) {\n        super(props);\n        this.state = {};\n    }\n    static defaultProps = {\n        sqSize: 60,\n        percentage: 0,\n        strokeWidth: 2\n    }\n    render() {\n        const { sqSize, strokeWidth, percentage, index } = this.props\n        // SVG centers the stroke width on the radius, subtract out so circle fits in square\n        const radius = (sqSize - strokeWidth) / 2;\n        // Enclose cicle in a circumscribing square\n        const viewBox = `0 0 ${sqSize} ${sqSize}`;\n        // Arc length at 100% coverage is the circle circumference\n        const dashArray = radius * Math.PI * 2;\n        // Scale 100% coverage overlay with the actual percent\n        const dashOffset = dashArray - dashArray * percentage / 100;\n\n        return (\n            <svg\n                width={sqSize}\n                height={sqSize}\n                viewBox={viewBox}>\n                <circle\n                    className=\"circle-background\"\n                    cx={sqSize / 2}\n                    cy={sqSize / 2}\n                    r={radius}\n                    strokeWidth={`${strokeWidth}px`} />\n                <circle\n                    className=\"circle-progress\"\n                    cx={sqSize / 2}\n                    cy={sqSize / 2}\n                    r={radius}\n                    strokeWidth={`${strokeWidth + 0.5}px`}\n                    // Start progress marker at 12 O'Clock\n                    transform={`rotate(-90 ${sqSize / 2} ${sqSize / 2})`}\n                    style={{\n                        strokeDasharray: dashArray,\n                        strokeDashoffset: dashOffset\n                    }} />\n                <text\n                    className=\"circle-text\"\n                    x=\"50%\"\n                    y=\"50%\"\n                    dy=\".3em\"\n                    textAnchor=\"middle\">\n                    {`0${index + 1}`}\n                </text>\n            </svg>\n        );\n    }\n}\n\n\ninterface CircularProgressState {\n    percentage: number\n\n}\ninterface CircularProgressProps {\n    seconds?: number\n    isActive: boolean\n    index: number\n    sqSize?: number\n    key?: number\n}\n\nexport class CircleProgressbarAnimated extends React.Component<CircularProgressProps, CircularProgressState> {\n    constructor(props) {\n        super(props);\n        this.state = {\n            percentage: 0\n        }\n    }\n    static defaultProps = { sqSize: 60 }\n    private changePrecentage = () => {\n        const { isActive, seconds } = this.props;\n        const diff = 1 / seconds;\n        if (isActive) {\n            this.setState(state => ({ percentage: state.percentage + diff }))\n        } else {\n            this.setState({ percentage: 0 })\n        }\n    }\n\n    private animateBar;\n\n    componentDidMount() {\n        const { isActive, seconds } = this.props\n        isActive && (this.animateBar = setInterval(this.changePrecentage, 10));\n    }\n\n    componentWillUnmount() {\n        clearInterval(this.animateBar);\n    }\n\n    componentDidUpdate(prevProps: CircularProgressProps, prevState, snapshot) {\n        if (prevProps.isActive !== this.props.isActive) {\n            if (this.props.isActive) {\n                this.setState({ percentage: 0 })\n                this.animateBar = setInterval(this.changePrecentage, 10)\n            } else {\n                clearInterval(this.animateBar);\n                this.setState({ percentage: 0 })\n            }\n        }\n    }\n\n    public render() {\n        return (\n            <Circular\n                strokeWidth={2}\n                sqSize={this.props.sqSize}\n                percentage={this.state.percentage}\n                index={this.props.index}\n            />\n        );\n    }\n}\n\n","\n\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\"\nimport { LinkTargetProperties } from \"../../../../global/components/linkSettings/interfaces\";\nimport { CircleProgressbarAnimated } from \"./circlePropgressBar\";\nimport * as classNames from \"classnames\"\nimport { CSSTransitionGroup } from \"react-transition-group\";\nimport { YplusMenu, yPlusHeaderMenuItem } from \"./menu\";\nimport { NewsLetterYplusSignUp } from \"./newsLetterSendRequest\";\nimport { YnetPlusUserMenuItems } from \"../../ynetSearch/components/ynetPianoLogin/ynetPianoLogin\";\n\n\nexport interface yPlusHeaderItem {\n    title: string\n    articleId: string\n    link: string\n    linkTarget: LinkTargetProperties\n    imgUrl: string\n    imgCredit: string\n    author: string\n    freeText: string\n    subTitle?: string\n    hasVideo?: boolean\n\n}\ninterface yPlusHeaderProps {\n    items: yPlusHeaderItem[]\n    seconds: number\n    menuItems: yPlusHeaderMenuItem[]\n    isMenuVisible: boolean\n    categoryId: string\n    seachPageLink: string\n    mainLogoLink: string\n    parentSiteLink: string\n    version: number\n    componentaId?:string\n    newsLetterVisible?:boolean\n    accountName?:string \n    itemId?:string\n    ynetPlusMenuItems?:YnetPlusUserMenuItems[]\n}\n\n\ninterface yPlusHeaderState {\n    selectedItem: number\n    isActive: boolean\n    isSticky: boolean\n    isInputOpened: boolean\n    isUserLogged: boolean\n    mailValue:string\n}\n\nexport class FrontYnetPlusHeader extends React.Component<yPlusHeaderProps, yPlusHeaderState>{\n    constructor(props) {\n        super(props as yPlusHeaderProps);\n        this.state = {\n            selectedItem: 0,\n            isActive: true,\n            isSticky: false,\n            isInputOpened: false,\n            isUserLogged: false,\n            mailValue:\"\"\n        }\n    }\n    public static siteScriptName = \"FrontYnetPlusHeader\";\n\n    private handleSelect = (itemIndex: number) => {\n        this.setState({ selectedItem: itemIndex, isActive: false  })\n        clearInterval(this.autoGalleryInterval)\n    }\n    private showInput = () => {\n        this.setState({ isInputOpened: true })\n    }\n    private hideInput = () => {\n        this.setState({ isInputOpened: false })\n    }\n    private autoGalleryInterval: any;\n    private startAutoGallery = () => {\n        const { seconds, items } = this.props\n        const self = this;\n        if (typeof (seconds) === \"number\") {\n            if (seconds > 0) {\n                this.autoGalleryInterval = setInterval(() => {\n                    this.setState((prevState: yPlusHeaderState, props: yPlusHeaderProps) => {\n                        let newIndex = ++prevState.selectedItem;\n                        if (newIndex >= props.items.length) newIndex = 0;\n                        return { selectedItem: newIndex }\n                    });\n                }, seconds * 1000);\n            }\n            else {\n                clearInterval(this.autoGalleryInterval)\n                this.setState({ isActive: false })\n            }\n        }\n    }\n    private changeMailValue = (value) => {\n        this.setState({ mailValue:value })\n    }\n    componentDidMount() {\n        //  document.addEventListener(\"scroll\", this.throttledScrollHandler)\n        if (window && window.YitPaywall && window.YitPaywall.user && window.YitPaywall.user.props.uid ) {\n            this.setState({ isUserLogged: true })\n        }\n        if (window.innerWidth > 700) {\n            if (this.props.items.length > 1) {\n                this.startAutoGallery();\n            }\n        }\n        else {\n            clearInterval(this.autoGalleryInterval)\n            this.setState({ isActive: false })\n        }\n    }\n\n    componentWillUnmount() {\n        clearInterval(this.autoGalleryInterval)\n        this.setState({ isActive: false })\n    }\n    render() {\n        const { items, seconds, menuItems, isMenuVisible, categoryId, seachPageLink, mainLogoLink,\n            parentSiteLink, version, componentaId, newsLetterVisible, ynetPlusMenuItems } = this.props\n        const { selectedItem, isActive, isInputOpened, isUserLogged, mailValue } = this.state\n        return (\n\n            <div className={classNames(\"YnetPlusHeaderComponenta\", { \"ver2\": version === 2 })}\n                id=\"YPlusHeader\"\n            >\n                <CSSTransitionGroup transitionName=\"media\" transitionLeave={true}\n                    transitionLeaveTimeout={600}\n                    transitionEnterTimeout={600} >\n                    <div className=\"bgDiv\" key={selectedItem} style={{\n                        backgroundImage: `url(\"${items[selectedItem].imgUrl}\")`, backgroundRepeat: \"no-repeat\"\n                    }} >\n                        <span className=\"imgCredit\">{items[selectedItem].imgCredit}</span>\n                        <HyperLinkBuilder className=\"selectedItemText\" articleId={items[selectedItem].articleId} href={items[selectedItem].link} linkTarget={items[selectedItem].linkTarget}>\n                            <span className=\"categoryLabel\" dangerouslySetInnerHTML={{ __html: items[selectedItem].freeText }} />\n                            <div className=\"mainTitle\" dangerouslySetInnerHTML={{ __html: items[selectedItem].title }} />\n                            {items[selectedItem].author.length > 0 && <div className=\"moreDetails\">\n                                {items[selectedItem].author}\n                            </div>}\n                        </HyperLinkBuilder>\n                    </div>\n                </CSSTransitionGroup >\n                <YplusMenu items={menuItems}\n                    categoryId={categoryId}\n                    isMenuVisible={isMenuVisible}\n                    seachPageLink={seachPageLink}\n                    isInputOpened={isInputOpened}\n                    showInput={this.showInput}\n                    onFocusOutSearch={this.hideInput}\n                    isUserLogged={isUserLogged}\n                    mainLogoLink={mainLogoLink}\n                    parentSiteLink={parentSiteLink}\n                    ynetPlusMenuItems={ynetPlusMenuItems}\n                    inputHasValue={mailValue.length>0} >\n                        {!isUserLogged && newsLetterVisible && <NewsLetterYplusSignUp \n                        componentaId={componentaId}\n                         mailValue={mailValue} \n                         changeMailValue={this.changeMailValue}\n                         accountName={this.props.accountName}\n                         itemId={this.props.itemId}\n                         />}\n                        </YplusMenu>\n\n\n                <div className=\"itemListContainer\">\n                    {items.map((item, i) => {\n                        return (\n                            <div onClick={() => this.handleSelect(i)}\n                                key={i}\n                                className={classNames(\"slotView\", { \"selected\": (i === selectedItem && isActive), \"onSelectWithoutAutoplay\": (i === selectedItem && !isActive) })}>\n                                <CircleProgressbarAnimated\n                                    isActive={this.state.isActive && i === selectedItem}\n                                    index={i}\n                                    seconds={seconds} />\n                           {/*     <div className=\"textArea\">\n                                    <div className=\"slotTitle\" dangerouslySetInnerHTML={{ __html: items[i].title }} />\n                        </div>*/}\n                            </div>)\n                    }\n                    )}\n                </div>\n            </div>\n            /***/\n        )\n    }\n}\n","require(\"./yplus_site_menu.less\")\nimport * as classNames from \"classnames\"\nimport * as throttle from \"lodash/throttle\"\nimport * as map from \"lodash/map\"\nimport { LinkTargetProperties } from \"../../../../global/components/linkSettings/interfaces\";\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\"\nimport { PremiumHeader } from \"../../article/componentas/premium/componentas/premiumHeader/premiumHeader\";\nimport { isWcmEditor } from \"../../../../config/serverConfig\";\nimport { YplusSearchInput } from \"../../yPlusSubChannelHeader/components/searchInput\";\nimport { YplusNotStickyMenu } from \"./nonStickyNavList\";\nimport { YnetPlusUserMenuItems } from \"../../ynetSearch/components/ynetPianoLogin/ynetPianoLogin\";\nconst clickOutside = require('react-click-outside');\n\nexport interface yPlusHeaderMenuItem {\n    title: string\n    link: string\n    linkTarget: LinkTargetProperties\n    catId: string\n}\n\nexport interface yPlusHeaderMenuProps {\n    items: yPlusHeaderMenuItem[]\n    categoryId: string\n    id?: string\n    isSticky?: boolean\n    isMenuVisible: boolean\n    isArticle?: boolean\n    siteId?: string\n    isSubChannelPage?: boolean\n    seachPageLink: string\n    isInputOpened: boolean\n    onFocusOutSearch: () => void\n    showInput: () => void\n    isUserLogged: boolean\n    mainLogoLink: string\n    parentSiteLink: string\n    inputHasValue?:boolean\n    ynetPlusMenuItems?:YnetPlusUserMenuItems[]\n}\n\nexport class YplusMenu extends React.Component<yPlusHeaderMenuProps, {}>{\n\n    render() {\n        const { items, categoryId, id, isMenuVisible, isSubChannelPage } = this.props\n        const YplusMenuClassName = classNames(\"YplusMenu\", isSubChannelPage ? \"subChannelPageMenu\" : \"\")\n\n        return (\n            <div className={YplusMenuClassName} >\n                {!isWcmEditor() && <YplusStickyMenu {...this.props} />}\n                {!isSubChannelPage && <YplusNotStickyMenu {...this.props} />}\n            </div>\n        )\n\n    }\n}\n\nexport interface yPlusHeaderMenuState {\n    isSticky?: boolean\n    isMenuOpened: boolean\n}\n@clickOutside\nexport class YplusStickyMenu extends React.Component<yPlusHeaderMenuProps, yPlusHeaderMenuState>{\n    constructor(props) {\n        super(props as yPlusHeaderMenuProps);\n        this.state = {\n            isSticky: null,\n            isMenuOpened: false,\n\n        }\n    }\n    public static siteScriptName = \"YplusStickyMenu\";\n    private stickyBar(target: HTMLElement) {\n        var sticky = target.offsetTop + 140;\n        if (window.pageYOffset >= sticky) {\n            this.setState({ isSticky: true })\n\n        } else {\n            this.setState({ isSticky: false })\n        }\n    }\n    componentDidMount() {\n        const navbar = document.getElementById(\"styckyNav\");\n        document.addEventListener(\"scroll\", this.throttledScrollHandler(navbar))\n        document.addEventListener(\"scroll\", this.onScrollCallback)\n    }\n\n\n    componentWillUnmount() {\n        const navbar = document.getElementById(\"styckyNav\");\n        document.removeEventListener(\"scroll\", this.throttledScrollHandler(navbar))\n        document.removeEventListener(\"scroll\", this.onScrollCallback)\n    }\n\n    private throttledScrollHandler = (navbar) => throttle(() => this.stickyBar(navbar), 250)\n    private getClassName = (isSticky: boolean) => {\n        switch (isSticky) {\n            case true: return \"sticky\"\n            case false: return \"notSticky\"\n            default: return \"\"\n        }\n    }\n    private toggleMenu = () => {\n        this.setState({ isMenuOpened: !this.state.isMenuOpened })\n    }\n\n    private handleClickOutside = () => {\n        this.setState({ isMenuOpened: false })\n    }\n    private onScrollCallback = (e) => {\n        this.setState({ isMenuOpened: false })\n    }\n\n    render() {\n        const { items, categoryId, id, isMenuVisible, isArticle, isInputOpened, onFocusOutSearch, showInput,\n            isSubChannelPage, seachPageLink, isUserLogged, mainLogoLink, parentSiteLink, siteId, ynetPlusMenuItems } = this.props\n        const { isSticky } = this.state\n        const stickyClassName = classNames(\"yPlusStyckyHeader\", isSubChannelPage ? \"stickyAllTime\" : this.getClassName(isSticky))\n\n        let firstList: yPlusHeaderMenuItem[];\n        let secondList: yPlusHeaderMenuItem[];\n        if (items.length > 6) {\n            firstList = items.slice(0, 6)\n            secondList = items.slice(6, items.length)\n        }\n        else firstList = items\n        const isMenuHidden = !this.state.isMenuOpened ? \"hidden\" : \"\"\n        return (\n            <div className={stickyClassName} id=\"styckyNav\">\n                <PremiumHeader className=\"yPlusPageHeader\" isArticlePage={isArticle}\n                    isStyckyBar={true}\n                    mainLogoLink={mainLogoLink}\n                    parentSiteLink={parentSiteLink}\n                    ynetPlusMenuItems={ynetPlusMenuItems}\n                    siteId={siteId} >\n                    {isMenuVisible && <div className=\"YplusNavigationList\">\n                        <ul>\n                            {map(firstList, (item, i) => {\n                                return (\n                                    <li key={i} className={classNames(\"menuItem\", { \"selected\": item.catId === categoryId })}>\n                                        <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} >\n                                            <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                        </HyperLinkBuilder>\n                                    </li>\n\n                                )\n                            }\n                            )}\n                            {items.length > 6 && <li className=\"menuItem secondLevelH\"><span onClick={this.toggleMenu}>עוד\n                        </span>\n                                <span className=\"menuTogglerWrapper\" onClick={this.toggleMenu}>\n                                    <span className=\"menuToggler\"></span>\n                                </span>\n                                <ul className={`secondLevelMenu ${isMenuHidden}`}>\n                                    {map(secondList, (item, i) => {\n                                        return (\n                                            <li key={i} className={classNames(\"menuItem\", { \"selected\": item.catId === categoryId })}>\n                                                <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} >\n                                                    <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                                </HyperLinkBuilder>\n                                            </li>\n\n                                        )\n                                    }\n                                    )}\n                                </ul>\n                            </li>\n                            }\n                        </ul>\n                        {seachPageLink !== undefined && (isUserLogged || (typeof window !==\"undefined\" && window.AWS_PLUS_SEARCH_URL)) && <YplusSearchInput\n                            className=\"mobileInput\"\n                            seachPageLink={seachPageLink}\n                            isInputOpened={isInputOpened}\n                            onFocusOutSearch={onFocusOutSearch}\n                            showInput={showInput}\n\n                        />}\n                    </div>}\n\n                </PremiumHeader>\n            </div>\n        )\n    }\n}\n\n","import { YplusSubChannelMenuMobile } from \"../../yPlusSubChannelHeader/components/mobileSubChannelHeader\";\nimport { LinkTargetProperties } from \"../../../../global/components/linkSettings/interfaces\";\nimport { yPlusHeaderItem } from \"./headerFront\";\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\";\nimport * as map from \"lodash/map\"\nimport { getQueryStringValue } from \"../../../widgetsUtils\";\nimport { YplusSearchInput } from \"../../yPlusSubChannelHeader/components/searchInput\";\nimport { ThreeDCarousel } from \"../../../commonComponents/inline/3dCarousel/ThreeDCarousel\";\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { YnetPlusUserMenuItems } from \"../../ynetSearch/components/ynetPianoLogin/ynetPianoLogin\";\n\nexport interface yPlusHeaderMenuItem {\n    title: string\n    link: string\n    linkTarget: LinkTargetProperties\n    catId: string\n}\n\ninterface yPlusHeaderMenuProps {\n    items: yPlusHeaderItem[]\n    categoryId: string\n    id?: string\n    isMenuVisible: boolean\n    siteId?: string\n    menuItems?: yPlusHeaderMenuItem[]\n    gallerySeconds: number\n    seachPageLink: string\n    mainLogoLink: string\n    parentSiteLink: string\n    ynetPlusMenuItems?:YnetPlusUserMenuItems[]\n\n}\ninterface yPlusHeaderMenuState {\n    isScrolled: boolean\n    activeSlide: number\n    autoPlay: boolean\n    isUserLogged: boolean\n    isPianoUserValid:boolean\n}\n\nexport class MobileYPlusTopStory extends React.Component<yPlusHeaderMenuProps, yPlusHeaderMenuState>{\n    public static siteScriptName = \"MobileYPlusTopStory\";\n    private lastIndex = this.props.items.length - 1;\n    constructor(props) {\n        super(props as yPlusHeaderMenuProps);\n        this.state = {\n            isScrolled: false,\n            activeSlide: this.lastIndex,\n            autoPlay: true,\n            isUserLogged: false,\n            isPianoUserValid:false\n        }\n\n        if (typeof window != 'undefined') {\n            window.tp = window.tp || [];\n        }\n    }\n\n\n    private stickyBar() {\n\n        if (window.pageYOffset >= 80) {\n            this.setState({ isScrolled: true })\n\n        } else {\n            this.setState({ isScrolled: false })\n        }\n    }\n\n    private mobileAutoGalleryInterval: any;\n\n\n    componentDidMount() {\n        if (window && window.YitPaywall && window.YitPaywall.user) {\n            this.setState({ isUserLogged: true })\n        }\n\n        typeof window !== \"undefined\" && window.tp.push([\"init\", () => {\n            this.setState({isPianoUserValid:window && window.tp && window.tp.pianoId.isUserValid()})\n        }])\n\n    }\n\n    render() {\n\n        const { items, categoryId, id, siteId, menuItems, isMenuVisible, seachPageLink, parentSiteLink, mainLogoLink, ynetPlusMenuItems } = this.props\n        const { isScrolled, isUserLogged, isPianoUserValid} = this.state\n        const isPianoLogin = typeof window !== \"undefined\" && window.YitPaywall && window.YitPaywall.isPianoLogin;\n        const isUserAuthenticated = isPianoLogin? isPianoUserValid : isUserLogged;\n\n\n\n        let isHeaderForAppUnvisible = false;\n        if (typeof window !== \"undefined\" && getQueryStringValue(\"IsApp\")) {\n            isHeaderForAppUnvisible = true\n        }\n        let itemsForMobile = items.reverse();\n     \n        const carouselItems = itemsForMobile.map((slot, index) => {\n            return (\n\n                <HyperLinkBuilder className=\"imageItem\" key={index} articleId={slot.articleId} href={slot.link} linkTarget={slot.linkTarget} style={{\n                    backgroundImage: `url(\"${slot.imgUrl}\")`, backgroundRepeat: \"no-repeat\", direction: \"rtl\"\n                }}  >\n                    <div className=\"selectedItemText\">\n                        {slot.freeText && <span className=\"categoryLabel\" dangerouslySetInnerHTML={{ __html: slot.freeText }} />}\n                        <div className=\"mainTitle\">\n                            <div dangerouslySetInnerHTML={{ __html: slot.title }} />\n                        </div>\n                        <span className=\"articleCredit\">{slot.author}</span>\n                        <span className=\"imgCredit\">{slot.imgCredit}</span>\n\n                    </div>\n                    <SlotIconDisplay itemId={slot.articleId} icon={\"video\"} iconClassName=\"medium\" isIconVisible={slot.hasVideo} />\n                </HyperLinkBuilder>\n\n            )\n        }\n        )\n        return (\n            <div className={`MobileYPlusTopStory YnetPlusHeaderComponenta scrolled`}  >\n                <YplusSubChannelMenuMobile\n                    items={menuItems} siteId={siteId}\n                    categoryId={categoryId}\n                    isMenuVisible={isMenuVisible}\n                    isHeaderForAppUnvisible={isHeaderForAppUnvisible}\n                    seachPageLink={seachPageLink}\n                    isUserLogged={isUserLogged}\n                    mainLogoLink={mainLogoLink}\n                    parentSiteLink={parentSiteLink}\n                    ynetPlusMenuItems={ynetPlusMenuItems}\n                     />\n\n                {seachPageLink !== undefined && isUserAuthenticated && <YplusSearchInput\n                    className=\"mobileInputonPage\"\n                    seachPageLink={seachPageLink}\n                    isInputOpened={true}\n                    placeholder=\"מה מעניין אותך?\"\n\n\n                />}\n                {isMenuVisible && <div className=\"HorizontalMenuList\" >\n\n                    {map(menuItems, (item, i) => {\n                        return (\n                            <div key={i} className=\"menuItem\">\n                                <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} >\n                                    <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                </HyperLinkBuilder>\n                            </div>\n                        )\n                    }\n                    )}\n\n                </div>}\n\n                <ThreeDCarousel slides={carouselItems} />\n            </div>\n        )\n    }\n}\n\n\n\n","require(\"./yplus_site_newsLetter.less\");\nimport * as classNames from \"classnames\"\nimport * as axios from \"axios\"\n\ninterface NewsLetterSignBoxProps {\n\n    componentaId: string\n    changeMailValue: (value: string) => void\n    mailValue: string\n    accountName: string\n    itemId: string\n}\n\ninterface NewsLetterSignBoxState {\n    sendStatus: SendStatus\n    checkedTerms: boolean\n    mailValue: string\n}\nenum SendStatus {\n    beforeSend = 0,\n    validationError = 1,\n    sent = 2,\n    networkError = 3,\n    sendPending = 4,\n}\n\ndeclare var grecaptcha: any\ndeclare var window: any\n\n\n\nexport class NewsLetterYplusSignUp extends React.Component<NewsLetterSignBoxProps, NewsLetterSignBoxState>{\n    constructor(props) {\n        super(props)\n        this.state = {\n            sendStatus: 0,\n            checkedTerms: false,\n            mailValue: \"\",\n        }\n    }\n\n\n\n    private validateEmail = (email: string) => {\n        if (!email) return false;\n        const re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n        return re.test(String(email).toLowerCase());\n    }\n\n    private showError = (isMailError: boolean, checkedTerms: boolean) => {\n        const { sendStatus } = this.state\n        let text = \"\";\n        if (sendStatus === SendStatus.validationError) {\n            if (!checkedTerms) {\n                text = \"נדרש לאשר הסכמה לתנאי השימוש ומדיניות הפרטיות\";\n            }\n            if (isMailError) {\n                text = \"יש למלא כתובת מייל תקינה\";\n            }\n        } else if (sendStatus === SendStatus.networkError) {\n            text = \"אירעה שגיאה בשליחה, נסה מאוחר יותר\"\n        }\n        return text;\n    }\n    private changeTerms = () => {\n        this.setState({ checkedTerms: !this.state.checkedTerms })\n    }\n    private onHandleSend = () => {\n        const isTest = window.location.search.includes(\"is_test=1\");\n        if (isTest) {\n            this.sendSub(\"\", true);\n        } else if (window.wcmCaptchaSiteKey && grecaptcha) {\n            grecaptcha.ready(() => {\n                grecaptcha.execute(window.wcmCaptchaSiteKey, { action: 'submit' }).then(token => {\n                    this.sendSub(token, false);\n                })\n            })\n        }\n    }\n\n\n    private sendSub = async (token: string, isTest: boolean) => {\n\n        const { checkedTerms } = this.state\n        let postData = {\n            groupId: parseInt(this.props.itemId) || 0,\n            email: this.props.mailValue,\n            token,\n            accountName: this.props.accountName\n        }\n        if (this.validateEmail(this.props.mailValue) && checkedTerms) {\n            try {\n                this.setState({ sendStatus: SendStatus.sendPending });\n                window.dataLayer = window.dataLayer || []\n                window.dataLayer.push({ 'event': 'GA_event', 'Category': 'Newsletter', 'Action': 'Registered to Newsletter', 'Label': \"Yplus\" });\n                const response = await axios.post(`/api/newsletter/${this.props.componentaId}/subscribeToGroup${isTest ? \"?isTest=1\" : \"\"}`, postData)\n                if (response.status === 200) {\n                    this.setState({ sendStatus: SendStatus.sent });\n                }\n            } catch {\n\n                this.setState({ sendStatus: SendStatus.networkError })\n            }\n        }\n        else {\n            this.setState({\n                sendStatus: 1\n            })\n        }\n    }\n\n    render() {\n        const { sendStatus, checkedTerms } = this.state\n        const termsLink = <a href=\"https://z.ynet.co.il/short/content/2018/privacypolicy/terms.html\" target=\"_blank\">תנאי השימוש</a>\n        const policyLink = <a href=\"https://z.ynet.co.il/short/content/2018/privacypolicy/policy.html\" target=\"_blank\">מדיניות הפרטיות</a>\n        const emailError = sendStatus == SendStatus.validationError && !this.validateEmail(this.props.mailValue);\n        const checkboxError = sendStatus === 1 && !checkedTerms ? \"error\" : \"\";\n        const emailErrorClass = emailError ? \"error\" : \"\";\n\n        return (\n            <div className={classNames(\"NewsLetterYplusSignUp\", { \"messageSent\": sendStatus === 2 })}>\n                {sendStatus === 2 && <div className=\"emailInput success\">הרשמתך התקבלה בהצלחה!</div>}\n                {sendStatus !== 2 && <> <div className=\"emailInput\">\n                    <span>לעוד כתבות פלוס, הירשמו</span>\n                    <input placeholder=\"דוא''ל\" type=\"text\" name=\"mail\" required className={emailErrorClass} onChange={(e) => this.props.changeMailValue((e as any).target.value)} />\n                    <button className=\"sendBtn\" disabled={sendStatus === 4} onClick={this.onHandleSend}>{sendStatus === 4 ? \"שולח...\" : \"להרשמה\"}</button>\n                    <div className=\"errorMessage\">{this.showError(emailError, checkedTerms)}</div>\n                </div>\n                    {this.props.mailValue.length > 0 && <div className=\"acceptTerms\">\n                        <input type=\"checkbox\" id=\"accept-terms-newsletter\" className={checkboxError} onChange={this.changeTerms} />\n\n                        <span> מסכים/ה ל{termsLink}, {policyLink} ולקבלת פניות שיווקיות מ-ynet כולל טלפוניות, מבלי שהנ\"ל מהווה הסכמה לעריכת עסקה</span>\n                    </div>}</>}\n            </div>\n\n        )\n\n\n    }\n}\n","\nimport * as classNames from \"classnames\"\nimport * as map from \"lodash/map\"\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\"\nimport { PremiumHeader } from \"../../article/componentas/premium/componentas/premiumHeader/premiumHeader\";\nimport { YplusSearchInput } from \"../../yPlusSubChannelHeader/components/searchInput\";\nimport {yPlusHeaderMenuProps, yPlusHeaderMenuState,yPlusHeaderMenuItem } from \"./menu\"\nconst clickOutside = require('react-click-outside'); \n\n\n@clickOutside\nexport class YplusNotStickyMenu extends React.Component<yPlusHeaderMenuProps, yPlusHeaderMenuState>{\n    constructor(props) {\n        super(props as yPlusHeaderMenuProps);\n        this.state = {\n            isMenuOpened: false,\n\n        }\n    }\n    public static siteScriptName = \"YplusNotStickyMenu\";\n    private toggleMenu = () => {\n        this.setState({ isMenuOpened: !this.state.isMenuOpened })\n    }\n    private handleClickOutside = () => {\n        this.setState({ isMenuOpened: false })\n    }\n   \n    private onScrollCallback = (e) => {\n        this.setState({ isMenuOpened: false })\n    }\n    componentDidMount() {\n              document.addEventListener(\"scroll\", this.onScrollCallback)\n    }\n\n\n    componentWillUnmount() {\n             document.removeEventListener(\"scroll\", this.onScrollCallback)\n    }\n    render() {\n        const { items, categoryId, id, isMenuVisible, isArticle,\n            seachPageLink, isInputOpened, onFocusOutSearch, showInput, isUserLogged, mainLogoLink, parentSiteLink, siteId, inputHasValue, ynetPlusMenuItems } = this.props\n            let firstList: yPlusHeaderMenuItem[];\n            let secondList: yPlusHeaderMenuItem[];\n            const isMenuHidden = !this.state.isMenuOpened ? \"hidden\" : \"\";\n            if (items.length > 6) {\n                firstList = items.slice(0, 6)\n                secondList = items.slice(6, items.length)\n            }\n            else firstList = items\n        if (isMenuVisible) return (\n            <div className=\"yPlusHeader\">\n                <PremiumHeader className=\"yPlusPageHeader\" isArticlePage={isArticle} mainLogoLink={mainLogoLink}\n                    parentSiteLink={parentSiteLink} siteId={siteId} ynetPlusMenuItems={ynetPlusMenuItems} />\n                <div className={classNames(\"YplusNavigationList notStickyOnTopStory\", {\"growingHeight\":inputHasValue})}>\n                <ul>\n                            {map(firstList, (item, i) => {\n                                return (\n                                    <li key={i} className={classNames(\"menuItem\", { \"selected\": item.catId === categoryId })}>\n                                        <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} >\n                                            <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                        </HyperLinkBuilder>\n                                    </li>\n\n                                )\n                            }\n                            )}\n                            {items.length > 6 && <li className=\"menuItem secondLevelH\"><span onClick={this.toggleMenu}>עוד\n                        </span>\n                                <span className=\"menuTogglerWrapper\" onClick={this.toggleMenu}>\n                                    <span className=\"menuToggler\"></span>\n                                </span>\n                                <ul className={`secondLevelMenu ${isMenuHidden}`}>\n                                    {map(secondList, (item, i) => {\n                                        return (\n                                            <li key={i} className={classNames(\"menuItem\", { \"selected\": item.catId === categoryId })}>\n                                                <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} >\n                                                    <div dangerouslySetInnerHTML={{ __html: item.title }} />\n                                                </HyperLinkBuilder>\n                                            </li>\n\n                                        )\n                                    }\n                                    )}\n                                </ul>\n                            </li>\n                            }\n                        </ul>\n                    {seachPageLink !== undefined && (isUserLogged || (typeof window !==\"undefined\" && window.AWS_PLUS_SEARCH_URL)) && <YplusSearchInput\n                        className=\"mobileInput\"\n                        seachPageLink={seachPageLink}\n                        isInputOpened={isInputOpened}\n                        onFocusOutSearch={onFocusOutSearch}\n                        showInput={showInput}\n\n\n                    />}\n                    {!(isUserLogged || (typeof window !==\"undefined\" && window.AWS_PLUS_SEARCH_URL)) && this.props.children }\n                </div>\n            </div>\n        )\n        else return <div className=\"yPlusHeader\">\n            <PremiumHeader className=\"yPlusPageHeader\"\n                parentSiteLink={parentSiteLink}\n                mainLogoLink={mainLogoLink}\n                isArticlePage={isArticle}\n                siteId={siteId}\n                ynetPlusMenuItems={ynetPlusMenuItems}\n            /><div className=\"YplusNavigationList transparent\" /></div>\n    }\n}","require(\"./yplus_site_ynetPlusHeaderComponenta-mobile.less\")\nrequire(\"./yplus_site_ynetPlusHeaderComponenta.less\")\nimport * as throttle from \"lodash/throttle\"\nimport { YplusSubChannelMenuMobile } from \"../../yPlusSubChannelHeader/components/mobileSubChannelHeader\";\nimport { LinkTargetProperties } from \"../../../../global/components/linkSettings/interfaces\";\nimport Slider from 'react-slick'\nimport { yPlusHeaderItem } from \"./headerFront\";\nimport { HyperLinkBuilder } from \"../../../commonComponents/inline/hyperLink\";\nimport { CircleProgressbarAnimated } from \"./circlePropgressBar\";\nimport { getQueryStringValue } from \"../../../widgetsUtils\";\n\nexport interface yPlusHeaderMenuItem {\n    title: string\n    link: string\n    linkTarget: LinkTargetProperties\n    catId: string\n}\n\ninterface yPlusHeaderMenuProps {\n    items: yPlusHeaderItem[]\n    categoryId: string\n    id?: string\n    isMenuVisible: boolean\n    siteId?: string\n    menuItems?: yPlusHeaderMenuItem[]\n    gallerySeconds: number\n    seachPageLink: string\n    mainLogoLink: string\n    parentSiteLink: string\n\n}\ninterface yPlusHeaderMenuState {\n    isScrolled: boolean\n    activeSlide: number\n    autoPlay: boolean\n    isUserLogged: boolean\n}\n/**\n *   \n */\nexport class MobileYnetPlusHeader extends React.Component<yPlusHeaderMenuProps, yPlusHeaderMenuState>{\n    public static siteScriptName = \"MobileYnetPlusHeader\";\n    private lastIndex = this.props.items.length - 1;\n    constructor(props) {\n        super(props as yPlusHeaderMenuProps);\n        this.state = {\n            isScrolled: false,\n            activeSlide: this.lastIndex,\n            autoPlay: true,\n            isUserLogged: false\n\n        }\n\n        this.previous = this.previous.bind(this);\n    }\n    private slider;\n    private previous() {\n        this.slider.slickPrev();\n    }\n\n    private stickyBar() {\n\n        if (window.pageYOffset >= 80) {\n            this.setState({ isScrolled: true })\n\n        } else {\n            this.setState({ isScrolled: false })\n        }\n    }\n\n    private mobileAutoGalleryInterval: any;\n    private startAutoMobileGallery = () => {\n        const { gallerySeconds, items } = this.props\n        if (typeof (gallerySeconds) === \"number\") {\n            if (gallerySeconds > 0) {\n                this.mobileAutoGalleryInterval = setInterval(() => {\n                    this.previous();\n                }, gallerySeconds * 1000);\n            }\n            else {\n                clearInterval(this.mobileAutoGalleryInterval)\n                this.setState({ autoPlay: false })\n            }\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(\"scroll\", this.throttledScrollHandler())\n\n        setTimeout(() => {\n            (document.getElementsByClassName(\"slick-slider\")[0] as HTMLElement).style.visibility = \"visible\";\n        }, 50);\n        if (window.innerWidth <= 700) {\n            if (this.props.items.length > 1) {\n                this.startAutoMobileGallery();\n            }\n\n        }\n        else {\n            clearInterval(this.mobileAutoGalleryInterval)\n            this.setState({ autoPlay: false })\n        }\n        if (window && window.YitPaywall && window.YitPaywall.user) {\n            this.setState({ isUserLogged: true })\n        }\n    }\n\n\n    componentWillUnmount() {\n        document.removeEventListener(\"scroll\", this.throttledScrollHandler())\n        clearInterval(this.mobileAutoGalleryInterval)\n        this.setState({ autoPlay: false })\n    }\n\n    private throttledScrollHandler = () => throttle(() => this.stickyBar(), 250)\n\n    private pauseSlider = () => {\n        clearInterval(this.mobileAutoGalleryInterval)\n        this.setState({ autoPlay: false })\n\n    }\n    private appendDots = (dots) => {\n        return (\n            <div>\n                <ul style={{ margin: \"auto\", width: \"auto\" }} onClick={() => this.pauseSlider()}> {dots} </ul>\n            </div>\n        )\n    }\n    private costumPaging = (i) => {\n        return (\n            <button className={!this.state.autoPlay ? \"onSelectWithoutAutoplay\" : \"\"} onMouseUp={() => this.analyticsStoriesBarPushFunc(i)}>\n                <CircleProgressbarAnimated\n                    isActive={this.state.autoPlay && i === this.state.activeSlide}\n                    index={this.lastIndex - i}\n                    seconds={this.props.gallerySeconds}\n                    sqSize={40}\n                    key={i} />\n            </button>\n        )\n    }\n    private afterChange = (i) => {\n        this.setState({ activeSlide: i })\n    }\n\n    private analyticsStoriesBarPushFunc = (itemIndex: number) => {\n        const currIndex = this.lastIndex - itemIndex + 1\n        const currArticleId = this.props.items[itemIndex].articleId\n\n        if (typeof window !== \"undefined\") {\n            window.dataLayer = window.dataLayer || []\n            window.dataLayer.push({\n                event: 'Navigation_Events',\n                Category: 'Ynet+ - Navigation',\n                Action: `Story ${currIndex} Clicked`,\n                Label: currArticleId\n            });\n        }\n    }\n\n    render() {\n        var settings = {\n            draggable: false,\n            speed: 500,\n            infinite: true,\n            dots: true,\n            onSwipe: () => this.pauseSlider(),\n            appendDots: dots => this.appendDots(dots),\n            customPaging: i => this.costumPaging(i),\n            afterChange: (i) => this.afterChange(i),\n            responsive: [{\n                breakpoint: 800,\n                settings: {\n                    slidesToShow: 1,\n                    slidesToScroll: 1,\n                    infinite: true,\n                    dots: true,\n                    arrows: false,\n                    initialSlide: 3,\n                }\n            }\n            ],\n\n\n        }\n        const { items, categoryId, id, siteId, menuItems, isMenuVisible, seachPageLink, parentSiteLink, mainLogoLink } = this.props\n        const { isScrolled, isUserLogged } = this.state\n\n        let isHeaderForAppUnvisible = false;\n        if (typeof window !== \"undefined\" && getQueryStringValue(\"IsApp\")) {\n            isHeaderForAppUnvisible = true\n        }\n\n        let logoImageUrl;\n        let logoImageLink;\n        let scrolled = isScrolled ? \"scrolled\" : \"\"\n        return (\n            <div className={`MobileYnetPlusHeader YnetPlusHeaderComponenta ${scrolled}`}  >\n                <Slider ref={slider => (this.slider = slider)} {...settings}  >\n                    {items.map((slot, index) => {\n                        return (\n                            <span key={index}>\n                                <div className=\"bgDiv\" style={{\n                                    backgroundImage: `url(\"${slot.imgUrl}\")`, backgroundRepeat: \"no-repeat\", direction: \"rtl\"\n                                }}  >\n                                    <span className=\"imgCredit\">{slot.imgCredit}  </span>\n                                    <div className=\"selectedItemText\">\n                                        <span className=\"categoryLabel\" dangerouslySetInnerHTML={{ __html: slot.freeText }} />\n\n                                        <HyperLinkBuilder className=\"mainTitle\" articleId={slot.articleId} href={slot.link} linkTarget={slot.linkTarget}>\n                                            <div dangerouslySetInnerHTML={{ __html: slot.title }} />\n                                        </HyperLinkBuilder>\n                                        {slot.author.length > 0 && <div className=\"moreDetails\">\n                                            {slot.author}\n                                        </div>}\n\n                                    </div>\n                                </div>\n                            </span>\n                        )\n                    }\n                    )}\n                </Slider>\n                <YplusSubChannelMenuMobile\n                    items={menuItems} siteId={siteId}\n                    categoryId={categoryId}\n                    isMenuVisible={isMenuVisible}\n                    isHeaderForAppUnvisible={isHeaderForAppUnvisible}\n                    seachPageLink={seachPageLink}\n                    isUserLogged={isUserLogged}\n                    mainLogoLink={mainLogoLink}\n                    parentSiteLink={parentSiteLink} />\n\n            </div>\n        )\n    }\n}\n\n\n\n","\nimport { useEffect, useState } from \"react\"\nimport { SimpleLinkRenderer, HyperLinkBuilder } from \"../../../../commonComponents/inline/hyperLink\"\nimport { LogoutPopupComponent } from \"../ynetPremiumLogin/LogoutPopupComponent\";\nimport { analyticsPremiumPushFunc } from \"../../../article/componentas/premium/utils\";\nimport { LinkProperties, BaseLinkTypes } from \"global/components/linkSettings/interfaces\"\nimport { LinkTargetProperties } from \"../../../../../global/components/linkSettings/interfaces\"\nimport { YnetPlusUserType } from \"../../../ynet1280/ynetHeader/window/ynetplusnavigation/YnetplusSubCategoriesSlotEditor\";\nimport * as classNames from \"classnames\"\n\ninterface YnetPianoLoginProps {\n    promoText?: string\n    promoLink?: string\n    yplusLink?: string\n    ynetPlusMenuItems: YnetPlusUserMenuItems[]\n    layout?: string\n    isPremiumHeaderArticle?:boolean\n    domain?:string\n}\n\nexport interface YnetPlusUserMenuItems {\n    link: LinkProperties<BaseLinkTypes>\n    title: string\n    linkTarget: LinkTargetProperties\n    userType: YnetPlusUserType\n    itemId: string\n}\n\nexport enum YnetPlusUserTypeOptions {\n    GUEST = \"GUEST\",\n    REGISTERED = \"REGISTERED\",\n    SUBSCRIBED = \"SUBSCRIBED\"\n}\nexport const PremiumResourceIDs = new Set([\"BR6UBQMD\", \"BR6ZJXVR\", \"BRFT6AM7\", \"BRZYMV05\", \"BRV7Q7DK\", \"BRFIFUX9\", \"BR6JG464\", \"BR9JWA1I\", \"BROBJCTX\", \"BR941V52\", \"BR7A9GLU\"]);\n\nexport const YnetPianoLogin = (props: YnetPianoLoginProps) => {\n    const [user, setUser] = useState(null);\n    const [isMenuVisible, setMenuVisible] = useState(false);\n    const [isMenuOpened, setMenuOpened] = useState(false);\n    const [isLogoutPopupOpen, setLogoutPopupOpen] = useState(false);\n    const [userType, setUserType] = useState('');\n    const ynetPlusMenuItems = props.ynetPlusMenuItems;\n    const windowObj = typeof window != \"undefined\" && window;\n    const YitPaywallObj = windowObj && windowObj.YitPaywall\n    const loginClassName = classNames(props.isPremiumHeaderArticle ? \"YnetArticlePremiumPianoLogin\" : \"YnetPianoLogin\",{\"isVisible\":isMenuVisible})\n    const displayName = user && user.firstName ? user.firstName : user && user.email.split(\"@\")[0];\n    const {domain} = props;\n    const promoLabel = loginClassName === \"YnetPianoLogin\" || loginClassName === \"YnetPianoLogin isVisible\" ? \"חודש ראשון ב5.90 ₪\" : \"\";\n    \n    useEffect(() => {\n        initializePianoUser();\n    }, []);\n\n    const initializePianoUser = () => {\n        windowObj && windowObj.tp && windowObj.tp.push([\"init\", () => {\n            const user = windowObj.tp.pianoId && windowObj.tp.pianoId.getUser();\n\n            if (user) {\n                setUser(user);\n                setUserType(YnetPlusUserTypeOptions.REGISTERED);\n                windowObj.tp.api.callApi(\"/access/list\", {}, (response: any) => {\n                    response.data.forEach(activeResource=>{\n                        if(PremiumResourceIDs.has(activeResource.resource.rid)){\n                            setUserType(YnetPlusUserTypeOptions.SUBSCRIBED);\n                        }\n                    });\n                });\n            }else {\n                setUserType(YnetPlusUserTypeOptions.GUEST)\n            }\n      }])\n    }\n\n    const toggleMenu = () => {\n        setMenuVisible(!isMenuVisible);\n        setMenuOpened(!isMenuOpened);\n    }\n\n    const handleClickOutside = () => {\n        setMenuVisible(false);\n        setMenuOpened(false);\n    }\n\n    const handleUserDisconnect = () => {\n        handleClickOutside();\n        analyticsPremiumPushFunc('התנתקות')\n        YitPaywallObj.logoutUser();\n    }\n\n    const handleOnLogoutClicked = () => {\n        toggleMenu();\n        setLogoutPopupOpen(true);\n    }\n\n    const closeLogoutPopup = () => {\n        setLogoutPopupOpen(false)\n    }\n\n    const logOutFromPopUp = () => {\n        closeLogoutPopup();\n        handleUserDisconnect();\n    }\n\n    return (\n        <div className={loginClassName}>\n            {userType === YnetPlusUserTypeOptions.GUEST && <a className=\"login_premium\"\n                href={`javascript:YitPaywall.openLoginPopUp()`}>\n                <div className=\"userIcon\" />\n                <span className=\"label\">{\"כניסה/הרשמה\"}</span>\n            </a>\n            }\n\n            {user &&\n                <>\n                {props.layout === \"mobileWeb\" && userType === YnetPlusUserTypeOptions.REGISTERED && <SimpleLinkRenderer href={`${domain}/plus/packages`} className=\"yPlusLabel\" ></SimpleLinkRenderer>}\n                {props.layout === \"mobileWeb\" && userType === YnetPlusUserTypeOptions.SUBSCRIBED && <SimpleLinkRenderer href={`${domain}/plus`} className=\"yPlusLabel\" ></SimpleLinkRenderer>}      \n                    <div className=\"loggedUser\" onClick={() => toggleMenu()}>\n                        <span className=\"userIcon\" />\n                        <span className=\"welcomeUserLabel\"> שלום, <span>{displayName}</span></span>\n                        <div className=\"menuTogglerWrapper\">\n                            <div className={isMenuVisible ? \"menuToggler toClose\" : \"menuToggler toOpen\"} />\n                        </div>\n                    </div>\n                </>\n            }\n            {props.layout !== \"mobileWeb\" && userType === YnetPlusUserTypeOptions.REGISTERED && <SimpleLinkRenderer href={`${domain}/plus/packages`} className={\"promoLabel\"}>{/*promoLabel*/}</SimpleLinkRenderer>}\n            {props.layout !== \"mobileWeb\" && userType === YnetPlusUserTypeOptions.SUBSCRIBED && <SimpleLinkRenderer href={`${domain}/plus`} className=\"yPlusLabel\" ></SimpleLinkRenderer>}\n\n\n\n            {<div className={classNames(\"menu\",{\"isVisible\":isMenuVisible})}>\n                <div className=\"menuTogglerUpsideDown\" />\n                {\n                    user && ynetPlusMenuItems && ynetPlusMenuItems.filter(item => item.userType === userType).map(menuItem => {\n                        return <div key={menuItem.itemId} className=\"menuOption\"><HyperLinkBuilder href={menuItem.link.link.publishedLink} linkTarget={menuItem.linkTarget}><span dangerouslySetInnerHTML={{ __html: menuItem.title }}></span></HyperLinkBuilder></div>\n                    })\n                }\n                <div className=\"menuOption\" onClick={handleOnLogoutClicked} id=\"logoutDesktopYnet\">התנתקות</div>\n            </div>}\n            {(isLogoutPopupOpen && user) && <LogoutPopupComponent logOutFromPopUp={logOutFromPopUp} closeLogoutPopupOpen={closeLogoutPopup} />}\n        </div>\n    )\n}\n","require('./ynet_yplus_site_logoutPopupComponent.less')\n\nexport class LogoutPopupComponent extends React.Component<{ closeLogoutPopupOpen, logOutFromPopUp }>{\n    render() {\n        return (\n            <div className=\"LogoutPopupComponent\">\n                <div className=\"LogoutPopup\">\n                    <div className=\"YnetPlusLogo\"></div>\n                    <div className=\"text-content\">בחרת להתנתק מהמשתמש שלך.\n                        <span>האם להמשיך?</span>\n                    </div>\n                    <div className=\"ButtonsWrapper\">\n                        <button onClick={this.props.closeLogoutPopupOpen} className=\"ReturnButton\">חזור</button>\n                        <button onClick={this.props.logOutFromPopUp} className=\"LogoutButton\">כן, התנתק</button>\n                    </div>\n                </div>\n            </div>\n        )\n    }\n}","import { isQaHost } from \"../../../../widgetsUtils\"\nimport { logoutPremium, analyticsLogoutPushFunc, analyticsPremiumPushFunc } from \"../../../article/componentas/premium/utils\"\nimport { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport { LogoutPopupComponent } from './LogoutPopupComponent'\nrequire('./ynet_site_ynetPremiumLogin.less')\nconst clickOutside = require('react-click-outside');\n\n\ninterface YnetPremiumLoginState {\n    user: { props: { firstName: string } }\n    isMenuVisible: boolean\n    isOpened?: boolean\n    isLogoutPopupOpen?: boolean\n}\n\n@clickOutside\nexport class YnetPremiumLogin extends React.Component<{ isYnet1280?: boolean, promoText?: string, promoLink?: string, yplusLink?: string, layout?: string }, YnetPremiumLoginState>{\n    constructor(props) {\n        super(props)\n        this.state = {\n            user: null,\n            isMenuVisible: false,\n            isOpened: false,\n            isLogoutPopupOpen: false\n        }\n    }\n\n    private handleClickOutside = () => {\n        this.setState(pstate => {\n            return {\n                isMenuVisible: false,\n                isOpened: false\n            }\n        })\n    }\n\n    componentDidMount() {\n        if (window && window.YitPaywall && window.YitPaywall.user) {\n            this.setState({\n                user: window.YitPaywall.user\n            })\n        }\n    }\n\n    private toggleMenu = () => {\n        this.setState(pstate => {\n            return {\n                isMenuVisible: !pstate.isMenuVisible,\n                isOpened: !pstate.isOpened\n            }\n        })\n    }\n\n    private handleOnManageAccountClicked = () => {\n        this.toggleMenu()\n        analyticsPremiumPushFunc('ניהול חשבון')\n        const hostname = window.location.hostname\n        const qaLink = \"https://qa-primium.ynet.co.il/Web/Manage\"\n        const prodLink = \"https://premium.ynet.co.il/Web/Manage\"\n        const urlToOpen = isQaHost(hostname) ? qaLink : prodLink\n        window.open(urlToOpen)\n    }\n\n    private handleOnArticlesClicked = () => {\n        this.toggleMenu()\n        analyticsPremiumPushFunc('כתבות +ynet')\n        const hostname = window.location.hostname\n        const qaLink = \"https://qa-primium.ynet.co.il/Web/Manage/Main\"\n        const prodLink = \"https://premium.ynet.co.il/Web/Manage/Main\"\n        const urlToOpen = isQaHost(hostname) ? qaLink : prodLink\n        window.open(urlToOpen)\n    }\n\n    private handleOnLogoutClicked = () => {\n        this.handleClickOutside();\n        analyticsPremiumPushFunc('התנתקות')\n        logoutPremium()\n        this.setState({ user: null })\n    }\n\n    private handleOnContactUsClicked = () => {\n        this.toggleMenu()\n        analyticsPremiumPushFunc('שירות לקוחות')\n        const hostname = window.location.hostname\n        const prodLink = \"https://www.ynet.co.il/plus/contact\"\n        const urlToOpen = prodLink\n        window.open(urlToOpen)\n    }\n\n    private handleOnLogoutClickedIn1280 = () => {\n        this.toggleMenu();\n        this.setState(pstate => {\n            return {\n                ...pstate,\n                isLogoutPopupOpen: true\n            }\n        })\n    }\n\n    private closeLogoutPopup = () => {\n        this.setState(pstate => {\n            return {\n                ...pstate,\n                isLogoutPopupOpen: false\n            }\n        })\n    }\n\n    private logOutFromPopUp = () => {\n        this.closeLogoutPopup();\n        this.handleOnLogoutClicked();\n    }\n\n    render() {\n        const { user, isMenuVisible, isOpened, isLogoutPopupOpen } = this.state\n        const loginClassName = this.props.isYnet1280 ? \"YnetPremiumHeaderLogin\" : \"YnetPremiumLogin\";\n        const { layout } = this.props\n        const promoLink = layout===\"mobileWeb\" ? `javascript:YitPaywall.openLoginPopUp()` : this.props.promoLink;\n        return (\n            <div className={loginClassName}>\n                {!user && <a className=\"login_premium\"\n                    href={layout===\"mobileWeb\" ? `javascript:YitPaywall.openLoginPopUp()` : `javascript:YitPaywall.openLoginPopUp(false,{ redirect_to_plus : true })`}>\n                    <div className=\"loginBtn\">\n                        <span className=\"headerIcon loggedUser\" />\n                        {this.props.isYnet1280 ? \"התחברות\" : <img src=\"/images/ynet_user_login.png\" />}\n                    </div>\n                </a>}\n\n                {user &&\n                    <div className=\"loggedUser\" onClick={() => this.toggleMenu()}>\n                        <span className=\"headerIcon loggedUser\" />\n                        <span> שלום, <b>{user.props.firstName}</b></span>\n                        <div className=\"menuTogglerWrapper\" >\n                            <div className={isOpened ? \"menuToggler toClose\" : \"menuToggler toOpen\"} />\n                        </div>\n                    </div>\n                }\n\n                {isMenuVisible && <div className=\"menu\">\n                    <div className=\"menuTogglerUpsideDown\" />\n                    <div className=\"menuOption\" onClick={this.handleOnArticlesClicked}>כתבות +ynet</div>\n                    <div className=\"menuOption\" onClick={this.handleOnManageAccountClicked}>ניהול חשבון</div>\n                    {this.props.isYnet1280 && <div className=\"menuOption\" onClick={this.handleOnContactUsClicked}>שירות לקוחות</div>}\n                    <div className=\"menuOption\" onClick={this.props.isYnet1280 ? this.handleOnLogoutClickedIn1280 : this.handleOnLogoutClicked} id=\"logoutDesktopYnet\">התנתקות</div>\n                </div>}\n\n                {(this.props.isYnet1280 && !user) && <SimpleLinkRenderer href={promoLink} className=\"promoLabel\">{this.props.promoText}</SimpleLinkRenderer>}\n                {(this.props.isYnet1280 && user) && <SimpleLinkRenderer href={this.props.yplusLink} className=\"yPlusLabel\" ></SimpleLinkRenderer>}\n                {(isLogoutPopupOpen && user) && <LogoutPopupComponent logOutFromPopUp={this.logOutFromPopUp} closeLogoutPopupOpen={this.closeLogoutPopup} />}\n            </div>\n        )\n    }\n}","import { YnetWeather } from \"../ynetWeather/ynetWeather\";\r\nimport { YnetSearchForm } from \"../ynetSearchForm/ynetSearchForm\";\r\nimport * as classNames from \"classnames\"\r\nimport { YnetPremiumLogin } from \"../ynetPremiumLogin/ynetPremiumLogin\"\r\nimport { isWcmEditor } from \"../../../../../config/serverConfig\"\r\nrequire('./ynet_site_ynetSearch.less')\r\n\r\ninterface YnetSearchProps {\r\n    weather: WeatherObject[]\r\n    isGrid1280?: boolean\r\n    defaultCityIndex: number\r\n    weatherUrl?: string\r\n}\r\ninterface WeatherObject {\r\n    city: string\r\n    temp: number\r\n    imageName: string\r\n}\r\n\r\ninterface YnetSearchProps { }\r\n\r\nexport class YnetSearch extends React.Component<YnetSearchProps, {}> {\r\n    public static siteScriptName = \"YnetSearch\";\r\n\r\n    private openFacebookWindow = () => {\r\n        if (!isWcmEditor()) {\r\n            window.open('https://www.facebook.com/ynetnews/')\r\n        }\r\n    }\r\n\r\n    private openYoutubeWindow = () => {\r\n        if (!isWcmEditor()) {\r\n            window.open('https://www.youtube.com/channel/UCpSSzrovhI4fA2PQNItecUA')\r\n        }\r\n    }\r\n    private openYad2Window = () => {\r\n        if (!isWcmEditor()) {\r\n            window.open('https://www.yad2.co.il/?utm_source=ynet&amp;utm_medium=link_footer')\r\n        }\r\n    }\r\n    private openInstagramWindow = () => {\r\n        if (!isWcmEditor()) {\r\n            window.open('https://www.instagram.com/ynetgram/')\r\n        }\r\n    }\r\n    public render() {\r\n        const { weatherUrl, weather, isGrid1280 } = this.props\r\n        const ynetSearchClasses = classNames({\r\n            \"ynetSearch\": true,\r\n            \"disableLinks\": isWcmEditor()\r\n        })\r\n        return (\r\n            <div className={ynetSearchClasses}>\r\n                <div className=\"main_search\" data-adid=\"183500||440|||\" data-dy-content=\"183500\">\r\n                    {weather && <YnetWeather weather={weather} defaultCityIndex={this.props.defaultCityIndex} weatherUrl={weatherUrl} />}\r\n\r\n                    {isGrid1280 ? <div className=\"access\">\r\n\r\n                        <div id=\"mainAccessibilityButton\" >\r\n                            <a id=\"INDmenu-btn\" title=\"אתר נגיש\" accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" role=\"button\">\r\n                                <div className=\"rulerIcon accessIcon\" />\r\n\r\n                            </a>\r\n\r\n                        </div>\r\n                        <a className=\"socialBtn\" role=\"button\" onClick={this.openFacebookWindow} >\r\n                            <div className=\"rulerIcon fbIcon\" />\r\n                        </a>\r\n                        <a className=\"socialBtn\" role=\"button\" onClick={this.openYoutubeWindow} >\r\n                            <div className=\"rulerIcon yTubeIcon\" />\r\n                        </a>\r\n                        <a className=\"socialBtn\" role=\"button\" onClick={this.openInstagramWindow} >\r\n                            <div className=\"rulerIcon instIcon\" />\r\n                        </a>\r\n                        <a className=\"yad2\" role=\"button\" onClick={this.openYad2Window} target=\"_blank\" title=\"יד 2\">\r\n                            <img src=\"/images/yad2Newlogo.png\" width={51} height={30} />\r\n                        </a>\r\n                    </div> :\r\n                        <div className=\"access\">\r\n                            <div id=\"mainAccessibilityButton\" >\r\n                                <a id=\"INDmenu-btn\" title=\"אתר נגיש\" accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" role=\"button\">\r\n                                    <img src=\"/images/Accessibility_button.png\" aria-hidden=\"true\" width={20} height={20} />\r\n                                </a>\r\n\r\n\r\n                                <a className=\"socialBtn\" role=\"button\" onClick={this.openFacebookWindow} >\r\n                                    <img src=\"/images/new_facebook_button.png\" width={20} height={20} />\r\n                                </a>\r\n                                <a className=\"socialBtn\" role=\"button\" onClick={this.openYoutubeWindow} >\r\n                                    <img src=\"/images/new_youtube_button.png\" width={20} height={20} />\r\n                                </a>\r\n                                <a className=\"yad2\" role=\"button\" onClick={this.openYad2Window} target=\"_blank\" title=\"יד 2\">\r\n                                    <img src=\"/images/yad2Newlogo.png\" width={51} height={30} />\r\n                                </a>\r\n                            </div>\r\n                        </div>}\r\n\r\n                    <YnetSearchForm isGrid1280={isGrid1280} />\r\n                </div>\r\n                <YnetPremiumLogin />\r\n            </div>\r\n        )\r\n    }\r\n}\r\n","import { isWcmEditor } from \"../../../../../config/serverConfig\";\n\nrequire(\"./ynet_site_ynetSearchForm.less\")\n\ntype SelectedTypes = \"web\" | \"pro\" | \"ynet\" | \"ynetshops\" | \"suppliers\";\n\ninterface YnetSearchFormState {\n    selectedSearchVal: SelectedTypes\n    userInput: string\n    isInFocus: boolean\n    backgroundImg?: string\n    placeholder?: string\n}\ninterface YnetSearchFormProps {\n    isGrid1280?: boolean\n    placeholder?: string\n    ynetSearchPageLink?: string\n    closeX?:boolean\n    closeSearchInput?:()=>void\n}\n\nexport class YnetSearchForm extends React.Component<YnetSearchFormProps, YnetSearchFormState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            selectedSearchVal: \"ynet\",\n            userInput: \"\",\n            isInFocus: false,\n            placeholder: props.placeholder ? props.placeholder : \"\"\n        }\n    }\n\n    private isZoomdEnabled() {\n        return false;\n    }\n\n    private setZoomdAtrribute(ref: HTMLInputElement) {\n        if (!isWcmEditor() && this.isZoomdEnabled()) {\n            if (ref) {\n                ref.setAttribute(\"zoomdSearch\", \"{'trigger':'onClick'}\");\n                const script = document.createElement(\"script\");\n                script.src = \"//zdwidget3-bs.sphereup.com/zoomd/SearchUi/Script?clientId=93896527\";\n                script.async = true;\n\n                document.body.appendChild(script);\n            }\n        }\n    }\n\n    private proffesionsUtf8Encode = (src: string): string => {\n        let encodedString = \"\"\n        for (let i = 0; i < src.length; i++) {\n            let cha = src.charCodeAt(i)\n            if (cha >= 1488 && cha <= 1514) {\n                cha -= 1264\n                encodedString += \"%\" + cha.toString(16).toUpperCase()\n            } else {\n                encodedString += encodeURI(src.charAt(i))\n            }\n        }\n        return encodedString\n    }\n    private search = () => {\n        const { selectedSearchVal, userInput: typedUserInput } = this.state;\n        const { ynetSearchPageLink } = this.props\n        if (!typedUserInput) {\n            return\n        }\n\n        let urlHead = \"\"\n        let userInput = \"\"\n        let fullUrl = \"\"\n        let urlTail = \"\"\n\n        if (!isWcmEditor()) {\n            switch (selectedSearchVal) {\n                case \"web\":\n                    urlHead = ynetSearchPageLink && ynetSearchPageLink.length > 0 ? `${ynetSearchPageLink}?q=` : \"//www.ynet.co.il/home/0,7340,L-9600,00.html?q=\"\n                    userInput = typedUserInput\n                    urlTail = \"&cx=partner-pub-4207657971126930:3262695125&cof=GIMP:009900;T:000000;ALC:FF9900;GFNT:B0B0B0;LC:0000FF;BRC:FFFFFF;BGC:FFFFFF;VLC:666666;GALT:36A200;LBGC:FF0000;DIV:FFFFEE;FORID:9;&as_qdr=all&hq=more:recent4&ynet_search_type=web\"\n                    fullUrl = urlHead + userInput + urlTail\n\n                    location.href = fullUrl\n                    break;\n                case \"ynet\":\n                    urlHead = ynetSearchPageLink && ynetSearchPageLink.length > 0 ? `${ynetSearchPageLink}?q=` : \"//www.ynet.co.il/home/0,7340,L-9600,00.html?q=\"\n                    userInput = typedUserInput\n                    urlTail = \"&cx=partner-pub-4207657971126930:3067011121&cof=GIMP:009900;T:000000;ALC:FF9900;GFNT:B0B0B0;LC:0000FF;BRC:FFFFFF;BGC:FFFFFF;VLC:666666;GALT:36A200;LBGC:FF0000;DIV:FFFFEE;FORID:9;&as_qdr=all&hq=more:recent4&ynet_search_type=ynet\"\n                    fullUrl = urlHead + userInput + urlTail\n\n                    location.href = fullUrl\n                    break;\n                case \"pro\":\n                    urlHead = \"//www.ynet.co.il/home/0,7340,L-9919,00.html?q=\"\n                    userInput = this.proffesionsUtf8Encode(typedUserInput)\n                    fullUrl = urlHead + userInput\n\n                    window.open(fullUrl, \"ProWindow\")\n                    break;\n                case \"ynetshops\":\n                    urlHead = \"//www.ynetshops.co.il/Search.aspx?Search=\"\n                    userInput = typedUserInput\n                    urlTail = \"&utm_source=ynet&utm_medium=search.pane&utm_campaign=search.ynetshops\"\n                    fullUrl = urlHead + userInput + urlTail\n\n                    location.href = fullUrl\n                    break;\n                case \"suppliers\":\n                    urlHead = \"//hasapakim.co.il/?s=\"\n                    userInput = typedUserInput\n                    urlTail = \"&type=searchCategory\"\n                    fullUrl = urlHead + userInput + urlTail\n\n                    window.open(fullUrl, \"SuppliersWindow\")\n                    break;\n            }\n        }\n\n    }\n\n    private updateSearchSelection = (data) => {\n        this.setState({ selectedSearchVal: data.target.value });\n    }\n\n    private updateInputValue = (evt) => {\n        this.setState({ userInput: evt.target.value });\n    }\n\n    private handleInputFocus = () => {\n        this.setState({ isInFocus: true });\n    }\n\n    private handleInputBlur = () => {\n        this.setState({ isInFocus: false });\n    }\n\n    private getBackgroundImage = () => {\n        const { selectedSearchVal, userInput, isInFocus } = this.state\n        if (!userInput && !isInFocus && selectedSearchVal == \"web\") {\n            return \"/images/google_56X20.png\";\n        }\n        return \"\";\n    }\n\n    private getPlaceHolderText = () => {\n        const { selectedSearchVal, userInput, isInFocus, placeholder } = this.state\n        if (!userInput && !isInFocus) {\n            switch (selectedSearchVal) {\n                case \"pro\":\n                    return \"הקלידו תחום - לדוגמה: אינסטלטור\";\n                case \"suppliers\":\n                    return \"לדוגמה: בתי דפוס\";\n            }\n        }\n        return placeholder;\n    }\n\n    private handleInputKeyPress = (evt: React.KeyboardEvent) => {\n        if (evt.key === \"Enter\") {\n            this.search();\n        }\n\n    }\n\n    public render() {\n        const { selectedSearchVal, userInput } = this.state;\n        const backgroundImg = this.getBackgroundImage();\n        const placeholder = this.getPlaceHolderText();\n        const showZoomd = this.state.selectedSearchVal === \"ynet\" && this.isZoomdEnabled()\n        const searchBoxStyles = backgroundImg ? { background: `url(${backgroundImg}) center right no-repeat #fff` } : null\n\n        return (\n            <div className=\"main_search_elements\" id=\"mainSrchElements\">\n                <div id=\"main_search_bg\">\n\n                    <div id=\"mainSrchBoxInput\">\n                        {!showZoomd && <input\n                            alt=\"חיפוש\"\n                            className=\"mainSrchclass\"\n                            id=\"mainSrchBox\"\n                            aria-label=\"חיפוש\"\n                            type=\"text\"\n                            value={userInput}\n                            onFocus={this.handleInputFocus}\n                            onBlur={this.handleInputBlur}\n                            onChange={this.updateInputValue}\n                            onKeyPress={this.handleInputKeyPress}\n                            placeholder={placeholder}\n                            style={searchBoxStyles}\n                            ref={input => input && !this.props.isGrid1280 && !isWcmEditor() && input.focus()}\n\n                        />}\n                        {showZoomd && <input\n                            ref={ref => this.setZoomdAtrribute(ref)}\n                            alt=\"חיפוש\"\n                            className=\"mainSrchclassynet\"\n                            id=\"mainSrchBox2\"\n                            aria-label=\"חיפוש\"\n                            type=\"text\"\n                            value=\"\"\n                        />}\n                    </div>\n                    <div id=\"mainSearchSelect\">\n                        <select id=\"mainSearchSelectType\" aria-label=\"בחרו סוג חיפוש\" onChange={(data) => this.updateSearchSelection(data)} value={selectedSearchVal}>\n                            <option value=\"ynet\">\n                                ynet\n                            </option>\n                            <option value=\"web\">\n                                אינטרנט\n                            </option>\n                            <option value=\"pro\">\n                                בעלי מקצוע\n                            </option>\n                            {!this.props.isGrid1280 && <option value=\"ynetshops\">\n                                קניות\n                            </option>}\n                            {!this.props.isGrid1280 && <option value=\"suppliers\">\n                                ספקים למשרד\n                            </option>}\n                        </select>\n                    </div>\n                </div>\n                <a className=\"dyother dyMonitor\" data-adid=\"172594||445|||\" data-dy-article=\"1\" href=\"javascript:void(0);\" id=\"MsBtn\" tabIndex={102} role=\"button\" onClick={this.search}></a>\n           {this.props.closeX &&<button className=\"closeBtn\" onClick={this.props.closeSearchInput}></button>}\n            </div>\n        )\n    }\n}\n","import * as filter from \"lodash/filter\"\n\ninterface translationSettings {\n    [lang: string]: any\n}\n\n\nexport const cityNames =\n{\n    \"he\": {\n        \"תחזית:\": \"תחזית:\",\n        \"תל אביב\": \"תל אביב\",\n        \"תל אביב - יפו\": \"תל אביב\",\n        \"עפולה\": \"עפולה\",\n        \"אשדוד\": \"אשדוד\",\n        \"באר שבע\": \"באר שבע\",\n        \"בית שאן\": \"בית שאן\",\n        \"ירושלים\": \"ירושלים\",\n        \"קצרין\": \"קצרין\",\n        \"לוד\": \"לוד\",\n        \"מצפה רמון\": \"מצפה רמון\",\n        \"נצרת\": \"נצרת\",\n        \"טבריה\": \"טבריה\",\n        \"חיפה\": \"חיפה\",\n        \"צפת\": \"צפת\",\n        \"אילת\": \"אילת\",\n        \"עין גדי\": \"עין גדי\",\n\n    },\n    \"en\": {\n        \"תחזית:\": \"Weather:\",\n        \"תל אביב\": \"Tel Aviv-Jaffa\",\n        \"תל אביב - יפו\": \"Tel Aviv-Jaffa\",\n        \"עפולה\": \"Afula\",\n        \"אשדוד\": \"Ashdod\",\n        \"באר שבע\": \"Beer Sheva\",\n        \"בית שאן\": \"Bet Shean\",\n        \"ירושלים\": \"Jerusalem\",\n        \"קצרין\": \"Qazrin\",\n        \"לוד\": \"Lod\",\n        \"מצפה רמון\": \"Mizpe Ramon\",\n        \"נצרת\": \"Nazareth\",\n        \"טבריה\": \"Tiberias\",\n        \"חיפה\": \"Haifa\",\n        \"צפת\": \"Zefat\",\n        \"אילת\": \"Eilat\",\n        \"עין גדי\": \"En Gedi\",\n    },\n    \"ru\": {\n        \"תחזית:\": \"Погода:\",\n        \"תל אביב\": \"Тель-Авив\",\n        \"תל אביב - יפו\": \"Тель-Авив\",\n        \"עפולה\": \"Афула\",\n        \"אשדוד\": \"Ашдод\",\n        \"באר שבע\": \"Беэр-Шева\",\n        \"בית שאן\": \"Бейт-Шеан\",\n        \"ירושלים\": \"Иерусалим\",\n        \"קצרין\": \"Кацрин\",\n        \"לוד\": \"Лод\",\n        \"מצפה רמון\": \"Мицпе-Рамон\",\n        \"נצרת\": \"Назарет\",\n        \"טבריה\": \"Тверия\",\n        \"חיפה\": \"Хайфа\",\n        \"צפת\": \"Цфат\",\n        \"אילת\": \"Эйлат\",\n        \"עין גדי\": \"Эйн-Геди\",\n    },\n    \"link\": {\n        \"תל אביב\": \"tel-aviv-yafo\",\n        \"תל אביב - יפו\": \"tel-aviv-yafo\",\n        \"עפולה\": \"afula\",\n        \"אשדוד\": \"ashdod\",\n        \"באר שבע\": \"Beer Sheva\",\n        \"בית שאן\": \"bet-shean\",\n        \"ירושלים\": \"jerusalem\",\n        \"קצרין\": \"qazrin\",\n        \"לוד\": \"lod\",\n        \"מצפה רמון\": \"mizpe-ramon\",\n        \"נצרת\": \"nazareth\",\n        \"טבריה\": \"tiberias\",\n        \"חיפה\": \"haifa\",\n        \"צפת\": \"Zefat\",\n        \"אילת\": \"elat\",\n        \"עין גדי\": \"en-gedi\",\n    }\n}\n\n\nexport const getCityNameTranslation = (lang, text: string) => {\n    var obj = filter(cityNames, function (v, k) {\n        return k === lang;\n    });\n    var content = filter(obj[0], function (v, k) {\n        return k === text;\n    })\n    return content[0]\n\n}\n\n","require('./ynet_site_ynetWeather.less')\r\nvar Cookies = require('js-cookie');\r\n\r\ninterface YnetWeatherState {\r\n    selectedCity: string\r\n}\r\n\r\ninterface YnetWeatherProps {\r\n    weather: any\r\n    defaultCityIndex: number\r\n    weatherUrl?: string\r\n}\r\n\r\nexport class YnetWeather extends React.Component<YnetWeatherProps, YnetWeatherState> {\r\n    constructor(props) {\r\n        super(props)\r\n        let city = Cookies.get('weatherCity');\r\n\r\n        this.state = {\r\n            selectedCity: city || props.defaultCityIndex\r\n        }\r\n\r\n    }\r\n    private updateTemperature = (data) => {\r\n        const value = data.target.value\r\n        this.setState({ selectedCity: value }, () => {\r\n            Cookies.set('weatherCity', value, { expires: 365 });\r\n        })\r\n    }\r\n\r\n    public render() {\r\n        const { weather, weatherUrl } = this.props\r\n        const { selectedCity } = this.state\r\n        const selectedWeather = weather[selectedCity];\r\n        return (\r\n            <div className=\"main_search_elements\" id=\"main_search_weather\">\r\n                <div id=\"cdanwmansrch_weather\">\r\n                    <div className=\"weathertempsdiv\">\r\n                        {selectedWeather &&\r\n                            <a className=\"main_search_nounderlined_link\" href={weatherUrl ? weatherUrl : \"//www.ynet.co.il/home/0,7340,L-201,00.html\"}>\r\n                                <span className=\"weathertemps\">{selectedWeather.temp}&deg;</span>\r\n                            </a>}\r\n                    </div>\r\n\r\n                    <div className=\"weatherimage\">\r\n                        {selectedWeather &&\r\n                            <a href={weatherUrl ? weatherUrl : \"//www.ynet.co.il/home/0,7340,L-201,00.html\"} aria-label=\"מזג האוויר\">\r\n                                <img height=\"20\" src={\"/Cnt/Images/Weather/\" + selectedWeather.imageName} aria-hidden=\"true\" width=\"20\" />\r\n                            </a>}\r\n                    </div>\r\n\r\n                    <div id=\"mainWeatherSelect\">\r\n                        <select id='weathercityselect' aria-label=\"בחרו עיר\" className=\"weathercitieselect\"\r\n                            onChange={this.updateTemperature}\r\n                            value={this.state.selectedCity}>\r\n                            {weather.map((city, i) => <option key={city.city} value={i.toString()}>{city.city}</option>)}\r\n                        </select>\r\n                    </div>\r\n\r\n                </div>\r\n            </div>\r\n        )\r\n    }\r\n}","import { convertHtmlToString } from \"../../../../../config/utils\";\nimport { DateDisplay } from \"../../../../commonComponents/inline/dateDisplay/dateDisplay\";\nimport {getTranslation} from \"../../../ynet1280/autoTickerRowWidget/autoTickerRowTranslations\"\n\nexport interface LinkedFlashItem {\n    date: Date\n    text: string\n    title: string\n    articleId: string\n    shareUrl: string\n    author?:string\n}\n\nexport interface ArticleItem {\n    publishedLink?: string\n}\n\ninterface LinkedFlashItemProps {\n    item: LinkedFlashItem\n    languageCode: string\n}\n\nexport class LinkedFlashItem extends React.Component<LinkedFlashItemProps, {}> {\n\n    private lastPublished = () => {\n        const { item } = this.props\n        let secDiff = Math.floor((Date.now() - new Date(item.date).getTime()) / 1000);\n        let minutesDiff = Math.floor(secDiff / 60);\n        return minutesDiff;\n    }\n\n    render() {\n        const { item, languageCode } = this.props;\n        const { date, shareUrl, title, author } = item;\n        const newItem = this.lastPublished() < 1\n        const newFlash = newItem ? \"new\" : \"\";\n        const lang = languageCode ? languageCode.slice(0, 2) : 'en';\n        const dateDisplay = newItem ? getTranslation(lang, \"Now\") : <DateDisplay date={date} />;\n        const isAuthor = author && author.length > 0;\n        return (\n            <div className=\"AccordionSection\">\n                <div className={`titleRow ${newFlash}`}>\n                    <div className=\"date\">{dateDisplay}\n                        <div className=\"itemSeparator\" />\n                    </div>\n                    <a href={shareUrl} className=\"title link\"> {convertHtmlToString(title)}\n                    {isAuthor && <br/>}\n                        {isAuthor && `(${author})`}\n                    </a>\n                </div>\n                <div className='arrowIcon'/>\n            </div>\n        )\n    }\n}\n","import {getTranslation} from \"../../redMailTranslations\";\n\ninterface ExtraDetailsYnetnewsProps {\n    photographer: string\n    sender: string\n    mail: string\n    phoneNumber: string\n    validation: { mail: boolean, phoneNumber: boolean }\n    onChange: (e: any) => void\n    extraDetailsData: any\n    lang: string\n}\n\nexport class ExtraDetails extends React.Component<ExtraDetailsYnetnewsProps, State> {\n\n    render() {\n        const { photographer, sender, mail, phoneNumber, onChange, validation, extraDetailsData: { title, subTitle, mailPattern }, lang } = this.props\n\n        return (\n            <div className=\"RedMailExtraDetails\">\n                {title && <div className=\"ExtraDetailsTitle\">{title}</div>}\n                {subTitle && <div className=\"ExtraDetailsSubTitle\">{subTitle}</div>}\n\n                <div className=\"inputFieldWrapper\">\n                    <div className=\"inputField\">\n                        <input name=\"photographer\" dir=\"ltr\" value={photographer} onChange={(e) => onChange(e)} type=\"text\" id=\"photographer\" placeholder={getTranslation(lang, \"add credit\")} ></input>\n                        <p className=\"title\">{getTranslation(lang, \"photo credit\")}</p>\n                    </div>\n\n                    <div className=\"inputField\">\n                        <input name=\"sender\" dir=\"ltr\" value={sender} onChange={(e) => onChange(e)} type=\"text\" id=\"sender\" placeholder={getTranslation(lang, \"type in your name\")} ></input>\n                        <p className=\"title\">{getTranslation(lang, \"sender name\")}</p>\n                    </div>\n\n\n                    <div className=\"inputField\">\n                        <input name=\"mail\" dir=\"ltr\" value={mail} onChange={(e) => onChange(e)} type=\"email\" id=\"mail\" placeholder={getTranslation(lang, \"type in your e-mail\")} ></input>\n                        <p className=\"title\">{getTranslation(lang, \"e-mail\")}</p>\n                        {(mail && !validation.mail) && <p className=\"redMail-error-validation\">{mailPattern}</p>}\n                    </div>\n\n                    <div className=\"inputField\">\n                        <input name=\"phoneNumber\" dir=\"ltr\" value={phoneNumber} onChange={(e) => onChange(e)} type=\"text\" id=\"phoneNumber\" placeholder={getTranslation(lang, \"type in your number\")} ></input>\n                        <p className=\"title\">{getTranslation(lang, \"phone number\")}</p>\n                        {(phoneNumber && !validation.phoneNumber) && <p className=\"redMail-error-validation\">{getTranslation(lang, \"phone validation text\")}</p>}\n                    </div>\n\n                </div>\n            </div>\n        )\n    }\n}","import {getTranslation} from \"../../redMailTranslations\";\n\ninterface RedMailFileUploadYnetnewsProps {\n    handleSelectedFile: (e: any) => void\n    selectedFiles: any\n    hashes: string[]\n    invalidFilesName: string[]\n    showFileStatusProgress: (fileKey: any) => string\n    lang: string\n}\n\nexport class RedMailFileUploadYnetnews extends React.Component<RedMailFileUploadYnetnewsProps, {}> {\n\n    render() {\n        const { handleSelectedFile, selectedFiles, invalidFilesName, lang } = this.props;\n        return (\n            <div className=\"RedMailFilesUpload\">\n                <div style={{ display: Object.keys(selectedFiles).length > 0 && \"none\" }} className=\"FilesUploadButtonWrapper\">\n\n                    <input type=\"file\" id=\"inputFile\"\n                        onChange={handleSelectedFile}\n                        multiple\n                    />\n                    <button className=\"FilesUploadButton\">\n                        {getTranslation(lang, \"add a file\")}\n                        <div className=\"uploadIcon\"></div>\n                    </button>\n                </div>\n                <div className=\"addFileWrapper\">\n                    <div className=\"addFileInputWrapper\">\n                        {Object.keys(selectedFiles).length > 0 && <div className=\"fileWrapper\" style={{ width: '100%' }}>\n                            {Object.keys(selectedFiles).map(fileKey =>\n                                <div className=\"fileName\" key={fileKey}>\n                                    <div className=\"fileNameIcon\"></div>\n                                    <input type=\"text\" dir=\"ltr\" value={selectedFiles[fileKey].fileName} />\n                                </div>)}\n                        </div>}\n                        {Object.keys(selectedFiles).length > 0 && Object.keys(selectedFiles).length < 5 &&\n                            <div className=\"addFile\" onClick={() => document.getElementById(\"inputFile\").click()}> <span>{`mov,png,jpeg,jpg,mp4 ${getTranslation(lang, \"up to\")} 200 MB`}</span> &nbsp;{getTranslation(lang, \"add additional file\")}<div className=\"addFilePlusIcon\"></div> </div>}\n                        {!!invalidFilesName.length && <div className=\"files-names-error-row\">\n                            {invalidFilesName.map(file => <span key={file}> {getTranslation(lang, \"the file\")} {`${file}`}  {getTranslation(lang, \"too heavy\")} </span>)}\n                        </div>}\n                    </div>\n                    <div className=\"addFileText\" style={{ display: Object.keys(selectedFiles).length === 0 && \"none\" }}>{getTranslation(lang, \"add a file\")}</div>\n                </div>\n            </div>\n        )\n    }\n}\n","import {getTranslation} from \"../../redMailTranslations\";\n\ninterface PopUpYnetnewsProps {\n    onClose: () => void\n    loading: boolean\n    lang: string\n}\nexport class PopUpYnetnews extends React.Component<PopUpYnetnewsProps, {}> {\n    public render() {\n        const { loading, lang } = this.props;\n        if (loading) {\n            return (\n                <div className=\"redMailPopUp\">\n                    <div className=\"loading\"></div>\n                    <p className=\"title\">{getTranslation(lang, \"just a moment\")}</p>\n                </div>\n            )\n        } else {\n            return (\n                <div className=\"redMailPopUp\">\n                    <div className=\"finish\"></div>\n                    <p className=\"title\">{getTranslation(lang, \"the information was received\")}</p>\n                    <p className=\"subTitle\">{getTranslation(lang, \"thank you for sharing\")}</p>\n                    <button className=\"popUpButton\"><a href=\"/\">{getTranslation(lang, \"homepage\")}</a></button>\n                </div>\n            )\n        }\n    }\n\n}\n\n\n\n","require(\"./ynetnews_vesty_site_redMailComponenta.less\")\nimport { ExtraDetails } from \"./extraDetails/extraDetailsYnetnews\";\nimport { TextAreaYnetnews } from \"./textArea/textAreaYnetnews\";\nimport { PopUpYnetnews } from \"./popUp/popUpYnetnews\";\nimport { RedMailFileUploadYnetnews } from \"./filesUpload/filesUploadYnetnews\";\nimport { RedMailComponentaProps } from \"../../../redMail/interfaces/redMailInterfaces\";\nimport {getTranslation} from \"../redMailTranslations\";\n\n\n\nexport class RedMailComponentaYnetnews extends React.Component<RedMailComponentaProps & {isChecked: boolean}, {}>{\n\n    public render() {\n        const { handleChangeText, isTextAreaBlank, countSubmitAttempts, textArea,\n                handleSelectedFile, selectedFiles, hashes, invalidFilesName, showFileStatusProgress,\n                photographer, sender, mail, phoneNumber, validation, handleChangeExtraData, isAgreementApproved,\n                IsPopUp, submitForm, loading, onClose, submitButtonDisabled, isChecked, lang } = this.props;\n\n        const ynetnewsTermsHref = \"https://www.ynetnews.com/articles/0,7340,L-3048342,00.html\";\n        const ynetnewsPolicyHref = \"https://www.ynetnews.com/articles/0,7340,L-3048313,00.html\";\n        const vestyTermsHref = \"https://www.vesty.co.il/articles/0,7340,L-4867560,00.html\";\n        const vestyPolicyHref = \"https://www.vesty.co.il/articles/0,7340,L-4867557,00.html\";\n        const TermsLink = <a href={lang === \"en-GB\" ? ynetnewsTermsHref : vestyTermsHref} className=\"termsClick\">{getTranslation(lang, \"terms of use\")}</a>\n        const PolicyLink = <a href={lang === \"en-GB\" ? ynetnewsPolicyHref : vestyPolicyHref} className=\"termsClick\">{getTranslation(lang, \"privacy policy\")}</a>\n\n        const textData = {\n            headlineText: <>{getTranslation(lang, \"red\")}<span>{getTranslation(lang, \"mail\")}</span></>,\n            textArea: {\n                textAreaHeadline: <>{getTranslation(lang, \"headlineTitleRow1\")}<br/>{getTranslation(lang, \"headlineTitleRow2\")}</>,\n                placeholder: getTranslation(lang, \"the information\"),\n            },\n            extraDetailsData: {\n                title: getTranslation(lang, \"more details\"),\n                subTitle: \"\",\n                mailPattern: getTranslation(lang, \"mail pattern\")\n            },\n            terms: <span>{getTranslation(lang, \"terms1\")} {TermsLink} {getTranslation(lang, \"terms2\")} {PolicyLink}{getTranslation(lang, \"terms3\")}</span>\n        }\n        const redMailClassName = `RedMailComponentaYnetnews ${lang === \"ru-RU\" ? \"vesty\" : \"\"}`\n        \n        return (\n            <div>\n                <div className={redMailClassName}>\n                    <div className=\"redMailLeftSide\">\n                        <div className=\"redMailHeadline\">\n                            <p className=\"headlineText\">{textData.headlineText}</p>\n                            <div className=\"headlineImage\" />\n                        </div>\n                        \n                        <TextAreaYnetnews\n                         textAreaData={textData.textArea} \n                         value={textArea} \n                         isChecked={isChecked} \n                         onChange={handleChangeText} \n                         isTextAreaBlank={isTextAreaBlank && countSubmitAttempts > 0} \n                         lang={lang}/>\n                        {(isTextAreaBlank && countSubmitAttempts > 0) && <div className=\"contentErrorMessage\">{getTranslation(lang, \"required\")}</div>}\n                        <RedMailFileUploadYnetnews\n                            handleSelectedFile={handleSelectedFile}\n                            selectedFiles={selectedFiles}\n                            hashes={hashes}\n                            invalidFilesName={invalidFilesName}\n                            showFileStatusProgress={showFileStatusProgress}\n                            lang={lang}\n                        />\n\n                        <ExtraDetails\n                            photographer={photographer}\n                            sender={sender}\n                            mail={mail}\n                            phoneNumber={phoneNumber}\n                            onChange={handleChangeExtraData}\n                            validation={validation}\n                            extraDetailsData={textData.extraDetailsData}\n                            lang={lang}\n                        />\n\n                        <p className=\"terms\">\n                            {textData.terms}\n                            <input className=\"checkBox\" id=\"agreementApproved\" type=\"checkbox\" checked={isAgreementApproved} onChange={(e) => handleChangeExtraData(e)} />\n                        </p>\n\n                        {(!isAgreementApproved && countSubmitAttempts > 0) && <div className=\"contentErrorMessage terms-error\">{getTranslation(lang, \"terms of use must be approved\")}</div>}\n                        <button\n                            disabled={submitButtonDisabled}\n                            className=\"submitButton\"\n                            type=\"submit\"\n                            onClick={submitForm}>\n                           {getTranslation(lang, \"send\")}\n                        </button>\n                        {IsPopUp && <PopUpYnetnews onClose={onClose} loading={loading} lang={lang} />}\n                    </div>\n                </div>\n            </div>\n        )\n\n    }\n}\n\n\n\n","import * as classNames from \"classnames\"\nimport {getTranslation} from \"../../redMailTranslations\";\n\n\ninterface TextAreaYnetnewsProps {\n    value: string\n    onChange: (value: any) => void\n    isTextAreaBlank: boolean\n    textAreaData: any\n    isChecked: boolean\n    lang: string\n}\nexport class TextAreaYnetnews extends React.Component<TextAreaYnetnewsProps, State> {\n\n    render() {\n        const { value, onChange, isTextAreaBlank, textAreaData, isChecked, lang } = this.props\n        return (\n            <div id=\"RedMailTextAreaElement\" className=\"RedMailTextArea\">\n                <div className=\"redMailTextAreaTop\">\n                    <p className=\"TextAreaHeadline\">{textAreaData.textAreaHeadline}</p>\n                    {isChecked && \n                        <div className=\"shareButtonsWrapper\">\n                            <a href=\"https://wa.me/972548243550\" className=\"whatsappButton\">\n                                <img/>\n                                Whatsapp\n                            </a>\n                            <a href=\"https://t.me/ynetTbot\" className=\"telegramButton\">\n                                <img/>\n                                Telegram\n                            </a>\n                        </div>\n                    }\n                </div>\n                <div className=\"textAreaWrapper\">\n                    <textarea dir=\"ltr\" placeholder={textAreaData.placeholder} value={value} onChange={(e) => onChange(e)} required className={classNames(\"textAre\", { \"placeholderErrorStyle\": isTextAreaBlank })}></textarea>\n                    <div>{getTranslation(lang, \"share your info here\")}</div>\n                </div>\n            </div>\n        )\n    }\n}","import * as filter from \"lodash/filter\"\n\nexport const remMailTranslations =\n{\n    \"en-GB\": {\n        \"red\": \"Red\",\n        \"mail\": \"Mail\",\n        \"headlineTitleRow1\": \"Have exclusive info, photos or videos?\",\n        \"headlineTitleRow2\": \"We'd love to hear from you\",\n        \"share your info here\": \"Share your info here\",\n        \"the information\": \"The information\",\n        \"add a file\": \"Add a file\",\n        \"more details\": \"More details (not required)\",\n        \"mail pattern\": \"An email address is required to be in this format: ynet@ynet.com \",\n        \"terms1\": \"I confirm my content is: original, not fraudulent or staged, not funded, not copied, and does not involve illegal act such as trespassing or invasion of privacy. The content will not be sent to any other party at the same time and is transferred to your sole ownership, at no cost and without limits on its use. Personal details are required for the purpose of crediting the owner of the content, should you choose to publish elsewhere or be required to provide them to an official body. I have read, understood, and agreed to the\",\n        \"terms2\": \"and\",\n        \"terms3\": \". I agree to be added to Ynet's mailing list\",\n        \"terms of use\": \"terms of use\",\n        \"privacy policy\": \"privacy policy\",\n        \"send\": \"Send\",\n        \"terms of use must be approved\": \"Terms of use must be approved\",\n        \"required\": \"Required\",\n        \"add additional file\": \"Add additional file\",\n        \"up to\": \"up to\",\n        \"the file\": \"The file\",\n        \"too heavy\": \"is too heavy- Upload file up to 200 MB only\",\n        \"photo credit\": \"Photo credit\",\n        \"sender name\": \"Sender name\",\n        \"e-mail\": \"E-mail\",\n        \"phone number\": \"Phone number\",\n        \"phone validation text\": \"The number should consist of 10 digits without a hyphen\",\n        \"add credit\": \"Add credit\",\n        \"type in your name\": \"Type in your name\",\n        \"type in your e-mail\": \"Type in your e-mail\",\n        \"type in your number\": \"Type in your number\",\n        \"the information was received\": \"The information was received and sent for review\",\n        \"thank you for sharing\": \"Thank you for sharing\",\n        \"homepage\": \"Homepage\",\n        \"just a moment\": \"Just a moment...\",\n    },\n    \"ru-RU\": {\n        \"red\": \"Красная \",\n        \"mail\": \"почта\",\n        \"headlineTitleRow1\": \"Располагаете эксклюзивной информацией, фото, видео?\",\n        \"headlineTitleRow2\": \"Заинтересованы в публикации? Поделитесь с нами\",\n        \"share your info here\": \"Разместите здесь\",\n        \"the information\": \"Информация\",\n        \"add a file\": \"Прикрепите файл\",\n        \"more details\": \"Дополнительная информация (заполнение необязательно)\",\n        \"mail pattern\": \"Адрес электронной почты должен быть в следующем формате: ynet@ynet.com\",\n        \"terms1\": \"Подтверждаю, что предоставленные материалы носят оригинальный характер, не являются продуктом мошенничества или инсценировки, не скопированы из постороннего источника и не связаны с незаконной деятельностью - проникновением на частную территорию, вторжением в частную жизнь и нарушением конфиденциальности. Данный материал или материалы не будут одновременно переданы третьей стороне и поступают в вашу исключительную собственность, безвозмездно и без каких-либо ограничений. Личные данные необходимы для указания авторства - в случае, если вы будете публиковать материалы на другом ресурсе или получите требование представить их официальным инстанциям. Я ознакомился/ознакомилась с\",\n        \"terms2\": \"и\",\n        \"terms3\": \", и согласен/согласна их выполнять.\",\n        \"terms of use\": \"правилами пользования Красной почтой\",\n        \"privacy policy\": \"требованиями конфиденциальности\",\n        \"send\": \"Отправить\",\n        \"terms of use must be approved\": \"Условия пользования должны быть одобрены\",\n        \"required\": \"Обязательное поле\",\n        \"add additional file\": \"добавить файл\",\n        \"up to\": \" до\",\n        \"the file\": \"Файл\",\n        \"too heavy\": \"слишком тяжелый - загрузите файл размером не более 200 МБ.\",\n        \"photo credit\": \"Авторские данные фото/видео\",\n        \"sender name\": \"Имя и фамилия отправителя\",\n        \"e-mail\": \"Ваш E-mail\",\n        \"phone number\": \"Ваш номер телефона\",\n        \"phone validation text\": \"Номер должен состоять из 10 цифр без дефиса\",\n        \"add credit\": \"Ввести авторские данные\",\n        \"type in your name\": \"Ввести имя\",\n        \"type in your e-mail\": \"Ввести адрес\",\n        \"type in your number\": \"Ввести номер\",\n        \"the information was received\": \"Информация получена и отправлена на проверку\",\n        \"thank you for sharing\": \"Благодарим за сообщение\",\n        \"homepage\": \"Главная страница\",\n        \"just a moment\": \"Момент...\",\n    }\n}\n\n\nexport const getTranslation = (lang, text: string) => {\n    var obj = filter(remMailTranslations, function (v, k) {\n        return k === lang;\n    });\n    var content = filter(obj[0], function (v, k) {\n        return k === text;\n    })\n    return content[0]\n\n}\n\n","import { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { Logo } from \"./siteYnetHeaderComponenta\";\n\ninterface MainNavProps {\n    mainNavItems: HamburgerMenuItems[]\n    onToggleMenu: () => void\n    isOpened: boolean\n    tabBgColor: string\n    isSticky: boolean\n    logoData: Logo\n    onToggleSearch: () => void\n    more:string \n    search:string\n    displayType: string\n}\n\nexport class MainNavHeaderComponenta extends React.Component<MainNavProps, {}> {\n    private getSelectedClassName = (isSelected: boolean) => {\n        if (isSelected) {\n            return \"selected\"\n        }\n    }\n    render() {\n        const { mainNavItems, isOpened, onToggleMenu, tabBgColor, isSticky, logoData, onToggleSearch, more, search, displayType } = this.props\n        let defaultColors = { tabBgColor: \"#de1a1a\" }\n        const tabBackgruondStyle = tabBgColor ? tabBgColor : defaultColors.tabBgColor;\n        const isLightMode = displayType && displayType === \"light\";\n        const navStyle = isLightMode ? { borderBottom: `1px solid ${tabBackgruondStyle}` } : { backgroundColor: tabBackgruondStyle }\n        return (\n            <div className=\"mainNav\" role=\"navigation\" aria-label=\"Main Menu\"  style={navStyle}>\n                {isSticky && <HyperLinkBuilder href={logoData.link} linkTarget={logoData.linkTarget} ariaLabel={logoData.mediaTitle} className=\"ynetLogoInSticky\" />}\n                <div className=\"navList\">\n                {_.map((mainNavItems), (item: HamburgerMenuItems, index: number) => <div key={index} >\n                    <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} className={this.getSelectedClassName(item.isSelected)} style={{ color: isLightMode ? \"#000000\" : item.color, \"--menuItemColor\": isLightMode ? \"#000000\" : item.color, }}>\n                        <span dangerouslySetInnerHTML={{ __html: item.title }} />\n                    </HyperLinkBuilder>\n                </div>)}</div>\n                <div onClick={onToggleMenu} id=\"wcm_MenuDisplay\"><span className=\"moreBtn\" id=\"wcm_MenuDisplay_moreBtn\">{more}<span className={isOpened ? \"moreIcon toClose\" : \"moreIcon toOpen\"} /></span></div>\n                {!isLightMode &&  <div onClick={onToggleSearch} id=\"wcm_SearchDisplay\"><span className=\"searchIcon\" id=\"wcm_MenuDisplay_searchIcon\">{search}</span ></div>}\n\n            </div>\n        )\n    }\n}","import { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { Group } from \"./siteYnetHeaderComponenta\";\n\nimport * as classNames from \"classnames\"\nimport { YnetSearchForm } from \"../../../ynetNewsSearch/components/ynetSearchForm/ynetSearchForm\";\nconst clickOutside = require('react-click-outside');\n\ninterface MenuPopUpProps {\n    groupsWithItems: Group[]\n    isVisibleMenu: boolean\n    isVisibleSearch: boolean\n    onCloseMenu: () => void\n    onCloseSearch: () => void\n    followUsText: string\n    linkToInst: string\n    linkToFb: string\n    linkToTw: string\n    linkToYtube: string\n    searchPageLink: string\n    lang:string\n    displayType: string\n}\n\n@clickOutside\nexport class MenuPopupComponenta extends React.Component<MenuPopUpProps, {}> {\n\n    private handleClickOutside = (e) => {\n        const isVisible = this.props.isVisibleMenu || this.props.isVisibleSearch;\n        if (isVisible && e.target && e.target.id !== \"wcm_MenuDisplay\" && e.target.id !== \"wcm_MenuDisplay_moreBtn\" && e.target.id !== \"wcm_MenuDisplay_searchIcon\" && e.target.id !== \"wcm_SearchDisplay\") {\n            this.props.onCloseMenu();\n            this.props.onCloseSearch();\n        }\n\n    }\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n    render() {\n        const { groupsWithItems, searchPageLink, isVisibleSearch, lang, displayType } = this.props;\n        const isVisible = this.props.isVisibleMenu || this.props.isVisibleSearch;\n        const placeholderText = lang && lang === \"ru\" ? \"Поиск\" : \"Search\";\n        const isLightMode = displayType && displayType === \"light\";\n        return (\n            <div className={classNames(\"popUpmenu\", { \"opened\": isVisible, \"closed\": !isVisible, \"searchPopUp\": this.props.isVisibleSearch })} role=\"sub-navigation\" aria-label=\"Sub Menu\">\n                 {!isLightMode && <YnetSearchForm placeholder={placeholderText} searchPageLink={searchPageLink} lang={lang} isGrid1280={true}/>}\n                {!isVisibleSearch && <>\n                  {isLightMode &&   <div id=\"mainAccessibilityButton\" >\n                    <a id=\"INDmenu-btn\" onClick={this.clickAcessibilityBtn} title=\"אתר נגיש\" accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" role=\"button\">\n                        <span className=\"icon\" ></span>\n                    </a></div>}\n                    <div className=\"linksGroups\">\n                        {_.map((groupsWithItems), (item: Group, index: number) =>\n                            <div className=\"group\" key={index}>\n                                <div className=\"groupTitle\" dangerouslySetInnerHTML={{ __html: item.groupName }} />\n\n                                <ul className=\"groupList\">\n                                    {_.map((item.items), (subItem: HamburgerMenuItems, index: number) =>\n                                        <li key={index}><HyperLinkBuilder href={subItem.link} linkTarget={subItem.linkTarget} style={{ color: subItem.color }}>\n                                            <span dangerouslySetInnerHTML={{ __html: subItem.title }} />\n                                        </HyperLinkBuilder></li>\n                                    )}\n                                </ul>\n                            </div>\n                        )}</div>\n                </>}\n            </div>)\n    }\n}","\nimport { HyperLinkBuilder, SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport { Group } from \"../siteYnetHeaderComponenta\";\nimport { HamburgerMenuItems } from \"../../../../ctechWidgets/ctechHeader/components/ctechMenuList\";\n\n\n\ninterface MenuPopUpProps {\n    groupsWithItems: Group[]\n    isVisible: boolean\n    onClose: () => void\n    ynetSearchPageLink: string\n    linkToTw: string\n    linkToFb: string\n    linkToYtube: string\n    linkToInst:string\n    linkToTelegram:string\n}\ninterface menuPopUpState {\n    isSearchInputVisible: boolean\n    userInput: string\n}\n\ndeclare let window: Window & {\n    languageCode: string\n}\n\nexport class HeaderScrolledMenu extends React.Component<MenuPopUpProps, menuPopUpState> {\n    constructor(props) {\n        super(props)\n\n        this.state = {\n            isSearchInputVisible: false,\n            userInput: \"\",\n        }\n\n    }\n    private toggleSearch = () => {\n        this.setState({ isSearchInputVisible: !this.state.isSearchInputVisible })\n    }\n    private updateInputValue = (evt) => {\n        this.setState({ userInput: evt.target.value });\n    }\n    private search = () => {\n        const { userInput: typedUserInput } = this.state;\nconst {ynetSearchPageLink} = this.props\nconst language = (typeof window !== \"undefined\" &&  window.languageCode)  || \"\";\nconst siteUrl = language.includes(\"ru\") ? \"www.vesty.co.il\" : \"www.ynetnews.com\"; \nconst siteQ = language.includes(\"ru\") ? \"vesty_q\" : \"ynetnews_q\"; \n        if (!typedUserInput) {\n            return\n        }\n\n        let urlHead = \"\"\n        let userInput = \"\"\n        let fullUrl = \"\"\n        let site = \"\"\n\n\n        urlHead =  `https://www.google.com/search?${siteQ}=`;\n        userInput = typedUserInput\n        site = `&q=site:${siteUrl}+${typedUserInput}`;\n        fullUrl = urlHead + userInput + site;\n        fullUrl\n        window.open(fullUrl, '_blank');\n    }\n\n\n    private handleInputKeyPress = (evt: React.KeyboardEvent) => {\n        if (evt.key === \"Enter\") {\n            this.search();\n        }\n\n    }\n    //https://www.google.com/search?ynet_q=fdgfd&q=site%3Am.ynet.co.il+fdgfd\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n    render() {\n        const { groupsWithItems, isVisible, ynetSearchPageLink, onClose, linkToTw, linkToFb, linkToYtube,linkToInst, linkToTelegram} = this.props\n        const { isSearchInputVisible, userInput } = this.state\n        const isVisibleClassName = isVisible ? \"opened\" : \"closed\";\n        const isfollowUsLinks = linkToTw || linkToFb || linkToYtube\n        return (\n            <div className={`HeaderScrolledMenu  ${isVisibleClassName}`} role=\"sub-navigation\" aria-label=\"Sub Menu\">\n                <div className=\"hamTopArea\">\n                    <div>\n                        <div className=\"searchArea\">\n                            <button className=\"srhBtn\" onClick={this.toggleSearch} />\n                            {isSearchInputVisible && <input\n                                alt=\"חיפוש\"\n                                className=\"mutamSrchBox\"\n                                id=\"mutamSrchBox\"\n                                aria-label=\"חיפוש\"\n                                type=\"text\"\n                                value={userInput}\n                                onChange={this.updateInputValue}\n                                onKeyPress={this.handleInputKeyPress}\n\n                            />}\n                        </div>\n                        <div id=\"mainAccessibilityButton\" >\n                            <a id=\"INDmenu-btn\" title=\"אתר נגיש\" accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" role=\"button\" onClick={this.clickAcessibilityBtn}>\n\n                            </a></div>\n                    </div>\n                    <button className=\"closeBtn\" onClick={onClose} />\n                </div>\n\n                <div className=\"linksGroups\">\n\n                    {_.map((groupsWithItems), (item: Group, index: number) =>\n                        <div className=\"group\" key={index}>\n                            <div className=\"groupTitle\" dangerouslySetInnerHTML={{ __html: item.groupName }} />\n\n                            <ul className=\"groupList\">\n                                {_.map((item.items), (subItem: HamburgerMenuItems, index: number) =>\n                                    <li key={index}><HyperLinkBuilder href={subItem.link} linkTarget={subItem.linkTarget} style={{ color: subItem.color }}>\n                                        <span dangerouslySetInnerHTML={{ __html: subItem.title }} />\n                                    </HyperLinkBuilder></li>\n                                )}\n                            </ul>\n                        </div>\n                    )}\n                    {isfollowUsLinks && <div className=\"followUsLinks\">\n                        {linkToTw !== \"\" && <SimpleLinkRenderer href={linkToTw} target=\"_blank\" className=\"mediaIcon linkToTw\" />}\n                        {linkToFb !== \"\" && <SimpleLinkRenderer href={linkToFb} target=\"_blank\" className=\"mediaIcon linkToFb\" />}\n                        {linkToYtube !== \"\" && <SimpleLinkRenderer href={linkToYtube} target=\"_blank\" className=\"mediaIcon linkToYtube\" />}\n                        {linkToInst !== \"\" && <SimpleLinkRenderer href={linkToInst} target=\"_blank\" className=\"mediaIcon linkToInst\" />}\n                    </div>}\n                </div>\n\n            </div>)\n    }\n}","\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { HamburgerMenuItems } from \"../../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\n\n\ninterface MainNavProps {\n    mainNavItems: HamburgerMenuItems[]\n    openHam: () => void\n\n}\n\nexport class MainNavMutam extends React.Component<MainNavProps, {}> {\n    private getSelectedClassName = (isSelected: boolean) => {\n        if (isSelected) {\n            return \"selected\"\n        }\n    }\n    render() {\n        const { mainNavItems, openHam } = this.props\n\n\n        return (\n            <div className=\"mainNav\" role=\"navigation\" aria-label=\"Main Menu\">\n                            <button className=\"menuHamburger\" onClick={openHam} />\n                <div className=\"navList\">\n                    {_.map((mainNavItems), (item: HamburgerMenuItems, index: number) => <div key={index} >\n                        <HyperLinkBuilder href={item.link} linkTarget={item.linkTarget} className={this.getSelectedClassName(item.isSelected)}>\n                            <span dangerouslySetInnerHTML={{ __html: item.title }} />\n                        </HyperLinkBuilder>\n                    </div>)}</div>\n   \n            </div>\n        )\n    }\n}","import { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport * as throttle from \"lodash/throttle\"\nimport * as classNames from \"classnames\"\nimport { HamburgerMenuItems } from \"../../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { YnetWeatherMutam } from \"./ynetWeatherMutam\"\nimport { HeaderScrolledMenu } from \"./headerScrolledMenu\";\nimport { MainNavMutam } from \"./mainNavMutam\";\nimport { FontSlider } from \"../../../../ynet1280/ynetHeader/components/mutamComponents/fontSliderComponent\";\nimport { openWhatsAppShare, analyticsPushFunc } from \"../../../../../widgetsUtils\";\nimport { YnetShareButtons } from \"./ynetShareButtons\"\n\ninterface MenuState {\n    isOpened: boolean\n    isSticky: boolean\n    isFontMenuOpen: boolean\n    url: string\n}\n\ninterface HeaderProps {\n    mainNavItems: HamburgerMenuItems[]\n    groupsWithItems: Group[]\n    flashPageLink: string\n    flashLinkTarget: LinkTargetProperties\n    redMailLink: string\n    mailLinkTarget: LinkTargetProperties\n    weatherData: any\n    defaultCityIndex: any\n    weatherUrl: string\n    logoData: Logo\n    ynetSearchPageLink: string\n    linkToFb: string\n    linkToTw: string\n    linkToYtube: string\n    linkToInst: string\n    linkToTelegram: string\n    isArticle: boolean\n}\n\nexport interface Group {\n    groupId: string\n    groupName: string\n    items: HamburgerMenuItems[]\n}\n\nexport interface Logo {\n    url: string\n    mediaTitle: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\n\ndeclare let window: Window & {\n    languageCode: string\n}\n\nexport class SiteMutamYnetNewsHeaderComponenta extends React.Component<HeaderProps, MenuState> {\n    public static siteScriptName = \"SiteMutamYnetNewsHeaderComponenta\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            isOpened: false,\n            isSticky: false,\n            isFontMenuOpen: false,\n            url: \"\"\n        }\n    }\n\n    private openMenu = () => {\n        this.setState({ isOpened: !this.state.isOpened })\n        document.body.classList.toggle('lock-scroll');\n    }\n\n    private stickyBar() {\n        const header = document.querySelector(\".ynetnews-header\");\n        const headerPos = header && header.getBoundingClientRect().top;\n        if (headerPos && headerPos + 40 < 0) {\n            this.setState({ isSticky: true })\n        } else {\n            this.setState({ isSticky: false })\n        }\n        let winScroll = document.body.scrollTop || document.documentElement.scrollTop;\n        let element = document.getElementById('ArticleBodyComponent');\n        let headerElRect = document.querySelector(\".ArticleHeaderMobileComponent\") && document.querySelector(\".ArticleHeaderMobileComponent\").getBoundingClientRect();\n        const progressBar = document.getElementById(\"progress-bar\");\n        if (!headerElRect) {\n            return\n        }\n        let scrolled = element && headerElRect && (winScroll / (element.offsetTop + element.offsetHeight - headerElRect.height)) * 100;\n        if (progressBar) {\n            if (scrolled < 100) {\n                progressBar.style.width = scrolled + \"%\";\n            } else {\n                progressBar.style.width = \"100%\";\n            }\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(\"scroll\", this.throttledScrollHandler())\n        this.props.isArticle && this.setfontSize();\n        const url = typeof window !== \"undefined\" && window.location.href\n        this.setState({ url: url })\n    }\n\n    private setfontSize = () => {\n        if (localStorage && localStorage.fontSize) {\n            let size = localStorage.fontSize;\n            document.documentElement.style.fontSize = size * parseFloat(getComputedStyle(document.documentElement).fontSize) + \"px\";\n        }\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener(\"scroll\", this.throttledScrollHandler())\n    }\n\n    private throttledScrollHandler = () => throttle(() => this.stickyBar(), 200)\n\n    private openShare = async () => {\n        const current_url = window.location.href;\n        const shareData = { url: current_url }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    private handleCommentsPopupVisability = () => {\n        if (typeof window !== \"undefined\") {\n            window.handleCommentsPopupVisability && window.handleCommentsPopupVisability();\n        }\n    }\n\n    private showCommentsBtn = () => {\n        return typeof window !== \"undefined\" && window.handleCommentsPopupVisability;\n    }\n\n    private handleFontSizePopupVisability = () => {\n        this.setState({ isFontMenuOpen: true })\n    }\n\n    private handleFontSizePopupClose = () => {\n        this.setState({ isFontMenuOpen: false })\n    }\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n\n\n    render() {\n        const { mainNavItems, groupsWithItems, defaultCityIndex, weatherUrl, logoData,\n            weatherData, ynetSearchPageLink, linkToFb, linkToTw, linkToYtube, isArticle, linkToInst, linkToTelegram } = this.props\n        const { isSticky, isFontMenuOpen } = this.state\n        const numOfComment = typeof window !== \"undefined\" && window.wcmNumOfComments ? window.wcmNumOfComments : \"\";\n        const hidden = isSticky ? \"hidden\" : \"\"\n        const tooltipHidden = !isSticky ? \"hidden\" : \"\";\n        const lang = typeof window !== \"undefined\" && window && window.languageCode.slice(0, 2);\n        const isApp = typeof window !== \"undefined\" && window.location.href.indexOf(\"IsApp\") != -1;\n        if (isArticle) {\n            return (\n                <div className={classNames(\"YnetNewsMutamHeader Article\")} id=\"YnetMutamHeader\">\n                    <div className=\"progress-container\">\n                        <div className=\"progress-bar\" id=\"progress-bar\"></div>\n                    </div>\n\n                    {!isSticky &&\n                        <>\n                            {isApp ? <a href=\"share_article\" title={\"share\"} className=\"topBtns mobileShareBtn\"></a> : <button className=\"topBtns mobileShareBtn\" onClick={this.openShare} title={\"share\"} />}\n                            <div className={`logo`}>\n                                <HyperLinkBuilder href={logoData.link} linkTarget={logoData.linkTarget} ariaLabel={logoData.mediaTitle}>\n                                    <div className=\"darkModeLogo\"></div>\n                                    <SiteSimpleImage src={logoData.url} alt={logoData.mediaTitle} title={logoData.mediaTitle} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                                </HyperLinkBuilder>\n                            </div>\n                        </>}\n\n                    <div className={`btnTooltips ${tooltipHidden}`}>\n                        <button className=\"topBtns fontSizeMenuOpen\" onClick={this.handleFontSizePopupVisability}></button>\n                        <button className=\"topBtns accessibiltyBtn\" onClick={this.clickAcessibilityBtn} title=\"אתר נגיש\" aria-labelledby=\"INDbtnTooltip\"  accessKey=\"m\"></button>\n                        <a onClick={() => openWhatsAppShare(this.state.url, () => analyticsPushFunc(\"Whatsapp\", \"Article\", \"\"), \"Article Top\")} className=\"topBtns whatsAppShareBtn\" />\n                        <button className=\"topBtns mobileShareBtn\" onClick={this.openShare} title={\"share\"} />\n                       <button style={{ display: this.showCommentsBtn() ? \"block\" : \"none\" }}  id=\"commentButtonInHeader\"  className=\"topBtns commentsOpen\" onClick={this.handleCommentsPopupVisability}>{numOfComment}</button>\n                    </div>\n\n                    <a href={\"javascript:history.back()\"} className=\"goBack\" title=\"back\" />\n                    {isFontMenuOpen && <FontSlider onClose={this.handleFontSizePopupClose} lang={lang} />}\n                </div>\n            )\n        } else\n            return (\n                <div className={classNames(\"YnetNewsMutamHeader\")} id=\"YnetMutamHeader\">\n                    <div className={`logo ${hidden}`}>\n                        <HyperLinkBuilder href={logoData.link} linkTarget={logoData.linkTarget} ariaLabel={logoData.mediaTitle}>\n                            <div className=\"darkModeLogo\"></div>\n                            <SiteSimpleImage src={logoData.url} alt={logoData.mediaTitle} title={logoData.mediaTitle} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                        </HyperLinkBuilder>\n                    </div>\n\n                    <MainNavMutam\n                        mainNavItems={mainNavItems}\n                        openHam={this.openMenu}\n                    />\n\n                    <div className={`bottomHeaderArea ${hidden}`} >\n                        {weatherData && <YnetWeatherMutam weather={weatherData} defaultCityIndex={defaultCityIndex} weatherUrl={weatherUrl} />}\n                        <YnetShareButtons facebookLink={linkToFb} telegramLink={linkToTelegram} instagramLink={linkToInst} />\n                    </div>\n\n                    <HeaderScrolledMenu\n                        groupsWithItems={groupsWithItems}\n                        isVisible={this.state.isOpened}\n                        onClose={this.openMenu}\n                        ynetSearchPageLink={ynetSearchPageLink}\n                        linkToFb={linkToFb}\n                        linkToTw={linkToTw}\n                        linkToYtube={linkToYtube}\n                        linkToInst={linkToInst}\n                        linkToTelegram={linkToTelegram}\n                    />\n                </div>\n            )\n    }\n}","import { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\n\nexport const YnetShareButtons = (props) => {\n    const { facebookLink, telegramLink, instagramLink } = props\n\n    const clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n\n    return (\n        <div className=\"ynet-share-buttons\">\n            <SimpleLinkRenderer href={facebookLink} aria-label=\"facebook\">\n                <div className=\"facebook-icon share-btn\"></div>\n            </SimpleLinkRenderer>\n\n            <SimpleLinkRenderer href={telegramLink} aria-label=\"telegram\">\n                <div className=\"telegram-icon share-btn\"></div>\n            </SimpleLinkRenderer>\n\n            <SimpleLinkRenderer href={instagramLink} aria-label=\"instagram\">\n                <div className=\"instagram-icon share-btn\"></div>\n            </SimpleLinkRenderer>\n\n            <a className=\"accessability-btn\" title=\"אתר נגיש\" accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" role=\"button\" onClick={clickAcessibilityBtn}>\n                <div className=\"accessability-icon share-btn\"></div>\n            </a>\n        </div>\n    )\n}","import { getCityNameTranslation } from \"../../../../ynetSearch/components/ynetWeather/cityNamesTranslator\";\nimport { SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nvar Cookies = require('js-cookie');\n\n\ninterface YnetWeatherState {\n    selectedCity: any\n}\n\ninterface YnetWeatherProps {\n    weather: any\n    defaultCityIndex: number\n    weatherUrl?: string\n}\ndeclare let window: Window & {\n    languageCode: string\n}\n\n\nexport class YnetWeatherMutam extends React.Component<YnetWeatherProps, YnetWeatherState> {\n    constructor(props) {\n        super(props)\n        let city = Cookies.get('weatherCity');\n        this.state = {\n            selectedCity: city || props.defaultCityIndex,\n\n        }\n\n    }\n\n\n    public render() {\n        const { weather, weatherUrl } = this.props\n        const { selectedCity } = this.state\n        const selectedWeather = weather[selectedCity];\n        // const imgSrc = `/images/weather/${iconTranslate(selectedWeather.weatherCode)}.svg`\n        const imgSrc = `/images/weather-new-icons/newWeatherSvgs/${selectedWeather.weatherCode}.svg`;\n        const urlToCity = getCityNameTranslation(\"link\", selectedWeather.city) ? \"/\" + getCityNameTranslation(\"link\", selectedWeather.city) : \"\";\n        const weatherPageUrl = weatherUrl ? weatherUrl + urlToCity : \"//www.ynet.co.il/home/0,7340,L-201,00.html\";\n        const language = (typeof window !== \"undefined\" &&  window.languageCode)  || \"\";\n        const weatherTitle = language.includes(\"ru\") ? \"Погода\" : \"Weather\";  \n        return (\n            <div className=\"WeatherView\">\n                <div className=\"weatherimage\">\n                    {selectedWeather &&\n                        <SimpleLinkRenderer href={weatherPageUrl} aria-label=\"Weather\">\n\n                            <img src={imgSrc} aria-hidden=\"true\" />\n                        </SimpleLinkRenderer>}\n                </div>\n                <div className=\"weathertempsdiv\">\n                    {selectedWeather &&\n                        <SimpleLinkRenderer className=\"weatherLink\" href={weatherPageUrl}>\n                            <span className=\"weathertemps\">{selectedWeather.temp}&deg;</span>\n                        </SimpleLinkRenderer>}\n                </div>\n\n                <div className=\"headerWeatherSelect\">\n                    <SimpleLinkRenderer href={weatherPageUrl} aria-label=\"Weather\" className=\"selectedCity\" >{weatherTitle}</SimpleLinkRenderer>\n                    <div className={\"menuToggler toOpen\"} />\n\n                </div>\n            </div>\n        )\n    }\n}","import { YnetSearchForm } from \"../../../ynetNewsSearch/components/ynetSearchForm/ynetSearchForm\";\n\nconst clickOutside = require('react-click-outside');\n\ninterface SearchProps {\n    searchPageLink: string\n    lang:string\n}\ninterface SearchState {\n    isSeachInputVisible: boolean\n}\n\n@clickOutside\nexport class SearchBtnDisplay extends React.Component<SearchProps, SearchState> {\n    constructor(props) {\n        super(props)\n        this.state = {\n            isSeachInputVisible: false,\n\n        }\n    }\n    private openSearch=()=>{\n        this.setState({isSeachInputVisible:true})\n    }\n    private closeSearch=()=>{\n        this.setState({isSeachInputVisible:false})\n    }\n    private handleClickOutside = (e) => {\n        this.setState({isSeachInputVisible:false})\n    }\n    render() {\n        const {lang, searchPageLink} = this.props\n        const placeholderText = lang && lang === \"ru\" ? \"Поиск\" : \"Search\";\n        return (\n            <div className=\"searchArea\">\n                <button className=\"searchBtn\" onClick={this.openSearch}>{placeholderText}</button>\n                {this.state.isSeachInputVisible &&   <YnetSearchForm placeholder={placeholderText}\n                  closeX={true} closeSearchInput={this.closeSearch}\n                 searchPageLink={searchPageLink} lang={lang} \n                 isGrid1280={true}/>\n                }\n            </div>\n\n        )\n\n\n    }\n}","import { SimpleLinkRenderer } from \"../../../../commonComponents/inline/hyperLink\"\nimport * as classNames from \"classnames\"\nrequire('./ynetnews_vesty_site_newYnetWeather.less')\nimport { getCityNameTranslation } from \"../../../ynetSearch/components/ynetWeather/cityNamesTranslator\";\nvar Cookies = require('js-cookie');\nconst clickOutside = require('react-click-outside');\n\ninterface YnetWeatherState {\n    selectedCity: any\n    isMenuOpened: boolean\n}\n\ninterface YnetWeatherProps {\n    weather: any\n    defaultCityIndex: number\n    weatherUrl?: string\n    placement?: string\n}\n\ndeclare let window: Window & {\n    languageCode: string\n}\n\n\n@clickOutside\nexport class YnetNewsWeatherInHeader extends React.Component<YnetWeatherProps, YnetWeatherState> {\n    constructor(props) {\n        super(props)\n        let city = Cookies.get('weatherCity');\n        this.state = {\n            selectedCity: city || props.defaultCityIndex,\n            isMenuOpened: false\n        }\n\n    }\n    private handleClickOutside = () => {\n        this.setState({\n            isMenuOpened: false\n        });\n    }\n\n    private updateTemperature = (i) => {\n        this.setState({ selectedCity: i }, () => {\n            Cookies.set('weatherCity', i, { expires: 365 });\n        })\n        this.toggleMenu()\n    }\n    private toggleMenu = () => {\n        this.setState({ isMenuOpened: !this.state.isMenuOpened })\n    }\n    public render() {\n        const { weather, weatherUrl, placement } = this.props\n        const { selectedCity, isMenuOpened } = this.state\n        const selectedWeather = weather[selectedCity] ? weather[selectedCity]  : {city:\"\", imageName:\"\", temp:\"\"};\n        const language = (typeof window !== \"undefined\" &&  window.languageCode)  || \"\";\n        const lang = language.includes(\"ru\") ? \"ru\" : \"en\"; \n        const siteName =    lang==\"ru\" ? \"https://www.vesty.co.il\" : \"https://www.ynetnews.com\";\n        const imgSrc = `${siteName}/Cnt/Images/Weather/${selectedWeather.imageName}`;\n        const urlToCity = getCityNameTranslation(\"link\", selectedWeather.city) ? \"/\" + getCityNameTranslation(\"link\", selectedWeather.city) : \"\";\n        const weatherPageUrl = weatherUrl ? weatherUrl + urlToCity : \"https://www.ynetnews.com/weather\";\n        return (\n            <div className={classNames(\"WeatherViewInHeader\", placement)} id={placement ? placement : \"main_header_weather\"}>\n\n\n                <div className=\"weatherimage\">\n                    {selectedWeather &&\n                        <SimpleLinkRenderer href={weatherPageUrl} aria-label=\"Weather\">\n\n                            <img src={imgSrc} aria-hidden=\"true\" />\n                        </SimpleLinkRenderer>}\n                </div>\n                <div className=\"weathertempsdiv\">\n                    {selectedWeather &&\n                        <SimpleLinkRenderer className=\"weatherLink\" href={weatherPageUrl}>\n                            <span className=\"weathertemps\">{selectedWeather.temp}&deg;</span>\n                        </SimpleLinkRenderer>}\n                </div>\n\n                <div id={placement ? `${placement}_weatherselect` : `headerWeatherSelect`} className=\"headerWeatherSelect\">\n\n                    <SimpleLinkRenderer href={weatherPageUrl} aria-label=\"weather\" className=\"selectedCity\" >{selectedWeather && getCityNameTranslation(lang, selectedWeather.city)}</SimpleLinkRenderer>\n\n                    <div className={isMenuOpened ? \" menuToggler toClose\" : \"menuToggler toOpen\"} onClick={this.toggleMenu} />\n                    {isMenuOpened && <div id='weatherCitySelect' aria-label=\"choose a city\" className=\"weatherCitieSelect\">\n                        {weather.map((city, i) => <div key={getCityNameTranslation(lang, city.city)} onClick={() => this.updateTemperature(i)}>{getCityNameTranslation(lang, city.city)}</div>)}\n                    </div>}\n\n                </div>\n            </div>\n        )\n    }\n}","import { MainNavHeaderComponenta } from \"./mainNavComponenta\";\nimport { HamburgerMenuItems } from \"../../../calcalistWidgets/categoryHeader/components/hamburgerMenuList/menuList\";\nimport { MenuPopupComponenta } from \"./menuPopUpComponenta\";\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder, SimpleLinkRenderer } from \"widgets/commonComponents/inline/hyperLink\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\nimport { YnetNewsWeatherInHeader } from \"./newYnetWeatherComponenta\"\nimport * as throttle from \"lodash/throttle\"\nimport * as classNames from \"classnames\"\nimport { CommercialHeaderButton } from \"../../../ynet1280/ynetHeader/components/commercialHeaderButton\"\nimport { DataList } from \"widgets/commonDataObjects/dataList\"\nimport { CommercialLinkItemData } from \"../../../ynet1280/ynetHeader/data/commercialLinkItemData\"\nimport { CommertialItem } from \"../../../ynet1280/ynetHeader/components/siteYnetHeaderComponenta\";\nimport { SearchBtnDisplay } from \"./newSearchButton\";\n\ninterface MenuState {\n    isOpened: boolean\n    isSticky: boolean\n    isSearchOpened: boolean\n\n}\ninterface HeaderProps {\n    mainNavItems: HamburgerMenuItems[]\n    groupsWithItems: Group[]\n    flashPageLink: string\n    flashLinkTarget: LinkTargetProperties\n    redMailLink: string\n    mailLinkTarget: LinkTargetProperties\n    weatherData: any\n    defaultCityIndex: any\n    weatherUrl: string\n    logoData: Logo\n    tabBgColor: string\n    yplusLink: string\n    followUsText: string\n    linkToInst: string\n    linkToFb: string\n    linkToTw: string\n    linkToYtube: string\n    linkToTelegram:string\n    enableSticky: boolean\n    searchPageLink: string\n    commercialBtnTitle: string\n    commercialLinksList: CommertialItem[]\n    followUsLink:string\n    folowUsLinkTarget:LinkTargetProperties\n    displayType:string\n}\nexport interface Group {\n    groupId: string\n    groupName: string\n    items: HamburgerMenuItems[]\n}\nexport interface Logo {\n    url: string\n    mediaTitle: string\n    link: string\n    linkTarget: LinkTargetProperties\n}\n\ndeclare let window: Window & {\n    languageCode: string\n}\n\nexport class SiteYnetNewsHeaderComponenta extends React.Component<HeaderProps, MenuState> {\n    public static siteScriptName = \"SiteYnetNewsHeaderComponenta\"\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            isOpened: false,\n            isSticky: false,\n            isSearchOpened: false\n        }\n    }\n\n    private openMenu = () => {\n        this.setState({ isOpened: !this.state.isOpened, isSearchOpened: false, })\n    }\n\n    private openSearchMenu = () => {\n        this.setState({ isSearchOpened: !this.state.isSearchOpened, isOpened: false })\n    }\n\n    private stickyBar() {\n        const headerPos = document.getElementById(\"YnetHeader\").getBoundingClientRect().top\n        if (headerPos + 130 < 0) {\n            this.setState({ isSticky: true })\n\n        } else {\n            this.setState({ isSticky: false })\n        }\n    }\n\n    componentDidMount() {\n        document.addEventListener(\"scroll\", this.throttledScrollHandler())\n    }\n\n    componentWillUnmount() {\n        const navbar = document.getElementById(\"YnetHeader\")\n        document.removeEventListener(\"scroll\", this.throttledScrollHandler())\n    }\n\n    private throttledScrollHandler = () => throttle(() => this.stickyBar(), 200)\n\n    private clickAcessibilityBtn = () => {\n        window[`EquallyAI`]  &&  window[`EquallyAI`].openToolbox();\n        window[`interdeal`] && window[`interdeal`][`a11y`] && window[`interdeal`][`a11y`].openMenu();\n    }\n\n    render() {\n        const { mainNavItems, groupsWithItems, flashPageLink, flashLinkTarget, defaultCityIndex, weatherUrl, logoData, enableSticky, linkToTelegram,\n            mailLinkTarget, redMailLink, weatherData, tabBgColor, yplusLink, followUsText, linkToInst, linkToFb, linkToTw, linkToYtube, searchPageLink, \n            commercialBtnTitle, commercialLinksList ,followUsLink,  folowUsLinkTarget, displayType} = this.props\n        const { isSticky } = this.state\n        const isStickyAvailable = isSticky && enableSticky;\n        const lang = (typeof window !== \"undefined\" &&  window.languageCode)  || \"\";\n        const isLightMode = displayType && displayType===\"light\";\n        let updates = \"Updates\";\n        let redMail = \"Red Mail\";\n        let more = \"More\";\n        let search=\"Search\";\n        const Ru = lang.includes(\"ru\");\n        if(Ru){\n            updates = \"Коротко\";\n            redMail = \"Связь с редакцией\";\n            more = \"Еще\";\n            search = \"Поиск\";\n        }\n\n        return (\n            <div className={classNames(\"YnetnewsHeader\", displayType)} id=\"YnetHeader\">\n                <div className=\"headerTop\">\n                    <div className={\"leftSideLinks\"}>\n                        <HyperLinkBuilder href={flashPageLink} linkTarget={flashLinkTarget} >\n                            <span className=\"headerIcon flash\" id=\"flashBell\" /> <span className=\"flashText\">{updates}</span>\n                        </HyperLinkBuilder>\n                        <HyperLinkBuilder href={redMailLink} linkTarget={mailLinkTarget} >\n                            <span className=\"headerIcon redMail\" /> <span className=\"redMailText\">{redMail}</span>\n                        </HyperLinkBuilder>\n                        {commercialBtnTitle &&  <CommercialHeaderButton btnTitle={commercialBtnTitle} linksData={commercialLinksList} followUsLink={followUsLink} followUsLinkTarget={folowUsLinkTarget}/>}\n                        {weatherData && <YnetNewsWeatherInHeader weather={weatherData} defaultCityIndex={defaultCityIndex} weatherUrl={weatherUrl} />}\n                    </div>\n\n                    <div className=\"logo\">\n                        <HyperLinkBuilder href={logoData.link} linkTarget={logoData.linkTarget} ariaLabel={logoData.mediaTitle}>\n                            <SiteSimpleImage src={logoData.url} alt={logoData.mediaTitle} title={logoData.mediaTitle} aria-hidden=\"true\" aria-label=\"Page Logo\" />\n                        </HyperLinkBuilder>\n                    </div>\n\n                    <div className=\"followUsLinks\">\n                    {isLightMode && <SearchBtnDisplay lang={Ru ? \"ru\" : \"en\"} searchPageLink={searchPageLink}/>}\n                        <div className=\"mediaLinks\">\n                           {linkToTelegram!==\"\" && <SimpleLinkRenderer href={linkToTelegram} target=\"_blank\" className=\"mediaIcon linkToTelegram\" />}\n                           {linkToTw !== \"\" && <SimpleLinkRenderer href={linkToTw} target=\"_blank\" className=\"mediaIcon linkToTw\" />}\n                            {linkToFb !== \"\" && <SimpleLinkRenderer href={linkToFb} target=\"_blank\" className=\"mediaIcon linkToFb\" />}\n                            {linkToInst !== \"\" && <SimpleLinkRenderer href={linkToInst} target=\"_blank\" className=\"mediaIcon linkToInst\" />}\n                            {linkToYtube !== \"\" && <SimpleLinkRenderer href={linkToYtube} target=\"_blank\" className=\"mediaIcon linkToYtube\" />}\n                         {!isLightMode &&    <div id=\"mainAccessibilityButton\">\n                              <a id=\"INDmenu-btn\" onClick={this.clickAcessibilityBtn} title=\"אתר נגיש\" accessKey=\"m\" aria-labelledby=\"INDbtnTooltip\" role=\"button\"><span className=\"icon\" ></span></a>\n                            </div>}\n                        </div>\n                    </div>\n                </div>\n\n                <div className={classNames(\"BottomHeaderArea\", { \"sticky\": isStickyAvailable })} id=\"BottomHeaderArea\">\n                    <MainNavHeaderComponenta\n                        isSticky={isStickyAvailable}\n                        mainNavItems={mainNavItems}\n                        logoData={logoData}\n                        onToggleMenu={this.openMenu}\n                        onToggleSearch={this.openSearchMenu}\n                        isOpened={this.state.isOpened}\n                        tabBgColor={tabBgColor}\n                        more={more}\n                        search={search}\n                        displayType={displayType}\n                    />\n\n                    <MenuPopupComponenta\n                        groupsWithItems={groupsWithItems}\n                        isVisibleMenu={this.state.isOpened}\n                        isVisibleSearch={this.state.isSearchOpened}\n                        onCloseMenu={() => this.setState({ isOpened: false })}\n                        onCloseSearch={() => this.setState({ isSearchOpened: false })}\n                        followUsText={followUsText}\n                        linkToInst={linkToInst}\n                        linkToFb={linkToFb}\n                        linkToTw={linkToTw}\n                        linkToYtube={linkToYtube}\n                        searchPageLink={searchPageLink}\n                        lang={Ru ? \"ru\" : \"en\"}\n                        displayType={displayType}\n                    />\n                </div>\n            </div >\n        )\n    }\n}","import { VideoSettingsData, LinkedItemType, ComponentaIconType, IFieldDisplayData } from \"widgets/commonDataObjects/interfaces\"\nimport { SlotIconDisplay } from \"widgets/commonComponents/inline/slotIconDisplay/slotIconDisplay\"\nimport { SiteItemData, SiteMediaData, SiteImageData } from \"widgets/interfaces\"\nimport { HyperLinkBuilder } from \"widgets/commonComponents/inline/hyperLink\"\nimport { isHavakVisible, PayWallArctilceIcon } from \"widgets/commonComponents/inline/payWallHavak/payWallHavak\"\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { SiteMedia } from \"../../../siteWidgets/siteMedia\"\nimport { SiteSimpleImage } from \"widgets/commonComponents/inline/siteSimpleImage\"\n\n\n\ninterface MultiImagesFrontProps {\n    imageWidth: number\n    imageHeight: number\n    item?: SiteItemData\n    videoSettings?: VideoSettingsData\n    isLabelVisible: boolean\n    marginLeft?: number\n    isSmallItem?: boolean\n    isAuthorVisible?: boolean\n    displayType: any\n}\n\n\n\nexport class YplusItemFront extends React.Component<MultiImagesFrontProps>{\n    private getIcon = (icon: ComponentaIconType, hasVideo: boolean) => {\n        if (icon === \"automatic\" && hasVideo) return \"video\"\n        return icon;\n    }\n    public render() {\n        const { imageWidth, item, imageHeight, videoSettings, marginLeft, isSmallItem, isLabelVisible, isAuthorVisible, displayType } = this.props\n        let emptyMedia: SiteMediaData = { url: \"\", mediaType: MediaContentTypes.MEDIA_IMAGE, title: \"\", className: \"\", alt: \"\", ariaHidden: true } as SiteImageData\n        const slotViewStyle = { marginLeft: marginLeft }\n\n        const icon = item.icon ? item.icon : \"automatic\"\n     //   const desktopOnly = forDesktopOnly && displayType !== \"gallery\" ? \"desktopOnly\" : \"\"\n        return (\n            <div className={`slotView`} style={slotViewStyle}>\n\n                <div className=\"imageArea\">\n                    <div className=\"MediaCarousel\" style={{ width: imageWidth, height: imageHeight }}>\n                        <SiteMedia\n                            data={item.media !== undefined ? item.media : emptyMedia}\n                            width={imageWidth}\n                            height={imageHeight}\n                            videoSettings={videoSettings}\n                            itemLinkUrl={item.titleLink}\n                            isImageLinkable={true}\n                            linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                        />\n                        <SlotIconDisplay itemId={item.itemId} icon={this.getIcon(icon, item.hasVideo)} iconClassName=\"medium\" isIconVisible={item.hasVideo || icon === \"video\" || icon === \"automatic\"} />\n                        {isLabelVisible && <div className=\"mediaLabel\" >\n                            {item.labelObj && <SiteSimpleImage src={item.labelObj.labelUrl} title={item.labelObj.labelName} width={\"auto\"} height={24} />}\n                        </div>}\n                    </div>\n\n                </div>\n\n                <HyperLinkBuilder\n                    href={item.titleLink}\n                    linkTarget={item.titleTargetLink !== undefined && item.titleTargetLink}\n                    children={item.title}\n                    className=\"slotTextArea\" >\n\n\n                    <div className={`slotTitle`} dangerouslySetInnerHTML={{ __html: item.title }} />\n\n\n                    <div className={`slotSubTitle`} dangerouslySetInnerHTML={{ __html: item.subTitle }} />\n\n                    {isAuthorVisible && <div className=\"moreDetails\">\n                        <span className=\"authorField\">{item.author}</span>\n\n                    </div>}\n\n                </HyperLinkBuilder>\n            </div>\n        )\n    }\n}\n","\n\nimport { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\"\nimport { MultiImagesScroller, getItemMargin } from \"widgets/commonComponents/base/multiImagesFrontScroller\";\nimport { SiteItemData } from \"widgets/interfaces\"\nimport { YplusItemFront } from \"./yplusItemFront\";\n\n\n\n\n\ninterface MultiImagesFrontProps {\n    itemList: SiteItemData[]\n    width: number\n    isLabelVisible: boolean\n    videoSettings: VideoSettingsData\n    imageWidth: number\n    imageHeight: number\n    isAuthorVisible: boolean\n    displayType: any\n}\n\n\n\nexport class YplusMultiImagesFront extends React.Component<MultiImagesFrontProps>{\n    public static siteScriptName = \"YplusMultiImagesFront\";\n\n\n\n    public render() {\n        const { imageWidth, itemList, imageHeight, videoSettings, width, isLabelVisible, isAuthorVisible, displayType } = this.props\n\n        return (\n            <MultiImagesScroller imageWidth={imageWidth} width={width} itemLength={itemList.length} >\n                {itemList.map((slot, index) => {\n                  //  const forDesktopOnly = index > 3;\n                    return (\n                        <YplusItemFront\n                            imageWidth={imageWidth}\n                            key={index}\n                            imageHeight={imageHeight}\n                            videoSettings={videoSettings}\n                            isLabelVisible={isLabelVisible}\n                            item={slot}\n                            marginLeft={getItemMargin(width, imageWidth)}\n                            isSmallItem={true}\n                            isAuthorVisible={isAuthorVisible}\n                            displayType={displayType}\n                        />\n                    )\n                }\n                )}\n            </MultiImagesScroller >)\n\n\n    }\n}","import { getQueryStringValue } from \"../../../widgetsUtils\"\nrequire(\"./yplus_site_SiteSearchInput.less\")\n\ninterface SiteSearchInputProps {\n    onResetClickCallback: () => void\n    fetchMoreArticles: (searchValue: string) => void\n}\n\ninterface SiteSearchInputState {\n    searchValue: string\n}\n\nexport class SiteSearchInput extends React.Component<SiteSearchInputProps, SiteSearchInputState>{\n    constructor(props) {\n        super(props)\n        this.state = {\n            searchValue: \"\"\n        }\n    }\n\n    componentDidMount() {\n        const { fetchMoreArticles } = this.props\n        const initialSearchValue = getQueryStringValue(\"q\")\n        fetchMoreArticles(initialSearchValue)\n        this.setInitialSearchValue(initialSearchValue)\n    }\n\n    private setInitialSearchValue = (searchValue: string) => {\n        this.setState({ searchValue })\n    }\n\n    private setSearchValue = (e) => {\n        const searchValue = (e.target as HTMLInputElement).value\n        this.setState({ searchValue })\n    }\n\n    private onResetBtnClicked = () => {\n        const { onResetClickCallback } = this.props\n        this.setState({ searchValue: \"\" })\n        onResetClickCallback()\n    }\n\n    private onEnterPress = (e) => {\n        const { searchValue } = this.state\n        const { fetchMoreArticles } = this.props\n        if (e.key === \"Enter\") {\n            window.location.href = `?q=${searchValue}`\n        }\n    }\n\n    render() {\n        const { searchValue } = this.state\n        return (\n            <div id=\"searchInputInputWrapper\">\n                <input type=\"text\" value={searchValue} onKeyPress={this.onEnterPress} onChange={this.setSearchValue} />\n                {searchValue.length > 0 && <span className=\"closeBtn\" onClick={this.onResetBtnClicked}></span>}\n                {searchValue.length === 0 && <span className=\"searchBtn\" >&#9906;</span>}\n\n            </div>\n        )\n    }\n}","require(\"./yplus_site_SiteYplusSearchResultsWidgetComponenta.less\")\nrequire(\"./../../yPlusLoadMore/components/yplus_site_loadMore.less\")\nrequire(\"./../../yPlusLoadMore/components/yplus_site_loadMore-mobile.less\")\nimport * as axios from \"axios\"\nimport * as filter from \"lodash/filter\"\nimport * as map from \"lodash/map\"\nimport { ArticleExtraData } from \"../../../../articlePage/stateInterfaces\"\nimport { getQueryStringValue } from \"../../../widgetsUtils\";\nimport { YPlusLoadMoreList } from \"../../yPlusLoadMore/components/yplusLoadMoreList\"\nimport { SiteYPlusLoadMoreData } from \"../../yPlusLoadMore/components/YplusLoadMoreView\"\nimport { ImageDetails } from \"../../../../images/interfaces\"\nimport { Loader } from \"../../yPlusLoadMore/components/loader/loader\"\nimport { SiteSearchInput } from \"./SiteSearchInput\"\n\n\nconst SERVER_SEARCH_URL = '/api/premium/articles_search/';\n\ninterface YplusArticleSearchArticleEntity extends Partial<ArticleExtraData> {\n    articleId: string\n    author: string\n    credit: string\n    categoryName: string\n    title: string\n    subTitle: string\n    promotionImageDetails: ImageDetails\n    hasVideo: boolean,\n    publishedLink: string\n}\n\ninterface SiteYplusSearchResultsWidgetComponentaState {\n    articles: YplusArticleSearchArticleEntity[]\n    page: number\n    showLoader: boolean\n    searchValueForLoadMore: string\n    showNoResultsMessage: boolean\n    hasMore: boolean\n}\n\nexport class SiteYplusSearchResultsWidgetComponenta extends React.Component<{ ver?: number }, SiteYplusSearchResultsWidgetComponentaState>{\n    public static siteScriptName = \"SiteYplusSearchResultsWidgetComponenta\"\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            articles: [],\n            page: 0,\n            showLoader: false,\n            searchValueForLoadMore: \"\",\n            showNoResultsMessage: false,\n            hasMore: true\n        }\n    }\n\n    componentDidMount() {\n        this.setState({ searchValueForLoadMore: getQueryStringValue(\"q\") })\n    }\n\n    private getApiUrl = () => {\n        if (typeof window !==\"undefined\" && window.AWS_PLUS_SEARCH_URL) {\n            return window.AWS_PLUS_SEARCH_URL;\n        }\n        return SERVER_SEARCH_URL;\n    }\n\n    private fetchMoreArticles = (searchValue: string): void => {\n        const { page, articles } = this.state\n        if (searchValue.length === 0) { return null }\n        this.setState({ showLoader: true })\n        axios.post(this.getApiUrl(), { page, query: searchValue.toLowerCase() })\n            .then((res: any) => {\n                const results = res.data.results\n                const hasMore = res.data.hasMore\n                this.setState((pState) =>\n                    ({\n                        showLoader: false,\n                        hasMore,\n                        articles: [...articles, ...results],\n                        page: results.length > 0 ? pState.page + 1 : pState.page,\n                        showNoResultsMessage: results.length === 0 && pState.page === 0\n                    }))\n            })\n            .catch(err => {\n                this.setState({ showLoader: false })\n            })\n    }\n\n    private resetSearch = (): void => {\n        this.setState({\n            articles: [],\n            page: 0,\n            showLoader: false,\n            searchValueForLoadMore: \"\"\n        })\n    }\n\n    private updateSearchValueForLoadMore = (searchValueForLoadMore) => {\n        this.setState({ searchValueForLoadMore })\n    }\n\n    render() {\n        const { articles, showLoader, searchValueForLoadMore, showNoResultsMessage, hasMore } = this.state\n        const { ver } = this.props\n        const showLoadMoreBtn = !showLoader && hasMore && searchValueForLoadMore\n        let itemList: SiteYPlusLoadMoreData[] = [];\n        if (Object.keys(articles).length > 0) {\n            itemList = filter(map(articles, (article: YplusArticleSearchArticleEntity): SiteYPlusLoadMoreData =>\n                ({\n                    articleId: article.articleId,\n                    author: article.author,\n                    credit: article.credit,\n                    categoryName: article.categoryName,\n                    title: article.title,\n                    subTitle: article.subTitle,\n                    promotionImageDetails: article.promotionImageDetails,\n                    hasVideo: article.hasVideo || false,\n                    publishedLink: article.publishedLink,\n                    link: \"\"\n                })\n            ))\n        }\n        const verClass = ver && ver > 1 ? \"ver2\" : \"\"\n        return (\n            <div className={`SiteYplusSearchResultsWidgetComponenta ${verClass}`}>\n                <div id=\"mainLabel\"><span>תוצאות חיפוש </span></div>\n                <SiteSearchInput\n                    onResetClickCallback={this.resetSearch}\n                    fetchMoreArticles={this.fetchMoreArticles}\n                />\n\n                {!showNoResultsMessage && <div id=\"yplusArticlesList\">\n                    <YPlusLoadMoreList\n                        dataLength={articles.length}\n                        itemList={itemList}\n                        height={400}\n                        isCategoryVisible={true} />\n                </div>}\n\n                {showNoResultsMessage && <span id=\"noResultsMessage\">לא נמצאו תוצאות עבור חיפוש זה</span>}\n\n                {!showNoResultsMessage && <div className=\"ButtonAndLoaderContainer\">\n                    {showLoader && <Loader />}\n                    {showLoadMoreBtn && <div className=\"loadMoreArticlesButton\" onClick={() => this.fetchMoreArticles(searchValueForLoadMore)} >טען עוד כתבות</div>}\n                </div>}\n            </div >\n        )\n    }\n}","import { GridPlacedItem, WidgetLayoutData, LayoutType, GridItemResizeOption, WidgetLayoutContentData } from \"pageGridLayout/interfaces\"\nimport { ImageDetails } from \"images/interfaces\"\nimport { MediaVideoData } from \"media/interfaces\"\nimport { ComponentaProps, Componenta } from \"pagesPage/stateInterfaces\"\nimport { DataObjectBase } from \"widgets/commonDataObjects/dataObjectBase\"\nimport { CopyMediaImageCommand, CopyImageCommand } from \"images/actions/imagesActions\"\nimport { ArticleData, ArticleFrontOnlyData, ArticleTopStoryData, } from \"../articlePage/stateInterfaces\"\nimport { StringEnum } from \"utils/stringEnum\"\nimport { ContentTypes, MediaContentTypes } from \"constants/contentTypes\"\nimport { LoadComponentaArticleResourceCommand } from \"pagesPage/actions/componentaActions\"\nimport { LinkProperties, BaseLinkTypes, LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { VideoBehaiforData } from \"widgets/commonDataObjects/interfaces\"\nimport { WidgetJson, ImageDataJson } from \"./jsonSerializer/widgetJsonInterfaces\";\nimport { DeviceType } from \"widgets/jsonSerializer/widgetJsonInterfaces\"\nimport { PageData, CategoryTreeNode, CategoryData } from \"../pagesPage/stateInterfaces\"\nimport { TagsEntity } from \"../tags/stateInterface\"\nimport { AspectRatio } from \"../media/components/videoUpload/newVIdeoUpload/videoEncoderContainer\"\nimport { LabelPlace } from \"./defenitions/topStory/labelIconUtils\";\n\nexport const LinkedPageResourceTypes = StringEnum(\n    ContentTypes.ARTICLE,\n    ContentTypes.MEDIA_VIDEO,\n    \"IMAGE\",\n    ContentTypes.TAG,\n    ContentTypes.CATEGORY,\n    ContentTypes.FILE\n)\nexport type LinkedPageResourceTypes = StringEnum<typeof LinkedPageResourceTypes>;\n\nexport interface WindowSizes {\n    width: number\n    minWidth: number\n    maxWidth: number\n    height: number\n    minHeight: number\n    maxHeight: number\n}\n\nexport type LinkedPageResourceByType = { [T in LinkedPageResourceTypes]: string[] }\n\nexport interface LinkedPageResource {\n    resourceType: LinkedPageResourceTypes\n    resourceId: string\n}\n\nexport type LoadComponentaExtraDataFunction = (componentaId: string, requestData: any, widgetType?: string) => void\n\nexport type PageComponentaContextTypes = { [K in keyof PageComponentaContext]: __React.Requireable<any> }\n\nexport interface PageComponentaContext {\n    pageId: string\n    componentaId: string\n    getArticle(articleId: string): ArticleData\n    getImage(imageId: string): ImageDetails\n    getVideo(videoID: string): MediaVideoData\n    getImageSize(slotIndex?: number): { width: number, height: number }\n    getCurrentPage(): PageData\n    getPageCategory(categoryId: string): CategoryTreeNode\n    copyMediaImage: CopyMediaImageCommand\n    copyImage: CopyImageCommand,\n    loadComponentaArticleResource: LoadComponentaArticleResourceCommand\n    loadComponentaExtraData: LoadComponentaExtraDataFunction\n    colorList?: string[]\n    getWidget?(type: string): PageWidgetType<any>\n    getUrl?(link: LinkProperties<BaseLinkTypes>, shouldAddArticleAutoplayIndicator?: boolean): string\n    widgetType?: string,\n    orderedImages?: any,\n    loadCategoryFields?(categoryId: string): void\n    siteLayoutType: string\n    getTag?: (tagId: string) => TagsEntity\n}\n\nexport type ArticleContextTypes = { [K in keyof ArticleContext]: __React.Requireable<any> }\nexport interface ArticleContext {\n    getUrl(link: LinkProperties<BaseLinkTypes>, shouldAddArticleAutoplayIndicator?: boolean): string\n}\n\nexport type ArticleComponentaContextTypes = { [K in keyof ArticleComponentaContext]: __React.Requireable<any> }\nexport interface ArticleComponentaContext {\n    articleId: string\n    componentaId: string\n    componentaGridColumnWidth?: number\n    componentaHeight?: number\n    getArticle(articleId: string): ArticleData\n    getImage(imageId: string): ImageDetails\n    getVideo(videoId: string): MediaVideoData\n    onEditModeChanged?: (isStarting: boolean) => void\n    getUrl?(link: LinkProperties<BaseLinkTypes>, shouldAddArticleAutoplayIndicator?: boolean): string\n    copyImage: CopyImageCommand,\n    loadComponentaArticleResource: LoadComponentaArticleResourceCommand\n    copyMediaImage: CopyMediaImageCommand\n    isTopStoryExist?: boolean\n    siteLayoutType?: string\n}\n\nexport interface ImmutableDataObject<T> {\n    readonly immutableData: T\n}\n\nexport interface ComponentaInstanceDataPropsBase<TComponentaData extends DataObjectBase> {\n    data: TComponentaData\n    extraData?: any\n    onChange: (data: TComponentaData) => void\n    widgetType?: string\n}\n\n\nexport interface ComponentaInstancePropsBase<TComponentaData extends DataObjectBase> extends ComponentaInstanceDataPropsBase<TComponentaData> {\n    inEdit?: boolean\n    layoutData?: WidgetLayoutContentData\n}\n\nexport interface ComponentaInstanceProps<TComponentaData extends DataObjectBase> extends ComponentaInstancePropsBase<TComponentaData> {\n    onContentHeightChanged: (newHeight: number) => void\n}\n\nexport interface ComponentaWindowInstanceProps<TComponentaData extends DataObjectBase> extends ComponentaInstanceDataPropsBase<TComponentaData> {\n    itemLayoutData?: WidgetLayoutData\n    componentaProps: Partial<ComponentaProps>\n    onLayoutChange?: (layout: Partial<WidgetLayoutData>) => void\n    onComponentaPropsChange?: (componentaProps: Partial<ComponentaProps>) => void\n}\n\nexport interface WidgetsMap {\n    [id: string]: WidgetType<any>\n}\nexport interface WidgetType<TComponentaData> {\n    type: string\n    name: string\n    iconUrl: string\n    groupName?: string\n    noPrint?: boolean\n    hidden?: boolean\n}\n\nexport interface PageWidgetRenderer<TComponentaData extends DataObjectBase> {\n    (props: ComponentaInstanceProps<TComponentaData>): React.ReactElement<ComponentaInstanceProps<TComponentaData>>\n}\n\nexport interface SiteComponentaProps<TComponentaData extends DataObjectBase> {\n    data: TComponentaData\n    extraData?: any\n    layoutData?: WidgetLayoutContentData\n}\n\nexport interface JsonProps<TComponentaData extends DataObjectBase> {\n    data: TComponentaData\n    componentaId: string\n    extraData?: any\n    getArticle(articleId: string): ArticleData & ArticleFrontOnlyData\n    getImage(imageId: string): ImageDetails\n    getVideo(videoID: string): MediaVideoData\n    getUrl(link: LinkProperties<BaseLinkTypes>): string\n    getCurrentPage(pageId: string): PageData\n    getPageCategory(categoryId: string): CategoryTreeNode\n    deviceType: DeviceType\n    imagesDomain: string\n    audioDomain: string\n    domain: string\n    defaultImageJson: ImageDataJson\n    subTitleSameAsTitle?: boolean\n    jsonVersion: number\n    loadCategoryFields?(categoryId: string): void\n    isRoofTitle?: boolean\n    getTag?: (tagId: string) => TagsEntity\n    inTest?: boolean\n}\n\nexport interface JsonSerialzar<TComponentaData extends DataObjectBase> {\n    (props: JsonProps<TComponentaData>): WidgetJson\n}\n\nexport interface ArticleTopStoryEditorProps<TComponentaData extends DataObjectBase,  TArticleTopStoryData extends object> {\n    articleId: string\n    widgetType: string\n    data: TArticleTopStoryData\n    componentaData?:TComponentaData\n    onChange(widgetType: string, data: TArticleTopStoryData): void\n}\n\nexport interface ComputeGeneratedHeightProps<TArticleTopStoryData extends object> {\n    topStoryData: TArticleTopStoryData\n    articleData: ArticleData\n    state: any\n    placedItemWidth: number\n}\n\nexport interface ArticleTopStoryEditorRenderer<TComponentaData extends DataObjectBase,  TArticleTopStoryData extends object> {\n    renderer(props: ArticleTopStoryEditorProps<TComponentaData, TArticleTopStoryData>): React.ReactElement<ArticleTopStoryEditorProps<TComponentaData, TArticleTopStoryData>>\n    getLinkedResources(data: TArticleTopStoryData): LinkedPageResource[]\n    computeGeneratedHeight(props: ComputeGeneratedHeightProps<TArticleTopStoryData>): number\n    convertFromSimpleObject?(obj: object): TArticleTopStoryData\n    convertToSimpleObject?(obj: TArticleTopStoryData): object\n    orderedImages?: {\n        getorderedImagesIds(data: TArticleTopStoryData, isImageExists: (imageId: String) => boolean): string[]\n        weight: number\n    }\n    showOnSettingsSide?: boolean\n}\n\nexport interface PageWidgetType<TComponentaData extends DataObjectBase, TArticleTopStoryData extends object = {}> extends WidgetType<TComponentaData> {\n    defaultColumnSpan?: number\n    defaultHeight?: number\n    getDefaultGridPlacedItem: () => GridPlacedItem\n    mergeDefaultData: (oldData: { __version: number }) => TComponentaData\n    render: PageWidgetRenderer<TComponentaData>\n    articleRender?: (props: InlineArticleComponentProps<TComponentaData>) => React.ReactElement<InlineArticleComponentProps<TComponentaData>>\n    articleRenderAtSite?: (props: InlineArticleComponentProps<TComponentaData>) => React.ReactElement<InlineArticleComponentProps<TComponentaData>>\n    articleRenderMobileApp?: (props: InlineArticleComponentProps<TComponentaData>) => React.ReactElement<InlineArticleComponentProps<TComponentaData>>\n    articleRenderMobileWeb?: (props: InlineArticleComponentProps<TComponentaData>) => React.ReactElement<InlineArticleComponentProps<TComponentaData>>\n    windows: Array<WidgetWindowDefiniton<TComponentaData>>\n    templateWidgetTypes?: string[]\n    layoutType: LayoutType\n    defaults?: PageWidgetDefaults\n    resizeOption?: GridItemResizeOption\n    heightOnHorizontalResize?: (columnSpan: number) => number\n    minColumnSpan?: number\n    maxColumnSpan?: number\n    minHeight?: number\n    verticalGrowStep?: number\n    imageSize?: (props: { layoutSize: WidgetLayoutContentData, data: TComponentaData, slotIndex: number }) => { width: number, height: number }\n    updateDefualtData?: (data: TComponentaData) => TComponentaData\n    renderSite?: <P extends SiteComponentaProps<TComponentaData>>(props: SiteComponentaProps<TComponentaData>) => React.ReactElement<P>\n    getExtraDataSpec?: (data: TComponentaData) => any\n    getExtraUrlDataSpec?: (comp: Componenta, reduxData: any, pageId: string) => { url: string, runIntervalMinutes?: number, dataToSave?: any }\n    isInheritingFromParent?: (data: TComponentaData) => boolean\n    toJson?: JsonSerialzar<TComponentaData>\n    showInMobile?: boolean\n    renderMobile?: PageWidgetRenderer<TComponentaData>\n    renderMobileApp?: PageWidgetRenderer<TComponentaData>\n    renderResponsiveSite?: <P extends SiteComponentaProps<TComponentaData>>(props: SiteComponentaProps<TComponentaData>) => React.ReactElement<P>\n    extraDataType?: string\n    articleTopStoryEditorRenderer?: ArticleTopStoryEditorRenderer<TComponentaData,TArticleTopStoryData>\n    widgetTabName?: (data: TComponentaData) => string\n    isFixedInHtmlLayout?: boolean\n    inTest?: boolean\n}\n\nexport interface SitePageWidgetType {\n    [siteName: string]: PageWidgetType<any>[]\n}\n\nexport interface PageWidgetDefaults {\n    numberOfItems: number\n}\n\nexport interface WidgetWindowDefiniton<TComponentaData extends DataObjectBase> {\n    windowType: WidgetWindowType\n    title?: string\n    className?: string\n    windowSizes: WindowSizes\n    render: PageWidgetWindowRenderer<TComponentaData>\n}\n\nexport interface PageWidgetWindowRenderer<TComponentaData extends DataObjectBase> {\n    (props: ComponentaWindowInstanceProps<TComponentaData>): React.ReactElement<ComponentaWindowInstanceProps<TComponentaData>>\n}\n\nexport interface WidgetWindowType {\n    title?: string\n    icon: string\n    className?: string\n}\n\nexport interface ArticleWidgetComponentaStyle {\n    height: number\n    width: number\n    float: string\n}\n\nexport interface ArticleSiteRenderProps<T> {\n    articleData: ArticleData\n    data: T\n}\n\nexport interface ArticleWidgetType<TComponentaData extends DataObjectBase> extends WidgetType<TComponentaData> {\n    render: (props: ArticleContentComponentaInstanceProps<TComponentaData>) => React.ReactElement<ArticleContentComponentaInstanceProps<TComponentaData>>\n    articleRenderAtSite?: (props: ArticleSiteRenderProps<TComponentaData>) => React.ReactElement<ArticleSiteRenderProps<TComponentaData>>\n    mobileAppRender?: (props: ArticleSiteRenderProps<TComponentaData>) => React.ReactElement<ArticleSiteRenderProps<TComponentaData>>\n    mobileWebRenderAtSite?: (props: ArticleSiteRenderProps<TComponentaData>) => React.ReactElement<ArticleSiteRenderProps<TComponentaData>>\n    mobileWebRender?: (props: ArticleContentComponentaInstanceProps<TComponentaData>) => React.ReactElement<ArticleContentComponentaInstanceProps<TComponentaData>>\n    contentWindow?: ArticleContentWindow<TComponentaData>\n    mergeDefaultData?: (oldData) => any\n    defaults?: ArticleWidgetDefaults\n    styleConstants?: React.CSSProperties\n    toVgnData?: (props: { data: TComponentaData, getImage(imageId: string): ImageDetails }) => any\n    getImages?: (props: { data: TComponentaData, getImage(imageId: string): ImageDetails }) => [{ imageId: string, domNodeId: string }]\n    buttonPosition?: ArticleWidgetButtonsPosition\n    breakButtonLine?: boolean\n    getGalleryImageIds?:(data:TComponentaData)=>string[]\n}\n\nexport interface SiteArticleWidgetType {\n    [siteName: string]: ArticleWidgetType<any>[]\n}\n\nexport interface ArticleContentWindow<ComponentaData extends DataObjectBase> {\n    render: (props: ArticleContentComponentaInstanceProps<ComponentaData>) => React.ReactElement<ArticleContentComponentaInstanceProps<ComponentaData>>\n    windowType: WidgetWindowType\n    windowSizes: WindowSizes\n    title?: string\n    className?: string\n}\n\ninterface ArticleWidgetDefaults {\n    height: number\n}\n\nexport type ArticleWidgetButtonsPosition = \"inside\" | \"above\";\n\nexport type TabLinkType = \"image\" | \"text\";\n\nexport type MobileDisplayType = \"basic\" | \"special\";\nexport interface InlineArticleComponentProps<TComponentaData extends DataObjectBase> {\n    data: ArticleData\n    componentaData?: TComponentaData\n    onChange(articleData: ArticleData): void\n    layoutData?: WidgetLayoutContentData\n    getImage(imageId: string): ImageDetails\n}\nexport interface ArticleContentComponentaInstanceProps<T extends DataObjectBase> {\n    articleData?: ArticleData\n    data: T\n    height?: string\n    alignment?: string\n    orderInType?: number\n    onChange: (data: T) => void,\n    onChangeHeight?: (newHeight: string) => void,\n    onMoveToTop?: () => void\n}\n\nexport type SiteMediaData = SiteImageData | SiteVideoData | YnetTvSiteVideoData | SiteVideoLiveData\nexport interface SiteImageData {\n    mediaType: typeof MediaContentTypes.MEDIA_IMAGE\n    url: string\n    title: string\n    alt: string\n    itemLinkUrl?: string\n    className: string\n    credit: string\n    mediaId?: string\n    ariaHidden?: boolean\n    poster?: string\n    labelText?:string\n    textPlace?:LabelPlace\n}\nexport interface SiteVideoLiveData extends BasicSiteVideo {\n    mediaType: typeof MediaContentTypes.MEDIA_LIVE | typeof MediaContentTypes.MEDIA_IFRAME\n}\n\nexport interface SiteVideoData extends BasicSiteVideo {\n    mediaType: typeof MediaContentTypes.MEDIA_VIDEO\n    categoryId?: string\n}\n\nexport interface BasicSiteVideo extends VideoBehaiforData {\n    mediaId?: string\n    url: string\n    downGradeUrl: string\n    poster: string\n    title?: string\n    itemLinkUrl?: string\n    isBigVideo?: boolean\n    credit?: string\n    youtube_id: string\n    blockAbroadViews: boolean\n    aspectRatio?: AspectRatio\n    videoName?: string\n    promoPath?: string\n    duration?: number\n    dateCreated?: Date\n    videoType?: string\n    videoPageId?: string\n}\n\nexport interface YnetTvSiteVideoData extends VideoBehaiforData {\n    mediaType: typeof MediaContentTypes.MEDIA_VIDEO\n    url: string\n    downGradeUrl: string\n    poster: string\n    title?: string\n    subTitle?: string\n    linkText?: string\n    itemLinkUrl?: string\n    isBigVideo?: boolean\n    credit?: string\n    mediaId?: string\n    youtube_id: string\n    blockAbroadViews: boolean\n    aspectRatio?: AspectRatio\n    promoPath?: string\n    duration?: number\n    videoType?: string\n}\n\nexport interface SiteItemData {\n    itemId?: string\n    itemType?: string\n    icon?: any\n    dateUpdatedOnSite?: Date\n    hasVideo?: boolean\n    author?: string\n    title?: string\n    titleLink?: string\n    titleTargetLink?: LinkTargetProperties\n    subTitle?: string\n    media: SiteMediaData\n    liveMedia?: SiteVideoLiveData\n    bottomText?: string\n    bottomTextLink?: string\n    bottomTextLinkTarget?: LinkTargetProperties\n    labelUrl?: string\n    labelLink?: string,\n    labelLinkTarget?: LinkTargetProperties,\n    labelName?: string\n    premiumExpireDays?: number\n    isCommertial?: boolean\n    isDFP?: boolean\n    dfpId?: string\n    subchannelName?: string\n    categoryName?: string\n    isYplusItem?: boolean\n    isMarketingContent?: boolean\n    marketingContentText?: string\n    labelObj?: any\n    promotionText?: string\n    redLabelText?:string \n    textPlace?:LabelPlace\n    audioArticleData?:any\n    roofTitle?:string\n}\n\nexport enum DateFormat {\n    dmy = \"dmy\",\n    mdy = \"mdy\",\n}\nexport interface dateData {\n    dateFormat: DateFormat\n    timeZone: string\n}\n\nexport type ArticleImageWidth = \"regular\" | \"thin\" | \"wide\";\n","import * as startsWith from \"lodash/startsWith\"\nimport { JsonIconType, ArticleLinkDataJson, LinkDataJson } from \"../widgetJsonInterfaces\"\nimport { ComponentaIconType } from \"widgets/commonDataObjects/interfaces\"\nimport { MultiArticleItemSlotData } from \"../../defenitions/multiArticle/data/multiArticleItemSlotData\"\nimport { LinkedItemSlotData } from \"widgets/commonDataObjects/linkedItemSlotData\"\nimport { ArticleLinkDataJsonVer2, LinkDataJsonVer2 } from \"../widgetJsonInterfacesVer2\";\nimport { JsonProps } from \"../../interfaces\";\nimport { channelIconUrl, ITitleLink } from \"widgets/widgetsUtils\"\n\nexport function dateToString(d: Date) {\n    if (!d) return null;\n    d = typeof d === \"string\" ? new Date(d) : d;\n    return `${zeroPad2(d.getDate())}/${zeroPad2(d.getMonth() + 1)}/${d.getFullYear()} ${zeroPad2(d.getHours())}:${zeroPad2(d.getMinutes())}`\n}\n\nfunction zeroPad2(n: number) {\n    if (n < 0) throw `${n} is less then zero and cannot be padded`;\n    return n < 10 ? `0${n}` : n.toString();\n}\n\nexport function bool2number(b: boolean) {\n    return b ? 1 : 0;\n}\n\nexport function stringToNumber(s: string) {\n    return Number(s);\n}\n\nexport function getIconType(slotItem: LinkedItemSlotData, link_data: LinkDataJson): JsonIconType {\n    const slot = slotItem as MultiArticleItemSlotData; // just so TS will not complain\n    if (slot.icon) {\n        if (slot.icon == ComponentaIconType.video ||\n            (slot.icon == ComponentaIconType.automatic &&\n                link_data &&\n                link_data.type == \"article\" &&\n                (<ArticleLinkDataJson>link_data).article_data.isVideo == 1)) {\n            return \"video\";\n        }\n    }\n    return undefined;\n}\nexport function getIconTypeVer2(slotItem: LinkedItemSlotData, link_data: LinkDataJsonVer2): JsonIconType {\n    const slot = slotItem as MultiArticleItemSlotData; // just so TS will not complain\n    const isVideo = link_data.link && (<ArticleLinkDataJsonVer2>link_data).link.hasVideo\n    if (slot.icon) {\n        if (slot.icon == ComponentaIconType.video ||\n            (slot.icon == ComponentaIconType.automatic &&\n                link_data &&\n                link_data.type == \"article\" &&\n                isVideo)) {\n            return \"video\";\n        }\n    }\n    return undefined;\n}\nconst htmlReplacements = {\n    \"&quot;\": '\"',\n    \"&#39;\": \"'\",\n    \"&amp;\": \"&\",\n    \"&lt;\": \"<\",\n    \"&gt;\": \">\",\n}\nconst htmlReplacementsRegexString = Object.keys(htmlReplacements).join(\"|\")\nconst htmlReplacementsRegex = new RegExp(htmlReplacementsRegexString, \"g\");\n\nexport function removeHtmlTagsFromString(input: string) {\n    if (input) {\n        return input\n            .replace(/<(?:.|\\n)*?>/gm, '')\n            .replace(/&[n]bsp;/g, ' ')\n            .replace(htmlReplacementsRegex, s => htmlReplacements[s]).trim();\n    }\n    return \"\"\n}\n\nexport function fixComponentaTitle(title) {\n    return title || \" \";\n}\n\nexport function addHttpsIfMissing(url: string) {\n    return startsWith(url, \"//\") ? `https:${url}` : url;\n}\n\nexport function channelIconUrlForJson(props: JsonProps<ITitleLink>) {\n    const icon = channelIconUrl(props.data, props.getPageCategory)\n    if (icon !== null) {\n        return props.imagesDomain + icon\n    }\n    return null\n}","require('./site_pikudHaOrefAlerts.less');\n\ndeclare var $: JQueryStatic\n\ninterface PikudHaOrefAlertsProps {\n    jsonUrl: string\n    interval: number\n}\ninterface alertItem {\n    guid: string\n    pubdate: string\n    title: string\n    description: string\n    link: string\n}\ninterface alertIteminArray {\n    [item: string]: alertItem\n}\ninterface PikudHaOrefAlertsState {\n    alerts: alertIteminArray[]\n    hoveredItem: alertIteminArray\n    missileAlertsIdSaver: string\n    pikudHaorefTitle: string\n}\n\nexport class PikudHaOrefAlerts extends React.Component<PikudHaOrefAlertsProps, PikudHaOrefAlertsState>{\n    public static siteScriptName = \"PikudHaOrefAlerts\"\n\n    constructor(props) {\n        super(props)\n        this.state = {\n            alerts: [],\n            missileAlertsIdSaver: null,\n            hoveredItem: null,\n            pikudHaorefTitle: \"התרעות פיקוד העורף\",\n        }\n    }\n\n\n    componentDidMount() {\n        const { jsonUrl, interval } = this.props;\n        if (!$) return;\n        try {\n            setInterval(() => { this.sendPikudHaorefAjax(jsonUrl) }, interval)\n        } catch (err) {\n            $(window).error(function () {\n                return true;\n            });\n        }\n\n    }\n    private missileAlertsCharsEsc = (str) => {\n        if (str) {\n            str.replace(/\\n/g, '\\n')\n                .replace(/\\'/g, '&#39;')\n                .replace(/'/g, '&#39;')\n                .replace(/\"/g, '&#34;');\n        }\n        return str;\n    };\n\n\n\n    private sendPikudHaorefAjax = (url: string) => {\n        url && $.ajax({\n            type: 'GET',\n            dataType: 'jsonp',\n            contentType: 'application/json; charset=utf-8',\n            data: null,\n            jsonpCallback: 'jsonCallback' || function jsonCallback(json) { },\n            cache: true,\n            url,\n            success: (json) => {\n                if (json.alerts && json.alerts.items) {\n                    const items: alertIteminArray[] = Array.isArray(json.alerts.items) ? json.alerts.items : [json.alerts.items.item]\n                    if (items.length > 0) {\n                        if (this.state.missileAlertsIdSaver != items[0].item.guid) {\n                            this.setState({ alerts: items, missileAlertsIdSaver: items[0].item.guid })\n                        }\n                    } else {\n                        this.setState({ alerts: [], missileAlertsIdSaver: null })\n                    }\n                } else {\n                    this.setState({ alerts: [], missileAlertsIdSaver: null })\n                }\n                \n                this.setState({ pikudHaorefTitle: json.title || \"התרעות פיקוד העורף\"})\n            },\n            error: function (json, error) {\n\n            }\n        });\n    }\n\n\n    private closeAlert = () => {\n        this.setState({ alerts: [] })\n    }\n\n    private showHoveredItem = (item) => {\n        this.setState({ hoveredItem: item })\n    }\n\n\n    private getPikudHaorefAlertStyle = () => {\n        const element = document.getElementById(\"ads.sargel\");\n        if (element) {\n            return {\n                bottom: element.clientHeight + \"px\"\n            }\n        }\n        return null\n    }\n\n    private wrapperRef: HTMLDivElement;\n\n    render() {\n        const { alerts, hoveredItem, pikudHaorefTitle } = this.state\n        const openClass = hoveredItem !== null ? \"open\" : \"\";\n        return (\n            alerts.length > 0 &&\n            <div className=\"pikudHaorefAlert\" style={this.getPikudHaorefAlertStyle()}>\n                <div className={`alertDescription ${openClass}`}>\n                    <div className=\"alert-description-container\">\n                        {hoveredItem !== null && <span className=\"area-description-title\">רשימת יישובים במרחב {hoveredItem.item.title}: </span>}\n                        {hoveredItem !== null && <span className=\"area-description\">{this.missileAlertsCharsEsc(hoveredItem.item.description)}</span>}\n                    </div>\n                    <div className=\"redArrow\" />\n                </div>\n                <div className=\"alert-top\">\n                    <div className=\"alert-top-container\">\n                        <a href=\"//www.oref.org.il\" target=\"_blank\" className=\"alerts-oref-logo\" />\n\n                        <div className=\"alerts-top-data\">\n                            <div className=\"alert-title\">\n                                {pikudHaorefTitle}\n                            </div>\n                            <ul className=\"areas\">\n                                {alerts.map((item, i) => {\n                                    return (\n                                        <li key={i}\n                                            onMouseEnter={() => this.showHoveredItem(item)}\n                                            onMouseLeave={() => this.showHoveredItem(null)}\n                                        >{item.item.title}</li>\n                                    )\n                                })}\n                            </ul>\n\n                        </div>\n                        <div className=\"alert-left\">\n                            <div className=\"alerts-close\" onClick={this.closeAlert}></div>\n                        </div>\n                    </div>\n\n                </div>\n            </div>\n\n\n        )\n    }\n}\n/**\n *          <div className=\"alerts-bottom\">\n                    <div className=\"alert-bottom-container\">\n                        <span className=\"alert-attention-text\">\n                            פיקוד העורף מזכיר: יש לחכות 10 דקות במרחב המוגן לפני שיוצאים החוצה\n                      </span>\n                        <a className=\"alert-permanent-link\" href=\"//www.oref.org.il/1096-he/Pakar.aspx\" target=\"_blank\">למציאת מרחב ההתגוננות האישי שלכם</a>\n                    </div>\n                </div>\n */","require(\"./../defenitions/article/componentas/articleComments/site_articleCommentsComponenta.less\")\nrequire(\"./../defenitions/article/componentas/articleComments/calcalist_magazine_yplus_site_articleCommentsComponenta.less\")\nrequire(\"../defenitions/article/componentas/articleComments/ynet1280Comments/app_ynet_yplus_pplus_magazine2025_articleComments.less\")\n\nimport * as axios from \"axios\"\nimport * as uniqBy from \"lodash/uniqBy\"\nimport * as take from \"lodash/take\"\nimport { ArticleCommentData, SortingOptions, ArticleCommentsStorageState } from \"../defenitions/article/componentas/articleComments/interfaces\"\nimport { SiteWebStorage } from \"../widgetsUtils\"\nimport { AddCommentFormWrapper, AddCommentFormRender, AddCommentFormRenderProps } from \"../defenitions/article/componentas/articleComments/addCommentFormWrapper\"\nimport { AddCommentFormYnetUI } from \"../defenitions/article/componentas/articleComments/addCommentFormYnetUI\"\nimport { PremiumAddCommentFormUI } from \"../defenitions/article/componentas/articleComments/premiumAddCommentFormUI\"\nimport { ArticleCommentWrapper, ArticleCommentRender, ArticleCommentRenderProps } from \"../defenitions/article/componentas/articleComments/articleCommentWrapper\"\nimport { PremiumArticleCommentUI } from \"../defenitions/article/componentas/articleComments/premiumArticleCommentUI\"\nimport { ArticleCommentYnetUi } from \"../defenitions/article/componentas/articleComments/articleCommentYnetUi\"\nimport { ArticleCommentsTopTabWrapper, ArticleCommentsTopTabRender, ArticleCommentsTopTabRenderProps } from \"../defenitions/article/componentas/articleComments/articleCommentsTopTabWrapper\"\nimport { PremiumArticleCommentsTopTabUI } from \"../defenitions/article/componentas/articleComments/premiumArticleCommentsTopTabUI\"\nimport { ArticleCommentsTopTabYnetUi } from \"../defenitions/article/componentas/articleComments/articleCommentsTopTabYnetUi\"\nimport { addAxiosDateTransformerSettings } from \"../../utils/network/axiosDateTransformer\";\nimport { getTranslation } from \"../defenitions/article/componentas/articleComments/translations\"\nimport { Grid1280ArticleCommentsTopTabUI } from \"../defenitions/article/componentas/articleComments/grid1280ArticleCommentsTopTabUi\";\nimport { CalcalistArticleCommentsTopTabUI } from \"../defenitions/article/componentas/articleComments/calcalistCommets/commentsTabUI\"\nimport { CalcalistAddCommentFormUI } from \"../defenitions/article/componentas/articleComments/calcalistCommets/calcalistAddCommentFormUI\"\nimport { CalcalistArticleCommentUI } from \"../defenitions/article/componentas/articleComments/calcalistCommets/calcalistArticleCommentUI\"\nimport { ArticleCommentsTopTabUI1280 } from \"../defenitions/article/componentas/articleComments/ynet1280Comments/ynetArticleCommentsTopTabUI1280\";\nimport { AddCommentFormUI1280 } from \"../defenitions/article/componentas/articleComments/ynet1280Comments/ynetAddCommentFormUI1280\";\nimport { ArticleCommentUI1280 } from \"../defenitions/article/componentas/articleComments/ynet1280Comments/ynetArticleCommentUI1280\"\nimport { ArticleCommentsTopTabAppUI } from \"../defenitions/article/componentas/articleComments/ynet1280Comments/ynetArticleCommentTopTabApp\";\nimport { ArticleCommentAppUI } from \"../defenitions/article/componentas/articleComments/ynet1280Comments/ynetArticleCommentAppUI\";\nimport { ArticleCommentMobileWebUI } from \"../defenitions/article/componentas/articleComments/ynet1280Comments/mutamArticleCommentAppUI\";\nimport { ArticleCommentsTopTabMobileWebUI } from \"../defenitions/article/componentas/articleComments/ynet1280Comments/mutamArticleCommentTopTabUI\";\nimport { MutamArticleCommentsPopupUI } from \"../defenitions/article/componentas/articleComments/ynet1280Comments/mutamArticleCommentsPopup\";\nimport { MutamArticleCommentsPopupWrapper, MutamArticleCommentsPopupRenderProps, MutamArticleCommentsPopupRender } from \"../defenitions/article/componentas/articleComments/mutamArticleCommentsPropsWrapper\";\nimport { ArticleCommentsCalcalistTopTabMobileWebUI } from \"../defenitions/article/componentas/articleComments/ynet1280Comments/mutamArticleCalcalistCommentTopTabUI\"\nimport { ArticleCommentMobileCalcalistWebUI } from \"../defenitions/article/componentas/articleComments/ynet1280Comments/mutamArticleCalcalistCommentAppUI\";\nimport { MutamArticleCommentsCalcalistPopupUI } from \"../defenitions/article/componentas/articleComments/ynet1280Comments/mutamArticleCommentsCalcalistPopup\";\n\ninterface SiteArticleCommentsProps {\n    articleId: string\n    lang: string\n    isLtr: boolean\n    displayType: string\n    isGrid1280?: boolean\n    version?: number\n    showFormWhenEmpty?: boolean\n    isGptType: string\n}\n\ninterface SiteArticleCommentsState {\n    comments: ArticleCommentData[]\n    numOfDiscussions: number\n    numOfComments: number\n    isAddCommentFormVisible: boolean\n    areAllCommentsExpanded: boolean\n    sortSelection: SortingOptions\n    IdOfLastTalkbackExpandedByUser: number\n    page: number\n    hasMore: boolean\n    isAllCommentsPopupVisable: boolean\n    isPopupClose: boolean\n    bodyOverflowState: string\n}\n\nexport class SiteArticleComments extends React.Component<SiteArticleCommentsProps, SiteArticleCommentsState>{\n    public static siteScriptName = \"SiteArticleComments\";\n    public isWcmCommetnsRecived = false;\n    constructor(props) {\n        super(props)\n        this.state = {\n            comments: [],\n            numOfDiscussions: 0,\n            numOfComments: 0,\n            isAddCommentFormVisible: false,\n            areAllCommentsExpanded: false,\n            sortSelection: \"end_to_start\",\n            IdOfLastTalkbackExpandedByUser: null,\n            page: 0,\n            hasMore: false,\n            isAllCommentsPopupVisable: false,\n            isPopupClose: false,\n            bodyOverflowState: \"\"\n        }\n    }\n\n    componentDidMount() {\n        const { articleId, showFormWhenEmpty } = this.props\n        const articleCommentsState: ArticleCommentsStorageState = SiteWebStorage.getSessionStorageItem(\"articleCommentsState\");\n        if (articleCommentsState && (articleCommentsState.articleId === articleId)) {\n            this.setState({\n                areAllCommentsExpanded: articleCommentsState.areAllCommentsExpanded,\n                sortSelection: articleCommentsState.sortSelection,\n                IdOfLastTalkbackExpandedByUser: articleCommentsState.IdOfLastTalkbackExpandedByUser,\n                page: 0,\n            })\n            this.getCommentsData(articleCommentsState.sortSelection);\n        }\n        else {\n            this.getCommentsData();\n        }\n\n        if (typeof window !== \"undefined\") {\n            window.handleCommentsPopupVisability = this.handleCommentsPopupVisibility\n        }\n    }\n\n    private getTalkbackNumberView = (tbNumber: number) => {\n        const stringNumber = tbNumber.toString()\n        let number = stringNumber\n\n        if (stringNumber.length >3) {\n            number = stringNumber.charAt(0) + \"k\"\n        } else if(stringNumber.length > 4) {\n            number = stringNumber.charAt(0) + stringNumber.charAt(1) + \"k\"\n        } else if (parseInt(stringNumber) === 0) {\n            number = \"\";\n        }\n\n        return number\n    }\n\n    private updateArticleCommentsStorageState = (talkbackId = null, allCommentsExpanded?) => {\n        const { articleId } = this.props\n        const { areAllCommentsExpanded, sortSelection, IdOfLastTalkbackExpandedByUser, page, numOfComments } = this.state\n        const plainArticleCommentsState: ArticleCommentsStorageState = {\n            articleId,\n            areAllCommentsExpanded: allCommentsExpanded || areAllCommentsExpanded,\n            IdOfLastTalkbackExpandedByUser: talkbackId || IdOfLastTalkbackExpandedByUser,\n            sortSelection,\n        }\n        SiteWebStorage.setSessionStorageItem(\"articleCommentsState\", plainArticleCommentsState)\n    }\n\n    private getCommentsData = (sortBy: SortingOptions = \"end_to_start\", page: number = 0) => {\n        const { articleId, showFormWhenEmpty } = this.props\n        const axiosInstance = axios.create(addAxiosDateTransformerSettings());\n        axiosInstance.get(`/iphone/json/api/talkbacks/list/${articleId}/${sortBy}/${page}`)\n            .then((res: any) => {\n                if (res.data.rss.channel && res.data.rss.channel.item) {\n                    const comments: ArticleCommentData[] = res.data.rss.channel.item\n                    const numOfDiscussions: number = res.data.rss.channel.sum_discussions;\n                    const numOfComments: number = res.data.rss.channel.sum_talkbacks;\n                    const hasMore: boolean = res.data.rss.channel.hasMore === 1;\n                    this.setState((pState) => {\n                        const newComments = uniqBy([...pState.comments, ...comments], 'id')\n                        return {\n                            comments: newComments,\n                            numOfDiscussions,\n                            numOfComments,\n                            hasMore,\n                        }\n                    })\n                }\n                else {\n\n                    this.setState({ isAddCommentFormVisible: this.props.showFormWhenEmpty })\n                }\n                window.wcmNumOfComments = this.getTalkbackNumberView(this.state.numOfComments)\n                \n                if(!this.isWcmCommetnsRecived){\n                    document.dispatchEvent(new CustomEvent('onWcmCommetnsRecived',{ \n                        detail:{\n                            wcmNumOfComments: window.wcmNumOfComments\n                        }}));\n                    this.isWcmCommetnsRecived = true;\n                }\n        })}\n\n    private handleSortSelection = (e) => {\n        const sortSelectionValue = e.target.value as SortingOptions\n        this.getCommentsData(sortSelectionValue)\n        this.setState({\n            page: 0,\n            comments: [],\n            sortSelection: sortSelectionValue,\n            areAllCommentsExpanded: (sortSelectionValue === \"recommended\" || sortSelectionValue === \"interest\") ? true : false\n        }, () => this.updateArticleCommentsStorageState(null, false))\n    }\n\n    private expandAllComments = (shouldExpandComments: boolean) => {\n        this.setState({ areAllCommentsExpanded: shouldExpandComments }, () => this.updateArticleCommentsStorageState())\n    }\n\n    private handleFormVisibility = () => {\n        this.setState((pState: SiteArticleCommentsState) => {\n            return { isAddCommentFormVisible: !pState.isAddCommentFormVisible }\n        })\n    }\n\n    private handleCloseCommentForm = () => {\n        this.setState({ isAddCommentFormVisible: false })\n    }\n\n    private handleCommentsPopupVisibility = () => {\n        this.setState(state => ({ isAllCommentsPopupVisable: !state.isAllCommentsPopupVisable }), () => {\n            if (this.state.isAllCommentsPopupVisable) {\n                this.setState({\n                    bodyOverflowState: document.querySelector(\"body\").style.overflow,\n                    isPopupClose: false\n                });\n                document.querySelector(\"body\").style.overflow = \"hidden\";\n                if (this.state.hasMore) {\n                    this.loadMoreComments();\n                }\n            } else {\n                this.setState({ isPopupClose: true });\n                document.querySelector(\"body\").style.overflow = this.state.bodyOverflowState;\n            }\n        });\n    }\n\n    private handleCommentsPopupClose = () => {\n        const { sortSelection } = this.state  \n        this.setState({ comments: [], page: 0 }, () => {\n            this.getCommentsData(sortSelection, 0)\n        })\n        this.setState({  isAllCommentsPopupVisable: false, isPopupClose: true})\n \n        document.querySelector(\"body\").style.overflow = this.state.bodyOverflowState;\n        this.handleCloseCommentForm();\n      //  this.onCloseCommentsBtnPress();\n    }\n\n    private handlePaginationBtnPress = (step) => {\n        const { page, sortSelection } = this.state\n        const nextPage = page + step\n        this.setState({ page: nextPage })\n        this.getCommentsData(sortSelection, nextPage)\n    }\n\n    private loadMoreComments = (sortSelectionValue?: SortingOptions) => {\n        const { page, sortSelection } = this.state;\n        const nextPage = page + 1;\n        this.setState({ page: nextPage }, () => {\n            this.getCommentsData(sortSelectionValue ? sortSelectionValue : sortSelection, nextPage);\n        });\n        this.analyticsLoadMoreCommentsPushFunc()\n    }\n\n    private analyticsLoadMoreCommentsPushFunc = () => {\n        if (typeof window !== \"undefined\") {\n            window.dataLayer = window.dataLayer || []\n            window.dataLayer.push({\n                event: 'comments_events',\n                Category: 'Comments',\n                Action: 'Watch More Comments'\n            });\n        }\n    }\n\n    private onCloseCommentsBtnPress = () => {\n        const { sortSelection } = this.state\n        this.setState({ comments: [], page: 0 }, () => {\n            this.getCommentsData(sortSelection, 0)\n            var elmnt = document.getElementById(\"SiteArticleComments\");\n            elmnt.scrollIntoView();\n        })\n    }\n\n    render() {\n        const { comments, numOfDiscussions, numOfComments, isAddCommentFormVisible, areAllCommentsExpanded,\n            sortSelection, IdOfLastTalkbackExpandedByUser, page, hasMore, isAllCommentsPopupVisable, isPopupClose } = this.state\n        const { articleId, lang, isLtr, displayType, isGrid1280, version, showFormWhenEmpty, isGptType } = this.props\n        let EnglishSiteCss = isLtr ? \"englishSite\" : \"\"\n\n        const isYnetPlus = displayType === \"premium\"\n        const calcalist = displayType === \"calcalist\"\n        const isFirmaDesign = displayType === \"firma\"\n        const isFirmaApp = displayType === \"firmaApp\"\n        const isFirmaMobileWeb = displayType === \"firmaMobileWeb\"\n        const isCalcalistMobileWeb = displayType === \"calclistMobileWeb\"\n        const isMobileWeb = displayType === \"firmaMobileWeb\" || displayType === \"calclistMobileWeb\";\n\n        let AddCommentFormRender: AddCommentFormRender;\n        let ArticleCommentRender: ArticleCommentRender;\n        let ArticleCommentsTopTabRender: ArticleCommentsTopTabRender;\n        let ArticleCommentsPopupRender: MutamArticleCommentsPopupRender;\n        let limitComments = 0;\n\n        if (isYnetPlus) {\n            ArticleCommentsTopTabRender = (props: ArticleCommentsTopTabRenderProps) => isGrid1280 ? <Grid1280ArticleCommentsTopTabUI props={props} /> : <PremiumArticleCommentsTopTabUI props={props} />\n            AddCommentFormRender = (props: AddCommentFormRenderProps) => <PremiumAddCommentFormUI props={props} />\n            ArticleCommentRender = (props: ArticleCommentRenderProps) => <PremiumArticleCommentUI props={props} />\n        }\n\n        else if (calcalist) {\n            ArticleCommentsTopTabRender = (props: ArticleCommentsTopTabRenderProps) => <CalcalistArticleCommentsTopTabUI props={props} />\n            AddCommentFormRender = (props: AddCommentFormRenderProps) => <CalcalistAddCommentFormUI props={props} />\n            ArticleCommentRender = (props: ArticleCommentRenderProps) => <CalcalistArticleCommentUI props={props} />\n        }\n\n        \n        else if (isFirmaDesign) {\n            AddCommentFormRender = (props: AddCommentFormRenderProps) => <AddCommentFormUI1280 props={props} />\n            ArticleCommentRender = (props: ArticleCommentRenderProps) => <ArticleCommentUI1280 props={props} />\n            ArticleCommentsTopTabRender = (props: ArticleCommentsTopTabRenderProps) => <ArticleCommentsTopTabUI1280 props={props} />\n        }\n        else if (isFirmaApp) {\n            AddCommentFormRender = (props: AddCommentFormRenderProps) => null,\n                ArticleCommentRender = (props: ArticleCommentRenderProps) => version > 2 ? <ArticleCommentAppUI props={props} /> : null,\n                ArticleCommentsTopTabRender = (props: ArticleCommentsTopTabRenderProps) => version > 2 ? <ArticleCommentsTopTabAppUI props={props} /> : null\n        }\n        else if (isFirmaMobileWeb) {\n            AddCommentFormRender = (props: AddCommentFormRenderProps) => null;\n            ArticleCommentRender = (props: ArticleCommentRenderProps) => <ArticleCommentMobileWebUI props={props} />;\n            ArticleCommentsTopTabRender = (props: ArticleCommentsTopTabRenderProps) => <ArticleCommentsTopTabMobileWebUI props={props} />;\n            ArticleCommentsPopupRender = (props: MutamArticleCommentsPopupRenderProps) => <MutamArticleCommentsPopupUI props={props} />;\n            limitComments = 3;\n        }\n        else if(isCalcalistMobileWeb){\n            AddCommentFormRender = (props: AddCommentFormRenderProps) => null;\n            ArticleCommentRender = (props: ArticleCommentRenderProps) => <ArticleCommentMobileCalcalistWebUI props={props} />;\n            ArticleCommentsTopTabRender = (props: ArticleCommentsTopTabRenderProps) => <ArticleCommentsCalcalistTopTabMobileWebUI props={props} />;\n            ArticleCommentsPopupRender = (props: MutamArticleCommentsPopupRenderProps) => <MutamArticleCommentsCalcalistPopupUI props={props} />;\n          limitComments = 5;\n\n        }\n        else {\n            AddCommentFormRender = (props: AddCommentFormRenderProps) => <AddCommentFormYnetUI props={props} />\n            ArticleCommentRender = (props: ArticleCommentRenderProps) => <ArticleCommentYnetUi props={props} />\n            ArticleCommentsTopTabRender = (props: ArticleCommentsTopTabRenderProps) => <ArticleCommentsTopTabYnetUi props={props} />\n        }\n\n        const commentsToShow = limitComments ? take(comments, limitComments) : comments;\n        const showAds = (isFirmaApp && version > 2) || (isGrid1280 && isYnetPlus) || isFirmaMobileWeb;\n        const script_display = isGptType && isGptType == \"new\" ? <script type=\"text/javascript\" dangerouslySetInnerHTML={{ __html: `googletag.cmd.push(function() { googletag.display(\"ads.box\"); });` }}></script> : \"\";\n        return (\n            <div className={isFirmaApp ? \"SiteAppArticleComments\" : `SiteArticleComments ${EnglishSiteCss}`} id=\"SiteArticleComments\">\n                <ArticleCommentsTopTabWrapper\n                    render={ArticleCommentsTopTabRender}\n                    lang={lang}\n                    isLtr={isLtr}\n                    numOfComments={numOfComments}\n                    numOfDiscussions={numOfDiscussions}\n                    sortSelection={sortSelection}\n                    areAllCommentsExpanded={areAllCommentsExpanded}\n                    isAddCommentFormVisible={isAddCommentFormVisible}\n                    expandAllComments={this.expandAllComments}\n                    handleFormVisibility={this.handleFormVisibility}\n                    handleSortSelection={this.handleSortSelection}\n                    handleCommentsPopupVisibility={this.handleCommentsPopupVisibility}\n                    handleCommentsPopupClose={this.handleCommentsPopupClose}\n                />\n\n                <AddCommentFormWrapper\n                    render={AddCommentFormRender}\n                    isAddCommentFormVisible={isAddCommentFormVisible}\n                    lang={lang}\n                    articleId={articleId}\n                    formType={\"NEW\"}\n                    handleCloseCommentForm={this.handleCloseCommentForm}\n                    isFirstComment={showFormWhenEmpty && numOfComments === 0}\n                />\n\n\n                <div className=\"commentsContainer\">\n                    {commentsToShow.map((comment, i) =>\n                        <div key={`comment_${comment.id}`}>\n                            <ArticleCommentWrapper\n                                render={ArticleCommentRender}\n                                lang={lang}\n                                IdOfLastTalkbackExpandedByUser={IdOfLastTalkbackExpandedByUser}\n                                handleUpdateArticleCommentsStorageState={this.updateArticleCommentsStorageState}\n                                isAutoExpanded={areAllCommentsExpanded}\n                                articleId={articleId}\n                                comment={comment}\n                                isFirma={isFirmaDesign}\n                                isFirmaMobileWeb={isFirmaMobileWeb}\n                                handleCommentsPopupClose={this.handleCommentsPopupClose}\n                                isAllCommentsPopupVisable={isAllCommentsPopupVisable}\n                            />\n                        </div>\n                    )}\n                </div>\n\n                {isMobileWeb &&\n                    <MutamArticleCommentsPopupWrapper\n                        render={ArticleCommentsPopupRender}\n                        lang={lang}\n                        articleId={articleId}\n                        comments={comments}\n                    isFirmaMobileWeb={isMobileWeb}\n                    isAddCommentFormVisible={isAddCommentFormVisible}\n                        IdOfLastTalkbackExpandedByUser={IdOfLastTalkbackExpandedByUser}\n                        updateArticleCommentsStorageState={this.updateArticleCommentsStorageState}\n                        areAllCommentsExpanded={areAllCommentsExpanded}\n                        numOfComments={numOfComments}\n                        showFormWhenEmpty={showFormWhenEmpty}\n                        handleCloseCommentForm={this.handleCloseCommentForm}\n                        handleFormVisibility={this.handleFormVisibility}\n                        isAllCommentsPopupVisable={isAllCommentsPopupVisable}\n                        handleCommentsPopupClose={this.handleCommentsPopupClose}\n                        handleCommentsPopupVisibility={this.handleCommentsPopupVisibility}\n                    isPopupClose={isPopupClose}\n                    loadMoreComments={this.loadMoreComments}\n                    hasMore={hasMore}\n                    />}\n\n                {hasMore && isFirmaApp && version > 2 ? <a href={\"go_to_all_comments\"} className=\"showMoreCommentsButton-pf firmaApp\">לכל התגובות</a> : null}\n                {((!hasMore  && isMobileWeb) || hasMore ) && !isFirmaApp &&\n                    <div className=\"showMoreCommentsButton\" onClick={isMobileWeb ? ()=>this.handleCommentsPopupVisibility() : e => this.loadMoreComments()}>\n                        {isCalcalistMobileWeb ? \"לכל התגובות\" : getTranslation(lang, \"Load More Talkbacks\")}\n                    </div>}\n                {showAds && <div id=\"ads.box\" className=\"CommentsBox\">{script_display}</div>}\n                {!hasMore && page > 0 && !isMobileWeb && \n                    <div className=\"closeCommentsButton\" onClick={this.onCloseCommentsBtnPress}>\n                        {getTranslation(lang, \"Close Talkbacks\")}\n                    </div>}\n            </div>\n        )\n    }\n}\n","import { AccordionItem, AccordionSection } from \"./accordionSection\";\nimport * as classNames from \"classnames\"\nimport { ToggleSwitch } from \"../../commonComponents/inline/toggleSwitch/toggleSwitch\"\nimport { LinkedFlashItem } from \"../../defenitions/ynetnews1280/linkedFlashWidget/components/linkedFlashItem\";\nimport {getTranslation} from \"../../defenitions/ynet1280/autoTickerRowWidget/autoTickerRowTranslations\"\n\ninterface accordionProps {\n    items: AccordionItem[]\n    isMobileWeb?: boolean\n    isFirmaComp?: boolean\n    languageCode: string\n    hasArticleLink: boolean\n}\ninterface accordionState {\n    openedItemIndex: string\n    typeOfView: string\n    openedItems: any[]\n}\n\nexport class Accordion extends React.Component<accordionProps, accordionState>{\n    public static siteScriptName = \"Accordion\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            openedItemIndex: this.getSharedItem() || null,\n            typeOfView: \"regular\",\n            openedItems: []\n        }\n    }\n    getSharedItem = () => {\n        const url = typeof window !== \"undefined\" ? window.location.href : \"\";\n        const urlSliceIndex = url.indexOf(\"#\")\n        if (urlSliceIndex !== -1) {\n            return url.slice(urlSliceIndex + 1)\n        }\n        return \"\"\n    }\n    private itemToggle = (i) => {\n        const { openedItemIndex, typeOfView, openedItems } = this.state\n        const { items } = this.props\n        if (typeOfView === \"expanded\") {\n            const idx = openedItems.findIndex(id => id === items[i].articleId);\n            const articleId = items[i].articleId;\n            (idx !== -1) ? this.closeItem(articleId) : this.openItem(articleId)\n        } else {\n            if (items[i].articleId === openedItemIndex) {\n                this.setState({\n                    openedItemIndex: null\n                })\n            }\n            else {\n                this.setState({\n                    openedItemIndex: items[i].articleId\n                })\n            }\n        }\n    }\n    private handelViewChange = (ev) => {\n        const { items } = this.props\n        const { openedItems } = this.state\n        const newTypeView = ev.target.value\n        this.setState((prevState: accordionState) => {\n            return {\n                ...prevState,\n                typeOfView: newTypeView\n            }\n        })\n        for (let i = 0; i < items.length; i++) {\n            const idx = openedItems.findIndex(idx => idx === items[i].articleId)\n            if (idx === -1) this.openItem(items[i].articleId)\n        }\n    }\n    private openItem = (id) => {\n        this.setState((prevState: accordionState) => {\n            return {\n                ...prevState,\n                openedItems: [...prevState.openedItems, id]\n            }\n        })\n    }\n    private closeItem = (id) => {\n        this.setState((prevState: accordionState) => {\n            const newOpenedItems = prevState.openedItems.filter(i => i !== id)\n            return {\n                ...prevState,\n                openedItems: newOpenedItems\n            }\n        })\n    }\n    private onSwitchChange = () => {\n        const { typeOfView, openedItems } = this.state\n        const { items } = this.props\n        if (typeOfView === \"regular\") {\n            this.setState({ typeOfView: \"expanded\" })\n            for (let i = 0; i < items.length; i++) {\n                const idx = openedItems.findIndex(id => id === items[i].articleId)\n                if (idx === -1) this.openItem(items[i].articleId)\n            }\n        }\n        else if (typeOfView === \"expanded\") {\n            this.setState({ typeOfView: \"regular\" })\n            for (let i = 0; i < openedItems.length; i++) {\n                this.closeItem(openedItems[i])\n            }\n        }\n    }\n\n    render() {\n        const { items, isMobileWeb, isFirmaComp, languageCode, hasArticleLink } = this.props;\n        const { openedItemIndex, typeOfView, openedItems } = this.state;\n        const lang = languageCode ? languageCode.slice(0,2) : \"he\";\n\n        return (\n            <div className=\"Accordion\">\n\n                {isMobileWeb ?\n                    isFirmaComp ?\n                        <div className=\"displayModeToggle\">\n                            <div className=\"toggleTitle\">{getTranslation(lang, \"ExtendedView\")}</div>\n                            <ToggleSwitch\n                                checked={this.state.typeOfView === \"expanded\"}\n                                onSwitchPressed={this.onSwitchChange}\n                            />\n                        </div> : \"\"\n                    : <div className=\"radioViewsPreference\">\n                        <label>{getTranslation(lang, \"StandardView\")}\n                            <input className=\"typeOfViewInput\" type=\"radio\" name=\"typeOfView\" value=\"regular\" onChange={this.handelViewChange} checked={this.state.typeOfView === \"regular\"} />\n                            <div className={classNames(\"blackCircleInput\", { \"radioOn\": typeOfView === \"regular\" })}></div>\n                            <div className=\"backgroundOfInput\"></div>\n                        </label>\n                        <label>{getTranslation(lang, \"ExtendedView\")}\n                            <input className=\"typeOfViewInput\" type=\"radio\" name=\"typeOfView\" value=\"expanded\" onChange={this.handelViewChange} checked={this.state.typeOfView === \"expanded\"} />\n                            <div className={classNames(\"blackCircleInput\", { \"radioOn\": typeOfView === \"expanded\" })}></div>\n                            <div className=\"backgroundOfInput\"></div>\n                        </label>\n                    </div>}\n\n                {items.map((item, i) => (\n                    hasArticleLink ?\n                        <LinkedFlashItem key={item.articleId} item={item as LinkedFlashItem} languageCode={languageCode} />\n                        :\n                        \n                        <AccordionSection\n                            key={item.articleId}\n                            isOpen={(typeOfView === \"regular\" && openedItemIndex === item.articleId) || (typeOfView === \"expanded\" && openedItems.find(i => i === item.articleId))}\n                            accordionItem={item}\n                            onClick={() => this.itemToggle(i)}\n                            shareUrl={item.shareUrl}\n                            isMobileWeb={isMobileWeb}\n                            languageCode={languageCode}\n                        />\n                ))}\n            </div>\n        )\n    }\n}\n","import { DateDisplay } from \"../../commonComponents/inline/dateDisplay/dateDisplay\"\nimport { scrollToElement } from \"../../defenitions/blogsAutoFeed/blogsAutoFeedUtils\";\nimport { AccordionSocialsShareComponenta } from './accordionSocialsShareComponenta'\nimport { convertHtmlToString } from \"../../../config/utils\";\nimport {getTranslation} from \"../../defenitions/ynet1280/autoTickerRowWidget/autoTickerRowTranslations\"\n\nexport interface AccordionItem {\n    date: Date\n    text: string\n    title: string\n    articleId: string\n    shareUrl: string\n    author?:string\n}\n\ninterface accordionItemProps {\n    isOpen: boolean\n    accordionItem: AccordionItem\n    onClick: () => void\n    isMobileWeb?: boolean\n    languageCode: string\n}\n\n\n\nexport class AccordionSection extends React.Component<accordionItemProps>{\n\n    private lastPublished = () => {\n        const { accordionItem } = this.props\n        let secDiff = Math.floor((Date.now() - new Date(accordionItem.date).getTime()) / 1000);\n        let minutesDiff = Math.floor(secDiff / 60);\n        return minutesDiff;\n    }\n\n    componentDidMount() {\n        const { accordionItem } = this.props\n        const itemId = this.getSharedItem()\n        if (itemId && itemId === accordionItem.articleId) {\n            scrollToElement(itemId, \"start\", \"center\")\n        }\n    }\n    getSharedItem = () => {\n        const url = typeof window !== \"undefined\" ? window.location.href : \"\";\n        const urlSliceIndex = url.indexOf(\"#\")\n        if (urlSliceIndex !== -1) {\n            return url.slice(urlSliceIndex + 1)\n        }\n\n        return \"\"\n\n    }\n    render() {\n        const { isOpen, accordionItem, onClick, isMobileWeb, languageCode } = this.props;\n\n        const opened = isOpen ? \"opened\" : \"\";\n        const newItem = isMobileWeb ? this.lastPublished() < 3 : this.lastPublished() < 1\n        const newFlash = newItem ? \"new\" : \"\";\n        const lang = languageCode ? languageCode.slice(0,2) : \"he\";\n        const date = newItem ? getTranslation(lang, \"Now\") : <DateDisplay date={accordionItem.date}/>;\n        const isAuthor = accordionItem.author && accordionItem.author.length > 0;\n       return (\n            <div className={`AccordionSection  ${accordionItem.articleId}`} id={accordionItem.articleId}>\n                <div onClick={onClick} className={`titleRow ${opened}  ${newFlash}`}>\n                    <div className=\"date\">{date}\n                        {!isOpen && <div className=\"itemSeparator\" />}\n                    </div>\n                    <div className=\"title\"> {convertHtmlToString(accordionItem.title)}</div>\n                    <div className=\"arrow\">\n                        <div className={isOpen ? \"itemToggler toClose\" : \"itemToggler toOpen\"} />\n                    </div>\n                </div>\n                {isOpen &&\n                    <div className=\"itemBody\">\n                        {convertHtmlToString(accordionItem.text)}\n                        {isAuthor && <br/>}\n                        {isAuthor && `(${accordionItem.author})`}\n                        <AccordionSocialsShareComponenta\n                            shareUrl={accordionItem.shareUrl}\n                            title={accordionItem.title}\n                            articleId={accordionItem.articleId}\n                            isMobileWeb={isMobileWeb}\n                        />\n                    </div>\n                }\n            </div>\n        )\n    }\n}\n","require(\"./ynet_ynetnews_vesty_site_siteAccordionSocialsShareComponenta.less\")\nimport { openFacebookShare, openTwitterShare, analyticsPushFunc } from \"../../widgetsUtils\"\nimport { MailShareButton } from \"widgets/siteWidgets/socialShareButtons/mail/mailShareButton\"\nimport { WhatsAppShareButton } from \"../socialShareButtons/whatsApp/whatsAppShareButton\"\nconst clickOutside = require('react-click-outside');\nimport {getTranslation} from \"../../defenitions/ynet1280/autoTickerRowWidget/autoTickerRowTranslations\"\n\n\ninterface shareState {\n    isMenuOpened: boolean\n}\ninterface shareProps {\n    shareUrl: string\n    title: string\n    articleId?: string\n    isMobileWeb?: boolean\n    className?:string\n    isNew?:boolean\n}\ndeclare let window: Window & {\n    languageCode: string\n}\n\n@clickOutside\nexport class AccordionSocialsShareComponenta extends React.Component<shareProps, shareState>{\n\n    private handleShareBtnClicked = (button: string) => {\n        if (typeof window !== \"undefined\") {\n            const current_url = this.props.shareUrl;\n            const {title, isNew} = this.props;\n            const current_article_id = this.props.articleId ? this.props.articleId : null;\n            switch (button) {\n                case \"fb\":\n                   openFacebookShare(current_url, \"\",   isNew ? () => analyticsPushFunc(\"Facebook\",  \"Share\", title):() => analyticsPushFunc(\"Share News Flash\", \"News Flash Tab\", \"Facebook\"), \"Flash\", current_article_id)\n                    break;\n\n                case \"tw\":\n                    openTwitterShare(current_url, isNew ? () => analyticsPushFunc(\"Twitter\", \"Share\", title): () => analyticsPushFunc(\"Share News Flash\", \"News Flash Tab\", \"Twitter\"), \"Flash\", current_article_id)\n                    break;\n\n                case \"mailto\":\n                    MailShareButton.openMailShare(title, current_url, \"heFlash\", isNew ? () => analyticsPushFunc( \"Mail\", \"Share\", title): () => analyticsPushFunc(\"Share News Flash\", \"News Flash Tab\", \"Mail\"), \"Flash\", current_article_id)\n                    break;\n\n                case \"wa\":\n                    WhatsAppShareButton.openWhatsAppShare(current_url, isNew ? () => analyticsPushFunc(\"Whatsapp\", \"Share\", title):() => analyticsPushFunc(\"Share News Flash\", \"News Flash Tab\", \"Whatsapp\") , \"Flash\", current_article_id)\n                    break;\n            }\n        }\n    }\n\n    private openNativeShare = async () => {\n        const shareData = { url: this.props.shareUrl, title: this.props.title }\n        try {\n            // @ts-ignore \n            await navigator.share(shareData)\n        } catch (err) {\n            console.log(\"error with sharing function\", err);\n        }\n    }\n\n    render() {\n        const { isMobileWeb , className} = this.props\n        const lang = window && window.languageCode.slice(0, 2) ? window.languageCode.slice(0, 2) : \"he\";\n        const textMail = getTranslation(lang, \"ShareByMail\");\n        const textTw = getTranslation(lang, \"ShareByTwitter\");\n        const textFb = getTranslation(lang, \"ShareByFacebook\");\n        const textWa = getTranslation(lang, \"ShareByWhatsApp\");\n\n        return (\n            <div className={`AccordionShareWrapper ${className ? className : \"\"}`}>\n                {isMobileWeb ?\n                    <div className=\"mobileShareBtn\" onClick={this.openNativeShare}></div> :\n                    <div className=\"AccordionSocialsShareComponenta\">\n                        <button title={textMail} className=\"shareIcon1280 mailto\" onClick={e => this.handleShareBtnClicked(\"mailto\")}></button>\n                        <button title={textTw} className=\"shareIcon1280 tw\" onClick={e => this.handleShareBtnClicked(\"tw\")}></button>\n                        <button title={textWa} className=\"shareIcon1280 wa\" onClick={e => this.handleShareBtnClicked(\"wa\")}></button>\n                        <button title={textFb} className=\"shareIcon1280 fb\" onClick={e => this.handleShareBtnClicked(\"fb\")}></button>\n                    </div>}\n            </div>\n        )\n    }\n}\n","declare var window: Window & {\n    languageCode: string\n}\nexport const formatDateDisplay = (date: string, isArticleStr: string, isMinutesAgo?:string, hiddenYesterday?:string, nowTextApply?:string, commaSeparation?:string) => {\n    if (date) {\n        const isArticle = isArticleStr === \"1\";\n        const isNowTextApply = nowTextApply ===\"1\";\n        const isCommaSeparation = commaSeparation ===\"1\"\n        const minutesAgo = isMinutesAgo===\"1\";\n        const ishiddenYesterday =hiddenYesterday ===\"1\" \n        const dateToManipulateTemp = new Date(date)\n        const diffFromToday = getDiffFromToday(dateToManipulateTemp)\n        const arabSite = window && window.languageCode && window.languageCode.slice(0, 2) === \"ar\";\n        switch (diffFromToday) {\n            case 0: return getToday(dateToManipulateTemp, minutesAgo, isNowTextApply);\n            case 1: return arabSite ? getRegularDate(dateToManipulateTemp, true, isCommaSeparation) : getYesterday(dateToManipulateTemp, ishiddenYesterday, isCommaSeparation);\n            default: return getRegularDate(dateToManipulateTemp, arabSite ? true : isArticle, isCommaSeparation);\n        }\n    }\n    else return \"\"\n}\nfunction formatNum(num: number) {\n    const displayNum = num < 10 ? '0' + num : num;\n    return displayNum\n}\nconst hours = (date: Date) => {\n    return formatNum(date.getHours())\n}\nconst minutes = (date: Date) => {\n    return formatNum(date.getMinutes())\n}\nconst days = (date: Date) => {\n    return formatNum(date.getDate())\n}\nconst month = (date: Date) => {\n    return formatNum(date.getMonth() + 1)\n}\n\nconst year = (date: Date) => date.getFullYear().toString().slice(-2)\n\nfunction getToday(date: Date, isMinutesAgo?: boolean, isNowTextApply?:boolean) {\n    let time = `${hours(date)}:${minutes(date)}`; \n    if(isNowTextApply && minutesDiff(date) < 5){          \n        time = \"<span class='title-row__now'>עכשיו</span>\";     \n}\n    if (isMinutesAgo && minutesDiff(date) < 60){\n        if (window && window.languageCode) {\n            if (window.languageCode.slice(0, 2) === \"en\") {\n                time = `${minutesDiff(date)} minutes ago`;\n            }\n            else if (window.languageCode === \"ru-RU\") {\n                time = `${minutesDiff(date)} минут назад`;\n            }\n            else if (window.languageCode === \"he-IL\") {\n                time = `לפני ${minutesDiff(date)} דקות`;\n            }\n        }\n    }\n   \n        return time\n}\nfunction minutesDiff(date: Date) {\n    let secDiff = Math.floor((Date.now() - new Date(date).getTime()) / 1000);\n    let minutesDiff = Math.floor(secDiff / 60);\n    return minutesDiff;\n}\n\n\nfunction getYesterday(date: Date, hiddenYesterday?:boolean, commaSeparation?:boolean) {\n    let yesterday = \"אתמול\";\n    let separator = \" | \";\n    if(commaSeparation){\n        separator =  \", \";\n    }\n    if (window && window.languageCode) {\n        if (window.languageCode.slice(0, 2) === \"en\") {\n            yesterday = \"Yesterday\";\n        }\n        else if (window.languageCode === \"ru-RU\") {\n            yesterday = \"Вчера\";\n        }\n        else if (window.languageCode === \"he-IL\") {\n            yesterday = \"אתמול\";\n        }\n        if (window.languageCode.slice(0, 2) === \"ar\") {\n            yesterday = \"امس\";\n        }\n    }\nlet time = `${yesterday}${separator}${hours(date)}:${minutes(date)}`;\nif(hiddenYesterday){\n    if (window && window.languageCode) {\n        if (window.languageCode.slice(0, 2) === \"en\") {\n          time = `${month(date)}.${days(date)}.${year(date)}`;   \n        }\n        else{\n            time = `${days(date)}.${month(date)}.${year(date)}`\n        }  \n}\n}\n    return time;\n}\nfunction getRegularDate(date: Date, isArticle: boolean, commaSeparation?:boolean) {\n    let separator = \" | \";\n    if(commaSeparation){\n        separator =  \", \";\n    }\n    let dateView = `${days(date)}.${month(date)}.${year(date)}`\n    if (window && window.languageCode) {\n        if (window.languageCode.slice(0, 2) === \"en\") {\n            dateView = `${month(date)}.${days(date)}.${year(date)}`\n        }\n    }\n    const time = isArticle ? `${dateView}${separator}${hours(date)}:${minutes(date)}` : dateView;\n    return time\n}\nexport function getDiffFromToday(date: Date) {\n    return dateDaysDiff(date, new Date())\n}\n\nfunction dateDaysDiff(date1: Date, date2: Date) {\n    const timeDiff = getDateOnly(date2).getTime() - getDateOnly(date1).getTime();\n    const diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));\n    return diffDays;\n}\n\nfunction getDateOnly(date: Date) {\n    const d = new Date(date);\n    d.setHours(0, 0, 0, 0);\n    return d;\n}\n\nexport const insertDateInSiteServerRender = () => {\n    if (typeof window !== \"undefined\") {\n        const elements = document.querySelectorAll('[data-wcmdate]')\n        for (let el of elements) {\n            el.innerHTML = formatDateDisplay(el.getAttribute(\"data-wcmdate\"), el.getAttribute(\"data-wcm-is-article-date\"), el.getAttribute(\"data-isminute-ago\"), el.getAttribute(\"data-hiddenYesterday\"), el.getAttribute(\"data-wcm-now-apply\"), el.getAttribute(\"data-wcm-format-separator\"));\n\n        }\n    }\n}","require('./site_SiteScrollToTopButton.less')\nimport * as throttle from \"lodash/throttle\"\ninterface SiteScrollToTopButtonState {\n    isVisible: boolean\n}\nexport class SiteScrollToTopButton extends React.Component<{}, SiteScrollToTopButtonState>{\n    public static siteScriptName = \"SiteScrollToTopButton\"\n    constructor(props) {\n        super(props)\n        this.state = {\n            isVisible: false\n        }\n    }\n\n\n    public componentDidMount() {\n        document.addEventListener(\"scroll\", this.throttledScrollHandler)\n    }\n\n    private handleOnScroll = () => {\n        if (typeof window !== 'undefined' && window[\"siteID\"] === \"ynet\") {\n            if (document.body.scrollTop > 900 || document.documentElement.scrollTop > 900) {\n                this.setState({ isVisible: true })\n            }\n            else {\n                this.setState({ isVisible: false })\n            }\n        } else {\n            if (document.body.scrollTop > 150 || document.documentElement.scrollTop > 150) {\n                this.setState({ isVisible: true })\n            }\n            else {\n                this.setState({ isVisible: false })\n            }\n        }\n    }\n    private throttledScrollHandler = throttle(this.handleOnScroll, 250)\n\n    private scrollToTop = (element, duration) => {\n        if (duration < 0) return;\n        var difference = 0 - element.scrollTop;\n        var perTick = difference / duration * 2;\n\n        setTimeout(() => {\n            element.scrollTop = element.scrollTop + perTick;\n            this.scrollToTop(element, duration - 2);\n        }, 10);\n    }\n\n    componentWillUnmount() {\n        document.removeEventListener(\"scroll\", this.throttledScrollHandler)\n    }\n\n    render() {\n        const { isVisible } = this.state\n        let title = \"חזרה לראש הדף\";\n        if (typeof window !== 'undefined' && window[\"siteID\"] === \"radionas\"){\n            title = \"العودة إلى أعلى الصفحة\"\n        }\n        if (!isVisible) { return null }\n        return <button className=\"SiteScrollToTopButton no-print\"\n            title={title}\n            onClick={e => this.scrollToTop(document.getElementsByTagName(\"html\")[0], 35)} />\n    }\n}","import { MediaContentTypes } from \"constants/contentTypes\"\nimport { SiteMediaData, SiteVideoData, SiteImageData, YnetTvSiteVideoData } from \"../interfaces\"\nimport { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\"\nimport { SiteYnetTvLightboxPlaylistVideoPlayer } from \"./videoPlayer/ynetTvLightBoxPlayer\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { HyperLinkBuilder } from \"../commonComponents/inline/hyperLink\"\nimport { isYouTubeGlobalSettingEnabled } from \"./videoPlayer/videoPlayerUtils\"\nimport { SiteVideoLightbox } from \"./videoPlayer/genericLightboxVideoPlayer/siteVideoLightbox\";\nimport { SiteVideoInline } from \"./videoPlayer/genericInlineVideoPlayer/siteVideoInline\"\nimport { SiteYnetTvLightboxPlaylistYouTubePlayer } from \"./videoPlayer/youtubePlayer/ynetTvYoutubeLightBoxPlayer\";\nimport { FrontCopyButton } from \"../commonComponents/inline/frontCopyButton/frontCopyButton\";\n\nexport interface SiteMediaProps {\n    height: number\n    width: number\n    data: SiteMediaData\n    videoSettings: VideoSettingsData\n    allMedias?: SiteMediaData[]\n    onSelect?: () => void\n    onPlayStarted?: () => void\n    onPlayStopped?: () => void\n    itemLinkUrl?: string\n    linkTarget?: LinkTargetProperties\n    shouldAddArticleAutoplayIndicator?: boolean\n    isImageLinkable?: boolean\n    onLightBoxOpened?: () => void\n    onLightBoxClosed?: () => void\n    articleId?: string\n    isBigVideo?: boolean\n    isDataTbLink?: boolean\n    videoShareLink?: string\n    videoCategoryId?: string\n}\ninterface YnetTvMediaProps {\n    height: number\n    width: number\n    data: SiteMediaData\n    videoSettings: VideoSettingsData\n    allMedias?: YnetTvSiteVideoData[]\n    onSelect?: () => void\n    onPlayStarted?: () => void\n}\nexport const SiteMedia = (props: SiteMediaProps) => {\n    const { allMedias, width, height, data, onSelect, isImageLinkable, itemLinkUrl, shouldAddArticleAutoplayIndicator, linkTarget, articleId, isBigVideo } = props;\n\n    if (data.mediaType == MediaContentTypes.MEDIA_IMAGE) {\n        if (isImageLinkable) return (<HyperLinkBuilder href={itemLinkUrl} articleId={articleId} linkTarget={linkTarget} shouldAddArticleAutoplayIndicator={shouldAddArticleAutoplayIndicator} isDataTbLink >\n            <SiteImageMedia width={width} height={height} data={data} onSelect={onSelect} />\n        </HyperLinkBuilder>)\n        else return <SiteImageMedia width={width} height={height} data={data} onSelect={onSelect} />\n\n    } else if (data.mediaType == MediaContentTypes.MEDIA_VIDEO) {\n        return (\n            <div style={{ width, height }} className=\"videoMediaContainer\">\n                <SiteVideoMedia {...props} data={data} onSelect={onSelect} />\n            </div>\n        )\n    }\n    else {\n        if (data.mediaType == MediaContentTypes.MEDIA_LIVE) {\n            const videoData = { ...data, isLive: true, mediaType: MediaContentTypes.MEDIA_VIDEO, isPlayerBarVisible: true, isBigVideo: isBigVideo }\n            return <SiteVideoMedia {...props} data={videoData} onSelect={onSelect} />\n        }\n        if (data.mediaType == MediaContentTypes.MEDIA_IFRAME) {\n            return <iframe src={data.url} width={\"100%\"} height={\"100%\"} frameBorder=\"0\" scrolling={\"no\"} />\n        }\n    }\n\n}\nexport const siteScriptName = \"YnetTvSiteMedia\";\nexport const YnetTvSiteMedia = (props: YnetTvMediaProps) => {\n\n    const { width, height, data, onSelect, allMedias } = props;\n    if (data.mediaType == MediaContentTypes.MEDIA_IMAGE) {\n        return <SiteImageMedia width={width} height={height} data={data} onSelect={onSelect} />\n    } else if (data.mediaType == MediaContentTypes.MEDIA_VIDEO) {\n        return (\n            <div style={{ width, height }}>\n                <YnetTVSiteVideoMedia {...props} data={data} onSelect={onSelect} />\n            </div>\n        )\n    }\n}\n\nYnetTvSiteMedia[\"siteScriptName\"] = \"YnetTvSiteMedia\"\n\ninterface SiteVideoMediaProps {\n    data: SiteVideoData | YnetTvSiteVideoData\n    videoSettings: VideoSettingsData\n    allMedias?: SiteMediaData[]\n    runArticleAutoPlayLogic?: boolean\n    videoShareLink?: string\n    popupText?: string\n    copyUrl?: string\n    siteLayoutType?: string\n    onSelect?: () => void\n    onPlayStarted?: () => void\n    onPlayStopped?: () => void\n    onVideoEnded?: () => void\n    onVideoError?: () => void\n    onLightBoxClosed?: () => void\n    onLightBoxOpened?: () => void\n}\n\nexport const SiteVideoMedia = ({ data, allMedias, videoSettings: { isVideoLightbox, hideVideoAds }, onSelect, onPlayStarted, onPlayStopped, onVideoEnded, onVideoError, runArticleAutoPlayLogic, onLightBoxClosed, onLightBoxOpened, videoShareLink, popupText, copyUrl, siteLayoutType }: SiteVideoMediaProps) => {\n    if (isVideoLightbox) {\n        const allVideos = Array.isArray(allMedias) ?\n            allMedias.filter(m => m.mediaType === MediaContentTypes.MEDIA_VIDEO) as SiteVideoData[]\n            : [data];\n        return <SiteVideoLightbox\n            data={data}\n            applyStickyness={false}\n            allVideos={allVideos} onSelect={onSelect}\n            onLightBoxClosed={onLightBoxClosed}\n            onLightBoxOpened={onLightBoxOpened}\n            hideVideoAds={hideVideoAds} />\n    } else {\n        return (\n            <>\n                <SiteVideoInline\n                    data={data}\n                    applyStickyness={true}\n                    hideVideoAds={hideVideoAds}\n                    onSelect={onSelect}\n                    videoShareLink={videoShareLink}\n                    onPlayStarted={onPlayStarted}\n                    onPlayStopped={onPlayStopped}\n                    onVideoEnded={onVideoEnded}\n                    onVideoError={onVideoEnded}\n                    runArticleAutoPlayLogic={runArticleAutoPlayLogic} />\n                {videoShareLink && siteLayoutType !== \"mobileWeb\" && <FrontCopyButton popupText={popupText} url={copyUrl} />}\n            </>\n        )\n    }\n}\nSiteVideoMedia[\"siteScriptName\"] = \"SiteVideoMedia\"\n\nconst YnetTVSiteVideoMedia = ({ data, allMedias, videoSettings: { isVideoLightbox, hideVideoAds }, onSelect, onPlayStarted }: SiteVideoMediaProps) => {\n    const allVideos = allMedias.filter(m => m.mediaType === MediaContentTypes.MEDIA_VIDEO) as YnetTvSiteVideoData[];\n\n    if (isYouTubeGlobalSettingEnabled(data)) {\n        return <SiteYnetTvLightboxPlaylistYouTubePlayer data={data} allVideos={allVideos} hideVideoAds={hideVideoAds} onSelect={onSelect} />\n    }\n    return <SiteYnetTvLightboxPlaylistVideoPlayer data={data} allVideos={allVideos} hideVideoAds={hideVideoAds} onSelect={onSelect} />\n}\n\ninterface SiteImageMediaProps {\n    height: number\n    width: number\n    data: SiteImageData\n    onSelect?: () => void\n}\n\nexport const SiteImageMedia = ({ width, height, data, onSelect }: SiteImageMediaProps) => {\n    const { url, title, alt, ariaHidden } = data;\n    const style = { width }\n    return <img className=\"SiteImageMedia\" src={url} style={style} title={title} alt={alt} aria-hidden={ariaHidden} onClick={onSelect} />\n}\n\n","import * as classNames from \"classnames\"\nimport { CSSTransitionGroup } from \"react-transition-group\";\n\nimport { MediaContentTypes } from \"constants/contentTypes\"\nimport { GalleryPaging } from \"../commonComponents/inline/galleryPaging/galleryPaging\"\nimport { SiteMediaData, SiteImageData } from \"../interfaces\"\nimport { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\"\nimport { SiteMedia } from \"./siteMedia\";\nimport { GalleryViewType } from \"../commonComponents/base/basicMediaCarousel\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { LabelText } from \"../defenitions/ynet1280/topStory/components/labelText\";\n\ninterface SiteMediaCarouselProps {\n    medias: SiteMediaData[]\n    height: number\n    width: number\n    arrowClassLeft?: string\n    arrowClassRight?: string\n    galleryViewOption?: GalleryViewType\n    intervalTime?: number\n    videoSettings?: VideoSettingsData\n    title?: string\n    itemLinkUrl?: string\n    titlesContainerElementId?: string\n    linkTarget: LinkTargetProperties\n    shouldAddArticleAutoplayIndicator?: boolean\n    isImageLinkable?: boolean\n    articleId?: string\n    galleryRatio?: string\n    isDataTbLink?: boolean\n    hasTextLabel?:boolean\n}\n\ninterface SiteMediaCarouselState {\n    index: number;\n}\nexport class SiteMediaCarousel extends React.Component<SiteMediaCarouselProps, SiteMediaCarouselState>{\n    public static siteScriptName = \"SiteMediaCarousel\";\n    constructor(props) {\n        super(props);\n        this.state = { index: 0 }\n    }\n\n    public static defultProps: Partial<SiteMediaCarouselProps> = {\n        galleryViewOption: \"arrows\",\n        intervalTime: 0,\n        videoSettings: {\n            isVideoLightbox: false,\n            hideVideoAds: false,\n        }\n    }\n\n    private showPrevMedia = () => {\n        this.setState(state => (state.index > 0 ? {\n            index: state.index - 1\n        } : state))\n        /*   if (this.props.intervalTime !== 0) {\n               clearInterval(this.autoGalleryInterval)\n           }*/\n    }\n\n    private showNextMedia = () => {\n        this.setState(state => (state.index < this.props.medias.length - 1 ? { index: state.index + 1 } : state))\n        /* if (this.props.intervalTime !== 0) {\n             clearInterval(this.autoGalleryInterval)\n         }*/\n    }\n\n    private showSelected = (i: number) => {\n        if (this.props.intervalTime !== 0) {\n            clearInterval(this.autoGalleryInterval)\n        }\n        this.setState({ index: i })\n    }\n\n    private autoGalleryInterval: any;\n    private startAutoGallery = () => {\n        const { intervalTime, medias } = this.props\n        const self = this;\n        if (typeof (intervalTime) === \"number\") {\n            if (intervalTime > 0) {\n                this.autoGalleryInterval = setInterval(() => {\n                    this.setState((prevState: SiteMediaCarouselState, props: SiteMediaCarouselProps) => {\n                        let newIndex = ++prevState.index;\n                        if (newIndex >= props.medias.length) newIndex = 0;\n                        return { index: newIndex }\n                    });\n                }, intervalTime * 1000);\n            }\n            else {\n                clearInterval(this.autoGalleryInterval)\n            }\n        }\n    }\n\n    private hideTitlesWhenVideoPlayStarts = () => {\n        if (this.props.titlesContainerElementId) {\n            const titlesContainerElement = document.getElementById(this.props.titlesContainerElementId) as HTMLElement\n            if (titlesContainerElement) {\n                titlesContainerElement.style.visibility = \"hidden\";\n            }\n        }\n    }\n\n    private getRatio = () => {\n        const { galleryRatio } = this.props;\n\n        switch (galleryRatio) {\n            case \"16:9\":\n                return \"56.25%\"\n            case \"4:3\":\n                return \"75%\"\n            case \"2:3\":\n                return \"150%\"\n            case \"1:1\":\n                return \"100%\"\n            case \"9:16\":\n                return \"178%\"\n            default:\n                break;\n        }\n    }\n\n    componentDidMount() {\n        if (this.props.medias.length > 1) {\n            this.startAutoGallery();\n        }\n\n    }\n    componentDidUpdate(_, prevState: SiteMediaCarouselState) {\n        if (this.state.index !== prevState.index && this.props.medias[this.state.index].mediaType === (MediaContentTypes.MEDIA_VIDEO || MediaContentTypes.MEDIA_LIVE)) {\n            window.YitVideo && window.YitVideo.InfrastructureReInitialize();\n        }\n    }\n\n    componentWillUpdate(nextProps, nextState) {\n        if (this.state.index !== nextState.index) {\n            if (this.props.titlesContainerElementId) {\n                const titlesContainerElement = document.querySelector(`#${this.props.titlesContainerElementId}`) as HTMLElement\n                if (titlesContainerElement) {\n                    titlesContainerElement.style.visibility = \"visible\"\n                }\n            }\n        }\n    }\n\n    public render() {\n        const { medias, arrowClassRight, arrowClassLeft, height, width,hasTextLabel , \n            galleryViewOption, videoSettings, title, itemLinkUrl, linkTarget, shouldAddArticleAutoplayIndicator, isImageLinkable, articleId, isDataTbLink } = this.props\n        const leftArrow = classNames(\"left galleryArrow\", arrowClassLeft)\n        const rightArrow = classNames(\"right galleryArrow\", arrowClassRight)\n        const { index } = this.state\n        let media = medias[index] as SiteMediaData;\n        if (!media) {\n            media = {\n                mediaType: MediaContentTypes.MEDIA_IMAGE,\n                url: undefined,\n                title: \"\",\n                alt: \"\",\n                credit: \"\",\n                ariaHidden: true,\n                className: undefined,\n            }\n        }\n        const isImageClickable = medias.filter(obj => obj.mediaType === \"MEDIA_VIDEO\").length === 0 && isImageLinkable;\n        const oneItem = medias.length > 1 ? \"moreThenOneItemCarousel\" : \"\"\n        const isArrow = galleryViewOption === \"arrows\" || galleryViewOption === \"arrowsAndPaging\"\n        const isPaging = galleryViewOption === \"paging\" || galleryViewOption === \"arrowsAndPaging\"\n        return (\n            <div className={`MediaCarousel ${oneItem}`} style={{ height, width }} >\n                <div className=\"mediaItems\" onClick={() => clearInterval(this.autoGalleryInterval)}>\n              {hasTextLabel && <LabelText className={\"mediaItemLabel\"} \n                    labelText={(media as SiteImageData).labelText} mediaIconPlace={(media as SiteImageData).textPlace} onLabelTextChange={()=>null} /> }\n                    {arrowClassLeft && isArrow && medias.length > 1 && <button\n                        className={classNames(leftArrow, { \"disable\": (index === 0) })} onClick={this.showPrevMedia}\n                        title=\"left\"\n                        aria-label=\"left\"\n                        disabled={index === 0} />}\n                    <div className=\"aspectRatioBox\" style={{ paddingTop: this.getRatio() }}>\n                        <CSSTransitionGroup transitionName=\"media\" transitionEnterTimeout={500} transitionLeave={false} >\n                            <SiteMedia\n                                itemLinkUrl={itemLinkUrl}\n                                linkTarget={linkTarget}\n                                shouldAddArticleAutoplayIndicator={shouldAddArticleAutoplayIndicator}\n                                onPlayStarted={this.hideTitlesWhenVideoPlayStarts}\n                                isImageLinkable={isImageLinkable}\n                                data={media}\n                                height={height}\n                                width={width}\n                                key={media.url}\n                                isDataTbLink={isDataTbLink}\n                                videoSettings={videoSettings}\n                                allMedias={medias}\n                                articleId={articleId} />\n                        </ CSSTransitionGroup >\n                    </div>\n                    {medias.length > 1 && isPaging && <GalleryPaging selectedIndex={index} onSelect={this.showSelected} data={medias} />}\n                    {arrowClassRight && isArrow && medias.length > 1 && <button\n                        title=\"right\"\n                        aria-label=\"right\"\n                        className={classNames(rightArrow, { \"disable\": (index === medias.length - 1) })}\n                        onClick={this.showNextMedia} disabled={index === medias.length - 1} />}\n                </div>\n            </div>\n        )\n    }\n}\n\n","import { SiteMedia, SiteMediaProps } from \"./siteMedia\";\n\n\nexport class SiteMediaMobileWrapper extends React.Component<SiteMediaProps>{\n    public static siteScriptName = \"SiteMediaMobileWrapper\";\n    \n    public render() {\n\n        return (\n            <SiteMedia {...this.props} />\n        )\n    }\n}\n","import * as classNames from \"classnames\"\nimport Slider from \"react-slick\"\nimport { SiteMediaData } from \"../interfaces\"\nimport { VideoSettingsData } from \"widgets/commonDataObjects/interfaces\"\nimport { SiteMedia } from \"./siteMedia\";\nimport { GalleryViewType } from \"../commonComponents/base/basicMediaCarousel\"\nimport { LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { LabelText } from \"../defenitions/ynet1280/topStory/components/labelText\";\nimport { SiteImageData } from \"widgets/interfaces\"\n\ninterface SiteMediaCarouselProps {\n    medias: SiteMediaData[]\n    height: number\n    width: number\n    arrowClassLeft?: string\n    arrowClassRight?: string\n    galleryViewOption?: GalleryViewType\n    intervalTime?: number\n    videoSettings?: VideoSettingsData\n    title?: string\n    itemLinkUrl?: string\n    titlesContainerElementId?: string\n    linkTarget: LinkTargetProperties\n    shouldAddArticleAutoplayIndicator?: boolean\n    isImageLinkable?: boolean\n    articleId?: string\n    galleryRatio?: string\n    isDataTbLink?: boolean\n    hasTextLabel?:boolean\n}\n\n\nfunction PrevArrow(props) {\n    const { className, onClick } = props;\n    return (\n        <button\n            className={classNames(className)} onClick={onClick}\n            title=\"left\"\n            aria-label=\"left\"\n        />\n    );\n}\n\nfunction NextArrow(props) {\n    const { className, onClick } = props;\n    return (\n        <button\n            title=\"right\"\n            aria-label=\"right\"\n            className={classNames(className)}\n            onClick={onClick} />\n    );\n}\n\n\n\nexport class SiteMediaMobileCarousel extends React.Component<SiteMediaCarouselProps>{\n    public static siteScriptName = \"SiteMediaMobileCarousel\";\n\n\n    private getRatio = () => {\n        const { galleryRatio } = this.props;\n\n        switch (galleryRatio) {\n            case \"16:9\":\n                return \"56.25%\"\n            case \"4:3\":\n                return \"75%\"\n            case \"2:3\":\n                return \"150%\"\n            case \"1:1\":\n                return \"100%\"\n            default:\n                break;\n        }\n    }\n\n    private hideTitlesWhenVideoPlayStarts = () => {\n        if (this.props.titlesContainerElementId) {\n            const titlesContainerElement = document.getElementById(this.props.titlesContainerElementId) as HTMLElement\n            if (titlesContainerElement) {\n                titlesContainerElement.style.visibility = \"hidden\";\n            }\n        }\n    }\n\n    public render() {\n        const { medias, arrowClassRight, arrowClassLeft, height, width,hasTextLabel, \n            galleryViewOption, videoSettings, itemLinkUrl, linkTarget, shouldAddArticleAutoplayIndicator, isImageLinkable, articleId, isDataTbLink, intervalTime } = this.props\n        const leftArrow = classNames(\"left galleryArrow\", arrowClassLeft)\n        const rightArrow = classNames(\"right galleryArrow\", arrowClassRight)\n        //  const isImageClickable = medias.filter(obj => obj.mediaType === \"MEDIA_VIDEO\").length === 0 && isImageLinkable;\n        const oneItem = medias.length > 1 ? \"moreThenOneItemCarousel\" : \"\"\n        const isArrow = galleryViewOption === \"arrows\" || galleryViewOption === \"arrowsAndPaging\"\n        const isPaging = galleryViewOption === \"paging\" || galleryViewOption === \"arrowsAndPaging\"\n        let settings = {\n\n            infinite: true,\n            autoplay: intervalTime > 0,\n            dots: isPaging,\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            speed: 300,\n            arrows: isArrow,\n            autoplaySpeed: intervalTime * 1000,\n            rtl: false,\n            prevArrow: <PrevArrow props={{ className: leftArrow }} />,\n            nextArrow: <NextArrow props={{ className: rightArrow }} />\n\n        }\n        return (\n            <Slider {...settings}   >\n                {medias.map((media, i) =>\n                    <div className={`MediaCarousel ${oneItem}`} style={{ height, width }} key={i} >\n                        <div className=\"mediaItems\" >\n                      {hasTextLabel &&  <LabelText className={\"mediaItemLabel\"} \n                    labelText={(media as SiteImageData).labelText} mediaIconPlace={(media as SiteImageData).textPlace} onLabelTextChange={()=>null} />}\n                            <SiteMedia\n                                itemLinkUrl={itemLinkUrl}\n                                linkTarget={linkTarget}\n                                shouldAddArticleAutoplayIndicator={shouldAddArticleAutoplayIndicator}\n                                onPlayStarted={this.hideTitlesWhenVideoPlayStarts}\n                                isImageLinkable={isImageLinkable}\n                                data={media}\n                                height={height}\n                                width={width}\n                                key={media.url}\n                                isDataTbLink={isDataTbLink}\n                                videoSettings={videoSettings}\n                                allMedias={medias}\n                                articleId={articleId} />\n\n                        </div>\n\n\n                    </div>)}\n            </Slider>\n        )\n    }\n}\n\n","import { dateData } from \"../interfaces\"\ndeclare var window: Window & {\n    pageRefreshDisable(sourceType?: string): void;\n    pageRefreshEnable(sourceType?: string): void;\n}\n\nexport function disablePageRefresh(sourceType?: string) {\n    window && window.pageRefreshDisable && window.pageRefreshDisable(sourceType);\n}\n\nexport function enablePageRefresh(sourceType?: string) {\n    window && window.pageRefreshEnable && window.pageRefreshEnable(sourceType);\n}\n\nexport function isPageNotReloaded() {\n    const isNewMethodExist = window.performance && window.performance.getEntriesByType(\"navigation\").length > 0;\n    const isOldMethodExist = window.performance && performance.navigation;\n    if (isNewMethodExist) {\n        // @ts-ignore\n        return window.performance.getEntriesByType(\"navigation\")[0].type !== \"reload\";\n    }\n    if (isOldMethodExist) {\n        return performance.navigation.type !== performance.navigation.TYPE_RELOAD;\n    }\n    return true\n}\n\nexport function hebrewTimeAgoTranslate(number: number, index: number) {\n    return [\n        ['זה עתה', 'עכשיו'],\n        ['לפני %s שניות', 'בעוד %s שניות'],\n        ['לפני ד׳', 'בעוד ד׳'],\n        [\"לפני %s ד׳\", \"בעוד %s ד׳\"],\n        ['לפני %s ש׳', 'לפני ש׳'],\n        number === 2 ? ['לפני 2 ש׳', 'בעוד שעתיים'] : ['לפני %s ש׳', 'בעוד %s ש׳'],\n        ['אתמול', 'מחר'],\n        number === 2 ? ['לפני יומיים', 'בעוד יומיים'] : ['לפני %s ימים', 'בעוד %s ימים'],\n        ['לפני שבוע', 'בעוד שבוע'],\n        number === 2 ? ['לפני שבועיים', 'בעוד שבועיים'] : ['לפני %s שבועות', 'בעוד %s שבועות'],\n        ['לפני חודש', 'בעוד חודש'],\n        number === 2 ? ['לפני חודשיים', 'בעוד חודשיים'] : ['לפני %s חודשים', 'בעוד %s חודשים'],\n        ['לפני שנה', 'בעוד שנה'],\n        number === 2 ? ['לפני שנתיים', 'בעוד שנתיים'] : ['לפני %s שנים', 'בעוד %s שנים'],\n    ][index] as [string, string];\n}\n\nfunction formatNum(f1: string, f: string, s: string, t: string, n: number): string {\n    const n10 = n % 10;\n    let str = t;\n\n    if (n === 1) {\n        str = f1;\n    } else if (n10 === 1 && n > 20) {\n        str = f;\n    } else if (n10 > 1 && n10 < 5 && (n > 20 || n < 10)) {\n        str = s;\n    }\n\n    return str;\n}\n\nconst seconds = formatNum.bind(null, 'секунду', '%s секунду', '%s секунды', '%s секунд'),\n    minutes = formatNum.bind(null, 'минуту', '%s минуту', '%s минуты', '%s минут'),\n    hours = formatNum.bind(null, 'час', '%s час', '%s часа', '%s часов'),\n    days = formatNum.bind(null, 'день', '%s день', '%s дня', '%s дней'),\n    weeks = formatNum.bind(null, 'неделю', '%s неделю', '%s недели', '%s недель'),\n    months = formatNum.bind(null, 'месяц', '%s месяц', '%s месяца', '%s месяцев'),\n    years = formatNum.bind(null, 'год', '%s год', '%s года', '%s лет');\n\nexport function russianTimeAgoTranslate(number: number, index: number): [string, string] {\n    switch (index) {\n        case 0:\n            return ['только что', 'через несколько секунд'];\n        case 1:\n            return [seconds(number) + ' назад', 'через ' + seconds(number)];\n        case 2: // ['минуту назад', 'через минуту'];\n        case 3:\n            return [minutes(number) + ' назад', 'через ' + minutes(number)];\n        case 4: // ['час назад', 'через час'];\n        case 5:\n            return [hours(number) + ' назад', 'через ' + hours(number)];\n        case 6:\n            return ['вчера', 'завтра'];\n        case 7:\n            return [days(number) + ' назад', 'через ' + days(number)];\n        case 8: // ['неделю назад', 'через неделю'];\n        case 9:\n            return [weeks(number) + ' назад', 'через ' + weeks(number)];\n        case 10: // ['месяц назад', 'через месяц'];\n        case 11:\n            return [months(number) + ' назад', 'через ' + months(number)];\n        case 12: // ['год назад', 'через год'];\n        case 13:\n            return [years(number) + ' назад', 'через ' + years(number)];\n        default:\n            return ['', ''];\n    }\n}\n\nexport function executeScriptsFromHtml(html) {\n    const scriptsFromHtml = /<script\\b[^>]*>([\\s\\S]*?)<\\/script>/gm;\n    let matchedScripts;\n    while (matchedScripts = scriptsFromHtml.exec(html)) {\n        try {\n            eval(matchedScripts[1])\n        } catch (ex) {\n            console.error(`error in blog script: ${matchedScripts[1]}:`, ex);\n        }\n    }\n}\n\nexport const secondsToHms = (numInSec) => {\n    numInSec = parseInt(numInSec);\n    let h = Math.floor(numInSec / 3600);\n    let m = Math.floor(numInSec % 3600 / 60);\n    let s = Math.floor(numInSec % 3600 % 60);\n\n    let hDisplay = h > 0 ? h < 10 ? \"0\" + h + \":\" : h.toString() + \":\" : \"\";\n    let mDisplay = m > 0 ? m < 10 ? \"0\" + m + \":\" : m.toString() + \":\" : \"00:\";\n    let sDisplay = s > 0 ? s < 10 ? \"0\" + s : s.toString() : \"00\";\n    return hDisplay + mDisplay + sDisplay;\n}\n\nexport const getCookie = (name: string) => {\n    const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));\n    if (match) return match[2];\n}\n\nexport const testAdblock = (cb: any) => {\n    const url = \"https://ads.google.com\";\n    fetch(url, {\n        method: 'PUT',\n        headers: {\n            Accept: 'application/json',\n            'Content-Type': 'application/json'\n        }\n    }).then(cb(false)).catch(() => { \n        cb(true)\n    });\n}\n\ntype dateFormat =  'YYYY-MM-DD' | 'DD/MM/YYYY' | 'DD-MM-YYYY' | 'DD.MM.YYYY';\n\nexport const formatDate=(date:Date,format:dateFormat)=>{\n    const year = date.getFullYear();\n    const month = date.getMonth() + 1;\n    const day = date.getDate();\n\n    switch(format){\n        case \"YYYY-MM-DD\":{\n            return  `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`;;\n        }\n        case \"DD/MM/YYYY\":{\n            return  `${String(day).padStart(2, '0')}/${String(month).padStart(2, '0')}/${year}`;\n        }\n        case \"DD-MM-YYYY\":{\n            return  `${String(day).padStart(2, '0')}-${String(month).padStart(2, '0')}-${year}`;\n        }\n        case \"DD.MM.YYYY\":{\n            return  `${String(day).padStart(2, '0')}.${String(month).padStart(2, '0')}.${year}`;\n        }\n    }\n}\n\n","import { FacebookShareButton } from \"../facebook/facebookShareButton\"\nimport { TwitterShareButton } from \"../twitter/twitterShareButton\"\nimport { MailShareButton } from \"../mail/mailShareButton\"\nimport { CopyButton } from \"global/components/copyButton/copyButton\"\ninterface ArticleShareButtonsProps {\n    textToShare?: string\n    className?: string\n    handleOnClick?: () => void\n    url?: string\n    isCopyButtonVisible?: boolean\n    categoryOfAnalytics?: string\n    isEnglish?: boolean\n    lang?: string\n}\nexport class ArticleShareButtons extends React.Component<ArticleShareButtonsProps, {}>{\n    static defaultProps = { isCopyButtonVisible: false, lang: \"he\" }\n\n    render() {\n        const { textToShare, className, isCopyButtonVisible, url, isEnglish, lang, ...props } = this.props\n        const documentTitle = document.title\n        return <div className={className}>\n            {isCopyButtonVisible && <CopyButton id={\"copy_\" + url} classes=\"tickerPopUpCopyButton\" isAlert={true} textToCopy={url} />}\n            <FacebookShareButton isEnglish={isEnglish} url={url} textToShare={textToShare || documentTitle} {...props} />\n            <TwitterShareButton isEnglish={isEnglish} textToShare={textToShare || documentTitle} {...props} />\n            <MailShareButton isEnglish={isEnglish} lang={lang} textToShare={textToShare} {...props} />\n        </div>\n    }\n}","import { openFacebookShare, analyticsPushFunc } from \"../../../widgetsUtils\";\n\ninterface FacebookShareButtonProps {\n    textToShare?: string\n    className?: string\n    handleOnClick?: () => void\n    url?: string\n    iconSrc?: string\n    isEnglish?: boolean\n}\n\nexport class FacebookShareButton extends React.Component<FacebookShareButtonProps, {}>{\n\n    private facebookIcon = \"/images/icons/facebook_icon.png\"\n    static defaultProps = { url: \"\", iconSrc: \"\" }\n    private current_url = window.location.href\n\n    private getCurrentUrl = () => {\n        const { url } = this.props\n        let urlForPopUp: string;\n        if (url !== \"\") {\n            urlForPopUp = url\n        }\n        else { urlForPopUp = this.current_url }\n        return urlForPopUp;\n    }\n    private getCurrentSrc = () => {\n        const { iconSrc } = this.props\n        let src: string;\n        if (iconSrc !== \"\") {\n            src = iconSrc\n        }\n        else { src = this.facebookIcon }\n        return src;\n    }\n\n    private handleShareBtnClicked = () => {\n        const { textToShare, handleOnClick } = this.props\n        if (typeof window !== \"undefined\") {\n            const current_url = window.location.href\n            openFacebookShare(current_url, textToShare, () => analyticsPushFunc(\"Facebook\", \"Photo Gallery\", textToShare), \"Photo Gallery\")\n        }\n        if (handleOnClick) { handleOnClick() }\n    }\n\n    render() {\n        const { className, isEnglish } = this.props\n        return <button className=\"fbBtn\" title={isEnglish ? \"Share on Facebook\" : \"שתפו בפייסבוק\"} aria-label={isEnglish ? \"Share on Facebook\" : \"שתפו בפייסבוק\"} onClick={e => this.handleShareBtnClicked()}>\n            <img src={this.getCurrentSrc()} alt={isEnglish ? \"Share on Facebook\" : \"שתפו בפייסבוק\"} className={className} aria-hidden={true} />\n        </button>\n    }\n}\n\n\n","import { analyticsPushFunc } from \"../../../widgetsUtils\"\n\ninterface MailShareButtonProps {\n    className?: string\n    handleOnClick?: () => void\n    url?: string\n    isEnglish?: boolean\n    lang?: string\n    textToShare?: string \n}\n\nexport class MailShareButton extends React.Component<MailShareButtonProps, {}>{\n    static defaultProps = { url: \"\", lang: \"he\" }\n    private mailIcon = \"/images/icons/send_icon.png\"\n    private current_url = window.location.href\n\n\n    static openMailShare = (body: string, url: string, lang: string, analyticsCb?: () => void, content: string = \"\", current_article_id?: string, hashPart?: string) => {\n        const convertedBody = replaceCharacters(body)\n        let title;\n        let utm_term = current_article_id ? current_article_id : window.articleId;\n        let urlTerm = utm_term ? `&utm_term=${utm_term}` : '';\n        if (lang === \"he\") title = \"כתבה מעניינת מ- Ynet\"\n        else if (lang === \"heFlash\") title = \"מבזק מעניין מ- ynet\"\n        else if (lang === \"heMynet\") title = \"כתבה מעניינת מ- Mynet\"\n        else if (lang === \"heBlog\") title = \"פוסט מעניין שקראתי בבלוג\"\n        else if (lang === \"heCalcalist\") title = \"כתבה מעניינת מכלכליסט\"\n        else if (lang === \"en\") title = \"Interesting article from- Ynetnews\"\n        else if (lang === \"enCtech\") title = \"Interesting article from- Ctech\"\n        else if (lang === \"ru\") title = \"Интересная статья на сайте- Vesti\"\n        else if (lang === \"es\") title = \"Interesante artículo de Ynet Español\"\n        else if(lang ===\"ar\") title = `مقالة مثيرة للاهتمام من Radionas`\n        const hostname = encodeURIComponent(window.location.hostname.replace(\"www.\", \"\"));\n        const utmContent = content.trim() ? `&utm_content=${encodeURIComponent(content)}` : \"\";\n        url = `${url}?utm_source=${hostname}&utm_medium=Share&utm_campaign=mail${urlTerm}${utmContent}`;\n        url = hashPart ? url + \"#\" + hashPart : url;\n        window.location.href = `mailto:?subject=${title}&body=${encodeURIComponent(convertedBody)} %0d %0d ${encodeURIComponent(url)}`;\n        analyticsCb && typeof analyticsCb === \"function\" && analyticsCb()\n    }\n\n    private getCurrentUrl = () => {\n        const { url } = this.props\n        let urlForPopUp: string;\n        if (url !== \"\") {\n            urlForPopUp = url\n        }\n        else { urlForPopUp = this.current_url }\n        return urlForPopUp;\n    }\n\n    private handleShareBtnClicked = () => {\n        const { handleOnClick, lang, textToShare } = this.props\n        MailShareButton.openMailShare(document.title, this.getCurrentUrl(), lang, () => analyticsPushFunc(\"Mail\", \"Photo Gallery\", textToShare), \"Photo Gallery\")\n        if (handleOnClick) { handleOnClick() }\n    }\n\n\n    render() {\n        const { className, isEnglish, lang } = this.props\n        let text;\n        if (lang === \"he\") text = \"שתפו בדואל\"\n        else if (lang === \"en\" || lang === \"enCtech\") text = \"Share by Mail\"\n        else if (lang === \"ru\") text = \"послать другу\"\n        else if (lang === \"es\") text = \"Enviar a un amigo\"\n        return <button className=\"mlBtn\" title={text} aria-label={text} onClick={e => this.handleShareBtnClicked()} >\n            <img src={this.mailIcon} aria-hidden={true} alt={text} className={className} />\n        </button>\n    }\n}\nconst replaceCharacters = (str: string) => {\n    const obj = { '&quot;': `\"`, '&lt;': `<`, '&gt;': `>`, '&amp;': `&`, '<\\/?span[^>]*>': ``, '&#39;': `'` }\n    for (var x in obj) {\n        str = str.replace(new RegExp(x, 'g'), obj[x]);\n    }\n    return str;\n}","import { openTwitterShare, analyticsPushFunc } from \"../../../widgetsUtils\"\n\ninterface TwitterShareButtonProps {\n    textToShare?: string\n    className?: string\n    handleOnClick?: () => void\n    url?: string\n    iconSrc?: string\n    isEnglish?: boolean\n}\n\nexport class TwitterShareButton extends React.Component<TwitterShareButtonProps, {}>{\n    static defaultProps = { url: \"\", iconSrc: \"\", isEnglish: false }\n    private twitterIcon = \"/images/icons/twitter_icon.png\"\n    private current_url = window.location.href\n    private getCurrentUrl = () => {\n        const { url } = this.props\n        let urlForPopUp: string;\n        if (url !== \"\") {\n            urlForPopUp = url\n        }\n        else { urlForPopUp = this.current_url }\n        return urlForPopUp;\n    }\n    private getCurrentSrc = () => {\n        const { iconSrc } = this.props\n        let src: string;\n        if (iconSrc !== \"\") {\n            src = iconSrc\n        }\n        else { src = this.twitterIcon }\n        return src;\n    }\n\n    private handleShareBtnClicked = () => {\n        const { handleOnClick, textToShare } = this.props\n        openTwitterShare(this.getCurrentUrl(), () => analyticsPushFunc(\"Twitter\", \"Photo Gallery\", textToShare), \"Photo Gallery\")\n        if (handleOnClick) { handleOnClick() }\n    }\n\n    render() {\n        const { className, isEnglish } = this.props\n        return <button className=\"twBtn\" title={isEnglish ? \"Share on Twitter\" : \"שתפו בטוויטר\"} aria-label={isEnglish ? \"Share on Twitter\" : \"שתפו בטוויטר\"} onClick={e => this.handleShareBtnClicked()}>\n            <img src={this.getCurrentSrc()} alt={isEnglish ? \"Share on Twitter\" : \"שתפו בטוויטר\"} aria-hidden={true} className={className} />\n        </button>\n    }\n}","\n    export const copyToClipboard = (textToCopy) => {\n        const node = document.createElement(\"div\")\n        node.style.position = \"absolute\";\n        node.style.fontSize = \"12px\";\n        node.style.marginRight = \"-15px\";\n        node.style.marginTop = \"35px\";\n        node.style.color = \"#b7b5b6\";\n        node.innerHTML = \"הקישור הועתק\";\n        node.setAttribute(\"id\", \"alertCopyLink\")\n        const textField = document.createElement('textarea')\n        textField.innerText = textToCopy;\n        document.body.appendChild(textField)\n        textField.select()\n        document.execCommand('copy')\n        textField.remove();\n    }","interface WhatsAppShareButtonProps {\n    className?: string\n    handleOnClick?: () => void\n    url?: string\n    iconSrc?: string\n    isEnglish?: boolean\n}\n\nexport class WhatsAppShareButton extends React.Component<WhatsAppShareButtonProps, {}>{\n    static defaultProps = { url: \"\", iconSrc: \"\" }\n\n    private getCurrentSrc = () => {\n        const { iconSrc } = this.props\n        let src: string;\n        if (iconSrc !== \"\") {\n            src = iconSrc\n        }\n        else { src = \"\" }\n        return src;\n    }\n\n    static openWhatsAppShare = (url: string, analyticsCb?: () => void, content: string = \"\", current_article_id?: string, hashPart?: string) => {\n        const hostname = window.location.hostname.replace(\"www.\", \"\");\n        const utmContent = content.trim() ? `&utm_content=${encodeURIComponent(content)}` : \"\";\n        const utmTerm = `${current_article_id || window.articleId ? `utm_term=${current_article_id ? current_article_id : window.articleId}` : \"\"}`;\n        url = `${url}?utm_source=${hostname}&utm_medium=Share&utm_campaign=whatsapp${utmTerm}${utmContent}`;\n        url = hashPart ? url + \"#\" + hashPart : url;\n        window.open(\"https://api.whatsapp.com/send?text=\" + encodeURIComponent(url))\n        analyticsCb && typeof analyticsCb === \"function\" && analyticsCb()\n    }\n\n    private handleShareBtnClicked = () => {\n        const { handleOnClick } = this.props\n        if (typeof window !== \"undefined\") {\n            WhatsAppShareButton.openWhatsAppShare(window.location.href)\n        }\n        if (handleOnClick) { handleOnClick() }\n    }\n\n    render() {\n        const { className, isEnglish } = this.props\n        return <button title={isEnglish ? \"Share on Whatsapp\" : \"שתפו בוואטסאפ\"} aria-label={isEnglish ? \"Share on Whatsapp\" : \"שתפו בוואטסאפ\"} onClick={e => this.handleShareBtnClicked()}>\n            <img src={this.getCurrentSrc()} alt={isEnglish ? \"Share on Whatsapp\" : \"שתפו בוואטסאפ\"} className={className} aria-hidden={true} />\n        </button>\n    }\n}\n\n\n","import * as classNames from \"classnames\"\nimport { SiteVideoData } from \"../../../interfaces\";\nimport { buildAdTag } from \"../videoPlayerAds\";\nimport { removeHtmlTagsFromString } from \"../../../jsonSerializer/common/jsonHelperUtils\";\nrequire(\"./../../videoPlayer/site_videoPlayer.less\")\n\ninterface VideoJsPlayerForInlineProps {\n    data: SiteVideoData\n    height?: number\n    runArticleAutoPlayLogic?: boolean\n    hideVideoAds?: boolean\n    applyStickyness: boolean\n}\n\nexport class YITVideoJsPlayerForInline extends React.Component<VideoJsPlayerForInlineProps, {}>{\n\n\n\n    render() {\n        const { data, height, runArticleAutoPlayLogic, hideVideoAds, applyStickyness } = this.props\n        const {\n            url,\n            isLive,\n            mediaId,\n            poster,\n            isAutoPlaying,\n            isLoopPlaying: loop,\n            isPlayerBarVisible: controls,\n        } = this.props.data;\n\n        const html =\n            `<div\n                ${height > 0 ? `height=${height}px` : \"\"}\n                class=\"yitvideo_container\"\n                data-title=\"\"\n                style=\"background-image: url(${poster});background-repeat: no-repeat; background-size: cover;\"\n                data-yitvideo='${isLive ? \"live\" : mediaId}'\n                data-stream='${isLive ? url : \"\"}'\n                data-poster='${poster}' \n                ${runArticleAutoPlayLogic ? \"\" : `data-autoplay=${isAutoPlaying}`} \n                data-loop= ${loop}\n                data-controls= ${controls}\n                data-muted= ${data.isMuteAvailable}\n                data-adTag= '${buildAdTag(\"Preroll\", isAutoPlaying, true, \"\")}'\n                data-ads = ${!hideVideoAds ? 1 : 0}\n                >\n                        <div class='loader'></div>\n                </div>`\n\n        return (\n            <div dangerouslySetInnerHTML={{ __html: html }} />\n        )\n    }\n}\n\n\n\n\n","require(\"./site_blockedVideo.less\")\nimport { SiteSettings, SiteSettingsHOC } from \"global/components/siteSettingsHOC\"\nimport { convertLanguageCodeToISO } from \"../../../../config/utils\";\n\ninterface AbroadBlockedProps {\n    poster: string\n}\n\n@SiteSettingsHOC()\nexport class AbroadBlocked extends React.Component<AbroadBlockedProps & Partial<SiteSettings>, {}>{\n\n    private getAlertText = () => {\n        const { languageCode } = this.props\n        const lang = convertLanguageCodeToISO(languageCode);\n        let text = \"\";\n        switch (lang) {\n            case \"he\":\n                text = \"חסום\"\n                break;\n\n            case \"es\":\n                text = \"Blocked\"\n                break;\n\n            case \"ru\":\n                text = \"Blocked\"\n                break;\n\n            case \"en\":\n                text = \"Blocked\"\n                break;\n\n            default:\n                text = \"Blocked\"\n        }\n        return text;\n    }\n\n\n\n\n    render() {\n        const { poster, languageCode } = this.props\n        return (\n            <div className=\"blockedVideo\" style={{ backgroundImage: `url(${poster})` }}><span>{this.getAlertText()}</span></div>\n        )\n    }\n}\n\n","import { enablePageRefresh } from \"../../../siteWidgetUtils\"\nimport { FlowPlayerForInline } from \"../flowPlayerForInline/flowPlayerForInline\"\nimport { SiteVideoData } from \"widgets/interfaces\"\nimport { buildAdTag } from \"../../videoPlayerAds\"\n\ninterface Props {\n    videoSource: string\n    isYnetLive?: boolean\n    onClose?: () => void\n}\n\ninterface State {\n    isHidden: boolean\n    preRollAdPlayed: boolean\n    isFullScreen: boolean\n    isIntermediateScreen: boolean\n}\n\nexport class FloatingVideoLivePlayer extends React.Component<Props, State> {\n    static siteScriptName = \"FloatingVideoLivePlayer\"\n    constructor() {\n        super();\n        this.state = {\n            isHidden: false,\n            preRollAdPlayed: false,\n            isFullScreen: false,\n            isIntermediateScreen: false,\n        }\n    }\n\n    private playerRef;\n\n    private onClose = () => {\n        this.setState({ isHidden: true })\n        this.props.onClose();\n    }\n\n    componentDidMount() {\n        enablePageRefresh();\n        if ( typeof window !== \"undefined\" && window.innerWidth < 1600 && !this.props.isYnetLive) {\n            this.setState({ isHidden: true })\n        }\n        this.props.isYnetLive && document.addEventListener(\"fullscreenchange\", this.onFullScreenChange)\n    }\n\n    componentWillUnmount() {\n        this.props.isYnetLive && document.removeEventListener(\"fullscreenchange\", this.onFullScreenChange)\n    }\n\n    private onFullScreenChange = () => {\n        const isFullScreen = document.fullscreenElement !== null;\n\n        if ( !isFullScreen && this.state.isFullScreen) {\n            document && document.exitFullscreen();\n            this.setState({ isFullScreen: false, isIntermediateScreen: false });\n        }\n    }\n\n    private getFlowPlayerData = (): SiteVideoData => {\n        const { videoSource } = this.props;\n        return {\n            mediaType: \"MEDIA_VIDEO\",\n            url: videoSource,\n            downGradeUrl: videoSource,\n            poster: \"\",\n            youtube_id: \"\",\n            blockAbroadViews: false,\n            isLive: true,\n            isAutoPlaying: true,\n            isPlayerBarVisible: true,\n            isSoundButtonVisible: true,\n            isMuteAvailable: true\n        }\n    }\n\n    private handlePlayerLoaded = (player) => {\n        const {isYnetLive} = this.props;\n        const that = this;\n        player.setOpts({ ima: null });\n        !isYnetLive && player.setOpts({ muted: true });\n        player.play();        \n        setImmediate(() => {\n            player.on(\"volumechange\", function (e) { that.onStartAds(player, e) })\n            player.ads.on(\"ad-completed\", function () {\n                that.setState({ preRollAdPlayed: true })\n                !isYnetLive && player.setOpts({ muted: false });\n                player.play();\n            })\n        })\n\n        setImmediate(() => player.ads.on(\"ad-completed\", function () {\n            that.setState({ preRollAdPlayed: true })\n            !isYnetLive && player.setOpts({ muted: false });\n            player.play();\n        }))\n    }\n\n    private onStartAds = (player, e) => {\n        if (this.state.preRollAdPlayed) return;\n        player.setOpts({ ima: { locale: \"he\", ads: [] } });\n        const adTag = buildAdTag(\"Preroll\", false, true, \"fpn\");\n        player.ads.requestAd(adTag);\n    }\n\n    private onToggleFullscreen = (isFullScreen: boolean) => {\n        if (isFullScreen) {\n            document && document.exitFullscreen();\n            this.setState({ isFullScreen: false, isIntermediateScreen: false });\n        } else {\n            this.playerRef.requestFullscreen();\n            this.setState({ isFullScreen: true });\n        }\n    }\n\n    private onToggleIntermediateScreen = () => {\n        const { isIntermediateScreen, isFullScreen } = this.state;\n        if (isFullScreen) {\n            this.onToggleFullscreen(true);\n            this.setState({ isIntermediateScreen: true });\n        }else if(isIntermediateScreen) {\n            this.setState({ isIntermediateScreen: false});\n        }else {\n            this.setState({ isIntermediateScreen: true});\n        }\n    }\n\n    public render() {\n        const { isHidden, isFullScreen, isIntermediateScreen } = this.state;\n        const { isYnetLive } = this.props;\n        if (isHidden) return null;\n        const isLargeScreen =  typeof window !== \"undefined\" && window.innerWidth >= 1600;\n        const fullScreenBtnClass = `custom-full-screen ${isFullScreen ? \"open\" : \"close\"}`;\n        const intermediateScreenBtnClass = `custom-intermediate-screen ${isIntermediateScreen ? \"open\" : \"close\"} ${!isLargeScreen  ? \"none\" : \"\"}`;\n        const controlBarWidth = isFullScreen || isIntermediateScreen || !isLargeScreen ? \"fullWidth\" : \"\";\n        const floatingPlayerClass = `YITFloatingPlayer is-sticky ${isIntermediateScreen || !isLargeScreen ? \"intermediate\" : \"\"} ${controlBarWidth}`;\n\n        return (\n            <>\n                <div className={floatingPlayerClass} ref={ref => this.playerRef = ref}>\n                    <div className=\"YITFloatingPlayerCloseButton\" onClick={() => this.onClose()}></div>\n                    {isYnetLive &&\n                        <>\n                            <div className=\"custom-controllers\">\n                                <div className={fullScreenBtnClass} onClick={() => this.onToggleFullscreen(isFullScreen)}></div>\n                                <div className={intermediateScreenBtnClass} onClick={this.onToggleIntermediateScreen}></div>\n                            </div>\n                        </>\n                    }\n                    <FlowPlayerForInline\n                        data={this.getFlowPlayerData()}\n                        applyStickyness={false}\n                        hideVideoAds\n                        onPlayerLoaded={this.handlePlayerLoaded}\n                    />\n                </div>\n                {isIntermediateScreen && <div className=\"intermediate-overlay\"></div>}\n            </>\n        )\n    }\n}\n\n\n\n","import { SiteVideoData } from \"../../../../interfaces\";\nimport {\n    shouldAutoPlayVideo,\n    getLogoUrl,\n    getVideoSources,\n} from \"../../videoPlayerUtils\";\nimport { getImaSettings } from \"../../videoPlayerAds\";\nimport { sendPopularityEvent } from \"../../videoAnalytics\";\nimport {\n    SiteSettingsHOC,\n    SiteSettings,\n} from \"../../../../../global/components/siteSettingsHOC\";\nimport {\n    disablePageRefresh,\n    enablePageRefresh,\n} from \"../../../siteWidgetUtils\";\nimport * as classNames from \"classnames\";\nimport { attachFpStickinessAPI } from \"../../videoStickiness\";\n\ninterface NewFlowPlayerForInlineProps {\n    data: SiteVideoData;\n    hideVideoAds?: boolean;\n    adIndex?:number;\n    isShareButton?: boolean;\n    videoShareLink?: string\n    runArticleAutoPlayLogic?: boolean;\n    isArticle?: boolean;\n    applyStickyness: boolean;\n    onSelect?: () => void;\n    onPlayStarted?: () => void;\n    onPlayStopped?: () => void;\n    onVideoEnded?: () => void\n    onVideoError?: () => void\n    width?: number;\n    height?: number;\n    onPlayerLoaded?: (player) => void;\n}\n\ninterface combinedProps extends Partial<SiteSettings> {}\n\ninterface NewFlowPlayerForInlineState {\n    isMuted: boolean;\n    isWindowShareOpen: boolean;\n    isPopularitySent: boolean;\n}\n\nconst dimensionNumber = {\n    ynet: {\n        videoType: 5,\n        videoLen: 7,\n        videoTitle: 8,\n        videoId: 9,\n        liveVideo: 10,\n        videoCh: 11,\n    },\n    ynetespanol: {\n        videoType: 5,\n        videoLen: 7,\n        videoTitle: 8,\n        videoId: 9,\n        liveVideo: 10,\n        videoCh: 11,\n    },\n    ynetnews: {\n        videoType: 5,\n        videoLen: 7,\n        videoTitle: 8,\n        videoId: 9,\n        liveVideo: 10,\n        videoCh: 11,\n    },\n    calcalist: {\n        videoType: 13,\n        videoLen: 15,\n        videoTitle: 16,\n        videoId: 17,\n        liveVideo: 24,\n        videoCh: 23,\n    },\n    vesty: {\n        videoType: 5,\n        videoLen: 7,\n        videoTitle: 8,\n        videoId: 9,\n        liveVideo: 10,\n        videoCh: 11,\n    },\n};\n\nconst acceptedFloatingWidth = 1600;\n@SiteSettingsHOC()\nexport class FlowPlayerForInline extends React.Component<\n    NewFlowPlayerForInlineProps & combinedProps,\n    NewFlowPlayerForInlineState\n> {\n    private playerContainer: HTMLDivElement;\n    private flowplayerApi: any;\n    constructor(props: NewFlowPlayerForInlineProps) {\n        super(props);\n        this.state = {\n            isMuted: false,\n            isWindowShareOpen: true,\n            isPopularitySent: false,\n        };\n    }\n\n    public componentDidMount() {\n        const { isMuteAvailable, isLive } = this.props.data;\n        this.setState({ isMuted: isMuteAvailable && !isLive }, () => {\n            this.initializePlayer();\n        });\n    }\n\n    componentDidUpdate(prevProps) {\n        if (this.props.data !== prevProps.data) {\n            this.initializePlayer();\n        }\n    }\n\n    createDimensions = () => {\n        const { isLive, title, mediaId } = this.props.data;\n        const siteID = window && window[\"siteID\"];\n        const keysValue = [\n            \"Flowplayer\",\n            0,\n            title ? title : \"\",\n            mediaId,\n            isLive ? true : false,\n            siteID,\n        ];\n        const dimensions: Object = {};\n        if (siteID) {\n            let i = 0;\n            for (let key in dimensionNumber[siteID]) {\n                const dimKey = \"dimension\" + dimensionNumber[siteID][key];\n                Object.assign(dimensions, { [dimKey]: keysValue[i] });\n                i++;\n            }\n        }\n        return dimensions;\n    };\n\n    private getEventActions = () => {\n        const isGa4 = window && window[\"isGa4\"]\n        if (isGa4)\n            return {\n                ad_start_preroll: \"media_start_preroll\",\n                ad_completed_preroll: \"media_completed_preroll\",\n                live_start: \"media_start\",\n                video_start: \"media_start\",\n                live_click_play: \"media_click_play\",\n                video_click_play: \"media_click_play\",\n                live_pause: \"media_pause\",\n                video_pause: \"media_pause\",\n                live_resume: \"media_resume\",\n                video_resume: \"media_resume\",\n                live_mute: \"media_mute\",\n                video_mute: \"media_mute\",\n                live_unmute: \"media_unmute\",\n                video_unmute: \"media_unmute\",\n                video_25_percent: \"media_watch_25_percent\",\n                video_50_percent: \"media_watch_50_percent\",\n                video_75_percent: \"media_watch_75_percent\",\n                video_complete: \"media_finish\",\n            };\n        return { \n            video_player_load: \"Video Player Loaded\",\n            fullscreen_enter: \"Enter Fullscreen\",\n            fullscreen_exit: \"Exit Fullscreen\",\n            video_click_play: \"Play - Video Starts \",\n            video_pause: \"Pause\",\n            video_resume: \"Resume\",\n            video_mute: \"Mute\",\n            video_unmute: \"Unmute\",\n            video_25_percent: \"Played - 25%\",\n            video_50_percent: \"Played - 50%\",\n            video_75_percent: \"Played - 75%\",\n            video_complete: \"Video Completed\",\n            live_click_play: \"Play - Video Starts \",\n            live_pause: \"Pause\",\n            live_resume: \"Resume\",\n            live_mute: \"Mute\",\n            live_unmute: \"Unmute\",\n            live_complete: \"Video Completed\",\n            ad_start_preroll: \"Ad Start Preroll [x]\",\n            ad_start_midroll: \"Midroll Ad Start\",\n            ad_start_postroll: \"Ad Start Postroll [x]\",\n            ad_completed_preroll: \"Preroll Ad Completed\",\n            ad_completed_midroll: \"Mideroll Ad Completed\",\n            ad_completed_postroll: \"Postroll Ad Completed\",\n            ad_skipped_preroll: \"Preroll Ad Skipped\",\n            ad_skipped_midroll: \"Midroll Ad Skipped\",\n            ad_skipped_postroll: \"Postroll Ad Skipped\",\n        };\n    };\n\n    private initializePlayer = () => {\n        const {\n            url,\n            downGradeUrl,\n            poster,\n            isAutoPlaying,\n            isLoopPlaying,\n            isPlayerBarVisible,\n            mediaId: videoId,\n            isLive,\n            title,\n            credit,\n            aspectRatio,\n            mediaId,\n            duration,\n            videoType,\n            categoryId,\n        } = this.props.data;\n\n        const {\n            runArticleAutoPlayLogic,\n            hideVideoAds,\n            onPlayStarted,\n            onPlayerLoaded,\n            videoShareLink,\n            onVideoEnded,\n            onVideoError,\n            adIndex,\n        } = this.props;\n        const container = this.playerContainer;\n        const shouldAutoPlay =\n            (!runArticleAutoPlayLogic && isAutoPlaying) ||\n            shouldAutoPlayVideo(container, isAutoPlaying);\n        const dataLayerFirstChild = window && window.dataLayer && window.dataLayer[0];\n\n\n        const article_data = dataLayerFirstChild ? {\n            article_id: dataLayerFirstChild.articleID,\n            author_name: dataLayerFirstChild.authorName,\n            date_modified: dataLayerFirstChild.dateModified,\n            date_published: dataLayerFirstChild.datePublished,\n            videos_count: dataLayerFirstChild.videosCount,\n            sponsored_content: dataLayerFirstChild.sponsoredContent,\n            word_count: dataLayerFirstChild.wordCount,\n            article_tags: dataLayerFirstChild.articleTags,\n            comments_count: dataLayerFirstChild.commentsCount,\n            dc_path: dataLayerFirstChild.dcPath,\n            page_title: dataLayerFirstChild.pageTitle,\n            cid: dataLayerFirstChild.cid,\n            page_type: dataLayerFirstChild.pageType,\n            ad_blocker: dataLayerFirstChild.adBlocker,\n            location_permission: dataLayerFirstChild.locationPermission,\n            channel_name: dataLayerFirstChild.channelName,  \n            media_type: videoType || \"video\",\n            media_length: duration,\n            media_title:title,\n            media_id:mediaId,\n            media_location: dataLayerFirstChild.articleID? \"article\" : \"homepage\",\n            media_player_name:'flowplayer',\n            media_url: url,\n            media_autoplay: isAutoPlaying? 'true': 'false',\n            media_live: isLive ? 'true' : 'false',\n        } : {};\n\n        const token = window && window[\"fpToken\"];\n        const analyticCode = window && window[\"analyticsCode\"];\n        const popularityLink = window && window[\"WCM_POPULARITY_LINK\"];\n        const isFloating =\n            (window &&\n                window[\"fpIsFloating\"] &&\n                window.innerWidth > acceptedFloatingWidth) ||\n            false;\n        const player_lang =\n            (document as any).querySelector(\":root\").lang || \"en\";\n\n        const settings: any = {\n            token,\n            src: getVideoSources(url, downGradeUrl),\n            poster: poster,\n            muted: this.state.isMuted,\n            autoplay: shouldAutoPlay,\n            fullscreen: !isPlayerBarVisible,\n            live: isLive,\n            loop: isLoopPlaying,\n            float_on_scroll: false,\n            ratio: \"16:9\",\n            plugins: [\"cuepoints\"],\n            lang: player_lang,\n            multiplay: false,\n            preload: \"none\",\n            title: window && window[\"siteID\"]===\"calcalist\" ? `${title || credit || \"\"}` : `${videoId}#${title || credit || \"\"}`,\n            share: videoShareLink ? {link: videoShareLink} : false,\n            ga: {\n                ga_instances: [analyticCode],\n                custom_data: {...this.createDimensions(),...article_data},\n                event_actions: this.getEventActions(),\n                event_categories: {\n                    live: \"Video\",\n                    videos: \"Video\",\n                },\n            },\n            cuepoints: [\n                {\n                    start: 0.5,\n                    end: 1,\n                    startTime: 0.5,\n                    endTime: 1,\n                    msg: \"Cuepoint 1\",\n                },\n            ],\n        };\n       \n\n        if (!hideVideoAds) {\n            settings.ima = getImaSettings(shouldAutoPlay, true, \"fpn\", null, categoryId, adIndex);\n        }\n\n        if (!isLoopPlaying) {\n            const logo = (window && window[\"videoPlayerLogo\"]) || getLogoUrl();\n            if (logo) {\n                settings.logo = logo;\n            }\n        }\n\n        var player = flowplayer(container, settings);\n\n        if ((flowplayer as any).version[0] === \"3\") {\n            player.on((flowplayer as any).events.CUEPOINT_END, function (e) {\n                if (popularityLink && e.data.cuepoint.msg === \"Cuepoint 1\") {\n                    sendPopularityEvent(\n                        videoId,\n                        player.duration,\n                        popularityLink\n                    );\n                }\n            });\n        } else {\n            player.on(\"cuepointend\", function (e) {\n                if (popularityLink && e.data.cuepoint.msg === \"Cuepoint 1\") {\n                    sendPopularityEvent(\n                        videoId,\n                        player.duration,\n                        popularityLink\n                    );\n                }\n            });\n        }\n\n        player.on('ready', function(e, api) {\n            if (!api.video.title) {\n                api.video.title = title;\n            }\n        });\n        \n\n        player.on(\"playing\", function () {\n            disablePageRefresh();\n            onPlayStarted && onPlayStarted();\n        });\n\n        player.on(\"pause\", function () {\n            enablePageRefresh();\n            //onPlayStopped && onPlayStopped()\n        });\n\n        player.on(\"ended\", function () {\n            onVideoEnded && onVideoEnded();\n        });\n\n        player.on(\"error\", function () {\n            onVideoError && onVideoError();\n        });\n\n        player.on(\"beforeplay\", function () {\n            disablePageRefresh();\n            onPlayStarted && onPlayStarted();\n        });\n\n        this.flowplayerApi = player;\n        onPlayerLoaded && onPlayerLoaded(player);\n        isFloating &&\n            attachFpStickinessAPI(player, this.playerContainer, poster);\n    };\n\n    private getContainerStyle = () => {\n        const { width, height } = this.props;\n\n        let style = {};\n\n        if (width && height) {\n            style = { width: `${width}px`, height: `${height}px` };\n        }\n\n        return style;\n    };\n\n    private getClassNames = () => {\n        return classNames(\"use-thin-controlbar\");\n    };\n\n    public render() {\n        const containerStyle = this.getContainerStyle();\n        return (\n            <div\n                id=\"player\"\n                className={this.getClassNames()}\n                style={{ ...containerStyle, direction: \"ltr\" }}\n                ref={(r) => (this.playerContainer = r)}\n            />\n        );\n    }\n}\n","import * as map from \"lodash/map\"\nimport { SiteVideoData } from \"../../../interfaces\"\nimport { isYouTubeGlobalSettingEnabled, getVideoSources } from \"../videoPlayerUtils\"\nimport { YoutubePlayerForInline } from \"./youtubePlayerForInline/youtubePlayerForInline\"\nimport { FlowPlayerForInline } from \"./flowPlayerForInline/flowPlayerForInline\"\nimport { HolaPlayerForInline } from \"./holaPlayerForInline/holaPlayerForInline\"\nimport { VideoJsPlayerForInline } from \"./videoJsForInline/videoJsForInline\"\nimport { YITVideoJsPlayerForInline } from \"./YITVideoJsForInline\"\n\n\nexport type PlayersTypes = \"youtube\" | \"flowplayer\" | \"hola\" | \"videojs\" | \"yitvideo\"\n\ninterface GenericInlineVideoPlayerProps {\n    data: SiteVideoData\n    width?: number\n    height?: number\n    runArticleAutoPlayLogic?: boolean\n    hideVideoAds?: boolean\n    isShareButton?: boolean\n    videoShareLink?: string\n    isArticle?: boolean\n    applyStickyness: boolean\n    onSelect?: () => void\n    onPlayStarted?: () => void\n    onPlayStopped?: () => void\n    onVideoEnded?: () => void\n    onVideoError?: () => void\n}\n\n\nexport class GenericInlineVideoPlayer extends React.Component<GenericInlineVideoPlayerProps, {}> {\n    private getDefaultNativePlayer = (): PlayersTypes => {\n        if (typeof window !== \"undefined\") {\n            return window[\"defaultNativeVideoType\"] as PlayersTypes\n        }\n        return null\n    }\n\n    private renderPlayer(nativePlayerType: PlayersTypes) {\n        if (!nativePlayerType) { return null }\n        const {\n            isAutoPlaying,\n            isLoopPlaying,\n            isPlayerBarVisible,\n            isSoundButtonVisible,\n            isMuteAvailable,\n            url,\n            downGradeUrl,\n        } = this.props.data\n\n        if (isAutoPlaying && isLoopPlaying && !isPlayerBarVisible && !isSoundButtonVisible && isMuteAvailable) {\n            return <video style={{ width: \"100%\", height: \"100%\" }} autoPlay muted controls={false}>\n                {map(getVideoSources(url, downGradeUrl), ({ type, src }) => <source src={src} type={type} />)}\n            </video>\n        }\n        const isYoutube = isYouTubeGlobalSettingEnabled(this.props.data)\n        if (isYoutube) {\n            return <YoutubePlayerForInline {...this.props} />\n        }\n\n        switch (nativePlayerType) {\n            case \"flowplayer\":\n                return <FlowPlayerForInline {...this.props} />\n\n            case \"hola\":\n                return <HolaPlayerForInline {...this.props} />\n\n            case \"videojs\":\n                return <VideoJsPlayerForInline {...this.props} />\n\n            case \"yitvideo\":\n                return <YITVideoJsPlayerForInline {...this.props} hideVideoAds={this.props.hideVideoAds} />\n        }\n        return null\n    }\n\n    render() {\n        return (\n            this.renderPlayer(this.getDefaultNativePlayer())\n        )\n    }\n}","import * as classNames from \"classnames\"\nimport * as delay from \"lodash/delay\"\nimport { SiteVideoData } from \"../../../../interfaces\"\nimport { getVideoSources, shouldAutoPlayVideo, isAboveTheFold } from \"../../videoPlayerUtils\"\nimport { sendPopularityEvent } from \"../../videoAnalytics\"\nimport { buildAdTag } from \"../../videoPlayerAds\"\nimport { VideoJsGoogleAnalytics } from \"../videoJsForInline/videoJsAnalytics\"\nrequire(\"./../../site_videoPlayer.less\")\n\ninterface HolaPlayerForInlineProps {\n    data: SiteVideoData\n    width?: number\n    height?: number\n    runArticleAutoPlayLogic?: boolean\n    applyStickyness?: boolean\n    isInLightbox?: boolean\n    onPlayStarted?: () => void\n    onPlayStopped?: () => void\n}\n\ninterface HolaPlayerForInlineState {\n    isMuted: boolean\n}\n\nexport class HolaPlayerForInline extends React.Component<HolaPlayerForInlineProps, HolaPlayerForInlineState>{\n    private player;\n    private holaPlayerContainerRef;\n    private playerIdentifier;\n\n    constructor(props) {\n        super(props)\n        this.playerIdentifier = `video_${this.props.data.mediaId}_${Date.now()}`\n        this.state = {\n            isMuted: false\n        }\n    }\n\n    componentWillMount() {\n        const { isMuteAvailable: isMuted } = this.props.data\n        this.setState({ isMuted })\n    }\n\n    componentDidMount() {\n        this.initializePlayer()\n    }\n\n    componentWillUnmount() {\n        this.player && this.player.dispose()\n    }\n\n    private initializePlayer = () => {\n        const { runArticleAutoPlayLogic, isInLightbox } = this.props\n        const {\n            poster,\n            isAutoPlaying,\n            isLoopPlaying: loop,\n            isPlayerBarVisible: controls,\n            isMuteAvailable: muted,\n            url,\n            downGradeUrl,\n        } = this.props.data;\n\n        const shouldAutoPlay = isInLightbox ? true : (!runArticleAutoPlayLogic && isAutoPlaying) || shouldAutoPlayVideo(this.holaPlayerContainerRef, isAutoPlaying);\n\n        const holaPlayerSettings = {\n            player: `#${this.playerIdentifier}`,\n            controls,\n            muted,\n            loop,\n            poster,\n            sources: getVideoSources(url, downGradeUrl),\n            ads: { adTagUrl: buildAdTag(\"Preroll\", shouldAutoPlay, isAboveTheFold(this.holaPlayerContainerRef), \"\") }\n        }\n\n        window.hola_player(\n            holaPlayerSettings,\n            (player) => {\n                this.player = player\n                this.attachPlayerEvents(shouldAutoPlay)\n            })\n    }\n\n    private attachPlayerEvents = (shouldAutoPlay: boolean) => {\n        this.player.on(\"ready\", () => {\n            if (shouldAutoPlay) {\n                delay(() => {\n                    this.player.play(),\n                        this.props.onPlayStarted && this.props.onPlayStarted()\n                }, 500)\n            }\n        })\n\n        this.player.on(\"playing\", () => {\n            const { url, mediaId } = this.props.data\n            this.attachStopToWindowObj()\n            this.props.onPlayStarted && this.props.onPlayStarted()\n            VideoJsGoogleAnalytics.reportVidoeStartPlaying(url)\n            sendPopularityEvent(mediaId, this.player.cache_.duration, window[\"WCM_POPULARITY_LINK\"])\n        })\n\n        this.player.on(\"adstart\", () => {\n            this.attachStopToWindowObj()\n            this.props.onPlayStarted && this.props.onPlayStarted()\n        })\n    }\n\n    private executeCurrentStopAttachedToWindow = () => {\n        window.stopCurrentPlayingPlayer &&\n            (window.stopCurrentPlayingPlayer !== this.stopPlayer) &&\n            window.stopCurrentPlayingPlayer()\n\n    };\n\n    private attachStopToWindowObj = () => {\n        this.executeCurrentStopAttachedToWindow()\n        window.stopCurrentPlayingPlayer = this.stopPlayer\n    }\n\n    private stopPlayer = () => {\n        // stop player\n        this.player.pause();\n        this.props.onPlayStopped && this.props.onPlayStopped()\n        this.player.currentTime(0);\n        //stop ad\n        if (window.hola_player('#' + this.playerIdentifier)) {\n            window.hola_player('#' + this.playerIdentifier).vjs.ima.pauseAd()\n        }\n    }\n\n    private handleMuteClicked = (e: React.MouseEvent) => {\n        e.stopPropagation()\n        this.setState((pState) => { return { isMuted: !pState.isMuted } })\n    }\n\n    render() {\n        const { isMuted } = this.state\n        const { width, height } = this.props\n        const { isPlayerBarVisible, isSoundButtonVisible, isLive } = this.props.data;\n        const containerStyle = width && height ? { width: `${width}px`, height: `${height}px` } : null\n        const muteButtonClassName = classNames(\"hola_external_mute\", { \"muted\": this.state.isMuted });\n        const containerClasses = classNames(\"holaWrapper\", { \"live\": isLive })\n        return (\n            <div className={containerClasses} style={{ ...containerStyle }}>\n                <video\n                    ref={ref => this.holaPlayerContainerRef = ref}\n                    id={this.playerIdentifier}\n                    style={{ ...containerStyle }}\n                    muted={isMuted}\n                    className=\"video-js inlinePlayer\" />\n                {isSoundButtonVisible && !isPlayerBarVisible &&\n                    <button className={muteButtonClassName} title=\"Mute Video\" onClick={this.handleMuteClicked} />}\n            </div>\n        )\n    }\n}\n\n\n","import { GenericInlineVideoPlayer } from \"./genericInlineVideoPlayer\";\nimport { SiteVideoData } from \"../../../interfaces\";\nimport { AbroadBlocked } from \"./abroadBlockedVideo\";\nimport { BlogsArticleVideoAppComponenta } from \"../../../defenitions/blogsAutoFeed/components/blogsArticleVideoAppComponenta\";\nimport { getQueryStringValue } from \"../../../widgetsUtils\";\n\ninterface SiteVideoInlineProps {\n    data: SiteVideoData;\n    width?: number;\n    height?: number;\n    runArticleAutoPlayLogic?: boolean;\n    hideVideoAds?: boolean;\n    isShareButton?: boolean;\n    isArticle?: boolean;\n    articleId?: string;\n    applyStickyness: boolean;\n    articleType?: string;\n    videoShareLink?: string;\n    videoCategoryId?: string;\n    adIndex?: number;\n    onSelect?: () => void;\n    onPlayStarted?: () => void;\n    onPlayStopped?: () => void;\n    onVideoEnded?: () => void;\n    onVideoError?: () => void;\n}\n\nexport class SiteVideoInline extends React.Component<SiteVideoInlineProps, {}> {\n    public static siteScriptName = \"SiteVideoInline\";\n\n    render() {\n        const { data, videoCategoryId } = this.props;\n        const isAbroad = typeof window !== \"undefined\" && window.isAbroad;\n        if (data.blockAbroadViews && isAbroad) {\n            return <AbroadBlocked poster={data.poster} />;\n        }\n\n        if (\n            typeof window !== \"undefined\" &&\n            getQueryStringValue(\"IsApp\") &&\n            !window.disableAppNativeVideo\n        ) {\n            return (\n                <BlogsArticleVideoAppComponenta\n                    data={data}\n                    videoCategoryId={videoCategoryId}\n                />\n            );\n        }\n\n        return <GenericInlineVideoPlayer {...this.props} />;\n    }\n}\n","export class VideoJsGoogleAnalytics {\n    static reportVidoeStartPlaying = (videoSrc) => {\n        const dataLayer = window.dataLayer || []\n        dataLayer.push({\n            event: \"video_start\",\n            related_url: `${window.video_ad_description_url}&dcPath=${window.dcPath}`,\n            video_url: `${videoSrc}&source=${window.video_analytics_src}`\n        });\n    }\n}","require(\"./../../site_videoPlayer.less\")\nimport * as classNames from \"classnames\"\nimport * as delay from \"lodash/delay\"\n\nimport { SiteVideoData } from \"../../../../interfaces\"\nimport { getVideoSources, shouldAutoPlayVideo, isAboveTheFold } from \"../../videoPlayerUtils\"\nimport { sendPopularityEvent } from \"../../videoAnalytics\"\nimport { attachVideojsStickinessAPI } from \"../../videojsStickiness\"\nimport { buildAdTag } from \"../../videoPlayerAds\"\nimport { VideoJsGoogleAnalytics } from \"./videoJsAnalytics\"\nimport { enablePageRefresh, disablePageRefresh } from \"../../../siteWidgetUtils\"\n\ninterface VideoJsPlayerForInlineState {\n    showCustomPlayBtn: boolean\n    isMuted: boolean\n}\n\ninterface VideoJsPlayerForInlineProps {\n    data: SiteVideoData\n    width?: number\n    height?: number\n    runArticleAutoPlayLogic?: boolean\n    applyStickyness?: boolean\n    hideVideoAds?: boolean\n    isInLightbox?: boolean\n    onPlayStarted?: () => void\n    onPlayStopped?: () => void\n}\n\nexport class VideoJsPlayerForInline extends React.Component<VideoJsPlayerForInlineProps, VideoJsPlayerForInlineState>{\n    private player;\n    private videoContainerRef;\n    private videoNodeRef;\n    private playerIdentifier;\n\n    constructor(props) {\n        super(props)\n        this.playerIdentifier = `video_${this.props.data.mediaId}_${Date.now()}`\n        this.state = {\n            showCustomPlayBtn: false,\n            isMuted: false\n        }\n    }\n\n    componentWillMount() {\n        const { isPlayerBarVisible: controls, isMuteAvailable: isMuted } = this.props.data\n        if (!controls) {\n            this.setState({ showCustomPlayBtn: true, isMuted })\n        }\n\n    }\n\n    componentDidMount() {\n        this.initializePlayer()\n    }\n\n\n    private initializePlayer = () => {\n        const { runArticleAutoPlayLogic, isInLightbox, applyStickyness, hideVideoAds } = this.props\n        const {\n            poster,\n            isAutoPlaying,\n            isLoopPlaying: loop,\n            isPlayerBarVisible: controls,\n            isMuteAvailable: muted,\n            url,\n            downGradeUrl\n        } = this.props.data;\n\n        const shouldAutoPlay = isInLightbox ? true : (!runArticleAutoPlayLogic && isAutoPlaying) || shouldAutoPlayVideo(this.videoNodeRef, isAutoPlaying);\n\n        const playerSettings = {\n            controls,\n            muted,\n            loop,\n            poster,\n            sources: getVideoSources(url, downGradeUrl)\n        }\n\n        const videoJSPlayer = window.videojs(\n            this.videoNodeRef,\n            playerSettings,\n            (player) => {\n                this.player = window.videojs.getPlayer(this.playerIdentifier)\n                this.attachPlayerEvents(shouldAutoPlay)\n                applyStickyness && !isInLightbox && attachVideojsStickinessAPI(this.playerIdentifier, this.videoContainerRef, poster);\n            }\n        )\n\n        if (!hideVideoAds) {\n            this.initializeIma(videoJSPlayer, shouldAutoPlay);\n        }\n    }\n\n    private initializeIma = (player, shouldAutoPlay: boolean) => {\n        const { categoryId } = this.props.data\n        const isATF = isAboveTheFold(this.videoContainerRef)\n        const imaOptions = {\n            id: this.videoNodeRef,\n            locale: \"il\",\n            adTagUrl: buildAdTag(\"Preroll\", shouldAutoPlay, isATF, \"vjs\", null, categoryId)\n        };\n        window.hasOwnProperty(\"google\") && player.ads && player.ima && player.ima(imaOptions)\n    }\n\n    private attachPlayerEvents = (shouldAutoPlay: boolean) => {\n        this.player.on(\"ready\", () => {\n            if (shouldAutoPlay) {\n                delay(() => {\n                    this.player.play()\n                    this.props.onPlayStarted && this.props.onPlayStarted()\n                }, 500)\n            }\n        })\n\n        this.player.on(\"play\", () => {\n            const { url, mediaId } = this.props.data\n            window.detachCurrentVideo && window.detachCurrentVideo(null, true)\n            this.attachStopToWindowObj()\n            VideoJsGoogleAnalytics.reportVidoeStartPlaying(url)\n            sendPopularityEvent(mediaId, this.player.cache_.duration, window[\"WCM_POPULARITY_LINK\"])\n            this.props.onPlayStarted && this.props.onPlayStarted()\n            disablePageRefresh();\n            this.setState({ showCustomPlayBtn: false })\n        })\n\n        this.player.on(\"adstart\", () => {\n            this.attachStopToWindowObj()\n        })\n\n        this.player.on(\"ended\", () => {\n            enablePageRefresh();\n            this.setState({ showCustomPlayBtn: true })\n            this.props.onPlayStopped && this.props.onPlayStopped()\n        })\n\n        this.player.on(\"pause\", () => {\n            enablePageRefresh();\n            this.setState({ showCustomPlayBtn: true })\n            this.props.onPlayStopped && this.props.onPlayStopped()\n        })\n    }\n\n    private executeCurrentStopActionAttachedToWindow = () => {\n        window.stopCurrentPlayingPlayer &&\n            (window.stopCurrentPlayingPlayer !== this.stopPlayer) &&\n            window.stopCurrentPlayingPlayer()\n    }\n\n    private attachStopToWindowObj = () => {\n        this.executeCurrentStopActionAttachedToWindow()\n        window.stopCurrentPlayingPlayer = this.stopPlayer\n    }\n\n    private stopPlayer = () => {\n        this.player.pause()\n        this.player.currentTime(0)\n        this.props.onPlayStopped && this.props.onPlayStopped()\n        const player = window.videojs('#' + this.playerIdentifier)\n        window.hasOwnProperty(\"google\") && player && player.ads && player.ima && player.ima.pauseAd()\n    }\n\n    componentWillUnmount() {\n        enablePageRefresh();\n        if (window.stopCurrentPlayingPlayer == this.stopPlayer) {\n            window.stopCurrentPlayingPlayer = null\n        }\n        //this.player && this.player.dispose()\n    }\n\n    private onPlayClick = () => {\n        this.player.play()\n        this.props.onPlayStarted && this.props.onPlayStarted()\n        this.setState({ showCustomPlayBtn: false })\n    }\n\n    private handleMuteClicked = (e: React.MouseEvent) => {\n        e.stopPropagation()\n        this.setState((pState) => { return { isMuted: !pState.isMuted } })\n    }\n\n    render() {\n        const { width, height } = this.props\n        const { isPlayerBarVisible, isSoundButtonVisible, isLive } = this.props.data;\n        const { showCustomPlayBtn, isMuted } = this.state\n        const muteButtonClassName = classNames(\"videojs_external_mute\", { \"muted\": this.state.isMuted });\n        const containerStyle = width && height ? { width: `${width}px`, height: `${height}px` } : null\n        const containerClasses = classNames(\"videojsContainer\", { \"live\": isLive })\n\n        return (\n            <div data-vjs-player ref={ref => this.videoContainerRef = ref} className={containerClasses} style={{ ...containerStyle }}>\n\n                {showCustomPlayBtn &&\n                    <button onClick={this.onPlayClick} className=\"vjs-big-play-button force-display\" >\n                        <span aria-hidden=\"true\" className=\"vjs-icon-placeholder\"></span>\n                    </button>}\n                <video\n                    ref={ref => this.videoNodeRef = ref}\n                    muted={isMuted}\n                    id={this.playerIdentifier}\n                    className=\"video-js inlinePlayer\" />\n                {isSoundButtonVisible && !isPlayerBarVisible && !showCustomPlayBtn &&\n                    <button className={muteButtonClassName} title=\"Mute Video\" onClick={this.handleMuteClicked} />}\n            </div>\n        )\n    }\n}\n\n\n","import { SiteVideoData } from \"../../../../interfaces\"\nimport { generateVideoId, shouldAutoPlayVideo, attachPageRefrashUtils, attachPageRefreshUtilsYoutube } from \"../../videoPlayerUtils\"\nimport { isMobile } from \"../../../../../utils/isMobile\"\nimport { attachStickinessYouTubeAPI } from \"../../youtubeStickiness\"\nimport * as classNames from \"classnames\"\nimport { attachYoutubeAnalytics } from \"../../youtubePlayer/utils\";\nimport { getPlayerAdIu, getCustomParmsString, getNumberOfViews } from \"../../videoPlayerAds\";\nrequire(\"../../site_videoPlayer.less\")\n\nconst YT_DEFAULT_ASPECT_RATIO = 16 / 9;\n\ninterface YoutubePlayerForInlineProps {\n    data: SiteVideoData\n    width?: number\n    height?: number\n    runArticleAutoPlayLogic?: boolean\n    applyStickyness: boolean\n    onPlayStarted?: () => void\n    onPlayStopped?: () => void\n}\n\ninterface YoutubePlayerForInlineState {\n    isMuted?: boolean\n    viewMode?: \"mobile\" | \"desktop\"\n}\n\nexport class YoutubePlayerForInline extends React.Component<YoutubePlayerForInlineProps, YoutubePlayerForInlineState>{\n    private player: YT.Player; // YT player instance\n    public youtubePlayerAnchor; // player DOM ref\n    public youtubePlayerContainerAnchor; // player container DOM ref\n    private playerTagID = generateVideoId();\n\n    public constructor(props: YoutubePlayerForInlineProps) {\n        super(props)\n        this.state = {\n            isMuted: props.data.isMuteAvailable,\n        }\n        this.handleMuteClicked = this.handleMuteClicked.bind(this);\n    }\n\n    componentDidMount() {\n        window.YoutubeAPIControlller.load(this);\n        this.setViewMode()\n    }\n\n    componentWillReceiveProps(nextProps) {\n        if (this.props.data !== nextProps.data) {\n            this.player.loadVideoById(nextProps.data.youtube_id)\n        }\n    }\n\n    public setViewMode = () => {\n        this.setState({\n            viewMode: isMobile() ? \"mobile\" : \"desktop\"\n        })\n    }\n\n    private executeCurrentStopAttachedToWindow = () => {\n        window.stopCurrentPlayingPlayer &&\n            (window.stopCurrentPlayingPlayer !== this.stopPlayer) &&\n            window.stopCurrentPlayingPlayer()\n    };\n\n    private attachStopToWindowObj = () => {\n        this.executeCurrentStopAttachedToWindow()\n        window.stopCurrentPlayingPlayer = this.stopPlayer\n        this.props.onPlayStopped && this.props.onPlayStopped()\n    }\n\n    private stopPlayer = () => {\n        this.player.pauseVideo()\n        this.player.stopVideo()\n        this.props.onPlayStopped && this.props.onPlayStopped()\n\n    }\n\n    private onPlayerReady = (e) => {\n        const { data, runArticleAutoPlayLogic, applyStickyness } = this.props\n        const player = e.target;\n\n        attachYoutubeAnalytics(this, data.youtube_id);\n\n        if (data.isMuteAvailable) {\n            player.mute()\n        }\n        const shouldAutoPlay = (!runArticleAutoPlayLogic && data.isAutoPlaying) || shouldAutoPlayVideo(this.youtubePlayerContainerAnchor, data.isAutoPlaying);\n\n        if (shouldAutoPlay) {\n            player.playVideo();\n            this.props.onPlayStarted && this.props.onPlayStarted()\n        }\n\n        applyStickyness ? attachStickinessYouTubeAPI(this.player, this.youtubePlayerContainerAnchor, `url(${this.props.data.poster})`) : null;\n        attachPageRefreshUtilsYoutube(this.player)\n    }\n\n    private onPlayerStateChange = (event) => {\n        const player = event.target as YT.Player\n        if (event.data == YT.PlayerState.PLAYING) {\n            this.props.onPlayStarted && this.props.onPlayStarted()\n            this.attachStopToWindowObj();\n            if (currentPlayingYoutubePlayer && (currentPlayingYoutubePlayer != player)) {\n                // Pause other videos on play\n                currentPlayingYoutubePlayer.pauseVideo();\n                this.props.onPlayStopped()\n            }\n            currentPlayingYoutubePlayer = player;\n        }\n    }\n\n    public createPlayer = () => {\n        const { height, width, data } = this.props;\n        const { viewMode } = this.state;\n        this.player = new YT.Player(this.youtubePlayerAnchor, {\n            videoId: data.youtube_id,\n            height: height || this.getHeight(),\n            width: width || this.getWidth(),\n            embedConfig: {\n                adsConfig: {\n                    adTagParameters: {\n                        iu: getPlayerAdIu(),\n                        cust_params: getCustomParmsString(\"Preroll\", window.dcPath, window.video_ad_yncd, getNumberOfViews(), data.isAutoPlaying, shouldAutoPlayVideo(this.youtubePlayerContainerAnchor, data.isAutoPlaying), \"pfp\"),\n                        pmnd: 5000,\n                        pmxd: 40000,\n                        pmad: 2\n                    }\n                }\n            },\n            playerVars: {\n                autoPlay: data.isAutoPlaying && shouldAutoPlayVideo(this.youtubePlayerContainerAnchor, data.isAutoPlaying) ? 1 : 0,\n                loop: data.isLoopPlaying ? 1 : 0,\n                playlist: data.isLoopPlaying ? data.youtube_id : null, // Required for loop (see https://developers.google.com/youtube/player_parameters#loop).\n                controls: data.isPlayerBarVisible ? 1 : 0,\n                showinfo: 0,\n                rel: 0,\n                modestbranding: viewMode == \"mobile\" ? 1 : 0\n            } as YT.PlayerVars,\n            events: {\n                onReady: this.onPlayerReady,\n                onStateChange: this.onPlayerStateChange,\n            } as YT.Events\n        });\n    }\n\n    private getWidth() {\n        let width;\n        if (this.youtubePlayerContainerAnchor) { width = this.youtubePlayerContainerAnchor.getBoundingClientRect().width; }\n        else width = null\n        return width;\n    }\n\n    private getHeight = () => {\n        return Math.floor(this.getWidth() / YT_DEFAULT_ASPECT_RATIO);\n    }\n\n    private handleMuteClicked = (e: React.MouseEvent) => {\n        e.stopPropagation();\n        this.setState({ isMuted: !this.player.isMuted() }, () => this.player.isMuted() ? this.player.unMute() : this.player.mute());\n    }\n\n    render() {\n        const { data } = this.props;\n        const muteButtonClassName = classNames(\"youtube_external_mute\", { \"muted\": this.state.isMuted });\n        return (\n            <div ref={ref => this.youtubePlayerContainerAnchor = ref} id={this.playerTagID} className={\"youTubePlayer\"}>\n                <div ref={ref => this.youtubePlayerAnchor = ref} />\n                {data.isSoundButtonVisible && !data.isPlayerBarVisible && <div className={muteButtonClassName} onClick={this.handleMuteClicked} />}\n            </div>\n        )\n    }\n}","import { SiteVideoData } from \"../../../interfaces\"\nimport { isYouTubeGlobalSettingEnabled } from \"../videoPlayerUtils\"\nimport { YoutubePlayerForLightbox } from \"./youtubePlayerForLightbox/youtubePlayerForLightbox\";\nimport { FlowPlayerForInline } from \"../genericInlineVideoPlayer/flowPlayerForInline/flowPlayerForInline\"\nimport { PlayersTypes } from \"../genericInlineVideoPlayer/genericInlineVideoPlayer\"\nimport { HolaPlayerForInline } from \"../genericInlineVideoPlayer/holaPlayerForInline/holaPlayerForInline\"\nimport { YITVideoJsPlayerForInline } from \"../genericInlineVideoPlayer/YITVideoJsForInline\"\nimport { VideoJsPlayerForInline } from \"../genericInlineVideoPlayer/videoJsForInline/videoJsForInline\"\n\ninterface GenericLightboxVideoPlayerProps {\n    data: SiteVideoData\n    width: number\n    height: number\n    hideVideoAds?: boolean\n    applyStickyness: boolean\n    focusCloseBtn?: () => void\n    onSelect?: () => void\n}\n\nexport class GenericLightboxVideoPlayer extends React.Component<GenericLightboxVideoPlayerProps, {}> {\n    private getDefaultNativePlayer = (): PlayersTypes => {\n        if (typeof window !== \"undefined\") {\n            return window[\"defaultNativeVideoType\"] as PlayersTypes\n        }\n        return null\n    }\n\n    componentDidMount() {\n        window.YitVideo && window.YitVideo.InfrastructureReInitialize();\n    }\n\n\n    private renderPlayer(playerType: PlayersTypes) {\n        const isYoudube = isYouTubeGlobalSettingEnabled(this.props.data)\n        if (isYoudube) {\n            return <YoutubePlayerForLightbox {...this.props} />\n        }\n        switch (playerType) {\n            case \"flowplayer\":\n                return <FlowPlayerForInline key={`${Math.random()}`} {...this.props} />\n\n            case \"hola\":\n                return <HolaPlayerForInline isInLightbox={true} key={`${Math.random()}`}  {...this.props} />\n\n            case \"videojs\":\n                return <VideoJsPlayerForInline isInLightbox={true} key={`${Math.random()}`}  {...this.props} />\n\n            case \"yitvideo\":\n                return <YITVideoJsPlayerForInline {...this.props} />\n        }\n        return null\n    }\n\n    render() {\n        return (\n            this.renderPlayer(this.getDefaultNativePlayer())\n        )\n    }\n}","import * as indexOf from \"lodash/indexOf\"\nimport { SiteVideoData } from \"../../../interfaces\"\nimport { GenericLightboxVideoPlayer } from \"./genericLightboxVideoPlayer\"\nimport { PlayersTypes } from \"../genericInlineVideoPlayer/genericInlineVideoPlayer\"\nimport { removeHtmlTagsFromString } from \"../../../jsonSerializer/common/jsonHelperUtils\";\nimport { AbroadBlocked } from \"../genericInlineVideoPlayer/abroadBlockedVideo\";\nrequire(\"./../site_videoPlayer.less\")\nrequire(\"./../site_videoPlayer-mobile.less\")\n\n\n\ninterface SiteVideoLightboxProps {\n    data: SiteVideoData\n    playerType?: PlayersTypes\n    allVideos: SiteVideoData[]\n    hideVideoAds?: boolean\n    applyStickyness: boolean\n    loadVideoById?: (videoId: string) => void\n    onSelect?: () => void\n    onLightBoxOpened?: () => void\n    onLightBoxClosed?: () => void\n}\n\ninterface SiteVideoLightboxState {\n    lightBox: boolean\n}\n\nexport class SiteVideoLightbox extends React.Component<SiteVideoLightboxProps, SiteVideoLightboxState>{\n    public constructor() {\n        super();\n        this.state = {\n            lightBox: false,\n        }\n    }\n\n    public youtubePlayerContainerAnchor: HTMLDivElement; // player container DOM ref\n\n    private onPlay = (e: React.MouseEvent) => {\n        this.setState({\n            lightBox: true\n        }, () =>\n                this.props.onLightBoxOpened && this.props.onLightBoxOpened()\n        )\n    }\n\n    private onClose = (e: React.MouseEvent) => {\n        this.setState({\n            lightBox: false,\n        }, () =>\n                this.props.onLightBoxClosed && this.props.onLightBoxClosed()\n        )\n    }\n\n    public render() {\n        const { lightBox } = this.state\n        const { data, allVideos } = this.props\n        const { isBigVideo } = data\n        const initialIndexToPlayInLightbox = indexOf(allVideos, data)\n        return (\n            <div ref={ref => this.youtubePlayerContainerAnchor = ref} className=\"SiteVideoLightbox\">\n                {lightBox && <Lightbox initialIndexToPlayInLightbox={initialIndexToPlayInLightbox} onClose={this.onClose} {...this.props} />}\n                <img src={data.poster} onClick={this.onPlay} style={posterStyle} />\n                <span className={`iconOnPoster ${isBigVideo ? \"big\" : \"small\"}`} style={{ pointerEvents: \"none\" }}></span>\n            </div>\n        )\n    }\n}\n\n\n\nconst PLAYER_WIDTH = 640;\nconst YT_DEFAULT_ASPECT_RATIO = 16 / 9;\nconst PLAYER_HEIGHT = PLAYER_WIDTH / YT_DEFAULT_ASPECT_RATIO;\n\ninterface LightboxProps {\n    playerType?: PlayersTypes\n    allVideos: SiteVideoData[]\n    hideVideoAds?: boolean\n    applyStickyness: boolean\n    initialIndexToPlayInLightbox: number\n    onClose: (e: React.MouseEvent) => void\n    loadVideoById?: (videoId: string) => void\n    onSelect?: () => void\n}\n\ninterface LightboxState {\n    currentVideoData: SiteVideoData\n}\n\nclass Lightbox extends React.Component<LightboxProps, LightboxState>{\n    public closeButton: HTMLButtonElement;\n\n    public constructor() {\n        super();\n        this.state = {\n            currentVideoData: null\n        }\n    }\n\n    componentDidMount() {\n        const { initialIndexToPlayInLightbox } = this.props\n        this.loadVideoData(initialIndexToPlayInLightbox)\n    }\n\n    private focusCloseButton = () => {\n        this.closeButton.focus()\n    }\n\n    private loadVideoData = (index: number): void => {\n        const { allVideos } = this.props\n        this.setState({ currentVideoData: allVideos[index] })\n    }\n\n    render() {\n        const { currentVideoData } = this.state\n        const { allVideos, playerType, hideVideoAds, onSelect, applyStickyness, onClose } = this.props\n        const isAbroad = typeof window !== \"undefined\" && window.isAbroad\n        if (!currentVideoData) { return null }\n        if (currentVideoData.blockAbroadViews && isAbroad) return <AbroadBlocked poster={currentVideoData.poster} />\n        return (\n            <div style={{ ...lightBoxStyle, display: \"flex\" }} onClick={onClose}>\n                <div style={lightBoxPlayerStyle} className=\"video-container\" onClick={e => { e.stopPropagation() }/*prevent invoking this.onClickOutside */}>\n                    <div id=\"ynet_lightbox_video_header\">\n                        <div className=\"ynet_lightbox_video_header_p\">\n                            <div className=\"ynet_lightbox_floatr ynet_lightbox_video_header_title_wrap\">\n                                <span className=\"ynet_lightbox_video_header_title\">{currentVideoData.title !== undefined && removeHtmlTagsFromString(currentVideoData.title)}</span>\n                                &nbsp;\n                            </div>\n                            <button className=\"ynet_lightbox_floatl ynet_lightbox_video_close ynet_lightbox_pointer\" onClick={onClose} ref={ref => this.closeButton = ref}>\n                                <img className=\"ynet_lightbox_floatl\" src=\"https://www.ynet.co.il/images/hp_player_close.gif\" />\n                            </button>\n                        </div>\n                    </div>\n\n                    <GenericLightboxVideoPlayer\n                        data={currentVideoData}\n                        applyStickyness={applyStickyness}\n                        hideVideoAds={hideVideoAds}\n                        focusCloseBtn={this.focusCloseButton}\n                        onSelect={onSelect}\n                        width={PLAYER_WIDTH}\n                        height={PLAYER_HEIGHT}\n                    />\n\n                    {allVideos.length > 1 &&\n                        <div id=\"ynet_lightbox_video_footer\">\n                            <div id=\"ynet_lightbox_video_footer_inner\">\n                                {allVideos.map((video, index) =>\n                                    <div className=\"thumbnailWrapper\" key={index}>\n                                        <div className=\"innerWrapper\" >\n                                            <img\n                                                src={video.poster}\n                                                onClick={e => this.loadVideoData(index)}\n                                            />\n                                        </div>\n                                    </div>\n                                )}\n                            </div>\n                        </div>\n                    }\n\n                </div>\n            </div>\n        )\n    }\n}\n\n\n\n// Based on current (flow player) css:\nconst lightBoxPlayerStyle = {\n    display: \"block\",\n    width: \"640px\",\n}\n\nconst lightBoxStyle = {\n    justifyContent: \"center\",\n    alignItems: \"center\",\n    position: \"fixed\",\n    left: 0,\n    right: 0,\n    top: 0,\n    bottom: 0,\n    backgroundColor: \"rgba(0,0,0,.75)\",\n    zIndex: 9999\n}\n\nconst posterStyle = {\n    height: \"100%\",\n    width: \"100%\",\n}","import { SiteVideoData } from \"../../../../interfaces\"\nimport { generateVideoId } from \"../../videoPlayerUtils\"\nimport { attachYoutubeAnalytics } from \"../../youtubePlayer/utils\";\n\ninterface YoutubePlayerForLightboxProps {\n    data: SiteVideoData\n    width: number\n    height: number\n    focusCloseBtn?: () => void\n}\n\nexport class YoutubePlayerForLightbox extends React.Component<YoutubePlayerForLightboxProps, any>{\n    public player: YT.Player; // YT player instance\n    public youtubePlayerAnchor; // player DOM ref\n    public youtubePlayerContainerAnchor; // player container DOM ref\n    private playerDomID = generateVideoId();\n\n    componentDidMount() {\n        this.createPlayer()\n    }\n\n    componentWillReceiveProps(nextProps) {\n        if (this.props.data !== nextProps.data) {\n            this.player.loadVideoById(nextProps.data.youtube_id)\n        }\n    }\n\n    private createPlayer = () => {\n        const { data, width, height } = this.props;\n        this.player = new YT.Player(this.youtubePlayerAnchor, {\n            videoId: data.youtube_id,\n            width,\n            height,\n            playerVars: {\n                autoplay: data.isAutoPlaying ? 1 : 0,\n                loop: data.isLoopPlaying ? 1 : 0,\n                playlist: data.isLoopPlaying ? data.youtube_id : null, // Required for loop (see https://developers.google.com/youtube/player_parameters#loop).\n                controls: data.isPlayerBarVisible ? 1 : 0,\n                showinfo: 0,\n                rel: 0\n            } as YT.PlayerVars,\n            events: {\n                onReady: this.onPlayerReady,\n                onStateChange: this.onPlayerStateChange\n            } as YT.Events\n        });\n    }\n\n    private onPlayerReady = (e) => {\n        const { data, focusCloseBtn } = this.props\n        const player = e.target;\n        attachYoutubeAnalytics(this, data.youtube_id);\n\n        if (data.isMuteAvailable) {\n            player.mute()\n        }\n        if (data.isAutoPlaying) {\n            player.playVideo();\n        }\n        focusCloseBtn && focusCloseBtn();\n    }\n\n    private onPlayerStateChange = (event) => {\n        const player = event.target as YT.Player\n        const status = event.data;\n\n        // Pause other videos on play\n        if (status == YT.PlayerState.PLAYING) {\n            if (currentPlayingYoutubePlayer) {\n                if (currentPlayingYoutubePlayer != player) {\n                    currentPlayingYoutubePlayer.pauseVideo()\n                }\n            }\n            currentPlayingYoutubePlayer = player;\n        }\n    }\n\n    render() {\n        return (\n            <div ref={ref => this.youtubePlayerContainerAnchor = ref} id={this.playerDomID} className=\"youTubePlayer\">\n                <div ref={ref => this.youtubePlayerAnchor = ref} />\n            </div>\n        )\n    }\n}","export function AddAnalytics(api: any, videoId: string, wcmPopularityLink: string) {\n    addStartEvent(api, videoId, wcmPopularityLink)\n}\n\nfunction addStartEvent(api: any, videoId: string, wcmPopularityLink: string) {\n    api.on(\"cuepoint\", (e, api, cuepoint) => {\n        if (cuepoint.startEvent) {\n            // window.dataLayer = window.dataLayer || []\n            // window.dataLayer.push({\n            //     event: \"video_start\",\n            //     related_url: `${window.video_ad_description_url}&dcPath=${window.dcPath}`,\n            //     video_url: `${api.video.src}&source=${window.video_analytics_src}`\n            // });\n            sendPopularityEvent(videoId, api.video.duration, wcmPopularityLink);\n        }\n    })\n}\n\nexport function sendPopularityEvent(videoId: string, videoTime: number, wcmPopularityLink: string) {\n    let typeNum = \"1\";\n    typeNum = window.isMobile1 ? \"2\" : \"1\";\n    if (wcmPopularityLink) {\n        const url = `${wcmPopularityLink}?content=${videoId}&type=${typeNum}&time=${videoTime}&random=${Math.floor(Math.random() * 999999)}`\n        new Image().src = url;\n    }\n}\n\nexport function sendVideoStikyShow(videoSrc: string) {\n    window.dataLayer = window.dataLayer || []\n    window.dataLayer.push({\n        event: \"GA_Event_zynet\",\n        Category: \"Video - Mini Player\",\n        Action: \"Show\",\n        Label: `${window.location.href}&video=${videoSrc}`\n    });\n}\n\nexport function sendVideoStikyClose(videoSrc: string) {\n    window.dataLayer = window.dataLayer || []\n    window.dataLayer.push({\n        event: \"GA_Event_zynet\",\n        Category: \"Video - Mini Player\",\n        Action: \"Closed\",\n        Label: `${window.location.href}&video=${videoSrc}`\n    });\n}\n","\nexport type AdType = \"Preroll\" | \"Postroll\" | \"Midroll\"\n\ndeclare let window: Window & {\n    dcSite: string\n    siteID?: string\n\n}\nconst getAdTagTemplate = (iu: string, description_url: string, cust_params: string, midroll_params: string, verticalProportion?: string) =>\n    `https://pubads.g.doubleclick.net/gampad/ads?sz=640x480|640x360${verticalProportion}&iu=${iu}&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&url=[referrer_url]&description_url=${encodeURIComponent(description_url)}&correlator=[timestamp]&plcmt=1&vpmute=0&cust_params=${encodeURIComponent(cust_params)}&${midroll_params}`\n\nexport const getCustomParmsString = (adType: AdType, dcPath: string, yncd: string, viewsCount: number, isAutoPlay: boolean, isATF: boolean, player: string, categoryId = \"\") => {\n    const viewStr = viewsCount ? `&view=${viewsCount}` : \"\"\n    const playerStr = player ? `&player=${player}` : \"\"\n    const permutiv = localStorage.getItem('_psegs');\n    const dmpPublisherPrevDefinitionsIds = localStorage.getItem(\"dmp-publisher-prevDefinitionsIds\");\n    const searchUrlParams = new URLSearchParams(window.location.search);\n    let value = `VideoPosition=${adType}&dcPath=${dcPath}&yncd=${yncd}${categoryId ? `&category_id=${categoryId}` : \"\"}&autoplay=${!!isAutoPlay}&VideoPosition_autoplay=${adType}_${!!isAutoPlay}${viewStr}&ynch=${dcPath}&user_intent=${isATF}&PositionInPage_Autoplay=${isATF ? 'ATF' : 'BTF'}_${!!isAutoPlay}${playerStr}`;\n    if (permutiv) {\n        value += `&permutive=${encodeURIComponent(permutiv.replace('[', '').replace(']', ''))}`\n    }\n\n    if (searchUrlParams.has('dcStage')) {\n        value += `&dcStage=${searchUrlParams.get('dcStage')}`;\n    }\n\n    if (window.dcSite && window.dcSite.includes(\"mynet\")) {\n        let mynet_platform = (window.isMobile1) ? \"mobile\" : \"desktop\";\n        let sitestr = window.dcSite;\n        let mynet_cities = sitestr.substr(5, sitestr.length);\n        value += `&mynet_platform=${mynet_platform}&mynet_cities=${mynet_cities}`;\n    }\n\n    if (WCM_FEATURES_FLAGS.ENABLE_YOUTUBE_CUST_PARAM_LOG) {\n        console.log(\"cust params =>\", value)\n    }\n    if (WCM_FEATURES_FLAGS.INSERT_ENV_TO_CUST_PARAMS) {\n        value += `&Environment=qa`;\n    }\n    if (dmpPublisherPrevDefinitionsIds !== null && dmpPublisherPrevDefinitionsIds !== '') {\n        value += `&dxseg=${encodeURIComponent(dmpPublisherPrevDefinitionsIds)}`\n    }\n\n    return value;\n}\n\nexport function getImaSettings(isAutoPlay: boolean, isATF: boolean, player: string = \"\", duration?: number, categoryId?: string, adIndex?: number) {\n    let ads = [\n        {\n            time: 0,\n            adTag: buildAdTag(\"Preroll\", isAutoPlay, isATF, player, duration, categoryId, adIndex),\n        },\n    ]\n    if (window && window['videoPlayerAds']) {\n        ads = window['videoPlayerAds']\n    }\n    return {\n        locale: \"he\",\n        ads\n    };\n}\n\nconst midrollIntervalInSeconds = 8 * 60;\nconst midrollLimitFromEndInSeconds = 2 * 60;\nexport function addMidrollAds(api: any, isAutoPlay: boolean, isATF: boolean, player: string = \"\") {\n    //use one to only fire the event once so that multiple plays of the same video will not ad unnecessary ads. \n    api.one(\"ready\", function () {\n        let mid = midrollIntervalInSeconds;\n        const maxDuration = api.video.duration - midrollLimitFromEndInSeconds;\n        while (mid < maxDuration) {\n            api.conf.ima && api.conf.ima.ads && api.conf.ima.ads.push({ time: mid, adTag: buildAdTag(\"Midroll\", isAutoPlay, isATF, player) });\n            mid += midrollIntervalInSeconds;\n        }\n    });\n}\n\nexport function buildAdTag(adType: AdType, isAutoPlay: boolean, isATF: boolean, player: string, duration?: number, categoryId?: string, adIndex?: number) {\n    const viewsCount = getNumberOfViews();\n    const customParms = getCustomParmsString(adType, window.dcPath, window.video_ad_yncd, viewsCount, isAutoPlay, isATF, player, categoryId);\n    const videoAdIu = getPlayerAdIu(adIndex);\n    const midRollParms = getMidrollParams(duration)\n    const verticalProportion: string = adIndex ? \"|480x640\" : \"\";\n    return getAdTagTemplate(videoAdIu, window.video_ad_description_url, customParms, midRollParms, verticalProportion);\n}\n\nexport function getPlayerAdIu(adIndex?: number) {\n    let videoAdIu = `${window.video_ad_iu}${adIndex ? `/vertical.video.${adIndex}` : \"\"}`;\n    if (window.isMobile1) {\n        videoAdIu = `${window.video_ad_iu_mobile}${adIndex ? `/vertical.video.${adIndex}` : \"\"}`;\n        if (videoAdIu) {\n            const device = getDevice();\n            videoAdIu = videoAdIu.replace(\"{device}\", device)  // if there is no '{device}' in videoAdIu, this will do nothing\n        }\n        if (window.siteID === \"calcalist\") {\n            const AdIu = `/6870/Network.video/video.calcalist/mobileweb/video.calcalist.vast`;\n            videoAdIu = `${AdIu}${adIndex ? `/vertical.video.${adIndex}` : \"\"}`;\n        }\n\n    }\n    return videoAdIu;\n}\n\nexport function getNumberOfViews(): number {\n    try {\n        resetLocalStorageVideoViewCounter();\n        return ++localStorage._ads_video_view;\n    } catch (_) {\n        return null;\n    }\n}\n\nconst threeHoursInMS = 3 * 60 * 60 * 1000;\nfunction resetLocalStorageVideoViewCounter() {\n    const dayOfMonthInThreeHours = new Date(Date.now() + threeHoursInMS).getUTCDate();\n    if (dayOfMonthInThreeHours != localStorage._ads_video_view_Date) {\n        localStorage._ads_video_view_Date = dayOfMonthInThreeHours;\n        localStorage._ads_video_view = 0;\n    }\n}\n\nexport const getMidrollParams = (duration?: number): string => {\n    const defaultVid_d = 90000\n    const maxDuration = 25000\n    const allcues = \"30000,60000\"\n    const vid_d = duration || defaultVid_d\n    return `max_ad_duration=${maxDuration}&allcues=${allcues}&vid_d=${vid_d}&ad_rule=1`\n}\n\nexport function getDevice() {\n    let device: \"android\" | \"iphone\" = 'android';\n    if (typeof navigator !== \"undefined\") {\n        if (/iPhone|iPad|iPod/i.test(navigator.userAgent)) {\n            device = 'iphone';\n        }\n    }\n    return device;\n}","import { disablePageRefresh, enablePageRefresh, isPageNotReloaded } from \"../siteWidgetUtils\"\nimport { AUTOPLAY_HASH_TAG } from \"../../widgetsUtils\"\nimport { SiteVideoData, YnetTvSiteVideoData } from \"../../interfaces\"\nexport function moveEmbedToHeader(playerContainer: HTMLDivElement) {\n    const header = playerContainer.querySelector(\".fp-header\");\n    const embedButton = playerContainer.querySelector(\".fp-embed\");\n    embedButton.setAttribute(\"title\", \"embed\");\n    embedButton.innerHTML = \"\";\n    header.appendChild(embedButton)\n\n}\nexport function moveShareToHeader(playerContainer: HTMLDivElement) {\n    const header = playerContainer.querySelector(\".fp-header\");\n    const shareButton = playerContainer.querySelector(\".fp-share_button\");\n    header.appendChild(shareButton)\n\n}\n\nexport function getVideoTitle(title: string, itemLinkUrl: string): string {\n    if (title) {\n        if (itemLinkUrl) {\n            return `עבור ל: <a href=\"${itemLinkUrl}\" target=\"_blank\">${title}</a>`\n        }\n        return title;\n    }\n    return \"\";\n}\n\nexport const isYouTubeGlobalSettingEnabled = (data: SiteVideoData | YnetTvSiteVideoData): boolean => {\n    return false;\n}\ndeclare let window: Window & {\n    MSStream: string\n}\n\nexport function getVideoSources(mainUrl: string, downGradeUrl: string): { type: string, src: string }[] {\n    const getVideoType = (url: string) => {\n        if (url.toLowerCase().endsWith(\".m3u8\")) return \"application/x-mpegurl\";\n        if (url.toLowerCase().endsWith(\".mpd\")) return \"application/dash+xml\";\n        if (url.toLowerCase().endsWith(\".mp4\")) return \"video/mp4\";\n        return \"video/mp4\"; // Default type\n    };\n\n    const addHttpsIfMissing = (url: string) => {\n        if (!/^https?:\\/\\//i.test(url)) {\n            return `https://${url.replace(/^\\/+/, '')}`;\n        }\n        return url;\n    };\n\n    const isIOS = () => {\n        return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n    };\n\n    const getSource = (url: string) => url ? ({ type: getVideoType(url), src: addHttpsIfMissing(url) }) : undefined;\n    const sources = [];\n    const mainSource = getSource(mainUrl);\n    const downGradeSource = getSource(downGradeUrl);\n    if (mainSource) sources.push(mainSource);\n    if (downGradeSource) sources.push(downGradeSource);\n\n    if (isIOS() && sources.some(source => source.type === 'application/dash+xml')) {\n        return createMobileArray(sources);\n    }\n\n    return sources;\n}\n\nfunction createMobileArray(desktop) {\n    const mobile = [];\n    \n    // Get DASH URL and create HLS source\n    const dashItem = desktop.find(item => item.type === 'application/dash+xml');\n    const hlsUrl = dashItem.src\n        .replace('manifest.mpd', 'master.m3u8')\n        .replace('/d/', '/i/');\n    \n    // Add HLS source\n    mobile.push({\n        type: 'application/x-mpegurl',\n        src: hlsUrl\n    });\n    \n    // Add DASH source\n    mobile.push({\n        type: 'application/dash+xml',\n        src: dashItem.src\n    });\n    \n    // Add MP4 source\n    const mp4Item = desktop.find(item => item.type === 'video/mp4');\n    mobile.push({\n        type: 'video/mp4',\n        src: mp4Item.src\n    });\n    \n    return mobile;\n}\n\n\nexport function getLogoUrl() {\n    const siteName = window && window[\"siteID\"]\n    switch (siteName) {\n        case \"ynet\":\n            return \"//mediadownload.ynet.co.il/flowplayerlive/ynetlogo.png\";\n        case \"vesty\":\n            return \"https://www.vesty.co.il/images/ynetlvestylogo.png\"\n        case \"ynetnews\":\n            return \"https://ynet-pic1.yit.co.il/picserver5/wcm_upload/2019/03/28/SJ8Xwm9dN/CENTRAL_1024_ynet_logo_en.png\"\n        default:\n            return \"\";\n    }\n}\n\n\nexport function addTitleToHeader(playerContainer: HTMLDivElement, title: string, itemLinkUrl: string) {\n    const titleInnerHtml = getVideoTitle(title, itemLinkUrl);\n    if (!titleInnerHtml) return;\n\n    const header = playerContainer.querySelector(\".fp-header\");\n    const titleElement = document.createElement(\"div\");\n    titleElement.className = \"vp-title\";\n    titleElement.innerHTML = titleInnerHtml;\n    header.appendChild(titleElement);\n}\n\nexport function moveTitleToHeader(playerContainer: HTMLDivElement) {\n    const header = playerContainer.querySelector(\".fp-header\");\n    const title = playerContainer.querySelector(\".fp-title\");\n    if (title) {\n        header.appendChild(title);\n    }\n\n}\nexport function moveInfoToFixList(playerContainer: HTMLDivElement) {\n    const playlist = playerContainer.querySelector(\".fp-playlist\");\n    const info = playerContainer.querySelector(\".fp-title\");\n    if (info) {\n        playlist.appendChild(info);\n    }\n\n}\n\nexport function addAdsCloseButton(playerContainer: HTMLDivElement, api: any) {\n    const adsElement = playerContainer.querySelector(\".fp-ad-container .fp-ui\");\n    if (adsElement) {\n        const anchorElement = document.createElement(\"a\");\n        anchorElement.className = \"ynetfp-ads fp-icon\";\n        anchorElement.onclick = () => api.unload();\n        adsElement.appendChild(anchorElement);\n    }\n}\n\nexport function attachPageRefrashUtils(api: any) {\n    api\n        .on(\"pause\", () => enablePageRefresh())\n        .on(\"resume\", () => disablePageRefresh())\n        .on(\"unload\", () => enablePageRefresh())\n}\n\nexport function attachPageRefreshUtilsYoutube(player: YT.Player) {\n    player.addEventListener(\"onStateChange\", (event: any) => {\n        const player = event.target\n        switch (event.data) {\n            case YT.PlayerState.PLAYING:\n                disablePageRefresh();\n                break;\n\n            case YT.PlayerState.ENDED:\n            case YT.PlayerState.PAUSED:\n                enablePageRefresh();\n                break;\n        }\n    })\n}\n\n\nexport function generateVideoId() {\n    return `video_${Math.random()}`.replace(\".\", \"\");\n}\n\nexport function shouldAutoPlayVideo(playerContainer: HTMLDivElement, isAutoplayMarkedByUser: boolean) {\n    return !window['cancelArticleVideoAutoplay'] && (isAutoplayMarkedByUser && pageUrlContainsAutoplayHash() && isAboveTheFold(playerContainer) && isCorrectReferrer() && isPageNotReloaded());\n}\n\nfunction pageUrlContainsAutoplayHash() {\n    return ~window.location.hash.indexOf(AUTOPLAY_HASH_TAG);\n}\n\nexport function isAboveTheFold(element: HTMLElement) {\n    //see http://ryanve.com/lab/dimensions/\n    const videoElementTop = element.getBoundingClientRect().top\n    const videoElementBottom = element.getBoundingClientRect().bottom\n    const middleOfTheVideoElement = (videoElementBottom - videoElementTop) / 2\n    return element.getBoundingClientRect().top + middleOfTheVideoElement <= document.documentElement.clientHeight;\n}\n\nfunction isCorrectReferrer() {\n    const referrer = document.referrer;\n    if (referrer) {\n        const a = document.createElement(\"a\");\n        a.href = referrer;\n        return window.location.hostname === a.hostname;\n    } else {\n        return false;\n    }\n}\n\nexport const windowIsWideEnoughForStickyVideo = () => {\n    return window.innerWidth > 1400;\n}\n","import * as throttle from \"lodash/throttle\"\nimport { sendVideoStikyClose, sendVideoStikyShow } from \"./videoAnalytics\";\nimport { windowIsWideEnoughForStickyVideo } from \"./videoPlayerUtils\";\n\ninterface IFlowPlayer {\n    playerState: {\n        \"is-playing\": boolean;\n    };\n    ads: {\n        adPlaying: boolean;\n        adPaused: boolean;\n    };\n    opts: {\n        src: {\n            src: string;\n        }[];\n    };\n    pause: () => void;\n    on: (event: string, cb) => void;\n\n}\n\nexport function attachFpStickinessAPI(api: IFlowPlayer, container: HTMLDivElement, poster: string) {\n    const viewportHeight = document.documentElement.clientHeight;\n\n    const showStickyIfNotInViewPort = () => {\n        if (!windowIsWideEnoughForStickyVideo()) return;\n        const videoContainer = container;\n        const videoComponenta = container.closest(\".isStikyness\") as HTMLDivElement;\n        const videoComponentaRect = videoComponenta.getBoundingClientRect();\n        const threshold = videoComponentaRect.height / 4;\n        const playing = isPlaying();\n\n        if (isVideoOutOfViewport(videoComponentaRect, threshold) && (playing) && !hasStickyClass(videoContainer)) {\n            sendVideoStikyShow(api.opts.src[0].src);\n            addPlaceholder(videoContainer, poster);\n            addStickyClasses(videoContainer);\n            addCloseButton(videoContainer, api);\n        } else if (isVideoInViewPort(videoComponentaRect, threshold) && (hasStickyClass(videoContainer))) {\n            removeStickyClass(videoContainer);\n            removeStickyClass(videoComponenta);\n            removePlaceholder();\n        }\n    };\n\n    const closeStickyVideos = () => {\n        const stickyVideos = document.querySelectorAll(\".is-sticky\");\n        stickyVideos.forEach((stickyVideo) => {\n\n            const stickyVideoPlayer = stickyVideo.querySelector(\".fp-engine\") as any;\n            stickyVideoPlayer.pause();\n            stickyVideoPlayer.ads && stickyVideoPlayer.ads.pause();\n\n            removeStickyClass(stickyVideo);\n            removePlaceholder();\n        });\n    };\n\n    const isVideoOutOfViewport = (rect, threshold) => {\n        const videoOutOfViewport = rect.top + threshold < 0 || rect.bottom - threshold > viewportHeight;\n        return videoOutOfViewport;\n    };\n\n    const isVideoInViewPort = (rect, threshold) => {\n        const entireVideoInViewPort = rect.top > - threshold && rect.bottom < viewportHeight + threshold;\n        return entireVideoInViewPort;\n    }\n\n    const isPlayerPlaying = () => {\n        const playerIsPlaying = api.playerState[\"is-playing\"];\n        return playerIsPlaying;\n    };\n\n    const isAdPlaying = () => {\n        const adIsPlaying = api.ads && api.ads.adPlaying;\n        return adIsPlaying;\n    };\n\n    const isPlaying = () => {\n        const playing = isPlayerPlaying() || isAdPlaying();\n        return playing;\n    };\n\n    const hasStickyClass = (videoContainer) => {\n        const hasStickyClass = videoContainer.classList.contains(\"is-sticky\");\n        return hasStickyClass\n    };\n\n    const addStickyClasses = (videoContainer) => {\n        if (hasSargelAd()) {\n            videoContainer.classList.add(\"is-sticky-sargel\");\n        }\n        videoContainer.classList.add(\"is-sticky\");\n    };\n\n    const hasSargelAd = () => {\n        return document.getElementById('ads.sargel') !== null;\n    };\n\n    const removeStickyClass = (container) => {\n        container.classList.remove(\"is-sticky\");\n    };\n\n    const throttledOnScroll = throttle(showStickyIfNotInViewPort, 50);\n\n    function attachSticky(e, api) {\n        window.addEventListener(\"scroll\", throttledOnScroll);\n        document.addEventListener(\"click\", handlePlaybuttonClick);\n\n    }\n\n    const handlePlaybuttonClick = (e) => {\n\n        if (e.target.getAttribute(\"aria-label\") === \"Play\" && !hasStickyClass(e.target.closest(\"#player\"))) {\n            closeStickyVideos();\n        }\n    };\n\n    function addCloseButton(playerContainer: HTMLDivElement, api: any) {\n        const anchorElement = document.createElement(\"a\");\n        anchorElement.className = \"ynetfp-close-button fp-icon\";\n        anchorElement.onclick = (e) => {\n            terminateSticky(playerContainer, api);\n        }\n        playerContainer.appendChild(anchorElement);\n    }\n\n    function terminateSticky(playerContainer: HTMLDivElement, api: any) {\n        api.pause()\n        setImmediate(()=>api.ads && api.ads.pause());\n        setImmediate(() => {\n            removeStickyClass(playerContainer);\n            removePlaceholder();\n            sendVideoStikyClose(api.opts.src[0].src);\n        });\n    }\n\n    attachSticky(null, api);\n}\n\n\nfunction addPlaceholder(playerContainer: HTMLDivElement, poster: string) {\n    let containerPlaceholder = playerContainer.cloneNode(false) as HTMLDivElement;\n    containerPlaceholder.id = \"[placeholder]_\" + playerContainer.id;\n    containerPlaceholder.classList.remove(\"is-playing\"); // this class holds the rule: \"background-image: none !important\" which blocks the poster\n    containerPlaceholder.classList.add(\"StickyPlayerPlaceholder\")\n    containerPlaceholder.classList.add(\"is-starting\")\n    containerPlaceholder.style.backgroundImage = `url(${poster})`;\n    containerPlaceholder.style.height = playerContainer.clientHeight.toString() + \"px\";\n    playerContainer.parentElement.insertBefore(containerPlaceholder, playerContainer);\n}\n\nfunction removePlaceholder() {\n    let placeholders = document.getElementsByClassName('StickyPlayerPlaceholder');\n    while (placeholders[0]) {\n        placeholders[0].parentNode.removeChild(placeholders[0]);\n    }\n}\n","import * as throttle from \"lodash/throttle\"\nimport { sendVideoStikyClose, sendVideoStikyShow } from \"./videoAnalytics\";\nimport { windowIsWideEnoughForStickyVideo } from \"./videoPlayerUtils\";\n\nexport const attachVideojsStickinessAPI = (playerIdentifier: string, container: HTMLDivElement, poster: string) => {\n    let isAttached = null\n    const api = window.videojs.getPlayer(playerIdentifier)\n    if (!container.classList) return; //not supported in IE <10\n    if (!windowIsWideEnoughForStickyVideo()) return;\n\n    const trashhold = container.getBoundingClientRect().height / 4;\n\n    const attachSticky = () => {\n        if (isAttached !== playerIdentifier) {\n            isAttached = playerIdentifier;\n            showStickyIfNotInViewPort();\n            window.addEventListener(\"scroll\", throttledOnScroll);\n        }\n        window.detachCurrentVideo = detachSticky\n    }\n\n    const detachSticky = (e: any, closeAction?: boolean) => {\n        if (isAttached === playerIdentifier) {\n            if (!closeAction && (container.classList.contains(\"vjs-scrubbing\") || container.classList.contains(\"vjs-paused\"))) { return }\n            isAttached = null;\n            window.removeEventListener(\"scroll\", throttledOnScroll);\n            container.classList.remove(\"is-sticky\");\n            removePlaceholder();\n        }\n    }\n\n    addCloseButton(container, api, detachSticky);\n\n    const showStickyIfNotInViewPort = () => {\n        const rect = container.parentElement.getBoundingClientRect();\n        const viewportHeight = document.documentElement.clientHeight;\n        if (rect.top < -trashhold || rect.bottom > viewportHeight + trashhold) {\n            if (!container.classList.contains(\"is-sticky\")) {\n                sendVideoStikyShow(api.currentSrc());\n                addPlaceholder(container, poster);\n                if (document.getElementById('ads.sargel')) {\n                    container.classList.add(\"is-sticky-sargel\");\n                }\n                container.classList.add(\"is-sticky\");\n            }\n        } else {\n            removePlaceholder()\n            container.classList.remove(\"is-sticky\");\n        }\n    }\n    const throttledOnScroll = throttle(showStickyIfNotInViewPort, 250);\n\n    api.on(\"play\", attachSticky)\n    window.removeEventListener(\"scroll\", throttledOnScroll);\n}\n\nconst addCloseButton = (playerContainer: HTMLDivElement, api: any, detachStickyPlayer: (e: any, closeAction: boolean) => void) => {\n    const anchorElement = document.createElement(\"a\");\n    anchorElement.className = \"ynetfp-close-button\";\n    anchorElement.onclick = () => {\n        sendVideoStikyClose(api.currentSrc());\n        detachStickyPlayer(null, true)\n    }\n    playerContainer.appendChild(anchorElement);\n}\n\nconst addPlaceholder = (playerContainer: HTMLDivElement, poster: string) => {\n    let containerPlaceholder = playerContainer.cloneNode(false) as HTMLDivElement;\n    containerPlaceholder.id = \"[placeholder]_\" + playerContainer.id;\n    containerPlaceholder.classList.add(\"StickyPlayerPlaceholder\")\n    containerPlaceholder.classList.remove(\"is-playing\"); // this class holds the rule: \"background-image: none !important\" which blocks the poster\n    containerPlaceholder.style.backgroundImage = `url(${poster})`;\n    containerPlaceholder.style.height = playerContainer.clientHeight.toString() + \"px\";\n    playerContainer.parentElement.insertBefore(containerPlaceholder, playerContainer);\n}\n\nconst removePlaceholder = () => {\n    let placeholders = document.getElementsByClassName('StickyPlayerPlaceholder');\n    while (placeholders[0]) {\n        placeholders[0].parentNode.removeChild(placeholders[0]);\n    }\n}\n","import { YnetTvSiteVideoData } from \"../../interfaces\"\nimport { getVideoTitle, addAdsCloseButton, getVideoSources, attachPageRefrashUtils, generateVideoId, getLogoUrl, isAboveTheFold } from \"./videoPlayerUtils\"\n\nimport { addMidrollAds, getImaSettings } from \"./videoPlayerAds\"\nimport { getYnetTvLogoUrl, addVideoInfoToFixList, addClassToPlayer, addYnetTvLogoToHeader } from \"./ynetTvPlayerUtils\"\n\ninterface SiteLightboxPlaylistVideoPlayerProps {\n    data: YnetTvSiteVideoData\n    allVideos: YnetTvSiteVideoData[]\n    hideVideoAds: boolean\n    onSelect?: () => void\n}\n\nexport class SiteYnetTvLightboxPlaylistVideoPlayer extends React.Component<SiteLightboxPlaylistVideoPlayerProps, {}>{\n\n    private posterId = generateVideoId();\n    private playerContainer: HTMLDivElement;\n    private flowplayerApi: any;\n\n    public componentDidMount() {\n        const { data, allVideos, hideVideoAds } = this.props;\n        let startIndex;\n        if (allVideos.indexOf(data) === -1) { startIndex = 0 }\n        else { startIndex = allVideos.indexOf(data) }\n\n        const playlist = allVideos.map(v => ({\n            title: v.title,\n            subTitle: v.subTitle,\n            linkText: v.linkText,\n            sources: getVideoSources(v.url, v.downGradeUrl),\n        })\n        )\n        const container = this.playerContainer;\n\n        const settings: any = {\n            logo: getLogoUrl(),\n            share: false,\n            embed: false,\n            overlay: `#${this.posterId}`,\n            customPlaylist: true,\n            playlist,\n            startIndex,\n        }\n        if (hideVideoAds) {\n            settings.ima = false;\n        } else {\n            settings.ima = getImaSettings(false, isAboveTheFold(this.playerContainer));\n        }\n\n        this.flowplayerApi = flowplayer(container, settings)\n        if (!this.props.hideVideoAds) {\n            addMidrollAds(this.flowplayerApi, false, isAboveTheFold(this.playerContainer));\n        }\n        attachPageRefrashUtils(this.flowplayerApi)\n        this.flowplayerApi.on(\"load\", () => fixPlayList(container, allVideos.map(v => v.poster)));\n        this.flowplayerApi.on(\"load\", (e, api) => {\n            const index = api.video.index;\n            const videoData = allVideos[index];\n            if (videoData) {\n                addVideoInfoToFixList(container, videoData);\n            }\n        })\n        addYnetTvLogoToHeader(container);\n        addClassToPlayer(container);\n        addAdsCloseButton(container, this.flowplayerApi);\n    }\n\n    public render() {\n        const { onSelect } = this.props\n        const { poster } = this.props.data\n        return (\n            <div id={this.posterId} className=\"siteYnetTvLightBoxVideoPlayer\" onClick={onSelect}>\n                <img src={poster} className=\"poster\" />\n                <span className=\"videoIcon  bigInCenter\"><span className=\"icon\"></span></span>\n                <div className=\"fp-edgy fp-mute\" style={{ direction: \"ltr\" }} ref={r => this.playerContainer = r} >\n                    <a className=\"fp-prev\"></a>\n                    <a className=\"fp-next\"></a>\n                </div>\n            </div>\n        )\n    }\n}\n\nfunction fixPlayList(playerContainer: HTMLDivElement, posters: string[]) {\n    const playList = playerContainer.querySelector(\".fp-playlist\");\n    const anchors = playList.querySelectorAll(\"a\");\n    for (let i = 0; i < anchors.length; i++) {\n        anchors[i].style.backgroundImage = `url(${posters[i]})`\n    }\n}","\n\n\nexport function getVideoArticleLink(linkText: string, itemLinkUrl: string): string {\n    if (linkText) {\n        return `<a href=\"${itemLinkUrl}\" target=\"_blank\" >${linkText}<img class=\"campaing_title\" aria-hidden=\"true\" src=\"${getYnetTvArrow()}\" /></a>`\n    }\n\n    return \"\";\n}\nexport function getYnetTvVideoText(text: string, className: string): string {\n    if (text) {\n        return `<p class=\"${className}\">${text}</p>`\n    }\n    return \"\";\n}\nexport function addYnetTvLogoToHeader(playerContainer: HTMLDivElement) {\n    const header = playerContainer.querySelector(\".fp-header\");\n    const ynetTvLogo = document.createElement(\"img\");\n    ynetTvLogo.className = \"ynetTvLogo\"\n    ynetTvLogo.src = getYnetTvLogoUrl()\n    header.appendChild(ynetTvLogo);\n}\n\n\nexport function getYnetTvLogoUrl() {\n    return \"//www.ynet.co.il/images/ynet_tv/mainlogo.png\";\n}\nexport function getYnetTvArrow() {\n    return \"//www.ynet.co.il/images/ynet_tv/arrow.png\";\n}\n\nexport function addClassToPlayer(playerContainer: HTMLDivElement) {\n    playerContainer.classList.add(\"ynetTv\")\n}\n\nexport function addVideoInfoToFixList(playerContainer: HTMLDivElement, data: any) {\n    const titleInnerHtml = getYnetTvVideoText(data.title, \"vp-title\");\n    const subTitleInnerHtml = getYnetTvVideoText(data.subTitle, \"vp-subTitle\");\n    const linkTextInnerHtml = getVideoArticleLink(data.linkText, data.itemLinkUrl);\n\n    const playList = playerContainer.querySelector(\".fp-playlist\");\n\n    const infoElement = document.createElement(\"div\");\n    infoElement.className = \"vp-info\";\n    infoElement.innerHTML = titleInnerHtml + subTitleInnerHtml + linkTextInnerHtml;\n    const oldInfo = playerContainer.querySelector(\".vp-info\")\n    if (oldInfo) {\n        oldInfo.remove();\n        playList.appendChild(infoElement);\n    }\n    else playList.appendChild(infoElement);\n}\n\n\n\n\n\n","export const isYoutubeVideo = (youtube_id: string, low_res_link: string) => {\n    return !low_res_link && youtube_id\n}\n\nexport const attachYoutubeAnalytics = (component: any, videoId) => {\n    const player = component.player;\n    const container = component.youtubePlayerContainerAnchor;\n    const analyticsLabel = document.URL + '&dcPath=' + window.dcPath + '&video=https://www.youtube.com/watch?v=' + videoId;\n\n    let progressTimer;\n\n    player.addEventListener(\"onStateChange\", onPlayerStateChange)\n    gaPushEvent(container.id, 'Load');\n\n    const visibilityPercentage = getVisibilityPercentage()\n\n    if (visibilityPercentage >= 50) {\n        gaPushEvent(container.id, 'In-View');\n    }\n\n    function onPlayerStateChange(event) {\n        let isPlay = 1 === event.data;\n        let isPause = 2 === event.data;\n        let isEnd = 0 === event.data;\n\n        if (isPlay) {\n            gaPushEvent(container.id, 'Play');\n            progressTimer = setInterval(() => {\n\n                ReportProgress();\n            }, 1000);\n\n            sendPopularityEvent(videoId, player.getDuration());\n        }\n\n        if (isPause) {\n            gaPushEvent(container.id, 'Pause');\n            clearTimeout(progressTimer);\n        }\n        if (isEnd) {\n            ReportProgress()\n            clearTimeout(progressTimer);\n        }\n    }\n\n\n    function gaPushEvent(containerId, action) {\n        window.dataLayer = window.dataLayer || []\n        window.dataLayer.push({\n            'event': 'youtube_event',\n            'Category': 'YouTube Player Events',\n            'Action': 'YouTube Player ' + action,\n            'Label': analyticsLabel\n        });\n    }\n\n\n    function getVisibilityPercentage() {\n        const windowHeight = document.documentElement.clientHeight;\n        const docScroll = document.documentElement.scrollTop;\n        const divPosition = container.offsetTop;\n        const divHeight = container.clientHeight;\n        const hiddenBefore = docScroll - divPosition;\n        const hiddenAfter = (divPosition + divHeight) - (docScroll + windowHeight);\n\n        if ((docScroll > divPosition + divHeight) || (divPosition > docScroll + windowHeight)) {\n            return 0;\n        } else {\n            var result = 100;\n            if (hiddenBefore > 0) {\n                result -= (hiddenBefore * 100) / divHeight;\n            }\n            if (hiddenAfter > 0) {\n                result -= (hiddenAfter * 100) / divHeight;\n            }\n            return Math.ceil(result);\n        }\n    }\n\n    function sendPopularityEvent(videoId: string, videoTime: number) {\n        if (!player.popularity) {\n            const url = `//stats.ynet.co.il/popularity/popularity.php?content=${videoId}&type=1&time=${videoTime}&random=${Math.floor(Math.random() * 999999)}`\n            new Image().src = url;\n\n            window.dataLayer.push({\n                'event': 'youtube_event',\n                'Category': 'YouTube Video',\n                'Action': analyticsLabel,\n                'Label': player.getVideoUrl() + ' & Play'\n            });\n            player.popularity = true;\n        }\n    }\n\n    function ReportProgress() {\n        let percentage = Math.round((player.getCurrentTime() / player.getDuration()) * 100);\n        let containerId = container.id;\n\n        if (percentage > 0 && percentage <= 100) {\n            if (percentage > 25 && percentage < 50 && !player.ga_25) {\n                gaPushEvent(containerId, 'Quartiles 25%');\n                player.ga_25 = true;\n            } else if (percentage > 50 && percentage < 75 && !player.ga_50) {\n                gaPushEvent(containerId, 'Quartiles 50%');\n                player.ga_50 = true;\n            } else if (percentage > 75 && percentage < 100 && !player.ga_75) {\n                gaPushEvent(containerId, 'Quartiles 75%');\n                player.ga_75 = true;\n            } else if (percentage >= 100 && !player.ga_100) {\n                gaPushEvent(containerId, 'Quartiles 100%');\n                player.ga_100 = true;\n            } else {\n                return false;\n            }\n        }\n    }\n}\n","import * as map from \"lodash/map\"\nimport { YnetTvSiteVideoData } from \"../../../interfaces\";\nimport { generateVideoId, attachPageRefreshUtilsYoutube } from \"../videoPlayerUtils\"\nimport { attachYoutubeAnalytics } from \"./utils\";\n\nrequire(\"../site_videoPlayer.less\");\n\nconst LIGHTBOX_WIDTH = 640;\nconst YT_DEFAULT_ASPECT_RATIO = 16 / 9;\nconst LIGHTBOX_HEIGHT = LIGHTBOX_WIDTH / YT_DEFAULT_ASPECT_RATIO;\n\nconst NUM_OF_THUMBS_TO_SHOW = 5;\n\ninterface SiteLightboxPlaylistVideoPlayerProps {\n    data: YnetTvSiteVideoData\n    allVideos: YnetTvSiteVideoData[]\n    hideVideoAds: boolean\n    onSelect?: () => void\n}\n\ninterface state {\n    lightBox?: boolean\n    thumbsList?: YnetTvSiteVideoData[]\n}\n\nexport class SiteYnetTvLightboxPlaylistYouTubePlayer extends React.Component<SiteLightboxPlaylistVideoPlayerProps, state>{\n    public constructor(props: SiteLightboxPlaylistVideoPlayerProps) {\n        super(props);\n        this.state = {\n            lightBox: false,\n            thumbsList: props.allVideos.slice(0, NUM_OF_THUMBS_TO_SHOW)\n        }\n    }\n\n    public player: YT.Player; // YT player instance\n\n    public youtubePlayerAnchor; // player DOM ref\n\n    public youtubePlayerContainerAnchor: HTMLDivElement; // player container DOM ref\n\n    private playerDomID = generateVideoId();\n\n    private posterId = generateVideoId();\n\n    public componentDidMount() {\n        const { data, allVideos, hideVideoAds } = this.props;\n\n        window.YoutubeAPIControlller.load(this);\n\n    }\n\n    private onPlayerReady = (e) => {\n        const { data } = this.props\n        const player = e.target;\n\n        attachYoutubeAnalytics(this, data.youtube_id);\n        attachPageRefreshUtilsYoutube(this.player);\n\n        if (data.isMuteAvailable) {\n            player.mute()\n        }\n        if (data.isAutoPlaying) {\n            player.playVideo();\n        }\n    }\n\n    private onPlayerStateChange = (event) => {\n        const player = event.target as YT.Player\n        const status = event.data;\n\n        // Pause other videos on play\n        if (status == YT.PlayerState.PLAYING) {\n            if (currentPlayingYoutubePlayer) {\n                if (currentPlayingYoutubePlayer != player) {\n                    currentPlayingYoutubePlayer.pauseVideo()\n                }\n            }\n            currentPlayingYoutubePlayer = player;\n        }\n    }\n\n    public createPlayer = () => {\n        const { data } = this.props;\n        this.player = new YT.Player(this.youtubePlayerAnchor, {\n            videoId: data.youtube_id,\n            width: LIGHTBOX_WIDTH,\n            height: LIGHTBOX_HEIGHT,\n            playerVars: {\n                autoplay: data.isAutoPlaying ? 1 : 0,\n                loop: data.isLoopPlaying ? 1 : 0,\n                playlist: data.isLoopPlaying ? data.youtube_id : null, // Required for loop (see https://developers.google.com/youtube/player_parameters#loop).\n                controls: data.isPlayerBarVisible ? 1 : 0,\n                showinfo: 0,\n                rel: 0\n            } as YT.PlayerVars,\n            events: {\n                onReady: this.onPlayerReady,\n                onStateChange: this.onPlayerStateChange\n            } as YT.Events\n        });\n    }\n\n    private onPlay = (e: React.MouseEvent) => {\n        this.setState({\n            lightBox: true\n        })\n    }\n\n    private onClose = (e: React.MouseEvent) => {\n        this.player.stopVideo();\n        this.setState({\n            lightBox: false\n        })\n    }\n\n    private onClickOutside = (e: React.MouseEvent) => {\n        this.state.lightBox ? this.onClose(e) : null;\n    }\n\n    private onClickCarouselButton = (side: \"left\" | \"right\") => {\n        const { thumbsList } = this.state;\n\n        const len = thumbsList.length\n        const distance = side == \"left\" ? 1 : -1\n\n        this.setState({\n            // using modular arithmetic for circulation\n            thumbsList: map(thumbsList, (e, i, thumbsInView) => thumbsInView[(i + (len + distance % len)) % len])\n        })\n\n    }\n\n    public render() {\n        const { data, allVideos, onSelect } = this.props;\n        const { lightBox, thumbsList } = this.state;\n\n        return (\n\n            <div ref={ref => this.youtubePlayerContainerAnchor = ref} className={\"siteYnetTvLightBoxYoutubePlayer\"}>\n                <div style={{ ...lightBoxStyle, display: lightBox ? \"flex\" : \"none\" }} onClick={this.onClickOutside}>\n\n                    <div style={lightBoxPlayerStyle} onClick={e => { e.stopPropagation() }/*prevent invoking this.onClickOutside */}>\n                        <div className=\"siteYnetTvLightBoxYoutubePlayer-header\">\n                            <img className=\"ynetTvLogo\" src=\"//www.ynet.co.il/images/ynet_tv/mainlogo.png\" />\n                            <div className=\"ynetTvCloseButton\" onClick={this.onClose} />\n                        </div>\n                        {/*actual player:*/}\n                        <div ref={ref => this.youtubePlayerAnchor = ref} id={this.playerDomID} />\n\n                        <div id=\"siteYnetTvLightBoxYoutubePlayer-footer\">\n                            <div id=\"siteYnetTvLightBoxYoutubePlayer-footer_inner\">\n\n                                <img src=\"https://www.ynet.co.il/images/ynet_tv/right_arrow.png\" className=\"carouselButton carouselButton_right\" onClick={() => this.onClickCarouselButton(\"right\")} />\n                                {thumbsList.map((v, k) =>\n                                    <img className=\"siteYnetTvLightBoxYoutubePlayer-footer-thumbnail\" src={v.poster} onClick={() => this.player.loadVideoById(v.youtube_id)} key={k} />\n                                )}\n                                <img src=\"https://www.ynet.co.il/images/ynet_tv/left_arrow.png\" className=\"carouselButton carouselButton_left\" onClick={() => this.onClickCarouselButton(\"left\")} />\n\n                            </div>\n                        </div>\n                    </div>\n\n\n\n                </div>\n                <img src={data.poster} onClick={this.onPlay} style={posterStyle} />\n                <span className=\"videoIcon bigInCenter\" style={{ pointerEvents: \"none\" }}>\n                    <span className=\"icon\" />\n                </span>\n            </div>\n        )\n    }\n}\n\n\n\n// Based on current (flow player) css:\nconst lightBoxPlayerStyle = {\n    display: \"block\",\n    maxWidth: \"1000px\",\n    background: \"black\",\n    position: \"relative\"\n\n}\n\nconst lightBoxStyle = {\n    justifyContent: \"center\",\n    alignItems: \"center\",\n    position: \"fixed\",\n    left: 0,\n    right: 0,\n    top: 0,\n    bottom: 0,\n    backgroundColor: \"rgba(0,0,0,.75)\",\n    zIndex: 9999\n}\n\nconst posterStyle = {\n    height: \"100%\",\n    width: \"100%\",\n}\n\n","import * as throttle from \"lodash/throttle\"\nimport { sendVideoStikyClose, sendVideoStikyShow } from \"./videoAnalytics\";\nimport { windowIsWideEnoughForStickyVideo } from \"./videoPlayerUtils\";\n\nexport function attachStickinessYouTubeAPI(api: YT.Player, container: HTMLDivElement, poster: string) {\n    if (!container.classList) return; //not supported in IE <10\n    if (!windowIsWideEnoughForStickyVideo()) return;\n\n    let isSticky = false;\n    const threshold = container.getBoundingClientRect().height / 4;\n    addCloseButton(container, api);\n\n    const showStickyIfNotInViewPort = function () {\n        const rect = container.parentElement.getBoundingClientRect();\n        const viewportHeight = document.documentElement.clientHeight;\n        if (rect.top < -threshold || rect.bottom > viewportHeight + threshold) {\n            if (!container.classList.contains(\"is-sticky\")) {\n                sendVideoStikyShow(api.getVideoUrl());\n                addPlaceholder();\n                if (document.getElementById('ads.sargel')) {\n                    container.classList.add(\"is-sticky-sargel\");\n                }\n                container.classList.add(\"is-sticky\");\n            }\n        } else {\n            removePlaceholder()\n            container.classList.remove(\"is-sticky\");\n        }\n    }\n    const throttledOnScroll = throttle(showStickyIfNotInViewPort, 250);\n\n    function attachSticky(e) {\n        if (!isSticky) {\n            showStickyIfNotInViewPort();\n            window.addEventListener(\"scroll\", throttledOnScroll);\n            isSticky = true;\n        }\n    }\n\n    function detachSticky(event, api: YT.Player) {\n        const player = event.target\n\n        if (isSticky) {\n            window.removeEventListener(\"scroll\", throttledOnScroll);\n            container.classList.remove(\"is-sticky\");\n            removePlaceholder();\n            isSticky = false\n        }\n    }\n\n    function onPlayerStateChange(event) {\n        const player = event.target\n        switch (event.data) {\n            case YT.PlayerState.PLAYING:\n                attachSticky(event);\n                break;\n        }\n    }\n\n    function addCloseButton(playerContainer: HTMLDivElement, api: YT.Player) {\n        const anchorElement = document.createElement(\"a\");\n        anchorElement.className = \"ynetfp-close-button fp-icon\";\n        anchorElement.onclick = function (e) {\n            api.stopVideo();\n            detachSticky(e, api);\n            // removePlaceholder();\n            sendVideoStikyClose(api.getVideoUrl());\n        }\n        playerContainer.appendChild(anchorElement);\n    }\n\n    function addPlaceholder() {\n        let containerPlaceholder = document.createElement(\"div\");\n        containerPlaceholder.id = \"[placeholder]_\" + container.id;\n        containerPlaceholder.classList.add(\"YTStickyPlayerPlaceholder\")\n        containerPlaceholder.style.backgroundImage = poster;\n        containerPlaceholder.style.height = container.clientHeight.toString() + \"px\";\n        container.parentElement.insertBefore(containerPlaceholder, container);\n    }\n\n    function removePlaceholder() {\n        let placeholders = document.getElementsByClassName('YTStickyPlayerPlaceholder');\n        while (placeholders[0]) {\n            placeholders[0].parentNode.removeChild(placeholders[0]);\n        }\n        // container.parentElement.removeChild(container.parentElement.getElementsByClassName('YTStickyPlayerPlaceholder')[0]);\n    }\n\n    api.addEventListener(\"onStateChange\", onPlayerStateChange)\n\n    window.removeEventListener(\"scroll\", throttledOnScroll);\n\n}\n\n","import { sprintf } from \"sprintf-js\"\nimport * as map from \"lodash/map\"\nimport * as escape from \"lodash/escape\"\nimport { WarppedItemProps, WidgetContentItemWarpperProps } from \"widgets/commonComponents/base/widgetContentItemWarpper\"\nimport { LinkedItemSlotData } from \"widgets/commonDataObjects/linkedItemSlotData\"\nimport { BasicMediaData } from \"./commonDataObjects/basicMediaData\"\nimport { ComponentaArticleResource, CategoryTreeNode, ComponentaVideoResource } from \"pagesPage/stateInterfaces\"\nimport { LinkedPageResource, SiteImageData, SiteVideoData, SiteMediaData, DateFormat, PageWidgetType } from \"./interfaces\"\nimport { CopyImageCommand } from \"images/actions/imagesActions\"\nimport { LinkProperties, BaseLinkTypes, LinkTargetProperties } from \"global/components/linkSettings/interfaces\"\nimport { ContentTypes, MediaContentTypes } from \"constants/contentTypes\"\nimport * as ApiUrls from \"config/apiUrls\"\nimport { ImageDetails, ExtededImageDetails } from \"images/interfaces\"\nimport { MediaVideoData } from \"media/interfaces\"\nimport { VideoBehaiforData } from \"widgets/commonDataObjects/interfaces\"\nimport { ImageSIzeDefintion, ImageSize } from \"constants/imageSizes\"\nimport { ComponentaIconType, ILinkedItemWidgetData } from \"./commonDataObjects/interfaces\"\nimport { DataList } from \"widgets/commonDataObjects/dataList\"\nimport settings from \"config/settings\"\nimport { getLocaleDateFormat, getTimezone } from \"../config/serverConfig\"\nimport { DateFormatOptions, getDefaultDateFormatBySite } from \"./defaultDateFormatOptionsBySite\";\nimport { getFrontImageUrl } from \"front/staticServerRendering/frontImage\"\nimport { format, register } from 'timeago.js'\nimport { ChannelIconDisplay } from \"./commonComponents/settings/categoryIconDisplaySelect/categoryIconDisplaySelect\"\nimport { DataObjectBase } from \"./commonDataObjects/dataObjectBase\"\nimport { WebPlatform } from \"../front/staticServerRendering/renderMobileArticle\";\n//import { getVodPromotionImageId } from \"../articlePage/selectors\";\nconst getVodPromotionImageId = (videoId: string) => \"dsfdsf\";\n\n\nexport const BuildLinkedSlotProps = <T extends LinkedItemSlotData>(index, slot: T, inEdit, handleItemChanged, handleItemDroped, moreProps?): WarppedItemProps<T> & WidgetContentItemWarpperProps => ({\n    data: slot,\n    isInEditMode: inEdit,\n    getItemType: () => slot.item.itemType,\n    onChange: (data: T) => handleItemChanged(index, data),\n    onItemDroped: (itemType: string, data: T, isSameWidgetType: boolean) => handleItemDroped(index, itemType, data, isSameWidgetType),\n    ...moreProps,\n})\n\ninterface LinkedSlotUpdateAfterArticleRecourceLoadedOptions {\n    setTitle: boolean\n    setSubtitle: boolean\n    setAuthor?: boolean\n    insertRoofToTitle?: boolean\n    setRoofTitle?: boolean\n    shouldCopyToMobile?: boolean\n    keepMedia?: boolean\n    setCategory?:boolean\n}\n\ninterface LinkedSlotUpdateAfterVideoRecourceLoadedOptions extends Partial<LinkedSlotUpdateAfterArticleRecourceLoadedOptions> { }\nexport const linkedSlotUpdateAfterArticleRecourceLoaded = <T extends LinkedItemSlotData>(data: T, { copyImage }: { copyImage: CopyImageCommand }, { articleData, image }: ComponentaArticleResource, { setSubtitle, setTitle, setAuthor, insertRoofToTitle, shouldCopyToMobile, keepMedia, setCategory }: LinkedSlotUpdateAfterArticleRecourceLoadedOptions) => {\n    if (insertRoofToTitle === undefined) {\n        insertRoofToTitle = WCM_FEATURES_FLAGS.INSERT_ARTICLE_ROOF_TO_TITLE;\n    }\n    let item = data.item;\n    if (setTitle) {\n        const title = escape(articleData.title);\n        const articleRoof = articleData.roof\n        let roof = getRoofWithColor(insertRoofToTitle, articleRoof);\n        item = item.setTitle(roof + title);\n    }\n    if (setSubtitle) {\n        item = item.setSubTitle(escape(articleData.subTitle));\n    }\n    if (setAuthor) {\n        item = item.setAuthor(escape(articleData.author));\n    }\n    if(setCategory){\n        item = item.setCategory(escape(articleData.category.textToShow));\n    }\n    if (!insertRoofToTitle) {\n        const articleRoof = articleData.roof\n        item = item.setRoofTitle(escape(articleRoof));\n    }\n\n    let newData = data.setItem(item).setMarketingContentText(articleData.marketingContentText).setIsMarketingContent(articleData.isMarketingContent);\n\n    if (!keepMedia) {\n        let media = data.media;\n        if (image && image.imageId) {\n            const imageId = media.get(0).mediaId;\n            copyImage(image.imageId, imageId, shouldCopyToMobile);\n            const mobileImageId = shouldCopyToMobile ? media.get(0).mediaId + \"_mobile\" : null\n            media = media.set(0, media.get(0).setMediaType(\"MEDIA_IMAGE\").setResourceId(imageId).setMobileImageId(mobileImageId));\n        }\n        newData = newData.setMedia(media);\n    }\n    return newData\n}\nexport const linkedSlotUpdateAfterVideoRecourceLoaded = <T extends LinkedItemSlotData>(data: T, { copyImage }: { copyImage: CopyImageCommand }, { videoData, vodPromotionImageId }: ComponentaVideoResource, { setTitle, setSubtitle, setAuthor }: LinkedSlotUpdateAfterVideoRecourceLoadedOptions) => {\n\n    let item = data.item;\n    if (setTitle) {\n        const title = videoData.vodTitle ? escape(videoData.vodTitle) : \"\";\n\n\n        item = item.setTitle(title);\n    }\n    if (setSubtitle) {\n        const subTitle = videoData.vodDetailTitle ? escape(videoData.vodDetailTitle) : \"\";\n        item = item.setSubTitle(subTitle);\n    }\n\n    if (setAuthor) {\n        item = item.setAuthor(escape(videoData.credit));\n    }\n    let newData = data.setItem(item);\n    let media = data.media;\n\n    if (vodPromotionImageId) {\n        const imageId = media.get(0).mediaId;\n        copyImage(vodPromotionImageId, imageId, false);\n\n        media = media.set(0, media.get(0).setMediaType(\"MEDIA_IMAGE\").setResourceId(imageId));\n    }\n    newData = newData.setMedia(media);\n\n\n    return newData\n}\n\nfunction getRoofWithColor(insertRoofToTitle: boolean, articleRoof: string) {\n    if (insertRoofToTitle && articleRoof && articleRoof.trim()) {\n        const color = hexToRgbA(settings.defaultTitleColorPickerColors[1]);\n        if (color) {\n            return `<span style=\"color: ${color};\" data-roof-text=\"${escape(articleRoof)} | \">${escape(articleRoof)} | </span>`\n        }\n    }\n    return \"\";\n}\n\nexport class SiteWebStorage {\n    static getLocalStorageItem = (key: string) => {\n        try { return JSON.parse(typeof localStorage !== 'undefined' ? localStorage.getItem(key) : null) } catch (error) { console.error(error) }\n    }\n    static setLocalStorageItem = (key: string, value: any) => {\n        try { typeof localStorage !== 'undefined' ? localStorage.setItem(key, JSON.stringify(value)) : null } catch (error) { console.error(error) }\n    }\n    static removeLocalStorageItem = (key: string) => {\n        try { typeof localStorage !== 'undefined' ? localStorage.removeItem(key) : null } catch (error) { console.error(error) }\n    }\n\n    static getSessionStorageItem = (key: string): any => {\n        try { return JSON.parse(typeof sessionStorage !== 'undefined' ? sessionStorage.getItem(key) : null) } catch (error) { console.error(error) }\n    }\n\n    static setSessionStorageItem = (key: string, value: any) => {\n        try { typeof sessionStorage !== 'undefined' ? sessionStorage.setItem(key, JSON.stringify(value)) : null } catch (error) { console.error(error) }\n    }\n\n    static removeSessionStorageItem = (key: string) => {\n        try { typeof sessionStorage !== 'undefined' ? sessionStorage.removeItem(key) : null } catch (error) { console.error(error) }\n    }\n}\n\nexport const getNewLinkProperties = (): LinkProperties<BaseLinkTypes> => ({\n    type: BaseLinkTypes.NONE,\n    link: { id: \"\", description: \"\" },\n})\n\nexport const getMobileGalleryArrayObj = (image: ImageDetails | ExtededImageDetails, platform:WebPlatform) => {\n    const imageSize = platform && platform===\"tablet\" ? ImageSize.xLarge : ImageSize.large;\n    const imageUrl = getFrontImageUrl(image, { imageSize: imageSize })\n    return {\n        'url': imageUrl,\n        'imgNote': `${image.caption} - ${image.credit}`\n    }\n}\n\n\nexport const getNewlinkTargetProperties = (): LinkTargetProperties => ({\n    linkOpenType: \"same\",\n    lightBoxWidth: 803,\n    lightBoxHeight: 700,\n    lightBoxOpacity: 70,\n    lightBoxBgColor: \"#000000\",\n})\nexport const getNewWindowOpenTargetProperties = (): LinkTargetProperties => ({\n    linkOpenType: \"new\",\n    lightBoxWidth: 803,\n    lightBoxHeight: 700,\n    lightBoxOpacity: 70,\n    lightBoxBgColor: \"#000000\",\n})\n\n\n\nexport function getLinkResource(link: LinkProperties<BaseLinkTypes>): LinkedPageResource | null {\n    switch (link.type) {\n        case ContentTypes.ARTICLE:\n        case ContentTypes.TAG:\n        case ContentTypes.CATEGORY:\n        case ContentTypes.FILE:\n            return { resourceId: link.link.id, resourceType: link.type };\n        default:\n            return null;\n    }\n}\n\nexport function getLinkResourceWithVideo(link: LinkProperties<BaseLinkTypes | \"MEDIA_VIDEO\">): LinkedPageResource | null {\n    switch (link.type) {\n        case ContentTypes.MEDIA_VIDEO:\n            return { resourceId: link.link.id, resourceType: link.type };\n        default:\n            return getLinkResource(link as LinkProperties<BaseLinkTypes>)\n    }\n}\n\nexport const getImgTitle = (image: ImageDetails, hideAlt?:boolean) => {\n    let title: string;\n    if (image) {\n        let caption =\"\";\n        if(!hideAlt){\n            caption =image.caption ? image.caption : \"\";\n        }\n        const shouldAddBrekets = (image.credit && image.credit.trim() && caption && caption.trim());\n        title = `${(caption || \"\")}${(shouldAddBrekets && \" (\")}${(image.credit || \"\")}${(shouldAddBrekets && \") \")}`\n    }\n    else { title = \"\" }\n\n    return title;\n}\nexport const getImgAlt = (image: ImageDetails) => {\n    let alt: string;\n    if (image) {\n        if (image.alt && image.alt.trim() !== \"\") {\n            alt = image.alt\n        }\n        else {\n            alt = image.caption\n        }\n\n    }\n    else { alt = \"\" }\n\n    return alt;\n}\nexport const isAriaHidden = (image: ImageDetails) => {\n    let isAriaHidden: boolean;\n    if (image && image.publishedLink) {\n\n        isAriaHidden = false;\n\n\n    }\n    else { isAriaHidden = true }\n\n    return isAriaHidden;\n}\n\nexport const siteMediaConverter = (imageSize: ImageSIzeDefintion, mediaData: BasicMediaData[], getImage: (imageId: string) => ImageDetails, getVideo: (videoId: string) => MediaVideoData, videoBehavior: VideoBehaiforData, itemTitle: string, itemLinkUrl: string, isBigVideo?: boolean, isMutam?: boolean): SiteMediaData[] => {\n    const medias = map(mediaData, (m, i) => {\n        if (m.mediaType === MediaContentTypes.MEDIA_IMAGE) {\n            const image = (isMutam && m.mobileImageId ? getImage(m.mobileImageId) : getImage(m.resourceId)) || {};\n            const siteImage: SiteImageData = {\n                mediaType: MediaContentTypes.MEDIA_IMAGE,\n                url: ApiUrls.getImageUrl(image, imageSize),\n                alt: getImgAlt(image),\n                credit: image.credit,\n                ariaHidden: isAriaHidden(image),\n                title: getImgTitle(image),\n                className: `gallery${i} `,\n                labelText:m.labelText,\n                textPlace:m.textPlace\n\n            };\n            return siteImage;\n        } else {\n            const video = getVideo(m.resourceId);\n            const siteVideo: SiteVideoData = {\n                ...videoBehavior,\n                mediaType: MediaContentTypes.MEDIA_VIDEO,\n                url: video.main_link,\n                downGradeUrl: video.low_res_link,\n                poster: video.posterSrc,\n                title: itemTitle,\n                itemLinkUrl,\n                isBigVideo,\n                youtube_id: video.youtube_id,\n                mediaId: video.mediaVideoId,\n                blockAbroadViews: video.blockAbroadViews\n            };\n            return siteVideo;\n        }\n    });\n    return medias;\n}\n\nexport const hexToRgbA = (hex: string, opacity?: string): string => {\n    if (hex.startsWith(\"##\")) {\n        hex = hex.replace(/##/g, \"#\")\n    }\n    const defaultColor = \"1, 1, 1\", defaultOpacity = \"1\"\n    let color;\n    try {\n        if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\n            color = hex.substring(1).split('')\n            if (color.length == 3) {\n                color = [color[0], color[0], color[1], color[1], color[2], color[2]]\n            }\n            color = `0x${color.join('')} `\n            return `rgba(${[(color >> 16) & 255, (color >> 8) & 255, color & 255].join(',')}, ${opacity || defaultOpacity}) `\n        }\n    } catch (e) {\n        return `rgba(${defaultColor}, ${defaultOpacity}) `\n    }\n    return `rgba(${defaultColor}, ${defaultOpacity}) `\n}\n\nexport const formatProperArticleDateForRender = (launchDate: Date | string, dateUpdatedOnSite: Date | string): string => {\n    if (dateUpdatedOnSite) {\n        const dateUpdatedOnSiteDateObj = typeof dateUpdatedOnSite === \"string\" ? new Date(dateUpdatedOnSite) : dateUpdatedOnSite\n        return separateHourFromDateAndFormatToString(dateUpdatedOnSiteDateObj)\n    }\n    if (launchDate) {\n        const launchDateDateObj = typeof launchDate === \"string\" ? new Date(launchDate) : launchDate\n        return separateHourFromDateAndFormatToString(launchDateDateObj)\n    }\n    return \"\"\n}\n\nexport const concatStringsWithCommaSeperator = (strings: string[]): string => {\n    let string = \"\"\n    for (const s of strings) {\n        string = string.concat(`${s}, `)\n    }\n    return string.replace(/,\\s*$/, \"\");\n}\n\n\nconst defaultDateFormatOptions: DateFormatOptions = {\n    showDate: true,\n    showHour: true,\n    dateTimeSeperator: \", \",\n    padDateWithZero: true,\n    padHourWithZero: true,\n    fullYear: false,\n    isSlashSeparator: false,\n    isDateFirst: false,\n    datePartOrder: DateFormat.dmy,\n}\n\n\nexport const separateHourFromDateAndFormatToString = (dateToManipulate: Date | string, options?: DateFormatOptions): string => {\n    const dateToManipulateTemp = typeof dateToManipulate === \"string\" ? new Date(dateToManipulate) : dateToManipulate\n    if (!dateToManipulateTemp || !isFinite(dateToManipulateTemp as any) || !dateToManipulateTemp.getDate) { return \"\" }\n    options = { ...getDefaultDateFormatBySite(getLocaleDateFormat()), ...options };\n    const {\n        showDate,\n        showHour,\n        dateTimeSeperator,\n        padDateWithZero,\n        padHourWithZero,\n        fullYear,\n        isSlashSeparator,\n        isDateFirst,\n        datePartOrder,\n    } = options;\n    const dateParts = getDateParts(dateToManipulateTemp, getTimezone());\n    const dd = dateParts.day;\n    const mm = dateParts.month;\n    const yy = dateParts.year.toString().substr(-2);\n    const yyyy = dateParts.year\n    const hh = dateParts.hour == 24 ? 0 : dateParts.hour\n    const MM = dateParts.minute\n    let yearFormat = fullYear ? yyyy : yy\n    let datePartFormat = padDateWithZero ? \"%02d\" : \"%d\";\n    let hourPartFormat = padHourWithZero ? \"%02d\" : \"%d\";\n    let separatorFormat = isSlashSeparator ? \"/\" : \".\"\n    const date = datePartOrder === DateFormat.mdy ? sprintf(`${datePartFormat}${separatorFormat}${datePartFormat}${separatorFormat}%d`, mm, dd, yearFormat)\n        : sprintf(`${datePartFormat}${separatorFormat}${datePartFormat}${separatorFormat}%d`, dd, mm, yearFormat);\n    const time = sprintf(`${hourPartFormat}:%02d`, hh, MM)\n    if (showDate && showHour) return isDateFirst ? `${date}${dateTimeSeperator}${time} ` : `${time}${dateTimeSeperator}${date} `;\n    if (showDate) return date;\n    if (showHour) return time;\n    return \"\";\n}\n\n\nexport const calculateShouldAddArticleAutoplayIndicator = (icon: ComponentaIconType, media: SiteMediaData | DataList<BasicMediaData>, isIconVisible?: boolean, widgetType?: string): boolean => {\n    let isImageMedia: boolean;\n    if (isIconVisible) return icon === \"video\" || icon === \"automatic\";\n    else {\n        if ((media as SiteImageData).mediaType) {\n            isImageMedia = (media as SiteImageData).mediaType === MediaContentTypes.MEDIA_IMAGE;\n        } \n         else if (widgetType === \"article-blogs-hot-titles\") {            \n            const m = media as any;\n            isImageMedia = m.array.length <= 1 && m.array[0].mediaType === MediaContentTypes.MEDIA_IMAGE\n         }\n        else {\n            const m = media as DataList<BasicMediaData>;\n            isImageMedia = m.array.length <= 1 && m.get(0).mediaType === MediaContentTypes.MEDIA_IMAGE\n        }\n\n        return isImageMedia && (icon === \"video\" || icon === \"automatic\")\n    }\n\n}\n\nexport const AUTOPLAY_HASH_TAG = \"#autoplay\";\nexport const calculateAutomaticComponentaUrl = (item) => item.publishedLink + (item.hasVideo ? AUTOPLAY_HASH_TAG : \"\")\nexport const getQueryStringValue = (key) => {\n    return decodeURIComponent(window.location.search.replace(new RegExp(\"^(?:.*[&\\\\?]\" + encodeURIComponent(key).replace(/[\\.\\+\\*]/g, \"\\\\$&\") + \"(?:\\\\=([^&]*))?)?.*$\", \"i\"), \"$1\"));\n}\n\nexport const isQaHost = (hostUrl: string): boolean => {\n    return hostUrl.toLocaleLowerCase().includes(\"qa\")\n}\n\nexport const openFacebookShare = (url: string, textToShare: string = \"\", analyticsCb?: () => void, content: string = \"\", current_article_id?: string, hashPart?: string) => {\n    const widthAndHeight = `width=500, height=500`\n    const hostname = window.location.hostname.replace(\"www.\", \"\");\n    const qText = textToShare.trim() ? `&qtext=${textToShare}` : \"\";\n    const utmContent = content.trim() ? `&utm_content=${content}` : \"\";\n    const utmTerm = `${current_article_id || window.articleId ? `utm_term=${current_article_id ? current_article_id : window.articleId}` : \"\"}`;\n    url = `${url}?utm_source=${hostname}&utm_medium=Share&utm_campaign=Facebook&${utmTerm}${utmContent}${qText}`;\n    url = hashPart ? url + \"#\" + hashPart : url;\n    window.open(\"//www.facebook.com/sharer/sharer.php?u=\" + encodeURIComponent(url), \"\", widthAndHeight);\n    analyticsCb && typeof analyticsCb === \"function\" && analyticsCb()\n}\nexport const openLinkedinShare = (url: string, analyticsCb?: () => void, hashPart?: string) => {\n    const widthAndHeight = `width=500, height=500`\n    const hostname = window.location.hostname.replace(\"www.\", \"\");\n    // const qText = textToShare.trim() ? `&qtext=${textToShare}` : \"\";\n    //  const utmContent = content.trim() ? `&utm_content=${content}` : \"\";\n    url = hashPart ? url + \"#\" + hashPart : url;\n    window.open(\"//linkedin.com/sharing/share-offsite/?url=\" + encodeURIComponent(url), \"\", widthAndHeight);\n    analyticsCb && typeof analyticsCb === \"function\" && analyticsCb()\n}\n\nexport const openMailShare = (body: string, siteName: string, url: string, analyticsCb?: () => void, content: string = \"\", hashPart?: string) => {\n    const convertedBody = replaceCharacters(body)\n    const title = \"כתבה מעניינת מ\"\n    const hostname = window.location.hostname.replace(\"www.\", \"\");\n    const utmContent = content.trim() ? `&utm_content=${encodeURIComponent(content)}` : \"\";\n    url = `${url}?utm_source=${encodeURIComponent(hostname)}&utm_medium=Share&utm_campaign=Mail${utmContent}`;\n    url = hashPart ? url + \"#\" + hashPart : url;\n    window.location.href = `mailto:?subject=${title}${siteName}&body=${encodeURIComponent(convertedBody)} %0d %0d ${encodeURIComponent(url)}`;\n    analyticsCb && typeof analyticsCb === \"function\" && analyticsCb()\n}\nexport const openTwitterShare = (url: string, analyticsCb?: () => void, content: string = \"\", current_article_id?: string, hashPart?: string) => {\n    const widthAndHeight = `width=500, height=500`\n    const hostname = window.location.hostname.replace(\"www.\", \"\");\n    const utmContent = content.trim() ? `&utm_content=${encodeURIComponent(content)}` : \"\";\n    const utmTerm = `${current_article_id || window.articleId ? `utm_term=${current_article_id ? current_article_id : window.articleId}` : \"\"}`;\n    url = `${url}?utm_source=${hostname}&utm_medium=Share&utm_campaign=Twitter${utmTerm}${utmContent}`;\n    url = hashPart ? url + \"#\" + hashPart : url;\n    const urlEncoded = encodeURIComponent(url)\n    window.open(\"//twitter.com/intent/tweet?original_referer=\" + urlEncoded + \"&text=\" + encodeURIComponent(document.title) + \"&url=\" + urlEncoded, \"\", widthAndHeight);\n    analyticsCb && typeof analyticsCb === \"function\" && analyticsCb()\n}\n\nexport const openTelegramShare = (url: string, analyticsCb?: () => void, content: string = \"\", current_article_id?: string, hashPart?: string) => {\n    const widthAndHeight = `width=500, height=500`\n    const hostname = window.location.hostname.replace(\"www.\", \"\");\n    const utmContent = content.trim() ? `&utm_content=${encodeURIComponent(content)}` : \"\";\n    url = `${url}?utm_source=${hostname}&utm_medium=Share&utm_campaign=Telegram&utm_term=${current_article_id ? current_article_id : window.articleId}${utmContent}`;\n    url = hashPart ? url + \"#\" + hashPart : url;\n    const urlEncoded = encodeURIComponent(url)\n    window.open(\"https://telegram.me/share/url?url=\" + urlEncoded + \"&text=\" + encodeURIComponent(document.title) + \"&url=\" + urlEncoded, \"\", widthAndHeight);\n    analyticsCb && typeof analyticsCb === \"function\" && analyticsCb()\n}\n\nexport const openWhatsAppShare = (url: string, analyticsCb?: () => void, content: string = \"\", current_article_id?: string, hashPart?: string) => {\n    const hostname = window.location.hostname.replace(\"www.\", \"\");\n    const utmContent = content.trim() ? `&utm_content=${encodeURIComponent(content)}` : \"\";\n    url = `${url}?utm_source=${hostname}&utm_medium=Share&utm_campaign=Whatsapp&utm_term=${current_article_id ? current_article_id : window.articleId}${utmContent}`;\n    url = hashPart ? url + \"#\" + hashPart : url;\n    window.open(\"https://api.whatsapp.com/send?text=\" + encodeURIComponent(url))\n    analyticsCb && typeof analyticsCb === \"function\" && analyticsCb()\n}\ninterface DateParts {\n    month: number\n    day: number\n    year: number\n    hour: number\n    minute: number\n    second: number\n}\n\nexport const analyticsPushFunc = (action: string, category: string, title?:string) => {\n    window.dataLayer = window.dataLayer || []\n    const eventText = category == \"Send Comment\" ? \"comments_events\" : \"GA_Events\"\n    let categoryText = category == \"Send Comment\" ? \"Article\" : (category == \"News Flash Tab\" ? category : \"Share\")\n    window.dataLayer.push({\n        event: eventText,\n        Category: categoryText, \n        Action:  action,\n        Label: title ? title : category,\n    });\n}\n\nconst getDateParts = (date: Date, timezone: string): DateParts => {\n    if (RUNNING_IN_SERVER) {\n        return getDatePartsUsingMoment(date, timezone);\n    } else {\n        return getDatePartsUsingIntl(date, timezone);\n    }\n}\nconst getDatePartsUsingIntl = (date: Date, timezone: string): DateParts => {\n    const intel = new Intl.DateTimeFormat(\"en-us\", { timeZone: timezone, hour12: false, year: \"numeric\", month: \"numeric\", day: \"numeric\", hour: \"numeric\", minute: \"numeric\", second: \"numeric\" }) as any\n    const partsArray = intel.formatToParts(date)\n    const parts = {} as any;\n    for (const part of partsArray) {\n        switch (part.type) {\n            case \"month\":\n            case \"day\":\n            case \"year\":\n            case \"hour\":\n            case \"minute\":\n            case \"second\":\n                parts[part.type] = Number(part.value);\n                break;\n        }\n    }\n    return parts;\n}\n\nconst getDatePartsUsingMoment = (date: Date, timezone: string): DateParts => {\n    const momentTZ = RUNNING_IN_SERVER && require('moment-timezone');\n    const dateToManipulateTemp = momentTZ.tz(date, timezone);\n    return {\n        day: dateToManipulateTemp.date(),\n        month: dateToManipulateTemp.month() + 1, //January is 0\n        year: dateToManipulateTemp.year(),\n        hour: dateToManipulateTemp.hour(),\n        minute: dateToManipulateTemp.minute(),\n        second: dateToManipulateTemp.second(),\n    }\n}\n\nconst temp_getDatePartWithoutIntelSupport = (dateToManipulateTemp: Date, _timezone: string): DateParts => {\n    return {\n        day: dateToManipulateTemp.getDate(),\n        month: dateToManipulateTemp.getMonth() + 1, //January is 0\n        year: dateToManipulateTemp.getFullYear(),\n        hour: dateToManipulateTemp.getHours(),\n        minute: dateToManipulateTemp.getMinutes(),\n        second: 0,\n    }\n}\nexport const googleScript = (name) => {return `if (window.innerWidth >= '768') { googletag.cmd.push(function() { googletag.display(\"` + name + `\"); }); }`}\nexport const timeAgo = (date: Date, lang: string) => {\n    const startTime = date;\n    const endTime = new Date();\n    const difference = endTime.getTime() - startTime.getTime(); // This will give difference in milliseconds\n    const resultInMinutes = Math.floor(difference / 60000);\n    const finalResult = resultInMinutes < 2 ? \"עכשיו\" : format(date, lang)\n    return finalResult\n}\n\nexport interface ITitleLink extends DataObjectBase {\n    readonly channelIconDisplay?: ChannelIconDisplay\n    readonly channelIconUrl?: string\n    rightTitleLink?: LinkProperties<BaseLinkTypes>\n    tabLink?: LinkProperties<BaseLinkTypes>\n}\nexport const channelIconUrl = (data: ITitleLink, getPageCategory: (categoryId: string) => CategoryTreeNode) => {\n    let icon = null;\n    if (data.channelIconDisplay === \"manual\") {\n        icon = data.channelIconUrl;\n    }\n    else if (data.channelIconDisplay === \"category\") {\n        let category;\n        if (data.rightTitleLink) {\n            category = getPageCategory(data.rightTitleLink.link.id)\n        } else {\n            category = getPageCategory(data.tabLink.link.id)\n        }\n        icon = category && category.icon ? category.icon : null;\n\n    }\n\n    return icon\n}\nexport const replaceCharacters = (str: string) => {\n    const obj = { '&quot;': `\"`, '&lt;': `<`, '&gt;': `>`, '&amp;': `&`, '<\\/?span[^>]*>': ``, '&#39;': `'` }\n    for (var x in obj) {\n        str = str.replace(new RegExp(x, 'g'), obj[x]);\n    }\n    return str;\n}","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAOCAYAAADJ7fe0AAABAElEQVQokZ3RvyuFYRjG8c/RKfEHGFgYLMqgzLJiYjAoUrKcxeZPeBcm/ooz6BgsBj9TymYwGKSYnJTERofheU69Pc77Op1re+7r6tt9PXclyzKJTrCPw9QoUl/yHsEsFroFdIKsxNk8Kok3gMluIWcYxlTiLWLvP8gExrGJlr+VNoSqS2WQVRzjAVcJZBQzeMQO+vOQKp7whjHU4rwuXGgITazhDltC3Vt85jdp4gv3OIrzA/xgLmbWhdNfYDcPaG8ynXbEC85jpee45Wn0ttNwtQOgrbrQv4VvXBYF0xPn1cAglnGDj14gr0KFivCZhSqDECoRPrVnSAPvuC4L/QJCSTIZ7Y+ZkAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAYAAABGbhwYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0U2Q0U4RkM0RUMxMTFFNkE5NTJFOUVGOEE4MDlBRTQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0U2Q0U4RkQ0RUMxMTFFNkE5NTJFOUVGOEE4MDlBRTQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGN0UwOUM2MTRFOTcxMUU2QTk1MkU5RUY4QTgwOUFFNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGN0UwOUM2MjRFOTcxMUU2QTk1MkU5RUY4QTgwOUFFNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pli8UfYAAACDSURBVHjaYrSemsSABNiAeBKUnQ/EP2ESLEiKJIF4DRBbQfm6QBwKxM9AHCaooCUQnwFiEySNxkB8GqYRpDAViPcDMSMQOyIpdILS+4A4DaRwFhCfg5p2DEkhiG0KxGeBeCZI4WyoSc8YMMEzqMmzQJ5JY8APQD5PZ2IgEgygQoAAAwD6yxT9UyspUAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAYAAABGbhwYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0U2Q0U5MDA0RUMxMTFFNkE5NTJFOUVGOEE4MDlBRTQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0U2Q0U5MDE0RUMxMTFFNkE5NTJFOUVGOEE4MDlBRTQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDRTZDRThGRTRFQzExMUU2QTk1MkU5RUY4QTgwOUFFNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDRTZDRThGRjRFQzExMUU2QTk1MkU5RUY4QTgwOUFFNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pqg5jdcAAAB8SURBVHjaYjyhoM6ABv5DaUZkQSYGIsEAK5wBxOx41LCB1IAUpgPxPiCWwqJIEoj3g9SAFGYAsTEQnwZiKyRFlkB8BohNQGpACmcCsRNUch+Swv3QsHQEqYF55hgQmwLxWSSF56CmgeQYWJAknkFNngQ1KReIf8IkAQIMAKAiEwejABn8AAAAAElFTkSuQmCC\"","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}