{"version":3,"sources":["node_modules/dayjs/dayjs.min.js","node_modules/dayjs/locale/fr.js","node_modules/dayjs/plugin/customParseFormat.js","node_modules/dayjs/plugin/duration.js","node_modules/dayjs/plugin/localeData.js","node_modules/dayjs/plugin/localizedFormat.js","environments/environment.prod.ts","node_modules/ngx-webstorage/fesm2022/ngx-webstorage.mjs","libs/@shared/utils/src/lib/cache-storage/cache-storage.service.ts","libs/@shared/utils/src/lib/constants/cache-keys.constants.ts","libs/@shared/utils/src/lib/date-util/precise-date.type.ts","libs/@shared/utils/src/lib/date-util/pipes/precise-date.pipe.ts","libs/@shared/utils/src/lib/date-util/pipes/string-capitalize.pipe.ts","libs/@shared/utils/src/lib/interceptors/json-date.interceptor.ts","libs/@shared/utils/src/lib/screen-size-util/screen-size.service.ts","libs/@shared/utils/src/lib/services/subscription-service.ts","libs/@shared/utils/src/lib/utils.module.ts","node_modules/@angular/forms/fesm2022/forms.mjs","libs/@shared/utils/src/lib/extensions/form-data.extensions.ts","node_modules/@maskito/core/index.esm.js","node_modules/@maskito/kit/index.esm.js","libs/@shared/utils/src/lib/extensions/string.extensions.ts","libs/@shared/utils/src/lib/form-data-util/form-data.util.ts","libs/@shared/utils/src/lib/maskito/custom-maskito-mask.ts","libs/@shared/utils/src/lib/maskito/maskito-masks.constant.ts","libs/@shared/utils/src/lib/mime-type-util/mime-types.util.ts","libs/@shared/utils/src/lib/scripts/script.js","libs/@shared/utils/src/lib/services/logger.service.ts","node_modules/libphonenumber-js/metadata.min.json.js","node_modules/libphonenumber-js/min/exports/withMetadataArgument.js","node_modules/libphonenumber-js/es6/ParseError.js","node_modules/libphonenumber-js/es6/constants.js","node_modules/libphonenumber-js/es6/tools/semver-compare.js","node_modules/libphonenumber-js/es6/helpers/isObject.js","node_modules/libphonenumber-js/es6/metadata.js","node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","node_modules/libphonenumber-js/es6/helpers/parseDigits.js","node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","node_modules/libphonenumber-js/es6/helpers/mergeArrays.js","node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","node_modules/libphonenumber-js/es6/isPossible.js","node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","node_modules/libphonenumber-js/es6/helpers/getNumberType.js","node_modules/libphonenumber-js/es6/isValid.js","node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js","node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","node_modules/libphonenumber-js/es6/helpers/RFC3966.js","node_modules/libphonenumber-js/es6/format.js","node_modules/libphonenumber-js/es6/PhoneNumber.js","node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js","node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js","node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","node_modules/libphonenumber-js/es6/parse.js","node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js","node_modules/libphonenumber-js/es6/normalizeArguments.js","node_modules/libphonenumber-js/es6/parsePhoneNumberWithError.js","node_modules/libphonenumber-js/es6/parsePhoneNumber_.js","node_modules/libphonenumber-js/es6/isPossiblePhoneNumber.js","node_modules/libphonenumber-js/min/exports/parsePhoneNumberWithError.js","node_modules/libphonenumber-js/min/exports/isPossiblePhoneNumber.js","libs/@shared/utils/src/lib/validators/common.validators.ts","libs/@shared/utils/src/lib/validators/dates.validators.ts"],"sourcesContent":["!function (t, e) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = e() : \"function\" == typeof define && define.amd ? define(e) : (t = \"undefined\" != typeof globalThis ? globalThis : t || self).dayjs = e();\n}(this, function () {\n \"use strict\";\n\n var t = 1e3,\n e = 6e4,\n n = 36e5,\n r = \"millisecond\",\n i = \"second\",\n s = \"minute\",\n u = \"hour\",\n a = \"day\",\n o = \"week\",\n c = \"month\",\n f = \"quarter\",\n h = \"year\",\n d = \"date\",\n l = \"Invalid Date\",\n $ = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,\n y = /\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,\n M = {\n name: \"en\",\n weekdays: \"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),\n months: \"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),\n ordinal: function (t) {\n var e = [\"th\", \"st\", \"nd\", \"rd\"],\n n = t % 100;\n return \"[\" + t + (e[(n - 20) % 10] || e[n] || e[0]) + \"]\";\n }\n },\n m = function (t, e, n) {\n var r = String(t);\n return !r || r.length >= e ? t : \"\" + Array(e + 1 - r.length).join(n) + t;\n },\n v = {\n s: m,\n z: function (t) {\n var e = -t.utcOffset(),\n n = Math.abs(e),\n r = Math.floor(n / 60),\n i = n % 60;\n return (e <= 0 ? \"+\" : \"-\") + m(r, 2, \"0\") + \":\" + m(i, 2, \"0\");\n },\n m: function t(e, n) {\n if (e.date() < n.date()) return -t(n, e);\n var r = 12 * (n.year() - e.year()) + (n.month() - e.month()),\n i = e.clone().add(r, c),\n s = n - i < 0,\n u = e.clone().add(r + (s ? -1 : 1), c);\n return +(-(r + (n - i) / (s ? i - u : u - i)) || 0);\n },\n a: function (t) {\n return t < 0 ? Math.ceil(t) || 0 : Math.floor(t);\n },\n p: function (t) {\n return {\n M: c,\n y: h,\n w: o,\n d: a,\n D: d,\n h: u,\n m: s,\n s: i,\n ms: r,\n Q: f\n }[t] || String(t || \"\").toLowerCase().replace(/s$/, \"\");\n },\n u: function (t) {\n return void 0 === t;\n }\n },\n g = \"en\",\n D = {};\n D[g] = M;\n var p = \"$isDayjsObject\",\n S = function (t) {\n return t instanceof _ || !(!t || !t[p]);\n },\n w = function t(e, n, r) {\n var i;\n if (!e) return g;\n if (\"string\" == typeof e) {\n var s = e.toLowerCase();\n D[s] && (i = s), n && (D[s] = n, i = s);\n var u = e.split(\"-\");\n if (!i && u.length > 1) return t(u[0]);\n } else {\n var a = e.name;\n D[a] = e, i = a;\n }\n return !r && i && (g = i), i || !r && g;\n },\n O = function (t, e) {\n if (S(t)) return t.clone();\n var n = \"object\" == typeof e ? e : {};\n return n.date = t, n.args = arguments, new _(n);\n },\n b = v;\n b.l = w, b.i = S, b.w = function (t, e) {\n return O(t, {\n locale: e.$L,\n utc: e.$u,\n x: e.$x,\n $offset: e.$offset\n });\n };\n var _ = function () {\n function M(t) {\n this.$L = w(t.locale, null, !0), this.parse(t), this.$x = this.$x || t.x || {}, this[p] = !0;\n }\n var m = M.prototype;\n return m.parse = function (t) {\n this.$d = function (t) {\n var e = t.date,\n n = t.utc;\n if (null === e) return new Date(NaN);\n if (b.u(e)) return new Date();\n if (e instanceof Date) return new Date(e);\n if (\"string\" == typeof e && !/Z$/i.test(e)) {\n var r = e.match($);\n if (r) {\n var i = r[2] - 1 || 0,\n s = (r[7] || \"0\").substring(0, 3);\n return n ? new Date(Date.UTC(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s)) : new Date(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s);\n }\n }\n return new Date(e);\n }(t), this.init();\n }, m.init = function () {\n var t = this.$d;\n this.$y = t.getFullYear(), this.$M = t.getMonth(), this.$D = t.getDate(), this.$W = t.getDay(), this.$H = t.getHours(), this.$m = t.getMinutes(), this.$s = t.getSeconds(), this.$ms = t.getMilliseconds();\n }, m.$utils = function () {\n return b;\n }, m.isValid = function () {\n return !(this.$d.toString() === l);\n }, m.isSame = function (t, e) {\n var n = O(t);\n return this.startOf(e) <= n && n <= this.endOf(e);\n }, m.isAfter = function (t, e) {\n return O(t) < this.startOf(e);\n }, m.isBefore = function (t, e) {\n return this.endOf(e) < O(t);\n }, m.$g = function (t, e, n) {\n return b.u(t) ? this[e] : this.set(n, t);\n }, m.unix = function () {\n return Math.floor(this.valueOf() / 1e3);\n }, m.valueOf = function () {\n return this.$d.getTime();\n }, m.startOf = function (t, e) {\n var n = this,\n r = !!b.u(e) || e,\n f = b.p(t),\n l = function (t, e) {\n var i = b.w(n.$u ? Date.UTC(n.$y, e, t) : new Date(n.$y, e, t), n);\n return r ? i : i.endOf(a);\n },\n $ = function (t, e) {\n return b.w(n.toDate()[t].apply(n.toDate(\"s\"), (r ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e)), n);\n },\n y = this.$W,\n M = this.$M,\n m = this.$D,\n v = \"set\" + (this.$u ? \"UTC\" : \"\");\n switch (f) {\n case h:\n return r ? l(1, 0) : l(31, 11);\n case c:\n return r ? l(1, M) : l(0, M + 1);\n case o:\n var g = this.$locale().weekStart || 0,\n D = (y < g ? y + 7 : y) - g;\n return l(r ? m - D : m + (6 - D), M);\n case a:\n case d:\n return $(v + \"Hours\", 0);\n case u:\n return $(v + \"Minutes\", 1);\n case s:\n return $(v + \"Seconds\", 2);\n case i:\n return $(v + \"Milliseconds\", 3);\n default:\n return this.clone();\n }\n }, m.endOf = function (t) {\n return this.startOf(t, !1);\n }, m.$set = function (t, e) {\n var n,\n o = b.p(t),\n f = \"set\" + (this.$u ? \"UTC\" : \"\"),\n l = (n = {}, n[a] = f + \"Date\", n[d] = f + \"Date\", n[c] = f + \"Month\", n[h] = f + \"FullYear\", n[u] = f + \"Hours\", n[s] = f + \"Minutes\", n[i] = f + \"Seconds\", n[r] = f + \"Milliseconds\", n)[o],\n $ = o === a ? this.$D + (e - this.$W) : e;\n if (o === c || o === h) {\n var y = this.clone().set(d, 1);\n y.$d[l]($), y.init(), this.$d = y.set(d, Math.min(this.$D, y.daysInMonth())).$d;\n } else l && this.$d[l]($);\n return this.init(), this;\n }, m.set = function (t, e) {\n return this.clone().$set(t, e);\n }, m.get = function (t) {\n return this[b.p(t)]();\n }, m.add = function (r, f) {\n var d,\n l = this;\n r = Number(r);\n var $ = b.p(f),\n y = function (t) {\n var e = O(l);\n return b.w(e.date(e.date() + Math.round(t * r)), l);\n };\n if ($ === c) return this.set(c, this.$M + r);\n if ($ === h) return this.set(h, this.$y + r);\n if ($ === a) return y(1);\n if ($ === o) return y(7);\n var M = (d = {}, d[s] = e, d[u] = n, d[i] = t, d)[$] || 1,\n m = this.$d.getTime() + r * M;\n return b.w(m, this);\n }, m.subtract = function (t, e) {\n return this.add(-1 * t, e);\n }, m.format = function (t) {\n var e = this,\n n = this.$locale();\n if (!this.isValid()) return n.invalidDate || l;\n var r = t || \"YYYY-MM-DDTHH:mm:ssZ\",\n i = b.z(this),\n s = this.$H,\n u = this.$m,\n a = this.$M,\n o = n.weekdays,\n c = n.months,\n f = n.meridiem,\n h = function (t, n, i, s) {\n return t && (t[n] || t(e, r)) || i[n].slice(0, s);\n },\n d = function (t) {\n return b.s(s % 12 || 12, t, \"0\");\n },\n $ = f || function (t, e, n) {\n var r = t < 12 ? \"AM\" : \"PM\";\n return n ? r.toLowerCase() : r;\n };\n return r.replace(y, function (t, r) {\n return r || function (t) {\n switch (t) {\n case \"YY\":\n return String(e.$y).slice(-2);\n case \"YYYY\":\n return b.s(e.$y, 4, \"0\");\n case \"M\":\n return a + 1;\n case \"MM\":\n return b.s(a + 1, 2, \"0\");\n case \"MMM\":\n return h(n.monthsShort, a, c, 3);\n case \"MMMM\":\n return h(c, a);\n case \"D\":\n return e.$D;\n case \"DD\":\n return b.s(e.$D, 2, \"0\");\n case \"d\":\n return String(e.$W);\n case \"dd\":\n return h(n.weekdaysMin, e.$W, o, 2);\n case \"ddd\":\n return h(n.weekdaysShort, e.$W, o, 3);\n case \"dddd\":\n return o[e.$W];\n case \"H\":\n return String(s);\n case \"HH\":\n return b.s(s, 2, \"0\");\n case \"h\":\n return d(1);\n case \"hh\":\n return d(2);\n case \"a\":\n return $(s, u, !0);\n case \"A\":\n return $(s, u, !1);\n case \"m\":\n return String(u);\n case \"mm\":\n return b.s(u, 2, \"0\");\n case \"s\":\n return String(e.$s);\n case \"ss\":\n return b.s(e.$s, 2, \"0\");\n case \"SSS\":\n return b.s(e.$ms, 3, \"0\");\n case \"Z\":\n return i;\n }\n return null;\n }(t) || i.replace(\":\", \"\");\n });\n }, m.utcOffset = function () {\n return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);\n }, m.diff = function (r, d, l) {\n var $,\n y = this,\n M = b.p(d),\n m = O(r),\n v = (m.utcOffset() - this.utcOffset()) * e,\n g = this - m,\n D = function () {\n return b.m(y, m);\n };\n switch (M) {\n case h:\n $ = D() / 12;\n break;\n case c:\n $ = D();\n break;\n case f:\n $ = D() / 3;\n break;\n case o:\n $ = (g - v) / 6048e5;\n break;\n case a:\n $ = (g - v) / 864e5;\n break;\n case u:\n $ = g / n;\n break;\n case s:\n $ = g / e;\n break;\n case i:\n $ = g / t;\n break;\n default:\n $ = g;\n }\n return l ? $ : b.a($);\n }, m.daysInMonth = function () {\n return this.endOf(c).$D;\n }, m.$locale = function () {\n return D[this.$L];\n }, m.locale = function (t, e) {\n if (!t) return this.$L;\n var n = this.clone(),\n r = w(t, e, !0);\n return r && (n.$L = r), n;\n }, m.clone = function () {\n return b.w(this.$d, this);\n }, m.toDate = function () {\n return new Date(this.valueOf());\n }, m.toJSON = function () {\n return this.isValid() ? this.toISOString() : null;\n }, m.toISOString = function () {\n return this.$d.toISOString();\n }, m.toString = function () {\n return this.$d.toUTCString();\n }, M;\n }(),\n k = _.prototype;\n return O.prototype = k, [[\"$ms\", r], [\"$s\", i], [\"$m\", s], [\"$H\", u], [\"$W\", a], [\"$M\", c], [\"$y\", h], [\"$D\", d]].forEach(function (t) {\n k[t[1]] = function (e) {\n return this.$g(e, t[0], t[1]);\n };\n }), O.extend = function (t, e) {\n return t.$i || (t(e, _, O), t.$i = !0), O;\n }, O.locale = w, O.isDayjs = S, O.unix = function (t) {\n return O(1e3 * t);\n }, O.en = D[g], O.Ls = D, O.p = {}, O;\n});","!function (e, n) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = n(require(\"dayjs\")) : \"function\" == typeof define && define.amd ? define([\"dayjs\"], n) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_locale_fr = n(e.dayjs);\n}(this, function (e) {\n \"use strict\";\n\n function n(e) {\n return e && \"object\" == typeof e && \"default\" in e ? e : {\n default: e\n };\n }\n var t = n(e),\n i = {\n name: \"fr\",\n weekdays: \"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),\n weekdaysShort: \"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),\n weekdaysMin: \"di_lu_ma_me_je_ve_sa\".split(\"_\"),\n months: \"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre\".split(\"_\"),\n monthsShort: \"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.\".split(\"_\"),\n weekStart: 1,\n yearStart: 4,\n formats: {\n LT: \"HH:mm\",\n LTS: \"HH:mm:ss\",\n L: \"DD/MM/YYYY\",\n LL: \"D MMMM YYYY\",\n LLL: \"D MMMM YYYY HH:mm\",\n LLLL: \"dddd D MMMM YYYY HH:mm\"\n },\n relativeTime: {\n future: \"dans %s\",\n past: \"il y a %s\",\n s: \"quelques secondes\",\n m: \"une minute\",\n mm: \"%d minutes\",\n h: \"une heure\",\n hh: \"%d heures\",\n d: \"un jour\",\n dd: \"%d jours\",\n M: \"un mois\",\n MM: \"%d mois\",\n y: \"un an\",\n yy: \"%d ans\"\n },\n ordinal: function (e) {\n return \"\" + e + (1 === e ? \"er\" : \"\");\n }\n };\n return t.default.locale(i, null, !0), i;\n});","!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_plugin_customParseFormat = t();\n}(this, function () {\n \"use strict\";\n\n var e = {\n LTS: \"h:mm:ss A\",\n LT: \"h:mm A\",\n L: \"MM/DD/YYYY\",\n LL: \"MMMM D, YYYY\",\n LLL: \"MMMM D, YYYY h:mm A\",\n LLLL: \"dddd, MMMM D, YYYY h:mm A\"\n },\n t = /(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,\n n = /\\d/,\n r = /\\d\\d/,\n i = /\\d\\d?/,\n o = /\\d*[^-_:/,()\\s\\d]+/,\n s = {},\n a = function (e) {\n return (e = +e) + (e > 68 ? 1900 : 2e3);\n };\n var f = function (e) {\n return function (t) {\n this[e] = +t;\n };\n },\n h = [/[+-]\\d\\d:?(\\d\\d)?|Z/, function (e) {\n (this.zone || (this.zone = {})).offset = function (e) {\n if (!e) return 0;\n if (\"Z\" === e) return 0;\n var t = e.match(/([+-]|\\d\\d)/g),\n n = 60 * t[1] + (+t[2] || 0);\n return 0 === n ? 0 : \"+\" === t[0] ? -n : n;\n }(e);\n }],\n u = function (e) {\n var t = s[e];\n return t && (t.indexOf ? t : t.s.concat(t.f));\n },\n d = function (e, t) {\n var n,\n r = s.meridiem;\n if (r) {\n for (var i = 1; i <= 24; i += 1) if (e.indexOf(r(i, 0, t)) > -1) {\n n = i > 12;\n break;\n }\n } else n = e === (t ? \"pm\" : \"PM\");\n return n;\n },\n c = {\n A: [o, function (e) {\n this.afternoon = d(e, !1);\n }],\n a: [o, function (e) {\n this.afternoon = d(e, !0);\n }],\n Q: [n, function (e) {\n this.month = 3 * (e - 1) + 1;\n }],\n S: [n, function (e) {\n this.milliseconds = 100 * +e;\n }],\n SS: [r, function (e) {\n this.milliseconds = 10 * +e;\n }],\n SSS: [/\\d{3}/, function (e) {\n this.milliseconds = +e;\n }],\n s: [i, f(\"seconds\")],\n ss: [i, f(\"seconds\")],\n m: [i, f(\"minutes\")],\n mm: [i, f(\"minutes\")],\n H: [i, f(\"hours\")],\n h: [i, f(\"hours\")],\n HH: [i, f(\"hours\")],\n hh: [i, f(\"hours\")],\n D: [i, f(\"day\")],\n DD: [r, f(\"day\")],\n Do: [o, function (e) {\n var t = s.ordinal,\n n = e.match(/\\d+/);\n if (this.day = n[0], t) for (var r = 1; r <= 31; r += 1) t(r).replace(/\\[|\\]/g, \"\") === e && (this.day = r);\n }],\n w: [i, f(\"week\")],\n ww: [r, f(\"week\")],\n M: [i, f(\"month\")],\n MM: [r, f(\"month\")],\n MMM: [o, function (e) {\n var t = u(\"months\"),\n n = (u(\"monthsShort\") || t.map(function (e) {\n return e.slice(0, 3);\n })).indexOf(e) + 1;\n if (n < 1) throw new Error();\n this.month = n % 12 || n;\n }],\n MMMM: [o, function (e) {\n var t = u(\"months\").indexOf(e) + 1;\n if (t < 1) throw new Error();\n this.month = t % 12 || t;\n }],\n Y: [/[+-]?\\d+/, f(\"year\")],\n YY: [r, function (e) {\n this.year = a(e);\n }],\n YYYY: [/\\d{4}/, f(\"year\")],\n Z: h,\n ZZ: h\n };\n function l(n) {\n var r, i;\n r = n, i = s && s.formats;\n for (var o = (n = r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (t, n, r) {\n var o = r && r.toUpperCase();\n return n || i[r] || e[r] || i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g, function (e, t, n) {\n return t || n.slice(1);\n });\n })).match(t), a = o.length, f = 0; f < a; f += 1) {\n var h = o[f],\n u = c[h],\n d = u && u[0],\n l = u && u[1];\n o[f] = l ? {\n regex: d,\n parser: l\n } : h.replace(/^\\[|\\]$/g, \"\");\n }\n return function (e) {\n for (var t = {}, n = 0, r = 0; n < a; n += 1) {\n var i = o[n];\n if (\"string\" == typeof i) r += i.length;else {\n var s = i.regex,\n f = i.parser,\n h = e.slice(r),\n u = s.exec(h)[0];\n f.call(t, u), e = e.replace(u, \"\");\n }\n }\n return function (e) {\n var t = e.afternoon;\n if (void 0 !== t) {\n var n = e.hours;\n t ? n < 12 && (e.hours += 12) : 12 === n && (e.hours = 0), delete e.afternoon;\n }\n }(t), t;\n };\n }\n return function (e, t, n) {\n n.p.customParseFormat = !0, e && e.parseTwoDigitYear && (a = e.parseTwoDigitYear);\n var r = t.prototype,\n i = r.parse;\n r.parse = function (e) {\n var t = e.date,\n r = e.utc,\n o = e.args;\n this.$u = r;\n var a = o[1];\n if (\"string\" == typeof a) {\n var f = !0 === o[2],\n h = !0 === o[3],\n u = f || h,\n d = o[2];\n h && (d = o[2]), s = this.$locale(), !f && d && (s = n.Ls[d]), this.$d = function (e, t, n, r) {\n try {\n if ([\"x\", \"X\"].indexOf(t) > -1) return new Date((\"X\" === t ? 1e3 : 1) * e);\n var i = l(t)(e),\n o = i.year,\n s = i.month,\n a = i.day,\n f = i.hours,\n h = i.minutes,\n u = i.seconds,\n d = i.milliseconds,\n c = i.zone,\n m = i.week,\n M = new Date(),\n Y = a || (o || s ? 1 : M.getDate()),\n p = o || M.getFullYear(),\n v = 0;\n o && !s || (v = s > 0 ? s - 1 : M.getMonth());\n var D,\n w = f || 0,\n g = h || 0,\n y = u || 0,\n L = d || 0;\n return c ? new Date(Date.UTC(p, v, Y, w, g, y, L + 60 * c.offset * 1e3)) : n ? new Date(Date.UTC(p, v, Y, w, g, y, L)) : (D = new Date(p, v, Y, w, g, y, L), m && (D = r(D).week(m).toDate()), D);\n } catch (e) {\n return new Date(\"\");\n }\n }(t, a, r, n), this.init(), d && !0 !== d && (this.$L = this.locale(d).$L), u && t != this.format(a) && (this.$d = new Date(\"\")), s = {};\n } else if (a instanceof Array) for (var c = a.length, m = 1; m <= c; m += 1) {\n o[1] = a[m - 1];\n var M = n.apply(this, o);\n if (M.isValid()) {\n this.$d = M.$d, this.$L = M.$L, this.init();\n break;\n }\n m === c && (this.$d = new Date(\"\"));\n } else i.call(this, e);\n };\n };\n});","!function (t, s) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = s() : \"function\" == typeof define && define.amd ? define(s) : (t = \"undefined\" != typeof globalThis ? globalThis : t || self).dayjs_plugin_duration = s();\n}(this, function () {\n \"use strict\";\n\n var t,\n s,\n n = 1e3,\n i = 6e4,\n e = 36e5,\n r = 864e5,\n o = /\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,\n u = 31536e6,\n d = 2628e6,\n a = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,\n h = {\n years: u,\n months: d,\n days: r,\n hours: e,\n minutes: i,\n seconds: n,\n milliseconds: 1,\n weeks: 6048e5\n },\n c = function (t) {\n return t instanceof g;\n },\n f = function (t, s, n) {\n return new g(t, n, s.$l);\n },\n m = function (t) {\n return s.p(t) + \"s\";\n },\n l = function (t) {\n return t < 0;\n },\n $ = function (t) {\n return l(t) ? Math.ceil(t) : Math.floor(t);\n },\n y = function (t) {\n return Math.abs(t);\n },\n v = function (t, s) {\n return t ? l(t) ? {\n negative: !0,\n format: \"\" + y(t) + s\n } : {\n negative: !1,\n format: \"\" + t + s\n } : {\n negative: !1,\n format: \"\"\n };\n },\n g = function () {\n function l(t, s, n) {\n var i = this;\n if (this.$d = {}, this.$l = n, void 0 === t && (this.$ms = 0, this.parseFromMilliseconds()), s) return f(t * h[m(s)], this);\n if (\"number\" == typeof t) return this.$ms = t, this.parseFromMilliseconds(), this;\n if (\"object\" == typeof t) return Object.keys(t).forEach(function (s) {\n i.$d[m(s)] = t[s];\n }), this.calMilliseconds(), this;\n if (\"string\" == typeof t) {\n var e = t.match(a);\n if (e) {\n var r = e.slice(2).map(function (t) {\n return null != t ? Number(t) : 0;\n });\n return this.$d.years = r[0], this.$d.months = r[1], this.$d.weeks = r[2], this.$d.days = r[3], this.$d.hours = r[4], this.$d.minutes = r[5], this.$d.seconds = r[6], this.calMilliseconds(), this;\n }\n }\n return this;\n }\n var y = l.prototype;\n return y.calMilliseconds = function () {\n var t = this;\n this.$ms = Object.keys(this.$d).reduce(function (s, n) {\n return s + (t.$d[n] || 0) * h[n];\n }, 0);\n }, y.parseFromMilliseconds = function () {\n var t = this.$ms;\n this.$d.years = $(t / u), t %= u, this.$d.months = $(t / d), t %= d, this.$d.days = $(t / r), t %= r, this.$d.hours = $(t / e), t %= e, this.$d.minutes = $(t / i), t %= i, this.$d.seconds = $(t / n), t %= n, this.$d.milliseconds = t;\n }, y.toISOString = function () {\n var t = v(this.$d.years, \"Y\"),\n s = v(this.$d.months, \"M\"),\n n = +this.$d.days || 0;\n this.$d.weeks && (n += 7 * this.$d.weeks);\n var i = v(n, \"D\"),\n e = v(this.$d.hours, \"H\"),\n r = v(this.$d.minutes, \"M\"),\n o = this.$d.seconds || 0;\n this.$d.milliseconds && (o += this.$d.milliseconds / 1e3, o = Math.round(1e3 * o) / 1e3);\n var u = v(o, \"S\"),\n d = t.negative || s.negative || i.negative || e.negative || r.negative || u.negative,\n a = e.format || r.format || u.format ? \"T\" : \"\",\n h = (d ? \"-\" : \"\") + \"P\" + t.format + s.format + i.format + a + e.format + r.format + u.format;\n return \"P\" === h || \"-P\" === h ? \"P0D\" : h;\n }, y.toJSON = function () {\n return this.toISOString();\n }, y.format = function (t) {\n var n = t || \"YYYY-MM-DDTHH:mm:ss\",\n i = {\n Y: this.$d.years,\n YY: s.s(this.$d.years, 2, \"0\"),\n YYYY: s.s(this.$d.years, 4, \"0\"),\n M: this.$d.months,\n MM: s.s(this.$d.months, 2, \"0\"),\n D: this.$d.days,\n DD: s.s(this.$d.days, 2, \"0\"),\n H: this.$d.hours,\n HH: s.s(this.$d.hours, 2, \"0\"),\n m: this.$d.minutes,\n mm: s.s(this.$d.minutes, 2, \"0\"),\n s: this.$d.seconds,\n ss: s.s(this.$d.seconds, 2, \"0\"),\n SSS: s.s(this.$d.milliseconds, 3, \"0\")\n };\n return n.replace(o, function (t, s) {\n return s || String(i[t]);\n });\n }, y.as = function (t) {\n return this.$ms / h[m(t)];\n }, y.get = function (t) {\n var s = this.$ms,\n n = m(t);\n return \"milliseconds\" === n ? s %= 1e3 : s = \"weeks\" === n ? $(s / h[n]) : this.$d[n], s || 0;\n }, y.add = function (t, s, n) {\n var i;\n return i = s ? t * h[m(s)] : c(t) ? t.$ms : f(t, this).$ms, f(this.$ms + i * (n ? -1 : 1), this);\n }, y.subtract = function (t, s) {\n return this.add(t, s, !0);\n }, y.locale = function (t) {\n var s = this.clone();\n return s.$l = t, s;\n }, y.clone = function () {\n return f(this.$ms, this);\n }, y.humanize = function (s) {\n return t().add(this.$ms, \"ms\").locale(this.$l).fromNow(!s);\n }, y.valueOf = function () {\n return this.asMilliseconds();\n }, y.milliseconds = function () {\n return this.get(\"milliseconds\");\n }, y.asMilliseconds = function () {\n return this.as(\"milliseconds\");\n }, y.seconds = function () {\n return this.get(\"seconds\");\n }, y.asSeconds = function () {\n return this.as(\"seconds\");\n }, y.minutes = function () {\n return this.get(\"minutes\");\n }, y.asMinutes = function () {\n return this.as(\"minutes\");\n }, y.hours = function () {\n return this.get(\"hours\");\n }, y.asHours = function () {\n return this.as(\"hours\");\n }, y.days = function () {\n return this.get(\"days\");\n }, y.asDays = function () {\n return this.as(\"days\");\n }, y.weeks = function () {\n return this.get(\"weeks\");\n }, y.asWeeks = function () {\n return this.as(\"weeks\");\n }, y.months = function () {\n return this.get(\"months\");\n }, y.asMonths = function () {\n return this.as(\"months\");\n }, y.years = function () {\n return this.get(\"years\");\n }, y.asYears = function () {\n return this.as(\"years\");\n }, l;\n }(),\n p = function (t, s, n) {\n return t.add(s.years() * n, \"y\").add(s.months() * n, \"M\").add(s.days() * n, \"d\").add(s.hours() * n, \"h\").add(s.minutes() * n, \"m\").add(s.seconds() * n, \"s\").add(s.milliseconds() * n, \"ms\");\n };\n return function (n, i, e) {\n t = e, s = e().$utils(), e.duration = function (t, s) {\n var n = e.locale();\n return f(t, {\n $l: n\n }, s);\n }, e.isDuration = c;\n var r = i.prototype.add,\n o = i.prototype.subtract;\n i.prototype.add = function (t, s) {\n return c(t) ? p(this, t, 1) : r.bind(this)(t, s);\n }, i.prototype.subtract = function (t, s) {\n return c(t) ? p(this, t, -1) : o.bind(this)(t, s);\n };\n };\n});","!function (n, e) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = e() : \"function\" == typeof define && define.amd ? define(e) : (n = \"undefined\" != typeof globalThis ? globalThis : n || self).dayjs_plugin_localeData = e();\n}(this, function () {\n \"use strict\";\n\n return function (n, e, t) {\n var r = e.prototype,\n o = function (n) {\n return n && (n.indexOf ? n : n.s);\n },\n u = function (n, e, t, r, u) {\n var i = n.name ? n : n.$locale(),\n a = o(i[e]),\n s = o(i[t]),\n f = a || s.map(function (n) {\n return n.slice(0, r);\n });\n if (!u) return f;\n var d = i.weekStart;\n return f.map(function (n, e) {\n return f[(e + (d || 0)) % 7];\n });\n },\n i = function () {\n return t.Ls[t.locale()];\n },\n a = function (n, e) {\n return n.formats[e] || function (n) {\n return n.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g, function (n, e, t) {\n return e || t.slice(1);\n });\n }(n.formats[e.toUpperCase()]);\n },\n s = function () {\n var n = this;\n return {\n months: function (e) {\n return e ? e.format(\"MMMM\") : u(n, \"months\");\n },\n monthsShort: function (e) {\n return e ? e.format(\"MMM\") : u(n, \"monthsShort\", \"months\", 3);\n },\n firstDayOfWeek: function () {\n return n.$locale().weekStart || 0;\n },\n weekdays: function (e) {\n return e ? e.format(\"dddd\") : u(n, \"weekdays\");\n },\n weekdaysMin: function (e) {\n return e ? e.format(\"dd\") : u(n, \"weekdaysMin\", \"weekdays\", 2);\n },\n weekdaysShort: function (e) {\n return e ? e.format(\"ddd\") : u(n, \"weekdaysShort\", \"weekdays\", 3);\n },\n longDateFormat: function (e) {\n return a(n.$locale(), e);\n },\n meridiem: this.$locale().meridiem,\n ordinal: this.$locale().ordinal\n };\n };\n r.localeData = function () {\n return s.bind(this)();\n }, t.localeData = function () {\n var n = i();\n return {\n firstDayOfWeek: function () {\n return n.weekStart || 0;\n },\n weekdays: function () {\n return t.weekdays();\n },\n weekdaysShort: function () {\n return t.weekdaysShort();\n },\n weekdaysMin: function () {\n return t.weekdaysMin();\n },\n months: function () {\n return t.months();\n },\n monthsShort: function () {\n return t.monthsShort();\n },\n longDateFormat: function (e) {\n return a(n, e);\n },\n meridiem: n.meridiem,\n ordinal: n.ordinal\n };\n }, t.months = function () {\n return u(i(), \"months\");\n }, t.monthsShort = function () {\n return u(i(), \"monthsShort\", \"months\", 3);\n }, t.weekdays = function (n) {\n return u(i(), \"weekdays\", null, null, n);\n }, t.weekdaysShort = function (n) {\n return u(i(), \"weekdaysShort\", \"weekdays\", 3, n);\n }, t.weekdaysMin = function (n) {\n return u(i(), \"weekdaysMin\", \"weekdays\", 2, n);\n };\n };\n});","!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).dayjs_plugin_localizedFormat = t();\n}(this, function () {\n \"use strict\";\n\n var e = {\n LTS: \"h:mm:ss A\",\n LT: \"h:mm A\",\n L: \"MM/DD/YYYY\",\n LL: \"MMMM D, YYYY\",\n LLL: \"MMMM D, YYYY h:mm A\",\n LLLL: \"dddd, MMMM D, YYYY h:mm A\"\n };\n return function (t, o, n) {\n var r = o.prototype,\n i = r.format;\n n.en.formats = e, r.format = function (t) {\n void 0 === t && (t = \"YYYY-MM-DDTHH:mm:ssZ\");\n var o = this.$locale().formats,\n n = function (t, o) {\n return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (t, n, r) {\n var i = r && r.toUpperCase();\n return n || o[r] || e[r] || o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g, function (e, t, o) {\n return t || o.slice(1);\n });\n });\n }(t, void 0 === o ? {} : o);\n return i.call(this, n);\n };\n };\n});","export const environment = {\r\n\tproduction: true,\r\n\tapiRoot: \"##{apiRoot}##\",\r\n\tauthApiRoot: \"##{authApiRoot}##\",\r\n\tappDisplayName: \"##{appDisplayName}##\",\r\n\tappName: \"##{appName}##\",\r\n\tappVersion: \"##{appVersion}##\",\r\n\tappVersionName: \"##{appVersionName}##\",\r\n\tauthority: \"##{authority}##\",\r\n\tclientId: \"##{clientId}##\",\r\n\tclientSecret: \"##{clientSecret}##\",\r\n\tenableAdminSolicitationReading: \"##{enableAdminSolicitationReading}##\",\r\n\tenableIntegrationMode: \"##{enableIntegrationMode}##\",\r\n\tgoogleAnalyticsCode: \"##{googleAnalyticsCode}##\",\r\n\thostHub: \"##{hostHub}##\",\r\n\tsumUpAffiliateKey: \"##{sumUpAffiliateKey}##\",\r\n\tsumUpCallbackPath: \"##{sumUpCallbackPath}##\",\r\n\tsumUpSchemeUrl: \"##{sumUpSchemeUrl}##\",\r\n\tsystemPayPaymentUrl: \"##{systemPayPaymentUrl}##\",\r\n\tuseRopcFlow: \"##{useRopcFlow}##\",\r\n\tuserSessionNbMinutes: \"##{userSessionNbMinutes}##\",\r\n};\r\n","import { filter, switchMap, distinctUntilChanged, shareReplay, map } from 'rxjs/operators';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken, PLATFORM_ID, Inject, Optional, inject, makeEnvironmentProviders, APP_INITIALIZER } from '@angular/core';\nimport { Subject, of } from 'rxjs';\nimport { isPlatformBrowser } from '@angular/common';\nvar StorageStrategies = /*#__PURE__*/function (StorageStrategies) {\n StorageStrategies[\"Local\"] = \"local_strategy\";\n StorageStrategies[\"Session\"] = \"session_strategy\";\n StorageStrategies[\"InMemory\"] = \"in_memory_strategy\";\n return StorageStrategies;\n}(StorageStrategies || {});\nclass CompatHelper {\n static isStorageAvailable(storage) {\n let available = true;\n try {\n if (typeof storage === 'object') {\n storage.setItem('test-storage', 'foobar');\n storage.removeItem('test-storage');\n } else available = false;\n } catch (e) {\n available = false;\n }\n return available;\n }\n}\nfunction noop() {}\nconst DefaultPrefix = 'ngx-webstorage';\nconst DefaultSeparator = '|';\nconst DefaultIsCaseSensitive = false;\nlet StorageKeyManager = /*#__PURE__*/(() => {\n class StorageKeyManager {\n static {\n this.prefix = DefaultPrefix;\n }\n static {\n this.separator = DefaultSeparator;\n }\n static {\n this.isCaseSensitive = DefaultIsCaseSensitive;\n }\n static normalize(raw) {\n raw = StorageKeyManager.isCaseSensitive ? raw : raw.toLowerCase();\n return `${StorageKeyManager.prefix}${StorageKeyManager.separator}${raw}`;\n }\n static isNormalizedKey(key) {\n return key.indexOf(StorageKeyManager.prefix + StorageKeyManager.separator) === 0;\n }\n static setPrefix(prefix) {\n StorageKeyManager.prefix = prefix;\n }\n static setSeparator(separator) {\n StorageKeyManager.separator = separator;\n }\n static setCaseSensitive(enable) {\n StorageKeyManager.isCaseSensitive = enable;\n }\n static consumeConfiguration(config) {\n if ('prefix' in config) this.setPrefix(config.prefix);\n if ('separator' in config) this.setSeparator(config.separator);\n if ('caseSensitive' in config) this.setCaseSensitive(config.caseSensitive);\n }\n }\n return StorageKeyManager;\n})();\nclass SyncStorage {\n constructor(strategy) {\n this.strategy = strategy;\n }\n retrieve(key) {\n let value;\n this.strategy.get(StorageKeyManager.normalize(key)).subscribe(result => value = typeof result === 'undefined' ? null : result);\n return value;\n }\n store(key, value) {\n this.strategy.set(StorageKeyManager.normalize(key), value).subscribe(noop);\n return value;\n }\n clear(key) {\n if (key !== undefined) this.strategy.del(StorageKeyManager.normalize(key)).subscribe(noop);else this.strategy.clear().subscribe(noop);\n }\n getStrategyName() {\n return this.strategy.name;\n }\n observe(key) {\n key = StorageKeyManager.normalize(key);\n return this.strategy.keyChanges.pipe(filter(changed => changed === null || changed === key), switchMap(() => this.strategy.get(key)), distinctUntilChanged(), shareReplay({\n refCount: true,\n bufferSize: 1\n }));\n }\n}\nclass AsyncStorage {\n constructor(strategy) {\n this.strategy = strategy;\n }\n retrieve(key) {\n return this.strategy.get(StorageKeyManager.normalize(key)).pipe(map(value => typeof value === 'undefined' ? null : value));\n }\n store(key, value) {\n return this.strategy.set(StorageKeyManager.normalize(key), value);\n }\n clear(key) {\n return key !== undefined ? this.strategy.del(StorageKeyManager.normalize(key)) : this.strategy.clear();\n }\n getStrategyName() {\n return this.strategy.name;\n }\n observe(key) {\n key = StorageKeyManager.normalize(key);\n return this.strategy.keyChanges.pipe(filter(changed => changed === null || changed === key), switchMap(() => this.strategy.get(key)), distinctUntilChanged(), shareReplay({\n refCount: true,\n bufferSize: 1\n }));\n }\n}\nlet StrategyCacheService = /*#__PURE__*/(() => {\n class StrategyCacheService {\n constructor() {\n this.caches = {};\n }\n get(strategyName, key) {\n return this.getCacheStore(strategyName)[key];\n }\n set(strategyName, key, value) {\n this.getCacheStore(strategyName)[key] = value;\n }\n del(strategyName, key) {\n delete this.getCacheStore(strategyName)[key];\n }\n clear(strategyName) {\n this.caches[strategyName] = {};\n }\n getCacheStore(strategyName) {\n if (strategyName in this.caches) return this.caches[strategyName];\n return this.caches[strategyName] = {};\n }\n static {\n this.ɵfac = function StrategyCacheService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StrategyCacheService)();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: StrategyCacheService,\n factory: StrategyCacheService.ɵfac,\n providedIn: 'root'\n });\n }\n }\n return StrategyCacheService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst LOCAL_STORAGE = new InjectionToken('window_local_storage');\nfunction getLocalStorage() {\n return typeof window !== 'undefined' ? window.localStorage : null;\n}\nconst LocalStorageProvider = {\n provide: LOCAL_STORAGE,\n useFactory: getLocalStorage\n};\nconst SESSION_STORAGE = new InjectionToken('window_session_storage');\nfunction getSessionStorage() {\n return typeof window !== 'undefined' ? window.sessionStorage : null;\n}\nconst SessionStorageProvider = {\n provide: SESSION_STORAGE,\n useFactory: getSessionStorage\n};\nclass BaseSyncStorageStrategy {\n constructor(storage, cache) {\n this.storage = storage;\n this.cache = cache;\n this.keyChanges = new Subject();\n }\n get isAvailable() {\n if (this._isAvailable === undefined) this._isAvailable = CompatHelper.isStorageAvailable(this.storage);\n return this._isAvailable;\n }\n get(key) {\n let data = this.cache.get(this.name, key);\n if (data !== undefined) return of(data);\n try {\n const item = this.storage.getItem(key);\n if (item !== null) {\n data = JSON.parse(item);\n this.cache.set(this.name, key, data);\n }\n } catch (err) {\n console.warn(err);\n }\n return of(data);\n }\n set(key, value) {\n const data = JSON.stringify(value);\n this.storage.setItem(key, data);\n this.cache.set(this.name, key, value);\n this.keyChanges.next(key);\n return of(value);\n }\n del(key) {\n this.storage.removeItem(key);\n this.cache.del(this.name, key);\n this.keyChanges.next(key);\n return of(null);\n }\n clear() {\n this.storage.clear();\n this.cache.clear(this.name);\n this.keyChanges.next(null);\n return of(null);\n }\n}\nclass LocalStorageStrategy extends BaseSyncStorageStrategy {\n static {\n this.strategyName = StorageStrategies.Local;\n }\n constructor(storage, cache, platformId, zone) {\n super(storage, cache);\n this.storage = storage;\n this.cache = cache;\n this.platformId = platformId;\n this.zone = zone;\n this.name = LocalStorageStrategy.strategyName;\n if (isPlatformBrowser(this.platformId)) this.listenExternalChanges();\n }\n listenExternalChanges() {\n window.addEventListener('storage', event => this.zone.run(() => {\n if (event.storageArea !== this.storage) return;\n const key = event.key;\n if (key !== null) this.cache.del(this.name, event.key);else this.cache.clear(this.name);\n this.keyChanges.next(key);\n }));\n }\n static {\n this.ɵfac = function LocalStorageStrategy_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || LocalStorageStrategy)(i0.ɵɵinject(LOCAL_STORAGE), i0.ɵɵinject(StrategyCacheService), i0.ɵɵinject(PLATFORM_ID), i0.ɵɵinject(i0.NgZone));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: LocalStorageStrategy,\n factory: LocalStorageStrategy.ɵfac\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass SessionStorageStrategy extends BaseSyncStorageStrategy {\n static {\n this.strategyName = StorageStrategies.Session;\n }\n constructor(storage, cache, platformId, zone) {\n super(storage, cache);\n this.storage = storage;\n this.cache = cache;\n this.platformId = platformId;\n this.zone = zone;\n this.name = SessionStorageStrategy.strategyName;\n if (isPlatformBrowser(this.platformId)) this.listenExternalChanges();\n }\n listenExternalChanges() {\n window.addEventListener('storage', event => this.zone.run(() => {\n if (event.storageArea !== this.storage) return;\n const key = event.key;\n if (event.key !== null) this.cache.del(this.name, event.key);else this.cache.clear(this.name);\n this.keyChanges.next(key);\n }));\n }\n static {\n this.ɵfac = function SessionStorageStrategy_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || SessionStorageStrategy)(i0.ɵɵinject(SESSION_STORAGE), i0.ɵɵinject(StrategyCacheService), i0.ɵɵinject(PLATFORM_ID), i0.ɵɵinject(i0.NgZone));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SessionStorageStrategy,\n factory: SessionStorageStrategy.ɵfac\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass InMemoryStorageStrategy {\n static {\n this.strategyName = StorageStrategies.InMemory;\n }\n constructor(cache) {\n this.cache = cache;\n this.keyChanges = new Subject();\n this.isAvailable = true;\n this.name = InMemoryStorageStrategy.strategyName;\n }\n get(key) {\n return of(this.cache.get(this.name, key));\n }\n set(key, value) {\n this.cache.set(this.name, key, value);\n this.keyChanges.next(key);\n return of(value);\n }\n del(key) {\n this.cache.del(this.name, key);\n this.keyChanges.next(key);\n return of(null);\n }\n clear() {\n this.cache.clear(this.name);\n this.keyChanges.next(null);\n return of(null);\n }\n static {\n this.ɵfac = function InMemoryStorageStrategy_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || InMemoryStorageStrategy)(i0.ɵɵinject(StrategyCacheService));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: InMemoryStorageStrategy,\n factory: InMemoryStorageStrategy.ɵfac\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst STORAGE_STRATEGIES = new InjectionToken('STORAGE_STRATEGIES');\nconst Strategies = [{\n provide: STORAGE_STRATEGIES,\n useClass: InMemoryStorageStrategy,\n multi: true\n}, {\n provide: STORAGE_STRATEGIES,\n useClass: LocalStorageStrategy,\n multi: true\n}, {\n provide: STORAGE_STRATEGIES,\n useClass: SessionStorageStrategy,\n multi: true\n}];\nconst [InMemoryStorageStrategyProvider, LocalStorageStrategyProvider, SessionStorageStrategyProvider] = Strategies;\nconst StorageStrategyStubName = 'stub_strategy';\nclass StorageStrategyStub {\n constructor(name) {\n this.keyChanges = new Subject();\n this.store = {};\n this._available = true;\n this.name = name || StorageStrategyStubName;\n }\n get isAvailable() {\n return this._available;\n }\n get(key) {\n return of(this.store[key]);\n }\n set(key, value) {\n this.store[key] = value;\n this.keyChanges.next(key);\n return of(value);\n }\n del(key) {\n delete this.store[key];\n this.keyChanges.next(key);\n return of(null);\n }\n clear() {\n this.store = {};\n this.keyChanges.next(null);\n return of(null);\n }\n}\nclass StorageStub {\n constructor() {\n this.store = {};\n }\n get length() {\n return Object.keys(this.store).length;\n }\n clear() {\n this.store = {};\n }\n getItem(key) {\n return this.store[key] || null;\n }\n key(index) {\n return Object.keys(this.store)[index];\n }\n removeItem(key) {\n delete this.store[key];\n }\n setItem(key, value) {\n this.store[key] = value;\n }\n}\nconst InvalidStrategyError = 'invalid_strategy';\nlet StrategyIndex = /*#__PURE__*/(() => {\n class StrategyIndex {\n static {\n this.index = {};\n }\n constructor(strategies) {\n this.strategies = strategies;\n this.registration$ = new Subject();\n if (!strategies) strategies = [];\n this.strategies = strategies.reverse().map((strategy, index, arr) => strategy.name).map((name, index, arr) => arr.indexOf(name) === index ? index : null).filter(index => index !== null).map(index => strategies[index]);\n }\n static get(name) {\n if (!this.isStrategyRegistered(name)) throw Error(InvalidStrategyError);\n let strategy = this.index[name];\n if (!strategy.isAvailable) {\n strategy = this.index[StorageStrategies.InMemory];\n }\n return strategy;\n }\n static set(name, strategy) {\n this.index[name] = strategy;\n }\n static clear(name) {\n if (name !== undefined) delete this.index[name];else this.index = {};\n }\n static isStrategyRegistered(name) {\n return name in this.index;\n }\n static hasRegistredStrategies() {\n return Object.keys(this.index).length > 0;\n }\n getStrategy(name) {\n return StrategyIndex.get(name);\n }\n indexStrategies() {\n this.strategies.forEach(strategy => this.register(strategy.name, strategy));\n }\n indexStrategy(name, overrideIfExists = false) {\n if (StrategyIndex.isStrategyRegistered(name) && !overrideIfExists) return StrategyIndex.get(name);\n const strategy = this.strategies.find(strategy => strategy.name === name);\n if (!strategy) throw new Error(InvalidStrategyError);\n this.register(name, strategy, overrideIfExists);\n return strategy;\n }\n register(name, strategy, overrideIfExists = false) {\n if (!StrategyIndex.isStrategyRegistered(name) || overrideIfExists) {\n StrategyIndex.set(name, strategy);\n this.registration$.next(name);\n }\n }\n static {\n this.ɵfac = function StrategyIndex_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StrategyIndex)(i0.ɵɵinject(STORAGE_STRATEGIES, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: StrategyIndex,\n factory: StrategyIndex.ɵfac,\n providedIn: 'root'\n });\n }\n }\n return StrategyIndex;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass LocalStorageService extends SyncStorage {}\nfunction buildService$1(index) {\n const strategy = index.indexStrategy(StorageStrategies.Local);\n return new SyncStorage(strategy);\n}\nconst LocalStorageServiceProvider = {\n provide: LocalStorageService,\n useFactory: buildService$1,\n deps: [StrategyIndex]\n};\nclass SessionStorageService extends SyncStorage {}\nfunction buildService(index) {\n const strategy = index.indexStrategy(StorageStrategies.Session);\n return new SyncStorage(strategy);\n}\nconst SessionStorageServiceProvider = {\n provide: SessionStorageService,\n useFactory: buildService,\n deps: [StrategyIndex]\n};\nclass DecoratorBuilder {\n static buildSyncStrategyDecorator(strategyName, prototype, propName, key, defaultValue = null) {\n const rawKey = key || propName;\n let storageKey;\n Object.defineProperty(prototype, propName, {\n get: function () {\n let value;\n StrategyIndex.get(strategyName).get(getKey()).subscribe(result => value = result);\n return value === undefined ? defaultValue : value;\n },\n set: function (value) {\n StrategyIndex.get(strategyName).set(getKey(), value).subscribe(noop);\n }\n });\n function getKey() {\n if (storageKey !== undefined) return storageKey;\n return storageKey = StorageKeyManager.normalize(rawKey);\n }\n }\n}\nfunction LocalStorage(key, defaultValue) {\n return function (prototype, propName) {\n DecoratorBuilder.buildSyncStrategyDecorator(StorageStrategies.Local, prototype, propName, key, defaultValue);\n };\n}\nfunction SessionStorage(key, defaultValue) {\n return function (prototype, propName) {\n DecoratorBuilder.buildSyncStrategyDecorator(StorageStrategies.Session, prototype, propName, key, defaultValue);\n };\n}\nconst LIB_CONFIG = new InjectionToken('ngx_webstorage_config');\nvar InternalNgxWebstorageFeatureKind = /*#__PURE__*/function (InternalNgxWebstorageFeatureKind) {\n InternalNgxWebstorageFeatureKind[InternalNgxWebstorageFeatureKind[\"Config\"] = 1] = \"Config\";\n InternalNgxWebstorageFeatureKind[InternalNgxWebstorageFeatureKind[\"LocalStorage\"] = 2] = \"LocalStorage\";\n InternalNgxWebstorageFeatureKind[InternalNgxWebstorageFeatureKind[\"SessionStorage\"] = 3] = \"SessionStorage\";\n return InternalNgxWebstorageFeatureKind;\n}(InternalNgxWebstorageFeatureKind || {});\nfunction appInit() {\n const config = inject(LIB_CONFIG);\n const index = inject(StrategyIndex);\n return () => {\n StorageKeyManager.consumeConfiguration(config);\n index.indexStrategies();\n };\n}\n/**\n * Provide ngx-webstorage basic features.\n *\n * - You can customise the configuration with the `withConfiguration` feature.\n * - You can enable the `LocalStorage` features with the `withLocalStorage` feature.\n * - You can enable the `SessionStorage` features with the `withSessionStorage` feature.\n *\n * @default config { prefix: 'ngx-webstorage', separator: '|', caseSensitive: false }\n */\nfunction provideNgxWebstorage(...features) {\n const {\n configProvider,\n featureProviders\n } = parseFeatures(features);\n return makeEnvironmentProviders([configProvider, InMemoryStorageStrategyProvider, {\n provide: APP_INITIALIZER,\n useFactory: appInit,\n multi: true\n }, ...featureProviders]);\n}\nfunction parseFeatures(features) {\n let configProvider;\n const featureProviders = [];\n const parsedFeatures = new Set();\n for (const feature of features) {\n if (parsedFeatures.has(feature.kind)) throw new Error(`Feature ${feature.kind} is already provided.`);\n if (feature.kind === InternalNgxWebstorageFeatureKind.Config) {\n configProvider = feature.providers[0];\n } else featureProviders.push(...feature.providers);\n parsedFeatures.add(feature.kind);\n }\n return {\n configProvider: configProvider ?? {\n provide: LIB_CONFIG,\n useValue: {\n prefix: DefaultPrefix,\n separator: DefaultSeparator,\n caseSensitive: DefaultIsCaseSensitive\n }\n },\n featureProviders\n };\n}\nfunction makeNgxWebstorageFeature(kind, providers) {\n return {\n kind,\n providers\n };\n}\nfunction withNgxWebstorageConfig(config) {\n return makeNgxWebstorageFeature(InternalNgxWebstorageFeatureKind.Config, [{\n provide: LIB_CONFIG,\n useValue: config\n }]);\n}\n/** Provides everything necessary to use the `LocalStorage` features. */\nfunction withLocalStorage() {\n return makeNgxWebstorageFeature(InternalNgxWebstorageFeatureKind.LocalStorage, [LocalStorageProvider, LocalStorageServiceProvider, LocalStorageStrategyProvider]);\n}\nfunction withSessionStorage() {\n return makeNgxWebstorageFeature(InternalNgxWebstorageFeatureKind.SessionStorage, [SessionStorageProvider, SessionStorageServiceProvider, SessionStorageStrategyProvider]);\n}\n\n/*\n * Public API Surface of ngx-webstorage\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AsyncStorage, CompatHelper, InMemoryStorageStrategy, InternalNgxWebstorageFeatureKind, InvalidStrategyError, LIB_CONFIG, LOCAL_STORAGE, LocalStorage, LocalStorageService, LocalStorageStrategy, SESSION_STORAGE, STORAGE_STRATEGIES, SessionStorage, SessionStorageService, SessionStorageStrategy, StorageStrategies, StorageStrategyStub, StorageStrategyStubName, StorageStub, StrategyCacheService, StrategyIndex, SyncStorage, makeNgxWebstorageFeature, provideNgxWebstorage, withLocalStorage, withNgxWebstorageConfig, withSessionStorage };\n","import { Injectable, inject } from \"@angular/core\";\r\nimport { LocalStorageService, SessionStorageService } from \"ngx-webstorage\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nexport enum CacheStorageServiceStoreMode {\r\n\tLocalStorage,\r\n\tSessionStorage,\r\n}\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class CacheStorageService {\r\n\tprivate readonly _localStorageService = inject(LocalStorageService);\r\n\tprivate readonly _sessionStorageService = inject(SessionStorageService);\r\n\r\n\thasKey(key: string): boolean {\r\n\t\treturn this._localStorageService.retrieve(key) !== null;\r\n\t}\r\n\r\n\tsaveCacheValue(\r\n\t\tkey: string,\r\n\t\tvalue: any,\r\n\t\tstore: CacheStorageServiceStoreMode = CacheStorageServiceStoreMode.LocalStorage\r\n\t): void {\r\n\t\tswitch (store) {\r\n\t\t\tcase CacheStorageServiceStoreMode.LocalStorage:\r\n\t\t\t\tthis._localStorageService.store(key, value);\r\n\t\t\t\treturn;\r\n\t\t\tcase CacheStorageServiceStoreMode.SessionStorage:\r\n\t\t\t\tthis._sessionStorageService.store(key, value);\r\n\t\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\r\n\tsaveCache(\r\n\t\tkey: string,\r\n\t\tvalue: TItem,\r\n\t\tstore: CacheStorageServiceStoreMode = CacheStorageServiceStoreMode.LocalStorage\r\n\t): void {\r\n\t\tthis.saveCacheValue(key, value, store);\r\n\t}\r\n\r\n\tretrieveCacheValue(key: string): T {\r\n\t\tlet value = this._localStorageService.retrieve(key);\r\n\t\tif (!value) value = this._sessionStorageService.retrieve(key);\r\n\t\treturn value;\r\n\t}\r\n\r\n\tretrieveCacheAsBoolean(key: string): boolean {\r\n\t\tconst value = this.retrieveCacheValue(key);\r\n\t\tif (!value) return false;\r\n\t\treturn value;\r\n\t}\r\n\r\n\tremoveCacheValue(key: string): void {\r\n\t\tthis._localStorageService.clear(key);\r\n\t\tthis._sessionStorageService.clear(key);\r\n\t}\r\n\r\n\tclearAll(): void {\r\n\t\tthis._localStorageService.clear();\r\n\t\tthis._sessionStorageService.clear();\r\n\t}\r\n\r\n\tclearSessionStorage(): void {\r\n\t\tthis._sessionStorageService.clear();\r\n\t}\r\n\r\n\tclearAllExceptKey(key: string) {\r\n\t\tthis.clearCachesExceptKeyByStore(key, this._localStorageService);\r\n\t\tthis.clearCachesExceptKeyByStore(key, this._sessionStorageService);\r\n\t}\r\n\r\n\tgetObservableCacheItem(key: string): Observable {\r\n\t\tif (this._localStorageService.retrieve(key) !== undefined) {\r\n\t\t\treturn this._localStorageService.observe(key);\r\n\t\t}\r\n\r\n\t\treturn this._sessionStorageService.observe(key);\r\n\t}\r\n\r\n\tprivate clearCachesExceptKeyByStore(\r\n\t\tkey: string,\r\n\t\tstorageService: LocalStorageService | SessionStorageService\r\n\t): void {\r\n\t\tconst exceptedKey = storageService.retrieve(key);\r\n\t\tstorageService.clear();\r\n\t\tstorageService.store(key, exceptedKey);\r\n\t}\r\n}\r\n","export class CacheKeys {\r\n\tstatic readonly ANNOUNCEMENTS_MODAL_IS_ALREADY_SHOWN = \"_ANNOUNCEMENTS_MODAL_IS_ALREADY_SHOWN\";\r\n\tstatic readonly APPROVAL_COOKIES_INFO = \"_APPROVAL_COOKIES_INFO\";\r\n\tstatic readonly HOME_INSURANCE_CARD_HIDDEN_BY_USER = \"_HOME_INSURANCE_CARD_HIDDEN_BY_USER\";\r\n\tstatic readonly IMPERSONATION = \"_IMPERSONATION\";\r\n\tstatic readonly QUESTIONS_FORM_SHOW_MODAL = \"_GLOBAL_QUESTIONS_FORM_SHOW_MODAL\";\r\n\tstatic readonly RENTAL_SWITCHER_SELECTION = \"_RENTAL_SWITCHER_SELECTION\";\r\n\tstatic readonly SUM_UP_MODE = \"_SUM_UP_MODE\";\r\n\tstatic readonly USER_CONNECTION = \"_USER_CONNECTION\";\r\n}\r\n","import dayjs, { OpUnitType } from \"dayjs\";\r\nimport { Duration, DurationUnitType } from \"dayjs/plugin/duration\";\r\n\r\nexport class PreciseDate {\r\n\tinsideDate: dayjs.Dayjs;\r\n\r\n\tconstructor(date?: dayjs.ConfigType, format?: dayjs.OptionType, locale?: string) {\r\n\t\tthis.insideDate = dayjs(date, format, locale);\r\n\t}\r\n\r\n\tadd = (value: number, unit?: dayjs.ManipulateType): PreciseDate =>\r\n\t\tnew PreciseDate(this.insideDate.add(value, unit));\r\n\tcompare = (dateToCompare: PreciseDate, unit?: DurationUnitType): number =>\r\n\t\tthis.internalCompare(dateToCompare, unit);\r\n\tcreateDate = (year: number, month: number, date: number): PreciseDate => this.setDate(year, month, date);\r\n\tdate = (): number => this.insideDate.date();\r\n\r\n\tday = (): number => this.insideDate.day();\r\n\tdayjs = (): number => this.insideDate.unix();\r\n\tdaysInMonth = (): number => this.insideDate.daysInMonth();\r\n\tduration = (time: number, unit?: DurationUnitType): Duration => dayjs.duration(time, unit);\r\n\tformat = (template?: string): string => this.insideDate.format(template);\r\n\tisValid = (): boolean => this.insideDate.isValid();\r\n\tlocale = (preset: string | ILocale): PreciseDate => new PreciseDate(this.insideDate.locale(preset));\r\n\tmonth = (): number => this.insideDate.month();\r\n\tsubtract = (value: number, unit?: dayjs.ManipulateType): PreciseDate =>\r\n\t\tnew PreciseDate(this.insideDate.subtract(value, unit));\r\n\ttoDateOnlyString = (): string => this.insideDate.format(\"YYYY-MM-DD\");\r\n\ttoISOString = (): string => this.insideDate.toISOString();\r\n\ttoString = (): string => this.insideDate.toString();\r\n\tvalueOf = (): number => this.insideDate.valueOf();\r\n\tyear = (): number => this.insideDate.year();\r\n\tyearName = (): string => this.insideDate.format(\"YYYY\");\r\n\r\n\tstatic current = (): PreciseDate => new PreciseDate();\r\n\tstatic dateNames = (): string[] => this.range(31, (i) => new PreciseDate().createDate(2017, 0, i + 1).format(\"D\"));\r\n\tstatic firstDayOfWeek = (): number => dayjs.localeData().firstDayOfWeek();\r\n\tstatic localeDate = (): dayjs.InstanceLocaleDataReturn => dayjs.localeData();\r\n\tstatic locale = (): string => dayjs.locale();\r\n\r\n\tstatic longDateFormat = (format: string): string => dayjs.localeData().longDateFormat(format);\r\n\tstatic longMonthNames = (): string[] => dayjs.localeData().months();\r\n\tstatic longWeekdayNames = (): string[] => this.range(7, (i) => dayjs().set(\"day\", i).format(\"dddd\"));\r\n\tstatic narrowWeekdayNames = (): string[] => dayjs.localeData().weekdaysMin();\r\n\tstatic shortMonthNames = (): string[] => dayjs.localeData().monthsShort();\r\n\tstatic shortWeekdayNames = (): string[] => dayjs.localeData().weekdaysShort();\r\n\r\n\tprivate internalCompare(dateToCompare: PreciseDate, unit: OpUnitType = \"millisecond\"): number {\r\n\t\tif (this.insideDate.isSame(dateToCompare.insideDate, unit)) return 0;\r\n\t\tif (this.insideDate.isBefore(dateToCompare.insideDate, unit)) return -1;\r\n\t\treturn 1;\r\n\t}\r\n\r\n\tprivate setDate(year: number, month: number, date: number): PreciseDate {\r\n\t\treturn new PreciseDate(this.insideDate.set(\"year\", year).set(\"month\", month).set(\"date\", date));\r\n\t}\r\n\r\n\tprivate static range(length: number, valueFunction: (index: number) => T): T[] {\r\n\t\tconst valuesArray = Array(length);\r\n\t\tfor (let i = 0; i < length; i++) {\r\n\t\t\tvaluesArray[i] = valueFunction(i);\r\n\t\t}\r\n\t\treturn valuesArray;\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { PreciseDate } from \"../precise-date.type\";\r\n\r\n@Pipe({\r\n\tname: \"preciseDate\",\r\n})\r\nexport class PreciseDatePipe implements PipeTransform {\r\n\ttransform(value?: PreciseDate | Date | string | number | null, template?: string): string | null {\r\n\t\tif (value instanceof PreciseDate) return value.format(template);\r\n\r\n\t\treturn new PreciseDate(value).format(template);\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n\tname: \"stringCapitalize\",\r\n})\r\nexport class StringCapitalizePipe implements PipeTransform {\r\n\ttransform(value: string, capitalizationMethod: \"sentenceCase\"): string {\r\n\t\tif (capitalizationMethod === \"sentenceCase\") {\r\n\t\t\treturn value.replace(/(^\\w{1}|\\.\\s+\\w{1})/g, (match) => match.toUpperCase());\r\n\t\t}\r\n\r\n\t\treturn \"\";\r\n\t}\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpParams, HttpRequest, HttpResponse } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable, map } from \"rxjs\";\r\nimport { PreciseDate } from \"../date-util\";\r\n\r\n@Injectable()\r\nexport class JsonDateInterceptor implements HttpInterceptor {\r\n\tprivate static isoDateFormat = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d*)?Z$/;\r\n\r\n\tintercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\t\tconst convertedRequest = this.convertRequest(request);\r\n\r\n\t\treturn next.handle(convertedRequest).pipe(\r\n\t\t\tmap((response: HttpEvent) => {\r\n\t\t\t\tif (response instanceof HttpResponse) {\r\n\t\t\t\t\tthis.convert(response.body);\r\n\t\t\t\t}\r\n\t\t\t\treturn response;\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tisIsoDateString(value: unknown): boolean {\r\n\t\tif (value === null || value === undefined) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (typeof value !== \"string\") {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn JsonDateInterceptor.isoDateFormat.test(value);\r\n\t}\r\n\r\n\tconvert(body: any): any {\r\n\t\tif (body === null || body === undefined || typeof body !== \"object\") {\r\n\t\t\treturn body;\r\n\t\t}\r\n\r\n\t\tfor (const key of Object.keys(body)) {\r\n\t\t\tconst value = body[key];\r\n\t\t\tif (this.isIsoDateString(value)) {\r\n\t\t\t\tbody[key] = new PreciseDate(value);\r\n\t\t\t} else if (typeof value === \"object\") {\r\n\t\t\t\tthis.convert(value);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconvertRequest(request: HttpRequest): HttpRequest {\r\n\t\tif (request.body) {\r\n\t\t\tconst convertedBody = this.convertRequestBody(request.body);\r\n\t\t\treturn request.clone({ body: convertedBody });\r\n\t\t}\r\n\r\n\t\treturn request;\r\n\t}\r\n\r\n\tconvertRequestBody(body: any): any {\r\n\t\tif (\r\n\t\t\tbody === null ||\r\n\t\t\tbody === undefined ||\r\n\t\t\ttypeof body !== \"object\" ||\r\n\t\t\tbody instanceof HttpParams ||\r\n\t\t\tObject.keys(body).length === 0\r\n\t\t) {\r\n\t\t\treturn body;\r\n\t\t}\r\n\r\n\t\tconst convertedBody = { ...body };\r\n\r\n\t\tfor (const key of Object.keys(convertedBody)) {\r\n\t\t\tconst value = convertedBody[key];\r\n\t\t\tif (value instanceof PreciseDate) {\r\n\t\t\t\tconvertedBody[key] = value.toISOString();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn convertedBody;\r\n\t}\r\n}\r\n","import { BreakpointObserver, BreakpointState, Breakpoints } from \"@angular/cdk/layout\";\r\nimport { Injectable, inject } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class ScreenSizeService {\r\n\tprivate readonly breakpointObserver = inject(BreakpointObserver);\r\n\r\n\tisSmallScreen(): boolean {\r\n\t\treturn this.breakpointObserver.isMatched(Breakpoints.XSmall);\r\n\t}\r\n\r\n\tobserveSmallScreen(): Observable {\r\n\t\treturn this.observeBreakpoint([Breakpoints.XSmall]);\r\n\t}\r\n\r\n\tobserveSmallAndLandscapeScreen(): Observable {\r\n\t\treturn this.observeBreakpoint([Breakpoints.XSmall, Breakpoints.HandsetLandscape]);\r\n\t}\r\n\r\n\tobserveMediumScreen(): Observable {\r\n\t\treturn this.observeBreakpoint(Breakpoints.Medium);\r\n\t}\r\n\r\n\tobserveLargeScreen(): Observable {\r\n\t\treturn this.observeBreakpoint(Breakpoints.Large);\r\n\t}\r\n\r\n\tprivate observeBreakpoint(breakpoints: string | string[]): Observable {\r\n\t\treturn this.breakpointObserver.observe(breakpoints).pipe(map((state: BreakpointState) => state.matches));\r\n\t}\r\n}\r\n","import { Injectable, OnDestroy } from \"@angular/core\";\r\nimport { Observable, ReplaySubject, takeUntil } from \"rxjs\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class SubscriptionService implements OnDestroy {\r\n\tprivate readonly _destroy$ = new ReplaySubject(1);\r\n\r\n\treadonly takeUntilDestroy = (origin: Observable): Observable => origin.pipe(takeUntil(this._destroy$));\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._destroy$.next(true);\r\n\t\tthis._destroy$.complete();\r\n\t}\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CacheStorageService } from \"./cache-storage\";\r\nimport { PreciseDateDurationPipe, PreciseDatePipe, PreciseDateUnixPipe } from \"./date-util/pipes\";\r\nimport { StringCapitalizePipe } from \"./date-util/pipes/string-capitalize.pipe\";\r\n\r\n// Set DayJS globally\r\nimport Dayjs from \"dayjs\";\r\nimport \"dayjs/locale/fr\";\r\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\r\nimport duration from \"dayjs/plugin/duration\";\r\nimport localeData from \"dayjs/plugin/localeData\";\r\nimport localizedFormat from \"dayjs/plugin/localizedFormat\";\r\n\r\nDayjs.extend(duration);\r\nDayjs.extend(localeData);\r\nDayjs.extend(localizedFormat);\r\nDayjs.extend(customParseFormat);\r\n\r\nDayjs.locale(\"fr\");\r\n\r\n@NgModule({\r\n\timports: [CommonModule, PreciseDateUnixPipe],\r\n\tdeclarations: [PreciseDateDurationPipe, PreciseDatePipe, StringCapitalizePipe],\r\n\texports: [PreciseDateDurationPipe, PreciseDatePipe, PreciseDateUnixPipe, StringCapitalizePipe],\r\n\tproviders: [CacheStorageService],\r\n})\r\nexport class UtilsModule {}\r\n","/**\n * @license Angular v18.2.12\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { Directive, InjectionToken, forwardRef, Optional, Inject, ɵisPromise, ɵisSubscribable, ɵRuntimeError, Self, computed, signal, untracked, EventEmitter, Input, Host, SkipSelf, booleanAttribute, ChangeDetectorRef, Output, Injectable, inject, NgModule, Version } from '@angular/core';\nimport { ɵgetDOM } from '@angular/common';\nimport { from, forkJoin, Subject } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n/**\n * Base class for all ControlValueAccessor classes defined in Forms package.\n * Contains common logic and utility functions.\n *\n * Note: this is an *internal-only* class and should not be extended or used directly in\n * applications code.\n */\nlet BaseControlValueAccessor = /*#__PURE__*/(() => {\n class BaseControlValueAccessor {\n constructor(_renderer, _elementRef) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n /**\n * The registered callback function called when a change or input event occurs on the input\n * element.\n * @nodoc\n */\n this.onChange = _ => {};\n /**\n * The registered callback function called when a blur event occurs on the input element.\n * @nodoc\n */\n this.onTouched = () => {};\n }\n /**\n * Helper method that sets a property on a target element using the current Renderer\n * implementation.\n * @nodoc\n */\n setProperty(key, value) {\n this._renderer.setProperty(this._elementRef.nativeElement, key, value);\n }\n /**\n * Registers a function called when the control is touched.\n * @nodoc\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Registers a function called when the control value changes.\n * @nodoc\n */\n registerOnChange(fn) {\n this.onChange = fn;\n }\n /**\n * Sets the \"disabled\" property on the range input element.\n * @nodoc\n */\n setDisabledState(isDisabled) {\n this.setProperty('disabled', isDisabled);\n }\n static {\n this.ɵfac = function BaseControlValueAccessor_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || BaseControlValueAccessor)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: BaseControlValueAccessor\n });\n }\n }\n return BaseControlValueAccessor;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Base class for all built-in ControlValueAccessor classes (except DefaultValueAccessor, which is\n * used in case no other CVAs can be found). We use this class to distinguish between default CVA,\n * built-in CVAs and custom CVAs, so that Forms logic can recognize built-in CVAs and treat custom\n * ones with higher priority (when both built-in and custom CVAs are present).\n *\n * Note: this is an *internal-only* class and should not be extended or used directly in\n * applications code.\n */\nlet BuiltInControlValueAccessor = /*#__PURE__*/(() => {\n class BuiltInControlValueAccessor extends BaseControlValueAccessor {\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵBuiltInControlValueAccessor_BaseFactory;\n return function BuiltInControlValueAccessor_Factory(__ngFactoryType__) {\n return (ɵBuiltInControlValueAccessor_BaseFactory || (ɵBuiltInControlValueAccessor_BaseFactory = i0.ɵɵgetInheritedFactory(BuiltInControlValueAccessor)))(__ngFactoryType__ || BuiltInControlValueAccessor);\n };\n })();\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: BuiltInControlValueAccessor,\n features: [i0.ɵɵInheritDefinitionFeature]\n });\n }\n }\n return BuiltInControlValueAccessor;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Used to provide a `ControlValueAccessor` for form controls.\n *\n * See `DefaultValueAccessor` for how to implement one.\n *\n * @publicApi\n */\nconst NG_VALUE_ACCESSOR = /*#__PURE__*/new InjectionToken(ngDevMode ? 'NgValueAccessor' : '');\nconst CHECKBOX_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: /*#__PURE__*/forwardRef(() => CheckboxControlValueAccessor),\n multi: true\n};\n/**\n * @description\n * A `ControlValueAccessor` for writing a value and listening to changes on a checkbox input\n * element.\n *\n * @usageNotes\n *\n * ### Using a checkbox with a reactive form.\n *\n * The following example shows how to use a checkbox with a reactive form.\n *\n * ```ts\n * const rememberLoginControl = new FormControl();\n * ```\n *\n * ```\n * \n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet CheckboxControlValueAccessor = /*#__PURE__*/(() => {\n class CheckboxControlValueAccessor extends BuiltInControlValueAccessor {\n /**\n * Sets the \"checked\" property on the input element.\n * @nodoc\n */\n writeValue(value) {\n this.setProperty('checked', value);\n }\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵCheckboxControlValueAccessor_BaseFactory;\n return function CheckboxControlValueAccessor_Factory(__ngFactoryType__) {\n return (ɵCheckboxControlValueAccessor_BaseFactory || (ɵCheckboxControlValueAccessor_BaseFactory = i0.ɵɵgetInheritedFactory(CheckboxControlValueAccessor)))(__ngFactoryType__ || CheckboxControlValueAccessor);\n };\n })();\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CheckboxControlValueAccessor,\n selectors: [[\"input\", \"type\", \"checkbox\", \"formControlName\", \"\"], [\"input\", \"type\", \"checkbox\", \"formControl\", \"\"], [\"input\", \"type\", \"checkbox\", \"ngModel\", \"\"]],\n hostBindings: function CheckboxControlValueAccessor_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"change\", function CheckboxControlValueAccessor_change_HostBindingHandler($event) {\n return ctx.onChange($event.target.checked);\n })(\"blur\", function CheckboxControlValueAccessor_blur_HostBindingHandler() {\n return ctx.onTouched();\n });\n }\n },\n features: [i0.ɵɵProvidersFeature([CHECKBOX_VALUE_ACCESSOR]), i0.ɵɵInheritDefinitionFeature]\n });\n }\n }\n return CheckboxControlValueAccessor;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst DEFAULT_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: /*#__PURE__*/forwardRef(() => DefaultValueAccessor),\n multi: true\n};\n/**\n * We must check whether the agent is Android because composition events\n * behave differently between iOS and Android.\n */\nfunction _isAndroid() {\n const userAgent = ɵgetDOM() ? ɵgetDOM().getUserAgent() : '';\n return /android (\\d+)/.test(userAgent.toLowerCase());\n}\n/**\n * @description\n * Provide this token to control if form directives buffer IME input until\n * the \"compositionend\" event occurs.\n * @publicApi\n */\nconst COMPOSITION_BUFFER_MODE = /*#__PURE__*/new InjectionToken(ngDevMode ? 'CompositionEventMode' : '');\n/**\n * The default `ControlValueAccessor` for writing a value and listening to changes on input\n * elements. The accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n *\n * @usageNotes\n *\n * ### Using the default value accessor\n *\n * The following example shows how to use an input element that activates the default value accessor\n * (in this case, a text field).\n *\n * ```ts\n * const firstNameControl = new FormControl();\n * ```\n *\n * ```\n * \n * ```\n *\n * This value accessor is used by default for `` and `