// Metro module 7770 (f7771). function $mk79295($env) { return (a0) => { let r12 = $env[0]; if (r12 === void 0) { r12 = []; } let env26039; const r7 = $env.$parent; const r4 = env26039 = { $parent: r7 }; env26039[0] = r12; if (Array.isArray(a0)) { a0.forEach($mk79295(r4)); } else if (typeof a0.content === "string") { r12.push(a0.content); } else if (a0.content != null) { let env26040; const content = a0.content; const r17 = env26040 = { $parent: r7 }; env26040[0] = void 0; let r10 = r12; if (r10 === void 0) { r10 = []; } env26040[0] = r10; if (Array.isArray(content)) { content.forEach($mk79295(r17)); } else if (typeof content.content === "string") { r10.push(content.content); } else if (content.content != null) { (0, r7[0])(content.content, r10); } } return r12; }; } function $mk79298($env) { return (a0) => { const r4 = $env; const r1 = r4[2]; const r5 = r1 !== 0 ? r4[0][r1 - 1].endIndex : 0; r4[2] = r4[2] + 1; const type = a0.type; if (type !== "spoiler" && type !== "u" && type !== "s" && type !== "strong") { if (type !== "em" && type !== "customEmoji" && type !== "emoji" && type !== "inlineCode") { if (type === "text") { a0.startIndex = r4[1] + r5; a0.endIndex = a0.startIndex + a0.content.length; return a0; } let env26041; a0.startIndex = r4[1] + r5; const { content, startIndex } = a0; const r27 = env26041 = { $parent: $env.$parent }; env26041[0] = content; env26041[1] = startIndex; env26041[2] = 0; const r30 = content.map($mk79298(r27)); a0.endIndex = r30[r30.length - 1].endIndex; return a0; } let env26042; a0.startIndex = r4[1] + r5; const content2 = a0.content; const r45 = a0.startIndex + 1; const r47 = env26042 = { $parent: $env.$parent }; env26042[0] = content2; env26042[1] = r45; env26042[2] = 0; const r50 = content2.map($mk79298(r47)); a0.endIndex = r50[r50.length - 1].endIndex + 1; return a0; } let env26043; a0.startIndex = r4[1] + r5; const content3 = a0.content; const r61 = a0.startIndex + 2; const r63 = env26043 = { $parent: $env.$parent }; env26043[0] = content3; env26043[1] = r61; env26043[2] = 0; const r66 = content3.map($mk79298(r63)); a0.endIndex = r66[r66.length - 1].endIndex + 2; return a0; }; } let c4893_1, c4893_2, c4893_3, walkAst, flattenAst, constrainAst; let env4893 = {}; const collectAst = function collectAst(a0, r2 = []) { let env16018; const r3 = env16018 = { $parent: env4893 }; env16018[0] = r2; if (Array.isArray(a0)) { a0.forEach($mk79295(r3)); } else if (typeof a0.content === "string") { r2.push(a0.content); } else if (a0.content != null) { collectAst(a0.content, r2); } return r2; }; c4893_1 = {}; c4893_2 = void 0; export class MarkupParserNodeTypeError extends Error { constructor(a0) { const set = new Set(); const r8 = [a0]; while (r8.length > 0) { const r10 = r8.pop(); if (r10 !== void 0) { if (Array.isArray(r10)) { r8.push.apply(r8, [...r10]); } else { set.add(r10.type); if ("content" in r10 && Array.isArray(r10.content)) { r8.push.apply(r8, [...r10.content]); } if ("items" in r10 && Array.isArray(r10.items)) { r8.push.apply(r8, [...r10.items]); } } } } const nodeTypes = Array.from(set); const message = c4893_2.getMessage(nodeTypes); super(message); this.nodeTypes = nodeTypes; } static getMessage(a0) { return `MarkupParserNodeTypeError: Unknown AST node type in "${a0.join(", ")}" caused rendering failure`; } } c4893_2 = MarkupParserNodeTypeError; c4893_3 = MarkupParserNodeTypeError; export const NUM_MAX_AST_NODES = 200; walkAst = function walkAst(a0, a1) { if (Array.isArray(a0)) { for (const item of a0) { walkAst(item, a1); } } else { a1(a0, null); if (Array.isArray(a0.content)) { walkAst(a0.content, a1); } if (a0.type === "list") { walkAst(a0.items, a1); } } }; export { walkAst }; export function astToString(a0) { let env16019; const r3 = env16019 = { $parent: env4893 }; const r5 = []; env16019[0] = r5; if (Array.isArray(a0)) { a0.forEach($mk79295(r3)); } else if (typeof a0.content === "string") { r5.push(a0.content); } else if (a0.content != null) { let env16020; const content = a0.content; const r14 = env16020 = { $parent: env4893 }; env16020[0] = void 0; env16020[0] = r5; if (Array.isArray(content)) { content.forEach($mk79295(r14)); } else if (typeof content.content === "string") { r5.push(content.content); } else if (content.content != null) { collectAst(content.content, r5); } } return r5.join(""); } flattenAst = function flattenAst(a0, a1) { let length3; let r15 = arguments[2]; if (r15 === void 0) { r15 = null; } if (Array.isArray(a1)) { const length = a1.length; const r38 = []; const r39 = 0 < length; let r1 = 0; if (r39) { do { const r41 = flattenAst(a0, a1[r1], r15); const isArray = Array.isArray(r41); const r3 = r1; if (isArray) { const length2 = r41.length; const r47 = 0 < length2; let r0 = 0; if (r47) { do { r38.push(r41[r0]); r0 = r0 + 1; } while (r0 < length2); } } else { r38.push(r41); } r1 = r3 + 1; } while (r1 < length); } if (!a0.isSlate) { const r52 = 0 < r38.length; let r55 = 0; let r56 = null; if (r52) { do { const r57 = r38[r55]; const r58 = r55; const r59 = r56; let r60 = r58; let r61 = r57; if (r59 != null) { const type = r59.type; r60 = r58; r61 = r57; if (type === "text") { const type2 = r59.type; const type3 = r57.type; r60 = r58; r61 = r57; if (type2 === type3) { const content = r59.content; r60 = r58; r61 = r57; if (typeof content === "string") { const content2 = r57.content; r60 = r58; r61 = r57; if (typeof content2 === "string") { r59.content = r59.content + r57.content; r38.splice(r58, 1); r60 = r58 - 1; r61 = r59; } } } } } r55 = r60 + 1; length3 = r38.length; r56 = r61; } while (r55 < length3); } } return r38; } if (a1.content != null) { a1.content = flattenAst(a0, a1.content, a1); } if (a1.type === "inlineCode") { delete a1["validationChildContent"]; } if (a1.type === "list") { a1.items = a1.items.map((item) => Array.isArray(item) ? flattenAst(a0, item, null) : item); } return r15 != null ? a1.type === r15.type ? a1.content : a1 : a1; }; export { flattenAst }; constrainAst = function constrainAst(a0, r7 = { limit: 200, hasBailedAst: false }) { let c16022_0 = r7; if (Array.isArray(a0)) { const length = a0.length; let r0 = 0; while (r0 < length) { const ast = constrainAst(a0[r0], r7).ast; const length2 = r0; if (ast === c4893_1) { r7.hasBailedAst = true; a0.length = length2; break; } a0[length2] = ast; r0 = length2 + 1; } } else if (a0.type !== "text") { r7.limit = r7.limit - 1; if (r7.limit <= 0) { r7.hasBailedAst = true; return { ast: c4893_1, hasBailedAst: true }; } if (Array.isArray(a0.content)) { a0.content = constrainAst(a0.content, r7).ast; } if (a0.type === "list") { a0.items = a0.items.map((item) => constrainAst(item, c16022_0).ast); } } return { ast: a0, hasBailedAst: r7.hasBailedAst }; }; export { constrainAst }; export function getIndexedAST(a0, a1) { let env16023; const r1 = env16023 = { $parent: env4893 }; env16023[0] = a0; env16023[1] = a1; env16023[2] = 0; return a0.map($mk79298(r1)); }