payload 2.0.4 → 2.0.5

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 (53) hide show
  1. package/dist/admin/components/elements/DocumentControls/index.d.ts.map +1 -1
  2. package/dist/admin/components/elements/DocumentControls/index.js +5 -5
  3. package/dist/admin/components/elements/StepNav/index.d.ts.map +1 -1
  4. package/dist/admin/components/elements/StepNav/index.js +3 -3
  5. package/dist/admin/components/forms/field-types/RichText/types.d.ts +6 -6
  6. package/dist/admin/components/forms/field-types/RichText/types.d.ts.map +1 -1
  7. package/dist/admin/components/views/API/index.d.ts.map +1 -1
  8. package/dist/admin/components/views/API/index.js +3 -2
  9. package/dist/admin/components/views/Global/Default.d.ts.map +1 -1
  10. package/dist/admin/components/views/Global/Default.js +5 -2
  11. package/dist/admin/components/views/LivePreview/Context/context.d.ts +4 -1
  12. package/dist/admin/components/views/LivePreview/Context/context.d.ts.map +1 -1
  13. package/dist/admin/components/views/LivePreview/Context/context.js +2 -2
  14. package/dist/admin/components/views/LivePreview/Context/index.d.ts.map +1 -1
  15. package/dist/admin/components/views/LivePreview/Context/index.js +6 -7
  16. package/dist/admin/components/views/LivePreview/Device/index.d.ts.map +1 -1
  17. package/dist/admin/components/views/LivePreview/Device/index.js +57 -7
  18. package/dist/admin/components/views/LivePreview/DeviceContainer/index.d.ts.map +1 -1
  19. package/dist/admin/components/views/LivePreview/DeviceContainer/index.js +2 -3
  20. package/dist/admin/components/views/LivePreview/Preview/index.d.ts.map +1 -1
  21. package/dist/admin/components/views/LivePreview/Preview/index.js +3 -3
  22. package/dist/admin/components/views/LivePreview/index.d.ts.map +1 -1
  23. package/dist/admin/components/views/LivePreview/index.js +5 -4
  24. package/dist/admin/components/views/LivePreview/usePopupWindow.d.ts +1 -1
  25. package/dist/admin/components/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  26. package/dist/admin/components/views/LivePreview/usePopupWindow.js +19 -10
  27. package/dist/admin/components/views/Versions/Default.d.ts.map +1 -1
  28. package/dist/admin/components/views/Versions/Default.js +12 -102
  29. package/dist/admin/components/views/collections/Edit/SetStepNav.d.ts +2 -0
  30. package/dist/admin/components/views/collections/Edit/SetStepNav.d.ts.map +1 -1
  31. package/dist/admin/components/views/collections/Edit/SetStepNav.js +27 -12
  32. package/dist/collections/operations/delete.js +12 -12
  33. package/dist/collections/operations/deleteByID.js +12 -12
  34. package/dist/collections/operations/find.d.ts.map +1 -1
  35. package/dist/collections/operations/find.js +3 -2
  36. package/dist/collections/operations/updateByID.js +2 -2
  37. package/dist/config/types.d.ts +1 -1
  38. package/dist/config/types.d.ts.map +1 -1
  39. package/dist/config/types.js +1 -1
  40. package/dist/fields/config/types.d.ts +4 -3
  41. package/dist/fields/config/types.d.ts.map +1 -1
  42. package/dist/fields/config/types.js +1 -1
  43. package/dist/fields/validations.d.ts +2 -2
  44. package/dist/fields/validations.d.ts.map +1 -1
  45. package/dist/fields/validations.js +1 -1
  46. package/dist/translations/bg.json +9 -9
  47. package/dist/translations/de.json +2 -2
  48. package/dist/translations/ru.json +2 -2
  49. package/dist/translations/ua.json +2 -2
  50. package/dist/versions/drafts/getQueryDraftsSort.d.ts +6 -0
  51. package/dist/versions/drafts/getQueryDraftsSort.d.ts.map +1 -0
  52. package/dist/versions/drafts/getQueryDraftsSort.js +25 -0
  53. package/package.json +3 -3
@@ -89,4 +89,4 @@ function fieldIsLocalized(field) {
89
89
  return 'localized' in field && field.localized;
90
90
  }
91
91
 
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEVkaXRvclByb3BzIH0gZnJvbSAnQG1vbmFjby1lZGl0b3IvcmVhY3QnXG5pbXBvcnQgdHlwZSB7IFRGdW5jdGlvbiB9IGZyb20gJ2kxOG5leHQnXG5pbXBvcnQgdHlwZSB7IENTU1Byb3BlcnRpZXMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IG1vbmFjb2VkaXRvciBmcm9tICdtb25hY28tZWRpdG9yJyAvLyBJTVBPUlRBTlQgLSBETyBOT1QgUkVNT1ZFOiBUaGlzIGlzIHJlcXVpcmVkIGZvciBwbnBtJ3MgZGVmYXVsdCBpc29sYXRlZCBtb2RlIHRvIHdvcmsgLSBldmVuIHRob3VnaCB0aGUgaW1wb3J0IGlzIG5vdCB1c2VkLiBUaGlzIGlzIGR1ZSB0byBhIHR5cGVzY3JpcHQgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzQ3NjYzI2lzc3VlY29tbWVudC0xNTE5MTM4MTg5LiAodHNidWdpc29sYXRlZG1vZGUpXG5pbXBvcnQgdHlwZSB7IENvbmRpdGlvbmFsRGF0ZVByb3BzIH0gZnJvbSAnLi4vLi4vYWRtaW4vY29tcG9uZW50cy9lbGVtZW50cy9EYXRlUGlja2VyL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEZXNjcmlwdGlvbiB9IGZyb20gJy4uLy4uL2FkbWluL2NvbXBvbmVudHMvZm9ybXMvRmllbGREZXNjcmlwdGlvbi90eXBlcydcbmltcG9ydCB0eXBlIHsgUm93TGFiZWwgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL1Jvd0xhYmVsL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JpY2hUZXh0L3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi4vLi4vYXV0aCdcbmltcG9ydCB0eXBlIHsgVHlwZVdpdGhJRCB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCwgUmVxdWVzdENvbnRleHQgfSBmcm9tICcuLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4vcGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgT3BlcmF0aW9uLCBXaGVyZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBGaWVsZEhvb2tBcmdzPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55LCBQID0gYW55LCBTID0gYW55PiA9IHtcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbiAgLyoqIFRoZSBkYXRhIHBhc3NlZCB0byB1cGRhdGUgdGhlIGRvY3VtZW50IHdpdGhpbiBjcmVhdGUgYW5kIHVwZGF0ZSBvcGVyYXRpb25zLCBhbmQgdGhlIGZ1bGwgZG9jdW1lbnQgaXRzZWxmIGluIHRoZSBhZnRlclJlYWQgaG9vay4gKi9cbiAgZGF0YT86IFBhcnRpYWw8VD5cbiAgLyoqIEJvb2xlYW4gdG8gZGVub3RlIGlmIHRoaXMgaG9vayBpcyBydW5uaW5nIGFnYWluc3QgZmluZGluZyBvbmUsIG9yIGZpbmRpbmcgbWFueSB3aXRoaW4gdGhlIGFmdGVyUmVhZCBob29rLiAqL1xuICBmaW5kTWFueT86IGJvb2xlYW5cbiAgLyoqIEEgc3RyaW5nIHJlbGF0aW5nIHRvIHdoaWNoIG9wZXJhdGlvbiB0aGUgZmllbGQgdHlwZSBpcyBjdXJyZW50bHkgZXhlY3V0aW5nIHdpdGhpbi4gVXNlZnVsIHdpdGhpbiBiZWZvcmVWYWxpZGF0ZSwgYmVmb3JlQ2hhbmdlLCBhbmQgYWZ0ZXJDaGFuZ2UgaG9va3MgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGNyZWF0ZSBhbmQgdXBkYXRlIG9wZXJhdGlvbnMuICovXG4gIG9wZXJhdGlvbj86ICdjcmVhdGUnIHwgJ2RlbGV0ZScgfCAncmVhZCcgfCAndXBkYXRlJ1xuICAvKiogVGhlIGZ1bGwgb3JpZ2luYWwgZG9jdW1lbnQgaW4gYHVwZGF0ZWAgb3BlcmF0aW9ucy4gSW4gdGhlIGBhZnRlckNoYW5nZWAgaG9vaywgdGhpcyBpcyB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IG9mIHRoZSBvcGVyYXRpb24uICovXG4gIG9yaWdpbmFsRG9jPzogVFxuICAvKiogVGhlIGRvY3VtZW50IGJlZm9yZSBjaGFuZ2VzIHdlcmUgYXBwbGllZCwgb25seSBpbiBgYWZ0ZXJDaGFuZ2VgIGhvb2tzLiAqL1xuICBwcmV2aW91c0RvYz86IFRcbiAgLyoqIFRoZSBzaWJsaW5nIGRhdGEgZnJvbSB0aGUgcHJldmlvdXMgZG9jdW1lbnQgaW4gYGFmdGVyQ2hhbmdlYCBob29rLiAqL1xuICBwcmV2aW91c1NpYmxpbmdEb2M/OiBUXG4gIHByZXZpb3VzVmFsdWU/OiBQXG4gIC8qKiBUaGUgRXhwcmVzcyByZXF1ZXN0IG9iamVjdC4gSXQgaXMgbW9ja2VkIGZvciBMb2NhbCBBUEkgb3BlcmF0aW9ucy4gKi9cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAvKiogVGhlIHNpYmxpbmcgZGF0YSBwYXNzZWQgdG8gYSBmaWVsZCB0aGF0IHRoZSBob29rIGlzIHJ1bm5pbmcgYWdhaW5zdC4gKi9cbiAgc2libGluZ0RhdGE6IFBhcnRpYWw8Uz5cbiAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQuICovXG4gIHZhbHVlPzogUFxufVxuXG5leHBvcnQgdHlwZSBGaWVsZEhvb2s8VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksIFAgPSBhbnksIFMgPSBhbnk+ID0gKFxuICBhcmdzOiBGaWVsZEhvb2tBcmdzPFQsIFAsIFM+LFxuKSA9PiBQIHwgUHJvbWlzZTxQPlxuXG5leHBvcnQgdHlwZSBGaWVsZEFjY2VzczxUIGV4dGVuZHMgVHlwZVdpdGhJRCA9IGFueSwgUCA9IGFueSwgVSA9IGFueT4gPSAoYXJnczoge1xuICBkYXRhPzogUGFydGlhbDxUPlxuICBkb2M/OiBUXG4gIGlkPzogbnVtYmVyIHwgc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Q8VT5cbiAgc2libGluZ0RhdGE/OiBQYXJ0aWFsPFA+XG59KSA9PiBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhblxuXG5leHBvcnQgdHlwZSBDb25kaXRpb248VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksIFAgPSBhbnk+ID0gKFxuICBkYXRhOiBQYXJ0aWFsPFQ+LFxuICBzaWJsaW5nRGF0YTogUGFydGlhbDxQPixcbiAgeyB1c2VyIH06IHsgdXNlcjogVXNlciB9LFxuKSA9PiBib29sZWFuXG5cbmV4cG9ydCB0eXBlIEZpbHRlck9wdGlvbnNQcm9wczxUID0gYW55PiA9IHtcbiAgZGF0YTogVFxuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIHJlbGF0aW9uVG86IHN0cmluZ1xuICBzaWJsaW5nRGF0YTogdW5rbm93blxuICB1c2VyOiBQYXJ0aWFsPFVzZXI+XG59XG5cbmV4cG9ydCB0eXBlIEZpbHRlck9wdGlvbnM8VCA9IGFueT4gPVxuICB8ICgob3B0aW9uczogRmlsdGVyT3B0aW9uc1Byb3BzPFQ+KSA9PiBQcm9taXNlPFdoZXJlPiB8IFdoZXJlKVxuICB8IFdoZXJlXG5cbnR5cGUgQWRtaW4gPSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjb21wb25lbnRzPzoge1xuICAgIENlbGw/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICBGaWVsZD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgIEZpbHRlcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICB9XG4gIGNvbmRpdGlvbj86IENvbmRpdGlvblxuICBkZXNjcmlwdGlvbj86IERlc2NyaXB0aW9uXG4gIGRpc2FibGVCdWxrRWRpdD86IGJvb2xlYW5cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGhpZGRlbj86IGJvb2xlYW5cbiAgcG9zaXRpb24/OiAnc2lkZWJhcidcbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIHN0eWxlPzogQ1NTUHJvcGVydGllc1xuICB3aWR0aD86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBMYWJlbHMgPSB7XG4gIHBsdXJhbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICBzaW5ndWxhcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBWYWxpZGF0ZU9wdGlvbnM8VERhdGEsIFRTaWJsaW5nRGF0YSwgVEZpZWxkQ29uZmlnPiA9IHtcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgZGF0YTogUGFydGlhbDxURGF0YT5cbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgb3BlcmF0aW9uPzogT3BlcmF0aW9uXG4gIHBheWxvYWQ/OiBQYXlsb2FkXG4gIHNpYmxpbmdEYXRhOiBQYXJ0aWFsPFRTaWJsaW5nRGF0YT5cbiAgdDogVEZ1bmN0aW9uXG4gIHVzZXI/OiBQYXJ0aWFsPFVzZXI+XG59ICYgVEZpZWxkQ29uZmlnXG5cbi8vIFRPRE86IEhhdmluZyBURmllbGRDb25maWcgYXMgYW55IGJyZWFrcyBhbGwgdHlwZSBjaGVja2luZyAvIGF1dG8tY29tcGxldGlvbnMgZm9yIHRoZSBiYXNlIFZhbGlkYXRlT3B0aW9ucyBwcm9wZXJ0aWVzLlxuZXhwb3J0IHR5cGUgVmFsaWRhdGU8VFZhbHVlID0gYW55LCBURGF0YSA9IGFueSwgVFNpYmxpbmdEYXRhID0gYW55LCBURmllbGRDb25maWcgPSBhbnk+ID0gKFxuICB2YWx1ZTogVFZhbHVlLFxuICBvcHRpb25zOiBWYWxpZGF0ZU9wdGlvbnM8VERhdGEsIFRTaWJsaW5nRGF0YSwgVEZpZWxkQ29uZmlnPixcbikgPT4gUHJvbWlzZTxzdHJpbmcgfCB0cnVlPiB8IHN0cmluZyB8IHRydWVcblxuZXhwb3J0IHR5cGUgT3B0aW9uT2JqZWN0ID0ge1xuICBsYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICB2YWx1ZTogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIE9wdGlvbiA9IE9wdGlvbk9iamVjdCB8IHN0cmluZ1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkQmFzZSB7XG4gIGFjY2Vzcz86IHtcbiAgICBjcmVhdGU/OiBGaWVsZEFjY2Vzc1xuICAgIHJlYWQ/OiBGaWVsZEFjY2Vzc1xuICAgIHVwZGF0ZT86IEZpZWxkQWNjZXNzXG4gIH1cbiAgYWRtaW4/OiBBZG1pblxuICAvKiogRXh0ZW5zaW9uIHBvaW50IHRvIGFkZCB5b3VyIGN1c3RvbSBkYXRhLiAqL1xuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIGRlZmF1bHRWYWx1ZT86IGFueVxuICBoaWRkZW4/OiBib29sZWFuXG4gIGhvb2tzPzoge1xuICAgIGFmdGVyQ2hhbmdlPzogRmllbGRIb29rW11cbiAgICBhZnRlclJlYWQ/OiBGaWVsZEhvb2tbXVxuICAgIGJlZm9yZUNoYW5nZT86IEZpZWxkSG9va1tdXG4gICAgYmVmb3JlVmFsaWRhdGU/OiBGaWVsZEhvb2tbXVxuICB9XG4gIGluZGV4PzogYm9vbGVhblxuICBsYWJlbD86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBmYWxzZSB8IHN0cmluZ1xuICBsb2NhbGl6ZWQ/OiBib29sZWFuXG4gIG5hbWU6IHN0cmluZ1xuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgc2F2ZVRvSldUPzogYm9vbGVhbiB8IHN0cmluZ1xuICB1bmlxdWU/OiBib29sZWFuXG4gIHZhbGlkYXRlPzogVmFsaWRhdGVcbn1cblxuZXhwb3J0IHR5cGUgTnVtYmVyRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgLyoqIFNldCB0aGlzIHByb3BlcnR5IHRvIGEgc3RyaW5nIHRoYXQgd2lsbCBiZSB1c2VkIGZvciBicm93c2VyIGF1dG9jb21wbGV0ZS4gKi9cbiAgICBhdXRvQ29tcGxldGU/OiBzdHJpbmdcbiAgICAvKiogU2V0IHRoaXMgcHJvcGVydHkgdG8gZGVmaW5lIGEgcGxhY2Vob2xkZXIgc3RyaW5nIGZvciB0aGUgZmllbGQuICovXG4gICAgcGxhY2Vob2xkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gICAgLyoqIFNldCBhIHZhbHVlIGZvciB0aGUgbnVtYmVyIGZpZWxkIHRvIGluY3JlbWVudCAvIGRlY3JlbWVudCB1c2luZyBicm93c2VyIGNvbnRyb2xzLiAqL1xuICAgIHN0ZXA/OiBudW1iZXJcbiAgfVxuICAvKiogTWF4aW11bSB2YWx1ZSBhY2NlcHRlZC4gVXNlZCBpbiB0aGUgZGVmYXVsdCBgdmFsaWRhdGlvbmAgZnVuY3Rpb24uICovXG4gIG1heD86IG51bWJlclxuICAvKiogTWluaW11bSB2YWx1ZSBhY2NlcHRlZC4gVXNlZCBpbiB0aGUgZGVmYXVsdCBgdmFsaWRhdGlvbmAgZnVuY3Rpb24uICovXG4gIG1pbj86IG51bWJlclxuICB0eXBlOiAnbnVtYmVyJ1xufSAmIChcbiAgICB8IHtcbiAgICAgICAgLyoqIE1ha2VzIHRoaXMgZmllbGQgYW4gb3JkZXJlZCBhcnJheSBvZiBudW1iZXJzIGluc3RlYWQgb2YganVzdCBhIHNpbmdsZSBudW1iZXIuICovXG4gICAgICAgIGhhc01hbnk6IHRydWVcbiAgICAgICAgLyoqIE1heGltdW0gbnVtYmVyIG9mIG51bWJlcnMgaW4gdGhlIG51bWJlcnMgYXJyYXksIGlmIGBoYXNNYW55YCBpcyBzZXQgdG8gdHJ1ZS4gKi9cbiAgICAgICAgbWF4Um93cz86IG51bWJlclxuICAgICAgICAvKiogTWluaW11bSBudW1iZXIgb2YgbnVtYmVycyBpbiB0aGUgbnVtYmVycyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtaW5Sb3dzPzogbnVtYmVyXG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIC8qKiBNYWtlcyB0aGlzIGZpZWxkIGFuIG9yZGVyZWQgYXJyYXkgb2YgbnVtYmVycyBpbnN0ZWFkIG9mIGp1c3QgYSBzaW5nbGUgbnVtYmVyLiAqL1xuICAgICAgICBoYXNNYW55PzogZmFsc2UgfCB1bmRlZmluZWRcbiAgICAgICAgLyoqIE1heGltdW0gbnVtYmVyIG9mIG51bWJlcnMgaW4gdGhlIG51bWJlcnMgYXJyYXksIGlmIGBoYXNNYW55YCBpcyBzZXQgdG8gdHJ1ZS4gKi9cbiAgICAgICAgbWF4Um93cz86IHVuZGVmaW5lZFxuICAgICAgICAvKiogTWluaW11bSBudW1iZXIgb2YgbnVtYmVycyBpbiB0aGUgbnVtYmVycyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtaW5Sb3dzPzogdW5kZWZpbmVkXG4gICAgICB9XG4gIClcblxuZXhwb3J0IHR5cGUgVGV4dEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICAgIHJ0bD86IGJvb2xlYW5cbiAgfVxuICBtYXhMZW5ndGg/OiBudW1iZXJcbiAgbWluTGVuZ3RoPzogbnVtYmVyXG4gIHR5cGU6ICd0ZXh0J1xufVxuXG5leHBvcnQgdHlwZSBFbWFpbEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICB9XG4gIHR5cGU6ICdlbWFpbCdcbn1cblxuZXhwb3J0IHR5cGUgVGV4dGFyZWFGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBwbGFjZWhvbGRlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgICByb3dzPzogbnVtYmVyXG4gICAgcnRsPzogYm9vbGVhblxuICB9XG4gIG1heExlbmd0aD86IG51bWJlclxuICBtaW5MZW5ndGg/OiBudW1iZXJcbiAgdHlwZTogJ3RleHRhcmVhJ1xufVxuXG5leHBvcnQgdHlwZSBDaGVja2JveEZpZWxkID0gRmllbGRCYXNlICYge1xuICB0eXBlOiAnY2hlY2tib3gnXG59XG5cbmV4cG9ydCB0eXBlIERhdGVGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBkYXRlPzogQ29uZGl0aW9uYWxEYXRlUHJvcHNcbiAgICBwbGFjZWhvbGRlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgfVxuICB0eXBlOiAnZGF0ZSdcbn1cblxuZXhwb3J0IHR5cGUgR3JvdXBGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAncmVxdWlyZWQnIHwgJ3ZhbGlkYXRpb24nPiAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBoaWRlR3V0dGVyPzogYm9vbGVhblxuICB9XG4gIGZpZWxkczogRmllbGRbXVxuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogQnkgZGVmYXVsdCBpdCBpcyBib3VuZCB0byB0aGUgY29sbGVjdGlvbi5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdvdWxkIGxpa2UgdG8gZ2VuZXJhdGUgYSB0b3AgbGV2ZWwgdHlwZSB0byBzaGFyZSBhbW9uZ3N0IGNvbGxlY3Rpb25zL2ZpZWxkcy5cbiAgICogKipOb3RlKio6IFRvcCBsZXZlbCB0eXBlcyBjYW4gY29sbGlkZSwgZW5zdXJlIHRoZXkgYXJlIHVuaXF1ZSBhbW9uZyBjb2xsZWN0aW9ucywgYXJyYXlzLCBncm91cHMsIGJsb2NrcywgdGFicy5cbiAgICovXG4gIGludGVyZmFjZU5hbWU/OiBzdHJpbmdcbiAgdHlwZTogJ2dyb3VwJ1xufVxuXG5leHBvcnQgdHlwZSBSb3dBZG1pbiA9IE9taXQ8QWRtaW4sICdkZXNjcmlwdGlvbic+XG5cbmV4cG9ydCB0eXBlIFJvd0ZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdhZG1pbicgfCAnbGFiZWwnIHwgJ25hbWUnPiAmIHtcbiAgYWRtaW4/OiBSb3dBZG1pblxuICBmaWVsZHM6IEZpZWxkW11cbiAgdHlwZTogJ3Jvdydcbn1cblxuZXhwb3J0IHR5cGUgQ29sbGFwc2libGVGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnbGFiZWwnIHwgJ25hbWUnPiAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBpbml0Q29sbGFwc2VkPzogYm9vbGVhbiB8IGZhbHNlXG4gIH1cbiAgZmllbGRzOiBGaWVsZFtdXG4gIGxhYmVsOiBSb3dMYWJlbFxuICB0eXBlOiAnY29sbGFwc2libGUnXG59XG5cbmV4cG9ydCB0eXBlIFRhYnNBZG1pbiA9IE9taXQ8QWRtaW4sICdkZXNjcmlwdGlvbic+XG5cbnR5cGUgVGFiQmFzZSA9IE9taXQ8RmllbGRCYXNlLCAncmVxdWlyZWQnIHwgJ3ZhbGlkYXRpb24nPiAmIHtcbiAgZGVzY3JpcHRpb24/OiBEZXNjcmlwdGlvblxuICBmaWVsZHM6IEZpZWxkW11cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xuICBzYXZlVG9KV1Q/OiBib29sZWFuIHwgc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIE5hbWVkVGFiID0gVGFiQmFzZSAmIHtcbiAgLyoqIEN1c3RvbWl6ZSBnZW5lcmF0ZWQgR3JhcGhRTCBhbmQgVHlwZXNjcmlwdCBzY2hlbWEgbmFtZXMuXG4gICAqIFRoZSBzbHVnIGlzIHVzZWQgYnkgZGVmYXVsdC5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdvdWxkIGxpa2UgdG8gZ2VuZXJhdGUgYSB0b3AgbGV2ZWwgdHlwZSB0byBzaGFyZSBhbW9uZ3N0IGNvbGxlY3Rpb25zL2ZpZWxkcy5cbiAgICogKipOb3RlKio6IFRvcCBsZXZlbCB0eXBlcyBjYW4gY29sbGlkZSwgZW5zdXJlIHRoZXkgYXJlIHVuaXF1ZSBhbW9uZyBjb2xsZWN0aW9ucywgYXJyYXlzLCBncm91cHMsIGJsb2NrcywgdGFicy5cbiAgICovXG4gIGludGVyZmFjZU5hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgVW5uYW1lZFRhYiA9IE9taXQ8VGFiQmFzZSwgJ25hbWUnPiAmIHtcbiAgaW50ZXJmYWNlTmFtZT86IG5ldmVyXG4gIGxhYmVsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIGxvY2FsaXplZD86IG5ldmVyXG59XG5cbmV4cG9ydCB0eXBlIFRhYiA9IE5hbWVkVGFiIHwgVW5uYW1lZFRhYlxuXG5leHBvcnQgdHlwZSBUYWJzRmllbGQgPSBPbWl0PEZpZWxkQmFzZSwgJ2FkbWluJyB8ICdsb2NhbGl6ZWQnIHwgJ25hbWUnIHwgJ3NhdmVUb0pXVCc+ICYge1xuICBhZG1pbj86IFRhYnNBZG1pblxuICB0YWJzOiBUYWJbXVxuICB0eXBlOiAndGFicydcbn1cblxuZXhwb3J0IHR5cGUgVGFiQXNGaWVsZCA9IFRhYiAmIHtcbiAgbmFtZT86IHN0cmluZ1xuICB0eXBlOiAndGFiJ1xufVxuXG5leHBvcnQgdHlwZSBVSUZpZWxkID0ge1xuICBhZG1pbjoge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBDZWxsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgICBGaWVsZDogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgICBGaWx0ZXI/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICB9XG4gICAgY29uZGl0aW9uPzogQ29uZGl0aW9uXG4gICAgZGlzYWJsZUJ1bGtFZGl0PzogYm9vbGVhblxuICAgIHBvc2l0aW9uPzogc3RyaW5nXG4gICAgd2lkdGg/OiBzdHJpbmdcbiAgfVxuICAvKiogRXh0ZW5zaW9uIHBvaW50IHRvIGFkZCB5b3VyIGN1c3RvbSBkYXRhLiAqL1xuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIGxhYmVsPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgdHlwZTogJ3VpJ1xufVxuXG5leHBvcnQgdHlwZSBVcGxvYWRGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgZmlsdGVyT3B0aW9ucz86IEZpbHRlck9wdGlvbnNcbiAgbWF4RGVwdGg/OiBudW1iZXJcbiAgcmVsYXRpb25Ubzogc3RyaW5nXG4gIHR5cGU6ICd1cGxvYWQnXG59XG5cbnR5cGUgQ29kZUFkbWluID0gQWRtaW4gJiB7XG4gIGVkaXRvck9wdGlvbnM/OiBFZGl0b3JQcm9wc1snb3B0aW9ucyddXG4gIGxhbmd1YWdlPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENvZGVGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nPiAmIHtcbiAgYWRtaW4/OiBDb2RlQWRtaW5cbiAgbWF4TGVuZ3RoPzogbnVtYmVyXG4gIG1pbkxlbmd0aD86IG51bWJlclxuICB0eXBlOiAnY29kZSdcbn1cblxudHlwZSBKU09OQWRtaW4gPSBBZG1pbiAmIHtcbiAgZWRpdG9yT3B0aW9ucz86IEVkaXRvclByb3BzWydvcHRpb25zJ11cbn1cblxuZXhwb3J0IHR5cGUgSlNPTkZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdhZG1pbic+ICYge1xuICBhZG1pbj86IEpTT05BZG1pblxuICB0eXBlOiAnanNvbidcbn1cblxuZXhwb3J0IHR5cGUgU2VsZWN0RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgaXNDbGVhcmFibGU/OiBib29sZWFuXG4gICAgaXNTb3J0YWJsZT86IGJvb2xlYW5cbiAgfVxuICBoYXNNYW55PzogYm9vbGVhblxuICBvcHRpb25zOiBPcHRpb25bXVxuICB0eXBlOiAnc2VsZWN0J1xufVxuXG5leHBvcnQgdHlwZSBSZWxhdGlvbnNoaXBGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBhbGxvd0NyZWF0ZT86IGJvb2xlYW5cbiAgICBpc1NvcnRhYmxlPzogYm9vbGVhblxuICB9XG4gIGZpbHRlck9wdGlvbnM/OiBGaWx0ZXJPcHRpb25zXG4gIGhhc01hbnk/OiBib29sZWFuXG4gIG1heERlcHRoPzogbnVtYmVyXG4gIHJlbGF0aW9uVG86IHN0cmluZyB8IHN0cmluZ1tdXG4gIHR5cGU6ICdyZWxhdGlvbnNoaXAnXG59ICYgKFxuICAgIHwge1xuICAgICAgICBoYXNNYW55OiB0cnVlXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJ21heFJvd3MnIGluc3RlYWRcbiAgICAgICAgICovXG4gICAgICAgIG1heD86IG51bWJlclxuICAgICAgICBtYXhSb3dzPzogbnVtYmVyXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJ21pblJvd3MnIGluc3RlYWRcbiAgICAgICAgICovXG4gICAgICAgIG1pbj86IG51bWJlclxuICAgICAgICBtaW5Sb3dzPzogbnVtYmVyXG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIGhhc01hbnk/OiBmYWxzZSB8IHVuZGVmaW5lZFxuICAgICAgICAvKipcbiAgICAgICAgICogQGRlcHJlY2F0ZWQgVXNlICdtYXhSb3dzJyBpbnN0ZWFkXG4gICAgICAgICAqL1xuICAgICAgICBtYXg/OiB1bmRlZmluZWRcbiAgICAgICAgbWF4Um93cz86IHVuZGVmaW5lZFxuICAgICAgICAvKipcbiAgICAgICAgICogQGRlcHJlY2F0ZWQgVXNlICdtaW5Sb3dzJyBpbnN0ZWFkXG4gICAgICAgICAqL1xuICAgICAgICBtaW4/OiB1bmRlZmluZWRcbiAgICAgICAgbWluUm93cz86IHVuZGVmaW5lZFxuICAgICAgfVxuICApXG5cbmV4cG9ydCB0eXBlIFZhbHVlV2l0aFJlbGF0aW9uID0ge1xuICByZWxhdGlvblRvOiBzdHJpbmdcbiAgdmFsdWU6IG51bWJlciB8IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsdWVJc1ZhbHVlV2l0aFJlbGF0aW9uKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgVmFsdWVXaXRoUmVsYXRpb24ge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAncmVsYXRpb25UbycgaW4gdmFsdWUgJiYgJ3ZhbHVlJyBpbiB2YWx1ZVxufVxuXG5leHBvcnQgdHlwZSBSZWxhdGlvbnNoaXBWYWx1ZSA9XG4gIHwgKG51bWJlciB8IHN0cmluZylbXVxuICB8IFZhbHVlV2l0aFJlbGF0aW9uXG4gIHwgVmFsdWVXaXRoUmVsYXRpb25bXVxuICB8IChudW1iZXIgfCBzdHJpbmcpXG5cbmV4cG9ydCB0eXBlIFJpY2hUZXh0RmllbGQ8QWRhcHRlclByb3BzID0gb2JqZWN0PiA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pblxuICBlZGl0b3I/OiBSaWNoVGV4dEFkYXB0ZXI8QWRhcHRlclByb3BzPlxuICB0eXBlOiAncmljaFRleHQnXG59ICYgQWRhcHRlclByb3BzXG5cbmV4cG9ydCB0eXBlIEFycmF5RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIFJvd0xhYmVsPzogUm93TGFiZWxcbiAgICB9ICYgQWRtaW5bJ2NvbXBvbmVudHMnXVxuICAgIGluaXRDb2xsYXBzZWQ/OiBib29sZWFuIHwgZmFsc2VcbiAgfVxuICBmaWVsZHM6IEZpZWxkW11cbiAgLyoqIEN1c3RvbWl6ZSBnZW5lcmF0ZWQgR3JhcGhRTCBhbmQgVHlwZXNjcmlwdCBzY2hlbWEgbmFtZXMuXG4gICAqIEJ5IGRlZmF1bHQgaXQgaXMgYm91bmQgdG8gdGhlIGNvbGxlY3Rpb24uXG4gICAqXG4gICAqIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSB3b3VsZCBsaWtlIHRvIGdlbmVyYXRlIGEgdG9wIGxldmVsIHR5cGUgdG8gc2hhcmUgYW1vbmdzdCBjb2xsZWN0aW9ucy9maWVsZHMuXG4gICAqICoqTm90ZSoqOiBUb3AgbGV2ZWwgdHlwZXMgY2FuIGNvbGxpZGUsIGVuc3VyZSB0aGV5IGFyZSB1bmlxdWUgYW1vbmcgY29sbGVjdGlvbnMsIGFycmF5cywgZ3JvdXBzLCBibG9ja3MsIHRhYnMuXG4gICAqL1xuICBpbnRlcmZhY2VOYW1lPzogc3RyaW5nXG4gIGxhYmVscz86IExhYmVsc1xuICBtYXhSb3dzPzogbnVtYmVyXG4gIG1pblJvd3M/OiBudW1iZXJcbiAgdHlwZTogJ2FycmF5J1xufVxuXG5leHBvcnQgdHlwZSBSYWRpb0ZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGxheW91dD86ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCdcbiAgfVxuICBvcHRpb25zOiBPcHRpb25bXVxuICB0eXBlOiAncmFkaW8nXG59XG5cbmV4cG9ydCB0eXBlIEJsb2NrID0ge1xuICBmaWVsZHM6IEZpZWxkW11cbiAgLyoqIEBkZXByZWNhdGVkIC0gcGxlYXNlIG1pZ3JhdGUgdG8gdGhlIGludGVyZmFjZU5hbWUgcHJvcGVydHkgaW5zdGVhZC4gKi9cbiAgZ3JhcGhRTD86IHtcbiAgICBzaW5ndWxhck5hbWU/OiBzdHJpbmdcbiAgfVxuICBpbWFnZUFsdFRleHQ/OiBzdHJpbmdcbiAgaW1hZ2VVUkw/OiBzdHJpbmdcbiAgLyoqIEN1c3RvbWl6ZSBnZW5lcmF0ZWQgR3JhcGhRTCBhbmQgVHlwZXNjcmlwdCBzY2hlbWEgbmFtZXMuXG4gICAqIFRoZSBzbHVnIGlzIHVzZWQgYnkgZGVmYXVsdC5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdvdWxkIGxpa2UgdG8gZ2VuZXJhdGUgYSB0b3AgbGV2ZWwgdHlwZSB0byBzaGFyZSBhbW9uZ3N0IGNvbGxlY3Rpb25zL2ZpZWxkcy5cbiAgICogKipOb3RlKio6IFRvcCBsZXZlbCB0eXBlcyBjYW4gY29sbGlkZSwgZW5zdXJlIHRoZXkgYXJlIHVuaXF1ZSBhbW9uZyBjb2xsZWN0aW9ucywgYXJyYXlzLCBncm91cHMsIGJsb2NrcywgdGFicy5cbiAgICovXG4gIGludGVyZmFjZU5hbWU/OiBzdHJpbmdcbiAgbGFiZWxzPzogTGFiZWxzXG4gIHNsdWc6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBCbG9ja0ZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGluaXRDb2xsYXBzZWQ/OiBib29sZWFuIHwgZmFsc2VcbiAgfVxuICBibG9ja3M6IEJsb2NrW11cbiAgZGVmYXVsdFZhbHVlPzogdW5rbm93blxuICBsYWJlbHM/OiBMYWJlbHNcbiAgbWF4Um93cz86IG51bWJlclxuICBtaW5Sb3dzPzogbnVtYmVyXG4gIHR5cGU6ICdibG9ja3MnXG59XG5cbmV4cG9ydCB0eXBlIFBvaW50RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIHR5cGU6ICdwb2ludCdcbn1cblxuZXhwb3J0IHR5cGUgRmllbGQgPVxuICB8IEFycmF5RmllbGRcbiAgfCBCbG9ja0ZpZWxkXG4gIHwgQ2hlY2tib3hGaWVsZFxuICB8IENvZGVGaWVsZFxuICB8IENvbGxhcHNpYmxlRmllbGRcbiAgfCBEYXRlRmllbGRcbiAgfCBFbWFpbEZpZWxkXG4gIHwgR3JvdXBGaWVsZFxuICB8IEpTT05GaWVsZFxuICB8IE51bWJlckZpZWxkXG4gIHwgUG9pbnRGaWVsZFxuICB8IFJhZGlvRmllbGRcbiAgfCBSZWxhdGlvbnNoaXBGaWVsZFxuICB8IFJpY2hUZXh0RmllbGRcbiAgfCBSb3dGaWVsZFxuICB8IFNlbGVjdEZpZWxkXG4gIHwgVGFic0ZpZWxkXG4gIHwgVGV4dEZpZWxkXG4gIHwgVGV4dGFyZWFGaWVsZFxuICB8IFVJRmllbGRcbiAgfCBVcGxvYWRGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZEFmZmVjdGluZ0RhdGEgPVxuICB8IEFycmF5RmllbGRcbiAgfCBCbG9ja0ZpZWxkXG4gIHwgQ2hlY2tib3hGaWVsZFxuICB8IENvZGVGaWVsZFxuICB8IERhdGVGaWVsZFxuICB8IEVtYWlsRmllbGRcbiAgfCBHcm91cEZpZWxkXG4gIHwgSlNPTkZpZWxkXG4gIHwgTnVtYmVyRmllbGRcbiAgfCBQb2ludEZpZWxkXG4gIHwgUmFkaW9GaWVsZFxuICB8IFJlbGF0aW9uc2hpcEZpZWxkXG4gIHwgUmljaFRleHRGaWVsZFxuICB8IFNlbGVjdEZpZWxkXG4gIHwgVGFiQXNGaWVsZFxuICB8IFRleHRGaWVsZFxuICB8IFRleHRhcmVhRmllbGRcbiAgfCBVcGxvYWRGaWVsZFxuXG5leHBvcnQgdHlwZSBOb25QcmVzZW50YXRpb25hbEZpZWxkID1cbiAgfCBBcnJheUZpZWxkXG4gIHwgQmxvY2tGaWVsZFxuICB8IENoZWNrYm94RmllbGRcbiAgfCBDb2RlRmllbGRcbiAgfCBDb2xsYXBzaWJsZUZpZWxkXG4gIHwgRGF0ZUZpZWxkXG4gIHwgRW1haWxGaWVsZFxuICB8IEdyb3VwRmllbGRcbiAgfCBKU09ORmllbGRcbiAgfCBOdW1iZXJGaWVsZFxuICB8IFBvaW50RmllbGRcbiAgfCBSYWRpb0ZpZWxkXG4gIHwgUmVsYXRpb25zaGlwRmllbGRcbiAgfCBSaWNoVGV4dEZpZWxkXG4gIHwgUm93RmllbGRcbiAgfCBTZWxlY3RGaWVsZFxuICB8IFRhYnNGaWVsZFxuICB8IFRleHRGaWVsZFxuICB8IFRleHRhcmVhRmllbGRcbiAgfCBVcGxvYWRGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZFdpdGhQYXRoID0gRmllbGQgJiB7XG4gIHBhdGg/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgRmllbGRXaXRoU3ViRmllbGRzID0gQXJyYXlGaWVsZCB8IENvbGxhcHNpYmxlRmllbGQgfCBHcm91cEZpZWxkIHwgUm93RmllbGRcblxuZXhwb3J0IHR5cGUgRmllbGRQcmVzZW50YXRpb25hbE9ubHkgPSBVSUZpZWxkXG5cbmV4cG9ydCB0eXBlIEZpZWxkV2l0aE1hbnkgPSBSZWxhdGlvbnNoaXBGaWVsZCB8IFNlbGVjdEZpZWxkXG5cbmV4cG9ydCB0eXBlIEZpZWxkV2l0aE1heERlcHRoID0gUmVsYXRpb25zaGlwRmllbGQgfCBVcGxvYWRGaWVsZFxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRIYXNTdWJGaWVsZHMoZmllbGQ6IEZpZWxkKTogZmllbGQgaXMgRmllbGRXaXRoU3ViRmllbGRzIHtcbiAgcmV0dXJuIChcbiAgICBmaWVsZC50eXBlID09PSAnZ3JvdXAnIHx8XG4gICAgZmllbGQudHlwZSA9PT0gJ2FycmF5JyB8fFxuICAgIGZpZWxkLnR5cGUgPT09ICdyb3cnIHx8XG4gICAgZmllbGQudHlwZSA9PT0gJ2NvbGxhcHNpYmxlJ1xuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZElzQXJyYXlUeXBlKGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEFycmF5RmllbGQge1xuICByZXR1cm4gZmllbGQudHlwZSA9PT0gJ2FycmF5J1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRJc0Jsb2NrVHlwZShmaWVsZDogRmllbGQpOiBmaWVsZCBpcyBCbG9ja0ZpZWxkIHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICdibG9ja3MnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcHRpb25Jc09iamVjdChvcHRpb246IE9wdGlvbik6IG9wdGlvbiBpcyBPcHRpb25PYmplY3Qge1xuICByZXR1cm4gdHlwZW9mIG9wdGlvbiA9PT0gJ29iamVjdCdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbnNBcmVPYmplY3RzKG9wdGlvbnM6IE9wdGlvbltdKTogb3B0aW9ucyBpcyBPcHRpb25PYmplY3RbXSB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KG9wdGlvbnMpICYmIHR5cGVvZiBvcHRpb25zPy5bMF0gPT09ICdvYmplY3QnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcHRpb25Jc1ZhbHVlKG9wdGlvbjogT3B0aW9uKTogb3B0aW9uIGlzIHN0cmluZyB7XG4gIHJldHVybiB0eXBlb2Ygb3B0aW9uID09PSAnc3RyaW5nJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRTdXBwb3J0c01hbnkoZmllbGQ6IEZpZWxkKTogZmllbGQgaXMgRmllbGRXaXRoTWFueSB7XG4gIHJldHVybiBmaWVsZC50eXBlID09PSAnc2VsZWN0JyB8fCBmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRIYXNNYXhEZXB0aChmaWVsZDogRmllbGQpOiBmaWVsZCBpcyBGaWVsZFdpdGhNYXhEZXB0aCB7XG4gIHJldHVybiAoXG4gICAgKGZpZWxkLnR5cGUgPT09ICd1cGxvYWQnIHx8IGZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbnNoaXAnKSAmJiB0eXBlb2YgZmllbGQubWF4RGVwdGggPT09ICdudW1iZXInXG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkoZmllbGQ6IEZpZWxkIHwgVGFiQXNGaWVsZCk6IGZpZWxkIGlzIFVJRmllbGQge1xuICByZXR1cm4gZmllbGQudHlwZSA9PT0gJ3VpJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRBZmZlY3RzRGF0YShmaWVsZDogRmllbGQgfCBUYWJBc0ZpZWxkKTogZmllbGQgaXMgRmllbGRBZmZlY3RpbmdEYXRhIHtcbiAgcmV0dXJuICduYW1lJyBpbiBmaWVsZCAmJiAhZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seShmaWVsZClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRhYkhhc05hbWUodGFiOiBUYWIpOiB0YWIgaXMgTmFtZWRUYWIge1xuICByZXR1cm4gJ25hbWUnIGluIHRhYlxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRJc0xvY2FsaXplZChmaWVsZDogRmllbGQgfCBUYWIpOiBib29sZWFuIHtcbiAgcmV0dXJuICdsb2NhbGl6ZWQnIGluIGZpZWxkICYmIGZpZWxkLmxvY2FsaXplZFxufVxuXG5leHBvcnQgdHlwZSBIb29rTmFtZSA9XG4gIHwgJ2FmdGVyQ2hhbmdlJ1xuICB8ICdhZnRlclJlYWQnXG4gIHwgJ2JlZm9yZUNoYW5nZSdcbiAgfCAnYmVmb3JlUmVhZCdcbiAgfCAnYmVmb3JlVmFsaWRhdGUnXG4iXSwibmFtZXMiOlsidmFsdWVJc1ZhbHVlV2l0aFJlbGF0aW9uIiwiZmllbGRIYXNTdWJGaWVsZHMiLCJmaWVsZElzQXJyYXlUeXBlIiwiZmllbGRJc0Jsb2NrVHlwZSIsIm9wdGlvbklzT2JqZWN0Iiwib3B0aW9uc0FyZU9iamVjdHMiLCJvcHRpb25Jc1ZhbHVlIiwiZmllbGRTdXBwb3J0c01hbnkiLCJmaWVsZEhhc01heERlcHRoIiwiZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSIsImZpZWxkQWZmZWN0c0RhdGEiLCJ0YWJIYXNOYW1lIiwiZmllbGRJc0xvY2FsaXplZCIsInZhbHVlIiwiZmllbGQiLCJ0eXBlIiwib3B0aW9uIiwib3B0aW9ucyIsIkFycmF5IiwiaXNBcnJheSIsIm1heERlcHRoIiwidGFiIiwibG9jYWxpemVkIl0sIm1hcHBpbmdzIjoiQUFBQSx1Q0FBdUM7Ozs7Ozs7Ozs7O0lBc1l2QkEsd0JBQXdCO2VBQXhCQTs7SUE2SkFDLGlCQUFpQjtlQUFqQkE7O0lBU0FDLGdCQUFnQjtlQUFoQkE7O0lBSUFDLGdCQUFnQjtlQUFoQkE7O0lBSUFDLGNBQWM7ZUFBZEE7O0lBSUFDLGlCQUFpQjtlQUFqQkE7O0lBSUFDLGFBQWE7ZUFBYkE7O0lBSUFDLGlCQUFpQjtlQUFqQkE7O0lBSUFDLGdCQUFnQjtlQUFoQkE7O0lBTUFDLHlCQUF5QjtlQUF6QkE7O0lBSUFDLGdCQUFnQjtlQUFoQkE7O0lBSUFDLFVBQVU7ZUFBVkE7O0lBSUFDLGdCQUFnQjtlQUFoQkE7OztBQWhOVCxTQUFTWix5QkFBeUJhLEtBQWM7SUFDckQsT0FBT0EsVUFBVSxRQUFRLE9BQU9BLFVBQVUsWUFBWSxnQkFBZ0JBLFNBQVMsV0FBV0E7QUFDNUY7QUEySk8sU0FBU1osa0JBQWtCYSxLQUFZO0lBQzVDLE9BQ0VBLE1BQU1DLElBQUksS0FBSyxXQUNmRCxNQUFNQyxJQUFJLEtBQUssV0FDZkQsTUFBTUMsSUFBSSxLQUFLLFNBQ2ZELE1BQU1DLElBQUksS0FBSztBQUVuQjtBQUVPLFNBQVNiLGlCQUFpQlksS0FBWTtJQUMzQyxPQUFPQSxNQUFNQyxJQUFJLEtBQUs7QUFDeEI7QUFFTyxTQUFTWixpQkFBaUJXLEtBQVk7SUFDM0MsT0FBT0EsTUFBTUMsSUFBSSxLQUFLO0FBQ3hCO0FBRU8sU0FBU1gsZUFBZVksTUFBYztJQUMzQyxPQUFPLE9BQU9BLFdBQVc7QUFDM0I7QUFFTyxTQUFTWCxrQkFBa0JZLE9BQWlCO0lBQ2pELE9BQU9DLE1BQU1DLE9BQU8sQ0FBQ0YsWUFBWSxPQUFPQSxTQUFTLENBQUMsRUFBRSxLQUFLO0FBQzNEO0FBRU8sU0FBU1gsY0FBY1UsTUFBYztJQUMxQyxPQUFPLE9BQU9BLFdBQVc7QUFDM0I7QUFFTyxTQUFTVCxrQkFBa0JPLEtBQVk7SUFDNUMsT0FBT0EsTUFBTUMsSUFBSSxLQUFLLFlBQVlELE1BQU1DLElBQUksS0FBSztBQUNuRDtBQUVPLFNBQVNQLGlCQUFpQk0sS0FBWTtJQUMzQyxPQUNFLEFBQUNBLENBQUFBLE1BQU1DLElBQUksS0FBSyxZQUFZRCxNQUFNQyxJQUFJLEtBQUssY0FBYSxLQUFNLE9BQU9ELE1BQU1NLFFBQVEsS0FBSztBQUU1RjtBQUVPLFNBQVNYLDBCQUEwQkssS0FBeUI7SUFDakUsT0FBT0EsTUFBTUMsSUFBSSxLQUFLO0FBQ3hCO0FBRU8sU0FBU0wsaUJBQWlCSSxLQUF5QjtJQUN4RCxPQUFPLFVBQVVBLFNBQVMsQ0FBQ0wsMEJBQTBCSztBQUN2RDtBQUVPLFNBQVNILFdBQVdVLEdBQVE7SUFDakMsT0FBTyxVQUFVQTtBQUNuQjtBQUVPLFNBQVNULGlCQUFpQkUsS0FBa0I7SUFDakQsT0FBTyxlQUFlQSxTQUFTQSxNQUFNUSxTQUFTO0FBQ2hEIn0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEVkaXRvclByb3BzIH0gZnJvbSAnQG1vbmFjby1lZGl0b3IvcmVhY3QnXG5pbXBvcnQgdHlwZSB7IFRGdW5jdGlvbiB9IGZyb20gJ2kxOG5leHQnXG5pbXBvcnQgdHlwZSB7IENTU1Byb3BlcnRpZXMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IG1vbmFjb2VkaXRvciBmcm9tICdtb25hY28tZWRpdG9yJyAvLyBJTVBPUlRBTlQgLSBETyBOT1QgUkVNT1ZFOiBUaGlzIGlzIHJlcXVpcmVkIGZvciBwbnBtJ3MgZGVmYXVsdCBpc29sYXRlZCBtb2RlIHRvIHdvcmsgLSBldmVuIHRob3VnaCB0aGUgaW1wb3J0IGlzIG5vdCB1c2VkLiBUaGlzIGlzIGR1ZSB0byBhIHR5cGVzY3JpcHQgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzQ3NjYzI2lzc3VlY29tbWVudC0xNTE5MTM4MTg5LiAodHNidWdpc29sYXRlZG1vZGUpXG5pbXBvcnQgdHlwZSB7IENvbmRpdGlvbmFsRGF0ZVByb3BzIH0gZnJvbSAnLi4vLi4vYWRtaW4vY29tcG9uZW50cy9lbGVtZW50cy9EYXRlUGlja2VyL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEZXNjcmlwdGlvbiB9IGZyb20gJy4uLy4uL2FkbWluL2NvbXBvbmVudHMvZm9ybXMvRmllbGREZXNjcmlwdGlvbi90eXBlcydcbmltcG9ydCB0eXBlIHsgUm93TGFiZWwgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL1Jvd0xhYmVsL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JpY2hUZXh0L3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi4vLi4vYXV0aCdcbmltcG9ydCB0eXBlIHsgVHlwZVdpdGhJRCB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCwgUmVxdWVzdENvbnRleHQgfSBmcm9tICcuLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4vcGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgT3BlcmF0aW9uLCBXaGVyZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBGaWVsZEhvb2tBcmdzPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55LCBQID0gYW55LCBTID0gYW55PiA9IHtcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbiAgLyoqIFRoZSBkYXRhIHBhc3NlZCB0byB1cGRhdGUgdGhlIGRvY3VtZW50IHdpdGhpbiBjcmVhdGUgYW5kIHVwZGF0ZSBvcGVyYXRpb25zLCBhbmQgdGhlIGZ1bGwgZG9jdW1lbnQgaXRzZWxmIGluIHRoZSBhZnRlclJlYWQgaG9vay4gKi9cbiAgZGF0YT86IFBhcnRpYWw8VD5cbiAgLyoqIEJvb2xlYW4gdG8gZGVub3RlIGlmIHRoaXMgaG9vayBpcyBydW5uaW5nIGFnYWluc3QgZmluZGluZyBvbmUsIG9yIGZpbmRpbmcgbWFueSB3aXRoaW4gdGhlIGFmdGVyUmVhZCBob29rLiAqL1xuICBmaW5kTWFueT86IGJvb2xlYW5cbiAgLyoqIEEgc3RyaW5nIHJlbGF0aW5nIHRvIHdoaWNoIG9wZXJhdGlvbiB0aGUgZmllbGQgdHlwZSBpcyBjdXJyZW50bHkgZXhlY3V0aW5nIHdpdGhpbi4gVXNlZnVsIHdpdGhpbiBiZWZvcmVWYWxpZGF0ZSwgYmVmb3JlQ2hhbmdlLCBhbmQgYWZ0ZXJDaGFuZ2UgaG9va3MgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGNyZWF0ZSBhbmQgdXBkYXRlIG9wZXJhdGlvbnMuICovXG4gIG9wZXJhdGlvbj86ICdjcmVhdGUnIHwgJ2RlbGV0ZScgfCAncmVhZCcgfCAndXBkYXRlJ1xuICAvKiogVGhlIGZ1bGwgb3JpZ2luYWwgZG9jdW1lbnQgaW4gYHVwZGF0ZWAgb3BlcmF0aW9ucy4gSW4gdGhlIGBhZnRlckNoYW5nZWAgaG9vaywgdGhpcyBpcyB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IG9mIHRoZSBvcGVyYXRpb24uICovXG4gIG9yaWdpbmFsRG9jPzogVFxuICAvKiogVGhlIGRvY3VtZW50IGJlZm9yZSBjaGFuZ2VzIHdlcmUgYXBwbGllZCwgb25seSBpbiBgYWZ0ZXJDaGFuZ2VgIGhvb2tzLiAqL1xuICBwcmV2aW91c0RvYz86IFRcbiAgLyoqIFRoZSBzaWJsaW5nIGRhdGEgZnJvbSB0aGUgcHJldmlvdXMgZG9jdW1lbnQgaW4gYGFmdGVyQ2hhbmdlYCBob29rLiAqL1xuICBwcmV2aW91c1NpYmxpbmdEb2M/OiBUXG4gIHByZXZpb3VzVmFsdWU/OiBQXG4gIC8qKiBUaGUgRXhwcmVzcyByZXF1ZXN0IG9iamVjdC4gSXQgaXMgbW9ja2VkIGZvciBMb2NhbCBBUEkgb3BlcmF0aW9ucy4gKi9cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAvKiogVGhlIHNpYmxpbmcgZGF0YSBwYXNzZWQgdG8gYSBmaWVsZCB0aGF0IHRoZSBob29rIGlzIHJ1bm5pbmcgYWdhaW5zdC4gKi9cbiAgc2libGluZ0RhdGE6IFBhcnRpYWw8Uz5cbiAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQuICovXG4gIHZhbHVlPzogUFxufVxuXG5leHBvcnQgdHlwZSBGaWVsZEhvb2s8VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksIFAgPSBhbnksIFMgPSBhbnk+ID0gKFxuICBhcmdzOiBGaWVsZEhvb2tBcmdzPFQsIFAsIFM+LFxuKSA9PiBQIHwgUHJvbWlzZTxQPlxuXG5leHBvcnQgdHlwZSBGaWVsZEFjY2VzczxUIGV4dGVuZHMgVHlwZVdpdGhJRCA9IGFueSwgUCA9IGFueSwgVSA9IGFueT4gPSAoYXJnczoge1xuICBkYXRhPzogUGFydGlhbDxUPlxuICBkb2M/OiBUXG4gIGlkPzogbnVtYmVyIHwgc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Q8VT5cbiAgc2libGluZ0RhdGE/OiBQYXJ0aWFsPFA+XG59KSA9PiBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhblxuXG5leHBvcnQgdHlwZSBDb25kaXRpb248VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksIFAgPSBhbnk+ID0gKFxuICBkYXRhOiBQYXJ0aWFsPFQ+LFxuICBzaWJsaW5nRGF0YTogUGFydGlhbDxQPixcbiAgeyB1c2VyIH06IHsgdXNlcjogVXNlciB9LFxuKSA9PiBib29sZWFuXG5cbmV4cG9ydCB0eXBlIEZpbHRlck9wdGlvbnNQcm9wczxUID0gYW55PiA9IHtcbiAgZGF0YTogVFxuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIHJlbGF0aW9uVG86IHN0cmluZ1xuICBzaWJsaW5nRGF0YTogdW5rbm93blxuICB1c2VyOiBQYXJ0aWFsPFVzZXI+XG59XG5cbmV4cG9ydCB0eXBlIEZpbHRlck9wdGlvbnM8VCA9IGFueT4gPVxuICB8ICgob3B0aW9uczogRmlsdGVyT3B0aW9uc1Byb3BzPFQ+KSA9PiBQcm9taXNlPFdoZXJlPiB8IFdoZXJlKVxuICB8IFdoZXJlXG5cbnR5cGUgQWRtaW4gPSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjb21wb25lbnRzPzoge1xuICAgIENlbGw/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICBGaWVsZD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgIEZpbHRlcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICB9XG4gIGNvbmRpdGlvbj86IENvbmRpdGlvblxuICBkZXNjcmlwdGlvbj86IERlc2NyaXB0aW9uXG4gIGRpc2FibGVCdWxrRWRpdD86IGJvb2xlYW5cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGhpZGRlbj86IGJvb2xlYW5cbiAgcG9zaXRpb24/OiAnc2lkZWJhcidcbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIHN0eWxlPzogQ1NTUHJvcGVydGllc1xuICB3aWR0aD86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBMYWJlbHMgPSB7XG4gIHBsdXJhbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICBzaW5ndWxhcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBWYWxpZGF0ZU9wdGlvbnM8VERhdGEsIFRTaWJsaW5nRGF0YSwgVEZpZWxkQ29uZmlnPiA9IHtcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgZGF0YTogUGFydGlhbDxURGF0YT5cbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgb3BlcmF0aW9uPzogT3BlcmF0aW9uXG4gIHBheWxvYWQ/OiBQYXlsb2FkXG4gIHNpYmxpbmdEYXRhOiBQYXJ0aWFsPFRTaWJsaW5nRGF0YT5cbiAgdDogVEZ1bmN0aW9uXG4gIHVzZXI/OiBQYXJ0aWFsPFVzZXI+XG59ICYgVEZpZWxkQ29uZmlnXG5cbi8vIFRPRE86IEhhdmluZyBURmllbGRDb25maWcgYXMgYW55IGJyZWFrcyBhbGwgdHlwZSBjaGVja2luZyAvIGF1dG8tY29tcGxldGlvbnMgZm9yIHRoZSBiYXNlIFZhbGlkYXRlT3B0aW9ucyBwcm9wZXJ0aWVzLlxuZXhwb3J0IHR5cGUgVmFsaWRhdGU8VFZhbHVlID0gYW55LCBURGF0YSA9IGFueSwgVFNpYmxpbmdEYXRhID0gYW55LCBURmllbGRDb25maWcgPSBhbnk+ID0gKFxuICB2YWx1ZTogVFZhbHVlLFxuICBvcHRpb25zOiBWYWxpZGF0ZU9wdGlvbnM8VERhdGEsIFRTaWJsaW5nRGF0YSwgVEZpZWxkQ29uZmlnPixcbikgPT4gUHJvbWlzZTxzdHJpbmcgfCB0cnVlPiB8IHN0cmluZyB8IHRydWVcblxuZXhwb3J0IHR5cGUgT3B0aW9uT2JqZWN0ID0ge1xuICBsYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICB2YWx1ZTogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIE9wdGlvbiA9IE9wdGlvbk9iamVjdCB8IHN0cmluZ1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkQmFzZSB7XG4gIGFjY2Vzcz86IHtcbiAgICBjcmVhdGU/OiBGaWVsZEFjY2Vzc1xuICAgIHJlYWQ/OiBGaWVsZEFjY2Vzc1xuICAgIHVwZGF0ZT86IEZpZWxkQWNjZXNzXG4gIH1cbiAgYWRtaW4/OiBBZG1pblxuICAvKiogRXh0ZW5zaW9uIHBvaW50IHRvIGFkZCB5b3VyIGN1c3RvbSBkYXRhLiAqL1xuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIGRlZmF1bHRWYWx1ZT86IGFueVxuICBoaWRkZW4/OiBib29sZWFuXG4gIGhvb2tzPzoge1xuICAgIGFmdGVyQ2hhbmdlPzogRmllbGRIb29rW11cbiAgICBhZnRlclJlYWQ/OiBGaWVsZEhvb2tbXVxuICAgIGJlZm9yZUNoYW5nZT86IEZpZWxkSG9va1tdXG4gICAgYmVmb3JlVmFsaWRhdGU/OiBGaWVsZEhvb2tbXVxuICB9XG4gIGluZGV4PzogYm9vbGVhblxuICBsYWJlbD86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBmYWxzZSB8IHN0cmluZ1xuICBsb2NhbGl6ZWQ/OiBib29sZWFuXG4gIG5hbWU6IHN0cmluZ1xuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgc2F2ZVRvSldUPzogYm9vbGVhbiB8IHN0cmluZ1xuICB1bmlxdWU/OiBib29sZWFuXG4gIHZhbGlkYXRlPzogVmFsaWRhdGVcbn1cblxuZXhwb3J0IHR5cGUgTnVtYmVyRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgLyoqIFNldCB0aGlzIHByb3BlcnR5IHRvIGEgc3RyaW5nIHRoYXQgd2lsbCBiZSB1c2VkIGZvciBicm93c2VyIGF1dG9jb21wbGV0ZS4gKi9cbiAgICBhdXRvQ29tcGxldGU/OiBzdHJpbmdcbiAgICAvKiogU2V0IHRoaXMgcHJvcGVydHkgdG8gZGVmaW5lIGEgcGxhY2Vob2xkZXIgc3RyaW5nIGZvciB0aGUgZmllbGQuICovXG4gICAgcGxhY2Vob2xkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gICAgLyoqIFNldCBhIHZhbHVlIGZvciB0aGUgbnVtYmVyIGZpZWxkIHRvIGluY3JlbWVudCAvIGRlY3JlbWVudCB1c2luZyBicm93c2VyIGNvbnRyb2xzLiAqL1xuICAgIHN0ZXA/OiBudW1iZXJcbiAgfVxuICAvKiogTWF4aW11bSB2YWx1ZSBhY2NlcHRlZC4gVXNlZCBpbiB0aGUgZGVmYXVsdCBgdmFsaWRhdGlvbmAgZnVuY3Rpb24uICovXG4gIG1heD86IG51bWJlclxuICAvKiogTWluaW11bSB2YWx1ZSBhY2NlcHRlZC4gVXNlZCBpbiB0aGUgZGVmYXVsdCBgdmFsaWRhdGlvbmAgZnVuY3Rpb24uICovXG4gIG1pbj86IG51bWJlclxuICB0eXBlOiAnbnVtYmVyJ1xufSAmIChcbiAgICB8IHtcbiAgICAgICAgLyoqIE1ha2VzIHRoaXMgZmllbGQgYW4gb3JkZXJlZCBhcnJheSBvZiBudW1iZXJzIGluc3RlYWQgb2YganVzdCBhIHNpbmdsZSBudW1iZXIuICovXG4gICAgICAgIGhhc01hbnk6IHRydWVcbiAgICAgICAgLyoqIE1heGltdW0gbnVtYmVyIG9mIG51bWJlcnMgaW4gdGhlIG51bWJlcnMgYXJyYXksIGlmIGBoYXNNYW55YCBpcyBzZXQgdG8gdHJ1ZS4gKi9cbiAgICAgICAgbWF4Um93cz86IG51bWJlclxuICAgICAgICAvKiogTWluaW11bSBudW1iZXIgb2YgbnVtYmVycyBpbiB0aGUgbnVtYmVycyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtaW5Sb3dzPzogbnVtYmVyXG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIC8qKiBNYWtlcyB0aGlzIGZpZWxkIGFuIG9yZGVyZWQgYXJyYXkgb2YgbnVtYmVycyBpbnN0ZWFkIG9mIGp1c3QgYSBzaW5nbGUgbnVtYmVyLiAqL1xuICAgICAgICBoYXNNYW55PzogZmFsc2UgfCB1bmRlZmluZWRcbiAgICAgICAgLyoqIE1heGltdW0gbnVtYmVyIG9mIG51bWJlcnMgaW4gdGhlIG51bWJlcnMgYXJyYXksIGlmIGBoYXNNYW55YCBpcyBzZXQgdG8gdHJ1ZS4gKi9cbiAgICAgICAgbWF4Um93cz86IHVuZGVmaW5lZFxuICAgICAgICAvKiogTWluaW11bSBudW1iZXIgb2YgbnVtYmVycyBpbiB0aGUgbnVtYmVycyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtaW5Sb3dzPzogdW5kZWZpbmVkXG4gICAgICB9XG4gIClcblxuZXhwb3J0IHR5cGUgVGV4dEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICAgIHJ0bD86IGJvb2xlYW5cbiAgfVxuICBtYXhMZW5ndGg/OiBudW1iZXJcbiAgbWluTGVuZ3RoPzogbnVtYmVyXG4gIHR5cGU6ICd0ZXh0J1xufVxuXG5leHBvcnQgdHlwZSBFbWFpbEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICB9XG4gIHR5cGU6ICdlbWFpbCdcbn1cblxuZXhwb3J0IHR5cGUgVGV4dGFyZWFGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBwbGFjZWhvbGRlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgICByb3dzPzogbnVtYmVyXG4gICAgcnRsPzogYm9vbGVhblxuICB9XG4gIG1heExlbmd0aD86IG51bWJlclxuICBtaW5MZW5ndGg/OiBudW1iZXJcbiAgdHlwZTogJ3RleHRhcmVhJ1xufVxuXG5leHBvcnQgdHlwZSBDaGVja2JveEZpZWxkID0gRmllbGRCYXNlICYge1xuICB0eXBlOiAnY2hlY2tib3gnXG59XG5cbmV4cG9ydCB0eXBlIERhdGVGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBkYXRlPzogQ29uZGl0aW9uYWxEYXRlUHJvcHNcbiAgICBwbGFjZWhvbGRlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgfVxuICB0eXBlOiAnZGF0ZSdcbn1cblxuZXhwb3J0IHR5cGUgR3JvdXBGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAncmVxdWlyZWQnIHwgJ3ZhbGlkYXRpb24nPiAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBoaWRlR3V0dGVyPzogYm9vbGVhblxuICB9XG4gIGZpZWxkczogRmllbGRbXVxuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogQnkgZGVmYXVsdCBpdCBpcyBib3VuZCB0byB0aGUgY29sbGVjdGlvbi5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdvdWxkIGxpa2UgdG8gZ2VuZXJhdGUgYSB0b3AgbGV2ZWwgdHlwZSB0byBzaGFyZSBhbW9uZ3N0IGNvbGxlY3Rpb25zL2ZpZWxkcy5cbiAgICogKipOb3RlKio6IFRvcCBsZXZlbCB0eXBlcyBjYW4gY29sbGlkZSwgZW5zdXJlIHRoZXkgYXJlIHVuaXF1ZSBhbW9uZyBjb2xsZWN0aW9ucywgYXJyYXlzLCBncm91cHMsIGJsb2NrcywgdGFicy5cbiAgICovXG4gIGludGVyZmFjZU5hbWU/OiBzdHJpbmdcbiAgdHlwZTogJ2dyb3VwJ1xufVxuXG5leHBvcnQgdHlwZSBSb3dBZG1pbiA9IE9taXQ8QWRtaW4sICdkZXNjcmlwdGlvbic+XG5cbmV4cG9ydCB0eXBlIFJvd0ZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdhZG1pbicgfCAnbGFiZWwnIHwgJ25hbWUnPiAmIHtcbiAgYWRtaW4/OiBSb3dBZG1pblxuICBmaWVsZHM6IEZpZWxkW11cbiAgdHlwZTogJ3Jvdydcbn1cblxuZXhwb3J0IHR5cGUgQ29sbGFwc2libGVGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnbGFiZWwnIHwgJ25hbWUnPiAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBpbml0Q29sbGFwc2VkPzogYm9vbGVhbiB8IGZhbHNlXG4gIH1cbiAgZmllbGRzOiBGaWVsZFtdXG4gIGxhYmVsOiBSb3dMYWJlbFxuICB0eXBlOiAnY29sbGFwc2libGUnXG59XG5cbmV4cG9ydCB0eXBlIFRhYnNBZG1pbiA9IE9taXQ8QWRtaW4sICdkZXNjcmlwdGlvbic+XG5cbnR5cGUgVGFiQmFzZSA9IE9taXQ8RmllbGRCYXNlLCAncmVxdWlyZWQnIHwgJ3ZhbGlkYXRpb24nPiAmIHtcbiAgZGVzY3JpcHRpb24/OiBEZXNjcmlwdGlvblxuICBmaWVsZHM6IEZpZWxkW11cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xuICBzYXZlVG9KV1Q/OiBib29sZWFuIHwgc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIE5hbWVkVGFiID0gVGFiQmFzZSAmIHtcbiAgLyoqIEN1c3RvbWl6ZSBnZW5lcmF0ZWQgR3JhcGhRTCBhbmQgVHlwZXNjcmlwdCBzY2hlbWEgbmFtZXMuXG4gICAqIFRoZSBzbHVnIGlzIHVzZWQgYnkgZGVmYXVsdC5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdvdWxkIGxpa2UgdG8gZ2VuZXJhdGUgYSB0b3AgbGV2ZWwgdHlwZSB0byBzaGFyZSBhbW9uZ3N0IGNvbGxlY3Rpb25zL2ZpZWxkcy5cbiAgICogKipOb3RlKio6IFRvcCBsZXZlbCB0eXBlcyBjYW4gY29sbGlkZSwgZW5zdXJlIHRoZXkgYXJlIHVuaXF1ZSBhbW9uZyBjb2xsZWN0aW9ucywgYXJyYXlzLCBncm91cHMsIGJsb2NrcywgdGFicy5cbiAgICovXG4gIGludGVyZmFjZU5hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgVW5uYW1lZFRhYiA9IE9taXQ8VGFiQmFzZSwgJ25hbWUnPiAmIHtcbiAgaW50ZXJmYWNlTmFtZT86IG5ldmVyXG4gIGxhYmVsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIGxvY2FsaXplZD86IG5ldmVyXG59XG5cbmV4cG9ydCB0eXBlIFRhYiA9IE5hbWVkVGFiIHwgVW5uYW1lZFRhYlxuXG5leHBvcnQgdHlwZSBUYWJzRmllbGQgPSBPbWl0PEZpZWxkQmFzZSwgJ2FkbWluJyB8ICdsb2NhbGl6ZWQnIHwgJ25hbWUnIHwgJ3NhdmVUb0pXVCc+ICYge1xuICBhZG1pbj86IFRhYnNBZG1pblxuICB0YWJzOiBUYWJbXVxuICB0eXBlOiAndGFicydcbn1cblxuZXhwb3J0IHR5cGUgVGFiQXNGaWVsZCA9IFRhYiAmIHtcbiAgbmFtZT86IHN0cmluZ1xuICB0eXBlOiAndGFiJ1xufVxuXG5leHBvcnQgdHlwZSBVSUZpZWxkID0ge1xuICBhZG1pbjoge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBDZWxsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgICBGaWVsZDogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgICBGaWx0ZXI/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICB9XG4gICAgY29uZGl0aW9uPzogQ29uZGl0aW9uXG4gICAgZGlzYWJsZUJ1bGtFZGl0PzogYm9vbGVhblxuICAgIHBvc2l0aW9uPzogc3RyaW5nXG4gICAgd2lkdGg/OiBzdHJpbmdcbiAgfVxuICAvKiogRXh0ZW5zaW9uIHBvaW50IHRvIGFkZCB5b3VyIGN1c3RvbSBkYXRhLiAqL1xuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIGxhYmVsPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgdHlwZTogJ3VpJ1xufVxuXG5leHBvcnQgdHlwZSBVcGxvYWRGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgZmlsdGVyT3B0aW9ucz86IEZpbHRlck9wdGlvbnNcbiAgbWF4RGVwdGg/OiBudW1iZXJcbiAgcmVsYXRpb25Ubzogc3RyaW5nXG4gIHR5cGU6ICd1cGxvYWQnXG59XG5cbnR5cGUgQ29kZUFkbWluID0gQWRtaW4gJiB7XG4gIGVkaXRvck9wdGlvbnM/OiBFZGl0b3JQcm9wc1snb3B0aW9ucyddXG4gIGxhbmd1YWdlPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENvZGVGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nPiAmIHtcbiAgYWRtaW4/OiBDb2RlQWRtaW5cbiAgbWF4TGVuZ3RoPzogbnVtYmVyXG4gIG1pbkxlbmd0aD86IG51bWJlclxuICB0eXBlOiAnY29kZSdcbn1cblxudHlwZSBKU09OQWRtaW4gPSBBZG1pbiAmIHtcbiAgZWRpdG9yT3B0aW9ucz86IEVkaXRvclByb3BzWydvcHRpb25zJ11cbn1cblxuZXhwb3J0IHR5cGUgSlNPTkZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdhZG1pbic+ICYge1xuICBhZG1pbj86IEpTT05BZG1pblxuICB0eXBlOiAnanNvbidcbn1cblxuZXhwb3J0IHR5cGUgU2VsZWN0RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgaXNDbGVhcmFibGU/OiBib29sZWFuXG4gICAgaXNTb3J0YWJsZT86IGJvb2xlYW5cbiAgfVxuICBoYXNNYW55PzogYm9vbGVhblxuICBvcHRpb25zOiBPcHRpb25bXVxuICB0eXBlOiAnc2VsZWN0J1xufVxuXG5leHBvcnQgdHlwZSBSZWxhdGlvbnNoaXBGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBhbGxvd0NyZWF0ZT86IGJvb2xlYW5cbiAgICBpc1NvcnRhYmxlPzogYm9vbGVhblxuICB9XG4gIGZpbHRlck9wdGlvbnM/OiBGaWx0ZXJPcHRpb25zXG4gIGhhc01hbnk/OiBib29sZWFuXG4gIG1heERlcHRoPzogbnVtYmVyXG4gIHJlbGF0aW9uVG86IHN0cmluZyB8IHN0cmluZ1tdXG4gIHR5cGU6ICdyZWxhdGlvbnNoaXAnXG59ICYgKFxuICAgIHwge1xuICAgICAgICBoYXNNYW55OiB0cnVlXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJ21heFJvd3MnIGluc3RlYWRcbiAgICAgICAgICovXG4gICAgICAgIG1heD86IG51bWJlclxuICAgICAgICBtYXhSb3dzPzogbnVtYmVyXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJ21pblJvd3MnIGluc3RlYWRcbiAgICAgICAgICovXG4gICAgICAgIG1pbj86IG51bWJlclxuICAgICAgICBtaW5Sb3dzPzogbnVtYmVyXG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIGhhc01hbnk/OiBmYWxzZSB8IHVuZGVmaW5lZFxuICAgICAgICAvKipcbiAgICAgICAgICogQGRlcHJlY2F0ZWQgVXNlICdtYXhSb3dzJyBpbnN0ZWFkXG4gICAgICAgICAqL1xuICAgICAgICBtYXg/OiB1bmRlZmluZWRcbiAgICAgICAgbWF4Um93cz86IHVuZGVmaW5lZFxuICAgICAgICAvKipcbiAgICAgICAgICogQGRlcHJlY2F0ZWQgVXNlICdtaW5Sb3dzJyBpbnN0ZWFkXG4gICAgICAgICAqL1xuICAgICAgICBtaW4/OiB1bmRlZmluZWRcbiAgICAgICAgbWluUm93cz86IHVuZGVmaW5lZFxuICAgICAgfVxuICApXG5cbmV4cG9ydCB0eXBlIFZhbHVlV2l0aFJlbGF0aW9uID0ge1xuICByZWxhdGlvblRvOiBzdHJpbmdcbiAgdmFsdWU6IG51bWJlciB8IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsdWVJc1ZhbHVlV2l0aFJlbGF0aW9uKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgVmFsdWVXaXRoUmVsYXRpb24ge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAncmVsYXRpb25UbycgaW4gdmFsdWUgJiYgJ3ZhbHVlJyBpbiB2YWx1ZVxufVxuXG5leHBvcnQgdHlwZSBSZWxhdGlvbnNoaXBWYWx1ZSA9XG4gIHwgKG51bWJlciB8IHN0cmluZylbXVxuICB8IFZhbHVlV2l0aFJlbGF0aW9uXG4gIHwgVmFsdWVXaXRoUmVsYXRpb25bXVxuICB8IChudW1iZXIgfCBzdHJpbmcpXG5cbnR5cGUgSXNBbnk8VD4gPSAwIGV4dGVuZHMgMSAmIFQgPyB0cnVlIDogZmFsc2VcblxuZXhwb3J0IHR5cGUgUmljaFRleHRGaWVsZDxWYWx1ZSBleHRlbmRzIG9iamVjdCA9IGFueSwgQWRhcHRlclByb3BzID0gYW55PiA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pblxuICBlZGl0b3I/OiBSaWNoVGV4dEFkYXB0ZXI8VmFsdWUsIEFkYXB0ZXJQcm9wcz5cbiAgdHlwZTogJ3JpY2hUZXh0J1xufSAmIChJc0FueTxBZGFwdGVyUHJvcHM+IGV4dGVuZHMgdHJ1ZSA/IHt9IDogQWRhcHRlclByb3BzKVxuXG5leHBvcnQgdHlwZSBBcnJheUZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBSb3dMYWJlbD86IFJvd0xhYmVsXG4gICAgfSAmIEFkbWluWydjb21wb25lbnRzJ11cbiAgICBpbml0Q29sbGFwc2VkPzogYm9vbGVhbiB8IGZhbHNlXG4gIH1cbiAgZmllbGRzOiBGaWVsZFtdXG4gIC8qKiBDdXN0b21pemUgZ2VuZXJhdGVkIEdyYXBoUUwgYW5kIFR5cGVzY3JpcHQgc2NoZW1hIG5hbWVzLlxuICAgKiBCeSBkZWZhdWx0IGl0IGlzIGJvdW5kIHRvIHRoZSBjb2xsZWN0aW9uLlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xuICBsYWJlbHM/OiBMYWJlbHNcbiAgbWF4Um93cz86IG51bWJlclxuICBtaW5Sb3dzPzogbnVtYmVyXG4gIHR5cGU6ICdhcnJheSdcbn1cblxuZXhwb3J0IHR5cGUgUmFkaW9GaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBsYXlvdXQ/OiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnXG4gIH1cbiAgb3B0aW9uczogT3B0aW9uW11cbiAgdHlwZTogJ3JhZGlvJ1xufVxuXG5leHBvcnQgdHlwZSBCbG9jayA9IHtcbiAgZmllbGRzOiBGaWVsZFtdXG4gIC8qKiBAZGVwcmVjYXRlZCAtIHBsZWFzZSBtaWdyYXRlIHRvIHRoZSBpbnRlcmZhY2VOYW1lIHByb3BlcnR5IGluc3RlYWQuICovXG4gIGdyYXBoUUw/OiB7XG4gICAgc2luZ3VsYXJOYW1lPzogc3RyaW5nXG4gIH1cbiAgaW1hZ2VBbHRUZXh0Pzogc3RyaW5nXG4gIGltYWdlVVJMPzogc3RyaW5nXG4gIC8qKiBDdXN0b21pemUgZ2VuZXJhdGVkIEdyYXBoUUwgYW5kIFR5cGVzY3JpcHQgc2NoZW1hIG5hbWVzLlxuICAgKiBUaGUgc2x1ZyBpcyB1c2VkIGJ5IGRlZmF1bHQuXG4gICAqXG4gICAqIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSB3b3VsZCBsaWtlIHRvIGdlbmVyYXRlIGEgdG9wIGxldmVsIHR5cGUgdG8gc2hhcmUgYW1vbmdzdCBjb2xsZWN0aW9ucy9maWVsZHMuXG4gICAqICoqTm90ZSoqOiBUb3AgbGV2ZWwgdHlwZXMgY2FuIGNvbGxpZGUsIGVuc3VyZSB0aGV5IGFyZSB1bmlxdWUgYW1vbmcgY29sbGVjdGlvbnMsIGFycmF5cywgZ3JvdXBzLCBibG9ja3MsIHRhYnMuXG4gICAqL1xuICBpbnRlcmZhY2VOYW1lPzogc3RyaW5nXG4gIGxhYmVscz86IExhYmVsc1xuICBzbHVnOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQmxvY2tGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBpbml0Q29sbGFwc2VkPzogYm9vbGVhbiB8IGZhbHNlXG4gIH1cbiAgYmxvY2tzOiBCbG9ja1tdXG4gIGRlZmF1bHRWYWx1ZT86IHVua25vd25cbiAgbGFiZWxzPzogTGFiZWxzXG4gIG1heFJvd3M/OiBudW1iZXJcbiAgbWluUm93cz86IG51bWJlclxuICB0eXBlOiAnYmxvY2tzJ1xufVxuXG5leHBvcnQgdHlwZSBQb2ludEZpZWxkID0gRmllbGRCYXNlICYge1xuICB0eXBlOiAncG9pbnQnXG59XG5cbmV4cG9ydCB0eXBlIEZpZWxkID1cbiAgfCBBcnJheUZpZWxkXG4gIHwgQmxvY2tGaWVsZFxuICB8IENoZWNrYm94RmllbGRcbiAgfCBDb2RlRmllbGRcbiAgfCBDb2xsYXBzaWJsZUZpZWxkXG4gIHwgRGF0ZUZpZWxkXG4gIHwgRW1haWxGaWVsZFxuICB8IEdyb3VwRmllbGRcbiAgfCBKU09ORmllbGRcbiAgfCBOdW1iZXJGaWVsZFxuICB8IFBvaW50RmllbGRcbiAgfCBSYWRpb0ZpZWxkXG4gIHwgUmVsYXRpb25zaGlwRmllbGRcbiAgfCBSaWNoVGV4dEZpZWxkXG4gIHwgUm93RmllbGRcbiAgfCBTZWxlY3RGaWVsZFxuICB8IFRhYnNGaWVsZFxuICB8IFRleHRGaWVsZFxuICB8IFRleHRhcmVhRmllbGRcbiAgfCBVSUZpZWxkXG4gIHwgVXBsb2FkRmllbGRcblxuZXhwb3J0IHR5cGUgRmllbGRBZmZlY3RpbmdEYXRhID1cbiAgfCBBcnJheUZpZWxkXG4gIHwgQmxvY2tGaWVsZFxuICB8IENoZWNrYm94RmllbGRcbiAgfCBDb2RlRmllbGRcbiAgfCBEYXRlRmllbGRcbiAgfCBFbWFpbEZpZWxkXG4gIHwgR3JvdXBGaWVsZFxuICB8IEpTT05GaWVsZFxuICB8IE51bWJlckZpZWxkXG4gIHwgUG9pbnRGaWVsZFxuICB8IFJhZGlvRmllbGRcbiAgfCBSZWxhdGlvbnNoaXBGaWVsZFxuICB8IFJpY2hUZXh0RmllbGRcbiAgfCBTZWxlY3RGaWVsZFxuICB8IFRhYkFzRmllbGRcbiAgfCBUZXh0RmllbGRcbiAgfCBUZXh0YXJlYUZpZWxkXG4gIHwgVXBsb2FkRmllbGRcblxuZXhwb3J0IHR5cGUgTm9uUHJlc2VudGF0aW9uYWxGaWVsZCA9XG4gIHwgQXJyYXlGaWVsZFxuICB8IEJsb2NrRmllbGRcbiAgfCBDaGVja2JveEZpZWxkXG4gIHwgQ29kZUZpZWxkXG4gIHwgQ29sbGFwc2libGVGaWVsZFxuICB8IERhdGVGaWVsZFxuICB8IEVtYWlsRmllbGRcbiAgfCBHcm91cEZpZWxkXG4gIHwgSlNPTkZpZWxkXG4gIHwgTnVtYmVyRmllbGRcbiAgfCBQb2ludEZpZWxkXG4gIHwgUmFkaW9GaWVsZFxuICB8IFJlbGF0aW9uc2hpcEZpZWxkXG4gIHwgUmljaFRleHRGaWVsZFxuICB8IFJvd0ZpZWxkXG4gIHwgU2VsZWN0RmllbGRcbiAgfCBUYWJzRmllbGRcbiAgfCBUZXh0RmllbGRcbiAgfCBUZXh0YXJlYUZpZWxkXG4gIHwgVXBsb2FkRmllbGRcblxuZXhwb3J0IHR5cGUgRmllbGRXaXRoUGF0aCA9IEZpZWxkICYge1xuICBwYXRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEZpZWxkV2l0aFN1YkZpZWxkcyA9IEFycmF5RmllbGQgfCBDb2xsYXBzaWJsZUZpZWxkIHwgR3JvdXBGaWVsZCB8IFJvd0ZpZWxkXG5cbmV4cG9ydCB0eXBlIEZpZWxkUHJlc2VudGF0aW9uYWxPbmx5ID0gVUlGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZFdpdGhNYW55ID0gUmVsYXRpb25zaGlwRmllbGQgfCBTZWxlY3RGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZFdpdGhNYXhEZXB0aCA9IFJlbGF0aW9uc2hpcEZpZWxkIHwgVXBsb2FkRmllbGRcblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSGFzU3ViRmllbGRzKGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEZpZWxkV2l0aFN1YkZpZWxkcyB7XG4gIHJldHVybiAoXG4gICAgZmllbGQudHlwZSA9PT0gJ2dyb3VwJyB8fFxuICAgIGZpZWxkLnR5cGUgPT09ICdhcnJheScgfHxcbiAgICBmaWVsZC50eXBlID09PSAncm93JyB8fFxuICAgIGZpZWxkLnR5cGUgPT09ICdjb2xsYXBzaWJsZSdcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRJc0FycmF5VHlwZShmaWVsZDogRmllbGQpOiBmaWVsZCBpcyBBcnJheUZpZWxkIHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICdhcnJheSdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSXNCbG9ja1R5cGUoZmllbGQ6IEZpZWxkKTogZmllbGQgaXMgQmxvY2tGaWVsZCB7XG4gIHJldHVybiBmaWVsZC50eXBlID09PSAnYmxvY2tzJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uSXNPYmplY3Qob3B0aW9uOiBPcHRpb24pOiBvcHRpb24gaXMgT3B0aW9uT2JqZWN0IHtcbiAgcmV0dXJuIHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcHRpb25zQXJlT2JqZWN0cyhvcHRpb25zOiBPcHRpb25bXSk6IG9wdGlvbnMgaXMgT3B0aW9uT2JqZWN0W10ge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJiB0eXBlb2Ygb3B0aW9ucz8uWzBdID09PSAnb2JqZWN0J1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uSXNWYWx1ZShvcHRpb246IE9wdGlvbik6IG9wdGlvbiBpcyBzdHJpbmcge1xuICByZXR1cm4gdHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZydcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkU3VwcG9ydHNNYW55KGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEZpZWxkV2l0aE1hbnkge1xuICByZXR1cm4gZmllbGQudHlwZSA9PT0gJ3NlbGVjdCcgfHwgZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSGFzTWF4RGVwdGgoZmllbGQ6IEZpZWxkKTogZmllbGQgaXMgRmllbGRXaXRoTWF4RGVwdGgge1xuICByZXR1cm4gKFxuICAgIChmaWVsZC50eXBlID09PSAndXBsb2FkJyB8fCBmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJykgJiYgdHlwZW9mIGZpZWxkLm1heERlcHRoID09PSAnbnVtYmVyJ1xuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5KGZpZWxkOiBGaWVsZCB8IFRhYkFzRmllbGQpOiBmaWVsZCBpcyBVSUZpZWxkIHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICd1aSdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkQWZmZWN0c0RhdGEoZmllbGQ6IEZpZWxkIHwgVGFiQXNGaWVsZCk6IGZpZWxkIGlzIEZpZWxkQWZmZWN0aW5nRGF0YSB7XG4gIHJldHVybiAnbmFtZScgaW4gZmllbGQgJiYgIWZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkoZmllbGQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJIYXNOYW1lKHRhYjogVGFiKTogdGFiIGlzIE5hbWVkVGFiIHtcbiAgcmV0dXJuICduYW1lJyBpbiB0YWJcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSXNMb2NhbGl6ZWQoZmllbGQ6IEZpZWxkIHwgVGFiKTogYm9vbGVhbiB7XG4gIHJldHVybiAnbG9jYWxpemVkJyBpbiBmaWVsZCAmJiBmaWVsZC5sb2NhbGl6ZWRcbn1cblxuZXhwb3J0IHR5cGUgSG9va05hbWUgPVxuICB8ICdhZnRlckNoYW5nZSdcbiAgfCAnYWZ0ZXJSZWFkJ1xuICB8ICdiZWZvcmVDaGFuZ2UnXG4gIHwgJ2JlZm9yZVJlYWQnXG4gIHwgJ2JlZm9yZVZhbGlkYXRlJ1xuIl0sIm5hbWVzIjpbInZhbHVlSXNWYWx1ZVdpdGhSZWxhdGlvbiIsImZpZWxkSGFzU3ViRmllbGRzIiwiZmllbGRJc0FycmF5VHlwZSIsImZpZWxkSXNCbG9ja1R5cGUiLCJvcHRpb25Jc09iamVjdCIsIm9wdGlvbnNBcmVPYmplY3RzIiwib3B0aW9uSXNWYWx1ZSIsImZpZWxkU3VwcG9ydHNNYW55IiwiZmllbGRIYXNNYXhEZXB0aCIsImZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkiLCJmaWVsZEFmZmVjdHNEYXRhIiwidGFiSGFzTmFtZSIsImZpZWxkSXNMb2NhbGl6ZWQiLCJ2YWx1ZSIsImZpZWxkIiwidHlwZSIsIm9wdGlvbiIsIm9wdGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJtYXhEZXB0aCIsInRhYiIsImxvY2FsaXplZCJdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDOzs7Ozs7Ozs7OztJQXNZdkJBLHdCQUF3QjtlQUF4QkE7O0lBK0pBQyxpQkFBaUI7ZUFBakJBOztJQVNBQyxnQkFBZ0I7ZUFBaEJBOztJQUlBQyxnQkFBZ0I7ZUFBaEJBOztJQUlBQyxjQUFjO2VBQWRBOztJQUlBQyxpQkFBaUI7ZUFBakJBOztJQUlBQyxhQUFhO2VBQWJBOztJQUlBQyxpQkFBaUI7ZUFBakJBOztJQUlBQyxnQkFBZ0I7ZUFBaEJBOztJQU1BQyx5QkFBeUI7ZUFBekJBOztJQUlBQyxnQkFBZ0I7ZUFBaEJBOztJQUlBQyxVQUFVO2VBQVZBOztJQUlBQyxnQkFBZ0I7ZUFBaEJBOzs7QUFsTlQsU0FBU1oseUJBQXlCYSxLQUFjO0lBQ3JELE9BQU9BLFVBQVUsUUFBUSxPQUFPQSxVQUFVLFlBQVksZ0JBQWdCQSxTQUFTLFdBQVdBO0FBQzVGO0FBNkpPLFNBQVNaLGtCQUFrQmEsS0FBWTtJQUM1QyxPQUNFQSxNQUFNQyxJQUFJLEtBQUssV0FDZkQsTUFBTUMsSUFBSSxLQUFLLFdBQ2ZELE1BQU1DLElBQUksS0FBSyxTQUNmRCxNQUFNQyxJQUFJLEtBQUs7QUFFbkI7QUFFTyxTQUFTYixpQkFBaUJZLEtBQVk7SUFDM0MsT0FBT0EsTUFBTUMsSUFBSSxLQUFLO0FBQ3hCO0FBRU8sU0FBU1osaUJBQWlCVyxLQUFZO0lBQzNDLE9BQU9BLE1BQU1DLElBQUksS0FBSztBQUN4QjtBQUVPLFNBQVNYLGVBQWVZLE1BQWM7SUFDM0MsT0FBTyxPQUFPQSxXQUFXO0FBQzNCO0FBRU8sU0FBU1gsa0JBQWtCWSxPQUFpQjtJQUNqRCxPQUFPQyxNQUFNQyxPQUFPLENBQUNGLFlBQVksT0FBT0EsU0FBUyxDQUFDLEVBQUUsS0FBSztBQUMzRDtBQUVPLFNBQVNYLGNBQWNVLE1BQWM7SUFDMUMsT0FBTyxPQUFPQSxXQUFXO0FBQzNCO0FBRU8sU0FBU1Qsa0JBQWtCTyxLQUFZO0lBQzVDLE9BQU9BLE1BQU1DLElBQUksS0FBSyxZQUFZRCxNQUFNQyxJQUFJLEtBQUs7QUFDbkQ7QUFFTyxTQUFTUCxpQkFBaUJNLEtBQVk7SUFDM0MsT0FDRSxBQUFDQSxDQUFBQSxNQUFNQyxJQUFJLEtBQUssWUFBWUQsTUFBTUMsSUFBSSxLQUFLLGNBQWEsS0FBTSxPQUFPRCxNQUFNTSxRQUFRLEtBQUs7QUFFNUY7QUFFTyxTQUFTWCwwQkFBMEJLLEtBQXlCO0lBQ2pFLE9BQU9BLE1BQU1DLElBQUksS0FBSztBQUN4QjtBQUVPLFNBQVNMLGlCQUFpQkksS0FBeUI7SUFDeEQsT0FBTyxVQUFVQSxTQUFTLENBQUNMLDBCQUEwQks7QUFDdkQ7QUFFTyxTQUFTSCxXQUFXVSxHQUFRO0lBQ2pDLE9BQU8sVUFBVUE7QUFDbkI7QUFFTyxTQUFTVCxpQkFBaUJFLEtBQWtCO0lBQ2pELE9BQU8sZUFBZUEsU0FBU0EsTUFBTVEsU0FBUztBQUNoRCJ9
@@ -11,7 +11,7 @@ export declare const json: Validate<unknown, unknown, JSONField & {
11
11
  }>;
12
12
  export declare const checkbox: Validate<unknown, unknown, CheckboxField>;
13
13
  export declare const date: Validate<unknown, unknown, DateField>;
14
- export declare const richText: Validate<unknown, unknown, RichTextField, RichTextField>;
14
+ export declare const richText: Validate<object, unknown, RichTextField, RichTextField>;
15
15
  export declare const upload: Validate<unknown, unknown, UploadField>;
16
16
  export declare const relationship: Validate<unknown, unknown, RelationshipField>;
17
17
  export declare const array: Validate<unknown, unknown, ArrayField>;
@@ -55,7 +55,7 @@ declare const _default: {
55
55
  point: Validate<unknown, unknown, PointField>;
56
56
  radio: Validate<unknown, unknown, RadioField>;
57
57
  relationship: Validate<unknown, unknown, RelationshipField>;
58
- richText: Validate<unknown, unknown, RichTextField, RichTextField>;
58
+ richText: Validate<object, unknown, RichTextField, RichTextField>;
59
59
  select: Validate<unknown, unknown, SelectField>;
60
60
  text: Validate<unknown, unknown, TextField>;
61
61
  textarea: Validate<unknown, unknown, TextareaField>;
@@ -1 +1 @@
1
- {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/fields/validations.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,iBAAiB,EAEjB,aAAa,EACb,WAAW,EACX,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAOvB,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAqD1D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAuBtD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAsB1D,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAMxD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAqB9D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAMtD,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAa/E,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAS9D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAetD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,CAO7E,CAAA;AA2FD,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAkB1D,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CA8DtE,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAmBxD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAmC1D,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CASxD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAmBzD,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAqBxD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,wBAkBC"}
1
+ {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/fields/validations.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,iBAAiB,EAEjB,aAAa,EACb,WAAW,EACX,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAOvB,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAqD1D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAuBtD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAsB1D,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAMxD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAqB9D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAMtD,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAa/E,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAS9D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAetD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,CAO5E,CAAA;AA2FD,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAkB1D,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CA8DtE,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAmBxD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAmC1D,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CASxD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAmBzD,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAqBxD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,wBAkBC"}
@@ -460,4 +460,4 @@ const _default = {
460
460
  upload
461
461
  };
462
462
 
463
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi9leHBvcnRzL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJlbGF0aW9uc2hpcFZhbHVlLFxuICBSaWNoVGV4dEZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbiAgVmFsaWRhdGUsXG59IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgY2FuVXNlRE9NIGZyb20gJy4uL3V0aWxpdGllcy9jYW5Vc2VET00nXG5pbXBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuaW1wb3J0IHsgaXNWYWxpZElEIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzVmFsaWRJRCdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuL2NvbmZpZy90eXBlcydcblxuZXhwb3J0IGNvbnN0IG51bWJlcjogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgTnVtYmVyRmllbGQ+ID0gKFxuICB2YWx1ZTogbnVtYmVyIHwgbnVtYmVyW10sXG4gIHsgaGFzTWFueSwgbWF4LCBtYXhSb3dzLCBtaW4sIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgdG9WYWxpZGF0ZTogbnVtYmVyW10gPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxuICBmb3IgKGNvbnN0IHZhbHVlVG9WYWxpZGF0ZSBvZiB0b1ZhbGlkYXRlKSB7XG4gICAgY29uc3QgZmxvYXRWYWx1ZSA9IHBhcnNlRmxvYXQodmFsdWVUb1ZhbGlkYXRlIGFzIHVua25vd24gYXMgc3RyaW5nKVxuICAgIGlmIChcbiAgICAgICh2YWx1ZSAmJiB0eXBlb2YgZmxvYXRWYWx1ZSAhPT0gJ251bWJlcicpIHx8XG4gICAgICAocmVxdWlyZWQgJiYgTnVtYmVyLmlzTmFOKGZsb2F0VmFsdWUpKSB8fFxuICAgICAgKHZhbHVlICYmIE51bWJlci5pc05hTihmbG9hdFZhbHVlKSlcbiAgICApIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmVudGVyTnVtYmVyJylcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1heCA9PT0gJ251bWJlcicgJiYgZmxvYXRWYWx1ZSA+IG1heCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCd2YWx1ZScpLCBtYXgsIHZhbHVlIH0pXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtaW4gPT09ICdudW1iZXInICYmIGZsb2F0VmFsdWUgPCBtaW4pIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxlc3NUaGFuTWluJywgeyBsYWJlbDogdCgndmFsdWUnKSwgbWluLCB2YWx1ZSB9KVxuICAgIH1cblxuICAgIGlmIChyZXF1aXJlZCAmJiB0eXBlb2YgZmxvYXRWYWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICB9XG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgdG9WYWxpZGF0ZS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgIGlmIChtaW5Sb3dzICYmIHRvVmFsaWRhdGUubGVuZ3RoIDwgbWluUm93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bGVzc1RoYW5NaW4nLCB7XG4gICAgICAgIGxhYmVsOiB0KCdyb3dzJyksXG4gICAgICAgIG1pbjogbWluUm93cyxcbiAgICAgICAgdmFsdWU6IHRvVmFsaWRhdGUubGVuZ3RoLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAobWF4Um93cyAmJiB0b1ZhbGlkYXRlLmxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmdyZWF0ZXJUaGFuTWF4Jywge1xuICAgICAgICBsYWJlbDogdCgncm93cycpLFxuICAgICAgICBtYXg6IG1heFJvd3MsXG4gICAgICAgIHZhbHVlOiB0b1ZhbGlkYXRlLmxlbmd0aCxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHRleHQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIHsgY29uZmlnLCBtYXhMZW5ndGg6IGZpZWxkTWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHBheWxvYWQsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgbGV0IG1heExlbmd0aDogbnVtYmVyXG5cbiAgaWYgKHR5cGVvZiBjb25maWc/LmRlZmF1bHRNYXhUZXh0TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuICBpZiAodmFsdWUgJiYgbWF4TGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JywgeyBtYXhMZW5ndGggfSlcbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiBtaW5MZW5ndGggJiYgdmFsdWU/Lmxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IG1pbkxlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgfHwgdmFsdWU/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBwYXNzd29yZDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVGV4dEZpZWxkPiA9IChcbiAgdmFsdWU6IHN0cmluZyxcbiAgeyBjb25maWcsIG1heExlbmd0aDogZmllbGRNYXhMZW5ndGgsIG1pbkxlbmd0aCwgcGF5bG9hZCwgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBsZXQgbWF4TGVuZ3RoOiBudW1iZXJcblxuICBpZiAodHlwZW9mIGNvbmZpZz8uZGVmYXVsdE1heFRleHRMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBjb25maWcuZGVmYXVsdE1heFRleHRMZW5ndGhcbiAgaWYgKHR5cGVvZiBmaWVsZE1heExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGZpZWxkTWF4TGVuZ3RoXG5cbiAgaWYgKHZhbHVlICYmIG1heExlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcsIHsgbWF4TGVuZ3RoIH0pXG4gIH1cblxuICBpZiAodmFsdWUgJiYgbWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IG1pbkxlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBlbWFpbDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgRW1haWxGaWVsZD4gPSAodmFsdWU6IHN0cmluZywgeyByZXF1aXJlZCwgdCB9KSA9PiB7XG4gIGlmICgodmFsdWUgJiYgIS9cXFNbXlxcc0BdKkBcXFMrXFwuXFxTKy8udGVzdCh2YWx1ZSkpIHx8ICghdmFsdWUgJiYgcmVxdWlyZWQpKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246ZW1haWxBZGRyZXNzJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCB0ZXh0YXJlYTogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVGV4dGFyZWFGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIHsgY29uZmlnLCBtYXhMZW5ndGg6IGZpZWxkTWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHBheWxvYWQsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgbGV0IG1heExlbmd0aDogbnVtYmVyXG5cbiAgaWYgKHR5cGVvZiBjb25maWc/LmRlZmF1bHRNYXhUZXh0TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuICBpZiAodmFsdWUgJiYgbWF4TGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JywgeyBtYXhMZW5ndGggfSlcbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiBtaW5MZW5ndGggJiYgdmFsdWUubGVuZ3RoIDwgbWluTGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicsIHsgbWluTGVuZ3RoIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGNvZGU6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIENvZGVGaWVsZD4gPSAodmFsdWU6IHN0cmluZywgeyByZXF1aXJlZCwgdCB9KSA9PiB7XG4gIGlmIChyZXF1aXJlZCAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGpzb246IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEpTT05GaWVsZCAmIHsganNvbkVycm9yPzogc3RyaW5nIH0+ID0gKFxuICB2YWx1ZTogc3RyaW5nLFxuICB7IGpzb25FcnJvciwgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBpZiAocmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKGpzb25FcnJvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZElucHV0JylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBjaGVja2JveDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgQ2hlY2tib3hGaWVsZD4gPSAoXG4gIHZhbHVlOiBib29sZWFuLFxuICB7IHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKCh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykgfHwgKHJlcXVpcmVkICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnRydWVPckZhbHNlJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBkYXRlOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBEYXRlRmllbGQ+ID0gKHZhbHVlLCB7IHJlcXVpcmVkLCB0IH0pID0+IHtcbiAgaWYgKHZhbHVlICYmICFpc05hTihEYXRlLnBhcnNlKHZhbHVlLnRvU3RyaW5nKCkpKSkge1xuICAgIC8qIGVzbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgaWYgKHZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bm90VmFsaWREYXRlJywgeyB2YWx1ZSB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHJpY2hUZXh0OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBSaWNoVGV4dEZpZWxkLCBSaWNoVGV4dEZpZWxkPiA9IGFzeW5jIChcbiAgdmFsdWUsXG4gIG9wdGlvbnMsXG4pID0+IHtcbiAgY29uc3QgZWRpdG9yOiBSaWNoVGV4dEFkYXB0ZXIgPSBvcHRpb25zPy5lZGl0b3JcblxuICByZXR1cm4gYXdhaXQgZWRpdG9yLnZhbGlkYXRlKHZhbHVlLCBvcHRpb25zKVxufVxuXG5jb25zdCB2YWxpZGF0ZUZpbHRlck9wdGlvbnM6IFZhbGlkYXRlID0gYXN5bmMgKFxuICB2YWx1ZSxcbiAgeyBpZCwgZGF0YSwgZmlsdGVyT3B0aW9ucywgcGF5bG9hZCwgcmVsYXRpb25Ubywgc2libGluZ0RhdGEsIHQsIHVzZXIgfSxcbikgPT4ge1xuICBpZiAoIWNhblVzZURPTSAmJiB0eXBlb2YgZmlsdGVyT3B0aW9ucyAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUpIHtcbiAgICBjb25zdCBvcHRpb25zOiB7XG4gICAgICBbY29sbGVjdGlvbjogc3RyaW5nXTogKG51bWJlciB8IHN0cmluZylbXVxuICAgIH0gPSB7fVxuXG4gICAgY29uc3QgY29sbGVjdGlvbnMgPSB0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycgPyBbcmVsYXRpb25Ub10gOiByZWxhdGlvblRvXG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgY29sbGVjdGlvbnMubWFwKGFzeW5jIChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbkZpbHRlciA9XG4gICAgICAgICAgdHlwZW9mIGZpbHRlck9wdGlvbnMgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gYXdhaXQgZmlsdGVyT3B0aW9ucyh7XG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgIHNpYmxpbmdEYXRhLFxuICAgICAgICAgICAgICAgIHVzZXIsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IGZpbHRlck9wdGlvbnNcblxuICAgICAgICBjb25zdCB2YWx1ZUlEczogKG51bWJlciB8IHN0cmluZylbXSA9IFtdXG5cbiAgICAgICAgdmFsdWVzLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiB2YWw/LnZhbHVlKSB7XG4gICAgICAgICAgICB2YWx1ZUlEcy5wdXNoKHZhbC52YWx1ZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHZhbHVlSURzLnB1c2godmFsKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICBpZiAodmFsdWVJRHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBheWxvYWQuZmluZCh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgZGVwdGg6IDAsXG4gICAgICAgICAgICBsaW1pdDogMCxcbiAgICAgICAgICAgIHBhZ2luYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgICAgYW5kOiBbeyBpZDogeyBpbjogdmFsdWVJRHMgfSB9LCBvcHRpb25GaWx0ZXJdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgb3B0aW9uc1tjb2xsZWN0aW9uXSA9IHJlc3VsdC5kb2NzLm1hcCgoZG9jKSA9PiBkb2MuaWQpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3B0aW9uc1tjb2xsZWN0aW9uXSA9IFtdXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgIClcblxuICAgIGNvbnN0IGludmFsaWRSZWxhdGlvbnNoaXBzID0gdmFsdWVzLmZpbHRlcigodmFsKSA9PiB7XG4gICAgICBsZXQgY29sbGVjdGlvbjogc3RyaW5nXG4gICAgICBsZXQgcmVxdWVzdGVkSUQ6IG51bWJlciB8IHN0cmluZ1xuXG4gICAgICBpZiAodHlwZW9mIHJlbGF0aW9uVG8gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbGxlY3Rpb24gPSByZWxhdGlvblRvXG5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKSAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiB2YWw/LnJlbGF0aW9uVG8pIHtcbiAgICAgICAgY29sbGVjdGlvbiA9IHZhbC5yZWxhdGlvblRvXG4gICAgICAgIHJlcXVlc3RlZElEID0gdmFsLnZhbHVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvcHRpb25zW2NvbGxlY3Rpb25dLmluZGV4T2YocmVxdWVzdGVkSUQpID09PSAtMVxuICAgIH0pXG5cbiAgICBpZiAoaW52YWxpZFJlbGF0aW9uc2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGludmFsaWRSZWxhdGlvbnNoaXBzLnJlZHVjZSgoZXJyLCBpbnZhbGlkLCBpKSA9PiB7XG4gICAgICAgIHJldHVybiBgJHtlcnJ9ICR7SlNPTi5zdHJpbmdpZnkoaW52YWxpZCl9JHtcbiAgICAgICAgICBpbnZhbGlkUmVsYXRpb25zaGlwcy5sZW5ndGggPT09IGkgKyAxID8gJywnIDogJydcbiAgICAgICAgfSBgXG4gICAgICB9LCB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb25zJykpIGFzIHN0cmluZ1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgdXBsb2FkOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBVcGxvYWRGaWVsZD4gPSAodmFsdWU6IHN0cmluZywgb3B0aW9ucykgPT4ge1xuICBpZiAoIXZhbHVlICYmIG9wdGlvbnMucmVxdWlyZWQpIHtcbiAgICByZXR1cm4gb3B0aW9ucy50KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIGlmICghY2FuVXNlRE9NICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICBjb25zdCBpZEZpZWxkID0gb3B0aW9ucz8uY29uZmlnPy5jb2xsZWN0aW9uc1xuICAgICAgPy5maW5kKChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uLnNsdWcgPT09IG9wdGlvbnMucmVsYXRpb25UbylcbiAgICAgID8uZmllbGRzPy5maW5kKChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJylcblxuICAgIGNvbnN0IHR5cGUgPSBnZXRJRFR5cGUoaWRGaWVsZCwgb3B0aW9ucz8ucGF5bG9hZD8uZGI/LmRlZmF1bHRJRFR5cGUpXG5cbiAgICBpZiAoIWlzVmFsaWRJRCh2YWx1ZSwgdHlwZSkpIHtcbiAgICAgIHJldHVybiBvcHRpb25zLnQoJ3ZhbGlkYXRpb246dmFsaWRVcGxvYWRJRCcpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhbGlkYXRlRmlsdGVyT3B0aW9ucyh2YWx1ZSwgb3B0aW9ucylcbn1cblxuZXhwb3J0IGNvbnN0IHJlbGF0aW9uc2hpcDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgUmVsYXRpb25zaGlwRmllbGQ+ID0gYXN5bmMgKFxuICB2YWx1ZTogUmVsYXRpb25zaGlwVmFsdWUsXG4gIG9wdGlvbnMsXG4pID0+IHtcbiAgY29uc3QgeyBjb25maWcsIG1heFJvd3MsIG1pblJvd3MsIHBheWxvYWQsIHJlbGF0aW9uVG8sIHJlcXVpcmVkLCB0IH0gPSBvcHRpb25zXG5cbiAgaWYgKCghdmFsdWUgfHwgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkpICYmIHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgaWYgKG1pblJvd3MgJiYgdmFsdWUubGVuZ3RoIDwgbWluUm93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bGVzc1RoYW5NaW4nLCB7IGxhYmVsOiB0KCdyb3dzJyksIG1pbjogbWluUm93cywgdmFsdWU6IHZhbHVlLmxlbmd0aCB9KVxuICAgIH1cblxuICAgIGlmIChtYXhSb3dzICYmIHZhbHVlLmxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmdyZWF0ZXJUaGFuTWF4JywgeyBsYWJlbDogdCgncm93cycpLCBtYXg6IG1heFJvd3MsIHZhbHVlOiB2YWx1ZS5sZW5ndGggfSlcbiAgICB9XG4gIH1cblxuICBpZiAoIWNhblVzZURPTSAmJiB0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICAgIGNvbnN0IGludmFsaWRSZWxhdGlvbnNoaXBzID0gdmFsdWVzLmZpbHRlcigodmFsKSA9PiB7XG4gICAgICBsZXQgY29sbGVjdGlvblNsdWc6IHN0cmluZ1xuICAgICAgbGV0IHJlcXVlc3RlZElEXG5cbiAgICAgIGlmICh0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29sbGVjdGlvblNsdWcgPSByZWxhdGlvblRvXG5cbiAgICAgICAgLy8gY3VzdG9tIGlkXG4gICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHZhbD8ucmVsYXRpb25Ubykge1xuICAgICAgICBjb2xsZWN0aW9uU2x1ZyA9IHZhbC5yZWxhdGlvblRvXG4gICAgICAgIHJlcXVlc3RlZElEID0gdmFsLnZhbHVlXG4gICAgICB9XG5cbiAgICAgIGlmIChyZXF1ZXN0ZWRJRCA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlXG5cbiAgICAgIGNvbnN0IGlkRmllbGQgPSBjb25maWc/LmNvbGxlY3Rpb25zXG4gICAgICAgID8uZmluZCgoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi5zbHVnID09PSBjb2xsZWN0aW9uU2x1ZylcbiAgICAgICAgPy5maWVsZHM/LmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuXG4gICAgICBjb25zdCB0eXBlID0gZ2V0SURUeXBlKGlkRmllbGQsIHBheWxvYWQ/LmRiPy5kZWZhdWx0SURUeXBlKVxuXG4gICAgICByZXR1cm4gIWlzVmFsaWRJRChyZXF1ZXN0ZWRJRCwgdHlwZSlcbiAgICB9KVxuXG4gICAgaWYgKGludmFsaWRSZWxhdGlvbnNoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBgVGhpcyBmaWVsZCBoYXMgdGhlIGZvbGxvd2luZyBpbnZhbGlkIHNlbGVjdGlvbnM6ICR7aW52YWxpZFJlbGF0aW9uc2hpcHNcbiAgICAgICAgLm1hcCgoZXJyLCBpbnZhbGlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAke2Vycn0gJHtKU09OLnN0cmluZ2lmeShpbnZhbGlkKX1gXG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCcsICcpfWBcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFsaWRhdGVGaWx0ZXJPcHRpb25zKHZhbHVlLCBvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgYXJyYXk6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEFycmF5RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5sZW5ndGggOiAwXG5cbiAgaWYgKG1pblJvd3MgJiYgYXJyYXlMZW5ndGggPCBtaW5Sb3dzKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNBdExlYXN0JywgeyBjb3VudDogbWluUm93cywgbGFiZWw6IHQoJ3Jvd3MnKSB9KVxuICB9XG5cbiAgaWYgKG1heFJvd3MgJiYgYXJyYXlMZW5ndGggPiBtYXhSb3dzKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNOb01vcmVUaGFuJywgeyBjb3VudDogbWF4Um93cywgbGFiZWw6IHQoJ3Jvd3MnKSB9KVxuICB9XG5cbiAgaWYgKCFhcnJheUxlbmd0aCAmJiByZXF1aXJlZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzQXRMZWFzdCcsIHsgY291bnQ6IDEsIGxhYmVsOiB0KCdyb3cnKSB9KVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHNlbGVjdDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgU2VsZWN0RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBoYXNNYW55LCBvcHRpb25zLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGlmIChcbiAgICBBcnJheS5pc0FycmF5KHZhbHVlKSAmJlxuICAgIHZhbHVlLnNvbWUoXG4gICAgICAoaW5wdXQpID0+XG4gICAgICAgICFvcHRpb25zLnNvbWUoXG4gICAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uID09PSBpbnB1dCB8fCAodHlwZW9mIG9wdGlvbiAhPT0gJ3N0cmluZycgJiYgb3B0aW9uPy52YWx1ZSA9PT0gaW5wdXQpLFxuICAgICAgICApLFxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbicpXG4gIH1cblxuICBpZiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJlxuICAgICFvcHRpb25zLnNvbWUoXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IHZhbHVlIHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24udmFsdWUgPT09IHZhbHVlKSxcbiAgICApXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb24nKVxuICB9XG5cbiAgaWYgKFxuICAgIHJlcXVpcmVkICYmXG4gICAgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHxcbiAgICAgIHZhbHVlID09PSBudWxsIHx8XG4gICAgICAoaGFzTWFueSAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAodmFsdWUgYXMgW10pPy5sZW5ndGggPT09IDApKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcmFkaW86IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFJhZGlvRmllbGQ+ID0gKHZhbHVlLCB7IG9wdGlvbnMsIHJlcXVpcmVkLCB0IH0pID0+IHtcbiAgaWYgKHZhbHVlKSB7XG4gICAgY29uc3QgdmFsdWVNYXRjaGVzT3B0aW9uID0gb3B0aW9ucy5zb21lKFxuICAgICAgKG9wdGlvbikgPT4gb3B0aW9uID09PSB2YWx1ZSB8fCAodHlwZW9mIG9wdGlvbiAhPT0gJ3N0cmluZycgJiYgb3B0aW9uLnZhbHVlID09PSB2YWx1ZSksXG4gICAgKVxuICAgIHJldHVybiB2YWx1ZU1hdGNoZXNPcHRpb24gfHwgdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9uJylcbiAgfVxuXG4gIHJldHVybiByZXF1aXJlZCA/IHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKSA6IHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGJsb2NrczogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgQmxvY2tGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgYXJyYXlMZW5ndGggPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmxlbmd0aCA6IDBcblxuICBpZiAobWluUm93cyAmJiBhcnJheUxlbmd0aCA8IG1pblJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnLCB7IGNvdW50OiBtaW5Sb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAobWF4Um93cyAmJiBhcnJheUxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc05vTW9yZVRoYW4nLCB7IGNvdW50OiBtYXhSb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAoIWFycmF5TGVuZ3RoICYmIHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNBdExlYXN0JywgeyBjb3VudDogMSwgbGFiZWw6IHQoJ3JvdycpIH0pXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcG9pbnQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFBvaW50RmllbGQ+ID0gKFxuICB2YWx1ZTogW251bWJlciB8IHN0cmluZywgbnVtYmVyIHwgc3RyaW5nXSA9IFsnJywgJyddLFxuICB7IHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgbG5nID0gcGFyc2VGbG9hdChTdHJpbmcodmFsdWVbMF0pKVxuICBjb25zdCBsYXQgPSBwYXJzZUZsb2F0KFN0cmluZyh2YWx1ZVsxXSkpXG4gIGlmIChcbiAgICByZXF1aXJlZCAmJlxuICAgICgodmFsdWVbMF0gJiYgdmFsdWVbMV0gJiYgdHlwZW9mIGxuZyAhPT0gJ251bWJlcicgJiYgdHlwZW9mIGxhdCAhPT0gJ251bWJlcicpIHx8XG4gICAgICBOdW1iZXIuaXNOYU4obG5nKSB8fFxuICAgICAgTnVtYmVyLmlzTmFOKGxhdCkgfHxcbiAgICAgIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggIT09IDIpKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc1R3b051bWJlcnMnKVxuICB9XG5cbiAgaWYgKCh2YWx1ZVsxXSAmJiBOdW1iZXIuaXNOYU4obG5nKSkgfHwgKHZhbHVlWzBdICYmIE51bWJlci5pc05hTihsYXQpKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRJbnB1dCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGFycmF5LFxuICBibG9ja3MsXG4gIGNoZWNrYm94LFxuICBjb2RlLFxuICBkYXRlLFxuICBlbWFpbCxcbiAganNvbixcbiAgbnVtYmVyLFxuICBwYXNzd29yZCxcbiAgcG9pbnQsXG4gIHJhZGlvLFxuICByZWxhdGlvbnNoaXAsXG4gIHJpY2hUZXh0LFxuICBzZWxlY3QsXG4gIHRleHQsXG4gIHRleHRhcmVhLFxuICB1cGxvYWQsXG59XG4iXSwibmFtZXMiOlsibnVtYmVyIiwidGV4dCIsInBhc3N3b3JkIiwiZW1haWwiLCJ0ZXh0YXJlYSIsImNvZGUiLCJqc29uIiwiY2hlY2tib3giLCJkYXRlIiwicmljaFRleHQiLCJ1cGxvYWQiLCJyZWxhdGlvbnNoaXAiLCJhcnJheSIsInNlbGVjdCIsInJhZGlvIiwiYmxvY2tzIiwicG9pbnQiLCJ2YWx1ZSIsImhhc01hbnkiLCJtYXgiLCJtYXhSb3dzIiwibWluIiwibWluUm93cyIsInJlcXVpcmVkIiwidCIsInRvVmFsaWRhdGUiLCJBcnJheSIsImlzQXJyYXkiLCJ2YWx1ZVRvVmFsaWRhdGUiLCJmbG9hdFZhbHVlIiwicGFyc2VGbG9hdCIsIk51bWJlciIsImlzTmFOIiwibGFiZWwiLCJsZW5ndGgiLCJjb25maWciLCJtYXhMZW5ndGgiLCJmaWVsZE1heExlbmd0aCIsIm1pbkxlbmd0aCIsInBheWxvYWQiLCJkZWZhdWx0TWF4VGV4dExlbmd0aCIsInRlc3QiLCJ1bmRlZmluZWQiLCJqc29uRXJyb3IiLCJEYXRlIiwicGFyc2UiLCJ0b1N0cmluZyIsIm9wdGlvbnMiLCJlZGl0b3IiLCJ2YWxpZGF0ZSIsInZhbGlkYXRlRmlsdGVyT3B0aW9ucyIsImlkIiwiZGF0YSIsImZpbHRlck9wdGlvbnMiLCJyZWxhdGlvblRvIiwic2libGluZ0RhdGEiLCJ1c2VyIiwiY2FuVXNlRE9NIiwiY29sbGVjdGlvbnMiLCJ2YWx1ZXMiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwiY29sbGVjdGlvbiIsIm9wdGlvbkZpbHRlciIsInZhbHVlSURzIiwiZm9yRWFjaCIsInZhbCIsInB1c2giLCJyZXN1bHQiLCJmaW5kIiwiZGVwdGgiLCJsaW1pdCIsInBhZ2luYXRpb24iLCJ3aGVyZSIsImFuZCIsImluIiwiZG9jcyIsImRvYyIsImludmFsaWRSZWxhdGlvbnNoaXBzIiwiZmlsdGVyIiwicmVxdWVzdGVkSUQiLCJpbmRleE9mIiwicmVkdWNlIiwiZXJyIiwiaW52YWxpZCIsImkiLCJKU09OIiwic3RyaW5naWZ5IiwiaWRGaWVsZCIsInNsdWciLCJmaWVsZHMiLCJmaWVsZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJuYW1lIiwidHlwZSIsImdldElEVHlwZSIsImRiIiwiZGVmYXVsdElEVHlwZSIsImlzVmFsaWRJRCIsImNvbGxlY3Rpb25TbHVnIiwiam9pbiIsImFycmF5TGVuZ3RoIiwiY291bnQiLCJzb21lIiwiaW5wdXQiLCJvcHRpb24iLCJ2YWx1ZU1hdGNoZXNPcHRpb24iLCJsbmciLCJTdHJpbmciLCJsYXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBMkJhQSxNQUFNO2VBQU5BOztJQXVEQUMsSUFBSTtlQUFKQTs7SUF5QkFDLFFBQVE7ZUFBUkE7O0lBd0JBQyxLQUFLO2VBQUxBOztJQVFBQyxRQUFRO2VBQVJBOztJQXVCQUMsSUFBSTtlQUFKQTs7SUFRQUMsSUFBSTtlQUFKQTs7SUFlQUMsUUFBUTtlQUFSQTs7SUFXQUMsSUFBSTtlQUFKQTs7SUFpQkFDLFFBQVE7ZUFBUkE7O0lBa0dBQyxNQUFNO2VBQU5BOztJQW9CQUMsWUFBWTtlQUFaQTs7SUFnRUFDLEtBQUs7ZUFBTEE7O0lBcUJBQyxNQUFNO2VBQU5BOztJQXFDQUMsS0FBSztlQUFMQTs7SUFXQUMsTUFBTTtlQUFOQTs7SUFxQkFDLEtBQUs7ZUFBTEE7O0lBdUJiLE9Ba0JDO2VBbEJEOzs7a0VBdGVzQjsyQkFDSTsyQkFDQTt1QkFDTzs7Ozs7O0FBRTFCLE1BQU1oQixTQUFrRCxDQUM3RGlCLE9BQ0EsRUFBRUMsT0FBTyxFQUFFQyxHQUFHLEVBQUVDLE9BQU8sRUFBRUMsR0FBRyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsQ0FBQyxFQUFFO0lBRXBELE1BQU1DLGFBQXVCQyxNQUFNQyxPQUFPLENBQUNWLFNBQVNBLFFBQVE7UUFBQ0E7S0FBTTtJQUVuRSxnREFBZ0Q7SUFDaEQsS0FBSyxNQUFNVyxt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
463
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi9leHBvcnRzL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJlbGF0aW9uc2hpcFZhbHVlLFxuICBSaWNoVGV4dEZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbiAgVmFsaWRhdGUsXG59IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgY2FuVXNlRE9NIGZyb20gJy4uL3V0aWxpdGllcy9jYW5Vc2VET00nXG5pbXBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuaW1wb3J0IHsgaXNWYWxpZElEIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzVmFsaWRJRCdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuL2NvbmZpZy90eXBlcydcblxuZXhwb3J0IGNvbnN0IG51bWJlcjogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgTnVtYmVyRmllbGQ+ID0gKFxuICB2YWx1ZTogbnVtYmVyIHwgbnVtYmVyW10sXG4gIHsgaGFzTWFueSwgbWF4LCBtYXhSb3dzLCBtaW4sIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgdG9WYWxpZGF0ZTogbnVtYmVyW10gPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxuICBmb3IgKGNvbnN0IHZhbHVlVG9WYWxpZGF0ZSBvZiB0b1ZhbGlkYXRlKSB7XG4gICAgY29uc3QgZmxvYXRWYWx1ZSA9IHBhcnNlRmxvYXQodmFsdWVUb1ZhbGlkYXRlIGFzIHVua25vd24gYXMgc3RyaW5nKVxuICAgIGlmIChcbiAgICAgICh2YWx1ZSAmJiB0eXBlb2YgZmxvYXRWYWx1ZSAhPT0gJ251bWJlcicpIHx8XG4gICAgICAocmVxdWlyZWQgJiYgTnVtYmVyLmlzTmFOKGZsb2F0VmFsdWUpKSB8fFxuICAgICAgKHZhbHVlICYmIE51bWJlci5pc05hTihmbG9hdFZhbHVlKSlcbiAgICApIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmVudGVyTnVtYmVyJylcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1heCA9PT0gJ251bWJlcicgJiYgZmxvYXRWYWx1ZSA+IG1heCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCd2YWx1ZScpLCBtYXgsIHZhbHVlIH0pXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtaW4gPT09ICdudW1iZXInICYmIGZsb2F0VmFsdWUgPCBtaW4pIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxlc3NUaGFuTWluJywgeyBsYWJlbDogdCgndmFsdWUnKSwgbWluLCB2YWx1ZSB9KVxuICAgIH1cblxuICAgIGlmIChyZXF1aXJlZCAmJiB0eXBlb2YgZmxvYXRWYWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICB9XG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgdG9WYWxpZGF0ZS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgIGlmIChtaW5Sb3dzICYmIHRvVmFsaWRhdGUubGVuZ3RoIDwgbWluUm93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bGVzc1RoYW5NaW4nLCB7XG4gICAgICAgIGxhYmVsOiB0KCdyb3dzJyksXG4gICAgICAgIG1pbjogbWluUm93cyxcbiAgICAgICAgdmFsdWU6IHRvVmFsaWRhdGUubGVuZ3RoLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAobWF4Um93cyAmJiB0b1ZhbGlkYXRlLmxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmdyZWF0ZXJUaGFuTWF4Jywge1xuICAgICAgICBsYWJlbDogdCgncm93cycpLFxuICAgICAgICBtYXg6IG1heFJvd3MsXG4gICAgICAgIHZhbHVlOiB0b1ZhbGlkYXRlLmxlbmd0aCxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHRleHQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIHsgY29uZmlnLCBtYXhMZW5ndGg6IGZpZWxkTWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHBheWxvYWQsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgbGV0IG1heExlbmd0aDogbnVtYmVyXG5cbiAgaWYgKHR5cGVvZiBjb25maWc/LmRlZmF1bHRNYXhUZXh0TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuICBpZiAodmFsdWUgJiYgbWF4TGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JywgeyBtYXhMZW5ndGggfSlcbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiBtaW5MZW5ndGggJiYgdmFsdWU/Lmxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IG1pbkxlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgfHwgdmFsdWU/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBwYXNzd29yZDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVGV4dEZpZWxkPiA9IChcbiAgdmFsdWU6IHN0cmluZyxcbiAgeyBjb25maWcsIG1heExlbmd0aDogZmllbGRNYXhMZW5ndGgsIG1pbkxlbmd0aCwgcGF5bG9hZCwgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBsZXQgbWF4TGVuZ3RoOiBudW1iZXJcblxuICBpZiAodHlwZW9mIGNvbmZpZz8uZGVmYXVsdE1heFRleHRMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBjb25maWcuZGVmYXVsdE1heFRleHRMZW5ndGhcbiAgaWYgKHR5cGVvZiBmaWVsZE1heExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGZpZWxkTWF4TGVuZ3RoXG5cbiAgaWYgKHZhbHVlICYmIG1heExlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcsIHsgbWF4TGVuZ3RoIH0pXG4gIH1cblxuICBpZiAodmFsdWUgJiYgbWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IG1pbkxlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBlbWFpbDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgRW1haWxGaWVsZD4gPSAodmFsdWU6IHN0cmluZywgeyByZXF1aXJlZCwgdCB9KSA9PiB7XG4gIGlmICgodmFsdWUgJiYgIS9cXFNbXlxcc0BdKkBcXFMrXFwuXFxTKy8udGVzdCh2YWx1ZSkpIHx8ICghdmFsdWUgJiYgcmVxdWlyZWQpKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246ZW1haWxBZGRyZXNzJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCB0ZXh0YXJlYTogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVGV4dGFyZWFGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIHsgY29uZmlnLCBtYXhMZW5ndGg6IGZpZWxkTWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHBheWxvYWQsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgbGV0IG1heExlbmd0aDogbnVtYmVyXG5cbiAgaWYgKHR5cGVvZiBjb25maWc/LmRlZmF1bHRNYXhUZXh0TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuICBpZiAodmFsdWUgJiYgbWF4TGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JywgeyBtYXhMZW5ndGggfSlcbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiBtaW5MZW5ndGggJiYgdmFsdWUubGVuZ3RoIDwgbWluTGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicsIHsgbWluTGVuZ3RoIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGNvZGU6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIENvZGVGaWVsZD4gPSAodmFsdWU6IHN0cmluZywgeyByZXF1aXJlZCwgdCB9KSA9PiB7XG4gIGlmIChyZXF1aXJlZCAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGpzb246IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEpTT05GaWVsZCAmIHsganNvbkVycm9yPzogc3RyaW5nIH0+ID0gKFxuICB2YWx1ZTogc3RyaW5nLFxuICB7IGpzb25FcnJvciwgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBpZiAocmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKGpzb25FcnJvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZElucHV0JylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBjaGVja2JveDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgQ2hlY2tib3hGaWVsZD4gPSAoXG4gIHZhbHVlOiBib29sZWFuLFxuICB7IHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKCh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykgfHwgKHJlcXVpcmVkICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnRydWVPckZhbHNlJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBkYXRlOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBEYXRlRmllbGQ+ID0gKHZhbHVlLCB7IHJlcXVpcmVkLCB0IH0pID0+IHtcbiAgaWYgKHZhbHVlICYmICFpc05hTihEYXRlLnBhcnNlKHZhbHVlLnRvU3RyaW5nKCkpKSkge1xuICAgIC8qIGVzbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgaWYgKHZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bm90VmFsaWREYXRlJywgeyB2YWx1ZSB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHJpY2hUZXh0OiBWYWxpZGF0ZTxvYmplY3QsIHVua25vd24sIFJpY2hUZXh0RmllbGQsIFJpY2hUZXh0RmllbGQ+ID0gYXN5bmMgKFxuICB2YWx1ZSxcbiAgb3B0aW9ucyxcbikgPT4ge1xuICBjb25zdCBlZGl0b3I6IFJpY2hUZXh0QWRhcHRlciA9IG9wdGlvbnM/LmVkaXRvclxuXG4gIHJldHVybiBhd2FpdCBlZGl0b3IudmFsaWRhdGUodmFsdWUsIG9wdGlvbnMpXG59XG5cbmNvbnN0IHZhbGlkYXRlRmlsdGVyT3B0aW9uczogVmFsaWRhdGUgPSBhc3luYyAoXG4gIHZhbHVlLFxuICB7IGlkLCBkYXRhLCBmaWx0ZXJPcHRpb25zLCBwYXlsb2FkLCByZWxhdGlvblRvLCBzaWJsaW5nRGF0YSwgdCwgdXNlciB9LFxuKSA9PiB7XG4gIGlmICghY2FuVXNlRE9NICYmIHR5cGVvZiBmaWx0ZXJPcHRpb25zICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSkge1xuICAgIGNvbnN0IG9wdGlvbnM6IHtcbiAgICAgIFtjb2xsZWN0aW9uOiBzdHJpbmddOiAobnVtYmVyIHwgc3RyaW5nKVtdXG4gICAgfSA9IHt9XG5cbiAgICBjb25zdCBjb2xsZWN0aW9ucyA9IHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJyA/IFtyZWxhdGlvblRvXSA6IHJlbGF0aW9uVG9cbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBjb2xsZWN0aW9ucy5tYXAoYXN5bmMgKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9uRmlsdGVyID1cbiAgICAgICAgICB0eXBlb2YgZmlsdGVyT3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgPyBhd2FpdCBmaWx0ZXJPcHRpb25zKHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IGNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgICAgc2libGluZ0RhdGEsXG4gICAgICAgICAgICAgICAgdXNlcixcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIDogZmlsdGVyT3B0aW9uc1xuXG4gICAgICAgIGNvbnN0IHZhbHVlSURzOiAobnVtYmVyIHwgc3RyaW5nKVtdID0gW11cblxuICAgICAgICB2YWx1ZXMuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHZhbD8udmFsdWUpIHtcbiAgICAgICAgICAgIHZhbHVlSURzLnB1c2godmFsLnZhbHVlKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgdmFsdWVJRHMucHVzaCh2YWwpXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIGlmICh2YWx1ZUlEcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcGF5bG9hZC5maW5kKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgIGxpbWl0OiAwLFxuICAgICAgICAgICAgcGFnaW5hdGlvbjogZmFsc2UsXG4gICAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgICBhbmQ6IFt7IGlkOiB7IGluOiB2YWx1ZUlEcyB9IH0sIG9wdGlvbkZpbHRlcl0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBvcHRpb25zW2NvbGxlY3Rpb25dID0gcmVzdWx0LmRvY3MubWFwKChkb2MpID0+IGRvYy5pZClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvcHRpb25zW2NvbGxlY3Rpb25dID0gW11cbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKVxuXG4gICAgY29uc3QgaW52YWxpZFJlbGF0aW9uc2hpcHMgPSB2YWx1ZXMuZmlsdGVyKCh2YWwpID0+IHtcbiAgICAgIGxldCBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgICAgIGxldCByZXF1ZXN0ZWRJRDogbnVtYmVyIHwgc3RyaW5nXG5cbiAgICAgIGlmICh0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29sbGVjdGlvbiA9IHJlbGF0aW9uVG9cblxuICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHZhbD8ucmVsYXRpb25Ubykge1xuICAgICAgICBjb2xsZWN0aW9uID0gdmFsLnJlbGF0aW9uVG9cbiAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWwudmFsdWVcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9wdGlvbnNbY29sbGVjdGlvbl0uaW5kZXhPZihyZXF1ZXN0ZWRJRCkgPT09IC0xXG4gICAgfSlcblxuICAgIGlmIChpbnZhbGlkUmVsYXRpb25zaGlwcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFJlbGF0aW9uc2hpcHMucmVkdWNlKChlcnIsIGludmFsaWQsIGkpID0+IHtcbiAgICAgICAgcmV0dXJuIGAke2Vycn0gJHtKU09OLnN0cmluZ2lmeShpbnZhbGlkKX0ke1xuICAgICAgICAgIGludmFsaWRSZWxhdGlvbnNoaXBzLmxlbmd0aCA9PT0gaSArIDEgPyAnLCcgOiAnJ1xuICAgICAgICB9IGBcbiAgICAgIH0sIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbnMnKSkgYXMgc3RyaW5nXG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCB1cGxvYWQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFVwbG9hZEZpZWxkPiA9ICh2YWx1ZTogc3RyaW5nLCBvcHRpb25zKSA9PiB7XG4gIGlmICghdmFsdWUgJiYgb3B0aW9ucy5yZXF1aXJlZCkge1xuICAgIHJldHVybiBvcHRpb25zLnQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKCFjYW5Vc2VET00gJiYgdHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGlkRmllbGQgPSBvcHRpb25zPy5jb25maWc/LmNvbGxlY3Rpb25zXG4gICAgICA/LmZpbmQoKGNvbGxlY3Rpb24pID0+IGNvbGxlY3Rpb24uc2x1ZyA9PT0gb3B0aW9ucy5yZWxhdGlvblRvKVxuICAgICAgPy5maWVsZHM/LmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuXG4gICAgY29uc3QgdHlwZSA9IGdldElEVHlwZShpZEZpZWxkLCBvcHRpb25zPy5wYXlsb2FkPy5kYj8uZGVmYXVsdElEVHlwZSlcblxuICAgIGlmICghaXNWYWxpZElEKHZhbHVlLCB0eXBlKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMudCgndmFsaWRhdGlvbjp2YWxpZFVwbG9hZElEJylcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFsaWRhdGVGaWx0ZXJPcHRpb25zKHZhbHVlLCBvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgcmVsYXRpb25zaGlwOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBSZWxhdGlvbnNoaXBGaWVsZD4gPSBhc3luYyAoXG4gIHZhbHVlOiBSZWxhdGlvbnNoaXBWYWx1ZSxcbiAgb3B0aW9ucyxcbikgPT4ge1xuICBjb25zdCB7IGNvbmZpZywgbWF4Um93cywgbWluUm93cywgcGF5bG9hZCwgcmVsYXRpb25UbywgcmVxdWlyZWQsIHQgfSA9IG9wdGlvbnNcblxuICBpZiAoKCF2YWx1ZSB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAwKSkgJiYgcmVxdWlyZWQpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICBpZiAobWluUm93cyAmJiB2YWx1ZS5sZW5ndGggPCBtaW5Sb3dzKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsZXNzVGhhbk1pbicsIHsgbGFiZWw6IHQoJ3Jvd3MnKSwgbWluOiBtaW5Sb3dzLCB2YWx1ZTogdmFsdWUubGVuZ3RoIH0pXG4gICAgfVxuXG4gICAgaWYgKG1heFJvd3MgJiYgdmFsdWUubGVuZ3RoID4gbWF4Um93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCdyb3dzJyksIG1heDogbWF4Um93cywgdmFsdWU6IHZhbHVlLmxlbmd0aCB9KVxuICAgIH1cbiAgfVxuXG4gIGlmICghY2FuVXNlRE9NICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gICAgY29uc3QgaW52YWxpZFJlbGF0aW9uc2hpcHMgPSB2YWx1ZXMuZmlsdGVyKCh2YWwpID0+IHtcbiAgICAgIGxldCBjb2xsZWN0aW9uU2x1Zzogc3RyaW5nXG4gICAgICBsZXQgcmVxdWVzdGVkSURcblxuICAgICAgaWYgKHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb2xsZWN0aW9uU2x1ZyA9IHJlbGF0aW9uVG9cblxuICAgICAgICAvLyBjdXN0b20gaWRcbiAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgIHJlcXVlc3RlZElEID0gdmFsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsPy5yZWxhdGlvblRvKSB7XG4gICAgICAgIGNvbGxlY3Rpb25TbHVnID0gdmFsLnJlbGF0aW9uVG9cbiAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWwudmFsdWVcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcXVlc3RlZElEID09PSBudWxsKSByZXR1cm4gZmFsc2VcblxuICAgICAgY29uc3QgaWRGaWVsZCA9IGNvbmZpZz8uY29sbGVjdGlvbnNcbiAgICAgICAgPy5maW5kKChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uLnNsdWcgPT09IGNvbGxlY3Rpb25TbHVnKVxuICAgICAgICA/LmZpZWxkcz8uZmluZCgoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpXG5cbiAgICAgIGNvbnN0IHR5cGUgPSBnZXRJRFR5cGUoaWRGaWVsZCwgcGF5bG9hZD8uZGI/LmRlZmF1bHRJRFR5cGUpXG5cbiAgICAgIHJldHVybiAhaXNWYWxpZElEKHJlcXVlc3RlZElELCB0eXBlKVxuICAgIH0pXG5cbiAgICBpZiAoaW52YWxpZFJlbGF0aW9uc2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGBUaGlzIGZpZWxkIGhhcyB0aGUgZm9sbG93aW5nIGludmFsaWQgc2VsZWN0aW9uczogJHtpbnZhbGlkUmVsYXRpb25zaGlwc1xuICAgICAgICAubWFwKChlcnIsIGludmFsaWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYCR7ZXJyfSAke0pTT04uc3RyaW5naWZ5KGludmFsaWQpfWBcbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oJywgJyl9YFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWxpZGF0ZUZpbHRlck9wdGlvbnModmFsdWUsIG9wdGlvbnMpXG59XG5cbmV4cG9ydCBjb25zdCBhcnJheTogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgQXJyYXlGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgYXJyYXlMZW5ndGggPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmxlbmd0aCA6IDBcblxuICBpZiAobWluUm93cyAmJiBhcnJheUxlbmd0aCA8IG1pblJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnLCB7IGNvdW50OiBtaW5Sb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAobWF4Um93cyAmJiBhcnJheUxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc05vTW9yZVRoYW4nLCB7IGNvdW50OiBtYXhSb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAoIWFycmF5TGVuZ3RoICYmIHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNBdExlYXN0JywgeyBjb3VudDogMSwgbGFiZWw6IHQoJ3JvdycpIH0pXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3Qgc2VsZWN0OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBTZWxlY3RGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IGhhc01hbnksIG9wdGlvbnMsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKFxuICAgIEFycmF5LmlzQXJyYXkodmFsdWUpICYmXG4gICAgdmFsdWUuc29tZShcbiAgICAgIChpbnB1dCkgPT5cbiAgICAgICAgIW9wdGlvbnMuc29tZShcbiAgICAgICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IGlucHV0IHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24/LnZhbHVlID09PSBpbnB1dCksXG4gICAgICAgICksXG4gICAgKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9uJylcbiAgfVxuXG4gIGlmIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmXG4gICAgIW9wdGlvbnMuc29tZShcbiAgICAgIChvcHRpb24pID0+IG9wdGlvbiA9PT0gdmFsdWUgfHwgKHR5cGVvZiBvcHRpb24gIT09ICdzdHJpbmcnICYmIG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpLFxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbicpXG4gIH1cblxuICBpZiAoXG4gICAgcmVxdWlyZWQgJiZcbiAgICAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyB8fFxuICAgICAgdmFsdWUgPT09IG51bGwgfHxcbiAgICAgIChoYXNNYW55ICYmIEFycmF5LmlzQXJyYXkodmFsdWUpICYmICh2YWx1ZSBhcyBbXSk/Lmxlbmd0aCA9PT0gMCkpXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCByYWRpbzogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgUmFkaW9GaWVsZD4gPSAodmFsdWUsIHsgb3B0aW9ucywgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAodmFsdWUpIHtcbiAgICBjb25zdCB2YWx1ZU1hdGNoZXNPcHRpb24gPSBvcHRpb25zLnNvbWUoXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IHZhbHVlIHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24udmFsdWUgPT09IHZhbHVlKSxcbiAgICApXG4gICAgcmV0dXJuIHZhbHVlTWF0Y2hlc09wdGlvbiB8fCB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb24nKVxuICB9XG5cbiAgcmV0dXJuIHJlcXVpcmVkID8gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpIDogdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgYmxvY2tzOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBCbG9ja0ZpZWxkPiA9IChcbiAgdmFsdWUsXG4gIHsgbWF4Um93cywgbWluUm93cywgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUubGVuZ3RoIDogMFxuXG4gIGlmIChtaW5Sb3dzICYmIGFycmF5TGVuZ3RoIDwgbWluUm93cykge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzQXRMZWFzdCcsIHsgY291bnQ6IG1pblJvd3MsIGxhYmVsOiB0KCdyb3dzJykgfSlcbiAgfVxuXG4gIGlmIChtYXhSb3dzICYmIGFycmF5TGVuZ3RoID4gbWF4Um93cykge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzTm9Nb3JlVGhhbicsIHsgY291bnQ6IG1heFJvd3MsIGxhYmVsOiB0KCdyb3dzJykgfSlcbiAgfVxuXG4gIGlmICghYXJyYXlMZW5ndGggJiYgcmVxdWlyZWQpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnLCB7IGNvdW50OiAxLCBsYWJlbDogdCgncm93JykgfSlcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBwb2ludDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgUG9pbnRGaWVsZD4gPSAoXG4gIHZhbHVlOiBbbnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBzdHJpbmddID0gWycnLCAnJ10sXG4gIHsgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBjb25zdCBsbmcgPSBwYXJzZUZsb2F0KFN0cmluZyh2YWx1ZVswXSkpXG4gIGNvbnN0IGxhdCA9IHBhcnNlRmxvYXQoU3RyaW5nKHZhbHVlWzFdKSlcbiAgaWYgKFxuICAgIHJlcXVpcmVkICYmXG4gICAgKCh2YWx1ZVswXSAmJiB2YWx1ZVsxXSAmJiB0eXBlb2YgbG5nICE9PSAnbnVtYmVyJyAmJiB0eXBlb2YgbGF0ICE9PSAnbnVtYmVyJykgfHxcbiAgICAgIE51bWJlci5pc05hTihsbmcpIHx8XG4gICAgICBOdW1iZXIuaXNOYU4obGF0KSB8fFxuICAgICAgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCAhPT0gMikpXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzVHdvTnVtYmVycycpXG4gIH1cblxuICBpZiAoKHZhbHVlWzFdICYmIE51bWJlci5pc05hTihsbmcpKSB8fCAodmFsdWVbMF0gJiYgTnVtYmVyLmlzTmFOKGxhdCkpKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZElucHV0JylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgYXJyYXksXG4gIGJsb2NrcyxcbiAgY2hlY2tib3gsXG4gIGNvZGUsXG4gIGRhdGUsXG4gIGVtYWlsLFxuICBqc29uLFxuICBudW1iZXIsXG4gIHBhc3N3b3JkLFxuICBwb2ludCxcbiAgcmFkaW8sXG4gIHJlbGF0aW9uc2hpcCxcbiAgcmljaFRleHQsXG4gIHNlbGVjdCxcbiAgdGV4dCxcbiAgdGV4dGFyZWEsXG4gIHVwbG9hZCxcbn1cbiJdLCJuYW1lcyI6WyJudW1iZXIiLCJ0ZXh0IiwicGFzc3dvcmQiLCJlbWFpbCIsInRleHRhcmVhIiwiY29kZSIsImpzb24iLCJjaGVja2JveCIsImRhdGUiLCJyaWNoVGV4dCIsInVwbG9hZCIsInJlbGF0aW9uc2hpcCIsImFycmF5Iiwic2VsZWN0IiwicmFkaW8iLCJibG9ja3MiLCJwb2ludCIsInZhbHVlIiwiaGFzTWFueSIsIm1heCIsIm1heFJvd3MiLCJtaW4iLCJtaW5Sb3dzIiwicmVxdWlyZWQiLCJ0IiwidG9WYWxpZGF0ZSIsIkFycmF5IiwiaXNBcnJheSIsInZhbHVlVG9WYWxpZGF0ZSIsImZsb2F0VmFsdWUiLCJwYXJzZUZsb2F0IiwiTnVtYmVyIiwiaXNOYU4iLCJsYWJlbCIsImxlbmd0aCIsImNvbmZpZyIsIm1heExlbmd0aCIsImZpZWxkTWF4TGVuZ3RoIiwibWluTGVuZ3RoIiwicGF5bG9hZCIsImRlZmF1bHRNYXhUZXh0TGVuZ3RoIiwidGVzdCIsInVuZGVmaW5lZCIsImpzb25FcnJvciIsIkRhdGUiLCJwYXJzZSIsInRvU3RyaW5nIiwib3B0aW9ucyIsImVkaXRvciIsInZhbGlkYXRlIiwidmFsaWRhdGVGaWx0ZXJPcHRpb25zIiwiaWQiLCJkYXRhIiwiZmlsdGVyT3B0aW9ucyIsInJlbGF0aW9uVG8iLCJzaWJsaW5nRGF0YSIsInVzZXIiLCJjYW5Vc2VET00iLCJjb2xsZWN0aW9ucyIsInZhbHVlcyIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJjb2xsZWN0aW9uIiwib3B0aW9uRmlsdGVyIiwidmFsdWVJRHMiLCJmb3JFYWNoIiwidmFsIiwicHVzaCIsInJlc3VsdCIsImZpbmQiLCJkZXB0aCIsImxpbWl0IiwicGFnaW5hdGlvbiIsIndoZXJlIiwiYW5kIiwiaW4iLCJkb2NzIiwiZG9jIiwiaW52YWxpZFJlbGF0aW9uc2hpcHMiLCJmaWx0ZXIiLCJyZXF1ZXN0ZWRJRCIsImluZGV4T2YiLCJyZWR1Y2UiLCJlcnIiLCJpbnZhbGlkIiwiaSIsIkpTT04iLCJzdHJpbmdpZnkiLCJpZEZpZWxkIiwic2x1ZyIsImZpZWxkcyIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJ0eXBlIiwiZ2V0SURUeXBlIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwiaXNWYWxpZElEIiwiY29sbGVjdGlvblNsdWciLCJqb2luIiwiYXJyYXlMZW5ndGgiLCJjb3VudCIsInNvbWUiLCJpbnB1dCIsIm9wdGlvbiIsInZhbHVlTWF0Y2hlc09wdGlvbiIsImxuZyIsIlN0cmluZyIsImxhdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUEyQmFBLE1BQU07ZUFBTkE7O0lBdURBQyxJQUFJO2VBQUpBOztJQXlCQUMsUUFBUTtlQUFSQTs7SUF3QkFDLEtBQUs7ZUFBTEE7O0lBUUFDLFFBQVE7ZUFBUkE7O0lBdUJBQyxJQUFJO2VBQUpBOztJQVFBQyxJQUFJO2VBQUpBOztJQWVBQyxRQUFRO2VBQVJBOztJQVdBQyxJQUFJO2VBQUpBOztJQWlCQUMsUUFBUTtlQUFSQTs7SUFrR0FDLE1BQU07ZUFBTkE7O0lBb0JBQyxZQUFZO2VBQVpBOztJQWdFQUMsS0FBSztlQUFMQTs7SUFxQkFDLE1BQU07ZUFBTkE7O0lBcUNBQyxLQUFLO2VBQUxBOztJQVdBQyxNQUFNO2VBQU5BOztJQXFCQUMsS0FBSztlQUFMQTs7SUF1QmIsT0FrQkM7ZUFsQkQ7OztrRUF0ZXNCOzJCQUNJOzJCQUNBO3VCQUNPOzs7Ozs7QUFFMUIsTUFBTWhCLFNBQWtELENBQzdEaUIsT0FDQSxFQUFFQyxPQUFPLEVBQUVDLEdBQUcsRUFBRUMsT0FBTyxFQUFFQyxHQUFHLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxDQUFDLEVBQUU7SUFFcEQsTUFBTUMsYUFBdUJDLE1BQU1DLE9BQU8sQ0FBQ1YsU0FBU0EsUUFBUTtRQUFDQTtLQUFNO0lBRW5FLGdEQUFnRDtJQUNoRCxLQUFLLE1BQU1XLG1CQUFtQkgsV0FBWTtRQUN4QyxNQUFNSSxhQUFhQyxXQUFXRjtRQUM5QixJQUNFLEFBQUNYLFNBQVMsT0FBT1ksZUFBZSxZQUMvQk4sWUFBWVEsT0FBT0MsS0FBSyxDQUFDSCxlQUN6QlosU0FBU2MsT0FBT0MsS0FBSyxDQUFDSCxhQUN2QjtZQUNBLE9BQU9MLEVBQUU7UUFDWDtRQUVBLElBQUksT0FBT0wsUUFBUSxZQUFZVSxhQUFhVixLQUFLO1lBQy9DLE9BQU9LLEVBQUUsNkJBQTZCO2dCQUFFUyxPQUFPVCxFQUFFO2dCQUFVTDtnQkFBS0Y7WUFBTTtRQUN4RTtRQUVBLElBQUksT0FBT0ksUUFBUSxZQUFZUSxhQUFhUixLQUFLO1lBQy9DLE9BQU9HLEVBQUUsMEJBQTBCO2dCQUFFUyxPQUFPVCxFQUFFO2dCQUFVSDtnQkFBS0o7WUFBTTtRQUNyRTtRQUVBLElBQUlNLFlBQVksT0FBT00sZUFBZSxVQUFVO1lBQzlDLE9BQU9MLEVBQUU7UUFDWDtJQUNGO0lBRUEsSUFBSUQsWUFBWUUsV0FBV1MsTUFBTSxLQUFLLEdBQUc7UUFDdkMsT0FBT1YsRUFBRTtJQUNYO0lBRUEsSUFBSU4sWUFBWSxNQUFNO1FBQ3BCLElBQUlJLFdBQVdHLFdBQVdTLE1BQU0sR0FBR1osU0FBUztZQUMxQyxPQUFPRSxFQUFFLDBCQUEwQjtnQkFDakNTLE9BQU9ULEVBQUU7Z0JBQ1RILEtBQUtDO2dCQUNMTCxPQUFPUSxXQUFXUyxNQUFNO1lBQzFCO1FBQ0Y7UUFFQSxJQUFJZCxXQUFXSyxXQUFXUyxNQUFNLEdBQUdkLFNBQVM7WUFDMUMsT0FBT0ksRUFBRSw2QkFBNkI7Z0JBQ3BDUyxPQUFPVCxFQUFFO2dCQUNUTCxLQUFLQztnQkFDTEgsT0FBT1EsV0FBV1MsTUFBTTtZQUMxQjtRQUNGO0lBQ0Y7SUFFQSxPQUFPO0FBQ1Q7QUFFTyxNQUFNakMsT0FBOEMsQ0FDekRnQixPQUNBLEVBQUVrQixNQUFNLEVBQUVDLFdBQVdDLGNBQWMsRUFBRUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVoQixRQUFRLEVBQUVDLENBQUMsRUFBRTtJQUV0RSxJQUFJWTtJQUVKLElBQUksT0FBT0QsUUFBUUsseUJBQXlCLFVBQVVKLFlBQVlELE9BQU9LLG9CQUFvQjtJQUM3RixJQUFJLE9BQU9ILG1CQUFtQixVQUFVRCxZQUFZQztJQUNwRCxJQUFJcEIsU0FBU21CLGFBQWFuQixNQUFNaUIsTUFBTSxHQUFHRSxXQUFXO1FBQ2xELE9BQU9aLEVBQUUsNkJBQTZCO1lBQUVZO1FBQVU7SUFDcEQ7SUFFQSxJQUFJbkIsU0FBU3FCLGFBQWFyQixPQUFPaUIsU0FBU0ksV0FBVztRQUNuRCxPQUFPZCxFQUFFLDRCQUE0QjtZQUFFYztRQUFVO0lBQ25EO0lBRUEsSUFBSWYsVUFBVTtRQUNaLElBQUksT0FBT04sVUFBVSxZQUFZQSxPQUFPaUIsV0FBVyxHQUFHO1lBQ3BELE9BQU9WLEVBQUU7UUFDWDtJQUNGO0lBRUEsT0FBTztBQUNUO0FBRU8sTUFBTXRCLFdBQWtELENBQzdEZSxPQUNBLEVBQUVrQixNQUFNLEVBQUVDLFdBQVdDLGNBQWMsRUFBRUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVoQixRQUFRLEVBQUVDLENBQUMsRUFBRTtJQUV0RSxJQUFJWTtJQUVKLElBQUksT0FBT0QsUUFBUUsseUJBQXlCLFVBQVVKLFlBQVlELE9BQU9LLG9CQUFvQjtJQUM3RixJQUFJLE9BQU9ILG1CQUFtQixVQUFVRCxZQUFZQztJQUVwRCxJQUFJcEIsU0FBU21CLGFBQWFuQixNQUFNaUIsTUFBTSxHQUFHRSxXQUFXO1FBQ2xELE9BQU9aLEVBQUUsNkJBQTZCO1lBQUVZO1FBQVU7SUFDcEQ7SUFFQSxJQUFJbkIsU0FBU3FCLGFBQWFyQixNQUFNaUIsTUFBTSxHQUFHSSxXQUFXO1FBQ2xELE9BQU9kLEVBQUUsNEJBQTRCO1lBQUVjO1FBQVU7SUFDbkQ7SUFFQSxJQUFJZixZQUFZLENBQUNOLE9BQU87UUFDdEIsT0FBT08sRUFBRTtJQUNYO0lBRUEsT0FBTztBQUNUO0FBRU8sTUFBTXJCLFFBQWdELENBQUNjLE9BQWUsRUFBRU0sUUFBUSxFQUFFQyxDQUFDLEVBQUU7SUFDMUYsSUFBSSxBQUFDUCxTQUFTLENBQUMscUJBQXFCd0IsSUFBSSxDQUFDeEIsVUFBWSxDQUFDQSxTQUFTTSxVQUFXO1FBQ3hFLE9BQU9DLEVBQUU7SUFDWDtJQUVBLE9BQU87QUFDVDtBQUVPLE1BQU1wQixXQUFzRCxDQUNqRWEsT0FDQSxFQUFFa0IsTUFBTSxFQUFFQyxXQUFXQyxjQUFjLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFaEIsUUFBUSxFQUFFQyxDQUFDLEVBQUU7SUFFdEUsSUFBSVk7SUFFSixJQUFJLE9BQU9ELFFBQVFLLHlCQUF5QixVQUFVSixZQUFZRCxPQUFPSyxvQkFBb0I7SUFDN0YsSUFBSSxPQUFPSCxtQkFBbUIsVUFBVUQsWUFBWUM7SUFDcEQsSUFBSXBCLFNBQVNtQixhQUFhbkIsTUFBTWlCLE1BQU0sR0FBR0UsV0FBVztRQUNsRCxPQUFPWixFQUFFLDZCQUE2QjtZQUFFWTtRQUFVO0lBQ3BEO0lBRUEsSUFBSW5CLFNBQVNxQixhQUFhckIsTUFBTWlCLE1BQU0sR0FBR0ksV0FBVztRQUNsRCxPQUFPZCxFQUFFLDRCQUE0QjtZQUFFYztRQUFVO0lBQ25EO0lBRUEsSUFBSWYsWUFBWSxDQUFDTixPQUFPO1FBQ3RCLE9BQU9PLEVBQUU7SUFDWDtJQUVBLE9BQU87QUFDVDtBQUVPLE1BQU1uQixPQUE4QyxDQUFDWSxPQUFlLEVBQUVNLFFBQVEsRUFBRUMsQ0FBQyxFQUFFO0lBQ3hGLElBQUlELFlBQVlOLFVBQVV5QixXQUFXO1FBQ25DLE9BQU9sQixFQUFFO0lBQ1g7SUFFQSxPQUFPO0FBQ1Q7QUFFTyxNQUFNbEIsT0FBdUUsQ0FDbEZXLE9BQ0EsRUFBRTBCLFNBQVMsRUFBRXBCLFFBQVEsRUFBRUMsQ0FBQyxFQUFFO0lBRTFCLElBQUlELFlBQVksQ0FBQ04sT0FBTztRQUN0QixPQUFPTyxFQUFFO0lBQ1g7SUFFQSxJQUFJbUIsY0FBY0QsV0FBVztRQUMzQixPQUFPbEIsRUFBRTtJQUNYO0lBRUEsT0FBTztBQUNUO0FBRU8sTUFBTWpCLFdBQXNELENBQ2pFVSxPQUNBLEVBQUVNLFFBQVEsRUFBRUMsQ0FBQyxFQUFFO0lBRWYsSUFBSSxBQUFDUCxTQUFTLE9BQU9BLFVBQVUsYUFBZU0sWUFBWSxPQUFPTixVQUFVLFdBQVk7UUFDckYsT0FBT08sRUFBRTtJQUNYO0lBRUEsT0FBTztBQUNUO0FBRU8sTUFBTWhCLE9BQThDLENBQUNTLE9BQU8sRUFBRU0sUUFBUSxFQUFFQyxDQUFDLEVBQUU7SUFDaEYsSUFBSVAsU0FBUyxDQUFDZSxNQUFNWSxLQUFLQyxLQUFLLENBQUM1QixNQUFNNkIsUUFBUSxNQUFNO1FBQ2pELHVCQUF1QixHQUN2QixPQUFPO0lBQ1Q7SUFFQSxJQUFJN0IsT0FBTztRQUNULE9BQU9PLEVBQUUsMkJBQTJCO1lBQUVQO1FBQU07SUFDOUM7SUFFQSxJQUFJTSxVQUFVO1FBQ1osT0FBT0MsRUFBRTtJQUNYO0lBRUEsT0FBTztBQUNUO0FBRU8sTUFBTWYsV0FBb0UsT0FDL0VRLE9BQ0E4QjtJQUVBLE1BQU1DLFNBQTBCRCxTQUFTQztJQUV6QyxPQUFPLE1BQU1BLE9BQU9DLFFBQVEsQ0FBQ2hDLE9BQU84QjtBQUN0QztBQUVBLE1BQU1HLHdCQUFrQyxPQUN0Q2pDLE9BQ0EsRUFBRWtDLEVBQUUsRUFBRUMsSUFBSSxFQUFFQyxhQUFhLEVBQUVkLE9BQU8sRUFBRWUsVUFBVSxFQUFFQyxXQUFXLEVBQUUvQixDQUFDLEVBQUVnQyxJQUFJLEVBQUU7SUFFdEUsSUFBSSxDQUFDQyxrQkFBUyxJQUFJLE9BQU9KLGtCQUFrQixlQUFlcEMsT0FBTztRQUMvRCxNQUFNOEIsVUFFRixDQUFDO1FBRUwsTUFBTVcsY0FBYyxPQUFPSixlQUFlLFdBQVc7WUFBQ0E7U0FBVyxHQUFHQTtRQUNwRSxNQUFNSyxTQUFTakMsTUFBTUMsT0FBTyxDQUFDVixTQUFTQSxRQUFRO1lBQUNBO1NBQU07UUFFckQsTUFBTTJDLFFBQVFDLEdBQUcsQ0FDZkgsWUFBWUksR0FBRyxDQUFDLE9BQU9DO1lBQ3JCLE1BQU1DLGVBQ0osT0FBT1gsa0JBQWtCLGFBQ3JCLE1BQU1BLGNBQWM7Z0JBQ2xCRjtnQkFDQUM7Z0JBQ0FFLFlBQVlTO2dCQUNaUjtnQkFDQUM7WUFDRixLQUNBSDtZQUVOLE1BQU1ZLFdBQWdDLEVBQUU7WUFFeENOLE9BQU9PLE9BQU8sQ0FBQyxDQUFDQztnQkFDZCxJQUFJLE9BQU9BLFFBQVEsWUFBWUEsS0FBS2xELE9BQU87b0JBQ3pDZ0QsU0FBU0csSUFBSSxDQUFDRCxJQUFJbEQsS0FBSztnQkFDekI7Z0JBRUEsSUFBSSxPQUFPa0QsUUFBUSxZQUFZLE9BQU9BLFFBQVEsVUFBVTtvQkFDdERGLFNBQVNHLElBQUksQ0FBQ0Q7Z0JBQ2hCO1lBQ0Y7WUFFQSxJQUFJRixTQUFTL0IsTUFBTSxHQUFHLEdBQUc7Z0JBQ3ZCLE1BQU1tQyxTQUFTLE1BQU05QixRQUFRK0IsSUFBSSxDQUFDO29CQUNoQ1A7b0JBQ0FRLE9BQU87b0JBQ1BDLE9BQU87b0JBQ1BDLFlBQVk7b0JBQ1pDLE9BQU87d0JBQ0xDLEtBQUs7NEJBQUM7Z0NBQUV4QixJQUFJO29DQUFFeUIsSUFBSVg7Z0NBQVM7NEJBQUU7NEJBQUdEO3lCQUFhO29CQUMvQztnQkFDRjtnQkFFQWpCLE9BQU8sQ0FBQ2dCLFdBQVcsR0FBR00sT0FBT1EsSUFBSSxDQUFDZixHQUFHLENBQUMsQ0FBQ2dCLE1BQVFBLElBQUkzQixFQUFFO1lBQ3ZELE9BQU87Z0JBQ0xKLE9BQU8sQ0FBQ2dCLFdBQVcsR0FBRyxFQUFFO1lBQzFCO1FBQ0Y7UUFHRixNQUFNZ0IsdUJBQXVCcEIsT0FBT3FCLE1BQU0sQ0FBQyxDQUFDYjtZQUMxQyxJQUFJSjtZQUNKLElBQUlrQjtZQUVKLElBQUksT0FBTzNCLGVBQWUsVUFBVTtnQkFDbENTLGFBQWFUO2dCQUViLElBQUksT0FBT2EsUUFBUSxZQUFZLE9BQU9BLFFBQVEsVUFBVTtvQkFDdERjLGNBQWNkO2dCQUNoQjtZQUNGO1lBRUEsSUFBSXpDLE1BQU1DLE9BQU8sQ0FBQzJCLGVBQWUsT0FBT2EsUUFBUSxZQUFZQSxLQUFLYixZQUFZO2dCQUMzRVMsYUFBYUksSUFBSWIsVUFBVTtnQkFDM0IyQixjQUFjZCxJQUFJbEQsS0FBSztZQUN6QjtZQUVBLE9BQU84QixPQUFPLENBQUNnQixXQUFXLENBQUNtQixPQUFPLENBQUNELGlCQUFpQixDQUFDO1FBQ3ZEO1FBRUEsSUFBSUYscUJBQXFCN0MsTUFBTSxHQUFHLEdBQUc7WUFDbkMsT0FBTzZDLHFCQUFxQkksTUFBTSxDQUFDLENBQUNDLEtBQUtDLFNBQVNDO2dCQUNoRCxPQUFPLENBQUMsRUFBRUYsSUFBSSxDQUFDLEVBQUVHLEtBQUtDLFNBQVMsQ0FBQ0gsU0FBUyxFQUN2Q04scUJBQXFCN0MsTUFBTSxLQUFLb0QsSUFBSSxJQUFJLE1BQU0sR0FDL0MsQ0FBQyxDQUFDO1lBQ0wsR0FBRzlELEVBQUU7UUFDUDtRQUVBLE9BQU87SUFDVDtJQUVBLE9BQU87QUFDVDtBQUVPLE1BQU1kLFNBQWtELENBQUNPLE9BQWU4QjtJQUM3RSxJQUFJLENBQUM5QixTQUFTOEIsUUFBUXhCLFFBQVEsRUFBRTtRQUM5QixPQUFPd0IsUUFBUXZCLENBQUMsQ0FBQztJQUNuQjtJQUVBLElBQUksQ0FBQ2lDLGtCQUFTLElBQUksT0FBT3hDLFVBQVUsZUFBZUEsVUFBVSxNQUFNO1FBQ2hFLE1BQU13RSxVQUFVMUMsU0FBU1osUUFBUXVCLGFBQzdCWSxLQUFLLENBQUNQLGFBQWVBLFdBQVcyQixJQUFJLEtBQUszQyxRQUFRTyxVQUFVLEdBQzNEcUMsUUFBUXJCLEtBQUssQ0FBQ3NCLFFBQVVDLElBQUFBLHVCQUFnQixFQUFDRCxVQUFVQSxNQUFNRSxJQUFJLEtBQUs7UUFFdEUsTUFBTUMsT0FBT0MsSUFBQUEsb0JBQVMsRUFBQ1AsU0FBUzFDLFNBQVNSLFNBQVMwRCxJQUFJQztRQUV0RCxJQUFJLENBQUNDLElBQUFBLG9CQUFTLEVBQUNsRixPQUFPOEUsT0FBTztZQUMzQixPQUFPaEQsUUFBUXZCLENBQUMsQ0FBQztRQUNuQjtJQUNGO0lBRUEsT0FBTzBCLHNCQUFzQmpDLE9BQU84QjtBQUN0QztBQUVPLE1BQU1wQyxlQUE4RCxPQUN6RU0sT0FDQThCO0lBRUEsTUFBTSxFQUFFWixNQUFNLEVBQUVmLE9BQU8sRUFBRUUsT0FBTyxFQUFFaUIsT0FBTyxFQUFFZSxVQUFVLEVBQUUvQixRQUFRLEVBQUVDLENBQUMsRUFBRSxHQUFHdUI7SUFFdkUsSUFBSSxBQUFDLENBQUEsQ0FBQzlCLFNBQVVTLE1BQU1DLE9BQU8sQ0FBQ1YsVUFBVUEsTUFBTWlCLE1BQU0sS0FBSyxDQUFDLEtBQU1YLFVBQVU7UUFDeEUsT0FBT0MsRUFBRTtJQUNYO0lBRUEsSUFBSUUsTUFBTUMsT0FBTyxDQUFDVixRQUFRO1FBQ3hCLElBQUlLLFdBQVdMLE1BQU1pQixNQUFNLEdBQUdaLFNBQVM7WUFDckMsT0FBT0UsRUFBRSwwQkFBMEI7Z0JBQUVTLE9BQU9ULEVBQUU7Z0JBQVNILEtBQUtDO2dCQUFTTCxPQUFPQSxNQUFNaUIsTUFBTTtZQUFDO1FBQzNGO1FBRUEsSUFBSWQsV0FBV0gsTUFBTWlCLE1BQU0sR0FBR2QsU0FBUztZQUNyQyxPQUFPSSxFQUFFLDZCQUE2QjtnQkFBRVMsT0FBT1QsRUFBRTtnQkFBU0wsS0FBS0M7Z0JBQVNILE9BQU9BLE1BQU1pQixNQUFNO1lBQUM7UUFDOUY7SUFDRjtJQUVBLElBQUksQ0FBQ3VCLGtCQUFTLElBQUksT0FBT3hDLFVBQVUsZUFBZUEsVUFBVSxNQUFNO1FBQ2hFLE1BQU0wQyxTQUFTakMsTUFBTUMsT0FBTyxDQUFDVixTQUFTQSxRQUFRO1lBQUNBO1NBQU07UUFFckQsTUFBTThELHVCQUF1QnBCLE9BQU9xQixNQUFNLENBQUMsQ0FBQ2I7WUFDMUMsSUFBSWlDO1lBQ0osSUFBSW5CO1lBRUosSUFBSSxPQUFPM0IsZUFBZSxVQUFVO2dCQUNsQzhDLGlCQUFpQjlDO2dCQUVqQixZQUFZO2dCQUNaLElBQUlhLEtBQUs7b0JBQ1BjLGNBQWNkO2dCQUNoQjtZQUNGO1lBRUEsSUFBSXpDLE1BQU1DLE9BQU8sQ0FBQzJCLGVBQWUsT0FBT2EsUUFBUSxZQUFZQSxLQUFLYixZQUFZO2dCQUMzRThDLGlCQUFpQmpDLElBQUliLFVBQVU7Z0JBQy9CMkIsY0FBY2QsSUFBSWxELEtBQUs7WUFDekI7WUFFQSxJQUFJZ0UsZ0JBQWdCLE1BQU0sT0FBTztZQUVqQyxNQUFNUSxVQUFVdEQsUUFBUXVCLGFBQ3BCWSxLQUFLLENBQUNQLGFBQWVBLFdBQVcyQixJQUFJLEtBQUtVLGlCQUN6Q1QsUUFBUXJCLEtBQUssQ0FBQ3NCLFFBQVVDLElBQUFBLHVCQUFnQixFQUFDRCxVQUFVQSxNQUFNRSxJQUFJLEtBQUs7WUFFdEUsTUFBTUMsT0FBT0MsSUFBQUEsb0JBQVMsRUFBQ1AsU0FBU2xELFNBQVMwRCxJQUFJQztZQUU3QyxPQUFPLENBQUNDLElBQUFBLG9CQUFTLEVBQUNsQixhQUFhYztRQUNqQztRQUVBLElBQUloQixxQkFBcUI3QyxNQUFNLEdBQUcsR0FBRztZQUNuQyxPQUFPLENBQUMsaURBQWlELEVBQUU2QyxxQkFDeERqQixHQUFHLENBQUMsQ0FBQ3NCLEtBQUtDO2dCQUNULE9BQU8sQ0FBQyxFQUFFRCxJQUFJLENBQUMsRUFBRUcsS0FBS0MsU0FBUyxDQUFDSCxTQUFTLENBQUM7WUFDNUMsR0FDQ2dCLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDakI7SUFDRjtJQUVBLE9BQU9uRCxzQkFBc0JqQyxPQUFPOEI7QUFDdEM7QUFFTyxNQUFNbkMsUUFBZ0QsQ0FDM0RLLE9BQ0EsRUFBRUcsT0FBTyxFQUFFRSxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsQ0FBQyxFQUFFO0lBRWpDLE1BQU04RSxjQUFjNUUsTUFBTUMsT0FBTyxDQUFDVixTQUFTQSxNQUFNaUIsTUFBTSxHQUFHO0lBRTFELElBQUlaLFdBQVdnRixjQUFjaEYsU0FBUztRQUNwQyxPQUFPRSxFQUFFLDhCQUE4QjtZQUFFK0UsT0FBT2pGO1lBQVNXLE9BQU9ULEVBQUU7UUFBUTtJQUM1RTtJQUVBLElBQUlKLFdBQVdrRixjQUFjbEYsU0FBUztRQUNwQyxPQUFPSSxFQUFFLGlDQUFpQztZQUFFK0UsT0FBT25GO1lBQVNhLE9BQU9ULEVBQUU7UUFBUTtJQUMvRTtJQUVBLElBQUksQ0FBQzhFLGVBQWUvRSxVQUFVO1FBQzVCLE9BQU9DLEVBQUUsOEJBQThCO1lBQUUrRSxPQUFPO1lBQUd0RSxPQUFPVCxFQUFFO1FBQU87SUFDckU7SUFFQSxPQUFPO0FBQ1Q7QUFFTyxNQUFNWCxTQUFrRCxDQUM3REksT0FDQSxFQUFFQyxPQUFPLEVBQUU2QixPQUFPLEVBQUV4QixRQUFRLEVBQUVDLENBQUMsRUFBRTtJQUVqQyxJQUNFRSxNQUFNQyxPQUFPLENBQUNWLFVBQ2RBLE1BQU11RixJQUFJLENBQ1IsQ0FBQ0MsUUFDQyxDQUFDMUQsUUFBUXlELElBQUksQ0FDWCxDQUFDRSxTQUFXQSxXQUFXRCxTQUFVLE9BQU9DLFdBQVcsWUFBWUEsUUFBUXpGLFVBQVV3RixTQUd2RjtRQUNBLE9BQU9qRixFQUFFO0lBQ1g7SUFFQSxJQUNFLE9BQU9QLFVBQVUsWUFDakIsQ0FBQzhCLFFBQVF5RCxJQUFJLENBQ1gsQ0FBQ0UsU0FBV0EsV0FBV3pGLFNBQVUsT0FBT3lGLFdBQVcsWUFBWUEsT0FBT3pGLEtBQUssS0FBS0EsUUFFbEY7UUFDQSxPQUFPTyxFQUFFO0lBQ1g7SUFFQSxJQUNFRCxZQUNDLENBQUEsT0FBT04sVUFBVSxlQUNoQkEsVUFBVSxRQUNUQyxXQUFXUSxNQUFNQyxPQUFPLENBQUNWLFVBQVUsQUFBQ0EsT0FBY2lCLFdBQVcsQ0FBQyxHQUNqRTtRQUNBLE9BQU9WLEVBQUU7SUFDWDtJQUVBLE9BQU87QUFDVDtBQUVPLE1BQU1WLFFBQWdELENBQUNHLE9BQU8sRUFBRThCLE9BQU8sRUFBRXhCLFFBQVEsRUFBRUMsQ0FBQyxFQUFFO0lBQzNGLElBQUlQLE9BQU87UUFDVCxNQUFNMEYscUJBQXFCNUQsUUFBUXlELElBQUksQ0FDckMsQ0FBQ0UsU0FBV0EsV0FBV3pGLFNBQVUsT0FBT3lGLFdBQVcsWUFBWUEsT0FBT3pGLEtBQUssS0FBS0E7UUFFbEYsT0FBTzBGLHNCQUFzQm5GLEVBQUU7SUFDakM7SUFFQSxPQUFPRCxXQUFXQyxFQUFFLHlCQUF5QjtBQUMvQztBQUVPLE1BQU1ULFNBQWlELENBQzVERSxPQUNBLEVBQUVHLE9BQU8sRUFBRUUsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLENBQUMsRUFBRTtJQUVqQyxNQUFNOEUsY0FBYzVFLE1BQU1DLE9BQU8sQ0FBQ1YsU0FBU0EsTUFBTWlCLE1BQU0sR0FBRztJQUUxRCxJQUFJWixXQUFXZ0YsY0FBY2hGLFNBQVM7UUFDcEMsT0FBT0UsRUFBRSw4QkFBOEI7WUFBRStFLE9BQU9qRjtZQUFTVyxPQUFPVCxFQUFFO1FBQVE7SUFDNUU7SUFFQSxJQUFJSixXQUFXa0YsY0FBY2xGLFNBQVM7UUFDcEMsT0FBT0ksRUFBRSxpQ0FBaUM7WUFBRStFLE9BQU9uRjtZQUFTYSxPQUFPVCxFQUFFO1FBQVE7SUFDL0U7SUFFQSxJQUFJLENBQUM4RSxlQUFlL0UsVUFBVTtRQUM1QixPQUFPQyxFQUFFLDhCQUE4QjtZQUFFK0UsT0FBTztZQUFHdEUsT0FBT1QsRUFBRTtRQUFPO0lBQ3JFO0lBRUEsT0FBTztBQUNUO0FBRU8sTUFBTVIsUUFBZ0QsQ0FDM0RDLFFBQTRDO0lBQUM7SUFBSTtDQUFHLEVBQ3BELEVBQUVNLFFBQVEsRUFBRUMsQ0FBQyxFQUFFO0lBRWYsTUFBTW9GLE1BQU05RSxXQUFXK0UsT0FBTzVGLEtBQUssQ0FBQyxFQUFFO0lBQ3RDLE1BQU02RixNQUFNaEYsV0FBVytFLE9BQU81RixLQUFLLENBQUMsRUFBRTtJQUN0QyxJQUNFTSxZQUNDLENBQUEsQUFBQ04sS0FBSyxDQUFDLEVBQUUsSUFBSUEsS0FBSyxDQUFDLEVBQUUsSUFBSSxPQUFPMkYsUUFBUSxZQUFZLE9BQU9FLFFBQVEsWUFDbEUvRSxPQUFPQyxLQUFLLENBQUM0RSxRQUNiN0UsT0FBT0MsS0FBSyxDQUFDOEUsUUFDWnBGLE1BQU1DLE9BQU8sQ0FBQ1YsVUFBVUEsTUFBTWlCLE1BQU0sS0FBSyxDQUFDLEdBQzdDO1FBQ0EsT0FBT1YsRUFBRTtJQUNYO0lBRUEsSUFBSSxBQUFDUCxLQUFLLENBQUMsRUFBRSxJQUFJYyxPQUFPQyxLQUFLLENBQUM0RSxRQUFVM0YsS0FBSyxDQUFDLEVBQUUsSUFBSWMsT0FBT0MsS0FBSyxDQUFDOEUsTUFBTztRQUN0RSxPQUFPdEYsRUFBRTtJQUNYO0lBRUEsT0FBTztBQUNUO01BRUEsV0FBZTtJQUNiWjtJQUNBRztJQUNBUjtJQUNBRjtJQUNBRztJQUNBTDtJQUNBRztJQUNBTjtJQUNBRTtJQUNBYztJQUNBRjtJQUNBSDtJQUNBRjtJQUNBSTtJQUNBWjtJQUNBRztJQUNBTTtBQUNGIn0=
@@ -146,7 +146,7 @@
146
146
  "addFilter": "Добави филтър",
147
147
  "adminTheme": "Цветова тема",
148
148
  "and": "И",
149
- "applyChanges": "Приложете промените",
149
+ "applyChanges": "Приложи промените",
150
150
  "ascending": "Възходящ",
151
151
  "automatic": "Автоматична",
152
152
  "backToDashboard": "Обратно към таблото",
@@ -176,7 +176,7 @@
176
176
  "deletedSuccessfully": "Изтрито успешно.",
177
177
  "deleting": "Изтриване...",
178
178
  "descending": "Низходящо",
179
- "deselectAllRows": "Деселектирайте всички редове",
179
+ "deselectAllRows": "Деселектирай всички редове",
180
180
  "duplicate": "Дупликирай",
181
181
  "duplicateWithoutSaving": "Дупликирай без да запазваш промените",
182
182
  "edit": "Редактирай",
@@ -231,7 +231,7 @@
231
231
  "saving": "Запазване...",
232
232
  "searchBy": "Търси по {{label}}",
233
233
  "selectAll": "Избери всички {{count}} {{label}}",
234
- "selectAllRows": "Изберете всички редове",
234
+ "selectAllRows": "Избери всички редове",
235
235
  "selectValue": "Избери стойност",
236
236
  "selectedCount": "{{count}} {{label}} избрани",
237
237
  "showAllLabel": "Покажи всички {{label}}",
@@ -273,23 +273,23 @@
273
273
  "near": "близко"
274
274
  },
275
275
  "upload": {
276
- "crop": "Реколта",
277
- "cropToolDescription": "Плъзнете ъглите на избраната област, нарисувайте нова област или коригирайте стойностите по-долу.",
276
+ "crop": "Изрязване",
277
+ "cropToolDescription": "Плъзни ъглите на избраната област, избери нова област или коригирай стойностите по-долу.",
278
278
  "dragAndDrop": "Дръпни и пусни файл",
279
279
  "dragAndDropHere": "или дръпни и пусни файла тук",
280
280
  "editImage": "Редактирай изображение",
281
281
  "fileName": "Име на файла",
282
282
  "fileSize": "Големина на файла",
283
283
  "focalPoint": "Фокусна точка",
284
- "focalPointDescription": "Преместете фокусната точка директно върху визуализацията или регулирайте стойностите по-долу.",
284
+ "focalPointDescription": "Премести фокусната точка директно върху визуализацията или регулирай стойностите по-долу.",
285
285
  "height": "Височина",
286
286
  "lessInfo": "По-малко информация",
287
287
  "moreInfo": "Повече информация",
288
288
  "previewSizes": "Преглед на размери",
289
289
  "selectCollectionToBrowse": "Избери колекция, която да разгледаш",
290
290
  "selectFile": "Избери файл",
291
- "setCropArea": "Задайте област за изрязване",
292
- "setFocalPoint": "Задайте фокусна точка",
291
+ "setCropArea": "Задай област за изрязване",
292
+ "setFocalPoint": "Задай фокусна точка",
293
293
  "sizes": "Големини",
294
294
  "sizesFor": "Размери за {{label}}",
295
295
  "width": "Ширина"
@@ -368,4 +368,4 @@
368
368
  "viewingVersions": "Гледане на версии за {{entityLabel}} {{documentTitle}}",
369
369
  "viewingVersionsGlobal": "Гледане на версии за глобалния документ {{entityLabel}}"
370
370
  }
371
- }
371
+ }
@@ -273,7 +273,7 @@
273
273
  "near": "in der Nähe"
274
274
  },
275
275
  "upload": {
276
- "crop": "Ernte",
276
+ "crop": "Zuschneiden",
277
277
  "cropToolDescription": "Ziehen Sie die Ecken des ausgewählten Bereichs, zeichnen Sie einen neuen Bereich oder passen Sie die Werte unten an.",
278
278
  "dragAndDrop": "Ziehen Sie eine Datei per Drag-and-Drop",
279
279
  "dragAndDropHere": "oder ziehe eine Datei hier",
@@ -368,4 +368,4 @@
368
368
  "viewingVersions": "Betrachte Versionen für {{entityLabel}} {{documentTitle}}",
369
369
  "viewingVersionsGlobal": "`Betrachte Versionen für das Globale Dokument {{entityLabel}}"
370
370
  }
371
- }
371
+ }
@@ -273,7 +273,7 @@
273
273
  "near": "рядом"
274
274
  },
275
275
  "upload": {
276
- "crop": "Урожай",
276
+ "crop": "Обрезать",
277
277
  "cropToolDescription": "Перетащите углы выбранной области, нарисуйте новую область или отрегулируйте значения ниже.",
278
278
  "dragAndDrop": "Перетащите файл",
279
279
  "dragAndDropHere": "или перетащите файл сюда",
@@ -368,4 +368,4 @@
368
368
  "viewingVersions": "Просмотр версий для {{entityLabel}} {{documentTitle}}",
369
369
  "viewingVersionsGlobal": "`Просмотр версии для глобальной Коллекции {{entityLabel}}"
370
370
  }
371
- }
371
+ }
@@ -273,7 +273,7 @@
273
273
  "near": "поруч"
274
274
  },
275
275
  "upload": {
276
- "crop": "Врожай",
276
+ "crop": "Обрізати",
277
277
  "cropToolDescription": "Перетягніть кути обраної області, намалюйте нову область або скоригуйте значення нижче.",
278
278
  "dragAndDrop": "Перемістіть файл",
279
279
  "dragAndDropHere": "або перемістіть сюди файл",
@@ -368,4 +368,4 @@
368
368
  "viewingVersions": "Огляд версій для {{entityLabel}} {{documentTitle}}",
369
369
  "viewingVersionsGlobal": "Огляд версій для глобальної колекції {{entityLabel}}"
370
370
  }
371
- }
371
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Takes the incoming sort argument and prefixes it with `versions.` and preserves any `-` prefixes for descending order
3
+ * @param sort
4
+ */
5
+ export declare const getQueryDraftsSort: (sort: string) => string;
6
+ //# sourceMappingURL=getQueryDraftsSort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getQueryDraftsSort.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/getQueryDraftsSort.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,kBAAkB,SAAU,MAAM,KAAG,MAYjD,CAAA"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Takes the incoming sort argument and prefixes it with `versions.` and preserves any `-` prefixes for descending order
3
+ * @param sort
4
+ */ "use strict";
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "getQueryDraftsSort", {
9
+ enumerable: true,
10
+ get: function() {
11
+ return getQueryDraftsSort;
12
+ }
13
+ });
14
+ const getQueryDraftsSort = (sort)=>{
15
+ if (!sort) return sort;
16
+ let direction = '';
17
+ let orderBy = sort;
18
+ if (sort[0] === '-') {
19
+ direction = '-';
20
+ orderBy = sort.substring(1);
21
+ }
22
+ return `${direction}version.${orderBy}`;
23
+ };
24
+
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9ucy9kcmFmdHMvZ2V0UXVlcnlEcmFmdHNTb3J0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGFrZXMgdGhlIGluY29taW5nIHNvcnQgYXJndW1lbnQgYW5kIHByZWZpeGVzIGl0IHdpdGggYHZlcnNpb25zLmAgYW5kIHByZXNlcnZlcyBhbnkgYC1gIHByZWZpeGVzIGZvciBkZXNjZW5kaW5nIG9yZGVyXG4gKiBAcGFyYW0gc29ydFxuICovXG5leHBvcnQgY29uc3QgZ2V0UXVlcnlEcmFmdHNTb3J0ID0gKHNvcnQ6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGlmICghc29ydCkgcmV0dXJuIHNvcnRcblxuICBsZXQgZGlyZWN0aW9uID0gJydcbiAgbGV0IG9yZGVyQnkgPSBzb3J0XG5cbiAgaWYgKHNvcnRbMF0gPT09ICctJykge1xuICAgIGRpcmVjdGlvbiA9ICctJ1xuICAgIG9yZGVyQnkgPSBzb3J0LnN1YnN0cmluZygxKVxuICB9XG5cbiAgcmV0dXJuIGAke2RpcmVjdGlvbn12ZXJzaW9uLiR7b3JkZXJCeX1gXG59XG4iXSwibmFtZXMiOlsiZ2V0UXVlcnlEcmFmdHNTb3J0Iiwic29ydCIsImRpcmVjdGlvbiIsIm9yZGVyQnkiLCJzdWJzdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7OzsrQkFDWUE7OztlQUFBQTs7O0FBQU4sTUFBTUEscUJBQXFCLENBQUNDO0lBQ2pDLElBQUksQ0FBQ0EsTUFBTSxPQUFPQTtJQUVsQixJQUFJQyxZQUFZO0lBQ2hCLElBQUlDLFVBQVVGO0lBRWQsSUFBSUEsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLO1FBQ25CQyxZQUFZO1FBQ1pDLFVBQVVGLEtBQUtHLFNBQVMsQ0FBQztJQUMzQjtJQUVBLE9BQU8sQ0FBQyxFQUFFRixVQUFVLFFBQVEsRUFBRUMsUUFBUSxDQUFDO0FBQ3pDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "2.0.4",
3
+ "version": "2.0.5",
4
4
  "description": "Node, React and MongoDB Headless CMS and Application Framework",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
@@ -39,7 +39,7 @@
39
39
  "flatley": "5.2.0",
40
40
  "fs-extra": "10.1.0",
41
41
  "get-tsconfig": "4.6.2",
42
- "graphql": "16.7.1",
42
+ "graphql": "16.8.1",
43
43
  "graphql-http": "1.21.0",
44
44
  "graphql-playground-middleware-express": "1.7.23",
45
45
  "graphql-query-complexity": "0.12.0",
@@ -148,7 +148,7 @@
148
148
  "file-loader": "6.2.0",
149
149
  "form-data": "3.0.1",
150
150
  "get-port": "5.1.1",
151
- "graphql-request": "3.7.0",
151
+ "graphql-request": "6.1.0",
152
152
  "mini-css-extract-plugin": "1.6.2",
153
153
  "node-fetch": "2.6.12",
154
154
  "nodemon": "3.0.1",