@aplaytest/heal 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../core/dist/taxonomy/kinds.d.ts","../../core/dist/locator/stability.d.ts","../../core/dist/evidence/types.d.ts","../../core/dist/taxonomy/classify.d.ts","../../core/dist/taxonomy/parse-error.d.ts","../../core/dist/version.d.ts","../../core/dist/evidence/id.d.ts","../../core/dist/evidence/redact.d.ts","../../core/dist/evidence/store.d.ts","../../core/dist/history/types.d.ts","../../core/dist/history/store.d.ts","../../core/dist/history/memory-index.d.ts","../../core/dist/history/url.d.ts","../../core/dist/history/ingest.d.ts","../../core/dist/history/playwright-report.d.ts","../../core/dist/history/ingest-playwright.d.ts","../../../node_modules/zod/v4/core/json-schema.d.cts","../../../node_modules/zod/v4/core/standard-schema.d.cts","../../../node_modules/zod/v4/core/registries.d.cts","../../../node_modules/zod/v4/core/to-json-schema.d.cts","../../../node_modules/zod/v4/core/util.d.cts","../../../node_modules/zod/v4/core/versions.d.cts","../../../node_modules/zod/v4/core/schemas.d.cts","../../../node_modules/zod/v4/core/checks.d.cts","../../../node_modules/zod/v4/core/errors.d.cts","../../../node_modules/zod/v4/core/core.d.cts","../../../node_modules/zod/v4/core/parse.d.cts","../../../node_modules/zod/v4/core/regexes.d.cts","../../../node_modules/zod/v4/locales/ar.d.cts","../../../node_modules/zod/v4/locales/az.d.cts","../../../node_modules/zod/v4/locales/be.d.cts","../../../node_modules/zod/v4/locales/bg.d.cts","../../../node_modules/zod/v4/locales/ca.d.cts","../../../node_modules/zod/v4/locales/cs.d.cts","../../../node_modules/zod/v4/locales/da.d.cts","../../../node_modules/zod/v4/locales/de.d.cts","../../../node_modules/zod/v4/locales/el.d.cts","../../../node_modules/zod/v4/locales/en.d.cts","../../../node_modules/zod/v4/locales/eo.d.cts","../../../node_modules/zod/v4/locales/es.d.cts","../../../node_modules/zod/v4/locales/fa.d.cts","../../../node_modules/zod/v4/locales/fi.d.cts","../../../node_modules/zod/v4/locales/fr.d.cts","../../../node_modules/zod/v4/locales/fr-CA.d.cts","../../../node_modules/zod/v4/locales/he.d.cts","../../../node_modules/zod/v4/locales/hr.d.cts","../../../node_modules/zod/v4/locales/hu.d.cts","../../../node_modules/zod/v4/locales/hy.d.cts","../../../node_modules/zod/v4/locales/id.d.cts","../../../node_modules/zod/v4/locales/is.d.cts","../../../node_modules/zod/v4/locales/it.d.cts","../../../node_modules/zod/v4/locales/ja.d.cts","../../../node_modules/zod/v4/locales/ka.d.cts","../../../node_modules/zod/v4/locales/kh.d.cts","../../../node_modules/zod/v4/locales/km.d.cts","../../../node_modules/zod/v4/locales/ko.d.cts","../../../node_modules/zod/v4/locales/lt.d.cts","../../../node_modules/zod/v4/locales/mk.d.cts","../../../node_modules/zod/v4/locales/ms.d.cts","../../../node_modules/zod/v4/locales/nl.d.cts","../../../node_modules/zod/v4/locales/no.d.cts","../../../node_modules/zod/v4/locales/ota.d.cts","../../../node_modules/zod/v4/locales/ps.d.cts","../../../node_modules/zod/v4/locales/pl.d.cts","../../../node_modules/zod/v4/locales/pt.d.cts","../../../node_modules/zod/v4/locales/ro.d.cts","../../../node_modules/zod/v4/locales/ru.d.cts","../../../node_modules/zod/v4/locales/sl.d.cts","../../../node_modules/zod/v4/locales/sv.d.cts","../../../node_modules/zod/v4/locales/ta.d.cts","../../../node_modules/zod/v4/locales/th.d.cts","../../../node_modules/zod/v4/locales/tr.d.cts","../../../node_modules/zod/v4/locales/ua.d.cts","../../../node_modules/zod/v4/locales/uk.d.cts","../../../node_modules/zod/v4/locales/ur.d.cts","../../../node_modules/zod/v4/locales/uz.d.cts","../../../node_modules/zod/v4/locales/vi.d.cts","../../../node_modules/zod/v4/locales/zh-CN.d.cts","../../../node_modules/zod/v4/locales/zh-TW.d.cts","../../../node_modules/zod/v4/locales/yo.d.cts","../../../node_modules/zod/v4/locales/index.d.cts","../../../node_modules/zod/v4/core/doc.d.cts","../../../node_modules/zod/v4/core/api.d.cts","../../../node_modules/zod/v4/core/json-schema-processors.d.cts","../../../node_modules/zod/v4/core/json-schema-generator.d.cts","../../../node_modules/zod/v4/core/index.d.cts","../../../node_modules/zod/v4/classic/errors.d.cts","../../../node_modules/zod/v4/classic/parse.d.cts","../../../node_modules/zod/v4/classic/schemas.d.cts","../../../node_modules/zod/v4/classic/checks.d.cts","../../../node_modules/zod/v4/classic/compat.d.cts","../../../node_modules/zod/v4/classic/from-json-schema.d.cts","../../../node_modules/zod/v4/classic/iso.d.cts","../../../node_modules/zod/v4/classic/coerce.d.cts","../../../node_modules/zod/v4/classic/external.d.cts","../../../node_modules/zod/index.d.cts","../../core/dist/config/schema.d.ts","../../core/dist/index.d.ts","../src/candidates.ts","../../../node_modules/@ts-morph/common/lib/typescript.d.ts","../../../node_modules/@ts-morph/common/lib/ts-morph-common.d.ts","../../../node_modules/ts-morph/lib/ts-morph.d.ts","../src/patch.ts","../src/resolve.ts","../../../node_modules/playwright-core/types/protocol.d.ts","../../../node_modules/playwright-core/types/structs.d.ts","../../../node_modules/zod/v3/helpers/typeAliases.d.cts","../../../node_modules/zod/v3/helpers/util.d.cts","../../../node_modules/zod/v3/ZodError.d.cts","../../../node_modules/zod/v3/locales/en.d.cts","../../../node_modules/zod/v3/errors.d.cts","../../../node_modules/zod/v3/helpers/parseUtil.d.cts","../../../node_modules/zod/v3/helpers/enumUtil.d.cts","../../../node_modules/zod/v3/helpers/errorUtil.d.cts","../../../node_modules/zod/v3/helpers/partialUtil.d.cts","../../../node_modules/zod/v3/standard-schema.d.cts","../../../node_modules/zod/v3/types.d.cts","../../../node_modules/zod/v3/external.d.cts","../../../node_modules/zod/v3/index.d.cts","../../../node_modules/playwright-core/types/types.d.ts","../../../node_modules/playwright-core/index.d.ts","../../../node_modules/playwright/types/test.d.ts","../../../node_modules/playwright/types/testReporter.d.ts","../../../node_modules/@playwright/test/reporter.d.ts","../../runner-playwright/dist/reporter.d.ts","../../runner-playwright/dist/steps.d.ts","../../runner-playwright/dist/sidecar.d.ts","../../runner-playwright/dist/assemble.d.ts","../../../node_modules/playwright/test.d.ts","../../../node_modules/@playwright/test/index.d.ts","../../runner-playwright/dist/fixtures.d.ts","../../runner-playwright/dist/bind.d.ts","../../runner-playwright/dist/spawn.d.ts","../../runner-playwright/dist/api-fixtures.d.ts","../../runner-playwright/dist/index.d.ts","../src/validate.ts","../src/propose.ts","../src/ledger.ts","../src/index.ts","../../../node_modules/@types/deep-eql/index.d.ts","../../../node_modules/assertion-error/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/ssh2/index.d.ts","../../../node_modules/@types/docker-modem/index.d.ts","../../../node_modules/@types/dockerode/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/ssh2-streams/index.d.ts"],"fileIdsList":[[190,209,259,276,277],[184,209,259,276,277],[161,209,259,276,277],[209,259,276,277],[201,202,209,259,276,277],[209,259,273,276,277,279,291,309,310],[209,259,270,276,277,291,309,310,311],[209,256,257,259,276,277],[209,258,259,276,277],[259,276,277],[209,259,264,276,277,294],[209,259,260,265,270,276,277,279,291,302],[209,259,260,261,270,276,277,279],[204,205,206,209,259,276,277],[209,259,262,276,277,303],[209,259,263,264,271,276,277,280],[209,259,264,276,277,291,299],[209,259,265,267,270,276,277,279],[209,258,259,266,276,277],[209,259,267,268,276,277],[209,259,269,270,276,277],[209,258,259,270,276,277],[209,259,270,271,272,276,277,291,302],[209,259,270,271,272,276,277,286,291,294],[209,251,259,267,270,273,276,277,279,291,302],[209,259,270,271,273,274,276,277,279,291,299,302],[209,259,273,275,276,277,291,299,302],[207,208,209,210,211,212,213,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308],[209,259,270,276,277],[209,259,276,277,278,302],[209,259,267,270,276,277,279,291],[209,259,276,277,280],[209,259,276,277,281],[209,258,259,276,277,282],[209,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308],[209,259,276,277,284],[209,259,276,277,285],[209,259,270,276,277,286,287],[209,259,276,277,286,288,303,305],[209,259,271,276,277],[209,259,270,276,277,291,292,294],[209,259,276,277,293,294],[209,259,276,277,291,292],[209,259,276,277,294],[209,259,276,277,295],[209,256,259,276,277,291,296,302],[209,259,270,276,277,297,298],[209,259,276,277,297,298],[209,259,264,276,277,279,291,299],[209,259,276,277,300],[209,259,276,277,279,301],[209,259,273,276,277,285,302],[209,259,264,276,277,303],[209,259,276,277,291,304],[209,259,276,277,278,305],[209,259,276,277,306],[209,251,259,276,277],[209,251,259,270,272,276,277,282,291,294,302,304,305,307],[209,259,276,277,291,308],[209,259,276,277,291,309],[209,259,270,273,275,276,277,279,291,309],[181,209,259,276,277],[157,166,167,180,209,259,260,271,276,277,291],[183,209,259,276,277],[182,209,259,276,277],[162,209,259,276,277],[209,223,227,259,276,277,302],[209,223,259,276,277,291,302],[209,218,259,276,277],[209,220,223,259,276,277,299,302],[209,259,276,277,279,299],[209,259,276,277,309],[209,218,259,276,277,309],[209,220,223,259,276,277,279,302],[209,215,216,219,222,259,270,276,277,291,302],[209,223,230,259,276,277],[209,215,221,259,276,277],[209,223,244,245,259,276,277],[209,219,223,259,276,277,294,302,309],[209,244,259,276,277,309],[209,217,218,259,276,277,309],[209,223,259,276,277],[209,217,218,219,220,221,222,223,224,225,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,245,246,247,248,249,250,259,276,277],[209,223,238,259,276,277],[209,223,230,231,259,276,277],[209,221,223,231,232,259,276,277],[209,222,259,276,277],[209,215,218,223,259,276,277],[209,223,227,231,232,259,276,277],[209,227,259,276,277],[209,221,223,226,259,276,277,302],[209,215,220,223,230,259,276,277],[209,259,276,277,291],[209,218,223,244,259,276,277,307,309],[156,209,259,276,277],[168,169,180,209,259,276,277],[170,171,209,259,276,277],[168,169,170,172,173,178,209,259,276,277],[169,170,209,259,276,277],[178,209,259,276,277],[179,209,259,276,277],[170,209,259,276,277],[168,169,170,173,174,175,176,177,209,259,276,277],[147,209,259,276,277],[147,150,209,259,276,277],[82,142,145,147,148,149,150,151,152,153,154,155,209,259,276,277],[78,80,150,209,259,276,277],[147,148,209,259,276,277],[79,147,149,209,259,276,277],[80,82,84,85,86,87,209,259,276,277],[82,84,86,87,209,259,276,277],[82,84,86,209,259,276,277],[79,82,84,85,87,209,259,276,277],[78,80,81,82,83,84,85,86,87,88,89,142,143,144,145,146,209,259,276,277],[78,80,81,84,209,259,276,277],[80,81,84,209,259,276,277],[84,87,209,259,276,277],[78,79,81,82,83,85,86,87,209,259,276,277],[78,79,80,84,147,209,259,276,277],[84,85,86,87,209,259,276,277],[86,209,259,276,277],[90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,209,259,276,277],[157,209,259,276,277],[64,209,259,276,277],[62,63,209,259,276,277],[72,75,76,209,259,276,277],[72,209,259,276,277],[71,72,209,259,276,277],[71,209,259,276,277],[62,64,209,259,276,277],[62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,158,209,259,276,277],[159,209,259,276,277],[160,164,165,197,198,199,209,259,276,277],[164,197,198,209,259,264,272,276,277,281],[163,209,259,276,277],[159,160,164,165,197,209,259,272,276,277,281],[164,209,259,272,276,277,281],[196,209,259,272,276,277],[191,209,259,276,277],[159,187,188,209,259,276,277],[159,186,187,188,189,192,193,194,195,209,259,276,277],[159,185,209,259,276,277]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"717f3d25205cb7aa457015fff8e21404fd000c53d65ebdbdedb51357c0ebe7e4","impliedFormat":99},{"version":"3a1521b2fd53734414b37c13230f2b50fbb8abb7e5a7e2d0088ae9c5adcedefd","impliedFormat":99},{"version":"f307dd9e98c0dd2eac07116cbff921047ce37ce578ffbdd2ceb24d6944341f58","impliedFormat":99},{"version":"6a07000e612ab26985fd379c93208a064e3ce4e87d109b49104b8f9ed2931268","impliedFormat":99},{"version":"c797dcf68a38d70efcfd0717e1cde4ceebb80c652d2630460f538e51a5e995f6","impliedFormat":99},{"version":"3c3bddc6344d4d31d83571cfbc0a0a43fefe8f2d863f1bf2bb738c12d73a5b96","impliedFormat":99},{"version":"187a77c78a8fb3c12cb0706c78c4986518527593a6fed4a516d1b18fcf283004","impliedFormat":99},{"version":"3c211d80f5b7543fdfa63b0962082b694bae2c00825314a19666af3d4ec60bed","impliedFormat":99},{"version":"6823183be31f0db3e2ed971e7b1c618bb681e5a83533ab026ea4b1a21575fdb4","impliedFormat":99},{"version":"d509894f9ecc0ca841c5f8fd269a4fe82f52323b8e016d07a1c593222905b3ee","impliedFormat":99},{"version":"933d85a3c2a78c17a493a0bd5fbe7065ce01f24c2f785b52792b178deb668210","impliedFormat":99},{"version":"81bdeb68b2554c68839b880d88bcbe2648edb81d8369c3b17ad22209a1ea8fe8","impliedFormat":99},{"version":"6bda8e7bd000605c09dd921fbcda240fee8121ba366c506956fcce546b1b7899","impliedFormat":99},{"version":"f17c6226d5e20284d8fdb567969ab21f08c0f4dd8492c13b952419f79c7ee43d","impliedFormat":99},{"version":"c52515057d9eab723b77cc3fa0cbd4fb1548fe0f5f03dd53f9f1ed871beb108b","impliedFormat":99},{"version":"b508da1c92e3d669855527d2e4dcf2ca266b9e192b3c5df2fa50f03a39159092","impliedFormat":99},{"version":"c1a2e05eb6d7ca8d7e4a7f4c93ccf0c2857e842a64c98eaee4d85841ee9855e6","impliedFormat":1},{"version":"835fb2909ce458740fb4a49fc61709896c6864f5ce3db7f0a88f06c720d74d02","impliedFormat":1},{"version":"6e5857f38aa297a859cab4ec891408659218a5a2610cd317b6dcbef9979459cc","impliedFormat":1},{"version":"ead8e39c2e11891f286b06ae2aa71f208b1802661fcdb2425cffa4f494a68854","impliedFormat":1},{"version":"40ba6c32eb732a09e4446ade5cb6ad0c147f186f9c9dc6878b90b4418ad9f6ea","impliedFormat":1},{"version":"fdd814741843f85c98281522c58f5a646590ba9019fad2efaa95987655e0611b","impliedFormat":1},{"version":"c78aff4fb58b28b8f642d5095fc7eeb79f00e652a67caa19693af1adabb833c9","impliedFormat":1},{"version":"f80a08ced8818dc99359c0acd5b3f12762e1ce53758007759b0d4e503cbf4a5e","impliedFormat":1},{"version":"37935fa7564bcc6e0bc845b766a24391098d26f7c8245d6e8ab37bc016816e94","impliedFormat":1},{"version":"68add36d9632bc096d7245d24d6b0b8ad5f125183016102a3dad4c9c2438ccb0","impliedFormat":1},{"version":"3a819c2928ee06bbcc84e2797fd3558ae2ebb7e0ed8d87f71732fb2e2acc87b4","impliedFormat":1},{"version":"0f8a263f4c8595c8a07de52e3f3927640c44386c1aa2984de9eae50d75e613b2","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"346fffde7c32da87c2196eb7494422449dc2ca82d3b4e6bf55be1d1a33ffc2b0","impliedFormat":1},{"version":"add0ce7b77ba5b308492fa68f77f24d1ed1d9148534bdf05ac17c30763fc1a79","impliedFormat":1},{"version":"8b5875e4958528042103fdd775e106a7f76bafc29709f0690df9a7d2241d52a7","impliedFormat":1},{"version":"2f67911e4bf4e0717dc2ded248ce2d5e4398d945ee13889a6852c1233ea41508","impliedFormat":1},{"version":"d8430c275b0f59417ea8e173cfb888a4477b430ec35b595bf734f3ec7a7d729f","impliedFormat":1},{"version":"69364df1c776372d7df1fb46a6cb3a6bf7f55e700f533a104e3f9d70a32bec18","impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","impliedFormat":1},{"version":"5a3bd57ed7a9d9afef74c75f77fce79ba3c786401af9810cdf45907c4e93f30e","impliedFormat":1},{"version":"aef26cf95593c8ace1c62c4724f9afac77bdfa756fb8a00613cd152117cb2f43","impliedFormat":1},{"version":"30db853bb2e60170ba11e39ab48bacecb32d06d4def89eedf17e58ebab762a65","impliedFormat":1},{"version":"e27451b24234dfed45f6cf22112a04955183a99c42a2691fb4936d63cfe42761","impliedFormat":1},{"version":"2316301dd223d31962d917999acf8e543e0119c5d24ec984c9f22cb23247160c","impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","impliedFormat":1},{"version":"268fd6d9f2e807a39a6c5aa654b00f949feb63d3faa7dd0f9bba7dde9172159c","impliedFormat":1},{"version":"29f823cbe0166e10e7176a94afe609a24b9e5af3858628c541ff8ce1727023cd","impliedFormat":1},{"version":"23b7719fd261ad7f952ba1de0bca96bf9f98e8277715a4e85c411c1aab9d6410","impliedFormat":99},{"version":"f6804919eefe16c55372d52c152cbcf64ead302377193dd825e21bf5bb1a8eb0","impliedFormat":99},{"version":"9e58e9daff383bd8040616d0c966a4f2f2c6a2c0678a5dd696bd354b08f39735","signature":"20f311c666d0e2d0e3eed6bb641ab877e41db9d41f4d386ec5c59dddb97c5680","impliedFormat":99},{"version":"5a8bd1be1e99d9c8ff506ecdb984031b550784676e8fb6dfd616007aafd903cc","impliedFormat":1},{"version":"865d1a23e14b20e0cb02dbe0827797b0f0e8c5bd4568dcec24a12afef00d33d6","impliedFormat":1},{"version":"f5845a852a03600100175392ca764626cff5782f4d00d24300d82b8edaddeab9","impliedFormat":1},{"version":"23fcf7321ffd09bab40c49cc7853ac2e666a1e7cf2c4c6279bf1da5c47fb3821","signature":"612331a099567e22f40f171c27d5e83682a04b97f8ad5062cfb584f715b5507f","impliedFormat":99},{"version":"26cf4e0a72b9eb5007bb6555a302c04c6ecf09420bc7fd9dc208c83bde75c902","signature":"0ae094bf77a709c91a5ef8645d090b2719aab56bbcc0d99e61a3f2fab26c2b30","impliedFormat":99},{"version":"17c6561066a9708a09115ad4b49ff23cf81a607f54278c9b9b5865964906f415","impliedFormat":1},{"version":"32727845ab5bd8a9ef3e4844c567c09f6d418fcf0f90d381c00652a6f23e7f6e","impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"36eb5babc665b890786550d4a8cb20ef7105673a6d5551fbdd7012877bb26942","impliedFormat":1},{"version":"fec412ded391a7239ef58f455278154b62939370309c1fed322293d98c8796a6","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"93c3e73824ad57f98fd23b39335dbdae2db0bd98199b0dc0b9ccc60bf3c5134a","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"60200590d8ecf247a6e9c769c6b79bd8e688c3af14ef208072d0c6954b25f125","impliedFormat":1},{"version":"7a8ec10b0834eb7183e4bfcd929838ac77583828e343211bb73676d1e47f6f01","impliedFormat":1},{"version":"6e8044a9ca35eb66823c9ddddf826ca28bf900cd0cb3d31b3007277d094dc21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a724fe8a5f72bc65ca93f5d2c2d9f49d9be93074ca4c011e71c5fdd0094da619","impliedFormat":1},{"version":"04392f8e190f9e51301f73d17bbb34babd54858c1efc932d2193962f66dabae2","impliedFormat":1},{"version":"c7d994bb382becd674bc8bf1708ab03eee91d0d3b5c6ed3e791c69d451f95d4d","impliedFormat":99},{"version":"a676ce4c3c70ebfb8c691cbd163ed0ff461c9e8d9e0f2a97f31b94b2b01998c5","impliedFormat":99},{"version":"659761fac22950351cbf9ae263ae39c7782141cb22af534c6d2de7959d84e304","impliedFormat":99},{"version":"4885ce45ef8792671bcf938748b8d416be421f97ddbdff36ad042cdb24feec0f","impliedFormat":99},{"version":"3f00324f263189b385c3a9383b1f4dae6237697bcf0801f96aa35c340512d79c","impliedFormat":1},{"version":"ec8997c2e5cea26befc76e7bf990750e96babb16977673a9ff3b5c0575d01e48","impliedFormat":1},{"version":"e3af99d1a4ebdf253bf77ba3b56e00cb975c17009e191718ac83274ef12f01b9","impliedFormat":99},{"version":"acc599436ffbbb39023a52e9b280246eb7af6aa4557929defbcccbf2ca84d5a4","impliedFormat":99},{"version":"bec49fb50fa234097bae1554b072a4ef048765cf9602719e423d5bc106f68df7","impliedFormat":99},{"version":"23d4614f44b78b7b12467e5a3b41c19eba5f45b40b6fa4646f20e764b304829d","impliedFormat":99},{"version":"d9283011dd2f0f8035ecb1d32c1b668c7512c18d144d256bc29a88a48776adbb","impliedFormat":99},{"version":"12ef63c7dd01443db168eb738a932bcb39625bd2e5c6d2bc46cb2a42f5e99d3f","signature":"9f260f4d3aebfc39dee9d23775da1ad5b04e4e9de4b8cbb0ce1f66f4fec6696c","impliedFormat":99},{"version":"a62be15640ef0ed6be7c0558f6ac1295bb8f93b0a49910d68cf0893f31518187","signature":"bc07a90397006695c34cc7d63ae60a2aacc867fa0477cead7864dcdf22d83b1b","impliedFormat":99},{"version":"96e735a95f3cd6f7bb86c6b15a2a3403159f09571a196ad4045dae30a1c30ee9","signature":"b7018ee1dfd105d7f1369e07019843f3ce051bd2fb5231abd93fd157b3041734","impliedFormat":99},{"version":"ccb9296506ad809ddcaf02445e99b7f614b4fcc8b7080ea2bd1d11c82bd92472","signature":"3a2411d0d17e0eee03cfe2d3a95ccd29844be2b02a2be7d74a9c7a85cb795110","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"78dbea00e90d2df8ea3dbef0cc379d95b8be9b71cd6bde4c28728f306811803b","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e1e46d0a9837ee058c100501080c920fa98081ea3956af0374308ba6f22a33e","impliedFormat":1},{"version":"272ca407e0c9068bdc5152552d876e68037ceae3de62e529306403e973dec8e1","impliedFormat":1},{"version":"fa7834c715d5357e4540cee40ce96c3250ddb67a7b879a6b7fa0e86d6696f121","impliedFormat":1},{"version":"22dfb07a7ab15b66ac043829056fe70124844636ae719551812ac631ba04985b","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"0cb167c371eaa8c869f8a7656a7296f2e4fae43b4d8b803a680236b24794e5f9","impliedFormat":1},{"version":"0a839dba0287cc0481ad4beedd48a1c64acf1e212ae865d1315f7007ca215161","impliedFormat":1},{"version":"38dc4655376cd1a4bd6bb3763d92949233e33d38d3dd3cbea7bbf218175a38ef","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"d61e0a64cd175208ac0b83670151a9a6b5916f0d1ffcdc5c29c90b1cebfc5045","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"48a679952eefe4cb776d5a0e1ccba2d3eb53b57448bbb7abc1fcebcbd5440188","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2d14da6ecb49bf828d83948765ec2d3a579d476bbb9645e749610baa6ec880ca","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"0aef708fb4c7a6b915e8305cbfac40cd207b032dbaabe9a01889a5fff3254681","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"ad9bdafb4e7abf14cc53ce7970486a84c87831e62891e5dfe798ddcd55e84701","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"71d3ae6a5e73ca4130762560425e00984ebaff64d5353a3333d1bb7eb86ef336","impliedFormat":1},{"version":"4371055bb001f40596e2e236b27583e13bf11e75d937962f8947d56519237fb8","impliedFormat":1},{"version":"89189df027e8910200a4b65af1e29a996225cf25975f5c438fbe9361c008fc6b","impliedFormat":1},{"version":"4555baaea5dfc93e0c0ba3fc326b0ba3ad50bb2ab887fa2dff49c7da7bd3bcaa","impliedFormat":1},{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"2e23be37a190953f60cdc4a62f89e5dfe4d6c64f38c71564bc0fb63c7810c9a1","impliedFormat":1}],"root":[160,164,165,[197,200]],"options":{"allowUnreachableCode":false,"allowUnusedLabels":false,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"module":199,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":10,"tsBuildInfoFile":"./.tsbuildinfo","useUnknownInCatchVariables":true,"verbatimModuleSyntax":true},"referencedMap":[[191,1],[185,2],[162,3],[161,4],[203,5],[201,4],[311,6],[312,7],[313,4],[256,8],[257,8],[258,9],[209,10],[259,11],[260,12],[261,13],[204,4],[207,14],[205,4],[206,4],[262,15],[263,16],[264,17],[265,18],[266,19],[267,20],[268,20],[269,21],[270,22],[271,23],[272,24],[210,4],[208,4],[273,25],[274,26],[275,27],[309,28],[276,29],[277,4],[278,30],[279,31],[280,32],[281,33],[282,34],[283,35],[284,36],[285,37],[286,38],[287,38],[288,39],[289,4],[290,40],[291,41],[293,42],[292,43],[294,44],[295,45],[296,46],[297,47],[298,48],[299,49],[300,50],[301,51],[302,52],[303,53],[304,54],[305,55],[306,56],[211,4],[212,4],[213,4],[252,57],[253,4],[254,4],[255,44],[307,58],[308,59],[314,60],[310,61],[202,4],[214,4],[182,62],[166,4],[167,62],[181,63],[190,64],[183,65],[184,64],[163,66],[60,4],[61,4],[12,4],[11,4],[2,4],[13,4],[14,4],[15,4],[16,4],[17,4],[18,4],[19,4],[20,4],[3,4],[21,4],[22,4],[4,4],[23,4],[27,4],[24,4],[25,4],[26,4],[28,4],[29,4],[30,4],[5,4],[31,4],[32,4],[33,4],[34,4],[6,4],[38,4],[35,4],[36,4],[37,4],[39,4],[7,4],[40,4],[45,4],[46,4],[41,4],[42,4],[43,4],[44,4],[8,4],[50,4],[47,4],[48,4],[49,4],[51,4],[9,4],[52,4],[53,4],[54,4],[56,4],[55,4],[57,4],[58,4],[10,4],[59,4],[1,4],[230,67],[240,68],[229,67],[250,69],[221,70],[220,71],[249,72],[243,73],[248,74],[223,75],[237,76],[222,77],[246,78],[218,79],[217,72],[247,80],[219,81],[224,82],[225,4],[228,82],[215,4],[251,83],[241,84],[232,85],[233,86],[235,87],[231,88],[234,89],[244,72],[226,90],[227,91],[236,92],[216,93],[239,84],[238,82],[242,4],[245,94],[157,95],[170,96],[172,97],[179,98],[174,4],[175,4],[173,99],[176,100],[168,4],[169,4],[180,101],[171,102],[177,4],[178,103],[151,104],[155,105],[152,105],[148,104],[156,106],[153,107],[154,105],[149,108],[150,109],[144,110],[85,111],[87,112],[143,4],[86,113],[147,114],[146,115],[145,116],[78,4],[88,111],[89,4],[80,117],[84,118],[79,4],[81,119],[82,120],[83,4],[90,121],[91,121],[92,121],[93,121],[94,121],[95,121],[96,121],[97,121],[98,121],[99,121],[100,121],[101,121],[102,121],[103,121],[105,121],[104,121],[106,121],[107,121],[108,121],[109,121],[110,121],[142,122],[111,121],[112,121],[113,121],[114,121],[115,121],[116,121],[117,121],[118,121],[119,121],[120,121],[121,121],[122,121],[123,121],[125,121],[124,121],[126,121],[127,121],[128,121],[129,121],[130,121],[131,121],[132,121],[133,121],[134,121],[135,121],[136,121],[137,121],[138,121],[141,121],[139,121],[140,121],[158,123],[68,124],[69,4],[70,124],[64,125],[77,126],[75,127],[73,128],[76,129],[72,129],[71,130],[74,4],[159,131],[63,4],[65,130],[62,4],[66,4],[67,4],[160,132],[200,133],[199,134],[164,135],[198,136],[165,137],[197,138],[195,139],[189,140],[193,139],[192,139],[196,141],[186,142],[188,123],[194,4],[187,132]],"latestChangedDtsFile":"./index.d.ts","version":"5.9.3"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Tier-0 candidate generation and ranking.
3
+ *
4
+ * Entirely deterministic. The model, when it is eventually wired in, RANKS
5
+ * pre-verified candidates by intent — it never invents a selector. That single
6
+ * choice removes the whole class of "the AI suggested a locator that does not
7
+ * exist", and it means the engine still resolves the common cases with no
8
+ * model at all.
9
+ */
10
+ import { type EvidenceBundle, type LocatorStrategy } from '@aplaytest/core';
11
+ /**
12
+ * Every test id referenced by a locator expression, in order.
13
+ *
14
+ * Real page objects build COMPOSITE locators —
15
+ * `getByTestId('gyms-list-item').filter({ has: getByTestId('gym-card-name') })`
16
+ * — so "the test id of this selector" is not a single value. Taking the first
17
+ * one finds the container, which is usually the id that still exists, and
18
+ * concludes there is nothing to heal.
19
+ */
20
+ export declare function testIdsIn(selector: string | null): string[];
21
+ /**
22
+ * Which referenced test id is actually missing from the page.
23
+ *
24
+ * This is the id to heal. The page's own test-id index is the evidence: a
25
+ * composite locator can reference several ids, and only the absent one broke.
26
+ */
27
+ export declare function missingTestIds(selector: string | null, present: readonly string[]): string[];
28
+ export interface HealCandidate {
29
+ readonly strategy: LocatorStrategy;
30
+ /** The replacement literal, e.g. 'gym-card-title'. */
31
+ readonly value: string;
32
+ /** A Playwright expression, for display. */
33
+ readonly expression: string;
34
+ /** 0 = means the same thing, 1 = unrelated. */
35
+ readonly semanticDistance: number;
36
+ readonly stabilityRank: number;
37
+ /** Negative means the heal would WEAKEN the locator. */
38
+ readonly stabilityDelta: number;
39
+ /** 0..1, higher is better. Ordering only — never authorisation. */
40
+ readonly score: number;
41
+ }
42
+ export interface CandidateOptions {
43
+ /** Reject candidates further than this from the intended selector. */
44
+ readonly maxDistance: number;
45
+ /** Reject strategies weaker than this rank. 4 = text; excludes css/xpath. */
46
+ readonly minStabilityRank: number;
47
+ readonly limit: number;
48
+ /** Policy: which locator kinds Tier 0 may propose. Config, not convention. */
49
+ readonly allowedStrategies?: readonly LocatorStrategy[] | undefined;
50
+ }
51
+ export declare const DEFAULT_CANDIDATE_OPTIONS: CandidateOptions;
52
+ export interface AriaNode {
53
+ readonly role: string;
54
+ readonly name: string;
55
+ }
56
+ /** Playwright ARIA snapshots: `- heading "Gyms" [level=1]`. */
57
+ export declare function parseAriaSnapshot(snapshot: string): AriaNode[];
58
+ /**
59
+ * Rank candidates from the evidence bundle's test-id index.
60
+ *
61
+ * Scoring is ordering only. A heal is accepted because Playwright re-ran the
62
+ * test and it passed — never because a number here was high.
63
+ */
64
+ export declare function generateCandidates(bundle: EvidenceBundle, options?: CandidateOptions): HealCandidate[];
65
+ /**
66
+ * Is this bundle worth attempting a heal on at all?
67
+ *
68
+ * Answers with a reason rather than a boolean, so the CLI can explain a
69
+ * refusal instead of silently doing nothing.
70
+ */
71
+ export interface HealEligibility {
72
+ readonly eligible: boolean;
73
+ readonly reason: string;
74
+ }
75
+ export declare function assessBundle(bundle: EvidenceBundle, options?: CandidateOptions): HealEligibility;
76
+ //# sourceMappingURL=candidates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidates.d.ts","sourceRoot":"","sources":["../src/candidates.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAU3D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAI5F;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+CAA+C;IAC/C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,CAAC;CACrE;AAED,eAAO,MAAM,yBAAyB,EAAE,gBAKvC,CAAC;AASF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,CAU9D;AAwDD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,gBAA4C,GACpD,aAAa,EAAE,CA8BjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,gBAA4C,GACpD,eAAe,CA8EjB"}
@@ -0,0 +1,211 @@
1
+ /**
2
+ * Tier-0 candidate generation and ranking.
3
+ *
4
+ * Entirely deterministic. The model, when it is eventually wired in, RANKS
5
+ * pre-verified candidates by intent — it never invents a selector. That single
6
+ * choice removes the whole class of "the AI suggested a locator that does not
7
+ * exist", and it means the engine still resolves the common cases with no
8
+ * model at all.
9
+ */
10
+ import { STABILITY_RANK, parseLocator, testIdDistance, } from '@aplaytest/core';
11
+ /**
12
+ * Every test id referenced by a locator expression, in order.
13
+ *
14
+ * Real page objects build COMPOSITE locators —
15
+ * `getByTestId('gyms-list-item').filter({ has: getByTestId('gym-card-name') })`
16
+ * — so "the test id of this selector" is not a single value. Taking the first
17
+ * one finds the container, which is usually the id that still exists, and
18
+ * concludes there is nothing to heal.
19
+ */
20
+ export function testIdsIn(selector) {
21
+ if (selector === null)
22
+ return [];
23
+ const pattern = /getByTestId\(\s*['"`]([^'"`]+)['"`]/g;
24
+ const out = [];
25
+ let match;
26
+ while ((match = pattern.exec(selector)) !== null) {
27
+ const id = match[1];
28
+ if (id !== undefined)
29
+ out.push(id);
30
+ }
31
+ return out;
32
+ }
33
+ /**
34
+ * Which referenced test id is actually missing from the page.
35
+ *
36
+ * This is the id to heal. The page's own test-id index is the evidence: a
37
+ * composite locator can reference several ids, and only the absent one broke.
38
+ */
39
+ export function missingTestIds(selector, present) {
40
+ const referenced = testIdsIn(selector);
41
+ const set = new Set(present);
42
+ return referenced.filter(id => !set.has(id));
43
+ }
44
+ export const DEFAULT_CANDIDATE_OPTIONS = {
45
+ maxDistance: 0.4,
46
+ minStabilityRank: 4,
47
+ limit: 10,
48
+ allowedStrategies: ['testid', 'role', 'label', 'text'],
49
+ };
50
+ const DEFAULT_STRATEGIES = ['testid', 'role', 'label', 'text'];
51
+ function allows(options, strategy) {
52
+ const allowed = options.allowedStrategies ?? DEFAULT_STRATEGIES;
53
+ return allowed.includes(strategy) && STABILITY_RANK[strategy] <= options.minStabilityRank;
54
+ }
55
+ /** Playwright ARIA snapshots: `- heading "Gyms" [level=1]`. */
56
+ export function parseAriaSnapshot(snapshot) {
57
+ const nodes = [];
58
+ const pattern = /^\s*-\s+([a-z0-9-]+)\s+"([^"]+)"/gim;
59
+ let match;
60
+ while ((match = pattern.exec(snapshot)) !== null) {
61
+ const role = match[1];
62
+ const name = match[2];
63
+ if (role !== undefined && name !== undefined)
64
+ nodes.push({ role, name });
65
+ }
66
+ return nodes;
67
+ }
68
+ function labelDistance(a, b) {
69
+ const left = a.toLowerCase();
70
+ const right = b.toLowerCase();
71
+ if (left === right)
72
+ return 0;
73
+ if (left.length === 0 || right.length === 0)
74
+ return 1;
75
+ if (left.startsWith(right) || right.startsWith(left)) {
76
+ return Math.abs(left.length - right.length) / Math.max(left.length, right.length);
77
+ }
78
+ const rows = left.length + 1;
79
+ const cols = right.length + 1;
80
+ const grid = Array.from({ length: rows }, (_, i) => Array.from({ length: cols }, (__, j) => (i === 0 ? j : j === 0 ? i : 0)));
81
+ for (let i = 1; i < rows; i++) {
82
+ const row = grid[i];
83
+ const prev = grid[i - 1];
84
+ if (row === undefined || prev === undefined)
85
+ continue;
86
+ for (let j = 1; j < cols; j++) {
87
+ const cost = left.charAt(i - 1) === right.charAt(j - 1) ? 0 : 1;
88
+ row[j] = Math.min((prev[j] ?? 0) + 1, (row[j - 1] ?? 0) + 1, (prev[j - 1] ?? 0) + cost);
89
+ }
90
+ }
91
+ const distance = grid[left.length]?.[right.length] ?? Math.max(left.length, right.length);
92
+ return distance / Math.max(left.length, right.length);
93
+ }
94
+ function scoreCandidate(strategy, from, to, options, role) {
95
+ const semanticDistance = strategy === 'testid' ? testIdDistance(from, to) : labelDistance(from, to);
96
+ const stabilityRank = STABILITY_RANK[strategy];
97
+ return {
98
+ strategy,
99
+ value: to,
100
+ expression: strategy === 'testid'
101
+ ? `getByTestId('${to}')`
102
+ : strategy === 'role'
103
+ ? `getByRole('${role ?? 'button'}', { name: '${to}' })`
104
+ : `getBy${strategy.charAt(0).toUpperCase()}${strategy.slice(1)}('${to}')`,
105
+ semanticDistance,
106
+ stabilityRank,
107
+ stabilityDelta: 0,
108
+ score: 0.7 * (1 - semanticDistance) +
109
+ 0.3 * (1 - stabilityRank / Math.max(1, options.minStabilityRank)),
110
+ };
111
+ }
112
+ /**
113
+ * Rank candidates from the evidence bundle's test-id index.
114
+ *
115
+ * Scoring is ordering only. A heal is accepted because Playwright re-ran the
116
+ * test and it passed — never because a number here was high.
117
+ */
118
+ export function generateCandidates(bundle, options = DEFAULT_CANDIDATE_OPTIONS) {
119
+ const missing = missingTestIds(bundle.intent.selector, bundle.page.testIdsPresent);
120
+ const parsed = parseLocator(bundle.intent.selector);
121
+ const out = [];
122
+ if (allows(options, 'testid') && missing.length === 1) {
123
+ const target = missing[0];
124
+ if (target !== undefined) {
125
+ for (const id of bundle.page.testIdsPresent) {
126
+ if (id === target)
127
+ continue;
128
+ out.push(scoreCandidate('testid', target, id, options));
129
+ }
130
+ }
131
+ }
132
+ const name = parsed?.accessibleName ?? (parsed !== null && parsed.strategy !== 'testid' ? parsed.value : null);
133
+ if (name !== null && parsed !== null && allows(options, parsed.strategy) && parsed.strategy !== 'testid') {
134
+ const nodes = parseAriaSnapshot(bundle.page.ariaSnapshot);
135
+ const sameRole = parsed.strategy === 'role' ? nodes.filter(node => node.role === parsed.value) : nodes;
136
+ for (const node of sameRole) {
137
+ if (node.name === name)
138
+ continue;
139
+ out.push(scoreCandidate(parsed.strategy, name, node.name, options, parsed.value));
140
+ }
141
+ }
142
+ return out
143
+ .filter(candidate => candidate.semanticDistance <= options.maxDistance)
144
+ .filter(candidate => candidate.stabilityRank <= options.minStabilityRank)
145
+ .sort((a, b) => b.score - a.score || a.semanticDistance - b.semanticDistance)
146
+ .slice(0, options.limit);
147
+ }
148
+ export function assessBundle(bundle, options = DEFAULT_CANDIDATE_OPTIONS) {
149
+ if (bundle.intent.selector === null) {
150
+ return { eligible: false, reason: 'no selector was recorded for this failure' };
151
+ }
152
+ const referenced = testIdsIn(bundle.intent.selector);
153
+ const parsed = parseLocator(bundle.intent.selector);
154
+ if (referenced.length > 0) {
155
+ if (bundle.page.testIdsPresent.length === 0) {
156
+ return {
157
+ eligible: false,
158
+ reason: 'no test-id index was captured — install the atest capture fixtures so the page is ' +
159
+ 'recorded at failure time',
160
+ };
161
+ }
162
+ const missing = missingTestIds(bundle.intent.selector, bundle.page.testIdsPresent);
163
+ if (missing.length === 0) {
164
+ return {
165
+ eligible: false,
166
+ reason: `every test id the selector references (${referenced.join(', ')}) IS present on the page, ` +
167
+ 'so this is not a rename. The elements exist but were not matched — look at scoping, ' +
168
+ 'filtering or visibility, not at the selector.',
169
+ };
170
+ }
171
+ if (missing.length > 1) {
172
+ return {
173
+ eligible: false,
174
+ reason: `${missing.length} test ids are missing at once (${missing.join(', ')}). That is a ` +
175
+ 'restructure rather than a rename — heal it by hand.',
176
+ };
177
+ }
178
+ if (!allows(options, 'testid')) {
179
+ return { eligible: false, reason: 'testid heals are disabled by heal.allowedStrategies' };
180
+ }
181
+ return { eligible: true, reason: `"${missing[0] ?? ''}" is absent from the page` };
182
+ }
183
+ if (parsed === null || parsed.strategy === 'css' || parsed.strategy === 'xpath') {
184
+ return {
185
+ eligible: false,
186
+ reason: 'the selector is not a healable locator (testid, role, label, or text)',
187
+ };
188
+ }
189
+ if (parsed.strategy === 'role' && parsed.accessibleName === null) {
190
+ return {
191
+ eligible: false,
192
+ reason: 'getByRole without a name is too vague to heal — add an accessible name, or heal by hand',
193
+ };
194
+ }
195
+ if (!allows(options, parsed.strategy)) {
196
+ return {
197
+ eligible: false,
198
+ reason: `${parsed.strategy} heals are disabled by heal.allowedStrategies`,
199
+ };
200
+ }
201
+ if (bundle.page.ariaSnapshot.trim() === '') {
202
+ return {
203
+ eligible: false,
204
+ reason: 'no accessibility tree was captured — install the atest capture fixtures so role/label/text ' +
205
+ 'heals have something to rank against',
206
+ };
207
+ }
208
+ const intended = parsed.accessibleName ?? parsed.value;
209
+ return { eligible: true, reason: `"${intended}" is absent from the page` };
210
+ }
211
+ //# sourceMappingURL=candidates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidates.js","sourceRoot":"","sources":["../src/candidates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @aplaytest/heal — selector healing.
3
+ *
4
+ * Tier 0 only, and entirely deterministic: candidates come from the test-id
5
+ * index captured at failure time, and acceptance comes from re-running the
6
+ * test. A model tier would RANK these candidates by intent; it is never the
7
+ * thing that decides.
8
+ *
9
+ * Three guards hold regardless of configuration:
10
+ * · kinds in NEVER_HEAL are refused outright (a schema violation or an
11
+ * uncaught app error IS the bug — repairing it destroys the signal)
12
+ * · a candidate weaker than the stability floor is never generated
13
+ * · no patch is accepted without a full validation pass
14
+ */
15
+ export { patchConstant, findConstant } from './patch.js';
16
+ export type { PatchInput, PatchResult, PatchStatus, TouchedConstant } from './patch.js';
17
+ export { generateCandidates, assessBundle, missingTestIds, testIdsIn, parseAriaSnapshot, DEFAULT_CANDIDATE_OPTIONS, } from './candidates.js';
18
+ export type { HealCandidate, CandidateOptions, HealEligibility, AriaNode } from './candidates.js';
19
+ export { resolveSelectorSource, classifyHealTarget, globToRegExp, DEFAULT_HEAL_TARGET_GLOBS, } from './resolve.js';
20
+ export type { HealTargetKind, ResolvedSelectorSource } from './resolve.js';
21
+ export { validateHeal } from './validate.js';
22
+ export type { ValidateOptions, ValidationRecord, ValidationStatus } from './validate.js';
23
+ export { proposeHeal, DEFAULT_HEAL_OPTIONS } from './propose.js';
24
+ export type { HealProposal, ProposeOptions, TierOneRecord, ProposalStatus } from './propose.js';
25
+ export { buildRecord, writeRecord, readRecords, revertHeal, healId, DEFAULT_LEDGER_DIR, HEAL_SCHEMA_VERSION, } from './ledger.js';
26
+ export type { HealRecord, HealStatus, RevertResult } from './ledger.js';
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAExF,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAElG,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEzF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhG,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,MAAM,EACN,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @aplaytest/heal — selector healing.
3
+ *
4
+ * Tier 0 only, and entirely deterministic: candidates come from the test-id
5
+ * index captured at failure time, and acceptance comes from re-running the
6
+ * test. A model tier would RANK these candidates by intent; it is never the
7
+ * thing that decides.
8
+ *
9
+ * Three guards hold regardless of configuration:
10
+ * · kinds in NEVER_HEAL are refused outright (a schema violation or an
11
+ * uncaught app error IS the bug — repairing it destroys the signal)
12
+ * · a candidate weaker than the stability floor is never generated
13
+ * · no patch is accepted without a full validation pass
14
+ */
15
+ export { patchConstant, findConstant } from './patch.js';
16
+ export { generateCandidates, assessBundle, missingTestIds, testIdsIn, parseAriaSnapshot, DEFAULT_CANDIDATE_OPTIONS, } from './candidates.js';
17
+ export { resolveSelectorSource, classifyHealTarget, globToRegExp, DEFAULT_HEAL_TARGET_GLOBS, } from './resolve.js';
18
+ export { validateHeal } from './validate.js';
19
+ export { proposeHeal, DEFAULT_HEAL_OPTIONS } from './propose.js';
20
+ export { buildRecord, writeRecord, readRecords, revertHeal, healId, DEFAULT_LEDGER_DIR, HEAL_SCHEMA_VERSION, } from './ledger.js';
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGjE,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,MAAM,EACN,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * The heal ledger.
3
+ *
4
+ * One git-tracked JSON file per heal, written when a patch is applied. It is
5
+ * the audit trail, and it belongs in the repository alongside the change it
6
+ * justifies: six months later, "why is this selector called that?" should be
7
+ * answerable from the repo rather than from a dashboard nobody kept.
8
+ *
9
+ * The record stores the ORIGINAL FILE TEXT rather than a diff. Reverting from
10
+ * a stored diff means re-deriving context that may have moved on; storing the
11
+ * text makes revert exact and total, which is the property you want from an
12
+ * undo button for automated edits.
13
+ */
14
+ import type { HealProposal } from './propose.js';
15
+ import type { ValidationRecord } from './validate.js';
16
+ export declare const DEFAULT_LEDGER_DIR = ".atest/heals";
17
+ export declare const HEAL_SCHEMA_VERSION: 1;
18
+ export type HealStatus = 'applied' | 'reverted';
19
+ export interface HealRecord {
20
+ readonly schemaVersion: typeof HEAL_SCHEMA_VERSION;
21
+ readonly healId: string;
22
+ readonly createdAt: string;
23
+ readonly atestVersion: string;
24
+ readonly evidenceId: string;
25
+ readonly test: {
26
+ readonly title: string;
27
+ readonly file: string;
28
+ readonly project: string;
29
+ };
30
+ readonly failureKind: string;
31
+ readonly strategy: 'selector';
32
+ /** 0 = deterministic; a model tier would record 1 here. */
33
+ readonly tier: 0 | 1;
34
+ readonly model: string | null;
35
+ readonly patch: {
36
+ readonly file: string;
37
+ readonly from: string;
38
+ readonly to: string;
39
+ readonly constants: readonly string[];
40
+ readonly stabilityDelta: number;
41
+ };
42
+ readonly candidatesConsidered: number;
43
+ readonly semanticDistance: number;
44
+ readonly validation: ValidationRecord | null;
45
+ readonly status: HealStatus;
46
+ /** The file exactly as it was before the heal. Revert restores this verbatim. */
47
+ readonly revertText: string;
48
+ readonly revertedAt: string | null;
49
+ }
50
+ /** Derived, not random: the same heal always resolves to the same id. */
51
+ export declare function healId(evidenceId: string, from: string, to: string): string;
52
+ export declare function buildRecord(proposal: HealProposal, context: {
53
+ readonly project: string;
54
+ readonly failureKind: string;
55
+ readonly atestVersion: string;
56
+ readonly testFile: string;
57
+ }): HealRecord | null;
58
+ export declare function writeRecord(record: HealRecord, dir?: string): Promise<string>;
59
+ export declare function readRecords(dir?: string): Promise<HealRecord[]>;
60
+ export interface RevertResult {
61
+ readonly status: 'reverted' | 'not-found' | 'already-reverted' | 'file-changed';
62
+ readonly message: string;
63
+ readonly record: HealRecord | null;
64
+ }
65
+ /**
66
+ * Restore the file exactly as it was before the heal.
67
+ *
68
+ * Refuses when the file has changed since — a revert that silently discards
69
+ * someone's later edit is worse than the heal it is undoing.
70
+ */
71
+ export declare function revertHeal(id: string, options?: {
72
+ dir?: string;
73
+ force?: boolean;
74
+ }): Promise<RevertResult>;
75
+ //# sourceMappingURL=ledger.d.ts.map