@prometa/sleek 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,23 +1,23 @@
1
- var Et = Object.defineProperty;
2
- var It = (i) => {
1
+ var Pt = Object.defineProperty;
2
+ var yt = (i) => {
3
3
  throw TypeError(i);
4
4
  };
5
- var Ut = (i, t, e) => t in i ? Et(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
6
- var V = (i, t, e) => Ut(i, typeof t != "symbol" ? t + "" : t, e), lt = (i, t, e) => t.has(i) || It("Cannot " + e);
7
- var Y = (i, t, e) => (lt(i, t, "read from private field"), e ? e.call(i) : t.get(i)), S = (i, t, e) => t.has(i) ? It("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(i) : t.set(i, e), K = (i, t, e, n) => (lt(i, t, "write to private field"), n ? n.call(i, e) : t.set(i, e), e), Ct = (i, t, e) => (lt(i, t, "access private method"), e);
8
- import { snakeToCamel as $t } from "./chartjs-chart.js";
9
- import { t as Pt } from "./utils.js";
10
- function ct(i, t) {
5
+ var qt = (i, t, e) => t in i ? Pt(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
6
+ var k = (i, t, e) => qt(i, typeof t != "symbol" ? t + "" : t, e), ct = (i, t, e) => t.has(i) || yt("Cannot " + e);
7
+ var G = (i, t, e) => (ct(i, t, "read from private field"), e ? e.call(i) : t.get(i)), x = (i, t, e) => t.has(i) ? yt("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(i) : t.set(i, e), j = (i, t, e, n) => (ct(i, t, "write to private field"), n ? n.call(i, e) : t.set(i, e), e), P = (i, t, e) => (ct(i, t, "access private method"), e);
8
+ import { snakeToCamel as te } from "./chartjs-chart.js";
9
+ import { t as ee } from "./utils.js";
10
+ function at(i, t) {
11
11
  i.split(/\s+/).forEach((e) => {
12
12
  t(e);
13
13
  });
14
14
  }
15
- class qt {
15
+ class ie {
16
16
  constructor() {
17
17
  this._events = {};
18
18
  }
19
19
  on(t, e) {
20
- ct(t, (n) => {
20
+ at(t, (n) => {
21
21
  const s = this._events[n] || [];
22
22
  s.push(e), this._events[n] = s;
23
23
  });
@@ -28,7 +28,7 @@ class qt {
28
28
  this._events = {};
29
29
  return;
30
30
  }
31
- ct(t, (s) => {
31
+ at(t, (s) => {
32
32
  if (n === 1) {
33
33
  delete this._events[s];
34
34
  return;
@@ -39,7 +39,7 @@ class qt {
39
39
  }
40
40
  trigger(t, ...e) {
41
41
  var n = this;
42
- ct(t, (s) => {
42
+ at(t, (s) => {
43
43
  const o = n._events[s];
44
44
  o !== void 0 && o.forEach((r) => {
45
45
  r.apply(n, e);
@@ -47,7 +47,7 @@ class qt {
47
47
  });
48
48
  }
49
49
  }
50
- function te(i) {
50
+ function ne(i) {
51
51
  return i.plugins = {}, class extends i {
52
52
  constructor() {
53
53
  super(...arguments), this.plugins = {
@@ -117,8 +117,8 @@ function te(i) {
117
117
  }
118
118
  };
119
119
  }
120
- const ot = (i) => (i = i.filter(Boolean), i.length < 2 ? i[0] || "" : ie(i) == 1 ? "[" + i.join("") + "]" : "(?:" + i.join("|") + ")"), kt = (i) => {
121
- if (!ee(i))
120
+ const lt = (i) => (i = i.filter(Boolean), i.length < 2 ? i[0] || "" : re(i) == 1 ? "[" + i.join("") + "]" : "(?:" + i.join("|") + ")"), St = (i) => {
121
+ if (!se(i))
122
122
  return i.join("");
123
123
  let t = "", e = 0;
124
124
  const n = () => {
@@ -133,19 +133,19 @@ const ot = (i) => (i = i.filter(Boolean), i.length < 2 ? i[0] || "" : ie(i) == 1
133
133
  }), n(), t;
134
134
  }, Ft = (i) => {
135
135
  let t = Array.from(i);
136
- return ot(t);
137
- }, ee = (i) => new Set(i).size !== i.length, T = (i) => (i + "").replace(/([\$\(\)\*\+\.\?\[\]\^\{\|\}\\])/gu, "\\$1"), ie = (i) => i.reduce((t, e) => Math.max(t, ne(e)), 0), ne = (i) => Array.from(i).length, St = (i) => {
136
+ return lt(t);
137
+ }, se = (i) => new Set(i).size !== i.length, T = (i) => (i + "").replace(/([\$\(\)\*\+\.\?\[\]\^\{\|\}\\])/gu, "\\$1"), re = (i) => i.reduce((t, e) => Math.max(t, oe(e)), 0), oe = (i) => Array.from(i).length, Kt = (i) => {
138
138
  if (i.length === 1)
139
139
  return [[i]];
140
140
  let t = [];
141
141
  const e = i.substring(1);
142
- return St(e).forEach(function(s) {
142
+ return Kt(e).forEach(function(s) {
143
143
  let o = s.slice(0);
144
144
  o[0] = i.charAt(0) + o[0], t.push(o), o = s.slice(0), o.unshift(i.charAt(0)), t.push(o);
145
145
  }), t;
146
- }, se = [[0, 65535]], re = "[̀-ͯ·ʾʼ]";
147
- let it, Kt;
148
- const oe = 3, bt = {}, yt = {
146
+ }, le = [[0, 65535]], ce = "[̀-ͯ·ʾʼ]";
147
+ let st, xt;
148
+ const ae = 3, It = {}, Zt = {
149
149
  "/": "⁄∕",
150
150
  0: "߀",
151
151
  a: "ⱥɐɑ",
@@ -188,61 +188,61 @@ const oe = 3, bt = {}, yt = {
188
188
  z: "ƶȥɀⱬꝣ",
189
189
  hv: "ƕ"
190
190
  };
191
- for (let i in yt) {
192
- let t = yt[i] || "";
191
+ for (let i in Zt) {
192
+ let t = Zt[i] || "";
193
193
  for (let e = 0; e < t.length; e++) {
194
194
  let n = t.substring(e, e + 1);
195
- bt[n] = i;
195
+ It[n] = i;
196
196
  }
197
197
  }
198
- const le = new RegExp(Object.keys(bt).join("|") + "|" + re, "gu"), ce = (i) => {
199
- it === void 0 && (it = ge(se));
200
- }, Zt = (i, t = "NFKD") => i.normalize(t), nt = (i) => Array.from(i).reduce(
198
+ const de = new RegExp(Object.keys(It).join("|") + "|" + ce, "gu"), ue = (i) => {
199
+ st === void 0 && (st = me(le));
200
+ }, wt = (i, t = "NFKD") => i.normalize(t), rt = (i) => Array.from(i).reduce(
201
201
  /**
202
202
  * @param {string} result
203
203
  * @param {string} char
204
204
  */
205
- (t, e) => t + ae(e),
205
+ (t, e) => t + ge(e),
206
206
  ""
207
- ), ae = (i) => (i = Zt(i).toLowerCase().replace(le, (t) => bt[t] || ""), Zt(i, "NFC"));
208
- function* de(i) {
207
+ ), ge = (i) => (i = wt(i).toLowerCase().replace(de, (t) => It[t] || ""), wt(i, "NFC"));
208
+ function* pe(i) {
209
209
  for (const [t, e] of i)
210
210
  for (let n = t; n <= e; n++) {
211
- let s = String.fromCharCode(n), o = nt(s);
212
- o != s.toLowerCase() && (o.length > oe || o.length != 0 && (yield { folded: o, composed: s, code_point: n }));
211
+ let s = String.fromCharCode(n), o = rt(s);
212
+ o != s.toLowerCase() && (o.length > ae || o.length != 0 && (yield { folded: o, composed: s, code_point: n }));
213
213
  }
214
214
  }
215
- const ue = (i) => {
215
+ const he = (i) => {
216
216
  const t = {}, e = (n, s) => {
217
217
  const o = t[n] || /* @__PURE__ */ new Set(), r = new RegExp("^" + Ft(o) + "$", "iu");
218
218
  s.match(r) || (o.add(T(s)), t[n] = o);
219
219
  };
220
- for (let n of de(i))
220
+ for (let n of pe(i))
221
221
  e(n.folded, n.folded), e(n.folded, n.composed);
222
222
  return t;
223
- }, ge = (i) => {
224
- const t = ue(i), e = {};
223
+ }, me = (i) => {
224
+ const t = he(i), e = {};
225
225
  let n = [];
226
226
  for (let o in t) {
227
227
  let r = t[o];
228
228
  r && (e[o] = Ft(r)), o.length > 1 && n.push(T(o));
229
229
  }
230
230
  n.sort((o, r) => r.length - o.length);
231
- const s = ot(n);
232
- return Kt = new RegExp("^" + s, "u"), e;
233
- }, pe = (i, t = 1) => {
231
+ const s = lt(n);
232
+ return xt = new RegExp("^" + s, "u"), e;
233
+ }, fe = (i, t = 1) => {
234
234
  let e = 0;
235
- return i = i.map((n) => (it[n] && (e += n.length), it[n] || n)), e >= t ? kt(i) : "";
236
- }, he = (i, t = 1) => (t = Math.max(t, i.length - 1), ot(St(i).map((e) => pe(e, t)))), wt = (i, t = !0) => {
235
+ return i = i.map((n) => (st[n] && (e += n.length), st[n] || n)), e >= t ? St(i) : "";
236
+ }, be = (i, t = 1) => (t = Math.max(t, i.length - 1), lt(Kt(i).map((e) => fe(e, t)))), Lt = (i, t = !0) => {
237
237
  let e = i.length > 1 ? 1 : 0;
238
- return ot(i.map((n) => {
238
+ return lt(i.map((n) => {
239
239
  let s = [];
240
240
  const o = t ? n.length() : n.length() - 1;
241
241
  for (let r = 0; r < o; r++)
242
- s.push(he(n.substrs[r] || "", e));
243
- return kt(s);
242
+ s.push(be(n.substrs[r] || "", e));
243
+ return St(s);
244
244
  }));
245
- }, me = (i, t) => {
245
+ }, ve = (i, t) => {
246
246
  for (const e of t) {
247
247
  if (e.start != i.start || e.end != i.end || e.substrs.join("") !== i.substrs.join(""))
248
248
  continue;
@@ -261,12 +261,12 @@ const ue = (i) => {
261
261
  }
262
262
  return !1;
263
263
  };
264
- class st {
264
+ class ot {
265
265
  constructor() {
266
- V(this, "parts");
267
- V(this, "substrs");
268
- V(this, "start");
269
- V(this, "end");
266
+ k(this, "parts");
267
+ k(this, "substrs");
268
+ k(this, "start");
269
+ k(this, "end");
270
270
  this.parts = [], this.substrs = [], this.start = 0, this.end = 0;
271
271
  }
272
272
  add(t) {
@@ -279,74 +279,74 @@ class st {
279
279
  return this.parts.length;
280
280
  }
281
281
  clone(t, e) {
282
- let n = new st(), s = JSON.parse(JSON.stringify(this.parts)), o = s.pop();
282
+ let n = new ot(), s = JSON.parse(JSON.stringify(this.parts)), o = s.pop();
283
283
  for (const a of s)
284
284
  n.add(a);
285
285
  let r = e.substr.substring(0, t - o.start), l = r.length;
286
286
  return n.add({ start: o.start, end: o.start + l, length: l, substr: r }), n;
287
287
  }
288
288
  }
289
- const fe = (i) => {
290
- ce(), i = nt(i);
291
- let t = "", e = [new st()];
289
+ const Ie = (i) => {
290
+ ue(), i = rt(i);
291
+ let t = "", e = [new ot()];
292
292
  for (let n = 0; n < i.length; n++) {
293
- let o = i.substring(n).match(Kt);
293
+ let o = i.substring(n).match(xt);
294
294
  const r = i.substring(n, n + 1), l = o ? o[0] : null;
295
295
  let a = [], c = /* @__PURE__ */ new Set();
296
- for (const d of e) {
297
- const u = d.last();
298
- if (!u || u.length == 1 || u.end <= n)
296
+ for (const u of e) {
297
+ const d = u.last();
298
+ if (!d || d.length == 1 || d.end <= n)
299
299
  if (l) {
300
300
  const p = l.length;
301
- d.add({ start: n, end: n + p, length: p, substr: l }), c.add("1");
301
+ u.add({ start: n, end: n + p, length: p, substr: l }), c.add("1");
302
302
  } else
303
- d.add({ start: n, end: n + 1, length: 1, substr: r }), c.add("2");
303
+ u.add({ start: n, end: n + 1, length: 1, substr: r }), c.add("2");
304
304
  else if (l) {
305
- let p = d.clone(n, u);
305
+ let p = u.clone(n, d);
306
306
  const y = l.length;
307
307
  p.add({ start: n, end: n + y, length: y, substr: l }), a.push(p);
308
308
  } else
309
309
  c.add("3");
310
310
  }
311
311
  if (a.length > 0) {
312
- a = a.sort((d, u) => d.length() - u.length());
313
- for (let d of a)
314
- me(d, e) || e.push(d);
312
+ a = a.sort((u, d) => u.length() - d.length());
313
+ for (let u of a)
314
+ ve(u, e) || e.push(u);
315
315
  continue;
316
316
  }
317
317
  if (n > 0 && c.size == 1 && !c.has("3")) {
318
- t += wt(e, !1);
319
- let d = new st();
320
- const u = e[0];
321
- u && d.add(u.last()), e = [d];
318
+ t += Lt(e, !1);
319
+ let u = new ot();
320
+ const d = e[0];
321
+ d && u.add(d.last()), e = [u];
322
322
  }
323
323
  }
324
- return t += wt(e, !0), t;
325
- }, be = (i, t) => {
324
+ return t += Lt(e, !0), t;
325
+ }, Ce = (i, t) => {
326
326
  if (i)
327
327
  return i[t];
328
- }, ve = (i, t) => {
328
+ }, ye = (i, t) => {
329
329
  if (i) {
330
330
  for (var e, n = t.split("."); (e = n.shift()) && (i = i[e]); )
331
331
  ;
332
332
  return i;
333
333
  }
334
- }, at = (i, t, e) => {
334
+ }, dt = (i, t, e) => {
335
335
  var n, s;
336
336
  return !i || (i = i + "", t.regex == null) || (s = i.search(t.regex), s === -1) ? 0 : (n = t.string.length / i.length, s === 0 && (n += 0.5), n * e);
337
- }, dt = (i, t) => {
337
+ }, ut = (i, t) => {
338
338
  var e = i[t];
339
339
  if (typeof e == "function")
340
340
  return e;
341
341
  e && !Array.isArray(e) && (i[t] = [e]);
342
- }, $ = (i, t) => {
342
+ }, q = (i, t) => {
343
343
  if (Array.isArray(i))
344
344
  i.forEach(t);
345
345
  else
346
346
  for (var e in i)
347
347
  i.hasOwnProperty(e) && t(i[e], e);
348
- }, Ie = (i, t) => typeof i == "number" && typeof t == "number" ? i > t ? 1 : i < t ? -1 : 0 : (i = nt(i + "").toLowerCase(), t = nt(t + "").toLowerCase(), i > t ? 1 : t > i ? -1 : 0);
349
- class Ce {
348
+ }, Ze = (i, t) => typeof i == "number" && typeof t == "number" ? i > t ? 1 : i < t ? -1 : 0 : (i = rt(i + "").toLowerCase(), t = rt(t + "").toLowerCase(), i > t ? 1 : t > i ? -1 : 0);
349
+ class we {
350
350
  /**
351
351
  * Textually searches arrays and hashes of objects
352
352
  * by property (or multiple properties). Designed
@@ -354,9 +354,9 @@ class Ce {
354
354
  *
355
355
  */
356
356
  constructor(t, e) {
357
- V(this, "items");
357
+ k(this, "items");
358
358
  // []|{};
359
- V(this, "settings");
359
+ k(this, "settings");
360
360
  this.items = t, this.settings = e || { diacritics: !0 };
361
361
  }
362
362
  /**
@@ -370,10 +370,10 @@ class Ce {
370
370
  const s = [], o = t.split(/\s+/);
371
371
  var r;
372
372
  return n && (r = new RegExp("^(" + Object.keys(n).map(T).join("|") + "):(.*)$")), o.forEach((l) => {
373
- let a, c = null, d = null;
374
- r && (a = l.match(r)) && (c = a[1], l = a[2]), l.length > 0 && (this.settings.diacritics ? d = fe(l) || null : d = T(l), d && e && (d = "\\b" + d)), s.push({
373
+ let a, c = null, u = null;
374
+ r && (a = l.match(r)) && (c = a[1], l = a[2]), l.length > 0 && (this.settings.diacritics ? u = Ie(l) || null : u = T(l), u && e && (u = "\\b" + u)), s.push({
375
375
  string: l,
376
- regex: d ? new RegExp(d, "iu") : null,
376
+ regex: u ? new RegExp(u, "iu") : null,
377
377
  field: c
378
378
  });
379
379
  }), s;
@@ -406,36 +406,36 @@ class Ce {
406
406
  return 1;
407
407
  };
408
408
  const a = /* @__PURE__ */ function() {
409
- return r === 1 ? function(c, d) {
410
- const u = s[0].field;
411
- return at(l(d, u), c, o[u] || 1);
412
- } : function(c, d) {
413
- var u = 0;
409
+ return r === 1 ? function(c, u) {
410
+ const d = s[0].field;
411
+ return dt(l(u, d), c, o[d] || 1);
412
+ } : function(c, u) {
413
+ var d = 0;
414
414
  if (c.field) {
415
- const p = l(d, c.field);
416
- !c.regex && p ? u += 1 / r : u += at(p, c, 1);
415
+ const p = l(u, c.field);
416
+ !c.regex && p ? d += 1 / r : d += dt(p, c, 1);
417
417
  } else
418
- $(o, (p, y) => {
419
- u += at(l(d, y), c, p);
418
+ q(o, (p, y) => {
419
+ d += dt(l(u, y), c, p);
420
420
  });
421
- return u / r;
421
+ return d / r;
422
422
  };
423
423
  }();
424
424
  return n === 1 ? function(c) {
425
425
  return a(e[0], c);
426
426
  } : t.options.conjunction === "and" ? function(c) {
427
- var d, u = 0;
427
+ var u, d = 0;
428
428
  for (let p of e) {
429
- if (d = a(p, c), d <= 0)
429
+ if (u = a(p, c), u <= 0)
430
430
  return 0;
431
- u += d;
431
+ d += u;
432
432
  }
433
- return u / n;
433
+ return d / n;
434
434
  } : function(c) {
435
- var d = 0;
436
- return $(e, (u) => {
437
- d += a(u, c);
438
- }), d / n;
435
+ var u = 0;
436
+ return q(e, (d) => {
437
+ u += a(d, c);
438
+ }), u / n;
439
439
  };
440
440
  }
441
441
  /**
@@ -454,8 +454,8 @@ class Ce {
454
454
  const s = this, o = t.options, r = !t.query && o.sort_empty ? o.sort_empty : o.sort;
455
455
  if (typeof r == "function")
456
456
  return r.bind(this);
457
- const l = function(c, d) {
458
- return c === "$score" ? d.score : t.getAttrFn(s.items[d.id], c);
457
+ const l = function(c, u) {
458
+ return c === "$score" ? u.score : t.getAttrFn(s.items[u.id], c);
459
459
  };
460
460
  if (r)
461
461
  for (let c of r)
@@ -470,11 +470,11 @@ class Ce {
470
470
  e && n.unshift({ field: "$score", direction: "desc" });
471
471
  } else
472
472
  n = n.filter((c) => c.field !== "$score");
473
- return n.length ? function(c, d) {
474
- var u, p;
473
+ return n.length ? function(c, u) {
474
+ var d, p;
475
475
  for (let y of n)
476
- if (p = y.field, u = (y.direction === "desc" ? -1 : 1) * Ie(l(p, c), l(p, d)), u)
477
- return u;
476
+ if (p = y.field, d = (y.direction === "desc" ? -1 : 1) * Ze(l(p, c), l(p, u)), d)
477
+ return d;
478
478
  return 0;
479
479
  } : null;
480
480
  }
@@ -487,8 +487,8 @@ class Ce {
487
487
  prepareSearch(t, e) {
488
488
  const n = {};
489
489
  var s = Object.assign({}, e);
490
- if (dt(s, "sort"), dt(s, "sort_empty"), s.fields) {
491
- dt(s, "fields");
490
+ if (ut(s, "sort"), ut(s, "sort_empty"), s.fields) {
491
+ ut(s, "fields");
492
492
  const o = [];
493
493
  s.fields.forEach((r) => {
494
494
  typeof r == "string" && (r = { field: r, weight: 1 }), o.push(r), n[r.field] = "weight" in r ? r.weight : 1;
@@ -501,7 +501,7 @@ class Ce {
501
501
  total: 0,
502
502
  items: [],
503
503
  weights: n,
504
- getAttrFn: s.nesting ? ve : be
504
+ getAttrFn: s.nesting ? ye : Ce
505
505
  };
506
506
  }
507
507
  /**
@@ -512,16 +512,16 @@ class Ce {
512
512
  var n = this, s, o;
513
513
  o = this.prepareSearch(t, e), e = o.options, t = o.query;
514
514
  const r = e.score || n._getScoreFunction(o);
515
- t.length ? $(n.items, (a, c) => {
515
+ t.length ? q(n.items, (a, c) => {
516
516
  s = r(a), (e.filter === !1 || s > 0) && o.items.push({ score: s, id: c });
517
- }) : $(n.items, (a, c) => {
517
+ }) : q(n.items, (a, c) => {
518
518
  o.items.push({ score: 1, id: c });
519
519
  });
520
520
  const l = n._getSortFunction(o);
521
521
  return l && o.items.sort(l), o.total = o.items.length, typeof e.limit == "number" && (o.items = o.items.slice(0, e.limit)), o;
522
522
  }
523
523
  }
524
- const O = (i) => typeof i > "u" || i === null ? null : et(i), et = (i) => typeof i == "boolean" ? i ? "1" : "0" : i + "", ut = (i) => (i + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), ye = (i, t) => t > 0 ? window.setTimeout(i, t) : (i.call(null), null), Ze = (i, t) => {
524
+ const H = (i) => typeof i > "u" || i === null ? null : nt(i), nt = (i) => typeof i == "boolean" ? i ? "1" : "0" : i + "", gt = (i) => (i + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), Le = (i, t) => t > 0 ? window.setTimeout(i, t) : (i.call(null), null), We = (i, t) => {
525
525
  var e;
526
526
  return function(n, s) {
527
527
  var o = this;
@@ -529,7 +529,7 @@ const O = (i) => typeof i > "u" || i === null ? null : et(i), et = (i) => typeof
529
529
  e = null, o.loadedSearches[n] = !0, i.call(o, n, s);
530
530
  }, t);
531
531
  };
532
- }, Lt = (i, t, e) => {
532
+ }, Wt = (i, t, e) => {
533
533
  var n, s = i.trigger, o = {};
534
534
  i.trigger = function() {
535
535
  var r = arguments[0];
@@ -540,24 +540,24 @@ const O = (i) => typeof i > "u" || i === null ? null : et(i), et = (i) => typeof
540
540
  }, e.apply(i, []), i.trigger = s;
541
541
  for (n of t)
542
542
  n in o && s.apply(i, o[n]);
543
- }, we = (i) => ({
543
+ }, Ge = (i) => ({
544
544
  start: i.selectionStart || 0,
545
545
  length: (i.selectionEnd || 0) - (i.selectionStart || 0)
546
546
  }), W = (i, t = !1) => {
547
547
  i && (i.preventDefault(), t && i.stopPropagation());
548
- }, B = (i, t, e, n) => {
548
+ }, X = (i, t, e, n) => {
549
549
  i.addEventListener(t, e, n);
550
- }, z = (i, t) => {
550
+ }, S = (i, t) => {
551
551
  if (!t || !t[i])
552
552
  return !1;
553
553
  var e = (t.altKey ? 1 : 0) + (t.ctrlKey ? 1 : 0) + (t.shiftKey ? 1 : 0) + (t.metaKey ? 1 : 0);
554
554
  return e === 1;
555
- }, gt = (i, t) => {
555
+ }, pt = (i, t) => {
556
556
  const e = i.getAttribute("id");
557
557
  return e || (i.setAttribute("id", t), t);
558
- }, Wt = (i) => i.replace(/[\\"']/g, "\\$&"), k = (i, t) => {
558
+ }, Gt = (i) => i.replace(/[\\"']/g, "\\$&"), F = (i, t) => {
559
559
  t && i.append(t);
560
- }, G = (i, t) => {
560
+ }, A = (i, t) => {
561
561
  if (Array.isArray(i))
562
562
  i.forEach(t);
563
563
  else
@@ -568,43 +568,43 @@ const O = (i) => typeof i > "u" || i === null ? null : et(i), et = (i) => typeof
568
568
  return i[0];
569
569
  if (i instanceof HTMLElement)
570
570
  return i;
571
- if (xt(i)) {
571
+ if (Dt(i)) {
572
572
  var t = document.createElement("template");
573
573
  return t.innerHTML = i.trim(), t.content.firstChild;
574
574
  }
575
575
  return document.querySelector(i);
576
- }, xt = (i) => typeof i == "string" && i.indexOf("<") > -1, Le = (i) => i.replace(/['"\\]/g, "\\$&"), pt = (i, t) => {
576
+ }, Dt = (i) => typeof i == "string" && i.indexOf("<") > -1, Ae = (i) => i.replace(/['"\\]/g, "\\$&"), ht = (i, t) => {
577
577
  var e = document.createEvent("HTMLEvents");
578
578
  e.initEvent(t, !0, !1), i.dispatchEvent(e);
579
- }, P = (i, t) => {
579
+ }, tt = (i, t) => {
580
580
  Object.assign(i.style, t);
581
581
  }, J = (i, ...t) => {
582
- var e = Dt(t);
583
- i = _t(i), i.map((n) => {
582
+ var e = _t(t);
583
+ i = jt(i), i.map((n) => {
584
584
  e.map((s) => {
585
585
  n.classList.add(s);
586
586
  });
587
587
  });
588
- }, N = (i, ...t) => {
589
- var e = Dt(t);
590
- i = _t(i), i.map((n) => {
588
+ }, V = (i, ...t) => {
589
+ var e = _t(t);
590
+ i = jt(i), i.map((n) => {
591
591
  e.map((s) => {
592
592
  n.classList.remove(s);
593
593
  });
594
594
  });
595
- }, Dt = (i) => {
595
+ }, _t = (i) => {
596
596
  var t = [];
597
- return G(i, (e) => {
597
+ return A(i, (e) => {
598
598
  typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
599
599
  }), t.filter(Boolean);
600
- }, _t = (i) => (Array.isArray(i) || (i = [i]), i), ht = (i, t, e) => {
600
+ }, jt = (i) => (Array.isArray(i) || (i = [i]), i), mt = (i, t, e) => {
601
601
  if (!(e && !e.contains(i)))
602
602
  for (; i && i.matches; ) {
603
603
  if (i.matches(t))
604
604
  return i;
605
605
  i = i.parentNode;
606
606
  }
607
- }, Gt = (i, t = 0) => t > 0 ? i[i.length - 1] : i[0], We = (i) => Object.keys(i).length === 0, At = (i, t) => {
607
+ }, At = (i, t = 0) => t > 0 ? i[i.length - 1] : i[0], Be = (i) => Object.keys(i).length === 0, Bt = (i, t) => {
608
608
  if (!i)
609
609
  return -1;
610
610
  t = t || i.nodeName;
@@ -612,12 +612,12 @@ const O = (i) => typeof i > "u" || i === null ? null : et(i), et = (i) => typeof
612
612
  i.matches(t) && e++;
613
613
  return e;
614
614
  }, w = (i, t) => {
615
- G(t, (e, n) => {
615
+ A(t, (e, n) => {
616
616
  e == null ? i.removeAttribute(n) : i.setAttribute(n, "" + e);
617
617
  });
618
- }, mt = (i, t) => {
618
+ }, bt = (i, t) => {
619
619
  i.parentNode && i.parentNode.replaceChild(t, i);
620
- }, Ge = (i, t) => {
620
+ }, Xe = (i, t) => {
621
621
  if (t === null)
622
622
  return;
623
623
  if (typeof t == "string") {
@@ -633,7 +633,7 @@ const O = (i) => typeof i > "u" || i === null ? null : et(i), et = (i) => typeof
633
633
  var a = o.splitText(r.index);
634
634
  a.splitText(r[0].length);
635
635
  var c = a.cloneNode(!0);
636
- return l.appendChild(c), mt(a, l), 1;
636
+ return l.appendChild(c), bt(a, l), 1;
637
637
  }
638
638
  return 0;
639
639
  }, n = (o) => {
@@ -642,13 +642,13 @@ const O = (i) => typeof i > "u" || i === null ? null : et(i), et = (i) => typeof
642
642
  });
643
643
  }, s = (o) => o.nodeType === 3 ? e(o) : (n(o), 0);
644
644
  s(i);
645
- }, Ae = (i) => {
645
+ }, Ye = (i) => {
646
646
  var t = i.querySelectorAll("span.highlight");
647
647
  Array.prototype.forEach.call(t, function(e) {
648
648
  var n = e.parentNode;
649
649
  n.replaceChild(e.firstChild, e), n.normalize();
650
650
  });
651
- }, Be = 65, Xe = 13, Ye = 27, Je = 37, Oe = 38, He = 39, Me = 40, Bt = 8, Re = 46, Xt = 9, Ne = typeof navigator > "u" ? !1 : /Mac/.test(navigator.userAgent), q = Ne ? "metaKey" : "ctrlKey", Yt = {
651
+ }, Je = 65, He = 13, Oe = 27, Me = 37, Re = 38, Ne = 39, Ve = 40, Xt = 8, ze = 46, Yt = 9, ke = typeof navigator > "u" ? !1 : /Mac/.test(navigator.userAgent), et = ke ? "metaKey" : "ctrlKey", Jt = {
652
652
  options: [],
653
653
  optgroups: [],
654
654
  plugins: [],
@@ -731,14 +731,14 @@ const O = (i) => typeof i > "u" || i === null ? null : et(i), et = (i) => typeof
731
731
  */
732
732
  }
733
733
  };
734
- function Jt(i, t) {
735
- var e = Object.assign({}, Yt, t), n = e.dataAttr, s = e.labelField, o = e.valueField, r = e.disabledField, l = e.optgroupField, a = e.optgroupLabelField, c = e.optgroupValueField, d = i.tagName.toLowerCase(), u = i.getAttribute("placeholder") || i.getAttribute("data-placeholder");
736
- if (!u && !e.allowEmptyOption) {
734
+ function Ht(i, t) {
735
+ var e = Object.assign({}, Jt, t), n = e.dataAttr, s = e.labelField, o = e.valueField, r = e.disabledField, l = e.optgroupField, a = e.optgroupLabelField, c = e.optgroupValueField, u = i.tagName.toLowerCase(), d = i.getAttribute("placeholder") || i.getAttribute("data-placeholder");
736
+ if (!d && !e.allowEmptyOption) {
737
737
  let b = i.querySelector('option[value=""]');
738
- b && (u = b.textContent);
738
+ b && (d = b.textContent);
739
739
  }
740
740
  var p = {
741
- placeholder: u,
741
+ placeholder: d,
742
742
  options: [],
743
743
  optgroups: [],
744
744
  items: [],
@@ -749,13 +749,13 @@ function Jt(i, t) {
749
749
  var M = (f) => {
750
750
  var v = Object.assign({}, f.dataset), m = n && v[n];
751
751
  return typeof m == "string" && m.length && (v = Object.assign(v, JSON.parse(m))), v;
752
- }, Q = (f, v) => {
753
- var m = O(f.value);
752
+ }, E = (f, v) => {
753
+ var m = H(f.value);
754
754
  if (m != null && !(!m && !e.allowEmptyOption)) {
755
755
  if (I.hasOwnProperty(m)) {
756
756
  if (v) {
757
- var A = I[m][l];
758
- A ? Array.isArray(A) ? A.push(v) : I[m][l] = [A, v] : I[m][l] = v;
757
+ var B = I[m][l];
758
+ B ? Array.isArray(B) ? B.push(v) : I[m][l] = [B, v] : I[m][l] = v;
759
759
  }
760
760
  } else {
761
761
  var C = M(f);
@@ -763,19 +763,19 @@ function Jt(i, t) {
763
763
  }
764
764
  f.selected && p.items.push(m);
765
765
  }
766
- }, F = (f) => {
766
+ }, K = (f) => {
767
767
  var v, m;
768
- m = M(f), m[a] = m[a] || f.getAttribute("label") || "", m[c] = m[c] || h++, m[r] = m[r] || f.disabled, m.$order = m.$order || ++L, p.optgroups.push(m), v = m[c], G(f.children, (A) => {
769
- Q(A, v);
768
+ m = M(f), m[a] = m[a] || f.getAttribute("label") || "", m[c] = m[c] || h++, m[r] = m[r] || f.disabled, m.$order = m.$order || ++L, p.optgroups.push(m), v = m[c], A(f.children, (B) => {
769
+ E(B, v);
770
770
  });
771
771
  };
772
- p.maxItems = i.hasAttribute("multiple") ? null : 1, G(i.children, (f) => {
773
- b = f.tagName.toLowerCase(), b === "optgroup" ? F(f) : b === "option" && Q(f);
772
+ p.maxItems = i.hasAttribute("multiple") ? null : 1, A(i.children, (f) => {
773
+ b = f.tagName.toLowerCase(), b === "optgroup" ? K(f) : b === "option" && E(f);
774
774
  });
775
775
  }, g = () => {
776
776
  const b = i.getAttribute(n);
777
777
  if (b)
778
- p.options = JSON.parse(b), G(p.options, (I) => {
778
+ p.options = JSON.parse(b), A(p.options, (I) => {
779
779
  p.items.push(I[o]);
780
780
  });
781
781
  else {
@@ -783,16 +783,16 @@ function Jt(i, t) {
783
783
  if (!e.allowEmptyOption && !Z.length)
784
784
  return;
785
785
  const I = Z.split(e.delimiter);
786
- G(I, (h) => {
786
+ A(I, (h) => {
787
787
  const L = {};
788
788
  L[s] = h, L[o] = h, p.options.push(L);
789
789
  }), p.items = I;
790
790
  }
791
791
  };
792
- return d === "select" ? y() : g(), Object.assign({}, Yt, p, t);
792
+ return u === "select" ? y() : g(), Object.assign({}, Jt, p, t);
793
793
  }
794
794
  var Ot = 0;
795
- class X extends te(qt) {
795
+ class Y extends ne(ie) {
796
796
  constructor(t, e) {
797
797
  super(), this.order = 0, this.isOpen = !1, this.isDisabled = !1, this.isReadOnly = !1, this.isInvalid = !1, this.isValid = !0, this.isLocked = !1, this.isFocused = !1, this.isInputHidden = !1, this.isSetup = !1, this.ignoreFocus = !1, this.ignoreHover = !1, this.hasOptions = !1, this.lastValue = "", this.caretPos = 0, this.loading = 0, this.loadedSearches = {}, this.activeOption = null, this.activeItems = [], this.optgroups = {}, this.options = {}, this.userOptions = {}, this.items = [], this.refreshTimeout = null, Ot++;
798
798
  var n, s = R(t);
@@ -801,61 +801,61 @@ class X extends te(qt) {
801
801
  s.tomselect = this;
802
802
  var o = window.getComputedStyle && window.getComputedStyle(s, null);
803
803
  n = o.getPropertyValue("direction");
804
- const r = Jt(s, e);
805
- this.settings = r, this.input = s, this.tabIndex = s.tabIndex || 0, this.is_select_tag = s.tagName.toLowerCase() === "select", this.rtl = /rtl/i.test(n), this.inputId = gt(s, "tomselect-" + Ot), this.isRequired = s.required, this.sifter = new Ce(this.options, { diacritics: r.diacritics }), r.mode = r.mode || (r.maxItems === 1 ? "single" : "multi"), typeof r.hideSelected != "boolean" && (r.hideSelected = r.mode === "multi"), typeof r.hidePlaceholder != "boolean" && (r.hidePlaceholder = r.mode !== "multi");
804
+ const r = Ht(s, e);
805
+ this.settings = r, this.input = s, this.tabIndex = s.tabIndex || 0, this.is_select_tag = s.tagName.toLowerCase() === "select", this.rtl = /rtl/i.test(n), this.inputId = pt(s, "tomselect-" + Ot), this.isRequired = s.required, this.sifter = new we(this.options, { diacritics: r.diacritics }), r.mode = r.mode || (r.maxItems === 1 ? "single" : "multi"), typeof r.hideSelected != "boolean" && (r.hideSelected = r.mode === "multi"), typeof r.hidePlaceholder != "boolean" && (r.hidePlaceholder = r.mode !== "multi");
806
806
  var l = r.createFilter;
807
807
  typeof l != "function" && (typeof l == "string" && (l = new RegExp(l)), l instanceof RegExp ? r.createFilter = (Z) => l.test(Z) : r.createFilter = (Z) => this.settings.duplicates || !this.options[Z]), this.initializePlugins(r.plugins), this.setupCallbacks(), this.setupTemplates();
808
- const a = R("<div>"), c = R("<div>"), d = this._render("dropdown"), u = R('<div role="listbox" tabindex="-1">'), p = this.input.getAttribute("class") || "", y = r.mode;
808
+ const a = R("<div>"), c = R("<div>"), u = this._render("dropdown"), d = R('<div role="listbox" tabindex="-1">'), p = this.input.getAttribute("class") || "", y = r.mode;
809
809
  var g;
810
- if (J(a, r.wrapperClass, p, y), J(c, r.controlClass), k(a, c), J(d, r.dropdownClass, y), r.copyClassesToDropdown && J(d, p), J(u, r.dropdownContentClass), k(d, u), R(r.dropdownParent || a).appendChild(d), xt(r.controlInput)) {
810
+ if (J(a, r.wrapperClass, p, y), J(c, r.controlClass), F(a, c), J(u, r.dropdownClass, y), r.copyClassesToDropdown && J(u, p), J(d, r.dropdownContentClass), F(u, d), R(r.dropdownParent || a).appendChild(u), Dt(r.controlInput)) {
811
811
  g = R(r.controlInput);
812
812
  var b = ["autocorrect", "autocapitalize", "autocomplete", "spellcheck"];
813
- G(b, (Z) => {
813
+ A(b, (Z) => {
814
814
  s.getAttribute(Z) && w(g, { [Z]: s.getAttribute(Z) });
815
815
  }), g.tabIndex = -1, c.appendChild(g), this.focus_node = g;
816
816
  } else r.controlInput ? (g = R(r.controlInput), this.focus_node = g) : (g = R("<input/>"), this.focus_node = c);
817
- this.wrapper = a, this.dropdown = d, this.dropdown_content = u, this.control = c, this.control_input = g, this.setup();
817
+ this.wrapper = a, this.dropdown = u, this.dropdown_content = d, this.control = c, this.control_input = g, this.setup();
818
818
  }
819
819
  /**
820
820
  * set up event bindings.
821
821
  *
822
822
  */
823
823
  setup() {
824
- const t = this, e = t.settings, n = t.control_input, s = t.dropdown, o = t.dropdown_content, r = t.wrapper, l = t.control, a = t.input, c = t.focus_node, d = { passive: !0 }, u = t.inputId + "-ts-dropdown";
824
+ const t = this, e = t.settings, n = t.control_input, s = t.dropdown, o = t.dropdown_content, r = t.wrapper, l = t.control, a = t.input, c = t.focus_node, u = { passive: !0 }, d = t.inputId + "-ts-dropdown";
825
825
  w(o, {
826
- id: u
826
+ id: d
827
827
  }), w(c, {
828
828
  role: "combobox",
829
829
  "aria-haspopup": "listbox",
830
830
  "aria-expanded": "false",
831
- "aria-controls": u
831
+ "aria-controls": d
832
832
  });
833
- const p = gt(c, t.inputId + "-ts-control"), y = "label[for='" + Le(t.inputId) + "']", g = document.querySelector(y), b = t.focus.bind(t);
833
+ const p = pt(c, t.inputId + "-ts-control"), y = "label[for='" + Ae(t.inputId) + "']", g = document.querySelector(y), b = t.focus.bind(t);
834
834
  if (g) {
835
- B(g, "click", b), w(g, { for: p });
836
- const h = gt(g, t.inputId + "-ts-label");
835
+ X(g, "click", b), w(g, { for: p });
836
+ const h = pt(g, t.inputId + "-ts-label");
837
837
  w(c, { "aria-labelledby": h }), w(o, { "aria-labelledby": h });
838
838
  }
839
839
  if (r.style.width = a.style.width, t.plugins.names.length) {
840
840
  const h = "plugin-" + t.plugins.names.join(" plugin-");
841
841
  J([r, s], h);
842
842
  }
843
- (e.maxItems === null || e.maxItems > 1) && t.is_select_tag && w(a, { multiple: "multiple" }), e.placeholder && w(n, { placeholder: e.placeholder }), !e.splitOn && e.delimiter && (e.splitOn = new RegExp("\\s*" + T(e.delimiter) + "+\\s*")), e.load && e.loadThrottle && (e.load = Ze(e.load, e.loadThrottle)), B(s, "mousemove", () => {
843
+ (e.maxItems === null || e.maxItems > 1) && t.is_select_tag && w(a, { multiple: "multiple" }), e.placeholder && w(n, { placeholder: e.placeholder }), !e.splitOn && e.delimiter && (e.splitOn = new RegExp("\\s*" + T(e.delimiter) + "+\\s*")), e.load && e.loadThrottle && (e.load = We(e.load, e.loadThrottle)), X(s, "mousemove", () => {
844
844
  t.ignoreHover = !1;
845
- }), B(s, "mouseenter", (h) => {
846
- var L = ht(h.target, "[data-selectable]", s);
845
+ }), X(s, "mouseenter", (h) => {
846
+ var L = mt(h.target, "[data-selectable]", s);
847
847
  L && t.onOptionHover(h, L);
848
- }, { capture: !0 }), B(s, "click", (h) => {
849
- const L = ht(h.target, "[data-selectable]");
848
+ }, { capture: !0 }), X(s, "click", (h) => {
849
+ const L = mt(h.target, "[data-selectable]");
850
850
  L && (t.onOptionSelect(h, L), W(h, !0));
851
- }), B(l, "click", (h) => {
852
- var L = ht(h.target, "[data-ts-item]", l);
851
+ }), X(l, "click", (h) => {
852
+ var L = mt(h.target, "[data-ts-item]", l);
853
853
  if (L && t.onItemSelect(h, L)) {
854
854
  W(h, !0);
855
855
  return;
856
856
  }
857
857
  n.value == "" && (t.onClick(), W(h, !0));
858
- }), B(c, "keydown", (h) => t.onKeyDown(h)), B(n, "keypress", (h) => t.onKeyPress(h)), B(n, "input", (h) => t.onInput(h)), B(c, "blur", (h) => t.onBlur(h)), B(c, "focus", (h) => t.onFocus(h)), B(n, "paste", (h) => t.onPaste(h));
858
+ }), X(c, "keydown", (h) => t.onKeyDown(h)), X(n, "keypress", (h) => t.onKeyPress(h)), X(n, "input", (h) => t.onInput(h)), X(c, "blur", (h) => t.onBlur(h)), X(c, "focus", (h) => t.onFocus(h)), X(n, "paste", (h) => t.onPaste(h));
859
859
  const Z = (h) => {
860
860
  const L = h.composedPath()[0];
861
861
  if (!r.contains(L) && !s.contains(L)) {
@@ -866,12 +866,12 @@ class X extends te(qt) {
866
866
  }, I = () => {
867
867
  t.isOpen && t.positionDropdown();
868
868
  };
869
- B(document, "mousedown", Z), B(window, "scroll", I, d), B(window, "resize", I, d), this._destroy = () => {
869
+ X(document, "mousedown", Z), X(window, "scroll", I, u), X(window, "resize", I, u), this._destroy = () => {
870
870
  document.removeEventListener("mousedown", Z), window.removeEventListener("scroll", I), window.removeEventListener("resize", I), g && g.removeEventListener("click", b);
871
871
  }, this.revertSettings = {
872
872
  innerHTML: a.innerHTML,
873
873
  tabIndex: a.tabIndex
874
- }, a.tabIndex = -1, a.insertAdjacentElement("afterend", t.wrapper), t.sync(!1), e.items = [], delete e.optgroups, delete e.options, B(a, "invalid", () => {
874
+ }, a.tabIndex = -1, a.insertAdjacentElement("afterend", t.wrapper), t.sync(!1), e.items = [], delete e.optgroups, delete e.options, X(a, "invalid", () => {
875
875
  t.isValid && (t.isValid = !1, t.isInvalid = !0, t.refreshState());
876
876
  }), t.updateOriginalInput(), t.refreshItems(), t.close(!1), t.inputState(), t.isSetup = !0, a.disabled ? t.disable() : a.readOnly ? t.setReadOnly(!0) : t.enable(), t.on("change", this.onChange), J(a, "tomselected", "ts-hidden-accessible"), t.trigger("initialize"), e.preload === !0 && t.preload();
877
877
  }
@@ -880,7 +880,7 @@ class X extends te(qt) {
880
880
  *
881
881
  */
882
882
  setupOptions(t = [], e = []) {
883
- this.addOptions(t), G(e, (n) => {
883
+ this.addOptions(t), A(e, (n) => {
884
884
  this.registerOptionGroup(n);
885
885
  });
886
886
  }
@@ -938,7 +938,7 @@ class X extends te(qt) {
938
938
  *
939
939
  */
940
940
  sync(t = !0) {
941
- const e = this, n = t ? Jt(e.input, { delimiter: e.settings.delimiter }) : e.settings;
941
+ const e = this, n = t ? Ht(e.input, { delimiter: e.settings.delimiter }) : e.settings;
942
942
  e.setupOptions(n.options, n.optgroups), e.setValue(n.items || [], !0), e.lastQuery = null;
943
943
  }
944
944
  /**
@@ -966,7 +966,7 @@ class X extends te(qt) {
966
966
  * input / select element.
967
967
  */
968
968
  onChange() {
969
- pt(this.input, "input"), pt(this.input, "change");
969
+ ht(this.input, "input"), ht(this.input, "change");
970
970
  }
971
971
  /**
972
972
  * Triggered on <input> paste.
@@ -982,8 +982,8 @@ class X extends te(qt) {
982
982
  var n = e.inputValue();
983
983
  if (n.match(e.settings.splitOn)) {
984
984
  var s = n.trim().split(e.settings.splitOn);
985
- G(s, (o) => {
986
- O(o) && (this.options[o] ? e.addItem(o) : e.createItem(o));
985
+ A(s, (o) => {
986
+ H(o) && (this.options[o] ? e.addItem(o) : e.createItem(o));
987
987
  });
988
988
  }
989
989
  }, 0);
@@ -1011,23 +1011,23 @@ class X extends te(qt) {
1011
1011
  onKeyDown(t) {
1012
1012
  var e = this;
1013
1013
  if (e.ignoreHover = !0, e.isLocked) {
1014
- t.keyCode !== Xt && W(t);
1014
+ t.keyCode !== Yt && W(t);
1015
1015
  return;
1016
1016
  }
1017
1017
  switch (t.keyCode) {
1018
1018
  // ctrl+A: select all
1019
- case Be:
1020
- if (z(q, t) && e.control_input.value == "") {
1019
+ case Je:
1020
+ if (S(et, t) && e.control_input.value == "") {
1021
1021
  W(t), e.selectAll();
1022
1022
  return;
1023
1023
  }
1024
1024
  break;
1025
1025
  // esc: close dropdown
1026
- case Ye:
1026
+ case Oe:
1027
1027
  e.isOpen && (W(t, !0), e.close()), e.clearActiveItems();
1028
1028
  return;
1029
1029
  // down: open dropdown or move selection down
1030
- case Me:
1030
+ case Ve:
1031
1031
  if (!e.isOpen && e.hasOptions)
1032
1032
  e.open();
1033
1033
  else if (e.activeOption) {
@@ -1037,7 +1037,7 @@ class X extends te(qt) {
1037
1037
  W(t);
1038
1038
  return;
1039
1039
  // up: move selection up
1040
- case Oe:
1040
+ case Re:
1041
1041
  if (e.activeOption) {
1042
1042
  let n = e.getAdjacent(e.activeOption, -1);
1043
1043
  n && e.setActiveOption(n);
@@ -1045,28 +1045,28 @@ class X extends te(qt) {
1045
1045
  W(t);
1046
1046
  return;
1047
1047
  // return: select active option
1048
- case Xe:
1048
+ case He:
1049
1049
  e.canSelect(e.activeOption) ? (e.onOptionSelect(t, e.activeOption), W(t)) : (e.settings.create && e.createItem() || document.activeElement == e.control_input && e.isOpen) && W(t);
1050
1050
  return;
1051
1051
  // left: modifiy item selection to the left
1052
- case Je:
1052
+ case Me:
1053
1053
  e.advanceSelection(-1, t);
1054
1054
  return;
1055
1055
  // right: modifiy item selection to the right
1056
- case He:
1056
+ case Ne:
1057
1057
  e.advanceSelection(1, t);
1058
1058
  return;
1059
1059
  // tab: select active option and/or create item
1060
- case Xt:
1060
+ case Yt:
1061
1061
  e.settings.selectOnTab && (e.canSelect(e.activeOption) && (e.onOptionSelect(t, e.activeOption), W(t)), e.settings.create && e.createItem() && W(t));
1062
1062
  return;
1063
1063
  // delete|backspace: delete items
1064
- case Bt:
1065
- case Re:
1064
+ case Xt:
1065
+ case ze:
1066
1066
  e.deleteSelection(t);
1067
1067
  return;
1068
1068
  }
1069
- e.isInputHidden && !z(q, t) && W(t);
1069
+ e.isInputHidden && !S(et, t) && W(t);
1070
1070
  }
1071
1071
  /**
1072
1072
  * Triggered on <input> keyup.
@@ -1081,7 +1081,7 @@ class X extends te(qt) {
1081
1081
  this._onInput();
1082
1082
  return;
1083
1083
  }
1084
- this.refreshTimeout && window.clearTimeout(this.refreshTimeout), this.refreshTimeout = ye(() => {
1084
+ this.refreshTimeout && window.clearTimeout(this.refreshTimeout), this.refreshTimeout = Le(() => {
1085
1085
  this.refreshTimeout = null, this._onInput();
1086
1086
  }, this.settings.refreshThrottle);
1087
1087
  }
@@ -1190,7 +1190,7 @@ class X extends te(qt) {
1190
1190
  */
1191
1191
  loadCallback(t, e) {
1192
1192
  const n = this;
1193
- n.loading = Math.max(n.loading - 1, 0), n.lastQuery = null, n.clearActiveOption(), n.setupOptions(t, e), n.refreshOptions(n.isFocused && !n.isInputHidden), n.loading || N(n.wrapper, n.settings.loadingClass), n.trigger("load", t, e);
1193
+ n.loading = Math.max(n.loading - 1, 0), n.lastQuery = null, n.clearActiveOption(), n.setupOptions(t, e), n.refreshOptions(n.isFocused && !n.isInputHidden), n.loading || V(n.wrapper, n.settings.loadingClass), n.trigger("load", t, e);
1194
1194
  }
1195
1195
  preload() {
1196
1196
  var t = this.wrapper.classList;
@@ -1202,7 +1202,7 @@ class X extends te(qt) {
1202
1202
  */
1203
1203
  setTextboxValue(t = "") {
1204
1204
  var e = this.control_input, n = e.value !== t;
1205
- n && (e.value = t, pt(e, "update"), this.lastValue = t);
1205
+ n && (e.value = t, ht(e, "update"), this.lastValue = t);
1206
1206
  }
1207
1207
  /**
1208
1208
  * Returns the value of the control. If multiple items
@@ -1220,7 +1220,7 @@ class X extends te(qt) {
1220
1220
  */
1221
1221
  setValue(t, e) {
1222
1222
  var n = e ? [] : ["change"];
1223
- Lt(this, n, () => {
1223
+ Wt(this, n, () => {
1224
1224
  this.clear(e), this.addItems(t, e);
1225
1225
  });
1226
1226
  }
@@ -1242,11 +1242,11 @@ class X extends te(qt) {
1242
1242
  n.clearActiveItems(), n.isFocused && n.inputState();
1243
1243
  return;
1244
1244
  }
1245
- if (s = e && e.type.toLowerCase(), s === "click" && z("shiftKey", e) && n.activeItems.length) {
1245
+ if (s = e && e.type.toLowerCase(), s === "click" && S("shiftKey", e) && n.activeItems.length) {
1246
1246
  for (c = n.getLastActive(), r = Array.prototype.indexOf.call(n.control.children, c), l = Array.prototype.indexOf.call(n.control.children, t), r > l && (a = r, r = l, l = a), o = r; o <= l; o++)
1247
1247
  t = n.control.children[o], n.activeItems.indexOf(t) === -1 && n.setActiveItemClass(t);
1248
1248
  W(e);
1249
- } else s === "click" && z(q, e) || s === "keydown" && z("shiftKey", e) ? t.classList.contains("active") ? n.removeActiveItem(t) : n.setActiveItemClass(t) : (n.clearActiveItems(), n.setActiveItemClass(t));
1249
+ } else s === "click" && S(et, e) || s === "keydown" && S("shiftKey", e) ? t.classList.contains("active") ? n.removeActiveItem(t) : n.setActiveItemClass(t) : (n.clearActiveItems(), n.setActiveItemClass(t));
1250
1250
  n.inputState(), n.isFocused || n.focus();
1251
1251
  }
1252
1252
  }
@@ -1256,7 +1256,7 @@ class X extends te(qt) {
1256
1256
  */
1257
1257
  setActiveItemClass(t) {
1258
1258
  const e = this, n = e.control.querySelector(".last-active");
1259
- n && N(n, "last-active"), J(t, "active last-active"), e.trigger("item_select", t), e.activeItems.indexOf(t) == -1 && e.activeItems.push(t);
1259
+ n && V(n, "last-active"), J(t, "active last-active"), e.trigger("item_select", t), e.activeItems.indexOf(t) == -1 && e.activeItems.push(t);
1260
1260
  }
1261
1261
  /**
1262
1262
  * Remove active item
@@ -1264,14 +1264,14 @@ class X extends te(qt) {
1264
1264
  */
1265
1265
  removeActiveItem(t) {
1266
1266
  var e = this.activeItems.indexOf(t);
1267
- this.activeItems.splice(e, 1), N(t, "active");
1267
+ this.activeItems.splice(e, 1), V(t, "active");
1268
1268
  }
1269
1269
  /**
1270
1270
  * Clears all the active items
1271
1271
  *
1272
1272
  */
1273
1273
  clearActiveItems() {
1274
- N(this.activeItems, "active"), this.activeItems = [];
1274
+ V(this.activeItems, "active"), this.activeItems = [];
1275
1275
  }
1276
1276
  /**
1277
1277
  * Sets the selected item in the dropdown menu
@@ -1304,7 +1304,7 @@ class X extends te(qt) {
1304
1304
  *
1305
1305
  */
1306
1306
  clearActiveOption() {
1307
- this.activeOption && (N(this.activeOption, "active"), w(this.activeOption, { "aria-selected": null })), this.activeOption = null, w(this.focus_node, { "aria-activedescendant": null });
1307
+ this.activeOption && (V(this.activeOption, "active"), w(this.activeOption, { "aria-selected": null })), this.activeOption = null, w(this.focus_node, { "aria-activedescendant": null });
1308
1308
  }
1309
1309
  /**
1310
1310
  * Selects all items (CTRL + A).
@@ -1314,7 +1314,7 @@ class X extends te(qt) {
1314
1314
  if (t.settings.mode === "single")
1315
1315
  return;
1316
1316
  const e = t.controlChildren();
1317
- e.length && (t.inputState(), t.close(), t.activeItems = e, G(e, (n) => {
1317
+ e.length && (t.inputState(), t.close(), t.activeItems = e, A(e, (n) => {
1318
1318
  t.setActiveItemClass(n);
1319
1319
  }));
1320
1320
  }
@@ -1384,7 +1384,7 @@ class X extends te(qt) {
1384
1384
  if (s.settings.score && (n = s.settings.score.call(s, t), typeof n != "function"))
1385
1385
  throw new Error('Tom Select "score" setting must be a function that returns a function');
1386
1386
  return t !== s.lastQuery ? (s.lastQuery = t, e = s.sifter.search(t, Object.assign(o, { score: n })), s.currentResults = e) : e = Object.assign({}, s.currentResults), s.settings.hideSelected && (e.items = e.items.filter((r) => {
1387
- let l = O(r.id);
1387
+ let l = H(r.id);
1388
1388
  return !(l && s.items.indexOf(l) !== -1);
1389
1389
  })), e;
1390
1390
  }
@@ -1394,21 +1394,21 @@ class X extends te(qt) {
1394
1394
  *
1395
1395
  */
1396
1396
  refreshOptions(t = !0) {
1397
- var e, n, s, o, r, l, a, c, d, u;
1397
+ var e, n, s, o, r, l, a, c, u, d;
1398
1398
  const p = {}, y = [];
1399
1399
  var g = this, b = g.inputValue();
1400
1400
  const Z = b === g.lastQuery || b == "" && g.lastQuery == null;
1401
1401
  var I = g.search(b), h = null, L = g.settings.shouldOpen || !1, M = g.dropdown_content;
1402
- Z && (h = g.activeOption, h && (d = h.closest("[data-group]"))), o = I.items.length, typeof g.settings.maxOptions == "number" && (o = Math.min(o, g.settings.maxOptions)), o > 0 && (L = !0);
1403
- const Q = (f, v) => {
1402
+ Z && (h = g.activeOption, h && (u = h.closest("[data-group]"))), o = I.items.length, typeof g.settings.maxOptions == "number" && (o = Math.min(o, g.settings.maxOptions)), o > 0 && (L = !0);
1403
+ const E = (f, v) => {
1404
1404
  let m = p[f];
1405
1405
  if (m !== void 0) {
1406
1406
  let C = y[m];
1407
1407
  if (C !== void 0)
1408
1408
  return [m, C.fragment];
1409
1409
  }
1410
- let A = document.createDocumentFragment();
1411
- return m = y.length, y.push({ fragment: A, order: v, optgroup: f }), [m, A];
1410
+ let B = document.createDocumentFragment();
1411
+ return m = y.length, y.push({ fragment: B, order: v, optgroup: f }), [m, B];
1412
1412
  };
1413
1413
  for (e = 0; e < o; e++) {
1414
1414
  let f = I.items[e];
@@ -1417,41 +1417,41 @@ class X extends te(qt) {
1417
1417
  let v = f.id, m = g.options[v];
1418
1418
  if (m === void 0)
1419
1419
  continue;
1420
- let A = et(v), C = g.getOption(A, !0);
1421
- for (g.settings.hideSelected || C.classList.toggle("selected", g.items.includes(A)), r = m[g.settings.optgroupField] || "", l = Array.isArray(r) ? r : [r], n = 0, s = l && l.length; n < s; n++) {
1420
+ let B = nt(v), C = g.getOption(B, !0);
1421
+ for (g.settings.hideSelected || C.classList.toggle("selected", g.items.includes(B)), r = m[g.settings.optgroupField] || "", l = Array.isArray(r) ? r : [r], n = 0, s = l && l.length; n < s; n++) {
1422
1422
  r = l[n];
1423
- let E = m.$order, U = g.optgroups[r];
1424
- U === void 0 ? r = "" : E = U.$order;
1425
- const [Tt, Qt] = Q(r, E);
1426
- n > 0 && (C = C.cloneNode(!0), w(C, { id: m.$id + "-clone-" + n, "aria-selected": null }), C.classList.add("ts-cloned"), N(C, "active"), g.activeOption && g.activeOption.dataset.value == v && d && d.dataset.group === r.toString() && (h = C)), Qt.appendChild(C), r != "" && (p[r] = Tt);
1423
+ let U = m.$order, $ = g.optgroups[r];
1424
+ $ === void 0 ? r = "" : U = $.$order;
1425
+ const [Ut, $t] = E(r, U);
1426
+ n > 0 && (C = C.cloneNode(!0), w(C, { id: m.$id + "-clone-" + n, "aria-selected": null }), C.classList.add("ts-cloned"), V(C, "active"), g.activeOption && g.activeOption.dataset.value == v && u && u.dataset.group === r.toString() && (h = C)), $t.appendChild(C), r != "" && (p[r] = Ut);
1427
1427
  }
1428
1428
  }
1429
- g.settings.lockOptgroupOrder && y.sort((f, v) => f.order - v.order), a = document.createDocumentFragment(), G(y, (f) => {
1429
+ g.settings.lockOptgroupOrder && y.sort((f, v) => f.order - v.order), a = document.createDocumentFragment(), A(y, (f) => {
1430
1430
  let v = f.fragment, m = f.optgroup;
1431
1431
  if (!v || !v.children.length)
1432
1432
  return;
1433
- let A = g.optgroups[m];
1434
- if (A !== void 0) {
1435
- let C = document.createDocumentFragment(), E = g.render("optgroup_header", A);
1436
- k(C, E), k(C, v);
1437
- let U = g.render("optgroup", { group: A, options: C });
1438
- k(a, U);
1433
+ let B = g.optgroups[m];
1434
+ if (B !== void 0) {
1435
+ let C = document.createDocumentFragment(), U = g.render("optgroup_header", B);
1436
+ F(C, U), F(C, v);
1437
+ let $ = g.render("optgroup", { group: B, options: C });
1438
+ F(a, $);
1439
1439
  } else
1440
- k(a, v);
1441
- }), M.innerHTML = "", k(M, a), g.settings.highlight && (Ae(M), I.query.length && I.tokens.length && G(I.tokens, (f) => {
1442
- Ge(M, f.regex);
1440
+ F(a, v);
1441
+ }), M.innerHTML = "", F(M, a), g.settings.highlight && (Ye(M), I.query.length && I.tokens.length && A(I.tokens, (f) => {
1442
+ Xe(M, f.regex);
1443
1443
  }));
1444
- var F = (f) => {
1444
+ var K = (f) => {
1445
1445
  let v = g.render(f, { input: b });
1446
1446
  return v && (L = !0, M.insertBefore(v, M.firstChild)), v;
1447
1447
  };
1448
- if (g.loading ? F("loading") : g.settings.shouldLoad.call(g, b) ? I.items.length === 0 && F("no_results") : F("not_loading"), c = g.canCreate(b), c && (u = F("option_create")), g.hasOptions = I.items.length > 0 || c, L) {
1448
+ if (g.loading ? K("loading") : g.settings.shouldLoad.call(g, b) ? I.items.length === 0 && K("no_results") : K("not_loading"), c = g.canCreate(b), c && (d = K("option_create")), g.hasOptions = I.items.length > 0 || c, L) {
1449
1449
  if (I.items.length > 0) {
1450
1450
  if (!h && g.settings.mode === "single" && g.items[0] != null && (h = g.getOption(g.items[0])), !M.contains(h)) {
1451
1451
  let f = 0;
1452
- u && !g.settings.addPrecedence && (f = 1), h = g.selectable()[f];
1452
+ d && !g.settings.addPrecedence && (f = 1), h = g.selectable()[f];
1453
1453
  }
1454
- } else u && (h = u);
1454
+ } else d && (h = d);
1455
1455
  t && !g.isOpen && (g.open(), g.scrollToOption(h, "auto")), g.setActiveOption(h);
1456
1456
  } else
1457
1457
  g.clearActiveOption(), t && g.isOpen && g.close(!1);
@@ -1478,7 +1478,7 @@ class X extends te(qt) {
1478
1478
  const n = this;
1479
1479
  if (Array.isArray(t))
1480
1480
  return n.addOptions(t, e), !1;
1481
- const s = O(t[n.settings.valueField]);
1481
+ const s = H(t[n.settings.valueField]);
1482
1482
  return s === null || n.options.hasOwnProperty(s) ? !1 : (t.$order = t.$order || ++n.order, t.$id = n.inputId + "-opt-" + t.$order, n.options[s] = t, n.lastQuery = null, e && (n.userOptions[s] = e, n.trigger("option_add", s, t)), s);
1483
1483
  }
1484
1484
  /**
@@ -1486,7 +1486,7 @@ class X extends te(qt) {
1486
1486
  *
1487
1487
  */
1488
1488
  addOptions(t, e = !1) {
1489
- G(t, (n) => {
1489
+ A(t, (n) => {
1490
1490
  this.addOption(n, e);
1491
1491
  });
1492
1492
  }
@@ -1502,7 +1502,7 @@ class X extends te(qt) {
1502
1502
  * @return {boolean|string}
1503
1503
  */
1504
1504
  registerOptionGroup(t) {
1505
- var e = O(t[this.settings.optgroupValueField]);
1505
+ var e = H(t[this.settings.optgroupValueField]);
1506
1506
  return e === null ? !1 : (t.$order = t.$order || ++this.order, this.optgroups[e] = t, e);
1507
1507
  }
1508
1508
  /**
@@ -1536,7 +1536,7 @@ class X extends te(qt) {
1536
1536
  updateOption(t, e) {
1537
1537
  const n = this;
1538
1538
  var s, o;
1539
- const r = O(t), l = O(e[n.settings.valueField]);
1539
+ const r = H(t), l = H(e[n.settings.valueField]);
1540
1540
  if (r === null)
1541
1541
  return;
1542
1542
  const a = n.options[r];
@@ -1544,15 +1544,15 @@ class X extends te(qt) {
1544
1544
  return;
1545
1545
  if (typeof l != "string")
1546
1546
  throw new Error("Value must be set in option data");
1547
- const c = n.getOption(r), d = n.getItem(r);
1547
+ const c = n.getOption(r), u = n.getItem(r);
1548
1548
  if (e.$order = e.$order || a.$order, delete n.options[r], n.uncacheValue(l), n.options[l] = e, c) {
1549
1549
  if (n.dropdown_content.contains(c)) {
1550
- const u = n._render("option", e);
1551
- mt(c, u), n.activeOption === c && n.setActiveOption(u);
1550
+ const d = n._render("option", e);
1551
+ bt(c, d), n.activeOption === c && n.setActiveOption(d);
1552
1552
  }
1553
1553
  c.remove();
1554
1554
  }
1555
- d && (o = n.items.indexOf(r), o !== -1 && n.items.splice(o, 1, l), s = n._render("item", e), d.classList.contains("active") && J(s, "active"), mt(d, s)), n.lastQuery = null;
1555
+ u && (o = n.items.indexOf(r), o !== -1 && n.items.splice(o, 1, l), s = n._render("item", e), u.classList.contains("active") && J(s, "active"), bt(u, s)), n.lastQuery = null;
1556
1556
  }
1557
1557
  /**
1558
1558
  * Removes a single option.
@@ -1560,7 +1560,7 @@ class X extends te(qt) {
1560
1560
  */
1561
1561
  removeOption(t, e) {
1562
1562
  const n = this;
1563
- t = et(t), n.uncacheValue(t), delete n.userOptions[t], delete n.options[t], n.lastQuery = null, n.trigger("option_remove", t), n.removeItem(t, e);
1563
+ t = nt(t), n.uncacheValue(t), delete n.userOptions[t], delete n.options[t], n.lastQuery = null, n.trigger("option_remove", t), n.removeItem(t, e);
1564
1564
  }
1565
1565
  /**
1566
1566
  * Clears all options.
@@ -1569,7 +1569,7 @@ class X extends te(qt) {
1569
1569
  const e = (t || this.clearFilter).bind(this);
1570
1570
  this.loadedSearches = {}, this.userOptions = {}, this.clearCache();
1571
1571
  const n = {};
1572
- G(this.options, (s, o) => {
1572
+ A(this.options, (s, o) => {
1573
1573
  e(s, o) && (n[o] = s);
1574
1574
  }), this.options = this.sifter.items = n, this.lastQuery = null, this.trigger("option_clear");
1575
1575
  }
@@ -1587,7 +1587,7 @@ class X extends te(qt) {
1587
1587
  *
1588
1588
  */
1589
1589
  getOption(t, e = !1) {
1590
- const n = O(t);
1590
+ const n = H(t);
1591
1591
  if (n === null)
1592
1592
  return null;
1593
1593
  const s = this.options[n];
@@ -1622,8 +1622,8 @@ class X extends te(qt) {
1622
1622
  getItem(t) {
1623
1623
  if (typeof t == "object")
1624
1624
  return t;
1625
- var e = O(t);
1626
- return e !== null ? this.control.querySelector(`[data-value="${Wt(e)}"]`) : null;
1625
+ var e = H(t);
1626
+ return e !== null ? this.control.querySelector(`[data-value="${Gt(e)}"]`) : null;
1627
1627
  }
1628
1628
  /**
1629
1629
  * "Selects" multiple items at once. Adds them to the list
@@ -1645,14 +1645,14 @@ class X extends te(qt) {
1645
1645
  */
1646
1646
  addItem(t, e) {
1647
1647
  var n = e ? [] : ["change", "dropdown_close"];
1648
- Lt(this, n, () => {
1648
+ Wt(this, n, () => {
1649
1649
  var s, o;
1650
- const r = this, l = r.settings.mode, a = O(t);
1650
+ const r = this, l = r.settings.mode, a = H(t);
1651
1651
  if (!(a && r.items.indexOf(a) !== -1 && (l === "single" && r.close(), l === "single" || !r.settings.duplicates)) && !(a === null || !r.options.hasOwnProperty(a)) && (l === "single" && r.clear(e), !(l === "multi" && r.isFull()))) {
1652
1652
  if (s = r._render("item", r.options[a]), r.control.contains(s) && (s = s.cloneNode(!0)), o = r.isFull(), r.items.splice(r.caretPos, 0, a), r.insertAtCaret(s), r.isSetup) {
1653
1653
  if (!r.isPending && r.settings.hideSelected) {
1654
- let c = r.getOption(a), d = r.getAdjacent(c, 1);
1655
- d && r.setActiveOption(d);
1654
+ let c = r.getOption(a), u = r.getAdjacent(c, 1);
1655
+ u && r.setActiveOption(u);
1656
1656
  }
1657
1657
  !r.isPending && !r.settings.closeAfterSelect && r.refreshOptions(r.isFocused && l !== "single"), r.settings.closeAfterSelect != !1 && r.isFull() ? r.close() : r.isPending || r.positionDropdown(), r.trigger("item_add", a, s), r.isPending || r.updateOriginalInput({ silent: e });
1658
1658
  }
@@ -1671,7 +1671,7 @@ class X extends te(qt) {
1671
1671
  return;
1672
1672
  var s, o;
1673
1673
  const r = t.dataset.value;
1674
- s = At(t), t.remove(), t.classList.contains("active") && (o = n.activeItems.indexOf(t), n.activeItems.splice(o, 1), N(t, "active")), n.items.splice(s, 1), n.lastQuery = null, !n.settings.persist && n.userOptions.hasOwnProperty(r) && n.removeOption(r, e), s < n.caretPos && n.setCaret(n.caretPos - 1), n.updateOriginalInput({ silent: e }), n.refreshState(), n.positionDropdown(), n.trigger("item_remove", r, t);
1674
+ s = Bt(t), t.remove(), t.classList.contains("active") && (o = n.activeItems.indexOf(t), n.activeItems.splice(o, 1), V(t, "active")), n.items.splice(s, 1), n.lastQuery = null, !n.settings.persist && n.userOptions.hasOwnProperty(r) && n.removeOption(r, e), s < n.caretPos && n.setCaret(n.caretPos - 1), n.updateOriginalInput({ silent: e }), n.refreshState(), n.positionDropdown(), n.trigger("item_remove", r, t);
1675
1675
  }
1676
1676
  /**
1677
1677
  * Invokes the `create` method provided in the
@@ -1693,7 +1693,7 @@ class X extends te(qt) {
1693
1693
  var r = !1, l = (a) => {
1694
1694
  if (n.unlock(), !a || typeof a != "object")
1695
1695
  return e();
1696
- var c = O(a[n.settings.valueField]);
1696
+ var c = H(a[n.settings.valueField]);
1697
1697
  if (typeof c != "string")
1698
1698
  return e();
1699
1699
  n.setTextboxValue(), n.addOption(a, !0), n.setCaret(s), n.addItem(c), e(a), r = !0;
@@ -1720,7 +1720,7 @@ class X extends te(qt) {
1720
1720
  const e = t.isFull(), n = t.isLocked;
1721
1721
  t.wrapper.classList.toggle("rtl", t.rtl);
1722
1722
  const s = t.wrapper.classList;
1723
- s.toggle("focus", t.isFocused), s.toggle("disabled", t.isDisabled), s.toggle("readonly", t.isReadOnly), s.toggle("required", t.isRequired), s.toggle("invalid", !t.isValid), s.toggle("locked", n), s.toggle("full", e), s.toggle("input-active", t.isFocused && !t.isInputHidden), s.toggle("dropdown-active", t.isOpen), s.toggle("has-options", We(t.options)), s.toggle("has-items", t.items.length > 0);
1723
+ s.toggle("focus", t.isFocused), s.toggle("disabled", t.isDisabled), s.toggle("readonly", t.isReadOnly), s.toggle("required", t.isRequired), s.toggle("invalid", !t.isValid), s.toggle("locked", n), s.toggle("full", e), s.toggle("input-active", t.isFocused && !t.isInputHidden), s.toggle("dropdown-active", t.isOpen), s.toggle("has-options", Be(t.options)), s.toggle("has-items", t.items.length > 0);
1724
1724
  }
1725
1725
  /**
1726
1726
  * Update the `required` attribute of both input and control input.
@@ -1753,16 +1753,16 @@ class X extends te(qt) {
1753
1753
  var n, s;
1754
1754
  const o = e.input.querySelector('option[value=""]');
1755
1755
  if (e.is_select_tag) {
1756
- let a = function(c, d, u) {
1757
- return c || (c = R('<option value="' + ut(d) + '">' + ut(u) + "</option>")), c != o && e.input.append(c), r.push(c), (c != o || l > 0) && (c.selected = !0), c;
1756
+ let a = function(c, u, d) {
1757
+ return c || (c = R('<option value="' + gt(u) + '">' + gt(d) + "</option>")), c != o && e.input.append(c), r.push(c), (c != o || l > 0) && (c.selected = !0), c;
1758
1758
  };
1759
1759
  const r = [], l = e.input.querySelectorAll("option:checked").length;
1760
1760
  e.input.querySelectorAll("option:checked").forEach((c) => {
1761
1761
  c.selected = !1;
1762
1762
  }), e.items.length == 0 && e.settings.mode == "single" ? a(o, "", "") : e.items.forEach((c) => {
1763
1763
  if (n = e.options[c], s = n[e.settings.labelField] || "", r.includes(n.$option)) {
1764
- const d = e.input.querySelector(`option[value="${Wt(c)}"]:not(:checked)`);
1765
- a(d, c, s);
1764
+ const u = e.input.querySelector(`option[value="${Gt(c)}"]:not(:checked)`);
1765
+ a(u, c, s);
1766
1766
  } else
1767
1767
  n.$option = a(n.$option, c, s);
1768
1768
  });
@@ -1776,14 +1776,14 @@ class X extends te(qt) {
1776
1776
  */
1777
1777
  open() {
1778
1778
  var t = this;
1779
- t.isLocked || t.isOpen || t.settings.mode === "multi" && t.isFull() || (t.isOpen = !0, w(t.focus_node, { "aria-expanded": "true" }), t.refreshState(), P(t.dropdown, { visibility: "hidden", display: "block" }), t.positionDropdown(), P(t.dropdown, { visibility: "visible", display: "block" }), t.focus(), t.trigger("dropdown_open", t.dropdown));
1779
+ t.isLocked || t.isOpen || t.settings.mode === "multi" && t.isFull() || (t.isOpen = !0, w(t.focus_node, { "aria-expanded": "true" }), t.refreshState(), tt(t.dropdown, { visibility: "hidden", display: "block" }), t.positionDropdown(), tt(t.dropdown, { visibility: "visible", display: "block" }), t.focus(), t.trigger("dropdown_open", t.dropdown));
1780
1780
  }
1781
1781
  /**
1782
1782
  * Closes the autocomplete dropdown menu.
1783
1783
  */
1784
1784
  close(t = !0) {
1785
1785
  var e = this, n = e.isOpen;
1786
- t && (e.setTextboxValue(), e.settings.mode === "single" && e.items.length && e.inputState()), e.isOpen = !1, w(e.focus_node, { "aria-expanded": "false" }), P(e.dropdown, { display: "none" }), e.settings.hideSelected && e.clearActiveOption(), e.refreshState(), n && e.trigger("dropdown_close", e.dropdown);
1786
+ t && (e.setTextboxValue(), e.settings.mode === "single" && e.items.length && e.inputState()), e.isOpen = !1, w(e.focus_node, { "aria-expanded": "false" }), tt(e.dropdown, { display: "none" }), e.settings.hideSelected && e.clearActiveOption(), e.refreshState(), n && e.trigger("dropdown_close", e.dropdown);
1787
1787
  }
1788
1788
  /**
1789
1789
  * Calculates and applies the appropriate
@@ -1793,7 +1793,7 @@ class X extends te(qt) {
1793
1793
  positionDropdown() {
1794
1794
  if (this.settings.dropdownParent === "body") {
1795
1795
  var t = this.control, e = t.getBoundingClientRect(), n = t.offsetHeight + e.top + window.scrollY, s = e.left + window.scrollX;
1796
- P(this.dropdown, {
1796
+ tt(this.dropdown, {
1797
1797
  width: e.width + "px",
1798
1798
  top: n + "px",
1799
1799
  left: s + "px"
@@ -1809,7 +1809,7 @@ class X extends te(qt) {
1809
1809
  var e = this;
1810
1810
  if (e.items.length) {
1811
1811
  var n = e.controlChildren();
1812
- G(n, (s) => {
1812
+ A(n, (s) => {
1813
1813
  e.removeItem(s, !0);
1814
1814
  }), e.inputState(), t || e.updateOriginalInput(), e.trigger("clear");
1815
1815
  }
@@ -1829,10 +1829,10 @@ class X extends te(qt) {
1829
1829
  */
1830
1830
  deleteSelection(t) {
1831
1831
  var e, n, s, o, r = this;
1832
- e = t && t.keyCode === Bt ? -1 : 1, n = we(r.control_input);
1832
+ e = t && t.keyCode === Xt ? -1 : 1, n = Ge(r.control_input);
1833
1833
  const l = [];
1834
1834
  if (r.activeItems.length)
1835
- o = Gt(r.activeItems, e), s = At(o), e > 0 && s++, G(r.activeItems, (a) => l.push(a));
1835
+ o = At(r.activeItems, e), s = Bt(o), e > 0 && s++, A(r.activeItems, (a) => l.push(a));
1836
1836
  else if ((r.isFocused || r.settings.mode === "single") && r.items.length) {
1837
1837
  const a = r.controlChildren();
1838
1838
  let c;
@@ -1860,7 +1860,7 @@ class X extends te(qt) {
1860
1860
  */
1861
1861
  advanceSelection(t, e) {
1862
1862
  var n, s, o = this;
1863
- o.rtl && (t *= -1), !o.inputValue().length && (z(q, e) || z("shiftKey", e) ? (n = o.getLastActive(t), n ? n.classList.contains("active") ? s = o.getAdjacent(n, t, "item") : s = n : t > 0 ? s = o.control_input.nextElementSibling : s = o.control_input.previousElementSibling, s && (s.classList.contains("active") && o.removeActiveItem(n), o.setActiveItemClass(s))) : o.moveCaret(t));
1863
+ o.rtl && (t *= -1), !o.inputValue().length && (S(et, e) || S("shiftKey", e) ? (n = o.getLastActive(t), n ? n.classList.contains("active") ? s = o.getAdjacent(n, t, "item") : s = n : t > 0 ? s = o.control_input.nextElementSibling : s = o.control_input.previousElementSibling, s && (s.classList.contains("active") && o.removeActiveItem(n), o.setActiveItemClass(s))) : o.moveCaret(t));
1864
1864
  }
1865
1865
  moveCaret(t) {
1866
1866
  }
@@ -1874,7 +1874,7 @@ class X extends te(qt) {
1874
1874
  return e;
1875
1875
  var n = this.control.querySelectorAll(".active");
1876
1876
  if (n)
1877
- return Gt(n, t);
1877
+ return At(n, t);
1878
1878
  }
1879
1879
  /**
1880
1880
  * Moves the caret to the specified index.
@@ -1940,7 +1940,7 @@ class X extends te(qt) {
1940
1940
  */
1941
1941
  destroy() {
1942
1942
  var t = this, e = t.revertSettings;
1943
- t.trigger("destroy"), t.off(), t.wrapper.remove(), t.dropdown.remove(), t.input.innerHTML = e.innerHTML, t.input.tabIndex = e.tabIndex, N(t.input, "tomselected", "ts-hidden-accessible"), t._destroy(), delete t.input.tomselect;
1943
+ t.trigger("destroy"), t.off(), t.wrapper.remove(), t.dropdown.remove(), t.input.innerHTML = e.innerHTML, t.input.tabIndex = e.tabIndex, V(t.input, "tomselected", "ts-hidden-accessible"), t._destroy(), delete t.input.tomselect;
1944
1944
  }
1945
1945
  /**
1946
1946
  * A helper method for rendering "item" and
@@ -1950,10 +1950,10 @@ class X extends te(qt) {
1950
1950
  render(t, e) {
1951
1951
  var n, s;
1952
1952
  const o = this;
1953
- if (typeof this.settings.render[t] != "function" || (s = o.settings.render[t].call(this, e, ut), !s))
1953
+ if (typeof this.settings.render[t] != "function" || (s = o.settings.render[t].call(this, e, gt), !s))
1954
1954
  return null;
1955
1955
  if (s = R(s), t === "option" || t === "option_create" ? e[o.settings.disabledField] ? w(s, { "aria-disabled": "true" }) : w(s, { "data-selectable": "" }) : t === "optgroup" && (n = e.group[o.settings.optgroupValueField], w(s, { "data-group": n }), e.group[o.settings.disabledField] && w(s, { "data-disabled": "" })), t === "option" || t === "item") {
1956
- const r = et(e[o.settings.valueField]);
1956
+ const r = nt(e[o.settings.valueField]);
1957
1957
  w(s, { "data-value": r }), t === "item" ? (J(s, o.settings.itemClass), w(s, { "data-ts-item": "" })) : (J(s, o.settings.optionClass), w(s, {
1958
1958
  role: "option",
1959
1959
  id: e.$id
@@ -1978,7 +1978,7 @@ class X extends te(qt) {
1978
1978
  *
1979
1979
  */
1980
1980
  clearCache() {
1981
- G(this.options, (t) => {
1981
+ A(this.options, (t) => {
1982
1982
  t.$div && (t.$div.remove(), delete t.$div);
1983
1983
  });
1984
1984
  }
@@ -2013,28 +2013,28 @@ class X extends te(qt) {
2013
2013
  };
2014
2014
  }
2015
2015
  }
2016
- const Ve = (i, t, e, n) => {
2016
+ const Se = (i, t, e, n) => {
2017
2017
  i.addEventListener(t, e, n);
2018
2018
  };
2019
- function ze() {
2020
- Ve(this.input, "change", () => {
2019
+ function Fe() {
2020
+ Se(this.input, "change", () => {
2021
2021
  this.sync();
2022
2022
  });
2023
2023
  }
2024
- const ke = (i) => typeof i > "u" || i === null ? null : Fe(i), Fe = (i) => typeof i == "boolean" ? i ? "1" : "0" : i + "", Ht = (i, t = !1) => {
2024
+ const Ke = (i) => typeof i > "u" || i === null ? null : xe(i), xe = (i) => typeof i == "boolean" ? i ? "1" : "0" : i + "", Mt = (i, t = !1) => {
2025
2025
  i && (i.preventDefault(), t && i.stopPropagation());
2026
- }, Se = (i) => {
2026
+ }, De = (i) => {
2027
2027
  if (i.jquery)
2028
2028
  return i[0];
2029
2029
  if (i instanceof HTMLElement)
2030
2030
  return i;
2031
- if (Ke(i)) {
2031
+ if (_e(i)) {
2032
2032
  var t = document.createElement("template");
2033
2033
  return t.innerHTML = i.trim(), t.content.firstChild;
2034
2034
  }
2035
2035
  return document.querySelector(i);
2036
- }, Ke = (i) => typeof i == "string" && i.indexOf("<") > -1;
2037
- function xe(i) {
2036
+ }, _e = (i) => typeof i == "string" && i.indexOf("<") > -1;
2037
+ function je(i) {
2038
2038
  var t = this, e = t.onOptionSelect;
2039
2039
  t.settings.hideSelected = !1;
2040
2040
  const n = Object.assign({
@@ -2055,12 +2055,12 @@ function xe(i) {
2055
2055
  t.hook("after", "setupTemplates", () => {
2056
2056
  var r = t.settings.render.option;
2057
2057
  t.settings.render.option = (l, a) => {
2058
- var c = Se(r.call(t, l, a)), d = document.createElement("input");
2059
- n.className && d.classList.add(n.className), d.addEventListener("click", function(p) {
2060
- Ht(p);
2061
- }), d.type = "checkbox";
2062
- const u = ke(l[t.settings.valueField]);
2063
- return s(d, !!(u && t.items.indexOf(u) > -1)), c.prepend(d), c;
2058
+ var c = De(r.call(t, l, a)), u = document.createElement("input");
2059
+ n.className && u.classList.add(n.className), u.addEventListener("click", function(p) {
2060
+ Mt(p);
2061
+ }), u.type = "checkbox";
2062
+ const d = Ke(l[t.settings.valueField]);
2063
+ return s(u, !!(d && t.items.indexOf(d) > -1)), c.prepend(u), c;
2064
2064
  };
2065
2065
  }), t.on("item_remove", (r) => {
2066
2066
  var l = t.getOption(r);
@@ -2070,67 +2070,67 @@ function xe(i) {
2070
2070
  l && o(l);
2071
2071
  }), t.hook("instead", "onOptionSelect", (r, l) => {
2072
2072
  if (l.classList.contains("selected")) {
2073
- l.classList.remove("selected"), t.removeItem(l.dataset.value), t.refreshOptions(), Ht(r, !0);
2073
+ l.classList.remove("selected"), t.removeItem(l.dataset.value), t.refreshOptions(), Mt(r, !0);
2074
2074
  return;
2075
2075
  }
2076
2076
  e.call(t, r, l), o(l);
2077
2077
  });
2078
2078
  }
2079
- const De = (i) => {
2079
+ const Te = (i) => {
2080
2080
  if (i.jquery)
2081
2081
  return i[0];
2082
2082
  if (i instanceof HTMLElement)
2083
2083
  return i;
2084
- if (_e(i)) {
2084
+ if (Qe(i)) {
2085
2085
  var t = document.createElement("template");
2086
2086
  return t.innerHTML = i.trim(), t.content.firstChild;
2087
2087
  }
2088
2088
  return document.querySelector(i);
2089
- }, _e = (i) => typeof i == "string" && i.indexOf("<") > -1;
2090
- function je(i) {
2089
+ }, Qe = (i) => typeof i == "string" && i.indexOf("<") > -1;
2090
+ function Ee(i) {
2091
2091
  const t = this, e = Object.assign({
2092
2092
  className: "clear-button",
2093
2093
  title: "Clear All",
2094
2094
  html: (n) => `<div class="${n.className}" title="${n.title}">&#10799;</div>`
2095
2095
  }, i);
2096
2096
  t.on("initialize", () => {
2097
- var n = De(e.html(e));
2097
+ var n = Te(e.html(e));
2098
2098
  n.addEventListener("click", (s) => {
2099
2099
  t.isLocked || (t.clear(), t.settings.mode === "single" && t.settings.allowEmptyOption && t.addItem(""), s.preventDefault(), s.stopPropagation());
2100
2100
  }), t.control.appendChild(n);
2101
2101
  });
2102
2102
  }
2103
- const Te = (i, t = !1) => {
2103
+ const Ue = (i, t = !1) => {
2104
2104
  i && (i.preventDefault(), t && i.stopPropagation());
2105
- }, x = (i, t, e, n) => {
2105
+ }, D = (i, t, e, n) => {
2106
2106
  i.addEventListener(t, e, n);
2107
- }, Qe = (i, t) => {
2107
+ }, $e = (i, t) => {
2108
2108
  if (Array.isArray(i))
2109
2109
  i.forEach(t);
2110
2110
  else
2111
2111
  for (var e in i)
2112
2112
  i.hasOwnProperty(e) && t(i[e], e);
2113
- }, Ee = (i) => {
2113
+ }, Pe = (i) => {
2114
2114
  if (i.jquery)
2115
2115
  return i[0];
2116
2116
  if (i instanceof HTMLElement)
2117
2117
  return i;
2118
- if (Ue(i)) {
2118
+ if (qe(i)) {
2119
2119
  var t = document.createElement("template");
2120
2120
  return t.innerHTML = i.trim(), t.content.firstChild;
2121
2121
  }
2122
2122
  return document.querySelector(i);
2123
- }, Ue = (i) => typeof i == "string" && i.indexOf("<") > -1, $e = (i, t) => {
2124
- Qe(t, (e, n) => {
2123
+ }, qe = (i) => typeof i == "string" && i.indexOf("<") > -1, ti = (i, t) => {
2124
+ $e(t, (e, n) => {
2125
2125
  e == null ? i.removeAttribute(n) : i.setAttribute(n, "" + e);
2126
2126
  });
2127
- }, Pe = (i, t) => {
2127
+ }, ei = (i, t) => {
2128
2128
  var e;
2129
2129
  (e = i.parentNode) == null || e.insertBefore(t, i.nextSibling);
2130
- }, qe = (i, t) => {
2130
+ }, ii = (i, t) => {
2131
2131
  var e;
2132
2132
  (e = i.parentNode) == null || e.insertBefore(t, i);
2133
- }, ti = (i, t) => {
2133
+ }, ni = (i, t) => {
2134
2134
  do {
2135
2135
  var e;
2136
2136
  if (t = (e = t) == null ? void 0 : e.previousElementSibling, i == t)
@@ -2138,7 +2138,7 @@ const Te = (i, t = !1) => {
2138
2138
  } while (t && t.previousElementSibling);
2139
2139
  return !1;
2140
2140
  };
2141
- function ei() {
2141
+ function si() {
2142
2142
  var i = this;
2143
2143
  if (i.settings.mode !== "multi") return;
2144
2144
  var t = i.lock, e = i.unlock;
@@ -2146,22 +2146,22 @@ function ei() {
2146
2146
  i.hook("after", "setupTemplates", () => {
2147
2147
  var o = i.settings.render.item;
2148
2148
  i.settings.render.item = (r, l) => {
2149
- const a = Ee(o.call(i, r, l));
2150
- $e(a, {
2149
+ const a = Pe(o.call(i, r, l));
2150
+ ti(a, {
2151
2151
  draggable: "true"
2152
2152
  });
2153
2153
  const c = (b) => {
2154
- n || Te(b), b.stopPropagation();
2155
- }, d = (b) => {
2154
+ n || Ue(b), b.stopPropagation();
2155
+ }, u = (b) => {
2156
2156
  s = a, setTimeout(() => {
2157
2157
  a.classList.add("ts-dragging");
2158
2158
  }, 0);
2159
- }, u = (b) => {
2159
+ }, d = (b) => {
2160
2160
  b.preventDefault(), a.classList.add("ts-drag-over"), y(a, s);
2161
2161
  }, p = () => {
2162
2162
  a.classList.remove("ts-drag-over");
2163
2163
  }, y = (b, Z) => {
2164
- Z !== void 0 && (ti(Z, a) ? Pe(b, Z) : qe(b, Z));
2164
+ Z !== void 0 && (ni(Z, a) ? ei(b, Z) : ii(b, Z));
2165
2165
  }, g = () => {
2166
2166
  var b;
2167
2167
  document.querySelectorAll(".ts-drag-over").forEach((I) => I.classList.remove("ts-drag-over")), (b = s) == null || b.classList.remove("ts-dragging"), s = void 0;
@@ -2173,24 +2173,24 @@ function ei() {
2173
2173
  }
2174
2174
  }), i.setValue(Z);
2175
2175
  };
2176
- return x(a, "mousedown", c), x(a, "dragstart", d), x(a, "dragenter", u), x(a, "dragover", u), x(a, "dragleave", p), x(a, "dragend", g), a;
2176
+ return D(a, "mousedown", c), D(a, "dragstart", u), D(a, "dragenter", d), D(a, "dragover", d), D(a, "dragleave", p), D(a, "dragend", g), a;
2177
2177
  };
2178
2178
  }), i.hook("instead", "lock", () => (n = !1, t.call(i))), i.hook("instead", "unlock", () => (n = !0, e.call(i)));
2179
2179
  }
2180
- const ii = (i, t = !1) => {
2180
+ const ri = (i, t = !1) => {
2181
2181
  i && (i.preventDefault(), t && i.stopPropagation());
2182
- }, ni = (i) => {
2182
+ }, oi = (i) => {
2183
2183
  if (i.jquery)
2184
2184
  return i[0];
2185
2185
  if (i instanceof HTMLElement)
2186
2186
  return i;
2187
- if (si(i)) {
2187
+ if (li(i)) {
2188
2188
  var t = document.createElement("template");
2189
2189
  return t.innerHTML = i.trim(), t.content.firstChild;
2190
2190
  }
2191
2191
  return document.querySelector(i);
2192
- }, si = (i) => typeof i == "string" && i.indexOf("<") > -1;
2193
- function ri(i) {
2192
+ }, li = (i) => typeof i == "string" && i.indexOf("<") > -1;
2193
+ function ci(i) {
2194
2194
  const t = this, e = Object.assign({
2195
2195
  title: "Untitled",
2196
2196
  headerClass: "dropdown-header",
@@ -2200,38 +2200,38 @@ function ri(i) {
2200
2200
  html: (n) => '<div class="' + n.headerClass + '"><div class="' + n.titleRowClass + '"><span class="' + n.labelClass + '">' + n.title + '</span><a class="' + n.closeClass + '">&times;</a></div></div>'
2201
2201
  }, i);
2202
2202
  t.on("initialize", () => {
2203
- var n = ni(e.html(e)), s = n.querySelector("." + e.closeClass);
2203
+ var n = oi(e.html(e)), s = n.querySelector("." + e.closeClass);
2204
2204
  s && s.addEventListener("click", (o) => {
2205
- ii(o, !0), t.close();
2205
+ ri(o, !0), t.close();
2206
2206
  }), t.dropdown.insertBefore(n, t.dropdown.firstChild);
2207
2207
  });
2208
2208
  }
2209
- const oi = (i, t) => {
2209
+ const ai = (i, t) => {
2210
2210
  if (Array.isArray(i))
2211
2211
  i.forEach(t);
2212
2212
  else
2213
2213
  for (var e in i)
2214
2214
  i.hasOwnProperty(e) && t(i[e], e);
2215
- }, li = (i, ...t) => {
2216
- var e = ci(t);
2217
- i = ai(i), i.map((n) => {
2215
+ }, di = (i, ...t) => {
2216
+ var e = ui(t);
2217
+ i = gi(i), i.map((n) => {
2218
2218
  e.map((s) => {
2219
2219
  n.classList.remove(s);
2220
2220
  });
2221
2221
  });
2222
- }, ci = (i) => {
2222
+ }, ui = (i) => {
2223
2223
  var t = [];
2224
- return oi(i, (e) => {
2224
+ return ai(i, (e) => {
2225
2225
  typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
2226
2226
  }), t.filter(Boolean);
2227
- }, ai = (i) => (Array.isArray(i) || (i = [i]), i), di = (i, t) => {
2227
+ }, gi = (i) => (Array.isArray(i) || (i = [i]), i), pi = (i, t) => {
2228
2228
  if (!i) return -1;
2229
2229
  t = t || i.nodeName;
2230
2230
  for (var e = 0; i = i.previousElementSibling; )
2231
2231
  i.matches(t) && e++;
2232
2232
  return e;
2233
2233
  };
2234
- function ui() {
2234
+ function hi() {
2235
2235
  var i = this;
2236
2236
  i.hook("instead", "setCaret", (t) => {
2237
2237
  i.settings.mode === "single" || !i.control.contains(i.control_input) ? t = i.items.length : (t = Math.max(0, Math.min(i.items.length, t)), t != i.caretPos && !i.isPending && i.controlChildren().forEach((e, n) => {
@@ -2241,60 +2241,60 @@ function ui() {
2241
2241
  if (!i.isFocused) return;
2242
2242
  const e = i.getLastActive(t);
2243
2243
  if (e) {
2244
- const n = di(e);
2245
- i.setCaret(t > 0 ? n + 1 : n), i.setActiveItem(), li(e, "last-active");
2244
+ const n = pi(e);
2245
+ i.setCaret(t > 0 ? n + 1 : n), i.setActiveItem(), di(e, "last-active");
2246
2246
  } else
2247
2247
  i.setCaret(i.caretPos + t);
2248
2248
  });
2249
2249
  }
2250
- const gi = 27, pi = 9, hi = (i, t = !1) => {
2250
+ const mi = 27, fi = 9, bi = (i, t = !1) => {
2251
2251
  i && (i.preventDefault(), t && i.stopPropagation());
2252
- }, mi = (i, t, e, n) => {
2252
+ }, vi = (i, t, e, n) => {
2253
2253
  i.addEventListener(t, e, n);
2254
- }, fi = (i, t) => {
2254
+ }, Ii = (i, t) => {
2255
2255
  if (Array.isArray(i))
2256
2256
  i.forEach(t);
2257
2257
  else
2258
2258
  for (var e in i)
2259
2259
  i.hasOwnProperty(e) && t(i[e], e);
2260
- }, Mt = (i) => {
2260
+ }, Rt = (i) => {
2261
2261
  if (i.jquery)
2262
2262
  return i[0];
2263
2263
  if (i instanceof HTMLElement)
2264
2264
  return i;
2265
- if (bi(i)) {
2265
+ if (Ci(i)) {
2266
2266
  var t = document.createElement("template");
2267
2267
  return t.innerHTML = i.trim(), t.content.firstChild;
2268
2268
  }
2269
2269
  return document.querySelector(i);
2270
- }, bi = (i) => typeof i == "string" && i.indexOf("<") > -1, vi = (i, ...t) => {
2271
- var e = Ii(t);
2272
- i = Ci(i), i.map((n) => {
2270
+ }, Ci = (i) => typeof i == "string" && i.indexOf("<") > -1, yi = (i, ...t) => {
2271
+ var e = Zi(t);
2272
+ i = wi(i), i.map((n) => {
2273
2273
  e.map((s) => {
2274
2274
  n.classList.add(s);
2275
2275
  });
2276
2276
  });
2277
- }, Ii = (i) => {
2277
+ }, Zi = (i) => {
2278
2278
  var t = [];
2279
- return fi(i, (e) => {
2279
+ return Ii(i, (e) => {
2280
2280
  typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
2281
2281
  }), t.filter(Boolean);
2282
- }, Ci = (i) => (Array.isArray(i) || (i = [i]), i);
2283
- function yi() {
2282
+ }, wi = (i) => (Array.isArray(i) || (i = [i]), i);
2283
+ function Li() {
2284
2284
  const i = this;
2285
2285
  i.settings.shouldOpen = !0, i.hook("before", "setup", () => {
2286
- i.focus_node = i.control, vi(i.control_input, "dropdown-input");
2287
- const t = Mt('<div class="dropdown-input-wrap">');
2286
+ i.focus_node = i.control, yi(i.control_input, "dropdown-input");
2287
+ const t = Rt('<div class="dropdown-input-wrap">');
2288
2288
  t.append(i.control_input), i.dropdown.insertBefore(t, i.dropdown.firstChild);
2289
- const e = Mt('<input class="items-placeholder" tabindex="-1" />');
2289
+ const e = Rt('<input class="items-placeholder" tabindex="-1" />');
2290
2290
  e.placeholder = i.settings.placeholder || "", i.control.append(e);
2291
2291
  }), i.on("initialize", () => {
2292
2292
  i.control_input.addEventListener("keydown", (e) => {
2293
2293
  switch (e.keyCode) {
2294
- case gi:
2295
- i.isOpen && (hi(e, !0), i.close()), i.clearActiveItems();
2294
+ case mi:
2295
+ i.isOpen && (bi(e, !0), i.close()), i.clearActiveItems();
2296
2296
  return;
2297
- case pi:
2297
+ case fi:
2298
2298
  i.focus_node.tabIndex = -1;
2299
2299
  break;
2300
2300
  }
@@ -2308,17 +2308,17 @@ function yi() {
2308
2308
  i.hook("instead", "onBlur", (e) => {
2309
2309
  if (!(e && e.relatedTarget == i.control_input))
2310
2310
  return t.call(i);
2311
- }), mi(i.control_input, "blur", () => i.onBlur()), i.hook("before", "close", () => {
2311
+ }), vi(i.control_input, "blur", () => i.onBlur()), i.hook("before", "close", () => {
2312
2312
  i.isOpen && i.focus_node.focus({
2313
2313
  preventScroll: !0
2314
2314
  });
2315
2315
  });
2316
2316
  });
2317
2317
  }
2318
- const tt = (i, t, e, n) => {
2318
+ const it = (i, t, e, n) => {
2319
2319
  i.addEventListener(t, e, n);
2320
2320
  };
2321
- function Zi() {
2321
+ function Wi() {
2322
2322
  var i = this;
2323
2323
  i.on("initialize", () => {
2324
2324
  var t = document.createElement("span"), e = i.control_input;
@@ -2329,56 +2329,56 @@ function Zi() {
2329
2329
  var s = () => {
2330
2330
  t.textContent = e.value, e.style.width = t.clientWidth + "px";
2331
2331
  };
2332
- s(), i.on("update item_add item_remove", s), tt(e, "input", s), tt(e, "keyup", s), tt(e, "blur", s), tt(e, "update", s);
2332
+ s(), i.on("update item_add item_remove", s), it(e, "input", s), it(e, "keyup", s), it(e, "blur", s), it(e, "update", s);
2333
2333
  });
2334
2334
  }
2335
- function wi() {
2335
+ function Gi() {
2336
2336
  var i = this, t = i.deleteSelection;
2337
2337
  this.hook("instead", "deleteSelection", (e) => i.activeItems.length ? t.call(i, e) : !1);
2338
2338
  }
2339
- function Li() {
2339
+ function Ai() {
2340
2340
  this.hook("instead", "setActiveItem", () => {
2341
2341
  }), this.hook("instead", "selectAll", () => {
2342
2342
  });
2343
2343
  }
2344
- const Rt = 37, Wi = 39, Gi = (i, t, e) => {
2344
+ const Nt = 37, Bi = 39, Xi = (i, t, e) => {
2345
2345
  for (; i && i.matches; ) {
2346
2346
  if (i.matches(t))
2347
2347
  return i;
2348
2348
  i = i.parentNode;
2349
2349
  }
2350
- }, Ai = (i, t) => {
2350
+ }, Yi = (i, t) => {
2351
2351
  if (!i) return -1;
2352
2352
  t = t || i.nodeName;
2353
2353
  for (var e = 0; i = i.previousElementSibling; )
2354
2354
  i.matches(t) && e++;
2355
2355
  return e;
2356
2356
  };
2357
- function Bi() {
2357
+ function Ji() {
2358
2358
  var i = this, t = i.onKeyDown;
2359
2359
  i.hook("instead", "onKeyDown", (e) => {
2360
2360
  var n, s, o, r;
2361
- if (!i.isOpen || !(e.keyCode === Rt || e.keyCode === Wi))
2361
+ if (!i.isOpen || !(e.keyCode === Nt || e.keyCode === Bi))
2362
2362
  return t.call(i, e);
2363
- i.ignoreHover = !0, r = Gi(i.activeOption, "[data-group]"), n = Ai(i.activeOption, "[data-selectable]"), r && (e.keyCode === Rt ? r = r.previousSibling : r = r.nextSibling, r && (o = r.querySelectorAll("[data-selectable]"), s = o[Math.min(o.length - 1, n)], s && i.setActiveOption(s)));
2363
+ i.ignoreHover = !0, r = Xi(i.activeOption, "[data-group]"), n = Yi(i.activeOption, "[data-selectable]"), r && (e.keyCode === Nt ? r = r.previousSibling : r = r.nextSibling, r && (o = r.querySelectorAll("[data-selectable]"), s = o[Math.min(o.length - 1, n)], s && i.setActiveOption(s)));
2364
2364
  });
2365
2365
  }
2366
- const Xi = (i) => (i + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), Nt = (i, t = !1) => {
2366
+ const Hi = (i) => (i + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), Vt = (i, t = !1) => {
2367
2367
  i && (i.preventDefault(), t && i.stopPropagation());
2368
- }, Vt = (i, t, e, n) => {
2368
+ }, zt = (i, t, e, n) => {
2369
2369
  i.addEventListener(t, e, n);
2370
- }, zt = (i) => {
2370
+ }, kt = (i) => {
2371
2371
  if (i.jquery)
2372
2372
  return i[0];
2373
2373
  if (i instanceof HTMLElement)
2374
2374
  return i;
2375
- if (Yi(i)) {
2375
+ if (Oi(i)) {
2376
2376
  var t = document.createElement("template");
2377
2377
  return t.innerHTML = i.trim(), t.content.firstChild;
2378
2378
  }
2379
2379
  return document.querySelector(i);
2380
- }, Yi = (i) => typeof i == "string" && i.indexOf("<") > -1;
2381
- function Ji(i) {
2380
+ }, Oi = (i) => typeof i == "string" && i.indexOf("<") > -1;
2381
+ function Mi(i) {
2382
2382
  const t = Object.assign({
2383
2383
  label: "&times;",
2384
2384
  title: "Remove",
@@ -2387,21 +2387,21 @@ function Ji(i) {
2387
2387
  }, i);
2388
2388
  var e = this;
2389
2389
  if (t.append) {
2390
- var n = '<a href="javascript:void(0)" class="' + t.className + '" tabindex="-1" title="' + Xi(t.title) + '">' + t.label + "</a>";
2390
+ var n = '<a href="javascript:void(0)" class="' + t.className + '" tabindex="-1" title="' + Hi(t.title) + '">' + t.label + "</a>";
2391
2391
  e.hook("after", "setupTemplates", () => {
2392
2392
  var s = e.settings.render.item;
2393
2393
  e.settings.render.item = (o, r) => {
2394
- var l = zt(s.call(e, o, r)), a = zt(n);
2395
- return l.appendChild(a), Vt(a, "mousedown", (c) => {
2396
- Nt(c, !0);
2397
- }), Vt(a, "click", (c) => {
2398
- e.isLocked || (Nt(c, !0), !e.isLocked && e.shouldDelete([l], c) && (e.removeItem(l), e.refreshOptions(!1), e.inputState()));
2394
+ var l = kt(s.call(e, o, r)), a = kt(n);
2395
+ return l.appendChild(a), zt(a, "mousedown", (c) => {
2396
+ Vt(c, !0);
2397
+ }), zt(a, "click", (c) => {
2398
+ e.isLocked || (Vt(c, !0), !e.isLocked && e.shouldDelete([l], c) && (e.removeItem(l), e.refreshOptions(!1), e.inputState()));
2399
2399
  }), l;
2400
2400
  };
2401
2401
  });
2402
2402
  }
2403
2403
  }
2404
- function Oi(i) {
2404
+ function Ri(i) {
2405
2405
  const t = this, e = Object.assign({
2406
2406
  text: (n) => n[t.settings.labelField]
2407
2407
  }, i);
@@ -2412,26 +2412,26 @@ function Oi(i) {
2412
2412
  }
2413
2413
  });
2414
2414
  }
2415
- const Hi = (i, t) => {
2415
+ const Ni = (i, t) => {
2416
2416
  if (Array.isArray(i))
2417
2417
  i.forEach(t);
2418
2418
  else
2419
2419
  for (var e in i)
2420
2420
  i.hasOwnProperty(e) && t(i[e], e);
2421
- }, Mi = (i, ...t) => {
2422
- var e = Ri(t);
2423
- i = Ni(i), i.map((n) => {
2421
+ }, Vi = (i, ...t) => {
2422
+ var e = zi(t);
2423
+ i = ki(i), i.map((n) => {
2424
2424
  e.map((s) => {
2425
2425
  n.classList.add(s);
2426
2426
  });
2427
2427
  });
2428
- }, Ri = (i) => {
2428
+ }, zi = (i) => {
2429
2429
  var t = [];
2430
- return Hi(i, (e) => {
2430
+ return Ni(i, (e) => {
2431
2431
  typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
2432
2432
  }), t.filter(Boolean);
2433
- }, Ni = (i) => (Array.isArray(i) || (i = [i]), i);
2434
- function Vi() {
2433
+ }, ki = (i) => (Array.isArray(i) || (i = [i]), i);
2434
+ function Si() {
2435
2435
  const i = this, t = i.canLoad, e = i.clearActiveOption, n = i.loadCallback;
2436
2436
  var s = {}, o, r = !1, l, a = [];
2437
2437
  if (i.settings.shouldLoadMore || (i.settings.shouldLoadMore = () => {
@@ -2450,36 +2450,36 @@ function Vi() {
2450
2450
  }, {
2451
2451
  field: "$score"
2452
2452
  }];
2453
- const c = (u) => typeof i.settings.maxOptions == "number" && o.children.length >= i.settings.maxOptions ? !1 : !!(u in s && s[u]), d = (u, p) => i.items.indexOf(p) >= 0 || a.indexOf(p) >= 0;
2454
- i.setNextUrl = (u, p) => {
2455
- s[u] = p;
2456
- }, i.getUrl = (u) => {
2457
- if (u in s) {
2458
- const p = s[u];
2459
- return s[u] = !1, p;
2453
+ const c = (d) => typeof i.settings.maxOptions == "number" && o.children.length >= i.settings.maxOptions ? !1 : !!(d in s && s[d]), u = (d, p) => i.items.indexOf(p) >= 0 || a.indexOf(p) >= 0;
2454
+ i.setNextUrl = (d, p) => {
2455
+ s[d] = p;
2456
+ }, i.getUrl = (d) => {
2457
+ if (d in s) {
2458
+ const p = s[d];
2459
+ return s[d] = !1, p;
2460
2460
  }
2461
- return i.clearPagination(), i.settings.firstUrl.call(i, u);
2461
+ return i.clearPagination(), i.settings.firstUrl.call(i, d);
2462
2462
  }, i.clearPagination = () => {
2463
2463
  s = {};
2464
2464
  }, i.hook("instead", "clearActiveOption", () => {
2465
2465
  if (!r)
2466
2466
  return e.call(i);
2467
- }), i.hook("instead", "canLoad", (u) => u in s ? c(u) : t.call(i, u)), i.hook("instead", "loadCallback", (u, p) => {
2467
+ }), i.hook("instead", "canLoad", (d) => d in s ? c(d) : t.call(i, d)), i.hook("instead", "loadCallback", (d, p) => {
2468
2468
  if (!r)
2469
- i.clearOptions(d);
2469
+ i.clearOptions(u);
2470
2470
  else if (l) {
2471
- const y = u[0];
2471
+ const y = d[0];
2472
2472
  y !== void 0 && (l.dataset.value = y[i.settings.valueField]);
2473
2473
  }
2474
- n.call(i, u, p), r = !1;
2474
+ n.call(i, d, p), r = !1;
2475
2475
  }), i.hook("after", "refreshOptions", () => {
2476
- const u = i.lastValue;
2476
+ const d = i.lastValue;
2477
2477
  var p;
2478
- c(u) ? (p = i.render("loading_more", {
2479
- query: u
2480
- }), p && (p.setAttribute("data-selectable", ""), l = p)) : u in s && !o.querySelector(".no-results") && (p = i.render("no_more_results", {
2481
- query: u
2482
- })), p && (Mi(p, i.settings.optionClass), o.append(p));
2478
+ c(d) ? (p = i.render("loading_more", {
2479
+ query: d
2480
+ }), p && (p.setAttribute("data-selectable", ""), l = p)) : d in s && !o.querySelector(".no-results") && (p = i.render("no_more_results", {
2481
+ query: d
2482
+ })), p && (Vi(p, i.settings.optionClass), o.append(p));
2483
2483
  }), i.on("initialize", () => {
2484
2484
  a = Object.keys(i.options), o = i.dropdown_content, i.settings.render = Object.assign({}, {
2485
2485
  loading_more: () => '<div class="loading-more-results">Loading more results ... </div>',
@@ -2489,70 +2489,85 @@ function Vi() {
2489
2489
  });
2490
2490
  });
2491
2491
  }
2492
- X.define("change_listener", ze);
2493
- X.define("checkbox_options", xe);
2494
- X.define("clear_button", je);
2495
- X.define("drag_drop", ei);
2496
- X.define("dropdown_header", ri);
2497
- X.define("caret_position", ui);
2498
- X.define("dropdown_input", yi);
2499
- X.define("input_autogrow", Zi);
2500
- X.define("no_backspace_delete", wi);
2501
- X.define("no_active_items", Li);
2502
- X.define("optgroup_columns", Bi);
2503
- X.define("remove_button", Ji);
2504
- X.define("restore_on_backspace", Oi);
2505
- X.define("virtual_scroll", Vi);
2506
- const zi = new URL("data:text/css;base64,LyoqCiAqIFRvbSBTZWxlY3QgQm9vdHN0cmFwIDUKICovCi8qKgogKiB0b20tc2VsZWN0LmNzcyAodjIuNC4zKQogKiBDb3B5cmlnaHQgKGMpIGNvbnRyaWJ1dG9ycwogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMKICogZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6CiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyCiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GCiAqIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZQogKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKi8KLnRzLWNvbnRyb2wgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvcik7CiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTsKICB3aWR0aDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAxOwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtd3JhcDogd3JhcDsKfQoudHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgewogIHBhZGRpbmc6IGNhbGMoMC4zNzVyZW0gLSAxcHggLSAwKSAwLjc1cmVtIGNhbGMoMC4zNzVyZW0gLSAxcHggLSAzcHggLSAwKTsKfQouZnVsbCAudHMtY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYm9keS1iZyk7Cn0KLmRpc2FibGVkIC50cy1jb250cm9sLCAuZGlzYWJsZWQgLnRzLWNvbnRyb2wgKiB7CiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7Cn0KLmZvY3VzIC50cy1jb250cm9sIHsKICBib3gtc2hhZG93OiBub25lOwp9Ci50cy1jb250cm9sID4gKiB7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoudHMtd3JhcHBlci5tdWx0aSAudHMtY29udHJvbCA+IGRpdiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIG1hcmdpbjogMCAzcHggM3B4IDA7CiAgcGFkZGluZzogMXB4IDVweDsKICBiYWNrZ3JvdW5kOiAjZWZlZmVmOwogIGNvbG9yOiAjMzQzYTQwOwogIGJvcmRlcjogMCBzb2xpZCAjZGVlMmU2Owp9Ci50cy13cmFwcGVyLm11bHRpIC50cy1jb250cm9sID4gZGl2LmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogIzBkNmVmZDsKICBjb2xvcjogI2ZmZjsKICBib3JkZXI6IDAgc29saWQgcmdiYSgwLCAwLCAwLCAwKTsKfQoudHMtd3JhcHBlci5tdWx0aS5kaXNhYmxlZCAudHMtY29udHJvbCA+IGRpdiwgLnRzLXdyYXBwZXIubXVsdGkuZGlzYWJsZWQgLnRzLWNvbnRyb2wgPiBkaXYuYWN0aXZlIHsKICBjb2xvcjogcmdiKDEzNC41LCAxMzQuNSwgMTM0LjUpOwogIGJhY2tncm91bmQ6IHdoaXRlOwogIGJvcmRlcjogMCBzb2xpZCB3aGl0ZTsKfQoudHMtY29udHJvbCA+IGlucHV0IHsKICBmbGV4OiAxIDEgYXV0bzsKICBtaW4td2lkdGg6IDdyZW07CiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDsKICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7CiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgdGV4dC1pbmRlbnQ6IDAgIWltcG9ydGFudDsKICBib3JkZXI6IDAgbm9uZSAhaW1wb3J0YW50OwogIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsKICBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50OwogIC13ZWJraXQtdXNlci1zZWxlY3Q6IGF1dG8gIWltcG9ydGFudDsKICAgICAtbW96LXVzZXItc2VsZWN0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgIC1tcy11c2VyLXNlbGVjdDogYXV0byAhaW1wb3J0YW50OwogICAgICAgICAgdXNlci1zZWxlY3Q6IGF1dG8gIWltcG9ydGFudDsKICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7Cn0KLnRzLWNvbnRyb2wgPiBpbnB1dDo6LW1zLWNsZWFyIHsKICBkaXNwbGF5OiBub25lOwp9Ci50cy1jb250cm9sID4gaW5wdXQ6Zm9jdXMgewogIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsKfQouaGFzLWl0ZW1zIC50cy1jb250cm9sID4gaW5wdXQgewogIG1hcmdpbjogMCA0cHggIWltcG9ydGFudDsKfQoudHMtY29udHJvbC5ydGwgewogIHRleHQtYWxpZ246IHJpZ2h0Owp9Ci50cy1jb250cm9sLnJ0bC5zaW5nbGUgLnRzLWNvbnRyb2w6YWZ0ZXIgewogIGxlZnQ6IGNhbGMoMC43NXJlbSArIDVweCk7CiAgcmlnaHQ6IGF1dG87Cn0KLnRzLWNvbnRyb2wucnRsIC50cy1jb250cm9sID4gaW5wdXQgewogIG1hcmdpbjogMCA0cHggMCAtMnB4ICFpbXBvcnRhbnQ7Cn0KLmRpc2FibGVkIC50cy1jb250cm9sIHsKICBvcGFjaXR5OiAwLjU7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTsKfQouaW5wdXQtaGlkZGVuIC50cy1jb250cm9sID4gaW5wdXQgewogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IC0xMDAwMHB4Owp9CgoudHMtZHJvcGRvd24gewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDEwMCU7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICB6LWluZGV4OiAxMDsKICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwOwogIGJhY2tncm91bmQ6IHZhcigtLWJzLWJvZHktYmcpOwogIG1hcmdpbjogMC4yNXJlbSAwIDA7CiAgYm9yZGVyLXRvcDogMCBub25lOwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7Cn0KLnRzLWRyb3Bkb3duIFtkYXRhLXNlbGVjdGFibGVdIHsKICBjdXJzb3I6IHBvaW50ZXI7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoudHMtZHJvcGRvd24gW2RhdGEtc2VsZWN0YWJsZV0gLmhpZ2hsaWdodCB7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDIzNywgNDAsIDAuNCk7CiAgYm9yZGVyLXJhZGl1czogMXB4Owp9Ci50cy1kcm9wZG93biAub3B0aW9uLAoudHMtZHJvcGRvd24gLm9wdGdyb3VwLWhlYWRlciwKLnRzLWRyb3Bkb3duIC5uby1yZXN1bHRzLAoudHMtZHJvcGRvd24gLmNyZWF0ZSB7CiAgcGFkZGluZzogM3B4IDAuNzVyZW07Cn0KLnRzLWRyb3Bkb3duIC5vcHRpb24sIC50cy1kcm9wZG93biBbZGF0YS1kaXNhYmxlZF0sIC50cy1kcm9wZG93biBbZGF0YS1kaXNhYmxlZF0gW2RhdGEtc2VsZWN0YWJsZV0ub3B0aW9uIHsKICBjdXJzb3I6IGluaGVyaXQ7CiAgb3BhY2l0eTogMC41Owp9Ci50cy1kcm9wZG93biBbZGF0YS1zZWxlY3RhYmxlXS5vcHRpb24gewogIG9wYWNpdHk6IDE7CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci50cy1kcm9wZG93biAub3B0Z3JvdXA6Zmlyc3QtY2hpbGQgLm9wdGdyb3VwLWhlYWRlciB7CiAgYm9yZGVyLXRvcDogMCBub25lOwp9Ci50cy1kcm9wZG93biAub3B0Z3JvdXAtaGVhZGVyIHsKICBjb2xvcjogIzZjNzU3ZDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1icy1ib2R5LWJnKTsKICBjdXJzb3I6IGRlZmF1bHQ7Cn0KLnRzLWRyb3Bkb3duIC5hY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXRlcnRpYXJ5LWJnKTsKICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7Cn0KLnRzLWRyb3Bkb3duIC5hY3RpdmUuY3JlYXRlIHsKICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7Cn0KLnRzLWRyb3Bkb3duIC5jcmVhdGUgewogIGNvbG9yOiByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7Cn0KLnRzLWRyb3Bkb3duIC5zcGlubmVyIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IDMwcHg7CiAgaGVpZ2h0OiAzMHB4OwogIG1hcmdpbjogM3B4IDAuNzVyZW07Cn0KLnRzLWRyb3Bkb3duIC5zcGlubmVyOjphZnRlciB7CiAgY29udGVudDogIiAiOwogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAyNHB4OwogIGhlaWdodDogMjRweDsKICBtYXJnaW46IDNweDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm9yZGVyOiA1cHggc29saWQgI2QwZDBkMDsKICBib3JkZXItY29sb3I6ICNkMGQwZDAgdHJhbnNwYXJlbnQgI2QwZDBkMCB0cmFuc3BhcmVudDsKICBhbmltYXRpb246IGxkcy1kdWFsLXJpbmcgMS4ycyBsaW5lYXIgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyBsZHMtZHVhbC1yaW5nIHsKICAwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICB9CiAgMTAwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogIH0KfQoKLnRzLWRyb3Bkb3duLWNvbnRlbnQgewogIG92ZXJmbG93OiBoaWRkZW4gYXV0bzsKICBtYXgtaGVpZ2h0OiAyMDBweDsKICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsKfQoKLnRzLXdyYXBwZXIucGx1Z2luLWRyYWdfZHJvcCAudHMtZHJhZ2dpbmcgewogIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1kcmFnX2Ryb3AgLnRzLWRyYWdnaW5nID4gKiB7CiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7Cn0KCi5wbHVnaW4tY2hlY2tib3hfb3B0aW9uczpub3QoLnJ0bCkgLm9wdGlvbiBpbnB1dCB7CiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07Cn0KCi5wbHVnaW4tY2hlY2tib3hfb3B0aW9ucy5ydGwgLm9wdGlvbiBpbnB1dCB7CiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsKfQoKLyogc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tbmFtZS1jYXNlICovCi5wbHVnaW4tY2xlYXJfYnV0dG9uIHsKICAtLXRzLXByLWNsZWFyLWJ1dHRvbjogMWVtOwp9Ci5wbHVnaW4tY2xlYXJfYnV0dG9uIC5jbGVhci1idXR0b24gewogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICByaWdodDogY2FsYygwLjc1cmVtIC0gNXB4KTsKICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogIHRyYW5zaXRpb246IG9wYWNpdHkgMC41czsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KLnBsdWdpbi1jbGVhcl9idXR0b24uZm9ybS1zZWxlY3QgLmNsZWFyLWJ1dHRvbiwgLnBsdWdpbi1jbGVhcl9idXR0b24uc2luZ2xlIC5jbGVhci1idXR0b24gewogIHJpZ2h0OiBtYXgodmFyKC0tdHMtcHItY2FyZXQpLCAwLjc1cmVtKTsKfQoucGx1Z2luLWNsZWFyX2J1dHRvbi5mb2N1cy5oYXMtaXRlbXMgLmNsZWFyLWJ1dHRvbiwgLnBsdWdpbi1jbGVhcl9idXR0b246bm90KC5kaXNhYmxlZCk6aG92ZXIuaGFzLWl0ZW1zIC5jbGVhci1idXR0b24gewogIG9wYWNpdHk6IDE7Cn0KCi50cy13cmFwcGVyIC5kcm9wZG93bi1oZWFkZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nOiA2cHggMC43NXJlbTsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QwZDBkMDsKICBiYWNrZ3JvdW5kOiBjb2xvci1taXgodmFyKC0tYnMtYm9keS1iZyksICNkMGQwZDAsIDg1JSk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgMCAwOwp9Ci50cy13cmFwcGVyIC5kcm9wZG93bi1oZWFkZXItY2xvc2UgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMC43NXJlbTsKICB0b3A6IDUwJTsKICBjb2xvcjogIzM0M2E0MDsKICBvcGFjaXR5OiAwLjQ7CiAgbWFyZ2luLXRvcDogLTEycHg7CiAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7Cn0KLnRzLXdyYXBwZXIgLmRyb3Bkb3duLWhlYWRlci1jbG9zZTpob3ZlciB7CiAgY29sb3I6IGJsYWNrOwp9CgoucGx1Z2luLWRyb3Bkb3duX2lucHV0LmZvY3VzLmRyb3Bkb3duLWFjdGl2ZSAudHMtY29udHJvbCB7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1icy1ib3JkZXItY29sb3IpOwogIGJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3ctaW5zZXQpOwp9Ci5wbHVnaW4tZHJvcGRvd25faW5wdXQgLmRyb3Bkb3duLWlucHV0IHsKICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwOwogIGJvcmRlci13aWR0aDogMCAwIDFweDsKICBkaXNwbGF5OiBibG9jazsKICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgd2lkdGg6IDEwMCU7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Cn0KLnBsdWdpbi1kcm9wZG93bl9pbnB1dC5mb2N1cyAudHMtZHJvcGRvd24gLmRyb3Bkb3duLWlucHV0IHsKICBib3JkZXItY29sb3I6IHJnYigxMzQsIDE4Mi41LCAyNTQpOwogIG91dGxpbmU6IDA7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDEzLCAxMTAsIDI1MywgMC4yNSk7Cn0KLnBsdWdpbi1kcm9wZG93bl9pbnB1dCAuaXRlbXMtcGxhY2Vob2xkZXIgewogIGJvcmRlcjogMCBub25lICFpbXBvcnRhbnQ7CiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogIHdpZHRoOiAxMDAlOwp9Ci5wbHVnaW4tZHJvcGRvd25faW5wdXQuaGFzLWl0ZW1zIC5pdGVtcy1wbGFjZWhvbGRlciwgLnBsdWdpbi1kcm9wZG93bl9pbnB1dC5kcm9wZG93bi1hY3RpdmUgLml0ZW1zLXBsYWNlaG9sZGVyIHsKICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7Cn0KCi50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgPiBpbnB1dCB7CiAgbWluLXdpZHRoOiAwOwp9Ci50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMuZm9jdXMgLnRzLWNvbnRyb2wgPiBpbnB1dCB7CiAgZmxleDogbm9uZTsKICBtaW4td2lkdGg6IDRweDsKfQoudHMtd3JhcHBlci5wbHVnaW4taW5wdXRfYXV0b2dyb3cuaGFzLWl0ZW1zLmZvY3VzIC50cy1jb250cm9sID4gaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHRyYW5zcGFyZW50Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMuZm9jdXMgLnRzLWNvbnRyb2wgPiBpbnB1dDo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB0cmFuc3BhcmVudDsKfQoKLnRzLWRyb3Bkb3duLnBsdWdpbi1vcHRncm91cF9jb2x1bW5zIC50cy1kcm9wZG93bi1jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50cy1kcm9wZG93bi5wbHVnaW4tb3B0Z3JvdXBfY29sdW1ucyAub3B0Z3JvdXAgewogIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmMmYyZjI7CiAgYm9yZGVyLXRvcDogMCBub25lOwogIGZsZXgtZ3JvdzogMTsKICBmbGV4LWJhc2lzOiAwOwogIG1pbi13aWR0aDogMDsKfQoudHMtZHJvcGRvd24ucGx1Z2luLW9wdGdyb3VwX2NvbHVtbnMgLm9wdGdyb3VwOmxhc3QtY2hpbGQgewogIGJvcmRlci1yaWdodDogMCBub25lOwp9Ci50cy1kcm9wZG93bi5wbHVnaW4tb3B0Z3JvdXBfY29sdW1ucyAub3B0Z3JvdXA6OmJlZm9yZSB7CiAgZGlzcGxheTogbm9uZTsKfQoudHMtZHJvcGRvd24ucGx1Z2luLW9wdGdyb3VwX2NvbHVtbnMgLm9wdGdyb3VwLWhlYWRlciB7CiAgYm9yZGVyLXRvcDogMCBub25lOwp9CgoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSAucmVtb3ZlIHsKICBjb2xvcjogaW5oZXJpdDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcGFkZGluZzogMCA1cHg7CiAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSAucmVtb3ZlOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpOwp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLmRpc2FibGVkIC5pdGVtIC5yZW1vdmU6aG92ZXIgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b24gLnJlbW92ZS1zaW5nbGUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0b3A6IDA7CiAgZm9udC1zaXplOiAyM3B4Owp9CgoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbjpub3QoLnJ0bCkgLml0ZW0gewogIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbjpub3QoLnJ0bCkgLml0ZW0gLnJlbW92ZSB7CiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGVlMmU2OwogIG1hcmdpbi1sZWZ0OiA1cHg7Cn0KLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b246bm90KC5ydGwpIC5pdGVtLmFjdGl2ZSAucmVtb3ZlIHsKICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbjpub3QoLnJ0bCkuZGlzYWJsZWQgLml0ZW0gLnJlbW92ZSB7CiAgYm9yZGVyLWxlZnQtY29sb3I6IHdoaXRlOwp9CgoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbi5ydGwgLml0ZW0gewogIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bCAuaXRlbSAucmVtb3ZlIHsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGVlMmU2OwogIG1hcmdpbi1yaWdodDogNXB4Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bCAuaXRlbS5hY3RpdmUgLnJlbW92ZSB7CiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOwp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bC5kaXNhYmxlZCAuaXRlbSAucmVtb3ZlIHsKICBib3JkZXItcmlnaHQtY29sb3I6IHdoaXRlOwp9Cgo6cm9vdCB7CiAgLS10cy1wci1jbGVhci1idXR0b246IDBweDsKICAtLXRzLXByLWNhcmV0OiAwcHg7CiAgLS10cy1wci1taW46IC43NXJlbTsKfQoKLnRzLXdyYXBwZXIuc2luZ2xlIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5zaW5nbGUgLnRzLWNvbnRyb2wgaW5wdXQgewogIGN1cnNvcjogcG9pbnRlcjsKfQoKLnRzLWNvbnRyb2w6bm90KC5ydGwpIHsKICBwYWRkaW5nLXJpZ2h0OiBtYXgodmFyKC0tdHMtcHItbWluKSwgdmFyKC0tdHMtcHItY2xlYXItYnV0dG9uKSArIHZhcigtLXRzLXByLWNhcmV0KSkgIWltcG9ydGFudDsKfQoKLnRzLWNvbnRyb2wucnRsIHsKICBwYWRkaW5nLWxlZnQ6IG1heCh2YXIoLS10cy1wci1taW4pLCB2YXIoLS10cy1wci1jbGVhci1idXR0b24pICsgdmFyKC0tdHMtcHItY2FyZXQpKSAhaW1wb3J0YW50Owp9CgoudHMtd3JhcHBlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgoudHMtZHJvcGRvd24sCi50cy1jb250cm9sLAoudHMtY29udHJvbCBpbnB1dCB7CiAgY29sb3I6ICMzNDNhNDA7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgZm9udC1zaXplOiBpbmhlcml0OwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCi50cy1jb250cm9sLAoudHMtd3JhcHBlci5zaW5nbGUuaW5wdXQtYWN0aXZlIC50cy1jb250cm9sIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1icy1ib2R5LWJnKTsKICBjdXJzb3I6IHRleHQ7Cn0KCi50cy1oaWRkZW4tYWNjZXNzaWJsZSB7CiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7CiAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50OwogIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpICFpbXBvcnRhbnQ7CiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDsKICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OwogIHdpZHRoOiAxcHggIWltcG9ydGFudDsKICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7Cn0KCi50cy1kcm9wZG93biwKLnRzLWRyb3Bkb3duLmZvcm0tY29udHJvbCwKLnRzLWRyb3Bkb3duLmZvcm0tc2VsZWN0IHsKICBoZWlnaHQ6IGF1dG87CiAgcGFkZGluZzogMDsKICB6LWluZGV4OiAxMDAwOwogIGJhY2tncm91bmQ6IHZhcigtLWJzLWJvZHktYmcpOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7CiAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07CiAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTsKfQoKLnRzLWRyb3Bkb3duIC5vcHRncm91cC1oZWFkZXIgewogIGZvbnQtc2l6ZTogMC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKfQoudHMtZHJvcGRvd24gLm9wdGdyb3VwOmZpcnN0LWNoaWxkOjpiZWZvcmUgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRzLWRyb3Bkb3duIC5vcHRncm91cDo6YmVmb3JlIHsKICBjb250ZW50OiAiICI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAwOwogIG1hcmdpbjogMC41cmVtIDA7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KTsKICBtYXJnaW4tbGVmdDogLTAuNzVyZW07CiAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTsKfQoudHMtZHJvcGRvd24gLmNyZWF0ZSB7CiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtOwp9CgoudHMtZHJvcGRvd24tY29udGVudCB7CiAgcGFkZGluZzogNXB4IDA7Cn0KCi50cy1jb250cm9sIHsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgLnRzLWNvbnRyb2wgewogICAgdHJhbnNpdGlvbjogbm9uZTsKICB9Cn0KLmZvY3VzIC50cy1jb250cm9sIHsKICBib3JkZXItY29sb3I6IHJnYigxMzQsIDE4Mi41LCAyNTQpOwogIG91dGxpbmU6IDA7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDEzLCAxMTAsIDI1MywgMC4yNSk7Cn0KLnRzLWNvbnRyb2wgLml0ZW0gewogIGRpc3BsYXk6IGZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoKLnRzLXdyYXBwZXIuaXMtaW52YWxpZCwKLndhcy12YWxpZGF0ZWQgLmludmFsaWQsCi53YXMtdmFsaWRhdGVkIDppbnZhbGlkICsgLnRzLXdyYXBwZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKTsKfQoudHMtd3JhcHBlci5pcy1pbnZhbGlkOm5vdCguc2luZ2xlKSwKLndhcy12YWxpZGF0ZWQgLmludmFsaWQ6bm90KC5zaW5nbGUpLAoud2FzLXZhbGlkYXRlZCA6aW52YWxpZCArIC50cy13cmFwcGVyOm5vdCguc2luZ2xlKSB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZGMzNTQ1JyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvJTNlJTNjcGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyUyM2RjMzU0NScgc3Ryb2tlPSdub25lJy8lM2UlM2Mvc3ZnJTNlIik7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Owp9Ci50cy13cmFwcGVyLmlzLWludmFsaWQuc2luZ2xlLAoud2FzLXZhbGlkYXRlZCAuaW52YWxpZC5zaW5nbGUsCi53YXMtdmFsaWRhdGVkIDppbnZhbGlkICsgLnRzLXdyYXBwZXIuc2luZ2xlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzM0M2E0MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvJTNlJTNjL3N2ZyUzZSIpLCB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNkYzM1NDUnJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8lM2UlM2NwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nJTIzZGMzNTQ1JyBzdHJva2U9J25vbmUnLyUzZSUzYy9zdmclM2UiKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjc1cmVtIGNlbnRlciwgY2VudGVyIHJpZ2h0IDIuMjVyZW07CiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHgsIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KLnRzLXdyYXBwZXIuaXMtaW52YWxpZC5mb2N1cyAudHMtY29udHJvbCwKLndhcy12YWxpZGF0ZWQgLmludmFsaWQuZm9jdXMgLnRzLWNvbnRyb2wsCi53YXMtdmFsaWRhdGVkIDppbnZhbGlkICsgLnRzLXdyYXBwZXIuZm9jdXMgLnRzLWNvbnRyb2wgewogIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKTsKICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKSwgMC4yNSk7Cn0KCi50cy13cmFwcGVyLmlzLXZhbGlkLAoud2FzLXZhbGlkYXRlZCAudmFsaWQsCi53YXMtdmFsaWRhdGVkIDp2YWxpZCArIC50cy13cmFwcGVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0tdmFsaWQtY29sb3IpOwp9Ci50cy13cmFwcGVyLmlzLXZhbGlkOm5vdCguc2luZ2xlKSwKLndhcy12YWxpZGF0ZWQgLnZhbGlkOm5vdCguc2luZ2xlKSwKLndhcy12YWxpZGF0ZWQgOnZhbGlkICsgLnRzLXdyYXBwZXI6bm90KC5zaW5nbGUpIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nJTIzMTk4NzU0JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2UiKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIGNlbnRlcjsKICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KLnRzLXdyYXBwZXIuaXMtdmFsaWQuc2luZ2xlLAoud2FzLXZhbGlkYXRlZCAudmFsaWQuc2luZ2xlLAoud2FzLXZhbGlkYXRlZCA6dmFsaWQgKyAudHMtd3JhcHBlci5zaW5nbGUgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMzQzYTQwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nbTIgNSA2IDYgNi02Jy8lM2UlM2Mvc3ZnJTNlIiksIHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjMxOTg3NTQnIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNlJTNjL3N2ZyUzZSIpOwogIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyLCBjZW50ZXIgcmlnaHQgMi4yNXJlbTsKICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTJweCwgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSkgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSk7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKfQoudHMtd3JhcHBlci5pcy12YWxpZC5mb2N1cyAudHMtY29udHJvbCwKLndhcy12YWxpZGF0ZWQgLnZhbGlkLmZvY3VzIC50cy1jb250cm9sLAoud2FzLXZhbGlkYXRlZCA6dmFsaWQgKyAudHMtd3JhcHBlci5mb2N1cyAudHMtY29udHJvbCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1mb3JtLXZhbGlkLWNvbG9yKTsKICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtZm9ybS12YWxpZC1jb2xvciksIDAuMjUpOwp9CgoudHMtd3JhcHBlciB7CiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7CiAgZGlzcGxheTogZmxleDsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlciwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Qtc20sIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC1zbSB7CiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlciAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Qtc20gLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC1zbSAudHMtY29udHJvbCB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSk7CiAgZm9udC1zaXplOiAwLjg3NXJlbTsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlci5oYXMtaXRlbXMgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0LXNtLmhhcy1pdGVtcyAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1jb250cm9sLXNtLmhhcy1pdGVtcyAudHMtY29udHJvbCB7CiAgZm9udC1zaXplOiAwLjg3NXJlbTsKICBwYWRkaW5nLWJvdHRvbTogMDsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0LXNtLm11bHRpLmhhcy1pdGVtcyAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1jb250cm9sLXNtLm11bHRpLmhhcy1pdGVtcyAudHMtY29udHJvbCB7CiAgcGFkZGluZy10b3A6IGNhbGMoKGNhbGMoMS41ZW0gKyAwLjVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSkgLSAxLjUgKiAwLjg3NXJlbSAtIGNhbGMoKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKyAxcHgpICogMikpIC8gMikgIWltcG9ydGFudDsKfQoudHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgewogIHBhZGRpbmctbGVmdDogY2FsYygwLjc1cmVtIC0gNXB4KTsKICAtLXRzLXByLW1pbjogY2FsYygwLjc1cmVtIC0gNXB4KTsKfQoudHMtd3JhcHBlci5tdWx0aSAudHMtY29udHJvbCA+IGRpdiB7CiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAtIDFweCk7Cn0KLmlucHV0LWdyb3VwLWxnID4gLnRzLXdyYXBwZXIsIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC1sZywgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3QtbGcgewogIG1pbi1oZWlnaHQ6IGNhbGMoMS41ZW0gKyAxcmVtICsgY2FsYyh2YXIoLS1icy1ib3JkZXItd2lkdGgpICogMikpOwp9Ci5pbnB1dC1ncm91cC1sZyA+IC50cy13cmFwcGVyIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5mb3JtLWNvbnRyb2wtbGcgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0LWxnIC50cy1jb250cm9sIHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKTsKICBmb250LXNpemU6IDEuMjVyZW07Cn0KLnRzLXdyYXBwZXI6bm90KC5mb3JtLWNvbnRyb2wsIC5mb3JtLXNlbGVjdCkgewogIHBhZGRpbmc6IDA7CiAgYm9yZGVyOiBub25lOwogIGhlaWdodDogYXV0bzsKICBib3gtc2hhZG93OiBub25lOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0KLnRzLXdyYXBwZXI6bm90KC5mb3JtLWNvbnRyb2wsIC5mb3JtLXNlbGVjdCkuc2luZ2xlIC50cy1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzM0M2E0MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvJTNlJTNjL3N2ZyUzZSIpOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC43NXJlbSBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHg7Cn0KLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3QsIC50cy13cmFwcGVyLnNpbmdsZSB7CiAgLS10cy1wci1jYXJldDogMi4yNXJlbTsKfQoudHMtd3JhcHBlci5mb3JtLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0IHsKICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgaGVpZ2h0OiBhdXRvOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgZGlzcGxheTogZmxleDsKfQoudHMtd3JhcHBlci5mb3JtLWNvbnRyb2wgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC5zaW5nbGUuaW5wdXQtYWN0aXZlIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5mb3JtLXNlbGVjdCAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Quc2luZ2xlLmlucHV0LWFjdGl2ZSAudHMtY29udHJvbCB7CiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7Cn0KLnRzLXdyYXBwZXIuZm9ybS1jb250cm9sOm5vdCguZGlzYWJsZWQpIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5mb3JtLWNvbnRyb2w6bm90KC5kaXNhYmxlZCkuc2luZ2xlLmlucHV0LWFjdGl2ZSAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Q6bm90KC5kaXNhYmxlZCkgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0Om5vdCguZGlzYWJsZWQpLnNpbmdsZS5pbnB1dC1hY3RpdmUgLnRzLWNvbnRyb2wgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Cn0KCi5pbnB1dC1ncm91cCA+IC50cy13cmFwcGVyIHsKICBmbGV4LWdyb3c6IDE7CiAgd2lkdGg6IDElOwp9Ci5pbnB1dC1ncm91cCA+IC50cy13cmFwcGVyOm5vdCg6bnRoLWNoaWxkKDIpKSA+IC50cy1jb250cm9sIHsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7Cn0KLmlucHV0LWdyb3VwID4gLnRzLXdyYXBwZXI6bm90KDpsYXN0LWNoaWxkKSA+IC50cy1jb250cm9sIHsKICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKfQovKiMgc291cmNlTWFwcGluZ1VSTD10b20tc2VsZWN0LmJvb3RzdHJhcDUuY3NzLm1hcCAqLw==", import.meta.url);
2507
- var H, D, _, j, rt, jt;
2508
- const vt = class vt extends HTMLElement {
2492
+ Y.define("change_listener", Fe);
2493
+ Y.define("checkbox_options", je);
2494
+ Y.define("clear_button", Ee);
2495
+ Y.define("drag_drop", si);
2496
+ Y.define("dropdown_header", ci);
2497
+ Y.define("caret_position", hi);
2498
+ Y.define("dropdown_input", Li);
2499
+ Y.define("input_autogrow", Wi);
2500
+ Y.define("no_backspace_delete", Gi);
2501
+ Y.define("no_active_items", Ai);
2502
+ Y.define("optgroup_columns", Ji);
2503
+ Y.define("remove_button", Mi);
2504
+ Y.define("restore_on_backspace", Ri);
2505
+ Y.define("virtual_scroll", Si);
2506
+ const Fi = new URL("data:text/css;base64,LyoqCiAqIFRvbSBTZWxlY3QgQm9vdHN0cmFwIDUKICovCi8qKgogKiB0b20tc2VsZWN0LmNzcyAodjIuNC4zKQogKiBDb3B5cmlnaHQgKGMpIGNvbnRyaWJ1dG9ycwogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMKICogZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6CiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyCiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GCiAqIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZQogKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKi8KLnRzLWNvbnRyb2wgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvcik7CiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTsKICB3aWR0aDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAxOwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtd3JhcDogd3JhcDsKfQoudHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgewogIHBhZGRpbmc6IGNhbGMoMC4zNzVyZW0gLSAxcHggLSAwKSAwLjc1cmVtIGNhbGMoMC4zNzVyZW0gLSAxcHggLSAzcHggLSAwKTsKfQouZnVsbCAudHMtY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYm9keS1iZyk7Cn0KLmRpc2FibGVkIC50cy1jb250cm9sLCAuZGlzYWJsZWQgLnRzLWNvbnRyb2wgKiB7CiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7Cn0KLmZvY3VzIC50cy1jb250cm9sIHsKICBib3gtc2hhZG93OiBub25lOwp9Ci50cy1jb250cm9sID4gKiB7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoudHMtd3JhcHBlci5tdWx0aSAudHMtY29udHJvbCA+IGRpdiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIG1hcmdpbjogMCAzcHggM3B4IDA7CiAgcGFkZGluZzogMXB4IDVweDsKICBiYWNrZ3JvdW5kOiAjZWZlZmVmOwogIGNvbG9yOiAjMzQzYTQwOwogIGJvcmRlcjogMCBzb2xpZCAjZGVlMmU2Owp9Ci50cy13cmFwcGVyLm11bHRpIC50cy1jb250cm9sID4gZGl2LmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogIzBkNmVmZDsKICBjb2xvcjogI2ZmZjsKICBib3JkZXI6IDAgc29saWQgcmdiYSgwLCAwLCAwLCAwKTsKfQoudHMtd3JhcHBlci5tdWx0aS5kaXNhYmxlZCAudHMtY29udHJvbCA+IGRpdiwgLnRzLXdyYXBwZXIubXVsdGkuZGlzYWJsZWQgLnRzLWNvbnRyb2wgPiBkaXYuYWN0aXZlIHsKICBjb2xvcjogcmdiKDEzNC41LCAxMzQuNSwgMTM0LjUpOwogIGJhY2tncm91bmQ6IHdoaXRlOwogIGJvcmRlcjogMCBzb2xpZCB3aGl0ZTsKfQoudHMtY29udHJvbCA+IGlucHV0IHsKICBmbGV4OiAxIDEgYXV0bzsKICBtaW4td2lkdGg6IDdyZW07CiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDsKICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7CiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgdGV4dC1pbmRlbnQ6IDAgIWltcG9ydGFudDsKICBib3JkZXI6IDAgbm9uZSAhaW1wb3J0YW50OwogIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsKICBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50OwogIC13ZWJraXQtdXNlci1zZWxlY3Q6IGF1dG8gIWltcG9ydGFudDsKICAgICAtbW96LXVzZXItc2VsZWN0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgIC1tcy11c2VyLXNlbGVjdDogYXV0byAhaW1wb3J0YW50OwogICAgICAgICAgdXNlci1zZWxlY3Q6IGF1dG8gIWltcG9ydGFudDsKICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7Cn0KLnRzLWNvbnRyb2wgPiBpbnB1dDo6LW1zLWNsZWFyIHsKICBkaXNwbGF5OiBub25lOwp9Ci50cy1jb250cm9sID4gaW5wdXQ6Zm9jdXMgewogIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsKfQouaGFzLWl0ZW1zIC50cy1jb250cm9sID4gaW5wdXQgewogIG1hcmdpbjogMCA0cHggIWltcG9ydGFudDsKfQoudHMtY29udHJvbC5ydGwgewogIHRleHQtYWxpZ246IHJpZ2h0Owp9Ci50cy1jb250cm9sLnJ0bC5zaW5nbGUgLnRzLWNvbnRyb2w6YWZ0ZXIgewogIGxlZnQ6IGNhbGMoMC43NXJlbSArIDVweCk7CiAgcmlnaHQ6IGF1dG87Cn0KLnRzLWNvbnRyb2wucnRsIC50cy1jb250cm9sID4gaW5wdXQgewogIG1hcmdpbjogMCA0cHggMCAtMnB4ICFpbXBvcnRhbnQ7Cn0KLmRpc2FibGVkIC50cy1jb250cm9sIHsKICBvcGFjaXR5OiAwLjU7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTsKfQouaW5wdXQtaGlkZGVuIC50cy1jb250cm9sID4gaW5wdXQgewogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IC0xMDAwMHB4Owp9CgoudHMtZHJvcGRvd24gewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDEwMCU7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICB6LWluZGV4OiAxMDsKICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwOwogIGJhY2tncm91bmQ6IHZhcigtLWJzLWJvZHktYmcpOwogIG1hcmdpbjogMC4yNXJlbSAwIDA7CiAgYm9yZGVyLXRvcDogMCBub25lOwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7Cn0KLnRzLWRyb3Bkb3duIFtkYXRhLXNlbGVjdGFibGVdIHsKICBjdXJzb3I6IHBvaW50ZXI7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoudHMtZHJvcGRvd24gW2RhdGEtc2VsZWN0YWJsZV0gLmhpZ2hsaWdodCB7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDIzNywgNDAsIDAuNCk7CiAgYm9yZGVyLXJhZGl1czogMXB4Owp9Ci50cy1kcm9wZG93biAub3B0aW9uLAoudHMtZHJvcGRvd24gLm9wdGdyb3VwLWhlYWRlciwKLnRzLWRyb3Bkb3duIC5uby1yZXN1bHRzLAoudHMtZHJvcGRvd24gLmNyZWF0ZSB7CiAgcGFkZGluZzogM3B4IDAuNzVyZW07Cn0KLnRzLWRyb3Bkb3duIC5vcHRpb24sIC50cy1kcm9wZG93biBbZGF0YS1kaXNhYmxlZF0sIC50cy1kcm9wZG93biBbZGF0YS1kaXNhYmxlZF0gW2RhdGEtc2VsZWN0YWJsZV0ub3B0aW9uIHsKICBjdXJzb3I6IGluaGVyaXQ7CiAgb3BhY2l0eTogMC41Owp9Ci50cy1kcm9wZG93biBbZGF0YS1zZWxlY3RhYmxlXS5vcHRpb24gewogIG9wYWNpdHk6IDE7CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci50cy1kcm9wZG93biAub3B0Z3JvdXA6Zmlyc3QtY2hpbGQgLm9wdGdyb3VwLWhlYWRlciB7CiAgYm9yZGVyLXRvcDogMCBub25lOwp9Ci50cy1kcm9wZG93biAub3B0Z3JvdXAtaGVhZGVyIHsKICBjb2xvcjogIzZjNzU3ZDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1icy1ib2R5LWJnKTsKICBjdXJzb3I6IGRlZmF1bHQ7Cn0KLnRzLWRyb3Bkb3duIC5hY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXRlcnRpYXJ5LWJnKTsKICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7Cn0KLnRzLWRyb3Bkb3duIC5hY3RpdmUuY3JlYXRlIHsKICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7Cn0KLnRzLWRyb3Bkb3duIC5jcmVhdGUgewogIGNvbG9yOiByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7Cn0KLnRzLWRyb3Bkb3duIC5zcGlubmVyIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IDMwcHg7CiAgaGVpZ2h0OiAzMHB4OwogIG1hcmdpbjogM3B4IDAuNzVyZW07Cn0KLnRzLWRyb3Bkb3duIC5zcGlubmVyOjphZnRlciB7CiAgY29udGVudDogIiAiOwogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAyNHB4OwogIGhlaWdodDogMjRweDsKICBtYXJnaW46IDNweDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm9yZGVyOiA1cHggc29saWQgI2QwZDBkMDsKICBib3JkZXItY29sb3I6ICNkMGQwZDAgdHJhbnNwYXJlbnQgI2QwZDBkMCB0cmFuc3BhcmVudDsKICBhbmltYXRpb246IGxkcy1kdWFsLXJpbmcgMS4ycyBsaW5lYXIgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyBsZHMtZHVhbC1yaW5nIHsKICAwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICB9CiAgMTAwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogIH0KfQoKLnRzLWRyb3Bkb3duLWNvbnRlbnQgewogIG92ZXJmbG93OiBoaWRkZW4gYXV0bzsKICBtYXgtaGVpZ2h0OiAyMDBweDsKICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsKfQoKLnRzLXdyYXBwZXIucGx1Z2luLWRyYWdfZHJvcCAudHMtZHJhZ2dpbmcgewogIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1kcmFnX2Ryb3AgLnRzLWRyYWdnaW5nID4gKiB7CiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7Cn0KCi5wbHVnaW4tY2hlY2tib3hfb3B0aW9uczpub3QoLnJ0bCkgLm9wdGlvbiBpbnB1dCB7CiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07Cn0KCi5wbHVnaW4tY2hlY2tib3hfb3B0aW9ucy5ydGwgLm9wdGlvbiBpbnB1dCB7CiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsKfQoKLyogc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tbmFtZS1jYXNlICovCi5wbHVnaW4tY2xlYXJfYnV0dG9uIHsKICAtLXRzLXByLWNsZWFyLWJ1dHRvbjogMWVtOwp9Ci5wbHVnaW4tY2xlYXJfYnV0dG9uIC5jbGVhci1idXR0b24gewogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICByaWdodDogY2FsYygwLjc1cmVtIC0gNXB4KTsKICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogIHRyYW5zaXRpb246IG9wYWNpdHkgMC41czsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KLnBsdWdpbi1jbGVhcl9idXR0b24uZm9ybS1zZWxlY3QgLmNsZWFyLWJ1dHRvbiwgLnBsdWdpbi1jbGVhcl9idXR0b24uc2luZ2xlIC5jbGVhci1idXR0b24gewogIHJpZ2h0OiBtYXgodmFyKC0tdHMtcHItY2FyZXQpLCAwLjc1cmVtKTsKfQoucGx1Z2luLWNsZWFyX2J1dHRvbi5mb2N1cy5oYXMtaXRlbXMgLmNsZWFyLWJ1dHRvbiwgLnBsdWdpbi1jbGVhcl9idXR0b246bm90KC5kaXNhYmxlZCk6aG92ZXIuaGFzLWl0ZW1zIC5jbGVhci1idXR0b24gewogIG9wYWNpdHk6IDE7Cn0KCi50cy13cmFwcGVyIC5kcm9wZG93bi1oZWFkZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nOiA2cHggMC43NXJlbTsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QwZDBkMDsKICBiYWNrZ3JvdW5kOiBjb2xvci1taXgodmFyKC0tYnMtYm9keS1iZyksICNkMGQwZDAsIDg1JSk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgMCAwOwp9Ci50cy13cmFwcGVyIC5kcm9wZG93bi1oZWFkZXItY2xvc2UgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMC43NXJlbTsKICB0b3A6IDUwJTsKICBjb2xvcjogIzM0M2E0MDsKICBvcGFjaXR5OiAwLjQ7CiAgbWFyZ2luLXRvcDogLTEycHg7CiAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7Cn0KLnRzLXdyYXBwZXIgLmRyb3Bkb3duLWhlYWRlci1jbG9zZTpob3ZlciB7CiAgY29sb3I6IGJsYWNrOwp9CgoucGx1Z2luLWRyb3Bkb3duX2lucHV0LmZvY3VzLmRyb3Bkb3duLWFjdGl2ZSAudHMtY29udHJvbCB7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1icy1ib3JkZXItY29sb3IpOwogIGJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3ctaW5zZXQpOwp9Ci5wbHVnaW4tZHJvcGRvd25faW5wdXQgLmRyb3Bkb3duLWlucHV0IHsKICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwOwogIGJvcmRlci13aWR0aDogMCAwIDFweDsKICBkaXNwbGF5OiBibG9jazsKICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgd2lkdGg6IDEwMCU7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Cn0KLnBsdWdpbi1kcm9wZG93bl9pbnB1dC5mb2N1cyAudHMtZHJvcGRvd24gLmRyb3Bkb3duLWlucHV0IHsKICBib3JkZXItY29sb3I6IHJnYigxMzQsIDE4Mi41LCAyNTQpOwogIG91dGxpbmU6IDA7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDEzLCAxMTAsIDI1MywgMC4yNSk7Cn0KLnBsdWdpbi1kcm9wZG93bl9pbnB1dCAuaXRlbXMtcGxhY2Vob2xkZXIgewogIGJvcmRlcjogMCBub25lICFpbXBvcnRhbnQ7CiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogIHdpZHRoOiAxMDAlOwp9Ci5wbHVnaW4tZHJvcGRvd25faW5wdXQuaGFzLWl0ZW1zIC5pdGVtcy1wbGFjZWhvbGRlciwgLnBsdWdpbi1kcm9wZG93bl9pbnB1dC5kcm9wZG93bi1hY3RpdmUgLml0ZW1zLXBsYWNlaG9sZGVyIHsKICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7Cn0KCi50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgPiBpbnB1dCB7CiAgbWluLXdpZHRoOiAwOwp9Ci50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMuZm9jdXMgLnRzLWNvbnRyb2wgPiBpbnB1dCB7CiAgZmxleDogbm9uZTsKICBtaW4td2lkdGg6IDRweDsKfQoudHMtd3JhcHBlci5wbHVnaW4taW5wdXRfYXV0b2dyb3cuaGFzLWl0ZW1zLmZvY3VzIC50cy1jb250cm9sID4gaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHRyYW5zcGFyZW50Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMuZm9jdXMgLnRzLWNvbnRyb2wgPiBpbnB1dDo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB0cmFuc3BhcmVudDsKfQoKLnRzLWRyb3Bkb3duLnBsdWdpbi1vcHRncm91cF9jb2x1bW5zIC50cy1kcm9wZG93bi1jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50cy1kcm9wZG93bi5wbHVnaW4tb3B0Z3JvdXBfY29sdW1ucyAub3B0Z3JvdXAgewogIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmMmYyZjI7CiAgYm9yZGVyLXRvcDogMCBub25lOwogIGZsZXgtZ3JvdzogMTsKICBmbGV4LWJhc2lzOiAwOwogIG1pbi13aWR0aDogMDsKfQoudHMtZHJvcGRvd24ucGx1Z2luLW9wdGdyb3VwX2NvbHVtbnMgLm9wdGdyb3VwOmxhc3QtY2hpbGQgewogIGJvcmRlci1yaWdodDogMCBub25lOwp9Ci50cy1kcm9wZG93bi5wbHVnaW4tb3B0Z3JvdXBfY29sdW1ucyAub3B0Z3JvdXA6OmJlZm9yZSB7CiAgZGlzcGxheTogbm9uZTsKfQoudHMtZHJvcGRvd24ucGx1Z2luLW9wdGdyb3VwX2NvbHVtbnMgLm9wdGdyb3VwLWhlYWRlciB7CiAgYm9yZGVyLXRvcDogMCBub25lOwp9CgoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSAucmVtb3ZlIHsKICBjb2xvcjogaW5oZXJpdDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcGFkZGluZzogMCA1cHg7CiAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSAucmVtb3ZlOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpOwp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLmRpc2FibGVkIC5pdGVtIC5yZW1vdmU6aG92ZXIgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b24gLnJlbW92ZS1zaW5nbGUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0b3A6IDA7CiAgZm9udC1zaXplOiAyM3B4Owp9CgoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbjpub3QoLnJ0bCkgLml0ZW0gewogIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbjpub3QoLnJ0bCkgLml0ZW0gLnJlbW92ZSB7CiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGVlMmU2OwogIG1hcmdpbi1sZWZ0OiA1cHg7Cn0KLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b246bm90KC5ydGwpIC5pdGVtLmFjdGl2ZSAucmVtb3ZlIHsKICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbjpub3QoLnJ0bCkuZGlzYWJsZWQgLml0ZW0gLnJlbW92ZSB7CiAgYm9yZGVyLWxlZnQtY29sb3I6IHdoaXRlOwp9CgoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbi5ydGwgLml0ZW0gewogIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bCAuaXRlbSAucmVtb3ZlIHsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGVlMmU2OwogIG1hcmdpbi1yaWdodDogNXB4Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bCAuaXRlbS5hY3RpdmUgLnJlbW92ZSB7CiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOwp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bC5kaXNhYmxlZCAuaXRlbSAucmVtb3ZlIHsKICBib3JkZXItcmlnaHQtY29sb3I6IHdoaXRlOwp9Cgo6cm9vdCB7CiAgLS10cy1wci1jbGVhci1idXR0b246IDBweDsKICAtLXRzLXByLWNhcmV0OiAwcHg7CiAgLS10cy1wci1taW46IC43NXJlbTsKfQoKLnRzLXdyYXBwZXIuc2luZ2xlIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5zaW5nbGUgLnRzLWNvbnRyb2wgaW5wdXQgewogIGN1cnNvcjogcG9pbnRlcjsKfQoKLnRzLWNvbnRyb2w6bm90KC5ydGwpIHsKICBwYWRkaW5nLXJpZ2h0OiBtYXgodmFyKC0tdHMtcHItbWluKSwgdmFyKC0tdHMtcHItY2xlYXItYnV0dG9uKSArIHZhcigtLXRzLXByLWNhcmV0KSkgIWltcG9ydGFudDsKfQoKLnRzLWNvbnRyb2wucnRsIHsKICBwYWRkaW5nLWxlZnQ6IG1heCh2YXIoLS10cy1wci1taW4pLCB2YXIoLS10cy1wci1jbGVhci1idXR0b24pICsgdmFyKC0tdHMtcHItY2FyZXQpKSAhaW1wb3J0YW50Owp9CgoudHMtd3JhcHBlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgoudHMtZHJvcGRvd24sCi50cy1jb250cm9sLAoudHMtY29udHJvbCBpbnB1dCB7CiAgY29sb3I6ICMzNDNhNDA7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgZm9udC1zaXplOiBpbmhlcml0OwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCi50cy1jb250cm9sLAoudHMtd3JhcHBlci5zaW5nbGUuaW5wdXQtYWN0aXZlIC50cy1jb250cm9sIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1icy1ib2R5LWJnKTsKICBjdXJzb3I6IHRleHQ7Cn0KCi50cy1oaWRkZW4tYWNjZXNzaWJsZSB7CiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7CiAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50OwogIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpICFpbXBvcnRhbnQ7CiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDsKICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OwogIHdpZHRoOiAxcHggIWltcG9ydGFudDsKICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7Cn0KCi50cy1kcm9wZG93biwKLnRzLWRyb3Bkb3duLmZvcm0tY29udHJvbCwKLnRzLWRyb3Bkb3duLmZvcm0tc2VsZWN0IHsKICBoZWlnaHQ6IGF1dG87CiAgcGFkZGluZzogMDsKICB6LWluZGV4OiAxMDAwOwogIGJhY2tncm91bmQ6IHZhcigtLWJzLWJvZHktYmcpOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7CiAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07CiAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTsKfQoKLnRzLWRyb3Bkb3duIC5vcHRncm91cC1oZWFkZXIgewogIGZvbnQtc2l6ZTogMC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKfQoudHMtZHJvcGRvd24gLm9wdGdyb3VwOmZpcnN0LWNoaWxkOjpiZWZvcmUgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRzLWRyb3Bkb3duIC5vcHRncm91cDo6YmVmb3JlIHsKICBjb250ZW50OiAiICI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAwOwogIG1hcmdpbjogMC41cmVtIDA7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KTsKICBtYXJnaW4tbGVmdDogLTAuNzVyZW07CiAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTsKfQoudHMtZHJvcGRvd24gLmNyZWF0ZSB7CiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtOwp9CgoudHMtZHJvcGRvd24tY29udGVudCB7CiAgcGFkZGluZzogNXB4IDA7Cn0KCi50cy1jb250cm9sIHsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgLnRzLWNvbnRyb2wgewogICAgdHJhbnNpdGlvbjogbm9uZTsKICB9Cn0KLmZvY3VzIC50cy1jb250cm9sIHsKICBib3JkZXItY29sb3I6IHJnYigxMzQsIDE4Mi41LCAyNTQpOwogIG91dGxpbmU6IDA7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDEzLCAxMTAsIDI1MywgMC4yNSk7Cn0KLnRzLWNvbnRyb2wgLml0ZW0gewogIGRpc3BsYXk6IGZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoKLnRzLXdyYXBwZXIuaXMtaW52YWxpZCwKLndhcy12YWxpZGF0ZWQgLmludmFsaWQsCi53YXMtdmFsaWRhdGVkIDppbnZhbGlkICsgLnRzLXdyYXBwZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKTsKfQoudHMtd3JhcHBlci5pcy1pbnZhbGlkOm5vdCguc2luZ2xlKSwKLndhcy12YWxpZGF0ZWQgLmludmFsaWQ6bm90KC5zaW5nbGUpLAoud2FzLXZhbGlkYXRlZCA6aW52YWxpZCArIC50cy13cmFwcGVyOm5vdCguc2luZ2xlKSB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZGMzNTQ1JyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvJTNlJTNjcGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyUyM2RjMzU0NScgc3Ryb2tlPSdub25lJy8lM2UlM2Mvc3ZnJTNlIik7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Owp9Ci50cy13cmFwcGVyLmlzLWludmFsaWQuc2luZ2xlLAoud2FzLXZhbGlkYXRlZCAuaW52YWxpZC5zaW5nbGUsCi53YXMtdmFsaWRhdGVkIDppbnZhbGlkICsgLnRzLXdyYXBwZXIuc2luZ2xlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzM0M2E0MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvJTNlJTNjL3N2ZyUzZSIpLCB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNkYzM1NDUnJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8lM2UlM2NwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nJTIzZGMzNTQ1JyBzdHJva2U9J25vbmUnLyUzZSUzYy9zdmclM2UiKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjc1cmVtIGNlbnRlciwgY2VudGVyIHJpZ2h0IDIuMjVyZW07CiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHgsIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KLnRzLXdyYXBwZXIuaXMtaW52YWxpZC5mb2N1cyAudHMtY29udHJvbCwKLndhcy12YWxpZGF0ZWQgLmludmFsaWQuZm9jdXMgLnRzLWNvbnRyb2wsCi53YXMtdmFsaWRhdGVkIDppbnZhbGlkICsgLnRzLXdyYXBwZXIuZm9jdXMgLnRzLWNvbnRyb2wgewogIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKTsKICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKSwgMC4yNSk7Cn0KCi50cy13cmFwcGVyLmlzLXZhbGlkLAoud2FzLXZhbGlkYXRlZCAudmFsaWQsCi53YXMtdmFsaWRhdGVkIDp2YWxpZCArIC50cy13cmFwcGVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0tdmFsaWQtY29sb3IpOwp9Ci50cy13cmFwcGVyLmlzLXZhbGlkOm5vdCguc2luZ2xlKSwKLndhcy12YWxpZGF0ZWQgLnZhbGlkOm5vdCguc2luZ2xlKSwKLndhcy12YWxpZGF0ZWQgOnZhbGlkICsgLnRzLXdyYXBwZXI6bm90KC5zaW5nbGUpIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nJTIzMTk4NzU0JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2UiKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIGNlbnRlcjsKICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KLnRzLXdyYXBwZXIuaXMtdmFsaWQuc2luZ2xlLAoud2FzLXZhbGlkYXRlZCAudmFsaWQuc2luZ2xlLAoud2FzLXZhbGlkYXRlZCA6dmFsaWQgKyAudHMtd3JhcHBlci5zaW5nbGUgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMzQzYTQwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nbTIgNSA2IDYgNi02Jy8lM2UlM2Mvc3ZnJTNlIiksIHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjMxOTg3NTQnIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNlJTNjL3N2ZyUzZSIpOwogIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyLCBjZW50ZXIgcmlnaHQgMi4yNXJlbTsKICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTJweCwgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSkgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSk7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKfQoudHMtd3JhcHBlci5pcy12YWxpZC5mb2N1cyAudHMtY29udHJvbCwKLndhcy12YWxpZGF0ZWQgLnZhbGlkLmZvY3VzIC50cy1jb250cm9sLAoud2FzLXZhbGlkYXRlZCA6dmFsaWQgKyAudHMtd3JhcHBlci5mb2N1cyAudHMtY29udHJvbCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1mb3JtLXZhbGlkLWNvbG9yKTsKICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtZm9ybS12YWxpZC1jb2xvciksIDAuMjUpOwp9CgoudHMtd3JhcHBlciB7CiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7CiAgZGlzcGxheTogZmxleDsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlciwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Qtc20sIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC1zbSB7CiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlciAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Qtc20gLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC1zbSAudHMtY29udHJvbCB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSk7CiAgZm9udC1zaXplOiAwLjg3NXJlbTsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlci5oYXMtaXRlbXMgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0LXNtLmhhcy1pdGVtcyAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1jb250cm9sLXNtLmhhcy1pdGVtcyAudHMtY29udHJvbCB7CiAgZm9udC1zaXplOiAwLjg3NXJlbTsKICBwYWRkaW5nLWJvdHRvbTogMDsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0LXNtLm11bHRpLmhhcy1pdGVtcyAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1jb250cm9sLXNtLm11bHRpLmhhcy1pdGVtcyAudHMtY29udHJvbCB7CiAgcGFkZGluZy10b3A6IGNhbGMoKGNhbGMoMS41ZW0gKyAwLjVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSkgLSAxLjUgKiAwLjg3NXJlbSAtIGNhbGMoKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKyAxcHgpICogMikpIC8gMikgIWltcG9ydGFudDsKfQoudHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgewogIHBhZGRpbmctbGVmdDogY2FsYygwLjc1cmVtIC0gNXB4KTsKICAtLXRzLXByLW1pbjogY2FsYygwLjc1cmVtIC0gNXB4KTsKfQoudHMtd3JhcHBlci5tdWx0aSAudHMtY29udHJvbCA+IGRpdiB7CiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAtIDFweCk7Cn0KLmlucHV0LWdyb3VwLWxnID4gLnRzLXdyYXBwZXIsIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC1sZywgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3QtbGcgewogIG1pbi1oZWlnaHQ6IGNhbGMoMS41ZW0gKyAxcmVtICsgY2FsYyh2YXIoLS1icy1ib3JkZXItd2lkdGgpICogMikpOwp9Ci5pbnB1dC1ncm91cC1sZyA+IC50cy13cmFwcGVyIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5mb3JtLWNvbnRyb2wtbGcgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0LWxnIC50cy1jb250cm9sIHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKTsKICBmb250LXNpemU6IDEuMjVyZW07Cn0KLnRzLXdyYXBwZXI6bm90KC5mb3JtLWNvbnRyb2wsIC5mb3JtLXNlbGVjdCkgewogIHBhZGRpbmc6IDA7CiAgYm9yZGVyOiBub25lOwogIGhlaWdodDogYXV0bzsKICBib3gtc2hhZG93OiBub25lOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0KLnRzLXdyYXBwZXI6bm90KC5mb3JtLWNvbnRyb2wsIC5mb3JtLXNlbGVjdCkuc2luZ2xlIC50cy1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzM0M2E0MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvJTNlJTNjL3N2ZyUzZSIpOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC43NXJlbSBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHg7Cn0KLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3QsIC50cy13cmFwcGVyLnNpbmdsZSB7CiAgLS10cy1wci1jYXJldDogMi4yNXJlbTsKfQoudHMtd3JhcHBlci5mb3JtLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0IHsKICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgaGVpZ2h0OiBhdXRvOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgZGlzcGxheTogZmxleDsKfQoudHMtd3JhcHBlci5mb3JtLWNvbnRyb2wgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC5zaW5nbGUuaW5wdXQtYWN0aXZlIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5mb3JtLXNlbGVjdCAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Quc2luZ2xlLmlucHV0LWFjdGl2ZSAudHMtY29udHJvbCB7CiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7Cn0KLnRzLXdyYXBwZXIuZm9ybS1jb250cm9sOm5vdCguZGlzYWJsZWQpIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5mb3JtLWNvbnRyb2w6bm90KC5kaXNhYmxlZCkuc2luZ2xlLmlucHV0LWFjdGl2ZSAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Q6bm90KC5kaXNhYmxlZCkgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0Om5vdCguZGlzYWJsZWQpLnNpbmdsZS5pbnB1dC1hY3RpdmUgLnRzLWNvbnRyb2wgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Cn0KCi5pbnB1dC1ncm91cCA+IC50cy13cmFwcGVyIHsKICBmbGV4LWdyb3c6IDE7CiAgd2lkdGg6IDElOwp9Ci5pbnB1dC1ncm91cCA+IC50cy13cmFwcGVyOm5vdCg6bnRoLWNoaWxkKDIpKSA+IC50cy1jb250cm9sIHsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7Cn0KLmlucHV0LWdyb3VwID4gLnRzLXdyYXBwZXI6bm90KDpsYXN0LWNoaWxkKSA+IC50cy1jb250cm9sIHsKICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKfQovKiMgc291cmNlTWFwcGluZ1VSTD10b20tc2VsZWN0LmJvb3RzdHJhcDUuY3NzLm1hcCAqLw==", import.meta.url);
2507
+ let ft = null;
2508
+ function Ki() {
2509
+ return ft === null && (ft = document.querySelectorAll("head > link[rel=stylesheet]")), ft;
2510
+ }
2511
+ var O, N, _, Q, z, Tt, Qt, Et;
2512
+ const Ct = class Ct extends HTMLElement {
2509
2513
  constructor() {
2510
2514
  super(...arguments);
2511
- S(this, rt);
2512
- S(this, H);
2513
- S(this, D);
2514
- S(this, _);
2515
- S(this, j, {});
2515
+ x(this, z);
2516
+ x(this, O);
2517
+ x(this, N);
2518
+ x(this, _);
2519
+ x(this, Q, {});
2516
2520
  }
2517
2521
  connectedCallback() {
2518
- K(this, H, document.createElement("select")), K(this, D, this.attachShadow({ mode: "open" })), K(this, _, this.attachInternals()), this.hasAttribute("name") && (Y(this, H).name = this.getAttribute("name")), this.hasAttribute("multiple") && Y(this, H).setAttribute("multiple", "");
2519
- const e = document.createElement("link");
2520
- e.setAttribute("rel", "stylesheet"), e.setAttribute("href", zi.href), Y(this, D).appendChild(Y(this, H)), Y(this, D).appendChild(e);
2521
- try {
2522
- K(this, j, this.getAttributeNames().filter(
2523
- (n) => n === "options" || n === "value-field" || n === "label-field" || n === "search-field" || n === "items" || n === "optgroup-field" || n === "optgroups"
2524
- ).reduce((n, s) => {
2525
- const o = s.split("."), r = o.pop(), l = this.getAttribute(s), a = o.reduce((c, d) => (d in c || (c[d] = {}), c[d]), n);
2526
- return a[$t(r)] = Pt(l), n;
2527
- }, {}));
2528
- } catch (n) {
2529
- console.error("Invalid options JSON:", n), K(this, j, {});
2530
- }
2531
- this.tomSelect = new X(Y(this, H), {
2532
- ...Y(this, j),
2522
+ this.style.display = "block";
2523
+ const e = P(this, z, Qt).call(this);
2524
+ j(this, N, this.attachShadow({ mode: "open" })), j(this, _, this.attachInternals());
2525
+ const n = document.createElement("link");
2526
+ n.setAttribute("rel", "stylesheet"), n.setAttribute("href", Fi.href), G(this, N).appendChild(e), G(this, N).appendChild(n), Ki().forEach((s) => {
2527
+ G(this, N).appendChild(s.cloneNode());
2528
+ }), j(this, Q, this.getAttributeNames().filter(
2529
+ (s) => !["name", "multiple"].includes(s)
2530
+ ).reduce((s, o) => {
2531
+ const r = o.split("."), l = r.pop(), a = this.getAttribute(o), c = r.reduce((u, d) => (d in u || (u[d] = {}), u[d]), s);
2532
+ return c[te(l)] = ee(a), s;
2533
+ }, {})), this.tomSelect = new Y(G(this, O), {
2534
+ ...G(this, Q),
2533
2535
  plugins: ["remove_button", "clear_button"],
2534
2536
  highlight: !0
2535
- }), this.value = this.tomSelect.getValue(), Y(this, H).addEventListener("change", (n) => Ct(this, rt, jt).call(this, n)), this.dispatchEvent(new CustomEvent("upgrade"));
2537
+ }), P(this, z, Et).call(this), this.value = this.tomSelect.getValue(), G(this, O).addEventListener("change", (s) => P(this, z, Tt).call(this, s)), this.dispatchEvent(new CustomEvent("upgrade"));
2536
2538
  }
2537
2539
  get value() {
2538
2540
  let e = this.tomSelect.getValue();
2539
2541
  return Array.isArray(e) && (e = [...e]), e;
2540
2542
  }
2541
2543
  set value(e) {
2542
- if (ki(this.value, e) || this.tomSelect.setValue(e, !0), Array.isArray(e)) {
2544
+ if (xi(this.value, e) || this.tomSelect.setValue(e, !0), Array.isArray(e)) {
2543
2545
  const n = new FormData();
2544
2546
  for (const s of e)
2545
- n.append(Y(this, H).name, s);
2546
- Y(this, _).setFormValue(n);
2547
+ n.append(G(this, O).name, s);
2548
+ G(this, _).setFormValue(n);
2547
2549
  } else
2548
- Y(this, _).setFormValue(e);
2550
+ G(this, _).setFormValue(e);
2549
2551
  }
2550
2552
  };
2551
- H = new WeakMap(), D = new WeakMap(), _ = new WeakMap(), j = new WeakMap(), rt = new WeakSet(), jt = function(e) {
2552
- this.value = Array.from(Y(this, H).selectedOptions).map((n) => n.value), this.dispatchEvent(new Event("change"));
2553
- }, vt.formAssociated = !0;
2554
- let ft = vt;
2555
- function ki(i, t) {
2553
+ O = new WeakMap(), N = new WeakMap(), _ = new WeakMap(), Q = new WeakMap(), z = new WeakSet(), Tt = function(e) {
2554
+ this.value = Array.from(G(this, O).selectedOptions).map((n) => n.value), this.dispatchEvent(new Event("change"));
2555
+ }, Qt = function() {
2556
+ const e = document.createElement("div");
2557
+ e.classList.add("form-floating"), j(this, O, document.createElement("select")), e.appendChild(G(this, O));
2558
+ const n = document.createElement("label"), s = document.createElement("slot");
2559
+ return s.setAttribute("name", "label"), s.innerHTML = this.getAttribute("label"), n.appendChild(s), e.appendChild(n), this.hasAttribute("name") && (G(this, O).name = this.getAttribute("name")), this.hasAttribute("multiple") && G(this, O).setAttribute("multiple", ""), e;
2560
+ }, Et = function() {
2561
+ G(this, N).querySelector(".ts-wrapper").classList.add("form-control"), G(this, N).querySelector(".ts-wrapper").style = `
2562
+ height: unset;
2563
+ min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
2564
+ `, G(this, N).querySelector(".ts-control").style = `
2565
+ padding-top: 1.625rem;
2566
+ padding-bottom: 0.625rem;
2567
+ `;
2568
+ }, Ct.formAssociated = !0;
2569
+ let vt = Ct;
2570
+ function xi(i, t) {
2556
2571
  if (Array.isArray(i) !== Array.isArray(t)) return !1;
2557
2572
  if (Array.isArray(i)) {
2558
2573
  const e = new Set(t);
@@ -2560,4 +2575,4 @@ function ki(i, t) {
2560
2575
  }
2561
2576
  return i === t;
2562
2577
  }
2563
- customElements.define("sleek-select", ft);
2578
+ customElements.define("sleek-select", vt);