@myxtra/authentication-green 1.11.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -268,7 +268,7 @@ var J = Ku.exports;
268
268
  * This source code is licensed under the MIT license found in the
269
269
  * LICENSE file in the root directory of this source tree.
270
270
  */
271
- var Zd = J, vd = Symbol.for("react.element"), bd = Symbol.for("react.fragment"), wd = Object.prototype.hasOwnProperty, Wd = Zd.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, Ld = { key: !0, ref: !0, __self: !0, __source: !0 };
271
+ var Zd = J, bd = Symbol.for("react.element"), vd = Symbol.for("react.fragment"), wd = Object.prototype.hasOwnProperty, Wd = Zd.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, Ld = { key: !0, ref: !0, __self: !0, __source: !0 };
272
272
  function Tu(e, t, n) {
273
273
  var i, r = {}, l = null, o = null;
274
274
  n !== void 0 && (l = "" + n), t.key !== void 0 && (l = "" + t.key), t.ref !== void 0 && (o = t.ref);
@@ -277,9 +277,9 @@ function Tu(e, t, n) {
277
277
  if (e && e.defaultProps)
278
278
  for (i in t = e.defaultProps, t)
279
279
  r[i] === void 0 && (r[i] = t[i]);
280
- return { $$typeof: vd, type: e, key: l, ref: o, props: r, _owner: Wd.current };
280
+ return { $$typeof: bd, type: e, key: l, ref: o, props: r, _owner: Wd.current };
281
281
  }
282
- Zr.Fragment = bd;
282
+ Zr.Fragment = vd;
283
283
  Zr.jsx = Tu;
284
284
  Zr.jsxs = Tu;
285
285
  Vu.exports = Zr;
@@ -422,7 +422,7 @@ function Qu(e) {
422
422
  } = J.useContext(Hd) || {}, l = n || i || Kd();
423
423
  if (l && !l.reportNamespaces && (l.reportNamespaces = new Fd()), !l) {
424
424
  gl("You will need to pass in an i18next instance by using initReactI18next");
425
- const f = (Z, b) => typeof b == "string" ? b : b && typeof b == "object" && typeof b.defaultValue == "string" ? b.defaultValue : Array.isArray(Z) ? Z[Z.length - 1] : Z, C = [f, {}, !1];
425
+ const f = (Z, v) => typeof v == "string" ? v : v && typeof v == "object" && typeof v.defaultValue == "string" ? v.defaultValue : Array.isArray(Z) ? Z[Z.length - 1] : Z, C = [f, {}, !1];
426
426
  return C.t = f, C.i18n = {}, C.ready = !1, C;
427
427
  }
428
428
  l.options.react && l.options.react.wait !== void 0 && gl("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");
@@ -458,7 +458,7 @@ function Qu(e) {
458
458
  G.current && I(m);
459
459
  }
460
460
  return f && l && l.on(f, Z), C && l && l.store.on(C, Z), () => {
461
- G.current = !1, f && l && f.split(" ").forEach((b) => l.off(b, Z)), C && l && C.split(" ").forEach((b) => l.store.off(b, Z));
461
+ G.current = !1, f && l && f.split(" ").forEach((v) => l.off(v, Z)), C && l && C.split(" ").forEach((v) => l.store.off(v, Z));
462
462
  };
463
463
  }, [l, h]);
464
464
  const g = J.useRef(!0);
@@ -501,7 +501,7 @@ Ti.exports;
501
501
  h = String(h), /[^\0-\xFF]/.test(h) && s(
502
502
  "The string to be encoded contains characters outside of the Latin1 range."
503
503
  );
504
- for (var y = h.length % 3, G = "", g = -1, d, f, C, Z, b = h.length - y; ++g < b; )
504
+ for (var y = h.length % 3, G = "", g = -1, d, f, C, Z, v = h.length - y; ++g < v; )
505
505
  d = h.charCodeAt(g) << 16, f = h.charCodeAt(++g) << 8, C = h.charCodeAt(++g), Z = d + f + C, G += u.charAt(Z >> 18 & 63) + u.charAt(Z >> 12 & 63) + u.charAt(Z >> 6 & 63) + u.charAt(Z & 63);
506
506
  return y == 2 ? (d = h.charCodeAt(g) << 8, f = h.charCodeAt(++g), Z = d + f, G += u.charAt(Z >> 10) + u.charAt(Z >> 4 & 63) + u.charAt(Z << 2 & 63) + "=") : y == 1 && (Z = h.charCodeAt(g), G += u.charAt(Z >> 2) + u.charAt(Z << 4 & 63) + "=="), G;
507
507
  }, c = {
@@ -527,7 +527,7 @@ var Md = Object.defineProperty, zd = Object.defineProperties, xd = Object.getOwn
527
527
  for (var n of gs(t))
528
528
  Jd.call(t, n) && ps(e, n, t[n]);
529
529
  return e;
530
- }, Qd = (e, t) => zd(e, xd(t)), Eu = J.createContext(void 0), Xm = ({ environment: e, children: t }) => {
530
+ }, Qd = (e, t) => zd(e, xd(t)), Eu = J.createContext(void 0), Ym = ({ environment: e, children: t }) => {
531
531
  const [n] = J.useState(() => e);
532
532
  return /* @__PURE__ */ Mn.jsx(Eu.Provider, { value: n, children: t });
533
533
  }, Ed = () => {
@@ -552,7 +552,7 @@ var Md = Object.defineProperty, zd = Object.defineProperties, xd = Object.getOwn
552
552
  case "prod":
553
553
  return t === "fr" ? "https://profil.monxtra.be" : "https://profiel.mijnxtra.be";
554
554
  }
555
- }, _d = Pd, Ym = () => {
555
+ }, _d = Pd, Am = () => {
556
556
  const { i18n: e } = Qu(), t = Ed();
557
557
  return _d(t, e.language);
558
558
  }, fs = ({ error: e }) => e ? /* @__PURE__ */ Mn.jsx("span", { "aria-live": "assertive", className: "sr-only", tabIndex: -1, children: e }) : null, $d = (e, t) => e.getAttribute("name") === t, qd = (e, t) => {
@@ -570,7 +570,7 @@ var Md = Object.defineProperty, zd = Object.defineProperties, xd = Object.getOwn
570
570
  }, ""), tg = (e, t, n) => {
571
571
  const i = eg(e, t), r = i == null ? void 0 : i.split(",")[0], l = qd(e, t);
572
572
  return l == null || l.focus(), l == null || l.scrollIntoView({ block: "center" }), n("accessibleForm.detailedError", { invalidFormFieldLabels: i, firstInvalidFormFieldLabel: r });
573
- }, Am = ({ submitCount: e, errors: t }) => {
573
+ }, Nm = ({ submitCount: e, errors: t }) => {
574
574
  const { t: n } = Qu(), i = J.useRef(null), r = i.current, [l, o] = J.useState(!1), [s] = Object.entries(t), [u, a] = J.useState(), [p, m] = J.useState(e);
575
575
  return J.useEffect(() => o(!0), []), J.useEffect(() => {
576
576
  if (!e || !s || p === e)
@@ -581,7 +581,7 @@ var Md = Object.defineProperty, zd = Object.defineProperties, xd = Object.getOwn
581
581
  formRef: i,
582
582
  AccessibleFormMessage: /* @__PURE__ */ Mn.jsx(fs, { error: n("accessibleForm.genericError") })
583
583
  } : { formRef: i, AccessibleFormMessage: /* @__PURE__ */ Mn.jsx(fs, { error: u }) };
584
- }, ng = {
584
+ }, ng = /* @__PURE__ */ ((e) => (e.Mobile = "mobile", e.Fixed = "fixed", e))(ng || {}), ig = {
585
585
  missingMandatoryData: [],
586
586
  firstName: "Lukas",
587
587
  lastName: "Cornille",
@@ -595,10 +595,10 @@ var Md = Object.defineProperty, zd = Object.defineProperties, xd = Object.getOwn
595
595
  createdAt: "2020-03-09T07:44:01Z",
596
596
  updatedAt: "2022-07-18T14:28:01Z"
597
597
  };
598
- Qd(Dd({}, ng), {
598
+ Qd(Dd({}, ig), {
599
599
  phone: [{ type: "mobile", countryCode: "32", number: "0499999999" }]
600
600
  });
601
- const ig = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OiMwMDA7CiAgLS1uZXV0cmFsLTkwMDojMWIxZjI3OwogIC0tbmV1dHJhbC04MDA6IzJlM2I1NjsKICAtLW5ldXRyYWwtNzAwOiM0ODUyNmQ7CiAgLS1uZXV0cmFsLTYwMDojNjM3MDhhOwogIC0tbmV1dHJhbC01MDA6IzdjODlhMzsKICAtLW5ldXRyYWwtNDAwOiM5ZmFhYzA7CiAgLS1uZXV0cmFsLTMwMDojYmJjMWQzOwogIC0tbmV1dHJhbC0yMDA6I2ViZWRmNTsKICAtLW5ldXRyYWwtMTAwOiNmM2Y0ZmE7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6IzAwM2MzNzsKICAtLXByaW1hcnktODAwOiMwMDU2NGY7CiAgLS1wcmltYXJ5LTcwMDojMDA4MDc3OwogIC0tcHJpbWFyeS02MDA6IzAwOWE4ZTsKICAtLXByaW1hcnktNTAwOiMwMGFiOWU7CiAgLS1wcmltYXJ5LTQwMDojMTliM2E4OwogIC0tcHJpbWFyeS0zMDA6IzgwZDVjZjsKICAtLXByaW1hcnktMjAwOiNjY2VlZWM7CiAgLS1wcmltYXJ5LTEwMDojZTVmN2Y1OwogIC0tcHJpbWFyeS01MDojZWZmOWY5OwogIC0tc3VjY2Vzcy0yMDA6I2YyZjllYzsKICAtLXN1Y2Nlc3MtNTAwOiMwMDlhM2U7CiAgLS1lcnJvci0yMDA6I2ZlZjRmNTsKICAtLWVycm9yLTQwMDojZmY1YzVjOwogIC0tZXJyb3ItNTAwOiNlNjJkMzI7CiAgLS13YXJuaW5nLTIwMDojZmZmYWYzOwogIC0td2FybmluZy01MDA6I2RjODYzMzsKICAtLXByaW1hcnktZ3JhZGllbnQ6bGluZWFyLWdyYWRpZW50KDEzMy41M2RlZywjMTU5YTk1IDI1LjU3JSwjMTBiOGIxIDc0LjI5JSk7CiAgLS1zaGFkb3ctY2FyZDowIDNweCA4cHggcmdiYSg0Niw1OSw4NiwuMSk7CiAgLS1zaGFkb3ctbmF2OjAgMCAxMnB4IHJnYmEoNDYsNTksODYsLjEyKTsKICAtLXNoYWRvdy1idXR0b246MCA4cHggOHB4IC01cHggcmdiYSgxLDE0MSwxMzYsLjIpOwogIC0tc2hhZG93LWZhYjowIDRweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctbW9kYWw6MCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICAtLWJvcmRlci1yYWRpdXMtc206NnB4OwogIC0tYm9yZGVyLXJhZGl1cy1tZDoxMHB4OwogIC0tYm9yZGVyLXJhZGl1cy1sZzoxOHB4OwogIC0tc3BhY2luZy0xOjRweDsKICAtLXNwYWNpbmctMjo4cHg7CiAgLS1zcGFjaW5nLTM6MTJweDsKICAtLXNwYWNpbmctNDoxNnB4OwogIC0tc3BhY2luZy01OjIwcHg7CiAgLS1zcGFjaW5nLTY6MjRweDsKICAtLXNwYWNpbmctNzoyOHB4OwogIC0tc3BhY2luZy04OjMycHg7CiAgLS1zcGFjaW5nLTk6NDBweDsKICAtLXNwYWNpbmctMTA6NDhweDsKICAtLXNwYWNpbmctMTE6NTZweDsKICAtLXNwYWNpbmctMTI6NjRweDsKICAtLWZvbnQteHRyYToiTmV1ZSIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxibGlua21hY3N5c3RlbWZvbnQsIlNlZ29lIFVJIixyb2JvdG8sIkhlbHZldGljYSBOZXVlIixhcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7CiAgLS1kaXNwbGF5LTEtbWVkaXVtOjUwMCAzcmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0yLW1lZGl1bTo1MDAgMi41cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0zLW1lZGl1bTo1MDAgMnJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTEtcmVndWxhcjo0MDAgMS41cmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMS1tZWRpdW06NTAwIDEuNXJlbS8xLjMgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItcmVndWxhcjo0MDAgMS4yNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItbWVkaXVtOjUwMCAxLjI1cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMy1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTMtbWVkaXVtOjUwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1tZWRpdW06NTAwIDEuMTI1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIC0tYm9keS0yLXJlZ3VsYXI6NDAwIDFyZW0vMS4zIHZhcigtLWZvbnQteHRyYSk7CiAgLS1ib2R5LTItbWVkaXVtOjUwMCAxcmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tc3VidGV4dC1yZWd1bGFyOjQwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLXN1YnRleHQtbWVkaXVtOjUwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLXJlZ3VsYXI6NDAwIDAuNjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLW1lZGl1bTo1MDAgMC42ODc1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKfQouc3Itb25seSB7CiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsKICBib3JkZXItd2lkdGg6IDA7CiAgaGVpZ2h0OiAxcHg7CiAgbWFyZ2luOiAtMXB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICB3aWR0aDogMXB4Owp9Cjppcyg6cm9vdCwgOmhvc3QpICogewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIDpob3N0LAogIDpyb290IHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0FuY2hvci9BbmNob3IuY3NzICovCi5hbmNob3IgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmFuY2hvci0taW5saW5lIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0taW5saW5lOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0taW5saW5lOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0taW5saW5lOm5vdCg6YWN0aXZlKTpmb2N1cyB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5hbmNob3ItLW5ldXRyYWw6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1czphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMTAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLWRpc2FibGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BdmF0YXIvQXZhdGFyLmNzcyAqLwouYXZhdGFyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmF2YXRhci0tc21hbGwgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMSk7CiAgZm9udC1zaXplOiAxMHB4OwogIGhlaWdodDogMjRweDsKICB3aWR0aDogMjRweDsKfQouYXZhdGFyLS1tZWRpdW0gewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMik7CiAgZm9udC1zaXplOiAxOHB4OwogIGhlaWdodDogNDBweDsKICB3aWR0aDogNDBweDsKfQouYXZhdGFyLS1sYXJnZSB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2luZy00KTsKICBmb250LXNpemU6IDQycHg7CiAgaGVpZ2h0OiAxMDBweDsKICB3aWR0aDogMTAwcHg7Cn0KLmF2YXRhcl9faW5pdGlhbHMgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQnV0dG9uL0J1dHRvbi5jc3MgKi8KLmJ1dHRvbiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAwOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZm9udDogaW5oZXJpdDsKICBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIHdpZHRoOiAxMDAlOwp9Ci5idXR0b24tLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNjAwKTsKICB9Cn0KLmJ1dHRvbi0tcHJpbWFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTYwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1wcmltYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KLmJ1dHRvbi0tZGlzYWJsZWQsCi5idXR0b24tLXByaW1hcnk6ZGlzYWJsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQouYnV0dG9uLS1zZWNvbmRhcnkgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIH0KfQouYnV0dG9uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNjAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwp9Ci5idXR0b24tLXNlY29uZGFyeTpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5idXR0b24tLXNlY29uZGFyeS0tZmlsbGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTEpOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAxLjVweDsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUsCi5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS10ZXJ0aWFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnk6ZGlzYWJsZWQsCi5idXR0b24tLXRlcnRpYXJ5W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXdhcm5pbmc6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICB9Cn0KLmJ1dHRvbi0td2FybmluZzpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLWVycm9yLTQwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS13YXJuaW5nOmZvY3VzOm5vdCg6aG92ZXIpIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tZXJyb3ItNTAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICB9Cn0KLmJ1dHRvbi0tbmV1dHJhbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tbmV1dHJhbDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5idXR0b24tLW5ldXRyYWw6Zm9jdXMgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS0yMDApLAogICAgaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwKICAgIGluc2V0IDAgMCAwIDRweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS1uZXV0cmFsOmRpc2FibGVkIHsKICBvcGFjaXR5OiAuNjsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5LAouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiBhdXRvOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeVthcmlhLWRpc2FibGVkPXRydWVdIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1pY29uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLWljb24tLXNlY29uZGFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIH0KfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouYnV0dG9uLS13aXRoLWljb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmJ1dHRvbl9faWNvbiB7CiAgZGlzcGxheTogZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmJ1dHRvbiB7CiAgICB3aWR0aDogYXV0bzsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZyB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgIHVzZXItc2VsZWN0OiBub25lOwogIH0KICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZzphZnRlciB7CiAgICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBjb250ZW50OiAiIjsKICAgIGhlaWdodDogMTZweDsKICAgIGluc2V0OiAwOwogICAgbWFyZ2luOiBhdXRvOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDE2cHg7CiAgfQogIC5idXR0b24tLXNlY29uZGFyeS5idXR0b24tLXBlbmRpbmc6YWZ0ZXIgewogICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KICBAa2V5ZnJhbWVzIGJ1dHRvbi1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9DYWxsVG9BY3Rpb24vQ2FsbFRvQWN0aW9uLmNzcyAqLwouY2FsbC10by1hY3Rpb24gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmNhbGwtdG8tYWN0aW9uX193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgZGlzcGxheTogZmxleDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouY2FsbC10by1hY3Rpb25fX2JhY2tncm91bmQgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE3NTQnIGhlaWdodD0nMTc5NScgZmlsbD0nbm9uZSclM0UlM0NlbGxpcHNlIGN4PSc4NzYuOTIzJyBjeT0nOTM3LjQ1NycgZmlsbD0nJTIzMDA5QThFJyByeD0nMzQ5JyByeT0nODA1LjUnIHRyYW5zZm9ybT0ncm90YXRlKDYzLjkzMyA4NzYuOTIzIDkzNy40NTcpJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzMTlCM0E4JyBzdHJva2Utd2lkdGg9JzInIGQ9J001OTQuMzA0IDEwMjcuMzlDNTA4Ljg2IDgxNS44NjggNDY3LjcyOSA2MDkuNzg2IDQ3MC4yNjcgNDQ3LjYxNGMxLjI2OS04MS4wODggMTMuNDU2LTE1MS4xNDcgMzYuNDM5LTIwNS40MDcgMjIuOTgyLTU0LjI1NiA1Ni43MjUtOTIuNjQ3IDEwMS4wODYtMTEwLjU2NiA0NC4zNjEtMTcuOTE5IDk1LjMwMi0xMy43MzYgMTQ5LjUxOSA5LjMzNiA1NC4yMjIgMjMuMDc0IDExMS42NDkgNjUuMDEzIDE2OC44ODIgMTIyLjQ3IDExNC40NjcgMTE0LjkxIDIyOC4wMDcgMjkxLjc0MiAzMTMuNDQ3IDUwMy4yNjggODUuNDUgMjExLjUyNSAxMjYuNTggNDE3LjYwNSAxMjQuMDQgNTc5Ljc3NS0xLjI3IDgxLjA5LTEzLjQ1IDE1MS4xNS0zNi40NCAyMDUuNDEtMjIuOTggNTQuMjYtNTYuNzIgOTIuNjUtMTAxLjA4IDExMC41Ny00NC4zNyAxNy45Mi05NS4zMSAxMy43My0xNDkuNTItOS4zNC01NC4yMy0yMy4wNy0xMTEuNjUzLTY1LjAxLTE2OC44ODYtMTIyLjQ3LTExNC40NjMtMTE0LjkxLTIyOC4wMDYtMjkxLjc0LTMxMy40NS01MDMuMjdaJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMwNHB4IC01MjZweDsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNzk0LjExcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxNzUzLjg1cHg7Cn0KLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctNCkgNjRweCB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYWxsLXRvLWFjdGlvbiB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fd3JhcHBlciB7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX19iYWNrZ3JvdW5kIHsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDZweCAtNjcxcHg7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fY29udGVudCB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTIpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQ2hpcC9DaGlwLmNzcyAqLwouY2hpcC1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jaGlwLWdyb3VwLAouY2hpcF9faW5wdXQtd3JhcHBlciwKLmNoaXBfX2xhYmVsIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLmNoaXBfX2lucHV0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgaW5zZXQ6IDA7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmNoaXBfX2lucHV0OmlzKDpjaGVja2VkLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9Ci5jaGlwX19pbnB1dDpkaXNhYmxlZCArIC5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jaGlwX19pbnB1dDppcyg6Y2hlY2tlZCwgOmFjdGl2ZSkgKyAuY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlLCA6Y2hlY2tlZCk6aG92ZXIgKyAuY2hpcF9fbGFiZWwgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIH0KfQouY2hpcF9faW5wdXQ6Y2hlY2tlZDpmb2N1cy12aXNpYmxlICsgLmNoaXBfX2xhYmVsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkKTppcyg6Y2hlY2tlZCwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSArIC5jaGlwX19sYWJlbCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hpcF9fbGFiZWwgewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgY29sb3I7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvSW5wdXRGaWVsZC9JbnB1dEZpZWxkLmNzcyAqLwouaW5wdXQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQouaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci5pbnB1dC0tc3VjY2VzIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hbGVydC1zdWNjZXMtNTAwKTsKfQouaW5wdXRbYXJpYS1pbnZhbGlkPXRydWVdIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1lcnJvci01MDApOwp9Ci5pbnB1dDpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5pbnB1dDppcyg6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXQtLXdpdGgtcHJlZml4IHsKICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy00KSoyICsgMjRweCk7Cn0KLmlucHV0LS13aXRoLXN1ZmZpeCB7CiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nLTQpKjIgKyAyNHB4KTsKfQouaW5wdXRfX3ByZWZpeCwKLmlucHV0X19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogaW5oZXJpdDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAyNHB4Owp9Ci5pbnB1dF9fcHJlZml4IHsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5pbnB1dF9fc3VmZml4IHsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKfQppbnB1dFt0eXBlPWRhdGVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgaGVpZ2h0OiAyNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMjRweDsKICB6LWluZGV4OiAxOwp9CmlucHV0W3R5cGU9ZGF0ZV0gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQppbnB1dDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5pbnB1dF9fc3VmZml4ICsgaW5wdXRbdHlwZT1kYXRlXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICBjb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlucHV0X193cmFwcGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3RhdHVzQ2hpcC9TdGF0dXNDaGlwLmNzcyAqLwouc3RhdHVzLWNoaXAgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tc3RhdHVzLWNoaXAtY29sb3IpOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpIHZhcigtLXNwYWNpbmctMik7Cn0KLnN0YXR1cy1jaGlwLS1zdWNjZXNzIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tc3VjY2Vzcy01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0td2FybmluZyB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdhcm5pbmctNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWVycm9yIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWRpc2FibGVkIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC00MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Td2l0Y2gvU3dpdGNoLmNzcyAqLwouc3dpdGNoX19sYWJlbCB7CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci5zd2l0Y2hfX3RodW1iIHsKICAtLXN3aXRjaC13aWR0aDo1MXB4OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tcHJpbWFyeS01MDApIDUwJSwgdmFyKC0tbmV1dHJhbC0yMDApIDUwJSk7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTsKICBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7CiAgYm9yZGVyLXJhZGl1czogMjRweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgaGVpZ2h0OiAzMXB4OwogIG1hcmdpbjogMDsKICBtaW4td2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7Cn0KLnN3aXRjaF9fdGh1bWIsCmJ1dHRvbi5zd2l0Y2hfX3RodW1iIHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7Cn0KYnV0dG9uLnN3aXRjaF9fdGh1bWIgewogIGJvcmRlcjogbm9uZTsKfQouc3dpdGNoX190aHVtYjpjaGVja2VkLAouc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdIHsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwOwp9Ci5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICAtLXN3aXRjaC10aHVtYi13aWR0aDoyN3B4OwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgLjE1KSwgMCAzcHggMXB4IHJnYigwIDAgMC82JSk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyN3B4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDJweDsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsKICB3aWR0aDogdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKTsKfQpidXR0b24uc3dpdGNoX190aHVtYjphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMy41cHggLSB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpKSk7Cn0KLnN3aXRjaF9fdGh1bWI6Y2hlY2tlZDphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tc3dpdGNoLXdpZHRoKSAtIHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCkgLSAycHgpKTsKfQpidXR0b24uc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMuNXB4KTsKfQouc3dpdGNoX19sYWJlbC0tZGlzYWJsZWQgewogIGN1cnNvcjogZGVmYXVsdDsKfQouc3dpdGNoX190aHVtYjpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0xMDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLnN3aXRjaF9fdGh1bWI6ZGlzYWJsZWQ6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnN3aXRjaF9fdGh1bWIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtczsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtcG9zaXRpb247CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9CiAgLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1RleHRBcmVhL1RleHRBcmVhLmNzcyAqLwoudGV4dC1hcmVhIHsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRleHQtYXJlYVthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1lcnJvci01MDApOwp9Ci50ZXh0LWFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLnRleHQtYXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC50ZXh0LWFyZWE6aG92ZXIgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnRleHQtYXJlYTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Vbm9yZGVyZWRMaXN0L1Vub3JkZXJlZExpc3QuY3NzICovCi51bm9yZGVyZWQtbGlzdC0tY2hlY2sgPiBsaSB7CiAgLS1tb2JpbGUtY2hlY2s6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgLS1kZXNrdG9wLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKfQoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tb2JpbGUtY2hlY2spOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRlc2t0b3AtY2hlY2spOwogICAgaGVpZ2h0OiAzMnB4OwogICAgd2lkdGg6IDMycHg7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkQWN0aW9uL0NhcmRBY3Rpb24uY3NzICovCi5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEJvZHkvQ2FyZEJvZHkuY3NzICovCi5jYXJkX19ib2R5IHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEVtcHR5U3RhdGUvQ2FyZEVtcHR5U3RhdGUuY3NzICovCi5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC0xMDApOwogIC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yOnZhcigtLW5ldXRyYWwtODAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC03MDApOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlLS1lcnJvciB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItMjAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1lcnJvci01MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSB7CiAgcGFkZGluZzogMDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYm9yZGVyLXJhZGl1czogMDsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX2ljb24sCi5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX19pY29uIHsKICBjb2xvcjogdmFyKC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yKTsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMyk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWNhcmQtYm9yZGVyLXJhZGl1cyk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24sCiAgLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgIG1heC13aWR0aDogNTI1cHg7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogICAgbWF4LXdpZHRoOiB1bnNldDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRGb290ZXIvQ2FyZEZvb3Rlci5jc3MgKi8KLmNhcmRfX2Zvb3RlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2Zvb3RlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEhlYWRlci9DYXJkSGVhZGVyLmNzcyAqLwouY2FyZF9faGVhZGVyIHsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2hlYWRlci0tc3RpY2t5IHsKICAtLWNhcmQtaGVhZGVyLXN0aWNreS10b3A6MDsKICBwb3NpdGlvbjogc3RpY2t5OwogIHRvcDogdmFyKC0tY2FyZC1oZWFkZXItc3RpY2t5LXRvcCk7CiAgei1pbmRleDogMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyAudGFicyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRJdGVtL0NhcmRJdGVtLmNzcyAqLwouY2FyZF9fYm9keV9faXRlbSB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy02KTsKfQouY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogIG1hcmdpbi1ib3R0b206IDE2cHg7Cn0KLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19ib2R5X19pdGVtIC5saXN0LWl0ZW0ubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAxcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IC0xcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlciB7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06Zmlyc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIHsKICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSwgOmZpcnN0LW9mLXR5cGUpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1jaGlsZCB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9fYm9keSA+IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRTdWJ0aXRsZS9DYXJkU3VidGl0bGUuY3NzICovCi5jYXJkX19ib2R5X19zdWJ0aXRsZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCB2YXIoLS1uZXV0cmFsLTIwMCksIGluc2V0IDFweCAwIHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHlfX3N1YnRpdGxlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRUaXRsZS9DYXJkVGl0bGUuY3NzICovCi5jYXJkX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS10aXRsZS0zLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9faGVhZGVyX190aXRsZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogICAgZm9udDogdmFyKC0tdGl0bGUtMi1yZWd1bGFyKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmQuY3NzICovCi5jYXJkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwgaW5zZXQgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkLS1kaXNhYmxlZCAqIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkIHsKICAgIC0tY2FyZC1ib3JkZXItcmFkaXVzOnZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7CiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OwogIH0KICB1bC5jYXJkIC5saXN0LWl0ZW0gewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQogIHVsLmNhcmQgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICAgIGJveC1zaGFkb3c6CiAgICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICAgIGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksCiAgICAgIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgfQogIHVsLmNhcmQgOmlzKC5saXN0LWl0ZW06Zmlyc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpmaXJzdC1vZi10eXBlIGEpIHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICB1bC5jYXJkIDppcygubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpsYXN0LW9mLXR5cGUgYSkgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSW1hZ2VWYXJpYW50LmNzcyAqLwouY2FyZC0taW1hZ2UgewogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkLS1pbWFnZSwKLmNhcmQtLWltYWdlIC5jYXJkX19pbGx1c3RyYXRpb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tdGl0bGUtMi1tZWRpdW0pOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgMDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2JvZHkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICBtYXJnaW46IDAgYXV0byB2YXIoLS1zcGFjaW5nLTYpOwogIG1heC13aWR0aDogNDIwcHg7CiAgcGFkZGluZzogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZC0taW1hZ2UgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTEpOwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7CiAgICBtYXJnaW46IDA7CiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRMaXN0L0NhcmRMaXN0LmNzcyAqLwouY2FyZC1saXN0ID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmQtbGlzdCB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkLWxpc3QgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHsKICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hlY2tib3gvQ2hlY2tib3guY3NzICovCi5jaGVja2JveCB7CiAgLS1jaGVja2JveC13aWR0aDoyNHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgOmlzKC5jaGVja2JveF9faW5wdXQsIC5jaGVja2JveF9fbGFiZWwpOmhvdmVyIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICB9Cn0KLmNoZWNrYm94LS1uZXV0cmFsLAouY2hlY2tib3gtLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouY2hlY2tib3hfX3NwaW5uZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2NoZWNrLAouY2hlY2tib3hfX3NwaW5uZXIgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMzAwKTsKICBib3JkZXItcmFkaXVzOiA2cHg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1pbi13aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgdmlzaWJpbGl0eTogdW5zZXQ7Cn0KLmNoZWNrYm94LmNoZWNrYm94LS1lcnJvciAuY2hlY2tib3hfX2NoZWNrIHsKICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLmNoZWNrYm94X19pbnB1dCB7CiAgaGVpZ2h0OiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgbWFyZ2luOiAwOwogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgei1pbmRleDogMTA7Cn0KLmNoZWNrYm94X19pbnB1dCB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC03NTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoZWNrYm94X19pbnB1dDpob3ZlciB+IC5jaGVja2JveF9fY2hlY2sgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmNoZWNrYm94X19pbnB1dDpmb2N1cy13aXRoaW4gfiAuY2hlY2tib3hfX2NoZWNrIHsKICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmUtb2Zmc2V0OiAycHg7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICBzdHJva2UtZGFzaG9mZnNldDogMDsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6ZGlzYWJsZWQgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7Cn0KLmNoZWNrYm94X19sYWJlbCB7CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faGludCB7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouY2hlY2tib3hfX2Vycm9yIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faW5wdXQ6aW5kZXRlcm1pbmF0ZSB7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hlY2tib3hfX2NoZWNrIHsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLWluLW91dDsKICB9CiAgLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IC4zNXMgZWFzZS1vdXQ7CiAgfQogIC5jaGVja2JveF9fc3Bpbm5lciBjaXJjbGU6bGFzdC1vZi10eXBlIHsKICAgIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICB9CiAgQGtleWZyYW1lcyBjaGVja2JveC1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ29tYm9ib3gvQ29tYm9ib3guY3NzICovCi5jb21ib2JveCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CnVsW3JvbGU9bGlzdGJveF0uY29tYm9ib3hfX2xpc3QtLW9wZW4gewogIGRpc3BsYXk6IGJsb2NrOwp9CnVsW3JvbGU9bGlzdGJveF0gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBub25lOwogIGZpbHRlcjogZHJvcC1zaGFkb3coMCAzcHggOHB4IHJnYig0NiA1OSA4Ni8xMCUpKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1heC1oZWlnaHQ6IDE2NXB4OwogIG92ZXJmbG93OiBzY3JvbGw7CiAgb3ZlcmZsb3cteDogaGlkZGVuOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDEwMDA7Cn0KdWxbcm9sZT1saXN0Ym94XSBsaVtyb2xlPW9wdGlvbl0gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwp9CnVsW3JvbGU9bGlzdGJveF0gbGlbcm9sZT1vcHRpb25dOm5vdCg6bGFzdC1jaGlsZCkgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLXNlbGVjdGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1oaWdobGlnaHQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tbG9hZGluZyB7CiAgY29sb3I6IHRyYW5zcGFyZW50OwogIGhlaWdodDogNDhweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIHVzZXItc2VsZWN0OiBub25lOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1sb2FkaW5nOmFmdGVyIHsKICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNnB4OwogIGluc2V0OiAwOwogIG1hcmdpbjogYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE2cHg7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWVtcHR5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGN1cnNvcjogZGVmYXVsdDsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25MaXN0LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uQWN0aW9uL0Rlc2NyaXB0aW9uQWN0aW9uLmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2FjdGlvbiA+IGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9faXRlbSAuZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkNvbnRlbnQvRGVzY3JpcHRpb25Db250ZW50LmNzcyAqLwpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmRlc2NyaXB0aW9uLWxpc3RfX2NvbnRlbnQgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3RfX2NvbnRlbnQgPiAqIHsKICAgIGZsZXg6IDE7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uSXRlbS9EZXNjcmlwdGlvbkl0ZW0uY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19pdGVtIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2l0ZW0gPiAqIHsKICBmbGV4OiAxOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2N0aXB0aW9uU3VmZml4L0Rlc2NyaXB0aW9uU3VmZml4LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fc3VmZml4IHsKICBmbGV4OiAwOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGlhbG9nL0RpYWxvZy5jc3MgKi8KLmRpYWxvZ1tvcGVuXTo6YmFja2Ryb3AgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBvcGFjaXR5OiAuMjU7Cn0KYm9keTpoYXMoZGlhbG9nW29wZW5dKSB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQpkaWFsb2c6bm90KFtvcGVuXSkgewogIHZpc2liaWxpdHk6IGhpZGRlbjsKfQpkaWFsb2c6Zm9jdXMgewogIG91dGxpbmU6IG5vbmU7Cn0KLmRpYWxvZyB7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBib3gtc2hhZG93OgogICAgMCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwKICAgIDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksCiAgICAwIDhweCAxMHB4IHJnYigwIDAgMC80JSksCiAgICAwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00KTsKICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwogIG1heC13aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2luZy00KSoyKTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBmaXhlZDsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTAwOwp9Ci5kaWFsb2dfX2hlYWRlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBvc2l0aW9uOiBzdGlja3k7CiAgdG9wOiAwOwogIHotaW5kZXg6IDEwMDA7Cn0KLmRpYWxvZ19faGVhZGVyX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci5kaWFsb2dfX2hlYWRlcl9fdGl0bGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXRpdGxlLTItbWVkaXVtKTsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19faGVhZGVyX190aXRsZTpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQouZGlhbG9nX19ib2R5LAouZGlhbG9nX19mb290ZXIsCi5kaWFsb2dfX2hlYWRlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQouZGlhbG9nX19ib2R5IHsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5kaWFsb2dfX2JvZHksCi5kaWFsb2dfX2Zvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19fZm9vdGVyIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm90dG9tOiAwOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIHBvc2l0aW9uOiBzdGlja3k7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kaWFsb2dfX2JvZHksCiAgLmRpYWxvZ19fZm9vdGVyLAogIC5kaWFsb2dfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuZGlhbG9nX19ib2R5IHsKICAgIGdhcDogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmRpYWxvZyB7CiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICB9CiAgLmRpYWxvZ19fZm9vdGVyIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmRpYWxvZ1tvcGVuXS5kaWFsb2ctLWFuaW1hdGVkIHsKICAgIGFuaW1hdGlvbjogem9vbS1pbiAuMTVzOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZCB7CiAgICBhbmltYXRpb246IHpvb20tb3V0IC4xNXM7CiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IC4xNXM7CiAgfQogIC5kaWFsb2dbb3Blbl0uZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLWluIC4xNXM7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLW91dCAuMTVzOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20taW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICB9CiAgMC4wMDAwMDAwMDAxJSB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20tb3V0IHsKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIGZhZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CkBrZXlmcmFtZXMgZmFkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IC4yNTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbS5jc3MgKi8KLmxpc3QtaXRlbSwKLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwp9Ci5saXN0LWl0ZW0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9Ci5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayksCi5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IGluaGVyaXQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQteHRyYSk7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAxMDAlOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogICAgYm9yZGVyOiBub25lOwogIH0KfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tcHJpbWFyeS0yMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTpmb2N1cywKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1lcnJvci0yMDApOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSAubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSwKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci0yMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKSwKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyOmxhc3Qtb2YtdHlwZSB7CiAgICBib3gtc2hhZG93OiBub25lOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtQ29udGVudC9MaXN0SXRlbUNvbnRlbnQuY3NzICovCi5saXN0LWl0ZW1fX2NvbnRlbnQgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1NZXRhL0xpc3RJdGVtTWV0YS5jc3MgKi8KLmxpc3QtaXRlbV9fbWV0YSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1QcmVmaXgvTGlzdEl0ZW1QcmVmaXguY3NzICovCi5saXN0LWl0ZW1fX3ByZWZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBmbGV4Owp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4LAoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4IHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VidGl0bGUvTGlzdEl0ZW1TdWJ0aXRsZS5jc3MgKi8KLmxpc3QtaXRlbV9fc3VidGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTUwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX19zdWJ0aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VmZml4L0xpc3RJdGVtU3VmZml4LmNzcyAqLwoubGlzdC1pdGVtX19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtVGV4dC9MaXN0SXRlbVRleHQuY3NzICovCi5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiBpbmhlcml0OwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSAubGlzdC1pdGVtX190ZXh0LAoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1UaXRsZS9MaXN0SXRlbVRpdGxlLmNzcyAqLwoubGlzdC1pdGVtX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDUwMDsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX190aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvQ29udGVudC9Db250ZW50LmNzcyAqLwoubWVudV9fbGlzdCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1vZGFsKSwgaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMTAwKTsKICBtYXJnaW4tdG9wOiAxMHB4OwogIG1pbi13aWR0aDogMjIwcHg7CiAgb3BhY2l0eTogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRyYW5zZm9ybTogc2NhbGUoLjgpOwogIHZpc2liaWxpdHk6IGhpZGRlbjsKICB6LWluZGV4OiAxMDAwMDA7Cn0KLm1lbnVfX2xpc3QsCi5tZW51X19saXN0ID4gdWwgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLm1lbnVfX2xpc3QgPiB1bCB7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5tZW51X19saXN0LS1hY3RpdmUgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5tZW51X19saXN0LS1sZWZ0IHsKICBsZWZ0OiAwOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Owp9Ci5tZW51X19saXN0LS1yaWdodCB7CiAgcmlnaHQ6IDA7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLm1lbnVfX2xpc3QgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6CiAgICAgIHRyYW5zZm9ybSwKICAgICAgb3BhY2l0eSwKICAgICAgcm90YXRlLAogICAgICB2aXNpYmlsaXR5OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9NZW51SXRlbS9NZW51SXRlbS5jc3MgKi8KLm1lbnVfX2xpc3QtaXRlbSB7CiAgZGlzcGxheTogZmxleDsKfQoubWVudV9fbGlzdC1pdGVtID4gKiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAwOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBmb250OiBpbmhlcml0OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgbWFyZ2luOiAwIDFweDsKICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLm1lbnVfX2xpc3QtaXRlbSA+IDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5tZW51X19saXN0LWl0ZW0gPiA6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSwKLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZTpiZWZvcmUgewogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDAgMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSAuYnV0dG9uIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbi0td2l0aC1pY29uIHsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLm1lbnVfX2xpc3QtaXRlbS0tbG9nb3V0IC5idXR0b24gewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L1RyaWdnZXIvVHJpZ2dlci5jc3MgKi8KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPXRydWVdIC5idXR0b25fX2ljb24tcmlnaHQgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X190cmlnZ2VyIC5idXR0b25fX2ljb24tcmlnaHQgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudS5jc3MgKi8KLm1lbnUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NlY3Rpb25NZXNzYWdlL1NlY3Rpb25NZXNzYWdlLmNzcyAqLwouc2VjdGlvbi1tZXNzYWdlIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy00KTsKfQouc2VjdGlvbi1tZXNzYWdlLAouc2VjdGlvbi1tZXNzYWdlX19pY29uIHsKICBjb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1pbmZvIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXByaW1hcnkgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXByaW1hcnktNzAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktNTApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXN1Y2Nlc3MgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXN1Y2Nlc3MtNTAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MtMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS13YXJuaW5nIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS13YXJuaW5nLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZXJyb3IgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLWVycm9yLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1lcnJvci0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTYwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGhlaWdodDogMjRweDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB3aWR0aDogMjRweDsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uLS1pbmZvIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24sCi5zZWN0aW9uLW1lc3NhZ2VfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiwKLnNlY3Rpb24tbWVzc2FnZV9fdGl0bGUgKyAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSkgMDsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gOmlzKGEsIHAsIGJ1dHRvbikgewogIGNvbG9yOiBpbmhlcml0OwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwogIHBhZGRpbmc6IDA7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICB9Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6YWN0aXZlLAouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gLmFuY2hvcjpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpLCAwIDAgMCAxMHB4IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZGlzYWJsZWQgOmlzKGEsIHAsIGJ1dHRvbikgewogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zZWN0aW9uLW1lc3NhZ2UgewogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctNSk7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICAgIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiA6aXMoYSwgcCwgYnV0dG9uKSB7CiAgICBmb250OiB2YXIoLS1ib2R5LTEtbWVkaXVtKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9QaG9uZU51bWJlci9QaG9uZU51bWJlci5jc3MgKi8KLnBob25lLW51bWJlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLnBob25lLW51bWJlciAuaW5wdXRfX3dyYXBwZXIgewogIGZsZXgtZ3JvdzogMTsKfQoucGhvbmUtbnVtYmVyIC5waG9uZS1udW1iZXJfX2NvdW50cnktY29kZS1zZWxlY3QgewogIGhlaWdodDogMTAwJTsKICB3aWR0aDogOTZweDsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU2VsZWN0L1NlbGVjdC5jc3MgKi8KLnNlbGVjdC13cmFwcGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNlbGVjdC13cmFwcGVyOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTggMTAgNCA0IDQtNCcvJTNFJTNDL3N2ZyUzRSIpOwogIG1hc2staW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J204IDEwIDQgNCA0LTQnLyUzRSUzQy9zdmclM0UiKTsKICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjsKICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7CiAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0OwogIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7CiAgLXdlYmtpdC1tYXNrLXNpemU6IGNvdmVyOwogIG1hc2stc2l6ZTogY292ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB3aWR0aDogMjRweDsKfQouc2VsZWN0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7Cn0KLnNlbGVjdC0td2l0aC1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlbGVjdDpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnNlbGVjdDpmb2N1cyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouc2VsZWN0LXdyYXBwZXItLWZvY3VzOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TZWdtZW50ZWRDb250cm9sL1NlZ21lbnRlZENvbnRyb2wuY3NzICovCi5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLnNlZ21lbnRlZC1jb250cm9sX19wYW5lbCB7CiAgZGlzcGxheTogbm9uZTsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2xfX3BhbmVsIHsKICBkaXNwbGF5OiBibG9jazsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbCBbcm9sZT10YWJwYW5lbF1bZGF0YS1zdGF0ZT1pbmFjdGl2ZV0gewogIGRpc3BsYXk6IG5vbmU7Cn0KLnNlZ21lbnRlZC1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX19saXN0X193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZsZXg6IDE7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXTpmb2N1cy12aXNpYmxlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgfQp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RhYnMvVGFicy5jc3MgKi8KLnRhYnMgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKTsKICB3aWR0aDogMTAwJTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCAudGFic19fbGluayB7CiAgd2lkdGg6IDEwMCU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50YWJzLAogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy04KTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy04KSAwIHZhcigtLXNwYWNpbmctOCk7CiAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgdG9wOiB2YXIoLS1zaXRlLWhlYWRlci1oZWlnaHQpOwogICAgei1pbmRleDogMTU7CiAgfQogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIC50YWJzX19saW5rIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KICAudGFicyBhLAogIC50YWJzLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgICBib3JkZXItcmFkaXVzOiAwOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB9CiAgLnRhYnMgYS5hY3RpdmUsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICB9CiAgLnRhYnMgYTpiZWZvcmUgewogICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgY29udGVudDogYXR0cihkYXRhLXRleHQpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgfQogIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAgIC50YWJzIGE6Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgfQogICAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6aG92ZXI6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgICAgIGJvdHRvbTogMDsKICAgICAgY29udGVudDogIiI7CiAgICAgIGhlaWdodDogMnB4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogIH0KICAudGFicyBhOm5vdCguYWN0aXZlKTpmb2N1czphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC50YWJzIGEuYWN0aXZlOmFmdGVyLAogIC50YWJzIGE6bm90KC5hY3RpdmUpOmZvY3VzOmFmdGVyIHsKICAgIGJvdHRvbTogMDsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnRhYnMgYS5hY3RpdmU6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvYXN0L1RvYXN0LmNzcyAqLwoudG9hc3QgewogIC0tc2xpZGUtaW4tZW5kOjA7CiAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTgpKTsKICBhbmltYXRpb246IHNsaWRlLWluIDBtcywgc2xpZGUtb3V0IDBtcyA1cyBmb3J3YXJkczsKICBib3R0b206IHZhcigtLXNwYWNpbmctNCk7CiAgaGVpZ2h0OiBhdXRvOwogIGxlZnQ6IHZhcigtLXNwYWNpbmctNCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogZml4ZWQ7CiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7Cn0KLnRvYXN0LS1lcnJvciB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYigyMzAgNDUgNTAvNSUpLCByZ2IoMjMwIDQ1IDUwLzUlKSksIHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMnB4IDAgdmFyKC0tZXJyb3ItNDAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLnRvYXN0LS1pbmZvIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudG9hc3RfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9hc3RfX3RpdGxlX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50b2FzdC0taW5mbyAudG9hc3RfX3RpdGxlX19pY29uIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudG9hc3QgewogICAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTEyKSk7CiAgICBib3R0b206IHZhcigtLXNwYWNpbmctMTApOwogICAgbGVmdDogYXV0bzsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgICByaWdodDogdmFyKC0tc3BhY2luZy0xMCk7CiAgICB3aWR0aDogNDIwcHg7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnRvYXN0IHsKICAgIGFuaW1hdGlvbjogc2xpZGUtaW4gLjNzIGVhc2Utb3V0LCBzbGlkZS1vdXQgLjNzIGVhc2UtaW4gNXMgZm9yd2FyZHM7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtb3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLWVuZCkpOwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAuODsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1zdGFydCkpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvZ2dsZS9Ub2dnbGUuY3NzICovCi50b2dnbGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7Cn0KLnRvZ2dsZV9faXRlbSB7CiAgd2lkdGg6IDEwMCU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TdGVwcy9TdGVwcy5jc3MgKi8KLnN0ZXBzIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC13cmFwOiB3cmFwOwp9Ci5zdGVwc19fbGluayBhLAouc3RlcHNfX2xpbmsgc3BhbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLnN0ZXBzX19saW5rIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLnN0ZXBzX19saW5rIC5zdGVwc19fbGlua19fY2hhcmFjdGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctNik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIpOwogIHdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwp9Ci5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy00KTsKfQouc3RlcHNfX2xpbms6Zmlyc3Qtb2YtdHlwZSAuc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnN0ZXBzX19saW5rLmFjdGl2ZSAuc3RlcHNfX2xpbmtfX2NoYXJhY3RlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zdGVwc19fbGluay5hY3RpdmUgLnN0ZXBzX19saW5rX19kaXZpZGVyLAouc3RlcHNfX2xpbmsuYWN0aXZlIGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9UaW1lbGluZS9UaW1lbGluZS5jc3MgKi8KLnRpbWVsaW5lLWNvbnRhaW5lci5tb2JpbGUtb25seSB7CiAgZGlzcGxheTogbm9uZTsKfQoudGltZWxpbmUtY29udGFpbmVyIHsKICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRpbWVsaW5lIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgbWFyZ2luOiAwIGF1dG87Cn0KLnRpbWVsaW5lLmhvcml6b250YWwgewogIGhlaWdodDogMXB4OwogIHdpZHRoOiAxMDAlOwp9Ci50aW1lbGluZS52ZXJ0aWNhbCB7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiAxcHg7Cn0KLnRpbWVsaW5lX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGhlaWdodDogMzJweDsKICB0cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7CiAgd2lkdGg6IDMycHg7CiAgei1pbmRleDogMTA7Cn0KLnRpbWVsaW5lX19sYWJlbC5ob3Jpem9udGFsIHsKICBtYXJnaW4tbGVmdDogLTE3MHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoudGltZWxpbmVfX2xhYmVsLnZlcnRpY2FsIHsKICBtYXJnaW46IHZhcigtLXNwYWNpbmctNikgYXV0byAwOwp9Ci50aW1lbGluZV9fbGFiZWwtLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudGltZWxpbmVfX2xhYmVsLWNvbnRlbnQgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgdHJhbnNmb3JtOiByb3RhdGUoLTIwZGVnKTsKICB3aWR0aDogMTAwJTsKfQoudGltZWxpbmUtY29udGFpbmVyLmhvcml6b250YWw6bm90KC5tb2JpbGUtb25seSkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDUwcHg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDEwMCU7Cn0KLnRpbWVsaW5lLWNvbnRhaW5lci52ZXJ0aWNhbDpub3QoLm1vYmlsZS1vbmx5KSB7CiAgZGlzcGxheTogZ3JpZDsKfQoudGltZWxpbmUsCi50aW1lbGluZV9fbGFiZWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBncmlkLWFyZWE6IDEvMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnRpbWVsaW5lLWNvbnRhaW5lci5ob3Jpem9udGFsIHsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgaGVpZ2h0OiA1MHB4OwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwYWRkaW5nOiAwOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC50aW1lbGluZS1jb250YWluZXIudmVydGljYWwgewogICAgZGlzcGxheTogZ3JpZDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvRm9ybUdyb3VwLmNzcyAqLwouZm9ybS1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0hpbnQvSGludC5jc3MgKi8KLmZvcm0tZ3JvdXBfX2Vycm9yLAouZm9ybS1ncm91cF9faGludCB7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQouZm9ybS1ncm91cF9faGludCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQouZm9ybS1ncm91cF9fZXJyb3IgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0xhYmVsL0xhYmVsLmNzcyAqLwouZm9ybS1pdGVtX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7CiAgbWF4LXdpZHRoOiAxMDAlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9SYWRpby9SYWRpby5jc3MgKi8KLnJhZGlvLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2lucHV0LXdyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMyk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19fbGFiZWwgewogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLnJhZGlvX19pbnB1dCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgZGlzcGxheTogZ3JpZDsKICBmb250OiBpbmhlcml0OwogIGhlaWdodDogdmFyKC0tc3BhY2luZy02KTsKICBtYXJnaW46IDA7CiAgbWluLXdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwogIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19pbnB1dDppcyg6Y2hlY2tlZCwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlKSB7CiAgb3V0bGluZTogbm9uZTsKfQoucmFkaW9fX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSB7CiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAucmFkaW9fX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLnJhZGlvX19pbnB1dDpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogNTAlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7CiAgd2lkdGg6IDA7Cn0KLnJhZGlvX19pbnB1dDpjaGVja2VkOmJlZm9yZSB7CiAgaGVpZ2h0OiAxMnB4OwogIHdpZHRoOiAxMnB4Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnJhZGlvX19pbnB1dDpiZWZvcmUgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvUGFzc3dvcmQvUGFzc3dvcmQuY3NzICovCi5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IHsKICBwb2ludGVyLWV2ZW50czogYXV0bzsKICByaWdodDogdmFyKC0tc3BhY2luZy02KTsKfQoucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uIHsKICBwYWRkaW5nOiAwOwp9Ci5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IC5idXR0b246Zm9jdXMtdmlzaWJsZSB7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogIGRpc3BsYXk6IGZsZXg7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KICAuaW5wdXQ6aG92ZXI6bm90KDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogICAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDpyZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggewogICAgcmlnaHQ6IHZhcigtLXNwYWNpbmctNCk7CiAgfQp9Cg==";
601
+ const rg = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OiMwMDA7CiAgLS1uZXV0cmFsLTkwMDojMWIxZjI3OwogIC0tbmV1dHJhbC04MDA6IzJlM2I1NjsKICAtLW5ldXRyYWwtNzAwOiM0ODUyNmQ7CiAgLS1uZXV0cmFsLTYwMDojNjM3MDhhOwogIC0tbmV1dHJhbC01MDA6IzdjODlhMzsKICAtLW5ldXRyYWwtNDAwOiM5ZmFhYzA7CiAgLS1uZXV0cmFsLTMwMDojYmJjMWQzOwogIC0tbmV1dHJhbC0yMDA6I2ViZWRmNTsKICAtLW5ldXRyYWwtMTAwOiNmM2Y0ZmE7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6IzAwM2MzNzsKICAtLXByaW1hcnktODAwOiMwMDU2NGY7CiAgLS1wcmltYXJ5LTcwMDojMDA4MDc3OwogIC0tcHJpbWFyeS02MDA6IzAwOWE4ZTsKICAtLXByaW1hcnktNTAwOiMwMGFiOWU7CiAgLS1wcmltYXJ5LTQwMDojMTliM2E4OwogIC0tcHJpbWFyeS0zMDA6IzgwZDVjZjsKICAtLXByaW1hcnktMjAwOiNjY2VlZWM7CiAgLS1wcmltYXJ5LTEwMDojZTVmN2Y1OwogIC0tcHJpbWFyeS01MDojZWZmOWY5OwogIC0tc3VjY2Vzcy0yMDA6I2YyZjllYzsKICAtLXN1Y2Nlc3MtNTAwOiMwMDlhM2U7CiAgLS1lcnJvci0yMDA6I2ZlZjRmNTsKICAtLWVycm9yLTQwMDojZmY1YzVjOwogIC0tZXJyb3ItNTAwOiNlNjJkMzI7CiAgLS13YXJuaW5nLTIwMDojZmZmYWYzOwogIC0td2FybmluZy01MDA6I2RjODYzMzsKICAtLXByaW1hcnktZ3JhZGllbnQ6bGluZWFyLWdyYWRpZW50KDEzMy41M2RlZywjMTU5YTk1IDI1LjU3JSwjMTBiOGIxIDc0LjI5JSk7CiAgLS1zaGFkb3ctY2FyZDowIDNweCA4cHggcmdiYSg0Niw1OSw4NiwuMSk7CiAgLS1zaGFkb3ctbmF2OjAgMCAxMnB4IHJnYmEoNDYsNTksODYsLjEyKTsKICAtLXNoYWRvdy1idXR0b246MCA4cHggOHB4IC01cHggcmdiYSgxLDE0MSwxMzYsLjIpOwogIC0tc2hhZG93LWZhYjowIDRweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctbW9kYWw6MCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICAtLWJvcmRlci1yYWRpdXMtc206NnB4OwogIC0tYm9yZGVyLXJhZGl1cy1tZDoxMHB4OwogIC0tYm9yZGVyLXJhZGl1cy1sZzoxOHB4OwogIC0tc3BhY2luZy0xOjRweDsKICAtLXNwYWNpbmctMjo4cHg7CiAgLS1zcGFjaW5nLTM6MTJweDsKICAtLXNwYWNpbmctNDoxNnB4OwogIC0tc3BhY2luZy01OjIwcHg7CiAgLS1zcGFjaW5nLTY6MjRweDsKICAtLXNwYWNpbmctNzoyOHB4OwogIC0tc3BhY2luZy04OjMycHg7CiAgLS1zcGFjaW5nLTk6NDBweDsKICAtLXNwYWNpbmctMTA6NDhweDsKICAtLXNwYWNpbmctMTE6NTZweDsKICAtLXNwYWNpbmctMTI6NjRweDsKICAtLWZvbnQteHRyYToiTmV1ZSIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxibGlua21hY3N5c3RlbWZvbnQsIlNlZ29lIFVJIixyb2JvdG8sIkhlbHZldGljYSBOZXVlIixhcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7CiAgLS1kaXNwbGF5LTEtbWVkaXVtOjUwMCAzcmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0yLW1lZGl1bTo1MDAgMi41cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0zLW1lZGl1bTo1MDAgMnJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTEtcmVndWxhcjo0MDAgMS41cmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMS1tZWRpdW06NTAwIDEuNXJlbS8xLjMgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItcmVndWxhcjo0MDAgMS4yNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItbWVkaXVtOjUwMCAxLjI1cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMy1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTMtbWVkaXVtOjUwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1tZWRpdW06NTAwIDEuMTI1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIC0tYm9keS0yLXJlZ3VsYXI6NDAwIDFyZW0vMS4zIHZhcigtLWZvbnQteHRyYSk7CiAgLS1ib2R5LTItbWVkaXVtOjUwMCAxcmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tc3VidGV4dC1yZWd1bGFyOjQwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLXN1YnRleHQtbWVkaXVtOjUwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLXJlZ3VsYXI6NDAwIDAuNjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLW1lZGl1bTo1MDAgMC42ODc1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKfQouc3Itb25seSB7CiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsKICBib3JkZXItd2lkdGg6IDA7CiAgaGVpZ2h0OiAxcHg7CiAgbWFyZ2luOiAtMXB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICB3aWR0aDogMXB4Owp9Cjppcyg6cm9vdCwgOmhvc3QpICogewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIDpob3N0LAogIDpyb290IHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0FuY2hvci9BbmNob3IuY3NzICovCi5hbmNob3IgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmFuY2hvci0taW5saW5lIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0taW5saW5lOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0taW5saW5lOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0taW5saW5lOm5vdCg6YWN0aXZlKTpmb2N1cyB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5hbmNob3ItLW5ldXRyYWw6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1czphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMTAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLWRpc2FibGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BdmF0YXIvQXZhdGFyLmNzcyAqLwouYXZhdGFyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmF2YXRhci0tc21hbGwgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMSk7CiAgZm9udC1zaXplOiAxMHB4OwogIGhlaWdodDogMjRweDsKICB3aWR0aDogMjRweDsKfQouYXZhdGFyLS1tZWRpdW0gewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMik7CiAgZm9udC1zaXplOiAxOHB4OwogIGhlaWdodDogNDBweDsKICB3aWR0aDogNDBweDsKfQouYXZhdGFyLS1sYXJnZSB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2luZy00KTsKICBmb250LXNpemU6IDQycHg7CiAgaGVpZ2h0OiAxMDBweDsKICB3aWR0aDogMTAwcHg7Cn0KLmF2YXRhcl9faW5pdGlhbHMgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQnV0dG9uL0J1dHRvbi5jc3MgKi8KLmJ1dHRvbiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAwOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZm9udDogaW5oZXJpdDsKICBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIHdpZHRoOiAxMDAlOwp9Ci5idXR0b24tLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNjAwKTsKICB9Cn0KLmJ1dHRvbi0tcHJpbWFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTYwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1wcmltYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KLmJ1dHRvbi0tZGlzYWJsZWQsCi5idXR0b24tLXByaW1hcnk6ZGlzYWJsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQouYnV0dG9uLS1zZWNvbmRhcnkgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIH0KfQouYnV0dG9uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNjAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwp9Ci5idXR0b24tLXNlY29uZGFyeTpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5idXR0b24tLXNlY29uZGFyeS0tZmlsbGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTEpOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAxLjVweDsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUsCi5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS10ZXJ0aWFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnk6ZGlzYWJsZWQsCi5idXR0b24tLXRlcnRpYXJ5W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXdhcm5pbmc6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICB9Cn0KLmJ1dHRvbi0td2FybmluZzpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLWVycm9yLTQwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS13YXJuaW5nOmZvY3VzOm5vdCg6aG92ZXIpIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tZXJyb3ItNTAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICB9Cn0KLmJ1dHRvbi0tbmV1dHJhbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tbmV1dHJhbDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5idXR0b24tLW5ldXRyYWw6Zm9jdXMgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS0yMDApLAogICAgaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwKICAgIGluc2V0IDAgMCAwIDRweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS1uZXV0cmFsOmRpc2FibGVkIHsKICBvcGFjaXR5OiAuNjsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5LAouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiBhdXRvOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeVthcmlhLWRpc2FibGVkPXRydWVdIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1pY29uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLWljb24tLXNlY29uZGFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIH0KfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouYnV0dG9uLS13aXRoLWljb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmJ1dHRvbl9faWNvbiB7CiAgZGlzcGxheTogZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmJ1dHRvbiB7CiAgICB3aWR0aDogYXV0bzsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZyB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgIHVzZXItc2VsZWN0OiBub25lOwogIH0KICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZzphZnRlciB7CiAgICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBjb250ZW50OiAiIjsKICAgIGhlaWdodDogMTZweDsKICAgIGluc2V0OiAwOwogICAgbWFyZ2luOiBhdXRvOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDE2cHg7CiAgfQogIC5idXR0b24tLXNlY29uZGFyeS5idXR0b24tLXBlbmRpbmc6YWZ0ZXIgewogICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KICBAa2V5ZnJhbWVzIGJ1dHRvbi1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9DYWxsVG9BY3Rpb24vQ2FsbFRvQWN0aW9uLmNzcyAqLwouY2FsbC10by1hY3Rpb24gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmNhbGwtdG8tYWN0aW9uX193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgZGlzcGxheTogZmxleDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouY2FsbC10by1hY3Rpb25fX2JhY2tncm91bmQgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE3NTQnIGhlaWdodD0nMTc5NScgZmlsbD0nbm9uZSclM0UlM0NlbGxpcHNlIGN4PSc4NzYuOTIzJyBjeT0nOTM3LjQ1NycgZmlsbD0nJTIzMDA5QThFJyByeD0nMzQ5JyByeT0nODA1LjUnIHRyYW5zZm9ybT0ncm90YXRlKDYzLjkzMyA4NzYuOTIzIDkzNy40NTcpJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzMTlCM0E4JyBzdHJva2Utd2lkdGg9JzInIGQ9J001OTQuMzA0IDEwMjcuMzlDNTA4Ljg2IDgxNS44NjggNDY3LjcyOSA2MDkuNzg2IDQ3MC4yNjcgNDQ3LjYxNGMxLjI2OS04MS4wODggMTMuNDU2LTE1MS4xNDcgMzYuNDM5LTIwNS40MDcgMjIuOTgyLTU0LjI1NiA1Ni43MjUtOTIuNjQ3IDEwMS4wODYtMTEwLjU2NiA0NC4zNjEtMTcuOTE5IDk1LjMwMi0xMy43MzYgMTQ5LjUxOSA5LjMzNiA1NC4yMjIgMjMuMDc0IDExMS42NDkgNjUuMDEzIDE2OC44ODIgMTIyLjQ3IDExNC40NjcgMTE0LjkxIDIyOC4wMDcgMjkxLjc0MiAzMTMuNDQ3IDUwMy4yNjggODUuNDUgMjExLjUyNSAxMjYuNTggNDE3LjYwNSAxMjQuMDQgNTc5Ljc3NS0xLjI3IDgxLjA5LTEzLjQ1IDE1MS4xNS0zNi40NCAyMDUuNDEtMjIuOTggNTQuMjYtNTYuNzIgOTIuNjUtMTAxLjA4IDExMC41Ny00NC4zNyAxNy45Mi05NS4zMSAxMy43My0xNDkuNTItOS4zNC01NC4yMy0yMy4wNy0xMTEuNjUzLTY1LjAxLTE2OC44ODYtMTIyLjQ3LTExNC40NjMtMTE0LjkxLTIyOC4wMDYtMjkxLjc0LTMxMy40NS01MDMuMjdaJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMwNHB4IC01MjZweDsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNzk0LjExcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxNzUzLjg1cHg7Cn0KLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctNCkgNjRweCB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYWxsLXRvLWFjdGlvbiB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fd3JhcHBlciB7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX19iYWNrZ3JvdW5kIHsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDZweCAtNjcxcHg7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fY29udGVudCB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTIpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQ2hpcC9DaGlwLmNzcyAqLwouY2hpcC1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jaGlwLWdyb3VwLAouY2hpcF9faW5wdXQtd3JhcHBlciwKLmNoaXBfX2xhYmVsIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLmNoaXBfX2lucHV0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgaW5zZXQ6IDA7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmNoaXBfX2lucHV0OmlzKDpjaGVja2VkLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9Ci5jaGlwX19pbnB1dDpkaXNhYmxlZCArIC5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jaGlwX19pbnB1dDppcyg6Y2hlY2tlZCwgOmFjdGl2ZSkgKyAuY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlLCA6Y2hlY2tlZCk6aG92ZXIgKyAuY2hpcF9fbGFiZWwgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIH0KfQouY2hpcF9faW5wdXQ6Y2hlY2tlZDpmb2N1cy12aXNpYmxlICsgLmNoaXBfX2xhYmVsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkKTppcyg6Y2hlY2tlZCwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSArIC5jaGlwX19sYWJlbCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hpcF9fbGFiZWwgewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgY29sb3I7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvSW5wdXRGaWVsZC9JbnB1dEZpZWxkLmNzcyAqLwouaW5wdXQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQouaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci5pbnB1dC0tc3VjY2VzIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hbGVydC1zdWNjZXMtNTAwKTsKfQouaW5wdXRbYXJpYS1pbnZhbGlkPXRydWVdIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1lcnJvci01MDApOwp9Ci5pbnB1dDpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5pbnB1dDppcyg6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXQtLXdpdGgtcHJlZml4IHsKICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy00KSoyICsgMjRweCk7Cn0KLmlucHV0LS13aXRoLXN1ZmZpeCB7CiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nLTQpKjIgKyAyNHB4KTsKfQouaW5wdXRfX3ByZWZpeCwKLmlucHV0X19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogaW5oZXJpdDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAyNHB4Owp9Ci5pbnB1dF9fcHJlZml4IHsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5pbnB1dF9fc3VmZml4IHsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKfQppbnB1dFt0eXBlPWRhdGVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgaGVpZ2h0OiAyNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMjRweDsKICB6LWluZGV4OiAxOwp9CmlucHV0W3R5cGU9ZGF0ZV0gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQppbnB1dDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5pbnB1dF9fc3VmZml4ICsgaW5wdXRbdHlwZT1kYXRlXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICBjb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlucHV0X193cmFwcGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3RhdHVzQ2hpcC9TdGF0dXNDaGlwLmNzcyAqLwouc3RhdHVzLWNoaXAgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tc3RhdHVzLWNoaXAtY29sb3IpOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpIHZhcigtLXNwYWNpbmctMik7Cn0KLnN0YXR1cy1jaGlwLS1zdWNjZXNzIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tc3VjY2Vzcy01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0td2FybmluZyB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdhcm5pbmctNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWVycm9yIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWRpc2FibGVkIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC00MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Td2l0Y2gvU3dpdGNoLmNzcyAqLwouc3dpdGNoX19sYWJlbCB7CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci5zd2l0Y2hfX3RodW1iIHsKICAtLXN3aXRjaC13aWR0aDo1MXB4OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tcHJpbWFyeS01MDApIDUwJSwgdmFyKC0tbmV1dHJhbC0yMDApIDUwJSk7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTsKICBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7CiAgYm9yZGVyLXJhZGl1czogMjRweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgaGVpZ2h0OiAzMXB4OwogIG1hcmdpbjogMDsKICBtaW4td2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7Cn0KLnN3aXRjaF9fdGh1bWIsCmJ1dHRvbi5zd2l0Y2hfX3RodW1iIHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7Cn0KYnV0dG9uLnN3aXRjaF9fdGh1bWIgewogIGJvcmRlcjogbm9uZTsKfQouc3dpdGNoX190aHVtYjpjaGVja2VkLAouc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdIHsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwOwp9Ci5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICAtLXN3aXRjaC10aHVtYi13aWR0aDoyN3B4OwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgLjE1KSwgMCAzcHggMXB4IHJnYigwIDAgMC82JSk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyN3B4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDJweDsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsKICB3aWR0aDogdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKTsKfQpidXR0b24uc3dpdGNoX190aHVtYjphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMy41cHggLSB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpKSk7Cn0KLnN3aXRjaF9fdGh1bWI6Y2hlY2tlZDphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tc3dpdGNoLXdpZHRoKSAtIHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCkgLSAycHgpKTsKfQpidXR0b24uc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMuNXB4KTsKfQouc3dpdGNoX19sYWJlbC0tZGlzYWJsZWQgewogIGN1cnNvcjogZGVmYXVsdDsKfQouc3dpdGNoX190aHVtYjpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0xMDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLnN3aXRjaF9fdGh1bWI6ZGlzYWJsZWQ6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnN3aXRjaF9fdGh1bWIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtczsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtcG9zaXRpb247CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9CiAgLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1RleHRBcmVhL1RleHRBcmVhLmNzcyAqLwoudGV4dC1hcmVhIHsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRleHQtYXJlYVthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1lcnJvci01MDApOwp9Ci50ZXh0LWFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLnRleHQtYXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC50ZXh0LWFyZWE6aG92ZXIgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnRleHQtYXJlYTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Vbm9yZGVyZWRMaXN0L1Vub3JkZXJlZExpc3QuY3NzICovCi51bm9yZGVyZWQtbGlzdC0tY2hlY2sgPiBsaSB7CiAgLS1tb2JpbGUtY2hlY2s6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgLS1kZXNrdG9wLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKfQoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tb2JpbGUtY2hlY2spOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRlc2t0b3AtY2hlY2spOwogICAgaGVpZ2h0OiAzMnB4OwogICAgd2lkdGg6IDMycHg7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkQWN0aW9uL0NhcmRBY3Rpb24uY3NzICovCi5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEJvZHkvQ2FyZEJvZHkuY3NzICovCi5jYXJkX19ib2R5IHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEVtcHR5U3RhdGUvQ2FyZEVtcHR5U3RhdGUuY3NzICovCi5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC0xMDApOwogIC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yOnZhcigtLW5ldXRyYWwtODAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC03MDApOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlLS1lcnJvciB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItMjAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1lcnJvci01MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSB7CiAgcGFkZGluZzogMDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYm9yZGVyLXJhZGl1czogMDsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX2ljb24sCi5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX19pY29uIHsKICBjb2xvcjogdmFyKC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yKTsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMyk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWNhcmQtYm9yZGVyLXJhZGl1cyk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24sCiAgLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgIG1heC13aWR0aDogNTI1cHg7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogICAgbWF4LXdpZHRoOiB1bnNldDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRGb290ZXIvQ2FyZEZvb3Rlci5jc3MgKi8KLmNhcmRfX2Zvb3RlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2Zvb3RlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEhlYWRlci9DYXJkSGVhZGVyLmNzcyAqLwouY2FyZF9faGVhZGVyIHsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2hlYWRlci0tc3RpY2t5IHsKICAtLWNhcmQtaGVhZGVyLXN0aWNreS10b3A6MDsKICBwb3NpdGlvbjogc3RpY2t5OwogIHRvcDogdmFyKC0tY2FyZC1oZWFkZXItc3RpY2t5LXRvcCk7CiAgei1pbmRleDogMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyAudGFicyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRJdGVtL0NhcmRJdGVtLmNzcyAqLwouY2FyZF9fYm9keV9faXRlbSB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy02KTsKfQouY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogIG1hcmdpbi1ib3R0b206IDE2cHg7Cn0KLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19ib2R5X19pdGVtIC5saXN0LWl0ZW0ubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAxcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IC0xcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlciB7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06Zmlyc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIHsKICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSwgOmZpcnN0LW9mLXR5cGUpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1jaGlsZCB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9fYm9keSA+IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRTdWJ0aXRsZS9DYXJkU3VidGl0bGUuY3NzICovCi5jYXJkX19ib2R5X19zdWJ0aXRsZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCB2YXIoLS1uZXV0cmFsLTIwMCksIGluc2V0IDFweCAwIHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHlfX3N1YnRpdGxlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRUaXRsZS9DYXJkVGl0bGUuY3NzICovCi5jYXJkX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS10aXRsZS0zLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9faGVhZGVyX190aXRsZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogICAgZm9udDogdmFyKC0tdGl0bGUtMi1yZWd1bGFyKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmQuY3NzICovCi5jYXJkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwgaW5zZXQgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkLS1kaXNhYmxlZCAqIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkIHsKICAgIC0tY2FyZC1ib3JkZXItcmFkaXVzOnZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7CiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OwogIH0KICB1bC5jYXJkIC5saXN0LWl0ZW0gewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQogIHVsLmNhcmQgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICAgIGJveC1zaGFkb3c6CiAgICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICAgIGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksCiAgICAgIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgfQogIHVsLmNhcmQgOmlzKC5saXN0LWl0ZW06Zmlyc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpmaXJzdC1vZi10eXBlIGEpIHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICB1bC5jYXJkIDppcygubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpsYXN0LW9mLXR5cGUgYSkgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSW1hZ2VWYXJpYW50LmNzcyAqLwouY2FyZC0taW1hZ2UgewogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkLS1pbWFnZSwKLmNhcmQtLWltYWdlIC5jYXJkX19pbGx1c3RyYXRpb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tdGl0bGUtMi1tZWRpdW0pOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgMDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2JvZHkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICBtYXJnaW46IDAgYXV0byB2YXIoLS1zcGFjaW5nLTYpOwogIG1heC13aWR0aDogNDIwcHg7CiAgcGFkZGluZzogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZC0taW1hZ2UgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTEpOwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7CiAgICBtYXJnaW46IDA7CiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRMaXN0L0NhcmRMaXN0LmNzcyAqLwouY2FyZC1saXN0ID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmQtbGlzdCB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkLWxpc3QgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHsKICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hlY2tib3gvQ2hlY2tib3guY3NzICovCi5jaGVja2JveCB7CiAgLS1jaGVja2JveC13aWR0aDoyNHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgOmlzKC5jaGVja2JveF9faW5wdXQsIC5jaGVja2JveF9fbGFiZWwpOmhvdmVyIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICB9Cn0KLmNoZWNrYm94LS1uZXV0cmFsLAouY2hlY2tib3gtLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouY2hlY2tib3hfX3NwaW5uZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2NoZWNrLAouY2hlY2tib3hfX3NwaW5uZXIgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMzAwKTsKICBib3JkZXItcmFkaXVzOiA2cHg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1pbi13aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgdmlzaWJpbGl0eTogdW5zZXQ7Cn0KLmNoZWNrYm94LmNoZWNrYm94LS1lcnJvciAuY2hlY2tib3hfX2NoZWNrIHsKICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLmNoZWNrYm94X19pbnB1dCB7CiAgaGVpZ2h0OiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgbWFyZ2luOiAwOwogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgei1pbmRleDogMTA7Cn0KLmNoZWNrYm94X19pbnB1dCB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC03NTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoZWNrYm94X19pbnB1dDpob3ZlciB+IC5jaGVja2JveF9fY2hlY2sgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmNoZWNrYm94X19pbnB1dDpmb2N1cy13aXRoaW4gfiAuY2hlY2tib3hfX2NoZWNrIHsKICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmUtb2Zmc2V0OiAycHg7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICBzdHJva2UtZGFzaG9mZnNldDogMDsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6ZGlzYWJsZWQgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7Cn0KLmNoZWNrYm94X19sYWJlbCB7CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faGludCB7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouY2hlY2tib3hfX2Vycm9yIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faW5wdXQ6aW5kZXRlcm1pbmF0ZSB7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hlY2tib3hfX2NoZWNrIHsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLWluLW91dDsKICB9CiAgLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IC4zNXMgZWFzZS1vdXQ7CiAgfQogIC5jaGVja2JveF9fc3Bpbm5lciBjaXJjbGU6bGFzdC1vZi10eXBlIHsKICAgIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICB9CiAgQGtleWZyYW1lcyBjaGVja2JveC1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ29tYm9ib3gvQ29tYm9ib3guY3NzICovCi5jb21ib2JveCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CnVsW3JvbGU9bGlzdGJveF0uY29tYm9ib3hfX2xpc3QtLW9wZW4gewogIGRpc3BsYXk6IGJsb2NrOwp9CnVsW3JvbGU9bGlzdGJveF0gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBub25lOwogIGZpbHRlcjogZHJvcC1zaGFkb3coMCAzcHggOHB4IHJnYig0NiA1OSA4Ni8xMCUpKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1heC1oZWlnaHQ6IDE2NXB4OwogIG92ZXJmbG93OiBzY3JvbGw7CiAgb3ZlcmZsb3cteDogaGlkZGVuOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDEwMDA7Cn0KdWxbcm9sZT1saXN0Ym94XSBsaVtyb2xlPW9wdGlvbl0gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwp9CnVsW3JvbGU9bGlzdGJveF0gbGlbcm9sZT1vcHRpb25dOm5vdCg6bGFzdC1jaGlsZCkgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLXNlbGVjdGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1oaWdobGlnaHQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tbG9hZGluZyB7CiAgY29sb3I6IHRyYW5zcGFyZW50OwogIGhlaWdodDogNDhweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIHVzZXItc2VsZWN0OiBub25lOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1sb2FkaW5nOmFmdGVyIHsKICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNnB4OwogIGluc2V0OiAwOwogIG1hcmdpbjogYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE2cHg7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWVtcHR5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGN1cnNvcjogZGVmYXVsdDsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25MaXN0LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uQWN0aW9uL0Rlc2NyaXB0aW9uQWN0aW9uLmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2FjdGlvbiA+IGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9faXRlbSAuZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkNvbnRlbnQvRGVzY3JpcHRpb25Db250ZW50LmNzcyAqLwpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmRlc2NyaXB0aW9uLWxpc3RfX2NvbnRlbnQgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3RfX2NvbnRlbnQgPiAqIHsKICAgIGZsZXg6IDE7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uSXRlbS9EZXNjcmlwdGlvbkl0ZW0uY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19pdGVtIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2l0ZW0gPiAqIHsKICBmbGV4OiAxOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2N0aXB0aW9uU3VmZml4L0Rlc2NyaXB0aW9uU3VmZml4LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fc3VmZml4IHsKICBmbGV4OiAwOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGlhbG9nL0RpYWxvZy5jc3MgKi8KLmRpYWxvZ1tvcGVuXTo6YmFja2Ryb3AgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBvcGFjaXR5OiAuMjU7Cn0KYm9keTpoYXMoZGlhbG9nW29wZW5dKSB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQpkaWFsb2c6bm90KFtvcGVuXSkgewogIHZpc2liaWxpdHk6IGhpZGRlbjsKfQpkaWFsb2c6Zm9jdXMgewogIG91dGxpbmU6IG5vbmU7Cn0KLmRpYWxvZyB7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBib3gtc2hhZG93OgogICAgMCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwKICAgIDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksCiAgICAwIDhweCAxMHB4IHJnYigwIDAgMC80JSksCiAgICAwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00KTsKICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwogIG1heC13aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2luZy00KSoyKTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBmaXhlZDsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTAwOwp9Ci5kaWFsb2dfX2hlYWRlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBvc2l0aW9uOiBzdGlja3k7CiAgdG9wOiAwOwogIHotaW5kZXg6IDEwMDA7Cn0KLmRpYWxvZ19faGVhZGVyX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci5kaWFsb2dfX2hlYWRlcl9fdGl0bGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXRpdGxlLTItbWVkaXVtKTsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19faGVhZGVyX190aXRsZTpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQouZGlhbG9nX19ib2R5LAouZGlhbG9nX19mb290ZXIsCi5kaWFsb2dfX2hlYWRlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQouZGlhbG9nX19ib2R5IHsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5kaWFsb2dfX2JvZHksCi5kaWFsb2dfX2Zvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19fZm9vdGVyIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm90dG9tOiAwOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIHBvc2l0aW9uOiBzdGlja3k7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kaWFsb2dfX2JvZHksCiAgLmRpYWxvZ19fZm9vdGVyLAogIC5kaWFsb2dfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuZGlhbG9nX19ib2R5IHsKICAgIGdhcDogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmRpYWxvZyB7CiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICB9CiAgLmRpYWxvZ19fZm9vdGVyIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmRpYWxvZ1tvcGVuXS5kaWFsb2ctLWFuaW1hdGVkIHsKICAgIGFuaW1hdGlvbjogem9vbS1pbiAuMTVzOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZCB7CiAgICBhbmltYXRpb246IHpvb20tb3V0IC4xNXM7CiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IC4xNXM7CiAgfQogIC5kaWFsb2dbb3Blbl0uZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLWluIC4xNXM7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLW91dCAuMTVzOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20taW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICB9CiAgMC4wMDAwMDAwMDAxJSB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20tb3V0IHsKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIGZhZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CkBrZXlmcmFtZXMgZmFkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IC4yNTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbS5jc3MgKi8KLmxpc3QtaXRlbSwKLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwp9Ci5saXN0LWl0ZW0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9Ci5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayksCi5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IGluaGVyaXQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQteHRyYSk7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAxMDAlOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogICAgYm9yZGVyOiBub25lOwogIH0KfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tcHJpbWFyeS0yMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTpmb2N1cywKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1lcnJvci0yMDApOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSAubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSwKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci0yMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKSwKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyOmxhc3Qtb2YtdHlwZSB7CiAgICBib3gtc2hhZG93OiBub25lOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtQ29udGVudC9MaXN0SXRlbUNvbnRlbnQuY3NzICovCi5saXN0LWl0ZW1fX2NvbnRlbnQgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1NZXRhL0xpc3RJdGVtTWV0YS5jc3MgKi8KLmxpc3QtaXRlbV9fbWV0YSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1QcmVmaXgvTGlzdEl0ZW1QcmVmaXguY3NzICovCi5saXN0LWl0ZW1fX3ByZWZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBmbGV4Owp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4LAoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4IHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VidGl0bGUvTGlzdEl0ZW1TdWJ0aXRsZS5jc3MgKi8KLmxpc3QtaXRlbV9fc3VidGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTUwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX19zdWJ0aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VmZml4L0xpc3RJdGVtU3VmZml4LmNzcyAqLwoubGlzdC1pdGVtX19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtVGV4dC9MaXN0SXRlbVRleHQuY3NzICovCi5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiBpbmhlcml0OwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSAubGlzdC1pdGVtX190ZXh0LAoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1UaXRsZS9MaXN0SXRlbVRpdGxlLmNzcyAqLwoubGlzdC1pdGVtX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDUwMDsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX190aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvQ29udGVudC9Db250ZW50LmNzcyAqLwoubWVudV9fbGlzdCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1vZGFsKSwgaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMTAwKTsKICBtYXJnaW4tdG9wOiAxMHB4OwogIG1pbi13aWR0aDogMjIwcHg7CiAgb3BhY2l0eTogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRyYW5zZm9ybTogc2NhbGUoLjgpOwogIHZpc2liaWxpdHk6IGhpZGRlbjsKICB6LWluZGV4OiAxMDAwMDA7Cn0KLm1lbnVfX2xpc3QsCi5tZW51X19saXN0ID4gdWwgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLm1lbnVfX2xpc3QgPiB1bCB7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5tZW51X19saXN0LS1hY3RpdmUgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5tZW51X19saXN0LS1sZWZ0IHsKICBsZWZ0OiAwOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Owp9Ci5tZW51X19saXN0LS1yaWdodCB7CiAgcmlnaHQ6IDA7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLm1lbnVfX2xpc3QgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6CiAgICAgIHRyYW5zZm9ybSwKICAgICAgb3BhY2l0eSwKICAgICAgcm90YXRlLAogICAgICB2aXNpYmlsaXR5OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9NZW51SXRlbS9NZW51SXRlbS5jc3MgKi8KLm1lbnVfX2xpc3QtaXRlbSB7CiAgZGlzcGxheTogZmxleDsKfQoubWVudV9fbGlzdC1pdGVtID4gKiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAwOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBmb250OiBpbmhlcml0OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgbWFyZ2luOiAwIDFweDsKICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLm1lbnVfX2xpc3QtaXRlbSA+IDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5tZW51X19saXN0LWl0ZW0gPiA6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSwKLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZTpiZWZvcmUgewogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDAgMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSAuYnV0dG9uIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbi0td2l0aC1pY29uIHsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLm1lbnVfX2xpc3QtaXRlbS0tbG9nb3V0IC5idXR0b24gewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L1RyaWdnZXIvVHJpZ2dlci5jc3MgKi8KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPXRydWVdIC5idXR0b25fX2ljb24tcmlnaHQgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X190cmlnZ2VyIC5idXR0b25fX2ljb24tcmlnaHQgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudS5jc3MgKi8KLm1lbnUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NlY3Rpb25NZXNzYWdlL1NlY3Rpb25NZXNzYWdlLmNzcyAqLwouc2VjdGlvbi1tZXNzYWdlIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy00KTsKfQouc2VjdGlvbi1tZXNzYWdlLAouc2VjdGlvbi1tZXNzYWdlX19pY29uIHsKICBjb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1pbmZvIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXByaW1hcnkgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXByaW1hcnktNzAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktNTApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXN1Y2Nlc3MgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXN1Y2Nlc3MtNTAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MtMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS13YXJuaW5nIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS13YXJuaW5nLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZXJyb3IgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLWVycm9yLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1lcnJvci0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTYwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGhlaWdodDogMjRweDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB3aWR0aDogMjRweDsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uLS1pbmZvIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24sCi5zZWN0aW9uLW1lc3NhZ2VfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiwKLnNlY3Rpb24tbWVzc2FnZV9fdGl0bGUgKyAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSkgMDsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gOmlzKGEsIHAsIGJ1dHRvbikgewogIGNvbG9yOiBpbmhlcml0OwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwogIHBhZGRpbmc6IDA7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICB9Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6YWN0aXZlLAouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gLmFuY2hvcjpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpLCAwIDAgMCAxMHB4IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZGlzYWJsZWQgOmlzKGEsIHAsIGJ1dHRvbikgewogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zZWN0aW9uLW1lc3NhZ2UgewogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctNSk7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICAgIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiA6aXMoYSwgcCwgYnV0dG9uKSB7CiAgICBmb250OiB2YXIoLS1ib2R5LTEtbWVkaXVtKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9QaG9uZU51bWJlci9QaG9uZU51bWJlci5jc3MgKi8KLnBob25lLW51bWJlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLnBob25lLW51bWJlciAuaW5wdXRfX3dyYXBwZXIgewogIGZsZXgtZ3JvdzogMTsKfQoucGhvbmUtbnVtYmVyIC5waG9uZS1udW1iZXJfX2NvdW50cnktY29kZS1zZWxlY3QgewogIGhlaWdodDogMTAwJTsKICB3aWR0aDogOTZweDsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU2VsZWN0L1NlbGVjdC5jc3MgKi8KLnNlbGVjdC13cmFwcGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNlbGVjdC13cmFwcGVyOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTggMTAgNCA0IDQtNCcvJTNFJTNDL3N2ZyUzRSIpOwogIG1hc2staW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J204IDEwIDQgNCA0LTQnLyUzRSUzQy9zdmclM0UiKTsKICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjsKICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7CiAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0OwogIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7CiAgLXdlYmtpdC1tYXNrLXNpemU6IGNvdmVyOwogIG1hc2stc2l6ZTogY292ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB3aWR0aDogMjRweDsKfQouc2VsZWN0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7Cn0KLnNlbGVjdC0td2l0aC1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlbGVjdDpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnNlbGVjdDpmb2N1cyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouc2VsZWN0LXdyYXBwZXItLWZvY3VzOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TZWdtZW50ZWRDb250cm9sL1NlZ21lbnRlZENvbnRyb2wuY3NzICovCi5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLnNlZ21lbnRlZC1jb250cm9sX19wYW5lbCB7CiAgZGlzcGxheTogbm9uZTsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2xfX3BhbmVsIHsKICBkaXNwbGF5OiBibG9jazsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbCBbcm9sZT10YWJwYW5lbF1bZGF0YS1zdGF0ZT1pbmFjdGl2ZV0gewogIGRpc3BsYXk6IG5vbmU7Cn0KLnNlZ21lbnRlZC1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX19saXN0X193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZsZXg6IDE7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXTpmb2N1cy12aXNpYmxlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgfQp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RhYnMvVGFicy5jc3MgKi8KLnRhYnMgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKTsKICB3aWR0aDogMTAwJTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCAudGFic19fbGluayB7CiAgd2lkdGg6IDEwMCU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50YWJzLAogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy04KTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy04KSAwIHZhcigtLXNwYWNpbmctOCk7CiAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgdG9wOiB2YXIoLS1zaXRlLWhlYWRlci1oZWlnaHQpOwogICAgei1pbmRleDogMTU7CiAgfQogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIC50YWJzX19saW5rIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KICAudGFicyBhLAogIC50YWJzLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgICBib3JkZXItcmFkaXVzOiAwOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB9CiAgLnRhYnMgYS5hY3RpdmUsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICB9CiAgLnRhYnMgYTpiZWZvcmUgewogICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgY29udGVudDogYXR0cihkYXRhLXRleHQpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgfQogIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAgIC50YWJzIGE6Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgfQogICAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6aG92ZXI6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgICAgIGJvdHRvbTogMDsKICAgICAgY29udGVudDogIiI7CiAgICAgIGhlaWdodDogMnB4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogIH0KICAudGFicyBhOm5vdCguYWN0aXZlKTpmb2N1czphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC50YWJzIGEuYWN0aXZlOmFmdGVyLAogIC50YWJzIGE6bm90KC5hY3RpdmUpOmZvY3VzOmFmdGVyIHsKICAgIGJvdHRvbTogMDsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnRhYnMgYS5hY3RpdmU6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvYXN0L1RvYXN0LmNzcyAqLwoudG9hc3QgewogIC0tc2xpZGUtaW4tZW5kOjA7CiAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTgpKTsKICBhbmltYXRpb246IHNsaWRlLWluIDBtcywgc2xpZGUtb3V0IDBtcyA1cyBmb3J3YXJkczsKICBib3R0b206IHZhcigtLXNwYWNpbmctNCk7CiAgaGVpZ2h0OiBhdXRvOwogIGxlZnQ6IHZhcigtLXNwYWNpbmctNCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogZml4ZWQ7CiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7Cn0KLnRvYXN0LS1lcnJvciB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYigyMzAgNDUgNTAvNSUpLCByZ2IoMjMwIDQ1IDUwLzUlKSksIHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMnB4IDAgdmFyKC0tZXJyb3ItNDAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLnRvYXN0LS1pbmZvIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudG9hc3RfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9hc3RfX3RpdGxlX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50b2FzdC0taW5mbyAudG9hc3RfX3RpdGxlX19pY29uIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudG9hc3QgewogICAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTEyKSk7CiAgICBib3R0b206IHZhcigtLXNwYWNpbmctMTApOwogICAgbGVmdDogYXV0bzsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgICByaWdodDogdmFyKC0tc3BhY2luZy0xMCk7CiAgICB3aWR0aDogNDIwcHg7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnRvYXN0IHsKICAgIGFuaW1hdGlvbjogc2xpZGUtaW4gLjNzIGVhc2Utb3V0LCBzbGlkZS1vdXQgLjNzIGVhc2UtaW4gNXMgZm9yd2FyZHM7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtb3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLWVuZCkpOwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAuODsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1zdGFydCkpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvZ2dsZS9Ub2dnbGUuY3NzICovCi50b2dnbGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7Cn0KLnRvZ2dsZV9faXRlbSB7CiAgd2lkdGg6IDEwMCU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TdGVwcy9TdGVwcy5jc3MgKi8KLnN0ZXBzIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC13cmFwOiB3cmFwOwp9Ci5zdGVwc19fbGluayBhLAouc3RlcHNfX2xpbmsgc3BhbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLnN0ZXBzX19saW5rIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLnN0ZXBzX19saW5rIC5zdGVwc19fbGlua19fY2hhcmFjdGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctNik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIpOwogIHdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwp9Ci5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy00KTsKfQouc3RlcHNfX2xpbms6Zmlyc3Qtb2YtdHlwZSAuc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnN0ZXBzX19saW5rLmFjdGl2ZSAuc3RlcHNfX2xpbmtfX2NoYXJhY3RlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zdGVwc19fbGluay5hY3RpdmUgLnN0ZXBzX19saW5rX19kaXZpZGVyLAouc3RlcHNfX2xpbmsuYWN0aXZlIGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9UaW1lbGluZS9UaW1lbGluZS5jc3MgKi8KLnRpbWVsaW5lLWNvbnRhaW5lci5tb2JpbGUtb25seSB7CiAgZGlzcGxheTogbm9uZTsKfQoudGltZWxpbmUtY29udGFpbmVyIHsKICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRpbWVsaW5lIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgbWFyZ2luOiAwIGF1dG87Cn0KLnRpbWVsaW5lLmhvcml6b250YWwgewogIGhlaWdodDogMXB4OwogIHdpZHRoOiAxMDAlOwp9Ci50aW1lbGluZS52ZXJ0aWNhbCB7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiAxcHg7Cn0KLnRpbWVsaW5lX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGhlaWdodDogMzJweDsKICB0cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7CiAgd2lkdGg6IDMycHg7CiAgei1pbmRleDogMTA7Cn0KLnRpbWVsaW5lX19sYWJlbC5ob3Jpem9udGFsIHsKICBtYXJnaW4tbGVmdDogLTE3MHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoudGltZWxpbmVfX2xhYmVsLnZlcnRpY2FsIHsKICBtYXJnaW46IHZhcigtLXNwYWNpbmctNikgYXV0byAwOwp9Ci50aW1lbGluZV9fbGFiZWwtLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudGltZWxpbmVfX2xhYmVsLWNvbnRlbnQgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgdHJhbnNmb3JtOiByb3RhdGUoLTIwZGVnKTsKICB3aWR0aDogMTAwJTsKfQoudGltZWxpbmUtY29udGFpbmVyLmhvcml6b250YWw6bm90KC5tb2JpbGUtb25seSkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDUwcHg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDEwMCU7Cn0KLnRpbWVsaW5lLWNvbnRhaW5lci52ZXJ0aWNhbDpub3QoLm1vYmlsZS1vbmx5KSB7CiAgZGlzcGxheTogZ3JpZDsKfQoudGltZWxpbmUsCi50aW1lbGluZV9fbGFiZWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBncmlkLWFyZWE6IDEvMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnRpbWVsaW5lLWNvbnRhaW5lci5ob3Jpem9udGFsIHsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgaGVpZ2h0OiA1MHB4OwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwYWRkaW5nOiAwOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC50aW1lbGluZS1jb250YWluZXIudmVydGljYWwgewogICAgZGlzcGxheTogZ3JpZDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvRm9ybUdyb3VwLmNzcyAqLwouZm9ybS1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0hpbnQvSGludC5jc3MgKi8KLmZvcm0tZ3JvdXBfX2Vycm9yLAouZm9ybS1ncm91cF9faGludCB7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQouZm9ybS1ncm91cF9faGludCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQouZm9ybS1ncm91cF9fZXJyb3IgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0xhYmVsL0xhYmVsLmNzcyAqLwouZm9ybS1pdGVtX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7CiAgbWF4LXdpZHRoOiAxMDAlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9SYWRpby9SYWRpby5jc3MgKi8KLnJhZGlvLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2lucHV0LXdyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMyk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19fbGFiZWwgewogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLnJhZGlvX19pbnB1dCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgZGlzcGxheTogZ3JpZDsKICBmb250OiBpbmhlcml0OwogIGhlaWdodDogdmFyKC0tc3BhY2luZy02KTsKICBtYXJnaW46IDA7CiAgbWluLXdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwogIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19pbnB1dDppcyg6Y2hlY2tlZCwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlKSB7CiAgb3V0bGluZTogbm9uZTsKfQoucmFkaW9fX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSB7CiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAucmFkaW9fX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLnJhZGlvX19pbnB1dDpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogNTAlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7CiAgd2lkdGg6IDA7Cn0KLnJhZGlvX19pbnB1dDpjaGVja2VkOmJlZm9yZSB7CiAgaGVpZ2h0OiAxMnB4OwogIHdpZHRoOiAxMnB4Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnJhZGlvX19pbnB1dDpiZWZvcmUgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvUGFzc3dvcmQvUGFzc3dvcmQuY3NzICovCi5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IHsKICBwb2ludGVyLWV2ZW50czogYXV0bzsKICByaWdodDogdmFyKC0tc3BhY2luZy02KTsKfQoucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uIHsKICBwYWRkaW5nOiAwOwp9Ci5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IC5idXR0b246Zm9jdXMtdmlzaWJsZSB7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogIGRpc3BsYXk6IGZsZXg7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KICAuaW5wdXQ6aG92ZXI6bm90KDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogICAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDpyZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggewogICAgcmlnaHQ6IHZhcigtLXNwYWNpbmctNCk7CiAgfQp9Cg==";
602
602
  var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
603
603
  /**
604
604
  * @license React
@@ -633,11 +633,11 @@ var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
633
633
  W[0] = N;
634
634
  e:
635
635
  for (var x = 0, U = W.length, gi = U >>> 1; x < gi; ) {
636
- var vt = 2 * (x + 1) - 1, Or = W[vt], bt = vt + 1, pi = W[bt];
636
+ var bt = 2 * (x + 1) - 1, Or = W[bt], vt = bt + 1, pi = W[vt];
637
637
  if (0 > r(Or, N))
638
- bt < U && 0 > r(pi, Or) ? (W[x] = pi, W[bt] = N, x = bt) : (W[x] = Or, W[vt] = N, x = vt);
639
- else if (bt < U && 0 > r(pi, N))
640
- W[x] = pi, W[bt] = N, x = bt;
638
+ vt < U && 0 > r(pi, Or) ? (W[x] = pi, W[vt] = N, x = vt) : (W[x] = Or, W[bt] = N, x = bt);
639
+ else if (vt < U && 0 > r(pi, N))
640
+ W[x] = pi, W[vt] = N, x = vt;
641
641
  else
642
642
  break e;
643
643
  }
@@ -685,7 +685,7 @@ var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
685
685
  h = !1, y && (y = !1, g(X), X = -1), I = !0;
686
686
  var N = c;
687
687
  try {
688
- for (f(Y), m = n(u); m !== null && (!(m.expirationTime > Y) || W && !be()); ) {
688
+ for (f(Y), m = n(u); m !== null && (!(m.expirationTime > Y) || W && !ve()); ) {
689
689
  var x = m.callback;
690
690
  if (typeof x == "function") {
691
691
  m.callback = null, c = m.priorityLevel;
@@ -698,16 +698,16 @@ var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
698
698
  if (m !== null)
699
699
  var gi = !0;
700
700
  else {
701
- var vt = n(a);
702
- vt !== null && $(C, vt.startTime - Y), gi = !1;
701
+ var bt = n(a);
702
+ bt !== null && $(C, bt.startTime - Y), gi = !1;
703
703
  }
704
704
  return gi;
705
705
  } finally {
706
706
  m = null, c = N, I = !1;
707
707
  }
708
708
  }
709
- var b = !1, w = null, X = -1, H = 5, A = -1;
710
- function be() {
709
+ var v = !1, w = null, X = -1, H = 5, A = -1;
710
+ function ve() {
711
711
  return !(e.unstable_now() - A < H);
712
712
  }
713
713
  function Zt() {
@@ -718,10 +718,10 @@ var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
718
718
  try {
719
719
  Y = w(!0, W);
720
720
  } finally {
721
- Y ? Ae() : (b = !1, w = null);
721
+ Y ? Ae() : (v = !1, w = null);
722
722
  }
723
723
  } else
724
- b = !1;
724
+ v = !1;
725
725
  }
726
726
  var Ae;
727
727
  if (typeof d == "function")
@@ -738,7 +738,7 @@ var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
738
738
  G(Zt, 0);
739
739
  };
740
740
  function Ht(W) {
741
- w = W, b || (b = !0, Ae());
741
+ w = W, v || (v = !0, Ae());
742
742
  }
743
743
  function $(W, Y) {
744
744
  X = G(function() {
@@ -811,7 +811,7 @@ var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
811
811
  U = 5e3;
812
812
  }
813
813
  return U = N + U, W = { id: p++, callback: Y, priorityLevel: W, startTime: N, expirationTime: U, sortIndex: -1 }, N > x ? (W.sortIndex = N, t(a, W), n(u) === null && W === n(a) && (y ? (g(X), X = -1) : y = !0, $(C, N - x))) : (W.sortIndex = U, t(u, W), h || I || (h = !0, Ht(Z))), W;
814
- }, e.unstable_shouldYield = be, e.unstable_wrapCallback = function(W) {
814
+ }, e.unstable_shouldYield = ve, e.unstable_wrapCallback = function(W) {
815
815
  var Y = c;
816
816
  return function() {
817
817
  var N = c;
@@ -825,7 +825,7 @@ var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
825
825
  };
826
826
  })(_u);
827
827
  Pu.exports = _u;
828
- var rg = Pu.exports;
828
+ var lg = Pu.exports;
829
829
  /**
830
830
  * @license React
831
831
  * react-dom.production.min.js
@@ -835,8 +835,8 @@ var rg = Pu.exports;
835
835
  * This source code is licensed under the MIT license found in the
836
836
  * LICENSE file in the root directory of this source tree.
837
837
  */
838
- var $u = J, ye = rg;
839
- function v(e) {
838
+ var $u = J, ye = lg;
839
+ function b(e) {
840
840
  for (var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; n < arguments.length; n++)
841
841
  t += "&args[]=" + encodeURIComponent(arguments[n]);
842
842
  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.";
@@ -849,11 +849,11 @@ function sn(e, t) {
849
849
  for (zn[e] = t, e = 0; e < t.length; e++)
850
850
  qu.add(t[e]);
851
851
  }
852
- var Ee = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), fl = Object.prototype.hasOwnProperty, lg = /^[: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]*$/, ms = {}, hs = {};
853
- function og(e) {
854
- return fl.call(hs, e) ? !0 : fl.call(ms, e) ? !1 : lg.test(e) ? hs[e] = !0 : (ms[e] = !0, !1);
852
+ var Ee = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), fl = Object.prototype.hasOwnProperty, og = /^[: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]*$/, ms = {}, hs = {};
853
+ function sg(e) {
854
+ return fl.call(hs, e) ? !0 : fl.call(ms, e) ? !1 : og.test(e) ? hs[e] = !0 : (ms[e] = !0, !1);
855
855
  }
856
- function sg(e, t, n, i) {
856
+ function ug(e, t, n, i) {
857
857
  if (n !== null && n.type === 0)
858
858
  return !1;
859
859
  switch (typeof t) {
@@ -866,8 +866,8 @@ function sg(e, t, n, i) {
866
866
  return !1;
867
867
  }
868
868
  }
869
- function ug(e, t, n, i) {
870
- if (t === null || typeof t > "u" || sg(e, t, n, i))
869
+ function ag(e, t, n, i) {
870
+ if (t === null || typeof t > "u" || ug(e, t, n, i))
871
871
  return !0;
872
872
  if (i)
873
873
  return !1;
@@ -944,7 +944,7 @@ te.xlinkHref = new ce("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/
944
944
  });
945
945
  function Co(e, t, n, i) {
946
946
  var r = te.hasOwnProperty(t) ? te[t] : null;
947
- (r !== null ? r.type !== 0 : i || !(2 < t.length) || t[0] !== "o" && t[0] !== "O" || t[1] !== "n" && t[1] !== "N") && (ug(t, n, r, i) && (n = null), i || r === null ? og(t) && (n === null ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) : r.mustUseProperty ? e[r.propertyName] = n === null ? r.type === 3 ? !1 : "" : n : (t = r.attributeName, i = r.attributeNamespace, n === null ? e.removeAttribute(t) : (r = r.type, n = r === 3 || r === 4 && n === !0 ? "" : "" + n, i ? e.setAttributeNS(i, t, n) : e.setAttribute(t, n))));
947
+ (r !== null ? r.type !== 0 : i || !(2 < t.length) || t[0] !== "o" && t[0] !== "O" || t[1] !== "n" && t[1] !== "N") && (ag(t, n, r, i) && (n = null), i || r === null ? sg(t) && (n === null ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) : r.mustUseProperty ? e[r.propertyName] = n === null ? r.type === 3 ? !1 : "" : n : (t = r.attributeName, i = r.attributeNamespace, n === null ? e.removeAttribute(t) : (r = r.type, n = r === 3 || r === 4 && n === !0 ? "" : "" + n, i ? e.setAttributeNS(i, t, n) : e.setAttribute(t, n))));
948
948
  }
949
949
  var $e = $u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, mi = Symbol.for("react.element"), zt = Symbol.for("react.portal"), xt = Symbol.for("react.fragment"), Io = Symbol.for("react.strict_mode"), ml = Symbol.for("react.profiler"), ea = Symbol.for("react.provider"), ta = Symbol.for("react.context"), yo = Symbol.for("react.forward_ref"), hl = Symbol.for("react.suspense"), Cl = Symbol.for("react.suspense_list"), Zo = Symbol.for("react.memo"), tt = Symbol.for("react.lazy"), na = Symbol.for("react.offscreen"), Cs = Symbol.iterator;
950
950
  function Cn(e) {
@@ -1022,7 +1022,7 @@ function zr(e, t) {
1022
1022
  }
1023
1023
  return (e = e ? e.displayName || e.name : "") ? Yn(e) : "";
1024
1024
  }
1025
- function ag(e) {
1025
+ function cg(e) {
1026
1026
  switch (e.tag) {
1027
1027
  case 5:
1028
1028
  return Yn(e.type);
@@ -1085,7 +1085,7 @@ function Il(e) {
1085
1085
  }
1086
1086
  return null;
1087
1087
  }
1088
- function cg(e) {
1088
+ function dg(e) {
1089
1089
  var t = e.type;
1090
1090
  switch (e.tag) {
1091
1091
  case 24:
@@ -1154,7 +1154,7 @@ function ia(e) {
1154
1154
  var t = e.type;
1155
1155
  return (e = e.nodeName) && e.toLowerCase() === "input" && (t === "checkbox" || t === "radio");
1156
1156
  }
1157
- function dg(e) {
1157
+ function gg(e) {
1158
1158
  var t = ia(e) ? "checked" : "value", n = Object.getOwnPropertyDescriptor(e.constructor.prototype, t), i = "" + e[t];
1159
1159
  if (!e.hasOwnProperty(t) && typeof n < "u" && typeof n.get == "function" && typeof n.set == "function") {
1160
1160
  var r = n.get, l = n.set;
@@ -1172,7 +1172,7 @@ function dg(e) {
1172
1172
  }
1173
1173
  }
1174
1174
  function hi(e) {
1175
- e._valueTracker || (e._valueTracker = dg(e));
1175
+ e._valueTracker || (e._valueTracker = gg(e));
1176
1176
  }
1177
1177
  function ra(e) {
1178
1178
  if (!e)
@@ -1212,7 +1212,7 @@ function Zl(e, t) {
1212
1212
  e.removeAttribute("value");
1213
1213
  return;
1214
1214
  }
1215
- t.hasOwnProperty("value") ? vl(e, t.type, n) : t.hasOwnProperty("defaultValue") && vl(e, t.type, mt(t.defaultValue)), t.checked == null && t.defaultChecked != null && (e.defaultChecked = !!t.defaultChecked);
1215
+ t.hasOwnProperty("value") ? bl(e, t.type, n) : t.hasOwnProperty("defaultValue") && bl(e, t.type, mt(t.defaultValue)), t.checked == null && t.defaultChecked != null && (e.defaultChecked = !!t.defaultChecked);
1216
1216
  }
1217
1217
  function ys(e, t, n) {
1218
1218
  if (t.hasOwnProperty("value") || t.hasOwnProperty("defaultValue")) {
@@ -1223,7 +1223,7 @@ function ys(e, t, n) {
1223
1223
  }
1224
1224
  n = e.name, n !== "" && (e.name = ""), e.defaultChecked = !!e._wrapperState.initialChecked, n !== "" && (e.name = n);
1225
1225
  }
1226
- function vl(e, t, n) {
1226
+ function bl(e, t, n) {
1227
1227
  (t !== "number" || Ji(e.ownerDocument) !== e) && (n == null ? e.defaultValue = "" + e._wrapperState.initialValue : e.defaultValue !== "" + n && (e.defaultValue = "" + n));
1228
1228
  }
1229
1229
  var An = Array.isArray;
@@ -1245,9 +1245,9 @@ function en(e, t, n, i) {
1245
1245
  t !== null && (t.selected = !0);
1246
1246
  }
1247
1247
  }
1248
- function bl(e, t) {
1248
+ function vl(e, t) {
1249
1249
  if (t.dangerouslySetInnerHTML != null)
1250
- throw Error(v(91));
1250
+ throw Error(b(91));
1251
1251
  return M({}, t, { value: void 0, defaultValue: void 0, children: "" + e._wrapperState.initialValue });
1252
1252
  }
1253
1253
  function Zs(e, t) {
@@ -1255,10 +1255,10 @@ function Zs(e, t) {
1255
1255
  if (n == null) {
1256
1256
  if (n = t.children, t = t.defaultValue, n != null) {
1257
1257
  if (t != null)
1258
- throw Error(v(92));
1258
+ throw Error(b(92));
1259
1259
  if (An(n)) {
1260
1260
  if (1 < n.length)
1261
- throw Error(v(93));
1261
+ throw Error(b(93));
1262
1262
  n = n[0];
1263
1263
  }
1264
1264
  t = n;
@@ -1271,7 +1271,7 @@ function oa(e, t) {
1271
1271
  var n = mt(t.value), i = mt(t.defaultValue);
1272
1272
  n != null && (n = "" + n, n !== e.value && (e.value = n), t.defaultValue == null && e.defaultValue !== n && (e.defaultValue = n)), i != null && (e.defaultValue = "" + i);
1273
1273
  }
1274
- function vs(e) {
1274
+ function bs(e) {
1275
1275
  var t = e.textContent;
1276
1276
  t === e._wrapperState.initialValue && t !== "" && t !== null && (e.value = t);
1277
1277
  }
@@ -1358,9 +1358,9 @@ var Rn = {
1358
1358
  strokeMiterlimit: !0,
1359
1359
  strokeOpacity: !0,
1360
1360
  strokeWidth: !0
1361
- }, gg = ["Webkit", "ms", "Moz", "O"];
1361
+ }, pg = ["Webkit", "ms", "Moz", "O"];
1362
1362
  Object.keys(Rn).forEach(function(e) {
1363
- gg.forEach(function(t) {
1363
+ pg.forEach(function(t) {
1364
1364
  t = t + e.charAt(0).toUpperCase() + e.substring(1), Rn[t] = Rn[e];
1365
1365
  });
1366
1366
  });
@@ -1375,19 +1375,19 @@ function ca(e, t) {
1375
1375
  n === "float" && (n = "cssFloat"), i ? e.setProperty(n, r) : e[n] = r;
1376
1376
  }
1377
1377
  }
1378
- var pg = M({ 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 });
1378
+ var fg = M({ 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 });
1379
1379
  function Wl(e, t) {
1380
1380
  if (t) {
1381
- if (pg[e] && (t.children != null || t.dangerouslySetInnerHTML != null))
1382
- throw Error(v(137, e));
1381
+ if (fg[e] && (t.children != null || t.dangerouslySetInnerHTML != null))
1382
+ throw Error(b(137, e));
1383
1383
  if (t.dangerouslySetInnerHTML != null) {
1384
1384
  if (t.children != null)
1385
- throw Error(v(60));
1385
+ throw Error(b(60));
1386
1386
  if (typeof t.dangerouslySetInnerHTML != "object" || !("__html" in t.dangerouslySetInnerHTML))
1387
- throw Error(v(61));
1387
+ throw Error(b(61));
1388
1388
  }
1389
1389
  if (t.style != null && typeof t.style != "object")
1390
- throw Error(v(62));
1390
+ throw Error(b(62));
1391
1391
  }
1392
1392
  }
1393
1393
  function Ll(e, t) {
@@ -1408,14 +1408,14 @@ function Ll(e, t) {
1408
1408
  }
1409
1409
  }
1410
1410
  var Gl = null;
1411
- function vo(e) {
1411
+ function bo(e) {
1412
1412
  return e = e.target || e.srcElement || window, e.correspondingUseElement && (e = e.correspondingUseElement), e.nodeType === 3 ? e.parentNode : e;
1413
1413
  }
1414
1414
  var Xl = null, tn = null, nn = null;
1415
- function bs(e) {
1415
+ function vs(e) {
1416
1416
  if (e = ci(e)) {
1417
1417
  if (typeof Xl != "function")
1418
- throw Error(v(280));
1418
+ throw Error(b(280));
1419
1419
  var t = e.stateNode;
1420
1420
  t && (t = Lr(t), Xl(e.stateNode, e.type, t));
1421
1421
  }
@@ -1426,9 +1426,9 @@ function da(e) {
1426
1426
  function ga() {
1427
1427
  if (tn) {
1428
1428
  var e = tn, t = nn;
1429
- if (nn = tn = null, bs(e), t)
1429
+ if (nn = tn = null, vs(e), t)
1430
1430
  for (e = 0; e < t.length; e++)
1431
- bs(t[e]);
1431
+ vs(t[e]);
1432
1432
  }
1433
1433
  }
1434
1434
  function pa(e, t) {
@@ -1476,7 +1476,7 @@ function Tn(e, t) {
1476
1476
  if (e)
1477
1477
  return null;
1478
1478
  if (n && typeof n != "function")
1479
- throw Error(v(231, t, typeof n));
1479
+ throw Error(b(231, t, typeof n));
1480
1480
  return n;
1481
1481
  }
1482
1482
  var Yl = !1;
@@ -1489,7 +1489,7 @@ if (Ee)
1489
1489
  } catch {
1490
1490
  Yl = !1;
1491
1491
  }
1492
- function fg(e, t, n, i, r, l, o, s, u) {
1492
+ function mg(e, t, n, i, r, l, o, s, u) {
1493
1493
  var a = Array.prototype.slice.call(arguments, 3);
1494
1494
  try {
1495
1495
  t.apply(n, a);
@@ -1497,19 +1497,19 @@ function fg(e, t, n, i, r, l, o, s, u) {
1497
1497
  this.onError(p);
1498
1498
  }
1499
1499
  }
1500
- var kn = !1, Di = null, Qi = !1, Al = null, mg = { onError: function(e) {
1500
+ var kn = !1, Di = null, Qi = !1, Al = null, hg = { onError: function(e) {
1501
1501
  kn = !0, Di = e;
1502
1502
  } };
1503
- function hg(e, t, n, i, r, l, o, s, u) {
1504
- kn = !1, Di = null, fg.apply(mg, arguments);
1505
- }
1506
1503
  function Cg(e, t, n, i, r, l, o, s, u) {
1507
- if (hg.apply(this, arguments), kn) {
1504
+ kn = !1, Di = null, mg.apply(hg, arguments);
1505
+ }
1506
+ function Ig(e, t, n, i, r, l, o, s, u) {
1507
+ if (Cg.apply(this, arguments), kn) {
1508
1508
  if (kn) {
1509
1509
  var a = Di;
1510
1510
  kn = !1, Di = null;
1511
1511
  } else
1512
- throw Error(v(198));
1512
+ throw Error(b(198));
1513
1513
  Qi || (Qi = !0, Al = a);
1514
1514
  }
1515
1515
  }
@@ -1536,13 +1536,13 @@ function ha(e) {
1536
1536
  }
1537
1537
  function ws(e) {
1538
1538
  if (Kt(e) !== e)
1539
- throw Error(v(188));
1539
+ throw Error(b(188));
1540
1540
  }
1541
- function Ig(e) {
1541
+ function yg(e) {
1542
1542
  var t = e.alternate;
1543
1543
  if (!t) {
1544
1544
  if (t = Kt(e), t === null)
1545
- throw Error(v(188));
1545
+ throw Error(b(188));
1546
1546
  return t !== e ? null : e;
1547
1547
  }
1548
1548
  for (var n = e, i = t; ; ) {
@@ -1565,7 +1565,7 @@ function Ig(e) {
1565
1565
  return ws(r), t;
1566
1566
  l = l.sibling;
1567
1567
  }
1568
- throw Error(v(188));
1568
+ throw Error(b(188));
1569
1569
  }
1570
1570
  if (n.return !== i.return)
1571
1571
  n = r, i = l;
@@ -1594,18 +1594,18 @@ function Ig(e) {
1594
1594
  s = s.sibling;
1595
1595
  }
1596
1596
  if (!o)
1597
- throw Error(v(189));
1597
+ throw Error(b(189));
1598
1598
  }
1599
1599
  }
1600
1600
  if (n.alternate !== i)
1601
- throw Error(v(190));
1601
+ throw Error(b(190));
1602
1602
  }
1603
1603
  if (n.tag !== 3)
1604
- throw Error(v(188));
1604
+ throw Error(b(188));
1605
1605
  return n.stateNode.current === n ? e : t;
1606
1606
  }
1607
1607
  function Ca(e) {
1608
- return e = Ig(e), e !== null ? Ia(e) : null;
1608
+ return e = yg(e), e !== null ? Ia(e) : null;
1609
1609
  }
1610
1610
  function Ia(e) {
1611
1611
  if (e.tag === 5 || e.tag === 6)
@@ -1618,17 +1618,17 @@ function Ia(e) {
1618
1618
  }
1619
1619
  return null;
1620
1620
  }
1621
- var ya = ye.unstable_scheduleCallback, Ws = ye.unstable_cancelCallback, yg = ye.unstable_shouldYield, Zg = ye.unstable_requestPaint, T = ye.unstable_now, vg = ye.unstable_getCurrentPriorityLevel, bo = ye.unstable_ImmediatePriority, Za = ye.unstable_UserBlockingPriority, Ei = ye.unstable_NormalPriority, bg = ye.unstable_LowPriority, va = ye.unstable_IdlePriority, vr = null, Me = null;
1622
- function wg(e) {
1621
+ var ya = ye.unstable_scheduleCallback, Ws = ye.unstable_cancelCallback, Zg = ye.unstable_shouldYield, bg = ye.unstable_requestPaint, T = ye.unstable_now, vg = ye.unstable_getCurrentPriorityLevel, vo = ye.unstable_ImmediatePriority, Za = ye.unstable_UserBlockingPriority, Ei = ye.unstable_NormalPriority, wg = ye.unstable_LowPriority, ba = ye.unstable_IdlePriority, br = null, Me = null;
1622
+ function Wg(e) {
1623
1623
  if (Me && typeof Me.onCommitFiberRoot == "function")
1624
1624
  try {
1625
- Me.onCommitFiberRoot(vr, e, void 0, (e.current.flags & 128) === 128);
1625
+ Me.onCommitFiberRoot(br, e, void 0, (e.current.flags & 128) === 128);
1626
1626
  } catch {
1627
1627
  }
1628
1628
  }
1629
- var Be = Math.clz32 ? Math.clz32 : Gg, Wg = Math.log, Lg = Math.LN2;
1630
- function Gg(e) {
1631
- return e >>>= 0, e === 0 ? 32 : 31 - (Wg(e) / Lg | 0) | 0;
1629
+ var Be = Math.clz32 ? Math.clz32 : Xg, Lg = Math.log, Gg = Math.LN2;
1630
+ function Xg(e) {
1631
+ return e >>>= 0, e === 0 ? 32 : 31 - (Lg(e) / Gg | 0) | 0;
1632
1632
  }
1633
1633
  var Ii = 64, yi = 4194304;
1634
1634
  function Nn(e) {
@@ -1699,7 +1699,7 @@ function Ui(e, t) {
1699
1699
  n = 31 - Be(t), r = 1 << n, i |= e[n], t &= ~r;
1700
1700
  return i;
1701
1701
  }
1702
- function Xg(e, t) {
1702
+ function Yg(e, t) {
1703
1703
  switch (e) {
1704
1704
  case 1:
1705
1705
  case 2:
@@ -1740,16 +1740,16 @@ function Xg(e, t) {
1740
1740
  return -1;
1741
1741
  }
1742
1742
  }
1743
- function Yg(e, t) {
1743
+ function Ag(e, t) {
1744
1744
  for (var n = e.suspendedLanes, i = e.pingedLanes, r = e.expirationTimes, l = e.pendingLanes; 0 < l; ) {
1745
1745
  var o = 31 - Be(l), s = 1 << o, u = r[o];
1746
- u === -1 ? (!(s & n) || s & i) && (r[o] = Xg(s, t)) : u <= t && (e.expiredLanes |= s), l &= ~s;
1746
+ u === -1 ? (!(s & n) || s & i) && (r[o] = Yg(s, t)) : u <= t && (e.expiredLanes |= s), l &= ~s;
1747
1747
  }
1748
1748
  }
1749
1749
  function Nl(e) {
1750
1750
  return e = e.pendingLanes & -1073741825, e !== 0 ? e : e & 1073741824 ? 1073741824 : 0;
1751
1751
  }
1752
- function ba() {
1752
+ function va() {
1753
1753
  var e = Ii;
1754
1754
  return Ii <<= 1, !(Ii & 4194240) && (Ii = 64), e;
1755
1755
  }
@@ -1761,7 +1761,7 @@ function Tr(e) {
1761
1761
  function ui(e, t, n) {
1762
1762
  e.pendingLanes |= t, t !== 536870912 && (e.suspendedLanes = 0, e.pingedLanes = 0), e = e.eventTimes, t = 31 - Be(t), e[t] = n;
1763
1763
  }
1764
- function Ag(e, t) {
1764
+ function Ng(e, t) {
1765
1765
  var n = e.pendingLanes & ~t;
1766
1766
  e.pendingLanes = t, e.suspendedLanes = 0, e.pingedLanes = 0, e.expiredLanes &= t, e.mutableReadLanes &= t, e.entangledLanes &= t, t = e.entanglements;
1767
1767
  var i = e.eventTimes;
@@ -1781,7 +1781,7 @@ var k = 0;
1781
1781
  function wa(e) {
1782
1782
  return e &= -e, 1 < e ? 4 < e ? e & 268435455 ? 16 : 536870912 : 4 : 1;
1783
1783
  }
1784
- var Wa, Wo, La, Ga, Xa, Sl = !1, Zi = [], st = null, ut = null, at = null, Jn = /* @__PURE__ */ new Map(), Dn = /* @__PURE__ */ new Map(), it = [], Ng = "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(" ");
1784
+ var Wa, Wo, La, Ga, Xa, Sl = !1, Zi = [], st = null, ut = null, at = null, Jn = /* @__PURE__ */ new Map(), Dn = /* @__PURE__ */ new Map(), it = [], Sg = "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(" ");
1785
1785
  function Ls(e, t) {
1786
1786
  switch (e) {
1787
1787
  case "focusin":
@@ -1808,7 +1808,7 @@ function Ls(e, t) {
1808
1808
  function yn(e, t, n, i, r, l) {
1809
1809
  return e === null || e.nativeEvent !== l ? (e = { blockedOn: t, domEventName: n, eventSystemFlags: i, nativeEvent: l, targetContainers: [r] }, t !== null && (t = ci(t), t !== null && Wo(t)), e) : (e.eventSystemFlags |= i, t = e.targetContainers, r !== null && t.indexOf(r) === -1 && t.push(r), e);
1810
1810
  }
1811
- function Sg(e, t, n, i, r) {
1811
+ function Rg(e, t, n, i, r) {
1812
1812
  switch (t) {
1813
1813
  case "focusin":
1814
1814
  return st = yn(st, e, t, n, i, r), !0;
@@ -1862,11 +1862,11 @@ function Bi(e) {
1862
1862
  function Gs(e, t, n) {
1863
1863
  Bi(e) && n.delete(t);
1864
1864
  }
1865
- function Rg() {
1865
+ function kg() {
1866
1866
  Sl = !1, st !== null && Bi(st) && (st = null), ut !== null && Bi(ut) && (ut = null), at !== null && Bi(at) && (at = null), Jn.forEach(Gs), Dn.forEach(Gs);
1867
1867
  }
1868
1868
  function Zn(e, t) {
1869
- e.blockedOn === t && (e.blockedOn = null, Sl || (Sl = !0, ye.unstable_scheduleCallback(ye.unstable_NormalPriority, Rg)));
1869
+ e.blockedOn === t && (e.blockedOn = null, Sl || (Sl = !0, ye.unstable_scheduleCallback(ye.unstable_NormalPriority, kg)));
1870
1870
  }
1871
1871
  function Qn(e) {
1872
1872
  function t(r) {
@@ -1885,7 +1885,7 @@ function Qn(e) {
1885
1885
  Ya(n), n.blockedOn === null && it.shift();
1886
1886
  }
1887
1887
  var rn = $e.ReactCurrentBatchConfig, Pi = !0;
1888
- function kg(e, t, n, i) {
1888
+ function Bg(e, t, n, i) {
1889
1889
  var r = k, l = rn.transition;
1890
1890
  rn.transition = null;
1891
1891
  try {
@@ -1894,7 +1894,7 @@ function kg(e, t, n, i) {
1894
1894
  k = r, rn.transition = l;
1895
1895
  }
1896
1896
  }
1897
- function Bg(e, t, n, i) {
1897
+ function Vg(e, t, n, i) {
1898
1898
  var r = k, l = rn.transition;
1899
1899
  rn.transition = null;
1900
1900
  try {
@@ -1908,9 +1908,9 @@ function Lo(e, t, n, i) {
1908
1908
  var r = Rl(e, t, n, i);
1909
1909
  if (r === null)
1910
1910
  el(e, t, i, _i, n), Ls(e, i);
1911
- else if (Sg(r, e, t, n, i))
1911
+ else if (Rg(r, e, t, n, i))
1912
1912
  i.stopPropagation();
1913
- else if (Ls(e, i), t & 4 && -1 < Ng.indexOf(e)) {
1913
+ else if (Ls(e, i), t & 4 && -1 < Sg.indexOf(e)) {
1914
1914
  for (; r !== null; ) {
1915
1915
  var l = ci(r);
1916
1916
  if (l !== null && Wa(l), l = Rl(e, t, n, i), l === null && el(e, t, i, _i, n), l === r)
@@ -1924,7 +1924,7 @@ function Lo(e, t, n, i) {
1924
1924
  }
1925
1925
  var _i = null;
1926
1926
  function Rl(e, t, n, i) {
1927
- if (_i = null, e = vo(i), e = Lt(e), e !== null)
1927
+ if (_i = null, e = bo(i), e = Lt(e), e !== null)
1928
1928
  if (t = Kt(e), t === null)
1929
1929
  e = null;
1930
1930
  else if (n = t.tag, n === 13) {
@@ -2015,14 +2015,14 @@ function Aa(e) {
2015
2015
  return 4;
2016
2016
  case "message":
2017
2017
  switch (vg()) {
2018
- case bo:
2018
+ case vo:
2019
2019
  return 1;
2020
2020
  case Za:
2021
2021
  return 4;
2022
2022
  case Ei:
2023
- case bg:
2023
+ case wg:
2024
2024
  return 16;
2025
- case va:
2025
+ case ba:
2026
2026
  return 536870912;
2027
2027
  default:
2028
2028
  return 16;
@@ -2047,40 +2047,40 @@ function Ki(e) {
2047
2047
  var t = e.keyCode;
2048
2048
  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;
2049
2049
  }
2050
- function vi() {
2050
+ function bi() {
2051
2051
  return !0;
2052
2052
  }
2053
2053
  function Xs() {
2054
2054
  return !1;
2055
2055
  }
2056
- function ve(e) {
2056
+ function be(e) {
2057
2057
  function t(n, i, r, l, o) {
2058
2058
  this._reactName = n, this._targetInst = r, this.type = i, this.nativeEvent = l, this.target = o, this.currentTarget = null;
2059
2059
  for (var s in e)
2060
2060
  e.hasOwnProperty(s) && (n = e[s], this[s] = n ? n(l) : l[s]);
2061
- return this.isDefaultPrevented = (l.defaultPrevented != null ? l.defaultPrevented : l.returnValue === !1) ? vi : Xs, this.isPropagationStopped = Xs, this;
2061
+ return this.isDefaultPrevented = (l.defaultPrevented != null ? l.defaultPrevented : l.returnValue === !1) ? bi : Xs, this.isPropagationStopped = Xs, this;
2062
2062
  }
2063
2063
  return M(t.prototype, { preventDefault: function() {
2064
2064
  this.defaultPrevented = !0;
2065
2065
  var n = this.nativeEvent;
2066
- n && (n.preventDefault ? n.preventDefault() : typeof n.returnValue != "unknown" && (n.returnValue = !1), this.isDefaultPrevented = vi);
2066
+ n && (n.preventDefault ? n.preventDefault() : typeof n.returnValue != "unknown" && (n.returnValue = !1), this.isDefaultPrevented = bi);
2067
2067
  }, stopPropagation: function() {
2068
2068
  var n = this.nativeEvent;
2069
- n && (n.stopPropagation ? n.stopPropagation() : typeof n.cancelBubble != "unknown" && (n.cancelBubble = !0), this.isPropagationStopped = vi);
2069
+ n && (n.stopPropagation ? n.stopPropagation() : typeof n.cancelBubble != "unknown" && (n.cancelBubble = !0), this.isPropagationStopped = bi);
2070
2070
  }, persist: function() {
2071
- }, isPersistent: vi }), t;
2071
+ }, isPersistent: bi }), t;
2072
2072
  }
2073
2073
  var mn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
2074
2074
  return e.timeStamp || Date.now();
2075
- }, defaultPrevented: 0, isTrusted: 0 }, Xo = ve(mn), ai = M({}, mn, { view: 0, detail: 0 }), Vg = ve(ai), Jr, Dr, vn, br = M({}, ai, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: Yo, button: 0, buttons: 0, relatedTarget: function(e) {
2075
+ }, defaultPrevented: 0, isTrusted: 0 }, Xo = be(mn), ai = M({}, mn, { view: 0, detail: 0 }), Kg = be(ai), Jr, Dr, bn, vr = M({}, ai, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: Yo, button: 0, buttons: 0, relatedTarget: function(e) {
2076
2076
  return e.relatedTarget === void 0 ? e.fromElement === e.srcElement ? e.toElement : e.fromElement : e.relatedTarget;
2077
2077
  }, movementX: function(e) {
2078
- return "movementX" in e ? e.movementX : (e !== vn && (vn && e.type === "mousemove" ? (Jr = e.screenX - vn.screenX, Dr = e.screenY - vn.screenY) : Dr = Jr = 0, vn = e), Jr);
2078
+ return "movementX" in e ? e.movementX : (e !== bn && (bn && e.type === "mousemove" ? (Jr = e.screenX - bn.screenX, Dr = e.screenY - bn.screenY) : Dr = Jr = 0, bn = e), Jr);
2079
2079
  }, movementY: function(e) {
2080
2080
  return "movementY" in e ? e.movementY : Dr;
2081
- } }), Ys = ve(br), Kg = M({}, br, { dataTransfer: 0 }), Og = ve(Kg), Hg = M({}, ai, { relatedTarget: 0 }), Qr = ve(Hg), Fg = M({}, mn, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), jg = ve(Fg), Mg = M({}, mn, { clipboardData: function(e) {
2081
+ } }), Ys = be(vr), Og = M({}, vr, { dataTransfer: 0 }), Hg = be(Og), Fg = M({}, ai, { relatedTarget: 0 }), Qr = be(Fg), jg = M({}, mn, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), Mg = be(jg), zg = M({}, mn, { clipboardData: function(e) {
2082
2082
  return "clipboardData" in e ? e.clipboardData : window.clipboardData;
2083
- } }), zg = ve(Mg), xg = M({}, mn, { data: 0 }), As = ve(xg), Tg = {
2083
+ } }), xg = be(zg), Tg = M({}, mn, { data: 0 }), As = be(Tg), Jg = {
2084
2084
  Esc: "Escape",
2085
2085
  Spacebar: " ",
2086
2086
  Left: "ArrowLeft",
@@ -2093,7 +2093,7 @@ var mn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
2093
2093
  Apps: "ContextMenu",
2094
2094
  Scroll: "ScrollLock",
2095
2095
  MozPrintableKey: "Unidentified"
2096
- }, Jg = {
2096
+ }, Dg = {
2097
2097
  8: "Backspace",
2098
2098
  9: "Tab",
2099
2099
  12: "Clear",
@@ -2130,28 +2130,28 @@ var mn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
2130
2130
  144: "NumLock",
2131
2131
  145: "ScrollLock",
2132
2132
  224: "Meta"
2133
- }, Dg = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" };
2134
- function Qg(e) {
2133
+ }, Qg = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" };
2134
+ function Eg(e) {
2135
2135
  var t = this.nativeEvent;
2136
- return t.getModifierState ? t.getModifierState(e) : (e = Dg[e]) ? !!t[e] : !1;
2136
+ return t.getModifierState ? t.getModifierState(e) : (e = Qg[e]) ? !!t[e] : !1;
2137
2137
  }
2138
2138
  function Yo() {
2139
- return Qg;
2139
+ return Eg;
2140
2140
  }
2141
- var Eg = M({}, ai, { key: function(e) {
2141
+ var Ug = M({}, ai, { key: function(e) {
2142
2142
  if (e.key) {
2143
- var t = Tg[e.key] || e.key;
2143
+ var t = Jg[e.key] || e.key;
2144
2144
  if (t !== "Unidentified")
2145
2145
  return t;
2146
2146
  }
2147
- return e.type === "keypress" ? (e = Ki(e), e === 13 ? "Enter" : String.fromCharCode(e)) : e.type === "keydown" || e.type === "keyup" ? Jg[e.keyCode] || "Unidentified" : "";
2147
+ return e.type === "keypress" ? (e = Ki(e), e === 13 ? "Enter" : String.fromCharCode(e)) : e.type === "keydown" || e.type === "keyup" ? Dg[e.keyCode] || "Unidentified" : "";
2148
2148
  }, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: Yo, charCode: function(e) {
2149
2149
  return e.type === "keypress" ? Ki(e) : 0;
2150
2150
  }, keyCode: function(e) {
2151
2151
  return e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
2152
2152
  }, which: function(e) {
2153
2153
  return e.type === "keypress" ? Ki(e) : e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
2154
- } }), Ug = ve(Eg), Pg = M({}, br, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), Ns = ve(Pg), _g = M({}, ai, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: Yo }), $g = ve(_g), qg = M({}, mn, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), ep = ve(qg), tp = M({}, br, {
2154
+ } }), Pg = be(Ug), _g = M({}, vr, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), Ns = be(_g), $g = M({}, ai, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: Yo }), qg = be($g), ep = M({}, mn, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), tp = be(ep), np = M({}, vr, {
2155
2155
  deltaX: function(e) {
2156
2156
  return "deltaX" in e ? e.deltaX : "wheelDeltaX" in e ? -e.wheelDeltaX : 0;
2157
2157
  },
@@ -2160,13 +2160,13 @@ var Eg = M({}, ai, { key: function(e) {
2160
2160
  },
2161
2161
  deltaZ: 0,
2162
2162
  deltaMode: 0
2163
- }), np = ve(tp), ip = [9, 13, 27, 32], Ao = Ee && "CompositionEvent" in window, Bn = null;
2163
+ }), ip = be(np), rp = [9, 13, 27, 32], Ao = Ee && "CompositionEvent" in window, Bn = null;
2164
2164
  Ee && "documentMode" in document && (Bn = document.documentMode);
2165
- var rp = Ee && "TextEvent" in window && !Bn, Sa = Ee && (!Ao || Bn && 8 < Bn && 11 >= Bn), Ss = String.fromCharCode(32), Rs = !1;
2165
+ var lp = Ee && "TextEvent" in window && !Bn, Sa = Ee && (!Ao || Bn && 8 < Bn && 11 >= Bn), Ss = String.fromCharCode(32), Rs = !1;
2166
2166
  function Ra(e, t) {
2167
2167
  switch (e) {
2168
2168
  case "keyup":
2169
- return ip.indexOf(t.keyCode) !== -1;
2169
+ return rp.indexOf(t.keyCode) !== -1;
2170
2170
  case "keydown":
2171
2171
  return t.keyCode !== 229;
2172
2172
  case "keypress":
@@ -2181,7 +2181,7 @@ function ka(e) {
2181
2181
  return e = e.detail, typeof e == "object" && "data" in e ? e.data : null;
2182
2182
  }
2183
2183
  var Tt = !1;
2184
- function lp(e, t) {
2184
+ function op(e, t) {
2185
2185
  switch (e) {
2186
2186
  case "compositionend":
2187
2187
  return ka(t);
@@ -2193,7 +2193,7 @@ function lp(e, t) {
2193
2193
  return null;
2194
2194
  }
2195
2195
  }
2196
- function op(e, t) {
2196
+ function sp(e, t) {
2197
2197
  if (Tt)
2198
2198
  return e === "compositionend" || !Ao && Ra(e, t) ? (e = Na(), Vi = Go = lt = null, Tt = !1, e) : null;
2199
2199
  switch (e) {
@@ -2213,16 +2213,16 @@ function op(e, t) {
2213
2213
  return null;
2214
2214
  }
2215
2215
  }
2216
- var sp = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 };
2216
+ var up = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 };
2217
2217
  function ks(e) {
2218
2218
  var t = e && e.nodeName && e.nodeName.toLowerCase();
2219
- return t === "input" ? !!sp[e.type] : t === "textarea";
2219
+ return t === "input" ? !!up[e.type] : t === "textarea";
2220
2220
  }
2221
2221
  function Ba(e, t, n, i) {
2222
2222
  da(i), t = $i(t, "onChange"), 0 < t.length && (n = new Xo("onChange", "change", null, n, i), e.push({ event: n, listeners: t }));
2223
2223
  }
2224
2224
  var Vn = null, En = null;
2225
- function up(e) {
2225
+ function ap(e) {
2226
2226
  Ja(e, 0);
2227
2227
  }
2228
2228
  function wr(e) {
@@ -2230,7 +2230,7 @@ function wr(e) {
2230
2230
  if (ra(t))
2231
2231
  return e;
2232
2232
  }
2233
- function ap(e, t) {
2233
+ function cp(e, t) {
2234
2234
  if (e === "change")
2235
2235
  return t;
2236
2236
  }
@@ -2254,28 +2254,28 @@ function Vs() {
2254
2254
  function Ka(e) {
2255
2255
  if (e.propertyName === "value" && wr(En)) {
2256
2256
  var t = [];
2257
- Ba(t, En, e, vo(e)), ma(up, t);
2257
+ Ba(t, En, e, bo(e)), ma(ap, t);
2258
2258
  }
2259
2259
  }
2260
- function cp(e, t, n) {
2260
+ function dp(e, t, n) {
2261
2261
  e === "focusin" ? (Vs(), Vn = t, En = n, Vn.attachEvent("onpropertychange", Ka)) : e === "focusout" && Vs();
2262
2262
  }
2263
- function dp(e) {
2263
+ function gp(e) {
2264
2264
  if (e === "selectionchange" || e === "keyup" || e === "keydown")
2265
2265
  return wr(En);
2266
2266
  }
2267
- function gp(e, t) {
2267
+ function pp(e, t) {
2268
2268
  if (e === "click")
2269
2269
  return wr(t);
2270
2270
  }
2271
- function pp(e, t) {
2271
+ function fp(e, t) {
2272
2272
  if (e === "input" || e === "change")
2273
2273
  return wr(t);
2274
2274
  }
2275
- function fp(e, t) {
2275
+ function mp(e, t) {
2276
2276
  return e === t && (e !== 0 || 1 / e === 1 / t) || e !== e && t !== t;
2277
2277
  }
2278
- var Ke = typeof Object.is == "function" ? Object.is : fp;
2278
+ var Ke = typeof Object.is == "function" ? Object.is : mp;
2279
2279
  function Un(e, t) {
2280
2280
  if (Ke(e, t))
2281
2281
  return !0;
@@ -2340,7 +2340,7 @@ function No(e) {
2340
2340
  var t = e && e.nodeName && e.nodeName.toLowerCase();
2341
2341
  return t && (t === "input" && (e.type === "text" || e.type === "search" || e.type === "tel" || e.type === "url" || e.type === "password") || t === "textarea" || e.contentEditable === "true");
2342
2342
  }
2343
- function mp(e) {
2343
+ function hp(e) {
2344
2344
  var t = Ha(), n = e.focusedElem, i = e.selectionRange;
2345
2345
  if (t !== n && n && n.ownerDocument && Oa(n.ownerDocument.documentElement, n)) {
2346
2346
  if (i !== null && No(n)) {
@@ -2363,16 +2363,16 @@ function mp(e) {
2363
2363
  e = t[n], e.element.scrollLeft = e.left, e.element.scrollTop = e.top;
2364
2364
  }
2365
2365
  }
2366
- var hp = Ee && "documentMode" in document && 11 >= document.documentMode, Jt = null, kl = null, Kn = null, Bl = !1;
2366
+ var Cp = Ee && "documentMode" in document && 11 >= document.documentMode, Jt = null, kl = null, Kn = null, Bl = !1;
2367
2367
  function Hs(e, t, n) {
2368
2368
  var i = n.window === n ? n.document : n.nodeType === 9 ? n : n.ownerDocument;
2369
2369
  Bl || Jt == null || Jt !== Ji(i) || (i = Jt, "selectionStart" in i && No(i) ? i = { start: i.selectionStart, end: i.selectionEnd } : (i = (i.ownerDocument && i.ownerDocument.defaultView || window).getSelection(), i = { anchorNode: i.anchorNode, anchorOffset: i.anchorOffset, focusNode: i.focusNode, focusOffset: i.focusOffset }), Kn && Un(Kn, i) || (Kn = i, i = $i(kl, "onSelect"), 0 < i.length && (t = new Xo("onSelect", "select", null, t, n), e.push({ event: t, listeners: i }), t.target = Jt)));
2370
2370
  }
2371
- function bi(e, t) {
2371
+ function vi(e, t) {
2372
2372
  var n = {};
2373
2373
  return n[e.toLowerCase()] = t.toLowerCase(), n["Webkit" + e] = "webkit" + t, n["Moz" + e] = "moz" + t, n;
2374
2374
  }
2375
- var Dt = { animationend: bi("Animation", "AnimationEnd"), animationiteration: bi("Animation", "AnimationIteration"), animationstart: bi("Animation", "AnimationStart"), transitionend: bi("Transition", "TransitionEnd") }, Pr = {}, Fa = {};
2375
+ var Dt = { animationend: vi("Animation", "AnimationEnd"), animationiteration: vi("Animation", "AnimationIteration"), animationstart: vi("Animation", "AnimationStart"), transitionend: vi("Transition", "TransitionEnd") }, Pr = {}, Fa = {};
2376
2376
  Ee && (Fa = document.createElement("div").style, "AnimationEvent" in window || (delete Dt.animationend.animation, delete Dt.animationiteration.animation, delete Dt.animationstart.animation), "TransitionEvent" in window || delete Dt.transitionend.transition);
2377
2377
  function Wr(e) {
2378
2378
  if (Pr[e])
@@ -2390,8 +2390,8 @@ function Ct(e, t) {
2390
2390
  Ta.set(e, t), Vt(t, [e]);
2391
2391
  }
2392
2392
  for (var _r = 0; _r < Fs.length; _r++) {
2393
- var $r = Fs[_r], Cp = $r.toLowerCase(), Ip = $r[0].toUpperCase() + $r.slice(1);
2394
- Ct(Cp, "on" + Ip);
2393
+ var $r = Fs[_r], Ip = $r.toLowerCase(), yp = $r[0].toUpperCase() + $r.slice(1);
2394
+ Ct(Ip, "on" + yp);
2395
2395
  }
2396
2396
  Ct(ja, "onAnimationEnd");
2397
2397
  Ct(Ma, "onAnimationIteration");
@@ -2410,10 +2410,10 @@ Vt("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]);
2410
2410
  Vt("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" "));
2411
2411
  Vt("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" "));
2412
2412
  Vt("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" "));
2413
- var Sn = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), yp = new Set("cancel close invalid load scroll toggle".split(" ").concat(Sn));
2413
+ var Sn = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), Zp = new Set("cancel close invalid load scroll toggle".split(" ").concat(Sn));
2414
2414
  function js(e, t, n) {
2415
2415
  var i = e.type || "unknown-event";
2416
- e.currentTarget = n, Cg(i, t, void 0, e), e.currentTarget = null;
2416
+ e.currentTarget = n, Ig(i, t, void 0, e), e.currentTarget = null;
2417
2417
  }
2418
2418
  function Ja(e, t) {
2419
2419
  t = (t & 4) !== 0;
@@ -2454,7 +2454,7 @@ var wi = "_reactListening" + Math.random().toString(36).slice(2);
2454
2454
  function Pn(e) {
2455
2455
  if (!e[wi]) {
2456
2456
  e[wi] = !0, qu.forEach(function(n) {
2457
- n !== "selectionchange" && (yp.has(n) || qr(n, !1, e), qr(n, !0, e));
2457
+ n !== "selectionchange" && (Zp.has(n) || qr(n, !1, e), qr(n, !0, e));
2458
2458
  });
2459
2459
  var t = e.nodeType === 9 ? e : e.ownerDocument;
2460
2460
  t === null || t[wi] || (t[wi] = !0, qr("selectionchange", !1, t));
@@ -2463,10 +2463,10 @@ function Pn(e) {
2463
2463
  function Da(e, t, n, i) {
2464
2464
  switch (Aa(t)) {
2465
2465
  case 1:
2466
- var r = kg;
2466
+ var r = Bg;
2467
2467
  break;
2468
2468
  case 4:
2469
- r = Bg;
2469
+ r = Vg;
2470
2470
  break;
2471
2471
  default:
2472
2472
  r = Lo;
@@ -2505,7 +2505,7 @@ function el(e, t, n, i, r) {
2505
2505
  i = i.return;
2506
2506
  }
2507
2507
  ma(function() {
2508
- var a = l, p = vo(n), m = [];
2508
+ var a = l, p = bo(n), m = [];
2509
2509
  e: {
2510
2510
  var c = Ta.get(e);
2511
2511
  if (c !== void 0) {
@@ -2516,7 +2516,7 @@ function el(e, t, n, i, r) {
2516
2516
  break e;
2517
2517
  case "keydown":
2518
2518
  case "keyup":
2519
- I = Ug;
2519
+ I = Pg;
2520
2520
  break;
2521
2521
  case "focusin":
2522
2522
  h = "focus", I = Qr;
@@ -2549,32 +2549,32 @@ function el(e, t, n, i, r) {
2549
2549
  case "dragover":
2550
2550
  case "dragstart":
2551
2551
  case "drop":
2552
- I = Og;
2552
+ I = Hg;
2553
2553
  break;
2554
2554
  case "touchcancel":
2555
2555
  case "touchend":
2556
2556
  case "touchmove":
2557
2557
  case "touchstart":
2558
- I = $g;
2558
+ I = qg;
2559
2559
  break;
2560
2560
  case ja:
2561
2561
  case Ma:
2562
2562
  case za:
2563
- I = jg;
2563
+ I = Mg;
2564
2564
  break;
2565
2565
  case xa:
2566
- I = ep;
2566
+ I = tp;
2567
2567
  break;
2568
2568
  case "scroll":
2569
- I = Vg;
2569
+ I = Kg;
2570
2570
  break;
2571
2571
  case "wheel":
2572
- I = np;
2572
+ I = ip;
2573
2573
  break;
2574
2574
  case "copy":
2575
2575
  case "cut":
2576
2576
  case "paste":
2577
- I = zg;
2577
+ I = xg;
2578
2578
  break;
2579
2579
  case "gotpointercapture":
2580
2580
  case "lostpointercapture":
@@ -2627,25 +2627,25 @@ function el(e, t, n, i, r) {
2627
2627
  }
2628
2628
  e: {
2629
2629
  if (c = a ? Qt(a) : window, I = c.nodeName && c.nodeName.toLowerCase(), I === "select" || I === "input" && c.type === "file")
2630
- var Z = ap;
2630
+ var Z = cp;
2631
2631
  else if (ks(c))
2632
2632
  if (Va)
2633
- Z = pp;
2633
+ Z = fp;
2634
2634
  else {
2635
- Z = dp;
2636
- var b = cp;
2635
+ Z = gp;
2636
+ var v = dp;
2637
2637
  }
2638
2638
  else
2639
- (I = c.nodeName) && I.toLowerCase() === "input" && (c.type === "checkbox" || c.type === "radio") && (Z = gp);
2639
+ (I = c.nodeName) && I.toLowerCase() === "input" && (c.type === "checkbox" || c.type === "radio") && (Z = pp);
2640
2640
  if (Z && (Z = Z(e, a))) {
2641
2641
  Ba(m, Z, n, p);
2642
2642
  break e;
2643
2643
  }
2644
- b && b(e, c, a), e === "focusout" && (b = c._wrapperState) && b.controlled && c.type === "number" && vl(c, "number", c.value);
2644
+ v && v(e, c, a), e === "focusout" && (v = c._wrapperState) && v.controlled && c.type === "number" && bl(c, "number", c.value);
2645
2645
  }
2646
- switch (b = a ? Qt(a) : window, e) {
2646
+ switch (v = a ? Qt(a) : window, e) {
2647
2647
  case "focusin":
2648
- (ks(b) || b.contentEditable === "true") && (Jt = b, kl = a, Kn = null);
2648
+ (ks(v) || v.contentEditable === "true") && (Jt = v, kl = a, Kn = null);
2649
2649
  break;
2650
2650
  case "focusout":
2651
2651
  Kn = kl = Jt = null;
@@ -2659,7 +2659,7 @@ function el(e, t, n, i, r) {
2659
2659
  Bl = !1, Hs(m, n, p);
2660
2660
  break;
2661
2661
  case "selectionchange":
2662
- if (hp)
2662
+ if (Cp)
2663
2663
  break;
2664
2664
  case "keydown":
2665
2665
  case "keyup":
@@ -2683,7 +2683,7 @@ function el(e, t, n, i, r) {
2683
2683
  }
2684
2684
  else
2685
2685
  Tt ? Ra(e, n) && (X = "onCompositionEnd") : e === "keydown" && n.keyCode === 229 && (X = "onCompositionStart");
2686
- X && (Sa && n.locale !== "ko" && (Tt || X !== "onCompositionStart" ? X === "onCompositionEnd" && Tt && (w = Na()) : (lt = p, Go = "value" in lt ? lt.value : lt.textContent, Tt = !0)), b = $i(a, X), 0 < b.length && (X = new As(X, e, null, n, p), m.push({ event: X, listeners: b }), w ? X.data = w : (w = ka(n), w !== null && (X.data = w)))), (w = rp ? lp(e, n) : op(e, n)) && (a = $i(a, "onBeforeInput"), 0 < a.length && (p = new As("onBeforeInput", "beforeinput", null, n, p), m.push({ event: p, listeners: a }), p.data = w));
2686
+ X && (Sa && n.locale !== "ko" && (Tt || X !== "onCompositionStart" ? X === "onCompositionEnd" && Tt && (w = Na()) : (lt = p, Go = "value" in lt ? lt.value : lt.textContent, Tt = !0)), v = $i(a, X), 0 < v.length && (X = new As(X, e, null, n, p), m.push({ event: X, listeners: v }), w ? X.data = w : (w = ka(n), w !== null && (X.data = w)))), (w = lp ? op(e, n) : sp(e, n)) && (a = $i(a, "onBeforeInput"), 0 < a.length && (p = new As("onBeforeInput", "beforeinput", null, n, p), m.push({ event: p, listeners: a }), p.data = w));
2687
2687
  }
2688
2688
  Ja(m, t);
2689
2689
  });
@@ -2715,14 +2715,14 @@ function Ms(e, t, n, i, r) {
2715
2715
  }
2716
2716
  o.length !== 0 && e.push({ event: t, listeners: o });
2717
2717
  }
2718
- var Zp = /\r\n?/g, vp = /\u0000|\uFFFD/g;
2718
+ var bp = /\r\n?/g, vp = /\u0000|\uFFFD/g;
2719
2719
  function zs(e) {
2720
- return (typeof e == "string" ? e : "" + e).replace(Zp, `
2720
+ return (typeof e == "string" ? e : "" + e).replace(bp, `
2721
2721
  `).replace(vp, "");
2722
2722
  }
2723
2723
  function Wi(e, t, n) {
2724
2724
  if (t = zs(t), zs(e) !== t && n)
2725
- throw Error(v(425));
2725
+ throw Error(b(425));
2726
2726
  }
2727
2727
  function qi() {
2728
2728
  }
@@ -2730,10 +2730,10 @@ var Vl = null, Kl = null;
2730
2730
  function Ol(e, t) {
2731
2731
  return e === "textarea" || e === "noscript" || typeof t.children == "string" || typeof t.children == "number" || typeof t.dangerouslySetInnerHTML == "object" && t.dangerouslySetInnerHTML !== null && t.dangerouslySetInnerHTML.__html != null;
2732
2732
  }
2733
- var Hl = typeof setTimeout == "function" ? setTimeout : void 0, bp = typeof clearTimeout == "function" ? clearTimeout : void 0, xs = typeof Promise == "function" ? Promise : void 0, wp = typeof queueMicrotask == "function" ? queueMicrotask : typeof xs < "u" ? function(e) {
2734
- return xs.resolve(null).then(e).catch(Wp);
2733
+ var Hl = typeof setTimeout == "function" ? setTimeout : void 0, wp = typeof clearTimeout == "function" ? clearTimeout : void 0, xs = typeof Promise == "function" ? Promise : void 0, Wp = typeof queueMicrotask == "function" ? queueMicrotask : typeof xs < "u" ? function(e) {
2734
+ return xs.resolve(null).then(e).catch(Lp);
2735
2735
  } : Hl;
2736
- function Wp(e) {
2736
+ function Lp(e) {
2737
2737
  setTimeout(function() {
2738
2738
  throw e;
2739
2739
  });
@@ -2785,7 +2785,7 @@ function Ts(e) {
2785
2785
  }
2786
2786
  return null;
2787
2787
  }
2788
- var hn = Math.random().toString(36).slice(2), Fe = "__reactFiber$" + hn, $n = "__reactProps$" + hn, Ue = "__reactContainer$" + hn, Fl = "__reactEvents$" + hn, Lp = "__reactListeners$" + hn, Gp = "__reactHandles$" + hn;
2788
+ var hn = Math.random().toString(36).slice(2), Fe = "__reactFiber$" + hn, $n = "__reactProps$" + hn, Ue = "__reactContainer$" + hn, Fl = "__reactEvents$" + hn, Gp = "__reactListeners$" + hn, Xp = "__reactHandles$" + hn;
2789
2789
  function Lt(e) {
2790
2790
  var t = e[Fe];
2791
2791
  if (t)
@@ -2810,7 +2810,7 @@ function ci(e) {
2810
2810
  function Qt(e) {
2811
2811
  if (e.tag === 5 || e.tag === 6)
2812
2812
  return e.stateNode;
2813
- throw Error(v(33));
2813
+ throw Error(b(33));
2814
2814
  }
2815
2815
  function Lr(e) {
2816
2816
  return e[$n] || null;
@@ -2846,7 +2846,7 @@ function er() {
2846
2846
  }
2847
2847
  function Js(e, t, n) {
2848
2848
  if (le.current !== ht)
2849
- throw Error(v(168));
2849
+ throw Error(b(168));
2850
2850
  B(le, t), B(pe, n);
2851
2851
  }
2852
2852
  function Qa(e, t, n) {
@@ -2856,7 +2856,7 @@ function Qa(e, t, n) {
2856
2856
  i = i.getChildContext();
2857
2857
  for (var r in i)
2858
2858
  if (!(r in t))
2859
- throw Error(v(108, cg(e) || "Unknown", r));
2859
+ throw Error(b(108, dg(e) || "Unknown", r));
2860
2860
  return M({}, n, i);
2861
2861
  }
2862
2862
  function tr(e) {
@@ -2865,14 +2865,14 @@ function tr(e) {
2865
2865
  function Ds(e, t, n) {
2866
2866
  var i = e.stateNode;
2867
2867
  if (!i)
2868
- throw Error(v(169));
2868
+ throw Error(b(169));
2869
2869
  n ? (e = Qa(e, t, Nt), i.__reactInternalMemoizedMergedChildContext = e, K(pe), K(le), B(le, e)) : K(pe), B(pe, n);
2870
2870
  }
2871
2871
  var Te = null, Gr = !1, nl = !1;
2872
2872
  function Ea(e) {
2873
2873
  Te === null ? Te = [e] : Te.push(e);
2874
2874
  }
2875
- function Xp(e) {
2875
+ function Yp(e) {
2876
2876
  Gr = !0, Ea(e);
2877
2877
  }
2878
2878
  function yt() {
@@ -2889,7 +2889,7 @@ function yt() {
2889
2889
  }
2890
2890
  Te = null, Gr = !1;
2891
2891
  } catch (r) {
2892
- throw Te !== null && (Te = Te.slice(e + 1)), ya(bo, yt), r;
2892
+ throw Te !== null && (Te = Te.slice(e + 1)), ya(vo, yt), r;
2893
2893
  } finally {
2894
2894
  k = t, nl = !1;
2895
2895
  }
@@ -2950,14 +2950,14 @@ function zl(e) {
2950
2950
  var n = t;
2951
2951
  if (!Qs(e, t)) {
2952
2952
  if (Ml(e))
2953
- throw Error(v(418));
2953
+ throw Error(b(418));
2954
2954
  t = ct(n.nextSibling);
2955
2955
  var i = Ie;
2956
2956
  t && Qs(e, t) ? Pa(i, n) : (e.flags = e.flags & -4097 | 2, O = !1, Ie = e);
2957
2957
  }
2958
2958
  } else {
2959
2959
  if (Ml(e))
2960
- throw Error(v(418));
2960
+ throw Error(b(418));
2961
2961
  e.flags = e.flags & -4097 | 2, O = !1, Ie = e;
2962
2962
  }
2963
2963
  }
@@ -2975,13 +2975,13 @@ function Li(e) {
2975
2975
  var t;
2976
2976
  if ((t = e.tag !== 3) && !(t = e.tag !== 5) && (t = e.type, t = t !== "head" && t !== "body" && !Ol(e.type, e.memoizedProps)), t && (t = Ce)) {
2977
2977
  if (Ml(e))
2978
- throw _a(), Error(v(418));
2978
+ throw _a(), Error(b(418));
2979
2979
  for (; t; )
2980
2980
  Pa(e, t), t = ct(t.nextSibling);
2981
2981
  }
2982
2982
  if (Es(e), e.tag === 13) {
2983
2983
  if (e = e.memoizedState, e = e !== null ? e.dehydrated : null, !e)
2984
- throw Error(v(317));
2984
+ throw Error(b(317));
2985
2985
  e: {
2986
2986
  for (e = e.nextSibling, t = 0; e; ) {
2987
2987
  if (e.nodeType === 8) {
@@ -3013,7 +3013,7 @@ function an() {
3013
3013
  function ko(e) {
3014
3014
  ke === null ? ke = [e] : ke.push(e);
3015
3015
  }
3016
- var Yp = $e.ReactCurrentBatchConfig;
3016
+ var Ap = $e.ReactCurrentBatchConfig;
3017
3017
  function Se(e, t) {
3018
3018
  if (e && e.defaultProps) {
3019
3019
  t = M({}, t), e = e.defaultProps;
@@ -3047,7 +3047,7 @@ function Xe(e) {
3047
3047
  if (Bo !== e)
3048
3048
  if (e = { context: e, memoizedValue: t, next: null }, _t === null) {
3049
3049
  if (lr === null)
3050
- throw Error(v(308));
3050
+ throw Error(b(308));
3051
3051
  _t = e, lr.dependencies = { lanes: 0, firstContext: e };
3052
3052
  } else
3053
3053
  _t = _t.next = e;
@@ -3182,7 +3182,7 @@ function Ps(e, t, n) {
3182
3182
  var i = e[t], r = i.callback;
3183
3183
  if (r !== null) {
3184
3184
  if (i.callback = null, i = n, typeof r != "function")
3185
- throw Error(v(191, r));
3185
+ throw Error(b(191, r));
3186
3186
  r.call(i);
3187
3187
  }
3188
3188
  }
@@ -3222,16 +3222,16 @@ function Jl(e, t, n, i) {
3222
3222
  var l = t.contextType;
3223
3223
  typeof l == "object" && l !== null ? r.context = Xe(l) : (l = fe(t) ? Nt : le.current, r.context = un(e, l)), r.state = e.memoizedState, l = t.getDerivedStateFromProps, typeof l == "function" && (Tl(e, t, l, n), r.state = e.memoizedState), typeof t.getDerivedStateFromProps == "function" || typeof r.getSnapshotBeforeUpdate == "function" || typeof r.UNSAFE_componentWillMount != "function" && typeof r.componentWillMount != "function" || (t = r.state, typeof r.componentWillMount == "function" && r.componentWillMount(), typeof r.UNSAFE_componentWillMount == "function" && r.UNSAFE_componentWillMount(), t !== r.state && Xr.enqueueReplaceState(r, r.state, null), or(e, n, r, i), r.state = e.memoizedState), typeof r.componentDidMount == "function" && (e.flags |= 4194308);
3224
3224
  }
3225
- function bn(e, t, n) {
3225
+ function vn(e, t, n) {
3226
3226
  if (e = n.ref, e !== null && typeof e != "function" && typeof e != "object") {
3227
3227
  if (n._owner) {
3228
3228
  if (n = n._owner, n) {
3229
3229
  if (n.tag !== 1)
3230
- throw Error(v(309));
3230
+ throw Error(b(309));
3231
3231
  var i = n.stateNode;
3232
3232
  }
3233
3233
  if (!i)
3234
- throw Error(v(147, e));
3234
+ throw Error(b(147, e));
3235
3235
  var r = i, l = "" + e;
3236
3236
  return t !== null && t.ref !== null && typeof t.ref == "function" && t.ref._stringRef === l ? t.ref : (t = function(o) {
3237
3237
  var s = r.refs;
@@ -3239,14 +3239,14 @@ function bn(e, t, n) {
3239
3239
  }, t._stringRef = l, t);
3240
3240
  }
3241
3241
  if (typeof e != "string")
3242
- throw Error(v(284));
3242
+ throw Error(b(284));
3243
3243
  if (!n._owner)
3244
- throw Error(v(290, e));
3244
+ throw Error(b(290, e));
3245
3245
  }
3246
3246
  return e;
3247
3247
  }
3248
3248
  function Gi(e, t) {
3249
- throw e = Object.prototype.toString.call(t), Error(v(31, e === "[object Object]" ? "object with keys {" + Object.keys(t).join(", ") + "}" : e));
3249
+ throw e = Object.prototype.toString.call(t), Error(b(31, e === "[object Object]" ? "object with keys {" + Object.keys(t).join(", ") + "}" : e));
3250
3250
  }
3251
3251
  function qs(e) {
3252
3252
  var t = e._init;
@@ -3285,7 +3285,7 @@ function nc(e) {
3285
3285
  }
3286
3286
  function u(g, d, f, C) {
3287
3287
  var Z = f.type;
3288
- return Z === xt ? p(g, d, f.props.children, C, f.key) : d !== null && (d.elementType === Z || typeof Z == "object" && Z !== null && Z.$$typeof === tt && qs(Z) === d.type) ? (C = r(d, f.props), C.ref = bn(g, d, f), C.return = g, C) : (C = xi(f.type, f.key, f.props, null, g.mode, C), C.ref = bn(g, d, f), C.return = g, C);
3288
+ return Z === xt ? p(g, d, f.props.children, C, f.key) : d !== null && (d.elementType === Z || typeof Z == "object" && Z !== null && Z.$$typeof === tt && qs(Z) === d.type) ? (C = r(d, f.props), C.ref = vn(g, d, f), C.return = g, C) : (C = xi(f.type, f.key, f.props, null, g.mode, C), C.ref = vn(g, d, f), C.return = g, C);
3289
3289
  }
3290
3290
  function a(g, d, f, C) {
3291
3291
  return d === null || d.tag !== 4 || d.stateNode.containerInfo !== f.containerInfo || d.stateNode.implementation !== f.implementation ? (d = cl(f, g.mode, C), d.return = g, d) : (d = r(d, f.children || []), d.return = g, d);
@@ -3299,7 +3299,7 @@ function nc(e) {
3299
3299
  if (typeof d == "object" && d !== null) {
3300
3300
  switch (d.$$typeof) {
3301
3301
  case mi:
3302
- return f = xi(d.type, d.key, d.props, null, g.mode, f), f.ref = bn(g, null, d), f.return = g, f;
3302
+ return f = xi(d.type, d.key, d.props, null, g.mode, f), f.ref = vn(g, null, d), f.return = g, f;
3303
3303
  case zt:
3304
3304
  return d = cl(d, g.mode, f), d.return = g, d;
3305
3305
  case tt:
@@ -3346,8 +3346,8 @@ function nc(e) {
3346
3346
  case zt:
3347
3347
  return g = g.get(C.key === null ? f : C.key) || null, a(d, g, C, Z);
3348
3348
  case tt:
3349
- var b = C._init;
3350
- return I(g, d, f, b(C._payload), Z);
3349
+ var v = C._init;
3350
+ return I(g, d, f, v(C._payload), Z);
3351
3351
  }
3352
3352
  if (An(C) || Cn(C))
3353
3353
  return g = g.get(f) || null, p(d, g, C, Z, null);
@@ -3356,42 +3356,42 @@ function nc(e) {
3356
3356
  return null;
3357
3357
  }
3358
3358
  function h(g, d, f, C) {
3359
- for (var Z = null, b = null, w = d, X = d = 0, H = null; w !== null && X < f.length; X++) {
3359
+ for (var Z = null, v = null, w = d, X = d = 0, H = null; w !== null && X < f.length; X++) {
3360
3360
  w.index > X ? (H = w, w = null) : H = w.sibling;
3361
3361
  var A = c(g, w, f[X], C);
3362
3362
  if (A === null) {
3363
3363
  w === null && (w = H);
3364
3364
  break;
3365
3365
  }
3366
- e && w && A.alternate === null && t(g, w), d = l(A, d, X), b === null ? Z = A : b.sibling = A, b = A, w = H;
3366
+ e && w && A.alternate === null && t(g, w), d = l(A, d, X), v === null ? Z = A : v.sibling = A, v = A, w = H;
3367
3367
  }
3368
3368
  if (X === f.length)
3369
3369
  return n(g, w), O && wt(g, X), Z;
3370
3370
  if (w === null) {
3371
3371
  for (; X < f.length; X++)
3372
- w = m(g, f[X], C), w !== null && (d = l(w, d, X), b === null ? Z = w : b.sibling = w, b = w);
3372
+ w = m(g, f[X], C), w !== null && (d = l(w, d, X), v === null ? Z = w : v.sibling = w, v = w);
3373
3373
  return O && wt(g, X), Z;
3374
3374
  }
3375
3375
  for (w = i(g, w); X < f.length; X++)
3376
- H = I(w, g, X, f[X], C), H !== null && (e && H.alternate !== null && w.delete(H.key === null ? X : H.key), d = l(H, d, X), b === null ? Z = H : b.sibling = H, b = H);
3377
- return e && w.forEach(function(be) {
3378
- return t(g, be);
3376
+ H = I(w, g, X, f[X], C), H !== null && (e && H.alternate !== null && w.delete(H.key === null ? X : H.key), d = l(H, d, X), v === null ? Z = H : v.sibling = H, v = H);
3377
+ return e && w.forEach(function(ve) {
3378
+ return t(g, ve);
3379
3379
  }), O && wt(g, X), Z;
3380
3380
  }
3381
3381
  function y(g, d, f, C) {
3382
3382
  var Z = Cn(f);
3383
3383
  if (typeof Z != "function")
3384
- throw Error(v(150));
3384
+ throw Error(b(150));
3385
3385
  if (f = Z.call(f), f == null)
3386
- throw Error(v(151));
3387
- for (var b = Z = null, w = d, X = d = 0, H = null, A = f.next(); w !== null && !A.done; X++, A = f.next()) {
3386
+ throw Error(b(151));
3387
+ for (var v = Z = null, w = d, X = d = 0, H = null, A = f.next(); w !== null && !A.done; X++, A = f.next()) {
3388
3388
  w.index > X ? (H = w, w = null) : H = w.sibling;
3389
- var be = c(g, w, A.value, C);
3390
- if (be === null) {
3389
+ var ve = c(g, w, A.value, C);
3390
+ if (ve === null) {
3391
3391
  w === null && (w = H);
3392
3392
  break;
3393
3393
  }
3394
- e && w && be.alternate === null && t(g, w), d = l(be, d, X), b === null ? Z = be : b.sibling = be, b = be, w = H;
3394
+ e && w && ve.alternate === null && t(g, w), d = l(ve, d, X), v === null ? Z = ve : v.sibling = ve, v = ve, w = H;
3395
3395
  }
3396
3396
  if (A.done)
3397
3397
  return n(
@@ -3400,11 +3400,11 @@ function nc(e) {
3400
3400
  ), O && wt(g, X), Z;
3401
3401
  if (w === null) {
3402
3402
  for (; !A.done; X++, A = f.next())
3403
- A = m(g, A.value, C), A !== null && (d = l(A, d, X), b === null ? Z = A : b.sibling = A, b = A);
3403
+ A = m(g, A.value, C), A !== null && (d = l(A, d, X), v === null ? Z = A : v.sibling = A, v = A);
3404
3404
  return O && wt(g, X), Z;
3405
3405
  }
3406
3406
  for (w = i(g, w); !A.done; X++, A = f.next())
3407
- A = I(w, g, X, A.value, C), A !== null && (e && A.alternate !== null && w.delete(A.key === null ? X : A.key), d = l(A, d, X), b === null ? Z = A : b.sibling = A, b = A);
3407
+ A = I(w, g, X, A.value, C), A !== null && (e && A.alternate !== null && w.delete(A.key === null ? X : A.key), d = l(A, d, X), v === null ? Z = A : v.sibling = A, v = A);
3408
3408
  return e && w.forEach(function(Zt) {
3409
3409
  return t(g, Zt);
3410
3410
  }), O && wt(g, X), Z;
@@ -3414,30 +3414,30 @@ function nc(e) {
3414
3414
  switch (f.$$typeof) {
3415
3415
  case mi:
3416
3416
  e: {
3417
- for (var Z = f.key, b = d; b !== null; ) {
3418
- if (b.key === Z) {
3417
+ for (var Z = f.key, v = d; v !== null; ) {
3418
+ if (v.key === Z) {
3419
3419
  if (Z = f.type, Z === xt) {
3420
- if (b.tag === 7) {
3421
- n(g, b.sibling), d = r(b, f.props.children), d.return = g, g = d;
3420
+ if (v.tag === 7) {
3421
+ n(g, v.sibling), d = r(v, f.props.children), d.return = g, g = d;
3422
3422
  break e;
3423
3423
  }
3424
- } else if (b.elementType === Z || typeof Z == "object" && Z !== null && Z.$$typeof === tt && qs(Z) === b.type) {
3425
- n(g, b.sibling), d = r(b, f.props), d.ref = bn(g, b, f), d.return = g, g = d;
3424
+ } else if (v.elementType === Z || typeof Z == "object" && Z !== null && Z.$$typeof === tt && qs(Z) === v.type) {
3425
+ n(g, v.sibling), d = r(v, f.props), d.ref = vn(g, v, f), d.return = g, g = d;
3426
3426
  break e;
3427
3427
  }
3428
- n(g, b);
3428
+ n(g, v);
3429
3429
  break;
3430
3430
  } else
3431
- t(g, b);
3432
- b = b.sibling;
3431
+ t(g, v);
3432
+ v = v.sibling;
3433
3433
  }
3434
- f.type === xt ? (d = At(f.props.children, g.mode, C, f.key), d.return = g, g = d) : (C = xi(f.type, f.key, f.props, null, g.mode, C), C.ref = bn(g, d, f), C.return = g, g = C);
3434
+ f.type === xt ? (d = At(f.props.children, g.mode, C, f.key), d.return = g, g = d) : (C = xi(f.type, f.key, f.props, null, g.mode, C), C.ref = vn(g, d, f), C.return = g, g = C);
3435
3435
  }
3436
3436
  return o(g);
3437
3437
  case zt:
3438
3438
  e: {
3439
- for (b = f.key; d !== null; ) {
3440
- if (d.key === b)
3439
+ for (v = f.key; d !== null; ) {
3440
+ if (d.key === v)
3441
3441
  if (d.tag === 4 && d.stateNode.containerInfo === f.containerInfo && d.stateNode.implementation === f.implementation) {
3442
3442
  n(g, d.sibling), d = r(d, f.children || []), d.return = g, g = d;
3443
3443
  break e;
@@ -3453,7 +3453,7 @@ function nc(e) {
3453
3453
  }
3454
3454
  return o(g);
3455
3455
  case tt:
3456
- return b = f._init, G(g, d, b(f._payload), C);
3456
+ return v = f._init, G(g, d, v(f._payload), C);
3457
3457
  }
3458
3458
  if (An(f))
3459
3459
  return h(g, d, f, C);
@@ -3468,7 +3468,7 @@ function nc(e) {
3468
3468
  var cn = nc(!0), ic = nc(!1), di = {}, ze = It(di), qn = It(di), ei = It(di);
3469
3469
  function Xt(e) {
3470
3470
  if (e === di)
3471
- throw Error(v(174));
3471
+ throw Error(b(174));
3472
3472
  return e;
3473
3473
  }
3474
3474
  function Fo(e, t) {
@@ -3524,9 +3524,9 @@ function Mo() {
3524
3524
  il[e]._workInProgressVersionPrimary = null;
3525
3525
  il.length = 0;
3526
3526
  }
3527
- var Hi = $e.ReactCurrentDispatcher, rl = $e.ReactCurrentBatchConfig, Rt = 0, j = null, Q = null, P = null, ur = !1, On = !1, ti = 0, Ap = 0;
3527
+ var Hi = $e.ReactCurrentDispatcher, rl = $e.ReactCurrentBatchConfig, Rt = 0, j = null, Q = null, P = null, ur = !1, On = !1, ti = 0, Np = 0;
3528
3528
  function ne() {
3529
- throw Error(v(321));
3529
+ throw Error(b(321));
3530
3530
  }
3531
3531
  function zo(e, t) {
3532
3532
  if (t === null)
@@ -3537,16 +3537,16 @@ function zo(e, t) {
3537
3537
  return !0;
3538
3538
  }
3539
3539
  function xo(e, t, n, i, r, l) {
3540
- if (Rt = l, j = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, Hi.current = e === null || e.memoizedState === null ? kp : Bp, e = n(i, r), On) {
3540
+ if (Rt = l, j = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, Hi.current = e === null || e.memoizedState === null ? Bp : Vp, e = n(i, r), On) {
3541
3541
  l = 0;
3542
3542
  do {
3543
3543
  if (On = !1, ti = 0, 25 <= l)
3544
- throw Error(v(301));
3545
- l += 1, P = Q = null, t.updateQueue = null, Hi.current = Vp, e = n(i, r);
3544
+ throw Error(b(301));
3545
+ l += 1, P = Q = null, t.updateQueue = null, Hi.current = Kp, e = n(i, r);
3546
3546
  } while (On);
3547
3547
  }
3548
3548
  if (Hi.current = ar, t = Q !== null && Q.next !== null, Rt = 0, P = Q = j = null, ur = !1, t)
3549
- throw Error(v(300));
3549
+ throw Error(b(300));
3550
3550
  return e;
3551
3551
  }
3552
3552
  function To() {
@@ -3568,7 +3568,7 @@ function Ye() {
3568
3568
  P = t, Q = e;
3569
3569
  else {
3570
3570
  if (e === null)
3571
- throw Error(v(310));
3571
+ throw Error(b(310));
3572
3572
  Q = e, e = { memoizedState: Q.memoizedState, baseState: Q.baseState, baseQueue: Q.baseQueue, queue: Q.queue, next: null }, P === null ? j.memoizedState = P = e : P = P.next = e;
3573
3573
  }
3574
3574
  return P;
@@ -3579,7 +3579,7 @@ function ni(e, t) {
3579
3579
  function ll(e) {
3580
3580
  var t = Ye(), n = t.queue;
3581
3581
  if (n === null)
3582
- throw Error(v(311));
3582
+ throw Error(b(311));
3583
3583
  n.lastRenderedReducer = e;
3584
3584
  var i = Q, r = i.baseQueue, l = n.pending;
3585
3585
  if (l !== null) {
@@ -3622,7 +3622,7 @@ function ll(e) {
3622
3622
  function ol(e) {
3623
3623
  var t = Ye(), n = t.queue;
3624
3624
  if (n === null)
3625
- throw Error(v(311));
3625
+ throw Error(b(311));
3626
3626
  n.lastRenderedReducer = e;
3627
3627
  var i = n.dispatch, r = n.pending, l = t.memoizedState;
3628
3628
  if (r !== null) {
@@ -3641,7 +3641,7 @@ function oc(e, t) {
3641
3641
  var n = j, i = Ye(), r = t(), l = !Ke(i.memoizedState, r);
3642
3642
  if (l && (i.memoizedState = r, ge = !0), i = i.queue, Jo(ac.bind(null, n, i, e), [e]), i.getSnapshot !== t || l || P !== null && P.memoizedState.tag & 1) {
3643
3643
  if (n.flags |= 2048, ii(9, uc.bind(null, n, i, r, t), void 0, null), _ === null)
3644
- throw Error(v(349));
3644
+ throw Error(b(349));
3645
3645
  Rt & 30 || sc(n, t, r);
3646
3646
  }
3647
3647
  return r;
@@ -3673,7 +3673,7 @@ function dc(e) {
3673
3673
  }
3674
3674
  function eu(e) {
3675
3675
  var t = He();
3676
- return typeof e == "function" && (e = e()), t.memoizedState = t.baseState = e, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: ni, lastRenderedState: e }, t.queue = e, e = e.dispatch = Rp.bind(null, j, e), [t.memoizedState, e];
3676
+ return typeof e == "function" && (e = e()), t.memoizedState = t.baseState = e, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: ni, lastRenderedState: e }, t.queue = e, e = e.dispatch = kp.bind(null, j, e), [t.memoizedState, e];
3677
3677
  }
3678
3678
  function ii(e, t, n, i) {
3679
3679
  return e = { tag: e, create: t, destroy: n, deps: i, next: null }, t = j.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, j.updateQueue = t, t.lastEffect = e.next = e) : (n = t.lastEffect, n === null ? t.lastEffect = e.next = e : (i = n.next, n.next = e, e.next = i, t.lastEffect = e)), e;
@@ -3738,9 +3738,9 @@ function Ic(e, t) {
3738
3738
  return i !== null && t !== null && zo(t, i[1]) ? i[0] : (e = e(), n.memoizedState = [e, t], e);
3739
3739
  }
3740
3740
  function yc(e, t, n) {
3741
- return Rt & 21 ? (Ke(n, t) || (n = ba(), j.lanes |= n, kt |= n, e.baseState = !0), t) : (e.baseState && (e.baseState = !1, ge = !0), e.memoizedState = n);
3741
+ return Rt & 21 ? (Ke(n, t) || (n = va(), j.lanes |= n, kt |= n, e.baseState = !0), t) : (e.baseState && (e.baseState = !1, ge = !0), e.memoizedState = n);
3742
3742
  }
3743
- function Np(e, t) {
3743
+ function Sp(e, t) {
3744
3744
  var n = k;
3745
3745
  k = n !== 0 && 4 > n ? n : 4, e(!0);
3746
3746
  var i = rl.transition;
@@ -3754,19 +3754,19 @@ function Np(e, t) {
3754
3754
  function Zc() {
3755
3755
  return Ye().memoizedState;
3756
3756
  }
3757
- function Sp(e, t, n) {
3757
+ function Rp(e, t, n) {
3758
3758
  var i = pt(e);
3759
- if (n = { lane: i, action: n, hasEagerState: !1, eagerState: null, next: null }, vc(e))
3760
- bc(t, n);
3759
+ if (n = { lane: i, action: n, hasEagerState: !1, eagerState: null, next: null }, bc(e))
3760
+ vc(t, n);
3761
3761
  else if (n = $a(e, t, n, i), n !== null) {
3762
3762
  var r = ue();
3763
3763
  Ve(n, e, i, r), wc(n, t, i);
3764
3764
  }
3765
3765
  }
3766
- function Rp(e, t, n) {
3766
+ function kp(e, t, n) {
3767
3767
  var i = pt(e), r = { lane: i, action: n, hasEagerState: !1, eagerState: null, next: null };
3768
- if (vc(e))
3769
- bc(t, r);
3768
+ if (bc(e))
3769
+ vc(t, r);
3770
3770
  else {
3771
3771
  var l = e.alternate;
3772
3772
  if (e.lanes === 0 && (l === null || l.lanes === 0) && (l = t.lastRenderedReducer, l !== null))
@@ -3783,11 +3783,11 @@ function Rp(e, t, n) {
3783
3783
  n = $a(e, t, r, i), n !== null && (r = ue(), Ve(n, e, i, r), wc(n, t, i));
3784
3784
  }
3785
3785
  }
3786
- function vc(e) {
3786
+ function bc(e) {
3787
3787
  var t = e.alternate;
3788
3788
  return e === j || t !== null && t === j;
3789
3789
  }
3790
- function bc(e, t) {
3790
+ function vc(e, t) {
3791
3791
  On = ur = !0;
3792
3792
  var n = e.pending;
3793
3793
  n === null ? t.next = t : (t.next = n.next, n.next = t), e.pending = t;
@@ -3798,7 +3798,7 @@ function wc(e, t, n) {
3798
3798
  i &= e.pendingLanes, n |= i, t.lanes = n, wo(e, n);
3799
3799
  }
3800
3800
  }
3801
- var ar = { readContext: Xe, useCallback: ne, useContext: ne, useEffect: ne, useImperativeHandle: ne, useInsertionEffect: ne, useLayoutEffect: ne, useMemo: ne, useReducer: ne, useRef: ne, useState: ne, useDebugValue: ne, useDeferredValue: ne, useTransition: ne, useMutableSource: ne, useSyncExternalStore: ne, useId: ne, unstable_isNewReconciler: !1 }, kp = { readContext: Xe, useCallback: function(e, t) {
3801
+ var ar = { readContext: Xe, useCallback: ne, useContext: ne, useEffect: ne, useImperativeHandle: ne, useInsertionEffect: ne, useLayoutEffect: ne, useMemo: ne, useReducer: ne, useRef: ne, useState: ne, useDebugValue: ne, useDeferredValue: ne, useTransition: ne, useMutableSource: ne, useSyncExternalStore: ne, useId: ne, unstable_isNewReconciler: !1 }, Bp = { readContext: Xe, useCallback: function(e, t) {
3802
3802
  return He().memoizedState = [e, t === void 0 ? null : t], e;
3803
3803
  }, useContext: Xe, useEffect: tu, useImperativeHandle: function(e, t, n) {
3804
3804
  return n = n != null ? n.concat([e]) : null, Fi(
@@ -3816,7 +3816,7 @@ var ar = { readContext: Xe, useCallback: ne, useContext: ne, useEffect: ne, useI
3816
3816
  return t = t === void 0 ? null : t, e = e(), n.memoizedState = [e, t], e;
3817
3817
  }, useReducer: function(e, t, n) {
3818
3818
  var i = He();
3819
- return t = n !== void 0 ? n(t) : t, i.memoizedState = i.baseState = t, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: e, lastRenderedState: t }, i.queue = e, e = e.dispatch = Sp.bind(null, j, e), [i.memoizedState, e];
3819
+ return t = n !== void 0 ? n(t) : t, i.memoizedState = i.baseState = t, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: e, lastRenderedState: t }, i.queue = e, e = e.dispatch = Rp.bind(null, j, e), [i.memoizedState, e];
3820
3820
  }, useRef: function(e) {
3821
3821
  var t = He();
3822
3822
  return e = { current: e }, t.memoizedState = e;
@@ -3824,17 +3824,17 @@ var ar = { readContext: Xe, useCallback: ne, useContext: ne, useEffect: ne, useI
3824
3824
  return He().memoizedState = e;
3825
3825
  }, useTransition: function() {
3826
3826
  var e = eu(!1), t = e[0];
3827
- return e = Np.bind(null, e[1]), He().memoizedState = e, [t, e];
3827
+ return e = Sp.bind(null, e[1]), He().memoizedState = e, [t, e];
3828
3828
  }, useMutableSource: function() {
3829
3829
  }, useSyncExternalStore: function(e, t, n) {
3830
3830
  var i = j, r = He();
3831
3831
  if (O) {
3832
3832
  if (n === void 0)
3833
- throw Error(v(407));
3833
+ throw Error(b(407));
3834
3834
  n = n();
3835
3835
  } else {
3836
3836
  if (n = t(), _ === null)
3837
- throw Error(v(349));
3837
+ throw Error(b(349));
3838
3838
  Rt & 30 || sc(i, t, n);
3839
3839
  }
3840
3840
  r.memoizedState = n;
@@ -3851,9 +3851,9 @@ var ar = { readContext: Xe, useCallback: ne, useContext: ne, useEffect: ne, useI
3851
3851
  var n = De, i = Je;
3852
3852
  n = (i & ~(1 << 32 - Be(i) - 1)).toString(32) + n, t = ":" + t + "R" + n, n = ti++, 0 < n && (t += "H" + n.toString(32)), t += ":";
3853
3853
  } else
3854
- n = Ap++, t = ":" + t + "r" + n.toString(32) + ":";
3854
+ n = Np++, t = ":" + t + "r" + n.toString(32) + ":";
3855
3855
  return e.memoizedState = t;
3856
- }, unstable_isNewReconciler: !1 }, Bp = {
3856
+ }, unstable_isNewReconciler: !1 }, Vp = {
3857
3857
  readContext: Xe,
3858
3858
  useCallback: Cc,
3859
3859
  useContext: Xe,
@@ -3880,7 +3880,7 @@ var ar = { readContext: Xe, useCallback: ne, useContext: ne, useEffect: ne, useI
3880
3880
  useSyncExternalStore: oc,
3881
3881
  useId: Zc,
3882
3882
  unstable_isNewReconciler: !1
3883
- }, Vp = { readContext: Xe, useCallback: Cc, useContext: Xe, useEffect: Jo, useImperativeHandle: hc, useInsertionEffect: pc, useLayoutEffect: fc, useMemo: Ic, useReducer: ol, useRef: gc, useState: function() {
3883
+ }, Kp = { readContext: Xe, useCallback: Cc, useContext: Xe, useEffect: Jo, useImperativeHandle: hc, useInsertionEffect: pc, useLayoutEffect: fc, useMemo: Ic, useReducer: ol, useRef: gc, useState: function() {
3884
3884
  return ol(ni);
3885
3885
  }, useDebugValue: Do, useDeferredValue: function(e) {
3886
3886
  var t = Ye();
@@ -3893,7 +3893,7 @@ function gn(e, t) {
3893
3893
  try {
3894
3894
  var n = "", i = t;
3895
3895
  do
3896
- n += ag(i), i = i.return;
3896
+ n += cg(i), i = i.return;
3897
3897
  while (i);
3898
3898
  var r = n;
3899
3899
  } catch (l) {
@@ -3915,7 +3915,7 @@ function Dl(e, t) {
3915
3915
  });
3916
3916
  }
3917
3917
  }
3918
- var Kp = typeof WeakMap == "function" ? WeakMap : Map;
3918
+ var Op = typeof WeakMap == "function" ? WeakMap : Map;
3919
3919
  function Wc(e, t, n) {
3920
3920
  n = Qe(-1, n), n.tag = 3, n.payload = { element: null };
3921
3921
  var i = t.value;
@@ -3944,12 +3944,12 @@ function Lc(e, t, n) {
3944
3944
  function nu(e, t, n) {
3945
3945
  var i = e.pingCache;
3946
3946
  if (i === null) {
3947
- i = e.pingCache = new Kp();
3947
+ i = e.pingCache = new Op();
3948
3948
  var r = /* @__PURE__ */ new Set();
3949
3949
  i.set(t, r);
3950
3950
  } else
3951
3951
  r = i.get(t), r === void 0 && (r = /* @__PURE__ */ new Set(), i.set(t, r));
3952
- r.has(n) || (r.add(n), e = Pp.bind(null, e, t, n), t.then(e, e));
3952
+ r.has(n) || (r.add(n), e = _p.bind(null, e, t, n), t.then(e, e));
3953
3953
  }
3954
3954
  function iu(e) {
3955
3955
  do {
@@ -3963,7 +3963,7 @@ function iu(e) {
3963
3963
  function ru(e, t, n, i, r) {
3964
3964
  return e.mode & 1 ? (e.flags |= 65536, e.lanes = r, e) : (e === t ? e.flags |= 65536 : (e.flags |= 128, n.flags |= 131072, n.flags &= -52805, n.tag === 1 && (n.alternate === null ? n.tag = 17 : (t = Qe(-1, 1), t.tag = 2, dt(n, t, 1))), n.lanes |= 1), e);
3965
3965
  }
3966
- var Op = $e.ReactCurrentOwner, ge = !1;
3966
+ var Hp = $e.ReactCurrentOwner, ge = !1;
3967
3967
  function se(e, t, n, i) {
3968
3968
  t.child = e === null ? ic(t, null, n, i) : cn(t, e.child, n, i);
3969
3969
  }
@@ -4048,7 +4048,7 @@ function El(e, t, n, i, r, l) {
4048
4048
  var o = (t.flags & 128) !== 0;
4049
4049
  if (!i && !o)
4050
4050
  return r && Ds(t, n, !1), _e(e, t, l);
4051
- i = t.stateNode, Op.current = t;
4051
+ i = t.stateNode, Hp.current = t;
4052
4052
  var s = o && typeof n.getDerivedStateFromError != "function" ? null : i.render();
4053
4053
  return t.flags |= 1, e !== null && o ? (t.child = cn(t, e.child, null, l), t.child = cn(t, null, s, l)) : se(e, t, s, l), t.memoizedState = i.state, r && Ds(t, n, !0), t.child;
4054
4054
  }
@@ -4068,7 +4068,7 @@ function Nc(e, t, n) {
4068
4068
  if ((s = o) || (s = e !== null && e.memoizedState === null ? !1 : (r & 2) !== 0), s ? (l = !0, t.flags &= -129) : (e === null || e.memoizedState !== null) && (r |= 1), B(F, r & 1), e === null)
4069
4069
  return zl(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) : (o = i.children, e = i.fallback, l ? (i = t.mode, l = t.child, o = { mode: "hidden", children: o }, !(i & 1) && l !== null ? (l.childLanes = 0, l.pendingProps = o) : l = Sr(o, i, 0, null), e = At(e, i, n, null), l.return = t, e.return = t, l.sibling = e, t.child = l, t.child.memoizedState = Pl(n), t.memoizedState = Ul, e) : Qo(t, o));
4070
4070
  if (r = e.memoizedState, r !== null && (s = r.dehydrated, s !== null))
4071
- return Hp(e, t, o, i, s, r, n);
4071
+ return Fp(e, t, o, i, s, r, n);
4072
4072
  if (l) {
4073
4073
  l = i.fallback, o = t.mode, r = e.child, s = r.sibling;
4074
4074
  var u = { mode: "hidden", children: i.children };
@@ -4082,15 +4082,15 @@ function Qo(e, t) {
4082
4082
  function Xi(e, t, n, i) {
4083
4083
  return i !== null && ko(i), cn(t, e.child, null, n), e = Qo(t, t.pendingProps.children), e.flags |= 2, t.memoizedState = null, e;
4084
4084
  }
4085
- function Hp(e, t, n, i, r, l, o) {
4085
+ function Fp(e, t, n, i, r, l, o) {
4086
4086
  if (n)
4087
- return t.flags & 256 ? (t.flags &= -257, i = sl(Error(v(422))), Xi(e, t, o, i)) : t.memoizedState !== null ? (t.child = e.child, t.flags |= 128, null) : (l = i.fallback, r = t.mode, i = Sr({ mode: "visible", children: i.children }, r, 0, null), l = At(l, r, o, null), l.flags |= 2, i.return = t, l.return = t, i.sibling = l, t.child = i, t.mode & 1 && cn(t, e.child, null, o), t.child.memoizedState = Pl(o), t.memoizedState = Ul, l);
4087
+ return t.flags & 256 ? (t.flags &= -257, i = sl(Error(b(422))), Xi(e, t, o, i)) : t.memoizedState !== null ? (t.child = e.child, t.flags |= 128, null) : (l = i.fallback, r = t.mode, i = Sr({ mode: "visible", children: i.children }, r, 0, null), l = At(l, r, o, null), l.flags |= 2, i.return = t, l.return = t, i.sibling = l, t.child = i, t.mode & 1 && cn(t, e.child, null, o), t.child.memoizedState = Pl(o), t.memoizedState = Ul, l);
4088
4088
  if (!(t.mode & 1))
4089
4089
  return Xi(e, t, o, null);
4090
4090
  if (r.data === "$!") {
4091
4091
  if (i = r.nextSibling && r.nextSibling.dataset, i)
4092
4092
  var s = i.dgst;
4093
- return i = s, l = Error(v(419)), i = sl(l, i, void 0), Xi(e, t, o, i);
4093
+ return i = s, l = Error(b(419)), i = sl(l, i, void 0), Xi(e, t, o, i);
4094
4094
  }
4095
4095
  if (s = (o & e.childLanes) !== 0, ge || s) {
4096
4096
  if (i = _, i !== null) {
@@ -4132,9 +4132,9 @@ function Hp(e, t, n, i, r, l, o) {
4132
4132
  }
4133
4133
  r = r & (i.suspendedLanes | o) ? 0 : r, r !== 0 && r !== l.retryLane && (l.retryLane = r, Pe(e, r), Ve(i, e, r, -1));
4134
4134
  }
4135
- return qo(), i = sl(Error(v(421))), Xi(e, t, o, i);
4135
+ return qo(), i = sl(Error(b(421))), Xi(e, t, o, i);
4136
4136
  }
4137
- return r.data === "$?" ? (t.flags |= 128, t.child = e.child, t = _p.bind(null, e), r._reactRetry = t, null) : (e = l.treeContext, Ce = ct(r.nextSibling), Ie = t, O = !0, ke = null, e !== null && (we[We++] = Je, we[We++] = De, we[We++] = St, Je = e.id, De = e.overflow, St = t), t = Qo(t, i.children), t.flags |= 4096, t);
4137
+ return r.data === "$?" ? (t.flags |= 128, t.child = e.child, t = $p.bind(null, e), r._reactRetry = t, null) : (e = l.treeContext, Ce = ct(r.nextSibling), Ie = t, O = !0, ke = null, e !== null && (we[We++] = Je, we[We++] = De, we[We++] = St, Je = e.id, De = e.overflow, St = t), t = Qo(t, i.children), t.flags |= 4096, t);
4138
4138
  }
4139
4139
  function au(e, t, n) {
4140
4140
  e.lanes |= t;
@@ -4206,7 +4206,7 @@ function _e(e, t, n) {
4206
4206
  if (e !== null && (t.dependencies = e.dependencies), kt |= t.lanes, !(n & t.childLanes))
4207
4207
  return null;
4208
4208
  if (e !== null && t.child !== e.child)
4209
- throw Error(v(153));
4209
+ throw Error(b(153));
4210
4210
  if (t.child !== null) {
4211
4211
  for (e = t.child, n = ft(e, e.pendingProps), t.child = n, n.return = t; e.sibling !== null; )
4212
4212
  e = e.sibling, n = n.sibling = ft(e, e.pendingProps), n.return = t;
@@ -4214,7 +4214,7 @@ function _e(e, t, n) {
4214
4214
  }
4215
4215
  return t.child;
4216
4216
  }
4217
- function Fp(e, t, n) {
4217
+ function jp(e, t, n) {
4218
4218
  switch (t.tag) {
4219
4219
  case 3:
4220
4220
  Ac(t), an();
@@ -4286,7 +4286,7 @@ kc = function(e, t, n, i) {
4286
4286
  r = M({}, r, { value: void 0 }), i = M({}, i, { value: void 0 }), l = [];
4287
4287
  break;
4288
4288
  case "textarea":
4289
- r = bl(e, r), i = bl(e, i), l = [];
4289
+ r = vl(e, r), i = vl(e, i), l = [];
4290
4290
  break;
4291
4291
  default:
4292
4292
  typeof r.onClick != "function" && typeof i.onClick == "function" && (e.onclick = qi);
@@ -4353,7 +4353,7 @@ function ie(e) {
4353
4353
  n |= r.lanes | r.childLanes, i |= r.subtreeFlags, i |= r.flags, r.return = e, r = r.sibling;
4354
4354
  return e.subtreeFlags |= i, e.childLanes = n, t;
4355
4355
  }
4356
- function jp(e, t, n) {
4356
+ function Mp(e, t, n) {
4357
4357
  var i = t.pendingProps;
4358
4358
  switch (Ro(t), t.tag) {
4359
4359
  case 2:
@@ -4379,7 +4379,7 @@ function jp(e, t, n) {
4379
4379
  else {
4380
4380
  if (!i) {
4381
4381
  if (t.stateNode === null)
4382
- throw Error(v(166));
4382
+ throw Error(b(166));
4383
4383
  return ie(t), null;
4384
4384
  }
4385
4385
  if (e = Xt(ze.current), Li(t)) {
@@ -4437,7 +4437,7 @@ function jp(e, t, n) {
4437
4437
  hi(i), ys(i, l, !0);
4438
4438
  break;
4439
4439
  case "textarea":
4440
- hi(i), vs(i);
4440
+ hi(i), bs(i);
4441
4441
  break;
4442
4442
  case "select":
4443
4443
  case "option":
@@ -4488,7 +4488,7 @@ function jp(e, t, n) {
4488
4488
  e._wrapperState = { wasMultiple: !!i.multiple }, r = M({}, i, { value: void 0 }), V("invalid", e);
4489
4489
  break;
4490
4490
  case "textarea":
4491
- Zs(e, i), r = bl(e, i), V("invalid", e);
4491
+ Zs(e, i), r = vl(e, i), V("invalid", e);
4492
4492
  break;
4493
4493
  default:
4494
4494
  r = i;
@@ -4504,7 +4504,7 @@ function jp(e, t, n) {
4504
4504
  hi(e), ys(e, i, !1);
4505
4505
  break;
4506
4506
  case "textarea":
4507
- hi(e), vs(e);
4507
+ hi(e), bs(e);
4508
4508
  break;
4509
4509
  case "option":
4510
4510
  i.value != null && e.setAttribute("value", "" + mt(i.value));
@@ -4544,7 +4544,7 @@ function jp(e, t, n) {
4544
4544
  Bc(e, t, e.memoizedProps, i);
4545
4545
  else {
4546
4546
  if (typeof i != "string" && t.stateNode === null)
4547
- throw Error(v(166));
4547
+ throw Error(b(166));
4548
4548
  if (n = Xt(ei.current), Xt(ze.current), Li(t)) {
4549
4549
  if (i = t.stateNode, n = t.memoizedProps, i[Fe] = t, (l = i.nodeValue !== n) && (e = Ie, e !== null))
4550
4550
  switch (e.tag) {
@@ -4566,9 +4566,9 @@ function jp(e, t, n) {
4566
4566
  else if (l = Li(t), i !== null && i.dehydrated !== null) {
4567
4567
  if (e === null) {
4568
4568
  if (!l)
4569
- throw Error(v(318));
4569
+ throw Error(b(318));
4570
4570
  if (l = t.memoizedState, l = l !== null ? l.dehydrated : null, !l)
4571
- throw Error(v(317));
4571
+ throw Error(b(317));
4572
4572
  l[Fe] = t;
4573
4573
  } else
4574
4574
  an(), !(t.flags & 128) && (t.memoizedState = null), t.flags |= 4;
@@ -4621,9 +4621,9 @@ function jp(e, t, n) {
4621
4621
  case 25:
4622
4622
  return null;
4623
4623
  }
4624
- throw Error(v(156, t.tag));
4624
+ throw Error(b(156, t.tag));
4625
4625
  }
4626
- function Mp(e, t) {
4626
+ function zp(e, t) {
4627
4627
  switch (Ro(t), t.tag) {
4628
4628
  case 1:
4629
4629
  return fe(t.type) && er(), e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null;
@@ -4634,7 +4634,7 @@ function Mp(e, t) {
4634
4634
  case 13:
4635
4635
  if (K(F), e = t.memoizedState, e !== null && e.dehydrated !== null) {
4636
4636
  if (t.alternate === null)
4637
- throw Error(v(340));
4637
+ throw Error(b(340));
4638
4638
  an();
4639
4639
  }
4640
4640
  return e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null;
@@ -4653,7 +4653,7 @@ function Mp(e, t) {
4653
4653
  return null;
4654
4654
  }
4655
4655
  }
4656
- var Yi = !1, re = !1, zp = typeof WeakSet == "function" ? WeakSet : Set, L = null;
4656
+ var Yi = !1, re = !1, xp = typeof WeakSet == "function" ? WeakSet : Set, L = null;
4657
4657
  function $t(e, t) {
4658
4658
  var n = e.ref;
4659
4659
  if (n !== null)
@@ -4674,7 +4674,7 @@ function $l(e, t, n) {
4674
4674
  }
4675
4675
  }
4676
4676
  var cu = !1;
4677
- function xp(e, t) {
4677
+ function Tp(e, t) {
4678
4678
  if (Vl = Pi, e = Ha(), No(e)) {
4679
4679
  if ("selectionStart" in e)
4680
4680
  var n = { start: e.selectionStart, end: e.selectionEnd };
@@ -4743,7 +4743,7 @@ function xp(e, t) {
4743
4743
  case 17:
4744
4744
  break;
4745
4745
  default:
4746
- throw Error(v(163));
4746
+ throw Error(b(163));
4747
4747
  }
4748
4748
  } catch (C) {
4749
4749
  z(t, t.return, C);
@@ -4797,7 +4797,7 @@ function ql(e) {
4797
4797
  }
4798
4798
  function Vc(e) {
4799
4799
  var t = e.alternate;
4800
- t !== null && (e.alternate = null, Vc(t)), e.child = null, e.deletions = null, e.sibling = null, e.tag === 5 && (t = e.stateNode, t !== null && (delete t[Fe], delete t[$n], delete t[Fl], delete t[Lp], delete t[Gp])), e.stateNode = null, e.return = null, e.dependencies = null, e.memoizedProps = null, e.memoizedState = null, e.pendingProps = null, e.stateNode = null, e.updateQueue = null;
4800
+ t !== null && (e.alternate = null, Vc(t)), e.child = null, e.deletions = null, e.sibling = null, e.tag === 5 && (t = e.stateNode, t !== null && (delete t[Fe], delete t[$n], delete t[Fl], delete t[Gp], delete t[Xp])), e.stateNode = null, e.return = null, e.dependencies = null, e.memoizedProps = null, e.memoizedState = null, e.pendingProps = null, e.stateNode = null, e.updateQueue = null;
4801
4801
  }
4802
4802
  function Kc(e) {
4803
4803
  return e.tag === 5 || e.tag === 3 || e.tag === 4;
@@ -4843,7 +4843,7 @@ function et(e, t, n) {
4843
4843
  function Oc(e, t, n) {
4844
4844
  if (Me && typeof Me.onCommitFiberUnmount == "function")
4845
4845
  try {
4846
- Me.onCommitFiberUnmount(vr, n);
4846
+ Me.onCommitFiberUnmount(br, n);
4847
4847
  } catch {
4848
4848
  }
4849
4849
  switch (n.tag) {
@@ -4896,8 +4896,8 @@ function gu(e) {
4896
4896
  if (t !== null) {
4897
4897
  e.updateQueue = null;
4898
4898
  var n = e.stateNode;
4899
- n === null && (n = e.stateNode = new zp()), t.forEach(function(i) {
4900
- var r = $p.bind(null, e, i);
4899
+ n === null && (n = e.stateNode = new xp()), t.forEach(function(i) {
4900
+ var r = qp.bind(null, e, i);
4901
4901
  n.has(i) || (n.add(i), i.then(r, r));
4902
4902
  });
4903
4903
  }
@@ -4925,7 +4925,7 @@ function Ne(e, t) {
4925
4925
  s = s.return;
4926
4926
  }
4927
4927
  if (q === null)
4928
- throw Error(v(160));
4928
+ throw Error(b(160));
4929
4929
  Oc(l, o, r), q = null, Re = !1;
4930
4930
  var u = r.alternate;
4931
4931
  u !== null && (u.return = null), r.return = null;
@@ -5006,7 +5006,7 @@ function Hc(e, t) {
5006
5006
  case 6:
5007
5007
  if (Ne(t, e), Oe(e), i & 4) {
5008
5008
  if (e.stateNode === null)
5009
- throw Error(v(162));
5009
+ throw Error(b(162));
5010
5010
  r = e.stateNode, l = e.memoizedProps;
5011
5011
  try {
5012
5012
  r.nodeValue = l;
@@ -5123,7 +5123,7 @@ function Oe(e) {
5123
5123
  }
5124
5124
  n = n.return;
5125
5125
  }
5126
- throw Error(v(160));
5126
+ throw Error(b(160));
5127
5127
  }
5128
5128
  switch (i.tag) {
5129
5129
  case 5:
@@ -5138,7 +5138,7 @@ function Oe(e) {
5138
5138
  eo(e, s, o);
5139
5139
  break;
5140
5140
  default:
5141
- throw Error(v(161));
5141
+ throw Error(b(161));
5142
5142
  }
5143
5143
  } catch (u) {
5144
5144
  z(e, e.return, u);
@@ -5147,7 +5147,7 @@ function Oe(e) {
5147
5147
  }
5148
5148
  t & 4096 && (e.flags &= -4097);
5149
5149
  }
5150
- function Tp(e, t, n) {
5150
+ function Jp(e, t, n) {
5151
5151
  L = e, Fc(e);
5152
5152
  }
5153
5153
  function Fc(e, t, n) {
@@ -5253,7 +5253,7 @@ function pu(e) {
5253
5253
  case 25:
5254
5254
  break;
5255
5255
  default:
5256
- throw Error(v(163));
5256
+ throw Error(b(163));
5257
5257
  }
5258
5258
  re || t.flags & 512 && ql(t);
5259
5259
  } catch (c) {
@@ -5341,33 +5341,33 @@ function mu(e) {
5341
5341
  L = t.return;
5342
5342
  }
5343
5343
  }
5344
- var Jp = Math.ceil, cr = $e.ReactCurrentDispatcher, Eo = $e.ReactCurrentOwner, Ge = $e.ReactCurrentBatchConfig, R = 0, _ = null, D = null, ee = 0, he = 0, qt = It(0), E = 0, ri = null, kt = 0, Nr = 0, Uo = 0, Fn = null, de = null, Po = 0, pn = 1 / 0, xe = null, dr = !1, no = null, gt = null, Ai = !1, ot = null, gr = 0, jn = 0, io = null, Mi = -1, zi = 0;
5344
+ var Dp = Math.ceil, cr = $e.ReactCurrentDispatcher, Eo = $e.ReactCurrentOwner, Ge = $e.ReactCurrentBatchConfig, R = 0, _ = null, D = null, ee = 0, he = 0, qt = It(0), E = 0, ri = null, kt = 0, Nr = 0, Uo = 0, Fn = null, de = null, Po = 0, pn = 1 / 0, xe = null, dr = !1, no = null, gt = null, Ai = !1, ot = null, gr = 0, jn = 0, io = null, Mi = -1, zi = 0;
5345
5345
  function ue() {
5346
5346
  return R & 6 ? T() : Mi !== -1 ? Mi : Mi = T();
5347
5347
  }
5348
5348
  function pt(e) {
5349
- return e.mode & 1 ? R & 2 && ee !== 0 ? ee & -ee : Yp.transition !== null ? (zi === 0 && (zi = ba()), zi) : (e = k, e !== 0 || (e = window.event, e = e === void 0 ? 16 : Aa(e.type)), e) : 1;
5349
+ return e.mode & 1 ? R & 2 && ee !== 0 ? ee & -ee : Ap.transition !== null ? (zi === 0 && (zi = va()), zi) : (e = k, e !== 0 || (e = window.event, e = e === void 0 ? 16 : Aa(e.type)), e) : 1;
5350
5350
  }
5351
5351
  function Ve(e, t, n, i) {
5352
5352
  if (50 < jn)
5353
- throw jn = 0, io = null, Error(v(185));
5353
+ throw jn = 0, io = null, Error(b(185));
5354
5354
  ui(e, n, i), (!(R & 2) || e !== _) && (e === _ && (!(R & 2) && (Nr |= n), E === 4 && rt(e, ee)), me(e, i), n === 1 && R === 0 && !(t.mode & 1) && (pn = T() + 500, Gr && yt()));
5355
5355
  }
5356
5356
  function me(e, t) {
5357
5357
  var n = e.callbackNode;
5358
- Yg(e, t);
5358
+ Ag(e, t);
5359
5359
  var i = Ui(e, e === _ ? ee : 0);
5360
5360
  if (i === 0)
5361
5361
  n !== null && Ws(n), e.callbackNode = null, e.callbackPriority = 0;
5362
5362
  else if (t = i & -i, e.callbackPriority !== t) {
5363
5363
  if (n != null && Ws(n), t === 1)
5364
- e.tag === 0 ? Xp(hu.bind(null, e)) : Ea(hu.bind(null, e)), wp(function() {
5364
+ e.tag === 0 ? Yp(hu.bind(null, e)) : Ea(hu.bind(null, e)), Wp(function() {
5365
5365
  !(R & 6) && yt();
5366
5366
  }), n = null;
5367
5367
  else {
5368
5368
  switch (wa(i)) {
5369
5369
  case 1:
5370
- n = bo;
5370
+ n = vo;
5371
5371
  break;
5372
5372
  case 4:
5373
5373
  n = Za;
@@ -5376,7 +5376,7 @@ function me(e, t) {
5376
5376
  n = Ei;
5377
5377
  break;
5378
5378
  case 536870912:
5379
- n = va;
5379
+ n = ba;
5380
5380
  break;
5381
5381
  default:
5382
5382
  n = Ei;
@@ -5388,7 +5388,7 @@ function me(e, t) {
5388
5388
  }
5389
5389
  function jc(e, t) {
5390
5390
  if (Mi = -1, zi = 0, R & 6)
5391
- throw Error(v(327));
5391
+ throw Error(b(327));
5392
5392
  var n = e.callbackNode;
5393
5393
  if (on() && e.callbackNode !== n)
5394
5394
  return null;
@@ -5405,7 +5405,7 @@ function jc(e, t) {
5405
5405
  (_ !== e || ee !== t) && (xe = null, pn = T() + 500, Yt(e, t));
5406
5406
  do
5407
5407
  try {
5408
- Ep();
5408
+ Up();
5409
5409
  break;
5410
5410
  } catch (s) {
5411
5411
  Mc(e, s);
@@ -5419,12 +5419,12 @@ function jc(e, t) {
5419
5419
  if (t === 6)
5420
5420
  rt(e, i);
5421
5421
  else {
5422
- if (r = e.current.alternate, !(i & 30) && !Dp(r) && (t = pr(e, i), t === 2 && (l = Nl(e), l !== 0 && (i = l, t = ro(e, l))), t === 1))
5422
+ if (r = e.current.alternate, !(i & 30) && !Qp(r) && (t = pr(e, i), t === 2 && (l = Nl(e), l !== 0 && (i = l, t = ro(e, l))), t === 1))
5423
5423
  throw n = ri, Yt(e, 0), rt(e, i), me(e, T()), n;
5424
5424
  switch (e.finishedWork = r, e.finishedLanes = i, t) {
5425
5425
  case 0:
5426
5426
  case 1:
5427
- throw Error(v(345));
5427
+ throw Error(b(345));
5428
5428
  case 2:
5429
5429
  Wt(e, de, xe);
5430
5430
  break;
@@ -5448,7 +5448,7 @@ function jc(e, t) {
5448
5448
  var o = 31 - Be(i);
5449
5449
  l = 1 << o, o = t[o], o > r && (r = o), i &= ~l;
5450
5450
  }
5451
- if (i = r, i = T() - i, i = (120 > i ? 120 : 480 > i ? 480 : 1080 > i ? 1080 : 1920 > i ? 1920 : 3e3 > i ? 3e3 : 4320 > i ? 4320 : 1960 * Jp(i / 1960)) - i, 10 < i) {
5451
+ if (i = r, i = T() - i, i = (120 > i ? 120 : 480 > i ? 480 : 1080 > i ? 1080 : 1920 > i ? 1920 : 3e3 > i ? 3e3 : 4320 > i ? 4320 : 1960 * Dp(i / 1960)) - i, 10 < i) {
5452
5452
  e.timeoutHandle = Hl(Wt.bind(null, e, de, xe), i);
5453
5453
  break;
5454
5454
  }
@@ -5458,7 +5458,7 @@ function jc(e, t) {
5458
5458
  Wt(e, de, xe);
5459
5459
  break;
5460
5460
  default:
5461
- throw Error(v(329));
5461
+ throw Error(b(329));
5462
5462
  }
5463
5463
  }
5464
5464
  }
@@ -5471,7 +5471,7 @@ function ro(e, t) {
5471
5471
  function lo(e) {
5472
5472
  de === null ? de = e : de.push.apply(de, e);
5473
5473
  }
5474
- function Dp(e) {
5474
+ function Qp(e) {
5475
5475
  for (var t = e; ; ) {
5476
5476
  if (t.flags & 16384) {
5477
5477
  var n = t.updateQueue;
@@ -5510,7 +5510,7 @@ function rt(e, t) {
5510
5510
  }
5511
5511
  function hu(e) {
5512
5512
  if (R & 6)
5513
- throw Error(v(327));
5513
+ throw Error(b(327));
5514
5514
  on();
5515
5515
  var t = Ui(e, 0);
5516
5516
  if (!(t & 1))
@@ -5523,7 +5523,7 @@ function hu(e) {
5523
5523
  if (n === 1)
5524
5524
  throw n = ri, Yt(e, 0), rt(e, t), me(e, T()), n;
5525
5525
  if (n === 6)
5526
- throw Error(v(345));
5526
+ throw Error(b(345));
5527
5527
  return e.finishedWork = e.current.alternate, e.finishedLanes = t, Wt(e, de, xe), me(e, T()), null;
5528
5528
  }
5529
5529
  function _o(e, t) {
@@ -5553,7 +5553,7 @@ function $o() {
5553
5553
  function Yt(e, t) {
5554
5554
  e.finishedWork = null, e.finishedLanes = 0;
5555
5555
  var n = e.timeoutHandle;
5556
- if (n !== -1 && (e.timeoutHandle = -1, bp(n)), D !== null)
5556
+ if (n !== -1 && (e.timeoutHandle = -1, wp(n)), D !== null)
5557
5557
  for (n = D.return; n !== null; ) {
5558
5558
  var i = n;
5559
5559
  switch (Ro(i), i.tag) {
@@ -5637,7 +5637,7 @@ function Mc(e, t) {
5637
5637
  nu(l, a, t), qo();
5638
5638
  break e;
5639
5639
  }
5640
- u = Error(v(426));
5640
+ u = Error(b(426));
5641
5641
  }
5642
5642
  } else if (O && s.mode & 1) {
5643
5643
  var G = iu(o);
@@ -5689,22 +5689,22 @@ function pr(e, t) {
5689
5689
  (_ !== e || ee !== t) && (xe = null, Yt(e, t));
5690
5690
  do
5691
5691
  try {
5692
- Qp();
5692
+ Ep();
5693
5693
  break;
5694
5694
  } catch (r) {
5695
5695
  Mc(e, r);
5696
5696
  }
5697
5697
  while (1);
5698
5698
  if (Vo(), R = n, cr.current = i, D !== null)
5699
- throw Error(v(261));
5699
+ throw Error(b(261));
5700
5700
  return _ = null, ee = 0, E;
5701
5701
  }
5702
- function Qp() {
5702
+ function Ep() {
5703
5703
  for (; D !== null; )
5704
5704
  xc(D);
5705
5705
  }
5706
- function Ep() {
5707
- for (; D !== null && !yg(); )
5706
+ function Up() {
5707
+ for (; D !== null && !Zg(); )
5708
5708
  xc(D);
5709
5709
  }
5710
5710
  function xc(e) {
@@ -5716,7 +5716,7 @@ function Tc(e) {
5716
5716
  do {
5717
5717
  var n = t.alternate;
5718
5718
  if (e = t.return, t.flags & 32768) {
5719
- if (n = Mp(n, t), n !== null) {
5719
+ if (n = zp(n, t), n !== null) {
5720
5720
  n.flags &= 32767, D = n;
5721
5721
  return;
5722
5722
  }
@@ -5726,7 +5726,7 @@ function Tc(e) {
5726
5726
  E = 6, D = null;
5727
5727
  return;
5728
5728
  }
5729
- } else if (n = jp(n, t, he), n !== null) {
5729
+ } else if (n = Mp(n, t, he), n !== null) {
5730
5730
  D = n;
5731
5731
  return;
5732
5732
  }
@@ -5741,37 +5741,37 @@ function Tc(e) {
5741
5741
  function Wt(e, t, n) {
5742
5742
  var i = k, r = Ge.transition;
5743
5743
  try {
5744
- Ge.transition = null, k = 1, Up(e, t, n, i);
5744
+ Ge.transition = null, k = 1, Pp(e, t, n, i);
5745
5745
  } finally {
5746
5746
  Ge.transition = r, k = i;
5747
5747
  }
5748
5748
  return null;
5749
5749
  }
5750
- function Up(e, t, n, i) {
5750
+ function Pp(e, t, n, i) {
5751
5751
  do
5752
5752
  on();
5753
5753
  while (ot !== null);
5754
5754
  if (R & 6)
5755
- throw Error(v(327));
5755
+ throw Error(b(327));
5756
5756
  n = e.finishedWork;
5757
5757
  var r = e.finishedLanes;
5758
5758
  if (n === null)
5759
5759
  return null;
5760
5760
  if (e.finishedWork = null, e.finishedLanes = 0, n === e.current)
5761
- throw Error(v(177));
5761
+ throw Error(b(177));
5762
5762
  e.callbackNode = null, e.callbackPriority = 0;
5763
5763
  var l = n.lanes | n.childLanes;
5764
- if (Ag(e, l), e === _ && (D = _ = null, ee = 0), !(n.subtreeFlags & 2064) && !(n.flags & 2064) || Ai || (Ai = !0, Qc(Ei, function() {
5764
+ if (Ng(e, l), e === _ && (D = _ = null, ee = 0), !(n.subtreeFlags & 2064) && !(n.flags & 2064) || Ai || (Ai = !0, Qc(Ei, function() {
5765
5765
  return on(), null;
5766
5766
  })), l = (n.flags & 15990) !== 0, n.subtreeFlags & 15990 || l) {
5767
5767
  l = Ge.transition, Ge.transition = null;
5768
5768
  var o = k;
5769
5769
  k = 1;
5770
5770
  var s = R;
5771
- R |= 4, Eo.current = null, xp(e, n), Hc(n, e), mp(Kl), Pi = !!Vl, Kl = Vl = null, e.current = n, Tp(n), Zg(), R = s, k = o, Ge.transition = l;
5771
+ R |= 4, Eo.current = null, Tp(e, n), Hc(n, e), hp(Kl), Pi = !!Vl, Kl = Vl = null, e.current = n, Jp(n), bg(), R = s, k = o, Ge.transition = l;
5772
5772
  } else
5773
5773
  e.current = n;
5774
- if (Ai && (Ai = !1, ot = e, gr = r), l = e.pendingLanes, l === 0 && (gt = null), wg(n.stateNode), me(e, T()), t !== null)
5774
+ if (Ai && (Ai = !1, ot = e, gr = r), l = e.pendingLanes, l === 0 && (gt = null), Wg(n.stateNode), me(e, T()), t !== null)
5775
5775
  for (i = e.onRecoverableError, n = 0; n < t.length; n++)
5776
5776
  r = t[n], i(r.value, { componentStack: r.stack, digest: r.digest });
5777
5777
  if (dr)
@@ -5786,7 +5786,7 @@ function on() {
5786
5786
  var i = !1;
5787
5787
  else {
5788
5788
  if (e = ot, ot = null, gr = 0, R & 6)
5789
- throw Error(v(331));
5789
+ throw Error(b(331));
5790
5790
  var r = R;
5791
5791
  for (R |= 4, L = e.current; L !== null; ) {
5792
5792
  var l = L, o = l.child;
@@ -5890,7 +5890,7 @@ function on() {
5890
5890
  }
5891
5891
  if (R = r, yt(), Me && typeof Me.onPostCommitFiberRoot == "function")
5892
5892
  try {
5893
- Me.onPostCommitFiberRoot(vr, e);
5893
+ Me.onPostCommitFiberRoot(br, e);
5894
5894
  } catch {
5895
5895
  }
5896
5896
  i = !0;
@@ -5923,7 +5923,7 @@ function z(e, t, n) {
5923
5923
  t = t.return;
5924
5924
  }
5925
5925
  }
5926
- function Pp(e, t, n) {
5926
+ function _p(e, t, n) {
5927
5927
  var i = e.pingCache;
5928
5928
  i !== null && i.delete(t), t = ue(), e.pingedLanes |= e.suspendedLanes & n, _ === e && (ee & n) === n && (E === 4 || E === 3 && (ee & 130023424) === ee && 500 > T() - Po ? Yt(e, 0) : Uo |= n), me(e, t);
5929
5929
  }
@@ -5932,11 +5932,11 @@ function Jc(e, t) {
5932
5932
  var n = ue();
5933
5933
  e = Pe(e, t), e !== null && (ui(e, t, n), me(e, n));
5934
5934
  }
5935
- function _p(e) {
5935
+ function $p(e) {
5936
5936
  var t = e.memoizedState, n = 0;
5937
5937
  t !== null && (n = t.retryLane), Jc(e, n);
5938
5938
  }
5939
- function $p(e, t) {
5939
+ function qp(e, t) {
5940
5940
  var n = 0;
5941
5941
  switch (e.tag) {
5942
5942
  case 13:
@@ -5947,7 +5947,7 @@ function $p(e, t) {
5947
5947
  i = e.stateNode;
5948
5948
  break;
5949
5949
  default:
5950
- throw Error(v(314));
5950
+ throw Error(b(314));
5951
5951
  }
5952
5952
  i !== null && i.delete(t), Jc(e, n);
5953
5953
  }
@@ -5958,7 +5958,7 @@ Dc = function(e, t, n) {
5958
5958
  ge = !0;
5959
5959
  else {
5960
5960
  if (!(e.lanes & n) && !(t.flags & 128))
5961
- return ge = !1, Fp(e, t, n);
5961
+ return ge = !1, jp(e, t, n);
5962
5962
  ge = !!(e.flags & 131072);
5963
5963
  }
5964
5964
  else
@@ -5974,7 +5974,7 @@ Dc = function(e, t, n) {
5974
5974
  case 16:
5975
5975
  i = t.elementType;
5976
5976
  e: {
5977
- switch (ji(e, t), e = t.pendingProps, r = i._init, i = r(i._payload), t.type = i, r = t.tag = ef(i), e = Se(i, e), r) {
5977
+ switch (ji(e, t), e = t.pendingProps, r = i._init, i = r(i._payload), t.type = i, r = t.tag = tf(i), e = Se(i, e), r) {
5978
5978
  case 0:
5979
5979
  t = Ql(null, t, i, e, n);
5980
5980
  break e;
@@ -5988,7 +5988,7 @@ Dc = function(e, t, n) {
5988
5988
  t = ou(null, t, i, Se(i.type, e), n);
5989
5989
  break e;
5990
5990
  }
5991
- throw Error(v(
5991
+ throw Error(b(
5992
5992
  306,
5993
5993
  i,
5994
5994
  ""
@@ -6002,15 +6002,15 @@ Dc = function(e, t, n) {
6002
6002
  case 3:
6003
6003
  e: {
6004
6004
  if (Ac(t), e === null)
6005
- throw Error(v(387));
6005
+ throw Error(b(387));
6006
6006
  i = t.pendingProps, l = t.memoizedState, r = l.element, qa(e, t), or(t, i, null, n);
6007
6007
  var o = t.memoizedState;
6008
6008
  if (i = o.element, l.isDehydrated)
6009
6009
  if (l = { element: i, isDehydrated: !1, cache: o.cache, pendingSuspenseBoundaries: o.pendingSuspenseBoundaries, transitions: o.transitions }, t.updateQueue.baseState = l, t.memoizedState = l, t.flags & 256) {
6010
- r = gn(Error(v(423)), t), t = uu(e, t, i, n, r);
6010
+ r = gn(Error(b(423)), t), t = uu(e, t, i, n, r);
6011
6011
  break e;
6012
6012
  } else if (i !== r) {
6013
- r = gn(Error(v(424)), t), t = uu(e, t, i, n, r);
6013
+ r = gn(Error(b(424)), t), t = uu(e, t, i, n, r);
6014
6014
  break e;
6015
6015
  } else
6016
6016
  for (Ce = ct(t.stateNode.containerInfo.firstChild), Ie = t, O = !0, ke = null, n = ic(t, null, i, n), t.child = n; n; )
@@ -6078,7 +6078,7 @@ Dc = function(e, t, n) {
6078
6078
  o = l.type === t.type ? null : l.child;
6079
6079
  else if (l.tag === 18) {
6080
6080
  if (o = l.return, o === null)
6081
- throw Error(v(341));
6081
+ throw Error(b(341));
6082
6082
  o.lanes |= n, s = o.alternate, s !== null && (s.lanes |= n), xl(o, n, t), o = l.sibling;
6083
6083
  } else
6084
6084
  o = l.child;
@@ -6114,21 +6114,21 @@ Dc = function(e, t, n) {
6114
6114
  case 22:
6115
6115
  return Xc(e, t, n);
6116
6116
  }
6117
- throw Error(v(156, t.tag));
6117
+ throw Error(b(156, t.tag));
6118
6118
  };
6119
6119
  function Qc(e, t) {
6120
6120
  return ya(e, t);
6121
6121
  }
6122
- function qp(e, t, n, i) {
6122
+ function ef(e, t, n, i) {
6123
6123
  this.tag = e, this.key = n, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.ref = null, this.pendingProps = t, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = i, this.subtreeFlags = this.flags = 0, this.deletions = null, this.childLanes = this.lanes = 0, this.alternate = null;
6124
6124
  }
6125
6125
  function Le(e, t, n, i) {
6126
- return new qp(e, t, n, i);
6126
+ return new ef(e, t, n, i);
6127
6127
  }
6128
6128
  function es(e) {
6129
6129
  return e = e.prototype, !(!e || !e.isReactComponent);
6130
6130
  }
6131
- function ef(e) {
6131
+ function tf(e) {
6132
6132
  if (typeof e == "function")
6133
6133
  return es(e) ? 1 : 0;
6134
6134
  if (e != null) {
@@ -6184,7 +6184,7 @@ function xi(e, t, n, i, r, l) {
6184
6184
  o = 16, i = null;
6185
6185
  break e;
6186
6186
  }
6187
- throw Error(v(130, e == null ? e : typeof e, ""));
6187
+ throw Error(b(130, e == null ? e : typeof e, ""));
6188
6188
  }
6189
6189
  return t = Le(o, n, t, r), t.elementType = e, t.type = i, t.lanes = l, t;
6190
6190
  }
@@ -6200,13 +6200,13 @@ function al(e, t, n) {
6200
6200
  function cl(e, t, n) {
6201
6201
  return t = Le(4, e.children !== null ? e.children : [], e.key, t), t.lanes = n, t.stateNode = { containerInfo: e.containerInfo, pendingChildren: null, implementation: e.implementation }, t;
6202
6202
  }
6203
- function tf(e, t, n, i, r) {
6203
+ function nf(e, t, n, i, r) {
6204
6204
  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 = Tr(0), this.expirationTimes = Tr(-1), this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0, this.entanglements = Tr(0), this.identifierPrefix = i, this.onRecoverableError = r, this.mutableSourceEagerHydrationData = null;
6205
6205
  }
6206
6206
  function ts(e, t, n, i, r, l, o, s, u) {
6207
- return e = new tf(e, t, n, s, u), t === 1 ? (t = 1, l === !0 && (t |= 8)) : t = 0, l = Le(3, null, null, t), e.current = l, l.stateNode = e, l.memoizedState = { element: i, isDehydrated: n, cache: null, transitions: null, pendingSuspenseBoundaries: null }, Ho(l), e;
6207
+ return e = new nf(e, t, n, s, u), t === 1 ? (t = 1, l === !0 && (t |= 8)) : t = 0, l = Le(3, null, null, t), e.current = l, l.stateNode = e, l.memoizedState = { element: i, isDehydrated: n, cache: null, transitions: null, pendingSuspenseBoundaries: null }, Ho(l), e;
6208
6208
  }
6209
- function nf(e, t, n) {
6209
+ function rf(e, t, n) {
6210
6210
  var i = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null;
6211
6211
  return { $$typeof: zt, key: i == null ? null : "" + i, children: e, containerInfo: t, implementation: n };
6212
6212
  }
@@ -6216,7 +6216,7 @@ function Ec(e) {
6216
6216
  e = e._reactInternals;
6217
6217
  e: {
6218
6218
  if (Kt(e) !== e || e.tag !== 1)
6219
- throw Error(v(170));
6219
+ throw Error(b(170));
6220
6220
  var t = e;
6221
6221
  do {
6222
6222
  switch (t.tag) {
@@ -6231,7 +6231,7 @@ function Ec(e) {
6231
6231
  }
6232
6232
  t = t.return;
6233
6233
  } while (t !== null);
6234
- throw Error(v(171));
6234
+ throw Error(b(171));
6235
6235
  }
6236
6236
  if (e.tag === 1) {
6237
6237
  var n = e.type;
@@ -6266,7 +6266,7 @@ function Iu(e, t) {
6266
6266
  function ns(e, t) {
6267
6267
  Iu(e, t), (e = e.alternate) && Iu(e, t);
6268
6268
  }
6269
- function rf() {
6269
+ function lf() {
6270
6270
  return null;
6271
6271
  }
6272
6272
  var Pc = typeof reportError == "function" ? reportError : function(e) {
@@ -6278,7 +6278,7 @@ function is(e) {
6278
6278
  kr.prototype.render = is.prototype.render = function(e) {
6279
6279
  var t = this._internalRoot;
6280
6280
  if (t === null)
6281
- throw Error(v(409));
6281
+ throw Error(b(409));
6282
6282
  Rr(e, t, null, null);
6283
6283
  };
6284
6284
  kr.prototype.unmount = is.prototype.unmount = function() {
@@ -6311,7 +6311,7 @@ function Br(e) {
6311
6311
  }
6312
6312
  function yu() {
6313
6313
  }
6314
- function lf(e, t, n, i, r) {
6314
+ function of(e, t, n, i, r) {
6315
6315
  if (r) {
6316
6316
  if (typeof i == "function") {
6317
6317
  var l = i;
@@ -6350,7 +6350,7 @@ function Vr(e, t, n, i, r) {
6350
6350
  }
6351
6351
  Rr(t, o, e, r);
6352
6352
  } else
6353
- o = lf(n, t, e, r, i);
6353
+ o = of(n, t, e, r, i);
6354
6354
  return fr(o);
6355
6355
  }
6356
6356
  Wa = function(e) {
@@ -6414,7 +6414,7 @@ Xl = function(e, t, n) {
6414
6414
  if (i !== e && i.form === e.form) {
6415
6415
  var r = Lr(i);
6416
6416
  if (!r)
6417
- throw Error(v(90));
6417
+ throw Error(b(90));
6418
6418
  ra(i), Zl(i, r);
6419
6419
  }
6420
6420
  }
@@ -6429,27 +6429,27 @@ Xl = function(e, t, n) {
6429
6429
  };
6430
6430
  pa = _o;
6431
6431
  fa = Bt;
6432
- var of = { usingClientEntryPoint: !1, Events: [ci, Qt, Lr, da, ga, _o] }, Wn = { findFiberByHostInstance: Lt, bundleType: 0, version: "18.2.0", rendererPackageName: "react-dom" }, sf = { bundleType: Wn.bundleType, version: Wn.version, rendererPackageName: Wn.rendererPackageName, rendererConfig: Wn.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, overrideProps: null, overridePropsDeletePath: null, overridePropsRenamePath: null, setErrorHandler: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: $e.ReactCurrentDispatcher, findHostInstanceByFiber: function(e) {
6432
+ var sf = { usingClientEntryPoint: !1, Events: [ci, Qt, Lr, da, ga, _o] }, Wn = { findFiberByHostInstance: Lt, bundleType: 0, version: "18.2.0", rendererPackageName: "react-dom" }, uf = { bundleType: Wn.bundleType, version: Wn.version, rendererPackageName: Wn.rendererPackageName, rendererConfig: Wn.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, overrideProps: null, overridePropsDeletePath: null, overridePropsRenamePath: null, setErrorHandler: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: $e.ReactCurrentDispatcher, findHostInstanceByFiber: function(e) {
6433
6433
  return e = Ca(e), e === null ? null : e.stateNode;
6434
- }, findFiberByHostInstance: Wn.findFiberByHostInstance || rf, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, reconcilerVersion: "18.2.0-next-9e3b772b8-20220608" };
6434
+ }, findFiberByHostInstance: Wn.findFiberByHostInstance || lf, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, reconcilerVersion: "18.2.0-next-9e3b772b8-20220608" };
6435
6435
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u") {
6436
6436
  var Ni = __REACT_DEVTOOLS_GLOBAL_HOOK__;
6437
6437
  if (!Ni.isDisabled && Ni.supportsFiber)
6438
6438
  try {
6439
- vr = Ni.inject(sf), Me = Ni;
6439
+ br = Ni.inject(uf), Me = Ni;
6440
6440
  } catch {
6441
6441
  }
6442
6442
  }
6443
- Ze.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = of;
6443
+ Ze.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = sf;
6444
6444
  Ze.createPortal = function(e, t) {
6445
6445
  var n = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null;
6446
6446
  if (!rs(t))
6447
- throw Error(v(200));
6448
- return nf(e, t, null, n);
6447
+ throw Error(b(200));
6448
+ return rf(e, t, null, n);
6449
6449
  };
6450
6450
  Ze.createRoot = function(e, t) {
6451
6451
  if (!rs(e))
6452
- throw Error(v(299));
6452
+ throw Error(b(299));
6453
6453
  var n = !1, i = "", r = Pc;
6454
6454
  return t != null && (t.unstable_strictMode === !0 && (n = !0), t.identifierPrefix !== void 0 && (i = t.identifierPrefix), t.onRecoverableError !== void 0 && (r = t.onRecoverableError)), t = ts(e, 1, !1, null, null, n, !1, i, r), e[Ue] = t.current, Pn(e.nodeType === 8 ? e.parentNode : e), new is(t);
6455
6455
  };
@@ -6460,7 +6460,7 @@ Ze.findDOMNode = function(e) {
6460
6460
  return e;
6461
6461
  var t = e._reactInternals;
6462
6462
  if (t === void 0)
6463
- throw typeof e.render == "function" ? Error(v(188)) : (e = Object.keys(e).join(","), Error(v(268, e)));
6463
+ throw typeof e.render == "function" ? Error(b(188)) : (e = Object.keys(e).join(","), Error(b(268, e)));
6464
6464
  return e = Ca(t), e = e === null ? null : e.stateNode, e;
6465
6465
  };
6466
6466
  Ze.flushSync = function(e) {
@@ -6468,12 +6468,12 @@ Ze.flushSync = function(e) {
6468
6468
  };
6469
6469
  Ze.hydrate = function(e, t, n) {
6470
6470
  if (!Br(t))
6471
- throw Error(v(200));
6471
+ throw Error(b(200));
6472
6472
  return Vr(null, e, t, !0, n);
6473
6473
  };
6474
6474
  Ze.hydrateRoot = function(e, t, n) {
6475
6475
  if (!rs(e))
6476
- throw Error(v(405));
6476
+ throw Error(b(405));
6477
6477
  var i = n != null && n.hydratedSources || null, r = !1, l = "", o = Pc;
6478
6478
  if (n != null && (n.unstable_strictMode === !0 && (r = !0), n.identifierPrefix !== void 0 && (l = n.identifierPrefix), n.onRecoverableError !== void 0 && (o = n.onRecoverableError)), t = Uc(t, null, e, 1, n ?? null, r, !1, l, o), e[Ue] = t.current, Pn(e), i)
6479
6479
  for (e = 0; e < i.length; e++)
@@ -6485,12 +6485,12 @@ Ze.hydrateRoot = function(e, t, n) {
6485
6485
  };
6486
6486
  Ze.render = function(e, t, n) {
6487
6487
  if (!Br(t))
6488
- throw Error(v(200));
6488
+ throw Error(b(200));
6489
6489
  return Vr(null, e, t, !1, n);
6490
6490
  };
6491
6491
  Ze.unmountComponentAtNode = function(e) {
6492
6492
  if (!Br(e))
6493
- throw Error(v(40));
6493
+ throw Error(b(40));
6494
6494
  return e._reactRootContainer ? (Bt(function() {
6495
6495
  Vr(null, null, e, !1, function() {
6496
6496
  e._reactRootContainer = null, e[Ue] = null;
@@ -6500,9 +6500,9 @@ Ze.unmountComponentAtNode = function(e) {
6500
6500
  Ze.unstable_batchedUpdates = _o;
6501
6501
  Ze.unstable_renderSubtreeIntoContainer = function(e, t, n, i) {
6502
6502
  if (!Br(n))
6503
- throw Error(v(200));
6503
+ throw Error(b(200));
6504
6504
  if (e == null || e._reactInternals === void 0)
6505
- throw Error(v(38));
6505
+ throw Error(b(38));
6506
6506
  return Vr(e, t, n, !1, i);
6507
6507
  };
6508
6508
  Ze.version = "18.2.0-next-9e3b772b8-20220608";
@@ -6515,9 +6515,9 @@ function _c() {
6515
6515
  }
6516
6516
  }
6517
6517
  _c(), Uu.exports = Ze;
6518
- var uf = Uu.exports, $c, Zu = uf;
6518
+ var af = Uu.exports, $c, Zu = af;
6519
6519
  $c = Zu.createRoot, Zu.hydrateRoot;
6520
- const af = "data:text/css;base64,Omhvc3QgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLm1lbnVfX2xpc3QtaXRlbTppcygubWFuYWdlLXByb2ZpbGUsIC5tYW5hZ2UtcHJpdmFjeSwgLnBheW1lbnQsIC5ib3UtbWVudS1pdGVtKSBhOmxhc3Qtb2YtdHlwZSB7CiAgZGlzcGxheTogbm9uZTsKfQoKLmJvdS1tZW51X19saXN0IHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkgewogIC54dHJhLW1lbnUtLWVycm9yICN4dHJhLW1lbnUtdHJpZ2dlciB7CiAgICBnYXA6IDA7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpmaXJzdC1vZi10eXBlIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpsYXN0LW9mLXR5cGUgewogICAgZGlzcGxheTogZmxleDsKICB9Cn0K", cf = "data:text/css;base64,LmJ1dHRvbi0tYXV0aGVudGljYXRpb24gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBmbGV4OwogIHdpZHRoOiBhdXRvOwogIHdpZHRoOiBmaXQtY29udGVudDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBnYXA6IDA7Cn0KCi5idXR0b24tLWF1dGhlbnRpY2F0aW9uIC5idXR0b25fX2xhYmVsIHsKICBkaXNwbGF5OiBub25lOwp9CgouYnV0dG9uLS1hdXRoZW50aWNhdGlvbiAuYnV0dG9uX19pY29uIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDI0cHg7CiAgaGVpZ2h0OiAyNHB4Owp9CgouYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tYXV0aGVudGljYXRlZCB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKTsKfQoKLmJ1dHRvbi0tYXV0aGVudGljYXRpb24tLXVuYXV0aGVudGljYXRlZCB7CiAgZGlzcGxheTogbm9uZTsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRyZW0pIHsKICAubWVudS0tdW5hdXRoZW50aWNhdGVkIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQoKICAuYnV0dG9uLS1hdXRoZW50aWNhdGlvbiB7CiAgICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgfQoKICAuYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tdW5hdXRoZW50aWNhdGVkIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgfQoKICAuYnV0dG9uLS1hdXRoZW50aWNhdGlvbjpub3QoLmJ1dHRvbi0tYXV0aGVudGljYXRpb24tLWF1dGhlbnRpY2F0ZWQpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgdmFyKC0tc3BhY2luZy02KTsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uIC5idXR0b25fX2xhYmVsIHsKICAgIGRpc3BsYXk6IGlubGluZTsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uOm5vdCguYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tYXV0aGVudGljYXRlZCkgPiAuYnV0dG9uX19pY29uLXJpZ2h0IHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHsKICAuc3Bpbm5lcjo6YWZ0ZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDE2cHg7CiAgICBoZWlnaHQ6IDE2cHg7CiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogICAgbWFyZ2luOiBhdXRvOwogICAgYW5pbWF0aW9uOiBzcGluIDFzIGVhc2UgaW5maW5pdGU7CiAgICBjb250ZW50OiAnJzsKICAgIGluc2V0OiAwOwogIH0KCiAgQGtleWZyYW1lcyBzcGluIHsKICAgIGZyb20gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwdHVybik7CiAgICB9CgogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9Cg==", df = "data:text/css;base64,LmZvcm0tLXRjIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTgpOwp9CgouZm9ybS0tdGNfX3RpdGxlIHsKICBmb250OiB2YXIoLS10aXRsZS0yLW1lZGl1bSk7Cn0KCi5mb3JtLS10Y19fZGVzY3JpcHRpb24gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwp9CgouZm9ybS0tdGNfX2xhYmVsIHsKICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKfQoKLmZvcm0tLXRjX19saW5rIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKfQoKLmZvcm0tLXRjX19lcnJvciB7CiAgZGlzcGxheTogYmxvY2s7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy02KTsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLmJ1dHRvbi0tdGVybXMtYW5kLWNvbmRpdGlvbnMgewogIHdpZHRoOiBhdXRvOwp9Cg==", gf = ({ apiUrl: e, redirectUrl: t }) => `${e}/login?redirectUrl=${t}`, pf = {
6520
+ const cf = "data:text/css;base64,Omhvc3QgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLm1lbnVfX2xpc3QtaXRlbTppcygubWFuYWdlLXByb2ZpbGUsIC5tYW5hZ2UtcHJpdmFjeSwgLnBheW1lbnQsIC5ib3UtbWVudS1pdGVtKSBhOmxhc3Qtb2YtdHlwZSB7CiAgZGlzcGxheTogbm9uZTsKfQoKLmJvdS1tZW51X19saXN0IHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkgewogIC54dHJhLW1lbnUtLWVycm9yICN4dHJhLW1lbnUtdHJpZ2dlciB7CiAgICBnYXA6IDA7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpmaXJzdC1vZi10eXBlIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpsYXN0LW9mLXR5cGUgewogICAgZGlzcGxheTogZmxleDsKICB9Cn0K", df = "data:text/css;base64,LmJ1dHRvbi0tYXV0aGVudGljYXRpb24gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBmbGV4OwogIHdpZHRoOiBhdXRvOwogIHdpZHRoOiBmaXQtY29udGVudDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBnYXA6IDA7Cn0KCi5idXR0b24tLWF1dGhlbnRpY2F0aW9uIC5idXR0b25fX2xhYmVsIHsKICBkaXNwbGF5OiBub25lOwp9CgouYnV0dG9uLS1hdXRoZW50aWNhdGlvbiAuYnV0dG9uX19pY29uIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDI0cHg7CiAgaGVpZ2h0OiAyNHB4Owp9CgouYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tYXV0aGVudGljYXRlZCB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKTsKfQoKLmJ1dHRvbi0tYXV0aGVudGljYXRpb24tLXVuYXV0aGVudGljYXRlZCB7CiAgZGlzcGxheTogbm9uZTsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRyZW0pIHsKICAubWVudS0tdW5hdXRoZW50aWNhdGVkIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQoKICAuYnV0dG9uLS1hdXRoZW50aWNhdGlvbiB7CiAgICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgfQoKICAuYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tdW5hdXRoZW50aWNhdGVkIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgfQoKICAuYnV0dG9uLS1hdXRoZW50aWNhdGlvbjpub3QoLmJ1dHRvbi0tYXV0aGVudGljYXRpb24tLWF1dGhlbnRpY2F0ZWQpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgdmFyKC0tc3BhY2luZy02KTsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uIC5idXR0b25fX2xhYmVsIHsKICAgIGRpc3BsYXk6IGlubGluZTsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uOm5vdCguYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tYXV0aGVudGljYXRlZCkgPiAuYnV0dG9uX19pY29uLXJpZ2h0IHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHsKICAuc3Bpbm5lcjo6YWZ0ZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDE2cHg7CiAgICBoZWlnaHQ6IDE2cHg7CiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogICAgbWFyZ2luOiBhdXRvOwogICAgYW5pbWF0aW9uOiBzcGluIDFzIGVhc2UgaW5maW5pdGU7CiAgICBjb250ZW50OiAnJzsKICAgIGluc2V0OiAwOwogIH0KCiAgQGtleWZyYW1lcyBzcGluIHsKICAgIGZyb20gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwdHVybik7CiAgICB9CgogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9Cg==", gf = "data:text/css;base64,LmZvcm0tLXRjIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTgpOwp9CgouZm9ybS0tdGNfX3RpdGxlIHsKICBmb250OiB2YXIoLS10aXRsZS0yLW1lZGl1bSk7Cn0KCi5mb3JtLS10Y19fZGVzY3JpcHRpb24gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwp9CgouZm9ybS0tdGNfX2xhYmVsIHsKICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKfQoKLmZvcm0tLXRjX19saW5rIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKfQoKLmZvcm0tLXRjX19lcnJvciB7CiAgZGlzcGxheTogYmxvY2s7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy02KTsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLmJ1dHRvbi0tdGVybXMtYW5kLWNvbmRpdGlvbnMgewogIHdpZHRoOiBhdXRvOwp9Cg==", pf = ({ apiUrl: e, redirectUrl: t }) => `${e}/login?redirectUrl=${t}`, ff = {
6521
6521
  type: "logger",
6522
6522
  log(e) {
6523
6523
  this.output("log", e);
@@ -6539,7 +6539,7 @@ class mr {
6539
6539
  }
6540
6540
  init(t) {
6541
6541
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
6542
- this.prefix = n.prefix || "i18next:", this.logger = t || pf, this.options = n, this.debug = n.debug;
6542
+ this.prefix = n.prefix || "i18next:", this.logger = t || ff, this.options = n, this.debug = n.debug;
6543
6543
  }
6544
6544
  log() {
6545
6545
  for (var t = arguments.length, n = new Array(t), i = 0; i < t; i++)
@@ -6610,10 +6610,10 @@ function Ln() {
6610
6610
  });
6611
6611
  return n.resolve = e, n.reject = t, n;
6612
6612
  }
6613
- function vu(e) {
6613
+ function bu(e) {
6614
6614
  return e == null ? "" : "" + e;
6615
6615
  }
6616
- function ff(e, t, n) {
6616
+ function mf(e, t, n) {
6617
6617
  e.forEach((i) => {
6618
6618
  t[i] && (n[i] = t[i]);
6619
6619
  });
@@ -6637,14 +6637,14 @@ function ls(e, t, n) {
6637
6637
  k: i(l.shift())
6638
6638
  };
6639
6639
  }
6640
- function bu(e, t, n) {
6640
+ function vu(e, t, n) {
6641
6641
  const {
6642
6642
  obj: i,
6643
6643
  k: r
6644
6644
  } = ls(e, t, Object);
6645
6645
  i[r] = n;
6646
6646
  }
6647
- function mf(e, t, n, i) {
6647
+ function hf(e, t, n, i) {
6648
6648
  const {
6649
6649
  obj: r,
6650
6650
  k: l
@@ -6659,7 +6659,7 @@ function hr(e, t) {
6659
6659
  if (n)
6660
6660
  return n[i];
6661
6661
  }
6662
- function hf(e, t, n) {
6662
+ function Cf(e, t, n) {
6663
6663
  const i = hr(e, n);
6664
6664
  return i !== void 0 ? i : hr(t, n);
6665
6665
  }
@@ -6671,7 +6671,7 @@ function qc(e, t, n) {
6671
6671
  function jt(e) {
6672
6672
  return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
6673
6673
  }
6674
- var Cf = {
6674
+ var If = {
6675
6675
  "&": "&amp;",
6676
6676
  "<": "&lt;",
6677
6677
  ">": "&gt;",
@@ -6679,13 +6679,13 @@ var Cf = {
6679
6679
  "'": "&#39;",
6680
6680
  "/": "&#x2F;"
6681
6681
  };
6682
- function If(e) {
6683
- return typeof e == "string" ? e.replace(/[&<>"'\/]/g, (t) => Cf[t]) : e;
6682
+ function yf(e) {
6683
+ return typeof e == "string" ? e.replace(/[&<>"'\/]/g, (t) => If[t]) : e;
6684
6684
  }
6685
- const yf = [" ", ",", "?", "!", ";"];
6686
- function Zf(e, t, n) {
6685
+ const Zf = [" ", ",", "?", "!", ";"];
6686
+ function bf(e, t, n) {
6687
6687
  t = t || "", n = n || "";
6688
- const i = yf.filter((o) => t.indexOf(o) < 0 && n.indexOf(o) < 0);
6688
+ const i = Zf.filter((o) => t.indexOf(o) < 0 && n.indexOf(o) < 0);
6689
6689
  if (i.length === 0)
6690
6690
  return !0;
6691
6691
  const r = new RegExp(`(${i.map((o) => o === "?" ? "\\?" : o).join("|")})`);
@@ -6760,7 +6760,7 @@ class wu extends Kr {
6760
6760
  };
6761
6761
  const o = l.keySeparator !== void 0 ? l.keySeparator : this.options.keySeparator;
6762
6762
  let s = [t, n];
6763
- i && (s = s.concat(o ? i.split(o) : i)), t.indexOf(".") > -1 && (s = t.split("."), r = n, n = s[1]), this.addNamespaces(n), bu(this.data, s, r), l.silent || this.emit("added", t, n, i, r);
6763
+ i && (s = s.concat(o ? i.split(o) : i)), t.indexOf(".") > -1 && (s = t.split("."), r = n, n = s[1]), this.addNamespaces(n), vu(this.data, s, r), l.silent || this.emit("added", t, n, i, r);
6764
6764
  }
6765
6765
  addResources(t, n, i) {
6766
6766
  let r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {
@@ -6781,7 +6781,7 @@ class wu extends Kr {
6781
6781
  r ? qc(u, i, l) : u = {
6782
6782
  ...u,
6783
6783
  ...i
6784
- }, bu(this.data, s, u), o.silent || this.emit("added", t, n, i);
6784
+ }, vu(this.data, s, u), o.silent || this.emit("added", t, n, i);
6785
6785
  }
6786
6786
  removeResourceBundle(t, n) {
6787
6787
  this.hasResourceBundle(t, n) && delete this.data[t][n], this.removeNamespaces(n), this.emit("removed", t, n);
@@ -6820,7 +6820,7 @@ const Wu = {};
6820
6820
  class yr extends Kr {
6821
6821
  constructor(t) {
6822
6822
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
6823
- super(), ff(["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat", "utils"], t, this), this.options = n, this.options.keySeparator === void 0 && (this.options.keySeparator = "."), this.logger = je.create("translator");
6823
+ super(), mf(["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat", "utils"], t, this), this.options = n, this.options.keySeparator === void 0 && (this.options.keySeparator = "."), this.logger = je.create("translator");
6824
6824
  }
6825
6825
  changeLanguage(t) {
6826
6826
  t && (this.language = t);
@@ -6839,7 +6839,7 @@ class yr extends Kr {
6839
6839
  i === void 0 && (i = ":");
6840
6840
  const r = n.keySeparator !== void 0 ? n.keySeparator : this.options.keySeparator;
6841
6841
  let l = n.ns || this.options.defaultNS || [];
6842
- const o = i && t.indexOf(i) > -1, s = !this.options.userDefinedKeySeparator && !n.keySeparator && !this.options.userDefinedNsSeparator && !n.nsSeparator && !Zf(t, i, r);
6842
+ const o = i && t.indexOf(i) > -1, s = !this.options.userDefinedKeySeparator && !n.keySeparator && !this.options.userDefinedNsSeparator && !n.nsSeparator && !bf(t, i, r);
6843
6843
  if (o && !s) {
6844
6844
  const u = t.match(this.interpolator.nestingRegexp);
6845
6845
  if (u && u.length > 0)
@@ -6897,10 +6897,10 @@ class yr extends Kr {
6897
6897
  return r ? (m.res = C, m) : C;
6898
6898
  }
6899
6899
  if (l) {
6900
- const C = y === "[object Array]", Z = C ? [] : {}, b = C ? h : I;
6900
+ const C = y === "[object Array]", Z = C ? [] : {}, v = C ? h : I;
6901
6901
  for (const w in c)
6902
6902
  if (Object.prototype.hasOwnProperty.call(c, w)) {
6903
- const X = `${b}${l}${w}`;
6903
+ const X = `${v}${l}${w}`;
6904
6904
  Z[w] = this.translate(X, {
6905
6905
  ...n,
6906
6906
  joinArrays: !1,
@@ -6913,7 +6913,7 @@ class yr extends Kr {
6913
6913
  c = c.join(g), c && (c = this.extendTranslation(c, t, n, i));
6914
6914
  else {
6915
6915
  let C = !1, Z = !1;
6916
- const b = n.count !== void 0 && typeof n.count != "string", w = yr.hasDefaultValue(n), X = b ? this.pluralResolver.getSuffix(a, n.count, n) : "", H = n.ordinal && b ? this.pluralResolver.getSuffix(a, n.count, {
6916
+ const v = n.count !== void 0 && typeof n.count != "string", w = yr.hasDefaultValue(n), X = v ? this.pluralResolver.getSuffix(a, n.count, n) : "", H = n.ordinal && v ? this.pluralResolver.getSuffix(a, n.count, {
6917
6917
  ordinal: !1
6918
6918
  }) : "", A = n[`defaultValue${X}`] || n[`defaultValue${H}`] || n.defaultValue;
6919
6919
  !this.isValidLookup(c) && w && (C = !0, c = A), this.isValidLookup(c) || (Z = !0, c = o);
@@ -6937,7 +6937,7 @@ class yr extends Kr {
6937
6937
  const N = w && Y !== c ? Y : Zt;
6938
6938
  this.options.missingKeyHandler ? this.options.missingKeyHandler($, u, W, N, Ae, n) : this.backendConnector && this.backendConnector.saveMissing && this.backendConnector.saveMissing($, u, W, N, Ae, n), this.emit("missingKey", $, u, W, c);
6939
6939
  };
6940
- this.options.saveMissing && (this.options.saveMissingPlurals && b ? qe.forEach(($) => {
6940
+ this.options.saveMissing && (this.options.saveMissingPlurals && v ? qe.forEach(($) => {
6941
6941
  this.pluralResolver.getSuffixes($, n).forEach((W) => {
6942
6942
  Ht([$], o + W, n[`defaultValue${W}`] || A);
6943
6943
  });
@@ -7011,10 +7011,10 @@ class yr extends Kr {
7011
7011
  else {
7012
7012
  let C;
7013
7013
  c && (C = this.pluralResolver.getSuffix(g, n.count, n));
7014
- const Z = `${this.options.pluralSeparator}zero`, b = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;
7015
- if (c && (d.push(p + C), n.ordinal && C.indexOf(b) === 0 && d.push(p + C.replace(b, this.options.pluralSeparator)), I && d.push(p + Z)), h) {
7014
+ const Z = `${this.options.pluralSeparator}zero`, v = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;
7015
+ if (c && (d.push(p + C), n.ordinal && C.indexOf(v) === 0 && d.push(p + C.replace(v, this.options.pluralSeparator)), I && d.push(p + Z)), h) {
7016
7016
  const w = `${p}${this.options.contextSeparator}${n.context}`;
7017
- d.push(w), c && (d.push(w + C), n.ordinal && C.indexOf(b) === 0 && d.push(w + C.replace(b, this.options.pluralSeparator)), I && d.push(w + Z));
7017
+ d.push(w), c && (d.push(w + C), n.ordinal && C.indexOf(v) === 0 && d.push(w + C.replace(v, this.options.pluralSeparator)), I && d.push(w + Z));
7018
7018
  }
7019
7019
  }
7020
7020
  let f;
@@ -7209,7 +7209,7 @@ let vf = [{
7209
7209
  lngs: ["he", "iw"],
7210
7210
  nr: [1, 2, 20, 21],
7211
7211
  fc: 22
7212
- }], bf = {
7212
+ }], wf = {
7213
7213
  1: function(e) {
7214
7214
  return +(e > 1);
7215
7215
  },
@@ -7277,7 +7277,7 @@ let vf = [{
7277
7277
  return e == 1 ? 0 : e == 2 ? 1 : (e < 0 || e > 10) && e % 10 == 0 ? 2 : 3;
7278
7278
  }
7279
7279
  };
7280
- const wf = ["v1", "v2", "v3"], Wf = ["v4"], Gu = {
7280
+ const Wf = ["v1", "v2", "v3"], Lf = ["v4"], Gu = {
7281
7281
  zero: 0,
7282
7282
  one: 1,
7283
7283
  two: 2,
@@ -7285,21 +7285,21 @@ const wf = ["v1", "v2", "v3"], Wf = ["v4"], Gu = {
7285
7285
  many: 4,
7286
7286
  other: 5
7287
7287
  };
7288
- function Lf() {
7288
+ function Gf() {
7289
7289
  const e = {};
7290
7290
  return vf.forEach((t) => {
7291
7291
  t.lngs.forEach((n) => {
7292
7292
  e[n] = {
7293
7293
  numbers: t.nr,
7294
- plurals: bf[t.fc]
7294
+ plurals: wf[t.fc]
7295
7295
  };
7296
7296
  });
7297
7297
  }), e;
7298
7298
  }
7299
- class Gf {
7299
+ class Xf {
7300
7300
  constructor(t) {
7301
7301
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
7302
- this.languageUtils = t, this.options = n, this.logger = je.create("pluralResolver"), (!this.options.compatibilityJSON || Wf.includes(this.options.compatibilityJSON)) && (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 = Lf();
7302
+ this.languageUtils = t, this.options = n, this.logger = je.create("pluralResolver"), (!this.options.compatibilityJSON || Lf.includes(this.options.compatibilityJSON)) && (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 = Gf();
7303
7303
  }
7304
7304
  addRule(t, n) {
7305
7305
  this.rules[t] = n;
@@ -7343,14 +7343,14 @@ class Gf {
7343
7343
  return this.options.compatibilityJSON === "v1" ? r === 1 ? "" : typeof r == "number" ? `_plural_${r.toString()}` : l() : this.options.compatibilityJSON === "v2" || this.options.simplifyPluralSuffix && t.numbers.length === 2 && t.numbers[0] === 1 ? l() : this.options.prepend && i.toString() ? this.options.prepend + i.toString() : i.toString();
7344
7344
  }
7345
7345
  shouldUseIntlApi() {
7346
- return !wf.includes(this.options.compatibilityJSON);
7346
+ return !Wf.includes(this.options.compatibilityJSON);
7347
7347
  }
7348
7348
  }
7349
7349
  function Xu(e, t, n) {
7350
- let i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ".", r = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, l = hf(e, t, n);
7350
+ let i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ".", r = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, l = Cf(e, t, n);
7351
7351
  return !l && r && typeof n == "string" && (l = Cr(e, n, i), l === void 0 && (l = Cr(t, n, i))), l;
7352
7352
  }
7353
- class Xf {
7353
+ class Yf {
7354
7354
  constructor() {
7355
7355
  let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
7356
7356
  this.logger = je.create("interpolator"), this.options = t, this.format = t.interpolation && t.interpolation.format || ((n) => n), this.init(t);
@@ -7361,7 +7361,7 @@ class Xf {
7361
7361
  escapeValue: !0
7362
7362
  });
7363
7363
  const n = t.interpolation;
7364
- this.escape = n.escape !== void 0 ? n.escape : If, this.escapeValue = n.escapeValue !== void 0 ? n.escapeValue : !0, this.useRawValueToEscape = n.useRawValueToEscape !== void 0 ? n.useRawValueToEscape : !1, this.prefix = n.prefix ? jt(n.prefix) : n.prefixEscaped || "{{", this.suffix = n.suffix ? jt(n.suffix) : n.suffixEscaped || "}}", this.formatSeparator = n.formatSeparator ? n.formatSeparator : n.formatSeparator || ",", this.unescapePrefix = n.unescapeSuffix ? "" : n.unescapePrefix || "-", this.unescapeSuffix = this.unescapePrefix ? "" : n.unescapeSuffix || "", this.nestingPrefix = n.nestingPrefix ? jt(n.nestingPrefix) : n.nestingPrefixEscaped || jt("$t("), this.nestingSuffix = n.nestingSuffix ? jt(n.nestingSuffix) : n.nestingSuffixEscaped || jt(")"), this.nestingOptionsSeparator = n.nestingOptionsSeparator ? n.nestingOptionsSeparator : n.nestingOptionsSeparator || ",", this.maxReplaces = n.maxReplaces ? n.maxReplaces : 1e3, this.alwaysFormat = n.alwaysFormat !== void 0 ? n.alwaysFormat : !1, this.resetRegExp();
7364
+ this.escape = n.escape !== void 0 ? n.escape : yf, this.escapeValue = n.escapeValue !== void 0 ? n.escapeValue : !0, this.useRawValueToEscape = n.useRawValueToEscape !== void 0 ? n.useRawValueToEscape : !1, this.prefix = n.prefix ? jt(n.prefix) : n.prefixEscaped || "{{", this.suffix = n.suffix ? jt(n.suffix) : n.suffixEscaped || "}}", this.formatSeparator = n.formatSeparator ? n.formatSeparator : n.formatSeparator || ",", this.unescapePrefix = n.unescapeSuffix ? "" : n.unescapePrefix || "-", this.unescapeSuffix = this.unescapePrefix ? "" : n.unescapeSuffix || "", this.nestingPrefix = n.nestingPrefix ? jt(n.nestingPrefix) : n.nestingPrefixEscaped || jt("$t("), this.nestingSuffix = n.nestingSuffix ? jt(n.nestingSuffix) : n.nestingSuffixEscaped || jt(")"), this.nestingOptionsSeparator = n.nestingOptionsSeparator ? n.nestingOptionsSeparator : n.nestingOptionsSeparator || ",", this.maxReplaces = n.maxReplaces ? n.maxReplaces : 1e3, this.alwaysFormat = n.alwaysFormat !== void 0 ? n.alwaysFormat : !1, this.resetRegExp();
7365
7365
  }
7366
7366
  reset() {
7367
7367
  this.options && this.init(this.options);
@@ -7419,7 +7419,7 @@ class Xf {
7419
7419
  } else
7420
7420
  this.logger.warn(`missed to pass in variable ${y} for interpolating ${t}`), o = "";
7421
7421
  else
7422
- typeof o != "string" && !this.useRawValueToEscape && (o = vu(o));
7422
+ typeof o != "string" && !this.useRawValueToEscape && (o = bu(o));
7423
7423
  const G = h.safeValue(o);
7424
7424
  if (t = t.replace(l[0], G), c ? (h.regex.lastIndex += o.length, h.regex.lastIndex -= l[0].length) : h.regex.lastIndex = 0, s++, s >= this.maxReplaces)
7425
7425
  break;
@@ -7459,7 +7459,7 @@ class Xf {
7459
7459
  }
7460
7460
  if (l = n(s.call(this, r[1].trim(), o), o), l && r[0] === t && typeof l != "string")
7461
7461
  return l;
7462
- typeof l != "string" && (l = vu(l)), l || (this.logger.warn(`missed to resolve ${r[1]} for nesting ${t}`), l = ""), a && (l = u.reduce((p, m) => this.format(p, m, i.lng, {
7462
+ typeof l != "string" && (l = bu(l)), l || (this.logger.warn(`missed to resolve ${r[1]} for nesting ${t}`), l = ""), a && (l = u.reduce((p, m) => this.format(p, m, i.lng, {
7463
7463
  ...i,
7464
7464
  interpolationkey: r[1].trim()
7465
7465
  }), l.trim())), t = t.replace(r[0], l), this.regexp.lastIndex = 0;
@@ -7467,7 +7467,7 @@ class Xf {
7467
7467
  return t;
7468
7468
  }
7469
7469
  }
7470
- function Yf(e) {
7470
+ function Af(e) {
7471
7471
  let t = e.toLowerCase().trim();
7472
7472
  const n = {};
7473
7473
  if (e.indexOf("(") > -1) {
@@ -7494,7 +7494,7 @@ function Mt(e) {
7494
7494
  return s || (s = e(Ir(r), l), t[o] = s), s(i);
7495
7495
  };
7496
7496
  }
7497
- class Af {
7497
+ class Nf {
7498
7498
  constructor() {
7499
7499
  let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
7500
7500
  this.logger = je.create("formatter"), this.options = t, this.formats = {
@@ -7549,7 +7549,7 @@ class Af {
7549
7549
  const {
7550
7550
  formatName: a,
7551
7551
  formatOptions: p
7552
- } = Yf(u);
7552
+ } = Af(u);
7553
7553
  if (this.formats[a]) {
7554
7554
  let m = s;
7555
7555
  try {
@@ -7569,10 +7569,10 @@ class Af {
7569
7569
  }, t);
7570
7570
  }
7571
7571
  }
7572
- function Nf(e, t) {
7572
+ function Sf(e, t) {
7573
7573
  e.pending[t] !== void 0 && (delete e.pending[t], e.pendingCount--);
7574
7574
  }
7575
- class Sf extends Kr {
7575
+ class Rf extends Kr {
7576
7576
  constructor(t, n, i) {
7577
7577
  let r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
7578
7578
  super(), this.backend = t, this.store = n, this.services = i, this.languageUtils = i.languageUtils, this.options = r, this.logger = je.create("backendConnector"), this.waitingReads = [], this.maxParallelReads = r.maxParallelReads || 10, this.readingCalls = 0, this.maxRetries = r.maxRetries >= 0 ? r.maxRetries : 5, this.retryTimeout = r.retryTimeout >= 1 ? r.retryTimeout : 350, this.state = {}, this.queue = [], this.backend && this.backend.init && this.backend.init(i, r.backend, r);
@@ -7603,7 +7603,7 @@ class Sf extends Kr {
7603
7603
  n && this.emit("failedLoading", l, o, n), i && this.store.addResourceBundle(l, o, i), this.state[t] = n ? -1 : 2;
7604
7604
  const s = {};
7605
7605
  this.queue.forEach((u) => {
7606
- mf(u.loaded, [l], o), Nf(u, t), n && u.errors.push(n), u.pendingCount === 0 && !u.done && (Object.keys(u.loaded).forEach((a) => {
7606
+ hf(u.loaded, [l], o), Sf(u, t), n && u.errors.push(n), u.pendingCount === 0 && !u.done && (Object.keys(u.loaded).forEach((a) => {
7607
7607
  s[a] || (s[a] = {});
7608
7608
  const p = u.loaded[a];
7609
7609
  p.length && p.forEach((m) => {
@@ -7770,7 +7770,7 @@ function Au(e) {
7770
7770
  }
7771
7771
  function Si() {
7772
7772
  }
7773
- function Rf(e) {
7773
+ function kf(e) {
7774
7774
  Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((n) => {
7775
7775
  typeof e[n] == "function" && (e[n] = e[n].bind(e));
7776
7776
  });
@@ -7780,7 +7780,7 @@ class li extends Kr {
7780
7780
  let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 ? arguments[1] : void 0;
7781
7781
  if (super(), this.options = Au(t), this.services = {}, this.logger = je, this.modules = {
7782
7782
  external: []
7783
- }, Rf(this), n && !this.isInitialized && !t.isClone) {
7783
+ }, kf(this), n && !this.isInitialized && !t.isClone) {
7784
7784
  if (!this.options.initImmediate)
7785
7785
  return this.init(t, n), this;
7786
7786
  setTimeout(() => {
@@ -7807,17 +7807,17 @@ class li extends Kr {
7807
7807
  if (!this.options.isClone) {
7808
7808
  this.modules.logger ? je.init(l(this.modules.logger), this.options) : je.init(null, this.options);
7809
7809
  let p;
7810
- this.modules.formatter ? p = this.modules.formatter : typeof Intl < "u" && (p = Af);
7810
+ this.modules.formatter ? p = this.modules.formatter : typeof Intl < "u" && (p = Nf);
7811
7811
  const m = new Lu(this.options);
7812
7812
  this.store = new wu(this.options.resources, this.options);
7813
7813
  const c = this.services;
7814
- c.logger = je, c.resourceStore = this.store, c.languageUtils = m, c.pluralResolver = new Gf(m, {
7814
+ c.logger = je, c.resourceStore = this.store, c.languageUtils = m, c.pluralResolver = new Xf(m, {
7815
7815
  prepend: this.options.pluralSeparator,
7816
7816
  compatibilityJSON: this.options.compatibilityJSON,
7817
7817
  simplifyPluralSuffix: this.options.simplifyPluralSuffix
7818
- }), p && (!this.options.interpolation.format || this.options.interpolation.format === r.interpolation.format) && (c.formatter = l(p), c.formatter.init(c, this.options), this.options.interpolation.format = c.formatter.format.bind(c.formatter)), c.interpolator = new Xf(this.options), c.utils = {
7818
+ }), p && (!this.options.interpolation.format || this.options.interpolation.format === r.interpolation.format) && (c.formatter = l(p), c.formatter.init(c, this.options), this.options.interpolation.format = c.formatter.format.bind(c.formatter)), c.interpolator = new Yf(this.options), c.utils = {
7819
7819
  hasLoadedNamespace: this.hasLoadedNamespace.bind(this)
7820
- }, c.backendConnector = new Sf(l(this.modules.backend), c.resourceStore, c, this.options), c.backendConnector.on("*", function(I) {
7820
+ }, c.backendConnector = new Rf(l(this.modules.backend), c.resourceStore, c, this.options), c.backendConnector.on("*", function(I) {
7821
7821
  for (var h = arguments.length, y = new Array(h > 1 ? h - 1 : 0), G = 1; G < h; G++)
7822
7822
  y[G - 1] = arguments[G];
7823
7823
  t.emit(I, ...y);
@@ -8039,7 +8039,7 @@ oe.setDefaultNamespace;
8039
8039
  oe.hasLoadedNamespace;
8040
8040
  oe.loadNamespaces;
8041
8041
  oe.loadLanguages;
8042
- function kf(e, t) {
8042
+ function Bf(e, t) {
8043
8043
  if (!(e instanceof t))
8044
8044
  throw new TypeError("Cannot call a class as a function");
8045
8045
  }
@@ -8051,7 +8051,7 @@ function oi(e) {
8051
8051
  return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
8052
8052
  }, oi(e);
8053
8053
  }
8054
- function Bf(e, t) {
8054
+ function Vf(e, t) {
8055
8055
  if (oi(e) !== "object" || e === null)
8056
8056
  return e;
8057
8057
  var n = e[Symbol.toPrimitive];
@@ -8063,30 +8063,30 @@ function Bf(e, t) {
8063
8063
  }
8064
8064
  return (t === "string" ? String : Number)(e);
8065
8065
  }
8066
- function Vf(e) {
8067
- var t = Bf(e, "string");
8066
+ function Kf(e) {
8067
+ var t = Vf(e, "string");
8068
8068
  return oi(t) === "symbol" ? t : String(t);
8069
8069
  }
8070
8070
  function Nu(e, t) {
8071
8071
  for (var n = 0; n < t.length; n++) {
8072
8072
  var i = t[n];
8073
- i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, Vf(i.key), i);
8073
+ i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, Kf(i.key), i);
8074
8074
  }
8075
8075
  }
8076
- function Kf(e, t, n) {
8076
+ function Of(e, t, n) {
8077
8077
  return t && Nu(e.prototype, t), n && Nu(e, n), Object.defineProperty(e, "prototype", {
8078
8078
  writable: !1
8079
8079
  }), e;
8080
8080
  }
8081
- var td = [], Of = td.forEach, Hf = td.slice;
8082
- function Ff(e) {
8083
- return Of.call(Hf.call(arguments, 1), function(t) {
8081
+ var td = [], Hf = td.forEach, Ff = td.slice;
8082
+ function jf(e) {
8083
+ return Hf.call(Ff.call(arguments, 1), function(t) {
8084
8084
  if (t)
8085
8085
  for (var n in t)
8086
8086
  e[n] === void 0 && (e[n] = t[n]);
8087
8087
  }), e;
8088
8088
  }
8089
- var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
8089
+ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Mf = function(t, n, i) {
8090
8090
  var r = i || {};
8091
8091
  r.path = r.path || "/";
8092
8092
  var l = encodeURIComponent(n), o = "".concat(t, "=").concat(l);
@@ -8137,7 +8137,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
8137
8137
  path: "/",
8138
8138
  sameSite: "strict"
8139
8139
  };
8140
- i && (l.expires = /* @__PURE__ */ new Date(), l.expires.setTime(l.expires.getTime() + i * 60 * 1e3)), r && (l.domain = r), document.cookie = jf(t, encodeURIComponent(n), l);
8140
+ i && (l.expires = /* @__PURE__ */ new Date(), l.expires.setTime(l.expires.getTime() + i * 60 * 1e3)), r && (l.domain = r), document.cookie = Mf(t, encodeURIComponent(n), l);
8141
8141
  },
8142
8142
  read: function(t) {
8143
8143
  for (var n = "".concat(t, "="), i = document.cookie.split(";"), r = 0; r < i.length; r++) {
@@ -8151,7 +8151,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
8151
8151
  remove: function(t) {
8152
8152
  this.create(t, "", -1);
8153
8153
  }
8154
- }, Mf = {
8154
+ }, zf = {
8155
8155
  name: "cookie",
8156
8156
  lookup: function(t) {
8157
8157
  var n;
@@ -8164,7 +8164,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
8164
8164
  cacheUserLanguage: function(t, n) {
8165
8165
  n.lookupCookie && typeof document < "u" && Ru.create(n.lookupCookie, t, n.cookieMinutes, n.cookieDomain, n.cookieOptions);
8166
8166
  }
8167
- }, zf = {
8167
+ }, xf = {
8168
8168
  name: "querystring",
8169
8169
  lookup: function(t) {
8170
8170
  var n;
@@ -8192,7 +8192,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
8192
8192
  Gn = !1;
8193
8193
  }
8194
8194
  return Gn;
8195
- }, xf = {
8195
+ }, Tf = {
8196
8196
  name: "localStorage",
8197
8197
  lookup: function(t) {
8198
8198
  var n;
@@ -8216,7 +8216,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
8216
8216
  Xn = !1;
8217
8217
  }
8218
8218
  return Xn;
8219
- }, Tf = {
8219
+ }, Jf = {
8220
8220
  name: "sessionStorage",
8221
8221
  lookup: function(t) {
8222
8222
  var n;
@@ -8229,7 +8229,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
8229
8229
  cacheUserLanguage: function(t, n) {
8230
8230
  n.lookupSessionStorage && Bu() && window.sessionStorage.setItem(n.lookupSessionStorage, t);
8231
8231
  }
8232
- }, Jf = {
8232
+ }, Df = {
8233
8233
  name: "navigator",
8234
8234
  lookup: function(t) {
8235
8235
  var n = [];
@@ -8241,13 +8241,13 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
8241
8241
  }
8242
8242
  return n.length > 0 ? n : void 0;
8243
8243
  }
8244
- }, Df = {
8244
+ }, Qf = {
8245
8245
  name: "htmlTag",
8246
8246
  lookup: function(t) {
8247
8247
  var n, i = t.htmlTag || (typeof document < "u" ? document.documentElement : null);
8248
8248
  return i && typeof i.getAttribute == "function" && (n = i.getAttribute("lang")), n;
8249
8249
  }
8250
- }, Qf = {
8250
+ }, Ef = {
8251
8251
  name: "path",
8252
8252
  lookup: function(t) {
8253
8253
  var n;
@@ -8263,7 +8263,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
8263
8263
  }
8264
8264
  return n;
8265
8265
  }
8266
- }, Ef = {
8266
+ }, Uf = {
8267
8267
  name: "subdomain",
8268
8268
  lookup: function(t) {
8269
8269
  var n = typeof t.lookupFromSubdomainIndex == "number" ? t.lookupFromSubdomainIndex + 1 : 1, i = typeof window < "u" && window.location && window.location.hostname && window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);
@@ -8271,7 +8271,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
8271
8271
  return i[n];
8272
8272
  }
8273
8273
  };
8274
- function Uf() {
8274
+ function Pf() {
8275
8275
  return {
8276
8276
  order: ["querystring", "cookie", "localStorage", "sessionStorage", "navigator", "htmlTag"],
8277
8277
  lookupQuerystring: "lng",
@@ -8291,17 +8291,17 @@ function Uf() {
8291
8291
  var nd = /* @__PURE__ */ function() {
8292
8292
  function e(t) {
8293
8293
  var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
8294
- kf(this, e), this.type = "languageDetector", this.detectors = {}, this.init(t, n);
8294
+ Bf(this, e), this.type = "languageDetector", this.detectors = {}, this.init(t, n);
8295
8295
  }
8296
- return Kf(e, [{
8296
+ return Of(e, [{
8297
8297
  key: "init",
8298
8298
  value: function(n) {
8299
8299
  var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
8300
8300
  this.services = n || {
8301
8301
  languageUtils: {}
8302
- }, this.options = Ff(i, this.options || {}, Uf()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = function(l) {
8302
+ }, this.options = jf(i, this.options || {}, Pf()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = function(l) {
8303
8303
  return l.replace("-", "_");
8304
- }), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = r, this.addDetector(Mf), this.addDetector(zf), this.addDetector(xf), this.addDetector(Tf), this.addDetector(Jf), this.addDetector(Df), this.addDetector(Qf), this.addDetector(Ef);
8304
+ }), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = r, this.addDetector(zf), this.addDetector(xf), this.addDetector(Tf), this.addDetector(Jf), this.addDetector(Df), this.addDetector(Qf), this.addDetector(Ef), this.addDetector(Uf);
8305
8305
  }
8306
8306
  }, {
8307
8307
  key: "addDetector",
@@ -8334,58 +8334,58 @@ var nd = /* @__PURE__ */ function() {
8334
8334
  }]), e;
8335
8335
  }();
8336
8336
  nd.type = "languageDetector";
8337
- const Pf = "Se connecter", _f = "Se déconnecter", $f = "Gérer le profil", qf = "Charger un plein", em = "Xtra navigation", tm = "S'inscrire", nm = {
8337
+ const _f = "Se connecter", $f = "Se déconnecter", qf = "Gérer le profil", em = "Charger un plein", tm = "Xtra navigation", nm = "S'inscrire", im = {
8338
8338
  title: "Conditions générales",
8339
8339
  description: "J'ai pu prendre connaisance de la Déclaration de confidentialité Xtra et j'accepte les conditions générales suivantes",
8340
8340
  error: {
8341
8341
  required: "Pour poursuivre, veuillez d'abord accepter les Conditions Générales"
8342
8342
  },
8343
8343
  action: "Lire les {{ title }}"
8344
- }, im = "Continuer", rm = {
8344
+ }, rm = "Continuer", lm = {
8345
8345
  form: {
8346
8346
  genericError: "Pour continuer, veuillez compléter tous les champs correctement",
8347
8347
  detailedError: "Pour continuer, veuillez compléter ces champs : { invalidFormFieldLabels }}. Commencez par {{ firstInvalidFormFieldLabel }}"
8348
8348
  }
8349
- }, lm = "Code Xtra QR", om = "Vie privée", sm = "Payer avec Xtra", um = "Bons de valeur", am = {
8350
- login: Pf,
8351
- logout: _f,
8352
- manageProfile: $f,
8353
- loading: qf,
8354
- xtraMenuAriaLabel: em,
8355
- register: tm,
8356
- termsAndConditions: nm,
8357
- confirm: im,
8358
- common: rm,
8359
- qrCode: lm,
8360
- privacy: om,
8361
- payment: sm,
8362
- giftCards: um
8363
- }, cm = "Aanmelden", dm = "Afmelden", gm = "Profiel beheren", pm = "Laden", fm = "Xtra navigatie", mm = "Registreren", hm = {
8349
+ }, om = "Code Xtra QR", sm = "Vie privée", um = "Payer avec Xtra", am = "Bons de valeur", cm = {
8350
+ login: _f,
8351
+ logout: $f,
8352
+ manageProfile: qf,
8353
+ loading: em,
8354
+ xtraMenuAriaLabel: tm,
8355
+ register: nm,
8356
+ termsAndConditions: im,
8357
+ confirm: rm,
8358
+ common: lm,
8359
+ qrCode: om,
8360
+ privacy: sm,
8361
+ payment: um,
8362
+ giftCards: am
8363
+ }, dm = "Aanmelden", gm = "Afmelden", pm = "Profiel beheren", fm = "Laden", mm = "Xtra navigatie", hm = "Registreren", Cm = {
8364
8364
  title: "Algemene voorwaarden",
8365
8365
  description: "Ik heb kennis kunnen nemen van de Privacyverklaring van Xtra, en ga akkoord met de volgende algemene voorwaarden",
8366
8366
  error: {
8367
8367
  required: "Om verder te gaan, aanvaard eerst de Algemene Voorwaarden"
8368
8368
  },
8369
8369
  action: "Bekijk hier de {{ title }}"
8370
- }, Cm = "Verder", Im = {
8370
+ }, Im = "Verder", ym = {
8371
8371
  form: {
8372
8372
  genericError: "Om verder te gaan, vul alle velden correct in",
8373
8373
  detailedError: "Om verder te gaan, vul deze velden in: {{ invalidFormFieldLabels }}. Start met {{ firstInvalidFormFieldLabel }}"
8374
8374
  }
8375
- }, ym = "Xtra QR-code", Zm = "Privacy", vm = "Betalen met Xtra", bm = "Waardebonnen", wm = {
8376
- login: cm,
8377
- logout: dm,
8378
- manageProfile: gm,
8379
- loading: pm,
8380
- xtraMenuAriaLabel: fm,
8381
- register: mm,
8382
- termsAndConditions: hm,
8383
- confirm: Cm,
8384
- common: Im,
8385
- qrCode: ym,
8386
- privacy: Zm,
8375
+ }, Zm = "Xtra QR-code", bm = "Privacy", vm = "Betalen met Xtra", wm = "Waardebonnen", Wm = {
8376
+ login: dm,
8377
+ logout: gm,
8378
+ manageProfile: pm,
8379
+ loading: fm,
8380
+ xtraMenuAriaLabel: mm,
8381
+ register: hm,
8382
+ termsAndConditions: Cm,
8383
+ confirm: Im,
8384
+ common: ym,
8385
+ qrCode: Zm,
8386
+ privacy: bm,
8387
8387
  payment: vm,
8388
- giftCards: bm
8388
+ giftCards: wm
8389
8389
  };
8390
8390
  oe.use(nd).use(Od).init({
8391
8391
  detection: { order: ["htmlTag", "navigator"] },
@@ -8394,27 +8394,27 @@ oe.use(nd).use(Od).init({
8394
8394
  defaultNS: "authentication",
8395
8395
  nonExplicitSupportedLngs: !0,
8396
8396
  resources: {
8397
- nl: { authentication: wm },
8398
- fr: { authentication: am }
8397
+ nl: { authentication: Wm },
8398
+ fr: { authentication: cm }
8399
8399
  },
8400
8400
  fallbackLng: "nl",
8401
8401
  interpolation: { escapeValue: !1 }
8402
8402
  }).catch((e) => console.error(e));
8403
- const Wm = (e) => {
8403
+ const Lm = (e) => {
8404
8404
  const t = document.createElement("link");
8405
8405
  return t.rel = "stylesheet", t.href = e, t;
8406
- }, Lm = (e) => {
8407
- [cf, df, ig, af].forEach((t) => {
8408
- const n = Wm(t);
8406
+ }, Gm = (e) => {
8407
+ [df, gf, rg, cf].forEach((t) => {
8408
+ const n = Lm(t);
8409
8409
  return e.prepend(n);
8410
8410
  });
8411
8411
  };
8412
8412
  let oo, so, uo, id, rd;
8413
- class Gm extends HTMLElement {
8413
+ class Xm extends HTMLElement {
8414
8414
  async connectedCallback() {
8415
8415
  const t = this.attachShadow({ mode: "open" });
8416
- Lm(t);
8417
- const n = $c(t), i = (await import("./App-204f9a05.mjs")).default;
8416
+ Gm(t);
8417
+ const n = $c(t), i = (await import("./App-138b721c.mjs")).default;
8418
8418
  n.render(
8419
8419
  /* @__PURE__ */ Mn.jsx(
8420
8420
  i,
@@ -8429,24 +8429,25 @@ class Gm extends HTMLElement {
8429
8429
  );
8430
8430
  }
8431
8431
  }
8432
- const Nm = (e) => {
8432
+ const Sm = (e) => {
8433
8433
  if (window.frameElement)
8434
8434
  return;
8435
8435
  if (!e.apiUrl)
8436
8436
  throw new Error("apiUrl must specified when registering the Xtra authentication component.");
8437
8437
  if (!Object.values(fo).includes(e.environment))
8438
8438
  throw new Ud(oo);
8439
- return oo = e.environment, uo = e.apiUrl, so = e.redirectUrl ?? window.location.href, id = e.position ?? "right", rd = e.bouMenuItems ?? [], customElements.define("xtra-authentication", Gm), { loginWithXtra: () => {
8440
- const i = gf({ apiUrl: uo, redirectUrl: so });
8439
+ return oo = e.environment, uo = e.apiUrl, so = e.redirectUrl ?? window.location.href, id = e.position ?? "right", rd = e.bouMenuItems ?? [], customElements.define("xtra-authentication", Xm), { loginWithXtra: () => {
8440
+ const i = pf({ apiUrl: uo, redirectUrl: so });
8441
8441
  window.location.replace(i);
8442
8442
  } };
8443
8443
  };
8444
8444
  export {
8445
- Xm as E,
8446
- Ym as a,
8447
- Am as b,
8448
- Nm as c,
8449
- gf as g,
8445
+ Ym as E,
8446
+ ng as P,
8447
+ Am as a,
8448
+ Nm as b,
8449
+ Sm as c,
8450
+ pf as g,
8450
8451
  Mn as j,
8451
8452
  J as r,
8452
8453
  Qu as u