Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

feel-ui

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

feel-ui - npm Package Compare versions

Comparing version 0.2.7 to 0.2.8

8

dist/feel-ui.js

@@ -31,5 +31,9 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.FeelUi = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){

function ButtonComponent() {
this.type = "button";
}
__decorate([
core_1.Input()
], ButtonComponent.prototype, "type", void 0);
__decorate([
core_1.Input()
], ButtonComponent.prototype, "primary", void 0);

@@ -46,3 +50,3 @@ __decorate([

selector: "feel-button",
template: "<button type='button' [ngClass]=\"{ 'btn-flat': flat, 'btn-primary': primary }\" >{{text}}</button>"
template: "<button [type]=type [ngClass]=\"{ 'btn-flat': flat, 'btn-primary': primary }\" >{{text}}</button>"
})

@@ -420,2 +424,2 @@ ], ButtonComponent);

});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJmZWVsLXVpLnRzIiwibm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbGliL19lbXB0eS5qcyIsInNyYy9idXR0b24udHMiLCJzcmMvY2hlY2tib3gudHMiLCJzcmMvaW5wdXQudHMiLCJzcmMvbWVudS1iYXIudHMiLCJzcmMvbWVudS1wYW5lbC50cyIsInNyYy9ub3RpZmljYXRpb24tcHJvdmlkZXIudHMiLCJzcmMvcGlwZXMvc29ydC1waXBlLnRzIiwic3JjL3NsaWRlci50cyIsInNyYy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBLHVCQUFnQyxjQUFjLENBQUMsQ0FBQTtBQVU1Qyx1QkFBZTtBQVRsQix5QkFBd0IsZ0JBQWdCLENBQUMsQ0FBQTtBQVV0QyxlQUFPO0FBVFYsMkJBQTBCLGtCQUFrQixDQUFDLENBQUE7QUFVMUMsaUJBQVM7QUFUWixzQkFBK0IsYUFBYSxDQUFDLENBQUE7QUFVMUMsc0JBQWM7QUFUakIsc0NBQXFDLDZCQUE2QixDQUFDLENBQUE7QUFVaEUsNEJBQW9CO0FBVHZCLHNCQUErQixhQUFhLENBQUMsQ0FBQTtBQVUxQyxzQkFBYztBQVRqQix1QkFBdUIsY0FBYyxDQUFDLENBQUE7QUFVbkMsY0FBTTtBQVRULHlCQUF5QixnQkFBZ0IsQ0FBQyxDQUFBO0FBVXZDLGdCQUFRO0FBQ1Q7QUNsQkY7Ozs7Ozs7O0FDQUEscUJBQWdDLGVBQWUsQ0FBQyxDQUFBO0FBQ2hELHVCQUF3QixpQkFBaUIsQ0FBQyxDQUFBO0FBRTFDO0lBQUE7SUFVQyxDQUFDO0lBSEM7UUFBQyxZQUFLLEVBQUU7T0FBQyxvQ0FBTyxVQUFVO0lBQzFCO1FBQUMsWUFBSyxFQUFFO09BQUMsaUNBQUksVUFBVTtJQUN2QjtRQUFDLFlBQUssRUFBRTtPQUFDLGlDQUFJLFVBQVM7SUFUekI7UUFBQyxnQkFBUyxDQUFDO1lBQ1AsVUFBVSxFQUFFLENBQUMsZ0JBQU8sQ0FB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Ozs7O0FDN0VGLHFCQUFnRixlQUFlLENBQUMsQ0FBQTtBQUNoRyx1QkFBdUMsaUJBQWlCLENBQUMsQ0FBQTtBQUN6RCwwQkFBeUIsbUJBQW1CLENBQUMsQ0FBQTtBQUU3QztJQUFBO1FBMkJVLGNBQVMsR0FBVyxXQUFXLENBQUM7UUFDaEMsY0FBUyxHQUFrQixDQUFFLFdBQVcsQ0FBRSxDQUFDO0lBWXBELENBQUM7SUFWUSxnQ0FBTyxHQUFkLFVBQWdCLFlBQW9CO1FBQ2xDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDdEMsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDO1lBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUM7UUFDaEMsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBZEQ7UUFBQyxZQUFLLEVBQUU7T0FBQyxnQ0FBSSxVQUFhO0lBQzFCO1FBQUMsWUFBSyxFQUFFO09BQUMsbUNBQU8sVUFBYTtJQTFCaEM7UUFBQyxnQkFBUyxDQUFDO1lBQ1AsVUFBVSxFQUFFLENBQUUsZ0JBQU8sQ0FBRTtZQUN2QixRQUFRLEVBQUUsWUFBWTtZQUN0QixLQUFLLEVBQUUsQ0FBRSxvQkFBUSxDQUFFO1lBQ25CLGtEQUFrRDtZQUNsRCxRQUFRLEVBQUUsKzNCQWdCVTtTQUN2QixDQUFDO3VCQWtCQTtJQUFELHFCQUFDO0FBQUQsQ0F4Q0QsQUF3Q0UsSUFBQTtBQWpCVyxzQkFBYyxpQkFpQnpCLENBQUEiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitvK1wiJ1wiKTt0aHJvdyBmLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30pIiwiaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIi4vc3JjL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBNZW51QmFyIH0gZnJvbSBcIi4vc3JjL21lbnUtYmFyXCI7XHJcbmltcG9ydCB7IE1lbnVQYW5lbCB9IGZyb20gXCIuL3NyYy9tZW51LXBhbmVsXCI7XHJcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSBcIi4vc3JjL2lucHV0XCI7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblByb3ZpZGVyIH0gZnJvbSBcIi4vc3JjL25vdGlmaWNhdGlvbi1wcm92aWRlclwiO1xyXG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuL3NyYy90YWJsZVwiO1xyXG5pbXBvcnQgeyBTbGlkZXIgfSBmcm9tIFwiLi9zcmMvc2xpZGVyXCI7XHJcbmltcG9ydCB7IENoZWNrYm94IH0gZnJvbSBcIi4vc3JjL2NoZWNrYm94XCI7XHJcblxyXG5leHBvcnQge1xyXG4gICBCdXR0b25Db21wb25lbnQsXHJcbiAgIE1lbnVCYXIsXHJcbiAgIE1lbnVQYW5lbCxcclxuICAgSW5wdXRDb21wb25lbnQsXHJcbiAgIE5vdGlmaWNhdGlvblByb3ZpZGVyLFxyXG4gICBUYWJsZUNvbXBvbmVudCxcclxuICAgU2xpZGVyLFxyXG4gICBDaGVja2JveFxyXG59O1xyXG4iLCIiLCJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0fSBmcm9tIFwiYW5ndWxhcjIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSBcImFuZ3VsYXIyL2NvbW1vblwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBkaXJlY3RpdmVzOiBbTmdDbGFzc10sXHJcbiAgICBzZWxlY3RvcjogXCJmZWVsLWJ1dHRvblwiLFxyXG4gICAgdGVtcGxhdGU6IFwiPGJ1dHRvbiB0eXBlPSdidXR0b24nIFtuZ0NsYXNzXT1cXFwieyAnYnRuLWZsYXQnOiBmbGF0LCAnYnRuLXByaW1hcnknOiBwcmltYXJ5IH1cXFwiID57e3RleHR9fTwvYnV0dG9uPlwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xyXG5cclxuICAgQElucHV0KCkgcHJpbWFyeTogYm9vbGVhbjtcclxuICAgQElucHV0KCkgZmxhdDogYm9vbGVhbjtcclxuICAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xyXG4gfVxyXG4iLCJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBIb3N0TGlzdGVuZXIsIEhvc3RCaW5kaW5nLCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gXCJhbmd1bGFyMi9jb3JlXCI7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tIFwiYW5ndWxhcjIvY29tbW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFtOZ0NsYXNzXSxcclxuICAgIHNlbGVjdG9yOiBcImZlZWwtY2hlY2tib3hcIixcclxuICAgIHRlbXBsYXRlOiBgPHN2ZyBbbmdDbGFzc109XCJ7ICdjaGVja2VkJzogY2hlY2tlZCB9XCIgd2lkdGg9XCIyMHB4XCIgaGVpZ2h0PVwiMjBweFwiPlxyXG4gICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMVwiIHk9XCIxXCIgd2lkdGg9XCIxNnB4XCIgaGVpZ2h0PVwiMTZweFwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0gNCA2IGwgNiA2IGwgMTIgLTEyXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgPGxhYmVsPnt7bGFiZWx9fTwvbGFiZWw+YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3gge1xyXG5cclxuICAgQEhvc3RCaW5kaW5nKFwidGFiaW5kZXhcIilcclxuICAgdGFiSW5kZXggPSAwO1xyXG5cclxuICAgQElucHV0KClcclxuICAgY2hlY2tlZDogYm9vbGVhbjtcclxuXHJcbiAgIEBPdXRwdXQoKVxyXG4gICBjaGVja2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgQElucHV0KClcclxuICAgbGFiZWw6IHN0cmluZztcclxuXHJcbiAgIEBJbnB1dCgpXHJcbiAgIEBIb3N0QmluZGluZyhcImF0dHIuZGlzYWJsZWRcIilcclxuICAgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gICBASG9zdExpc3RlbmVyKFwia2V5cHJlc3NcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICBfb25LZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgICBpZiAoZXZlbnQuY2hhckNvZGUgPT09IDEzIHx8IGV2ZW50LmNoYXJDb2RlID09PSAzMiApIHtcclxuICAgICAgICAgdGhpcy5fdG9nZ2xlQ2xpY2tlZCgpO1xyXG4gICAgICB9XHJcbiAgIH1cclxuXHJcbiAgIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiKVxyXG4gICAgIF90b2dnbGVDbGlja2VkKCkge1xyXG4gICAgICAgIGlmKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xyXG4gICAgICAgICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcclxuICAgICAgIH1cclxuICAgICB9XHJcbiB9XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSBcImFuZ3VsYXIyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdNb2RlbCwgTmdJZiB9IGZyb20gXCJhbmd1bGFyMi9jb21tb25cIjtcclxuQENvbXBvbmVudCh7XHJcbiAgICBkaXJlY3RpdmVzOiBbTmdDbGFzcywgTmdJZl0sXHJcbiAgICBzZWxlY3RvcjogXCJmZWVsLWlucHV0XCIsXHJcbiAgICB0ZW1wbGF0ZTogYDxsYWJlbD57e2xhYmVsfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICA8dGV4dGFyZWEgKm5nSWY9XCJtdWx0aWxpbmVcIiBbbmdNb2RlbF09dmFsdWUgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dCgkZXZlbnQpXCIgW3Jvd3NdPV9yb3dzPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cIiFtdWx0aWxpbmVcIiBbdHlwZV09dHlwZSBbbmdNb2RlbF09dmFsdWUgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dCgkZXZlbnQpXCIgLz5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dENvbXBvbmVudCB7XHJcblxyXG4gICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nO1xyXG4gICBASW5wdXQoKSBtdWx0aWxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gXCJ0ZXh0XCI7XHJcbiAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgIHByaXZhdGUgX3Jvd3M6IG51bWJlciA9IDI7XHJcblxyXG4gICBvbklucHV0KGV2ZW50OiBzdHJpbmcpIHtcclxuXHJcbiAgICAgIHRoaXMudmFsdWUgPSBldmVudDtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcclxuXHJcbiAgICAgIGxldCByb3dzID0gdGhpcy52YWx1ZS5zcGxpdChcIlxcblwiKS5sZW5ndGg7XHJcblxyXG4gICAgICBpZiAocm93cyA8IDIpIHtcclxuICAgICAgICAgcm93cyA9IDI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX3Jvd3MgPSByb3dzO1xyXG4gICB9XHJcbiB9XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiYW5ndWxhcjIvY29yZVwiO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi9idXR0b25cIjtcclxuaW1wb3J0IHsgTWVudVBhbmVsIH0gZnJvbSBcIi4vbWVudS1wYW5lbFwiO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFsgQnV0dG9uQ29tcG9uZW50LCBNZW51UGFuZWwgXSxcclxuICAgIHNlbGVjdG9yOiBcImZlZWwtbWVudS1iYXJcIixcclxuICAgIHRlbXBsYXRlOiBgPGZlZWwtYnV0dG9uIFt0ZXh0XT1cIidNJ1wiIChjbGljayk9dG9nZ2xlTWVudVBhbmVsKCk+PC9mZWVsLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICA8aDE+e3t0aXRsZX19PC9oMT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICA8ZmVlbC1tZW51LXBhbmVsIFtvcGVuXT1cImlzTWVudU9wZW5cIiAoY2xvc2UpPVwib25NZW51Q2xvc2UoKVwiPjwvZmVlbC1tZW51LXBhbmVsPmBcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVCYXIge1xyXG5cclxuICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuICAgcHVibGljIGlzTWVudU9wZW46IGJvb2xlYW47XHJcblxyXG4gICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgdGhpcy5pc01lbnVPcGVuID0gZmFsc2U7XHJcbiAgIH1cclxuXHJcbiAgIHB1YmxpYyB0b2dnbGVNZW51UGFuZWwoKSB7XHJcbiAgICAgdGhpcy5pc01lbnVPcGVuID0gIXRoaXMuaXNNZW51T3BlblxyXG4gICB9XHJcblxyXG4gICBwdWJsaWMgb25NZW51Q2xvc2UoKTogdm9pZCB7XHJcbiAgICAgIHRoaXMuaXNNZW51T3BlbiA9IGZhbHNlO1xyXG4gICB9XHJcbiB9XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gXCJhbmd1bGFyMi9jb3JlXCI7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tIFwiYW5ndWxhcjIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnYW5ndWxhcjIvcm91dGVyJztcclxuQENvbXBvbmVudCh7XHJcbiAgICBkaXJlY3RpdmVzOiBbTmdDbGFzcywgQnV0dG9uQ29tcG9uZW50LCBSb3V0ZXJMaW5rIF0sXHJcbiAgICBzZWxlY3RvcjogXCJmZWVsLW1lbnUtcGFuZWxcIixcclxuICAgIGV2ZW50czogWydjbG9zZSddLFxyXG4gICAgdGVtcGxhdGU6IGA8ZGl2IFtuZ0NsYXNzXT1cXFwieyAnc2hvdyc6IG9wZW4gfVxcXCIgPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMT5NZW51PC9oMT5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVlbC1idXR0b24gW3RleHRdPVwiJ1gnXCIgKGNsaWNrKT1jbG9zZU1lbnVQYW5lbCgpPjwvZmVlbC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1vcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvSG9tZSddXCI+PGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPkhvbWU8L2Rpdj48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvQnV0dG9ucyddXCI+PGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPkJ1dHRvbjwvZGl2PjwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9JbnB1dCddXCI+PGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPklucHV0PC9kaXY+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL05vdGlmaWNhdGlvbnMnXVwiPjxkaXYgY2xhc3M9XCJtZW51LWl0ZW1cIj5Ob3RpZmljYXRpb25zPC9kaXY+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL1RhYmxlJ11cIj48ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+VGFibGU8L2Rpdj48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvU2xpZGVyJ11cIj48ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+U2xpZGVyPC9kaXY+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL0NoZWNrYm94J11cIj48ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+Q2hlY2tib3g8L2Rpdj48L2E+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICA8L2Rpdj5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51UGFuZWwge1xyXG5cclxuICAgQElucHV0KCkgb3BlbjogYm9vbGVhbjtcclxuICAgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICBjb25zdHJ1Y3RvcigpIHtcclxuICAgfVxyXG5cclxuICAgcHVibGljIGNsb3NlTWVudVBhbmVsKCkge1xyXG4gICAgIHRoaXMub3BlbiA9IGZhbHNlO1xyXG4gICAgIHRoaXMuY2xvc2UubmV4dChudWxsKTtcclxuICAgfVxyXG4gfVxyXG4iLCJleHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uUHJvdmlkZXIge1xyXG5cclxuICBwcml2YXRlIF9ub3RpZmljYXRpb25FbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICAgIHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIm5vdGlmaWNhdGlvbi1zdHJlYW1cIik7XHJcblxyXG4gICAgaWYgKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcbiAgICAgIHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQuaWQgPSBcIm5vdGlmaWNhdGlvbi1zdHJlYW1cIjtcclxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1N1Y2Nlc3ModGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgbmV3Tm90aWZpY2F0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuICAgIG5ld05vdGlmaWNhdGlvbi5jbGFzc05hbWUgPSBcIm5vdGlmaWNhdGlvbiBzdWNjZXNzXCI7XHJcbiAgICB0aGlzLl9zaG93Tm90aWZpY2F0aW9uKG5ld05vdGlmaWNhdGlvbiwgdGl0bGUsIG1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dFcnJvcih0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHtcclxuICAgIGxldCBuZXdOb3RpZmljYXRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgbmV3Tm90aWZpY2F0aW9uLmNsYXNzTmFtZSA9IFwibm90aWZpY2F0aW9uIGVycm9yXCI7XHJcbiAgICB0aGlzLl9zaG93Tm90aWZpY2F0aW9uKG5ld05vdGlmaWNhdGlvbiwgdGl0bGUsIG1lc3NhZ2UpO1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Nob3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9uRWxlbWVudDogSFRNTEVsZW1lbnQsIHRpdGxlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykge1xyXG4gICAgaWYgKHRpdGxlKSB7XHJcbiAgICAgIG5vdGlmaWNhdGlvbkVsZW1lbnQuaW5uZXJIVE1MICs9IFwiPGRpdiBjbGFzcz0ndGl0bGUnPlwiICsgdGl0bGUgKyBcIjwvZGl2PlwiO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChtZXNzYWdlKSB7XHJcbiAgICAgIG5vdGlmaWNhdGlvbkVsZW1lbnQuaW5uZXJIVE1MICs9IFwiPGRpdiBjbGFzcz0nbWVzc2FnZSc+XCIgKyBtZXNzYWdlICsgXCI8L2Rpdj5cIjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50LmFwcGVuZENoaWxkKG5vdGlmaWNhdGlvbkVsZW1lbnQpO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50LnJlbW92ZUNoaWxkKG5vdGlmaWNhdGlvbkVsZW1lbnQpO1xyXG4gICAgfSwgNTAwMCk7XHJcblxyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ2FuZ3VsYXIyL2NvcmUnO1xyXG5cclxuQFBpcGUoe25hbWU6ICdzb3J0JyxcclxuICBwdXJlOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU29ydFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0odmFsdWU6IEFycmF5PGFueT4sIGFyZ3M6IEFycmF5PHN0cmluZz4pOiBhbnkge1xyXG5cclxuICAgIHZhciBwcm9wZXJ0eU5hbWUgPSBhcmdzWzBdO1xyXG5cclxuICAgIGlmIChwcm9wZXJ0eU5hbWVbMF0gPT09IFwiLVwiKSB7XHJcbiAgICAgIHByb3BlcnR5TmFtZSA9IHByb3BlcnR5TmFtZS5zdWJzdHIoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHNvcnRlZFZhbHVlID0gdmFsdWUuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBpZiAoYVtwcm9wZXJ0eU5hbWVdIDwgYltwcm9wZXJ0eU5hbWVdKSB7XHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGFbcHJvcGVydHlOYW1lXSA+IGJbcHJvcGVydHlOYW1lXSkge1xyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoYXJnc1swXVswXSA9PT0gXCItXCIpIHtcclxuICAgICAgc29ydGVkVmFsdWUgPSBzb3J0ZWRWYWx1ZS5yZXZlcnNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHNvcnRlZFZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiYW5ndWxhcjIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSBcImFuZ3VsYXIyL2NvbW1vblwiO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFsgIF0sXHJcbiAgICBzZWxlY3RvcjogXCJmZWVsLXNsaWRlclwiLFxyXG4gICAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwic2xpZGVyLXRyYWNrXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbGlkZXItYnV0dG9uXCIgW3N0eWxlLmxlZnRdPVwiX2dldE9mZnNldCgpXCIgKG1vdXNlZG93bik9XCJfc3RhcnREcmFnKCRldmVudClcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgPC9kaXY+YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpZGVyIHtcclxuXHJcbiAgIEBJbnB1dCgpXHJcbiAgIHZhbHVlOiBudW1iZXI7XHJcblxyXG4gICBAT3V0cHV0KClcclxuICAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICBwcml2YXRlIF9vZmZzZXQ6IHN0cmluZyA9IFwiMjAlXCI7XHJcbiAgIHByaXZhdGUgX2dldE9mZnNldCgpIHtcclxuICAgICByZXR1cm4gdGhpcy5fb2Zmc2V0O1xyXG4gICB9XHJcblxyXG4gICBwcml2YXRlIF9idXR0b25FbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgIEBJbnB1dCgpXHJcbiAgIG1heGltdW06IG51bWJlcjtcclxuXHJcbiAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICB0aGlzLl9jYWxjdWxhdGVPZmZzZXQoKTtcclxuICAgfVxyXG5cclxuICAgcHJpdmF0ZSBfY2FsY3VsYXRlT2Zmc2V0KCkge1xyXG4gICAgICB0aGlzLl9vZmZzZXQgPSAoKHRoaXMudmFsdWUgLyB0aGlzLm1heGltdW0pICogMTAwKS50b1N0cmluZygpICsgXCIlXCI7XHJcbiAgIH1cclxuXHJcbiAgIHByaXZhdGUgX3N0YXJ0RHJhZyhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgICB0aGlzLl9idXR0b25FbGVtZW50ID0gPEhUTUxFbGVtZW50PmV2ZW50LnRhcmdldDtcclxuXHJcbiAgICAgIGRvY3VtZW50Lm9ubW91c2V1cCA9IHRoaXMuX3N0b3BEcmFnLmJpbmQodGhpcyk7XHJcbiAgICAgIGRvY3VtZW50Lm9ubW91c2Vtb3ZlID0gdGhpcy5faGFuZGxlRHJhZy5iaW5kKHRoaXMpO1xyXG4gICB9XHJcblxyXG4gICBwcml2YXRlIF9oYW5kbGVEcmFnKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgIGxldCBlbGVtZW50ID0gdGhpcy5fYnV0dG9uRWxlbWVudDtcclxuICAgICAgbGV0IG9mZnNldFRvdGFsID0gdGhpcy5fYnV0dG9uRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG5cclxuICAgICAgd2hpbGUgKGVsZW1lbnQgPSA8SFRNTEVsZW1lbnQ+ZWxlbWVudC5vZmZzZXRQYXJlbnQpIHtcclxuICAgICAgICAgaWYgKCFpc05hTihlbGVtZW50Lm9mZnNldExlZnQpKSB7XHJcbiAgICAgICAgICAgIG9mZnNldFRvdGFsICs9IGVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgdmFsdWUgPSAoZXZlbnQucGFnZVggLyB0aGlzLl9idXR0b25FbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGgpICogdGhpcy5tYXhpbXVtO1xyXG5cclxuICAgICAgaWYgKHZhbHVlIDwgMCkge1xyXG4gICAgICAgICB0aGlzLnZhbHVlID0gMDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh2YWx1ZSA+IHRoaXMubWF4aW11bSkge1xyXG4gICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXhpbXVtO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX2NhbGN1bGF0ZU9mZnNldCgpO1xyXG4gICAgICB0aGlzLl9idXR0b25FbGVtZW50LnN0eWxlLmxlZnQgPSB0aGlzLl9vZmZzZXQ7XHJcbiAgICAgIC8vY29uc29sZS5sb2codGhpcy52YWx1ZSk7XHJcblxyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMudmFsdWUpO1xyXG4gICB9XHJcblxyXG4gICBwcml2YXRlIF9zdG9wRHJhZygpIHtcclxuICAgICAgZG9jdW1lbnQub25tb3VzZXVwID0gbnVsbDtcclxuICAgICAgZG9jdW1lbnQub25tb3VzZW1vdmUgPSBudWxsO1xyXG4gICB9XHJcbiB9XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gXCJhbmd1bGFyMi9jb3JlXCI7XHJcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIE5nTW9kZWwgfSBmcm9tIFwiYW5ndWxhcjIvY29tbW9uXCI7XHJcbmltcG9ydCB7IFNvcnRQaXBlIH0gZnJvbSBcIi4vcGlwZXMvc29ydC1waXBlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFsgTmdDbGFzcyBdLFxyXG4gICAgc2VsZWN0b3I6IFwiZmVlbC10YWJsZVwiLFxyXG4gICAgcGlwZXM6IFsgU29ydFBpcGUgXSxcclxuICAgIC8vY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICB0ZW1wbGF0ZTogYDx0YWJsZT5cclxuICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwiI2NvbHVtbiBvZiBjb2x1bW5zXCIgKGNsaWNrKT1hZGRTb3J0KGNvbHVtbi5wcm9wZXJ0eU5hbWUpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBjb2x1bW4ucHJvcGVydHlOYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XFxcIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNjZW5kaW5nJzogc29ydEl0ZW1zWzBdID09PSBjb2x1bW4ucHJvcGVydHlOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjZW5kaW5nJzogc29ydEl0ZW1zWzBdID09PSAnLScgKyBjb2x1bW4ucHJvcGVydHlOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzb3J0LWljb24nOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXFwiID48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cIiNkYXRhSXRlbSBvZiBkYXRhIHwgc29ydDogc29ydE9yZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCIjY29sdW1uIG9mIGNvbHVtbnNcIj57eyBkYXRhSXRlbVtjb2x1bW4ucHJvcGVydHlOYW1lXSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgIDwvdGFibGU+YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQge1xyXG5cclxuICAgQElucHV0KCkgZGF0YTogQXJyYXk8YW55PjtcclxuICAgQElucHV0KCkgY29sdW1uczogQXJyYXk8YW55PjtcclxuICAgcHVibGljIHNvcnRPcmRlcjogc3RyaW5nID0gXCJzb21ldGhpbmdcIjtcclxuICAgcHVibGljIHNvcnRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFsgXCJzb21ldGhpbmdcIiBdO1xyXG5cclxuICAgcHVibGljIGFkZFNvcnQgKHByb3BlcnR5TmFtZTogc3RyaW5nKSB7XHJcbiAgICAgaWYgKHRoaXMuc29ydE9yZGVyID09PSBwcm9wZXJ0eU5hbWUpIHtcclxuICAgICAgIHRoaXMuc29ydE9yZGVyID0gXCItXCIgKyBwcm9wZXJ0eU5hbWU7XHJcbiAgICAgfVxyXG4gICAgIGVsc2Uge1xyXG4gICAgICAgdGhpcy5zb3J0T3JkZXIgPSBwcm9wZXJ0eU5hbWU7XHJcbiAgICAgfVxyXG5cclxuICAgICB0aGlzLnNvcnRJdGVtc1swXSA9IHRoaXMuc29ydE9yZGVyO1xyXG4gICB9XHJcbiB9XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJmZWVsLXVpLnRzIiwibm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbGliL19lbXB0eS5qcyIsInNyYy9idXR0b24udHMiLCJzcmMvY2hlY2tib3gudHMiLCJzcmMvaW5wdXQudHMiLCJzcmMvbWVudS1iYXIudHMiLCJzcmMvbWVudS1wYW5lbC50cyIsInNyYy9ub3RpZmljYXRpb24tcHJvdmlkZXIudHMiLCJzcmMvcGlwZXMvc29ydC1waXBlLnRzIiwic3JjL3NsaWRlci50cyIsInNyYy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBLHVCQUFnQyxjQUFjLENBQUMsQ0FBQTtBQVU1Qyx1QkFBZTtBQVRsQix5QkFBd0IsZ0JBQWdCLENBQUMsQ0FBQTtBQVV0QyxlQUFPO0FBVFYsMkJBQTBCLGtCQUFrQixDQUFDLENBQUE7QUFVMUMsaUJBQVM7QUFUWixzQkFBK0IsYUFBYSxDQUFDLENBQUE7QUFVMUMsc0JBQWM7QUFUakIsc0NBQXFDLDZCQUE2QixDQUFDLENBQUE7QUFVaEUsNEJBQW9CO0FBVHZCLHNCQUErQixhQUFhLENBQUMsQ0FBQTtBQVUxQyxzQkFBYztBQVRqQix1QkFBdUIsY0FBYyxDQUFDLENBQUE7QUFVbkMsY0FBTTtBQVRULHlCQUF5QixnQkFBZ0IsQ0FBQyxDQUFBO0FBVXZDLGdCQUFRO0FBQ1Q7QUNsQkY7Ozs7Ozs7O0FDQUEscUJBQWdDLGVBQWUsQ0FBQyxDQUFBO0FBQ2hELHVCQUF3QixpQkFBaUIsQ0FBQyxDQUFBO0FBRTFDO0lBQUE7UUFPWSxTQUFJLEdBQVcsUUFBUSxDQUFDO0lBSW5DLENBQUM7SUFKQztRQUFDLFlBQUssRUFBRTtPQUFDLGlDQUFJLFVBQW9CO0lBQ2pDO1FBQUMsWUFBSyxFQUFFO09BQUMsb0NBQU8sVUFBVTtJQUMxQjtRQUFDLFlBQUssRUFBRTtPQUFDLGlDQUFJLFVBQVU7SUFDdkI7UUFBQyxZQUFLLEVBQUU7T0FB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ZUFxRUE7SUFBRCxhQUFDO0FBQUQsQ0EzRUQsQUEyRUUsSUFBQTtBQXBFVyxjQUFNLFNBb0VqQixDQUFBOzs7Ozs7OztBQzdFRixxQkFBZ0YsZUFBZSxDQUFDLENBQUE7QUFDaEcsdUJBQXVDLGlCQUFpQixDQUFDLENBQUE7QUFDekQsMEJBQXlCLG1CQUFtQixDQUFDLENBQUE7QUFFN0M7SUFBQTtRQTJCVSxjQUFTLEdBQVcsV0FBVyxDQUFDO1FBQ2hDLGNBQVMsR0FBa0IsQ0FBRSxXQUFXLENBQUUsQ0FBQztJQVlwRCxDQUFDO0lBVlEsZ0NBQU8sR0FBZCxVQUFnQixZQUFvQjtRQUNsQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEdBQUcsWUFBWSxDQUFDO1FBQ3RDLENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDO1FBQ2hDLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQWREO1FBQUMsWUFBSyxFQUFFO09BQUMsZ0NBQUksVUFBYTtJQUMxQjtRQUFDLFlBQUssRUFBRTtPQUFDLG1DQUFPLFVBQWE7SUExQmhDO1FBQUMsZ0JBQVMsQ0FBQztZQUNQLFVBQVUsRUFBRSxDQUFFLGdCQUFPLENBQUU7WUFDdkIsUUFBUSxFQUFFLFlBQVk7WUFDdEIsS0FBSyxFQUFFLENBQUUsb0JBQVEsQ0FBRTtZQUNuQixrREFBa0Q7WUFDbEQsUUFBUSxFQUFFLCszQkFnQlU7U0FDdkIsQ0FBQzt1QkFrQkE7SUFBRCxxQkFBQztBQUFELENBeENELEFBd0NFLElBQUE7QUFqQlcsc0JBQWMsaUJBaUJ6QixDQUFBIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrbytcIidcIik7dGhyb3cgZi5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSIsImltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL3NyYy9idXR0b25cIjtcclxuaW1wb3J0IHsgTWVudUJhciB9IGZyb20gXCIuL3NyYy9tZW51LWJhclwiO1xyXG5pbXBvcnQgeyBNZW51UGFuZWwgfSBmcm9tIFwiLi9zcmMvbWVudS1wYW5lbFwiO1xyXG5pbXBvcnQgeyBJbnB1dENvbXBvbmVudCB9IGZyb20gXCIuL3NyYy9pbnB1dFwiO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25Qcm92aWRlciB9IGZyb20gXCIuL3NyYy9ub3RpZmljYXRpb24tcHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgVGFibGVDb21wb25lbnQgfSBmcm9tIFwiLi9zcmMvdGFibGVcIjtcclxuaW1wb3J0IHsgU2xpZGVyIH0gZnJvbSBcIi4vc3JjL3NsaWRlclwiO1xyXG5pbXBvcnQgeyBDaGVja2JveCB9IGZyb20gXCIuL3NyYy9jaGVja2JveFwiO1xyXG5cclxuZXhwb3J0IHtcclxuICAgQnV0dG9uQ29tcG9uZW50LFxyXG4gICBNZW51QmFyLFxyXG4gICBNZW51UGFuZWwsXHJcbiAgIElucHV0Q29tcG9uZW50LFxyXG4gICBOb3RpZmljYXRpb25Qcm92aWRlcixcclxuICAgVGFibGVDb21wb25lbnQsXHJcbiAgIFNsaWRlcixcclxuICAgQ2hlY2tib3hcclxufTtcclxuIiwiIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dH0gZnJvbSBcImFuZ3VsYXIyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gXCJhbmd1bGFyMi9jb21tb25cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgZGlyZWN0aXZlczogW05nQ2xhc3NdLFxyXG4gICAgc2VsZWN0b3I6IFwiZmVlbC1idXR0b25cIixcclxuICAgIHRlbXBsYXRlOiBgPGJ1dHRvbiBbdHlwZV09dHlwZSBbbmdDbGFzc109XFxcInsgJ2J0bi1mbGF0JzogZmxhdCwgJ2J0bi1wcmltYXJ5JzogcHJpbWFyeSB9XFxcIiA+e3t0ZXh0fX08L2J1dHRvbj5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xyXG5cclxuICAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gXCJidXR0b25cIjtcclxuICAgQElucHV0KCkgcHJpbWFyeTogYm9vbGVhbjtcclxuICAgQElucHV0KCkgZmxhdDogYm9vbGVhbjtcclxuICAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xyXG4gfVxyXG4iLCJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBIb3N0TGlzdGVuZXIsIEhvc3RCaW5kaW5nLCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gXCJhbmd1bGFyMi9jb3JlXCI7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tIFwiYW5ndWxhcjIvY29tbW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFtOZ0NsYXNzXSxcclxuICAgIHNlbGVjdG9yOiBcImZlZWwtY2hlY2tib3hcIixcclxuICAgIHRlbXBsYXRlOiBgPHN2ZyBbbmdDbGFzc109XCJ7ICdjaGVja2VkJzogY2hlY2tlZCB9XCIgd2lkdGg9XCIyMHB4XCIgaGVpZ2h0PVwiMjBweFwiPlxyXG4gICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMVwiIHk9XCIxXCIgd2lkdGg9XCIxNnB4XCIgaGVpZ2h0PVwiMTZweFwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0gNCA2IGwgNiA2IGwgMTIgLTEyXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgPGxhYmVsPnt7bGFiZWx9fTwvbGFiZWw+YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3gge1xyXG5cclxuICAgQEhvc3RCaW5kaW5nKFwidGFiaW5kZXhcIilcclxuICAgdGFiSW5kZXggPSAwO1xyXG5cclxuICAgQElucHV0KClcclxuICAgY2hlY2tlZDogYm9vbGVhbjtcclxuXHJcbiAgIEBPdXRwdXQoKVxyXG4gICBjaGVja2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgQElucHV0KClcclxuICAgbGFiZWw6IHN0cmluZztcclxuXHJcbiAgIEBJbnB1dCgpXHJcbiAgIEBIb3N0QmluZGluZyhcImF0dHIuZGlzYWJsZWRcIilcclxuICAgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gICBASG9zdExpc3RlbmVyKFwia2V5cHJlc3NcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICBfb25LZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgICBpZiAoZXZlbnQuY2hhckNvZGUgPT09IDEzIHx8IGV2ZW50LmNoYXJDb2RlID09PSAzMiApIHtcclxuICAgICAgICAgdGhpcy5fdG9nZ2xlQ2xpY2tlZCgpO1xyXG4gICAgICB9XHJcbiAgIH1cclxuXHJcbiAgIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiKVxyXG4gICAgIF90b2dnbGVDbGlja2VkKCkge1xyXG4gICAgICAgIGlmKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xyXG4gICAgICAgICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcclxuICAgICAgIH1cclxuICAgICB9XHJcbiB9XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSBcImFuZ3VsYXIyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdNb2RlbCwgTmdJZiB9IGZyb20gXCJhbmd1bGFyMi9jb21tb25cIjtcclxuQENvbXBvbmVudCh7XHJcbiAgICBkaXJlY3RpdmVzOiBbTmdDbGFzcywgTmdJZl0sXHJcbiAgICBzZWxlY3RvcjogXCJmZWVsLWlucHV0XCIsXHJcbiAgICB0ZW1wbGF0ZTogYDxsYWJlbD57e2xhYmVsfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICA8dGV4dGFyZWEgKm5nSWY9XCJtdWx0aWxpbmVcIiBbbmdNb2RlbF09dmFsdWUgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dCgkZXZlbnQpXCIgW3Jvd3NdPV9yb3dzPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cIiFtdWx0aWxpbmVcIiBbdHlwZV09dHlwZSBbbmdNb2RlbF09dmFsdWUgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dCgkZXZlbnQpXCIgLz5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dENvbXBvbmVudCB7XHJcblxyXG4gICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nO1xyXG4gICBASW5wdXQoKSBtdWx0aWxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gXCJ0ZXh0XCI7XHJcbiAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgIHByaXZhdGUgX3Jvd3M6IG51bWJlciA9IDI7XHJcblxyXG4gICBvbklucHV0KGV2ZW50OiBzdHJpbmcpIHtcclxuXHJcbiAgICAgIHRoaXMudmFsdWUgPSBldmVudDtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcclxuXHJcbiAgICAgIGxldCByb3dzID0gdGhpcy52YWx1ZS5zcGxpdChcIlxcblwiKS5sZW5ndGg7XHJcblxyXG4gICAgICBpZiAocm93cyA8IDIpIHtcclxuICAgICAgICAgcm93cyA9IDI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX3Jvd3MgPSByb3dzO1xyXG4gICB9XHJcbiB9XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiYW5ndWxhcjIvY29yZVwiO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi9idXR0b25cIjtcclxuaW1wb3J0IHsgTWVudVBhbmVsIH0gZnJvbSBcIi4vbWVudS1wYW5lbFwiO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFsgQnV0dG9uQ29tcG9uZW50LCBNZW51UGFuZWwgXSxcclxuICAgIHNlbGVjdG9yOiBcImZlZWwtbWVudS1iYXJcIixcclxuICAgIHRlbXBsYXRlOiBgPGZlZWwtYnV0dG9uIFt0ZXh0XT1cIidNJ1wiIChjbGljayk9dG9nZ2xlTWVudVBhbmVsKCk+PC9mZWVsLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICA8aDE+e3t0aXRsZX19PC9oMT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICA8ZmVlbC1tZW51LXBhbmVsIFtvcGVuXT1cImlzTWVudU9wZW5cIiAoY2xvc2UpPVwib25NZW51Q2xvc2UoKVwiPjwvZmVlbC1tZW51LXBhbmVsPmBcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVCYXIge1xyXG5cclxuICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuICAgcHVibGljIGlzTWVudU9wZW46IGJvb2xlYW47XHJcblxyXG4gICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgdGhpcy5pc01lbnVPcGVuID0gZmFsc2U7XHJcbiAgIH1cclxuXHJcbiAgIHB1YmxpYyB0b2dnbGVNZW51UGFuZWwoKSB7XHJcbiAgICAgdGhpcy5pc01lbnVPcGVuID0gIXRoaXMuaXNNZW51T3BlblxyXG4gICB9XHJcblxyXG4gICBwdWJsaWMgb25NZW51Q2xvc2UoKTogdm9pZCB7XHJcbiAgICAgIHRoaXMuaXNNZW51T3BlbiA9IGZhbHNlO1xyXG4gICB9XHJcbiB9XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gXCJhbmd1bGFyMi9jb3JlXCI7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tIFwiYW5ndWxhcjIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnYW5ndWxhcjIvcm91dGVyJztcclxuQENvbXBvbmVudCh7XHJcbiAgICBkaXJlY3RpdmVzOiBbTmdDbGFzcywgQnV0dG9uQ29tcG9uZW50LCBSb3V0ZXJMaW5rIF0sXHJcbiAgICBzZWxlY3RvcjogXCJmZWVsLW1lbnUtcGFuZWxcIixcclxuICAgIGV2ZW50czogWydjbG9zZSddLFxyXG4gICAgdGVtcGxhdGU6IGA8ZGl2IFtuZ0NsYXNzXT1cXFwieyAnc2hvdyc6IG9wZW4gfVxcXCIgPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMT5NZW51PC9oMT5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVlbC1idXR0b24gW3RleHRdPVwiJ1gnXCIgKGNsaWNrKT1jbG9zZU1lbnVQYW5lbCgpPjwvZmVlbC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1vcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvSG9tZSddXCI+PGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPkhvbWU8L2Rpdj48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvQnV0dG9ucyddXCI+PGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPkJ1dHRvbjwvZGl2PjwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9JbnB1dCddXCI+PGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPklucHV0PC9kaXY+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL05vdGlmaWNhdGlvbnMnXVwiPjxkaXYgY2xhc3M9XCJtZW51LWl0ZW1cIj5Ob3RpZmljYXRpb25zPC9kaXY+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL1RhYmxlJ11cIj48ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+VGFibGU8L2Rpdj48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvU2xpZGVyJ11cIj48ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+U2xpZGVyPC9kaXY+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL0NoZWNrYm94J11cIj48ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+Q2hlY2tib3g8L2Rpdj48L2E+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICA8L2Rpdj5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51UGFuZWwge1xyXG5cclxuICAgQElucHV0KCkgb3BlbjogYm9vbGVhbjtcclxuICAgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICBjb25zdHJ1Y3RvcigpIHtcclxuICAgfVxyXG5cclxuICAgcHVibGljIGNsb3NlTWVudVBhbmVsKCkge1xyXG4gICAgIHRoaXMub3BlbiA9IGZhbHNlO1xyXG4gICAgIHRoaXMuY2xvc2UubmV4dChudWxsKTtcclxuICAgfVxyXG4gfVxyXG4iLCJleHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uUHJvdmlkZXIge1xyXG5cclxuICBwcml2YXRlIF9ub3RpZmljYXRpb25FbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICAgIHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIm5vdGlmaWNhdGlvbi1zdHJlYW1cIik7XHJcblxyXG4gICAgaWYgKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcbiAgICAgIHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQuaWQgPSBcIm5vdGlmaWNhdGlvbi1zdHJlYW1cIjtcclxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1N1Y2Nlc3ModGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgbmV3Tm90aWZpY2F0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuICAgIG5ld05vdGlmaWNhdGlvbi5jbGFzc05hbWUgPSBcIm5vdGlmaWNhdGlvbiBzdWNjZXNzXCI7XHJcbiAgICB0aGlzLl9zaG93Tm90aWZpY2F0aW9uKG5ld05vdGlmaWNhdGlvbiwgdGl0bGUsIG1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dFcnJvcih0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHtcclxuICAgIGxldCBuZXdOb3RpZmljYXRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgbmV3Tm90aWZpY2F0aW9uLmNsYXNzTmFtZSA9IFwibm90aWZpY2F0aW9uIGVycm9yXCI7XHJcbiAgICB0aGlzLl9zaG93Tm90aWZpY2F0aW9uKG5ld05vdGlmaWNhdGlvbiwgdGl0bGUsIG1lc3NhZ2UpO1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Nob3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9uRWxlbWVudDogSFRNTEVsZW1lbnQsIHRpdGxlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykge1xyXG4gICAgaWYgKHRpdGxlKSB7XHJcbiAgICAgIG5vdGlmaWNhdGlvbkVsZW1lbnQuaW5uZXJIVE1MICs9IFwiPGRpdiBjbGFzcz0ndGl0bGUnPlwiICsgdGl0bGUgKyBcIjwvZGl2PlwiO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChtZXNzYWdlKSB7XHJcbiAgICAgIG5vdGlmaWNhdGlvbkVsZW1lbnQuaW5uZXJIVE1MICs9IFwiPGRpdiBjbGFzcz0nbWVzc2FnZSc+XCIgKyBtZXNzYWdlICsgXCI8L2Rpdj5cIjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50LmFwcGVuZENoaWxkKG5vdGlmaWNhdGlvbkVsZW1lbnQpO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50LnJlbW92ZUNoaWxkKG5vdGlmaWNhdGlvbkVsZW1lbnQpO1xyXG4gICAgfSwgNTAwMCk7XHJcblxyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ2FuZ3VsYXIyL2NvcmUnO1xyXG5cclxuQFBpcGUoe25hbWU6ICdzb3J0JyxcclxuICBwdXJlOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU29ydFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0odmFsdWU6IEFycmF5PGFueT4sIGFyZ3M6IEFycmF5PHN0cmluZz4pOiBhbnkge1xyXG5cclxuICAgIHZhciBwcm9wZXJ0eU5hbWUgPSBhcmdzWzBdO1xyXG5cclxuICAgIGlmIChwcm9wZXJ0eU5hbWVbMF0gPT09IFwiLVwiKSB7XHJcbiAgICAgIHByb3BlcnR5TmFtZSA9IHByb3BlcnR5TmFtZS5zdWJzdHIoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHNvcnRlZFZhbHVlID0gdmFsdWUuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBpZiAoYVtwcm9wZXJ0eU5hbWVdIDwgYltwcm9wZXJ0eU5hbWVdKSB7XHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGFbcHJvcGVydHlOYW1lXSA+IGJbcHJvcGVydHlOYW1lXSkge1xyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoYXJnc1swXVswXSA9PT0gXCItXCIpIHtcclxuICAgICAgc29ydGVkVmFsdWUgPSBzb3J0ZWRWYWx1ZS5yZXZlcnNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHNvcnRlZFZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiYW5ndWxhcjIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSBcImFuZ3VsYXIyL2NvbW1vblwiO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFsgIF0sXHJcbiAgICBzZWxlY3RvcjogXCJmZWVsLXNsaWRlclwiLFxyXG4gICAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwic2xpZGVyLXRyYWNrXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbGlkZXItYnV0dG9uXCIgW3N0eWxlLmxlZnRdPVwiX2dldE9mZnNldCgpXCIgKG1vdXNlZG93bik9XCJfc3RhcnREcmFnKCRldmVudClcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgPC9kaXY+YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpZGVyIHtcclxuXHJcbiAgIEBJbnB1dCgpXHJcbiAgIHZhbHVlOiBudW1iZXI7XHJcblxyXG4gICBAT3V0cHV0KClcclxuICAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICBwcml2YXRlIF9vZmZzZXQ6IHN0cmluZyA9IFwiMjAlXCI7XHJcbiAgIHByaXZhdGUgX2dldE9mZnNldCgpIHtcclxuICAgICByZXR1cm4gdGhpcy5fb2Zmc2V0O1xyXG4gICB9XHJcblxyXG4gICBwcml2YXRlIF9idXR0b25FbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgIEBJbnB1dCgpXHJcbiAgIG1heGltdW06IG51bWJlcjtcclxuXHJcbiAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICB0aGlzLl9jYWxjdWxhdGVPZmZzZXQoKTtcclxuICAgfVxyXG5cclxuICAgcHJpdmF0ZSBfY2FsY3VsYXRlT2Zmc2V0KCkge1xyXG4gICAgICB0aGlzLl9vZmZzZXQgPSAoKHRoaXMudmFsdWUgLyB0aGlzLm1heGltdW0pICogMTAwKS50b1N0cmluZygpICsgXCIlXCI7XHJcbiAgIH1cclxuXHJcbiAgIHByaXZhdGUgX3N0YXJ0RHJhZyhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgICB0aGlzLl9idXR0b25FbGVtZW50ID0gPEhUTUxFbGVtZW50PmV2ZW50LnRhcmdldDtcclxuXHJcbiAgICAgIGRvY3VtZW50Lm9ubW91c2V1cCA9IHRoaXMuX3N0b3BEcmFnLmJpbmQodGhpcyk7XHJcbiAgICAgIGRvY3VtZW50Lm9ubW91c2Vtb3ZlID0gdGhpcy5faGFuZGxlRHJhZy5iaW5kKHRoaXMpO1xyXG4gICB9XHJcblxyXG4gICBwcml2YXRlIF9oYW5kbGVEcmFnKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgIGxldCBlbGVtZW50ID0gdGhpcy5fYnV0dG9uRWxlbWVudDtcclxuICAgICAgbGV0IG9mZnNldFRvdGFsID0gdGhpcy5fYnV0dG9uRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG5cclxuICAgICAgd2hpbGUgKGVsZW1lbnQgPSA8SFRNTEVsZW1lbnQ+ZWxlbWVudC5vZmZzZXRQYXJlbnQpIHtcclxuICAgICAgICAgaWYgKCFpc05hTihlbGVtZW50Lm9mZnNldExlZnQpKSB7XHJcbiAgICAgICAgICAgIG9mZnNldFRvdGFsICs9IGVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgdmFsdWUgPSAoZXZlbnQucGFnZVggLyB0aGlzLl9idXR0b25FbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGgpICogdGhpcy5tYXhpbXVtO1xyXG5cclxuICAgICAgaWYgKHZhbHVlIDwgMCkge1xyXG4gICAgICAgICB0aGlzLnZhbHVlID0gMDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh2YWx1ZSA+IHRoaXMubWF4aW11bSkge1xyXG4gICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXhpbXVtO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX2NhbGN1bGF0ZU9mZnNldCgpO1xyXG4gICAgICB0aGlzLl9idXR0b25FbGVtZW50LnN0eWxlLmxlZnQgPSB0aGlzLl9vZmZzZXQ7XHJcbiAgICAgIC8vY29uc29sZS5sb2codGhpcy52YWx1ZSk7XHJcblxyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMudmFsdWUpO1xyXG4gICB9XHJcblxyXG4gICBwcml2YXRlIF9zdG9wRHJhZygpIHtcclxuICAgICAgZG9jdW1lbnQub25tb3VzZXVwID0gbnVsbDtcclxuICAgICAgZG9jdW1lbnQub25tb3VzZW1vdmUgPSBudWxsO1xyXG4gICB9XHJcbiB9XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gXCJhbmd1bGFyMi9jb3JlXCI7XHJcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIE5nTW9kZWwgfSBmcm9tIFwiYW5ndWxhcjIvY29tbW9uXCI7XHJcbmltcG9ydCB7IFNvcnRQaXBlIH0gZnJvbSBcIi4vcGlwZXMvc29ydC1waXBlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFsgTmdDbGFzcyBdLFxyXG4gICAgc2VsZWN0b3I6IFwiZmVlbC10YWJsZVwiLFxyXG4gICAgcGlwZXM6IFsgU29ydFBpcGUgXSxcclxuICAgIC8vY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICB0ZW1wbGF0ZTogYDx0YWJsZT5cclxuICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwiI2NvbHVtbiBvZiBjb2x1bW5zXCIgKGNsaWNrKT1hZGRTb3J0KGNvbHVtbi5wcm9wZXJ0eU5hbWUpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBjb2x1bW4ucHJvcGVydHlOYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XFxcIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNjZW5kaW5nJzogc29ydEl0ZW1zWzBdID09PSBjb2x1bW4ucHJvcGVydHlOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjZW5kaW5nJzogc29ydEl0ZW1zWzBdID09PSAnLScgKyBjb2x1bW4ucHJvcGVydHlOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzb3J0LWljb24nOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXFwiID48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cIiNkYXRhSXRlbSBvZiBkYXRhIHwgc29ydDogc29ydE9yZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCIjY29sdW1uIG9mIGNvbHVtbnNcIj57eyBkYXRhSXRlbVtjb2x1bW4ucHJvcGVydHlOYW1lXSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgIDwvdGFibGU+YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQge1xyXG5cclxuICAgQElucHV0KCkgZGF0YTogQXJyYXk8YW55PjtcclxuICAgQElucHV0KCkgY29sdW1uczogQXJyYXk8YW55PjtcclxuICAgcHVibGljIHNvcnRPcmRlcjogc3RyaW5nID0gXCJzb21ldGhpbmdcIjtcclxuICAgcHVibGljIHNvcnRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFsgXCJzb21ldGhpbmdcIiBdO1xyXG5cclxuICAgcHVibGljIGFkZFNvcnQgKHByb3BlcnR5TmFtZTogc3RyaW5nKSB7XHJcbiAgICAgaWYgKHRoaXMuc29ydE9yZGVyID09PSBwcm9wZXJ0eU5hbWUpIHtcclxuICAgICAgIHRoaXMuc29ydE9yZGVyID0gXCItXCIgKyBwcm9wZXJ0eU5hbWU7XHJcbiAgICAgfVxyXG4gICAgIGVsc2Uge1xyXG4gICAgICAgdGhpcy5zb3J0T3JkZXIgPSBwcm9wZXJ0eU5hbWU7XHJcbiAgICAgfVxyXG5cclxuICAgICB0aGlzLnNvcnRJdGVtc1swXSA9IHRoaXMuc29ydE9yZGVyO1xyXG4gICB9XHJcbiB9XHJcbiJdfQ==
{
"name": "feel-ui",
"version": "0.2.7",
"version": "0.2.8",
"description": "",

@@ -5,0 +5,0 @@ "main": "dist/feel-ui.js",

export declare class ButtonComponent {
type: string;
primary: boolean;

@@ -3,0 +4,0 @@ flat: boolean;

@@ -23,5 +23,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {

function ButtonComponent() {
this.type = "button";
}
__decorate([
core_1.Input(),
__metadata('design:type', String)
], ButtonComponent.prototype, "type", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', Boolean)

@@ -41,3 +46,3 @@ ], ButtonComponent.prototype, "primary", void 0);

selector: "feel-button",
template: "<button type='button' [ngClass]=\"{ 'btn-flat': flat, 'btn-primary': primary }\" >{{text}}</button>"
template: "<button [type]=type [ngClass]=\"{ 'btn-flat': flat, 'btn-primary': primary }\" >{{text}}</button>"
}),

@@ -44,0 +49,0 @@ __metadata('design:paramtypes', [])

@@ -7,6 +7,7 @@ import { Component, Input} from "angular2/core";

selector: "feel-button",
template: "<button type='button' [ngClass]=\"{ 'btn-flat': flat, 'btn-primary': primary }\" >{{text}}</button>"
template: `<button [type]=type [ngClass]=\"{ 'btn-flat': flat, 'btn-primary': primary }\" >{{text}}</button>`
})
export class ButtonComponent {
@Input() type: string = "button";
@Input() primary: boolean;

@@ -13,0 +14,0 @@ @Input() flat: boolean;

Sorry, the diff of this file is not supported yet

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