@vendasta/social-posts 4.0.0 → 5.2.0

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 (141) hide show
  1. package/esm2020/lib/_generated/host.service.mjs +25 -0
  2. package/esm2020/lib/_internal/enums/index.mjs +9 -0
  3. package/esm2020/lib/_internal/enums/multilocation-post.enum.mjs +12 -0
  4. package/esm2020/lib/_internal/enums/social-posts.enum.mjs +39 -0
  5. package/esm2020/lib/_internal/hash-tags.api.service.mjs +49 -0
  6. package/esm2020/lib/_internal/index.mjs +17 -0
  7. package/esm2020/lib/_internal/interfaces/api.interface.mjs +2 -0
  8. package/esm2020/lib/_internal/interfaces/field-mask.interface.mjs +8 -0
  9. package/esm2020/lib/_internal/interfaces/hashtag.interface.mjs +8 -0
  10. package/esm2020/lib/_internal/interfaces/index.mjs +2 -0
  11. package/esm2020/lib/_internal/interfaces/multilocation-post.interface.mjs +8 -0
  12. package/esm2020/lib/_internal/interfaces/pixabay-image.interface.mjs +8 -0
  13. package/esm2020/lib/_internal/interfaces/post-templates.interface.mjs +8 -0
  14. package/esm2020/lib/_internal/interfaces/social-post-stats.interface.mjs +8 -0
  15. package/esm2020/lib/_internal/interfaces/social-posts.interface.mjs +8 -0
  16. package/esm2020/lib/_internal/interfaces/tenor-gif.interface.mjs +8 -0
  17. package/esm2020/lib/_internal/multilocation-post.api.service.mjs +64 -0
  18. package/esm2020/lib/_internal/objects/api.mjs +1354 -0
  19. package/esm2020/lib/_internal/objects/field-mask.mjs +27 -0
  20. package/esm2020/lib/_internal/objects/hashtag.mjs +39 -0
  21. package/esm2020/lib/_internal/objects/index.mjs +16 -0
  22. package/esm2020/lib/_internal/objects/multilocation-post.mjs +115 -0
  23. package/esm2020/lib/_internal/objects/pixabay-image.mjs +138 -0
  24. package/esm2020/lib/_internal/objects/post-templates.mjs +75 -0
  25. package/esm2020/lib/_internal/objects/social-post-stats.mjs +127 -0
  26. package/esm2020/lib/_internal/objects/social-posts.mjs +272 -0
  27. package/esm2020/lib/_internal/objects/tenor-gif.mjs +106 -0
  28. package/esm2020/lib/_internal/partner-social-posts.api.service.mjs +46 -0
  29. package/esm2020/lib/_internal/pixabay-images.api.service.mjs +41 -0
  30. package/esm2020/lib/_internal/post-templates.api.service.mjs +59 -0
  31. package/esm2020/lib/_internal/social-posts.api.service.mjs +70 -0
  32. package/esm2020/lib/_internal/tenor-gifs.api.service.mjs +46 -0
  33. package/esm2020/lib/hashtag.service.mjs +42 -0
  34. package/esm2020/lib/index.mjs +8 -0
  35. package/esm2020/lib/multilocation-posts.service.mjs +76 -0
  36. package/esm2020/lib/pixabay-image.service.mjs +23 -0
  37. package/esm2020/lib/post-templates.service.mjs +72 -0
  38. package/esm2020/lib/social-posts.service.mjs +43 -0
  39. package/esm2020/lib/tenor-gifs.service.mjs +34 -0
  40. package/esm2020/public_api.mjs +5 -0
  41. package/esm2020/vendasta-social-posts.mjs +5 -0
  42. package/fesm2015/vendasta-social-posts.mjs +2884 -0
  43. package/fesm2015/vendasta-social-posts.mjs.map +1 -0
  44. package/fesm2020/vendasta-social-posts.mjs +2883 -0
  45. package/fesm2020/vendasta-social-posts.mjs.map +1 -0
  46. package/lib/_generated/host.service.d.ts +5 -9
  47. package/lib/_internal/hash-tags.api.service.d.ts +18 -0
  48. package/lib/_internal/index.d.ts +3 -0
  49. package/lib/_internal/interfaces/api.interface.d.ts +51 -0
  50. package/lib/_internal/interfaces/hashtag.interface.d.ts +6 -0
  51. package/lib/_internal/interfaces/index.d.ts +4 -1
  52. package/lib/_internal/interfaces/pixabay-image.interface.d.ts +26 -0
  53. package/lib/_internal/interfaces/tenor-gif.interface.d.ts +20 -0
  54. package/lib/_internal/multilocation-post.api.service.d.ts +4 -0
  55. package/lib/_internal/objects/api.d.ts +81 -0
  56. package/lib/_internal/objects/hashtag.d.ts +11 -0
  57. package/lib/_internal/objects/index.d.ts +4 -1
  58. package/lib/_internal/objects/pixabay-image.d.ts +31 -0
  59. package/lib/_internal/objects/tenor-gif.d.ts +31 -0
  60. package/lib/_internal/partner-social-posts.api.service.d.ts +4 -0
  61. package/lib/_internal/pixabay-images.api.service.d.ts +16 -0
  62. package/lib/_internal/post-templates.api.service.d.ts +4 -0
  63. package/lib/_internal/social-posts.api.service.d.ts +4 -0
  64. package/lib/_internal/tenor-gifs.api.service.d.ts +17 -0
  65. package/lib/hashtag.service.d.ts +13 -0
  66. package/lib/index.d.ts +3 -0
  67. package/lib/multilocation-posts.service.d.ts +3 -0
  68. package/lib/pixabay-image.service.d.ts +11 -0
  69. package/lib/post-templates.service.d.ts +3 -0
  70. package/lib/social-posts.service.d.ts +3 -0
  71. package/lib/tenor-gifs.service.d.ts +12 -0
  72. package/package.json +24 -16
  73. package/src/README.md +1 -0
  74. package/vendasta-social-posts.d.ts +1 -4
  75. package/bundles/vendasta-social-posts.umd.js +0 -3709
  76. package/bundles/vendasta-social-posts.umd.js.map +0 -1
  77. package/bundles/vendasta-social-posts.umd.min.js +0 -2
  78. package/bundles/vendasta-social-posts.umd.min.js.map +0 -1
  79. package/esm2015/lib/_generated/host.service.js +0 -104
  80. package/esm2015/lib/_internal/enums/index.js +0 -13
  81. package/esm2015/lib/_internal/enums/multilocation-post.enum.js +0 -19
  82. package/esm2015/lib/_internal/enums/social-posts.enum.js +0 -67
  83. package/esm2015/lib/_internal/index.js +0 -18
  84. package/esm2015/lib/_internal/interfaces/api.interface.js +0 -447
  85. package/esm2015/lib/_internal/interfaces/field-mask.interface.js +0 -19
  86. package/esm2015/lib/_internal/interfaces/index.js +0 -5
  87. package/esm2015/lib/_internal/interfaces/multilocation-post.interface.js +0 -59
  88. package/esm2015/lib/_internal/interfaces/post-templates.interface.js +0 -45
  89. package/esm2015/lib/_internal/interfaces/social-post-stats.interface.js +0 -57
  90. package/esm2015/lib/_internal/interfaces/social-posts.interface.js +0 -127
  91. package/esm2015/lib/_internal/multilocation-post.api.service.js +0 -136
  92. package/esm2015/lib/_internal/objects/api.js +0 -1805
  93. package/esm2015/lib/_internal/objects/field-mask.js +0 -53
  94. package/esm2015/lib/_internal/objects/index.js +0 -17
  95. package/esm2015/lib/_internal/objects/multilocation-post.js +0 -197
  96. package/esm2015/lib/_internal/objects/post-templates.js +0 -127
  97. package/esm2015/lib/_internal/objects/social-post-stats.js +0 -207
  98. package/esm2015/lib/_internal/objects/social-posts.js +0 -446
  99. package/esm2015/lib/_internal/partner-social-posts.api.service.js +0 -90
  100. package/esm2015/lib/_internal/post-templates.api.service.js +0 -122
  101. package/esm2015/lib/_internal/social-posts.api.service.js +0 -155
  102. package/esm2015/lib/index.js +0 -9
  103. package/esm2015/lib/multilocation-posts.service.js +0 -145
  104. package/esm2015/lib/post-templates.service.js +0 -138
  105. package/esm2015/lib/social-posts.service.js +0 -85
  106. package/esm2015/public_api.js +0 -9
  107. package/esm2015/vendasta-social-posts.js +0 -13
  108. package/esm5/lib/_generated/host.service.js +0 -115
  109. package/esm5/lib/_internal/enums/index.js +0 -13
  110. package/esm5/lib/_internal/enums/multilocation-post.enum.js +0 -19
  111. package/esm5/lib/_internal/enums/social-posts.enum.js +0 -67
  112. package/esm5/lib/_internal/index.js +0 -18
  113. package/esm5/lib/_internal/interfaces/api.interface.js +0 -447
  114. package/esm5/lib/_internal/interfaces/field-mask.interface.js +0 -19
  115. package/esm5/lib/_internal/interfaces/index.js +0 -5
  116. package/esm5/lib/_internal/interfaces/multilocation-post.interface.js +0 -59
  117. package/esm5/lib/_internal/interfaces/post-templates.interface.js +0 -45
  118. package/esm5/lib/_internal/interfaces/social-post-stats.interface.js +0 -57
  119. package/esm5/lib/_internal/interfaces/social-posts.interface.js +0 -127
  120. package/esm5/lib/_internal/multilocation-post.api.service.js +0 -163
  121. package/esm5/lib/_internal/objects/api.js +0 -2015
  122. package/esm5/lib/_internal/objects/field-mask.js +0 -59
  123. package/esm5/lib/_internal/objects/index.js +0 -17
  124. package/esm5/lib/_internal/objects/multilocation-post.js +0 -215
  125. package/esm5/lib/_internal/objects/post-templates.js +0 -133
  126. package/esm5/lib/_internal/objects/social-post-stats.js +0 -225
  127. package/esm5/lib/_internal/objects/social-posts.js +0 -482
  128. package/esm5/lib/_internal/partner-social-posts.api.service.js +0 -100
  129. package/esm5/lib/_internal/post-templates.api.service.js +0 -145
  130. package/esm5/lib/_internal/social-posts.api.service.js +0 -186
  131. package/esm5/lib/index.js +0 -9
  132. package/esm5/lib/multilocation-posts.service.js +0 -191
  133. package/esm5/lib/post-templates.service.js +0 -182
  134. package/esm5/lib/social-posts.service.js +0 -106
  135. package/esm5/public_api.js +0 -9
  136. package/esm5/vendasta-social-posts.js +0 -13
  137. package/fesm2015/vendasta-social-posts.js +0 -3220
  138. package/fesm2015/vendasta-social-posts.js.map +0 -1
  139. package/fesm5/vendasta-social-posts.js +0 -3668
  140. package/fesm5/vendasta-social-posts.js.map +0 -1
  141. package/vendasta-social-posts.metadata.json +0 -1
@@ -1,225 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * @template E
7
- * @param {?} enumRef
8
- * @param {?} value
9
- * @return {?}
10
- */
11
- export function enumStringToValue(enumRef, value) {
12
- if (typeof value === 'number') {
13
- return value;
14
- }
15
- return enumRef[value];
16
- }
17
- var FacebookPostStats = /** @class */ (function () {
18
- function FacebookPostStats(kwargs) {
19
- if (!kwargs) {
20
- return;
21
- }
22
- Object.assign(this, kwargs);
23
- }
24
- /**
25
- * @param {?} proto
26
- * @return {?}
27
- */
28
- FacebookPostStats.fromProto = /**
29
- * @param {?} proto
30
- * @return {?}
31
- */
32
- function (proto) {
33
- /** @type {?} */
34
- var m = new FacebookPostStats();
35
- m = Object.assign(m, proto);
36
- if (proto.commentCount) {
37
- m.commentCount = parseInt(proto.commentCount, 10);
38
- }
39
- if (proto.shareCount) {
40
- m.shareCount = parseInt(proto.shareCount, 10);
41
- }
42
- if (proto.likeCount) {
43
- m.likeCount = parseInt(proto.likeCount, 10);
44
- }
45
- if (proto.reactions) {
46
- m.reactions = parseInt(proto.reactions, 10);
47
- }
48
- if (proto.peopleReached) {
49
- m.peopleReached = parseInt(proto.peopleReached, 10);
50
- }
51
- return m;
52
- };
53
- /**
54
- * @return {?}
55
- */
56
- FacebookPostStats.prototype.toApiJson = /**
57
- * @return {?}
58
- */
59
- function () {
60
- /** @type {?} */
61
- var toReturn = {};
62
- if (typeof this.commentCount !== 'undefined') {
63
- toReturn['commentCount'] = this.commentCount;
64
- }
65
- if (typeof this.shareCount !== 'undefined') {
66
- toReturn['shareCount'] = this.shareCount;
67
- }
68
- if (typeof this.likeCount !== 'undefined') {
69
- toReturn['likeCount'] = this.likeCount;
70
- }
71
- if (typeof this.hasLike !== 'undefined') {
72
- toReturn['hasLike'] = this.hasLike;
73
- }
74
- if (typeof this.canLike !== 'undefined') {
75
- toReturn['canLike'] = this.canLike;
76
- }
77
- if (typeof this.reactions !== 'undefined') {
78
- toReturn['reactions'] = this.reactions;
79
- }
80
- if (typeof this.peopleReached !== 'undefined') {
81
- toReturn['peopleReached'] = this.peopleReached;
82
- }
83
- return toReturn;
84
- };
85
- return FacebookPostStats;
86
- }());
87
- export { FacebookPostStats };
88
- if (false) {
89
- /** @type {?} */
90
- FacebookPostStats.prototype.commentCount;
91
- /** @type {?} */
92
- FacebookPostStats.prototype.shareCount;
93
- /** @type {?} */
94
- FacebookPostStats.prototype.likeCount;
95
- /** @type {?} */
96
- FacebookPostStats.prototype.hasLike;
97
- /** @type {?} */
98
- FacebookPostStats.prototype.canLike;
99
- /** @type {?} */
100
- FacebookPostStats.prototype.reactions;
101
- /** @type {?} */
102
- FacebookPostStats.prototype.peopleReached;
103
- }
104
- var SocialPostStats = /** @class */ (function () {
105
- function SocialPostStats(kwargs) {
106
- if (!kwargs) {
107
- return;
108
- }
109
- Object.assign(this, kwargs);
110
- }
111
- /**
112
- * @param {?} proto
113
- * @return {?}
114
- */
115
- SocialPostStats.fromProto = /**
116
- * @param {?} proto
117
- * @return {?}
118
- */
119
- function (proto) {
120
- /** @type {?} */
121
- var m = new SocialPostStats();
122
- m = Object.assign(m, proto);
123
- if (proto.facebookPostStats) {
124
- m.facebookPostStats = FacebookPostStats.fromProto(proto.facebookPostStats);
125
- }
126
- if (proto.twitterPostStats) {
127
- m.twitterPostStats = TwitterPostStats.fromProto(proto.twitterPostStats);
128
- }
129
- return m;
130
- };
131
- /**
132
- * @return {?}
133
- */
134
- SocialPostStats.prototype.toApiJson = /**
135
- * @return {?}
136
- */
137
- function () {
138
- /** @type {?} */
139
- var toReturn = {};
140
- if (typeof this.internalPostId !== 'undefined') {
141
- toReturn['internalPostId'] = this.internalPostId;
142
- }
143
- if (typeof this.facebookPostStats !== 'undefined' && this.facebookPostStats !== null) {
144
- toReturn['facebookPostStats'] = 'toApiJson' in this.facebookPostStats ? ((/** @type {?} */ (this.facebookPostStats))).toApiJson() : this.facebookPostStats;
145
- }
146
- if (typeof this.twitterPostStats !== 'undefined' && this.twitterPostStats !== null) {
147
- toReturn['twitterPostStats'] = 'toApiJson' in this.twitterPostStats ? ((/** @type {?} */ (this.twitterPostStats))).toApiJson() : this.twitterPostStats;
148
- }
149
- return toReturn;
150
- };
151
- return SocialPostStats;
152
- }());
153
- export { SocialPostStats };
154
- if (false) {
155
- /** @type {?} */
156
- SocialPostStats.prototype.internalPostId;
157
- /** @type {?} */
158
- SocialPostStats.prototype.facebookPostStats;
159
- /** @type {?} */
160
- SocialPostStats.prototype.twitterPostStats;
161
- }
162
- var TwitterPostStats = /** @class */ (function () {
163
- function TwitterPostStats(kwargs) {
164
- if (!kwargs) {
165
- return;
166
- }
167
- Object.assign(this, kwargs);
168
- }
169
- /**
170
- * @param {?} proto
171
- * @return {?}
172
- */
173
- TwitterPostStats.fromProto = /**
174
- * @param {?} proto
175
- * @return {?}
176
- */
177
- function (proto) {
178
- /** @type {?} */
179
- var m = new TwitterPostStats();
180
- m = Object.assign(m, proto);
181
- if (proto.favourites) {
182
- m.favourites = parseInt(proto.favourites, 10);
183
- }
184
- if (proto.retweets) {
185
- m.retweets = parseInt(proto.retweets, 10);
186
- }
187
- return m;
188
- };
189
- /**
190
- * @return {?}
191
- */
192
- TwitterPostStats.prototype.toApiJson = /**
193
- * @return {?}
194
- */
195
- function () {
196
- /** @type {?} */
197
- var toReturn = {};
198
- if (typeof this.favourites !== 'undefined') {
199
- toReturn['favourites'] = this.favourites;
200
- }
201
- if (typeof this.hasFavourited !== 'undefined') {
202
- toReturn['hasFavourited'] = this.hasFavourited;
203
- }
204
- if (typeof this.retweets !== 'undefined') {
205
- toReturn['retweets'] = this.retweets;
206
- }
207
- if (typeof this.hasRetweeted !== 'undefined') {
208
- toReturn['hasRetweeted'] = this.hasRetweeted;
209
- }
210
- return toReturn;
211
- };
212
- return TwitterPostStats;
213
- }());
214
- export { TwitterPostStats };
215
- if (false) {
216
- /** @type {?} */
217
- TwitterPostStats.prototype.favourites;
218
- /** @type {?} */
219
- TwitterPostStats.prototype.hasFavourited;
220
- /** @type {?} */
221
- TwitterPostStats.prototype.retweets;
222
- /** @type {?} */
223
- TwitterPostStats.prototype.hasRetweeted;
224
- }
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLXBvc3Qtc3RhdHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdmVuZGFzdGEvc29jaWFsLXBvc3RzLyIsInNvdXJjZXMiOlsibGliL19pbnRlcm5hbC9vYmplY3RzL3NvY2lhbC1wb3N0LXN0YXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFVQSxNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRDtJQW9CSSwyQkFBWSxNQUFxQztRQUM3QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7Ozs7SUFoQk0sMkJBQVM7Ozs7SUFBaEIsVUFBaUIsS0FBVTs7WUFDbkIsQ0FBQyxHQUFHLElBQUksaUJBQWlCLEVBQUU7UUFDL0IsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTtZQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FBQztRQUM1RSxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFBQyxDQUFDLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQUM7UUFDdEUsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUFD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VUFBVSxFQUFFO1lBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUFDO1FBQ3RFLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FBQztRQUNoRSxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7Ozs7SUFTRCxvQ0FBUzs7O0lBQVQ7O1lBQ1UsUUFBUSxHQUVWLEVBQUU7UUFFTixJQUFJLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUFDO1FBQ3ZGLElBQUksT0FBTyxJQUFJLENBQUMsYUFBYSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQUM7UUFDaEcsSUFBSSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7U0FBQztRQUNqRixJQUFJLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUFDO1FBQzdGLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFDTCx1QkFBQztBQUFELENBQUMsQUFoQ0QsSUFnQ0M7Ozs7SUEvQkcsc0NBQW1COztJQUNuQix5Q0FBdUI7O0lBQ3ZCLG9DQUFpQjs7SUFDakIsd0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgKiBhcyBpIGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgKiBhcyBlIGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1TdHJpbmdUb1ZhbHVlPEU+KGVudW1SZWY6IGFueSwgdmFsdWU6IHN0cmluZyk6IEUge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gZW51bVJlZlt2YWx1ZV07XG59XG5cbmV4cG9ydCBjbGFzcyBGYWNlYm9va1Bvc3RTdGF0cyBpbXBsZW1lbnRzIGkuRmFjZWJvb2tQb3N0U3RhdHNJbnRlcmZhY2Uge1xuICAgIGNvbW1lbnRDb3VudDogbnVtYmVyO1xuICAgIHNoYXJlQ291bnQ6IG51bWJlcjtcbiAgICBsaWtlQ291bnQ6IG51bWJlcjtcbiAgICBoYXNMaWtlOiBib29sZWFuO1xuICAgIGNhbkxpa2U6IGJvb2xlYW47XG4gICAgcmVhY3Rpb25zOiBudW1iZXI7XG4gICAgcGVvcGxlUmVhY2hlZDogbnVtYmVyO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRmFjZWJvb2tQb3N0U3RhdHMge1xuICAgICAgICBsZXQgbSA9IG5ldyBGYWNlYm9va1Bvc3RTdGF0cygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5jb21tZW50Q291bnQpIHttLmNvbW1lbnRDb3VudCA9IHBhcnNlSW50KHByb3RvLmNvbW1lbnRDb3VudCwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLnNoYXJlQ291bnQpIHttLnNoYXJlQ291bnQgPSBwYXJzZUludChwcm90by5zaGFyZUNvdW50LCAxMCk7fVxuICAgICAgICBpZiAocHJvdG8ubGlrZUNvdW50KSB7bS5saWtlQ291bnQgPSBwYXJzZUludChwcm90by5saWtlQ291bnQsIDEwKTt9XG4gICAgICAgIGlmIChwcm90by5yZWFjdGlvbnMpIHttLnJlYWN0aW9ucyA9IHBhcnNlSW50KHByb3RvLnJlYWN0aW9ucywgMTApO31cbiAgICAgICAgaWYgKHByb3RvLnBlb3BsZVJlYWNoZWQpIHttLnBlb3BsZVJlYWNoZWQgPSBwYXJzZUludChwcm90by5wZW9wbGVSZWFjaGVkLCAxMCk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkZhY2Vib29rUG9zdFN0YXRzSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29tbWVudENvdW50ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb21tZW50Q291bnQnXSA9IHRoaXMuY29tbWVudENvdW50O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNoYXJlQ291bnQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NoYXJlQ291bnQnXSA9IHRoaXMuc2hhcmVDb3VudDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5saWtlQ291bnQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2xpa2VDb3VudCddID0gdGhpcy5saWtlQ291bnQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaGFzTGlrZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaGFzTGlrZSddID0gdGhpcy5oYXNMaWtlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNhbkxpa2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Nhbkxpa2UnXSA9IHRoaXMuY2FuTGlrZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZWFjdGlvbnMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3JlYWN0aW9ucyddID0gdGhpcy5yZWFjdGlvbnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGVvcGxlUmVhY2hlZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGVvcGxlUmVhY2hlZCddID0gdGhpcy5wZW9wbGVSZWFjaGVkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNvY2lhbFBvc3RTdGF0cyBpbXBsZW1lbnRzIGkuU29jaWFsUG9zdFN0YXRzSW50ZXJmYWNlIHtcbiAgICBpbnRlcm5hbFBvc3RJZDogc3RyaW5nO1xuICAgIGZhY2Vib29rUG9zdFN0YXRzOiBGYWNlYm9va1Bvc3RTdGF0cztcbiAgICB0d2l0dGVyUG9zdFN0YXRzOiBUd2l0dGVyUG9zdFN0YXRzO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogU29jaWFsUG9zdFN0YXRzIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU29jaWFsUG9zdFN0YXRzKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmZhY2Vib29rUG9zdFN0YXRzKSB7bS5mYWNlYm9va1Bvc3RTdGF0cyA9IEZhY2Vib29rUG9zdFN0YXRzLmZyb21Qcm90byhwcm90by5mYWNlYm9va1Bvc3RTdGF0cyk7fVxuICAgICAgICBpZiAocHJvdG8udHdpdHRlclBvc3RTdGF0cykge20udHdpdHRlclBvc3RTdGF0cyA9IFR3aXR0ZXJQb3N0U3RhdHMuZnJvbVByb3RvKHByb3RvLnR3aXR0ZXJQb3N0U3RhdHMpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Tb2NpYWxQb3N0U3RhdHNJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pbnRlcm5hbFBvc3RJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaW50ZXJuYWxQb3N0SWQnXSA9IHRoaXMuaW50ZXJuYWxQb3N0SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmFjZWJvb2tQb3N0U3RhdHMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZmFjZWJvb2tQb3N0U3RhdHMgIT09IG51bGwpIHt0b1JldHVyblsnZmFjZWJvb2tQb3N0U3RhdHMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZmFjZWJvb2tQb3N0U3RhdHMgPyAodGhpcy5mYWNlYm9va1Bvc3RTdGF0cyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5mYWNlYm9va1Bvc3RTdGF0czt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50d2l0dGVyUG9zdFN0YXRzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnR3aXR0ZXJQb3N0U3RhdHMgIT09IG51bGwpIHt0b1JldHVyblsndHdpdHRlclBvc3RTdGF0cyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy50d2l0dGVyUG9zdFN0YXRzID8gKHRoaXMudHdpdHRlclBvc3RTdGF0cyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy50d2l0dGVyUG9zdFN0YXRzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFR3aXR0ZXJQb3N0U3RhdHMgaW1wbGVtZW50cyBpLlR3aXR0ZXJQb3N0U3RhdHNJbnRlcmZhY2Uge1xuICAgIGZhdm91cml0ZXM6IG51bWJlcjtcbiAgICBoYXNGYXZvdXJpdGVkOiBib29sZWFuO1xuICAgIHJldHdlZXRzOiBudW1iZXI7XG4gICAgaGFzUmV0d2VldGVkOiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVHdpdHRlclBvc3RTdGF0cyB7XG4gICAgICAgIGxldCBtID0gbmV3IFR3aXR0ZXJQb3N0U3RhdHMoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZmF2b3VyaXRlcykge20uZmF2b3VyaXRlcyA9IHBhcnNlSW50KHByb3RvLmZhdm91cml0ZXMsIDEwKTt9XG4gICAgICAgIGlmIChwcm90by5yZXR3ZWV0cykge20ucmV0d2VldHMgPSBwYXJzZUludChwcm90by5yZXR3ZWV0cywgMTApO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Ud2l0dGVyUG9zdFN0YXRzSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmF2b3VyaXRlcyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZmF2b3VyaXRlcyddID0gdGhpcy5mYXZvdXJpdGVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmhhc0Zhdm91cml0ZWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2hhc0Zhdm91cml0ZWQnXSA9IHRoaXMuaGFzRmF2b3VyaXRlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZXR3ZWV0cyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncmV0d2VldHMnXSA9IHRoaXMucmV0d2VldHM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaGFzUmV0d2VldGVkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydoYXNSZXR3ZWV0ZWQnXSA9IHRoaXMuaGFzUmV0d2VldGVkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19