@foxone/finance-ui
Version:
The Financial UI Component Library Based on @foxone/uikit and vuetify
210 lines (171 loc) • 22.6 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.CheckOut = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _vuePropertyDecorator = require("vue-property-decorator");
var _classnames = _interopRequireDefault(require("../utils/classnames"));
var _Amount = _interopRequireDefault(require("./Amount"));
var _Channel = _interopRequireDefault(require("./Channel"));
var _PayAction = _interopRequireDefault(require("./PayAction"));
var _FBottomSheet = require("@foxone/uikit/src/components/FBottomSheet");
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
var __decorate = void 0 && (void 0).__decorate || function (decorators, target, key, desc) {
var c = arguments.length,
r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
d;
if ((typeof Reflect === "undefined" ? "undefined" : (0, _typeof2["default"])(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {
if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
}
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var CheckOut = /*#__PURE__*/function (_Vue) {
(0, _inherits2["default"])(CheckOut, _Vue);
var _super = _createSuper(CheckOut);
function CheckOut() {
var _this;
(0, _classCallCheck2["default"])(this, CheckOut);
_this = _super.apply(this, arguments);
_this.loading = false;
_this.paychannel = {};
return _this;
}
(0, _createClass2["default"])(CheckOut, [{
key: "isChannelSelected",
value: function isChannelSelected(channel) {
var _a;
return ((_a = this.paychannel) === null || _a === void 0 ? void 0 : _a.channel) === channel.channel && this.paychannel.asset_id === channel.asset_id;
}
}, {
key: "created",
value: function created() {
var _a;
this.paychannel = (_a = this.channels) === null || _a === void 0 ? void 0 : _a[0];
}
}, {
key: "render",
value: function render(h) {
var _this2 = this;
var _a;
var classes = (0, _classnames["default"])(this.prefixCls);
return h('div', {
staticClass: classes()
}, [h(_FBottomSheet.FBottomSheet, {
props: {
value: this.show
},
attrs: {
persistent: true
},
on: {
change: function change(val) {
_this2.$emit('change', val);
}
}
}, [!this.loading ? [this.title ? h('template', {
slot: 'title'
}, [h('h4', {
staticClass: 'f-greyscale-1'
}, this.title)]) : null, this.subtitle ? h('template', {
slot: 'subheader'
}, [h('h5', {
staticClass: 'f-greyscale-3 f-caption subtitle text-center'
}, this.subtitle)]) : null, h('amount', {
props: {
amount: this.amount,
discount: this.discount,
quantity: this.quantity,
symbol: this.paychannel.symbol,
icon: this.paychannel.asset_icon || this.paychannel.channel_icon,
channel: this.paychannel,
fiat: this.fiat
}
}), (_a = this.channels) === null || _a === void 0 ? void 0 : _a.map(function (channel, ind) {
return h('channel', {
key: ind,
props: {
channel: channel,
selected: _this2.isChannelSelected(channel)
},
on: {
select: function select(channel) {
_this2.paychannel = channel;
}
}
});
}), h('pay-action', {
on: {
pay: function pay() {
console.info('pay action!');
_this2.$emit('pay');
}
}
})] : h('div', {
staticClass: 'ma-10 text-center'
}, 'loading')])]);
}
}]);
return CheckOut;
}(_vuePropertyDecorator.Vue);
exports.CheckOut = CheckOut;
__decorate([(0, _vuePropertyDecorator.Prop)({
type: Array,
"default": function _default() {
return [];
}
})], CheckOut.prototype, "channels", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
type: [Number, String],
"default": 0
})], CheckOut.prototype, "amount", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
type: [Number, String],
"default": 0
})], CheckOut.prototype, "discount", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
type: Number,
"default": 1
})], CheckOut.prototype, "quantity", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
type: Object,
"default": function _default() {
return {
price_ratio: 1,
symbol: '$'
};
}
})], CheckOut.prototype, "fiat", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
type: String,
"default": ''
})], CheckOut.prototype, "title", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
type: String,
"default": ''
})], CheckOut.prototype, "subtitle", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
type: String,
"default": 'checkout'
})], CheckOut.prototype, "prefixCls", void 0);
__decorate([(0, _vuePropertyDecorator.Model)('change', {
type: Boolean,
"default": false
})], CheckOut.prototype, "show", void 0);
exports.CheckOut = CheckOut = __decorate([(0, _vuePropertyDecorator.Component)({
components: {
Amount: _Amount["default"],
Channel: _Channel["default"],
PayAction: _PayAction["default"]
}
})], CheckOut);
var _default2 = CheckOut;
exports["default"] = _default2;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9DaGVja091dC9DaGVja091dC50cyIsIkNoZWNrT3V0L0NoZWNrT3V0LmpzIl0sIm5hbWVzIjpbIl9fZGVjb3JhdGUiLCJkZWNvcmF0b3JzIiwidGFyZ2V0Iiwia2V5IiwiZGVzYyIsImMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJyIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZCIsIlJlZmxlY3QiLCJkZWNvcmF0ZSIsImkiLCJkZWZpbmVQcm9wZXJ0eSIsIkNoZWNrT3V0IiwibG9hZGluZyIsInBheWNoYW5uZWwiLCJjaGFubmVsIiwiX2EiLCJhc3NldF9pZCIsImNoYW5uZWxzIiwiaCIsImNsYXNzZXMiLCJwcmVmaXhDbHMiLCJzdGF0aWNDbGFzcyIsIkZCb3R0b21TaGVldCIsInByb3BzIiwidmFsdWUiLCJzaG93IiwiYXR0cnMiLCJwZXJzaXN0ZW50Iiwib24iLCJjaGFuZ2UiLCJ2YWwiLCIkZW1pdCIsInRpdGxlIiwic2xvdCIsInN1YnRpdGxlIiwiYW1vdW50IiwiZGlzY291bnQiLCJxdWFudGl0eSIsInN5bWJvbCIsImljb24iLCJhc3NldF9pY29uIiwiY2hhbm5lbF9pY29uIiwiZmlhdCIsIm1hcCIsImluZCIsInNlbGVjdGVkIiwiaXNDaGFubmVsU2VsZWN0ZWQiLCJzZWxlY3QiLCJwYXkiLCJjb25zb2xlIiwiaW5mbyIsIlZ1ZSIsInR5cGUiLCJBcnJheSIsInByb3RvdHlwZSIsIk51bWJlciIsIlN0cmluZyIsInByaWNlX3JhdGlvIiwiQm9vbGVhbiIsImNvbXBvbmVudHMiLCJBbW91bnQiLCJDaGFubmVsIiwiUGF5QWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFNQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FDVkEsSUFBSUEsVUFBVSxHQUFJLFVBQVEsU0FBS0EsVUFBZCxJQUE2QixVQUFVQyxVQUFWLEVBQXNCQyxNQUF0QixFQUE4QkMsR0FBOUIsRUFB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RWhCLE9EbkVnQixFQ21FUCxLQUFLLENEbkVFLENBQUE7O0FBQ0EzRCxVQUFBLENBQUEsQ0FBcEMsZ0NBQUs7QUFBRXlELEVBQUFBLElBQUksRUFBRUksTUFBUjtBQUFnQixhQUFTO0FBQXpCLENBQUwsQ0FBb0MsQ0FBQSxFQ3FFcEM3QyxRQUFRLENBQUMyQyxTRHJFMkIsRUNxRWhCLFVEckVnQixFQ3FFSixLQUFLLENEckVELENBQUE7O0FBQ1EzRCxVQUFBLENBQUEsQ0FBNUMsZ0NBQUs7QUFBRXlELEVBQUFBLElBQUksRUFBRUksTUFBUjtBQUFnQixhQUFTO0FBQXpCLENBQUwsQ0FBNEMsQ0FBQSxFQ3VFNUM3QyxRQUFRLENBQUMyQyxTRHZFbUMsRUN1RXhCLFdEdkV3QixFQ3VFWCxLQUFLLENEdkVNLENBQUE7O0FBRU8zRCxVQUFBLENBQUEsQ0FBbkQsaUNBQU0sUUFBTixFQUFnQjtBQUFFeUQsRUFBQUEsSUFBSSxFQUFFTSxPQUFSO0FBQWlCLGFBQVM7QUFBMUIsQ0FBaEIsQ0FBbUQsQ0FBQSxFQ3dFbkQvQyxRQUFRLENBQUMyQyxTRHhFMEMsRUN3RS9CLE1EeEUrQixFQ3dFdkIsS0FBSyxDRHhFa0IsQ0FBQTs7QUFiekMsbUJBQUEzQyxRQUFRLEdBQUFoQixVQUFBLENBQUEsQ0FQcEIscUNBQVU7QUFDVGdFLEVBQUFBLFVBQVUsRUFBRTtBQUNWQyxJQUFBQSxNQUFNLEVBQU5BLGtCQURVO0FBRVZDLElBQUFBLE9BQU8sRUFBUEEsbUJBRlU7QUFHVkMsSUFBQUEsU0FBUyxFQUFUQTtBQUhVO0FBREgsQ0FBVixDQU9vQixDQUFBLEVBQVJuRCxRQUFRLENBQVI7Z0JBa0lFQSxRIiwiZmlsZSI6IkNoZWNrT3V0L0NoZWNrT3V0LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG5pbXBvcnQgeyBDb21wb25lbnQsIFZ1ZSwgUHJvcCwgTW9kZWwgfSBmcm9tICd2dWUtcHJvcGVydHktZGVjb3JhdG9yJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IEFtb3VudCBmcm9tICcuL0Ftb3VudCc7XG5pbXBvcnQgQ2hhbm5lbCBmcm9tICcuL0NoYW5uZWwnO1xuaW1wb3J0IFBheUFjdGlvbiBmcm9tICcuL1BheUFjdGlvbic7XG5pbXBvcnQgeyBGQm90dG9tU2hlZXQgfSBmcm9tICdAZm94b25lL3Vpa2l0L3NyYy9jb21wb25lbnRzL0ZCb3R0b21TaGVldCc7XG5sZXQgQ2hlY2tPdXQgPSBjbGFzcyBDaGVja091dCBleHRlbmRzIFZ1ZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnBheWNoYW5uZWwgPSB7fTtcbiAgICB9XG4gICAgaXNDaGFubmVsU2VsZWN0ZWQoY2hhbm5lbCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHJldHVybiAoKChfYSA9IHRoaXMucGF5Y2hhbm5lbCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNoYW5uZWwpID09PSBjaGFubmVsLmNoYW5uZWwgJiZcbiAgICAgICAgICAgIHRoaXMucGF5Y2hhbm5lbC5hc3NldF9pZCA9PT0gY2hhbm5lbC5hc3NldF9pZCk7XG4gICAgfVxuICAgIGNyZWF0ZWQoKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgdGhpcy5wYXljaGFubmVsID0gKF9hID0gdGhpcy5jaGFubmVscykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hWzBdO1xuICAgIH1cbiAgICByZW5kZXIoaCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHRoaXMucHJlZml4Q2xzKTtcbiAgICAgICAgcmV0dXJuIGgoJ2RpdicsIHtcbiAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBjbGFzc2VzKClcbiAgICAgICAgfSwgW1xuICAgICAgICAgICAgaChGQm90dG9tU2hlZXQsIHtcbiAgICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5zaG93XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICBwZXJzaXN0ZW50OiB0cnVlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICBjaGFuZ2U6ICh2YWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIHZhbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBbXG4gICAgICAgICAgICAgICAgIXRoaXMubG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGl0bGUgPyBoKCd0ZW1wbGF0ZScsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbG90OiAndGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGgoJ2g0JywgeyBzdGF0aWNDbGFzczogJ2YtZ3JleXNjYWxlLTEnIH0sIHRoaXMudGl0bGUpXG4gICAgICAgICAgICAgICAgICAgICAgICBdKSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnRpdGxlID8gaCgndGVtcGxhdGUnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xvdDogJ3N1YmhlYWRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaCgnaDUnLCB7IHN0YXRpY0NsYXNzOiAnZi1ncmV5c2NhbGUtMyBmLWNhcHRpb24gc3VidGl0bGUgdGV4dC1jZW50ZXInIH0sIHRoaXMuc3VidGl0bGUpXG4gICAgICAgICAgICAgICAgICAgICAgICBdKSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBoKCdhbW91bnQnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiB0aGlzLmFtb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzY291bnQ6IHRoaXMuZGlzY291bnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1YW50aXR5OiB0aGlzLnF1YW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2w6IHRoaXMucGF5Y2hhbm5lbC5zeW1ib2wsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb246IHRoaXMucGF5Y2hhbm5lbC5hc3NldF9pY29uIHx8IHRoaXMucGF5Y2hhbm5lbC5jaGFubmVsX2ljb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWw6IHRoaXMucGF5Y2hhbm5lbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlhdDogdGhpcy5maWF0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSB0aGlzLmNoYW5uZWxzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubWFwKChjaGFubmVsLCBpbmQpID0+IGgoJ2NoYW5uZWwnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBpbmQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbm5lbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuaXNDaGFubmVsU2VsZWN0ZWQoY2hhbm5lbClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdDogKGNoYW5uZWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGF5Y2hhbm5lbCA9IGNoYW5uZWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgICAgICAgICBoKCdwYXktYWN0aW9uJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBheTogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5pbmZvKCdwYXkgYWN0aW9uIScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgncGF5Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIDogaCgnZGl2Jywge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6ICdtYS0xMCB0ZXh0LWNlbnRlcidcbiAgICAgICAgICAgICAgICAgICAgfSwgJ2xvYWRpbmcnKVxuICAgICAgICAgICAgXSlcbiAgICAgICAgXSk7XG4gICAgfVxufTtcbl9fZGVjb3JhdGUoW1xuICAgIFByb3AoeyB0eXBlOiBBcnJheSwgZGVmYXVsdDogKCkgPT4gW10gfSlcbl0sIENoZWNrT3V0LnByb3RvdHlwZSwgXCJjaGFubmVsc1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgUHJvcCh7IHR5cGU6IFtOdW1iZXIsIFN0cmluZ10sIGRlZmF1bHQ6IDAgfSlcbl0sIENoZWNrT3V0LnByb3RvdHlwZSwgXCJhbW91bnRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIFByb3AoeyB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLCBkZWZhdWx0OiAwIH0pXG5dLCBDaGVja091dC5wcm90b3R5cGUsIFwiZGlzY291bnRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIFByb3AoeyB0eXBlOiBOdW1iZXIsIGRlZmF1bHQ6IDEgfSlcbl0sIENoZWNrT3V0LnByb3RvdHlwZSwgXCJxdWFudGl0eVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgUHJvcCh7IHR5cGU6IE9iamVjdCwgZGVmYXVsdDogKCkgPT4gKHsgcHJpY2VfcmF0aW86IDEsIHN5bWJvbDogJyQnIH0pIH0pXG5dLCBDaGVja091dC5wcm90b3R5cGUsIFwiZmlhdFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgUHJvcCh7IHR5cGU6IFN0cmluZywgZGVmYXVsdDogJycgfSlcbl0sIENoZWNrT3V0LnByb3RvdHlwZSwgXCJ0aXRsZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgUHJvcCh7IHR5cGU6IFN0cmluZywgZGVmYXVsdDogJycgfSlcbl0sIENoZWNrT3V0LnByb3RvdHlwZSwgXCJzdWJ0aXRsZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgUHJvcCh7IHR5cGU6IFN0cmluZywgZGVmYXVsdDogJ2NoZWNrb3V0JyB9KVxuXSwgQ2hlY2tPdXQucHJvdG90eXBlLCBcInByZWZpeENsc1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgTW9kZWwoJ2NoYW5nZScsIHsgdHlwZTogQm9vbGVhbiwgZGVmYXVsdDogZmFsc2UgfSlcbl0sIENoZWNrT3V0LnByb3RvdHlwZSwgXCJzaG93XCIsIHZvaWQgMCk7XG5DaGVja091dCA9IF9fZGVjb3JhdGUoW1xuICAgIENvbXBvbmVudCh7XG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgIEFtb3VudCxcbiAgICAgICAgICAgIENoYW5uZWwsXG4gICAgICAgICAgICBQYXlBY3Rpb25cbiAgICAgICAgfVxuICAgIH0pXG5dLCBDaGVja091dCk7XG5leHBvcnQgeyBDaGVja091dCB9O1xuZXhwb3J0IGRlZmF1bHQgQ2hlY2tPdXQ7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==