UNPKG

@ansible/ansible-ui-framework

Version:

A framework for building applications using PatternFly.

1,380 lines (1,378 loc) • 1.29 MB
import { u as De, j as M } from "./index-sxnqWQGw.js"; import { useContext as He, createContext as je, useState as Se, useEffect as ye, useRef as qe } from "react"; import Oe from "react-dom"; import { N as Ye } from "./ansible-chatbot-BfsfF2tL.js"; import { Spinner as Ze } from "@patternfly/react-core"; import "@patternfly/react-table"; import "@patternfly/react-icons"; const be = Symbol.for("yaml.alias"), Le = Symbol.for("yaml.document"), G = Symbol.for("yaml.map"), Pe = Symbol.for("yaml.pair"), ge = Symbol.for("yaml.scalar"), X = Symbol.for("yaml.seq"), z = Symbol.for("yaml.node.type"), q = (a) => !!a && typeof a == "object" && a[z] === be, oe = (a) => !!a && typeof a == "object" && a[z] === Le, Ie = (a) => !!a && typeof a == "object" && a[z] === G, B = (a) => !!a && typeof a == "object" && a[z] === Pe, y = (a) => !!a && typeof a == "object" && a[z] === ge, me = (a) => !!a && typeof a == "object" && a[z] === X; function S(a) { if (a && typeof a == "object") switch (a[z]) { case G: case X: return !0; } return !1; } function C(a) { if (a && typeof a == "object") switch (a[z]) { case be: case G: case ge: case X: return !0; } return !1; } const Ue = (a) => (y(a) || S(a)) && !!a.anchor, T = Symbol("break visit"), Ne = Symbol("skip children"), Z = Symbol("remove node"); function U(a, t) { const e = Xe(t); oe(a) ? D(null, a.contents, e, Object.freeze([a])) === Z && (a.contents = null) : D(null, a, e, Object.freeze([])); } U.BREAK = T; U.SKIP = Ne; U.REMOVE = Z; function D(a, t, e, o) { const r = Ve(a, t, e, o); if (C(r) || B(r)) return Je(a, o, r), D(a, r, e, o); if (typeof r != "symbol") { if (S(t)) { o = Object.freeze(o.concat(t)); for (let l = 0; l < t.items.length; ++l) { const n = D(l, t.items[l], e, o); if (typeof n == "number") l = n - 1; else { if (n === T) return T; n === Z && (t.items.splice(l, 1), l -= 1); } } } else if (B(t)) { o = Object.freeze(o.concat(t)); const l = D("key", t.key, e, o); if (l === T) return T; l === Z && (t.key = null); const n = D("value", t.value, e, o); if (n === T) return T; n === Z && (t.value = null); } } return r; } function Xe(a) { return typeof a == "object" && (a.Collection || a.Node || a.Value) ? Object.assign({ Alias: a.Node, Map: a.Node, Scalar: a.Node, Seq: a.Node }, a.Value && { Map: a.Value, Scalar: a.Value, Seq: a.Value }, a.Collection && { Map: a.Collection, Seq: a.Collection }, a) : a; } function Ve(a, t, e, o) { var r, l, n, c, p; if (typeof e == "function") return e(a, t, o); if (Ie(t)) return (r = e.Map) == null ? void 0 : r.call(e, a, t, o); if (me(t)) return (l = e.Seq) == null ? void 0 : l.call(e, a, t, o); if (B(t)) return (n = e.Pair) == null ? void 0 : n.call(e, a, t, o); if (y(t)) return (c = e.Scalar) == null ? void 0 : c.call(e, a, t, o); if (q(t)) return (p = e.Alias) == null ? void 0 : p.call(e, a, t, o); } function Je(a, t, e) { const o = t[t.length - 1]; if (S(o)) o.items[a] = e; else if (B(o)) a === "key" ? o.key = e : o.value = e; else if (oe(o)) o.contents = e; else { const r = q(o) ? "alias" : "scalar"; throw new Error(`Cannot replace node with ${r} parent`); } } function Ee(a) { if (/[\x00-\x19\s,[\]{}]/.test(a)) { const e = `Anchor must not contain whitespace or control characters: ${JSON.stringify(a)}`; throw new Error(e); } return !0; } function Y(a, t, e, o) { if (o && typeof o == "object") if (Array.isArray(o)) for (let r = 0, l = o.length; r < l; ++r) { const n = o[r], c = Y(a, o, String(r), n); c === void 0 ? delete o[r] : c !== n && (o[r] = c); } else if (o instanceof Map) for (const r of Array.from(o.keys())) { const l = o.get(r), n = Y(a, o, r, l); n === void 0 ? o.delete(r) : n !== l && o.set(r, n); } else if (o instanceof Set) for (const r of Array.from(o)) { const l = Y(a, o, r, r); l === void 0 ? o.delete(r) : l !== r && (o.delete(r), o.add(l)); } else for (const [r, l] of Object.entries(o)) { const n = Y(a, o, r, l); n === void 0 ? delete o[r] : n !== l && (o[r] = n); } return a.call(t, e, o); } function I(a, t, e) { if (Array.isArray(a)) return a.map((o, r) => I(o, String(r), e)); if (a && typeof a.toJSON == "function") { if (!e || !Ue(a)) return a.toJSON(t, e); const o = { aliasCount: 0, count: 1, res: void 0 }; e.anchors.set(a, o), e.onCreate = (l) => { o.res = l, delete e.onCreate; }; const r = a.toJSON(t, e); return e.onCreate && e.onCreate(r), r; } return typeof a == "bigint" && !(e != null && e.keep) ? Number(a) : a; } class ue { constructor(t) { Object.defineProperty(this, z, { value: t }); } /** Create a copy of this node. */ clone() { const t = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this)); return this.range && (t.range = this.range.slice()), t; } /** A plain JavaScript representation of this node. */ toJS(t, { mapAsMap: e, maxAliasCount: o, onAnchor: r, reviver: l } = {}) { if (!oe(t)) throw new TypeError("A document argument is required"); const n = { anchors: /* @__PURE__ */ new Map(), doc: t, keep: !0, mapAsMap: e === !0, mapKeyWarned: !1, maxAliasCount: typeof o == "number" ? o : 100 }, c = I(this, "", n); if (typeof r == "function") for (const { count: p, res: i } of n.anchors.values()) r(i, p); return typeof l == "function" ? Y(l, { "": c }, "", c) : c; } } class Qe extends ue { constructor(t) { super(be), this.source = t, Object.defineProperty(this, "tag", { set() { throw new Error("Alias nodes cannot have tags"); } }); } /** * Resolve the value of this alias within `doc`, finding the last * instance of the `source` anchor before this node. */ resolve(t) { let e; return U(t, { Node: (o, r) => { if (r === this) return U.BREAK; r.anchor === this.source && (e = r); } }), e; } toJSON(t, e) { if (!e) return { source: this.source }; const { anchors: o, doc: r, maxAliasCount: l } = e, n = this.resolve(r); if (!n) { const p = `Unresolved alias (the anchor must be set before the alias): ${this.source}`; throw new ReferenceError(p); } let c = o.get(n); if (c || (I(n, null, e), c = o.get(n)), !c || c.res === void 0) { const p = "This should not happen: Alias anchor was not resolved?"; throw new ReferenceError(p); } if (l >= 0 && (c.count += 1, c.aliasCount === 0 && (c.aliasCount = Q(r, n, o)), c.count * c.aliasCount > l)) { const p = "Excessive alias count indicates a resource exhaustion attack"; throw new ReferenceError(p); } return c.res; } toString(t, e, o) { const r = `*${this.source}`; if (t) { if (Ee(this.source), t.options.verifyAliasOrder && !t.anchors.has(this.source)) { const l = `Unresolved alias (the anchor must be set before the alias): ${this.source}`; throw new Error(l); } if (t.implicitKey) return `${r} `; } return r; } } function Q(a, t, e) { if (q(t)) { const o = t.resolve(a), r = e && o && e.get(o); return r ? r.count * r.aliasCount : 0; } else if (S(t)) { let o = 0; for (const r of t.items) { const l = Q(a, r, e); l > o && (o = l); } return o; } else if (B(t)) { const o = Q(a, t.key, e), r = Q(a, t.value, e); return Math.max(o, r); } return 1; } const ze = (a) => !a || typeof a != "function" && typeof a != "object"; class x extends ue { constructor(t) { super(ge), this.value = t; } toJSON(t, e) { return e != null && e.keep ? this.value : I(this.value, t, e); } toString() { return String(this.value); } } x.BLOCK_FOLDED = "BLOCK_FOLDED"; x.BLOCK_LITERAL = "BLOCK_LITERAL"; x.PLAIN = "PLAIN"; x.QUOTE_DOUBLE = "QUOTE_DOUBLE"; x.QUOTE_SINGLE = "QUOTE_SINGLE"; function Ke(a, t, e) { return e.find((o) => { var r; return ((r = o.identify) == null ? void 0 : r.call(o, a)) && !o.format; }); } function ee(a, t, e) { var d, v, b; if (oe(a) && (a = a.contents), C(a)) return a; if (B(a)) { const g = (v = (d = e.schema[G]).createNode) == null ? void 0 : v.call(d, e.schema, null, e); return g.items.push(a), g; } (a instanceof String || a instanceof Number || a instanceof Boolean || typeof BigInt < "u" && a instanceof BigInt) && (a = a.valueOf()); const { aliasDuplicateObjects: o, onAnchor: r, onTagObj: l, schema: n, sourceObjects: c } = e; let p; if (o && a && typeof a == "object") { if (p = c.get(a), p) return p.anchor || (p.anchor = r(a)), new Qe(p.anchor); p = { anchor: null, node: null }, c.set(a, p); } let i = Ke(a, t, n.tags); if (!i) { if (a && typeof a.toJSON == "function" && (a = a.toJSON()), !a || typeof a != "object") { const g = new x(a); return p && (p.node = g), g; } i = a instanceof Map ? n[G] : Symbol.iterator in Object(a) ? n[X] : n[G]; } l && (l(i), delete e.onTagObj); const m = i != null && i.createNode ? i.createNode(e.schema, a, e) : typeof ((b = i == null ? void 0 : i.nodeClass) == null ? void 0 : b.from) == "function" ? i.nodeClass.from(e.schema, a, e) : new x(a); return i.default || (m.tag = i.tag), p && (p.node = m), m; } function Be(a, t, e) { let o = e; for (let r = t.length - 1; r >= 0; --r) { const l = t[r]; if (typeof l == "number" && Number.isInteger(l) && l >= 0) { const n = []; n[l] = o, o = n; } else o = /* @__PURE__ */ new Map([[l, o]]); } return ee(o, void 0, { aliasDuplicateObjects: !1, keepUndefined: !1, onAnchor: () => { throw new Error("This should not happen, please report a bug."); }, schema: a, sourceObjects: /* @__PURE__ */ new Map() }); } const $e = (a) => a == null || typeof a == "object" && !!a[Symbol.iterator]().next().done; class We extends ue { constructor(t, e) { super(t), Object.defineProperty(this, "schema", { value: e, configurable: !0, enumerable: !1, writable: !0 }); } /** * Create a copy of this collection. * * @param schema - If defined, overwrites the original's schema */ clone(t) { const e = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this)); return t && (e.schema = t), e.items = e.items.map((o) => C(o) || B(o) ? o.clone(t) : o), this.range && (e.range = this.range.slice()), e; } /** * Adds a value to the collection. For `!!map` and `!!omap` the value must * be a Pair instance or a `{ key, value }` object, which may not have a key * that already exists in the map. */ addIn(t, e) { if ($e(t)) this.add(e); else { const [o, ...r] = t, l = this.get(o, !0); if (S(l)) l.addIn(r, e); else if (l === void 0 && this.schema) this.set(o, Be(this.schema, r, e)); else throw new Error(`Expected YAML collection at ${o}. Remaining path: ${r}`); } } /** * Removes a value from the collection. * @returns `true` if the item was found and removed. */ deleteIn(t) { const [e, ...o] = t; if (o.length === 0) return this.delete(e); const r = this.get(e, !0); if (S(r)) return r.deleteIn(o); throw new Error(`Expected YAML collection at ${e}. Remaining path: ${o}`); } /** * Returns item at `key`, or `undefined` if not found. By default unwraps * scalar values from their surrounding node; to disable set `keepScalar` to * `true` (collections are always returned intact). */ getIn(t, e) { const [o, ...r] = t, l = this.get(o, !0); return r.length === 0 ? !e && y(l) ? l.value : l : S(l) ? l.getIn(r, e) : void 0; } hasAllNullValues(t) { return this.items.every((e) => { if (!B(e)) return !1; const o = e.value; return o == null || t && y(o) && o.value == null && !o.commentBefore && !o.comment && !o.tag; }); } /** * Checks if the collection includes a value with the key `key`. */ hasIn(t) { const [e, ...o] = t; if (o.length === 0) return this.has(e); const r = this.get(e, !0); return S(r) ? r.hasIn(o) : !1; } /** * Sets a value in this collection. For `!!set`, `value` needs to be a * boolean to add/remove the item from the set. */ setIn(t, e) { const [o, ...r] = t; if (r.length === 0) this.set(o, e); else { const l = this.get(o, !0); if (S(l)) l.setIn(r, e); else if (l === void 0 && this.schema) this.set(o, Be(this.schema, r, e)); else throw new Error(`Expected YAML collection at ${o}. Remaining path: ${r}`); } } } const et = (a) => a.replace(/^(?!$)(?: $)?/gm, "#"); function N(a, t) { return /^\n+$/.test(a) ? a.substring(1) : t ? a.replace(/^(?! *$)/gm, t) : a; } const H = (a, t, e) => a.endsWith(` `) ? N(e, t) : e.includes(` `) ? ` ` + N(e, t) : (a.endsWith(" ") ? "" : " ") + e, Me = "flow", de = "block", K = "quoted"; function le(a, t, e = "flow", { indentAtStart: o, lineWidth: r = 80, minContentWidth: l = 20, onFold: n, onOverflow: c } = {}) { if (!r || r < 0) return a; r < l && (l = 0); const p = Math.max(1 + l, 1 + r - t.length); if (a.length <= p) return a; const i = [], m = {}; let d = r - t.length; typeof o == "number" && (o > r - Math.max(2, l) ? i.push(0) : d = r - o); let v, b, g = !1, f = -1, s = -1, w = -1; e === de && (f = Ce(a, f, t.length), f !== -1 && (d = f + p)); for (let _; _ = a[f += 1]; ) { if (e === K && _ === "\\") { switch (s = f, a[f + 1]) { case "x": f += 3; break; case "u": f += 5; break; case "U": f += 9; break; default: f += 1; } w = f; } if (_ === ` `) e === de && (f = Ce(a, f, t.length)), d = f + t.length + p, v = void 0; else { if (_ === " " && b && b !== " " && b !== ` ` && b !== " ") { const h = a[f + 1]; h && h !== " " && h !== ` ` && h !== " " && (v = f); } if (f >= d) if (v) i.push(v), d = v + p, v = void 0; else if (e === K) { for (; b === " " || b === " "; ) b = _, _ = a[f += 1], g = !0; const h = f > w + 1 ? f - 2 : s - 1; if (m[h]) return a; i.push(h), m[h] = !0, d = h + p, v = void 0; } else g = !0; } b = _; } if (g && c && c(), i.length === 0) return a; n && n(); let u = a.slice(0, i[0]); for (let _ = 0; _ < i.length; ++_) { const h = i[_], k = i[_ + 1] || a.length; h === 0 ? u = ` ${t}${a.slice(0, k)}` : (e === K && m[h] && (u += `${a[h]}\\`), u += ` ${t}${a.slice(h + 1, k)}`); } return u; } function Ce(a, t, e) { let o = t, r = t + 1, l = a[r]; for (; l === " " || l === " "; ) if (t < r + e) l = a[++t]; else { do l = a[++t]; while (l && l !== ` `); o = t, r = t + 1, l = a[r]; } return o; } const re = (a, t) => ({ indentAtStart: t ? a.indent.length : a.indentAtStart, lineWidth: a.options.lineWidth, minContentWidth: a.options.minContentWidth }), ne = (a) => /^(%|---|\.\.\.)/m.test(a); function tt(a, t, e) { if (!t || t < 0) return !1; const o = t - e, r = a.length; if (r <= o) return !1; for (let l = 0, n = 0; l < r; ++l) if (a[l] === ` `) { if (l - n > o) return !0; if (n = l + 1, r - n <= o) return !1; } return !0; } function L(a, t) { const e = JSON.stringify(a); if (t.options.doubleQuotedAsJSON) return e; const { implicitKey: o } = t, r = t.options.doubleQuotedMinMultiLineLength, l = t.indent || (ne(a) ? " " : ""); let n = "", c = 0; for (let p = 0, i = e[p]; i; i = e[++p]) if (i === " " && e[p + 1] === "\\" && e[p + 2] === "n" && (n += e.slice(c, p) + "\\ ", p += 1, c = p, i = "\\"), i === "\\") switch (e[p + 1]) { case "u": { n += e.slice(c, p); const m = e.substr(p + 2, 4); switch (m) { case "0000": n += "\\0"; break; case "0007": n += "\\a"; break; case "000b": n += "\\v"; break; case "001b": n += "\\e"; break; case "0085": n += "\\N"; break; case "00a0": n += "\\_"; break; case "2028": n += "\\L"; break; case "2029": n += "\\P"; break; default: m.substr(0, 2) === "00" ? n += "\\x" + m.substr(2) : n += e.substr(p, 6); } p += 5, c = p + 1; } break; case "n": if (o || e[p + 2] === '"' || e.length < r) p += 1; else { for (n += e.slice(c, p) + ` `; e[p + 2] === "\\" && e[p + 3] === "n" && e[p + 4] !== '"'; ) n += ` `, p += 2; n += l, e[p + 2] === " " && (n += "\\"), p += 1, c = p + 1; } break; default: p += 1; } return n = c ? n + e.slice(c) : e, o ? n : le(n, l, K, re(t, !1)); } function ve(a, t) { if (t.options.singleQuote === !1 || t.implicitKey && a.includes(` `) || /[ \t]\n|\n[ \t]/.test(a)) return L(a, t); const e = t.indent || (ne(a) ? " " : ""), o = "'" + a.replace(/'/g, "''").replace(/\n+/g, `$& ${e}`) + "'"; return t.implicitKey ? o : le(o, e, Me, re(t, !1)); } function j(a, t) { const { singleQuote: e } = t.options; let o; if (e === !1) o = L; else { const r = a.includes('"'), l = a.includes("'"); r && !l ? o = ve : l && !r ? o = L : o = e ? ve : L; } return o(a, t); } let se; try { se = new RegExp(`(^|(?<! )) +(?! |$)`, "g"); } catch { se = /\n+(?!\n|$)/g; } function $({ comment: a, type: t, value: e }, o, r, l) { const { blockQuote: n, commentString: c, lineWidth: p } = o.options; if (!n || /\n[\t ]+$/.test(e) || /^\s*$/.test(e)) return j(e, o); const i = o.indent || (o.forceBlockIndent || ne(e) ? " " : ""), m = n === "literal" ? !0 : n === "folded" || t === x.BLOCK_FOLDED ? !1 : t === x.BLOCK_LITERAL ? !0 : !tt(e, p, i.length); if (!e) return m ? `| ` : `> `; let d, v; for (v = e.length; v > 0; --v) { const k = e[v - 1]; if (k !== ` ` && k !== " " && k !== " ") break; } let b = e.substring(v); const g = b.indexOf(` `); g === -1 ? d = "-" : e === b || g !== b.length - 1 ? (d = "+", l && l()) : d = "", b && (e = e.slice(0, -b.length), b[b.length - 1] === ` ` && (b = b.slice(0, -1)), b = b.replace(se, `$&${i}`)); let f = !1, s, w = -1; for (s = 0; s < e.length; ++s) { const k = e[s]; if (k === " ") f = !0; else if (k === ` `) w = s; else break; } let u = e.substring(0, w < s ? w + 1 : s); u && (e = e.substring(u.length), u = u.replace(/\n+/g, `$&${i}`)); let h = (f ? i ? "2" : "1" : "") + d; if (a && (h += " " + c(a.replace(/ ?[\r\n]+/g, " ")), r && r()), !m) { const k = e.replace(/\n+/g, ` $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, "$1$2").replace(/\n+/g, `$&${i}`); let P = !1; const E = re(o, !0); n !== "folded" && t !== x.BLOCK_FOLDED && (E.onOverflow = () => { P = !0; }); const O = le(`${u}${k}${b}`, i, de, E); if (!P) return `>${h} ${i}${O}`; } return e = e.replace(/\n+/g, `$&${i}`), `|${h} ${i}${u}${e}${b}`; } function at(a, t, e, o) { const { type: r, value: l } = a, { actualString: n, implicitKey: c, indent: p, indentStep: i, inFlow: m } = t; if (c && l.includes(` `) || m && /[[\]{},]/.test(l)) return j(l, t); if (!l || /^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(l)) return c || m || !l.includes(` `) ? j(l, t) : $(a, t, e, o); if (!c && !m && r !== x.PLAIN && l.includes(` `)) return $(a, t, e, o); if (ne(l)) { if (p === "") return t.forceBlockIndent = !0, $(a, t, e, o); if (c && p === i) return j(l, t); } const d = l.replace(/\n+/g, `$& ${p}`); if (n) { const v = (f) => { var s; return f.default && f.tag !== "tag:yaml.org,2002:str" && ((s = f.test) == null ? void 0 : s.test(d)); }, { compat: b, tags: g } = t.doc.schema; if (g.some(v) || b != null && b.some(v)) return j(l, t); } return c ? d : le(d, p, Me, re(t, !1)); } function ot(a, t, e, o) { const { implicitKey: r, inFlow: l } = t, n = typeof a.value == "string" ? a : Object.assign({}, a, { value: String(a.value) }); let { type: c } = a; c !== x.QUOTE_DOUBLE && /[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(n.value) && (c = x.QUOTE_DOUBLE); const p = (m) => { switch (m) { case x.BLOCK_FOLDED: case x.BLOCK_LITERAL: return r || l ? j(n.value, t) : $(n, t, e, o); case x.QUOTE_DOUBLE: return L(n.value, t); case x.QUOTE_SINGLE: return ve(n.value, t); case x.PLAIN: return at(n, t, e, o); default: return null; } }; let i = p(c); if (i === null) { const { defaultKeyType: m, defaultStringType: d } = t.options, v = r && m || d; if (i = p(v), i === null) throw new Error(`Unsupported default string type ${v}`); } return i; } function lt(a, t) { const e = Object.assign({ blockQuote: !0, commentString: et, defaultKeyType: null, defaultStringType: "PLAIN", directives: null, doubleQuotedAsJSON: !1, doubleQuotedMinMultiLineLength: 40, falseStr: "false", flowCollectionPadding: !0, indentSeq: !0, lineWidth: 80, minContentWidth: 20, nullStr: "null", simpleKeys: !1, singleQuote: null, trueStr: "true", verifyAliasOrder: !0 }, a.schema.toStringOptions, t); let o; switch (e.collectionStyle) { case "block": o = !1; break; case "flow": o = !0; break; default: o = null; } return { anchors: /* @__PURE__ */ new Set(), doc: a, flowCollectionPadding: e.flowCollectionPadding ? " " : "", indent: "", indentStep: typeof e.indent == "number" ? " ".repeat(e.indent) : " ", inFlow: o, options: e }; } function rt(a, t) { var r; if (t.tag) { const l = a.filter((n) => n.tag === t.tag); if (l.length > 0) return l.find((n) => n.format === t.format) ?? l[0]; } let e, o; if (y(t)) { o = t.value; let l = a.filter((n) => { var c; return (c = n.identify) == null ? void 0 : c.call(n, o); }); if (l.length > 1) { const n = l.filter((c) => c.test); n.length > 0 && (l = n); } e = l.find((n) => n.format === t.format) ?? l.find((n) => !n.format); } else o = t, e = a.find((l) => l.nodeClass && o instanceof l.nodeClass); if (!e) { const l = ((r = o == null ? void 0 : o.constructor) == null ? void 0 : r.name) ?? typeof o; throw new Error(`Tag not resolved for ${l} value`); } return e; } function nt(a, t, { anchors: e, doc: o }) { if (!o.directives) return ""; const r = [], l = (y(a) || S(a)) && a.anchor; l && Ee(l) && (e.add(l), r.push(`&${l}`)); const n = a.tag ? a.tag : t.default ? null : t.tag; return n && r.push(o.directives.tagString(n)), r.join(" "); } function te(a, t, e, o) { var p; if (B(a)) return a.toString(t, e, o); if (q(a)) { if (t.doc.directives) return a.toString(t); if ((p = t.resolvedAliases) != null && p.has(a)) throw new TypeError("Cannot stringify circular structure without alias nodes"); t.resolvedAliases ? t.resolvedAliases.add(a) : t.resolvedAliases = /* @__PURE__ */ new Set([a]), a = a.resolve(t.doc); } let r; const l = C(a) ? a : t.doc.createNode(a, { onTagObj: (i) => r = i }); r || (r = rt(t.doc.schema.tags, l)); const n = nt(l, r, t); n.length > 0 && (t.indentAtStart = (t.indentAtStart ?? 0) + n.length + 1); const c = typeof r.stringify == "function" ? r.stringify(l, t, e, o) : y(l) ? ot(l, t, e, o) : l.toString(t, e, o); return n ? y(l) || c[0] === "{" || c[0] === "[" ? `${n} ${c}` : `${n} ${t.indent}${c}` : c; } function pt({ key: a, value: t }, e, o, r) { const { allNullValues: l, doc: n, indent: c, indentStep: p, options: { commentString: i, indentSeq: m, simpleKeys: d } } = e; let v = C(a) && a.comment || null; if (d) { if (v) throw new Error("With simple keys, key nodes cannot have comments"); if (S(a) || !C(a) && typeof a == "object") { const E = "With simple keys, collection cannot be used as a key value"; throw new Error(E); } } let b = !d && (!a || v && t == null && !e.inFlow || S(a) || (y(a) ? a.type === x.BLOCK_FOLDED || a.type === x.BLOCK_LITERAL : typeof a == "object")); e = Object.assign({}, e, { allNullValues: !1, implicitKey: !b && (d || !l), indent: c + p }); let g = !1, f = !1, s = te(a, e, () => g = !0, () => f = !0); if (!b && !e.inFlow && s.length > 1024) { if (d) throw new Error("With simple keys, single line scalar must not span more than 1024 characters"); b = !0; } if (e.inFlow) { if (l || t == null) return g && o && o(), s === "" ? "?" : b ? `? ${s}` : s; } else if (l && !d || t == null && b) return s = `? ${s}`, v && !g ? s += H(s, e.indent, i(v)) : f && r && r(), s; g && (v = null), b ? (v && (s += H(s, e.indent, i(v))), s = `? ${s} ${c}:`) : (s = `${s}:`, v && (s += H(s, e.indent, i(v)))); let w, u, _; C(t) ? (w = !!t.spaceBefore, u = t.commentBefore, _ = t.comment) : (w = !1, u = null, _ = null, t && typeof t == "object" && (t = n.createNode(t))), e.implicitKey = !1, !b && !v && y(t) && (e.indentAtStart = s.length + 1), f = !1, !m && p.length >= 2 && !e.inFlow && !b && me(t) && !t.flow && !t.tag && !t.anchor && (e.indent = e.indent.substring(2)); let h = !1; const k = te(t, e, () => h = !0, () => f = !0); let P = " "; if (v || w || u) { if (P = w ? ` ` : "", u) { const E = i(u); P += ` ${N(E, e.indent)}`; } k === "" && !e.inFlow ? P === ` ` && (P = ` `) : P += ` ${e.indent}`; } else if (!b && S(t)) { const E = k[0], O = k.indexOf(` `), we = O !== -1, Re = e.inFlow ?? t.flow ?? t.items.length === 0; if (we || !Re) { let ke = !1; if (we && (E === "&" || E === "!")) { let F = k.indexOf(" "); E === "&" && F !== -1 && F < O && k[F + 1] === "!" && (F = k.indexOf(" ", F + 1)), (F === -1 || O < F) && (ke = !0); } ke || (P = ` ${e.indent}`); } } else (k === "" || k[0] === ` `) && (P = ""); return s += P + k, e.inFlow ? h && o && o() : _ && !h ? s += H(s, e.indent, i(_)) : f && r && r(), s; } function ct(a, t) { (a === "debug" || a === "warn") && console.warn(t); } const V = "<<", pe = { identify: (a) => a === V || typeof a == "symbol" && a.description === V, default: "key", tag: "tag:yaml.org,2002:merge", test: /^<<$/, resolve: () => Object.assign(new x(Symbol(V)), { addToJSMap: Fe }), stringify: () => V }, it = (a, t) => (pe.identify(t) || y(t) && (!t.type || t.type === x.PLAIN) && pe.identify(t.value)) && (a == null ? void 0 : a.doc.schema.tags.some((e) => e.tag === pe.tag && e.default)); function Fe(a, t, e) { if (e = a && q(e) ? e.resolve(a.doc) : e, me(e)) for (const o of e.items) ce(a, t, o); else if (Array.isArray(e)) for (const o of e) ce(a, t, o); else ce(a, t, e); } function ce(a, t, e) { const o = a && q(e) ? e.resolve(a.doc) : e; if (!Ie(o)) throw new Error("Merge sources must be maps or map aliases"); const r = o.toJSON(null, a, Map); for (const [l, n] of r) t instanceof Map ? t.has(l) || t.set(l, n) : t instanceof Set ? t.add(l) : Object.prototype.hasOwnProperty.call(t, l) || Object.defineProperty(t, l, { value: n, writable: !0, enumerable: !0, configurable: !0 }); return t; } function Te(a, t, { key: e, value: o }) { if (C(e) && e.addToJSMap) e.addToJSMap(a, t, o); else if (it(a, e)) Fe(a, t, o); else { const r = I(e, "", a); if (t instanceof Map) t.set(r, I(o, r, a)); else if (t instanceof Set) t.add(r); else { const l = ft(e, r, a), n = I(o, l, a); l in t ? Object.defineProperty(t, l, { value: n, writable: !0, enumerable: !0, configurable: !0 }) : t[l] = n; } } return t; } function ft(a, t, e) { if (t === null) return ""; if (typeof t != "object") return String(t); if (C(a) && (e != null && e.doc)) { const o = lt(e.doc, {}); o.anchors = /* @__PURE__ */ new Set(); for (const l of e.anchors.keys()) o.anchors.add(l.anchor); o.inFlow = !0, o.inStringifyKey = !0; const r = a.toString(o); if (!e.mapKeyWarned) { let l = JSON.stringify(r); l.length > 40 && (l = l.substring(0, 36) + '..."'), ct(e.doc.options.logLevel, `Keys with collection values will be stringified due to JS Object restrictions: ${l}. Set mapAsMap: true to use object keys.`), e.mapKeyWarned = !0; } return r; } return JSON.stringify(t); } function _e(a, t, e) { const o = ee(a, void 0, e), r = ee(t, void 0, e); return new W(o, r); } class W { constructor(t, e = null) { Object.defineProperty(this, z, { value: Pe }), this.key = t, this.value = e; } clone(t) { let { key: e, value: o } = this; return C(e) && (e = e.clone(t)), C(o) && (o = o.clone(t)), new W(e, o); } toJSON(t, e) { const o = e != null && e.mapAsMap ? /* @__PURE__ */ new Map() : {}; return Te(e, o, this); } toString(t, e, o) { return t != null && t.doc ? pt(this, t, e, o) : JSON.stringify(this); } } function Ae(a, t, e) { return (t.inFlow ?? a.flow ? vt : dt)(a, t, e); } function dt({ comment: a, items: t }, e, { blockItemPrefix: o, flowChars: r, itemIndent: l, onChompKeep: n, onComment: c }) { const { indent: p, options: { commentString: i } } = e, m = Object.assign({}, e, { indent: l, type: null }); let d = !1; const v = []; for (let g = 0; g < t.length; ++g) { const f = t[g]; let s = null; if (C(f)) !d && f.spaceBefore && v.push(""), ae(e, v, f.commentBefore, d), f.comment && (s = f.comment); else if (B(f)) { const u = C(f.key) ? f.key : null; u && (!d && u.spaceBefore && v.push(""), ae(e, v, u.commentBefore, d)); } d = !1; let w = te(f, m, () => s = null, () => d = !0); s && (w += H(w, l, i(s))), d && s && (d = !1), v.push(o + w); } let b; if (v.length === 0) b = r.start + r.end; else { b = v[0]; for (let g = 1; g < v.length; ++g) { const f = v[g]; b += f ? ` ${p}${f}` : ` `; } } return a ? (b += ` ` + N(i(a), p), c && c()) : d && n && n(), b; } function vt({ items: a }, t, { flowChars: e, itemIndent: o }) { const { indent: r, indentStep: l, flowCollectionPadding: n, options: { commentString: c } } = t; o += l; const p = Object.assign({}, t, { indent: o, inFlow: !0, type: null }); let i = !1, m = 0; const d = []; for (let g = 0; g < a.length; ++g) { const f = a[g]; let s = null; if (C(f)) f.spaceBefore && d.push(""), ae(t, d, f.commentBefore, !1), f.comment && (s = f.comment); else if (B(f)) { const u = C(f.key) ? f.key : null; u && (u.spaceBefore && d.push(""), ae(t, d, u.commentBefore, !1), u.comment && (i = !0)); const _ = C(f.value) ? f.value : null; _ ? (_.comment && (s = _.comment), _.commentBefore && (i = !0)) : f.value == null && (u != null && u.comment) && (s = u.comment); } s && (i = !0); let w = te(f, p, () => s = null); g < a.length - 1 && (w += ","), s && (w += H(w, o, c(s))), !i && (d.length > m || w.includes(` `)) && (i = !0), d.push(w), m = d.length; } const { start: v, end: b } = e; if (d.length === 0) return v + b; if (!i) { const g = d.reduce((f, s) => f + s.length + 2, 2); i = t.options.lineWidth > 0 && g > t.options.lineWidth; } if (i) { let g = v; for (const f of d) g += f ? ` ${l}${r}${f}` : ` `; return `${g} ${r}${b}`; } else return `${v}${n}${d.join(" ")}${n}${b}`; } function ae({ indent: a, options: { commentString: t } }, e, o, r) { if (o && r && (o = o.replace(/^\n+/, "")), o) { const l = N(t(o), a); e.push(l.trimStart()); } } function A(a, t) { const e = y(t) ? t.value : t; for (const o of a) if (B(o) && (o.key === t || o.key === e || y(o.key) && o.key.value === e)) return o; } class R extends We { static get tagName() { return "tag:yaml.org,2002:map"; } constructor(t) { super(G, t), this.items = []; } /** * A generic collection parsing method that can be extended * to other node classes that inherit from YAMLMap */ static from(t, e, o) { const { keepUndefined: r, replacer: l } = o, n = new this(t), c = (p, i) => { if (typeof l == "function") i = l.call(e, p, i); else if (Array.isArray(l) && !l.includes(p)) return; (i !== void 0 || r) && n.items.push(_e(p, i, o)); }; if (e instanceof Map) for (const [p, i] of e) c(p, i); else if (e && typeof e == "object") for (const p of Object.keys(e)) c(p, e[p]); return typeof t.sortMapEntries == "function" && n.items.sort(t.sortMapEntries), n; } /** * Adds a value to the collection. * * @param overwrite - If not set `true`, using a key that is already in the * collection will throw. Otherwise, overwrites the previous value. */ add(t, e) { var n; let o; B(t) ? o = t : !t || typeof t != "object" || !("key" in t) ? o = new W(t, t == null ? void 0 : t.value) : o = new W(t.key, t.value); const r = A(this.items, o.key), l = (n = this.schema) == null ? void 0 : n.sortMapEntries; if (r) { if (!e) throw new Error(`Key ${o.key} already set`); y(r.value) && ze(o.value) ? r.value.value = o.value : r.value = o.value; } else if (l) { const c = this.items.findIndex((p) => l(o, p) < 0); c === -1 ? this.items.push(o) : this.items.splice(c, 0, o); } else this.items.push(o); } delete(t) { const e = A(this.items, t); return e ? this.items.splice(this.items.indexOf(e), 1).length > 0 : !1; } get(t, e) { const o = A(this.items, t), r = o == null ? void 0 : o.value; return (!e && y(r) ? r.value : r) ?? void 0; } has(t) { return !!A(this.items, t); } set(t, e) { this.add(new W(t, e), !0); } /** * @param ctx - Conversion context, originally set in Document#toJS() * @param {Class} Type - If set, forces the returned collection type * @returns Instance of Type, Map, or Object */ toJSON(t, e, o) { const r = o ? new o() : e != null && e.mapAsMap ? /* @__PURE__ */ new Map() : {}; e != null && e.onCreate && e.onCreate(r); for (const l of this.items) Te(e, r, l); return r; } toString(t, e, o) { if (!t) return JSON.stringify(this); for (const r of this.items) if (!B(r)) throw new Error(`Map items must all be pairs; found ${JSON.stringify(r)} instead`); return !t.allNullValues && this.hasAllNullValues(!1) && (t = Object.assign({}, t, { allNullValues: !0 })), Ae(this, t, { blockItemPrefix: "", flowChars: { start: "{", end: "}" }, itemIndent: t.indent || "", onChompKeep: o, onComment: e }); } } class Ge extends We { static get tagName() { return "tag:yaml.org,2002:seq"; } constructor(t) { super(X, t), this.items = []; } add(t) { this.items.push(t); } /** * Removes a value from the collection. * * `key` must contain a representation of an integer for this to succeed. * It may be wrapped in a `Scalar`. * * @returns `true` if the item was found and removed. */ delete(t) { const e = J(t); return typeof e != "number" ? !1 : this.items.splice(e, 1).length > 0; } get(t, e) { const o = J(t); if (typeof o != "number") return; const r = this.items[o]; return !e && y(r) ? r.value : r; } /** * Checks if the collection includes a value with the key `key`. * * `key` must contain a representation of an integer for this to succeed. * It may be wrapped in a `Scalar`. */ has(t) { const e = J(t); return typeof e == "number" && e < this.items.length; } /** * Sets a value in this collection. For `!!set`, `value` needs to be a * boolean to add/remove the item from the set. * * If `key` does not contain a representation of an integer, this will throw. * It may be wrapped in a `Scalar`. */ set(t, e) { const o = J(t); if (typeof o != "number") throw new Error(`Expected a valid index, not ${t}.`); const r = this.items[o]; y(r) && ze(e) ? r.value = e : this.items[o] = e; } toJSON(t, e) { const o = []; e != null && e.onCreate && e.onCreate(o); let r = 0; for (const l of this.items) o.push(I(l, String(r++), e)); return o; } toString(t, e, o) { return t ? Ae(this, t, { blockItemPrefix: "- ", flowChars: { start: "[", end: "]" }, itemIndent: (t.indent || "") + " ", onChompKeep: o, onComment: e }) : JSON.stringify(this); } static from(t, e, o) { const { replacer: r } = o, l = new this(t); if (e && Symbol.iterator in Object(e)) { let n = 0; for (let c of e) { if (typeof r == "function") { const p = e instanceof Set ? c : String(n++); c = r.call(e, p, c); } l.items.push(ee(c, void 0, o)); } } return l; } } function J(a) { let t = y(a) ? a.value : a; return t && typeof t == "string" && (t = Number(t)), typeof t == "number" && Number.isInteger(t) && t >= 0 ? t : null; } function st(a, t, e) { const { replacer: o } = e, r = new Ge(a); r.tag = "tag:yaml.org,2002:pairs"; let l = 0; if (t && Symbol.iterator in Object(t)) for (let n of t) { typeof o == "function" && (n = o.call(t, String(l++), n)); let c, p; if (Array.isArray(n)) if (n.length === 2) c = n[0], p = n[1]; else throw new TypeError(`Expected [key, value] tuple: ${n}`); else if (n && n instanceof Object) { const i = Object.keys(n); if (i.length === 1) c = i[0], p = n[c]; else throw new TypeError(`Expected tuple with one key, not ${i.length} keys`); } else c = n; r.items.push(_e(c, p, e)); } return r; } class he extends Ge { constructor() { super(), this.add = R.prototype.add.bind(this), this.delete = R.prototype.delete.bind(this), this.get = R.prototype.get.bind(this), this.has = R.prototype.has.bind(this), this.set = R.prototype.set.bind(this), this.tag = he.tag; } /** * If `ctx` is given, the return type is actually `Map<unknown, unknown>`, * but TypeScript won't allow widening the signature of a child method. */ toJSON(t, e) { if (!e) return super.toJSON(t); const o = /* @__PURE__ */ new Map(); e != null && e.onCreate && e.onCreate(o); for (const r of this.items) { let l, n; if (B(r) ? (l = I(r.key, "", e), n = I(r.value, l, e)) : l = I(r, "", e), o.has(l)) throw new Error("Ordered maps must not include duplicate keys"); o.set(l, n); } return o; } static from(t, e, o) { const r = st(t, e, o), l = new this(); return l.items = r.items, l; } } he.tag = "tag:yaml.org,2002:omap"; class xe extends R { constructor(t) { super(t), this.tag = xe.tag; } add(t) { let e; B(t) ? e = t : t && typeof t == "object" && "key" in t && "value" in t && t.value === null ? e = new W(t.key, null) : e = new W(t, null), A(this.items, e.key) || this.items.push(e); } /** * If `keepPair` is `true`, returns the Pair matching `key`. * Otherwise, returns the value of that Pair's key. */ get(t, e) { const o = A(this.items, t); return !e && B(o) ? y(o.key) ? o.key.value : o.key : o; } set(t, e) { if (typeof e != "boolean") throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof e}`); const o = A(this.items, t); o && !e ? this.items.splice(this.items.indexOf(o), 1) : !o && e && this.items.push(new W(t)); } toJSON(t, e) { return super.toJSON(t, e, Set); } toString(t, e, o) { if (!t) return JSON.stringify(this); if (this.hasAllNullValues(!0)) return super.toString(Object.assign({}, t, { allNullValues: !0 }), e, o); throw new Error("Set items must all have null values"); } static from(t, e, o) { const { replacer: r } = o, l = new this(t); if (e && Symbol.iterator in Object(e)) for (let n of e) typeof r == "function" && (n = r.call(e, n, n)), l.items.push(_e(n, null, o)); return l; } } xe.tag = "tag:yaml.org,2002:set"; new Set("0123456789ABCDEFabcdef"); new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"); new Set(",[]{}"); new Set(` ,[]{} \r `); process.env.HUB_API_PREFIX; const bt = je({}); function gt() { return He(bt); } const ie = "pf-v6-theme-light", fe = "pf-v6-theme-dark", mt = () => { const [a, t] = Se(null), { activeTheme: e } = De(), o = () => window[0], r = (l) => { if (window.location.href.startsWith(l.origin) && window === l.source && l.data) try { const n = JSON.parse(l.data); t(n.context); } catch { t(null); } }; return ye(function() { const l = o(); return l.addEventListener("message", r), () => l.removeEventListener("message", r); }, []), ye( function() { if (e) { const l = o().document.getElementsByTagName("html")[0].classList; e === "dark" ? (l.remove(ie), l.add(fe)) : e === "light" ? (l.remove(fe), l.add(ie)) : l.remove(ie, fe); } }, [e] ), /* @__PURE__ */ M.jsx(Ye, { username: a == null ? void 0 : a.username }); }, ut = '@charset "UTF-8";.ws-full-page-utils{position:fixed;right:0;bottom:0;padding:var(--pf-t--global--spacer--lg);z-index:var(--pf-t--global--z-index--2xl)}.ws-full-page-utils:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background-color:var(--pf-t--global--background--color--floating--default);opacity:0;box-shadow:var(--pf-t--global--box-shadow--sm)}.action-button-clicked{background-color:#80808040!important}.action-button-hidden{display:none!important}:where(html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6){padding:0;margin:0}*,*:before,*:after{box-sizing:border-box;scrollbar-color:var(--pf-t--global--border--color--default) transparent}*::-webkit-scrollbar-thumb{background-color:var(--pf-t--global--border--color--default);border-radius:var(--pf-t--global--spacer--xs)}*::-webkit-scrollbar-track{background-color:transparent}*::-webkit-scrollbar{max-width:var(--pf-t--global--spacer--sm);max-height:var(--pf-t--global--spacer--sm)}:where(html,body){height:100%}:where(body){font-family:var(--pf-t--global--font--family--body);font-size:var(--pf-t--global--font--size--body--default);font-weight:var(--pf-t--global--font--weight--body--default);line-height:var(--pf-t--global--font--line-height--body);color:var(--pf-t--global--text--color--regular)}:where(h1,h2,h3,h4,h5,h6){font-size:100%;font-weight:var(--pf-t--global--font--weight--body--default)}:where(ul){list-style:none}:where(button,input,optgroup,select,textarea){margin:0;font-family:inherit;font-size:100%;line-height:var(--pf-t--global--font--line-height--body);color:var(--pf-t--global--text--color--regular)}:where(img,embed,iframe,object,audio,video){max-width:100%;height:auto}:where(iframe){border:0}:where(table){border-spacing:0;border-collapse:collapse}:where(td,th){padding:0;text-align:start}:where(code,pre){font-family:var(--pf-t--global--font--family--mono)}:where(a){color:var(--pf-t--global--text--color--link--default);text-decoration-line:var(--pf-t--global--text-decoration--link--line--default)}:where(a:hover,a:focus){color:var(--pf-t--global--text--color--link--hover);text-decoration-line:var(--pf-t--global--text-decoration--link--line--hover)}:where(a,button){cursor:pointer}:where(.pf-v6-theme-dark){color-scheme:dark}.pf-v6-screen-reader{position:fixed;inset-block-start:0;inset-inline-start:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pf-v6-screen-reader.pf-m-full-size{width:100%;height:100%}.pf-v6-screen-reader.pf-m-absolute{position:absolute}.pf-v6-m-tabular-nums{font-variant-numeric:tabular-nums}.pf-v6-m-legacy-font{--pf-t--global--font--family--body: var(--pf-t--global--font--family--body--legacy);--pf-t--global--font--family--heading: var(--pf-t--global--font--family--heading--legacy);--pf-t--global--font--family--mono: var(--pf-t--global--font--family--mono--legacy);--pf-t--global--font--weight--body: var(--pf-t--global--font--weight--body--legacy);--pf-t--global--font--weight--body--bold: var(--pf-t--global--font--weight--body--bold--legacy);--pf-t--global--font--weight--heading: var(--pf-t--global--font--weight--heading--legacy);--pf-t--global--font--weight--heading--bold: var(--pf-t--global--font--weight--heading--bold--legacy)}.pf-v6-m-dir-rtl{--pf-v6-global--inverse--multiplier: -1;direction:rtl}.pf-v6-m-dir-ltr{--pf-v6-global--inverse--multiplier: 1;direction:ltr}:where(.pf-v6-m-dir-rtl,[dir=rtl]) .pf-v6-m-mirror-inline-rtl{scale:-1 1}.pf-v6-m-no-motion{--pf-t--global--delay--400: 1ms !important;--pf-t--global--delay--300: 1ms !important;--pf-t--global--delay--200: 1ms !important;--pf-t--global--delay--100: 1ms !important;--pf-t--global--duration--600: 1ms !important;--pf-t--global--duration--500: 1ms !important;--pf-t--global--duration--400: 1ms !important;--pf-t--global--duration--300: 1ms !important;--pf-t--global--duration--200: 1ms !important;--pf-t--global--duration--100: 1ms !important;--pf-t--global--duration--50: 1ms !important}:root{--pf-v6-global--danger-jiggle--AnimationDuration--Transform: var(--pf-t--global--motion--duration--fade--default);--pf-v6-global--danger-jiggle--AnimationTimingFunction--Transform: var(--pf-t--global--motion--timing-function--default)}@property --pf-v6-global--danger-jiggle--TranslateX{syntax: "<length>"; inherits: false; initial-value: 0;}@keyframes pf-v6-global-danger-jiggle-motion{33%{--pf-v6-global--danger-jiggle--TranslateX: -2px}66%{--pf-v6-global--danger-jiggle--TranslateX: 3px}}@keyframes pf-v6-global-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pf-v6-global-fade-out{0%{opacity:1}to{opacity:0}}@font-face{font-family:Red Hat Text;font-style:normal;font-weight:400 500;src:url(data:font/woff2;base64,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