Sanakey
2021-04-02 a38dad3533f5eed77f8f8c52b914d21c4e55f289
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [op[0] & 2, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};
Component({
    options: {
        addGlobalClass: true,
        multipleSlots: true
    },
    properties: {
        fromPage: {
            type: String,
            value: ''
        },
        detail: {
            type: Object,
            value: {}
        }
    },
    data: {
        showShare: false,
        noticeText: '',
        shareOptions: [
            { name: '微信', icon: 'wechat', openType: 'share' },
        ],
        showAdvisory: false,
        advisoryActions: [
            {
                name: '12345678910',
            },
            {
                name: '呼叫',
                my: '12345678910'
            }
        ],
    },
    lifetimes: {
        attached: function () {
            if (this.data.fromPage === 'myFootprint') {
                this.setData({ fromFootprint: true });
                return;
            }
            if (this.data.fromPage === 'myOrder') {
                this.setData({ fromOrder: true });
                return;
            }
            this.setData({ fromPromotions: true });
        },
        detached: function () {
        },
        ready: function () {
            this.getNotice();
        }
    },
    methods: {
        onClickShare: function () {
            this.setData({
                showShare: true
            });
        },
        onShareClose: function () {
            this.setData({
                showShare: false
            });
        },
        onShareSelect: function (event) {
            console.log(event.detail);
            this.onShareClose();
        },
        onClickAdvisory: function () {
            this.setData({
                showAdvisory: true
            });
        },
        onAdvisoryClose: function () {
            this.setData({
                showAdvisory: false
            });
        },
        onAdvisorySelect: function (e) {
            console.log(e);
            var mobile = e.detail.my;
            wx.makePhoneCall({
                phoneNumber: mobile,
            });
        },
        onClickDelete: function () {
            var _this = this;
            wx.pro.showModal({
                title: '提示',
                content: '确定要删除该订单吗?',
            }).then(function (res) {
                console.log(res);
                if (res.confirm) {
                    console.log('确认');
                    _this.deleteOrder();
                }
            });
        },
        deleteOrder: function () {
            return __awaiter(this, void 0, void 0, function () {
                var doccode, _a, error, result;
                return __generator(this, function (_b) {
                    switch (_b.label) {
                        case 0:
                            doccode = this.data.detail.doccode;
                            return [4, wx.$utils.to(wx.$http.request({
                                    url: "/shopping/panicBuyingOrder.do?m=deleteOrder",
                                    data: {
                                        doccode: doccode
                                    }
                                }))];
                        case 1:
                            _a = _b.sent(), error = _a[0], result = _a[1];
                            if (error) {
                                console.log(error);
                                return [2];
                            }
                            console.log(result);
                            wx.navigateBack();
                            return [2];
                    }
                });
            });
        },
        onClickRefund: function () {
            var doccode = this.data.detail.doccode;
            wx.navigateTo({
                url: "/pages/refund/refund?doccode=" + doccode
            });
        },
        onClickCheckCode: function () {
            console.log(666);
            var eventChannel = this.getOpenerEventChannel();
            eventChannel.emit('detailCheckCode', { isShowDialog: true });
            wx.navigateBack();
        },
        onClickSnapUp: function () {
            var _this = this;
            wx.navigateTo({
                url: '/pages/orderSubmit/orderSubmit',
                success: function (res) {
                    var detail = _this.data.detail;
                    res.eventChannel.emit('getDataFromDetailsPage', {
                        detail: detail
                    });
                }
            });
        },
        getNotice: function () {
            var _a = this.data.detail, quantity = _a.quantity, panicBuyingStatus = _a.panicBuyingStatus, formId = _a.formId, effectiveStartDate = _a.effectiveStartDate, effectiveEndDate = _a.effectiveEndDate;
            var isPanicBuying = (formId == 710802);
            if (panicBuyingStatus == 1) {
                this.setData({
                    noticeText: "\u672A\u5F00\u59CB\uFF0C\u5F00\u65F6\u65F6\u95F4" + effectiveStartDate + "\u81F3" + effectiveEndDate,
                    isCanBuy: false
                });
            }
            else if (panicBuyingStatus == 2) {
                this.setData({
                    noticeText: "\u6D3B\u52A8\u8FDB\u884C\u4E2D\uFF0C\u7ED3\u675F\u65F6\u95F4\u4E3A" + effectiveEndDate,
                    isCanBuy: true
                });
            }
            else if (panicBuyingStatus == 3) {
                this.setData({
                    noticeText: "\u672C\u6B21\u6D3B\u52A8\u5DF2\u7ED3\u675F",
                    isCanBuy: false
                });
            }
            if (isPanicBuying && quantity <= 0) {
                this.setData({
                    noticeText: "\u8BE5\u5546\u54C1\u5DF2\u552E\u7F44",
                    isCanBuy: false
                });
            }
        },
    }
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxTQUFTLENBQUM7SUFJUixPQUFPLEVBQUU7UUFDUCxjQUFjLEVBQUUsSUFBSTtRQUNwQixhQUFhLEVBQUUsSUFBSTtLQUNwQjtJQUNELFVBQVUsRUFBRTtRQUNWLFFBQVEsRUFBQztZQUNQLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLEVBQUU7U0FDVjtRQUNELE1BQU0sRUFBQztZQUNMLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLEVBQUU7U0FDVjtLQWFGO0lBS0QsSUFBSSxFQUFFO1FBQ0osU0FBUyxFQUFFLEtBQUs7UUFDaEIsVUFBVSxFQUFDLEVBQUU7UUFDYixZQUFZLEVBQUU7WUFDWixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO1NBR2xEO1FBQ0QsWUFBWSxFQUFFLEtBQUs7UUFDbkIsZUFBZSxFQUFFO1lBQ2Y7Z0JBQ0UsSUFBSSxFQUFFLGFBQWE7YUFDcEI7WUFDRDtnQkFDRSxJQUFJLEVBQUUsSUFBSTtnQkFDVixFQUFFLEVBQUMsYUFBYTthQUNqQjtTQUNGO0tBQ0Y7SUFFRCxTQUFTLEVBQUU7UUFDVCxRQUFRO1lBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxhQUFhLEVBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBQyxhQUFhLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztnQkFDcEMsT0FBTzthQUNSO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUM7Z0JBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztnQkFDaEMsT0FB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LEVBQUMsS0FBSztpQkFDZixDQUFDLENBQUE7YUFDSDtZQUNELElBQUksYUFBYSxJQUFFLFFBQVEsSUFBRSxDQUFDLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxPQUFPLENBQUM7b0JBQ1gsVUFBVSxFQUFDLHNDQUFRO29CQUNuQixRQUFRLEVBQUMsS0FBSztpQkFDZixDQUFDLENBQUE7YUFDSDtRQUNILENBQUM7S0FDRjtDQUNGLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vLyBjb25zdCBhcHAgPSBnZXRBcHA8SUFwcE9wdGlvbj4oKTtcclxuQ29tcG9uZW50KHtcclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTlsZ7mgKfliJfooahcclxuICAgKi9cclxuICBvcHRpb25zOiB7XHJcbiAgICBhZGRHbG9iYWxDbGFzczogdHJ1ZSxcclxuICAgIG11bHRpcGxlU2xvdHM6IHRydWUgLy8g5Zyo57uE5Lu25a6a5LmJ5pe255qE6YCJ6aG55Lit5ZCv55So5aSac2xvdOaUr+aMgVxyXG4gIH0sXHJcbiAgcHJvcGVydGllczoge1xyXG4gICAgZnJvbVBhZ2U6e1xyXG4gICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAgIHZhbHVlOiAnJ1xyXG4gICAgfSxcclxuICAgIGRldGFpbDp7XHJcbiAgICAgIHR5cGU6IE9iamVjdCxcclxuICAgICAgdmFsdWU6IHt9XHJcbiAgICB9XHJcbiAgICAvLyBmcm9tRm9vdHByaW50OntcclxuICAgIC8vICAgdHlwZTogQm9vbGVhbixcclxuICAgIC8vICAgdmFsdWU6IGZhbHNlXHJcbiAgICAvLyB9LFxyXG4gICAgLy8gZnJvbU9yZGVyOntcclxuICAgIC8vICAgdHlwZTogQm9vbGVhbixcclxuICAgIC8vICAgdmFsdWU6IGZhbHNlXHJcbiAgICAvLyB9LFxyXG4gICAgLy8gZnJvbVByb21vdGlvbnM6e1xyXG4gICAgLy8gICB0eXBlOiBCb29sZWFuLFxyXG4gICAgLy8gICB2YWx1ZTogdHJ1ZVxyXG4gICAgLy8gfSxcclxuICB9LFxyXG5cclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTliJ3lp4vmlbDmja5cclxuICAgKi9cclxuICBkYXRhOiB7XHJcbiAgICBzaG93U2hhcmU6IGZhbHNlLFxyXG4gICAgbm90aWNlVGV4dDonJyxcclxuICAgIHNoYXJlT3B0aW9uczogW1xyXG4gICAgICB7IG5hbWU6ICflvq7kv6EnLCBpY29uOiAnd2VjaGF0Jywgb3BlblR5cGU6ICdzaGFyZScgfSxcclxuICAgICAgLy8geyBuYW1lOiAn5YiG5Lqr5rW35oqlJywgaWNvbjogJ3Bvc3RlcicgfSxcclxuICAgICAgLy8geyBuYW1lOiAn5LqM57u056CBJywgaWNvbjogJ3FyY29kZScgfSxcclxuICAgIF0sXHJcbiAgICBzaG93QWR2aXNvcnk6IGZhbHNlLFxyXG4gICAgYWR2aXNvcnlBY3Rpb25zOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnMTIzNDU2Nzg5MTAnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ+WRvOWPqycsXHJcbiAgICAgICAgbXk6JzEyMzQ1Njc4OTEwJ1xyXG4gICAgICB9XHJcbiAgICBdLFxyXG4gIH0sXHJcblxyXG4gIGxpZmV0aW1lczoge1xyXG4gICAgYXR0YWNoZWQoKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGEuZnJvbVBhZ2UgPT09ICdteUZvb3RwcmludCcpe1xyXG4gICAgICAgIHRoaXMuc2V0RGF0YSh7ZnJvbUZvb3RwcmludDogdHJ1ZX0pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kYXRhLmZyb21QYWdlID09PSAnbXlPcmRlcicpe1xyXG4gICAgICAgIHRoaXMuc2V0RGF0YSh7ZnJvbU9yZGVyOiB0cnVlfSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGlmICh0aGlzLmRhdGEuZnJvbVBhZ2UgPT09ICdwcm9tb3Rpb25zTWFuYWdlJyl7XHJcbiAgICAgIC8vICAgdGhpcy5zZXREYXRhKHtmcm9tUHJvbW90aW9uczogdHJ1ZX0pO1xyXG4gICAgICAvLyB9XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7ZnJvbVByb21vdGlvbnM6IHRydWV9KTtcclxuICAgICAgLy8g5Zyo57uE5Lu25a6e5L6L6L+b5YWl6aG16Z2i6IqC54K55qCR5pe25omn6KGMXHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZGF0YS5saXN0SXRlbSk7XHJcbiAgICB9LFxyXG4gICAgZGV0YWNoZWQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAvLyDlnKjnu4Tku7blrp7kvovooqvku47pobXpnaLoioLngrnmoJHnp7vpmaTml7bmiafooYxcclxuICAgIH0sXHJcbiAgICByZWFkeSgpIHtcclxuICAgICAgdGhpcy5nZXROb3RpY2UoKTtcclxuICAgIH1cclxuICB9LFxyXG4gIC8qKlxyXG4gICAqIOe7hOS7tueahOaWueazleWIl+ihqFxyXG4gICAqL1xyXG4gIG1ldGhvZHM6IHtcclxuICAgIG9uQ2xpY2tTaGFyZSgpe1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIHNob3dTaGFyZTp0cnVlXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgb25TaGFyZUNsb3NlKCl7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgc2hvd1NoYXJlOmZhbHNlXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgb25TaGFyZVNlbGVjdChldmVudCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhldmVudC5kZXRhaWwpO1xyXG4gICAgICB0aGlzLm9uU2hhcmVDbG9zZSgpO1xyXG4gICAgfSxcclxuICAgIG9uQ2xpY2tBZHZpc29yeSgpe1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIHNob3dBZHZpc29yeTp0cnVlXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgb25BZHZpc29yeUNsb3NlKCl7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgc2hvd0Fkdmlzb3J5OmZhbHNlXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgb25BZHZpc29yeVNlbGVjdChlOmFueSl7XHJcbiAgICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgICBsZXQgbW9iaWxlID0gZS5kZXRhaWwubXk7XHJcbiAgICAgIHd4Lm1ha2VQaG9uZUNhbGwoe1xyXG4gICAgICAgIHBob25lTnVtYmVyOiBtb2JpbGUsXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgb25DbGlja0RlbGV0ZSgpe1xyXG4gICAgICB3eC5wcm8uc2hvd01vZGFsKHtcclxuICAgICAgICB0aXRsZTogJ+aPkOekuicsXHJcbiAgICAgICAgY29udGVudDogJ+ehruWumuimgeWIoOmZpOivpeiuouWNleWQl++8nycsXHJcbiAgICAgIH0pLnRoZW4oKHJlczphbnkpID0+IHtcclxuICAgICAgICAvLyBvbiBjbG9zZVxyXG4gICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XHJcbiAgICAgICAgaWYgKHJlcy5jb25maXJtKXtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCfnoa7orqQnKTtcclxuICAgICAgICAgIHRoaXMuZGVsZXRlT3JkZXIoKVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgYXN5bmMgZGVsZXRlT3JkZXIoKXtcclxuICAgICAgbGV0IGRvY2NvZGUgPSB0aGlzLmRhdGEuZGV0YWlsLmRvY2NvZGU7XHJcbiAgICAgIGxldCBbZXJyb3IsIHJlc3VsdF0gPSBhd2FpdCB3eC4kdXRpbHMudG8oXHJcbiAgICAgICAgd3guJGh0dHAucmVxdWVzdCh7XHJcbiAgICAgICAgICB1cmw6YC9zaG9wcGluZy9wYW5pY0J1eWluZ09yZGVyLmRvP209ZGVsZXRlT3JkZXJgLFxyXG4gICAgICAgICAgZGF0YTp7XHJcbiAgICAgICAgICAgIGRvY2NvZGVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIGlmIChlcnJvcil7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zb2xlLmxvZyhyZXN1bHQpO1xyXG4gICAgICB3eC5uYXZpZ2F0ZUJhY2soKTtcclxuICAgIH0sXHJcbiAgICBvbkNsaWNrUmVmdW5kKCl7XHJcbiAgICAgIGxldCBkb2Njb2RlID0gdGhpcy5kYXRhLmRldGFpbC5kb2Njb2RlO1xyXG4gICAgICB3eC5uYXZpZ2F0ZVRvKHtcclxuICAgICAgICB1cmw6IGAvcGFnZXMvcmVmdW5kL3JlZnVuZD9kb2Njb2RlPSR7ZG9jY29kZX1gXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgb25DbGlja0NoZWNrQ29kZSgpe1xyXG4gICAgICBjb25zb2xlLmxvZyg2NjYpO1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIGxldCBldmVudENoYW5uZWwgPSB0aGlzLmdldE9wZW5lckV2ZW50Q2hhbm5lbCgpO1xyXG4gICAgICBldmVudENoYW5uZWwuZW1pdCgnZGV0YWlsQ2hlY2tDb2RlJywge2lzU2hvd0RpYWxvZzogdHJ1ZX0pO1xyXG4gICAgICB3eC5uYXZpZ2F0ZUJhY2soKTtcclxuICAgIH0sXHJcbiAgICBvbkNsaWNrU25hcFVwKCl7XHJcbiAgICAgIHd4Lm5hdmlnYXRlVG8oe1xyXG4gICAgICAgIHVybDogJy9wYWdlcy9vcmRlclN1Ym1pdC9vcmRlclN1Ym1pdCcsXHJcbiAgICAgICAgc3VjY2VzczogKHJlcyk9PiB7XHJcbiAgICAgICAgICBsZXQgZGV0YWlsID0gdGhpcy5kYXRhLmRldGFpbDtcclxuICAgICAgICAgIC8vIOmAmui/h2V2ZW50Q2hhbm5lbOWQkeiiq+aJk+W8gOmhtemdouS8oOmAgeaVsOaNrlxyXG4gICAgICAgICAgcmVzLmV2ZW50Q2hhbm5lbC5lbWl0KCdnZXREYXRhRnJvbURldGFpbHNQYWdlJywge1xyXG4gICAgICAgICAgICBkZXRhaWxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSxcclxuICAgIGdldE5vdGljZSgpe1xyXG4gICAgICAvL+WKn+iDveWPt++8muenkuadgCA3MTA4MDIg77yMIOaKpeWQjemCgOe6piA3MTA4MDMg77yM5Zui6LStIDcxMDgwNFxyXG4gICAgICBsZXQge1xyXG4gICAgICAgIHF1YW50aXR5LFxyXG4gICAgICAgIHBhbmljQnV5aW5nU3RhdHVzLFxyXG4gICAgICAgIGZvcm1JZCxcclxuICAgICAgICBlZmZlY3RpdmVTdGFydERhdGUsXHJcbiAgICAgICAgZWZmZWN0aXZlRW5kRGF0ZSxcclxuICAgICAgfSA9IHRoaXMuZGF0YS5kZXRhaWw7XHJcbiAgICAgIGxldCBpc1BhbmljQnV5aW5nID0gKGZvcm1JZD09NzEwODAyKTtcclxuICAgICAgaWYgKHBhbmljQnV5aW5nU3RhdHVzPT0xKSB7XHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgIG5vdGljZVRleHQ6YOacquW8gOWni++8jOW8gOaXtuaXtumXtCR7ZWZmZWN0aXZlU3RhcnREYXRlfeiHsyR7ZWZmZWN0aXZlRW5kRGF0ZX1gLFxyXG4gICAgICAgICAgaXNDYW5CdXk6ZmFsc2VcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHBhbmljQnV5aW5nU3RhdHVzPT0yKSB7XHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgIG5vdGljZVRleHQ6YOa0u+WKqOi/m+ihjOS4re+8jOe7k+adn+aXtumXtOS4uiR7ZWZmZWN0aXZlRW5kRGF0ZX1gLFxyXG4gICAgICAgICAgaXNDYW5CdXk6dHJ1ZVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAocGFuaWNCdXlpbmdTdGF0dXM9PTMpIHtcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgbm90aWNlVGV4dDpg5pys5qyh5rS75Yqo5bey57uT5p2fYCxcclxuICAgICAgICAgIGlzQ2FuQnV5OmZhbHNlXHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgICBpZiAoaXNQYW5pY0J1eWluZyYmcXVhbnRpdHk8PTApIHtcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgbm90aWNlVGV4dDpg6K+l5ZWG5ZOB5bey5ZSu572EYCxcclxuICAgICAgICAgIGlzQ2FuQnV5OmZhbHNlXHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfSxcclxuICB9XHJcbn0pXHJcbiJdfQ==