@digitransit-component/digitransit-component-favourite-modal 0.3.19 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("classnames"),require("i18next"),require("lodash/isEmpty"),require("lodash/isNumber"),require("@hsl-fi/modal"),require("@digitransit-component/digitransit-component-icon")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","classnames","i18next","lodash/isEmpty","lodash/isNumber","@hsl-fi/modal","@digitransit-component/digitransit-component-icon"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@digitransit-component/digitransit-component-favourite-modal"]={},e.React,e.PropTypes,e.cx,e.i18next,e.isEmpty,e.isNumber,e.Modal,e.Icon)}(this,(function(e,t,o,a,n,i,r,l,d){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(t),c=s(o),f=s(a),p=s(n),m=s(i),_=s(r),v=s(l),b=s(d);function h(){return h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(e[a]=o[a])}return e},h.apply(this,arguments)}function g(e,t){for(var o=0;o<t.length;o++){var a=t[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function k(e,t){return k=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},k(e,t)}function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function x(e,t){return!t||"object"!==y(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function R(e){return R=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},R(e)}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,a=new Array(t);o<t;o++)a[o]=e[o];return a}function w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var o=[],a=!0,n=!1,i=void 0;try{for(var r,l=e[Symbol.iterator]();!(a=(r=l.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){n=!0,i=e}finally{try{a||null==l.return||l.return()}finally{if(n)throw i}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return E(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?E(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===o&&a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}var q={"generic-table":"styles_generic-table__ZDktB",row:"styles_row__2H9Yg","generic-table__label-container":"styles_generic-table__label-container__BFaCU","favourite-icon-table-column":"styles_favourite-icon-table-column__fIdH1",place:"styles_place__NQ5kk",work:"styles_work__1IJjU",home:"styles_home__1tTd4",school:"styles_school__X2Mcv",sport:"styles_sport__EfCxT",shopping:"styles_shopping__XNGKI","selected-icon":"styles_selected-icon__vfbGq"};S(".styles_generic-table__ZDktB > .styles_row__2H9Yg {\n display: flex; }\n\n.styles_generic-table__label-container__BFaCU {\n font-size: 0.8rem;\n margin-top: 3px;\n color: #666;\n height: 16px;\n max-width: 62.5rem;\n margin-left: auto;\n margin-right: auto; }\n\n.styles_favourite-icon-table-column__fIdH1 {\n cursor: pointer;\n flex: 1;\n align-items: center;\n padding: 0;\n background: #fff;\n float: left;\n height: 50px;\n margin: 0;\n line-height: 1;\n text-align: center;\n font-size: 17px;\n border-top: solid 1px #d9d9d9;\n border-bottom: solid 1px #d9d9d9;\n border-right: solid 1px #d9d9d9;\n border-left: none; }\n .styles_favourite-icon-table-column__fIdH1.styles_place__NQ5kk svg {\n width: 24px;\n height: 24px; }\n .styles_favourite-icon-table-column__fIdH1.styles_work__1IJjU svg {\n width: 20px;\n height: 20px; }\n .styles_favourite-icon-table-column__fIdH1.styles_home__1tTd4 svg, .styles_favourite-icon-table-column__fIdH1.styles_school__X2Mcv svg, .styles_favourite-icon-table-column__fIdH1.styles_sport__EfCxT svg, .styles_favourite-icon-table-column__fIdH1.styles_shopping__XNGKI svg {\n width: 18px;\n height: 18px; }\n .styles_favourite-icon-table-column__fIdH1:active, .styles_favourite-icon-table-column__fIdH1:hover, .styles_favourite-icon-table-column__fIdH1:focus, .styles_favourite-icon-table-column__fIdH1 .styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n\n.styles_favourite-icon-table-column__fIdH1:first-child {\n border-left: solid 1px #d9d9d9;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1:last-child {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1.styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n");var I={de:{cancel:"Abbrechen","choose-icon":"Wählen Sie ein Symbol für diesen Ort","close-favourite-modal":"Favoriten-Dialog schließen","edit-place":"Ort bearbeiten","favourite-modal-on-add-new":"Neuen Favoriten hinzufügen","favourite-modal-on-edit":"Favorit bearbeiten: {{favourite.name}}","input-placeholder":"Einen Namen für Ort setzen (optional)",save:"Speichern","save-place":"Favorit speichern"},en:{cancel:"Cancel","choose-icon":"Select the place's icon","close-favourite-modal":"Close the favourite modal","edit-place":"Edit place","favourite-modal-on-add-new":"Add a new favorite","favourite-modal-on-edit":"Editing favourite: {{favourite.name}}","input-placeholder":"Give the name a place (optional)",save:"Save","save-place":"Save place","cannot-save-place":"Cannot save a place without address or icon",place:"a place",home:"home",work:"work",sport:"sport",school:"school",shopping:"shopping","required-text":"required field"},fi:{cancel:"Peruuta","choose-icon":"Valitse paikan kuvake","close-favourite-modal":"Sulje suosikkimodaali","edit-place":"Muokkaa paikkaa","favourite-modal-on-add-new":"Lisää uusi suosikki","favourite-modal-on-edit":"Muokkaa suosikkia {{favourite.name}}","input-placeholder":"Anna paikalle nimi (vapaaehtoinen)",save:"Tallenna","save-place":"Tallenna paikka","cannot-save-place":"Paikkaa ilman osoitetta tai ikonia ei voida tallentaa",place:"paikka",home:"koti",work:"työ",sport:"urheilu",school:"koulu",shopping:"ostokset","required-text":"pakollinen kenttä"},sv:{cancel:"Avbryt","choose-icon":"Välj platsens ikon","close-favourite-modal":"Stäng favoritmodalen","edit-place":"Redigera plats","favourite-modal-on-add-new":"Lägg till ny favorit","favourite-modal-on-edit":"Redigera platsen: {{favourite.name}}","input-placeholder":"Ange platsens namn (frivilligt)",save:"Spara","save-place":"Spara plats","cannot-save-place":"Det går inte att spara en plats utan adress eller ikon",place:"en plats",home:"hem",work:"arbete",sport:"sport",school:"skola",shopping:"shoppa","required-field":"obligatoriskt fält"}},N="desktop_favourite-modal-desktop-container__JeGRK",T="desktop_favourite-modal-desktop-top__SRAj7",G="desktop_favourite-modal-desktop-header__LzO65",O="desktop_favourite-modal-desktop-main__3SYc5",C="desktop_favourite-modal-desktop-location-search__ajBVr",A="desktop_favourite-modal-desktop-name__BmsiY",H="desktop_favourite-modal-desktop-input__6L7ez",U="desktop_favourite-modal-desktop-text__Gs-U3",j="desktop_favourite-modal-desktop-icons__LtHSO",B="desktop_icons-container__rs22H",J="desktop_favourite-modal-desktop-buttons__2Ag9q",P="desktop_favourite-modal-desktop-button__8Gh8t",z="desktop_save__I0AgO",F="desktop_disabled__Greqy",K="desktop_edit__t9NzU",M="desktop_sr-only__VJyNM";S(".desktop_favourite-modal-desktop-container__JeGRK {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 {\n display: flex;\n flex-direction: row;\n width: 100%; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 .desktop_favourite-modal-desktop-header__LzO65 {\n width: 100%;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n line-height: 1.33;\n letter-spacing: -0.6px;\n color: #333333;\n margin-bottom: 25px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 {\n text-align: left;\n margin-bottom: 27px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-location-search__ajBVr {\n margin-bottom: 9px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n border-radius: 5px;\n border: solid 1px #888888;\n background-color: #ffffff;\n padding-left: 20px;\n font-size: 15px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez::placeholder {\n color: #666; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0px 0px 2px 1px var(--hover-color);\n -webkit-appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-text__Gs-U3 {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333333;\n margin: 0 0 11px 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-icons__LtHSO {\n margin-bottom: 30px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_icons-container__rs22H {\n border: none;\n margin: 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n color: #fff;\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:focus, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy:active {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU {\n margin-top: 9px;\n background: #fff;\n border: solid 1px var(--color);\n color: var(--color); }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:hover {\n border-color: var(--hover-color);\n background-color: #fff;\n color: var(--hover-color); }\n\n.desktop_sr-only__VJyNM:not(:focus):not(:active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");var Y=function(e){var t=e.headerText,o=e.autosuggestComponent,a=e.inputPlaceholder,n=e.specifyName,i=e.name,r=e.chooseIconText,l=e.favouriteIconTable,d=e.saveFavourite,s=e.saveText,c=e.canSave,f=e.isEdit,p=e.cancelText,m=e.cancelSelected,_=e.color,v=e.hoverColor,b=e.savePlaceText,h=e.cantSaveText,g=e.requiredText,k=e.fontWeights;return u.default.createElement("div",{className:N,style:{"--color":"".concat(_),"--hover-color":"".concat(v),"--font-weight-medium":k.medium}},u.default.createElement("div",{className:T},u.default.createElement("div",{className:G},t)),u.default.createElement("div",{className:O},u.default.createElement("div",{className:C},o),u.default.createElement("div",{className:A},u.default.createElement("input",{"aria-label":a,className:H,value:i,placeholder:a,onChange:n}))),u.default.createElement("fieldset",{className:B},u.default.createElement("legend",{className:U},r,u.default.createElement("p",{className:M},g)),u.default.createElement("div",{className:j},l)),u.default.createElement("div",{className:J},u.default.createElement("button",{type:"button",className:"".concat(P," ").concat(z," ").concat(c()?"":F),onClick:d,"aria-label":"".concat(c()?b:h),"aria-disabled":!c()},s),f&&u.default.createElement("button",{type:"button",className:"".concat(P," ").concat(K," ").concat(c()?"":F),onClick:m},p)))};"production"!==process.env.NODE_ENV&&(Y.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,isEdit:c.default.bool,cancelText:c.default.string.isRequired,cancelSelected:c.default.func,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),Y.defaultProps={isEdit:!1,cancelSelected:function(){return{}}};var L={"favourite-modal-mobile-container":"mobile_favourite-modal-mobile-container__rahUH","favourite-modal-mobile-top":"mobile_favourite-modal-mobile-top__RZX-c","favourite-modal-mobile-header":"mobile_favourite-modal-mobile-header__XR22e","favourite-modal-mobile-main":"mobile_favourite-modal-mobile-main__3SYyB","favourite-modal-mobile-location-search":"mobile_favourite-modal-mobile-location-search__DNNd-","favourite-modal-mobile-input":"mobile_favourite-modal-mobile-input__Q16OP","favourite-modal-mobile-text":"mobile_favourite-modal-mobile-text__5JRgC","favourite-modal-mobile-save":"mobile_favourite-modal-mobile-save__E-p51","favourite-modal-mobile-button":"mobile_favourite-modal-mobile-button__7aFOZ",disabled:"mobile_disabled__NTpua","sr-only":"mobile_sr-only__24tpU"};S(".mobile_favourite-modal-mobile-container__rahUH {\n display: flex;\n flex-direction: column; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c {\n display: flex;\n flex-direction: row;\n width: 100%;\n border-bottom: 1px solid #ddd;\n margin-bottom: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c .mobile_favourite-modal-mobile-header__XR22e {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: inherit;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.6px;\n text-align: center;\n color: #333333;\n margin-bottom: 37px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB {\n text-align: left;\n margin-bottom: 28px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-location-search__DNNd- {\n margin-bottom: 9px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n border-radius: 5px;\n border: solid 1px #888888;\n background-color: #ffffff;\n padding-left: 20px;\n font-size: 16px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333333;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0px 0px 2px 1px var(--hover-color);\n -webkit-appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP::placeholder {\n color: #666666;\n font-size: 15px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-text__5JRgC {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333333;\n margin-bottom: 18px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 {\n position: fixed;\n width: calc(100% - 40px);\n bottom: 0;\n margin-bottom: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n color: #fff;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n @media all and (device-width: 768px) and (device-height: 1024px) and (orientation: portrait) {\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ {\n right: 38px;\n top: 26px; } }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:active, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:focus, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua {\n background: #bbb; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua:active {\n background: #bbb; }\n\n.mobile_sr-only__24tpU:not(:focus):not(:active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");var D=function(e){var t=e.headerText,o=e.autosuggestComponent,a=e.inputPlaceholder,n=e.specifyName,i=e.name,r=e.chooseIconText,l=e.favouriteIconTable,d=e.saveFavourite,s=e.saveText,c=e.canSave,f=e.color,p=e.hoverColor,m=e.savePlaceText,_=e.cantSaveText,v=e.requiredText,b=e.fontWeights;return u.default.createElement("div",{className:L["favourite-modal-mobile-container"],style:{"--color":"".concat(f),"--hover-color":"".concat(p),"--font-weight-medium":b.medium}},u.default.createElement("div",{className:L["favourite-modal-mobile-top"]},u.default.createElement("div",{className:L["favourite-modal-mobile-header"]},t)),u.default.createElement("div",{className:L["favourite-modal-mobile-main"]},u.default.createElement("div",{className:L["favourite-modal-mobile-location-search"]},o),u.default.createElement("input",{className:L["favourite-modal-mobile-input"],value:i||"",placeholder:a,onChange:n})),u.default.createElement("div",{className:L["favourite-modal-mobile-text"]},r,u.default.createElement("p",{className:L["sr-only"]},v)),u.default.createElement("div",{className:L["favourite-modal-mobile-icons"]},l),u.default.createElement("div",{className:L["favourite-modal-mobile-save"]},u.default.createElement("button",{type:"button",className:"".concat(L["favourite-modal-mobile-button"]," ").concat(c()?"":L.disabled),onClick:d,"aria-label":"".concat(c()?m:_)},s)))};function Z(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var o,a=R(e);if(t){var n=R(this).constructor;o=Reflect.construct(a,arguments,n)}else o=a.apply(this,arguments);return x(this,o)}}"production"!==process.env.NODE_ENV&&(D.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),p.default.init({lng:"fi",fallbackLng:"fi",defaultNS:"translation",interpolation:{escapeValue:!1}}),Object.keys(I).forEach((function(e){p.default.addResourceBundle(e,"translation",I[e])}));var V={"icon-icon_place":"place","icon-icon_home":"home","icon-icon_work":"work","icon-icon_sport":"sport","icon-icon_school":"school","icon-icon_shopping":"shopping"},W=function(e){var o=e.value,a=e.selectedIconId,n=e.handleClick,i=e.color,r=w(t.useState(!1),2),l=r[0],d=r[1],s=w(t.useState(!1),2),c=s[0],m=s[1],_=o===V[a]||l||c?"#ffffff":i;return u.default.createElement("button",{type:"button",className:f.default(q["favourite-icon-table-column"],q[o],o===V[a]&&q["selected-icon"]),onMouseEnter:function(){return d(!0)},onMouseLeave:function(){return d(!1)},onFocus:function(){return m(!0)},onBlur:function(){return m(!1)},onClick:function(){return n(o)},"aria-label":p.default.t(o)},u.default.createElement(b.default,{img:o,color:_}))};"production"!==process.env.NODE_ENV&&(W.propTypes={handleClick:c.default.func.isRequired,value:c.default.string,selectedIconId:c.default.string,color:c.default.string.isRequired});var X=function(e){var t=e.favouriteIconIds,o=e.selectedIconId,a=e.handleClick,n=e.color,i=t.map((function(e){return u.default.createElement(W,{key:"favourite-icon-table-".concat(e),value:e,selectedIconId:o,handleClick:a,color:n})}));return u.default.createElement("div",{className:q["generic-table"]},u.default.createElement("div",{className:q.row},i))};"production"!==process.env.NODE_ENV&&(X.propTypes={handleClick:c.default.func.isRequired,favouriteIconIds:c.default.array,selectedIconId:c.default.string,color:c.default.string.isRequired});var Q=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&k(e,t)}(i,e);var t,o,a,n=Z(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=n.call(this,e)).componentDidUpdate=function(){p.default.language!==t.props.lang&&p.default.changeLanguage(t.props.lang)},t.componentWillUnmount=function(){t.setState({favourite:null})},t.specifyName=function(e){var o=e.target.value;t.setState((function(e){return{favourite:h({},e.favourite,{name:o})}}))},t.selectIcon=function(e){t.setState((function(t){return{favourite:h({},t.favourite,{selectedIconId:"icon-icon_".concat(e)})}}))},t.isEdit=function(){return t.state.favourite&&void 0!==t.state.favourite.favouriteId},t.canSave=function(){return t.state.favourite&&!m.default(t.state.favourite.selectedIconId)&&_.default(t.state.favourite.lat)&&_.default(t.state.favourite.lon)},t.closeModal=function(){t.props.handleClose(),setTimeout((function(){t.setState({favourite:null})}),250)},t.cancelSelected=function(){t.props.cancelSelected(),setTimeout((function(){t.setState({favourite:null})}),250)},t.save=function(){if(t.canSave()){var e=m.default(t.state.favourite.name)?t.state.favourite.defaultName:t.state.favourite.name,o=h({},t.state.favourite,{name:e});delete o.defaultName,t.props.saveFavourite(h({},o,{type:"place"})),t.props.addAnalyticsEvent&&t.props.addAnalyticsEvent({category:"Favourite",action:"SaveFavourite",name:t.state.favourite.selectedIconId}),t.isEdit()&&t.props.cancelSelected?t.cancelSelected():t.closeModal()}},t.render=function(){var e=t.state.favourite,o=t.props,a=o.color,n=o.hoverColor,r=o.fontWeights,l={headerText:t.isEdit()?p.default.t("edit-place"):p.default.t("save-place"),autosuggestComponent:h({},t.props.autosuggestComponent,{color:a,hoverColor:n}),inputPlaceholder:p.default.t("input-placeholder"),specifyName:t.specifyName,name:e&&e.name||"",chooseIconText:p.default.t("choose-icon"),favouriteIconTable:u.default.createElement(X,{selectedIconId:function(){if(e&&void 0!==e.selectedIconId)return e.selectedIconId}(),favouriteIconIds:i.favouriteIconIds,handleClick:t.selectIcon,color:a}),saveFavourite:t.save,saveText:p.default.t("save"),canSave:t.canSave,isEdit:t.isEdit(),cancelText:p.default.t("cancel"),cancelSelected:function(){return t.cancelSelected()},color:a,hoverColor:n,savePlaceText:p.default.t("save-place"),cantSaveText:p.default.t("cannot-save-place"),requiredText:p.default.t("required-text"),fontWeights:r};return u.default.createElement(v.default,{appElement:t.props.appElement,contentLabel:t.isEdit()?p.default.t("favourite-modal-on-edit",e):p.default.t("favourite-modal-on-add-new"),closeButtonLabel:p.default.t("close-favourite-modal"),variant:t.props.isMobile?"large":"small",isOpen:t.props.isModalOpen,onCrossClick:function(){return t.closeModal()}},!t.props.isMobile&&u.default.createElement(Y,l),t.props.isMobile&&u.default.createElement(D,l))},p.default.changeLanguage(e.lang),t.state={favourite:null},Object.keys(I).forEach((function(e){p.default.addResourceBundle(e,"translation",I[e])})),t}return t=i,o&&g(t.prototype,o),a&&g(t,a),t}(u.default.Component);Q.defaultProps={cancelSelected:function(){return{}},lang:"fi",isMobile:!1,favourite:null,color:"#007ac9",hoverColor:"#0062a1",fontWeights:{medium:500}},Q.favouriteIconIds=["place","home","work","sport","school","shopping"],Q.getDerivedStateFromProps=function(e,t){var o=t.favourite,a=e.favourite;return m.default(a)?{favourite:null}:m.default(o)&&!m.default(a)?{favourite:h({},a)}:m.default(o)||m.default(a)||a.address===o.address&&a.lat===o.lat&&a.lon===o.lon?null:{favourite:h({},o,{address:a.address,lat:a.lat,lon:a.lon,gid:a.gid||null,name:o.name||a.name||"",defaultName:a.defaultName})}},"production"!==process.env.NODE_ENV&&(Q.propTypes={isModalOpen:c.default.bool.isRequired,handleClose:c.default.func.isRequired,saveFavourite:c.default.func.isRequired,cancelSelected:c.default.func,autosuggestComponent:c.default.node,favourite:c.default.shape({type:c.default.string,address:c.default.string,gtfsId:c.default.string,gid:c.default.string,lat:c.default.number,lon:c.default.number,name:c.default.string,selectedIconId:c.default.string,favouriteId:c.default.string,layer:c.default.string,defaultName:c.default.string}),addAnalyticsEvent:c.default.func,lang:c.default.string,isMobile:c.default.bool,appElement:c.default.string.isRequired,color:c.default.string,hoverColor:c.default.string,fontWeights:c.default.shape({medium:c.default.number})}),e.default=Q,Object.defineProperty(e,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZGV2ZWxvcG1lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzLmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NyZWF0ZUNsYXNzLmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3NldFByb3RvdHlwZU9mLmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3R5cGVvZi5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuLmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2Fzc2VydFRoaXNJbml0aWFsaXplZC5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9nZXRQcm90b3R5cGVPZi5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hcnJheUxpa2VUb0FycmF5LmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3NsaWNlZFRvQXJyYXkuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXJyYXlXaXRoSG9sZXMuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vaXRlcmFibGVUb0FycmF5TGltaXQuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vbm9uSXRlcmFibGVSZXN0LmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWluamVjdC9kaXN0L3N0eWxlLWluamVjdC5lcy5qcyIsIi4uL3NyYy9oZWxwZXJzL3RyYW5zbGF0aW9ucy5qcyIsIi4uL3NyYy9oZWxwZXJzL0Rlc2t0b3BNb2RhbC5qcyIsIi4uL3NyYy9oZWxwZXJzL01vYmlsZU1vZGFsLmpzIiwiLi4vc3JjL2luZGV4LmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2luaGVyaXRzLmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NsYXNzQ2FsbENoZWNrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9leHRlbmRzKCkge1xuICBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkge1xuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldO1xuXG4gICAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH07XG5cbiAgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG59IiwiZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTtcbiAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7XG4gICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgIGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHtcbiAgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7XG4gIGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTtcbiAgcmV0dXJuIENvbnN0cnVjdG9yO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7XG4gIF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkge1xuICAgIG8uX19wcm90b19fID0gcDtcbiAgICByZXR1cm4gbztcbiAgfTtcblxuICByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7XG4gIFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjtcblxuICBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHtcbiAgICBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHtcbiAgICAgIHJldHVybiB0eXBlb2Ygb2JqO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7XG4gICAgICByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIF90eXBlb2Yob2JqKTtcbn0iLCJpbXBvcnQgX3R5cGVvZiBmcm9tIFwiLi4vLi4vaGVscGVycy9lc20vdHlwZW9mXCI7XG5pbXBvcnQgYXNzZXJ0VGhpc0luaXRpYWxpemVkIGZyb20gXCIuL2Fzc2VydFRoaXNJbml0aWFsaXplZFwiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkge1xuICBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkge1xuICAgIHJldHVybiBjYWxsO1xuICB9XG5cbiAgcmV0dXJuIGFzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHtcbiAgaWYgKHNlbGYgPT09IHZvaWQgMCkge1xuICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTtcbiAgfVxuXG4gIHJldHVybiBzZWxmO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7XG4gIF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7XG4gICAgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTtcbiAgfTtcbiAgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfYXJyYXlMaWtlVG9BcnJheShhcnIsIGxlbikge1xuICBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDtcblxuICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHtcbiAgICBhcnIyW2ldID0gYXJyW2ldO1xuICB9XG5cbiAgcmV0dXJuIGFycjI7XG59IiwiaW1wb3J0IGFycmF5V2l0aEhvbGVzIGZyb20gXCIuL2FycmF5V2l0aEhvbGVzXCI7XG5pbXBvcnQgaXRlcmFibGVUb0FycmF5TGltaXQgZnJvbSBcIi4vaXRlcmFibGVUb0FycmF5TGltaXRcIjtcbmltcG9ydCB1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSBmcm9tIFwiLi91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheVwiO1xuaW1wb3J0IG5vbkl0ZXJhYmxlUmVzdCBmcm9tIFwiLi9ub25JdGVyYWJsZVJlc3RcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9zbGljZWRUb0FycmF5KGFyciwgaSkge1xuICByZXR1cm4gYXJyYXlXaXRoSG9sZXMoYXJyKSB8fCBpdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHx8IHVuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFyciwgaSkgfHwgbm9uSXRlcmFibGVSZXN0KCk7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHtcbiAgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwidW5kZWZpbmVkXCIgfHwgIShTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGFycikpKSByZXR1cm47XG4gIHZhciBfYXJyID0gW107XG4gIHZhciBfbiA9IHRydWU7XG4gIHZhciBfZCA9IGZhbHNlO1xuICB2YXIgX2UgPSB1bmRlZmluZWQ7XG5cbiAgdHJ5IHtcbiAgICBmb3IgKHZhciBfaSA9IGFycltTeW1ib2wuaXRlcmF0b3JdKCksIF9zOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7XG4gICAgICBfYXJyLnB1c2goX3MudmFsdWUpO1xuXG4gICAgICBpZiAoaSAmJiBfYXJyLmxlbmd0aCA9PT0gaSkgYnJlYWs7XG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBfZCA9IHRydWU7XG4gICAgX2UgPSBlcnI7XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghX24gJiYgX2lbXCJyZXR1cm5cIl0gIT0gbnVsbCkgX2lbXCJyZXR1cm5cIl0oKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKF9kKSB0aHJvdyBfZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gX2Fycjtcbn0iLCJpbXBvcnQgYXJyYXlMaWtlVG9BcnJheSBmcm9tIFwiLi9hcnJheUxpa2VUb0FycmF5XCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkobywgbWluTGVuKSB7XG4gIGlmICghbykgcmV0dXJuO1xuICBpZiAodHlwZW9mIG8gPT09IFwic3RyaW5nXCIpIHJldHVybiBhcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG4gIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTtcbiAgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTtcbiAgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7XG4gIGlmIChuID09PSBcIkFyZ3VtZW50c1wiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9ub25JdGVyYWJsZVJlc3QoKSB7XG4gIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7XG59IiwiZnVuY3Rpb24gc3R5bGVJbmplY3QoY3NzLCByZWYpIHtcbiAgaWYgKCByZWYgPT09IHZvaWQgMCApIHJlZiA9IHt9O1xuICB2YXIgaW5zZXJ0QXQgPSByZWYuaW5zZXJ0QXQ7XG5cbiAgaWYgKCFjc3MgfHwgdHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykgeyByZXR1cm47IH1cblxuICB2YXIgaGVhZCA9IGRvY3VtZW50LmhlYWQgfHwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcbiAgdmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgc3R5bGUudHlwZSA9ICd0ZXh0L2Nzcyc7XG5cbiAgaWYgKGluc2VydEF0ID09PSAndG9wJykge1xuICAgIGlmIChoZWFkLmZpcnN0Q2hpbGQpIHtcbiAgICAgIGhlYWQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBoZWFkLmZpcnN0Q2hpbGQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG4gIH1cblxuICBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzcztcbiAgfSBlbHNlIHtcbiAgICBzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBzdHlsZUluamVjdDtcbiIsImNvbnN0IHRyYW5zbGF0aW9ucyA9IHtcbiAgZGU6IHtcbiAgICBjYW5jZWw6ICdBYmJyZWNoZW4nLFxuICAgICdjaG9vc2UtaWNvbic6ICdXw6RobGVuIFNpZSBlaW4gU3ltYm9sIGbDvHIgZGllc2VuIE9ydCcsXG4gICAgJ2Nsb3NlLWZhdm91cml0ZS1tb2RhbCc6ICdGYXZvcml0ZW4tRGlhbG9nIHNjaGxpZcOfZW4nLFxuICAgICdlZGl0LXBsYWNlJzogJ09ydCBiZWFyYmVpdGVuJyxcbiAgICAnZmF2b3VyaXRlLW1vZGFsLW9uLWFkZC1uZXcnOiAnTmV1ZW4gRmF2b3JpdGVuIGhpbnp1ZsO8Z2VuJyxcbiAgICAnZmF2b3VyaXRlLW1vZGFsLW9uLWVkaXQnOiAnRmF2b3JpdCBiZWFyYmVpdGVuOiB7e2Zhdm91cml0ZS5uYW1lfX0nLFxuICAgICdpbnB1dC1wbGFjZWhvbGRlcic6ICdFaW5lbiBOYW1lbiBmw7xyIE9ydCBzZXR6ZW4gKG9wdGlvbmFsKScsXG4gICAgc2F2ZTogJ1NwZWljaGVybicsXG4gICAgJ3NhdmUtcGxhY2UnOiAnRmF2b3JpdCBzcGVpY2hlcm4nLFxuICB9LFxuICBlbjoge1xuICAgIGNhbmNlbDogJ0NhbmNlbCcsXG4gICAgJ2Nob29zZS1pY29uJzogXCJTZWxlY3QgdGhlIHBsYWNlJ3MgaWNvblwiLFxuICAgICdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnOiAnQ2xvc2UgdGhlIGZhdm91cml0ZSBtb2RhbCcsXG4gICAgJ2VkaXQtcGxhY2UnOiAnRWRpdCBwbGFjZScsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JzogJ0FkZCBhIG5ldyBmYXZvcml0ZScsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JzogJ0VkaXRpbmcgZmF2b3VyaXRlOiB7e2Zhdm91cml0ZS5uYW1lfX0nLFxuICAgICdpbnB1dC1wbGFjZWhvbGRlcic6ICdHaXZlIHRoZSBuYW1lIGEgcGxhY2UgKG9wdGlvbmFsKScsXG4gICAgc2F2ZTogJ1NhdmUnLFxuICAgICdzYXZlLXBsYWNlJzogJ1NhdmUgcGxhY2UnLFxuICAgICdjYW5ub3Qtc2F2ZS1wbGFjZSc6ICdDYW5ub3Qgc2F2ZSBhIHBsYWNlIHdpdGhvdXQgYWRkcmVzcyBvciBpY29uJyxcbiAgICBwbGFjZTogJ2EgcGxhY2UnLFxuICAgIGhvbWU6ICdob21lJyxcbiAgICB3b3JrOiAnd29yaycsXG4gICAgc3BvcnQ6ICdzcG9ydCcsXG4gICAgc2Nob29sOiAnc2Nob29sJyxcbiAgICBzaG9wcGluZzogJ3Nob3BwaW5nJyxcbiAgICAncmVxdWlyZWQtdGV4dCc6ICdyZXF1aXJlZCBmaWVsZCcsXG4gIH0sXG4gIGZpOiB7XG4gICAgY2FuY2VsOiAnUGVydXV0YScsXG4gICAgJ2Nob29zZS1pY29uJzogJ1ZhbGl0c2UgcGFpa2FuIGt1dmFrZScsXG4gICAgJ2Nsb3NlLWZhdm91cml0ZS1tb2RhbCc6ICdTdWxqZSBzdW9zaWtraW1vZGFhbGknLFxuICAgICdlZGl0LXBsYWNlJzogJ011b2trYWEgcGFpa2thYScsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JzogJ0xpc8Okw6QgdXVzaSBzdW9zaWtraScsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JzogJ011b2trYWEgc3Vvc2lra2lhIHt7ZmF2b3VyaXRlLm5hbWV9fScsXG4gICAgJ2lucHV0LXBsYWNlaG9sZGVyJzogJ0FubmEgcGFpa2FsbGUgbmltaSAodmFwYWFlaHRvaW5lbiknLFxuICAgIHNhdmU6ICdUYWxsZW5uYScsXG4gICAgJ3NhdmUtcGxhY2UnOiAnVGFsbGVubmEgcGFpa2thJyxcbiAgICAnY2Fubm90LXNhdmUtcGxhY2UnOlxuICAgICAgJ1BhaWtrYWEgaWxtYW4gb3NvaXRldHRhIHRhaSBpa29uaWEgZWkgdm9pZGEgdGFsbGVudGFhJyxcbiAgICBwbGFjZTogJ3BhaWtrYScsXG4gICAgaG9tZTogJ2tvdGknLFxuICAgIHdvcms6ICd0ecO2JyxcbiAgICBzcG9ydDogJ3VyaGVpbHUnLFxuICAgIHNjaG9vbDogJ2tvdWx1JyxcbiAgICBzaG9wcGluZzogJ29zdG9rc2V0JyxcbiAgICAncmVxdWlyZWQtdGV4dCc6ICdwYWtvbGxpbmVuIGtlbnR0w6QnLFxuICB9LFxuICBzdjoge1xuICAgIGNhbmNlbDogJ0F2YnJ5dCcsXG4gICAgJ2Nob29zZS1pY29uJzogJ1bDpGxqIHBsYXRzZW5zIGlrb24nLFxuICAgICdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnOiAnU3TDpG5nIGZhdm9yaXRtb2RhbGVuJyxcbiAgICAnZWRpdC1wbGFjZSc6ICdSZWRpZ2VyYSBwbGF0cycsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JzogJ0zDpGdnIHRpbGwgbnkgZmF2b3JpdCcsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JzogJ1JlZGlnZXJhIHBsYXRzZW46IHt7ZmF2b3VyaXRlLm5hbWV9fScsXG4gICAgJ2lucHV0LXBsYWNlaG9sZGVyJzogJ0FuZ2UgcGxhdHNlbnMgbmFtbiAoZnJpdmlsbGlndCknLFxuICAgIHNhdmU6ICdTcGFyYScsXG4gICAgJ3NhdmUtcGxhY2UnOiAnU3BhcmEgcGxhdHMnLFxuICAgICdjYW5ub3Qtc2F2ZS1wbGFjZSc6XG4gICAgICAnRGV0IGfDpXIgaW50ZSBhdHQgc3BhcmEgZW4gcGxhdHMgdXRhbiBhZHJlc3MgZWxsZXIgaWtvbicsXG4gICAgcGxhY2U6ICdlbiBwbGF0cycsXG4gICAgaG9tZTogJ2hlbScsXG4gICAgd29yazogJ2FyYmV0ZScsXG4gICAgc3BvcnQ6ICdzcG9ydCcsXG4gICAgc2Nob29sOiAnc2tvbGEnLFxuICAgIHNob3BwaW5nOiAnc2hvcHBhJyxcbiAgICAncmVxdWlyZWQtZmllbGQnOiAnb2JsaWdhdG9yaXNrdCBmw6RsdCcsXG4gIH0sXG59O1xuXG5leHBvcnQgZGVmYXVsdCB0cmFuc2xhdGlvbnM7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBjeCBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9kZXNrdG9wLnNjc3MnO1xuXG5jb25zdCBEZXNrdG9wTW9kYWwgPSAoe1xuICBoZWFkZXJUZXh0LFxuICBhdXRvc3VnZ2VzdENvbXBvbmVudCxcbiAgaW5wdXRQbGFjZWhvbGRlcixcbiAgc3BlY2lmeU5hbWUsXG4gIG5hbWUsXG4gIGNob29zZUljb25UZXh0LFxuICBmYXZvdXJpdGVJY29uVGFibGUsXG4gIHNhdmVGYXZvdXJpdGUsXG4gIHNhdmVUZXh0LFxuICBjYW5TYXZlLFxuICBpc0VkaXQsXG4gIGNhbmNlbFRleHQsXG4gIGNhbmNlbFNlbGVjdGVkLFxuICBjb2xvcixcbiAgaG92ZXJDb2xvcixcbiAgc2F2ZVBsYWNlVGV4dCxcbiAgY2FudFNhdmVUZXh0LFxuICByZXF1aXJlZFRleHQsXG4gIGZvbnRXZWlnaHRzLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1jb250YWluZXInXX1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgICctLWNvbG9yJzogYCR7Y29sb3J9YCxcbiAgICAgICAgJy0taG92ZXItY29sb3InOiBgJHtob3ZlckNvbG9yfWAsXG4gICAgICAgICctLWZvbnQtd2VpZ2h0LW1lZGl1bSc6IGZvbnRXZWlnaHRzLm1lZGl1bSxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtdG9wJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1oZWFkZXInXX0+XG4gICAgICAgICAge2hlYWRlclRleHR9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1tYWluJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1sb2NhdGlvbi1zZWFyY2gnXX0+XG4gICAgICAgICAge2F1dG9zdWdnZXN0Q29tcG9uZW50fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtbmFtZSddfT5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2lucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtaW5wdXQnXX1cbiAgICAgICAgICAgIHZhbHVlPXtuYW1lfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2lucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICBvbkNoYW5nZT17c3BlY2lmeU5hbWV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxmaWVsZHNldCBjbGFzc05hbWU9e3N0eWxlc1snaWNvbnMtY29udGFpbmVyJ119PlxuICAgICAgICA8bGVnZW5kIGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC10ZXh0J119PlxuICAgICAgICAgIHtjaG9vc2VJY29uVGV4dH1cbiAgICAgICAgICA8cCBjbGFzc05hbWU9e3N0eWxlc1snc3Itb25seSddfT57cmVxdWlyZWRUZXh0fTwvcD5cbiAgICAgICAgPC9sZWdlbmQ+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1kZXNrdG9wLWljb25zJ119PlxuICAgICAgICAgIHtmYXZvdXJpdGVJY29uVGFibGV9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9maWVsZHNldD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1kZXNrdG9wLWJ1dHRvbnMnXX0+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgYCR7c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1idXR0b24nXX0gJHtzdHlsZXMuc2F2ZX0gJHtcbiAgICAgICAgICAgICAgY2FuU2F2ZSgpID8gJycgOiBzdHlsZXMuZGlzYWJsZWRcbiAgICAgICAgICAgIH1gLFxuICAgICAgICAgICl9XG4gICAgICAgICAgb25DbGljaz17c2F2ZUZhdm91cml0ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtgJHtjYW5TYXZlKCkgPyBzYXZlUGxhY2VUZXh0IDogY2FudFNhdmVUZXh0fWB9XG4gICAgICAgICAgYXJpYS1kaXNhYmxlZD17IWNhblNhdmUoKX1cbiAgICAgICAgPlxuICAgICAgICAgIHtzYXZlVGV4dH1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIHtpc0VkaXQgJiYgKFxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgYCR7c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1idXR0b24nXX0gJHtzdHlsZXMuZWRpdH0gJHtcbiAgICAgICAgICAgICAgICBjYW5TYXZlKCkgPyAnJyA6IHN0eWxlcy5kaXNhYmxlZFxuICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICBvbkNsaWNrPXtjYW5jZWxTZWxlY3RlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2FuY2VsVGV4dH1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuRGVza3RvcE1vZGFsLnByb3BUeXBlcyA9IHtcbiAgaGVhZGVyVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBhdXRvc3VnZ2VzdENvbXBvbmVudDogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgaW5wdXRQbGFjZWhvbGRlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBzcGVjaWZ5TmFtZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBjaG9vc2VJY29uVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBmYXZvdXJpdGVJY29uVGFibGU6IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIHNhdmVGYXZvdXJpdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHNhdmVUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGNhblNhdmU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGlzRWRpdDogUHJvcFR5cGVzLmJvb2wsXG4gIGNhbmNlbFRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2FuY2VsU2VsZWN0ZWQ6IFByb3BUeXBlcy5mdW5jLFxuICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBob3ZlckNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHNhdmVQbGFjZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2FudFNhdmVUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHJlcXVpcmVkVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBmb250V2VpZ2h0czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBtZWRpdW06IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgfSkuaXNSZXF1aXJlZCxcbn07XG5cbkRlc2t0b3BNb2RhbC5kZWZhdWx0UHJvcHMgPSB7XG4gIGlzRWRpdDogZmFsc2UsXG4gIGNhbmNlbFNlbGVjdGVkOiAoKSA9PiAoe30pLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRGVza3RvcE1vZGFsO1xuIiwiLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY3ggZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vbW9iaWxlLnNjc3MnO1xuXG5jb25zdCBNb2JpbGVNb2RhbCA9ICh7XG4gIGhlYWRlclRleHQsXG4gIGF1dG9zdWdnZXN0Q29tcG9uZW50LFxuICBpbnB1dFBsYWNlaG9sZGVyLFxuICBzcGVjaWZ5TmFtZSxcbiAgbmFtZSxcbiAgY2hvb3NlSWNvblRleHQsXG4gIGZhdm91cml0ZUljb25UYWJsZSxcbiAgc2F2ZUZhdm91cml0ZSxcbiAgc2F2ZVRleHQsXG4gIGNhblNhdmUsXG4gIGNvbG9yLFxuICBob3ZlckNvbG9yLFxuICBzYXZlUGxhY2VUZXh0LFxuICBjYW50U2F2ZVRleHQsXG4gIHJlcXVpcmVkVGV4dCxcbiAgZm9udFdlaWdodHMsXG59KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtY29udGFpbmVyJ119XG4gICAgICBzdHlsZT17e1xuICAgICAgICAnLS1jb2xvcic6IGAke2NvbG9yfWAsXG4gICAgICAgICctLWhvdmVyLWNvbG9yJzogYCR7aG92ZXJDb2xvcn1gLFxuICAgICAgICAnLS1mb250LXdlaWdodC1tZWRpdW0nOiBmb250V2VpZ2h0cy5tZWRpdW0sXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtdG9wJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtbW9iaWxlLWhlYWRlciddfT5cbiAgICAgICAgICB7aGVhZGVyVGV4dH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtbWFpbiddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1sb2NhdGlvbi1zZWFyY2gnXX0+XG4gICAgICAgICAge2F1dG9zdWdnZXN0Q29tcG9uZW50fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtaW5wdXQnXX1cbiAgICAgICAgICB2YWx1ZT17bmFtZSB8fCAnJ31cbiAgICAgICAgICBwbGFjZWhvbGRlcj17aW5wdXRQbGFjZWhvbGRlcn1cbiAgICAgICAgICBvbkNoYW5nZT17c3BlY2lmeU5hbWV9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtdGV4dCddfT5cbiAgICAgICAge2Nob29zZUljb25UZXh0fVxuICAgICAgICA8cCBjbGFzc05hbWU9e3N0eWxlc1snc3Itb25seSddfT57cmVxdWlyZWRUZXh0fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1pY29ucyddfT5cbiAgICAgICAge2Zhdm91cml0ZUljb25UYWJsZX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1zYXZlJ119PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgIGAke3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1idXR0b24nXX0gJHtcbiAgICAgICAgICAgICAgY2FuU2F2ZSgpID8gJycgOiBzdHlsZXMuZGlzYWJsZWRcbiAgICAgICAgICAgIH1gLFxuICAgICAgICAgICl9XG4gICAgICAgICAgb25DbGljaz17c2F2ZUZhdm91cml0ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtgJHtjYW5TYXZlKCkgPyBzYXZlUGxhY2VUZXh0IDogY2FudFNhdmVUZXh0fWB9XG4gICAgICAgID5cbiAgICAgICAgICB7c2F2ZVRleHR9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5Nb2JpbGVNb2RhbC5wcm9wVHlwZXMgPSB7XG4gIGhlYWRlclRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgYXV0b3N1Z2dlc3RDb21wb25lbnQ6IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIGlucHV0UGxhY2Vob2xkZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgc3BlY2lmeU5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2hvb3NlSWNvblRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgZmF2b3VyaXRlSWNvblRhYmxlOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICBzYXZlRmF2b3VyaXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzYXZlVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBjYW5TYXZlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBob3ZlckNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHNhdmVQbGFjZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2FudFNhdmVUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHJlcXVpcmVkVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBmb250V2VpZ2h0czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBtZWRpdW06IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgfSkuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1vYmlsZU1vZGFsO1xuIiwiLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBjeCBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBpMThuZXh0IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IGlzTnVtYmVyIGZyb20gJ2xvZGFzaC9pc051bWJlcic7XG5pbXBvcnQgTW9kYWwgZnJvbSAnQGhzbC1maS9tb2RhbCc7XG5pbXBvcnQgSWNvbiBmcm9tICdAZGlnaXRyYW5zaXQtY29tcG9uZW50L2RpZ2l0cmFuc2l0LWNvbXBvbmVudC1pY29uJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9oZWxwZXJzL3N0eWxlcy5zY3NzJztcbmltcG9ydCB0cmFuc2xhdGlvbnMgZnJvbSAnLi9oZWxwZXJzL3RyYW5zbGF0aW9ucyc7XG5pbXBvcnQgRGVza3RvcE1vZGFsIGZyb20gJy4vaGVscGVycy9EZXNrdG9wTW9kYWwnO1xuaW1wb3J0IE1vYmlsZU1vZGFsIGZyb20gJy4vaGVscGVycy9Nb2JpbGVNb2RhbCc7XG5cbmkxOG5leHQuaW5pdCh7XG4gIGxuZzogJ2ZpJyxcbiAgZmFsbGJhY2tMbmc6ICdmaScsXG4gIGRlZmF1bHROUzogJ3RyYW5zbGF0aW9uJyxcbiAgaW50ZXJwb2xhdGlvbjoge1xuICAgIGVzY2FwZVZhbHVlOiBmYWxzZSwgLy8gbm90IG5lZWRlZCBmb3IgcmVhY3QgYXMgaXQgZXNjYXBlcyBieSBkZWZhdWx0XG4gIH0sXG59KTtcblxuT2JqZWN0LmtleXModHJhbnNsYXRpb25zKS5mb3JFYWNoKGxhbmcgPT4ge1xuICBpMThuZXh0LmFkZFJlc291cmNlQnVuZGxlKGxhbmcsICd0cmFuc2xhdGlvbicsIHRyYW5zbGF0aW9uc1tsYW5nXSk7XG59KTtcblxuY29uc3QgRmF2b3VyaXRlSWNvbklkVG9OYW1lTWFwID0ge1xuICAnaWNvbi1pY29uX3BsYWNlJzogJ3BsYWNlJyxcbiAgJ2ljb24taWNvbl9ob21lJzogJ2hvbWUnLFxuICAnaWNvbi1pY29uX3dvcmsnOiAnd29yaycsXG4gICdpY29uLWljb25fc3BvcnQnOiAnc3BvcnQnLFxuICAnaWNvbi1pY29uX3NjaG9vbCc6ICdzY2hvb2wnLFxuICAnaWNvbi1pY29uX3Nob3BwaW5nJzogJ3Nob3BwaW5nJyxcbn07XG5cbmNvbnN0IEZhdm91cml0ZUljb25UYWJsZUJ1dHRvbiA9ICh7XG4gIHZhbHVlLFxuICBzZWxlY3RlZEljb25JZCxcbiAgaGFuZGxlQ2xpY2ssXG4gIGNvbG9yLFxufSkgPT4ge1xuICBjb25zdCBbaXNIb3ZlcmVkLCBzZXRIb3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc0ZvY3VzZWQsIHNldEZvY3VzXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgaWNvbkNvbG9yID1cbiAgICB2YWx1ZSA9PT0gRmF2b3VyaXRlSWNvbklkVG9OYW1lTWFwW3NlbGVjdGVkSWNvbklkXSB8fCBpc0hvdmVyZWQgfHwgaXNGb2N1c2VkXG4gICAgICA/ICcjZmZmZmZmJ1xuICAgICAgOiBjb2xvcjtcbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzTmFtZT17Y3goc3R5bGVzWydmYXZvdXJpdGUtaWNvbi10YWJsZS1jb2x1bW4nXSwgc3R5bGVzW3ZhbHVlXSwge1xuICAgICAgICBbc3R5bGVzWydzZWxlY3RlZC1pY29uJ11dOlxuICAgICAgICAgIHZhbHVlID09PSBGYXZvdXJpdGVJY29uSWRUb05hbWVNYXBbc2VsZWN0ZWRJY29uSWRdLFxuICAgICAgfSl9XG4gICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHNldEhvdmVyKHRydWUpfVxuICAgICAgb25Nb3VzZUxlYXZlPXsoKSA9PiBzZXRIb3ZlcihmYWxzZSl9XG4gICAgICBvbkZvY3VzPXsoKSA9PiBzZXRGb2N1cyh0cnVlKX1cbiAgICAgIG9uQmx1cj17KCkgPT4gc2V0Rm9jdXMoZmFsc2UpfVxuICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQ2xpY2sodmFsdWUpfVxuICAgICAgYXJpYS1sYWJlbD17aTE4bmV4dC50KHZhbHVlKX1cbiAgICA+XG4gICAgICA8SWNvbiBpbWc9e3ZhbHVlfSBjb2xvcj17aWNvbkNvbG9yfSAvPlxuICAgIDwvYnV0dG9uPlxuICApO1xufTtcblxuRmF2b3VyaXRlSWNvblRhYmxlQnV0dG9uLnByb3BUeXBlcyA9IHtcbiAgaGFuZGxlQ2xpY2s6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBzZWxlY3RlZEljb25JZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgY29sb3I6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbn07XG5cbmNvbnN0IEZhdm91cml0ZUljb25UYWJsZSA9ICh7XG4gIGZhdm91cml0ZUljb25JZHMsXG4gIHNlbGVjdGVkSWNvbklkLFxuICBoYW5kbGVDbGljayxcbiAgY29sb3IsXG59KSA9PiB7XG4gIGNvbnN0IGNvbHVtbnMgPSBmYXZvdXJpdGVJY29uSWRzLm1hcCh2YWx1ZSA9PiAoXG4gICAgPEZhdm91cml0ZUljb25UYWJsZUJ1dHRvblxuICAgICAga2V5PXtgZmF2b3VyaXRlLWljb24tdGFibGUtJHt2YWx1ZX1gfVxuICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgc2VsZWN0ZWRJY29uSWQ9e3NlbGVjdGVkSWNvbklkfVxuICAgICAgaGFuZGxlQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgICAgY29sb3I9e2NvbG9yfVxuICAgIC8+XG4gICkpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZ2VuZXJpYy10YWJsZSddfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMucm93fT57Y29sdW1uc308L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkZhdm91cml0ZUljb25UYWJsZS5wcm9wVHlwZXMgPSB7XG4gIGhhbmRsZUNsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBmYXZvdXJpdGVJY29uSWRzOiBQcm9wVHlwZXMuYXJyYXksXG4gIHNlbGVjdGVkSWNvbklkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxufTtcblxuLyoqXG4gKiBAZXhhbXBsZVxuICogPEZhdm91cml0ZU1vZGFsXG4gKiAgIHNob3c9e21vZGFsT3Blbn1cbiAqICAgaGFuZGxlQ2xvc2U9e2hhbmRsZUNsb3NlfVxuICogICBzYXZlRmF2b3VyaXRlPXtvblNhdmVGYXZvdXJpdGV9XG4gKiAgIGxvY2F0aW9uPXtzZWxlY3RlZExvY2F0aW9ufVxuICogICBmYXZvdXJpdGU9e2Zhdm91cml0ZX1cbiAqICAgbGFuZz17bGFuZ31cbiAqICAgYXV0b3N1Z2dlc3RDb21wb25lbnQ9e1xuICogICAgIDxBdXRvU3VnZ2VzdFxuICogICAgICAgc291cmNlcz17WydIaXN0b3J5JywgJ0RhdGFzb3VyY2UnXX1cbiAqICAgICAgIHRhcmdldHM9e1snTG9jYXRpb25zJywgJ0N1cnJlbnRQb3NpdGlvbiddfVxuICogICAgICAgaWQ9XCJmYXZvdXJpdGVcIlxuICogICAgICAgYXV0b0ZvY3VzPXtmYWxzZX1cbiAqICAgICAgIHBsYWNlaG9sZGVyPVwic2VhcmNoLWFkZHJlc3Mtb3ItcGxhY2VcIlxuICogICAgICAgdmFsdWU9e3NlbGVjdGVkTG9jYXRpb24uYWRkcmVzcyB8fCAnJ31cbiAqICAgICAgIG9uRmF2b3VyaXRlU2VsZWN0ZWQ9e3RoaXMuc2V0TG9jYXRpb25Qcm9wZXJ0aWVzfVxuICogICAgICAgbGFuZz17bGFuZ31cbiAqICAgICAvPlxuICogICB9XG4gKiAvPlxuICovXG5jbGFzcyBGYXZvdXJpdGVNb2RhbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNNb2RhbE9wZW46IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgLyoqIFJlcXVpcmVkLlxuICAgICAqIEB0eXBle2Z1bmN0aW9ufSAqL1xuICAgIGhhbmRsZUNsb3NlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIC8qKiBSZXF1aXJlZC5cbiAgICAgKiBAdHlwZXtmdW5jdGlvbn0gKi9cbiAgICBzYXZlRmF2b3VyaXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIC8qKiBSZXF1aXJlZC4gT25seSB1c2VkIHdoZW4gZWRpdGluZyBmYXZvdXJpdGUuXG4gICAgICogQHR5cGV7ZnVuY3Rpb259ICovXG4gICAgY2FuY2VsU2VsZWN0ZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIC8qKiBPcHRpb25hbC5cbiAgICAgKiBBdXRvc3VnZ2VzdCBjb21wb25lbnQgZm9yIHNlYXJjaGluZyBuZXcgZmF2b3VyaXRlcy5cbiAgICAgKiBAdHlwZXtub2RlfVxuICAgICAqL1xuICAgIGF1dG9zdWdnZXN0Q29tcG9uZW50OiBQcm9wVHlwZXMubm9kZSxcbiAgICAvKiogT3B0aW9uYWwuXG4gICAgICogT2JqZWN0IHRvIHByZWZpbGwgaW5wdXQgZmllbGQgZm9yIG5hbWUgYW5kL29yIHNlbGVjdGVkIGljb24uXG4gICAgICogQHR5cGUge29iamVjdH1cbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gdHlwZVxuICAgICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBhZGRyZXNzXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IGd0ZnNJZFxuICAgICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBnaWRcbiAgICAgKiBAcHJvcGVydHkge251bWJlcn0gbGF0XG4gICAgICogQHByb3BlcnR5IHtudW1iZXJ9IGxvblxuICAgICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IHNlbGVjdGVkSWNvbklkXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IGZhdm91cml0ZUlkXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IGxheWVyXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IGRlZmF1bHROYW1lXG4gICAgICovXG4gICAgZmF2b3VyaXRlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGFkZHJlc3M6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBndGZzSWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBnaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBsYXQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICBsb246IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgc2VsZWN0ZWRJY29uSWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBmYXZvdXJpdGVJZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGxheWVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgZGVmYXVsdE5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgLyoqIE9wdGlvbmFsLlxuICAgICAqIEB0eXBlIHtmdW5jdGlvbn0gKi9cbiAgICBhZGRBbmFseXRpY3NFdmVudDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgLyoqIE9wdGlvbmFsLiBMYW5ndWFnZSwgZmksIGVuIG9yIHN2LlxuICAgICAqIEB0eXBlIHtzdHJpbmd9ICovXG4gICAgbGFuZzogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAvKiogT3B0aW9uYWwuICovXG4gICAgaXNNb2JpbGU6IFByb3BUeXBlcy5ib29sLFxuICAgIGFwcEVsZW1lbnQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBob3ZlckNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIC8qKiBPcHRpb25hbC4gKi9cbiAgICBmb250V2VpZ2h0czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIC8qKiBEZWZhdWx0IHZhbHVlIGlzIDUwMC4gKi9cbiAgICAgIG1lZGl1bTogUHJvcFR5cGVzLm51bWJlcixcbiAgICB9KSxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGNhbmNlbFNlbGVjdGVkOiAoKSA9PiAoe30pLFxuICAgIGxhbmc6ICdmaScsXG4gICAgaXNNb2JpbGU6IGZhbHNlLFxuICAgIGZhdm91cml0ZTogbnVsbCxcbiAgICBjb2xvcjogJyMwMDdhYzknLFxuICAgIGhvdmVyQ29sb3I6ICcjMDA2MmExJyxcbiAgICBmb250V2VpZ2h0czoge1xuICAgICAgbWVkaXVtOiA1MDAsXG4gICAgfSxcbiAgfTtcblxuICBzdGF0aWMgZmF2b3VyaXRlSWNvbklkcyA9IFtcbiAgICAncGxhY2UnLFxuICAgICdob21lJyxcbiAgICAnd29yaycsXG4gICAgJ3Nwb3J0JyxcbiAgICAnc2Nob29sJyxcbiAgICAnc2hvcHBpbmcnLFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIGkxOG5leHQuY2hhbmdlTGFuZ3VhZ2UocHJvcHMubGFuZyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGZhdm91cml0ZTogbnVsbCxcbiAgICB9O1xuICAgIE9iamVjdC5rZXlzKHRyYW5zbGF0aW9ucykuZm9yRWFjaChsYW5nID0+IHtcbiAgICAgIGkxOG5leHQuYWRkUmVzb3VyY2VCdW5kbGUobGFuZywgJ3RyYW5zbGF0aW9uJywgdHJhbnNsYXRpb25zW2xhbmddKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPSAobmV4dFByb3BzLCBwcmV2U3RhdGUpID0+IHtcbiAgICBjb25zdCBwcmV2RmF2ID0gcHJldlN0YXRlLmZhdm91cml0ZTtcbiAgICBjb25zdCBuZXh0RmF2ID0gbmV4dFByb3BzLmZhdm91cml0ZTtcblxuICAgIGlmIChpc0VtcHR5KG5leHRGYXYpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmYXZvdXJpdGU6IG51bGwsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChpc0VtcHR5KHByZXZGYXYpICYmICFpc0VtcHR5KG5leHRGYXYpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmYXZvdXJpdGU6IHtcbiAgICAgICAgICAuLi5uZXh0RmF2LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgIWlzRW1wdHkocHJldkZhdikgJiZcbiAgICAgICFpc0VtcHR5KG5leHRGYXYpICYmXG4gICAgICAobmV4dEZhdi5hZGRyZXNzICE9PSBwcmV2RmF2LmFkZHJlc3MgfHxcbiAgICAgICAgbmV4dEZhdi5sYXQgIT09IHByZXZGYXYubGF0IHx8XG4gICAgICAgIG5leHRGYXYubG9uICE9PSBwcmV2RmF2LmxvbilcbiAgICApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZhdm91cml0ZToge1xuICAgICAgICAgIC4uLnByZXZGYXYsXG4gICAgICAgICAgYWRkcmVzczogbmV4dEZhdi5hZGRyZXNzLFxuICAgICAgICAgIGxhdDogbmV4dEZhdi5sYXQsXG4gICAgICAgICAgbG9uOiBuZXh0RmF2LmxvbixcbiAgICAgICAgICBnaWQ6IG5leHRGYXYuZ2lkIHx8IG51bGwsXG4gICAgICAgICAgbmFtZTogcHJldkZhdi5uYW1lIHx8IG5leHRGYXYubmFtZSB8fCAnJyxcbiAgICAgICAgICBkZWZhdWx0TmFtZTogbmV4dEZhdi5kZWZhdWx0TmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIGNvbXBvbmVudERpZFVwZGF0ZSA9ICgpID0+IHtcbiAgICBpZiAoaTE4bmV4dC5sYW5ndWFnZSAhPT0gdGhpcy5wcm9wcy5sYW5nKSB7XG4gICAgICBpMThuZXh0LmNoYW5nZUxhbmd1YWdlKHRoaXMucHJvcHMubGFuZyk7XG4gICAgfVxuICB9O1xuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50ID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBmYXZvdXJpdGU6IG51bGwgfSk7XG4gIH07XG5cbiAgc3BlY2lmeU5hbWUgPSBldmVudCA9PiB7XG4gICAgY29uc3QgbmFtZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHByZXZTdGF0ZSA9PiAoe1xuICAgICAgZmF2b3VyaXRlOiB7IC4uLnByZXZTdGF0ZS5mYXZvdXJpdGUsIG5hbWUgfSxcbiAgICB9KSk7XG4gIH07XG5cbiAgc2VsZWN0SWNvbiA9IGlkID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHByZXZTdGF0ZSA9PiAoe1xuICAgICAgZmF2b3VyaXRlOiB7XG4gICAgICAgIC4uLnByZXZTdGF0ZS5mYXZvdXJpdGUsXG4gICAgICAgIHNlbGVjdGVkSWNvbklkOiBgaWNvbi1pY29uXyR7aWR9YCxcbiAgICAgIH0sXG4gICAgfSkpO1xuICB9O1xuXG4gIGlzRWRpdCA9ICgpID0+XG4gICAgdGhpcy5zdGF0ZS5mYXZvdXJpdGUgJiYgdGhpcy5zdGF0ZS5mYXZvdXJpdGUuZmF2b3VyaXRlSWQgIT09IHVuZGVmaW5lZDtcblxuICBjYW5TYXZlID0gKCkgPT5cbiAgICB0aGlzLnN0YXRlLmZhdm91cml0ZSAmJlxuICAgICFpc0VtcHR5KHRoaXMuc3RhdGUuZmF2b3VyaXRlLnNlbGVjdGVkSWNvbklkKSAmJlxuICAgIGlzTnVtYmVyKHRoaXMuc3RhdGUuZmF2b3VyaXRlLmxhdCkgJiZcbiAgICBpc051bWJlcih0aGlzLnN0YXRlLmZhdm91cml0ZS5sb24pO1xuXG4gIGNsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgdGhpcy5wcm9wcy5oYW5kbGVDbG9zZSgpO1xuICAgIC8vIGhzbC1maS9tb2RhbCBjbG9zZSBhbmltYXRpb24gbGFzdHMgMjUwbXNcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBmYXZvdXJpdGU6IG51bGwgfSk7XG4gICAgfSwgMjUwKTtcbiAgfTtcblxuICBjYW5jZWxTZWxlY3RlZCA9ICgpID0+IHtcbiAgICB0aGlzLnByb3BzLmNhbmNlbFNlbGVjdGVkKCk7XG4gICAgLy8gaHNsLWZpL21vZGFsIGNsb3NlIGFuaW1hdGlvbiBsYXN0cyAyNTBtc1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGZhdm91cml0ZTogbnVsbCB9KTtcbiAgICB9LCAyNTApO1xuICB9O1xuXG4gIHNhdmUgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuY2FuU2F2ZSgpKSB7XG4gICAgICBjb25zdCBuYW1lID0gaXNFbXB0eSh0aGlzLnN0YXRlLmZhdm91cml0ZS5uYW1lKVxuICAgICAgICA/IHRoaXMuc3RhdGUuZmF2b3VyaXRlLmRlZmF1bHROYW1lXG4gICAgICAgIDogdGhpcy5zdGF0ZS5mYXZvdXJpdGUubmFtZTtcblxuICAgICAgY29uc3QgZmF2b3VyaXRlID0geyAuLi50aGlzLnN0YXRlLmZhdm91cml0ZSwgbmFtZSB9O1xuICAgICAgZGVsZXRlIGZhdm91cml0ZS5kZWZhdWx0TmFtZTtcbiAgICAgIHRoaXMucHJvcHMuc2F2ZUZhdm91cml0ZSh7IC4uLmZhdm91cml0ZSwgdHlwZTogJ3BsYWNlJyB9KTtcbiAgICAgIGlmICh0aGlzLnByb3BzLmFkZEFuYWx5dGljc0V2ZW50KSB7XG4gICAgICAgIHRoaXMucHJvcHMuYWRkQW5hbHl0aWNzRXZlbnQoe1xuICAgICAgICAgIGNhdGVnb3J5OiAnRmF2b3VyaXRlJyxcbiAgICAgICAgICBhY3Rpb246ICdTYXZlRmF2b3VyaXRlJyxcbiAgICAgICAgICBuYW1lOiB0aGlzLnN0YXRlLmZhdm91cml0ZS5zZWxlY3RlZEljb25JZCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc0VkaXQoKSAmJiB0aGlzLnByb3BzLmNhbmNlbFNlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuY2FuY2VsU2VsZWN0ZWQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICByZW5kZXIgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBmYXZvdXJpdGUgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBjb2xvciwgaG92ZXJDb2xvciwgZm9udFdlaWdodHMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgaGVhZGVyVGV4dCA9IHRoaXMuaXNFZGl0KClcbiAgICAgID8gaTE4bmV4dC50KCdlZGl0LXBsYWNlJylcbiAgICAgIDogaTE4bmV4dC50KCdzYXZlLXBsYWNlJyk7XG4gICAgY29uc3QgbW9kYWxQcm9wcyA9IHtcbiAgICAgIGhlYWRlclRleHQsXG4gICAgICBhdXRvc3VnZ2VzdENvbXBvbmVudDoge1xuICAgICAgICAuLi50aGlzLnByb3BzLmF1dG9zdWdnZXN0Q29tcG9uZW50LFxuICAgICAgICBjb2xvcixcbiAgICAgICAgaG92ZXJDb2xvcixcbiAgICAgIH0sXG4gICAgICBpbnB1dFBsYWNlaG9sZGVyOiBpMThuZXh0LnQoJ2lucHV0LXBsYWNlaG9sZGVyJyksXG4gICAgICBzcGVjaWZ5TmFtZTogdGhpcy5zcGVjaWZ5TmFtZSxcbiAgICAgIG5hbWU6IChmYXZvdXJpdGUgJiYgZmF2b3VyaXRlLm5hbWUpIHx8ICcnLFxuICAgICAgY2hvb3NlSWNvblRleHQ6IGkxOG5leHQudCgnY2hvb3NlLWljb24nKSxcbiAgICAgIGZhdm91cml0ZUljb25UYWJsZTogKFxuICAgICAgICA8RmF2b3VyaXRlSWNvblRhYmxlXG4gICAgICAgICAgc2VsZWN0ZWRJY29uSWQ9eygoKSA9PiB7XG4gICAgICAgICAgICBpZiAoKGZhdm91cml0ZSAmJiBmYXZvdXJpdGUuc2VsZWN0ZWRJY29uSWQgIT09IHVuZGVmaW5lZCkgfHwgbnVsbCkge1xuICAgICAgICAgICAgICByZXR1cm4gZmF2b3VyaXRlLnNlbGVjdGVkSWNvbklkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICB9KSgpfVxuICAgICAgICAgIGZhdm91cml0ZUljb25JZHM9e0Zhdm91cml0ZU1vZGFsLmZhdm91cml0ZUljb25JZHN9XG4gICAgICAgICAgaGFuZGxlQ2xpY2s9e3RoaXMuc2VsZWN0SWNvbn1cbiAgICAgICAgICBjb2xvcj17Y29sb3J9XG4gICAgICAgIC8+XG4gICAgICApLFxuICAgICAgc2F2ZUZhdm91cml0ZTogdGhpcy5zYXZlLFxuICAgICAgc2F2ZVRleHQ6IGkxOG5leHQudCgnc2F2ZScpLFxuICAgICAgY2FuU2F2ZTogdGhpcy5jYW5TYXZlLFxuICAgICAgaXNFZGl0OiB0aGlzLmlzRWRpdCgpLFxuICAgICAgY2FuY2VsVGV4dDogaTE4bmV4dC50KCdjYW5jZWwnKSxcbiAgICAgIGNhbmNlbFNlbGVjdGVkOiAoKSA9PiB0aGlzLmNhbmNlbFNlbGVjdGVkKCksXG4gICAgICBjb2xvcixcbiAgICAgIGhvdmVyQ29sb3IsXG4gICAgICBzYXZlUGxhY2VUZXh0OiBpMThuZXh0LnQoJ3NhdmUtcGxhY2UnKSxcbiAgICAgIGNhbnRTYXZlVGV4dDogaTE4bmV4dC50KCdjYW5ub3Qtc2F2ZS1wbGFjZScpLFxuICAgICAgcmVxdWlyZWRUZXh0OiBpMThuZXh0LnQoJ3JlcXVpcmVkLXRleHQnKSxcbiAgICAgIGZvbnRXZWlnaHRzLFxuICAgIH07XG4gICAgcmV0dXJuIChcbiAgICAgIDxNb2RhbFxuICAgICAgICBhcHBFbGVtZW50PXt0aGlzLnByb3BzLmFwcEVsZW1lbnR9XG4gICAgICAgIGNvbnRlbnRMYWJlbD17XG4gICAgICAgICAgdGhpcy5pc0VkaXQoKVxuICAgICAgICAgICAgPyBpMThuZXh0LnQoJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JywgZmF2b3VyaXRlKVxuICAgICAgICAgICAgOiBpMThuZXh0LnQoJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JylcbiAgICAgICAgfVxuICAgICAgICBjbG9zZUJ1dHRvbkxhYmVsPXtpMThuZXh0LnQoJ2Nsb3NlLWZhdm91cml0ZS1tb2RhbCcpfVxuICAgICAgICB2YXJpYW50PXshdGhpcy5wcm9wcy5pc01vYmlsZSA/ICdzbWFsbCcgOiAnbGFyZ2UnfVxuICAgICAgICBpc09wZW49e3RoaXMucHJvcHMuaXNNb2RhbE9wZW59XG4gICAgICAgIG9uQ3Jvc3NDbGljaz17KCkgPT4gdGhpcy5jbG9zZU1vZGFsKCl9XG4gICAgICA+XG4gICAgICAgIHshdGhpcy5wcm9wcy5pc01vYmlsZSAmJiA8RGVza3RvcE1vZGFsIHsuLi5tb2RhbFByb3BzfSAvPn1cbiAgICAgICAge3RoaXMucHJvcHMuaXNNb2JpbGUgJiYgPE1vYmlsZU1vZGFsIHsuLi5tb2RhbFByb3BzfSAvPn1cbiAgICAgIDwvTW9kYWw+XG4gICAgKTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRmF2b3VyaXRlTW9kYWw7XG4iLCJpbXBvcnQgc2V0UHJvdG90eXBlT2YgZnJvbSBcIi4vc2V0UHJvdG90eXBlT2ZcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykge1xuICBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpO1xuICB9XG5cbiAgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7XG4gICAgY29uc3RydWN0b3I6IHtcbiAgICAgIHZhbHVlOiBzdWJDbGFzcyxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfVxuICB9KTtcbiAgaWYgKHN1cGVyQ2xhc3MpIHNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7XG4gIGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTtcbiAgfVxufSJdLCJuYW1lcyI6WyJfZXh0ZW5kcyIsIk9iamVjdCIsImFzc2lnbiIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJhcHBseSIsInRoaXMiLCJfZGVmaW5lUHJvcGVydGllcyIsInByb3BzIiwiZGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImRlZmluZVByb3BlcnR5IiwiX3NldFByb3RvdHlwZU9mIiwibyIsInAiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJvYmoiLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJzZWxmIiwiUmVmZXJlbmNlRXJyb3IiLCJhc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJfZ2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsIl9hcnJheUxpa2VUb0FycmF5IiwiYXJyIiwibGVuIiwiYXJyMiIsIkFycmF5IiwiX3NsaWNlZFRvQXJyYXkiLCJpc0FycmF5IiwiYXJyYXlXaXRoSG9sZXMiLCJfYXJyIiwiX24iLCJfZCIsIl9lIiwidW5kZWZpbmVkIiwiX3MiLCJfaSIsIm5leHQiLCJkb25lIiwicHVzaCIsInZhbHVlIiwiZXJyIiwiaXRlcmFibGVUb0FycmF5TGltaXQiLCJtaW5MZW4iLCJhcnJheUxpa2VUb0FycmF5IiwibiIsInRvU3RyaW5nIiwic2xpY2UiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJ1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIlR5cGVFcnJvciIsIm5vbkl0ZXJhYmxlUmVzdCIsInN0eWxlSW5qZWN0IiwiY3NzIiwicmVmIiwiaW5zZXJ0QXQiLCJkb2N1bWVudCIsImhlYWQiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsInN0eWxlIiwiY3JlYXRlRWxlbWVudCIsInR5cGUiLCJmaXJzdENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwiYXBwZW5kQ2hpbGQiLCJzdHlsZVNoZWV0IiwiY3NzVGV4dCIsImNyZWF0ZVRleHROb2RlIiwidHJhbnNsYXRpb25zIiwiZGUiLCJjYW5jZWwiLCJzYXZlIiwiZW4iLCJwbGFjZSIsImhvbWUiLCJ3b3JrIiwic3BvcnQiLCJzY2hvb2wiLCJzaG9wcGluZyIsImZpIiwic3YiLCJEZXNrdG9wTW9kYWwiLCJoZWFkZXJUZXh0IiwiYXV0b3N1Z2dlc3RDb21wb25lbnQiLCJpbnB1dFBsYWNlaG9sZGVyIiwic3BlY2lmeU5hbWUiLCJjaG9vc2VJY29uVGV4dCIsImZhdm91cml0ZUljb25UYWJsZSIsInNhdmVGYXZvdXJpdGUiLCJzYXZlVGV4dCIsImNhblNhdmUiLCJpc0VkaXQiLCJjYW5jZWxUZXh0IiwiY2FuY2VsU2VsZWN0ZWQiLCJjb2xvciIsImhvdmVyQ29sb3IiLCJzYXZlUGxhY2VUZXh0IiwiY2FudFNhdmVUZXh0IiwicmVxdWlyZWRUZXh0IiwiZm9udFdlaWdodHMiLCJSZWFjdCIsImNsYXNzTmFtZSIsInN0eWxlcyIsIm1lZGl1bSIsInBsYWNlaG9sZGVyIiwib25DaGFuZ2UiLCJvbkNsaWNrIiwicHJvY2VzcyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJub2RlIiwiZnVuYyIsImJvb2wiLCJzaGFwZSIsIm51bWJlciIsImRlZmF1bHRQcm9wcyIsIk1vYmlsZU1vZGFsIiwiZGlzYWJsZWQiLCJpbml0IiwibG5nIiwiZmFsbGJhY2tMbmciLCJkZWZhdWx0TlMiLCJpbnRlcnBvbGF0aW9uIiwiZXNjYXBlVmFsdWUiLCJrZXlzIiwiZm9yRWFjaCIsImxhbmciLCJpMThuZXh0IiwiYWRkUmVzb3VyY2VCdW5kbGUiLCJGYXZvdXJpdGVJY29uSWRUb05hbWVNYXAiLCJGYXZvdXJpdGVJY29uVGFibGVCdXR0b24iLCJzZWxlY3RlZEljb25JZCIsImhhbmRsZUNsaWNrIiwidXNlU3RhdGUiLCJpc0hvdmVyZWQiLCJzZXRIb3ZlciIsImlzRm9jdXNlZCIsInNldEZvY3VzIiwiaWNvbkNvbG9yIiwiY3giLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlTGVhdmUiLCJvbkZvY3VzIiwib25CbHVyIiwidCIsIkljb24iLCJpbWciLCJGYXZvdXJpdGVJY29uVGFibGUiLCJmYXZvdXJpdGVJY29uSWRzIiwiY29sdW1ucyIsIm1hcCIsInJvdyIsImFycmF5IiwiRmF2b3VyaXRlTW9kYWwiLCJzdWJDbGFzcyIsInN1cGVyQ2xhc3MiLCJjcmVhdGUiLCJDb25zdHJ1Y3RvciIsInByb3RvUHJvcHMiLCJzdGF0aWNQcm9wcyIsImluc3RhbmNlIiwiY29tcG9uZW50RGlkVXBkYXRlIiwibGFuZ3VhZ2UiLCJfdGhpcyIsImNoYW5nZUxhbmd1YWdlIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJzZXRTdGF0ZSIsImZhdm91cml0ZSIsImV2ZW50IiwicHJldlN0YXRlIiwic2VsZWN0SWNvbiIsImlkIiwic3RhdGUiLCJmYXZvdXJpdGVJZCIsImlzRW1wdHkiLCJpc051bWJlciIsImxhdCIsImxvbiIsImNsb3NlTW9kYWwiLCJoYW5kbGVDbG9zZSIsInNldFRpbWVvdXQiLCJkZWZhdWx0TmFtZSIsImFkZEFuYWx5dGljc0V2ZW50IiwiY2F0ZWdvcnkiLCJhY3Rpb24iLCJyZW5kZXIiLCJtb2RhbFByb3BzIiwiTW9kYWwiLCJhcHBFbGVtZW50IiwiY29udGVudExhYmVsIiwiY2xvc2VCdXR0b25MYWJlbCIsInZhcmlhbnQiLCJpc01vYmlsZSIsImlzT3BlbiIsImlzTW9kYWxPcGVuIiwib25Dcm9zc0NsaWNrIiwiQ29tcG9uZW50IiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwibmV4dFByb3BzIiwicHJldkZhdiIsIm5leHRGYXYiLCJhZGRyZXNzIiwiZ2lkIiwiZ3Rmc0lkIiwibGF5ZXIiXSwibWFwcGluZ3MiOiJnM0JBQWUsU0FBU0EsSUFldEIsT0FkQUEsRUFBV0MsT0FBT0MsUUFBVSxTQUFVQyxHQUNwQyxJQUFLLElBQUlDLEVBQUksRUFBR0EsRUFBSUMsVUFBVUMsT0FBUUYsSUFBSyxDQUN6QyxJQUFJRyxFQUFTRixVQUFVRCxHQUV2QixJQUFLLElBQUlJLEtBQU9ELEVBQ1ZOLE9BQU9RLFVBQVVDLGVBQWVDLEtBQUtKLEVBQVFDLEtBQy9DTCxFQUFPSyxHQUFPRCxFQUFPQyxJQUszQixPQUFPTCxHQUdGSCxFQUFTWSxNQUFNQyxLQUFNUixXQ2Y5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
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("classnames"),require("i18next"),require("lodash/isEmpty"),require("lodash/isNumber"),require("@hsl-fi/modal"),require("@digitransit-component/digitransit-component-icon")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","classnames","i18next","lodash/isEmpty","lodash/isNumber","@hsl-fi/modal","@digitransit-component/digitransit-component-icon"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@digitransit-component/digitransit-component-favourite-modal"]={},e.React,e.PropTypes,e.cx,e.i18next,e.isEmpty,e.isNumber,e.Modal,e.Icon)}(this,(function(e,t,o,a,n,i,r,l,d){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(t),c=s(o),f=s(a),p=s(n),m=s(i),_=s(r),v=s(l),b=s(d);function h(){return h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(e[a]=o[a])}return e},h.apply(this,arguments)}function g(e,t){for(var o=0;o<t.length;o++){var a=t[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function k(e,t){return k=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},k(e,t)}function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function x(e,t){return!t||"object"!==y(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function R(e){return R=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},R(e)}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,a=new Array(t);o<t;o++)a[o]=e[o];return a}function w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var o=[],a=!0,n=!1,i=void 0;try{for(var r,l=e[Symbol.iterator]();!(a=(r=l.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){n=!0,i=e}finally{try{a||null==l.return||l.return()}finally{if(n)throw i}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return E(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?E(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===o&&a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}var q={"generic-table":"styles_generic-table__ZDktB",row:"styles_row__2H9Yg","generic-table__label-container":"styles_generic-table__label-container__BFaCU","favourite-icon-table-column":"styles_favourite-icon-table-column__fIdH1",place:"styles_place__NQ5kk",work:"styles_work__1IJjU",home:"styles_home__1tTd4",school:"styles_school__X2Mcv",sport:"styles_sport__EfCxT",shopping:"styles_shopping__XNGKI","selected-icon":"styles_selected-icon__vfbGq"};S(".styles_generic-table__ZDktB > .styles_row__2H9Yg {\n display: flex; }\n\n.styles_generic-table__label-container__BFaCU {\n font-size: 0.8rem;\n margin-top: 3px;\n color: #666;\n height: 16px;\n max-width: 62.5rem;\n margin-left: auto;\n margin-right: auto; }\n\n.styles_favourite-icon-table-column__fIdH1 {\n cursor: pointer;\n flex: 1;\n align-items: center;\n padding: 0;\n background: #fff;\n float: left;\n height: 50px;\n margin: 0;\n line-height: 1;\n text-align: center;\n font-size: 17px;\n border-top: solid 1px #d9d9d9;\n border-bottom: solid 1px #d9d9d9;\n border-right: solid 1px #d9d9d9;\n border-left: none; }\n .styles_favourite-icon-table-column__fIdH1.styles_place__NQ5kk svg {\n width: 24px;\n height: 24px; }\n .styles_favourite-icon-table-column__fIdH1.styles_work__1IJjU svg {\n width: 20px;\n height: 20px; }\n .styles_favourite-icon-table-column__fIdH1.styles_home__1tTd4 svg, .styles_favourite-icon-table-column__fIdH1.styles_school__X2Mcv svg, .styles_favourite-icon-table-column__fIdH1.styles_sport__EfCxT svg, .styles_favourite-icon-table-column__fIdH1.styles_shopping__XNGKI svg {\n width: 18px;\n height: 18px; }\n .styles_favourite-icon-table-column__fIdH1:active, .styles_favourite-icon-table-column__fIdH1:hover, .styles_favourite-icon-table-column__fIdH1:focus, .styles_favourite-icon-table-column__fIdH1 .styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n\n.styles_favourite-icon-table-column__fIdH1:first-child {\n border-left: solid 1px #d9d9d9;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1:last-child {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1.styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n");var I={de:{cancel:"Abbrechen","choose-icon":"Wählen Sie ein Symbol für diesen Ort","close-favourite-modal":"Favoriten-Dialog schließen","edit-place":"Ort bearbeiten","favourite-modal-on-add-new":"Neuen Favoriten hinzufügen","favourite-modal-on-edit":"Favorit bearbeiten: {{favourite.name}}","input-placeholder":"Einen Namen für Ort setzen (optional)",save:"Speichern","save-place":"Favorit speichern"},en:{cancel:"Cancel","choose-icon":"Select the place's icon","close-favourite-modal":"Close the favourite modal","edit-place":"Edit place","favourite-modal-on-add-new":"Add a new favorite","favourite-modal-on-edit":"Editing favourite: {{favourite.name}}","input-placeholder":"Give the name a place (optional)",save:"Save","save-place":"Save place","cannot-save-place":"Cannot save a place without address or icon",place:"a place",home:"home",work:"work",sport:"sport",school:"school",shopping:"shopping","required-text":"required field"},fi:{cancel:"Peruuta","choose-icon":"Valitse paikan kuvake","close-favourite-modal":"Sulje suosikkimodaali","edit-place":"Muokkaa paikkaa","favourite-modal-on-add-new":"Lisää uusi suosikki","favourite-modal-on-edit":"Muokkaa suosikkia {{favourite.name}}","input-placeholder":"Anna paikalle nimi (vapaaehtoinen)",save:"Tallenna","save-place":"Tallenna paikka","cannot-save-place":"Paikkaa ilman osoitetta tai ikonia ei voida tallentaa",place:"paikka",home:"koti",work:"työ",sport:"urheilu",school:"koulu",shopping:"ostokset","required-text":"pakollinen kenttä"},sv:{cancel:"Avbryt","choose-icon":"Välj platsens ikon","close-favourite-modal":"Stäng favoritmodalen","edit-place":"Redigera plats","favourite-modal-on-add-new":"Lägg till ny favorit","favourite-modal-on-edit":"Redigera platsen: {{favourite.name}}","input-placeholder":"Ange platsens namn (frivilligt)",save:"Spara","save-place":"Spara plats","cannot-save-place":"Det går inte att spara en plats utan adress eller ikon",place:"en plats",home:"hem",work:"arbete",sport:"sport",school:"skola",shopping:"shoppa","required-field":"obligatoriskt fält"}},N="desktop_favourite-modal-desktop-container__JeGRK",T="desktop_favourite-modal-desktop-top__SRAj7",G="desktop_favourite-modal-desktop-header__LzO65",O="desktop_favourite-modal-desktop-main__3SYc5",C="desktop_favourite-modal-desktop-location-search__ajBVr",A="desktop_favourite-modal-desktop-name__BmsiY",H="desktop_favourite-modal-desktop-input__6L7ez",U="desktop_favourite-modal-desktop-text__Gs-U3",j="desktop_favourite-modal-desktop-icons__LtHSO",B="desktop_icons-container__rs22H",J="desktop_favourite-modal-desktop-buttons__2Ag9q",P="desktop_favourite-modal-desktop-button__8Gh8t",z="desktop_save__I0AgO",F="desktop_disabled__Greqy",K="desktop_edit__t9NzU",M="desktop_sr-only__VJyNM";S(".desktop_favourite-modal-desktop-container__JeGRK {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 {\n display: flex;\n flex-direction: row;\n width: 100%; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 .desktop_favourite-modal-desktop-header__LzO65 {\n width: 100%;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n line-height: 1.33;\n letter-spacing: -0.6px;\n color: #333333;\n margin-bottom: 25px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 {\n text-align: left;\n margin-bottom: 27px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-location-search__ajBVr {\n margin-bottom: 9px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n border-radius: 5px;\n border: solid 1px #888888;\n background-color: #ffffff;\n padding-left: 20px;\n font-size: 15px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez::placeholder {\n color: #666; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0px 0px 2px 1px var(--hover-color);\n -webkit-appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-text__Gs-U3 {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333333;\n margin: 0 0 11px 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-icons__LtHSO {\n margin-bottom: 30px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_icons-container__rs22H {\n border: none;\n margin: 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n color: #fff;\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:focus, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy:active {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU {\n margin-top: 9px;\n background: #fff;\n border: solid 1px var(--color);\n color: var(--color); }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:hover {\n border-color: var(--hover-color);\n background-color: #fff;\n color: var(--hover-color); }\n\n.desktop_sr-only__VJyNM:not(:focus):not(:active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");var Y=function(e){var t=e.headerText,o=e.autosuggestComponent,a=e.inputPlaceholder,n=e.specifyName,i=e.name,r=e.chooseIconText,l=e.favouriteIconTable,d=e.saveFavourite,s=e.saveText,c=e.canSave,f=e.isEdit,p=e.cancelText,m=e.cancelSelected,_=e.color,v=e.hoverColor,b=e.savePlaceText,h=e.cantSaveText,g=e.requiredText,k=e.fontWeights;return u.default.createElement("div",{className:N,style:{"--color":"".concat(_),"--hover-color":"".concat(v),"--font-weight-medium":k.medium}},u.default.createElement("div",{className:T},u.default.createElement("div",{className:G},t)),u.default.createElement("div",{className:O},u.default.createElement("div",{className:C},o),u.default.createElement("div",{className:A},u.default.createElement("input",{"aria-label":a,className:H,value:i,placeholder:a,onChange:n}))),u.default.createElement("fieldset",{className:B},u.default.createElement("legend",{className:U},r,u.default.createElement("p",{className:M},g)),u.default.createElement("div",{className:j},l)),u.default.createElement("div",{className:J},u.default.createElement("button",{type:"button",className:"".concat(P," ").concat(z," ").concat(c()?"":F),onClick:d,"aria-label":"".concat(c()?b:h),"aria-disabled":!c()},s),f&&u.default.createElement("button",{type:"button",className:"".concat(P," ").concat(K," ").concat(c()?"":F),onClick:m},p)))};"production"!==process.env.NODE_ENV&&(Y.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,isEdit:c.default.bool,cancelText:c.default.string.isRequired,cancelSelected:c.default.func,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),Y.defaultProps={isEdit:!1,cancelSelected:function(){return{}}};var L={"favourite-modal-mobile-container":"mobile_favourite-modal-mobile-container__rahUH","favourite-modal-mobile-top":"mobile_favourite-modal-mobile-top__RZX-c","favourite-modal-mobile-header":"mobile_favourite-modal-mobile-header__XR22e","favourite-modal-mobile-main":"mobile_favourite-modal-mobile-main__3SYyB","favourite-modal-mobile-location-search":"mobile_favourite-modal-mobile-location-search__DNNd-","favourite-modal-mobile-input":"mobile_favourite-modal-mobile-input__Q16OP","favourite-modal-mobile-text":"mobile_favourite-modal-mobile-text__5JRgC","favourite-modal-mobile-save":"mobile_favourite-modal-mobile-save__E-p51","favourite-modal-mobile-button":"mobile_favourite-modal-mobile-button__7aFOZ",disabled:"mobile_disabled__NTpua","sr-only":"mobile_sr-only__24tpU"};S(".mobile_favourite-modal-mobile-container__rahUH {\n display: flex;\n flex-direction: column; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c {\n display: flex;\n flex-direction: row;\n width: 100%;\n border-bottom: 1px solid #ddd;\n margin-bottom: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c .mobile_favourite-modal-mobile-header__XR22e {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: inherit;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.6px;\n text-align: center;\n color: #333333;\n margin-bottom: 37px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB {\n text-align: left;\n margin-bottom: 28px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-location-search__DNNd- {\n margin-bottom: 9px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n border-radius: 5px;\n border: solid 1px #888888;\n background-color: #ffffff;\n padding-left: 20px;\n font-size: 16px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333333;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0px 0px 2px 1px var(--hover-color);\n -webkit-appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP::placeholder {\n color: #666666;\n font-size: 15px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-text__5JRgC {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333333;\n margin-bottom: 18px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 {\n width: 100%;\n margin-top: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n color: #fff;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:active, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:focus, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua {\n background: #bbb; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua:active {\n background: #bbb; }\n\n.mobile_sr-only__24tpU:not(:focus):not(:active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");var D=function(e){var t=e.headerText,o=e.autosuggestComponent,a=e.inputPlaceholder,n=e.specifyName,i=e.name,r=e.chooseIconText,l=e.favouriteIconTable,d=e.saveFavourite,s=e.saveText,c=e.canSave,f=e.color,p=e.hoverColor,m=e.savePlaceText,_=e.cantSaveText,v=e.requiredText,b=e.fontWeights;return u.default.createElement("div",{className:L["favourite-modal-mobile-container"],style:{"--color":"".concat(f),"--hover-color":"".concat(p),"--font-weight-medium":b.medium}},u.default.createElement("div",{className:L["favourite-modal-mobile-top"]},u.default.createElement("div",{className:L["favourite-modal-mobile-header"]},t)),u.default.createElement("div",{className:L["favourite-modal-mobile-main"]},u.default.createElement("div",{className:L["favourite-modal-mobile-location-search"]},o),u.default.createElement("input",{className:L["favourite-modal-mobile-input"],value:i||"",placeholder:a,onChange:n})),u.default.createElement("div",{className:L["favourite-modal-mobile-text"]},r,u.default.createElement("p",{className:L["sr-only"]},v)),u.default.createElement("div",{className:L["favourite-modal-mobile-icons"]},l),u.default.createElement("div",{className:L["favourite-modal-mobile-save"]},u.default.createElement("button",{type:"button",className:"".concat(L["favourite-modal-mobile-button"]," ").concat(c()?"":L.disabled),onClick:d,"aria-label":"".concat(c()?m:_)},s)))};function V(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var o,a=R(e);if(t){var n=R(this).constructor;o=Reflect.construct(a,arguments,n)}else o=a.apply(this,arguments);return x(this,o)}}"production"!==process.env.NODE_ENV&&(D.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),p.default.init({lng:"fi",fallbackLng:"fi",defaultNS:"translation",interpolation:{escapeValue:!1}}),Object.keys(I).forEach((function(e){p.default.addResourceBundle(e,"translation",I[e])}));var Z={"icon-icon_place":"place","icon-icon_home":"home","icon-icon_work":"work","icon-icon_sport":"sport","icon-icon_school":"school","icon-icon_shopping":"shopping"},W=function(e){var o=e.value,a=e.selectedIconId,n=e.handleClick,i=e.color,r=w(t.useState(!1),2),l=r[0],d=r[1],s=w(t.useState(!1),2),c=s[0],m=s[1],_=o===Z[a]||l||c?"#ffffff":i;return u.default.createElement("button",{type:"button",className:f.default(q["favourite-icon-table-column"],q[o],o===Z[a]&&q["selected-icon"]),onMouseEnter:function(){return d(!0)},onMouseLeave:function(){return d(!1)},onFocus:function(){return m(!0)},onBlur:function(){return m(!1)},onClick:function(){return n(o)},"aria-label":p.default.t(o)},u.default.createElement(b.default,{img:o,color:_}))};"production"!==process.env.NODE_ENV&&(W.propTypes={handleClick:c.default.func.isRequired,value:c.default.string,selectedIconId:c.default.string,color:c.default.string.isRequired});var X=function(e){var t=e.favouriteIconIds,o=e.selectedIconId,a=e.handleClick,n=e.color,i=t.map((function(e){return u.default.createElement(W,{key:"favourite-icon-table-".concat(e),value:e,selectedIconId:o,handleClick:a,color:n})}));return u.default.createElement("div",{className:q["generic-table"]},u.default.createElement("div",{className:q.row},i))};"production"!==process.env.NODE_ENV&&(X.propTypes={handleClick:c.default.func.isRequired,favouriteIconIds:c.default.array,selectedIconId:c.default.string,color:c.default.string.isRequired});var Q=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&k(e,t)}(i,e);var t,o,a,n=V(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=n.call(this,e)).componentDidUpdate=function(){p.default.language!==t.props.lang&&p.default.changeLanguage(t.props.lang)},t.componentWillUnmount=function(){t.setState({favourite:null})},t.specifyName=function(e){var o=e.target.value;t.setState((function(e){return{favourite:h({},e.favourite,{name:o})}}))},t.selectIcon=function(e){t.setState((function(t){return{favourite:h({},t.favourite,{selectedIconId:"icon-icon_".concat(e)})}}))},t.isEdit=function(){return t.state.favourite&&void 0!==t.state.favourite.favouriteId},t.canSave=function(){return t.state.favourite&&!m.default(t.state.favourite.selectedIconId)&&_.default(t.state.favourite.lat)&&_.default(t.state.favourite.lon)},t.closeModal=function(){t.props.handleClose(),setTimeout((function(){t.setState({favourite:null})}),250)},t.cancelSelected=function(){t.props.cancelSelected(),setTimeout((function(){t.setState({favourite:null})}),250)},t.save=function(){if(t.canSave()){var e=m.default(t.state.favourite.name)?t.state.favourite.defaultName:t.state.favourite.name,o=h({},t.state.favourite,{name:e});delete o.defaultName,t.props.saveFavourite(h({},o,{type:"place"})),t.props.addAnalyticsEvent&&t.props.addAnalyticsEvent({category:"Favourite",action:"SaveFavourite",name:t.state.favourite.selectedIconId}),t.isEdit()&&t.props.cancelSelected?t.cancelSelected():t.closeModal()}},t.render=function(){var e=t.state.favourite,o=t.props,a=o.color,n=o.hoverColor,r=o.fontWeights,l={headerText:t.isEdit()?p.default.t("edit-place"):p.default.t("save-place"),autosuggestComponent:h({},t.props.autosuggestComponent,{color:a,hoverColor:n}),inputPlaceholder:p.default.t("input-placeholder"),specifyName:t.specifyName,name:e&&e.name||"",chooseIconText:p.default.t("choose-icon"),favouriteIconTable:u.default.createElement(X,{selectedIconId:function(){if(e&&void 0!==e.selectedIconId)return e.selectedIconId}(),favouriteIconIds:i.favouriteIconIds,handleClick:t.selectIcon,color:a}),saveFavourite:t.save,saveText:p.default.t("save"),canSave:t.canSave,isEdit:t.isEdit(),cancelText:p.default.t("cancel"),cancelSelected:function(){return t.cancelSelected()},color:a,hoverColor:n,savePlaceText:p.default.t("save-place"),cantSaveText:p.default.t("cannot-save-place"),requiredText:p.default.t("required-text"),fontWeights:r};return u.default.createElement(v.default,{appElement:t.props.appElement,contentLabel:t.isEdit()?p.default.t("favourite-modal-on-edit",e):p.default.t("favourite-modal-on-add-new"),closeButtonLabel:p.default.t("close-favourite-modal"),variant:t.props.isMobile?"large":"small",isOpen:t.props.isModalOpen,onCrossClick:function(){return t.closeModal()}},!t.props.isMobile&&u.default.createElement(Y,l),t.props.isMobile&&u.default.createElement(D,l))},p.default.changeLanguage(e.lang),t.state={favourite:null},Object.keys(I).forEach((function(e){p.default.addResourceBundle(e,"translation",I[e])})),t}return t=i,o&&g(t.prototype,o),a&&g(t,a),t}(u.default.Component);Q.defaultProps={cancelSelected:function(){return{}},lang:"fi",isMobile:!1,favourite:null,color:"#007ac9",hoverColor:"#0062a1",fontWeights:{medium:500}},Q.favouriteIconIds=["place","home","work","sport","school","shopping"],Q.getDerivedStateFromProps=function(e,t){var o=t.favourite,a=e.favourite;return m.default(a)?{favourite:null}:m.default(o)&&!m.default(a)?{favourite:h({},a)}:m.default(o)||m.default(a)||a.address===o.address&&a.lat===o.lat&&a.lon===o.lon?null:{favourite:h({},o,{address:a.address,lat:a.lat,lon:a.lon,gid:a.gid||null,name:o.name||a.name||"",defaultName:a.defaultName})}},"production"!==process.env.NODE_ENV&&(Q.propTypes={isModalOpen:c.default.bool.isRequired,handleClose:c.default.func.isRequired,saveFavourite:c.default.func.isRequired,cancelSelected:c.default.func,autosuggestComponent:c.default.node,favourite:c.default.shape({type:c.default.string,address:c.default.string,gtfsId:c.default.string,gid:c.default.string,lat:c.default.number,lon:c.default.number,name:c.default.string,selectedIconId:c.default.string,favouriteId:c.default.string,layer:c.default.string,defaultName:c.default.string}),addAnalyticsEvent:c.default.func,lang:c.default.string,isMobile:c.default.bool,appElement:c.default.string.isRequired,color:c.default.string,hoverColor:c.default.string,fontWeights:c.default.shape({medium:c.default.number})}),e.default=Q,Object.defineProperty(e,"__esModule",{value:!0})}));
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZGV2ZWxvcG1lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzLmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NyZWF0ZUNsYXNzLmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3NldFByb3RvdHlwZU9mLmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3R5cGVvZi5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuLmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2Fzc2VydFRoaXNJbml0aWFsaXplZC5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9nZXRQcm90b3R5cGVPZi5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hcnJheUxpa2VUb0FycmF5LmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3NsaWNlZFRvQXJyYXkuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXJyYXlXaXRoSG9sZXMuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vaXRlcmFibGVUb0FycmF5TGltaXQuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vbm9uSXRlcmFibGVSZXN0LmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWluamVjdC9kaXN0L3N0eWxlLWluamVjdC5lcy5qcyIsIi4uL3NyYy9oZWxwZXJzL3RyYW5zbGF0aW9ucy5qcyIsIi4uL3NyYy9oZWxwZXJzL0Rlc2t0b3BNb2RhbC5qcyIsIi4uL3NyYy9oZWxwZXJzL01vYmlsZU1vZGFsLmpzIiwiLi4vc3JjL2luZGV4LmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2luaGVyaXRzLmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NsYXNzQ2FsbENoZWNrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9leHRlbmRzKCkge1xuICBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkge1xuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldO1xuXG4gICAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH07XG5cbiAgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG59IiwiZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTtcbiAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7XG4gICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgIGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHtcbiAgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7XG4gIGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTtcbiAgcmV0dXJuIENvbnN0cnVjdG9yO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7XG4gIF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkge1xuICAgIG8uX19wcm90b19fID0gcDtcbiAgICByZXR1cm4gbztcbiAgfTtcblxuICByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7XG4gIFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjtcblxuICBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHtcbiAgICBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHtcbiAgICAgIHJldHVybiB0eXBlb2Ygb2JqO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7XG4gICAgICByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIF90eXBlb2Yob2JqKTtcbn0iLCJpbXBvcnQgX3R5cGVvZiBmcm9tIFwiLi4vLi4vaGVscGVycy9lc20vdHlwZW9mXCI7XG5pbXBvcnQgYXNzZXJ0VGhpc0luaXRpYWxpemVkIGZyb20gXCIuL2Fzc2VydFRoaXNJbml0aWFsaXplZFwiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkge1xuICBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkge1xuICAgIHJldHVybiBjYWxsO1xuICB9XG5cbiAgcmV0dXJuIGFzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHtcbiAgaWYgKHNlbGYgPT09IHZvaWQgMCkge1xuICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTtcbiAgfVxuXG4gIHJldHVybiBzZWxmO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7XG4gIF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7XG4gICAgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTtcbiAgfTtcbiAgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfYXJyYXlMaWtlVG9BcnJheShhcnIsIGxlbikge1xuICBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDtcblxuICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHtcbiAgICBhcnIyW2ldID0gYXJyW2ldO1xuICB9XG5cbiAgcmV0dXJuIGFycjI7XG59IiwiaW1wb3J0IGFycmF5V2l0aEhvbGVzIGZyb20gXCIuL2FycmF5V2l0aEhvbGVzXCI7XG5pbXBvcnQgaXRlcmFibGVUb0FycmF5TGltaXQgZnJvbSBcIi4vaXRlcmFibGVUb0FycmF5TGltaXRcIjtcbmltcG9ydCB1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSBmcm9tIFwiLi91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheVwiO1xuaW1wb3J0IG5vbkl0ZXJhYmxlUmVzdCBmcm9tIFwiLi9ub25JdGVyYWJsZVJlc3RcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9zbGljZWRUb0FycmF5KGFyciwgaSkge1xuICByZXR1cm4gYXJyYXlXaXRoSG9sZXMoYXJyKSB8fCBpdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHx8IHVuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFyciwgaSkgfHwgbm9uSXRlcmFibGVSZXN0KCk7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHtcbiAgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwidW5kZWZpbmVkXCIgfHwgIShTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGFycikpKSByZXR1cm47XG4gIHZhciBfYXJyID0gW107XG4gIHZhciBfbiA9IHRydWU7XG4gIHZhciBfZCA9IGZhbHNlO1xuICB2YXIgX2UgPSB1bmRlZmluZWQ7XG5cbiAgdHJ5IHtcbiAgICBmb3IgKHZhciBfaSA9IGFycltTeW1ib2wuaXRlcmF0b3JdKCksIF9zOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7XG4gICAgICBfYXJyLnB1c2goX3MudmFsdWUpO1xuXG4gICAgICBpZiAoaSAmJiBfYXJyLmxlbmd0aCA9PT0gaSkgYnJlYWs7XG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBfZCA9IHRydWU7XG4gICAgX2UgPSBlcnI7XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghX24gJiYgX2lbXCJyZXR1cm5cIl0gIT0gbnVsbCkgX2lbXCJyZXR1cm5cIl0oKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKF9kKSB0aHJvdyBfZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gX2Fycjtcbn0iLCJpbXBvcnQgYXJyYXlMaWtlVG9BcnJheSBmcm9tIFwiLi9hcnJheUxpa2VUb0FycmF5XCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkobywgbWluTGVuKSB7XG4gIGlmICghbykgcmV0dXJuO1xuICBpZiAodHlwZW9mIG8gPT09IFwic3RyaW5nXCIpIHJldHVybiBhcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG4gIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTtcbiAgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTtcbiAgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7XG4gIGlmIChuID09PSBcIkFyZ3VtZW50c1wiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9ub25JdGVyYWJsZVJlc3QoKSB7XG4gIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7XG59IiwiZnVuY3Rpb24gc3R5bGVJbmplY3QoY3NzLCByZWYpIHtcbiAgaWYgKCByZWYgPT09IHZvaWQgMCApIHJlZiA9IHt9O1xuICB2YXIgaW5zZXJ0QXQgPSByZWYuaW5zZXJ0QXQ7XG5cbiAgaWYgKCFjc3MgfHwgdHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykgeyByZXR1cm47IH1cblxuICB2YXIgaGVhZCA9IGRvY3VtZW50LmhlYWQgfHwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcbiAgdmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgc3R5bGUudHlwZSA9ICd0ZXh0L2Nzcyc7XG5cbiAgaWYgKGluc2VydEF0ID09PSAndG9wJykge1xuICAgIGlmIChoZWFkLmZpcnN0Q2hpbGQpIHtcbiAgICAgIGhlYWQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBoZWFkLmZpcnN0Q2hpbGQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG4gIH1cblxuICBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzcztcbiAgfSBlbHNlIHtcbiAgICBzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBzdHlsZUluamVjdDtcbiIsImNvbnN0IHRyYW5zbGF0aW9ucyA9IHtcbiAgZGU6IHtcbiAgICBjYW5jZWw6ICdBYmJyZWNoZW4nLFxuICAgICdjaG9vc2UtaWNvbic6ICdXw6RobGVuIFNpZSBlaW4gU3ltYm9sIGbDvHIgZGllc2VuIE9ydCcsXG4gICAgJ2Nsb3NlLWZhdm91cml0ZS1tb2RhbCc6ICdGYXZvcml0ZW4tRGlhbG9nIHNjaGxpZcOfZW4nLFxuICAgICdlZGl0LXBsYWNlJzogJ09ydCBiZWFyYmVpdGVuJyxcbiAgICAnZmF2b3VyaXRlLW1vZGFsLW9uLWFkZC1uZXcnOiAnTmV1ZW4gRmF2b3JpdGVuIGhpbnp1ZsO8Z2VuJyxcbiAgICAnZmF2b3VyaXRlLW1vZGFsLW9uLWVkaXQnOiAnRmF2b3JpdCBiZWFyYmVpdGVuOiB7e2Zhdm91cml0ZS5uYW1lfX0nLFxuICAgICdpbnB1dC1wbGFjZWhvbGRlcic6ICdFaW5lbiBOYW1lbiBmw7xyIE9ydCBzZXR6ZW4gKG9wdGlvbmFsKScsXG4gICAgc2F2ZTogJ1NwZWljaGVybicsXG4gICAgJ3NhdmUtcGxhY2UnOiAnRmF2b3JpdCBzcGVpY2hlcm4nLFxuICB9LFxuICBlbjoge1xuICAgIGNhbmNlbDogJ0NhbmNlbCcsXG4gICAgJ2Nob29zZS1pY29uJzogXCJTZWxlY3QgdGhlIHBsYWNlJ3MgaWNvblwiLFxuICAgICdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnOiAnQ2xvc2UgdGhlIGZhdm91cml0ZSBtb2RhbCcsXG4gICAgJ2VkaXQtcGxhY2UnOiAnRWRpdCBwbGFjZScsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JzogJ0FkZCBhIG5ldyBmYXZvcml0ZScsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JzogJ0VkaXRpbmcgZmF2b3VyaXRlOiB7e2Zhdm91cml0ZS5uYW1lfX0nLFxuICAgICdpbnB1dC1wbGFjZWhvbGRlcic6ICdHaXZlIHRoZSBuYW1lIGEgcGxhY2UgKG9wdGlvbmFsKScsXG4gICAgc2F2ZTogJ1NhdmUnLFxuICAgICdzYXZlLXBsYWNlJzogJ1NhdmUgcGxhY2UnLFxuICAgICdjYW5ub3Qtc2F2ZS1wbGFjZSc6ICdDYW5ub3Qgc2F2ZSBhIHBsYWNlIHdpdGhvdXQgYWRkcmVzcyBvciBpY29uJyxcbiAgICBwbGFjZTogJ2EgcGxhY2UnLFxuICAgIGhvbWU6ICdob21lJyxcbiAgICB3b3JrOiAnd29yaycsXG4gICAgc3BvcnQ6ICdzcG9ydCcsXG4gICAgc2Nob29sOiAnc2Nob29sJyxcbiAgICBzaG9wcGluZzogJ3Nob3BwaW5nJyxcbiAgICAncmVxdWlyZWQtdGV4dCc6ICdyZXF1aXJlZCBmaWVsZCcsXG4gIH0sXG4gIGZpOiB7XG4gICAgY2FuY2VsOiAnUGVydXV0YScsXG4gICAgJ2Nob29zZS1pY29uJzogJ1ZhbGl0c2UgcGFpa2FuIGt1dmFrZScsXG4gICAgJ2Nsb3NlLWZhdm91cml0ZS1tb2RhbCc6ICdTdWxqZSBzdW9zaWtraW1vZGFhbGknLFxuICAgICdlZGl0LXBsYWNlJzogJ011b2trYWEgcGFpa2thYScsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JzogJ0xpc8Okw6QgdXVzaSBzdW9zaWtraScsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JzogJ011b2trYWEgc3Vvc2lra2lhIHt7ZmF2b3VyaXRlLm5hbWV9fScsXG4gICAgJ2lucHV0LXBsYWNlaG9sZGVyJzogJ0FubmEgcGFpa2FsbGUgbmltaSAodmFwYWFlaHRvaW5lbiknLFxuICAgIHNhdmU6ICdUYWxsZW5uYScsXG4gICAgJ3NhdmUtcGxhY2UnOiAnVGFsbGVubmEgcGFpa2thJyxcbiAgICAnY2Fubm90LXNhdmUtcGxhY2UnOlxuICAgICAgJ1BhaWtrYWEgaWxtYW4gb3NvaXRldHRhIHRhaSBpa29uaWEgZWkgdm9pZGEgdGFsbGVudGFhJyxcbiAgICBwbGFjZTogJ3BhaWtrYScsXG4gICAgaG9tZTogJ2tvdGknLFxuICAgIHdvcms6ICd0ecO2JyxcbiAgICBzcG9ydDogJ3VyaGVpbHUnLFxuICAgIHNjaG9vbDogJ2tvdWx1JyxcbiAgICBzaG9wcGluZzogJ29zdG9rc2V0JyxcbiAgICAncmVxdWlyZWQtdGV4dCc6ICdwYWtvbGxpbmVuIGtlbnR0w6QnLFxuICB9LFxuICBzdjoge1xuICAgIGNhbmNlbDogJ0F2YnJ5dCcsXG4gICAgJ2Nob29zZS1pY29uJzogJ1bDpGxqIHBsYXRzZW5zIGlrb24nLFxuICAgICdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnOiAnU3TDpG5nIGZhdm9yaXRtb2RhbGVuJyxcbiAgICAnZWRpdC1wbGFjZSc6ICdSZWRpZ2VyYSBwbGF0cycsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JzogJ0zDpGdnIHRpbGwgbnkgZmF2b3JpdCcsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JzogJ1JlZGlnZXJhIHBsYXRzZW46IHt7ZmF2b3VyaXRlLm5hbWV9fScsXG4gICAgJ2lucHV0LXBsYWNlaG9sZGVyJzogJ0FuZ2UgcGxhdHNlbnMgbmFtbiAoZnJpdmlsbGlndCknLFxuICAgIHNhdmU6ICdTcGFyYScsXG4gICAgJ3NhdmUtcGxhY2UnOiAnU3BhcmEgcGxhdHMnLFxuICAgICdjYW5ub3Qtc2F2ZS1wbGFjZSc6XG4gICAgICAnRGV0IGfDpXIgaW50ZSBhdHQgc3BhcmEgZW4gcGxhdHMgdXRhbiBhZHJlc3MgZWxsZXIgaWtvbicsXG4gICAgcGxhY2U6ICdlbiBwbGF0cycsXG4gICAgaG9tZTogJ2hlbScsXG4gICAgd29yazogJ2FyYmV0ZScsXG4gICAgc3BvcnQ6ICdzcG9ydCcsXG4gICAgc2Nob29sOiAnc2tvbGEnLFxuICAgIHNob3BwaW5nOiAnc2hvcHBhJyxcbiAgICAncmVxdWlyZWQtZmllbGQnOiAnb2JsaWdhdG9yaXNrdCBmw6RsdCcsXG4gIH0sXG59O1xuXG5leHBvcnQgZGVmYXVsdCB0cmFuc2xhdGlvbnM7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBjeCBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9kZXNrdG9wLnNjc3MnO1xuXG5jb25zdCBEZXNrdG9wTW9kYWwgPSAoe1xuICBoZWFkZXJUZXh0LFxuICBhdXRvc3VnZ2VzdENvbXBvbmVudCxcbiAgaW5wdXRQbGFjZWhvbGRlcixcbiAgc3BlY2lmeU5hbWUsXG4gIG5hbWUsXG4gIGNob29zZUljb25UZXh0LFxuICBmYXZvdXJpdGVJY29uVGFibGUsXG4gIHNhdmVGYXZvdXJpdGUsXG4gIHNhdmVUZXh0LFxuICBjYW5TYXZlLFxuICBpc0VkaXQsXG4gIGNhbmNlbFRleHQsXG4gIGNhbmNlbFNlbGVjdGVkLFxuICBjb2xvcixcbiAgaG92ZXJDb2xvcixcbiAgc2F2ZVBsYWNlVGV4dCxcbiAgY2FudFNhdmVUZXh0LFxuICByZXF1aXJlZFRleHQsXG4gIGZvbnRXZWlnaHRzLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1jb250YWluZXInXX1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgICctLWNvbG9yJzogYCR7Y29sb3J9YCxcbiAgICAgICAgJy0taG92ZXItY29sb3InOiBgJHtob3ZlckNvbG9yfWAsXG4gICAgICAgICctLWZvbnQtd2VpZ2h0LW1lZGl1bSc6IGZvbnRXZWlnaHRzLm1lZGl1bSxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtdG9wJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1oZWFkZXInXX0+XG4gICAgICAgICAge2hlYWRlclRleHR9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1tYWluJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1sb2NhdGlvbi1zZWFyY2gnXX0+XG4gICAgICAgICAge2F1dG9zdWdnZXN0Q29tcG9uZW50fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtbmFtZSddfT5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2lucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtaW5wdXQnXX1cbiAgICAgICAgICAgIHZhbHVlPXtuYW1lfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2lucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICBvbkNoYW5nZT17c3BlY2lmeU5hbWV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxmaWVsZHNldCBjbGFzc05hbWU9e3N0eWxlc1snaWNvbnMtY29udGFpbmVyJ119PlxuICAgICAgICA8bGVnZW5kIGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC10ZXh0J119PlxuICAgICAgICAgIHtjaG9vc2VJY29uVGV4dH1cbiAgICAgICAgICA8cCBjbGFzc05hbWU9e3N0eWxlc1snc3Itb25seSddfT57cmVxdWlyZWRUZXh0fTwvcD5cbiAgICAgICAgPC9sZWdlbmQ+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1kZXNrdG9wLWljb25zJ119PlxuICAgICAgICAgIHtmYXZvdXJpdGVJY29uVGFibGV9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9maWVsZHNldD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1kZXNrdG9wLWJ1dHRvbnMnXX0+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgYCR7c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1idXR0b24nXX0gJHtzdHlsZXMuc2F2ZX0gJHtcbiAgICAgICAgICAgICAgY2FuU2F2ZSgpID8gJycgOiBzdHlsZXMuZGlzYWJsZWRcbiAgICAgICAgICAgIH1gLFxuICAgICAgICAgICl9XG4gICAgICAgICAgb25DbGljaz17c2F2ZUZhdm91cml0ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtgJHtjYW5TYXZlKCkgPyBzYXZlUGxhY2VUZXh0IDogY2FudFNhdmVUZXh0fWB9XG4gICAgICAgICAgYXJpYS1kaXNhYmxlZD17IWNhblNhdmUoKX1cbiAgICAgICAgPlxuICAgICAgICAgIHtzYXZlVGV4dH1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIHtpc0VkaXQgJiYgKFxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgYCR7c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1idXR0b24nXX0gJHtzdHlsZXMuZWRpdH0gJHtcbiAgICAgICAgICAgICAgICBjYW5TYXZlKCkgPyAnJyA6IHN0eWxlcy5kaXNhYmxlZFxuICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICBvbkNsaWNrPXtjYW5jZWxTZWxlY3RlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2FuY2VsVGV4dH1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuRGVza3RvcE1vZGFsLnByb3BUeXBlcyA9IHtcbiAgaGVhZGVyVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBhdXRvc3VnZ2VzdENvbXBvbmVudDogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgaW5wdXRQbGFjZWhvbGRlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBzcGVjaWZ5TmFtZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBjaG9vc2VJY29uVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBmYXZvdXJpdGVJY29uVGFibGU6IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIHNhdmVGYXZvdXJpdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHNhdmVUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGNhblNhdmU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGlzRWRpdDogUHJvcFR5cGVzLmJvb2wsXG4gIGNhbmNlbFRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2FuY2VsU2VsZWN0ZWQ6IFByb3BUeXBlcy5mdW5jLFxuICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBob3ZlckNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHNhdmVQbGFjZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2FudFNhdmVUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHJlcXVpcmVkVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBmb250V2VpZ2h0czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBtZWRpdW06IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgfSkuaXNSZXF1aXJlZCxcbn07XG5cbkRlc2t0b3BNb2RhbC5kZWZhdWx0UHJvcHMgPSB7XG4gIGlzRWRpdDogZmFsc2UsXG4gIGNhbmNlbFNlbGVjdGVkOiAoKSA9PiAoe30pLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRGVza3RvcE1vZGFsO1xuIiwiLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY3ggZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vbW9iaWxlLnNjc3MnO1xuXG5jb25zdCBNb2JpbGVNb2RhbCA9ICh7XG4gIGhlYWRlclRleHQsXG4gIGF1dG9zdWdnZXN0Q29tcG9uZW50LFxuICBpbnB1dFBsYWNlaG9sZGVyLFxuICBzcGVjaWZ5TmFtZSxcbiAgbmFtZSxcbiAgY2hvb3NlSWNvblRleHQsXG4gIGZhdm91cml0ZUljb25UYWJsZSxcbiAgc2F2ZUZhdm91cml0ZSxcbiAgc2F2ZVRleHQsXG4gIGNhblNhdmUsXG4gIGNvbG9yLFxuICBob3ZlckNvbG9yLFxuICBzYXZlUGxhY2VUZXh0LFxuICBjYW50U2F2ZVRleHQsXG4gIHJlcXVpcmVkVGV4dCxcbiAgZm9udFdlaWdodHMsXG59KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtY29udGFpbmVyJ119XG4gICAgICBzdHlsZT17e1xuICAgICAgICAnLS1jb2xvcic6IGAke2NvbG9yfWAsXG4gICAgICAgICctLWhvdmVyLWNvbG9yJzogYCR7aG92ZXJDb2xvcn1gLFxuICAgICAgICAnLS1mb250LXdlaWdodC1tZWRpdW0nOiBmb250V2VpZ2h0cy5tZWRpdW0sXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtdG9wJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtbW9iaWxlLWhlYWRlciddfT5cbiAgICAgICAgICB7aGVhZGVyVGV4dH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtbWFpbiddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1sb2NhdGlvbi1zZWFyY2gnXX0+XG4gICAgICAgICAge2F1dG9zdWdnZXN0Q29tcG9uZW50fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtaW5wdXQnXX1cbiAgICAgICAgICB2YWx1ZT17bmFtZSB8fCAnJ31cbiAgICAgICAgICBwbGFjZWhvbGRlcj17aW5wdXRQbGFjZWhvbGRlcn1cbiAgICAgICAgICBvbkNoYW5nZT17c3BlY2lmeU5hbWV9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtdGV4dCddfT5cbiAgICAgICAge2Nob29zZUljb25UZXh0fVxuICAgICAgICA8cCBjbGFzc05hbWU9e3N0eWxlc1snc3Itb25seSddfT57cmVxdWlyZWRUZXh0fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1pY29ucyddfT5cbiAgICAgICAge2Zhdm91cml0ZUljb25UYWJsZX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1zYXZlJ119PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgIGAke3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1idXR0b24nXX0gJHtcbiAgICAgICAgICAgICAgY2FuU2F2ZSgpID8gJycgOiBzdHlsZXMuZGlzYWJsZWRcbiAgICAgICAgICAgIH1gLFxuICAgICAgICAgICl9XG4gICAgICAgICAgb25DbGljaz17c2F2ZUZhdm91cml0ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtgJHtjYW5TYXZlKCkgPyBzYXZlUGxhY2VUZXh0IDogY2FudFNhdmVUZXh0fWB9XG4gICAgICAgID5cbiAgICAgICAgICB7c2F2ZVRleHR9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5Nb2JpbGVNb2RhbC5wcm9wVHlwZXMgPSB7XG4gIGhlYWRlclRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgYXV0b3N1Z2dlc3RDb21wb25lbnQ6IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIGlucHV0UGxhY2Vob2xkZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgc3BlY2lmeU5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2hvb3NlSWNvblRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgZmF2b3VyaXRlSWNvblRhYmxlOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICBzYXZlRmF2b3VyaXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzYXZlVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBjYW5TYXZlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBob3ZlckNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHNhdmVQbGFjZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2FudFNhdmVUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHJlcXVpcmVkVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBmb250V2VpZ2h0czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBtZWRpdW06IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgfSkuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1vYmlsZU1vZGFsO1xuIiwiLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBjeCBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBpMThuZXh0IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IGlzTnVtYmVyIGZyb20gJ2xvZGFzaC9pc051bWJlcic7XG5pbXBvcnQgTW9kYWwgZnJvbSAnQGhzbC1maS9tb2RhbCc7XG5pbXBvcnQgSWNvbiBmcm9tICdAZGlnaXRyYW5zaXQtY29tcG9uZW50L2RpZ2l0cmFuc2l0LWNvbXBvbmVudC1pY29uJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9oZWxwZXJzL3N0eWxlcy5zY3NzJztcbmltcG9ydCB0cmFuc2xhdGlvbnMgZnJvbSAnLi9oZWxwZXJzL3RyYW5zbGF0aW9ucyc7XG5pbXBvcnQgRGVza3RvcE1vZGFsIGZyb20gJy4vaGVscGVycy9EZXNrdG9wTW9kYWwnO1xuaW1wb3J0IE1vYmlsZU1vZGFsIGZyb20gJy4vaGVscGVycy9Nb2JpbGVNb2RhbCc7XG5cbmkxOG5leHQuaW5pdCh7XG4gIGxuZzogJ2ZpJyxcbiAgZmFsbGJhY2tMbmc6ICdmaScsXG4gIGRlZmF1bHROUzogJ3RyYW5zbGF0aW9uJyxcbiAgaW50ZXJwb2xhdGlvbjoge1xuICAgIGVzY2FwZVZhbHVlOiBmYWxzZSwgLy8gbm90IG5lZWRlZCBmb3IgcmVhY3QgYXMgaXQgZXNjYXBlcyBieSBkZWZhdWx0XG4gIH0sXG59KTtcblxuT2JqZWN0LmtleXModHJhbnNsYXRpb25zKS5mb3JFYWNoKGxhbmcgPT4ge1xuICBpMThuZXh0LmFkZFJlc291cmNlQnVuZGxlKGxhbmcsICd0cmFuc2xhdGlvbicsIHRyYW5zbGF0aW9uc1tsYW5nXSk7XG59KTtcblxuY29uc3QgRmF2b3VyaXRlSWNvbklkVG9OYW1lTWFwID0ge1xuICAnaWNvbi1pY29uX3BsYWNlJzogJ3BsYWNlJyxcbiAgJ2ljb24taWNvbl9ob21lJzogJ2hvbWUnLFxuICAnaWNvbi1pY29uX3dvcmsnOiAnd29yaycsXG4gICdpY29uLWljb25fc3BvcnQnOiAnc3BvcnQnLFxuICAnaWNvbi1pY29uX3NjaG9vbCc6ICdzY2hvb2wnLFxuICAnaWNvbi1pY29uX3Nob3BwaW5nJzogJ3Nob3BwaW5nJyxcbn07XG5cbmNvbnN0IEZhdm91cml0ZUljb25UYWJsZUJ1dHRvbiA9ICh7XG4gIHZhbHVlLFxuICBzZWxlY3RlZEljb25JZCxcbiAgaGFuZGxlQ2xpY2ssXG4gIGNvbG9yLFxufSkgPT4ge1xuICBjb25zdCBbaXNIb3ZlcmVkLCBzZXRIb3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc0ZvY3VzZWQsIHNldEZvY3VzXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgaWNvbkNvbG9yID1cbiAgICB2YWx1ZSA9PT0gRmF2b3VyaXRlSWNvbklkVG9OYW1lTWFwW3NlbGVjdGVkSWNvbklkXSB8fCBpc0hvdmVyZWQgfHwgaXNGb2N1c2VkXG4gICAgICA/ICcjZmZmZmZmJ1xuICAgICAgOiBjb2xvcjtcbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzTmFtZT17Y3goc3R5bGVzWydmYXZvdXJpdGUtaWNvbi10YWJsZS1jb2x1bW4nXSwgc3R5bGVzW3ZhbHVlXSwge1xuICAgICAgICBbc3R5bGVzWydzZWxlY3RlZC1pY29uJ11dOlxuICAgICAgICAgIHZhbHVlID09PSBGYXZvdXJpdGVJY29uSWRUb05hbWVNYXBbc2VsZWN0ZWRJY29uSWRdLFxuICAgICAgfSl9XG4gICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHNldEhvdmVyKHRydWUpfVxuICAgICAgb25Nb3VzZUxlYXZlPXsoKSA9PiBzZXRIb3ZlcihmYWxzZSl9XG4gICAgICBvbkZvY3VzPXsoKSA9PiBzZXRGb2N1cyh0cnVlKX1cbiAgICAgIG9uQmx1cj17KCkgPT4gc2V0Rm9jdXMoZmFsc2UpfVxuICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQ2xpY2sodmFsdWUpfVxuICAgICAgYXJpYS1sYWJlbD17aTE4bmV4dC50KHZhbHVlKX1cbiAgICA+XG4gICAgICA8SWNvbiBpbWc9e3ZhbHVlfSBjb2xvcj17aWNvbkNvbG9yfSAvPlxuICAgIDwvYnV0dG9uPlxuICApO1xufTtcblxuRmF2b3VyaXRlSWNvblRhYmxlQnV0dG9uLnByb3BUeXBlcyA9IHtcbiAgaGFuZGxlQ2xpY2s6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBzZWxlY3RlZEljb25JZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgY29sb3I6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbn07XG5cbmNvbnN0IEZhdm91cml0ZUljb25UYWJsZSA9ICh7XG4gIGZhdm91cml0ZUljb25JZHMsXG4gIHNlbGVjdGVkSWNvbklkLFxuICBoYW5kbGVDbGljayxcbiAgY29sb3IsXG59KSA9PiB7XG4gIGNvbnN0IGNvbHVtbnMgPSBmYXZvdXJpdGVJY29uSWRzLm1hcCh2YWx1ZSA9PiAoXG4gICAgPEZhdm91cml0ZUljb25UYWJsZUJ1dHRvblxuICAgICAga2V5PXtgZmF2b3VyaXRlLWljb24tdGFibGUtJHt2YWx1ZX1gfVxuICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgc2VsZWN0ZWRJY29uSWQ9e3NlbGVjdGVkSWNvbklkfVxuICAgICAgaGFuZGxlQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgICAgY29sb3I9e2NvbG9yfVxuICAgIC8+XG4gICkpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZ2VuZXJpYy10YWJsZSddfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMucm93fT57Y29sdW1uc308L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkZhdm91cml0ZUljb25UYWJsZS5wcm9wVHlwZXMgPSB7XG4gIGhhbmRsZUNsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBmYXZvdXJpdGVJY29uSWRzOiBQcm9wVHlwZXMuYXJyYXksXG4gIHNlbGVjdGVkSWNvbklkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxufTtcblxuLyoqXG4gKiBAZXhhbXBsZVxuICogPEZhdm91cml0ZU1vZGFsXG4gKiAgIHNob3c9e21vZGFsT3Blbn1cbiAqICAgaGFuZGxlQ2xvc2U9e2hhbmRsZUNsb3NlfVxuICogICBzYXZlRmF2b3VyaXRlPXtvblNhdmVGYXZvdXJpdGV9XG4gKiAgIGxvY2F0aW9uPXtzZWxlY3RlZExvY2F0aW9ufVxuICogICBmYXZvdXJpdGU9e2Zhdm91cml0ZX1cbiAqICAgbGFuZz17bGFuZ31cbiAqICAgYXV0b3N1Z2dlc3RDb21wb25lbnQ9e1xuICogICAgIDxBdXRvU3VnZ2VzdFxuICogICAgICAgc291cmNlcz17WydIaXN0b3J5JywgJ0RhdGFzb3VyY2UnXX1cbiAqICAgICAgIHRhcmdldHM9e1snTG9jYXRpb25zJywgJ0N1cnJlbnRQb3NpdGlvbiddfVxuICogICAgICAgaWQ9XCJmYXZvdXJpdGVcIlxuICogICAgICAgYXV0b0ZvY3VzPXtmYWxzZX1cbiAqICAgICAgIHBsYWNlaG9sZGVyPVwic2VhcmNoLWFkZHJlc3Mtb3ItcGxhY2VcIlxuICogICAgICAgdmFsdWU9e3NlbGVjdGVkTG9jYXRpb24uYWRkcmVzcyB8fCAnJ31cbiAqICAgICAgIG9uRmF2b3VyaXRlU2VsZWN0ZWQ9e3RoaXMuc2V0TG9jYXRpb25Qcm9wZXJ0aWVzfVxuICogICAgICAgbGFuZz17bGFuZ31cbiAqICAgICAvPlxuICogICB9XG4gKiAvPlxuICovXG5jbGFzcyBGYXZvdXJpdGVNb2RhbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNNb2RhbE9wZW46IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgLyoqIFJlcXVpcmVkLlxuICAgICAqIEB0eXBle2Z1bmN0aW9ufSAqL1xuICAgIGhhbmRsZUNsb3NlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIC8qKiBSZXF1aXJlZC5cbiAgICAgKiBAdHlwZXtmdW5jdGlvbn0gKi9cbiAgICBzYXZlRmF2b3VyaXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIC8qKiBSZXF1aXJlZC4gT25seSB1c2VkIHdoZW4gZWRpdGluZyBmYXZvdXJpdGUuXG4gICAgICogQHR5cGV7ZnVuY3Rpb259ICovXG4gICAgY2FuY2VsU2VsZWN0ZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIC8qKiBPcHRpb25hbC5cbiAgICAgKiBBdXRvc3VnZ2VzdCBjb21wb25lbnQgZm9yIHNlYXJjaGluZyBuZXcgZmF2b3VyaXRlcy5cbiAgICAgKiBAdHlwZXtub2RlfVxuICAgICAqL1xuICAgIGF1dG9zdWdnZXN0Q29tcG9uZW50OiBQcm9wVHlwZXMubm9kZSxcbiAgICAvKiogT3B0aW9uYWwuXG4gICAgICogT2JqZWN0IHRvIHByZWZpbGwgaW5wdXQgZmllbGQgZm9yIG5hbWUgYW5kL29yIHNlbGVjdGVkIGljb24uXG4gICAgICogQHR5cGUge29iamVjdH1cbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gdHlwZVxuICAgICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBhZGRyZXNzXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IGd0ZnNJZFxuICAgICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBnaWRcbiAgICAgKiBAcHJvcGVydHkge251bWJlcn0gbGF0XG4gICAgICogQHByb3BlcnR5IHtudW1iZXJ9IGxvblxuICAgICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IHNlbGVjdGVkSWNvbklkXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IGZhdm91cml0ZUlkXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IGxheWVyXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IGRlZmF1bHROYW1lXG4gICAgICovXG4gICAgZmF2b3VyaXRlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGFkZHJlc3M6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBndGZzSWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBnaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBsYXQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICBsb246IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgc2VsZWN0ZWRJY29uSWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBmYXZvdXJpdGVJZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGxheWVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgZGVmYXVsdE5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgLyoqIE9wdGlvbmFsLlxuICAgICAqIEB0eXBlIHtmdW5jdGlvbn0gKi9cbiAgICBhZGRBbmFseXRpY3NFdmVudDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgLyoqIE9wdGlvbmFsLiBMYW5ndWFnZSwgZmksIGVuIG9yIHN2LlxuICAgICAqIEB0eXBlIHtzdHJpbmd9ICovXG4gICAgbGFuZzogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAvKiogT3B0aW9uYWwuICovXG4gICAgaXNNb2JpbGU6IFByb3BUeXBlcy5ib29sLFxuICAgIGFwcEVsZW1lbnQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBob3ZlckNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIC8qKiBPcHRpb25hbC4gKi9cbiAgICBmb250V2VpZ2h0czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIC8qKiBEZWZhdWx0IHZhbHVlIGlzIDUwMC4gKi9cbiAgICAgIG1lZGl1bTogUHJvcFR5cGVzLm51bWJlcixcbiAgICB9KSxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGNhbmNlbFNlbGVjdGVkOiAoKSA9PiAoe30pLFxuICAgIGxhbmc6ICdmaScsXG4gICAgaXNNb2JpbGU6IGZhbHNlLFxuICAgIGZhdm91cml0ZTogbnVsbCxcbiAgICBjb2xvcjogJyMwMDdhYzknLFxuICAgIGhvdmVyQ29sb3I6ICcjMDA2MmExJyxcbiAgICBmb250V2VpZ2h0czoge1xuICAgICAgbWVkaXVtOiA1MDAsXG4gICAgfSxcbiAgfTtcblxuICBzdGF0aWMgZmF2b3VyaXRlSWNvbklkcyA9IFtcbiAgICAncGxhY2UnLFxuICAgICdob21lJyxcbiAgICAnd29yaycsXG4gICAgJ3Nwb3J0JyxcbiAgICAnc2Nob29sJyxcbiAgICAnc2hvcHBpbmcnLFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIGkxOG5leHQuY2hhbmdlTGFuZ3VhZ2UocHJvcHMubGFuZyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGZhdm91cml0ZTogbnVsbCxcbiAgICB9O1xuICAgIE9iamVjdC5rZXlzKHRyYW5zbGF0aW9ucykuZm9yRWFjaChsYW5nID0+IHtcbiAgICAgIGkxOG5leHQuYWRkUmVzb3VyY2VCdW5kbGUobGFuZywgJ3RyYW5zbGF0aW9uJywgdHJhbnNsYXRpb25zW2xhbmddKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPSAobmV4dFByb3BzLCBwcmV2U3RhdGUpID0+IHtcbiAgICBjb25zdCBwcmV2RmF2ID0gcHJldlN0YXRlLmZhdm91cml0ZTtcbiAgICBjb25zdCBuZXh0RmF2ID0gbmV4dFByb3BzLmZhdm91cml0ZTtcblxuICAgIGlmIChpc0VtcHR5KG5leHRGYXYpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmYXZvdXJpdGU6IG51bGwsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChpc0VtcHR5KHByZXZGYXYpICYmICFpc0VtcHR5KG5leHRGYXYpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmYXZvdXJpdGU6IHtcbiAgICAgICAgICAuLi5uZXh0RmF2LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgIWlzRW1wdHkocHJldkZhdikgJiZcbiAgICAgICFpc0VtcHR5KG5leHRGYXYpICYmXG4gICAgICAobmV4dEZhdi5hZGRyZXNzICE9PSBwcmV2RmF2LmFkZHJlc3MgfHxcbiAgICAgICAgbmV4dEZhdi5sYXQgIT09IHByZXZGYXYubGF0IHx8XG4gICAgICAgIG5leHRGYXYubG9uICE9PSBwcmV2RmF2LmxvbilcbiAgICApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZhdm91cml0ZToge1xuICAgICAgICAgIC4uLnByZXZGYXYsXG4gICAgICAgICAgYWRkcmVzczogbmV4dEZhdi5hZGRyZXNzLFxuICAgICAgICAgIGxhdDogbmV4dEZhdi5sYXQsXG4gICAgICAgICAgbG9uOiBuZXh0RmF2LmxvbixcbiAgICAgICAgICBnaWQ6IG5leHRGYXYuZ2lkIHx8IG51bGwsXG4gICAgICAgICAgbmFtZTogcHJldkZhdi5uYW1lIHx8IG5leHRGYXYubmFtZSB8fCAnJyxcbiAgICAgICAgICBkZWZhdWx0TmFtZTogbmV4dEZhdi5kZWZhdWx0TmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIGNvbXBvbmVudERpZFVwZGF0ZSA9ICgpID0+IHtcbiAgICBpZiAoaTE4bmV4dC5sYW5ndWFnZSAhPT0gdGhpcy5wcm9wcy5sYW5nKSB7XG4gICAgICBpMThuZXh0LmNoYW5nZUxhbmd1YWdlKHRoaXMucHJvcHMubGFuZyk7XG4gICAgfVxuICB9O1xuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50ID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBmYXZvdXJpdGU6IG51bGwgfSk7XG4gIH07XG5cbiAgc3BlY2lmeU5hbWUgPSBldmVudCA9PiB7XG4gICAgY29uc3QgbmFtZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHByZXZTdGF0ZSA9PiAoe1xuICAgICAgZmF2b3VyaXRlOiB7IC4uLnByZXZTdGF0ZS5mYXZvdXJpdGUsIG5hbWUgfSxcbiAgICB9KSk7XG4gIH07XG5cbiAgc2VsZWN0SWNvbiA9IGlkID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHByZXZTdGF0ZSA9PiAoe1xuICAgICAgZmF2b3VyaXRlOiB7XG4gICAgICAgIC4uLnByZXZTdGF0ZS5mYXZvdXJpdGUsXG4gICAgICAgIHNlbGVjdGVkSWNvbklkOiBgaWNvbi1pY29uXyR7aWR9YCxcbiAgICAgIH0sXG4gICAgfSkpO1xuICB9O1xuXG4gIGlzRWRpdCA9ICgpID0+XG4gICAgdGhpcy5zdGF0ZS5mYXZvdXJpdGUgJiYgdGhpcy5zdGF0ZS5mYXZvdXJpdGUuZmF2b3VyaXRlSWQgIT09IHVuZGVmaW5lZDtcblxuICBjYW5TYXZlID0gKCkgPT5cbiAgICB0aGlzLnN0YXRlLmZhdm91cml0ZSAmJlxuICAgICFpc0VtcHR5KHRoaXMuc3RhdGUuZmF2b3VyaXRlLnNlbGVjdGVkSWNvbklkKSAmJlxuICAgIGlzTnVtYmVyKHRoaXMuc3RhdGUuZmF2b3VyaXRlLmxhdCkgJiZcbiAgICBpc051bWJlcih0aGlzLnN0YXRlLmZhdm91cml0ZS5sb24pO1xuXG4gIGNsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgdGhpcy5wcm9wcy5oYW5kbGVDbG9zZSgpO1xuICAgIC8vIGhzbC1maS9tb2RhbCBjbG9zZSBhbmltYXRpb24gbGFzdHMgMjUwbXNcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBmYXZvdXJpdGU6IG51bGwgfSk7XG4gICAgfSwgMjUwKTtcbiAgfTtcblxuICBjYW5jZWxTZWxlY3RlZCA9ICgpID0+IHtcbiAgICB0aGlzLnByb3BzLmNhbmNlbFNlbGVjdGVkKCk7XG4gICAgLy8gaHNsLWZpL21vZGFsIGNsb3NlIGFuaW1hdGlvbiBsYXN0cyAyNTBtc1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGZhdm91cml0ZTogbnVsbCB9KTtcbiAgICB9LCAyNTApO1xuICB9O1xuXG4gIHNhdmUgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuY2FuU2F2ZSgpKSB7XG4gICAgICBjb25zdCBuYW1lID0gaXNFbXB0eSh0aGlzLnN0YXRlLmZhdm91cml0ZS5uYW1lKVxuICAgICAgICA/IHRoaXMuc3RhdGUuZmF2b3VyaXRlLmRlZmF1bHROYW1lXG4gICAgICAgIDogdGhpcy5zdGF0ZS5mYXZvdXJpdGUubmFtZTtcblxuICAgICAgY29uc3QgZmF2b3VyaXRlID0geyAuLi50aGlzLnN0YXRlLmZhdm91cml0ZSwgbmFtZSB9O1xuICAgICAgZGVsZXRlIGZhdm91cml0ZS5kZWZhdWx0TmFtZTtcbiAgICAgIHRoaXMucHJvcHMuc2F2ZUZhdm91cml0ZSh7IC4uLmZhdm91cml0ZSwgdHlwZTogJ3BsYWNlJyB9KTtcbiAgICAgIGlmICh0aGlzLnByb3BzLmFkZEFuYWx5dGljc0V2ZW50KSB7XG4gICAgICAgIHRoaXMucHJvcHMuYWRkQW5hbHl0aWNzRXZlbnQoe1xuICAgICAgICAgIGNhdGVnb3J5OiAnRmF2b3VyaXRlJyxcbiAgICAgICAgICBhY3Rpb246ICdTYXZlRmF2b3VyaXRlJyxcbiAgICAgICAgICBuYW1lOiB0aGlzLnN0YXRlLmZhdm91cml0ZS5zZWxlY3RlZEljb25JZCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc0VkaXQoKSAmJiB0aGlzLnByb3BzLmNhbmNlbFNlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuY2FuY2VsU2VsZWN0ZWQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICByZW5kZXIgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBmYXZvdXJpdGUgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBjb2xvciwgaG92ZXJDb2xvciwgZm9udFdlaWdodHMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgaGVhZGVyVGV4dCA9IHRoaXMuaXNFZGl0KClcbiAgICAgID8gaTE4bmV4dC50KCdlZGl0LXBsYWNlJylcbiAgICAgIDogaTE4bmV4dC50KCdzYXZlLXBsYWNlJyk7XG4gICAgY29uc3QgbW9kYWxQcm9wcyA9IHtcbiAgICAgIGhlYWRlclRleHQsXG4gICAgICBhdXRvc3VnZ2VzdENvbXBvbmVudDoge1xuICAgICAgICAuLi50aGlzLnByb3BzLmF1dG9zdWdnZXN0Q29tcG9uZW50LFxuICAgICAgICBjb2xvcixcbiAgICAgICAgaG92ZXJDb2xvcixcbiAgICAgIH0sXG4gICAgICBpbnB1dFBsYWNlaG9sZGVyOiBpMThuZXh0LnQoJ2lucHV0LXBsYWNlaG9sZGVyJyksXG4gICAgICBzcGVjaWZ5TmFtZTogdGhpcy5zcGVjaWZ5TmFtZSxcbiAgICAgIG5hbWU6IChmYXZvdXJpdGUgJiYgZmF2b3VyaXRlLm5hbWUpIHx8ICcnLFxuICAgICAgY2hvb3NlSWNvblRleHQ6IGkxOG5leHQudCgnY2hvb3NlLWljb24nKSxcbiAgICAgIGZhdm91cml0ZUljb25UYWJsZTogKFxuICAgICAgICA8RmF2b3VyaXRlSWNvblRhYmxlXG4gICAgICAgICAgc2VsZWN0ZWRJY29uSWQ9eygoKSA9PiB7XG4gICAgICAgICAgICBpZiAoKGZhdm91cml0ZSAmJiBmYXZvdXJpdGUuc2VsZWN0ZWRJY29uSWQgIT09IHVuZGVmaW5lZCkgfHwgbnVsbCkge1xuICAgICAgICAgICAgICByZXR1cm4gZmF2b3VyaXRlLnNlbGVjdGVkSWNvbklkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICB9KSgpfVxuICAgICAgICAgIGZhdm91cml0ZUljb25JZHM9e0Zhdm91cml0ZU1vZGFsLmZhdm91cml0ZUljb25JZHN9XG4gICAgICAgICAgaGFuZGxlQ2xpY2s9e3RoaXMuc2VsZWN0SWNvbn1cbiAgICAgICAgICBjb2xvcj17Y29sb3J9XG4gICAgICAgIC8+XG4gICAgICApLFxuICAgICAgc2F2ZUZhdm91cml0ZTogdGhpcy5zYXZlLFxuICAgICAgc2F2ZVRleHQ6IGkxOG5leHQudCgnc2F2ZScpLFxuICAgICAgY2FuU2F2ZTogdGhpcy5jYW5TYXZlLFxuICAgICAgaXNFZGl0OiB0aGlzLmlzRWRpdCgpLFxuICAgICAgY2FuY2VsVGV4dDogaTE4bmV4dC50KCdjYW5jZWwnKSxcbiAgICAgIGNhbmNlbFNlbGVjdGVkOiAoKSA9PiB0aGlzLmNhbmNlbFNlbGVjdGVkKCksXG4gICAgICBjb2xvcixcbiAgICAgIGhvdmVyQ29sb3IsXG4gICAgICBzYXZlUGxhY2VUZXh0OiBpMThuZXh0LnQoJ3NhdmUtcGxhY2UnKSxcbiAgICAgIGNhbnRTYXZlVGV4dDogaTE4bmV4dC50KCdjYW5ub3Qtc2F2ZS1wbGFjZScpLFxuICAgICAgcmVxdWlyZWRUZXh0OiBpMThuZXh0LnQoJ3JlcXVpcmVkLXRleHQnKSxcbiAgICAgIGZvbnRXZWlnaHRzLFxuICAgIH07XG4gICAgcmV0dXJuIChcbiAgICAgIDxNb2RhbFxuICAgICAgICBhcHBFbGVtZW50PXt0aGlzLnByb3BzLmFwcEVsZW1lbnR9XG4gICAgICAgIGNvbnRlbnRMYWJlbD17XG4gICAgICAgICAgdGhpcy5pc0VkaXQoKVxuICAgICAgICAgICAgPyBpMThuZXh0LnQoJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JywgZmF2b3VyaXRlKVxuICAgICAgICAgICAgOiBpMThuZXh0LnQoJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JylcbiAgICAgICAgfVxuICAgICAgICBjbG9zZUJ1dHRvbkxhYmVsPXtpMThuZXh0LnQoJ2Nsb3NlLWZhdm91cml0ZS1tb2RhbCcpfVxuICAgICAgICB2YXJpYW50PXshdGhpcy5wcm9wcy5pc01vYmlsZSA/ICdzbWFsbCcgOiAnbGFyZ2UnfVxuICAgICAgICBpc09wZW49e3RoaXMucHJvcHMuaXNNb2RhbE9wZW59XG4gICAgICAgIG9uQ3Jvc3NDbGljaz17KCkgPT4gdGhpcy5jbG9zZU1vZGFsKCl9XG4gICAgICA+XG4gICAgICAgIHshdGhpcy5wcm9wcy5pc01vYmlsZSAmJiA8RGVza3RvcE1vZGFsIHsuLi5tb2RhbFByb3BzfSAvPn1cbiAgICAgICAge3RoaXMucHJvcHMuaXNNb2JpbGUgJiYgPE1vYmlsZU1vZGFsIHsuLi5tb2RhbFByb3BzfSAvPn1cbiAgICAgIDwvTW9kYWw+XG4gICAgKTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRmF2b3VyaXRlTW9kYWw7XG4iLCJpbXBvcnQgc2V0UHJvdG90eXBlT2YgZnJvbSBcIi4vc2V0UHJvdG90eXBlT2ZcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykge1xuICBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpO1xuICB9XG5cbiAgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7XG4gICAgY29uc3RydWN0b3I6IHtcbiAgICAgIHZhbHVlOiBzdWJDbGFzcyxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfVxuICB9KTtcbiAgaWYgKHN1cGVyQ2xhc3MpIHNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7XG4gIGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTtcbiAgfVxufSJdLCJuYW1lcyI6WyJfZXh0ZW5kcyIsIk9iamVjdCIsImFzc2lnbiIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJhcHBseSIsInRoaXMiLCJfZGVmaW5lUHJvcGVydGllcyIsInByb3BzIiwiZGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImRlZmluZVByb3BlcnR5IiwiX3NldFByb3RvdHlwZU9mIiwibyIsInAiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJvYmoiLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJzZWxmIiwiUmVmZXJlbmNlRXJyb3IiLCJhc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJfZ2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsIl9hcnJheUxpa2VUb0FycmF5IiwiYXJyIiwibGVuIiwiYXJyMiIsIkFycmF5IiwiX3NsaWNlZFRvQXJyYXkiLCJpc0FycmF5IiwiYXJyYXlXaXRoSG9sZXMiLCJfYXJyIiwiX24iLCJfZCIsIl9lIiwidW5kZWZpbmVkIiwiX3MiLCJfaSIsIm5leHQiLCJkb25lIiwicHVzaCIsInZhbHVlIiwiZXJyIiwiaXRlcmFibGVUb0FycmF5TGltaXQiLCJtaW5MZW4iLCJhcnJheUxpa2VUb0FycmF5IiwibiIsInRvU3RyaW5nIiwic2xpY2UiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJ1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIlR5cGVFcnJvciIsIm5vbkl0ZXJhYmxlUmVzdCIsInN0eWxlSW5qZWN0IiwiY3NzIiwicmVmIiwiaW5zZXJ0QXQiLCJkb2N1bWVudCIsImhlYWQiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsInN0eWxlIiwiY3JlYXRlRWxlbWVudCIsInR5cGUiLCJmaXJzdENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwiYXBwZW5kQ2hpbGQiLCJzdHlsZVNoZWV0IiwiY3NzVGV4dCIsImNyZWF0ZVRleHROb2RlIiwidHJhbnNsYXRpb25zIiwiZGUiLCJjYW5jZWwiLCJzYXZlIiwiZW4iLCJwbGFjZSIsImhvbWUiLCJ3b3JrIiwic3BvcnQiLCJzY2hvb2wiLCJzaG9wcGluZyIsImZpIiwic3YiLCJEZXNrdG9wTW9kYWwiLCJoZWFkZXJUZXh0IiwiYXV0b3N1Z2dlc3RDb21wb25lbnQiLCJpbnB1dFBsYWNlaG9sZGVyIiwic3BlY2lmeU5hbWUiLCJjaG9vc2VJY29uVGV4dCIsImZhdm91cml0ZUljb25UYWJsZSIsInNhdmVGYXZvdXJpdGUiLCJzYXZlVGV4dCIsImNhblNhdmUiLCJpc0VkaXQiLCJjYW5jZWxUZXh0IiwiY2FuY2VsU2VsZWN0ZWQiLCJjb2xvciIsImhvdmVyQ29sb3IiLCJzYXZlUGxhY2VUZXh0IiwiY2FudFNhdmVUZXh0IiwicmVxdWlyZWRUZXh0IiwiZm9udFdlaWdodHMiLCJSZWFjdCIsImNsYXNzTmFtZSIsInN0eWxlcyIsIm1lZGl1bSIsInBsYWNlaG9sZGVyIiwib25DaGFuZ2UiLCJvbkNsaWNrIiwicHJvY2VzcyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJub2RlIiwiZnVuYyIsImJvb2wiLCJzaGFwZSIsIm51bWJlciIsImRlZmF1bHRQcm9wcyIsIk1vYmlsZU1vZGFsIiwiZGlzYWJsZWQiLCJpbml0IiwibG5nIiwiZmFsbGJhY2tMbmciLCJkZWZhdWx0TlMiLCJpbnRlcnBvbGF0aW9uIiwiZXNjYXBlVmFsdWUiLCJrZXlzIiwiZm9yRWFjaCIsImxhbmciLCJpMThuZXh0IiwiYWRkUmVzb3VyY2VCdW5kbGUiLCJGYXZvdXJpdGVJY29uSWRUb05hbWVNYXAiLCJGYXZvdXJpdGVJY29uVGFibGVCdXR0b24iLCJzZWxlY3RlZEljb25JZCIsImhhbmRsZUNsaWNrIiwidXNlU3RhdGUiLCJpc0hvdmVyZWQiLCJzZXRIb3ZlciIsImlzRm9jdXNlZCIsInNldEZvY3VzIiwiaWNvbkNvbG9yIiwiY3giLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlTGVhdmUiLCJvbkZvY3VzIiwib25CbHVyIiwidCIsIkljb24iLCJpbWciLCJGYXZvdXJpdGVJY29uVGFibGUiLCJmYXZvdXJpdGVJY29uSWRzIiwiY29sdW1ucyIsIm1hcCIsInJvdyIsImFycmF5IiwiRmF2b3VyaXRlTW9kYWwiLCJzdWJDbGFzcyIsInN1cGVyQ2xhc3MiLCJjcmVhdGUiLCJDb25zdHJ1Y3RvciIsInByb3RvUHJvcHMiLCJzdGF0aWNQcm9wcyIsImluc3RhbmNlIiwiY29tcG9uZW50RGlkVXBkYXRlIiwibGFuZ3VhZ2UiLCJfdGhpcyIsImNoYW5nZUxhbmd1YWdlIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJzZXRTdGF0ZSIsImZhdm91cml0ZSIsImV2ZW50IiwicHJldlN0YXRlIiwic2VsZWN0SWNvbiIsImlkIiwic3RhdGUiLCJmYXZvdXJpdGVJZCIsImlzRW1wdHkiLCJpc051bWJlciIsImxhdCIsImxvbiIsImNsb3NlTW9kYWwiLCJoYW5kbGVDbG9zZSIsInNldFRpbWVvdXQiLCJkZWZhdWx0TmFtZSIsImFkZEFuYWx5dGljc0V2ZW50IiwiY2F0ZWdvcnkiLCJhY3Rpb24iLCJyZW5kZXIiLCJtb2RhbFByb3BzIiwiTW9kYWwiLCJhcHBFbGVtZW50IiwiY29udGVudExhYmVsIiwiY2xvc2VCdXR0b25MYWJlbCIsInZhcmlhbnQiLCJpc01vYmlsZSIsImlzT3BlbiIsImlzTW9kYWxPcGVuIiwib25Dcm9zc0NsaWNrIiwiQ29tcG9uZW50IiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwibmV4dFByb3BzIiwicHJldkZhdiIsIm5leHRGYXYiLCJhZGRyZXNzIiwiZ2lkIiwiZ3Rmc0lkIiwibGF5ZXIiXSwibWFwcGluZ3MiOiJnM0JBQWUsU0FBU0EsSUFldEIsT0FkQUEsRUFBV0MsT0FBT0MsUUFBVSxTQUFVQyxHQUNwQyxJQUFLLElBQUlDLEVBQUksRUFBR0EsRUFBSUMsVUFBVUMsT0FBUUYsSUFBSyxDQUN6QyxJQUFJRyxFQUFTRixVQUFVRCxHQUV2QixJQUFLLElBQUlJLEtBQU9ELEVBQ1ZOLE9BQU9RLFVBQVVDLGVBQWVDLEtBQUtKLEVBQVFDLEtBQy9DTCxFQUFPSyxHQUFPRCxFQUFPQyxJQUszQixPQUFPTCxHQUdGSCxFQUFTWSxNQUFNQyxLQUFNUixXQ2Y5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
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("classnames"),require("i18next"),require("lodash/isEmpty"),require("lodash/isNumber"),require("@hsl-fi/modal"),require("@digitransit-component/digitransit-component-icon")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","classnames","i18next","lodash/isEmpty","lodash/isNumber","@hsl-fi/modal","@digitransit-component/digitransit-component-icon"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@digitransit-component/digitransit-component-favourite-modal"]={},e.React,e.PropTypes,e.cx,e.i18next,e.isEmpty,e.isNumber,e.Modal,e.Icon)}(this,(function(e,t,o,a,n,i,r,l,d){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(t),c=s(o),f=s(a),p=s(n),m=s(i),_=s(r),v=s(l),b=s(d);function h(){return h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(e[a]=o[a])}return e},h.apply(this,arguments)}function g(e,t){for(var o=0;o<t.length;o++){var a=t[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function k(e,t){return k=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},k(e,t)}function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function x(e,t){return!t||"object"!==y(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function R(e){return R=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},R(e)}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,a=new Array(t);o<t;o++)a[o]=e[o];return a}function w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var o=[],a=!0,n=!1,i=void 0;try{for(var r,l=e[Symbol.iterator]();!(a=(r=l.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){n=!0,i=e}finally{try{a||null==l.return||l.return()}finally{if(n)throw i}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return E(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?E(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===o&&a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}var q={"generic-table":"styles_generic-table__ZDktB",row:"styles_row__2H9Yg","generic-table__label-container":"styles_generic-table__label-container__BFaCU","favourite-icon-table-column":"styles_favourite-icon-table-column__fIdH1",place:"styles_place__NQ5kk",work:"styles_work__1IJjU",home:"styles_home__1tTd4",school:"styles_school__X2Mcv",sport:"styles_sport__EfCxT",shopping:"styles_shopping__XNGKI","selected-icon":"styles_selected-icon__vfbGq"};S(".styles_generic-table__ZDktB > .styles_row__2H9Yg {\n display: flex; }\n\n.styles_generic-table__label-container__BFaCU {\n font-size: 0.8rem;\n margin-top: 3px;\n color: #666;\n height: 16px;\n max-width: 62.5rem;\n margin-left: auto;\n margin-right: auto; }\n\n.styles_favourite-icon-table-column__fIdH1 {\n cursor: pointer;\n flex: 1;\n align-items: center;\n padding: 0;\n background: #fff;\n float: left;\n height: 50px;\n margin: 0;\n line-height: 1;\n text-align: center;\n font-size: 17px;\n border-top: solid 1px #d9d9d9;\n border-bottom: solid 1px #d9d9d9;\n border-right: solid 1px #d9d9d9;\n border-left: none; }\n .styles_favourite-icon-table-column__fIdH1.styles_place__NQ5kk svg {\n width: 24px;\n height: 24px; }\n .styles_favourite-icon-table-column__fIdH1.styles_work__1IJjU svg {\n width: 20px;\n height: 20px; }\n .styles_favourite-icon-table-column__fIdH1.styles_home__1tTd4 svg, .styles_favourite-icon-table-column__fIdH1.styles_school__X2Mcv svg, .styles_favourite-icon-table-column__fIdH1.styles_sport__EfCxT svg, .styles_favourite-icon-table-column__fIdH1.styles_shopping__XNGKI svg {\n width: 18px;\n height: 18px; }\n .styles_favourite-icon-table-column__fIdH1:active, .styles_favourite-icon-table-column__fIdH1:hover, .styles_favourite-icon-table-column__fIdH1:focus, .styles_favourite-icon-table-column__fIdH1 .styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n\n.styles_favourite-icon-table-column__fIdH1:first-child {\n border-left: solid 1px #d9d9d9;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1:last-child {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1.styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n");var I={de:{cancel:"Abbrechen","choose-icon":"Wählen Sie ein Symbol für diesen Ort","close-favourite-modal":"Favoriten-Dialog schließen","edit-place":"Ort bearbeiten","favourite-modal-on-add-new":"Neuen Favoriten hinzufügen","favourite-modal-on-edit":"Favorit bearbeiten: {{favourite.name}}","input-placeholder":"Einen Namen für Ort setzen (optional)",save:"Speichern","save-place":"Favorit speichern"},en:{cancel:"Cancel","choose-icon":"Select the place's icon","close-favourite-modal":"Close the favourite modal","edit-place":"Edit place","favourite-modal-on-add-new":"Add a new favorite","favourite-modal-on-edit":"Editing favourite: {{favourite.name}}","input-placeholder":"Give the name a place (optional)",save:"Save","save-place":"Save place","cannot-save-place":"Cannot save a place without address or icon",place:"a place",home:"home",work:"work",sport:"sport",school:"school",shopping:"shopping","required-text":"required field"},fi:{cancel:"Peruuta","choose-icon":"Valitse paikan kuvake","close-favourite-modal":"Sulje suosikkimodaali","edit-place":"Muokkaa paikkaa","favourite-modal-on-add-new":"Lisää uusi suosikki","favourite-modal-on-edit":"Muokkaa suosikkia {{favourite.name}}","input-placeholder":"Anna paikalle nimi (vapaaehtoinen)",save:"Tallenna","save-place":"Tallenna paikka","cannot-save-place":"Paikkaa ilman osoitetta tai ikonia ei voida tallentaa",place:"paikka",home:"koti",work:"työ",sport:"urheilu",school:"koulu",shopping:"ostokset","required-text":"pakollinen kenttä"},sv:{cancel:"Avbryt","choose-icon":"Välj platsens ikon","close-favourite-modal":"Stäng favoritmodalen","edit-place":"Redigera plats","favourite-modal-on-add-new":"Lägg till ny favorit","favourite-modal-on-edit":"Redigera platsen: {{favourite.name}}","input-placeholder":"Ange platsens namn (frivilligt)",save:"Spara","save-place":"Spara plats","cannot-save-place":"Det går inte att spara en plats utan adress eller ikon",place:"en plats",home:"hem",work:"arbete",sport:"sport",school:"skola",shopping:"shoppa","required-field":"obligatoriskt fält"}},N="desktop_favourite-modal-desktop-container__JeGRK",T="desktop_favourite-modal-desktop-top__SRAj7",G="desktop_favourite-modal-desktop-header__LzO65",O="desktop_favourite-modal-desktop-main__3SYc5",C="desktop_favourite-modal-desktop-location-search__ajBVr",A="desktop_favourite-modal-desktop-name__BmsiY",H="desktop_favourite-modal-desktop-input__6L7ez",U="desktop_favourite-modal-desktop-text__Gs-U3",j="desktop_favourite-modal-desktop-icons__LtHSO",B="desktop_icons-container__rs22H",J="desktop_favourite-modal-desktop-buttons__2Ag9q",P="desktop_favourite-modal-desktop-button__8Gh8t",z="desktop_save__I0AgO",F="desktop_disabled__Greqy",K="desktop_edit__t9NzU",M="desktop_sr-only__VJyNM";S(".desktop_favourite-modal-desktop-container__JeGRK {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 {\n display: flex;\n flex-direction: row;\n width: 100%; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 .desktop_favourite-modal-desktop-header__LzO65 {\n width: 100%;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n line-height: 1.33;\n letter-spacing: -0.6px;\n color: #333333;\n margin-bottom: 25px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 {\n text-align: left;\n margin-bottom: 27px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-location-search__ajBVr {\n margin-bottom: 9px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n border-radius: 5px;\n border: solid 1px #888888;\n background-color: #ffffff;\n padding-left: 20px;\n font-size: 15px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez::placeholder {\n color: #666; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0px 0px 2px 1px var(--hover-color);\n -webkit-appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-text__Gs-U3 {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333333;\n margin: 0 0 11px 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-icons__LtHSO {\n margin-bottom: 30px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_icons-container__rs22H {\n border: none;\n margin: 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n color: #fff;\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:focus, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy:active {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU {\n margin-top: 9px;\n background: #fff;\n border: solid 1px var(--color);\n color: var(--color); }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:hover {\n border-color: var(--hover-color);\n background-color: #fff;\n color: var(--hover-color); }\n\n.desktop_sr-only__VJyNM:not(:focus):not(:active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");var Y=function(e){var t=e.headerText,o=e.autosuggestComponent,a=e.inputPlaceholder,n=e.specifyName,i=e.name,r=e.chooseIconText,l=e.favouriteIconTable,d=e.saveFavourite,s=e.saveText,c=e.canSave,f=e.isEdit,p=e.cancelText,m=e.cancelSelected,_=e.color,v=e.hoverColor,b=e.savePlaceText,h=e.cantSaveText,g=e.requiredText,k=e.fontWeights;return u.default.createElement("div",{className:N,style:{"--color":"".concat(_),"--hover-color":"".concat(v),"--font-weight-medium":k.medium}},u.default.createElement("div",{className:T},u.default.createElement("div",{className:G},t)),u.default.createElement("div",{className:O},u.default.createElement("div",{className:C},o),u.default.createElement("div",{className:A},u.default.createElement("input",{"aria-label":a,className:H,value:i,placeholder:a,onChange:n}))),u.default.createElement("fieldset",{className:B},u.default.createElement("legend",{className:U},r,u.default.createElement("p",{className:M},g)),u.default.createElement("div",{className:j},l)),u.default.createElement("div",{className:J},u.default.createElement("button",{type:"button",className:"".concat(P," ").concat(z," ").concat(c()?"":F),onClick:d,"aria-label":"".concat(c()?b:h),"aria-disabled":!c()},s),f&&u.default.createElement("button",{type:"button",className:"".concat(P," ").concat(K," ").concat(c()?"":F),onClick:m},p)))};"production"!==process.env.NODE_ENV&&(Y.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,isEdit:c.default.bool,cancelText:c.default.string.isRequired,cancelSelected:c.default.func,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),Y.defaultProps={isEdit:!1,cancelSelected:function(){return{}}};var L={"favourite-modal-mobile-container":"mobile_favourite-modal-mobile-container__rahUH","favourite-modal-mobile-top":"mobile_favourite-modal-mobile-top__RZX-c","favourite-modal-mobile-header":"mobile_favourite-modal-mobile-header__XR22e","favourite-modal-mobile-main":"mobile_favourite-modal-mobile-main__3SYyB","favourite-modal-mobile-location-search":"mobile_favourite-modal-mobile-location-search__DNNd-","favourite-modal-mobile-input":"mobile_favourite-modal-mobile-input__Q16OP","favourite-modal-mobile-text":"mobile_favourite-modal-mobile-text__5JRgC","favourite-modal-mobile-save":"mobile_favourite-modal-mobile-save__E-p51","favourite-modal-mobile-button":"mobile_favourite-modal-mobile-button__7aFOZ",disabled:"mobile_disabled__NTpua","sr-only":"mobile_sr-only__24tpU"};S(".mobile_favourite-modal-mobile-container__rahUH {\n display: flex;\n flex-direction: column; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c {\n display: flex;\n flex-direction: row;\n width: 100%;\n border-bottom: 1px solid #ddd;\n margin-bottom: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c .mobile_favourite-modal-mobile-header__XR22e {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: inherit;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.6px;\n text-align: center;\n color: #333333;\n margin-bottom: 37px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB {\n text-align: left;\n margin-bottom: 28px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-location-search__DNNd- {\n margin-bottom: 9px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n border-radius: 5px;\n border: solid 1px #888888;\n background-color: #ffffff;\n padding-left: 20px;\n font-size: 16px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333333;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0px 0px 2px 1px var(--hover-color);\n -webkit-appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP::placeholder {\n color: #666666;\n font-size: 15px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-text__5JRgC {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333333;\n margin-bottom: 18px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 {\n position: fixed;\n width: calc(100% - 40px);\n bottom: 0;\n margin-bottom: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n color: #fff;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n @media all and (device-width: 768px) and (device-height: 1024px) and (orientation: portrait) {\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ {\n right: 38px;\n top: 26px; } }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:active, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:focus, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua {\n background: #bbb; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua:active {\n background: #bbb; }\n\n.mobile_sr-only__24tpU:not(:focus):not(:active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");var D=function(e){var t=e.headerText,o=e.autosuggestComponent,a=e.inputPlaceholder,n=e.specifyName,i=e.name,r=e.chooseIconText,l=e.favouriteIconTable,d=e.saveFavourite,s=e.saveText,c=e.canSave,f=e.color,p=e.hoverColor,m=e.savePlaceText,_=e.cantSaveText,v=e.requiredText,b=e.fontWeights;return u.default.createElement("div",{className:L["favourite-modal-mobile-container"],style:{"--color":"".concat(f),"--hover-color":"".concat(p),"--font-weight-medium":b.medium}},u.default.createElement("div",{className:L["favourite-modal-mobile-top"]},u.default.createElement("div",{className:L["favourite-modal-mobile-header"]},t)),u.default.createElement("div",{className:L["favourite-modal-mobile-main"]},u.default.createElement("div",{className:L["favourite-modal-mobile-location-search"]},o),u.default.createElement("input",{className:L["favourite-modal-mobile-input"],value:i||"",placeholder:a,onChange:n})),u.default.createElement("div",{className:L["favourite-modal-mobile-text"]},r,u.default.createElement("p",{className:L["sr-only"]},v)),u.default.createElement("div",{className:L["favourite-modal-mobile-icons"]},l),u.default.createElement("div",{className:L["favourite-modal-mobile-save"]},u.default.createElement("button",{type:"button",className:"".concat(L["favourite-modal-mobile-button"]," ").concat(c()?"":L.disabled),onClick:d,"aria-label":"".concat(c()?m:_)},s)))};function Z(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var o,a=R(e);if(t){var n=R(this).constructor;o=Reflect.construct(a,arguments,n)}else o=a.apply(this,arguments);return x(this,o)}}"production"!==process.env.NODE_ENV&&(D.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),p.default.init({lng:"fi",fallbackLng:"fi",defaultNS:"translation",interpolation:{escapeValue:!1}}),Object.keys(I).forEach((function(e){p.default.addResourceBundle(e,"translation",I[e])}));var V={"icon-icon_place":"place","icon-icon_home":"home","icon-icon_work":"work","icon-icon_sport":"sport","icon-icon_school":"school","icon-icon_shopping":"shopping"},W=function(e){var o=e.value,a=e.selectedIconId,n=e.handleClick,i=e.color,r=w(t.useState(!1),2),l=r[0],d=r[1],s=w(t.useState(!1),2),c=s[0],m=s[1],_=o===V[a]||l||c?"#ffffff":i;return u.default.createElement("button",{type:"button",className:f.default(q["favourite-icon-table-column"],q[o],o===V[a]&&q["selected-icon"]),onMouseEnter:function(){return d(!0)},onMouseLeave:function(){return d(!1)},onFocus:function(){return m(!0)},onBlur:function(){return m(!1)},onClick:function(){return n(o)},"aria-label":p.default.t(o)},u.default.createElement(b.default,{img:o,color:_}))};"production"!==process.env.NODE_ENV&&(W.propTypes={handleClick:c.default.func.isRequired,value:c.default.string,selectedIconId:c.default.string,color:c.default.string.isRequired});var X=function(e){var t=e.favouriteIconIds,o=e.selectedIconId,a=e.handleClick,n=e.color,i=t.map((function(e){return u.default.createElement(W,{key:"favourite-icon-table-".concat(e),value:e,selectedIconId:o,handleClick:a,color:n})}));return u.default.createElement("div",{className:q["generic-table"]},u.default.createElement("div",{className:q.row},i))};"production"!==process.env.NODE_ENV&&(X.propTypes={handleClick:c.default.func.isRequired,favouriteIconIds:c.default.array,selectedIconId:c.default.string,color:c.default.string.isRequired});var Q=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&k(e,t)}(i,e);var t,o,a,n=Z(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=n.call(this,e)).componentDidUpdate=function(){p.default.language!==t.props.lang&&p.default.changeLanguage(t.props.lang)},t.componentWillUnmount=function(){t.setState({favourite:null})},t.specifyName=function(e){var o=e.target.value;t.setState((function(e){return{favourite:h({},e.favourite,{name:o})}}))},t.selectIcon=function(e){t.setState((function(t){return{favourite:h({},t.favourite,{selectedIconId:"icon-icon_".concat(e)})}}))},t.isEdit=function(){return t.state.favourite&&void 0!==t.state.favourite.favouriteId},t.canSave=function(){return t.state.favourite&&!m.default(t.state.favourite.selectedIconId)&&_.default(t.state.favourite.lat)&&_.default(t.state.favourite.lon)},t.closeModal=function(){t.props.handleClose(),setTimeout((function(){t.setState({favourite:null})}),250)},t.cancelSelected=function(){t.props.cancelSelected(),setTimeout((function(){t.setState({favourite:null})}),250)},t.save=function(){if(t.canSave()){var e=m.default(t.state.favourite.name)?t.state.favourite.defaultName:t.state.favourite.name,o=h({},t.state.favourite,{name:e});delete o.defaultName,t.props.saveFavourite(h({},o,{type:"place"})),t.props.addAnalyticsEvent&&t.props.addAnalyticsEvent({category:"Favourite",action:"SaveFavourite",name:t.state.favourite.selectedIconId}),t.isEdit()&&t.props.cancelSelected?t.cancelSelected():t.closeModal()}},t.render=function(){var e=t.state.favourite,o=t.props,a=o.color,n=o.hoverColor,r=o.fontWeights,l={headerText:t.isEdit()?p.default.t("edit-place"):p.default.t("save-place"),autosuggestComponent:h({},t.props.autosuggestComponent,{color:a,hoverColor:n}),inputPlaceholder:p.default.t("input-placeholder"),specifyName:t.specifyName,name:e&&e.name||"",chooseIconText:p.default.t("choose-icon"),favouriteIconTable:u.default.createElement(X,{selectedIconId:function(){if(e&&void 0!==e.selectedIconId)return e.selectedIconId}(),favouriteIconIds:i.favouriteIconIds,handleClick:t.selectIcon,color:a}),saveFavourite:t.save,saveText:p.default.t("save"),canSave:t.canSave,isEdit:t.isEdit(),cancelText:p.default.t("cancel"),cancelSelected:function(){return t.cancelSelected()},color:a,hoverColor:n,savePlaceText:p.default.t("save-place"),cantSaveText:p.default.t("cannot-save-place"),requiredText:p.default.t("required-text"),fontWeights:r};return u.default.createElement(v.default,{appElement:t.props.appElement,contentLabel:t.isEdit()?p.default.t("favourite-modal-on-edit",e):p.default.t("favourite-modal-on-add-new"),closeButtonLabel:p.default.t("close-favourite-modal"),variant:t.props.isMobile?"large":"small",isOpen:t.props.isModalOpen,onCrossClick:function(){return t.closeModal()}},!t.props.isMobile&&u.default.createElement(Y,l),t.props.isMobile&&u.default.createElement(D,l))},p.default.changeLanguage(e.lang),t.state={favourite:null},Object.keys(I).forEach((function(e){p.default.addResourceBundle(e,"translation",I[e])})),t}return t=i,o&&g(t.prototype,o),a&&g(t,a),t}(u.default.Component);Q.defaultProps={cancelSelected:function(){return{}},lang:"fi",isMobile:!1,favourite:null,color:"#007ac9",hoverColor:"#0062a1",fontWeights:{medium:500}},Q.favouriteIconIds=["place","home","work","sport","school","shopping"],Q.getDerivedStateFromProps=function(e,t){var o=t.favourite,a=e.favourite;return m.default(a)?{favourite:null}:m.default(o)&&!m.default(a)?{favourite:h({},a)}:m.default(o)||m.default(a)||a.address===o.address&&a.lat===o.lat&&a.lon===o.lon?null:{favourite:h({},o,{address:a.address,lat:a.lat,lon:a.lon,gid:a.gid||null,name:o.name||a.name||"",defaultName:a.defaultName})}},"production"!==process.env.NODE_ENV&&(Q.propTypes={isModalOpen:c.default.bool.isRequired,handleClose:c.default.func.isRequired,saveFavourite:c.default.func.isRequired,cancelSelected:c.default.func,autosuggestComponent:c.default.node,favourite:c.default.shape({type:c.default.string,address:c.default.string,gtfsId:c.default.string,gid:c.default.string,lat:c.default.number,lon:c.default.number,name:c.default.string,selectedIconId:c.default.string,favouriteId:c.default.string,layer:c.default.string,defaultName:c.default.string}),addAnalyticsEvent:c.default.func,lang:c.default.string,isMobile:c.default.bool,appElement:c.default.string.isRequired,color:c.default.string,hoverColor:c.default.string,fontWeights:c.default.shape({medium:c.default.number})}),e.default=Q,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("classnames"),require("i18next"),require("lodash/isEmpty"),require("lodash/isNumber"),require("@hsl-fi/modal"),require("@digitransit-component/digitransit-component-icon")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","classnames","i18next","lodash/isEmpty","lodash/isNumber","@hsl-fi/modal","@digitransit-component/digitransit-component-icon"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@digitransit-component/digitransit-component-favourite-modal"]={},e.React,e.PropTypes,e.cx,e.i18next,e.isEmpty,e.isNumber,e.Modal,e.Icon)}(this,(function(e,t,o,a,n,i,r,l,d){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(t),c=s(o),f=s(a),p=s(n),m=s(i),_=s(r),v=s(l),b=s(d);function h(){return h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(e[a]=o[a])}return e},h.apply(this,arguments)}function g(e,t){for(var o=0;o<t.length;o++){var a=t[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function k(e,t){return k=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},k(e,t)}function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function x(e,t){return!t||"object"!==y(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function R(e){return R=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},R(e)}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,a=new Array(t);o<t;o++)a[o]=e[o];return a}function w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var o=[],a=!0,n=!1,i=void 0;try{for(var r,l=e[Symbol.iterator]();!(a=(r=l.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){n=!0,i=e}finally{try{a||null==l.return||l.return()}finally{if(n)throw i}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return E(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?E(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===o&&a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}var q={"generic-table":"styles_generic-table__ZDktB",row:"styles_row__2H9Yg","generic-table__label-container":"styles_generic-table__label-container__BFaCU","favourite-icon-table-column":"styles_favourite-icon-table-column__fIdH1",place:"styles_place__NQ5kk",work:"styles_work__1IJjU",home:"styles_home__1tTd4",school:"styles_school__X2Mcv",sport:"styles_sport__EfCxT",shopping:"styles_shopping__XNGKI","selected-icon":"styles_selected-icon__vfbGq"};S(".styles_generic-table__ZDktB > .styles_row__2H9Yg {\n display: flex; }\n\n.styles_generic-table__label-container__BFaCU {\n font-size: 0.8rem;\n margin-top: 3px;\n color: #666;\n height: 16px;\n max-width: 62.5rem;\n margin-left: auto;\n margin-right: auto; }\n\n.styles_favourite-icon-table-column__fIdH1 {\n cursor: pointer;\n flex: 1;\n align-items: center;\n padding: 0;\n background: #fff;\n float: left;\n height: 50px;\n margin: 0;\n line-height: 1;\n text-align: center;\n font-size: 17px;\n border-top: solid 1px #d9d9d9;\n border-bottom: solid 1px #d9d9d9;\n border-right: solid 1px #d9d9d9;\n border-left: none; }\n .styles_favourite-icon-table-column__fIdH1.styles_place__NQ5kk svg {\n width: 24px;\n height: 24px; }\n .styles_favourite-icon-table-column__fIdH1.styles_work__1IJjU svg {\n width: 20px;\n height: 20px; }\n .styles_favourite-icon-table-column__fIdH1.styles_home__1tTd4 svg, .styles_favourite-icon-table-column__fIdH1.styles_school__X2Mcv svg, .styles_favourite-icon-table-column__fIdH1.styles_sport__EfCxT svg, .styles_favourite-icon-table-column__fIdH1.styles_shopping__XNGKI svg {\n width: 18px;\n height: 18px; }\n .styles_favourite-icon-table-column__fIdH1:active, .styles_favourite-icon-table-column__fIdH1:hover, .styles_favourite-icon-table-column__fIdH1:focus, .styles_favourite-icon-table-column__fIdH1 .styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n\n.styles_favourite-icon-table-column__fIdH1:first-child {\n border-left: solid 1px #d9d9d9;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1:last-child {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1.styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n");var I={de:{cancel:"Abbrechen","choose-icon":"Wählen Sie ein Symbol für diesen Ort","close-favourite-modal":"Favoriten-Dialog schließen","edit-place":"Ort bearbeiten","favourite-modal-on-add-new":"Neuen Favoriten hinzufügen","favourite-modal-on-edit":"Favorit bearbeiten: {{favourite.name}}","input-placeholder":"Einen Namen für Ort setzen (optional)",save:"Speichern","save-place":"Favorit speichern"},en:{cancel:"Cancel","choose-icon":"Select the place's icon","close-favourite-modal":"Close the favourite modal","edit-place":"Edit place","favourite-modal-on-add-new":"Add a new favorite","favourite-modal-on-edit":"Editing favourite: {{favourite.name}}","input-placeholder":"Give the name a place (optional)",save:"Save","save-place":"Save place","cannot-save-place":"Cannot save a place without address or icon",place:"a place",home:"home",work:"work",sport:"sport",school:"school",shopping:"shopping","required-text":"required field"},fi:{cancel:"Peruuta","choose-icon":"Valitse paikan kuvake","close-favourite-modal":"Sulje suosikkimodaali","edit-place":"Muokkaa paikkaa","favourite-modal-on-add-new":"Lisää uusi suosikki","favourite-modal-on-edit":"Muokkaa suosikkia {{favourite.name}}","input-placeholder":"Anna paikalle nimi (vapaaehtoinen)",save:"Tallenna","save-place":"Tallenna paikka","cannot-save-place":"Paikkaa ilman osoitetta tai ikonia ei voida tallentaa",place:"paikka",home:"koti",work:"työ",sport:"urheilu",school:"koulu",shopping:"ostokset","required-text":"pakollinen kenttä"},sv:{cancel:"Avbryt","choose-icon":"Välj platsens ikon","close-favourite-modal":"Stäng favoritmodalen","edit-place":"Redigera plats","favourite-modal-on-add-new":"Lägg till ny favorit","favourite-modal-on-edit":"Redigera platsen: {{favourite.name}}","input-placeholder":"Ange platsens namn (frivilligt)",save:"Spara","save-place":"Spara plats","cannot-save-place":"Det går inte att spara en plats utan adress eller ikon",place:"en plats",home:"hem",work:"arbete",sport:"sport",school:"skola",shopping:"shoppa","required-field":"obligatoriskt fält"}},N="desktop_favourite-modal-desktop-container__JeGRK",T="desktop_favourite-modal-desktop-top__SRAj7",G="desktop_favourite-modal-desktop-header__LzO65",O="desktop_favourite-modal-desktop-main__3SYc5",C="desktop_favourite-modal-desktop-location-search__ajBVr",A="desktop_favourite-modal-desktop-name__BmsiY",H="desktop_favourite-modal-desktop-input__6L7ez",U="desktop_favourite-modal-desktop-text__Gs-U3",j="desktop_favourite-modal-desktop-icons__LtHSO",B="desktop_icons-container__rs22H",J="desktop_favourite-modal-desktop-buttons__2Ag9q",P="desktop_favourite-modal-desktop-button__8Gh8t",z="desktop_save__I0AgO",F="desktop_disabled__Greqy",K="desktop_edit__t9NzU",M="desktop_sr-only__VJyNM";S(".desktop_favourite-modal-desktop-container__JeGRK {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 {\n display: flex;\n flex-direction: row;\n width: 100%; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 .desktop_favourite-modal-desktop-header__LzO65 {\n width: 100%;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n line-height: 1.33;\n letter-spacing: -0.6px;\n color: #333333;\n margin-bottom: 25px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 {\n text-align: left;\n margin-bottom: 27px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-location-search__ajBVr {\n margin-bottom: 9px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n border-radius: 5px;\n border: solid 1px #888888;\n background-color: #ffffff;\n padding-left: 20px;\n font-size: 15px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez::placeholder {\n color: #666; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0px 0px 2px 1px var(--hover-color);\n -webkit-appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-text__Gs-U3 {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333333;\n margin: 0 0 11px 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-icons__LtHSO {\n margin-bottom: 30px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_icons-container__rs22H {\n border: none;\n margin: 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n color: #fff;\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:focus, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy:active {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU {\n margin-top: 9px;\n background: #fff;\n border: solid 1px var(--color);\n color: var(--color); }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:hover {\n border-color: var(--hover-color);\n background-color: #fff;\n color: var(--hover-color); }\n\n.desktop_sr-only__VJyNM:not(:focus):not(:active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");var Y=function(e){var t=e.headerText,o=e.autosuggestComponent,a=e.inputPlaceholder,n=e.specifyName,i=e.name,r=e.chooseIconText,l=e.favouriteIconTable,d=e.saveFavourite,s=e.saveText,c=e.canSave,f=e.isEdit,p=e.cancelText,m=e.cancelSelected,_=e.color,v=e.hoverColor,b=e.savePlaceText,h=e.cantSaveText,g=e.requiredText,k=e.fontWeights;return u.default.createElement("div",{className:N,style:{"--color":"".concat(_),"--hover-color":"".concat(v),"--font-weight-medium":k.medium}},u.default.createElement("div",{className:T},u.default.createElement("div",{className:G},t)),u.default.createElement("div",{className:O},u.default.createElement("div",{className:C},o),u.default.createElement("div",{className:A},u.default.createElement("input",{"aria-label":a,className:H,value:i,placeholder:a,onChange:n}))),u.default.createElement("fieldset",{className:B},u.default.createElement("legend",{className:U},r,u.default.createElement("p",{className:M},g)),u.default.createElement("div",{className:j},l)),u.default.createElement("div",{className:J},u.default.createElement("button",{type:"button",className:"".concat(P," ").concat(z," ").concat(c()?"":F),onClick:d,"aria-label":"".concat(c()?b:h),"aria-disabled":!c()},s),f&&u.default.createElement("button",{type:"button",className:"".concat(P," ").concat(K," ").concat(c()?"":F),onClick:m},p)))};"production"!==process.env.NODE_ENV&&(Y.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,isEdit:c.default.bool,cancelText:c.default.string.isRequired,cancelSelected:c.default.func,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),Y.defaultProps={isEdit:!1,cancelSelected:function(){return{}}};var L={"favourite-modal-mobile-container":"mobile_favourite-modal-mobile-container__rahUH","favourite-modal-mobile-top":"mobile_favourite-modal-mobile-top__RZX-c","favourite-modal-mobile-header":"mobile_favourite-modal-mobile-header__XR22e","favourite-modal-mobile-main":"mobile_favourite-modal-mobile-main__3SYyB","favourite-modal-mobile-location-search":"mobile_favourite-modal-mobile-location-search__DNNd-","favourite-modal-mobile-input":"mobile_favourite-modal-mobile-input__Q16OP","favourite-modal-mobile-text":"mobile_favourite-modal-mobile-text__5JRgC","favourite-modal-mobile-save":"mobile_favourite-modal-mobile-save__E-p51","favourite-modal-mobile-button":"mobile_favourite-modal-mobile-button__7aFOZ",disabled:"mobile_disabled__NTpua","sr-only":"mobile_sr-only__24tpU"};S(".mobile_favourite-modal-mobile-container__rahUH {\n display: flex;\n flex-direction: column; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c {\n display: flex;\n flex-direction: row;\n width: 100%;\n border-bottom: 1px solid #ddd;\n margin-bottom: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c .mobile_favourite-modal-mobile-header__XR22e {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: inherit;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.6px;\n text-align: center;\n color: #333333;\n margin-bottom: 37px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB {\n text-align: left;\n margin-bottom: 28px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-location-search__DNNd- {\n margin-bottom: 9px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n border-radius: 5px;\n border: solid 1px #888888;\n background-color: #ffffff;\n padding-left: 20px;\n font-size: 16px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333333;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0px 0px 2px 1px var(--hover-color);\n -webkit-appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP::placeholder {\n color: #666666;\n font-size: 15px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-text__5JRgC {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333333;\n margin-bottom: 18px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 {\n width: 100%;\n margin-top: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n color: #fff;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:active, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:focus, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua {\n background: #bbb; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua:active {\n background: #bbb; }\n\n.mobile_sr-only__24tpU:not(:focus):not(:active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");var D=function(e){var t=e.headerText,o=e.autosuggestComponent,a=e.inputPlaceholder,n=e.specifyName,i=e.name,r=e.chooseIconText,l=e.favouriteIconTable,d=e.saveFavourite,s=e.saveText,c=e.canSave,f=e.color,p=e.hoverColor,m=e.savePlaceText,_=e.cantSaveText,v=e.requiredText,b=e.fontWeights;return u.default.createElement("div",{className:L["favourite-modal-mobile-container"],style:{"--color":"".concat(f),"--hover-color":"".concat(p),"--font-weight-medium":b.medium}},u.default.createElement("div",{className:L["favourite-modal-mobile-top"]},u.default.createElement("div",{className:L["favourite-modal-mobile-header"]},t)),u.default.createElement("div",{className:L["favourite-modal-mobile-main"]},u.default.createElement("div",{className:L["favourite-modal-mobile-location-search"]},o),u.default.createElement("input",{className:L["favourite-modal-mobile-input"],value:i||"",placeholder:a,onChange:n})),u.default.createElement("div",{className:L["favourite-modal-mobile-text"]},r,u.default.createElement("p",{className:L["sr-only"]},v)),u.default.createElement("div",{className:L["favourite-modal-mobile-icons"]},l),u.default.createElement("div",{className:L["favourite-modal-mobile-save"]},u.default.createElement("button",{type:"button",className:"".concat(L["favourite-modal-mobile-button"]," ").concat(c()?"":L.disabled),onClick:d,"aria-label":"".concat(c()?m:_)},s)))};function V(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var o,a=R(e);if(t){var n=R(this).constructor;o=Reflect.construct(a,arguments,n)}else o=a.apply(this,arguments);return x(this,o)}}"production"!==process.env.NODE_ENV&&(D.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),p.default.init({lng:"fi",fallbackLng:"fi",defaultNS:"translation",interpolation:{escapeValue:!1}}),Object.keys(I).forEach((function(e){p.default.addResourceBundle(e,"translation",I[e])}));var Z={"icon-icon_place":"place","icon-icon_home":"home","icon-icon_work":"work","icon-icon_sport":"sport","icon-icon_school":"school","icon-icon_shopping":"shopping"},W=function(e){var o=e.value,a=e.selectedIconId,n=e.handleClick,i=e.color,r=w(t.useState(!1),2),l=r[0],d=r[1],s=w(t.useState(!1),2),c=s[0],m=s[1],_=o===Z[a]||l||c?"#ffffff":i;return u.default.createElement("button",{type:"button",className:f.default(q["favourite-icon-table-column"],q[o],o===Z[a]&&q["selected-icon"]),onMouseEnter:function(){return d(!0)},onMouseLeave:function(){return d(!1)},onFocus:function(){return m(!0)},onBlur:function(){return m(!1)},onClick:function(){return n(o)},"aria-label":p.default.t(o)},u.default.createElement(b.default,{img:o,color:_}))};"production"!==process.env.NODE_ENV&&(W.propTypes={handleClick:c.default.func.isRequired,value:c.default.string,selectedIconId:c.default.string,color:c.default.string.isRequired});var X=function(e){var t=e.favouriteIconIds,o=e.selectedIconId,a=e.handleClick,n=e.color,i=t.map((function(e){return u.default.createElement(W,{key:"favourite-icon-table-".concat(e),value:e,selectedIconId:o,handleClick:a,color:n})}));return u.default.createElement("div",{className:q["generic-table"]},u.default.createElement("div",{className:q.row},i))};"production"!==process.env.NODE_ENV&&(X.propTypes={handleClick:c.default.func.isRequired,favouriteIconIds:c.default.array,selectedIconId:c.default.string,color:c.default.string.isRequired});var Q=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&k(e,t)}(i,e);var t,o,a,n=V(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=n.call(this,e)).componentDidUpdate=function(){p.default.language!==t.props.lang&&p.default.changeLanguage(t.props.lang)},t.componentWillUnmount=function(){t.setState({favourite:null})},t.specifyName=function(e){var o=e.target.value;t.setState((function(e){return{favourite:h({},e.favourite,{name:o})}}))},t.selectIcon=function(e){t.setState((function(t){return{favourite:h({},t.favourite,{selectedIconId:"icon-icon_".concat(e)})}}))},t.isEdit=function(){return t.state.favourite&&void 0!==t.state.favourite.favouriteId},t.canSave=function(){return t.state.favourite&&!m.default(t.state.favourite.selectedIconId)&&_.default(t.state.favourite.lat)&&_.default(t.state.favourite.lon)},t.closeModal=function(){t.props.handleClose(),setTimeout((function(){t.setState({favourite:null})}),250)},t.cancelSelected=function(){t.props.cancelSelected(),setTimeout((function(){t.setState({favourite:null})}),250)},t.save=function(){if(t.canSave()){var e=m.default(t.state.favourite.name)?t.state.favourite.defaultName:t.state.favourite.name,o=h({},t.state.favourite,{name:e});delete o.defaultName,t.props.saveFavourite(h({},o,{type:"place"})),t.props.addAnalyticsEvent&&t.props.addAnalyticsEvent({category:"Favourite",action:"SaveFavourite",name:t.state.favourite.selectedIconId}),t.isEdit()&&t.props.cancelSelected?t.cancelSelected():t.closeModal()}},t.render=function(){var e=t.state.favourite,o=t.props,a=o.color,n=o.hoverColor,r=o.fontWeights,l={headerText:t.isEdit()?p.default.t("edit-place"):p.default.t("save-place"),autosuggestComponent:h({},t.props.autosuggestComponent,{color:a,hoverColor:n}),inputPlaceholder:p.default.t("input-placeholder"),specifyName:t.specifyName,name:e&&e.name||"",chooseIconText:p.default.t("choose-icon"),favouriteIconTable:u.default.createElement(X,{selectedIconId:function(){if(e&&void 0!==e.selectedIconId)return e.selectedIconId}(),favouriteIconIds:i.favouriteIconIds,handleClick:t.selectIcon,color:a}),saveFavourite:t.save,saveText:p.default.t("save"),canSave:t.canSave,isEdit:t.isEdit(),cancelText:p.default.t("cancel"),cancelSelected:function(){return t.cancelSelected()},color:a,hoverColor:n,savePlaceText:p.default.t("save-place"),cantSaveText:p.default.t("cannot-save-place"),requiredText:p.default.t("required-text"),fontWeights:r};return u.default.createElement(v.default,{appElement:t.props.appElement,contentLabel:t.isEdit()?p.default.t("favourite-modal-on-edit",e):p.default.t("favourite-modal-on-add-new"),closeButtonLabel:p.default.t("close-favourite-modal"),variant:t.props.isMobile?"large":"small",isOpen:t.props.isModalOpen,onCrossClick:function(){return t.closeModal()}},!t.props.isMobile&&u.default.createElement(Y,l),t.props.isMobile&&u.default.createElement(D,l))},p.default.changeLanguage(e.lang),t.state={favourite:null},Object.keys(I).forEach((function(e){p.default.addResourceBundle(e,"translation",I[e])})),t}return t=i,o&&g(t.prototype,o),a&&g(t,a),t}(u.default.Component);Q.defaultProps={cancelSelected:function(){return{}},lang:"fi",isMobile:!1,favourite:null,color:"#007ac9",hoverColor:"#0062a1",fontWeights:{medium:500}},Q.favouriteIconIds=["place","home","work","sport","school","shopping"],Q.getDerivedStateFromProps=function(e,t){var o=t.favourite,a=e.favourite;return m.default(a)?{favourite:null}:m.default(o)&&!m.default(a)?{favourite:h({},a)}:m.default(o)||m.default(a)||a.address===o.address&&a.lat===o.lat&&a.lon===o.lon?null:{favourite:h({},o,{address:a.address,lat:a.lat,lon:a.lon,gid:a.gid||null,name:o.name||a.name||"",defaultName:a.defaultName})}},"production"!==process.env.NODE_ENV&&(Q.propTypes={isModalOpen:c.default.bool.isRequired,handleClose:c.default.func.isRequired,saveFavourite:c.default.func.isRequired,cancelSelected:c.default.func,autosuggestComponent:c.default.node,favourite:c.default.shape({type:c.default.string,address:c.default.string,gtfsId:c.default.string,gid:c.default.string,lat:c.default.number,lon:c.default.number,name:c.default.string,selectedIconId:c.default.string,favouriteId:c.default.string,layer:c.default.string,defaultName:c.default.string}),addAnalyticsEvent:c.default.func,lang:c.default.string,isMobile:c.default.bool,appElement:c.default.string.isRequired,color:c.default.string,hoverColor:c.default.string,fontWeights:c.default.shape({medium:c.default.number})}),e.default=Q,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../../node_modules/style-inject/dist/style-inject.es.js","../src/helpers/translations.js","../src/helpers/DesktopModal.js","../src/helpers/MobileModal.js","../src/index.js","../../../../node_modules/@babel/runtime/helpers/esm/inherits.js","../../../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","const translations = {\n de: {\n cancel: 'Abbrechen',\n 'choose-icon': 'Wählen Sie ein Symbol für diesen Ort',\n 'close-favourite-modal': 'Favoriten-Dialog schließen',\n 'edit-place': 'Ort bearbeiten',\n 'favourite-modal-on-add-new': 'Neuen Favoriten hinzufügen',\n 'favourite-modal-on-edit': 'Favorit bearbeiten: {{favourite.name}}',\n 'input-placeholder': 'Einen Namen für Ort setzen (optional)',\n save: 'Speichern',\n 'save-place': 'Favorit speichern',\n },\n en: {\n cancel: 'Cancel',\n 'choose-icon': \"Select the place's icon\",\n 'close-favourite-modal': 'Close the favourite modal',\n 'edit-place': 'Edit place',\n 'favourite-modal-on-add-new': 'Add a new favorite',\n 'favourite-modal-on-edit': 'Editing favourite: {{favourite.name}}',\n 'input-placeholder': 'Give the name a place (optional)',\n save: 'Save',\n 'save-place': 'Save place',\n 'cannot-save-place': 'Cannot save a place without address or icon',\n place: 'a place',\n home: 'home',\n work: 'work',\n sport: 'sport',\n school: 'school',\n shopping: 'shopping',\n 'required-text': 'required field',\n },\n fi: {\n cancel: 'Peruuta',\n 'choose-icon': 'Valitse paikan kuvake',\n 'close-favourite-modal': 'Sulje suosikkimodaali',\n 'edit-place': 'Muokkaa paikkaa',\n 'favourite-modal-on-add-new': 'Lisää uusi suosikki',\n 'favourite-modal-on-edit': 'Muokkaa suosikkia {{favourite.name}}',\n 'input-placeholder': 'Anna paikalle nimi (vapaaehtoinen)',\n save: 'Tallenna',\n 'save-place': 'Tallenna paikka',\n 'cannot-save-place':\n 'Paikkaa ilman osoitetta tai ikonia ei voida tallentaa',\n place: 'paikka',\n home: 'koti',\n work: 'työ',\n sport: 'urheilu',\n school: 'koulu',\n shopping: 'ostokset',\n 'required-text': 'pakollinen kenttä',\n },\n sv: {\n cancel: 'Avbryt',\n 'choose-icon': 'Välj platsens ikon',\n 'close-favourite-modal': 'Stäng favoritmodalen',\n 'edit-place': 'Redigera plats',\n 'favourite-modal-on-add-new': 'Lägg till ny favorit',\n 'favourite-modal-on-edit': 'Redigera platsen: {{favourite.name}}',\n 'input-placeholder': 'Ange platsens namn (frivilligt)',\n save: 'Spara',\n 'save-place': 'Spara plats',\n 'cannot-save-place':\n 'Det går inte att spara en plats utan adress eller ikon',\n place: 'en plats',\n home: 'hem',\n work: 'arbete',\n sport: 'sport',\n school: 'skola',\n shopping: 'shoppa',\n 'required-field': 'obligatoriskt fält',\n },\n};\n\nexport default translations;\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport styles from './desktop.scss';\n\nconst DesktopModal = ({\n headerText,\n autosuggestComponent,\n inputPlaceholder,\n specifyName,\n name,\n chooseIconText,\n favouriteIconTable,\n saveFavourite,\n saveText,\n canSave,\n isEdit,\n cancelText,\n cancelSelected,\n color,\n hoverColor,\n savePlaceText,\n cantSaveText,\n requiredText,\n fontWeights,\n}) => {\n return (\n <div\n className={styles['favourite-modal-desktop-container']}\n style={{\n '--color': `${color}`,\n '--hover-color': `${hoverColor}`,\n '--font-weight-medium': fontWeights.medium,\n }}\n >\n <div className={styles['favourite-modal-desktop-top']}>\n <div className={styles['favourite-modal-desktop-header']}>\n {headerText}\n </div>\n </div>\n <div className={styles['favourite-modal-desktop-main']}>\n <div className={styles['favourite-modal-desktop-location-search']}>\n {autosuggestComponent}\n </div>\n <div className={styles['favourite-modal-desktop-name']}>\n <input\n aria-label={inputPlaceholder}\n className={styles['favourite-modal-desktop-input']}\n value={name}\n placeholder={inputPlaceholder}\n onChange={specifyName}\n />\n </div>\n </div>\n <fieldset className={styles['icons-container']}>\n <legend className={styles['favourite-modal-desktop-text']}>\n {chooseIconText}\n <p className={styles['sr-only']}>{requiredText}</p>\n </legend>\n <div className={styles['favourite-modal-desktop-icons']}>\n {favouriteIconTable}\n </div>\n </fieldset>\n <div className={styles['favourite-modal-desktop-buttons']}>\n <button\n type=\"button\"\n className={cx(\n `${styles['favourite-modal-desktop-button']} ${styles.save} ${\n canSave() ? '' : styles.disabled\n }`,\n )}\n onClick={saveFavourite}\n aria-label={`${canSave() ? savePlaceText : cantSaveText}`}\n aria-disabled={!canSave()}\n >\n {saveText}\n </button>\n {isEdit && (\n <button\n type=\"button\"\n className={cx(\n `${styles['favourite-modal-desktop-button']} ${styles.edit} ${\n canSave() ? '' : styles.disabled\n }`,\n )}\n onClick={cancelSelected}\n >\n {cancelText}\n </button>\n )}\n </div>\n </div>\n );\n};\n\nDesktopModal.propTypes = {\n headerText: PropTypes.string.isRequired,\n autosuggestComponent: PropTypes.node.isRequired,\n inputPlaceholder: PropTypes.string.isRequired,\n specifyName: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n chooseIconText: PropTypes.string.isRequired,\n favouriteIconTable: PropTypes.node.isRequired,\n saveFavourite: PropTypes.func.isRequired,\n saveText: PropTypes.string.isRequired,\n canSave: PropTypes.func.isRequired,\n isEdit: PropTypes.bool,\n cancelText: PropTypes.string.isRequired,\n cancelSelected: PropTypes.func,\n color: PropTypes.string.isRequired,\n hoverColor: PropTypes.string.isRequired,\n savePlaceText: PropTypes.string.isRequired,\n cantSaveText: PropTypes.string.isRequired,\n requiredText: PropTypes.string.isRequired,\n fontWeights: PropTypes.shape({\n medium: PropTypes.number.isRequired,\n }).isRequired,\n};\n\nDesktopModal.defaultProps = {\n isEdit: false,\n cancelSelected: () => ({}),\n};\n\nexport default DesktopModal;\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport styles from './mobile.scss';\n\nconst MobileModal = ({\n headerText,\n autosuggestComponent,\n inputPlaceholder,\n specifyName,\n name,\n chooseIconText,\n favouriteIconTable,\n saveFavourite,\n saveText,\n canSave,\n color,\n hoverColor,\n savePlaceText,\n cantSaveText,\n requiredText,\n fontWeights,\n}) => {\n return (\n <div\n className={styles['favourite-modal-mobile-container']}\n style={{\n '--color': `${color}`,\n '--hover-color': `${hoverColor}`,\n '--font-weight-medium': fontWeights.medium,\n }}\n >\n <div className={styles['favourite-modal-mobile-top']}>\n <div className={styles['favourite-modal-mobile-header']}>\n {headerText}\n </div>\n </div>\n <div className={styles['favourite-modal-mobile-main']}>\n <div className={styles['favourite-modal-mobile-location-search']}>\n {autosuggestComponent}\n </div>\n <input\n className={styles['favourite-modal-mobile-input']}\n value={name || ''}\n placeholder={inputPlaceholder}\n onChange={specifyName}\n />\n </div>\n <div className={styles['favourite-modal-mobile-text']}>\n {chooseIconText}\n <p className={styles['sr-only']}>{requiredText}</p>\n </div>\n <div className={styles['favourite-modal-mobile-icons']}>\n {favouriteIconTable}\n </div>\n <div className={styles['favourite-modal-mobile-save']}>\n <button\n type=\"button\"\n className={cx(\n `${styles['favourite-modal-mobile-button']} ${\n canSave() ? '' : styles.disabled\n }`,\n )}\n onClick={saveFavourite}\n aria-label={`${canSave() ? savePlaceText : cantSaveText}`}\n >\n {saveText}\n </button>\n </div>\n </div>\n );\n};\n\nMobileModal.propTypes = {\n headerText: PropTypes.string.isRequired,\n autosuggestComponent: PropTypes.node.isRequired,\n inputPlaceholder: PropTypes.string.isRequired,\n specifyName: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n chooseIconText: PropTypes.string.isRequired,\n favouriteIconTable: PropTypes.node.isRequired,\n saveFavourite: PropTypes.func.isRequired,\n saveText: PropTypes.string.isRequired,\n canSave: PropTypes.func.isRequired,\n color: PropTypes.string.isRequired,\n hoverColor: PropTypes.string.isRequired,\n savePlaceText: PropTypes.string.isRequired,\n cantSaveText: PropTypes.string.isRequired,\n requiredText: PropTypes.string.isRequired,\n fontWeights: PropTypes.shape({\n medium: PropTypes.number.isRequired,\n }).isRequired,\n};\n\nexport default MobileModal;\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport i18next from 'i18next';\nimport isEmpty from 'lodash/isEmpty';\nimport isNumber from 'lodash/isNumber';\nimport Modal from '@hsl-fi/modal';\nimport Icon from '@digitransit-component/digitransit-component-icon';\nimport styles from './helpers/styles.scss';\nimport translations from './helpers/translations';\nimport DesktopModal from './helpers/DesktopModal';\nimport MobileModal from './helpers/MobileModal';\n\ni18next.init({\n lng: 'fi',\n fallbackLng: 'fi',\n defaultNS: 'translation',\n interpolation: {\n escapeValue: false, // not needed for react as it escapes by default\n },\n});\n\nObject.keys(translations).forEach(lang => {\n i18next.addResourceBundle(lang, 'translation', translations[lang]);\n});\n\nconst FavouriteIconIdToNameMap = {\n 'icon-icon_place': 'place',\n 'icon-icon_home': 'home',\n 'icon-icon_work': 'work',\n 'icon-icon_sport': 'sport',\n 'icon-icon_school': 'school',\n 'icon-icon_shopping': 'shopping',\n};\n\nconst FavouriteIconTableButton = ({\n value,\n selectedIconId,\n handleClick,\n color,\n}) => {\n const [isHovered, setHover] = useState(false);\n const [isFocused, setFocus] = useState(false);\n const iconColor =\n value === FavouriteIconIdToNameMap[selectedIconId] || isHovered || isFocused\n ? '#ffffff'\n : color;\n return (\n <button\n type=\"button\"\n className={cx(styles['favourite-icon-table-column'], styles[value], {\n [styles['selected-icon']]:\n value === FavouriteIconIdToNameMap[selectedIconId],\n })}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onFocus={() => setFocus(true)}\n onBlur={() => setFocus(false)}\n onClick={() => handleClick(value)}\n aria-label={i18next.t(value)}\n >\n <Icon img={value} color={iconColor} />\n </button>\n );\n};\n\nFavouriteIconTableButton.propTypes = {\n handleClick: PropTypes.func.isRequired,\n value: PropTypes.string,\n selectedIconId: PropTypes.string,\n color: PropTypes.string.isRequired,\n};\n\nconst FavouriteIconTable = ({\n favouriteIconIds,\n selectedIconId,\n handleClick,\n color,\n}) => {\n const columns = favouriteIconIds.map(value => (\n <FavouriteIconTableButton\n key={`favourite-icon-table-${value}`}\n value={value}\n selectedIconId={selectedIconId}\n handleClick={handleClick}\n color={color}\n />\n ));\n\n return (\n <div className={styles['generic-table']}>\n <div className={styles.row}>{columns}</div>\n </div>\n );\n};\n\nFavouriteIconTable.propTypes = {\n handleClick: PropTypes.func.isRequired,\n favouriteIconIds: PropTypes.array,\n selectedIconId: PropTypes.string,\n color: PropTypes.string.isRequired,\n};\n\n/**\n * @example\n * <FavouriteModal\n * show={modalOpen}\n * handleClose={handleClose}\n * saveFavourite={onSaveFavourite}\n * location={selectedLocation}\n * favourite={favourite}\n * lang={lang}\n * autosuggestComponent={\n * <AutoSuggest\n * sources={['History', 'Datasource']}\n * targets={['Locations', 'CurrentPosition']}\n * id=\"favourite\"\n * autoFocus={false}\n * placeholder=\"search-address-or-place\"\n * value={selectedLocation.address || ''}\n * onFavouriteSelected={this.setLocationProperties}\n * lang={lang}\n * />\n * }\n * />\n */\nclass FavouriteModal extends React.Component {\n static propTypes = {\n isModalOpen: PropTypes.bool.isRequired,\n /** Required.\n * @type{function} */\n handleClose: PropTypes.func.isRequired,\n /** Required.\n * @type{function} */\n saveFavourite: PropTypes.func.isRequired,\n /** Required. Only used when editing favourite.\n * @type{function} */\n cancelSelected: PropTypes.func,\n /** Optional.\n * Autosuggest component for searching new favourites.\n * @type{node}\n */\n autosuggestComponent: PropTypes.node,\n /** Optional.\n * Object to prefill input field for name and/or selected icon.\n * @type {object}\n * @property {string} type\n * @property {string} address\n * @property {string} gtfsId\n * @property {string} gid\n * @property {number} lat\n * @property {number} lon\n * @property {string} name\n * @property {string} selectedIconId\n * @property {string} favouriteId\n * @property {string} layer\n * @property {string} defaultName\n */\n favourite: PropTypes.shape({\n type: PropTypes.string,\n address: PropTypes.string,\n gtfsId: PropTypes.string,\n gid: PropTypes.string,\n lat: PropTypes.number,\n lon: PropTypes.number,\n name: PropTypes.string,\n selectedIconId: PropTypes.string,\n favouriteId: PropTypes.string,\n layer: PropTypes.string,\n defaultName: PropTypes.string,\n }),\n /** Optional.\n * @type {function} */\n addAnalyticsEvent: PropTypes.func,\n /** Optional. Language, fi, en or sv.\n * @type {string} */\n lang: PropTypes.string,\n /** Optional. */\n isMobile: PropTypes.bool,\n appElement: PropTypes.string.isRequired,\n color: PropTypes.string,\n hoverColor: PropTypes.string,\n /** Optional. */\n fontWeights: PropTypes.shape({\n /** Default value is 500. */\n medium: PropTypes.number,\n }),\n };\n\n static defaultProps = {\n cancelSelected: () => ({}),\n lang: 'fi',\n isMobile: false,\n favourite: null,\n color: '#007ac9',\n hoverColor: '#0062a1',\n fontWeights: {\n medium: 500,\n },\n };\n\n static favouriteIconIds = [\n 'place',\n 'home',\n 'work',\n 'sport',\n 'school',\n 'shopping',\n ];\n\n constructor(props) {\n super(props);\n i18next.changeLanguage(props.lang);\n this.state = {\n favourite: null,\n };\n Object.keys(translations).forEach(lang => {\n i18next.addResourceBundle(lang, 'translation', translations[lang]);\n });\n }\n\n static getDerivedStateFromProps = (nextProps, prevState) => {\n const prevFav = prevState.favourite;\n const nextFav = nextProps.favourite;\n\n if (isEmpty(nextFav)) {\n return {\n favourite: null,\n };\n }\n\n if (isEmpty(prevFav) && !isEmpty(nextFav)) {\n return {\n favourite: {\n ...nextFav,\n },\n };\n }\n if (\n !isEmpty(prevFav) &&\n !isEmpty(nextFav) &&\n (nextFav.address !== prevFav.address ||\n nextFav.lat !== prevFav.lat ||\n nextFav.lon !== prevFav.lon)\n ) {\n return {\n favourite: {\n ...prevFav,\n address: nextFav.address,\n lat: nextFav.lat,\n lon: nextFav.lon,\n gid: nextFav.gid || null,\n name: prevFav.name || nextFav.name || '',\n defaultName: nextFav.defaultName,\n },\n };\n }\n return null;\n };\n\n componentDidUpdate = () => {\n if (i18next.language !== this.props.lang) {\n i18next.changeLanguage(this.props.lang);\n }\n };\n\n componentWillUnmount = () => {\n this.setState({ favourite: null });\n };\n\n specifyName = event => {\n const name = event.target.value;\n this.setState(prevState => ({\n favourite: { ...prevState.favourite, name },\n }));\n };\n\n selectIcon = id => {\n this.setState(prevState => ({\n favourite: {\n ...prevState.favourite,\n selectedIconId: `icon-icon_${id}`,\n },\n }));\n };\n\n isEdit = () =>\n this.state.favourite && this.state.favourite.favouriteId !== undefined;\n\n canSave = () =>\n this.state.favourite &&\n !isEmpty(this.state.favourite.selectedIconId) &&\n isNumber(this.state.favourite.lat) &&\n isNumber(this.state.favourite.lon);\n\n closeModal = () => {\n this.props.handleClose();\n // hsl-fi/modal close animation lasts 250ms\n setTimeout(() => {\n this.setState({ favourite: null });\n }, 250);\n };\n\n cancelSelected = () => {\n this.props.cancelSelected();\n // hsl-fi/modal close animation lasts 250ms\n setTimeout(() => {\n this.setState({ favourite: null });\n }, 250);\n };\n\n save = () => {\n if (this.canSave()) {\n const name = isEmpty(this.state.favourite.name)\n ? this.state.favourite.defaultName\n : this.state.favourite.name;\n\n const favourite = { ...this.state.favourite, name };\n delete favourite.defaultName;\n this.props.saveFavourite({ ...favourite, type: 'place' });\n if (this.props.addAnalyticsEvent) {\n this.props.addAnalyticsEvent({\n category: 'Favourite',\n action: 'SaveFavourite',\n name: this.state.favourite.selectedIconId,\n });\n }\n if (this.isEdit() && this.props.cancelSelected) {\n this.cancelSelected();\n } else {\n this.closeModal();\n }\n }\n };\n\n render = () => {\n const { favourite } = this.state;\n const { color, hoverColor, fontWeights } = this.props;\n const headerText = this.isEdit()\n ? i18next.t('edit-place')\n : i18next.t('save-place');\n const modalProps = {\n headerText,\n autosuggestComponent: {\n ...this.props.autosuggestComponent,\n color,\n hoverColor,\n },\n inputPlaceholder: i18next.t('input-placeholder'),\n specifyName: this.specifyName,\n name: (favourite && favourite.name) || '',\n chooseIconText: i18next.t('choose-icon'),\n favouriteIconTable: (\n <FavouriteIconTable\n selectedIconId={(() => {\n if ((favourite && favourite.selectedIconId !== undefined) || null) {\n return favourite.selectedIconId;\n }\n return undefined;\n })()}\n favouriteIconIds={FavouriteModal.favouriteIconIds}\n handleClick={this.selectIcon}\n color={color}\n />\n ),\n saveFavourite: this.save,\n saveText: i18next.t('save'),\n canSave: this.canSave,\n isEdit: this.isEdit(),\n cancelText: i18next.t('cancel'),\n cancelSelected: () => this.cancelSelected(),\n color,\n hoverColor,\n savePlaceText: i18next.t('save-place'),\n cantSaveText: i18next.t('cannot-save-place'),\n requiredText: i18next.t('required-text'),\n fontWeights,\n };\n return (\n <Modal\n appElement={this.props.appElement}\n contentLabel={\n this.isEdit()\n ? i18next.t('favourite-modal-on-edit', favourite)\n : i18next.t('favourite-modal-on-add-new')\n }\n closeButtonLabel={i18next.t('close-favourite-modal')}\n variant={!this.props.isMobile ? 'small' : 'large'}\n isOpen={this.props.isModalOpen}\n onCrossClick={() => this.closeModal()}\n >\n {!this.props.isMobile && <DesktopModal {...modalProps} />}\n {this.props.isMobile && <MobileModal {...modalProps} />}\n </Modal>\n );\n };\n}\n\nexport default FavouriteModal;\n","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_typeof","obj","Symbol","iterator","constructor","_possibleConstructorReturn","self","ReferenceError","assertThisInitialized","_getPrototypeOf","getPrototypeOf","_arrayLikeToArray","arr","len","arr2","Array","_slicedToArray","isArray","arrayWithHoles","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","value","err","iterableToArrayLimit","minLen","arrayLikeToArray","n","toString","slice","name","from","test","unsupportedIterableToArray","TypeError","nonIterableRest","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","translations","de","cancel","save","en","place","home","work","sport","school","shopping","fi","sv","DesktopModal","headerText","autosuggestComponent","inputPlaceholder","specifyName","chooseIconText","favouriteIconTable","saveFavourite","saveText","canSave","isEdit","cancelText","cancelSelected","color","hoverColor","savePlaceText","cantSaveText","requiredText","fontWeights","React","className","styles","medium","placeholder","onChange","onClick","process","propTypes","PropTypes","string","isRequired","node","func","bool","shape","number","defaultProps","MobileModal","disabled","init","lng","fallbackLng","defaultNS","interpolation","escapeValue","keys","forEach","lang","i18next","addResourceBundle","FavouriteIconIdToNameMap","FavouriteIconTableButton","selectedIconId","handleClick","useState","isHovered","setHover","isFocused","setFocus","iconColor","cx","onMouseEnter","onMouseLeave","onFocus","onBlur","t","Icon","img","FavouriteIconTable","favouriteIconIds","columns","map","row","array","FavouriteModal","subClass","superClass","create","Constructor","protoProps","staticProps","instance","componentDidUpdate","language","_this","changeLanguage","componentWillUnmount","setState","favourite","event","prevState","selectIcon","id","state","favouriteId","isEmpty","isNumber","lat","lon","closeModal","handleClose","setTimeout","defaultName","addAnalyticsEvent","category","action","render","modalProps","Modal","appElement","contentLabel","closeButtonLabel","variant","isMobile","isOpen","isModalOpen","onCrossClick","Component","getDerivedStateFromProps","nextProps","prevFav","nextFav","address","gid","gtfsId","layer"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../../node_modules/style-inject/dist/style-inject.es.js","../src/helpers/translations.js","../src/helpers/DesktopModal.js","../src/helpers/MobileModal.js","../src/index.js","../../../../node_modules/@babel/runtime/helpers/esm/inherits.js","../../../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","const translations = {\n de: {\n cancel: 'Abbrechen',\n 'choose-icon': 'Wählen Sie ein Symbol für diesen Ort',\n 'close-favourite-modal': 'Favoriten-Dialog schließen',\n 'edit-place': 'Ort bearbeiten',\n 'favourite-modal-on-add-new': 'Neuen Favoriten hinzufügen',\n 'favourite-modal-on-edit': 'Favorit bearbeiten: {{favourite.name}}',\n 'input-placeholder': 'Einen Namen für Ort setzen (optional)',\n save: 'Speichern',\n 'save-place': 'Favorit speichern',\n },\n en: {\n cancel: 'Cancel',\n 'choose-icon': \"Select the place's icon\",\n 'close-favourite-modal': 'Close the favourite modal',\n 'edit-place': 'Edit place',\n 'favourite-modal-on-add-new': 'Add a new favorite',\n 'favourite-modal-on-edit': 'Editing favourite: {{favourite.name}}',\n 'input-placeholder': 'Give the name a place (optional)',\n save: 'Save',\n 'save-place': 'Save place',\n 'cannot-save-place': 'Cannot save a place without address or icon',\n place: 'a place',\n home: 'home',\n work: 'work',\n sport: 'sport',\n school: 'school',\n shopping: 'shopping',\n 'required-text': 'required field',\n },\n fi: {\n cancel: 'Peruuta',\n 'choose-icon': 'Valitse paikan kuvake',\n 'close-favourite-modal': 'Sulje suosikkimodaali',\n 'edit-place': 'Muokkaa paikkaa',\n 'favourite-modal-on-add-new': 'Lisää uusi suosikki',\n 'favourite-modal-on-edit': 'Muokkaa suosikkia {{favourite.name}}',\n 'input-placeholder': 'Anna paikalle nimi (vapaaehtoinen)',\n save: 'Tallenna',\n 'save-place': 'Tallenna paikka',\n 'cannot-save-place':\n 'Paikkaa ilman osoitetta tai ikonia ei voida tallentaa',\n place: 'paikka',\n home: 'koti',\n work: 'työ',\n sport: 'urheilu',\n school: 'koulu',\n shopping: 'ostokset',\n 'required-text': 'pakollinen kenttä',\n },\n sv: {\n cancel: 'Avbryt',\n 'choose-icon': 'Välj platsens ikon',\n 'close-favourite-modal': 'Stäng favoritmodalen',\n 'edit-place': 'Redigera plats',\n 'favourite-modal-on-add-new': 'Lägg till ny favorit',\n 'favourite-modal-on-edit': 'Redigera platsen: {{favourite.name}}',\n 'input-placeholder': 'Ange platsens namn (frivilligt)',\n save: 'Spara',\n 'save-place': 'Spara plats',\n 'cannot-save-place':\n 'Det går inte att spara en plats utan adress eller ikon',\n place: 'en plats',\n home: 'hem',\n work: 'arbete',\n sport: 'sport',\n school: 'skola',\n shopping: 'shoppa',\n 'required-field': 'obligatoriskt fält',\n },\n};\n\nexport default translations;\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport styles from './desktop.scss';\n\nconst DesktopModal = ({\n headerText,\n autosuggestComponent,\n inputPlaceholder,\n specifyName,\n name,\n chooseIconText,\n favouriteIconTable,\n saveFavourite,\n saveText,\n canSave,\n isEdit,\n cancelText,\n cancelSelected,\n color,\n hoverColor,\n savePlaceText,\n cantSaveText,\n requiredText,\n fontWeights,\n}) => {\n return (\n <div\n className={styles['favourite-modal-desktop-container']}\n style={{\n '--color': `${color}`,\n '--hover-color': `${hoverColor}`,\n '--font-weight-medium': fontWeights.medium,\n }}\n >\n <div className={styles['favourite-modal-desktop-top']}>\n <div className={styles['favourite-modal-desktop-header']}>\n {headerText}\n </div>\n </div>\n <div className={styles['favourite-modal-desktop-main']}>\n <div className={styles['favourite-modal-desktop-location-search']}>\n {autosuggestComponent}\n </div>\n <div className={styles['favourite-modal-desktop-name']}>\n <input\n aria-label={inputPlaceholder}\n className={styles['favourite-modal-desktop-input']}\n value={name}\n placeholder={inputPlaceholder}\n onChange={specifyName}\n />\n </div>\n </div>\n <fieldset className={styles['icons-container']}>\n <legend className={styles['favourite-modal-desktop-text']}>\n {chooseIconText}\n <p className={styles['sr-only']}>{requiredText}</p>\n </legend>\n <div className={styles['favourite-modal-desktop-icons']}>\n {favouriteIconTable}\n </div>\n </fieldset>\n <div className={styles['favourite-modal-desktop-buttons']}>\n <button\n type=\"button\"\n className={cx(\n `${styles['favourite-modal-desktop-button']} ${styles.save} ${\n canSave() ? '' : styles.disabled\n }`,\n )}\n onClick={saveFavourite}\n aria-label={`${canSave() ? savePlaceText : cantSaveText}`}\n aria-disabled={!canSave()}\n >\n {saveText}\n </button>\n {isEdit && (\n <button\n type=\"button\"\n className={cx(\n `${styles['favourite-modal-desktop-button']} ${styles.edit} ${\n canSave() ? '' : styles.disabled\n }`,\n )}\n onClick={cancelSelected}\n >\n {cancelText}\n </button>\n )}\n </div>\n </div>\n );\n};\n\nDesktopModal.propTypes = {\n headerText: PropTypes.string.isRequired,\n autosuggestComponent: PropTypes.node.isRequired,\n inputPlaceholder: PropTypes.string.isRequired,\n specifyName: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n chooseIconText: PropTypes.string.isRequired,\n favouriteIconTable: PropTypes.node.isRequired,\n saveFavourite: PropTypes.func.isRequired,\n saveText: PropTypes.string.isRequired,\n canSave: PropTypes.func.isRequired,\n isEdit: PropTypes.bool,\n cancelText: PropTypes.string.isRequired,\n cancelSelected: PropTypes.func,\n color: PropTypes.string.isRequired,\n hoverColor: PropTypes.string.isRequired,\n savePlaceText: PropTypes.string.isRequired,\n cantSaveText: PropTypes.string.isRequired,\n requiredText: PropTypes.string.isRequired,\n fontWeights: PropTypes.shape({\n medium: PropTypes.number.isRequired,\n }).isRequired,\n};\n\nDesktopModal.defaultProps = {\n isEdit: false,\n cancelSelected: () => ({}),\n};\n\nexport default DesktopModal;\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport styles from './mobile.scss';\n\nconst MobileModal = ({\n headerText,\n autosuggestComponent,\n inputPlaceholder,\n specifyName,\n name,\n chooseIconText,\n favouriteIconTable,\n saveFavourite,\n saveText,\n canSave,\n color,\n hoverColor,\n savePlaceText,\n cantSaveText,\n requiredText,\n fontWeights,\n}) => {\n return (\n <div\n className={styles['favourite-modal-mobile-container']}\n style={{\n '--color': `${color}`,\n '--hover-color': `${hoverColor}`,\n '--font-weight-medium': fontWeights.medium,\n }}\n >\n <div className={styles['favourite-modal-mobile-top']}>\n <div className={styles['favourite-modal-mobile-header']}>\n {headerText}\n </div>\n </div>\n <div className={styles['favourite-modal-mobile-main']}>\n <div className={styles['favourite-modal-mobile-location-search']}>\n {autosuggestComponent}\n </div>\n <input\n className={styles['favourite-modal-mobile-input']}\n value={name || ''}\n placeholder={inputPlaceholder}\n onChange={specifyName}\n />\n </div>\n <div className={styles['favourite-modal-mobile-text']}>\n {chooseIconText}\n <p className={styles['sr-only']}>{requiredText}</p>\n </div>\n <div className={styles['favourite-modal-mobile-icons']}>\n {favouriteIconTable}\n </div>\n <div className={styles['favourite-modal-mobile-save']}>\n <button\n type=\"button\"\n className={cx(\n `${styles['favourite-modal-mobile-button']} ${\n canSave() ? '' : styles.disabled\n }`,\n )}\n onClick={saveFavourite}\n aria-label={`${canSave() ? savePlaceText : cantSaveText}`}\n >\n {saveText}\n </button>\n </div>\n </div>\n );\n};\n\nMobileModal.propTypes = {\n headerText: PropTypes.string.isRequired,\n autosuggestComponent: PropTypes.node.isRequired,\n inputPlaceholder: PropTypes.string.isRequired,\n specifyName: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n chooseIconText: PropTypes.string.isRequired,\n favouriteIconTable: PropTypes.node.isRequired,\n saveFavourite: PropTypes.func.isRequired,\n saveText: PropTypes.string.isRequired,\n canSave: PropTypes.func.isRequired,\n color: PropTypes.string.isRequired,\n hoverColor: PropTypes.string.isRequired,\n savePlaceText: PropTypes.string.isRequired,\n cantSaveText: PropTypes.string.isRequired,\n requiredText: PropTypes.string.isRequired,\n fontWeights: PropTypes.shape({\n medium: PropTypes.number.isRequired,\n }).isRequired,\n};\n\nexport default MobileModal;\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport i18next from 'i18next';\nimport isEmpty from 'lodash/isEmpty';\nimport isNumber from 'lodash/isNumber';\nimport Modal from '@hsl-fi/modal';\nimport Icon from '@digitransit-component/digitransit-component-icon';\nimport styles from './helpers/styles.scss';\nimport translations from './helpers/translations';\nimport DesktopModal from './helpers/DesktopModal';\nimport MobileModal from './helpers/MobileModal';\n\ni18next.init({\n lng: 'fi',\n fallbackLng: 'fi',\n defaultNS: 'translation',\n interpolation: {\n escapeValue: false, // not needed for react as it escapes by default\n },\n});\n\nObject.keys(translations).forEach(lang => {\n i18next.addResourceBundle(lang, 'translation', translations[lang]);\n});\n\nconst FavouriteIconIdToNameMap = {\n 'icon-icon_place': 'place',\n 'icon-icon_home': 'home',\n 'icon-icon_work': 'work',\n 'icon-icon_sport': 'sport',\n 'icon-icon_school': 'school',\n 'icon-icon_shopping': 'shopping',\n};\n\nconst FavouriteIconTableButton = ({\n value,\n selectedIconId,\n handleClick,\n color,\n}) => {\n const [isHovered, setHover] = useState(false);\n const [isFocused, setFocus] = useState(false);\n const iconColor =\n value === FavouriteIconIdToNameMap[selectedIconId] || isHovered || isFocused\n ? '#ffffff'\n : color;\n return (\n <button\n type=\"button\"\n className={cx(styles['favourite-icon-table-column'], styles[value], {\n [styles['selected-icon']]:\n value === FavouriteIconIdToNameMap[selectedIconId],\n })}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onFocus={() => setFocus(true)}\n onBlur={() => setFocus(false)}\n onClick={() => handleClick(value)}\n aria-label={i18next.t(value)}\n >\n <Icon img={value} color={iconColor} />\n </button>\n );\n};\n\nFavouriteIconTableButton.propTypes = {\n handleClick: PropTypes.func.isRequired,\n value: PropTypes.string,\n selectedIconId: PropTypes.string,\n color: PropTypes.string.isRequired,\n};\n\nconst FavouriteIconTable = ({\n favouriteIconIds,\n selectedIconId,\n handleClick,\n color,\n}) => {\n const columns = favouriteIconIds.map(value => (\n <FavouriteIconTableButton\n key={`favourite-icon-table-${value}`}\n value={value}\n selectedIconId={selectedIconId}\n handleClick={handleClick}\n color={color}\n />\n ));\n\n return (\n <div className={styles['generic-table']}>\n <div className={styles.row}>{columns}</div>\n </div>\n );\n};\n\nFavouriteIconTable.propTypes = {\n handleClick: PropTypes.func.isRequired,\n favouriteIconIds: PropTypes.array,\n selectedIconId: PropTypes.string,\n color: PropTypes.string.isRequired,\n};\n\n/**\n * @example\n * <FavouriteModal\n * show={modalOpen}\n * handleClose={handleClose}\n * saveFavourite={onSaveFavourite}\n * location={selectedLocation}\n * favourite={favourite}\n * lang={lang}\n * autosuggestComponent={\n * <AutoSuggest\n * sources={['History', 'Datasource']}\n * targets={['Locations', 'CurrentPosition']}\n * id=\"favourite\"\n * autoFocus={false}\n * placeholder=\"search-address-or-place\"\n * value={selectedLocation.address || ''}\n * onFavouriteSelected={this.setLocationProperties}\n * lang={lang}\n * />\n * }\n * />\n */\nclass FavouriteModal extends React.Component {\n static propTypes = {\n isModalOpen: PropTypes.bool.isRequired,\n /** Required.\n * @type{function} */\n handleClose: PropTypes.func.isRequired,\n /** Required.\n * @type{function} */\n saveFavourite: PropTypes.func.isRequired,\n /** Required. Only used when editing favourite.\n * @type{function} */\n cancelSelected: PropTypes.func,\n /** Optional.\n * Autosuggest component for searching new favourites.\n * @type{node}\n */\n autosuggestComponent: PropTypes.node,\n /** Optional.\n * Object to prefill input field for name and/or selected icon.\n * @type {object}\n * @property {string} type\n * @property {string} address\n * @property {string} gtfsId\n * @property {string} gid\n * @property {number} lat\n * @property {number} lon\n * @property {string} name\n * @property {string} selectedIconId\n * @property {string} favouriteId\n * @property {string} layer\n * @property {string} defaultName\n */\n favourite: PropTypes.shape({\n type: PropTypes.string,\n address: PropTypes.string,\n gtfsId: PropTypes.string,\n gid: PropTypes.string,\n lat: PropTypes.number,\n lon: PropTypes.number,\n name: PropTypes.string,\n selectedIconId: PropTypes.string,\n favouriteId: PropTypes.string,\n layer: PropTypes.string,\n defaultName: PropTypes.string,\n }),\n /** Optional.\n * @type {function} */\n addAnalyticsEvent: PropTypes.func,\n /** Optional. Language, fi, en or sv.\n * @type {string} */\n lang: PropTypes.string,\n /** Optional. */\n isMobile: PropTypes.bool,\n appElement: PropTypes.string.isRequired,\n color: PropTypes.string,\n hoverColor: PropTypes.string,\n /** Optional. */\n fontWeights: PropTypes.shape({\n /** Default value is 500. */\n medium: PropTypes.number,\n }),\n };\n\n static defaultProps = {\n cancelSelected: () => ({}),\n lang: 'fi',\n isMobile: false,\n favourite: null,\n color: '#007ac9',\n hoverColor: '#0062a1',\n fontWeights: {\n medium: 500,\n },\n };\n\n static favouriteIconIds = [\n 'place',\n 'home',\n 'work',\n 'sport',\n 'school',\n 'shopping',\n ];\n\n constructor(props) {\n super(props);\n i18next.changeLanguage(props.lang);\n this.state = {\n favourite: null,\n };\n Object.keys(translations).forEach(lang => {\n i18next.addResourceBundle(lang, 'translation', translations[lang]);\n });\n }\n\n static getDerivedStateFromProps = (nextProps, prevState) => {\n const prevFav = prevState.favourite;\n const nextFav = nextProps.favourite;\n\n if (isEmpty(nextFav)) {\n return {\n favourite: null,\n };\n }\n\n if (isEmpty(prevFav) && !isEmpty(nextFav)) {\n return {\n favourite: {\n ...nextFav,\n },\n };\n }\n if (\n !isEmpty(prevFav) &&\n !isEmpty(nextFav) &&\n (nextFav.address !== prevFav.address ||\n nextFav.lat !== prevFav.lat ||\n nextFav.lon !== prevFav.lon)\n ) {\n return {\n favourite: {\n ...prevFav,\n address: nextFav.address,\n lat: nextFav.lat,\n lon: nextFav.lon,\n gid: nextFav.gid || null,\n name: prevFav.name || nextFav.name || '',\n defaultName: nextFav.defaultName,\n },\n };\n }\n return null;\n };\n\n componentDidUpdate = () => {\n if (i18next.language !== this.props.lang) {\n i18next.changeLanguage(this.props.lang);\n }\n };\n\n componentWillUnmount = () => {\n this.setState({ favourite: null });\n };\n\n specifyName = event => {\n const name = event.target.value;\n this.setState(prevState => ({\n favourite: { ...prevState.favourite, name },\n }));\n };\n\n selectIcon = id => {\n this.setState(prevState => ({\n favourite: {\n ...prevState.favourite,\n selectedIconId: `icon-icon_${id}`,\n },\n }));\n };\n\n isEdit = () =>\n this.state.favourite && this.state.favourite.favouriteId !== undefined;\n\n canSave = () =>\n this.state.favourite &&\n !isEmpty(this.state.favourite.selectedIconId) &&\n isNumber(this.state.favourite.lat) &&\n isNumber(this.state.favourite.lon);\n\n closeModal = () => {\n this.props.handleClose();\n // hsl-fi/modal close animation lasts 250ms\n setTimeout(() => {\n this.setState({ favourite: null });\n }, 250);\n };\n\n cancelSelected = () => {\n this.props.cancelSelected();\n // hsl-fi/modal close animation lasts 250ms\n setTimeout(() => {\n this.setState({ favourite: null });\n }, 250);\n };\n\n save = () => {\n if (this.canSave()) {\n const name = isEmpty(this.state.favourite.name)\n ? this.state.favourite.defaultName\n : this.state.favourite.name;\n\n const favourite = { ...this.state.favourite, name };\n delete favourite.defaultName;\n this.props.saveFavourite({ ...favourite, type: 'place' });\n if (this.props.addAnalyticsEvent) {\n this.props.addAnalyticsEvent({\n category: 'Favourite',\n action: 'SaveFavourite',\n name: this.state.favourite.selectedIconId,\n });\n }\n if (this.isEdit() && this.props.cancelSelected) {\n this.cancelSelected();\n } else {\n this.closeModal();\n }\n }\n };\n\n render = () => {\n const { favourite } = this.state;\n const { color, hoverColor, fontWeights } = this.props;\n const headerText = this.isEdit()\n ? i18next.t('edit-place')\n : i18next.t('save-place');\n const modalProps = {\n headerText,\n autosuggestComponent: {\n ...this.props.autosuggestComponent,\n color,\n hoverColor,\n },\n inputPlaceholder: i18next.t('input-placeholder'),\n specifyName: this.specifyName,\n name: (favourite && favourite.name) || '',\n chooseIconText: i18next.t('choose-icon'),\n favouriteIconTable: (\n <FavouriteIconTable\n selectedIconId={(() => {\n if ((favourite && favourite.selectedIconId !== undefined) || null) {\n return favourite.selectedIconId;\n }\n return undefined;\n })()}\n favouriteIconIds={FavouriteModal.favouriteIconIds}\n handleClick={this.selectIcon}\n color={color}\n />\n ),\n saveFavourite: this.save,\n saveText: i18next.t('save'),\n canSave: this.canSave,\n isEdit: this.isEdit(),\n cancelText: i18next.t('cancel'),\n cancelSelected: () => this.cancelSelected(),\n color,\n hoverColor,\n savePlaceText: i18next.t('save-place'),\n cantSaveText: i18next.t('cannot-save-place'),\n requiredText: i18next.t('required-text'),\n fontWeights,\n };\n return (\n <Modal\n appElement={this.props.appElement}\n contentLabel={\n this.isEdit()\n ? i18next.t('favourite-modal-on-edit', favourite)\n : i18next.t('favourite-modal-on-add-new')\n }\n closeButtonLabel={i18next.t('close-favourite-modal')}\n variant={!this.props.isMobile ? 'small' : 'large'}\n isOpen={this.props.isModalOpen}\n onCrossClick={() => this.closeModal()}\n >\n {!this.props.isMobile && <DesktopModal {...modalProps} />}\n {this.props.isMobile && <MobileModal {...modalProps} />}\n </Modal>\n );\n };\n}\n\nexport default FavouriteModal;\n","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_typeof","obj","Symbol","iterator","constructor","_possibleConstructorReturn","self","ReferenceError","assertThisInitialized","_getPrototypeOf","getPrototypeOf","_arrayLikeToArray","arr","len","arr2","Array","_slicedToArray","isArray","arrayWithHoles","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","value","err","iterableToArrayLimit","minLen","arrayLikeToArray","n","toString","slice","name","from","test","unsupportedIterableToArray","TypeError","nonIterableRest","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","translations","de","cancel","save","en","place","home","work","sport","school","shopping","fi","sv","DesktopModal","headerText","autosuggestComponent","inputPlaceholder","specifyName","chooseIconText","favouriteIconTable","saveFavourite","saveText","canSave","isEdit","cancelText","cancelSelected","color","hoverColor","savePlaceText","cantSaveText","requiredText","fontWeights","React","className","styles","medium","placeholder","onChange","onClick","process","propTypes","PropTypes","string","isRequired","node","func","bool","shape","number","defaultProps","MobileModal","disabled","init","lng","fallbackLng","defaultNS","interpolation","escapeValue","keys","forEach","lang","i18next","addResourceBundle","FavouriteIconIdToNameMap","FavouriteIconTableButton","selectedIconId","handleClick","useState","isHovered","setHover","isFocused","setFocus","iconColor","cx","onMouseEnter","onMouseLeave","onFocus","onBlur","t","Icon","img","FavouriteIconTable","favouriteIconIds","columns","map","row","array","FavouriteModal","subClass","superClass","create","Constructor","protoProps","staticProps","instance","componentDidUpdate","language","_this","changeLanguage","componentWillUnmount","setState","favourite","event","prevState","selectIcon","id","state","favouriteId","isEmpty","isNumber","lat","lon","closeModal","handleClose","setTimeout","defaultName","addAnalyticsEvent","category","action","render","modalProps","Modal","appElement","contentLabel","closeButtonLabel","variant","isMobile","isOpen","isModalOpen","onCrossClick","Component","getDerivedStateFromProps","nextProps","prevFav","nextFav","address","gid","gtfsId","layer"],"mappings":"g3BAAe,SAASA,IAetB,OAdAA,EAAWC,OAAOC,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAASF,UAAUD,GAEvB,IAAK,IAAII,KAAOD,EACVN,OAAOQ,UAAUC,eAAeC,KAAKJ,EAAQC,KAC/CL,EAAOK,GAAOD,EAAOC,IAK3B,OAAOL,GAGFH,EAASY,MAAMC,KAAMR,WCf9B,SAASS,EAAkBX,EAAQY,GACjC,IAAK,IAAIX,EAAI,EAAGA,EAAIW,EAAMT,OAAQF,IAAK,CACrC,IAAIY,EAAaD,EAAMX,GACvBY,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDlB,OAAOmB,eAAejB,EAAQa,EAAWR,IAAKQ,ICNnC,SAASK,EAAgBC,EAAGC,GAMzC,OALAF,EAAkBpB,OAAOuB,gBAAkB,SAAyBF,EAAGC,GAErE,OADAD,EAAEG,UAAYF,EACPD,GAGFD,EAAgBC,EAAGC,GCNb,SAASG,EAAQC,GAa9B,OATED,EADoB,mBAAXE,QAAoD,iBAApBA,OAAOC,SACtC,SAAiBF,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAXC,QAAyBD,EAAIG,cAAgBF,QAAUD,IAAQC,OAAOnB,UAAY,gBAAkBkB,GAItHD,EAAQC,GCXF,SAASI,EAA2BC,EAAMrB,GACvD,OAAIA,GAA2B,WAAlBe,EAAQf,IAAsC,mBAATA,ECHrC,SAAgCqB,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIC,eAAe,6DAG3B,OAAOD,EDEAE,CAAsBF,GAHpBrB,EEJI,SAASwB,EAAgBb,GAItC,OAHAa,EAAkBlC,OAAOuB,eAAiBvB,OAAOmC,eAAiB,SAAyBd,GACzF,OAAOA,EAAEG,WAAaxB,OAAOmC,eAAed,IAEvCa,EAAgBb,GCJV,SAASe,EAAkBC,EAAKC,IAClC,MAAPA,GAAeA,EAAMD,EAAIhC,UAAQiC,EAAMD,EAAIhC,QAE/C,IAAK,IAAIF,EAAI,EAAGoC,EAAO,IAAIC,MAAMF,GAAMnC,EAAImC,EAAKnC,IAC9CoC,EAAKpC,GAAKkC,EAAIlC,GAGhB,OAAOoC,ECHM,SAASE,EAAeJ,EAAKlC,GAC1C,OCLa,SAAyBkC,GACtC,GAAIG,MAAME,QAAQL,GAAM,OAAOA,EDIxBM,CAAeN,IELT,SAA+BA,EAAKlC,GACjD,GAAsB,oBAAXwB,QAA4BA,OAAOC,YAAY5B,OAAOqC,GAAjE,CACA,IAAIO,EAAO,GACPC,GAAK,EACLC,GAAK,EACLC,OAAKC,EAET,IACE,IAAK,IAAiCC,EAA7BC,EAAKb,EAAIV,OAAOC,cAAmBiB,GAAMI,EAAKC,EAAGC,QAAQC,QAChER,EAAKS,KAAKJ,EAAGK,QAETnD,GAAKyC,EAAKvC,SAAWF,GAH8C0C,GAAK,IAK9E,MAAOU,GACPT,GAAK,EACLC,EAAKQ,UAEL,IACOV,GAAsB,MAAhBK,EAAW,QAAWA,EAAW,iBAE5C,GAAIJ,EAAI,MAAMC,GAIlB,OAAOH,GFnBuBY,CAAqBnB,EAAKlC,IGJ3C,SAAqCkB,EAAGoC,GACrD,GAAKpC,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAOqC,EAAiBrC,EAAGoC,GACtD,IAAIE,EAAI3D,OAAOQ,UAAUoD,SAASlD,KAAKW,GAAGwC,MAAM,GAAI,GAEpD,MADU,WAANF,GAAkBtC,EAAEQ,cAAa8B,EAAItC,EAAEQ,YAAYiC,MAC7C,QAANH,GAAqB,QAANA,EAAoBnB,MAAMuB,KAAK1C,GACxC,cAANsC,GAAqB,2CAA2CK,KAAKL,GAAWD,EAAiBrC,EAAGoC,QAAxG,GHF8DQ,CAA2B5B,EAAKlC,IILjF,WACb,MAAM,IAAI+D,UAAU,6IJIgFC,GKLtG,SAASC,EAAYC,EAAKC,QACX,IAARA,IAAiBA,EAAM,IAC5B,IAAIC,EAAWD,EAAIC,SAEnB,GAAKF,GAA2B,oBAAbG,SAAnB,CAEA,IAAIC,EAAOD,SAASC,MAAQD,SAASE,qBAAqB,QAAQ,GAC9DC,EAAQH,SAASI,cAAc,SACnCD,EAAME,KAAO,WAEI,QAAbN,GACEE,EAAKK,WACPL,EAAKM,aAAaJ,EAAOF,EAAKK,YAKhCL,EAAKO,YAAYL,GAGfA,EAAMM,WACRN,EAAMM,WAAWC,QAAUb,EAE3BM,EAAMK,YAAYR,SAASW,eAAed,yxECvB9C,IAAMe,EAAe,CACnBC,GAAI,CACFC,OAAQ,0BACO,+DACU,0CACX,8CACgB,uDACH,6DACN,wCACrBC,KAAM,yBACQ,qBAEhBC,GAAI,CACFF,OAAQ,uBACO,kDACU,yCACX,0CACgB,+CACH,4DACN,mCACrBC,KAAM,oBACQ,iCACO,8CACrBE,MAAO,UACPC,KAAM,OACNC,KAAM,OACNC,MAAO,QACPC,OAAQ,SACRC,SAAU,2BACO,kBAEnBC,GAAI,CACFT,OAAQ,wBACO,gDACU,qCACX,+CACgB,gDACH,2DACN,qCACrBC,KAAM,wBACQ,sCAEZ,wDACFE,MAAO,SACPC,KAAM,OACNC,KAAM,MACNC,MAAO,UACPC,OAAQ,QACRC,SAAU,2BACO,qBAEnBE,GAAI,CACFV,OAAQ,uBACO,6CACU,oCACX,8CACgB,iDACH,2DACN,kCACrBC,KAAM,qBACQ,kCAEZ,yDACFE,MAAO,WACPC,KAAM,MACNC,KAAM,SACNC,MAAO,QACPC,OAAQ,QACRC,SAAU,0BACQ,s7MC/DtB,IAAMG,EAAe,gBACnBC,IAAAA,WACAC,IAAAA,qBACAC,IAAAA,iBACAC,IAAAA,YACAvC,IAAAA,KACAwC,IAAAA,eACAC,IAAAA,mBACAC,IAAAA,cACAC,IAAAA,SACAC,IAAAA,QACAC,IAAAA,OACAC,IAAAA,WACAC,IAAAA,eACAC,IAAAA,MACAC,IAAAA,WACAC,IAAAA,cACAC,IAAAA,aACAC,IAAAA,aACAC,IAAAA,mBAGEC,+BACEC,UAAWC,EACX3C,MAAO,qBACSmC,6BACMC,0BACII,EAAYI,SAGtCH,+BAAKC,UAAWC,GACdF,+BAAKC,UAAWC,GACbpB,IAGLkB,+BAAKC,UAAWC,GACdF,+BAAKC,UAAWC,GACbnB,GAEHiB,+BAAKC,UAAWC,GACdF,8CACchB,EACZiB,UAAWC,EACXhE,MAAOQ,EACP0D,YAAapB,EACbqB,SAAUpB,MAIhBe,oCAAUC,UAAWC,GACnBF,kCAAQC,UAAWC,GAChBhB,EACDc,6BAAGC,UAAWC,GAAoBJ,IAEpCE,+BAAKC,UAAWC,GACbf,IAGLa,+BAAKC,UAAWC,GACdF,kCACEvC,KAAK,SACLwC,oBACKC,cAA4CA,cAC7CZ,IAAY,GAAKY,GAGrBI,QAASlB,yBACME,IAAYM,EAAgBC,oBAC3BP,KAEfD,GAEFE,GACCS,kCACEvC,KAAK,SACLwC,oBACKC,cAA4CA,cAC7CZ,IAAY,GAAKY,GAGrBI,QAASb,GAERD,qBAQbe,uBAAA1B,EAAa2B,UAAY,CACvB1B,WAAY2B,UAAUC,OAAOC,WAC7B5B,qBAAsB0B,UAAUG,KAAKD,WACrC3B,iBAAkByB,UAAUC,OAAOC,WACnC1B,YAAawB,UAAUI,KAAKF,WAC5BjE,KAAM+D,UAAUC,OAAOC,WACvBzB,eAAgBuB,UAAUC,OAAOC,WACjCxB,mBAAoBsB,UAAUG,KAAKD,WACnCvB,cAAeqB,UAAUI,KAAKF,WAC9BtB,SAAUoB,UAAUC,OAAOC,WAC3BrB,QAASmB,UAAUI,KAAKF,WACxBpB,OAAQkB,UAAUK,KAClBtB,WAAYiB,UAAUC,OAAOC,WAC7BlB,eAAgBgB,UAAUI,KAC1BnB,MAAOe,UAAUC,OAAOC,WACxBhB,WAAYc,UAAUC,OAAOC,WAC7Bf,cAAea,UAAUC,OAAOC,WAChCd,aAAcY,UAAUC,OAAOC,WAC/Bb,aAAcW,UAAUC,OAAOC,WAC/BZ,YAAaU,UAAUM,MAAM,CAC3BZ,OAAQM,UAAUO,OAAOL,aACxBA,aAGL9B,EAAaoC,aAAe,CAC1B1B,QAAQ,EACRE,eAAgB,iBAAO,q0KCpHzB,IAAMyB,EAAc,gBAClBpC,IAAAA,WACAC,IAAAA,qBACAC,IAAAA,iBACAC,IAAAA,YACAvC,IAAAA,KACAwC,IAAAA,eACAC,IAAAA,mBACAC,IAAAA,cACAC,IAAAA,SACAC,IAAAA,QACAI,IAAAA,MACAC,IAAAA,WACAC,IAAAA,cACAC,IAAAA,aACAC,IAAAA,aACAC,IAAAA,mBAGEC,+BACEC,UAAWC,EAAO,oCAClB3C,MAAO,qBACSmC,6BACMC,0BACII,EAAYI,SAGtCH,+BAAKC,UAAWC,EAAO,+BACrBF,+BAAKC,UAAWC,EAAO,kCACpBpB,IAGLkB,+BAAKC,UAAWC,EAAO,gCACrBF,+BAAKC,UAAWC,EAAO,2CACpBnB,GAEHiB,iCACEC,UAAWC,EAAO,gCAClBhE,MAAOQ,GAAQ,GACf0D,YAAapB,EACbqB,SAAUpB,KAGde,+BAAKC,UAAWC,EAAO,gCACpBhB,EACDc,6BAAGC,UAAWC,EAAO,YAAaJ,IAEpCE,+BAAKC,UAAWC,EAAO,iCACpBf,GAEHa,+BAAKC,UAAWC,EAAO,gCACrBF,kCACEvC,KAAK,SACLwC,oBACKC,EAAO,6CACRZ,IAAY,GAAKY,EAAOiB,UAG5Bb,QAASlB,yBACME,IAAYM,EAAgBC,IAE1CR,4bAOXkB,uBAAAW,EAAYV,UAAY,CACtB1B,WAAY2B,UAAUC,OAAOC,WAC7B5B,qBAAsB0B,UAAUG,KAAKD,WACrC3B,iBAAkByB,UAAUC,OAAOC,WACnC1B,YAAawB,UAAUI,KAAKF,WAC5BjE,KAAM+D,UAAUC,OAAOC,WACvBzB,eAAgBuB,UAAUC,OAAOC,WACjCxB,mBAAoBsB,UAAUG,KAAKD,WACnCvB,cAAeqB,UAAUI,KAAKF,WAC9BtB,SAAUoB,UAAUC,OAAOC,WAC3BrB,QAASmB,UAAUI,KAAKF,WACxBjB,MAAOe,UAAUC,OAAOC,WACxBhB,WAAYc,UAAUC,OAAOC,WAC7Bf,cAAea,UAAUC,OAAOC,WAChCd,aAAcY,UAAUC,OAAOC,WAC/Bb,aAAcW,UAAUC,OAAOC,WAC/BZ,YAAaU,UAAUM,MAAM,CAC3BZ,OAAQM,UAAUO,OAAOL,aACxBA,uBC9EGS,KAAK,CACXC,IAAK,KACLC,YAAa,KACbC,UAAW,cACXC,cAAe,CACbC,aAAa,KAIjB7I,OAAO8I,KAAK1D,GAAc2D,SAAQ,SAAAC,GAChCC,UAAQC,kBAAkBF,EAAM,cAAe5D,EAAa4D,OAG9D,IAAMG,EAA2B,mBACZ,yBACD,wBACA,yBACC,2BACC,8BACE,YAGlBC,EAA2B,gBAC/B9F,IAAAA,MACA+F,IAAAA,eACAC,IAAAA,YACAxC,IAAAA,UAE8ByC,YAAS,MAAhCC,OAAWC,WACYF,YAAS,MAAhCG,OAAWC,OACZC,EACJtG,IAAU6F,EAAyBE,IAAmBG,GAAaE,EAC/D,UACA5C,SAEJM,kCACEvC,KAAK,SACLwC,UAAWwC,UAAGvC,EAAO,+BAAgCA,EAAOhE,GAExDA,IAAU6F,EAAyBE,IADpC/B,EAAO,kBAGVwC,aAAc,kBAAML,GAAS,IAC7BM,aAAc,kBAAMN,GAAS,IAC7BO,QAAS,kBAAML,GAAS,IACxBM,OAAQ,kBAAMN,GAAS,IACvBjC,QAAS,kBAAM4B,EAAYhG,iBACf2F,UAAQiB,EAAE5G,IAEtB8D,wBAAC+C,WAAKC,IAAK9G,EAAOwD,MAAO8C,qBAK/BjC,uBAAAyB,EAAyBxB,UAAY,CACnC0B,YAAazB,UAAUI,KAAKF,WAC5BzE,MAAOuE,UAAUC,OACjBuB,eAAgBxB,UAAUC,OAC1BhB,MAAOe,UAAUC,OAAOC,aAG1B,IAAMsC,EAAqB,gBACzBC,IAAAA,iBACAjB,IAAAA,eACAC,IAAAA,YACAxC,IAAAA,MAEMyD,EAAUD,EAAiBE,KAAI,SAAAlH,UACnC8D,wBAACgC,GACC7I,mCAA6B+C,GAC7BA,MAAOA,EACP+F,eAAgBA,EAChBC,YAAaA,EACbxC,MAAOA,cAKTM,+BAAKC,UAAWC,EAAO,kBACrBF,+BAAKC,UAAWC,EAAOmD,KAAMF,oBAKnC5C,uBAAA0C,EAAmBzC,UAAY,CAC7B0B,YAAazB,UAAUI,KAAKF,WAC5BuC,iBAAkBzC,UAAU6C,MAC5BrB,eAAgBxB,UAAUC,OAC1BhB,MAAOe,UAAUC,OAAOC,iBA0BpB4C,eC9HS,SAAmBC,EAAUC,GAC1C,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAI3G,UAAU,sDAGtB0G,EAASpK,UAAYR,OAAO8K,OAAOD,GAAcA,EAAWrK,UAAW,CACrEqB,YAAa,CACXyB,MAAOsH,EACP1J,UAAU,EACVD,cAAc,KAGd4J,GAAYtJ,EAAeqJ,EAAUC,ajBHNE,EAAaC,EAAYC,oBgByMhDnK,gBEnNC,SAAyBoK,EAAUH,GAChD,KAAMG,aAAoBH,GACxB,MAAM,IAAI7G,UAAU,6DFkNdpD,IAiDRqK,mBAAqB,WACflC,UAAQmC,WAAaC,EAAKvK,MAAMkI,MAClCC,UAAQqC,eAAeD,EAAKvK,MAAMkI,SAItCuC,qBAAuB,aAChBC,SAAS,CAAEC,UAAW,UAG7BpF,YAAc,SAAAqF,OACN5H,EAAO4H,EAAMxL,OAAOoD,QACrBkI,UAAS,SAAAG,SAAc,CAC1BF,eAAgBE,EAAUF,WAAW3H,KAAAA,WAIzC8H,WAAa,SAAAC,KACNL,UAAS,SAAAG,SAAc,CAC1BF,eACKE,EAAUF,WACbpC,mCAA6BwC,YAKnClF,OAAS,kBACP0E,EAAKS,MAAML,gBAAkDzI,IAArCqI,EAAKS,MAAML,UAAUM,eAE/CrF,QAAU,kBACR2E,EAAKS,MAAML,YACVO,UAAQX,EAAKS,MAAML,UAAUpC,iBAC9B4C,UAASZ,EAAKS,MAAML,UAAUS,MAC9BD,UAASZ,EAAKS,MAAML,UAAUU,QAEhCC,WAAa,aACNtL,MAAMuL,cAEXC,YAAW,aACJd,SAAS,CAAEC,UAAW,SAC1B,QAGL5E,eAAiB,aACV/F,MAAM+F,iBAEXyF,YAAW,aACJd,SAAS,CAAEC,UAAW,SAC1B,QAGLlG,KAAO,cACD8F,EAAK3E,UAAW,KACZ5C,EAAOkI,UAAQX,EAAKS,MAAML,UAAU3H,MACtCuH,EAAKS,MAAML,UAAUc,YACrBlB,EAAKS,MAAML,UAAU3H,KAEnB2H,OAAiBJ,EAAKS,MAAML,WAAW3H,KAAAA,WACtC2H,EAAUc,cACZzL,MAAM0F,mBAAmBiF,GAAW5G,KAAM,WAC3CwG,EAAKvK,MAAM0L,qBACR1L,MAAM0L,kBAAkB,CAC3BC,SAAU,YACVC,OAAQ,gBACR5I,KAAMuH,EAAKS,MAAML,UAAUpC,iBAG3BgC,EAAK1E,UAAY0E,EAAKvK,MAAM+F,iBACzBA,mBAEAuF,iBAKXO,OAAS,eACClB,EAAcJ,EAAKS,MAAnBL,YACmCJ,EAAKvK,MAAxCgG,IAAAA,MAAOC,IAAAA,WAAYI,IAAAA,YAIrByF,EAAa,CACjB1G,WAJiBmF,EAAK1E,SACpBsC,UAAQiB,EAAE,cACVjB,UAAQiB,EAAE,cAGZ/D,0BACKkF,EAAKvK,MAAMqF,sBACdW,MAAAA,EACAC,WAAAA,IAEFX,iBAAkB6C,UAAQiB,EAAE,qBAC5B7D,YAAagF,EAAKhF,YAClBvC,KAAO2H,GAAaA,EAAU3H,MAAS,GACvCwC,eAAgB2C,UAAQiB,EAAE,eAC1B3D,mBACEa,wBAACiD,GACChB,eAAiB,cACVoC,QAA0CzI,IAA7ByI,EAAUpC,sBACnBoC,EAAUpC,eAFJ,GAMjBiB,iBAAkBK,EAAeL,iBACjChB,YAAa+B,EAAKO,WAClB9E,MAAOA,IAGXN,cAAe6E,EAAK9F,KACpBkB,SAAUwC,UAAQiB,EAAE,QACpBxD,QAAS2E,EAAK3E,QACdC,OAAQ0E,EAAK1E,SACbC,WAAYqC,UAAQiB,EAAE,UACtBrD,eAAgB,kBAAMwE,EAAKxE,kBAC3BC,MAAAA,EACAC,WAAAA,EACAC,cAAeiC,UAAQiB,EAAE,cACzBjD,aAAcgC,UAAQiB,EAAE,qBACxBhD,aAAc+B,UAAQiB,EAAE,iBACxB/C,YAAAA,UAGAC,wBAACyF,WACCC,WAAYzB,EAAKvK,MAAMgM,WACvBC,aACE1B,EAAK1E,SACDsC,UAAQiB,EAAE,0BAA2BuB,GACrCxC,UAAQiB,EAAE,8BAEhB8C,iBAAkB/D,UAAQiB,EAAE,yBAC5B+C,QAAU5B,EAAKvK,MAAMoM,SAAqB,QAAV,QAChCC,OAAQ9B,EAAKvK,MAAMsM,YACnBC,aAAc,kBAAMhC,EAAKe,gBAEvBf,EAAKvK,MAAMoM,UAAY9F,wBAACnB,EAAiB2G,GAC1CvB,EAAKvK,MAAMoM,UAAY9F,wBAACkB,EAAgBsE,KApL7C3D,UAAQqC,eAAexK,EAAMkI,QACxB8C,MAAQ,CACXL,UAAW,MAEbzL,OAAO8I,KAAK1D,GAAc2D,SAAQ,SAAAC,GAChCC,UAAQC,kBAAkBF,EAAM,cAAe5D,EAAa4D,gBhBhN7B+B,IAC/BC,GAAYnK,EAAkBkK,EAAYvK,UAAWwK,GACrDC,GAAapK,EAAkBkK,EAAaE,GACzCF,GgBkHoB3D,UAAMkG,WAA7B3C,EA+DGtC,aAAe,CACpBxB,eAAgB,iBAAO,IACvBmC,KAAM,KACNkE,UAAU,EACVzB,UAAW,KACX3E,MAAO,UACPC,WAAY,UACZI,YAAa,CACXI,OAAQ,MAvERoD,EA2EGL,iBAAmB,CACxB,QACA,OACA,OACA,QACA,SACA,YAjFEK,EA+FG4C,yBAA2B,SAACC,EAAW7B,OACtC8B,EAAU9B,EAAUF,UACpBiC,EAAUF,EAAU/B,iBAEtBO,UAAQ0B,GACH,CACLjC,UAAW,MAIXO,UAAQyB,KAAazB,UAAQ0B,GACxB,CACLjC,eACKiC,IAKN1B,UAAQyB,IACRzB,UAAQ0B,IACRA,EAAQC,UAAYF,EAAQE,SAC3BD,EAAQxB,MAAQuB,EAAQvB,KACxBwB,EAAQvB,MAAQsB,EAAQtB,IAcrB,KAZE,CACLV,eACKgC,GACHE,QAASD,EAAQC,QACjBzB,IAAKwB,EAAQxB,IACbC,IAAKuB,EAAQvB,IACbyB,IAAKF,EAAQE,KAAO,KACpB9J,KAAM2J,EAAQ3J,MAAQ4J,EAAQ5J,MAAQ,GACtCyI,YAAamB,EAAQnB,sDA/HzB5B,EACG/C,UAAY,CACjBwF,YAAavF,UAAUK,KAAKH,WAG5BsE,YAAaxE,UAAUI,KAAKF,WAG5BvB,cAAeqB,UAAUI,KAAKF,WAG9BlB,eAAgBgB,UAAUI,KAK1B9B,qBAAsB0B,UAAUG,KAgBhCyD,UAAW5D,UAAUM,MAAM,CACzBtD,KAAMgD,UAAUC,OAChB6F,QAAS9F,UAAUC,OACnB+F,OAAQhG,UAAUC,OAClB8F,IAAK/F,UAAUC,OACfoE,IAAKrE,UAAUO,OACf+D,IAAKtE,UAAUO,OACftE,KAAM+D,UAAUC,OAChBuB,eAAgBxB,UAAUC,OAC1BiE,YAAalE,UAAUC,OACvBgG,MAAOjG,UAAUC,OACjByE,YAAa1E,UAAUC,SAIzB0E,kBAAmB3E,UAAUI,KAG7Be,KAAMnB,UAAUC,OAEhBoF,SAAUrF,UAAUK,KACpB4E,WAAYjF,UAAUC,OAAOC,WAC7BjB,MAAOe,UAAUC,OACjBf,WAAYc,UAAUC,OAEtBX,YAAaU,UAAUM,MAAM,CAE3BZ,OAAQM,UAAUO"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitransit-component/digitransit-component-favourite-modal",
3
- "version": "0.3.19",
3
+ "version": "1.0.0",
4
4
  "description": "digitransit-component favourite-modal module",
5
5
  "main": "index.js",
6
6
  "files": [
@@ -29,7 +29,7 @@
29
29
  "author": "Digitransit Authors",
30
30
  "license": "(AGPL-3.0 OR EUPL-1.2)",
31
31
  "peerDependencies": {
32
- "@digitransit-component/digitransit-component-icon": "^0.1.18",
32
+ "@digitransit-component/digitransit-component-icon": "^0.2.0",
33
33
  "@hsl-fi/modal": "^0.3.1",
34
34
  "@hsl-fi/sass": "^0.2.0",
35
35
  "classnames": "2.2.6",
@@ -39,5 +39,5 @@
39
39
  "prop-types": "^15.7.2",
40
40
  "react": "^16.13.0"
41
41
  },
42
- "gitHead": "8edc31ccea3e36db4c204bdb062eba8ce5d98104"
42
+ "gitHead": "9b1aa29314665eb38be5b4863f89ab5a6425b2e3"
43
43
  }