{"version":3,"file":"static/components/3437-5ea127df884be86b.js?cv=7","sources":["webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/carte/components/map/style.css","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/_variables-light.scss","webpack://Agir/./carte/components/map/style.css?3db8","webpack://Agir/./front/components/genericComponents/_variables-light.scss?5c0c","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/carte/components/map/common.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/carte/components/map/utils.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/lib/components/utils/fontawesome.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/lib/components/utils/logger.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/lib/components/utils/url.js"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/* arrow code from http://www.cssarrowplease.com/ */\n\n.map_popup {\n  position: relative;\n  background: #ffffff;\n  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);\n  padding: 13px 19px;\n  -webkit-border-radius: 12px;\n  -moz-border-radius: 12px;\n  border-radius: 12px;\n  font-size: 15px;\n}\n\n.map_popup:after {\n  top: 100%;\n  left: 50%;\n  border: solid transparent;\n  content: \" \";\n  height: 0;\n  width: 0;\n  position: absolute;\n  pointer-events: none;\n  /*border-color: rgba(255, 255, 255, 0);*/\n  border-top-color: #ffffff;\n  border-width: 20px;\n  margin-left: -20px;\n}\n\n.map_popup a {\n  font-size: 18px;\n  font-weight: bold;\n}\n\n.layer_selector_button {\n  position: absolute;\n  top: 0.5em;\n  right: 0.5em;\n  font-family: 'Font Awesome 6 Pro', 'Font Awesome 6 Brands';\n  background: #ffffff;\n  border: none;\n  border-radius: 8px;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n  width: 44px;\n  height: 44px;\n  font-size: 18px;\n  color: #1a237e;\n  cursor: pointer;\n  transition: all 0.2s ease;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  z-index: 1001;\n}\n\n.layer_selector_button:hover {\n  background: #f5f5f5;\n  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);\n  transform: translateY(-1px);\n}\n\n.layer_selector_button:active {\n  transform: translateY(0);\n  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\n}\n\n.layer_selector {\n  display: none;\n  position: absolute;\n  background: #ffffff;\n  top: 3.7em;\n  right: 0.5em;\n  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);\n  border-radius: 12px;\n  padding: 12px;\n  min-width: 220px;\n  max-width: 280px;\n  z-index: 1000;\n  opacity: 0;\n  visibility: hidden;\n  transform: translateY(-10px);\n  transition: all 0.2s ease;\n}\n\n.layer_selector.visible {\n  display: block;\n  opacity: 1;\n  visibility: visible;\n  transform: translateY(0);\n}\n\n.layer_selector label {\n  display: flex;\n  align-items: center;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 1.5;\n  margin-bottom: 8px;\n  padding: 6px 10px;\n  border-radius: 6px;\n  cursor: pointer;\n  transition: background 0.15s ease;\n  color: #333;\n}\n\n.layer_selector label:has(input:checked) {\n    font-weight: bold;\n    background-color: #cbcbcb;\n}\n\n.layer_selector label:hover {\n    background: #dddddd50;\n}\n\n.layer_selector input[type=\"checkbox\"] {\n  width: 18px;\n  height: 18px;\n  min-width: 18px;\n  margin-right: 10px;\n  accent-color: #1a237e;\n  cursor: pointer;\n  border: 2px solid #ccc;\n  border-radius: 4px;\n}\n\n.layer_selector input[type=\"checkbox\"]:checked {\n  border-color: #1a237e;\n  background: #1a237e;\n}\n\n.layer_selector span {\n  color: inherit;\n  font-weight: 600;\n}\n\n.active_groups_button {\n  position: absolute;\n  top: 0.5em;\n  right: 3em;\n  background: #ffffff;\n  border: none;\n  border-radius: 8px;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n  padding: 8px 12px;\n  font-size: 14px;\n  cursor: pointer;\n  transition: all 0.2s ease;\n  z-index: 1001;\n  color: #333;\n}\n\n.active_groups_button:hover {\n  background: #f5f5f5;\n  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);\n  transform: translateY(-1px);\n}\n\n.active_groups_button:active {\n  transform: translateY(0);\n  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\n}\n\n.active_groups_button label {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  margin: 0;\n  cursor: pointer;\n  font-weight: 500;\n}\n\n.active_groups_button input[type=\"checkbox\"] {\n  width: 18px;\n  height: 18px;\n  accent-color: #1a237e;\n  cursor: pointer;\n  border: 2px solid #ccc;\n  border-radius: 4px;\n}\n\n.active_groups_button input[type=\"checkbox\"]:checked {\n  border-color: #1a237e;\n  background: #1a237e;\n}\n\n.ol-zoom {\n  top: 2.5em;\n}\n\n.map-top-bar {\n  position: absolute;\n  top: 0.5em;\n  left: 0.5em;\n  width: calc(100% - 300px);\n  max-width: 600px;\n\n  display: flex;\n}\n\n@media (max-width: 892px) {\n  .map-top-bar {\n    width: calc(100% - 64px);\n    max-width: 600px;\n  }\n}\n\n.locate-me-control {\n  display: flex;\n  gap: 1ch;\n\n  align-items: last baseline;\n  justify-content: center;\n  white-space: nowrap;\n}\n\n.locate-me-control.is-loading {\n    opacity: 0.7;\n    cursor: wait;\n}\n.locate-me-control.is-loading .fa-loader {\n    animation: rotate 0.75s linear infinite;\n}\n@keyframes rotate {\n    to { transform: rotate(360deg); }\n}\n\n.search_box {\n  position: relative;\n  flex-grow: 1;\n}\n\n.search_box form {\n  padding-right: 34px;\n  font-size: 14px;\n}\n\n.search_box input {\n  margin-right: 0;\n  padding: 0 3px;\n  border: 1px solid black;\n  border-right: none;\n  height: 30px;\n  width: 100%;\n  border-radius: 2px 0 0 2px;\n}\n\n.search_box button {\n  text-align: center;\n  padding: 0;\n  margin-left: 0;\n  border-radius: 0 2px 2px 0;\n  border: 1px solid black;\n  height: 30px;\n  width: 30px;\n  margin-right: -30px;\n}\n\n.search_box ul {\n  position: absolute;\n  width: 100%;\n  display: none;\n  background: white;\n  border-radius: 0 0 5px 5px;\n  list-style: none;\n  padding: 0;\n  border: 1px solid black;\n  border-top: none;\n}\n\n.search_box ul.show {\n  display: block;\n}\n\n.search_box li + li {\n  border-top: solid black 1px;\n}\n\n.search_box li a {\n  color: black;\n  text-decoration: none;\n  display: block;\n  padding: 5px;\n  font-size: 12px;\n}\n\n.search_box li a:hover {\n  background: #ddd;\n}\n\n.ol-attribution {\n  font-size: 12px;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./carte/components/map/style.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/* arrow code from http://www.cssarrowplease.com/ */\\n\\n.map_popup {\\n  position: relative;\\n  background: #ffffff;\\n  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);\\n  padding: 13px 19px;\\n  -webkit-border-radius: 12px;\\n  -moz-border-radius: 12px;\\n  border-radius: 12px;\\n  font-size: 15px;\\n}\\n\\n.map_popup:after {\\n  top: 100%;\\n  left: 50%;\\n  border: solid transparent;\\n  content: \\\" \\\";\\n  height: 0;\\n  width: 0;\\n  position: absolute;\\n  pointer-events: none;\\n  /*border-color: rgba(255, 255, 255, 0);*/\\n  border-top-color: #ffffff;\\n  border-width: 20px;\\n  margin-left: -20px;\\n}\\n\\n.map_popup a {\\n  font-size: 18px;\\n  font-weight: bold;\\n}\\n\\n.layer_selector_button {\\n  position: absolute;\\n  top: 0.5em;\\n  right: 0.5em;\\n  font-family: 'Font Awesome 6 Pro', 'Font Awesome 6 Brands';\\n  background: #ffffff;\\n  border: none;\\n  border-radius: 8px;\\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\\n  width: 44px;\\n  height: 44px;\\n  font-size: 18px;\\n  color: #1a237e;\\n  cursor: pointer;\\n  transition: all 0.2s ease;\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n  z-index: 1001;\\n}\\n\\n.layer_selector_button:hover {\\n  background: #f5f5f5;\\n  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);\\n  transform: translateY(-1px);\\n}\\n\\n.layer_selector_button:active {\\n  transform: translateY(0);\\n  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\\n}\\n\\n.layer_selector {\\n  display: none;\\n  position: absolute;\\n  background: #ffffff;\\n  top: 3.7em;\\n  right: 0.5em;\\n  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);\\n  border-radius: 12px;\\n  padding: 12px;\\n  min-width: 220px;\\n  max-width: 280px;\\n  z-index: 1000;\\n  opacity: 0;\\n  visibility: hidden;\\n  transform: translateY(-10px);\\n  transition: all 0.2s ease;\\n}\\n\\n.layer_selector.visible {\\n  display: block;\\n  opacity: 1;\\n  visibility: visible;\\n  transform: translateY(0);\\n}\\n\\n.layer_selector label {\\n  display: flex;\\n  align-items: center;\\n  font-weight: 500;\\n  font-size: 14px;\\n  line-height: 1.5;\\n  margin-bottom: 8px;\\n  padding: 6px 10px;\\n  border-radius: 6px;\\n  cursor: pointer;\\n  transition: background 0.15s ease;\\n  color: #333;\\n}\\n\\n.layer_selector label:has(input:checked) {\\n    font-weight: bold;\\n    background-color: #cbcbcb;\\n}\\n\\n.layer_selector label:hover {\\n    background: #dddddd50;\\n}\\n\\n.layer_selector input[type=\\\"checkbox\\\"] {\\n  width: 18px;\\n  height: 18px;\\n  min-width: 18px;\\n  margin-right: 10px;\\n  accent-color: #1a237e;\\n  cursor: pointer;\\n  border: 2px solid #ccc;\\n  border-radius: 4px;\\n}\\n\\n.layer_selector input[type=\\\"checkbox\\\"]:checked {\\n  border-color: #1a237e;\\n  background: #1a237e;\\n}\\n\\n.layer_selector span {\\n  color: inherit;\\n  font-weight: 600;\\n}\\n\\n.active_groups_button {\\n  position: absolute;\\n  top: 0.5em;\\n  right: 3em;\\n  background: #ffffff;\\n  border: none;\\n  border-radius: 8px;\\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\\n  padding: 8px 12px;\\n  font-size: 14px;\\n  cursor: pointer;\\n  transition: all 0.2s ease;\\n  z-index: 1001;\\n  color: #333;\\n}\\n\\n.active_groups_button:hover {\\n  background: #f5f5f5;\\n  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);\\n  transform: translateY(-1px);\\n}\\n\\n.active_groups_button:active {\\n  transform: translateY(0);\\n  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\\n}\\n\\n.active_groups_button label {\\n  display: flex;\\n  align-items: center;\\n  gap: 8px;\\n  margin: 0;\\n  cursor: pointer;\\n  font-weight: 500;\\n}\\n\\n.active_groups_button input[type=\\\"checkbox\\\"] {\\n  width: 18px;\\n  height: 18px;\\n  accent-color: #1a237e;\\n  cursor: pointer;\\n  border: 2px solid #ccc;\\n  border-radius: 4px;\\n}\\n\\n.active_groups_button input[type=\\\"checkbox\\\"]:checked {\\n  border-color: #1a237e;\\n  background: #1a237e;\\n}\\n\\n.ol-zoom {\\n  top: 2.5em;\\n}\\n\\n.map-top-bar {\\n  position: absolute;\\n  top: 0.5em;\\n  left: 0.5em;\\n  width: calc(100% - 300px);\\n  max-width: 600px;\\n\\n  display: flex;\\n}\\n\\n@media (max-width: 892px) {\\n  .map-top-bar {\\n    width: calc(100% - 64px);\\n    max-width: 600px;\\n  }\\n}\\n\\n.locate-me-control {\\n  display: flex;\\n  gap: 1ch;\\n\\n  align-items: last baseline;\\n  justify-content: center;\\n  white-space: nowrap;\\n}\\n\\n.locate-me-control.is-loading {\\n    opacity: 0.7;\\n    cursor: wait;\\n}\\n.locate-me-control.is-loading .fa-loader {\\n    animation: rotate 0.75s linear infinite;\\n}\\n@keyframes rotate {\\n    to { transform: rotate(360deg); }\\n}\\n\\n.search_box {\\n  position: relative;\\n  flex-grow: 1;\\n}\\n\\n.search_box form {\\n  padding-right: 34px;\\n  font-size: 14px;\\n}\\n\\n.search_box input {\\n  margin-right: 0;\\n  padding: 0 3px;\\n  border: 1px solid black;\\n  border-right: none;\\n  height: 30px;\\n  width: 100%;\\n  border-radius: 2px 0 0 2px;\\n}\\n\\n.search_box button {\\n  text-align: center;\\n  padding: 0;\\n  margin-left: 0;\\n  border-radius: 0 2px 2px 0;\\n  border: 1px solid black;\\n  height: 30px;\\n  width: 30px;\\n  margin-right: -30px;\\n}\\n\\n.search_box ul {\\n  position: absolute;\\n  width: 100%;\\n  display: none;\\n  background: white;\\n  border-radius: 0 0 5px 5px;\\n  list-style: none;\\n  padding: 0;\\n  border: 1px solid black;\\n  border-top: none;\\n}\\n\\n.search_box ul.show {\\n  display: block;\\n}\\n\\n.search_box li + li {\\n  border-top: solid black 1px;\\n}\\n\\n.search_box li a {\\n  color: black;\\n  text-decoration: none;\\n  display: block;\\n  padding: 5px;\\n  font-size: 12px;\\n}\\n\\n.search_box li a:hover {\\n  background: #ddd;\\n}\\n\\n.ol-attribution {\\n  font-size: 12px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nexport var background0 = `#fff`;\nexport var background25 = `#f9f9f9`;\nexport var background50 = `#eee`;\nexport var background75 = `#f5f5f5`;\nexport var background100 = `#dfdfdf`;\nexport var background200 = `#c4c4c4`;\nexport var backgroun500 = `#777`;\nexport var background700 = `#4f4f4f`;\nexport var text1000 = `#000a2c`;\nexport var text700 = `#4f4f4f`;\nexport var text500 = `#777`;\nexport var text200 = `#c4c4c4`;\nexport var text100 = `#dfdfdf`;\nexport var text50 = `#eee`;\nexport var text25 = `#fafafa`;\nexport var primary500 = `#571aff`;\nexport var primary600 = `#4d26b9`;\nexport var primary150 = `#cbbfec`;\nexport var primary100 = `#e9e1ff`;\nexport var primary50 = `#f6f2fc`;\nexport var secondary600 = `#f5e30f`;\nexport var secondary500 = `#f4ed0f`;\nexport var secondary100 = `#fcfbd9`;\nexport var success500 = `#16a460`;\nexport var success200 = `#b4ffdb`;\nexport var success100 = `#d9ffed`;\nexport var error500 = `#e93a55`;\nexport var error100 = `#fdecee`;\nexport var vermillon = `#ff5e35`;\nexport var LFIprimary600 = `#200054`;\nexport var LFIprimary500 = `#7b13d6`;\nexport var LFIprimary150 = `#fdbcff`;\nexport var LFIprimary100 = `#fdbcff`;\nexport var LFIsecondary600 = `#d31529`;\nexport var LFIsecondary500 = `#f91616`;\nexport var LFIsecondary150 = `#efa79c`;\nexport var LFIsecondary100 = `#ffe5dd`;\nexport var soutienPrimary = `#4c0297`;\nexport var soutienSecondary = `#d1271c`;\nexport var soutienLight = `#e5cbff`;\nexport var referralPink = `#f831a0`;\nexport var materielBlue = `#38a5f4`;\nexport var votingProxyOrange = `#ea610b`;\nexport var PULBleu = `#3f2682`;\nexport var prussianBlue = `#0060b8`;\nexport var textColor = `#000a2c`;\nexport var linkColor = `#571aff`;\nexport var linkHoverColor = `#4d26b9`;\nexport var markColor = `#f6f2fc`;\nexport var elaborateShadow = `0px 0px 3px rgba(0,35,44,.1),0px 2px 0px rgba(0,35,44,.08)`;\nexport var cardShadow = `0px 0px 1px 0px #c4c4c4,0px 1px 1px 0px #dfdfdf`;\nexport var mapFilter = `none`;\nexport var white = `#fff`;\nexport var black = `#000a2c`;\nexport var facebook = `#1778f2`;\nexport var facebookLight = `#bbdbff`;\nexport var twitter = `#1da1f2`;\nexport var whatsapp = `#24cc63`;\nexport var telegram = `#08c`;\nexport var nupesBlue = `#502582`;\nexport var nupesRed = `#f53b3b`;\nexport var nupesPink = `#f831a0`;\nexport var nupesGreen = `#34ad6c`;\nexport var nupesYellow = `#ffec00`;\nexport var fontFamilyBase = `\"Poppins\",sans-serif`;\nexport var fontSizeBase = `16px`;\nexport var lineHeightBase = `1.428571429`;\nexport var linkHoverDecoration = `underline`;\nexport var collapse = `992`;\nexport var collapseSmallMobile = `360`;\nexport var collapseMobile = `992`;\nexport var collapseTablet = `1282`;\nexport var softBorderRadius = `4px`;\nexport var borderRadius = `8px`;\nexport var zindexMainContent = `2`;\nexport var zindexTopBar = `10`;\nexport var zindexBottomBar = `10`;\nexport var zindexNavigationCounter = `10`;\nexport var zindexModal = `20`;\nexport var zindexPanel = `20`;\nexport var zindexFeedbackButton = `15`;\nexport default ___CSS_LOADER_EXPORT___;\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!./style.css\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!./style.css\";\n       export default content && content.locals ? content.locals : undefined;\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/sass-loader/dist/cjs.js!./_variables-light.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/sass-loader/dist/cjs.js!./_variables-light.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import Attribution from \"ol/control/Attribution\";\nimport Zoom from \"ol/control/Zoom\";\nimport Feature from \"ol/Feature\";\nimport Point from \"ol/geom/Point\";\nimport TileLayer from \"ol/layer/Tile\";\nimport VectorLayer from \"ol/layer/Vector\";\nimport Map from \"ol/Map\";\nimport Overlay from \"ol/Overlay\";\nimport { fromLonLat, transformExtent } from \"ol/proj\";\nimport VectorSource from \"ol/source/Vector\";\nimport XYZ from \"ol/source/XYZ\";\nimport Fill from \"ol/style/Fill\";\nimport Icon from \"ol/style/Icon\";\nimport Style from \"ol/style/Style\";\nimport Text from \"ol/style/Text\";\nimport Circle from \"ol/style/Circle\";\nimport View from \"ol/View\";\n\nimport * as style from \"@agir/front/genericComponents/_variables-light.scss\";\nimport fontawesome from \"@agir/lib/utils/fontawesome\";\n\nimport markerIcon from \"./marker.svg\";\nimport markerIconBg from \"./marker_bg.svg\";\n\nimport { element } from \"./utils\";\nimport { Stroke } from \"ol/style\";\n\nconst ARROW_SIZE = 20;\n\nconst attributions = `<a href=\"https://jawg.io?utm_medium=map&utm_source=attribution\" title=\"Tiles Courtesy of Jawg Maps\" target=\"_blank\" class=\"jawg-attrib\" >&copy; <b>Jawg</b>Maps</a> | <a href=\"https://www.openstreetmap.org/copyright\" title=\"OpenStreetMap is open data licensed under ODbL\" target=\"_blank\" class=\"osm-attrib\">&copy; OSM contributors</a>`;\n\nexport function setUpMap(elementId, layers) {\n  const view = new View({\n    center: fromLonLat([2, 47]),\n    zoom: 6,\n    enableRotation: false,\n  });\n  return new Map({\n    target: elementId,\n    controls: [new Attribution({ collapsible: false, attributions })],\n    layers: [\n      new TileLayer({\n        source: new XYZ({\n          url: \"https://tile.jawg.io/jawg-streets/{z}/{x}/{y}.png?access-token=XTTcbiVaOWY4a27Zo6mfBU30NGhlhUPzsMNnxyo5bbLfNzd60CGy7Dc6c42wTErs\",\n          attributions: [attributions],\n        }),\n      }),\n      ...layers,\n    ],\n    view,\n  });\n}\n\n/**\n *\n * @param {*} map\n * @param {[float, float]} pos as [longitude: float, latitude: float]\n */\nexport function gotToPos(map, pos) {\n  map.getView().animate({ center: fromLonLat(pos), zoom: 13 });\n}\n\nconst MY_POSITION_LAYER_NAME = \"myPosition\";\n/**\n *\n * @param {Map} map\n * @param {[float, float]} pos as [longitude: float, latitude: float]\n */\nexport function drawMyPosition(map, pos) {\n  const style = new Style({\n    image: new Circle({\n      radius: 10,\n      stroke: new Stroke({\n        color: \"#FFFFFF\",\n        width: 2,\n      }),\n      fill: new Fill({\n        color: \"#AB8CFF\",\n      }),\n    }),\n  });\n\n  // Create a feature, set its style\n  const feature = new Feature({\n    geometry: new Point(fromLonLat(pos)),\n  });\n  feature.setStyle(style);\n\n  // Create a data source, add a feature\n  const source = new VectorSource();\n  source.addFeature(feature);\n\n  let hasAlreadyMyPositionLayer = false;\n  const layers = map.getLayers();\n\n  layers.forEach((layer) => {\n    if (layer.get(\"name\") == MY_POSITION_LAYER_NAME) {\n      layer.source = source;\n      hasAlreadyMyPositionLayer = true;\n    }\n  });\n  if (!hasAlreadyMyPositionLayer) {\n    const layer = new VectorLayer({\n      source: source,\n      properties: { name: MY_POSITION_LAYER_NAME },\n    });\n    map.addLayer(layer);\n  }\n}\n\nexport function fitBounds(map, bounds) {\n  map\n    .getView()\n    .fit(transformExtent(bounds, \"EPSG:4326\", \"EPSG:3857\"), map.getSize());\n}\n\nexport function setUpPopup(map) {\n  const popupElement = element(\"div\", [], {\n    className: \"map_popup\",\n  });\n  popupElement.addEventListener(\"mousedown\", function (evt) {\n    evt.stopPropagation();\n  });\n\n  const popup = new Overlay({\n    element: popupElement,\n    positioning: \"bottom-center\",\n    offset: [0, -ARROW_SIZE],\n    stopEvent: true,\n  });\n\n  map.addOverlay(popup);\n\n  map.on(\"singleclick\", function (evt) {\n    popup.setPosition();\n    map.forEachFeatureAtPixel(evt.pixel, function (feature) {\n      const coords = feature.getGeometry().getCoordinates();\n      if (feature.get(\"popupContent\")) {\n        popup.getElement().innerHTML = feature.get(\"popupContent\");\n        popup.setOffset([0, feature.get(\"popupAnchor\")]);\n        popup.setPosition(coords);\n        return true;\n      }\n    });\n  });\n\n  map.on(\"pointermove\", function (evt) {\n    const hit = this.forEachFeatureAtPixel(evt.pixel, function (feature) {\n      return !!feature.get(\"popupContent\");\n    });\n    if (hit) {\n      this.getTargetElement().style.cursor = \"pointer\";\n    } else {\n      this.getTargetElement().style.cursor = \"\";\n    }\n  });\n}\n\nconst getMarkerIcons = (color = style.primary500) => [\n  new Style({\n    image: new Icon({\n      opacity: 1,\n      src: markerIcon,\n      color,\n      scale: 0.75,\n      anchor: [0.5, 1],\n    }),\n  }),\n  new Style({\n    image: new Icon({\n      opacity: 1,\n      src: markerIconBg,\n      scale: 0.75,\n      anchor: [0.5, 1],\n    }),\n  }),\n];\n\nexport function makeStyle(config, options = {}) {\n  options = Object.assign({ color: true }, options);\n\n  if (config.color && config.iconName) {\n    const iconStyle = fontawesome(config.iconName, true);\n    return [\n      ...getMarkerIcons(options.color ? config.color : style.primary500),\n      new Style({\n        text: new Text({\n          text: iconStyle?.text,\n          offsetY: -21,\n          font: `${iconStyle.fontWeight} 12px ${iconStyle.fontFamily}`,\n          fill: new Fill({ color: \"#FFFFFF\" }),\n        }),\n      }),\n    ];\n  } else if (config.iconUrl && config.iconAnchor) {\n    return new Style({\n      image: new Icon({\n        anchor: config.iconAnchor,\n        anchorXUnits: \"pixels\",\n        anchorYUnits: \"pixels\",\n        opacity: 1,\n        src: config.iconUrl,\n      }),\n    });\n  }\n\n  return null;\n}\n\nexport function createMap(\n  center,\n  zoom,\n  target,\n  iconConfiguration,\n  isStatic,\n  mapFilter,\n) {\n  const styles = iconConfiguration\n    ? makeStyle(iconConfiguration)\n    : getMarkerIcons();\n  const feature = new Feature({\n    geometry: new Point(fromLonLat(center)),\n  });\n  feature.setStyle(styles);\n  const tile = new TileLayer({\n    source: new XYZ({\n      url: \"https://tile.jawg.io/jawg-streets/{z}/{x}/{y}.png?access-token=XTTcbiVaOWY4a27Zo6mfBU30NGhlhUPzsMNnxyo5bbLfNzd60CGy7Dc6c42wTErs\",\n      attributions: [attributions],\n    }),\n  });\n  tile.on(\"prerender\", (evt) => {\n    if (evt.context) {\n      const context = evt.context;\n      context.filter = mapFilter;\n      context.globalCompositeOperation = \"source-over\";\n    }\n  });\n  tile.on(\"postrender\", (evt) => {\n    if (evt.context) {\n      const context = evt.context;\n      context.filter = \"none\";\n    }\n  });\n  const map = new Map({\n    target,\n    controls: isStatic ? [new Attribution()] : [new Attribution(), new Zoom()],\n    interactions: isStatic ? [] : undefined,\n    layers: [\n      tile,\n      new VectorLayer({\n        source: new VectorSource({ features: [feature] }),\n      }),\n    ],\n    view: new View({\n      center: fromLonLat(center),\n      zoom,\n      enableRotation: false,\n    }),\n  });\n\n  /**\n   * Function to handle update of the center coordinates of the map\n   * @param  {Number[]} newCenter               The new center coordinates\n   */\n  const updateMapCenter = (newCenter) => {\n    // Avoid updating the map if nothing has changed\n    if (newCenter[0] === center[0] && newCenter[1] === center[1]) {\n      return;\n    }\n    // Update the view center\n    map.getView().setCenter(fromLonLat(newCenter));\n    // Update the marker position\n    feature.setGeometry(new Point(fromLonLat(newCenter)));\n  };\n\n  /**\n   * Function to handle update of the map filter\n   * @param {String} filter                The new filter\n   */\n  const updateMapFilter = (filter) => {\n    // Avoid updating the map if nothing has changed\n    if (mapFilter === filter) {\n      return;\n    }\n\n    mapFilter = filter;\n    tile.getSource().refresh();\n  };\n\n  return {\n    map,\n    updateMapCenter,\n    updateMapFilter,\n  };\n}\n","import FontFaceOnload from \"fontfaceonload\";\n\nimport {\n  addQueryStringParams,\n  parseQueryStringParams,\n} from \"@agir/lib/utils/url\";\n\nexport function getQueryParameterByName(name) {\n  const url = window.location.href;\n  name = name.replace(/[[\\]]/g, \"\\\\$&\");\n  const regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n    results = regex.exec(url);\n  if (!results) return null;\n  if (!results[2]) return \"\";\n  return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n}\n\nfunction deepAssign(target, source) {\n  for (let key of Object.keys(source)) {\n    if (typeof source[key] === \"object\") {\n      if (!(key in target)) {\n        target[key] = {};\n      }\n      deepAssign(target[key], source[key]);\n    } else {\n      target[key] = source[key];\n    }\n  }\n}\n\nexport function element(tag, children = [], attrs = {}) {\n  const elem = document.createElement(tag);\n  children\n    .map((e) => {\n      if (e instanceof Element) {\n        return e;\n      } else if (e.constructor === String) {\n        return document.createTextNode(e);\n      }\n      return element.apply(null, e);\n    })\n    .forEach((e) => elem.appendChild(e));\n  deepAssign(elem, attrs);\n  return elem;\n}\n\nexport function fontIsLoaded(fontName) {\n  return new Promise((resolve, reject) =>\n    FontFaceOnload(fontName, {\n      success: resolve,\n      error: reject,\n    }),\n  );\n}\n\nexport const fontawesomeIsLoaded = () => {\n  return Promise.any([\n    fontIsLoaded(\"Font Awesome 6 Pro\"),\n    fontIsLoaded(\"Font Awesome 6 Brands\"),\n  ]);\n};\n\nexport const ARROW_SIZE = 20;\n\nexport const OVERSEAS_COUNTRY_CODE_TO_DEPARTEMENT = {\n  GP: \"971\",\n  MQ: \"972\",\n  GF: \"973\",\n  RE: \"974\",\n  PM: \"975\",\n  YT: \"976\",\n  TF: \"984\",\n  WF: \"986\",\n  PF: \"987\",\n  NC: \"988\",\n};\n\nexport const getDefaultBoundsForUser = (user) => {\n  if ([\"FR\", \"BL\", \"MF\"].includes(user?.country) && user?.zip) {\n    return JSON.stringify({ code_postal: user.zip });\n  }\n  if (OVERSEAS_COUNTRY_CODE_TO_DEPARTEMENT[user?.country]) {\n    return JSON.stringify({\n      departement: OVERSEAS_COUNTRY_CODE_TO_DEPARTEMENT[user?.country],\n    });\n  }\n};\n\nconst URLSearchParams = [\n  \"type\",\n  \"subtype\",\n  \"tag\",\n  \"include_past\",\n  \"include_hidden\",\n  \"date\",\n  \"group\",\n  \"certified\",\n  \"bounds\",\n  \"no_control\",\n];\n\nexport const parseURLSearchParams = () => {\n  const currentParams = parseQueryStringParams();\n  const newParams = Object.entries(currentParams).reduce(\n    (newParams, [key, value]) => {\n      if (URLSearchParams.includes(key)) {\n        newParams[key] = decodeURIComponent(value);\n      }\n      return newParams;\n    },\n    {},\n  );\n\n  return newParams;\n};\n\nexport const getMapUrl = (baseURL, defaultBounds) => {\n  const params = parseURLSearchParams();\n\n  if (!params.bounds && defaultBounds) {\n    params.bounds = defaultBounds;\n  }\n\n  return addQueryStringParams(baseURL, params);\n};\n","const BINDINGS = {};\n\nconst prefixClassName = (className) => {\n  if (!className || typeof className !== \"string\") {\n    return \"fa\";\n  }\n  className = className.toLowerCase().trim();\n  if (/^fa-/.test(className)) {\n    return className;\n  }\n  return `fa-${className}`;\n};\n\nconst fontawesome = (icon, asObject = false) => {\n  if (!icon || typeof icon !== \"string\") {\n    return null;\n  }\n\n  if (!BINDINGS[icon]) {\n    const [iconName, iconStyle = \"\"] = icon.toLowerCase().split(\":\");\n    const span = document.createElement(\"span\");\n\n    span.className = [\n      iconName.includes(\"fak\") && \"fak\",\n      prefixClassName(iconStyle),\n      prefixClassName(iconName),\n    ].join(\" \");\n    document.body.appendChild(span);\n    const spanStyle = window.getComputedStyle(span);\n    const beforeStyle = window.getComputedStyle(span, \":before\");\n    const content =\n      beforeStyle?.content &&\n      !beforeStyle.content.includes(\"none\") &&\n      beforeStyle.content.replace(new RegExp('\"', \"g\"), \"\");\n    BINDINGS[icon] = {\n      fontFamily: spanStyle.fontFamily,\n      fontWeight: spanStyle.fontWeight.replace(new RegExp('\"', \"g\"), \"\"),\n      text: content || \"\",\n      className: span.className,\n    };\n    document.body.removeChild(span);\n  }\n\n  return asObject ? BINDINGS[icon] : BINDINGS[icon].text;\n};\n\nexport default fontawesome;\n","import debug from \"debug\";\n\nconst generateLogger = (filename) => ({\n  debug: debug(`agir:${filename.replace(\"/\", \":\").replace(\".js\", \"\")}`),\n  warn: console.warn.bind(console),\n  info: console.info.bind(console),\n  error: console.error.bind(console),\n});\n\nexport default generateLogger;\n","export const parseURL = (url) =>\n  new URL(url, window.location && window.location.origin);\n\nexport const relativeToAbsoluteURL = ((a) => (url) => {\n  a.href = url;\n  return a.href;\n})(document.createElement(\"a\"));\n\nexport const stringifyQueryStringParams = (params = {}) => {\n  if (\n    !params ||\n    typeof params !== \"object\" ||\n    Object.keys(params).length === 0\n  ) {\n    return \"\";\n  }\n\n  return new URLSearchParams(\n    Object.entries(params).filter(([_, value]) => typeof value !== \"undefined\"),\n  ).toString();\n};\n\nexport const addQueryStringParams = (url, params = {}, relative = false) => {\n  if (!url) {\n    return \"\";\n  }\n  if (\n    !params ||\n    typeof params !== \"object\" ||\n    Object.keys(params).length === 0\n  ) {\n    return url;\n  }\n  try {\n    let parsedURL = url;\n    parsedURL = parseURL(url);\n    Object.entries(params).forEach(([key, value]) => {\n      if (typeof value !== \"undefined\") {\n        parsedURL.searchParams.set(key, value);\n      }\n    });\n    parsedURL = parsedURL.toString();\n    if (window?.location && relative) {\n      parsedURL = parsedURL.replace(window.location.origin, \"\");\n    }\n    return parsedURL;\n  } catch (e) {\n    return url;\n  }\n};\n\nexport const parseQueryStringParams = (url) => {\n  const params = Object.create(null);\n  let queryString = url ? url.split(\"?\")[1] : window.location.search.slice(1);\n  if (!queryString) {\n    return params;\n  }\n\n  queryString = queryString.split(\"#\")[0];\n  queryString.split(\"&\").forEach((entry) => {\n    // separate the keys and the values\n    let [key, value] = entry.split(\"=\");\n    value = typeof value === \"undefined\" ? true : value;\n\n    if (key.match(/\\[(\\d+)?\\]$/)) {\n      const name = key.replace(/\\[(\\d+)?\\]/, \"\");\n      params[name] = params[name] || [];\n      if (name.match(/\\[\\d+\\]$/)) {\n        var index = /\\[(\\d+)\\]/.exec(key)[1];\n        params[name][index] = value;\n      } else {\n        params[name].push(value);\n      }\n    } else {\n      if (!params[key]) {\n        params[key] = value;\n      } else if (params[key] && typeof params[key] === \"string\") {\n        params[key] = [params[key]];\n        params[key].push(value);\n      } else {\n        params[key].push(value);\n      }\n    }\n  });\n\n  return params;\n};\n\nexport const slugify = (string, separator = \"-\") => {\n  separator = separator.trim();\n  return (\n    string\n      .toString()\n      .normalize(\"NFD\")\n      .toLowerCase()\n      // remove all chars not letters, numbers, current separator and spaces (to be replaced)\n      .replace(new RegExp(`[^a-z0-9${separator} ]`, \"g\"), \"\")\n      .trim()\n      .replace(/\\s+/g, separator)\n  );\n};\n"],"names":["attributions","setUpMap","elementId","layers","view","View","fromLonLat","Map","Attribution","TileLayer","XYZ","gotToPos","map","pos","MY_POSITION_LAYER_NAME","drawMyPosition","style","Style","Circle","Stroke","Fill","feature","Feature","Point","source","VectorSource","hasAlreadyMyPositionLayer","layer","VectorLayer","fitBounds","bounds","transformExtent","setUpPopup","popupElement","element","evt","popup","Overlay","coords","getMarkerIcons","color","Icon","markerIcon","markerIconBg","makeStyle","config","options","Object","iconStyle","fontawesome","Text","createMap","center","zoom","target","iconConfiguration","isStatic","mapFilter","styles","tile","context","Zoom","undefined","updateMapCenter","newCenter","updateMapFilter","filter","tag","children","attrs","elem","document","e","Element","String","deepAssign","key","fontIsLoaded","fontName","Promise","resolve","reject","FontFaceOnload","OVERSEAS_COUNTRY_CODE_TO_DEPARTEMENT","URLSearchParams","parseURLSearchParams","parseQueryStringParams","newParams","value","decodeURIComponent","user","JSON","baseURL","defaultBounds","params","addQueryStringParams","BINDINGS","prefixClassName","className","icon","asObject","iconName","span","spanStyle","window","beforeStyle","content","RegExp","filename","debug","console","a","relativeToAbsoluteURL","url","relative","_window","parsedURL","URL","queryString","entry","name","index","string","separator"],"mappings":"2HAGI,EAA0B,C,UAA4B,KAE1D,EAAwB,IAAI,CAAC,CAAC,EAAO,EAAE,CAAE,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC,CAAE,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,6CAA6C,CAAC,MAAQ,EAAE,CAAC,SAAW,49EAA49E,eAAiB,CAAC,2zKAAi0K,CAAC,WAAa,EAAE,EAAE,E,YAEp5P,C,mDCvSX,EAA0B,C,UAA4B,KAE1D,EAAwB,IAAI,CAAC,CAAC,EAAO,EAAE,CAAE,GAAI,GAAG,CAAC,QAAU,EAAE,QAAU,EAAE,CAAC,MAAQ,EAAE,CAAC,SAAW,GAAG,WAAa,EAAE,EAAE,E,cAiDxF,U,OA4BF,K,OACG,K,OA9DT,U,OAgDI,U,OArCA,U,OAPA,U,OA2CD,U,OAtCC,U,OAQG,U,OASD,U,OAgCI,M,OAKO,K,OAzDX,U,OAYC,U,OApBN,U,OAZI,O,MA+DA,U,OAXN,O,OAnDO,U,OAyCK,U,OAWZ,U,OAhDQ,U,OA6DC,c,OAZN,U,OAaW,Y,OAjBT,kD,OAuBE,M,OAfJ,O,OACC,U,OA/BA,U,OA2CK,O,OASM,K,OAzBP,U,OAJJ,O,OAhDG,U,OAmCI,U,OA8BR,M,OAJM,uB,OAPN,U,OArDK,U,OA0EF,K,OAxEC,O,OAUF,U,OAqDS,M,MAlDV,U,OAEG,U,OA0DD,K,OAlEL,O,OANO,U,OA8BC,U,OAQL,U,OAoBG,O,OAvCJ,U,OAaI,U,OAfF,U,OAgCH,U,OArBQ,U,OALF,U,OARD,U,OAdJ,U,OAwCC,U,OArCF,U,OAsBQ,U,OAqCD,M,OApEF,O,OAuCA,U,OA1BF,U,OA6CF,U,OAjCA,U,OAOO,U,OAwCE,I,OAhEV,O,OAOG,U,OAgCK,6D,OApBF,U,OAiBJ,U,OAFG,U,OAnCL,U,OA2BQ,U,OAOR,S,MAsCN,C,uJC7EX,EAAU,CAAC,CAEf,GAAQ,iBAAiB,CAAG,IAC5B,EAAQ,aAAa,CAAG,IACxB,EAAQ,MAAM,CAAG,QAAa,CAAC,KAAM,QACrC,EAAQ,MAAM,CAAG,IACjB,EAAQ,kBAAkB,CAAG,IAEhB,IAAI,GAAO,CAAE,GAKJ,GAAO,EAAI,UAAc,EAAG,UAAc,A,2JCb5D,EAAU,CAAC,CAEf,GAAQ,iBAAiB,CAAG,IAC5B,EAAQ,aAAa,CAAG,IACxB,EAAQ,MAAM,CAAG,QAAa,CAAC,KAAM,QACrC,EAAQ,MAAM,CAAG,IACjB,EAAQ,kBAAkB,CAAG,IAEhB,IAAI,IAAO,CAAE,GAKnB,MAAe,IAAO,EAAI,WAAc,CAAG,WAAc,CAAG,O,8nECKnE,IAAMA,EAAe,gVAEd,SAASC,EAASC,CAAS,CAAEC,CAAM,EACxC,IAAMC,EAAO,IAAIC,EAAAA,EAAIA,CAAC,CACpB,OAAQC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAW,CAAC,EAAG,GAAG,EAC1B,KAAM,EACN,eAAgB,EAClB,GACA,OAAO,IAAIC,EAAAA,CAAGA,CAAC,CACb,OAAQL,EACR,SAAU,CAAC,IAAIM,EAAAA,CAAWA,CAAC,CAAE,YAAa,GAAOR,aAAAA,CAAa,GAAG,CACjE,OAAQ,CACN,IAAIS,EAAAA,CAASA,CAAC,CACZ,OAAQ,IAAIC,EAAAA,CAAGA,CAAC,CACd,IAAK,kIACL,aAAc,CAACV,EAAa,AAC9B,EACF,MACGG,EACJ,CACDC,KAAAA,CACF,EACF,CAOO,SAASO,EAASC,CAAG,CAAEC,CAAG,EAC/BD,EAAI,OAAO,GAAG,OAAO,CAAC,CAAE,OAAQN,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWO,GAAM,KAAM,EAAG,EAC5D,CAEA,IAAMC,EAAyB,aAMxB,SAASC,EAAeH,CAAG,CAAEC,CAAG,EACrC,IAAMG,EAAQ,IAAIC,EAAAA,EAAKA,CAAC,CACtB,MAAO,IAAIC,EAAAA,CAAMA,CAAC,CAChB,OAAQ,GACR,OAAQ,IAAIC,EAAAA,CAAMA,CAAC,CACjB,MAAO,UACP,MAAO,CACT,GACA,KAAM,IAAIC,EAAAA,CAAIA,CAAC,CACb,MAAO,SACT,EACF,EACF,GAGMC,EAAU,IAAIC,EAAAA,CAAOA,CAAC,CAC1B,SAAU,IAAIC,EAAAA,CAAKA,CAACjB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWO,GACjC,GACAQ,EAAQ,QAAQ,CAACL,GAGjB,IAAMQ,EAAS,IAAIC,EAAAA,CAAYA,CAC/BD,EAAO,UAAU,CAACH,GAElB,IAAIK,EAA4B,GAShC,GANAvB,AAFeS,EAAI,SAAS,GAErB,OAAO,CAAC,AAACe,IACVA,EAAM,GAAG,CAAC,SAAWb,IACvBa,EAAM,MAAM,CAAGH,EACfE,EAA4B,GAEhC,GACI,CAACA,EAA2B,CAC9B,IAAMC,EAAQ,IAAIC,EAAAA,CAAWA,CAAC,CAC5B,OAAQJ,EACR,WAAY,CAAE,KAAMV,CAAuB,CAC7C,GACAF,EAAI,QAAQ,CAACe,EACf,CACF,CAEO,SAASE,EAAUjB,CAAG,CAAEkB,CAAM,EACnClB,EACG,OAAO,GACP,GAAG,CAACmB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAgBD,EAAQ,YAAa,aAAclB,EAAI,OAAO,GACvE,CAEO,SAASoB,EAAWpB,CAAG,EAC5B,IAAMqB,EAAeC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAQ,MAAO,EAAE,CAAE,CACtC,UAAW,WACb,GACAD,EAAa,gBAAgB,CAAC,YAAa,SAAUE,CAAG,EACtDA,EAAI,eAAe,EACrB,GAEA,IAAMC,EAAQ,IAAIC,EAAAA,CAAOA,CAAC,CACxB,QAASJ,EACT,YAAa,gBACb,OAAQ,CAAC,EAAG,IAAY,CACxB,UAAW,EACb,GAEArB,EAAI,UAAU,CAACwB,GAEfxB,EAAI,EAAE,CAAC,cAAe,SAAUuB,CAAG,EACjCC,EAAM,WAAW,GACjBxB,EAAI,qBAAqB,CAACuB,EAAI,KAAK,CAAE,SAAUd,CAAO,EACpD,IAAMiB,EAASjB,EAAQ,WAAW,GAAG,cAAc,GACnD,GAAIA,EAAQ,GAAG,CAAC,gBAId,OAHAe,EAAM,UAAU,GAAG,SAAS,CAAGf,EAAQ,GAAG,CAAC,gBAC3Ce,EAAM,SAAS,CAAC,CAAC,EAAGf,EAAQ,GAAG,CAAC,eAAe,EAC/Ce,EAAM,WAAW,CAACE,GACX,EAEX,EACF,GAEA1B,EAAI,EAAE,CAAC,cAAe,SAAUuB,CAAG,EACrB,IAAI,CAAC,qBAAqB,CAACA,EAAI,KAAK,CAAE,SAAUd,CAAO,EACjE,MAAO,CAAC,CAACA,EAAQ,GAAG,CAAC,eACvB,GAEE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAG,UAEvC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAG,EAE3C,EACF,CAEA,IAAMkB,EAAiB,W,IAACC,EAAQ,UAARA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAQxB,EAAAA,UAAgB,C,MAAK,CACnD,IAAIC,EAAAA,EAAKA,CAAC,CACR,MAAO,IAAIwB,EAAAA,CAAIA,CAAC,CACd,QAAS,EACT,IAAKC,EACLF,MAAAA,EACA,MAAO,IACP,OAAQ,CAAC,GAAK,EAAE,AAClB,EACF,GACA,IAAIvB,EAAAA,EAAKA,CAAC,CACR,MAAO,IAAIwB,EAAAA,CAAIA,CAAC,CACd,QAAS,EACT,IAAKE,EACL,MAAO,IACP,OAAQ,CAAC,GAAK,EAAE,AAClB,EACF,GACD,A,EAEM,SAASC,EAAUC,CAAM,E,IAAEC,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAU,CAAC,EAG3C,GAFAA,EAAUC,OAAO,MAAM,CAAC,CAAE,MAAO,EAAK,EAAGD,GAErCD,EAAO,KAAK,EAAIA,EAAO,QAAQ,CAAE,CACnC,IAAMG,EAAYC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAYJ,EAAO,QAAQ,CAAE,IAC/C,MAAO,IACFN,EAAeO,EAAQ,KAAK,CAAGD,EAAO,KAAK,CAAG7B,EAAAA,UAAgB,EACjE,IAAIC,EAAAA,EAAKA,CAAC,CACR,KAAM,IAAIiC,EAAAA,CAAIA,CAAC,CACb,KAAMF,MAAAA,EAAAA,KAAAA,EAAAA,EAAW,IAAI,CACrB,QAAS,IACT,KAAO,GAA+BA,MAAAA,CAA7BA,EAAU,UAAU,CAAC,UAA6B,OAArBA,EAAU,UAAU,EAC1D,KAAM,IAAI5B,EAAAA,CAAIA,CAAC,CAAE,MAAO,SAAU,EACpC,EACF,GACD,AACH,QAAO,AAAIyB,EAAO,OAAO,EAAIA,EAAO,UAAU,CACrC,IAAI5B,EAAAA,EAAKA,CAAC,CACf,MAAO,IAAIwB,EAAAA,CAAIA,CAAC,CACd,OAAQI,EAAO,UAAU,CACzB,aAAc,SACd,aAAc,SACd,QAAS,EACT,IAAKA,EAAO,OAAO,AACrB,EACF,GAGK,IACT,CAEO,SAASM,EACdC,CAAM,CACNC,CAAI,CACJC,CAAM,CACNC,CAAiB,CACjBC,CAAQ,CACRC,CAAS,EAET,IAAMC,EAASH,EACXX,EAAUW,GACVhB,IACElB,EAAU,IAAIC,EAAAA,CAAOA,CAAC,CAC1B,SAAU,IAAIC,EAAAA,CAAKA,CAACjB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAW8C,GACjC,GACA/B,EAAQ,QAAQ,CAACqC,GACjB,IAAMC,EAAO,IAAIlD,EAAAA,CAASA,CAAC,CACzB,OAAQ,IAAIC,EAAAA,CAAGA,CAAC,CACd,IAAK,kIACL,aAAc,CAACV,EAAa,AAC9B,EACF,GACA2D,EAAK,EAAE,CAAC,YAAa,AAACxB,IACpB,GAAIA,EAAI,OAAO,CAAE,CACf,IAAMyB,EAAUzB,EAAI,OAAO,AAC3ByB,CAAAA,EAAQ,MAAM,CAAGH,EACjBG,EAAQ,wBAAwB,CAAG,aACrC,CACF,GACAD,EAAK,EAAE,CAAC,aAAc,AAACxB,IACjBA,EAAI,OAAO,EAEbyB,CADgBzB,EAAI,OAAO,CACnB,MAAM,CAAG,MAAK,CAE1B,GACA,IAAMvB,EAAM,IAAIL,EAAAA,CAAGA,CAAC,CAClB+C,OAAAA,EACA,SAAUE,EAAW,CAAC,IAAIhD,EAAAA,CAAWA,CAAG,CAAG,CAAC,IAAIA,EAAAA,CAAWA,CAAI,IAAIqD,EAAAA,CAAIA,CAAG,CAC1E,aAAcL,EAAW,EAAE,CAAGM,OAC9B,OAAQ,CACNH,EACA,IAAI/B,EAAAA,CAAWA,CAAC,CACd,OAAQ,IAAIH,EAAAA,CAAYA,CAAC,CAAE,SAAU,CAACJ,EAAQ,AAAC,EACjD,GACD,CACD,KAAM,IAAIhB,EAAAA,EAAIA,CAAC,CACb,OAAQC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAW8C,GACnBC,KAAAA,EACA,eAAgB,EAClB,EACF,GA+BA,MAAO,CACLzC,IAAAA,EACAmD,gBA3BsB,AAACC,IAEnBA,CAAAA,CAAS,CAAC,EAAE,GAAKZ,CAAM,CAAC,EAAE,EAAIY,CAAS,CAAC,EAAE,GAAKZ,CAAM,CAAC,EAAE,AAAD,IAI3DxC,EAAI,OAAO,GAAG,SAAS,CAACN,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAW0D,IAEnC3C,EAAQ,WAAW,CAAC,IAAIE,EAAAA,CAAKA,CAACjB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAW0D,KAC3C,EAmBEC,gBAbsB,AAACC,IAEnBT,IAAcS,IAIlBT,EAAYS,EACZP,EAAK,SAAS,GAAG,OAAO,GAC1B,CAMA,CACF,C,yHCxQO,SAASzB,EAAQiC,CAAG,E,IAAEC,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAW,EAAE,CAAEC,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAQ,CAAC,EAC7CC,EAAOC,SAAS,aAAa,CAACJ,GAYpC,OAXAC,EACG,GAAG,CAAC,AAACI,GACJ,AAAIA,aAAaC,QACRD,EACEA,EAAE,WAAW,GAAKE,OACpBH,SAAS,cAAc,CAACC,GAE1BtC,EAAQ,KAAK,CAAC,KAAMsC,IAE5B,OAAO,CAAC,AAACA,GAAMF,EAAK,WAAW,CAACE,KACnCG,AAzBF,SAASA,EAAWrB,CAAM,CAAE9B,CAAM,EAChC,IAAK,IAAIoD,KAAO7B,OAAO,IAAI,CAACvB,GACtB,AAAuB,UAAvB,OAAOA,CAAM,CAACoD,EAAI,EAChB,AAAEA,KAAOtB,GACXA,CAAAA,CAAM,CAACsB,EAAI,CAAG,CAAC,GAEjBD,EAAWrB,CAAM,CAACsB,EAAI,CAAEpD,CAAM,CAACoD,EAAI,GAEnCtB,CAAM,CAACsB,EAAI,CAAGpD,CAAM,CAACoD,EAAI,AAG/B,EAcaN,EAAMD,GACVC,CACT,CAEO,SAASO,EAAaC,CAAQ,EACnC,OAAO,IAAIC,QAAQ,CAACC,EAASC,IAC3BC,IAAeJ,EAAU,CACvB,QAASE,EACT,MAAOC,CACT,GAEJ,CAWO,IAAME,EAAuC,CAClD,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,KACN,EAaMC,EAAkB,CACtB,OACA,UACA,MACA,eACA,iBACA,OACA,QACA,YACA,SACA,aACD,CAEYC,EAAuB,IAEhBtC,OAAO,OAAO,CADVuC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,KAC0B,MAAM,CACpD,CAACC,EAAW,K,GAAA,CAACX,EAAKY,EAAM,GAItB,OAHIJ,EAAgB,QAAQ,CAACR,IAC3BW,CAAAA,CAAS,CAACX,EAAI,CAAGa,mBAAmBD,EAAK,EAEpCD,CACT,EACA,CAAC,G,qBAjCkC,AAACG,GACtC,AAAI,CAAC,KAAM,KAAM,KAAK,CAAC,QAAQ,CAACA,MAAAA,EAAAA,KAAAA,EAAAA,EAAM,OAAO,GAAKA,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAM,GAAG,AAAD,EACjDC,KAAK,SAAS,CAAC,CAAE,YAAaD,EAAK,GAAG,AAAC,GAE5CP,CAAoC,CAACO,MAAAA,EAAAA,KAAAA,EAAAA,EAAM,OAAO,CAAC,CAC9CC,KAAK,SAAS,CAAC,CACpB,YAAaR,CAAoC,CAACO,MAAAA,EAAAA,KAAAA,EAAAA,EAAM,OAAO,CAAC,AAClE,U,GAgCqB,CAACE,EAASC,KACjC,IAAMC,EAAST,IAMf,MAJI,CAACS,EAAO,MAAM,EAAID,GACpBC,CAAAA,EAAO,MAAM,CAAGD,CAAY,EAGvBE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAqBH,EAASE,EACvC,E,GArEmC,IAC1Bf,QAAQ,GAAG,CAAC,CACjBF,EAAa,sBACbA,EAAa,yBACd,E,uCC3DH,IAAMmB,EAAW,CAAC,EAEZC,EAAkB,AAACC,GACvB,AAAI,AAACA,GAAa,AAAqB,UAArB,OAAOA,GAGzBA,EAAYA,EAAU,WAAW,GAAG,IAAI,GACpC,OAAO,IAAI,CAACA,IACPA,EAED,MAAe,OAAVA,GANJ,K,YASS,SAACC,CAAI,E,IAAEC,EAAW,UAAXA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,EAAAA,SAAAA,CAAAA,EAAAA,CACzB,GAAI,CAACD,GAAQ,AAAgB,UAAhB,OAAOA,EAClB,OAAO,KAGT,GAAI,CAACH,CAAQ,CAACG,EAAK,CAAE,CACnB,GAAM,CAACE,EAAUrD,EAAY,EAAE,CAAC,CAAGmD,EAAK,WAAW,GAAG,KAAK,CAAC,KACtDG,EAAO/B,SAAS,aAAa,CAAC,OAEpC+B,CAAAA,EAAK,SAAS,CAAG,CACfD,EAAS,QAAQ,CAAC,QAAU,MAC5BJ,EAAgBjD,GAChBiD,EAAgBI,GACjB,CAAC,IAAI,CAAC,KACP9B,SAAS,IAAI,CAAC,WAAW,CAAC+B,GAC1B,IAAMC,EAAYC,OAAO,gBAAgB,CAACF,GACpCG,EAAcD,OAAO,gBAAgB,CAACF,EAAM,WAC5CI,EACJD,AAAAA,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAa,OAAO,AAAD,GACnB,CAACA,EAAY,OAAO,CAAC,QAAQ,CAAC,SAC9BA,EAAY,OAAO,CAAC,OAAO,CAAC,AAAIE,OAAO,IAAK,KAAM,GACpDX,CAAAA,CAAQ,CAACG,EAAK,CAAG,CACf,WAAYI,EAAU,UAAU,CAChC,WAAYA,EAAU,UAAU,CAAC,OAAO,CAAC,AAAII,OAAO,IAAK,KAAM,IAC/D,KAAMD,GAAW,GACjB,UAAWJ,EAAK,SAAS,AAC3B,EACA/B,SAAS,IAAI,CAAC,WAAW,CAAC+B,EAC5B,CAEA,OAAOF,EAAWJ,CAAQ,CAACG,EAAK,CAAGH,CAAQ,CAACG,EAAK,CAAC,IAAI,AACxD,C,8DC1CuB,AAACS,GAAc,EACpC,MAAOC,IAAO,QAAqD,OAA9CD,EAAS,OAAO,CAAC,IAAK,KAAK,OAAO,CAAC,MAAO,MAC/D,KAAME,QAAQ,IAAI,CAAC,IAAI,CAACA,SACxB,KAAMA,QAAQ,IAAI,CAAC,IAAI,CAACA,SACxB,MAAOA,QAAQ,KAAK,CAAC,IAAI,CAACA,QAC5B,E,qBCJuCC,E,gFAAhC,IAAMC,GAA0BD,EAGpCxC,SAAS,aAAa,CAAC,KAHmB,AAAC0C,IAC5CF,EAAE,IAAI,CAAGE,EACFF,EAAE,IAAI,G,aAiBqB,SAACE,CAAG,E,IAAEnB,EAAS,UAATA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAS,CAAC,EAAGoB,EAAW,UAAXA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,EAAAA,SAAAA,CAAAA,EAAAA,CACrD,GAAI,CAACD,EACH,MAAO,GAET,GACE,CAACnB,GACD,AAAkB,UAAlB,OAAOA,GACP/C,AAA+B,IAA/BA,OAAO,IAAI,CAAC+C,GAAQ,MAAM,CAE1B,OAAOmB,EAET,GAAI,KASEE,MARAC,EAAYH,EAWhB,OAVAG,EAlCF,IAAIC,IAkCmBJ,EAlCVT,OAAO,QAAQ,EAAIA,OAAO,QAAQ,CAAC,MAAM,EAmCpDzD,OAAO,OAAO,CAAC+C,GAAQ,OAAO,CAAC,AAAC,I,GAAA,CAAClB,EAAKY,EAAM,EACtC,AAAiB,UAAVA,GACT4B,EAAU,YAAY,CAAC,GAAG,CAACxC,EAAKY,EAEpC,GACA4B,EAAYA,EAAU,QAAQ,GAC1BD,AAAAA,OAAAA,CAAAA,EAAAA,MAAK,EAALA,KAAAA,EAAAA,EAAQ,QAAQ,AAAD,GAAKD,GACtBE,CAAAA,EAAYA,EAAU,OAAO,CAACZ,OAAO,QAAQ,CAAC,MAAM,CAAE,GAAE,EAEnDY,CACT,CAAE,MAAO5C,EAAG,CACV,OAAOyC,CACT,CACF,E,GAEsC,AAACA,IACrC,IAAMnB,EAAS/C,OAAO,MAAM,CAAC,MACzBuE,EAAcL,EAAMA,EAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAGT,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,UACpEc,GAKLA,AADAA,CAAAA,EAAcA,EAAY,KAAK,CAAC,IAAI,CAAC,EAAE,AAAD,EAC1B,KAAK,CAAC,KAAK,OAAO,CAAC,AAACC,IAE9B,GAAI,CAAC3C,EAAKY,EAAM,CAAG+B,EAAM,KAAK,CAAC,KAG/B,GAFA/B,EAAQ,AAAiB,SAAVA,GAA+BA,EAE1CZ,EAAI,KAAK,CAAC,eAAgB,CAC5B,IAAM4C,EAAO5C,EAAI,OAAO,CAAC,aAAc,IAEvC,GADAkB,CAAM,CAAC0B,EAAK,CAAG1B,CAAM,CAAC0B,EAAK,EAAI,EAAE,CAC7BA,EAAK,KAAK,CAAC,YAAa,CAC1B,IAAIC,EAAQ,YAAY,IAAI,CAAC7C,EAAI,CAAC,EAAE,AACpCkB,CAAAA,CAAM,CAAC0B,EAAK,CAACC,EAAM,CAAGjC,CACxB,MACEM,CAAM,CAAC0B,EAAK,CAAC,IAAI,CAAChC,EAEtB,MACOM,CAAM,CAAClB,EAAI,EAELkB,CAAM,CAAClB,EAAI,EAAI,AAAuB,UAAvB,OAAOkB,CAAM,CAAClB,EAAI,EAC1CkB,CAAAA,CAAM,CAAClB,EAAI,CAAG,CAACkB,CAAM,CAAClB,EAAI,CAAC,A,EAG3BkB,CAAM,CAAClB,EAAI,CAAC,IAAI,CAACY,IALjBM,CAAM,CAAClB,EAAI,CAAGY,CAQpB,GA5BSM,CA+BX,E,GAEuB,SAAC4B,CAAM,E,IAAEC,EAAY,UAAZA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAY,IAE1C,OADAA,EAAYA,EAAU,IAAI,GAExBD,EACG,QAAQ,GACR,SAAS,CAAC,OACV,WAAW,GAEX,OAAO,CAAC,AAAIf,OAAQ,WAAoB,OAAVgB,EAAU,MAAK,KAAM,IACnD,IAAI,GACJ,OAAO,CAAC,OAAQA,EAEvB,E"}