@lbaz/tetr 0.0.64 → 1.0.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.
- package/dist/cjs/_virtual/_commonjs-dynamic-modules.cjs +2 -0
- package/dist/cjs/_virtual/_commonjs-dynamic-modules.cjs.map +1 -0
- package/dist/cjs/_virtual/_commonjsHelpers.cjs +2 -0
- package/dist/cjs/_virtual/_commonjsHelpers.cjs.map +1 -0
- package/dist/cjs/_virtual/array-set.cjs +2 -0
- package/dist/cjs/_virtual/array-set.cjs.map +1 -0
- package/dist/cjs/_virtual/ast.cjs +2 -0
- package/dist/cjs/_virtual/ast.cjs.map +1 -0
- package/dist/cjs/_virtual/base.cjs +2 -0
- package/dist/cjs/_virtual/base.cjs.map +1 -0
- package/dist/cjs/_virtual/base2.cjs +2 -0
- package/dist/cjs/_virtual/base2.cjs.map +1 -0
- package/dist/cjs/_virtual/base64-vlq.cjs +2 -0
- package/dist/cjs/_virtual/base64-vlq.cjs.map +1 -0
- package/dist/cjs/_virtual/base64.cjs +2 -0
- package/dist/cjs/_virtual/base64.cjs.map +1 -0
- package/dist/cjs/_virtual/binary-search.cjs +2 -0
- package/dist/cjs/_virtual/binary-search.cjs.map +1 -0
- package/dist/cjs/_virtual/block-helper-missing.cjs +2 -0
- package/dist/cjs/_virtual/block-helper-missing.cjs.map +1 -0
- package/dist/cjs/_virtual/code-gen.cjs +2 -0
- package/dist/cjs/_virtual/code-gen.cjs.map +1 -0
- package/dist/cjs/_virtual/compiler.cjs +2 -0
- package/dist/cjs/_virtual/compiler.cjs.map +1 -0
- package/dist/cjs/_virtual/create-new-lookup-object.cjs +2 -0
- package/dist/cjs/_virtual/create-new-lookup-object.cjs.map +1 -0
- package/dist/cjs/_virtual/decorators.cjs +2 -0
- package/dist/cjs/_virtual/decorators.cjs.map +1 -0
- package/dist/cjs/_virtual/each.cjs +2 -0
- package/dist/cjs/_virtual/each.cjs.map +1 -0
- package/dist/cjs/_virtual/exception.cjs +2 -0
- package/dist/cjs/_virtual/exception.cjs.map +1 -0
- package/dist/cjs/_virtual/handlebars.cjs +2 -0
- package/dist/cjs/_virtual/handlebars.cjs.map +1 -0
- package/dist/cjs/_virtual/handlebars.runtime.cjs +2 -0
- package/dist/cjs/_virtual/handlebars.runtime.cjs.map +1 -0
- package/dist/cjs/_virtual/helper-missing.cjs +2 -0
- package/dist/cjs/_virtual/helper-missing.cjs.map +1 -0
- package/dist/cjs/_virtual/helpers.cjs +2 -0
- package/dist/cjs/_virtual/helpers.cjs.map +1 -0
- package/dist/cjs/_virtual/helpers2.cjs +2 -0
- package/dist/cjs/_virtual/helpers2.cjs.map +1 -0
- package/dist/cjs/_virtual/if.cjs +2 -0
- package/dist/cjs/_virtual/if.cjs.map +1 -0
- package/dist/cjs/_virtual/index.cjs +2 -0
- package/dist/cjs/_virtual/inline.cjs +2 -0
- package/dist/cjs/_virtual/inline.cjs.map +1 -0
- package/dist/cjs/_virtual/javascript-compiler.cjs +2 -0
- package/dist/cjs/_virtual/javascript-compiler.cjs.map +1 -0
- package/dist/cjs/_virtual/log.cjs +2 -0
- package/dist/cjs/_virtual/log.cjs.map +1 -0
- package/dist/cjs/_virtual/logger.cjs +2 -0
- package/dist/cjs/_virtual/logger.cjs.map +1 -0
- package/dist/cjs/_virtual/lookup.cjs +2 -0
- package/dist/cjs/_virtual/lookup.cjs.map +1 -0
- package/dist/cjs/_virtual/mapping-list.cjs +2 -0
- package/dist/cjs/_virtual/mapping-list.cjs.map +1 -0
- package/dist/cjs/_virtual/no-conflict.cjs +2 -0
- package/dist/cjs/_virtual/no-conflict.cjs.map +1 -0
- package/dist/cjs/_virtual/parser.cjs +2 -0
- package/dist/cjs/_virtual/parser.cjs.map +1 -0
- package/dist/cjs/_virtual/printer.cjs +2 -0
- package/dist/cjs/_virtual/printer.cjs.map +1 -0
- package/dist/cjs/_virtual/proto-access.cjs +2 -0
- package/dist/cjs/_virtual/proto-access.cjs.map +1 -0
- package/dist/cjs/_virtual/quick-sort.cjs +2 -0
- package/dist/cjs/_virtual/quick-sort.cjs.map +1 -0
- package/dist/cjs/_virtual/runtime.cjs +2 -0
- package/dist/cjs/_virtual/runtime.cjs.map +1 -0
- package/dist/cjs/_virtual/safe-string.cjs +2 -0
- package/dist/cjs/_virtual/safe-string.cjs.map +1 -0
- package/dist/cjs/_virtual/source-map-consumer.cjs +2 -0
- package/dist/cjs/_virtual/source-map-consumer.cjs.map +1 -0
- package/dist/cjs/_virtual/source-map-generator.cjs +2 -0
- package/dist/cjs/_virtual/source-map-generator.cjs.map +1 -0
- package/dist/cjs/_virtual/source-map.cjs +2 -0
- package/dist/cjs/_virtual/source-map.cjs.map +1 -0
- package/dist/cjs/_virtual/source-node.cjs +2 -0
- package/dist/cjs/_virtual/source-node.cjs.map +1 -0
- package/dist/cjs/_virtual/util.cjs +2 -0
- package/dist/cjs/_virtual/util.cjs.map +1 -0
- package/dist/cjs/_virtual/utils.cjs +2 -0
- package/dist/cjs/_virtual/utils.cjs.map +1 -0
- package/dist/cjs/_virtual/visitor.cjs +2 -0
- package/dist/cjs/_virtual/visitor.cjs.map +1 -0
- package/dist/cjs/_virtual/whitespace-control.cjs +2 -0
- package/dist/cjs/_virtual/whitespace-control.cjs.map +1 -0
- package/dist/cjs/_virtual/with.cjs +2 -0
- package/dist/cjs/_virtual/with.cjs.map +1 -0
- package/dist/cjs/_virtual/wrapHelper.cjs +2 -0
- package/dist/cjs/_virtual/wrapHelper.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/base.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/base.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/ast.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/ast.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/base.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/base.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/helpers.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/helpers.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/printer.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/printer.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/decorators/inline.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/decorators/inline.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/decorators.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/decorators.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/exception.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/exception.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers/each.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers/each.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers/if.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers/if.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers/log.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers/log.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers/with.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers/with.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/helpers.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/internal/create-new-lookup-object.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/internal/create-new-lookup-object.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/logger.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/logger.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/no-conflict.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/no-conflict.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/runtime.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/runtime.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/safe-string.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/safe-string.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/utils.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars/utils.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars.runtime.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/dist/cjs/handlebars.runtime.cjs.map +1 -0
- package/dist/cjs/node_modules/handlebars/lib/index.cjs +2 -0
- package/dist/cjs/node_modules/handlebars/lib/index.cjs.map +1 -0
- package/dist/cjs/node_modules/source-map/lib/array-set.cjs +2 -0
- package/dist/cjs/node_modules/source-map/lib/array-set.cjs.map +1 -0
- package/dist/cjs/node_modules/source-map/lib/base64-vlq.cjs +2 -0
- package/dist/cjs/node_modules/source-map/lib/base64-vlq.cjs.map +1 -0
- package/dist/cjs/node_modules/source-map/lib/base64.cjs +2 -0
- package/dist/cjs/node_modules/source-map/lib/base64.cjs.map +1 -0
- package/dist/cjs/node_modules/source-map/lib/binary-search.cjs +2 -0
- package/dist/cjs/node_modules/source-map/lib/binary-search.cjs.map +1 -0
- package/dist/cjs/node_modules/source-map/lib/mapping-list.cjs +2 -0
- package/dist/cjs/node_modules/source-map/lib/mapping-list.cjs.map +1 -0
- package/dist/cjs/node_modules/source-map/lib/quick-sort.cjs +2 -0
- package/dist/cjs/node_modules/source-map/lib/quick-sort.cjs.map +1 -0
- package/dist/cjs/node_modules/source-map/lib/source-map-consumer.cjs +2 -0
- package/dist/cjs/node_modules/source-map/lib/source-map-consumer.cjs.map +1 -0
- package/dist/cjs/node_modules/source-map/lib/source-map-generator.cjs +2 -0
- package/dist/cjs/node_modules/source-map/lib/source-map-generator.cjs.map +1 -0
- package/dist/cjs/node_modules/source-map/lib/source-node.cjs +2 -0
- package/dist/cjs/node_modules/source-map/lib/source-node.cjs.map +1 -0
- package/dist/cjs/node_modules/source-map/lib/util.cjs +2 -0
- package/dist/cjs/node_modules/source-map/lib/util.cjs.map +1 -0
- package/dist/cjs/node_modules/source-map/source-map.cjs +2 -0
- package/dist/cjs/node_modules/source-map/source-map.cjs.map +1 -0
- package/dist/cjs/src/cdk/assets/abstract-assets-aliases-interpreter.cjs.map +1 -0
- package/dist/cjs/src/cdk/assets/assets-aliases-adapter.cjs.map +1 -0
- package/dist/cjs/src/cdk/helpers/camel-to-kebab.cjs +2 -0
- package/dist/cjs/src/cdk/helpers/camel-to-kebab.cjs.map +1 -0
- package/dist/cjs/src/cdk/transpiler/IDProcessor.cjs.map +1 -0
- package/dist/cjs/src/cdk/transpiler/block-data-processor.cjs +2 -0
- package/dist/cjs/src/cdk/transpiler/block-data-processor.cjs.map +1 -0
- package/dist/cjs/src/cdk/transpiler/chunks-processor.cjs +2 -0
- package/dist/cjs/src/cdk/transpiler/chunks-processor.cjs.map +1 -0
- package/dist/cjs/src/cdk/transpiler/common-editable-style-processor.cjs.map +1 -0
- package/dist/cjs/src/cdk/transpiler/expression-processor.cjs.map +1 -0
- package/dist/cjs/src/cdk/transpiler/extractors/common-wrap-styles-extractor.cjs.map +1 -0
- package/dist/cjs/src/cdk/transpiler/extractors/patch/patch-block-data-strategy.provider.cjs.map +1 -0
- package/dist/cjs/src/cdk/transpiler/extractors/patch/patch-dict-block-data.cjs.map +1 -0
- package/dist/cjs/src/cdk/transpiler/extractors/patch/patch-list-block-data.cjs.map +1 -0
- package/dist/cjs/src/cdk/transpiler/handlebars-processor.cjs +2 -0
- package/dist/cjs/src/cdk/transpiler/handlebars-processor.cjs.map +1 -0
- package/dist/cjs/src/cdk/transpiler/template-replacer.cjs.map +1 -0
- package/dist/cjs/src/constants/assets.cjs.map +1 -0
- package/dist/cjs/src/constants/definitions-type.cjs.map +1 -0
- package/dist/cjs/src/constants/fonts.cjs.map +1 -0
- package/dist/cjs/src/constants/styles.cjs.map +1 -0
- package/dist/cjs/src/constants/themes.cjs.map +1 -0
- package/dist/cjs/src/core/builders/assets-builder.cjs +2 -0
- package/dist/cjs/src/core/builders/assets-builder.cjs.map +1 -0
- package/dist/cjs/src/core/builders/google-fonts-builder.cjs.map +1 -0
- package/dist/cjs/src/core/builders/init-fonts.builder.cjs.map +1 -0
- package/dist/cjs/src/core/builders/init-page-head.builder.cjs.map +1 -0
- package/dist/cjs/src/core/builders/init-page.builder.cjs.map +1 -0
- package/dist/cjs/src/core/builders/init-project.builder.cjs.map +1 -0
- package/dist/cjs/src/core/builders/theme.builder.cjs.map +1 -0
- package/dist/cjs/src/core/factories/init-page.factory.cjs +2 -0
- package/dist/cjs/src/core/factories/init-page.factory.cjs.map +1 -0
- package/dist/cjs/src/core/object-seeder.cjs.map +1 -0
- package/dist/cjs/src/core/patchers/theme.patcher.cjs.map +1 -0
- package/dist/cjs/src/core/transpiler.cjs +2 -0
- package/dist/cjs/src/core/transpiler.cjs.map +1 -0
- package/dist/cjs/src/index.cjs +2 -0
- package/dist/cjs/src/index.cjs.map +1 -0
- package/dist/esm/_virtual/_commonjs-dynamic-modules.js +2 -0
- package/dist/esm/_virtual/_commonjs-dynamic-modules.js.map +1 -0
- package/dist/esm/_virtual/_commonjsHelpers.js +2 -0
- package/dist/esm/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/esm/_virtual/array-set.js +2 -0
- package/dist/esm/_virtual/array-set.js.map +1 -0
- package/dist/esm/_virtual/ast.js +2 -0
- package/dist/esm/_virtual/ast.js.map +1 -0
- package/dist/esm/_virtual/base.js +2 -0
- package/dist/esm/_virtual/base.js.map +1 -0
- package/dist/esm/_virtual/base2.js +2 -0
- package/dist/esm/_virtual/base2.js.map +1 -0
- package/dist/esm/_virtual/base64-vlq.js +2 -0
- package/dist/esm/_virtual/base64-vlq.js.map +1 -0
- package/dist/esm/_virtual/base64.js +2 -0
- package/dist/esm/_virtual/base64.js.map +1 -0
- package/dist/esm/_virtual/binary-search.js +2 -0
- package/dist/esm/_virtual/binary-search.js.map +1 -0
- package/dist/esm/_virtual/block-helper-missing.js +2 -0
- package/dist/esm/_virtual/block-helper-missing.js.map +1 -0
- package/dist/esm/_virtual/code-gen.js +2 -0
- package/dist/esm/_virtual/code-gen.js.map +1 -0
- package/dist/esm/_virtual/compiler.js +2 -0
- package/dist/esm/_virtual/compiler.js.map +1 -0
- package/dist/esm/_virtual/create-new-lookup-object.js +2 -0
- package/dist/esm/_virtual/create-new-lookup-object.js.map +1 -0
- package/dist/esm/_virtual/decorators.js +2 -0
- package/dist/esm/_virtual/decorators.js.map +1 -0
- package/dist/esm/_virtual/each.js +2 -0
- package/dist/esm/_virtual/each.js.map +1 -0
- package/dist/esm/_virtual/exception.js +2 -0
- package/dist/esm/_virtual/exception.js.map +1 -0
- package/dist/esm/_virtual/handlebars.js +2 -0
- package/dist/esm/_virtual/handlebars.js.map +1 -0
- package/dist/esm/_virtual/handlebars.runtime.js +2 -0
- package/dist/esm/_virtual/handlebars.runtime.js.map +1 -0
- package/dist/esm/_virtual/helper-missing.js +2 -0
- package/dist/esm/_virtual/helper-missing.js.map +1 -0
- package/dist/esm/_virtual/helpers.js +2 -0
- package/dist/esm/_virtual/helpers.js.map +1 -0
- package/dist/esm/_virtual/helpers2.js +2 -0
- package/dist/esm/_virtual/helpers2.js.map +1 -0
- package/dist/esm/_virtual/if.js +2 -0
- package/dist/esm/_virtual/if.js.map +1 -0
- package/dist/esm/_virtual/index.js +2 -0
- package/dist/esm/_virtual/inline.js +2 -0
- package/dist/esm/_virtual/inline.js.map +1 -0
- package/dist/esm/_virtual/javascript-compiler.js +2 -0
- package/dist/esm/_virtual/javascript-compiler.js.map +1 -0
- package/dist/esm/_virtual/log.js +2 -0
- package/dist/esm/_virtual/log.js.map +1 -0
- package/dist/esm/_virtual/logger.js +2 -0
- package/dist/esm/_virtual/logger.js.map +1 -0
- package/dist/esm/_virtual/lookup.js +2 -0
- package/dist/esm/_virtual/lookup.js.map +1 -0
- package/dist/esm/_virtual/mapping-list.js +2 -0
- package/dist/esm/_virtual/mapping-list.js.map +1 -0
- package/dist/esm/_virtual/no-conflict.js +2 -0
- package/dist/esm/_virtual/no-conflict.js.map +1 -0
- package/dist/esm/_virtual/parser.js +2 -0
- package/dist/esm/_virtual/parser.js.map +1 -0
- package/dist/esm/_virtual/printer.js +2 -0
- package/dist/esm/_virtual/printer.js.map +1 -0
- package/dist/esm/_virtual/proto-access.js +2 -0
- package/dist/esm/_virtual/proto-access.js.map +1 -0
- package/dist/esm/_virtual/quick-sort.js +2 -0
- package/dist/esm/_virtual/quick-sort.js.map +1 -0
- package/dist/esm/_virtual/runtime.js +2 -0
- package/dist/esm/_virtual/runtime.js.map +1 -0
- package/dist/esm/_virtual/safe-string.js +2 -0
- package/dist/esm/_virtual/safe-string.js.map +1 -0
- package/dist/esm/_virtual/source-map-consumer.js +2 -0
- package/dist/esm/_virtual/source-map-consumer.js.map +1 -0
- package/dist/esm/_virtual/source-map-generator.js +2 -0
- package/dist/esm/_virtual/source-map-generator.js.map +1 -0
- package/dist/esm/_virtual/source-map.js +2 -0
- package/dist/esm/_virtual/source-map.js.map +1 -0
- package/dist/esm/_virtual/source-node.js +2 -0
- package/dist/esm/_virtual/source-node.js.map +1 -0
- package/dist/esm/_virtual/util.js +2 -0
- package/dist/esm/_virtual/util.js.map +1 -0
- package/dist/esm/_virtual/utils.js +2 -0
- package/dist/esm/_virtual/utils.js.map +1 -0
- package/dist/esm/_virtual/visitor.js +2 -0
- package/dist/esm/_virtual/visitor.js.map +1 -0
- package/dist/esm/_virtual/whitespace-control.js +2 -0
- package/dist/esm/_virtual/whitespace-control.js.map +1 -0
- package/dist/esm/_virtual/with.js +2 -0
- package/dist/esm/_virtual/with.js.map +1 -0
- package/dist/esm/_virtual/wrapHelper.js +2 -0
- package/dist/esm/_virtual/wrapHelper.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/base.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/base.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/ast.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/ast.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/helpers.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/helpers.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/printer.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/printer.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/decorators/inline.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/decorators/inline.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/decorators.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/decorators.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/exception.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/exception.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers/if.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers/if.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers/log.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers/log.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers/with.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers/with.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/helpers.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/internal/create-new-lookup-object.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/internal/create-new-lookup-object.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/logger.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/logger.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/no-conflict.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/no-conflict.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/runtime.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/runtime.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/safe-string.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/safe-string.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/utils.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars/utils.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars.js.map +1 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars.runtime.js +2 -0
- package/dist/esm/node_modules/handlebars/dist/cjs/handlebars.runtime.js.map +1 -0
- package/dist/esm/node_modules/handlebars/lib/index.js +2 -0
- package/dist/esm/node_modules/handlebars/lib/index.js.map +1 -0
- package/dist/esm/node_modules/source-map/lib/array-set.js +2 -0
- package/dist/esm/node_modules/source-map/lib/array-set.js.map +1 -0
- package/dist/esm/node_modules/source-map/lib/base64-vlq.js +2 -0
- package/dist/esm/node_modules/source-map/lib/base64-vlq.js.map +1 -0
- package/dist/esm/node_modules/source-map/lib/base64.js +2 -0
- package/dist/esm/node_modules/source-map/lib/base64.js.map +1 -0
- package/dist/esm/node_modules/source-map/lib/binary-search.js +2 -0
- package/dist/esm/node_modules/source-map/lib/binary-search.js.map +1 -0
- package/dist/esm/node_modules/source-map/lib/mapping-list.js +2 -0
- package/dist/esm/node_modules/source-map/lib/mapping-list.js.map +1 -0
- package/dist/esm/node_modules/source-map/lib/quick-sort.js +2 -0
- package/dist/esm/node_modules/source-map/lib/quick-sort.js.map +1 -0
- package/dist/esm/node_modules/source-map/lib/source-map-consumer.js +2 -0
- package/dist/esm/node_modules/source-map/lib/source-map-consumer.js.map +1 -0
- package/dist/esm/node_modules/source-map/lib/source-map-generator.js +2 -0
- package/dist/esm/node_modules/source-map/lib/source-map-generator.js.map +1 -0
- package/dist/esm/node_modules/source-map/lib/source-node.js +2 -0
- package/dist/esm/node_modules/source-map/lib/source-node.js.map +1 -0
- package/dist/esm/node_modules/source-map/lib/util.js +2 -0
- package/dist/esm/node_modules/source-map/lib/util.js.map +1 -0
- package/dist/esm/node_modules/source-map/source-map.js +2 -0
- package/dist/esm/node_modules/source-map/source-map.js.map +1 -0
- package/dist/esm/src/cdk/assets/abstract-assets-aliases-interpreter.js.map +1 -0
- package/dist/esm/src/cdk/assets/assets-aliases-adapter.js.map +1 -0
- package/dist/esm/src/cdk/helpers/camel-to-kebab.js +2 -0
- package/dist/esm/src/cdk/helpers/camel-to-kebab.js.map +1 -0
- package/dist/esm/src/cdk/transpiler/IDProcessor.js.map +1 -0
- package/dist/esm/src/cdk/transpiler/block-data-processor.js +2 -0
- package/dist/esm/src/cdk/transpiler/block-data-processor.js.map +1 -0
- package/dist/esm/src/cdk/transpiler/chunks-processor.js +2 -0
- package/dist/esm/src/cdk/transpiler/chunks-processor.js.map +1 -0
- package/dist/esm/src/cdk/transpiler/common-editable-style-processor.js.map +1 -0
- package/dist/esm/src/cdk/transpiler/expression-processor.js.map +1 -0
- package/dist/esm/src/cdk/transpiler/extractors/common-wrap-styles-extractor.js.map +1 -0
- package/dist/esm/src/cdk/transpiler/extractors/patch/patch-block-data-strategy.provider.js.map +1 -0
- package/dist/esm/src/cdk/transpiler/extractors/patch/patch-dict-block-data.js.map +1 -0
- package/dist/esm/src/cdk/transpiler/extractors/patch/patch-list-block-data.js.map +1 -0
- package/dist/esm/src/cdk/transpiler/handlebars-processor.js +2 -0
- package/dist/esm/src/cdk/transpiler/handlebars-processor.js.map +1 -0
- package/dist/esm/src/cdk/transpiler/template-replacer.js.map +1 -0
- package/dist/esm/src/constants/assets.js.map +1 -0
- package/dist/esm/src/constants/definitions-type.js.map +1 -0
- package/dist/esm/src/constants/fonts.js.map +1 -0
- package/dist/esm/src/constants/styles.js.map +1 -0
- package/dist/esm/src/constants/themes.js.map +1 -0
- package/dist/esm/src/core/builders/assets-builder.js +2 -0
- package/dist/esm/src/core/builders/assets-builder.js.map +1 -0
- package/dist/esm/src/core/builders/google-fonts-builder.js.map +1 -0
- package/dist/esm/src/core/builders/init-fonts.builder.js.map +1 -0
- package/dist/esm/src/core/builders/init-page-head.builder.js.map +1 -0
- package/dist/esm/src/core/builders/init-page.builder.js.map +1 -0
- package/dist/esm/src/core/builders/init-project.builder.js.map +1 -0
- package/dist/esm/src/core/builders/theme.builder.js.map +1 -0
- package/dist/esm/src/core/factories/init-page.factory.js +2 -0
- package/dist/esm/src/core/factories/init-page.factory.js.map +1 -0
- package/dist/esm/src/core/object-seeder.js.map +1 -0
- package/dist/esm/src/core/patchers/theme.patcher.js.map +1 -0
- package/dist/esm/src/core/transpiler.js +2 -0
- package/dist/esm/src/core/transpiler.js.map +1 -0
- package/dist/esm/{index.js → src/index.js} +1 -1
- package/dist/esm/src/index.js.map +1 -0
- package/dist/types/cdk/helpers/camel-to-kebab.d.ts +1 -0
- package/dist/types/cdk/helpers/index.d.ts +1 -0
- package/dist/types/cdk/index.d.ts +1 -0
- package/dist/types/cdk/transpiler/block-data-processor.d.ts +2 -1
- package/dist/types/cdk/transpiler/chunks-processor.d.ts +1 -9
- package/dist/types/cdk/transpiler/handlebars-processor.d.ts +11 -0
- package/dist/types/cdk/transpiler/index.d.ts +1 -0
- package/dist/types/types/block.d.ts +3 -3
- package/dist/types/types/chunk.d.ts +0 -2
- package/dist/types/types/page.d.ts +2 -2
- package/package.json +4 -1
- package/dist/cjs/cdk/assets/abstract-assets-aliases-interpreter.cjs.map +0 -1
- package/dist/cjs/cdk/assets/assets-aliases-adapter.cjs.map +0 -1
- package/dist/cjs/cdk/transpiler/IDProcessor.cjs.map +0 -1
- package/dist/cjs/cdk/transpiler/block-data-processor.cjs +0 -2
- package/dist/cjs/cdk/transpiler/block-data-processor.cjs.map +0 -1
- package/dist/cjs/cdk/transpiler/chunks-processor.cjs +0 -2
- package/dist/cjs/cdk/transpiler/chunks-processor.cjs.map +0 -1
- package/dist/cjs/cdk/transpiler/common-editable-style-processor.cjs.map +0 -1
- package/dist/cjs/cdk/transpiler/expression-processor.cjs.map +0 -1
- package/dist/cjs/cdk/transpiler/extractors/common-wrap-styles-extractor.cjs.map +0 -1
- package/dist/cjs/cdk/transpiler/extractors/patch/patch-block-data-strategy.provider.cjs.map +0 -1
- package/dist/cjs/cdk/transpiler/extractors/patch/patch-dict-block-data.cjs.map +0 -1
- package/dist/cjs/cdk/transpiler/extractors/patch/patch-list-block-data.cjs.map +0 -1
- package/dist/cjs/cdk/transpiler/template-replacer.cjs.map +0 -1
- package/dist/cjs/constants/assets.cjs.map +0 -1
- package/dist/cjs/constants/definitions-type.cjs.map +0 -1
- package/dist/cjs/constants/fonts.cjs.map +0 -1
- package/dist/cjs/constants/styles.cjs.map +0 -1
- package/dist/cjs/constants/themes.cjs.map +0 -1
- package/dist/cjs/core/builders/assets-builder.cjs +0 -2
- package/dist/cjs/core/builders/assets-builder.cjs.map +0 -1
- package/dist/cjs/core/builders/google-fonts-builder.cjs.map +0 -1
- package/dist/cjs/core/builders/init-fonts.builder.cjs.map +0 -1
- package/dist/cjs/core/builders/init-page-head.builder.cjs.map +0 -1
- package/dist/cjs/core/builders/init-page.builder.cjs.map +0 -1
- package/dist/cjs/core/builders/init-project.builder.cjs.map +0 -1
- package/dist/cjs/core/builders/theme.builder.cjs.map +0 -1
- package/dist/cjs/core/factories/init-page.factory.cjs +0 -2
- package/dist/cjs/core/factories/init-page.factory.cjs.map +0 -1
- package/dist/cjs/core/object-seeder.cjs.map +0 -1
- package/dist/cjs/core/patchers/theme.patcher.cjs.map +0 -1
- package/dist/cjs/core/transpiler.cjs +0 -2
- package/dist/cjs/core/transpiler.cjs.map +0 -1
- package/dist/cjs/index.cjs +0 -2
- package/dist/esm/cdk/assets/abstract-assets-aliases-interpreter.js.map +0 -1
- package/dist/esm/cdk/assets/assets-aliases-adapter.js.map +0 -1
- package/dist/esm/cdk/transpiler/IDProcessor.js.map +0 -1
- package/dist/esm/cdk/transpiler/block-data-processor.js +0 -2
- package/dist/esm/cdk/transpiler/block-data-processor.js.map +0 -1
- package/dist/esm/cdk/transpiler/chunks-processor.js +0 -2
- package/dist/esm/cdk/transpiler/chunks-processor.js.map +0 -1
- package/dist/esm/cdk/transpiler/common-editable-style-processor.js.map +0 -1
- package/dist/esm/cdk/transpiler/expression-processor.js.map +0 -1
- package/dist/esm/cdk/transpiler/extractors/common-wrap-styles-extractor.js.map +0 -1
- package/dist/esm/cdk/transpiler/extractors/patch/patch-block-data-strategy.provider.js.map +0 -1
- package/dist/esm/cdk/transpiler/extractors/patch/patch-dict-block-data.js.map +0 -1
- package/dist/esm/cdk/transpiler/extractors/patch/patch-list-block-data.js.map +0 -1
- package/dist/esm/cdk/transpiler/template-replacer.js.map +0 -1
- package/dist/esm/constants/assets.js.map +0 -1
- package/dist/esm/constants/definitions-type.js.map +0 -1
- package/dist/esm/constants/fonts.js.map +0 -1
- package/dist/esm/constants/styles.js.map +0 -1
- package/dist/esm/constants/themes.js.map +0 -1
- package/dist/esm/core/builders/assets-builder.js +0 -2
- package/dist/esm/core/builders/assets-builder.js.map +0 -1
- package/dist/esm/core/builders/google-fonts-builder.js.map +0 -1
- package/dist/esm/core/builders/init-fonts.builder.js.map +0 -1
- package/dist/esm/core/builders/init-page-head.builder.js.map +0 -1
- package/dist/esm/core/builders/init-page.builder.js.map +0 -1
- package/dist/esm/core/builders/init-project.builder.js.map +0 -1
- package/dist/esm/core/builders/theme.builder.js.map +0 -1
- package/dist/esm/core/factories/init-page.factory.js +0 -2
- package/dist/esm/core/factories/init-page.factory.js.map +0 -1
- package/dist/esm/core/object-seeder.js.map +0 -1
- package/dist/esm/core/patchers/theme.patcher.js.map +0 -1
- package/dist/esm/core/transpiler.js +0 -2
- package/dist/esm/core/transpiler.js.map +0 -1
- /package/dist/cjs/{index.cjs.map → _virtual/index.cjs.map} +0 -0
- /package/dist/cjs/{cdk → src/cdk}/assets/abstract-assets-aliases-interpreter.cjs +0 -0
- /package/dist/cjs/{cdk → src/cdk}/assets/assets-aliases-adapter.cjs +0 -0
- /package/dist/cjs/{cdk → src/cdk}/transpiler/IDProcessor.cjs +0 -0
- /package/dist/cjs/{cdk → src/cdk}/transpiler/common-editable-style-processor.cjs +0 -0
- /package/dist/cjs/{cdk → src/cdk}/transpiler/expression-processor.cjs +0 -0
- /package/dist/cjs/{cdk → src/cdk}/transpiler/extractors/common-wrap-styles-extractor.cjs +0 -0
- /package/dist/cjs/{cdk → src/cdk}/transpiler/extractors/patch/patch-block-data-strategy.provider.cjs +0 -0
- /package/dist/cjs/{cdk → src/cdk}/transpiler/extractors/patch/patch-dict-block-data.cjs +0 -0
- /package/dist/cjs/{cdk → src/cdk}/transpiler/extractors/patch/patch-list-block-data.cjs +0 -0
- /package/dist/cjs/{cdk → src/cdk}/transpiler/template-replacer.cjs +0 -0
- /package/dist/cjs/{constants → src/constants}/assets.cjs +0 -0
- /package/dist/cjs/{constants → src/constants}/definitions-type.cjs +0 -0
- /package/dist/cjs/{constants → src/constants}/fonts.cjs +0 -0
- /package/dist/cjs/{constants → src/constants}/styles.cjs +0 -0
- /package/dist/cjs/{constants → src/constants}/themes.cjs +0 -0
- /package/dist/cjs/{core → src/core}/builders/google-fonts-builder.cjs +0 -0
- /package/dist/cjs/{core → src/core}/builders/init-fonts.builder.cjs +0 -0
- /package/dist/cjs/{core → src/core}/builders/init-page-head.builder.cjs +0 -0
- /package/dist/cjs/{core → src/core}/builders/init-page.builder.cjs +0 -0
- /package/dist/cjs/{core → src/core}/builders/init-project.builder.cjs +0 -0
- /package/dist/cjs/{core → src/core}/builders/theme.builder.cjs +0 -0
- /package/dist/cjs/{core → src/core}/object-seeder.cjs +0 -0
- /package/dist/cjs/{core → src/core}/patchers/theme.patcher.cjs +0 -0
- /package/dist/esm/{index.js.map → _virtual/index.js.map} +0 -0
- /package/dist/esm/{cdk → src/cdk}/assets/abstract-assets-aliases-interpreter.js +0 -0
- /package/dist/esm/{cdk → src/cdk}/assets/assets-aliases-adapter.js +0 -0
- /package/dist/esm/{cdk → src/cdk}/transpiler/IDProcessor.js +0 -0
- /package/dist/esm/{cdk → src/cdk}/transpiler/common-editable-style-processor.js +0 -0
- /package/dist/esm/{cdk → src/cdk}/transpiler/expression-processor.js +0 -0
- /package/dist/esm/{cdk → src/cdk}/transpiler/extractors/common-wrap-styles-extractor.js +0 -0
- /package/dist/esm/{cdk → src/cdk}/transpiler/extractors/patch/patch-block-data-strategy.provider.js +0 -0
- /package/dist/esm/{cdk → src/cdk}/transpiler/extractors/patch/patch-dict-block-data.js +0 -0
- /package/dist/esm/{cdk → src/cdk}/transpiler/extractors/patch/patch-list-block-data.js +0 -0
- /package/dist/esm/{cdk → src/cdk}/transpiler/template-replacer.js +0 -0
- /package/dist/esm/{constants → src/constants}/assets.js +0 -0
- /package/dist/esm/{constants → src/constants}/definitions-type.js +0 -0
- /package/dist/esm/{constants → src/constants}/fonts.js +0 -0
- /package/dist/esm/{constants → src/constants}/styles.js +0 -0
- /package/dist/esm/{constants → src/constants}/themes.js +0 -0
- /package/dist/esm/{core → src/core}/builders/google-fonts-builder.js +0 -0
- /package/dist/esm/{core → src/core}/builders/init-fonts.builder.js +0 -0
- /package/dist/esm/{core → src/core}/builders/init-page-head.builder.js +0 -0
- /package/dist/esm/{core → src/core}/builders/init-page.builder.js +0 -0
- /package/dist/esm/{core → src/core}/builders/init-project.builder.js +0 -0
- /package/dist/esm/{core → src/core}/builders/theme.builder.js +0 -0
- /package/dist/esm/{core → src/core}/object-seeder.js +0 -0
- /package/dist/esm/{core → src/core}/patchers/theme.patcher.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiler.cjs","sources":["../../../../../../../../node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js"],"sourcesContent":["/* eslint-disable new-cap */\n\n'use strict';\n\nexports.__esModule = true;\nexports.Compiler = Compiler;\nexports.precompile = precompile;\nexports.compile = compile;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _utils = require('../utils');\n\nvar _ast = require('./ast');\n\nvar _ast2 = _interopRequireDefault(_ast);\n\nvar slice = [].slice;\n\nfunction Compiler() {}\n\n// the foundHelper register will disambiguate helper lookup from finding a\n// function in a context. This is necessary for mustache compatibility, which\n// requires that context functions in blocks are evaluated by blockHelperMissing,\n// and then proceed as if the resulting value was provided to blockHelperMissing.\n\nCompiler.prototype = {\n compiler: Compiler,\n\n equals: function equals(other) {\n var len = this.opcodes.length;\n if (other.opcodes.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var opcode = this.opcodes[i],\n otherOpcode = other.opcodes[i];\n if (opcode.opcode !== otherOpcode.opcode || !argEquals(opcode.args, otherOpcode.args)) {\n return false;\n }\n }\n\n // We know that length is the same between the two arrays because they are directly tied\n // to the opcode behavior above.\n len = this.children.length;\n for (var i = 0; i < len; i++) {\n if (!this.children[i].equals(other.children[i])) {\n return false;\n }\n }\n\n return true;\n },\n\n guid: 0,\n\n compile: function compile(program, options) {\n this.sourceNode = [];\n this.opcodes = [];\n this.children = [];\n this.options = options;\n this.stringParams = options.stringParams;\n this.trackIds = options.trackIds;\n\n options.blockParams = options.blockParams || [];\n\n options.knownHelpers = _utils.extend(Object.create(null), {\n helperMissing: true,\n blockHelperMissing: true,\n each: true,\n 'if': true,\n unless: true,\n 'with': true,\n log: true,\n lookup: true\n }, options.knownHelpers);\n\n return this.accept(program);\n },\n\n compileProgram: function compileProgram(program) {\n var childCompiler = new this.compiler(),\n // eslint-disable-line new-cap\n result = childCompiler.compile(program, this.options),\n guid = this.guid++;\n\n this.usePartial = this.usePartial || result.usePartial;\n\n this.children[guid] = result;\n this.useDepths = this.useDepths || result.useDepths;\n\n return guid;\n },\n\n accept: function accept(node) {\n /* istanbul ignore next: Sanity code */\n if (!this[node.type]) {\n throw new _exception2['default']('Unknown type: ' + node.type, node);\n }\n\n this.sourceNode.unshift(node);\n var ret = this[node.type](node);\n this.sourceNode.shift();\n return ret;\n },\n\n Program: function Program(program) {\n this.options.blockParams.unshift(program.blockParams);\n\n var body = program.body,\n bodyLength = body.length;\n for (var i = 0; i < bodyLength; i++) {\n this.accept(body[i]);\n }\n\n this.options.blockParams.shift();\n\n this.isSimple = bodyLength === 1;\n this.blockParams = program.blockParams ? program.blockParams.length : 0;\n\n return this;\n },\n\n BlockStatement: function BlockStatement(block) {\n transformLiteralToPath(block);\n\n var program = block.program,\n inverse = block.inverse;\n\n program = program && this.compileProgram(program);\n inverse = inverse && this.compileProgram(inverse);\n\n var type = this.classifySexpr(block);\n\n if (type === 'helper') {\n this.helperSexpr(block, program, inverse);\n } else if (type === 'simple') {\n this.simpleSexpr(block);\n\n // now that the simple mustache is resolved, we need to\n // evaluate it by executing `blockHelperMissing`\n this.opcode('pushProgram', program);\n this.opcode('pushProgram', inverse);\n this.opcode('emptyHash');\n this.opcode('blockValue', block.path.original);\n } else {\n this.ambiguousSexpr(block, program, inverse);\n\n // now that the simple mustache is resolved, we need to\n // evaluate it by executing `blockHelperMissing`\n this.opcode('pushProgram', program);\n this.opcode('pushProgram', inverse);\n this.opcode('emptyHash');\n this.opcode('ambiguousBlockValue');\n }\n\n this.opcode('append');\n },\n\n DecoratorBlock: function DecoratorBlock(decorator) {\n var program = decorator.program && this.compileProgram(decorator.program);\n var params = this.setupFullMustacheParams(decorator, program, undefined),\n path = decorator.path;\n\n this.useDecorators = true;\n this.opcode('registerDecorator', params.length, path.original);\n },\n\n PartialStatement: function PartialStatement(partial) {\n this.usePartial = true;\n\n var program = partial.program;\n if (program) {\n program = this.compileProgram(partial.program);\n }\n\n var params = partial.params;\n if (params.length > 1) {\n throw new _exception2['default']('Unsupported number of partial arguments: ' + params.length, partial);\n } else if (!params.length) {\n if (this.options.explicitPartialContext) {\n this.opcode('pushLiteral', 'undefined');\n } else {\n params.push({ type: 'PathExpression', parts: [], depth: 0 });\n }\n }\n\n var partialName = partial.name.original,\n isDynamic = partial.name.type === 'SubExpression';\n if (isDynamic) {\n this.accept(partial.name);\n }\n\n this.setupFullMustacheParams(partial, program, undefined, true);\n\n var indent = partial.indent || '';\n if (this.options.preventIndent && indent) {\n this.opcode('appendContent', indent);\n indent = '';\n }\n\n this.opcode('invokePartial', isDynamic, partialName, indent);\n this.opcode('append');\n },\n PartialBlockStatement: function PartialBlockStatement(partialBlock) {\n this.PartialStatement(partialBlock);\n },\n\n MustacheStatement: function MustacheStatement(mustache) {\n this.SubExpression(mustache);\n\n if (mustache.escaped && !this.options.noEscape) {\n this.opcode('appendEscaped');\n } else {\n this.opcode('append');\n }\n },\n Decorator: function Decorator(decorator) {\n this.DecoratorBlock(decorator);\n },\n\n ContentStatement: function ContentStatement(content) {\n if (content.value) {\n this.opcode('appendContent', content.value);\n }\n },\n\n CommentStatement: function CommentStatement() {},\n\n SubExpression: function SubExpression(sexpr) {\n transformLiteralToPath(sexpr);\n var type = this.classifySexpr(sexpr);\n\n if (type === 'simple') {\n this.simpleSexpr(sexpr);\n } else if (type === 'helper') {\n this.helperSexpr(sexpr);\n } else {\n this.ambiguousSexpr(sexpr);\n }\n },\n ambiguousSexpr: function ambiguousSexpr(sexpr, program, inverse) {\n var path = sexpr.path,\n name = path.parts[0],\n isBlock = program != null || inverse != null;\n\n this.opcode('getContext', path.depth);\n\n this.opcode('pushProgram', program);\n this.opcode('pushProgram', inverse);\n\n path.strict = true;\n this.accept(path);\n\n this.opcode('invokeAmbiguous', name, isBlock);\n },\n\n simpleSexpr: function simpleSexpr(sexpr) {\n var path = sexpr.path;\n path.strict = true;\n this.accept(path);\n this.opcode('resolvePossibleLambda');\n },\n\n helperSexpr: function helperSexpr(sexpr, program, inverse) {\n var params = this.setupFullMustacheParams(sexpr, program, inverse),\n path = sexpr.path,\n name = path.parts[0];\n\n if (this.options.knownHelpers[name]) {\n this.opcode('invokeKnownHelper', params.length, name);\n } else if (this.options.knownHelpersOnly) {\n throw new _exception2['default']('You specified knownHelpersOnly, but used the unknown helper ' + name, sexpr);\n } else {\n path.strict = true;\n path.falsy = true;\n\n this.accept(path);\n this.opcode('invokeHelper', params.length, path.original, _ast2['default'].helpers.simpleId(path));\n }\n },\n\n PathExpression: function PathExpression(path) {\n this.addDepth(path.depth);\n this.opcode('getContext', path.depth);\n\n var name = path.parts[0],\n scoped = _ast2['default'].helpers.scopedId(path),\n blockParamId = !path.depth && !scoped && this.blockParamIndex(name);\n\n if (blockParamId) {\n this.opcode('lookupBlockParam', blockParamId, path.parts);\n } else if (!name) {\n // Context reference, i.e. `{{foo .}}` or `{{foo ..}}`\n this.opcode('pushContext');\n } else if (path.data) {\n this.options.data = true;\n this.opcode('lookupData', path.depth, path.parts, path.strict);\n } else {\n this.opcode('lookupOnContext', path.parts, path.falsy, path.strict, scoped);\n }\n },\n\n StringLiteral: function StringLiteral(string) {\n this.opcode('pushString', string.value);\n },\n\n NumberLiteral: function NumberLiteral(number) {\n this.opcode('pushLiteral', number.value);\n },\n\n BooleanLiteral: function BooleanLiteral(bool) {\n this.opcode('pushLiteral', bool.value);\n },\n\n UndefinedLiteral: function UndefinedLiteral() {\n this.opcode('pushLiteral', 'undefined');\n },\n\n NullLiteral: function NullLiteral() {\n this.opcode('pushLiteral', 'null');\n },\n\n Hash: function Hash(hash) {\n var pairs = hash.pairs,\n i = 0,\n l = pairs.length;\n\n this.opcode('pushHash');\n\n for (; i < l; i++) {\n this.pushParam(pairs[i].value);\n }\n while (i--) {\n this.opcode('assignToHash', pairs[i].key);\n }\n this.opcode('popHash');\n },\n\n // HELPERS\n opcode: function opcode(name) {\n this.opcodes.push({\n opcode: name,\n args: slice.call(arguments, 1),\n loc: this.sourceNode[0].loc\n });\n },\n\n addDepth: function addDepth(depth) {\n if (!depth) {\n return;\n }\n\n this.useDepths = true;\n },\n\n classifySexpr: function classifySexpr(sexpr) {\n var isSimple = _ast2['default'].helpers.simpleId(sexpr.path);\n\n var isBlockParam = isSimple && !!this.blockParamIndex(sexpr.path.parts[0]);\n\n // a mustache is an eligible helper if:\n // * its id is simple (a single part, not `this` or `..`)\n var isHelper = !isBlockParam && _ast2['default'].helpers.helperExpression(sexpr);\n\n // if a mustache is an eligible helper but not a definite\n // helper, it is ambiguous, and will be resolved in a later\n // pass or at runtime.\n var isEligible = !isBlockParam && (isHelper || isSimple);\n\n // if ambiguous, we can possibly resolve the ambiguity now\n // An eligible helper is one that does not have a complex path, i.e. `this.foo`, `../foo` etc.\n if (isEligible && !isHelper) {\n var _name = sexpr.path.parts[0],\n options = this.options;\n if (options.knownHelpers[_name]) {\n isHelper = true;\n } else if (options.knownHelpersOnly) {\n isEligible = false;\n }\n }\n\n if (isHelper) {\n return 'helper';\n } else if (isEligible) {\n return 'ambiguous';\n } else {\n return 'simple';\n }\n },\n\n pushParams: function pushParams(params) {\n for (var i = 0, l = params.length; i < l; i++) {\n this.pushParam(params[i]);\n }\n },\n\n pushParam: function pushParam(val) {\n var value = val.value != null ? val.value : val.original || '';\n\n if (this.stringParams) {\n if (value.replace) {\n value = value.replace(/^(\\.?\\.\\/)*/g, '').replace(/\\//g, '.');\n }\n\n if (val.depth) {\n this.addDepth(val.depth);\n }\n this.opcode('getContext', val.depth || 0);\n this.opcode('pushStringParam', value, val.type);\n\n if (val.type === 'SubExpression') {\n // SubExpressions get evaluated and passed in\n // in string params mode.\n this.accept(val);\n }\n } else {\n if (this.trackIds) {\n var blockParamIndex = undefined;\n if (val.parts && !_ast2['default'].helpers.scopedId(val) && !val.depth) {\n blockParamIndex = this.blockParamIndex(val.parts[0]);\n }\n if (blockParamIndex) {\n var blockParamChild = val.parts.slice(1).join('.');\n this.opcode('pushId', 'BlockParam', blockParamIndex, blockParamChild);\n } else {\n value = val.original || value;\n if (value.replace) {\n value = value.replace(/^this(?:\\.|$)/, '').replace(/^\\.\\//, '').replace(/^\\.$/, '');\n }\n\n this.opcode('pushId', val.type, value);\n }\n }\n this.accept(val);\n }\n },\n\n setupFullMustacheParams: function setupFullMustacheParams(sexpr, program, inverse, omitEmpty) {\n var params = sexpr.params;\n this.pushParams(params);\n\n this.opcode('pushProgram', program);\n this.opcode('pushProgram', inverse);\n\n if (sexpr.hash) {\n this.accept(sexpr.hash);\n } else {\n this.opcode('emptyHash', omitEmpty);\n }\n\n return params;\n },\n\n blockParamIndex: function blockParamIndex(name) {\n for (var depth = 0, len = this.options.blockParams.length; depth < len; depth++) {\n var blockParams = this.options.blockParams[depth],\n param = blockParams && _utils.indexOf(blockParams, name);\n if (blockParams && param >= 0) {\n return [depth, param];\n }\n }\n }\n};\n\nfunction precompile(input, options, env) {\n if (input == null || typeof input !== 'string' && input.type !== 'Program') {\n throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.precompile. You passed ' + input);\n }\n\n options = options || {};\n if (!('data' in options)) {\n options.data = true;\n }\n if (options.compat) {\n options.useDepths = true;\n }\n\n var ast = env.parse(input, options),\n environment = new env.Compiler().compile(ast, options);\n return new env.JavaScriptCompiler().compile(environment, options);\n}\n\nfunction compile(input, options, env) {\n if (options === undefined) options = {};\n\n if (input == null || typeof input !== 'string' && input.type !== 'Program') {\n throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.compile. You passed ' + input);\n }\n\n options = _utils.extend({}, options);\n if (!('data' in options)) {\n options.data = true;\n }\n if (options.compat) {\n options.useDepths = true;\n }\n\n var compiled = undefined;\n\n function compileInput() {\n var ast = env.parse(input, options),\n environment = new env.Compiler().compile(ast, options),\n templateSpec = new env.JavaScriptCompiler().compile(environment, options, undefined, true);\n return env.template(templateSpec);\n }\n\n // Template is only compiled on first use and cached after that point.\n function ret(context, execOptions) {\n if (!compiled) {\n compiled = compileInput();\n }\n return compiled.call(this, context, execOptions);\n }\n ret._setup = function (setupOptions) {\n if (!compiled) {\n compiled = compileInput();\n }\n return compiled._setup(setupOptions);\n };\n ret._child = function (i, data, blockParams, depths) {\n if (!compiled) {\n compiled = compileInput();\n }\n return compiled._child(i, data, blockParams, depths);\n };\n return ret;\n}\n\nfunction argEquals(a, b) {\n if (a === b) {\n return true;\n }\n\n if (_utils.isArray(a) && _utils.isArray(b) && a.length === b.length) {\n for (var i = 0; i < a.length; i++) {\n if (!argEquals(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n}\n\nfunction transformLiteralToPath(sexpr) {\n if (!sexpr.path.parts) {\n var literal = sexpr.path;\n // Casting to string here to make false and 0 literal values play nicely with the rest\n // of the system.\n sexpr.path = {\n type: 'PathExpression',\n data: false,\n depth: 0,\n parts: [literal.original + ''],\n original: literal.original + '',\n loc: literal.loc\n };\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2NvbXBpbGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozt5QkFFc0IsY0FBYzs7OztxQkFDSyxVQUFVOzttQkFDbkMsT0FBTzs7OztBQUV2QixJQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDOztBQUVoQixTQUFTLFFBQVEsR0FBRyxFQUFFOzs7Ozs7O0FBTzdCLFFBQVEsQ0FBQyxTQUFTLEdBQUc7QUFDbkIsVUFBUSxFQUFFLFFBQVE7O0FBRWxCLFFBQU0sRUFBRSxnQkFBUyxLQUFLLEVBQUU7QUFDdEIsUUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFDOUIsUUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7QUFDaEMsYUFBTyxLQUFLLENBQUM7S0FDZDs7QUFFRCxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzVCLFVBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1VBQzFCLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLFVBQ0UsTUFBTSxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsTUFBTSxJQUNwQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFDekM7QUFDQSxlQUFPLEtBQUssQ0FBQztPQUNkO0tBQ0Y7Ozs7QUFJRCxPQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7QUFDM0IsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QixVQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEs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LENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUMxQixlQUFPLEtBQUssQ0FBQztPQUNkO0tBQ0Y7QUFDRCxXQUFPLElBQUksQ0FBQztHQUNiO0NBQ0Y7O0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUU7QUFDckMsTUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO0FBQ3JCLFFBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7OztBQUd6QixTQUFLLENBQUMsSUFBSSxHQUFHO0FBQ1gsVUFBSSxFQUFFLGdCQUFnQjtBQUN0QixVQUFJLEVBQUUsS0FBSztBQUNYLFdBQUssRUFBRSxDQUFDO0FBQ1IsV0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7QUFDOUIsY0FBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEdBQUcsRUFBRTtBQUMvQixTQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7S0FDakIsQ0FBQztHQUNIO0NBQ0YiLCJmaWxlIjoiY29tcGlsZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuZXctY2FwICovXG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcbmltcG9ydCB7IGlzQXJyYXksIGluZGV4T2YsIGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBBU1QgZnJvbSAnLi9hc3QnO1xuXG5jb25zdCBzbGljZSA9IFtdLnNsaWNlO1xuXG5leHBvcnQgZnVuY3Rpb24gQ29tcGlsZXIoKSB7fVxuXG4vLyB0aGUgZm91bmRIZWxwZXIgcmVnaXN0ZXIgd2lsbCBkaXNhbWJpZ3VhdGUgaGVscGVyIGxvb2t1cCBmcm9tIGZpbmRpbmcgYVxuLy8gZnVuY3Rpb24gaW4gYSBjb250ZXh0LiBUaGlzIGlzIG5lY2Vzc2FyeSBmb3IgbXVzdGFjaGUgY29tcGF0aWJpbGl0eSwgd2hpY2hcbi8vIHJlcXVpcmVzIHRoYXQgY29udGV4dCBmdW5jdGlvbnMgaW4gYmxvY2tzIGFyZSBldmFsdWF0ZWQgYnkgYmxvY2tIZWxwZXJNaXNzaW5nLFxuLy8gYW5kIHRoZW4gcHJvY2VlZCBhcyBpZiB0aGUgcmVzdWx0aW5nIHZhbHVlIHdhcyBwcm92aWRlZCB0byBibG9ja0hlbHBlck1pc3NpbmcuXG5cbkNvbXBpbGVyLnByb3RvdHlwZSA9IHtcbiAgY29tcGlsZXI6IENvbXBpbGVyLFxuXG4gIGVxdWFsczogZnVuY3Rpb24ob3RoZXIpIHtcbiAgICBsZXQgbGVuID0gdGhpcy5vcGNvZGVzLmxlbmd0aDtcbiAgICBpZiAob3RoZXIub3Bjb2Rlcy5sZW5ndGggIT09IGxlbikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGxldCBvcGNvZGUgPSB0aGlzLm9wY29kZXNbaV0sXG4gICAgICAgIG90aGVyT3Bjb2RlID0gb3RoZXIub3Bjb2Rlc1tpXTtcbiAgICAgIGlmIChcbiAgICAgICAgb3Bjb2RlLm9wY29kZSAhPT0gb3RoZXJPcGNvZGUub3Bjb2RlIHx8XG4gICAgICAgICFhcmdFcXVhbHMob3Bjb2RlLmFyZ3MsIG90aGVyT3Bjb2RlLmFyZ3MpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdlIGtub3cgdGhhdCBsZW5ndGggaXMgdGhlIHNhbWUgYmV0d2VlbiB0aGUgdHdvIGFycmF5cyBiZWNhdXNlIHRoZXkgYXJlIGRpcmVjdGx5IHRpZWRcbiAgICAvLyB0byB0aGUgb3Bjb2RlIGJlaGF2aW9yIGFib3ZlLlxuICAgIGxlbiA9IHRoaXMuY2hpbGRyZW4ubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGlmICghdGhpcy5jaGlsZHJlbltpXS5lcXVhbHMob3RoZXIuY2hpbGRyZW5baV0pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSxcblxuICBndWlkOiAwLFxuXG4gIGNvbXBpbGU6IGZ1bmN0aW9uKHByb2dyYW0sIG9wdGlvbnMpIHtcbiAgICB0aGlzLnNvdXJjZU5vZGUgPSBbXTtcbiAgICB0aGlzLm9wY29kZXMgPSBbXTtcbiAgICB0aGlzLmNoaWxkcmVuID0gW107XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLnN0cmluZ1BhcmFtcyA9IG9wdGlvbnMuc3RyaW5nUGFyYW1zO1xuICAgIHRoaXMudHJhY2tJZHMgPSBvcHRpb25zLnRyYWNrSWRzO1xuXG4gICAgb3B0aW9ucy5ibG9ja1BhcmFtcyA9IG9wdGlvbnMuYmxvY2tQYXJhbXMgfHwgW107XG5cbiAgICBvcHRpb25zLmtub3duSGVscGVycyA9IGV4dGVuZChcbiAgICAgIE9iamVjdC5jcmVhdGUobnVsbCksXG4gICAgICB7XG4gICAgICAgIGhlbHBlck1pc3Npbmc6IHRydWUsXG4gICAgICAgIGJsb2NrSGVscGVyTWlzc2luZzogdHJ1ZSxcbiAgICAgICAgZWFjaDogdHJ1ZSxcbiAgICAgICAgaWY6IHRydWUsXG4gICAgICAgIHVubGVzczogdHJ1ZSxcbiAgICAgICAgd2l0aDogdHJ1ZSxcbiAgICAgICAgbG9nOiB0cnVlLFxuICAgICAgICBsb29rdXA6IHRydWVcbiAgICAgIH0sXG4gICAgICBvcHRpb25zLmtub3duSGVscGVyc1xuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5hY2NlcHQocHJvZ3JhbSk7XG4gIH0sXG5cbiAgY29tcGlsZVByb2dyYW06IGZ1bmN0aW9uKHByb2dyYW0pIHtcbiAgICBsZXQgY2hpbGRDb21waWxlciA9IG5ldyB0aGlzLmNvbXBpbGVyKCksIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuICAgICAgcmVzdWx0ID0gY2hpbGRDb21waWxlci5jb21waWxlKHByb2dyYW0sIHRoaXMub3B0aW9ucyksXG4gICAgICBndWlkID0gdGhpcy5ndWlkKys7XG5cbiAgICB0aGlzLnVzZVBhcnRpYWwgPSB0aGlzLnVzZVBhcnRpYWwgfHwgcmVzdWx0LnVzZVBhcnRpYWw7XG5cbiAgICB0aGlzLmNoaWxkcmVuW2d1aWRdID0gcmVzdWx0O1xuICAgIHRoaXMudXNlRGVwdGhzID0gdGhpcy51c2VEZXB0aHMgfHwgcmVzdWx0LnVzZURlcHRocztcblxuICAgIHJldHVybiBndWlkO1xuICB9LFxuXG4gIGFjY2VwdDogZnVuY3Rpb24obm9kZSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBTYW5pdHkgY29kZSAqL1xuICAgIGlmICghdGhpc1tub2RlLnR5cGVdKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmtub3duIHR5cGU6ICcgKyBub2RlLnR5cGUsIG5vZGUpO1xuICAgIH1cblxuICAgIHRoaXMuc291cmNlTm9kZS51bnNoaWZ0KG5vZGUpO1xuICAgIGxldCByZXQgPSB0aGlzW25vZGUudHlwZV0obm9kZSk7XG4gICAgdGhpcy5zb3VyY2VOb2RlLnNoaWZ0KCk7XG4gICAgcmV0dXJuIHJldDtcbiAgfSxcblxuICBQcm9ncmFtOiBmdW5jdGlvbihwcm9ncmFtKSB7XG4gICAgdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zLnVuc2hpZnQocHJvZ3JhbS5ibG9ja1BhcmFtcyk7XG5cbiAgICBsZXQgYm9keSA9IHByb2dyYW0uYm9keSxcbiAgICAgIGJvZHlMZW5ndGggPSBib2R5Lmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJvZHlMZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5hY2NlcHQoYm9keVtpXSk7XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zLnNoaWZ0KCk7XG5cbiAgICB0aGlzLmlzU2ltcGxlID0gYm9keUxlbmd0aCA9PT0gMTtcbiAgICB0aGlzLmJsb2NrUGFyYW1zID0gcHJvZ3JhbS5ibG9ja1BhcmFtcyA/IHByb2dyYW0uYmxvY2tQYXJhbXMubGVuZ3RoIDogMDtcblxuICAgIHJldHVybiB0aGlzO1xuICB9LFxuXG4gIEJsb2NrU3RhdGVtZW50OiBmdW5jdGlvbihibG9jaykge1xuICAgIHRyYW5zZm9ybUxpdGVyYWxUb1BhdGgoYmxvY2spO1xuXG4gICAgbGV0IHByb2dyYW0gPSBibG9jay5wcm9ncmFtLFxuICAgICAgaW52ZXJzZSA9IGJsb2NrLmludmVyc2U7XG5cbiAgICBwcm9ncmFtID0gcHJvZ3JhbSAmJiB0aGlzLmNvbXBpbGVQcm9ncmFtKHByb2dyYW0pO1xuICAgIGludmVyc2UgPSBpbnZlcnNlICYmIHRoaXMuY29tcGlsZVByb2dyYW0oaW52ZXJzZSk7XG5cbiAgICBsZXQgdHlwZSA9IHRoaXMuY2xhc3NpZnlTZXhwcihibG9jayk7XG5cbiAgICBpZiAodHlwZSA9PT0gJ2hlbHBlcicpIHtcbiAgICAgIHRoaXMuaGVscGVyU2V4cHIoYmxvY2ssIHByb2dyYW0sIGludmVyc2UpO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3NpbXBsZScpIHtcbiAgICAgIHRoaXMuc2ltcGxlU2V4cHIoYmxvY2spO1xuXG4gICAgICAvLyBub3cgdGhhdCB0aGUgc2ltcGxlIG11c3RhY2hlIGlzIHJlc29sdmVkLCB3ZSBuZWVkIHRvXG4gICAgICAvLyBldmFsdWF0ZSBpdCBieSBleGVjdXRpbmcgYGJsb2NrSGVscGVyTWlzc2luZ2BcbiAgICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIHByb2dyYW0pO1xuICAgICAgdGhpcy5vcGNvZGUoJ3B1c2hQcm9ncmFtJywgaW52ZXJzZSk7XG4gICAgICB0aGlzLm9wY29kZSgnZW1wdHlIYXNoJyk7XG4gICAgICB0aGlzLm9wY29kZSgnYmxvY2tWYWx1ZScsIGJsb2NrLnBhdGgub3JpZ2luYWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFtYmlndW91c1NleHByKGJsb2NrLCBwcm9ncmFtLCBpbnZlcnNlKTtcblxuICAgICAgLy8gbm93IHRoYXQgdGhlIHNpbXBsZSBtdXN0YWNoZSBpcyByZXNvbHZlZCwgd2UgbmVlZCB0b1xuICAgICAgLy8gZXZhbHVhdGUgaXQgYnkgZXhlY3V0aW5nIGBibG9ja0hlbHBlck1pc3NpbmdgXG4gICAgICB0aGlzLm9wY29kZSgncHVzaFByb2dyYW0nLCBwcm9ncmFtKTtcbiAgICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIGludmVyc2UpO1xuICAgICAgdGhpcy5vcGNvZGUoJ2VtcHR5SGFzaCcpO1xuICAgICAgdGhpcy5vcGNvZGUoJ2FtYmlndW91c0Jsb2NrVmFsdWUnKTtcbiAgICB9XG5cbiAgICB0aGlzLm9wY29kZSgnYXBwZW5kJyk7XG4gIH0sXG5cbiAgRGVjb3JhdG9yQmxvY2soZGVjb3JhdG9yKSB7XG4gICAgbGV0IHByb2dyYW0gPSBkZWNvcmF0b3IucHJvZ3JhbSAmJiB0aGlzLmNvbXBpbGVQcm9ncmFtKGRlY29yYXRvci5wcm9ncmFtKTtcbiAgICBsZXQgcGFyYW1zID0gdGhpcy5zZXR1cEZ1bGxNdXN0YWNoZVBhcmFtcyhkZWNvcmF0b3IsIHByb2dyYW0sIHVuZGVmaW5lZCksXG4gICAgICBwYXRoID0gZGVjb3JhdG9yLnBhdGg7XG5cbiAgICB0aGlzLnVzZURlY29yYXRvcnMgPSB0cnVlO1xuICAgIHRoaXMub3Bjb2RlKCdyZWdpc3RlckRlY29yYXRvcicsIHBhcmFtcy5sZW5ndGgsIHBhdGgub3JpZ2luYWwpO1xuICB9LFxuXG4gIFBhcnRpYWxTdGF0ZW1lbnQ6IGZ1bmN0aW9uKHBhcnRpYWwpIHtcbiAgICB0aGlzLnVzZVBhcnRpYWwgPSB0cnVlO1xuXG4gICAgbGV0IHByb2dyYW0gPSBwYXJ0aWFsLnByb2dyYW07XG4gICAgaWYgKHByb2dyYW0pIHtcbiAgICAgIHByb2dyYW0gPSB0aGlzLmNvbXBpbGVQcm9ncmFtKHBhcnRpYWwucHJvZ3JhbSk7XG4gICAgfVxuXG4gICAgbGV0IHBhcmFtcyA9IHBhcnRpYWwucGFyYW1zO1xuICAgIGlmIChwYXJhbXMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgJ1Vuc3VwcG9ydGVkIG51bWJlciBvZiBwYXJ0aWFsIGFyZ3VtZW50czogJyArIHBhcmFtcy5sZW5ndGgsXG4gICAgICAgIHBhcnRpYWxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICghcGFyYW1zLmxlbmd0aCkge1xuICAgICAgaWYgKHRoaXMub3B0aW9ucy5leHBsaWNpdFBhcnRpYWxDb250ZXh0KSB7XG4gICAgICAgIHRoaXMub3Bjb2RlKCdwdXNoTGl0ZXJhbCcsICd1bmRlZmluZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhcmFtcy5wdXNoKHsgdHlwZTogJ1BhdGhFeHByZXNzaW9uJywgcGFydHM6IFtdLCBkZXB0aDogMCB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgcGFydGlhbE5hbWUgPSBwYXJ0aWFsLm5hbWUub3JpZ2luYWwsXG4gICAgICBpc0R5bmFtaWMgPSBwYXJ0aWFsLm5hbWUudHlwZSA9PT0gJ1N1YkV4cHJlc3Npb24nO1xuICAgIGlmIChpc0R5bmFtaWMpIHtcbiAgICAgIHRoaXMuYWNjZXB0KHBhcnRpYWwubmFtZSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXR1cEZ1bGxNdXN0YWNoZVBhcmFtcyhwYXJ0aWFsLCBwcm9ncmFtLCB1bmRlZmluZWQsIHRydWUpO1xuXG4gICAgbGV0IGluZGVudCA9IHBhcnRpYWwuaW5kZW50IHx8ICcnO1xuICAgIGlmICh0aGlzLm9wdGlvbnMucHJldmVudEluZGVudCAmJiBpbmRlbnQpIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhcHBlbmRDb250ZW50JywgaW5kZW50KTtcbiAgICAgIGluZGVudCA9ICcnO1xuICAgIH1cblxuICAgIHRoaXMub3Bjb2RlKCdpbnZva2VQYXJ0aWFsJywgaXNEeW5hbWljLCBwYXJ0aWFsTmFtZSwgaW5kZW50KTtcbiAgICB0aGlzLm9wY29kZSgnYXBwZW5kJyk7XG4gIH0sXG4gIFBhcnRpYWxCbG9ja1N0YXRlbWVudDogZnVuY3Rpb24ocGFydGlhbEJsb2NrKSB7XG4gICAgdGhpcy5QYXJ0aWFsU3RhdGVtZW50KHBhcnRpYWxCbG9jayk7XG4gIH0sXG5cbiAgTXVzdGFjaGVTdGF0ZW1lbnQ6IGZ1bmN0aW9uKG11c3RhY2hlKSB7XG4gICAgdGhpcy5TdWJFeHByZXNzaW9uKG11c3RhY2hlKTtcblxuICAgIGlmIChtdXN0YWNoZS5lc2NhcGVkICYmICF0aGlzLm9wdGlvbnMubm9Fc2NhcGUpIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhcHBlbmRFc2NhcGVkJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhcHBlbmQnKTtcbiAgICB9XG4gIH0sXG4gIERlY29yYXRvcihkZWNvcmF0b3IpIHtcbiAgICB0aGlzLkRlY29yYXRvckJsb2NrKGRlY29yYXRvcik7XG4gIH0sXG5cbiAgQ29udGVudFN0YXRlbWVudDogZnVuY3Rpb24oY29udGVudCkge1xuICAgIGlmIChjb250ZW50LnZhbHVlKSB7XG4gICAgICB0aGlzLm9wY29kZSgnYXBwZW5kQ29udGVudCcsIGNvbnRlbnQudmFsdWUpO1xuICAgIH1cbiAgfSxcblxuICBDb21tZW50U3RhdGVtZW50OiBmdW5jdGlvbigpIHt9LFxuXG4gIFN1YkV4cHJlc3Npb246IGZ1bmN0aW9uKHNleHByKSB7XG4gICAgdHJhbnNmb3JtTGl0ZXJhbFRvUGF0aChzZXhwcik7XG4gICAgbGV0IHR5cGUgPSB0aGlzLmNsYXNzaWZ5U2V4cHIoc2V4cHIpO1xuXG4gICAgaWYgKHR5cGUgPT09ICdzaW1wbGUnKSB7XG4gICAgICB0aGlzLnNpbXBsZVNleHByKHNleHByKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdoZWxwZXInKSB7XG4gICAgICB0aGlzLmhlbHBlclNleHByKHNleHByKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hbWJpZ3VvdXNTZXhwcihzZXhwcik7XG4gICAgfVxuICB9LFxuICBhbWJpZ3VvdXNTZXhwcjogZnVuY3Rpb24oc2V4cHIsIHByb2dyYW0sIGludmVyc2UpIHtcbiAgICBsZXQgcGF0aCA9IHNleHByLnBhdGgsXG4gICAgICBuYW1lID0gcGF0aC5wYXJ0c1swXSxcbiAgICAgIGlzQmxvY2sgPSBwcm9ncmFtICE9IG51bGwgfHwgaW52ZXJzZSAhPSBudWxsO1xuXG4gICAgdGhpcy5vcGNvZGUoJ2dldENvbnRleHQnLCBwYXRoLmRlcHRoKTtcblxuICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIHByb2dyYW0pO1xuICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIGludmVyc2UpO1xuXG4gICAgcGF0aC5zdHJpY3QgPSB0cnVlO1xuICAgIHRoaXMuYWNjZXB0KHBhdGgpO1xuXG4gICAgdGhpcy5vcGNvZGUoJ2ludm9rZUFtYmlndW91cycsIG5hbWUsIGlzQmxvY2spO1xuICB9LFxuXG4gIHNpbXBsZVNleHByOiBmdW5jdGlvbihzZXhwcikge1xuICAgIGxldCBwYXRoID0gc2V4cHIucGF0aDtcbiAgICBwYXRoLnN0cmljdCA9IHRydWU7XG4gICAgdGhpcy5hY2NlcHQocGF0aCk7XG4gICAgdGhpcy5vcGNvZGUoJ3Jlc29sdmVQb3NzaWJsZUxhbWJkYScpO1xuICB9LFxuXG4gIGhlbHBlclNleHByOiBmdW5jdGlvbihzZXhwciwgcHJvZ3JhbSwgaW52ZXJzZSkge1xuICAgIGxldCBwYXJhbXMgPSB0aGlzLnNldHVwRnVsbE11c3RhY2hlUGFyYW1zKHNleHByLCBwcm9ncmFtLCBpbnZlcnNlKSxcbiAgICAgIHBhdGggPSBzZXhwci5wYXRoLFxuICAgICAgbmFtZSA9IHBhdGgucGFydHNbMF07XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmtub3duSGVscGVyc1tuYW1lXSkge1xuICAgICAgdGhpcy5vcGNvZGUoJ2ludm9rZUtub3duSGVscGVyJywgcGFyYW1zLmxlbmd0aCwgbmFtZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm9wdGlvbnMua25vd25IZWxwZXJzT25seSkge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgJ1lvdSBzcGVjaWZpZWQga25vd25IZWxwZXJzT25seSwgYnV0IHVzZWQgdGhlIHVua25vd24gaGVscGVyICcgKyBuYW1lLFxuICAgICAgICBzZXhwclxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGF0aC5zdHJpY3QgPSB0cnVlO1xuICAgICAgcGF0aC5mYWxzeSA9IHRydWU7XG5cbiAgICAgIHRoaXMuYWNjZXB0KHBhdGgpO1xuICAgICAgdGhpcy5vcGNvZGUoXG4gICAgICAgICdpbnZva2VIZWxwZXInLFxuICAgICAgICBwYXJhbXMubGVuZ3RoLFxuICAgICAgICBwYXRoLm9yaWdpbmFsLFxuICAgICAgICBBU1QuaGVscGVycy5zaW1wbGVJZChwYXRoKVxuICAgICAgKTtcbiAgICB9XG4gIH0sXG5cbiAgUGF0aEV4cHJlc3Npb246IGZ1bmN0aW9uKHBhdGgpIHtcbiAgICB0aGlzLmFkZERlcHRoKHBhdGguZGVwdGgpO1xuICAgIHRoaXMub3Bjb2RlKCdnZXRDb250ZXh0JywgcGF0aC5kZXB0aCk7XG5cbiAgICBsZXQgbmFtZSA9IHBhdGgucGFydHNbMF0sXG4gICAgICBzY29wZWQgPSBBU1QuaGVscGVycy5zY29wZWRJZChwYXRoKSxcbiAgICAgIGJsb2NrUGFyYW1JZCA9ICFwYXRoLmRlcHRoICYmICFzY29wZWQgJiYgdGhpcy5ibG9ja1BhcmFtSW5kZXgobmFtZSk7XG5cbiAgICBpZiAoYmxvY2tQYXJhbUlkKSB7XG4gICAgICB0aGlzLm9wY29kZSgnbG9va3VwQmxvY2tQYXJhbScsIGJsb2NrUGFyYW1JZCwgcGF0aC5wYXJ0cyk7XG4gICAgfSBlbHNlIGlmICghbmFtZSkge1xuICAgICAgLy8gQ29udGV4dCByZWZlcmVuY2UsIGkuZS4gYHt7Zm9vIC59fWAgb3IgYHt7Zm9vIC4ufX1gXG4gICAgICB0aGlzLm9wY29kZSgncHVzaENvbnRleHQnKTtcbiAgICB9IGVsc2UgaWYgKHBhdGguZGF0YSkge1xuICAgICAgdGhpcy5vcHRpb25zLmRhdGEgPSB0cnVlO1xuICAgICAgdGhpcy5vcGNvZGUoJ2xvb2t1cERhdGEnLCBwYXRoLmRlcHRoLCBwYXRoLnBhcnRzLCBwYXRoLnN0cmljdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3Bjb2RlKFxuICAgICAgICAnbG9va3VwT25Db250ZXh0JyxcbiAgICAgICAgcGF0aC5wYXJ0cyxcbiAgICAgICAgcGF0aC5mYWxzeSxcbiAgICAgICAgcGF0aC5zdHJpY3QsXG4gICAgICAgIHNjb3BlZFxuICAgICAgKTtcbiAgICB9XG4gIH0sXG5cbiAgU3RyaW5nTGl0ZXJhbDogZnVuY3Rpb24oc3RyaW5nKSB7XG4gICAgdGhpcy5vcGNvZGUoJ3B1c2hTdHJpbmcnLCBzdHJpbmcudmFsdWUpO1xuICB9LFxuXG4gIE51bWJlckxpdGVyYWw6IGZ1bmN0aW9uKG51bWJlcikge1xuICAgIHRoaXMub3Bjb2RlKCdwdXNoTGl0ZXJhbCcsIG51bWJlci52YWx1ZSk7XG4gIH0sXG5cbiAgQm9vbGVhbkxpdGVyYWw6IGZ1bmN0aW9uKGJvb2wpIHtcbiAgICB0aGlzLm9wY29kZSgncHVzaExpdGVyYWwnLCBib29sLnZhbHVlKTtcbiAgfSxcblxuICBVbmRlZmluZWRMaXRlcmFsOiBmdW5jdGlvbigpIHtcbiAgICB0aGlzLm9wY29kZSgncHVzaExpdGVyYWwnLCAndW5kZWZpbmVkJyk7XG4gIH0sXG5cbiAgTnVsbExpdGVyYWw6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMub3Bjb2RlKCdwdXNoTGl0ZXJhbCcsICdudWxsJyk7XG4gIH0sXG5cbiAgSGFzaDogZnVuY3Rpb24oaGFzaCkge1xuICAgIGxldCBwYWlycyA9IGhhc2gucGFpcnMsXG4gICAgICBpID0gMCxcbiAgICAgIGwgPSBwYWlycy5sZW5ndGg7XG5cbiAgICB0aGlzLm9wY29kZSgncHVzaEhhc2gnKTtcblxuICAgIGZvciAoOyBpIDwgbDsgaSsrKSB7XG4gICAgICB0aGlzLnB1c2hQYXJhbShwYWlyc1tpXS52YWx1ZSk7XG4gICAgfVxuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhc3NpZ25Ub0hhc2gnLCBwYWlyc1tpXS5rZXkpO1xuICAgIH1cbiAgICB0aGlzLm9wY29kZSgncG9wSGFzaCcpO1xuICB9LFxuXG4gIC8vIEhFTFBFUlNcbiAgb3Bjb2RlOiBmdW5jdGlvbihuYW1lKSB7XG4gICAgdGhpcy5vcGNvZGVzLnB1c2goe1xuICAgICAgb3Bjb2RlOiBuYW1lLFxuICAgICAgYXJnczogc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpLFxuICAgICAgbG9jOiB0aGlzLnNvdXJjZU5vZGVbMF0ubG9jXG4gICAgfSk7XG4gIH0sXG5cbiAgYWRkRGVwdGg6IGZ1bmN0aW9uKGRlcHRoKSB7XG4gICAgaWYgKCFkZXB0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudXNlRGVwdGhzID0gdHJ1ZTtcbiAgfSxcblxuICBjbGFzc2lmeVNleHByOiBmdW5jdGlvbihzZXhwcikge1xuICAgIGxldCBpc1NpbXBsZSA9IEFTVC5oZWxwZXJzLnNpbXBsZUlkKHNleHByLnBhdGgpO1xuXG4gICAgbGV0IGlzQmxvY2tQYXJhbSA9IGlzU2ltcGxlICYmICEhdGhpcy5ibG9ja1BhcmFtSW5kZXgoc2V4cHIucGF0aC5wYXJ0c1swXSk7XG5cbiAgICAvLyBhIG11c3RhY2hlIGlzIGFuIGVsaWdpYmxlIGhlbHBlciBpZjpcbiAgICAvLyAqIGl0cyBpZCBpcyBzaW1wbGUgKGEgc2luZ2xlIHBhcnQsIG5vdCBgdGhpc2Agb3IgYC4uYClcbiAgICBsZXQgaXNIZWxwZXIgPSAhaXNCbG9ja1BhcmFtICYmIEFTVC5oZWxwZXJzLmhlbHBlckV4cHJlc3Npb24oc2V4cHIpO1xuXG4gICAgLy8gaWYgYSBtdXN0YWNoZSBpcyBhbiBlbGlnaWJsZSBoZWxwZXIgYnV0IG5vdCBhIGRlZmluaXRlXG4gICAgLy8gaGVscGVyLCBpdCBpcyBhbWJpZ3VvdXMsIGFuZCB3aWxsIGJlIHJlc29sdmVkIGluIGEgbGF0ZXJcbiAgICAvLyBwYXNzIG9yIGF0IHJ1bnRpbWUuXG4gICAgbGV0IGlzRWxpZ2libGUgPSAhaXNCbG9ja1BhcmFtICYmIChpc0hlbHBlciB8fCBpc1NpbXBsZSk7XG5cbiAgICAvLyBpZiBhbWJpZ3VvdXMsIHdlIGNhbiBwb3NzaWJseSByZXNvbHZlIHRoZSBhbWJpZ3VpdHkgbm93XG4gICAgLy8gQW4gZWxpZ2libGUgaGVscGVyIGlzIG9uZSB0aGF0IGRvZXMgbm90IGhhdmUgYSBjb21wbGV4IHBhdGgsIGkuZS4gYHRoaXMuZm9vYCwgYC4uL2Zvb2AgZXRjLlxuICAgIGlmIChpc0VsaWdpYmxlICYmICFpc0hlbHBlcikge1xuICAgICAgbGV0IG5hbWUgPSBzZXhwci5wYXRoLnBhcnRzWzBdLFxuICAgICAgICBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgaWYgKG9wdGlvbnMua25vd25IZWxwZXJzW25hbWVdKSB7XG4gICAgICAgIGlzSGVscGVyID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5rbm93bkhlbHBlcnNPbmx5KSB7XG4gICAgICAgIGlzRWxpZ2libGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNIZWxwZXIpIHtcbiAgICAgIHJldHVybiAnaGVscGVyJztcbiAgICB9IGVsc2UgaWYgKGlzRWxpZ2libGUpIHtcbiAgICAgIHJldHVybiAnYW1iaWd1b3VzJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdzaW1wbGUnO1xuICAgIH1cbiAgfSxcblxuICBwdXNoUGFyYW1zOiBmdW5jdGlvbihwYXJhbXMpIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHBhcmFtcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIHRoaXMucHVzaFBhcmFtKHBhcmFtc1tpXSk7XG4gICAgfVxuICB9LFxuXG4gIHB1c2hQYXJhbTogZnVuY3Rpb24odmFsKSB7XG4gICAgbGV0IHZhbHVlID0gdmFsLnZhbHVlICE9IG51bGwgPyB2YWwudmFsdWUgOiB2YWwub3JpZ2luYWwgfHwgJyc7XG5cbiAgICBpZiAodGhpcy5zdHJpbmdQYXJhbXMpIHtcbiAgICAgIGlmICh2YWx1ZS5yZXBsYWNlKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvXihcXC4/XFwuXFwvKSovZywgJycpLnJlcGxhY2UoL1xcLy9nLCAnLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsLmRlcHRoKSB7XG4gICAgICAgIHRoaXMuYWRkRGVwdGgodmFsLmRlcHRoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMub3Bjb2RlKCdnZXRDb250ZXh0JywgdmFsLmRlcHRoIHx8IDApO1xuICAgICAgdGhpcy5vcGNvZGUoJ3B1c2hTdHJpbmdQYXJhbScsIHZhbHVlLCB2YWwudHlwZSk7XG5cbiAgICAgIGlmICh2YWwudHlwZSA9PT0gJ1N1YkV4cHJlc3Npb24nKSB7XG4gICAgICAgIC8vIFN1YkV4cHJlc3Npb25zIGdldCBldmFsdWF0ZWQgYW5kIHBhc3NlZCBpblxuICAgICAgICAvLyBpbiBzdHJpbmcgcGFyYW1zIG1vZGUuXG4gICAgICAgIHRoaXMuYWNjZXB0KHZhbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICAgIGxldCBibG9ja1BhcmFtSW5kZXg7XG4gICAgICAgIGlmICh2YWwucGFydHMgJiYgIUFTVC5oZWxwZXJzLnNjb3BlZElkKHZhbCkgJiYgIXZhbC5kZXB0aCkge1xuICAgICAgICAgIGJsb2NrUGFyYW1JbmRleCA9IHRoaXMuYmxvY2tQYXJhbUluZGV4KHZhbC5wYXJ0c1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGJsb2NrUGFyYW1JbmRleCkge1xuICAgICAgICAgIGxldCBibG9ja1BhcmFtQ2hpbGQgPSB2YWwucGFydHMuc2xpY2UoMSkuam9pbignLicpO1xuICAgICAgICAgIHRoaXMub3Bjb2RlKCdwdXNoSWQnLCAnQmxvY2tQYXJhbScsIGJsb2NrUGFyYW1JbmRleCwgYmxvY2tQYXJhbUNoaWxkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWx1ZSA9IHZhbC5vcmlnaW5hbCB8fCB2YWx1ZTtcbiAgICAgICAgICBpZiAodmFsdWUucmVwbGFjZSkge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXnRoaXMoPzpcXC58JCkvLCAnJylcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL15cXC5cXC8vLCAnJylcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL15cXC4kLywgJycpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMub3Bjb2RlKCdwdXNoSWQnLCB2YWwudHlwZSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmFjY2VwdCh2YWwpO1xuICAgIH1cbiAgfSxcblxuICBzZXR1cEZ1bGxNdXN0YWNoZVBhcmFtczogZnVuY3Rpb24oc2V4cHIsIHByb2dyYW0sIGludmVyc2UsIG9taXRFbXB0eSkge1xuICAgIGxldCBwYXJhbXMgPSBzZXhwci5wYXJhbXM7XG4gICAgdGhpcy5wdXNoUGFyYW1zKHBhcmFtcyk7XG5cbiAgICB0aGlzLm9wY29kZSgncHVzaFByb2dyYW0nLCBwcm9ncmFtKTtcbiAgICB0aGlzLm9wY29kZSgncHVzaFByb2dyYW0nLCBpbnZlcnNlKTtcblxuICAgIGlmIChzZXhwci5oYXNoKSB7XG4gICAgICB0aGlzLmFjY2VwdChzZXhwci5oYXNoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGNvZGUoJ2VtcHR5SGFzaCcsIG9taXRFbXB0eSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfSxcblxuICBibG9ja1BhcmFtSW5kZXg6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBmb3IgKFxuICAgICAgbGV0IGRlcHRoID0gMCwgbGVuID0gdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zLmxlbmd0aDtcbiAgICAgIGRlcHRoIDwgbGVuO1xuICAgICAgZGVwdGgrK1xuICAgICkge1xuICAgICAgbGV0IGJsb2NrUGFyYW1zID0gdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zW2RlcHRoXSxcbiAgICAgICAgcGFyYW0gPSBibG9ja1BhcmFtcyAmJiBpbmRleE9mKGJsb2NrUGFyYW1zLCBuYW1lKTtcbiAgICAgIGlmIChibG9ja1BhcmFtcyAmJiBwYXJhbSA+PSAwKSB7XG4gICAgICAgIHJldHVybiBbZGVwdGgsIHBhcmFtXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVjb21waWxlKGlucHV0LCBvcHRpb25zLCBlbnYpIHtcbiAgaWYgKFxuICAgIGlucHV0ID09IG51bGwgfHxcbiAgICAodHlwZW9mIGlucHV0ICE9PSAnc3RyaW5nJyAmJiBpbnB1dC50eXBlICE9PSAnUHJvZ3JhbScpXG4gICkge1xuICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAnWW91IG11c3QgcGFzcyBhIHN0cmluZyBvciBIYW5kbGViYXJzIEFTVCB0byBIYW5kbGViYXJzLnByZWNvbXBpbGUuIFlvdSBwYXNzZWQgJyArXG4gICAgICAgIGlucHV0XG4gICAgKTtcbiAgfVxuXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICBpZiAoISgnZGF0YScgaW4gb3B0aW9ucykpIHtcbiAgICBvcHRpb25zLmRhdGEgPSB0cnVlO1xuICB9XG4gIGlmIChvcHRpb25zLmNvbXBhdCkge1xuICAgIG9wdGlvbnMudXNlRGVwdGhzID0gdHJ1ZTtcbiAgfVxuXG4gIGxldCBhc3QgPSBlbnYucGFyc2UoaW5wdXQsIG9wdGlvbnMpLFxuICAgIGVudmlyb25tZW50ID0gbmV3IGVudi5Db21waWxlcigpLmNvbXBpbGUoYXN0LCBvcHRpb25zKTtcbiAgcmV0dXJuIG5ldyBlbnYuSmF2YVNjcmlwdENvbXBpbGVyKCkuY29tcGlsZShlbnZpcm9ubWVudCwgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21waWxlKGlucHV0LCBvcHRpb25zID0ge30sIGVudikge1xuICBpZiAoXG4gICAgaW5wdXQgPT0gbnVsbCB8fFxuICAgICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnICYmIGlucHV0LnR5cGUgIT09ICdQcm9ncmFtJylcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICdZb3UgbXVzdCBwYXNzIGEgc3RyaW5nIG9yIEhhbmRsZWJhcnMgQVNUIHRvIEhhbmRsZWJhcnMuY29tcGlsZS4gWW91IHBhc3NlZCAnICtcbiAgICAgICAgaW5wdXRcbiAgICApO1xuICB9XG5cbiAgb3B0aW9ucyA9IGV4dGVuZCh7fSwgb3B0aW9ucyk7XG4gIGlmICghKCdkYXRhJyBpbiBvcHRpb25zKSkge1xuICAgIG9wdGlvbnMuZGF0YSA9IHRydWU7XG4gIH1cbiAgaWYgKG9wdGlvbnMuY29tcGF0KSB7XG4gICAgb3B0aW9ucy51c2VEZXB0aHMgPSB0cnVlO1xuICB9XG5cbiAgbGV0IGNvbXBpbGVkO1xuXG4gIGZ1bmN0aW9uIGNvbXBpbGVJbnB1dCgpIHtcbiAgICBsZXQgYXN0ID0gZW52LnBhcnNlKGlucHV0LCBvcHRpb25zKSxcbiAgICAgIGVudmlyb25tZW50ID0gbmV3IGVudi5Db21waWxlcigpLmNvbXBpbGUoYXN0LCBvcHRpb25zKSxcbiAgICAgIHRlbXBsYXRlU3BlYyA9IG5ldyBlbnYuSmF2YVNjcmlwdENvbXBpbGVyKCkuY29tcGlsZShcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICByZXR1cm4gZW52LnRlbXBsYXRlKHRlbXBsYXRlU3BlYyk7XG4gIH1cblxuICAvLyBUZW1wbGF0ZSBpcyBvbmx5IGNvbXBpbGVkIG9uIGZpcnN0IHVzZSBhbmQgY2FjaGVkIGFmdGVyIHRoYXQgcG9pbnQuXG4gIGZ1bmN0aW9uIHJldChjb250ZXh0LCBleGVjT3B0aW9ucykge1xuICAgIGlmICghY29tcGlsZWQpIHtcbiAgICAgIGNvbXBpbGVkID0gY29tcGlsZUlucHV0KCk7XG4gICAgfVxuICAgIHJldHVybiBjb21waWxlZC5jYWxsKHRoaXMsIGNvbnRleHQsIGV4ZWNPcHRpb25zKTtcbiAgfVxuICByZXQuX3NldHVwID0gZnVuY3Rpb24oc2V0dXBPcHRpb25zKSB7XG4gICAgaWYgKCFjb21waWxlZCkge1xuICAgICAgY29tcGlsZWQgPSBjb21waWxlSW5wdXQoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbXBpbGVkLl9zZXR1cChzZXR1cE9wdGlvbnMpO1xuICB9O1xuICByZXQuX2NoaWxkID0gZnVuY3Rpb24oaSwgZGF0YSwgYmxvY2tQYXJhbXMsIGRlcHRocykge1xuICAgIGlmICghY29tcGlsZWQpIHtcbiAgICAgIGNvbXBpbGVkID0gY29tcGlsZUlucHV0KCk7XG4gICAgfVxuICAgIHJldHVybiBjb21waWxlZC5fY2hpbGQoaSwgZGF0YSwgYmxvY2tQYXJhbXMsIGRlcHRocyk7XG4gIH07XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIGFyZ0VxdWFscyhhLCBiKSB7XG4gIGlmIChhID09PSBiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoaXNBcnJheShhKSAmJiBpc0FycmF5KGIpICYmIGEubGVuZ3RoID09PSBiLmxlbmd0aCkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCFhcmdFcXVhbHMoYVtpXSwgYltpXSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1MaXRlcmFsVG9QYXRoKHNleHByKSB7XG4gIGlmICghc2V4cHIucGF0aC5wYXJ0cykge1xuICAgIGxldCBsaXRlcmFsID0gc2V4cHIucGF0aDtcbiAgICAvLyBDYXN0aW5nIHRvIHN0cmluZyBoZXJlIHRvIG1ha2UgZmFsc2UgYW5kIDAgbGl0ZXJhbCB2YWx1ZXMgcGxheSBuaWNlbHkgd2l0aCB0aGUgcmVzdFxuICAgIC8vIG9mIHRoZSBzeXN0ZW0uXG4gICAgc2V4cHIucGF0aCA9IHtcbiAgICAgIHR5cGU6ICdQYXRoRXhwcmVzc2lvbicsXG4gICAgICBkYXRhOiBmYWxzZSxcbiAgICAgIGRlcHRoOiAwLFxuICAgICAgcGFydHM6IFtsaXRlcmFsLm9yaWdpbmFsICsgJyddLFxuICAgICAgb3JpZ2luYWw6IGxpdGVyYWwub3JpZ2luYWwgKyAnJyxcbiAgICAgIGxvYzogbGl0ZXJhbC5sb2NcbiAgICB9O1xuICB9XG59XG4iXX0=\n"],"names":["_interopRequireDefault","obj","__esModule","default","compiler","Compiler","precompile","input","options","env","type","_exception2","data","compat","useDepths","ast","parse","environment","compile","JavaScriptCompiler","undefined","_utils","extend","compiled","compileInput","templateSpec","template","ret","context","execOptions","call","this","_setup","setupOptions","_child","i","blockParams","depths","require$$0","require$$1","_ast2","require$$2","slice","argEquals","a","b","isArray","length","transformLiteralToPath","sexpr","path","parts","literal","depth","original","loc","prototype","equals","other","len","opcodes","opcode","otherOpcode","args","children","guid","program","sourceNode","stringParams","trackIds","knownHelpers","Object","create","helperMissing","blockHelperMissing","each","if","unless","with","log","lookup","accept","compileProgram","result","usePartial","node","unshift","shift","Program","body","bodyLength","isSimple","BlockStatement","block","inverse","classifySexpr","helperSexpr","simpleSexpr","ambiguousSexpr","DecoratorBlock","decorator","params","setupFullMustacheParams","useDecorators","PartialStatement","partial","explicitPartialContext","push","partialName","name","isDynamic","indent","preventIndent","PartialBlockStatement","partialBlock","MustacheStatement","mustache","SubExpression","escaped","noEscape","Decorator","ContentStatement","content","value","CommentStatement","isBlock","strict","knownHelpersOnly","falsy","helpers","simpleId","PathExpression","addDepth","scoped","scopedId","blockParamId","blockParamIndex","StringLiteral","string","NumberLiteral","number","BooleanLiteral","bool","UndefinedLiteral","NullLiteral","Hash","hash","pairs","l","pushParam","key","arguments","isBlockParam","isHelper","helperExpression","isEligible","_name","pushParams","val","replace","blockParamChild","join","omitEmpty","param","indexOf"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var r,t=require("../../../../../../_virtual/helpers.cjs"),e=require("../exception.cjs");exports.__require=function(){if(r)return t.__exports;r=1,t.__exports.__esModule=!0,t.__exports.SourceLocation=function(r,t){this.source=r,this.start={line:t.first_line,column:t.first_column},this.end={line:t.last_line,column:t.last_column}},t.__exports.id=function(r){return/^\[.*\]$/.test(r)?r.substring(1,r.length-1):r},t.__exports.stripFlags=function(r,t){return{open:"~"===r.charAt(2),close:"~"===t.charAt(t.length-3)}},t.__exports.stripComment=function(r){return r.replace(/^\{\{~?!-?-?/,"").replace(/-?-?~?\}\}$/,"")},t.__exports.preparePath=function(r,t,e){e=this.locInfo(e);for(var o=r?"@":"",a=[],p=0,s=0,i=t.length;s<i;s++){var c=t[s].part,l=t[s].original!==c;if(o+=(t[s].separator||"")+c,l||".."!==c&&"."!==c&&"this"!==c)a.push(c);else{if(a.length>0)throw new n.default("Invalid path: "+o,{loc:e});".."===c&&p++}}return{type:"PathExpression",data:r,depth:p,parts:a,original:o,loc:e}},t.__exports.prepareMustache=function(r,t,e,o,a,n){var p=o.charAt(3)||o.charAt(2),s="{"!==p&&"&"!==p;return{type:/\*/.test(o)?"Decorator":"MustacheStatement",path:r,params:t,hash:e,escaped:s,strip:a,loc:this.locInfo(n)}},t.__exports.prepareRawBlock=function(r,t,e,o){p(r,e),o=this.locInfo(o);var a={type:"Program",body:t,strip:{},loc:o};return{type:"BlockStatement",path:r.path,params:r.params,hash:r.hash,program:a,openStrip:{},inverseStrip:{},closeStrip:{},loc:o}},t.__exports.prepareBlock=function(r,t,e,o,a,s){o&&o.path&&p(r,o);var i=/\*/.test(r.open);t.blockParams=r.blockParams;var c=void 0,l=void 0;if(e){if(i)throw new n.default("Unexpected inverse block on decorator",e);e.chain&&(e.program.body[0].closeStrip=o.strip),l=e.strip,c=e.program}a&&(a=c,c=t,t=a);return{type:i?"DecoratorBlock":"BlockStatement",path:r.path,params:r.params,hash:r.hash,program:t,inverse:c,openStrip:r.strip,inverseStrip:l,closeStrip:o&&o.strip,loc:this.locInfo(s)}},t.__exports.prepareProgram=function(r,t){if(!t&&r.length){var e=r[0].loc,o=r[r.length-1].loc;e&&o&&(t={source:e.source,start:{line:e.start.line,column:e.start.column},end:{line:o.end.line,column:o.end.column}})}return{type:"Program",body:r,strip:{},loc:t}},t.__exports.preparePartialBlock=function(r,t,e,o){return p(r,e),{type:"PartialBlockStatement",name:r.path,params:r.params,hash:r.hash,program:t,openStrip:r.strip,closeStrip:e&&e.strip,loc:this.locInfo(o)}};var o,a=e.__require(),n=(o=a)&&o.__esModule?o:{default:o};function p(r,t){if(t=t.path?t.path.original:t,r.path.original!==t){var e={loc:r.path.loc};throw new n.default(r.path.original+" doesn't match "+t,e)}}return t.__exports};
|
|
2
|
+
//# sourceMappingURL=helpers.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.cjs","sources":["../../../../../../../../node_modules/handlebars/dist/cjs/handlebars/compiler/helpers.js"],"sourcesContent":["'use strict';\n\nexports.__esModule = true;\nexports.SourceLocation = SourceLocation;\nexports.id = id;\nexports.stripFlags = stripFlags;\nexports.stripComment = stripComment;\nexports.preparePath = preparePath;\nexports.prepareMustache = prepareMustache;\nexports.prepareRawBlock = prepareRawBlock;\nexports.prepareBlock = prepareBlock;\nexports.prepareProgram = prepareProgram;\nexports.preparePartialBlock = preparePartialBlock;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nfunction validateClose(open, close) {\n close = close.path ? close.path.original : close;\n\n if (open.path.original !== close) {\n var errorNode = { loc: open.path.loc };\n\n throw new _exception2['default'](open.path.original + \" doesn't match \" + close, errorNode);\n }\n}\n\nfunction SourceLocation(source, locInfo) {\n this.source = source;\n this.start = {\n line: locInfo.first_line,\n column: locInfo.first_column\n };\n this.end = {\n line: locInfo.last_line,\n column: locInfo.last_column\n };\n}\n\nfunction id(token) {\n if (/^\\[.*\\]$/.test(token)) {\n return token.substring(1, token.length - 1);\n } else {\n return token;\n }\n}\n\nfunction stripFlags(open, close) {\n return {\n open: open.charAt(2) === '~',\n close: close.charAt(close.length - 3) === '~'\n };\n}\n\nfunction stripComment(comment) {\n return comment.replace(/^\\{\\{~?!-?-?/, '').replace(/-?-?~?\\}\\}$/, '');\n}\n\nfunction preparePath(data, parts, loc) {\n loc = this.locInfo(loc);\n\n var original = data ? '@' : '',\n dig = [],\n depth = 0;\n\n for (var i = 0, l = parts.length; i < l; i++) {\n var part = parts[i].part,\n\n // If we have [] syntax then we do not treat path references as operators,\n // i.e. foo.[this] resolves to approximately context.foo['this']\n isLiteral = parts[i].original !== part;\n original += (parts[i].separator || '') + part;\n\n if (!isLiteral && (part === '..' || part === '.' || part === 'this')) {\n if (dig.length > 0) {\n throw new _exception2['default']('Invalid path: ' + original, { loc: loc });\n } else if (part === '..') {\n depth++;\n }\n } else {\n dig.push(part);\n }\n }\n\n return {\n type: 'PathExpression',\n data: data,\n depth: depth,\n parts: dig,\n original: original,\n loc: loc\n };\n}\n\nfunction prepareMustache(path, params, hash, open, strip, locInfo) {\n // Must use charAt to support IE pre-10\n var escapeFlag = open.charAt(3) || open.charAt(2),\n escaped = escapeFlag !== '{' && escapeFlag !== '&';\n\n var decorator = /\\*/.test(open);\n return {\n type: decorator ? 'Decorator' : 'MustacheStatement',\n path: path,\n params: params,\n hash: hash,\n escaped: escaped,\n strip: strip,\n loc: this.locInfo(locInfo)\n };\n}\n\nfunction prepareRawBlock(openRawBlock, contents, close, locInfo) {\n validateClose(openRawBlock, close);\n\n locInfo = this.locInfo(locInfo);\n var program = {\n type: 'Program',\n body: contents,\n strip: {},\n loc: locInfo\n };\n\n return {\n type: 'BlockStatement',\n path: openRawBlock.path,\n params: openRawBlock.params,\n hash: openRawBlock.hash,\n program: program,\n openStrip: {},\n inverseStrip: {},\n closeStrip: {},\n loc: locInfo\n };\n}\n\nfunction prepareBlock(openBlock, program, inverseAndProgram, close, inverted, locInfo) {\n if (close && close.path) {\n validateClose(openBlock, close);\n }\n\n var decorator = /\\*/.test(openBlock.open);\n\n program.blockParams = openBlock.blockParams;\n\n var inverse = undefined,\n inverseStrip = undefined;\n\n if (inverseAndProgram) {\n if (decorator) {\n throw new _exception2['default']('Unexpected inverse block on decorator', inverseAndProgram);\n }\n\n if (inverseAndProgram.chain) {\n inverseAndProgram.program.body[0].closeStrip = close.strip;\n }\n\n inverseStrip = inverseAndProgram.strip;\n inverse = inverseAndProgram.program;\n }\n\n if (inverted) {\n inverted = inverse;\n inverse = program;\n program = inverted;\n }\n\n return {\n type: decorator ? 'DecoratorBlock' : 'BlockStatement',\n path: openBlock.path,\n params: openBlock.params,\n hash: openBlock.hash,\n program: program,\n inverse: inverse,\n openStrip: openBlock.strip,\n inverseStrip: inverseStrip,\n closeStrip: close && close.strip,\n loc: this.locInfo(locInfo)\n };\n}\n\nfunction prepareProgram(statements, loc) {\n if (!loc && statements.length) {\n var firstLoc = statements[0].loc,\n lastLoc = statements[statements.length - 1].loc;\n\n /* istanbul ignore else */\n if (firstLoc && lastLoc) {\n loc = {\n source: firstLoc.source,\n start: {\n line: firstLoc.start.line,\n column: firstLoc.start.column\n },\n end: {\n line: lastLoc.end.line,\n column: lastLoc.end.column\n }\n };\n }\n }\n\n return {\n type: 'Program',\n body: statements,\n strip: {},\n loc: loc\n };\n}\n\nfunction preparePartialBlock(open, program, close, locInfo) {\n validateClose(open, close);\n\n return {\n type: 'PartialBlockStatement',\n name: open.path,\n params: open.params,\n hash: open.hash,\n program: program,\n openStrip: open.strip,\n closeStrip: close && close.strip,\n loc: this.locInfo(locInfo)\n };\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2hlbHBlcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7eUJBQXNCLGNBQWM7Ozs7QUFFcEMsU0FBUyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtBQUNsQyxPQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7O0FBRWpELE1BQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO0FBQ2hDLFFBQUksU0FBUyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7O0FBRXZDLFVBQU0sMkJBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsaUJBQWlCLEdBQUcsS0FBSyxFQUM5QyxTQUFTLENBQ1YsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxjQUFjLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRTtBQUM5QyxNQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQUNyQixNQUFJLENBQUMsS0FBSyxHQUFHO0FBQ1gsUUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVO0FBQ3hCLFVBQU0sRUFBRSxPQUFPLENBQUMsWUFBWTtHQUM3QixDQUFDO0FBQ0YsTUFBSSxDQUFDLEdBQUcsR0FBRztBQUNULFFBQUksRUFBRSxPQUFPLENBQUMsU0FBUztBQUN2QixVQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVc7R0FDNUIsQ0FBQztDQUNIOztBQUVNLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRTtBQUN4QixNQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDMUIsV0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQzdD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R0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7OztBQUdsRCxRQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUU7QUFDdkIsU0FBRyxHQUFHO0FBQ0osY0FBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO0FBQ3ZCLGFBQUssRUFBRTtBQUNMLGNBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUk7QUFDekIsZ0JBQU0sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU07U0FDOUI7QUFDRCxXQUFHLEVBQUU7QUFDSCxjQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJO0FBQ3RCLGdCQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1NBQzNCO09BQ0YsQ0FBQztLQUNIO0dBQ0Y7O0FBRUQsU0FBTztBQUNMLFFBQUksRUFBRSxTQUFTO0FBQ2YsUUFBSSxFQUFFLFVBQVU7QUFDaEIsU0FBSyxFQUFFLEVBQUU7QUFDVCxPQUFHLEVBQUUsR0FBRztHQUNULENBQUM7Q0FDSDs7QUFFTSxTQUFTLG1CQUFtQixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtBQUNqRSxlQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDOztBQUUzQixTQUFPO0FBQ0wsUUFBSSxFQUFFLHVCQUF1QjtBQUM3QixRQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7QUFDZixVQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07QUFDbkIsUUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO0FBQ2YsV0FBTyxFQUFQLE9BQU87QUFDUCxhQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUs7QUFDckIsY0FBVSxFQUFFLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSztBQUNoQyxPQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7R0FDM0IsQ0FBQztDQUNIIiwiZmlsZSI6ImhlbHBlcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2xvc2Uob3BlbiwgY2xvc2UpIHtcbiAgY2xvc2UgPSBjbG9zZS5wYXRoID8gY2xvc2UucGF0aC5vcmlnaW5hbCA6IGNsb3NlO1xuXG4gIGlmIChvcGVuLnBhdGgub3JpZ2luYWwgIT09IGNsb3NlKSB7XG4gICAgbGV0IGVycm9yTm9kZSA9IHsgbG9jOiBvcGVuLnBhdGgubG9jIH07XG5cbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgb3Blbi5wYXRoLm9yaWdpbmFsICsgXCIgZG9lc24ndCBtYXRjaCBcIiArIGNsb3NlLFxuICAgICAgZXJyb3JOb2RlXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU291cmNlTG9jYXRpb24oc291cmNlLCBsb2NJbmZvKSB7XG4gIHRoaXMuc291cmNlID0gc291cmNlO1xuICB0aGlzLnN0YXJ0ID0ge1xuICAgIGxpbmU6IGxvY0luZm8uZmlyc3RfbGluZSxcbiAgICBjb2x1bW46IGxvY0luZm8uZmlyc3RfY29sdW1uXG4gIH07XG4gIHRoaXMuZW5kID0ge1xuICAgIGxpbmU6IGxvY0luZm8ubGFzdF9saW5lLFxuICAgIGNvbHVtbjogbG9jSW5mby5sYXN0X2NvbHVtblxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaWQodG9rZW4pIHtcbiAgaWYgKC9eXFxbLipcXF0kLy50ZXN0KHRva2VuKSkge1xuICAgIHJldHVybiB0b2tlbi5zdWJzdHJpbmcoMSwgdG9rZW4ubGVuZ3RoIC0gMSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpcEZsYWdzKG9wZW4sIGNsb3NlKSB7XG4gIHJldHVybiB7XG4gICAgb3Blbjogb3Blbi5jaGFyQXQoMikgPT09ICd+JyxcbiAgICBjbG9zZTogY2xvc2UuY2hhckF0KGNsb3NlLmxlbmd0aCAtIDMpID09PSAnfidcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwQ29tbWVudChjb21tZW50KSB7XG4gIHJldHVybiBjb21tZW50LnJlcGxhY2UoL15cXHtcXHt+PyEtPy0/LywgJycpLnJlcGxhY2UoLy0/LT9+P1xcfVxcfSQvLCAnJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlUGF0aChkYXRhLCBwYXJ0cywgbG9jKSB7XG4gIGxvYyA9IHRoaXMubG9jSW5mbyhsb2MpO1xuXG4gIGxldCBvcmlnaW5hbCA9IGRhdGEgPyAnQCcgOiAnJyxcbiAgICBkaWcgPSBbXSxcbiAgICBkZXB0aCA9IDA7XG5cbiAgZm9yIChsZXQgaSA9IDAsIGwgPSBwYXJ0cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBsZXQgcGFydCA9IHBhcnRzW2ldLnBhcnQsXG4gICAgICAvLyBJZiB3ZSBoYXZlIFtdIHN5bnRheCB0aGVuIHdlIGRvIG5vdCB0cmVhdCBwYXRoIHJlZmVyZW5jZXMgYXMgb3BlcmF0b3JzLFxuICAgICAgLy8gaS5lLiBmb28uW3RoaXNdIHJlc29sdmVzIHRvIGFwcHJveGltYXRlbHkgY29udGV4dC5mb29bJ3RoaXMnXVxuICAgICAgaXNMaXRlcmFsID0gcGFydHNbaV0ub3JpZ2luYWwgIT09IHBhcnQ7XG4gICAgb3JpZ2luYWwgKz0gKHBhcnRzW2ldLnNlcGFyYXRvciB8fCAnJykgKyBwYXJ0O1xuXG4gICAgaWYgKCFpc0xpdGVyYWwgJiYgKHBhcnQgPT09ICcuLicgfHwgcGFydCA9PT0gJy4nIHx8IHBhcnQgPT09ICd0aGlzJykpIHtcbiAgICAgIGlmIChkaWcubGVuZ3RoID4gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIHBhdGg6ICcgKyBvcmlnaW5hbCwgeyBsb2MgfSk7XG4gICAgICB9IGVsc2UgaWYgKHBhcnQgPT09ICcuLicpIHtcbiAgICAgICAgZGVwdGgrKztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZGlnLnB1c2gocGFydCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnUGF0aEV4cHJlc3Npb24nLFxuICAgIGRhdGEsXG4gICAgZGVwdGgsXG4gICAgcGFydHM6IGRpZyxcbiAgICBvcmlnaW5hbCxcbiAgICBsb2NcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVNdXN0YWNoZShwYXRoLCBwYXJhbXMsIGhhc2gsIG9wZW4sIHN0cmlwLCBsb2NJbmZvKSB7XG4gIC8vIE11c3QgdXNlIGNoYXJBdCB0byBzdXBwb3J0IElFIHByZS0xMFxuICBsZXQgZXNjYXBlRmxhZyA9IG9wZW4uY2hhckF0KDMpIHx8IG9wZW4uY2hhckF0KDIpLFxuICAgIGVzY2FwZWQgPSBlc2NhcGVGbGFnICE9PSAneycgJiYgZXNjYXBlRmxhZyAhPT0gJyYnO1xuXG4gIGxldCBkZWNvcmF0b3IgPSAvXFwqLy50ZXN0KG9wZW4pO1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGRlY29yYXRvciA/ICdEZWNvcmF0b3InIDogJ011c3RhY2hlU3RhdGVtZW50JyxcbiAgICBwYXRoLFxuICAgIHBhcmFtcyxcbiAgICBoYXNoLFxuICAgIGVzY2FwZWQsXG4gICAgc3RyaXAsXG4gICAgbG9jOiB0aGlzLmxvY0luZm8obG9jSW5mbylcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVSYXdCbG9jayhvcGVuUmF3QmxvY2ssIGNvbnRlbnRzLCBjbG9zZSwgbG9jSW5mbykge1xuICB2YWxpZGF0ZUNsb3NlKG9wZW5SYXdCbG9jaywgY2xvc2UpO1xuXG4gIGxvY0luZm8gPSB0aGlzLmxvY0luZm8obG9jSW5mbyk7XG4gIGxldCBwcm9ncmFtID0ge1xuICAgIHR5cGU6ICdQcm9ncmFtJyxcbiAgICBib2R5OiBjb250ZW50cyxcbiAgICBzdHJpcDoge30sXG4gICAgbG9jOiBsb2NJbmZvXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnQmxvY2tTdGF0ZW1lbnQnLFxuICAgIHBhdGg6IG9wZW5SYXdCbG9jay5wYXRoLFxuICAgIHBhcmFtczogb3BlblJhd0Jsb2NrLnBhcmFtcyxcbiAgICBoYXNoOiBvcGVuUmF3QmxvY2suaGFzaCxcbiAgICBwcm9ncmFtLFxuICAgIG9wZW5TdHJpcDoge30sXG4gICAgaW52ZXJzZVN0cmlwOiB7fSxcbiAgICBjbG9zZVN0cmlwOiB7fSxcbiAgICBsb2M6IGxvY0luZm9cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVCbG9jayhcbiAgb3BlbkJsb2NrLFxuICBwcm9ncmFtLFxuICBpbnZlcnNlQW5kUHJvZ3JhbSxcbiAgY2xvc2UsXG4gIGludmVydGVkLFxuICBsb2NJbmZvXG4pIHtcbiAgaWYgKGNsb3NlICYmIGNsb3NlLnBhdGgpIHtcbiAgICB2YWxpZGF0ZUNsb3NlKG9wZW5CbG9jaywgY2xvc2UpO1xuICB9XG5cbiAgbGV0IGRlY29yYXRvciA9IC9cXCovLnRlc3Qob3BlbkJsb2NrLm9wZW4pO1xuXG4gIHByb2dyYW0uYmxvY2tQYXJhbXMgPSBvcGVuQmxvY2suYmxvY2tQYXJhbXM7XG5cbiAgbGV0IGludmVyc2UsIGludmVyc2VTdHJpcDtcblxuICBpZiAoaW52ZXJzZUFuZFByb2dyYW0pIHtcbiAgICBpZiAoZGVjb3JhdG9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgICAnVW5leHBlY3RlZCBpbnZlcnNlIGJsb2NrIG9uIGRlY29yYXRvcicsXG4gICAgICAgIGludmVyc2VBbmRQcm9ncmFtXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChpbnZlcnNlQW5kUHJvZ3JhbS5jaGFpbikge1xuICAgICAgaW52ZXJzZUFuZFByb2dyYW0ucHJvZ3JhbS5ib2R5WzBdLmNsb3NlU3RyaXAgPSBjbG9zZS5zdHJpcDtcbiAgICB9XG5cbiAgICBpbnZlcnNlU3RyaXAgPSBpbnZlcnNlQW5kUHJvZ3JhbS5zdHJpcDtcbiAgICBpbnZlcnNlID0gaW52ZXJzZUFuZFByb2dyYW0ucHJvZ3JhbTtcbiAgfVxuXG4gIGlmIChpbnZlcnRlZCkge1xuICAgIGludmVydGVkID0gaW52ZXJzZTtcbiAgICBpbnZlcnNlID0gcHJvZ3JhbTtcbiAgICBwcm9ncmFtID0gaW52ZXJ0ZWQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IGRlY29yYXRvciA/ICdEZWNvcmF0b3JCbG9jaycgOiAnQmxvY2tTdGF0ZW1lbnQnLFxuICAgIHBhdGg6IG9wZW5CbG9jay5wYXRoLFxuICAgIHBhcmFtczogb3BlbkJsb2NrLnBhcmFtcyxcbiAgICBoYXNoOiBvcGVuQmxvY2suaGFzaCxcbiAgICBwcm9ncmFtLFxuICAgIGludmVyc2UsXG4gICAgb3BlblN0cmlwOiBvcGVuQmxvY2suc3RyaXAsXG4gICAgaW52ZXJzZVN0cmlwLFxuICAgIGNsb3NlU3RyaXA6IGNsb3NlICYmIGNsb3NlLnN0cmlwLFxuICAgIGxvYzogdGhpcy5sb2NJbmZvKGxvY0luZm8pXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlUHJvZ3JhbShzdGF0ZW1lbnRzLCBsb2MpIHtcbiAgaWYgKCFsb2MgJiYgc3RhdGVtZW50cy5sZW5ndGgpIHtcbiAgICBjb25zdCBmaXJzdExvYyA9IHN0YXRlbWVudHNbMF0ubG9jLFxuICAgICAgbGFzdExvYyA9IHN0YXRlbWVudHNbc3RhdGVtZW50cy5sZW5ndGggLSAxXS5sb2M7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChmaXJzdExvYyAmJiBsYXN0TG9jKSB7XG4gICAgICBsb2MgPSB7XG4gICAgICAgIHNvdXJjZTogZmlyc3RMb2Muc291cmNlLFxuICAgICAgICBzdGFydDoge1xuICAgICAgICAgIGxpbmU6IGZpcnN0TG9jLnN0YXJ0LmxpbmUsXG4gICAgICAgICAgY29sdW1uOiBmaXJzdExvYy5zdGFydC5jb2x1bW5cbiAgICAgICAgfSxcbiAgICAgICAgZW5kOiB7XG4gICAgICAgICAgbGluZTogbGFzdExvYy5lbmQubGluZSxcbiAgICAgICAgICBjb2x1bW46IGxhc3RMb2MuZW5kLmNvbHVtblxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdHlwZTogJ1Byb2dyYW0nLFxuICAgIGJvZHk6IHN0YXRlbWVudHMsXG4gICAgc3RyaXA6IHt9LFxuICAgIGxvYzogbG9jXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlUGFydGlhbEJsb2NrKG9wZW4sIHByb2dyYW0sIGNsb3NlLCBsb2NJbmZvKSB7XG4gIHZhbGlkYXRlQ2xvc2Uob3BlbiwgY2xvc2UpO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogJ1BhcnRpYWxCbG9ja1N0YXRlbWVudCcsXG4gICAgbmFtZTogb3Blbi5wYXRoLFxuICAgIHBhcmFtczogb3Blbi5wYXJhbXMsXG4gICAgaGFzaDogb3Blbi5oYXNoLFxuICAgIHByb2dyYW0sXG4gICAgb3BlblN0cmlwOiBvcGVuLnN0cmlwLFxuICAgIGNsb3NlU3RyaXA6IGNsb3NlICYmIGNsb3NlLnN0cmlwLFxuICAgIGxvYzogdGhpcy5sb2NJbmZvKGxvY0luZm8pXG4gIH07XG59XG4iXX0=\n"],"names":["helpers","SourceLocation","source","locInfo","this","start","line","first_line","column","first_column","end","last_line","last_column","id","token","test","substring","length","stripFlags","open","close","charAt","stripComment","comment","replace","preparePath","data","parts","loc","original","dig","depth","i","l","part","isLiteral","separator","push","_exception2","type","prepareMustache","path","params","hash","strip","escapeFlag","escaped","prepareRawBlock","openRawBlock","contents","validateClose","program","body","openStrip","inverseStrip","closeStrip","prepareBlock","openBlock","inverseAndProgram","inverted","decorator","blockParams","inverse","undefined","chain","prepareProgram","statements","firstLoc","lastLoc","preparePartialBlock","name","obj","_exception","require$$0","__esModule","default","errorNode"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var t,s=require("../../../../../../_virtual/javascript-compiler.cjs"),e=require("../base.cjs"),i=require("../exception.cjs"),r=require("../utils.cjs"),n=require("./code-gen.cjs");exports.__require=function(){return t||(t=1,function(t,s){function o(t){return t&&t.__esModule?t:{default:t}}s.__esModule=!0;var a=e.__require(),h=o(i.__require()),c=r.__require(),p=o(n.__require());function u(t){this.value=t}function l(){}l.prototype={nameLookup:function(t,s){return this.internalNameLookup(t,s)},depthedLookup:function(t){return[this.aliasable("container.lookup"),"(depths, ",JSON.stringify(t),")"]},compilerInfo:function(){var t=a.COMPILER_REVISION;return[t,a.REVISION_CHANGES[t]]},appendToBuffer:function(t,s,e){return c.isArray(t)||(t=[t]),t=this.source.wrap(t,s),this.environment.isSimple?["return ",t,";"]:e?["buffer += ",t,";"]:(t.appendToBuffer=!0,t)},initializeBuffer:function(){return this.quotedString("")},internalNameLookup:function(t,s){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",t,",",JSON.stringify(s),")"]},lookupPropertyFunctionIsUsed:!1,compile:function(t,s,e,i){this.environment=t,this.options=s,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!i,this.name=this.environment.name,this.isChild=!!e,this.context=e||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(t,s),this.useDepths=this.useDepths||t.useDepths||t.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||t.useBlockParams;var r=t.opcodes,n=void 0,o=void 0,a=void 0,c=void 0;for(a=0,c=r.length;a<c;a++)n=r[a],this.source.currentLocation=n.loc,o=o||n.loc,this[n.opcode].apply(this,n.args);if(this.source.currentLocation=o,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new h.default("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend(["var decorators = container.decorators, ",this.lookupPropertyFunctionVarDeclaration(),";\n"]),this.decorators.push("return fn;"),i?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend("function(fn, props, container, depth0, data, blockParams, depths) {\n"),this.decorators.push("}\n"),this.decorators=this.decorators.merge()));var p=this.createFunctionContext(i);if(this.isChild)return p;var u={compiler:this.compilerInfo(),main:p};this.decorators&&(u.main_d=this.decorators,u.useDecorators=!0);var l=this.context,f=l.programs,d=l.decorators;for(a=0,c=f.length;a<c;a++)f[a]&&(u[a]=f[a],d[a]&&(u[a+"_d"]=d[a],u.useDecorators=!0));return this.environment.usePartial&&(u.usePartial=!0),this.options.data&&(u.useData=!0),this.useDepths&&(u.useDepths=!0),this.useBlockParams&&(u.useBlockParams=!0),this.options.compat&&(u.compat=!0),i?u.compilerOptions=this.options:(u.compiler=JSON.stringify(u.compiler),this.source.currentLocation={start:{line:1,column:0}},u=this.objectLiteral(u),s.srcName?(u=u.toStringWithSourceMap({file:s.destName})).map=u.map&&u.map.toString():u=u.toString()),u},preamble:function(){this.lastContext=0,this.source=new p.default(this.options.srcName),this.decorators=new p.default(this.options.srcName)},createFunctionContext:function(t){var s=this,e="",i=this.stackVars.concat(this.registers.list);i.length>0&&(e+=", "+i.join(", "));var r=0;Object.keys(this.aliases).forEach(function(t){var i=s.aliases[t];i.children&&i.referenceCount>1&&(e+=", alias"+ ++r+"="+t,i.children[0]="alias"+r)}),this.lookupPropertyFunctionIsUsed&&(e+=", "+this.lookupPropertyFunctionVarDeclaration());var n=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&n.push("blockParams"),this.useDepths&&n.push("depths");var o=this.mergeSource(e);return t?(n.push(o),Function.apply(this,n)):this.source.wrap(["function(",n.join(","),") {\n ",o,"}"])},mergeSource:function(t){var s=this.environment.isSimple,e=!this.forceBuffer,i=void 0,r=void 0,n=void 0,o=void 0;return this.source.each(function(t){t.appendToBuffer?(n?t.prepend(" + "):n=t,o=t):(n&&(r?n.prepend("buffer += "):i=!0,o.add(";"),n=o=void 0),r=!0,s||(e=!1))}),e?n?(n.prepend("return "),o.add(";")):r||this.source.push('return "";'):(t+=", buffer = "+(i?"":this.initializeBuffer()),n?(n.prepend("return buffer + "),o.add(";")):this.source.push("return buffer;")),t&&this.source.prepend("var "+t.substring(2)+(i?"":";\n")),this.source.merge()},lookupPropertyFunctionVarDeclaration:function(){return"\n lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }\n ".trim()},blockValue:function(t){var s=this.aliasable("container.hooks.blockHelperMissing"),e=[this.contextName(0)];this.setupHelperArgs(t,0,e);var i=this.popStack();e.splice(1,0,i),this.push(this.source.functionCall(s,"call",e))},ambiguousBlockValue:function(){var t=this.aliasable("container.hooks.blockHelperMissing"),s=[this.contextName(0)];this.setupHelperArgs("",0,s,!0),this.flushInline();var e=this.topStack();s.splice(1,0,e),this.pushSource(["if (!",this.lastHelper,") { ",e," = ",this.source.functionCall(t,"call",s),"}"])},appendContent:function(t){this.pendingContent?t=this.pendingContent+t:this.pendingLocation=this.source.currentLocation,this.pendingContent=t},append:function(){if(this.isInline())this.replaceStack(function(t){return[" != null ? ",t,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var t=this.popStack();this.pushSource(["if (",t," != null) { ",this.appendToBuffer(t,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(t){this.lastContext=t},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(t,s,e,i){var r=0;i||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(t[r++])),this.resolvePath("context",t,r,s,e)},lookupBlockParam:function(t,s){this.useBlockParams=!0,this.push(["blockParams[",t[0],"][",t[1],"]"]),this.resolvePath("context",s,1)},lookupData:function(t,s,e){t?this.pushStackLiteral("container.data(data, "+t+")"):this.pushStackLiteral("data"),this.resolvePath("data",s,0,!0,e)},resolvePath:function(t,s,e,i,r){var n=this;if(this.options.strict||this.options.assumeObjects)this.push(function(t,s,e,i,r){var n=s.popStack(),o=e.length;t&&o--;for(;i<o;i++)n=s.nameLookup(n,e[i],r);return t?[s.aliasable("container.strict"),"(",n,", ",s.quotedString(e[i]),", ",JSON.stringify(s.source.currentLocation)," )"]:n}(this.options.strict&&r,this,s,e,t));else for(var o=s.length;e<o;e++)this.replaceStack(function(r){var o=n.nameLookup(r,s[e],t);return i?[" && ",o]:[" != null ? ",o," : ",r]})},resolvePossibleLambda:function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},pushStringParam:function(t,s){this.pushContext(),this.pushString(s),"SubExpression"!==s&&("string"==typeof t?this.pushString(t):this.pushStackLiteral(t))},emptyHash:function(t){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(t?"undefined":"{}")},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:{},types:[],contexts:[],ids:[]}},popHash:function(){var t=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(t.ids)),this.stringParams&&(this.push(this.objectLiteral(t.contexts)),this.push(this.objectLiteral(t.types))),this.push(this.objectLiteral(t.values))},pushString:function(t){this.pushStackLiteral(this.quotedString(t))},pushLiteral:function(t){this.pushStackLiteral(t)},pushProgram:function(t){null!=t?this.pushStackLiteral(this.programExpression(t)):this.pushStackLiteral(null)},registerDecorator:function(t,s){var e=this.nameLookup("decorators",s,"decorator"),i=this.setupHelperArgs(s,t);this.decorators.push(["fn = ",this.decorators.functionCall(e,"",["fn","props","container",i])," || fn;"])},invokeHelper:function(t,s,e){var i=this.popStack(),r=this.setupHelper(t,s),n=[];e&&n.push(r.name),n.push(i),this.options.strict||n.push(this.aliasable("container.hooks.helperMissing"));var o=["(",this.itemsSeparatedBy(n,"||"),")"],a=this.source.functionCall(o,"call",r.callParams);this.push(a)},itemsSeparatedBy:function(t,s){var e=[];e.push(t[0]);for(var i=1;i<t.length;i++)e.push(s,t[i]);return e},invokeKnownHelper:function(t,s){var e=this.setupHelper(t,s);this.push(this.source.functionCall(e.name,"call",e.callParams))},invokeAmbiguous:function(t,s){this.useRegister("helper");var e=this.popStack();this.emptyHash();var i=this.setupHelper(0,t,s),r=["(","(helper = ",this.lastHelper=this.nameLookup("helpers",t,"helper")," || ",e,")"];this.options.strict||(r[0]="(helper = ",r.push(" != null ? helper : ",this.aliasable("container.hooks.helperMissing"))),this.push(["(",r,i.paramsInit?["),(",i.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",i.callParams)," : helper))"])},invokePartial:function(t,s,e){var i=[],r=this.setupParams(s,1,i);t&&(s=this.popStack(),delete r.name),e&&(r.indent=JSON.stringify(e)),r.helpers="helpers",r.partials="partials",r.decorators="container.decorators",t?i.unshift(s):i.unshift(this.nameLookup("partials",s,"partial")),this.options.compat&&(r.depths="depths"),r=this.objectLiteral(r),i.push(r),this.push(this.source.functionCall("container.invokePartial","",i))},assignToHash:function(t){var s=this.popStack(),e=void 0,i=void 0,r=void 0;this.trackIds&&(r=this.popStack()),this.stringParams&&(i=this.popStack(),e=this.popStack());var n=this.hash;e&&(n.contexts[t]=e),i&&(n.types[t]=i),r&&(n.ids[t]=r),n.values[t]=s},pushId:function(t,s,e){"BlockParam"===t?this.pushStackLiteral("blockParams["+s[0]+"].path["+s[1]+"]"+(e?" + "+JSON.stringify("."+e):"")):"PathExpression"===t?this.pushString(s):"SubExpression"===t?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:l,compileChildren:function(t,s){for(var e=t.children,i=void 0,r=void 0,n=0,o=e.length;n<o;n++){i=e[n],r=new this.compiler;var a=this.matchExistingProgram(i);if(null==a){this.context.programs.push("");var h=this.context.programs.length;i.index=h,i.name="program"+h,this.context.programs[h]=r.compile(i,s,this.context,!this.precompile),this.context.decorators[h]=r.decorators,this.context.environments[h]=i,this.useDepths=this.useDepths||r.useDepths,this.useBlockParams=this.useBlockParams||r.useBlockParams,i.useDepths=this.useDepths,i.useBlockParams=this.useBlockParams}else i.index=a.index,i.name="program"+a.index,this.useDepths=this.useDepths||a.useDepths,this.useBlockParams=this.useBlockParams||a.useBlockParams}},matchExistingProgram:function(t){for(var s=0,e=this.context.environments.length;s<e;s++){var i=this.context.environments[s];if(i&&i.equals(t))return i}},programExpression:function(t){var s=this.environment.children[t],e=[s.index,"data",s.blockParams];return(this.useBlockParams||this.useDepths)&&e.push("blockParams"),this.useDepths&&e.push("depths"),"container.program("+e.join(", ")+")"},useRegister:function(t){this.registers[t]||(this.registers[t]=!0,this.registers.list.push(t))},push:function(t){return t instanceof u||(t=this.source.wrap(t)),this.inlineStack.push(t),t},pushStackLiteral:function(t){this.push(new u(t))},pushSource:function(t){this.pendingContent&&(this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent),this.pendingLocation)),this.pendingContent=void 0),t&&this.source.push(t)},replaceStack:function(t){var s=["("],e=void 0,i=void 0,r=void 0;if(!this.isInline())throw new h.default("replaceStack on non-inline");var n=this.popStack(!0);if(n instanceof u)s=["(",e=[n.value]],r=!0;else{i=!0;var o=this.incrStack();s=["((",this.push(o)," = ",n,")"],e=this.topStack()}var a=t.call(this,e);r||this.popStack(),i&&this.stackSlot--,this.push(s.concat(a,")"))},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var t=this.inlineStack;this.inlineStack=[];for(var s=0,e=t.length;s<e;s++){var i=t[s];if(i instanceof u)this.compileStack.push(i);else{var r=this.incrStack();this.pushSource([r," = ",i,";"]),this.compileStack.push(r)}}},isInline:function(){return this.inlineStack.length},popStack:function(t){var s=this.isInline(),e=(s?this.inlineStack:this.compileStack).pop();if(!t&&e instanceof u)return e.value;if(!s){if(!this.stackSlot)throw new h.default("Invalid stack pop");this.stackSlot--}return e},topStack:function(){var t=this.isInline()?this.inlineStack:this.compileStack,s=t[t.length-1];return s instanceof u?s.value:s},contextName:function(t){return this.useDepths&&t?"depths["+t+"]":"depth"+t},quotedString:function(t){return this.source.quotedString(t)},objectLiteral:function(t){return this.source.objectLiteral(t)},aliasable:function(t){var s=this.aliases[t];return s?(s.referenceCount++,s):((s=this.aliases[t]=this.source.wrap(t)).aliasable=!0,s.referenceCount=1,s)},setupHelper:function(t,s,e){var i=[];return{params:i,paramsInit:this.setupHelperArgs(s,t,i,e),name:this.nameLookup("helpers",s,"helper"),callParams:[this.aliasable(this.contextName(0)+" != null ? "+this.contextName(0)+" : (container.nullContext || {})")].concat(i)}},setupParams:function(t,s,e){var i={},r=[],n=[],o=[],a=!e,h=void 0;a&&(e=[]),i.name=this.quotedString(t),i.hash=this.popStack(),this.trackIds&&(i.hashIds=this.popStack()),this.stringParams&&(i.hashTypes=this.popStack(),i.hashContexts=this.popStack());var c=this.popStack(),p=this.popStack();(p||c)&&(i.fn=p||"container.noop",i.inverse=c||"container.noop");for(var u=s;u--;)h=this.popStack(),e[u]=h,this.trackIds&&(o[u]=this.popStack()),this.stringParams&&(n[u]=this.popStack(),r[u]=this.popStack());return a&&(i.args=this.source.generateArray(e)),this.trackIds&&(i.ids=this.source.generateArray(o)),this.stringParams&&(i.types=this.source.generateArray(n),i.contexts=this.source.generateArray(r)),this.options.data&&(i.data="data"),this.useBlockParams&&(i.blockParams="blockParams"),i},setupHelperArgs:function(t,s,e,i){var r=this.setupParams(t,s,e);return r.loc=JSON.stringify(this.source.currentLocation),r=this.objectLiteral(r),i?(this.useRegister("options"),e.push("options"),["options=",r]):e?(e.push(r),""):r}},function(){for(var t="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "),s=l.RESERVED_WORDS={},e=0,i=t.length;e<i;e++)s[t[e]]=!0}(),l.isValidJavaScriptVariableName=function(t){return!l.RESERVED_WORDS[t]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(t)},s.default=l,t.exports=s.default}(s.__module,s.__module.exports)),s.__module.exports};
|
|
2
|
+
//# sourceMappingURL=javascript-compiler.cjs.map
|