@myxtra/authentication-green 1.0.0 → 1.1.1

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,4 +1,4 @@
1
- var eo = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, gs = { exports: {} }, Si = {}, fs = { exports: {} }, B = {};
1
+ var eo = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, gs = { exports: {} }, Oi = {}, fs = { exports: {} }, B = {};
2
2
  /**
3
3
  * @license React
4
4
  * react.production.min.js
@@ -8,7 +8,7 @@ var eo = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : t
8
8
  * This source code is licensed under the MIT license found in the
9
9
  * LICENSE file in the root directory of this source tree.
10
10
  */
11
- var yr = Symbol.for("react.element"), Fd = Symbol.for("react.portal"), Hd = Symbol.for("react.fragment"), Md = Symbol.for("react.strict_mode"), zd = Symbol.for("react.profiler"), xd = Symbol.for("react.provider"), Td = Symbol.for("react.context"), Dd = Symbol.for("react.forward_ref"), Jd = Symbol.for("react.suspense"), Qd = Symbol.for("react.memo"), Ed = Symbol.for("react.lazy"), Xa = Symbol.iterator;
11
+ var yr = Symbol.for("react.element"), Fd = Symbol.for("react.portal"), Hd = Symbol.for("react.fragment"), Md = Symbol.for("react.strict_mode"), zd = Symbol.for("react.profiler"), xd = Symbol.for("react.provider"), Dd = Symbol.for("react.context"), Td = Symbol.for("react.forward_ref"), Jd = Symbol.for("react.suspense"), Qd = Symbol.for("react.memo"), Ed = Symbol.for("react.lazy"), Xa = Symbol.iterator;
12
12
  function Ud(e) {
13
13
  return e === null || typeof e != "object" ? null : (e = Xa && e[Xa] || e["@@iterator"], typeof e == "function" ? e : null);
14
14
  }
@@ -40,12 +40,12 @@ var Yl = Gl.prototype = new Cs();
40
40
  Yl.constructor = Gl;
41
41
  ms(Yl, An.prototype);
42
42
  Yl.isPureReactComponent = !0;
43
- var Ga = Array.isArray, Is = Object.prototype.hasOwnProperty, Al = { current: null }, vs = { key: !0, ref: !0, __self: !0, __source: !0 };
43
+ var Ga = Array.isArray, vs = Object.prototype.hasOwnProperty, Al = { current: null }, Is = { key: !0, ref: !0, __self: !0, __source: !0 };
44
44
  function ys(e, t, n) {
45
45
  var r, i = {}, o = null, l = null;
46
46
  if (t != null)
47
47
  for (r in t.ref !== void 0 && (l = t.ref), t.key !== void 0 && (o = "" + t.key), t)
48
- Is.call(t, r) && !vs.hasOwnProperty(r) && (i[r] = t[r]);
48
+ vs.call(t, r) && !Is.hasOwnProperty(r) && (i[r] = t[r]);
49
49
  var a = arguments.length - 2;
50
50
  if (a === 1)
51
51
  i.children = n;
@@ -166,7 +166,7 @@ B.cloneElement = function(e, t, n) {
166
166
  if (t.ref !== void 0 && (o = t.ref, l = Al.current), t.key !== void 0 && (i = "" + t.key), e.type && e.type.defaultProps)
167
167
  var a = e.type.defaultProps;
168
168
  for (u in t)
169
- Is.call(t, u) && !vs.hasOwnProperty(u) && (r[u] = t[u] === void 0 && a !== void 0 ? a[u] : t[u]);
169
+ vs.call(t, u) && !Is.hasOwnProperty(u) && (r[u] = t[u] === void 0 && a !== void 0 ? a[u] : t[u]);
170
170
  }
171
171
  var u = arguments.length - 2;
172
172
  if (u === 1)
@@ -180,7 +180,7 @@ B.cloneElement = function(e, t, n) {
180
180
  return { $$typeof: yr, type: e.type, key: i, ref: o, props: r, _owner: l };
181
181
  };
182
182
  B.createContext = function(e) {
183
- return e = { $$typeof: Td, _currentValue: e, _currentValue2: e, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, e.Provider = { $$typeof: xd, _context: e }, e.Consumer = e;
183
+ return e = { $$typeof: Dd, _currentValue: e, _currentValue2: e, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, e.Provider = { $$typeof: xd, _context: e }, e.Consumer = e;
184
184
  };
185
185
  B.createElement = ys;
186
186
  B.createFactory = function(e) {
@@ -191,7 +191,7 @@ B.createRef = function() {
191
191
  return { current: null };
192
192
  };
193
193
  B.forwardRef = function(e) {
194
- return { $$typeof: Dd, render: e };
194
+ return { $$typeof: Td, render: e };
195
195
  };
196
196
  B.isValidElement = Nl;
197
197
  B.lazy = function(e) {
@@ -279,10 +279,10 @@ function bs(e, t, n) {
279
279
  i[r] === void 0 && (i[r] = t[r]);
280
280
  return { $$typeof: tg, type: e, key: o, ref: l, props: i, _owner: ig.current };
281
281
  }
282
- Si.Fragment = ng;
283
- Si.jsx = bs;
284
- Si.jsxs = bs;
285
- gs.exports = Si;
282
+ Oi.Fragment = ng;
283
+ Oi.jsx = bs;
284
+ Oi.jsxs = bs;
285
+ gs.exports = Oi;
286
286
  var nr = gs.exports;
287
287
  function we(e) {
288
288
  "@babel/helpers - typeof";
@@ -410,7 +410,7 @@ function Ba(e, t) {
410
410
  }
411
411
  return n;
412
412
  }
413
- function Sa(e) {
413
+ function Oa(e) {
414
414
  for (var t = 1; t < arguments.length; t++) {
415
415
  var n = arguments[t] != null ? arguments[t] : {};
416
416
  t % 2 ? Ba(Object(n), !0).forEach(function(r) {
@@ -433,7 +433,7 @@ var ko = {
433
433
  };
434
434
  function pg() {
435
435
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
436
- ko = Sa(Sa({}, ko), e);
436
+ ko = Oa(Oa({}, ko), e);
437
437
  }
438
438
  function mg() {
439
439
  return ko;
@@ -445,31 +445,31 @@ function hg(e) {
445
445
  function Cg() {
446
446
  return Ws;
447
447
  }
448
- function Se(e, t) {
448
+ function Oe(e, t) {
449
449
  if (!(e instanceof t))
450
450
  throw new TypeError("Cannot call a class as a function");
451
451
  }
452
- function Oa(e, t) {
452
+ function Ra(e, t) {
453
453
  for (var n = 0; n < t.length; n++) {
454
454
  var r = t[n];
455
455
  r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, ws(r.key), r);
456
456
  }
457
457
  }
458
- function Oe(e, t, n) {
459
- return t && Oa(e.prototype, t), n && Oa(e, n), Object.defineProperty(e, "prototype", {
458
+ function Re(e, t, n) {
459
+ return t && Ra(e.prototype, t), n && Ra(e, n), Object.defineProperty(e, "prototype", {
460
460
  writable: !1
461
461
  }), e;
462
462
  }
463
- var Ig = {
463
+ var vg = {
464
464
  type: "3rdParty",
465
465
  init: function(t) {
466
466
  pg(t.options.react), hg(t);
467
467
  }
468
- }, vg = Q.createContext(), yg = function() {
468
+ }, Ig = Q.createContext(), yg = function() {
469
469
  function e() {
470
- Se(this, e), this.usedNamespaces = {};
470
+ Oe(this, e), this.usedNamespaces = {};
471
471
  }
472
- return Oe(e, [{
472
+ return Re(e, [{
473
473
  key: "addUsedNamespaces",
474
474
  value: function(n) {
475
475
  var r = this;
@@ -514,7 +514,7 @@ function bg(e, t) {
514
514
  return a;
515
515
  }
516
516
  }
517
- function Ra(e, t) {
517
+ function Sa(e, t) {
518
518
  (t == null || t > e.length) && (t = e.length);
519
519
  for (var n = 0, r = new Array(t); n < t; n++)
520
520
  r[n] = e[n];
@@ -523,12 +523,12 @@ function Ra(e, t) {
523
523
  function Xs(e, t) {
524
524
  if (e) {
525
525
  if (typeof e == "string")
526
- return Ra(e, t);
526
+ return Sa(e, t);
527
527
  var n = Object.prototype.toString.call(e).slice(8, -1);
528
528
  if (n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set")
529
529
  return Array.from(e);
530
530
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
531
- return Ra(e, t);
531
+ return Sa(e, t);
532
532
  }
533
533
  }
534
534
  function Gs() {
@@ -566,7 +566,7 @@ var Zg = function(t, n) {
566
566
  }, [t, n]), r.current;
567
567
  };
568
568
  function Ys(e) {
569
- var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = t.i18n, r = Q.useContext(vg) || {}, i = r.i18n, o = r.defaultNS, l = n || i || Cg();
569
+ var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = t.i18n, r = Q.useContext(Ig) || {}, i = r.i18n, o = r.defaultNS, l = n || i || Cg();
570
570
  if (l && !l.reportNamespaces && (l.reportNamespaces = new yg()), !l) {
571
571
  No("You will need to pass in an i18next instance by using initReactI18next");
572
572
  var a = function(k, Y) {
@@ -583,16 +583,16 @@ function Ys(e) {
583
583
  function C() {
584
584
  return l.getFixedT(t.lng || null, c.nsMode === "fallback" ? f : f[0], g);
585
585
  }
586
- var v = Q.useState(C), w = wg(v, 2), d = w[0], s = w[1], m = f.join();
586
+ var I = Q.useState(C), w = wg(I, 2), d = w[0], s = w[1], m = f.join();
587
587
  t.lng && (m = "".concat(t.lng).concat(m));
588
- var I = Zg(m), y = Q.useRef(!0);
588
+ var v = Zg(m), y = Q.useRef(!0);
589
589
  Q.useEffect(function() {
590
590
  var L = c.bindI18n, k = c.bindI18nStore;
591
591
  y.current = !0, !h && !p && (t.lng ? ka(l, t.lng, f, function() {
592
592
  y.current && s(C);
593
593
  }) : Na(l, f, function() {
594
594
  y.current && s(C);
595
- })), h && I && I !== m && y.current && s(C);
595
+ })), h && v && v !== m && y.current && s(C);
596
596
  function Y() {
597
597
  y.current && s(C);
598
598
  }
@@ -634,13 +634,13 @@ oi.exports;
634
634
  throw new l(C);
635
635
  }, u = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", c = /[\t\n\f\r ]/g, p = function(C) {
636
636
  C = String(C).replace(c, "");
637
- var v = C.length;
638
- v % 4 == 0 && (C = C.replace(/==?$/, ""), v = C.length), (v % 4 == 1 || // http://whatwg.org/C#alphanumeric-ascii-characters
637
+ var I = C.length;
638
+ I % 4 == 0 && (C = C.replace(/==?$/, ""), I = C.length), (I % 4 == 1 || // http://whatwg.org/C#alphanumeric-ascii-characters
639
639
  /[^+a-zA-Z0-9/]/.test(C)) && a(
640
640
  "Invalid character: the string to be decoded is not correctly encoded."
641
641
  );
642
- for (var w = 0, d, s, m = "", I = -1; ++I < v; )
643
- s = u.indexOf(C.charAt(I)), d = w % 4 ? d * 64 + s : s, w++ % 4 && (m += String.fromCharCode(
642
+ for (var w = 0, d, s, m = "", v = -1; ++v < I; )
643
+ s = u.indexOf(C.charAt(v)), d = w % 4 ? d * 64 + s : s, w++ % 4 && (m += String.fromCharCode(
644
644
  255 & d >> (-2 * w & 6)
645
645
  ));
646
646
  return m;
@@ -648,9 +648,9 @@ oi.exports;
648
648
  C = String(C), /[^\0-\xFF]/.test(C) && a(
649
649
  "The string to be encoded contains characters outside of the Latin1 range."
650
650
  );
651
- for (var v = C.length % 3, w = "", d = -1, s, m, I, y, Z = C.length - v; ++d < Z; )
652
- s = C.charCodeAt(d) << 16, m = C.charCodeAt(++d) << 8, I = C.charCodeAt(++d), y = s + m + I, w += u.charAt(y >> 18 & 63) + u.charAt(y >> 12 & 63) + u.charAt(y >> 6 & 63) + u.charAt(y & 63);
653
- return v == 2 ? (s = C.charCodeAt(d) << 8, m = C.charCodeAt(++d), y = s + m, w += u.charAt(y >> 10) + u.charAt(y >> 4 & 63) + u.charAt(y << 2 & 63) + "=") : v == 1 && (y = C.charCodeAt(d), w += u.charAt(y >> 2) + u.charAt(y << 4 & 63) + "=="), w;
651
+ for (var I = C.length % 3, w = "", d = -1, s, m, v, y, Z = C.length - I; ++d < Z; )
652
+ s = C.charCodeAt(d) << 16, m = C.charCodeAt(++d) << 8, v = C.charCodeAt(++d), y = s + m + v, w += u.charAt(y >> 18 & 63) + u.charAt(y >> 12 & 63) + u.charAt(y >> 6 & 63) + u.charAt(y & 63);
653
+ return I == 2 ? (s = C.charCodeAt(d) << 8, m = C.charCodeAt(++d), y = s + m, w += u.charAt(y >> 10) + u.charAt(y >> 4 & 63) + u.charAt(y << 2 & 63) + "=") : I == 1 && (y = C.charCodeAt(d), w += u.charAt(y >> 2) + u.charAt(y << 4 & 63) + "=="), w;
654
654
  }, f = {
655
655
  encode: g,
656
656
  decode: p,
@@ -669,12 +669,12 @@ oi.exports;
669
669
  oi.exports;
670
670
  var Wg = Object.getOwnPropertyNames, Lg = (e, t) => function() {
671
671
  return e && (t = (0, e[Wg(e)[0]])(e = 0)), t;
672
- }, S = Lg({
672
+ }, O = Lg({
673
673
  "react-shim.js"() {
674
674
  }
675
675
  });
676
- S();
677
- S();
676
+ O();
677
+ O();
678
678
  var As = Q.createContext(void 0), sh = ({ environment: e, children: t }) => {
679
679
  const [n] = Q.useState(() => e);
680
680
  return /* @__PURE__ */ nr.jsx(As.Provider, { value: n, children: t });
@@ -684,19 +684,19 @@ var As = Q.createContext(void 0), sh = ({ environment: e, children: t }) => {
684
684
  throw new Error("useEnvironment must be used within an EnvironmentProvider");
685
685
  return e;
686
686
  };
687
- S();
688
- S();
689
- S();
690
- S();
687
+ O();
688
+ O();
689
+ O();
690
+ O();
691
691
  var kl = /* @__PURE__ */ ((e) => (e.Dev = "dev", e.Test = "test", e.Syst = "syst", e.Prod = "prod", e))(kl || {}), Gg = class extends Error {
692
692
  constructor(e) {
693
693
  const t = Object.values(kl).join(", ");
694
694
  super(`${e} is not a valid Environment. Valid environments are ${t}`), this.name = "InvalidEnvironmentError";
695
695
  }
696
696
  };
697
- S();
698
- S();
699
- S();
697
+ O();
698
+ O();
699
+ O();
700
700
  var Yg = (e, t) => {
701
701
  switch (e) {
702
702
  default:
@@ -713,21 +713,21 @@ var Yg = (e, t) => {
713
713
  const { i18n: e } = Ys(), t = Xg();
714
714
  return Ag(t, e.language);
715
715
  };
716
- S();
717
- S();
718
- S();
719
- S();
720
- S();
721
- S();
722
- S();
716
+ O();
717
+ O();
718
+ O();
719
+ O();
720
+ O();
721
+ O();
722
+ O();
723
723
  var ja = ({ error: e }) => e ? /* @__PURE__ */ nr.jsx("span", { "aria-live": "assertive", className: "sr-only", tabIndex: -1, children: e }) : null;
724
- S();
725
- S();
724
+ O();
725
+ O();
726
726
  var Ng = (e, t) => e.getAttribute("name") === t, kg = (e, t) => {
727
727
  const n = Object.keys(t)[0];
728
728
  return Array.from(e.elements).find((i) => Ng(i, n));
729
729
  };
730
- S();
730
+ O();
731
731
  var Bg = (e, t) => Object.keys(t).reduce((n, r, i) => {
732
732
  const o = e.querySelector(`[name="${r}"]`);
733
733
  if (!o)
@@ -737,7 +737,7 @@ var Bg = (e, t) => Object.keys(t).reduce((n, r, i) => {
737
737
  return "";
738
738
  const { textContent: a } = l;
739
739
  return i === 0 ? a : `${n}, ${a}`;
740
- }, ""), Sg = (e, t, n) => {
740
+ }, ""), Og = (e, t, n) => {
741
741
  const r = Bg(e, t), i = r == null ? void 0 : r.split(",")[0], o = kg(e, t);
742
742
  return o == null || o.focus(), o == null || o.scrollIntoView({ block: "center" }), n("common.form.detailedError", { invalidFormFieldLabels: r, firstInvalidFormFieldLabel: i });
743
743
  }, dh = ({ submitCount: e, errors: t }) => {
@@ -745,31 +745,31 @@ var Bg = (e, t) => Object.keys(t).reduce((n, r, i) => {
745
745
  return Q.useEffect(() => l(!0), []), Q.useEffect(() => {
746
746
  if (!e || !a || p === e)
747
747
  return;
748
- const h = Sg(i, t, n);
748
+ const h = Og(i, t, n);
749
749
  c(h), g(e);
750
750
  }, [a, e, t, i, n, p]), !o && !e && a ? {
751
751
  formRef: r,
752
752
  AccessibleFormMessage: /* @__PURE__ */ nr.jsx(ja, { error: n("common.form.genericError") })
753
753
  } : { formRef: r, AccessibleFormMessage: /* @__PURE__ */ nr.jsx(ja, { error: u }) };
754
754
  };
755
- S();
756
- S();
757
- S();
758
- S();
759
- S();
760
- S();
761
- S();
762
- S();
763
- S();
764
- S();
765
- S();
766
- S();
767
- S();
768
- S();
769
- S();
770
- S();
771
- S();
772
- const Og = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OiMwMDA7CiAgLS1uZXV0cmFsLTkwMDojMWIxZjI3OwogIC0tbmV1dHJhbC04MDA6IzJlM2I1NjsKICAtLW5ldXRyYWwtNzAwOiM0ODUyNmQ7CiAgLS1uZXV0cmFsLTYwMDojNjM3MDhhOwogIC0tbmV1dHJhbC01MDA6IzdjODlhMzsKICAtLW5ldXRyYWwtNDAwOiM5ZmFhYzA7CiAgLS1uZXV0cmFsLTMwMDojYmJjMWQzOwogIC0tbmV1dHJhbC0yMDA6I2ViZWRmNTsKICAtLW5ldXRyYWwtMTAwOiNmM2Y0ZmE7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6IzAwM2MzNzsKICAtLXByaW1hcnktODAwOiMwMDU2NGY7CiAgLS1wcmltYXJ5LTcwMDojMDA4MDc3OwogIC0tcHJpbWFyeS02MDA6IzAwOWE4ZTsKICAtLXByaW1hcnktNTAwOiMwMGFiOWU7CiAgLS1wcmltYXJ5LTQwMDojMTliM2E4OwogIC0tcHJpbWFyeS0zMDA6IzgwZDVjZjsKICAtLXByaW1hcnktMjAwOiNjY2VlZWM7CiAgLS1wcmltYXJ5LTEwMDojZTVmN2Y1OwogIC0tcHJpbWFyeS01MDojZWZmOWY5OwogIC0tc3VjY2Vzcy0yMDA6I2YyZjllYzsKICAtLXN1Y2Nlc3MtNTAwOiMwMDlhM2U7CiAgLS1lcnJvci0yMDA6I2ZlZjRmNTsKICAtLWVycm9yLTQwMDojZmY1YzVjOwogIC0tZXJyb3ItNTAwOiNlNjJkMzI7CiAgLS13YXJuaW5nLTIwMDojZmZmYWYzOwogIC0td2FybmluZy01MDA6I2RjODYzMzsKICAtLXByaW1hcnktZ3JhZGllbnQ6bGluZWFyLWdyYWRpZW50KDEzMy41M2RlZywjMTU5YTk1IDI1LjU3JSwjMTBiOGIxIDc0LjI5JSk7CiAgLS1zaGFkb3ctY2FyZDowIDNweCA4cHggcmdiYSg0Niw1OSw4NiwuMSk7CiAgLS1zaGFkb3ctbmF2OjAgMCAxMnB4IHJnYmEoNDYsNTksODYsLjEyKTsKICAtLXNoYWRvdy1idXR0b246MCA4cHggOHB4IC01cHggcmdiYSgxLDE0MSwxMzYsLjIpOwogIC0tc2hhZG93LWZhYjowIDRweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctbW9kYWw6MCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICAtLWJvcmRlci1yYWRpdXMtc206NnB4OwogIC0tYm9yZGVyLXJhZGl1cy1tZDoxMHB4OwogIC0tYm9yZGVyLXJhZGl1cy1sZzoxOHB4OwogIC0tc3BhY2luZy0xOjRweDsKICAtLXNwYWNpbmctMjo4cHg7CiAgLS1zcGFjaW5nLTM6MTJweDsKICAtLXNwYWNpbmctNDoxNnB4OwogIC0tc3BhY2luZy01OjIwcHg7CiAgLS1zcGFjaW5nLTY6MjRweDsKICAtLXNwYWNpbmctNzoyOHB4OwogIC0tc3BhY2luZy04OjMycHg7CiAgLS1zcGFjaW5nLTk6NDBweDsKICAtLXNwYWNpbmctMTA6NDhweDsKICAtLXNwYWNpbmctMTE6NTZweDsKICAtLXNwYWNpbmctMTI6NjRweDsKICAtLWZvbnQteHRyYToiTmV1ZSIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxibGlua21hY3N5c3RlbWZvbnQsIlNlZ29lIFVJIixyb2JvdG8sIkhlbHZldGljYSBOZXVlIixhcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBmb250OiA0MDAgMTZweC8yMnB4IHZhcigtLWZvbnQteHRyYSk7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwp9Ci5zci1vbmx5IHsKICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOwogIGJvcmRlci13aWR0aDogMDsKICBoZWlnaHQ6IDFweDsKICBtYXJnaW46IC0xcHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIHdpZHRoOiAxcHg7Cn0KOmlzKDpyb290LCA6aG9zdCkgKiB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgOmhvc3QsCiAgOnJvb3QgewogICAgZm9udC1zaXplOiAxOHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0FuY2hvci9BbmNob3IuY3NzICovCi5hbmNob3IgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmFuY2hvci0taW5saW5lIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0taW5saW5lOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0taW5saW5lOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0taW5saW5lOm5vdCg6YWN0aXZlKTpmb2N1cyB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5hbmNob3ItLW5ldXRyYWw6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1czphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMTAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLWRpc2FibGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BdmF0YXIvQXZhdGFyLmNzcyAqLwouYXZhdGFyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmF2YXRhci0tc21hbGwgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMSk7CiAgZm9udC1zaXplOiAuNjI1cmVtOwogIGhlaWdodDogMjRweDsKICB3aWR0aDogMjRweDsKfQouYXZhdGFyLS1tZWRpdW0gewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMik7CiAgZm9udC1zaXplOiAxLjEyNXJlbTsKICBoZWlnaHQ6IDQwcHg7CiAgd2lkdGg6IDQwcHg7Cn0KLmF2YXRhci0tbGFyZ2UgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctNCk7CiAgZm9udC1zaXplOiAyLjYyNXJlbTsKICBoZWlnaHQ6IDEwMHB4OwogIHdpZHRoOiAxMDBweDsKfQouYXZhdGFyX19pbml0aWFscyB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9CdXR0b24vQnV0dG9uLmNzcyAqLwouYnV0dG9uIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IDA7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBmb250OiBpbmhlcml0OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctOCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7CiAgd2lkdGg6IDEwMCU7Cn0KLmJ1dHRvbi0tcHJpbWFyeSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXByaW1hcnk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwogIH0KfQouYnV0dG9uLS1wcmltYXJ5OmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTYwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLXByaW1hcnktNjAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXByaW1hcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKfQouYnV0dG9uLS1kaXNhYmxlZCwKLmJ1dHRvbi0tcHJpbWFyeTpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5idXR0b24tLXNlY29uZGFyeSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgfQp9Ci5idXR0b24tLXNlY29uZGFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXNlY29uZGFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktMTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS02MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTYwMCk7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5OmRpc2FibGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5LS1maWxsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouYnV0dG9uLS10ZXJ0aWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctMSk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXNlY29uZGFyeTpob3ZlciB7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7CiAgfQp9Ci5idXR0b24tLXRlcnRpYXJ5OmFjdGl2ZSwKLmJ1dHRvbi0tdGVydGlhcnk6Zm9jdXMgewogIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7CiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXRlcnRpYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxLjVweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXRlcnRpYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS10ZXJ0aWFyeTpkaXNhYmxlZCwKLmJ1dHRvbi0tdGVydGlhcnlbYXJpYS1kaXNhYmxlZD10cnVlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9Ci5idXR0b24tLXdhcm5pbmcgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0td2FybmluZzpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci00MDApOwogIH0KfQouYnV0dG9uLS13YXJuaW5nOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tZXJyb3ItNDAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXdhcm5pbmc6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci00MDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXdhcm5pbmc6Zm9jdXM6bm90KDpob3ZlcikgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1lcnJvci01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIH0KfQouYnV0dG9uLS1uZXV0cmFsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1uZXV0cmFsOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICB9Cn0KLmJ1dHRvbi0tbmV1dHJhbDpmb2N1cyB7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTIwMCksCiAgICBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLAogICAgaW5zZXQgMCAwIDAgNHB4IHZhcigtLXByaW1hcnktMjAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLW5ldXRyYWw6YWN0aXZlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5idXR0b24tLW5ldXRyYWw6ZGlzYWJsZWQgewogIG9wYWNpdHk6IC42Owp9Ci5idXR0b24tLWljb24tLXByaW1hcnksCi5idXR0b24tLWljb24tLXNlY29uZGFyeSB7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiBpbmhlcml0OwogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIHBhZGRpbmc6IDA7CiAgd2lkdGg6IGF1dG87Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLWljb24tLXByaW1hcnk6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtOTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwp9Ci5idXR0b24tLXdpdGgtaWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouYnV0dG9uX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuYnV0dG9uIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5idXR0b24uYnV0dG9uLS1wZW5kaW5nIHsKICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgfQogIC5idXR0b24uYnV0dG9uLS1wZW5kaW5nOmFmdGVyIHsKICAgIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAxNnB4OwogICAgaW5zZXQ6IDA7CiAgICBtYXJnaW46IGF1dG87CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTZweDsKICB9CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5LmJ1dHRvbi0tcGVuZGluZzphZnRlciB7CiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQogIEBrZXlmcmFtZXMgYnV0dG9uLXNwaW5uZXIgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwdHVybik7CiAgICB9CiAgICB0byB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsKICAgIH0KICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0NhbGxUb0FjdGlvbi9DYWxsVG9BY3Rpb24uY3NzICovCi5jYWxsLXRvLWFjdGlvbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouY2FsbC10by1hY3Rpb25fX3dyYXBwZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5jYWxsLXRvLWFjdGlvbl9fYmFja2dyb3VuZCB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTc1NCcgaGVpZ2h0PScxNzk1JyBmaWxsPSdub25lJyUzRSUzQ2VsbGlwc2UgY3g9Jzg3Ni45MjMnIGN5PSc5MzcuNDU3JyBmaWxsPSclMjMwMDlBOEUnIHJ4PSczNDknIHJ5PSc4MDUuNScgdHJhbnNmb3JtPSdyb3RhdGUoNjMuOTMzIDg3Ni45MjMgOTM3LjQ1NyknLyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMxOUIzQTgnIHN0cm9rZS13aWR0aD0nMicgZD0nTTU5NC4zMDQgMTAyNy4zOUM1MDguODYgODE1Ljg2OCA0NjcuNzI5IDYwOS43ODYgNDcwLjI2NyA0NDcuNjE0YzEuMjY5LTgxLjA4OCAxMy40NTYtMTUxLjE0NyAzNi40MzktMjA1LjQwNyAyMi45ODItNTQuMjU2IDU2LjcyNS05Mi42NDcgMTAxLjA4Ni0xMTAuNTY2IDQ0LjM2MS0xNy45MTkgOTUuMzAyLTEzLjczNiAxNDkuNTE5IDkuMzM2IDU0LjIyMiAyMy4wNzQgMTExLjY0OSA2NS4wMTMgMTY4Ljg4MiAxMjIuNDcgMTE0LjQ2NyAxMTQuOTEgMjI4LjAwNyAyOTEuNzQyIDMxMy40NDcgNTAzLjI2OCA4NS40NSAyMTEuNTI1IDEyNi41OCA0MTcuNjA1IDEyNC4wNCA1NzkuNzc1LTEuMjcgODEuMDktMTMuNDUgMTUxLjE1LTM2LjQ0IDIwNS40MS0yMi45OCA1NC4yNi01Ni43MiA5Mi42NS0xMDEuMDggMTEwLjU3LTQ0LjM3IDE3LjkyLTk1LjMxIDEzLjczLTE0OS41Mi05LjM0LTU0LjIzLTIzLjA3LTExMS42NTMtNjUuMDEtMTY4Ljg4Ni0xMjIuNDctMTE0LjQ2My0xMTQuOTEtMjI4LjAwNi0yOTEuNzQtMzEzLjQ1LTUwMy4yN1onLyUzRSUzQy9zdmclM0UiKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA0cHggLTUyNnB4OwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDE3OTQuMTFweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE3NTMuODVweDsKfQouY2FsbC10by1hY3Rpb25fX2NvbnRlbnQgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy00KSA2NHB4IHZhcigtLXNwYWNpbmctNCk7CiAgei1pbmRleDogNDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhbGwtdG8tYWN0aW9uIHsKICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX193cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICAuY2FsbC10by1hY3Rpb25fX2JhY2tncm91bmQgewogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0NnB4IC02NzFweDsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy0xMik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9DaGlwL0NoaXAuY3NzICovCi5jaGlwLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtd3JhcDogd3JhcDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLmNoaXAtZ3JvdXAsCi5jaGlwX19pbnB1dC13cmFwcGVyLAouY2hpcF9fbGFiZWwgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctOCk7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQouY2hpcF9faW5wdXQgewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBpbnNldDogMDsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQouY2hpcF9faW5wdXQ6aXMoOmNoZWNrZWQsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSkgewogIG91dGxpbmU6IG5vbmU7Cn0KLmNoaXBfX2lucHV0OmRpc2FibGVkICsgLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNoaXBfX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSArIC5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoaXBfX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciArIC5jaGlwX19sYWJlbCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5jaGlwX19pbnB1dDpjaGVja2VkOmZvY3VzLXZpc2libGUgKyAuY2hpcF9fbGFiZWwgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmNoaXBfX2lucHV0Om5vdCg6ZGlzYWJsZWQpOmlzKDpjaGVja2VkLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pICsgLmNoaXBfX2xhYmVsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5jaGlwX19sYWJlbCB7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBjb2xvcjsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9JbnB1dEZpZWxkL0lucHV0RmllbGQuY3NzICovCi5pbnB1dCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogMTZweDsKICBsaW5lLWhlaWdodDogMS4zNzU7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQouaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci5pbnB1dC0tc3VjY2VzIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hbGVydC1zdWNjZXMtNTAwKTsKfQouaW5wdXRbYXJpYS1pbnZhbGlkPXRydWVdIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1lcnJvci01MDApOwp9Ci5pbnB1dDpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5pbnB1dDppcyg6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXQtLXdpdGgtcHJlZml4IHsKICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy00KSoyICsgMjRweCk7Cn0KLmlucHV0LS13aXRoLXN1ZmZpeCB7CiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nLTQpKjIgKyAyNHB4KTsKfQouaW5wdXRfX3ByZWZpeCwKLmlucHV0X19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogaW5oZXJpdDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAyNHB4Owp9Ci5pbnB1dF9fcHJlZml4IHsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5pbnB1dF9fc3VmZml4IHsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKfQppbnB1dFt0eXBlPWRhdGVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgaGVpZ2h0OiAyNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMjRweDsKICB6LWluZGV4OiAxOwp9CmlucHV0W3R5cGU9ZGF0ZV0gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQppbnB1dDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5pbnB1dF9fc3VmZml4ICsgaW5wdXRbdHlwZT1kYXRlXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICBjb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlucHV0X193cmFwcGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3RhdHVzQ2hpcC9TdGF0dXNDaGlwLmNzcyAqLwouc3RhdHVzLWNoaXAgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tc3RhdHVzLWNoaXAtY29sb3IpOwogIGZvbnQtc2l6ZTogLjhyZW07CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsZXR0ZXItc3BhY2luZzogLjAxZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKICBwYWRkaW5nOiAycHggdmFyKC0tc3BhY2luZy0yKTsKfQouc3RhdHVzLWNoaXAtLXN1Y2Nlc3MgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzLTUwMCk7CiAgLS1zdGF0dXMtY2hpcC1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnN0YXR1cy1jaGlwLS13YXJuaW5nIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0td2FybmluZy01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0tZXJyb3IgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1lcnJvci01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0tZGlzYWJsZWQgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTQwMCk7CiAgLS1zdGF0dXMtY2hpcC1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1N3aXRjaC9Td2l0Y2guY3NzICovCi5zd2l0Y2hfX2xhYmVsIHsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KLnN3aXRjaF9fdGh1bWIgewogIC0tc3dpdGNoLXdpZHRoOjUxcHg7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1wcmltYXJ5LTUwMCkgNTAlLCB2YXIoLS1uZXV0cmFsLTIwMCkgNTAlKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlOwogIGJhY2tncm91bmQtc2l6ZTogMjAwJTsKICBib3JkZXItcmFkaXVzOiAyNHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBoZWlnaHQ6IDMxcHg7CiAgbWFyZ2luOiAwOwogIG1pbi13aWR0aDogdmFyKC0tc3dpdGNoLXdpZHRoKTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB3aWR0aDogdmFyKC0tc3dpdGNoLXdpZHRoKTsKfQouc3dpdGNoX190aHVtYiwKYnV0dG9uLnN3aXRjaF9fdGh1bWIgewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQpidXR0b24uc3dpdGNoX190aHVtYiB7CiAgYm9yZGVyOiBub25lOwp9Ci5zd2l0Y2hfX3RodW1iOmNoZWNrZWQsCi5zd2l0Y2hfX3RodW1iW2RhdGEtc3RhdGU9Y2hlY2tlZF0gewogIGJhY2tncm91bmQtcG9zaXRpb246IDA7Cn0KLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogIC0tc3dpdGNoLXRodW1iLXdpZHRoOjI3cHg7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBib3gtc2hhZG93OiAwIDNweCA4cHggcmdiYSgwLCAwLCAwLCAuMTUpLCAwIDNweCAxcHggcmdiKDAgMCAwLzYlKTsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDI3cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMnB4OwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOwogIHdpZHRoOiB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpOwp9CmJ1dHRvbi5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygzLjVweCAtIHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCkpKTsKfQouc3dpdGNoX190aHVtYjpjaGVja2VkOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyh2YXIoLS1zd2l0Y2gtd2lkdGgpIC0gdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKSAtIDJweCkpOwp9CmJ1dHRvbi5zd2l0Y2hfX3RodW1iW2RhdGEtc3RhdGU9Y2hlY2tlZF06YWZ0ZXIgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMy41cHgpOwp9Ci5zd2l0Y2hfX2xhYmVsLS1kaXNhYmxlZCB7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5zd2l0Y2hfX3RodW1iOmRpc2FibGVkIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQouc3dpdGNoX190aHVtYjpkaXNhYmxlZDphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuc3dpdGNoX190aHVtYiB7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1wb3NpdGlvbjsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KICAuc3dpdGNoX190aHVtYjphZnRlciB7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvVGV4dEFyZWEvVGV4dEFyZWEuY3NzICovCi50ZXh0LWFyZWEgewogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiA0cHg7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtNDAwKTsKICBmb250LWZhbWlseTogaW5oZXJpdDsKICBmb250LXNpemU6IDFyZW07CiAgbGluZS1oZWlnaHQ6IDEuMzc1OwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRleHQtYXJlYVthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1lcnJvci01MDApOwp9Ci50ZXh0LWFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLnRleHQtYXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC50ZXh0LWFyZWE6aG92ZXIgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnRleHQtYXJlYTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Vbm9yZGVyZWRMaXN0L1Vub3JkZXJlZExpc3QuY3NzICovCi51bm9yZGVyZWQtbGlzdC0tY2hlY2sgPiBsaSB7CiAgLS1tb2JpbGUtY2hlY2s6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgLS1kZXNrdG9wLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKfQoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tb2JpbGUtY2hlY2spOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRlc2t0b3AtY2hlY2spOwogICAgaGVpZ2h0OiAzMnB4OwogICAgd2lkdGg6IDMycHg7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkQWN0aW9uL0NhcmRBY3Rpb24uY3NzICovCi5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtc2l6ZTogLjg3NXJlbTsKICBsaW5lLWhlaWdodDogMS41Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9faGVhZGVyX19hY3Rpb24gewogICAgZm9udC1zaXplOiAxLjEyNXJlbTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRCb2R5L0NhcmRCb2R5LmNzcyAqLwouY2FyZF9fYm9keSB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHkgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRFbXB0eVN0YXRlL0NhcmRFbXB0eVN0YXRlLmNzcyAqLwouY2FyZF9fZW1wdHktc3RhdGUgewogIC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW5ldXRyYWwtMTAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNzAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tZXJyb3IgewogIC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWVycm9yLTIwMCk7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWljb24tY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgewogIHBhZGRpbmc6IDA7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICBhbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIG1hcmdpbjogYXV0bzsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBmbGV4LWRpcmVjdGlvbjogcm93OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGxlZnQ7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX19pY29uLAouY2FyZF9fZW1wdHktc3RhdGVfX3RpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZV9faWNvbiB7CiAgY29sb3I6IHZhcigtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcik7CiAgZGlzcGxheTogZmxleDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgOmlzKC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUsIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24pIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fZW1wdHktc3RhdGUgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlLS1zdGFuZGFsb25lIHsKICAgIHBhZGRpbmc6IDA7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fd3JhcHBlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGVfX2Rlc2NyaXB0aW9uLAogIC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87CiAgICBtYXgtd2lkdGg6IDUyNXB4OwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgOmlzKC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUsIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24pIHsKICAgIG1heC13aWR0aDogdW5zZXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkRm9vdGVyL0NhcmRGb290ZXIuY3NzICovCi5jYXJkX19mb290ZXIgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19mb290ZXIgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRIZWFkZXIvQ2FyZEhlYWRlci5jc3MgKi8KLmNhcmRfX2hlYWRlciB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19oZWFkZXItLXN0aWNreSB7CiAgLS1jYXJkLWhlYWRlci1zdGlja3ktdG9wOjA7CiAgcG9zaXRpb246IHN0aWNreTsKICB0b3A6IHZhcigtLWNhcmQtaGVhZGVyLXN0aWNreS10b3ApOwogIHotaW5kZXg6IDE7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19oZWFkZXIgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRJdGVtL0NhcmRJdGVtLmNzcyAqLwouY2FyZF9fYm9keV9faXRlbSB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy02KTsKfQouY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogIG1hcmdpbi1ib3R0b206IDE2cHg7Cn0KLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19ib2R5X19pdGVtIC5saXN0LWl0ZW0ubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAxcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IC0xcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlciB7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06Zmlyc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIHsKICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSwgOmZpcnN0LW9mLXR5cGUpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1jaGlsZCB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9fYm9keSA+IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRUaXRsZS9DYXJkVGl0bGUuY3NzICovCi5jYXJkX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250LXNpemU6IDEuMTI1cmVtOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBsaW5lLWhlaWdodDogMS41Owp9Ci5jYXJkX19oZWFkZXJfX3RpdGxlX19pY29uIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGlubGluZS1mbGV4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9faGVhZGVyX190aXRsZSB7CiAgICBmb250LXNpemU6IDEuMjVyZW07CiAgICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAgICBsaW5lLWhlaWdodDogMS4yOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZC5jc3MgKi8KLmNhcmQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApLCBpbnNldCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNhcmQtLWRpc2FibGVkICogewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTUwMCkgIWltcG9ydGFudDsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmQgewogICAgLS1jYXJkLWJvcmRlci1yYWRpdXM6dmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIGhlaWdodDogLW1vei1maXQtY29udGVudDsKICAgIGhlaWdodDogZml0LWNvbnRlbnQ7CiAgfQogIHVsLmNhcmQgLmxpc3QtaXRlbSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB9CiAgdWwuY2FyZCAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogICAgYm94LXNoYWRvdzoKICAgICAgaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwKICAgICAgaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwKICAgICAgaW5zZXQgMCAwIDAgNXB4IHZhcigtLXByaW1hcnktMjAwKTsKICB9CiAgdWwuY2FyZCA6aXMoLmxpc3QtaXRlbTpmaXJzdC1vZi10eXBlLCAubGlzdC1pdGVtOmZpcnN0LW9mLXR5cGUgYSkgewogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQogIHVsLmNhcmQgOmlzKC5saXN0LWl0ZW06bGFzdC1vZi10eXBlLCAubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSBhKSB7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRJbWFnZVZhcmlhbnQuY3NzICovCi5jYXJkLS1pbWFnZSB7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBtYXJnaW46IGF1dG87CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmQtLWltYWdlLAouY2FyZC0taW1hZ2UgLmNhcmRfX2lsbHVzdHJhdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4Owp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9faGVhZGVyX190aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250LXNpemU6IDEuMjVyZW07CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIDA7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19ib2R5IHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBmb250LXNpemU6IDEuMTI1cmVtOwogIG1hcmdpbjogMCBhdXRvIHZhcigtLXNwYWNpbmctNik7CiAgbWF4LXdpZHRoOiA0MjBweDsKICBwYWRkaW5nOiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHBhZGRpbmc6IDA7CiAgd2lkdGg6IDEwMCU7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgewogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkLS1pbWFnZSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpIHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy0xMSk7CiAgfQogIC5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQogIC5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICAgIG1hcmdpbjogMDsKICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZExpc3QvQ2FyZExpc3QuY3NzICovCi5jYXJkLWxpc3QgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZC1saXN0IHsKICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmQtbGlzdCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgewogICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGVja2JveC9DaGVja2JveC5jc3MgKi8KLmNoZWNrYm94IHsKICAtLWNoZWNrYm94LXdpZHRoOjI0cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICA6aXMoLmNoZWNrYm94X19pbnB1dCwgLmNoZWNrYm94X19sYWJlbCk6aG92ZXIgewogICAgY3Vyc29yOiBwb2ludGVyOwogIH0KfQouY2hlY2tib3gtLW5ldXRyYWwsCi5jaGVja2JveC0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2NvbnRlbnQgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBmb250LXNpemU6IDFyZW07CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGxpbmUtaGVpZ2h0OiAxLjM3NTsKfQouY2hlY2tib3hfX3NwaW5uZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2NoZWNrLAouY2hlY2tib3hfX3NwaW5uZXIgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMzAwKTsKICBib3JkZXItcmFkaXVzOiA2cHg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1pbi13aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgdmlzaWJpbGl0eTogdW5zZXQ7Cn0KLmNoZWNrYm94LmNoZWNrYm94LS1lcnJvciAuY2hlY2tib3hfX2NoZWNrIHsKICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLmNoZWNrYm94X19pbnB1dCB7CiAgaGVpZ2h0OiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgbWFyZ2luOiAwOwogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgei1pbmRleDogMTA7Cn0KLmNoZWNrYm94X19pbnB1dCB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC03NTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoZWNrYm94X19pbnB1dDpob3ZlciB+IC5jaGVja2JveF9fY2hlY2sgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmNoZWNrYm94X19pbnB1dDpmb2N1cy13aXRoaW4gfiAuY2hlY2tib3hfX2NoZWNrIHsKICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmUtb2Zmc2V0OiAycHg7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICBzdHJva2UtZGFzaG9mZnNldDogMDsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6ZGlzYWJsZWQgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7Cn0KLmNoZWNrYm94X19sYWJlbCB7CiAgZm9udC1zaXplOiAxcmVtOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KLmNoZWNrYm94X19oaW50IHsKICBmb250LXNpemU6IDFyZW07CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9Ci5jaGVja2JveF9fZXJyb3IgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwogIGZvbnQtc2l6ZTogLjg3NXJlbTsKfQouY2hlY2tib3hfX2lucHV0OmluZGV0ZXJtaW5hdGUgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmNoZWNrYm94X19jaGVjayB7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4yNXMgZWFzZS1pbi1vdXQ7CiAgfQogIC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAuMzVzIGVhc2Utb3V0OwogIH0KICAuY2hlY2tib3hfX3NwaW5uZXIgY2lyY2xlOmxhc3Qtb2YtdHlwZSB7CiAgICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgfQogIEBrZXlmcmFtZXMgY2hlY2tib3gtc3Bpbm5lciB7CiAgICAwJSB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDB0dXJuKTsKICAgIH0KICAgIHRvIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOwogICAgfQogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NvbWJvYm94L0NvbWJvYm94LmNzcyAqLwouY29tYm9ib3ggewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQp1bFtyb2xlPWxpc3Rib3hdLmNvbWJvYm94X19saXN0LS1vcGVuIHsKICBkaXNwbGF5OiBibG9jazsKfQp1bFtyb2xlPWxpc3Rib3hdIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogbm9uZTsKICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgM3B4IDhweCByZ2IoNDYgNTkgODYvMTAlKSk7CiAgZm9udC1zaXplOiAxcmVtOwogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xKTsKICBtYXgtaGVpZ2h0OiAxNjVweDsKICBvdmVyZmxvdzogc2Nyb2xsOwogIG92ZXJmbG93LXg6IGhpZGRlbjsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMTAwJTsKICB6LWluZGV4OiAxMDAwOwp9CnVsW3JvbGU9bGlzdGJveF0gbGlbcm9sZT1vcHRpb25dIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy00KTsKfQp1bFtyb2xlPWxpc3Rib3hdIGxpW3JvbGU9b3B0aW9uXTpub3QoOmxhc3QtY2hpbGQpIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0xMDApOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1zZWxlY3RlZCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBmb250LXdlaWdodDogNjAwOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1oaWdobGlnaHQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tbG9hZGluZyB7CiAgY29sb3I6IHRyYW5zcGFyZW50OwogIGhlaWdodDogNDhweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIHVzZXItc2VsZWN0OiBub25lOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1sb2FkaW5nOmFmdGVyIHsKICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNnB4OwogIGluc2V0OiAwOwogIG1hcmdpbjogYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE2cHg7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWVtcHR5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGN1cnNvcjogZGVmYXVsdDsKICBmb250LXNpemU6IC44NzVyZW07CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkxpc3QuY3NzICovCi5kZXNjcmlwdGlvbi1saXN0LS1mb3JtIGR0IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGZvbnQtc2l6ZTogLjg3NXJlbTsKICBsaW5lLWhlaWdodDogMS40Mjg1OwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogIGZvbnQtd2VpZ2h0OiA1MDA7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kZXNjcmlwdGlvbi1saXN0LS1mb3JtIGR0IHsKICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICBmb250LXNpemU6IGluaGVyaXQ7CiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uQWN0aW9uL0Rlc2NyaXB0aW9uQWN0aW9uLmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICBmb250LXNpemU6IC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKfQouZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uID4gYSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kZXNjcmlwdGlvbi1saXN0X19pdGVtIC5kZXNjcmlwdGlvbi1saXN0X19hY3Rpb24gewogICAgZm9udC1zaXplOiAxLjEyNXJlbTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25Db250ZW50L0Rlc2NyaXB0aW9uQ29udGVudC5jc3MgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kZXNjcmlwdGlvbi1saXN0X19jb250ZW50IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAgfQogIC5kZXNjcmlwdGlvbi1saXN0X19jb250ZW50ID4gKiB7CiAgICBmbGV4OiAxOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkl0ZW0vRGVzY3JpcHRpb25JdGVtLmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9faXRlbSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4Owp9Ci5kZXNjcmlwdGlvbi1saXN0X19pdGVtID4gKiB7CiAgZmxleDogMTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjdGlwdGlvblN1ZmZpeC9EZXNjcmlwdGlvblN1ZmZpeC5jc3MgKi8KLmRlc2NyaXB0aW9uLWxpc3RfX3N1ZmZpeCB7CiAgZmxleDogMDsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0RpYWxvZy9EaWFsb2cuY3NzICovCi5kaWFsb2dbb3Blbl06OmJhY2tkcm9wIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgb3BhY2l0eTogLjI1Owp9CmJvZHk6aGFzKGRpYWxvZ1tvcGVuXSkgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KZGlhbG9nOm5vdChbb3Blbl0pIHsKICB2aXNpYmlsaXR5OiBoaWRkZW47Cn0KZGlhbG9nOmZvY3VzIHsKICBvdXRsaW5lOiBub25lOwp9Ci5kaWFsb2cgewogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgYm94LXNoYWRvdzoKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNCk7CiAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2luZy00KSoyKTsKICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogZml4ZWQ7CiAgdG9wOiAwOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDEwMDsKfQouZGlhbG9nX19oZWFkZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZDogI2ZmZjsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDsKICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBwb3NpdGlvbjogc3RpY2t5OwogIHRvcDogMDsKICB6LWluZGV4OiAxMDAwOwp9Ci5kaWFsb2dfX2hlYWRlcl9faWNvbiB7CiAgZGlzcGxheTogZmxleDsKfQouZGlhbG9nX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250LXNpemU6IDEuMjVyZW07CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAgbGluZS1oZWlnaHQ6IDEuMjsKfQouZGlhbG9nX19oZWFkZXJfX3RpdGxlOmZvY3VzIHsKICBvdXRsaW5lOiBub25lOwp9Ci5kaWFsb2dfX2JvZHksCi5kaWFsb2dfX2Zvb3RlciwKLmRpYWxvZ19faGVhZGVyIHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5kaWFsb2dfX2JvZHkgewogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLmRpYWxvZ19fYm9keSwKLmRpYWxvZ19fZm9vdGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKfQouZGlhbG9nX19mb290ZXIgewogIGJhY2tncm91bmQ6ICNmZmY7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogOHB4OwogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA4cHg7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3R0b206IDA7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOwogIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgcG9zaXRpb246IHN0aWNreTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmRpYWxvZ19fYm9keSwKICAuZGlhbG9nX19mb290ZXIsCiAgLmRpYWxvZ19faGVhZGVyIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5kaWFsb2dfX2JvZHkgewogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuZGlhbG9nIHsKICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOCk7CiAgICBtYXgtd2lkdGg6IDYwMHB4OwogIH0KICAuZGlhbG9nX19mb290ZXIgewogICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuZGlhbG9nW29wZW5dLmRpYWxvZy0tYW5pbWF0ZWQgewogICAgYW5pbWF0aW9uOiB6b29tLWluIC4xNXM7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9CiAgLmRpYWxvZzpub3QoW29wZW5dKS5kaWFsb2ctLWFuaW1hdGVkIHsKICAgIGFuaW1hdGlvbjogem9vbS1vdXQgLjE1czsKICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgLjE1czsKICB9CiAgLmRpYWxvZ1tvcGVuXS5kaWFsb2ctLWFuaW1hdGVkOjpiYWNrZHJvcCB7CiAgICBhbmltYXRpb246IGZhZGUtaW4gLjE1czsKICB9CiAgLmRpYWxvZzpub3QoW29wZW5dKS5kaWFsb2ctLWFuaW1hdGVkOjpiYWNrZHJvcCB7CiAgICBhbmltYXRpb246IGZhZGUtb3V0IC4xNXM7CiAgfQp9CkBrZXlmcmFtZXMgem9vbS1pbiB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOwogIH0KICAwLjAwMDAwMDAwMDElIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7CiAgfQp9CkBrZXlmcmFtZXMgem9vbS1vdXQgewogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7CiAgfQp9CkBrZXlmcmFtZXMgZmFkZS1pbiB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KQGtleWZyYW1lcyBmYWRlLW91dCB7CiAgMCUgewogICAgb3BhY2l0eTogLjI1OwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtLmNzcyAqLwoubGlzdC1pdGVtLAoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47Cn0KLmxpc3QtaXRlbSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayksCi5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IGluaGVyaXQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQteHRyYSk7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAxMDAlOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogICAgYm9yZGVyOiBub25lOwogIH0KfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tcHJpbWFyeS0yMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTpmb2N1cywKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1lcnJvci0yMDApOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSAubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSwKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci0yMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKSwKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyOmxhc3Qtb2YtdHlwZSB7CiAgICBib3gtc2hhZG93OiBub25lOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtQ29udGVudC9MaXN0SXRlbUNvbnRlbnQuY3NzICovCi5saXN0LWl0ZW1fX2NvbnRlbnQgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1NZXRhL0xpc3RJdGVtTWV0YS5jc3MgKi8KLmxpc3QtaXRlbV9fbWV0YSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1QcmVmaXgvTGlzdEl0ZW1QcmVmaXguY3NzICovCi5saXN0LWl0ZW1fX3ByZWZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBmbGV4Owp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4LAoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4IHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VidGl0bGUvTGlzdEl0ZW1TdWJ0aXRsZS5jc3MgKi8KLmxpc3QtaXRlbV9fc3VidGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTUwMCk7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjQ7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgLmxpc3QtaXRlbV9fc3VidGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVN1ZmZpeC9MaXN0SXRlbVN1ZmZpeC5jc3MgKi8KLmxpc3QtaXRlbV9fc3VmZml4IHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLmxpc3QtaXRlbS0td2l0aC1saW5rIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX19zdWZmaXggewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7Cn0KLmxpc3QtaXRlbS0td2l0aC1saW5rIDppcyhhLCBidXR0b24pOmFjdGl2ZSAubGlzdC1pdGVtX19zdWZmaXggewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVRleHQvTGlzdEl0ZW1UZXh0LmNzcyAqLwoubGlzdC1pdGVtX190ZXh0IHsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmxpc3QtaXRlbS5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUgLmxpc3QtaXRlbV9fdGV4dCwKLmxpc3QtaXRlbS5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSAubGlzdC1pdGVtX190ZXh0IHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtVGl0bGUvTGlzdEl0ZW1UaXRsZS5jc3MgKi8KLmxpc3QtaXRlbV9fdGl0bGUgewogIGZvbnQtd2VpZ2h0OiA1MDA7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgLmxpc3QtaXRlbV9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L0NvbnRlbnQvQ29udGVudC5jc3MgKi8KLm1lbnVfX2xpc3QgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXItcmFkaXVzOiAxMHB4OwogIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tb2RhbCksIGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IHZhcigtLXNwYWNpbmctMSk7CiAgbWFyZ2luLXRvcDogMTBweDsKICBtaW4td2lkdGg6IDIyMHB4OwogIG9wYWNpdHk6IDA7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0cmFuc2Zvcm06IHNjYWxlKC44KTsKICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgei1pbmRleDogMTAwMDAwOwp9Ci5tZW51X19saXN0LS1hY3RpdmUgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5tZW51X19saXN0LS1sZWZ0IHsKICBsZWZ0OiAwOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Owp9Ci5tZW51X19saXN0LS1yaWdodCB7CiAgcmlnaHQ6IDA7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLm1lbnVfX2xpc3QgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6CiAgICAgIHRyYW5zZm9ybSwKICAgICAgb3BhY2l0eSwKICAgICAgcm90YXRlLAogICAgICB2aXNpYmlsaXR5OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9NZW51SXRlbS9NZW51SXRlbS5jc3MgKi8KLm1lbnVfX2xpc3QtaXRlbSB7CiAgZGlzcGxheTogZmxleDsKfQoubWVudV9fbGlzdC1pdGVtID4gKiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAwOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBmb250OiBpbmhlcml0OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgbWFyZ2luOiAwIDFweDsKICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLm1lbnVfX2xpc3QtaXRlbSA+IDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5tZW51X19saXN0LWl0ZW0gPiA6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSwKLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZTpiZWZvcmUgewogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDAgMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSAuYnV0dG9uIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbi0td2l0aC1pY29uIHsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLm1lbnVfX2xpc3QtaXRlbS0tbG9nb3V0IC5idXR0b24gewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L1RyaWdnZXIvVHJpZ2dlci5jc3MgKi8KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPXRydWVdIC5idXR0b25fX2ljb24tcmlnaHQgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X190cmlnZ2VyIC5idXR0b25fX2ljb24tcmlnaHQgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudS5jc3MgKi8KLm1lbnUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGluZS1oZWlnaHQ6IDEuNTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TZWN0aW9uTWVzc2FnZS9TZWN0aW9uTWVzc2FnZS5jc3MgKi8KLnNlY3Rpb24tbWVzc2FnZSB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC04MDApOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7Cn0KLnNlY3Rpb24tbWVzc2FnZSwKLnNlY3Rpb24tbWVzc2FnZV9faWNvbiB7CiAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7Cn0KLnNlY3Rpb24tbWVzc2FnZS0taW5mbyB7CiAgYm9yZGVyLXJhZGl1czogMDsKfQouc2VjdGlvbi1tZXNzYWdlLS1wcmltYXJ5IHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1wcmltYXJ5LTcwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5LTUwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1zdWNjZXNzIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1zdWNjZXNzLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0td2FybmluZyB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0td2FybmluZy01MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0td2FybmluZy0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWVycm9yIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1lcnJvci01MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1kaXNhYmxlZCB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0tbmV1dHJhbC02MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDI0cHg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDI0cHg7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbi0taW5mbyB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uLS1wcmltYXJ5IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uLAouc2VjdGlvbi1tZXNzYWdlX190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjQyODU7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uLAouc2VjdGlvbi1tZXNzYWdlX190aXRsZSArIC5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKSAwOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiA6aXMoYSwgcCwgYnV0dG9uKSB7CiAgY29sb3I6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBwYWRkaW5nOiAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiAuYW5jaG9yOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgfQp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiAuYW5jaG9yOmFjdGl2ZSwKLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yKSwgMCAwIDAgMTBweCB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwogIGNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIDppcyhhLCBwLCBidXR0b24pIHsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuc2VjdGlvbi1tZXNzYWdlIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTUpOwogIH0KICAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgICBmb250LXNpemU6IC44NzVyZW07CiAgICBsaW5lLWhlaWdodDogMS40Mjg1OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1Bob25lTnVtYmVyL1Bob25lTnVtYmVyLmNzcyAqLwoucGhvbmUtbnVtYmVyIHsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoucGhvbmUtbnVtYmVyIC5pbnB1dF9fd3JhcHBlciB7CiAgZmxleC1ncm93OiAxOwp9Ci5waG9uZS1udW1iZXIgLnBob25lLW51bWJlcl9fY291bnRyeS1jb2RlLXNlbGVjdCB7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiA5NnB4Owp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9TZWxlY3QvU2VsZWN0LmNzcyAqLwouc2VsZWN0LXdyYXBwZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouc2VsZWN0LXdyYXBwZXI6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDI0cHg7CiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSclM0UlM0NwYXRoIHN0cm9rZT0nJTIzMDAwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS41JyBkPSdtOCAxMCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7CiAgbWFzay1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTggMTAgNCA0IDQtNCcvJTNFJTNDL3N2ZyUzRSIpOwogIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyOwogIG1hc2stcG9zaXRpb246IGNlbnRlcjsKICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7CiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsKICAtd2Via2l0LW1hc2stc2l6ZTogY292ZXI7CiAgbWFzay1zaXplOiBjb3ZlcjsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IHZhcigtLXNwYWNpbmctNCk7CiAgdG9wOiA1MCU7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogIHdpZHRoOiAyNHB4Owp9Ci5zZWxlY3QgewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxNnB4OwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMTAwJTsKfQouc2VsZWN0LS13aXRoLXBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuc2VsZWN0OmhvdmVyIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KfQouc2VsZWN0OmZvY3VzIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5zZWxlY3Qtd3JhcHBlci0tZm9jdXM6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NlZ21lbnRlZENvbnRyb2wvU2VnbWVudGVkQ29udHJvbC5jc3MgKi8KLnNlZ21lbnRlZC1jb250cm9sX19saXN0LAouc2VnbWVudGVkLWNvbnRyb2xfX3BhbmVsIHsKICBkaXNwbGF5OiBub25lOwp9Ci5oYXMtanMgLnNlZ21lbnRlZC1jb250cm9sX19saXN0LAouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbF9fcGFuZWwgewogIGRpc3BsYXk6IGJsb2NrOwp9Ci5oYXMtanMgLnNlZ21lbnRlZC1jb250cm9sIFtyb2xlPXRhYnBhbmVsXVtkYXRhLXN0YXRlPWluYWN0aXZlXSB7CiAgZGlzcGxheTogbm9uZTsKfQouc2VnbWVudGVkLWNvbnRyb2wgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouc2VnbWVudGVkLWNvbnRyb2xfX2xpc3RfX3dyYXBwZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKTsKfQouc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXIgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiA0cHg7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZmxleDogMTsKICBmb250LWZhbWlseTogaW5oZXJpdDsKICBmb250LXNpemU6IC44NzVyZW07CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsZXR0ZXItc3BhY2luZzogLjAxZW07CiAgbGluZS1oZWlnaHQ6IDEuNDI4NTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgdmFyKC0tc3BhY2luZy00KTsKICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWFjdGl2ZV0gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWFjdGl2ZV06Zm9jdXMtdmlzaWJsZSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLXByaW1hcnktNTAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICBvdXRsaW5lOiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXJbZGF0YS1zdGF0ZT1pbmFjdGl2ZV06aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIH0KfQouc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXJbZGF0YS1zdGF0ZT1pbmFjdGl2ZV06Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9UYWJzL1RhYnMuY3NzICovCi50YWJzIHsKICBkaXNwbGF5OiBub25lOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudGFicyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZm9udC1zaXplOiAxcmVtOwogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgbGluZS1oZWlnaHQ6IDEuMzc1OwogICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgpOwogICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy04KTsKICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwogICAgcG9zaXRpb246IHN0aWNreTsKICAgIHRvcDogdmFyKC0tc2l0ZS1oZWFkZXItaGVpZ2h0KTsKICAgIHotaW5kZXg6IDE1OwogIH0KICAudGFicyBhIHsKICAgIGNvbG9yOiBpbmhlcml0OwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgfQogIC50YWJzIGEuYWN0aXZlIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBmb250LXdlaWdodDogNTAwOwogIH0KICAudGFicyBhOmJlZm9yZSB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBoZWlnaHQ6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogIH0KICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgICAudGFicyBhOm5vdCguYWN0aXZlKTpob3ZlcjphZnRlciB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKICAgICAgYm90dG9tOiAwOwogICAgICBjb250ZW50OiAiIjsKICAgICAgaGVpZ2h0OiAycHg7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CiAgfQogIC50YWJzIGE6Zm9jdXMgewogICAgb3V0bGluZTogbm9uZTsKICB9CiAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6Zm9jdXM6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KICAudGFicyBhLmFjdGl2ZTphZnRlciwKICAudGFicyBhOm5vdCguYWN0aXZlKTpmb2N1czphZnRlciB7CiAgICBib3R0b206IDA7CiAgICBjb250ZW50OiAiIjsKICAgIGhlaWdodDogMnB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC50YWJzIGEuYWN0aXZlOmFmdGVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9Ub2FzdC9Ub2FzdC5jc3MgKi8KLnRvYXN0IHsKICAtLXNsaWRlLWluLWVuZDowOwogIC0tc2xpZGUtaW4tc3RhcnQ6Y2FsYygxMDAlICsgdmFyKC0tc3BhY2luZy04KSk7CiAgYW5pbWF0aW9uOiBzbGlkZS1pbiAwbXMsIHNsaWRlLW91dCAwbXMgNXMgZm9yd2FyZHM7CiAgYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwogIGhlaWdodDogYXV0bzsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgcG9zaXRpb246IGZpeGVkOwogIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwp9Ci50b2FzdC0tZXJyb3IgewogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2IoMjMwIDQ1IDUwLzUlKSwgcmdiKDIzMCA0NSA1MC81JSkpLCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDJweCAwIHZhcigtLWVycm9yLTQwMCksCiAgICAwIDc2cHggODBweCByZ2IoMCAwIDAvNyUpLAogICAgMCAyMXB4IDI0cHggcmdiKDAgMCAwLzUlKSwKICAgIDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwKICAgIDAgM3B4IDNweCByZ2IoMCAwIDAvMiUpOwogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci50b2FzdC0taW5mbyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGJveC1zaGFkb3c6CiAgICBpbnNldCAycHggMCB2YXIoLS1wcmltYXJ5LTUwMCksCiAgICAwIDc2cHggODBweCByZ2IoMCAwIDAvNyUpLAogICAgMCAyMXB4IDI0cHggcmdiKDAgMCAwLzUlKSwKICAgIDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwKICAgIDAgM3B4IDNweCByZ2IoMCAwIDAvMiUpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnRvYXN0X190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtc2l6ZTogMXJlbTsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgbGluZS1oZWlnaHQ6IDEuMzc1Owp9Ci50b2FzdF9fdGl0bGVfX2ljb24gewogIGRpc3BsYXk6IGZsZXg7Cn0KLnRvYXN0LS1pbmZvIC50b2FzdF9fdGl0bGVfX2ljb24gewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50b2FzdCB7CiAgICAtLXNsaWRlLWluLXN0YXJ0OmNhbGMoMTAwJSArIHZhcigtLXNwYWNpbmctMTIpKTsKICAgIGJvdHRvbTogdmFyKC0tc3BhY2luZy0xMCk7CiAgICBsZWZ0OiBhdXRvOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICAgIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEwKTsKICAgIHdpZHRoOiA0MjBweDsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAudG9hc3QgewogICAgYW5pbWF0aW9uOiBzbGlkZS1pbiAuM3MgZWFzZS1vdXQsIHNsaWRlLW91dCAuM3MgZWFzZS1pbiA1cyBmb3J3YXJkczsKICB9Cn0KQGtleWZyYW1lcyBzbGlkZS1pbiB7CiAgMCUgewogICAgb3BhY2l0eTogLjg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tc3RhcnQpKTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1lbmQpKTsKICB9Cn0KQGtleWZyYW1lcyBzbGlkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvVG9nZ2xlL1RvZ2dsZS5jc3MgKi8KLnRvZ2dsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9nZ2xlX19pdGVtIHsKICB3aWR0aDogMTAwJTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1N0ZXBzL1N0ZXBzLmNzcyAqLwouc3RlcHMgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7Cn0KLnN0ZXBzX19saW5rIGEsCi5zdGVwc19fbGluayBzcGFuIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouc3RlcHNfX2xpbmsgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouc3RlcHNfX2xpbmsgLnN0ZXBzX19saW5rX19jaGFyYWN0ZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgaGVpZ2h0OiB2YXIoLS1zcGFjaW5nLTYpOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGxpbmUtaGVpZ2h0OiAxLjI7CiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIpOwogIHdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwp9Ci5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy00KTsKfQouc3RlcHNfX2xpbms6Zmlyc3Qtb2YtdHlwZSAuc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnN0ZXBzX19saW5rLmFjdGl2ZSAuc3RlcHNfX2xpbmtfX2NoYXJhY3RlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zdGVwc19fbGluay5hY3RpdmUgLnN0ZXBzX19saW5rX19kaXZpZGVyLAouc3RlcHNfX2xpbmsuYWN0aXZlIGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9UaW1lbGluZS9UaW1lbGluZS5jc3MgKi8KLnRpbWVsaW5lLWNvbnRhaW5lciB7CiAgZGlzcGxheTogbm9uZTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnRpbWVsaW5lIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgd2lkdGg6IDFweDsKICB9CiAgLnRpbWVsaW5lX19sYWJlbCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBoZWlnaHQ6IDMycHg7CiAgICBtYXJnaW46IHZhcigtLXNwYWNpbmctNikgYXV0byAwOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpOwogICAgd2lkdGg6IDMycHg7CiAgICB6LWluZGV4OiAxMDsKICB9CiAgLnRpbWVsaW5lX19sYWJlbC0tcHJpbWFyeSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBib3JkZXI6IG5vbmU7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIH0KICAudGltZWxpbmVfX2xhYmVsLWNvbnRlbnQgewogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMGRlZyk7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnRpbWVsaW5lLWNvbnRhaW5lciB7CiAgICBkaXNwbGF5OiBncmlkOwogIH0KICAudGltZWxpbmUsCiAgLnRpbWVsaW5lX19sYWJlbCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBncmlkLWFyZWE6IDEvMTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvRm9ybUdyb3VwLmNzcyAqLwouZm9ybS1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0hpbnQvSGludC5jc3MgKi8KLmZvcm0tZ3JvdXBfX2Vycm9yLAouZm9ybS1ncm91cF9faGludCB7CiAgZm9udC1zaXplOiAuOHJlbTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQouZm9ybS1ncm91cF9faGludCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQouZm9ybS1ncm91cF9fZXJyb3IgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0xhYmVsL0xhYmVsLmNzcyAqLwouZm9ybS1pdGVtX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250LXNpemU6IC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNDI4NTsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1heC13aWR0aDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvUmFkaW8vUmFkaW8uY3NzICovCi5yYWRpby1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19pbnB1dC13cmFwcGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTMpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2xhYmVsIHsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5yYWRpb19faW5wdXQgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0zMDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwogIGRpc3BsYXk6IGdyaWQ7CiAgZm9udDogaW5oZXJpdDsKICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctNik7CiAgbWFyZ2luOiAwOwogIG1pbi13aWR0aDogdmFyKC0tc3BhY2luZy02KTsKICBwbGFjZS1jb250ZW50OiBjZW50ZXI7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19faW5wdXQ6aXMoOmNoZWNrZWQsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSkgewogIG91dGxpbmU6IG5vbmU7Cn0KLnJhZGlvX19pbnB1dDppcyg6Y2hlY2tlZCwgOmFjdGl2ZSkgewogIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnJhZGlvX19pbnB1dDpub3QoOmRpc2FibGVkLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlLCA6Y2hlY2tlZCk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQp9Ci5yYWRpb19faW5wdXQ6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbnRlbnQ6ICIiOwogIGRpc3BsYXk6IGJsb2NrOwogIGhlaWdodDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDUwJTsKICB0b3A6IDUwJTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpOwogIHdpZHRoOiAwOwp9Ci5yYWRpb19faW5wdXQ6Y2hlY2tlZDpiZWZvcmUgewogIGhlaWdodDogMTJweDsKICB3aWR0aDogMTJweDsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5yYWRpb19faW5wdXQ6YmVmb3JlIHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KfQo=";
755
+ O();
756
+ O();
757
+ O();
758
+ O();
759
+ O();
760
+ O();
761
+ O();
762
+ O();
763
+ O();
764
+ O();
765
+ O();
766
+ O();
767
+ O();
768
+ O();
769
+ O();
770
+ O();
771
+ O();
772
+ const Rg = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OiMwMDA7CiAgLS1uZXV0cmFsLTkwMDojMWIxZjI3OwogIC0tbmV1dHJhbC04MDA6IzJlM2I1NjsKICAtLW5ldXRyYWwtNzAwOiM0ODUyNmQ7CiAgLS1uZXV0cmFsLTYwMDojNjM3MDhhOwogIC0tbmV1dHJhbC01MDA6IzdjODlhMzsKICAtLW5ldXRyYWwtNDAwOiM5ZmFhYzA7CiAgLS1uZXV0cmFsLTMwMDojYmJjMWQzOwogIC0tbmV1dHJhbC0yMDA6I2ViZWRmNTsKICAtLW5ldXRyYWwtMTAwOiNmM2Y0ZmE7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6IzAwM2MzNzsKICAtLXByaW1hcnktODAwOiMwMDU2NGY7CiAgLS1wcmltYXJ5LTcwMDojMDA4MDc3OwogIC0tcHJpbWFyeS02MDA6IzAwOWE4ZTsKICAtLXByaW1hcnktNTAwOiMwMGFiOWU7CiAgLS1wcmltYXJ5LTQwMDojMTliM2E4OwogIC0tcHJpbWFyeS0zMDA6IzgwZDVjZjsKICAtLXByaW1hcnktMjAwOiNjY2VlZWM7CiAgLS1wcmltYXJ5LTEwMDojZTVmN2Y1OwogIC0tcHJpbWFyeS01MDojZWZmOWY5OwogIC0tc3VjY2Vzcy0yMDA6I2YyZjllYzsKICAtLXN1Y2Nlc3MtNTAwOiMwMDlhM2U7CiAgLS1lcnJvci0yMDA6I2ZlZjRmNTsKICAtLWVycm9yLTQwMDojZmY1YzVjOwogIC0tZXJyb3ItNTAwOiNlNjJkMzI7CiAgLS13YXJuaW5nLTIwMDojZmZmYWYzOwogIC0td2FybmluZy01MDA6I2RjODYzMzsKICAtLXByaW1hcnktZ3JhZGllbnQ6bGluZWFyLWdyYWRpZW50KDEzMy41M2RlZywjMTU5YTk1IDI1LjU3JSwjMTBiOGIxIDc0LjI5JSk7CiAgLS1zaGFkb3ctY2FyZDowIDNweCA4cHggcmdiYSg0Niw1OSw4NiwuMSk7CiAgLS1zaGFkb3ctbmF2OjAgMCAxMnB4IHJnYmEoNDYsNTksODYsLjEyKTsKICAtLXNoYWRvdy1idXR0b246MCA4cHggOHB4IC01cHggcmdiYSgxLDE0MSwxMzYsLjIpOwogIC0tc2hhZG93LWZhYjowIDRweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctbW9kYWw6MCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICAtLWJvcmRlci1yYWRpdXMtc206NnB4OwogIC0tYm9yZGVyLXJhZGl1cy1tZDoxMHB4OwogIC0tYm9yZGVyLXJhZGl1cy1sZzoxOHB4OwogIC0tc3BhY2luZy0xOjRweDsKICAtLXNwYWNpbmctMjo4cHg7CiAgLS1zcGFjaW5nLTM6MTJweDsKICAtLXNwYWNpbmctNDoxNnB4OwogIC0tc3BhY2luZy01OjIwcHg7CiAgLS1zcGFjaW5nLTY6MjRweDsKICAtLXNwYWNpbmctNzoyOHB4OwogIC0tc3BhY2luZy04OjMycHg7CiAgLS1zcGFjaW5nLTk6NDBweDsKICAtLXNwYWNpbmctMTA6NDhweDsKICAtLXNwYWNpbmctMTE6NTZweDsKICAtLXNwYWNpbmctMTI6NjRweDsKICAtLWZvbnQteHRyYToiTmV1ZSIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxibGlua21hY3N5c3RlbWZvbnQsIlNlZ29lIFVJIixyb2JvdG8sIkhlbHZldGljYSBOZXVlIixhcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBmb250OiA0MDAgMTZweC8yMnB4IHZhcigtLWZvbnQteHRyYSk7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwp9Ci5zci1vbmx5IHsKICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOwogIGJvcmRlci13aWR0aDogMDsKICBoZWlnaHQ6IDFweDsKICBtYXJnaW46IC0xcHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIHdpZHRoOiAxcHg7Cn0KOmlzKDpyb290LCA6aG9zdCkgKiB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgOmhvc3QsCiAgOnJvb3QgewogICAgZm9udC1zaXplOiAxOHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0FuY2hvci9BbmNob3IuY3NzICovCi5hbmNob3IgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmFuY2hvci0taW5saW5lIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0taW5saW5lOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0taW5saW5lOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0taW5saW5lOm5vdCg6YWN0aXZlKTpmb2N1cyB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5hbmNob3ItLW5ldXRyYWw6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1czphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMTAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLWRpc2FibGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BdmF0YXIvQXZhdGFyLmNzcyAqLwouYXZhdGFyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmF2YXRhci0tc21hbGwgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMSk7CiAgZm9udC1zaXplOiAuNjI1cmVtOwogIGhlaWdodDogMjRweDsKICB3aWR0aDogMjRweDsKfQouYXZhdGFyLS1tZWRpdW0gewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMik7CiAgZm9udC1zaXplOiAxLjEyNXJlbTsKICBoZWlnaHQ6IDQwcHg7CiAgd2lkdGg6IDQwcHg7Cn0KLmF2YXRhci0tbGFyZ2UgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctNCk7CiAgZm9udC1zaXplOiAyLjYyNXJlbTsKICBoZWlnaHQ6IDEwMHB4OwogIHdpZHRoOiAxMDBweDsKfQouYXZhdGFyX19pbml0aWFscyB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9CdXR0b24vQnV0dG9uLmNzcyAqLwouYnV0dG9uIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IDA7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBmb250OiBpbmhlcml0OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctOCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7CiAgd2lkdGg6IDEwMCU7Cn0KLmJ1dHRvbi0tcHJpbWFyeSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXByaW1hcnk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwogIH0KfQouYnV0dG9uLS1wcmltYXJ5OmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTYwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLXByaW1hcnktNjAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXByaW1hcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKfQouYnV0dG9uLS1kaXNhYmxlZCwKLmJ1dHRvbi0tcHJpbWFyeTpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5idXR0b24tLXNlY29uZGFyeSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgfQp9Ci5idXR0b24tLXNlY29uZGFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXNlY29uZGFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktMTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS02MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTYwMCk7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5OmRpc2FibGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5LS1maWxsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouYnV0dG9uLS10ZXJ0aWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctMSk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXNlY29uZGFyeTpob3ZlciB7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7CiAgfQp9Ci5idXR0b24tLXRlcnRpYXJ5OmFjdGl2ZSwKLmJ1dHRvbi0tdGVydGlhcnk6Zm9jdXMgewogIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7CiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXRlcnRpYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxLjVweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXRlcnRpYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS10ZXJ0aWFyeTpkaXNhYmxlZCwKLmJ1dHRvbi0tdGVydGlhcnlbYXJpYS1kaXNhYmxlZD10cnVlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9Ci5idXR0b24tLXdhcm5pbmcgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0td2FybmluZzpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci00MDApOwogIH0KfQouYnV0dG9uLS13YXJuaW5nOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tZXJyb3ItNDAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXdhcm5pbmc6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci00MDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXdhcm5pbmc6Zm9jdXM6bm90KDpob3ZlcikgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1lcnJvci01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIH0KfQouYnV0dG9uLS1uZXV0cmFsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1uZXV0cmFsOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICB9Cn0KLmJ1dHRvbi0tbmV1dHJhbDpmb2N1cyB7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTIwMCksCiAgICBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLAogICAgaW5zZXQgMCAwIDAgNHB4IHZhcigtLXByaW1hcnktMjAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLW5ldXRyYWw6YWN0aXZlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5idXR0b24tLW5ldXRyYWw6ZGlzYWJsZWQgewogIG9wYWNpdHk6IC42Owp9Ci5idXR0b24tLWljb24tLXByaW1hcnksCi5idXR0b24tLWljb24tLXNlY29uZGFyeSB7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiBpbmhlcml0OwogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIHBhZGRpbmc6IDA7CiAgd2lkdGg6IGF1dG87Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLWljb24tLXByaW1hcnk6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtOTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwp9Ci5idXR0b24tLXdpdGgtaWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouYnV0dG9uX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuYnV0dG9uIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5idXR0b24uYnV0dG9uLS1wZW5kaW5nIHsKICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgfQogIC5idXR0b24uYnV0dG9uLS1wZW5kaW5nOmFmdGVyIHsKICAgIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAxNnB4OwogICAgaW5zZXQ6IDA7CiAgICBtYXJnaW46IGF1dG87CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTZweDsKICB9CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5LmJ1dHRvbi0tcGVuZGluZzphZnRlciB7CiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQogIEBrZXlmcmFtZXMgYnV0dG9uLXNwaW5uZXIgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwdHVybik7CiAgICB9CiAgICB0byB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsKICAgIH0KICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0NhbGxUb0FjdGlvbi9DYWxsVG9BY3Rpb24uY3NzICovCi5jYWxsLXRvLWFjdGlvbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouY2FsbC10by1hY3Rpb25fX3dyYXBwZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5jYWxsLXRvLWFjdGlvbl9fYmFja2dyb3VuZCB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTc1NCcgaGVpZ2h0PScxNzk1JyBmaWxsPSdub25lJyUzRSUzQ2VsbGlwc2UgY3g9Jzg3Ni45MjMnIGN5PSc5MzcuNDU3JyBmaWxsPSclMjMwMDlBOEUnIHJ4PSczNDknIHJ5PSc4MDUuNScgdHJhbnNmb3JtPSdyb3RhdGUoNjMuOTMzIDg3Ni45MjMgOTM3LjQ1NyknLyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMxOUIzQTgnIHN0cm9rZS13aWR0aD0nMicgZD0nTTU5NC4zMDQgMTAyNy4zOUM1MDguODYgODE1Ljg2OCA0NjcuNzI5IDYwOS43ODYgNDcwLjI2NyA0NDcuNjE0YzEuMjY5LTgxLjA4OCAxMy40NTYtMTUxLjE0NyAzNi40MzktMjA1LjQwNyAyMi45ODItNTQuMjU2IDU2LjcyNS05Mi42NDcgMTAxLjA4Ni0xMTAuNTY2IDQ0LjM2MS0xNy45MTkgOTUuMzAyLTEzLjczNiAxNDkuNTE5IDkuMzM2IDU0LjIyMiAyMy4wNzQgMTExLjY0OSA2NS4wMTMgMTY4Ljg4MiAxMjIuNDcgMTE0LjQ2NyAxMTQuOTEgMjI4LjAwNyAyOTEuNzQyIDMxMy40NDcgNTAzLjI2OCA4NS40NSAyMTEuNTI1IDEyNi41OCA0MTcuNjA1IDEyNC4wNCA1NzkuNzc1LTEuMjcgODEuMDktMTMuNDUgMTUxLjE1LTM2LjQ0IDIwNS40MS0yMi45OCA1NC4yNi01Ni43MiA5Mi42NS0xMDEuMDggMTEwLjU3LTQ0LjM3IDE3LjkyLTk1LjMxIDEzLjczLTE0OS41Mi05LjM0LTU0LjIzLTIzLjA3LTExMS42NTMtNjUuMDEtMTY4Ljg4Ni0xMjIuNDctMTE0LjQ2My0xMTQuOTEtMjI4LjAwNi0yOTEuNzQtMzEzLjQ1LTUwMy4yN1onLyUzRSUzQy9zdmclM0UiKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA0cHggLTUyNnB4OwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDE3OTQuMTFweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE3NTMuODVweDsKfQouY2FsbC10by1hY3Rpb25fX2NvbnRlbnQgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy00KSA2NHB4IHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogNDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhbGwtdG8tYWN0aW9uIHsKICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX193cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICAuY2FsbC10by1hY3Rpb25fX2JhY2tncm91bmQgewogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0NnB4IC02NzFweDsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy0xMik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9DaGlwL0NoaXAuY3NzICovCi5jaGlwLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtd3JhcDogd3JhcDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLmNoaXAtZ3JvdXAsCi5jaGlwX19pbnB1dC13cmFwcGVyLAouY2hpcF9fbGFiZWwgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctOCk7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQouY2hpcF9faW5wdXQgewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBpbnNldDogMDsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQouY2hpcF9faW5wdXQ6aXMoOmNoZWNrZWQsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSkgewogIG91dGxpbmU6IG5vbmU7Cn0KLmNoaXBfX2lucHV0OmRpc2FibGVkICsgLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNoaXBfX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSArIC5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoaXBfX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciArIC5jaGlwX19sYWJlbCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5jaGlwX19pbnB1dDpjaGVja2VkOmZvY3VzLXZpc2libGUgKyAuY2hpcF9fbGFiZWwgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmNoaXBfX2lucHV0Om5vdCg6ZGlzYWJsZWQpOmlzKDpjaGVja2VkLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pICsgLmNoaXBfX2xhYmVsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5jaGlwX19sYWJlbCB7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBjb2xvcjsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9JbnB1dEZpZWxkL0lucHV0RmllbGQuY3NzICovCi5pbnB1dCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogMTZweDsKICBsaW5lLWhlaWdodDogMS4zNzU7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQouaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci5pbnB1dC0tc3VjY2VzIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hbGVydC1zdWNjZXMtNTAwKTsKfQouaW5wdXRbYXJpYS1pbnZhbGlkPXRydWVdIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1lcnJvci01MDApOwp9Ci5pbnB1dDpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5pbnB1dDppcyg6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXQtLXdpdGgtcHJlZml4IHsKICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy00KSoyICsgMjRweCk7Cn0KLmlucHV0LS13aXRoLXN1ZmZpeCB7CiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nLTQpKjIgKyAyNHB4KTsKfQouaW5wdXRfX3ByZWZpeCwKLmlucHV0X19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogaW5oZXJpdDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAyNHB4Owp9Ci5pbnB1dF9fcHJlZml4IHsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5pbnB1dF9fc3VmZml4IHsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKfQppbnB1dFt0eXBlPWRhdGVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgaGVpZ2h0OiAyNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMjRweDsKICB6LWluZGV4OiAxOwp9CmlucHV0W3R5cGU9ZGF0ZV0gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQppbnB1dDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5pbnB1dF9fc3VmZml4ICsgaW5wdXRbdHlwZT1kYXRlXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICBjb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlucHV0X193cmFwcGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3RhdHVzQ2hpcC9TdGF0dXNDaGlwLmNzcyAqLwouc3RhdHVzLWNoaXAgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tc3RhdHVzLWNoaXAtY29sb3IpOwogIGZvbnQtc2l6ZTogLjhyZW07CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsZXR0ZXItc3BhY2luZzogLjAxZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKICBwYWRkaW5nOiAycHggdmFyKC0tc3BhY2luZy0yKTsKfQouc3RhdHVzLWNoaXAtLXN1Y2Nlc3MgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzLTUwMCk7CiAgLS1zdGF0dXMtY2hpcC1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnN0YXR1cy1jaGlwLS13YXJuaW5nIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0td2FybmluZy01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0tZXJyb3IgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1lcnJvci01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0tZGlzYWJsZWQgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTQwMCk7CiAgLS1zdGF0dXMtY2hpcC1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1N3aXRjaC9Td2l0Y2guY3NzICovCi5zd2l0Y2hfX2xhYmVsIHsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KLnN3aXRjaF9fdGh1bWIgewogIC0tc3dpdGNoLXdpZHRoOjUxcHg7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1wcmltYXJ5LTUwMCkgNTAlLCB2YXIoLS1uZXV0cmFsLTIwMCkgNTAlKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlOwogIGJhY2tncm91bmQtc2l6ZTogMjAwJTsKICBib3JkZXItcmFkaXVzOiAyNHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBoZWlnaHQ6IDMxcHg7CiAgbWFyZ2luOiAwOwogIG1pbi13aWR0aDogdmFyKC0tc3dpdGNoLXdpZHRoKTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB3aWR0aDogdmFyKC0tc3dpdGNoLXdpZHRoKTsKfQouc3dpdGNoX190aHVtYiwKYnV0dG9uLnN3aXRjaF9fdGh1bWIgewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQpidXR0b24uc3dpdGNoX190aHVtYiB7CiAgYm9yZGVyOiBub25lOwp9Ci5zd2l0Y2hfX3RodW1iOmNoZWNrZWQsCi5zd2l0Y2hfX3RodW1iW2RhdGEtc3RhdGU9Y2hlY2tlZF0gewogIGJhY2tncm91bmQtcG9zaXRpb246IDA7Cn0KLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogIC0tc3dpdGNoLXRodW1iLXdpZHRoOjI3cHg7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBib3gtc2hhZG93OiAwIDNweCA4cHggcmdiYSgwLCAwLCAwLCAuMTUpLCAwIDNweCAxcHggcmdiKDAgMCAwLzYlKTsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDI3cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMnB4OwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOwogIHdpZHRoOiB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpOwp9CmJ1dHRvbi5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygzLjVweCAtIHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCkpKTsKfQouc3dpdGNoX190aHVtYjpjaGVja2VkOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyh2YXIoLS1zd2l0Y2gtd2lkdGgpIC0gdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKSAtIDJweCkpOwp9CmJ1dHRvbi5zd2l0Y2hfX3RodW1iW2RhdGEtc3RhdGU9Y2hlY2tlZF06YWZ0ZXIgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMy41cHgpOwp9Ci5zd2l0Y2hfX2xhYmVsLS1kaXNhYmxlZCB7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5zd2l0Y2hfX3RodW1iOmRpc2FibGVkIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQouc3dpdGNoX190aHVtYjpkaXNhYmxlZDphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuc3dpdGNoX190aHVtYiB7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1wb3NpdGlvbjsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KICAuc3dpdGNoX190aHVtYjphZnRlciB7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvVGV4dEFyZWEvVGV4dEFyZWEuY3NzICovCi50ZXh0LWFyZWEgewogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiA0cHg7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtNDAwKTsKICBmb250LWZhbWlseTogaW5oZXJpdDsKICBmb250LXNpemU6IDFyZW07CiAgbGluZS1oZWlnaHQ6IDEuMzc1OwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRleHQtYXJlYVthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1lcnJvci01MDApOwp9Ci50ZXh0LWFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLnRleHQtYXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC50ZXh0LWFyZWE6aG92ZXIgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnRleHQtYXJlYTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Vbm9yZGVyZWRMaXN0L1Vub3JkZXJlZExpc3QuY3NzICovCi51bm9yZGVyZWQtbGlzdC0tY2hlY2sgPiBsaSB7CiAgLS1tb2JpbGUtY2hlY2s6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgLS1kZXNrdG9wLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKfQoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tb2JpbGUtY2hlY2spOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRlc2t0b3AtY2hlY2spOwogICAgaGVpZ2h0OiAzMnB4OwogICAgd2lkdGg6IDMycHg7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkQWN0aW9uL0NhcmRBY3Rpb24uY3NzICovCi5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtc2l6ZTogLjg3NXJlbTsKICBsaW5lLWhlaWdodDogMS41Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9faGVhZGVyX19hY3Rpb24gewogICAgZm9udC1zaXplOiAxLjEyNXJlbTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRCb2R5L0NhcmRCb2R5LmNzcyAqLwouY2FyZF9fYm9keSB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHkgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRFbXB0eVN0YXRlL0NhcmRFbXB0eVN0YXRlLmNzcyAqLwouY2FyZF9fZW1wdHktc3RhdGUgewogIC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW5ldXRyYWwtMTAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNzAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tZXJyb3IgewogIC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWVycm9yLTIwMCk7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWljb24tY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgewogIHBhZGRpbmc6IDA7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICBhbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIG1hcmdpbjogYXV0bzsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBmbGV4LWRpcmVjdGlvbjogcm93OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGxlZnQ7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX19pY29uLAouY2FyZF9fZW1wdHktc3RhdGVfX3RpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZV9faWNvbiB7CiAgY29sb3I6IHZhcigtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcik7CiAgZGlzcGxheTogZmxleDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgOmlzKC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUsIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24pIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fZW1wdHktc3RhdGUgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlLS1zdGFuZGFsb25lIHsKICAgIHBhZGRpbmc6IDA7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fd3JhcHBlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGVfX2Rlc2NyaXB0aW9uLAogIC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87CiAgICBtYXgtd2lkdGg6IDUyNXB4OwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgOmlzKC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUsIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24pIHsKICAgIG1heC13aWR0aDogdW5zZXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkRm9vdGVyL0NhcmRGb290ZXIuY3NzICovCi5jYXJkX19mb290ZXIgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19mb290ZXIgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRIZWFkZXIvQ2FyZEhlYWRlci5jc3MgKi8KLmNhcmRfX2hlYWRlciB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19oZWFkZXItLXN0aWNreSB7CiAgLS1jYXJkLWhlYWRlci1zdGlja3ktdG9wOjA7CiAgcG9zaXRpb246IHN0aWNreTsKICB0b3A6IHZhcigtLWNhcmQtaGVhZGVyLXN0aWNreS10b3ApOwogIHotaW5kZXg6IDE7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19oZWFkZXIgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmNhcmRfX2hlYWRlci5jYXJkX19oZWFkZXItLXRhYnMgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2hlYWRlci5jYXJkX19oZWFkZXItLXRhYnMgLnRhYnMgewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSXRlbS9DYXJkSXRlbS5jc3MgKi8KLmNhcmRfX2JvZHlfX2l0ZW0gewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IHZhcigtLXNwYWNpbmctNik7Cn0KLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bm90KDpsYXN0LW9mLXR5cGUpIHsKICBtYXJnaW4tYm90dG9tOiAxNnB4Owp9Ci5jYXJkX19ib2R5ID4gLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQouY2FyZF9fYm9keV9faXRlbSAubGlzdC1pdGVtLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyIHsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMXB4IDAgMCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICBpbnNldCAtMXB4IDAgMCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkX19ib2R5X19pdGVtOmxhc3Qtb2YtdHlwZSAubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW0gewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSAwOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOmZpcnN0LW9mLXR5cGUgewogICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOmxhc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bm90KDpsYXN0LW9mLXR5cGUsIDpmaXJzdC1vZi10eXBlKSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm9ubHktY2hpbGQgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogICAgcGFkZGluZy10b3A6IDA7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkVGl0bGUvQ2FyZFRpdGxlLmNzcyAqLwouY2FyZF9faGVhZGVyX190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udC1zaXplOiAxLjEyNXJlbTsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgbGluZS1oZWlnaHQ6IDEuNTsKfQouY2FyZF9faGVhZGVyX190aXRsZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogICAgZm9udC1zaXplOiAxLjI1cmVtOwogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmQuY3NzICovCi5jYXJkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwgaW5zZXQgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkLS1kaXNhYmxlZCAqIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkIHsKICAgIC0tY2FyZC1ib3JkZXItcmFkaXVzOnZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7CiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OwogIH0KICB1bC5jYXJkIC5saXN0LWl0ZW0gewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQogIHVsLmNhcmQgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICAgIGJveC1zaGFkb3c6CiAgICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICAgIGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksCiAgICAgIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgfQogIHVsLmNhcmQgOmlzKC5saXN0LWl0ZW06Zmlyc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpmaXJzdC1vZi10eXBlIGEpIHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICB1bC5jYXJkIDppcygubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpsYXN0LW9mLXR5cGUgYSkgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSW1hZ2VWYXJpYW50LmNzcyAqLwouY2FyZC0taW1hZ2UgewogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkLS1pbWFnZSwKLmNhcmQtLWltYWdlIC5jYXJkX19pbGx1c3RyYXRpb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udC1zaXplOiAxLjI1cmVtOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSAwOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fYm9keSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udC1zaXplOiAxLjEyNXJlbTsKICBtYXJnaW46IDAgYXV0byB2YXIoLS1zcGFjaW5nLTYpOwogIG1heC13aWR0aDogNDIwcHg7CiAgcGFkZGluZzogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZC0taW1hZ2UgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTEpOwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7CiAgICBtYXJnaW46IDA7CiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRMaXN0L0NhcmRMaXN0LmNzcyAqLwouY2FyZC1saXN0ID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmQtbGlzdCB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkLWxpc3QgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHsKICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hlY2tib3gvQ2hlY2tib3guY3NzICovCi5jaGVja2JveCB7CiAgLS1jaGVja2JveC13aWR0aDoyNHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgOmlzKC5jaGVja2JveF9faW5wdXQsIC5jaGVja2JveF9fbGFiZWwpOmhvdmVyIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICB9Cn0KLmNoZWNrYm94LS1uZXV0cmFsLAouY2hlY2tib3gtLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udC1zaXplOiAxcmVtOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBsaW5lLWhlaWdodDogMS4zNzU7Cn0KLmNoZWNrYm94X19zcGlubmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jaGVjaywKLmNoZWNrYm94X19zcGlubmVyIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgYm9yZGVyLXJhZGl1czogNnB4OwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IHZhcigtLWNoZWNrYm94LXdpZHRoKTsKICBtaW4td2lkdGg6IHZhcigtLWNoZWNrYm94LXdpZHRoKTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHZpc2liaWxpdHk6IHVuc2V0Owp9Ci5jaGVja2JveC5jaGVja2JveC0tZXJyb3IgLmNoZWNrYm94X19jaGVjayB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5jaGVja2JveF9faW5wdXQgewogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1hcmdpbjogMDsKICBvcGFjaXR5OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHotaW5kZXg6IDEwOwp9Ci5jaGVja2JveF9faW5wdXQgfiAuY2hlY2tib3hfX2NoZWNrIHBhdGggewogIHN0cm9rZTogdmFyKC0tbmV1dHJhbC0wMDApOwogIHN0cm9rZS1kYXNob2Zmc2V0OiAtNzU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5jaGVja2JveF9faW5wdXQ6aG92ZXIgfiAuY2hlY2tib3hfX2NoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQp9Ci5jaGVja2JveF9faW5wdXQ6Zm9jdXMtd2l0aGluIH4gLmNoZWNrYm94X19jaGVjayB7CiAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lLW9mZnNldDogMnB4Owp9Ci5jaGVja2JveF9faW5wdXQ6bm90KDppbmRldGVybWluYXRlKTppcyg6Y2hlY2tlZCwgW2FyaWEtY2hlY2tlZD10cnVlXSkgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmRpc2FibGVkIH4gLmNoZWNrYm94X19jaGVjayB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1jb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9Ci5jaGVja2JveF9fbGFiZWwgewogIGZvbnQtc2l6ZTogMXJlbTsKICBsaW5lLWhlaWdodDogMS41Owp9Ci5jaGVja2JveF9faGludCB7CiAgZm9udC1zaXplOiAxcmVtOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouY2hlY2tib3hfX2Vycm9yIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICBmb250LXNpemU6IC44NzVyZW07Cn0KLmNoZWNrYm94X19pbnB1dDppbmRldGVybWluYXRlIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5jaGVja2JveF9fY2hlY2sgewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMjVzIGVhc2UtaW4tb3V0OwogIH0KICAuY2hlY2tib3hfX2NoZWNrIHBhdGggewogICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjM1cyBlYXNlLW91dDsKICB9CiAgLmNoZWNrYm94X19zcGlubmVyIGNpcmNsZTpsYXN0LW9mLXR5cGUgewogICAgYW5pbWF0aW9uOiBidXR0b24tc3Bpbm5lciAxcyBlYXNlIGluZmluaXRlOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogIH0KICBAa2V5ZnJhbWVzIGNoZWNrYm94LXNwaW5uZXIgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwdHVybik7CiAgICB9CiAgICB0byB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsKICAgIH0KICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9Db21ib2JveC9Db21ib2JveC5jc3MgKi8KLmNvbWJvYm94IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KdWxbcm9sZT1saXN0Ym94XS5jb21ib2JveF9fbGlzdC0tb3BlbiB7CiAgZGlzcGxheTogYmxvY2s7Cn0KdWxbcm9sZT1saXN0Ym94XSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IG5vbmU7CiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDNweCA4cHggcmdiKDQ2IDU5IDg2LzEwJSkpOwogIGZvbnQtc2l6ZTogMXJlbTsKICBsaXN0LXN0eWxlOiBub25lOwogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMSk7CiAgbWF4LWhlaWdodDogMTY1cHg7CiAgb3ZlcmZsb3c6IHNjcm9sbDsKICBvdmVyZmxvdy14OiBoaWRkZW47CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTAwMDsKfQp1bFtyb2xlPWxpc3Rib3hdIGxpW3JvbGU9b3B0aW9uXSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7Cn0KdWxbcm9sZT1saXN0Ym94XSBsaVtyb2xlPW9wdGlvbl06bm90KDpsYXN0LWNoaWxkKSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tc2VsZWN0ZWQgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udC13ZWlnaHQ6IDYwMDsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0taGlnaGxpZ2h0IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWxvYWRpbmcgewogIGNvbG9yOiB0cmFuc3BhcmVudDsKICBoZWlnaHQ6IDQ4cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICB1c2VyLXNlbGVjdDogbm9uZTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tbG9hZGluZzphZnRlciB7CiAgYW5pbWF0aW9uOiBidXR0b24tc3Bpbm5lciAxcyBlYXNlIGluZmluaXRlOwogIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBib3JkZXItdG9wOiA0cHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMTZweDsKICBpbnNldDogMDsKICBtYXJnaW46IGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxNnB4Owp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1lbXB0eSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBjdXJzb3I6IGRlZmF1bHQ7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25MaXN0LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250LXNpemU6IC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNDI4NTsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5kZXNjcmlwdGlvbi1saXN0LS1mb3JtIGRkIHsKICBmb250LXdlaWdodDogNTAwOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgZm9udC1zaXplOiBpbmhlcml0OwogICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkFjdGlvbi9EZXNjcmlwdGlvbkFjdGlvbi5jc3MgKi8KLmRlc2NyaXB0aW9uLWxpc3RfX2FjdGlvbiB7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2FjdGlvbiA+IGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9faXRlbSAuZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uQ29udGVudC9EZXNjcmlwdGlvbkNvbnRlbnQuY3NzICovCkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9fY29udGVudCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIH0KICAuZGVzY3JpcHRpb24tbGlzdF9fY29udGVudCA+ICogewogICAgZmxleDogMTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25JdGVtL0Rlc2NyaXB0aW9uSXRlbS5jc3MgKi8KLmRlc2NyaXB0aW9uLWxpc3RfX2l0ZW0gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouZGVzY3JpcHRpb24tbGlzdF9faXRlbSA+ICogewogIGZsZXg6IDE7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3RpcHRpb25TdWZmaXgvRGVzY3JpcHRpb25TdWZmaXguY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19zdWZmaXggewogIGZsZXg6IDA7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EaWFsb2cvRGlhbG9nLmNzcyAqLwouZGlhbG9nW29wZW5dOjpiYWNrZHJvcCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC02MDApOwogIG9wYWNpdHk6IC4yNTsKfQpib2R5OmhhcyhkaWFsb2dbb3Blbl0pIHsKICBvdmVyZmxvdzogaGlkZGVuOwp9CmRpYWxvZzpub3QoW29wZW5dKSB7CiAgdmlzaWJpbGl0eTogaGlkZGVuOwp9CmRpYWxvZzpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQouZGlhbG9nIHsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGJveC1zaGFkb3c6CiAgICAwIDc2cHggODBweCByZ2IoMCAwIDAvNyUpLAogICAgMCAyMXB4IDI0cHggcmdiKDAgMCAwLzUlKSwKICAgIDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwKICAgIDAgM3B4IDNweCByZ2IoMCAwIDAvMiUpOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwogIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7CiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGZpeGVkOwogIHRvcDogMDsKICB3aWR0aDogMTAwJTsKICB6LWluZGV4OiAxMDA7Cn0KLmRpYWxvZ19faGVhZGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQ6ICNmZmY7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7CiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgcG9zaXRpb246IHN0aWNreTsKICB0b3A6IDA7CiAgei1pbmRleDogMTAwMDsKfQouZGlhbG9nX19oZWFkZXJfX2ljb24gewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRpYWxvZ19faGVhZGVyX190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udC1zaXplOiAxLjI1cmVtOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIGxpbmUtaGVpZ2h0OiAxLjI7Cn0KLmRpYWxvZ19faGVhZGVyX190aXRsZTpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQouZGlhbG9nX19ib2R5LAouZGlhbG9nX19mb290ZXIsCi5kaWFsb2dfX2hlYWRlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQouZGlhbG9nX19ib2R5IHsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5kaWFsb2dfX2JvZHksCi5kaWFsb2dfX2Zvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19fZm9vdGVyIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm90dG9tOiAwOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIHBvc2l0aW9uOiBzdGlja3k7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kaWFsb2dfX2JvZHksCiAgLmRpYWxvZ19fZm9vdGVyLAogIC5kaWFsb2dfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuZGlhbG9nX19ib2R5IHsKICAgIGdhcDogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmRpYWxvZyB7CiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICB9CiAgLmRpYWxvZ19fZm9vdGVyIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmRpYWxvZ1tvcGVuXS5kaWFsb2ctLWFuaW1hdGVkIHsKICAgIGFuaW1hdGlvbjogem9vbS1pbiAuMTVzOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZCB7CiAgICBhbmltYXRpb246IHpvb20tb3V0IC4xNXM7CiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IC4xNXM7CiAgfQogIC5kaWFsb2dbb3Blbl0uZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLWluIC4xNXM7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLW91dCAuMTVzOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20taW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICB9CiAgMC4wMDAwMDAwMDAxJSB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20tb3V0IHsKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIGZhZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CkBrZXlmcmFtZXMgZmFkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IC4yNTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbS5jc3MgKi8KLmxpc3QtaXRlbSwKLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwp9Ci5saXN0LWl0ZW0gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspLAoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNikgdmFyKC0tc3BhY2luZy00KTsKfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgYm9yZGVyOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBmb250OiBpbmhlcml0OwogIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXh0cmEpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICB0ZXh0LWFsaWduOiBsZWZ0OwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICAgIGJvcmRlcjogbm9uZTsKICB9Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLXByaW1hcnktMjAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyIHsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIC5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6Zm9jdXMsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tZXJyb3ItMjAwKTsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItMjAwKTsKICBib3gtc2hhZG93OiBpbnNldCAycHggMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayksCiAgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlcjpsYXN0LW9mLXR5cGUgewogICAgYm94LXNoYWRvdzogbm9uZTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbUNvbnRlbnQvTGlzdEl0ZW1Db250ZW50LmNzcyAqLwoubGlzdC1pdGVtX19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtTWV0YS9MaXN0SXRlbU1ldGEuY3NzICovCi5saXN0LWl0ZW1fX21ldGEgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmb250LXdlaWdodDogNTAwOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtUHJlZml4L0xpc3RJdGVtUHJlZml4LmNzcyAqLwoubGlzdC1pdGVtX19wcmVmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IGluaGVyaXQ7CiAgZGlzcGxheTogZmxleDsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmU6bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6YWN0aXZlIC5saXN0LWl0ZW1fX3ByZWZpeCwKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3ByZWZpeCB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVN1YnRpdGxlL0xpc3RJdGVtU3VidGl0bGUuY3NzICovCi5saXN0LWl0ZW1fX3N1YnRpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApOwogIGZvbnQtc2l6ZTogLjg3NXJlbTsKICBsaW5lLWhlaWdodDogMS40Owp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3N1YnRpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1TdWZmaXgvTGlzdEl0ZW1TdWZmaXguY3NzICovCi5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4Owp9Ci5saXN0LWl0ZW0tLXdpdGgtbGluayAubGlzdC1pdGVtX19zdWZmaXggewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9Ci5saXN0LWl0ZW0tLXdpdGgtbGluayA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1UZXh0L0xpc3RJdGVtVGV4dC5jc3MgKi8KLmxpc3QtaXRlbV9fdGV4dCB7CiAgY29sb3I6IGluaGVyaXQ7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmU6bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6YWN0aXZlIC5saXN0LWl0ZW1fX3RleHQsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fdGV4dCB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVRpdGxlL0xpc3RJdGVtVGl0bGUuY3NzICovCi5saXN0LWl0ZW1fX3RpdGxlIHsKICBmb250LXdlaWdodDogNTAwOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3RpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9Db250ZW50L0NvbnRlbnQuY3NzICovCi5tZW51X19saXN0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyLXJhZGl1czogMTBweDsKICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbW9kYWwpLCBpbnNldCAwIDAgMCAxcHggdmFyKC0tbmV1dHJhbC0xMDApOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1hcmdpbi10b3A6IDEwcHg7CiAgbWluLXdpZHRoOiAyMjBweDsKICBvcGFjaXR5OiAwOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdHJhbnNmb3JtOiBzY2FsZSguOCk7CiAgdmlzaWJpbGl0eTogaGlkZGVuOwogIHotaW5kZXg6IDEwMDAwMDsKfQoubWVudV9fbGlzdC0tYWN0aXZlIHsKICBvcGFjaXR5OiAxOwogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgdmlzaWJpbGl0eTogdmlzaWJsZTsKfQoubWVudV9fbGlzdC0tbGVmdCB7CiAgbGVmdDogMDsKICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKfQoubWVudV9fbGlzdC0tcmlnaHQgewogIHJpZ2h0OiAwOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X19saXN0IHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OgogICAgICB0cmFuc2Zvcm0sCiAgICAgIG9wYWNpdHksCiAgICAgIHJvdGF0ZSwKICAgICAgdmlzaWJpbGl0eTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudUl0ZW0vTWVudUl0ZW0uY3NzICovCi5tZW51X19saXN0LWl0ZW0gewogIGRpc3BsYXk6IGZsZXg7Cn0KLm1lbnVfX2xpc3QtaXRlbSA+ICogewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMDsKICBjb2xvcjogaW5oZXJpdDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgZm9udDogaW5oZXJpdDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogIG1hcmdpbjogMCAxcHg7CiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAycHgpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy02KTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgd2lkdGg6IDEwMCU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5tZW51X19saXN0LWl0ZW0gPiA6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIH0KfQoubWVudV9fbGlzdC1pdGVtID4gOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tcHJpbWFyeS0yMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmUgewogIGJveC1zaGFkb3c6IG5vbmU7Cn0KLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmUsCi5tZW51X19saXN0LWl0ZW0gPiA6YWN0aXZlOmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS0xMDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmU6YmVmb3JlIHsKICBib3gtc2hhZG93OiBpbnNldCAycHggMCAwIDAgdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbiB7CiAgYm9yZGVyLXJhZGl1czogMDsKfQoubWVudV9fbGlzdC1pdGVtIC5idXR0b24tLXdpdGgtaWNvbiB7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtLS1sb2dvdXQgLmJ1dHRvbjpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwgaW5zZXQgMCAwIDAgNXB4IHJnYmEoMjU1LCA5MiwgOTIsIC4xKTsKfQoubWVudV9fbGlzdC1pdGVtLS1sb2dvdXQgLmJ1dHRvbjphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA5MiwgOTIsIC4xKTsKICBib3gtc2hhZG93OiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9UcmlnZ2VyL1RyaWdnZXIuY3NzICovCi5tZW51X190cmlnZ2VyW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSAuYnV0dG9uX19pY29uLXJpZ2h0IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAubWVudV9fdHJpZ2dlciAuYnV0dG9uX19pY29uLXJpZ2h0IHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L01lbnUuY3NzICovCi5tZW51IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQtc2l6ZTogLjg3NXJlbTsKICBmb250LXdlaWdodDogNTAwOwogIGxpbmUtaGVpZ2h0OiAxLjU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvU2VjdGlvbk1lc3NhZ2UvU2VjdGlvbk1lc3NhZ2UuY3NzICovCi5zZWN0aW9uLW1lc3NhZ2UgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW5ldXRyYWwtODAwKTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcik7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5zZWN0aW9uLW1lc3NhZ2UsCi5zZWN0aW9uLW1lc3NhZ2VfX2ljb24gewogIGNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWluZm8gewogIGJvcmRlci1yYWRpdXM6IDA7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tcHJpbWFyeSB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0tcHJpbWFyeS03MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeS01MCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tc3VjY2VzcyB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0tc3VjY2Vzcy01MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tc3VjY2Vzcy0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXdhcm5pbmcgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXdhcm5pbmctNTAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdhcm5pbmctMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1lcnJvciB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWVycm9yLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZGlzYWJsZWQgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLW5ldXRyYWwtNjAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW5ldXRyYWwtMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgaGVpZ2h0OiAyNHB4OwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHdpZHRoOiAyNHB4Owp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24tLWluZm8gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbi0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiwKLnNlY3Rpb24tbWVzc2FnZV9fdGl0bGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24gewogIGZvbnQtc2l6ZTogLjg3NXJlbTsKICBsaW5lLWhlaWdodDogMS40Mjg1Owp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiwKLnNlY3Rpb24tbWVzc2FnZV9fdGl0bGUgKyAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSkgMDsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gOmlzKGEsIHAsIGJ1dHRvbikgewogIGNvbG9yOiBpbmhlcml0OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgcGFkZGluZzogMDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gLmFuY2hvcjpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogIH0KfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gLmFuY2hvcjphY3RpdmUsCi5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiAuYW5jaG9yOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcik7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvciksIDAgMCAwIDEwcHggdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKICBjb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1kaXNhYmxlZCA6aXMoYSwgcCwgYnV0dG9uKSB7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnNlY3Rpb24tbWVzc2FnZSB7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy01KTsKICB9CiAgLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24gewogICAgZm9udC1zaXplOiAuODc1cmVtOwogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9QaG9uZU51bWJlci9QaG9uZU51bWJlci5jc3MgKi8KLnBob25lLW51bWJlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLnBob25lLW51bWJlciAuaW5wdXRfX3dyYXBwZXIgewogIGZsZXgtZ3JvdzogMTsKfQoucGhvbmUtbnVtYmVyIC5waG9uZS1udW1iZXJfX2NvdW50cnktY29kZS1zZWxlY3QgewogIGhlaWdodDogMTAwJTsKICB3aWR0aDogOTZweDsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU2VsZWN0L1NlbGVjdC5jc3MgKi8KLnNlbGVjdC13cmFwcGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNlbGVjdC13cmFwcGVyOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTggMTAgNCA0IDQtNCcvJTNFJTNDL3N2ZyUzRSIpOwogIG1hc2staW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J204IDEwIDQgNCA0LTQnLyUzRSUzQy9zdmclM0UiKTsKICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjsKICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7CiAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0OwogIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7CiAgLXdlYmtpdC1tYXNrLXNpemU6IGNvdmVyOwogIG1hc2stc2l6ZTogY292ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB3aWR0aDogMjRweDsKfQouc2VsZWN0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogMTZweDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7Cn0KLnNlbGVjdC0td2l0aC1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlbGVjdDpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnNlbGVjdDpmb2N1cyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouc2VsZWN0LXdyYXBwZXItLWZvY3VzOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TZWdtZW50ZWRDb250cm9sL1NlZ21lbnRlZENvbnRyb2wuY3NzICovCi5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLnNlZ21lbnRlZC1jb250cm9sX19wYW5lbCB7CiAgZGlzcGxheTogbm9uZTsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2xfX3BhbmVsIHsKICBkaXNwbGF5OiBibG9jazsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbCBbcm9sZT10YWJwYW5lbF1bZGF0YS1zdGF0ZT1pbmFjdGl2ZV0gewogIGRpc3BsYXk6IG5vbmU7Cn0KLnNlZ21lbnRlZC1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX19saXN0X193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZsZXg6IDE7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwogIGxpbmUtaGVpZ2h0OiAxLjQyODU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQouc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXJbZGF0YS1zdGF0ZT1hY3RpdmVdIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXJbZGF0YS1zdGF0ZT1hY3RpdmVdOmZvY3VzLXZpc2libGUgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9aW5hY3RpdmVdOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICB9Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9aW5hY3RpdmVdOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3gtc2hhZG93OiBpbnNldCAwIC0ycHggdmFyKC0tcHJpbWFyeS01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvVGFicy9UYWJzLmNzcyAqLwoudGFicyB7CiAgZGlzcGxheTogbm9uZTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAxMDAlOwp9Ci50YWJzLnNlZ21lbnRlZC1jb250cm9sIC50YWJzX19saW5rIHsKICB3aWR0aDogMTAwJTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCBhIHsKICBib3JkZXItcmFkaXVzOiA0cHg7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBkaXNwbGF5OiBibG9jazsKICBmb250LWZhbWlseTogaW5oZXJpdDsKICBmb250LXNpemU6IC44NzVyZW07CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsZXR0ZXItc3BhY2luZzogLjAxZW07CiAgbGluZS1oZWlnaHQ6IDEuNDI4NTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgdmFyKC0tc3BhY2luZy00KTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYS5hY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudGFicywKICAudGFicy5zZWdtZW50ZWQtY29udHJvbCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZm9udC1zaXplOiAxcmVtOwogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgbGluZS1oZWlnaHQ6IDEuMzc1OwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTgpIDAgdmFyKC0tc3BhY2luZy04KTsKICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICB0b3A6IHZhcigtLXNpdGUtaGVhZGVyLWhlaWdodCk7CiAgICB6LWluZGV4OiAxNTsKICB9CiAgLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgLnRhYnNfX2xpbmsgewogICAgd2lkdGg6IGF1dG87CiAgfQogIC50YWJzIGEsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhIHsKICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICBjb2xvcjogaW5oZXJpdDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZm9udC1zaXplOiAxMDAlOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB9CiAgLnRhYnMgYS5hY3RpdmUsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBmb250LXdlaWdodDogNTAwOwogIH0KICAudGFicyBhOmJlZm9yZSB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBoZWlnaHQ6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogIH0KICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgICAudGFicyBhOmZvY3VzIHsKICAgICAgb3V0bGluZTogbm9uZTsKICAgIH0KICAgIC50YWJzIGE6bm90KC5hY3RpdmUpOmhvdmVyOmFmdGVyIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwogICAgICBib3R0b206IDA7CiAgICAgIGNvbnRlbnQ6ICIiOwogICAgICBoZWlnaHQ6IDJweDsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB3aWR0aDogMTAwJTsKICAgIH0KICB9CiAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6Zm9jdXM6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KICAudGFicyBhLmFjdGl2ZTphZnRlciwKICAudGFicyBhOm5vdCguYWN0aXZlKTpmb2N1czphZnRlciB7CiAgICBib3R0b206IDA7CiAgICBjb250ZW50OiAiIjsKICAgIGhlaWdodDogMnB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC50YWJzIGEuYWN0aXZlOmFmdGVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9Ub2FzdC9Ub2FzdC5jc3MgKi8KLnRvYXN0IHsKICAtLXNsaWRlLWluLWVuZDowOwogIC0tc2xpZGUtaW4tc3RhcnQ6Y2FsYygxMDAlICsgdmFyKC0tc3BhY2luZy04KSk7CiAgYW5pbWF0aW9uOiBzbGlkZS1pbiAwbXMsIHNsaWRlLW91dCAwbXMgNXMgZm9yd2FyZHM7CiAgYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwogIGhlaWdodDogYXV0bzsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgcG9zaXRpb246IGZpeGVkOwogIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwp9Ci50b2FzdC0tZXJyb3IgewogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2IoMjMwIDQ1IDUwLzUlKSwgcmdiKDIzMCA0NSA1MC81JSkpLCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDJweCAwIHZhcigtLWVycm9yLTQwMCksCiAgICAwIDc2cHggODBweCByZ2IoMCAwIDAvNyUpLAogICAgMCAyMXB4IDI0cHggcmdiKDAgMCAwLzUlKSwKICAgIDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwKICAgIDAgM3B4IDNweCByZ2IoMCAwIDAvMiUpOwogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci50b2FzdC0taW5mbyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGJveC1zaGFkb3c6CiAgICBpbnNldCAycHggMCB2YXIoLS1wcmltYXJ5LTUwMCksCiAgICAwIDc2cHggODBweCByZ2IoMCAwIDAvNyUpLAogICAgMCAyMXB4IDI0cHggcmdiKDAgMCAwLzUlKSwKICAgIDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwKICAgIDAgM3B4IDNweCByZ2IoMCAwIDAvMiUpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnRvYXN0X190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtc2l6ZTogMXJlbTsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgbGluZS1oZWlnaHQ6IDEuMzc1Owp9Ci50b2FzdF9fdGl0bGVfX2ljb24gewogIGRpc3BsYXk6IGZsZXg7Cn0KLnRvYXN0LS1pbmZvIC50b2FzdF9fdGl0bGVfX2ljb24gewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50b2FzdCB7CiAgICAtLXNsaWRlLWluLXN0YXJ0OmNhbGMoMTAwJSArIHZhcigtLXNwYWNpbmctMTIpKTsKICAgIGJvdHRvbTogdmFyKC0tc3BhY2luZy0xMCk7CiAgICBsZWZ0OiBhdXRvOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICAgIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEwKTsKICAgIHdpZHRoOiA0MjBweDsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAudG9hc3QgewogICAgYW5pbWF0aW9uOiBzbGlkZS1pbiAuM3MgZWFzZS1vdXQsIHNsaWRlLW91dCAuM3MgZWFzZS1pbiA1cyBmb3J3YXJkczsKICB9Cn0KQGtleWZyYW1lcyBzbGlkZS1pbiB7CiAgMCUgewogICAgb3BhY2l0eTogLjg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tc3RhcnQpKTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1lbmQpKTsKICB9Cn0KQGtleWZyYW1lcyBzbGlkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvVG9nZ2xlL1RvZ2dsZS5jc3MgKi8KLnRvZ2dsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9nZ2xlX19pdGVtIHsKICB3aWR0aDogMTAwJTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1N0ZXBzL1N0ZXBzLmNzcyAqLwouc3RlcHMgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7Cn0KLnN0ZXBzX19saW5rIGEsCi5zdGVwc19fbGluayBzcGFuIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouc3RlcHNfX2xpbmsgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouc3RlcHNfX2xpbmsgLnN0ZXBzX19saW5rX19jaGFyYWN0ZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgaGVpZ2h0OiB2YXIoLS1zcGFjaW5nLTYpOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGxpbmUtaGVpZ2h0OiAxLjI7CiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIpOwogIHdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwp9Ci5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy00KTsKfQouc3RlcHNfX2xpbms6Zmlyc3Qtb2YtdHlwZSAuc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnN0ZXBzX19saW5rLmFjdGl2ZSAuc3RlcHNfX2xpbmtfX2NoYXJhY3RlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zdGVwc19fbGluay5hY3RpdmUgLnN0ZXBzX19saW5rX19kaXZpZGVyLAouc3RlcHNfX2xpbmsuYWN0aXZlIGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9UaW1lbGluZS9UaW1lbGluZS5jc3MgKi8KLnRpbWVsaW5lLWNvbnRhaW5lciB7CiAgZGlzcGxheTogbm9uZTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnRpbWVsaW5lIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgd2lkdGg6IDFweDsKICB9CiAgLnRpbWVsaW5lX19sYWJlbCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBoZWlnaHQ6IDMycHg7CiAgICBtYXJnaW46IHZhcigtLXNwYWNpbmctNikgYXV0byAwOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpOwogICAgd2lkdGg6IDMycHg7CiAgICB6LWluZGV4OiAxMDsKICB9CiAgLnRpbWVsaW5lX19sYWJlbC0tcHJpbWFyeSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBib3JkZXI6IG5vbmU7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIH0KICAudGltZWxpbmVfX2xhYmVsLWNvbnRlbnQgewogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMGRlZyk7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnRpbWVsaW5lLWNvbnRhaW5lciB7CiAgICBkaXNwbGF5OiBncmlkOwogIH0KICAudGltZWxpbmUsCiAgLnRpbWVsaW5lX19sYWJlbCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBncmlkLWFyZWE6IDEvMTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvRm9ybUdyb3VwLmNzcyAqLwouZm9ybS1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0hpbnQvSGludC5jc3MgKi8KLmZvcm0tZ3JvdXBfX2Vycm9yLAouZm9ybS1ncm91cF9faGludCB7CiAgZm9udC1zaXplOiAuOHJlbTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQouZm9ybS1ncm91cF9faGludCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQouZm9ybS1ncm91cF9fZXJyb3IgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0xhYmVsL0xhYmVsLmNzcyAqLwouZm9ybS1pdGVtX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250LXNpemU6IC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNDI4NTsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1heC13aWR0aDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvUmFkaW8vUmFkaW8uY3NzICovCi5yYWRpby1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19pbnB1dC13cmFwcGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTMpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2xhYmVsIHsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5yYWRpb19faW5wdXQgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0zMDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwogIGRpc3BsYXk6IGdyaWQ7CiAgZm9udDogaW5oZXJpdDsKICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctNik7CiAgbWFyZ2luOiAwOwogIG1pbi13aWR0aDogdmFyKC0tc3BhY2luZy02KTsKICBwbGFjZS1jb250ZW50OiBjZW50ZXI7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19faW5wdXQ6aXMoOmNoZWNrZWQsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSkgewogIG91dGxpbmU6IG5vbmU7Cn0KLnJhZGlvX19pbnB1dDppcyg6Y2hlY2tlZCwgOmFjdGl2ZSkgewogIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnJhZGlvX19pbnB1dDpub3QoOmRpc2FibGVkLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlLCA6Y2hlY2tlZCk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQp9Ci5yYWRpb19faW5wdXQ6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbnRlbnQ6ICIiOwogIGRpc3BsYXk6IGJsb2NrOwogIGhlaWdodDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDUwJTsKICB0b3A6IDUwJTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpOwogIHdpZHRoOiAwOwp9Ci5yYWRpb19faW5wdXQ6Y2hlY2tlZDpiZWZvcmUgewogIGhlaWdodDogMTJweDsKICB3aWR0aDogMTJweDsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5yYWRpb19faW5wdXQ6YmVmb3JlIHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KfQo=";
773
773
  var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Bs = {};
774
774
  /**
775
775
  * @license React
@@ -804,11 +804,11 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Bs = {};
804
804
  X[0] = N;
805
805
  e:
806
806
  for (var K = 0, J = X.length, _t = J >>> 1; K < _t; ) {
807
- var Ie = 2 * (K + 1) - 1, $t = X[Ie], ve = Ie + 1, tt = X[ve];
807
+ var ve = 2 * (K + 1) - 1, $t = X[ve], Ie = ve + 1, tt = X[Ie];
808
808
  if (0 > i($t, N))
809
- ve < J && 0 > i(tt, $t) ? (X[K] = tt, X[ve] = N, K = ve) : (X[K] = $t, X[Ie] = N, K = Ie);
810
- else if (ve < J && 0 > i(tt, N))
811
- X[K] = tt, X[ve] = N, K = ve;
809
+ Ie < J && 0 > i(tt, $t) ? (X[K] = tt, X[Ie] = N, K = Ie) : (X[K] = $t, X[ve] = N, K = ve);
810
+ else if (Ie < J && 0 > i(tt, N))
811
+ X[K] = tt, X[Ie] = N, K = Ie;
812
812
  else
813
813
  break e;
814
814
  }
@@ -830,7 +830,7 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Bs = {};
830
830
  return l.now() - a;
831
831
  };
832
832
  }
833
- var u = [], c = [], p = 1, g = null, f = 3, h = !1, C = !1, v = !1, w = typeof setTimeout == "function" ? setTimeout : null, d = typeof clearTimeout == "function" ? clearTimeout : null, s = typeof setImmediate < "u" ? setImmediate : null;
833
+ var u = [], c = [], p = 1, g = null, f = 3, h = !1, C = !1, I = !1, w = typeof setTimeout == "function" ? setTimeout : null, d = typeof clearTimeout == "function" ? clearTimeout : null, s = typeof setImmediate < "u" ? setImmediate : null;
834
834
  typeof navigator < "u" && navigator.scheduling !== void 0 && navigator.scheduling.isInputPending !== void 0 && navigator.scheduling.isInputPending.bind(navigator.scheduling);
835
835
  function m(X) {
836
836
  for (var A = n(c); A !== null; ) {
@@ -843,17 +843,17 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Bs = {};
843
843
  A = n(c);
844
844
  }
845
845
  }
846
- function I(X) {
847
- if (v = !1, m(X), !C)
846
+ function v(X) {
847
+ if (I = !1, m(X), !C)
848
848
  if (n(u) !== null)
849
849
  C = !0, ft(y);
850
850
  else {
851
851
  var A = n(c);
852
- A !== null && et(I, A.startTime - X);
852
+ A !== null && et(v, A.startTime - X);
853
853
  }
854
854
  }
855
855
  function y(X, A) {
856
- C = !1, v && (v = !1, d(L), L = -1), h = !0;
856
+ C = !1, I && (I = !1, d(L), L = -1), h = !0;
857
857
  var N = f;
858
858
  try {
859
859
  for (m(A), g = n(u); g !== null && (!(g.expirationTime > A) || X && !_()); ) {
@@ -869,8 +869,8 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Bs = {};
869
869
  if (g !== null)
870
870
  var _t = !0;
871
871
  else {
872
- var Ie = n(c);
873
- Ie !== null && et(I, Ie.startTime - A), _t = !1;
872
+ var ve = n(c);
873
+ ve !== null && et(v, ve.startTime - A), _t = !1;
874
874
  }
875
875
  return _t;
876
876
  } finally {
@@ -981,7 +981,7 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Bs = {};
981
981
  default:
982
982
  J = 5e3;
983
983
  }
984
- return J = N + J, X = { id: p++, callback: A, priorityLevel: X, startTime: N, expirationTime: J, sortIndex: -1 }, N > K ? (X.sortIndex = N, t(c, X), n(u) === null && X === n(c) && (v ? (d(L), L = -1) : v = !0, et(I, N - K))) : (X.sortIndex = J, t(u, X), C || h || (C = !0, ft(y))), X;
984
+ return J = N + J, X = { id: p++, callback: A, priorityLevel: X, startTime: N, expirationTime: J, sortIndex: -1 }, N > K ? (X.sortIndex = N, t(c, X), n(u) === null && X === n(c) && (I ? (d(L), L = -1) : I = !0, et(v, N - K))) : (X.sortIndex = J, t(u, X), C || h || (C = !0, ft(y))), X;
985
985
  }, e.unstable_shouldYield = _, e.unstable_wrapCallback = function(X) {
986
986
  var A = f;
987
987
  return function() {
@@ -996,7 +996,7 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Bs = {};
996
996
  };
997
997
  })(Bs);
998
998
  ks.exports = Bs;
999
- var Rg = ks.exports;
999
+ var Sg = ks.exports;
1000
1000
  /**
1001
1001
  * @license React
1002
1002
  * react-dom.production.min.js
@@ -1006,19 +1006,19 @@ var Rg = ks.exports;
1006
1006
  * This source code is licensed under the MIT license found in the
1007
1007
  * LICENSE file in the root directory of this source tree.
1008
1008
  */
1009
- var Ss = Q, We = Rg;
1009
+ var Os = Q, We = Sg;
1010
1010
  function b(e) {
1011
1011
  for (var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; n < arguments.length; n++)
1012
1012
  t += "&args[]=" + encodeURIComponent(arguments[n]);
1013
1013
  return "Minified React error #" + e + "; visit " + t + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
1014
1014
  }
1015
- var Os = /* @__PURE__ */ new Set(), rr = {};
1015
+ var Rs = /* @__PURE__ */ new Set(), rr = {};
1016
1016
  function Ut(e, t) {
1017
1017
  wn(e, t), wn(e + "Capture", t);
1018
1018
  }
1019
1019
  function wn(e, t) {
1020
1020
  for (rr[e] = t, e = 0; e < t.length; e++)
1021
- Os.add(t[e]);
1021
+ Rs.add(t[e]);
1022
1022
  }
1023
1023
  var ut = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), Bo = Object.prototype.hasOwnProperty, Kg = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, Va = {}, Fa = {};
1024
1024
  function jg(e) {
@@ -1088,22 +1088,22 @@ var ne = {};
1088
1088
  ne[e] = new ge(e, 5, !1, e.toLowerCase(), null, !1, !1);
1089
1089
  });
1090
1090
  var Bl = /[\-:]([a-z])/g;
1091
- function Sl(e) {
1091
+ function Ol(e) {
1092
1092
  return e[1].toUpperCase();
1093
1093
  }
1094
1094
  "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e) {
1095
1095
  var t = e.replace(
1096
1096
  Bl,
1097
- Sl
1097
+ Ol
1098
1098
  );
1099
1099
  ne[t] = new ge(t, 1, !1, e, null, !1, !1);
1100
1100
  });
1101
1101
  "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e) {
1102
- var t = e.replace(Bl, Sl);
1102
+ var t = e.replace(Bl, Ol);
1103
1103
  ne[t] = new ge(t, 1, !1, e, "http://www.w3.org/1999/xlink", !1, !1);
1104
1104
  });
1105
1105
  ["xml:base", "xml:lang", "xml:space"].forEach(function(e) {
1106
- var t = e.replace(Bl, Sl);
1106
+ var t = e.replace(Bl, Ol);
1107
1107
  ne[t] = new ge(t, 1, !1, e, "http://www.w3.org/XML/1998/namespace", !1, !1);
1108
1108
  });
1109
1109
  ["tabIndex", "crossOrigin"].forEach(function(e) {
@@ -1113,11 +1113,11 @@ ne.xlinkHref = new ge("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/
1113
1113
  ["src", "href", "action", "formAction"].forEach(function(e) {
1114
1114
  ne[e] = new ge(e, 1, !1, e.toLowerCase(), null, !0, !0);
1115
1115
  });
1116
- function Ol(e, t, n, r) {
1116
+ function Rl(e, t, n, r) {
1117
1117
  var i = ne.hasOwnProperty(t) ? ne[t] : null;
1118
1118
  (i !== null ? i.type !== 0 : r || !(2 < t.length) || t[0] !== "o" && t[0] !== "O" || t[1] !== "n" && t[1] !== "N") && (Fg(t, n, i, r) && (n = null), r || i === null ? jg(t) && (n === null ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) : i.mustUseProperty ? e[i.propertyName] = n === null ? i.type === 3 ? !1 : "" : n : (t = i.attributeName, r = i.attributeNamespace, n === null ? e.removeAttribute(t) : (i = i.type, n = i === 3 || i === 4 && n === !0 ? "" : "" + n, r ? e.setAttributeNS(r, t, n) : e.setAttribute(t, n))));
1119
1119
  }
1120
- var gt = Ss.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, Yr = Symbol.for("react.element"), rn = Symbol.for("react.portal"), on = Symbol.for("react.fragment"), Rl = Symbol.for("react.strict_mode"), So = Symbol.for("react.profiler"), Rs = Symbol.for("react.provider"), Ks = Symbol.for("react.context"), Kl = Symbol.for("react.forward_ref"), Oo = Symbol.for("react.suspense"), Ro = Symbol.for("react.suspense_list"), jl = Symbol.for("react.memo"), mt = Symbol.for("react.lazy"), js = Symbol.for("react.offscreen"), Ha = Symbol.iterator;
1120
+ var gt = Os.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, Yr = Symbol.for("react.element"), rn = Symbol.for("react.portal"), on = Symbol.for("react.fragment"), Sl = Symbol.for("react.strict_mode"), Oo = Symbol.for("react.profiler"), Ss = Symbol.for("react.provider"), Ks = Symbol.for("react.context"), Kl = Symbol.for("react.forward_ref"), Ro = Symbol.for("react.suspense"), So = Symbol.for("react.suspense_list"), jl = Symbol.for("react.memo"), mt = Symbol.for("react.lazy"), js = Symbol.for("react.offscreen"), Ha = Symbol.iterator;
1121
1121
  function Bn(e) {
1122
1122
  return e === null || typeof e != "object" ? null : (e = Ha && e[Ha] || e["@@iterator"], typeof e == "function" ? e : null);
1123
1123
  }
@@ -1227,20 +1227,20 @@ function Ko(e) {
1227
1227
  return "Fragment";
1228
1228
  case rn:
1229
1229
  return "Portal";
1230
- case So:
1230
+ case Oo:
1231
1231
  return "Profiler";
1232
- case Rl:
1232
+ case Sl:
1233
1233
  return "StrictMode";
1234
- case Oo:
1235
- return "Suspense";
1236
1234
  case Ro:
1235
+ return "Suspense";
1236
+ case So:
1237
1237
  return "SuspenseList";
1238
1238
  }
1239
1239
  if (typeof e == "object")
1240
1240
  switch (e.$$typeof) {
1241
1241
  case Ks:
1242
1242
  return (e.displayName || "Context") + ".Consumer";
1243
- case Rs:
1243
+ case Ss:
1244
1244
  return (e._context.displayName || "Context") + ".Provider";
1245
1245
  case Kl:
1246
1246
  var t = e.render;
@@ -1282,7 +1282,7 @@ function Mg(e) {
1282
1282
  case 16:
1283
1283
  return Ko(t);
1284
1284
  case 8:
1285
- return t === Rl ? "StrictMode" : "Mode";
1285
+ return t === Sl ? "StrictMode" : "Mode";
1286
1286
  case 22:
1287
1287
  return "Offscreen";
1288
1288
  case 12:
@@ -1372,7 +1372,7 @@ function Ma(e, t) {
1372
1372
  n = Nt(t.value != null ? t.value : n), e._wrapperState = { initialChecked: r, initialValue: n, controlled: t.type === "checkbox" || t.type === "radio" ? t.checked != null : t.value != null };
1373
1373
  }
1374
1374
  function Hs(e, t) {
1375
- t = t.checked, t != null && Ol(e, "checked", t, !1);
1375
+ t = t.checked, t != null && Rl(e, "checked", t, !1);
1376
1376
  }
1377
1377
  function Vo(e, t) {
1378
1378
  Hs(e, t);
@@ -1397,7 +1397,7 @@ function za(e, t, n) {
1397
1397
  function Fo(e, t, n) {
1398
1398
  (t !== "number" || li(e.ownerDocument) !== e) && (n == null ? e.defaultValue = "" + e._wrapperState.initialValue : e.defaultValue !== "" + n && (e.defaultValue = "" + n));
1399
1399
  }
1400
- var Tn = Array.isArray;
1400
+ var Dn = Array.isArray;
1401
1401
  function hn(e, t, n, r) {
1402
1402
  if (e = e.options, t) {
1403
1403
  t = {};
@@ -1427,7 +1427,7 @@ function xa(e, t) {
1427
1427
  if (n = t.children, t = t.defaultValue, n != null) {
1428
1428
  if (t != null)
1429
1429
  throw Error(b(92));
1430
- if (Tn(n)) {
1430
+ if (Dn(n)) {
1431
1431
  if (1 < n.length)
1432
1432
  throw Error(b(93));
1433
1433
  n = n[0];
@@ -1442,7 +1442,7 @@ function Ms(e, t) {
1442
1442
  var n = Nt(t.value), r = Nt(t.defaultValue);
1443
1443
  n != null && (n = "" + n, n !== e.value && (e.value = n), t.defaultValue == null && e.defaultValue !== n && (e.defaultValue = n)), r != null && (e.defaultValue = "" + r);
1444
1444
  }
1445
- function Ta(e) {
1445
+ function Da(e) {
1446
1446
  var t = e.textContent;
1447
1447
  t === e._wrapperState.initialValue && t !== "" && t !== null && (e.value = t);
1448
1448
  }
@@ -1535,21 +1535,21 @@ Object.keys(Qn).forEach(function(e) {
1535
1535
  t = t + e.charAt(0).toUpperCase() + e.substring(1), Qn[t] = Qn[e];
1536
1536
  });
1537
1537
  });
1538
- function Ts(e, t, n) {
1538
+ function Ds(e, t, n) {
1539
1539
  return t == null || typeof t == "boolean" || t === "" ? "" : n || typeof t != "number" || t === 0 || Qn.hasOwnProperty(e) && Qn[e] ? ("" + t).trim() : t + "px";
1540
1540
  }
1541
- function Ds(e, t) {
1541
+ function Ts(e, t) {
1542
1542
  e = e.style;
1543
1543
  for (var n in t)
1544
1544
  if (t.hasOwnProperty(n)) {
1545
- var r = n.indexOf("--") === 0, i = Ts(n, t[n], r);
1545
+ var r = n.indexOf("--") === 0, i = Ds(n, t[n], r);
1546
1546
  n === "float" && (n = "cssFloat"), r ? e.setProperty(n, i) : e[n] = i;
1547
1547
  }
1548
1548
  }
1549
- var Tg = x({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 });
1549
+ var Dg = x({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 });
1550
1550
  function zo(e, t) {
1551
1551
  if (t) {
1552
- if (Tg[e] && (t.children != null || t.dangerouslySetInnerHTML != null))
1552
+ if (Dg[e] && (t.children != null || t.dangerouslySetInnerHTML != null))
1553
1553
  throw Error(b(137, e));
1554
1554
  if (t.dangerouslySetInnerHTML != null) {
1555
1555
  if (t.children != null)
@@ -1578,28 +1578,28 @@ function xo(e, t) {
1578
1578
  return !0;
1579
1579
  }
1580
1580
  }
1581
- var To = null;
1581
+ var Do = null;
1582
1582
  function Vl(e) {
1583
1583
  return e = e.target || e.srcElement || window, e.correspondingUseElement && (e = e.correspondingUseElement), e.nodeType === 3 ? e.parentNode : e;
1584
1584
  }
1585
- var Do = null, Cn = null, In = null;
1586
- function Da(e) {
1585
+ var To = null, Cn = null, vn = null;
1586
+ function Ta(e) {
1587
1587
  if (e = Zr(e)) {
1588
- if (typeof Do != "function")
1588
+ if (typeof To != "function")
1589
1589
  throw Error(b(280));
1590
1590
  var t = e.stateNode;
1591
- t && (t = Vi(t), Do(e.stateNode, e.type, t));
1591
+ t && (t = Vi(t), To(e.stateNode, e.type, t));
1592
1592
  }
1593
1593
  }
1594
1594
  function Js(e) {
1595
- Cn ? In ? In.push(e) : In = [e] : Cn = e;
1595
+ Cn ? vn ? vn.push(e) : vn = [e] : Cn = e;
1596
1596
  }
1597
1597
  function Qs() {
1598
1598
  if (Cn) {
1599
- var e = Cn, t = In;
1600
- if (In = Cn = null, Da(e), t)
1599
+ var e = Cn, t = vn;
1600
+ if (vn = Cn = null, Ta(e), t)
1601
1601
  for (e = 0; e < t.length; e++)
1602
- Da(t[e]);
1602
+ Ta(t[e]);
1603
1603
  }
1604
1604
  }
1605
1605
  function Es(e, t) {
@@ -1615,7 +1615,7 @@ function Ps(e, t, n) {
1615
1615
  try {
1616
1616
  return Es(e, t, n);
1617
1617
  } finally {
1618
- lo = !1, (Cn !== null || In !== null) && (Us(), Qs());
1618
+ lo = !1, (Cn !== null || vn !== null) && (Us(), Qs());
1619
1619
  }
1620
1620
  }
1621
1621
  function or(e, t) {
@@ -1653,14 +1653,14 @@ function or(e, t) {
1653
1653
  var Jo = !1;
1654
1654
  if (ut)
1655
1655
  try {
1656
- var Sn = {};
1657
- Object.defineProperty(Sn, "passive", { get: function() {
1656
+ var On = {};
1657
+ Object.defineProperty(On, "passive", { get: function() {
1658
1658
  Jo = !0;
1659
- } }), window.addEventListener("test", Sn, Sn), window.removeEventListener("test", Sn, Sn);
1659
+ } }), window.addEventListener("test", On, On), window.removeEventListener("test", On, On);
1660
1660
  } catch {
1661
1661
  Jo = !1;
1662
1662
  }
1663
- function Dg(e, t, n, r, i, o, l, a, u) {
1663
+ function Tg(e, t, n, r, i, o, l, a, u) {
1664
1664
  var c = Array.prototype.slice.call(arguments, 3);
1665
1665
  try {
1666
1666
  t.apply(n, c);
@@ -1672,7 +1672,7 @@ var En = !1, ai = null, ui = !1, Qo = null, Jg = { onError: function(e) {
1672
1672
  En = !0, ai = e;
1673
1673
  } };
1674
1674
  function Qg(e, t, n, r, i, o, l, a, u) {
1675
- En = !1, ai = null, Dg.apply(Jg, arguments);
1675
+ En = !1, ai = null, Tg.apply(Jg, arguments);
1676
1676
  }
1677
1677
  function Eg(e, t, n, r, i, o, l, a, u) {
1678
1678
  if (Qg.apply(this, arguments), En) {
@@ -1789,11 +1789,11 @@ function qs(e) {
1789
1789
  }
1790
1790
  return null;
1791
1791
  }
1792
- var ec = We.unstable_scheduleCallback, Qa = We.unstable_cancelCallback, Pg = We.unstable_shouldYield, _g = We.unstable_requestPaint, D = We.unstable_now, $g = We.unstable_getCurrentPriorityLevel, Fl = We.unstable_ImmediatePriority, tc = We.unstable_UserBlockingPriority, si = We.unstable_NormalPriority, qg = We.unstable_LowPriority, nc = We.unstable_IdlePriority, Oi = null, Ue = null;
1792
+ var ec = We.unstable_scheduleCallback, Qa = We.unstable_cancelCallback, Pg = We.unstable_shouldYield, _g = We.unstable_requestPaint, T = We.unstable_now, $g = We.unstable_getCurrentPriorityLevel, Fl = We.unstable_ImmediatePriority, tc = We.unstable_UserBlockingPriority, si = We.unstable_NormalPriority, qg = We.unstable_LowPriority, nc = We.unstable_IdlePriority, Ri = null, Ue = null;
1793
1793
  function ef(e) {
1794
1794
  if (Ue && typeof Ue.onCommitFiberRoot == "function")
1795
1795
  try {
1796
- Ue.onCommitFiberRoot(Oi, e, void 0, (e.current.flags & 128) === 128);
1796
+ Ue.onCommitFiberRoot(Ri, e, void 0, (e.current.flags & 128) === 128);
1797
1797
  } catch {
1798
1798
  }
1799
1799
  }
@@ -1802,7 +1802,7 @@ function rf(e) {
1802
1802
  return e >>>= 0, e === 0 ? 32 : 31 - (tf(e) / nf | 0) | 0;
1803
1803
  }
1804
1804
  var kr = 64, Br = 4194304;
1805
- function Dn(e) {
1805
+ function Tn(e) {
1806
1806
  switch (e & -e) {
1807
1807
  case 1:
1808
1808
  return 1;
@@ -1858,9 +1858,9 @@ function ci(e, t) {
1858
1858
  var r = 0, i = e.suspendedLanes, o = e.pingedLanes, l = n & 268435455;
1859
1859
  if (l !== 0) {
1860
1860
  var a = l & ~i;
1861
- a !== 0 ? r = Dn(a) : (o &= l, o !== 0 && (r = Dn(o)));
1861
+ a !== 0 ? r = Tn(a) : (o &= l, o !== 0 && (r = Tn(o)));
1862
1862
  } else
1863
- l = n & ~i, l !== 0 ? r = Dn(l) : o !== 0 && (r = Dn(o));
1863
+ l = n & ~i, l !== 0 ? r = Tn(l) : o !== 0 && (r = Tn(o));
1864
1864
  if (r === 0)
1865
1865
  return 0;
1866
1866
  if (t !== 0 && t !== r && !(t & i) && (i = r & -r, o = t & -t, i >= o || i === 16 && (o & 4194240) !== 0))
@@ -1948,11 +1948,11 @@ function Hl(e, t) {
1948
1948
  i & t | e[r] & t && (e[r] |= t), n &= ~i;
1949
1949
  }
1950
1950
  }
1951
- var R = 0;
1951
+ var S = 0;
1952
1952
  function ic(e) {
1953
1953
  return e &= -e, 1 < e ? 4 < e ? e & 268435455 ? 16 : 536870912 : 4 : 1;
1954
1954
  }
1955
- var oc, Ml, lc, ac, uc, Uo = !1, Sr = [], bt = null, wt = null, Zt = null, lr = /* @__PURE__ */ new Map(), ar = /* @__PURE__ */ new Map(), Ct = [], uf = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");
1955
+ var oc, Ml, lc, ac, uc, Uo = !1, Or = [], bt = null, wt = null, Zt = null, lr = /* @__PURE__ */ new Map(), ar = /* @__PURE__ */ new Map(), Ct = [], uf = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");
1956
1956
  function Ea(e, t) {
1957
1957
  switch (e) {
1958
1958
  case "focusin":
@@ -1976,22 +1976,22 @@ function Ea(e, t) {
1976
1976
  ar.delete(t.pointerId);
1977
1977
  }
1978
1978
  }
1979
- function On(e, t, n, r, i, o) {
1979
+ function Rn(e, t, n, r, i, o) {
1980
1980
  return e === null || e.nativeEvent !== o ? (e = { blockedOn: t, domEventName: n, eventSystemFlags: r, nativeEvent: o, targetContainers: [i] }, t !== null && (t = Zr(t), t !== null && Ml(t)), e) : (e.eventSystemFlags |= r, t = e.targetContainers, i !== null && t.indexOf(i) === -1 && t.push(i), e);
1981
1981
  }
1982
1982
  function sf(e, t, n, r, i) {
1983
1983
  switch (t) {
1984
1984
  case "focusin":
1985
- return bt = On(bt, e, t, n, r, i), !0;
1985
+ return bt = Rn(bt, e, t, n, r, i), !0;
1986
1986
  case "dragenter":
1987
- return wt = On(wt, e, t, n, r, i), !0;
1987
+ return wt = Rn(wt, e, t, n, r, i), !0;
1988
1988
  case "mouseover":
1989
- return Zt = On(Zt, e, t, n, r, i), !0;
1989
+ return Zt = Rn(Zt, e, t, n, r, i), !0;
1990
1990
  case "pointerover":
1991
1991
  var o = i.pointerId;
1992
- return lr.set(o, On(lr.get(o) || null, e, t, n, r, i)), !0;
1992
+ return lr.set(o, Rn(lr.get(o) || null, e, t, n, r, i)), !0;
1993
1993
  case "gotpointercapture":
1994
- return o = i.pointerId, ar.set(o, On(ar.get(o) || null, e, t, n, r, i)), !0;
1994
+ return o = i.pointerId, ar.set(o, Rn(ar.get(o) || null, e, t, n, r, i)), !0;
1995
1995
  }
1996
1996
  return !1;
1997
1997
  }
@@ -2023,7 +2023,7 @@ function Er(e) {
2023
2023
  if (n === null) {
2024
2024
  n = e.nativeEvent;
2025
2025
  var r = new n.constructor(n.type, n);
2026
- To = r, n.target.dispatchEvent(r), To = null;
2026
+ Do = r, n.target.dispatchEvent(r), Do = null;
2027
2027
  } else
2028
2028
  return t = Zr(n), t !== null && Ml(t), e.blockedOn = n, !1;
2029
2029
  t.shift();
@@ -2036,61 +2036,61 @@ function Ua(e, t, n) {
2036
2036
  function cf() {
2037
2037
  Uo = !1, bt !== null && Er(bt) && (bt = null), wt !== null && Er(wt) && (wt = null), Zt !== null && Er(Zt) && (Zt = null), lr.forEach(Ua), ar.forEach(Ua);
2038
2038
  }
2039
- function Rn(e, t) {
2039
+ function Sn(e, t) {
2040
2040
  e.blockedOn === t && (e.blockedOn = null, Uo || (Uo = !0, We.unstable_scheduleCallback(We.unstable_NormalPriority, cf)));
2041
2041
  }
2042
2042
  function ur(e) {
2043
2043
  function t(i) {
2044
- return Rn(i, e);
2044
+ return Sn(i, e);
2045
2045
  }
2046
- if (0 < Sr.length) {
2047
- Rn(Sr[0], e);
2048
- for (var n = 1; n < Sr.length; n++) {
2049
- var r = Sr[n];
2046
+ if (0 < Or.length) {
2047
+ Sn(Or[0], e);
2048
+ for (var n = 1; n < Or.length; n++) {
2049
+ var r = Or[n];
2050
2050
  r.blockedOn === e && (r.blockedOn = null);
2051
2051
  }
2052
2052
  }
2053
- for (bt !== null && Rn(bt, e), wt !== null && Rn(wt, e), Zt !== null && Rn(Zt, e), lr.forEach(t), ar.forEach(t), n = 0; n < Ct.length; n++)
2053
+ for (bt !== null && Sn(bt, e), wt !== null && Sn(wt, e), Zt !== null && Sn(Zt, e), lr.forEach(t), ar.forEach(t), n = 0; n < Ct.length; n++)
2054
2054
  r = Ct[n], r.blockedOn === e && (r.blockedOn = null);
2055
2055
  for (; 0 < Ct.length && (n = Ct[0], n.blockedOn === null); )
2056
2056
  sc(n), n.blockedOn === null && Ct.shift();
2057
2057
  }
2058
- var vn = gt.ReactCurrentBatchConfig, di = !0;
2058
+ var In = gt.ReactCurrentBatchConfig, di = !0;
2059
2059
  function df(e, t, n, r) {
2060
- var i = R, o = vn.transition;
2061
- vn.transition = null;
2060
+ var i = S, o = In.transition;
2061
+ In.transition = null;
2062
2062
  try {
2063
- R = 1, zl(e, t, n, r);
2063
+ S = 1, zl(e, t, n, r);
2064
2064
  } finally {
2065
- R = i, vn.transition = o;
2065
+ S = i, In.transition = o;
2066
2066
  }
2067
2067
  }
2068
2068
  function gf(e, t, n, r) {
2069
- var i = R, o = vn.transition;
2070
- vn.transition = null;
2069
+ var i = S, o = In.transition;
2070
+ In.transition = null;
2071
2071
  try {
2072
- R = 4, zl(e, t, n, r);
2072
+ S = 4, zl(e, t, n, r);
2073
2073
  } finally {
2074
- R = i, vn.transition = o;
2074
+ S = i, In.transition = o;
2075
2075
  }
2076
2076
  }
2077
2077
  function zl(e, t, n, r) {
2078
2078
  if (di) {
2079
2079
  var i = Po(e, t, n, r);
2080
2080
  if (i === null)
2081
- Io(e, t, r, gi, n), Ea(e, r);
2081
+ vo(e, t, r, gi, n), Ea(e, r);
2082
2082
  else if (sf(i, e, t, n, r))
2083
2083
  r.stopPropagation();
2084
2084
  else if (Ea(e, r), t & 4 && -1 < uf.indexOf(e)) {
2085
2085
  for (; i !== null; ) {
2086
2086
  var o = Zr(i);
2087
- if (o !== null && oc(o), o = Po(e, t, n, r), o === null && Io(e, t, r, gi, n), o === i)
2087
+ if (o !== null && oc(o), o = Po(e, t, n, r), o === null && vo(e, t, r, gi, n), o === i)
2088
2088
  break;
2089
2089
  i = o;
2090
2090
  }
2091
2091
  i !== null && r.stopPropagation();
2092
2092
  } else
2093
- Io(e, t, r, null, n);
2093
+ vo(e, t, r, null, n);
2094
2094
  }
2095
2095
  }
2096
2096
  var gi = null;
@@ -2202,11 +2202,11 @@ function cc(e) {
2202
2202
  return 16;
2203
2203
  }
2204
2204
  }
2205
- var vt = null, xl = null, Ur = null;
2205
+ var It = null, xl = null, Ur = null;
2206
2206
  function dc() {
2207
2207
  if (Ur)
2208
2208
  return Ur;
2209
- var e, t = xl, n = t.length, r, i = "value" in vt ? vt.value : vt.textContent, o = i.length;
2209
+ var e, t = xl, n = t.length, r, i = "value" in It ? It.value : It.textContent, o = i.length;
2210
2210
  for (e = 0; e < n && t[e] === i[e]; e++)
2211
2211
  ;
2212
2212
  var l = n - e;
@@ -2218,7 +2218,7 @@ function Pr(e) {
2218
2218
  var t = e.keyCode;
2219
2219
  return "charCode" in e ? (e = e.charCode, e === 0 && t === 13 && (e = 13)) : e = t, e === 10 && (e = 13), 32 <= e || e === 13 ? e : 0;
2220
2220
  }
2221
- function Or() {
2221
+ function Rr() {
2222
2222
  return !0;
2223
2223
  }
2224
2224
  function Pa() {
@@ -2229,29 +2229,29 @@ function Xe(e) {
2229
2229
  this._reactName = n, this._targetInst = i, this.type = r, this.nativeEvent = o, this.target = l, this.currentTarget = null;
2230
2230
  for (var a in e)
2231
2231
  e.hasOwnProperty(a) && (n = e[a], this[a] = n ? n(o) : o[a]);
2232
- return this.isDefaultPrevented = (o.defaultPrevented != null ? o.defaultPrevented : o.returnValue === !1) ? Or : Pa, this.isPropagationStopped = Pa, this;
2232
+ return this.isDefaultPrevented = (o.defaultPrevented != null ? o.defaultPrevented : o.returnValue === !1) ? Rr : Pa, this.isPropagationStopped = Pa, this;
2233
2233
  }
2234
2234
  return x(t.prototype, { preventDefault: function() {
2235
2235
  this.defaultPrevented = !0;
2236
2236
  var n = this.nativeEvent;
2237
- n && (n.preventDefault ? n.preventDefault() : typeof n.returnValue != "unknown" && (n.returnValue = !1), this.isDefaultPrevented = Or);
2237
+ n && (n.preventDefault ? n.preventDefault() : typeof n.returnValue != "unknown" && (n.returnValue = !1), this.isDefaultPrevented = Rr);
2238
2238
  }, stopPropagation: function() {
2239
2239
  var n = this.nativeEvent;
2240
- n && (n.stopPropagation ? n.stopPropagation() : typeof n.cancelBubble != "unknown" && (n.cancelBubble = !0), this.isPropagationStopped = Or);
2240
+ n && (n.stopPropagation ? n.stopPropagation() : typeof n.cancelBubble != "unknown" && (n.cancelBubble = !0), this.isPropagationStopped = Rr);
2241
2241
  }, persist: function() {
2242
- }, isPersistent: Or }), t;
2242
+ }, isPersistent: Rr }), t;
2243
2243
  }
2244
2244
  var Nn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
2245
2245
  return e.timeStamp || Date.now();
2246
- }, defaultPrevented: 0, isTrusted: 0 }, Tl = Xe(Nn), wr = x({}, Nn, { view: 0, detail: 0 }), ff = Xe(wr), uo, so, Kn, Ri = x({}, wr, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: Dl, button: 0, buttons: 0, relatedTarget: function(e) {
2246
+ }, defaultPrevented: 0, isTrusted: 0 }, Dl = Xe(Nn), wr = x({}, Nn, { view: 0, detail: 0 }), ff = Xe(wr), uo, so, Kn, Si = x({}, wr, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: Tl, button: 0, buttons: 0, relatedTarget: function(e) {
2247
2247
  return e.relatedTarget === void 0 ? e.fromElement === e.srcElement ? e.toElement : e.fromElement : e.relatedTarget;
2248
2248
  }, movementX: function(e) {
2249
2249
  return "movementX" in e ? e.movementX : (e !== Kn && (Kn && e.type === "mousemove" ? (uo = e.screenX - Kn.screenX, so = e.screenY - Kn.screenY) : so = uo = 0, Kn = e), uo);
2250
2250
  }, movementY: function(e) {
2251
2251
  return "movementY" in e ? e.movementY : so;
2252
- } }), _a = Xe(Ri), pf = x({}, Ri, { dataTransfer: 0 }), mf = Xe(pf), hf = x({}, wr, { relatedTarget: 0 }), co = Xe(hf), Cf = x({}, Nn, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), If = Xe(Cf), vf = x({}, Nn, { clipboardData: function(e) {
2252
+ } }), _a = Xe(Si), pf = x({}, Si, { dataTransfer: 0 }), mf = Xe(pf), hf = x({}, wr, { relatedTarget: 0 }), co = Xe(hf), Cf = x({}, Nn, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), vf = Xe(Cf), If = x({}, Nn, { clipboardData: function(e) {
2253
2253
  return "clipboardData" in e ? e.clipboardData : window.clipboardData;
2254
- } }), yf = Xe(vf), bf = x({}, Nn, { data: 0 }), $a = Xe(bf), wf = {
2254
+ } }), yf = Xe(If), bf = x({}, Nn, { data: 0 }), $a = Xe(bf), wf = {
2255
2255
  Esc: "Escape",
2256
2256
  Spacebar: " ",
2257
2257
  Left: "ArrowLeft",
@@ -2306,7 +2306,7 @@ function Lf(e) {
2306
2306
  var t = this.nativeEvent;
2307
2307
  return t.getModifierState ? t.getModifierState(e) : (e = Wf[e]) ? !!t[e] : !1;
2308
2308
  }
2309
- function Dl() {
2309
+ function Tl() {
2310
2310
  return Lf;
2311
2311
  }
2312
2312
  var Xf = x({}, wr, { key: function(e) {
@@ -2316,13 +2316,13 @@ var Xf = x({}, wr, { key: function(e) {
2316
2316
  return t;
2317
2317
  }
2318
2318
  return e.type === "keypress" ? (e = Pr(e), e === 13 ? "Enter" : String.fromCharCode(e)) : e.type === "keydown" || e.type === "keyup" ? Zf[e.keyCode] || "Unidentified" : "";
2319
- }, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: Dl, charCode: function(e) {
2319
+ }, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: Tl, charCode: function(e) {
2320
2320
  return e.type === "keypress" ? Pr(e) : 0;
2321
2321
  }, keyCode: function(e) {
2322
2322
  return e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
2323
2323
  }, which: function(e) {
2324
2324
  return e.type === "keypress" ? Pr(e) : e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
2325
- } }), Gf = Xe(Xf), Yf = x({}, Ri, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), qa = Xe(Yf), Af = x({}, wr, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: Dl }), Nf = Xe(Af), kf = x({}, Nn, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), Bf = Xe(kf), Sf = x({}, Ri, {
2325
+ } }), Gf = Xe(Xf), Yf = x({}, Si, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), qa = Xe(Yf), Af = x({}, wr, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: Tl }), Nf = Xe(Af), kf = x({}, Nn, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), Bf = Xe(kf), Of = x({}, Si, {
2326
2326
  deltaX: function(e) {
2327
2327
  return "deltaX" in e ? e.deltaX : "wheelDeltaX" in e ? -e.wheelDeltaX : 0;
2328
2328
  },
@@ -2331,13 +2331,13 @@ var Xf = x({}, wr, { key: function(e) {
2331
2331
  },
2332
2332
  deltaZ: 0,
2333
2333
  deltaMode: 0
2334
- }), Of = Xe(Sf), Rf = [9, 13, 27, 32], Jl = ut && "CompositionEvent" in window, Un = null;
2334
+ }), Rf = Xe(Of), Sf = [9, 13, 27, 32], Jl = ut && "CompositionEvent" in window, Un = null;
2335
2335
  ut && "documentMode" in document && (Un = document.documentMode);
2336
2336
  var Kf = ut && "TextEvent" in window && !Un, gc = ut && (!Jl || Un && 8 < Un && 11 >= Un), eu = String.fromCharCode(32), tu = !1;
2337
2337
  function fc(e, t) {
2338
2338
  switch (e) {
2339
2339
  case "keyup":
2340
- return Rf.indexOf(t.keyCode) !== -1;
2340
+ return Sf.indexOf(t.keyCode) !== -1;
2341
2341
  case "keydown":
2342
2342
  return t.keyCode !== 229;
2343
2343
  case "keypress":
@@ -2366,7 +2366,7 @@ function jf(e, t) {
2366
2366
  }
2367
2367
  function Vf(e, t) {
2368
2368
  if (ln)
2369
- return e === "compositionend" || !Jl && fc(e, t) ? (e = dc(), Ur = xl = vt = null, ln = !1, e) : null;
2369
+ return e === "compositionend" || !Jl && fc(e, t) ? (e = dc(), Ur = xl = It = null, ln = !1, e) : null;
2370
2370
  switch (e) {
2371
2371
  case "paste":
2372
2372
  return null;
@@ -2390,7 +2390,7 @@ function nu(e) {
2390
2390
  return t === "input" ? !!Ff[e.type] : t === "textarea";
2391
2391
  }
2392
2392
  function mc(e, t, n, r) {
2393
- Js(r), t = fi(t, "onChange"), 0 < t.length && (n = new Tl("onChange", "change", null, n, r), e.push({ event: n, listeners: t }));
2393
+ Js(r), t = fi(t, "onChange"), 0 < t.length && (n = new Dl("onChange", "change", null, n, r), e.push({ event: n, listeners: t }));
2394
2394
  }
2395
2395
  var Pn = null, sr = null;
2396
2396
  function Hf(e) {
@@ -2435,11 +2435,11 @@ function xf(e) {
2435
2435
  if (e === "selectionchange" || e === "keyup" || e === "keydown")
2436
2436
  return Ki(sr);
2437
2437
  }
2438
- function Tf(e, t) {
2438
+ function Df(e, t) {
2439
2439
  if (e === "click")
2440
2440
  return Ki(t);
2441
2441
  }
2442
- function Df(e, t) {
2442
+ function Tf(e, t) {
2443
2443
  if (e === "input" || e === "change")
2444
2444
  return Ki(t);
2445
2445
  }
@@ -2489,10 +2489,10 @@ function lu(e, t) {
2489
2489
  n = ou(n);
2490
2490
  }
2491
2491
  }
2492
- function Ic(e, t) {
2493
- return e && t ? e === t ? !0 : e && e.nodeType === 3 ? !1 : t && t.nodeType === 3 ? Ic(e, t.parentNode) : "contains" in e ? e.contains(t) : e.compareDocumentPosition ? !!(e.compareDocumentPosition(t) & 16) : !1 : !1;
2492
+ function vc(e, t) {
2493
+ return e && t ? e === t ? !0 : e && e.nodeType === 3 ? !1 : t && t.nodeType === 3 ? vc(e, t.parentNode) : "contains" in e ? e.contains(t) : e.compareDocumentPosition ? !!(e.compareDocumentPosition(t) & 16) : !1 : !1;
2494
2494
  }
2495
- function vc() {
2495
+ function Ic() {
2496
2496
  for (var e = window, t = li(); t instanceof e.HTMLIFrameElement; ) {
2497
2497
  try {
2498
2498
  var n = typeof t.contentWindow.location.href == "string";
@@ -2512,8 +2512,8 @@ function Ql(e) {
2512
2512
  return t && (t === "input" && (e.type === "text" || e.type === "search" || e.type === "tel" || e.type === "url" || e.type === "password") || t === "textarea" || e.contentEditable === "true");
2513
2513
  }
2514
2514
  function Qf(e) {
2515
- var t = vc(), n = e.focusedElem, r = e.selectionRange;
2516
- if (t !== n && n && n.ownerDocument && Ic(n.ownerDocument.documentElement, n)) {
2515
+ var t = Ic(), n = e.focusedElem, r = e.selectionRange;
2516
+ if (t !== n && n && n.ownerDocument && vc(n.ownerDocument.documentElement, n)) {
2517
2517
  if (r !== null && Ql(n)) {
2518
2518
  if (t = r.start, e = r.end, e === void 0 && (e = t), "selectionStart" in n)
2519
2519
  n.selectionStart = t, n.selectionEnd = Math.min(e, n.value.length);
@@ -2537,13 +2537,13 @@ function Qf(e) {
2537
2537
  var Ef = ut && "documentMode" in document && 11 >= document.documentMode, an = null, _o = null, _n = null, $o = !1;
2538
2538
  function au(e, t, n) {
2539
2539
  var r = n.window === n ? n.document : n.nodeType === 9 ? n : n.ownerDocument;
2540
- $o || an == null || an !== li(r) || (r = an, "selectionStart" in r && Ql(r) ? r = { start: r.selectionStart, end: r.selectionEnd } : (r = (r.ownerDocument && r.ownerDocument.defaultView || window).getSelection(), r = { anchorNode: r.anchorNode, anchorOffset: r.anchorOffset, focusNode: r.focusNode, focusOffset: r.focusOffset }), _n && cr(_n, r) || (_n = r, r = fi(_o, "onSelect"), 0 < r.length && (t = new Tl("onSelect", "select", null, t, n), e.push({ event: t, listeners: r }), t.target = an)));
2540
+ $o || an == null || an !== li(r) || (r = an, "selectionStart" in r && Ql(r) ? r = { start: r.selectionStart, end: r.selectionEnd } : (r = (r.ownerDocument && r.ownerDocument.defaultView || window).getSelection(), r = { anchorNode: r.anchorNode, anchorOffset: r.anchorOffset, focusNode: r.focusNode, focusOffset: r.focusOffset }), _n && cr(_n, r) || (_n = r, r = fi(_o, "onSelect"), 0 < r.length && (t = new Dl("onSelect", "select", null, t, n), e.push({ event: t, listeners: r }), t.target = an)));
2541
2541
  }
2542
- function Rr(e, t) {
2542
+ function Sr(e, t) {
2543
2543
  var n = {};
2544
2544
  return n[e.toLowerCase()] = t.toLowerCase(), n["Webkit" + e] = "webkit" + t, n["Moz" + e] = "moz" + t, n;
2545
2545
  }
2546
- var un = { animationend: Rr("Animation", "AnimationEnd"), animationiteration: Rr("Animation", "AnimationIteration"), animationstart: Rr("Animation", "AnimationStart"), transitionend: Rr("Transition", "TransitionEnd") }, po = {}, yc = {};
2546
+ var un = { animationend: Sr("Animation", "AnimationEnd"), animationiteration: Sr("Animation", "AnimationIteration"), animationstart: Sr("Animation", "AnimationStart"), transitionend: Sr("Transition", "TransitionEnd") }, po = {}, yc = {};
2547
2547
  ut && (yc = document.createElement("div").style, "AnimationEvent" in window || (delete un.animationend.animation, delete un.animationiteration.animation, delete un.animationstart.animation), "TransitionEvent" in window || delete un.transitionend.transition);
2548
2548
  function ji(e) {
2549
2549
  if (po[e])
@@ -2557,20 +2557,20 @@ function ji(e) {
2557
2557
  return e;
2558
2558
  }
2559
2559
  var bc = ji("animationend"), wc = ji("animationiteration"), Zc = ji("animationstart"), Wc = ji("transitionend"), Lc = /* @__PURE__ */ new Map(), uu = "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");
2560
- function St(e, t) {
2560
+ function Ot(e, t) {
2561
2561
  Lc.set(e, t), Ut(t, [e]);
2562
2562
  }
2563
2563
  for (var mo = 0; mo < uu.length; mo++) {
2564
2564
  var ho = uu[mo], Uf = ho.toLowerCase(), Pf = ho[0].toUpperCase() + ho.slice(1);
2565
- St(Uf, "on" + Pf);
2566
- }
2567
- St(bc, "onAnimationEnd");
2568
- St(wc, "onAnimationIteration");
2569
- St(Zc, "onAnimationStart");
2570
- St("dblclick", "onDoubleClick");
2571
- St("focusin", "onFocus");
2572
- St("focusout", "onBlur");
2573
- St(Wc, "onTransitionEnd");
2565
+ Ot(Uf, "on" + Pf);
2566
+ }
2567
+ Ot(bc, "onAnimationEnd");
2568
+ Ot(wc, "onAnimationIteration");
2569
+ Ot(Zc, "onAnimationStart");
2570
+ Ot("dblclick", "onDoubleClick");
2571
+ Ot("focusin", "onFocus");
2572
+ Ot("focusout", "onBlur");
2573
+ Ot(Wc, "onTransitionEnd");
2574
2574
  wn("onMouseEnter", ["mouseout", "mouseover"]);
2575
2575
  wn("onMouseLeave", ["mouseout", "mouseover"]);
2576
2576
  wn("onPointerEnter", ["pointerout", "pointerover"]);
@@ -2624,7 +2624,7 @@ function Co(e, t, n) {
2624
2624
  var Kr = "_reactListening" + Math.random().toString(36).slice(2);
2625
2625
  function dr(e) {
2626
2626
  if (!e[Kr]) {
2627
- e[Kr] = !0, Os.forEach(function(n) {
2627
+ e[Kr] = !0, Rs.forEach(function(n) {
2628
2628
  n !== "selectionchange" && (_f.has(n) || Co(n, !1, e), Co(n, !0, e));
2629
2629
  });
2630
2630
  var t = e.nodeType === 9 ? e : e.ownerDocument;
@@ -2644,7 +2644,7 @@ function Gc(e, t, n, r) {
2644
2644
  }
2645
2645
  n = i.bind(null, t, n, e), i = void 0, !Jo || t !== "touchstart" && t !== "touchmove" && t !== "wheel" || (i = !0), r ? i !== void 0 ? e.addEventListener(t, n, { capture: !0, passive: i }) : e.addEventListener(t, n, !0) : i !== void 0 ? e.addEventListener(t, n, { passive: i }) : e.addEventListener(t, n, !1);
2646
2646
  }
2647
- function Io(e, t, n, r, i) {
2647
+ function vo(e, t, n, r, i) {
2648
2648
  var o = r;
2649
2649
  if (!(t & 1) && !(t & 2) && r !== null)
2650
2650
  e:
@@ -2680,7 +2680,7 @@ function Io(e, t, n, r, i) {
2680
2680
  e: {
2681
2681
  var f = Lc.get(e);
2682
2682
  if (f !== void 0) {
2683
- var h = Tl, C = e;
2683
+ var h = Dl, C = e;
2684
2684
  switch (e) {
2685
2685
  case "keypress":
2686
2686
  if (Pr(n) === 0)
@@ -2731,7 +2731,7 @@ function Io(e, t, n, r, i) {
2731
2731
  case bc:
2732
2732
  case wc:
2733
2733
  case Zc:
2734
- h = If;
2734
+ h = vf;
2735
2735
  break;
2736
2736
  case Wc:
2737
2737
  h = Bf;
@@ -2740,7 +2740,7 @@ function Io(e, t, n, r, i) {
2740
2740
  h = ff;
2741
2741
  break;
2742
2742
  case "wheel":
2743
- h = Of;
2743
+ h = Rf;
2744
2744
  break;
2745
2745
  case "copy":
2746
2746
  case "cut":
@@ -2757,43 +2757,43 @@ function Io(e, t, n, r, i) {
2757
2757
  case "pointerup":
2758
2758
  h = qa;
2759
2759
  }
2760
- var v = (t & 4) !== 0, w = !v && e === "scroll", d = v ? f !== null ? f + "Capture" : null : f;
2761
- v = [];
2760
+ var I = (t & 4) !== 0, w = !I && e === "scroll", d = I ? f !== null ? f + "Capture" : null : f;
2761
+ I = [];
2762
2762
  for (var s = c, m; s !== null; ) {
2763
2763
  m = s;
2764
- var I = m.stateNode;
2765
- if (m.tag === 5 && I !== null && (m = I, d !== null && (I = or(s, d), I != null && v.push(gr(s, I, m)))), w)
2764
+ var v = m.stateNode;
2765
+ if (m.tag === 5 && v !== null && (m = v, d !== null && (v = or(s, d), v != null && I.push(gr(s, v, m)))), w)
2766
2766
  break;
2767
2767
  s = s.return;
2768
2768
  }
2769
- 0 < v.length && (f = new h(f, C, null, n, p), g.push({ event: f, listeners: v }));
2769
+ 0 < I.length && (f = new h(f, C, null, n, p), g.push({ event: f, listeners: I }));
2770
2770
  }
2771
2771
  }
2772
2772
  if (!(t & 7)) {
2773
2773
  e: {
2774
- if (f = e === "mouseover" || e === "pointerover", h = e === "mouseout" || e === "pointerout", f && n !== To && (C = n.relatedTarget || n.fromElement) && (Ft(C) || C[st]))
2774
+ if (f = e === "mouseover" || e === "pointerover", h = e === "mouseout" || e === "pointerout", f && n !== Do && (C = n.relatedTarget || n.fromElement) && (Ft(C) || C[st]))
2775
2775
  break e;
2776
2776
  if ((h || f) && (f = p.window === p ? p : (f = p.ownerDocument) ? f.defaultView || f.parentWindow : window, h ? (C = n.relatedTarget || n.toElement, h = c, C = C ? Ft(C) : null, C !== null && (w = Pt(C), C !== w || C.tag !== 5 && C.tag !== 6) && (C = null)) : (h = null, C = c), h !== C)) {
2777
- if (v = _a, I = "onMouseLeave", d = "onMouseEnter", s = "mouse", (e === "pointerout" || e === "pointerover") && (v = qa, I = "onPointerLeave", d = "onPointerEnter", s = "pointer"), w = h == null ? f : sn(h), m = C == null ? f : sn(C), f = new v(I, s + "leave", h, n, p), f.target = w, f.relatedTarget = m, I = null, Ft(p) === c && (v = new v(d, s + "enter", C, n, p), v.target = m, v.relatedTarget = w, I = v), w = I, h && C)
2777
+ if (I = _a, v = "onMouseLeave", d = "onMouseEnter", s = "mouse", (e === "pointerout" || e === "pointerover") && (I = qa, v = "onPointerLeave", d = "onPointerEnter", s = "pointer"), w = h == null ? f : sn(h), m = C == null ? f : sn(C), f = new I(v, s + "leave", h, n, p), f.target = w, f.relatedTarget = m, v = null, Ft(p) === c && (I = new I(d, s + "enter", C, n, p), I.target = m, I.relatedTarget = w, v = I), w = v, h && C)
2778
2778
  t: {
2779
- for (v = h, d = C, s = 0, m = v; m; m = en(m))
2779
+ for (I = h, d = C, s = 0, m = I; m; m = en(m))
2780
2780
  s++;
2781
- for (m = 0, I = d; I; I = en(I))
2781
+ for (m = 0, v = d; v; v = en(v))
2782
2782
  m++;
2783
2783
  for (; 0 < s - m; )
2784
- v = en(v), s--;
2784
+ I = en(I), s--;
2785
2785
  for (; 0 < m - s; )
2786
2786
  d = en(d), m--;
2787
2787
  for (; s--; ) {
2788
- if (v === d || d !== null && v === d.alternate)
2788
+ if (I === d || d !== null && I === d.alternate)
2789
2789
  break t;
2790
- v = en(v), d = en(d);
2790
+ I = en(I), d = en(d);
2791
2791
  }
2792
- v = null;
2792
+ I = null;
2793
2793
  }
2794
2794
  else
2795
- v = null;
2796
- h !== null && cu(g, f, h, v, !1), C !== null && w !== null && cu(g, w, C, v, !0);
2795
+ I = null;
2796
+ h !== null && cu(g, f, h, I, !1), C !== null && w !== null && cu(g, w, C, I, !0);
2797
2797
  }
2798
2798
  }
2799
2799
  e: {
@@ -2801,13 +2801,13 @@ function Io(e, t, n, r, i) {
2801
2801
  var y = Mf;
2802
2802
  else if (nu(f))
2803
2803
  if (hc)
2804
- y = Df;
2804
+ y = Tf;
2805
2805
  else {
2806
2806
  y = xf;
2807
2807
  var Z = zf;
2808
2808
  }
2809
2809
  else
2810
- (h = f.nodeName) && h.toLowerCase() === "input" && (f.type === "checkbox" || f.type === "radio") && (y = Tf);
2810
+ (h = f.nodeName) && h.toLowerCase() === "input" && (f.type === "checkbox" || f.type === "radio") && (y = Df);
2811
2811
  if (y && (y = y(e, c))) {
2812
2812
  mc(g, y, n, p);
2813
2813
  break e;
@@ -2854,7 +2854,7 @@ function Io(e, t, n, r, i) {
2854
2854
  }
2855
2855
  else
2856
2856
  ln ? fc(e, n) && (L = "onCompositionEnd") : e === "keydown" && n.keyCode === 229 && (L = "onCompositionStart");
2857
- L && (gc && n.locale !== "ko" && (ln || L !== "onCompositionStart" ? L === "onCompositionEnd" && ln && (W = dc()) : (vt = p, xl = "value" in vt ? vt.value : vt.textContent, ln = !0)), Z = fi(c, L), 0 < Z.length && (L = new $a(L, e, null, n, p), g.push({ event: L, listeners: Z }), W ? L.data = W : (W = pc(n), W !== null && (L.data = W)))), (W = Kf ? jf(e, n) : Vf(e, n)) && (c = fi(c, "onBeforeInput"), 0 < c.length && (p = new $a("onBeforeInput", "beforeinput", null, n, p), g.push({ event: p, listeners: c }), p.data = W));
2857
+ L && (gc && n.locale !== "ko" && (ln || L !== "onCompositionStart" ? L === "onCompositionEnd" && ln && (W = dc()) : (It = p, xl = "value" in It ? It.value : It.textContent, ln = !0)), Z = fi(c, L), 0 < Z.length && (L = new $a(L, e, null, n, p), g.push({ event: L, listeners: Z }), W ? L.data = W : (W = pc(n), W !== null && (L.data = W)))), (W = Kf ? jf(e, n) : Vf(e, n)) && (c = fi(c, "onBeforeInput"), 0 < c.length && (p = new $a("onBeforeInput", "beforeinput", null, n, p), g.push({ event: p, listeners: c }), p.data = W));
2858
2858
  }
2859
2859
  Xc(g, t);
2860
2860
  });
@@ -2909,7 +2909,7 @@ function np(e) {
2909
2909
  throw e;
2910
2910
  });
2911
2911
  }
2912
- function vo(e, t) {
2912
+ function Io(e, t) {
2913
2913
  var n = t, r = 0;
2914
2914
  do {
2915
2915
  var i = n.nextSibling;
@@ -2987,7 +2987,7 @@ function Vi(e) {
2987
2987
  return e[fr] || null;
2988
2988
  }
2989
2989
  var il = [], cn = -1;
2990
- function Ot(e) {
2990
+ function Rt(e) {
2991
2991
  return { current: e };
2992
2992
  }
2993
2993
  function F(e) {
@@ -2996,7 +2996,7 @@ function F(e) {
2996
2996
  function j(e, t) {
2997
2997
  cn++, il[cn] = e.current, e.current = t;
2998
2998
  }
2999
- var kt = {}, ae = Ot(kt), me = Ot(!1), Tt = kt;
2999
+ var kt = {}, ae = Rt(kt), me = Rt(!1), Dt = kt;
3000
3000
  function Zn(e, t) {
3001
3001
  var n = e.type.contextTypes;
3002
3002
  if (!n)
@@ -3031,13 +3031,13 @@ function Yc(e, t, n) {
3031
3031
  return x({}, n, r);
3032
3032
  }
3033
3033
  function hi(e) {
3034
- return e = (e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext || kt, Tt = ae.current, j(ae, e), j(me, me.current), !0;
3034
+ return e = (e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext || kt, Dt = ae.current, j(ae, e), j(me, me.current), !0;
3035
3035
  }
3036
3036
  function mu(e, t, n) {
3037
3037
  var r = e.stateNode;
3038
3038
  if (!r)
3039
3039
  throw Error(b(169));
3040
- n ? (e = Yc(e, t, Tt), r.__reactInternalMemoizedMergedChildContext = e, F(me), F(ae), j(ae, e)) : F(me), j(me, n);
3040
+ n ? (e = Yc(e, t, Dt), r.__reactInternalMemoizedMergedChildContext = e, F(me), F(ae), j(ae, e)) : F(me), j(me, n);
3041
3041
  }
3042
3042
  var it = null, Fi = !1, yo = !1;
3043
3043
  function Ac(e) {
@@ -3046,13 +3046,13 @@ function Ac(e) {
3046
3046
  function op(e) {
3047
3047
  Fi = !0, Ac(e);
3048
3048
  }
3049
- function Rt() {
3049
+ function St() {
3050
3050
  if (!yo && it !== null) {
3051
3051
  yo = !0;
3052
- var e = 0, t = R;
3052
+ var e = 0, t = S;
3053
3053
  try {
3054
3054
  var n = it;
3055
- for (R = 1; e < n.length; e++) {
3055
+ for (S = 1; e < n.length; e++) {
3056
3056
  var r = n[e];
3057
3057
  do
3058
3058
  r = r(!0);
@@ -3060,19 +3060,19 @@ function Rt() {
3060
3060
  }
3061
3061
  it = null, Fi = !1;
3062
3062
  } catch (i) {
3063
- throw it !== null && (it = it.slice(e + 1)), ec(Fl, Rt), i;
3063
+ throw it !== null && (it = it.slice(e + 1)), ec(Fl, St), i;
3064
3064
  } finally {
3065
- R = t, yo = !1;
3065
+ S = t, yo = !1;
3066
3066
  }
3067
3067
  }
3068
3068
  return null;
3069
3069
  }
3070
- var dn = [], gn = 0, Ci = null, Ii = 0, Ge = [], Ye = 0, Dt = null, ot = 1, lt = "";
3070
+ var dn = [], gn = 0, Ci = null, vi = 0, Ge = [], Ye = 0, Tt = null, ot = 1, lt = "";
3071
3071
  function jt(e, t) {
3072
- dn[gn++] = Ii, dn[gn++] = Ci, Ci = e, Ii = t;
3072
+ dn[gn++] = vi, dn[gn++] = Ci, Ci = e, vi = t;
3073
3073
  }
3074
3074
  function Nc(e, t, n) {
3075
- Ge[Ye++] = ot, Ge[Ye++] = lt, Ge[Ye++] = Dt, Dt = e;
3075
+ Ge[Ye++] = ot, Ge[Ye++] = lt, Ge[Ye++] = Tt, Tt = e;
3076
3076
  var r = ot;
3077
3077
  e = lt;
3078
3078
  var i = 32 - He(r) - 1;
@@ -3089,9 +3089,9 @@ function El(e) {
3089
3089
  }
3090
3090
  function Ul(e) {
3091
3091
  for (; e === Ci; )
3092
- Ci = dn[--gn], dn[gn] = null, Ii = dn[--gn], dn[gn] = null;
3093
- for (; e === Dt; )
3094
- Dt = Ge[--Ye], Ge[Ye] = null, lt = Ge[--Ye], Ge[Ye] = null, ot = Ge[--Ye], Ge[Ye] = null;
3092
+ Ci = dn[--gn], dn[gn] = null, vi = dn[--gn], dn[gn] = null;
3093
+ for (; e === Tt; )
3094
+ Tt = Ge[--Ye], Ge[Ye] = null, lt = Ge[--Ye], Ge[Ye] = null, ot = Ge[--Ye], Ge[Ye] = null;
3095
3095
  }
3096
3096
  var Ze = null, be = null, H = !1, Fe = null;
3097
3097
  function kc(e, t) {
@@ -3106,7 +3106,7 @@ function hu(e, t) {
3106
3106
  case 6:
3107
3107
  return t = e.pendingProps === "" || t.nodeType !== 3 ? null : t, t !== null ? (e.stateNode = t, Ze = e, be = null, !0) : !1;
3108
3108
  case 13:
3109
- return t = t.nodeType !== 8 ? null : t, t !== null ? (n = Dt !== null ? { id: ot, overflow: lt } : null, e.memoizedState = { dehydrated: t, treeContext: n, retryLane: 1073741824 }, n = Ae(18, null, null, 0), n.stateNode = t, n.return = e, e.child = n, Ze = e, be = null, !0) : !1;
3109
+ return t = t.nodeType !== 8 ? null : t, t !== null ? (n = Tt !== null ? { id: ot, overflow: lt } : null, e.memoizedState = { dehydrated: t, treeContext: n, retryLane: 1073741824 }, n = Ae(18, null, null, 0), n.stateNode = t, n.return = e, e.child = n, Ze = e, be = null, !0) : !1;
3110
3110
  default:
3111
3111
  return !1;
3112
3112
  }
@@ -3194,13 +3194,13 @@ function je(e, t) {
3194
3194
  }
3195
3195
  return t;
3196
3196
  }
3197
- var vi = Ot(null), yi = null, fn = null, _l = null;
3197
+ var Ii = Rt(null), yi = null, fn = null, _l = null;
3198
3198
  function $l() {
3199
3199
  _l = fn = yi = null;
3200
3200
  }
3201
3201
  function ql(e) {
3202
- var t = vi.current;
3203
- F(vi), e._currentValue = t;
3202
+ var t = Ii.current;
3203
+ F(Ii), e._currentValue = t;
3204
3204
  }
3205
3205
  function al(e, t, n) {
3206
3206
  for (; e !== null; ) {
@@ -3228,7 +3228,7 @@ var Ht = null;
3228
3228
  function ea(e) {
3229
3229
  Ht === null ? Ht = [e] : Ht.push(e);
3230
3230
  }
3231
- function Sc(e, t, n, r) {
3231
+ function Oc(e, t, n, r) {
3232
3232
  var i = t.interleaved;
3233
3233
  return i === null ? (n.next = n, ea(t)) : (n.next = i.next, i.next = n), t.interleaved = n, ct(e, r);
3234
3234
  }
@@ -3243,7 +3243,7 @@ var ht = !1;
3243
3243
  function ta(e) {
3244
3244
  e.updateQueue = { baseState: e.memoizedState, firstBaseUpdate: null, lastBaseUpdate: null, shared: { pending: null, interleaved: null, lanes: 0 }, effects: null };
3245
3245
  }
3246
- function Oc(e, t) {
3246
+ function Rc(e, t) {
3247
3247
  e = e.updateQueue, t.updateQueue === e && (t.updateQueue = { baseState: e.baseState, firstBaseUpdate: e.firstBaseUpdate, lastBaseUpdate: e.lastBaseUpdate, shared: e.shared, effects: e.effects });
3248
3248
  }
3249
3249
  function at(e, t) {
@@ -3253,7 +3253,7 @@ function Lt(e, t, n) {
3253
3253
  var r = e.updateQueue;
3254
3254
  if (r === null)
3255
3255
  return null;
3256
- if (r = r.shared, O & 2) {
3256
+ if (r = r.shared, R & 2) {
3257
3257
  var i = r.pending;
3258
3258
  return i === null ? t.next = t : (t.next = i.next, i.next = t), r.pending = t, ct(e, n);
3259
3259
  }
@@ -3265,7 +3265,7 @@ function _r(e, t, n) {
3265
3265
  r &= e.pendingLanes, n |= r, t.lanes = n, Hl(e, n);
3266
3266
  }
3267
3267
  }
3268
- function Iu(e, t) {
3268
+ function vu(e, t) {
3269
3269
  var n = e.updateQueue, r = e.alternate;
3270
3270
  if (r !== null && (r = r.updateQueue, n === r)) {
3271
3271
  var i = null, o = null;
@@ -3308,10 +3308,10 @@ function bi(e, t, n, r) {
3308
3308
  next: null
3309
3309
  });
3310
3310
  e: {
3311
- var C = e, v = a;
3312
- switch (f = t, h = n, v.tag) {
3311
+ var C = e, I = a;
3312
+ switch (f = t, h = n, I.tag) {
3313
3313
  case 1:
3314
- if (C = v.payload, typeof C == "function") {
3314
+ if (C = I.payload, typeof C == "function") {
3315
3315
  g = C.call(h, g, f);
3316
3316
  break e;
3317
3317
  }
@@ -3320,7 +3320,7 @@ function bi(e, t, n, r) {
3320
3320
  case 3:
3321
3321
  C.flags = C.flags & -65537 | 128;
3322
3322
  case 0:
3323
- if (C = v.payload, f = typeof C == "function" ? C.call(h, g, f) : C, f == null)
3323
+ if (C = I.payload, f = typeof C == "function" ? C.call(h, g, f) : C, f == null)
3324
3324
  break e;
3325
3325
  g = x({}, g, f);
3326
3326
  break e;
@@ -3347,7 +3347,7 @@ function bi(e, t, n, r) {
3347
3347
  Qt |= l, e.lanes = l, e.memoizedState = g;
3348
3348
  }
3349
3349
  }
3350
- function vu(e, t, n) {
3350
+ function Iu(e, t, n) {
3351
3351
  if (e = t.effects, t.effects = null, e !== null)
3352
3352
  for (t = 0; t < e.length; t++) {
3353
3353
  var r = e[t], i = r.callback;
@@ -3358,7 +3358,7 @@ function vu(e, t, n) {
3358
3358
  }
3359
3359
  }
3360
3360
  }
3361
- var Rc = new Ss.Component().refs;
3361
+ var Sc = new Os.Component().refs;
3362
3362
  function ul(e, t, n, r) {
3363
3363
  t = e.memoizedState, n = n(r, t), n = n == null ? t : x({}, t, n), e.memoizedState = n, e.lanes === 0 && (e.updateQueue.baseState = n);
3364
3364
  }
@@ -3382,16 +3382,16 @@ function yu(e, t, n, r, i, o, l) {
3382
3382
  }
3383
3383
  function Kc(e, t, n) {
3384
3384
  var r = !1, i = kt, o = t.contextType;
3385
- return typeof o == "object" && o !== null ? o = ke(o) : (i = he(t) ? Tt : ae.current, r = t.contextTypes, o = (r = r != null) ? Zn(e, i) : kt), t = new t(n, o), e.memoizedState = t.state !== null && t.state !== void 0 ? t.state : null, t.updater = Hi, e.stateNode = t, t._reactInternals = e, r && (e = e.stateNode, e.__reactInternalMemoizedUnmaskedChildContext = i, e.__reactInternalMemoizedMaskedChildContext = o), t;
3385
+ return typeof o == "object" && o !== null ? o = ke(o) : (i = he(t) ? Dt : ae.current, r = t.contextTypes, o = (r = r != null) ? Zn(e, i) : kt), t = new t(n, o), e.memoizedState = t.state !== null && t.state !== void 0 ? t.state : null, t.updater = Hi, e.stateNode = t, t._reactInternals = e, r && (e = e.stateNode, e.__reactInternalMemoizedUnmaskedChildContext = i, e.__reactInternalMemoizedMaskedChildContext = o), t;
3386
3386
  }
3387
3387
  function bu(e, t, n, r) {
3388
3388
  e = t.state, typeof t.componentWillReceiveProps == "function" && t.componentWillReceiveProps(n, r), typeof t.UNSAFE_componentWillReceiveProps == "function" && t.UNSAFE_componentWillReceiveProps(n, r), t.state !== e && Hi.enqueueReplaceState(t, t.state, null);
3389
3389
  }
3390
3390
  function sl(e, t, n, r) {
3391
3391
  var i = e.stateNode;
3392
- i.props = n, i.state = e.memoizedState, i.refs = Rc, ta(e);
3392
+ i.props = n, i.state = e.memoizedState, i.refs = Sc, ta(e);
3393
3393
  var o = t.contextType;
3394
- typeof o == "object" && o !== null ? i.context = ke(o) : (o = he(t) ? Tt : ae.current, i.context = Zn(e, o)), i.state = e.memoizedState, o = t.getDerivedStateFromProps, typeof o == "function" && (ul(e, t, o, n), i.state = e.memoizedState), typeof t.getDerivedStateFromProps == "function" || typeof i.getSnapshotBeforeUpdate == "function" || typeof i.UNSAFE_componentWillMount != "function" && typeof i.componentWillMount != "function" || (t = i.state, typeof i.componentWillMount == "function" && i.componentWillMount(), typeof i.UNSAFE_componentWillMount == "function" && i.UNSAFE_componentWillMount(), t !== i.state && Hi.enqueueReplaceState(i, i.state, null), bi(e, n, i, r), i.state = e.memoizedState), typeof i.componentDidMount == "function" && (e.flags |= 4194308);
3394
+ typeof o == "object" && o !== null ? i.context = ke(o) : (o = he(t) ? Dt : ae.current, i.context = Zn(e, o)), i.state = e.memoizedState, o = t.getDerivedStateFromProps, typeof o == "function" && (ul(e, t, o, n), i.state = e.memoizedState), typeof t.getDerivedStateFromProps == "function" || typeof i.getSnapshotBeforeUpdate == "function" || typeof i.UNSAFE_componentWillMount != "function" && typeof i.componentWillMount != "function" || (t = i.state, typeof i.componentWillMount == "function" && i.componentWillMount(), typeof i.UNSAFE_componentWillMount == "function" && i.UNSAFE_componentWillMount(), t !== i.state && Hi.enqueueReplaceState(i, i.state, null), bi(e, n, i, r), i.state = e.memoizedState), typeof i.componentDidMount == "function" && (e.flags |= 4194308);
3395
3395
  }
3396
3396
  function jn(e, t, n) {
3397
3397
  if (e = n.ref, e !== null && typeof e != "function" && typeof e != "object") {
@@ -3406,7 +3406,7 @@ function jn(e, t, n) {
3406
3406
  var i = r, o = "" + e;
3407
3407
  return t !== null && t.ref !== null && typeof t.ref == "function" && t.ref._stringRef === o ? t.ref : (t = function(l) {
3408
3408
  var a = i.refs;
3409
- a === Rc && (a = i.refs = {}), l === null ? delete a[o] : a[o] = l;
3409
+ a === Sc && (a = i.refs = {}), l === null ? delete a[o] : a[o] = l;
3410
3410
  }, t._stringRef = o, t);
3411
3411
  }
3412
3412
  if (typeof e != "string")
@@ -3451,18 +3451,18 @@ function jc(e) {
3451
3451
  function l(d) {
3452
3452
  return e && d.alternate === null && (d.flags |= 2), d;
3453
3453
  }
3454
- function a(d, s, m, I) {
3455
- return s === null || s.tag !== 6 ? (s = Go(m, d.mode, I), s.return = d, s) : (s = i(s, m), s.return = d, s);
3454
+ function a(d, s, m, v) {
3455
+ return s === null || s.tag !== 6 ? (s = Go(m, d.mode, v), s.return = d, s) : (s = i(s, m), s.return = d, s);
3456
3456
  }
3457
- function u(d, s, m, I) {
3457
+ function u(d, s, m, v) {
3458
3458
  var y = m.type;
3459
- return y === on ? p(d, s, m.props.children, I, m.key) : s !== null && (s.elementType === y || typeof y == "object" && y !== null && y.$$typeof === mt && wu(y) === s.type) ? (I = i(s, m.props), I.ref = jn(d, s, m), I.return = d, I) : (I = ri(m.type, m.key, m.props, null, d.mode, I), I.ref = jn(d, s, m), I.return = d, I);
3459
+ return y === on ? p(d, s, m.props.children, v, m.key) : s !== null && (s.elementType === y || typeof y == "object" && y !== null && y.$$typeof === mt && wu(y) === s.type) ? (v = i(s, m.props), v.ref = jn(d, s, m), v.return = d, v) : (v = ri(m.type, m.key, m.props, null, d.mode, v), v.ref = jn(d, s, m), v.return = d, v);
3460
3460
  }
3461
- function c(d, s, m, I) {
3462
- return s === null || s.tag !== 4 || s.stateNode.containerInfo !== m.containerInfo || s.stateNode.implementation !== m.implementation ? (s = Yo(m, d.mode, I), s.return = d, s) : (s = i(s, m.children || []), s.return = d, s);
3461
+ function c(d, s, m, v) {
3462
+ return s === null || s.tag !== 4 || s.stateNode.containerInfo !== m.containerInfo || s.stateNode.implementation !== m.implementation ? (s = Yo(m, d.mode, v), s.return = d, s) : (s = i(s, m.children || []), s.return = d, s);
3463
3463
  }
3464
- function p(d, s, m, I, y) {
3465
- return s === null || s.tag !== 7 ? (s = xt(m, d.mode, I, y), s.return = d, s) : (s = i(s, m), s.return = d, s);
3464
+ function p(d, s, m, v, y) {
3465
+ return s === null || s.tag !== 7 ? (s = xt(m, d.mode, v, y), s.return = d, s) : (s = i(s, m), s.return = d, s);
3466
3466
  }
3467
3467
  function g(d, s, m) {
3468
3468
  if (typeof s == "string" && s !== "" || typeof s == "number")
@@ -3474,62 +3474,62 @@ function jc(e) {
3474
3474
  case rn:
3475
3475
  return s = Yo(s, d.mode, m), s.return = d, s;
3476
3476
  case mt:
3477
- var I = s._init;
3478
- return g(d, I(s._payload), m);
3477
+ var v = s._init;
3478
+ return g(d, v(s._payload), m);
3479
3479
  }
3480
- if (Tn(s) || Bn(s))
3480
+ if (Dn(s) || Bn(s))
3481
3481
  return s = xt(s, d.mode, m, null), s.return = d, s;
3482
3482
  Fr(d, s);
3483
3483
  }
3484
3484
  return null;
3485
3485
  }
3486
- function f(d, s, m, I) {
3486
+ function f(d, s, m, v) {
3487
3487
  var y = s !== null ? s.key : null;
3488
3488
  if (typeof m == "string" && m !== "" || typeof m == "number")
3489
- return y !== null ? null : a(d, s, "" + m, I);
3489
+ return y !== null ? null : a(d, s, "" + m, v);
3490
3490
  if (typeof m == "object" && m !== null) {
3491
3491
  switch (m.$$typeof) {
3492
3492
  case Yr:
3493
- return m.key === y ? u(d, s, m, I) : null;
3493
+ return m.key === y ? u(d, s, m, v) : null;
3494
3494
  case rn:
3495
- return m.key === y ? c(d, s, m, I) : null;
3495
+ return m.key === y ? c(d, s, m, v) : null;
3496
3496
  case mt:
3497
3497
  return y = m._init, f(
3498
3498
  d,
3499
3499
  s,
3500
3500
  y(m._payload),
3501
- I
3501
+ v
3502
3502
  );
3503
3503
  }
3504
- if (Tn(m) || Bn(m))
3505
- return y !== null ? null : p(d, s, m, I, null);
3504
+ if (Dn(m) || Bn(m))
3505
+ return y !== null ? null : p(d, s, m, v, null);
3506
3506
  Fr(d, m);
3507
3507
  }
3508
3508
  return null;
3509
3509
  }
3510
- function h(d, s, m, I, y) {
3511
- if (typeof I == "string" && I !== "" || typeof I == "number")
3512
- return d = d.get(m) || null, a(s, d, "" + I, y);
3513
- if (typeof I == "object" && I !== null) {
3514
- switch (I.$$typeof) {
3510
+ function h(d, s, m, v, y) {
3511
+ if (typeof v == "string" && v !== "" || typeof v == "number")
3512
+ return d = d.get(m) || null, a(s, d, "" + v, y);
3513
+ if (typeof v == "object" && v !== null) {
3514
+ switch (v.$$typeof) {
3515
3515
  case Yr:
3516
- return d = d.get(I.key === null ? m : I.key) || null, u(s, d, I, y);
3516
+ return d = d.get(v.key === null ? m : v.key) || null, u(s, d, v, y);
3517
3517
  case rn:
3518
- return d = d.get(I.key === null ? m : I.key) || null, c(s, d, I, y);
3518
+ return d = d.get(v.key === null ? m : v.key) || null, c(s, d, v, y);
3519
3519
  case mt:
3520
- var Z = I._init;
3521
- return h(d, s, m, Z(I._payload), y);
3520
+ var Z = v._init;
3521
+ return h(d, s, m, Z(v._payload), y);
3522
3522
  }
3523
- if (Tn(I) || Bn(I))
3524
- return d = d.get(m) || null, p(s, d, I, y, null);
3525
- Fr(s, I);
3523
+ if (Dn(v) || Bn(v))
3524
+ return d = d.get(m) || null, p(s, d, v, y, null);
3525
+ Fr(s, v);
3526
3526
  }
3527
3527
  return null;
3528
3528
  }
3529
- function C(d, s, m, I) {
3529
+ function C(d, s, m, v) {
3530
3530
  for (var y = null, Z = null, W = s, L = s = 0, k = null; W !== null && L < m.length; L++) {
3531
3531
  W.index > L ? (k = W, W = null) : k = W.sibling;
3532
- var Y = f(d, W, m[L], I);
3532
+ var Y = f(d, W, m[L], v);
3533
3533
  if (Y === null) {
3534
3534
  W === null && (W = k);
3535
3535
  break;
@@ -3540,16 +3540,16 @@ function jc(e) {
3540
3540
  return n(d, W), H && jt(d, L), y;
3541
3541
  if (W === null) {
3542
3542
  for (; L < m.length; L++)
3543
- W = g(d, m[L], I), W !== null && (s = o(W, s, L), Z === null ? y = W : Z.sibling = W, Z = W);
3543
+ W = g(d, m[L], v), W !== null && (s = o(W, s, L), Z === null ? y = W : Z.sibling = W, Z = W);
3544
3544
  return H && jt(d, L), y;
3545
3545
  }
3546
3546
  for (W = r(d, W); L < m.length; L++)
3547
- k = h(W, d, L, m[L], I), k !== null && (e && k.alternate !== null && W.delete(k.key === null ? L : k.key), s = o(k, s, L), Z === null ? y = k : Z.sibling = k, Z = k);
3547
+ k = h(W, d, L, m[L], v), k !== null && (e && k.alternate !== null && W.delete(k.key === null ? L : k.key), s = o(k, s, L), Z === null ? y = k : Z.sibling = k, Z = k);
3548
3548
  return e && W.forEach(function(_) {
3549
3549
  return t(d, _);
3550
3550
  }), H && jt(d, L), y;
3551
3551
  }
3552
- function v(d, s, m, I) {
3552
+ function I(d, s, m, v) {
3553
3553
  var y = Bn(m);
3554
3554
  if (typeof y != "function")
3555
3555
  throw Error(b(150));
@@ -3557,7 +3557,7 @@ function jc(e) {
3557
3557
  throw Error(b(151));
3558
3558
  for (var Z = y = null, W = s, L = s = 0, k = null, Y = m.next(); W !== null && !Y.done; L++, Y = m.next()) {
3559
3559
  W.index > L ? (k = W, W = null) : k = W.sibling;
3560
- var _ = f(d, W, Y.value, I);
3560
+ var _ = f(d, W, Y.value, v);
3561
3561
  if (_ === null) {
3562
3562
  W === null && (W = k);
3563
3563
  break;
@@ -3571,16 +3571,16 @@ function jc(e) {
3571
3571
  ), H && jt(d, L), y;
3572
3572
  if (W === null) {
3573
3573
  for (; !Y.done; L++, Y = m.next())
3574
- Y = g(d, Y.value, I), Y !== null && (s = o(Y, s, L), Z === null ? y = Y : Z.sibling = Y, Z = Y);
3574
+ Y = g(d, Y.value, v), Y !== null && (s = o(Y, s, L), Z === null ? y = Y : Z.sibling = Y, Z = Y);
3575
3575
  return H && jt(d, L), y;
3576
3576
  }
3577
3577
  for (W = r(d, W); !Y.done; L++, Y = m.next())
3578
- Y = h(W, d, L, Y.value, I), Y !== null && (e && Y.alternate !== null && W.delete(Y.key === null ? L : Y.key), s = o(Y, s, L), Z === null ? y = Y : Z.sibling = Y, Z = Y);
3578
+ Y = h(W, d, L, Y.value, v), Y !== null && (e && Y.alternate !== null && W.delete(Y.key === null ? L : Y.key), s = o(Y, s, L), Z === null ? y = Y : Z.sibling = Y, Z = Y);
3579
3579
  return e && W.forEach(function(xe) {
3580
3580
  return t(d, xe);
3581
3581
  }), H && jt(d, L), y;
3582
3582
  }
3583
- function w(d, s, m, I) {
3583
+ function w(d, s, m, v) {
3584
3584
  if (typeof m == "object" && m !== null && m.type === on && m.key === null && (m = m.props.children), typeof m == "object" && m !== null) {
3585
3585
  switch (m.$$typeof) {
3586
3586
  case Yr:
@@ -3602,7 +3602,7 @@ function jc(e) {
3602
3602
  t(d, Z);
3603
3603
  Z = Z.sibling;
3604
3604
  }
3605
- m.type === on ? (s = xt(m.props.children, d.mode, I, m.key), s.return = d, d = s) : (I = ri(m.type, m.key, m.props, null, d.mode, I), I.ref = jn(d, s, m), I.return = d, d = I);
3605
+ m.type === on ? (s = xt(m.props.children, d.mode, v, m.key), s.return = d, d = s) : (v = ri(m.type, m.key, m.props, null, d.mode, v), v.ref = jn(d, s, m), v.return = d, d = v);
3606
3606
  }
3607
3607
  return l(d);
3608
3608
  case rn:
@@ -3620,23 +3620,23 @@ function jc(e) {
3620
3620
  t(d, s);
3621
3621
  s = s.sibling;
3622
3622
  }
3623
- s = Yo(m, d.mode, I), s.return = d, d = s;
3623
+ s = Yo(m, d.mode, v), s.return = d, d = s;
3624
3624
  }
3625
3625
  return l(d);
3626
3626
  case mt:
3627
- return Z = m._init, w(d, s, Z(m._payload), I);
3627
+ return Z = m._init, w(d, s, Z(m._payload), v);
3628
3628
  }
3629
- if (Tn(m))
3630
- return C(d, s, m, I);
3629
+ if (Dn(m))
3630
+ return C(d, s, m, v);
3631
3631
  if (Bn(m))
3632
- return v(d, s, m, I);
3632
+ return I(d, s, m, v);
3633
3633
  Fr(d, m);
3634
3634
  }
3635
- return typeof m == "string" && m !== "" || typeof m == "number" ? (m = "" + m, s !== null && s.tag === 6 ? (n(d, s.sibling), s = i(s, m), s.return = d, d = s) : (n(d, s), s = Go(m, d.mode, I), s.return = d, d = s), l(d)) : n(d, s);
3635
+ return typeof m == "string" && m !== "" || typeof m == "number" ? (m = "" + m, s !== null && s.tag === 6 ? (n(d, s.sibling), s = i(s, m), s.return = d, d = s) : (n(d, s), s = Go(m, d.mode, v), s.return = d, d = s), l(d)) : n(d, s);
3636
3636
  }
3637
3637
  return w;
3638
3638
  }
3639
- var Ln = jc(!0), Vc = jc(!1), Wr = {}, Pe = Ot(Wr), pr = Ot(Wr), mr = Ot(Wr);
3639
+ var Ln = jc(!0), Vc = jc(!1), Wr = {}, Pe = Rt(Wr), pr = Rt(Wr), mr = Rt(Wr);
3640
3640
  function Mt(e) {
3641
3641
  if (e === Wr)
3642
3642
  throw Error(b(174));
@@ -3664,7 +3664,7 @@ function Fc(e) {
3664
3664
  function ra(e) {
3665
3665
  pr.current === e && (F(Pe), F(pr));
3666
3666
  }
3667
- var M = Ot(0);
3667
+ var M = Rt(0);
3668
3668
  function wi(e) {
3669
3669
  for (var t = e; t !== null; ) {
3670
3670
  if (t.tag === 13) {
@@ -3810,8 +3810,8 @@ function Hc() {
3810
3810
  }
3811
3811
  function Mc(e, t) {
3812
3812
  var n = z, r = Be(), i = t(), o = !ze(r.memoizedState, i);
3813
- if (o && (r.memoizedState = i, pe = !0), r = r.queue, ua(Tc.bind(null, n, r, e), [e]), r.getSnapshot !== t || o || $ !== null && $.memoizedState.tag & 1) {
3814
- if (n.flags |= 2048, Ir(9, xc.bind(null, n, r, i, t), void 0, null), q === null)
3813
+ if (o && (r.memoizedState = i, pe = !0), r = r.queue, ua(Dc.bind(null, n, r, e), [e]), r.getSnapshot !== t || o || $ !== null && $.memoizedState.tag & 1) {
3814
+ if (n.flags |= 2048, vr(9, xc.bind(null, n, r, i, t), void 0, null), q === null)
3815
3815
  throw Error(b(349));
3816
3816
  Jt & 30 || zc(n, t, i);
3817
3817
  }
@@ -3821,14 +3821,14 @@ function zc(e, t, n) {
3821
3821
  e.flags |= 16384, e = { getSnapshot: t, value: n }, t = z.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, z.updateQueue = t, t.stores = [e]) : (n = t.stores, n === null ? t.stores = [e] : n.push(e));
3822
3822
  }
3823
3823
  function xc(e, t, n, r) {
3824
- t.value = n, t.getSnapshot = r, Dc(t) && Jc(e);
3824
+ t.value = n, t.getSnapshot = r, Tc(t) && Jc(e);
3825
3825
  }
3826
- function Tc(e, t, n) {
3826
+ function Dc(e, t, n) {
3827
3827
  return n(function() {
3828
- Dc(t) && Jc(e);
3828
+ Tc(t) && Jc(e);
3829
3829
  });
3830
3830
  }
3831
- function Dc(e) {
3831
+ function Tc(e) {
3832
3832
  var t = e.getSnapshot;
3833
3833
  e = e.value;
3834
3834
  try {
@@ -3846,7 +3846,7 @@ function Zu(e) {
3846
3846
  var t = Je();
3847
3847
  return typeof e == "function" && (e = e()), t.memoizedState = t.baseState = e, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: Cr, lastRenderedState: e }, t.queue = e, e = e.dispatch = cp.bind(null, z, e), [t.memoizedState, e];
3848
3848
  }
3849
- function Ir(e, t, n, r) {
3849
+ function vr(e, t, n, r) {
3850
3850
  return e = { tag: e, create: t, destroy: n, deps: r, next: null }, t = z.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, z.updateQueue = t, t.lastEffect = e.next = e) : (n = t.lastEffect, n === null ? t.lastEffect = e.next = e : (r = n.next, n.next = e, e.next = r, t.lastEffect = e)), e;
3851
3851
  }
3852
3852
  function Qc() {
@@ -3854,7 +3854,7 @@ function Qc() {
3854
3854
  }
3855
3855
  function qr(e, t, n, r) {
3856
3856
  var i = Je();
3857
- z.flags |= e, i.memoizedState = Ir(1 | t, n, void 0, r === void 0 ? null : r);
3857
+ z.flags |= e, i.memoizedState = vr(1 | t, n, void 0, r === void 0 ? null : r);
3858
3858
  }
3859
3859
  function Mi(e, t, n, r) {
3860
3860
  var i = Be();
@@ -3863,11 +3863,11 @@ function Mi(e, t, n, r) {
3863
3863
  if (U !== null) {
3864
3864
  var l = U.memoizedState;
3865
3865
  if (o = l.destroy, r !== null && oa(r, l.deps)) {
3866
- i.memoizedState = Ir(t, n, o, r);
3866
+ i.memoizedState = vr(t, n, o, r);
3867
3867
  return;
3868
3868
  }
3869
3869
  }
3870
- z.flags |= e, i.memoizedState = Ir(1 | t, n, o, r);
3870
+ z.flags |= e, i.memoizedState = vr(1 | t, n, o, r);
3871
3871
  }
3872
3872
  function Wu(e, t) {
3873
3873
  return qr(8390656, 8, e, t);
@@ -3912,14 +3912,14 @@ function ed(e, t, n) {
3912
3912
  return Jt & 21 ? (ze(n, t) || (n = rc(), z.lanes |= n, Qt |= n, e.baseState = !0), t) : (e.baseState && (e.baseState = !1, pe = !0), e.memoizedState = n);
3913
3913
  }
3914
3914
  function up(e, t) {
3915
- var n = R;
3916
- R = n !== 0 && 4 > n ? n : 4, e(!0);
3915
+ var n = S;
3916
+ S = n !== 0 && 4 > n ? n : 4, e(!0);
3917
3917
  var r = wo.transition;
3918
3918
  wo.transition = {};
3919
3919
  try {
3920
3920
  e(!1), t();
3921
3921
  } finally {
3922
- R = n, wo.transition = r;
3922
+ S = n, wo.transition = r;
3923
3923
  }
3924
3924
  }
3925
3925
  function td() {
@@ -3929,7 +3929,7 @@ function sp(e, t, n) {
3929
3929
  var r = Gt(e);
3930
3930
  if (n = { lane: r, action: n, hasEagerState: !1, eagerState: null, next: null }, nd(e))
3931
3931
  rd(t, n);
3932
- else if (n = Sc(e, t, n, r), n !== null) {
3932
+ else if (n = Oc(e, t, n, r), n !== null) {
3933
3933
  var i = ce();
3934
3934
  Me(n, e, r, i), id(n, t, r);
3935
3935
  }
@@ -3951,7 +3951,7 @@ function cp(e, t, n) {
3951
3951
  } catch {
3952
3952
  } finally {
3953
3953
  }
3954
- n = Sc(e, t, i, r), n !== null && (i = ce(), Me(n, e, r, i), id(n, t, r));
3954
+ n = Oc(e, t, i, r), n !== null && (i = ce(), Me(n, e, r, i), id(n, t, r));
3955
3955
  }
3956
3956
  }
3957
3957
  function nd(e) {
@@ -4010,12 +4010,12 @@ var Wi = { readContext: ke, useCallback: re, useContext: re, useEffect: re, useI
4010
4010
  }
4011
4011
  i.memoizedState = n;
4012
4012
  var o = { value: n, getSnapshot: t };
4013
- return i.queue = o, Wu(Tc.bind(
4013
+ return i.queue = o, Wu(Dc.bind(
4014
4014
  null,
4015
4015
  r,
4016
4016
  o,
4017
4017
  e
4018
- ), [e]), r.flags |= 2048, Ir(9, xc.bind(null, r, o, n, t), void 0, null), n;
4018
+ ), [e]), r.flags |= 2048, vr(9, xc.bind(null, r, o, n, t), void 0, null), n;
4019
4019
  }, useId: function() {
4020
4020
  var e = Je(), t = q.identifierPrefix;
4021
4021
  if (H) {
@@ -4185,7 +4185,7 @@ function sd(e, t) {
4185
4185
  (e === null && n !== null || e !== null && e.ref !== n) && (t.flags |= 512, t.flags |= 2097152);
4186
4186
  }
4187
4187
  function dl(e, t, n, r, i) {
4188
- var o = he(n) ? Tt : ae.current;
4188
+ var o = he(n) ? Dt : ae.current;
4189
4189
  return o = Zn(t, o), yn(t, i), n = la(e, t, n, r, o, i), r = aa(), e !== null && !pe ? (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~i, dt(e, t, i)) : (H && r && El(t), t.flags |= 1, se(e, t, n, i), t.child);
4190
4190
  }
4191
4191
  function Nu(e, t, n, r, i) {
@@ -4200,13 +4200,13 @@ function Nu(e, t, n, r, i) {
4200
4200
  var l = t.stateNode, a = t.memoizedProps;
4201
4201
  l.props = a;
4202
4202
  var u = l.context, c = n.contextType;
4203
- typeof c == "object" && c !== null ? c = ke(c) : (c = he(n) ? Tt : ae.current, c = Zn(t, c));
4203
+ typeof c == "object" && c !== null ? c = ke(c) : (c = he(n) ? Dt : ae.current, c = Zn(t, c));
4204
4204
  var p = n.getDerivedStateFromProps, g = typeof p == "function" || typeof l.getSnapshotBeforeUpdate == "function";
4205
4205
  g || typeof l.UNSAFE_componentWillReceiveProps != "function" && typeof l.componentWillReceiveProps != "function" || (a !== r || u !== c) && bu(t, l, r, c), ht = !1;
4206
4206
  var f = t.memoizedState;
4207
4207
  l.state = f, bi(t, r, l, i), u = t.memoizedState, a !== r || f !== u || me.current || ht ? (typeof p == "function" && (ul(t, n, p, r), u = t.memoizedState), (a = ht || yu(t, n, a, r, f, u, c)) ? (g || typeof l.UNSAFE_componentWillMount != "function" && typeof l.componentWillMount != "function" || (typeof l.componentWillMount == "function" && l.componentWillMount(), typeof l.UNSAFE_componentWillMount == "function" && l.UNSAFE_componentWillMount()), typeof l.componentDidMount == "function" && (t.flags |= 4194308)) : (typeof l.componentDidMount == "function" && (t.flags |= 4194308), t.memoizedProps = r, t.memoizedState = u), l.props = r, l.state = u, l.context = c, r = a) : (typeof l.componentDidMount == "function" && (t.flags |= 4194308), r = !1);
4208
4208
  } else {
4209
- l = t.stateNode, Oc(e, t), a = t.memoizedProps, c = t.type === t.elementType ? a : je(t.type, a), l.props = c, g = t.pendingProps, f = l.context, u = n.contextType, typeof u == "object" && u !== null ? u = ke(u) : (u = he(n) ? Tt : ae.current, u = Zn(t, u));
4209
+ l = t.stateNode, Rc(e, t), a = t.memoizedProps, c = t.type === t.elementType ? a : je(t.type, a), l.props = c, g = t.pendingProps, f = l.context, u = n.contextType, typeof u == "object" && u !== null ? u = ke(u) : (u = he(n) ? Dt : ae.current, u = Zn(t, u));
4210
4210
  var h = n.getDerivedStateFromProps;
4211
4211
  (p = typeof h == "function" || typeof l.getSnapshotBeforeUpdate == "function") || typeof l.UNSAFE_componentWillReceiveProps != "function" && typeof l.componentWillReceiveProps != "function" || (a !== g || f !== u) && bu(t, l, r, u), ht = !1, f = t.memoizedState, l.state = f, bi(t, r, l, i);
4212
4212
  var C = t.memoizedState;
@@ -4237,7 +4237,7 @@ function pl(e) {
4237
4237
  function dd(e, t, n) {
4238
4238
  var r = t.pendingProps, i = M.current, o = !1, l = (t.flags & 128) !== 0, a;
4239
4239
  if ((a = l) || (a = e !== null && e.memoizedState === null ? !1 : (i & 2) !== 0), a ? (o = !0, t.flags &= -129) : (e === null || e.memoizedState !== null) && (i |= 1), j(M, i & 1), e === null)
4240
- return ll(t), e = t.memoizedState, e !== null && (e = e.dehydrated, e !== null) ? (t.mode & 1 ? e.data === "$!" ? t.lanes = 8 : t.lanes = 1073741824 : t.lanes = 1, null) : (l = r.children, e = r.fallback, o ? (r = t.mode, o = t.child, l = { mode: "hidden", children: l }, !(r & 1) && o !== null ? (o.childLanes = 0, o.pendingProps = l) : o = Ti(l, r, 0, null), e = xt(e, r, n, null), o.return = t, e.return = t, o.sibling = e, t.child = o, t.child.memoizedState = pl(n), t.memoizedState = fl, e) : ca(t, l));
4240
+ return ll(t), e = t.memoizedState, e !== null && (e = e.dehydrated, e !== null) ? (t.mode & 1 ? e.data === "$!" ? t.lanes = 8 : t.lanes = 1073741824 : t.lanes = 1, null) : (l = r.children, e = r.fallback, o ? (r = t.mode, o = t.child, l = { mode: "hidden", children: l }, !(r & 1) && o !== null ? (o.childLanes = 0, o.pendingProps = l) : o = Di(l, r, 0, null), e = xt(e, r, n, null), o.return = t, e.return = t, o.sibling = e, t.child = o, t.child.memoizedState = pl(n), t.memoizedState = fl, e) : ca(t, l));
4241
4241
  if (i = e.memoizedState, i !== null && (a = i.dehydrated, a !== null))
4242
4242
  return hp(e, t, l, r, a, i, n);
4243
4243
  if (o) {
@@ -4248,14 +4248,14 @@ function dd(e, t, n) {
4248
4248
  return o = e.child, e = o.sibling, r = Yt(o, { mode: "visible", children: r.children }), !(t.mode & 1) && (r.lanes = n), r.return = t, r.sibling = null, e !== null && (n = t.deletions, n === null ? (t.deletions = [e], t.flags |= 16) : n.push(e)), t.child = r, t.memoizedState = null, r;
4249
4249
  }
4250
4250
  function ca(e, t) {
4251
- return t = Ti({ mode: "visible", children: t }, e.mode, 0, null), t.return = e, e.child = t;
4251
+ return t = Di({ mode: "visible", children: t }, e.mode, 0, null), t.return = e, e.child = t;
4252
4252
  }
4253
4253
  function Hr(e, t, n, r) {
4254
4254
  return r !== null && Pl(r), Ln(t, e.child, null, n), e = ca(t, t.pendingProps.children), e.flags |= 2, t.memoizedState = null, e;
4255
4255
  }
4256
4256
  function hp(e, t, n, r, i, o, l) {
4257
4257
  if (n)
4258
- return t.flags & 256 ? (t.flags &= -257, r = Lo(Error(b(422))), Hr(e, t, l, r)) : t.memoizedState !== null ? (t.child = e.child, t.flags |= 128, null) : (o = r.fallback, i = t.mode, r = Ti({ mode: "visible", children: r.children }, i, 0, null), o = xt(o, i, l, null), o.flags |= 2, r.return = t, o.return = t, r.sibling = o, t.child = r, t.mode & 1 && Ln(t, e.child, null, l), t.child.memoizedState = pl(l), t.memoizedState = fl, o);
4258
+ return t.flags & 256 ? (t.flags &= -257, r = Lo(Error(b(422))), Hr(e, t, l, r)) : t.memoizedState !== null ? (t.child = e.child, t.flags |= 128, null) : (o = r.fallback, i = t.mode, r = Di({ mode: "visible", children: r.children }, i, 0, null), o = xt(o, i, l, null), o.flags |= 2, r.return = t, o.return = t, r.sibling = o, t.child = r, t.mode & 1 && Ln(t, e.child, null, l), t.child.memoizedState = pl(l), t.memoizedState = fl, o);
4259
4259
  if (!(t.mode & 1))
4260
4260
  return Hr(e, t, l, null);
4261
4261
  if (i.data === "$!") {
@@ -4305,7 +4305,7 @@ function hp(e, t, n, r, i, o, l) {
4305
4305
  }
4306
4306
  return ha(), r = Lo(Error(b(421))), Hr(e, t, l, r);
4307
4307
  }
4308
- return i.data === "$?" ? (t.flags |= 128, t.child = e.child, t = Ap.bind(null, e), i._reactRetry = t, null) : (e = o.treeContext, be = Wt(i.nextSibling), Ze = t, H = !0, Fe = null, e !== null && (Ge[Ye++] = ot, Ge[Ye++] = lt, Ge[Ye++] = Dt, ot = e.id, lt = e.overflow, Dt = t), t = ca(t, r.children), t.flags |= 4096, t);
4308
+ return i.data === "$?" ? (t.flags |= 128, t.child = e.child, t = Ap.bind(null, e), i._reactRetry = t, null) : (e = o.treeContext, be = Wt(i.nextSibling), Ze = t, H = !0, Fe = null, e !== null && (Ge[Ye++] = ot, Ge[Ye++] = lt, Ge[Ye++] = Tt, ot = e.id, lt = e.overflow, Tt = t), t = ca(t, r.children), t.flags |= 4096, t);
4309
4309
  }
4310
4310
  function Bu(e, t, n) {
4311
4311
  e.lanes |= t;
@@ -4401,7 +4401,7 @@ function Cp(e, t, n) {
4401
4401
  break;
4402
4402
  case 10:
4403
4403
  var r = t.type._context, i = t.memoizedProps.value;
4404
- j(vi, r._currentValue), r._currentValue = i;
4404
+ j(Ii, r._currentValue), r._currentValue = i;
4405
4405
  break;
4406
4406
  case 13:
4407
4407
  if (r = t.memoizedState, r !== null)
@@ -4524,7 +4524,7 @@ function ie(e) {
4524
4524
  n |= i.lanes | i.childLanes, r |= i.subtreeFlags, r |= i.flags, i.return = e, i = i.sibling;
4525
4525
  return e.subtreeFlags |= r, e.childLanes = n, t;
4526
4526
  }
4527
- function Ip(e, t, n) {
4527
+ function vp(e, t, n) {
4528
4528
  var r = t.pendingProps;
4529
4529
  switch (Ul(t), t.tag) {
4530
4530
  case 2:
@@ -4608,7 +4608,7 @@ function Ip(e, t, n) {
4608
4608
  Ar(r), za(r, o, !0);
4609
4609
  break;
4610
4610
  case "textarea":
4611
- Ar(r), Ta(r);
4611
+ Ar(r), Da(r);
4612
4612
  break;
4613
4613
  case "select":
4614
4614
  case "option":
@@ -4668,14 +4668,14 @@ function Ip(e, t, n) {
4668
4668
  for (o in a)
4669
4669
  if (a.hasOwnProperty(o)) {
4670
4670
  var u = a[o];
4671
- o === "style" ? Ds(e, u) : o === "dangerouslySetInnerHTML" ? (u = u ? u.__html : void 0, u != null && xs(e, u)) : o === "children" ? typeof u == "string" ? (n !== "textarea" || u !== "") && ir(e, u) : typeof u == "number" && ir(e, "" + u) : o !== "suppressContentEditableWarning" && o !== "suppressHydrationWarning" && o !== "autoFocus" && (rr.hasOwnProperty(o) ? u != null && o === "onScroll" && V("scroll", e) : u != null && Ol(e, o, u, l));
4671
+ o === "style" ? Ts(e, u) : o === "dangerouslySetInnerHTML" ? (u = u ? u.__html : void 0, u != null && xs(e, u)) : o === "children" ? typeof u == "string" ? (n !== "textarea" || u !== "") && ir(e, u) : typeof u == "number" && ir(e, "" + u) : o !== "suppressContentEditableWarning" && o !== "suppressHydrationWarning" && o !== "autoFocus" && (rr.hasOwnProperty(o) ? u != null && o === "onScroll" && V("scroll", e) : u != null && Rl(e, o, u, l));
4672
4672
  }
4673
4673
  switch (n) {
4674
4674
  case "input":
4675
4675
  Ar(e), za(e, r, !1);
4676
4676
  break;
4677
4677
  case "textarea":
4678
- Ar(e), Ta(e);
4678
+ Ar(e), Da(e);
4679
4679
  break;
4680
4680
  case "option":
4681
4681
  r.value != null && e.setAttribute("value", "" + Nt(r.value));
@@ -4772,7 +4772,7 @@ function Ip(e, t, n) {
4772
4772
  }
4773
4773
  e = e.sibling;
4774
4774
  }
4775
- o.tail !== null && D() > Yn && (t.flags |= 128, r = !0, Vn(o, !1), t.lanes = 4194304);
4775
+ o.tail !== null && T() > Yn && (t.flags |= 128, r = !0, Vn(o, !1), t.lanes = 4194304);
4776
4776
  }
4777
4777
  else {
4778
4778
  if (!r)
@@ -4780,10 +4780,10 @@ function Ip(e, t, n) {
4780
4780
  if (t.flags |= 128, r = !0, n = e.updateQueue, n !== null && (t.updateQueue = n, t.flags |= 4), Vn(o, !0), o.tail === null && o.tailMode === "hidden" && !l.alternate && !H)
4781
4781
  return ie(t), null;
4782
4782
  } else
4783
- 2 * D() - o.renderingStartTime > Yn && n !== 1073741824 && (t.flags |= 128, r = !0, Vn(o, !1), t.lanes = 4194304);
4783
+ 2 * T() - o.renderingStartTime > Yn && n !== 1073741824 && (t.flags |= 128, r = !0, Vn(o, !1), t.lanes = 4194304);
4784
4784
  o.isBackwards ? (l.sibling = t.child, t.child = l) : (n = o.last, n !== null ? n.sibling = l : t.child = l, o.last = l);
4785
4785
  }
4786
- return o.tail !== null ? (t = o.tail, o.rendering = t, o.tail = t.sibling, o.renderingStartTime = D(), t.sibling = null, n = M.current, j(M, r ? n & 1 | 2 : n & 1), t) : (ie(t), null);
4786
+ return o.tail !== null ? (t = o.tail, o.rendering = t, o.tail = t.sibling, o.renderingStartTime = T(), t.sibling = null, n = M.current, j(M, r ? n & 1 | 2 : n & 1), t) : (ie(t), null);
4787
4787
  case 22:
4788
4788
  case 23:
4789
4789
  return ma(), r = t.memoizedState !== null, e !== null && e.memoizedState !== null !== r && (t.flags |= 8192), r && t.mode & 1 ? ye & 1073741824 && (ie(t), t.subtreeFlags & 6 && (t.flags |= 8192)) : ie(t), null;
@@ -4794,7 +4794,7 @@ function Ip(e, t, n) {
4794
4794
  }
4795
4795
  throw Error(b(156, t.tag));
4796
4796
  }
4797
- function vp(e, t) {
4797
+ function Ip(e, t) {
4798
4798
  switch (Ul(t), t.tag) {
4799
4799
  case 1:
4800
4800
  return he(t.type) && mi(), e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null;
@@ -4832,7 +4832,7 @@ function pn(e, t) {
4832
4832
  try {
4833
4833
  n(null);
4834
4834
  } catch (r) {
4835
- T(e, t, r);
4835
+ D(e, t, r);
4836
4836
  }
4837
4837
  else
4838
4838
  n.current = null;
@@ -4841,12 +4841,12 @@ function hl(e, t, n) {
4841
4841
  try {
4842
4842
  n();
4843
4843
  } catch (r) {
4844
- T(e, t, r);
4844
+ D(e, t, r);
4845
4845
  }
4846
4846
  }
4847
- var Su = !1;
4847
+ var Ou = !1;
4848
4848
  function bp(e, t) {
4849
- if (qo = di, e = vc(), Ql(e)) {
4849
+ if (qo = di, e = Ic(), Ql(e)) {
4850
4850
  if ("selectionStart" in e)
4851
4851
  var n = { start: e.selectionStart, end: e.selectionEnd };
4852
4852
  else
@@ -4900,7 +4900,7 @@ function bp(e, t) {
4900
4900
  break;
4901
4901
  case 1:
4902
4902
  if (C !== null) {
4903
- var v = C.memoizedProps, w = C.memoizedState, d = t.stateNode, s = d.getSnapshotBeforeUpdate(t.elementType === t.type ? v : je(t.type, v), w);
4903
+ var I = C.memoizedProps, w = C.memoizedState, d = t.stateNode, s = d.getSnapshotBeforeUpdate(t.elementType === t.type ? I : je(t.type, I), w);
4904
4904
  d.__reactInternalSnapshotBeforeUpdate = s;
4905
4905
  }
4906
4906
  break;
@@ -4916,8 +4916,8 @@ function bp(e, t) {
4916
4916
  default:
4917
4917
  throw Error(b(163));
4918
4918
  }
4919
- } catch (I) {
4920
- T(t, t.return, I);
4919
+ } catch (v) {
4920
+ D(t, t.return, v);
4921
4921
  }
4922
4922
  if (e = t.sibling, e !== null) {
4923
4923
  e.return = t.return, G = e;
@@ -4925,7 +4925,7 @@ function bp(e, t) {
4925
4925
  }
4926
4926
  G = t.return;
4927
4927
  }
4928
- return C = Su, Su = !1, C;
4928
+ return C = Ou, Ou = !1, C;
4929
4929
  }
4930
4930
  function qn(e, t, n) {
4931
4931
  var r = t.updateQueue;
@@ -4973,7 +4973,7 @@ function hd(e) {
4973
4973
  function Cd(e) {
4974
4974
  return e.tag === 5 || e.tag === 3 || e.tag === 4;
4975
4975
  }
4976
- function Ou(e) {
4976
+ function Ru(e) {
4977
4977
  e:
4978
4978
  for (; ; ) {
4979
4979
  for (; e.sibling === null; ) {
@@ -4990,31 +4990,31 @@ function Ou(e) {
4990
4990
  return e.stateNode;
4991
4991
  }
4992
4992
  }
4993
- function Il(e, t, n) {
4993
+ function vl(e, t, n) {
4994
4994
  var r = e.tag;
4995
4995
  if (r === 5 || r === 6)
4996
4996
  e = e.stateNode, t ? n.nodeType === 8 ? n.parentNode.insertBefore(e, t) : n.insertBefore(e, t) : (n.nodeType === 8 ? (t = n.parentNode, t.insertBefore(e, n)) : (t = n, t.appendChild(e)), n = n._reactRootContainer, n != null || t.onclick !== null || (t.onclick = pi));
4997
4997
  else if (r !== 4 && (e = e.child, e !== null))
4998
- for (Il(e, t, n), e = e.sibling; e !== null; )
4999
- Il(e, t, n), e = e.sibling;
4998
+ for (vl(e, t, n), e = e.sibling; e !== null; )
4999
+ vl(e, t, n), e = e.sibling;
5000
5000
  }
5001
- function vl(e, t, n) {
5001
+ function Il(e, t, n) {
5002
5002
  var r = e.tag;
5003
5003
  if (r === 5 || r === 6)
5004
5004
  e = e.stateNode, t ? n.insertBefore(e, t) : n.appendChild(e);
5005
5005
  else if (r !== 4 && (e = e.child, e !== null))
5006
- for (vl(e, t, n), e = e.sibling; e !== null; )
5007
- vl(e, t, n), e = e.sibling;
5006
+ for (Il(e, t, n), e = e.sibling; e !== null; )
5007
+ Il(e, t, n), e = e.sibling;
5008
5008
  }
5009
5009
  var ee = null, Ve = !1;
5010
5010
  function pt(e, t, n) {
5011
5011
  for (n = n.child; n !== null; )
5012
- Id(e, t, n), n = n.sibling;
5012
+ vd(e, t, n), n = n.sibling;
5013
5013
  }
5014
- function Id(e, t, n) {
5014
+ function vd(e, t, n) {
5015
5015
  if (Ue && typeof Ue.onCommitFiberUnmount == "function")
5016
5016
  try {
5017
- Ue.onCommitFiberUnmount(Oi, n);
5017
+ Ue.onCommitFiberUnmount(Ri, n);
5018
5018
  } catch {
5019
5019
  }
5020
5020
  switch (n.tag) {
@@ -5025,7 +5025,7 @@ function Id(e, t, n) {
5025
5025
  ee = null, pt(e, t, n), ee = r, Ve = i, ee !== null && (Ve ? (e = ee, n = n.stateNode, e.nodeType === 8 ? e.parentNode.removeChild(n) : e.removeChild(n)) : ee.removeChild(n.stateNode));
5026
5026
  break;
5027
5027
  case 18:
5028
- ee !== null && (Ve ? (e = ee, n = n.stateNode, e.nodeType === 8 ? vo(e.parentNode, n) : e.nodeType === 1 && vo(e, n), ur(e)) : vo(ee, n.stateNode));
5028
+ ee !== null && (Ve ? (e = ee, n = n.stateNode, e.nodeType === 8 ? Io(e.parentNode, n) : e.nodeType === 1 && Io(e, n), ur(e)) : Io(ee, n.stateNode));
5029
5029
  break;
5030
5030
  case 4:
5031
5031
  r = ee, i = Ve, ee = n.stateNode.containerInfo, Ve = !0, pt(e, t, n), ee = r, Ve = i;
@@ -5048,7 +5048,7 @@ function Id(e, t, n) {
5048
5048
  try {
5049
5049
  r.props = n.memoizedProps, r.state = n.memoizedState, r.componentWillUnmount();
5050
5050
  } catch (a) {
5051
- T(n, t, a);
5051
+ D(n, t, a);
5052
5052
  }
5053
5053
  pt(e, t, n);
5054
5054
  break;
@@ -5062,7 +5062,7 @@ function Id(e, t, n) {
5062
5062
  pt(e, t, n);
5063
5063
  }
5064
5064
  }
5065
- function Ru(e) {
5065
+ function Su(e) {
5066
5066
  var t = e.updateQueue;
5067
5067
  if (t !== null) {
5068
5068
  e.updateQueue = null;
@@ -5073,7 +5073,7 @@ function Ru(e) {
5073
5073
  });
5074
5074
  }
5075
5075
  }
5076
- function Re(e, t) {
5076
+ function Se(e, t) {
5077
5077
  var n = t.deletions;
5078
5078
  if (n !== null)
5079
5079
  for (var r = 0; r < n.length; r++) {
@@ -5097,47 +5097,47 @@ function Re(e, t) {
5097
5097
  }
5098
5098
  if (ee === null)
5099
5099
  throw Error(b(160));
5100
- Id(o, l, i), ee = null, Ve = !1;
5100
+ vd(o, l, i), ee = null, Ve = !1;
5101
5101
  var u = i.alternate;
5102
5102
  u !== null && (u.return = null), i.return = null;
5103
5103
  } catch (c) {
5104
- T(i, t, c);
5104
+ D(i, t, c);
5105
5105
  }
5106
5106
  }
5107
5107
  if (t.subtreeFlags & 12854)
5108
5108
  for (t = t.child; t !== null; )
5109
- vd(t, e), t = t.sibling;
5109
+ Id(t, e), t = t.sibling;
5110
5110
  }
5111
- function vd(e, t) {
5111
+ function Id(e, t) {
5112
5112
  var n = e.alternate, r = e.flags;
5113
5113
  switch (e.tag) {
5114
5114
  case 0:
5115
5115
  case 11:
5116
5116
  case 14:
5117
5117
  case 15:
5118
- if (Re(t, e), Te(e), r & 4) {
5118
+ if (Se(t, e), De(e), r & 4) {
5119
5119
  try {
5120
5120
  qn(3, e, e.return), zi(3, e);
5121
- } catch (v) {
5122
- T(e, e.return, v);
5121
+ } catch (I) {
5122
+ D(e, e.return, I);
5123
5123
  }
5124
5124
  try {
5125
5125
  qn(5, e, e.return);
5126
- } catch (v) {
5127
- T(e, e.return, v);
5126
+ } catch (I) {
5127
+ D(e, e.return, I);
5128
5128
  }
5129
5129
  }
5130
5130
  break;
5131
5131
  case 1:
5132
- Re(t, e), Te(e), r & 512 && n !== null && pn(n, n.return);
5132
+ Se(t, e), De(e), r & 512 && n !== null && pn(n, n.return);
5133
5133
  break;
5134
5134
  case 5:
5135
- if (Re(t, e), Te(e), r & 512 && n !== null && pn(n, n.return), e.flags & 32) {
5135
+ if (Se(t, e), De(e), r & 512 && n !== null && pn(n, n.return), e.flags & 32) {
5136
5136
  var i = e.stateNode;
5137
5137
  try {
5138
5138
  ir(i, "");
5139
- } catch (v) {
5140
- T(e, e.return, v);
5139
+ } catch (I) {
5140
+ D(e, e.return, I);
5141
5141
  }
5142
5142
  }
5143
5143
  if (r & 4 && (i = e.stateNode, i != null)) {
@@ -5148,7 +5148,7 @@ function vd(e, t) {
5148
5148
  var c = xo(a, o);
5149
5149
  for (l = 0; l < u.length; l += 2) {
5150
5150
  var p = u[l], g = u[l + 1];
5151
- p === "style" ? Ds(i, g) : p === "dangerouslySetInnerHTML" ? xs(i, g) : p === "children" ? ir(i, g) : Ol(i, p, g, c);
5151
+ p === "style" ? Ts(i, g) : p === "dangerouslySetInnerHTML" ? xs(i, g) : p === "children" ? ir(i, g) : Rl(i, p, g, c);
5152
5152
  }
5153
5153
  switch (a) {
5154
5154
  case "input":
@@ -5169,39 +5169,39 @@ function vd(e, t) {
5169
5169
  ) : hn(i, !!o.multiple, o.multiple ? [] : "", !1));
5170
5170
  }
5171
5171
  i[fr] = o;
5172
- } catch (v) {
5173
- T(e, e.return, v);
5172
+ } catch (I) {
5173
+ D(e, e.return, I);
5174
5174
  }
5175
5175
  }
5176
5176
  break;
5177
5177
  case 6:
5178
- if (Re(t, e), Te(e), r & 4) {
5178
+ if (Se(t, e), De(e), r & 4) {
5179
5179
  if (e.stateNode === null)
5180
5180
  throw Error(b(162));
5181
5181
  i = e.stateNode, o = e.memoizedProps;
5182
5182
  try {
5183
5183
  i.nodeValue = o;
5184
- } catch (v) {
5185
- T(e, e.return, v);
5184
+ } catch (I) {
5185
+ D(e, e.return, I);
5186
5186
  }
5187
5187
  }
5188
5188
  break;
5189
5189
  case 3:
5190
- if (Re(t, e), Te(e), r & 4 && n !== null && n.memoizedState.isDehydrated)
5190
+ if (Se(t, e), De(e), r & 4 && n !== null && n.memoizedState.isDehydrated)
5191
5191
  try {
5192
5192
  ur(t.containerInfo);
5193
- } catch (v) {
5194
- T(e, e.return, v);
5193
+ } catch (I) {
5194
+ D(e, e.return, I);
5195
5195
  }
5196
5196
  break;
5197
5197
  case 4:
5198
- Re(t, e), Te(e);
5198
+ Se(t, e), De(e);
5199
5199
  break;
5200
5200
  case 13:
5201
- Re(t, e), Te(e), i = e.child, i.flags & 8192 && (o = i.memoizedState !== null, i.stateNode.isHidden = o, !o || i.alternate !== null && i.alternate.memoizedState !== null || (fa = D())), r & 4 && Ru(e);
5201
+ Se(t, e), De(e), i = e.child, i.flags & 8192 && (o = i.memoizedState !== null, i.stateNode.isHidden = o, !o || i.alternate !== null && i.alternate.memoizedState !== null || (fa = T())), r & 4 && Su(e);
5202
5202
  break;
5203
5203
  case 22:
5204
- if (p = n !== null && n.memoizedState !== null, e.mode & 1 ? (le = (c = le) || p, Re(t, e), le = c) : Re(t, e), Te(e), r & 8192) {
5204
+ if (p = n !== null && n.memoizedState !== null, e.mode & 1 ? (le = (c = le) || p, Se(t, e), le = c) : Se(t, e), De(e), r & 8192) {
5205
5205
  if (c = e.memoizedState !== null, (e.stateNode.isHidden = c) && !p && e.mode & 1)
5206
5206
  for (G = e, p = e.child; p !== null; ) {
5207
5207
  for (g = G = p; G !== null; ) {
@@ -5219,8 +5219,8 @@ function vd(e, t) {
5219
5219
  r = f, n = f.return;
5220
5220
  try {
5221
5221
  t = r, C.props = t.memoizedProps, C.state = t.memoizedState, C.componentWillUnmount();
5222
- } catch (v) {
5223
- T(r, n, v);
5222
+ } catch (I) {
5223
+ D(r, n, I);
5224
5224
  }
5225
5225
  }
5226
5226
  break;
@@ -5243,17 +5243,17 @@ function vd(e, t) {
5243
5243
  if (p === null) {
5244
5244
  p = g;
5245
5245
  try {
5246
- i = g.stateNode, c ? (o = i.style, typeof o.setProperty == "function" ? o.setProperty("display", "none", "important") : o.display = "none") : (a = g.stateNode, u = g.memoizedProps.style, l = u != null && u.hasOwnProperty("display") ? u.display : null, a.style.display = Ts("display", l));
5247
- } catch (v) {
5248
- T(e, e.return, v);
5246
+ i = g.stateNode, c ? (o = i.style, typeof o.setProperty == "function" ? o.setProperty("display", "none", "important") : o.display = "none") : (a = g.stateNode, u = g.memoizedProps.style, l = u != null && u.hasOwnProperty("display") ? u.display : null, a.style.display = Ds("display", l));
5247
+ } catch (I) {
5248
+ D(e, e.return, I);
5249
5249
  }
5250
5250
  }
5251
5251
  } else if (g.tag === 6) {
5252
5252
  if (p === null)
5253
5253
  try {
5254
5254
  g.stateNode.nodeValue = c ? "" : g.memoizedProps;
5255
- } catch (v) {
5256
- T(e, e.return, v);
5255
+ } catch (I) {
5256
+ D(e, e.return, I);
5257
5257
  }
5258
5258
  } else if ((g.tag !== 22 && g.tag !== 23 || g.memoizedState === null || g === e) && g.child !== null) {
5259
5259
  g.child.return = g, g = g.child;
@@ -5271,18 +5271,18 @@ function vd(e, t) {
5271
5271
  }
5272
5272
  break;
5273
5273
  case 19:
5274
- Re(t, e), Te(e), r & 4 && Ru(e);
5274
+ Se(t, e), De(e), r & 4 && Su(e);
5275
5275
  break;
5276
5276
  case 21:
5277
5277
  break;
5278
5278
  default:
5279
- Re(
5279
+ Se(
5280
5280
  t,
5281
5281
  e
5282
- ), Te(e);
5282
+ ), De(e);
5283
5283
  }
5284
5284
  }
5285
- function Te(e) {
5285
+ function De(e) {
5286
5286
  var t = e.flags;
5287
5287
  if (t & 2) {
5288
5288
  try {
@@ -5300,19 +5300,19 @@ function Te(e) {
5300
5300
  case 5:
5301
5301
  var i = r.stateNode;
5302
5302
  r.flags & 32 && (ir(i, ""), r.flags &= -33);
5303
- var o = Ou(e);
5304
- vl(e, o, i);
5303
+ var o = Ru(e);
5304
+ Il(e, o, i);
5305
5305
  break;
5306
5306
  case 3:
5307
5307
  case 4:
5308
- var l = r.stateNode.containerInfo, a = Ou(e);
5309
- Il(e, a, l);
5308
+ var l = r.stateNode.containerInfo, a = Ru(e);
5309
+ vl(e, a, l);
5310
5310
  break;
5311
5311
  default:
5312
5312
  throw Error(b(161));
5313
5313
  }
5314
5314
  } catch (u) {
5315
- T(e, e.return, u);
5315
+ D(e, e.return, u);
5316
5316
  }
5317
5317
  e.flags &= -3;
5318
5318
  }
@@ -5365,7 +5365,7 @@ function Ku(e) {
5365
5365
  r.componentDidUpdate(i, n.memoizedState, r.__reactInternalSnapshotBeforeUpdate);
5366
5366
  }
5367
5367
  var o = t.updateQueue;
5368
- o !== null && vu(t, o, r);
5368
+ o !== null && Iu(t, o, r);
5369
5369
  break;
5370
5370
  case 3:
5371
5371
  var l = t.updateQueue;
@@ -5378,7 +5378,7 @@ function Ku(e) {
5378
5378
  case 1:
5379
5379
  n = t.child.stateNode;
5380
5380
  }
5381
- vu(t, l, n);
5381
+ Iu(t, l, n);
5382
5382
  }
5383
5383
  break;
5384
5384
  case 5:
@@ -5428,7 +5428,7 @@ function Ku(e) {
5428
5428
  }
5429
5429
  le || t.flags & 512 && Cl(t);
5430
5430
  } catch (f) {
5431
- T(t, t.return, f);
5431
+ D(t, t.return, f);
5432
5432
  }
5433
5433
  }
5434
5434
  if (t === e) {
@@ -5469,7 +5469,7 @@ function Vu(e) {
5469
5469
  try {
5470
5470
  zi(4, t);
5471
5471
  } catch (u) {
5472
- T(t, n, u);
5472
+ D(t, n, u);
5473
5473
  }
5474
5474
  break;
5475
5475
  case 1:
@@ -5479,14 +5479,14 @@ function Vu(e) {
5479
5479
  try {
5480
5480
  r.componentDidMount();
5481
5481
  } catch (u) {
5482
- T(t, i, u);
5482
+ D(t, i, u);
5483
5483
  }
5484
5484
  }
5485
5485
  var o = t.return;
5486
5486
  try {
5487
5487
  Cl(t);
5488
5488
  } catch (u) {
5489
- T(t, o, u);
5489
+ D(t, o, u);
5490
5490
  }
5491
5491
  break;
5492
5492
  case 5:
@@ -5494,11 +5494,11 @@ function Vu(e) {
5494
5494
  try {
5495
5495
  Cl(t);
5496
5496
  } catch (u) {
5497
- T(t, l, u);
5497
+ D(t, l, u);
5498
5498
  }
5499
5499
  }
5500
5500
  } catch (u) {
5501
- T(t, t.return, u);
5501
+ D(t, t.return, u);
5502
5502
  }
5503
5503
  if (t === e) {
5504
5504
  G = null;
@@ -5512,17 +5512,17 @@ function Vu(e) {
5512
5512
  G = t.return;
5513
5513
  }
5514
5514
  }
5515
- var Zp = Math.ceil, Li = gt.ReactCurrentDispatcher, da = gt.ReactCurrentOwner, Ne = gt.ReactCurrentBatchConfig, O = 0, q = null, E = null, te = 0, ye = 0, mn = Ot(0), P = 0, vr = null, Qt = 0, xi = 0, ga = 0, er = null, fe = null, fa = 0, Yn = 1 / 0, rt = null, Xi = !1, yl = null, Xt = null, zr = !1, yt = null, Gi = 0, tr = 0, bl = null, ti = -1, ni = 0;
5515
+ var Zp = Math.ceil, Li = gt.ReactCurrentDispatcher, da = gt.ReactCurrentOwner, Ne = gt.ReactCurrentBatchConfig, R = 0, q = null, E = null, te = 0, ye = 0, mn = Rt(0), P = 0, Ir = null, Qt = 0, xi = 0, ga = 0, er = null, fe = null, fa = 0, Yn = 1 / 0, rt = null, Xi = !1, yl = null, Xt = null, zr = !1, yt = null, Gi = 0, tr = 0, bl = null, ti = -1, ni = 0;
5516
5516
  function ce() {
5517
- return O & 6 ? D() : ti !== -1 ? ti : ti = D();
5517
+ return R & 6 ? T() : ti !== -1 ? ti : ti = T();
5518
5518
  }
5519
5519
  function Gt(e) {
5520
- return e.mode & 1 ? O & 2 && te !== 0 ? te & -te : lp.transition !== null ? (ni === 0 && (ni = rc()), ni) : (e = R, e !== 0 || (e = window.event, e = e === void 0 ? 16 : cc(e.type)), e) : 1;
5520
+ return e.mode & 1 ? R & 2 && te !== 0 ? te & -te : lp.transition !== null ? (ni === 0 && (ni = rc()), ni) : (e = S, e !== 0 || (e = window.event, e = e === void 0 ? 16 : cc(e.type)), e) : 1;
5521
5521
  }
5522
5522
  function Me(e, t, n, r) {
5523
5523
  if (50 < tr)
5524
5524
  throw tr = 0, bl = null, Error(b(185));
5525
- br(e, n, r), (!(O & 2) || e !== q) && (e === q && (!(O & 2) && (xi |= n), P === 4 && It(e, te)), Ce(e, r), n === 1 && O === 0 && !(t.mode & 1) && (Yn = D() + 500, Fi && Rt()));
5525
+ br(e, n, r), (!(R & 2) || e !== q) && (e === q && (!(R & 2) && (xi |= n), P === 4 && vt(e, te)), Ce(e, r), n === 1 && R === 0 && !(t.mode & 1) && (Yn = T() + 500, Fi && St()));
5526
5526
  }
5527
5527
  function Ce(e, t) {
5528
5528
  var n = e.callbackNode;
@@ -5533,7 +5533,7 @@ function Ce(e, t) {
5533
5533
  else if (t = r & -r, e.callbackPriority !== t) {
5534
5534
  if (n != null && Qa(n), t === 1)
5535
5535
  e.tag === 0 ? op(Fu.bind(null, e)) : Ac(Fu.bind(null, e)), tp(function() {
5536
- !(O & 6) && Rt();
5536
+ !(R & 6) && St();
5537
5537
  }), n = null;
5538
5538
  else {
5539
5539
  switch (ic(r)) {
@@ -5558,7 +5558,7 @@ function Ce(e, t) {
5558
5558
  }
5559
5559
  }
5560
5560
  function bd(e, t) {
5561
- if (ti = -1, ni = 0, O & 6)
5561
+ if (ti = -1, ni = 0, R & 6)
5562
5562
  throw Error(b(327));
5563
5563
  var n = e.callbackNode;
5564
5564
  if (bn() && e.callbackNode !== n)
@@ -5570,10 +5570,10 @@ function bd(e, t) {
5570
5570
  t = Yi(e, r);
5571
5571
  else {
5572
5572
  t = r;
5573
- var i = O;
5574
- O |= 2;
5573
+ var i = R;
5574
+ R |= 2;
5575
5575
  var o = Zd();
5576
- (q !== e || te !== t) && (rt = null, Yn = D() + 500, zt(e, t));
5576
+ (q !== e || te !== t) && (rt = null, Yn = T() + 500, zt(e, t));
5577
5577
  do
5578
5578
  try {
5579
5579
  Xp();
@@ -5582,16 +5582,16 @@ function bd(e, t) {
5582
5582
  wd(e, a);
5583
5583
  }
5584
5584
  while (1);
5585
- $l(), Li.current = o, O = i, E !== null ? t = 0 : (q = null, te = 0, t = P);
5585
+ $l(), Li.current = o, R = i, E !== null ? t = 0 : (q = null, te = 0, t = P);
5586
5586
  }
5587
5587
  if (t !== 0) {
5588
5588
  if (t === 2 && (i = Eo(e), i !== 0 && (r = i, t = wl(e, i))), t === 1)
5589
- throw n = vr, zt(e, 0), It(e, r), Ce(e, D()), n;
5589
+ throw n = Ir, zt(e, 0), vt(e, r), Ce(e, T()), n;
5590
5590
  if (t === 6)
5591
- It(e, r);
5591
+ vt(e, r);
5592
5592
  else {
5593
5593
  if (i = e.current.alternate, !(r & 30) && !Wp(i) && (t = Yi(e, r), t === 2 && (o = Eo(e), o !== 0 && (r = o, t = wl(e, o))), t === 1))
5594
- throw n = vr, zt(e, 0), It(e, r), Ce(e, D()), n;
5594
+ throw n = Ir, zt(e, 0), vt(e, r), Ce(e, T()), n;
5595
5595
  switch (e.finishedWork = i, e.finishedLanes = r, t) {
5596
5596
  case 0:
5597
5597
  case 1:
@@ -5600,7 +5600,7 @@ function bd(e, t) {
5600
5600
  Vt(e, fe, rt);
5601
5601
  break;
5602
5602
  case 3:
5603
- if (It(e, r), (r & 130023424) === r && (t = fa + 500 - D(), 10 < t)) {
5603
+ if (vt(e, r), (r & 130023424) === r && (t = fa + 500 - T(), 10 < t)) {
5604
5604
  if (ci(e, 0) !== 0)
5605
5605
  break;
5606
5606
  if (i = e.suspendedLanes, (i & r) !== r) {
@@ -5613,13 +5613,13 @@ function bd(e, t) {
5613
5613
  Vt(e, fe, rt);
5614
5614
  break;
5615
5615
  case 4:
5616
- if (It(e, r), (r & 4194240) === r)
5616
+ if (vt(e, r), (r & 4194240) === r)
5617
5617
  break;
5618
5618
  for (t = e.eventTimes, i = -1; 0 < r; ) {
5619
5619
  var l = 31 - He(r);
5620
5620
  o = 1 << l, l = t[l], l > i && (i = l), r &= ~o;
5621
5621
  }
5622
- if (r = i, r = D() - r, r = (120 > r ? 120 : 480 > r ? 480 : 1080 > r ? 1080 : 1920 > r ? 1920 : 3e3 > r ? 3e3 : 4320 > r ? 4320 : 1960 * Zp(r / 1960)) - r, 10 < r) {
5622
+ if (r = i, r = T() - r, r = (120 > r ? 120 : 480 > r ? 480 : 1080 > r ? 1080 : 1920 > r ? 1920 : 3e3 > r ? 3e3 : 4320 > r ? 4320 : 1960 * Zp(r / 1960)) - r, 10 < r) {
5623
5623
  e.timeoutHandle = nl(Vt.bind(null, e, fe, rt), r);
5624
5624
  break;
5625
5625
  }
@@ -5633,7 +5633,7 @@ function bd(e, t) {
5633
5633
  }
5634
5634
  }
5635
5635
  }
5636
- return Ce(e, D()), e.callbackNode === n ? bd.bind(null, e) : null;
5636
+ return Ce(e, T()), e.callbackNode === n ? bd.bind(null, e) : null;
5637
5637
  }
5638
5638
  function wl(e, t) {
5639
5639
  var n = er;
@@ -5673,49 +5673,49 @@ function Wp(e) {
5673
5673
  }
5674
5674
  return !0;
5675
5675
  }
5676
- function It(e, t) {
5676
+ function vt(e, t) {
5677
5677
  for (t &= ~ga, t &= ~xi, e.suspendedLanes |= t, e.pingedLanes &= ~t, e = e.expirationTimes; 0 < t; ) {
5678
5678
  var n = 31 - He(t), r = 1 << n;
5679
5679
  e[n] = -1, t &= ~r;
5680
5680
  }
5681
5681
  }
5682
5682
  function Fu(e) {
5683
- if (O & 6)
5683
+ if (R & 6)
5684
5684
  throw Error(b(327));
5685
5685
  bn();
5686
5686
  var t = ci(e, 0);
5687
5687
  if (!(t & 1))
5688
- return Ce(e, D()), null;
5688
+ return Ce(e, T()), null;
5689
5689
  var n = Yi(e, t);
5690
5690
  if (e.tag !== 0 && n === 2) {
5691
5691
  var r = Eo(e);
5692
5692
  r !== 0 && (t = r, n = wl(e, r));
5693
5693
  }
5694
5694
  if (n === 1)
5695
- throw n = vr, zt(e, 0), It(e, t), Ce(e, D()), n;
5695
+ throw n = Ir, zt(e, 0), vt(e, t), Ce(e, T()), n;
5696
5696
  if (n === 6)
5697
5697
  throw Error(b(345));
5698
- return e.finishedWork = e.current.alternate, e.finishedLanes = t, Vt(e, fe, rt), Ce(e, D()), null;
5698
+ return e.finishedWork = e.current.alternate, e.finishedLanes = t, Vt(e, fe, rt), Ce(e, T()), null;
5699
5699
  }
5700
5700
  function pa(e, t) {
5701
- var n = O;
5702
- O |= 1;
5701
+ var n = R;
5702
+ R |= 1;
5703
5703
  try {
5704
5704
  return e(t);
5705
5705
  } finally {
5706
- O = n, O === 0 && (Yn = D() + 500, Fi && Rt());
5706
+ R = n, R === 0 && (Yn = T() + 500, Fi && St());
5707
5707
  }
5708
5708
  }
5709
5709
  function Et(e) {
5710
- yt !== null && yt.tag === 0 && !(O & 6) && bn();
5711
- var t = O;
5712
- O |= 1;
5713
- var n = Ne.transition, r = R;
5710
+ yt !== null && yt.tag === 0 && !(R & 6) && bn();
5711
+ var t = R;
5712
+ R |= 1;
5713
+ var n = Ne.transition, r = S;
5714
5714
  try {
5715
- if (Ne.transition = null, R = 1, e)
5715
+ if (Ne.transition = null, S = 1, e)
5716
5716
  return e();
5717
5717
  } finally {
5718
- R = r, Ne.transition = n, O = t, !(O & 6) && Rt();
5718
+ S = r, Ne.transition = n, R = t, !(R & 6) && St();
5719
5719
  }
5720
5720
  }
5721
5721
  function ma() {
@@ -5755,7 +5755,7 @@ function zt(e, t) {
5755
5755
  }
5756
5756
  n = n.return;
5757
5757
  }
5758
- if (q = e, E = e = Yt(e.current, null), te = ye = t, P = 0, vr = null, ga = xi = Qt = 0, fe = er = null, Ht !== null) {
5758
+ if (q = e, E = e = Yt(e.current, null), te = ye = t, P = 0, Ir = null, ga = xi = Qt = 0, fe = er = null, Ht !== null) {
5759
5759
  for (t = 0; t < Ht.length; t++)
5760
5760
  if (n = Ht[t], r = n.interleaved, r !== null) {
5761
5761
  n.interleaved = null;
@@ -5782,7 +5782,7 @@ function wd(e, t) {
5782
5782
  Zi = !1;
5783
5783
  }
5784
5784
  if (Jt = 0, $ = U = z = null, $n = !1, hr = 0, da.current = null, n === null || n.return === null) {
5785
- P = 1, vr = t, E = null;
5785
+ P = 1, Ir = t, E = null;
5786
5786
  break;
5787
5787
  }
5788
5788
  e: {
@@ -5798,8 +5798,8 @@ function wd(e, t) {
5798
5798
  h.flags &= -257, Gu(h, l, a, o, t), h.mode & 1 && Lu(o, c, t), t = h, u = c;
5799
5799
  var C = t.updateQueue;
5800
5800
  if (C === null) {
5801
- var v = /* @__PURE__ */ new Set();
5802
- v.add(u), t.updateQueue = v;
5801
+ var I = /* @__PURE__ */ new Set();
5802
+ I.add(u), t.updateQueue = I;
5803
5803
  } else
5804
5804
  C.add(u);
5805
5805
  break e;
@@ -5823,15 +5823,15 @@ function wd(e, t) {
5823
5823
  case 3:
5824
5824
  o.flags |= 65536, t &= -t, o.lanes |= t;
5825
5825
  var d = od(o, u, t);
5826
- Iu(o, d);
5826
+ vu(o, d);
5827
5827
  break e;
5828
5828
  case 1:
5829
5829
  a = u;
5830
5830
  var s = o.type, m = o.stateNode;
5831
5831
  if (!(o.flags & 128) && (typeof s.getDerivedStateFromError == "function" || m !== null && typeof m.componentDidCatch == "function" && (Xt === null || !Xt.has(m)))) {
5832
5832
  o.flags |= 65536, t &= -t, o.lanes |= t;
5833
- var I = ld(o, a, t);
5834
- Iu(o, I);
5833
+ var v = ld(o, a, t);
5834
+ vu(o, v);
5835
5835
  break e;
5836
5836
  }
5837
5837
  }
@@ -5851,11 +5851,11 @@ function Zd() {
5851
5851
  return Li.current = Wi, e === null ? Wi : e;
5852
5852
  }
5853
5853
  function ha() {
5854
- (P === 0 || P === 3 || P === 2) && (P = 4), q === null || !(Qt & 268435455) && !(xi & 268435455) || It(q, te);
5854
+ (P === 0 || P === 3 || P === 2) && (P = 4), q === null || !(Qt & 268435455) && !(xi & 268435455) || vt(q, te);
5855
5855
  }
5856
5856
  function Yi(e, t) {
5857
- var n = O;
5858
- O |= 2;
5857
+ var n = R;
5858
+ R |= 2;
5859
5859
  var r = Zd();
5860
5860
  (q !== e || te !== t) && (rt = null, zt(e, t));
5861
5861
  do
@@ -5866,7 +5866,7 @@ function Yi(e, t) {
5866
5866
  wd(e, i);
5867
5867
  }
5868
5868
  while (1);
5869
- if ($l(), O = n, Li.current = r, E !== null)
5869
+ if ($l(), R = n, Li.current = r, E !== null)
5870
5870
  throw Error(b(261));
5871
5871
  return q = null, te = 0, P;
5872
5872
  }
@@ -5887,7 +5887,7 @@ function Ld(e) {
5887
5887
  do {
5888
5888
  var n = t.alternate;
5889
5889
  if (e = t.return, t.flags & 32768) {
5890
- if (n = vp(n, t), n !== null) {
5890
+ if (n = Ip(n, t), n !== null) {
5891
5891
  n.flags &= 32767, E = n;
5892
5892
  return;
5893
5893
  }
@@ -5897,7 +5897,7 @@ function Ld(e) {
5897
5897
  P = 6, E = null;
5898
5898
  return;
5899
5899
  }
5900
- } else if (n = Ip(n, t, ye), n !== null) {
5900
+ } else if (n = vp(n, t, ye), n !== null) {
5901
5901
  E = n;
5902
5902
  return;
5903
5903
  }
@@ -5910,11 +5910,11 @@ function Ld(e) {
5910
5910
  P === 0 && (P = 5);
5911
5911
  }
5912
5912
  function Vt(e, t, n) {
5913
- var r = R, i = Ne.transition;
5913
+ var r = S, i = Ne.transition;
5914
5914
  try {
5915
- Ne.transition = null, R = 1, Gp(e, t, n, r);
5915
+ Ne.transition = null, S = 1, Gp(e, t, n, r);
5916
5916
  } finally {
5917
- Ne.transition = i, R = r;
5917
+ Ne.transition = i, S = r;
5918
5918
  }
5919
5919
  return null;
5920
5920
  }
@@ -5922,7 +5922,7 @@ function Gp(e, t, n, r) {
5922
5922
  do
5923
5923
  bn();
5924
5924
  while (yt !== null);
5925
- if (O & 6)
5925
+ if (R & 6)
5926
5926
  throw Error(b(327));
5927
5927
  n = e.finishedWork;
5928
5928
  var i = e.finishedLanes;
@@ -5936,30 +5936,30 @@ function Gp(e, t, n, r) {
5936
5936
  return bn(), null;
5937
5937
  })), o = (n.flags & 15990) !== 0, n.subtreeFlags & 15990 || o) {
5938
5938
  o = Ne.transition, Ne.transition = null;
5939
- var l = R;
5940
- R = 1;
5941
- var a = O;
5942
- O |= 4, da.current = null, bp(e, n), vd(n, e), Qf(el), di = !!qo, el = qo = null, e.current = n, wp(n), _g(), O = a, R = l, Ne.transition = o;
5939
+ var l = S;
5940
+ S = 1;
5941
+ var a = R;
5942
+ R |= 4, da.current = null, bp(e, n), Id(n, e), Qf(el), di = !!qo, el = qo = null, e.current = n, wp(n), _g(), R = a, S = l, Ne.transition = o;
5943
5943
  } else
5944
5944
  e.current = n;
5945
- if (zr && (zr = !1, yt = e, Gi = i), o = e.pendingLanes, o === 0 && (Xt = null), ef(n.stateNode), Ce(e, D()), t !== null)
5945
+ if (zr && (zr = !1, yt = e, Gi = i), o = e.pendingLanes, o === 0 && (Xt = null), ef(n.stateNode), Ce(e, T()), t !== null)
5946
5946
  for (r = e.onRecoverableError, n = 0; n < t.length; n++)
5947
5947
  i = t[n], r(i.value, { componentStack: i.stack, digest: i.digest });
5948
5948
  if (Xi)
5949
5949
  throw Xi = !1, e = yl, yl = null, e;
5950
- return Gi & 1 && e.tag !== 0 && bn(), o = e.pendingLanes, o & 1 ? e === bl ? tr++ : (tr = 0, bl = e) : tr = 0, Rt(), null;
5950
+ return Gi & 1 && e.tag !== 0 && bn(), o = e.pendingLanes, o & 1 ? e === bl ? tr++ : (tr = 0, bl = e) : tr = 0, St(), null;
5951
5951
  }
5952
5952
  function bn() {
5953
5953
  if (yt !== null) {
5954
- var e = ic(Gi), t = Ne.transition, n = R;
5954
+ var e = ic(Gi), t = Ne.transition, n = S;
5955
5955
  try {
5956
- if (Ne.transition = null, R = 16 > e ? 16 : e, yt === null)
5956
+ if (Ne.transition = null, S = 16 > e ? 16 : e, yt === null)
5957
5957
  var r = !1;
5958
5958
  else {
5959
- if (e = yt, yt = null, Gi = 0, O & 6)
5959
+ if (e = yt, yt = null, Gi = 0, R & 6)
5960
5960
  throw Error(b(331));
5961
- var i = O;
5962
- for (O |= 4, G = e.current; G !== null; ) {
5961
+ var i = R;
5962
+ for (R |= 4, G = e.current; G !== null; ) {
5963
5963
  var o = G, l = o.child;
5964
5964
  if (G.flags & 16) {
5965
5965
  var a = o.deletions;
@@ -5995,13 +5995,13 @@ function bn() {
5995
5995
  }
5996
5996
  var C = o.alternate;
5997
5997
  if (C !== null) {
5998
- var v = C.child;
5999
- if (v !== null) {
5998
+ var I = C.child;
5999
+ if (I !== null) {
6000
6000
  C.child = null;
6001
6001
  do {
6002
- var w = v.sibling;
6003
- v.sibling = null, v = w;
6004
- } while (v !== null);
6002
+ var w = I.sibling;
6003
+ I.sibling = null, I = w;
6004
+ } while (I !== null);
6005
6005
  }
6006
6006
  }
6007
6007
  G = o;
@@ -6045,30 +6045,30 @@ function bn() {
6045
6045
  zi(9, a);
6046
6046
  }
6047
6047
  } catch (y) {
6048
- T(a, a.return, y);
6048
+ D(a, a.return, y);
6049
6049
  }
6050
6050
  if (a === l) {
6051
6051
  G = null;
6052
6052
  break e;
6053
6053
  }
6054
- var I = a.sibling;
6055
- if (I !== null) {
6056
- I.return = a.return, G = I;
6054
+ var v = a.sibling;
6055
+ if (v !== null) {
6056
+ v.return = a.return, G = v;
6057
6057
  break e;
6058
6058
  }
6059
6059
  G = a.return;
6060
6060
  }
6061
6061
  }
6062
- if (O = i, Rt(), Ue && typeof Ue.onPostCommitFiberRoot == "function")
6062
+ if (R = i, St(), Ue && typeof Ue.onPostCommitFiberRoot == "function")
6063
6063
  try {
6064
- Ue.onPostCommitFiberRoot(Oi, e);
6064
+ Ue.onPostCommitFiberRoot(Ri, e);
6065
6065
  } catch {
6066
6066
  }
6067
6067
  r = !0;
6068
6068
  }
6069
6069
  return r;
6070
6070
  } finally {
6071
- R = n, Ne.transition = t;
6071
+ S = n, Ne.transition = t;
6072
6072
  }
6073
6073
  }
6074
6074
  return !1;
@@ -6076,7 +6076,7 @@ function bn() {
6076
6076
  function Hu(e, t, n) {
6077
6077
  t = Gn(n, t), t = od(e, t, 1), e = Lt(e, t, 1), t = ce(), e !== null && (br(e, 1, t), Ce(e, t));
6078
6078
  }
6079
- function T(e, t, n) {
6079
+ function D(e, t, n) {
6080
6080
  if (e.tag === 3)
6081
6081
  Hu(e, e, n);
6082
6082
  else
@@ -6096,7 +6096,7 @@ function T(e, t, n) {
6096
6096
  }
6097
6097
  function Yp(e, t, n) {
6098
6098
  var r = e.pingCache;
6099
- r !== null && r.delete(t), t = ce(), e.pingedLanes |= e.suspendedLanes & n, q === e && (te & n) === n && (P === 4 || P === 3 && (te & 130023424) === te && 500 > D() - fa ? zt(e, 0) : ga |= n), Ce(e, t);
6099
+ r !== null && r.delete(t), t = ce(), e.pingedLanes |= e.suspendedLanes & n, q === e && (te & n) === n && (P === 4 || P === 3 && (te & 130023424) === te && 500 > T() - fa ? zt(e, 0) : ga |= n), Ce(e, t);
6100
6100
  }
6101
6101
  function Xd(e, t) {
6102
6102
  t === 0 && (e.mode & 1 ? (t = Br, Br <<= 1, !(Br & 130023424) && (Br = 4194304)) : t = 1);
@@ -6133,7 +6133,7 @@ Gd = function(e, t, n) {
6133
6133
  pe = !!(e.flags & 131072);
6134
6134
  }
6135
6135
  else
6136
- pe = !1, H && t.flags & 1048576 && Nc(t, Ii, t.index);
6136
+ pe = !1, H && t.flags & 1048576 && Nc(t, vi, t.index);
6137
6137
  switch (t.lanes = 0, t.tag) {
6138
6138
  case 2:
6139
6139
  var r = t.type;
@@ -6174,7 +6174,7 @@ Gd = function(e, t, n) {
6174
6174
  e: {
6175
6175
  if (cd(t), e === null)
6176
6176
  throw Error(b(387));
6177
- r = t.pendingProps, o = t.memoizedState, i = o.element, Oc(e, t), bi(t, r, null, n);
6177
+ r = t.pendingProps, o = t.memoizedState, i = o.element, Rc(e, t), bi(t, r, null, n);
6178
6178
  var l = t.memoizedState;
6179
6179
  if (r = l.element, o.isDehydrated)
6180
6180
  if (o = { element: r, isDehydrated: !1, cache: l.cache, pendingSuspenseBoundaries: l.pendingSuspenseBoundaries, transitions: l.transitions }, t.updateQueue.baseState = o, t.memoizedState = o, t.flags & 256) {
@@ -6214,7 +6214,7 @@ Gd = function(e, t, n) {
6214
6214
  return se(e, t, t.pendingProps.children, n), t.child;
6215
6215
  case 10:
6216
6216
  e: {
6217
- if (r = t.type._context, i = t.pendingProps, o = t.memoizedProps, l = i.value, j(vi, r._currentValue), r._currentValue = l, o !== null)
6217
+ if (r = t.type._context, i = t.pendingProps, o = t.memoizedProps, l = i.value, j(Ii, r._currentValue), r._currentValue = l, o !== null)
6218
6218
  if (ze(o.value, l)) {
6219
6219
  if (o.children === i.children && !me.current) {
6220
6220
  t = dt(e, t, n);
@@ -6325,21 +6325,21 @@ function ri(e, t, n, r, i, o) {
6325
6325
  switch (e) {
6326
6326
  case on:
6327
6327
  return xt(n.children, i, o, t);
6328
- case Rl:
6328
+ case Sl:
6329
6329
  l = 8, i |= 8;
6330
6330
  break;
6331
- case So:
6332
- return e = Ae(12, n, t, i | 2), e.elementType = So, e.lanes = o, e;
6333
6331
  case Oo:
6334
- return e = Ae(13, n, t, i), e.elementType = Oo, e.lanes = o, e;
6332
+ return e = Ae(12, n, t, i | 2), e.elementType = Oo, e.lanes = o, e;
6335
6333
  case Ro:
6336
- return e = Ae(19, n, t, i), e.elementType = Ro, e.lanes = o, e;
6334
+ return e = Ae(13, n, t, i), e.elementType = Ro, e.lanes = o, e;
6335
+ case So:
6336
+ return e = Ae(19, n, t, i), e.elementType = So, e.lanes = o, e;
6337
6337
  case js:
6338
- return Ti(n, i, o, t);
6338
+ return Di(n, i, o, t);
6339
6339
  default:
6340
6340
  if (typeof e == "object" && e !== null)
6341
6341
  switch (e.$$typeof) {
6342
- case Rs:
6342
+ case Ss:
6343
6343
  l = 10;
6344
6344
  break e;
6345
6345
  case Ks:
@@ -6362,7 +6362,7 @@ function ri(e, t, n, r, i, o) {
6362
6362
  function xt(e, t, n, r) {
6363
6363
  return e = Ae(7, e, r, t), e.lanes = n, e;
6364
6364
  }
6365
- function Ti(e, t, n, r) {
6365
+ function Di(e, t, n, r) {
6366
6366
  return e = Ae(22, e, r, t), e.elementType = js, e.lanes = n, e.stateNode = { isHidden: !1 }, e;
6367
6367
  }
6368
6368
  function Go(e, t, n) {
@@ -6371,13 +6371,13 @@ function Go(e, t, n) {
6371
6371
  function Yo(e, t, n) {
6372
6372
  return t = Ae(4, e.children !== null ? e.children : [], e.key, t), t.lanes = n, t.stateNode = { containerInfo: e.containerInfo, pendingChildren: null, implementation: e.implementation }, t;
6373
6373
  }
6374
- function Sp(e, t, n, r, i) {
6374
+ function Op(e, t, n, r, i) {
6375
6375
  this.tag = t, this.containerInfo = e, this.finishedWork = this.pingCache = this.current = this.pendingChildren = null, this.timeoutHandle = -1, this.callbackNode = this.pendingContext = this.context = null, this.callbackPriority = 0, this.eventTimes = ao(0), this.expirationTimes = ao(-1), this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0, this.entanglements = ao(0), this.identifierPrefix = r, this.onRecoverableError = i, this.mutableSourceEagerHydrationData = null;
6376
6376
  }
6377
- function Ia(e, t, n, r, i, o, l, a, u) {
6378
- return e = new Sp(e, t, n, a, u), t === 1 ? (t = 1, o === !0 && (t |= 8)) : t = 0, o = Ae(3, null, null, t), e.current = o, o.stateNode = e, o.memoizedState = { element: r, isDehydrated: n, cache: null, transitions: null, pendingSuspenseBoundaries: null }, ta(o), e;
6377
+ function va(e, t, n, r, i, o, l, a, u) {
6378
+ return e = new Op(e, t, n, a, u), t === 1 ? (t = 1, o === !0 && (t |= 8)) : t = 0, o = Ae(3, null, null, t), e.current = o, o.stateNode = e, o.memoizedState = { element: r, isDehydrated: n, cache: null, transitions: null, pendingSuspenseBoundaries: null }, ta(o), e;
6379
6379
  }
6380
- function Op(e, t, n) {
6380
+ function Rp(e, t, n) {
6381
6381
  var r = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null;
6382
6382
  return { $$typeof: rn, key: r == null ? null : "" + r, children: e, containerInfo: t, implementation: n };
6383
6383
  }
@@ -6412,9 +6412,9 @@ function Ad(e) {
6412
6412
  return t;
6413
6413
  }
6414
6414
  function Nd(e, t, n, r, i, o, l, a, u) {
6415
- return e = Ia(n, r, !0, e, i, o, l, a, u), e.context = Ad(null), n = e.current, r = ce(), i = Gt(n), o = at(r, i), o.callback = t ?? null, Lt(n, o, i), e.current.lanes = i, br(e, i, r), Ce(e, r), e;
6415
+ return e = va(n, r, !0, e, i, o, l, a, u), e.context = Ad(null), n = e.current, r = ce(), i = Gt(n), o = at(r, i), o.callback = t ?? null, Lt(n, o, i), e.current.lanes = i, br(e, i, r), Ce(e, r), e;
6416
6416
  }
6417
- function Di(e, t, n, r) {
6417
+ function Ti(e, t, n, r) {
6418
6418
  var i = t.current, o = ce(), l = Gt(i);
6419
6419
  return n = Ad(n), t.context === null ? t.context = n : t.pendingContext = n, t = at(o, l), t.payload = { element: e }, r = r === void 0 ? null : r, r !== null && (t.callback = r), e = Lt(i, t, l), e !== null && (Me(e, i, l, o), _r(e, i, l)), l;
6420
6420
  }
@@ -6434,10 +6434,10 @@ function Mu(e, t) {
6434
6434
  e.retryLane = n !== 0 && n < t ? n : t;
6435
6435
  }
6436
6436
  }
6437
- function va(e, t) {
6437
+ function Ia(e, t) {
6438
6438
  Mu(e, t), (e = e.alternate) && Mu(e, t);
6439
6439
  }
6440
- function Rp() {
6440
+ function Sp() {
6441
6441
  return null;
6442
6442
  }
6443
6443
  var kd = typeof reportError == "function" ? reportError : function(e) {
@@ -6450,7 +6450,7 @@ Ji.prototype.render = ya.prototype.render = function(e) {
6450
6450
  var t = this._internalRoot;
6451
6451
  if (t === null)
6452
6452
  throw Error(b(409));
6453
- Di(e, t, null, null);
6453
+ Ti(e, t, null, null);
6454
6454
  };
6455
6455
  Ji.prototype.unmount = ya.prototype.unmount = function() {
6456
6456
  var e = this._internalRoot;
@@ -6458,7 +6458,7 @@ Ji.prototype.unmount = ya.prototype.unmount = function() {
6458
6458
  this._internalRoot = null;
6459
6459
  var t = e.containerInfo;
6460
6460
  Et(function() {
6461
- Di(null, e, null, null);
6461
+ Ti(null, e, null, null);
6462
6462
  }), t[st] = null;
6463
6463
  }
6464
6464
  };
@@ -6503,9 +6503,9 @@ function Kp(e, t, n, r, i) {
6503
6503
  a.call(c);
6504
6504
  };
6505
6505
  }
6506
- var u = Ia(e, 0, !1, null, null, !1, !1, "", zu);
6506
+ var u = va(e, 0, !1, null, null, !1, !1, "", zu);
6507
6507
  return e._reactRootContainer = u, e[st] = u.current, dr(e.nodeType === 8 ? e.parentNode : e), Et(function() {
6508
- Di(t, u, n, r);
6508
+ Ti(t, u, n, r);
6509
6509
  }), u;
6510
6510
  }
6511
6511
  function Ei(e, t, n, r, i) {
@@ -6519,7 +6519,7 @@ function Ei(e, t, n, r, i) {
6519
6519
  a.call(u);
6520
6520
  };
6521
6521
  }
6522
- Di(t, l, e, i);
6522
+ Ti(t, l, e, i);
6523
6523
  } else
6524
6524
  l = Kp(n, t, e, i, r);
6525
6525
  return Ai(l);
@@ -6529,8 +6529,8 @@ oc = function(e) {
6529
6529
  case 3:
6530
6530
  var t = e.stateNode;
6531
6531
  if (t.current.memoizedState.isDehydrated) {
6532
- var n = Dn(t.pendingLanes);
6533
- n !== 0 && (Hl(t, n | 1), Ce(t, D()), !(O & 6) && (Yn = D() + 500, Rt()));
6532
+ var n = Tn(t.pendingLanes);
6533
+ n !== 0 && (Hl(t, n | 1), Ce(t, T()), !(R & 6) && (Yn = T() + 500, St()));
6534
6534
  }
6535
6535
  break;
6536
6536
  case 13:
@@ -6540,7 +6540,7 @@ oc = function(e) {
6540
6540
  var i = ce();
6541
6541
  Me(r, e, 1, i);
6542
6542
  }
6543
- }), va(e, 1);
6543
+ }), Ia(e, 1);
6544
6544
  }
6545
6545
  };
6546
6546
  Ml = function(e) {
@@ -6550,7 +6550,7 @@ Ml = function(e) {
6550
6550
  var n = ce();
6551
6551
  Me(t, e, 134217728, n);
6552
6552
  }
6553
- va(e, 134217728);
6553
+ Ia(e, 134217728);
6554
6554
  }
6555
6555
  };
6556
6556
  lc = function(e) {
@@ -6560,21 +6560,21 @@ lc = function(e) {
6560
6560
  var r = ce();
6561
6561
  Me(n, e, t, r);
6562
6562
  }
6563
- va(e, t);
6563
+ Ia(e, t);
6564
6564
  }
6565
6565
  };
6566
6566
  ac = function() {
6567
- return R;
6567
+ return S;
6568
6568
  };
6569
6569
  uc = function(e, t) {
6570
- var n = R;
6570
+ var n = S;
6571
6571
  try {
6572
- return R = e, t();
6572
+ return S = e, t();
6573
6573
  } finally {
6574
- R = n;
6574
+ S = n;
6575
6575
  }
6576
6576
  };
6577
- Do = function(e, t, n) {
6577
+ To = function(e, t, n) {
6578
6578
  switch (t) {
6579
6579
  case "input":
6580
6580
  if (Vo(e, n), t = n.name, n.type === "radio" && t != null) {
@@ -6602,12 +6602,12 @@ Es = pa;
6602
6602
  Us = Et;
6603
6603
  var jp = { usingClientEntryPoint: !1, Events: [Zr, sn, Vi, Js, Qs, pa] }, Fn = { findFiberByHostInstance: Ft, bundleType: 0, version: "18.2.0", rendererPackageName: "react-dom" }, Vp = { bundleType: Fn.bundleType, version: Fn.version, rendererPackageName: Fn.rendererPackageName, rendererConfig: Fn.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, overrideProps: null, overridePropsDeletePath: null, overridePropsRenamePath: null, setErrorHandler: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: gt.ReactCurrentDispatcher, findHostInstanceByFiber: function(e) {
6604
6604
  return e = $s(e), e === null ? null : e.stateNode;
6605
- }, findFiberByHostInstance: Fn.findFiberByHostInstance || Rp, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, reconcilerVersion: "18.2.0-next-9e3b772b8-20220608" };
6605
+ }, findFiberByHostInstance: Fn.findFiberByHostInstance || Sp, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, reconcilerVersion: "18.2.0-next-9e3b772b8-20220608" };
6606
6606
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u") {
6607
6607
  var xr = __REACT_DEVTOOLS_GLOBAL_HOOK__;
6608
6608
  if (!xr.isDisabled && xr.supportsFiber)
6609
6609
  try {
6610
- Oi = xr.inject(Vp), Ue = xr;
6610
+ Ri = xr.inject(Vp), Ue = xr;
6611
6611
  } catch {
6612
6612
  }
6613
6613
  }
@@ -6616,13 +6616,13 @@ Le.createPortal = function(e, t) {
6616
6616
  var n = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null;
6617
6617
  if (!ba(t))
6618
6618
  throw Error(b(200));
6619
- return Op(e, t, null, n);
6619
+ return Rp(e, t, null, n);
6620
6620
  };
6621
6621
  Le.createRoot = function(e, t) {
6622
6622
  if (!ba(e))
6623
6623
  throw Error(b(299));
6624
6624
  var n = !1, r = "", i = kd;
6625
- return t != null && (t.unstable_strictMode === !0 && (n = !0), t.identifierPrefix !== void 0 && (r = t.identifierPrefix), t.onRecoverableError !== void 0 && (i = t.onRecoverableError)), t = Ia(e, 1, !1, null, null, n, !1, r, i), e[st] = t.current, dr(e.nodeType === 8 ? e.parentNode : e), new ya(t);
6625
+ return t != null && (t.unstable_strictMode === !0 && (n = !0), t.identifierPrefix !== void 0 && (r = t.identifierPrefix), t.onRecoverableError !== void 0 && (i = t.onRecoverableError)), t = va(e, 1, !1, null, null, n, !1, r, i), e[st] = t.current, dr(e.nodeType === 8 ? e.parentNode : e), new ya(t);
6626
6626
  };
6627
6627
  Le.findDOMNode = function(e) {
6628
6628
  if (e == null)
@@ -6686,8 +6686,8 @@ function Bd() {
6686
6686
  }
6687
6687
  }
6688
6688
  Bd(), Ns.exports = Le;
6689
- var Fp = Ns.exports, Sd, xu = Fp;
6690
- Sd = xu.createRoot, xu.hydrateRoot;
6689
+ var Fp = Ns.exports, Od, xu = Fp;
6690
+ Od = xu.createRoot, xu.hydrateRoot;
6691
6691
  const Hp = "data:text/css;base64,Lm1lbnVfX2xpc3QtaXRlbTppcygubWFuYWdlLXByb2ZpbGUsIC5tYW5hZ2UtcHJpdmFjeSwgLnBheW1lbnQpIGE6bGFzdC1vZi10eXBlIHsKICBkaXNwbGF5OiBub25lOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkgewogIC54dHJhLW1lbnUtLWVycm9yICN4dHJhLW1lbnUtdHJpZ2dlciB7CiAgICBnYXA6IDA7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpmaXJzdC1vZi10eXBlIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpsYXN0LW9mLXR5cGUgewogICAgZGlzcGxheTogZmxleDsKICB9Cn0K", Mp = "data:text/css;base64,LmJ1dHRvbi0tYXV0aGVudGljYXRpb24gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBmbGV4OwogIHdpZHRoOiBhdXRvOwogIHdpZHRoOiBmaXQtY29udGVudDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpOwogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTsKICBmb250LXNpemU6IDAuODc1cmVtOwogIGdhcDogMDsKICBsaW5lLWhlaWdodDogMS41Owp9CgouYnV0dG9uLS1hdXRoZW50aWNhdGlvbiAuYnV0dG9uX19sYWJlbCB7CiAgZGlzcGxheTogbm9uZTsKfQoKLmJ1dHRvbi0tYXV0aGVudGljYXRpb24gLmJ1dHRvbl9faWNvbiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiAyNHB4OwogIGhlaWdodDogMjRweDsKfQoKLmJ1dHRvbi0tYXV0aGVudGljYXRpb24tLWF1dGhlbnRpY2F0ZWQgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7Cn0KCi5idXR0b24tLWF1dGhlbnRpY2F0aW9uLS11bmF1dGhlbnRpY2F0ZWQgewogIGRpc3BsYXk6IG5vbmU7Cn0KCi5tZW51LS11bmF1dGhlbnRpY2F0ZWQgewogIGRpc3BsYXk6IGJsb2NrOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkgewogIC5tZW51LS11bmF1dGhlbnRpY2F0ZWQgewogICAgZGlzcGxheTogbm9uZTsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uIHsKICAgIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uLS11bmF1dGhlbnRpY2F0ZWQgewogICAgZGlzcGxheTogZmxleDsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uOm5vdCguYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tYXV0aGVudGljYXRlZCkgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTYpOwogIH0KCiAgLmJ1dHRvbi0tYXV0aGVudGljYXRpb24gLmJ1dHRvbl9fbGFiZWwgewogICAgZGlzcGxheTogaW5saW5lOwogIH0KCiAgLmJ1dHRvbi0tYXV0aGVudGljYXRpb246bm90KC5idXR0b24tLWF1dGhlbnRpY2F0aW9uLS1hdXRoZW50aWNhdGVkKSA+IC5idXR0b25fX2ljb24tcmlnaHQgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkgewogIC5zcGlubmVyOjphZnRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTZweDsKICAgIGhlaWdodDogMTZweDsKICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBtYXJnaW46IGF1dG87CiAgICBhbmltYXRpb246IHNwaW4gMXMgZWFzZSBpbmZpbml0ZTsKICAgIGNvbnRlbnQ6ICcnOwogICAgaW5zZXQ6IDA7CiAgfQoKICBAa2V5ZnJhbWVzIHNwaW4gewogICAgZnJvbSB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDB0dXJuKTsKICAgIH0KCiAgICB0byB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsKICAgIH0KICB9Cn0K", zp = "data:text/css;base64,LmZvcm0tLXRjIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTgpOwp9CgouZm9ybS0tdGNfX3RpdGxlIHsKICBmb250LXNpemU6IDEuMjVyZW07CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsaW5lLWhlaWdodDogMS4yNTsKfQoKLmZvcm0tLXRjX19kZXNjcmlwdGlvbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBmb250LXNpemU6IDEuMTI1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCi5mb3JtLS10Y19fbGFiZWwgewogIGZvbnQtc2l6ZTogMXJlbTsKICBmb250LXdlaWdodDogNTAwOwogIGxpbmUtaGVpZ2h0OiAxLjM3NTsKfQoKLmZvcm0tLXRjX19saW5rIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQtc2l6ZTogMXJlbTsKICBsaW5lLWhlaWdodDogMS4zNzU7Cn0KCi5mb3JtLS10Y19fZXJyb3IgewogIGRpc3BsYXk6IGJsb2NrOwogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNik7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KCi5idXR0b24tLXRlcm1zLWFuZC1jb25kaXRpb25zIHsKICB3aWR0aDogYXV0bzsKfQo=", xp = ({ apiUrl: e, redirectUrl: t }) => `${e}/login?redirectUrl=${t}`;
6692
6692
  function At(e) {
6693
6693
  if (e === void 0)
@@ -6724,14 +6724,14 @@ function _e(e) {
6724
6724
  return n.__proto__ || Object.getPrototypeOf(n);
6725
6725
  }, _e(e);
6726
6726
  }
6727
- function Tp(e) {
6727
+ function Dp(e) {
6728
6728
  if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null)
6729
6729
  return Array.from(e);
6730
6730
  }
6731
- function Dp(e) {
6732
- return Ls(e) || Tp(e) || Xs(e) || Gs();
6731
+ function Tp(e) {
6732
+ return Ls(e) || Dp(e) || Xs(e) || Gs();
6733
6733
  }
6734
- function Tu(e, t) {
6734
+ function Du(e, t) {
6735
6735
  var n = Object.keys(e);
6736
6736
  if (Object.getOwnPropertySymbols) {
6737
6737
  var r = Object.getOwnPropertySymbols(e);
@@ -6741,12 +6741,12 @@ function Tu(e, t) {
6741
6741
  }
6742
6742
  return n;
6743
6743
  }
6744
- function Du(e) {
6744
+ function Tu(e) {
6745
6745
  for (var t = 1; t < arguments.length; t++) {
6746
6746
  var n = arguments[t] != null ? arguments[t] : {};
6747
- t % 2 ? Tu(Object(n), !0).forEach(function(r) {
6747
+ t % 2 ? Du(Object(n), !0).forEach(function(r) {
6748
6748
  $e(e, r, n[r]);
6749
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Tu(Object(n)).forEach(function(r) {
6749
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Du(Object(n)).forEach(function(r) {
6750
6750
  Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
6751
6751
  });
6752
6752
  }
@@ -6769,9 +6769,9 @@ var Jp = {
6769
6769
  }, Qp = function() {
6770
6770
  function e(t) {
6771
6771
  var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
6772
- Se(this, e), this.init(t, n);
6772
+ Oe(this, e), this.init(t, n);
6773
6773
  }
6774
- return Oe(e, [{
6774
+ return Re(e, [{
6775
6775
  key: "init",
6776
6776
  value: function(n) {
6777
6777
  var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
@@ -6818,7 +6818,7 @@ var Jp = {
6818
6818
  }, {
6819
6819
  key: "create",
6820
6820
  value: function(n) {
6821
- return new e(this.logger, Du(Du({}, {
6821
+ return new e(this.logger, Tu(Tu({}, {
6822
6822
  prefix: "".concat(this.prefix, ":").concat(n, ":")
6823
6823
  }), this.options));
6824
6824
  }
@@ -6830,9 +6830,9 @@ var Jp = {
6830
6830
  }]), e;
6831
6831
  }(), Ee = new Qp(), Bt = function() {
6832
6832
  function e() {
6833
- Se(this, e), this.observers = {};
6833
+ Oe(this, e), this.observers = {};
6834
6834
  }
6835
- return Oe(e, [{
6835
+ return Re(e, [{
6836
6836
  key: "on",
6837
6837
  value: function(n, r) {
6838
6838
  var i = this;
@@ -6922,9 +6922,9 @@ function Pp(e, t, n) {
6922
6922
  var r = Ni(e, n);
6923
6923
  return r !== void 0 ? r : Ni(t, n);
6924
6924
  }
6925
- function Od(e, t, n) {
6925
+ function Rd(e, t, n) {
6926
6926
  for (var r in t)
6927
- r !== "__proto__" && r !== "constructor" && (r in e ? typeof e[r] == "string" || e[r] instanceof String || typeof t[r] == "string" || t[r] instanceof String ? n && (e[r] = t[r]) : Od(e[r], t[r], n) : e[r] = t[r]);
6927
+ r !== "__proto__" && r !== "constructor" && (r in e ? typeof e[r] == "string" || e[r] instanceof String || typeof t[r] == "string" || t[r] instanceof String ? n && (e[r] = t[r]) : Rd(e[r], t[r], n) : e[r] = t[r]);
6928
6928
  return e;
6929
6929
  }
6930
6930
  function tn(e) {
@@ -6999,7 +6999,7 @@ function Eu(e, t) {
6999
6999
  }
7000
7000
  return n;
7001
7001
  }
7002
- function Tr(e) {
7002
+ function Dr(e) {
7003
7003
  for (var t = 1; t < arguments.length; t++) {
7004
7004
  var n = arguments[t] != null ? arguments[t] : {};
7005
7005
  t % 2 ? Eu(Object(n), !0).forEach(function(r) {
@@ -7042,9 +7042,9 @@ var rm = function(e) {
7042
7042
  ns: ["translation"],
7043
7043
  defaultNS: "translation"
7044
7044
  };
7045
- return Se(this, n), i = t.call(this), Pi && Bt.call(At(i)), i.data = r || {}, i.options = o, i.options.keySeparator === void 0 && (i.options.keySeparator = "."), i.options.ignoreJSONStructure === void 0 && (i.options.ignoreJSONStructure = !0), i;
7045
+ return Oe(this, n), i = t.call(this), Pi && Bt.call(At(i)), i.data = r || {}, i.options = o, i.options.keySeparator === void 0 && (i.options.keySeparator = "."), i.options.ignoreJSONStructure === void 0 && (i.options.ignoreJSONStructure = !0), i;
7046
7046
  }
7047
- return Oe(n, [{
7047
+ return Re(n, [{
7048
7048
  key: "addNamespaces",
7049
7049
  value: function(i) {
7050
7050
  this.options.ns.indexOf(i) < 0 && this.options.ns.push(i);
@@ -7091,7 +7091,7 @@ var rm = function(e) {
7091
7091
  }, p = [i, o];
7092
7092
  i.indexOf(".") > -1 && (p = i.split("."), a = l, l = o, o = p[1]), this.addNamespaces(o);
7093
7093
  var g = Ni(this.data, p) || {};
7094
- a ? Od(g, l, u) : g = Tr(Tr({}, g), l), Qu(this.data, p, g), c.silent || this.emit("added", i, o, l);
7094
+ a ? Rd(g, l, u) : g = Dr(Dr({}, g), l), Qu(this.data, p, g), c.silent || this.emit("added", i, o, l);
7095
7095
  }
7096
7096
  }, {
7097
7097
  key: "removeResourceBundle",
@@ -7106,7 +7106,7 @@ var rm = function(e) {
7106
7106
  }, {
7107
7107
  key: "getResourceBundle",
7108
7108
  value: function(i, o) {
7109
- return o || (o = this.options.defaultNS), this.options.compatibilityAPI === "v1" ? Tr(Tr({}, {}), this.getResource(i, o)) : this.getResource(i, o);
7109
+ return o || (o = this.options.defaultNS), this.options.compatibilityAPI === "v1" ? Dr(Dr({}, {}), this.getResource(i, o)) : this.getResource(i, o);
7110
7110
  }
7111
7111
  }, {
7112
7112
  key: "getDataByLanguage",
@@ -7127,7 +7127,7 @@ var rm = function(e) {
7127
7127
  return this.data;
7128
7128
  }
7129
7129
  }]), n;
7130
- }(Bt), Rd = {
7130
+ }(Bt), Sd = {
7131
7131
  processors: {},
7132
7132
  addPostProcessor: function(t) {
7133
7133
  this.processors[t.name] = t;
@@ -7189,9 +7189,9 @@ var Pu = {}, _u = function(e) {
7189
7189
  var t = im(n);
7190
7190
  function n(r) {
7191
7191
  var i, o = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
7192
- return Se(this, n), i = t.call(this), Pi && Bt.call(At(i)), Ep(["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat", "utils"], r, At(i)), i.options = o, i.options.keySeparator === void 0 && (i.options.keySeparator = "."), i.logger = Ee.create("translator"), i;
7192
+ return Oe(this, n), i = t.call(this), Pi && Bt.call(At(i)), Ep(["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat", "utils"], r, At(i)), i.options = o, i.options.keySeparator === void 0 && (i.options.keySeparator = "."), i.logger = Ee.create("translator"), i;
7193
7193
  }
7194
- return Oe(n, [{
7194
+ return Re(n, [{
7195
7195
  key: "changeLanguage",
7196
7196
  value: function(i) {
7197
7197
  i && (this.language = i);
@@ -7235,9 +7235,9 @@ var Pu = {}, _u = function(e) {
7235
7235
  if (we(o) !== "object" && this.options.overloadTranslationOptionHandler && (o = this.options.overloadTranslationOptionHandler(arguments)), we(o) === "object" && (o = oe({}, o)), o || (o = {}), i == null)
7236
7236
  return "";
7237
7237
  Array.isArray(i) || (i = [String(i)]);
7238
- var u = o.returnDetails !== void 0 ? o.returnDetails : this.options.returnDetails, c = o.keySeparator !== void 0 ? o.keySeparator : this.options.keySeparator, p = this.extractFromKey(i[i.length - 1], o), g = p.key, f = p.namespaces, h = f[f.length - 1], C = o.lng || this.language, v = o.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;
7238
+ var u = o.returnDetails !== void 0 ? o.returnDetails : this.options.returnDetails, c = o.keySeparator !== void 0 ? o.keySeparator : this.options.keySeparator, p = this.extractFromKey(i[i.length - 1], o), g = p.key, f = p.namespaces, h = f[f.length - 1], C = o.lng || this.language, I = o.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;
7239
7239
  if (C && C.toLowerCase() === "cimode") {
7240
- if (v) {
7240
+ if (I) {
7241
7241
  var w = o.nsSeparator || this.options.nsSeparator;
7242
7242
  return u ? {
7243
7243
  res: "".concat(h).concat(w).concat(g),
@@ -7255,7 +7255,7 @@ var Pu = {}, _u = function(e) {
7255
7255
  usedNS: h
7256
7256
  } : g;
7257
7257
  }
7258
- var d = this.resolve(i, o), s = d && d.res, m = d && d.usedKey || g, I = d && d.exactUsedKey || g, y = Object.prototype.toString.apply(s), Z = ["[object Number]", "[object Function]", "[object RegExp]"], W = o.joinArrays !== void 0 ? o.joinArrays : this.options.joinArrays, L = !this.i18nFormat || this.i18nFormat.handleAsObject, k = typeof s != "string" && typeof s != "boolean" && typeof s != "number";
7258
+ var d = this.resolve(i, o), s = d && d.res, m = d && d.usedKey || g, v = d && d.exactUsedKey || g, y = Object.prototype.toString.apply(s), Z = ["[object Number]", "[object Function]", "[object RegExp]"], W = o.joinArrays !== void 0 ? o.joinArrays : this.options.joinArrays, L = !this.i18nFormat || this.i18nFormat.handleAsObject, k = typeof s != "string" && typeof s != "boolean" && typeof s != "number";
7259
7259
  if (L && s && k && Z.indexOf(y) < 0 && !(typeof W == "string" && y === "[object Array]")) {
7260
7260
  if (!o.returnObjects && !this.options.returnObjects) {
7261
7261
  this.options.returnedObjectHandler || this.logger.warn("accessing an object - but returnObjects options is not enabled!");
@@ -7265,7 +7265,7 @@ var Pu = {}, _u = function(e) {
7265
7265
  return u ? (d.res = Y, d) : Y;
7266
7266
  }
7267
7267
  if (c) {
7268
- var _ = y === "[object Array]", xe = _ ? [] : {}, Kt = _ ? I : m;
7268
+ var _ = y === "[object Array]", xe = _ ? [] : {}, Kt = _ ? v : m;
7269
7269
  for (var qe in s)
7270
7270
  if (Object.prototype.hasOwnProperty.call(s, qe)) {
7271
7271
  var Xr = "".concat(Kt).concat(c).concat(qe);
@@ -7281,29 +7281,29 @@ var Pu = {}, _u = function(e) {
7281
7281
  else {
7282
7282
  var ft = !1, et = !1, X = o.count !== void 0 && typeof o.count != "string", A = n.hasDefaultValue(o), N = X ? this.pluralResolver.getSuffix(C, o.count, o) : "", K = o["defaultValue".concat(N)] || o.defaultValue;
7283
7283
  !this.isValidLookup(s) && A && (ft = !0, s = K), this.isValidLookup(s) || (et = !0, s = g);
7284
- var J = o.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey, _t = J && et ? void 0 : s, Ie = A && K !== s && this.options.updateMissing;
7285
- if (et || ft || Ie) {
7286
- if (this.logger.log(Ie ? "updateKey" : "missingKey", C, h, g, Ie ? K : s), c) {
7284
+ var J = o.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey, _t = J && et ? void 0 : s, ve = A && K !== s && this.options.updateMissing;
7285
+ if (et || ft || ve) {
7286
+ if (this.logger.log(ve ? "updateKey" : "missingKey", C, h, g, ve ? K : s), c) {
7287
7287
  var $t = this.resolve(g, oe(oe({}, o), {}, {
7288
7288
  keySeparator: !1
7289
7289
  }));
7290
7290
  $t && $t.res && this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.");
7291
7291
  }
7292
- var ve = [], tt = this.languageUtils.getFallbackCodes(this.options.fallbackLng, o.lng || this.language);
7292
+ var Ie = [], tt = this.languageUtils.getFallbackCodes(this.options.fallbackLng, o.lng || this.language);
7293
7293
  if (this.options.saveMissingTo === "fallback" && tt && tt[0])
7294
7294
  for (var _i = 0; _i < tt.length; _i++)
7295
- ve.push(tt[_i]);
7295
+ Ie.push(tt[_i]);
7296
7296
  else
7297
- this.options.saveMissingTo === "all" ? ve = this.languageUtils.toResolveHierarchy(o.lng || this.language) : ve.push(o.lng || this.language);
7297
+ this.options.saveMissingTo === "all" ? Ie = this.languageUtils.toResolveHierarchy(o.lng || this.language) : Ie.push(o.lng || this.language);
7298
7298
  var Za = function(qt, qi, Wa) {
7299
7299
  var La = A && Wa !== s ? Wa : _t;
7300
- a.options.missingKeyHandler ? a.options.missingKeyHandler(qt, h, qi, La, Ie, o) : a.backendConnector && a.backendConnector.saveMissing && a.backendConnector.saveMissing(qt, h, qi, La, Ie, o), a.emit("missingKey", qt, h, qi, s);
7300
+ a.options.missingKeyHandler ? a.options.missingKeyHandler(qt, h, qi, La, ve, o) : a.backendConnector && a.backendConnector.saveMissing && a.backendConnector.saveMissing(qt, h, qi, La, ve, o), a.emit("missingKey", qt, h, qi, s);
7301
7301
  };
7302
- this.options.saveMissing && (this.options.saveMissingPlurals && X ? ve.forEach(function($i) {
7302
+ this.options.saveMissing && (this.options.saveMissingPlurals && X ? Ie.forEach(function($i) {
7303
7303
  a.pluralResolver.getSuffixes($i, o).forEach(function(qt) {
7304
7304
  Za([$i], g + qt, o["defaultValue".concat(qt)] || K);
7305
7305
  });
7306
- }) : Za(ve, g, K));
7306
+ }) : Za(Ie, g, K));
7307
7307
  }
7308
7308
  s = this.extendTranslation(s, i, o, d, l), et && s === g && this.options.appendNamespaceToMissingKey && (s = "".concat(h, ":").concat(g)), (et || ft) && this.options.parseMissingKeyHandler && (this.options.compatibilityAPI !== "v1" ? s = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? "".concat(h, ":").concat(g) : g, ft ? s : void 0) : s = this.options.parseMissingKeyHandler(s));
7309
7309
  }
@@ -7328,17 +7328,17 @@ var Pu = {}, _u = function(e) {
7328
7328
  }
7329
7329
  var h = l.replace && typeof l.replace != "string" ? l.replace : l;
7330
7330
  if (this.options.interpolation.defaultVariables && (h = oe(oe({}, this.options.interpolation.defaultVariables), h)), i = this.interpolator.interpolate(i, h, l.lng || this.language, l), p) {
7331
- var C = i.match(this.interpolator.nestingRegexp), v = C && C.length;
7332
- g < v && (l.nest = !1);
7331
+ var C = i.match(this.interpolator.nestingRegexp), I = C && C.length;
7332
+ g < I && (l.nest = !1);
7333
7333
  }
7334
7334
  !l.lng && this.options.compatibilityAPI !== "v1" && a && a.res && (l.lng = a.usedLng), l.nest !== !1 && (i = this.interpolator.nest(i, function() {
7335
- for (var s = arguments.length, m = new Array(s), I = 0; I < s; I++)
7336
- m[I] = arguments[I];
7335
+ for (var s = arguments.length, m = new Array(s), v = 0; v < s; v++)
7336
+ m[v] = arguments[v];
7337
7337
  return u && u[0] === m[0] && !l.context ? (c.logger.warn("It seems you are nesting recursively key: ".concat(m[0], " in key: ").concat(o[0])), null) : c.translate.apply(c, m.concat([o]));
7338
7338
  }, l)), l.interpolation && this.interpolator.reset();
7339
7339
  }
7340
7340
  var w = l.postProcess || this.options.postProcess, d = typeof w == "string" ? [w] : w;
7341
- return i != null && d && d.length && l.applyPostProcessor !== !1 && (i = Rd.handle(d, i, o, this.options && this.options.postProcessPassResolved ? oe({
7341
+ return i != null && d && d.length && l.applyPostProcessor !== !1 && (i = Sd.handle(d, i, o, this.options && this.options.postProcessPassResolved ? oe({
7342
7342
  i18nResolved: a
7343
7343
  }, l) : l, this)), i;
7344
7344
  }
@@ -7350,16 +7350,16 @@ var Pu = {}, _u = function(e) {
7350
7350
  if (!o.isValidLookup(a)) {
7351
7351
  var h = o.extractFromKey(f, l), C = h.key;
7352
7352
  u = C;
7353
- var v = h.namespaces;
7354
- o.options.fallbackNS && (v = v.concat(o.options.fallbackNS));
7353
+ var I = h.namespaces;
7354
+ o.options.fallbackNS && (I = I.concat(o.options.fallbackNS));
7355
7355
  var w = l.count !== void 0 && typeof l.count != "string", d = w && !l.ordinal && l.count === 0 && o.pluralResolver.shouldUseIntlApi(), s = l.context !== void 0 && (typeof l.context == "string" || typeof l.context == "number") && l.context !== "", m = l.lngs ? l.lngs : o.languageUtils.toResolveHierarchy(l.lng || o.language, l.fallbackLng);
7356
- v.forEach(function(I) {
7357
- o.isValidLookup(a) || (g = I, !Pu["".concat(m[0], "-").concat(I)] && o.utils && o.utils.hasLoadedNamespace && !o.utils.hasLoadedNamespace(g) && (Pu["".concat(m[0], "-").concat(I)] = !0, o.logger.warn('key "'.concat(u, '" for languages "').concat(m.join(", "), `" won't get resolved as namespace "`).concat(g, '" was not yet loaded'), "This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")), m.forEach(function(y) {
7356
+ I.forEach(function(v) {
7357
+ o.isValidLookup(a) || (g = v, !Pu["".concat(m[0], "-").concat(v)] && o.utils && o.utils.hasLoadedNamespace && !o.utils.hasLoadedNamespace(g) && (Pu["".concat(m[0], "-").concat(v)] = !0, o.logger.warn('key "'.concat(u, '" for languages "').concat(m.join(", "), `" won't get resolved as namespace "`).concat(g, '" was not yet loaded'), "This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")), m.forEach(function(y) {
7358
7358
  if (!o.isValidLookup(a)) {
7359
7359
  p = y;
7360
7360
  var Z = [C];
7361
7361
  if (o.i18nFormat && o.i18nFormat.addLookupKeys)
7362
- o.i18nFormat.addLookupKeys(Z, C, y, I, l);
7362
+ o.i18nFormat.addLookupKeys(Z, C, y, v, l);
7363
7363
  else {
7364
7364
  var W;
7365
7365
  w && (W = o.pluralResolver.getSuffix(y, l.count, l));
@@ -7370,7 +7370,7 @@ var Pu = {}, _u = function(e) {
7370
7370
  }
7371
7371
  }
7372
7372
  for (var Y; Y = Z.pop(); )
7373
- o.isValidLookup(a) || (c = Y, a = o.getResource(y, I, Y, l));
7373
+ o.isValidLookup(a) || (c = Y, a = o.getResource(y, v, Y, l));
7374
7374
  }
7375
7375
  }));
7376
7376
  });
@@ -7410,9 +7410,9 @@ function Ao(e) {
7410
7410
  }
7411
7411
  var $u = function() {
7412
7412
  function e(t) {
7413
- Se(this, e), this.options = t, this.supportedLngs = this.options.supportedLngs || !1, this.logger = Ee.create("languageUtils");
7413
+ Oe(this, e), this.options = t, this.supportedLngs = this.options.supportedLngs || !1, this.logger = Ee.create("languageUtils");
7414
7414
  }
7415
- return Oe(e, [{
7415
+ return Re(e, [{
7416
7416
  key: "getScriptPartFromCode",
7417
7417
  value: function(n) {
7418
7418
  if (!n || n.indexOf("-") < 0)
@@ -7674,9 +7674,9 @@ function sm() {
7674
7674
  var cm = function() {
7675
7675
  function e(t) {
7676
7676
  var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
7677
- Se(this, e), this.languageUtils = t, this.options = n, this.logger = Ee.create("pluralResolver"), (!this.options.compatibilityJSON || this.options.compatibilityJSON === "v4") && (typeof Intl > "u" || !Intl.PluralRules) && (this.options.compatibilityJSON = "v3", this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")), this.rules = sm();
7677
+ Oe(this, e), this.languageUtils = t, this.options = n, this.logger = Ee.create("pluralResolver"), (!this.options.compatibilityJSON || this.options.compatibilityJSON === "v4") && (typeof Intl > "u" || !Intl.PluralRules) && (this.options.compatibilityJSON = "v3", this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")), this.rules = sm();
7678
7678
  }
7679
- return Oe(e, [{
7679
+ return Re(e, [{
7680
7680
  key: "addRule",
7681
7681
  value: function(n, r) {
7682
7682
  this.rules[n] = r;
@@ -7772,11 +7772,11 @@ function ts(e, t, n) {
7772
7772
  var dm = function() {
7773
7773
  function e() {
7774
7774
  var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
7775
- Se(this, e), this.logger = Ee.create("interpolator"), this.options = t, this.format = t.interpolation && t.interpolation.format || function(n) {
7775
+ Oe(this, e), this.logger = Ee.create("interpolator"), this.options = t, this.format = t.interpolation && t.interpolation.format || function(n) {
7776
7776
  return n;
7777
7777
  }, this.init(t);
7778
7778
  }
7779
- return Oe(e, [{
7779
+ return Re(e, [{
7780
7780
  key: "init",
7781
7781
  value: function() {
7782
7782
  var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
@@ -7815,13 +7815,13 @@ var dm = function() {
7815
7815
  interpolationkey: d
7816
7816
  })) : s;
7817
7817
  }
7818
- var m = d.split(l.formatSeparator), I = m.shift().trim(), y = m.join(l.formatSeparator).trim();
7819
- return l.format(ts(r, p, I, l.options.keySeparator, l.options.ignoreJSONStructure), y, i, Ke(Ke(Ke({}, o), r), {}, {
7820
- interpolationkey: I
7818
+ var m = d.split(l.formatSeparator), v = m.shift().trim(), y = m.join(l.formatSeparator).trim();
7819
+ return l.format(ts(r, p, v, l.options.keySeparator, l.options.ignoreJSONStructure), y, i, Ke(Ke(Ke({}, o), r), {}, {
7820
+ interpolationkey: v
7821
7821
  }));
7822
7822
  };
7823
7823
  this.resetRegExp();
7824
- var h = o && o.missingInterpolationHandler || this.options.missingInterpolationHandler, C = o && o.interpolation && o.interpolation.skipOnVariables !== void 0 ? o.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables, v = [{
7824
+ var h = o && o.missingInterpolationHandler || this.options.missingInterpolationHandler, C = o && o.interpolation && o.interpolation.skipOnVariables !== void 0 ? o.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables, I = [{
7825
7825
  regex: this.regexpUnescape,
7826
7826
  safeValue: function(d) {
7827
7827
  return g(d);
@@ -7832,7 +7832,7 @@ var dm = function() {
7832
7832
  return l.escapeValue ? g(l.escape(d)) : g(d);
7833
7833
  }
7834
7834
  }];
7835
- return v.forEach(function(w) {
7835
+ return I.forEach(function(w) {
7836
7836
  for (c = 0; a = w.regex.exec(n); ) {
7837
7837
  var d = a[1].trim();
7838
7838
  if (u = f(d), u === void 0)
@@ -7859,17 +7859,17 @@ var dm = function() {
7859
7859
  value: function(n, r) {
7860
7860
  var i = this, o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, l, a, u;
7861
7861
  function c(h, C) {
7862
- var v = this.nestingOptionsSeparator;
7863
- if (h.indexOf(v) < 0)
7862
+ var I = this.nestingOptionsSeparator;
7863
+ if (h.indexOf(I) < 0)
7864
7864
  return h;
7865
- var w = h.split(new RegExp("".concat(v, "[ ]*{"))), d = "{".concat(w[1]);
7865
+ var w = h.split(new RegExp("".concat(I, "[ ]*{"))), d = "{".concat(w[1]);
7866
7866
  h = w[0], d = this.interpolate(d, u);
7867
7867
  var s = d.match(/'/g), m = d.match(/"/g);
7868
7868
  (s && s.length % 2 === 0 && !m || m.length % 2 !== 0) && (d = d.replace(/'/g, '"'));
7869
7869
  try {
7870
7870
  u = JSON.parse(d), C && (u = Ke(Ke({}, C), u));
7871
- } catch (I) {
7872
- return this.logger.warn("failed parsing options string in nesting for key ".concat(h), I), "".concat(h).concat(v).concat(d);
7871
+ } catch (v) {
7872
+ return this.logger.warn("failed parsing options string in nesting for key ".concat(h), v), "".concat(h).concat(I).concat(d);
7873
7873
  }
7874
7874
  return delete u.defaultValue, h;
7875
7875
  }
@@ -7930,7 +7930,7 @@ function gm(e) {
7930
7930
  var o = i.split(";");
7931
7931
  o.forEach(function(l) {
7932
7932
  if (l) {
7933
- var a = l.split(":"), u = Dp(a), c = u[0], p = u.slice(1), g = p.join(":").trim().replace(/^'+|'+$/g, "");
7933
+ var a = l.split(":"), u = Tp(a), c = u[0], p = u.slice(1), g = p.join(":").trim().replace(/^'+|'+$/g, "");
7934
7934
  n[c.trim()] || (n[c.trim()] = g), g === "false" && (n[c.trim()] = !1), g === "true" && (n[c.trim()] = !0), isNaN(g) || (n[c.trim()] = parseInt(g, 10));
7935
7935
  }
7936
7936
  });
@@ -7951,7 +7951,7 @@ function nn(e) {
7951
7951
  var fm = function() {
7952
7952
  function e() {
7953
7953
  var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
7954
- Se(this, e), this.logger = Ee.create("formatter"), this.options = t, this.formats = {
7954
+ Oe(this, e), this.logger = Ee.create("formatter"), this.options = t, this.formats = {
7955
7955
  number: nn(function(n, r) {
7956
7956
  var i = new Intl.NumberFormat(n, nt({}, r));
7957
7957
  return function(o) {
@@ -7986,7 +7986,7 @@ var fm = function() {
7986
7986
  })
7987
7987
  }, this.init(t);
7988
7988
  }
7989
- return Oe(e, [{
7989
+ return Re(e, [{
7990
7990
  key: "init",
7991
7991
  value: function(n) {
7992
7992
  var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
@@ -8012,8 +8012,8 @@ var fm = function() {
8012
8012
  if (o.formats[f]) {
8013
8013
  var C = c;
8014
8014
  try {
8015
- var v = l && l.formatParams && l.formatParams[l.interpolationkey] || {}, w = v.locale || v.lng || l.locale || l.lng || i;
8016
- C = o.formats[f](c, w, nt(nt(nt({}, h), l), v));
8015
+ var I = l && l.formatParams && l.formatParams[l.interpolationkey] || {}, w = I.locale || I.lng || l.locale || l.lng || i;
8016
+ C = o.formats[f](c, w, nt(nt(nt({}, h), l), I));
8017
8017
  } catch (d) {
8018
8018
  o.logger.warn(d);
8019
8019
  }
@@ -8079,17 +8079,17 @@ var Cm = function(e) {
8079
8079
  var t = pm(n);
8080
8080
  function n(r, i, o) {
8081
8081
  var l, a = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
8082
- return Se(this, n), l = t.call(this), Pi && Bt.call(At(l)), l.backend = r, l.store = i, l.services = o, l.languageUtils = o.languageUtils, l.options = a, l.logger = Ee.create("backendConnector"), l.waitingReads = [], l.maxParallelReads = a.maxParallelReads || 10, l.readingCalls = 0, l.maxRetries = a.maxRetries >= 0 ? a.maxRetries : 5, l.retryTimeout = a.retryTimeout >= 1 ? a.retryTimeout : 350, l.state = {}, l.queue = [], l.backend && l.backend.init && l.backend.init(o, a.backend, a), l;
8082
+ return Oe(this, n), l = t.call(this), Pi && Bt.call(At(l)), l.backend = r, l.store = i, l.services = o, l.languageUtils = o.languageUtils, l.options = a, l.logger = Ee.create("backendConnector"), l.waitingReads = [], l.maxParallelReads = a.maxParallelReads || 10, l.readingCalls = 0, l.maxRetries = a.maxRetries >= 0 ? a.maxRetries : 5, l.retryTimeout = a.retryTimeout >= 1 ? a.retryTimeout : 350, l.state = {}, l.queue = [], l.backend && l.backend.init && l.backend.init(o, a.backend, a), l;
8083
8083
  }
8084
- return Oe(n, [{
8084
+ return Re(n, [{
8085
8085
  key: "queueLoad",
8086
8086
  value: function(i, o, l, a) {
8087
8087
  var u = this, c = {}, p = {}, g = {}, f = {};
8088
8088
  return i.forEach(function(h) {
8089
8089
  var C = !0;
8090
- o.forEach(function(v) {
8091
- var w = "".concat(h, "|").concat(v);
8092
- !l.reload && u.store.hasResourceBundle(h, v) ? u.state[w] = 2 : u.state[w] < 0 || (u.state[w] === 1 ? p[w] === void 0 && (p[w] = !0) : (u.state[w] = 1, C = !1, p[w] === void 0 && (p[w] = !0), c[w] === void 0 && (c[w] = !0), f[v] === void 0 && (f[v] = !0)));
8090
+ o.forEach(function(I) {
8091
+ var w = "".concat(h, "|").concat(I);
8092
+ !l.reload && u.store.hasResourceBundle(h, I) ? u.state[w] = 2 : u.state[w] < 0 || (u.state[w] === 1 ? p[w] === void 0 && (p[w] = !0) : (u.state[w] = 1, C = !1, p[w] === void 0 && (p[w] = !0), c[w] === void 0 && (c[w] = !0), f[I] === void 0 && (f[I] = !0)));
8093
8093
  }), C || (g[h] = !0);
8094
8094
  }), (Object.keys(c).length || Object.keys(p).length) && this.queue.push({
8095
8095
  pending: p,
@@ -8140,18 +8140,18 @@ var Cm = function(e) {
8140
8140
  return;
8141
8141
  }
8142
8142
  this.readingCalls++;
8143
- var g = function(v, w) {
8143
+ var g = function(I, w) {
8144
8144
  if (a.readingCalls--, a.waitingReads.length > 0) {
8145
8145
  var d = a.waitingReads.shift();
8146
8146
  a.read(d.lng, d.ns, d.fcName, d.tried, d.wait, d.callback);
8147
8147
  }
8148
- if (v && w && u < a.maxRetries) {
8148
+ if (I && w && u < a.maxRetries) {
8149
8149
  setTimeout(function() {
8150
8150
  a.read.call(a, i, o, l, u + 1, c * 2, p);
8151
8151
  }, c);
8152
8152
  return;
8153
8153
  }
8154
- p(v, w);
8154
+ p(I, w);
8155
8155
  }, f = this.backend[l].bind(this.backend);
8156
8156
  if (f.length === 2) {
8157
8157
  try {
@@ -8305,7 +8305,7 @@ function as(e, t) {
8305
8305
  }
8306
8306
  return n;
8307
8307
  }
8308
- function De(e) {
8308
+ function Te(e) {
8309
8309
  for (var t = 1; t < arguments.length; t++) {
8310
8310
  var n = arguments[t] != null ? arguments[t] : {};
8311
8311
  t % 2 ? as(Object(n), !0).forEach(function(r) {
@@ -8316,8 +8316,8 @@ function De(e) {
8316
8316
  }
8317
8317
  return e;
8318
8318
  }
8319
- function Im(e) {
8320
- var t = vm();
8319
+ function vm(e) {
8320
+ var t = Im();
8321
8321
  return function() {
8322
8322
  var r = _e(e), i;
8323
8323
  if (t) {
@@ -8328,7 +8328,7 @@ function Im(e) {
8328
8328
  return Lr(this, i);
8329
8329
  };
8330
8330
  }
8331
- function vm() {
8331
+ function Im() {
8332
8332
  if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham)
8333
8333
  return !1;
8334
8334
  if (typeof Proxy == "function")
@@ -8340,7 +8340,7 @@ function vm() {
8340
8340
  return !1;
8341
8341
  }
8342
8342
  }
8343
- function Dr() {
8343
+ function Tr() {
8344
8344
  }
8345
8345
  function ym(e) {
8346
8346
  var t = Object.getOwnPropertyNames(Object.getPrototypeOf(e));
@@ -8350,10 +8350,10 @@ function ym(e) {
8350
8350
  }
8351
8351
  var Bi = function(e) {
8352
8352
  Ui(n, e);
8353
- var t = Im(n);
8353
+ var t = vm(n);
8354
8354
  function n() {
8355
8355
  var r, i = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, o = arguments.length > 1 ? arguments[1] : void 0;
8356
- if (Se(this, n), r = t.call(this), Pi && Bt.call(At(r)), r.options = ls(i), r.services = {}, r.logger = Ee, r.modules = {
8356
+ if (Oe(this, n), r = t.call(this), Pi && Bt.call(At(r)), r.options = ls(i), r.services = {}, r.logger = Ee, r.modules = {
8357
8357
  external: []
8358
8358
  }, ym(At(r)), o && !r.isInitialized && !i.isClone) {
8359
8359
  if (!r.options.initImmediate)
@@ -8364,13 +8364,13 @@ var Bi = function(e) {
8364
8364
  }
8365
8365
  return r;
8366
8366
  }
8367
- return Oe(n, [{
8367
+ return Re(n, [{
8368
8368
  key: "init",
8369
8369
  value: function() {
8370
8370
  var i = this, o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, l = arguments.length > 1 ? arguments[1] : void 0;
8371
8371
  typeof o == "function" && (l = o, o = {}), !o.defaultNS && o.defaultNS !== !1 && o.ns && (typeof o.ns == "string" ? o.defaultNS = o.ns : o.ns.indexOf("translation") < 0 && (o.defaultNS = o.ns[0]));
8372
8372
  var a = os();
8373
- this.options = De(De(De({}, a), this.options), ls(o)), this.options.compatibilityAPI !== "v1" && (this.options.interpolation = De(De({}, a.interpolation), this.options.interpolation)), o.keySeparator !== void 0 && (this.options.userDefinedKeySeparator = o.keySeparator), o.nsSeparator !== void 0 && (this.options.userDefinedNsSeparator = o.nsSeparator);
8373
+ this.options = Te(Te(Te({}, a), this.options), ls(o)), this.options.compatibilityAPI !== "v1" && (this.options.interpolation = Te(Te({}, a.interpolation), this.options.interpolation)), o.keySeparator !== void 0 && (this.options.userDefinedKeySeparator = o.keySeparator), o.nsSeparator !== void 0 && (this.options.userDefinedNsSeparator = o.nsSeparator);
8374
8374
  function u(d) {
8375
8375
  return d ? typeof d == "function" ? new d() : d : null;
8376
8376
  }
@@ -8388,18 +8388,18 @@ var Bi = function(e) {
8388
8388
  }), c && (!this.options.interpolation.format || this.options.interpolation.format === a.interpolation.format) && (g.formatter = u(c), g.formatter.init(g, this.options), this.options.interpolation.format = g.formatter.format.bind(g.formatter)), g.interpolator = new dm(this.options), g.utils = {
8389
8389
  hasLoadedNamespace: this.hasLoadedNamespace.bind(this)
8390
8390
  }, g.backendConnector = new Cm(u(this.modules.backend), g.resourceStore, g, this.options), g.backendConnector.on("*", function(d) {
8391
- for (var s = arguments.length, m = new Array(s > 1 ? s - 1 : 0), I = 1; I < s; I++)
8392
- m[I - 1] = arguments[I];
8391
+ for (var s = arguments.length, m = new Array(s > 1 ? s - 1 : 0), v = 1; v < s; v++)
8392
+ m[v - 1] = arguments[v];
8393
8393
  i.emit.apply(i, [d].concat(m));
8394
8394
  }), this.modules.languageDetector && (g.languageDetector = u(this.modules.languageDetector), g.languageDetector.init && g.languageDetector.init(g, this.options.detection, this.options)), this.modules.i18nFormat && (g.i18nFormat = u(this.modules.i18nFormat), g.i18nFormat.init && g.i18nFormat.init(this)), this.translator = new _u(this.services, this.options), this.translator.on("*", function(d) {
8395
- for (var s = arguments.length, m = new Array(s > 1 ? s - 1 : 0), I = 1; I < s; I++)
8396
- m[I - 1] = arguments[I];
8395
+ for (var s = arguments.length, m = new Array(s > 1 ? s - 1 : 0), v = 1; v < s; v++)
8396
+ m[v - 1] = arguments[v];
8397
8397
  i.emit.apply(i, [d].concat(m));
8398
8398
  }), this.modules.external.forEach(function(d) {
8399
8399
  d.init && d.init(i);
8400
8400
  });
8401
8401
  }
8402
- if (this.format = this.options.interpolation.format, l || (l = Dr), this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {
8402
+ if (this.format = this.options.interpolation.format, l || (l = Tr), this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {
8403
8403
  var f = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);
8404
8404
  f.length > 0 && f[0] !== "dev" && (this.options.lng = f[0]);
8405
8405
  }
@@ -8418,28 +8418,28 @@ var Bi = function(e) {
8418
8418
  return (s = i.store)[d].apply(s, arguments), i;
8419
8419
  };
8420
8420
  });
8421
- var v = Hn(), w = function() {
8422
- var s = function(I, y) {
8423
- i.isInitialized && !i.initializedStoreOnce && i.logger.warn("init: i18next is already initialized. You should call init just once!"), i.isInitialized = !0, i.options.isClone || i.logger.log("initialized", i.options), i.emit("initialized", i.options), v.resolve(y), l(I, y);
8421
+ var I = Hn(), w = function() {
8422
+ var s = function(v, y) {
8423
+ i.isInitialized && !i.initializedStoreOnce && i.logger.warn("init: i18next is already initialized. You should call init just once!"), i.isInitialized = !0, i.options.isClone || i.logger.log("initialized", i.options), i.emit("initialized", i.options), I.resolve(y), l(v, y);
8424
8424
  };
8425
8425
  if (i.languages && i.options.compatibilityAPI !== "v1" && !i.isInitialized)
8426
8426
  return s(null, i.t.bind(i));
8427
8427
  i.changeLanguage(i.options.lng, s);
8428
8428
  };
8429
- return this.options.resources || !this.options.initImmediate ? w() : setTimeout(w, 0), v;
8429
+ return this.options.resources || !this.options.initImmediate ? w() : setTimeout(w, 0), I;
8430
8430
  }
8431
8431
  }, {
8432
8432
  key: "loadResources",
8433
8433
  value: function(i) {
8434
- var o = this, l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Dr, a = l, u = typeof i == "string" ? i : this.language;
8434
+ var o = this, l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Tr, a = l, u = typeof i == "string" ? i : this.language;
8435
8435
  if (typeof i == "function" && (a = i), !this.options.resources || this.options.partialBundledLanguages) {
8436
8436
  if (u && u.toLowerCase() === "cimode")
8437
8437
  return a();
8438
8438
  var c = [], p = function(h) {
8439
8439
  if (h) {
8440
8440
  var C = o.services.languageUtils.toResolveHierarchy(h);
8441
- C.forEach(function(v) {
8442
- c.indexOf(v) < 0 && c.push(v);
8441
+ C.forEach(function(I) {
8442
+ c.indexOf(I) < 0 && c.push(I);
8443
8443
  });
8444
8444
  }
8445
8445
  };
@@ -8463,7 +8463,7 @@ var Bi = function(e) {
8463
8463
  key: "reloadResources",
8464
8464
  value: function(i, o, l) {
8465
8465
  var a = Hn();
8466
- return i || (i = this.languages), o || (o = this.options.ns), l || (l = Dr), this.services.backendConnector.reload(i, o, function(u) {
8466
+ return i || (i = this.languages), o || (o = this.options.ns), l || (l = Tr), this.services.backendConnector.reload(i, o, function(u) {
8467
8467
  a.resolve(), l(u);
8468
8468
  }), a;
8469
8469
  }
@@ -8474,7 +8474,7 @@ var Bi = function(e) {
8474
8474
  throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");
8475
8475
  if (!i.type)
8476
8476
  throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");
8477
- return i.type === "backend" && (this.modules.backend = i), (i.type === "logger" || i.log && i.warn && i.error) && (this.modules.logger = i), i.type === "languageDetector" && (this.modules.languageDetector = i), i.type === "i18nFormat" && (this.modules.i18nFormat = i), i.type === "postProcessor" && Rd.addPostProcessor(i), i.type === "formatter" && (this.modules.formatter = i), i.type === "3rdParty" && this.modules.external.push(i), this;
8477
+ return i.type === "backend" && (this.modules.backend = i), (i.type === "logger" || i.log && i.warn && i.error) && (this.modules.logger = i), i.type === "languageDetector" && (this.modules.languageDetector = i), i.type === "i18nFormat" && (this.modules.i18nFormat = i), i.type === "postProcessor" && Sd.addPostProcessor(i), i.type === "formatter" && (this.modules.formatter = i), i.type === "3rdParty" && this.modules.external.push(i), this;
8478
8478
  }
8479
8479
  }, {
8480
8480
  key: "setResolvedLanguage",
@@ -8518,11 +8518,11 @@ var Bi = function(e) {
8518
8518
  var a = this, u = function c(p, g) {
8519
8519
  var f;
8520
8520
  if (we(g) !== "object") {
8521
- for (var h = arguments.length, C = new Array(h > 2 ? h - 2 : 0), v = 2; v < h; v++)
8522
- C[v - 2] = arguments[v];
8521
+ for (var h = arguments.length, C = new Array(h > 2 ? h - 2 : 0), I = 2; I < h; I++)
8522
+ C[I - 2] = arguments[I];
8523
8523
  f = a.options.overloadTranslationOptionHandler([p, g].concat(C));
8524
8524
  } else
8525
- f = De({}, g);
8525
+ f = Te({}, g);
8526
8526
  f.lng = f.lng || c.lng, f.lngs = f.lngs || c.lngs, f.ns = f.ns || c.ns, f.keyPrefix = f.keyPrefix || l || c.keyPrefix;
8527
8527
  var w = a.options.keySeparator || ".", d;
8528
8528
  return f.keyPrefix && Array.isArray(p) ? d = p.map(function(s) {
@@ -8560,8 +8560,8 @@ var Bi = function(e) {
8560
8560
  if (a.toLowerCase() === "cimode")
8561
8561
  return !0;
8562
8562
  var p = function(h, C) {
8563
- var v = o.services.backendConnector.state["".concat(h, "|").concat(C)];
8564
- return v === -1 || v === 2;
8563
+ var I = o.services.backendConnector.state["".concat(h, "|").concat(C)];
8564
+ return I === -1 || I === 2;
8565
8565
  };
8566
8566
  if (l.precheck) {
8567
8567
  var g = l.precheck(this, p);
@@ -8603,14 +8603,14 @@ var Bi = function(e) {
8603
8603
  }, {
8604
8604
  key: "cloneInstance",
8605
8605
  value: function() {
8606
- var i = this, o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Dr, a = De(De(De({}, this.options), o), {
8606
+ var i = this, o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Tr, a = Te(Te(Te({}, this.options), o), {
8607
8607
  isClone: !0
8608
8608
  }), u = new n(a);
8609
8609
  (o.debug !== void 0 || o.prefix !== void 0) && (u.logger = u.logger.clone(o));
8610
8610
  var c = ["store", "services", "language"];
8611
8611
  return c.forEach(function(p) {
8612
8612
  u[p] = i[p];
8613
- }), u.services = De({}, this.services), u.services.utils = {
8613
+ }), u.services = Te({}, this.services), u.services.utils = {
8614
8614
  hasLoadedNamespace: u.hasLoadedNamespace.bind(u)
8615
8615
  }, u.translator = new _u(u.services, u.options), u.translator.on("*", function(p) {
8616
8616
  for (var g = arguments.length, f = new Array(g > 1 ? g - 1 : 0), h = 1; h < g; h++)
@@ -8846,7 +8846,7 @@ var us = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Wm = function(t, n, r) {
8846
8846
  return r[n];
8847
8847
  }
8848
8848
  };
8849
- function Sm() {
8849
+ function Om() {
8850
8850
  return {
8851
8851
  order: ["querystring", "cookie", "localStorage", "sessionStorage", "navigator", "htmlTag"],
8852
8852
  lookupQuerystring: "lng",
@@ -8866,15 +8866,15 @@ function Sm() {
8866
8866
  var jd = /* @__PURE__ */ function() {
8867
8867
  function e(t) {
8868
8868
  var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
8869
- Se(this, e), this.type = "languageDetector", this.detectors = {}, this.init(t, n);
8869
+ Oe(this, e), this.type = "languageDetector", this.detectors = {}, this.init(t, n);
8870
8870
  }
8871
- return Oe(e, [{
8871
+ return Re(e, [{
8872
8872
  key: "init",
8873
8873
  value: function(n) {
8874
8874
  var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, i = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
8875
8875
  this.services = n || {
8876
8876
  languageUtils: {}
8877
- }, this.options = Zm(r, this.options || {}, Sm()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = function(o) {
8877
+ }, this.options = Zm(r, this.options || {}, Om()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = function(o) {
8878
8878
  return o.replace("-", "_");
8879
8879
  }), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = i, this.addDetector(Lm), this.addDetector(Xm), this.addDetector(Gm), this.addDetector(Ym), this.addDetector(Am), this.addDetector(Nm), this.addDetector(km), this.addDetector(Bm);
8880
8880
  }
@@ -8909,7 +8909,7 @@ var jd = /* @__PURE__ */ function() {
8909
8909
  }]), e;
8910
8910
  }();
8911
8911
  jd.type = "languageDetector";
8912
- const Om = "Se connecter", Rm = "Se déconnecter", Km = "Gérer le profil", jm = "Charger un plein", Vm = "Xtra navigation", Fm = "S'inscrire", Hm = {
8912
+ const Rm = "Se connecter", Sm = "Se déconnecter", Km = "Gérer le profil", jm = "Charger un plein", Vm = "Xtra navigation", Fm = "S'inscrire", Hm = {
8913
8913
  title: "Conditions générales",
8914
8914
  description: "J'ai pu prendre connaisance de la Déclaration de confidentialité Xtra et j'accepte les conditions générales suivantes",
8915
8915
  error: {
@@ -8921,9 +8921,9 @@ const Om = "Se connecter", Rm = "Se déconnecter", Km = "Gérer le profil", jm =
8921
8921
  genericError: "Pour continuer, veuillez compléter tous les champs correctement",
8922
8922
  detailedError: "Pour continuer, veuillez compléter ces champs : { invalidFormFieldLabels }}. Commencez par {{ firstInvalidFormFieldLabel }}"
8923
8923
  }
8924
- }, xm = "Code Xtra QR", Tm = "Vie privée", Dm = "Payer avec Xtra", Jm = {
8925
- login: Om,
8926
- logout: Rm,
8924
+ }, xm = "Code Xtra QR", Dm = "Vie privée", Tm = "Payer avec Xtra", Jm = {
8925
+ login: Rm,
8926
+ logout: Sm,
8927
8927
  manageProfile: Km,
8928
8928
  loading: jm,
8929
8929
  xtraMenuAriaLabel: Vm,
@@ -8932,8 +8932,8 @@ const Om = "Se connecter", Rm = "Se déconnecter", Km = "Gérer le profil", jm =
8932
8932
  confirm: Mm,
8933
8933
  common: zm,
8934
8934
  qrCode: xm,
8935
- privacy: Tm,
8936
- payment: Dm
8935
+ privacy: Dm,
8936
+ payment: Tm
8937
8937
  }, Qm = "Aanmelden", Em = "Afmelden", Um = "Profiel beheren", Pm = "Laden", _m = "Xtra navigatie", $m = "Registreren", qm = {
8938
8938
  title: "Algemene voorwaarden",
8939
8939
  description: "Ik heb kennis kunnen nemen van de Privacyverklaring van Xtra, en ga akkoord met de volgende algemene voorwaarden",
@@ -8960,7 +8960,7 @@ const Om = "Se connecter", Rm = "Se déconnecter", Km = "Gérer le profil", jm =
8960
8960
  privacy: rh,
8961
8961
  payment: ih
8962
8962
  };
8963
- ue.use(jd).use(Ig).init({
8963
+ ue.use(jd).use(vg).init({
8964
8964
  detection: { order: ["htmlTag", "navigator"] },
8965
8965
  debug: !1,
8966
8966
  supportedLngs: ["nl", "fr"],
@@ -8977,7 +8977,7 @@ const lh = (e) => {
8977
8977
  const t = document.createElement("link");
8978
8978
  return t.rel = "stylesheet", t.href = e, t;
8979
8979
  }, ah = (e) => {
8980
- [Mp, zp, Og, Hp].forEach((t) => {
8980
+ [Mp, zp, Rg, Hp].forEach((t) => {
8981
8981
  const n = lh(t);
8982
8982
  return e.prepend(n);
8983
8983
  });
@@ -8987,7 +8987,7 @@ class uh extends HTMLElement {
8987
8987
  async connectedCallback() {
8988
8988
  const t = this.attachShadow({ mode: "open" });
8989
8989
  ah(t);
8990
- const n = Sd(t), r = (await import("./App-d2feb1ca.mjs")).default;
8990
+ const n = Od(t), r = (await import("./App-8f374c95.mjs")).default;
8991
8991
  n.render(
8992
8992
  /* @__PURE__ */ nr.jsx(
8993
8993
  r,