@aerokit/sdk 12.80.0 → 12.82.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 (376) hide show
  1. package/dist/cjs/bpm/deployer.js +1 -1
  2. package/dist/cjs/bpm/index.js +1 -1
  3. package/dist/cjs/bpm/process.js +1 -1
  4. package/dist/cjs/bpm/tasks.js +1 -1
  5. package/dist/cjs/bpm/tracer.js +1 -1
  6. package/dist/cjs/bpm/values.js +1 -1
  7. package/dist/cjs/cache/cache.js +1 -1
  8. package/dist/cjs/cache/index.js +1 -1
  9. package/dist/cjs/cms/cmis.js +1 -1
  10. package/dist/cjs/cms/index.js +1 -1
  11. package/dist/cjs/component/decorators.js +1 -1
  12. package/dist/cjs/component/index.js +1 -1
  13. package/dist/cjs/core/configurations.js +1 -1
  14. package/dist/cjs/core/context.js +1 -1
  15. package/dist/cjs/core/env.js +1 -1
  16. package/dist/cjs/core/globals.js +1 -1
  17. package/dist/cjs/core/index.js +1 -1
  18. package/dist/cjs/db/dao.js +1 -1
  19. package/dist/cjs/db/database.js +1 -1
  20. package/dist/cjs/db/decorators.js +1 -1
  21. package/dist/cjs/db/index.js +1 -1
  22. package/dist/cjs/db/insert.js +1 -1
  23. package/dist/cjs/db/orm.js +1 -1
  24. package/dist/cjs/db/ormstatements.js +1 -1
  25. package/dist/cjs/db/procedure.js +1 -1
  26. package/dist/cjs/db/query.js +1 -1
  27. package/dist/cjs/db/repository.js +1 -1
  28. package/dist/cjs/db/sequence.js +1 -1
  29. package/dist/cjs/db/sql.js +1 -1
  30. package/dist/cjs/db/store.js +1 -1
  31. package/dist/cjs/db/translator.js +1 -1
  32. package/dist/cjs/db/update.js +1 -1
  33. package/dist/cjs/etcd/client.js +1 -1
  34. package/dist/cjs/etcd/index.js +1 -1
  35. package/dist/cjs/extensions/decorators.js +1 -1
  36. package/dist/cjs/extensions/extensions.js +1 -1
  37. package/dist/cjs/extensions/index.js +1 -1
  38. package/dist/cjs/git/client.js +1 -1
  39. package/dist/cjs/git/index.js +1 -1
  40. package/dist/cjs/http/client-async.js +1 -1
  41. package/dist/cjs/http/client.js +1 -1
  42. package/dist/cjs/http/decorators.js +1 -1
  43. package/dist/cjs/http/errors/ForbiddenError.js +1 -1
  44. package/dist/cjs/http/errors/ValidationError.js +1 -1
  45. package/dist/cjs/http/errors.js +1 -1
  46. package/dist/cjs/http/index.js +1 -1
  47. package/dist/cjs/http/request.js +1 -1
  48. package/dist/cjs/http/response.js +1 -1
  49. package/dist/cjs/http/rs/resource-http-controller.js +1 -1
  50. package/dist/cjs/http/rs/resource-mappings.js +1 -1
  51. package/dist/cjs/http/rs/resource-method.js +1 -1
  52. package/dist/cjs/http/rs/resource.js +1 -1
  53. package/dist/cjs/http/rs.js +1 -1
  54. package/dist/cjs/http/session.js +1 -1
  55. package/dist/cjs/http/upload.js +1 -1
  56. package/dist/cjs/http/utils.js +1 -1
  57. package/dist/cjs/indexing/index.js +1 -1
  58. package/dist/cjs/indexing/searcher.js +1 -1
  59. package/dist/cjs/indexing/writer.js +1 -1
  60. package/dist/cjs/integrations/index.js +1 -1
  61. package/dist/cjs/integrations/integrations.js +1 -1
  62. package/dist/cjs/io/bytes.js +1 -1
  63. package/dist/cjs/io/files.js +1 -1
  64. package/dist/cjs/io/image.js +1 -1
  65. package/dist/cjs/io/index.js +1 -1
  66. package/dist/cjs/io/streams.js +1 -1
  67. package/dist/cjs/io/zip.js +1 -1
  68. package/dist/cjs/job/decorators.js +1 -1
  69. package/dist/cjs/job/index.js +1 -1
  70. package/dist/cjs/job/scheduler.js +1 -1
  71. package/dist/cjs/junit/index.js +1 -1
  72. package/dist/cjs/junit/junit.js +1 -1
  73. package/dist/cjs/kafka/consumer.js +1 -1
  74. package/dist/cjs/kafka/index.js +1 -1
  75. package/dist/cjs/kafka/producer.js +1 -1
  76. package/dist/cjs/log/index.js +1 -1
  77. package/dist/cjs/log/logging.js +1 -1
  78. package/dist/cjs/mail/client.js +1 -1
  79. package/dist/cjs/mail/index.js +1 -1
  80. package/dist/cjs/messaging/consumer.js +1 -1
  81. package/dist/cjs/messaging/decorators.js +1 -1
  82. package/dist/cjs/messaging/index.js +1 -1
  83. package/dist/cjs/messaging/producer.js +1 -1
  84. package/dist/cjs/mongodb/client.js +1 -1
  85. package/dist/cjs/mongodb/dao.js +1 -1
  86. package/dist/cjs/mongodb/index.js +1 -1
  87. package/dist/cjs/net/decorators.js +1 -1
  88. package/dist/cjs/net/index.js +1 -1
  89. package/dist/cjs/net/soap.js +1 -1
  90. package/dist/cjs/net/websockets.js +1 -1
  91. package/dist/cjs/pdf/index.js +1 -1
  92. package/dist/cjs/pdf/pdf.js +3 -3
  93. package/dist/cjs/platform/command.js +1 -1
  94. package/dist/cjs/platform/engines.js +1 -1
  95. package/dist/cjs/platform/index.js +1 -1
  96. package/dist/cjs/platform/lifecycle.js +1 -1
  97. package/dist/cjs/platform/os.js +1 -1
  98. package/dist/cjs/platform/problems.js +1 -1
  99. package/dist/cjs/platform/registry.js +1 -1
  100. package/dist/cjs/platform/repository.js +1 -1
  101. package/dist/cjs/platform/workspace.js +1 -1
  102. package/dist/cjs/qldb/index.js +1 -1
  103. package/dist/cjs/qldb/qldb.js +1 -1
  104. package/dist/cjs/rabbitmq/consumer.js +1 -1
  105. package/dist/cjs/rabbitmq/index.js +1 -1
  106. package/dist/cjs/rabbitmq/producer.js +1 -1
  107. package/dist/cjs/redis/client.js +1 -1
  108. package/dist/cjs/redis/index.js +1 -1
  109. package/dist/cjs/security/decorators.js +1 -1
  110. package/dist/cjs/security/index.js +1 -1
  111. package/dist/cjs/security/oauth.js +1 -1
  112. package/dist/cjs/security/user.js +1 -1
  113. package/dist/cjs/template/engines.js +1 -1
  114. package/dist/cjs/template/index.js +1 -1
  115. package/dist/cjs/utils/alphanumeric.js +2 -2
  116. package/dist/cjs/utils/base64.js +1 -1
  117. package/dist/cjs/utils/converter.js +1 -1
  118. package/dist/cjs/utils/digest.js +1 -1
  119. package/dist/cjs/utils/escape.js +1 -1
  120. package/dist/cjs/utils/hex.js +1 -1
  121. package/dist/cjs/utils/index.js +1 -1
  122. package/dist/cjs/utils/jsonpath.js +1 -1
  123. package/dist/cjs/utils/qrcode.js +1 -1
  124. package/dist/cjs/utils/url.js +1 -1
  125. package/dist/cjs/utils/utf8.js +1 -1
  126. package/dist/cjs/utils/uuid.js +1 -1
  127. package/dist/cjs/utils/xml.js +1 -1
  128. package/dist/dts/bpm/deployer.d.ts +35 -3
  129. package/dist/dts/bpm/index.d.ts +14 -0
  130. package/dist/dts/bpm/process.d.ts +28 -3
  131. package/dist/dts/bpm/tasks.d.ts +32 -1
  132. package/dist/dts/bpm/tracer.d.ts +35 -0
  133. package/dist/dts/bpm/values.d.ts +17 -3
  134. package/dist/dts/cache/cache.d.ts +38 -0
  135. package/dist/dts/cache/index.d.ts +10 -0
  136. package/dist/dts/cms/cmis.d.ts +28 -3
  137. package/dist/dts/cms/index.d.ts +10 -0
  138. package/dist/dts/component/decorators.d.ts +35 -5
  139. package/dist/dts/component/index.d.ts +10 -0
  140. package/dist/dts/core/configurations.d.ts +43 -4
  141. package/dist/dts/core/context.d.ts +35 -2
  142. package/dist/dts/core/env.d.ts +29 -2
  143. package/dist/dts/core/globals.d.ts +34 -2
  144. package/dist/dts/core/index.d.ts +13 -0
  145. package/dist/dts/db/database.d.ts +34 -0
  146. package/dist/dts/db/decorators.d.ts +55 -2
  147. package/dist/dts/db/index.d.ts +19 -0
  148. package/dist/dts/db/orm.d.ts +43 -0
  149. package/dist/dts/db/procedure.d.ts +37 -0
  150. package/dist/dts/db/query.d.ts +25 -1
  151. package/dist/dts/db/repository.d.ts +52 -0
  152. package/dist/dts/db/sequence.d.ts +31 -2
  153. package/dist/dts/db/sql.d.ts +33 -0
  154. package/dist/dts/db/store.d.ts +27 -0
  155. package/dist/dts/db/translator.d.ts +34 -1
  156. package/dist/dts/db/update.d.ts +38 -0
  157. package/dist/dts/etcd/client.d.ts +36 -0
  158. package/dist/dts/etcd/index.d.ts +10 -0
  159. package/dist/dts/extensions/decorators.d.ts +28 -0
  160. package/dist/dts/extensions/extensions.d.ts +30 -1
  161. package/dist/dts/extensions/index.d.ts +11 -0
  162. package/dist/dts/git/client.d.ts +28 -0
  163. package/dist/dts/git/index.d.ts +10 -0
  164. package/dist/dts/http/client-async.d.ts +29 -1
  165. package/dist/dts/http/client.d.ts +29 -1
  166. package/dist/dts/http/decorators.d.ts +38 -0
  167. package/dist/dts/http/errors/ForbiddenError.d.ts +6 -2
  168. package/dist/dts/http/errors/ValidationError.d.ts +6 -2
  169. package/dist/dts/http/errors.d.ts +14 -0
  170. package/dist/dts/http/index.d.ts +18 -0
  171. package/dist/dts/http/request.d.ts +30 -3
  172. package/dist/dts/http/response.d.ts +40 -3
  173. package/dist/dts/http/rs/resource-mappings.d.ts +30 -0
  174. package/dist/dts/http/rs.d.ts +38 -0
  175. package/dist/dts/http/session.d.ts +34 -3
  176. package/dist/dts/http/upload.d.ts +27 -2
  177. package/dist/dts/http/utils.d.ts +42 -0
  178. package/dist/dts/indexing/index.d.ts +11 -0
  179. package/dist/dts/indexing/searcher.d.ts +35 -2
  180. package/dist/dts/indexing/writer.d.ts +23 -2
  181. package/dist/dts/integrations/index.d.ts +10 -0
  182. package/dist/dts/integrations/integrations.d.ts +27 -3
  183. package/dist/dts/io/bytes.d.ts +33 -2
  184. package/dist/dts/io/files.d.ts +34 -2
  185. package/dist/dts/io/image.d.ts +27 -2
  186. package/dist/dts/io/index.d.ts +14 -0
  187. package/dist/dts/io/streams.d.ts +40 -0
  188. package/dist/dts/io/zip.d.ts +32 -0
  189. package/dist/dts/job/decorators.d.ts +29 -0
  190. package/dist/dts/job/index.d.ts +11 -0
  191. package/dist/dts/job/scheduler.d.ts +33 -2
  192. package/dist/dts/junit/index.d.ts +10 -0
  193. package/dist/dts/junit/junit.d.ts +31 -0
  194. package/dist/dts/kafka/consumer.d.ts +31 -0
  195. package/dist/dts/kafka/index.d.ts +11 -0
  196. package/dist/dts/kafka/producer.d.ts +31 -0
  197. package/dist/dts/log/index.d.ts +10 -0
  198. package/dist/dts/log/logging.d.ts +32 -0
  199. package/dist/dts/mail/client.d.ts +27 -0
  200. package/dist/dts/mail/index.d.ts +10 -0
  201. package/dist/dts/messaging/consumer.d.ts +29 -2
  202. package/dist/dts/messaging/decorators.d.ts +32 -0
  203. package/dist/dts/messaging/index.d.ts +12 -0
  204. package/dist/dts/messaging/producer.d.ts +27 -2
  205. package/dist/dts/mongodb/client.d.ts +37 -0
  206. package/dist/dts/mongodb/dao.d.ts +53 -0
  207. package/dist/dts/mongodb/index.d.ts +11 -0
  208. package/dist/dts/net/decorators.d.ts +27 -0
  209. package/dist/dts/net/index.d.ts +13 -0
  210. package/dist/dts/net/soap.d.ts +34 -0
  211. package/dist/dts/net/websockets.d.ts +34 -0
  212. package/dist/dts/pdf/index.d.ts +10 -0
  213. package/dist/dts/pdf/pdf.d.ts +41 -2
  214. package/dist/dts/platform/command.d.ts +26 -0
  215. package/dist/dts/platform/engines.d.ts +38 -0
  216. package/dist/dts/platform/index.d.ts +19 -0
  217. package/dist/dts/platform/lifecycle.d.ts +29 -0
  218. package/dist/dts/platform/os.d.ts +30 -0
  219. package/dist/dts/platform/problems.d.ts +36 -0
  220. package/dist/dts/platform/registry.d.ts +39 -0
  221. package/dist/dts/platform/repository.d.ts +40 -0
  222. package/dist/dts/platform/workspace.d.ts +42 -0
  223. package/dist/dts/qldb/index.d.ts +12 -0
  224. package/dist/dts/qldb/qldb.d.ts +14 -0
  225. package/dist/dts/rabbitmq/consumer.d.ts +24 -3
  226. package/dist/dts/rabbitmq/index.d.ts +13 -0
  227. package/dist/dts/rabbitmq/producer.d.ts +20 -3
  228. package/dist/dts/redis/client.d.ts +31 -3
  229. package/dist/dts/redis/index.d.ts +12 -0
  230. package/dist/dts/security/decorators.d.ts +34 -0
  231. package/dist/dts/security/index.d.ts +14 -0
  232. package/dist/dts/security/oauth.d.ts +27 -0
  233. package/dist/dts/security/user.d.ts +39 -0
  234. package/dist/dts/template/engines.d.ts +31 -0
  235. package/dist/dts/template/index.d.ts +12 -0
  236. package/dist/dts/utils/alphanumeric.d.ts +36 -2
  237. package/dist/dts/utils/base64.d.ts +30 -0
  238. package/dist/dts/utils/converter.d.ts +37 -2
  239. package/dist/dts/utils/digest.d.ts +31 -0
  240. package/dist/dts/utils/escape.d.ts +28 -3
  241. package/dist/dts/utils/hex.d.ts +30 -0
  242. package/dist/dts/utils/index.d.ts +23 -0
  243. package/dist/dts/utils/jsonpath.d.ts +43 -0
  244. package/dist/dts/utils/qrcode.d.ts +24 -3
  245. package/dist/dts/utils/url.d.ts +37 -3
  246. package/dist/dts/utils/utf8.d.ts +34 -3
  247. package/dist/dts/utils/uuid.d.ts +28 -2
  248. package/dist/dts/utils/xml.d.ts +31 -2
  249. package/dist/esm/bpm/deployer.mjs +1 -1
  250. package/dist/esm/bpm/index.mjs +1 -1
  251. package/dist/esm/bpm/process.mjs +1 -1
  252. package/dist/esm/bpm/tasks.mjs +1 -1
  253. package/dist/esm/bpm/tracer.mjs +1 -1
  254. package/dist/esm/bpm/values.mjs +1 -1
  255. package/dist/esm/cache/cache.mjs +1 -1
  256. package/dist/esm/cache/index.mjs +1 -1
  257. package/dist/esm/cms/cmis.mjs +1 -1
  258. package/dist/esm/cms/index.mjs +1 -1
  259. package/dist/esm/component/decorators.mjs +1 -1
  260. package/dist/esm/component/index.mjs +1 -1
  261. package/dist/esm/core/configurations.mjs +1 -1
  262. package/dist/esm/core/context.mjs +1 -1
  263. package/dist/esm/core/env.mjs +1 -1
  264. package/dist/esm/core/globals.mjs +1 -1
  265. package/dist/esm/core/index.mjs +1 -1
  266. package/dist/esm/db/dao.mjs +1 -1
  267. package/dist/esm/db/database.mjs +1 -1
  268. package/dist/esm/db/decorators.mjs +1 -1
  269. package/dist/esm/db/index.mjs +1 -1
  270. package/dist/esm/db/insert.mjs +1 -1
  271. package/dist/esm/db/orm.mjs +1 -1
  272. package/dist/esm/db/ormstatements.mjs +1 -1
  273. package/dist/esm/db/procedure.mjs +1 -1
  274. package/dist/esm/db/query.mjs +1 -1
  275. package/dist/esm/db/repository.mjs +1 -1
  276. package/dist/esm/db/sequence.mjs +1 -1
  277. package/dist/esm/db/sql.mjs +1 -1
  278. package/dist/esm/db/store.mjs +1 -1
  279. package/dist/esm/db/translator.mjs +1 -1
  280. package/dist/esm/db/update.mjs +1 -1
  281. package/dist/esm/etcd/client.mjs +1 -1
  282. package/dist/esm/etcd/index.mjs +1 -1
  283. package/dist/esm/extensions/decorators.mjs +1 -1
  284. package/dist/esm/extensions/extensions.mjs +1 -1
  285. package/dist/esm/extensions/index.mjs +1 -1
  286. package/dist/esm/git/client.mjs +1 -1
  287. package/dist/esm/git/index.mjs +1 -1
  288. package/dist/esm/http/client-async.mjs +1 -1
  289. package/dist/esm/http/client.mjs +1 -1
  290. package/dist/esm/http/decorators.mjs +1 -1
  291. package/dist/esm/http/errors/ForbiddenError.mjs +1 -1
  292. package/dist/esm/http/errors/ValidationError.mjs +1 -1
  293. package/dist/esm/http/errors.mjs +1 -1
  294. package/dist/esm/http/index.mjs +1 -1
  295. package/dist/esm/http/request.mjs +1 -1
  296. package/dist/esm/http/response.mjs +1 -1
  297. package/dist/esm/http/rs/resource-http-controller.mjs +1 -1
  298. package/dist/esm/http/rs/resource-mappings.mjs +1 -1
  299. package/dist/esm/http/rs/resource-method.mjs +1 -1
  300. package/dist/esm/http/rs/resource.mjs +1 -1
  301. package/dist/esm/http/rs.mjs +1 -1
  302. package/dist/esm/http/session.mjs +1 -1
  303. package/dist/esm/http/upload.mjs +1 -1
  304. package/dist/esm/http/utils.mjs +1 -1
  305. package/dist/esm/indexing/index.mjs +1 -1
  306. package/dist/esm/indexing/searcher.mjs +1 -1
  307. package/dist/esm/indexing/writer.mjs +1 -1
  308. package/dist/esm/integrations/index.mjs +1 -1
  309. package/dist/esm/integrations/integrations.mjs +1 -1
  310. package/dist/esm/io/bytes.mjs +1 -1
  311. package/dist/esm/io/files.mjs +1 -1
  312. package/dist/esm/io/image.mjs +1 -1
  313. package/dist/esm/io/index.mjs +1 -1
  314. package/dist/esm/io/streams.mjs +1 -1
  315. package/dist/esm/io/zip.mjs +1 -1
  316. package/dist/esm/job/decorators.mjs +1 -1
  317. package/dist/esm/job/index.mjs +1 -1
  318. package/dist/esm/job/scheduler.mjs +1 -1
  319. package/dist/esm/junit/index.mjs +1 -1
  320. package/dist/esm/junit/junit.mjs +1 -1
  321. package/dist/esm/kafka/consumer.mjs +1 -1
  322. package/dist/esm/kafka/index.mjs +1 -1
  323. package/dist/esm/kafka/producer.mjs +1 -1
  324. package/dist/esm/log/index.mjs +1 -1
  325. package/dist/esm/log/logging.mjs +1 -1
  326. package/dist/esm/mail/client.mjs +1 -1
  327. package/dist/esm/mail/index.mjs +1 -1
  328. package/dist/esm/messaging/consumer.mjs +1 -1
  329. package/dist/esm/messaging/decorators.mjs +1 -1
  330. package/dist/esm/messaging/index.mjs +1 -1
  331. package/dist/esm/messaging/producer.mjs +1 -1
  332. package/dist/esm/mongodb/client.mjs +2 -2
  333. package/dist/esm/mongodb/dao.mjs +1 -1
  334. package/dist/esm/mongodb/index.mjs +1 -1
  335. package/dist/esm/net/decorators.mjs +1 -1
  336. package/dist/esm/net/index.mjs +1 -1
  337. package/dist/esm/net/soap.mjs +1 -1
  338. package/dist/esm/net/websockets.mjs +1 -1
  339. package/dist/esm/pdf/index.mjs +1 -1
  340. package/dist/esm/pdf/pdf.mjs +3 -3
  341. package/dist/esm/platform/command.mjs +1 -1
  342. package/dist/esm/platform/engines.mjs +1 -1
  343. package/dist/esm/platform/index.mjs +1 -1
  344. package/dist/esm/platform/lifecycle.mjs +1 -1
  345. package/dist/esm/platform/os.mjs +1 -1
  346. package/dist/esm/platform/problems.mjs +1 -1
  347. package/dist/esm/platform/registry.mjs +1 -1
  348. package/dist/esm/platform/repository.mjs +1 -1
  349. package/dist/esm/platform/workspace.mjs +1 -1
  350. package/dist/esm/qldb/index.mjs +1 -1
  351. package/dist/esm/qldb/qldb.mjs +1 -1
  352. package/dist/esm/rabbitmq/consumer.mjs +1 -1
  353. package/dist/esm/rabbitmq/index.mjs +1 -1
  354. package/dist/esm/rabbitmq/producer.mjs +1 -1
  355. package/dist/esm/redis/client.mjs +1 -1
  356. package/dist/esm/redis/index.mjs +1 -1
  357. package/dist/esm/security/decorators.mjs +1 -1
  358. package/dist/esm/security/index.mjs +1 -1
  359. package/dist/esm/security/oauth.mjs +1 -1
  360. package/dist/esm/security/user.mjs +1 -1
  361. package/dist/esm/template/engines.mjs +1 -1
  362. package/dist/esm/template/index.mjs +1 -1
  363. package/dist/esm/utils/alphanumeric.mjs +2 -2
  364. package/dist/esm/utils/base64.mjs +1 -1
  365. package/dist/esm/utils/converter.mjs +1 -1
  366. package/dist/esm/utils/digest.mjs +1 -1
  367. package/dist/esm/utils/escape.mjs +1 -1
  368. package/dist/esm/utils/hex.mjs +1 -1
  369. package/dist/esm/utils/index.mjs +1 -1
  370. package/dist/esm/utils/jsonpath.mjs +1 -1
  371. package/dist/esm/utils/qrcode.mjs +1 -1
  372. package/dist/esm/utils/url.mjs +1 -1
  373. package/dist/esm/utils/utf8.mjs +1 -1
  374. package/dist/esm/utils/uuid.mjs +1 -1
  375. package/dist/esm/utils/xml.mjs +1 -1
  376. package/package.json +1 -1
@@ -61,4 +61,4 @@ class Tracer {
61
61
  return "[no-execution-context]";
62
62
  }
63
63
  }
64
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2JwbS90cmFjZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFByb2Nlc3MgfSBmcm9tICdAYWVyb2tpdC9zZGsvYnBtJztcbmltcG9ydCB7IExvZ2dpbmcsIExvZ2dlciB9IGZyb20gXCJAYWVyb2tpdC9zZGsvbG9nXCI7XG5cbmV4cG9ydCBjbGFzcyBUcmFjZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhcnRUaW1lOiBEYXRlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXI7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB0aGlzLmxvZ2dlciA9IExvZ2dpbmcuZ2V0TG9nZ2VyKCdicG0udHJhY2VyJyk7XG4gICAgICAgIHRoaXMubG9nKCdTdGFydGVkJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGxvZyhtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhgJHt0aGlzLmdldElkKCl9IC0gJHttZXNzYWdlID8/ICcnfWApO1xuICAgIH1cblxuICAgIHB1YmxpYyB3YXJuKG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICB0aGlzLmxvZ2dlci53YXJuKGAke3RoaXMuZ2V0SWQoKX0gLSAke21lc3NhZ2UgPz8gJyd9YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGVycm9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihgJHt0aGlzLmdldElkKCl9IC0gJHttZXNzYWdlID8/ICcnfWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb21wbGV0ZShtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGVuZFRpbWUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5jZWlsKChlbmRUaW1lLmdldFRpbWUoKSAtIHRoaXMuc3RhcnRUaW1lLmdldFRpbWUoKSkgLyAxMDAwKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhgJHt0aGlzLmdldElkKCl9IC0gQ29tcGxldGVkIGFmdGVyICR7c2Vjb25kc30gc2Vjb25kcy4gJHttZXNzYWdlID8/ICcnfWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBmYWlsKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZW5kVGltZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmNlaWwoKGVuZFRpbWUuZ2V0VGltZSgpIC0gdGhpcy5zdGFydFRpbWUuZ2V0VGltZSgpKSAvIDEwMDApO1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihgJHt0aGlzLmdldElkKCl9IC0gRmFpbGVkIGFmdGVyICR7c2Vjb25kc30gc2Vjb25kcy4gJHttZXNzYWdlID8/ICcnfWApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZXhlY3V0aW9uQ29udGV4dCA9IFByb2Nlc3MuZ2V0RXhlY3V0aW9uQ29udGV4dCgpO1xuICAgICAgICBpZiAoZXhlY3V0aW9uQ29udGV4dCkge1xuICAgICAgICAgICAgY29uc3QgcHJvY2Vzc0RlZmluaXRpb25JZCA9IGV4ZWN1dGlvbkNvbnRleHQuZ2V0UHJvY2Vzc0RlZmluaXRpb25JZCgpO1xuICAgICAgICAgICAgY29uc3QgcHJvY2Vzc0luc3RhbmNlSWQgPSBleGVjdXRpb25Db250ZXh0LmdldFByb2Nlc3NJbnN0YW5jZUlkKCk7XG4gICAgICAgICAgICBjb25zdCBidXNpbmVzc0tleSA9IGV4ZWN1dGlvbkNvbnRleHQuZ2V0UHJvY2Vzc0luc3RhbmNlQnVzaW5lc3NLZXkoKTtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2aXR5SWQgPSBleGVjdXRpb25Db250ZXh0LmdldEN1cnJlbnRBY3Rpdml0eUlkKCk7XG4gICAgICAgICAgICByZXR1cm4gYFske3Byb2Nlc3NEZWZpbml0aW9uSWR9XVske3Byb2Nlc3NJbnN0YW5jZUlkfV1bJHtidXNpbmVzc0tleX1dWyR7YWN0aXZpdHlJZH1dYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJ1tuby1leGVjdXRpb24tY29udGV4dF0nO1xuICAgIH1cbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxpQkFBd0I7QUFDeEIsaUJBQWdDO0FBRXpCLE1BQU0sT0FBTztBQUFBLEVBQ0M7QUFBQSxFQUNBO0FBQUEsRUFFakIsY0FBYztBQUNWLFNBQUssWUFBWSxvQkFBSSxLQUFLO0FBQzFCLFNBQUssU0FBUyxtQkFBUSxVQUFVLFlBQVk7QUFDNUMsU0FBSyxJQUFJLFNBQVM7QUFBQSxFQUN0QjtBQUFBLEVBRU8sSUFBSSxTQUFpQjtBQUN4QixTQUFLLE9BQU8sS0FBSyxHQUFHLEtBQUssTUFBTSxDQUFDLE1BQU0sV0FBVyxFQUFFLEVBQUU7QUFBQSxFQUN6RDtBQUFBLEVBRU8sS0FBSyxTQUFpQjtBQUN6QixTQUFLLE9BQU8sS0FBSyxHQUFHLEtBQUssTUFBTSxDQUFDLE1BQU0sV0FBVyxFQUFFLEVBQUU7QUFBQSxFQUN6RDtBQUFBLEVBRU8sTUFBTSxTQUFpQjtBQUMxQixTQUFLLE9BQU8sTUFBTSxHQUFHLEtBQUssTUFBTSxDQUFDLE1BQU0sV0FBVyxFQUFFLEVBQUU7QUFBQSxFQUMxRDtBQUFBLEVBRU8sU0FBUyxTQUFrQjtBQUM5QixVQUFNLFVBQVUsb0JBQUksS0FBSztBQUN6QixVQUFNLFVBQVUsS0FBSyxNQUFNLFFBQVEsUUFBUSxJQUFJLEtBQUssVUFBVSxRQUFRLEtBQUssR0FBSTtBQUMvRSxTQUFLLE9BQU8sS0FBSyxHQUFHLEtBQUssTUFBTSxDQUFDLHNCQUFzQixPQUFPLGFBQWEsV0FBVyxFQUFFLEVBQUU7QUFBQSxFQUM3RjtBQUFBLEVBRU8sS0FBSyxTQUFrQjtBQUMxQixVQUFNLFVBQVUsb0JBQUksS0FBSztBQUN6QixVQUFNLFVBQVUsS0FBSyxNQUFNLFFBQVEsUUFBUSxJQUFJLEtBQUssVUFBVSxRQUFRLEtBQUssR0FBSTtBQUMvRSxTQUFLLE9BQU8sTUFBTSxHQUFHLEtBQUssTUFBTSxDQUFDLG1CQUFtQixPQUFPLGFBQWEsV0FBVyxFQUFFLEVBQUU7QUFBQSxFQUMzRjtBQUFBLEVBRVEsUUFBZ0I7QUFDcEIsVUFBTSxtQkFBbUIsbUJBQVEsb0JBQW9CO0FBQ3JELFFBQUksa0JBQWtCO0FBQ2xCLFlBQU0sc0JBQXNCLGlCQUFpQix1QkFBdUI7QUFDcEUsWUFBTSxvQkFBb0IsaUJBQWlCLHFCQUFxQjtBQUNoRSxZQUFNLGNBQWMsaUJBQWlCLDhCQUE4QjtBQUNuRSxZQUFNLGFBQWEsaUJBQWlCLHFCQUFxQjtBQUN6RCxhQUFPLElBQUksbUJBQW1CLEtBQUssaUJBQWlCLEtBQUssV0FBVyxLQUFLLFVBQVU7QUFBQSxJQUN2RjtBQUNBLFdBQU87QUFBQSxFQUNYO0FBQ0o7IiwKICAibmFtZXMiOiBbXQp9Cg==
64
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2JwbS90cmFjZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBicG0vdHJhY2VyXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvYnBtXG4gKiBAbmFtZSBUcmFjZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBUcmFjZXJgIGNsYXNzIGZvciBsb2dnaW5nIGFuZCB0cmFjaW5nIHRoZSBleGVjdXRpb24gb2YgQlBNTiBwcm9jZXNzZXMgd2l0aGluIHRoZSBEaXJpZ2libGUgZW52aXJvbm1lbnQuIFRoZSBgVHJhY2VyYCBjbGFzcyBhbGxvd3MgZGV2ZWxvcGVycyB0byBsb2cgaW5mb3JtYXRpb25hbCBtZXNzYWdlcywgd2FybmluZ3MsIGFuZCBlcnJvcnMsIGFzIHdlbGwgYXMgdG8gdHJhY2sgdGhlIGR1cmF0aW9uIG9mIHByb2Nlc3MgZXhlY3V0aW9uIGZyb20gc3RhcnQgdG8gY29tcGxldGlvbiBvciBmYWlsdXJlLlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzXG4gKiAtIENvbnRleHQtYXdhcmUgbG9nZ2luZzogQXV0b21hdGljYWxseSBpbmNsdWRlcyBwcm9jZXNzIGRlZmluaXRpb24gSUQsIGluc3RhbmNlIElELCBidXNpbmVzcyBrZXksIGFuZCBhY3Rpdml0eSBJRCBpbiBsb2cgbWVzc2FnZXMuXG4gKiAtIEV4ZWN1dGlvbiB0aW1pbmc6IFRyYWNrcyB0aGUgZHVyYXRpb24gb2YgcHJvY2VzcyBleGVjdXRpb24gYW5kIGxvZ3MgaXQgdXBvbiBjb21wbGV0aW9uIG9yIGZhaWx1cmUuXG4gKiAtIEZsZXhpYmxlIGxvZ2dpbmcgbGV2ZWxzOiBTdXBwb3J0cyBpbmZvcm1hdGlvbmFsLCB3YXJuaW5nLCBhbmQgZXJyb3IgbG9nZ2luZy5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBEZWJ1Z2dpbmcgYW5kIG1vbml0b3JpbmcgQlBNTiBwcm9jZXNzIGV4ZWN1dGlvbiBpbiBkZXZlbG9wbWVudCBhbmQgcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuXG4gKiAtIFByb3ZpZGluZyBpbnNpZ2h0cyBpbnRvIHByb2Nlc3MgcGVyZm9ybWFuY2UgYW5kIGlkZW50aWZ5aW5nIGJvdHRsZW5lY2tzIG9yIGlzc3Vlcy5cbiAqIC0gRW5oYW5jaW5nIG9ic2VydmFiaWxpdHkgb2YgQlBNTiBwcm9jZXNzZXMgZm9yIGJldHRlciBtYWludGVuYW5jZSBhbmQgc3VwcG9ydC5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2VcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBUcmFjZXIgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2JwbVwiO1xuICogXG4gKiBjb25zdCB0cmFjZXIgPSBuZXcgVHJhY2VyKCk7XG4gKiB0cnkge1xuICogICAvLyBQZXJmb3JtIHNvbWUgb3BlcmF0aW9ucyByZWxhdGVkIHRvIHRoZSBCUE1OIHByb2Nlc3NcbiAqICAgdHJhY2VyLmxvZyhcIlBlcmZvcm1pbmcgc3RlcCAxXCIpO1xuICogICAvLyAuLi5cbiAqICAgdHJhY2VyLmxvZyhcIlBlcmZvcm1pbmcgc3RlcCAyXCIpO1xuICogIC8vIC4uLlxuICogIHRyYWNlci5jb21wbGV0ZShcIlByb2Nlc3MgY29tcGxldGVkIHN1Y2Nlc3NmdWxseVwiKTtcbiAqIH0gY2F0Y2ggKGVycm9yKSB7XG4gKiAgdHJhY2VyLmZhaWwoYFByb2Nlc3MgZmFpbGVkIHdpdGggZXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gKTtcbiAqIH1cbiAqIGBgYFxuICovXG5cbmltcG9ydCB7IFByb2Nlc3MgfSBmcm9tICdAYWVyb2tpdC9zZGsvYnBtJztcbmltcG9ydCB7IExvZ2dpbmcsIExvZ2dlciB9IGZyb20gXCJAYWVyb2tpdC9zZGsvbG9nXCI7XG5cbmV4cG9ydCBjbGFzcyBUcmFjZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhcnRUaW1lOiBEYXRlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXI7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB0aGlzLmxvZ2dlciA9IExvZ2dpbmcuZ2V0TG9nZ2VyKCdicG0udHJhY2VyJyk7XG4gICAgICAgIHRoaXMubG9nKCdTdGFydGVkJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGxvZyhtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhgJHt0aGlzLmdldElkKCl9IC0gJHttZXNzYWdlID8/ICcnfWApO1xuICAgIH1cblxuICAgIHB1YmxpYyB3YXJuKG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICB0aGlzLmxvZ2dlci53YXJuKGAke3RoaXMuZ2V0SWQoKX0gLSAke21lc3NhZ2UgPz8gJyd9YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGVycm9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihgJHt0aGlzLmdldElkKCl9IC0gJHttZXNzYWdlID8/ICcnfWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb21wbGV0ZShtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGVuZFRpbWUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5jZWlsKChlbmRUaW1lLmdldFRpbWUoKSAtIHRoaXMuc3RhcnRUaW1lLmdldFRpbWUoKSkgLyAxMDAwKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhgJHt0aGlzLmdldElkKCl9IC0gQ29tcGxldGVkIGFmdGVyICR7c2Vjb25kc30gc2Vjb25kcy4gJHttZXNzYWdlID8/ICcnfWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBmYWlsKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZW5kVGltZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmNlaWwoKGVuZFRpbWUuZ2V0VGltZSgpIC0gdGhpcy5zdGFydFRpbWUuZ2V0VGltZSgpKSAvIDEwMDApO1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihgJHt0aGlzLmdldElkKCl9IC0gRmFpbGVkIGFmdGVyICR7c2Vjb25kc30gc2Vjb25kcy4gJHttZXNzYWdlID8/ICcnfWApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZXhlY3V0aW9uQ29udGV4dCA9IFByb2Nlc3MuZ2V0RXhlY3V0aW9uQ29udGV4dCgpO1xuICAgICAgICBpZiAoZXhlY3V0aW9uQ29udGV4dCkge1xuICAgICAgICAgICAgY29uc3QgcHJvY2Vzc0RlZmluaXRpb25JZCA9IGV4ZWN1dGlvbkNvbnRleHQuZ2V0UHJvY2Vzc0RlZmluaXRpb25JZCgpO1xuICAgICAgICAgICAgY29uc3QgcHJvY2Vzc0luc3RhbmNlSWQgPSBleGVjdXRpb25Db250ZXh0LmdldFByb2Nlc3NJbnN0YW5jZUlkKCk7XG4gICAgICAgICAgICBjb25zdCBidXNpbmVzc0tleSA9IGV4ZWN1dGlvbkNvbnRleHQuZ2V0UHJvY2Vzc0luc3RhbmNlQnVzaW5lc3NLZXkoKTtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2aXR5SWQgPSBleGVjdXRpb25Db250ZXh0LmdldEN1cnJlbnRBY3Rpdml0eUlkKCk7XG4gICAgICAgICAgICByZXR1cm4gYFske3Byb2Nlc3NEZWZpbml0aW9uSWR9XVske3Byb2Nlc3NJbnN0YW5jZUlkfV1bJHtidXNpbmVzc0tleX1dWyR7YWN0aXZpdHlJZH1dYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJ1tuby1leGVjdXRpb24tY29udGV4dF0nO1xuICAgIH1cbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQ0EsaUJBQXdCO0FBQ3hCLGlCQUFnQztBQUV6QixNQUFNLE9BQU87QUFBQSxFQUNDO0FBQUEsRUFDQTtBQUFBLEVBRWpCLGNBQWM7QUFDVixTQUFLLFlBQVksb0JBQUksS0FBSztBQUMxQixTQUFLLFNBQVMsbUJBQVEsVUFBVSxZQUFZO0FBQzVDLFNBQUssSUFBSSxTQUFTO0FBQUEsRUFDdEI7QUFBQSxFQUVPLElBQUksU0FBaUI7QUFDeEIsU0FBSyxPQUFPLEtBQUssR0FBRyxLQUFLLE1BQU0sQ0FBQyxNQUFNLFdBQVcsRUFBRSxFQUFFO0FBQUEsRUFDekQ7QUFBQSxFQUVPLEtBQUssU0FBaUI7QUFDekIsU0FBSyxPQUFPLEtBQUssR0FBRyxLQUFLLE1BQU0sQ0FBQyxNQUFNLFdBQVcsRUFBRSxFQUFFO0FBQUEsRUFDekQ7QUFBQSxFQUVPLE1BQU0sU0FBaUI7QUFDMUIsU0FBSyxPQUFPLE1BQU0sR0FBRyxLQUFLLE1BQU0sQ0FBQyxNQUFNLFdBQVcsRUFBRSxFQUFFO0FBQUEsRUFDMUQ7QUFBQSxFQUVPLFNBQVMsU0FBa0I7QUFDOUIsVUFBTSxVQUFVLG9CQUFJLEtBQUs7QUFDekIsVUFBTSxVQUFVLEtBQUssTUFBTSxRQUFRLFFBQVEsSUFBSSxLQUFLLFVBQVUsUUFBUSxLQUFLLEdBQUk7QUFDL0UsU0FBSyxPQUFPLEtBQUssR0FBRyxLQUFLLE1BQU0sQ0FBQyxzQkFBc0IsT0FBTyxhQUFhLFdBQVcsRUFBRSxFQUFFO0FBQUEsRUFDN0Y7QUFBQSxFQUVPLEtBQUssU0FBa0I7QUFDMUIsVUFBTSxVQUFVLG9CQUFJLEtBQUs7QUFDekIsVUFBTSxVQUFVLEtBQUssTUFBTSxRQUFRLFFBQVEsSUFBSSxLQUFLLFVBQVUsUUFBUSxLQUFLLEdBQUk7QUFDL0UsU0FBSyxPQUFPLE1BQU0sR0FBRyxLQUFLLE1BQU0sQ0FBQyxtQkFBbUIsT0FBTyxhQUFhLFdBQVcsRUFBRSxFQUFFO0FBQUEsRUFDM0Y7QUFBQSxFQUVRLFFBQWdCO0FBQ3BCLFVBQU0sbUJBQW1CLG1CQUFRLG9CQUFvQjtBQUNyRCxRQUFJLGtCQUFrQjtBQUNsQixZQUFNLHNCQUFzQixpQkFBaUIsdUJBQXVCO0FBQ3BFLFlBQU0sb0JBQW9CLGlCQUFpQixxQkFBcUI7QUFDaEUsWUFBTSxjQUFjLGlCQUFpQiw4QkFBOEI7QUFDbkUsWUFBTSxhQUFhLGlCQUFpQixxQkFBcUI7QUFDekQsYUFBTyxJQUFJLG1CQUFtQixLQUFLLGlCQUFpQixLQUFLLFdBQVcsS0FBSyxVQUFVO0FBQUEsSUFDdkY7QUFDQSxXQUFPO0FBQUEsRUFDWDtBQUNKOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -79,4 +79,4 @@ class Values {
79
79
  if (typeof module !== "undefined") {
80
80
  module.exports = Values;
81
81
  }
82
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2JwbS92YWx1ZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogVmFsdWVzXG4gKiAqIFV0aWxpdHkgY2xhc3MgZm9yIHNlcmlhbGl6aW5nIChzdHJpbmdpZnkpIGFuZCBkZXNlcmlhbGl6aW5nIChwYXJzZSkgY29tcGxleCB2YXJpYWJsZSB2YWx1ZXMgKGxpa2Ugb2JqZWN0cyBhbmQgYXJyYXlzKVxuICogdG8gYW5kIGZyb20gSlNPTiBzdHJpbmdzIGZvciBzdG9yYWdlIG9yIHRyYW5zZmVyIGFjcm9zcyB0aGUgQVBJIGJvdW5kYXJ5LlxuICovXG5leHBvcnQgY2xhc3MgVmFsdWVzIHtcblxuXHQvKipcblx0ICogQXR0ZW1wdHMgdG8gcGFyc2UgYSB2YWx1ZSBhcyBhIEpTT04gc3RyaW5nLlxuXHQgKiBJZiB0aGUgdmFsdWUgaXMgYSB2YWxpZCBKU09OIHN0cmluZyAocmVwcmVzZW50aW5nIGFuIG9iamVjdCBvciBhcnJheSksIGl0IGlzIHBhcnNlZCBhbmQgcmV0dXJuZWQgYXMgYW4gb2JqZWN0LlxuXHQgKiBJZiBwYXJzaW5nIGZhaWxzIChlLmcuLCB0aGUgdmFsdWUgaXMgYSBwcmltaXRpdmUgb3IgYW4gaW52YWxpZCBKU09OIHN0cmluZyksIHRoZSBvcmlnaW5hbCB2YWx1ZSBpcyByZXR1cm5lZC5cblx0ICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBwYXJzZSwgdHlwaWNhbGx5IGEgc3RyaW5nIHJlYWQgZnJvbSB0aGUgQVBJLlxuXHQgKiBAcmV0dXJucyBUaGUgcGFyc2VkIG9iamVjdCwgb3IgdGhlIG9yaWdpbmFsIHZhbHVlIGlmIHBhcnNpbmcgZmFpbHMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHBhcnNlVmFsdWUodmFsdWU6IGFueSk6IGFueSB7XG5cdFx0dHJ5IHtcblx0XHRcdHJldHVybiBKU09OLnBhcnNlKHZhbHVlKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBEbyBub3RoaW5nXG5cdFx0fVxuXHRcdHJldHVybiB2YWx1ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJdGVyYXRlcyBvdmVyIHRoZSB2YWx1ZXMgb2YgYSBNYXAgYW5kIGFwcGxpZXMge0BsaW5rICNwYXJzZVZhbHVlKGFueSl9IHRvIGVhY2ggdmFsdWUuXG5cdCAqIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWQgdG8gZGVzZXJpYWxpemUgYWxsIHZhcmlhYmxlcyByZXR1cm5lZCBmcm9tIGFuIEFQSSBjYWxsLlxuXHQgKiBAcGFyYW0gdmFyaWFibGVzIFRoZSBNYXAgb2YgdmFyaWFibGUgbmFtZXMgdG8gdGhlaXIgdmFsdWVzICh3aGljaCBtYXkgYmUgSlNPTiBzdHJpbmdzKS5cblx0ICogQHJldHVybnMgVGhlIE1hcCB3aXRoIGFsbCB2YWx1ZXMgZGVzZXJpYWxpemVkIHdoZXJlIHBvc3NpYmxlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBwYXJzZVZhbHVlc01hcCh2YXJpYWJsZXM6IE1hcDxzdHJpbmcsIGFueT4pOiBNYXA8c3RyaW5nLCBhbnk+IHtcblx0XHRmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiB2YXJpYWJsZXMpIHtcblx0XHRcdHZhcmlhYmxlcy5zZXQoa2V5LCBWYWx1ZXMucGFyc2VWYWx1ZSh2YWx1ZSkpO1xuXHRcdH1cblx0XHRyZXR1cm4gdmFyaWFibGVzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlcmlhbGl6ZXMgYSB2YWx1ZSBmb3IgcGVyc2lzdGVuY2Ugb3IgQVBJIHRyYW5zZmVyLlxuXHQgKiBBcnJheXMgYW5kIG9iamVjdHMgYXJlIGNvbnZlcnRlZCBpbnRvIHRoZWlyIHJlc3BlY3RpdmUgSlNPTiBzdHJpbmcgcmVwcmVzZW50YXRpb25zLlxuXHQgKiBOb3RlOiBBcnJheXMgYXJlIGFkZGl0aW9uYWxseSBjb252ZXJ0ZWQgaW50byBhIGBqYXZhLnV0aWwuTGlzdGAgb2Ygc3RyaW5naWZpZWQgZWxlbWVudHMgZm9yIEphdmEgQVBJIGNvbXBhdGliaWxpdHkuXG5cdCAqIFByaW1pdGl2ZSB0eXBlcyBhcmUgcmV0dXJuZWQgYXMgaXMuXG5cdCAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VyaWFsaXplLlxuXHQgKiBAcmV0dXJucyBUaGUgSlNPTiBzdHJpbmcgcmVwcmVzZW50YXRpb24sIGEgSmF2YSBMaXN0IChmb3IgYXJyYXlzKSwgb3IgdGhlIG9yaWdpbmFsIHByaW1pdGl2ZSB2YWx1ZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgc3RyaW5naWZ5VmFsdWUodmFsdWU6IGFueSk6IGFueSB7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG5cdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRyZXR1cm4gamF2YS51dGlsLkFycmF5cy5hc0xpc3QodmFsdWUubWFwKGUgPT4gSlNPTi5zdHJpbmdpZnkoZSkpKTtcblx0XHR9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcblx0XHRcdHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG5cdFx0fVxuXHRcdHJldHVybiB2YWx1ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJdGVyYXRlcyBvdmVyIHRoZSB2YWx1ZXMgb2YgYSBNYXAgYW5kIGFwcGxpZXMge0BsaW5rICNzdHJpbmdpZnlWYWx1ZShhbnkpfSB0byBlYWNoIHZhbHVlLlxuXHQgKiBUaGlzIGlzIHR5cGljYWxseSB1c2VkIHRvIHNlcmlhbGl6ZSBhIG1hcCBvZiB2YXJpYWJsZXMgYmVmb3JlIHNlbmRpbmcgdGhlbSB0byBhbiBBUEkgY2FsbC5cblx0ICogQHBhcmFtIHZhcmlhYmxlcyBUaGUgTWFwIG9mIHZhcmlhYmxlIG5hbWVzIHRvIHRoZWlyIHZhbHVlcy5cblx0ICogQHJldHVybnMgVGhlIE1hcCB3aXRoIGFsbCB2YWx1ZXMgc2VyaWFsaXplZC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgc3RyaW5naWZ5VmFsdWVzTWFwKHZhcmlhYmxlczogTWFwPHN0cmluZywgYW55Pik6IE1hcDxzdHJpbmcsIGFueT4ge1xuXHRcdGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIHZhcmlhYmxlcykge1xuXHRcdFx0dmFyaWFibGVzLnNldChrZXksIFZhbHVlcy5zdHJpbmdpZnlWYWx1ZSh2YWx1ZSkpO1xuXHRcdH1cblx0XHRyZXR1cm4gdmFyaWFibGVzO1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gVmFsdWVzO1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtPLE1BQU0sT0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTbkIsT0FBYyxXQUFXLE9BQWlCO0FBQ3pDLFFBQUk7QUFDSCxhQUFPLEtBQUssTUFBTSxLQUFLO0FBQUEsSUFDeEIsU0FBUyxHQUFHO0FBQUEsSUFFWjtBQUNBLFdBQU87QUFBQSxFQUNSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLGVBQWUsV0FBK0M7QUFDM0UsZUFBVyxDQUFDLEtBQUssS0FBSyxLQUFLLFdBQVc7QUFDckMsZ0JBQVUsSUFBSSxLQUFLLE9BQU8sV0FBVyxLQUFLLENBQUM7QUFBQSxJQUM1QztBQUNBLFdBQU87QUFBQSxFQUNSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVUEsT0FBYyxlQUFlLE9BQWlCO0FBQzdDLFFBQUksTUFBTSxRQUFRLEtBQUssR0FBRztBQUV6QixhQUFPLEtBQUssS0FBSyxPQUFPLE9BQU8sTUFBTSxJQUFJLE9BQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQUEsSUFDakUsV0FBVyxPQUFPLFVBQVUsVUFBVTtBQUNyQyxhQUFPLEtBQUssVUFBVSxLQUFLO0FBQUEsSUFDNUI7QUFDQSxXQUFPO0FBQUEsRUFDUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxtQkFBbUIsV0FBK0M7QUFDL0UsZUFBVyxDQUFDLEtBQUssS0FBSyxLQUFLLFdBQVc7QUFDckMsZ0JBQVUsSUFBSSxLQUFLLE9BQU8sZUFBZSxLQUFLLENBQUM7QUFBQSxJQUNoRDtBQUNBLFdBQU87QUFBQSxFQUNSO0FBQ0Q7QUFHQSxJQUFJLE9BQU8sV0FBVyxhQUFhO0FBRWxDLFNBQU8sVUFBVTtBQUNsQjsiLAogICJuYW1lcyI6IFtdCn0K
82
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2JwbS92YWx1ZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBicG0vdmFsdWVzXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvYnBtXG4gKiBAbmFtZSBWYWx1ZXNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgYFZhbHVlc2AgY2xhc3MgcHJvdmlkZXMgdXRpbGl0eSBtZXRob2RzIGZvciBzZXJpYWxpemluZyBhbmQgZGVzZXJpYWxpemluZyBjb21wbGV4IHZhcmlhYmxlIHZhbHVlcyAoc3VjaCBhcyBvYmplY3RzIGFuZCBhcnJheXMpIHRvIGFuZCBmcm9tIEpTT04gc3RyaW5ncy4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciBoYW5kbGluZyBwcm9jZXNzIHZhcmlhYmxlcyBpbiBCUE1OIHByb2Nlc3Nlcywgd2hlcmUgdmFyaWFibGVzIG1heSBuZWVkIHRvIGJlIHN0b3JlZCBvciB0cmFuc2ZlcnJlZCBhY3Jvc3MgQVBJIGJvdW5kYXJpZXMgaW4gYSBjb25zaXN0ZW50IGZvcm1hdC5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlc1xuICogLSAqKnBhcnNlVmFsdWUqKjogU2FmZWx5IGF0dGVtcHRzIHRvIHBhcnNlIGEgc3RyaW5nIHZhbHVlIGFzIEpTT04sIHJldHVybmluZyB0aGUgb3JpZ2luYWwgdmFsdWUgaWYgcGFyc2luZyBmYWlscy5cbiAqIC0gKipwYXJzZVZhbHVlc01hcCoqOiBBcHBsaWVzIEpTT04gcGFyc2luZyB0byBhbGwgdmFsdWVzIGluIGEgTWFwLCBhbGxvd2luZyBmb3IgYnVsayBkZXNlcmlhbGl6YXRpb24gb2YgcHJvY2VzcyB2YXJpYWJsZXMuXG4gKiAtICoqc3RyaW5naWZ5VmFsdWUqKjogQ29udmVydHMgb2JqZWN0cyBhbmQgYXJyYXlzIGludG8gdGhlaXIgSlNPTiBzdHJpbmcgcmVwcmVzZW50YXRpb25zLCB3aGlsZSBsZWF2aW5nIHByaW1pdGl2ZSB0eXBlcyB1bmNoYW5nZWQuIEFycmF5cyBhcmUgYWxzbyBjb252ZXJ0ZWQgaW50byBKYXZhIExpc3RzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggSmF2YSBBUElzLlxuICogLSAqKnN0cmluZ2lmeVZhbHVlc01hcCoqOiBBcHBsaWVzIEpTT04gc3RyaW5naWZpY2F0aW9uIHRvIGFsbCB2YWx1ZXMgaW4gYSBNYXAsIGVuYWJsaW5nIGJ1bGsgc2VyaWFsaXphdGlvbiBvZiBwcm9jZXNzIHZhcmlhYmxlcyBiZWZvcmUgQVBJIGNhbGxzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzXG4gKiAtIE1hbmFnaW5nIGNvbXBsZXggcHJvY2VzcyB2YXJpYWJsZXMgaW4gQlBNTiBwcm9jZXNzZXMsIGluY2x1ZGluZyBvYmplY3RzIGFuZCBhcnJheXMuXG4gKiAtIEVuc3VyaW5nIGNvbnNpc3RlbnQgc2VyaWFsaXphdGlvbiBhbmQgZGVzZXJpYWxpemF0aW9uIG9mIHZhcmlhYmxlcyB3aGVuIGludGVyYWN0aW5nIHdpdGggQVBJcyB0aGF0IGV4cGVjdCBzdHJpbmcgdmFsdWVzLlxuICogLSBGYWNpbGl0YXRpbmcgdGhlIHRyYW5zZmVyIG9mIHN0cnVjdHVyZWQgZGF0YSBhY3Jvc3MgQVBJIGJvdW5kYXJpZXMgaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUgZWFzaWx5IHBhcnNlZCBhbmQgdXRpbGl6ZWQuXG4gKi9cblxuZXhwb3J0IGNsYXNzIFZhbHVlcyB7XG5cblx0LyoqXG5cdCAqIEF0dGVtcHRzIHRvIHBhcnNlIGEgdmFsdWUgYXMgYSBKU09OIHN0cmluZy5cblx0ICogSWYgdGhlIHZhbHVlIGlzIGEgdmFsaWQgSlNPTiBzdHJpbmcgKHJlcHJlc2VudGluZyBhbiBvYmplY3Qgb3IgYXJyYXkpLCBpdCBpcyBwYXJzZWQgYW5kIHJldHVybmVkIGFzIGFuIG9iamVjdC5cblx0ICogSWYgcGFyc2luZyBmYWlscyAoZS5nLiwgdGhlIHZhbHVlIGlzIGEgcHJpbWl0aXZlIG9yIGFuIGludmFsaWQgSlNPTiBzdHJpbmcpLCB0aGUgb3JpZ2luYWwgdmFsdWUgaXMgcmV0dXJuZWQuXG5cdCAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gcGFyc2UsIHR5cGljYWxseSBhIHN0cmluZyByZWFkIGZyb20gdGhlIEFQSS5cblx0ICogQHJldHVybnMgVGhlIHBhcnNlZCBvYmplY3QsIG9yIHRoZSBvcmlnaW5hbCB2YWx1ZSBpZiBwYXJzaW5nIGZhaWxzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBwYXJzZVZhbHVlKHZhbHVlOiBhbnkpOiBhbnkge1xuXHRcdHRyeSB7XG5cdFx0XHRyZXR1cm4gSlNPTi5wYXJzZSh2YWx1ZSk7XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0Ly8gRG8gbm90aGluZ1xuXHRcdH1cblx0XHRyZXR1cm4gdmFsdWU7XG5cdH1cblxuXHQvKipcblx0ICogSXRlcmF0ZXMgb3ZlciB0aGUgdmFsdWVzIG9mIGEgTWFwIGFuZCBhcHBsaWVzIHtAbGluayAjcGFyc2VWYWx1ZShhbnkpfSB0byBlYWNoIHZhbHVlLlxuXHQgKiBUaGlzIGlzIHR5cGljYWxseSB1c2VkIHRvIGRlc2VyaWFsaXplIGFsbCB2YXJpYWJsZXMgcmV0dXJuZWQgZnJvbSBhbiBBUEkgY2FsbC5cblx0ICogQHBhcmFtIHZhcmlhYmxlcyBUaGUgTWFwIG9mIHZhcmlhYmxlIG5hbWVzIHRvIHRoZWlyIHZhbHVlcyAod2hpY2ggbWF5IGJlIEpTT04gc3RyaW5ncykuXG5cdCAqIEByZXR1cm5zIFRoZSBNYXAgd2l0aCBhbGwgdmFsdWVzIGRlc2VyaWFsaXplZCB3aGVyZSBwb3NzaWJsZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgcGFyc2VWYWx1ZXNNYXAodmFyaWFibGVzOiBNYXA8c3RyaW5nLCBhbnk+KTogTWFwPHN0cmluZywgYW55PiB7XG5cdFx0Zm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgdmFyaWFibGVzKSB7XG5cdFx0XHR2YXJpYWJsZXMuc2V0KGtleSwgVmFsdWVzLnBhcnNlVmFsdWUodmFsdWUpKTtcblx0XHR9XG5cdFx0cmV0dXJuIHZhcmlhYmxlcztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXJpYWxpemVzIGEgdmFsdWUgZm9yIHBlcnNpc3RlbmNlIG9yIEFQSSB0cmFuc2Zlci5cblx0ICogQXJyYXlzIGFuZCBvYmplY3RzIGFyZSBjb252ZXJ0ZWQgaW50byB0aGVpciByZXNwZWN0aXZlIEpTT04gc3RyaW5nIHJlcHJlc2VudGF0aW9ucy5cblx0ICogTm90ZTogQXJyYXlzIGFyZSBhZGRpdGlvbmFsbHkgY29udmVydGVkIGludG8gYSBgamF2YS51dGlsLkxpc3RgIG9mIHN0cmluZ2lmaWVkIGVsZW1lbnRzIGZvciBKYXZhIEFQSSBjb21wYXRpYmlsaXR5LlxuXHQgKiBQcmltaXRpdmUgdHlwZXMgYXJlIHJldHVybmVkIGFzIGlzLlxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHNlcmlhbGl6ZS5cblx0ICogQHJldHVybnMgVGhlIEpTT04gc3RyaW5nIHJlcHJlc2VudGF0aW9uLCBhIEphdmEgTGlzdCAoZm9yIGFycmF5cyksIG9yIHRoZSBvcmlnaW5hbCBwcmltaXRpdmUgdmFsdWUuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHN0cmluZ2lmeVZhbHVlKHZhbHVlOiBhbnkpOiBhbnkge1xuXHRcdGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuXHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0cmV0dXJuIGphdmEudXRpbC5BcnJheXMuYXNMaXN0KHZhbHVlLm1hcChlID0+IEpTT04uc3RyaW5naWZ5KGUpKSk7XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG5cdFx0XHRyZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuXHRcdH1cblx0XHRyZXR1cm4gdmFsdWU7XG5cdH1cblxuXHQvKipcblx0ICogSXRlcmF0ZXMgb3ZlciB0aGUgdmFsdWVzIG9mIGEgTWFwIGFuZCBhcHBsaWVzIHtAbGluayAjc3RyaW5naWZ5VmFsdWUoYW55KX0gdG8gZWFjaCB2YWx1ZS5cblx0ICogVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCB0byBzZXJpYWxpemUgYSBtYXAgb2YgdmFyaWFibGVzIGJlZm9yZSBzZW5kaW5nIHRoZW0gdG8gYW4gQVBJIGNhbGwuXG5cdCAqIEBwYXJhbSB2YXJpYWJsZXMgVGhlIE1hcCBvZiB2YXJpYWJsZSBuYW1lcyB0byB0aGVpciB2YWx1ZXMuXG5cdCAqIEByZXR1cm5zIFRoZSBNYXAgd2l0aCBhbGwgdmFsdWVzIHNlcmlhbGl6ZWQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHN0cmluZ2lmeVZhbHVlc01hcCh2YXJpYWJsZXM6IE1hcDxzdHJpbmcsIGFueT4pOiBNYXA8c3RyaW5nLCBhbnk+IHtcblx0XHRmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiB2YXJpYWJsZXMpIHtcblx0XHRcdHZhcmlhYmxlcy5zZXQoa2V5LCBWYWx1ZXMuc3RyaW5naWZ5VmFsdWUodmFsdWUpKTtcblx0XHR9XG5cdFx0cmV0dXJuIHZhcmlhYmxlcztcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFZhbHVlcztcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQk8sTUFBTSxPQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNuQixPQUFjLFdBQVcsT0FBaUI7QUFDekMsUUFBSTtBQUNILGFBQU8sS0FBSyxNQUFNLEtBQUs7QUFBQSxJQUN4QixTQUFTLEdBQUc7QUFBQSxJQUVaO0FBQ0EsV0FBTztBQUFBLEVBQ1I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsZUFBZSxXQUErQztBQUMzRSxlQUFXLENBQUMsS0FBSyxLQUFLLEtBQUssV0FBVztBQUNyQyxnQkFBVSxJQUFJLEtBQUssT0FBTyxXQUFXLEtBQUssQ0FBQztBQUFBLElBQzVDO0FBQ0EsV0FBTztBQUFBLEVBQ1I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVQSxPQUFjLGVBQWUsT0FBaUI7QUFDN0MsUUFBSSxNQUFNLFFBQVEsS0FBSyxHQUFHO0FBRXpCLGFBQU8sS0FBSyxLQUFLLE9BQU8sT0FBTyxNQUFNLElBQUksT0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFBQSxJQUNqRSxXQUFXLE9BQU8sVUFBVSxVQUFVO0FBQ3JDLGFBQU8sS0FBSyxVQUFVLEtBQUs7QUFBQSxJQUM1QjtBQUNBLFdBQU87QUFBQSxFQUNSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLG1CQUFtQixXQUErQztBQUMvRSxlQUFXLENBQUMsS0FBSyxLQUFLLEtBQUssV0FBVztBQUNyQyxnQkFBVSxJQUFJLEtBQUssT0FBTyxlQUFlLEtBQUssQ0FBQztBQUFBLElBQ2hEO0FBQ0EsV0FBTztBQUFBLEVBQ1I7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -61,4 +61,4 @@ class Cache {
61
61
  CacheFacade.clear();
62
62
  }
63
63
  }
64
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NhY2hlL2NhY2hlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENhY2hlXG4gKiAqIFByb3ZpZGVzIGEgc3RhdGljIHV0aWxpdHkgZm9yIGludGVyYWN0aW5nIHdpdGggYSBzZXJ2ZXItc2lkZSBjYWNoZSBmYWNhZGUsIGVuYWJsaW5nXG4gKiBzaW1wbGUga2V5LXZhbHVlIHN0b3JhZ2UsIHJldHJpZXZhbCwgYW5kIGludmFsaWRhdGlvbiBvcGVyYXRpb25zLlxuICovXG5jb25zdCBDYWNoZUZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5jYWNoZS5DYWNoZUZhY2FkZVwiKTtcblxuZXhwb3J0IGNsYXNzIENhY2hlIHtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgY2FjaGUgY29udGFpbnMgYSB2YWx1ZSBmb3IgdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGtleSBleGlzdHMgaW4gdGhlIGNhY2hlLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBjb250YWlucyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gQ2FjaGVGYWNhZGUuY29udGFpbnMoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIGtleSBmcm9tIHRoZSBjYWNoZS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gcmV0cmlldmUuXG4gICAgICogQHJldHVybnMgVGhlIGNhY2hlZCB2YWx1ZSwgb3IgYHVuZGVmaW5lZGAgaWYgdGhlIGtleSBpcyBub3QgZm91bmQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXQoa2V5OiBhbnkpOiBhbnkgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gQ2FjaGVGYWNhZGUuZ2V0KGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3RvcmVzIGEgdmFsdWUgaW4gdGhlIGNhY2hlIHVuZGVyIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIE5vdGU6IFRoZSBkdXJhdGlvbi90aW1lLXRvLWxpdmUgKFRUTCkgaXMgdHlwaWNhbGx5IGNvbmZpZ3VyZWQgc2VydmVyLXNpZGUuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHN0b3JlIHRoZSBkYXRhIHVuZGVyLlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIHRvIHN0b3JlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgc2V0KGtleTogc3RyaW5nLCBkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgQ2FjaGVGYWNhZGUuc2V0KGtleSwgZGF0YSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyB0aGUga2V5IGFuZCBpdHMgYXNzb2NpYXRlZCB2YWx1ZSBmcm9tIHRoZSBjYWNoZS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gZGVsZXRlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZGVsZXRlKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIENhY2hlRmFjYWRlLmRlbGV0ZShrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFycyBhbGwgZW50cmllcyBmcm9tIHRoZSBjYWNoZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICBDYWNoZUZhY2FkZS5jbGVhcigpO1xuICAgIH1cbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQSxNQUFNLGNBQWMsS0FBSyxLQUFLLHdEQUF3RDtBQUUvRSxNQUFNLE1BQU07QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPZixPQUFjLFNBQVMsS0FBc0I7QUFDekMsV0FBTyxZQUFZLFNBQVMsR0FBRztBQUFBLEVBQ25DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxJQUFJLEtBQTJCO0FBQ3pDLFdBQU8sWUFBWSxJQUFJLEdBQUc7QUFBQSxFQUM5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxJQUFJLEtBQWEsTUFBaUI7QUFDNUMsZ0JBQVksSUFBSSxLQUFLLElBQUk7QUFBQSxFQUM3QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLE9BQU8sS0FBbUI7QUFDcEMsZ0JBQVksT0FBTyxHQUFHO0FBQUEsRUFDMUI7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLE9BQWMsUUFBYztBQUN4QixnQkFBWSxNQUFNO0FBQUEsRUFDdEI7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
64
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NhY2hlL2NhY2hlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgY2FjaGUvY2FjaGVcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9jYWNoZVxuICogQG5hbWUgQ2FjaGVcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBDYWNoZWAgY2xhc3MgdGhhdCBzZXJ2ZXMgYXMgYSBzdGF0aWMgdXRpbGl0eSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIHNlcnZlci1zaWRlIGNhY2hlIGZhY2FkZS4gVGhlIGBDYWNoZWAgY2xhc3MgYWxsb3dzIGRldmVsb3BlcnMgdG8gcGVyZm9ybSBzaW1wbGUga2V5LXZhbHVlIHN0b3JhZ2UsIHJldHJpZXZhbCwgYW5kIGludmFsaWRhdGlvbiBvcGVyYXRpb25zIG9uIHRoZSBjYWNoZSwgZW5hYmxpbmcgZWZmaWNpZW50IGRhdGEgbWFuYWdlbWVudCBhbmQgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uIHdpdGhpbiB0aGUgRGlyaWdpYmxlIGVudmlyb25tZW50LlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzXG4gKiAtIFNpbXBsZSBrZXktdmFsdWUgc3RvcmFnZTogU3RvcmUgYW55IHNlcmlhbGl6YWJsZSBkYXRhIGluIHRoZSBjYWNoZSB1c2luZyBhIHVuaXF1ZSBrZXkuXG4gKiAtIEVmZmljaWVudCByZXRyaWV2YWw6IFF1aWNrbHkgcmV0cmlldmUgY2FjaGVkIHZhbHVlcyB1c2luZyB0aGVpciBhc3NvY2lhdGVkIGtleXMuXG4gKiAtIENhY2hlIGludmFsaWRhdGlvbjogUmVtb3ZlIHNwZWNpZmljIGVudHJpZXMgb3IgY2xlYXIgdGhlIGVudGlyZSBjYWNoZSB3aGVuIG5lZWRlZC5cbiAqIC0gU2VydmVyLXNpZGUgbWFuYWdlbWVudDogVGhlIGNhY2hlIGlzIG1hbmFnZWQgb24gdGhlIHNlcnZlciwgYWxsb3dpbmcgZm9yIGNlbnRyYWxpemVkIGNvbnRyb2wgb3ZlciBjYWNoaW5nIGJlaGF2aW9yIGFuZCBwb2xpY2llcy5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBDYWNoaW5nIGZyZXF1ZW50bHkgYWNjZXNzZWQgZGF0YSB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIGFuZCByZWR1Y2UgbGF0ZW5jeS5cbiAqIC0gU3RvcmluZyBpbnRlcm1lZGlhdGUgcmVzdWx0cyBvZiBleHBlbnNpdmUgY29tcHV0YXRpb25zIG9yIEFQSSBjYWxscyBmb3IgcmV1c2UuXG4gKiAtIE1hbmFnaW5nIHNlc3Npb24gZGF0YSBvciB1c2VyLXNwZWNpZmljIGluZm9ybWF0aW9uIGluIGEgc2NhbGFibGUgbWFubmVyLlxuICogLSBJbXBsZW1lbnRpbmcgYXBwbGljYXRpb24tbGV2ZWwgY2FjaGluZyBzdHJhdGVnaWVzIHRvIG9wdGltaXplIHJlc291cmNlIHVzYWdlIGFuZCByZXNwb25zZSB0aW1lcy5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2VcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBDYWNoZSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvY2FjaGVcIjtcbiAqIFxuICogLy8gU3RvcmUgYSB2YWx1ZSBpbiB0aGUgY2FjaGVcbiAqIENhY2hlLnNldChcInVzZXJfMTIzXCIsIHsgbmFtZTogXCJBbGljZVwiLCBhZ2U6IDMwIH0pO1xuICogLy8gUmV0cmlldmUgYSB2YWx1ZSBmcm9tIHRoZSBjYWNoZVxuICogY29uc3QgdXNlckRhdGEgPSBDYWNoZS5nZXQoXCJ1c2VyXzEyM1wiKTtcbiAqIGNvbnNvbGUubG9nKHVzZXJEYXRhKTsgLy8gT3V0cHV0OiB7IG5hbWU6IFwiQWxpY2VcIiwgYWdlOiAzMCB9XG4gKiAvLyBDaGVjayBpZiBhIGtleSBleGlzdHMgaW4gdGhlIGNhY2hlXG4gKiBjb25zdCBleGlzdHMgPSBDYWNoZS5jb250YWlucyhcInVzZXJfMTIzXCIpO1xuICogY29uc29sZS5sb2coZXhpc3RzKTsgLy8gT3V0cHV0OiB0cnVlXG4gKiAvLyBEZWxldGUgYSBzcGVjaWZpYyBrZXkgZnJvbSB0aGUgY2FjaGVcbiAqIENhY2hlLmRlbGV0ZShcInVzZXJfMTIzXCIpO1xuICogLy8gQ2xlYXIgdGhlIGVudGlyZSBjYWNoZVxuICogQ2FjaGUuY2xlYXIoKTtcbiAqIGBgYFxuICovXG5cbmNvbnN0IENhY2hlRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmNhY2hlLkNhY2hlRmFjYWRlXCIpO1xuXG5leHBvcnQgY2xhc3MgQ2FjaGUge1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBjYWNoZSBjb250YWlucyBhIHZhbHVlIGZvciB0aGUgc3BlY2lmaWVkIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUga2V5IGV4aXN0cyBpbiB0aGUgY2FjaGUsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGNvbnRhaW5zKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBDYWNoZUZhY2FkZS5jb250YWlucyhrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQga2V5IGZyb20gdGhlIGNhY2hlLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byByZXRyaWV2ZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgY2FjaGVkIHZhbHVlLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUga2V5IGlzIG5vdCBmb3VuZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldChrZXk6IGFueSk6IGFueSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBDYWNoZUZhY2FkZS5nZXQoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdG9yZXMgYSB2YWx1ZSBpbiB0aGUgY2FjaGUgdW5kZXIgdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICogTm90ZTogVGhlIGR1cmF0aW9uL3RpbWUtdG8tbGl2ZSAoVFRMKSBpcyB0eXBpY2FsbHkgY29uZmlndXJlZCBzZXJ2ZXItc2lkZS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gc3RvcmUgdGhlIGRhdGEgdW5kZXIuXG4gICAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgdG8gc3RvcmUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBzZXQoa2V5OiBzdHJpbmcsIGRhdGE6IGFueSk6IHZvaWQge1xuICAgICAgICBDYWNoZUZhY2FkZS5zZXQoa2V5LCBkYXRhKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIHRoZSBrZXkgYW5kIGl0cyBhc3NvY2lhdGVkIHZhbHVlIGZyb20gdGhlIGNhY2hlLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBkZWxldGUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBkZWxldGUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgQ2FjaGVGYWNhZGUuZGVsZXRlKGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIGFsbCBlbnRyaWVzIGZyb20gdGhlIGNhY2hlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIENhY2hlRmFjYWRlLmNsZWFyKCk7XG4gICAgfVxufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVDQSxNQUFNLGNBQWMsS0FBSyxLQUFLLHdEQUF3RDtBQUUvRSxNQUFNLE1BQU07QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPZixPQUFjLFNBQVMsS0FBc0I7QUFDekMsV0FBTyxZQUFZLFNBQVMsR0FBRztBQUFBLEVBQ25DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxJQUFJLEtBQTJCO0FBQ3pDLFdBQU8sWUFBWSxJQUFJLEdBQUc7QUFBQSxFQUM5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxJQUFJLEtBQWEsTUFBaUI7QUFDNUMsZ0JBQVksSUFBSSxLQUFLLElBQUk7QUFBQSxFQUM3QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLE9BQU8sS0FBbUI7QUFDcEMsZ0JBQVksT0FBTyxHQUFHO0FBQUEsRUFDMUI7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLE9BQWMsUUFBYztBQUN4QixnQkFBWSxNQUFNO0FBQUEsRUFDdEI7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -23,4 +23,4 @@ __export(cache_exports, {
23
23
  module.exports = __toCommonJS(cache_exports);
24
24
  var import_cache = require("./cache");
25
25
  __reExport(cache_exports, require("./cache"), module.exports);
26
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NhY2hlL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgeyBDYWNoZSBhcyBjYWNoZXMgfSBmcm9tIFwiLi9jYWNoZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9jYWNoZVwiXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsbUJBQWdDO0FBQ2hDLDBCQUFjLG9CQURkOyIsCiAgIm5hbWVzIjogW10KfQo=
26
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NhY2hlL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgY2FjaGUvaW5kZXhcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9jYWNoZVxuICogQG92ZXJ2aWV3XG4gKiBcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyBmb3IgY2FjaGluZyB3aXRoaW4gdGhlIEFlcm9raXQgU0RLLiBJdCBpbmNsdWRlcyBjbGFzc2VzIGFuZCBtZXRob2RzIGZvciBtYW5hZ2luZyBjYWNoZSBpbnN0YW5jZXMsIHN0b3JpbmcgYW5kIHJldHJpZXZpbmcgY2FjaGVkIGRhdGEsIGFuZCBjb25maWd1cmluZyBjYWNoZSBzZXR0aW5ncy5cbiAqIFxuICogVGhlIG1haW4gY29tcG9uZW50cyBvZiB0aGlzIG1vZHVsZSBhcmU6XG4gKiAtIENhY2hlOiBSZXByZXNlbnRzIGEgY2FjaGUgaW5zdGFuY2UgYW5kIHByb3ZpZGVzIG1ldGhvZHMgdG8gaW50ZXJhY3Qgd2l0aCBpdCwgc3VjaCBhcyBzdG9yaW5nIGFuZCByZXRyaWV2aW5nIGRhdGEuXG4gKi9cblxuZXhwb3J0IHsgQ2FjaGUgYXMgY2FjaGVzIH0gZnJvbSBcIi4vY2FjaGVcIlxuZXhwb3J0ICogZnJvbSBcIi4vY2FjaGVcIlxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLG1CQUFnQztBQUNoQywwQkFBYyxvQkFaZDsiLAogICJuYW1lcyI6IFtdCn0K
@@ -614,4 +614,4 @@ class TypeDefinition {
614
614
  if (typeof module !== "undefined") {
615
615
  module.exports = Cmis;
616
616
  }
617
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Ntcy9jbWlzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEFQSSBDTUlTXG4gKiAqIE5vdGU6IFRoaXMgbW9kdWxlIGlzIHN1cHBvcnRlZCBvbmx5IHdpdGggdGhlIE1vemlsbGEgUmhpbm8gZW5naW5lXG4gKiAqIFByb3ZpZGVzIHN0YXRpYyBhY2Nlc3MgdG8gdGhlIENNSVMgKENvbnRlbnQgTWFuYWdlbWVudCBJbnRlcm9wZXJhYmlsaXR5IFNlcnZpY2VzKSByZXBvc2l0b3J5IHNlc3Npb24gYW5kIHV0aWxpdHkgY29uc3RhbnRzLlxuICovXG5cbmltcG9ydCAqIGFzIHN0cmVhbXMgZnJvbSBcIkBhZXJva2l0L3Nkay9pby9zdHJlYW1zXCI7XG5jb25zdCBDbWlzRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmNtcy5DbWlzRmFjYWRlXCIpO1xuY29uc3QgR3NvbiA9IEphdmEudHlwZShcImNvbS5nb29nbGUuZ3Nvbi5Hc29uXCIpO1xuY29uc3QgSGFzaE1hcCA9IEphdmEudHlwZShcImphdmEudXRpbC5IYXNoTWFwXCIpO1xuXG5leHBvcnQgY2xhc3MgQ21pcyB7XG5cblx0Ly8gQ09OU1RBTlRTXG5cdC8qKlxuXHQgKiBDTUlTIG1ldGhvZCBjb25zdGFudCBmb3IgcmVhZCBvcGVyYXRpb25zLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBNRVRIT0RfUkVBRCA9IFwiUkVBRFwiO1xuXHQvKipcblx0ICogQ01JUyBtZXRob2QgY29uc3RhbnQgZm9yIHdyaXRlIG9wZXJhdGlvbnMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE1FVEhPRF9XUklURSA9IFwiV1JJVEVcIjtcblxuXHQvLyAtLS0tIEJhc2UgQ01JUyBQcm9wZXJ0aWVzIC0tLS1cblx0LyoqIENNSVMgcHJvcGVydHk6IE9iamVjdCBuYW1lLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5BTUUgPSBcImNtaXM6bmFtZVwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogVW5pcXVlIG9iamVjdCBpZGVudGlmaWVyLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE9CSkVDVF9JRCA9IFwiY21pczpvYmplY3RJZFwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogT2JqZWN0IHR5cGUgaWRlbnRpZmllci4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBPQkpFQ1RfVFlQRV9JRCA9IFwiY21pczpvYmplY3RUeXBlSWRcIjtcblx0LyoqIENNSVMgcHJvcGVydHk6IEJhc2Ugb2JqZWN0IHR5cGUgaWRlbnRpZmllci4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBCQVNFX1RZUEVfSUQgPSBcImNtaXM6YmFzZVR5cGVJZFwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogVXNlciB3aG8gY3JlYXRlZCB0aGUgb2JqZWN0LiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENSRUFURURfQlkgPSBcImNtaXM6Y3JlYXRlZEJ5XCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBUaW1lc3RhbXAgb2Ygb2JqZWN0IGNyZWF0aW9uLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENSRUFUSU9OX0RBVEUgPSBcImNtaXM6Y3JlYXRpb25EYXRlXCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBVc2VyIHdobyBsYXN0IG1vZGlmaWVkIHRoZSBvYmplY3QuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTEFTVF9NT0RJRklFRF9CWSA9IFwiY21pczpsYXN0TW9kaWZpZWRCeVwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogVGltZXN0YW1wIG9mIGxhc3QgbW9kaWZpY2F0aW9uLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IExBU1RfTU9ESUZJQ0FUSU9OX0RBVEUgPSBcImNtaXM6bGFzdE1vZGlmaWNhdGlvbkRhdGVcIjtcblx0LyoqIENNSVMgcHJvcGVydHk6IENoYW5nZSB0b2tlbiBmb3Igb2JqZWN0IGNoYW5nZSB0cmFja2luZy4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBDSEFOR0VfVE9LRU4gPSBcImNtaXM6Y2hhbmdlVG9rZW5cIjtcblxuXHQvLyAtLS0tIERvY3VtZW50IENNSVMgUHJvcGVydGllcyAtLS0tXG5cdC8qKiBDTUlTIHByb3BlcnR5OiBJbmRpY2F0ZXMgaWYgdGhlIGRvY3VtZW50IGlzIGltbXV0YWJsZS4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBJU19JTU1VVEFCTEUgPSBcImNtaXM6aXNJbW11dGFibGVcIjtcblx0LyoqIENNSVMgcHJvcGVydHk6IEluZGljYXRlcyBpZiB0aGUgZG9jdW1lbnQgaXMgdGhlIGxhdGVzdCB2ZXJzaW9uIGluIHRoZSB2ZXJzaW9uIHNlcmllcy4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBJU19MQVRFU1RfVkVSU0lPTiA9IFwiY21pczppc0xhdGVzdFZlcnNpb25cIjtcblx0LyoqIENNSVMgcHJvcGVydHk6IEluZGljYXRlcyBpZiB0aGUgZG9jdW1lbnQgaXMgYSBtYWpvciB2ZXJzaW9uLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElTX01BSk9SX1ZFUlNJT04gPSBcImNtaXM6aXNNYWpvclZlcnNpb25cIjtcblx0LyoqIENNSVMgcHJvcGVydHk6IEluZGljYXRlcyBpZiB0aGUgZG9jdW1lbnQgaXMgdGhlIGxhdGVzdCBtYWpvciB2ZXJzaW9uLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElTX0xBVEVTVF9NQUpPUl9WRVJTSU9OID0gXCJjbWlzOmlzTGF0ZXN0TWFqb3JWZXJzaW9uXCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBMYWJlbCBvZiB0aGUgZG9jdW1lbnQgdmVyc2lvbi4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBWRVJTSU9OX0xBQkVMID0gXCJjbWlzOnZlcnNpb25MYWJlbFwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogSUQgb2YgdGhlIHZlcnNpb24gc2VyaWVzLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFZFUlNJT05fU0VSSUVTX0lEID0gXCJjbWlzOnZlcnNpb25TZXJpZXNJZFwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogSW5kaWNhdGVzIGlmIHRoZSB2ZXJzaW9uIHNlcmllcyBpcyBjaGVja2VkIG91dC4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBJU19WRVJTSU9OX1NFUklFU19DSEVDS0VEX09VVCA9IFwiY21pczppc1ZlcnNpb25TZXJpZXNDaGVja2VkT3V0XCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBVc2VyIHdobyBjaGVja2VkIG91dCB0aGUgdmVyc2lvbiBzZXJpZXMuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVkVSU0lPTl9TRVJJRVNfQ0hFQ0tFRF9PVVRfQlkgPSBcImNtaXM6dmVyc2lvblNlcmllc0NoZWNrZWRPdXRCeVwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogSUQgb2YgdGhlIGNoZWNrZWQtb3V0IGRvY3VtZW50IG9iamVjdC4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBWRVJTSU9OX1NFUklFU19DSEVDS0VEX09VVF9JRCA9IFwiY21pczp2ZXJzaW9uU2VyaWVzQ2hlY2tlZE91dElkXCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBDb21tZW50IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2hlY2staW4gb3BlcmF0aW9uLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENIRUNLSU5fQ09NTUVOVCA9IFwiY21pczpjaGVja2luQ29tbWVudFwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogTGVuZ3RoIG9mIHRoZSBjb250ZW50IHN0cmVhbSBpbiBieXRlcy4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBDT05URU5UX1NUUkVBTV9MRU5HVEggPSBcImNtaXM6Y29udGVudFN0cmVhbUxlbmd0aFwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogTUlNRSB0eXBlIG9mIHRoZSBjb250ZW50IHN0cmVhbS4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBDT05URU5UX1NUUkVBTV9NSU1FX1RZUEUgPSBcImNtaXM6Y29udGVudFN0cmVhbU1pbWVUeXBlXCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBPcmlnaW5hbCBmaWxlIG5hbWUgb2YgdGhlIGNvbnRlbnQgc3RyZWFtLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENPTlRFTlRfU1RSRUFNX0ZJTEVfTkFNRSA9IFwiY21pczpjb250ZW50U3RyZWFtRmlsZU5hbWVcIjtcblx0LyoqIENNSVMgcHJvcGVydHk6IElEIG9mIHRoZSBjb250ZW50IHN0cmVhbS4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBDT05URU5UX1NUUkVBTV9JRCA9IFwiY21pczpjb250ZW50U3RyZWFtSWRcIjtcblxuXHQvLyAtLS0tIEZvbGRlciBDTUlTIFByb3BlcnRpZXMgLS0tLVxuXHQvKiogQ01JUyBwcm9wZXJ0eTogT2JqZWN0IElEIG9mIHRoZSBwYXJlbnQgZm9sZGVyLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBBUkVOVF9JRCA9IFwiY21pczpwYXJlbnRJZFwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogTGlzdCBvZiBhbGxvd2VkIG9iamVjdCB0eXBlIElEcyBmb3IgY2hpbGRyZW4uICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUxMT1dFRF9DSElMRF9PQkpFQ1RfVFlQRV9JRFMgPSBcImNtaXM6YWxsb3dlZENoaWxkT2JqZWN0VHlwZUlkc1wiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogUGF0aCBvZiB0aGUgZm9sZGVyIGluIHRoZSByZXBvc2l0b3J5LiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBBVEggPSBcImNtaXM6cGF0aFwiO1xuXG5cdC8vIC0tLS0gUmVsYXRpb25zaGlwIENNSVMgUHJvcGVydGllcyAtLS0tXG5cdC8qKiBDTUlTIHByb3BlcnR5OiBPYmplY3QgSUQgb2YgdGhlIHJlbGF0aW9uc2hpcCBzb3VyY2UuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU09VUkNFX0lEID0gXCJjbWlzOnNvdXJjZUlkXCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBPYmplY3QgSUQgb2YgdGhlIHJlbGF0aW9uc2hpcCB0YXJnZXQuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVEFSR0VUX0lEID0gXCJjbWlzOnRhcmdldElkXCI7XG5cblx0Ly8gLS0tLSBQb2xpY3kgQ01JUyBQcm9wZXJ0aWVzIC0tLS1cblx0LyoqIENNSVMgcHJvcGVydHk6IFRleHQgY29udGVudCBvZiB0aGUgcG9saWN5LiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBPTElDWV9URVhUID0gXCJjbWlzOnBvbGljeVRleHRcIjtcblxuXHQvLyAtLS0tIFZlcnNpb25pbmcgU3RhdGVzIC0tLS1cblx0LyoqIENNSVMgVmVyc2lvbmluZyBTdGF0ZTogTm8gdmVyc2lvbmluZy4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBWRVJTSU9OSU5HX1NUQVRFX05PTkUgPSBcIm5vbmVcIjtcblx0LyoqIENNSVMgVmVyc2lvbmluZyBTdGF0ZTogQ3JlYXRlIGEgbmV3IG1ham9yIHZlcnNpb24uICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVkVSU0lPTklOR19TVEFURV9NQUpPUiA9IFwibWFqb3JcIjtcblx0LyoqIENNSVMgVmVyc2lvbmluZyBTdGF0ZTogQ3JlYXRlIGEgbmV3IG1pbm9yIHZlcnNpb24uICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVkVSU0lPTklOR19TVEFURV9NSU5PUiA9IFwibWlub3JcIjtcblx0LyoqIENNSVMgVmVyc2lvbmluZyBTdGF0ZTogRG9jdW1lbnQgaXMgY2hlY2tlZCBvdXQuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVkVSU0lPTklOR19TVEFURV9DSEVDS0VET1VUID0gXCJjaGVja2Vkb3V0XCI7XG5cblx0Ly8gLS0tLSBPYmplY3QgVHlwZXMgLS0tLVxuXHQvKiogQ01JUyBPYmplY3QgVHlwZSBJRDogRG9jdW1lbnQuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgT0JKRUNUX1RZUEVfRE9DVU1FTlQgPSBcImNtaXM6ZG9jdW1lbnRcIjtcblx0LyoqIENNSVMgT2JqZWN0IFR5cGUgSUQ6IEZvbGRlci4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBPQkpFQ1RfVFlQRV9GT0xERVIgPSBcImNtaXM6Zm9sZGVyXCI7XG5cdC8qKiBDTUlTIE9iamVjdCBUeXBlIElEOiBSZWxhdGlvbnNoaXAuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgT0JKRUNUX1RZUEVfUkVMQVRJT05TSElQID0gXCJjbWlzOnJlbGF0aW9uc2hpcFwiO1xuXHQvKiogQ01JUyBPYmplY3QgVHlwZSBJRDogUG9saWN5LiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE9CSkVDVF9UWVBFX1BPTElDWSA9IFwiY21pczpwb2xpY3lcIjtcblx0LyoqIENNSVMgT2JqZWN0IFR5cGUgSUQ6IEl0ZW0uICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgT0JKRUNUX1RZUEVfSVRFTSA9IFwiY21pczppdGVtXCI7XG5cdC8qKiBDTUlTIE9iamVjdCBUeXBlIElEOiBTZWNvbmRhcnkuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgT0JKRUNUX1RZUEVfU0VDT05EQVJZID0gXCJjbWlzOnNlY29uZGFyeVwiO1xuXG5cdC8qKlxuXHQgKiBHZXRzIGEgbmV3IENNSVMgc2Vzc2lvbiBpbnN0YW5jZSB0byBpbnRlcmFjdCB3aXRoIHRoZSByZXBvc2l0b3J5LlxuXHQgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgU2Vzc2lvbn0gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldFNlc3Npb24oKTogU2Vzc2lvbiB7XG5cdFx0Y29uc3QgbmF0aXZlID0gQ21pc0ZhY2FkZS5nZXRTZXNzaW9uKCk7XG5cdFx0cmV0dXJuIG5ldyBTZXNzaW9uKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGFjY2VzcyBjb250cm9sIGRlZmluaXRpb25zIGZvciBhIHNwZWNpZmljIHBhdGggYW5kIG1ldGhvZC5cblx0ICogQHBhcmFtIHBhdGggVGhlIHBhdGggb2YgdGhlIENNSVMgb2JqZWN0LlxuXHQgKiBAcGFyYW0gbWV0aG9kIFRoZSBvcGVyYXRpb24gbWV0aG9kIChlLmcuLCB7QGxpbmsgQ21pcy5NRVRIT0RfUkVBRH0sIHtAbGluayBDbWlzLk1FVEhPRF9XUklURX0pLlxuXHQgKiBAcmV0dXJucyBBIGxpc3Qgb2YgYWNjZXNzIGRlZmluaXRpb25zLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRBY2Nlc3NEZWZpbml0aW9ucyhwYXRoOiBzdHJpbmcsIG1ldGhvZDogc3RyaW5nKTogQWNjZXNzRGVmaW5pdGlvbltdIHtcblx0XHRjb25zdCBhY2Nlc3NEZWZpbml0aW9ucyA9IENtaXNGYWNhZGUuZ2V0QWNjZXNzRGVmaW5pdGlvbnMocGF0aCwgbWV0aG9kKTtcblx0XHRyZXR1cm4gSlNPTi5wYXJzZShuZXcgR3NvbigpLnRvSnNvbihhY2Nlc3NEZWZpbml0aW9ucykpO1xuXHR9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBhY2Nlc3MgY29udHJvbCBlbnRyeSAoQUNFKSBmb3IgYSBDTUlTIG9iamVjdCwgZGV0YWlsaW5nXG4gKiB3aG8gaGFzIHdoYXQgcGVybWlzc2lvbnMgb24gYSBwYXRoLlxuICovXG5pbnRlcmZhY2UgQWNjZXNzRGVmaW5pdGlvbiB7XG5cdC8qKiBHZXRzIHRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGFjY2VzcyBkZWZpbml0aW9uLiAqL1xuXHRnZXRJZCgpOiBzdHJpbmc7XG5cdC8qKiBHZXRzIHRoZSBzY29wZSBvZiB0aGUgZGVmaW5pdGlvbiAoZS5nLiwgJ3VzZXInLCAnZ3JvdXAnKS4gKi9cblx0Z2V0U2NvcGUoKTogc3RyaW5nO1xuXHQvKiogR2V0cyB0aGUgcGF0aCBvZiB0aGUgQ01JUyBvYmplY3QgdGhpcyBkZWZpbml0aW9uIGFwcGxpZXMgdG8uICovXG5cdGdldFBhdGgoKTogc3RyaW5nO1xuXHQvKiogR2V0cyB0aGUgbWV0aG9kL29wZXJhdGlvbiB0aGlzIGRlZmluaXRpb24gYXBwbGllcyB0byAoZS5nLiwgJ1JFQUQnLCAnV1JJVEUnKS4gKi9cblx0Z2V0TWV0aG9kKCk6IHN0cmluZztcblx0LyoqIEdldHMgdGhlIHNlY3VyaXR5IHJvbGUgKGUuZy4sICdBZG1pbmlzdHJhdG9yJywgJ1ZpZXdlcicpLiAqL1xuXHRnZXRSb2xlKCk6IHN0cmluZztcbn1cblxuLyoqXG4gKiBTZXNzaW9uIG9iamVjdFxuICogKiBSZXByZXNlbnRzIGFuIGFjdGl2ZSBjb25uZWN0aW9uIHRvIGEgQ01JUyByZXBvc2l0b3J5LCB1c2VkIGFzIHRoZSBtYWluIGVudHJ5IHBvaW50IGZvciBDTUlTIG9wZXJhdGlvbnMuXG4gKi9cbmNsYXNzIFNlc3Npb24ge1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGluZm9ybWF0aW9uIGFib3V0IHRoZSByZXBvc2l0b3J5IHRoaXMgc2Vzc2lvbiBpcyBjb25uZWN0ZWQgdG8uXG5cdCAqIEByZXR1cm5zIFJlcG9zaXRvcnkgbWV0YWRhdGEuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UmVwb3NpdG9yeUluZm8oKTogUmVwb3NpdG9yeUluZm8ge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldFJlcG9zaXRvcnlJbmZvKCk7XG5cdFx0cmV0dXJuIG5ldyBSZXBvc2l0b3J5SW5mbyhuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHJvb3QgZm9sZGVyIG9mIHRoZSByZXBvc2l0b3J5LlxuXHQgKiBAcmV0dXJucyBUaGUgcm9vdCB7QGxpbmsgRm9sZGVyfSBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Um9vdEZvbGRlcigpOiBGb2xkZXIge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldFJvb3RGb2xkZXIoKTtcblx0XHRyZXR1cm4gbmV3IEZvbGRlcihuYXRpdmUsIG51bGwpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG9iamVjdCBmYWN0b3J5IGZvciBjcmVhdGluZyBuZXcgQ01JUyBvYmplY3RzIGxpa2UgQ29udGVudFN0cmVhbS5cblx0ICogQHJldHVybnMgQW4ge0BsaW5rIE9iamVjdEZhY3Rvcnl9IGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldE9iamVjdEZhY3RvcnkoKTogT2JqZWN0RmFjdG9yeSB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0T2JqZWN0RmFjdG9yeSgpO1xuXHRcdHJldHVybiBuZXcgT2JqZWN0RmFjdG9yeShuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIENNSVMgb2JqZWN0IChEb2N1bWVudCBvciBGb2xkZXIpIGJ5IGl0cyB1bmlxdWUgSUQuXG5cdCAqIEBwYXJhbSBvYmplY3RJZCBUaGUgdW5pcXVlIElEIG9mIHRoZSBvYmplY3QuXG5cdCAqIEByZXR1cm5zIEEge0BsaW5rIERvY3VtZW50fSBvciB7QGxpbmsgRm9sZGVyfSBpbnN0YW5jZS5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgb2JqZWN0IHR5cGUgaXMgdW5zdXBwb3J0ZWQuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0T2JqZWN0KG9iamVjdElkOiBzdHJpbmcpOiBGb2xkZXIgfCBEb2N1bWVudCB7XG5cdFx0Y29uc3Qgb2JqZWN0SW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRPYmplY3Qob2JqZWN0SWQpO1xuXHRcdGNvbnN0IG9iamVjdEluc3RhbmNlVHlwZSA9IG9iamVjdEluc3RhbmNlLmdldFR5cGUoKTtcblx0XHRjb25zdCBvYmplY3RJbnN0YW5jZVR5cGVJZCA9IG9iamVjdEluc3RhbmNlVHlwZS5nZXRJZCgpO1xuXHRcdGlmIChvYmplY3RJbnN0YW5jZVR5cGVJZCA9PT0gQ21pcy5PQkpFQ1RfVFlQRV9ET0NVTUVOVCkge1xuXHRcdFx0cmV0dXJuIG5ldyBEb2N1bWVudChvYmplY3RJbnN0YW5jZSwgbnVsbCk7XG5cdFx0fSBlbHNlIGlmIChvYmplY3RJbnN0YW5jZVR5cGVJZCA9PT0gQ21pcy5PQkpFQ1RfVFlQRV9GT0xERVIpIHtcblx0XHRcdHJldHVybiBuZXcgRm9sZGVyKG9iamVjdEluc3RhbmNlLCBudWxsKTtcblx0XHR9XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiVW5zdXBwb3J0ZWQgQ01JUyBvYmplY3QgdHlwZTogXCIgKyBvYmplY3RJbnN0YW5jZVR5cGVJZCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgQ01JUyBvYmplY3QgKERvY3VtZW50IG9yIEZvbGRlcikgYnkgaXRzIHBhdGguXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBvYmplY3QgaW4gdGhlIHJlcG9zaXRvcnkgKGUuZy4sIFwiL3BhdGgvdG8vb2JqZWN0XCIpLlxuXHQgKiBAcmV0dXJucyBBIHtAbGluayBEb2N1bWVudH0gb3Ige0BsaW5rIEZvbGRlcn0gaW5zdGFuY2UuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgcmVhZCBhY2Nlc3MgaXMgbm90IGFsbG93ZWQgb3IgdGhlIG9iamVjdCB0eXBlIGlzIHVuc3VwcG9ydGVkLlxuXHQgKi9cblx0cHVibGljIGdldE9iamVjdEJ5UGF0aChwYXRoOiBzdHJpbmcpOiBGb2xkZXIgfCBEb2N1bWVudCB7XG5cdFx0Y29uc3QgYWxsb3dlZCA9IENtaXNGYWNhZGUuaXNBbGxvd2VkKHBhdGgsIENtaXMuTUVUSE9EX1JFQUQpO1xuXHRcdGlmICghYWxsb3dlZCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiUmVhZCBhY2Nlc3Mgbm90IGFsbG93ZWQgb246IFwiICsgcGF0aCk7XG5cdFx0fVxuXHRcdGNvbnN0IG9iamVjdEluc3RhbmNlID0gdGhpcy5uYXRpdmUuZ2V0T2JqZWN0QnlQYXRoKHBhdGgpO1xuXHRcdGNvbnN0IG9iamVjdEluc3RhbmNlVHlwZSA9IG9iamVjdEluc3RhbmNlLmdldFR5cGUoKTtcblx0XHRjb25zdCBvYmplY3RJbnN0YW5jZVR5cGVJZCA9IG9iamVjdEluc3RhbmNlVHlwZS5nZXRJZCgpO1xuXHRcdGlmIChvYmplY3RJbnN0YW5jZVR5cGVJZCA9PT0gQ21pcy5PQkpFQ1RfVFlQRV9ET0NVTUVOVCkge1xuXHRcdFx0cmV0dXJuIG5ldyBEb2N1bWVudChvYmplY3RJbnN0YW5jZSwgcGF0aCk7XG5cdFx0fSBlbHNlIGlmIChvYmplY3RJbnN0YW5jZVR5cGVJZCA9PT0gQ21pcy5PQkpFQ1RfVFlQRV9GT0xERVIpIHtcblx0XHRcdHJldHVybiBuZXcgRm9sZGVyKG9iamVjdEluc3RhbmNlLCBwYXRoKTtcblx0XHR9XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiVW5zdXBwb3J0ZWQgQ01JUyBvYmplY3QgdHlwZTogXCIgKyBvYmplY3RJbnN0YW5jZVR5cGVJZCk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIGZvbGRlciBzdHJ1Y3R1cmUgcmVjdXJzaXZlbHkgYmFzZWQgb24gYSBwYXRoLiBUaGlzIGlzIGEgY29udmVuaWVuY2UgbWV0aG9kIHRoYXRcblx0ICogY3JlYXRlcyBhbGwgbm9uLWV4aXN0ZW50IHBhcmVudCBmb2xkZXJzLlxuXHQgKiBFeGFtcGxlOiBgY3JlYXRlRm9sZGVyKFwiL25ldy9wYXRoL3N0cnVjdHVyZVwiKWBcblx0ICogQHBhcmFtIGxvY2F0aW9uIFRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgdG8gY3JlYXRlLlxuXHQgKiBAcmV0dXJucyBUaGUgbmV3bHkgY3JlYXRlZCAob3IgZXhpc3RpbmcpIGlubmVybW9zdCB7QGxpbmsgRm9sZGVyfSBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlRm9sZGVyKGxvY2F0aW9uOiBzdHJpbmcpOiBGb2xkZXIge1xuXHRcdGlmIChsb2NhdGlvbi5zdGFydHNXaXRoKFwiL1wiKSkge1xuXHRcdFx0bG9jYXRpb24gPSBsb2NhdGlvbi5zdWJzdHJpbmcoMSwgbG9jYXRpb24ubGVuZ3RoKTtcblx0XHR9XG5cdFx0aWYgKGxvY2F0aW9uLmVuZHNXaXRoKFwiL1wiKSkge1xuXHRcdFx0bG9jYXRpb24gPSBsb2NhdGlvbi5zdWJzdHJpbmcoMCwgbG9jYXRpb24ubGVuZ3RoIC0gMSk7XG5cdFx0fVxuXHRcdGNvbnN0IHNlZ21lbnRzID0gbG9jYXRpb24uc3BsaXQoXCIvXCIpO1xuXHRcdGxldCBmb2xkZXIgPSB0aGlzLmdldFJvb3RGb2xkZXIoKTtcblx0XHRmb3IgKGNvbnN0IG5leHQgb2Ygc2VnbWVudHMpIHtcblx0XHRcdGNvbnN0IHByb3BlcnRpZXMgPSB7XG5cdFx0XHRcdFtDbWlzLk9CSkVDVF9UWVBFX0lEXTogQ21pcy5PQkpFQ1RfVFlQRV9GT0xERVIsXG5cdFx0XHRcdFtDbWlzLk5BTUVdOiBuZXh0XG5cdFx0XHR9O1xuXHRcdFx0Zm9sZGVyID0gZm9sZGVyLmNyZWF0ZUZvbGRlcihwcm9wZXJ0aWVzKTtcblx0XHR9XG5cdFx0cmV0dXJuIGZvbGRlcjtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IGRvY3VtZW50IGF0IHRoZSBzcGVjaWZpZWQgbG9jYXRpb24uIFRoaXMgbWV0aG9kIGVuc3VyZXMgdGhlIHBhcmVudCBmb2xkZXIgc3RydWN0dXJlIGV4aXN0cy5cblx0ICogQHBhcmFtIGxvY2F0aW9uIFRoZSBwYXRoIG9mIHRoZSBwYXJlbnQgZm9sZGVyIChlLmcuLCBcIi9wYXRoL3RvL2ZvbGRlclwiKS5cblx0ICogQHBhcmFtIHByb3BlcnRpZXMgQSBtYXAgb2YgQ01JUyBwcm9wZXJ0aWVzIGZvciB0aGUgbmV3IGRvY3VtZW50IChtdXN0IGluY2x1ZGUge0BsaW5rIENtaXMuTkFNRX0pLlxuXHQgKiBAcGFyYW0gY29udGVudFN0cmVhbSBUaGUgY29udGVudCBzdHJlYW0gY29udGFpbmluZyB0aGUgZG9jdW1lbnQncyBiaW5hcnkgZGF0YS5cblx0ICogQHBhcmFtIHZlcnNpb25pbmdTdGF0ZSBUaGUgdmVyc2lvbmluZyBzdGF0ZSAoZS5nLiwge0BsaW5rIENtaXMuVkVSU0lPTklOR19TVEFURV9NQUpPUn0pLlxuXHQgKiBAcmV0dXJucyBUaGUgbmV3bHkgY3JlYXRlZCB7QGxpbmsgRG9jdW1lbnR9IG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBjcmVhdGVEb2N1bWVudChsb2NhdGlvbjogc3RyaW5nLCBwcm9wZXJ0aWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBjb250ZW50U3RyZWFtOiBDb250ZW50U3RyZWFtLCB2ZXJzaW9uaW5nU3RhdGU6IHN0cmluZyk6IERvY3VtZW50IHtcblx0XHRjb25zdCBmb2xkZXIgPSB0aGlzLmNyZWF0ZUZvbGRlcihsb2NhdGlvbik7XG5cdFx0cmV0dXJuIGZvbGRlci5jcmVhdGVEb2N1bWVudChwcm9wZXJ0aWVzLCBjb250ZW50U3RyZWFtLCB2ZXJzaW9uaW5nU3RhdGUpO1xuXHR9XG5cbn1cblxuLyoqXG4gKiBSZXBvc2l0b3J5SW5mbyBvYmplY3RcbiAqICogUHJvdmlkZXMgYmFzaWMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbm5lY3RlZCBDTUlTIHJlcG9zaXRvcnkuXG4gKi9cbmNsYXNzIFJlcG9zaXRvcnlJbmZvIHtcblxuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIHJlcG9zaXRvcnkuXG5cdCAqIEByZXR1cm5zIFRoZSByZXBvc2l0b3J5IElELlxuXHQgKi9cblx0cHVibGljIGdldElkKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldElkKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgcmVwb3NpdG9yeS5cblx0ICogQHJldHVybnMgVGhlIHJlcG9zaXRvcnkgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldE5hbWUoKTtcblx0fVxufVxuXG4vKipcbiAqIEZvbGRlciBvYmplY3RcbiAqICogUmVwcmVzZW50cyBhIENNSVMgZm9sZGVyIG9iamVjdCwgYWxsb3dpbmcgb3BlcmF0aW9ucyBsaWtlIGNyZWF0aW5nIGNoaWxkcmVuLCBkZWxldGluZywgYW5kIHJlbmFtaW5nLlxuICovXG5leHBvcnQgY2xhc3MgRm9sZGVyIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblx0cHJpdmF0ZSBwYXRoOiBhbnk7XG5cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnksIHBhdGg6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHRcdHRoaXMucGF0aCA9IHBhdGg7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGZvbGRlci5cblx0ICogQHJldHVybnMgVGhlIGZvbGRlciBJRC5cblx0ICovXG5cdHB1YmxpYyBnZXRJZCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRJZCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWUgb2YgdGhlIGZvbGRlci5cblx0ICogQHJldHVybnMgVGhlIGZvbGRlciBuYW1lLlxuXHQgKi9cblx0cHVibGljIGdldE5hbWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TmFtZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgZm9sZGVyIHdpdGhpbiB0aGlzIGZvbGRlci5cblx0ICogQHBhcmFtIHByb3BlcnRpZXMgQSBtYXAgb2YgQ01JUyBwcm9wZXJ0aWVzIGZvciB0aGUgbmV3IGZvbGRlciAobXVzdCBpbmNsdWRlIHtAbGluayBDbWlzLk5BTUV9KS5cblx0ICogQHJldHVybnMgVGhlIG5ld2x5IGNyZWF0ZWQge0BsaW5rIEZvbGRlcn0gb2JqZWN0LlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHdyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZC5cblx0ICovXG5cdHB1YmxpYyBjcmVhdGVGb2xkZXIocHJvcGVydGllczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IEZvbGRlciB7XG5cdFx0dmFyIGFsbG93ZWQgPSBDbWlzRmFjYWRlLmlzQWxsb3dlZCh0aGlzLmdldFBhdGgoKSwgQ21pcy5NRVRIT0RfV1JJVEUpO1xuXHRcdGlmICghYWxsb3dlZCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiV3JpdGUgYWNjZXNzIG5vdCBhbGxvd2VkIG9uOiBcIiArIHRoaXMuZ2V0UGF0aCgpKTtcblx0XHR9XG5cdFx0dmFyIG1hcEluc3RhbmNlID0gbmV3IEhhc2hNYXAoKTtcblx0XHRmb3IgKHZhciBwcm9wZXJ0eSBpbiBwcm9wZXJ0aWVzKSB7XG5cdFx0XHRpZiAocHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkpIHtcblx0XHRcdFx0bWFwSW5zdGFuY2UucHV0KHByb3BlcnR5LCBwcm9wZXJ0aWVzW3Byb3BlcnR5XSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHZhciBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5jcmVhdGVGb2xkZXIobWFwSW5zdGFuY2UpO1xuXHRcdHZhciBmb2xkZXIgPSBuZXcgRm9sZGVyKG5hdGl2ZSwgbnVsbCk7XG5cdFx0cmV0dXJuIGZvbGRlcjtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IGRvY3VtZW50IHdpdGhpbiB0aGlzIGZvbGRlci5cblx0ICogQHBhcmFtIHByb3BlcnRpZXMgQSBtYXAgb2YgQ01JUyBwcm9wZXJ0aWVzIGZvciB0aGUgbmV3IGRvY3VtZW50IChtdXN0IGluY2x1ZGUge0BsaW5rIENtaXMuTkFNRX0pLlxuXHQgKiBAcGFyYW0gY29udGVudFN0cmVhbSBUaGUgY29udGVudCBzdHJlYW0gY29udGFpbmluZyB0aGUgZG9jdW1lbnQncyBiaW5hcnkgZGF0YS5cblx0ICogQHBhcmFtIHZlcnNpb25pbmdTdGF0ZSBUaGUgdmVyc2lvbmluZyBzdGF0ZSAoZS5nLiwge0BsaW5rIENtaXMuVkVSU0lPTklOR19TVEFURV9NQUpPUn0pLlxuXHQgKiBAcmV0dXJucyBUaGUgbmV3bHkgY3JlYXRlZCB7QGxpbmsgRG9jdW1lbnR9IG9iamVjdC5cblx0ICogQHRocm93cyBFcnJvciBpZiB3cml0ZSBhY2Nlc3MgaXMgbm90IGFsbG93ZWQuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlRG9jdW1lbnQocHJvcGVydGllczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgY29udGVudFN0cmVhbTogQ29udGVudFN0cmVhbSwgdmVyc2lvbmluZ1N0YXRlOiBzdHJpbmcpOiBEb2N1bWVudCB7XG5cdFx0Y29uc3QgYWxsb3dlZCA9IENtaXNGYWNhZGUuaXNBbGxvd2VkKHRoaXMuZ2V0UGF0aCgpLCBDbWlzLk1FVEhPRF9XUklURSk7XG5cdFx0aWYgKCFhbGxvd2VkKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJXcml0ZSBhY2Nlc3Mgbm90IGFsbG93ZWQgb246IFwiICsgdGhpcy5nZXRQYXRoKCkpO1xuXHRcdH1cblx0XHRjb25zdCBtYXBJbnN0YW5jZSA9IG5ldyBIYXNoTWFwKCk7XG5cdFx0Zm9yIChjb25zdCBwcm9wZXJ0eSBpbiBwcm9wZXJ0aWVzKSB7XG5cdFx0XHRpZiAocHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkpIHtcblx0XHRcdFx0bWFwSW5zdGFuY2UucHV0KHByb3BlcnR5LCBwcm9wZXJ0aWVzW3Byb3BlcnR5XSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGNvbnN0IHN0YXRlID0gQ21pc0ZhY2FkZS5nZXRWZXJzaW9uaW5nU3RhdGUodmVyc2lvbmluZ1N0YXRlKTtcblxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5jcmVhdGVEb2N1bWVudChtYXBJbnN0YW5jZSwgY29udGVudFN0cmVhbS5uYXRpdmUsIHN0YXRlKTtcblx0XHRyZXR1cm4gbmV3IERvY3VtZW50KG5hdGl2ZSwgbnVsbCk7XG5cdH07XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgY2hpbGRyZW4gb2YgdGhpcyBmb2xkZXIuXG5cdCAqIEByZXR1cm5zIEEgbGlzdCBvZiBnZW5lcmljIHtAbGluayBDbWlzT2JqZWN0fSB3cmFwcGVycyBmb3IgdGhlIGNoaWxkcmVuLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHJlYWQgYWNjZXNzIGlzIG5vdCBhbGxvd2VkLlxuXHQgKi9cblx0cHVibGljIGdldENoaWxkcmVuKCk6IENtaXNPYmplY3RbXSB7XG5cdFx0Y29uc3QgYWxsb3dlZCA9IENtaXNGYWNhZGUuaXNBbGxvd2VkKHRoaXMuZ2V0UGF0aCgpLCBDbWlzLk1FVEhPRF9SRUFEKTtcblx0XHRpZiAoIWFsbG93ZWQpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIlJlYWQgYWNjZXNzIG5vdCBhbGxvd2VkIG9uOiBcIiArIHRoaXMuZ2V0UGF0aCgpKTtcblx0XHR9XG5cdFx0Y29uc3QgY2hpbGRyZW4gPSBbXTtcblx0XHRjb25zdCBjaGlsZHJlbkluc3RhbmNlID0gdGhpcy5uYXRpdmUuZ2V0Q2hpbGRyZW4oKTtcblx0XHRjb25zdCBjaGlsZHJlbkluc3RhbmNlSXRlcmF0b3IgPSBjaGlsZHJlbkluc3RhbmNlLml0ZXJhdG9yKCk7XG5cdFx0d2hpbGUgKGNoaWxkcmVuSW5zdGFuY2VJdGVyYXRvci5oYXNOZXh0KCkpIHtcblx0XHRcdGNvbnN0IGNtaXNPYmplY3RJbnN0YW5jZSA9IGNoaWxkcmVuSW5zdGFuY2VJdGVyYXRvci5uZXh0KCk7XG5cdFx0XHRjb25zdCBjbWlzT2JqZWN0ID0gbmV3IENtaXNPYmplY3QoY21pc09iamVjdEluc3RhbmNlKTtcblx0XHRcdGNoaWxkcmVuLnB1c2goY21pc09iamVjdCk7XG5cdFx0fVxuXHRcdHJldHVybiBjaGlsZHJlbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBwYXRoIG9mIHRoZSBmb2xkZXIuXG5cdCAqIEByZXR1cm5zIFRoZSBmb2xkZXIgcGF0aC5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMucGF0aDtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhpcyBmb2xkZXIgaXMgdGhlIHJvb3QgZm9sZGVyIG9mIHRoZSByZXBvc2l0b3J5LlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIGl0IGlzIHRoZSByb290IGZvbGRlciwgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIGlzUm9vdEZvbGRlcigpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuaXNSb290Rm9sZGVyKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgcGFyZW50IGZvbGRlciBvZiB0aGlzIGZvbGRlci5cblx0ICogQHJldHVybnMgVGhlIHBhcmVudCB7QGxpbmsgRm9sZGVyfSBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Rm9sZGVyUGFyZW50KCk6IEZvbGRlciB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0Rm9sZGVyUGFyZW50KCk7XG5cdFx0cmV0dXJuIG5ldyBGb2xkZXIobmF0aXZlLCBudWxsKTtcblx0fTtcblxuXHQvKipcblx0ICogRGVsZXRlcyB0aGlzIGZvbGRlciAobXVzdCBiZSBlbXB0eSB0byBzdWNjZWVkKS5cblx0ICogQHRocm93cyBFcnJvciBpZiB3cml0ZSBhY2Nlc3MgaXMgbm90IGFsbG93ZWQuXG5cdCAqL1xuXHRwdWJsaWMgZGVsZXRlKCk6IHZvaWQge1xuXHRcdGNvbnN0IGFsbG93ZWQgPSBDbWlzRmFjYWRlLmlzQWxsb3dlZCh0aGlzLmdldFBhdGgoKSwgQ21pcy5NRVRIT0RfV1JJVEUpO1xuXHRcdGlmICghYWxsb3dlZCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiV3JpdGUgYWNjZXNzIG5vdCBhbGxvd2VkIG9uOiBcIiArIHRoaXMuZ2V0UGF0aCgpKTtcblx0XHR9XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlKCk7XG5cdH07XG5cblx0LyoqXG5cdCAqIFJlbmFtZXMgdGhpcyBmb2xkZXIuXG5cdCAqIEBwYXJhbSBuZXdOYW1lIFRoZSBuZXcgbmFtZSBmb3IgdGhlIGZvbGRlci5cblx0ICogQHRocm93cyBFcnJvciBpZiB3cml0ZSBhY2Nlc3MgaXMgbm90IGFsbG93ZWQuXG5cdCAqL1xuXHRwdWJsaWMgcmVuYW1lKG5ld05hbWU6IHN0cmluZyk6IHZvaWQge1xuXHRcdGNvbnN0IGFsbG93ZWQgPSBDbWlzRmFjYWRlLmlzQWxsb3dlZCh0aGlzLmdldFBhdGgoKSwgQ21pcy5NRVRIT0RfV1JJVEUpO1xuXHRcdGlmICghYWxsb3dlZCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiV3JpdGUgYWNjZXNzIG5vdCBhbGxvd2VkIG9uOiBcIiArIHRoaXMuZ2V0UGF0aCgpKTtcblx0XHR9XG5cdFx0dGhpcy5uYXRpdmUucmVuYW1lKG5ld05hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgdGhpcyBmb2xkZXIgYW5kIGFsbCBpdHMgY29udGVudHMgcmVjdXJzaXZlbHkuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgd3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkLlxuXHQgKi9cblx0cHVibGljIGRlbGV0ZVRyZWUoKTogdm9pZCB7XG5cdFx0Y29uc3QgYWxsb3dlZCA9IENtaXNGYWNhZGUuaXNBbGxvd2VkKHRoaXMuZ2V0UGF0aCgpLCBDbWlzLk1FVEhPRF9XUklURSk7XG5cdFx0aWYgKCFhbGxvd2VkKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJXcml0ZSBhY2Nlc3Mgbm90IGFsbG93ZWQgb246IFwiICsgdGhpcy5nZXRQYXRoKCkpO1xuXHRcdH1cblx0XHRjb25zdCB1bmlmaWVkT2JqZWN0RGVsZXRlID0gQ21pc0ZhY2FkZS5nZXRVbmlmaWVkT2JqZWN0RGVsZXRlKCk7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlVHJlZSh0cnVlLCB1bmlmaWVkT2JqZWN0RGVsZXRlLCB0cnVlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSB0eXBlIGRlZmluaXRpb24gb2YgdGhlIGZvbGRlci5cblx0ICogQHJldHVybnMgVGhlIGZvbGRlcidzIHtAbGluayBUeXBlRGVmaW5pdGlvbn0uXG5cdCAqL1xuXHRwdWJsaWMgZ2V0VHlwZSgpOiBUeXBlRGVmaW5pdGlvbiB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0VHlwZSgpO1xuXHRcdHJldHVybiBuZXcgVHlwZURlZmluaXRpb24obmF0aXZlKTtcblx0fVxufVxuXG4vKipcbiAqIENtaXNPYmplY3Qgb2JqZWN0XG4gKiAqIEEgZ2VuZXJpYyB3cmFwcGVyIGZvciBDTUlTIG9iamVjdHMsIHVzZWQgcHJpbWFyaWx5IGZvciBjaGlsZHJlbiBsaXN0cy5cbiAqL1xuY2xhc3MgQ21pc09iamVjdCB7XG5cblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvYmplY3QuXG5cdCAqIEByZXR1cm5zIFRoZSBvYmplY3QgSUQuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0SWQoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0SWQoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBvYmplY3QuXG5cdCAqIEByZXR1cm5zIFRoZSBvYmplY3QgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBwYXRoIG9mIHRoZSBDTUlTIG9iamVjdC4gSGFuZGxlcyBkaWZmZXJlbmNlcyBpbiBuYXRpdmUgQ01JUyBpbXBsZW1lbnRhdGlvbnMuXG5cdCAqIEByZXR1cm5zIFRoZSBvYmplY3QgcGF0aC5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgcGF0aCBjYW5ub3QgYmUgZGV0ZXJtaW5lZC5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0Ly90aGlzIGlzIGNhdXNlZCBieSBoYXZpbmcgZGlmZmVyZW50IHVuZGVybHlpbmcgbmF0aXZlIG9iamVjdHMgaW4gZGlmZmVyZW50IGVudmlyb25tZW50cy5cblx0XHRpZiAodGhpcy5uYXRpdmUuZ2V0UGF0aCkge1xuXHRcdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldFBhdGgoKTtcblx0XHR9XG5cblx0XHQvL0FwYWNoZSBDaGVtaXN0cnkgQ21pc09iamVjdCBoYXMgbm8gZ2V0UGF0aCgpIGJ1dCBnZXRQYXRocygpIC0gaHR0cHM6Ly9jaGVtaXN0cnkuYXBhY2hlLm9yZy9kb2NzL2NtaXMtc2FtcGxlcy9zYW1wbGVzL3JldHJpZXZlLW9iamVjdHMvaW5kZXguaHRtbFxuXHRcdGlmICh0aGlzLm5hdGl2ZS5nZXRQYXRocykge1xuXHRcdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldFBhdGhzKClbMF07XG5cdFx0fVxuXG5cdFx0dGhyb3cgbmV3IEVycm9yKGBQYXRoIG5vdCBmb3VuZCBmb3IgQ21pc09iamVjdCB3aXRoIGlkICR7dGhpcy5nZXRJZCgpfWApO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHR5cGUgZGVmaW5pdGlvbiBvZiB0aGUgb2JqZWN0LlxuXHQgKiBAcmV0dXJucyBUaGUgb2JqZWN0J3Mge0BsaW5rIFR5cGVEZWZpbml0aW9ufS5cblx0ICovXG5cdHB1YmxpYyBnZXRUeXBlKCk6IFR5cGVEZWZpbml0aW9uIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRUeXBlKCk7XG5cdFx0cmV0dXJuIG5ldyBUeXBlRGVmaW5pdGlvbihuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgdGhlIENNSVMgb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIGRlbGV0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5kZWxldGUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW5hbWVzIHRoZSBDTUlTIG9iamVjdC5cblx0ICogQHBhcmFtIG5ld05hbWUgVGhlIG5ldyBuYW1lIGZvciB0aGUgb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIHJlbmFtZShuZXdOYW1lOiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5yZW5hbWUobmV3TmFtZSk7XG5cdH1cblxufVxuXG4vKipcbiAqIE9iamVjdEZhY3Rvcnkgb2JqZWN0XG4gKiAqIFByb3ZpZGVzIG1ldGhvZHMgdG8gY3JlYXRlIGNvbnRlbnQgc3RyZWFtcy5cbiAqL1xuY2xhc3MgT2JqZWN0RmFjdG9yeSB7XG5cblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgY29udGVudCBzdHJlYW0gaW5zdGFuY2UgdGhhdCBjYW4gYmUgdXNlZCB0byBjcmVhdGUgb3IgdXBkYXRlIGRvY3VtZW50IGNvbnRlbnQuXG5cdCAqIEBwYXJhbSBmaWxlbmFtZSBUaGUgbmFtZSBvZiB0aGUgZmlsZS5cblx0ICogQHBhcmFtIGxlbmd0aCBUaGUgc2l6ZSBvZiB0aGUgY29udGVudCBzdHJlYW0gaW4gYnl0ZXMuXG5cdCAqIEBwYXJhbSBtaW1ldHlwZSBUaGUgTUlNRSB0eXBlIG9mIHRoZSBjb250ZW50LlxuXHQgKiBAcGFyYW0gaW5wdXRTdHJlYW0gVGhlIGlucHV0IHN0cmVhbSBjb250YWluaW5nIHRoZSBkYXRhLlxuXHQgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgQ29udGVudFN0cmVhbX0gb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUNvbnRlbnRTdHJlYW0oZmlsZW5hbWU6IHN0cmluZywgbGVuZ3RoOiBudW1iZXIsIG1pbWV0eXBlOiBzdHJpbmcsIGlucHV0U3RyZWFtOiBzdHJlYW1zLklucHV0U3RyZWFtKTogQ29udGVudFN0cmVhbSB7XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmNyZWF0ZUNvbnRlbnRTdHJlYW0oZmlsZW5hbWUsIGxlbmd0aCwgbWltZXR5cGUsIGlucHV0U3RyZWFtLm5hdGl2ZSk7XG5cdFx0cmV0dXJuIG5ldyBDb250ZW50U3RyZWFtKG5hdGl2ZSk7XG5cdH1cbn1cblxuLyoqXG4gKiBDb250ZW50U3RyZWFtIG9iamVjdFxuICogKiBSZXByZXNlbnRzIHRoZSBiaW5hcnkgY29udGVudCBzdHJlYW0gb2YgYSBDTUlTIERvY3VtZW50LlxuICovXG5jbGFzcyBDb250ZW50U3RyZWFtIHtcblxuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgSmF2YS1iYWNrZWQgaW5wdXQgc3RyZWFtIGZvciByZWFkaW5nIHRoZSBjb250ZW50LlxuXHQgKiBAcmV0dXJucyBBbiB7QGxpbmsgc3RyZWFtcy5JbnB1dFN0cmVhbX0gd3JhcHBlci5cblx0ICovXG5cdHB1YmxpYyBnZXRTdHJlYW0oKTogc3RyZWFtcy5JbnB1dFN0cmVhbSB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0U3RyZWFtKCk7XG5cdFx0cmV0dXJuIG5ldyBzdHJlYW1zLklucHV0U3RyZWFtKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgTUlNRSB0eXBlIG9mIHRoZSBjb250ZW50IHN0cmVhbS5cblx0ICogQHJldHVybnMgVGhlIE1JTUUgdHlwZSBzdHJpbmcuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TWltZVR5cGUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TWltZVR5cGUoKTtcblx0fVxufVxuXG4vKipcbiAqIERvY3VtZW50IG9iamVjdFxuICogKiBSZXByZXNlbnRzIGEgQ01JUyBkb2N1bWVudCBvYmplY3QsIGFsbG93aW5nIG9wZXJhdGlvbnMgbGlrZSByZWFkaW5nIGNvbnRlbnQsIGRlbGV0aW5nLCBhbmQgcmVuYW1pbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBEb2N1bWVudCB7XG5cblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblx0cHJpdmF0ZSBwYXRoOiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnksIHBhdGg6IHN0cmluZykge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHRcdHRoaXMucGF0aCA9IHBhdGg7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRvY3VtZW50LlxuXHQgKiBAcmV0dXJucyBUaGUgZG9jdW1lbnQgSUQuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0SWQoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0SWQoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBkb2N1bWVudC5cblx0ICogQHJldHVybnMgVGhlIGRvY3VtZW50IG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXROYW1lKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgdHlwZSBkZWZpbml0aW9uIG9mIHRoZSBkb2N1bWVudC5cblx0ICogQHJldHVybnMgVGhlIGRvY3VtZW50J3Mge0BsaW5rIFR5cGVEZWZpbml0aW9ufS5cblx0ICovXG5cdHB1YmxpYyBnZXRUeXBlKCk6IFR5cGVEZWZpbml0aW9uIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRUeXBlKCk7XG5cdFx0cmV0dXJuIG5ldyBUeXBlRGVmaW5pdGlvbihuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHBhdGggb2YgdGhlIGRvY3VtZW50LlxuXHQgKiBAcmV0dXJucyBUaGUgZG9jdW1lbnQgcGF0aC5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMucGF0aDtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWxldGVzIHRoaXMgZG9jdW1lbnQuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgd3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkLlxuXHQgKi9cblx0cHVibGljIGRlbGV0ZSgpOiB2b2lkIHtcblx0XHRjb25zdCBhbGxvd2VkID0gQ21pc0ZhY2FkZS5pc0FsbG93ZWQodGhpcy5nZXRQYXRoKCksIENtaXMuTUVUSE9EX1dSSVRFKTtcblx0XHRpZiAoIWFsbG93ZWQpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIldyaXRlIGFjY2VzcyBub3QgYWxsb3dlZCBvbjogXCIgKyB0aGlzLmdldFBhdGgoKSk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5kZWxldGUodHJ1ZSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgYmluYXJ5IGNvbnRlbnQgc3RyZWFtIG9mIHRoZSBkb2N1bWVudC5cblx0ICogQHJldHVybnMgVGhlIHtAbGluayBDb250ZW50U3RyZWFtfSBvYmplY3QsIG9yIGBudWxsYCBpZiB0aGUgZG9jdW1lbnQgaGFzIG5vIGNvbnRlbnQuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q29udGVudFN0cmVhbSgpOiBDb250ZW50U3RyZWFtIHwgbnVsbCB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0Q29udGVudFN0cmVhbSgpO1xuXHRcdGlmIChuYXRpdmUgIT09IG51bGwpIHtcblx0XHRcdHJldHVybiBuZXcgQ29udGVudFN0cmVhbShuYXRpdmUpO1xuXHRcdH1cblx0XHRyZXR1cm4gbnVsbDtcblx0fTtcblxuXHQvKipcblx0ICogR2V0cyB0aGUgc2l6ZSBvZiB0aGUgZG9jdW1lbnQncyBjb250ZW50IHN0cmVhbSBpbiBieXRlcy5cblx0ICogQHJldHVybnMgVGhlIHNpemUgaW4gYnl0ZXMuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0U2l6ZSgpOiBudW1iZXIge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRTaXplKCk7XG5cdH1cblxuXHQvKipcblx0ICogUmVuYW1lcyB0aGlzIGRvY3VtZW50LlxuXHQgKiBAcGFyYW0gbmV3TmFtZSBUaGUgbmV3IG5hbWUgZm9yIHRoZSBkb2N1bWVudC5cblx0ICogQHRocm93cyBFcnJvciBpZiB3cml0ZSBhY2Nlc3MgaXMgbm90IGFsbG93ZWQuXG5cdCAqL1xuXHRwdWJsaWMgcmVuYW1lKG5ld05hbWU6IHN0cmluZyk6IHZvaWQge1xuXHRcdGNvbnN0IGFsbG93ZWQgPSBDbWlzRmFjYWRlLmlzQWxsb3dlZCh0aGlzLmdldFBhdGgoKSwgQ21pcy5NRVRIT0RfV1JJVEUpO1xuXHRcdGlmICghYWxsb3dlZCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiV3JpdGUgYWNjZXNzIG5vdCBhbGxvd2VkIG9uOiBcIiArIHRoaXMuZ2V0UGF0aCgpKTtcblx0XHR9XG5cdFx0dGhpcy5uYXRpdmUucmVuYW1lKG5ld05hbWUpO1xuXHR9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgZGVmaW5pdGlvbiBvZiBhIENNSVMgb2JqZWN0IHR5cGUgKGUuZy4sIGNtaXM6ZG9jdW1lbnQsIGNtaXM6Zm9sZGVyKS5cbiAqL1xuY2xhc3MgVHlwZURlZmluaXRpb24ge1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSB1bmlxdWUgSUQgb2YgdGhlIG9iamVjdCB0eXBlIChlLmcuLCAnY21pczpkb2N1bWVudCcpLlxuXHQgKiBAcmV0dXJucyBUaGUgdHlwZSBJRC5cblx0ICovXG5cdHB1YmxpYyBnZXRJZCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRJZCgpO1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gQ21pcztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsY0FBeUI7QUFDekIsTUFBTSxhQUFhLEtBQUssS0FBSyxxREFBcUQ7QUFDbEYsTUFBTSxPQUFPLEtBQUssS0FBSyxzQkFBc0I7QUFDN0MsTUFBTSxVQUFVLEtBQUssS0FBSyxtQkFBbUI7QUFFdEMsTUFBTSxLQUFLO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1qQixPQUF1QixjQUFjO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJckMsT0FBdUIsZUFBZTtBQUFBO0FBQUE7QUFBQSxFQUl0QyxPQUF1QixPQUFPO0FBQUE7QUFBQSxFQUU5QixPQUF1QixZQUFZO0FBQUE7QUFBQSxFQUVuQyxPQUF1QixpQkFBaUI7QUFBQTtBQUFBLEVBRXhDLE9BQXVCLGVBQWU7QUFBQTtBQUFBLEVBRXRDLE9BQXVCLGFBQWE7QUFBQTtBQUFBLEVBRXBDLE9BQXVCLGdCQUFnQjtBQUFBO0FBQUEsRUFFdkMsT0FBdUIsbUJBQW1CO0FBQUE7QUFBQSxFQUUxQyxPQUF1Qix5QkFBeUI7QUFBQTtBQUFBLEVBRWhELE9BQXVCLGVBQWU7QUFBQTtBQUFBO0FBQUEsRUFJdEMsT0FBdUIsZUFBZTtBQUFBO0FBQUEsRUFFdEMsT0FBdUIsb0JBQW9CO0FBQUE7QUFBQSxFQUUzQyxPQUF1QixtQkFBbUI7QUFBQTtBQUFBLEVBRTFDLE9BQXVCLDBCQUEwQjtBQUFBO0FBQUEsRUFFakQsT0FB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
617
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Ntcy9jbWlzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgY21zL2NtaXNcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9jbXNcbiAqIEBuYW1lIENtaXNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIHNldCBvZiBjbGFzc2VzIGFuZCBjb25zdGFudHMgZm9yIGludGVyYWN0aW5nIHdpdGggYSBDTUlTIChDb250ZW50IE1hbmFnZW1lbnQgSW50ZXJvcGVyYWJpbGl0eSBTZXJ2aWNlcykgcmVwb3NpdG9yeSB3aXRoaW4gdGhlIERpcmlnaWJsZSBlbnZpcm9ubWVudC4gSXQgYWxsb3dzIGRldmVsb3BlcnMgdG8gZXN0YWJsaXNoIHNlc3Npb25zIHdpdGggdGhlIHJlcG9zaXRvcnksIG5hdmlnYXRlIGFuZCBtYW5pcHVsYXRlIGZvbGRlcnMgYW5kIGRvY3VtZW50cywgYW5kIG1hbmFnZSBjb250ZW50IHN0cmVhbXMuIFRoZSBtb2R1bGUgYWxzbyBkZWZpbmVzIHN0YW5kYXJkIENNSVMgcHJvcGVydGllcyBhbmQgdmVyc2lvbmluZyBzdGF0ZXMgZm9yIGNvbnNpc3RlbnQgaW50ZXJhY3Rpb24gd2l0aCBDTUlTLWNvbXBsaWFudCByZXBvc2l0b3JpZXMuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gRXN0YWJsaXNoaW5nIHNlc3Npb25zIHdpdGggQ01JUyByZXBvc2l0b3JpZXNcbiAqIC0gTmF2aWdhdGluZyBmb2xkZXIgc3RydWN0dXJlcyBhbmQgbWFuYWdpbmcgZG9jdW1lbnRzXG4gKiAtIEhhbmRsaW5nIGNvbnRlbnQgc3RyZWFtcyBmb3IgZG9jdW1lbnQgY3JlYXRpb24gYW5kIHJldHJpZXZhbFxuICogLSBEZWZpbmluZyBzdGFuZGFyZCBDTUlTIHByb3BlcnRpZXMgYW5kIHZlcnNpb25pbmcgc3RhdGVzIGZvciBjb25zaXN0ZW50IEFQSSB1c2FnZVxuICogXG4gKiAjIyMgVXNlIENhc2VzXG4gKiAtIEludGVncmF0aW5nIHdpdGggZW50ZXJwcmlzZSBjb250ZW50IG1hbmFnZW1lbnQgc3lzdGVtcyB0aGF0IHN1cHBvcnQgQ01JU1xuICogLSBCdWlsZGluZyBhcHBsaWNhdGlvbnMgdGhhdCByZXF1aXJlIGRvY3VtZW50IG1hbmFnZW1lbnQgY2FwYWJpbGl0aWVzLCBzdWNoIGFzIGZpbGUgc3RvcmFnZSwgdmVyc2lvbmluZywgYW5kIG1ldGFkYXRhIGhhbmRsaW5nXG4gKiAtIEF1dG9tYXRpbmcgY29udGVudCBtYW5hZ2VtZW50IHRhc2tzIHdpdGhpbiBhIENNSVMgcmVwb3NpdG9yeSwgc3VjaCBhcyBidWxrIHVwbG9hZHMsIG9yZ2FuaXphdGlvbiwgYW5kIGNsZWFudXBcbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2VcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBDbWlzIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9jbXNcIjtcbiAqIGNvbnN0IHNlc3Npb24gPSBDbWlzLmdldFNlc3Npb24oKTtcbiAqIGNvbnN0IHJvb3RGb2xkZXIgPSBzZXNzaW9uLmdldFJvb3RGb2xkZXIoKTtcbiAqIGNvbnN0IG5ld0ZvbGRlciA9IHJvb3RGb2xkZXIuY3JlYXRlRm9sZGVyKHsgXCJjbWlzOm5hbWVcIjogXCJOZXcgRm9sZGVyXCIgfSk7XG4gKiBjb25zdCBjb250ZW50U3RyZWFtID0gc2Vzc2lvbi5nZXRPYmplY3RGYWN0b3J5KCkuY3JlYXRlQ29udGVudFN0cmVhbShcImV4YW1wbGUudHh0XCIsIDExLCBcInRleHQvcGxhaW5cIiwgbmV3IHN0cmVhbXMuQnl0ZUFycmF5SW5wdXRTdHJlYW0oXCJIZWxsbyBXb3JsZFwiLmdldEJ5dGVzKCkpKTtcbiAqIGNvbnN0IG5ld0RvY3VtZW50ID0gbmV3Rm9sZGVyLmNyZWF0ZURvY3VtZW50KHsgXCJjbWlzOm5hbWVcIjogXCJFeGFtcGxlIERvY3VtZW50XCIgfSwgY29udGVudFN0cmVhbSwgQ21pcy5WRVJTSU9OSU5HX1NUQVRFX01BSk9SKTtcbiAqIGNvbnNvbGUubG9nKGBDcmVhdGVkIGRvY3VtZW50IHdpdGggSUQ6ICR7bmV3RG9jdW1lbnQuZ2V0SWQoKX0gYW5kIG5hbWU6ICR7bmV3RG9jdW1lbnQuZ2V0TmFtZSgpfWApO1xuICogYGBgXG4gKi9cblxuaW1wb3J0ICogYXMgc3RyZWFtcyBmcm9tIFwiQGFlcm9raXQvc2RrL2lvL3N0cmVhbXNcIjtcbmNvbnN0IENtaXNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuY21zLkNtaXNGYWNhZGVcIik7XG5jb25zdCBHc29uID0gSmF2YS50eXBlKFwiY29tLmdvb2dsZS5nc29uLkdzb25cIik7XG5jb25zdCBIYXNoTWFwID0gSmF2YS50eXBlKFwiamF2YS51dGlsLkhhc2hNYXBcIik7XG5cbmV4cG9ydCBjbGFzcyBDbWlzIHtcblxuXHQvLyBDT05TVEFOVFNcblx0LyoqXG5cdCAqIENNSVMgbWV0aG9kIGNvbnN0YW50IGZvciByZWFkIG9wZXJhdGlvbnMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE1FVEhPRF9SRUFEID0gXCJSRUFEXCI7XG5cdC8qKlxuXHQgKiBDTUlTIG1ldGhvZCBjb25zdGFudCBmb3Igd3JpdGUgb3BlcmF0aW9ucy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTUVUSE9EX1dSSVRFID0gXCJXUklURVwiO1xuXG5cdC8vIC0tLS0gQmFzZSBDTUlTIFByb3BlcnRpZXMgLS0tLVxuXHQvKiogQ01JUyBwcm9wZXJ0eTogT2JqZWN0IG5hbWUuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkFNRSA9IFwiY21pczpuYW1lXCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBVbmlxdWUgb2JqZWN0IGlkZW50aWZpZXIuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgT0JKRUNUX0lEID0gXCJjbWlzOm9iamVjdElkXCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBPYmplY3QgdHlwZSBpZGVudGlmaWVyLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE9CSkVDVF9UWVBFX0lEID0gXCJjbWlzOm9iamVjdFR5cGVJZFwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogQmFzZSBvYmplY3QgdHlwZSBpZGVudGlmaWVyLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJBU0VfVFlQRV9JRCA9IFwiY21pczpiYXNlVHlwZUlkXCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBVc2VyIHdobyBjcmVhdGVkIHRoZSBvYmplY3QuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ1JFQVRFRF9CWSA9IFwiY21pczpjcmVhdGVkQnlcIjtcblx0LyoqIENNSVMgcHJvcGVydHk6IFRpbWVzdGFtcCBvZiBvYmplY3QgY3JlYXRpb24uICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ1JFQVRJT05fREFURSA9IFwiY21pczpjcmVhdGlvbkRhdGVcIjtcblx0LyoqIENNSVMgcHJvcGVydHk6IFVzZXIgd2hvIGxhc3QgbW9kaWZpZWQgdGhlIG9iamVjdC4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBMQVNUX01PRElGSUVEX0JZID0gXCJjbWlzOmxhc3RNb2RpZmllZEJ5XCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBUaW1lc3RhbXAgb2YgbGFzdCBtb2RpZmljYXRpb24uICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTEFTVF9NT0RJRklDQVRJT05fREFURSA9IFwiY21pczpsYXN0TW9kaWZpY2F0aW9uRGF0ZVwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogQ2hhbmdlIHRva2VuIGZvciBvYmplY3QgY2hhbmdlIHRyYWNraW5nLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENIQU5HRV9UT0tFTiA9IFwiY21pczpjaGFuZ2VUb2tlblwiO1xuXG5cdC8vIC0tLS0gRG9jdW1lbnQgQ01JUyBQcm9wZXJ0aWVzIC0tLS1cblx0LyoqIENNSVMgcHJvcGVydHk6IEluZGljYXRlcyBpZiB0aGUgZG9jdW1lbnQgaXMgaW1tdXRhYmxlLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElTX0lNTVVUQUJMRSA9IFwiY21pczppc0ltbXV0YWJsZVwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogSW5kaWNhdGVzIGlmIHRoZSBkb2N1bWVudCBpcyB0aGUgbGF0ZXN0IHZlcnNpb24gaW4gdGhlIHZlcnNpb24gc2VyaWVzLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElTX0xBVEVTVF9WRVJTSU9OID0gXCJjbWlzOmlzTGF0ZXN0VmVyc2lvblwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogSW5kaWNhdGVzIGlmIHRoZSBkb2N1bWVudCBpcyBhIG1ham9yIHZlcnNpb24uICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSVNfTUFKT1JfVkVSU0lPTiA9IFwiY21pczppc01ham9yVmVyc2lvblwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogSW5kaWNhdGVzIGlmIHRoZSBkb2N1bWVudCBpcyB0aGUgbGF0ZXN0IG1ham9yIHZlcnNpb24uICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSVNfTEFURVNUX01BSk9SX1ZFUlNJT04gPSBcImNtaXM6aXNMYXRlc3RNYWpvclZlcnNpb25cIjtcblx0LyoqIENNSVMgcHJvcGVydHk6IExhYmVsIG9mIHRoZSBkb2N1bWVudCB2ZXJzaW9uLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFZFUlNJT05fTEFCRUwgPSBcImNtaXM6dmVyc2lvbkxhYmVsXCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBJRCBvZiB0aGUgdmVyc2lvbiBzZXJpZXMuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVkVSU0lPTl9TRVJJRVNfSUQgPSBcImNtaXM6dmVyc2lvblNlcmllc0lkXCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBJbmRpY2F0ZXMgaWYgdGhlIHZlcnNpb24gc2VyaWVzIGlzIGNoZWNrZWQgb3V0LiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElTX1ZFUlNJT05fU0VSSUVTX0NIRUNLRURfT1VUID0gXCJjbWlzOmlzVmVyc2lvblNlcmllc0NoZWNrZWRPdXRcIjtcblx0LyoqIENNSVMgcHJvcGVydHk6IFVzZXIgd2hvIGNoZWNrZWQgb3V0IHRoZSB2ZXJzaW9uIHNlcmllcy4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBWRVJTSU9OX1NFUklFU19DSEVDS0VEX09VVF9CWSA9IFwiY21pczp2ZXJzaW9uU2VyaWVzQ2hlY2tlZE91dEJ5XCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBJRCBvZiB0aGUgY2hlY2tlZC1vdXQgZG9jdW1lbnQgb2JqZWN0LiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFZFUlNJT05fU0VSSUVTX0NIRUNLRURfT1VUX0lEID0gXCJjbWlzOnZlcnNpb25TZXJpZXNDaGVja2VkT3V0SWRcIjtcblx0LyoqIENNSVMgcHJvcGVydHk6IENvbW1lbnQgYXNzb2NpYXRlZCB3aXRoIHRoZSBjaGVjay1pbiBvcGVyYXRpb24uICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ0hFQ0tJTl9DT01NRU5UID0gXCJjbWlzOmNoZWNraW5Db21tZW50XCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBMZW5ndGggb2YgdGhlIGNvbnRlbnQgc3RyZWFtIGluIGJ5dGVzLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENPTlRFTlRfU1RSRUFNX0xFTkdUSCA9IFwiY21pczpjb250ZW50U3RyZWFtTGVuZ3RoXCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBNSU1FIHR5cGUgb2YgdGhlIGNvbnRlbnQgc3RyZWFtLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENPTlRFTlRfU1RSRUFNX01JTUVfVFlQRSA9IFwiY21pczpjb250ZW50U3RyZWFtTWltZVR5cGVcIjtcblx0LyoqIENNSVMgcHJvcGVydHk6IE9yaWdpbmFsIGZpbGUgbmFtZSBvZiB0aGUgY29udGVudCBzdHJlYW0uICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ09OVEVOVF9TVFJFQU1fRklMRV9OQU1FID0gXCJjbWlzOmNvbnRlbnRTdHJlYW1GaWxlTmFtZVwiO1xuXHQvKiogQ01JUyBwcm9wZXJ0eTogSUQgb2YgdGhlIGNvbnRlbnQgc3RyZWFtLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENPTlRFTlRfU1RSRUFNX0lEID0gXCJjbWlzOmNvbnRlbnRTdHJlYW1JZFwiO1xuXG5cdC8vIC0tLS0gRm9sZGVyIENNSVMgUHJvcGVydGllcyAtLS0tXG5cdC8qKiBDTUlTIHByb3BlcnR5OiBPYmplY3QgSUQgb2YgdGhlIHBhcmVudCBmb2xkZXIuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSRU5UX0lEID0gXCJjbWlzOnBhcmVudElkXCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBMaXN0IG9mIGFsbG93ZWQgb2JqZWN0IHR5cGUgSURzIGZvciBjaGlsZHJlbi4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBBTExPV0VEX0NISUxEX09CSkVDVF9UWVBFX0lEUyA9IFwiY21pczphbGxvd2VkQ2hpbGRPYmplY3RUeXBlSWRzXCI7XG5cdC8qKiBDTUlTIHByb3BlcnR5OiBQYXRoIG9mIHRoZSBmb2xkZXIgaW4gdGhlIHJlcG9zaXRvcnkuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFUSCA9IFwiY21pczpwYXRoXCI7XG5cblx0Ly8gLS0tLSBSZWxhdGlvbnNoaXAgQ01JUyBQcm9wZXJ0aWVzIC0tLS1cblx0LyoqIENNSVMgcHJvcGVydHk6IE9iamVjdCBJRCBvZiB0aGUgcmVsYXRpb25zaGlwIHNvdXJjZS4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBTT1VSQ0VfSUQgPSBcImNtaXM6c291cmNlSWRcIjtcblx0LyoqIENNSVMgcHJvcGVydHk6IE9iamVjdCBJRCBvZiB0aGUgcmVsYXRpb25zaGlwIHRhcmdldC4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBUQVJHRVRfSUQgPSBcImNtaXM6dGFyZ2V0SWRcIjtcblxuXHQvLyAtLS0tIFBvbGljeSBDTUlTIFByb3BlcnRpZXMgLS0tLVxuXHQvKiogQ01JUyBwcm9wZXJ0eTogVGV4dCBjb250ZW50IG9mIHRoZSBwb2xpY3kuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUE9MSUNZX1RFWFQgPSBcImNtaXM6cG9saWN5VGV4dFwiO1xuXG5cdC8vIC0tLS0gVmVyc2lvbmluZyBTdGF0ZXMgLS0tLVxuXHQvKiogQ01JUyBWZXJzaW9uaW5nIFN0YXRlOiBObyB2ZXJzaW9uaW5nLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFZFUlNJT05JTkdfU1RBVEVfTk9ORSA9IFwibm9uZVwiO1xuXHQvKiogQ01JUyBWZXJzaW9uaW5nIFN0YXRlOiBDcmVhdGUgYSBuZXcgbWFqb3IgdmVyc2lvbi4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBWRVJTSU9OSU5HX1NUQVRFX01BSk9SID0gXCJtYWpvclwiO1xuXHQvKiogQ01JUyBWZXJzaW9uaW5nIFN0YXRlOiBDcmVhdGUgYSBuZXcgbWlub3IgdmVyc2lvbi4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBWRVJTSU9OSU5HX1NUQVRFX01JTk9SID0gXCJtaW5vclwiO1xuXHQvKiogQ01JUyBWZXJzaW9uaW5nIFN0YXRlOiBEb2N1bWVudCBpcyBjaGVja2VkIG91dC4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBWRVJTSU9OSU5HX1NUQVRFX0NIRUNLRURPVVQgPSBcImNoZWNrZWRvdXRcIjtcblxuXHQvLyAtLS0tIE9iamVjdCBUeXBlcyAtLS0tXG5cdC8qKiBDTUlTIE9iamVjdCBUeXBlIElEOiBEb2N1bWVudC4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBPQkpFQ1RfVFlQRV9ET0NVTUVOVCA9IFwiY21pczpkb2N1bWVudFwiO1xuXHQvKiogQ01JUyBPYmplY3QgVHlwZSBJRDogRm9sZGVyLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE9CSkVDVF9UWVBFX0ZPTERFUiA9IFwiY21pczpmb2xkZXJcIjtcblx0LyoqIENNSVMgT2JqZWN0IFR5cGUgSUQ6IFJlbGF0aW9uc2hpcC4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBPQkpFQ1RfVFlQRV9SRUxBVElPTlNISVAgPSBcImNtaXM6cmVsYXRpb25zaGlwXCI7XG5cdC8qKiBDTUlTIE9iamVjdCBUeXBlIElEOiBQb2xpY3kuICovXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgT0JKRUNUX1RZUEVfUE9MSUNZID0gXCJjbWlzOnBvbGljeVwiO1xuXHQvKiogQ01JUyBPYmplY3QgVHlwZSBJRDogSXRlbS4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBPQkpFQ1RfVFlQRV9JVEVNID0gXCJjbWlzOml0ZW1cIjtcblx0LyoqIENNSVMgT2JqZWN0IFR5cGUgSUQ6IFNlY29uZGFyeS4gKi9cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBPQkpFQ1RfVFlQRV9TRUNPTkRBUlkgPSBcImNtaXM6c2Vjb25kYXJ5XCI7XG5cblx0LyoqXG5cdCAqIEdldHMgYSBuZXcgQ01JUyBzZXNzaW9uIGluc3RhbmNlIHRvIGludGVyYWN0IHdpdGggdGhlIHJlcG9zaXRvcnkuXG5cdCAqIEByZXR1cm5zIEEgbmV3IHtAbGluayBTZXNzaW9ufSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0U2Vzc2lvbigpOiBTZXNzaW9uIHtcblx0XHRjb25zdCBuYXRpdmUgPSBDbWlzRmFjYWRlLmdldFNlc3Npb24oKTtcblx0XHRyZXR1cm4gbmV3IFNlc3Npb24obmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYWNjZXNzIGNvbnRyb2wgZGVmaW5pdGlvbnMgZm9yIGEgc3BlY2lmaWMgcGF0aCBhbmQgbWV0aG9kLlxuXHQgKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCBvZiB0aGUgQ01JUyBvYmplY3QuXG5cdCAqIEBwYXJhbSBtZXRob2QgVGhlIG9wZXJhdGlvbiBtZXRob2QgKGUuZy4sIHtAbGluayBDbWlzLk1FVEhPRF9SRUFEfSwge0BsaW5rIENtaXMuTUVUSE9EX1dSSVRFfSkuXG5cdCAqIEByZXR1cm5zIEEgbGlzdCBvZiBhY2Nlc3MgZGVmaW5pdGlvbnMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldEFjY2Vzc0RlZmluaXRpb25zKHBhdGg6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcpOiBBY2Nlc3NEZWZpbml0aW9uW10ge1xuXHRcdGNvbnN0IGFjY2Vzc0RlZmluaXRpb25zID0gQ21pc0ZhY2FkZS5nZXRBY2Nlc3NEZWZpbml0aW9ucyhwYXRoLCBtZXRob2QpO1xuXHRcdHJldHVybiBKU09OLnBhcnNlKG5ldyBHc29uKCkudG9Kc29uKGFjY2Vzc0RlZmluaXRpb25zKSk7XG5cdH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGFjY2VzcyBjb250cm9sIGVudHJ5IChBQ0UpIGZvciBhIENNSVMgb2JqZWN0LCBkZXRhaWxpbmdcbiAqIHdobyBoYXMgd2hhdCBwZXJtaXNzaW9ucyBvbiBhIHBhdGguXG4gKi9cbmludGVyZmFjZSBBY2Nlc3NEZWZpbml0aW9uIHtcblx0LyoqIEdldHMgdGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgYWNjZXNzIGRlZmluaXRpb24uICovXG5cdGdldElkKCk6IHN0cmluZztcblx0LyoqIEdldHMgdGhlIHNjb3BlIG9mIHRoZSBkZWZpbml0aW9uIChlLmcuLCAndXNlcicsICdncm91cCcpLiAqL1xuXHRnZXRTY29wZSgpOiBzdHJpbmc7XG5cdC8qKiBHZXRzIHRoZSBwYXRoIG9mIHRoZSBDTUlTIG9iamVjdCB0aGlzIGRlZmluaXRpb24gYXBwbGllcyB0by4gKi9cblx0Z2V0UGF0aCgpOiBzdHJpbmc7XG5cdC8qKiBHZXRzIHRoZSBtZXRob2Qvb3BlcmF0aW9uIHRoaXMgZGVmaW5pdGlvbiBhcHBsaWVzIHRvIChlLmcuLCAnUkVBRCcsICdXUklURScpLiAqL1xuXHRnZXRNZXRob2QoKTogc3RyaW5nO1xuXHQvKiogR2V0cyB0aGUgc2VjdXJpdHkgcm9sZSAoZS5nLiwgJ0FkbWluaXN0cmF0b3InLCAnVmlld2VyJykuICovXG5cdGdldFJvbGUoKTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFNlc3Npb24gb2JqZWN0XG4gKiAqIFJlcHJlc2VudHMgYW4gYWN0aXZlIGNvbm5lY3Rpb24gdG8gYSBDTUlTIHJlcG9zaXRvcnksIHVzZWQgYXMgdGhlIG1haW4gZW50cnkgcG9pbnQgZm9yIENNSVMgb3BlcmF0aW9ucy5cbiAqL1xuY2xhc3MgU2Vzc2lvbiB7XG5cblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlcG9zaXRvcnkgdGhpcyBzZXNzaW9uIGlzIGNvbm5lY3RlZCB0by5cblx0ICogQHJldHVybnMgUmVwb3NpdG9yeSBtZXRhZGF0YS5cblx0ICovXG5cdHB1YmxpYyBnZXRSZXBvc2l0b3J5SW5mbygpOiBSZXBvc2l0b3J5SW5mbyB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0UmVwb3NpdG9yeUluZm8oKTtcblx0XHRyZXR1cm4gbmV3IFJlcG9zaXRvcnlJbmZvKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgcm9vdCBmb2xkZXIgb2YgdGhlIHJlcG9zaXRvcnkuXG5cdCAqIEByZXR1cm5zIFRoZSByb290IHtAbGluayBGb2xkZXJ9IG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBnZXRSb290Rm9sZGVyKCk6IEZvbGRlciB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0Um9vdEZvbGRlcigpO1xuXHRcdHJldHVybiBuZXcgRm9sZGVyKG5hdGl2ZSwgbnVsbCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgb2JqZWN0IGZhY3RvcnkgZm9yIGNyZWF0aW5nIG5ldyBDTUlTIG9iamVjdHMgbGlrZSBDb250ZW50U3RyZWFtLlxuXHQgKiBAcmV0dXJucyBBbiB7QGxpbmsgT2JqZWN0RmFjdG9yeX0gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0T2JqZWN0RmFjdG9yeSgpOiBPYmplY3RGYWN0b3J5IHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRPYmplY3RGYWN0b3J5KCk7XG5cdFx0cmV0dXJuIG5ldyBPYmplY3RGYWN0b3J5KG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgQ01JUyBvYmplY3QgKERvY3VtZW50IG9yIEZvbGRlcikgYnkgaXRzIHVuaXF1ZSBJRC5cblx0ICogQHBhcmFtIG9iamVjdElkIFRoZSB1bmlxdWUgSUQgb2YgdGhlIG9iamVjdC5cblx0ICogQHJldHVybnMgQSB7QGxpbmsgRG9jdW1lbnR9IG9yIHtAbGluayBGb2xkZXJ9IGluc3RhbmNlLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBvYmplY3QgdHlwZSBpcyB1bnN1cHBvcnRlZC5cblx0ICovXG5cdHB1YmxpYyBnZXRPYmplY3Qob2JqZWN0SWQ6IHN0cmluZyk6IEZvbGRlciB8IERvY3VtZW50IHtcblx0XHRjb25zdCBvYmplY3RJbnN0YW5jZSA9IHRoaXMubmF0aXZlLmdldE9iamVjdChvYmplY3RJZCk7XG5cdFx0Y29uc3Qgb2JqZWN0SW5zdGFuY2VUeXBlID0gb2JqZWN0SW5zdGFuY2UuZ2V0VHlwZSgpO1xuXHRcdGNvbnN0IG9iamVjdEluc3RhbmNlVHlwZUlkID0gb2JqZWN0SW5zdGFuY2VUeXBlLmdldElkKCk7XG5cdFx0aWYgKG9iamVjdEluc3RhbmNlVHlwZUlkID09PSBDbWlzLk9CSkVDVF9UWVBFX0RPQ1VNRU5UKSB7XG5cdFx0XHRyZXR1cm4gbmV3IERvY3VtZW50KG9iamVjdEluc3RhbmNlLCBudWxsKTtcblx0XHR9IGVsc2UgaWYgKG9iamVjdEluc3RhbmNlVHlwZUlkID09PSBDbWlzLk9CSkVDVF9UWVBFX0ZPTERFUikge1xuXHRcdFx0cmV0dXJuIG5ldyBGb2xkZXIob2JqZWN0SW5zdGFuY2UsIG51bGwpO1xuXHRcdH1cblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJVbnN1cHBvcnRlZCBDTUlTIG9iamVjdCB0eXBlOiBcIiArIG9iamVjdEluc3RhbmNlVHlwZUlkKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBDTUlTIG9iamVjdCAoRG9jdW1lbnQgb3IgRm9sZGVyKSBieSBpdHMgcGF0aC5cblx0ICogQHBhcmFtIHBhdGggVGhlIHBhdGggb2YgdGhlIG9iamVjdCBpbiB0aGUgcmVwb3NpdG9yeSAoZS5nLiwgXCIvcGF0aC90by9vYmplY3RcIikuXG5cdCAqIEByZXR1cm5zIEEge0BsaW5rIERvY3VtZW50fSBvciB7QGxpbmsgRm9sZGVyfSBpbnN0YW5jZS5cblx0ICogQHRocm93cyBFcnJvciBpZiByZWFkIGFjY2VzcyBpcyBub3QgYWxsb3dlZCBvciB0aGUgb2JqZWN0IHR5cGUgaXMgdW5zdXBwb3J0ZWQuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0T2JqZWN0QnlQYXRoKHBhdGg6IHN0cmluZyk6IEZvbGRlciB8IERvY3VtZW50IHtcblx0XHRjb25zdCBhbGxvd2VkID0gQ21pc0ZhY2FkZS5pc0FsbG93ZWQocGF0aCwgQ21pcy5NRVRIT0RfUkVBRCk7XG5cdFx0aWYgKCFhbGxvd2VkKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJSZWFkIGFjY2VzcyBub3QgYWxsb3dlZCBvbjogXCIgKyBwYXRoKTtcblx0XHR9XG5cdFx0Y29uc3Qgb2JqZWN0SW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRPYmplY3RCeVBhdGgocGF0aCk7XG5cdFx0Y29uc3Qgb2JqZWN0SW5zdGFuY2VUeXBlID0gb2JqZWN0SW5zdGFuY2UuZ2V0VHlwZSgpO1xuXHRcdGNvbnN0IG9iamVjdEluc3RhbmNlVHlwZUlkID0gb2JqZWN0SW5zdGFuY2VUeXBlLmdldElkKCk7XG5cdFx0aWYgKG9iamVjdEluc3RhbmNlVHlwZUlkID09PSBDbWlzLk9CSkVDVF9UWVBFX0RPQ1VNRU5UKSB7XG5cdFx0XHRyZXR1cm4gbmV3IERvY3VtZW50KG9iamVjdEluc3RhbmNlLCBwYXRoKTtcblx0XHR9IGVsc2UgaWYgKG9iamVjdEluc3RhbmNlVHlwZUlkID09PSBDbWlzLk9CSkVDVF9UWVBFX0ZPTERFUikge1xuXHRcdFx0cmV0dXJuIG5ldyBGb2xkZXIob2JqZWN0SW5zdGFuY2UsIHBhdGgpO1xuXHRcdH1cblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJVbnN1cHBvcnRlZCBDTUlTIG9iamVjdCB0eXBlOiBcIiArIG9iamVjdEluc3RhbmNlVHlwZUlkKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgZm9sZGVyIHN0cnVjdHVyZSByZWN1cnNpdmVseSBiYXNlZCBvbiBhIHBhdGguIFRoaXMgaXMgYSBjb252ZW5pZW5jZSBtZXRob2QgdGhhdFxuXHQgKiBjcmVhdGVzIGFsbCBub24tZXhpc3RlbnQgcGFyZW50IGZvbGRlcnMuXG5cdCAqIEV4YW1wbGU6IGBjcmVhdGVGb2xkZXIoXCIvbmV3L3BhdGgvc3RydWN0dXJlXCIpYFxuXHQgKiBAcGFyYW0gbG9jYXRpb24gVGhlIHBhdGggb2YgdGhlIGZvbGRlciB0byBjcmVhdGUuXG5cdCAqIEByZXR1cm5zIFRoZSBuZXdseSBjcmVhdGVkIChvciBleGlzdGluZykgaW5uZXJtb3N0IHtAbGluayBGb2xkZXJ9IG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBjcmVhdGVGb2xkZXIobG9jYXRpb246IHN0cmluZyk6IEZvbGRlciB7XG5cdFx0aWYgKGxvY2F0aW9uLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG5cdFx0XHRsb2NhdGlvbiA9IGxvY2F0aW9uLnN1YnN0cmluZygxLCBsb2NhdGlvbi5sZW5ndGgpO1xuXHRcdH1cblx0XHRpZiAobG9jYXRpb24uZW5kc1dpdGgoXCIvXCIpKSB7XG5cdFx0XHRsb2NhdGlvbiA9IGxvY2F0aW9uLnN1YnN0cmluZygwLCBsb2NhdGlvbi5sZW5ndGggLSAxKTtcblx0XHR9XG5cdFx0Y29uc3Qgc2VnbWVudHMgPSBsb2NhdGlvbi5zcGxpdChcIi9cIik7XG5cdFx0bGV0IGZvbGRlciA9IHRoaXMuZ2V0Um9vdEZvbGRlcigpO1xuXHRcdGZvciAoY29uc3QgbmV4dCBvZiBzZWdtZW50cykge1xuXHRcdFx0Y29uc3QgcHJvcGVydGllcyA9IHtcblx0XHRcdFx0W0NtaXMuT0JKRUNUX1RZUEVfSURdOiBDbWlzLk9CSkVDVF9UWVBFX0ZPTERFUixcblx0XHRcdFx0W0NtaXMuTkFNRV06IG5leHRcblx0XHRcdH07XG5cdFx0XHRmb2xkZXIgPSBmb2xkZXIuY3JlYXRlRm9sZGVyKHByb3BlcnRpZXMpO1xuXHRcdH1cblx0XHRyZXR1cm4gZm9sZGVyO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgZG9jdW1lbnQgYXQgdGhlIHNwZWNpZmllZCBsb2NhdGlvbi4gVGhpcyBtZXRob2QgZW5zdXJlcyB0aGUgcGFyZW50IGZvbGRlciBzdHJ1Y3R1cmUgZXhpc3RzLlxuXHQgKiBAcGFyYW0gbG9jYXRpb24gVGhlIHBhdGggb2YgdGhlIHBhcmVudCBmb2xkZXIgKGUuZy4sIFwiL3BhdGgvdG8vZm9sZGVyXCIpLlxuXHQgKiBAcGFyYW0gcHJvcGVydGllcyBBIG1hcCBvZiBDTUlTIHByb3BlcnRpZXMgZm9yIHRoZSBuZXcgZG9jdW1lbnQgKG11c3QgaW5jbHVkZSB7QGxpbmsgQ21pcy5OQU1FfSkuXG5cdCAqIEBwYXJhbSBjb250ZW50U3RyZWFtIFRoZSBjb250ZW50IHN0cmVhbSBjb250YWluaW5nIHRoZSBkb2N1bWVudCdzIGJpbmFyeSBkYXRhLlxuXHQgKiBAcGFyYW0gdmVyc2lvbmluZ1N0YXRlIFRoZSB2ZXJzaW9uaW5nIHN0YXRlIChlLmcuLCB7QGxpbmsgQ21pcy5WRVJTSU9OSU5HX1NUQVRFX01BSk9SfSkuXG5cdCAqIEByZXR1cm5zIFRoZSBuZXdseSBjcmVhdGVkIHtAbGluayBEb2N1bWVudH0gb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZURvY3VtZW50KGxvY2F0aW9uOiBzdHJpbmcsIHByb3BlcnRpZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0sIGNvbnRlbnRTdHJlYW06IENvbnRlbnRTdHJlYW0sIHZlcnNpb25pbmdTdGF0ZTogc3RyaW5nKTogRG9jdW1lbnQge1xuXHRcdGNvbnN0IGZvbGRlciA9IHRoaXMuY3JlYXRlRm9sZGVyKGxvY2F0aW9uKTtcblx0XHRyZXR1cm4gZm9sZGVyLmNyZWF0ZURvY3VtZW50KHByb3BlcnRpZXMsIGNvbnRlbnRTdHJlYW0sIHZlcnNpb25pbmdTdGF0ZSk7XG5cdH1cblxufVxuXG4vKipcbiAqIFJlcG9zaXRvcnlJbmZvIG9iamVjdFxuICogKiBQcm92aWRlcyBiYXNpYyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29ubmVjdGVkIENNSVMgcmVwb3NpdG9yeS5cbiAqL1xuY2xhc3MgUmVwb3NpdG9yeUluZm8ge1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgcmVwb3NpdG9yeS5cblx0ICogQHJldHVybnMgVGhlIHJlcG9zaXRvcnkgSUQuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0SWQoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0SWQoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSByZXBvc2l0b3J5LlxuXHQgKiBAcmV0dXJucyBUaGUgcmVwb3NpdG9yeSBuYW1lLlxuXHQgKi9cblx0cHVibGljIGdldE5hbWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TmFtZSgpO1xuXHR9XG59XG5cbi8qKlxuICogRm9sZGVyIG9iamVjdFxuICogKiBSZXByZXNlbnRzIGEgQ01JUyBmb2xkZXIgb2JqZWN0LCBhbGxvd2luZyBvcGVyYXRpb25zIGxpa2UgY3JlYXRpbmcgY2hpbGRyZW4sIGRlbGV0aW5nLCBhbmQgcmVuYW1pbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBGb2xkZXIge1xuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXHRwcml2YXRlIHBhdGg6IGFueTtcblxuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSwgcGF0aDogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdFx0dGhpcy5wYXRoID0gcGF0aDtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZm9sZGVyLlxuXHQgKiBAcmV0dXJucyBUaGUgZm9sZGVyIElELlxuXHQgKi9cblx0cHVibGljIGdldElkKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldElkKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgZm9sZGVyLlxuXHQgKiBAcmV0dXJucyBUaGUgZm9sZGVyIG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXROYW1lKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5ldyBmb2xkZXIgd2l0aGluIHRoaXMgZm9sZGVyLlxuXHQgKiBAcGFyYW0gcHJvcGVydGllcyBBIG1hcCBvZiBDTUlTIHByb3BlcnRpZXMgZm9yIHRoZSBuZXcgZm9sZGVyIChtdXN0IGluY2x1ZGUge0BsaW5rIENtaXMuTkFNRX0pLlxuXHQgKiBAcmV0dXJucyBUaGUgbmV3bHkgY3JlYXRlZCB7QGxpbmsgRm9sZGVyfSBvYmplY3QuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgd3JpdGUgYWNjZXNzIGlzIG5vdCBhbGxvd2VkLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUZvbGRlcihwcm9wZXJ0aWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogRm9sZGVyIHtcblx0XHR2YXIgYWxsb3dlZCA9IENtaXNGYWNhZGUuaXNBbGxvd2VkKHRoaXMuZ2V0UGF0aCgpLCBDbWlzLk1FVEhPRF9XUklURSk7XG5cdFx0aWYgKCFhbGxvd2VkKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJXcml0ZSBhY2Nlc3Mgbm90IGFsbG93ZWQgb246IFwiICsgdGhpcy5nZXRQYXRoKCkpO1xuXHRcdH1cblx0XHR2YXIgbWFwSW5zdGFuY2UgPSBuZXcgSGFzaE1hcCgpO1xuXHRcdGZvciAodmFyIHByb3BlcnR5IGluIHByb3BlcnRpZXMpIHtcblx0XHRcdGlmIChwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHByb3BlcnR5KSkge1xuXHRcdFx0XHRtYXBJbnN0YW5jZS5wdXQocHJvcGVydHksIHByb3BlcnRpZXNbcHJvcGVydHldKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0dmFyIG5hdGl2ZSA9IHRoaXMubmF0aXZlLmNyZWF0ZUZvbGRlcihtYXBJbnN0YW5jZSk7XG5cdFx0dmFyIGZvbGRlciA9IG5ldyBGb2xkZXIobmF0aXZlLCBudWxsKTtcblx0XHRyZXR1cm4gZm9sZGVyO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgZG9jdW1lbnQgd2l0aGluIHRoaXMgZm9sZGVyLlxuXHQgKiBAcGFyYW0gcHJvcGVydGllcyBBIG1hcCBvZiBDTUlTIHByb3BlcnRpZXMgZm9yIHRoZSBuZXcgZG9jdW1lbnQgKG11c3QgaW5jbHVkZSB7QGxpbmsgQ21pcy5OQU1FfSkuXG5cdCAqIEBwYXJhbSBjb250ZW50U3RyZWFtIFRoZSBjb250ZW50IHN0cmVhbSBjb250YWluaW5nIHRoZSBkb2N1bWVudCdzIGJpbmFyeSBkYXRhLlxuXHQgKiBAcGFyYW0gdmVyc2lvbmluZ1N0YXRlIFRoZSB2ZXJzaW9uaW5nIHN0YXRlIChlLmcuLCB7QGxpbmsgQ21pcy5WRVJTSU9OSU5HX1NUQVRFX01BSk9SfSkuXG5cdCAqIEByZXR1cm5zIFRoZSBuZXdseSBjcmVhdGVkIHtAbGluayBEb2N1bWVudH0gb2JqZWN0LlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHdyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZC5cblx0ICovXG5cdHB1YmxpYyBjcmVhdGVEb2N1bWVudChwcm9wZXJ0aWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBjb250ZW50U3RyZWFtOiBDb250ZW50U3RyZWFtLCB2ZXJzaW9uaW5nU3RhdGU6IHN0cmluZyk6IERvY3VtZW50IHtcblx0XHRjb25zdCBhbGxvd2VkID0gQ21pc0ZhY2FkZS5pc0FsbG93ZWQodGhpcy5nZXRQYXRoKCksIENtaXMuTUVUSE9EX1dSSVRFKTtcblx0XHRpZiAoIWFsbG93ZWQpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIldyaXRlIGFjY2VzcyBub3QgYWxsb3dlZCBvbjogXCIgKyB0aGlzLmdldFBhdGgoKSk7XG5cdFx0fVxuXHRcdGNvbnN0IG1hcEluc3RhbmNlID0gbmV3IEhhc2hNYXAoKTtcblx0XHRmb3IgKGNvbnN0IHByb3BlcnR5IGluIHByb3BlcnRpZXMpIHtcblx0XHRcdGlmIChwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHByb3BlcnR5KSkge1xuXHRcdFx0XHRtYXBJbnN0YW5jZS5wdXQocHJvcGVydHksIHByb3BlcnRpZXNbcHJvcGVydHldKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Y29uc3Qgc3RhdGUgPSBDbWlzRmFjYWRlLmdldFZlcnNpb25pbmdTdGF0ZSh2ZXJzaW9uaW5nU3RhdGUpO1xuXG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmNyZWF0ZURvY3VtZW50KG1hcEluc3RhbmNlLCBjb250ZW50U3RyZWFtLm5hdGl2ZSwgc3RhdGUpO1xuXHRcdHJldHVybiBuZXcgRG9jdW1lbnQobmF0aXZlLCBudWxsKTtcblx0fTtcblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBjaGlsZHJlbiBvZiB0aGlzIGZvbGRlci5cblx0ICogQHJldHVybnMgQSBsaXN0IG9mIGdlbmVyaWMge0BsaW5rIENtaXNPYmplY3R9IHdyYXBwZXJzIGZvciB0aGUgY2hpbGRyZW4uXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgcmVhZCBhY2Nlc3MgaXMgbm90IGFsbG93ZWQuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q2hpbGRyZW4oKTogQ21pc09iamVjdFtdIHtcblx0XHRjb25zdCBhbGxvd2VkID0gQ21pc0ZhY2FkZS5pc0FsbG93ZWQodGhpcy5nZXRQYXRoKCksIENtaXMuTUVUSE9EX1JFQUQpO1xuXHRcdGlmICghYWxsb3dlZCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiUmVhZCBhY2Nlc3Mgbm90IGFsbG93ZWQgb246IFwiICsgdGhpcy5nZXRQYXRoKCkpO1xuXHRcdH1cblx0XHRjb25zdCBjaGlsZHJlbiA9IFtdO1xuXHRcdGNvbnN0IGNoaWxkcmVuSW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRDaGlsZHJlbigpO1xuXHRcdGNvbnN0IGNoaWxkcmVuSW5zdGFuY2VJdGVyYXRvciA9IGNoaWxkcmVuSW5zdGFuY2UuaXRlcmF0b3IoKTtcblx0XHR3aGlsZSAoY2hpbGRyZW5JbnN0YW5jZUl0ZXJhdG9yLmhhc05leHQoKSkge1xuXHRcdFx0Y29uc3QgY21pc09iamVjdEluc3RhbmNlID0gY2hpbGRyZW5JbnN0YW5jZUl0ZXJhdG9yLm5leHQoKTtcblx0XHRcdGNvbnN0IGNtaXNPYmplY3QgPSBuZXcgQ21pc09iamVjdChjbWlzT2JqZWN0SW5zdGFuY2UpO1xuXHRcdFx0Y2hpbGRyZW4ucHVzaChjbWlzT2JqZWN0KTtcblx0XHR9XG5cdFx0cmV0dXJuIGNoaWxkcmVuO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHBhdGggb2YgdGhlIGZvbGRlci5cblx0ICogQHJldHVybnMgVGhlIGZvbGRlciBwYXRoLlxuXHQgKi9cblx0cHVibGljIGdldFBhdGgoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5wYXRoO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGlzIGZvbGRlciBpcyB0aGUgcm9vdCBmb2xkZXIgb2YgdGhlIHJlcG9zaXRvcnkuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgaXQgaXMgdGhlIHJvb3QgZm9sZGVyLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgaXNSb290Rm9sZGVyKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5pc1Jvb3RGb2xkZXIoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBwYXJlbnQgZm9sZGVyIG9mIHRoaXMgZm9sZGVyLlxuXHQgKiBAcmV0dXJucyBUaGUgcGFyZW50IHtAbGluayBGb2xkZXJ9IG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBnZXRGb2xkZXJQYXJlbnQoKTogRm9sZGVyIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRGb2xkZXJQYXJlbnQoKTtcblx0XHRyZXR1cm4gbmV3IEZvbGRlcihuYXRpdmUsIG51bGwpO1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBEZWxldGVzIHRoaXMgZm9sZGVyIChtdXN0IGJlIGVtcHR5IHRvIHN1Y2NlZWQpLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHdyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZC5cblx0ICovXG5cdHB1YmxpYyBkZWxldGUoKTogdm9pZCB7XG5cdFx0Y29uc3QgYWxsb3dlZCA9IENtaXNGYWNhZGUuaXNBbGxvd2VkKHRoaXMuZ2V0UGF0aCgpLCBDbWlzLk1FVEhPRF9XUklURSk7XG5cdFx0aWYgKCFhbGxvd2VkKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJXcml0ZSBhY2Nlc3Mgbm90IGFsbG93ZWQgb246IFwiICsgdGhpcy5nZXRQYXRoKCkpO1xuXHRcdH1cblx0XHR0aGlzLm5hdGl2ZS5kZWxldGUoKTtcblx0fTtcblxuXHQvKipcblx0ICogUmVuYW1lcyB0aGlzIGZvbGRlci5cblx0ICogQHBhcmFtIG5ld05hbWUgVGhlIG5ldyBuYW1lIGZvciB0aGUgZm9sZGVyLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHdyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZC5cblx0ICovXG5cdHB1YmxpYyByZW5hbWUobmV3TmFtZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3QgYWxsb3dlZCA9IENtaXNGYWNhZGUuaXNBbGxvd2VkKHRoaXMuZ2V0UGF0aCgpLCBDbWlzLk1FVEhPRF9XUklURSk7XG5cdFx0aWYgKCFhbGxvd2VkKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJXcml0ZSBhY2Nlc3Mgbm90IGFsbG93ZWQgb246IFwiICsgdGhpcy5nZXRQYXRoKCkpO1xuXHRcdH1cblx0XHR0aGlzLm5hdGl2ZS5yZW5hbWUobmV3TmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogRGVsZXRlcyB0aGlzIGZvbGRlciBhbmQgYWxsIGl0cyBjb250ZW50cyByZWN1cnNpdmVseS5cblx0ICogQHRocm93cyBFcnJvciBpZiB3cml0ZSBhY2Nlc3MgaXMgbm90IGFsbG93ZWQuXG5cdCAqL1xuXHRwdWJsaWMgZGVsZXRlVHJlZSgpOiB2b2lkIHtcblx0XHRjb25zdCBhbGxvd2VkID0gQ21pc0ZhY2FkZS5pc0FsbG93ZWQodGhpcy5nZXRQYXRoKCksIENtaXMuTUVUSE9EX1dSSVRFKTtcblx0XHRpZiAoIWFsbG93ZWQpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIldyaXRlIGFjY2VzcyBub3QgYWxsb3dlZCBvbjogXCIgKyB0aGlzLmdldFBhdGgoKSk7XG5cdFx0fVxuXHRcdGNvbnN0IHVuaWZpZWRPYmplY3REZWxldGUgPSBDbWlzRmFjYWRlLmdldFVuaWZpZWRPYmplY3REZWxldGUoKTtcblx0XHR0aGlzLm5hdGl2ZS5kZWxldGVUcmVlKHRydWUsIHVuaWZpZWRPYmplY3REZWxldGUsIHRydWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHR5cGUgZGVmaW5pdGlvbiBvZiB0aGUgZm9sZGVyLlxuXHQgKiBAcmV0dXJucyBUaGUgZm9sZGVyJ3Mge0BsaW5rIFR5cGVEZWZpbml0aW9ufS5cblx0ICovXG5cdHB1YmxpYyBnZXRUeXBlKCk6IFR5cGVEZWZpbml0aW9uIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRUeXBlKCk7XG5cdFx0cmV0dXJuIG5ldyBUeXBlRGVmaW5pdGlvbihuYXRpdmUpO1xuXHR9XG59XG5cbi8qKlxuICogQ21pc09iamVjdCBvYmplY3RcbiAqICogQSBnZW5lcmljIHdyYXBwZXIgZm9yIENNSVMgb2JqZWN0cywgdXNlZCBwcmltYXJpbHkgZm9yIGNoaWxkcmVuIGxpc3RzLlxuICovXG5jbGFzcyBDbWlzT2JqZWN0IHtcblxuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIG9iamVjdC5cblx0ICogQHJldHVybnMgVGhlIG9iamVjdCBJRC5cblx0ICovXG5cdHB1YmxpYyBnZXRJZCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRJZCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWUgb2YgdGhlIG9iamVjdC5cblx0ICogQHJldHVybnMgVGhlIG9iamVjdCBuYW1lLlxuXHQgKi9cblx0cHVibGljIGdldE5hbWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TmFtZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHBhdGggb2YgdGhlIENNSVMgb2JqZWN0LiBIYW5kbGVzIGRpZmZlcmVuY2VzIGluIG5hdGl2ZSBDTUlTIGltcGxlbWVudGF0aW9ucy5cblx0ICogQHJldHVybnMgVGhlIG9iamVjdCBwYXRoLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBwYXRoIGNhbm5vdCBiZSBkZXRlcm1pbmVkLlxuXHQgKi9cblx0cHVibGljIGdldFBhdGgoKTogc3RyaW5nIHtcblx0XHQvL3RoaXMgaXMgY2F1c2VkIGJ5IGhhdmluZyBkaWZmZXJlbnQgdW5kZXJseWluZyBuYXRpdmUgb2JqZWN0cyBpbiBkaWZmZXJlbnQgZW52aXJvbm1lbnRzLlxuXHRcdGlmICh0aGlzLm5hdGl2ZS5nZXRQYXRoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UGF0aCgpO1xuXHRcdH1cblxuXHRcdC8vQXBhY2hlIENoZW1pc3RyeSBDbWlzT2JqZWN0IGhhcyBubyBnZXRQYXRoKCkgYnV0IGdldFBhdGhzKCkgLSBodHRwczovL2NoZW1pc3RyeS5hcGFjaGUub3JnL2RvY3MvY21pcy1zYW1wbGVzL3NhbXBsZXMvcmV0cmlldmUtb2JqZWN0cy9pbmRleC5odG1sXG5cdFx0aWYgKHRoaXMubmF0aXZlLmdldFBhdGhzKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UGF0aHMoKVswXTtcblx0XHR9XG5cblx0XHR0aHJvdyBuZXcgRXJyb3IoYFBhdGggbm90IGZvdW5kIGZvciBDbWlzT2JqZWN0IHdpdGggaWQgJHt0aGlzLmdldElkKCl9YCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgdHlwZSBkZWZpbml0aW9uIG9mIHRoZSBvYmplY3QuXG5cdCAqIEByZXR1cm5zIFRoZSBvYmplY3QncyB7QGxpbmsgVHlwZURlZmluaXRpb259LlxuXHQgKi9cblx0cHVibGljIGdldFR5cGUoKTogVHlwZURlZmluaXRpb24ge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldFR5cGUoKTtcblx0XHRyZXR1cm4gbmV3IFR5cGVEZWZpbml0aW9uKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogRGVsZXRlcyB0aGUgQ01JUyBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgZGVsZXRlKCk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLmRlbGV0ZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbmFtZXMgdGhlIENNSVMgb2JqZWN0LlxuXHQgKiBAcGFyYW0gbmV3TmFtZSBUaGUgbmV3IG5hbWUgZm9yIHRoZSBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgcmVuYW1lKG5ld05hbWU6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLnJlbmFtZShuZXdOYW1lKTtcblx0fVxuXG59XG5cbi8qKlxuICogT2JqZWN0RmFjdG9yeSBvYmplY3RcbiAqICogUHJvdmlkZXMgbWV0aG9kcyB0byBjcmVhdGUgY29udGVudCBzdHJlYW1zLlxuICovXG5jbGFzcyBPYmplY3RGYWN0b3J5IHtcblxuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5ldyBjb250ZW50IHN0cmVhbSBpbnN0YW5jZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBvciB1cGRhdGUgZG9jdW1lbnQgY29udGVudC5cblx0ICogQHBhcmFtIGZpbGVuYW1lIFRoZSBuYW1lIG9mIHRoZSBmaWxlLlxuXHQgKiBAcGFyYW0gbGVuZ3RoIFRoZSBzaXplIG9mIHRoZSBjb250ZW50IHN0cmVhbSBpbiBieXRlcy5cblx0ICogQHBhcmFtIG1pbWV0eXBlIFRoZSBNSU1FIHR5cGUgb2YgdGhlIGNvbnRlbnQuXG5cdCAqIEBwYXJhbSBpbnB1dFN0cmVhbSBUaGUgaW5wdXQgc3RyZWFtIGNvbnRhaW5pbmcgdGhlIGRhdGEuXG5cdCAqIEByZXR1cm5zIEEgbmV3IHtAbGluayBDb250ZW50U3RyZWFtfSBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlQ29udGVudFN0cmVhbShmaWxlbmFtZTogc3RyaW5nLCBsZW5ndGg6IG51bWJlciwgbWltZXR5cGU6IHN0cmluZywgaW5wdXRTdHJlYW06IHN0cmVhbXMuSW5wdXRTdHJlYW0pOiBDb250ZW50U3RyZWFtIHtcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuY3JlYXRlQ29udGVudFN0cmVhbShmaWxlbmFtZSwgbGVuZ3RoLCBtaW1ldHlwZSwgaW5wdXRTdHJlYW0ubmF0aXZlKTtcblx0XHRyZXR1cm4gbmV3IENvbnRlbnRTdHJlYW0obmF0aXZlKTtcblx0fVxufVxuXG4vKipcbiAqIENvbnRlbnRTdHJlYW0gb2JqZWN0XG4gKiAqIFJlcHJlc2VudHMgdGhlIGJpbmFyeSBjb250ZW50IHN0cmVhbSBvZiBhIENNSVMgRG9jdW1lbnQuXG4gKi9cbmNsYXNzIENvbnRlbnRTdHJlYW0ge1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBKYXZhLWJhY2tlZCBpbnB1dCBzdHJlYW0gZm9yIHJlYWRpbmcgdGhlIGNvbnRlbnQuXG5cdCAqIEByZXR1cm5zIEFuIHtAbGluayBzdHJlYW1zLklucHV0U3RyZWFtfSB3cmFwcGVyLlxuXHQgKi9cblx0cHVibGljIGdldFN0cmVhbSgpOiBzdHJlYW1zLklucHV0U3RyZWFtIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRTdHJlYW0oKTtcblx0XHRyZXR1cm4gbmV3IHN0cmVhbXMuSW5wdXRTdHJlYW0obmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBNSU1FIHR5cGUgb2YgdGhlIGNvbnRlbnQgc3RyZWFtLlxuXHQgKiBAcmV0dXJucyBUaGUgTUlNRSB0eXBlIHN0cmluZy5cblx0ICovXG5cdHB1YmxpYyBnZXRNaW1lVHlwZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRNaW1lVHlwZSgpO1xuXHR9XG59XG5cbi8qKlxuICogRG9jdW1lbnQgb2JqZWN0XG4gKiAqIFJlcHJlc2VudHMgYSBDTUlTIGRvY3VtZW50IG9iamVjdCwgYWxsb3dpbmcgb3BlcmF0aW9ucyBsaWtlIHJlYWRpbmcgY29udGVudCwgZGVsZXRpbmcsIGFuZCByZW5hbWluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIERvY3VtZW50IHtcblxuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXHRwcml2YXRlIHBhdGg6IHN0cmluZztcblxuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSwgcGF0aDogc3RyaW5nKSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdFx0dGhpcy5wYXRoID0gcGF0aDtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZG9jdW1lbnQuXG5cdCAqIEByZXR1cm5zIFRoZSBkb2N1bWVudCBJRC5cblx0ICovXG5cdHB1YmxpYyBnZXRJZCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRJZCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWUgb2YgdGhlIGRvY3VtZW50LlxuXHQgKiBAcmV0dXJucyBUaGUgZG9jdW1lbnQgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSB0eXBlIGRlZmluaXRpb24gb2YgdGhlIGRvY3VtZW50LlxuXHQgKiBAcmV0dXJucyBUaGUgZG9jdW1lbnQncyB7QGxpbmsgVHlwZURlZmluaXRpb259LlxuXHQgKi9cblx0cHVibGljIGdldFR5cGUoKTogVHlwZURlZmluaXRpb24ge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldFR5cGUoKTtcblx0XHRyZXR1cm4gbmV3IFR5cGVEZWZpbml0aW9uKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgcGF0aCBvZiB0aGUgZG9jdW1lbnQuXG5cdCAqIEByZXR1cm5zIFRoZSBkb2N1bWVudCBwYXRoLlxuXHQgKi9cblx0cHVibGljIGdldFBhdGgoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5wYXRoO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgdGhpcyBkb2N1bWVudC5cblx0ICogQHRocm93cyBFcnJvciBpZiB3cml0ZSBhY2Nlc3MgaXMgbm90IGFsbG93ZWQuXG5cdCAqL1xuXHRwdWJsaWMgZGVsZXRlKCk6IHZvaWQge1xuXHRcdGNvbnN0IGFsbG93ZWQgPSBDbWlzRmFjYWRlLmlzQWxsb3dlZCh0aGlzLmdldFBhdGgoKSwgQ21pcy5NRVRIT0RfV1JJVEUpO1xuXHRcdGlmICghYWxsb3dlZCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiV3JpdGUgYWNjZXNzIG5vdCBhbGxvd2VkIG9uOiBcIiArIHRoaXMuZ2V0UGF0aCgpKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmRlbGV0ZSh0cnVlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBiaW5hcnkgY29udGVudCBzdHJlYW0gb2YgdGhlIGRvY3VtZW50LlxuXHQgKiBAcmV0dXJucyBUaGUge0BsaW5rIENvbnRlbnRTdHJlYW19IG9iamVjdCwgb3IgYG51bGxgIGlmIHRoZSBkb2N1bWVudCBoYXMgbm8gY29udGVudC5cblx0ICovXG5cdHB1YmxpYyBnZXRDb250ZW50U3RyZWFtKCk6IENvbnRlbnRTdHJlYW0gfCBudWxsIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRDb250ZW50U3RyZWFtKCk7XG5cdFx0aWYgKG5hdGl2ZSAhPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIG5ldyBDb250ZW50U3RyZWFtKG5hdGl2ZSk7XG5cdFx0fVxuXHRcdHJldHVybiBudWxsO1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBzaXplIG9mIHRoZSBkb2N1bWVudCdzIGNvbnRlbnQgc3RyZWFtIGluIGJ5dGVzLlxuXHQgKiBAcmV0dXJucyBUaGUgc2l6ZSBpbiBieXRlcy5cblx0ICovXG5cdHB1YmxpYyBnZXRTaXplKCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldFNpemUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW5hbWVzIHRoaXMgZG9jdW1lbnQuXG5cdCAqIEBwYXJhbSBuZXdOYW1lIFRoZSBuZXcgbmFtZSBmb3IgdGhlIGRvY3VtZW50LlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHdyaXRlIGFjY2VzcyBpcyBub3QgYWxsb3dlZC5cblx0ICovXG5cdHB1YmxpYyByZW5hbWUobmV3TmFtZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3QgYWxsb3dlZCA9IENtaXNGYWNhZGUuaXNBbGxvd2VkKHRoaXMuZ2V0UGF0aCgpLCBDbWlzLk1FVEhPRF9XUklURSk7XG5cdFx0aWYgKCFhbGxvd2VkKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJXcml0ZSBhY2Nlc3Mgbm90IGFsbG93ZWQgb246IFwiICsgdGhpcy5nZXRQYXRoKCkpO1xuXHRcdH1cblx0XHR0aGlzLm5hdGl2ZS5yZW5hbWUobmV3TmFtZSk7XG5cdH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBkZWZpbml0aW9uIG9mIGEgQ01JUyBvYmplY3QgdHlwZSAoZS5nLiwgY21pczpkb2N1bWVudCwgY21pczpmb2xkZXIpLlxuICovXG5jbGFzcyBUeXBlRGVmaW5pdGlvbiB7XG5cblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHVuaXF1ZSBJRCBvZiB0aGUgb2JqZWN0IHR5cGUgKGUuZy4sICdjbWlzOmRvY3VtZW50JykuXG5cdCAqIEByZXR1cm5zIFRoZSB0eXBlIElELlxuXHQgKi9cblx0cHVibGljIGdldElkKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldElkKCk7XG5cdH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBDbWlzO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUErQkEsY0FBeUI7QUFDekIsTUFBTSxhQUFhLEtBQUssS0FBSyxxREFBcUQ7QUFDbEYsTUFBTSxPQUFPLEtBQUssS0FBSyxzQkFBc0I7QUFDN0MsTUFBTSxVQUFVLEtBQUssS0FBSyxtQkFBbUI7QUFFdEMsTUFBTSxLQUFLO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1qQixPQUF1QixjQUFjO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJckMsT0FBdUIsZUFBZTtBQUFBO0FBQUE7QUFBQSxFQUl0QyxPQUF1QixPQUFPO0FBQUE7QUFBQSxFQUU5QixPQUF1QixZQUFZO0FBQUE7QUFBQSxFQUVuQyxPQUF1QixpQkFBaUI7QUFBQTtBQUFBLEVBRXhDLE9BQXVCLGVBQWU7QUFBQTtBQUFBLEVBRXRDLE9BQXVCLGFBQWE7QUFBQTtBQUFBLEVBRXBDLE9BQXVCLGdCQUFnQjtBQUFBO0FBQUEsRUFFdkMsT0FBdUIsbUJBQW1CO0FBQUE7QUFBQSxFQUUxQyxPQUF1Qix5QkFBeUI7QUFBQTtBQUFBLEVBRWhELE9BQXVCLGVBQWU7QUFBQTtBQUFBO0FBQUEsRUFJdEMsT0FBdUIsZUFBZTtBQUFBO0FBQUEsRUFFdEMsT0FBdUIsb0JBQW9CO0FBQUE7QUFBQSxFQUUzQyxPQUF1QixtQkFBbUI7QUFBQTtBQUFBLEVBRTFDLE9BQXVCLDBCQUEwQjtBQUFBO0FBQUEsRUFFakQsT0FBdUIsZ0JBQWdCO0FBQUE7QUFBQSxFQUV2QyxPQUF1QixvQkFBb0I7QUFBQTtBQUFBLEVBRTNDLE9BQXVCLGdDQUFnQztBQUFBO0FBQUEsRUFFdkQsT0FBdUIsZ0NBQWdDO0FBQUE7QUFBQSxFQUV2RCxPQUF1QixnQ0FBZ0M7QUFBQTtBQUFBLEVBRXZELE9BQXVCLGtCQUFrQjtBQUFBO0FBQUEsRUFFekMsT0FBdUIsd0JBQXdCO0FBQUE7QUFBQSxFQUUvQyxPQUF1QiwyQkFBMkI7QUFBQTtBQUFBLEVBRWxELE9BQXVCLDJCQUEyQjtBQUFBO0FBQUEsRUFFbEQsT0FBdUIsb0JBQW9CO0FBQUE7QUFBQTtBQUFBLEVBSTNDLE9BQXVCLFlBQVk7QUFBQTtBQUFBLEVBRW5DLE9BQXVCLGdDQUFnQztBQUFBO0FBQUEsRUFFdkQsT0FBdUIsT0FBTztBQUFBO0FBQUE7QUFBQSxFQUk5QixPQUF1QixZQUFZO0FBQUE7QUFBQSxFQUVuQyxPQUF1QixZQUFZO0FBQUE7QUFBQTtBQUFBLEVBSW5DLE9BQXVCLGNBQWM7QUFBQTtBQUFBO0FBQUEsRUFJckMsT0FBdUIsd0JBQXdCO0FBQUE7QUFBQSxFQUUvQyxPQUF1Qix5QkFBeUI7QUFBQTtBQUFBLEVBRWhELE9BQXVCLHlCQUF5QjtBQUFBO0FBQUEsRUFFaEQsT0FBdUIsOEJBQThCO0FBQUE7QUFBQTtBQUFBLEVBSXJELE9BQXVCLHVCQUF1QjtBQUFBO0FBQUEsRUFFOUMsT0FBdUIscUJBQXFCO0FBQUE7QUFBQSxFQUU1QyxPQUF1QiwyQkFBMkI7QUFBQTtBQUFBLEVBRWxELE9BQXVCLHFCQUFxQjtBQUFBO0FBQUEsRUFFNUMsT0FBdUIsbUJBQW1CO0FBQUE7QUFBQSxFQUUxQyxPQUF1Qix3QkFBd0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTS9DLE9BQWMsYUFBc0I7QUFDbkMsVUFBTSxTQUFTLFdBQVcsV0FBVztBQUNyQyxXQUFPLElBQUksUUFBUSxNQUFNO0FBQUEsRUFDMUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMscUJBQXFCLE1BQWMsUUFBb0M7QUFDcEYsVUFBTSxvQkFBb0IsV0FBVyxxQkFBcUIsTUFBTSxNQUFNO0FBQ3RFLFdBQU8sS0FBSyxNQUFNLElBQUksS0FBSyxFQUFFLE9BQU8saUJBQWlCLENBQUM7QUFBQSxFQUN2RDtBQUNEO0FBdUJBLE1BQU0sUUFBUTtBQUFBLEVBRUk7QUFBQSxFQUVqQixZQUFZLFFBQWE7QUFDeEIsU0FBSyxTQUFTO0FBQUEsRUFDZjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxvQkFBb0M7QUFDMUMsVUFBTSxTQUFTLEtBQUssT0FBTyxrQkFBa0I7QUFDN0MsV0FBTyxJQUFJLGVBQWUsTUFBTTtBQUFBLEVBQ2pDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLGdCQUF3QjtBQUM5QixVQUFNLFNBQVMsS0FBSyxPQUFPLGNBQWM7QUFDekMsV0FBTyxJQUFJLE9BQU8sUUFBUSxJQUFJO0FBQUEsRUFDL0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8sbUJBQWtDO0FBQ3hDLFVBQU0sU0FBUyxLQUFLLE9BQU8saUJBQWlCO0FBQzVDLFdBQU8sSUFBSSxjQUFjLE1BQU07QUFBQSxFQUNoQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sVUFBVSxVQUFxQztBQUNyRCxVQUFNLGlCQUFpQixLQUFLLE9BQU8sVUFBVSxRQUFRO0FBQ3JELFVBQU0scUJBQXFCLGVBQWUsUUFBUTtBQUNsRCxVQUFNLHVCQUF1QixtQkFBbUIsTUFBTTtBQUN0RCxRQUFJLHlCQUF5QixLQUFLLHNCQUFzQjtBQUN2RCxhQUFPLElBQUksU0FBUyxnQkFBZ0IsSUFBSTtBQUFBLElBQ3pDLFdBQVcseUJBQXlCLEtBQUssb0JBQW9CO0FBQzVELGFBQU8sSUFBSSxPQUFPLGdCQUFnQixJQUFJO0FBQUEsSUFDdkM7QUFDQSxVQUFNLElBQUksTUFBTSxtQ0FBbUMsb0JBQW9CO0FBQUEsRUFDeEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLGdCQUFnQixNQUFpQztBQUN2RCxVQUFNLFVBQVUsV0FBVyxVQUFVLE1BQU0sS0FBSyxXQUFXO0FBQzNELFFBQUksQ0FBQyxTQUFTO0FBQ2IsWUFBTSxJQUFJLE1BQU0saUNBQWlDLElBQUk7QUFBQSxJQUN0RDtBQUNBLFVBQU0saUJBQWlCLEtBQUssT0FBTyxnQkFBZ0IsSUFBSTtBQUN2RCxVQUFNLHFCQUFxQixlQUFlLFFBQVE7QUFDbEQsVUFBTSx1QkFBdUIsbUJBQW1CLE1BQU07QUFDdEQsUUFBSSx5QkFBeUIsS0FBSyxzQkFBc0I7QUFDdkQsYUFBTyxJQUFJLFNBQVMsZ0JBQWdCLElBQUk7QUFBQSxJQUN6QyxXQUFXLHlCQUF5QixLQUFLLG9CQUFvQjtBQUM1RCxhQUFPLElBQUksT0FBTyxnQkFBZ0IsSUFBSTtBQUFBLElBQ3ZDO0FBQ0EsVUFBTSxJQUFJLE1BQU0sbUNBQW1DLG9CQUFvQjtBQUFBLEVBQ3hFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNPLGFBQWEsVUFBMEI7QUFDN0MsUUFBSSxTQUFTLFdBQVcsR0FBRyxHQUFHO0FBQzdCLGlCQUFXLFNBQVMsVUFBVSxHQUFHLFNBQVMsTUFBTTtBQUFBLElBQ2pEO0FBQ0EsUUFBSSxTQUFTLFNBQVMsR0FBRyxHQUFHO0FBQzNCLGlCQUFXLFNBQVMsVUFBVSxHQUFHLFNBQVMsU0FBUyxDQUFDO0FBQUEsSUFDckQ7QUFDQSxVQUFNLFdBQVcsU0FBUyxNQUFNLEdBQUc7QUFDbkMsUUFBSSxTQUFTLEtBQUssY0FBYztBQUNoQyxlQUFXLFFBQVEsVUFBVTtBQUM1QixZQUFNLGFBQWE7QUFBQSxRQUNsQixDQUFDLEtBQUssY0FBYyxHQUFHLEtBQUs7QUFBQSxRQUM1QixDQUFDLEtBQUssSUFBSSxHQUFHO0FBQUEsTUFDZDtBQUNBLGVBQVMsT0FBTyxhQUFhLFVBQVU7QUFBQSxJQUN4QztBQUNBLFdBQU87QUFBQSxFQUNSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVU8sZUFBZSxVQUFrQixZQUFvQyxlQUE4QixpQkFBbUM7QUFDNUksVUFBTSxTQUFTLEtBQUssYUFBYSxRQUFRO0FBQ3pDLFdBQU8sT0FBTyxlQUFlLFlBQVksZUFBZSxlQUFlO0FBQUEsRUFDeEU7QUFFRDtBQU1BLE1BQU0sZUFBZTtBQUFBLEVBRUg7QUFBQSxFQUVqQixZQUFZLFFBQWE7QUFDeEIsU0FBSyxTQUFTO0FBQUEsRUFDZjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxRQUFnQjtBQUN0QixXQUFPLEtBQUssT0FBTyxNQUFNO0FBQUEsRUFDMUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8sVUFBa0I7QUFDeEIsV0FBTyxLQUFLLE9BQU8sUUFBUTtBQUFBLEVBQzVCO0FBQ0Q7QUFNTyxNQUFNLE9BQU87QUFBQSxFQUNGO0FBQUEsRUFDVDtBQUFBLEVBRVIsWUFBWSxRQUFhLE1BQVc7QUFDbkMsU0FBSyxTQUFTO0FBQ2QsU0FBSyxPQUFPO0FBQUEsRUFDYjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxRQUFnQjtBQUN0QixXQUFPLEtBQUssT0FBTyxNQUFNO0FBQUEsRUFDMUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8sVUFBa0I7QUFDeEIsV0FBTyxLQUFLLE9BQU8sUUFBUTtBQUFBLEVBQzVCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxhQUFhLFlBQTRDO0FBQy9ELFFBQUksVUFBVSxXQUFXLFVBQVUsS0FBSyxRQUFRLEdBQUcsS0FBSyxZQUFZO0FBQ3BFLFFBQUksQ0FBQyxTQUFTO0FBQ2IsWUFBTSxJQUFJLE1BQU0sa0NBQWtDLEtBQUssUUFBUSxDQUFDO0FBQUEsSUFDakU7QUFDQSxRQUFJLGNBQWMsSUFBSSxRQUFRO0FBQzlCLGFBQVMsWUFBWSxZQUFZO0FBQ2hDLFVBQUksV0FBVyxlQUFlLFFBQVEsR0FBRztBQUN4QyxvQkFBWSxJQUFJLFVBQVUsV0FBVyxRQUFRLENBQUM7QUFBQSxNQUMvQztBQUFBLElBQ0Q7QUFDQSxRQUFJLFNBQVMsS0FBSyxPQUFPLGFBQWEsV0FBVztBQUNqRCxRQUFJLFNBQVMsSUFBSSxPQUFPLFFBQVEsSUFBSTtBQUNwQyxXQUFPO0FBQUEsRUFDUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVPLGVBQWUsWUFBb0MsZUFBOEIsaUJBQW1DO0FBQzFILFVBQU0sVUFBVSxXQUFXLFVBQVUsS0FBSyxRQUFRLEdBQUcsS0FBSyxZQUFZO0FBQ3RFLFFBQUksQ0FBQyxTQUFTO0FBQ2IsWUFBTSxJQUFJLE1BQU0sa0NBQWtDLEtBQUssUUFBUSxDQUFDO0FBQUEsSUFDakU7QUFDQSxVQUFNLGNBQWMsSUFBSSxRQUFRO0FBQ2hDLGVBQVcsWUFBWSxZQUFZO0FBQ2xDLFVBQUksV0FBVyxlQUFlLFFBQVEsR0FBRztBQUN4QyxvQkFBWSxJQUFJLFVBQVUsV0FBVyxRQUFRLENBQUM7QUFBQSxNQUMvQztBQUFBLElBQ0Q7QUFDQSxVQUFNLFFBQVEsV0FBVyxtQkFBbUIsZUFBZTtBQUczRCxVQUFNLFNBQVMsS0FBSyxPQUFPLGVBQWUsYUFBYSxjQUFjLFFBQVEsS0FBSztBQUNsRixXQUFPLElBQUksU0FBUyxRQUFRLElBQUk7QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLGNBQTRCO0FBQ2xDLFVBQU0sVUFBVSxXQUFXLFVBQVUsS0FBSyxRQUFRLEdBQUcsS0FBSyxXQUFXO0FBQ3JFLFFBQUksQ0FBQyxTQUFTO0FBQ2IsWUFBTSxJQUFJLE1BQU0saUNBQWlDLEtBQUssUUFBUSxDQUFDO0FBQUEsSUFDaEU7QUFDQSxVQUFNLFdBQVcsQ0FBQztBQUNsQixVQUFNLG1CQUFtQixLQUFLLE9BQU8sWUFBWTtBQUNqRCxVQUFNLDJCQUEyQixpQkFBaUIsU0FBUztBQUMzRCxXQUFPLHlCQUF5QixRQUFRLEdBQUc7QUFDMUMsWUFBTSxxQkFBcUIseUJBQXlCLEtBQUs7QUFDekQsWUFBTSxhQUFhLElBQUksV0FBVyxrQkFBa0I7QUFDcEQsZUFBUyxLQUFLLFVBQVU7QUFBQSxJQUN6QjtBQUNBLFdBQU87QUFBQSxFQUNSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLFVBQWtCO0FBQ3hCLFdBQU8sS0FBSztBQUFBLEVBQ2I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8sZUFBd0I7QUFDOUIsV0FBTyxLQUFLLE9BQU8sYUFBYTtBQUFBLEVBQ2pDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLGtCQUEwQjtBQUNoQyxVQUFNLFNBQVMsS0FBSyxPQUFPLGdCQUFnQjtBQUMzQyxXQUFPLElBQUksT0FBTyxRQUFRLElBQUk7QUFBQSxFQUMvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxTQUFlO0FBQ3JCLFVBQU0sVUFBVSxXQUFXLFVBQVUsS0FBSyxRQUFRLEdBQUcsS0FBSyxZQUFZO0FBQ3RFLFFBQUksQ0FBQyxTQUFTO0FBQ2IsWUFBTSxJQUFJLE1BQU0sa0NBQWtDLEtBQUssUUFBUSxDQUFDO0FBQUEsSUFDakU7QUFDQSxTQUFLLE9BQU8sT0FBTztBQUFBLEVBQ3BCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sT0FBTyxTQUF1QjtBQUNwQyxVQUFNLFVBQVUsV0FBVyxVQUFVLEtBQUssUUFBUSxHQUFHLEtBQUssWUFBWTtBQUN0RSxRQUFJLENBQUMsU0FBUztBQUNiLFlBQU0sSUFBSSxNQUFNLGtDQUFrQyxLQUFLLFFBQVEsQ0FBQztBQUFBLElBQ2pFO0FBQ0EsU0FBSyxPQUFPLE9BQU8sT0FBTztBQUFBLEVBQzNCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLGFBQW1CO0FBQ3pCLFVBQU0sVUFBVSxXQUFXLFVBQVUsS0FBSyxRQUFRLEdBQUcsS0FBSyxZQUFZO0FBQ3RFLFFBQUksQ0FBQyxTQUFTO0FBQ2IsWUFBTSxJQUFJLE1BQU0sa0NBQWtDLEtBQUssUUFBUSxDQUFDO0FBQUEsSUFDakU7QUFDQSxVQUFNLHNCQUFzQixXQUFXLHVCQUF1QjtBQUM5RCxTQUFLLE9BQU8sV0FBVyxNQUFNLHFCQUFxQixJQUFJO0FBQUEsRUFDdkQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8sVUFBMEI7QUFDaEMsVUFBTSxTQUFTLEtBQUssT0FBTyxRQUFRO0FBQ25DLFdBQU8sSUFBSSxlQUFlLE1BQU07QUFBQSxFQUNqQztBQUNEO0FBTUEsTUFBTSxXQUFXO0FBQUEsRUFFQztBQUFBLEVBRWpCLFlBQVksUUFBYTtBQUN4QixTQUFLLFNBQVM7QUFBQSxFQUNmO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLFFBQWdCO0FBQ3RCLFdBQU8sS0FBSyxPQUFPLE1BQU07QUFBQSxFQUMxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxVQUFrQjtBQUN4QixXQUFPLEtBQUssT0FBTyxRQUFRO0FBQUEsRUFDNUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxVQUFrQjtBQUV4QixRQUFJLEtBQUssT0FBTyxTQUFTO0FBQ3hCLGFBQU8sS0FBSyxPQUFPLFFBQVE7QUFBQSxJQUM1QjtBQUdBLFFBQUksS0FBSyxPQUFPLFVBQVU7QUFDekIsYUFBTyxLQUFLLE9BQU8sU0FBUyxFQUFFLENBQUM7QUFBQSxJQUNoQztBQUVBLFVBQU0sSUFBSSxNQUFNLHlDQUF5QyxLQUFLLE1BQU0sQ0FBQyxFQUFFO0FBQUEsRUFDeEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8sVUFBMEI7QUFDaEMsVUFBTSxTQUFTLEtBQUssT0FBTyxRQUFRO0FBQ25DLFdBQU8sSUFBSSxlQUFlLE1BQU07QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08sU0FBZTtBQUNyQixTQUFLLE9BQU8sT0FBTztBQUFBLEVBQ3BCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLE9BQU8sU0FBdUI7QUFDcEMsU0FBSyxPQUFPLE9BQU8sT0FBTztBQUFBLEVBQzNCO0FBRUQ7QUFNQSxNQUFNLGNBQWM7QUFBQSxFQUVGO0FBQUEsRUFFakIsWUFBWSxRQUFhO0FBQ3hCLFNBQUssU0FBUztBQUFBLEVBQ2Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVTyxvQkFBb0IsVUFBa0IsUUFBZ0IsVUFBa0IsYUFBaUQ7QUFFL0gsVUFBTSxTQUFTLEtBQUssT0FBTyxvQkFBb0IsVUFBVSxRQUFRLFVBQVUsWUFBWSxNQUFNO0FBQzdGLFdBQU8sSUFBSSxjQUFjLE1BQU07QUFBQSxFQUNoQztBQUNEO0FBTUEsTUFBTSxjQUFjO0FBQUEsRUFFRjtBQUFBLEVBRWpCLFlBQVksUUFBYTtBQUN4QixTQUFLLFNBQVM7QUFBQSxFQUNmO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLFlBQWlDO0FBQ3ZDLFVBQU0sU0FBUyxLQUFLLE9BQU8sVUFBVTtBQUNyQyxXQUFPLElBQUksUUFBUSxZQUFZLE1BQU07QUFBQSxFQUN0QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxjQUFzQjtBQUM1QixXQUFPLEtBQUssT0FBTyxZQUFZO0FBQUEsRUFDaEM7QUFDRDtBQU1PLE1BQU0sU0FBUztBQUFBLEVBRUo7QUFBQSxFQUNUO0FBQUEsRUFFUixZQUFZLFFBQWEsTUFBYztBQUN0QyxTQUFLLFNBQVM7QUFDZCxTQUFLLE9BQU87QUFBQSxFQUNiO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLFFBQWdCO0FBQ3RCLFdBQU8sS0FBSyxPQUFPLE1BQU07QUFBQSxFQUMxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxVQUFrQjtBQUN4QixXQUFPLEtBQUssT0FBTyxRQUFRO0FBQUEsRUFDNUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8sVUFBMEI7QUFDaEMsVUFBTSxTQUFTLEtBQUssT0FBTyxRQUFRO0FBQ25DLFdBQU8sSUFBSSxlQUFlLE1BQU07QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxVQUFrQjtBQUN4QixXQUFPLEtBQUs7QUFBQSxFQUNiO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLFNBQWU7QUFDckIsVUFBTSxVQUFVLFdBQVcsVUFBVSxLQUFLLFFBQVEsR0FBRyxLQUFLLFlBQVk7QUFDdEUsUUFBSSxDQUFDLFNBQVM7QUFDYixZQUFNLElBQUksTUFBTSxrQ0FBa0MsS0FBSyxRQUFRLENBQUM7QUFBQSxJQUNqRTtBQUNBLFdBQU8sS0FBSyxPQUFPLE9BQU8sSUFBSTtBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLG1CQUF5QztBQUMvQyxVQUFNLFNBQVMsS0FBSyxPQUFPLGlCQUFpQjtBQUM1QyxRQUFJLFdBQVcsTUFBTTtBQUNwQixhQUFPLElBQUksY0FBYyxNQUFNO0FBQUEsSUFDaEM7QUFDQSxXQUFPO0FBQUEsRUFDUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxVQUFrQjtBQUN4QixXQUFPLEtBQUssT0FBTyxRQUFRO0FBQUEsRUFDNUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxPQUFPLFNBQXVCO0FBQ3BDLFVBQU0sVUFBVSxXQUFXLFVBQVUsS0FBSyxRQUFRLEdBQUcsS0FBSyxZQUFZO0FBQ3RFLFFBQUksQ0FBQyxTQUFTO0FBQ2IsWUFBTSxJQUFJLE1BQU0sa0NBQWtDLEtBQUssUUFBUSxDQUFDO0FBQUEsSUFDakU7QUFDQSxTQUFLLE9BQU8sT0FBTyxPQUFPO0FBQUEsRUFDM0I7QUFDRDtBQUtBLE1BQU0sZUFBZTtBQUFBLEVBRUg7QUFBQSxFQUVqQixZQUFZLFFBQWE7QUFDeEIsU0FBSyxTQUFTO0FBQUEsRUFDZjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxRQUFnQjtBQUN0QixXQUFPLEtBQUssT0FBTyxNQUFNO0FBQUEsRUFDMUI7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -23,4 +23,4 @@ __export(cms_exports, {
23
23
  module.exports = __toCommonJS(cms_exports);
24
24
  var import_cmis = require("./cmis");
25
25
  __reExport(cms_exports, require("./cmis"), module.exports);
26
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Ntcy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0IHsgQ21pcyBhcyBjbWlzIH0gZnJvbSBcIi4vY21pc1wiXG5leHBvcnQgKiBmcm9tIFwiLi9jbWlzXCIiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsa0JBQTZCO0FBQzdCLHdCQUFjLG1CQURkOyIsCiAgIm5hbWVzIjogW10KfQo=
26
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Ntcy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIGNtcy9pbmRleFxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL2Ntc1xuICogQG92ZXJ2aWV3XG4gKiBcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyBmb3IgQ29udGVudCBNYW5hZ2VtZW50IFN5c3RlbSAoQ01TKSB3aXRoaW4gdGhlIEFlcm9raXQgU0RLLiBJdCBpbmNsdWRlcyBjbGFzc2VzIGFuZCBtZXRob2RzIGZvciBtYW5hZ2luZyBjb250ZW50IHJlcG9zaXRvcmllcywgaGFuZGxpbmcgY29udGVudCBpdGVtcywgYW5kIGludGVyYWN0aW5nIHdpdGggQ01JUy1jb21wbGlhbnQgc3lzdGVtcy5cbiAqIFxuICogVGhlIG1haW4gY29tcG9uZW50cyBvZiB0aGlzIG1vZHVsZSBhcmU6XG4gKiAtIENtaXM6IFJlcHJlc2VudHMgYSBDTUlTLWNvbXBsaWFudCBjb250ZW50IHJlcG9zaXRvcnkgYW5kIHByb3ZpZGVzIG1ldGhvZHMgdG8gaW50ZXJhY3Qgd2l0aCBpdCwgc3VjaCBhcyBjcmVhdGluZywgcmV0cmlldmluZywgdXBkYXRpbmcsIGFuZCBkZWxldGluZyBjb250ZW50IGl0ZW1zLlxuICovXG5cbmV4cG9ydCB7IENtaXMgYXMgY21pcyB9IGZyb20gXCIuL2NtaXNcIlxuZXhwb3J0ICogZnJvbSBcIi4vY21pc1wiIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLGtCQUE2QjtBQUM3Qix3QkFBYyxtQkFaZDsiLAogICJuYW1lcyI6IFtdCn0K
@@ -123,4 +123,4 @@ function Inject(name) {
123
123
  ctor.__injections_map = metadata.injections;
124
124
  };
125
125
  }
126
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kZWNvcmF0b3JzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEFQSSBESSAoRGVwZW5kZW5jeSBJbmplY3Rpb24pIERlY29yYXRvcnNcbiAqICogUHJvdmlkZXMgYSBoeWJyaWQgaW1wbGVtZW50YXRpb24gb2YgZGVjb3JhdG9ycyBmb3IgRGVwZW5kZW5jeSBJbmplY3Rpb24gKERJKVxuICogdGhhdCBzdXBwb3J0cyBib3RoIGxlZ2FjeSBKYXZhU2NyaXB0IGVudmlyb25tZW50cyAobGlrZSBNb3ppbGxhIFJoaW5vIG9yIG9sZGVyIEdyYWFsSlMpXG4gKiB1c2luZyB0aGUgYCh0YXJnZXQsIHByb3BlcnR5S2V5KWAgc2lnbmF0dXJlLCBhbmQgbW9kZXJuIEphdmFTY3JpcHQgZW52aXJvbm1lbnRzXG4gKiB1c2luZyB0aGUgZGVjb3JhdG9yIG1ldGFkYXRhIGFuZCBgY29udGV4dC5hZGRJbml0aWFsaXplcmAuXG4gKi9cblxuY29uc3QgQ29tcG9uZW50TWV0YWRhdGFSZWdpc3RyeSA9IEphdmEudHlwZShcbiAgXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5lbmdpbmUuZGkucGFyc2VyLkNvbXBvbmVudE1ldGFkYXRhUmVnaXN0cnlcIlxuKTtcbmNvbnN0IENvbXBvbmVudEZhY2FkZSA9IEphdmEudHlwZShcbiAgXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuY29tcG9uZW50LkNvbXBvbmVudEZhY2FkZVwiXG4pO1xuXG4vKipcbiAqIEludGVyZmFjZSBkZWZpbmluZyB0aGUgbWV0YWRhdGEgY29sbGVjdGVkIGZvciBhIGNvbXBvbmVudCBjbGFzcy5cbiAqL1xuaW50ZXJmYWNlIENvbXBvbmVudE1ldGFkYXRhIHtcbiAgLyoqIFRoZSByZWdpc3RlcmVkIG5hbWUgb2YgdGhlIGNvbXBvbmVudCwgZGVmYXVsdHMgdG8gdGhlIGNsYXNzIG5hbWUuICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiBBIG1hcCBvZiBwcm9wZXJ0eSBrZXlzIChpbmplY3Rpb24gcG9pbnRzKSB0byB0aGVpciBvcHRpb25hbCBjb21wb25lbnQgbmFtZXMgZm9yIGluamVjdGlvbi4gKi9cbiAgaW5qZWN0aW9uczogTWFwPHN0cmluZyB8IHN5bWJvbCwgc3RyaW5nIHwgdW5kZWZpbmVkPjtcbn1cblxuLyoqXG4gKiBFeHRlbmRzIGEgc3RhbmRhcmQgY29uc3RydWN0b3IgZnVuY3Rpb24gdG8gaW5jbHVkZSBwcm9wZXJ0aWVzIHVzZWQgZm9yIGludGVybmFsIG1ldGFkYXRhIHN0b3JhZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50Q29uc3RydWN0b3IgZXh0ZW5kcyBGdW5jdGlvbiB7XG4gIG5ldyAoLi4uYXJnczogYW55W10pOiBhbnk7XG4gIC8qKiBJbnRlcm5hbCBzdG9yYWdlIGZvciB0aGUgY29tcG9uZW50J3MgcmVnaXN0ZXJlZCBuYW1lLiAqL1xuICBfX2NvbXBvbmVudF9uYW1lPzogc3RyaW5nO1xuICAvKiogSW50ZXJuYWwgc3RvcmFnZSBmb3IgdGhlIGNvbXBvbmVudCdzIGluamVjdGlvbiBtYXAuICovXG4gIF9faW5qZWN0aW9uc19tYXA/OiBNYXA8c3RyaW5nIHwgc3ltYm9sLCBzdHJpbmcgfCB1bmRlZmluZWQ+O1xufVxuXG4vKiogQ2FjaGUgdG8gc3RvcmUgbWV0YWRhdGEsIHVzaW5nIGEgV2Vha01hcCBmb3IgbWVtb3J5IG1hbmFnZW1lbnQuICovXG5jb25zdCBjb21wb25lbnRDYWNoZTogV2Vha01hcDxvYmplY3QsIENvbXBvbmVudE1ldGFkYXRhPiA9IG5ldyBXZWFrTWFwKCk7XG5cbi8qKlxuICogUmV0cmlldmVzIG9yIGNyZWF0ZXMgdGhlIGNvbXBvbmVudCBtZXRhZGF0YSBmb3IgYSBnaXZlbiBjbGFzcyBjb25zdHJ1Y3Rvci5cbiAqIFVzZXMgYSBXZWFrTWFwIGNhY2hlIHRvIGVuc3VyZSBtZXRhZGF0YSBpcyBjb25zaXN0ZW50IGFuZCBhdXRvbWF0aWNhbGx5IGdhcmJhZ2UgY29sbGVjdGVkXG4gKiB3aGVuIHRoZSBjb25zdHJ1Y3RvciBpcyBubyBsb25nZXIgcmVmZXJlbmNlZC5cbiAqIEBwYXJhbSBjb25zdHJ1Y3RvciBUaGUgY2xhc3MgY29uc3RydWN0b3Igb2JqZWN0LlxuICogQHJldHVybnMgVGhlIGNvbXBvbmVudCBtZXRhZGF0YSBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGdldENvbXBvbmVudE1ldGFkYXRhKGNvbnN0cnVjdG9yOiBvYmplY3QpOiBDb21wb25lbnRNZXRhZGF0YSB7XG4gIGlmICh0eXBlb2YgY29uc3RydWN0b3IgIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIGNvbnN0cnVjdG9yICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBjb25zdHJ1Y3RvciBwYXNzZWQgdG8gZ2V0Q29tcG9uZW50TWV0YWRhdGFcIik7XG4gIH1cblxuICBpZiAoIWNvbXBvbmVudENhY2hlLmhhcyhjb25zdHJ1Y3RvcikpIHtcbiAgICBjb21wb25lbnRDYWNoZS5zZXQoY29uc3RydWN0b3IsIHtcbiAgICAgIGluamVjdGlvbnM6IG5ldyBNYXAoKSxcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gY29tcG9uZW50Q2FjaGUuZ2V0KGNvbnN0cnVjdG9yKSE7XG59XG5cbi8qKlxuICogQ2xhc3MgZGVjb3JhdG9yIHRoYXQgbWFya3MgYSBjbGFzcyBhcyBhIERlcGVuZGVuY3kgSW5qZWN0aW9uIGNvbXBvbmVudC5cbiAqIEl0IHJlZ2lzdGVycyB0aGUgY29tcG9uZW50J3MgbWV0YWRhdGEgYW5kIHdyYXBzIHRoZSBjb25zdHJ1Y3RvciB0byBlbnN1cmVcbiAqIGRlcGVuZGVuY2llcyBhcmUgaW5qZWN0ZWQgdXBvbiBpbnN0YW5jZSBjcmVhdGlvbi5cbiAqXG4gKiBDYW4gYmUgdXNlZCBhcyBgQENvbXBvbmVudGAgKHVzZXMgY2xhc3MgbmFtZSkgb3IgYEBDb21wb25lbnQoJ2N1c3RvbU5hbWUnKWAuXG4gKlxuICogQHBhcmFtIG5hbWVPckNvbnN0cnVjdG9yIFRoZSBvcHRpb25hbCBjdXN0b20gY29tcG9uZW50IG5hbWUgKHN0cmluZykgb3IgdGhlIGNsYXNzIGNvbnN0cnVjdG9yIChGdW5jdGlvbikgd2hlbiB1c2VkIHdpdGhvdXQgcGFyZW50aGVzZXMuXG4gKiBAcmV0dXJucyBBIGNsYXNzIGRlY29yYXRvciBmdW5jdGlvbiBvciB0aGUgZGVjb3JhdGVkIGNsYXNzIGl0c2VsZi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENvbXBvbmVudChuYW1lT3JDb25zdHJ1Y3Rvcj86IHN0cmluZyB8IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xuICAvLyBIYW5kbGUgY2FzZTogQENvbXBvbmVudCBjbGFzcyBNeUNsYXNzIHt9IChuYW1lT3JDb25zdHJ1Y3RvciBpcyB0aGUgY29uc3RydWN0b3IpXG4gIGlmICh0eXBlb2YgbmFtZU9yQ29uc3RydWN0b3IgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9yID0gbmFtZU9yQ29uc3RydWN0b3IgYXMgQ29tcG9uZW50Q29uc3RydWN0b3I7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBnZXRDb21wb25lbnRNZXRhZGF0YShjb25zdHJ1Y3Rvcik7XG4gICAgbWV0YWRhdGEubmFtZSA9IGNvbnN0cnVjdG9yLm5hbWU7XG5cbiAgICBjb25zdHJ1Y3Rvci5fX2NvbXBvbmVudF9uYW1lID0gbWV0YWRhdGEubmFtZTtcbiAgICBjb25zdHJ1Y3Rvci5fX2luamVjdGlvbnNfbWFwID0gbWV0YWRhdGEuaW5qZWN0aW9ucztcblxuICAgIENvbXBvbmVudE1ldGFkYXRhUmVnaXN0cnkucmVnaXN0ZXIobWV0YWRhdGEubmFtZSwgbWV0YWRhdGEuaW5qZWN0aW9ucyk7XG5cbiAgICByZXR1cm4gY2xhc3MgZXh0ZW5kcyAoY29uc3RydWN0b3IgYXMgYW55KSB7XG4gICAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgICAgLy8gUGVyZm9ybSBydW50aW1lIGRlcGVuZGVuY3kgaW5qZWN0aW9uXG4gICAgICAgIENvbXBvbmVudEZhY2FkZS5pbmplY3REZXBlbmRlbmNpZXModGhpcyk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8vIEhhbmRsZSBjYXNlOiBAQ29tcG9uZW50KCdjdXN0b21OYW1lJykgY2xhc3MgTXlDbGFzcyB7fSAobmFtZU9yQ29uc3RydWN0b3IgaXMgdGhlIGN1c3RvbSBuYW1lKVxuICBjb25zdCBuYW1lID0gbmFtZU9yQ29uc3RydWN0b3I7XG4gIHJldHVybiBmdW5jdGlvbiAoY29uc3RydWN0b3I6IEZ1bmN0aW9uKTogYW55IHtcbiAgICBjb25zdCBtZXRhZGF0YSA9IGdldENvbXBvbmVudE1ldGFkYXRhKGNvbnN0cnVjdG9yKTtcbiAgICBtZXRhZGF0YS5uYW1lID0gbmFtZSB8fCBjb25zdHJ1Y3Rvci5uYW1lO1xuXG4gICAgY29uc3QgY3RvciA9IGNvbnN0cnVjdG9yIGFzIENvbXBvbmVudENvbnN0cnVjdG9yO1xuICAgIGN0b3IuX19jb21wb25lbnRfbmFtZSA9IG1ldGFkYXRhLm5hbWU7XG4gICAgY3Rvci5fX2luamVjdGlvbnNfbWFwID0gbWV0YWRhdGEuaW5qZWN0aW9ucztcblxuICAgIENvbXBvbmVudE1ldGFkYXRhUmVnaXN0cnkucmVnaXN0ZXIobWV0YWRhdGEubmFtZSwgbWV0YWRhdGEuaW5qZWN0aW9ucyk7XG5cbiAgICByZXR1cm4gY2xhc3MgZXh0ZW5kcyAoY29uc3RydWN0b3IgYXMgYW55KSB7XG4gICAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgICAgLy8gUGVyZm9ybSBydW50aW1lIGRlcGVuZGVuY3kgaW5qZWN0aW9uXG4gICAgICAgIENvbXBvbmVudEZhY2FkZS5pbmplY3REZXBlbmRlbmNpZXModGhpcyk7XG4gICAgICB9XG4gICAgfTtcbiAgfTtcbn1cblxuLyoqXG4gKiBBbiBhbGlhcyBmb3IgdGhlIHtAbGluayBDb21wb25lbnR9IGRlY29yYXRvciwgdXNlZCBmb3Igc2VtYW50aWMgY2xhcml0eVxuICogaW4gY29udGV4dHMgd2hlcmUgdGhlIGNsYXNzIGlzIGV4cGxpY2l0bHkgaW50ZW5kZWQgdG8gYmUgaW5qZWN0ZWQgZWxzZXdoZXJlLlxuICogSXRzIGZ1bmN0aW9uYWxpdHkgaXMgaWRlbnRpY2FsIHRvIHtAbGluayBDb21wb25lbnR9LlxuICpcbiAqIEBwYXJhbSBuYW1lT3JDb25zdHJ1Y3RvciBUaGUgb3B0aW9uYWwgY3VzdG9tIGNvbXBvbmVudCBuYW1lIChzdHJpbmcpIG9yIHRoZSBjbGFzcyBjb25zdHJ1Y3RvciAoRnVuY3Rpb24pLlxuICogQHJldHVybnMgQSBjbGFzcyBkZWNvcmF0b3IgZnVuY3Rpb24gb3IgdGhlIGRlY29yYXRlZCBjbGFzcyBpdHNlbGYuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBJbmplY3RlZChuYW1lT3JDb25zdHJ1Y3Rvcj86IHN0cmluZyB8IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xuICAvLyBMb2dpYyBpcyBpZGVudGljYWwgdG8gQ29tcG9uZW50XG4gIGlmICh0eXBlb2YgbmFtZU9yQ29uc3RydWN0b3IgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9yID0gbmFtZU9yQ29uc3RydWN0b3IgYXMgQ29tcG9uZW50Q29uc3RydWN0b3I7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBnZXRDb21wb25lbnRNZXRhZGF0YShjb25zdHJ1Y3Rvcik7XG4gICAgbWV0YWRhdGEubmFtZSA9IGNvbnN0cnVjdG9yLm5hbWU7XG5cbiAgICBjb25zdHJ1Y3Rvci5fX2NvbXBvbmVudF9uYW1lID0gbWV0YWRhdGEubmFtZTtcbiAgICBjb25zdHJ1Y3Rvci5fX2luamVjdGlvbnNfbWFwID0gbWV0YWRhdGEuaW5qZWN0aW9ucztcblxuICAgIENvbXBvbmVudE1ldGFkYXRhUmVnaXN0cnkucmVnaXN0ZXIobWV0YWRhdGEubmFtZSwgbWV0YWRhdGEuaW5qZWN0aW9ucyk7XG5cbiAgICByZXR1cm4gY2xhc3MgZXh0ZW5kcyAoY29uc3RydWN0b3IgYXMgYW55KSB7XG4gICAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgICAgQ29tcG9uZW50RmFjYWRlLmluamVjdERlcGVuZGVuY2llcyh0aGlzKTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgY29uc3QgbmFtZSA9IG5hbWVPckNvbnN0cnVjdG9yO1xuICByZXR1cm4gZnVuY3Rpb24gKGNvbnN0cnVjdG9yOiBGdW5jdGlvbik6IGFueSB7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBnZXRDb21wb25lbnRNZXRhZGF0YShjb25zdHJ1Y3Rvcik7XG4gICAgbWV0YWRhdGEubmFtZSA9IG5hbWUgfHwgY29uc3RydWN0b3IubmFtZTtcblxuICAgIGNvbnN0IGN0b3IgPSBjb25zdHJ1Y3RvciBhcyBDb21wb25lbnRDb25zdHJ1Y3RvcjtcbiAgICBjdG9yLl9fY29tcG9uZW50X25hbWUgPSBtZXRhZGF0YS5uYW1lO1xuICAgIGN0b3IuX19pbmplY3Rpb25zX21hcCA9IG1ldGFkYXRhLmluamVjdGlvbnM7XG5cbiAgICBDb21wb25lbnRNZXRhZGF0YVJlZ2lzdHJ5LnJlZ2lzdGVyKG1ldGFkYXRhLm5hbWUsIG1ldGFkYXRhLmluamVjdGlvbnMpO1xuXG4gICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgKGNvbnN0cnVjdG9yIGFzIGFueSkge1xuICAgICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgc3VwZXIoLi4uYXJncyk7XG4gICAgICAgIENvbXBvbmVudEZhY2FkZS5pbmplY3REZXBlbmRlbmNpZXModGhpcyk7XG4gICAgICB9XG4gICAgfTtcbiAgfTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0eSBkZWNvcmF0b3IgdXNlZCB0byBtYXJrIGFuIGluc3RhbmNlIHByb3BlcnR5IGFzIGFuIGluamVjdGlvbiBwb2ludC5cbiAqIFRoZSBydW50aW1lIHdpbGwgbG9vayB1cCBhIGRlcGVuZGVuY3kgYmFzZWQgb24gdGhlIHByb3BlcnR5IG5hbWUgb3IgdGhlIG9wdGlvbmFsXG4gKiBuYW1lIHByb3ZpZGVkLlxuICpcbiAqIEl0IHN1cHBvcnRzIGJvdGggbW9kZXJuIChgY29udGV4dC5hZGRJbml0aWFsaXplcmApIGFuZCBsZWdhY3kgZGVjb3JhdG9yIEFQSXMuXG4gKlxuICogVXNhZ2U6XG4gKiAtIGBASW5qZWN0YCBwcm9wZXJ0eUtleTogSW5qZWN0cyBhIGNvbXBvbmVudCB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgYHByb3BlcnR5S2V5YC5cbiAqIC0gYEBJbmplY3QoJ215U2VydmljZScpYCBwcm9wZXJ0eUtleTogSW5qZWN0cyB0aGUgY29tcG9uZW50IHJlZ2lzdGVyZWQgYXMgJ215U2VydmljZScuXG4gKlxuICogQHBhcmFtIG5hbWUgVGhlIG9wdGlvbmFsIG5hbWUgb2YgdGhlIGNvbXBvbmVudCB0byBpbmplY3QuXG4gKiBAcmV0dXJucyBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEluamVjdChuYW1lPzogc3RyaW5nKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcbiAgICAvLyBNb2Rlcm4gRGVjb3JhdG9yIEFQSSBjaGVjayAoR3JhYWxKUywgVjgsIGV0Yy4pIC0gYXJnczogW3ZhbHVlLCBjb250ZXh0XVxuICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMikge1xuICAgICAgY29uc3QgW18sIGNvbnRleHRdID0gYXJncztcbiAgICAgIGlmIChjb250ZXh0ICYmIHR5cGVvZiBjb250ZXh0LmFkZEluaXRpYWxpemVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgY29udGV4dC5hZGRJbml0aWFsaXplcihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gJ3RoaXMnIGlzIHRoZSBjbGFzcyBpbnN0YW5jZSBpbiB0aGUgaW5pdGlhbGl6ZXJcbiAgICAgICAgICBjb25zdCBjdG9yID0gKHRoaXMgYXMgYW55KT8uY29uc3RydWN0b3IgYXMgQ29tcG9uZW50Q29uc3RydWN0b3I7XG4gICAgICAgICAgY29uc3QgbWV0YWRhdGEgPSBnZXRDb21wb25lbnRNZXRhZGF0YShjdG9yKTtcbiAgICAgICAgICAvLyBSZWdpc3RlciB0aGUgaW5qZWN0aW9uIHBvaW50IChwcm9wZXJ0eSBuYW1lKSBhbmQgdGhlIG9wdGlvbmFsIHRhcmdldCBuYW1lXG4gICAgICAgICAgbWV0YWRhdGEuaW5qZWN0aW9ucy5zZXQoY29udGV4dC5uYW1lLCBuYW1lKTtcbiAgICAgICAgICBjdG9yLl9faW5qZWN0aW9uc19tYXAgPSBtZXRhZGF0YS5pbmplY3Rpb25zO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIExlZ2FjeSBEZWNvcmF0b3IgQVBJIGZhbGxiYWNrIChSaGlubywgb2xkZXIgR3JhYWxKUykgLSBhcmdzOiBbdGFyZ2V0LCBwcm9wZXJ0eUtleV1cbiAgICBjb25zdCBbdGFyZ2V0LCBwcm9wZXJ0eUtleV0gPSBhcmdzO1xuICAgIGNvbnN0IGN0b3IgPSB0YXJnZXQuY29uc3RydWN0b3IgfHwgdGFyZ2V0O1xuICAgIGNvbnN0IG1ldGFkYXRhID0gZ2V0Q29tcG9uZW50TWV0YWRhdGEoY3Rvcik7XG4gICAgLy8gUmVnaXN0ZXIgdGhlIGluamVjdGlvbiBwb2ludCAocHJvcGVydHlLZXkpIGFuZCB0aGUgb3B0aW9uYWwgdGFyZ2V0IG5hbWVcbiAgICBtZXRhZGF0YS5pbmplY3Rpb25zLnNldChwcm9wZXJ0eUtleSwgbmFtZSk7XG4gICAgKGN0b3IgYXMgQ29tcG9uZW50Q29uc3RydWN0b3IpLl9faW5qZWN0aW9uc19tYXAgPSBtZXRhZGF0YS5pbmplY3Rpb25zO1xuICB9O1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxNQUFNLDRCQUE0QixLQUFLO0FBQUEsRUFDckM7QUFDRjtBQUNBLE1BQU0sa0JBQWtCLEtBQUs7QUFBQSxFQUMzQjtBQUNGO0FBd0JBLE1BQU0saUJBQXFELG9CQUFJLFFBQVE7QUFTdkUsU0FBUyxxQkFBcUIsYUFBd0M7QUFDcEUsTUFBSSxPQUFPLGdCQUFnQixZQUFZLE9BQU8sZ0JBQWdCLFlBQVk7QUFDeEUsVUFBTSxJQUFJLFVBQVUsb0RBQW9EO0FBQUEsRUFDMUU7QUFFQSxNQUFJLENBQUMsZUFBZSxJQUFJLFdBQVcsR0FBRztBQUNwQyxtQkFBZSxJQUFJLGFBQWE7QUFBQSxNQUM5QixZQUFZLG9CQUFJLElBQUk7QUFBQSxJQUN0QixDQUFDO0FBQUEsRUFDSDtBQUNBLFNBQU8sZUFBZSxJQUFJLFdBQVc7QUFDdkM7QUFZTyxTQUFTLFVBQVUsbUJBQWlEO0FBRXpFLE1BQUksT0FBTyxzQkFBc0IsWUFBWTtBQUMzQyxVQUFNLGNBQWM7QUFDcEIsVUFBTSxXQUFXLHFCQUFxQixXQUFXO0FBQ2pELGFBQVMsT0FBTyxZQUFZO0FBRTVCLGdCQUFZLG1CQUFtQixTQUFTO0FBQ3hDLGdCQUFZLG1CQUFtQixTQUFTO0FBRXhDLDhCQUEwQixTQUFTLFNBQVMsTUFBTSxTQUFTLFVBQVU7QUFFckUsV0FBTyxjQUFlLFlBQW9CO0FBQUEsTUFDeEMsZUFBZSxNQUFhO0FBQzFCLGNBQU0sR0FBRyxJQUFJO0FBRWIsd0JBQWdCLG1CQUFtQixJQUFJO0FBQUEsTUFDekM7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUdBLFFBQU0sT0FBTztBQUNiLFNBQU8sU0FBVSxhQUE0QjtBQUMzQyxVQUFNLFdBQVcscUJBQXFCLFdBQVc7QUFDakQsYUFBUyxPQUFPLFFBQVEsWUFBWTtBQUVwQyxVQUFNLE9BQU87QUFDYixTQUFLLG1CQUFtQixTQUFTO0FBQ2pDLFNBQUssbUJBQW1CLFNBQVM7QUFFakMsOEJBQTBCLFNBQVMsU0FBUyxNQUFNLFNBQVMsVUFBVTtBQUVyRSxXQUFPLGNBQWUsWUFBb0I7QUFBQSxNQUN4QyxlQUFlLE1BQWE7QUFDMUIsY0FBTSxHQUFHLElBQUk7QUFFYix3QkFBZ0IsbUJBQW1CLElBQUk7QUFBQSxNQUN6QztBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0Y7QUFVTyxTQUFTLFNBQVMsbUJBQWlEO0FBRXhFLE1BQUksT0FBTyxzQkFBc0IsWUFBWTtBQUMzQyxVQUFNLGNBQWM7QUFDcEIsVUFBTSxXQUFXLHFCQUFxQixXQUFXO0FBQ2pELGFBQVMsT0FBTyxZQUFZO0FBRTVCLGdCQUFZLG1CQUFtQixTQUFTO0FBQ3hDLGdCQUFZLG1CQUFtQixTQUFTO0FBRXhDLDhCQUEwQixTQUFTLFNBQVMsTUFBTSxTQUFTLFVBQVU7QUFFckUsV0FBTyxjQUFlLFlBQW9CO0FBQUEsTUFDeEMsZUFBZSxNQUFhO0FBQzFCLGNBQU0sR0FBRyxJQUFJO0FBQ2Isd0JBQWdCLG1CQUFtQixJQUFJO0FBQUEsTUFDekM7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUVBLFFBQU0sT0FBTztBQUNiLFNBQU8sU0FBVSxhQUE0QjtBQUMzQyxVQUFNLFdBQVcscUJBQXFCLFdBQVc7QUFDakQsYUFBUyxPQUFPLFFBQVEsWUFBWTtBQUVwQyxVQUFNLE9BQU87QUFDYixTQUFLLG1CQUFtQixTQUFTO0FBQ2pDLFNBQUssbUJBQW1CLFNBQVM7QUFFakMsOEJBQTBCLFNBQVMsU0FBUyxNQUFNLFNBQVMsVUFBVTtBQUVyRSxXQUFPLGNBQWUsWUFBb0I7QUFBQSxNQUN4QyxlQUFlLE1BQWE7QUFDMUIsY0FBTSxHQUFHLElBQUk7QUFDYix3QkFBZ0IsbUJBQW1CLElBQUk7QUFBQSxNQUN6QztBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0Y7QUFnQk8sU0FBUyxPQUFPLE1BQWU7QUFDcEMsU0FBTyxZQUFhLE1BQWE7QUFFL0IsUUFBSSxLQUFLLFdBQVcsR0FBRztBQUNyQixZQUFNLENBQUMsR0FBRyxPQUFPLElBQUk7QUFDckIsVUFBSSxXQUFXLE9BQU8sUUFBUSxtQkFBbUIsWUFBWTtBQUMzRCxnQkFBUSxlQUFlLFdBQVk7QUFFakMsZ0JBQU1BLFFBQVEsTUFBYztBQUM1QixnQkFBTUMsWUFBVyxxQkFBcUJELEtBQUk7QUFFMUMsVUFBQUMsVUFBUyxXQUFXLElBQUksUUFBUSxNQUFNLElBQUk7QUFDMUMsVUFBQUQsTUFBSyxtQkFBbUJDLFVBQVM7QUFBQSxRQUNuQyxDQUFDO0FBQ0Q7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUdBLFVBQU0sQ0FBQyxRQUFRLFdBQVcsSUFBSTtBQUM5QixVQUFNLE9BQU8sT0FBTyxlQUFlO0FBQ25DLFVBQU0sV0FBVyxxQkFBcUIsSUFBSTtBQUUxQyxhQUFTLFdBQVcsSUFBSSxhQUFhLElBQUk7QUFDekMsSUFBQyxLQUE4QixtQkFBbUIsU0FBUztBQUFBLEVBQzdEO0FBQ0Y7IiwKICAibmFtZXMiOiBbImN0b3IiLCAibWV0YWRhdGEiXQp9Cg==
126
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kZWNvcmF0b3JzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgY29tcG9uZW50L2RlY29yYXRvcnNcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9jb21wb25lbnRcbiAqIEBuYW1lIERlY29yYXRvcnNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIHNldCBvZiBkZWNvcmF0b3JzIGZvciBkZWZpbmluZyBhbmQgbWFuYWdpbmcgRGVwZW5kZW5jeSBJbmplY3Rpb24gKERJKSBjb21wb25lbnRzIHdpdGhpbiB0aGUgRGlyaWdpYmxlIGVudmlyb25tZW50LiBUaGUgZGVjb3JhdG9ycyBhcmUgZGVzaWduZWQgdG8gYmUgY29tcGF0aWJsZSB3aXRoIGJvdGggbGVnYWN5IEphdmFTY3JpcHQgZW52aXJvbm1lbnRzIChsaWtlIE1vemlsbGEgUmhpbm8gb3Igb2xkZXIgR3JhYWxKUykgYW5kIG1vZGVybiBKYXZhU2NyaXB0IGVudmlyb25tZW50cyB0aGF0IHN1cHBvcnQgdGhlIGxhdGVzdCBkZWNvcmF0b3Igc3BlY2lmaWNhdGlvbnMuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gKipDb21wb25lbnQgRGVjb3JhdG9yKio6IE1hcmtzIGEgY2xhc3MgYXMgYSBESSBjb21wb25lbnQsIGFsbG93aW5nIGl0IHRvIGJlIHJlZ2lzdGVyZWQgYW5kIG1hbmFnZWQgYnkgdGhlIERJIGNvbnRhaW5lci5cbiAqIC0gKipJbmplY3RlZCBEZWNvcmF0b3IqKjogQW4gYWxpYXMgZm9yIHRoZSBDb21wb25lbnQgZGVjb3JhdG9yLCB1c2VkIGZvciBzZW1hbnRpYyBjbGFyaXR5IHdoZW4gYSBjbGFzcyBpcyBpbnRlbmRlZCB0byBiZSBpbmplY3RlZCBhcyBhIGRlcGVuZGVuY3kgcmF0aGVyIHRoYW4gYmVpbmcgYSBwcmltYXJ5IGNvbXBvbmVudC5cbiAqIC0gKipJbmplY3QgRGVjb3JhdG9yKio6IE1hcmtzIGEgY2xhc3MgcHJvcGVydHkgYXMgYW4gaW5qZWN0aW9uIHBvaW50LCBzcGVjaWZ5aW5nIHRoYXQgYSBkZXBlbmRlbmN5IHNob3VsZCBiZSBpbmplY3RlZCBhdCBydW50aW1lIGJhc2VkIG9uIHRoZSBwcm9wZXJ0eSBuYW1lIG9yIGFuIG9wdGlvbmFsIGN1c3RvbSBuYW1lLlxuICogLSAqKkh5YnJpZCBEZWNvcmF0b3IgU3VwcG9ydCoqOiBUaGUgZGVjb3JhdG9ycyBhcmUgaW1wbGVtZW50ZWQgdG8gd29yayBzZWFtbGVzc2x5IGluIGJvdGggbGVnYWN5IGFuZCBtb2Rlcm4gSmF2YVNjcmlwdCBlbnZpcm9ubWVudHMsIGVuc3VyaW5nIGJyb2FkIGNvbXBhdGliaWxpdHkgYWNyb3NzIGRpZmZlcmVudCBydW50aW1lIGNvbnRleHRzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzXG4gKiAtIERlZmluaW5nIHNlcnZpY2VzLCByZXBvc2l0b3JpZXMsIGNvbnRyb2xsZXJzLCBvciBhbnkgb3RoZXIgY29tcG9uZW50cyB0aGF0IHJlcXVpcmUgZGVwZW5kZW5jeSBpbmplY3Rpb24gaW4gYSBEaXJpZ2libGUgYXBwbGljYXRpb24uXG4gKiAtIE1hbmFnaW5nIGRlcGVuZGVuY2llcyBhbmQgcHJvbW90aW5nIGxvb3NlIGNvdXBsaW5nIGJldHdlZW4gY29tcG9uZW50cyBmb3IgYmV0dGVyIG1haW50YWluYWJpbGl0eSBhbmQgdGVzdGFiaWxpdHkuXG4gKiAtIExldmVyYWdpbmcgdGhlIERJIGNvbnRhaW5lciB0byBhdXRvbWF0aWNhbGx5IHJlc29sdmUgYW5kIGluamVjdCBkZXBlbmRlbmNpZXMgYmFzZWQgb24gY29tcG9uZW50IHJlZ2lzdHJhdGlvbiBhbmQgbWV0YWRhdGEuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2NvbXBvbmVudFwiO1xuICogXG4gKiBAQ29tcG9uZW50KCdNeVNlcnZpY2UnKVxuICogY2xhc3MgTXlTZXJ2aWNlIHtcbiAqICAgLy8gU2VydmljZSBpbXBsZW1lbnRhdGlvblxuICogfVxuICogXG4gKiBAQ29tcG9uZW50XG4gKiBjbGFzcyBNeUNvbnRyb2xsZXIge1xuICogICBASW5qZWN0KCdNeVNlcnZpY2UnKVxuICogICBwcml2YXRlIG15U2VydmljZSE6IE15U2VydmljZTtcbiAqIFxuICogICAvLyBDb250cm9sbGVyIGltcGxlbWVudGF0aW9uIHRoYXQgdXNlcyBteVNlcnZpY2VcbiAqIH1cbiAqIGBgYFxuICovXG5cbmNvbnN0IENvbXBvbmVudE1ldGFkYXRhUmVnaXN0cnkgPSBKYXZhLnR5cGUoXG4gIFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuZW5naW5lLmRpLnBhcnNlci5Db21wb25lbnRNZXRhZGF0YVJlZ2lzdHJ5XCJcbik7XG5jb25zdCBDb21wb25lbnRGYWNhZGUgPSBKYXZhLnR5cGUoXG4gIFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmNvbXBvbmVudC5Db21wb25lbnRGYWNhZGVcIlxuKTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVmaW5pbmcgdGhlIG1ldGFkYXRhIGNvbGxlY3RlZCBmb3IgYSBjb21wb25lbnQgY2xhc3MuXG4gKi9cbmludGVyZmFjZSBDb21wb25lbnRNZXRhZGF0YSB7XG4gIC8qKiBUaGUgcmVnaXN0ZXJlZCBuYW1lIG9mIHRoZSBjb21wb25lbnQsIGRlZmF1bHRzIHRvIHRoZSBjbGFzcyBuYW1lLiAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogQSBtYXAgb2YgcHJvcGVydHkga2V5cyAoaW5qZWN0aW9uIHBvaW50cykgdG8gdGhlaXIgb3B0aW9uYWwgY29tcG9uZW50IG5hbWVzIGZvciBpbmplY3Rpb24uICovXG4gIGluamVjdGlvbnM6IE1hcDxzdHJpbmcgfCBzeW1ib2wsIHN0cmluZyB8IHVuZGVmaW5lZD47XG59XG5cbi8qKlxuICogRXh0ZW5kcyBhIHN0YW5kYXJkIGNvbnN0cnVjdG9yIGZ1bmN0aW9uIHRvIGluY2x1ZGUgcHJvcGVydGllcyB1c2VkIGZvciBpbnRlcm5hbCBtZXRhZGF0YSBzdG9yYWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudENvbnN0cnVjdG9yIGV4dGVuZHMgRnVuY3Rpb24ge1xuICBuZXcgKC4uLmFyZ3M6IGFueVtdKTogYW55O1xuICAvKiogSW50ZXJuYWwgc3RvcmFnZSBmb3IgdGhlIGNvbXBvbmVudCdzIHJlZ2lzdGVyZWQgbmFtZS4gKi9cbiAgX19jb21wb25lbnRfbmFtZT86IHN0cmluZztcbiAgLyoqIEludGVybmFsIHN0b3JhZ2UgZm9yIHRoZSBjb21wb25lbnQncyBpbmplY3Rpb24gbWFwLiAqL1xuICBfX2luamVjdGlvbnNfbWFwPzogTWFwPHN0cmluZyB8IHN5bWJvbCwgc3RyaW5nIHwgdW5kZWZpbmVkPjtcbn1cblxuLyoqIENhY2hlIHRvIHN0b3JlIG1ldGFkYXRhLCB1c2luZyBhIFdlYWtNYXAgZm9yIG1lbW9yeSBtYW5hZ2VtZW50LiAqL1xuY29uc3QgY29tcG9uZW50Q2FjaGU6IFdlYWtNYXA8b2JqZWN0LCBDb21wb25lbnRNZXRhZGF0YT4gPSBuZXcgV2Vha01hcCgpO1xuXG4vKipcbiAqIFJldHJpZXZlcyBvciBjcmVhdGVzIHRoZSBjb21wb25lbnQgbWV0YWRhdGEgZm9yIGEgZ2l2ZW4gY2xhc3MgY29uc3RydWN0b3IuXG4gKiBVc2VzIGEgV2Vha01hcCBjYWNoZSB0byBlbnN1cmUgbWV0YWRhdGEgaXMgY29uc2lzdGVudCBhbmQgYXV0b21hdGljYWxseSBnYXJiYWdlIGNvbGxlY3RlZFxuICogd2hlbiB0aGUgY29uc3RydWN0b3IgaXMgbm8gbG9uZ2VyIHJlZmVyZW5jZWQuXG4gKiBAcGFyYW0gY29uc3RydWN0b3IgVGhlIGNsYXNzIGNvbnN0cnVjdG9yIG9iamVjdC5cbiAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQgbWV0YWRhdGEgb2JqZWN0LlxuICovXG5mdW5jdGlvbiBnZXRDb21wb25lbnRNZXRhZGF0YShjb25zdHJ1Y3Rvcjogb2JqZWN0KTogQ29tcG9uZW50TWV0YWRhdGEge1xuICBpZiAodHlwZW9mIGNvbnN0cnVjdG9yICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBjb25zdHJ1Y3RvciAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgY29uc3RydWN0b3IgcGFzc2VkIHRvIGdldENvbXBvbmVudE1ldGFkYXRhXCIpO1xuICB9XG5cbiAgaWYgKCFjb21wb25lbnRDYWNoZS5oYXMoY29uc3RydWN0b3IpKSB7XG4gICAgY29tcG9uZW50Q2FjaGUuc2V0KGNvbnN0cnVjdG9yLCB7XG4gICAgICBpbmplY3Rpb25zOiBuZXcgTWFwKCksXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIGNvbXBvbmVudENhY2hlLmdldChjb25zdHJ1Y3RvcikhO1xufVxuXG4vKipcbiAqIENsYXNzIGRlY29yYXRvciB0aGF0IG1hcmtzIGEgY2xhc3MgYXMgYSBEZXBlbmRlbmN5IEluamVjdGlvbiBjb21wb25lbnQuXG4gKiBJdCByZWdpc3RlcnMgdGhlIGNvbXBvbmVudCdzIG1ldGFkYXRhIGFuZCB3cmFwcyB0aGUgY29uc3RydWN0b3IgdG8gZW5zdXJlXG4gKiBkZXBlbmRlbmNpZXMgYXJlIGluamVjdGVkIHVwb24gaW5zdGFuY2UgY3JlYXRpb24uXG4gKlxuICogQ2FuIGJlIHVzZWQgYXMgYEBDb21wb25lbnRgICh1c2VzIGNsYXNzIG5hbWUpIG9yIGBAQ29tcG9uZW50KCdjdXN0b21OYW1lJylgLlxuICpcbiAqIEBwYXJhbSBuYW1lT3JDb25zdHJ1Y3RvciBUaGUgb3B0aW9uYWwgY3VzdG9tIGNvbXBvbmVudCBuYW1lIChzdHJpbmcpIG9yIHRoZSBjbGFzcyBjb25zdHJ1Y3RvciAoRnVuY3Rpb24pIHdoZW4gdXNlZCB3aXRob3V0IHBhcmVudGhlc2VzLlxuICogQHJldHVybnMgQSBjbGFzcyBkZWNvcmF0b3IgZnVuY3Rpb24gb3IgdGhlIGRlY29yYXRlZCBjbGFzcyBpdHNlbGYuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBDb21wb25lbnQobmFtZU9yQ29uc3RydWN0b3I/OiBzdHJpbmcgfCBGdW5jdGlvbik6IEZ1bmN0aW9uIHtcbiAgLy8gSGFuZGxlIGNhc2U6IEBDb21wb25lbnQgY2xhc3MgTXlDbGFzcyB7fSAobmFtZU9yQ29uc3RydWN0b3IgaXMgdGhlIGNvbnN0cnVjdG9yKVxuICBpZiAodHlwZW9mIG5hbWVPckNvbnN0cnVjdG9yID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvciA9IG5hbWVPckNvbnN0cnVjdG9yIGFzIENvbXBvbmVudENvbnN0cnVjdG9yO1xuICAgIGNvbnN0IG1ldGFkYXRhID0gZ2V0Q29tcG9uZW50TWV0YWRhdGEoY29uc3RydWN0b3IpO1xuICAgIG1ldGFkYXRhLm5hbWUgPSBjb25zdHJ1Y3Rvci5uYW1lO1xuXG4gICAgY29uc3RydWN0b3IuX19jb21wb25lbnRfbmFtZSA9IG1ldGFkYXRhLm5hbWU7XG4gICAgY29uc3RydWN0b3IuX19pbmplY3Rpb25zX21hcCA9IG1ldGFkYXRhLmluamVjdGlvbnM7XG5cbiAgICBDb21wb25lbnRNZXRhZGF0YVJlZ2lzdHJ5LnJlZ2lzdGVyKG1ldGFkYXRhLm5hbWUsIG1ldGFkYXRhLmluamVjdGlvbnMpO1xuXG4gICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgKGNvbnN0cnVjdG9yIGFzIGFueSkge1xuICAgICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgc3VwZXIoLi4uYXJncyk7XG4gICAgICAgIC8vIFBlcmZvcm0gcnVudGltZSBkZXBlbmRlbmN5IGluamVjdGlvblxuICAgICAgICBDb21wb25lbnRGYWNhZGUuaW5qZWN0RGVwZW5kZW5jaWVzKHRoaXMpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICAvLyBIYW5kbGUgY2FzZTogQENvbXBvbmVudCgnY3VzdG9tTmFtZScpIGNsYXNzIE15Q2xhc3Mge30gKG5hbWVPckNvbnN0cnVjdG9yIGlzIHRoZSBjdXN0b20gbmFtZSlcbiAgY29uc3QgbmFtZSA9IG5hbWVPckNvbnN0cnVjdG9yO1xuICByZXR1cm4gZnVuY3Rpb24gKGNvbnN0cnVjdG9yOiBGdW5jdGlvbik6IGFueSB7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBnZXRDb21wb25lbnRNZXRhZGF0YShjb25zdHJ1Y3Rvcik7XG4gICAgbWV0YWRhdGEubmFtZSA9IG5hbWUgfHwgY29uc3RydWN0b3IubmFtZTtcblxuICAgIGNvbnN0IGN0b3IgPSBjb25zdHJ1Y3RvciBhcyBDb21wb25lbnRDb25zdHJ1Y3RvcjtcbiAgICBjdG9yLl9fY29tcG9uZW50X25hbWUgPSBtZXRhZGF0YS5uYW1lO1xuICAgIGN0b3IuX19pbmplY3Rpb25zX21hcCA9IG1ldGFkYXRhLmluamVjdGlvbnM7XG5cbiAgICBDb21wb25lbnRNZXRhZGF0YVJlZ2lzdHJ5LnJlZ2lzdGVyKG1ldGFkYXRhLm5hbWUsIG1ldGFkYXRhLmluamVjdGlvbnMpO1xuXG4gICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgKGNvbnN0cnVjdG9yIGFzIGFueSkge1xuICAgICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgc3VwZXIoLi4uYXJncyk7XG4gICAgICAgIC8vIFBlcmZvcm0gcnVudGltZSBkZXBlbmRlbmN5IGluamVjdGlvblxuICAgICAgICBDb21wb25lbnRGYWNhZGUuaW5qZWN0RGVwZW5kZW5jaWVzKHRoaXMpO1xuICAgICAgfVxuICAgIH07XG4gIH07XG59XG5cbi8qKlxuICogQW4gYWxpYXMgZm9yIHRoZSB7QGxpbmsgQ29tcG9uZW50fSBkZWNvcmF0b3IsIHVzZWQgZm9yIHNlbWFudGljIGNsYXJpdHlcbiAqIGluIGNvbnRleHRzIHdoZXJlIHRoZSBjbGFzcyBpcyBleHBsaWNpdGx5IGludGVuZGVkIHRvIGJlIGluamVjdGVkIGVsc2V3aGVyZS5cbiAqIEl0cyBmdW5jdGlvbmFsaXR5IGlzIGlkZW50aWNhbCB0byB7QGxpbmsgQ29tcG9uZW50fS5cbiAqXG4gKiBAcGFyYW0gbmFtZU9yQ29uc3RydWN0b3IgVGhlIG9wdGlvbmFsIGN1c3RvbSBjb21wb25lbnQgbmFtZSAoc3RyaW5nKSBvciB0aGUgY2xhc3MgY29uc3RydWN0b3IgKEZ1bmN0aW9uKS5cbiAqIEByZXR1cm5zIEEgY2xhc3MgZGVjb3JhdG9yIGZ1bmN0aW9uIG9yIHRoZSBkZWNvcmF0ZWQgY2xhc3MgaXRzZWxmLlxuICovXG5leHBvcnQgZnVuY3Rpb24gSW5qZWN0ZWQobmFtZU9yQ29uc3RydWN0b3I/OiBzdHJpbmcgfCBGdW5jdGlvbik6IEZ1bmN0aW9uIHtcbiAgLy8gTG9naWMgaXMgaWRlbnRpY2FsIHRvIENvbXBvbmVudFxuICBpZiAodHlwZW9mIG5hbWVPckNvbnN0cnVjdG9yID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvciA9IG5hbWVPckNvbnN0cnVjdG9yIGFzIENvbXBvbmVudENvbnN0cnVjdG9yO1xuICAgIGNvbnN0IG1ldGFkYXRhID0gZ2V0Q29tcG9uZW50TWV0YWRhdGEoY29uc3RydWN0b3IpO1xuICAgIG1ldGFkYXRhLm5hbWUgPSBjb25zdHJ1Y3Rvci5uYW1lO1xuXG4gICAgY29uc3RydWN0b3IuX19jb21wb25lbnRfbmFtZSA9IG1ldGFkYXRhLm5hbWU7XG4gICAgY29uc3RydWN0b3IuX19pbmplY3Rpb25zX21hcCA9IG1ldGFkYXRhLmluamVjdGlvbnM7XG5cbiAgICBDb21wb25lbnRNZXRhZGF0YVJlZ2lzdHJ5LnJlZ2lzdGVyKG1ldGFkYXRhLm5hbWUsIG1ldGFkYXRhLmluamVjdGlvbnMpO1xuXG4gICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgKGNvbnN0cnVjdG9yIGFzIGFueSkge1xuICAgICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgc3VwZXIoLi4uYXJncyk7XG4gICAgICAgIENvbXBvbmVudEZhY2FkZS5pbmplY3REZXBlbmRlbmNpZXModGhpcyk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IG5hbWUgPSBuYW1lT3JDb25zdHJ1Y3RvcjtcbiAgcmV0dXJuIGZ1bmN0aW9uIChjb25zdHJ1Y3RvcjogRnVuY3Rpb24pOiBhbnkge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gZ2V0Q29tcG9uZW50TWV0YWRhdGEoY29uc3RydWN0b3IpO1xuICAgIG1ldGFkYXRhLm5hbWUgPSBuYW1lIHx8IGNvbnN0cnVjdG9yLm5hbWU7XG5cbiAgICBjb25zdCBjdG9yID0gY29uc3RydWN0b3IgYXMgQ29tcG9uZW50Q29uc3RydWN0b3I7XG4gICAgY3Rvci5fX2NvbXBvbmVudF9uYW1lID0gbWV0YWRhdGEubmFtZTtcbiAgICBjdG9yLl9faW5qZWN0aW9uc19tYXAgPSBtZXRhZGF0YS5pbmplY3Rpb25zO1xuXG4gICAgQ29tcG9uZW50TWV0YWRhdGFSZWdpc3RyeS5yZWdpc3RlcihtZXRhZGF0YS5uYW1lLCBtZXRhZGF0YS5pbmplY3Rpb25zKTtcblxuICAgIHJldHVybiBjbGFzcyBleHRlbmRzIChjb25zdHJ1Y3RvciBhcyBhbnkpIHtcbiAgICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgICAgICBDb21wb25lbnRGYWNhZGUuaW5qZWN0RGVwZW5kZW5jaWVzKHRoaXMpO1xuICAgICAgfVxuICAgIH07XG4gIH07XG59XG5cbi8qKlxuICogUHJvcGVydHkgZGVjb3JhdG9yIHVzZWQgdG8gbWFyayBhbiBpbnN0YW5jZSBwcm9wZXJ0eSBhcyBhbiBpbmplY3Rpb24gcG9pbnQuXG4gKiBUaGUgcnVudGltZSB3aWxsIGxvb2sgdXAgYSBkZXBlbmRlbmN5IGJhc2VkIG9uIHRoZSBwcm9wZXJ0eSBuYW1lIG9yIHRoZSBvcHRpb25hbFxuICogbmFtZSBwcm92aWRlZC5cbiAqXG4gKiBJdCBzdXBwb3J0cyBib3RoIG1vZGVybiAoYGNvbnRleHQuYWRkSW5pdGlhbGl6ZXJgKSBhbmQgbGVnYWN5IGRlY29yYXRvciBBUElzLlxuICpcbiAqIFVzYWdlOlxuICogLSBgQEluamVjdGAgcHJvcGVydHlLZXk6IEluamVjdHMgYSBjb21wb25lbnQgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIGBwcm9wZXJ0eUtleWAuXG4gKiAtIGBASW5qZWN0KCdteVNlcnZpY2UnKWAgcHJvcGVydHlLZXk6IEluamVjdHMgdGhlIGNvbXBvbmVudCByZWdpc3RlcmVkIGFzICdteVNlcnZpY2UnLlxuICpcbiAqIEBwYXJhbSBuYW1lIFRoZSBvcHRpb25hbCBuYW1lIG9mIHRoZSBjb21wb25lbnQgdG8gaW5qZWN0LlxuICogQHJldHVybnMgQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBJbmplY3QobmFtZT86IHN0cmluZykge1xuICByZXR1cm4gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgLy8gTW9kZXJuIERlY29yYXRvciBBUEkgY2hlY2sgKEdyYWFsSlMsIFY4LCBldGMuKSAtIGFyZ3M6IFt2YWx1ZSwgY29udGV4dF1cbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDIpIHtcbiAgICAgIGNvbnN0IFtfLCBjb250ZXh0XSA9IGFyZ3M7XG4gICAgICBpZiAoY29udGV4dCAmJiB0eXBlb2YgY29udGV4dC5hZGRJbml0aWFsaXplciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGNvbnRleHQuYWRkSW5pdGlhbGl6ZXIoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIC8vICd0aGlzJyBpcyB0aGUgY2xhc3MgaW5zdGFuY2UgaW4gdGhlIGluaXRpYWxpemVyXG4gICAgICAgICAgY29uc3QgY3RvciA9ICh0aGlzIGFzIGFueSk/LmNvbnN0cnVjdG9yIGFzIENvbXBvbmVudENvbnN0cnVjdG9yO1xuICAgICAgICAgIGNvbnN0IG1ldGFkYXRhID0gZ2V0Q29tcG9uZW50TWV0YWRhdGEoY3Rvcik7XG4gICAgICAgICAgLy8gUmVnaXN0ZXIgdGhlIGluamVjdGlvbiBwb2ludCAocHJvcGVydHkgbmFtZSkgYW5kIHRoZSBvcHRpb25hbCB0YXJnZXQgbmFtZVxuICAgICAgICAgIG1ldGFkYXRhLmluamVjdGlvbnMuc2V0KGNvbnRleHQubmFtZSwgbmFtZSk7XG4gICAgICAgICAgY3Rvci5fX2luamVjdGlvbnNfbWFwID0gbWV0YWRhdGEuaW5qZWN0aW9ucztcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMZWdhY3kgRGVjb3JhdG9yIEFQSSBmYWxsYmFjayAoUmhpbm8sIG9sZGVyIEdyYWFsSlMpIC0gYXJnczogW3RhcmdldCwgcHJvcGVydHlLZXldXG4gICAgY29uc3QgW3RhcmdldCwgcHJvcGVydHlLZXldID0gYXJncztcbiAgICBjb25zdCBjdG9yID0gdGFyZ2V0LmNvbnN0cnVjdG9yIHx8IHRhcmdldDtcbiAgICBjb25zdCBtZXRhZGF0YSA9IGdldENvbXBvbmVudE1ldGFkYXRhKGN0b3IpO1xuICAgIC8vIFJlZ2lzdGVyIHRoZSBpbmplY3Rpb24gcG9pbnQgKHByb3BlcnR5S2V5KSBhbmQgdGhlIG9wdGlvbmFsIHRhcmdldCBuYW1lXG4gICAgbWV0YWRhdGEuaW5qZWN0aW9ucy5zZXQocHJvcGVydHlLZXksIG5hbWUpO1xuICAgIChjdG9yIGFzIENvbXBvbmVudENvbnN0cnVjdG9yKS5fX2luamVjdGlvbnNfbWFwID0gbWV0YWRhdGEuaW5qZWN0aW9ucztcbiAgfTtcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBc0NBLE1BQU0sNEJBQTRCLEtBQUs7QUFBQSxFQUNyQztBQUNGO0FBQ0EsTUFBTSxrQkFBa0IsS0FBSztBQUFBLEVBQzNCO0FBQ0Y7QUF3QkEsTUFBTSxpQkFBcUQsb0JBQUksUUFBUTtBQVN2RSxTQUFTLHFCQUFxQixhQUF3QztBQUNwRSxNQUFJLE9BQU8sZ0JBQWdCLFlBQVksT0FBTyxnQkFBZ0IsWUFBWTtBQUN4RSxVQUFNLElB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
@@ -33,4 +33,4 @@ __export(component_exports, {
33
33
  module.exports = __toCommonJS(component_exports);
34
34
  __reExport(component_exports, require("./decorators"), module.exports);
35
35
  var decorators = __toESM(require("./decorators"));
36
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogYXMgZGVjb3JhdG9ycyBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSw4QkFBYyx5QkFBZDtBQUNBLGlCQUE0QjsiLAogICJuYW1lcyI6IFtdCn0K
36
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIGNvbXBvbmVudC9pbmRleFxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL2NvbXBvbmVudFxuICogQG92ZXJ2aWV3XG4gKiBcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyBmb3IgY29tcG9uZW50IG1hbmFnZW1lbnQgd2l0aGluIHRoZSBBZXJva2l0IFNESy4gSXQgaW5jbHVkZXMgY2xhc3NlcyBhbmQgbWV0aG9kcyBmb3IgZGVmaW5pbmcsIHJlZ2lzdGVyaW5nLCBhbmQgbWFuYWdpbmcgY29tcG9uZW50cyBpbiBhIG1vZHVsYXIgYXJjaGl0ZWN0dXJlLlxuICogXG4gKiBUaGUgbWFpbiBjb21wb25lbnRzIG9mIHRoaXMgbW9kdWxlIGFyZTpcbiAqIC0gRGVjb3JhdG9yczogUHJvdmlkZXMgZGVjb3JhdG9ycyBmb3IgZGVmaW5pbmcgY29tcG9uZW50cyBhbmQgdGhlaXIgcHJvcGVydGllcyBpbiBhIGRlY2xhcmF0aXZlIG1hbm5lci5cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5leHBvcnQgKiBhcyBkZWNvcmF0b3JzIGZyb20gXCIuL2RlY29yYXRvcnNcIjsiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLDhCQUFjLHlCQVhkO0FBWUEsaUJBQTRCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -107,4 +107,4 @@ class Configurations {
107
107
  if (typeof module !== "undefined") {
108
108
  module.exports = Configurations;
109
109
  }
110
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvY29uZmlndXJhdGlvbnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQVBJIENvbmZpZ3VyYXRpb25zXG4gKiAqIFByb3ZpZGVzIGEgc3RhdGljIGludGVyZmFjZSBmb3IgYWNjZXNzaW5nIGFuZCBtYW5pcHVsYXRpbmcgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzLFxuICogYW5kIGNoZWNraW5nIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHR5cGUuXG4gKi9cblxuY29uc3QgQ29uZmlndXJhdGlvbiA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21tb25zLmNvbmZpZy5Db25maWd1cmF0aW9uXCIpO1xuXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbnMge1xuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIGNvbmZpZ3VyYXRpb24gdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXkuXG5cdCAqIEBwYXJhbSBrZXkgVGhlIGNvbmZpZ3VyYXRpb24ga2V5LlxuXHQgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFRoZSBvcHRpb25hbCBkZWZhdWx0IHZhbHVlIHRvIHJldHVybiBpZiB0aGUga2V5IGlzIG5vdCBmb3VuZC5cblx0ICogQHJldHVybnMgVGhlIGNvbmZpZ3VyYXRpb24gdmFsdWUgYXMgYSBzdHJpbmcsIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBrZXkgaXMgbm90IGZvdW5kIGFuZCBubyBkZWZhdWx0IGlzIHByb3ZpZGVkLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXQoa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgdmFsdWUgPSBDb25maWd1cmF0aW9uLmdldChrZXksIGRlZmF1bHRWYWx1ZSk7XG5cdFx0cmV0dXJuIHZhbHVlID8/IHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBjb25maWd1cmF0aW9uIHZhbHVlIGZvciB0aGUgZ2l2ZW4ga2V5LlxuXHQgKiBJZiB0aGUga2V5IGFscmVhZHkgZXhpc3RzLCBpdHMgdmFsdWUgaXMgb3ZlcndyaXR0ZW4uXG5cdCAqIEBwYXJhbSBrZXkgVGhlIGNvbmZpZ3VyYXRpb24ga2V5LlxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIGNvbmZpZ3VyYXRpb24gdmFsdWUgdG8gc2V0LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcblx0XHRDb25maWd1cmF0aW9uLnNldChrZXksIHZhbHVlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW1vdmVzIHRoZSBjb25maWd1cmF0aW9uIHByb3BlcnR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4ga2V5LlxuXHQgKiBAcGFyYW0ga2V5IFRoZSBjb25maWd1cmF0aW9uIGtleSB0byByZW1vdmUuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHJlbW92ZShrZXk6IHN0cmluZyk6IHZvaWQge1xuXHRcdENvbmZpZ3VyYXRpb24ucmVtb3ZlKGtleSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgbGlzdCBvZiBhbGwgY3VycmVudCBjb25maWd1cmF0aW9uIGtleXMuXG5cdCAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24ga2V5cyAoc3RyaW5ncykuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldEtleXMoKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uLmdldEtleXMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMb2FkcyBjb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZnJvbSBhIGZpbGUgYXQgdGhlIHNwZWNpZmllZCBwYXRoLCBvdmVycmlkaW5nIGV4aXN0aW5nIG9uZXMuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBmaWxlIHBhdGggdG8gbG9hZCBjb25maWd1cmF0aW9ucyBmcm9tLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBsb2FkKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdENvbmZpZ3VyYXRpb24ubG9hZChwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWxvYWRzIG9yIHVwZGF0ZXMgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmcm9tIHRoZWlyIHNvdXJjZSAoZS5nLiwgcGVyc2lzdGVuY2UgbGF5ZXIpLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyB1cGRhdGUoKTogdm9pZCB7XG5cdFx0Q29uZmlndXJhdGlvbi51cGRhdGUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbS5cblx0ICogQHJldHVybnMgVGhlIE9TIG5hbWUgYXMgYSBzdHJpbmcgKGUuZy4sIFwiV2luZG93c1wiLCBcIkxpbnV4XCIsIFwiTWFjIE9TIFhcIikuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldE9TKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uZ2V0T1MoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbSBpcyBXaW5kb3dzLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBPUyBpcyBXaW5kb3dzLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT1NXaW5kb3dzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uLmlzT1NXaW5kb3dzKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IE9wZXJhdGluZyBTeXN0ZW0gaXMgTWFjIE9TIChvciBNYWMgT1MgWCkuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIE9TIGlzIE1hYywgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBpc09TTWFjKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uLmlzT1NNYWMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbSBpcyBhIFVOSVgtbGlrZSBzeXN0ZW0gKGUuZy4sIExpbnV4LCBtYWNPUywgb3Igb3RoZXJzKS5cblx0ICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgT1MgaXMgYSBVTklYIHZhcmlhbnQsIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNPU1VOSVgoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uaXNPU1VOSVgoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbSBpcyBTb2xhcmlzLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBPUyBpcyBTb2xhcmlzLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT1NTb2xhcmlzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uLmlzT1NTb2xhcmlzKCk7XG5cdH1cblxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IENvbmZpZ3VyYXRpb25zO1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLE1BQU0sZ0JBQWdCLEtBQUssS0FBSyxvREFBb0Q7QUFFN0UsTUFBTSxlQUFlO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRM0IsT0FBYyxJQUFJLEtBQWEsY0FBMkM7QUFDekUsVUFBTSxRQUFRLGNBQWMsSUFBSSxLQUFLLFlBQVk7QUFDakQsV0FBTyxTQUFTO0FBQUEsRUFDakI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsSUFBSSxLQUFhLE9BQXFCO0FBQ25ELGtCQUFjLElBQUksS0FBSyxLQUFLO0FBQUEsRUFDN0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxPQUFPLEtBQW1CO0FBQ3ZDLGtCQUFjLE9BQU8sR0FBRztBQUFBLEVBQ3pCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsVUFBb0I7QUFDakMsV0FBTyxjQUFjLFFBQVE7QUFBQSxFQUM5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLEtBQUssTUFBb0I7QUFDdEMsa0JBQWMsS0FBSyxJQUFJO0FBQUEsRUFDeEI7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLE9BQWMsU0FBZTtBQUM1QixrQkFBYyxPQUFPO0FBQUEsRUFDdEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxRQUFnQjtBQUM3QixXQUFPLGNBQWMsTUFBTTtBQUFBLEVBQzVCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsY0FBdUI7QUFDcEMsV0FBTyxjQUFjLFlBQVk7QUFBQSxFQUNsQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLFVBQW1CO0FBQ2hDLFdBQU8sY0FBYyxRQUFRO0FBQUEsRUFDOUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxXQUFvQjtBQUNqQyxXQUFPLGNBQWMsU0FBUztBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsY0FBdUI7QUFDcEMsV0FBTyxjQUFjLFlBQVk7QUFBQSxFQUNsQztBQUVEO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
110
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvY29uZmlndXJhdGlvbnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBjb3JlL2NvbmZpZ3VyYXRpb25zXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvY29yZVxuICogQG5hbWUgQ29uZmlndXJhdGlvbnNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgQ29uZmlndXJhdGlvbnMgQVBJIHByb3ZpZGVzIGEgY2VudHJhbGl6ZWQsIHR5cGUtc2FmZSBpbnRlcmZhY2UgZm9yIG1hbmFnaW5nIGFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBhbmQgZGV0ZWN0aW5nIHRoZSBydW50aW1lIG9wZXJhdGluZyBzeXN0ZW0uIEl0IHNlcnZlcyBhcyB0aGUgZm91bmRhdGlvbiBmb3IgZW52aXJvbm1lbnQtc3BlY2lmaWMgc2V0dGluZ3MgYW5kIHN5c3RlbS1hd2FyZSBiZWhhdmlvciBpbiBBZXJva2l0IGFwcGxpY2F0aW9ucy5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlc1xuICogXG4gKiAtICoqU3RhdGljIEludGVyZmFjZSoqOiBUaHJlYWQtc2FmZSwgc2luZ2xldG9uLWxpa2UgYWNjZXNzIHRvIGNvbmZpZ3VyYXRpb24gZGF0YVxuICogLSAqKlR5cGUgU2FmZXR5Kio6IEZ1bGwgVHlwZVNjcmlwdCBzdXBwb3J0IHdpdGggcHJvcGVyIHR5cGUgZGVmaW5pdGlvbnNcbiAqIC0gKipGaWxlIExvYWRpbmcqKjogU3VwcG9ydCBmb3IgbG9hZGluZyBjb25maWd1cmF0aW9ucyBmcm9tIGV4dGVybmFsIGZpbGVzXG4gKiAtICoqT1MgRGV0ZWN0aW9uKio6IENvbXByZWhlbnNpdmUgb3BlcmF0aW5nIHN5c3RlbSBpZGVudGlmaWNhdGlvblxuICogLSAqKk1lbW9yeSBFZmZpY2llbnQqKjogSW4tbWVtb3J5IHN0b3JhZ2Ugd2l0aCBvcHRpb25hbCBwZXJzaXN0ZW5jZVxuICogXG4gKiAjIyMgVXNlIENhc2VzXG4gKiAtIEFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gbWFuYWdlbWVudFxuICogLSBFbnZpcm9ubWVudCB2YXJpYWJsZSBtYW5hZ2VtZW50XG4gKiAtIEZlYXR1cmUgZmxhZyBjb25maWd1cmF0aW9uXG4gKiAtIERhdGFiYXNlIGNvbm5lY3Rpb24gc2V0dGluZ3NcbiAqIC0gQVBJIGVuZHBvaW50IGNvbmZpZ3VyYXRpb25cbiAqIC0gUGxhdGZvcm0tc3BlY2lmaWMgYmVoYXZpb3IgYWRhcHRhdGlvblxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9jb3JlXCI7XG4gKiBcbiAqIC8vIFNldCBhIGNvbmZpZ3VyYXRpb24gcHJvcGVydHlcbiAqIENvbmZpZ3VyYXRpb25zLnNldChcImFwaUVuZHBvaW50XCIsIFwiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb21cIik7XG4gKiAvLyBHZXQgYSBjb25maWd1cmF0aW9uIHByb3BlcnR5XG4gKiBjb25zdCBhcGlFbmRwb2ludCA9IENvbmZpZ3VyYXRpb25zLmdldChcImFwaUVuZHBvaW50XCIpO1xuICogY29uc29sZS5sb2coYXBpRW5kcG9pbnQpOyAvLyBPdXRwdXQ6IFwiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb21cIlxuICogXG4gKiAvLyBDaGVjayB0aGUgb3BlcmF0aW5nIHN5c3RlbVxuICogaWYgKENvbmZpZ3VyYXRpb25zLmlzT1NXaW5kb3dzKCkpIHtcbiAqICAgY29uc29sZS5sb2coXCJSdW5uaW5nIG9uIFdpbmRvd3NcIik7XG4gKiB9IGVsc2UgaWYgKENvbmZpZ3VyYXRpb25zLmlzT1NNYWMoKSkge1xuICogICBjb25zb2xlLmxvZyhcIlJ1bm5pbmcgb24gTWFjXCIpO1xuICogfSBlbHNlIGlmIChDb25maWd1cmF0aW9ucy5pc09TVU5JWCgpKSB7XG4gKiAgIGNvbnNvbGUubG9nKFwiUnVubmluZyBvbiBVTklYXCIpO1xuICogfVxuICogYGBgXG4qL1xuXG5jb25zdCBDb25maWd1cmF0aW9uID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbW1vbnMuY29uZmlnLkNvbmZpZ3VyYXRpb25cIik7XG5cbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9ucyB7XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgY29uZmlndXJhdGlvbiB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGtleS5cblx0ICogQHBhcmFtIGtleSBUaGUgY29uZmlndXJhdGlvbiBrZXkuXG5cdCAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgVGhlIG9wdGlvbmFsIGRlZmF1bHQgdmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBrZXkgaXMgbm90IGZvdW5kLlxuXHQgKiBAcmV0dXJucyBUaGUgY29uZmlndXJhdGlvbiB2YWx1ZSBhcyBhIHN0cmluZywgb3IgYHVuZGVmaW5lZGAgaWYgdGhlIGtleSBpcyBub3QgZm91bmQgYW5kIG5vIGRlZmF1bHQgaXMgcHJvdmlkZWQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldChrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCB2YWx1ZSA9IENvbmZpZ3VyYXRpb24uZ2V0KGtleSwgZGVmYXVsdFZhbHVlKTtcblx0XHRyZXR1cm4gdmFsdWUgPz8gdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGNvbmZpZ3VyYXRpb24gdmFsdWUgZm9yIHRoZSBnaXZlbiBrZXkuXG5cdCAqIElmIHRoZSBrZXkgYWxyZWFkeSBleGlzdHMsIGl0cyB2YWx1ZSBpcyBvdmVyd3JpdHRlbi5cblx0ICogQHBhcmFtIGtleSBUaGUgY29uZmlndXJhdGlvbiBrZXkuXG5cdCAqIEBwYXJhbSB2YWx1ZSBUaGUgY29uZmlndXJhdGlvbiB2YWx1ZSB0byBzZXQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHNldChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuXHRcdENvbmZpZ3VyYXRpb24uc2V0KGtleSwgdmFsdWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbW92ZXMgdGhlIGNvbmZpZ3VyYXRpb24gcHJvcGVydHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXkuXG5cdCAqIEBwYXJhbSBrZXkgVGhlIGNvbmZpZ3VyYXRpb24ga2V5IHRvIHJlbW92ZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgcmVtb3ZlKGtleTogc3RyaW5nKTogdm9pZCB7XG5cdFx0Q29uZmlndXJhdGlvbi5yZW1vdmUoa2V5KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIGFsbCBjdXJyZW50IGNvbmZpZ3VyYXRpb24ga2V5cy5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBrZXlzIChzdHJpbmdzKS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0S2V5cygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uZ2V0S2V5cygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIExvYWRzIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmcm9tIGEgZmlsZSBhdCB0aGUgc3BlY2lmaWVkIHBhdGgsIG92ZXJyaWRpbmcgZXhpc3Rpbmcgb25lcy5cblx0ICogQHBhcmFtIHBhdGggVGhlIGZpbGUgcGF0aCB0byBsb2FkIGNvbmZpZ3VyYXRpb25zIGZyb20uXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGxvYWQocGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0Q29uZmlndXJhdGlvbi5sb2FkKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbG9hZHMgb3IgdXBkYXRlcyB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZyb20gdGhlaXIgc291cmNlIChlLmcuLCBwZXJzaXN0ZW5jZSBsYXllcikuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHVwZGF0ZSgpOiB2b2lkIHtcblx0XHRDb25maWd1cmF0aW9uLnVwZGF0ZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBPcGVyYXRpbmcgU3lzdGVtLlxuXHQgKiBAcmV0dXJucyBUaGUgT1MgbmFtZSBhcyBhIHN0cmluZyAoZS5nLiwgXCJXaW5kb3dzXCIsIFwiTGludXhcIiwgXCJNYWMgT1MgWFwiKS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0T1MoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gQ29uZmlndXJhdGlvbi5nZXRPUygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBPcGVyYXRpbmcgU3lzdGVtIGlzIFdpbmRvd3MuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIE9TIGlzIFdpbmRvd3MsIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNPU1dpbmRvd3MoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uaXNPU1dpbmRvd3MoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbSBpcyBNYWMgT1MgKG9yIE1hYyBPUyBYKS5cblx0ICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgT1MgaXMgTWFjLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT1NNYWMoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uaXNPU01hYygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBPcGVyYXRpbmcgU3lzdGVtIGlzIGEgVU5JWC1saWtlIHN5c3RlbSAoZS5nLiwgTGludXgsIG1hY09TLCBvciBvdGhlcnMpLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBPUyBpcyBhIFVOSVggdmFyaWFudCwgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBpc09TVU5JWCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29uZmlndXJhdGlvbi5pc09TVU5JWCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBPcGVyYXRpbmcgU3lzdGVtIGlzIFNvbGFyaXMuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIE9TIGlzIFNvbGFyaXMsIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNPU1NvbGFyaXMoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uaXNPU1NvbGFyaXMoKTtcblx0fVxuXG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gQ29uZmlndXJhdGlvbnM7XG59Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNkNBLE1BQU0sZ0JBQWdCLEtBQUssS0FBSyxvREFBb0Q7QUFFN0UsTUFBTSxlQUFlO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRM0IsT0FBYyxJQUFJLEtBQWEsY0FBMkM7QUFDekUsVUFBTSxRQUFRLGNBQWMsSUFBSSxLQUFLLFlBQVk7QUFDakQsV0FBTyxTQUFTO0FBQUEsRUFDakI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsSUFBSSxLQUFhLE9BQXFCO0FBQ25ELGtCQUFjLElBQUksS0FBSyxLQUFLO0FBQUEsRUFDN0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxPQUFPLEtBQW1CO0FBQ3ZDLGtCQUFjLE9BQU8sR0FBRztBQUFBLEVBQ3pCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsVUFBb0I7QUFDakMsV0FBTyxjQUFjLFFBQVE7QUFBQSxFQUM5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLEtBQUssTUFBb0I7QUFDdEMsa0JBQWMsS0FBSyxJQUFJO0FBQUEsRUFDeEI7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLE9BQWMsU0FBZTtBQUM1QixrQkFBYyxPQUFPO0FBQUEsRUFDdEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxRQUFnQjtBQUM3QixXQUFPLGNBQWMsTUFBTTtBQUFBLEVBQzVCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsY0FBdUI7QUFDcEMsV0FBTyxjQUFjLFlBQVk7QUFBQSxFQUNsQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLFVBQW1CO0FBQ2hDLFdBQU8sY0FBYyxRQUFRO0FBQUEsRUFDOUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxXQUFvQjtBQUNqQyxXQUFPLGNBQWMsU0FBUztBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsY0FBdUI7QUFDcEMsV0FBTyxjQUFjLFlBQVk7QUFBQSxFQUNsQztBQUVEO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -44,4 +44,4 @@ class Context {
44
44
  if (typeof module !== "undefined") {
45
45
  module.exports = Context;
46
46
  }
47
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvY29udGV4dC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBBUEkgQ29udGV4dFxuICogKiBQcm92aWRlcyBhIHN0YXRpYyBpbnRlcmZhY2UgZm9yIGFjY2Vzc2luZyBhbmQgbWFuaXB1bGF0aW5nIGtleS12YWx1ZSBwYWlycyBpbiBhIGdsb2JhbCwgYXBwbGljYXRpb24td2lkZSBjb250ZXh0LlxuICovXG5cbmNvbnN0IENvbnRleHRGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuY29yZS5Db250ZXh0RmFjYWRlXCIpO1xuXG5leHBvcnQgY2xhc3MgQ29udGV4dCB7XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZSBmcm9tIHRoZSBnbG9iYWwgY29udGV4dC5cblx0ICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNvbnRleHQgdmFyaWFibGUuXG5cdCAqIEByZXR1cm5zIFRoZSBjb250ZXh0IHZhbHVlLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgbmFtZSBpcyBub3QgZm91bmQgb3IgdGhlIHZhbHVlIGlzIG51bGwuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldChuYW1lOiBzdHJpbmcpOiBhbnkgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHZhbHVlID0gQ29udGV4dEZhY2FkZS5nZXQobmFtZSlcblx0XHRyZXR1cm4gdmFsdWUgPz8gdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIFN0b3JlcyBhIHZhbHVlIGluIHRoZSBnbG9iYWwgY29udGV4dCB1bmRlciB0aGUgc3BlY2lmaWVkIG5hbWUuXG5cdCAqIElmIHRoZSBuYW1lIGFscmVhZHkgZXhpc3RzLCBpdHMgdmFsdWUgaXMgb3ZlcndyaXR0ZW4uXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBjb250ZXh0IHZhcmlhYmxlLlxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHN0b3JlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBzZXQobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG5cdFx0Q29udGV4dEZhY2FkZS5zZXQobmFtZSwgdmFsdWUpO1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gQ29udGV4dDtcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQSxNQUFNLGdCQUFnQixLQUFLLEtBQUsseURBQXlEO0FBRWxGLE1BQU0sUUFBUTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9wQixPQUFjLElBQUksTUFBK0I7QUFDaEQsVUFBTSxRQUFRLGNBQWMsSUFBSSxJQUFJO0FBQ3BDLFdBQU8sU0FBUztBQUFBLEVBQ2pCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLElBQUksTUFBYyxPQUFrQjtBQUNqRCxrQkFBYyxJQUFJLE1BQU0sS0FBSztBQUFBLEVBQzlCO0FBQ0Q7QUFHQSxJQUFJLE9BQU8sV0FBVyxhQUFhO0FBRWxDLFNBQU8sVUFBVTtBQUNsQjsiLAogICJuYW1lcyI6IFtdCn0K
47
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvY29udGV4dC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIGNvcmUvY29udGV4dFxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL2NvcmVcbiAqIEBuYW1lIENvbnRleHRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgQ29udGV4dCBBUEkgcHJvdmlkZXMgYSBzaW1wbGUsIHN0YXRpYyBpbnRlcmZhY2UgZm9yIHN0b3JpbmcgYW5kIHJldHJpZXZpbmcga2V5LXZhbHVlIHBhaXJzIGluIGEgZ2xvYmFsIGFwcGxpY2F0aW9uIGNvbnRleHQuIEl0IGFsbG93cyBjb21wb25lbnRzIGFuZCBtb2R1bGVzIHRvIHNoYXJlIGRhdGEgYWNyb3NzIHRoZSBlbnRpcmUgYXBwbGljYXRpb24gd2l0aG91dCBuZWVkaW5nIHRvIHBhc3MgdmFsdWVzIHRocm91Z2ggZnVuY3Rpb24gcGFyYW1ldGVycyBvciBjb21wb25lbnQgcHJvcHMuIFRoZSBDb250ZXh0IEFQSSBpcyBkZXNpZ25lZCB0byBiZSBsaWdodHdlaWdodCBhbmQgZWFzeSB0byB1c2UsIG1ha2luZyBpdCBpZGVhbCBmb3IgbWFuYWdpbmcgZ2xvYmFsIHN0YXRlLCBjb25maWd1cmF0aW9uIHNldHRpbmdzLCBvciBhbnkgb3RoZXIgZGF0YSB0aGF0IG5lZWRzIHRvIGJlIGFjY2Vzc2libGUgdGhyb3VnaG91dCB0aGUgYXBwbGljYXRpb24uXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gKipHbG9iYWwgQWNjZXNzaWJpbGl0eSoqOiBWYWx1ZXMgc3RvcmVkIGluIHRoZSBjb250ZXh0IGNhbiBiZSBhY2Nlc3NlZCBmcm9tIGFueXdoZXJlIGluIHRoZSBhcHBsaWNhdGlvbiwgZmFjaWxpdGF0aW5nIGRhdGEgc2hhcmluZyBhY3Jvc3MgY29tcG9uZW50cyBhbmQgbW9kdWxlcy5cbiAqIC0gKipTaW1wbGUgQVBJKio6IFRoZSBDb250ZXh0IEFQSSBwcm92aWRlcyBzdHJhaWdodGZvcndhcmQgYGdldGAgYW5kIGBzZXRgIG1ldGhvZHMgZm9yIG1hbmFnaW5nIGNvbnRleHQgdmFsdWVzLCBtYWtpbmcgaXQgZWFzeSB0byB1c2Ugd2l0aG91dCBjb21wbGV4IHNldHVwLlxuICogLSAqKkR5bmFtaWMgU3RvcmFnZSoqOiBUaGUgY29udGV4dCBjYW4gc3RvcmUgYW55IHR5cGUgb2YgdmFsdWUsIGluY2x1ZGluZyBwcmltaXRpdmVzLCBvYmplY3RzLCBhcnJheXMsIGFuZCBldmVuIGZ1bmN0aW9ucywgYWxsb3dpbmcgZm9yIGZsZXhpYmxlIGRhdGEgbWFuYWdlbWVudC5cbiAqIC0gKipPdmVyd3JpdGluZyBWYWx1ZXMqKjogU2V0dGluZyBhIHZhbHVlIHdpdGggYW4gZXhpc3RpbmcgbmFtZSB3aWxsIG92ZXJ3cml0ZSB0aGUgcHJldmlvdXMgdmFsdWUsIGVuYWJsaW5nIGR5bmFtaWMgdXBkYXRlcyB0byB0aGUgY29udGV4dCBhcyBuZWVkZWQuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXNcbiAqIC0gTWFuYWdpbmcgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgdGhhdCBuZWVkIHRvIGJlIGFjY2Vzc2VkIGJ5IG11bHRpcGxlIGNvbXBvbmVudHMgb3IgbW9kdWxlcy5cbiAqIC0gU2hhcmluZyBzdGF0ZSBvciBkYXRhIGFjcm9zcyBkaWZmZXJlbnQgcGFydHMgb2YgdGhlIGFwcGxpY2F0aW9uIHdpdGhvdXQgcHJvcCBkcmlsbGluZyBvciBjb21wbGV4IHN0YXRlIG1hbmFnZW1lbnQgc29sdXRpb25zLlxuICogLSBTdG9yaW5nIHJlZmVyZW5jZXMgdG8gc2VydmljZXMsIHV0aWxpdGllcywgb3Igb3RoZXIgc2hhcmVkIHJlc291cmNlcyB0aGF0IG5lZWQgdG8gYmUgYWNjZXNzaWJsZSB0aHJvdWdob3V0IHRoZSBhcHBsaWNhdGlvbi5cbiAqIC0gRmFjaWxpdGF0aW5nIGNvbW11bmljYXRpb24gYmV0d2VlbiBjb21wb25lbnRzIHRoYXQgZG8gbm90IGhhdmUgYSBkaXJlY3QgcGFyZW50LWNoaWxkIHJlbGF0aW9uc2hpcCBieSB1c2luZyB0aGUgY29udGV4dCBhcyBhIHNoYXJlZCBkYXRhIHN0b3JlLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2NvcmVcIjtcbiAqIFxuICogLy8gU2V0IGEgdmFsdWUgaW4gdGhlIGNvbnRleHRcbiAqIENvbnRleHQuc2V0KFwiYXBpRW5kcG9pbnRcIiwgXCJodHRwczovL2FwaS5leGFtcGxlLmNvbVwiKTtcbiAqIFxuICogLy8gR2V0IGEgdmFsdWUgZnJvbSB0aGUgY29udGV4dFxuICogY29uc3QgYXBpRW5kcG9pbnQgPSBDb250ZXh0LmdldChcImFwaUVuZHBvaW50XCIpO1xuICogY29uc29sZS5sb2coYXBpRW5kcG9pbnQpOyAvLyBPdXRwdXQ6IFwiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb21cIlxuICogXG4gKiAvLyBPdmVyd3JpdGUgYW4gZXhpc3RpbmcgdmFsdWUgaW4gdGhlIGNvbnRleHRcbiAqIENvbnRleHQuc2V0KFwiYXBpRW5kcG9pbnRcIiwgXCJodHRwczovL2FwaS5uZXdleGFtcGxlLmNvbVwiKTtcbiAqIGNvbnN0IG5ld0FwaUVuZHBvaW50ID0gQ29udGV4dC5nZXQoXCJhcGlFbmRwb2ludFwiKTtcbiAqIGNvbnNvbGUubG9nKG5ld0FwaUVuZHBvaW50KTsgLy8gT3V0cHV0OiBcImh0dHBzOi8vYXBpLm5ld2V4YW1wbGUuY29tXCJcbiAqIGBgYFxuICovXG5cbmNvbnN0IENvbnRleHRGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuY29yZS5Db250ZXh0RmFjYWRlXCIpO1xuXG5leHBvcnQgY2xhc3MgQ29udGV4dCB7XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZSBmcm9tIHRoZSBnbG9iYWwgY29udGV4dC5cblx0ICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNvbnRleHQgdmFyaWFibGUuXG5cdCAqIEByZXR1cm5zIFRoZSBjb250ZXh0IHZhbHVlLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgbmFtZSBpcyBub3QgZm91bmQgb3IgdGhlIHZhbHVlIGlzIG51bGwuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldChuYW1lOiBzdHJpbmcpOiBhbnkgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHZhbHVlID0gQ29udGV4dEZhY2FkZS5nZXQobmFtZSlcblx0XHRyZXR1cm4gdmFsdWUgPz8gdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIFN0b3JlcyBhIHZhbHVlIGluIHRoZSBnbG9iYWwgY29udGV4dCB1bmRlciB0aGUgc3BlY2lmaWVkIG5hbWUuXG5cdCAqIElmIHRoZSBuYW1lIGFscmVhZHkgZXhpc3RzLCBpdHMgdmFsdWUgaXMgb3ZlcndyaXR0ZW4uXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBjb250ZXh0IHZhcmlhYmxlLlxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHN0b3JlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBzZXQobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG5cdFx0Q29udGV4dEZhY2FkZS5zZXQobmFtZSwgdmFsdWUpO1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gQ29udGV4dDtcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFzQ0EsTUFBTSxnQkFBZ0IsS0FBSyxLQUFLLHlEQUF5RDtBQUVsRixNQUFNLFFBQVE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPcEIsT0FBYyxJQUFJLE1BQStCO0FBQ2hELFVBQU0sUUFBUSxjQUFjLElBQUksSUFBSTtBQUNwQyxXQUFPLFNBQVM7QUFBQSxFQUNqQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxJQUFJLE1BQWMsT0FBa0I7QUFDakQsa0JBQWMsSUFBSSxNQUFNLEtBQUs7QUFBQSxFQUM5QjtBQUNEO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -42,4 +42,4 @@ class Env {
42
42
  if (typeof module !== "undefined") {
43
43
  module.exports = Env;
44
44
  }
45
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvZW52LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEFQSSBFbnZcbiAqICogUHJvdmlkZXMgYSBzdGF0aWMgaW50ZXJmYWNlIGZvciBhY2Nlc3NpbmcgYW5kIGxpc3RpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIGV4cG9zZWQgdG8gdGhlIHJ1bnRpbWUuXG4gKi9cblxuY29uc3QgRW52RmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmNvcmUuRW52RmFjYWRlXCIpO1xuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgYSBtYXAgb2YgZW52aXJvbm1lbnQgdmFyaWFibGUgbmFtZXMgdG8gdGhlaXIgc3RyaW5nIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnZWYWx1ZXMge1xuXHRba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBFbnYge1xuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIHZhbHVlIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZS5cblx0ICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlLlxuXHQgKiBAcmV0dXJucyBUaGUgdmFyaWFibGUncyB2YWx1ZSBhcyBhIHN0cmluZywgb3IgYHVuZGVmaW5lZGAgaWYgdGhlIHZhcmlhYmxlIGlzIG5vdCBzZXQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHZhbHVlID0gRW52RmFjYWRlLmdldChuYW1lKTtcblx0XHRyZXR1cm4gdmFsdWUgPz8gdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIG1hcCBvZiBhbGwgZW52aXJvbm1lbnQgdmFyaWFibGVzIGN1cnJlbnRseSBleHBvc2VkIHRvIHRoZSBhcHBsaWNhdGlvbi5cblx0ICogQHJldHVybnMgQW4ge0BsaW5rIEVudlZhbHVlc30gb2JqZWN0IGNvbnRhaW5pbmcgYWxsIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcyBrZXktdmFsdWUgcGFpcnMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGxpc3QoKTogRW52VmFsdWVzIHtcblx0XHRyZXR1cm4gSlNPTi5wYXJzZShFbnZGYWNhZGUubGlzdCgpKTtcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IEVudjtcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQSxNQUFNLFlBQVksS0FBSyxLQUFLLHFEQUFxRDtBQVMxRSxNQUFNLElBQUk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPaEIsT0FBYyxJQUFJLE1BQWtDO0FBQ25ELFVBQU0sUUFBUSxVQUFVLElBQUksSUFBSTtBQUNoQyxXQUFPLFNBQVM7QUFBQSxFQUNqQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLE9BQWtCO0FBQy9CLFdBQU8sS0FBSyxNQUFNLFVBQVUsS0FBSyxDQUFDO0FBQUEsRUFDbkM7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
45
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvZW52LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgY29yZS9lbnZcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9jb3JlXG4gKiBAbmFtZSBFbnZcbiAqIEBkZXNjcmlwdGlvblxuICogXG4gKiBUaGUgYEVudmAgbW9kdWxlIHByb3ZpZGVzIGEgc3RhdGljIGludGVyZmFjZSBmb3IgYWNjZXNzaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyBleHBvc2VkIHRvIHRoZSBydW50aW1lLiBJdCBhbGxvd3MgeW91IHRvIHJldHJpZXZlIGluZGl2aWR1YWwgZW52aXJvbm1lbnQgdmFyaWFibGUgdmFsdWVzIGJ5IG5hbWUsIGFzIHdlbGwgYXMgbGlzdCBhbGwgYXZhaWxhYmxlIGVudmlyb25tZW50IHZhcmlhYmxlcyBpbiBhIHN0cnVjdHVyZWQgZm9ybWF0LlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzXG4gKiAtICoqU2ltcGxlIEFjY2VzcyoqOiBSZXRyaWV2ZSBlbnZpcm9ubWVudCB2YXJpYWJsZSB2YWx1ZXMgdXNpbmcgYSBzdHJhaWdodGZvcndhcmQgYGdldGAgbWV0aG9kLlxuICogLSAqKkNvbXByZWhlbnNpdmUgTGlzdGluZyoqOiBPYnRhaW4gYSBjb21wbGV0ZSBtYXAgb2YgYWxsIGVudmlyb25tZW50IHZhcmlhYmxlcyB1c2luZyB0aGUgYGxpc3RgIG1ldGhvZCwgd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgd2l0aCBrZXktdmFsdWUgcGFpcnMuXG4gKiAtICoqVHlwZSBTYWZldHkqKjogVGhlIGBnZXRgIG1ldGhvZCByZXR1cm5zIGB1bmRlZmluZWRgIGlmIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQsIGFsbG93aW5nIGZvciBzYWZlIGhhbmRsaW5nIG9mIG1pc3NpbmcgdmFyaWFibGVzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzXG4gKiAtIEFjY2Vzc2luZyBjb25maWd1cmF0aW9uIHNldHRpbmdzIHRoYXQgYXJlIHByb3ZpZGVkIHRocm91Z2ggZW52aXJvbm1lbnQgdmFyaWFibGVzLCBzdWNoIGFzIEFQSSBrZXlzLCBkYXRhYmFzZSBjb25uZWN0aW9uIHN0cmluZ3MsIG9yIGZlYXR1cmUgZmxhZ3MuXG4gKiAtIExpc3RpbmcgYWxsIGF2YWlsYWJsZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIGRlYnVnZ2luZyBwdXJwb3NlcyBvciB0byBkeW5hbWljYWxseSBhZGp1c3QgYXBwbGljYXRpb24gYmVoYXZpb3IgYmFzZWQgb24gdGhlIHJ1bnRpbWUgZW52aXJvbm1lbnQuXG4gKiAtIEludGVncmF0aW5nIHdpdGggZXh0ZXJuYWwgc2VydmljZXMgdGhhdCByZXF1aXJlIGVudmlyb25tZW50IHZhcmlhYmxlIGNvbmZpZ3VyYXRpb24sIGVuc3VyaW5nIHRoYXQgc2Vuc2l0aXZlIGluZm9ybWF0aW9uIGlzIG5vdCBoYXJkY29kZWQgaW4gdGhlIGFwcGxpY2F0aW9uIGNvZGUuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgRW52IH0gZnJvbSBcIkBhZXJva2l0L3Nkay9jb3JlXCI7XG4gKiBcbiAqIC8vIEdldCBhIHNwZWNpZmljIGVudmlyb25tZW50IHZhcmlhYmxlXG4gKiBjb25zdCBhcGlLZXkgPSBFbnYuZ2V0KFwiQVBJX0tFWVwiKTtcbiAqIGNvbnNvbGUubG9nKGFwaUtleSk7IC8vIE91dHB1dDogXCJ5b3VyLWFwaS1rZXlcIiBvciB1bmRlZmluZWQgaWYgbm90IHNldFxuICogXG4gKiAvLyBMaXN0IGFsbCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiAqIGNvbnN0IGVudlZhcnMgPSBFbnYubGlzdCgpO1xuICogY29uc29sZS5sb2coZW52VmFycyk7IC8vIE91dHB1dDogeyBBUElfS0VZOiBcInlvdXItYXBpLWtleVwiLCBOT0RFX0VOVjogXCJwcm9kdWN0aW9uXCIsIC4uLiB9XG4gKiBgYGBcbiAqL1xuXG5jb25zdCBFbnZGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuY29yZS5FbnZGYWNhZGVcIik7XG5cbi8qKlxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyBhIG1hcCBvZiBlbnZpcm9ubWVudCB2YXJpYWJsZSBuYW1lcyB0byB0aGVpciBzdHJpbmcgdmFsdWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVudlZhbHVlcyB7XG5cdFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEVudiB7XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgdmFsdWUgb2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lLlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUuXG5cdCAqIEByZXR1cm5zIFRoZSB2YXJpYWJsZSdzIHZhbHVlIGFzIGEgc3RyaW5nLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgdmFyaWFibGUgaXMgbm90IHNldC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0KG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgdmFsdWUgPSBFbnZGYWNhZGUuZ2V0KG5hbWUpO1xuXHRcdHJldHVybiB2YWx1ZSA/PyB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgbWFwIG9mIGFsbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgY3VycmVudGx5IGV4cG9zZWQgdG8gdGhlIGFwcGxpY2F0aW9uLlxuXHQgKiBAcmV0dXJucyBBbiB7QGxpbmsgRW52VmFsdWVzfSBvYmplY3QgY29udGFpbmluZyBhbGwgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFzIGtleS12YWx1ZSBwYWlycy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgbGlzdCgpOiBFbnZWYWx1ZXMge1xuXHRcdHJldHVybiBKU09OLnBhcnNlKEVudkZhY2FkZS5saXN0KCkpO1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gRW52O1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdDQSxNQUFNLFlBQVksS0FBSyxLQUFLLHFEQUFxRDtBQVMxRSxNQUFNLElBQUk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPaEIsT0FBYyxJQUFJLE1BQWtDO0FBQ25ELFVBQU0sUUFBUSxVQUFVLElBQUksSUFBSTtBQUNoQyxXQUFPLFNBQVM7QUFBQSxFQUNqQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLE9BQWtCO0FBQy9CLFdBQU8sS0FBSyxNQUFNLFVBQVUsS0FBSyxDQUFDO0FBQUEsRUFDbkM7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -51,4 +51,4 @@ class Globals {
51
51
  if (typeof module !== "undefined") {
52
52
  module.exports = Globals;
53
53
  }
54
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvZ2xvYmFscy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBBUEkgR2xvYmFsc1xuICogKiBQcm92aWRlcyBhIHN0YXRpYyBpbnRlcmZhY2UgZm9yIGFjY2Vzc2luZyBhbmQgbWFuaXB1bGF0aW5nIGdsb2JhbCBhcHBsaWNhdGlvbiB2YXJpYWJsZXMsIHR5cGljYWxseSBiYWNrZWQgYnkgYSBjZW50cmFsIGNvbmZpZ3VyYXRpb24gb3IgcmVnaXN0cnkuXG4gKi9cblxuY29uc3QgR2xvYmFsc0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5jb3JlLkdsb2JhbHNGYWNhZGVcIik7XG5cbi8qKlxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyBhIG1hcCBvZiBnbG9iYWwgdmFyaWFibGUgbmFtZXMgdG8gdGhlaXIgc3RyaW5nIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHbG9iYWxzVmFsdWVzIHtcblx0W2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgR2xvYmFscyB7XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgdmFsdWUgb2YgdGhlIGdsb2JhbCB2YXJpYWJsZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZS5cblx0ICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGdsb2JhbCB2YXJpYWJsZS5cblx0ICogQHJldHVybnMgVGhlIHZhcmlhYmxlJ3MgdmFsdWUgYXMgYSBzdHJpbmcsIG9yIGB1bmRlZmluZWRgIGlmIHRoZSB2YXJpYWJsZSBpcyBub3Qgc2V0IG9yIGl0cyB2YWx1ZSBpcyBudWxsLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXQobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCB2YWx1ZSA9IEdsb2JhbHNGYWNhZGUuZ2V0KG5hbWUpO1xuXHRcdHJldHVybiB2YWx1ZSA/PyB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgdmFsdWUgb2YgYSBnbG9iYWwgdmFyaWFibGUuXG5cdCAqIElmIHRoZSB2YXJpYWJsZSBhbHJlYWR5IGV4aXN0cywgaXRzIHZhbHVlIGlzIG92ZXJ3cml0dGVuLlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgZ2xvYmFsIHZhcmlhYmxlLlxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldCAobXVzdCBiZSBhIHN0cmluZykuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHNldChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcblx0XHRHbG9iYWxzRmFjYWRlLnNldChuYW1lLCB2YWx1ZSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgbWFwIG9mIGFsbCBnbG9iYWwgdmFyaWFibGVzIGN1cnJlbnRseSBkZWZpbmVkIGluIHRoZSBhcHBsaWNhdGlvbi5cblx0ICogQHJldHVybnMgQSB7QGxpbmsgR2xvYmFsc1ZhbHVlc30gb2JqZWN0IGNvbnRhaW5pbmcgYWxsIGdsb2JhbCB2YXJpYWJsZXMgYXMga2V5LXZhbHVlIHBhaXJzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBsaXN0KCk6IEdsb2JhbHNWYWx1ZXMge1xuXHRcdHJldHVybiBKU09OLnBhcnNlKEdsb2JhbHNGYWNhZGUubGlzdCgpKTtcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IEdsb2JhbHM7XG59Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0EsTUFBTSxnQkFBZ0IsS0FBSyxLQUFLLHlEQUF5RDtBQVNsRixNQUFNLFFBQVE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPcEIsT0FBYyxJQUFJLE1BQWtDO0FBQ25ELFVBQU0sUUFBUSxjQUFjLElBQUksSUFBSTtBQUNwQyxXQUFPLFNBQVM7QUFBQSxFQUNqQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxJQUFJLE1BQWMsT0FBcUI7QUFDcEQsa0JBQWMsSUFBSSxNQUFNLEtBQUs7QUFBQSxFQUM5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLE9BQXNCO0FBQ25DLFdBQU8sS0FBSyxNQUFNLGNBQWMsS0FBSyxDQUFDO0FBQUEsRUFDdkM7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
54
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvZ2xvYmFscy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIGNvcmUvZ2xvYmFsc1xuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL2NvcmVcbiAqIEBuYW1lIEdsb2JhbHNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgR2xvYmFscyBBUEkgcHJvdmlkZXMgYSBzdGF0aWMgaW50ZXJmYWNlIGZvciBhY2Nlc3NpbmcgYW5kIG1hbmlwdWxhdGluZyBnbG9iYWwgYXBwbGljYXRpb24gdmFyaWFibGVzLCB0eXBpY2FsbHkgYmFja2VkIGJ5IGEgY2VudHJhbCBjb25maWd1cmF0aW9uIG9yIHJlZ2lzdHJ5LiBJdCBhbGxvd3MgY29tcG9uZW50cyBhbmQgbW9kdWxlcyB0byBzaGFyZSBnbG9iYWwgc3RhdGUgYWNyb3NzIHRoZSBlbnRpcmUgYXBwbGljYXRpb24gd2l0aG91dCBuZWVkaW5nIHRvIHBhc3MgdmFsdWVzIHRocm91Z2ggZnVuY3Rpb24gcGFyYW1ldGVycyBvciBjb21wb25lbnQgcHJvcHMuIFRoZSBHbG9iYWxzIEFQSSBpcyBkZXNpZ25lZCB0byBiZSBsaWdodHdlaWdodCBhbmQgZWFzeSB0byB1c2UsIG1ha2luZyBpdCBpZGVhbCBmb3IgbWFuYWdpbmcgZ2xvYmFsIHN0YXRlLCBjb25maWd1cmF0aW9uIHNldHRpbmdzLCBvciBhbnkgb3RoZXIgZGF0YSB0aGF0IG5lZWRzIHRvIGJlIGFjY2Vzc2libGUgdGhyb3VnaG91dCB0aGUgYXBwbGljYXRpb24uXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gKipHbG9iYWwgQWNjZXNzaWJpbGl0eSoqOiBWYWx1ZXMgc3RvcmVkIGluIHRoZSBnbG9iYWxzIGNhbiBiZSBhY2Nlc3NlZCBmcm9tIGFueXdoZXJlIGluIHRoZSBhcHBsaWNhdGlvbiwgZmFjaWxpdGF0aW5nIGRhdGEgc2hhcmluZyBhY3Jvc3MgY29tcG9uZW50cyBhbmQgbW9kdWxlcy5cbiAqIC0gKipTaW1wbGUgQVBJKio6IFRoZSBHbG9iYWxzIEFQSSBwcm92aWRlcyBzdHJhaWdodGZvcndhcmQgYGdldGAsIGBzZXRgLCBhbmQgYGxpc3RgIG1ldGhvZHMgZm9yIG1hbmFnaW5nIGdsb2JhbCB2YXJpYWJsZXMsIG1ha2luZyBpdCBlYXN5IHRvIHVzZSB3aXRob3V0IGNvbXBsZXggc2V0dXAuXG4gKiAtICoqRHluYW1pYyBTdG9yYWdlKio6IFRoZSBnbG9iYWxzIGNhbiBzdG9yZSBzdHJpbmcgdmFsdWVzLCBhbGxvd2luZyBmb3IgZmxleGlibGUgZGF0YSBtYW5hZ2VtZW50LlxuICogLSAqKk92ZXJ3cml0aW5nIFZhbHVlcyoqOiBTZXR0aW5nIGEgdmFsdWUgd2l0aCBhbiBleGlzdGluZyBuYW1lIHdpbGwgb3ZlcndyaXRlIHRoZSBwcmV2aW91cyB2YWx1ZSwgZW5hYmxpbmcgZHluYW1pYyB1cGRhdGVzIHRvIHRoZSBnbG9iYWxzIGFzIG5lZWRlZC5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBNYW5hZ2luZyBnbG9iYWwgY29uZmlndXJhdGlvbiBzZXR0aW5ncyB0aGF0IG5lZWQgdG8gYmUgYWNjZXNzZWQgYnkgbXVsdGlwbGUgY29tcG9uZW50cyBvciBtb2R1bGVzLlxuICogLSBTaGFyaW5nIHN0YXRlIG9yIGRhdGEgYWNyb3NzIGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgYXBwbGljYXRpb24gd2l0aG91dCBwcm9wIGRyaWxsaW5nIG9yIGNvbXBsZXggc3RhdGUgbWFuYWdlbWVudCBzb2x1dGlvbnMuXG4gKiAtIFN0b3JpbmcgcmVmZXJlbmNlcyB0byBzZXJ2aWNlcywgdXRpbGl0aWVzLCBvciBvdGhlciBzaGFyZWQgcmVzb3VyY2VzIHRoYXQgbmVlZCB0byBiZSBhY2Nlc3NpYmxlIHRocm91Z2hvdXQgdGhlIGFwcGxpY2F0aW9uLlxuICogLSBGYWNpbGl0YXRpbmcgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIGNvbXBvbmVudHMgdGhhdCBkbyBub3QgaGF2ZSBhIGRpcmVjdCBwYXJlbnQtY2hpbGQgcmVsYXRpb25zaGlwIGJ5IHVzaW5nIHRoZSBnbG9iYWxzIGFzIGEgc2hhcmVkIGRhdGEgc3RvcmUuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgR2xvYmFscyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvY29yZVwiO1xuICogXG4gKiAvLyBTZXQgYSB2YWx1ZSBpbiB0aGUgZ2xvYmFsc1xuICogR2xvYmFscy5zZXQoXCJhcGlFbmRwb2ludFwiLCBcImh0dHBzOi8vYXBpLmV4YW1wbGUuY29tXCIpO1xuICogXG4gKiAvLyBHZXQgYSB2YWx1ZSBmcm9tIHRoZSBnbG9iYWxzXG4gKiBjb25zdCBhcGlFbmRwb2ludCA9IEdsb2JhbHMuZ2V0KFwiYXBpRW5kcG9pbnRcIik7XG4gKiBjb25zb2xlLmxvZyhhcGlFbmRwb2ludCk7IC8vIE91dHB1dDogXCJodHRwczovL2FwaS5leGFtcGxlLmNvbVwiXG4gKiBcbiAqIC8vIExpc3QgYWxsIGdsb2JhbCB2YXJpYWJsZXNcbiAqIGNvbnN0IGdsb2JhbFZhcnMgPSBHbG9iYWxzLmxpc3QoKTtcbiAqIGNvbnNvbGUubG9nKGdsb2JhbFZhcnMpOyAvLyBPdXRwdXQ6IHsgYXBpRW5kcG9pbnQ6IFwiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb21cIiwgLi4uIH1cbiAqIGBgYFxuICovXG5cbmNvbnN0IEdsb2JhbHNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuY29yZS5HbG9iYWxzRmFjYWRlXCIpO1xuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgYSBtYXAgb2YgZ2xvYmFsIHZhcmlhYmxlIG5hbWVzIHRvIHRoZWlyIHN0cmluZyB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsc1ZhbHVlcyB7XG5cdFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEdsb2JhbHMge1xuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIHZhbHVlIG9mIHRoZSBnbG9iYWwgdmFyaWFibGUgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUuXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBnbG9iYWwgdmFyaWFibGUuXG5cdCAqIEByZXR1cm5zIFRoZSB2YXJpYWJsZSdzIHZhbHVlIGFzIGEgc3RyaW5nLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgdmFyaWFibGUgaXMgbm90IHNldCBvciBpdHMgdmFsdWUgaXMgbnVsbC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0KG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgdmFsdWUgPSBHbG9iYWxzRmFjYWRlLmdldChuYW1lKTtcblx0XHRyZXR1cm4gdmFsdWUgPz8gdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIHZhbHVlIG9mIGEgZ2xvYmFsIHZhcmlhYmxlLlxuXHQgKiBJZiB0aGUgdmFyaWFibGUgYWxyZWFkeSBleGlzdHMsIGl0cyB2YWx1ZSBpcyBvdmVyd3JpdHRlbi5cblx0ICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGdsb2JhbCB2YXJpYWJsZS5cblx0ICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQgKG11c3QgYmUgYSBzdHJpbmcpLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBzZXQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0R2xvYmFsc0ZhY2FkZS5zZXQobmFtZSwgdmFsdWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIG1hcCBvZiBhbGwgZ2xvYmFsIHZhcmlhYmxlcyBjdXJyZW50bHkgZGVmaW5lZCBpbiB0aGUgYXBwbGljYXRpb24uXG5cdCAqIEByZXR1cm5zIEEge0BsaW5rIEdsb2JhbHNWYWx1ZXN9IG9iamVjdCBjb250YWluaW5nIGFsbCBnbG9iYWwgdmFyaWFibGVzIGFzIGtleS12YWx1ZSBwYWlycy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgbGlzdCgpOiBHbG9iYWxzVmFsdWVzIHtcblx0XHRyZXR1cm4gSlNPTi5wYXJzZShHbG9iYWxzRmFjYWRlLmxpc3QoKSk7XG5cdH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBHbG9iYWxzO1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXFDQSxNQUFNLGdCQUFnQixLQUFLLEtBQUsseURBQXlEO0FBU2xGLE1BQU0sUUFBUTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9wQixPQUFjLElBQUksTUFBa0M7QUFDbkQsVUFBTSxRQUFRLGNBQWMsSUFBSSxJQUFJO0FBQ3BDLFdBQU8sU0FBUztBQUFBLEVBQ2pCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLElBQUksTUFBYyxPQUFxQjtBQUNwRCxrQkFBYyxJQUFJLE1BQU0sS0FBSztBQUFBLEVBQzlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsT0FBc0I7QUFDbkMsV0FBTyxLQUFLLE1BQU0sY0FBYyxLQUFLLENBQUM7QUFBQSxFQUN2QztBQUNEO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -32,4 +32,4 @@ __reExport(core_exports, require("./env"), module.exports);
32
32
  var import_env = require("./env");
33
33
  __reExport(core_exports, require("./globals"), module.exports);
34
34
  var import_globals = require("./globals");
35
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCJcbmV4cG9ydCB7IENvbmZpZ3VyYXRpb25zIGFzIGNvbmZpZ3VyYXRpb25zIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnNcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29udGV4dFwiO1xuZXhwb3J0IHsgQ29udGV4dCBhcyBjb250ZXh0IH0gZnJvbSBcIi4vY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW52XCI7XG5leHBvcnQgeyBFbnYgYXMgZW52IH0gZnJvbSBcIi4vZW52XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9nbG9iYWxzXCI7XG5leHBvcnQgeyBHbG9iYWxzIGFzIGdsb2JhbHMgfSBmcm9tIFwiLi9nbG9iYWxzXCI7Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHlCQUFjLDZCQUFkO0FBQ0EsNEJBQWlEO0FBQ2pELHlCQUFjLHNCQUZkO0FBR0EscUJBQW1DO0FBQ25DLHlCQUFjLGtCQUpkO0FBS0EsaUJBQTJCO0FBQzNCLHlCQUFjLHNCQU5kO0FBT0EscUJBQW1DOyIsCiAgIm5hbWVzIjogW10KfQo=
35
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBjb3JlL2luZGV4XG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvY29yZVxuICogQG92ZXJ2aWV3XG4gKiBcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGNvcmUgZnVuY3Rpb25hbGl0aWVzIGZvciB0aGUgQWVyb2tpdCBTREsuIEl0IGluY2x1ZGVzIGNsYXNzZXMgYW5kIG1ldGhvZHMgZm9yIG1hbmFnaW5nIGNvbmZpZ3VyYXRpb25zLCBjb250ZXh0LCBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIGFuZCBnbG9iYWwgdmFyaWFibGVzIHRoYXQgYXJlIGVzc2VudGlhbCBmb3IgdGhlIG9wZXJhdGlvbiBvZiB0aGUgU0RLLlxuICogXG4gKiBUaGUgbWFpbiBjb21wb25lbnRzIG9mIHRoaXMgbW9kdWxlIGFyZTpcbiAqIC0gQ29uZmlndXJhdGlvbnM6IE1hbmFnZXMgdGhlIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIHRoZSBTREssIGFsbG93aW5nIGZvciByZXRyaWV2YWwgYW5kIG1hbmFnZW1lbnQgb2YgY29uZmlndXJhdGlvbiB2YWx1ZXMuXG4gKiAtIENvbnRleHQ6IFByb3ZpZGVzIGEgY29udGV4dCBmb3IgdGhlIGV4ZWN1dGlvbiBvZiBTREsgb3BlcmF0aW9ucywgYWxsb3dpbmcgZm9yIHRoZSBzdG9yYWdlIGFuZCByZXRyaWV2YWwgb2YgY29udGV4dHVhbCBpbmZvcm1hdGlvbi5cbiAqIC0gRW52OiBIYW5kbGVzIGVudmlyb25tZW50IHZhcmlhYmxlcywgcHJvdmlkaW5nIG1ldGhvZHMgdG8gYWNjZXNzIGFuZCBtYW5hZ2UgZW52aXJvbm1lbnQtc3BlY2lmaWMgc2V0dGluZ3MuXG4gKiAtIEdsb2JhbHM6IE1hbmFnZXMgZ2xvYmFsIHZhcmlhYmxlcyB0aGF0IGNhbiBiZSBhY2Nlc3NlZCB0aHJvdWdob3V0IHRoZSBTREssIGFsbG93aW5nIGZvciBzaGFyZWQgc3RhdGUgYW5kIGluZm9ybWF0aW9uIGFjcm9zcyBkaWZmZXJlbnQgbW9kdWxlcy5cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiXG5leHBvcnQgeyBDb25maWd1cmF0aW9ucyBhcyBjb25maWd1cmF0aW9ucyB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnRleHRcIjtcbmV4cG9ydCB7IENvbnRleHQgYXMgY29udGV4dCB9IGZyb20gXCIuL2NvbnRleHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudlwiO1xuZXhwb3J0IHsgRW52IGFzIGVudiB9IGZyb20gXCIuL2VudlwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ2xvYmFsc1wiO1xuZXhwb3J0IHsgR2xvYmFscyBhcyBnbG9iYWxzIH0gZnJvbSBcIi4vZ2xvYmFsc1wiOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFjQSx5QkFBYyw2QkFkZDtBQWVBLDRCQUFpRDtBQUNqRCx5QkFBYyxzQkFoQmQ7QUFpQkEscUJBQW1DO0FBQ25DLHlCQUFjLGtCQWxCZDtBQW1CQSxpQkFBMkI7QUFDM0IseUJBQWMsc0JBcEJkO0FBcUJBLHFCQUFtQzsiLAogICJuYW1lcyI6IFtdCn0K