@cartanova/qgrid-cli 2.7.0 → 2.7.1
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.
- package/bundle/dist/_virtual/_rolldown/runtime.js +20 -1
- package/bundle/dist/application/qgrid/qgrid.dispatcher.js +17 -6
- package/bundle/dist/application/qgrid/qgrid.frame.js +1 -1
- package/bundle/dist/application/qgrid/schema-prompt.js +240 -0
- package/bundle/dist/application/qgrid/tool-emulation.js +7 -5
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/2020.js +112 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js +140 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js +676 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/errors.js +104 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/index.js +225 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/names.js +30 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/ref_error.js +20 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/resolve.js +135 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js +63 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/util.js +148 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/applicability.js +25 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/dataType.js +174 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/defaults.js +33 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/index.js +435 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js +115 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/subschema.js +74 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/core.js +585 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/data.js +20 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +44 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.js +52 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.js +22 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.js +53 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.js +18 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.js +38 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.js +21 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.js +87 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/schema.js +61 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js +14 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/ucs2length.js +27 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/uri.js +14 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/validation_error.js +18 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +59 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +98 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js +31 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +18 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/contains.js +91 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +89 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +18 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/if.js +64 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/index.js +62 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items.js +61 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js +36 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/not.js +33 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +53 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +63 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +19 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +43 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +19 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/code.js +132 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/id.js +16 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/index.js +24 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/ref.js +114 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/index.js +103 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/types.js +16 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/draft2020.js +37 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +48 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +47 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/index.js +24 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +22 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +17 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/format.js +94 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/index.js +12 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/metadata.js +25 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/next.js +21 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/index.js +15 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +48 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +61 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/const.js +29 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +19 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/enum.js +51 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/index.js +50 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitContains.js +20 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js +30 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js +35 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +49 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +30 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +29 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/pattern.js +40 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/required.js +74 -0
- package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +72 -0
- package/bundle/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +35 -0
- package/bundle/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js +238 -0
- package/bundle/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js +189 -0
- package/bundle/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js +284 -0
- package/bundle/dist/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +80 -0
- package/bundle/dist/testing/schema-bench.js +0 -0
- package/bundle/dist/utils/providers/anthropic/fence-strip.js +83 -0
- package/bundle/dist/utils/providers/anthropic/stream-json-adapter.js +3 -5
- package/bundle/src/application/qgrid/qgrid.dispatcher.test.ts +250 -34
- package/bundle/src/application/qgrid/qgrid.dispatcher.ts +36 -5
- package/bundle/src/application/qgrid/qgrid.frame.test.ts +120 -153
- package/bundle/src/application/qgrid/qgrid.frame.ts +2 -0
- package/bundle/src/application/qgrid/schema-prompt.test.ts +166 -0
- package/bundle/src/application/qgrid/schema-prompt.ts +293 -0
- package/bundle/src/application/qgrid/tool-emulation.test.ts +36 -0
- package/bundle/src/application/qgrid/tool-emulation.ts +19 -7
- package/bundle/src/testing/schema-bench.test.ts +358 -0
- package/bundle/src/testing/schema-bench.ts +352 -0
- package/bundle/src/utils/providers/anthropic/fence-strip.test.ts +122 -0
- package/bundle/src/utils/providers/anthropic/fence-strip.ts +105 -0
- package/bundle/src/utils/providers/anthropic/stream-json-adapter.ts +2 -8
- package/bundle/web-dist/client/assets/{index-C24D5PiN.js → index-C0594sjh.js} +3 -3
- package/bundle/web-dist/client/assets/{logs-CIlZG6A3.js → logs-BotUcOEB.js} +1 -1
- package/bundle/web-dist/client/assets/{monit-DZFBMxKl.js → monit-kk3vnGvu.js} +1 -1
- package/bundle/web-dist/client/assets/{routes-C3wlSNBL.js → routes-J4bnHVfl.js} +1 -1
- package/bundle/web-dist/client/assets/{settings-ClRDWO-8.js → settings-CAAQSIyg.js} +1 -1
- package/bundle/web-dist/client/assets/{show-BP7U8yyJ.js → show-BryNvjUT.js} +1 -1
- package/bundle/web-dist/client/assets/{tokens-DfQeULnJ.js → tokens-DDrATjGA.js} +1 -1
- package/bundle/web-dist/client/assets/{use-oauth-login-flow-CY-ASCfL.js → use-oauth-login-flow-CptleCFM.js} +1 -1
- package/bundle/web-dist/client/index.html +1 -1
- package/bundle/web-dist/server/entry-server.generated.js +1 -1
- package/package.json +1 -1
- package/skills/qgrid/references/ai-sdk-provider-contract.md +20 -15
- package/skills/qgrid/references/anthropic-claude-code-runtime.md +31 -14
- package/skills/qgrid/references/decision-rationale.md +13 -3
- package/skills/qgrid/references/prompt-cache-and-usage.md +4 -1
- package/skills/qgrid/references/provider-runtime-differences.md +3 -3
- package/skills/qgrid/references/tool-calling-and-multiturn.md +16 -6
package/bundle/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { __commonJSMin } from "../../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { require_codegen } from "../codegen/index.js";
|
|
3
|
+
import { require_names } from "../names.js";
|
|
4
|
+
import { require_errors } from "../errors.js";
|
|
5
|
+
import { require_code } from "../../vocabularies/code.js";
|
|
6
|
+
//#region ../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js
|
|
7
|
+
var require_keyword = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = void 0;
|
|
10
|
+
const codegen_1 = require_codegen();
|
|
11
|
+
const names_1 = require_names();
|
|
12
|
+
const code_1 = require_code();
|
|
13
|
+
const errors_1 = require_errors();
|
|
14
|
+
function macroKeywordCode(cxt, def) {
|
|
15
|
+
const { gen, keyword, schema, parentSchema, it } = cxt;
|
|
16
|
+
const macroSchema = def.macro.call(it.self, schema, parentSchema, it);
|
|
17
|
+
const schemaRef = useKeyword(gen, keyword, macroSchema);
|
|
18
|
+
if (it.opts.validateSchema !== false) it.self.validateSchema(macroSchema, true);
|
|
19
|
+
const valid = gen.name("valid");
|
|
20
|
+
cxt.subschema({
|
|
21
|
+
schema: macroSchema,
|
|
22
|
+
schemaPath: codegen_1.nil,
|
|
23
|
+
errSchemaPath: `${it.errSchemaPath}/${keyword}`,
|
|
24
|
+
topSchemaRef: schemaRef,
|
|
25
|
+
compositeRule: true
|
|
26
|
+
}, valid);
|
|
27
|
+
cxt.pass(valid, () => cxt.error(true));
|
|
28
|
+
}
|
|
29
|
+
exports.macroKeywordCode = macroKeywordCode;
|
|
30
|
+
function funcKeywordCode(cxt, def) {
|
|
31
|
+
var _a;
|
|
32
|
+
const { gen, keyword, schema, parentSchema, $data, it } = cxt;
|
|
33
|
+
checkAsyncKeyword(it, def);
|
|
34
|
+
const validateRef = useKeyword(gen, keyword, !$data && def.compile ? def.compile.call(it.self, schema, parentSchema, it) : def.validate);
|
|
35
|
+
const valid = gen.let("valid");
|
|
36
|
+
cxt.block$data(valid, validateKeyword);
|
|
37
|
+
cxt.ok((_a = def.valid) !== null && _a !== void 0 ? _a : valid);
|
|
38
|
+
function validateKeyword() {
|
|
39
|
+
if (def.errors === false) {
|
|
40
|
+
assignValid();
|
|
41
|
+
if (def.modifying) modifyData(cxt);
|
|
42
|
+
reportErrs(() => cxt.error());
|
|
43
|
+
} else {
|
|
44
|
+
const ruleErrs = def.async ? validateAsync() : validateSync();
|
|
45
|
+
if (def.modifying) modifyData(cxt);
|
|
46
|
+
reportErrs(() => addErrs(cxt, ruleErrs));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function validateAsync() {
|
|
50
|
+
const ruleErrs = gen.let("ruleErrs", null);
|
|
51
|
+
gen.try(() => assignValid((0, codegen_1._)`await `), (e) => gen.assign(valid, false).if((0, codegen_1._)`${e} instanceof ${it.ValidationError}`, () => gen.assign(ruleErrs, (0, codegen_1._)`${e}.errors`), () => gen.throw(e)));
|
|
52
|
+
return ruleErrs;
|
|
53
|
+
}
|
|
54
|
+
function validateSync() {
|
|
55
|
+
const validateErrs = (0, codegen_1._)`${validateRef}.errors`;
|
|
56
|
+
gen.assign(validateErrs, null);
|
|
57
|
+
assignValid(codegen_1.nil);
|
|
58
|
+
return validateErrs;
|
|
59
|
+
}
|
|
60
|
+
function assignValid(_await = def.async ? (0, codegen_1._)`await ` : codegen_1.nil) {
|
|
61
|
+
const passCxt = it.opts.passContext ? names_1.default.this : names_1.default.self;
|
|
62
|
+
const passSchema = !("compile" in def && !$data || def.schema === false);
|
|
63
|
+
gen.assign(valid, (0, codegen_1._)`${_await}${(0, code_1.callValidateCode)(cxt, validateRef, passCxt, passSchema)}`, def.modifying);
|
|
64
|
+
}
|
|
65
|
+
function reportErrs(errors) {
|
|
66
|
+
var _a;
|
|
67
|
+
gen.if((0, codegen_1.not)((_a = def.valid) !== null && _a !== void 0 ? _a : valid), errors);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.funcKeywordCode = funcKeywordCode;
|
|
71
|
+
function modifyData(cxt) {
|
|
72
|
+
const { gen, data, it } = cxt;
|
|
73
|
+
gen.if(it.parentData, () => gen.assign(data, (0, codegen_1._)`${it.parentData}[${it.parentDataProperty}]`));
|
|
74
|
+
}
|
|
75
|
+
function addErrs(cxt, errs) {
|
|
76
|
+
const { gen } = cxt;
|
|
77
|
+
gen.if((0, codegen_1._)`Array.isArray(${errs})`, () => {
|
|
78
|
+
gen.assign(names_1.default.vErrors, (0, codegen_1._)`${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`).assign(names_1.default.errors, (0, codegen_1._)`${names_1.default.vErrors}.length`);
|
|
79
|
+
(0, errors_1.extendErrors)(cxt);
|
|
80
|
+
}, () => cxt.error());
|
|
81
|
+
}
|
|
82
|
+
function checkAsyncKeyword({ schemaEnv }, def) {
|
|
83
|
+
if (def.async && !schemaEnv.$async) throw new Error("async keyword in sync schema");
|
|
84
|
+
}
|
|
85
|
+
function useKeyword(gen, keyword, result) {
|
|
86
|
+
if (result === void 0) throw new Error(`keyword "${keyword}" failed to compile`);
|
|
87
|
+
return gen.scopeValue("keyword", typeof result == "function" ? { ref: result } : {
|
|
88
|
+
ref: result,
|
|
89
|
+
code: (0, codegen_1.stringify)(result)
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
function validSchemaType(schema, schemaType, allowUndefined = false) {
|
|
93
|
+
return !schemaType.length || schemaType.some((st) => st === "array" ? Array.isArray(schema) : st === "object" ? schema && typeof schema == "object" && !Array.isArray(schema) : typeof schema == st || allowUndefined && typeof schema == "undefined");
|
|
94
|
+
}
|
|
95
|
+
exports.validSchemaType = validSchemaType;
|
|
96
|
+
function validateKeywordUsage({ schema, opts, self, errSchemaPath }, def, keyword) {
|
|
97
|
+
/* istanbul ignore if */
|
|
98
|
+
if (Array.isArray(def.keyword) ? !def.keyword.includes(keyword) : def.keyword !== keyword) throw new Error("ajv implementation error");
|
|
99
|
+
const deps = def.dependencies;
|
|
100
|
+
if (deps === null || deps === void 0 ? void 0 : deps.some((kwd) => !Object.prototype.hasOwnProperty.call(schema, kwd))) throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(",")}`);
|
|
101
|
+
if (def.validateSchema) {
|
|
102
|
+
if (!def.validateSchema(schema[keyword])) {
|
|
103
|
+
const msg = `keyword "${keyword}" value is invalid at path "${errSchemaPath}": ` + self.errorsText(def.validateSchema.errors);
|
|
104
|
+
if (opts.validateSchema === "log") self.logger.error(msg);
|
|
105
|
+
else throw new Error(msg);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.validateKeywordUsage = validateKeywordUsage;
|
|
110
|
+
}));
|
|
111
|
+
//#endregion
|
|
112
|
+
export default require_keyword();
|
|
113
|
+
export { require_keyword };
|
|
114
|
+
|
|
115
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5d29yZC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vYWp2QDguMjAuMC9ub2RlX21vZHVsZXMvYWp2L2Rpc3QvY29tcGlsZS92YWxpZGF0ZS9rZXl3b3JkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy52YWxpZGF0ZUtleXdvcmRVc2FnZSA9IGV4cG9ydHMudmFsaWRTY2hlbWFUeXBlID0gZXhwb3J0cy5mdW5jS2V5d29yZENvZGUgPSBleHBvcnRzLm1hY3JvS2V5d29yZENvZGUgPSB2b2lkIDA7XG5jb25zdCBjb2RlZ2VuXzEgPSByZXF1aXJlKFwiLi4vY29kZWdlblwiKTtcbmNvbnN0IG5hbWVzXzEgPSByZXF1aXJlKFwiLi4vbmFtZXNcIik7XG5jb25zdCBjb2RlXzEgPSByZXF1aXJlKFwiLi4vLi4vdm9jYWJ1bGFyaWVzL2NvZGVcIik7XG5jb25zdCBlcnJvcnNfMSA9IHJlcXVpcmUoXCIuLi9lcnJvcnNcIik7XG5mdW5jdGlvbiBtYWNyb0tleXdvcmRDb2RlKGN4dCwgZGVmKSB7XG4gICAgY29uc3QgeyBnZW4sIGtleXdvcmQsIHNjaGVtYSwgcGFyZW50U2NoZW1hLCBpdCB9ID0gY3h0O1xuICAgIGNvbnN0IG1hY3JvU2NoZW1hID0gZGVmLm1hY3JvLmNhbGwoaXQuc2VsZiwgc2NoZW1hLCBwYXJlbnRTY2hlbWEsIGl0KTtcbiAgICBjb25zdCBzY2hlbWFSZWYgPSB1c2VLZXl3b3JkKGdlbiwga2V5d29yZCwgbWFjcm9TY2hlbWEpO1xuICAgIGlmIChpdC5vcHRzLnZhbGlkYXRlU2NoZW1hICE9PSBmYWxzZSlcbiAgICAgICAgaXQuc2VsZi52YWxpZGF0ZVNjaGVtYShtYWNyb1NjaGVtYSwgdHJ1ZSk7XG4gICAgY29uc3QgdmFsaWQgPSBnZW4ubmFtZShcInZhbGlkXCIpO1xuICAgIGN4dC5zdWJzY2hlbWEoe1xuICAgICAgICBzY2hlbWE6IG1hY3JvU2NoZW1hLFxuICAgICAgICBzY2hlbWFQYXRoOiBjb2RlZ2VuXzEubmlsLFxuICAgICAgICBlcnJTY2hlbWFQYXRoOiBgJHtpdC5lcnJTY2hlbWFQYXRofS8ke2tleXdvcmR9YCxcbiAgICAgICAgdG9wU2NoZW1hUmVmOiBzY2hlbWFSZWYsXG4gICAgICAgIGNvbXBvc2l0ZVJ1bGU6IHRydWUsXG4gICAgfSwgdmFsaWQpO1xuICAgIGN4dC5wYXNzKHZhbGlkLCAoKSA9PiBjeHQuZXJyb3IodHJ1ZSkpO1xufVxuZXhwb3J0cy5tYWNyb0tleXdvcmRDb2RlID0gbWFjcm9LZXl3b3JkQ29kZTtcbmZ1bmN0aW9uIGZ1bmNLZXl3b3JkQ29kZShjeHQsIGRlZikge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IGdlbiwga2V5d29yZCwgc2NoZW1hLCBwYXJlbnRTY2hlbWEsICRkYXRhLCBpdCB9ID0gY3h0O1xuICAgIGNoZWNrQXN5bmNLZXl3b3JkKGl0LCBkZWYpO1xuICAgIGNvbnN0IHZhbGlkYXRlID0gISRkYXRhICYmIGRlZi5jb21waWxlID8gZGVmLmNvbXBpbGUuY2FsbChpdC5zZWxmLCBzY2hlbWEsIHBhcmVudFNjaGVtYSwgaXQpIDogZGVmLnZhbGlkYXRlO1xuICAgIGNvbnN0IHZhbGlkYXRlUmVmID0gdXNlS2V5d29yZChnZW4sIGtleXdvcmQsIHZhbGlkYXRlKTtcbiAgICBjb25zdCB2YWxpZCA9IGdlbi5sZXQoXCJ2YWxpZFwiKTtcbiAgICBjeHQuYmxvY2skZGF0YSh2YWxpZCwgdmFsaWRhdGVLZXl3b3JkKTtcbiAgICBjeHQub2soKF9hID0gZGVmLnZhbGlkKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB2YWxpZCk7XG4gICAgZnVuY3Rpb24gdmFsaWRhdGVLZXl3b3JkKCkge1xuICAgICAgICBpZiAoZGVmLmVycm9ycyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIGFzc2lnblZhbGlkKCk7XG4gICAgICAgICAgICBpZiAoZGVmLm1vZGlmeWluZylcbiAgICAgICAgICAgICAgICBtb2RpZnlEYXRhKGN4dCk7XG4gICAgICAgICAgICByZXBvcnRFcnJzKCgpID0+IGN4dC5lcnJvcigpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHJ1bGVFcnJzID0gZGVmLmFzeW5jID8gdmFsaWRhdGVBc3luYygpIDogdmFsaWRhdGVTeW5jKCk7XG4gICAgICAgICAgICBpZiAoZGVmLm1vZGlmeWluZylcbiAgICAgICAgICAgICAgICBtb2RpZnlEYXRhKGN4dCk7XG4gICAgICAgICAgICByZXBvcnRFcnJzKCgpID0+IGFkZEVycnMoY3h0LCBydWxlRXJycykpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHZhbGlkYXRlQXN5bmMoKSB7XG4gICAgICAgIGNvbnN0IHJ1bGVFcnJzID0gZ2VuLmxldChcInJ1bGVFcnJzXCIsIG51bGwpO1xuICAgICAgICBnZW4udHJ5KCgpID0+IGFzc2lnblZhbGlkKCgwLCBjb2RlZ2VuXzEuXykgYGF3YWl0IGApLCAoZSkgPT4gZ2VuLmFzc2lnbih2YWxpZCwgZmFsc2UpLmlmKCgwLCBjb2RlZ2VuXzEuXykgYCR7ZX0gaW5zdGFuY2VvZiAke2l0LlZhbGlkYXRpb25FcnJvcn1gLCAoKSA9PiBnZW4uYXNzaWduKHJ1bGVFcnJzLCAoMCwgY29kZWdlbl8xLl8pIGAke2V9LmVycm9yc2ApLCAoKSA9PiBnZW4udGhyb3coZSkpKTtcbiAgICAgICAgcmV0dXJuIHJ1bGVFcnJzO1xuICAgIH1cbiAgICBmdW5jdGlvbiB2YWxpZGF0ZVN5bmMoKSB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRlRXJycyA9ICgwLCBjb2RlZ2VuXzEuXykgYCR7dmFsaWRhdGVSZWZ9LmVycm9yc2A7XG4gICAgICAgIGdlbi5hc3NpZ24odmFsaWRhdGVFcnJzLCBudWxsKTtcbiAgICAgICAgYXNzaWduVmFsaWQoY29kZWdlbl8xLm5pbCk7XG4gICAgICAgIHJldHVybiB2YWxpZGF0ZUVycnM7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGFzc2lnblZhbGlkKF9hd2FpdCA9IGRlZi5hc3luYyA/ICgwLCBjb2RlZ2VuXzEuXykgYGF3YWl0IGAgOiBjb2RlZ2VuXzEubmlsKSB7XG4gICAgICAgIGNvbnN0IHBhc3NDeHQgPSBpdC5vcHRzLnBhc3NDb250ZXh0ID8gbmFtZXNfMS5kZWZhdWx0LnRoaXMgOiBuYW1lc18xLmRlZmF1bHQuc2VsZjtcbiAgICAgICAgY29uc3QgcGFzc1NjaGVtYSA9ICEoKFwiY29tcGlsZVwiIGluIGRlZiAmJiAhJGRhdGEpIHx8IGRlZi5zY2hlbWEgPT09IGZhbHNlKTtcbiAgICAgICAgZ2VuLmFzc2lnbih2YWxpZCwgKDAsIGNvZGVnZW5fMS5fKSBgJHtfYXdhaXR9JHsoMCwgY29kZV8xLmNhbGxWYWxpZGF0ZUNvZGUpKGN4dCwgdmFsaWRhdGVSZWYsIHBhc3NDeHQsIHBhc3NTY2hlbWEpfWAsIGRlZi5tb2RpZnlpbmcpO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZXBvcnRFcnJzKGVycm9ycykge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGdlbi5pZigoMCwgY29kZWdlbl8xLm5vdCkoKF9hID0gZGVmLnZhbGlkKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB2YWxpZCksIGVycm9ycyk7XG4gICAgfVxufVxuZXhwb3J0cy5mdW5jS2V5d29yZENvZGUgPSBmdW5jS2V5d29yZENvZGU7XG5mdW5jdGlvbiBtb2RpZnlEYXRhKGN4dCkge1xuICAgIGNvbnN0IHsgZ2VuLCBkYXRhLCBpdCB9ID0gY3h0O1xuICAgIGdlbi5pZihpdC5wYXJlbnREYXRhLCAoKSA9PiBnZW4uYXNzaWduKGRhdGEsICgwLCBjb2RlZ2VuXzEuXykgYCR7aXQucGFyZW50RGF0YX1bJHtpdC5wYXJlbnREYXRhUHJvcGVydHl9XWApKTtcbn1cbmZ1bmN0aW9uIGFkZEVycnMoY3h0LCBlcnJzKSB7XG4gICAgY29uc3QgeyBnZW4gfSA9IGN4dDtcbiAgICBnZW4uaWYoKDAsIGNvZGVnZW5fMS5fKSBgQXJyYXkuaXNBcnJheSgke2VycnN9KWAsICgpID0+IHtcbiAgICAgICAgZ2VuXG4gICAgICAgICAgICAuYXNzaWduKG5hbWVzXzEuZGVmYXVsdC52RXJyb3JzLCAoMCwgY29kZWdlbl8xLl8pIGAke25hbWVzXzEuZGVmYXVsdC52RXJyb3JzfSA9PT0gbnVsbCA/ICR7ZXJyc30gOiAke25hbWVzXzEuZGVmYXVsdC52RXJyb3JzfS5jb25jYXQoJHtlcnJzfSlgKVxuICAgICAgICAgICAgLmFzc2lnbihuYW1lc18xLmRlZmF1bHQuZXJyb3JzLCAoMCwgY29kZWdlbl8xLl8pIGAke25hbWVzXzEuZGVmYXVsdC52RXJyb3JzfS5sZW5ndGhgKTtcbiAgICAgICAgKDAsIGVycm9yc18xLmV4dGVuZEVycm9ycykoY3h0KTtcbiAgICB9LCAoKSA9PiBjeHQuZXJyb3IoKSk7XG59XG5mdW5jdGlvbiBjaGVja0FzeW5jS2V5d29yZCh7IHNjaGVtYUVudiB9LCBkZWYpIHtcbiAgICBpZiAoZGVmLmFzeW5jICYmICFzY2hlbWFFbnYuJGFzeW5jKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJhc3luYyBrZXl3b3JkIGluIHN5bmMgc2NoZW1hXCIpO1xufVxuZnVuY3Rpb24gdXNlS2V5d29yZChnZW4sIGtleXdvcmQsIHJlc3VsdCkge1xuICAgIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBrZXl3b3JkIFwiJHtrZXl3b3JkfVwiIGZhaWxlZCB0byBjb21waWxlYCk7XG4gICAgcmV0dXJuIGdlbi5zY29wZVZhbHVlKFwia2V5d29yZFwiLCB0eXBlb2YgcmVzdWx0ID09IFwiZnVuY3Rpb25cIiA/IHsgcmVmOiByZXN1bHQgfSA6IHsgcmVmOiByZXN1bHQsIGNvZGU6ICgwLCBjb2RlZ2VuXzEuc3RyaW5naWZ5KShyZXN1bHQpIH0pO1xufVxuZnVuY3Rpb24gdmFsaWRTY2hlbWFUeXBlKHNjaGVtYSwgc2NoZW1hVHlwZSwgYWxsb3dVbmRlZmluZWQgPSBmYWxzZSkge1xuICAgIC8vIFRPRE8gYWRkIHRlc3RzXG4gICAgcmV0dXJuICghc2NoZW1hVHlwZS5sZW5ndGggfHxcbiAgICAgICAgc2NoZW1hVHlwZS5zb21lKChzdCkgPT4gc3QgPT09IFwiYXJyYXlcIlxuICAgICAgICAgICAgPyBBcnJheS5pc0FycmF5KHNjaGVtYSlcbiAgICAgICAgICAgIDogc3QgPT09IFwib2JqZWN0XCJcbiAgICAgICAgICAgICAgICA/IHNjaGVtYSAmJiB0eXBlb2Ygc2NoZW1hID09IFwib2JqZWN0XCIgJiYgIUFycmF5LmlzQXJyYXkoc2NoZW1hKVxuICAgICAgICAgICAgICAgIDogdHlwZW9mIHNjaGVtYSA9PSBzdCB8fCAoYWxsb3dVbmRlZmluZWQgJiYgdHlwZW9mIHNjaGVtYSA9PSBcInVuZGVmaW5lZFwiKSkpO1xufVxuZXhwb3J0cy52YWxpZFNjaGVtYVR5cGUgPSB2YWxpZFNjaGVtYVR5cGU7XG5mdW5jdGlvbiB2YWxpZGF0ZUtleXdvcmRVc2FnZSh7IHNjaGVtYSwgb3B0cywgc2VsZiwgZXJyU2NoZW1hUGF0aCB9LCBkZWYsIGtleXdvcmQpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoQXJyYXkuaXNBcnJheShkZWYua2V5d29yZCkgPyAhZGVmLmtleXdvcmQuaW5jbHVkZXMoa2V5d29yZCkgOiBkZWYua2V5d29yZCAhPT0ga2V5d29yZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJhanYgaW1wbGVtZW50YXRpb24gZXJyb3JcIik7XG4gICAgfVxuICAgIGNvbnN0IGRlcHMgPSBkZWYuZGVwZW5kZW5jaWVzO1xuICAgIGlmIChkZXBzID09PSBudWxsIHx8IGRlcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRlcHMuc29tZSgoa3dkKSA9PiAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNjaGVtYSwga3dkKSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBwYXJlbnQgc2NoZW1hIG11c3QgaGF2ZSBkZXBlbmRlbmNpZXMgb2YgJHtrZXl3b3JkfTogJHtkZXBzLmpvaW4oXCIsXCIpfWApO1xuICAgIH1cbiAgICBpZiAoZGVmLnZhbGlkYXRlU2NoZW1hKSB7XG4gICAgICAgIGNvbnN0IHZhbGlkID0gZGVmLnZhbGlkYXRlU2NoZW1hKHNjaGVtYVtrZXl3b3JkXSk7XG4gICAgICAgIGlmICghdmFsaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IGBrZXl3b3JkIFwiJHtrZXl3b3JkfVwiIHZhbHVlIGlzIGludmFsaWQgYXQgcGF0aCBcIiR7ZXJyU2NoZW1hUGF0aH1cIjogYCArXG4gICAgICAgICAgICAgICAgc2VsZi5lcnJvcnNUZXh0KGRlZi52YWxpZGF0ZVNjaGVtYS5lcnJvcnMpO1xuICAgICAgICAgICAgaWYgKG9wdHMudmFsaWRhdGVTY2hlbWEgPT09IFwibG9nXCIpXG4gICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IobXNnKTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IobXNnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydHMudmFsaWRhdGVLZXl3b3JkVXNhZ2UgPSB2YWxpZGF0ZUtleXdvcmRVc2FnZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWtleXdvcmQuanMubWFwIl0sInhfZ29vZ2xlX2lnbm9yZUxpc3QiOlswXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Q0FDQSxPQUFPLGVBQWUsU0FBUyxjQUFjLEVBQUUsT0FBTyxLQUFLLENBQUM7Q0FDNUQsUUFBUSx1QkFBdUIsUUFBUSxrQkFBa0IsUUFBUSxrQkFBa0IsUUFBUSxtQkFBbUIsS0FBSztDQUNuSCxNQUFNLFlBQUEsZ0JBQUE7Q0FDTixNQUFNLFVBQUEsY0FBQTtDQUNOLE1BQU0sU0FBQSxhQUFBO0NBQ04sTUFBTSxXQUFBLGVBQUE7Q0FDTixTQUFTLGlCQUFpQixLQUFLLEtBQUs7RUFDaEMsTUFBTSxFQUFFLEtBQUssU0FBUyxRQUFRLGNBQWMsT0FBTztFQUNuRCxNQUFNLGNBQWMsSUFBSSxNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsY0FBYyxFQUFFO0VBQ3BFLE1BQU0sWUFBWSxXQUFXLEtBQUssU0FBUyxXQUFXO0VBQ3RELElBQUksR0FBRyxLQUFLLG1CQUFtQixPQUMzQixHQUFHLEtBQUssZUFBZSxhQUFhLElBQUk7RUFDNUMsTUFBTSxRQUFRLElBQUksS0FBSyxPQUFPO0VBQzlCLElBQUksVUFBVTtHQUNWLFFBQVE7R0FDUixZQUFZLFVBQVU7R0FDdEIsZUFBZSxHQUFHLEdBQUcsY0FBYyxHQUFHO0dBQ3RDLGNBQWM7R0FDZCxlQUFlO0VBQ25CLEdBQUcsS0FBSztFQUNSLElBQUksS0FBSyxhQUFhLElBQUksTUFBTSxJQUFJLENBQUM7Q0FDekM7Q0FDQSxRQUFRLG1CQUFtQjtDQUMzQixTQUFTLGdCQUFnQixLQUFLLEtBQUs7RUFDL0IsSUFBSTtFQUNKLE1BQU0sRUFBRSxLQUFLLFNBQVMsUUFBUSxjQUFjLE9BQU8sT0FBTztFQUMxRCxrQkFBa0IsSUFBSSxHQUFHO0VBRXpCLE1BQU0sY0FBYyxXQUFXLEtBQUssU0FEbkIsQ0FBQyxTQUFTLElBQUksVUFBVSxJQUFJLFFBQVEsS0FBSyxHQUFHLE1BQU0sUUFBUSxjQUFjLEVBQUUsSUFBSSxJQUFJLFFBQzlDO0VBQ3JELE1BQU0sUUFBUSxJQUFJLElBQUksT0FBTztFQUM3QixJQUFJLFdBQVcsT0FBTyxlQUFlO0VBQ3JDLElBQUksSUFBSSxLQUFLLElBQUksV0FBVyxRQUFRLE9BQU8sS0FBSyxJQUFJLEtBQUssS0FBSztFQUM5RCxTQUFTLGtCQUFrQjtHQUN2QixJQUFJLElBQUksV0FBVyxPQUFPO0lBQ3RCLFlBQVk7SUFDWixJQUFJLElBQUksV0FDSixXQUFXLEdBQUc7SUFDbEIsaUJBQWlCLElBQUksTUFBTSxDQUFDO0dBQ2hDLE9BQ0s7SUFDRCxNQUFNLFdBQVcsSUFBSSxRQUFRLGNBQWMsSUFBSSxhQUFhO0lBQzVELElBQUksSUFBSSxXQUNKLFdBQVcsR0FBRztJQUNsQixpQkFBaUIsUUFBUSxLQUFLLFFBQVEsQ0FBQztHQUMzQztFQUNKO0VBQ0EsU0FBUyxnQkFBZ0I7R0FDckIsTUFBTSxXQUFXLElBQUksSUFBSSxZQUFZLElBQUk7R0FDekMsSUFBSSxVQUFVLFlBQVksQ0FBQyxHQUFHLFVBQVUsRUFBQSxBQUFDLFFBQVUsSUFBSSxNQUFNLElBQUksT0FBTyxPQUFPLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsRUFBQSxBQUFDLEdBQUssRUFBRSxjQUFjLEdBQUcseUJBQXlCLElBQUksT0FBTyxVQUFVLENBQUMsR0FBRyxVQUFVLEVBQUEsQUFBQyxHQUFLLEVBQUUsUUFBUSxTQUFTLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQztHQUNsTyxPQUFPO0VBQ1g7RUFDQSxTQUFTLGVBQWU7R0FDcEIsTUFBTSxlQUFlLENBQUMsR0FBRyxVQUFVLEVBQUEsQUFBQyxHQUFLLFlBQVk7R0FDckQsSUFBSSxPQUFPLGNBQWMsSUFBSTtHQUM3QixZQUFZLFVBQVUsR0FBRztHQUN6QixPQUFPO0VBQ1g7RUFDQSxTQUFTLFlBQVksU0FBUyxJQUFJLFFBQVEsQ0FBQyxHQUFHLFVBQVUsRUFBQSxBQUFDLFdBQWEsVUFBVSxLQUFLO0dBQ2pGLE1BQU0sVUFBVSxHQUFHLEtBQUssY0FBYyxRQUFRLFFBQVEsT0FBTyxRQUFRLFFBQVE7R0FDN0UsTUFBTSxhQUFhLEVBQUcsYUFBYSxPQUFPLENBQUMsU0FBVSxJQUFJLFdBQVc7R0FDcEUsSUFBSSxPQUFPLE9BQU8sQ0FBQyxHQUFHLFVBQVUsRUFBQSxBQUFDLEdBQUssVUFBVSxHQUFHLE9BQU8saUJBQUEsQ0FBa0IsS0FBSyxhQUFhLFNBQVMsVUFBVSxLQUFLLElBQUksU0FBUztFQUN2STtFQUNBLFNBQVMsV0FBVyxRQUFRO0dBQ3hCLElBQUk7R0FDSixJQUFJLElBQUksR0FBRyxVQUFVLElBQUEsRUFBTSxLQUFLLElBQUksV0FBVyxRQUFRLE9BQU8sS0FBSyxJQUFJLEtBQUssS0FBSyxHQUFHLE1BQU07RUFDOUY7Q0FDSjtDQUNBLFFBQVEsa0JBQWtCO0NBQzFCLFNBQVMsV0FBVyxLQUFLO0VBQ3JCLE1BQU0sRUFBRSxLQUFLLE1BQU0sT0FBTztFQUMxQixJQUFJLEdBQUcsR0FBRyxrQkFBa0IsSUFBSSxPQUFPLE1BQU0sQ0FBQyxHQUFHLFVBQVUsRUFBQSxBQUFDLEdBQUssR0FBRyxXQUFXLEdBQUcsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO0NBQy9HO0NBQ0EsU0FBUyxRQUFRLEtBQUssTUFBTTtFQUN4QixNQUFNLEVBQUUsUUFBUTtFQUNoQixJQUFJLEdBQUcsQ0FBQyxHQUFHLFVBQVUsRUFBQSxBQUFDLGlCQUFtQixLQUFLLFVBQVU7R0FDcEQsSUFDSyxPQUFPLFFBQVEsUUFBUSxTQUFTLENBQUMsR0FBRyxVQUFVLEVBQUEsQUFBQyxHQUFLLFFBQVEsUUFBUSxRQUFRLGNBQWMsS0FBSyxLQUFLLFFBQVEsUUFBUSxRQUFRLFVBQVUsS0FBSyxFQUFFLENBQUMsQ0FDOUksT0FBTyxRQUFRLFFBQVEsUUFBUSxDQUFDLEdBQUcsVUFBVSxFQUFBLEFBQUMsR0FBSyxRQUFRLFFBQVEsUUFBUSxRQUFRO0dBQ3hGLENBQUMsR0FBRyxTQUFTLGFBQUEsQ0FBYyxHQUFHO0VBQ2xDLFNBQVMsSUFBSSxNQUFNLENBQUM7Q0FDeEI7Q0FDQSxTQUFTLGtCQUFrQixFQUFFLGFBQWEsS0FBSztFQUMzQyxJQUFJLElBQUksU0FBUyxDQUFDLFVBQVUsUUFDeEIsTUFBTSxJQUFJLE1BQU0sOEJBQThCO0NBQ3REO0NBQ0EsU0FBUyxXQUFXLEtBQUssU0FBUyxRQUFRO0VBQ3RDLElBQUksV0FBVyxRQUNYLE1BQU0sSUFBSSxNQUFNLFlBQVksUUFBUSxvQkFBb0I7RUFDNUQsT0FBTyxJQUFJLFdBQVcsV0FBVyxPQUFPLFVBQVUsYUFBYSxFQUFFLEtBQUssT0FBTyxJQUFJO0dBQUUsS0FBSztHQUFRLE9BQU8sR0FBRyxVQUFVLFVBQUEsQ0FBVyxNQUFNO0VBQUUsQ0FBQztDQUM1STtDQUNBLFNBQVMsZ0JBQWdCLFFBQVEsWUFBWSxpQkFBaUIsT0FBTztFQUVqRSxPQUFRLENBQUMsV0FBVyxVQUNoQixXQUFXLE1BQU0sT0FBTyxPQUFPLFVBQ3pCLE1BQU0sUUFBUSxNQUFNLElBQ3BCLE9BQU8sV0FDSCxVQUFVLE9BQU8sVUFBVSxZQUFZLENBQUMsTUFBTSxRQUFRLE1BQU0sSUFDNUQsT0FBTyxVQUFVLE1BQU8sa0JBQWtCLE9BQU8sVUFBVSxXQUFZO0NBQ3pGO0NBQ0EsUUFBUSxrQkFBa0I7Q0FDMUIsU0FBUyxxQkFBcUIsRUFBRSxRQUFRLE1BQU0sTUFBTSxpQkFBaUIsS0FBSyxTQUFTOztFQUUvRSxJQUFJLE1BQU0sUUFBUSxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksUUFBUSxTQUFTLE9BQU8sSUFBSSxJQUFJLFlBQVksU0FDOUUsTUFBTSxJQUFJLE1BQU0sMEJBQTBCO0VBRTlDLE1BQU0sT0FBTyxJQUFJO0VBQ2pCLElBQUksU0FBUyxRQUFRLFNBQVMsS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLE1BQU0sUUFBUSxDQUFDLE9BQU8sVUFBVSxlQUFlLEtBQUssUUFBUSxHQUFHLENBQUMsR0FDakgsTUFBTSxJQUFJLE1BQU0sMkNBQTJDLFFBQVEsSUFBSSxLQUFLLEtBQUssR0FBRyxHQUFHO0VBRTNGLElBQUksSUFBSSxnQkFFSjtPQUFJLENBRFUsSUFBSSxlQUFlLE9BQU8sUUFDbkMsR0FBTztJQUNSLE1BQU0sTUFBTSxZQUFZLFFBQVEsOEJBQThCLGNBQWMsT0FDeEUsS0FBSyxXQUFXLElBQUksZUFBZSxNQUFNO0lBQzdDLElBQUksS0FBSyxtQkFBbUIsT0FDeEIsS0FBSyxPQUFPLE1BQU0sR0FBRztTQUVyQixNQUFNLElBQUksTUFBTSxHQUFHO0dBQzNCOztDQUVSO0NBQ0EsUUFBUSx1QkFBdUIifQ==
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { __commonJSMin } from "../../../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { require_codegen } from "../codegen/index.js";
|
|
3
|
+
import { require_util } from "../util.js";
|
|
4
|
+
//#region ../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/subschema.js
|
|
5
|
+
var require_subschema = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0;
|
|
8
|
+
const codegen_1 = require_codegen();
|
|
9
|
+
const util_1 = require_util();
|
|
10
|
+
function getSubschema(it, { keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef }) {
|
|
11
|
+
if (keyword !== void 0 && schema !== void 0) throw new Error("both \"keyword\" and \"schema\" passed, only one allowed");
|
|
12
|
+
if (keyword !== void 0) {
|
|
13
|
+
const sch = it.schema[keyword];
|
|
14
|
+
return schemaProp === void 0 ? {
|
|
15
|
+
schema: sch,
|
|
16
|
+
schemaPath: (0, codegen_1._)`${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}`,
|
|
17
|
+
errSchemaPath: `${it.errSchemaPath}/${keyword}`
|
|
18
|
+
} : {
|
|
19
|
+
schema: sch[schemaProp],
|
|
20
|
+
schemaPath: (0, codegen_1._)`${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}${(0, codegen_1.getProperty)(schemaProp)}`,
|
|
21
|
+
errSchemaPath: `${it.errSchemaPath}/${keyword}/${(0, util_1.escapeFragment)(schemaProp)}`
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
if (schema !== void 0) {
|
|
25
|
+
if (schemaPath === void 0 || errSchemaPath === void 0 || topSchemaRef === void 0) throw new Error("\"schemaPath\", \"errSchemaPath\" and \"topSchemaRef\" are required with \"schema\"");
|
|
26
|
+
return {
|
|
27
|
+
schema,
|
|
28
|
+
schemaPath,
|
|
29
|
+
topSchemaRef,
|
|
30
|
+
errSchemaPath
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
throw new Error("either \"keyword\" or \"schema\" must be passed");
|
|
34
|
+
}
|
|
35
|
+
exports.getSubschema = getSubschema;
|
|
36
|
+
function extendSubschemaData(subschema, it, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }) {
|
|
37
|
+
if (data !== void 0 && dataProp !== void 0) throw new Error("both \"data\" and \"dataProp\" passed, only one allowed");
|
|
38
|
+
const { gen } = it;
|
|
39
|
+
if (dataProp !== void 0) {
|
|
40
|
+
const { errorPath, dataPathArr, opts } = it;
|
|
41
|
+
dataContextProps(gen.let("data", (0, codegen_1._)`${it.data}${(0, codegen_1.getProperty)(dataProp)}`, true));
|
|
42
|
+
subschema.errorPath = (0, codegen_1.str)`${errorPath}${(0, util_1.getErrorPath)(dataProp, dpType, opts.jsPropertySyntax)}`;
|
|
43
|
+
subschema.parentDataProperty = (0, codegen_1._)`${dataProp}`;
|
|
44
|
+
subschema.dataPathArr = [...dataPathArr, subschema.parentDataProperty];
|
|
45
|
+
}
|
|
46
|
+
if (data !== void 0) {
|
|
47
|
+
dataContextProps(data instanceof codegen_1.Name ? data : gen.let("data", data, true));
|
|
48
|
+
if (propertyName !== void 0) subschema.propertyName = propertyName;
|
|
49
|
+
}
|
|
50
|
+
if (dataTypes) subschema.dataTypes = dataTypes;
|
|
51
|
+
function dataContextProps(_nextData) {
|
|
52
|
+
subschema.data = _nextData;
|
|
53
|
+
subschema.dataLevel = it.dataLevel + 1;
|
|
54
|
+
subschema.dataTypes = [];
|
|
55
|
+
it.definedProperties = /* @__PURE__ */ new Set();
|
|
56
|
+
subschema.parentData = it.data;
|
|
57
|
+
subschema.dataNames = [...it.dataNames, _nextData];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.extendSubschemaData = extendSubschemaData;
|
|
61
|
+
function extendSubschemaMode(subschema, { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }) {
|
|
62
|
+
if (compositeRule !== void 0) subschema.compositeRule = compositeRule;
|
|
63
|
+
if (createErrors !== void 0) subschema.createErrors = createErrors;
|
|
64
|
+
if (allErrors !== void 0) subschema.allErrors = allErrors;
|
|
65
|
+
subschema.jtdDiscriminator = jtdDiscriminator;
|
|
66
|
+
subschema.jtdMetadata = jtdMetadata;
|
|
67
|
+
}
|
|
68
|
+
exports.extendSubschemaMode = extendSubschemaMode;
|
|
69
|
+
}));
|
|
70
|
+
//#endregion
|
|
71
|
+
export default require_subschema();
|
|
72
|
+
export { require_subschema };
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NoZW1hLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9hanZAOC4yMC4wL25vZGVfbW9kdWxlcy9hanYvZGlzdC9jb21waWxlL3ZhbGlkYXRlL3N1YnNjaGVtYS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZXh0ZW5kU3Vic2NoZW1hTW9kZSA9IGV4cG9ydHMuZXh0ZW5kU3Vic2NoZW1hRGF0YSA9IGV4cG9ydHMuZ2V0U3Vic2NoZW1hID0gdm9pZCAwO1xuY29uc3QgY29kZWdlbl8xID0gcmVxdWlyZShcIi4uL2NvZGVnZW5cIik7XG5jb25zdCB1dGlsXzEgPSByZXF1aXJlKFwiLi4vdXRpbFwiKTtcbmZ1bmN0aW9uIGdldFN1YnNjaGVtYShpdCwgeyBrZXl3b3JkLCBzY2hlbWFQcm9wLCBzY2hlbWEsIHNjaGVtYVBhdGgsIGVyclNjaGVtYVBhdGgsIHRvcFNjaGVtYVJlZiB9KSB7XG4gICAgaWYgKGtleXdvcmQgIT09IHVuZGVmaW5lZCAmJiBzY2hlbWEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JvdGggXCJrZXl3b3JkXCIgYW5kIFwic2NoZW1hXCIgcGFzc2VkLCBvbmx5IG9uZSBhbGxvd2VkJyk7XG4gICAgfVxuICAgIGlmIChrZXl3b3JkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3Qgc2NoID0gaXQuc2NoZW1hW2tleXdvcmRdO1xuICAgICAgICByZXR1cm4gc2NoZW1hUHJvcCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHNjaCxcbiAgICAgICAgICAgICAgICBzY2hlbWFQYXRoOiAoMCwgY29kZWdlbl8xLl8pIGAke2l0LnNjaGVtYVBhdGh9JHsoMCwgY29kZWdlbl8xLmdldFByb3BlcnR5KShrZXl3b3JkKX1gLFxuICAgICAgICAgICAgICAgIGVyclNjaGVtYVBhdGg6IGAke2l0LmVyclNjaGVtYVBhdGh9LyR7a2V5d29yZH1gLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgc2NoZW1hOiBzY2hbc2NoZW1hUHJvcF0sXG4gICAgICAgICAgICAgICAgc2NoZW1hUGF0aDogKDAsIGNvZGVnZW5fMS5fKSBgJHtpdC5zY2hlbWFQYXRofSR7KDAsIGNvZGVnZW5fMS5nZXRQcm9wZXJ0eSkoa2V5d29yZCl9JHsoMCwgY29kZWdlbl8xLmdldFByb3BlcnR5KShzY2hlbWFQcm9wKX1gLFxuICAgICAgICAgICAgICAgIGVyclNjaGVtYVBhdGg6IGAke2l0LmVyclNjaGVtYVBhdGh9LyR7a2V5d29yZH0vJHsoMCwgdXRpbF8xLmVzY2FwZUZyYWdtZW50KShzY2hlbWFQcm9wKX1gLFxuICAgICAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKHNjaGVtYSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChzY2hlbWFQYXRoID09PSB1bmRlZmluZWQgfHwgZXJyU2NoZW1hUGF0aCA9PT0gdW5kZWZpbmVkIHx8IHRvcFNjaGVtYVJlZiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1wic2NoZW1hUGF0aFwiLCBcImVyclNjaGVtYVBhdGhcIiBhbmQgXCJ0b3BTY2hlbWFSZWZcIiBhcmUgcmVxdWlyZWQgd2l0aCBcInNjaGVtYVwiJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNjaGVtYSxcbiAgICAgICAgICAgIHNjaGVtYVBhdGgsXG4gICAgICAgICAgICB0b3BTY2hlbWFSZWYsXG4gICAgICAgICAgICBlcnJTY2hlbWFQYXRoLFxuICAgICAgICB9O1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2VpdGhlciBcImtleXdvcmRcIiBvciBcInNjaGVtYVwiIG11c3QgYmUgcGFzc2VkJyk7XG59XG5leHBvcnRzLmdldFN1YnNjaGVtYSA9IGdldFN1YnNjaGVtYTtcbmZ1bmN0aW9uIGV4dGVuZFN1YnNjaGVtYURhdGEoc3Vic2NoZW1hLCBpdCwgeyBkYXRhUHJvcCwgZGF0YVByb3BUeXBlOiBkcFR5cGUsIGRhdGEsIGRhdGFUeXBlcywgcHJvcGVydHlOYW1lIH0pIHtcbiAgICBpZiAoZGF0YSAhPT0gdW5kZWZpbmVkICYmIGRhdGFQcm9wICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdib3RoIFwiZGF0YVwiIGFuZCBcImRhdGFQcm9wXCIgcGFzc2VkLCBvbmx5IG9uZSBhbGxvd2VkJyk7XG4gICAgfVxuICAgIGNvbnN0IHsgZ2VuIH0gPSBpdDtcbiAgICBpZiAoZGF0YVByb3AgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCB7IGVycm9yUGF0aCwgZGF0YVBhdGhBcnIsIG9wdHMgfSA9IGl0O1xuICAgICAgICBjb25zdCBuZXh0RGF0YSA9IGdlbi5sZXQoXCJkYXRhXCIsICgwLCBjb2RlZ2VuXzEuXykgYCR7aXQuZGF0YX0keygwLCBjb2RlZ2VuXzEuZ2V0UHJvcGVydHkpKGRhdGFQcm9wKX1gLCB0cnVlKTtcbiAgICAgICAgZGF0YUNvbnRleHRQcm9wcyhuZXh0RGF0YSk7XG4gICAgICAgIHN1YnNjaGVtYS5lcnJvclBhdGggPSAoMCwgY29kZWdlbl8xLnN0cikgYCR7ZXJyb3JQYXRofSR7KDAsIHV0aWxfMS5nZXRFcnJvclBhdGgpKGRhdGFQcm9wLCBkcFR5cGUsIG9wdHMuanNQcm9wZXJ0eVN5bnRheCl9YDtcbiAgICAgICAgc3Vic2NoZW1hLnBhcmVudERhdGFQcm9wZXJ0eSA9ICgwLCBjb2RlZ2VuXzEuXykgYCR7ZGF0YVByb3B9YDtcbiAgICAgICAgc3Vic2NoZW1hLmRhdGFQYXRoQXJyID0gWy4uLmRhdGFQYXRoQXJyLCBzdWJzY2hlbWEucGFyZW50RGF0YVByb3BlcnR5XTtcbiAgICB9XG4gICAgaWYgKGRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBuZXh0RGF0YSA9IGRhdGEgaW5zdGFuY2VvZiBjb2RlZ2VuXzEuTmFtZSA/IGRhdGEgOiBnZW4ubGV0KFwiZGF0YVwiLCBkYXRhLCB0cnVlKTsgLy8gcmVwbGFjZWFibGUgaWYgdXNlZCBvbmNlP1xuICAgICAgICBkYXRhQ29udGV4dFByb3BzKG5leHREYXRhKTtcbiAgICAgICAgaWYgKHByb3BlcnR5TmFtZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgc3Vic2NoZW1hLnByb3BlcnR5TmFtZSA9IHByb3BlcnR5TmFtZTtcbiAgICAgICAgLy8gVE9ETyBzb21ldGhpbmcgaXMgcG9zc2libHkgd3JvbmcgaGVyZSB3aXRoIG5vdCBjaGFuZ2luZyBwYXJlbnREYXRhUHJvcGVydHkgYW5kIG5vdCBhcHBlbmRpbmcgZGF0YVBhdGhBcnJcbiAgICB9XG4gICAgaWYgKGRhdGFUeXBlcylcbiAgICAgICAgc3Vic2NoZW1hLmRhdGFUeXBlcyA9IGRhdGFUeXBlcztcbiAgICBmdW5jdGlvbiBkYXRhQ29udGV4dFByb3BzKF9uZXh0RGF0YSkge1xuICAgICAgICBzdWJzY2hlbWEuZGF0YSA9IF9uZXh0RGF0YTtcbiAgICAgICAgc3Vic2NoZW1hLmRhdGFMZXZlbCA9IGl0LmRhdGFMZXZlbCArIDE7XG4gICAgICAgIHN1YnNjaGVtYS5kYXRhVHlwZXMgPSBbXTtcbiAgICAgICAgaXQuZGVmaW5lZFByb3BlcnRpZXMgPSBuZXcgU2V0KCk7XG4gICAgICAgIHN1YnNjaGVtYS5wYXJlbnREYXRhID0gaXQuZGF0YTtcbiAgICAgICAgc3Vic2NoZW1hLmRhdGFOYW1lcyA9IFsuLi5pdC5kYXRhTmFtZXMsIF9uZXh0RGF0YV07XG4gICAgfVxufVxuZXhwb3J0cy5leHRlbmRTdWJzY2hlbWFEYXRhID0gZXh0ZW5kU3Vic2NoZW1hRGF0YTtcbmZ1bmN0aW9uIGV4dGVuZFN1YnNjaGVtYU1vZGUoc3Vic2NoZW1hLCB7IGp0ZERpc2NyaW1pbmF0b3IsIGp0ZE1ldGFkYXRhLCBjb21wb3NpdGVSdWxlLCBjcmVhdGVFcnJvcnMsIGFsbEVycm9ycyB9KSB7XG4gICAgaWYgKGNvbXBvc2l0ZVJ1bGUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgc3Vic2NoZW1hLmNvbXBvc2l0ZVJ1bGUgPSBjb21wb3NpdGVSdWxlO1xuICAgIGlmIChjcmVhdGVFcnJvcnMgIT09IHVuZGVmaW5lZClcbiAgICAgICAgc3Vic2NoZW1hLmNyZWF0ZUVycm9ycyA9IGNyZWF0ZUVycm9ycztcbiAgICBpZiAoYWxsRXJyb3JzICE9PSB1bmRlZmluZWQpXG4gICAgICAgIHN1YnNjaGVtYS5hbGxFcnJvcnMgPSBhbGxFcnJvcnM7XG4gICAgc3Vic2NoZW1hLmp0ZERpc2NyaW1pbmF0b3IgPSBqdGREaXNjcmltaW5hdG9yOyAvLyBub3QgaW5oZXJpdGVkXG4gICAgc3Vic2NoZW1hLmp0ZE1ldGFkYXRhID0ganRkTWV0YWRhdGE7IC8vIG5vdCBpbmhlcml0ZWRcbn1cbmV4cG9ydHMuZXh0ZW5kU3Vic2NoZW1hTW9kZSA9IGV4dGVuZFN1YnNjaGVtYU1vZGU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdWJzY2hlbWEuanMubWFwIl0sInhfZ29vZ2xlX2lnbm9yZUxpc3QiOlswXSwibWFwcGluZ3MiOiI7Ozs7O0NBQ0EsT0FBTyxlQUFlLFNBQVMsY0FBYyxFQUFFLE9BQU8sS0FBSyxDQUFDO0NBQzVELFFBQVEsc0JBQXNCLFFBQVEsc0JBQXNCLFFBQVEsZUFBZSxLQUFLO0NBQ3hGLE1BQU0sWUFBQSxnQkFBQTtDQUNOLE1BQU0sU0FBQSxhQUFBO0NBQ04sU0FBUyxhQUFhLElBQUksRUFBRSxTQUFTLFlBQVksUUFBUSxZQUFZLGVBQWUsZ0JBQWdCO0VBQ2hHLElBQUksWUFBWSxVQUFhLFdBQVcsUUFDcEMsTUFBTSxJQUFJLE1BQU0sMERBQXNEO0VBRTFFLElBQUksWUFBWSxRQUFXO0dBQ3ZCLE1BQU0sTUFBTSxHQUFHLE9BQU87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
|