tnp-helpers 16.100.21 → 16.100.22

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.
Files changed (111) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/base-db.mjs +1 -19
  3. package/browser/esm2022/lib/base/base-project.mjs +2 -1
  4. package/browser/esm2022/lib/base/config-database.mjs +2 -1
  5. package/browser/esm2022/lib/base/project-database.mjs +1 -1
  6. package/browser/fesm2022/tnp-helpers.mjs +2 -18
  7. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  8. package/browser/lib/base/base-db.d.ts +0 -2
  9. package/client/esm2022/lib/base/base-db.mjs +1 -19
  10. package/client/esm2022/lib/base/base-project.mjs +2 -1
  11. package/client/esm2022/lib/base/config-database.mjs +2 -1
  12. package/client/esm2022/lib/base/project-database.mjs +1 -1
  13. package/client/fesm2022/tnp-helpers.mjs +2 -18
  14. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  15. package/client/lib/base/base-db.d.ts +0 -2
  16. package/client/package.json +4 -4
  17. package/lib/base/base-command-line.backend.d.ts +1 -0
  18. package/lib/base/base-command-line.backend.js +4 -0
  19. package/lib/base/base-command-line.backend.js.map +1 -1
  20. package/lib/base/base-db.js +1 -1
  21. package/lib/base/base-db.js.map +1 -1
  22. package/lib/base/base-project.js +1 -1
  23. package/lib/base/base-project.js.map +1 -1
  24. package/lib/base/base-start-config.backend.js +3 -0
  25. package/lib/base/base-start-config.backend.js.map +1 -1
  26. package/lib/base/command-line-feature.backend.js +4 -2
  27. package/lib/base/command-line-feature.backend.js.map +1 -1
  28. package/lib/base/config-database.js.map +1 -1
  29. package/lib/base/project-database.js.map +1 -1
  30. package/lib/base/translate.js +2 -0
  31. package/lib/base/translate.js.map +1 -1
  32. package/lib/helpers/for-backend/ts-code/ts-code-extractor.js +2 -0
  33. package/lib/helpers/for-backend/ts-code/ts-code-extractor.js.map +1 -1
  34. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.d.ts +0 -3
  35. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.js +2 -4
  36. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.js.map +1 -1
  37. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.js +2 -0
  38. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.js.map +1 -1
  39. package/lib/helpers/for-browser/angular.helper.js +3 -3
  40. package/lib/lowdb/adapters/Memory.js +1 -0
  41. package/lib/lowdb/adapters/Memory.js.map +1 -1
  42. package/lib/lowdb/adapters/browser/LocalStorage.js +2 -0
  43. package/lib/lowdb/adapters/browser/LocalStorage.js.map +1 -1
  44. package/lib/lowdb/adapters/browser/SessionStorage.js +2 -0
  45. package/lib/lowdb/adapters/browser/SessionStorage.js.map +1 -1
  46. package/lib/lowdb/adapters/browser/WebStorage.js +1 -0
  47. package/lib/lowdb/adapters/browser/WebStorage.js.map +1 -1
  48. package/lib/lowdb/adapters/node/DataFile.js +1 -0
  49. package/lib/lowdb/adapters/node/DataFile.js.map +1 -1
  50. package/lib/lowdb/adapters/node/JSONFile.js +1 -0
  51. package/lib/lowdb/adapters/node/JSONFile.js.map +1 -1
  52. package/lib/lowdb/adapters/node/TextFile.js +2 -0
  53. package/lib/lowdb/adapters/node/TextFile.js.map +1 -1
  54. package/lib/lowdb/adapters/node/steno.js +2 -0
  55. package/lib/lowdb/adapters/node/steno.js.map +1 -1
  56. package/lib/lowdb/browser.js +2 -0
  57. package/lib/lowdb/browser.js.map +1 -1
  58. package/lib/lowdb/core/Low.js +1 -0
  59. package/lib/lowdb/core/Low.js.map +1 -1
  60. package/lib/lowdb/examples/browser.js +6 -7
  61. package/lib/lowdb/examples/browser.js.map +1 -1
  62. package/lib/lowdb/examples/cli.d.ts +0 -1
  63. package/lib/lowdb/examples/cli.js +8 -10
  64. package/lib/lowdb/examples/cli.js.map +1 -1
  65. package/lib/lowdb/examples/in-memory.d.ts +0 -8
  66. package/lib/lowdb/examples/in-memory.js +21 -13
  67. package/lib/lowdb/examples/in-memory.js.map +1 -1
  68. package/lib/lowdb/index.js +2 -0
  69. package/lib/lowdb/index.js.map +1 -1
  70. package/lib/lowdb/node.js +2 -0
  71. package/lib/lowdb/node.js.map +1 -1
  72. package/lib/lowdb/presets/browser.js +2 -0
  73. package/lib/lowdb/presets/browser.js.map +1 -1
  74. package/lib/lowdb/presets/node.js +1 -0
  75. package/lib/lowdb/presets/node.js.map +1 -1
  76. package/lib/old/base-component.js +3 -3
  77. package/lib/old/base-formly-component.js +3 -3
  78. package/lib/old/dual-component-ctrl.js +3 -3
  79. package/package.json +2 -2
  80. package/tmp-environment.json +8 -8
  81. package/websql/esm2022/lib/base/base-db.mjs +1 -19
  82. package/websql/esm2022/lib/base/base-project.mjs +2 -1
  83. package/websql/esm2022/lib/base/config-database.mjs +2 -1
  84. package/websql/esm2022/lib/base/project-database.mjs +1 -1
  85. package/websql/fesm2022/tnp-helpers.mjs +2 -18
  86. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  87. package/websql/lib/base/base-db.d.ts +0 -2
  88. package/browser/esm2022/lib/base/translate.mjs +0 -42
  89. package/browser/esm2022/lib/lowdb/adapters/Memory.mjs +0 -26
  90. package/browser/esm2022/lib/lowdb/core/Low.mjs +0 -49
  91. package/browser/esm2022/lib/lowdb/index.mjs +0 -4
  92. package/browser/lib/base/translate.d.ts +0 -2
  93. package/browser/lib/lowdb/adapters/Memory.d.ts +0 -12
  94. package/browser/lib/lowdb/core/Low.d.ts +0 -25
  95. package/browser/lib/lowdb/index.d.ts +0 -3
  96. package/client/esm2022/lib/base/translate.mjs +0 -42
  97. package/client/esm2022/lib/lowdb/adapters/Memory.mjs +0 -26
  98. package/client/esm2022/lib/lowdb/core/Low.mjs +0 -49
  99. package/client/esm2022/lib/lowdb/index.mjs +0 -4
  100. package/client/lib/base/translate.d.ts +0 -2
  101. package/client/lib/lowdb/adapters/Memory.d.ts +0 -12
  102. package/client/lib/lowdb/core/Low.d.ts +0 -25
  103. package/client/lib/lowdb/index.d.ts +0 -3
  104. package/websql/esm2022/lib/base/translate.mjs +0 -42
  105. package/websql/esm2022/lib/lowdb/adapters/Memory.mjs +0 -26
  106. package/websql/esm2022/lib/lowdb/core/Low.mjs +0 -49
  107. package/websql/esm2022/lib/lowdb/index.mjs +0 -4
  108. package/websql/lib/base/translate.d.ts +0 -2
  109. package/websql/lib/lowdb/adapters/Memory.d.ts +0 -12
  110. package/websql/lib/lowdb/core/Low.d.ts +0 -25
  111. package/websql/lib/lowdb/index.d.ts +0 -3
@@ -1,42 +0,0 @@
1
- // @ts-ignore
2
- var iso = { aar: "aa", abk: "ab", afr: "af", aka: "ak", alb: "sq", amh: "am", ara: "ar", arg: "an", arm: "hy", asm: "as", ava: "av", ave: "ae", aym: "ay", aze: "az", bak: "ba", bam: "bm", baq: "eu", bel: "be", ben: "bn", bih: "bh", bis: "bi", bos: "bs", bre: "br", bul: "bg", bur: "my", cat: "ca", cha: "ch", che: "ce", chi: "zh", chu: "cu", chv: "cv", cor: "kw", cos: "co", cre: "cr", cze: "cs", dan: "da", div: "dv", dut: "nl", dzo: "dz", eng: "en", epo: "eo", est: "et", ewe: "ee", fao: "fo", fij: "fj", fin: "fi", fre: "fr", fry: "fy", ful: "ff", geo: "ka", ger: "de", gla: "gd", gle: "ga", glg: "gl", glv: "gv", gre: "el", grn: "gn", guj: "gu", hat: "ht", hau: "ha", heb: "he", her: "hz", hin: "hi", hmo: "ho", hrv: "hr", hun: "hu", ibo: "ig", ice: "is", ido: "io", iii: "ii", iku: "iu", ile: "ie", ina: "ia", ind: "id", ipk: "ik", ita: "it", jav: "jv", jpn: "ja", kal: "kl", kan: "kn", kas: "ks", kau: "kr", kaz: "kk", khm: "km", kik: "ki", kin: "rw", kir: "ky", kom: "kv", kon: "kg", kor: "ko", kua: "kj", kur: "ku", lao: "lo", lat: "la", lav: "lv", lim: "li", lin: "ln", lit: "lt", ltz: "lb", lub: "lu", lug: "lg", mac: "mk", mah: "mh", mal: "ml", mao: "mi", mar: "mr", may: "ms", mlg: "mg", mlt: "mt", mon: "mn", nau: "na", nav: "nv", nbl: "nr", nde: "nd", ndo: "ng", nep: "ne", nno: "nn", nob: "nb", nor: "no", nya: "ny", oci: "oc", oji: "oj", ori: "or", orm: "om", oss: "os", pan: "pa", per: "fa", pli: "pi", pol: "pl", por: "pt", pus: "ps", que: "qu", roh: "rm", rum: "ro", run: "rn", rus: "ru", sag: "sg", san: "sa", sin: "si", slo: "sk", slv: "sl", sme: "se", smo: "sm", sna: "sn", snd: "sd", som: "so", sot: "st", spa: "es", srd: "sc", srp: "sr", ssw: "ss", sun: "su", swa: "sw", swe: "sv", tah: "ty", tam: "ta", tat: "tt", tel: "te", tgk: "tg", tgl: "tl", tha: "th", tib: "bo", tir: "ti", ton: "to", tsn: "tn", tso: "ts", tuk: "tk", tur: "tr", twi: "tw", uig: "ug", ukr: "uk", urd: "ur", uzb: "uz", ven: "ve", vie: "vi", vol: "vo", wel: "cy", wln: "wa", wol: "wo", xho: "xh", yid: "yi", yor: "yo", zha: "za", zul: "zu" }, names = { afar: "aa", abkhazian: "ab", afrikaans: "af", akan: "ak", albanian: "sq", amharic: "am", arabic: "ar", aragonese: "an", armenian: "hy", assamese: "as", avaric: "av", avestan: "ae", aymara: "ay", azerbaijani: "az", bashkir: "ba", bambara: "bm", basque: "eu", belarusian: "be", bengali: "bn", "bihari languages": "bh", bislama: "bi", tibetan: "bo", bosnian: "bs", breton: "br", bulgarian: "bg", burmese: "my", catalan: "ca", valencian: "ca", czech: "cs", chamorro: "ch", chechen: "ce", chinese: "zh", "church slavic": "cu", "old slavonic": "cu", "church slavonic": "cu", "old bulgarian": "cu", "old church slavonic": "cu", chuvash: "cv", cornish: "kw", corsican: "co", cree: "cr", welsh: "cy", danish: "da", german: "de", divehi: "dv", dhivehi: "dv", maldivian: "dv", dutch: "nl", flemish: "nl", dzongkha: "dz", greek: "el", english: "en", esperanto: "eo", estonian: "et", ewe: "ee", faroese: "fo", persian: "fa", fijian: "fj", finnish: "fi", french: "fr", "western frisian": "fy", fulah: "ff", georgian: "ka", gaelic: "gd", "scottish gaelic": "gd", irish: "ga", galician: "gl", manx: "gv", guarani: "gn", gujarati: "gu", haitian: "ht", "haitian creole": "ht", hausa: "ha", hebrew: "he", herero: "hz", hindi: "hi", "hiri motu": "ho", croatian: "hr", hungarian: "hu", igbo: "ig", icelandic: "is", ido: "io", "sichuan yi": "ii", nuosu: "ii", inuktitut: "iu", interlingue: "ie", occidental: "ie", interlingua: "ia", indonesian: "id", inupiaq: "ik", italian: "it", javanese: "jv", japanese: "ja", kalaallisut: "kl", greenlandic: "kl", kannada: "kn", kashmiri: "ks", kanuri: "kr", kazakh: "kk", "central khmer": "km", kikuyu: "ki", gikuyu: "ki", kinyarwanda: "rw", kirghiz: "ky", kyrgyz: "ky", komi: "kv", kongo: "kg", korean: "ko", kuanyama: "kj", kwanyama: "kj", kurdish: "ku", lao: "lo", latin: "la", latvian: "lv", limburgan: "li", limburger: "li", limburgish: "li", lingala: "ln", lithuanian: "lt", luxembourgish: "lb", letzeburgesch: "lb", "luba-katanga": "lu", ganda: "lg", macedonian: "mk", marshallese: "mh", malayalam: "ml", maori: "mi", marathi: "mr", malay: "ms", malagasy: "mg", maltese: "mt", mongolian: "mn", nauru: "na", navajo: "nv", navaho: "nv", "ndebele, south": "nr", "south ndebele": "nr", "ndebele, north": "nd", "north ndebele": "nd", ndonga: "ng", nepali: "ne", "norwegian nynorsk": "nn", "nynorsk, norwegian": "nn", "norwegian bokmål": "nb", "bokmål, norwegian": "nb", norwegian: "no", chichewa: "ny", chewa: "ny", nyanja: "ny", occitan: "oc", ojibwa: "oj", oriya: "or", oromo: "om", ossetian: "os", ossetic: "os", panjabi: "pa", punjabi: "pa", pali: "pi", polish: "pl", portuguese: "pt", pushto: "ps", pashto: "ps", quechua: "qu", romansh: "rm", romanian: "ro", moldavian: "ro", moldovan: "ro", rundi: "rn", russian: "ru", sango: "sg", sanskrit: "sa", sinhala: "si", sinhalese: "si", slovak: "sk", slovenian: "sl", "northern sami": "se", samoan: "sm", shona: "sn", sindhi: "sd", somali: "so", "sotho, southern": "st", spanish: "es", castilian: "es", sardinian: "sc", serbian: "sr", swati: "ss", sundanese: "su", swahili: "sw", swedish: "sv", tahitian: "ty", tamil: "ta", tatar: "tt", telugu: "te", tajik: "tg", tagalog: "tl", thai: "th", tigrinya: "ti", tonga: "to", tswana: "tn", tsonga: "ts", turkmen: "tk", turkish: "tr", twi: "tw", uighur: "ug", uyghur: "ug", ukrainian: "uk", urdu: "ur", uzbek: "uz", venda: "ve", vietnamese: "vi", "volapük": "vo", walloon: "wa", wolof: "wo", xhosa: "xh", yiddish: "yi", yoruba: "yo", zhuang: "za", chuang: "za", zulu: "zu" };
3
- // @ts-ignore
4
- const isoKeys = Object.values(iso).sort();
5
- var languages = e => { if ("string" != typeof e)
6
- throw new Error('The "language" must be a string, received ' + typeof e); if (e.length > 100)
7
- throw new Error(`The "language" is too long at ${e.length} characters`); if (e = e.toLowerCase(), e = names[e] || iso[e] || e, !isoKeys.includes(e))
8
- throw new Error(`The language "${e}" is not part of the ISO 639-1`); return e; };
9
- function Cache() { var e = Object.create(null); function a(a) { delete e[a]; } this.set = function (n, i, r) { if (void 0 !== r && ("number" != typeof r || isNaN(r) || r <= 0))
10
- throw new Error("Cache timeout must be a positive number"); var t = e[n]; t && clearTimeout(t.timeout); var o = { value: i, expire: r + Date.now() }; return isNaN(o.expire) || (o.timeout = setTimeout((() => a(n)), r)), e[n] = o, i; }, this.del = function (n) { var i = !0, r = e[n]; return r ? (clearTimeout(r.timeout), !isNaN(r.expire) && r.expire < Date.now() && (i = !1)) : i = !1, i && a(n), i; }, this.clear = function () { for (var a in e)
11
- clearTimeout(e[a].timeout); e = Object.create(null); }, this.get = function (a) { var n = e[a]; if (void 0 !== n) {
12
- if (isNaN(n.expire) || n.expire >= Date.now())
13
- return n.value;
14
- delete e[a];
15
- } return null; }; }
16
- const exp$1 = new Cache;
17
- exp$1.Cache = Cache;
18
- const base = "https://translate.googleapis.com/translate_a/single";
19
- var google = { fetch: ({ key: e, from: a, to: n, text: i }) => [`${base}?client=gtx&sl=${a}&tl=${n}&dt=t&q=${encodeURI(i)}`], parse: e => e.json().then((e => { if (!(e = e && e[0] && e[0][0] && e[0].map((e => e[0])).join("")))
20
- throw new Error("Translation not found"); return e; })) }, yandex = { needkey: !0, fetch: ({ key: e, from: a, to: n, text: i }) => [`https://translate.yandex.net/api/v1.5/tr.json/translate?key=${e}&lang=${a}-${n}&text=${encodeURIComponent(i)}`, { method: "POST", body: "" }], parse: e => e.json().then((e => { if (200 !== e.code)
21
- throw new Error(e.message); return e.text[0]; })) };
22
- const libreUrl = "https://libretranslate.com/translate";
23
- var libre = { needkey: !1, fetch: ({ url: e = libreUrl, key: a, from: n, to: i, text: r }) => [e, { method: "POST", body: JSON.stringify({ q: r, source: n, target: i, api_key: a }), headers: { "Content-Type": "application/json" } }], parse: e => e.json().then((e => { if (!e)
24
- throw new Error("No response found"); if (e.error)
25
- throw new Error(e.error); if (!e.translatedText)
26
- throw new Error("No response found"); return e.translatedText; })) }, deepl = { needkey: !0, fetch: ({ key: e, from: a, to: n, text: i }) => [`https://api${/:fx$/.test(e) ? "-free" : ""}.deepl.com/v2/translate?auth_key=${e}&source_lang=${a}&target_lang=${n}&text=${i = encodeURIComponent(i)}`, { method: "POST", body: "" }], parse: async (e) => { if (!e.ok) {
27
- if (403 === e.status)
28
- throw new Error("Auth Error, please review the key for DeepL");
29
- throw new Error(`Error ${e.status}`);
30
- } return e.json().then((e => e.translations[0].text)); } }, engines = { google: google, yandex: yandex, libre: libre, deepl: deepl };
31
- const Translate = function (e = {}) { if (!(this instanceof Translate))
32
- return new Translate(e); const a = { from: "en", to: "en", cache: void 0, languages: languages, engines: engines, engine: "google", keys: {} }, n = async (e, a = {}) => { "string" == typeof a && (a = { to: a }), a.text = e, a.from = languages(a.from || n.from), a.to = languages(a.to || n.to), a.cache = a.cache || n.cache, a.engines = a.engines || {}, a.engine = a.engine || n.engine, a.url = a.url || n.url, a.id = a.id || `${a.url}:${a.from}:${a.to}:${a.engine}:${a.text}`, a.keys = a.keys || n.keys || {}; for (let e in n.keys)
33
- a.keys[e] = a.keys[e] || n.keys[e]; a.key = a.key || n.key || a.keys[a.engine]; const i = a.engines[a.engine] || n.engines[a.engine], r = exp$1.get(a.id); if (r)
34
- return Promise.resolve(r); if (a.to === a.from)
35
- return Promise.resolve(a.text); if (i.needkey && !a.key)
36
- throw new Error(`The engine "${a.engine}" needs a key, please provide it`); const t = i.fetch(a); return fetch(...t).then(i.parse).then((e => exp$1.set(a.id, e, a.cache))); }; for (let i in a)
37
- n[i] = void 0 === e[i] ? a[i] : e[i]; return n; }, exp = new Translate;
38
- exp.Translate = Translate;
39
- export const translate = exp;
40
- ;
41
- ({}); // @--end-of-file-for-module=tnp-helpers lib/base/translate.ts
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS90cmFuc2xhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsYUFBYTtBQUNiLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUM3NUssYUFBYTtBQUNiLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFBQyxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksUUFBUSxJQUFJLE9BQU8sQ0FBQztJQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHO0lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLE1BQU0sYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztBQUFDLFNBQVMsS0FBSyxLQUFLLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLGNBQWMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7SUFBRSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7Q0FBRSxDQUFDLE9BQU8sSUFBSSxDQUFBLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQztBQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDO0FBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFBQyxNQUFNLElBQUksR0FBRyxxREFBcUQsQ0FBQztBQUFDLElBQUksTUFBTSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxXQUFXLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLCtEQUErRCxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQUMsTUFBTSxRQUFRLEdBQUcsc0NBQXNDLENBQUM7QUFBQyxJQUFJLEtBQUssR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxjQUFjLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxvQ0FBb0MsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFBRSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztRQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQTtLQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxPQUFPLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFBQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxZQUFZLFNBQVMsQ0FBQztJQUFFLE9BQU8sSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSTtJQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUk7SUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUc7SUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sa0NBQWtDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUM7SUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLFNBQVMsQ0FBQztBQUNqakksR0FBRyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFDMUIsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFJLEdBQUcsQ0FBQztBQUU3QixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDhEQUE4RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG4vLyBAdHMtaWdub3JlXG52YXIgaXNvID0geyBhYXI6IFwiYWFcIiwgYWJrOiBcImFiXCIsIGFmcjogXCJhZlwiLCBha2E6IFwiYWtcIiwgYWxiOiBcInNxXCIsIGFtaDogXCJhbVwiLCBhcmE6IFwiYXJcIiwgYXJnOiBcImFuXCIsIGFybTogXCJoeVwiLCBhc206IFwiYXNcIiwgYXZhOiBcImF2XCIsIGF2ZTogXCJhZVwiLCBheW06IFwiYXlcIiwgYXplOiBcImF6XCIsIGJhazogXCJiYVwiLCBiYW06IFwiYm1cIiwgYmFxOiBcImV1XCIsIGJlbDogXCJiZVwiLCBiZW46IFwiYm5cIiwgYmloOiBcImJoXCIsIGJpczogXCJiaVwiLCBib3M6IFwiYnNcIiwgYnJlOiBcImJyXCIsIGJ1bDogXCJiZ1wiLCBidXI6IFwibXlcIiwgY2F0OiBcImNhXCIsIGNoYTogXCJjaFwiLCBjaGU6IFwiY2VcIiwgY2hpOiBcInpoXCIsIGNodTogXCJjdVwiLCBjaHY6IFwiY3ZcIiwgY29yOiBcImt3XCIsIGNvczogXCJjb1wiLCBjcmU6IFwiY3JcIiwgY3plOiBcImNzXCIsIGRhbjogXCJkYVwiLCBkaXY6IFwiZHZcIiwgZHV0OiBcIm5sXCIsIGR6bzogXCJkelwiLCBlbmc6IFwiZW5cIiwgZXBvOiBcImVvXCIsIGVzdDogXCJldFwiLCBld2U6IFwiZWVcIiwgZmFvOiBcImZvXCIsIGZpajogXCJmalwiLCBmaW46IFwiZmlcIiwgZnJlOiBcImZyXCIsIGZyeTogXCJmeVwiLCBmdWw6IFwiZmZcIiwgZ2VvOiBcImthXCIsIGdlcjogXCJkZVwiLCBnbGE6IFwiZ2RcIiwgZ2xlOiBcImdhXCIsIGdsZzogXCJnbFwiLCBnbHY6IFwiZ3ZcIiwgZ3JlOiBcImVsXCIsIGdybjogXCJnblwiLCBndWo6IFwiZ3VcIiwgaGF0OiBcImh0XCIsIGhhdTogXCJoYVwiLCBoZWI6IFwiaGVcIiwgaGVyOiBcImh6XCIsIGhpbjogXCJoaVwiLCBobW86IFwiaG9cIiwgaHJ2OiBcImhyXCIsIGh1bjogXCJodVwiLCBpYm86IFwiaWdcIiwgaWNlOiBcImlzXCIsIGlkbzogXCJpb1wiLCBpaWk6IFwiaWlcIiwgaWt1OiBcIml1XCIsIGlsZTogXCJpZVwiLCBpbmE6IFwiaWFcIiwgaW5kOiBcImlkXCIsIGlwazogXCJpa1wiLCBpdGE6IFwiaXRcIiwgamF2OiBcImp2XCIsIGpwbjogXCJqYVwiLCBrYWw6IFwia2xcIiwga2FuOiBcImtuXCIsIGthczogXCJrc1wiLCBrYXU6IFwia3JcIiwga2F6OiBcImtrXCIsIGtobTogXCJrbVwiLCBraWs6IFwia2lcIiwga2luOiBcInJ3XCIsIGtpcjogXCJreVwiLCBrb206IFwia3ZcIiwga29uOiBcImtnXCIsIGtvcjogXCJrb1wiLCBrdWE6IFwia2pcIiwga3VyOiBcImt1XCIsIGxhbzogXCJsb1wiLCBsYXQ6IFwibGFcIiwgbGF2OiBcImx2XCIsIGxpbTogXCJsaVwiLCBsaW46IFwibG5cIiwgbGl0OiBcImx0XCIsIGx0ejogXCJsYlwiLCBsdWI6IFwibHVcIiwgbHVnOiBcImxnXCIsIG1hYzogXCJta1wiLCBtYWg6IFwibWhcIiwgbWFsOiBcIm1sXCIsIG1hbzogXCJtaVwiLCBtYXI6IFwibXJcIiwgbWF5OiBcIm1zXCIsIG1sZzogXCJtZ1wiLCBtbHQ6IFwibXRcIiwgbW9uOiBcIm1uXCIsIG5hdTogXCJuYVwiLCBuYXY6IFwibnZcIiwgbmJsOiBcIm5yXCIsIG5kZTogXCJuZFwiLCBuZG86IFwibmdcIiwgbmVwOiBcIm5lXCIsIG5ubzogXCJublwiLCBub2I6IFwibmJcIiwgbm9yOiBcIm5vXCIsIG55YTogXCJueVwiLCBvY2k6IFwib2NcIiwgb2ppOiBcIm9qXCIsIG9yaTogXCJvclwiLCBvcm06IFwib21cIiwgb3NzOiBcIm9zXCIsIHBhbjogXCJwYVwiLCBwZXI6IFwiZmFcIiwgcGxpOiBcInBpXCIsIHBvbDogXCJwbFwiLCBwb3I6IFwicHRcIiwgcHVzOiBcInBzXCIsIHF1ZTogXCJxdVwiLCByb2g6IFwicm1cIiwgcnVtOiBcInJvXCIsIHJ1bjogXCJyblwiLCBydXM6IFwicnVcIiwgc2FnOiBcInNnXCIsIHNhbjogXCJzYVwiLCBzaW46IFwic2lcIiwgc2xvOiBcInNrXCIsIHNsdjogXCJzbFwiLCBzbWU6IFwic2VcIiwgc21vOiBcInNtXCIsIHNuYTogXCJzblwiLCBzbmQ6IFwic2RcIiwgc29tOiBcInNvXCIsIHNvdDogXCJzdFwiLCBzcGE6IFwiZXNcIiwgc3JkOiBcInNjXCIsIHNycDogXCJzclwiLCBzc3c6IFwic3NcIiwgc3VuOiBcInN1XCIsIHN3YTogXCJzd1wiLCBzd2U6IFwic3ZcIiwgdGFoOiBcInR5XCIsIHRhbTogXCJ0YVwiLCB0YXQ6IFwidHRcIiwgdGVsOiBcInRlXCIsIHRnazogXCJ0Z1wiLCB0Z2w6IFwidGxcIiwgdGhhOiBcInRoXCIsIHRpYjogXCJib1wiLCB0aXI6IFwidGlcIiwgdG9uOiBcInRvXCIsIHRzbjogXCJ0blwiLCB0c286IFwidHNcIiwgdHVrOiBcInRrXCIsIHR1cjogXCJ0clwiLCB0d2k6IFwidHdcIiwgdWlnOiBcInVnXCIsIHVrcjogXCJ1a1wiLCB1cmQ6IFwidXJcIiwgdXpiOiBcInV6XCIsIHZlbjogXCJ2ZVwiLCB2aWU6IFwidmlcIiwgdm9sOiBcInZvXCIsIHdlbDogXCJjeVwiLCB3bG46IFwid2FcIiwgd29sOiBcIndvXCIsIHhobzogXCJ4aFwiLCB5aWQ6IFwieWlcIiwgeW9yOiBcInlvXCIsIHpoYTogXCJ6YVwiLCB6dWw6IFwienVcIiB9LCBuYW1lcyA9IHsgYWZhcjogXCJhYVwiLCBhYmtoYXppYW46IFwiYWJcIiwgYWZyaWthYW5zOiBcImFmXCIsIGFrYW46IFwiYWtcIiwgYWxiYW5pYW46IFwic3FcIiwgYW1oYXJpYzogXCJhbVwiLCBhcmFiaWM6IFwiYXJcIiwgYXJhZ29uZXNlOiBcImFuXCIsIGFybWVuaWFuOiBcImh5XCIsIGFzc2FtZXNlOiBcImFzXCIsIGF2YXJpYzogXCJhdlwiLCBhdmVzdGFuOiBcImFlXCIsIGF5bWFyYTogXCJheVwiLCBhemVyYmFpamFuaTogXCJhelwiLCBiYXNoa2lyOiBcImJhXCIsIGJhbWJhcmE6IFwiYm1cIiwgYmFzcXVlOiBcImV1XCIsIGJlbGFydXNpYW46IFwiYmVcIiwgYmVuZ2FsaTogXCJiblwiLCBcImJpaGFyaSBsYW5ndWFnZXNcIjogXCJiaFwiLCBiaXNsYW1hOiBcImJpXCIsIHRpYmV0YW46IFwiYm9cIiwgYm9zbmlhbjogXCJic1wiLCBicmV0b246IFwiYnJcIiwgYnVsZ2FyaWFuOiBcImJnXCIsIGJ1cm1lc2U6IFwibXlcIiwgY2F0YWxhbjogXCJjYVwiLCB2YWxlbmNpYW46IFwiY2FcIiwgY3plY2g6IFwiY3NcIiwgY2hhbW9ycm86IFwiY2hcIiwgY2hlY2hlbjogXCJjZVwiLCBjaGluZXNlOiBcInpoXCIsIFwiY2h1cmNoIHNsYXZpY1wiOiBcImN1XCIsIFwib2xkIHNsYXZvbmljXCI6IFwiY3VcIiwgXCJjaHVyY2ggc2xhdm9uaWNcIjogXCJjdVwiLCBcIm9sZCBidWxnYXJpYW5cIjogXCJjdVwiLCBcIm9sZCBjaHVyY2ggc2xhdm9uaWNcIjogXCJjdVwiLCBjaHV2YXNoOiBcImN2XCIsIGNvcm5pc2g6IFwia3dcIiwgY29yc2ljYW46IFwiY29cIiwgY3JlZTogXCJjclwiLCB3ZWxzaDogXCJjeVwiLCBkYW5pc2g6IFwiZGFcIiwgZ2VybWFuOiBcImRlXCIsIGRpdmVoaTogXCJkdlwiLCBkaGl2ZWhpOiBcImR2XCIsIG1hbGRpdmlhbjogXCJkdlwiLCBkdXRjaDogXCJubFwiLCBmbGVtaXNoOiBcIm5sXCIsIGR6b25na2hhOiBcImR6XCIsIGdyZWVrOiBcImVsXCIsIGVuZ2xpc2g6IFwiZW5cIiwgZXNwZXJhbnRvOiBcImVvXCIsIGVzdG9uaWFuOiBcImV0XCIsIGV3ZTogXCJlZVwiLCBmYXJvZXNlOiBcImZvXCIsIHBlcnNpYW46IFwiZmFcIiwgZmlqaWFuOiBcImZqXCIsIGZpbm5pc2g6IFwiZmlcIiwgZnJlbmNoOiBcImZyXCIsIFwid2VzdGVybiBmcmlzaWFuXCI6IFwiZnlcIiwgZnVsYWg6IFwiZmZcIiwgZ2VvcmdpYW46IFwia2FcIiwgZ2FlbGljOiBcImdkXCIsIFwic2NvdHRpc2ggZ2FlbGljXCI6IFwiZ2RcIiwgaXJpc2g6IFwiZ2FcIiwgZ2FsaWNpYW46IFwiZ2xcIiwgbWFueDogXCJndlwiLCBndWFyYW5pOiBcImduXCIsIGd1amFyYXRpOiBcImd1XCIsIGhhaXRpYW46IFwiaHRcIiwgXCJoYWl0aWFuIGNyZW9sZVwiOiBcImh0XCIsIGhhdXNhOiBcImhhXCIsIGhlYnJldzogXCJoZVwiLCBoZXJlcm86IFwiaHpcIiwgaGluZGk6IFwiaGlcIiwgXCJoaXJpIG1vdHVcIjogXCJob1wiLCBjcm9hdGlhbjogXCJoclwiLCBodW5nYXJpYW46IFwiaHVcIiwgaWdibzogXCJpZ1wiLCBpY2VsYW5kaWM6IFwiaXNcIiwgaWRvOiBcImlvXCIsIFwic2ljaHVhbiB5aVwiOiBcImlpXCIsIG51b3N1OiBcImlpXCIsIGludWt0aXR1dDogXCJpdVwiLCBpbnRlcmxpbmd1ZTogXCJpZVwiLCBvY2NpZGVudGFsOiBcImllXCIsIGludGVybGluZ3VhOiBcImlhXCIsIGluZG9uZXNpYW46IFwiaWRcIiwgaW51cGlhcTogXCJpa1wiLCBpdGFsaWFuOiBcIml0XCIsIGphdmFuZXNlOiBcImp2XCIsIGphcGFuZXNlOiBcImphXCIsIGthbGFhbGxpc3V0OiBcImtsXCIsIGdyZWVubGFuZGljOiBcImtsXCIsIGthbm5hZGE6IFwia25cIiwga2FzaG1pcmk6IFwia3NcIiwga2FudXJpOiBcImtyXCIsIGthemFraDogXCJra1wiLCBcImNlbnRyYWwga2htZXJcIjogXCJrbVwiLCBraWt1eXU6IFwia2lcIiwgZ2lrdXl1OiBcImtpXCIsIGtpbnlhcndhbmRhOiBcInJ3XCIsIGtpcmdoaXo6IFwia3lcIiwga3lyZ3l6OiBcImt5XCIsIGtvbWk6IFwia3ZcIiwga29uZ286IFwia2dcIiwga29yZWFuOiBcImtvXCIsIGt1YW55YW1hOiBcImtqXCIsIGt3YW55YW1hOiBcImtqXCIsIGt1cmRpc2g6IFwia3VcIiwgbGFvOiBcImxvXCIsIGxhdGluOiBcImxhXCIsIGxhdHZpYW46IFwibHZcIiwgbGltYnVyZ2FuOiBcImxpXCIsIGxpbWJ1cmdlcjogXCJsaVwiLCBsaW1idXJnaXNoOiBcImxpXCIsIGxpbmdhbGE6IFwibG5cIiwgbGl0aHVhbmlhbjogXCJsdFwiLCBsdXhlbWJvdXJnaXNoOiBcImxiXCIsIGxldHplYnVyZ2VzY2g6IFwibGJcIiwgXCJsdWJhLWthdGFuZ2FcIjogXCJsdVwiLCBnYW5kYTogXCJsZ1wiLCBtYWNlZG9uaWFuOiBcIm1rXCIsIG1hcnNoYWxsZXNlOiBcIm1oXCIsIG1hbGF5YWxhbTogXCJtbFwiLCBtYW9yaTogXCJtaVwiLCBtYXJhdGhpOiBcIm1yXCIsIG1hbGF5OiBcIm1zXCIsIG1hbGFnYXN5OiBcIm1nXCIsIG1hbHRlc2U6IFwibXRcIiwgbW9uZ29saWFuOiBcIm1uXCIsIG5hdXJ1OiBcIm5hXCIsIG5hdmFqbzogXCJudlwiLCBuYXZhaG86IFwibnZcIiwgXCJuZGViZWxlLCBzb3V0aFwiOiBcIm5yXCIsIFwic291dGggbmRlYmVsZVwiOiBcIm5yXCIsIFwibmRlYmVsZSwgbm9ydGhcIjogXCJuZFwiLCBcIm5vcnRoIG5kZWJlbGVcIjogXCJuZFwiLCBuZG9uZ2E6IFwibmdcIiwgbmVwYWxpOiBcIm5lXCIsIFwibm9yd2VnaWFuIG55bm9yc2tcIjogXCJublwiLCBcIm55bm9yc2ssIG5vcndlZ2lhblwiOiBcIm5uXCIsIFwibm9yd2VnaWFuIGJva23DpWxcIjogXCJuYlwiLCBcImJva23DpWwsIG5vcndlZ2lhblwiOiBcIm5iXCIsIG5vcndlZ2lhbjogXCJub1wiLCBjaGljaGV3YTogXCJueVwiLCBjaGV3YTogXCJueVwiLCBueWFuamE6IFwibnlcIiwgb2NjaXRhbjogXCJvY1wiLCBvamlid2E6IFwib2pcIiwgb3JpeWE6IFwib3JcIiwgb3JvbW86IFwib21cIiwgb3NzZXRpYW46IFwib3NcIiwgb3NzZXRpYzogXCJvc1wiLCBwYW5qYWJpOiBcInBhXCIsIHB1bmphYmk6IFwicGFcIiwgcGFsaTogXCJwaVwiLCBwb2xpc2g6IFwicGxcIiwgcG9ydHVndWVzZTogXCJwdFwiLCBwdXNodG86IFwicHNcIiwgcGFzaHRvOiBcInBzXCIsIHF1ZWNodWE6IFwicXVcIiwgcm9tYW5zaDogXCJybVwiLCByb21hbmlhbjogXCJyb1wiLCBtb2xkYXZpYW46IFwicm9cIiwgbW9sZG92YW46IFwicm9cIiwgcnVuZGk6IFwicm5cIiwgcnVzc2lhbjogXCJydVwiLCBzYW5nbzogXCJzZ1wiLCBzYW5za3JpdDogXCJzYVwiLCBzaW5oYWxhOiBcInNpXCIsIHNpbmhhbGVzZTogXCJzaVwiLCBzbG92YWs6IFwic2tcIiwgc2xvdmVuaWFuOiBcInNsXCIsIFwibm9ydGhlcm4gc2FtaVwiOiBcInNlXCIsIHNhbW9hbjogXCJzbVwiLCBzaG9uYTogXCJzblwiLCBzaW5kaGk6IFwic2RcIiwgc29tYWxpOiBcInNvXCIsIFwic290aG8sIHNvdXRoZXJuXCI6IFwic3RcIiwgc3BhbmlzaDogXCJlc1wiLCBjYXN0aWxpYW46IFwiZXNcIiwgc2FyZGluaWFuOiBcInNjXCIsIHNlcmJpYW46IFwic3JcIiwgc3dhdGk6IFwic3NcIiwgc3VuZGFuZXNlOiBcInN1XCIsIHN3YWhpbGk6IFwic3dcIiwgc3dlZGlzaDogXCJzdlwiLCB0YWhpdGlhbjogXCJ0eVwiLCB0YW1pbDogXCJ0YVwiLCB0YXRhcjogXCJ0dFwiLCB0ZWx1Z3U6IFwidGVcIiwgdGFqaWs6IFwidGdcIiwgdGFnYWxvZzogXCJ0bFwiLCB0aGFpOiBcInRoXCIsIHRpZ3JpbnlhOiBcInRpXCIsIHRvbmdhOiBcInRvXCIsIHRzd2FuYTogXCJ0blwiLCB0c29uZ2E6IFwidHNcIiwgdHVya21lbjogXCJ0a1wiLCB0dXJraXNoOiBcInRyXCIsIHR3aTogXCJ0d1wiLCB1aWdodXI6IFwidWdcIiwgdXlnaHVyOiBcInVnXCIsIHVrcmFpbmlhbjogXCJ1a1wiLCB1cmR1OiBcInVyXCIsIHV6YmVrOiBcInV6XCIsIHZlbmRhOiBcInZlXCIsIHZpZXRuYW1lc2U6IFwidmlcIiwgXCJ2b2xhcMO8a1wiOiBcInZvXCIsIHdhbGxvb246IFwid2FcIiwgd29sb2Y6IFwid29cIiwgeGhvc2E6IFwieGhcIiwgeWlkZGlzaDogXCJ5aVwiLCB5b3J1YmE6IFwieW9cIiwgemh1YW5nOiBcInphXCIsIGNodWFuZzogXCJ6YVwiLCB6dWx1OiBcInp1XCIgfTtcbi8vIEB0cy1pZ25vcmVcbmNvbnN0IGlzb0tleXMgPSBPYmplY3QudmFsdWVzKGlzbykuc29ydCgpOyB2YXIgbGFuZ3VhZ2VzID0gZSA9PiB7IGlmIChcInN0cmluZ1wiICE9IHR5cGVvZiBlKSB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcImxhbmd1YWdlXCIgbXVzdCBiZSBhIHN0cmluZywgcmVjZWl2ZWQgJyArIHR5cGVvZiBlKTsgaWYgKGUubGVuZ3RoID4gMTAwKSB0aHJvdyBuZXcgRXJyb3IoYFRoZSBcImxhbmd1YWdlXCIgaXMgdG9vIGxvbmcgYXQgJHtlLmxlbmd0aH0gY2hhcmFjdGVyc2ApOyBpZiAoZSA9IGUudG9Mb3dlckNhc2UoKSwgZSA9IG5hbWVzW2VdIHx8IGlzb1tlXSB8fCBlLCAhaXNvS2V5cy5pbmNsdWRlcyhlKSkgdGhyb3cgbmV3IEVycm9yKGBUaGUgbGFuZ3VhZ2UgXCIke2V9XCIgaXMgbm90IHBhcnQgb2YgdGhlIElTTyA2MzktMWApOyByZXR1cm4gZSB9OyBmdW5jdGlvbiBDYWNoZSgpIHsgdmFyIGUgPSBPYmplY3QuY3JlYXRlKG51bGwpOyBmdW5jdGlvbiBhKGEpIHsgZGVsZXRlIGVbYV0gfSB0aGlzLnNldCA9IGZ1bmN0aW9uIChuLCBpLCByKSB7IGlmICh2b2lkIDAgIT09IHIgJiYgKFwibnVtYmVyXCIgIT0gdHlwZW9mIHIgfHwgaXNOYU4ocikgfHwgciA8PSAwKSkgdGhyb3cgbmV3IEVycm9yKFwiQ2FjaGUgdGltZW91dCBtdXN0IGJlIGEgcG9zaXRpdmUgbnVtYmVyXCIpOyB2YXIgdCA9IGVbbl07IHQgJiYgY2xlYXJUaW1lb3V0KHQudGltZW91dCk7IHZhciBvID0geyB2YWx1ZTogaSwgZXhwaXJlOiByICsgRGF0ZS5ub3coKSB9OyByZXR1cm4gaXNOYU4oby5leHBpcmUpIHx8IChvLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgoKSA9PiBhKG4pKSwgcikpLCBlW25dID0gbywgaSB9LCB0aGlzLmRlbCA9IGZ1bmN0aW9uIChuKSB7IHZhciBpID0gITAsIHIgPSBlW25dOyByZXR1cm4gciA/IChjbGVhclRpbWVvdXQoci50aW1lb3V0KSwgIWlzTmFOKHIuZXhwaXJlKSAmJiByLmV4cGlyZSA8IERhdGUubm93KCkgJiYgKGkgPSAhMSkpIDogaSA9ICExLCBpICYmIGEobiksIGkgfSwgdGhpcy5jbGVhciA9IGZ1bmN0aW9uICgpIHsgZm9yICh2YXIgYSBpbiBlKSBjbGVhclRpbWVvdXQoZVthXS50aW1lb3V0KTsgZSA9IE9iamVjdC5jcmVhdGUobnVsbCkgfSwgdGhpcy5nZXQgPSBmdW5jdGlvbiAoYSkgeyB2YXIgbiA9IGVbYV07IGlmICh2b2lkIDAgIT09IG4pIHsgaWYgKGlzTmFOKG4uZXhwaXJlKSB8fCBuLmV4cGlyZSA+PSBEYXRlLm5vdygpKSByZXR1cm4gbi52YWx1ZTsgZGVsZXRlIGVbYV0gfSByZXR1cm4gbnVsbCB9IH0gY29uc3QgZXhwJDEgPSBuZXcgQ2FjaGU7IGV4cCQxLkNhY2hlID0gQ2FjaGU7IGNvbnN0IGJhc2UgPSBcImh0dHBzOi8vdHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tL3RyYW5zbGF0ZV9hL3NpbmdsZVwiOyB2YXIgZ29vZ2xlID0geyBmZXRjaDogKHsga2V5OiBlLCBmcm9tOiBhLCB0bzogbiwgdGV4dDogaSB9KSA9PiBbYCR7YmFzZX0/Y2xpZW50PWd0eCZzbD0ke2F9JnRsPSR7bn0mZHQ9dCZxPSR7ZW5jb2RlVVJJKGkpfWBdLCBwYXJzZTogZSA9PiBlLmpzb24oKS50aGVuKChlID0+IHsgaWYgKCEoZSA9IGUgJiYgZVswXSAmJiBlWzBdWzBdICYmIGVbMF0ubWFwKChlID0+IGVbMF0pKS5qb2luKFwiXCIpKSkgdGhyb3cgbmV3IEVycm9yKFwiVHJhbnNsYXRpb24gbm90IGZvdW5kXCIpOyByZXR1cm4gZSB9KSkgfSwgeWFuZGV4ID0geyBuZWVka2V5OiAhMCwgZmV0Y2g6ICh7IGtleTogZSwgZnJvbTogYSwgdG86IG4sIHRleHQ6IGkgfSkgPT4gW2BodHRwczovL3RyYW5zbGF0ZS55YW5kZXgubmV0L2FwaS92MS41L3RyLmpzb24vdHJhbnNsYXRlP2tleT0ke2V9Jmxhbmc9JHthfS0ke259JnRleHQ9JHtlbmNvZGVVUklDb21wb25lbnQoaSl9YCwgeyBtZXRob2Q6IFwiUE9TVFwiLCBib2R5OiBcIlwiIH1dLCBwYXJzZTogZSA9PiBlLmpzb24oKS50aGVuKChlID0+IHsgaWYgKDIwMCAhPT0gZS5jb2RlKSB0aHJvdyBuZXcgRXJyb3IoZS5tZXNzYWdlKTsgcmV0dXJuIGUudGV4dFswXSB9KSkgfTsgY29uc3QgbGlicmVVcmwgPSBcImh0dHBzOi8vbGlicmV0cmFuc2xhdGUuY29tL3RyYW5zbGF0ZVwiOyB2YXIgbGlicmUgPSB7IG5lZWRrZXk6ICExLCBmZXRjaDogKHsgdXJsOiBlID0gbGlicmVVcmwsIGtleTogYSwgZnJvbTogbiwgdG86IGksIHRleHQ6IHIgfSkgPT4gW2UsIHsgbWV0aG9kOiBcIlBPU1RcIiwgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBxOiByLCBzb3VyY2U6IG4sIHRhcmdldDogaSwgYXBpX2tleTogYSB9KSwgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9IH1dLCBwYXJzZTogZSA9PiBlLmpzb24oKS50aGVuKChlID0+IHsgaWYgKCFlKSB0aHJvdyBuZXcgRXJyb3IoXCJObyByZXNwb25zZSBmb3VuZFwiKTsgaWYgKGUuZXJyb3IpIHRocm93IG5ldyBFcnJvcihlLmVycm9yKTsgaWYgKCFlLnRyYW5zbGF0ZWRUZXh0KSB0aHJvdyBuZXcgRXJyb3IoXCJObyByZXNwb25zZSBmb3VuZFwiKTsgcmV0dXJuIGUudHJhbnNsYXRlZFRleHQgfSkpIH0sIGRlZXBsID0geyBuZWVka2V5OiAhMCwgZmV0Y2g6ICh7IGtleTogZSwgZnJvbTogYSwgdG86IG4sIHRleHQ6IGkgfSkgPT4gW2BodHRwczovL2FwaSR7LzpmeCQvLnRlc3QoZSkgPyBcIi1mcmVlXCIgOiBcIlwifS5kZWVwbC5jb20vdjIvdHJhbnNsYXRlP2F1dGhfa2V5PSR7ZX0mc291cmNlX2xhbmc9JHthfSZ0YXJnZXRfbGFuZz0ke259JnRleHQ9JHtpID0gZW5jb2RlVVJJQ29tcG9uZW50KGkpfWAsIHsgbWV0aG9kOiBcIlBPU1RcIiwgYm9keTogXCJcIiB9XSwgcGFyc2U6IGFzeW5jIGUgPT4geyBpZiAoIWUub2spIHsgaWYgKDQwMyA9PT0gZS5zdGF0dXMpIHRocm93IG5ldyBFcnJvcihcIkF1dGggRXJyb3IsIHBsZWFzZSByZXZpZXcgdGhlIGtleSBmb3IgRGVlcExcIik7IHRocm93IG5ldyBFcnJvcihgRXJyb3IgJHtlLnN0YXR1c31gKSB9IHJldHVybiBlLmpzb24oKS50aGVuKChlID0+IGUudHJhbnNsYXRpb25zWzBdLnRleHQpKSB9IH0sIGVuZ2luZXMgPSB7IGdvb2dsZTogZ29vZ2xlLCB5YW5kZXg6IHlhbmRleCwgbGlicmU6IGxpYnJlLCBkZWVwbDogZGVlcGwgfTsgY29uc3QgVHJhbnNsYXRlID0gZnVuY3Rpb24gKGUgPSB7fSkgeyBpZiAoISh0aGlzIGluc3RhbmNlb2YgVHJhbnNsYXRlKSkgcmV0dXJuIG5ldyBUcmFuc2xhdGUoZSk7IGNvbnN0IGEgPSB7IGZyb206IFwiZW5cIiwgdG86IFwiZW5cIiwgY2FjaGU6IHZvaWQgMCwgbGFuZ3VhZ2VzOiBsYW5ndWFnZXMsIGVuZ2luZXM6IGVuZ2luZXMsIGVuZ2luZTogXCJnb29nbGVcIiwga2V5czoge30gfSwgbiA9IGFzeW5jIChlLCBhID0ge30pID0+IHsgXCJzdHJpbmdcIiA9PSB0eXBlb2YgYSAmJiAoYSA9IHsgdG86IGEgfSksIGEudGV4dCA9IGUsIGEuZnJvbSA9IGxhbmd1YWdlcyhhLmZyb20gfHwgbi5mcm9tKSwgYS50byA9IGxhbmd1YWdlcyhhLnRvIHx8IG4udG8pLCBhLmNhY2hlID0gYS5jYWNoZSB8fCBuLmNhY2hlLCBhLmVuZ2luZXMgPSBhLmVuZ2luZXMgfHwge30sIGEuZW5naW5lID0gYS5lbmdpbmUgfHwgbi5lbmdpbmUsIGEudXJsID0gYS51cmwgfHwgbi51cmwsIGEuaWQgPSBhLmlkIHx8IGAke2EudXJsfToke2EuZnJvbX06JHthLnRvfToke2EuZW5naW5lfToke2EudGV4dH1gLCBhLmtleXMgPSBhLmtleXMgfHwgbi5rZXlzIHx8IHt9OyBmb3IgKGxldCBlIGluIG4ua2V5cykgYS5rZXlzW2VdID0gYS5rZXlzW2VdIHx8IG4ua2V5c1tlXTsgYS5rZXkgPSBhLmtleSB8fCBuLmtleSB8fCBhLmtleXNbYS5lbmdpbmVdOyBjb25zdCBpID0gYS5lbmdpbmVzW2EuZW5naW5lXSB8fCBuLmVuZ2luZXNbYS5lbmdpbmVdLCByID0gZXhwJDEuZ2V0KGEuaWQpOyBpZiAocikgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyKTsgaWYgKGEudG8gPT09IGEuZnJvbSkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShhLnRleHQpOyBpZiAoaS5uZWVka2V5ICYmICFhLmtleSkgdGhyb3cgbmV3IEVycm9yKGBUaGUgZW5naW5lIFwiJHthLmVuZ2luZX1cIiBuZWVkcyBhIGtleSwgcGxlYXNlIHByb3ZpZGUgaXRgKTsgY29uc3QgdCA9IGkuZmV0Y2goYSk7IHJldHVybiBmZXRjaCguLi50KS50aGVuKGkucGFyc2UpLnRoZW4oKGUgPT4gZXhwJDEuc2V0KGEuaWQsIGUsIGEuY2FjaGUpKSkgfTsgZm9yIChsZXQgaSBpbiBhKSBuW2ldID0gdm9pZCAwID09PSBlW2ldID8gYVtpXSA6IGVbaV07IHJldHVybiBuIH0sIGV4cCA9IG5ldyBUcmFuc2xhdGU7XG5leHAuVHJhbnNsYXRlID0gVHJhbnNsYXRlO1xuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZSAgPSBleHA7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS90cmFuc2xhdGUudHMiXX0=
@@ -1,26 +0,0 @@
1
- export class Memory {
2
- constructor() {
3
- this.__data = null;
4
- }
5
- read() {
6
- return Promise.resolve(this.__data);
7
- }
8
- write(obj) {
9
- this.__data = obj;
10
- return Promise.resolve();
11
- }
12
- }
13
- export class MemorySync {
14
- constructor() {
15
- this.__data = null;
16
- }
17
- read() {
18
- return this.__data || null;
19
- }
20
- write(obj) {
21
- this.__data = obj;
22
- }
23
- }
24
- ;
25
- ({}); // @--end-of-file-for-module=tnp-helpers lib/lowdb/adapters/Memory.ts
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvbG93ZGIvYWRhcHRlcnMvTWVtb3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxNQUFNO0lBQW5CO1FBQ0UsV0FBTSxHQUFhLElBQUksQ0FBQTtJQVV6QixDQUFDO0lBUkMsSUFBSTtRQUNGLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFNO1FBQ1YsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUE7UUFDakIsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDMUIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFDRSxXQUFNLEdBQWEsSUFBSSxDQUFBO0lBU3pCLENBQUM7SUFQQyxJQUFJO1FBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQTtJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQU07UUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQTtJQUNuQixDQUFDO0NBQ0Y7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFFQUFxRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBBZGFwdGVyLCBTeW5jQWRhcHRlciB9IGZyb20gJy4uL2NvcmUvTG93J1xuXG5leHBvcnQgY2xhc3MgTWVtb3J5PFQ+IGltcGxlbWVudHMgQWRhcHRlcjxUPiB7XG4gIF9fZGF0YTogVCB8IG51bGwgPSBudWxsXG5cbiAgcmVhZCgpOiBQcm9taXNlPFQgfCBudWxsPiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9fZGF0YSlcbiAgfVxuXG4gIHdyaXRlKG9iajogVCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX19kYXRhID0gb2JqXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1lbW9yeVN5bmM8VD4gaW1wbGVtZW50cyBTeW5jQWRhcHRlcjxUPiB7XG4gIF9fZGF0YTogVCB8IG51bGwgPSBudWxsXG5cbiAgcmVhZCgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX19kYXRhIHx8IG51bGxcbiAgfVxuXG4gIHdyaXRlKG9iajogVCk6IHZvaWQge1xuICAgIHRoaXMuX19kYXRhID0gb2JqXG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9sb3dkYi9hZGFwdGVycy9NZW1vcnkudHMiXX0=
@@ -1,49 +0,0 @@
1
- function checkArgs(adapter, defaultData) {
2
- if (adapter === undefined)
3
- throw new Error('lowdb: missing adapter');
4
- if (defaultData === undefined)
5
- throw new Error('lowdb: missing default data');
6
- }
7
- export class Low {
8
- constructor(adapter, defaultData) {
9
- checkArgs(adapter, defaultData);
10
- this.adapter = adapter;
11
- this.data = defaultData;
12
- }
13
- async read() {
14
- const data = await this.adapter.read();
15
- if (data)
16
- this.data = data;
17
- }
18
- async write() {
19
- if (this.data)
20
- await this.adapter.write(this.data);
21
- }
22
- async update(fn) {
23
- fn(this.data);
24
- await this.write();
25
- }
26
- }
27
- export class LowSync {
28
- constructor(adapter, defaultData) {
29
- checkArgs(adapter, defaultData);
30
- this.adapter = adapter;
31
- this.data = defaultData;
32
- }
33
- read() {
34
- const data = this.adapter.read();
35
- if (data)
36
- this.data = data;
37
- }
38
- write() {
39
- if (this.data)
40
- this.adapter.write(this.data);
41
- }
42
- update(fn) {
43
- fn(this.data);
44
- this.write();
45
- }
46
- }
47
- ;
48
- ({}); // @--end-of-file-for-module=tnp-helpers lib/lowdb/core/Low.ts
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvbG93ZGIvY29yZS9Mb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWUEsU0FBUyxTQUFTLENBQUMsT0FBZ0IsRUFBRSxXQUFvQjtJQUN2RCxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO0lBQ3BFLElBQUksV0FBVyxLQUFLLFNBQVM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUE7QUFDL0UsQ0FBQztBQUVELE1BQU0sT0FBTyxHQUFHO0lBSWQsWUFBWSxPQUFtQixFQUFFLFdBQWM7UUFDN0MsU0FBUyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQTtJQUN6QixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDdEMsSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7SUFDNUIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3BELENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQXdCO1FBQ25DLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDYixNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNwQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sT0FBTztJQUlsQixZQUFZLE9BQXVCLEVBQUUsV0FBYztRQUNqRCxTQUFTLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxJQUFJO1FBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNoQyxJQUFJLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtJQUM1QixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUF3QjtRQUM3QixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ2QsQ0FBQztDQUNGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw4REFBOEQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZXhwb3J0IGludGVyZmFjZSBBZGFwdGVyPFQ+IHtcbiAgcmVhZDogKCkgPT4gUHJvbWlzZTxUIHwgbnVsbD5cbiAgd3JpdGU6IChkYXRhOiBUKSA9PiBQcm9taXNlPHZvaWQ+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3luY0FkYXB0ZXI8VD4ge1xuICByZWFkOiAoKSA9PiBUIHwgbnVsbFxuICB3cml0ZTogKGRhdGE6IFQpID0+IHZvaWRcbn1cblxuZnVuY3Rpb24gY2hlY2tBcmdzKGFkYXB0ZXI6IHVua25vd24sIGRlZmF1bHREYXRhOiB1bmtub3duKSB7XG4gIGlmIChhZGFwdGVyID09PSB1bmRlZmluZWQpIHRocm93IG5ldyBFcnJvcignbG93ZGI6IG1pc3NpbmcgYWRhcHRlcicpXG4gIGlmIChkZWZhdWx0RGF0YSA9PT0gdW5kZWZpbmVkKSB0aHJvdyBuZXcgRXJyb3IoJ2xvd2RiOiBtaXNzaW5nIGRlZmF1bHQgZGF0YScpXG59XG5cbmV4cG9ydCBjbGFzcyBMb3c8VCA9IHVua25vd24+IHtcbiAgYWRhcHRlcjogQWRhcHRlcjxUPlxuICBkYXRhOiBUXG5cbiAgY29uc3RydWN0b3IoYWRhcHRlcjogQWRhcHRlcjxUPiwgZGVmYXVsdERhdGE6IFQpIHtcbiAgICBjaGVja0FyZ3MoYWRhcHRlciwgZGVmYXVsdERhdGEpXG4gICAgdGhpcy5hZGFwdGVyID0gYWRhcHRlclxuICAgIHRoaXMuZGF0YSA9IGRlZmF1bHREYXRhXG4gIH1cblxuICBhc3luYyByZWFkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmFkYXB0ZXIucmVhZCgpXG4gICAgaWYgKGRhdGEpIHRoaXMuZGF0YSA9IGRhdGFcbiAgfVxuXG4gIGFzeW5jIHdyaXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmRhdGEpIGF3YWl0IHRoaXMuYWRhcHRlci53cml0ZSh0aGlzLmRhdGEpXG4gIH1cblxuICBhc3luYyB1cGRhdGUoZm46IChkYXRhOiBUKSA9PiB1bmtub3duKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm4odGhpcy5kYXRhKVxuICAgIGF3YWl0IHRoaXMud3JpdGUoKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMb3dTeW5jPFQgPSB1bmtub3duPiB7XG4gIGFkYXB0ZXI6IFN5bmNBZGFwdGVyPFQ+XG4gIGRhdGE6IFRcblxuICBjb25zdHJ1Y3RvcihhZGFwdGVyOiBTeW5jQWRhcHRlcjxUPiwgZGVmYXVsdERhdGE6IFQpIHtcbiAgICBjaGVja0FyZ3MoYWRhcHRlciwgZGVmYXVsdERhdGEpXG4gICAgdGhpcy5hZGFwdGVyID0gYWRhcHRlclxuICAgIHRoaXMuZGF0YSA9IGRlZmF1bHREYXRhXG4gIH1cblxuICByZWFkKCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmFkYXB0ZXIucmVhZCgpXG4gICAgaWYgKGRhdGEpIHRoaXMuZGF0YSA9IGRhdGFcbiAgfVxuXG4gIHdyaXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGEpIHRoaXMuYWRhcHRlci53cml0ZSh0aGlzLmRhdGEpXG4gIH1cblxuICB1cGRhdGUoZm46IChkYXRhOiBUKSA9PiB1bmtub3duKTogdm9pZCB7XG4gICAgZm4odGhpcy5kYXRhKVxuICAgIHRoaXMud3JpdGUoKVxuICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvbG93ZGIvY29yZS9Mb3cudHMiXX0=
@@ -1,4 +0,0 @@
1
- export * from './adapters/Memory';
2
- export * from './core/Low';
3
- ({}); // @--end-of-file-for-module=tnp-helpers lib/lowdb/index.ts
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9sb3dkYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsWUFBWSxDQUV4QjtBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywyREFBMkQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZXhwb3J0ICogZnJvbSAnLi9hZGFwdGVycy9NZW1vcnknXG5leHBvcnQgKiBmcm9tICcuL2NvcmUvTG93J1xuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2xvd2RiL2luZGV4LnRzIl19
@@ -1,2 +0,0 @@
1
- // @ts-nocheck
2
- export declare const translate: any;
@@ -1,12 +0,0 @@
1
- // @ts-nocheck
2
- import { Adapter, SyncAdapter } from '../core/Low';
3
- export declare class Memory<T> implements Adapter<T> {
4
- __data: T | null;
5
- read(): Promise<T | null>;
6
- write(obj: T): Promise<void>;
7
- }
8
- export declare class MemorySync<T> implements SyncAdapter<T> {
9
- __data: T | null;
10
- read(): T | null;
11
- write(obj: T): void;
12
- }
@@ -1,25 +0,0 @@
1
- // @ts-nocheck
2
- export interface Adapter<T> {
3
- read: () => Promise<T | null>;
4
- write: (data: T) => Promise<void>;
5
- }
6
- export interface SyncAdapter<T> {
7
- read: () => T | null;
8
- write: (data: T) => void;
9
- }
10
- export declare class Low<T = unknown> {
11
- adapter: Adapter<T>;
12
- data: T;
13
- constructor(adapter: Adapter<T>, defaultData: T);
14
- read(): Promise<void>;
15
- write(): Promise<void>;
16
- update(fn: (data: T) => unknown): Promise<void>;
17
- }
18
- export declare class LowSync<T = unknown> {
19
- adapter: SyncAdapter<T>;
20
- data: T;
21
- constructor(adapter: SyncAdapter<T>, defaultData: T);
22
- read(): void;
23
- write(): void;
24
- update(fn: (data: T) => unknown): void;
25
- }
@@ -1,3 +0,0 @@
1
- // @ts-nocheck
2
- export * from './adapters/Memory';
3
- export * from './core/Low';