UNPKG

@glimmer/compiler

Version:
191 lines (98 loc) 18.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Tail = exports.Args = exports.NamedArgument = exports.NamedArguments = exports.Positional = exports.Curry = exports.HasBlockParams = exports.HasBlock = exports.InterpolateExpression = exports.Missing = exports.GetFree = exports.GetFreeWithContext = exports.GetSymbol = exports.GetWithResolver = exports.PathExpression = exports.SplatAttr = exports.InvokeBlock = exports.Modifier = exports.DeprecatedCallExpression = exports.CallExpression = exports.Debugger = exports.Yield = exports.ElementParameters = exports.SimpleElement = exports.DynamicAttr = exports.StaticAttr = exports.Component = exports.AppendComment = exports.AppendTextNode = exports.AppendTrustedHTML = exports.EndBlock = exports.NamedBlock = exports.NamedBlocks = exports.InvokeComponent = exports.Log = exports.GetDynamicVar = exports.WithDynamicVars = exports.Let = exports.With = exports.Each = exports.IfInline = exports.If = exports.Not = exports.InElement = exports.Template = void 0; var _syntax = require("@glimmer/syntax"); class Template extends (0, _syntax.node)('Template').fields() {} exports.Template = Template; class InElement extends (0, _syntax.node)('InElement').fields() {} exports.InElement = InElement; class Not extends (0, _syntax.node)('Not').fields() {} exports.Not = Not; class If extends (0, _syntax.node)('If').fields() {} exports.If = If; class IfInline extends (0, _syntax.node)('IfInline').fields() {} exports.IfInline = IfInline; class Each extends (0, _syntax.node)('Each').fields() {} exports.Each = Each; class With extends (0, _syntax.node)('With').fields() {} exports.With = With; class Let extends (0, _syntax.node)('Let').fields() {} exports.Let = Let; class WithDynamicVars extends (0, _syntax.node)('WithDynamicVars').fields() {} exports.WithDynamicVars = WithDynamicVars; class GetDynamicVar extends (0, _syntax.node)('GetDynamicVar').fields() {} exports.GetDynamicVar = GetDynamicVar; class Log extends (0, _syntax.node)('Log').fields() {} exports.Log = Log; class InvokeComponent extends (0, _syntax.node)('InvokeComponent').fields() {} exports.InvokeComponent = InvokeComponent; class NamedBlocks extends (0, _syntax.node)('NamedBlocks').fields() {} exports.NamedBlocks = NamedBlocks; class NamedBlock extends (0, _syntax.node)('NamedBlock').fields() {} exports.NamedBlock = NamedBlock; class EndBlock extends (0, _syntax.node)('EndBlock').fields() {} exports.EndBlock = EndBlock; class AppendTrustedHTML extends (0, _syntax.node)('AppendTrustedHTML').fields() {} exports.AppendTrustedHTML = AppendTrustedHTML; class AppendTextNode extends (0, _syntax.node)('AppendTextNode').fields() {} exports.AppendTextNode = AppendTextNode; class AppendComment extends (0, _syntax.node)('AppendComment').fields() {} exports.AppendComment = AppendComment; class Component extends (0, _syntax.node)('Component').fields() {} exports.Component = Component; class StaticAttr extends (0, _syntax.node)('StaticAttr').fields() {} exports.StaticAttr = StaticAttr; class DynamicAttr extends (0, _syntax.node)('DynamicAttr').fields() {} exports.DynamicAttr = DynamicAttr; class SimpleElement extends (0, _syntax.node)('SimpleElement').fields() {} exports.SimpleElement = SimpleElement; class ElementParameters extends (0, _syntax.node)('ElementParameters').fields() {} exports.ElementParameters = ElementParameters; class Yield extends (0, _syntax.node)('Yield').fields() {} exports.Yield = Yield; class Debugger extends (0, _syntax.node)('Debugger').fields() {} exports.Debugger = Debugger; class CallExpression extends (0, _syntax.node)('CallExpression').fields() {} exports.CallExpression = CallExpression; class DeprecatedCallExpression extends (0, _syntax.node)('DeprecatedCallExpression').fields() {} exports.DeprecatedCallExpression = DeprecatedCallExpression; class Modifier extends (0, _syntax.node)('Modifier').fields() {} exports.Modifier = Modifier; class InvokeBlock extends (0, _syntax.node)('InvokeBlock').fields() {} exports.InvokeBlock = InvokeBlock; class SplatAttr extends (0, _syntax.node)('SplatAttr').fields() {} exports.SplatAttr = SplatAttr; class PathExpression extends (0, _syntax.node)('PathExpression').fields() {} exports.PathExpression = PathExpression; class GetWithResolver extends (0, _syntax.node)('GetWithResolver').fields() {} exports.GetWithResolver = GetWithResolver; class GetSymbol extends (0, _syntax.node)('GetSymbol').fields() {} exports.GetSymbol = GetSymbol; class GetFreeWithContext extends (0, _syntax.node)('GetFreeWithContext').fields() {} /** strict mode */ exports.GetFreeWithContext = GetFreeWithContext; class GetFree extends (0, _syntax.node)('GetFree').fields() {} exports.GetFree = GetFree; class Missing extends (0, _syntax.node)('Missing').fields() {} exports.Missing = Missing; class InterpolateExpression extends (0, _syntax.node)('InterpolateExpression').fields() {} exports.InterpolateExpression = InterpolateExpression; class HasBlock extends (0, _syntax.node)('HasBlock').fields() {} exports.HasBlock = HasBlock; class HasBlockParams extends (0, _syntax.node)('HasBlockParams').fields() {} exports.HasBlockParams = HasBlockParams; class Curry extends (0, _syntax.node)('Curry').fields() {} exports.Curry = Curry; class Positional extends (0, _syntax.node)('Positional').fields() {} exports.Positional = Positional; class NamedArguments extends (0, _syntax.node)('NamedArguments').fields() {} exports.NamedArguments = NamedArguments; class NamedArgument extends (0, _syntax.node)('NamedArgument').fields() {} exports.NamedArgument = NamedArgument; class Args extends (0, _syntax.node)('Args').fields() {} exports.Args = Args; class Tail extends (0, _syntax.node)('Tail').fields() {} exports.Tail = Tail; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL2NvbXBpbGVyL2xpYi9wYXNzZXMvMi1lbmNvZGluZy9taXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBOztBQVdNLE1BQUEsUUFBQSxTQUF3QixrQkFBQSxVQUFBLEVBQXhCLE1BQXdCLEVBQXhCLENBR0Y7Ozs7QUFFRSxNQUFBLFNBQUEsU0FBeUIsa0JBQUEsV0FBQSxFQUF6QixNQUF5QixFQUF6QixDQUtGOzs7O0FBRUUsTUFBQSxHQUFBLFNBQW1CLGtCQUFBLEtBQUEsRUFBbkIsTUFBbUIsRUFBbkIsQ0FBa0U7Ozs7QUFFbEUsTUFBQSxFQUFBLFNBQWtCLGtCQUFBLElBQUEsRUFBbEIsTUFBa0IsRUFBbEIsQ0FJRjs7OztBQUVFLE1BQUEsUUFBQSxTQUF3QixrQkFBQSxVQUFBLEVBQXhCLE1BQXdCLEVBQXhCLENBSUY7Ozs7QUFFRSxNQUFBLElBQUEsU0FBb0Isa0JBQUEsTUFBQSxFQUFwQixNQUFvQixFQUFwQixDQUtGOzs7O0FBRUUsTUFBQSxJQUFBLFNBQW9CLGtCQUFBLE1BQUEsRUFBcEIsTUFBb0IsRUFBcEIsQ0FJRjs7OztBQUVFLE1BQUEsR0FBQSxTQUFtQixrQkFBQSxLQUFBLEVBQW5CLE1BQW1CLEVBQW5CLENBR0Y7Ozs7QUFFRSxNQUFBLGVBQUEsU0FBK0Isa0JBQUEsaUJBQUEsRUFBL0IsTUFBK0IsRUFBL0IsQ0FHRjs7OztBQUVFLE1BQUEsYUFBQSxTQUE2QixrQkFBQSxlQUFBLEVBQTdCLE1BQTZCLEVBQTdCLENBRUY7Ozs7QUFFRSxNQUFBLEdBQUEsU0FBbUIsa0JBQUEsS0FBQSxFQUFuQixNQUFtQixFQUFuQixDQUVGOzs7O0FBRUUsTUFBQSxlQUFBLFNBQStCLGtCQUFBLGlCQUFBLEVBQS9CLE1BQStCLEVBQS9CLENBSUY7Ozs7QUFFRSxNQUFBLFdBQUEsU0FBMkIsa0JBQUEsYUFBQSxFQUEzQixNQUEyQixFQUEzQixDQUVGOzs7O0FBRUUs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QSxNQUFBLEVBQXBCLE1BQW9CLEVBQXBCLENBR0Y7Ozs7QUFDRSxNQUFBLElBQUEsU0FBb0Isa0JBQUEsTUFBQSxFQUFwQixNQUFvQixFQUFwQixDQUFpRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1cnJpZWRUeXBlLCBQcmVzZW50QXJyYXkgfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gIEFTVHYyLFxuICBCbG9ja1N5bWJvbFRhYmxlLFxuICBub2RlLFxuICBQcm9ncmFtU3ltYm9sVGFibGUsXG4gIFNvdXJjZVNsaWNlLFxuICBTeW1ib2xUYWJsZSxcbn0gZnJvbSAnQGdsaW1tZXIvc3ludGF4JztcblxuaW1wb3J0IHsgQW55T3B0aW9uYWxMaXN0LCBPcHRpb25hbExpc3QsIFByZXNlbnRMaXN0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpc3QnO1xuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGUgZXh0ZW5kcyBub2RlKCdUZW1wbGF0ZScpLmZpZWxkczx7XG4gIHNjb3BlOiBQcm9ncmFtU3ltYm9sVGFibGU7XG4gIGJvZHk6IFN0YXRlbWVudFtdO1xufT4oKSB7fVxuXG5leHBvcnQgY2xhc3MgSW5FbGVtZW50IGV4dGVuZHMgbm9kZSgnSW5FbGVtZW50JykuZmllbGRzPHtcbiAgZ3VpZDogc3RyaW5nO1xuICBpbnNlcnRCZWZvcmU6IEV4cHJlc3Npb25Ob2RlIHwgTWlzc2luZztcbiAgZGVzdGluYXRpb246IEV4cHJlc3Npb25Ob2RlO1xuICBibG9jazogTmFtZWRCbG9jaztcbn0+KCkge31cblxuZXhwb3J0IGNsYXNzIE5vdCBleHRlbmRzIG5vZGUoJ05vdCcpLmZpZWxkczx7IHZhbHVlOiBFeHByZXNzaW9uTm9kZSB9PigpIHt9XG5cbmV4cG9ydCBjbGFzcyBJZiBleHRlbmRzIG5vZGUoJ0lmJykuZmllbGRzPHtcbiAgY29uZGl0aW9uOiBFeHByZXNzaW9uTm9kZTtcbiAgYmxvY2s6IE5hbWVkQmxvY2s7XG4gIGludmVyc2U6IE5hbWVkQmxvY2sgfCBudWxsO1xufT4oKSB7fVxuXG5leHBvcnQgY2xhc3MgSWZJbmxpbmUgZXh0ZW5kcyBub2RlKCdJZklubGluZScpLmZpZWxkczx7XG4gIGNvbmRpdGlvbjogRXhwcmVzc2lvbk5vZGU7XG4gIHRydXRoeTogRXhwcmVzc2lvbk5vZGU7XG4gIGZhbHN5OiBFeHByZXNzaW9uTm9kZSB8IG51bGw7XG59PigpIHt9XG5cbmV4cG9ydCBjbGFzcyBFYWNoIGV4dGVuZHMgbm9kZSgnRWFjaCcpLmZpZWxkczx7XG4gIHZhbHVlOiBFeHByZXNzaW9uTm9kZTtcbiAga2V5OiBFeHByZXNzaW9uTm9kZSB8IG51bGw7XG4gIGJsb2NrOiBOYW1lZEJsb2NrO1xuICBpbnZlcnNlOiBOYW1lZEJsb2NrIHwgbnVsbDtcbn0+KCkge31cblxuZXhwb3J0IGNsYXNzIFdpdGggZXh0ZW5kcyBub2RlKCdXaXRoJykuZmllbGRzPHtcbiAgdmFsdWU6IEV4cHJlc3Npb25Ob2RlO1xuICBibG9jazogTmFtZWRCbG9jaztcbiAgaW52ZXJzZTogTmFtZWRCbG9jayB8IG51bGw7XG59PigpIHt9XG5cbmV4cG9ydCBjbGFzcyBMZXQgZXh0ZW5kcyBub2RlKCdMZXQnKS5maWVsZHM8e1xuICBwb3NpdGlvbmFsOiBQb3NpdGlvbmFsO1xuICBibG9jazogTmFtZWRCbG9jaztcbn0+KCkge31cblxuZXhwb3J0IGNsYXNzIFdpdGhEeW5hbWljVmFycyBleHRlbmRzIG5vZGUoJ1dpdGhEeW5hbWljVmFycycpLmZpZWxkczx7XG4gIG5hbWVkOiBOYW1lZEFyZ3VtZW50cztcbiAgYmxvY2s6IE5hbWVkQmxvY2s7XG59PigpIHt9XG5cbmV4cG9ydCBjbGFzcyBHZXREeW5hbWljVmFyIGV4dGVuZHMgbm9kZSgnR2V0RHluYW1pY1ZhcicpLmZpZWxkczx7XG4gIG5hbWU6IEV4cHJlc3Npb25Ob2RlO1xufT4oKSB7fVxuXG5leHBvcnQgY2xhc3MgTG9nIGV4dGVuZHMgbm9kZSgnTG9nJykuZmllbGRzPHtcbiAgcG9zaXRpb25hbDogUG9zaXRpb25hbDtcbn0+KCkge31cblxuZXhwb3J0IGNsYXNzIEludm9rZUNvbXBvbmVudCBleHRlbmRzIG5vZGUoJ0ludm9rZUNvbXBvbmVudCcpLmZpZWxkczx7XG4gIGRlZmluaXRpb246IEV4cHJlc3Npb25Ob2RlO1xuICBhcmdzOiBBcmdzO1xuICBibG9ja3M6IE5hbWVkQmxvY2tzIHwgbnVsbDtcbn0+KCkge31cblxuZXhwb3J0IGNsYXNzIE5hbWVkQmxvY2tzIGV4dGVuZHMgbm9kZSgnTmFtZWRCbG9ja3MnKS5maWVsZHM8e1xuICBibG9ja3M6IE9wdGlvbmFsTGlzdDxOYW1lZEJsb2NrPjtcbn0+KCkge31cblxuZXhwb3J0IGNsYXNzIE5hbWVkQmxvY2sgZXh0ZW5kcyBub2RlKCdOYW1lZEJsb2NrJykuZmllbGRzPHtcbiAgc2NvcGU6IEJsb2NrU3ltYm9sVGFibGU7XG4gIG5hbWU6IFNvdXJjZVNsaWNlO1xuICBib2R5OiBTdGF0ZW1lbnRbXTtcbn0+KCkge31cbmV4cG9ydCBjbGFzcyBFbmRCbG9jayBleHRlbmRzIG5vZGUoJ0VuZEJsb2NrJykuZmllbGRzKCkge31cbmV4cG9ydCBjbGFzcyBBcHBlbmRUcnVzdGVkSFRNTCBleHRlbmRzIG5vZGUoJ0FwcGVuZFRydXN0ZWRIVE1MJykuZmllbGRzPHtcbiAgaHRtbDogRXhwcmVzc2lvbk5vZGU7XG59PigpIHt9XG5leHBvcnQgY2xhc3MgQXBwZW5kVGV4dE5vZGUgZXh0ZW5kcyBub2RlKCdBcHBlbmRUZXh0Tm9kZScpLmZpZWxkczx7IHRleHQ6IEV4cHJlc3Npb25Ob2RlIH0+KCkge31cbmV4cG9ydCBjbGFzcyBBcHBlbmRDb21tZW50IGV4dGVuZHMgbm9kZSgnQXBwZW5kQ29tbWVudCcpLmZpZWxkczx7IHZhbHVlOiBTb3VyY2VTbGljZSB9PigpIHt9XG5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnQgZXh0ZW5kcyBub2RlKCdDb21wb25lbnQnKS5maWVsZHM8e1xuICB0YWc6IEV4cHJlc3Npb25Ob2RlO1xuICBwYXJhbXM6IEVsZW1lbnRQYXJhbWV0ZXJzO1xuICBhcmdzOiBOYW1lZEFyZ3VtZW50cztcbiAgYmxvY2tzOiBOYW1lZEJsb2Nrcztcbn0+KCkge31cblxuZXhwb3J0IGludGVyZmFjZSBBdHRyS2luZCB7XG4gIC8vIHRyaXBsZS1jdXJseVxuICB0cnVzdGluZzogYm9vbGVhbjtcbiAgLy8gdGhpcyBhdHRyaWJ1dGUgaXMgb24gYW4gZWxlbWVudCB3aXRoIGNvbXBvbmVudCBmZWF0dXJlczpcbiAgLy8gICAtIDxDYXBDYXNlIC4uLj5cbiAgLy8gICAtIG1vZGlmaWVyc1xuICAvLyAgIC0gPGR5bmFtaWMudGFnIC4uLj5cbiAgY29tcG9uZW50OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgU3RhdGljQXR0ciBleHRlbmRzIG5vZGUoJ1N0YXRpY0F0dHInKS5maWVsZHM8e1xuICBraW5kOiB7IGNvbXBvbmVudDogYm9vbGVhbiB9O1xuICBuYW1lOiBTb3VyY2VTbGljZTtcbiAgdmFsdWU6IFNvdXJjZVNsaWNlO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG59PigpIHt9XG5cbmV4cG9ydCBjbGFzcyBEeW5hbWljQXR0ciBleHRlbmRzIG5vZGUoJ0R5bmFtaWNBdHRyJykuZmllbGRzPHtcbiAga2luZDogQXR0cktpbmQ7XG4gIG5hbWU6IFNvdXJjZVNsaWNlO1xuICB2YWx1ZTogRXhwcmVzc2lvbk5vZGU7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbn0+KCkge31cblxuZXhwb3J0IGNsYXNzIFNpbXBsZUVsZW1lbnQgZXh0ZW5kcyBub2RlKCdTaW1wbGVFbGVtZW50JykuZmllbGRzPHtcbiAgdGFnOiBTb3VyY2VTbGljZTtcbiAgcGFyYW1zOiBFbGVtZW50UGFyYW1ldGVycztcbiAgYm9keTogU3RhdGVtZW50W107XG4gIGR5bmFtaWNGZWF0dXJlczogYm9vbGVhbjtcbn0+KCkge31cblxuZXhwb3J0IGNsYXNzIEVsZW1lbnRQYXJhbWV0ZXJzIGV4dGVuZHMgbm9kZSgnRWxlbWVudFBhcmFtZXRlcnMnKS5maWVsZHM8e1xuICBib2R5OiBBbnlPcHRpb25hbExpc3Q8RWxlbWVudFBhcmFtZXRlcj47XG59PigpIHt9XG5cbmV4cG9ydCBjbGFzcyBZaWVsZCBleHRlbmRzIG5vZGUoJ1lpZWxkJykuZmllbGRzPHtcbiAgdGFyZ2V0OiBTb3VyY2VTbGljZTtcbiAgdG86IG51bWJlcjtcbiAgcG9zaXRpb25hbDogUG9zaXRpb25hbDtcbn0+KCkge31cbmV4cG9ydCBjbGFzcyBEZWJ1Z2dlciBleHRlbmRzIG5vZGUoJ0RlYnVnZ2VyJykuZmllbGRzPHsgc2NvcGU6IFN5bWJvbFRhYmxlIH0+KCkge31cblxuZXhwb3J0IGNsYXNzIENhbGxFeHByZXNzaW9uIGV4dGVuZHMgbm9kZSgnQ2FsbEV4cHJlc3Npb24nKS5maWVsZHM8e1xuICBjYWxsZWU6IEV4cHJlc3Npb25Ob2RlO1xuICBhcmdzOiBBcmdzO1xufT4oKSB7fVxuZXhwb3J0IGNsYXNzIERlcHJlY2F0ZWRDYWxsRXhwcmVzc2lvbiBleHRlbmRzIG5vZGUoJ0RlcHJlY2F0ZWRDYWxsRXhwcmVzc2lvbicpLmZpZWxkczx7XG4gIGFyZzogU291cmNlU2xpY2U7XG4gIGNhbGxlZTogQVNUdjIuRnJlZVZhclJlZmVyZW5jZTtcbn0+KCkge31cblxuZXhwb3J0IGNsYXNzIE1vZGlmaWVyIGV4dGVuZHMgbm9kZSgnTW9kaWZpZXInKS5maWVsZHM8eyBjYWxsZWU6IEV4cHJlc3Npb25Ob2RlOyBhcmdzOiBBcmdzIH0+KCkge31cbmV4cG9ydCBjbGFzcyBJbnZva2VCbG9jayBleHRlbmRzIG5vZGUoJ0ludm9rZUJsb2NrJykuZmllbGRzPHtcbiAgaGVhZDogRXhwcmVzc2lvbk5vZGU7XG4gIGFyZ3M6IEFyZ3M7XG4gIGJsb2NrczogTmFtZWRCbG9ja3M7XG59PigpIHt9XG5leHBvcnQgY2xhc3MgU3BsYXRBdHRyIGV4dGVuZHMgbm9kZSgnU3BsYXRBdHRyJykuZmllbGRzPHsgc3ltYm9sOiBudW1iZXIgfT4oKSB7fVxuZXhwb3J0IGNsYXNzIFBhdGhFeHByZXNzaW9uIGV4dGVuZHMgbm9kZSgnUGF0aEV4cHJlc3Npb24nKS5maWVsZHM8e1xuICBoZWFkOiBFeHByZXNzaW9uTm9kZTtcbiAgdGFpbDogVGFpbDtcbn0+KCkge31cbmV4cG9ydCBjbGFzcyBHZXRXaXRoUmVzb2x2ZXIgZXh0ZW5kcyBub2RlKCdHZXRXaXRoUmVzb2x2ZXInKS5maWVsZHM8e1xuICBzeW1ib2w6IG51bWJlcjtcbn0+KCkge31cblxuZXhwb3J0IGNsYXNzIEdldFN5bWJvbCBleHRlbmRzIG5vZGUoJ0dldFN5bWJvbCcpLmZpZWxkczx7IHN5bWJvbDogbnVtYmVyIH0+KCkge31cbmV4cG9ydCBjbGFzcyBHZXRGcmVlV2l0aENvbnRleHQgZXh0ZW5kcyBub2RlKCdHZXRGcmVlV2l0aENvbnRleHQnKS5maWVsZHM8e1xuICBzeW1ib2w6IG51bWJlcjtcbiAgY29udGV4dDogQVNUdjIuRnJlZVZhclJlc29sdXRpb247XG59PigpIHt9XG4vKiogc3RyaWN0IG1vZGUgKi9cbmV4cG9ydCBjbGFzcyBHZXRGcmVlIGV4dGVuZHMgbm9kZSgnR2V0RnJlZScpLmZpZWxkczx7XG4gIHN5bWJvbDogbnVtYmVyO1xufT4oKSB7fVxuXG5leHBvcnQgY2xhc3MgTWlzc2luZyBleHRlbmRzIG5vZGUoJ01pc3NpbmcnKS5maWVsZHMoKSB7fVxuZXhwb3J0IGNsYXNzIEludGVycG9sYXRlRXhwcmVzc2lvbiBleHRlbmRzIG5vZGUoJ0ludGVycG9sYXRlRXhwcmVzc2lvbicpLmZpZWxkczx7XG4gIHBhcnRzOiBQcmVzZW50TGlzdDxFeHByZXNzaW9uTm9kZT47XG59PigpIHt9XG5leHBvcnQgY2xhc3MgSGFzQmxvY2sgZXh0ZW5kcyBub2RlKCdIYXNCbG9jaycpLmZpZWxkczx7IHRhcmdldDogU291cmNlU2xpY2U7IHN5bWJvbDogbnVtYmVyIH0+KCkge31cbmV4cG9ydCBjbGFzcyBIYXNCbG9ja1BhcmFtcyBleHRlbmRzIG5vZGUoJ0hhc0Jsb2NrUGFyYW1zJykuZmllbGRzPHtcbiAgdGFyZ2V0OiBTb3VyY2VTbGljZTtcbiAgc3ltYm9sOiBudW1iZXI7XG59PigpIHt9XG5leHBvcnQgY2xhc3MgQ3VycnkgZXh0ZW5kcyBub2RlKCdDdXJyeScpLmZpZWxkczx7XG4gIGRlZmluaXRpb246IEV4cHJlc3Npb25Ob2RlO1xuICBjdXJyaWVkVHlwZTogQ3VycmllZFR5cGU7XG4gIGFyZ3M6IEFyZ3M7XG59PigpIHt9XG5leHBvcnQgY2xhc3MgUG9zaXRpb25hbCBleHRlbmRzIG5vZGUoJ1Bvc2l0aW9uYWwnKS5maWVsZHM8e1xuICBsaXN0OiBPcHRpb25hbExpc3Q8RXhwcmVzc2lvbk5vZGU+O1xufT4oKSB7fVxuZXhwb3J0IGNsYXNzIE5hbWVkQXJndW1lbnRzIGV4dGVuZHMgbm9kZSgnTmFtZWRBcmd1bWVudHMnKS5maWVsZHM8e1xuICBlbnRyaWVzOiBPcHRpb25hbExpc3Q8TmFtZWRBcmd1bWVudD47XG59PigpIHt9XG5leHBvcnQgY2xhc3MgTmFtZWRBcmd1bWVudCBleHRlbmRzIG5vZGUoJ05hbWVkQXJndW1lbnQnKS5maWVsZHM8e1xuICBrZXk6IFNvdXJjZVNsaWNlO1xuICB2YWx1ZTogRXhwcmVzc2lvbk5vZGU7XG59PigpIHt9XG5leHBvcnQgY2xhc3MgQXJncyBleHRlbmRzIG5vZGUoJ0FyZ3MnKS5maWVsZHM8e1xuICBwb3NpdGlvbmFsOiBQb3NpdGlvbmFsO1xuICBuYW1lZDogTmFtZWRBcmd1bWVudHM7XG59PigpIHt9XG5leHBvcnQgY2xhc3MgVGFpbCBleHRlbmRzIG5vZGUoJ1RhaWwnKS5maWVsZHM8eyBtZW1iZXJzOiBQcmVzZW50QXJyYXk8U291cmNlU2xpY2U+IH0+KCkge31cblxuZXhwb3J0IHR5cGUgRXhwcmVzc2lvbk5vZGUgPVxuICB8IEFTVHYyLkxpdGVyYWxFeHByZXNzaW9uXG4gIHwgTWlzc2luZ1xuICB8IFBhdGhFeHByZXNzaW9uXG4gIHwgQVNUdjIuVmFyaWFibGVSZWZlcmVuY2VcbiAgfCBJbnRlcnBvbGF0ZUV4cHJlc3Npb25cbiAgfCBDYWxsRXhwcmVzc2lvblxuICB8IERlcHJlY2F0ZWRDYWxsRXhwcmVzc2lvblxuICB8IE5vdFxuICB8IElmSW5saW5lXG4gIHwgSGFzQmxvY2tcbiAgfCBIYXNCbG9ja1BhcmFtc1xuICB8IEN1cnJ5XG4gIHwgR2V0RHluYW1pY1ZhclxuICB8IExvZztcblxuZXhwb3J0IHR5cGUgRWxlbWVudFBhcmFtZXRlciA9IFN0YXRpY0F0dHIgfCBEeW5hbWljQXR0ciB8IE1vZGlmaWVyIHwgU3BsYXRBdHRyO1xuXG5leHBvcnQgdHlwZSBJbnRlcm5hbCA9XG4gIHwgQXJnc1xuICB8IFBvc2l0aW9uYWxcbiAgfCBOYW1lZEFyZ3VtZW50c1xuICB8IE5hbWVkQXJndW1lbnRcbiAgfCBUYWlsXG4gIHwgTmFtZWRCbG9ja1xuICB8IE5hbWVkQmxvY2tzXG4gIHwgRWxlbWVudFBhcmFtZXRlcnM7XG5leHBvcnQgdHlwZSBFeHByTGlrZSA9IEV4cHJlc3Npb25Ob2RlIHwgSW50ZXJuYWw7XG5leHBvcnQgdHlwZSBTdGF0ZW1lbnQgPVxuICB8IEluRWxlbWVudFxuICB8IERlYnVnZ2VyXG4gIHwgWWllbGRcbiAgfCBBcHBlbmRUcnVzdGVkSFRNTFxuICB8IEFwcGVuZFRleHROb2RlXG4gIHwgQ29tcG9uZW50XG4gIHwgU2ltcGxlRWxlbWVudFxuICB8IEludm9rZUJsb2NrXG4gIHwgQXBwZW5kQ29tbWVudFxuICB8IElmXG4gIHwgRWFjaFxuICB8IFdpdGhcbiAgfCBMZXRcbiAgfCBXaXRoRHluYW1pY1ZhcnNcbiAgfCBJbnZva2VDb21wb25lbnQ7XG4iXSwic291cmNlUm9vdCI6IiJ9