Socket
Socket
Sign inDemoInstall

htmlbars

Package Overview
Dependencies
Maintainers
5
Versions
108
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

htmlbars - npm Package Compare versions

Comparing version 0.14.16 to 0.14.17

7

dist/cjs/htmlbars-syntax/builders.js

@@ -111,7 +111,8 @@ exports.__esModule = true;

function buildAttr(name, value) {
function buildAttr(name, value, loc) {
return {
type: "AttrNode",
name: name,
value: value
value: value,
loc: buildLoc(loc)
};

@@ -274,2 +275,2 @@ }

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImh0bWxiYXJzLXN5bnRheC9idWlsZGVycy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVPLFNBQVMsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDMUQsU0FBTztBQUNMLFFBQUksRUFBRSxtQkFBbUI7QUFDekIsUUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUM7QUFDckIsVUFBTSxFQUFFLE1BQU0sSUFBSSxFQUFFO0FBQ3BCLFFBQUksRUFBRSxJQUFJLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQztBQUMzQixXQUFPLEVBQUUsQ0FBQyxHQUFHO0FBQ2IsT0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUM7R0FDbkIsQ0FBQztDQUNIOztBQUVNLFNBQVMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO0FBQ3BFLFNBQU87QUFDTCxRQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLFFBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDO0FBQ3JCLFVBQU0sRUFBRSxNQUFNLElBQUksRUFBRTtBQUNwQixRQUFJLEVBQUUsSUFBSSxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUM7QUFDM0IsV0FBTyxFQUFFLE9BQU8sSUFBSSxJQUFJO0FBQ3hCLFdBQU8sRUFBRSxPQUFPLElBQUksSUFBSTtBQUN4QixPQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQztHQUNuQixDQUFDO0NBQ0g7O0FBRU0sU0FBUyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7QUFDNUQsU0FBTztBQUNMLFFBQUksRUFBRSwwQkFBMEI7QUFDaEMsUUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUM7QUFDckIsVUFBTSxFQUFFLE1BQU0sSUFBSSxFQUFFO0FB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LGFBQWEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDO0tBQ3ZDLENBQUM7R0FDSDtDQUNGOztrQkFFYztBQUNiLFVBQVEsRUFBRSxhQUFhO0FBQ3ZCLE9BQUssRUFBRSxVQUFVO0FBQ2pCLFNBQU8sRUFBRSxZQUFZO0FBQ3JCLFNBQU8sRUFBRSxZQUFZO0FBQ3JCLFNBQU8sRUFBRSxZQUFZO0FBQ3JCLGlCQUFlLEVBQUUsb0JBQW9CO0FBQ3JDLFdBQVMsRUFBRSxjQUFjO0FBQ3pCLE1BQUksRUFBRSxTQUFTO0FBQ2YsTUFBSSxFQUFFLFNBQVM7QUFDZixPQUFLLEVBQUUsVUFBVTtBQUNqQixNQUFJLEVBQUUsU0FBUztBQUNmLFFBQU0sRUFBRSxXQUFXO0FBQ25CLFNBQU8sRUFBRSxZQUFZO0FBQ3JCLFFBQU0sRUFBRSxXQUFXO0FBQ25CLFdBQVMsRUFBRSxjQUFjO0FBQ3pCLE1BQUksRUFBRSxTQUFTO0FBQ2YsUUFBTSxFQUFFLFdBQVc7QUFDbkIsTUFBSSxFQUFFLFNBQVM7QUFDZixNQUFJLEVBQUUsU0FBUztBQUNmLFNBQU8sRUFBRSxZQUFZO0FBQ3JCLEtBQUcsRUFBRSxRQUFRO0FBQ2IsS0FBRyxFQUFFLGFBQWE7Q0FDbkIiLCJmaWxlIjoiaHRtbGJhcnMtc3ludGF4L2J1aWxkZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU3RhdGVtZW50c1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRNdXN0YWNoZShwYXRoLCBwYXJhbXMsIGhhc2gsIHJhdywgbG9jKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJNdXN0YWNoZVN0YXRlbWVudFwiLFxuICAgIHBhdGg6IGJ1aWxkUGF0aChwYXRoKSxcbiAgICBwYXJhbXM6IHBhcmFtcyB8fCBbXSxcbiAgICBoYXNoOiBoYXNoIHx8IGJ1aWxkSGFzaChbXSksXG4gICAgZXNjYXBlZDogIXJhdyxcbiAgICBsb2M6IGJ1aWxkTG9jKGxvYylcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQmxvY2socGF0aCwgcGFyYW1zLCBoYXNoLCBwcm9ncmFtLCBpbnZlcnNlLCBsb2MpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIkJsb2NrU3RhdGVtZW50XCIsXG4gICAgcGF0aDogYnVpbGRQYXRoKHBhdGgpLFxuICAgIHBhcmFtczogcGFyYW1zIHx8IFtdLFxuICAgIGhhc2g6IGhhc2ggfHwgYnVpbGRIYXNoKFtdKSxcbiAgICBwcm9ncmFtOiBwcm9ncmFtIHx8IG51bGwsXG4gICAgaW52ZXJzZTogaW52ZXJzZSB8fCBudWxsLFxuICAgIGxvYzogYnVpbGRMb2MobG9jKVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRFbGVtZW50TW9kaWZpZXIocGF0aCwgcGFyYW1zLCBoYXNoLCBsb2MpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIkVsZW1lbnRNb2RpZmllclN0YXRlbWVudFwiLFxuICAgIHBhdGg6IGJ1aWxkUGF0aChwYXRoKSxcbiAgICBwYXJhbXM6IHBhcmFtcyB8fCBbXSxcbiAgICBoYXNoOiBoYXNoIHx8IGJ1aWxkSGFzaChbXSksXG4gICAgbG9jOiBidWlsZExvYyhsb2MpXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFBhcnRpYWwobmFtZSwgcGFyYW1zLCBoYXNoLCBpbmRlbnQpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIlBhcnRpYWxTdGF0ZW1lbnRcIixcbiAgICBuYW1lOiBuYW1lLFxuICAgIHBhcmFtczogcGFyYW1zIHx8IFtdLFxuICAgIGhhc2g6IGhhc2ggfHwgYnVpbGRIYXNoKFtdKSxcbiAgICBpbmRlbnQ6IGluZGVudFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDb21tZW50KHZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJDb21tZW50U3RhdGVtZW50XCIsXG4gICAgdmFsdWU6IHZhbHVlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZENvbmNhdChwYXJ0cykge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFwiQ29uY2F0U3RhdGVtZW50XCIsXG4gICAgcGFydHM6IHBhcnRzIHx8IFtdXG4gIH07XG59XG5cbi8vIE5vZGVzXG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVsZW1lbnQodGFnLCBhdHRyaWJ1dGVzLCBtb2RpZmllcnMsIGNoaWxkcmVuLCBsb2MpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIkVsZW1lbnROb2RlXCIsXG4gICAgdGFnOiB0YWcgfHwgXCJcIixcbiAgICBhdHRyaWJ1dGVzOiBhdHRyaWJ1dGVzIHx8IFtdLFxuICAgIG1vZGlmaWVyczogbW9kaWZpZXJzIHx8IFtdLFxuICAgIGNoaWxkcmVuOiBjaGlsZHJlbiB8fCBbXSxcbiAgICBsb2M6IGJ1aWxkTG9jKGxvYylcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQ29tcG9uZW50KHRhZywgYXR0cmlidXRlcywgcHJvZ3JhbSwgbG9jKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJDb21wb25lbnROb2RlXCIsXG4gICAgdGFnOiB0YWcsXG4gICAgYXR0cmlidXRlczogYXR0cmlidXRlcyxcbiAgICBwcm9ncmFtOiBwcm9ncmFtLFxuICAgIGxvYzogYnVpbGRMb2MobG9jKSxcblxuICAgIC8vIHRoaXMgc2hvdWxkIGJlIHRydWUgb25seSBpZiB0aGlzIGNvbXBvbmVudCBub2RlIGlzIGd1YXJhbnRlZWRcbiAgICAvLyB0byBwcm9kdWNlIHN0YXJ0IGFuZCBlbmQgcG9pbnRzIHRoYXQgY2FuIG5ldmVyIGNoYW5nZSBhZnRlciB0aGVcbiAgICAvLyBpbml0aWFsIHJlbmRlciwgcmVnYXJkbGVzcyBvZiBjaGFuZ2VzIHRvIGR5bmFtaWMgaW5wdXRzLiBJZlxuICAgIC8vIGEgY29tcG9uZW50IHJlcHJlc2VudHMgYSBcImZyYWdtZW50XCIgKGFueSBudW1iZXIgb2YgdG9wLWxldmVsIG5vZGVzKSxcbiAgICAvLyB0aGlzIHdpbGwgdXN1YWxseSBub3QgYmUgdHJ1ZS5cbiAgICBpc1N0YXRpYzogZmFsc2VcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQXR0cihuYW1lLCB2YWx1ZSkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFwiQXR0ck5vZGVcIixcbiAgICBuYW1lOiBuYW1lLFxuICAgIHZhbHVlOiB2YWx1ZVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRUZXh0KGNoYXJzLCBsb2MpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIlRleHROb2RlXCIsXG4gICAgY2hhcnM6IGNoYXJzIHx8IFwiXCIsXG4gICAgbG9jOiBidWlsZExvYyhsb2MpXG4gIH07XG59XG5cbi8vIEV4cHJlc3Npb25zXG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFNleHByKHBhdGgsIHBhcmFtcywgaGFzaCkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFwiU3ViRXhwcmVzc2lvblwiLFxuICAgIHBhdGg6IGJ1aWxkUGF0aChwYXRoKSxcbiAgICBwYXJhbXM6IHBhcmFtcyB8fCBbXSxcbiAgICBoYXNoOiBoYXNoIHx8IGJ1aWxkSGFzaChbXSlcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUGF0aChvcmlnaW5hbCkge1xuICBpZiAodHlwZW9mIG9yaWdpbmFsID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBcIlBhdGhFeHByZXNzaW9uXCIsXG4gICAgICBvcmlnaW5hbDogb3JpZ2luYWwsXG4gICAgICBwYXJ0czogb3JpZ2luYWwuc3BsaXQoJy4nKVxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG9yaWdpbmFsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFN0cmluZyh2YWx1ZSkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFwiU3RyaW5nTGl0ZXJhbFwiLFxuICAgIHZhbHVlOiB2YWx1ZSxcbiAgICBvcmlnaW5hbDogdmFsdWVcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQm9vbGVhbih2YWx1ZSkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFwiQm9vbGVhbkxpdGVyYWxcIixcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgb3JpZ2luYWw6IHZhbHVlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZE51bWJlcih2YWx1ZSkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFwiTnVtYmVyTGl0ZXJhbFwiLFxuICAgIHZhbHVlOiB2YWx1ZSxcbiAgICBvcmlnaW5hbDogdmFsdWVcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTnVsbCgpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIk51bGxMaXRlcmFsXCIsXG4gICAgdmFsdWU6IG51bGwsXG4gICAgb3JpZ2luYWw6IG51bGxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkVW5kZWZpbmVkKCkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFwiVW5kZWZpbmVkTGl0ZXJhbFwiLFxuICAgIHZhbHVlOiB1bmRlZmluZWQsXG4gICAgb3JpZ2luYWw6IHVuZGVmaW5lZFxuICB9O1xufVxuXG4vLyBNaXNjZWxsYW5lb3VzXG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEhhc2gocGFpcnMpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIkhhc2hcIixcbiAgICBwYWlyczogcGFpcnMgfHwgW11cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUGFpcihrZXksIHZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJIYXNoUGFpclwiLFxuICAgIGtleToga2V5LFxuICAgIHZhbHVlOiB2YWx1ZVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQcm9ncmFtKGJvZHksIGJsb2NrUGFyYW1zLCBsb2MpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIlByb2dyYW1cIixcbiAgICBib2R5OiBib2R5IHx8IFtdLFxuICAgIGJsb2NrUGFyYW1zOiBibG9ja1BhcmFtcyB8fCBbXSxcbiAgICBsb2M6IGJ1aWxkTG9jKGxvYylcbiAgfTtcbn1cblxuZnVuY3Rpb24gYnVpbGRTb3VyY2Uoc291cmNlKSB7XG4gIHJldHVybiBzb3VyY2UgfHwgbnVsbDtcbn1cblxuZnVuY3Rpb24gYnVpbGRQb3NpdGlvbihsaW5lLCBjb2x1bW4pIHtcbiAgcmV0dXJuIHtcbiAgICBsaW5lOiAodHlwZW9mIGxpbmUgPT09ICdudW1iZXInKSA/IGxpbmUgOiBudWxsLFxuICAgIGNvbHVtbjogKHR5cGVvZiBjb2x1bW4gPT09ICdudW1iZXInKSA/IGNvbHVtbiA6IG51bGxcbiAgfTtcbn1cblxuZnVuY3Rpb24gYnVpbGRMb2Moc3RhcnRMaW5lLCBzdGFydENvbHVtbiwgZW5kTGluZSwgZW5kQ29sdW1uLCBzb3VyY2UpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpIHtcbiAgICB2YXIgbG9jID0gc3RhcnRMaW5lO1xuXG4gICAgaWYgKHR5cGVvZiBsb2MgPT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzb3VyY2U6IGJ1aWxkU291cmNlKGxvYy5zb3VyY2UpLFxuICAgICAgICBzdGFydDogYnVpbGRQb3NpdGlvbihsb2Muc3RhcnQubGluZSwgbG9jLnN0YXJ0LmNvbHVtbiksXG4gICAgICAgIGVuZDogYnVpbGRQb3NpdGlvbihsb2MuZW5kLmxpbmUsIGxvYy5lbmQuY29sdW1uKVxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBzb3VyY2U6IGJ1aWxkU291cmNlKHNvdXJjZSksXG4gICAgICBzdGFydDogYnVpbGRQb3NpdGlvbihzdGFydExpbmUsIHN0YXJ0Q29sdW1uKSxcbiAgICAgIGVuZDogYnVpbGRQb3NpdGlvbihlbmRMaW5lLCBlbmRDb2x1bW4pXG4gICAgfTsgXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBtdXN0YWNoZTogYnVpbGRNdXN0YWNoZSxcbiAgYmxvY2s6IGJ1aWxkQmxvY2ssXG4gIHBhcnRpYWw6IGJ1aWxkUGFydGlhbCxcbiAgY29tbWVudDogYnVpbGRDb21tZW50LFxuICBlbGVtZW50OiBidWlsZEVsZW1lbnQsXG4gIGVsZW1lbnRNb2RpZmllcjogYnVpbGRFbGVtZW50TW9kaWZpZXIsXG4gIGNvbXBvbmVudDogYnVpbGRDb21wb25lbnQsXG4gIGF0dHI6IGJ1aWxkQXR0cixcbiAgdGV4dDogYnVpbGRUZXh0LFxuICBzZXhwcjogYnVpbGRTZXhwcixcbiAgcGF0aDogYnVpbGRQYXRoLFxuICBzdHJpbmc6IGJ1aWxkU3RyaW5nLFxuICBib29sZWFuOiBidWlsZEJvb2xlYW4sXG4gIG51bWJlcjogYnVpbGROdW1iZXIsXG4gIHVuZGVmaW5lZDogYnVpbGRVbmRlZmluZWQsXG4gIG51bGw6IGJ1aWxkTnVsbCxcbiAgY29uY2F0OiBidWlsZENvbmNhdCxcbiAgaGFzaDogYnVpbGRIYXNoLFxuICBwYWlyOiBidWlsZFBhaXIsXG4gIHByb2dyYW06IGJ1aWxkUHJvZ3JhbSxcbiAgbG9jOiBidWlsZExvYyxcbiAgcG9zOiBidWlsZFBvc2l0aW9uXG59O1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImh0bWxiYXJzLXN5bnRheC9idWlsZGVycy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVPLFNBQVMsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDMUQsU0FBTztBQUNMLFFBQUksRUFBRSxtQkFBbUI7QUFDekIsUUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUM7QUFDckIsVUFBTSxFQUFFLE1BQU0sSUFBSSxFQUFFO0FBQ3BCLFFBQUksRUFBRSxJQUFJLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQztBQUMzQixXQUFPLEVBQUUsQ0FBQyxHQUFHO0FBQ2IsT0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUM7R0FDbkIsQ0FBQztDQUNIOztBQUVNLFNBQVMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO0FBQ3BFLFNBQU87QUFDTCxRQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLFFBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDO0FBQ3JCLFVBQU0sRUFBRSxNQUFNLElBQUksRUFBRTtBQUNwQixRQUFJLEVBQUUsSUFBSSxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUM7QUFDM0IsV0FBTyxFQUFFLE9BQU8sSUFBSSxJQUFJO0FBQ3hCLFdBQU8sRUFBRSxPQUFPLElBQUksSUFBSTtBQUN4QixPQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQztHQUNuQixDQUFDO0NBQ0g7O0FBRU0sU0FBUyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7QUFDNUQsU0FBTztBQUNMLFFBQUksRUFBRSwwQkFBMEI7QUFDaEMsUUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUM7QUFDckIsVUFBTSxFQUFFLE1BQU0sSUFBSSxFQUFFO0FB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LGFBQWEsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDO0FBQzVDLFNBQUcsRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQztLQUN2QyxDQUFDO0dBQ0g7Q0FDRjs7a0JBRWM7QUFDYixVQUFRLEVBQUUsYUFBYTtBQUN2QixPQUFLLEVBQUUsVUFBVTtBQUNqQixTQUFPLEVBQUUsWUFBWTtBQUNyQixTQUFPLEVBQUUsWUFBWTtBQUNyQixTQUFPLEVBQUUsWUFBWTtBQUNyQixpQkFBZSxFQUFFLG9CQUFvQjtBQUNyQyxXQUFTLEVBQUUsY0FBYztBQUN6QixNQUFJLEVBQUUsU0FBUztBQUNmLE1BQUksRUFBRSxTQUFTO0FBQ2YsT0FBSyxFQUFFLFVBQVU7QUFDakIsTUFBSSxFQUFFLFNBQVM7QUFDZixRQUFNLEVBQUUsV0FBVztBQUNuQixTQUFPLEVBQUUsWUFBWTtBQUNyQixRQUFNLEVBQUUsV0FBVztBQUNuQixXQUFTLEVBQUUsY0FBYztBQUN6QixNQUFJLEVBQUUsU0FBUztBQUNmLFFBQU0sRUFBRSxXQUFXO0FBQ25CLE1BQUksRUFBRSxTQUFTO0FBQ2YsTUFBSSxFQUFFLFNBQVM7QUFDZixTQUFPLEVBQUUsWUFBWTtBQUNyQixLQUFHLEVBQUUsUUFBUTtBQUNiLEtBQUcsRUFBRSxhQUFhO0NBQ25CIiwiZmlsZSI6Imh0bWxiYXJzLXN5bnRheC9idWlsZGVycy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFN0YXRlbWVudHNcblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTXVzdGFjaGUocGF0aCwgcGFyYW1zLCBoYXNoLCByYXcsIGxvYykge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFwiTXVzdGFjaGVTdGF0ZW1lbnRcIixcbiAgICBwYXRoOiBidWlsZFBhdGgocGF0aCksXG4gICAgcGFyYW1zOiBwYXJhbXMgfHwgW10sXG4gICAgaGFzaDogaGFzaCB8fCBidWlsZEhhc2goW10pLFxuICAgIGVzY2FwZWQ6ICFyYXcsXG4gICAgbG9jOiBidWlsZExvYyhsb2MpXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEJsb2NrKHBhdGgsIHBhcmFtcywgaGFzaCwgcHJvZ3JhbSwgaW52ZXJzZSwgbG9jKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJCbG9ja1N0YXRlbWVudFwiLFxuICAgIHBhdGg6IGJ1aWxkUGF0aChwYXRoKSxcbiAgICBwYXJhbXM6IHBhcmFtcyB8fCBbXSxcbiAgICBoYXNoOiBoYXNoIHx8IGJ1aWxkSGFzaChbXSksXG4gICAgcHJvZ3JhbTogcHJvZ3JhbSB8fCBudWxsLFxuICAgIGludmVyc2U6IGludmVyc2UgfHwgbnVsbCxcbiAgICBsb2M6IGJ1aWxkTG9jKGxvYylcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRWxlbWVudE1vZGlmaWVyKHBhdGgsIHBhcmFtcywgaGFzaCwgbG9jKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJFbGVtZW50TW9kaWZpZXJTdGF0ZW1lbnRcIixcbiAgICBwYXRoOiBidWlsZFBhdGgocGF0aCksXG4gICAgcGFyYW1zOiBwYXJhbXMgfHwgW10sXG4gICAgaGFzaDogaGFzaCB8fCBidWlsZEhhc2goW10pLFxuICAgIGxvYzogYnVpbGRMb2MobG9jKVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQYXJ0aWFsKG5hbWUsIHBhcmFtcywgaGFzaCwgaW5kZW50KSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJQYXJ0aWFsU3RhdGVtZW50XCIsXG4gICAgbmFtZTogbmFtZSxcbiAgICBwYXJhbXM6IHBhcmFtcyB8fCBbXSxcbiAgICBoYXNoOiBoYXNoIHx8IGJ1aWxkSGFzaChbXSksXG4gICAgaW5kZW50OiBpbmRlbnRcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQ29tbWVudCh2YWx1ZSkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFwiQ29tbWVudFN0YXRlbWVudFwiLFxuICAgIHZhbHVlOiB2YWx1ZVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDb25jYXQocGFydHMpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIkNvbmNhdFN0YXRlbWVudFwiLFxuICAgIHBhcnRzOiBwYXJ0cyB8fCBbXVxuICB9O1xufVxuXG4vLyBOb2Rlc1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRFbGVtZW50KHRhZywgYXR0cmlidXRlcywgbW9kaWZpZXJzLCBjaGlsZHJlbiwgbG9jKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJFbGVtZW50Tm9kZVwiLFxuICAgIHRhZzogdGFnIHx8IFwiXCIsXG4gICAgYXR0cmlidXRlczogYXR0cmlidXRlcyB8fCBbXSxcbiAgICBtb2RpZmllcnM6IG1vZGlmaWVycyB8fCBbXSxcbiAgICBjaGlsZHJlbjogY2hpbGRyZW4gfHwgW10sXG4gICAgbG9jOiBidWlsZExvYyhsb2MpXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZENvbXBvbmVudCh0YWcsIGF0dHJpYnV0ZXMsIHByb2dyYW0sIGxvYykge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFwiQ29tcG9uZW50Tm9kZVwiLFxuICAgIHRhZzogdGFnLFxuICAgIGF0dHJpYnV0ZXM6IGF0dHJpYnV0ZXMsXG4gICAgcHJvZ3JhbTogcHJvZ3JhbSxcbiAgICBsb2M6IGJ1aWxkTG9jKGxvYyksXG5cbiAgICAvLyB0aGlzIHNob3VsZCBiZSB0cnVlIG9ubHkgaWYgdGhpcyBjb21wb25lbnQgbm9kZSBpcyBndWFyYW50ZWVkXG4gICAgLy8gdG8gcHJvZHVjZSBzdGFydCBhbmQgZW5kIHBvaW50cyB0aGF0IGNhbiBuZXZlciBjaGFuZ2UgYWZ0ZXIgdGhlXG4gICAgLy8gaW5pdGlhbCByZW5kZXIsIHJlZ2FyZGxlc3Mgb2YgY2hhbmdlcyB0byBkeW5hbWljIGlucHV0cy4gSWZcbiAgICAvLyBhIGNvbXBvbmVudCByZXByZXNlbnRzIGEgXCJmcmFnbWVudFwiIChhbnkgbnVtYmVyIG9mIHRvcC1sZXZlbCBub2RlcyksXG4gICAgLy8gdGhpcyB3aWxsIHVzdWFsbHkgbm90IGJlIHRydWUuXG4gICAgaXNTdGF0aWM6IGZhbHNlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEF0dHIobmFtZSwgdmFsdWUsIGxvYykge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFwiQXR0ck5vZGVcIixcbiAgICBuYW1lOiBuYW1lLFxuICAgIHZhbHVlOiB2YWx1ZSxcbiAgICBsb2M6IGJ1aWxkTG9jKGxvYylcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkVGV4dChjaGFycywgbG9jKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJUZXh0Tm9kZVwiLFxuICAgIGNoYXJzOiBjaGFycyB8fCBcIlwiLFxuICAgIGxvYzogYnVpbGRMb2MobG9jKVxuICB9O1xufVxuXG4vLyBFeHByZXNzaW9uc1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTZXhwcihwYXRoLCBwYXJhbXMsIGhhc2gpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIlN1YkV4cHJlc3Npb25cIixcbiAgICBwYXRoOiBidWlsZFBhdGgocGF0aCksXG4gICAgcGFyYW1zOiBwYXJhbXMgfHwgW10sXG4gICAgaGFzaDogaGFzaCB8fCBidWlsZEhhc2goW10pXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFBhdGgob3JpZ2luYWwpIHtcbiAgaWYgKHR5cGVvZiBvcmlnaW5hbCA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogXCJQYXRoRXhwcmVzc2lvblwiLFxuICAgICAgb3JpZ2luYWw6IG9yaWdpbmFsLFxuICAgICAgcGFydHM6IG9yaWdpbmFsLnNwbGl0KCcuJylcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBvcmlnaW5hbDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTdHJpbmcodmFsdWUpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIlN0cmluZ0xpdGVyYWxcIixcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgb3JpZ2luYWw6IHZhbHVlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEJvb2xlYW4odmFsdWUpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIkJvb2xlYW5MaXRlcmFsXCIsXG4gICAgdmFsdWU6IHZhbHVlLFxuICAgIG9yaWdpbmFsOiB2YWx1ZVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGROdW1iZXIodmFsdWUpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIk51bWJlckxpdGVyYWxcIixcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgb3JpZ2luYWw6IHZhbHVlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZE51bGwoKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJOdWxsTGl0ZXJhbFwiLFxuICAgIHZhbHVlOiBudWxsLFxuICAgIG9yaWdpbmFsOiBudWxsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFVuZGVmaW5lZCgpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIlVuZGVmaW5lZExpdGVyYWxcIixcbiAgICB2YWx1ZTogdW5kZWZpbmVkLFxuICAgIG9yaWdpbmFsOiB1bmRlZmluZWRcbiAgfTtcbn1cblxuLy8gTWlzY2VsbGFuZW91c1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRIYXNoKHBhaXJzKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJIYXNoXCIsXG4gICAgcGFpcnM6IHBhaXJzIHx8IFtdXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFBhaXIoa2V5LCB2YWx1ZSkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFwiSGFzaFBhaXJcIixcbiAgICBrZXk6IGtleSxcbiAgICB2YWx1ZTogdmFsdWVcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUHJvZ3JhbShib2R5LCBibG9ja1BhcmFtcywgbG9jKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJQcm9ncmFtXCIsXG4gICAgYm9keTogYm9keSB8fCBbXSxcbiAgICBibG9ja1BhcmFtczogYmxvY2tQYXJhbXMgfHwgW10sXG4gICAgbG9jOiBidWlsZExvYyhsb2MpXG4gIH07XG59XG5cbmZ1bmN0aW9uIGJ1aWxkU291cmNlKHNvdXJjZSkge1xuICByZXR1cm4gc291cmNlIHx8IG51bGw7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkUG9zaXRpb24obGluZSwgY29sdW1uKSB7XG4gIHJldHVybiB7XG4gICAgbGluZTogKHR5cGVvZiBsaW5lID09PSAnbnVtYmVyJykgPyBsaW5lIDogbnVsbCxcbiAgICBjb2x1bW46ICh0eXBlb2YgY29sdW1uID09PSAnbnVtYmVyJykgPyBjb2x1bW4gOiBudWxsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGJ1aWxkTG9jKHN0YXJ0TGluZSwgc3RhcnRDb2x1bW4sIGVuZExpbmUsIGVuZENvbHVtbiwgc291cmNlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgdmFyIGxvYyA9IHN0YXJ0TGluZTtcblxuICAgIGlmICh0eXBlb2YgbG9jID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc291cmNlOiBidWlsZFNvdXJjZShsb2Muc291cmNlKSxcbiAgICAgICAgc3RhcnQ6IGJ1aWxkUG9zaXRpb24obG9jLnN0YXJ0LmxpbmUsIGxvYy5zdGFydC5jb2x1bW4pLFxuICAgICAgICBlbmQ6IGJ1aWxkUG9zaXRpb24obG9jLmVuZC5saW5lLCBsb2MuZW5kLmNvbHVtbilcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgc291cmNlOiBidWlsZFNvdXJjZShzb3VyY2UpLFxuICAgICAgc3RhcnQ6IGJ1aWxkUG9zaXRpb24oc3RhcnRMaW5lLCBzdGFydENvbHVtbiksXG4gICAgICBlbmQ6IGJ1aWxkUG9zaXRpb24oZW5kTGluZSwgZW5kQ29sdW1uKVxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBtdXN0YWNoZTogYnVpbGRNdXN0YWNoZSxcbiAgYmxvY2s6IGJ1aWxkQmxvY2ssXG4gIHBhcnRpYWw6IGJ1aWxkUGFydGlhbCxcbiAgY29tbWVudDogYnVpbGRDb21tZW50LFxuICBlbGVtZW50OiBidWlsZEVsZW1lbnQsXG4gIGVsZW1lbnRNb2RpZmllcjogYnVpbGRFbGVtZW50TW9kaWZpZXIsXG4gIGNvbXBvbmVudDogYnVpbGRDb21wb25lbnQsXG4gIGF0dHI6IGJ1aWxkQXR0cixcbiAgdGV4dDogYnVpbGRUZXh0LFxuICBzZXhwcjogYnVpbGRTZXhwcixcbiAgcGF0aDogYnVpbGRQYXRoLFxuICBzdHJpbmc6IGJ1aWxkU3RyaW5nLFxuICBib29sZWFuOiBidWlsZEJvb2xlYW4sXG4gIG51bWJlcjogYnVpbGROdW1iZXIsXG4gIHVuZGVmaW5lZDogYnVpbGRVbmRlZmluZWQsXG4gIG51bGw6IGJ1aWxkTnVsbCxcbiAgY29uY2F0OiBidWlsZENvbmNhdCxcbiAgaGFzaDogYnVpbGRIYXNoLFxuICBwYWlyOiBidWlsZFBhaXIsXG4gIHByb2dyYW06IGJ1aWxkUHJvZ3JhbSxcbiAgbG9jOiBidWlsZExvYyxcbiAgcG9zOiBidWlsZFBvc2l0aW9uXG59O1xuIl19

@@ -24,2 +24,7 @@ exports.__esModule = true;

this.currentNode = _builders2.default.comment("");
this.currentNode.loc = {
source: null,
start: _builders2.default.pos(this.tokenizer.line, this.tokenizer.column),
end: null
};
},

@@ -32,2 +37,4 @@

finishComment: function () {
this.currentNode.loc.end = _builders2.default.pos(this.tokenizer.line, this.tokenizer.column);
_utils.appendChild(this.currentElement(), this.currentNode);

@@ -40,2 +47,7 @@ },

this.currentNode = _builders2.default.text();
this.currentNode.loc = {
source: null,
start: _builders2.default.pos(this.tokenizer.line, this.tokenizer.column),
end: null
};
},

@@ -48,2 +60,4 @@

finishData: function () {
this.currentNode.loc.end = _builders2.default.pos(this.tokenizer.line, this.tokenizer.column);
_utils.appendChild(this.currentElement(), this.currentNode);

@@ -154,3 +168,4 @@ },

isQuoted: false,
isDynamic: false
isDynamic: false,
start: _builders2.default.pos(this.tokenizer.line, this.tokenizer.column)
};

@@ -186,3 +201,7 @@ },

this.currentNode.attributes.push(_builders2.default.attr(name, value));
var loc = _builders2.default.loc(this.currentAttribute.start.line, this.currentAttribute.start.column, this.tokenizer.line, this.tokenizer.column);
var attribute = _builders2.default.attr(name, value, loc);
this.currentNode.attributes.push(attribute);
}

@@ -253,2 +272,2 @@ };

module.exports = exports.default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImh0bWxiYXJzLXN5bnRheC9wYXJzZXIvdG9rZW5pemVyLWV2ZW50LWhhbmRsZXJzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7d0NBQW9CLG9DQUFvQzs7Ozt3QkFDMUMsYUFBYTs7OztxQkFDNEMsVUFBVTs7a0JBRWxFO0FBQ2IsT0FBSyxFQUFFLFlBQVc7QUFDaEIsUUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7R0FDekI7Ozs7QUFJRCxjQUFZLEVBQUUsWUFBVztBQUN2QixRQUFJLENBQUMsV0FBVyxHQUFHLG1CQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztHQUNsQzs7QUFFRCxxQkFBbUIsRUFBRSxVQUFTLElBQUksRUFBRTtBQUNsQyxRQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUM7R0FDaEM7O0FBRUQsZUFBYSxFQUFFLFlBQVc7QUFDeEIsdUJBQVksSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztHQUN0RDs7OztBQUtELFdBQVMsRUFBRSxZQUFXO0FBQ3BCLFFBQUksQ0FBQyxXQUFXLEdBQUcsbUJBQUUsSUFBSSxFQUFFLENBQUM7R0FDN0I7O0FBRUQsY0FBWSxFQUFFLFVBQVMsSUFBSSxFQUFFO0FBQzNCLFFBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQztHQUNoQzs7QUFFRCxZQUFVLEVBQUUsWUFBVztBQUNyQix1QkFBWSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0dBQ3REOzs7O0FBSUQsZUFBYSxFQUFFLFlBQVc7QUFDeEIsUUFBSSxDQUFDLFdBQVcsR0FBRztBQUNqQixVQUFJLEVBQUUsVUFBVTtBQUNoQixVQUFJLEVBQUUsRUFBRTtBQUNSLGdCQUFVLEVBQUUsRUFBRTtBQUNkLGVBQVMsRUFBRSxFQUFFO0FBQ2IsaUJBQVcsRUFBRSxLQUFLO0FBQ2xCLFNBQUcsRUFBRSxJQUFJ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QUFJLEtBQUssUUFBUSxFQUFFO0FBQ3pCLFVBQU0sSUFBSSxLQUFLLENBQUMsK0RBQStELEdBQUcsU0FBUyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQztHQUM1RztDQUNGOztBQUVELFNBQVMsY0FBYyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFO0FBQ2pELE1BQUksbUNBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFOzs7O0FBSXJDLFVBQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsd0NBQXdDLENBQUMsQ0FBQztHQUN4RyxNQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUU7QUFDcEMsVUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsdUJBQXVCLENBQUMsQ0FBQztHQUNuRixNQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsSUFBSSxFQUFFO0FBQ25DLFVBQU0sSUFBSSxLQUFLLENBQUMsY0FBYyxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLGdDQUFnQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEdBQUcsYUFBYSxHQUMvRyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7R0FDeEM7Q0FDRjs7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEdBQUcsRUFBRTtBQUM3QixTQUFPLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLGFBQWEsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0NBQ2hFIiwiZmlsZSI6Imh0bWxiYXJzLXN5bnRheC9wYXJzZXIvdG9rZW5pemVyLWV2ZW50LWhhbmRsZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHZvaWRNYXAgZnJvbSAnLi4vLi4vaHRtbGJhcnMtdXRpbC92b2lkLXRhZy1uYW1lcyc7XG5pbXBvcnQgYiBmcm9tIFwiLi4vYnVpbGRlcnNcIjtcbmltcG9ydCB7IGFwcGVuZENoaWxkLCBwYXJzZUNvbXBvbmVudEJsb2NrUGFyYW1zLCB1bndyYXBNdXN0YWNoZSB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHJlc2V0OiBmdW5jdGlvbigpIHtcbiAgICB0aGlzLmN1cnJlbnROb2RlID0gbnVsbDtcbiAgfSxcblxuICAvLyBDb21tZW50XG5cbiAgYmVnaW5Db21tZW50OiBmdW5jdGlvbigpIHtcbiAgICB0aGlzLmN1cnJlbnROb2RlID0gYi5jb21tZW50KFwiXCIpO1xuICB9LFxuXG4gIGFwcGVuZFRvQ29tbWVudERhdGE6IGZ1bmN0aW9uKGNoYXIpIHtcbiAgICB0aGlzLmN1cnJlbnROb2RlLnZhbHVlICs9IGNoYXI7XG4gIH0sXG5cbiAgZmluaXNoQ29tbWVudDogZnVuY3Rpb24oKSB7XG4gICAgYXBwZW5kQ2hpbGQodGhpcy5jdXJyZW50RWxlbWVudCgpLCB0aGlzLmN1cnJlbnROb2RlKTtcbiAgfSxcblxuXG4gIC8vIERhdGFcblxuICBiZWdpbkRhdGE6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMuY3VycmVudE5vZGUgPSBiLnRleHQoKTtcbiAgfSxcblxuICBhcHBlbmRUb0RhdGE6IGZ1bmN0aW9uKGNoYXIpIHtcbiAgICB0aGlzLmN1cnJlbnROb2RlLmNoYXJzICs9IGNoYXI7XG4gIH0sXG5cbiAgZmluaXNoRGF0YTogZnVuY3Rpb24oKSB7XG4gICAgYXBwZW5kQ2hpbGQodGhpcy5jdXJyZW50RWxlbWVudCgpLCB0aGlzLmN1cnJlbnROb2RlKTtcbiAgfSxcblxuICAvLyBUYWdzIC0gYmFzaWNcblxuICBiZWdpblN0YXJ0VGFnOiBmdW5jdGlvbigpIHtcbiAgICB0aGlzLmN1cnJlbnROb2RlID0ge1xuICAgICAgdHlwZTogJ1N0YXJ0VGFnJyxcbiAgICAgIG5hbWU6IFwiXCIsXG4gICAgICBhdHRyaWJ1dGVzOiBbXSxcbiAgICAgIG1vZGlmaWVyczogW10sXG4gICAgICBzZWxmQ2xvc2luZzogZmFsc2UsXG4gICAgICBsb2M6IG51bGxcbiAgICB9O1xuICB9LFxuXG4gIGJlZ2luRW5kVGFnOiBmdW5jdGlvbigpIHtcbiAgICB0aGlzLmN1cnJlbnROb2RlID0ge1xuICAgICAgdHlwZTogJ0VuZFRhZycsXG4gICAgICBuYW1lOiBcIlwiLFxuICAgICAgYXR0cmlidXRlczogW10sXG4gICAgICBtb2RpZmllcnM6IFtdLFxuICAgICAgc2VsZkNsb3Npbmc6IGZhbHNlLFxuICAgICAgbG9jOiBudWxsXG4gICAgfTtcbiAgfSxcblxuICBmaW5pc2hUYWc6IGZ1bmN0aW9uKCkge1xuICAgIGxldCB7IHRhZ0xpbmUsIHRhZ0NvbHVtbiwgbGluZSwgY29sdW1uIH0gPSB0aGlzLnRva2VuaXplcjtcblxuICAgIGxldCB0YWcgPSB0aGlzLmN1cnJlbnROb2RlO1xuICAgIHRhZy5sb2MgPSBiLmxvYyh0YWdMaW5lLCB0YWdDb2x1bW4sIGxpbmUsIGNvbHVtbik7XG5cbiAgICBpZiAodGFnLnR5cGUgPT09ICdTdGFydFRhZycpIHtcbiAgICAgIHRoaXMuZmluaXNoU3RhcnRUYWcoKTtcblxuICAgICAgaWYgKHZvaWRNYXAuaGFzT3duUHJvcGVydHkodGFnLm5hbWUpIHx8IHRhZy5zZWxmQ2xvc2luZykge1xuICAgICAgICB0aGlzLmZpbmlzaEVuZFRhZyh0cnVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRhZy50eXBlID09PSAnRW5kVGFnJykge1xuICAgICAgdGhpcy5maW5pc2hFbmRUYWcoZmFsc2UpO1xuICAgIH1cbiAgfSxcblxuICBmaW5pc2hTdGFydFRhZzogZnVuY3Rpb24oKSB7XG4gICAgbGV0IHsgbmFtZSwgYXR0cmlidXRlcywgbW9kaWZpZXJzIH0gPSB0aGlzLmN1cnJlbnROb2RlO1xuXG4gICAgdmFsaWRhdGVTdGFydFRhZyh0aGlzLmN1cnJlbnROb2RlLCB0aGlzLnRva2VuaXplcik7XG5cbiAgICBsZXQgbG9jID0gYi5sb2ModGhpcy50b2tlbml6ZXIudGFnTGluZSwgdGhpcy50b2tlbml6ZXIudGFnQ29sdW1uKTtcbiAgICBsZXQgZWxlbWVudCA9IGIuZWxlbWVudChuYW1lLCBhdHRyaWJ1dGVzLCBtb2RpZmllcnMsIFtdLCBsb2MpO1xuICAgIHRoaXMuZWxlbWVudFN0YWNrLnB1c2goZWxlbWVudCk7XG4gIH0sXG5cbiAgZmluaXNoRW5kVGFnOiBmdW5jdGlvbihpc1ZvaWQpIHtcbiAgICBsZXQgdGFnID0gdGhpcy5jdXJyZW50Tm9kZTtcblxuICAgIGxldCBlbGVtZW50ID0gdGhpcy5lbGVtZW50U3RhY2sucG9wKCk7XG4gICAgbGV0IHBhcmVudCA9IHRoaXMuY3VycmVudEVsZW1lbnQoKTtcbiAgICBsZXQgZGlzYWJsZUNvbXBvbmVudEdlbmVyYXRpb24gPSAodGhpcy5vcHRpb25zLmRpc2FibGVDb21wb25lbnRHZW5lcmF0aW9uID09PSB0cnVlKTtcblxuICAgIHZhbGlkYXRlRW5kVGFnKHRhZywgZWxlbWVudCwgaXNWb2lkKTtcblxuICAgIGVsZW1lbnQubG9jLmVuZC5saW5lID0gdGhpcy50b2tlbml6ZXIubGluZTtcbiAgICBlbGVtZW50LmxvYy5lbmQuY29sdW1uID0gdGhpcy50b2tlbml6ZXIuY29sdW1uO1xuXG4gICAgaWYgKGRpc2FibGVDb21wb25lbnRHZW5lcmF0aW9uIHx8IGNhbm5vdEJlQ29tcG9uZW50KGVsZW1lbnQudGFnKSkge1xuICAgICAgYXBwZW5kQ2hpbGQocGFyZW50LCBlbGVtZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHByb2dyYW0gPSBiLnByb2dyYW0oZWxlbWVudC5jaGlsZHJlbik7XG4gICAgICBwYXJzZUNvbXBvbmVudEJsb2NrUGFyYW1zKGVsZW1lbnQsIHByb2dyYW0pO1xuICAgICAgbGV0IGNvbXBvbmVudCA9IGIuY29tcG9uZW50KGVsZW1lbnQudGFnLCBlbGVtZW50LmF0dHJpYnV0ZXMsIHByb2dyYW0sIGVsZW1lbnQubG9jKTtcbiAgICAgIGFwcGVuZENoaWxkKHBhcmVudCwgY29tcG9uZW50KTtcbiAgICB9XG4gIH0sXG5cbiAgbWFya1RhZ0FzU2VsZkNsb3Npbmc6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMuY3VycmVudE5vZGUuc2VsZkNsb3NpbmcgPSB0cnVlO1xuICB9LFxuXG4gIC8vIFRhZ3MgLSBuYW1lXG5cbiAgYXBwZW5kVG9UYWdOYW1lOiBmdW5jdGlvbihjaGFyKSB7XG4gICAgdGhpcy5jdXJyZW50Tm9kZS5uYW1lICs9IGNoYXI7XG4gIH0sXG5cbiAgLy8gVGFncyAtIGF0dHJpYnV0ZXNcblxuICBiZWdpbkF0dHJpYnV0ZTogZnVuY3Rpb24oKSB7XG4gICAgbGV0IHRhZyA9IHRoaXMuY3VycmVudE5vZGU7XG4gICAgaWYgKHRhZy50eXBlID09PSAnRW5kVGFnJykge1xuICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEludmFsaWQgZW5kIHRhZzogY2xvc2luZyB0YWcgbXVzdCBub3QgaGF2ZSBhdHRyaWJ1dGVzLCBgICtcbiAgICAgICAgYGluIFxcYCR7dGFnLm5hbWV9XFxgIChvbiBsaW5lICR7dGhpcy50b2tlbml6ZXIubGluZX0pLmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50QXR0cmlidXRlID0ge1xuICAgICAgbmFtZTogXCJcIixcbiAgICAgIHBhcnRzOiBbXSxcbiAgICAgIGlzUXVvdGVkOiBmYWxzZSxcbiAgICAgIGlzRHluYW1pYzogZmFsc2VcbiAgICB9O1xuICB9LFxuXG4gIGFwcGVuZFRvQXR0cmlidXRlTmFtZTogZnVuY3Rpb24oY2hhcikge1xuICAgIHRoaXMuY3VycmVudEF0dHJpYnV0ZS5uYW1lICs9IGNoYXI7XG4gIH0sXG5cbiAgYmVnaW5BdHRyaWJ1dGVWYWx1ZTogZnVuY3Rpb24oaXNRdW90ZWQpIHtcbiAgICB0aGlzLmN1cnJlbnRBdHRyaWJ1dGUuaXNRdW90ZWQgPSBpc1F1b3RlZDtcbiAgfSxcblxuICBhcHBlbmRUb0F0dHJpYnV0ZVZhbHVlOiBmdW5jdGlvbihjaGFyKSB7XG4gICAgbGV0IHBhcnRzID0gdGhpcy5jdXJyZW50QXR0cmlidXRlLnBhcnRzO1xuXG4gICAgaWYgKHR5cGVvZiBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdICs9IGNoYXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnRzLnB1c2goY2hhcik7XG4gICAgfVxuICB9LFxuXG4gIGZpbmlzaEF0dHJpYnV0ZVZhbHVlOiBmdW5jdGlvbigpIHtcbiAgICBsZXQgeyBuYW1lLCBwYXJ0cywgaXNRdW90ZWQsIGlzRHluYW1pYyB9ID0gdGhpcy5jdXJyZW50QXR0cmlidXRlO1xuICAgIGxldCB2YWx1ZSA9IGFzc2VtYmxlQXR0cmlidXRlVmFsdWUocGFydHMsIGlzUXVvdGVkLCBpc0R5bmFtaWMsIHRoaXMudG9rZW5pemVyLmxpbmUpO1xuXG4gICAgdGhpcy5jdXJyZW50Tm9kZS5hdHRyaWJ1dGVzLnB1c2goYi5hdHRyKG5hbWUsIHZhbHVlKSk7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGFzc2VtYmxlQXR0cmlidXRlVmFsdWUocGFydHMsIGlzUXVvdGVkLCBpc0R5bmFtaWMsIGxpbmUpIHtcbiAgaWYgKGlzRHluYW1pYykge1xuICAgIGlmIChpc1F1b3RlZCkge1xuICAgICAgcmV0dXJuIGFzc2VtYmxlQ29uY2F0ZW5hdGVkVmFsdWUocGFydHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocGFydHMubGVuZ3RoID09PSAxIHx8IChwYXJ0cy5sZW5ndGggPT09IDIgJiYgcGFydHNbMV0gPT09ICcvJykpIHtcbiAgICAgICAgcmV0dXJuIHBhcnRzWzBdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBBbiB1bnF1b3RlZCBhdHRyaWJ1dGUgdmFsdWUgbXVzdCBiZSBhIHN0cmluZyBvciBhIG11c3RhY2hlLCBgICtcbiAgICAgICAgICBgcHJlY2VlZGVkIGJ5IHdoaXRlc3BhY2Ugb3IgYSAnPScgY2hhcmFjdGVyLCBhbmQgYCArXG4gICAgICAgICAgYGZvbGxvd2VkIGJ5IHdoaXRlc3BhY2UsIGEgJz4nIGNoYXJhY3RlciBvciBhICcvPicgKG9uIGxpbmUgJHtsaW5lfSlgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBiLnRleHQoKHBhcnRzLmxlbmd0aCA+IDApID8gcGFydHNbMF0gOiBcIlwiKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhc3NlbWJsZUNvbmNhdGVuYXRlZFZhbHVlKHBhcnRzKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpKyspIHtcbiAgICBsZXQgcGFydCA9IHBhcnRzW2ldO1xuXG4gICAgaWYgKHR5cGVvZiBwYXJ0ID09PSAnc3RyaW5nJykge1xuICAgICAgcGFydHNbaV0gPSBiLnN0cmluZyhwYXJ0c1tpXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwYXJ0LnR5cGUgPT09ICdNdXN0YWNoZVN0YXRlbWVudCcpIHtcbiAgICAgICAgcGFydHNbaV0gPSB1bndyYXBNdXN0YWNoZShwYXJ0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuc3VwcG9ydGVkIG5vZGUgaW4gcXVvdGVkIGF0dHJpYnV0ZSB2YWx1ZTogXCIgKyBwYXJ0LnR5cGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBiLmNvbmNhdChwYXJ0cyk7XG59XG5cbmZ1bmN0aW9uIGNhbm5vdEJlQ29tcG9uZW50KHRhZ05hbWUpIHtcbiAgcmV0dXJuIHRhZ05hbWUuaW5kZXhPZihcIi1cIikgPT09IC0xICYmXG4gICAgICB0YWdOYW1lLmluZGV4T2YoXCIuXCIpID09PSAtMTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVTdGFydFRhZyh0YWcsIHRva2VuaXplcikge1xuICAvLyBObyBzdXBwb3J0IGZvciA8c2NyaXB0PiB0YWdzXG4gIGlmICh0YWcubmFtZSA9PT0gXCJzY3JpcHRcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcImBTQ1JJUFRgIHRhZ3MgYXJlIG5vdCBhbGxvd2VkIGluIEhUTUxCYXJzIHRlbXBsYXRlcyAob24gbGluZSBcIiArIHRva2VuaXplci50YWdMaW5lICsgXCIpXCIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlRW5kVGFnKHRhZywgZWxlbWVudCwgc2VsZkNsb3NpbmcpIHtcbiAgaWYgKHZvaWRNYXBbdGFnLm5hbWVdICYmICFzZWxmQ2xvc2luZykge1xuICAgIC8vIEVuZ1RhZyBpcyBhbHNvIGNhbGxlZCBieSBTdGFydFRhZyBmb3Igdm9pZCBhbmQgc2VsZi1jbG9zaW5nIHRhZ3MgKGkuZS5cbiAgICAvLyA8aW5wdXQ+IG9yIDxiciAvPiwgc28gd2UgbmVlZCB0byBjaGVjayBmb3IgdGhhdCBoZXJlLiBPdGhlcndpc2UsIHdlIHdvdWxkXG4gICAgLy8gdGhyb3cgYW4gZXJyb3IgZm9yIHRob3NlIGNhc2VzLlxuICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgZW5kIHRhZyBcIiArIGZvcm1hdEVuZFRhZ0luZm8odGFnKSArIFwiICh2b2lkIGVsZW1lbnRzIGNhbm5vdCBoYXZlIGVuZCB0YWdzKS5cIik7XG4gIH0gZWxzZSBpZiAoZWxlbWVudC50YWcgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkNsb3NpbmcgdGFnIFwiICsgZm9ybWF0RW5kVGFnSW5mbyh0YWcpICsgXCIgd2l0aG91dCBhbiBvcGVuIHRhZy5cIik7XG4gIH0gZWxzZSBpZiAoZWxlbWVudC50YWcgIT09IHRhZy5uYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ2xvc2luZyB0YWcgXCIgKyBmb3JtYXRFbmRUYWdJbmZvKHRhZykgKyBcIiBkaWQgbm90IG1hdGNoIGxhc3Qgb3BlbiB0YWcgYFwiICsgZWxlbWVudC50YWcgKyBcImAgKG9uIGxpbmUgXCIgK1xuICAgICAgICAgICAgZWxlbWVudC5sb2Muc3RhcnQubGluZSArIFwiKS5cIik7XG4gIH1cbn1cblxuZnVuY3Rpb24gZm9ybWF0RW5kVGFnSW5mbyh0YWcpIHtcbiAgcmV0dXJuIFwiYFwiICsgdGFnLm5hbWUgKyBcImAgKG9uIGxpbmUgXCIgKyB0YWcubG9jLmVuZC5saW5lICsgXCIpXCI7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImh0bWxiYXJzLXN5bnRheC9wYXJzZXIvdG9rZW5pemVyLWV2ZW50LWhhbmRsZXJzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7d0NBQW9CLG9DQUFvQzs7Ozt3QkFDMUMsYUFBYTs7OztxQkFDNEMsVUFBVTs7a0JBRWxFO0FBQ2IsT0FBSyxFQUFFLFlBQVc7QUFDaEIsUUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7R0FDekI7Ozs7QUFJRCxjQUFZLEVBQUUsWUFBVztBQUN2QixRQUFJLENBQUMsV0FBVyxHQUFHLG1CQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNqQyxRQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRztBQUNyQixZQUFNLEVBQUUsSUFBSTtBQUNaLFdBQUssRUFBRSxtQkFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7QUFDeEQsU0FBRyxFQUFFLElBQUk7S0FDVixDQUFDO0dBQ0g7O0FBRUQscUJBQW1CLEVBQUUsVUFBUyxJQUFJLEVBQUU7QUFDbEMsUUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO0dBQ2hDOztBQUVELGVBQWEsRUFBRSxZQUFXO0FBQ3hCLFFBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxtQkFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7QUFFN0UsdUJBQVksSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztHQUN0RDs7OztBQUlELFdBQVMsRUFBRSxZQUFXO0FBQ3BCLFFBQUksQ0FBQyxXQUFXLEdBQUcsbUJBQUUsSUFBSSxFQUFFLENBQUM7QUFDNUIsUUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUc7QUFDckIsWUFB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LFNBQVMsRUFBRTs7QUFFeEMsTUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtBQUN6QixVQUFNLElBQUksS0FBSyxDQUFDLCtEQUErRCxHQUFHLFNBQVMsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUM7R0FDNUc7Q0FDRjs7QUFFRCxTQUFTLGNBQWMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRTtBQUNqRCxNQUFJLG1DQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTs7OztBQUlyQyxVQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLHdDQUF3QyxDQUFDLENBQUM7R0FDeEcsTUFBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFO0FBQ3BDLFVBQU0sSUFBSSxLQUFLLENBQUMsY0FBYyxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLHVCQUF1QixDQUFDLENBQUM7R0FDbkYsTUFBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLElBQUksRUFBRTtBQUNuQyxVQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxnQ0FBZ0MsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLGFBQWEsR0FDL0csT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDO0dBQ3hDO0NBQ0Y7O0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7QUFDN0IsU0FBTyxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxhQUFhLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztDQUNoRSIsImZpbGUiOiJodG1sYmFycy1zeW50YXgvcGFyc2VyL3Rva2VuaXplci1ldmVudC1oYW5kbGVycy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB2b2lkTWFwIGZyb20gJy4uLy4uL2h0bWxiYXJzLXV0aWwvdm9pZC10YWctbmFtZXMnO1xuaW1wb3J0IGIgZnJvbSBcIi4uL2J1aWxkZXJzXCI7XG5pbXBvcnQgeyBhcHBlbmRDaGlsZCwgcGFyc2VDb21wb25lbnRCbG9ja1BhcmFtcywgdW53cmFwTXVzdGFjaGUgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICByZXNldDogZnVuY3Rpb24oKSB7XG4gICAgdGhpcy5jdXJyZW50Tm9kZSA9IG51bGw7XG4gIH0sXG5cbiAgLy8gQ29tbWVudFxuXG4gIGJlZ2luQ29tbWVudDogZnVuY3Rpb24oKSB7XG4gICAgdGhpcy5jdXJyZW50Tm9kZSA9IGIuY29tbWVudChcIlwiKTtcbiAgICB0aGlzLmN1cnJlbnROb2RlLmxvYyA9IHtcbiAgICAgIHNvdXJjZTogbnVsbCxcbiAgICAgIHN0YXJ0OiBiLnBvcyh0aGlzLnRva2VuaXplci5saW5lLCB0aGlzLnRva2VuaXplci5jb2x1bW4pLFxuICAgICAgZW5kOiBudWxsXG4gICAgfTtcbiAgfSxcblxuICBhcHBlbmRUb0NvbW1lbnREYXRhOiBmdW5jdGlvbihjaGFyKSB7XG4gICAgdGhpcy5jdXJyZW50Tm9kZS52YWx1ZSArPSBjaGFyO1xuICB9LFxuXG4gIGZpbmlzaENvbW1lbnQ6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMuY3VycmVudE5vZGUubG9jLmVuZCA9IGIucG9zKHRoaXMudG9rZW5pemVyLmxpbmUsIHRoaXMudG9rZW5pemVyLmNvbHVtbik7XG5cbiAgICBhcHBlbmRDaGlsZCh0aGlzLmN1cnJlbnRFbGVtZW50KCksIHRoaXMuY3VycmVudE5vZGUpO1xuICB9LFxuXG4gIC8vIERhdGFcblxuICBiZWdpbkRhdGE6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMuY3VycmVudE5vZGUgPSBiLnRleHQoKTtcbiAgICB0aGlzLmN1cnJlbnROb2RlLmxvYyA9IHtcbiAgICAgIHNvdXJjZTogbnVsbCxcbiAgICAgIHN0YXJ0OiBiLnBvcyh0aGlzLnRva2VuaXplci5saW5lLCB0aGlzLnRva2VuaXplci5jb2x1bW4pLFxuICAgICAgZW5kOiBudWxsXG4gICAgfTtcbiAgfSxcblxuICBhcHBlbmRUb0RhdGE6IGZ1bmN0aW9uKGNoYXIpIHtcbiAgICB0aGlzLmN1cnJlbnROb2RlLmNoYXJzICs9IGNoYXI7XG4gIH0sXG5cbiAgZmluaXNoRGF0YTogZnVuY3Rpb24oKSB7XG4gICAgdGhpcy5jdXJyZW50Tm9kZS5sb2MuZW5kID0gYi5wb3ModGhpcy50b2tlbml6ZXIubGluZSwgdGhpcy50b2tlbml6ZXIuY29sdW1uKTtcblxuICAgIGFwcGVuZENoaWxkKHRoaXMuY3VycmVudEVsZW1lbnQoKSwgdGhpcy5jdXJyZW50Tm9kZSk7XG4gIH0sXG5cbiAgLy8gVGFncyAtIGJhc2ljXG5cbiAgYmVnaW5TdGFydFRhZzogZnVuY3Rpb24oKSB7XG4gICAgdGhpcy5jdXJyZW50Tm9kZSA9IHtcbiAgICAgIHR5cGU6ICdTdGFydFRhZycsXG4gICAgICBuYW1lOiBcIlwiLFxuICAgICAgYXR0cmlidXRlczogW10sXG4gICAgICBtb2RpZmllcnM6IFtdLFxuICAgICAgc2VsZkNsb3Npbmc6IGZhbHNlLFxuICAgICAgbG9jOiBudWxsXG4gICAgfTtcbiAgfSxcblxuICBiZWdpbkVuZFRhZzogZnVuY3Rpb24oKSB7XG4gICAgdGhpcy5jdXJyZW50Tm9kZSA9IHtcbiAgICAgIHR5cGU6ICdFbmRUYWcnLFxuICAgICAgbmFtZTogXCJcIixcbiAgICAgIGF0dHJpYnV0ZXM6IFtdLFxuICAgICAgbW9kaWZpZXJzOiBbXSxcbiAgICAgIHNlbGZDbG9zaW5nOiBmYWxzZSxcbiAgICAgIGxvYzogbnVsbFxuICAgIH07XG4gIH0sXG5cbiAgZmluaXNoVGFnOiBmdW5jdGlvbigpIHtcbiAgICBsZXQgeyB0YWdMaW5lLCB0YWdDb2x1bW4sIGxpbmUsIGNvbHVtbiB9ID0gdGhpcy50b2tlbml6ZXI7XG5cbiAgICBsZXQgdGFnID0gdGhpcy5jdXJyZW50Tm9kZTtcbiAgICB0YWcubG9jID0gYi5sb2ModGFnTGluZSwgdGFnQ29sdW1uLCBsaW5lLCBjb2x1bW4pO1xuXG4gICAgaWYgKHRhZy50eXBlID09PSAnU3RhcnRUYWcnKSB7XG4gICAgICB0aGlzLmZpbmlzaFN0YXJ0VGFnKCk7XG5cbiAgICAgIGlmICh2b2lkTWFwLmhhc093blByb3BlcnR5KHRhZy5uYW1lKSB8fCB0YWcuc2VsZkNsb3NpbmcpIHtcbiAgICAgICAgdGhpcy5maW5pc2hFbmRUYWcodHJ1ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0YWcudHlwZSA9PT0gJ0VuZFRhZycpIHtcbiAgICAgIHRoaXMuZmluaXNoRW5kVGFnKGZhbHNlKTtcbiAgICB9XG4gIH0sXG5cbiAgZmluaXNoU3RhcnRUYWc6IGZ1bmN0aW9uKCkge1xuICAgIGxldCB7IG5hbWUsIGF0dHJpYnV0ZXMsIG1vZGlmaWVycyB9ID0gdGhpcy5jdXJyZW50Tm9kZTtcblxuICAgIHZhbGlkYXRlU3RhcnRUYWcodGhpcy5jdXJyZW50Tm9kZSwgdGhpcy50b2tlbml6ZXIpO1xuXG4gICAgbGV0IGxvYyA9IGIubG9jKHRoaXMudG9rZW5pemVyLnRhZ0xpbmUsIHRoaXMudG9rZW5pemVyLnRhZ0NvbHVtbik7XG4gICAgbGV0IGVsZW1lbnQgPSBiLmVsZW1lbnQobmFtZSwgYXR0cmlidXRlcywgbW9kaWZpZXJzLCBbXSwgbG9jKTtcbiAgICB0aGlzLmVsZW1lbnRTdGFjay5wdXNoKGVsZW1lbnQpO1xuICB9LFxuXG4gIGZpbmlzaEVuZFRhZzogZnVuY3Rpb24oaXNWb2lkKSB7XG4gICAgbGV0IHRhZyA9IHRoaXMuY3VycmVudE5vZGU7XG5cbiAgICBsZXQgZWxlbWVudCA9IHRoaXMuZWxlbWVudFN0YWNrLnBvcCgpO1xuICAgIGxldCBwYXJlbnQgPSB0aGlzLmN1cnJlbnRFbGVtZW50KCk7XG4gICAgbGV0IGRpc2FibGVDb21wb25lbnRHZW5lcmF0aW9uID0gKHRoaXMub3B0aW9ucy5kaXNhYmxlQ29tcG9uZW50R2VuZXJhdGlvbiA9PT0gdHJ1ZSk7XG5cbiAgICB2YWxpZGF0ZUVuZFRhZyh0YWcsIGVsZW1lbnQsIGlzVm9pZCk7XG5cbiAgICBlbGVtZW50LmxvYy5lbmQubGluZSA9IHRoaXMudG9rZW5pemVyLmxpbmU7XG4gICAgZWxlbWVudC5sb2MuZW5kLmNvbHVtbiA9IHRoaXMudG9rZW5pemVyLmNvbHVtbjtcblxuICAgIGlmIChkaXNhYmxlQ29tcG9uZW50R2VuZXJhdGlvbiB8fCBjYW5ub3RCZUNvbXBvbmVudChlbGVtZW50LnRhZykpIHtcbiAgICAgIGFwcGVuZENoaWxkKHBhcmVudCwgZWxlbWVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBwcm9ncmFtID0gYi5wcm9ncmFtKGVsZW1lbnQuY2hpbGRyZW4pO1xuICAgICAgcGFyc2VDb21wb25lbnRCbG9ja1BhcmFtcyhlbGVtZW50LCBwcm9ncmFtKTtcbiAgICAgIGxldCBjb21wb25lbnQgPSBiLmNvbXBvbmVudChlbGVtZW50LnRhZywgZWxlbWVudC5hdHRyaWJ1dGVzLCBwcm9ncmFtLCBlbGVtZW50LmxvYyk7XG4gICAgICBhcHBlbmRDaGlsZChwYXJlbnQsIGNvbXBvbmVudCk7XG4gICAgfVxuICB9LFxuXG4gIG1hcmtUYWdBc1NlbGZDbG9zaW5nOiBmdW5jdGlvbigpIHtcbiAgICB0aGlzLmN1cnJlbnROb2RlLnNlbGZDbG9zaW5nID0gdHJ1ZTtcbiAgfSxcblxuICAvLyBUYWdzIC0gbmFtZVxuXG4gIGFwcGVuZFRvVGFnTmFtZTogZnVuY3Rpb24oY2hhcikge1xuICAgIHRoaXMuY3VycmVudE5vZGUubmFtZSArPSBjaGFyO1xuICB9LFxuXG4gIC8vIFRhZ3MgLSBhdHRyaWJ1dGVzXG5cbiAgYmVnaW5BdHRyaWJ1dGU6IGZ1bmN0aW9uKCkge1xuICAgIGxldCB0YWcgPSB0aGlzLmN1cnJlbnROb2RlO1xuICAgIGlmICh0YWcudHlwZSA9PT0gJ0VuZFRhZycpIHtcbiAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIGVuZCB0YWc6IGNsb3NpbmcgdGFnIG11c3Qgbm90IGhhdmUgYXR0cmlidXRlcywgYCArXG4gICAgICAgIGBpbiBcXGAke3RhZy5uYW1lfVxcYCAob24gbGluZSAke3RoaXMudG9rZW5pemVyLmxpbmV9KS5gXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuY3VycmVudEF0dHJpYnV0ZSA9IHtcbiAgICAgIG5hbWU6IFwiXCIsXG4gICAgICBwYXJ0czogW10sXG4gICAgICBpc1F1b3RlZDogZmFsc2UsXG4gICAgICBpc0R5bmFtaWM6IGZhbHNlLFxuICAgICAgc3RhcnQ6IGIucG9zKHRoaXMudG9rZW5pemVyLmxpbmUsIHRoaXMudG9rZW5pemVyLmNvbHVtbilcbiAgICB9O1xuICB9LFxuXG4gIGFwcGVuZFRvQXR0cmlidXRlTmFtZTogZnVuY3Rpb24oY2hhcikge1xuICAgIHRoaXMuY3VycmVudEF0dHJpYnV0ZS5uYW1lICs9IGNoYXI7XG4gIH0sXG5cbiAgYmVnaW5BdHRyaWJ1dGVWYWx1ZTogZnVuY3Rpb24oaXNRdW90ZWQpIHtcbiAgICB0aGlzLmN1cnJlbnRBdHRyaWJ1dGUuaXNRdW90ZWQgPSBpc1F1b3RlZDtcbiAgfSxcblxuICBhcHBlbmRUb0F0dHJpYnV0ZVZhbHVlOiBmdW5jdGlvbihjaGFyKSB7XG4gICAgbGV0IHBhcnRzID0gdGhpcy5jdXJyZW50QXR0cmlidXRlLnBhcnRzO1xuXG4gICAgaWYgKHR5cGVvZiBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdICs9IGNoYXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnRzLnB1c2goY2hhcik7XG4gICAgfVxuICB9LFxuXG4gIGZpbmlzaEF0dHJpYnV0ZVZhbHVlOiBmdW5jdGlvbigpIHtcbiAgICBsZXQgeyBuYW1lLCBwYXJ0cywgaXNRdW90ZWQsIGlzRHluYW1pYyB9ID0gdGhpcy5jdXJyZW50QXR0cmlidXRlO1xuICAgIGxldCB2YWx1ZSA9IGFzc2VtYmxlQXR0cmlidXRlVmFsdWUocGFydHMsIGlzUXVvdGVkLCBpc0R5bmFtaWMsIHRoaXMudG9rZW5pemVyLmxpbmUpO1xuXG4gICAgbGV0IGxvYyA9IGIubG9jKFxuICAgICAgdGhpcy5jdXJyZW50QXR0cmlidXRlLnN0YXJ0LmxpbmUsIHRoaXMuY3VycmVudEF0dHJpYnV0ZS5zdGFydC5jb2x1bW4sXG4gICAgICB0aGlzLnRva2VuaXplci5saW5lLCB0aGlzLnRva2VuaXplci5jb2x1bW5cbiAgICApO1xuXG4gICAgbGV0IGF0dHJpYnV0ZSA9IGIuYXR0cihuYW1lLCB2YWx1ZSwgbG9jKTtcblxuICAgIHRoaXMuY3VycmVudE5vZGUuYXR0cmlidXRlcy5wdXNoKGF0dHJpYnV0ZSk7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGFzc2VtYmxlQXR0cmlidXRlVmFsdWUocGFydHMsIGlzUXVvdGVkLCBpc0R5bmFtaWMsIGxpbmUpIHtcbiAgaWYgKGlzRHluYW1pYykge1xuICAgIGlmIChpc1F1b3RlZCkge1xuICAgICAgcmV0dXJuIGFzc2VtYmxlQ29uY2F0ZW5hdGVkVmFsdWUocGFydHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocGFydHMubGVuZ3RoID09PSAxIHx8IChwYXJ0cy5sZW5ndGggPT09IDIgJiYgcGFydHNbMV0gPT09ICcvJykpIHtcbiAgICAgICAgcmV0dXJuIHBhcnRzWzBdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBBbiB1bnF1b3RlZCBhdHRyaWJ1dGUgdmFsdWUgbXVzdCBiZSBhIHN0cmluZyBvciBhIG11c3RhY2hlLCBgICtcbiAgICAgICAgICBgcHJlY2VlZGVkIGJ5IHdoaXRlc3BhY2Ugb3IgYSAnPScgY2hhcmFjdGVyLCBhbmQgYCArXG4gICAgICAgICAgYGZvbGxvd2VkIGJ5IHdoaXRlc3BhY2UsIGEgJz4nIGNoYXJhY3RlciBvciBhICcvPicgKG9uIGxpbmUgJHtsaW5lfSlgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBiLnRleHQoKHBhcnRzLmxlbmd0aCA+IDApID8gcGFydHNbMF0gOiBcIlwiKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhc3NlbWJsZUNvbmNhdGVuYXRlZFZhbHVlKHBhcnRzKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpKyspIHtcbiAgICBsZXQgcGFydCA9IHBhcnRzW2ldO1xuXG4gICAgaWYgKHR5cGVvZiBwYXJ0ID09PSAnc3RyaW5nJykge1xuICAgICAgcGFydHNbaV0gPSBiLnN0cmluZyhwYXJ0c1tpXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwYXJ0LnR5cGUgPT09ICdNdXN0YWNoZVN0YXRlbWVudCcpIHtcbiAgICAgICAgcGFydHNbaV0gPSB1bndyYXBNdXN0YWNoZShwYXJ0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuc3VwcG9ydGVkIG5vZGUgaW4gcXVvdGVkIGF0dHJpYnV0ZSB2YWx1ZTogXCIgKyBwYXJ0LnR5cGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBiLmNvbmNhdChwYXJ0cyk7XG59XG5cbmZ1bmN0aW9uIGNhbm5vdEJlQ29tcG9uZW50KHRhZ05hbWUpIHtcbiAgcmV0dXJuIHRhZ05hbWUuaW5kZXhPZihcIi1cIikgPT09IC0xICYmXG4gICAgICB0YWdOYW1lLmluZGV4T2YoXCIuXCIpID09PSAtMTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVTdGFydFRhZyh0YWcsIHRva2VuaXplcikge1xuICAvLyBObyBzdXBwb3J0IGZvciA8c2NyaXB0PiB0YWdzXG4gIGlmICh0YWcubmFtZSA9PT0gXCJzY3JpcHRcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcImBTQ1JJUFRgIHRhZ3MgYXJlIG5vdCBhbGxvd2VkIGluIEhUTUxCYXJzIHRlbXBsYXRlcyAob24gbGluZSBcIiArIHRva2VuaXplci50YWdMaW5lICsgXCIpXCIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlRW5kVGFnKHRhZywgZWxlbWVudCwgc2VsZkNsb3NpbmcpIHtcbiAgaWYgKHZvaWRNYXBbdGFnLm5hbWVdICYmICFzZWxmQ2xvc2luZykge1xuICAgIC8vIEVuZ1RhZyBpcyBhbHNvIGNhbGxlZCBieSBTdGFydFRhZyBmb3Igdm9pZCBhbmQgc2VsZi1jbG9zaW5nIHRhZ3MgKGkuZS5cbiAgICAvLyA8aW5wdXQ+IG9yIDxiciAvPiwgc28gd2UgbmVlZCB0byBjaGVjayBmb3IgdGhhdCBoZXJlLiBPdGhlcndpc2UsIHdlIHdvdWxkXG4gICAgLy8gdGhyb3cgYW4gZXJyb3IgZm9yIHRob3NlIGNhc2VzLlxuICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgZW5kIHRhZyBcIiArIGZvcm1hdEVuZFRhZ0luZm8odGFnKSArIFwiICh2b2lkIGVsZW1lbnRzIGNhbm5vdCBoYXZlIGVuZCB0YWdzKS5cIik7XG4gIH0gZWxzZSBpZiAoZWxlbWVudC50YWcgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkNsb3NpbmcgdGFnIFwiICsgZm9ybWF0RW5kVGFnSW5mbyh0YWcpICsgXCIgd2l0aG91dCBhbiBvcGVuIHRhZy5cIik7XG4gIH0gZWxzZSBpZiAoZWxlbWVudC50YWcgIT09IHRhZy5uYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ2xvc2luZyB0YWcgXCIgKyBmb3JtYXRFbmRUYWdJbmZvKHRhZykgKyBcIiBkaWQgbm90IG1hdGNoIGxhc3Qgb3BlbiB0YWcgYFwiICsgZWxlbWVudC50YWcgKyBcImAgKG9uIGxpbmUgXCIgK1xuICAgICAgICAgICAgZWxlbWVudC5sb2Muc3RhcnQubGluZSArIFwiKS5cIik7XG4gIH1cbn1cblxuZnVuY3Rpb24gZm9ybWF0RW5kVGFnSW5mbyh0YWcpIHtcbiAgcmV0dXJuIFwiYFwiICsgdGFnLm5hbWUgKyBcImAgKG9uIGxpbmUgXCIgKyB0YWcubG9jLmVuZC5saW5lICsgXCIpXCI7XG59XG4iXX0=

@@ -7,3 +7,3 @@ exports.__esModule = true;

* See https://raw.githubusercontent.com/tildeio/htmlbars/master/LICENSE
* @version v0.14.16
* @version v0.14.17
*/

@@ -10,0 +10,0 @@

@@ -90,7 +90,8 @@ // Statements

export function buildAttr(name, value) {
export function buildAttr(name, value, loc) {
return {
type: "AttrNode",
name: name,
value: value
value: value,
loc: buildLoc(loc)
};

@@ -225,3 +226,3 @@ }

end: buildPosition(endLine, endColumn)
};
};
}

@@ -228,0 +229,0 @@ }

@@ -14,2 +14,7 @@ import voidMap from '../../htmlbars-util/void-tag-names';

this.currentNode = b.comment("");
this.currentNode.loc = {
source: null,
start: b.pos(this.tokenizer.line, this.tokenizer.column),
end: null
};
},

@@ -22,6 +27,7 @@

finishComment: function() {
this.currentNode.loc.end = b.pos(this.tokenizer.line, this.tokenizer.column);
appendChild(this.currentElement(), this.currentNode);
},
// Data

@@ -31,2 +37,7 @@

this.currentNode = b.text();
this.currentNode.loc = {
source: null,
start: b.pos(this.tokenizer.line, this.tokenizer.column),
end: null
};
},

@@ -39,2 +50,4 @@

finishData: function() {
this.currentNode.loc.end = b.pos(this.tokenizer.line, this.tokenizer.column);
appendChild(this.currentElement(), this.currentNode);

@@ -141,3 +154,4 @@ },

isQuoted: false,
isDynamic: false
isDynamic: false,
start: b.pos(this.tokenizer.line, this.tokenizer.column)
};

@@ -168,3 +182,10 @@ },

this.currentNode.attributes.push(b.attr(name, value));
let loc = b.loc(
this.currentAttribute.start.line, this.currentAttribute.start.column,
this.tokenizer.line, this.tokenizer.column
);
let attribute = b.attr(name, value, loc);
this.currentNode.attributes.push(attribute);
}

@@ -171,0 +192,0 @@ };

@@ -6,3 +6,3 @@ /*

* See https://raw.githubusercontent.com/tildeio/htmlbars/master/LICENSE
* @version v0.14.16
* @version v0.14.17
*/

@@ -9,0 +9,0 @@

var packagesConfig = {
"version": "0.14.16",
"revision": "ba212c9dc100e674b03b2fc78dbfb654395ae18f",
"version": "0.14.17",
"revision": "bdadbe062abe100d2b7dc977099ba5b17b41950f",
"vendored": {},

@@ -5,0 +5,0 @@ "dependencies": {

{
"name": "htmlbars",
"version": "0.14.16",
"version": "0.14.17",
"description": "HTMLBars compiles Handlebars templates into document fragments rather than string buffers",

@@ -5,0 +5,0 @@ "main": "dist/cjs/htmlbars.js",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc