{"version":3,"sources":["src/pages/destination/destination.ts","src/_core/scripts/specific/layout/index.ts","src/_core/scripts/specific/layout/device.ts","src/_core/scripts/specific/layout/lazyload.ts","src/_core/scripts/specific/config/responsive.ts","src/_core/scripts/specific/layout/lozad.ts","src/_core/scripts/specific/layout/breakpoints.ts","src/_core/scripts/specific/webToStore/index.ts","src/_core/scripts/specific/webToStore/webToStore.ts","src/_core/scripts/specific/popinTrigger/index.ts","src/components/header/header.ts","src/components/menuHeader/menuHeader.ts","src/components/footer/footer.ts","src/components/footContact/footContact.ts","src/components/tracking/trackingGTM.ts","src/modules/pushingProducts/pushingProducts.ts","src/modules/pushingProducts/pushingProductsConfig.ts","src/components/sliderPushings/sliderPushings.ts","src/components/sliderPushings/sliderPushingsConfig.ts","src/elements/incrementalField/incrementalField.ts","src/components/popin/popin.ts","src/modules/airlinesSlider/airlinesSlider.ts","src/modules/searchEngineBlock/searchEngineBlock.ts","src/_core/scripts/libs/orxapi/Autocomplete/index.ts","src/_core/scripts/libs/orxapi/Autocomplete/Template.ts","src/components/headerMenu/headerMenu.ts","src/elements/selectChoosen/selectChoosen.ts","src/modules/pushings/pushings.ts","src/components/pushing/pushing.ts","src/components/tripadvisor/tripadvisor.ts","src/elements/arrowTop/arrowTop.ts","src/components/travelPlannerBox/travelPlannerBox.ts","src/components/expertItem/expertItem.ts","src/components/pushingThematicDiscover/pushingThematicDiscover.ts","src/components/travelerIdentity/travelerIdentity.ts","src/components/listDiaporama/initListDiaporama.ts","src/components/sliderTipsPopin/sliderTipsPopin.ts","src/components/diaporama/diaporama.ts","src/components/diaporama/diaporamaConfig.ts","src/elements/icon/icon.ts","src/components/headerLinksList/headerLinksList.ts","src/components/searchEngine/searchEngine.ts","src/components/searchEngine/app/index.tsx","src/components/searchEngine/app/stores/api.ts","src/components/searchEngine/app/tools/formTools.tsx","src/components/searchEngine/app/configs/param.ts","src/components/searchEngine/app/stores/date.ts","src/components/searchEngine/app/configs/date.ts","src/components/searchEngine/app/components/Layout/index.tsx","src/components/searchEngine/app/components/SuperPanel/index.tsx","src/components/searchEngine/app/components/CollapseContainer/index.tsx","src/components/searchEngine/app/components/SearchItem/index.tsx","src/components/searchEngine/app/components/SearchItem/AsyncSelectSearchItem/index.tsx","src/components/searchEngine/app/components/CustomSelect/Select.tsx","src/components/searchEngine/app/components/CustomSelect/utils.ts","src/components/searchEngine/app/components/SearchItem/SelectSearchItem/index.tsx","src/components/searchEngine/app/tools/polyfillTools.ts","src/components/searchEngine/app/components/SearchItem/PassengerSearchItem/index.tsx","src/components/searchEngine/app/components/SearchItem/DateSearchItem/index.tsx","src/components/searchEngine/app/components/SearchItem/DateSearchItem/MonthHead/index.tsx","src/components/searchEngine/app/components/WrapDiv/index.tsx","src/components/searchEngine/app/components/SearchItem/CheckSearchItem/index.tsx","src/components/searchEngine/app/components/SearchItem/CheckSearchItem/Checkbox.tsx","src/components/searchEngine/app/components/Icon/index.tsx","src/components/searchEngine/app/components/SearchItem/InputSearchItem/index.tsx","src/components/searchEngine/app/components/SearchItem/RangeSearchItem/index.tsx","src/components/searchEngine/app/configs/range.ts","src/components/searchEngine/app/components/SearchItem/PanelSearchItem/index.tsx","src/components/searchEngine/app/tools/stringTools.ts","src/components/searchEngine/app/components/SubmitButton/index.tsx","src/components/searchEngine/app/components/Button/index.tsx","src/components/searchEngine/app/components/SearchItemTrigger/index.tsx","src/_core/scripts/libs/orxapi/components/Icon/index.tsx","src/components/searchEngine/app/components/SearchItemsMobile/index.tsx","src/components/searchEngine/app/components/SearchItemMobileContainer/index.tsx","src/components/searchEngine/app/components/SearchItemDesktopContainer/index.tsx","src/components/searchEngine/app/components/HeaderPanel/index.tsx","src/components/searchEngine/app/components/ButtonsTriggerPanel/index.tsx","src/modules/blockThematic/blockThematic.ts","src/components/diaporamaSwiper/diaporamaSwiper.ts","src/_core/scripts/libs/orxapi/tools/LazyLoad/index.ts","src/components/diaporamaSwiper/diaporamaSwipperConfig.ts","src/components/sliderHeader/sliderHeader.ts","src/components/salesCounter/salesCounter.ts","src/components/headerSubModule/headerSubModule.ts","src/components/headerSubModuleDesktop/desktopHeaderSubModule.ts","src/_core/scripts/specific/header/header.ts","src/components/fastSearch/fastSearch.ts","src/components/fastSearch/app/index.tsx","src/components/fastSearch/app/components/index.tsx","src/components/fastSearch/app/components/useFastSearch.ts","src/_core/scripts/libs/orxapi/tools/Fetcher/index.ts","src/_core/scripts/libs/orxapi/tools/Debounce/index.ts","src/components/fastSearch/app/config/fastSearch.ts","src/components/fastSearch/app/components/useMediaQuery.ts","src/components/fastSearch/app/components/FastSearchMenuList/index.tsx","src/components/fastSearch/app/components/FastSearchOption/index.tsx","src/components/fastSearch/app/components/FastSearchLoadingMessage/index.tsx","src/components/fastSearch/app/components/FastSearchNoOptionsMessage/index.tsx","packages/@babel/runtime@7.28.4","packages/@emotion/cache@11.14.0","packages/@emotion/hash@0.9.2","packages/@emotion/memoize@0.9.0","packages/@emotion/react@11.14.0","packages/@emotion/serialize@1.3.3","packages/@emotion/sheet@1.4.0","packages/@emotion/unitless@0.10.0","packages/@emotion/use-insertion-effect-with-fallbacks@1.2.0","packages/@emotion/utils@1.4.2","packages/@emotion/weak-memoize@0.4.0","packages/blazy@1.8.2","packages/breakpoints-js@1.0.6","packages/classnames@2.3.1","packages/devbridge-autocomplete@1.4.11","packages/dom7@4.0.6","packages/dompurify@2.3.0","packages/hoist-non-react-statics@3.3.2","packages/undefined@undefined","packages/jquery-countdown@2.2.0","packages/jquery-selector-cache@1.0.2","packages/js-cookie@2.2.1","packages/lodash@4.17.21","packages/lozad@1.16.0","packages/mdn-polyfills@5.20.0","packages/memoize-one@5.2.1","packages/mobx-react@5.1.2","packages/mobx@4.9.2","packages/moment@2.29.1","packages/moveto@1.8.2","packages/object-assign@4.1.1","packages/orxapi.tools.clickable@2.0.0","packages/orxapi.tools.toscroll@0.0.1","packages/orxapi.tools.url@1.0.2","packages/process@0.0.0","packages/prop-types@15.8.1","packages/react-day-picker@7.4.0","packages/react-dom@16.14.0","packages/react-input-autosize@3.0.0","packages/react-is@16.13.1","packages/react-range@1.8.9","packages/react-responsive@8.0.3","packages/react-select@4.3.1","packages/react@16.14.0","packages/scheduler@0.19.1","packages/slick-carousel@1.8.1","packages/ssr-window@4.0.2","packages/stylis@4.2.0","packages/swiper@8.0.7","packages/tslib@2.3.0","packages/ua-parser-js@0.7.41"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/ED,4CAA4C;AAC5C,yDAA+D;AAK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,mCAAI,uBAAuB,CAC3C;gBACN,6BAAK,SAAS,EAAC,yCAAyC,wEAElD,CACJ,CACJ,CACoB,CACjC,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,KAAK,CAAC;;;;;AC1CrB;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjNA;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;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;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;AC7fA;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;AC3IA;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;AC/CA;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;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;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;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;ACnlBA;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;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;AC5PA;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;ACtJA;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;AC9DA;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;AC5CA;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;AClEA;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;AC7DA;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;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;ACxXA;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;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;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;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;AC/uBA;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;AChEA;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;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;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;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;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;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;ACt/BA;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;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;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;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;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;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;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;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;AC/zCA;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;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;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;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;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;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;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;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;ACv1CA;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;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;ACNA;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;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;AC3PA;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;ACrEA;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;ACzKA;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;AC/zhBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtBA;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;ACzDA;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;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;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;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;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;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;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;ACztCA;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;AC/5IA;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;ACnqLA;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;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;AC1OA;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;AChGA;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;AC7EA;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;ACxEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpMA;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;AChJA;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;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;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;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;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;ACp0BA;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;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;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;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;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;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;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;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;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;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;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;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;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;AC50EA;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;AC5wxBA;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;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;AClRA;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;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;ACzNA;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;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;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;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;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;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;AC3gCA;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;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;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;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;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;ACp3BA;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;ACz8OA;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;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;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;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;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;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;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;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;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;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;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;ACt6DA;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;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;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;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;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;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;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;AC9vCA;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACz8FA;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;AClJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACRA;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;AC3+QA;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;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;ACxTA;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;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;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;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;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;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","file":"","sourcesContent":["import * as $$ from \"jquery-selector-cache\";\nimport \"../../_core/scripts/specific/layout/index\";\nimport \"../../_core/scripts/specific/webToStore/index\";\nimport \"../../_core/scripts/specific/popinTrigger/index\";\nimport {initHeader} from \"../../components/header/header\";\nimport {initMenuHeader} from \"../../components/menuHeader/menuHeader\";\nimport {initChosenFooter, initNewsletterPopin, initSliderFooter} from \"../../components/footer/footer\";\nimport {initSliderPushingProduct} from \"../../modules/pushingProducts/pushingProducts\";\nimport {initSliderPushings} from \"../../components/sliderPushings/sliderPushings\";\nimport {initIncrementalField} from \"../../elements/incrementalField/incrementalField\";\nimport {initPopin} from \"../../components/popin/popin\";\nimport {initAirlinesSlider} from \"../../modules/airlinesSlider/airlinesSlider\";\nimport {initSearchEngineBlock} from \"../../modules/searchEngineBlock/searchEngineBlock\";\nimport {initAutocomplete} from \"../../_core/scripts/libs/orxapi/Autocomplete\";\nimport {\n    handleBackTitle,\n    handleMenuBurger,\n    handleOverlayMenu,\n    handlePanelLink,\n    menuCalculator,\n    subMenuCalculator\n} from \"../../components/headerMenu/headerMenu\";\nimport {initSelectChoosen} from \"../../elements/selectChoosen/selectChoosen\";\nimport {initPushings} from \"../../modules/pushings/pushings\";\nimport {initToScrollTop} from \"../../elements/arrowTop/arrowTop\";\nimport {handleOpenTravelPlannerBox, initTravelPlannerBox} from \"../../components/travelPlannerBox/travelPlannerBox\";\nimport {initExpertItem} from \"../../components/expertItem/expertItem\";\nimport {initPushingThematicDiscover} from \"../../components/pushingThematicDiscover/pushingThematicDiscover\";\nimport {initTravelIdentity} from \"../../components/travelerIdentity/travelerIdentity\";\nimport {initListDiaporama} from \"../../components/listDiaporama/initListDiaporama\";\nimport {initDiaporama} from \"../../components/diaporama/diaporama\";\nimport {initHeaderLinksList} from \"../../components/headerLinksList/headerLinksList\";\nimport {handleTrackingProductList} from \"../../components/tracking/trackingGTM\";\nimport {initSearchEngineComponent} from \"../../components/searchEngine/searchEngine\";\nimport {initBlockThematic} from \"../../modules/blockThematic/blockThematic\";\nimport {initMobileHeaderSubModule} from \"../../components/headerSubModule/headerSubModule\";\nimport {initDesktopHeaderSubModule} from \"../../components/headerSubModuleDesktop/desktopHeaderSubModule\";\nimport {initScrollDisplayForHeader} from \"../../_core/scripts/specific/header/header\";\nimport {initFastSearch} from \"../../components/fastSearch/fastSearch\";\n\nif (console !== undefined) {\n    console.log(\"initialize destination ;-)\");\n}\n\n// Core\ninitAutocomplete();\n\n// Components\ninitHeader();\ninitFastSearch();\ninitMenuHeader();\ninitScrollDisplayForHeader();\ninitMobileHeaderSubModule();\ninitDesktopHeaderSubModule();\ninitHeaderLinksList();\ninitSliderPushings();\ninitSliderFooter();\ninitNewsletterPopin();\ninitChosenFooter();\ninitPopin();\ninitTravelPlannerBox();\ninitExpertItem();\ninitPushingThematicDiscover();\ninitTravelIdentity();\ninitDiaporama(\".cpt-diaporama\");\n\n// Elements\ninitSelectChoosen();\ninitIncrementalField();\ninitToScrollTop();\ninitBlockThematic();\n// Modules\ninitSliderPushingProduct();\ninitSearchEngineBlock();\ninitAirlinesSlider();\ninitPushings();\ninitListDiaporama();\n\n// Tracking\nhandleTrackingProductList();\n// Search Engine\ninitSearchEngineComponent();\n\n\n// CLICK OPEN AND CLOSE MENU\n$$(\".elem-icon-burger\").on(\"click\", handleMenuBurger);\n$$(\".back-title\").on(\"click\", handleBackTitle);\n$$(\".panel-link\").on(\"click\", \".link\", handlePanelLink);\n$$(\".overlay-menu-full\").on(\"click\", handleOverlayMenu);\n$$(\".overlay-menu-full\").on(\"click\", handleOverlayMenu);\n$$(window).on(\"resize\", menuCalculator);\n$$(window).on(\"resize\", subMenuCalculator);\n\n//  sticky TP\n$$(\".cpt-travel-planner-box\").on(\"click.arrowButton\", \".arrow-button\", handleOpenTravelPlannerBox);","import \"mdn-polyfills/String.prototype.startsWith\";\nimport \"mdn-polyfills/String.prototype.includes\";\nimport \"mdn-polyfills/Array.prototype.find\";\nimport {initClickable} from \"orxapi.tools.clickable\";\nimport {initDevice} from \"./device\";\nimport {initLazyLoading} from \"./lazyload\";\nimport {initLozad} from \"./lozad\";\nimport {getBreakpointsCallbacks, getBreakpointsNames, initStartingBreakpoints} from \"./breakpoints\";\n\n// Initialize the right breakpoint on current page.\ninitStartingBreakpoints();\n\n// Initialize the User Agent devices\ninitDevice();\n\n// Initialize Lazy load\ninitLazyLoading();\ninitLozad();\n\n// Initialize default clickable\ninitClickable();\n\n\n// Breakpoints custom event: initialize the breakpoints handler.\nconst breakpointsCallbacks = getBreakpointsCallbacks();\nconst breakpointsNames = getBreakpointsNames();\nbreakpointsNames.forEach((name) => Breakpoints.on(name, breakpointsCallbacks));","import { UAParser } from \"ua-parser-js\";\n\nconst uaparser = new UAParser();\n\n/**\n * Initialize the User Agent\n */\nexport function initDevice() {\n    if (isMobileDevice()) {\n        document.querySelector(\"body\").classList.add(\"is-mobile\");\n    }\n    if (isTabletDevice()) {\n        document.querySelector(\"body\").classList.add(\"is-tablet\");\n    }\n}\n\n/**\n * Get the actual device\n * @return {IUAParser.IDevice}\n */\nfunction getDevice(): IUAParser.IDevice {\n    return uaparser.getDevice();\n}\n\n/**\n * Get the OS information\n * @return {IUAParser.IOS}\n */\nfunction getOS(): IUAParser.IOS {\n    return uaparser.getOS();\n}\n\n/**\n * Check if a device type is mobile\n * @returns {boolean}\n */\nexport function isMobileDevice(): boolean {\n    return getDevice().type === \"mobile\";\n}\n\n/**\n * Check if a device type is tablet\n * @returns {boolean}\n */\nexport function isTabletDevice(): boolean {\n    return getDevice().type === \"tablet\";\n}\n\n/**\n * Check if a iOS\n * @returns {boolean}\n */\nexport function isIOSDevice(): boolean {\n    return getOS().name === \"iOS\";\n}","import * as Blazy from \"blazy\";\nimport {breakpointsConfig} from \"../config/responsive\";\n\n/** Fix a Type Definition Error */\ninterface BlazyInstanceFix extends BlazyInstance {\n    load(elements: Element | Element[] | HTMLElement | HTMLElement[] | HTMLCollection | NodeList | JQuery<HTMLElement>, force: boolean): void;\n}\n\n// Local variable\nlet bLazy: BlazyInstanceFix;\n\n/**\n * Initialize the lazy load\n */\nexport function initLazyLoading() {\n    bLazy = new Blazy({\n        breakpoints: [{\n            width: breakpointsConfig.sm.max,\n            src: \"data-src-mobile\"\n        }, {\n            width: breakpointsConfig.lg.min,\n            src: \"data-src-tablet\"\n        }],\n        offset : 150\n    });\n}\n\n/**\n * Revalidate document for visible images\n */\nexport function revalidateLazyImage() {\n    bLazy.revalidate();\n}\n\n/**\n * Load the image with lazy\n * @param elem\n */\nexport function loadImageHidden(elem: JQuery<HTMLElement>) {\n    bLazy.load(elem, true);\n}\n\n/**\n * Object-fit condition for loading\n * @param img\n * @returns {boolean}\n */\nexport function handleConditionSuccess(img: HTMLImageElement) {\n    const image = $(img);\n    return image.hasClass(\"b-lazy\") ? image.hasClass(\"b-loaded\") : true;\n}","export interface IBreakpointsConfig extends IBreakpointsOptions {\n    readonly xs: IBreakpointsBoundary;\n    readonly sm: IBreakpointsBoundary;\n    readonly md: IBreakpointsBoundary;\n    readonly lg: IBreakpointsBoundary;\n    readonly xl: IBreakpointsBoundary;\n}\n\n/**\n * Configure the breakpoints\n * @type IBreakpointsConfig\n */\nexport const breakpointsConfig: IBreakpointsConfig = {\n    xs: {min: 0, max: 575},\n    sm: {min: 576, max: 767},\n    md: {min: 768, max: 991},\n    lg: {min: 992, max: 1359},\n    xl: {min: 1360, max: Infinity}\n};","import * as lozad from \"lozad\";\nimport type {Observer} from \"lozad\";\n\n// Local variable\nlet lazy: Observer;\n\n/**\n * Initialize the lazy load\n */\nfunction initLozad() {\n    lazy = lozad();\n    lazy.observe();\n}\n\n/**\n * Observes newly added elements as well\n */\nfunction observesLazyImage() {\n    if (lazy === undefined) {\n        console.warn(\n            \"The lazy observer is not initialized, \" +\n            \"please call initLazyLoading() method \" +\n            \"before call observesLazyImage() method.\"\n        );\n        return;\n    }\n    lazy.observe();\n}\n\n/**\n * Load the image with lazy\n * @param elem\n */\nfunction triggerLoadLazyImage(elem: Element) {\n    if (lazy === undefined) {\n        console.warn(\n            \"The lazy observer is not initialized, \" +\n            \"please call initLazyLoading() method \" +\n            \"before call triggerLoadLazyImage() method.\"\n        );\n        return;\n    }\n    lazy.triggerLoad(elem);\n}\n\nexport {\n    initLozad,\n    observesLazyImage,\n    triggerLoadLazyImage,\n};\n","import * as $$ from \"jquery-selector-cache\";\nimport Breakpoints from \"breakpoints-js\";\nimport {breakpointsConfig} from \"../config/responsive\";\n\n/**\n * Get the handler callbacks of Breakpoints library\n * @return {IBreakpointsCallbacks} the Event enter handler function\n */\nexport function getBreakpointsCallbacks(): IBreakpointsCallbacks {\n    return {\n        enter() {\n            addBreakpointClass(this.name);\n        }\n    };\n}\n\n/**\n * Get the array name of Breakpoints configuration\n * @return {string[]} the key of the breakpoints configuration\n */\nexport function getBreakpointsNames(): string[] {\n    return $.map(breakpointsConfig, (propertyOfObject: IBreakpointsBoundary, key: string) => {\n        return key;\n    });\n}\n\n/**\n * Initialize the right breakpoint on starting page.\n */\nexport function initStartingBreakpoints() {\n    Breakpoints(breakpointsConfig);\n    addBreakpointClass(Breakpoints.current().name);\n}\n\n/**\n * Add and update the body breakpoint class\n * @param breakpointName\n */\nfunction addBreakpointClass(breakpointName: string) {\n    const bodyClass = $$(\"body\").attr(\"class\") || \"\";\n    const removeClass = bodyClass.replace(/(bp[-\\w]*)/g, \"\").trim();\n    $$(\"body\").removeClass().addClass(`${removeClass} bp-${breakpointName}`);\n}\n\n/**\n * Check it is mobile breakpoint on desktop\n * @returns {boolean}\n */\nexport function isMobileBreakpoint(): boolean {\n    return Breakpoints.is(\"xs\") || Breakpoints.is(\"sm\");\n}\n\n/**\n * Check it is tablet breakpoint on desktop\n * @returns {boolean}\n */\nexport function isTabletBreakpoint(): boolean {\n    return Breakpoints.is(\"md\");\n}\n\n/**\n * Check it is desktop breakpoint large and extra large\n * @returns {boolean}\n */\nexport function isDesktopBreakpoint(): boolean {\n    return Breakpoints.is(\"lg\") || Breakpoints.is(\"xl\");\n}","import {handleCookie} from \"./webToStore\";\n\n// Handle webToStoreActivated cookie\nhandleCookie();","import * as Cookies from \"js-cookie\";\nimport {CookieAttributes} from \"js-cookie\";\n\nconst WEB_TO_STORE = \"webToStoreActivated\";\nconst WEB_TO_STORE_DATA = \"webtostoreactivated\";\n\n/**\n * handle the creation of the cookie when accessing to the catalog\n */\nexport function handleCookie() {\n    const webToStoreActivated = $(\"body\").data(WEB_TO_STORE_DATA);\n    if ( webToStoreActivated ) {\n        if (!findCookie()) {\n            addCookie();\n        }\n    }\n}\n\n/**\n * check if the cookie webToStoreActivated exists  already\n * @returns {boolean}\n */\nfunction findCookie() {\n\n    return !!Cookies.get(WEB_TO_STORE);\n}\n\n/**\n * create the cookie webToStoreActivated\n * cookie indefinite in time\n * @param cookie\n */\nfunction addCookie() {\n    document.cookie = WEB_TO_STORE + \"=true; expires=Fri, 31 Dec 9999 23:59:59 GMT\";\n    // TODO\n    // voir avec Manu comment ajouter l'attribut expires\n    // Cookies.set(WEB_TO_STORE,\"true\",\"Fri, 31 Dec 9999 23:59:59 GMT\")\n}","import * as $$ from \"jquery-selector-cache\";\nimport {getUrlHashVar} from \"orxapi.tools.url\";\n\nopenPopinByHash();\n\n$(window).on(\"hashchange\", openPopinByHash);\n\n/**\n * open popin by trigger in hash\n */\nfunction openPopinByHash() {\n    const urlHashVar = getUrlHashVar();\n    if (urlHashVar.trigger) {\n        // this can be fuuuully more generic, like $(something).trigger(urlHashVar.trigger) but could that be really safe and secure ?\n        const toOpen = urlHashVar.trigger.replace(\"open.\", \"\");\n        $$(\".open-trigger.\" + toOpen).removeClass(\"d-none\");\n        $(\"body\").addClass(\"popin-is-open\");\n    }\n}","import * as $$ from \"jquery-selector-cache\";\nimport {isMobileBreakpoint, isTabletBreakpoint} from \"../../_core/scripts/specific/layout/breakpoints\";\n\n/**\n * Initialize the header\n */\nexport function initHeader() {\n    // Exit when component don't exist\n    if (!$$(\".cpt-header\").length) {\n        return;\n    }\n\n    const htmlBody: JQuery = $$(\"html,body\");\n    const header = $$(\".cpt-header\");\n\n    if (isMobileBreakpoint()) {\n        $(\".button-specialist-wrap > a\").attr(\"href\", $(\".button-specialist-wrap\").data(\"mobileSpecialistCallHref\"));\n    }\n\n    if (isMobileBreakpoint() || isTabletBreakpoint()) {\n        $$(window).on(\"scroll\", {htmlBody, header}, handleScrollPage);\n    } else {\n        return;\n    }\n}\n\n/**\n * Handle scroll event for sticky header\n * @param {JQuery.Event} evt\n */\nfunction handleScrollPage(evt: JQuery.Event) {\n    const scrollBody = document.body.scrollTop || document.documentElement.scrollTop;\n    // @ts-ignore\n    const {htmlBody, header} = evt.data;\n    const headerCalcHeight = header.outerHeight();\n\n    // Toggle sticky mode\n    header.toggleClass(\"sticky-active\", !(scrollBody < headerCalcHeight));\n}\n","import * as $$ from \"jquery-selector-cache\";\nimport {isMobileBreakpoint, isTabletBreakpoint, isDesktopBreakpoint} from \"../../_core/scripts/specific/layout/breakpoints\";\n\n/**\n * Initialize the header\n */\nexport function initMenuHeader() {\n    // Exit when component don't exist\n    if (!$$(\".cpt-menu-header\").length) {\n        return;\n    }\n\n    if (isDesktopBreakpoint()) {\n        $(\".burger-menu-icon\").on(\"mouseenter\", () => {\n            const $container = $(\".cpt-menu-header\");\n            $container.find(\".cpt-desktop-header-sub-module\").addClass(\"d-none\");\n            $(\".overlay-background\").removeClass(\"d-none\");\n            $(\".burger-menu-wrapper\").removeClass(\"d-none\");\n        });\n\n        $(\".burger-menu-links-container\").on(\"mouseleave\", () => {\n            $(\".burger-menu-wrapper\").addClass(\"d-none\");\n            $(\".overlay-background\").addClass(\"d-none\");\n        });\n    }\n}\n","import * as $$ from \"jquery-selector-cache\";\nimport \"slick-carousel\";\nimport \"../../_core/scripts/libs/vendor/chosen.jquery\";\nimport {initFooterContactComponent} from \"../../components/footContact/footContact\";\n\n/**\n * Initialize the slider footer\n */\nexport function initSliderFooter() {\n    // Exit when component don't exist\n    if (!$$(\".cpt-foot-ads-slider\").length) {\n        return;\n    }\n    addSliderFooter();\n    initFooterContactComponent();\n}\n\nexport function initNewsletterPopin() {\n    // Exit when component don't exist\n    if (!$$(\".cpt-newsletter\").length) {\n        return;\n    }\n    const newsletterPopin = $(\".cpt-newsletter\");\n    newsletterPopin.on(\"click\", \".btn-close\", closeNewsletterPopin);\n    $$(\".open-newsletter\").on(\"click\", handleOpenPopinNewsletter);\n}\n/**\n * open the newsletter popin\n */\nfunction handleOpenPopinNewsletter() {\n    $$(\".cpt-newsletter\").toggleClass(\"d-none\");\n    $$(\"body\").toggleClass(\"popin-is-open\");\n\n}\n\n/**\n * close the newsletter popin\n */\nexport function closeNewsletterPopin() {\n    $(\".cpt-newsletter\").addClass(\"d-none\");\n    $(\"body\").removeClass(\"popin-is-open\");\n}\n\n/**\n * add the slider footer\n */\nfunction addSliderFooter() {\n    $$(\".cpt-foot-ads-slider\").slick({\n        centerMode: true,\n        centerPadding: \"0\",\n        slidesToShow: 6,\n        responsive: [\n            {\n                breakpoint: 1024,\n                settings: {\n                    arrows: false,\n                    centerMode: true,\n                    centerPadding: \"40px\",\n                    slidesToShow: 4\n                }\n            },\n            {\n                breakpoint: 480,\n                settings: {\n                    arrows: false,\n                    centerMode: true,\n                    centerPadding: \"50px\",\n                    slidesToShow: 1\n                }\n            }\n        ]\n    });\n}\n\n/**\n * Initialize the footer chosen select\n */\nexport function initChosenFooter() {\n    $$(\".chosen-footer-select\").chosen({enable_escape_special_char: true});\n}\n","import * as $$ from \"jquery-selector-cache\";\nimport {handleTrackingFollowUs} from \"../tracking/trackingGTM\";\n\n/**\n * Initialize the component\n */\nexport function initFooterContactComponent() {\n    // Exit when component don't exist\n    if (!$$(\".follow-us\").length) {\n        return;\n    }\n    $$(\".follow-us\").on(\"click\", \".is-clickable\" , handleTrackingFollowUs);\n}\n","import * as $$ from \"jquery-selector-cache\";\n\n/**\n * Initialize tracking on serp\n */\nexport function handleTrackingProductList() {\n    const impressions = [];\n    const params = new URLSearchParams(window.location.search);\n    const productType = formatLabel(params?.get(\"type\") ? params.get(\"type\") : \"\");\n    let globalIndex = 0; // In case of a page with serp results AND pushing modules\n    // Serp case\n    $$(\".cpt-result\").each((index: number, element: HTMLElement) => {\n        const productName = formatLabel($(element).data(\"productName\"));\n        const productDestination = formatLabel($(element).data(\"productDestination\"));\n        const name = productName + \" - \" + productDestination;\n        impressions.push({\n            \"id\": $(element).data(\"productRef\"),\n            \"name\": name,\n            \"category\": productType,\n            \"list\": \"search result\" + (productType ? \" \" + productType : \"\"),\n            \"position\": (globalIndex + 1)\n        });\n        globalIndex++;\n    });\n    // Landing case\n    // (implemented by \"mistake\", was not in scope as of 29-03-2022, but may be useful in the future)\n    // $$(\".cpt-pushing\").each((index: number, element: HTMLElement) => {\n    //     const productId = $(element).data(\"productId\");\n    //     const productName = formatLabel($(element).data(\"productName\"));\n    //     const productDestination = formatLabel($(element).data(\"productDestination\"));\n    //     const name = productName + \" - \" + productDestination;\n    //     const productType = formatLabel($(element).data(\"productType\"));\n    //     const pageClass = $(\"body\").attr(\"class\");\n    //     const pageTitle = formatLabel($(document).attr(\"title\").toLowerCase());\n    //     let pageType = \"\";\n    //     if (pageClass.includes(\"page-home\")) {\n    //         pageType = \"home\";\n    //     } else if (pageClass.includes(\"page-landing\")) {\n    //         pageType = \"landing\";\n    //     } else if (pageClass.includes(\"page-destination\")) {\n    //         pageType = \"destination\";\n    //     }\n    //     const list = pageType + (pageTitle ? \" \" + pageTitle : \"\");\n    //\n    //     impressions.push({\n    //         \"id\": productId,\n    //         \"name\": name,\n    //         \"category\": productType,\n    //         \"list\": list,\n    //         \"position\": (globalIndex + 1)\n    //     });\n    //     globalIndex++;\n    // });\n    // getDataLayer().push({\n    //     \"event\": \"product.impression\",\n    //     \"ecommerce\": {\n    //         \"impressions\" : impressions\n    //     }\n    // });\n}\n\n/**\n * Tracking : handles newsletter subscribe event\n */\nexport function handleTrackingNewsletter() {\n    getDataLayer().push({\n        \"event\": \"Newsletter\",\n        \"action\": \"Inscription NL\"\n    });\n}\n\n/**\n * Tracking : handles \"follow us\" event\n */\nexport function handleTrackingFollowUs(evt) {\n    const rs = $(evt.currentTarget).data(\"rs\");\n    getDataLayer().push({\n        \"event\": \"follow rs\",\n        \"Objet\": rs\n    });\n}\n\n/**\n *  Tracking : handles click on a serp product\n */\nexport function handleTrackingAndProductClick(event, callback: (productLink: string) => void) {\n    const currentTarget = $(event.currentTarget);\n    const params = new URLSearchParams(window.location.search);\n    const category = params?.get(\"type\") ? params.get(\"type\") : \"\";\n    const productId = currentTarget.data(\"productRef\").toString();\n    const productPrice = currentTarget.data(\"productBasePriceAvailability\").toString();\n    const productName = currentTarget.data(\"productName\").toString();\n    const productLink = currentTarget.data(\"productLink\").toString();\n\n    let navigated = false;\n\n    // Fallback: navigate after 1 s if GTM does not respond (e.g. when consent is refused)\n    const fallbackTimer = setTimeout(() => {\n        if (!navigated) {\n            navigated = true;\n            callback(productLink);\n        }\n    }, 1000);\n\n    getDataLayer().push({\n        \"event\" : \"product.click\",\n        \"ecommerce\" : {\n            \"click\" : {\n                \"actionField\": {\"list\": \"serp\"},\n                \"products\": [{\n                    \"id\": productId,\n                    \"name\": formatLabel(productName),\n                    \"price\": productPrice,\n                    \"category\": category\n                }]\n            }\n        },\n        \"eventCallback\": (gtmId) => {\n            if (gtmId === \"GTM-5PJ3597\" && !navigated) { // Avoid firing callback multiple times\n                navigated = true;\n                clearTimeout(fallbackTimer);\n                callback(productLink);\n            }\n        }\n    });\n}\n\n/**\n * Tracking : retrieves GTM dataLayer\n */\nfunction getDataLayer() {\n    return window[\"dataLayer\"] = (window as any).dataLayer || [];\n}\n\n/**\n * Format the name of a product by removing unwanted characters\n * @param productName the product name to format\n */\nfunction formatLabel(productName: string) {\n    let formatted = productName;\n    formatted = replaceAll(formatted, \"'\", \" \");\n    formatted = replaceAll(formatted, \"\\\"\", \"-\");\n    return formatted;\n}\n\n/**\n * Replace all occurrences of \"find\" in \"str\" by \"replace\"\n * @param str string to transform\n * @param find characters to replace\n * @param replace new characters\n */\nfunction replaceAll(str, find, replace) {\n    return str? str.replace(new RegExp(escapeRegExp(find), 'g'), replace) : \"\";\n}\n\nfunction escapeRegExp(string) {\n    return string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}","import Breakpoints from \"breakpoints-js\";\nimport * as $$ from \"jquery-selector-cache\";\nimport \"slick-carousel\";\nimport {sliderPushingProductsConfig} from \"./pushingProductsConfig\";\nimport {revalidateLazyImage} from \"../../_core/scripts/specific/layout/lazyload\";\n\nlet slider: JQuery;\nconst sliderClassName = \".pushing-products-list\";\nconst moduleClassName = \".mod-pushing-products\";\n\n/**\n * Initialize the slider of pushing product\n */\nexport function initSliderPushingProduct() {\n\n    // Exit when component don't exist\n    if (!$$(sliderClassName).length) {\n        return;\n    }\n\n    $$(moduleClassName).on(\"async.finished\", () => {\n        if(Breakpoints.is(\"xs\") || Breakpoints.is(\"sm\")||Breakpoints.is(\"md\")){\n            removeSlider();\n            addSlider();\n        }\n\n    });\n\n    /** Event slider for breakpoint */\n    Breakpoints.on(\"xs sm md\", {\n        enter: addSlider,\n        leave: removeSlider\n    });\n\n}\n\n/**\n * Add the slider\n */\nfunction addSlider() {\n    const config = $$(sliderClassName).data(\"sliderConfig\") || \"default\";\n    slider = $$(sliderClassName).slick(sliderPushingProductsConfig[config]);\n    slider.on(\"afterChange\", revalidateLazyImage);\n}\n\n/**\n * Remove the slider\n */\nfunction removeSlider() {\n    // Exit when slider don't exist\n    if (slider === undefined) {\n        return;\n    }\n    slider.slick(\"unslick\");\n}","import {breakpointsConfig} from \"../../_core/scripts/specific/config/responsive\";\n\nexport interface ISliderPushingsProductsConfig<T> {\n    default: T;\n}\n\n/**\n * Map of Slick options configuration\n * @type {ISliderPushingsProductsConfig<JQuerySlickOptions>}\n */\nexport const sliderPushingProductsConfig: ISliderPushingsProductsConfig<JQuerySlickOptions> = {\n    default: {\n        rows: 0,\n        arrows: false,\n        dots: false,\n        responsive: [\n            {\n                breakpoint: breakpointsConfig.lg.max,\n                settings: \"unslick\"\n            },\n            {\n                breakpoint: breakpointsConfig.md.max,\n                settings: {\n                    slidesToShow: 2,\n                    slidesToScroll: 1,\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.sm.max,\n                settings: {\n                    slidesToShow: 1,\n                    slidesToScroll: 1\n                }\n            }\n        ]\n    }\n};","import * as $$ from \"jquery-selector-cache\";\nimport \"mdn-polyfills/Array.prototype.includes\";\nimport \"slick-carousel\";\nimport {sliderPushingConfig} from \"./sliderPushingsConfig\";\nimport {revalidateLazyImage} from \"../../_core/scripts/specific/layout/lazyload\";\n\n/**\n * Initialize the slider pushings\n */\nexport function initSliderPushings() {\n    // Exit when component don't exist\n    if (!$$(\".init-slider-pushings\").length) {\n        return;\n    }\n    initSlider(\".init-slider-pushings\");\n}\n\nexport function initSlider(selector: string) {\n    const configs = getDataConfigs(selector, \"sliderConfig\");\n    // Iterate on each slider with config\n    initSlickWithConfig(configs);\n}\n\n/**\n * Get the slider configuration for initialization\n * @param {string} className The class name for get data config\n * @param {string} dataName The data name of data config\n * @return {string[]} Return the unique list of config value\n */\nfunction getDataConfigs(className: string, dataName: string): string[] {\n    /*const configs = [];\n    $$(className).each((index: number, elem: HTMLDivElement) => configs.push(elem.dataset[dataName]));\n    return configs.reduce((x, y) => x.includes(y) ? x : [...x, y], []);*/\n    return [\"default\"];\n}\n\n/**\n * initSlickWithConfig\n * @param configs\n */\nfunction initSlickWithConfig(configs: string[]) {\n    configs.forEach((config: string) => {\n        const slider = $$(`[data-slider-config=${config}]`).slick(sliderPushingConfig[config]);\n        slider.on(\"afterChange\", revalidateLazyImage);\n    });\n}","import {breakpointsConfig} from \"../../_core/scripts/specific/config/responsive\";\n\ninterface ISliderPushingsConfig<T> {\n    default: T;\n    pushingFull: T;\n    airlines: T;\n    travelerPlanner: T;\n    travelPlannersContactList: T;\n}\n\n/**\n * Map of Slick options configuration\n * @type {ISliderPushingsConfig<JQuerySlickOptions>}\n */\nexport const sliderPushingConfig: ISliderPushingsConfig<JQuerySlickOptions> = {\n    default: {\n        rows: 0,\n        slidesToShow: 2,\n        slidesToScroll: 1,\n        responsive: [\n            {\n                breakpoint: breakpointsConfig.xl.max,\n                settings: {\n                    arrows: false,\n                    slidesToShow: 3\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.lg.max,\n                settings: {\n                    arrows: false,\n                    slidesToShow: 3\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.md.max,\n                settings: {\n                    arrows: false,\n                    slidesToShow: 2,\n                    centerMode: true,\n                    centerPadding: \"20px\"\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.sm.max,\n                settings: {\n                    arrows: false,\n                    slidesToShow: 1,\n                    centerMode: true,\n                    centerPadding: \"20px\"\n                }\n            }\n        ]\n    },\n    pushingFull: {\n        rows: 0,\n        dots: false,\n        arrows: false,\n        slidesToShow: 3,\n        slidesToScroll: 1,\n        responsive: [\n            {\n                breakpoint: breakpointsConfig.xl.max,\n                settings: {\n                    slidesToShow: 4,\n                    slidesToScroll: 1,\n                    centerMode: true,\n                    centerPadding: \"60px\"\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.lg.max,\n                settings: {\n                    slidesToShow: 3,\n                    slidesToScroll: 1,\n                    centerMode: true,\n                    centerPadding: \"30px\"\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.md.max,\n                settings: {\n                    slidesToShow: 2,\n                    slidesToScroll: 1,\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.sm.max,\n                settings: {\n                    slidesToShow: 1,\n                    slidesToScroll: 1,\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.xs.max,\n                settings: {\n                    slidesToShow: 1,\n                    slidesToScroll: 1,\n                    centerMode: true,\n                    centerPadding: \"20px\"\n                }\n            }\n        ]\n    },\n    travelerPlanner: {\n        rows: 0,\n        slidesToShow: 3,\n        slidesToScroll: 1,\n        arrows: true,\n        dots: false,\n        responsive: [\n            {\n                breakpoint: breakpointsConfig.sm.max,\n                settings: {\n                    slidesToShow: 1,\n                    centerMode: true,\n                    centerPadding: \"20px\"\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.md.max,\n                settings: {\n                    slidesToShow: 2\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.lg.max,\n                settings: {\n                    slidesToShow: 3\n                }\n            }\n        ]\n    },\n    airlines: {\n        rows: 0,\n        slidesToScroll: 2,\n        dots: false,\n        arrows: true,\n        prevArrow: \"<button type=\\\"button\\\" class=\\\"slick-prev\\\">Précédent</button>\",\n        nextArrow: \"<button type=\\\"button\\\" class=\\\"slick-next\\\">Suivant</button>\",\n        responsive: [\n            {\n                breakpoint: breakpointsConfig.xl.max,\n                settings: {\n                    slidesToShow: 5\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.lg.max,\n                settings: {\n                    slidesToShow: 4\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.md.max,\n                settings: {\n                    slidesToShow: 3\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.sm.max,\n                settings: {\n                    slidesToShow: 2\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.xs.max,\n                settings: {\n                    slidesToShow: 1\n                }\n            }\n        ]\n    },\n    travelPlannersContactList: {\n        rows: 0,\n        slidesToShow: 2,\n        slidesToScroll: 1,\n        arrows: false,\n        dots: false,\n        responsive: [\n            {\n                breakpoint: breakpointsConfig.lg.max,\n                settings: {\n                    slidesToShow: 2\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.md.max,\n                settings: {\n                    slidesToShow: 2\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.sm.max,\n                settings: {\n                    slidesToShow: 1\n                }\n            }\n        ]\n    }\n};","import * as $$ from \"jquery-selector-cache\";\n\nexport function initIncrementalField() {\n\n    $$(\"body\").on(\"click\", \".incremental-controller .btn-increment\", handleClickIncrement);\n    $$(\"body\").on(\"click\", \".incremental-controller .btn-decrement\", handleClickDecrement);\n}\n/**\n * handle click decrement btn element\n * @param {JQuery.Event} evt\n */\nlet oldValue: number = 0;\nlet currentValue: number = 0;\nfunction handleClickDecrement(evt: JQuery.Event) {\n    const btnDecrementClicked = $$(evt.currentTarget);\n    const currentIncrementalField =  btnDecrementClicked.parents(\".elem-incremental-field\");\n    const minValue = currentIncrementalField.data(\"min\") * 1;\n    oldValue = currentIncrementalField.data(\"current\") * 1;\n    if (oldValue === minValue) {return; }\n    currentValue =  oldValue - 1;\n    currentIncrementalField.data(\"current\", currentValue);\n    btnDecrementClicked.next(\"input\").val(currentValue);\n    btnDecrementClicked.next(\"input\").trigger(\"change\");\n}\n\nfunction handleClickIncrement(evt: JQuery.Event) {\n    const btnIncrementClicked = $$(evt.currentTarget);\n    const currentIncrementalField =  btnIncrementClicked.parents(\".elem-incremental-field\");\n    const maxValue: number = currentIncrementalField.data(\"max\");\n    oldValue = btnIncrementClicked.siblings(\"input\").val() * 1;\n    if (oldValue === maxValue) {return; }\n    currentValue =  oldValue + 1;\n    currentIncrementalField.data(\"current\", currentValue);\n    btnIncrementClicked.siblings(\"input\").val(currentValue);\n    btnIncrementClicked.siblings(\"input\").trigger(\"change\");\n}","import * as $$ from \"jquery-selector-cache\";\n\n/**\n * Initialize the close button popin\n */\nexport function initPopin() {\n    // Exit when the component don't exist\n    if (!$$(\".cpt-popin\").length) {\n        return;\n    }\n\n    // Exit when the close button don't exist\n    if (!$$(\".cpt-popin\").find(\".popin-close\").length) {\n        return;\n    }\n\n    $$(\".cpt-popin\").on(\"click.closePopin\", \".popin-close\", handleClosePopin);\n}\n\n/**\n * Open the popin\n * @param target\n */\nexport function openPopin(target: JQuery = $$(\".cpt-popin\")) {\n    target.removeClass(\"d-none\");\n    $$(\"body\").addClass(\"popin-is-open\");\n}\n\n/**\n * Handler click, close popin\n * @param {JQuery.Event} evt\n */\nexport function handleClosePopin(evt: JQuery.Event) {\n    $(evt.delegateTarget).addClass(\"d-none\");\n    $$(\"body\").removeClass(\"popin-is-open\");\n}","import * as $$ from \"jquery-selector-cache\";\nimport {openPopin} from \"../../components/popin/popin\";\n\nexport function initAirlinesSlider() {\n    if (!$$(\".cpt-slider-airlines\").length) {\n        return;\n    }\n\n    $$(\".cpt-slider-airlines\").on(\"click\", \".airline-item\", handleClickAirlineItem);\n}\n\nfunction handleClickAirlineItem(evt: JQuery.Event<HTMLElement>) {\n    const item = $(evt.currentTarget);\n    const departureItem = item.find(\".departure-city\");\n    const destinationItem = item.find(\".destination\");\n    openPopin($$(\".cpt-popin-airline\"));\n    const form = $$(\".cpt-popin-airline\").find(\"form\");\n\n    form.find(\"input[name='destinationCode']\").val(destinationItem.data(\"destinationCode\"));\n    form.find(\"input[name='destinationLabel']\").val(destinationItem.data(\"destinationLabel\"));\n\n    const departureSelect = form.find(\"select[name='departureCode']\");\n    departureSelect.find(\"option\").filter((i, e) => $(e).attr(\"value\") !== \"\").remove();\n\n    const {departureCodes: departureCodeData, departureLabels: departureLabelData} = departureItem.data();\n    const departureCodes = departureCodeData.split(\",\");\n    const departureLabels = departureLabelData.split(\",\");\n    departureCodes.forEach((code, i) => departureSelect.append(`<option value=${code}>${departureLabels[i]}</option>`));\n    departureSelect.trigger(\"chosen:updated\");\n\n}","import * as $$ from \"jquery-selector-cache\";\nimport {openPopin} from \"../../components/popin/popin\";\n\n/**\n * TODO doc\n */\nexport function initSearchEngineBlock() {\n    if (!$$(\".open-search-engine\").length) {\n        return;\n    }\n    $$(\".open-search-engine\").on(\"click\", handleOpenSearchEngine);\n}\n\n/**\n * Handle open search engine popin\n * @param evt\n */\nfunction handleOpenSearchEngine(evt: JQuery.Event) {\n    openPopin($$(\".popin-search-engine\"));\n}","import * as $$ from \"jquery-selector-cache\";\nimport \"mdn-polyfills/String.prototype.startsWith\";\nimport \"devbridge-autocomplete\";\nimport {Template} from \"./Template\";\nimport {getUrlVar} from \"orxapi.tools.url\";\n\n/**\n * Initialize the autocomplete plugin\n */\nexport function initAutocomplete() {\n    // Exit if the page don't have .input-autocomplete\n    if (!$$(\".input-autocomplete\").length) {\n        return;\n    }\n\n    $$(\".input-autocomplete\").each((index: number, elem: HTMLElement) => {\n        const input = $(elem);\n        const resultAutocomplete = getResultContainer(input);\n        const inputLookup = input.data(\"lookup\");\n        let options = input.data(\"options\");\n        if (options && options.indexOf(\".\") !== -1) {\n            options = options.replace(/\\./g, \"$\");\n        }\n        if (input.data(\"multiChoice\")) {\n            $$(\".selected-options\").on(\"click\", \".selected-option\", handleClickOption.bind(input));\n        }\n        let formatResult;\n        if (input.data(\"template\")) {\n            formatResult = (suggestion: AutocompleteSuggestion, currentValue: string): string => {\n                return new Template()[input.data(\"template\")](suggestion, currentValue);\n            };\n        }\n        if (!inputLookup) {\n            input.autocomplete({\n                serviceUrl: input.data(\"serviceUrl\"),\n                dataType: \"json\",\n                deferRequestBy: 150,\n                paramName: \"term\",\n                minChars: Number(input.data(\"minChars\")),\n                showNoSuggestionNotice: true,\n                noSuggestionNotice: input.data(\"noResultText\") || \"Aucun résultat trouvé\",\n                onSelect: handleOnSelect,\n                onSearchStart: handleOnSearchStart,\n                onSearchComplete: handleOnSearchComplete,\n                transformResult: handleTransformResult,\n                formatResult,\n                appendTo: resultAutocomplete\n            });\n\n        } else {\n            input.autocomplete({\n                lookup: JSON.parse(options),\n                showNoSuggestionNotice: true,\n                noSuggestionNotice: input.data(\"noResultText\") || \"Aucun résultat trouvé\",\n                minChars: Number(input.data(\"minChars\")),\n                onSelect: handleOnSelect,\n                lookupFilter: handleLookupFilter,\n                formatResult,\n                onSearchComplete: (query, suggestions) => {\n                    if (query.length === 0) {\n                        return suggestions.filter(s => s.data.code.split(\".\") === 1);\n                    }\n                },\n                onInvalidateSelection: () => cleanAutoCompleteInput(input),\n                appendTo: resultAutocomplete\n            });\n\n            input.parents(\".cpt-search-autocomplete\").on(\"click\",\".autocomplete-no-suggestion\", () => {\n                input.autocomplete().hide();\n                input.val(\"\");\n                cleanAutoCompleteInput(input);\n            });\n        }\n\n        input.siblings(\".btn-autocomplete-clean\").on(\"click\", () => {\n            input.val(\"\");\n            cleanAutoCompleteInput(input);\n        });\n        const destination =  input.parents(\".type-search.selected\")\n        .find(\".destination\");\n        if (destination && destination.find(\"input\").attr(\"id\") === input.attr(\"id\")) {\n            const subDestiInput = destination.parents(\".type-search.selected\").find(\".sub-destination\").find(\"input\");\n            const desti = getUrlVar()[\"s_c.DESSEJ2\"];\n            if (desti && desti !== \"\") {\n                updateSubDestinationField(destination.prev(\".elem-select-choosen\").find(\"select\"), subDestiInput);\n            }\n        }\n    });\n\n    // Fix autocomplete off\n    $$(\".input-autocomplete\").attr(\"autocomplete\", \"off\");\n}\n\n/**\n * Clean the value of the autocomplete\n * @param {JQuery} autocomplete\n */\nfunction cleanAutoCompleteInput(autocomplete: JQuery) {\n    $(autocomplete.data(\"target\")).val(\"\");\n    const destination = autocomplete.parent().parent();\n    if (destination.hasClass(\"destination\")) {\n        const subDestiInput = destination.parents(\".type-search.selected\").find(\".sub-destination\").find(\"input\");\n        subDestiInput.val(\"\");\n        subDestiInput.attr(\"disabled\", \"disabled\");\n        subDestiInput.next(\"i\").addClass(\"disabled\");\n    }\n}\n\n/**\n * Callback function called before Ajax request. \"this\" is bound to input element.\n */\nfunction handleOnSearchStart(params) {\n    const input = $(this);\n    if (input.data(\"multiChoice\") && input.data(\"multiParams\")) {\n        Object.assign(params, getMultiChoiceParams(input));\n    }\n    $(this).addClass(\"autocomplete-process\");\n}\n\n/**\n * Callback function called after Ajax response is processed. \"this\" is bound to input.\n */\nfunction handleOnSearchComplete() {\n    $(this).removeClass(\"autocomplete-process\");\n}\n\n/**\n * Callback function invoked when user selects suggestion from the list for autocomplete type lookup\n * @param value The destructuring parameter\n * @param data The destructuring parameter\n */\nfunction handleOnSelect({value, data}: AutocompleteSuggestion) {\n    const input = $(this);\n    const target = $(input.data(\"target\"));\n    let alreadySelectedOptions = \"\";\n    $$(\".selected-options\").children().toArray().forEach((s) => {\n        alreadySelectedOptions += s.innerHTML + \",\";\n    });\n    if (input.data(\"multiChoice\")) {\n        input.trigger(\"selecting-concepts\");\n        input.val(\"\");\n        const newSelectedOptions = value;\n        target.val(alreadySelectedOptions + newSelectedOptions);\n        const val = String(newSelectedOptions);\n        if (val) {\n            val.split(\",\").forEach((v) => $$(\".selected-options\").append(\n                `<div class='selected-option' data-value=\"${v}\">${v}</div>`\n            ));\n        }\n    } else if (input.data(\"autoSelect\")) {\n        target.val(data.code);\n        input.trigger(\"auto-select\");\n        input.val(\"\");\n        target.val(\"\");\n    } else if (data.code.length > 0 && data.code.indexOf(\"$\") !== -1) {\n        const subDestination = input.parents(\".type-search.selected\")\n        .find(\".sub-destination select\");\n        target.val(data.code.replace(/\\$/g, \".\"));\n        subDestination.removeAttr(\"disabled\");\n        subDestination.empty();\n        subDestination.append(`<option value=\"\">Indifférent</option>`);\n        subDestination.append(`<option value='${data.code.replace(/\\$/g, \".\")}' selected/>`);\n    } else {\n        if (data.code.length > 0) {\n            target.val(data.code.replace(/\\$/g, \".\"));\n            target.removeAttr(\"disabled\");\n        } else {\n            input.val(\"\");\n        }\n    }\n\n    const destination =  input.parents(\".type-search.selected\")\n    .find(\".destination\");\n    if (destination) {\n        const subDestiInput = destination.parents(\".col-12\").next().find(\".sub-destination\").find(\"input\");\n        updateSubDestinationField(destination.prev(\".elem-select-choosen\").find(\"select\"), subDestiInput);\n    }\n\n}\n\n/**\n * updateSubDestinationField for autocomplete.\n * @param changedSelect\n * @param subDestiInput\n */\nfunction updateSubDestinationField(changedSelect: JQuery, subDestiInput: JQuery) {\n    const action = changedSelect.attr(\"action\");\n    if (!action) {\n        return;\n    }\n    const desti = getUrlVar()[\"s_c.DESSEJ2\"];\n    const subDestinations = changedSelect.parents(\".type-search.selected\").data(\"subdestination\");\n    const JSONSubDestinations = JSON.stringify(subDestinations);\n    const destinationCode = changedSelect.val();\n    if (destinationCode !== \"\") {\n        $.ajax({\n            url: action,\n            method: \"POST\",\n            contentType: \"application/json\",\n            type: \"json\",\n            async: false,\n            data: JSON.stringify({destinationCode, subDestinations: JSONSubDestinations}),\n        }).done(data => {\n\n            const jsonData = JSON.parse(data);\n            if (jsonData[0]) {\n                let seletedValue = \"\";\n                let selectedCode = \"\";\n                const jsonObj = [];\n                $.each(jsonData, (key, entry) => {\n                    const item = {\n                        data: {},\n                        value: \"\"\n                    };\n                    item.data = {\"label\": entry.value, \"code\": entry.code.replace(/\\./g, \"$\")};\n                    item.value = entry.value;\n                    jsonObj.push(item);\n                    if (desti === entry.code) {\n                        selectedCode = entry.code;\n                        seletedValue = entry.value;\n                    }\n                });\n\n                subDestiInput.removeAttr(\"disabled\");\n                subDestiInput.data(\"options\", JSON.stringify(jsonObj));\n                subDestiInput.next(\"i\").removeClass(\"disabled\");\n\n                if (seletedValue !== \"\") {\n                    subDestiInput.val(seletedValue);\n                } else {\n                    subDestiInput.autocomplete({\n                        lookup: jsonObj,\n                        showNoSuggestionNotice: true,\n                        noSuggestionNotice: subDestiInput.data(\"noResultText\") || \"Aucun résultat trouvé\",\n                        minChars: Number(subDestiInput.data(\"minChars\")),\n                        onSelect: handleOnSelect,\n                        lookupFilter: handleLookupFilter,\n                        onSearchComplete: (query, suggestions) => {\n                            if (query.length === 0) {\n                                return suggestions.map(s => s.data.code.replace(/\\$/g, \".\"));\n                            }\n                        },\n                        onInvalidateSelection: () => cleanAutoCompleteInput(subDestiInput),\n                        appendTo: getResultContainer(subDestiInput)\n                    });\n                }\n                subDestiInput.siblings(\".btn-autocomplete-clean\").on(\"click\", () => {\n                    subDestiInput.val(\"\");\n                    cleanAutoCompleteInput(subDestiInput);\n                    const subDestination = subDestiInput.parents(\".type-search.selected\")\n                    .find(\".sub-destination select\");\n                    subDestination.attr(\"disabled\", \"disabled\");\n                });\n\n            }\n        });\n    }\n\n}\n/**\n * handleClickOption\n * @param evt\n */\nfunction handleClickOption(evt: JQuery.Event) {\n    const option = $(evt.currentTarget);\n    const target = $($(this).data(\"target\"));\n    let finalValue = String(target.val()).replace(option.data(\"value\"), \"\").replace(\",,\", \",\");\n    if (finalValue.endsWith(\",\")) {\n        finalValue = finalValue.substring(0, finalValue.length - 1);\n    }\n    if (finalValue.startsWith(\",\")) {\n        finalValue = finalValue.substring(1, finalValue.length);\n    }\n    if (finalValue === \",\") {\n        finalValue = \"\";\n    }\n    target.val(finalValue);\n    option.remove();\n}\n\n/**\n * getMultiChoiceParams\n * @param input\n */\nfunction getMultiChoiceParams(input: JQuery) {\n    const target = $(input.data(\"target\"));\n    if (input.data(\"multiParams\")) {\n        const params = input.data(\"multiParams\");\n        return {[params]: target.val()};\n    }\n}\n\n/**\n * Search the right container of result\n * @param {JQuery} input The input of autocomplete\n */\nfunction getResultContainer(input: JQuery): JQuery {\n    const result = input.siblings(\".result-autocomplete\");\n    return result.length ? result : input.parents(\".autocomplete-result-parent\").find(\".result-autocomplete\");\n}\n\n/**\n * Format search with Regexp\n * @param {string} pattern\n * @return {string}\n */\nfunction formatRegexp(pattern: string): string {\n    return pattern\n        .replace(/[eéèêëEÉÈÊË]/gi, \"[eéèêëEÉÈÊË]\")\n        .replace(/[aàâäAÀÁÂÃÄÅÆ]/gi, \"[aàâäAÀÁÂÃÄÅÆ]\")\n        .replace(/[cçC]/gi, \"[cçC]\")\n        .replace(/[iïîIÌÍÎÏ]/gi, \"[iïîIÌÍÎÏ]\")\n        .replace(/[oôöÒÓÔÕÖ]/gi, \"[oôöÒÓÔÕÖ]\")\n        .replace(/[uüûUÜÛÙÚ]/gi, \"[uüûUÜÛÙÚ]\")\n        .replace(/[yYÿ^yÝ]/gi, \"[yYÿ^yÝ]\");\n}\n\n/**\n * Lookup filter\n * @param {AutocompleteSuggestion} suggestion\n * @param {string} query\n * @param {string} queryLowercase\n * @return {RegExpMatchArray}\n */\nfunction handleLookupFilter(suggestion: AutocompleteSuggestion, query: string, queryLowercase: string) {\n\n    if (!query || query.length === 0) {\n        let code = suggestion.data.code;\n        return code.length === 0 || code.split(\".\").length === 1;\n    }\n\n    // Make strong the suggestion value\n    const escapeRegExChars = val => val.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\");\n    let pattern = \"(\" + escapeRegExChars(queryLowercase) + \")\";\n\n    // Edit characters for matching the search\n    pattern = formatRegexp(pattern);\n\n    const matcher = new RegExp(pattern);\n    return suggestion.value.toLowerCase().match(matcher);\n}\n\n/**\n * Called after the result of the query is ready. Converts the result into response.suggestions format.\n * @param response\n * @returns {{suggestions: any}}\n */\nfunction handleTransformResult(response): AutocompleteResponse {\n    return {\n        suggestions: response.map((dataItem: any) => {\n            if (dataItem.label) {\n                return {value: dataItem.label, data: dataItem};\n            } else {\n                return {value: dataItem};\n            }\n        })\n    };\n}","export class Template {\n    /**\n     * The string template for flight data\n     * @param {string} value The destructuring parameter\n     * @param current\n     * @param {any} data The destructuring parameter\n     * @return {string}\n     */\n    public customResponse({value}: AutocompleteSuggestion, current): string {\n        return `\n            <div class=\"row\">\n\t\t      <div class=\"col-8 col-lg-10 key-word\">\n\t\t\t      <span class=\"primary\">${value}</span>\n\t\t      </div>\n\t        </div>\n              `;\n    }\n\n    /**\n     * Function to format suggestion entry inside suggestions container.\n     * @param {string} value\n     * @param {string} currentValue\n     * @return {string} The search value\n     */\n    public searchValue(value: string, currentValue: string): string {\n        // Do not replace anything if there current value is empty\n        if (!currentValue) {\n            return value;\n        }\n\n        // Make strong the suggestion value\n        const escapeRegExChars = val => val.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\");\n        const pattern = \"(\" + escapeRegExChars(currentValue) + \")\";\n\n        return value\n            .replace(new RegExp(pattern, \"gi\"), \"<strong>$1<\\/strong>\")\n            .replace(/&/g, \"&amp;\")\n            .replace(/</g, \"&lt;\")\n            .replace(/>/g, \"&gt;\")\n            .replace(/\"/g, \"&quot;\")\n            .replace(/&lt;(\\/?strong)&gt;/g, \"<$1>\");\n    }\n\n    /**\n     * The string template for flight data\n     * @param {string} value The destructuring parameter\n     * @param {any} data The destructuring parameter\n     * @param {string} currentValue The search value\n     * @return {string} The flight template\n     */\n    public flight({value, data}: AutocompleteSuggestion, currentValue: string): string {\n        const strongify = this.searchValue(value, currentValue);\n        const {countryLabel, code} = data;\n\n        return `\n                    <span>${strongify}</span>, <span class=\"\">${countryLabel}</span>\n                    <span class=\"code\">${code}</span>\n                `;\n    }\n\n    /**\n     * The string template for hotel data\n     * @param {string} value The destructuring parameter\n     * @param {any} data The destructuring parameter\n     * @param {string} currentValue The search value\n     * @returns {string} The hotel template\n     */\n    public hotel({value, data}: AutocompleteSuggestion, currentValue: string): string {\n        const strongify = this.searchValue(value, currentValue);\n        const {countryLabel} = data;\n\n        return `\n                    <span>${strongify}</span>, <span class=\"\">${countryLabel}</span>\n                `;\n    }\n\n    /**\n     * The string template for destination data\n     * @param {string} value The destructuring parameter\n     * @param {any} data The destructuring parameter\n     * @param {string} currentValue The search value\n     * @returns {string} The destination template\n     */\n    public destination({value, data}: AutocompleteSuggestion, currentValue: string): string {\n        const strongify = this.searchValue(value, currentValue);\n        const {code, countryLevel} = data;\n\n        return `<span class=\"level-${countryLevel}\" data-code=\"${code}\">${strongify}</span>`;\n    }\n}","import * as $$ from \"jquery-selector-cache\";\n\nlet panelContentHeight,\n    subPanelContentHeight;\n\nconst body = $$(\"body\"),\n      panelLink = $$(\".panel-link\"),\n      menuContent = $$(\".flex-container-start\"),\n      overlayMenu = $$(\".overlay-menu-full\"),\n      scrollBlock = $$(\".scroll-block\"),\n      subScrollBlock = $$(\".sub-scroll-block\");\n\n/**\n * Initialize the header menu\n */\nexport function initHeaderMenu() {\n    menuCalculator();\n}\n\nexport function menuCalculator() {\n\n    if (!body.hasClass(\"menu-activated\")) {\n        return;\n    }\n\n    const windowHeight = $$(window).height(),\n          headerHeight = $$(\".cpt-header\").outerHeight(),\n          headerAndPanelHeight = headerHeight + panelContentHeight,\n          windowHeightMenu = windowHeight - headerHeight,\n          isSmallerToWindow = (windowHeight <= headerAndPanelHeight);\n\n    scrollBlock.css({ height: isSmallerToWindow ? windowHeightMenu : \"auto\" });\n}\n\nexport function subMenuCalculator() {\n\n    if (!body.hasClass(\"menu-activated\")) {\n        return;\n    }\n\n    const windowHeight = $$(window).height(),\n          headerHeight = $$(\".cpt-header\").outerHeight(),\n          headerAndSubPanelHeight = headerHeight + subPanelContentHeight,\n          windowHeightMenu = windowHeight - headerHeight,\n          isSmallerSubToWindow = (windowHeight <= headerAndSubPanelHeight);\n\n    subScrollBlock.css({\n        height: isSmallerSubToWindow ? windowHeightMenu : \"auto\"\n    });\n\n}\n\nexport function handleMenuBurger() {\n    menuContent.toggleClass(\"active\");\n    panelContentHeight = $$(\".cpt-panel-menu-content\").height();\n\n    overlayMenu.toggleClass(\"hidden\");\n    panelLink.removeClass(\"selected\");\n    body.toggleClass(\"menu-activated\");\n\n    menuCalculator();\n}\n\nexport function handleBackTitle(evt) {\n    const target = $(evt.currentTarget);\n\n    target.parents(\".panel-link\").toggleClass(\"selected\");\n}\n\nexport function handlePanelLink(evt) {\n    const target = $(evt.currentTarget);\n    subPanelContentHeight = target.next(\".sub-panel\").height();\n\n    $$(\".panel-link\").removeClass(\"selected\");\n    target.parents(\".panel-link\").toggleClass(\"selected\");\n\n    subMenuCalculator();\n}\n\nexport function handleOverlayMenu() {\n    panelLink.removeClass(\"selected\");\n    menuContent.removeClass(\"active\");\n    overlayMenu.addClass(\"hidden\");\n    body.removeClass(\"menu-activated\");\n}","import * as $$ from \"jquery-selector-cache\";\nimport \"../../_core/scripts/libs/vendor/chosen.jquery\";\n\nexport function initSelectChoosen() {\n    // Exist when component don't exist\n    if (!$$(\".elem-select-choosen\").length) {\n        return;\n    }\n    // //  $$(\".chosen-select\").chosen({max_selected_options: 5});\n    removeSameOptionValue();\n    $$(\".chosen-select\").chosen({enable_escape_special_char: true});\n    $$(\".chosen-select\").on(\"change\", (evt: JQuery.ClickEvent<HTMLElement>) => updateChosen($(evt.currentTarget)));\n    updateSubDestinationField($$(\".chosen-select\"));\n}\n\nfunction updateChosen(changedSelect: JQuery) {\n    const chosenValue = changedSelect.next(\".chosen-container\").children(\".chosen-single\").text().trim();\n    // update a input text autocomplete with selected value\n    changedSelect.next(\".chosen-container\").find(\"input\").val(chosenValue);\n    // update a value criteria selected outsad popin (@@change pop)\n    changedSelect.parents(\".cpt-criterion-popin\").siblings(\".criterion-wrapper\").find(\".criterion-value span\").text(chosenValue);\n    if (changedSelect.data(\"destination\") === \"destination\") {\n        updateSubDestinationField(changedSelect);\n    }\n}\n\nfunction removeSameOptionValue() {\n    $$(\".chosen-select option\").each((idx, elmt) => {\n        const sameValue = $(elmt).siblings(\"[value=\\\"\" + $(elmt).val() + \"\\\"]\");\n        if (sameValue.length) {\n            sameValue.remove();\n        }\n    });\n    $$(\".chosen-select\").trigger(\"chosen:updated\");\n}\n\nfunction updateSubDestinationField(changedSelect: JQuery) {\n    const action = changedSelect.attr(\"action\");\n    if (!action) {\n        return;\n    }\n\n    const subDestinations = changedSelect.parents(\".type-search.selected\").data(\"subdestination\");\n    const JSONSubDestinations = JSON.stringify(subDestinations);\n    const destinationCode = changedSelect.val();\n    $.ajax({\n        url: action,\n        method: \"POST\",\n        contentType: \"application/json\",\n        type: \"json\",\n        data: JSON.stringify({destinationCode, subDestinations: JSONSubDestinations}),\n    }).done(data => {\n        const jsonData = JSON.parse(data);\n        const subDestination = changedSelect.parents(\".type-search.selected\")\n            .find(\".sub-destination select\");\n        subDestination.empty();\n        subDestination.append(`<option value=\"${destinationCode}\">Indifférent</option>`);\n        if (jsonData[0]) {\n            subDestination.removeAttr(\"disabled\");\n            const firstValue = jsonData[0].code;\n            const firstLevel = firstValue.split(\".\").length;\n            $.each(jsonData, (key, entry) => {\n                const currentLevel = entry.code.split(\".\").length;\n                const name = subDestination.attr(\"name\");\n                const regex = new RegExp(name + \"=\" + entry.code + \"[^.]\");\n                const selected = (regex.exec(window.location.search)) != null;\n                if (currentLevel <= firstLevel) {\n                    subDestination.append(`<option value='${entry.code}' ${selected ? \"selected\" : \"\"}>${entry.value}</option>`);\n                } else {\n                    subDestination.append(`<option class=\"level-1\" value='${entry.code}' ${selected ? \"selected\" : \"\"}>${entry.value}</option>`);\n                }\n            });\n        } else {\n            subDestination.attr(\"disabled\", \"disabled\");\n        }\n        subDestination.trigger(\"chosen:updated\");\n    });\n}\n","import * as $$ from \"jquery-selector-cache\";\nimport {breakpointsConfig} from \"../../_core/scripts/specific/config/responsive\";\nimport {revalidateLazyImage} from \"../../_core/scripts/specific/layout/lazyload\";\nimport {initPushing} from \"../../components/pushing/pushing\";\n\n/**\n * Initialize the component\n */\nexport function initPushings() {\n    // Exit when component don't exist\n    if (!$$(\".pushing-slider-mode\").length) {\n        return;\n    }\n\n    activeSliderMode($$(\".pushing-slider-mode\"));\n    initPushing();\n}\n\n/**\n * Activated the slider for the pushing\n * @param element\n */\nfunction activeSliderMode(element: JQuery<HTMLElement>) {\n    element.slick({\n        dots: false,\n        rows: 0,\n        infinite: true,\n        arrows: false,\n        variableWidth: true,\n        slidesToShow: 1,\n        slidesToScroll: 1,\n        centerPadding: \"0\",\n        responsive: [\n            {\n                breakpoint: breakpointsConfig.xl.max,\n                settings: \"unslick\"\n            },\n            {\n                breakpoint: breakpointsConfig.sm.max,\n                settings: {\n                    dots: true\n                }\n            }\n        ]\n    });\n\n    element.on(\"afterChange\", revalidateLazyImage);\n}","import * as $$ from \"jquery-selector-cache\";\nimport {fetchTripAdvisorData} from \"../tripadvisor/tripadvisor\";\n\nexport function initPushing() {\n    const resultItems = $$(\".page-landing\").find(\".cpt-pushing\");\n    resultItems.each(function () {\n        fetchTripAdvisorData($$(this));\n    });\n}","type TripadvisorDataResponse = {\n    numReviews: string;\n    ratingImageURL: string;\n    rating: string;\n}\n\n/**\n * Fetch the tripadvisor data\n * @param element The container element of the tripadvisor component\n */\nfunction fetchTripAdvisorData(element: JQuery<HTMLElement>) {\n    const hotelId = element.data(\"hotelId\");\n    const enableTripAdvisor = element.data(\"enableTripadvisor\");\n\n    if (!enableTripAdvisor || hotelId === undefined || !Number.isInteger(hotelId)) {\n        return;\n    }\n\n    $.ajax({\n        method: \"GET\",\n        url: `/ajax/tripadvisor/${hotelId}/tripAdvisorData`,\n        dataType: \"json\",\n        contentType: \"application/json\"\n    }).done((res: TripadvisorDataResponse) => {\n        const hasValidResponse = res && res.numReviews !== undefined && res.numReviews !== \"0\" && res.ratingImageURL !== undefined && res.ratingImageURL !== null && res.rating !== undefined && Number(res.rating) >= 4;\n        const tripadvisorElement = element.find(\".cpt-tripadvisor\");\n\n        // Exit when the response is empty or the element does not exist\n        if (!hasValidResponse || !tripadvisorElement.length) {\n            return;\n        }\n\n        const template = getTemplate(res);\n        tripadvisorElement.append(template);\n    });\n}\n\n/**\n * Returns the HTML template string\n * @param numReviews The number of reviews\n * @param ratingImageURL The rating image URL\n */\nfunction getTemplate({numReviews, ratingImageURL}: TripadvisorDataResponse): string {\n    return `\n        <img src=\"${ratingImageURL}\" alt=\"\" class=\"tripadvisor-img\">\n        <span class=\"tripadvisor-label\">${numReviews} avis</span>\n    `;\n}\n\nexport {\n    fetchTripAdvisorData,\n};\n","import * as $$ from \"jquery-selector-cache\";\nimport {handleToScroll} from \"orxapi.tools.toscroll\";\n\nexport function initToScrollTop() {\n    if (!$$(\"#arrowTopWrap\").length) {\n        return;\n    }\n\n    $$(\"#arrowTopWrap\").on(\"click\", handleToScroll);\n\n    $(window).on(\"scroll\", handleArrowTopOnScroll);\n}\n\nfunction handleArrowTopOnScroll() {\n    const y = window.scrollY;\n    $$(\"#arrowTopWrap\").toggleClass(\"hidden\", y < 100);\n}","import * as $$ from \"jquery-selector-cache\";\nimport * as Cookies from \"js-cookie\";\n\nexport function initTravelPlannerBox() {\n    if (!$$(\".cpt-travel-planner-box\").length) {\n        return;\n    }\n    const locationQuery: any = {};\n    if (Cookies.get(\"havas-user-location\")) {\n        const userLocation = JSON.parse(Cookies.get(\"havas-user-location\"));\n        locationQuery.latitude = userLocation.latitude;\n        locationQuery.longitude = userLocation.longitude;\n    }\n    $$(\".cpt-travel-planner-box\")\n        .filter((i, element) => $(element).hasClass(\"async\"))\n        .each((i, element) => {\n            $.ajax(\"/ajax/travelPlanner/box?\" + $(element).data(\"query\"), {data: locationQuery})\n                .done(response => $(element).append(response));\n        });\n}\n\nexport function handleOpenTravelPlannerBox(evt) {\n    $(evt.currentTarget).parents(\".cpt-travel-planner-box\").toggleClass(\"active\");\n}\n","import * as $$ from \"jquery-selector-cache\";\n\n/**\n * Initilaize expert item\n */\nexport function initExpertItem() {\n    if (!$$(\".cpt-expert-item\").length) {\n        return;\n    }\n\n    $$(\".cpt-expert-item\")\n        .filter((i, element) => $(element).data(\"travelPlannerId\"))\n        .each((i, element) => {\n            const expertItem = $(element);\n            $.ajax(\"/ajax/travelPlanner/expert/\" + expertItem.data(\"travelPlannerId\"))\n                .done(response => {\n                    expertItem.find(\".is-loading\").remove();\n                    expertItem.find(\".row\").prepend(response);\n                });\n        });\n}","import * as $$ from \"jquery-selector-cache\";\n\n/**\n * init thematic\n */\nexport function initPushingThematicDiscover() {\n    if (!$$(\".cpt-pushing-thematic-discover\").length) {\n        return;\n    }\n\n    $$(\".cpt-pushing-thematic-discover .travel-planner\")\n        .filter((i, element) => $(element).data(\"travelPlannerId\"))\n        .each((i, element) => {\n            const container = $(element);\n            $.ajax(\"/ajax/travelPlanner/thematic/\" + container.data(\"travelPlannerId\"))\n                .done(response => container.append(response));\n        });\n}","import * as $$ from \"jquery-selector-cache\";\n\nexport function initTravelIdentity() {\n    if (!$$(\".cpt-traveler-identity\").length) {\n        return;\n    }\n\n    $$(\".cpt-traveler-identity\")\n        .filter((i, element) => $(element).data(\"query\"))\n        .each((i, element) => $.ajax(\"/ajax/travelPlanner/identity?\" + $(element).data(\"query\"))\n            .done(response => $(element).append(response)));\n}\n","import * as $$ from \"jquery-selector-cache\";\nimport {initSliderTipsPopin} from \"../sliderTipsPopin/sliderTipsPopin\";\nimport {handleToScroll} from \"orxapi.tools.toscroll\";\n\n/**\n * Initialize the slider Tips Popin\n */\nexport function initListDiaporama() {\n    // Exit when component don't exist\n    if (!$$(\".cpt-list-diaporama\").length) {\n        return;\n    }\n\n    $$(\".cpt-list-diaporama\").on(\"click\", \".pics\", handleOpenPopinPics);\n    $$(\".cpt-list-diaporama\").on(\"click\", \".travel-pics\", handleOpenPopinPicsTraveler);\n    $$(\".cpt-popin\").on(\"click\", \".popin-close\", handleClosePopin);\n\n    initToScrollAnchor();\n}\n\nfunction initToScrollAnchor() {\n    if (!$$(\".video-link\").length) {\n        return;\n    }\n\n    $$(\".video-link\").on(\"click.toggleLink\", handleToScroll);\n}\n\nfunction handleOpenPopinPics() {\n    $$(\".popin-pics--default\").toggleClass(\"d-none\");\n    initSliderTipsPopin();\n    $$(\"body\").toggleClass(\"popin-is-open\");\n\n}\n\nfunction handleOpenPopinPicsTraveler() {\n    $$(\".popin-pics--traveler\").toggleClass(\"d-none\");\n    initSliderTipsPopin();\n    $$(\"body\").toggleClass(\"popin-is-open\");\n}\n\nfunction handleClosePopin() {\n    $$(\".slider-tips-popin\").slick(\"unslick\");\n}","import \"slick-carousel\";\nimport * as $$ from \"jquery-selector-cache\";\n\n/**\n * Initialize the slider Tips Popin\n */\nexport function initSliderTipsPopin() {\n    // Exit when component don't exist\n    if (!$$(\".slider-tips-popin\").length) {\n        return;\n    }\n\n    $$(\".slider-tips-popin\").slick({\n        dots: false,\n        infinite: true,\n        arrows: true,\n        speed: 500,\n        responsive: [\n            {\n                breakpoint: 600,\n                settings: {\n                    arrows: false\n                }\n            },\n            {\n                breakpoint: 480,\n                settings: {\n                    arrows: false\n                }\n            }\n        ]\n    });\n\n}","import \"slick-carousel\";\nimport { diaporamaConfig } from \"./diaporamaConfig\";\nimport {revalidateLazyImage} from \"../../_core/scripts/specific/layout/lazyload\";\n\n/**\n * Initialize the component\n */\nexport function initDiaporama(selector: string, diaporamaConfigKey?: string) {\n    if (!selector) {\n        selector = \".cpt-diaporama\";\n    }\n    if (!diaporamaConfigKey) {\n        diaporamaConfigKey = \"default\";\n    }\n\n    // Exit when component don't exist\n    if (!$(selector).length) {\n        return;\n    }\n    initSlick(diaporamaConfigKey, selector);\n}\n\n/**\n * Initialize the slick plug-in\n * @param config\n * @param dataNameSelector\n */\nfunction initSlick(config: string, dataNameSelector: string) {\n    const slider = $(dataNameSelector).slick(diaporamaConfig[config]);\n    // @ts-ignore\n    slider.on(\"afterChange\", revalidateLazyImage);\n    // @ts-ignore\n    slider.on(\"lazyLoadError\", (_, slick, imageItem, imageSource)=> {\n        $(imageItem).attr(\"src\", imageSource);\n    });\n    revalidateLazyImage();\n}\n\n/**\n * Manually refresh of slick\n * @param {string} diaporamaSelector The selector of diaporama\n */\nexport function redrawDiaporama(diaporamaSelector: string) {\n    $(diaporamaSelector).slick(\"refresh\");\n}\n\n/**\n * Manually goTo of slick\n * @param {string} diaporamaSelector The selector of diaporama\n * @param {number} index The index of diaporama\n */\nexport function goToDiaporama(diaporamaSelector: string, index: number) {\n    $(diaporamaSelector).slick(\"slickGoTo\", index);\n}\n\n/**\n * Check if diaporama already exist\n * @param {string} diaporamaSelector The selector of diaporama\n */\nexport function getDiaporama(diaporamaSelector: string) {\n    return $(diaporamaSelector).hasClass(\"slick-slider\");\n}\n\n/**\n * Get the current slide\n * @param {string} diaporamaSelector The selector of diaporama\n */\nexport function getCurrentSlide(diaporamaSelector: string): number {\n    return $(diaporamaSelector).slick(\"slickCurrentSlide\");\n}","import {breakpointsConfig} from \"../../_core/scripts/specific/config/responsive\";\nimport {getSliderIcon} from \"../../elements/icon/icon\";\n\ninterface IDiaporamaConfig<T> {\n    default: T;\n    serp: T;\n    package: T;\n    cross: T;\n    multiple: T;\n    flashPackageImage: T;\n    flashPackageTxt: T;\n    picto: T;\n    pushingSlider: T;\n}\n\n/**\n * Map of Slick options configuration\n * @type {IDiaporamaConfig<JQuerySlickOptions>}\n */\nexport const diaporamaConfig: IDiaporamaConfig<JQuerySlickOptions> = {\n    // Config default for slider\n    default: {\n        rows: 0,\n        arrows: true,\n        dots: false,\n        slidesToShow: 1,\n        infinite: true,\n        autoplay: true,\n        autoplaySpeed: 5000,\n        slidesToScroll: 1,\n        prevArrow: getSliderIcon(\"arrow-square arrow-square-slick-prev un-clickable\", \"\", \"v\"),\n        nextArrow: getSliderIcon(\"arrow-square arrow-square-slick-next un-clickable\", \"\", \"v\" ),\n        responsive: [\n            {\n                breakpoint: breakpointsConfig.md.max,\n                settings: {\n                    slidesToShow: 1,\n                    centerMode: false,\n                    centerPadding: \"0\",\n                    arrows: false,\n                    dots: true\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.sm.max,\n                settings: {\n                    slidesToShow: 1,\n                    centerMode: false,\n                    centerPadding: \"0\",\n                    arrows: false,\n                    dots: true\n                }\n            }\n        ]\n    },\n    serp: {\n        rows: 0,\n        dots: true,\n        arrows: true,\n        infinite: true,\n        autoplay: false,\n        slidesToScroll: 1,\n        slidesToShow: 1,\n        prevArrow: getSliderIcon(\"arrow-square arrow-square-slick-prev un-clickable\", \"\", \">\"),\n        nextArrow: getSliderIcon(\"arrow-square arrow-square-slick-next un-clickable\", \"\", \">\"),\n        responsive: [\n            {\n                breakpoint: breakpointsConfig.md.max,\n                settings: {\n                    arrows: false\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.sm.max,\n                settings: {\n                    arrows: false\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.xs.max,\n                settings: {\n                    arrows: false\n                }\n            }\n        ]\n    },\n    package: {\n        rows: 0,\n        accessibility: false,\n        slidesToShow: 1,\n        slidesToScroll: 1,\n        arrows: true,\n        prevArrow: getSliderIcon(\"arrow-square arrow-square-slick-prev\", \"\", \"v\"),\n        nextArrow: getSliderIcon(\"arrow-square arrow-square-slick-next\", \"\", \"v\" ),\n        responsive: [\n            {\n                breakpoint: breakpointsConfig.sm.max,\n                settings: {\n                    arrows: true\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.xs.max,\n                settings: {\n                    arrows: true\n                }\n            }\n        ]\n    },\n    cross: {\n        slidesToShow: 1,\n        slidesToScroll: 1,\n        arrows: false,\n        dots: true,\n        centerMode: true,\n        responsive: [\n            {\n                breakpoint: breakpointsConfig.xl.max,\n                settings: \"unslick\"\n            },\n            {\n                breakpoint: breakpointsConfig.lg.max,\n                settings: \"unslick\"\n            },\n            {\n                breakpoint: breakpointsConfig.md.max,\n                settings: {\n                    centerPadding: \"192px\"\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.sm.max,\n                settings: {\n                    centerPadding: \"30px\"\n                }\n            }\n        ]\n    },\n    multiple: {\n        rows: 0,\n        prevArrow: getSliderIcon(\"arrow icon-prev-arrow\", \"\", \"A\"),\n        nextArrow: getSliderIcon(\"arrow icon-next-arrow\", \"\", \"A\" ),\n        responsive: [\n            {\n                breakpoint: breakpointsConfig.xl.max,\n                settings: {\n                    slidesToShow: 3,\n                    slidesToScroll: 3,\n                    arrows: true\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.lg.max,\n                settings: {\n                    slidesToShow: 3,\n                    slidesToScroll: 3,\n                    arrows: true\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.md.max,\n                settings: {\n                    slidesToShow: 3,\n                    slidesToScroll: 3,\n                    arrows: false,\n                    dots: true\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.sm.max,\n                settings: {\n                    slidesToShow: 2,\n                    slidesToScroll: 2,\n                    arrows: false,\n                    dots: true\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.xs.max,\n                settings: {\n                    slidesToShow: 2,\n                    slidesToScroll: 2,\n                    arrows: false,\n                    dots: true\n                }\n            }\n        ]\n    },\n    flashPackageImage: {\n        rows: 0,\n        slidesToShow: 1,\n        slidesToScroll: 1,\n        fade: true,\n        dots: false,\n        arrows: false,\n        asNavFor: \".slider-txt-room\"\n    },\n    flashPackageTxt: {\n        rows: 0,\n        slidesToShow: 1,\n        slidesToScroll: 1,\n        asNavFor: \".slider-img-room\",\n        dots: false,\n        arrows: true\n    },\n    picto: {\n        rows: 0,\n        dots: false,\n        prevArrow: getSliderIcon(\"arrow-circle arrow-circle-slick-prev un-clickable\", \"\", \"v\"),\n        nextArrow: getSliderIcon(\"arrow-circle arrow-circle-slick-next un-clickable\", \"\", \"v\"),\n        arrows: true,\n        infinite: false,\n        autoplay: false,\n        slidesToScroll: 1,\n        slidesToShow: 6,\n        responsive: [\n            {\n                breakpoint: breakpointsConfig.md.max,\n                settings: {\n                    slidesToShow: 4\n                }\n            },\n            {\n                breakpoint: 769,\n                settings: {\n                    dots: true,\n                    arrows: false,\n                    slidesToShow: 3,\n                    slidesToScroll: 3,\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.xs.max,\n                settings: {\n                    dots: true,\n                    arrows: false,\n                    slidesToShow: 2,\n                    slidesToScroll: 2\n                }\n            }\n        ]\n    },\n    pushingSlider: {\n        rows: 0,\n        dots: true,\n        arrows: true,\n        infinite: false,\n        autoplay: false,\n        slidesToScroll: 1,\n        slidesToShow: 1,\n        prevArrow: getSliderIcon(\"arrow-square arrow-square-slick-prev un-clickable\", \"\", \">\"),\n        nextArrow: getSliderIcon(\"arrow-square arrow-square-slick-next un-clickable\", \"\", \">\" ),\n        responsive: [\n            {\n                breakpoint: breakpointsConfig.md.max,\n                settings: {\n                    dots: false\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.sm.max,\n                settings: {\n                    dots: false\n                }\n            },\n            {\n                breakpoint: breakpointsConfig.xs.max,\n                settings: {\n                    dots: false\n                }\n            }\n        ]\n    },\n};\n","/**\n * Return the icon arrow button for Swiper\n * @param addClass The additional class for span element\n * @param addIconClass The additional class for icon\n * @param addDataIcon The additional data for icon\n * @returns {string} The string template for Swiper\n */\nexport function getSliderIcon(addClass: string = \"\", addIconClass: string = \"\", addDataIcon: string = \"\"): string {\n  return `<span class=\"${addClass}\"><i class=\"elem-ff-icon ${addIconClass}\" data-icon=\"${addDataIcon}\"></i></span>`;\n}\n","import * as $$ from \"jquery-selector-cache\";\n\n/**\n * Initialize the headerLinksList component\n */\nexport function initHeaderLinksList() {\n    // Exit when component don't exist\n    if (!$$(\".cpt-header-links-list\").length) {\n        return;\n    }\n\n    // Open menu\n    $$(\".header-icons-wrap\").on(\"click\", \".icon-wrap.icon-menu\", handleOpenHeaderMenu);\n\n    // Close menu\n    $$(\".cpt-header-links-list\").on(\"click\", \".header-links-overlay\", handleCloseHeaderMenu);\n    $$(\".logo-and-icons-container\").on(\"click\", \".close-wrap\", handleCloseHeaderMenu);\n}\n\n/**\n * Handler click, open header menu\n * @param {JQuery.Event} evt\n */\nexport function handleOpenHeaderMenu(evt: JQuery.Event) {\n    $$(\".cpt-header-links-list\").removeClass(\"d-none\");\n    $$(\"body\").addClass(\"no-scroll\");\n    $$(\".close-wrap\").removeClass(\"d-none\");\n    $$(\".icon-wrap.icon-menu\").addClass(\"d-none\");\n\n}\n\n/**\n * Handler click, close header menu\n * @param {JQuery.Event} evt\n */\nexport function handleCloseHeaderMenu(evt: JQuery.Event) {\n    $$(\".cpt-header-links-list\").addClass(\"d-none\");\n    $$(\"body\").removeClass(\"no-scroll\");\n    $$(\".close-wrap\").addClass(\"d-none\");\n    $$(\".icon-wrap.icon-menu\").removeClass(\"d-none\");\n    $$(\".cpt-header-sub-module\").each(function () {\n        $(this).addClass(\"d-none\");\n    });\n}","import * as $$ from \"jquery-selector-cache\";\nimport {get} from \"lodash\";\nimport {initApp} from \"./app\";\n\n/**\n * Initialize the component\n */\nexport function initSearchEngineComponent() {\n    const searchEngine = $$(\"#searchEngine\");\n    if (!searchEngine.length) {\n        return;\n    }\n    console.log(\"loading search engine\");\n    const searchEngineTexts = get((window as any).orxapi, \"model.searchEngineTexts.text\");\n    initApp(document.getElementById(\"searchEngine\"), searchEngine.data(\"jsonUrl\"), searchEngineTexts);\n\n    $$(\"#btn-close-popin\").on(\"click\", closeSearchEngine);\n    $(\"body\").on(\"click\", (evt: JQuery.TriggeredEvent) => {\n        if ($(evt.target).parents(\".cpt-se-date-search-item\").length === 0) {\n            dispatchSubmitEvent($(\".cpt-se-date-search-item\")[0], \"cptSeDateSearchItem:close\");\n        }\n    });\n}\n\n\n/**\n * send submit event to the form ref\n * @param element\n * @param eventType\n */\nfunction dispatchSubmitEvent(element: HTMLElement, eventType: string) {\n    if (element) {\n        let event;\n        if (typeof (Event) === \"function\") {\n            event = new Event(eventType);\n        } else { // fix IE\n            event = document.createEvent(\"Event\");\n            event.initEvent(eventType, true, true);\n        }\n        return element.dispatchEvent(event);\n    }\n}\n\n/**\n * Hide search Engine (mobile/tablet mode)\n */\nfunction closeSearchEngine() {\n    const wrapFullPopin = $(\".wrap-full-popin\");\n\n    if (!wrapFullPopin.length) {\n        return;\n    }\n\n    wrapFullPopin.toggleClass(\"is-open-search-engine\");\n    $(\"body\").toggleClass(\"modal-open\");\n}\n","import * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport {Provider} from \"mobx-react\";\nimport {each, keys} from \"lodash\";\nimport {SearchEngineStore} from \"./stores/api\";\nimport {getQueryString, getUrlVar} from \"orxapi.tools.url\";\nimport type {ISearchEngine, ISearchEngineTexts} from \"./@types/api\";\nimport {paramConfig} from \"./configs/param\";\nimport Layout from \"./components/Layout\";\nimport {urlParameters, valuesNormalizer} from \"./tools/formTools\";\nimport {IUrlParam} from \"orxapi.tools.url/dist/IUrl\";\nimport {isMobileDevice} from \"../../../_core/scripts/specific/layout/device\";\n\n/**\n * init react search engine inside root element\n * @param root\n * @param dataUrl url to retrieve the json\n * @param searchEngineTexts\n * @param callback\n */\nexport function initApp(root: HTMLElement, dataUrl: string, searchEngineTexts: ISearchEngineTexts, callback?: () => void) {\n    const isMobileParam = \"&isMobile=\" + isMobileDevice();\n    $.ajax({\n        url: dataUrl + isMobileParam,\n        dataType: \"json\"\n    }).done((response: ISearchEngine[]) => {\n        renderComponent(response, root, dataUrl, searchEngineTexts, callback);\n    });\n\n}\n\n/**\n * fill values from parameters\n * @param baseParameters\n * @param selectValues\n * @param selectedValues\n * @param searchEngineStore\n */\nfunction fillSelectedValuesFromParameters(baseParameters: IUrlParam, selectValues: (name: string, values: Array<{ label: string; code: string }>) => void, searchEngineStore: SearchEngineStore, selectedValues: {}) {\n    for (const parametersKey of Object.keys(baseParameters)) {\n        const params = baseParameters[parametersKey].split(urlParameters.or).map((item: string) => ({\n            label: \"\",\n            code: item !== \"undefined\" ? item : \"\"\n        }));\n        selectValues(parametersKey, params);\n        const normalizedValues = valuesNormalizer(searchEngineStore.allSearchEngines, selectedValues);\n        each(keys(normalizedValues), (item: string) => {\n            searchEngineStore.selectValue(item, normalizedValues[item]);\n        });\n    }\n}\n\n/**\n * Init React component\n * @param data\n * @param root\n * @param dataUrl\n * @param searchEngineTexts\n * @param callback\n */\nexport function renderComponent(data: ISearchEngine[], root: HTMLElement, dataUrl: string, searchEngineTexts: ISearchEngineTexts, callback?: () => void) {\n    const searchEngineStore = new SearchEngineStore(data);\n    const selectedValues = {};\n    const {SEARCH_ENGINE_CODE_PARAMETER} = paramConfig;\n    const selectValues = (name: string, values: Array<{ label: string, code: string }>) => {\n        if (selectedValues[name]) {\n            selectedValues[name].length = 0;\n        } else {\n            selectedValues[name] = [];\n        }\n        selectedValues[name].push(...values);\n    };\n\n    for (const searchEngine of data) {\n        const defaultValues = searchEngine.defaultValues;\n        if (defaultValues && defaultValues.length > 0) {\n            for (const defaultValue of defaultValues) {\n                if (defaultValue.code && defaultValue.code !== \"\" && defaultValue.value) {\n                    const params = defaultValue.value.split(urlParameters.or).map((item: string) => ({\n                        label: \"\",\n                        code: item\n                    }));\n                    searchEngineStore.selectValue(defaultValue.code, params);\n                }\n            }\n        }\n    }\n\n    let searchEngineCode;\n    if (dataUrl && dataUrl.indexOf(SEARCH_ENGINE_CODE_PARAMETER) !== -1) {\n        searchEngineCode = getQueryString(SEARCH_ENGINE_CODE_PARAMETER, dataUrl);\n    }\n\n    const parameters = getUrlVar($(root).data(\"queryString\"));\n    if (!searchEngineCode || searchEngineCode === \"\") {\n        searchEngineCode = parameters[SEARCH_ENGINE_CODE_PARAMETER];\n    }\n\n    if (searchEngineCode && searchEngineCode !== \"\") {\n        searchEngineStore.selectSearchEngine(searchEngineCode);\n    }\n\n    const searchEngineType = $(root).data(\"se-type\");\n    if (searchEngineType && searchEngineType !== \"\") {\n        searchEngineStore.selectSearchEngineByType(searchEngineType);\n    }\n\n    const baseParameters = getUrlVar(searchEngineStore.currentSearchEngine.baseQuery);\n    fillSelectedValuesFromParameters(baseParameters, selectValues, searchEngineStore, selectedValues);\n    fillSelectedValuesFromParameters(parameters, selectValues, searchEngineStore, selectedValues);\n\n    // IF SE TO DISPLAY IS NOT CONFIGURED DO NOT DISPLAY THE DEFAULT SE SET IN CONSTRUCTOR\n    if (searchEngineStore.currentSearchEngine.code !== searchEngineCode) {\n        return;\n    }\n\n    ReactDOM.render((\n        <Provider searchEngineStore={searchEngineStore}>\n            {getLayout($(root), searchEngineTexts)}\n        </Provider>\n    ), root, callback);\n}\n\n/**\n * get the correct layout from root data\n * @param root the root where the layout will be place\n * @param searchEngineTexts\n */\nfunction getLayout(root: JQuery, searchEngineTexts: ISearchEngineTexts) {\n    return <Layout {...root.data()} searchEngineTexts={searchEngineTexts}/>;\n}\n","import {action, computed, observable} from \"mobx\";\nimport {\n    isEmpty, pick, each, get, filter, includes,\n    reduce, map, isEqual, toString, isNull\n} from \"lodash\";\nimport moment = require(\"moment\");\nimport {urlParameters, valuesNormalizer} from \"../tools/formTools\";\nimport DateSearchItemStore from \"./date\";\nimport type {ISearchEngine} from \"../@types/api\";\nimport {paramConfig} from \"../configs/param\";\nimport {ISearchItem} from \"../components/SearchItem\";\nimport {getUrlVar} from \"orxapi.tools.url\";\n\nexport interface ISearchEngineStore {\n    showMoreIsVisible: boolean;\n    searchCategoriesIsVisible: boolean;\n    currentSearchEngine: ISearchEngine;\n    allSearchEngines: ISearchEngine[];\n    isReset: boolean;\n    tabIsReset: Record<string, boolean>;\n    tabIsOpen: Record<string, boolean>;\n    toggleMoreItems: Record<string, unknown>;\n    dynamicTabs: [];\n    values: Record<string, Array<{ label: string, code: string }>>;\n    searchQuery?: string;\n    searchSummaryTag: any[];\n    selectValue(name: string, values: Array<{ label: string, code: string }>);\n    addValue(name: string, values: Array<{ label: string, code: string }>);\n    removeValue(name: string, index: number);\n    removeItemFromObject(name: string);\n    resetAllValues(name: string[], isCloseTabs: boolean);\n    resetFilter(names: string[]);\n    replaceValue(name: string, value: { label: string, code: string });\n    selectSearchEngine(code: string);\n    selectSearchEngineByType(type: string)\n    selectDefaultValues();\n    toggleReset();\n    toggleTabs(code: string);\n    closeTabs(code: string);\n    toggleChangeMoreItems(code: string);\n    toggleResetTab(code: string);\n    toggleResetTabs(codes: string[]);\n    toggleShowMoreVisible();\n    setCurrentSearchEngineMoreItems(moreItems: ISearchItem[]);\n    getDateStoreOrCreate(code: string): DateSearchItemStore;\n}\n\n/**\n * The store for search engine\n * @class\n */\nexport class SearchEngineStore implements ISearchEngineStore {\n    private readonly searchEngines: ISearchEngine[];\n    @observable private selectedSearchEngine: ISearchEngine;\n    @observable private showMoreVisible: boolean;\n    @observable private _isReset: boolean;\n    @observable private readonly searchCategoriesVisible: boolean;\n    @observable private _searchQuery: string;\n    @observable private _tabIsOpen: Record<string, boolean>;\n    @observable private _tabIsReset: Record<string, boolean>;\n    @observable private _toggleMoreItems: Record<string, unknown>;\n    @observable private _dynamicTabs: [];\n    @observable private _values: Record<string, Array<{ label: string, code: string }>>;\n    @observable private _searchSummaryTag: any[];\n    private readonly dateStore: Record<string, DateSearchItemStore>;\n\n    /**\n     * the constructor\n     * @param searchEngines data array to build the search engine\n     */\n    constructor(searchEngines: ISearchEngine[]) {\n        this.searchEngines = searchEngines;\n        this.selectedSearchEngine = searchEngines[0];\n        this.showMoreVisible = false;\n        this._isReset = false;\n        this.searchCategoriesVisible = true;\n        this._tabIsOpen = this.setToggleTabsObject();\n        this._tabIsReset= this.setResetTabsObject();\n        this._toggleMoreItems = this.setToggleForMoreItems();\n        this._dynamicTabs = this.setDynamicTabs();\n        this._searchSummaryTag = this.setSearchSummaryTag();\n        this._values = {};\n        this._searchQuery = \"\";\n        this.dateStore = {};\n    }\n\n    /**\n     * return the show more visible state\n     */\n    @computed\n    public get showMoreIsVisible(): boolean {\n        return this.showMoreVisible;\n    }\n\n    /**\n     * return the show more visible state\n     */\n    @computed\n    public get searchCategoriesIsVisible(): boolean {\n        return this.searchCategoriesVisible;\n    }\n\n    /**\n     * get the current search engine\n     */\n    @computed\n    public get currentSearchEngine(): ISearchEngine {\n        return this.selectedSearchEngine;\n    }\n\n    @computed\n    public get allSearchEngines(): ISearchEngine[] {\n        return this.searchEngines;\n    }\n\n    @computed\n    public get isReset(): boolean {\n        return this._isReset;\n    }\n\n    @computed\n    public get tabIsReset() {\n        return this._tabIsReset;\n    }\n\n    @computed\n    public get tabIsOpen() {\n        return this._tabIsOpen;\n    }\n\n    @computed\n    public get toggleMoreItems() {\n        return this._toggleMoreItems;\n    }\n\n    @computed\n    public get dynamicTabs() {\n        return this._dynamicTabs;\n    }\n\n    @computed\n    public get values(): { [name: string]: Array<{ label: string, code: string }>; } {\n        return this._values;\n    }\n\n    @computed\n    public get searchQuery(): string {\n        return this._searchQuery;\n    }\n\n    @computed\n    public get searchSummaryTag(): any[] {\n        return this._searchSummaryTag;\n    }\n\n    /**\n     * select a value in array of values\n     * @param name\n     * @param values\n     */\n    @action.bound\n    public selectValue(name: string, values: Array<{ label: string, code: string }>) {\n        if (this._values[name]) {\n            this._values[name].length = 0;\n        } else {\n            this._values[name] = observable([]);\n        }\n        this._values[name].push(...values);\n        this._isReset = false;\n        this._dynamicTabs = this.setDynamicTabs();\n        this._searchSummaryTag = this.setSearchSummaryTag();\n        this._searchQuery = this.setSearchQuery();\n    }\n\n    /**\n     * select a value in array of values\n     * @param name\n     * @param values\n     */\n    @action.bound\n    public addValue(name: string, values: Array<{ label: string, code: string }>) {\n        if (!this._values[name]) {\n            this._values[name] = observable([]);\n        }\n        this._values[name].push(...values);\n        this._isReset = false;\n        this._dynamicTabs = this.setDynamicTabs();\n        this._searchSummaryTag = this.setSearchSummaryTag();\n        this._searchQuery = this.setSearchQuery();\n    }\n\n    /**\n     * remove a value from array of values\n     * @param name\n     * @param index\n     */\n    @action.bound\n    public removeValue(name: string, index: number) {\n        this._values[name].splice(index, 1);\n        this._isReset = false;\n        this._dynamicTabs = this.setDynamicTabs();\n        this._searchSummaryTag = this.setSearchSummaryTag();\n        this._searchQuery = this.setSearchQuery();\n    }\n\n    /**\n     * Remove item from values object\n     * @param name\n     */\n    @action.bound\n    public removeItemFromObject(name: string) {\n        const newValues = {...this._values};\n        this._values = Object.keys(newValues).reduce((item: any, key: any) => {\n            if (key !== name) {\n                item[key] = newValues[key];\n            }\n            return item;\n        }, {});\n\n        this.toggleResetTab(name);\n        this._dynamicTabs = this.setDynamicTabs();\n        this._searchSummaryTag = this.setSearchSummaryTag();\n        this._searchQuery = this.setSearchQuery();\n    }\n\n    /**\n     * reset all values in array of values\n     * @param name\n     * @param isCloseTabs\n     */\n    @action.bound\n    public resetAllValues(name: string[], isCloseTabs: boolean) {\n        this._values = pick(this._values, name);\n        this._isReset = true;\n        this._dynamicTabs = this.setDynamicTabs();\n        this._searchSummaryTag = this.setSearchSummaryTag();\n        this.selectedSearchEngine = this.currentSearchEngine;\n        this.setInitialValues(this.selectedSearchEngine);\n        this._searchQuery = this.setSearchQuery();\n\n        if (isCloseTabs) {\n            this._tabIsOpen = this.setToggleTabsObject();\n        }\n    }\n\n    /**\n     * initialize values of given search engine\n     * @param searchEngine\n     */\n    private setInitialValues(searchEngine : ISearchEngine) {\n        this.addValue(\"type\", [{code: get(searchEngine, \"code\"), label: \"\"}]);\n        const baseParameters = getUrlVar(searchEngine.baseQuery);\n        for (const parametersKey of Object.keys(baseParameters)) {\n            const params = baseParameters[parametersKey].split(urlParameters.or).map((item: string) => ({\n                label: \"\",\n                code: item\n            }));\n            this.addValue(parametersKey, params);\n        }\n    }\n\n    @action.bound\n    public setCurrentSearchEngineMoreItems(moreItems: ISearchItem[]) {\n        this.selectedSearchEngine.moreItems = moreItems;\n    }\n\n    /**\n     * reset a value in array of values\n     * @param names\n     */\n    @action.bound\n    public resetFilter(names: string[]) {\n        const newValues = {...this._values};\n        this.toggleResetTabs(names);\n        this._values = filter(Object.keys(newValues), (item: any) => !includes(names, item))\n            .reduce((obj: any, key: string) => {\n                obj[key] = newValues[key];\n                return obj;\n            }, {});\n        this._dynamicTabs = this.setDynamicTabs();\n        this._searchSummaryTag = this.setSearchSummaryTag();\n        this._searchQuery = this.setSearchQuery();\n    }\n\n    /**\n     * one element in array\n     * @param name\n     * @param value\n     */\n    @action.bound\n    public replaceValue(name: string, value: { label: string, code: string }) {\n        this._isReset = false;\n        if (isEmpty(name)) {\n            return;\n        }\n        if (isEmpty(this._values[name])) {\n            this.addValue(name, [value]);\n        } else {\n            this._values[name].splice(0, 1, value);\n        }\n\n        this._dynamicTabs = this.setDynamicTabs();\n        this._searchSummaryTag = this.setSearchSummaryTag();\n        this._searchQuery = this.setSearchQuery();\n    }\n\n    /**\n     * select a search engine by code\n     * @param code\n     */\n    @action.bound\n    public selectSearchEngine(code: string) {\n        this._isReset = false;\n        const filteredSearchEngines = this.searchEngines\n            .filter((engine: ISearchEngine) => engine.code === code);\n\n        this.setSelectSearchEngine(filteredSearchEngines);\n    }\n\n    /**\n     * select a search engine by type\n     * @param type\n     */\n    @action.bound\n    public selectSearchEngineByType(type: string) {\n        this._isReset = false;\n        const filteredSearchEngines = this.searchEngines\n            .filter((engine: ISearchEngine) => engine.type === type);\n\n        this.setSelectSearchEngine(filteredSearchEngines);\n    }\n\n    /**\n     * Set the  select a search engine\n     * @param filteredSearchEngines\n     * @private\n     */\n    private setSelectSearchEngine(filteredSearchEngines: ISearchEngine[]) {\n        if (filteredSearchEngines.length !== 0) {\n            this.selectedSearchEngine = filteredSearchEngines.shift();\n        }\n\n        this._toggleMoreItems = this.setToggleForMoreItems();\n        this._dynamicTabs = this.setDynamicTabs();\n        this._searchSummaryTag = this.setSearchSummaryTag();\n        this._tabIsOpen = this.setToggleTabsObject();\n        this.selectDefaultValues();\n    }\n\n    /**\n     * select default values\n     */\n    @action.bound\n    public selectDefaultValues() {\n        const type = get(this.selectedSearchEngine, \"type\");\n\n        // SE Vol default values\n        if (type === \"flight\") {\n            const params = {\n                \"class\": [{code: \"ECONOMY\", label: \"\"}],\n                type: [{label: \"\", code: get(this.selectedSearchEngine, \"code\")}]\n            };\n            const normalizedValues = valuesNormalizer(this.searchEngines, params);\n\n            this.replaceValue(\"class\", get(normalizedValues, \"class\")[0]);\n        }\n    }\n\n    /**\n     * toggle reset\n     */\n    @action.bound\n    public toggleReset() {\n        this._isReset = !this.isReset;\n    }\n\n    /**\n     * set toggle tabs by default\n     */\n    private setToggleTabsObject() {\n        let acc: any = {type: false};\n        const searchItems = get(this.selectedSearchEngine, \"searchItems\", []);\n        const moreItems = get(this.selectedSearchEngine, \"moreItems\", []);\n        const items = moreItems ? searchItems.concat(moreItems) : searchItems;\n        each(items, (item: any) => {\n            acc = {...acc, [item.code]: false};\n        });\n\n        if (!isEmpty(moreItems)) {\n            acc = {...acc, \"moreItems\": false};\n        }\n\n        return acc;\n    }\n\n    /**\n     * set isResetTabs by default\n     */\n    private setResetTabsObject() {\n        let acc: Record<string, boolean>;\n        const searchItems = get(this.selectedSearchEngine, \"searchItems\", []);\n        const moreItems = get(this.selectedSearchEngine, \"moreItems\", []);\n        const items = moreItems ? searchItems.concat(moreItems) : searchItems;\n        each(items, (item: any) => {\n            acc = {...acc, [item.code]: false};\n        });\n        return acc;\n    }\n\n    /**\n     * create toggle object for more items\n     */\n    private setToggleForMoreItems() {\n        const moreItems = get(this.selectedSearchEngine, \"moreItems\");\n        if (isEmpty(moreItems)) {\n            return {};\n        }\n\n        return reduce(moreItems, (acc: any, item: any) => {\n            acc[item.code] = true;\n            return acc;\n        }, {});\n    }\n\n\n    /**\n     * set Dynamic Tabs Object\n     */\n    private setDynamicTabs() {\n        const searchItems = get(this.selectedSearchEngine, \"searchItems\");\n        const moreItems = get(this.selectedSearchEngine, \"moreItems\");\n        const items = moreItems ? searchItems.concat(moreItems) : searchItems;\n        const existedCodes = new Set<string>();\n        return reduce(items, (acc: any, item: any) => {\n            //remove the duplicated tab\n            if (item.code && !existedCodes.has(item.code)) {\n                existedCodes.add(item.code);\n                const defaultPlaceholder = get(item, \"data.placeholder\") ? get(item, \"data.placeholder\") : \"Indifférent\";\n                let subtitle = get(this._values, item.code, \"\");\n                subtitle = this.getSubtitle(item.code, subtitle, defaultPlaceholder);\n                acc.push({\n                    code: item.code,\n                    label: item.label,\n                    selected: !isEqual(subtitle, defaultPlaceholder),\n                    subtitle\n                });\n            }\n            return acc;\n        }, []);\n    }\n\n\n    /**\n     * get subtitle\n     * @param code\n     * @param subtitle\n     * @param defaultPlaceholder\n     */\n    private getSubtitle(code: string, subtitle: string | { label: string; code: string; }[], defaultPlaceholder: string) {\n        if (code === \"ref_mmp\") {\n            if (subtitle) {\n                const fromValue = get(subtitle, \"[0].code\");\n                const toValue = get(subtitle, \"[1].code\");\n                const minBudget = (!isNull(fromValue) && fromValue.includes(\",\")\n                    ? Number(fromValue.split(\",\", 2)[0])\n                    : Number(fromValue)\n                );\n                const maxBudget = (!isNull(fromValue) && fromValue.includes(\",\")\n                    ? Number(fromValue.split(\",\", 2)[1])\n                    : Number(toValue)\n                );\n                subtitle = minBudget + \" € - \" + maxBudget + \" €\";\n            } else {\n                subtitle = defaultPlaceholder;\n            }\n\n        } else if (code === \"departureDate\") {\n            const day = get(this._values, \"s_dd.[0].code\");\n            const month = get(this._values, \"s_dmy.[0].code\");\n            subtitle = (!isEmpty(day) && !isEmpty(month))\n                ? moment(`${day}/${month}`, \"DD/MM/YYYY\").format(\"DD/MM/YYYY\")\n                : defaultPlaceholder;\n\n        } else if (!isEmpty(subtitle)) {\n            const labels = map(subtitle.slice(), (el: any) => el.label).filter(label => !!(label)).join(\", \");\n            !isEmpty(labels)\n                ? subtitle = toString(labels)\n                : subtitle = defaultPlaceholder;\n\n        } else {\n            subtitle = defaultPlaceholder;\n        }\n        return subtitle;\n    }\n\n    /**\n     * Toggle change tabs\n     * @param code\n     */\n    @action.bound\n    public toggleTabs(code: string) {\n        if (code === \"moreItems\") {\n            const body = document.querySelector(\"body\") as HTMLElement;\n            body.classList.toggle(\"super-panel-active\");\n            body.classList.toggle(\"no-scroll\");\n            body.classList.toggle(\"js-noscroll-by-fastsearch\");\n            document.documentElement.style.overflow = body.classList.contains(\"no-scroll\") ? \"hidden\" : \"\";\n        }\n        this._isReset = false;\n        const toggleTabs = {...this._tabIsOpen};\n\n        Object.keys(toggleTabs).map((item: any) => {\n            return (item === code)\n                ? toggleTabs[item] = !toggleTabs[item]\n                : toggleTabs[item] = false;\n        });\n\n        this._tabIsOpen = toggleTabs;\n    }\n\n    /**\n     * close change tabs\n     * @param code\n     */\n    @action.bound\n    public closeTabs(code: string) {\n        if (code === \"moreItems\") {\n            const body = document.querySelector(\"body\") as HTMLElement;\n            body.classList.remove(\"super-panel-active\");\n            body.classList.remove(\"no-scroll\");\n            body.classList.remove(\"js-noscroll-by-fastsearch\");\n            document.documentElement.style.overflow = \"\";\n        }\n        this._isReset = false;\n        const toggleTabs = {...this._tabIsOpen};\n\n        Object.keys(toggleTabs).map((item: any) => {\n            if (item === code) {\n                toggleTabs[item] = false;\n            }\n        });\n\n        this._tabIsOpen = toggleTabs;\n    }\n\n    /**\n     * Toggle reset tabs of single element\n     * @param code\n     */\n    @action.bound\n    public toggleResetTab(code: string) {\n        const toggleResetTabs = {...this._tabIsReset};\n        Object.keys(toggleResetTabs).map((item: any) => {\n            if (item === code) {\n                toggleResetTabs[item] = !toggleResetTabs[item];\n            }\n        });\n        this._tabIsReset = toggleResetTabs;\n    }\n\n    /**\n     * Toggle reset tabs of multiple elements\n     * @param codes\n     */\n    @action.bound\n    public toggleResetTabs(codes: string[]) {\n        codes.map((code: string) => {\n            this.toggleResetTab(code);\n        });\n    }\n\n    /**\n     * Toggle more items\n     * @param code\n     */\n    @action.bound\n    public toggleChangeMoreItems(code: string) {\n        this._isReset = false;\n        const toggleMoreItems = {...this._toggleMoreItems};\n\n        Object.keys(toggleMoreItems).map((item: any) => {\n            if (item === code) {\n                toggleMoreItems[item] = !toggleMoreItems[item];\n            }\n        });\n\n        this._toggleMoreItems = toggleMoreItems;\n    }\n\n    /**\n     * toggle show more visible\n     */\n    @action.bound\n    public toggleShowMoreVisible() {\n        this._isReset = false;\n        this.showMoreVisible = !this.showMoreVisible;\n    }\n\n    /**\n     * get the date store from the code or creat it if not exist\n     * @param code\n     */\n    public getDateStoreOrCreate(code: string): DateSearchItemStore {\n        if (!this.dateStore[code]) {\n            this.dateStore[code] = new DateSearchItemStore();\n        }\n        return this.dateStore[code];\n    }\n\n    /**\n     * Set the search summary tag\n     */\n    public setSearchSummaryTag(): any[] {\n        const tabs = this.dynamicTabs;\n        const {DEPARTURE_CITY_CODE_PARAMETER, BUDGET_CODE_PARAMETER} = paramConfig;\n        return this._searchSummaryTag = filter(tabs, (item: any) => item.selected)\n            .map((item : any) => {\n                let subtitle = item.subtitle;\n                if (item.subtitle.includes(\",\")) {\n                    subtitle = subtitle.replace(\",\", \" ou \");\n                }\n                if (item.code === DEPARTURE_CITY_CODE_PARAMETER) {\n                    return \"au départ de \"+ subtitle ;\n                }\n                if (item.code === BUDGET_CODE_PARAMETER) {\n                    return \"de \" + subtitle.replace(\"-\", \"jusqu'à\");\n                }\n                return subtitle;\n            });\n    }\n\n    /**\n     * Set the search query\n     */\n    public setSearchQuery(): string {\n        const values = this.values;\n        if (!isEmpty(values)) {\n            return this._searchQuery = Object.keys(values).map(key => {\n                return key + \"=\" + values[key].map(value => value.code).join(\",\");\n            }\n            ).join(\"&\");\n        }\n        return \"\";\n    }\n}\n","import * as React from \"react\";\nimport type {SyntheticEvent} from \"react\";\nimport {get, isEmpty, find, reduce, includes, each, filter} from \"lodash\";\nimport {paramConfig} from \"../configs/param\";\nimport {ISearchItem} from \"../components/SearchItem\";\n\n/**\n * helper constants to build url\n */\nexport const urlParameters = {\n    and: \"++\",\n    or: \",\"\n};\n\n/**\n * handle submit of the form\n * @param evt\n */\nexport function submitForm(evt: SyntheticEvent) {\n    evt.preventDefault();\n    const form = $(evt.currentTarget);\n    const query = filterParameter(form.serializeArray());\n    window.location.href = form.prop(\"action\") + (query ? (\"?\" + $.param(query)) : \"\");\n}\n\n/**\n * handle submit of the form\n * @param evt\n * @param callBack\n */\nexport function submitFormWithAjax(evt: SyntheticEvent, callBack: (response: any) => void) {\n    evt.preventDefault();\n    const form = $(evt.currentTarget);\n    const query = filterParameter(form.serializeArray());\n    $.ajax(form.prop(\"action\") + (query ? (\"?\" + $.param(query)) : \"\"))\n        .done(callBack);\n}\n\n/**\n * group same name parameter and filter empty param\n * @param params\n */\nexport function filterParameter(params: JQuery.NameValuePair[]): {} {\n    const finalParam = {};\n\n    params.forEach((param: { value: string, name: string }) => {\n        if (param.value.length) {\n            const value = param.value;\n            const name = param.name;\n\n            if (finalParam[name]) {\n                if (finalParam[name].indexOf(value) === -1) {\n                    finalParam[name] += urlParameters.or + value;\n                }\n\n            } else {\n                finalParam[name] = value;\n            }\n        }\n    });\n\n    return finalParam;\n}\n\n/**\n * add inputs from the given query\n * @param query\n * @param filterSearchItems\n */\nexport function addSearchEngineFormHideQueryInputs(query: string, filterSearchItems: ISearchItem[] = []): JSX.Element {\n    return (\n        <>\n            {query && query.split(\"&\")\n                .map((parameter: string)=> parameter.split(\"=\"))\n                .filter((parameter: string[]) => parameter.length === 2)\n                .map((parameter: string[]) => ({code: parameter[0], value:parameter[1] }))\n                // if exist in filter item (moreItem), don't add it in form\n                .filter((codeValue) => !filterSearchItems.some((item)=>item.code === codeValue.code))\n                .map((codeValue) =>\n                    <input key={\"baseInput_\" + codeValue.code} type=\"hidden\" name={codeValue.code} value={codeValue.value}/>\n                )\n            }\n        </>\n    );\n}\n\n/**\n * Normalize values initilized by url params\n * @param searchEngineObject\n * @param params\n */\nexport function valuesNormalizer(searchEngineObject: any, params: any) {\n    const {DURATION_CODE_PARAMETER} = paramConfig;\n    const type = get(params, \"type[0].code\");\n    if (isEmpty(type)) {\n        return;\n    }\n\n    const currentEngineByCode = find(searchEngineObject, {code: type});\n    const currentEngine = isEmpty(currentEngineByCode) ? searchEngineObject[0] : currentEngineByCode;\n\n    const allSearchItems = [];\n    // eslint-disable-next-line prefer-spread\n    allSearchItems.push.apply(allSearchItems, currentEngine.searchItems);\n    if (!isEmpty(get(currentEngine, \"moreItems\"))) {\n        // eslint-disable-next-line prefer-spread\n        allSearchItems.push.apply(allSearchItems, currentEngine.moreItems);\n    }\n\n    return reduce(allSearchItems, (acc: any, value: any) => {\n        acc = params;\n        // ref_minMan param normalizer\n        /* tslint:disable:no-string-literal */\n        if (!isEmpty(acc[DURATION_CODE_PARAMETER])) {\n            acc[DURATION_CODE_PARAMETER] = initMinMan(acc, DURATION_CODE_PARAMETER);\n        }\n\n        const optionMapper = (options: any) => {\n            each(acc[value.code], (accItem: any, index: number) => {\n                each(options, (dataOption: any) => {\n                    if (accItem.code === dataOption.code) {\n                        acc[value.code][index].label = dataOption.label;\n                    }\n                });\n            });\n        };\n\n        if (includes(Object.keys(acc), value.code)) {\n            if (value.type === \"panel\") {\n                const getSubItem = (subItemType: string) => filter(get(value, \"data.subItems\"), {\"type\": subItemType});\n                const panelItemsNormalizer = (subItems: any) => {\n                    const options = [];\n                    // eslint-disable-next-line prefer-spread\n                    each(subItems, (item: any) => options.push.apply(options, get(item, \"data.options\")));\n                    optionMapper(options);\n                };\n\n                if (!isEmpty(getSubItem(\"checkbox\"))) {\n                    panelItemsNormalizer(getSubItem(\"checkbox\"));\n                }\n\n                if (!isEmpty(getSubItem(\"select\"))) {\n                    panelItemsNormalizer(getSubItem(\"select\"));\n                }\n            } else {\n                const options = get(value, \"data.options\");\n                optionMapper(options);\n            }\n        }\n\n        return acc;\n    }, []);\n}\n\n/**\n * initMinMan\n * @param values\n * @param name\n */\nfunction initMinMan(values: any, name: string) {\n    return reduce(values[name], (acc: any, value: any) => {\n        if (isEmpty(acc)) {\n            acc.push({code: value.code, label: value.label});\n        } else {\n            acc[0].code = acc[0].code + \",\" + value.code;\n        }\n\n        return acc;\n    }, []);\n}\n","type ParamConfig = {\n    readonly [name: string]: string;\n};\n\n/**\n * Default object param configuration\n */\nconst paramConfig: ParamConfig = {\n    SEARCH_ENGINE_CODE_PARAMETER: \"type\",\n    DESTINATION_CODE_PARAMETER: \"s_c.DESSEJ2\",\n    DEPARTURE_CODE_PARAMETER: \"departureDate\",\n    ADJUST_CODE_PARAMETER: \"s_aj\",\n    MONTH_YEAR_CODE_PARAMETER: \"s_dmy\",\n    DAY_CODE_PARAMETER: \"s_dd\",\n    DURATION_CODE_PARAMETER: \"s_minMan\",\n    BUDGET_CODE_PARAMETER: \"s_mmp\",\n    DEPARTURE_CITY_CODE_PARAMETER: \"s_dpci\",\n};\n\nexport {\n    paramConfig,\n};\n\nexport type {\n    ParamConfig,\n};","import {action, computed, observable} from \"mobx\";\nimport moment = require(\"moment\");\nimport {dateConfig} from \"../configs/date\";\n\n/**\n * the store for the date search item\n */\nexport default class DateSearchItemStore {\n    @observable private date: Date;\n    @observable private adjustDateBy: number;\n    @observable private emptyLabel: string;\n    @observable private readonly selectedMonths: string[];\n\n    /**\n     * constructor\n     */\n    constructor() {\n        this.emptyLabel = \"\";\n        this.selectedMonths = [];\n    }\n\n    /**\n     * return the current active start date, undefined if no start date is activated\n     */\n    @computed\n    public get activeDate() {\n        return this.selectedMonths.length === 0 ? this.date : undefined;\n    }\n\n    /**\n     * Returns the current selected start date value\n     */\n    @computed\n    public get isSelectedValue(): boolean {\n        return (this.selectedMonths.length !== 0 || typeof (this.activeDate) !== undefined);\n    }\n\n    /**\n     * get the label for no value option\n     */\n    @computed\n    public get empty() {\n        return this.emptyLabel;\n    }\n\n    /**\n     * get the the valid dates with current start date and adjust value\n     */\n    @computed\n    public get includedDates(): { from: Date; to: Date } {\n        if (this.date && this.adjustDateBy !== 0 && this.selectedMonths.length === 0) {\n            const from = moment(this.date);\n            const to = moment(this.date);\n            from.add(-this.adjustDateBy, \"day\");\n            to.add(this.adjustDateBy, \"day\");\n            return {from: from.toDate(), to: to.toDate()};\n        } else {\n            return undefined;\n        }\n    }\n\n    /**\n     * the adjust value\n     */\n    @computed\n    public get adjustValue() {\n        return this.adjustDateBy;\n    }\n\n    @computed\n    public get visibleMonthsValue() {\n        if (this.selectedMonths.length !== 0) {\n            return moment(this.allMonthsMinDepartureDate).format(\"DD/MM/YYYY\")\n                + \" \" + moment(this.allMonthsMaxDepartureDate).format(\"DD/MM/YYYY\");\n        } else {\n            return undefined;\n        }\n    }\n\n    @computed\n    public get visibleMonthValue() {\n        if (this.selectedMonths.length === 1) {\n            return moment(this.allMonthsMinDepartureDate).format(\"MMM YYYY\");\n        } else {\n            return undefined;\n        }\n    }\n\n    /**\n     * the selected months\n     */\n    @computed\n    public get months(): string[] {\n        return this.selectedMonths;\n    }\n\n    /**\n     * get the min departure date when date selected by month\n     */\n    @computed\n    public get allMonthsMinDepartureDate(): Date {\n        if (this.months.length !== 0) {\n            const date = moment(this.months[0], dateConfig.monthYearPattern);\n            date.add(-this.adjustValue, \"day\");\n            return date.toDate();\n        } else {\n            return undefined;\n        }\n    }\n\n    /**\n     * get the max departure date when date selected by month\n     */\n    @computed\n    public get allMonthsMaxDepartureDate(): Date {\n        if (this.months.length !== 0) {\n            const date = moment(this.months[this.months.length - 1], dateConfig.monthYearPattern);\n            date.endOf(\"month\");\n            date.add(this.adjustValue, \"day\");\n            return date.toDate();\n        } else {\n            return undefined;\n        }\n    }\n\n    /**\n     * change the selected date\n     * @param date\n     */\n    @action.bound\n    public selectDate(date: Date) {\n        if (date) {\n            this.clearSelectedMonths();\n        }\n        this.date = date;\n    }\n\n    /**\n     * set the nb of day valid around the date\n     * @param adjust\n     */\n    @action.bound\n    public setAdjustDateBy(adjust: number) {\n        this.adjustDateBy = adjust;\n    }\n\n    /**\n     * Reset adjust date value\n     */\n    @action.bound\n    public resetAdjustDate() {\n        this.adjustDateBy = 0;\n    }\n\n    /**\n     * change\n     * @param emptyLabel\n     */\n    @action.bound\n    public setEmptyLabel(emptyLabel: string) {\n        this.emptyLabel = emptyLabel;\n    }\n\n    /**\n     * add month to selected months and all month between extreme value\n     * @param month\n     */\n    @action.bound\n    public addMonth(month: string) {\n        if (this.months.indexOf(month) === -1) {\n            this.months.push(month);\n            this.guaranteeMonthContinuity();\n        }\n    }\n\n    /**\n     * remove month to selected months\n     * @param month\n     */\n    @action.bound\n    public removeMonth(month: string) {\n        const monthIndex = this.months.indexOf(month);\n        if (monthIndex !== -1) {\n            this.months.splice(monthIndex, 1);\n            this.guaranteeMonthContinuity();\n        }\n    }\n\n    /**\n     * set all months\n     * @param months\n     */\n    @action.bound\n    public setAllMonths(months: string[]) {\n        this.cleanMonths();\n        this.selectedMonths.push(...months);\n    }\n\n    /**\n     * clear months array\n     */\n    @action.bound\n    public cleanMonths() {\n        this.selectedMonths.length = 0;\n    }\n\n    /**\n     * clear selected months array\n     */\n    private clearSelectedMonths() {\n        if (this.selectedMonths.length !== 0) {\n            this.selectedMonths.splice(0, this.selectedMonths.length);\n        }\n    }\n\n    /**\n     * guarantee all month between extreme month are selected\n     */\n    private guaranteeMonthContinuity() {\n        if (this.months.length > 1) {\n            const sorted = this.months.sort((d1: string, d2: string) => {\n                const diff = moment(d1, dateConfig.monthYearPattern).diff(moment(d2, dateConfig.monthYearPattern));\n                if (diff === 0) {\n                    return 0;\n                } else {\n                    return diff > 0 ? 1 : -1;\n                }\n            });\n            const min = moment(sorted[0], dateConfig.monthYearPattern);\n            const max = moment(sorted[sorted.length - 1], dateConfig.monthYearPattern);\n            this.clearSelectedMonths();\n            while (max >= min) {\n                this.months.push(min.format(dateConfig.monthYearPattern));\n                min.add(1, \"month\");\n            }\n        }\n    }\n}","type DateConfig = {\n    monthYearPattern: string;\n};\n\n/**\n * Default object date configuration\n */\nconst dateConfig: DateConfig = {\n    monthYearPattern: \"MM-YYYY\"\n};\n\nexport {\n    dateConfig,\n};\n\nexport type {\n    DateConfig,\n};","import * as React from \"react\";\nimport {Component, createRef} from \"react\";\nimport type {SyntheticEvent, RefObject} from \"react\";\nimport {inject, observer} from \"mobx-react\";\nimport Responsive from \"react-responsive\";\nimport * as DOMPurify from \"dompurify\";\nimport classnames from \"classnames\";\nimport {get, includes, map} from \"lodash\";\nimport type {ISearchEngine, ISearchEngineTexts} from \"../../@types/api\";\nimport type {ISearchEngineStore} from \"../../stores/api\";\nimport type {ISearchItem} from \"../SearchItem\";\nimport {breakpointsConfig} from \"../../../../../_core/scripts/specific/config/responsive\";\nimport {paramConfig} from \"../../configs/param\";\nimport {addSearchEngineFormHideQueryInputs, filterParameter} from \"../../tools/formTools\";\nimport SuperPanel from \"../SuperPanel\";\nimport SubmitButton from \"../SubmitButton\";\nimport Button from \"../Button\";\nimport SearchItemTrigger from \"../SearchItemTrigger\";\nimport SearchItemsMobile from \"../SearchItemsMobile\";\nimport SearchItemDesktopContainer from \"../SearchItemDesktopContainer\";\nimport HeaderPanel from \"../HeaderPanel\";\nimport ButtonsTriggerPanel from \"../ButtonsTriggerPanel\";\nimport {ISelectOption} from \"../SearchItem/SelectSearchItem\";\nimport {replaceOrAddParam} from \"../../tools/stringTools\";\nimport {getQueryString, getUrlVar} from \"orxapi.tools.url\";\nimport Icon from \"../Icon\";\nimport {isMobileDevice} from \"../../../../../_core/scripts/specific/layout/device\";\n\nexport interface ISearchEngineLayoutProps {\n    jsonUrl?: string;\n    searchEngineStore?: ISearchEngineStore;\n    title?: string;\n    searchEngineTexts?: ISearchEngineTexts;\n    submitUrl?: string;\n    submitLabel?: string;\n    defaultSubmit?: boolean;\n    isSerpMode?: boolean;\n    itemsColClass?: string;\n    triggerLabel?: string;\n    buttonColClass?: string;\n}\n\nexport interface ISearchEngineLayoutState {\n    isErrors: boolean;\n    isLoading: boolean;\n    selectedDestination: string;\n    moreItems?: ISearchItem[];\n}\n\n/**\n * the main search engine layout\n */\n@inject(\"searchEngineStore\")\n@observer\nexport default class Layout extends Component<ISearchEngineLayoutProps, ISearchEngineLayoutState> {\n    private readonly layoutPanelRef: RefObject<HTMLDivElement>\n\n    constructor(props: ISearchEngineLayoutProps) {\n        super(props);\n        this.layoutPanelRef = createRef<HTMLDivElement>();\n        this.state = {\n            isErrors: false,\n            isLoading: false,\n            selectedDestination: \"\",\n            moreItems: this.props.searchEngineStore?.currentSearchEngine?.moreItems,\n        };\n    }\n\n    public render(): JSX.Element {\n        const useDefaultSubmit = this.props.defaultSubmit === undefined ? true : this.props.defaultSubmit;\n        const {isLoading, moreItems} = this.state;\n        const tabs = this.getTabs();\n        const {submitUrl, searchEngineTexts, searchEngineStore, isSerpMode, triggerLabel} = this.props;\n        const {\n            currentSearchEngine,\n            tabIsOpen,\n            toggleTabs,\n            dynamicTabs,\n            searchSummaryTag,\n            searchQuery\n        } = searchEngineStore;\n        const searchItems = currentSearchEngine.searchItems;\n        const searchLabel = \"Rechercher\";\n        const showMoreItems = true;\n\n        return (\n            <div className=\"cpt-search-engine-layout\">\n                {this.props.title &&\n                    <div className=\"se-layout-title\" dangerouslySetInnerHTML={{__html: DOMPurify.sanitize(tabs[0].title || this.props.title)}}/>\n                }\n                <form\n                    id=\"searchEngineForm\"\n                    className=\"se-layout-form\"\n                    action={submitUrl}\n                    onKeyDown={(evt: React.KeyboardEvent) => Layout.handleOnKeyDown(evt)}\n                    {...(useDefaultSubmit ? {onSubmit: (evt: SyntheticEvent) => this.handleSubmit(evt)} : {})}\n                >\n                    {this.addBaseQueryInputs(searchEngineStore.currentSearchEngine?.moreItems)}\n                    <div className=\"se-layout-content\">\n                        {/* DESKTOP*/}\n                        <Responsive minWidth={breakpointsConfig.lg.min}>\n                            <div className=\"se-layout-dynamic-tabs\">\n                                {searchItems.map((item: ISearchItem, index: number) => {\n                                    return (\n                                        <SearchItemDesktopContainer\n                                            {...item}\n                                            {...{searchEngineTexts}}\n                                            key={\"searchItemContainer_\" + index}\n                                            defaultFold={false}\n                                            onSelectChange={(selected: ISelectOption | ISelectOption[]) => {\n                                                this.handleDestinationChange(selected);\n                                            }}\n                                        />\n                                    );\n                                })}\n                                {moreItems && showMoreItems &&\n                                    <div className=\"se-super-panel-container\">\n                                        <div\n                                            className={classnames(\"se-trigger-super-panel\", {\"selected\": get(tabIsOpen, \"moreItems\", false)})}\n                                            onClick={() => toggleTabs(\"moreItems\")}\n                                        >\n                                            <span className=\"title\">{get(searchEngineTexts, \"openMoreLabel\")}</span>\n                                        </div>\n                                        <SuperPanel\n                                            searchEngineTexts={searchEngineTexts}\n                                            searchEngineStore={searchEngineStore}\n                                            items={moreItems}\n                                            addClass={classnames({\"d-none\": !get(tabIsOpen, \"moreItems\", false)})}\n                                        />\n                                    </div>\n                                }\n                                <SubmitButton\n                                    label={searchLabel}\n                                    isLoader={isLoading}\n                                    loaderClass=\"se-submit-button-loader\"\n                                    buttonClass=\"elem-button--primary-alt\"\n                                />\n                            </div>\n                        </Responsive>\n                        {/* MOBILE and TABLET */}\n                        <Responsive maxWidth={breakpointsConfig.md.max}>\n                            <ButtonsTriggerPanel\n                                addClass=\"button-wrap\"\n                                isSerpMode={isSerpMode}\n                                triggerLabel={triggerLabel}\n                                handleOpenPanel={this.handleToggleLayoutPanel}\n                            />\n\n                            {searchSummaryTag.length > 0 && isSerpMode && <div className=\"cpt-search-tag\">\n                                {searchSummaryTag.map(summaryItem => {\n                                    return (\n                                        <div key={`summary-tag-${summaryItem}`} className=\"search-tag\">\n                                            {summaryItem}\n                                            <span className=\"btn-close-tag\">\n                                                <Icon value=\"x\" addClass={\"d-none\"}/>\n                                            </span>\n                                        </div>\n                                    );\n                                })}\n                            </div>}\n\n                            <div ref={this.layoutPanelRef} className=\"se-layout-panel d-none\">\n                                <HeaderPanel handleClosePanel={this.handleToggleLayoutPanel}/>\n                                <div className=\"se-layout-dynamic-tabs\">\n                                    <SearchItemTrigger\n                                        searchEngineStore={searchEngineStore}\n                                        triggers={dynamicTabs}\n                                        component={SearchItemsMobile}\n                                        onSelectChange={(selected: ISelectOption | ISelectOption[]) => {\n                                            this.handleDestinationChange(selected);\n                                        }}\n                                    />\n                                </div>\n                                <div className=\"button-main-wrap\">\n                                    <Button\n                                        label=\"Réinitialiser\"\n                                        buttonClass=\"primary-alt-invert\"\n                                        onClick={this.resetSearchEngine}\n                                    />\n                                    <SubmitButton\n                                        label={searchLabel}\n                                        isLoader={isLoading}\n                                        loaderClass=\"se-submit-button-loader\"\n                                        buttonClass=\"elem-button--primary\"\n                                        displayResultNumber={true}\n                                        searchQuery={searchQuery}\n                                    />\n                                </div>\n                            </div>\n                        </Responsive>\n                    </div>\n                </form>\n            </div>\n        );\n    }\n\n    /**\n     * Handler for open or close the layout panel\n     * @private\n     */\n    private handleToggleLayoutPanel = () => {\n        this.toggleAppClass();\n        this.closeDestinationItem();\n    }\n\n    /**\n     * Handler for open destination panel item\n     * @private\n     * @deprecated\n     */\n    private handleOpenDestination = () => {\n        this.toggleAppClass();\n        this.triggerDestinationItem();\n    }\n\n    /**\n     * Toggle the application classes when trigger layout panel\n     * @private\n     */\n    private toggleAppClass() {\n        document.querySelector(\"body\").classList.toggle(\"se-layout-panel-active\");\n        document.querySelector(\"body\").classList.toggle(\"no-scroll\");\n        this.layoutPanelRef.current.classList.toggle(\"d-none\");\n    }\n\n    /**\n     * trigger the destination search item\n     * @private\n     */\n    private triggerDestinationItem() {\n        this.props.searchEngineStore.toggleTabs(paramConfig.DESTINATION_CODE_PARAMETER);\n    }\n\n    /**\n     * close the destination search item\n     */\n    private closeDestinationItem() {\n        this.props.searchEngineStore.closeTabs(paramConfig.DESTINATION_CODE_PARAMETER);\n    }\n\n    /**\n     * reset search engine\n     * @private\n     */\n    private resetSearchEngine = () => {\n        this.props.searchEngineStore.resetAllValues([], true);\n    }\n\n    /**\n     * Get search engine tabs to select a search engine\n     * @private\n     */\n    private getTabs(): Array<{ title: string, identifier: string }> {\n        return this.props.searchEngineStore.allSearchEngines.map((searchEngine: ISearchEngine) => ({\n            title: searchEngine.title,\n            identifier: searchEngine.code\n        }));\n    }\n\n    /**\n     * Handler of onKeyDown\n     * @param event\n     * @private\n     */\n    private static handleOnKeyDown(event: React.KeyboardEvent) {\n        if (event.keyCode === 13) {\n            event.preventDefault();\n            return false;\n        }\n    }\n\n    /**\n     * Handler of submit form\n     * @param evt\n     */\n    private handleSubmit = (evt: SyntheticEvent) => {\n        evt.preventDefault();\n        const isFormHasErrors = [];\n        if (includes(isFormHasErrors, true)) {\n            this.setState({isErrors: true});\n            return;\n        } else {\n            this.setState({isErrors: false});\n        }\n        this.setState({isLoading: true});\n        const form = $(evt.currentTarget);\n        const query = filterParameter(form.serializeArray());\n        window.location.href = form.prop(\"action\") + (query ? (\"?\" + $.param(query)) : \"\");\n    }\n\n    /**\n     * Add input from the base query of selected search engine\n     * @protected\n     */\n    protected addBaseQueryInputs(filterSearchItems: ISearchItem[]): JSX.Element {\n        const currentSearchEngine = this.props.searchEngineStore.currentSearchEngine;\n\n        return (\n            <>\n                <input type=\"hidden\" name={paramConfig.SEARCH_ENGINE_CODE_PARAMETER} value={currentSearchEngine.code}/>\n                {addSearchEngineFormHideQueryInputs(currentSearchEngine.baseQuery, filterSearchItems)}\n            </>\n        );\n    }\n\n    /**\n     * Handler of destination select\n     * @param selected the selected destinations\n     */\n    private handleDestinationChange(selected: ISelectOption | ISelectOption[]) {\n        const {jsonUrl, searchEngineStore} = this.props;\n        const {DESTINATION_CODE_PARAMETER} = paramConfig;\n        let selectedDestination = \"\";\n        if (selected) {\n            if (Array.isArray(selected)) {\n                selectedDestination = map(selected, (item: ISelectOption) => {\n                    return item.value;\n                }).join(\",\");\n            } else {\n                selectedDestination = selected.value;\n            }\n        }\n        const url = replaceOrAddParam(jsonUrl, DESTINATION_CODE_PARAMETER, selectedDestination);\n        $.ajax({\n            url: url,\n            dataType: \"json\"\n        }).done((searchEngines: ISearchEngine[]) => {\n            const filteredSearchEngines = this.getSelectedSearchEnginesByCode(jsonUrl, searchEngines);\n            searchEngineStore.setCurrentSearchEngineMoreItems(filteredSearchEngines[0].moreItems);\n            this.setState({moreItems : filteredSearchEngines[0].moreItems });\n        });\n    }\n\n    /**\n     * Select search engines pf given code\n     * @param jsonUrl ajax call to get search engines\n     * @param searchEngines the search engines\n     */\n    private getSelectedSearchEnginesByCode(jsonUrl: string, searchEngines: ISearchEngine[]): ISearchEngine[] {\n        const {SEARCH_ENGINE_CODE_PARAMETER} = paramConfig;\n        const parameters = getUrlVar(jsonUrl);\n        let searchEngineCode;\n        if (jsonUrl && jsonUrl.indexOf(SEARCH_ENGINE_CODE_PARAMETER) !== -1) {\n            searchEngineCode = getQueryString(SEARCH_ENGINE_CODE_PARAMETER, jsonUrl);\n        }\n        if (!searchEngineCode || searchEngineCode === \"\") {\n            searchEngineCode = parameters[SEARCH_ENGINE_CODE_PARAMETER];\n        }\n        return searchEngines.filter((engine: ISearchEngine) => engine.code === searchEngineCode);\n    }\n\n\n}","import * as React from \"react\";\nimport {useEffect, useState} from \"react\";\nimport {createPortal} from \"react-dom\";\nimport type {ReactElement, MouseEvent} from \"react\";\nimport {Observer} from \"mobx-react\";\nimport type {ISearchEngineTexts, IProductCountData} from \"../../@types/api\";\nimport type {ISearchEngineStore} from \"../../stores/api\";\nimport type {ISearchItem} from \"../SearchItem\";\nimport CollapseContainer from \"../CollapseContainer\";\nimport {ISearchEngine} from \"../../@types/api\";\nimport {getUrlVar} from \"orxapi.tools.url\";\nimport {paramConfig} from \"../../configs/param\";\nimport {findParameterValue} from \"../../tools/stringTools\";\n\ntype SuperPanelProps = {\n    items: ISearchItem[];\n    searchEngineTexts: ISearchEngineTexts;\n    searchEngineStore: ISearchEngineStore;\n    addClass?: string;\n};\n\n/**\n * SuperPanel\n * @param items\n * @param searchEngineTexts\n * @param searchEngineStore\n * @param addClass The additional class, @default \"\"\n * @constructor\n */\nconst SuperPanel = ({items, searchEngineTexts, searchEngineStore, addClass = \"\"}: SuperPanelProps): ReactElement => {\n    const {toggleTabs, searchQuery, resetFilter} = searchEngineStore;\n    const [filterCodes, setFilterCodes] = useState<string[]>([]);\n    const [stateItems, setStateItems] = useState<ISearchItem[]>(items);\n    const [numberOfProducts, setNumberOfProducts] = useState<number>();\n\n    useEffect(() => {\n        setFilterCodes(stateItems.map((item: ISearchItem) => item.code));\n    }, [stateItems]);\n    \n    useEffect( () => {\n        $.ajax(\"/ajax/searchEngine/count?\" + searchQuery, {\n            dataType: \"json\"\n        }).done((response : IProductCountData) => {\n            setNumberOfProducts(response.productNumber);\n        });\n    }, [searchQuery]);\n\n    useEffect( () => {\n        $.ajax(\"/module/searchEngine?\" + searchQuery, {\n            dataType: \"json\"\n        }).done((searchEngines: ISearchEngine[]) => {\n            const {SEARCH_ENGINE_CODE_PARAMETER} = paramConfig;\n            const parameters = getUrlVar(searchQuery);\n            let searchEngineCode;\n            if (searchQuery !== null && searchQuery.indexOf(SEARCH_ENGINE_CODE_PARAMETER) !== -1) {\n                searchEngineCode = findParameterValue(searchQuery, SEARCH_ENGINE_CODE_PARAMETER);\n            }\n            if (!searchEngineCode || searchEngineCode === \"\") {\n                searchEngineCode = parameters[SEARCH_ENGINE_CODE_PARAMETER];\n            }\n            const filteredSearchEngines = searchEngines.filter((engine: ISearchEngine) => engine.code === searchEngineCode);\n            searchEngineStore.setCurrentSearchEngineMoreItems(filteredSearchEngines[0].moreItems);\n            setStateItems(filteredSearchEngines[0].moreItems);\n        });\n    }, [searchEngineStore]);\n\n\n    /**\n     * Handler of panel to close this\n     * @param evt\n     */\n    const handleClosePanel = (evt: MouseEvent<HTMLDivElement>) => {\n        // @ts-ignore\n        if (evt.target?.classList?.contains(\"cpt-se-super-panel\")) {\n            toggleTabs(\"moreItems\");\n        }\n    };\n\n    /**\n     * Handler of button to reset all values of the panel\n     */\n    const handleResetPanel = () => {\n        resetFilter(filterCodes);\n    };\n\n    return createPortal(\n        <div className={`cpt-se-super-panel ${addClass}`} onClick={handleClosePanel}>\n            <div className=\"inner-se-super-panel\">\n                <div className=\"scroll-se-super-panel\">\n                    <div className=\"title\">{searchEngineTexts?.openMoreTitle ?? \"\"}</div>\n                    {stateItems.map((item: ISearchItem, index: number) =>\n                        <CollapseContainer\n                            key={\"superPanel_\" + item.code + \"_\" + index}\n                            item={item}\n                        />\n                    )}\n                    <Observer>\n                        {() =>\n                            <div className=\"button-wrap\">\n                                <button type=\"button\" className=\"elem-button--primary-invert btn-reset-super-panel\" onClick={handleResetPanel}>\n                                    Réinitialiser\n                                </button>\n                                <button type=\"submit\" form=\"searchEngineForm\" className=\"elem-button--primary btn-validate-super-panel\">\n                                    Voir toutes les offres ( {numberOfProducts} )\n                                </button>\n                            </div>\n                        }\n                    </Observer>\n                </div>\n            </div>\n        </div>,\n        document.body\n    );\n};\n\nexport default SuperPanel;\nexport type {\n    SuperPanelProps\n};","import * as React from \"react\";\nimport {Component} from \"react\";\nimport {Observer, observer} from \"mobx-react\";\nimport {getSearchItemComponent, ISearchItem} from \"../SearchItem\";\n\ninterface ICollapseContainerProps {\n    item: ISearchItem;\n}\n\ninterface ICollapseContainerState {\n    isShowContent: boolean;\n}\n\n/**\n * the search engine more item panel\n */\n@observer\nexport default class CollapseContainer extends Component<ICollapseContainerProps, ICollapseContainerState> {\n\n    public render(): JSX.Element {\n        const {\n            item: {type, data, label, disabled, code},\n        } = this.props;\n        const displayTitle = type !== \"panel\";\n\n        return (\n            <div className=\"item-sef\">\n                {displayTitle && <div className=\"item-sef-label\">\n                    <label htmlFor=\"custom_select_20\" className=\"item-label-sef\">{label}</label>\n                </div>}\n                <Observer>\n                    {() =>\n                        <div className=\"item-content-se\">\n                            {getSearchItemComponent(type, {\n                                ...data,\n                                isMoreItems: true\n                            }, label, disabled, code)}\n                        </div>\n                    }\n                </Observer>\n            </div>\n        );\n    }\n}\n","import * as React from \"react\";\nimport type {ReactElement} from \"react\";\nimport {get} from \"lodash\";\nimport AsyncSelectSearchItem from \"./AsyncSelectSearchItem\";\nimport SelectSearchItem, {ISelectOption} from \"./SelectSearchItem\";\nimport PassengerSearchItem from \"./PassengerSearchItem\";\nimport DateSearchItem from \"./DateSearchItem\";\nimport CheckSearchItem from \"./CheckSearchItem\";\nimport InputSearchItem from \"./InputSearchItem\";\nimport RangeSearchItem from \"./RangeSearchItem\";\nimport PanelSearchItem from \"./PanelSearchItem\";\n\ntype SearchItemType =\n    | \"select\"\n    | \"date\"\n    | \"checkbox\"\n    | \"panel\"\n    | \"range\"\n    | \"input\"\n    | \"async-select\"\n    | \"passenger\";\n\ninterface ISearchItem {\n    label?: string;\n    code?: string;\n    type: SearchItemType;\n    data: Record<string, unknown>;\n    disabled?: boolean;\n}\n\n/**\n * Return the right component by type\n * @param type the type of component to return\n * @param data the data to fill component\n * @param label the label of search item\n * @param disabled the status of component\n * @param code the code of component\n * @param isPanelMode the status of the panel mode ( used for calendar)\n * @param onChange\n */\nfunction getSearchItemComponent(type: SearchItemType, data: any, label: string, disabled: boolean, code?: string, onChange?: (selected: ISelectOption | ISelectOption[]) => void, isPanelMode?: boolean): ReactElement {\n    /* eslint-disable @typescript-eslint/indent */\n    switch (type) {\n        case \"select\": {\n            return <SelectSearchItem {...data} disabled={disabled} onChange={onChange}/>;\n        }\n\n        case \"date\": {\n            const {storeValues, name} = data;\n            const departureDate = get(storeValues, \"departureDate\");\n            const keyForReturnDate = (name === \"returnDate\") ? departureDate && departureDate[0].code : \"\";\n            return <DateSearchItem key={keyForReturnDate} label={label} code={code} {...data} disabled={disabled} isPanelMode={isPanelMode}/>;\n        }\n\n        case \"range\": {\n            return <RangeSearchItem label={label} {...data} name={code} disabled={disabled}/>;\n        }\n\n        case \"panel\": {\n            return <PanelSearchItem code={code} label={label} disabled={disabled} onSelectChange={onChange} {...data} />;\n        }\n\n        case \"input\": {\n            return <InputSearchItem {...data} />;\n        }\n\n        case \"async-select\": {\n            return <AsyncSelectSearchItem {...data} />;\n        }\n\n        case \"passenger\": {\n            return <PassengerSearchItem {...data} />;\n        }\n\n        case \"checkbox\": {\n            return (data.options && data.options.length > 0) ? <CheckSearchItem {...data} disabled={disabled}/> : null;\n        }\n\n        default: {\n            return null;\n        }\n    }\n    /* eslint-enable @typescript-eslint/indent */\n}\n\nexport {\n    getSearchItemComponent,\n};\nexport type {\n    ISearchItem,\n    SearchItemType,\n};","import * as React from \"react\";\nimport {Component} from \"react\";\nimport {inject, observer} from \"mobx-react\";\nimport {map, debounce, isEmpty, toString, find, keys, get} from \"lodash\";\nimport cn from \"classnames\";\nimport Select from \"../../../components/CustomSelect/Select\";\nimport type {ISearchEngineStore} from \"../../../stores/api\";\n\nexport interface OptionType {\n    value: string | number;\n    label: string | number;\n}\n\nexport interface AutocompleteOptionType {\n    countryLabel: string;\n    locationType: string;\n    countryCode: string;\n    label: string;\n    code: string;\n    type: string;\n    codificationType: string;\n}\n\ninterface IAsyncSelectItemProps {\n    label: string;\n    disabled: boolean;\n    name: string;\n    placeholder?: string;\n    searchEngineStore: ISearchEngineStore;\n    options: any;\n    url: string;\n}\n\ninterface IAsyncSelectItemState {\n    autocompleteResponse: AutocompleteOptionType[];\n    autocompleteResponseFiltered: any;\n    autocompleteOptions: OptionType[];\n    selectValues: React.ReactText[];\n    isPlaceholder: boolean;\n    isDisabled: boolean;\n}\n\n/**\n * AsyncSelectSearchItem\n * @class\n */\n@inject(\"searchEngineStore\")\n@observer\nexport default class AsyncSelectSearchItem extends Component<IAsyncSelectItemProps, IAsyncSelectItemState> {\n\n    constructor(props: IAsyncSelectItemProps) {\n        super(props);\n        const storeValuesSelect = props.searchEngineStore.values[props.name];\n        const storeValuesSelectResponse = props.searchEngineStore.values[`${props.name}Response`];\n\n        this.state = {\n            autocompleteResponse: [],\n            autocompleteResponseFiltered: storeValuesSelectResponse ? storeValuesSelectResponse.slice() : [],\n            autocompleteOptions: map(storeValuesSelect, (item: any) => ({value: item.code, label: item.label})) || [],\n            selectValues: storeValuesSelect ? [storeValuesSelect[0].code] : [],\n            isPlaceholder: true,\n            isDisabled: storeValuesSelect && storeValuesSelect.slice().length >= 1,\n        };\n    }\n\n    public render(): JSX.Element {\n        const {label, name, placeholder} = this.props;\n        const {isDisabled, selectValues, autocompleteOptions, autocompleteResponseFiltered, isPlaceholder} = this.state;\n\n        return (\n            <div className=\"input-container\">\n                {label &&\n                    <p className=\"input-title\">{label}</p>\n                }\n                <div className=\"search-input-wrapper\">\n                    <span className={cn(\"placeholder\", {\"d-none\": !isPlaceholder || !isEmpty(selectValues)})}>{placeholder}</span>\n                    <Select\n                        isDisabled={isDisabled}\n                        value={selectValues}\n                        onChange={this.handleSelectChange}\n                        options={autocompleteOptions}\n                        onInputChange={this.handleOnInputChange}\n                        onFocus={this.handleOnFocus}\n                        onBlur={this.handleOnBlur}\n                    />\n                </div>\n                {map(autocompleteResponseFiltered, (item: any, index: number) => (\n                    <input key={item.label + \"_\" + index} type=\"hidden\" name={`${name}.${item.code}`} value={item.label}/>\n                ))}\n            </div>\n        );\n    }\n\n    /**\n     * Get search result\n     * @param data\n     */\n    private autocompleteCallback: any = debounce((data: string) => {\n        const {url} = this.props;\n        const newUrl = url.replace(\"{term}\", data);\n\n        AsyncSelectSearchItem.ajaxCallback(newUrl)\n            .done((response: any) => {\n                const newOptions = map(response, (option: AutocompleteOptionType) => ({\n                    label: option.label,\n                    value: option.code\n                }));\n                this.setState({autocompleteResponse: response, autocompleteOptions: newOptions});\n            })\n            .fail((response: any) => console.log(response));\n    }, 500);\n\n    /**\n     * call back on ajax response\n     * TODO remove ajax jQuery and replace by fetch\n     * @param url\n     */\n    private static ajaxCallback(url: string): JQuery.jqXHR {\n        return $.ajax({\n            url,\n            contentType: \"application/json\",\n            type: \"json\",\n            method: \"GET\"\n        });\n    }\n\n    /**\n     * handleOnInputChange\n     * @param value\n     */\n    private handleOnInputChange = (value: string) => {\n        if (value.length >= 3) {\n            this.autocompleteCallback(value);\n        }\n        if (value.length !== 0 || !isEmpty(this.state.selectValues)) {\n            this.setState({isPlaceholder: true});\n        }\n    }\n\n    /**\n     * handleSelectChange\n     * @param values\n     */\n    private handleSelectChange = (values: React.ReactText[]) => {\n        const {name, searchEngineStore: {replaceValue, addValue, resetFilter}} = this.props;\n        const {autocompleteResponse} = this.state;\n        const filteredResponse = find(autocompleteResponse, {\"code\": toString(values[0])});\n        const responseToStoreFormat = map(keys(filteredResponse), (key: any) => ({\n            code: key,\n            label: toString(filteredResponse[key])\n        }));\n\n        isEmpty(values)\n            ? this.setState({\n                isPlaceholder: true,\n                selectValues: values,\n                autocompleteResponseFiltered: {}\n            }, () => {\n                resetFilter([`${name}Response`]);\n                resetFilter([name]);\n            })\n            : this.setState({\n                isPlaceholder: false,\n                selectValues: values,\n                autocompleteResponseFiltered: responseToStoreFormat,\n            }, () => {\n                replaceValue(name, {code: toString(values[0]), label: get(filteredResponse, \"label\")});\n                addValue(`${name}Response`, responseToStoreFormat);\n            });\n\n        this.setState({isDisabled: values.length >= 1});\n    }\n\n    /**\n     * handleOnFocus\n     */\n    private handleOnFocus = () => {\n        $(\".se-layout-content\").find(\".se-search-item-container\").css({overflow: \"unset\"});\n        $(\"#searchEngine\").css({overflow: \"unset\"});\n        $(`.container-${this.props.name}`).css({overflow: \"unset\"});\n    }\n\n    /**\n     * handleOnBlur\n     */\n    private handleOnBlur = () => {\n        $(\".se-layout-content\").find(\".se-search-item-container\").css({overflow: \"auto\"});\n        $(\"#searchEngine\").css({overflow: \"hidden\"});\n        $(`.container-${this.props.name}`).css({overflow: \"scroll\"});\n    }\n\n}\n","import * as React from \"react\";\nimport {mapValueToLabelForOptions} from \"./utils\";\nimport cn from \"classnames\";\nimport {deburr} from \"lodash\";\n\nexport interface OptionType {\n    value: string | number;\n    label: string | number;\n}\n\ninterface KeyCodes {\n    [asString: string]: number;\n}\n\nconst KEY_CODES: KeyCodes = {\n    BACKSPACE: 8,\n    BOTTOM: 40,\n    ENTER: 13,\n    LEFT: 37,\n    RIGHT: 39,\n    UP: 38,\n};\n\ninterface SelectProps {\n    /**\n     * The value\n     *\n     * @since 0.0.1\n     * @version 0.0.1\n     */\n    value: Array<OptionType[\"value\"]>;\n    /**\n     * The handler\n     *\n     * @since 0.0.1\n     * @version 0.0.1\n     */\n    onChange: (nextValue: Array<OptionType[\"value\"]>) => void;\n    /**\n     * This is the list of options you want to show to the user\n     *\n     * @since 0.0.1\n     * @version 0.0.1\n     */\n    options: OptionType[];\n    onInputChange: (currentInput: string) => void;\n    onFocus?: (isFocused: boolean) => void;\n    onBlur?: (isBlur: boolean) => void;\n    isDisabled: boolean;\n}\n\ninterface SelectState {\n    currentInput: string;\n    focusedOptionIndex: number;\n    isOpen: boolean;\n    highlightedTagIndex: number | null;\n}\n\n/**\n * Custom select component\n */\nclass Select extends React.Component<SelectProps, SelectState> {\n\n    constructor(props: Readonly<SelectProps>) {\n        super(props);\n\n        this.state = {\n            currentInput: \"\",\n            focusedOptionIndex: -1,\n            highlightedTagIndex: null,\n            isOpen: false,\n        };\n    }\n\n    public get notSelectedOptions(): OptionType[] {\n        return this.props.options.filter(\n            (option: OptionType) => !this.props.value.includes(option.value),\n        );\n    }\n\n    public get valueFilteredOptions(): OptionType[] {\n        return this.notSelectedOptions.filter((option: OptionType) => {\n            const regex = new RegExp(deburr(this.state.currentInput), \"gi\");\n            return regex.test(deburr(option.label.toString()));\n        });\n    }\n\n    public onOptionRemove = (optionId: OptionType[\"value\"]) => () => {\n        const nextValue = [...this.props.value];\n        const optionIndex = this.props.value.findIndex((val: string) => val === optionId);\n\n        nextValue.splice(optionIndex, 1);\n\n        this.props.onChange(nextValue as any);\n    }\n\n    public handleFocus = () => {\n        this.setState({isOpen: true});\n        this.props.onFocus(true);\n    }\n    public handleBlur = () => {\n        this.setState({isOpen: false, currentInput: \"\"});\n        this.props.onBlur(true);\n    }\n\n    public handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n        switch (event.keyCode) {\n            case KEY_CODES.BACKSPACE:\n                if (event.currentTarget.value !== \"\") {\n                    return;\n                }\n\n                if ((this.state.highlightedTagIndex as number | null) !== null) {\n                    this.setState({highlightedTagIndex: null});\n                    const nextValue = [...this.props.value];\n                    nextValue.pop();\n                    this.props.onChange(nextValue);\n                    return;\n                }\n\n                // Backspace pressed, but no value in the input.\n                // So we should remove tag\n                if (this.props.value.length) {\n                    const index = this.props.value.length - 1;\n                    this.setState({highlightedTagIndex: index});\n                }\n                break;\n\n            case KEY_CODES.BOTTOM:\n                event.preventDefault();\n                if (this.valueFilteredOptions.length) {\n                    const targetIndex = this.state.focusedOptionIndex + 1;\n                    let target;\n\n                    if (this.valueFilteredOptions.length - 1 >= targetIndex) {\n                        target = targetIndex;\n                    } else {\n                        target = 0;\n                    }\n\n                    this.setState({focusedOptionIndex: target});\n                }\n                break;\n\n            case KEY_CODES.UP:\n                event.preventDefault();\n                if (this.valueFilteredOptions.length) {\n                    const targetIndex = this.state.focusedOptionIndex - 1;\n                    let target;\n\n                    if (targetIndex < 0) {\n                        target = this.valueFilteredOptions.length - 1;\n                    } else if (this.valueFilteredOptions.length - 1 >= targetIndex) {\n                        target = targetIndex;\n                    } else {\n                        target = targetIndex;\n                    }\n\n                    this.setState({focusedOptionIndex: target});\n                }\n                break;\n\n            case KEY_CODES.ENTER:\n                event.preventDefault();\n                if (this.state.focusedOptionIndex > -1) {\n                    const focusedOptionValue = this.valueFilteredOptions[\n                        this.state.focusedOptionIndex\n                        ].value;\n                    const nextValue = [...this.props.value, focusedOptionValue];\n                    this.props.onChange(nextValue);\n\n                    this.setState({\n                        currentInput: \"\",\n                        focusedOptionIndex: -1,\n                    });\n                }\n                break;\n\n            default:\n                break;\n        }\n    }\n\n    public mapLabelToSearch = (label: OptionType[\"label\"]) => {\n        if (this.state.currentInput) {\n            const regex = new RegExp(`(${this.state.currentInput})`, \"gi\");\n            return label.toString().replace(regex, \"<b>$1</b>\");\n        }\n\n        return label.toString();\n    }\n\n    public handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n        this.setState({currentInput: event.currentTarget.value});\n        this.props.onInputChange(event.currentTarget.value);\n    }\n\n    public handleOptionSelect = (optionId: OptionType[\"value\"]) => () => {\n        const nextValue = [...this.props.value];\n        nextValue.push(optionId);\n        this.props.onChange(nextValue);\n    }\n\n    /**\n     * render\n     */\n    public render() {\n        const {isDisabled} = this.props;\n        const {\n            isOpen,\n            currentInput,\n            focusedOptionIndex,\n            highlightedTagIndex,\n        } = this.state;\n\n        const mapValueToLabel = mapValueToLabelForOptions(this.props.options);\n\n        return (\n            <div className=\"select-wrapper\">\n                <div className={cn(\"input-wrapper\", {\"is-open\": isOpen})}>\n                    {this.props.value.map((value: string, tagIndex: number) => (\n                        <span className={cn(\"tag\", {\"is-highlighted\": highlightedTagIndex === tagIndex})} key={value}>\n              {mapValueToLabel(value)}\n                            <span onClick={this.onOptionRemove(value)}>&times;</span>\n            </span>\n                    ))}\n\n                    <input\n                        className={cn(\"search-input\", {disabled: isDisabled})}\n                        value={isDisabled ? \"\" : currentInput}\n                        onChange={this.handleInputChange}\n                        onFocus={this.handleFocus}\n                        onBlur={this.handleBlur}\n                        onKeyDown={this.handleKeyDown}\n                    />\n                </div>\n\n                <ul className={cn(\"options-wrapper\", {\"is-open\": isOpen})}>\n                    {this.valueFilteredOptions.length > 0 ? (\n                        this.valueFilteredOptions.map((option: OptionType, optionIndex: number) => (\n                            <li\n                                className={cn(\"option\", {\"is-focused\": focusedOptionIndex === optionIndex})}\n                                key={option.value}\n                                onMouseDown={this.handleOptionSelect(option.value)}\n                                dangerouslySetInnerHTML={{__html: this.mapLabelToSearch(option.label)}}\n                            />\n                        ))\n                    ) : (\n                        <li className=\"option d-none\">No result</li>\n                    )}\n                </ul>\n            </div>\n        );\n    }\n}\n\nexport default Select;\n","import {OptionType} from \"./Select\";\nimport {find} from \"lodash\";\n\nexport const mapValueToLabelForOptions = (options: OptionType[]) => (\n    value: OptionType[\"value\"],\n) => {\n    const opt = find(options, (option: OptionType) => option.value === value);\n\n    if (opt) {\n        return opt.label;\n    }\n    return value;\n};\n","import * as React from \"react\";\nimport {Children, ChangeEvent, Component, ReactElement} from \"react\";\nimport Select, {components} from \"react-select\";\nimport {inject, Observer, observer} from \"mobx-react\";\nimport {filter, some, isEmpty, reduce} from \"lodash\";\nimport {observable} from \"mobx\";\nimport type {CodeLabel} from \"../../../@types/api\";\nimport type {ISearchEngineStore} from \"../../../stores/api\";\nimport {startsWith} from \"../../../tools/polyfillTools\";\n\n/**\n * the option props interface\n */\ninterface IOptionProps {\n    code: string;\n    label: string;\n    group?: string;\n}\n\n/**\n * the option for select\n */\nexport interface ISelectOption {\n    value: string;\n    label: string;\n}\n\n/**\n * the group option for select\n */\ninterface ISelectGroupOption {\n    label?: string;\n    code?: string;\n    options: ISelectOption[];\n}\n\n/**\n * props interface of select search item\n */\nexport interface ISelectSearchItemProps {\n    name: string;\n    onChange: (selected: ISelectOption | ISelectOption[]) => void;\n    options: IOptionProps[];\n    groupLabels?: Record<string, string>;\n    placeholder?: string;\n    noResultText?: string;\n    autocomplete?: boolean;\n    multi?: boolean;\n    disabled: boolean;\n    searchEngineStore: ISearchEngineStore;\n    clearable?: boolean;\n    hiddenValue?: string;\n    checkboxLabel?: string;\n}\n\nexport interface ISelectSearchItemState {\n    isOptionsOpen: boolean;\n    useIndent: boolean;\n}\n\n/**\n * search input with a select\n */\n@inject(\"searchEngineStore\")\n@observer\nexport default class SelectSearchItem extends Component<ISelectSearchItemProps, ISelectSearchItemState> {\n    @observable private check: boolean;\n\n    constructor(props: Readonly<ISelectSearchItemProps>) {\n        super(props);\n        this.check = false;\n\n        this.state = {\n            // isOptionsOpen is deprecated.\n            isOptionsOpen: false,\n            useIndent: true,\n        };\n    }\n\n    componentDidUpdate() {\n        const {name, searchEngineStore} = this.props;\n        if (searchEngineStore.tabIsReset[name]) {\n            this.setState({\n                isOptionsOpen: false,\n                useIndent: true,\n            });\n            searchEngineStore.toggleResetTab(name);\n        }\n    }\n\n    /**\n     * the render\n     */\n    public render(): JSX.Element {\n        const {\n            name, clearable, hiddenValue, multi,\n            searchEngineStore, options, placeholder,\n            disabled, noResultText\n        } = this.props;\n        const groups = this.createGroups(options || [], this.props.groupLabels || {});\n        const groupedOptions = [];\n        groups.forEach((value: any) => groupedOptions.push(value));\n\n        const DropdownIndicator = (props: any) => (\n            components.DropdownIndicator && (\n                <components.DropdownIndicator {...props}>\n                    <div\n                        className=\"rotate90\"\n                        style={{cursor: \"pointer\"}}>\n                        <span>&gt;</span>\n                    </div>\n                </components.DropdownIndicator>\n            )\n        );\n\n        const selectedValues = reduce(searchEngineStore.values[name], (acc: any, item: any) => [...acc, item.code], []);\n        if (selectedValues && selectedValues.length !== 0) {\n            $(\".cpt-se-search-item-desktop-container.\" + name).addClass(\"hideBefore\");\n        } else {\n            $(\".cpt-se-search-item-desktop-container.\" + name).removeClass(\"hideBefore\");\n        }\n\n        /**\n         * Retrieve specific components of select\n         * @param valueContainer if a container for values is needed\n         */\n        const getComponents = (valueContainer: boolean) => {\n            const valueContainerAttribute = valueContainer ? { ValueContainer: this.getValueContainer } : {};\n            return {\n                Group: SelectSearchItem.getGroupLayout(),\n                Option: SelectSearchItem.getOptionLayout(this.state.useIndent),\n                DropdownIndicator,\n                ...valueContainerAttribute\n            };\n        };\n\n        return (\n            <div className=\"cpt-se-select-search-item\">\n                {\n                    this.getCheckbox()\n                }\n                {(!this.isCheckable() || this.check) &&\n                    this.getCheckboxLabel()\n                }\n                {(!this.isCheckable() || this.check) &&\n                    <Observer key={name + \"_isChecked\"}>\n                        {() =>\n                            <Select\n                                isMulti={multi}\n                                hideSelectedOptions={false}\n                                isClearable={clearable}\n                                isDisabled={disabled}\n                                className=\"basic-select\"\n                                classNamePrefix=\"custom-select\"\n                                placeholder={placeholder || \"Toutes les destinations\"}\n                                aria-label={placeholder || \"Toutes les destinations\"}\n                                noOptionsMessage={() => noResultText}\n                                value={this.findSelectedValue(searchEngineStore.values[name])}\n                                options={groupedOptions}\n                                getOptionValue={(option: ISelectOption) => option.label}\n                                components={getComponents(multi)}\n                                onInputChange={() => this.setState({useIndent: false})}\n                                onChange={(selected: ISelectOption | ISelectOption[]) => {\n                                    this.handleChange(selected);\n                                }}\n\n                                // [PRDHV-3612]\n                                // If the attribute isSearchable is set, they are rendering issues on the ValueContainer component\n                                // this is why this attribute is now disabled and we added getComponents(multi)\n                                // isSearchable={autocomplete}\n                                // This means that the configurable search engine \"autocomplete\" item in editorials of the administration tool\n                                // is deprecated and has no effect now\n                            />\n                        }\n                    </Observer>\n                }\n\n                <input type=\"hidden\" name={name} value={selectedValues}/>\n                {(this.isCheckable() && !this.check) &&\n                    <input name={this.props.name} type=\"hidden\" value={hiddenValue}/>\n                }\n            </div>\n        );\n    }\n\n    private handleChange(selected: ISelectOption | ISelectOption[]) {\n        const {searchEngineStore, name} = this.props;\n        this.setState({isOptionsOpen: false, useIndent: true});\n        const isArray = Array.isArray(selected);\n        if (!selected || (isArray && (selected as ISelectOption[]).length === 0)) {\n            searchEngineStore.selectValue(name, []);\n        } else {\n            const lastSelected = isArray ? selected[(selected as ISelectOption[]).length - 1] : selected;\n            if (lastSelected.value && startsWith(lastSelected.value, \"href:\")) {\n                window.location.href = lastSelected.value.replace(\"href:\", \"\");\n\n            } else if (lastSelected.value && startsWith(lastSelected.value, \"openMoreItems\")) {\n                searchEngineStore.toggleTabs(\"moreItems\");\n            } else if (lastSelected.value !== \"\") {\n                if (isArray) {\n                    searchEngineStore.selectValue(name, (selected as ISelectOption[]).map((o: ISelectOption) => ({\n                        label: o.label,\n                        code: o.value\n                    })));\n                } else {\n                    searchEngineStore.selectValue(name, [{\n                        label: (selected as ISelectOption).label,\n                        code: (selected as ISelectOption).value\n                    }]);\n                }\n            }\n        }\n    }\n\n    private getValueContainer({children, getValue, hasValue, ...props}): ReactElement {\n        const valuesLabel = hasValue ? getValue().map((selected : ISelectOption) => selected.label).join(\", \") : null;\n        return (\n            // @ts-ignore\n            <components.ValueContainer {...props}>\n                {Children.map(children, (child) =>\n                    child && (!hasValue || child.type === components.Input) ? child : null\n                )}\n                {hasValue &&\n                    <div className={\"ellipsis valuesLabel\"}>{valuesLabel}</div>\n                }\n            </components.ValueContainer>\n        );\n    }\n\n    /**\n     * get checkbox label\n     */\n    private getCheckboxLabel() {\n        const checkboxLabel = this.props.checkboxLabel;\n        if (checkboxLabel && checkboxLabel !== \"\") {\n            return (\n                <span>{checkboxLabel}</span>\n            );\n        }\n    }\n\n    /**\n     * get the checkbox html\n     */\n    private getCheckbox() {\n        const hiddenValue = this.props.hiddenValue;\n        if (hiddenValue && hiddenValue !== \"\") {\n            return (\n                <>\n                    <input\n                        type=\"checkbox\"\n                        id=\"cbx_openSubCheck\"\n                        checked={this.check}\n                        className=\"input-open-sub-check\"\n                        onChange={(evt: ChangeEvent<HTMLInputElement>) => {\n                            this.check = evt.currentTarget.checked;\n                        }}\n                    />\n                    <label htmlFor=\"cbx_openSubCheck\" className=\"label-open-sub-check\"/>\n                </>\n            );\n        }\n    }\n\n    /**\n     * is has checkbox\n     */\n    private isCheckable() {\n        const hiddenValue = this.props.hiddenValue;\n        return hiddenValue && hiddenValue !== \"\";\n    }\n\n    /**\n     * find the selected value\n     * @param selected\n     */\n    private findSelectedValue(selected: CodeLabel[]): ISelectOption[] {\n        const {options} = this.props;\n\n        if (!isEmpty(selected)) {\n            const selectedValues = filter(options, (option: IOptionProps) => some(selected, (item: any) => option.code === item.code));\n\n            return selectedValues.map(({code, label}: IOptionProps) => ({value: code, label}));\n        }\n\n        return [];\n    }\n\n    /**\n     * the option layout\n     */\n    private static getOptionLayout(useIndent: boolean) {\n        return (props: any) => {\n            const value: string = props?.data?.value;\n            let addClass = \"\";\n            if (value && value.indexOf(\".\") !== -1) {\n                addClass = useIndent ? \"level-\" + (value.split(\".\").length - 1) : \"\";\n            }\n            if (!value || value === \"\") {\n                addClass = \"empty-item\";\n            }\n            if (value && startsWith(value, \"href:\")) {\n                addClass = \"link-item\";\n            }\n            if (value && startsWith(value, \"openMoreItems\")) {\n                addClass = \"open-more-items\";\n            }\n            return (\n                <components.Option className={addClass} {...props}/>\n            );\n        };\n    }\n\n    /**\n     * the group layout\n     */\n    private static getGroupLayout() {\n        return (props: any) => (\n            <div className={props.data.code || \"\"}>\n                <components.Group {...props}/>\n            </div>\n        );\n    }\n\n    /**\n     * create groups for select\n     * @param options\n     * @param groupNames\n     */\n    private createGroups(options: IOptionProps[], groupNames: Record<string, string>) {\n        const groups = new Map<string, ISelectGroupOption>();\n        groups.set(\"\", {options: []});\n        options.forEach((option: IOptionProps) => {\n            if (option.group) {\n                const groupCode = option.group;\n                if (!groups.has(groupCode)) {\n                    groups.set(groupCode, {label: groupNames[groupCode], code: groupCode, options: []});\n                }\n                groups.get(groupCode).options.push({value: option.code, label: this.getOptionLabel(option)});\n            } else {\n                groups.get(\"\").options.push({value: option.code, label: this.getOptionLabel(option)});\n            }\n        });\n        return groups;\n    }\n\n    private getOptionLabel(option: IOptionProps): string {\n        return option.code === \"openMoreItems\"? \"Plus de villes de départs\" : option.label;\n    }\n}\n","/**\n * check if value stare with\n * @param value\n * @param startWith\n */\nexport function startsWith(value: string, startWith: string): boolean {\n    if (!value.startsWith) {\n        return value.indexOf(startWith) === 0;\n    } else {\n        return value.startsWith(startWith);\n    }\n}\n","import * as React from \"react\";\nimport {Component} from \"react\";\nimport {inject, observer} from \"mobx-react\";\nimport {map, findIndex, find, isEmpty, get, toString, isNull, reduce} from \"lodash\";\nimport type {ISearchEngineStore} from \"../../../stores/api\";\n\ninterface PaxItem {\n    initialValue: number;\n    manageOwnLabel: boolean;\n    maxValue: number;\n    minValue: number;\n    name: string;\n}\n\ninterface IPassengerItemProps {\n    name: string;\n    paxItems: PaxItem[];\n    searchEngineStore: ISearchEngineStore;\n    texts: any;\n}\n\ninterface IPassengerItemState {\n    selectedValues: any;\n    totalPassengers: any;\n}\n\n/**\n * the check boxes search component\n */\n@inject(\"searchEngineStore\")\n@observer\nexport default class PassengerSearchItem extends Component<IPassengerItemProps, IPassengerItemState> {\n    constructor(props: Readonly<IPassengerItemProps>) {\n        super(props);\n\n        this.state = {\n            selectedValues: [],\n            totalPassengers: 0,\n        };\n    }\n\n    /**\n     * Handle DidMount\n     */\n    public componentDidMount() {\n        const {selectedValues, totalPassengers} = this.state;\n        const {paxItems} = this.props;\n        const newValues = [...selectedValues];\n\n        if (isEmpty(selectedValues)) {\n            map(paxItems, (item: any) => {\n                item.initialValue !== 0 && newValues.push({name: item.name, value: item.initialValue});\n            });\n\n            if (isNull(totalPassengers)) {\n                this.setState({selectedValues: newValues});\n            }\n        }\n\n        this.getPaxValuesFromStore();\n    }\n\n    /**\n     *\n     */\n    public getPaxValuesFromStore = () => {\n        const {searchEngineStore: {values}, paxItems} = this.props;\n        const newValues = reduce(paxItems.slice(), (result: any, value: any, _key: number) => {\n            if (!isEmpty(values[value.name])) {\n                result.push({name: value.name, value: values[value.name][0].code});\n            } else {\n                result.push({name: value.name, value: value.initialValue});\n            }\n\n            return result;\n        }, []);\n\n        !isEmpty(newValues) && this.setState({selectedValues: newValues}, () => this.countTotalPassengers(newValues));\n    }\n\n    public countTotalPassengers = (data: any) => {\n        const totalPassengers = reduce(data, (result: any, value: any) => {\n            result = result + value.value;\n\n            return result;\n        }, 0);\n\n        $(\"#subtitle-passenger\").text(`${totalPassengers} Passagers`);\n    }\n\n    /**\n     * Handle increment button\n     */\n    public handleIncrementChange = (name: string, initialValue: number, maxValue: number) => {\n        const {selectedValues} = this.state;\n        const {searchEngineStore: {replaceValue}} = this.props;\n        const newValues = [...selectedValues];\n        const index = findIndex(newValues, [\"name\", name]);\n\n        if (index !== -1) {\n            if (newValues[index].value + 1 === maxValue + 1) {\n                return;\n            }\n            newValues[index].value = newValues[index].value + 1;\n        } else {\n            if (initialValue + 1 === maxValue + 1) {\n                return;\n            }\n            newValues.push({name, value: initialValue + 1});\n        }\n\n        this.setState({selectedValues: newValues}, () => {\n            replaceValue(name, {code: find(newValues, {\"name\": name}).value, label: \"\"});\n        });\n    }\n\n    /**\n     * Handle decrement button\n     */\n    public handleDecrementChange = (name: string, initialValue: number, minValue: number) => {\n        const {selectedValues} = this.state;\n        const {searchEngineStore: {replaceValue}} = this.props;\n        const newValues = [...selectedValues];\n        const index = findIndex(newValues, [\"name\", name]);\n\n        if (index !== -1) {\n            if (newValues[index].value - 1 === minValue - 1) {\n                return;\n            }\n            newValues[index].value = newValues[index].value - 1;\n        } else {\n            if (initialValue - 1 === minValue - 1) {\n                return;\n            }\n            newValues.push({name, value: initialValue - 1});\n        }\n\n        this.setState({selectedValues: newValues}, () => {\n            replaceValue(name, {code: find(newValues, {\"name\": name}).value, label: \"\"});\n        });\n    }\n\n    /**\n     * Render pax item function\n     */\n    private renderPaxItem = (item: PaxItem, index: number) => {\n        const {texts} = this.props;\n        const {selectedValues} = this.state;\n        const {maxValue, initialValue, name, minValue} = item;\n        const paxItemValue = find(selectedValues, {name});\n        const currentValue = isEmpty(toString(get(paxItemValue, \"value\"))) ? initialValue : get(paxItemValue, \"value\");\n\n        return (\n            <div key={`PaxItem-${index}`} className=\"pax-item col-6 pl-0\">\n                <div className=\"title\">{!isEmpty(texts) ? texts[name] : name}</div>\n                <div className=\"pax-item-control col-5\">\n                    <div className=\"decrement\" onClick={() => this.handleDecrementChange(name, initialValue, minValue)}>\n                        <span>-</span>\n                    </div>\n                    <div className=\"current-value\">{currentValue}</div>\n                    <div className=\"increment\" onClick={() => this.handleIncrementChange(name, initialValue, maxValue)}>\n                        <span>+</span>\n                    </div>\n                </div>\n            </div>\n        );\n    }\n\n    /**\n     * the render\n     */\n    public render(): JSX.Element {\n        const {paxItems} = this.props;\n        const {selectedValues} = this.state;\n\n        return (\n            <div className=\"section-paxItems\">\n                {map(paxItems, (item: PaxItem, index: number) => this.renderPaxItem(item, index))}\n                {map(selectedValues, (item: any, index: number) => {\n                    return item.value !== 0 && (\n                        <input key={`paxItemInput-${index}`} type=\"hidden\" name={item.name} value={item.value}/>\n                    );\n                })}\n            </div>\n        );\n    }\n}\n","import * as React from \"react\";\nimport {Component, SyntheticEvent, Fragment} from \"react\";\nimport {inject, Observer, observer} from \"mobx-react\";\nimport DayPicker from \"react-day-picker\";\nimport MomentLocaleUtils from \"react-day-picker/moment\";\nimport {get, isUndefined} from \"lodash\";\nimport * as DOMPurify from \"dompurify\";\nimport \"moment/locale/fr\";\nimport moment = require(\"moment\");\nimport type {ISearchEngineStore} from \"../../../stores/api\";\nimport type {ISearchEngineText} from \"../../../@types/api\";\nimport {dateConfig} from \"../../../configs/date\";\nimport DateSearchItemStore from \"../../../stores/date\";\nimport type {IAdjust, IAdjustOption} from \"../../../@types/date\";\nimport MonthHead from \"./MonthHead\";\nimport WrapDiv from \"../../../components/WrapDiv\";\n\nexport interface IDateSearchItemProps {\n    label: string;\n    name: string;\n    code: string;\n    dayName: string;\n    monthName: string;\n    minDepDate: string;\n    maxDepDate: string;\n    defaultOpen: boolean;\n    validLabel?: string;\n    submitOnValid?: boolean;\n    placeholder?: string;\n    monthToShow?: number;\n    startAtFromToday?: number;\n    triggerDiv?: boolean;\n    triggerDivLabel?: string;\n    containerTitle?: string;\n    anyDateLabel?: string;\n    anyDateButtonLabel?: string;\n    footerControls?: boolean;\n    adjust?: IAdjust;\n    visibleDateFormat?: string;\n    locale?: string;\n    allMonthLabel?: string;\n    allMonthSingle?: boolean;\n    allMonthNoFlex?: boolean;\n    searchEngineStore: ISearchEngineStore;\n    iconHtml?: string;\n    inputForStartLimit?: string;\n    inputForEndLimit?: string;\n    mobileCloseLabel?: string;\n    searchEngineText?: ISearchEngineText;\n    toTargetName?: string;\n    fromTargetName?: string;\n    keepOnClean?: boolean;\n    isPanelMode?: boolean;\n}\n\ninterface IDateSearchItemState {\n    open: boolean;\n    selected: boolean;\n}\n\n/**\n * the search item by date\n */\n@inject(\"searchEngineStore\")\n@observer\nexport default class DateSearchItem extends Component<IDateSearchItemProps, IDateSearchItemState> {\n    private readonly store: DateSearchItemStore;\n    private dateSearchItemRef: HTMLDivElement;\n    private readonly locale: string;\n    private readonly itemText: any;\n\n    public constructor(props: Readonly<IDateSearchItemProps>) {\n        super(props);\n        this.store = props.searchEngineStore.getDateStoreOrCreate(DateSearchItem.getCode(this.props, this.props.searchEngineStore));\n        const adjustData: IAdjust = this.props.adjust;\n        const dayValue = get(props.searchEngineStore.values[props.dayName], \"[0].code\");\n        const monthYearValue = get(props.searchEngineStore.values[props.monthName], \"[0].code\");\n        const fullDateValue = get(props.searchEngineStore.values[props.label], \"[0].code\");\n        if (this.props.searchEngineText && this.props.searchEngineText.items) {\n            this.itemText = this.props.searchEngineText.items[this.props.label ? this.props.label : this.props.dayName + \"_\" + this.props.monthName];\n        } else {\n            this.itemText = {};\n        }\n        if (fullDateValue) {\n            this.store.selectDate(moment(fullDateValue, \"DD/MM/YYYY\").toDate());\n        } else if (dayValue && monthYearValue) {\n            const departureDate = moment(dayValue + \"/\" + monthYearValue, \"DD/MM/YYYY\").toDate();\n            this.store.selectDate(departureDate);\n        }\n        this.state = {\n            open: props.defaultOpen,\n            selected: this.store.activeDate != undefined\n        };\n        if (props.adjust) {\n            const adjustValueFromStore = get(props.searchEngineStore.values[props.adjust.name], \"[0].code\");\n            const adjustValueFromDefault = adjustData?.adjustOptions?.[0]?.code;\n            const adjustValue = adjustValueFromStore || adjustValueFromDefault;\n            if (adjustValue) {\n                this.store.setAdjustDateBy(Number(adjustValue));\n            }\n        }\n        const minDep = get(props.searchEngineStore.values[props.minDepDate], \"[0].code\");\n        const maxDep = get(props.searchEngineStore.values[props.maxDepDate], \"[0].code\");\n        if (minDep && maxDep) {\n            const min = moment(minDep, \"YYYY-MM-DD\");\n            const max = moment(maxDep, \"YYYY-MM-DD\");\n            const adjust = this.store.adjustValue;\n            if (adjust) {\n                min.add(adjust, \"day\");\n                max.add(-adjust, \"day\");\n            }\n            this.store.addMonth(min.format(dateConfig.monthYearPattern));\n            this.store.addMonth(max.format(dateConfig.monthYearPattern));\n\n        }\n        this.handleCloseCalendarContainer = this.handleCloseCalendarContainer.bind(this);\n        this.locale = this.props.locale || \"fr\";\n        moment.locale(this.locale);\n        this.cleanSelection = this.cleanSelection.bind(this);\n        this.setOpen = this.setOpen.bind(this);\n        this.setClose = this.setClose.bind(this);\n        this.toggleOpen = this.toggleOpen.bind(this);\n    }\n\n    public componentDidMount() {\n        // deprecated, use date-search-item:close\n        this.dateSearchItemRef.addEventListener(\"cptSeDateSearchItem:close\", this.handleCloseCalendarContainer);\n        this.dateSearchItemRef.addEventListener(\"cpt-se-date-search-item:close\", this.handleCloseCalendarContainer);\n        this.dateSearchItemRef.addEventListener(\"cpt-se-date-search-item:clean\", this.cleanSelection);\n    }\n\n    public componentWillUnmount() {\n        // deprecated, use date-search-item:close\n        this.dateSearchItemRef.removeEventListener(\"cptSeDateSearchItem:close\", this.handleCloseCalendarContainer);\n        this.dateSearchItemRef.removeEventListener(\"cpt-se-date-search-item:close\", this.handleCloseCalendarContainer);\n        this.dateSearchItemRef.removeEventListener(\"cpt-se-date-search-item:clean\", this.cleanSelection);\n    }\n\n    public componentDidUpdate(prevProps: Readonly<IDateSearchItemProps>, prevState: Readonly<IDateSearchItemState>) {\n        if (prevState.open !== this.state.open) {\n            $(this.dateSearchItemRef).trigger(\"search-item:\" + (this.state.open ? \"opening\" : \"closing\"));\n        }\n        if (this.props.searchEngineStore.tabIsReset[this.props.code] === true) {\n            this.setState({\n                selected: false\n            });\n            this.props.searchEngineStore.toggleResetTab(this.props.code);\n        }\n    }\n\n    public render(): JSX.Element {\n        const {\n            code, footerControls, monthToShow, dayName, monthName, isPanelMode = false,\n            adjust, validLabel, iconHtml, searchEngineStore : {values, replaceValue}\n        } = this.props;\n        const dateToStart = this.getDateToStart();\n        const disabledFlexibility = this.props.allMonthNoFlex && this.store.months.length !== 0;\n        const highlightedCondition = !isUndefined(this.store.activeDate) && !isUndefined(this.store.adjustValue) && (this.store.adjustValue !== 0);\n        const highlightedBefore = {\n            from: highlightedCondition ? moment(this.store.activeDate).subtract(1, \"d\").toDate() : undefined,\n            to: highlightedCondition ? moment(this.store.activeDate).subtract(this.store.adjustValue, \"d\").toDate() : undefined\n        };\n        const highlightedAfter = {\n            from: highlightedCondition ? moment(this.store.activeDate).add(1, \"d\").toDate() : undefined,\n            to: highlightedCondition ? moment(this.store.activeDate).add(this.store.adjustValue, \"d\").toDate() : undefined\n        };\n\n        return (\n            <Observer key={code}>\n                {() =>\n                    <div\n                        ref={(elem: HTMLDivElement) => this.dateSearchItemRef = elem}\n                        className={\"cpt-se-date-search-item \" + (this.state.open ? \"open\" : \"\")}\n                    >\n                        {this.getTriggerElement(isPanelMode)}\n                        {iconHtml &&\n                            <span dangerouslySetInnerHTML={{__html: DOMPurify.sanitize(iconHtml)}}/>\n                        }\n                        {this.store.activeDate && this.state.selected && !isPanelMode &&\n                        <div className={\"clean\"} onClick={this.cleanSelection}>\n                            {this.props.searchEngineText && this.props.searchEngineText.common && this.props.searchEngineText.common.cleanTitle &&\n                                <div className={\"clean-title\"}>{this.props.searchEngineText.common.cleanTitle}</div>\n                            }\n                            <div className={\"clean-icon\"}/>\n                        </div>\n                        }\n                        {this.addDateInputs()}\n                        {(this.state.open || isPanelMode) &&\n                            <div className=\"datepicker-container\">\n                                <div className=\"inner-datepicker-container\">\n                                    {this.props.containerTitle &&\n                                        <div className=\"datepicker-container-title\">{this.props.containerTitle}</div>\n                                    }\n                                    <div className=\"datepicker-scrollbar\">\n                                        <DayPicker\n                                            numberOfMonths={monthToShow ? monthToShow : 1}\n                                            fromMonth={dateToStart}\n                                            toMonth={moment(dateToStart).add(15, \"months\").toDate()}\n                                            initialMonth={this.store.activeDate ? this.store.activeDate : dateToStart}\n                                            disabledDays={{before: dateToStart}}\n                                            selectedDays={this.state.selected && this.store.activeDate || {\n                                                from: this.store.allMonthsMinDepartureDate,\n                                                to: this.store.allMonthsMaxDepartureDate\n                                            }}\n                                            onDayClick={(date: Date) => {\n                                                this.store.selectDate(date);\n                                                this.setState({\n                                                    selected: true\n                                                });\n                                                replaceValue(dayName, {code: moment(date).format(\"DD\"), label: \"\"});\n                                                replaceValue(monthName, {code: moment(date).format(\"MM/YYYY\"), label: \"\"});\n                                            }}\n                                            modifiers={{included: this.store.includedDates, highlightedBefore, highlightedAfter}}\n                                            localeUtils={MomentLocaleUtils}\n                                            locale={this.locale}\n                                            captionElement={({date}: { date: Date }) => (\n                                                <MonthHead\n                                                    store={this.store}\n                                                    date={date}\n                                                    allMonthLabel={this.props.allMonthLabel}\n                                                    allMonthSingle={this.props.allMonthSingle}\n                                                    allMonthNoFlex={this.props.allMonthNoFlex}\n                                                    firstMonth={dateToStart}\n                                                />\n                                            )}\n                                        />\n                                        <div className={\"datepicker-flexibility\" + (disabledFlexibility ? \" disabled\" : \"\")}>\n                                            <WrapDiv test={!footerControls}>\n                                                {this.getAdjustOptions(adjust, disabledFlexibility)}\n                                                {!footerControls && validLabel &&\n                                                    <div className=\"button-wrap\" onClick={this.toggleOpen}>\n                                                        <span className=\"elem-button--primary\">{validLabel}</span>\n                                                    </div>\n                                                }\n                                            </WrapDiv>\n                                        </div>\n                                        {this.getFooterControls()}\n                                    </div>\n                                </div>\n                            </div>\n                        }\n                        {this.props.fromTargetName &&\n                            this.createNightNumberDiv(\"night-from\", this.props.fromTargetName)\n                        }\n                        {this.props.toTargetName &&\n                            this.createNightNumberDiv(\"night-to\", this.props.toTargetName, -1)\n                        }\n                    </div>\n                }\n            </Observer>\n        );\n    }\n\n\n    /**\n     * create a code for this date search item\n     * @param props\n     * @param searchEngineStore\n     */\n    public static getCode(props: IDateSearchItemProps, searchEngineStore: ISearchEngineStore) {\n        let code = \"\";\n        if (props.code) {\n            code += props.code;\n        }\n        if (props.dayName && props.monthName) {\n            code += props.dayName + \"_\" + props.monthName;\n        }\n        return this.buildDateStoreCode(searchEngineStore, code);\n    }\n\n    /**\n     * buildDateStoreCode\n     * @param searchEngineStore\n     * @param name\n     */\n    public static buildDateStoreCode(searchEngineStore: ISearchEngineStore, name: string): string {\n        return searchEngineStore.currentSearchEngine.code + \"_\" + name;\n    }\n\n    /**\n     * add div with the number of night from or to active date\n     * @param className\n     * @param targetName\n     * @param multiplier\n     */\n    private createNightNumberDiv(className: string, targetName: string, multiplier = 1) {\n        const targetActiveDate = this.props.searchEngineStore.getDateStoreOrCreate(DateSearchItem.buildDateStoreCode(this.props.searchEngineStore, targetName)).activeDate;\n        const activeDate = this.store.activeDate;\n        if (!targetActiveDate || !activeDate) {\n            return null;\n        }\n        const nightNumber = moment(activeDate).diff(moment(targetActiveDate), \"days\") * multiplier;\n        const nightTarget = this.itemText ?\n            (nightNumber > 1 ? this.itemText.nightsTarget : this.itemText.nightTarget)\n            || \"{night}\" : \"{night}\";\n        const nightText = nightTarget.replace(\"{night}\", String(nightNumber));\n\n        return (\n            <div className={className} dangerouslySetInnerHTML={{__html: DOMPurify.sanitize(nightText)}}/>\n        );\n    }\n\n    /**\n     * Renders footer\n     */\n    private getFooterControls() {\n        if (this.props.footerControls && this.props.validLabel) {\n            return (\n                <div className=\"footer-controls-block\">\n                    <div className=\"button-wrap\">\n                        <span className=\"elem-button--border-default btn-panel\" onClick={() => {\n                            this.store.setEmptyLabel(this.props.anyDateLabel || this.props.placeholder || \"\");\n                            this.store.cleanMonths();\n                            this.store.selectDate(null);\n                            this.store.resetAdjustDate();\n                        }}>\n                            {this.props.anyDateButtonLabel || this.props.anyDateLabel}\n                        </span>\n                        <button className=\"elem-button--primary btn-panel\" onClick={() => this.handleValidation()}>\n                            {this.props.validLabel}\n                        </button>\n                    </div>\n                </div>\n            );\n        }\n    }\n\n    /**\n     * Handles validation click\n     */\n    private handleValidation() {\n        this.setClose();\n        if (this.props.submitOnValid) {\n            $(this.dateSearchItemRef).trigger(\"search-engine:submit\");\n        }\n    }\n\n    /**\n     * Renders adjust options if needed\n     * @param adjust option\n     * @param disabled if the flexibility is disabled\n     */\n    private getAdjustOptions(adjust: IAdjust, disabled: boolean) {\n        if (adjust && adjust.adjustOptions) {\n            return (\n                <div className=\"inner-flexibility-block\">\n                    <div className=\"label\">{adjust.label}</div>\n                    <div className=\"flexibility-list d-flex\">\n                        {adjust.adjustOptions.map((option: IAdjustOption, index: number) =>\n                            this.getAdjustOption(option, index, disabled)\n                        )}\n                    </div>\n                </div>\n            );\n        }\n    }\n\n    /**\n     * Renders an adjust option\n     * @param option option to render\n     * @param index current index of the option\n     * @param disabled if the flexibility is disabled\n     */\n    private getAdjustOption(option: IAdjustOption, index: number, disabled: boolean) {\n        const selected: boolean = this.store.adjustValue === option.code;\n        const optionClass = \"item \" + (disabled ? \"disabled\" : (selected ? \"selected\" : \"\"));\n        return (\n            <div key={\"adjust_\" + index} className={optionClass} onClick={() => {\n                if (!disabled) {\n                    this.store.setAdjustDateBy(option.code);\n                }\n            }}>\n                {option.label}\n            </div>\n        );\n    }\n\n    /**\n     * clean all date selected\n     */\n    private cleanSelection() {\n        this.store.setEmptyLabel(this.props.anyDateLabel || \"\");\n        this.store.cleanMonths();\n        if (!this.props.keepOnClean) {\n            this.setClose();\n        }\n        this.store.selectDate(null);\n    }\n\n    /**\n     * get the date to start the selectable dates\n     */\n    private getDateToStart(): Date {\n        const {startAtFromToday, inputForStartLimit} = this.props;\n        if (inputForStartLimit) {\n            const inputItem = $(this.dateSearchItemRef)\n                .parents(\"form\")\n                .find(\"input[name='\" + inputForStartLimit + \"']\");\n            if (inputItem.length > 0) {\n                const limit = inputItem.val();\n                if (limit) {\n                    return moment(limit, \"DD/MM/YYYY\").add(1, \"d\").toDate();\n                }\n            }\n        }\n        if (startAtFromToday) {\n            const dateToStart = new Date();\n            dateToStart.setDate(dateToStart.getDate() + startAtFromToday);\n            return dateToStart;\n        } else {\n            return new Date();\n        }\n    }\n\n    /**\n     * get the adjust label\n     */\n    private getAdjustLabel(): string {\n        if (this.props.adjust && this.props.adjust.adjustOptions) {\n            const values = this.props.adjust.adjustOptions\n                .filter((option: IAdjustOption) => option.code === this.store.adjustValue);\n            return values.length === 0 ? \"\" : (\"[\" + values[0].label + \"]\");\n        }\n        return \"\";\n    }\n\n    /**\n     * close calendar container\n     */\n    private handleCloseCalendarContainer() {\n        if (this.state.open) {\n            this.setClose();\n        }\n    }\n\n    /**\n     * Get trigger element\n     * @param isPanelMode\n     */\n    private getTriggerElement(isPanelMode: boolean): JSX.Element {\n        if (isPanelMode) {\n            return null;\n        }\n        if (this.props.triggerDiv) {\n            const date = this.getTriggerElementValue();\n            const flexibility = this.getAdjustLabel().replace(\"[\", \"\").replace(\"]\", \"\");\n            return (\n                <div className=\"trigger-panel open-datepicker\" onClick={this.toggleOpen}>\n                    <div className=\"label-wrap\">\n                        {this.props.triggerDivLabel &&\n                        <span className=\"label\">\n                            {this.props.triggerDivLabel}\n                        </span>\n                        }\n                        <span className=\"input\">\n                            <span className=\"date-input\">{date || this.props.placeholder}</span>\n                            {\n                                this.store.isSelectedValue && flexibility &&\n                                <span className=\"flexi-input\">{flexibility}</span>\n                            }\n                        </span>\n                    </div>\n                    <div className=\"arrow\">\n                        <i\n                            className=\"elem-ff-icon\"\n                            data-icon={this.store.isSelectedValue ? \"x\" : \">\"}\n                            role=\"img\"\n                            onClick={this.store.isSelectedValue ? (evt: SyntheticEvent<HTMLElement>) => {\n                                evt.stopPropagation();\n                                this.cleanSelection();\n                            } : undefined}\n                        />\n                    </div>\n                </div>\n            );\n        } else {\n            return (\n                <>\n                    <input\n                        type=\"text\"\n                        className=\"elem-custom-input open-datepicker\"\n                        readOnly={true} value={this.state.selected ? this.getTriggerElementValue() : \"\"}\n                        placeholder={this.props.placeholder || \"\"}\n                        aria-label={this.props.placeholder || \"\"}\n                        onClick={this.toggleOpen}\n                    />\n                </>\n            );\n        }\n    }\n\n    /**\n     * Returns the value of the trigger element\n     */\n    private getTriggerElementValue(): string {\n        const visibleDateFormat = \"DD/MM/YYYY\";\n        if (this.store.activeDate) {\n            return moment(this.store.activeDate).isValid() ? moment(this.store.activeDate).format(visibleDateFormat) : \"\";\n        } else if (this.props.allMonthSingle && this.store.visibleMonthValue) {\n            return this.store.visibleMonthValue;\n\n        } else if (this.store.visibleMonthsValue) {\n            return this.store.visibleMonthsValue;\n        }\n\n        return this.store.empty;\n    }\n\n    /**\n     * Add hidden date inputs\n     * @protected\n     */\n    protected addDateInputs(): JSX.Element {\n        const {name, dayName, monthName, adjust, minDepDate, maxDepDate,} = this.props;\n\n        return (\n            <Fragment>\n                {\n                    this.store.activeDate && this.state.selected &&\n                    <>\n                        {!name &&\n                        <>\n                            <input type={\"hidden\"} name={dayName} value={moment(this.store.activeDate).format(\"DD\")}/>\n                            <input type={\"hidden\"} name={monthName}\n                                value={moment(this.store.activeDate).format(\"MM/YYYY\")}/>\n                        </>\n                        }\n                        {name &&\n                        <input type={\"hidden\"} name={name} value={moment(this.store.activeDate).format(\"DD/MM/YYYY\")}/>\n                        }\n                        {adjust &&\n                        <input type=\"hidden\" name={adjust.name} value={this.store.adjustValue || 0}/>\n                        }\n                    </>\n                }\n                {\n                    minDepDate && maxDepDate && this.store.allMonthsMinDepartureDate && this.store.allMonthsMaxDepartureDate &&\n                    <>\n                        <input\n                            type={\"hidden\"}\n                            name={minDepDate}\n                            value={moment(this.store.allMonthsMinDepartureDate).format(\"YYYY-MM-DD\")}\n                        />\n                        <input\n                            type={\"hidden\"}\n                            name={maxDepDate}\n                            value={moment(this.store.allMonthsMaxDepartureDate).format(\"YYYY-MM-DD\")}\n                        />\n                        {adjust &&\n                        <input type=\"hidden\" name={adjust.name} value={this.store.adjustValue || 0}/>\n                        }\n                    </>\n                }\n            </Fragment>\n        );\n    }\n\n    /**\n     * open datepicker\n     */\n    private setOpen() {\n        this.setState({open: true});\n    }\n\n    /**\n     * close datepicker\n     */\n    private setClose() {\n        this.setState({open: false});\n    }\n\n    /**\n     * toggle datepicker\n     */\n    private toggleOpen() {\n        this.setState({open: !this.state.open});\n    }\n\n}","import * as React from \"react\";\nimport {Component} from \"react\";\nimport type {ChangeEvent} from \"react\";\nimport {observer} from \"mobx-react\";\nimport moment = require(\"moment\");\nimport DateSearchItemStore from \"../../../../stores/date\";\nimport {dateConfig} from \"../../../../configs/date\";\n\ninterface IMonthHeadProps {\n    date: Date;\n    store: DateSearchItemStore;\n    firstMonth?: Date;\n    allMonthLabel?: string;\n    allMonthSingle?: boolean;\n    allMonthNoFlex?: boolean;\n}\n\n/**\n * MonthHead\n * @class\n */\n@observer\nexport default class MonthHead extends Component<IMonthHeadProps> {\n\n    private captionRef: HTMLDivElement;\n\n    public componentDidUpdate(): void {\n        this.dealWithParentClassName();\n    }\n\n    public componentDidMount(): void {\n        this.dealWithParentClassName();\n    }\n\n    public render(): JSX.Element {\n        const {date, allMonthLabel} = this.props;\n        const months = this.props.store.months;\n        const momentDate = moment(date);\n        const monthLabel = momentDate.format(\"MM\");\n        const month = momentDate.format(dateConfig.monthYearPattern);\n        const monthChecked = months.indexOf(month) !== -1;\n\n        return (\n            <div ref={(element: HTMLDivElement) => this.captionRef = element} className={\"DayPicker-Caption \" + month} role=\"heading\">\n                <div>{momentDate.format(\"MMMM YYYY\")}</div>\n                {\n                    allMonthLabel &&\n                    <div className=\"all-dates-month\">\n                        <input\n                            id={\"cbxAllMonth_\" + monthLabel}\n                            className=\"cbx-all-month\"\n                            checked={monthChecked}\n                            type=\"checkbox\"\n                            onChange={(evt: ChangeEvent<HTMLInputElement>) => this.handleChange(evt, month)}\n                            {...(this.props.firstMonth ?\n                                {disabled: momentDate.startOf(\"month\").isBefore(moment(this.props.firstMonth).startOf(\"month\"))}\n                                : {})}\n                        />\n                        <label className={\"label-entire-month\" + (monthChecked ? \" checked\" : \"\")} htmlFor={\"cbxAllMonth_\" + monthLabel}>{allMonthLabel}</label>\n                    </div>\n                }\n            </div>\n        );\n    }\n\n    /**\n     * Handle month selection change\n     * @param evt\n     * @param month\n     */\n    private handleChange(evt: ChangeEvent<HTMLInputElement>, month: string) {\n        if (evt.currentTarget.checked) {\n            if (this.props.allMonthSingle) {\n                this.props.store.cleanMonths();\n            }\n            this.props.store.addMonth(month);\n            if (this.props.allMonthNoFlex) {\n                this.props.store.resetAdjustDate();\n            }\n        } else {\n            this.props.allMonthSingle ?\n                this.props.store.cleanMonths()\n                : this.props.store.removeMonth(month);\n        }\n        this.dealWithParentClassName();\n    }\n\n    /**\n     * FIX because parents to override is not accessible in daypicker react used\n     * set 'all-day' class name on day piker parent if need and remove it if not\n     */\n    private dealWithParentClassName() {\n        const months = this.props.store.months;\n        const allMonthParent = $(this.captionRef).parents(\".DayPicker-Months\");\n        allMonthParent\n            .find(\".DayPicker-Month\")\n            .removeClass(\"all-day\");\n\n        if (months && months.length > 0) {\n            months.forEach((value: string) => {\n                allMonthParent.find(\".\" + value)\n                    .parents(\".DayPicker-Month\")\n                    .addClass(\"all-day\");\n            });\n        }\n    }\n}","import * as React from \"react\";\nimport {Component} from \"react\";\n\nexport interface WrapDivProps {\n    test: boolean;\n    className?: string;\n    children: any;\n}\n\n/**\n * Wrap div component\n */\nexport default class WrapDiv extends Component<WrapDivProps> {\n\n    /**\n     * Renders component\n     */\n    public render(): JSX.Element {\n        if (this.props.test) {\n            return (\n                <div className={this.props.className}>{this.props.children}</div>\n            );\n        } else {\n            return (\n                <>\n                    {this.props.children}\n                </>\n            );\n        }\n    }\n}","import * as React from \"react\";\nimport {Component, ChangeEvent} from \"react\";\nimport {inject, Observer, observer} from \"mobx-react\";\nimport {get, isEmpty, map, find, isEqual} from \"lodash\";\nimport classnames from \"classnames\";\nimport Checkbox from \"./Checkbox\";\nimport Icon from \"../../Icon\";\nimport {ISearchEngineStore} from \"../../../stores/api\";\n\nexport interface ICheckOption {\n    code: string;\n    label: string;\n    checked: boolean;\n}\n\ninterface ICheckItemProps {\n    name: string;\n    multi: boolean;\n    options?: ICheckOption[];\n    searchEngineStore: ISearchEngineStore;\n    withoutCheckbox?: boolean;\n    showMoreItemsLabel?: string;\n    hideMoreItemsLabel?: string;\n}\n\ninterface ICheckItemState {\n    checked: string[];\n    showAll: boolean;\n}\n\n/**\n * CheckSearchItem\n * @class\n */\n@inject(\"searchEngineStore\")\n@observer\nexport default class CheckSearchItem extends Component<ICheckItemProps, ICheckItemState> {\n    private ref: HTMLDivElement;\n\n    constructor(props: Readonly<ICheckItemProps>) {\n        super(props);\n\n        this.state = {\n            checked: [],\n            showAll: this.props.showMoreItemsLabel === undefined || this.props.showMoreItemsLabel === \"\",\n        };\n    }\n\n    /**\n     * the render checkbox group if isMulti=false\n     */\n    private renderCheckboxSimple(options: ICheckOption[]) {\n        const {\n            name,\n            withoutCheckbox,\n            searchEngineStore: {values},\n            showMoreItemsLabel,\n            hideMoreItemsLabel\n        } = this.props;\n        const {showAll} = this.state;\n\n        return (\n            <>\n                <div ref={(ref: HTMLDivElement) => this.ref = ref} className={`inner-item-se ${name} ${showAll ? \"more-showed\" : \"more-hidden\"}`}>\n                    {map(options, (option: ICheckOption) => {\n                        const {checked: checkedState} = this.state;\n                        const icon = get(option, \"icon\");\n                        const checkBoxStyle = isEmpty(icon) ? \"withoutCheckbox\" : \"withIcon col-2\";\n                        const selectedValue = !isEmpty(values[name])\n                            ? values[name][0].code\n                            : checkedState;\n                        const isRadioChecked = selectedValue === option.code;\n\n                        return (\n                            <Observer key={name + \"_\" + option.code + \"_\" + isRadioChecked}>\n                                {() =>\n                                    <div\n                                        key={\"input-wrap_\" + name + \"_\" + option.code + \"_\" + isRadioChecked}\n                                        className={classnames(\"input-wrap\", {\"withPicture\": !isEmpty(icon)})}\n                                    >\n                                        <input\n                                            type=\"checkbox\"\n                                            name={name}\n                                            value={option.code}\n                                            id={\"checkbox_\" + name + \"_\" + option.code}\n                                            checked={isRadioChecked}\n                                            onChange={(evt: ChangeEvent<HTMLInputElement>) => {\n                                                this.handleSingleCheckChange(evt, option);\n                                            }}\n                                            className=\"check-box\"\n                                        />\n                                        <label\n                                            className={classnames(\"label\", {\n                                                default: !withoutCheckbox,\n                                                selected: isRadioChecked\n                                            }, withoutCheckbox && checkBoxStyle)}\n                                            htmlFor={\"checkbox_\" + name + \"_\" + option.code}\n                                        >\n                                            {!isEmpty(icon) &&\n                                            <img src={icon.url} alt=\"\"/>\n                                            }\n                                            {!withoutCheckbox &&\n                                            <span className={classnames(isRadioChecked ? \"checked-icon\" : \"unchecked-icon\")}/>\n                                            }\n                                            <span className=\"text\">{option.label}</span>\n                                        </label>\n                                    </div>\n                                }\n                            </Observer>\n\n                        );\n                    })}\n                </div>\n                {!showAll && showMoreItemsLabel && <button onClick={() => this.setState({showAll: !showAll})}>{showMoreItemsLabel}<Icon value=\"v\"/></button>}\n                {showAll && hideMoreItemsLabel && <button onClick={() => this.setState({showAll: !showAll})}>{hideMoreItemsLabel}<Icon value=\"6\"/></button>}\n            </>\n        );\n    }\n\n    /**\n     * the render checkbox group if isMulti=true\n     */\n    private renderCheckboxGroupMulti(options: ICheckOption[]) {\n        const {\n            name,\n            searchEngineStore,\n            withoutCheckbox,\n            showMoreItemsLabel,\n            hideMoreItemsLabel\n        } = this.props;\n        const {showAll} = this.state;\n\n        return (\n            <>\n                <div ref={(ref: HTMLDivElement) => this.ref = ref} className={`inner-item-se ${name} ${showAll ? \"more-showed\" : \"more-hidden\"}`}>\n                    {map(options, (option: ICheckOption) => {\n                        const {checked: checkedState} = this.state;\n                        const checkedObject = find(searchEngineStore.values[name], {code: option.code});\n                        const checkedStateObject = find(checkedState, option.code);\n                        const checked = !isEmpty(checkedObject) || !isEmpty(checkedStateObject);\n                        return (\n                            <Observer key={name + \"_\" + option.code + \"_\" + checked}>\n                                {() =>\n                                    <Checkbox\n                                        key={name + \"_\" + option.code + \"_\" + checked}\n                                        name={name}\n                                        withoutCheckbox={withoutCheckbox}\n                                        displayEntityNumber={false}\n                                        isChecked={checked}\n                                        option={option}\n                                        onChange={(value: ICheckOption) => {\n                                            this.handleCheckChange(value);\n                                        }}\n                                    />\n                                }\n                            </Observer>\n\n                        );\n                    })}\n                </div>\n                {!showAll && showMoreItemsLabel && <button onClick={() => this.setState({showAll: !showAll})}>{showMoreItemsLabel}<Icon value=\"v\"/></button>}\n                {showAll && hideMoreItemsLabel && <button onClick={() => this.setState({showAll: !showAll})}>{hideMoreItemsLabel}<Icon value=\"6\"/></button>}\n            </>\n        );\n    }\n\n    /**\n     * the render\n     */\n    public render(): JSX.Element {\n        const {options, multi} = this.props;\n\n        return multi ? this.renderCheckboxGroupMulti(options) : this.renderCheckboxSimple(options);\n    }\n\n    /**\n     * action when the single choice checkbox change its state\n     * @param event\n     * @param option\n     * @private\n     */\n    private handleSingleCheckChange(event: ChangeEvent<HTMLInputElement>, option) {\n        const newValue = event.target.value;\n        const {\n            name,\n            searchEngineStore: {values, removeValue, replaceValue}\n        } = this.props;\n        const index = values[name] ? values[name].indexOf(find(values[name], {code: option.code})) : -1;\n\n        if (isEqual(newValue, option.code) && (index !== -1)) {\n            this.setState({checked: []});\n            removeValue(name, index);\n        } else {\n            this.setState({checked: [newValue]});\n            replaceValue(name, {label: option.label, code: option.code});\n        }\n    }\n\n    /**\n     * action when the multi choice checkbox change its state\n     * @param option\n     */\n    private handleCheckChange({checked, label, code}: ICheckOption) {\n        const {searchEngineStore: {values, addValue, removeValue}} = this.props;\n        const name = get(this.props, \"name\");\n        if (isEmpty(name)) {\n            return;\n        }\n\n        if (checked) {\n            addValue(name, [{label, code}]);\n            const oldStateChecked = this.state.checked;\n            oldStateChecked.concat(code);\n            this.setState({checked: oldStateChecked});\n        } else {\n            const index = values[name] && values[name].indexOf(find(values[name], {code}));\n            const indexInState = this.state.checked && this.state.checked.indexOf(find({code}));\n            if (indexInState !== 1) {\n                const newCheckedState = this.state.checked.splice(indexInState, 1);\n                this.setState({checked: newCheckedState});\n            }\n            if (index !== -1) {\n                removeValue(name, index);\n            }\n        }\n    }\n}\n","import * as React from \"react\";\nimport {ChangeEvent, Component} from \"react\";\nimport {get, isEmpty} from \"lodash\";\nimport classnames from \"classnames\";\n\nexport interface ICheckOption {\n    code: string;\n    label: string;\n    checked: boolean;\n    entityNumber?: number;\n}\n\ninterface ICheckboxState {\n    checked?: boolean;\n}\n\ninterface ICheckboxProps {\n    name: string;\n    onChange: (option: { code: string, label: string }) => void;\n    option: ICheckOption;\n    withoutCheckbox?: boolean;\n    isChecked: boolean;\n    displayEntityNumber: boolean;\n}\n\n/**\n * Checkbox\n * @class\n */\nexport default class Checkbox extends Component<ICheckboxProps, ICheckboxState> {\n\n    constructor(props: any) {\n        super(props);\n\n        this.state = {\n            checked: props.isChecked,\n        };\n    }\n\n    public componentDidUpdate(prevProps: ICheckboxProps) {\n        if (prevProps.isChecked !== this.props.isChecked) {\n            this.setState({checked: this.props.isChecked});\n        }\n    }\n\n    public render(): JSX.Element {\n        const {name, withoutCheckbox, displayEntityNumber, option} = this.props;\n        const {checked} = this.state;\n        const {code, entityNumber, label} = option;\n        const icon = get(option, \"icon\");\n        const checkBoxStyle = isEmpty(icon) ? \"withoutCheckbox\" : \"withIcon col-2\";\n\n        return (\n            <div\n                key={\"input-wrap_\" + name + \"_\" + code}\n                className={classnames(\"input-wrap\", {\"withPicture\": !isEmpty(icon)})}\n            >\n                <input\n                    type=\"checkbox\"\n                    name={name}\n                    value={code}\n                    id={\"checkbox_\" + name + \"_\" + code}\n                    className=\"check-box\"\n                    checked={checked}\n                    onChange={(event: ChangeEvent<HTMLInputElement>) => {\n                        this.handleChange(event, option);\n                    }}\n                />\n                <label\n                    htmlFor={\"checkbox_\" + name + \"_\" + code}\n                    className={classnames(\"label\", {\n                        default: !withoutCheckbox,\n                        selected: checked\n                    }, withoutCheckbox && checkBoxStyle)}\n                >\n                    {!isEmpty(icon) &&\n                        <img src={icon.url} alt=\"\"/>\n                    }\n                    {!withoutCheckbox &&\n                        <span className={classnames(checked ? \"checked-icon\" : \"unchecked-icon\")}/>\n                    }\n                    <span className=\"text\">{label}</span>\n                    {displayEntityNumber && entityNumber && (entityNumber !== 0) &&\n                        <span className=\"ml-2 entity-number\">({entityNumber})</span>\n                    }\n                </label>\n            </div>\n        );\n    }\n\n    /**\n     * handleChange\n     * @param event\n     * @param option\n     * @private\n     */\n    private handleChange(event: any, option: ICheckOption) {\n        const {onChange} = this.props;\n        const newOption = {...option, checked: event.target.checked};\n\n        this.setState({checked: event.target.checked}, () => onChange(newOption));\n    }\n\n}\n","import * as React from \"react\";\r\nimport { Component } from \"react\";\r\n\r\ninterface IIconProps {\r\n    value: string;\r\n    addClass?: string;\r\n}\r\n\r\n/**\r\n * Icon\r\n * @class\r\n */\r\nexport default class Icon extends Component<IIconProps, any> {\r\n\r\n    private readonly addClass: string;\r\n\r\n    /**\r\n     * constructor\r\n     * @param props\r\n     */\r\n    constructor(props: IIconProps) {\r\n        super(props);\r\n\r\n        this.addClass = this.props.addClass ? this.props.addClass : \"\";\r\n    }\r\n\r\n    /**\r\n     * render\r\n     */\r\n    public render(): JSX.Element {\r\n        return <i className={\"elem-ff-icon \" + this.addClass} data-icon={this.props.value} role=\"img\" />;\r\n    }\r\n\r\n}","import * as React from \"react\";\nimport {Component} from \"react\";\nimport {inject, observer} from \"mobx-react\";\nimport {get} from \"lodash\";\nimport type {ISearchEngineStore} from \"../../../stores/api\";\n\ninterface IInputItemProps {\n    label: string;\n    disabled: boolean;\n    name: string;\n    placeholder?: string;\n    searchEngineStore: ISearchEngineStore;\n}\n\ninterface IInputItemState {\n    currentInput: string;\n}\n\n/**\n * the check boxes search component\n */\n@inject(\"searchEngineStore\")\n@observer\nexport default class InputSearchItem extends Component<IInputItemProps, IInputItemState> {\n    constructor(props: Readonly<IInputItemProps>) {\n        super(props);\n        const currentValueInStore = get(props.searchEngineStore.values, props.name);\n\n        this.state = {\n            currentInput: get(currentValueInStore, \"[0].code\"),\n        };\n    }\n\n    public handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n        const value = event.target.value;\n        this.setState({currentInput: value});\n    }\n\n    public handleOnBlur = (event: React.ChangeEvent<HTMLInputElement>) => {\n        const {searchEngineStore: {replaceValue}, name} = this.props;\n        const value = event.target.value;\n\n        this.setState({currentInput: value}, () => replaceValue(name, {code: value, label: value}));\n    }\n\n    /**\n     * the render\n     */\n    public render(): JSX.Element {\n        const {label, name, placeholder} = this.props;\n        const {currentInput} = this.state;\n\n        return (\n            <div className=\"input-container\">\n                {label && <p className=\"input-title\">{label}</p>}\n                <input className=\"input-search-item\"\n                    name={name}\n                    type=\"text\"\n                    placeholder={placeholder}\n                    aria-label={placeholder}\n                    value={currentInput}\n                    onChange={this.handleInputChange}\n                    onBlur={this.handleOnBlur}\n                />\n            </div>\n        );\n    }\n}\n","import * as React from \"react\";\nimport {Component} from \"react\";\nimport {inject, Observer, observer} from \"mobx-react\";\nimport {getTrackBackground, Range} from \"react-range\";\nimport {isNull, isEqual} from \"lodash\";\nimport cn from \"classnames\";\nimport type {ISearchEngineTexts} from \"../../../@types/api\";\nimport type {ISearchEngineStore} from \"../../../stores/api\";\nimport {rangeConfig} from \"../../../configs/range\";\n\ninterface IRangeItemProps {\n    name: string;\n    min: number;\n    max: number;\n    searchEngineStore: ISearchEngineStore;\n    texts: ISearchEngineTexts;\n    textPattern?: string;\n    step?: number;\n    onChange?: (evt: any) => Record<string, unknown>;\n}\n\ninterface IRangeItemState {\n    fromValue: number;\n    toValue: number;\n    min: number;\n    max: number;\n    submitValue: string;\n}\n\n/**\n * the rang search component\n */\n@inject(\"searchEngineStore\")\n@observer\nexport default class RangeSearchItem extends Component<IRangeItemProps, IRangeItemState> {\n\n    constructor(props: Readonly<IRangeItemProps>) {\n        super(props);\n        const rangeInitialState = RangeSearchItem.initRangeState(this.props);\n\n        this.state = {\n            fromValue: rangeInitialState.fromValue || 0,\n            toValue: rangeInitialState.toValue || 5000,\n            min: props.min || 0,\n            max: props.max || 5000,\n            submitValue: rangeInitialState.submitValue || null,\n        };\n    }\n\n    componentDidUpdate() {\n        const {min, max, name, searchEngineStore} = this.props;\n        if (searchEngineStore.tabIsReset[name]) {\n            const rangeCurrentState = RangeSearchItem.initRangeState(this.props);\n            this.setState({\n                fromValue: rangeCurrentState.fromValue || 0,\n                toValue: rangeCurrentState.toValue || 5000,\n                min: min || 0,\n                max: max || 5000,\n                submitValue: rangeCurrentState.submitValue || null,\n            });\n            this.props.searchEngineStore.toggleResetTab(name);\n        }\n    }\n\n    public render(): JSX.Element {\n        const {min, max, name, textPattern, step} = this.props;\n        const rangeCurrentState = RangeSearchItem.initRangeState(this.props);\n        const {fromValue, toValue, submitValue} = this.state;\n        const submit = rangeCurrentState.submitValue ? rangeCurrentState.submitValue : submitValue;\n        const {colors, rtl} = rangeConfig;\n        const trackBackground = getTrackBackground({values: [fromValue, toValue], colors, min, max, rtl});\n\n        return (\n            <Observer key={name + \"_\" + submit}>\n                {() =>\n                    <div className={cn(\"cpt-slider-range\", {\"selected\": fromValue !== min || toValue !== max})}>\n                        <Range\n                            values={[fromValue, toValue]}\n                            min={min}\n                            max={max}\n                            step={step || 1}\n                            onChange={(values: number[]) => this.handleOnValueChange(values)}\n                            onFinalChange={(values: number[]) => this.handleOnAfterChange(values)}\n                            renderTrack={({props, children}) => (\n                                <div\n                                    className=\"slider-range-track\"\n                                    style={{...props.style}}\n                                    onMouseDown={props.onMouseDown}\n                                    onTouchStart={props.onTouchStart}\n                                >\n                                    <div ref={props.ref} className=\"inner-slider-range-track\" style={{background: trackBackground}}>\n                                        {children}\n                                    </div>\n                                </div>\n                            )}\n                            renderThumb={({props, value}) => (\n                                <div {...props} style={{...props.style}} className=\"slider-range-thumb\">\n                                    <div className=\"slider-range-thumb-handle\">{\"<>\"}</div>\n                                    {(value >= 0 || value !== undefined) &&\n                                        <div className=\"slider-range-thumb-value\">\n                                            {value === max && \"+\"}{value} €\n                                        </div>\n                                    }\n                                </div>\n                            )}\n                        />\n                        {textPattern &&\n                            <div className=\"slider-range-value\">\n                                <span className=\"slider-range-value-min\">de {min} €</span>\n                                <span className=\"slider-range-value-max\">plus de {max} €</span>\n                            </div>\n                        }\n                        {submit && !isEqual(submit, `${min},${max}`) &&\n                            <input type=\"hidden\" name={name} value={submit}/>\n                        }\n                    </div>\n                }\n            </Observer>\n        );\n    }\n\n    /**\n     * Init state\n     */\n    private static initRangeState(props: Readonly<IRangeItemProps>) {\n        const {min, max, searchEngineStore, name} = props;\n        const currentValue = searchEngineStore.values[name];\n        let minimumStart = min;\n        let maximumStart = max;\n\n        if (currentValue) {\n            const fromValue = currentValue[0]?.code ?? \"\";\n            const toValue = currentValue[1]?.code ?? \"\";\n            minimumStart = (!isNull(fromValue) && fromValue.includes(\",\")\n                ? Number(fromValue.split(\",\", 2)[0])\n                : Number(fromValue)\n            ) || minimumStart;\n            maximumStart = (!isNull(fromValue) && fromValue.includes(\",\")\n                ? Number(fromValue.split(\",\", 2)[1])\n                : Number(toValue)\n            ) || maximumStart;\n        }\n\n        return {\n            fromValue: minimumStart,\n            toValue: maximumStart,\n            submitValue: `${minimumStart},${maximumStart}`\n        };\n    }\n\n    /**\n     * handle the range value change\n     * @param values\n     */\n    private handleOnValueChange(values: number[]) {\n        this.setState({\n            fromValue: values[0],\n            toValue: values[1],\n            submitValue: `${values[0]},${values[1]}`\n        });\n    }\n\n    /**\n     * handle the range value on after change\n     * @param values\n     */\n    private handleOnAfterChange(values: number[]) {\n        const {name, searchEngineStore: {replaceValue}} = this.props;\n\n        replaceValue(name, {code: `${values[0]},${values[1]}`, label: \"\"});\n        this.setState({\n            fromValue: values[0],\n            toValue: values[1],\n            submitValue: `${values[0]},${values[1]}`\n        });\n    }\n\n}\n","import {ITrackBackground} from \"react-range/lib/types\";\n\ntype RangeConfig = Pick<ITrackBackground, \"colors\" | \"rtl\">;\n\n/**\n * Default object range configuration\n */\nconst rangeConfig: RangeConfig = {\n    colors: [\"#fff\", \"#004680\", \"#fff\"],\n    rtl: false,\n};\n\nexport {\n    rangeConfig,\n};\n\nexport type {\n    RangeConfig,\n};","import * as React from \"react\";\nimport {Component} from \"react\";\nimport {inject, observer} from \"mobx-react\";\nimport Icon from \"../../Icon\";\nimport {getSearchItemComponent} from \"../index\";\nimport {ISearchEngineTexts} from \"../../../@types/api\";\nimport {ISelectOption} from \"../SelectSearchItem\";\n\ninterface IPanelItemProps {\n    subItems: any;\n    texts?: ISearchEngineTexts;\n    code?: string;\n    label: string;\n    disabled: boolean;\n    onSelectChange?: (selected: ISelectOption | ISelectOption[]) => void;\n}\n\ninterface IPanelItemState {\n    showSubItem: boolean[];\n}\n\n/**\n * PanelSearchItem\n * @class\n */\n@inject(\"searchEngineStore\")\n@observer\nexport default class PanelSearchItem extends Component<IPanelItemProps, IPanelItemState> {\n\n    constructor(props: Readonly<IPanelItemProps>) {\n        super(props);\n        this.state = {\n            showSubItem: [],\n        };\n    }\n\n    public render(): JSX.Element {\n        const {code, label, disabled, onSelectChange, subItems, texts} = this.props;\n        const {showSubItem} = this.state;\n\n        const handleShowClick = (key: string, show: boolean) => {\n            showSubItem[key] = show;\n            this.setState({showSubItem: showSubItem});\n        };\n\n        return subItems.map((item: any, index: number) => {\n            // Since we display show/hide buttons in this panel, we need to not propagate this data to the sub component\n            const updatedItem = { ...item.data, showMoreItemsLabel: \"\", hideMoreItemsLabel: \"\" };\n            const subItemKey = \"panel-container_\" + index;\n            const showMore = item.data.showMoreItemsLabel;\n            const hideMore = item.data.hideMoreItemsLabel;\n            const showPanel = showSubItem[subItemKey] === true || (showSubItem[subItemKey] === undefined && !showMore);\n            return (\n                <div key={subItemKey} className={`panel-container ${item.data.name} ${showPanel ? \"more-showed\" : \"more-hidden\"}`}>\n                    {item.label && <p className=\"panel-title\">{item.label}</p>}\n                    {getSearchItemComponent(item.type, {...{...updatedItem, texts, defaultOpen: false}}, label, disabled, code, onSelectChange)}\n                    {!showPanel && showMore && <button className=\"show primary\" onClick={() => handleShowClick(subItemKey, !showPanel)}>{showMore}<Icon value=\"v\" addClass={\"arrow-down\"}/></button>}\n                    {showPanel && hideMore && <button className=\"hide primary\" onClick={() => handleShowClick(subItemKey, !showPanel)}>{hideMore}<Icon value=\"v\" addClass={\"arrow-up\"}/></button>}\n                </div>\n            );\n        });\n    }\n}\n","/**\n * Replaces each substring of this string that matches\n * the given regex with the given replacement.\n * @param value\n * @param regex\n * @param replacement\n */\nexport function replaceAll(value: string, regex: string, replacement: string): string {\n    return value.split(regex).join(replacement);\n}\n\n/**\n * Replaces each parameter value in url that is related to the given parameter code\n * @param url the url\n * @param paramCode the parameter code\n * @param paramValue the parameter value replacement\n */\nexport function replaceOrAddParam(url: string, paramCode: string, paramValue: string) {\n    const paramCodeExpression = paramCode + \"=\";\n    const pattern = \"(\" + paramCodeExpression + \").*?(&)\";\n    const matcher = new RegExp(pattern);\n    if (url.includes(paramCodeExpression)) {\n        url = url.replace(matcher, \"$1\" + paramValue + \"$2\");\n    } else {\n        if (url.includes(\"?\")) {\n            url = url.concat(\"&\" + paramCodeExpression, paramValue);\n        } else {\n            url = url.concat(\"?\", paramCodeExpression, paramValue);\n        }\n    }\n    return url;\n}\n\n/**\n * find parameter value in searchQuery\n * @param searchQuery the search query\n * @param parameter the parameter code\n */\nexport function findParameterValue(searchQuery: string, parameter : string) : string {\n    if (searchQuery === \"\") {\n        return \"\";\n    }\n    for (const s of searchQuery.split(\"&\")) {\n        if (s.startsWith(parameter)) {\n            const split = s.split(\"=\");\n            if (split.length > 1) {\n                return split[1];\n            }\n        }\n    }\n    return \"\";\n}","import * as React from \"react\";\nimport {ReactElement, useEffect, useState} from \"react\";\nimport * as DOMPurify from \"dompurify\";\nimport {IProductCountData} from \"../../@types/api\";\n\ntype SubmitButtonProps = {\n    label: string | ReactElement;\n    name?: string;\n    disabled?: boolean;\n    isLoader?: boolean;\n    displayResultNumber?: boolean;\n    addClass?: string;\n    loaderClass?: string;\n    buttonClass?: string;\n    searchQuery?: string;\n};\n\n/**\n * SubmitButton\n * @param label The label of the button\n * @param disabled\n * @param name\n * @param isLoader\n * @param displayResultNumber\n * @param addClass The additional class\n * @param loaderClass\n * @param buttonClass The additional button class\n * @param searchQuery\n * @constructor\n */\nconst SubmitButton = ({label, name = \"\", disabled = false, isLoader = false, displayResultNumber = false, addClass = \"\", loaderClass = \"\", buttonClass = \"\", searchQuery = \"\"}: SubmitButtonProps): ReactElement => {\n    const [resultNumber, setResultNumber] = useState<number>();\n\n    useEffect( () => {\n        if (displayResultNumber && searchQuery != \"\") {\n            $.ajax(\"/ajax/searchEngine/count?\" + searchQuery, {\n                dataType: \"json\"\n            }).done((response : IProductCountData) => {\n                setResultNumber(response.productNumber);\n            });\n        }\n    }, [displayResultNumber, searchQuery]);\n\n    const buttonLabel = displayResultNumber ? label + \"( \" + resultNumber + \" )\" : label;\n    return (\n        <div className={`cpt-se-submit-button ${addClass}`}>\n            {isLoader &&\n                <svg className={loaderClass} version=\"1.1\" id=\"L9\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0\" y=\"0\" viewBox=\"0 0 100 100\" enableBackground=\"new 0 0 0 0\">\n                    <path fill=\"#fff\" d=\"M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50\">\n                        <animateTransform attributeName=\"transform\" attributeType=\"XML\" type=\"rotate\" dur=\"1s\" from=\"0 50 50\" to=\"360 50 50\" repeatCount=\"indefinite\"/>\n                    </path>\n                </svg>\n            }\n            {!isLoader &&\n                <button\n                    type=\"submit\"\n                    name={name}\n                    disabled={disabled}\n                    className={\"elem-button--primary-alt\"}\n                    dangerouslySetInnerHTML={{__html: DOMPurify.sanitize(buttonLabel)}}\n                />\n            }\n        </div>\n    );\n};\n\nexport default SubmitButton;\n","import {ReactElement} from \"react\";\nimport * as React from \"react\";\n\ntype ButtonProps = {\n    label: string | ReactElement;\n    onClick?: (evt?: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n    buttonClass?: string;\n    addClass?: string;\n}\n\n/**\n * Button\n * @param label\n * @param onClick\n * @param buttonClass\n * @param addClass The additional class, @default \"\"\n * @constructor\n */\nconst Button = ({label, onClick, buttonClass = \"\", addClass = \"\"} : ButtonProps) => {\n    return (\n        <div className={`button-wrap ${addClass}`}>\n            <button\n                type=\"button\"\n                className={`elem-button--${buttonClass}`}\n                onClick={onClick}\n            >\n                {label}\n            </button>\n        </div>\n    );\n};\n\nexport default Button;","import * as React from \"react\";\nimport {ReactElement} from \"react\";\nimport classnames from \"classnames\";\nimport type {ISearchEngineStore} from \"../../stores/api\";\nimport Icon from \"../../../../../_core/scripts/libs/orxapi/components/Icon\";\nimport {paramConfig} from \"../../configs/param\";\nimport {ISelectOption} from \"../SearchItem/SelectSearchItem\";\ninterface ITriggerData {\n    code: string;\n    label: string;\n    subtitle: string;\n    selected: boolean;\n}\n\ninterface ISearchItemTriggerProps {\n    searchEngineStore: ISearchEngineStore;\n    triggers: ITriggerData[];\n    onSelectChange: (selected: ISelectOption | ISelectOption[]) => void;\n    component: any;\n}\n\nconst SearchItemTrigger=(props : ISearchItemTriggerProps) : ReactElement => {\n    const {searchEngineStore, triggers, component: SearchItems, onSelectChange} = props;\n    const {tabIsOpen} = searchEngineStore;\n    /**\n     * Display the panel, open or close\n     * @param code The code name of the group\n     */\n    const togglePanel = (code: string) => {\n        searchEngineStore.toggleTabs(code);\n    };\n\n    /**\n     * Reset all the selected value of panel\n     * @param code The code name of the group\n     */\n    const resetValues =(code: string) => {\n        const {DEPARTURE_CODE_PARAMETER, DAY_CODE_PARAMETER, MONTH_YEAR_CODE_PARAMETER, ADJUST_CODE_PARAMETER } = paramConfig;\n        if (code === DEPARTURE_CODE_PARAMETER) {\n            searchEngineStore.removeItemFromObject(code);\n            searchEngineStore.removeItemFromObject(DAY_CODE_PARAMETER);\n            searchEngineStore.removeItemFromObject(MONTH_YEAR_CODE_PARAMETER);\n            searchEngineStore.removeItemFromObject(ADJUST_CODE_PARAMETER);\n\n        } else {\n            searchEngineStore.removeItemFromObject(code);\n        }\n    };\n\n    /**\n     * Validate the selected value of panel\n     * @param code The code name of the group\n     */\n    const validateSelected = (code: string) => {\n        searchEngineStore.toggleTabs(code);\n    };\n    return (\n        <>\n            {triggers.map(({code, label, subtitle, selected}: ITriggerData, index: number) => {\n                const tabSelected = tabIsOpen[code];\n                return (\n                    <div key={code + \"_\" + index} className={classnames(\"cpt-se-search-item-trigger\", {selected:selected})}>\n                        <div\n                            className={classnames(\"trigger\", {selected: tabSelected}, code)}\n                            onClick={() => {togglePanel(code);}}\n                        >\n                            <p className=\"title\">{label}</p>\n                            <p className=\"subtitle\">{subtitle}</p>\n                        </div>\n                        <div className={classnames(\"panel\", {\"d-none\": !tabSelected})}>\n                            <div className=\"header-panel\">\n                                <div className=\"title\">{label}</div>\n                                <div className=\"btn-close-layout-panel\" onClick={() => {togglePanel(code);}}>\n                                    <Icon value=\"x\" />\n                                </div>\n                            </div>\n                            <SearchItems {...{...props, tabCode: code, onSelectChange: onSelectChange}} />\n                            <div className=\"button-wrap\">\n                                <button\n                                    type=\"button\"\n                                    className=\"elem-button--primary-invert btn-reset-panel\"\n                                    onClick={() => {resetValues(code);}}\n                                >\n                                        Réinitialiser\n                                </button>\n                                <button\n                                    type=\"button\"\n                                    className=\"elem-button--primary btn-validate-panel\"\n                                    onClick={() => {validateSelected(code);}}\n                                >\n                                        Valider\n                                </button>\n                            </div>\n                        </div>\n                    </div>\n                );\n            })}\n        </>\n    );\n};\n\nexport default SearchItemTrigger;","import * as React from \"react\";\nimport { Component } from \"react\";\n\ninterface IIconProps {\n    value: string;\n    addClass?: string;\n}\n\n/**\n * @class Icon\n */\nexport default class Icon extends Component<IIconProps, any> {\n\n    private readonly addClass;\n\n    constructor(props: IIconProps) {\n        super(props);\n\n        this.addClass = this.props.addClass ? this.props.addClass : \"\";\n    }\n\n    public render(): JSX.Element {\n        return <i className={\"elem-ff-icon \" + this.addClass} data-icon={this.props.value} role=\"img\" />;\n    }\n\n}","import * as React from \"react\";\nimport type {ReactElement} from \"react\";\nimport {useEffect, useState} from \"react\";\nimport {ISearchEngineStore} from \"../../stores/api\";\nimport {getUrlVar} from \"orxapi.tools.url\";\nimport {ISearchItem} from \"../SearchItem\";\nimport SearchItemMobileContainer from \"../SearchItemMobileContainer\";\nimport {ISelectOption} from \"../SearchItem/SelectSearchItem\";\nimport {paramConfig} from \"../../configs/param\";\nimport {findParameterValue} from \"../../tools/stringTools\";\nimport {ISearchEngine, ISearchEngineTexts} from \"../../@types/api\";\n\ntype SearchItemsMobileProps = {\n    searchEngineStore: ISearchEngineStore;\n    searchEngineTexts: ISearchEngineTexts;\n    onSelectChange: (selected: ISelectOption | ISelectOption[]) => void;\n    tabCode?: string;\n};\n\n/**\n * SearchItemsMobile\n * @param searchEngineStore\n * @param tabCode\n * @param searchEngineTexts\n * @param onSelectChange\n * @constructor\n */\nconst SearchItemsMobile = ({searchEngineStore, tabCode, searchEngineTexts, onSelectChange}: SearchItemsMobileProps): ReactElement => {\n    const {tabIsOpen, currentSearchEngine, searchQuery} = searchEngineStore;\n    const [searchEngine, setSearchEngine] = useState<ISearchEngine>(currentSearchEngine);\n    const items = searchEngine.moreItems ? searchEngine.searchItems.concat(searchEngine.moreItems) : searchEngine.searchItems;\n\n    useEffect( () => {\n        $.ajax(\"/module/searchEngine?\" + searchQuery, {\n            dataType: \"json\"\n        }).done((searchEngines: ISearchEngine[]) => {\n            const {SEARCH_ENGINE_CODE_PARAMETER} = paramConfig;\n            const parameters = getUrlVar(searchQuery);\n            let searchEngineCode;\n            if (searchQuery !== null && searchQuery.indexOf(SEARCH_ENGINE_CODE_PARAMETER) !== -1) {\n                searchEngineCode = findParameterValue(searchQuery, SEARCH_ENGINE_CODE_PARAMETER);\n            }\n            if (!searchEngineCode || searchEngineCode === \"\") {\n                searchEngineCode = parameters[SEARCH_ENGINE_CODE_PARAMETER];\n            }\n            const filteredSearchEngines = searchEngines.filter((engine: ISearchEngine) => engine.code === searchEngineCode);\n            setSearchEngine(filteredSearchEngines[0]);\n            searchEngineStore.setCurrentSearchEngineMoreItems(filteredSearchEngines[0].moreItems);\n        });\n    }, [searchEngineStore]);\n\n    return (\n        <>\n            {items.map((item: ISearchItem, index: number) => {\n                return (tabCode && tabCode === item.code &&\n                   <SearchItemMobileContainer\n                       {...item}\n                       {...{searchEngineTexts}}\n                       isPanelMode={true}\n                       key={\"searchItemContainer_\" + index}\n                       tabsIsOpen={tabIsOpen}\n                       onSelectChange={onSelectChange}\n                   />\n                );\n            })}\n        </>\n    );\n};\n\nexport default SearchItemsMobile;\n","import {ReactElement} from \"react\";\nimport classnames from \"classnames\";\nimport {getSearchItemComponent, ISearchItem} from \"../SearchItem\";\nimport * as React from \"react\";\nimport {ISearchEngineTexts} from \"../../@types/api\";\nimport {ISelectOption} from \"../SearchItem/SelectSearchItem\";\n\ntype SearchItemMobileContainerProps = {\n    placeholder?: string;\n    onSelectChange: (selected: ISelectOption | ISelectOption[]) => void;\n    tabsIsOpen?: {};\n    searchEngineTexts: ISearchEngineTexts;\n    isPanelMode?: boolean;\n    addClass?: string;\n} & ISearchItem;\n\n/**\n * SearchItemMobileContainer\n * @param code the code of component\n * @param label the label of component\n * @param type the type of component to return\n * @param data the data\n * @param disabled the status of component\n * @param defaultFold the status of opening component\n * @param searchEngineTexts the texts\n * @param tabsIsOpen the tabs object\n * @param onSelectChange the handler of select change\n * @param isPanelMode the status of the panel mode ( used for calendar)\n * @param addClass The additional class, @default \"\"\n * @constructor\n */\nconst SearchItemMobileContainer = ({code, label, type, data, disabled, tabsIsOpen, searchEngineTexts, onSelectChange, isPanelMode, addClass = \"\"}: SearchItemMobileContainerProps) : ReactElement => {\n    return (\n        <div className={classnames(\"cpt-se-search-item-mobile-container se-search-item-container\", {code, disabled ,\"d-none\": !tabsIsOpen[code]}, addClass )}>\n            {getSearchItemComponent(type, {...{...data, texts: searchEngineTexts, defaultOpen: true}}, label, disabled, code, onSelectChange, isPanelMode)}\n        </div>\n    );\n};\n\nexport default SearchItemMobileContainer;","import {ReactElement} from \"react\";\nimport classnames from \"classnames\";\nimport {getSearchItemComponent, ISearchItem} from \"../SearchItem\";\nimport * as React from \"react\";\nimport {ISearchEngineTexts} from \"../../@types/api\";\nimport {ISelectOption} from \"../SearchItem/SelectSearchItem\";\n\ntype SearchItemDesktopContainerProps = {\n    onSelectChange?: (selected: ISelectOption | ISelectOption[]) => void;\n    searchEngineTexts: ISearchEngineTexts;\n    defaultFold: boolean;\n    placeholder?: string;\n    addClass?: string;\n} & ISearchItem;\n\n/**\n * SearchItemDesktopContainer\n * @param code\n * @param label\n * @param type\n * @param data\n * @param disabled\n * @param defaultFold\n * @param searchEngineTexts\n * @param addClass The additional class, @default \"\"\n * @constructor\n */\nconst SearchItemDesktopContainer = ({code, label, type, data, disabled, searchEngineTexts, onSelectChange, addClass = \"\"}: SearchItemDesktopContainerProps): ReactElement => {\n    return (\n        <div className={classnames(\"cpt-se-search-item-desktop-container se-search-item-container\", code, addClass)}>\n            {getSearchItemComponent(type, {...{...data, texts : searchEngineTexts, defaultOpen: false}}, label, disabled, code, onSelectChange)}\n        </div>\n    );\n};\n\nexport default SearchItemDesktopContainer;","import * as React from \"react\";\nimport type {ReactElement, MouseEvent} from \"react\";\nimport Icon from \"../../../../../_core/scripts/libs/orxapi/components/Icon\";\n\ntype HeaderPanelProps = {\n    handleClosePanel(evt: MouseEvent<HTMLDivElement>): void;\n    addClass?: string;\n};\n\n/**\n * HeaderPanel\n * @param handleClosePanel The handle for close panel\n * @param addClass The additional class, @default \"\"\n * @param attrs The additional attributes markup\n * @constructor\n */\nconst HeaderPanel = ({handleClosePanel, addClass = \"\", ...attrs}: HeaderPanelProps): ReactElement => {\n    return (\n        <div className={`cpt-se-header-panel ${addClass}`} {...attrs}>\n            <div className=\"title\">Vous recherchez</div>\n            <div className=\"btn-close-layout-panel\" onClick={handleClosePanel}>\n                <Icon value=\"x\" />\n            </div>\n        </div>\n    );\n};\n\nexport default HeaderPanel;\n","import * as React from \"react\";\nimport type {ReactElement, MouseEvent} from \"react\";\nimport * as MoveTo from \"moveto\";\n\ntype ButtonsTriggerPanelProps = {\n    handleOpenPanel(evt: MouseEvent<HTMLButtonElement | HTMLElement>): void;\n    isSerpMode: boolean;\n    triggerLabel?: string;\n    addClass?: string;\n};\n\n/**\n * ButtonsTriggerPanel\n * @param handleOpenPanel The handler for open the panel\n * @param isSerpMode the status of serp Mode to determine which buttons to display\n * @param triggerLabel the label to display for the trigger button\n * @param addClass The additional class, @default \"\"\n * @constructor\n */\nconst ButtonsTriggerPanel = ({handleOpenPanel, isSerpMode, triggerLabel =\"\",  addClass = \"\"}: ButtonsTriggerPanelProps): ReactElement => {\n    /**\n     * Handler for move to data target from event data\n     * @param evt The click event\n     */\n    const handleMoveTo = (evt: MouseEvent<HTMLElement>) => {\n        const data = evt.currentTarget?.dataset;\n        const moveTo = new MoveTo({tolerance: Number(data?.tolerance)});\n        const target = document.querySelector<HTMLElement>(data?.target);\n        moveTo.move(target);\n    };\n\n    return (\n        <div className={`cpt-se-buttons-trigger-panel ${addClass}`}>\n            {!isSerpMode && triggerLabel !== \"\" &&\n                <>\n                    <span className=\"icon-wrapper\" onClick={handleMoveTo} data-target=\".main-layout\" data-tolerance={150}/>\n                    <button\n                        type=\"button\"\n                        className=\"elem-button--primary-alt-invert btn-open-layout-panel\"\n                        onClick={handleOpenPanel}\n                    >\n                        {triggerLabel}\n                    </button>\n                </>\n            }\n            {isSerpMode &&\n                <div className=\"btn-open-serp-layout-panel primary d-flex\" onClick={handleOpenPanel}>\n                    <div className=\"btn-filter-wrap\">\n                        <span className=\"label\">Affiner</span>\n                        <span className=\"smaller\">la recherche</span>\n                    </div>\n                    <div className=\"btn-search-wrap\">\n                        <span className=\"label\">Modifier</span>\n                        <span className=\"smaller\">la recherche</span>\n                    </div>\n                </div>\n            }\n        </div>\n    );\n};\n\nexport default ButtonsTriggerPanel;\n","import * as $$ from \"jquery-selector-cache\";\nimport {initSwiper} from \"../../components/diaporamaSwiper/diaporamaSwiper\";\n\n/**\n * Initialize steps flow of the concept-choice popin\n */\nexport function initBlockThematic() {\n\n    const thematicBlock = $$(\".mod-block-thematic\");\n    if (!thematicBlock.length) {\n        return;\n    }\n    initSwiper(\".thematic-swiper\", \"thematic\");\n}\n","import {Swiper} from \"swiper\";\nimport type {SwiperOptions} from \"swiper\";\n\nimport {initLazyLoading, observesLazyImage} from \"../../_core/scripts/libs/orxapi/tools/LazyLoad\";\nimport {diaporamaSwipperConfig} from \"./diaporamaSwipperConfig\";\n\n/**\n * Initialize the Swiper plug-in\n * @param selector - CSS selector for the Swiper container\n * @param config - \"header\", \"carrousel\", \"thematic\"...\n * @returns {Swiper | Swiper[]}\n */\nfunction initSwiper(selector: string, config: string): Swiper {\n    initLazyLoading();\n    const swiper = new Swiper(selector, diaporamaSwipperConfig[config] as SwiperOptions);\n\n    // @ts-ignore\n    if (swiper.length) {\n        // @ts-ignore\n        swiper.forEach(elem => {\n            elem.on(\"slideChange\", () => observesLazyImage);\n        });\n\n    } else {\n        swiper.on(\"slideChange\", () => observesLazyImage);\n    }\n\n    observesLazyImage();\n\n    return swiper;\n}\n\nexport {\n    initSwiper,\n};\n","import * as lozad from \"lozad\";\nimport type {Observer} from \"lozad\";\n\n// Local variable\nlet lazy: Observer;\n\n/**\n * Initialize the lazy load\n */\nfunction initLazyLoading() {\n    lazy = lozad();\n    lazy.observe();\n}\n\n/**\n * Observes newly added elements as well\n */\nfunction observesLazyImage() {\n    if (lazy === undefined) {\n        console.warn(\n            \"The lazy observer is not initialized, \" +\n            \"please call initLazyLoading() method \" +\n            \"before call observesLazyImage() method.\"\n        );\n        return;\n    }\n    lazy.observe();\n}\n\n/**\n * Load the image with lazy\n * @param elem\n */\nfunction triggerLoadLazyImage(elem: Element) {\n    if (lazy === undefined) {\n        console.warn(\n            \"The lazy observer is not initialized, \" +\n            \"please call initLazyLoading() method \" +\n            \"before call triggerLoadLazyImage() method.\"\n        );\n        return;\n    }\n    lazy.triggerLoad(elem);\n}\n\nexport {\n    initLazyLoading,\n    observesLazyImage,\n    triggerLoadLazyImage,\n};\n","import type {SwiperOptions} from \"swiper\";\nimport {Autoplay, Grid, Navigation, Pagination} from \"swiper\";\nimport {updateCounter} from \"../sliderHeader/sliderHeader\";\n\ntype DiaporamaSwipperConfigType<T> = {\n    thematic: T;\n    carrousel: T;\n    header: T;\n};\n\n/**\n * Map of Swiper options configuration\n * @type {DiaporamaSwipperConfigType<SwiperOptions>}\n */\nconst diaporamaSwipperConfig: DiaporamaSwipperConfigType<SwiperOptions> = {\n    thematic:  {\n        centeredSlidesBounds: false,\n        centeredSlides: false,\n        slidesPerGroup: 2,\n        spaceBetween: 15,\n        modules: [Grid, Navigation, Pagination],\n        grid: {\n            rows: 2,\n            fill: \"row\",\n        },\n        freeMode: false,\n        touchStartForcePreventDefault: true,\n        navigation: {\n            nextEl: \".swiper-button-next\",\n            prevEl: \".swiper-button-prev\",\n        },\n        breakpoints: {\n            375: {\n                slidesPerView: 2.15,\n                pagination: {\n                    el: \".swiper-pagination\",\n                    type: \"bullets\",\n                },\n            },\n            768: {\n                slidesPerView: 3\n            },\n            992: {\n                slidesPerView: 5\n            }\n        }\n    },\n\n    carrousel:  {\n        slidesPerView: 1.35,\n        modules: [Navigation, Pagination],\n        slidesOffsetBefore: 0,\n        slidesOffsetAfter: 0,\n        spaceBetween: 20,\n        freeMode: false,\n        touchStartForcePreventDefault: true,\n        navigation: {\n            nextEl: \".swiper-button-next\",\n            prevEl: \".swiper-button-prev\",\n        },\n        centeredSlides: false,\n        pagination: {\n            el: \".swiper-pagination\",\n            type: \"bullets\",\n        },\n        breakpoints: {\n            768: {\n                slidesPerView: 3,\n                centerInsufficientSlides: true,\n            },\n            992: {\n                slidesPerView: 4,\n                centerInsufficientSlides: true,\n            }\n        }\n    },\n\n    header: {\n        slidesPerView: 1,\n        freeMode: false,\n        spaceBetween: 20,\n        loop: true,\n        autoplay: {\n            delay: 4000,\n            disableOnInteraction: false,\n        },\n        lazy: {\n            loadPrevNext: true,\n        },\n        modules: [Navigation, Pagination, Autoplay],\n        navigation: {\n            nextEl: \".swiper-button-next\",\n            prevEl: \".swiper-button-prev\",\n        },\n        pagination: {\n            el: \".swiper-pagination\",\n            type: \"bullets\",\n        },\n        on: {\n          slideChange() {\n            updateCounter(this.slides[this.activeIndex])\n          }\n        },\n    }\n};\n\nexport {\n    diaporamaSwipperConfig,\n};\n\nexport type {\n    DiaporamaSwipperConfigType,\n};","import * as moment from \"moment\";\nimport * as $$ from \"jquery-selector-cache\";\nimport {initSwiper} from \"../diaporamaSwiper/diaporamaSwiper\";\nimport {initializeCounter} from \"../salesCounter/salesCounter\";\n\n/**\n * Initialize block carrousel\n */\nexport function initSliderHeader() {\n    if (!$$(\".cpt-slider-header\").length) {\n        return;\n    }\n\n    const swiperInstance = initSwiper(\".header-swiper\", \"header\");\n\n    // @ts-ignore\n    if (swiperInstance) {\n        initCustomControls(swiperInstance);\n\n        // @ts-ignore\n        swiperInstance.on(\"slideChange\", function() {\n            updateButtonStates(swiperInstance);\n            setTimeout(() => updateCounterDates(swiperInstance), 10);\n        });\n    } else {\n        const swiperElement = document.querySelector(\".header-swiper\") as any;\n\n        if (swiperElement && swiperElement.swiper) {\n            initCustomControls(swiperElement.swiper);\n\n            swiperElement.swiper.on(\"slideChange\", function() {\n                updateButtonStates(swiperElement.swiper);\n                updateCounterDates(swiperElement.swiper);\n            });\n        }\n    }\n}\n\n/**\n * Initialise the swiper custom controls\n * @param {Object} swiper - Swiper instance\n */\nexport function initCustomControls(swiper) {\n    const customPrevBtn = $$(\".swiper-button-prev\");\n    const customNextBtn = $$(\".swiper-button-next\");\n\n    if (!swiper || typeof swiper.slideNext !== \"function\") {\n        console.error(\"Invalid Swiper instance:\", swiper);\n        return;\n    }\n\n    customPrevBtn.on(\"click\", function() {\n        if (swiper && typeof swiper.slidePrev === \"function\") {\n            swiper.slidePrev();\n        }\n    });\n\n    customNextBtn.on(\"click\", function() {\n        if (swiper && typeof swiper.slideNext === \"function\") {\n            swiper.slideNext();\n        }\n    });\n\n    swiper.on(\"slideChange\", function() {\n        updateButtonStates(swiper);\n    });\n}\n\n\n/**\n * Updates buttons state (active or not)\n * @param {Object} swiper - Swiper instance\n */\nfunction updateButtonStates(swiper) {\n    const customPrevBtn = $$(\".swiper-button-prev\");\n    const customNextBtn = $$(\".swiper-button-next\");\n\n    customPrevBtn.toggleClass(\"disabled\", swiper.isBeginning);\n    customNextBtn.toggleClass(\"disabled\", swiper.isEnd);\n}\n\n/**\n * Updates the counter dates according to the active slide\n * @param {Object} swiper - Swiper instance\n */\nexport function updateCounter(slideElem) {\n    const $counter = $(\".cpt-sales-counter\");\n    const countdownDate = $(slideElem).data(\"countdown\");\n    const startDate = $(slideElem).data(\"start-date\");\n\n    $counter.data(\"countdown\", countdownDate);\n    $counter.data(\"start-date\", startDate);\n\n    initializeCounter($counter[0]);\n}\n\n/**\n * Updates the counter dates according to the active slide\n * @param {Object} swiper - Swiper instance\n */\nfunction updateCounterDates(swiper) {\n    const activeSlide = $(\".header-swiper .swiper-slide-active\");\n    const salesCounter = $(\".cpt-sales-counter\");\n\n    if (!activeSlide || !salesCounter) return;\n\n    const rawEndDate = activeSlide.attr(\"data-end-date\");\n\n    if (!rawEndDate) {\n        salesCounter.addClass(\"invisible\");\n        return;\n    }\n\n    const parsedEndDate = moment(rawEndDate, \"YYYY-MM-DD HH:mm:ss\", true);\n    if (!parsedEndDate.isValid()) {\n        salesCounter.addClass(\"invisible\");\n        return;\n    }\n\n    // Show counter and update it\n    const formattedEnd = parsedEndDate.format(\"YYYY-MM-DD HH:mm:ss\");\n    salesCounter.removeClass(\"invisible\");\n    salesCounter.attr(\"data-start-date\", parsedEndDate.clone().subtract(14, \"days\").format(\"YYYY-MM-DD HH:mm:ss\"));\n    salesCounter.attr(\"data-countdown\", formattedEnd);\n\n    $(salesCounter).countdown(\"remove\");\n    $(salesCounter).countdown(formattedEnd);\n}","import \"jquery-countdown\";\nimport * as moment from \"moment\";\n\n/**\n * Return the percentage of elapsed time\n * @param {moment.Moment} minStartCounter The minimum start date of countdown\n * @param {moment.Moment} startCounter The start date of countdown\n * @param {moment.Moment} endCounter The end date of countdown\n * @returns number - The progress percentage (0 to 100) as a number.\n */\nfunction progress(startCounter:moment.Moment, endCounter:moment.Moment, minStartCounter:moment.Moment): number {\n    const minStartCounterDate = new Date(minStartCounter.toDate());\n    const startCounterDate = new Date(startCounter.toDate());\n    const endCounterDate = new Date(endCounter.toDate());\n    const today = new Date();\n\n    // If today is less than startDate then it didn't start\n    if (today < minStartCounterDate) {\n        return 0;\n    }\n\n    if (today > endCounterDate) {\n        return 100;\n    }\n\n    // @ts-ignore\n    const date = startCounterDate < minStartCounterDate ? minStartCounterDate : startCounterDate;\n    // @ts-ignore\n    const elapsedTime = Math.abs(today - date);\n    // @ts-ignore\n    const rangeTime = Math.abs(endCounterDate - date);\n\n    return Math.floor((elapsedTime / rangeTime * 100) * 100) / 100;\n}\n\n/**\n * Initialize the countdown timer for a specific element.\n *\n * @param {HTMLElement} elem - The DOM element to initialize.\n */\nexport function initializeCounter(elem: HTMLElement) {\n    const element = $(elem);\n    let dateCountdown = element.data(\"countdown\");\n    let flashSaleStartDate = element.data(\"start-date\");\n\n    if (dateCountdown === undefined || flashSaleStartDate === undefined) {\n        dateCountdown = \"01/01/1970 00:00\";\n        flashSaleStartDate = \"01/01/1970 00:00\";\n    }\n    const counterText = element.find(\".counter-text\");\n    const counterFinished = element.find(\".counter-finished\");\n    const progressBar = element.find(\".counter-time-line\");\n\n    if (element.data(\"countdown-instance\") !== undefined) {\n        element.countdown(\"stop\");\n    }\n\n    counterText.removeClass(\"d-none\");\n    counterFinished.addClass(\"d-none\");\n\n    element.countdown(dateCountdown)\n        .on(\"update.countdown\", (event) => {\n            const days = event.strftime(\"%D\").padStart(2, \"0\");\n            const hours = event.strftime(\"%H\").padStart(2, \"0\");\n            const minutes = event.strftime(\"%M\").padStart(2, \"0\");\n            const counterEndDate = moment(dateCountdown, \"YYYY-MM-DD HH:mm:ss\");\n            const counterStartDate = moment(flashSaleStartDate, \"YYYY-MM-DD HH:mm:ss\");\n            const minCounterStartDate = moment(counterEndDate).subtract(14, \"days\");\n\n            const today = moment();\n            const start = moment.max(counterStartDate, minCounterStartDate);\n            const end = counterEndDate;\n\n            let percentageProgress = 0;\n            if (today.isBefore(start)) {\n                percentageProgress = 0;\n            } else if (today.isAfter(end)) {\n                percentageProgress = 100;\n            } else {\n                const elapsedTime = today.diff(start);\n                const rangeTime = end.diff(start);\n                percentageProgress = Math.floor((elapsedTime / rangeTime) * 10000) / 100;\n            }\n\n            progressBar.css({\n                \"--progress-width\": `${percentageProgress}%`\n            });\n\n            counterText.removeClass(\"d-none\");\n            counterFinished.addClass(\"d-none\");\n\n            counterText.find(\".counter-text-days\").text(days);\n            counterText.find(\".counter-text-hours\").text(hours);\n            counterText.find(\".counter-text-minutes\").text(minutes);\n        })\n        .on(\"finish.countdown\", () => {\n            counterText.addClass(\"d-none\");\n            counterFinished.removeClass(\"d-none\");\n\n            progressBar.css({\n                \"--progress-width\": \"100%\"\n            });\n        });\n}\n\n/**\n *  Initialize countdown in push-countdown module\n */\nexport function initCountdown() {\n    const salesCounter = $(\".cpt-sales-counter\");\n    if (!salesCounter.length) {\n        return;\n    }\n\n    salesCounter.each((index: number, elem: HTMLElement) => {\n        initializeCounter(elem);\n    });\n}\n\n","import * as $$ from \"jquery-selector-cache\";\nimport { isDesktopBreakpoint } from \"../../_core/scripts/specific/layout/breakpoints\";\n\n/**\n * Initialize the headerSubModule component\n */\nexport function initMobileHeaderSubModule() {\n    // Exit when component don't exist\n    if (!$$(\".burger-menu-main-link-container\").length) {\n        return;\n    }\n\n    if (!isDesktopBreakpoint()) {\n        $$(\".sub-menu-link-wrapper .sub-menu-link\").on(\"click\", function(e) {\n            e.preventDefault();\n            $(this)\n                .closest(\".sub-menu-link-wrapper\")\n                .find(\".cpt-header-sub-module\")\n                .removeClass(\"d-none\");\n        });\n\n        $$(\".sub-module-title\").on(\"click\", function(e) {\n            e.preventDefault();\n            $(this)\n                .parent(\".cpt-header-sub-module\")\n                .addClass(\"d-none\");\n        });\n    }\n}","import * as $$ from \"jquery-selector-cache\";\nimport { isDesktopBreakpoint } from \"../../_core/scripts/specific/layout/breakpoints\";\n\n/**\n * Initialize the headerSubModule component\n */\nexport function initDesktopHeaderSubModule() {\n    // Exit when component don't exist\n    if (!$$(\".burger-menu-main-link-container\").length) {\n        return;\n    }\n\n  if (isDesktopBreakpoint()) {\n    let hoverTimeout;\n    $$(\".sub-menu-link-wrapper .sub-menu-link\").on(\"mouseenter\", function () {\n      const self = this;\n      clearTimeout(hoverTimeout); // Clear any previous timeout to prevent multiple triggers\n      hoverTimeout = setTimeout(function () {\n        // This code will only execute if the mouse stays for more than 0.3 seconds\n        $(\".burger-menu-wrapper\").addClass(\"d-none\");\n        const $container = $(self).closest(\".cpt-menu-header\");\n        const $wrapper   = $(self).closest(\".sub-menu-link-wrapper\");\n        $container.find(\".cpt-desktop-header-sub-module\").addClass(\"d-none\");\n        $(\".overlay-background\").removeClass(\"d-none\");\n        $wrapper.children(\".cpt-desktop-header-sub-module\").removeClass(\"d-none\");\n        $$(\".cpt-menu-header\").addClass(\"hover-background\");\n      }, 300);\n    });\n    // Add a mouseleave handler to clear the timeout if the mouse leaves before the delay\n    $$(\".sub-menu-link-wrapper .sub-menu-link\").on(\"mouseleave\", function () {\n      clearTimeout(hoverTimeout); // Cancel the pending hover action\n    });\n\n    $$(\".cpt-desktop-header-sub-module\").on(\"mouseleave\", function () {\n      $(this).addClass(\"d-none\");\n      $(\".overlay-background\").addClass(\"d-none\");\n      $$(\".cpt-menu-header\").removeClass(\"hover-background\");\n    });\n  }\n\n}\n","import * as $$ from \"jquery-selector-cache\";\n\n/**\n * Initialize the header\n */\nexport function initScrollDisplayForHeader() {\n    // Exit when component don't exist\n    if (!$$(\".cpt-menu-header\").length && !$$(\".cpt-header\").length) {\n        return;\n    }\n\n    const heightHeaderSticky = 117;\n    let lastScrollTop = 0;\n\n    $(window).on(\"scroll\", function () {\n\n        if (!$$(\".overlay-background\").hasClass(\"d-none\")) return;\n\n        const st = $(this).scrollTop();\n\n        if (st > lastScrollTop && st > heightHeaderSticky) {\n            // Scroll vers le bas\n            $(\".cpt-header, .cpt-menu-header\").addClass(\"header-hide\");\n        } else if (st < lastScrollTop) {\n            $(\".cpt-header, .cpt-menu-header\").removeClass(\"header-hide\");\n        }\n        lastScrollTop = st;\n    });\n}\n","import * as $$ from \"jquery-selector-cache\";\nimport * as ReactDOM from \"react-dom\";\nimport { buildAppElement } from \"./app\";\n\n/**\n * Initialize the FastSearch component\n */\nexport function initFastSearch(): void {\n    // Exit when component don't exist\n    if (!$$(\".cpt-fast-search\").length) {\n        return;\n    }\n    $$(\".cpt-fast-search\").each((_i: number, el: Element) => mountOn(el as HTMLElement));\n}\n\n/** Monte sur un seul node */\nfunction mountOn(node: HTMLElement): void {\n    if (node.getAttribute(\"data-mounted\") === \"1\") return;\n    buildAppElement(node);\n    node.setAttribute(\"data-mounted\", \"1\");\n}\n\n/** Démonte sur un seul node */\nfunction unmountFrom(node: HTMLElement): void {\n    ReactDOM.unmountComponentAtNode(node);\n    node.removeAttribute(\"data-mounted\");\n}\n\n/** Destroy: démonte toutes les occurrences */\nexport function destroyFastSearch(): void {\n    if (!$$(\".cpt-fast-search\").length) return;\n    $$(\".cpt-fast-search\").each((_i: number, el: Element) => unmountFrom(el as HTMLElement));\n}\n\ndeclare global {\n    interface Window {\n        AppFastSearch?: {\n            initFastSearch: () => void;\n            destroyFastSearch: () => void;\n        };\n    }\n}\nwindow.AppFastSearch = { initFastSearch, destroyFastSearch };","import * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport FastSearchComponent from \"./components\";\n\n\n/** Construit l'élément React */\nexport function buildAppElement(node: HTMLElement) {\n    const { placeholder, ariaLabel, noResultMsg, moreResultMsg, mobilePortalSelector, mobileBreakpoint } = node.dataset;\n\n    ReactDOM.render(\n        <FastSearchComponent\n            placeholder={placeholder || \"Hôtel ou référence produit\"}\n            ariaLabel={ariaLabel || \"Rechercher un hôtel ou une référence produit\"}\n            noResultMsg={noResultMsg || \"Aucun résultat trouvé\"}\n            moreResultMsg={moreResultMsg || \"Voir plus ({productNumber} résultats)\"}\n            mobilePortalSelector={mobilePortalSelector || \"#fast-search-mobile-slot\"}\n            mobileBreakpoint={Number(mobileBreakpoint) || 992}\n        />,\n        node\n    );\n}","import * as React from \"react\";\nimport AsyncSelect from \"react-select/async\";\nimport { useEffect, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport type {ProductOption} from \"../@types/api\";\nimport useFastSearch from \"./useFastSearch\";\nimport useMediaQuery from \"./useMediaQuery\";\n\nimport FastSearchMenuList from \"./FastSearchMenuList\";\nimport FastSearchOption from \"./FastSearchOption\";\nimport FastSearchLoadingMessage from \"./FastSearchLoadingMessage\";\nimport FastSearchNoOptionsMessage from \"./FastSearchNoOptionsMessage\";\n\nexport type FastSearchProps = {\n    placeholder?: string;\n    ariaLabel?: string;\n    noResultMsg?: string;\n    moreResultMsg?: string;\n    className?: string;\n    mobilePortalSelector?: string;\n    mobileBreakpoint?: number;\n};\n\nconst FastSearchComponent = ({placeholder, ariaLabel, noResultMsg, moreResultMsg, className = \"\", mobilePortalSelector = \"#fast-search-mobile-slot\", mobileBreakpoint = 992}: FastSearchProps) => {\n    const {rootRef, productNumber, fastSearchQuery, menuIsOpen, options, focusedIndex,\n        loadOptions, handleKeyDown,  onMenuOpen, onMenuClose } = useFastSearch();\n    const isMobile = useMediaQuery(`(max-width:${mobileBreakpoint - 1}px)`);\n    const [portalEl, setPortalEl] = useState<HTMLElement | null>(null);\n    useEffect(() => {\n        setPortalEl(\n            mobilePortalSelector\n                ? document.querySelector<HTMLElement>(mobilePortalSelector)\n                : null\n        );\n    }, [mobilePortalSelector]);\n\n    const content = (\n        <div ref={rootRef} className={`cpt-fast-search-select ${className}`}>\n            <form autoComplete=\"off\">\n                <AsyncSelect\n                    className=\"async-select\"\n                    classNamePrefix=\"fast-search\"\n                    noOptionsMessage={({ inputValue }) =>\n                        inputValue ? noResultMsg : null\n                    }\n                    placeholder={placeholder}\n                    aria-label={ariaLabel}\n                    loadOptions={loadOptions}\n                    isClearable={true}\n                    onFocus={onMenuOpen}\n                    onBlur={onMenuClose}\n                    onMenuOpen={onMenuOpen}\n                    onMenuClose={onMenuClose}\n                    menuIsOpen={menuIsOpen}\n                    components={{\n                        Option: (props) => <FastSearchOption {...props} focusedIndex={focusedIndex}/>,\n                        MenuList: (props) => (\n                            <FastSearchMenuList\n                                {...props}\n                                options={options}\n                                productNumber={productNumber}\n                                fastSearchQuery={fastSearchQuery}\n                                moreResultMsg={moreResultMsg}\n                            />\n                        ),\n                        LoadingMessage: FastSearchLoadingMessage,\n                        NoOptionsMessage: (props) => (\n                            <FastSearchNoOptionsMessage {...props} noResultMsg={noResultMsg} />\n                        ),\n                    }}\n                    isMulti={false}\n                    autoFocus={false}\n                    defaultMenuIsOpen={false}\n                    onKeyDown={handleKeyDown}\n                    focusedIndex={focusedIndex}\n                />\n            </form>\n        </div>\n    );\n\n    return isMobile && portalEl ? createPortal(content, portalEl) : content;\n};\n\nexport default FastSearchComponent;\nexport type { ProductOption };","import * as React from \"react\";\nimport { useCallback, useRef, useState, useEffect } from \"react\";\nimport type { CodeLabel, ProductType, ResultsProduct } from \"../@types/product\";\nimport { jsonFetcher } from \"../../../../_core/scripts/libs/orxapi/tools/Fetcher\";\nimport type { ProductOption } from \"../@types/api\";\nimport { debouncePromise } from \"../../../../_core/scripts/libs/orxapi/tools/Debounce\";\nimport { fastSearchConfig } from \"../config/fastSearch\";\n\nexport type UseHeaderSearchType = {\n    menuIsOpen: boolean;\n    productNumber: number;\n    fastSearchQuery: string;\n    loadOptions: (value: string) => Promise<ProductOption[]>;\n    options: ProductOption[];\n    focusedIndex: number;\n    rootRef: React.RefObject<HTMLDivElement>;\n    handleKeyDown: (event: React.KeyboardEvent) => void;\n    onMenuOpen: () => void;\n    onMenuClose: () => void;\n};\n\nconst HIDDEN_TAG = \"js-hidden-by-search\";\nconst OVERLAY_TAG = \"js-overlay-by-search\";\nconst BODY_LOCK_TAG = \"js-noscroll-by-fastsearch\";\nconst BODY_NO_SCROLL_CLASS = \"no-scroll\";\nconst DESKTOP_MQ = \"(min-width: 992px)\";\n\nfunction useFastSearch(): UseHeaderSearchType {\n    const rootRef = useRef<HTMLDivElement>(null);\n\n    const [menuIsOpen, setMenuIsOpen] = useState(false);\n    const [productNumber, setProductNumber] = useState<number>(0);\n    const [fastSearchQuery, setFastSearchQuery] = useState(\"\");\n    const [options, setOptions] = useState<ProductOption[]>([]);\n    const [focusedIndex, setFocusedIndex] = useState<number>(-1);\n    const currentAbortRef = useRef<AbortController | null>(null);\n\n    const isDesktop = useCallback(() => {\n        if (typeof window === \"undefined\" || !(\"matchMedia\" in window)) return false;\n        return window.matchMedia(DESKTOP_MQ).matches;\n    }, []);\n\n    const setBodyNoScroll = useCallback((lock: boolean) => {\n        const body = typeof document !== \"undefined\" ? document.body : null;\n        if (!body) return;\n\n        if (lock) {\n            body.classList.add(BODY_NO_SCROLL_CLASS);\n            body.classList.add(BODY_LOCK_TAG);\n        } else if (body.classList.contains(BODY_LOCK_TAG)) {\n            body.classList.remove(BODY_NO_SCROLL_CLASS);\n            body.classList.remove(BODY_LOCK_TAG);\n        }\n    }, []);\n\n    useEffect(() => {\n        return () => setBodyNoScroll(false);\n    }, [setBodyNoScroll]);\n\n    const productHeaderSearch = async (inputValue: string): Promise<ProductOption[]> => {\n\n        if (currentAbortRef.current) {\n            currentAbortRef.current.abort();\n        }\n\n        inputValue = inputValue.replace(/[=<>]/g, \"\");\n\n        if (inputValue.length < fastSearchConfig.MIN_START_AT) {\n            setMenuIsOpen(false);\n            setProductNumber(0);\n            setFastSearchQuery(\"\");\n            setOptions([]);\n            setFocusedIndex(-1);\n            return Promise.resolve([]);\n        }\n\n        const ac = new AbortController();\n        currentAbortRef.current = ac;\n\n        setMenuIsOpen(true);\n\n        const defaultResponse: ResultsProduct = { datas: [], productNumber: 0 };\n        const query = `${fastSearchConfig.FAST_SEARCH_PARAM}=${inputValue}`;\n        const url = encodeURI(`${fastSearchConfig.API_URI}?${query}`);\n\n        const response = await jsonFetcher<ResultsProduct>(url, { signal: ac.signal }, defaultResponse);\n\n        const products: ProductType[] = response?.datas || [];\n\n        if (response?.productNumber > fastSearchConfig.MAX_PRODUCT_NUMBER) {\n            setProductNumber(response.productNumber);\n            setFastSearchQuery(query);\n        } else {\n            setProductNumber(response?.productNumber ?? products.length);\n            setFastSearchQuery(query);\n        }\n\n        const productOptions = products.map((product: ProductType): ProductOption => ({\n            value: product.code,\n            productName: product.title,\n            productImageUrl: product?.document?.mainImage?.url,\n            productRef: product.code,\n            productDestination: getDestinationLabel(product),\n            url: product.productPageUrlSEO.split(\"#\")[0]\n        }));\n\n        setOptions(productOptions);\n        return productOptions;\n    };\n\n    const debouncedSearch = debouncePromise(productHeaderSearch, 300);\n    const loadOptions = (value: string): Promise<ProductOption[]> => debouncedSearch(value);\n\n    const buildDestination = (product: ProductType): string[] => {\n        const destination: string[] = [];\n        const complete = product.completeDestination?.[fastSearchConfig.DESTINATION] || [];\n        let chosen: CodeLabel[] = [];\n        for (const group of complete) {\n            if (group.destinations && group.destinations.length > 0) {\n                if (group.destinations[0]?.code !== \"TOP\" && group.destinations.length > chosen.length) {\n                    chosen = group.destinations;\n                }\n            }\n        }\n        if (chosen.length) {\n            for (const d of chosen) destination.push(d.label);\n        }\n        return destination;\n    };\n\n    const getDestinationLabel = (product: ProductType, separator = \", \"): string => {\n        const parts = buildDestination(product);\n        if (!parts.length) return \"\";\n        return parts.slice(0, 3).join(separator);\n    };\n\n    const handleKeyDown = (event: React.KeyboardEvent) => {\n        if (!options || options.length === 0) {\n            if (event.key === \"Enter\" && fastSearchQuery) {\n                event.preventDefault();\n                window.location.href = `serp?${fastSearchQuery}`;\n            }\n            return;\n        }\n\n        if (event.key === \"ArrowDown\") {\n            event.preventDefault();\n            setFocusedIndex((i) => (i + 1) % options.length);\n        } else if (event.key === \"ArrowUp\") {\n            event.preventDefault();\n            setFocusedIndex((i) => (i - 1 + options.length) % options.length);\n        } else if (event.key === \"Enter\") {\n            event.preventDefault();\n            if (focusedIndex > -1 && options.length > focusedIndex) {\n                const opt = options[focusedIndex];\n                if (opt) window.location.href = opt.url;\n            } else if (fastSearchQuery) {\n                window.location.href = `serp?${fastSearchQuery}`;\n            }\n        }\n    };\n\n    const setOverlayVisible = useCallback((visible: boolean) => {\n        const overlay = document.querySelector<HTMLElement>(\".fast-search-overlay\");\n        if (!overlay) return;\n        if (visible) {\n            overlay.classList.add(OVERLAY_TAG);\n        } else if (overlay.classList.contains(OVERLAY_TAG)) {\n            overlay.classList.remove(OVERLAY_TAG);\n        }\n    }, []);\n\n    const setLinksHidden = useCallback((hidden: boolean) => {\n        const root = rootRef.current;\n        if (!root) return;\n        const wrap = root.closest(\".header-wrap\");\n        const list = wrap?.querySelector<HTMLElement>(\".cpt-header-links-list\");\n        if (!list) return;\n\n        const items = list.querySelectorAll<HTMLElement>(\".header-links-list-item\");\n        const dividers = list.querySelectorAll<HTMLElement>(\".divider\");\n\n        if (hidden) {\n            items.forEach((el) => {\n                if (!el.classList.contains(\"tel\")) {\n                    el.classList.add(HIDDEN_TAG);\n                    el.classList.add(\"d-none\");\n                }\n            });\n            dividers.forEach((el) => {\n                el.classList.add(HIDDEN_TAG);\n                el.classList.add(\"d-none\");\n            });\n        } else {\n            const unhide = (el: HTMLElement) => {\n                if (el.classList.contains(HIDDEN_TAG)) {\n                    el.classList.remove(HIDDEN_TAG);\n                    el.classList.remove(\"d-none\");\n                }\n            };\n            items.forEach(unhide);\n            dividers.forEach(unhide);\n        }\n    }, []);\n\n    const onMenuOpen = useCallback(() => {\n        setMenuIsOpen(true);\n        setLinksHidden(true);\n        setOverlayVisible(true);\n        if (isDesktop()) setBodyNoScroll(true);\n    }, [setLinksHidden, setOverlayVisible, setBodyNoScroll, isDesktop]);\n\n    const onMenuClose = useCallback(() => {\n        setMenuIsOpen(false);\n        setLinksHidden(false);\n        setOverlayVisible(false);\n        if (isDesktop()) setBodyNoScroll(false);\n    }, [setLinksHidden, setOverlayVisible, setBodyNoScroll, isDesktop]);\n\n    return {\n        rootRef,\n        menuIsOpen,\n        productNumber,\n        fastSearchQuery,\n        options,\n        focusedIndex,\n        loadOptions,\n        handleKeyDown,\n        onMenuOpen,\n        onMenuClose,\n    };\n}\n\nexport default useFastSearch;\n","/**\n * Fetches JSON data from a specified URL, with centralized error handling.\n *\n * @param {string} url - The URL from which to fetch the JSON data.\n * @param {RequestInit} [init] - Optional initialization options for the Fetch API.\n * @param {T} [defaultValueOnError] - If provided, this value will be returned on any fetch error. If not, the error will be thrown.\n * @returns {Promise<T>} - A Promise that resolves to the fetched JSON data, or the default value on error.\n */\nasync function jsonFetcher<T>(url: string, init?: RequestInit, defaultValueOnError?: T): Promise<T> {\n    try {\n        const r = await callExternal(url, init);\n        return await r.json();\n    } catch (error: any) {\n        // Centralized error logging\n        if (error.name === 'AbortError') {\n            console.log(`Fetch aborted for URL: ${url}`);\n        } else {\n            console.error(`Error fetching data from ${url}:`, error);\n        }\n        // If a default value is provided, return it to prevent crashing the caller\n        if (defaultValueOnError !== undefined) {\n            return Promise.resolve(defaultValueOnError);\n        }\n        // Otherwise, re-throw the error for the caller to handle\n        throw error;\n    }\n}\n/**\n * Calls an external API using the specified URL and optional request initialization options.\n *\n * @param {string} url - The URL of the API to call.\n * @param {RequestInit} [init={}] - The optional request initialization options.\n * @returns {Promise<Response>} - The response from the API.\n */\nasync function callExternal(url: string, init: RequestInit = {}): Promise<Response> {\n    const finalInit = getFinalInit(init);\n    const res = await fetch(url, finalInit);\n    return takeOrThrow(res);\n}\n/**\n * Returns the final RequestInit object by adding default headers if not provided.\n *\n * @param {RequestInit} init - The initial RequestInit object. Optional, defaults to an empty object.\n * @return {RequestInit} - The final RequestInit object with default headers added.\n */\nfunction getFinalInit(init: RequestInit = {}): RequestInit {\n    return {\n        ...init,\n        headers: {\n            ...(init.headers ?? {}),\n            \"Accept\": \"application/json\",\n            \"Content-Type\": \"application/json\"\n        }\n    };\n}\n/**\n * Returns the response if it is ok (status 200-299), otherwise throws the response.\n *\n * @param {Response} res - The Response object to be checked.\n * @returns {Response} - The same Response object if it is ok.\n * @throws {Response} - The Response object if it is not ok.\n */\nfunction takeOrThrow(res: Response): Response {\n    if (res.ok) {\n        return res;\n    }\n    throw res;\n}\nexport {\n    jsonFetcher,\n};\n","/**\n * Debounce a function\n * @param func The function\n * @param delay The debounce delay in milliseconds.\n */\nexport function debounce<T extends (...args: any[]) => void>(func: T, delay: number) {\n  let timeout: NodeJS.Timeout;\n  return function(this: ThisParameterType<T>, ...args: Parameters<T>): void {\n    const context = this;\n    clearTimeout(timeout);\n    timeout = setTimeout(() => func.apply(context, args), delay);\n  };\n}\n\n/**\n * Debounce a function that returns a promise.\n *\n * @param func The async function to debounce.\n * @param delay The debounce delay in milliseconds.\n * @returns A new function that returns a promise which resolves with the result of the latest call.\n */\nexport function debouncePromise<T extends (...args: any[]) => Promise<any>>(\n  func: T,\n  delay: number\n): (...args: Parameters<T>) => ReturnType<T> {\n  let timeout: NodeJS.Timeout;\n  // This is the new debounced function\n  return function(this: ThisParameterType<T>, ...args: Parameters<T>): ReturnType<T> {\n    const context = this;\n    // It immediately returns a new promise\n    return new Promise((resolve, reject) => {\n      // Clear any pending timeout\n      clearTimeout(timeout);\n      // Set a new timeout\n      timeout = setTimeout(() => {\n        // When the timeout completes, execute the original async function\n        func.apply(context, args)\n          .then(resolve) // Resolve the promise with the result\n          .catch(reject); // Or reject it if an error occurs\n      }, delay);\n    }) as ReturnType<T>;\n  };\n}\n","export type FastSearchConfigType = {\n    readonly MIN_START_AT: number;\n    readonly MAX_PRODUCT_NUMBER: number;\n    readonly FAST_SEARCH_PARAM: string;\n    readonly API_URI: string;\n    readonly DESTINATION: string;\n}\n\nexport const fastSearchConfig: FastSearchConfigType = {\n    MIN_START_AT: 3,\n    MAX_PRODUCT_NUMBER: 4,\n    FAST_SEARCH_PARAM: \"s_fst\",\n    API_URI: \"/app/serp\",\n    DESTINATION: \"DESSEJ2\"\n};","import { useEffect, useState } from \"react\";\n\nexport default function useMediaQuery(query: string) {\n    const getMatch = () =>\n        typeof window !== \"undefined\" && \"matchMedia\" in window\n            ? window.matchMedia(query).matches\n            : false;\n\n    const [matches, setMatches] = useState(getMatch);\n\n    useEffect(() => {\n        if (typeof window === \"undefined\" || !(\"matchMedia\" in window)) return;\n\n        const mql = window.matchMedia(query);\n        const update = () => setMatches(mql.matches);\n        update();\n\n        if (typeof mql.addEventListener === \"function\") {\n            mql.addEventListener(\"change\", update);\n            return () => mql.removeEventListener(\"change\", update);\n        }\n\n        const onResize = () => setMatches(window.matchMedia(query).matches);\n        window.addEventListener(\"resize\", onResize);\n        window.addEventListener(\"orientationchange\", onResize);\n        return () => {\n            window.removeEventListener(\"resize\", onResize);\n            window.removeEventListener(\"orientationchange\", onResize);\n        };\n    }, [query]);\n\n    return matches;\n}","import * as React from \"react\";\nimport {components} from \"react-select\";\n\nimport type {ProductOption} from \"../../@types/api\";\nimport {fastSearchConfig} from \"../../config/fastSearch\";\n\ntype FastSearchMenuListProps = {\n    options: ProductOption[];\n    productNumber: number;\n    fastSearchQuery: string;\n    moreResultMsg: string;\n};\n\n/**\n * FastSearchMenuList\n * @param props Props passed from react-select\n * @constructor\n */\nconst FastSearchMenuList = (props: any & FastSearchMenuListProps) => {\n    const {options, productNumber, fastSearchQuery, moreResultMsg, selectProps} = props;\n    const showFooter = options && options.length > 0 && productNumber > fastSearchConfig.MAX_PRODUCT_NUMBER;\n    const isLoading = !!selectProps.isLoading;\n\n    if (isLoading && React.Children.count(props.children) === 0) {\n        return <components.MenuList {...props} />;\n    }\n    return (\n        <div className=\"cpt-fast-search__menu-inner\">\n            <components.MenuList {...props} />\n            {showFooter && (\n                <a\n                    href={`/serp?${fastSearchQuery}`}\n                    className=\"fast-search-see-more\"\n                >\n                    {moreResultMsg?.replace(\"{productNumber}\", productNumber)}\n                </a>\n            )}\n        </div>\n    );\n};\n\nexport default FastSearchMenuList;\n","import * as React from \"react\";\nimport {components} from \"react-select\";\n\nimport type {ProductOption} from \"../../@types/api\";\n\ntype FastSearchOptionProps = {\n    focusedIndex: number;\n};\n\n/**\n * FastSearchOption\n * @param props Props passed from react-select\n * @constructor\n */\nconst FastSearchOption = (props: any & FastSearchOptionProps) => {\n    const {data, selectProps, focusedIndex} = props;\n    const options = selectProps.options as ProductOption[];\n    const index = options.findIndex((opt) => opt.value === data.value);\n    const highlightClass = index === focusedIndex ? \"focused-option\" : \"\";\n\n    return (\n        <components.Option {...props}>\n            <a href={data.url} className={`cpt-fast-search-product-item ${highlightClass}`}>\n                <div className=\"image-wrap\">\n                    <img src={data.productImageUrl} alt=\"\"/>\n                </div>\n                <div className=\"fast-search-product-item-wrap\">\n                    <div className=\"fast-search-product-item-name\">{data.productName}</div>\n                    <div className=\"fast-search-product-item-description\">\n                        <div className=\"fast-search-product-item-destination\">{data.productDestination}</div>\n                        <span className=\"fast-search-ref\">Réf : {data.productRef}</span>\n                    </div>\n                </div>\n            </a>\n        </components.Option>\n    );\n};\n\nexport default FastSearchOption;\n","import * as React from \"react\";\nimport { components } from \"react-select\";\nimport { fastSearchConfig } from \"../../config/fastSearch\";\n\n/**\n * FastSearchLoadingMessage\n *\n * @param props - Props passed by react-select to the LoadingMessage component\n * @returns JSX.Element\n */\nconst FastSearchLoadingMessage = (props: any) => {\n    const inputValue: string = props.selectProps.inputValue || \"\";\n    if (inputValue.length < fastSearchConfig.MIN_START_AT) {\n        return null;\n    }\n    const count = Math.max(1, Math.min(fastSearchConfig.MAX_PRODUCT_NUMBER, 4));\n\n    return (\n        <components.LoadingMessage {...props}>\n            <div className=\"cpt-fast-search__skeleton-list\" aria-hidden=\"true\">\n                {Array.from({ length: count }).map((_, i) => (\n                    <div key={i} className=\"cpt-fast-search-product-item is-skeleton\">\n                        <div className=\"image-wrap skeleton-box\" />\n                        <div className=\"fast-search-product-item-wrap\">\n                            <div className=\"fast-search-product-item-name skeleton-line\" />\n                            <div className=\"fast-search-product-item-name skeleton-line d-lg-none\" />\n                            <div className=\"fast-search-product-item-description\">\n                                <div className=\"fast-search-product-item-destination skeleton-line\" />\n                                <span className=\"fast-search-ref skeleton-line skeleton-line--short\" />\n                            </div>\n                        </div>\n                    </div>\n                ))}\n            </div>\n        </components.LoadingMessage>\n    );\n};\n\nexport default FastSearchLoadingMessage;\n","import * as React from \"react\";\nimport { components } from \"react-select\";\nimport {fastSearchConfig} from \"../../config/fastSearch\";\n\ntype Props = any & {\n    noResultMsg?: string;\n};\n\nconst Index: React.FC<Props> = (props) => {\n    const { selectProps } = props as any;\n    const inputValue: string = selectProps?.inputValue ?? \"\";\n    const isLoading = Boolean(selectProps?.isLoading);\n\n    // Ne rien afficher pendant le chargement, ou si input trop court\n    if (isLoading || inputValue.trim().length < (fastSearchConfig?.MIN_START_AT ?? 1)) {\n        return null;\n    }\n\n    return (\n        <components.NoOptionsMessage {...props}>\n            <div className=\"cpt-fast-search-no-options-message\" role=\"presentation\">\n                <div className=\"fast-search-no-options-message-illustration\" aria-hidden=\"true\">\n                    <svg className=\"fast-search-palm-icon\" width=\"120\" height=\"120\" viewBox=\"0 0 120 120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n                        <path d=\"M81 18C91.6875 18 100.312 24.75 101.812 33.375C101.812 33.5625 101.812 33.75 101.812 33.75C101.812 35.0625 100.875 36.1875 99.5625 36.1875C99.5625 36.1875 99.5625 36.1875 99.5625 36H93L90 30L87 36H67.875C69.9375 45.1875 73.3125 63 71.25 79.5C81 82.6875 88.5 91.3125 89.8125 101.625C90.375 105.188 87.375 108 84 108H24C20.25 108 17.4375 104.812 18 101.062C19.875 88.5 31.875 78.1875 44.625 78.1875H54.75C56.625 70.125 59.4375 55.125 58.6875 40.125L45.375 53.4375C44.25 54.375 42.5625 54.1875 41.8125 53.0625C37.125 46.3125 38.0625 36.5625 44.625 30H39L36 24L33 30H26.25C26.25 30.1875 26.25 30.1875 26.25 30.1875C24.9375 30.1875 24 29.0625 24 27.75C24 27.75 24 27.5625 24 27.375C25.5 18.75 34.3125 12 44.8125 12C54.1875 12 62.0625 17.4375 64.875 24.75C68.625 20.625 74.4375 18 81 18Z\" fill=\"#199BD7\"/>\n                    </svg>\n                    <svg className=\"fast-search-mg-icon\" width=\"50\" height=\"50\" viewBox=\"0 0 50 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n                        <path d=\"M44.6875 41.6406C45.0781 42.0312 45.0781 42.6562 44.6875 42.9688L42.8906 44.7656C42.5781 45.1562 41.9531 45.1562 41.5625 44.7656L32.1094 35.3125C31.9531 35.0781 31.875 34.8438 31.875 34.6094V33.5938C28.9844 36.0156 25.3125 37.5 21.25 37.5C12.2656 37.5 5 30.2344 5 21.25C5 12.3438 12.2656 5 21.25 5C30.1562 5 37.5 12.3438 37.5 21.25C37.5 25.3125 35.9375 29.0625 33.5156 31.875H34.5312C34.7656 31.875 35 32.0312 35.2344 32.1875L44.6875 41.6406ZM21.25 33.75C28.125 33.75 33.75 28.2031 33.75 21.25C33.75 14.375 28.125 8.75 21.25 8.75C14.2969 8.75 8.75 14.375 8.75 21.25C8.75 28.2031 14.2969 33.75 21.25 33.75Z\" fill=\"#222222\"/>\n                    </svg>\n                </div>\n                <div className=\"fast-search-no-options-message-text-wrap\">\n                    <div className=\"fast-search-no-options-message-title\">\n                        {props.noResultMsg ?? \"Aucun résultat trouvé\"}\n                    </div>\n                    <div className=\"fast-search-no-options-message-subtitle\">\n                        Vérifiez l’orthographe ou essayez un autre mot-clé\n                    </div>\n                </div>\n            </div>\n        </components.NoOptionsMessage>\n    );\n};\n\nexport default Index;",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]}