@vendasta/business-center 0.6.2 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/esm2020/lib/_generated/host.service.mjs +25 -0
  2. package/esm2020/lib/_internal/account.api.service.mjs +41 -0
  3. package/esm2020/lib/_internal/get-started.api.service.mjs +46 -0
  4. package/esm2020/lib/_internal/index.mjs +12 -0
  5. package/esm2020/lib/_internal/interfaces/annotations.interface.mjs +8 -0
  6. package/esm2020/lib/_internal/interfaces/api.interface.mjs +8 -0
  7. package/esm2020/lib/_internal/interfaces/index.mjs +2 -0
  8. package/esm2020/lib/_internal/objects/annotations.mjs +24 -0
  9. package/esm2020/lib/_internal/objects/api.mjs +357 -0
  10. package/esm2020/lib/_internal/objects/index.mjs +9 -0
  11. package/esm2020/lib/_internal/user.api.service.mjs +45 -0
  12. package/esm2020/lib/account.service.mjs +38 -0
  13. package/esm2020/lib/getStarted.service.mjs +44 -0
  14. package/esm2020/lib/index.mjs +5 -0
  15. package/esm2020/lib/user.service.mjs +35 -0
  16. package/esm2020/public_api.mjs +2 -0
  17. package/esm2020/vendasta-business-center.mjs +5 -0
  18. package/fesm2015/vendasta-business-center.mjs +603 -0
  19. package/fesm2015/vendasta-business-center.mjs.map +1 -0
  20. package/fesm2020/vendasta-business-center.mjs +602 -0
  21. package/fesm2020/vendasta-business-center.mjs.map +1 -0
  22. package/lib/_generated/host.service.d.ts +5 -9
  23. package/lib/_internal/account.api.service.d.ts +4 -0
  24. package/lib/_internal/get-started.api.service.d.ts +4 -0
  25. package/lib/_internal/interfaces/api.interface.d.ts +2 -0
  26. package/lib/_internal/objects/api.d.ts +2 -0
  27. package/lib/_internal/user.api.service.d.ts +4 -0
  28. package/lib/account.service.d.ts +3 -0
  29. package/lib/getStarted.service.d.ts +3 -0
  30. package/lib/user.service.d.ts +4 -1
  31. package/package.json +27 -19
  32. package/public_api.d.ts +1 -1
  33. package/src/README.md +1 -0
  34. package/vendasta-business-center.d.ts +1 -0
  35. package/bundles/vendasta-business-center.umd.js +0 -1131
  36. package/bundles/vendasta-business-center.umd.js.map +0 -1
  37. package/bundles/vendasta-business-center.umd.min.js +0 -2
  38. package/bundles/vendasta-business-center.umd.min.js.map +0 -1
  39. package/esm2015/lib/_generated/host.service.js +0 -104
  40. package/esm2015/lib/_internal/account.api.service.js +0 -76
  41. package/esm2015/lib/_internal/get-started.api.service.js +0 -90
  42. package/esm2015/lib/_internal/index.js +0 -16
  43. package/esm2015/lib/_internal/interfaces/annotations.interface.js +0 -21
  44. package/esm2015/lib/_internal/interfaces/api.interface.js +0 -167
  45. package/esm2015/lib/_internal/interfaces/index.js +0 -5
  46. package/esm2015/lib/_internal/objects/annotations.js +0 -46
  47. package/esm2015/lib/_internal/objects/api.js +0 -615
  48. package/esm2015/lib/_internal/objects/index.js +0 -13
  49. package/esm2015/lib/_internal/user.api.service.js +0 -85
  50. package/esm2015/lib/account.service.js +0 -90
  51. package/esm2015/lib/getStarted.service.js +0 -93
  52. package/esm2015/lib/index.js +0 -9
  53. package/esm2015/lib/user.service.js +0 -75
  54. package/esm2015/public_api.js +0 -6
  55. package/esm2015/vendasta-business-center.js +0 -9
  56. package/esm5/lib/_generated/host.service.js +0 -115
  57. package/esm5/lib/_internal/account.api.service.js +0 -82
  58. package/esm5/lib/_internal/get-started.api.service.js +0 -100
  59. package/esm5/lib/_internal/index.js +0 -16
  60. package/esm5/lib/_internal/interfaces/annotations.interface.js +0 -21
  61. package/esm5/lib/_internal/interfaces/api.interface.js +0 -167
  62. package/esm5/lib/_internal/interfaces/index.js +0 -5
  63. package/esm5/lib/_internal/objects/annotations.js +0 -52
  64. package/esm5/lib/_internal/objects/api.js +0 -693
  65. package/esm5/lib/_internal/objects/index.js +0 -13
  66. package/esm5/lib/_internal/user.api.service.js +0 -96
  67. package/esm5/lib/account.service.js +0 -97
  68. package/esm5/lib/getStarted.service.js +0 -101
  69. package/esm5/lib/index.js +0 -9
  70. package/esm5/lib/user.service.js +0 -78
  71. package/esm5/public_api.js +0 -6
  72. package/esm5/vendasta-business-center.js +0 -9
  73. package/fesm2015/vendasta-business-center.js +0 -979
  74. package/fesm2015/vendasta-business-center.js.map +0 -1
  75. package/fesm5/vendasta-business-center.js +0 -1093
  76. package/fesm5/vendasta-business-center.js.map +0 -1
  77. package/vendasta-business-center.metadata.json +0 -1
@@ -1,693 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- var Address = /** @class */ (function () {
6
- function Address(kwargs) {
7
- if (!kwargs) {
8
- return;
9
- }
10
- Object.assign(this, kwargs);
11
- }
12
- /**
13
- * @param {?} proto
14
- * @return {?}
15
- */
16
- Address.fromProto = /**
17
- * @param {?} proto
18
- * @return {?}
19
- */
20
- function (proto) {
21
- /** @type {?} */
22
- var m = new Address();
23
- m = Object.assign(m, proto);
24
- return m;
25
- };
26
- /**
27
- * @return {?}
28
- */
29
- Address.prototype.toApiJson = /**
30
- * @return {?}
31
- */
32
- function () {
33
- /** @type {?} */
34
- var toReturn = {};
35
- if (typeof this.address !== 'undefined') {
36
- toReturn['address'] = this.address;
37
- }
38
- if (typeof this.city !== 'undefined') {
39
- toReturn['city'] = this.city;
40
- }
41
- if (typeof this.state !== 'undefined') {
42
- toReturn['state'] = this.state;
43
- }
44
- if (typeof this.country !== 'undefined') {
45
- toReturn['country'] = this.country;
46
- }
47
- if (typeof this.postalCode !== 'undefined') {
48
- toReturn['postalCode'] = this.postalCode;
49
- }
50
- return toReturn;
51
- };
52
- return Address;
53
- }());
54
- export { Address };
55
- if (false) {
56
- /** @type {?} */
57
- Address.prototype.address;
58
- /** @type {?} */
59
- Address.prototype.city;
60
- /** @type {?} */
61
- Address.prototype.state;
62
- /** @type {?} */
63
- Address.prototype.country;
64
- /** @type {?} */
65
- Address.prototype.postalCode;
66
- }
67
- var BusinessData = /** @class */ (function () {
68
- function BusinessData(kwargs) {
69
- if (!kwargs) {
70
- return;
71
- }
72
- Object.assign(this, kwargs);
73
- }
74
- /**
75
- * @param {?} proto
76
- * @return {?}
77
- */
78
- BusinessData.fromProto = /**
79
- * @param {?} proto
80
- * @return {?}
81
- */
82
- function (proto) {
83
- /** @type {?} */
84
- var m = new BusinessData();
85
- m = Object.assign(m, proto);
86
- if (proto.address) {
87
- m.address = Address.fromProto(proto.address);
88
- }
89
- return m;
90
- };
91
- /**
92
- * @return {?}
93
- */
94
- BusinessData.prototype.toApiJson = /**
95
- * @return {?}
96
- */
97
- function () {
98
- /** @type {?} */
99
- var toReturn = {};
100
- if (typeof this.address !== 'undefined' && this.address !== null) {
101
- toReturn['address'] = 'toApiJson' in this.address ? ((/** @type {?} */ (this.address))).toApiJson() : this.address;
102
- }
103
- if (typeof this.businessCategory !== 'undefined') {
104
- toReturn['businessCategory'] = this.businessCategory;
105
- }
106
- if (typeof this.phoneNumber !== 'undefined') {
107
- toReturn['phoneNumber'] = this.phoneNumber;
108
- }
109
- if (typeof this.websiteUrl !== 'undefined') {
110
- toReturn['websiteUrl'] = this.websiteUrl;
111
- }
112
- if (typeof this.facebookUrl !== 'undefined') {
113
- toReturn['facebookUrl'] = this.facebookUrl;
114
- }
115
- if (typeof this.twitterUrl !== 'undefined') {
116
- toReturn['twitterUrl'] = this.twitterUrl;
117
- }
118
- return toReturn;
119
- };
120
- return BusinessData;
121
- }());
122
- export { BusinessData };
123
- if (false) {
124
- /** @type {?} */
125
- BusinessData.prototype.address;
126
- /** @type {?} */
127
- BusinessData.prototype.businessCategory;
128
- /** @type {?} */
129
- BusinessData.prototype.phoneNumber;
130
- /** @type {?} */
131
- BusinessData.prototype.websiteUrl;
132
- /** @type {?} */
133
- BusinessData.prototype.facebookUrl;
134
- /** @type {?} */
135
- BusinessData.prototype.twitterUrl;
136
- }
137
- var Contact = /** @class */ (function () {
138
- function Contact(kwargs) {
139
- if (!kwargs) {
140
- return;
141
- }
142
- Object.assign(this, kwargs);
143
- }
144
- /**
145
- * @param {?} proto
146
- * @return {?}
147
- */
148
- Contact.fromProto = /**
149
- * @param {?} proto
150
- * @return {?}
151
- */
152
- function (proto) {
153
- /** @type {?} */
154
- var m = new Contact();
155
- m = Object.assign(m, proto);
156
- return m;
157
- };
158
- /**
159
- * @return {?}
160
- */
161
- Contact.prototype.toApiJson = /**
162
- * @return {?}
163
- */
164
- function () {
165
- /** @type {?} */
166
- var toReturn = {};
167
- if (typeof this.firstName !== 'undefined') {
168
- toReturn['firstName'] = this.firstName;
169
- }
170
- if (typeof this.lastName !== 'undefined') {
171
- toReturn['lastName'] = this.lastName;
172
- }
173
- return toReturn;
174
- };
175
- return Contact;
176
- }());
177
- export { Contact };
178
- if (false) {
179
- /** @type {?} */
180
- Contact.prototype.firstName;
181
- /** @type {?} */
182
- Contact.prototype.lastName;
183
- }
184
- var GetCreatePasswordUrlRequest = /** @class */ (function () {
185
- function GetCreatePasswordUrlRequest(kwargs) {
186
- if (!kwargs) {
187
- return;
188
- }
189
- Object.assign(this, kwargs);
190
- }
191
- /**
192
- * @param {?} proto
193
- * @return {?}
194
- */
195
- GetCreatePasswordUrlRequest.fromProto = /**
196
- * @param {?} proto
197
- * @return {?}
198
- */
199
- function (proto) {
200
- /** @type {?} */
201
- var m = new GetCreatePasswordUrlRequest();
202
- m = Object.assign(m, proto);
203
- return m;
204
- };
205
- /**
206
- * @return {?}
207
- */
208
- GetCreatePasswordUrlRequest.prototype.toApiJson = /**
209
- * @return {?}
210
- */
211
- function () {
212
- /** @type {?} */
213
- var toReturn = {};
214
- if (typeof this.userId !== 'undefined') {
215
- toReturn['userId'] = this.userId;
216
- }
217
- if (typeof this.partnerId !== 'undefined') {
218
- toReturn['partnerId'] = this.partnerId;
219
- }
220
- return toReturn;
221
- };
222
- return GetCreatePasswordUrlRequest;
223
- }());
224
- export { GetCreatePasswordUrlRequest };
225
- if (false) {
226
- /** @type {?} */
227
- GetCreatePasswordUrlRequest.prototype.userId;
228
- /** @type {?} */
229
- GetCreatePasswordUrlRequest.prototype.partnerId;
230
- }
231
- var GetCreatePasswordUrlResponse = /** @class */ (function () {
232
- function GetCreatePasswordUrlResponse(kwargs) {
233
- if (!kwargs) {
234
- return;
235
- }
236
- Object.assign(this, kwargs);
237
- }
238
- /**
239
- * @param {?} proto
240
- * @return {?}
241
- */
242
- GetCreatePasswordUrlResponse.fromProto = /**
243
- * @param {?} proto
244
- * @return {?}
245
- */
246
- function (proto) {
247
- /** @type {?} */
248
- var m = new GetCreatePasswordUrlResponse();
249
- m = Object.assign(m, proto);
250
- return m;
251
- };
252
- /**
253
- * @return {?}
254
- */
255
- GetCreatePasswordUrlResponse.prototype.toApiJson = /**
256
- * @return {?}
257
- */
258
- function () {
259
- /** @type {?} */
260
- var toReturn = {};
261
- if (typeof this.url !== 'undefined') {
262
- toReturn['url'] = this.url;
263
- }
264
- return toReturn;
265
- };
266
- return GetCreatePasswordUrlResponse;
267
- }());
268
- export { GetCreatePasswordUrlResponse };
269
- if (false) {
270
- /** @type {?} */
271
- GetCreatePasswordUrlResponse.prototype.url;
272
- }
273
- var GetTrackerRequest = /** @class */ (function () {
274
- function GetTrackerRequest(kwargs) {
275
- if (!kwargs) {
276
- return;
277
- }
278
- Object.assign(this, kwargs);
279
- }
280
- /**
281
- * @param {?} proto
282
- * @return {?}
283
- */
284
- GetTrackerRequest.fromProto = /**
285
- * @param {?} proto
286
- * @return {?}
287
- */
288
- function (proto) {
289
- /** @type {?} */
290
- var m = new GetTrackerRequest();
291
- m = Object.assign(m, proto);
292
- return m;
293
- };
294
- /**
295
- * @return {?}
296
- */
297
- GetTrackerRequest.prototype.toApiJson = /**
298
- * @return {?}
299
- */
300
- function () {
301
- /** @type {?} */
302
- var toReturn = {};
303
- if (typeof this.partnerId !== 'undefined') {
304
- toReturn['partnerId'] = this.partnerId;
305
- }
306
- if (typeof this.userId !== 'undefined') {
307
- toReturn['userId'] = this.userId;
308
- }
309
- return toReturn;
310
- };
311
- return GetTrackerRequest;
312
- }());
313
- export { GetTrackerRequest };
314
- if (false) {
315
- /** @type {?} */
316
- GetTrackerRequest.prototype.partnerId;
317
- /** @type {?} */
318
- GetTrackerRequest.prototype.userId;
319
- }
320
- var GetTrackerResponse = /** @class */ (function () {
321
- function GetTrackerResponse(kwargs) {
322
- if (!kwargs) {
323
- return;
324
- }
325
- Object.assign(this, kwargs);
326
- }
327
- /**
328
- * @param {?} proto
329
- * @return {?}
330
- */
331
- GetTrackerResponse.fromProto = /**
332
- * @param {?} proto
333
- * @return {?}
334
- */
335
- function (proto) {
336
- /** @type {?} */
337
- var m = new GetTrackerResponse();
338
- m = Object.assign(m, proto);
339
- if (proto.trackers) {
340
- m.trackers = Trackers.fromProto(proto.trackers);
341
- }
342
- return m;
343
- };
344
- /**
345
- * @return {?}
346
- */
347
- GetTrackerResponse.prototype.toApiJson = /**
348
- * @return {?}
349
- */
350
- function () {
351
- /** @type {?} */
352
- var toReturn = {};
353
- if (typeof this.trackers !== 'undefined' && this.trackers !== null) {
354
- toReturn['trackers'] = 'toApiJson' in this.trackers ? ((/** @type {?} */ (this.trackers))).toApiJson() : this.trackers;
355
- }
356
- return toReturn;
357
- };
358
- return GetTrackerResponse;
359
- }());
360
- export { GetTrackerResponse };
361
- if (false) {
362
- /** @type {?} */
363
- GetTrackerResponse.prototype.trackers;
364
- }
365
- var RegisterRequest = /** @class */ (function () {
366
- function RegisterRequest(kwargs) {
367
- if (!kwargs) {
368
- return;
369
- }
370
- Object.assign(this, kwargs);
371
- }
372
- /**
373
- * @param {?} proto
374
- * @return {?}
375
- */
376
- RegisterRequest.fromProto = /**
377
- * @param {?} proto
378
- * @return {?}
379
- */
380
- function (proto) {
381
- /** @type {?} */
382
- var m = new RegisterRequest();
383
- m = Object.assign(m, proto);
384
- if (proto.businessData) {
385
- m.businessData = BusinessData.fromProto(proto.businessData);
386
- }
387
- if (proto.contact) {
388
- m.contact = Contact.fromProto(proto.contact);
389
- }
390
- return m;
391
- };
392
- /**
393
- * @return {?}
394
- */
395
- RegisterRequest.prototype.toApiJson = /**
396
- * @return {?}
397
- */
398
- function () {
399
- /** @type {?} */
400
- var toReturn = {};
401
- if (typeof this.businessData !== 'undefined' && this.businessData !== null) {
402
- toReturn['businessData'] = 'toApiJson' in this.businessData ? ((/** @type {?} */ (this.businessData))).toApiJson() : this.businessData;
403
- }
404
- if (typeof this.contact !== 'undefined' && this.contact !== null) {
405
- toReturn['contact'] = 'toApiJson' in this.contact ? ((/** @type {?} */ (this.contact))).toApiJson() : this.contact;
406
- }
407
- if (typeof this.businessName !== 'undefined') {
408
- toReturn['businessName'] = this.businessName;
409
- }
410
- if (typeof this.partnerId !== 'undefined') {
411
- toReturn['partnerId'] = this.partnerId;
412
- }
413
- if (typeof this.marketId !== 'undefined') {
414
- toReturn['marketId'] = this.marketId;
415
- }
416
- if (typeof this.email !== 'undefined') {
417
- toReturn['email'] = this.email;
418
- }
419
- if (typeof this.placeId !== 'undefined') {
420
- toReturn['placeId'] = this.placeId;
421
- }
422
- if (typeof this.salesPersonId !== 'undefined') {
423
- toReturn['salesPersonId'] = this.salesPersonId;
424
- }
425
- if (typeof this.recaptcha !== 'undefined') {
426
- toReturn['recaptcha'] = this.recaptcha;
427
- }
428
- return toReturn;
429
- };
430
- return RegisterRequest;
431
- }());
432
- export { RegisterRequest };
433
- if (false) {
434
- /** @type {?} */
435
- RegisterRequest.prototype.businessData;
436
- /** @type {?} */
437
- RegisterRequest.prototype.contact;
438
- /** @type {?} */
439
- RegisterRequest.prototype.businessName;
440
- /** @type {?} */
441
- RegisterRequest.prototype.partnerId;
442
- /** @type {?} */
443
- RegisterRequest.prototype.marketId;
444
- /** @type {?} */
445
- RegisterRequest.prototype.email;
446
- /** @type {?} */
447
- RegisterRequest.prototype.placeId;
448
- /** @type {?} */
449
- RegisterRequest.prototype.salesPersonId;
450
- /** @type {?} */
451
- RegisterRequest.prototype.recaptcha;
452
- }
453
- var RegisterResponse = /** @class */ (function () {
454
- function RegisterResponse(kwargs) {
455
- if (!kwargs) {
456
- return;
457
- }
458
- Object.assign(this, kwargs);
459
- }
460
- /**
461
- * @param {?} proto
462
- * @return {?}
463
- */
464
- RegisterResponse.fromProto = /**
465
- * @param {?} proto
466
- * @return {?}
467
- */
468
- function (proto) {
469
- /** @type {?} */
470
- var m = new RegisterResponse();
471
- m = Object.assign(m, proto);
472
- return m;
473
- };
474
- /**
475
- * @return {?}
476
- */
477
- RegisterResponse.prototype.toApiJson = /**
478
- * @return {?}
479
- */
480
- function () {
481
- /** @type {?} */
482
- var toReturn = {};
483
- if (typeof this.businessId !== 'undefined') {
484
- toReturn['businessId'] = this.businessId;
485
- }
486
- if (typeof this.userId !== 'undefined') {
487
- toReturn['userId'] = this.userId;
488
- }
489
- return toReturn;
490
- };
491
- return RegisterResponse;
492
- }());
493
- export { RegisterResponse };
494
- if (false) {
495
- /** @type {?} */
496
- RegisterResponse.prototype.businessId;
497
- /** @type {?} */
498
- RegisterResponse.prototype.userId;
499
- }
500
- var SendWelcomeEmailRequest = /** @class */ (function () {
501
- function SendWelcomeEmailRequest(kwargs) {
502
- if (!kwargs) {
503
- return;
504
- }
505
- Object.assign(this, kwargs);
506
- }
507
- /**
508
- * @param {?} proto
509
- * @return {?}
510
- */
511
- SendWelcomeEmailRequest.fromProto = /**
512
- * @param {?} proto
513
- * @return {?}
514
- */
515
- function (proto) {
516
- /** @type {?} */
517
- var m = new SendWelcomeEmailRequest();
518
- m = Object.assign(m, proto);
519
- return m;
520
- };
521
- /**
522
- * @return {?}
523
- */
524
- SendWelcomeEmailRequest.prototype.toApiJson = /**
525
- * @return {?}
526
- */
527
- function () {
528
- /** @type {?} */
529
- var toReturn = {};
530
- if (typeof this.partnerId !== 'undefined') {
531
- toReturn['partnerId'] = this.partnerId;
532
- }
533
- if (typeof this.userId !== 'undefined') {
534
- toReturn['userId'] = this.userId;
535
- }
536
- if (typeof this.loginUrl !== 'undefined') {
537
- toReturn['loginUrl'] = this.loginUrl;
538
- }
539
- return toReturn;
540
- };
541
- return SendWelcomeEmailRequest;
542
- }());
543
- export { SendWelcomeEmailRequest };
544
- if (false) {
545
- /** @type {?} */
546
- SendWelcomeEmailRequest.prototype.partnerId;
547
- /** @type {?} */
548
- SendWelcomeEmailRequest.prototype.userId;
549
- /** @type {?} */
550
- SendWelcomeEmailRequest.prototype.loginUrl;
551
- }
552
- var SetTrackerRequest = /** @class */ (function () {
553
- function SetTrackerRequest(kwargs) {
554
- if (!kwargs) {
555
- return;
556
- }
557
- Object.assign(this, kwargs);
558
- }
559
- /**
560
- * @param {?} proto
561
- * @return {?}
562
- */
563
- SetTrackerRequest.fromProto = /**
564
- * @param {?} proto
565
- * @return {?}
566
- */
567
- function (proto) {
568
- /** @type {?} */
569
- var m = new SetTrackerRequest();
570
- m = Object.assign(m, proto);
571
- return m;
572
- };
573
- /**
574
- * @return {?}
575
- */
576
- SetTrackerRequest.prototype.toApiJson = /**
577
- * @return {?}
578
- */
579
- function () {
580
- /** @type {?} */
581
- var toReturn = {};
582
- if (typeof this.partnerId !== 'undefined') {
583
- toReturn['partnerId'] = this.partnerId;
584
- }
585
- if (typeof this.userId !== 'undefined') {
586
- toReturn['userId'] = this.userId;
587
- }
588
- if (typeof this.tracker !== 'undefined') {
589
- toReturn['tracker'] = this.tracker;
590
- }
591
- return toReturn;
592
- };
593
- return SetTrackerRequest;
594
- }());
595
- export { SetTrackerRequest };
596
- if (false) {
597
- /** @type {?} */
598
- SetTrackerRequest.prototype.partnerId;
599
- /** @type {?} */
600
- SetTrackerRequest.prototype.userId;
601
- /** @type {?} */
602
- SetTrackerRequest.prototype.tracker;
603
- }
604
- var SetTrackerResponse = /** @class */ (function () {
605
- function SetTrackerResponse(kwargs) {
606
- if (!kwargs) {
607
- return;
608
- }
609
- Object.assign(this, kwargs);
610
- }
611
- /**
612
- * @param {?} proto
613
- * @return {?}
614
- */
615
- SetTrackerResponse.fromProto = /**
616
- * @param {?} proto
617
- * @return {?}
618
- */
619
- function (proto) {
620
- /** @type {?} */
621
- var m = new SetTrackerResponse();
622
- m = Object.assign(m, proto);
623
- return m;
624
- };
625
- /**
626
- * @return {?}
627
- */
628
- SetTrackerResponse.prototype.toApiJson = /**
629
- * @return {?}
630
- */
631
- function () {
632
- /** @type {?} */
633
- var toReturn = {};
634
- if (typeof this.success !== 'undefined') {
635
- toReturn['success'] = this.success;
636
- }
637
- return toReturn;
638
- };
639
- return SetTrackerResponse;
640
- }());
641
- export { SetTrackerResponse };
642
- if (false) {
643
- /** @type {?} */
644
- SetTrackerResponse.prototype.success;
645
- }
646
- var Trackers = /** @class */ (function () {
647
- function Trackers(kwargs) {
648
- if (!kwargs) {
649
- return;
650
- }
651
- Object.assign(this, kwargs);
652
- }
653
- /**
654
- * @param {?} proto
655
- * @return {?}
656
- */
657
- Trackers.fromProto = /**
658
- * @param {?} proto
659
- * @return {?}
660
- */
661
- function (proto) {
662
- /** @type {?} */
663
- var m = new Trackers();
664
- m = Object.assign(m, proto);
665
- return m;
666
- };
667
- /**
668
- * @return {?}
669
- */
670
- Trackers.prototype.toApiJson = /**
671
- * @return {?}
672
- */
673
- function () {
674
- /** @type {?} */
675
- var toReturn = {};
676
- if (typeof this.welcomeVideo !== 'undefined') {
677
- toReturn['welcomeVideo'] = this.welcomeVideo;
678
- }
679
- if (typeof this.academy !== 'undefined') {
680
- toReturn['academy'] = this.academy;
681
- }
682
- return toReturn;
683
- };
684
- return Trackers;
685
- }());
686
- export { Trackers };
687
- if (false) {
688
- /** @type {?} */
689
- Trackers.prototype.welcomeVideo;
690
- /** @type {?} */
691
- Trackers.prototype.academy;
692
- }
693
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHZlbmRhc3RhL2J1c2luZXNzLWNlbnRlci8iLCJzb3VyY2VzIjpbImxpYi9faW50ZXJuYWwvb2JqZWN0cy9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQVNBO0lBYUksaUJBQVksTUFBMkI7UUFDbkMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Ozs7O0lBWE0saUJBQVM7Ozs7SUFBaEIsVUFBaUIsS0FBVTs7WUFDbkIsQ0FBQyxHQUFHLElBQUksT0FBTyxFQUFFO1FBQ3JCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7Ozs7SUFTRCwyQkFBUzs7O0lBQVQ7O1lBQ1UsUUFBUSxHQUVWLEVBQUU7UUFFTixJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUFDO1FBQzlFLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQUM7UUFDckUsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FBQztRQUN4RSxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUFDO1FBQzlFLElBQUksT0FBTyxJQUFJLENBQUMs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QUNVLFFBQVEsR0FFVixFQUFFO1FBRU4sSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FBQztRQUM5RSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBQ0wseUJBQUM7QUFBRCxDQUFDLEFBeEJELElBd0JDOzs7O0lBdkJHLHFDQUFpQjs7QUF5QnJCO0lBVUksa0JBQVksTUFBNEI7UUFDcEMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Ozs7O0lBWE0sa0JBQVM7Ozs7SUFBaEIsVUFBaUIsS0FBVTs7WUFDbkIsQ0FBQyxHQUFHLElBQUksUUFBUSxFQUFFO1FBQ3RCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7Ozs7SUFTRCw0QkFBUzs7O0lBQVQ7O1lBQ1UsUUFBUSxHQUVWLEVBQUU7UUFFTixJQUFJLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUFDO1FBQzdGLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQUM7UUFDOUUsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUNMLGVBQUM7QUFBRCxDQUFDLEFBMUJELElBMEJDOzs7O0lBekJHLGdDQUFzQjs7SUFDdEIsMkJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgKiBhcyBpIGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzIGltcGxlbWVudHMgaS5BZGRyZXNzSW50ZXJmYWNlIHtcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgY2l0eTogc3RyaW5nO1xuICAgIHN0YXRlOiBzdHJpbmc7XG4gICAgY291bnRyeTogc3RyaW5nO1xuICAgIHBvc3RhbENvZGU6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEFkZHJlc3Mge1xuICAgICAgICBsZXQgbSA9IG5ldyBBZGRyZXNzKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5BZGRyZXNzSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWRkcmVzcyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYWRkcmVzcyddID0gdGhpcy5hZGRyZXNzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNpdHkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NpdHknXSA9IHRoaXMuY2l0eTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdGF0ZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc3RhdGUnXSA9IHRoaXMuc3RhdGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY291bnRyeSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY291bnRyeSddID0gdGhpcy5jb3VudHJ5O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc3RhbENvZGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3Bvc3RhbENvZGUnXSA9IHRoaXMucG9zdGFsQ29kZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBCdXNpbmVzc0RhdGEgaW1wbGVtZW50cyBpLkJ1c2luZXNzRGF0YUludGVyZmFjZSB7XG4gICAgYWRkcmVzczogQWRkcmVzcztcbiAgICBidXNpbmVzc0NhdGVnb3J5OiBzdHJpbmc7XG4gICAgcGhvbmVOdW1iZXI6IHN0cmluZztcbiAgICB3ZWJzaXRlVXJsOiBzdHJpbmc7XG4gICAgZmFjZWJvb2tVcmw6IHN0cmluZztcbiAgICB0d2l0dGVyVXJsOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBCdXNpbmVzc0RhdGEge1xuICAgICAgICBsZXQgbSA9IG5ldyBCdXNpbmVzc0RhdGEoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uYWRkcmVzcykge20uYWRkcmVzcyA9IEFkZHJlc3MuZnJvbVByb3RvKHByb3RvLmFkZHJlc3MpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5CdXNpbmVzc0RhdGFJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hZGRyZXNzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmFkZHJlc3MgIT09IG51bGwpIHt0b1JldHVyblsnYWRkcmVzcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5hZGRyZXNzID8gKHRoaXMuYWRkcmVzcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hZGRyZXNzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmJ1c2luZXNzQ2F0ZWdvcnkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2J1c2luZXNzQ2F0ZWdvcnknXSA9IHRoaXMuYnVzaW5lc3NDYXRlZ29yeTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5waG9uZU51bWJlciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGhvbmVOdW1iZXInXSA9IHRoaXMucGhvbmVOdW1iZXI7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMud2Vic2l0ZVVybCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnd2Vic2l0ZVVybCddID0gdGhpcy53ZWJzaXRlVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZhY2Vib29rVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydmYWNlYm9va1VybCddID0gdGhpcy5mYWNlYm9va1VybDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50d2l0dGVyVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0d2l0dGVyVXJsJ10gPSB0aGlzLnR3aXR0ZXJVcmw7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29udGFjdCBpbXBsZW1lbnRzIGkuQ29udGFjdEludGVyZmFjZSB7XG4gICAgZmlyc3ROYW1lOiBzdHJpbmc7XG4gICAgbGFzdE5hbWU6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENvbnRhY3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBDb250YWN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Db250YWN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmlyc3ROYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydmaXJzdE5hbWUnXSA9IHRoaXMuZmlyc3ROYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmxhc3ROYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydsYXN0TmFtZSddID0gdGhpcy5sYXN0TmFtZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBHZXRDcmVhdGVQYXNzd29yZFVybFJlcXVlc3QgaW1wbGVtZW50cyBpLkdldENyZWF0ZVBhc3N3b3JkVXJsUmVxdWVzdEludGVyZmFjZSB7XG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgcGFydG5lcklkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBHZXRDcmVhdGVQYXNzd29yZFVybFJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBHZXRDcmVhdGVQYXNzd29yZFVybFJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkdldENyZWF0ZVBhc3N3b3JkVXJsUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVzZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndXNlcklkJ10gPSB0aGlzLnVzZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYXJ0bmVySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3BhcnRuZXJJZCddID0gdGhpcy5wYXJ0bmVySWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgR2V0Q3JlYXRlUGFzc3dvcmRVcmxSZXNwb25zZSBpbXBsZW1lbnRzIGkuR2V0Q3JlYXRlUGFzc3dvcmRVcmxSZXNwb25zZUludGVyZmFjZSB7XG4gICAgdXJsOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBHZXRDcmVhdGVQYXNzd29yZFVybFJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgR2V0Q3JlYXRlUGFzc3dvcmRVcmxSZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR2V0Q3JlYXRlUGFzc3dvcmRVcmxSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVybCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndXJsJ10gPSB0aGlzLnVybDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBHZXRUcmFja2VyUmVxdWVzdCBpbXBsZW1lbnRzIGkuR2V0VHJhY2tlclJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHBhcnRuZXJJZDogc3RyaW5nO1xuICAgIHVzZXJJZDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogR2V0VHJhY2tlclJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBHZXRUcmFja2VyUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR2V0VHJhY2tlclJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYXJ0bmVySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3BhcnRuZXJJZCddID0gdGhpcy5wYXJ0bmVySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXNlcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1c2VySWQnXSA9IHRoaXMudXNlcklkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdldFRyYWNrZXJSZXNwb25zZSBpbXBsZW1lbnRzIGkuR2V0VHJhY2tlclJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB0cmFja2VyczogVHJhY2tlcnM7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBHZXRUcmFja2VyUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBHZXRUcmFja2VyUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udHJhY2tlcnMpIHttLnRyYWNrZXJzID0gVHJhY2tlcnMuZnJvbVByb3RvKHByb3RvLnRyYWNrZXJzKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR2V0VHJhY2tlclJlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudHJhY2tlcnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudHJhY2tlcnMgIT09IG51bGwpIHt0b1JldHVyblsndHJhY2tlcnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudHJhY2tlcnMgPyAodGhpcy50cmFja2VycyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy50cmFja2Vyczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZWdpc3RlclJlcXVlc3QgaW1wbGVtZW50cyBpLlJlZ2lzdGVyUmVxdWVzdEludGVyZmFjZSB7XG4gICAgYnVzaW5lc3NEYXRhOiBCdXNpbmVzc0RhdGE7XG4gICAgY29udGFjdDogQ29udGFjdDtcbiAgICBidXNpbmVzc05hbWU6IHN0cmluZztcbiAgICBwYXJ0bmVySWQ6IHN0cmluZztcbiAgICBtYXJrZXRJZDogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgcGxhY2VJZDogc3RyaW5nO1xuICAgIHNhbGVzUGVyc29uSWQ6IHN0cmluZztcbiAgICByZWNhcHRjaGE6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFJlZ2lzdGVyUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFJlZ2lzdGVyUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5idXNpbmVzc0RhdGEpIHttLmJ1c2luZXNzRGF0YSA9IEJ1c2luZXNzRGF0YS5mcm9tUHJvdG8ocHJvdG8uYnVzaW5lc3NEYXRhKTt9XG4gICAgICAgIGlmIChwcm90by5jb250YWN0KSB7bS5jb250YWN0ID0gQ29udGFjdC5mcm9tUHJvdG8ocHJvdG8uY29udGFjdCk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlJlZ2lzdGVyUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmJ1c2luZXNzRGF0YSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5idXNpbmVzc0RhdGEgIT09IG51bGwpIHt0b1JldHVyblsnYnVzaW5lc3NEYXRhJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmJ1c2luZXNzRGF0YSA/ICh0aGlzLmJ1c2luZXNzRGF0YSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5idXNpbmVzc0RhdGE7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29udGFjdCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jb250YWN0ICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NvbnRhY3QnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY29udGFjdCA/ICh0aGlzLmNvbnRhY3QgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY29udGFjdDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5idXNpbmVzc05hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2J1c2luZXNzTmFtZSddID0gdGhpcy5idXNpbmVzc05hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFydG5lcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXJ0bmVySWQnXSA9IHRoaXMucGFydG5lcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1hcmtldElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtYXJrZXRJZCddID0gdGhpcy5tYXJrZXRJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5lbWFpbCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZW1haWwnXSA9IHRoaXMuZW1haWw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGxhY2VJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGxhY2VJZCddID0gdGhpcy5wbGFjZUlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNhbGVzUGVyc29uSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NhbGVzUGVyc29uSWQnXSA9IHRoaXMuc2FsZXNQZXJzb25JZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZWNhcHRjaGEgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3JlY2FwdGNoYSddID0gdGhpcy5yZWNhcHRjaGE7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJSZXNwb25zZSBpbXBsZW1lbnRzIGkuUmVnaXN0ZXJSZXNwb25zZUludGVyZmFjZSB7XG4gICAgYnVzaW5lc3NJZDogc3RyaW5nO1xuICAgIHVzZXJJZDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUmVnaXN0ZXJSZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFJlZ2lzdGVyUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlJlZ2lzdGVyUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5idXNpbmVzc0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydidXNpbmVzc0lkJ10gPSB0aGlzLmJ1c2luZXNzSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXNlcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1c2VySWQnXSA9IHRoaXMudXNlcklkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNlbmRXZWxjb21lRW1haWxSZXF1ZXN0IGltcGxlbWVudHMgaS5TZW5kV2VsY29tZUVtYWlsUmVxdWVzdEludGVyZmFjZSB7XG4gICAgcGFydG5lcklkOiBzdHJpbmc7XG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgbG9naW5Vcmw6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFNlbmRXZWxjb21lRW1haWxSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU2VuZFdlbGNvbWVFbWFpbFJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlNlbmRXZWxjb21lRW1haWxSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFydG5lcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXJ0bmVySWQnXSA9IHRoaXMucGFydG5lcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVzZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndXNlcklkJ10gPSB0aGlzLnVzZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5sb2dpblVybCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbG9naW5VcmwnXSA9IHRoaXMubG9naW5Vcmw7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2V0VHJhY2tlclJlcXVlc3QgaW1wbGVtZW50cyBpLlNldFRyYWNrZXJSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBwYXJ0bmVySWQ6IHN0cmluZztcbiAgICB1c2VySWQ6IHN0cmluZztcbiAgICB0cmFja2VyOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBTZXRUcmFja2VyUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFNldFRyYWNrZXJSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5TZXRUcmFja2VyUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhcnRuZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFydG5lcklkJ10gPSB0aGlzLnBhcnRuZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51c2VySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VzZXJJZCddID0gdGhpcy51c2VySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudHJhY2tlciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndHJhY2tlciddID0gdGhpcy50cmFja2VyO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNldFRyYWNrZXJSZXNwb25zZSBpbXBsZW1lbnRzIGkuU2V0VHJhY2tlclJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBzdWNjZXNzOiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogU2V0VHJhY2tlclJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU2V0VHJhY2tlclJlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5TZXRUcmFja2VyUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdWNjZXNzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzdWNjZXNzJ10gPSB0aGlzLnN1Y2Nlc3M7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVHJhY2tlcnMgaW1wbGVtZW50cyBpLlRyYWNrZXJzSW50ZXJmYWNlIHtcbiAgICB3ZWxjb21lVmlkZW86IGJvb2xlYW47XG4gICAgYWNhZGVteTogYm9vbGVhbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRyYWNrZXJzIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgVHJhY2tlcnMoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRyYWNrZXJzSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMud2VsY29tZVZpZGVvICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd3ZWxjb21lVmlkZW8nXSA9IHRoaXMud2VsY29tZVZpZGVvO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFjYWRlbXkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FjYWRlbXknXSA9IHRoaXMuYWNhZGVteTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbiJdfQ==