@foxone/finance-ui
Version:
The Financial UI Component Library Based on @foxone/uikit and vuetify
191 lines (164 loc) • 21.9 kB
JavaScript
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
import _createClass from "@babel/runtime/helpers/esm/createClass";
import _inherits from "@babel/runtime/helpers/esm/inherits";
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
import _typeof from "@babel/runtime/helpers/esm/typeof";
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(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 = this && this.__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" : _typeof(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;
};
import { Component, Vue, Prop, Model } from 'vue-property-decorator';
import classnames from '../utils/classnames';
import Amount from './Amount';
import Channel from './Channel';
import PayAction from './PayAction';
import { FBottomSheet } from '@foxone/uikit/src/components/FBottomSheet';
var CheckOut = /*#__PURE__*/function (_Vue) {
_inherits(CheckOut, _Vue);
var _super = _createSuper(CheckOut);
function CheckOut() {
var _this;
_classCallCheck(this, CheckOut);
_this = _super.apply(this, arguments);
_this.loading = false;
_this.paychannel = {};
return _this;
}
_createClass(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 = classnames(this.prefixCls);
return h('div', {
staticClass: classes()
}, [h(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;
}(Vue);
__decorate([Prop({
type: Array,
"default": function _default() {
return [];
}
})], CheckOut.prototype, "channels", void 0);
__decorate([Prop({
type: [Number, String],
"default": 0
})], CheckOut.prototype, "amount", void 0);
__decorate([Prop({
type: [Number, String],
"default": 0
})], CheckOut.prototype, "discount", void 0);
__decorate([Prop({
type: Number,
"default": 1
})], CheckOut.prototype, "quantity", void 0);
__decorate([Prop({
type: Object,
"default": function _default() {
return {
price_ratio: 1,
symbol: '$'
};
}
})], CheckOut.prototype, "fiat", void 0);
__decorate([Prop({
type: String,
"default": ''
})], CheckOut.prototype, "title", void 0);
__decorate([Prop({
type: String,
"default": ''
})], CheckOut.prototype, "subtitle", void 0);
__decorate([Prop({
type: String,
"default": 'checkout'
})], CheckOut.prototype, "prefixCls", void 0);
__decorate([Model('change', {
type: Boolean,
"default": false
})], CheckOut.prototype, "show", void 0);
CheckOut = __decorate([Component({
components: {
Amount: Amount,
Channel: Channel,
PayAction: PayAction
}
})], CheckOut);
export { CheckOut };
export default CheckOut;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoZWNrT3V0L0NoZWNrT3V0LmpzIiwic3JjL0NoZWNrT3V0L0NoZWNrT3V0LnRzIl0sIm5hbWVzIjpbIl9fZGVjb3JhdGUiLCJkZWNvcmF0b3JzIiwidGFyZ2V0Iiwia2V5IiwiZGVzYyIsImMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJyIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZCIsIlJlZmxlY3QiLCJkZWNvcmF0ZSIsImkiLCJkZWZpbmVQcm9wZXJ0eSIsIkNvbXBvbmVudCIsIlZ1ZSIsIlByb3AiLCJNb2RlbCIsImNsYXNzbmFtZXMiLCJBbW91bnQiLCJDaGFubmVsIiwiUGF5QWN0aW9uIiwiRkJvdHRvbVNoZWV0IiwiQ2hlY2tPdXQiLCJsb2FkaW5nIiwicGF5Y2hhbm5lbCIsImNoYW5uZWwiLCJfYSIsImFzc2V0X2lkIiwiY2hhbm5lbHMiLCJoIiwiY2xhc3NlcyIsInByZWZpeENscyIsInN0YXRpY0NsYXNzIiwicHJvcHMiLCJ2YWx1ZSIsInNob3ciLCJhdHRycyIsInBlcnNpc3RlbnQiLCJvbiIsImNoYW5nZSIsInZhbCIsIiRlbWl0IiwidGl0bGUiLCJzbG90Iiwic3VidGl0bGUiLCJhbW91bnQiLCJkaXNjb3VudCIsInF1YW50aXR5Iiwic3ltYm9sIiwiaWNvbiIsImFzc2V0X2ljb24iLCJjaGFubmVsX2ljb24iLCJmaWF0IiwibWFwIiwiaW5kIiwic2VsZWN0ZWQiLCJpc0NoYW5uZWxTZWxlY3RlZCIsInNlbGVjdCIsInBheSIsImNvbnNvbGUiLCJpbmZvIiwidHlwZSIsIkFycmF5IiwicHJvdG90eXBlIiwiTnVtYmVyIiwiU3RyaW5nIiwicHJpY2VfcmF0aW8iLCJCb29sZWFuIiwiY29tcG9uZW50cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFJQSxVQUFVLEdBQUksUUFBUSxLQUFLQSxVQUFkLElBQTZCLFVBQVVDLFVBQVYsRUFBc0JDLE1BQXRCLEVBQThCQyxHQUE5QixFQUFtQ0MsSUFBbkMs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QUEsU0FBUyxFQUFUQTtBQUhVO0FBREgsQ0FBRCxDQU9XLENBQUEsRUFBUkUsUUFBUSxDQUFSO0FEK0ZiLFNDL0ZhQSxRRCtGYjtBQ21DQSxlQUFlQSxRQUFmIiwiZmlsZSI6IkNoZWNrT3V0L0NoZWNrT3V0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fZGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZGVjb3JhdGUpIHx8IGZ1bmN0aW9uIChkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XG59O1xuaW1wb3J0IHsgQ29tcG9uZW50LCBWdWUsIFByb3AsIE1vZGVsIH0gZnJvbSAndnVlLXByb3BlcnR5LWRlY29yYXRvcic7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICcuLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCBBbW91bnQgZnJvbSAnLi9BbW91bnQnO1xuaW1wb3J0IENoYW5uZWwgZnJvbSAnLi9DaGFubmVsJztcbmltcG9ydCBQYXlBY3Rpb24gZnJvbSAnLi9QYXlBY3Rpb24nO1xuaW1wb3J0IHsgRkJvdHRvbVNoZWV0IH0gZnJvbSAnQGZveG9uZS91aWtpdC9zcmMvY29tcG9uZW50cy9GQm90dG9tU2hlZXQnO1xubGV0IENoZWNrT3V0ID0gY2xhc3MgQ2hlY2tPdXQgZXh0ZW5kcyBWdWUge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wYXljaGFubmVsID0ge307XG4gICAgfVxuICAgIGlzQ2hhbm5lbFNlbGVjdGVkKGNoYW5uZWwpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gKCgoX2EgPSB0aGlzLnBheWNoYW5uZWwpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jaGFubmVsKSA9PT0gY2hhbm5lbC5jaGFubmVsICYmXG4gICAgICAgICAgICB0aGlzLnBheWNoYW5uZWwuYXNzZXRfaWQgPT09IGNoYW5uZWwuYXNzZXRfaWQpO1xuICAgIH1cbiAgICBjcmVhdGVkKCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHRoaXMucGF5Y2hhbm5lbCA9IChfYSA9IHRoaXMuY2hhbm5lbHMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVswXTtcbiAgICB9XG4gICAgcmVuZGVyKGgpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyh0aGlzLnByZWZpeENscyk7XG4gICAgICAgIHJldHVybiBoKCdkaXYnLCB7XG4gICAgICAgICAgICBzdGF0aWNDbGFzczogY2xhc3NlcygpXG4gICAgICAgIH0sIFtcbiAgICAgICAgICAgIGgoRkJvdHRvbVNoZWV0LCB7XG4gICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuc2hvd1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgcGVyc2lzdGVudDogdHJ1ZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlOiAodmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCB2YWwpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgW1xuICAgICAgICAgICAgICAgICF0aGlzLmxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRpdGxlID8gaCgndGVtcGxhdGUnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xvdDogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoKCdoNCcsIHsgc3RhdGljQ2xhc3M6ICdmLWdyZXlzY2FsZS0xJyB9LCB0aGlzLnRpdGxlKVxuICAgICAgICAgICAgICAgICAgICAgICAgXSkgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJ0aXRsZSA/IGgoJ3RlbXBsYXRlJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsb3Q6ICdzdWJoZWFkZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGgoJ2g1JywgeyBzdGF0aWNDbGFzczogJ2YtZ3JleXNjYWxlLTMgZi1jYXB0aW9uIHN1YnRpdGxlIHRleHQtY2VudGVyJyB9LCB0aGlzLnN1YnRpdGxlKVxuICAgICAgICAgICAgICAgICAgICAgICAgXSkgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgaCgnYW1vdW50Jywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFtb3VudDogdGhpcy5hbW91bnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50OiB0aGlzLmRpc2NvdW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWFudGl0eTogdGhpcy5xdWFudGl0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ltYm9sOiB0aGlzLnBheWNoYW5uZWwuc3ltYm9sLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uOiB0aGlzLnBheWNoYW5uZWwuYXNzZXRfaWNvbiB8fCB0aGlzLnBheWNoYW5uZWwuY2hhbm5lbF9pY29uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsOiB0aGlzLnBheWNoYW5uZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpYXQ6IHRoaXMuZmlhdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgKF9hID0gdGhpcy5jaGFubmVscykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm1hcCgoY2hhbm5lbCwgaW5kKSA9PiBoKCdjaGFubmVsJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogaW5kLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLmlzQ2hhbm5lbFNlbGVjdGVkKGNoYW5uZWwpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Q6IChjaGFubmVsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBheWNoYW5uZWwgPSBjaGFubmVsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaCgncGF5LWFjdGlvbicsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXk6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygncGF5IGFjdGlvbiEnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ3BheScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICA6IGgoJ2RpdicsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiAnbWEtMTAgdGV4dC1jZW50ZXInXG4gICAgICAgICAgICAgICAgICAgIH0sICdsb2FkaW5nJylcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pO1xuICAgIH1cbn07XG5fX2RlY29yYXRlKFtcbiAgICBQcm9wKHsgdHlwZTogQXJyYXksIGRlZmF1bHQ6ICgpID0+IFtdIH0pXG5dLCBDaGVja091dC5wcm90b3R5cGUsIFwiY2hhbm5lbHNcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIFByb3AoeyB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLCBkZWZhdWx0OiAwIH0pXG5dLCBDaGVja091dC5wcm90b3R5cGUsIFwiYW1vdW50XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBQcm9wKHsgdHlwZTogW051bWJlciwgU3RyaW5nXSwgZGVmYXVsdDogMCB9KVxuXSwgQ2hlY2tPdXQucHJvdG90eXBlLCBcImRpc2NvdW50XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBQcm9wKHsgdHlwZTogTnVtYmVyLCBkZWZhdWx0OiAxIH0pXG5dLCBDaGVja091dC5wcm90b3R5cGUsIFwicXVhbnRpdHlcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIFByb3AoeyB0eXBlOiBPYmplY3QsIGRlZmF1bHQ6ICgpID0+ICh7IHByaWNlX3JhdGlvOiAxLCBzeW1ib2w6ICckJyB9KSB9KVxuXSwgQ2hlY2tPdXQucHJvdG90eXBlLCBcImZpYXRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIFByb3AoeyB0eXBlOiBTdHJpbmcsIGRlZmF1bHQ6ICcnIH0pXG5dLCBDaGVja091dC5wcm90b3R5cGUsIFwidGl0bGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIFByb3AoeyB0eXBlOiBTdHJpbmcsIGRlZmF1bHQ6ICcnIH0pXG5dLCBDaGVja091dC5wcm90b3R5cGUsIFwic3VidGl0bGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIFByb3AoeyB0eXBlOiBTdHJpbmcsIGRlZmF1bHQ6ICdjaGVja291dCcgfSlcbl0sIENoZWNrT3V0LnByb3RvdHlwZSwgXCJwcmVmaXhDbHNcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIE1vZGVsKCdjaGFuZ2UnLCB7IHR5cGU6IEJvb2xlYW4sIGRlZmF1bHQ6IGZhbHNlIH0pXG5dLCBDaGVja091dC5wcm90b3R5cGUsIFwic2hvd1wiLCB2b2lkIDApO1xuQ2hlY2tPdXQgPSBfX2RlY29yYXRlKFtcbiAgICBDb21wb25lbnQoe1xuICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICBBbW91bnQsXG4gICAgICAgICAgICBDaGFubmVsLFxuICAgICAgICAgICAgUGF5QWN0aW9uXG4gICAgICAgIH1cbiAgICB9KVxuXSwgQ2hlY2tPdXQpO1xuZXhwb3J0IHsgQ2hlY2tPdXQgfTtcbmV4cG9ydCBkZWZhdWx0IENoZWNrT3V0OyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==